Manual do PHP

por:
Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Hannes Magnusson
Georg Richter
Damien Seguy
Jakub Vrana
E muitos outros
2021-03-15
Editado por: Peter Cowburn
© 1997-2021 the PHP Documentation Group
por:
Alessander Pery Lopes Thomaz
Amanda Vale
Anderson Fortaleza
André Luis Ferreira da Silva Bacci
Claudio Pereira
Diogo Galvão
Ernani Joppert Pontes Martins
Fábio Luciano Nogueira de Góis
Felipe Nascimento Silva Pena
Fernando Correa da Conceição
João Prado Maia
Lucas Rocha
Marcelo Pereira Fonseca da Silva
Rafael Jaques
Raphael Melo de Oliveira Bastos Sales
Renato Arruda
Ricardo Miranda Santos
Rodrigo Prado de Jesus
Rogerio Prado de Jesus
Taniel Franklin
Thomas Gonzalez Miranda
Thiago Henrique Pojda
  • Copyright
  • Manual do PHP
    • Prefácio
  • Começando
    • Introdução
    • Um simples tutorial
  • Instalação e Configuração
    • Considerações Gerais sobre Instalação
    • Instalação em sistemas Unix
    • Instalação no Mac OS X
    • Instalação no Windows
    • Instalação em Plataformas de Computação em Nuvem
    • FastCGI Process Manager (FPM)
    • Instalação das extensões PECL
    • Problemas?
    • Configuração em tempo de execução
  • Referência da Linguagem
    • Sintaxe Básica
    • Tipos
    • Variáveis
    • Constantes
    • Expressões
    • Operadores
    • Estruturas de Controle
    • Funções
    • Classes e Objetos
    • Namespaces
    • Erros
    • Exceções
    • Generators
    • Attributes
    • Referências
    • Variáveis pré-definidas
    • Exceções pré-definidas
    • Interfaces e Classes pré-definidas
    • Opções e parâmetros de contexto
    • Protocolos e Wrappers suportados
  • Segurança
    • Introdução
    • Considerações Gerais
    • Instalando como binário CGI
    • Instalado como módulo do Apache
    • Session Security
    • Segurança do Sistema de Arquivos
    • Segurança de Bancos de Dados
    • Relatando Erros
    • Dados Enviados pelo Usuário
    • Escondendo o PHP
    • Mantendo-se Atualizado
  • Características
    • Autenticação HTTP com PHP
    • Cookies
    • Sessões
    • Lidando com XForms
    • Gerenciar o upload de arquivos
    • Usando arquivos remotos
    • Tratamento de Conexões
    • Conexões Persistentes com o Banco de Dados
    • Uso da linha de Comando — Usando PHP a partir da linha de comando
    • Garbage Collection
    • DTrace Dynamic Tracing
  • Referência das Funções
    • Afetando o comportamento do PHP
    • Manipulação de Formatos de Audio
    • Serviços de Autenticação
    • Extensões Específica para Linha de Comando
    • Extensões de Arquivo e Compressão
    • Extensões para Criptografia
    • Extensões de Banco de Dados
    • Extensões Relacionadas a Data e Hora
    • Extensões Relacionadas a Sistema de Arquivo
    • Linguagem Humana e Suporte a Codificação de Caracteres
    • Processamento e Geração de Imagem
    • Extensões Relacionadas a Mail
    • Extensões Matemáticas
    • Saída de MIME Não-Texto
    • Extensões para Controle de Processo
    • Outras Extensões Básicas
    • Outros Serviços
    • Extensões de Engine de Busca
    • Extensões Específicas para Servidor
    • Extensões de Sessão
    • Processamento de Texto
    • Variável e Extensões Relacionadas aos Tipos
    • Web Services
    • Extensões Somente para Windows
    • Manipulação de XML
    • Extensões GUI
  • FAQ — FAQ: Perguntas Mais Frequentes
    • Informações Gerais
    • Listas de Discussão
    • Obtendo o PHP
    • Questões sobre banco de dados
    • Instalação
    • Problemas de Compilação
    • Utilizando o PHP
    • Gerando hash de senha — Gerando hash seguro de senha
    • PHP e HTML
    • PHP e COM
    • Questões Diversas
  • Apêndices
    • História do PHP e Projetos Relacionados
    • Migrando do PHP PHP 7.4.x para o PHP 8.0.x
    • Migrando do PHP 7.3.x para o PHP 7.4.x
    • Migrando do PHP 7.2.x para o PHP 7.3.x
    • Migrando do PHP 7.1.x para o PHP 7.2.x
    • Migrando do PHP 7.0.x para o PHP 7.1.x
    • Migrando do PHP 5.6.x para o PHP 7.0.x
    • Migrando do PHP 5.5.x para o PHP 5.6.x
    • Debugging in PHP
    • Opções do script Configure
    • php.ini directives
    • Categorização/Lista das Extensões
    • Lista de funções sinônimas (aliases)
    • Lista de Palavras Reservadas do PHP
    • Lista de tipos de recursos no PHP
    • Lista de Filtros Disponíveis
    • Lista de Transportes via Socket Suportados
    • Tabela de comparações de tipos do PHP
    • Lista de Tokens do Parser
    • Guia de nomenclatura em espaço de usuário
    • Sobre o manual
    • Creative Commons Attribution 3.0
    • Lista de índices
    • Changelog
  • Versão de Ajuda em HTML
    • About This Edition
    • Using PHP Manual CHM Edition
    • The Full Text Search
    • Integrating the PHP Manual


Copyright

Copyright © 1997 - 2021 para o PHP Documentation Group. Este material pode ser distribuído apenas sob os termos e condições determinadas pela Creative Commons Attribution 3.0 ou posteriores. Uma cópia da Creative Commons Attribution 3.0 license é distribuída com este manual. A última versão está atualmente disponível em » http://creativecommons.org/licenses/by/3.0/.

Se você está interessado na redistribuição ou republicação deste documento como um todo ou em parte, modificado ou não, ou se você tem dúvidas, basta contatar os responsáveis pelo copyright em » doc-license@lists.php.net. Note que esse endereço tem suas mensagens preservadas em um arquivo público.


  • « Copyright
  • Prefácio »
  • PHP Manual
  • Manual do PHP

Manual do PHP

  • Prefácio


Prefácio

PHP, que significa "PHP: Hypertext Preprocessor", é uma linguagem de programação de ampla utilização, interpretada, que é especialmente interessante para desenvolvimento para a web e pode ser mesclada dentro do código HTML. A sintaxe da linguagem lembra C, Java e Perl, e é fácil de aprender. O objetivo principal da linguagem é permitir a desenvolvedores escreverem páginas que serão geradas dinamicamente rapidamente, mas você pode fazer muito mais do que isso com PHP.

Esse manual consiste primeiramente de uma referência de funções, mas ele também contém uma referência da linguagem, explicações sobre as mais importantes características do PHP, e outras informações suplementares.

Você pode fazer o download deste manual em vários formatos em » https://www.php.net/download-docs.php. Mais informações sobre como esse manual é desenvolvido podem ser encontradas no apêndice 'Sobre o manual'. Se você está interessado na história do PHP, veja o apêndice relevante.

Autores e participantes

Destacamos as pessoas atualmente mais ativas na capa do manual, mas há na verdade um grande número de pessoas que ajudam no trabalho ou que proveram grande quantidade de esforço no projeto anteriormente. Existem muitas pessoas não citadas que ajudam com as notas de usuários, quais são continuamente incluídas nas referências, trabalho qual somos extremamente gratos. Todas as listas a seguir são informadas em ordem alfabética.

Autores e Editores

Os seguintes participantes são reconhecidos por seu impacto e/ou por continuar a adicionar conteúdo ao manual: Bill Abt, Jouni Ahto, Alexander Aulbach, Stig Bakken, George Peter Banyard, Christoph M. Becker, Daniel Beckham, Nilgün Belma Bugüner, Jesus M. Castagnetto, Ron Chmara, Sean Coates, John Coggeshall, Simone Cortesi, Peter Cowburn, Daniel Egeberg, Markus Fischer, Wez Furlong, Sara Golemon, Rui Hirokawa, Brad House, Pierre-Alain Joye, Etienne Kneuss, Moriyoshi Koizumi, Rasmus Lerdorf, Andrew Lindeman, Stanislav Malyshev, Justin Martin, Rafael Martinez, Rick McGuire, Moacir de Oliveira Miranda Júnior, Kalle Sommer Nielsen, Yasuo Ohgaki, Philip Olson, Richard Quadling, Derick Rethans, Rob Richards, Sander Roobol, Egon Schmid, Thomas Schoefbeck, Sascha Schumann, Dan Scott, Masahiro Takagi, Yoshinari Takaoka, Yannick Torres, Michael Wallner, Lars Torben Wilson, Jim Winstead, Jeroen van Wolffelaar e Andrei Zmievski.

Os seguintes participantes realizaram trabalho significativo editando o manual: Stig Bakken, Gabor Hojtsy, Hartmut Holzgraefe, Philip Olson e Egon Schmid.

Curadores de notas de usuários

Os mais ativos curadores: Daniel Brown, Nuno Lopes, Felipe Pena, Thiago Pojda e Maciek Sokolewicz.

Pessoas que colocaram grande esforço gerenciando notas de usuários: Mehdi Achour, Daniel Beckham, Friedhelm Betz, Victor Boivie, Jesus M. Castagnetto, Nicolas Chaillan, Ron Chmara, Sean Coates, James Cox, Vincent Gevers, Sara Golemon, Zak Greant, Szabolcs Heilig, Oliver Hinckel, Hartmut Holzgraefe, Etienne Kneuss, Rasmus Lerdorf, Matthew Li, Andrew Lindeman, Aidan Lister, Hannes Magnusson, Maxim Maletsky, Bobby Matthis, James Moore, Philip Olson, Sebastian Picklum, Derick Rethans, Sander Roobol, Damien Seguy, Jason Sheets, Tom Sommer, Jani Taskinen, Yasuo Ohgaki, Jakub Vrana, Lars Torben Wilson, Jim Winstead, Jared Wyles e Jeroen van Wolffelaar.


Começando

  • Introdução
    • O que é o PHP?
    • O que o PHP pode fazer?
  • Um simples tutorial
    • O que eu preciso?
    • Sua primeira página PHP
    • Algo Útil
    • Tratando Formulários
    • Usando códigos antigos com novas versões do PHP
    • O que vem a seguir?


  • « Começando
  • O que é o PHP? »
  • PHP Manual
  • Começando
  • Introdução

Introdução

Índice

  • O que é o PHP?
  • O que o PHP pode fazer?


O que é o PHP?

O PHP (um acrônimo recursivo para PHP: Hypertext Preprocessor) é uma linguagem de script open source de uso geral, muito utilizada, e especialmente adequada para o desenvolvimento web e que pode ser embutida dentro do HTML.

Ótimo, mas o que isso significa? Por exemplo:

Exemplo #1 Um exemplo introdutório

<!DOCTYPE HTML>
<html>
    <head>
        <title>Exemplo</title>
    </head>
    <body>

        <?php
            echo "Olá, eu sou um script PHP!";
        ?>

    </body>
</html>

Em vez de muitos comandos para mostrar HTML (como acontece com C ou Perl), as páginas PHP contém HTML em código mesclado que faz "alguma coisa" (neste caso, mostra "Olá, eu sou um script PHP!"). O código PHP é delimitado pelas instruções de processamento (tags) de início e fim <?php e ?> que permitem que você entre e saia do "modo PHP".

O que distingue o PHP de algo como o JavaScript no lado do cliente é que o código é executado no servidor, gerando o HTML que é então enviado para o navegador. O navegador recebe os resultados da execução desse script, mas não sabe qual era o código fonte. Você pode inclusive configurar seu servidor web para processar todos os seus arquivos HTML com o PHP, e então não há como os usuários dizerem o que você tem na sua manga.

A melhor coisa em usar o PHP é que ele é extremamente simples para um iniciante, mas oferece muitos recursos avançados para um programador profissional. Não tenha medo de ler a longa lista de recursos do PHP. Pode entrar com tudo, o mais rápido que puder, e começar a escrever scripts simples em poucas horas.

Apesar do desenvolvimento do PHP ser focado nos scripts do lado do servidor, você pode fazer muito mais com ele. Veja sobre isso na seção O que o PHP pode fazer?, ou vá diretamente para o tutorial introdutório se você estiver interessado apenas em programação web.


O que o PHP pode fazer?

Qualquer coisa. O PHP é focado principalmente nos scripts do lado do servidor, portanto, você pode fazer qualquer coisa que outro programa CGI pode fazer, como coletar dados de formulários, gerar páginas com conteúdo dinâmico ou enviar e receber cookies. Mas o PHP pode fazer muito mais.

Existem três áreas principais onde os scripts PHP são usados:

  • Scripts no lado do servidor (server-side). Este é o mais tradicional e principal campo de atuação do PHP. Você precisa de três coisas para isto funcionar: o interpretador do PHP (CGI ou módulo do servidor), um servidor web e um navegador web. Você precisa rodar o servidor web conectado a uma instalação do PHP. Você pode acessar os resultados de seu programa PHP com um navegador web, visualizando a página PHP através do servidor web. Tudo isso pode rodar na sua máquina pessoal se você estiver apenas experimentando programar com o PHP. Veja a seção das instruções de instalação para mais informações.
  • Scripts de linha de comando. Você pode fazer um script PHP para executá-lo sem um servidor ou navegador. A única coisa necessária é o interpretador PHP. Esse tipo de uso é ideal para script executados usando o cron (Unix, Linux) ou o Agendador de Tarefas (no Windows). Esses scripts podem ser usados também para rotinas de processamento de texto simples. Veja a seção Utilizando o PHP em linha de comando para mais informações.
  • Escrever aplicações desktop. O PHP provavelmente não é a melhor linguagem para criação de aplicações desktop com interfaces gráficas, mas se você conhece bem o PHP, e gostaria de usar alguns dos seus recursos avançados nas suas aplicações do lado do cliente, você pode usar o PHP-GTK para escrever programas assim. Você também tem a possibilidade de escrever aplicações multi-plataformas desse jeito. O PHP-GTK é uma extensão do PHP, não disponibilizada na distribuição oficial. Caso esteja interessado no PHP-GTK, visite » o site do projeto.

O PHP pode ser utilizado na maioria dos sistemas operacionais, incluindo Linux, várias variantes do Unix (como HP-UX, Solaris e OpenBSD), Microsoft Windows, macOS, RISC OS e provavelmente outros. O PHP também tem suporte à maioria dos servidores web atualmente. Isso inclui o Apache, o IIS e muitos outros. E isso inclui qualquer servidor web que possa utilizar o binário FastCGI do PHP, como o lighttpd e o nginx. O PHP trabalha tanto como módulo quanto como um processador CGI.

Com o PHP, portanto, você tem liberdade de escolha de sistema operacional e de servidor web. Além disso, você pode escolher entre utilizar programação estruturada ou programação orientada a objeto (OOP), ou ainda uma mistura das duas.

Com PHP você não está limitado a gerar somente HTML. As habilidades do PHP incluem geração de imagens, arquivos PDF e até animações Flash (utilizando libswf e Ming) criados dinamicamente, on the fly. Você pode facilmente criar qualquer texto, como XHTML e outros arquivos XML. O PHP pode gerar esses arquivos e salvá-los no sistema de arquivos, em vez de mostrá-los em tela, formando um cache no lado do servidor para seu conteúdo dinâmico.

Uma das características mais fortes e mais significativas do PHP é seu suporte a uma ampla variedade de banco de dados. Escrever uma página web consultando um banco de dados é incrivelmente simples usando uma das extensões específicas de banco de dados (por exemplo, mysql), ou usando uma camada de abstração como o PDO ou conectar a qualquer banco de dados que suporte o padrão "Open Database Connection" usando a extensão ODBC. Outros bancos de dados podem utilizar cURL ou sockets, como o CouchDB.

O PHP também tem suporte para comunicação com outros serviços utilizando protocolos como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (no Windows) e incontáveis outros. Você também pode abrir sockets de rede e interagir diretamente usando qualquer outro protocolo. O PHP também suporta o intercâmbio de dados complexos WDDX, utilizado em virtualmente todas as linguagens de programação para web. Falando de comunicação, o PHP implementa a instanciação de objetos Java e os utiliza transparentemente como objetos PHP.

O PHP tem recursos úteis para processamento de texto, incluindo expressões regulares compatíveis com Perl (PCRE), e muitas outras extensões e ferramentas para analisar e acessar documentos XML. O PHP padroniza todas as extensões XML a partir da base sólida da libxml2, além de estender o conjunto de recursos adicionando suporte a SimpleXML, XMLReader e XMLWriter.

E existem muitas outras extensões interessantes, que são categorizadas tanto alfabeticamente quanto por categoria. E existem também as extensões PECL adicionais que podem, ou não, estar documentadas dentro do próprio manual do PHP, como a » XDebug.

Como você pode ver, esta página não é suficiente para descrever todos os recursos e benefícios que o PHP pode oferecer. Leia as seções sobre a Instalação do PHP, e veja a parte da referência das funções para detalhes sobre as extensões mencionadas aqui.


Um simples tutorial

Índice

  • O que eu preciso?
  • Sua primeira página PHP
  • Algo Útil
  • Tratando Formulários
  • Usando códigos antigos com novas versões do PHP
  • O que vem a seguir?

Aqui nós iremos mostrar o básico do básico do PHP em um simples e curto tutorial. Este texto fala somente sobre a criação de páginas web dinâmicas com PHP, embora o PHP não seja apenas capaz de criar páginas web. Veja a seção entitulada O que o PHP pode fazer para mais informações.

Fazer páginas com PHP é o mesmo que criar páginas HTML e você pode criá-las e editá-las da mesma maneira que você normalmente cria páginas HTML comuns.


O que eu preciso?

Neste tutorial nós presumimos que seu servidor tem suporte ao PHP ativado e que todos os arquivos terminando com a extensão .php são tratados pelo PHP. Na maioria dos servidores esta é a extensão padrão para os arquivos PHP, mas pergunte ao administrador do seu servidor para ter certeza. Se o seu servidor suporta PHP então você não precisa fazer mais nada. Apenas crie seus arquivos .php, coloque-os no seu diretório web e o servidor irá automaticamente interpretá-los para você. Não há necessidade de compilar nada nem você precisa instalar qualquer ferramenta extra. Pense nesses arquivos PHP como simples arquivos HTML com uma nova família de tags mágicas que permitem que você faça todo tipo de coisas.

Digamos que você quer salvar sua preciosa conexão e desenvolver tudo localmente. Neste caso, você precisará instalar um servidor web, como o » Apache, e claro o » PHP. Você provavelmente também deseja instalar um banco de dados, como por exemplo o » MySQL.

Você pode instalá-los separadamente ou de um jeito mais simples. Nosso manual contém instruções de instalação do PHP (supondo que você já tem um servidor web configurado). Se você tiver problemas com a instalação do PHP, sugerimos que pergunte em nossa » lista de discussão sobre assuntos de instalação.. Se preferir uma rota mais simples então » veja um pacote pré-configurado para o seu sistema operacional, o qual automaticamente instalará tudo com apenas alguns clicks. É fácil de instalar um servidor web com suporte ao PHP em qualquer sistema operacional, incluindo MacOSX, Linux e Windows. No Linux, você verá que » rpmfind e » PBone são úteis para localizar RPMs. Você também pode usar o » apt-get para localizar pacotes para o Debian.


Sua primeira página PHP

Crie um novo arquivo chamado ola.php e coloque-o no diretório root do seu servidor web (DOCUMENT_ROOT) com o seguinte conteúdo:

Exemplo #1 Nosso primeiro script PHP: ola.php

<html>
 <head>
  <title>Teste PHP</title>
 </head>
 <body>
 <?php echo "<p>Olá Mundo</p>"; ?>
 </body>
</html>

Use o seu navegador para acessar o arquivo com a URL de seu servidor web, terminando com a referência ao arquivo /ola.php. Quando o desenvolvimento for local esta URL será algo como http://localhost/ola.php ou http://127.0.0.1/ola.php mas isso depende da configuração do seu servidor web. Se tudo foi configurado corretamente, este arquivo será interpretado pelo PHP e a seguinte mensagem será enviada ao seu navegador:

<html>
 <head>
  <title>Teste PHP</title>
 </head>
 <body>
 <p>Olá Mundo</p>
 </body>
</html>

Este programa é realmente simples e você não precisa do PHP para criar uma página assim (fixa). Tudo o que ela faz é mostrar: Hello World utilizando a instrução echo. Note que o arquivo não precisa ser executável ou especial. O servidor web descobre que este arquivo precisa ser interpretado pelo PHP por causa da extensão ".php", que o servidor é configurado para repassar ao PHP. Pense nisso como um arquivo HTML normal que por acaso possui um conjunto de tags especiais disponíveis para você fazer muitas coisas interessantes.

Se você tentar rodar este exemplo e ele não mostrar nenhuma mensagem de saída, ou aparecer uma caixa de diálogo pedindo para você salvar o arquivo, ou você ver todo o conteúdo do arquivo como texto, há uma grande chance do seu servidor não ter o PHP habilitado ou não estar configurado corretamente. Peça ao seu administrador para habilitar o PHP para você usando o capítulo de Instalação do manual. Se você está desenvolvendo localmente, leia também o capítulo de instalação indicado acima para ter certeza de que configurou tudo corretamente. Confirme que está acessando o arquivo via HTTP através do servidor web. Se acessar o arquivo através do sistema de arquivos, então ele não será interpretado pelo PHP. Caso o problema persista, não hesite em nos chamar nos vários » canais de suporte do PHP.

O objetivo do exemplo é mostrar o formato especial das tags do PHP. Neste exemplo nós usamos <?php para indicar que a partir daquele ponto entramos no modo PHP. Então nós colocamos a instrução do PHP e saímos do modo PHP adicionando a tag de fechamento, ?>. Você pode entrar e sair do modo PHP num arquivo HTML desta maneira em qualquer lugar que você queira. Para mais detalhes, leia a seção do manual que fala da sintaxe básica do PHP.

Nota: Uma Nota sobre Fins de linha

Fins de linha têm pouco significado no HTML, entretanto ainda é uma boa idéia fazer o seu HTML ter uma boa aparência e organização através da divisão em linhas. Um fim de linha imediatamente após a tag de fechamento ?> será removido pelo PHP. Isso pode ser extremamente útil quando você está juntando vários blocos de PHP ou arquivos incluídos contendo apenas PHP que não deveriam imprimir nada no processo. Ao mesmo tempo isso pode ser um pouco confuso. Você pode colocar um espaço depois da tag de fechamento ?> para forçar a impressão de um espaço e fim de linha ou você pode explicitamente imprimir o fim de linha com um último echo/print de dentro de seu bloco PHP.

Nota: Uma Nota sobre os Editores de Texto

Há muitos editores de textos e Integrated Development Enviroments (IDEs) que você pode usar para criar, editar e gerenciar arquivos PHP. Uma lista parcial destas ferramentas pode ser vista na » Lista de Editores para PHP. Se você gostaria de recomendar um editor, por favor visite a página acima e peça ao administrador da página para adicionar o editor à lista. Ter um editor que destaca a sintaxe das tags pode ser muito útil.

Nota: Uma Nota sobre os Processadores de Texto

Processadores de texto como o StarOffice Writer, Microsoft Word e Abiword não são boas escolhas para editar arquivos PHP. Se você deseja usar um desses para este script de teste, você precisa verificar se você está salvando o arquivo como texto plano ou o PHP não será capaz de ler e executar o script.

Nota: Uma Nota sobre o Bloco de Notas do Windows

Se você está escrevendo seus scripts PHP usando o Bloco de Notas do Windows, você precisará ter certeza de que seus arquivos estão sendo salvos com a extensão .php. (O Bloco de Notas do Windows adiciona automaticamente a extensão .txt aos arquivos a não ser que você siga um dos passos a seguir para previnir isto). Quando a caixa de diálogo Salvar estiver aberta e você for digitar o nome do seu arquivo, coloque o nome do arquivo entre aspas (i.e. "ola.php"). Uma alternativa é você clicar na lista drop-down 'Documentos de Texto' na caixa de diálogo 'Salvar' e alterar a opção para "Todos os tipos de arquivos". Você agora pode digitar o nome do seu arquivo sem usar as aspas.

Agora que você criou com sucesso um script simples em PHP, é hora de criar o mais famoso dos scripts PHP! Uma chamada à função phpinfo() e você verá muitas informações úteis sobre seu sistema e configurações como as Variáveis Predefinidas disponíveis, módulos carregados pelo PHP, e as opções de configuração. Tire algum tempo para ver e revisar estas informações importantes.

Exemplo #2 Como obter informações sobre o PHP

<?php phpinfo(); ?>


Algo Útil

Vamos fazer alguma coisa um pouco mais útil agora. Nós iremos checar qual é o tipo de navegador que o visitante está utilizando para ver a nossa página. Para fazer isto nós iremos checar qual é o valor da string agente que o navegador envia como parte de sua requisição HTTP. Esta informação é armazenada em uma variável. Variáveis sempre começam com um símbolo de cifrão no PHP. A variável que nos interessa no momento é $_SERVER['HTTP_USER_AGENT'].

Nota:

$_SERVER é uma variável especial reservada do PHP que contém todas as informações sobre o servidor web. Ela é conhecida como uma superglobal. Veja a página do manual relacionada às superglobais para mais informações. Estas variáveis especiais foram introduzidas no PHP » 4.1.0. Antes desta versão, nós usávamos os velhos arrays $HTTP_*_VARS, como o $HTTP_SERVER_VARS. A partir do PHP 5.4.0 essas antigas variáveis foram removidas. (Veja também a nota abaixo sobre código antigo.)

Para exibir esta variável, nós podemos fazer isto:

Exemplo #1 Imprimindo uma variável (elemento do Array)

<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>

Um exemplo de saída deste script poderia ser:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Há muitos tipos de variáveis disponíveis no PHP. No exemplo acima nós imprimimos um elemento do Array. Arrays podem ser muito úteis.

$_SERVER é somente uma das variáveis que o PHP automaticamente disponibiliza para você. A lista destas variáveis pode ser vista na seção Variáveis Reservadas do manual ou você pode obter uma lista completa delas olhando o resultado da função phpinfo() utilizada no exemplo da seção anterior.

Você pode colocar múltiplas instruções PHP dentro da tag PHP e criar pequenos blocos de códigos que fazem muito mais do que um simples echo. Por exemplo, se você quer checar se o navegador é o Internet Explorer você pode fazer isso:

Exemplo #2 Exemplo utilizando estruturas de controle e funções

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
    echo 'You are using Internet Explorer.<br />';
}
?>

Um exemplo de saída deste script seria:

You are using Internet Explorer.<br />

Aqui nós introduzimos alguns conceitos novos. Nós temos a declaração if. Se você está familiarizado com a sintaxe básica usada pela linguagem C isto parecerá ser lógico para você. Se não você provavelmente deve ver um livro introdutório de PHP e ler os capítulos iniciais, ou ainda ler a seção Referência da Linguagem do manual.

O segundo conceito que iremos abordar é a chamada à função strpos(). A função strpos() vem junto com o PHP e busca uma palavra em outra palavra. Neste caso nós estamos procurando pelo texto 'MSIE' dentro de $_SERVER['HTTP_USER_AGENT']. Se a palavra for encontrada, a função retorna a posição do texto pesquisado em relação ao começo do texto onde houve a pesquisa. Se a palavra não for encontrada a função retorna false. Neste exemplo, se não retornar false o if avalia para true e o código dentro dos {colchetes} é executado. Caso contrário o código não roda. Tente criar exemplos similares com if, else, e outras funções como strtoupper() e strlen(). Cada página relacionada contém exemplos também. Se você estiver incerto em como utilizar funções você deve ler as páginas sobre como ler uma definição de função e a seção sobre funções do PHP.

Nós podemos avançar agora e mostrar a você como alternar entre os modos PHP mesmo que você esteja executando blocos de códigos:

Exemplo #3 Mesclando entre os modos PHP e HTML

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
?>
<h3>strpos() must have returned non-false</h3>
<p>You are using Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() must have returned false</h3>
<p>You are not using Internet Explorer</p>
<?php
}
?>

Um exemplo de saída deste script poderia ser:

<h3>strpos() must have returned non-false</h3>
<p>You are using Internet Explorer</p>

Ao invés de usar a declaração echo do PHP para imprimir a saída dos dados, nós saímos do modo do PHP e usamos o HTML normal. O importante a notar aqui é que a lógica do script continua intacta. Somente um dos blocos HTML será enviado dependendo do resultado da chamada à função strpos(). Em outras palavras, depende se a palavra MSIE for encontrada ou não.


Tratando Formulários

Uma das características mais fortes do PHP é o jeito como ele trata formulários HTML. O conceito básico que é importante entender é que qualquer elemento de formulário irá automaticamente ficar disponível para seus scripts PHP. Por favor leia a seção Variáveis externas do PHP para mais informações e exemplos de como usar formulários com PHP. Aqui vai um exemplo de formulário HTML:

Exemplo #1 Um simples formulário HTML

<form action="action.php" method="post">
 <p>Your name: <input type="text" name="name" /></p>
 <p>Your age: <input type="text" name="age" /></p>
 <p><input type="submit" /></p>
</form>

Não há nada de especial neste formulário. É um formulário HTML comum sem nenhuma tag especial de qualquer tipo. Quando o usuário preencher este formulário e clicar no botão enviar, a página action.php é chamada. Neste arquivo nós teremos algo como isto:

Exemplo #2 Imprimindo dados de nosso formulário

Hi <?php echo htmlspecialchars($_POST['name']); ?>.
You are <?php echo (int)$_POST['age']; ?> years old.

Um exemplo de saída deste script seria:

Hi Joe. You are 22 years old.

Para além de htmlspecialchars() e (int), deve ser óbvio o que o script faz. htmlspecialchars() transforma caracteres que sejam especiais no HTML na sua forma codificada, de forma que não seja possível injetar tags HTML ou JavaScript em sua página. O campo age (idade), por ser um número, podemos simplesmente converter para um integer que automaticamente eliminará qualquer caractere estranho. Você também pode fazer o PHP automaticamente fazer isso utilizando a extensão filter. As variáveis $_POST['name'] e $_POST['age'] são criadas automaticamente pelo PHP. Anteriormente utilizamos a superglobal $_SERVER; acima mostramos que a superglobal $_POST contem todos os dados POST. Perceba como o method (método) do formulário é POST. Se fosse utilizado o método GET então os dados do formulário acabariam na superglobal $_GET. Você também pode utilizar a superglobal $_REQUEST, se não se importar qual a origem do dado enviado. Ela conterá os dados mesclados de origens GET, POST e COOKIE.

Você também pode utilizar XForms no PHP, embora se sinta confortável com os formulários HTML clássicos por um bom tempo. Embora trabalhar com XForms não seja para iniciantes, você pode se interessar por eles. Há uma seção com uma rápida introdução sobre manipular dados recebidos de XForms no manual.


Usando códigos antigos com novas versões do PHP

Agora que o PHP cresceu e é uma linguagem de script popular, há muitos repositórios públicos e bibliotecas contendo código que você pode reutilizar em seus próprios scripts. Os desenvolvedores do PHP tentaram largamente manter a compatibilidade com versões anteriores, para que um script escrito em uma versão mais antiga do PHP rode (idealmente) sem nenhuma alteração em uma versão mais nova do PHP. Na prática algumas alterações serão geralmente necessárias.

Duas das coisas mais importantes alterações recentes que afetam um código antigo são:

  • O velho método de utilizar $HTTP_*_VARS não está disponível desde o PHP 5.4.0. Os seguintes arrays superglobais foram introduzidos no PHP » 4.1.0: $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST e $_SESSION.
  • Variáveis externas não são mais registradas no escopo global por padrão. Em outras palavras, a partir do PHP » 4.2.0 a diretiva register_globals está off (desabilitada) por padrão no arquivo php.ini. O método indicado atualmente é o de acessar estes valores através dos arrays superglobais como mencionado acima. Scripts antigos, livros, e tutoriais podem estar utilizando esta diretiva on (habilitada). Se ela estivesse on (habilitada), por exemplo, seria possível utilizar a variável $id da URL http://www.example.com/foo.php?id=42. A diretiva estando habilitada ou desabilitada, $_GET['id'] sempre está disponível.
Para mais detalhes destas alterações, veja a seção variáveis predefinidas e links associados.


O que vem a seguir?

Com esse conhecimento deve ser possível entender a maior parte do manual e também os vários scripts de exemplo disponíveis nos arquivos de exemplo.

Para ver várias apresentações que mostram o que mais o PHP pode fazer, veja no site sobre Conferências de PHP em: » http://talks.php.net/


Instalação e Configuração

  • Considerações Gerais sobre Instalação
  • Instalação em sistemas Unix
    • Apache 1.3.x em sistemas Unix
    • Apache 2.0 em sistemas Unix
    • Nginx 1.4.x on Unix systems
    • Lighttpd 1.4 on Unix systems
    • LiteSpeed Web Server/OpenLiteSpeed Web Server on Unix systems
    • CGI e instalações de linha de comando
    • Notas expecificas da instalação em HP-UX
    • Notas de instalação para o OpenBSD
    • Dicas de instalação específicas para o Solaris
    • Notas de Instalação para o Debian GNU/Linux
  • Instalação no Mac OS X
    • Usando Pacotes
    • Usando o pacote do PHP para Mac
    • Compilando o PHP no Mac OS X
  • Instalação no Windows
    • Requisitos de instalação
    • PECL
    • PHP Installer Tools on Windows
    • Recommended Configuration on Windows systems
    • Manual PHP Installation on Windows
    • Troubleshooting PHP on Windows
    • Installation on old Windows systems
  • Instalação em Plataformas de Computação em Nuvem
    • Azure App Services
    • Amazon EC2
  • FastCGI Process Manager (FPM)
    • Instalação
    • Configuração
  • Instalação das extensões PECL
    • Introdução para instalações PECL
    • Baixando extensões PECL
    • Instalando uma extensão PHP no Windows
    • Compilando extensões compartilhadas PECL com o comando pecl
    • Compilando extensões compartilhadas PECL com phpize
    • php-config
    • Compilando extensões PECL estaticamente no PHP
  • Problemas?
    • Leia o FAQ
    • Outros problemas
    • Relatos de Bug
  • Configuração em tempo de execução
    • O arquivo de configuração
    • Arquivos .user.ini
    • Onde uma configuração deve ser definida
    • Como mudar as configurações


Considerações Gerais sobre Instalação

Antes de começar a instalar o PHP, primeiro você deve saber o que você deseja fazer com ele. Existem três principais formas de se usar o PHP, como descrito na seção O que o PHP pode fazer? do manual:

  • Websites e aplicações web (script do lado do servidor)
  • Scripts para linha de comando
  • Aplicações de Desktop (GUI)

Para a primeira forma, e mais comum, você precisa de três coisas: o prório PHP, um servidor web e um cliente (browser) web. Você provavelmente já tem um browser, e dependendo da configuração do seu sistema operacional, vocêo pode tambem ter um servidor web (Ex.: Apache no Linux e MacOS X; IIS no Windows). Você também pode alugar um host em uma companhia qualquer. Dessa maneira, você não precisa configurar nada por conta própria, apenas escrever os seus scripts PHP, enviar (upload) para o servidor que você alugou, e ver os resultados no seu browser.

No caso de você instalar o servidor e o PHP por contra própria, você tem duas escolhas para o método de conexão do PHP com o servidor. Para muitos servidores o PHP tem uma interface direta de módulo (também chamada de SAPI). Entre esses servidores estão Apache, Microsoft Internet Information Server, Netscape e iPlanet. Muitos outros servidores têm suporte para ISAPI, a interface de módulo da Microsoft (OmniHTTPd por exemplo). Se o PHP não tiver suporte de módulo para o seu servidor web, você também pode usá-lo como processador CGI ou FastCGI. Isso significar configurar seu servidor para usar executáveis CGI do PHP para processar todas as requisições a arquivos PHP no servidor.

Se você também estiver interessado em usar o PHP para criar scripts em linha de comandos (Ex.: criar scripts que geram imagens enquanto estão offline, ou processar arquivos de texto dependendo de alguns argumentos que você passar ao script), você pode precisar do executável de linha de comando. Para mais informações, leia a seção sobre criando aplicações de linha de comando com o PHP. Nesse caso, vocêo não precisa de servidor nem de um browser.

Com o PHP, você também pode criar aplicações para desktop com interface gráfica (GUI) usando a extenção PHP-GTK. Isso é uma abordagem completamente diferente da criação de páginas web, já que a saída não é em HTML, mas o manuseio de janelas e objetos dentro delas. Para mais informações sobre PHP-GTK, por favor » visite o site dedicado à essa extensão. PHP-GTK não é inclusa na distribuição oficial do PHP.

Por enquanto, essa seção trata da instalação do PHP em servidores web no Unix e Windows como módulos dos servidores e executáveis CGI. Você também pode encontrar inforamação sobre executáveis de linha de comando nas seções seguintes.

O código fonte do PHP e distribuições binárias para Windows podem ser encontradas em » https://www.php.net/downloads.php. Nós recomentandos que você escolha um » mirror mais próximo de vocêo para baixar as distribuições.


Instalação em sistemas Unix

Índice

  • Apache 1.3.x em sistemas Unix
  • Apache 2.0 em sistemas Unix
  • Nginx 1.4.x on Unix systems
  • Lighttpd 1.4 on Unix systems
  • LiteSpeed Web Server/OpenLiteSpeed Web Server on Unix systems
  • CGI e instalações de linha de comando
  • Notas expecificas da instalação em HP-UX
  • Notas de instalação para o OpenBSD
  • Dicas de instalação específicas para o Solaris
  • Notas de Instalação para o Debian GNU/Linux

Essa seção é um guia geral para configuração e instalação do PHP em sistemas Unix. Verifique se existe uma seção específica para usa plataforma ou servidor web antes de começar o processo.

Como nosso manual destaca na seção Considerações Gerais sobre Instalação, nós estamos lidando principalmente com configurações web do PHP nessa seção, embora cobriremos instalação do PHP para uso em linha de comando também.

Existem várias maneiras de instalar o PHP para a plataforma Unix, ou com um processo de compilar e configurar, ou atráves de vários métodos pré-empacotados. Essa documentação é focada principalmente no processo de compilação e configuração do PHP. Muitos sistemas baseados no Unix tem alguma forma de sistema de instalação de pacotes. Isso pode ajudar na instalação de uma configuração padrão, mas se você precisar ter uma série de características diferentes (como um servidor seguro, ou um driver de banco de dados diferente), você pode precisar montar o PHP e/ou servidor web. Se você não estiver familiarizado com o processo de montar e compilar seu próprio software, vale a pena checar se alguém já montou um pacote do PHP com as características que você precisa.

Pré-requisitos de software e de conhecimento para compilar:

  • Conhecimento básico de Unix (ser capaz de operar o "make" e um compilador C)
  • Um compilador ANSI C
  • A web server
  • Quaisquer componentes específicos (como GD, PDF, etc.)

Quando compilando diretamente dos fontes Git ou depois de modificações você também precisará de:

  • autoconf: 2.13+ (para PHP < 5.4.0), 2.59+ (para PHP >= 5.4.0), 2.64+ (para PHP >= 7.2.0)
  • automake: 1.4+
  • libtool: 1.4.x+ (exceto 1.4.2)
  • re2c: 0.13.4 ou superior
  • flex: Versão 2.5.4 (para PHP <= 5.2)
  • bison:
    • PHP 5.4: 1.28, 1.35, 1.75, 1.875, 2.0, 2.1, 2.2, 2.3, 2.4, 2.4.1, 2.4.2, 2.4.3, 2.5, 2.5.1, 2.6, 2.6.1, 2.6.2, 2.6.4
    • PHP 5.5: 2.4, 2.4.1, 2.4.2, 2.4.3, 2.5, 2.5.1, 2.6, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.7
    • PHP 5.6: >= 2.4, < 3.0
    • PHP 7.0 - 7.3: 2.4 ou maior (incluindo Bison 3.x)
    • PHP 7.4: > 3.0

O processo inicial de configuração de instalação do PHP é controlado pelo uso de opções de linha de comando do script configure. Você pode pegar a lista de todas as opções disponíveis junto com uma pequena explicação executando o comando ./configure --help. Nosso manual documenta as diferentes opções separadamente. Você encontrará as opções principais no apêndice, enquanto as opções específicas das diferentes extensões são descritas nas páginas de referência.

Quando o PHP é configurado, você está pronto para montá-lo como módulo e/ou executável. O comando make deve tomar conta disso. Se ele falhar e você não conseguir descobrir a razão, veja a Seção de Problemas.

Nota:

Alguns sistemas Unix (como OpenBSD e SELinux) podem não permitir o mapeamento de páginas graváveis e executáveis por razões de segurança, o que é chamado de PaX MPROTECT ou proteção de violação W^X. Este tipo de mapeamento de memória é, entretanto, necessário para o suporte JIT do PCRE, então ou o PHP deve ser construído sem o suporte JIT do PCRE, ou o binário deve ser colocado na lista de permissões por qualquer meio fornecido pelo sistema.

Nota: Compilação cruzada para ARM através do toolchain Android não é surportado.


Apache 1.3.x em sistemas Unix

Essa seção contem notas e dicas específicas para a instação do Apache e do PHP em plataformas Unix. Também temos instruções e notas para o Apache 2 em uma página separada.

Você pode selecionar argumentos para adicionar ao configure na linha 10 abaixo através da Lista completa de opções do configure e das opções específicas das extensões em seus respectivos lugares no manual. Os números de versões foram omitidos aqui, para assegurar que as instruções não estejam incorretas. Você deverá trocar o 'xxx' aqui com os valores corretos dos seus arquivos.

Exemplo #1 Instruções de Instalação (Apache Versão de Módulo Compartilhado) para PHP

1.  gunzip apache_xxx.tar.gz
2.  tar -xvf apache_xxx.tar
3.  gunzip php-xxx.tar.gz
4.  tar -xvf php-xxx.tar
5.  cd apache_xxx
6.  ./configure --prefix=/www --enable-module=so
7.  make
8.  make install
9.  cd ../php-xxx

10. Agora, configure o seu PHP. É aqui que você personaliza seu PHP
    com várias opções, como quais extensões serão habilitadas. Execute o
    comando ./configure --help para uma lista das opções disponíveis. No nosso exemplo
    nós faremos uma simples configuração com Apache 1 e suporte ao MySQL. Seu caminho
    para o arquivo apxs pode ser diferente do exemplo.

      ./configure --with-mysql --with-apxs=/www/bin/apxs

11. make
12. make install

    Se você decidir mudar as opções de seu configure depois da instalação
    você precisará somente repetir os últimos 3 passos. Você somente precisará
    reiniciar o Apache para o novo módulo funcionar. Não será necessário recompilar
    o Apache.

    Note que, por padrão, 'make install' também instalará PEAR, além
    de várias ferramentas do PHP como phpize, instalar o CLI do PHP e mais.

13. Configurando seu arquivo php.ini:

      cp php.ini-development /usr/local/lib/php.ini

    Você pode editar o seu arquivo .ini para configurar as opções do PHP.  Se
    você preferir que este arquivo fique em outro lugar, use a opção
    --with-config-file-path=/caminho no passo 10.

    Se ao invés escolher php.ini-production, leia com atenção a lista
    de modificações dele, pois elas aferam o funcionamento do PHP.

14. Edite o seu arquivo httpd.conf para carregar o módulo do PHP. O caminho no lado direito
    do comando LoadModule deve apontar para para o caminho do módulo PHP no seu sistema.
    O comando make install acima já deve ter adicionado estas linhas, mas tenha certeza
    de que as linhas abaixo foram adicionadas ao arquivo.

      LoadModule php5_module libexec/libphp5.so

15. Em seguida, na seção AddModule do arquivo httpd.conf, em algum lugar
    abaixo de ClearModuleList, adicione isto:

      AddModule mod_php5.c

16. Diga ao Apache para avaliar certas extensões como PHP. Por exemplo,
    vamos fazer o Apache interpretar a extensão .php como um script PHP. Você poderia
    ter qualquer extensão(ões) avaliadas como PHP simplesmente adicionando-as, com
    cada uma separada por um espaço. Vamos adicionar .phtml para demonstrar.

      AddType application/x-httpd-php .php .phtml

    Também é comum configurar a extensão .phps para mostrar o código-fonte
    do script PHP com highlight, isso pode ser feito com:

      AddType application/x-httpd-php-source .phps

17. Use seu procedimento normal para iniciar o servidor Apache. (Você deve
    parar e reiniciar o servidor, não somente fazer um reinício enviando
    um sinal HUP ou USR1.)

Outra maneira é instalar o PHP como um objeto estático:

Exemplo #2 Instruções de Instalação (Instalação como módulo estático do Apache) para o PHP

1.  gunzip -c apache_1.3.x.tar.gz | tar xf -
2.  cd apache_1.3.x
3.  ./configure
4.  cd ..

5.  gunzip -c php-5.x.y.tar.gz | tar xf -
6.  cd php-5.x.y
7.  ./configure --with-mysql --with-apache=../apache_1.3.x
8.  make
9.  make install

10. cd ../apache_1.3.x

11. ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a
    (A linha acima está correta! Sim, sabemos que libphp4.a não existe nesse
    estágio. E nem deveria. Ele será criado.)

12. make
    (você deve agora ter um binário httpd que você pode copiar para o diretório bin do Apache. Se
    for sua primeira instalação então você precisa executar "make install" também)

13. cd ../php-5.x.y
14. cp php.ini-development /usr/local/lib/php.ini

15. Você pode editar o arquivo /usr/local/lib/php.ini para editar as opções do PHP.
    Edite o seu arquivo httpd.conf ou srm.conf e adicione:
    AddType application/x-httpd-php .php

Dependendo da sua instalação do Apache e das variações Unix, existem inúmeras maneiras possíveis de parar e reiniciar o servidor. Abaixo estão algumas linhas típicas usadas para reiniciar e o servidor, para instalações de versões de apache/unix. Você deve trocar /caminho/para/ pelo caminho destas aplicações nos seus sistemas.

Exemplo #3 Exemplo de comandos para reinicialização do Servidor Apache

1. Várias distribuições Linux e variantes do SysV:
/etc/rc.d/init.d/httpd restart

2. Usando os scripts apachectl:
/path/to/apachectl stop
/path/to/apachectl start

3. httpdctl and httpsdctl (Usando OpenSSL), igual ao apachectl:
/path/to/httpsdctl stop
/path/to/httpsdctl start

4. Usando mod_ssl, ou outro servidor SSL, você pode querer iniciar
ou reiniciar manualmente:
/path/to/apachectl stop
/path/to/apachectl startssl

As localizações dos binários apachectl e http(s)dctl geralmente variam. Se o seu sistema tem os comandos locate ou whereis ou which, estem podem lhe ajudar a encontrar os programas de controle do servidor.

Exemplos diferentes de compilação do PHP para apache estão a seguir:

./configure --with-apxs --with-pgsql

Isso criará uma biblioteca compartilhada libphp5.so (ou libphp4.so no PHP 4) que é carregada pelo Apache ao adicionar uma linha LoadModule no arquivo httpd.conf do Apache. O suporte ao PostgreSQL é embutido nessa biblioteca.

./configure --with-apxs --with-pgsql=shared

Isto irá criar uma biblioteca compartilhada libphp5.so para o Apache, mas isto também criará uma biblioteca compartilhada pgsql.so que é carregada com o PHP tanto ao usar a diretiva de extensão no arquivo php.ini ou então carregando ela explícitamente no script usando a função dl().

./configure --with-apache=/path/to/apache_source --with-pgsql

Isto irá criar uma biblioteca libmodphp5.a, o arquivo mod_php5.c e vários arquivos dependentes além de copiá-los para o diretório src/modules/php5 na árvore de diretório do código fonte do Apache. Então você compilará o Apache usando a opção --activate-module=src/modules/php5/libphp5.a e o sistema de compilação do Apache irá criar o arquivo libphp5.a e fará um link estático dentro do binário httpd. O suporte ao PostgreSQL estará incluído diretamente neste binário httpd, então o resultado final aqui será um único arquivo binário httpd que incluirá tudo do Apache e tudo do PHP.

./configure --with-apache=/path/to/apache_source --with-pgsql=shared

Mesmo que o anterior, exceto em vez de incluir o suporte ao PostgreSQL diretamente no binário httpd você terá uma biblioteca compartilhada pgsql.so que você poderá carregar com o PHP tanto do arquivo php.ini ou diretamente usando a função dl().

Quanto estiver decidindo compilar o PHP com maneiras diferentes, você deverá considerar as vantages e disvantagens de cada método. Complilando como uma biblioteca compartilhada significará que você poderá compilar o apache separadamente, e não terá que recompilar tudo quando quiser adicionar ou mudar o seu PHP. compilando o PHP dentro do apache (método estático) significará que o PHP irá carregar e rodar rapidamente. Para maiores informações, veja a página web do Apache que fala sobre » Suporte a Objetos Dinâmicos Compartilhados.

Nota:

O arquivo httpd.conf padrão do Apache atualmente já contém uma seção que se parece com isso:

User nobody
Group "#-1"
A menos que você mude isto para "Group nogroup" ou algo assim ("Group daemon" é também muito comum) o PHP não estará apto a abrir arquivos.

Nota:

Tenha certeza de especificar a versão instalada do apxs quando usar a opção --with-apxs=/caminho/para/apxs. Você NÂO deverá usar a versão do apxs que está nos fontes do apache e sim a que está atualmente instalada no seu sistema.


Apache 2.0 em sistemas Unix

Esta seção contém notas e dicas específicas para a instalação do PHP em Apache 2.x em sistemas Unix.

Aviso

Não recomendados utilizar o threaded MPM em produção com o Apache 2. Utilize o prefork MPM, que é MPM padrão no Apache 2.0 e 2.2. Para mais informações veja o FAQ relacionado sobre o uso de Apache2 com threaded MPM

A » documentação do Apache é a fonte mais importante sobre o servidor Apache 2.x. Mais informações sobre opções de instalação podem ser encontradas lá.

A versão mais recente do servidor Apache HTTP pode ser obtida do » site de download Apache, e uma versão correspondente do PHP pode ser obtida dos locais mencionados anteriormente. Esse guia rápido cobre apenas o básico para iniciar o Apache 2.x e PHP. Para mais informações leia a » documentação do Apache. Os números de versão estão omitidos aqui, para garantir que as instruções não fiquem desatualizadas. Nos exemplos abaixo 'NN' deve ser substituído com as versão específica do Apache utilizado.

Atualmente há duas versões do Apache 2.x. - 2.0 e 2.2. Embora haja razões para escolher entre elas, 2.2 é a versão mais atual, e aquela recomendada, se essa opção lhe for possível. Entretanto as instruções aqui funcionarão para ambas as versões 2.0 e 2.2.

  1. Obter o Apache HTTP do endereço acima e descompactar:

    gzip -d httpd-2_x_NN.tar.gz
tar -xf httpd-2_x_NN.tar

  2. Da mesma forma, obter e descompactar os fontes do PHP:

    gunzip php-NN.tar.gz
tar -xf php-NN.tar

  3. Compilar e instalar o Apache. Consulte a documentação de instalação do Apache para mais detalhes/opções de compilação.

    cd httpd-2_x_NN
./configure --enable-so
make
make install

  4. Você agora tem um Apache 2.x.NN disponível em /usr/local/apache2, configurado com módulos carregáveis e o MPM prefork padrão. Para testar a instalação utilize o procedimento de inicialização do servidor Apache. Por exemplo:

    /usr/local/apache2/bin/apachectl start
    e depois pare o servidor para configurar o PHP:
    /usr/local/apache2/bin/apachectl stop

  5. Agora configure e compile o PHP. Aqui você pode personalizar o PHP com várias opções, por exemplo quais extensões estarão disponíveis. Rode ./configure --help para uma lista de opções disponíveis. Em nosso exemplo nós iremos configurar apenas com suporte ao Apache 2 e MySQL.

    Se você compilou o Apache a partir dos fontes como descrito acima os exemplos abaixo terão caminhos coincidentes do apxs, mas se instalou de outra forma você terá de ajustar o caminho para o apxs. Algumas distribuições renomeiam apxs para apxs2.

    cd ../php-NN
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install

    Se decidir modificar suas configurações depois da instalação você terá de rodar novamente o configure, make e make install. Terá também de reiniciar o Apache para que o novo módulo seja carregado. Uma recompilação do Apache não é necessária.

    Note que por padrão 'make install' também instalará o PEAR, várias ferramentas do PHP como phpize, instalar o PHP CLI, entre outros.

  6. Configure seu php.ini:

    cp php.ini-development /usr/local/lib/php.ini

    Você pode editar seu arquivo .ini para configurar o PHP. Se preferir ter um php.ini em outra localização, utilize --with-config-file-path=/some/path no passo 5.

    Se preferir utilizar o php.ini-production leia atentamente esse arquivo, dado que ele modifica o comportamento do PHP.

  7. Edite seu httpd.conf para carregar o módulo do PHP. O caminho a direita da instrução LoadModule precisa apontar para o caminho do módulo do PHP em seu sistema. O 'make install' acima pode ter feito isso por você, mas é bom confirmar.

    No PHP 7:

    LoadModule php7_module modules/libphp7.so

    No PHP 5:

    LoadModule php5_module modules/libphp5.so

  8. Configure o Apache para interpretar certas extensões de arquivos do PHP. Por exemplo configurar o Apache para interpretar aquivos .php. Em vez de utilizar apenas a diretiva Apache AddType é recomendado evitar uploads potencialmente perigosos e nomes de arquivos como exploit.php.jpg de serem executados pelo PHP. Nesse exemplo você pode ter qualquer extensão (ou extensões) configuradas. Adicionaremos .php como demonstração.

    <FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

    Ou, pode-se acrescentar também .php, .php2, .php3, .php4, .php5, .php6 e .phtml para ser executado como PHP, desta forma:

    <FilesMatch "\.ph(p[2-6]?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

    Para permitir que arquivos .phps sejam interpretados pelo filtro de fontes do PHP e exibidos como código fonte destacado, utilize isso:

    <FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

    mod_rewrite pode ser utilizado para permitir que qualquer arquivo .php seja exibido como código fonte destacado, sem ter de renomear ou copiar aquivos para a extensão .phps, assim:

    RewriteEngine On
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]

    O filtro de fontes PHP não deve ser ativado em ambiente de produção, onde ele pode expor dados confidenciais ou de outra forma importantes, que estejam incluídos no código fonte.

  9. Depois utilize a forma normal de iniciar o servidor Apache:

    /usr/local/apache2/bin/apachectl start

    ou

    service httpd restart

Seguindo os passos acima você terá um Apache2 rodando com suporte ao PHP como um módulo SAPI. Existem muitas outras opções de configuração disponíveis no Apache e PHP. Para mais informações rode ./configure --help na código fonte correspondente.

Apache pode ser construído com multithread através da seleção do MPM worker, em vez do padrão MPM prefork. Isso é possível acrescentado-se o seguinte argumento no ./configure do passo 3 acima:

--with-mpm=worker

Isso não deve ser feito sem conhecer as consequências dessa decisão, ou pelo menos ter uma boa noção de suas implicações. A documentação do Apache sobre » MPM-Modules discute essas questões em grandes detalhes.

Nota:

A Apache MultiViews FAQ discute multiviews com o PHP.

Nota:

Para construir uma versão multithread o sistema destino precisa suportar threads. Nesse caso o PHP também deve ser compilado com o (experimental) Zend Thread Safety (ZTS). Nessa configuração nem todas as extensões estarão disponíveis. A configuração recomendada é construir o Apache com o módulo MPM prefork padrão.


Nginx 1.4.x on Unix systems

This documentation will cover installing and configuring PHP with PHP-FPM for a Nginx 1.4.x HTTP server.

This guide will assume that you have built Nginx from source and therefore all binaries and configuration files are located at /usr/local/nginx. If this is not the case and you have obtained Nginx through other means then please refer to the » Nginx Wiki in order to translate this manual to your setup.

This guide will cover the basics of configuring an Nginx server to process PHP applications and serve them on port 80, it is recommended that you study the Nginx and PHP-FPM documentation if you wish to optimise your setup past the scope of this documentation.

Please note that throughout this documentation version numbers have been replaced with an 'x' to ensure this documentation stays correct in the future, please replace these as necessary with the corresponding version numbers.

  1. It is recommended that you visit the Nginx Wiki » install page in order to obtain and install Nginx on your system.

  2. Obtain and unpack the PHP source:

    tar zxf php-x.x.x

  3. Configure and build PHP. This is where you customize PHP with various options, like which extensions will be enabled. Run ./configure --help for a list of available options. In our example we'll do a simple configure with PHP-FPM and MySQLi support.

    cd ../php-x.x.x
./configure --enable-fpm --with-mysqli
make
sudo make install

  4. Obtain and move configuration files to their correct locations

    cp php.ini-development /usr/local/php/php.ini
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
cp sapi/fpm/php-fpm /usr/local/bin

  5. It is important that we prevent Nginx from passing requests to the PHP-FPM backend if the file does not exists, allowing us to prevent arbitrarily script injection.

    We can fix this by setting the cgi.fix_pathinfo directive to 0 within our php.ini file.

    Load up php.ini:

    vim /usr/local/php/php.ini

    Locate cgi.fix_pathinfo= and modify it as follows:

    cgi.fix_pathinfo=0

  6. php-fpm.conf must be modified to specify that php-fpm must run as the user www-data and the group www-data before we can start the service:

    vim /usr/local/etc/php-fpm.d/www.conf

    Find and modify the following:

    ; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www-data
group = www-data

    The php-fpm service can now be started:

    /usr/local/bin/php-fpm

    This guide will not configure php-fpm any further, if you are interested in further configuring php-fpm then please consult the documentation.

  7. Nginx must now be configured to support the processing of PHP applications:

    vim /usr/local/nginx/conf/nginx.conf

    Modify the default location block to be aware it must attempt to serve .php files:

    location / {
    root   html;
    index  index.php index.html index.htm;
}

    The next step is to ensure that .php files are passed to the PHP-FPM backend. Below the commented default PHP location block, enter the following:

    location ~* \.php$ {
    fastcgi_index   index.php;
    fastcgi_pass    127.0.0.1:9000;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
}

    Restart Nginx.

    sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx

  8. Create a test file

    rm /usr/local/nginx/html/index.html
echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php

    Now navigate to http://localhost. The phpinfo() should now be shown.

Following the steps above you will have a running Nginx web server with support for PHP as an FPM SAPI module. Of course there are many more configuration options available for Nginx and PHP. For more information type ./configure --help in the corresponding source tree.


Lighttpd 1.4 on Unix systems

This section contains notes and hints specific to Lighttpd 1.4 installs of PHP on Unix systems.

Please use the » Lighttpd trac to learn how to install Lighttpd properly before continuing.

Fastcgi is the preferred SAPI to connect PHP and Lighttpd. Fastcgi is automagically enabled in php-cgi in PHP 5.3, but for older versions configure PHP with --enable-fastcgi. To confirm that PHP has fastcgi enabled, php -v should contain PHP 5.2.5 (cgi-fcgi) Before PHP 5.2.3, fastcgi was enabled on the php binary (there was no php-cgi).

Letting Lighttpd spawn php processes

To configure Lighttpd to connect to php and spawn fastcgi processes, edit lighttpd.conf. Sockets are preferred to connect to fastcgi processes on the local system.

Exemplo #1 Partial lighttpd.conf

server.modules += ( "mod_fastcgi" )

fastcgi.server = ( ".php" =>
  ((
    "socket" => "/tmp/php.socket",
    "bin-path" => "/usr/local/bin/php-cgi",
    "bin-environment" => (
      "PHP_FCGI_CHILDREN" => "16",
      "PHP_FCGI_MAX_REQUESTS" => "10000"
    ),
    "min-procs" => 1,
    "max-procs" => 1,
    "idle-timeout" => 20
  ))
)

The bin-path directive allows lighttpd to spawn fastcgi processes dynamically. PHP will spawn children according to the PHP_FCGI_CHILDREN environment variable. The "bin-environment" directive sets the environment for the spawned processes. PHP will kill a child process after the number of requests specified by PHP_FCGI_MAX_REQUESTS is reached. The directives "min-procs" and "max-procs" should generally be avoided with PHP. PHP manages its own children and opcode caches like APC will only share among children managed by PHP. If "min-procs" is set to something greater than 1, the total number of php responders will be multiplied PHP_FCGI_CHILDREN (2 min-procs * 16 children gives 32 responders).

Spawning with spawn-fcgi

Lighttpd provides a program called spawn-fcgi to make the process of spawning fastcgi processes easier.

Spawning php-cgi

It is possible to spawn processes without spawn-fcgi, though a bit of heavy-lifting is required. Setting the PHP_FCGI_CHILDREN environment var controls how many children PHP will spawn to handle incoming requests. Setting PHP_FCGI_MAX_REQUESTS will determine how long (in requests) each child will live. Here's a simple bash script to help spawn php responders.

Exemplo #2 Spawning FastCGI Responders

#!/bin/sh

# Location of the php-cgi binary
PHP=/usr/local/bin/php-cgi

# PID File location
PHP_PID=/tmp/php.pid

# Binding to an address
#FCGI_BIND_ADDRESS=10.0.1.1:10000
# Binding to a domain socket
FCGI_BIND_ADDRESS=/tmp/php.sock

PHP_FCGI_CHILDREN=16
PHP_FCGI_MAX_REQUESTS=10000

env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN \
       PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS \
       $PHP -b $FCGI_BIND_ADDRESS &

echo $! > "$PHP_PID"

Connecting to remote FCGI instances

Fastcgi instances can be spawned on multiple remote machines in order to scale applications.

Exemplo #3 Connecting to remote php-fastcgi instances

fastcgi.server = ( ".php" =>
   (( "host" => "10.0.0.2", "port" => 1030 ),
    ( "host" => "10.0.0.3", "port" => 1030 ))
)


LiteSpeed Web Server/OpenLiteSpeed Web Server on Unix systems

LiteSpeed PHP is an optimized compilation of PHP built to work with LiteSpeed products through the LiteSpeed SAPI. LSPHP runs as its own process and has its own standalone binary, which can be used as a simple command line binary to execute PHP scripts from the command line.

The LSAPI is a highly optimized API that allows communication between LiteSpeed and third party web engines. Its protocol is similar to FCGI, but is more efficient.

This documentation will cover installing and configuring PHP with LSAPI for a LiteSpeed Web Server and OpenLiteSpeed Web Server.

This guide will assume that either LSWS or OLS is installed with their default paths and flags. The default installation directory for both web servers is /usr/local/lsws and both can be run from the bin subdirectory.

Please note that throughout this documentation, version numbers have been replaced with an x to ensure this documentation stays correct in the future, please replace these, as necessary, with the corresponding version numbers.

  1. To obtain and install either LiteSpeed Web Server or OpenLiteSpeed Web Server, visit the LiteSpeed Web Server wiki » install page or OpenLiteSpeed wiki » install page.

  2. Obtain and unpack the php source:

    mkdir /home/php
cd /home/php
wget http://us1.php.net/get/php-x.x.x.tar.gz/from/this/mirror
tar -zxvf php-x.x.x.tar.gz
cd php-x.x.x

  3. Configure and build PHP. This is where PHP can be customized with various options, such as which extensions will be enabled. Run ./configure --help for a list of available options. In the example, we'll use the default recommended configuration options for LiteSpeed Web Server:

    ./configure ... '--with-litespeed'
make
sudo make install

  4. Checking The LSPHP Installation

    One of the simplest ways to check whether the installation of PHP was successful is to run the following code:

    cd /usr/local/lsws/fcgi-bin/
./lsphp5 -v

    This should return information about the new PHP build:

    PHP 5.6.17 (litespeed) (built: Mar 22 2016 11:34:19)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

    Notice the litespeed in parenthesis. This means that the PHP binary has been built with LSAPI support.

Following the steps above, LiteSpeed / OpenLiteSpeed Web Server should now be running with support for PHP as an SAPI extension. There are many more configuration options available for LSWS / OLS and PHP. For more information, check out the LiteSpeed wiki about » PHP.

Using LSPHP from the command line:

LSPHP(LSAPI + PHP) command line mode is used to process PHP scripts running on a remote server that does not necessarily have a web server running. It is used to process PHP scripts residing on a local web server (separate). This setup is suitable for service scalability as PHP processing is offloaded to a remote server.

Start lsphp from the command line on a remote server: LSPHP is an executable and can be started manually and bound to IPv4, IPv6, or Unix domain socket addresses with the command line option -b socket_address

Examples:

Have LSPHP bind to port 3000 on all IPv4 and IPv6 addresses:

/path/to/lsphp -b [::]:3000

Have LSPHP bind to port 3000 on all IPv4 addresses:

/path/to/lsphp -b *:3000

Have LSPHP bind to address 192.168.0.2:3000:

/path/to/lsphp -b 192.168.0.2:3000

Have LSPHP accept requests on Unix domain socket /tmp/lsphp_manual.sock:

/path/to/lsphp -b /tmp/lsphp_manual.sock

Environment variables can be added before the LSPHP executable:

PHP_LSAPI_MAX_REQUESTS=500 PHP_LSAPI_CHILDREN=35 /path/to/lsphp -b IP_address:port

Currently LiteSpeed PHP can be used with LiteSpeed Web Server, OpenLiteSpeed Web Server, and Apache mod_lsapi. For steps on server-side configuration, visit the wiki pages for » LiteSpeed Web Server and » OpenLiteSpeed.

LSPHP can be installed in several other ways as well.

CentOS: On CentOS, LSPHP can be installed from the LiteSpeed Repository or the Remi Repository using » RPM.

Debian: On Debian, LSPHP can be installed from the LiteSpeed Repository using » apt.

cPanel: Visit the respective » wiki page about how to install LSPHP with cPanel and LSWS/OLS using EasyApache 4.

Plesk: Plesk can be used with LSPHP on CentOS, CloudLinux, Debian, and Ubuntu, for more details on this, visit the respective » wiki page


CGI e instalações de linha de comando

Por padrão o PHP é compilado como programas CLI e CGI, quais podem ser utilizados para processamento CGI. Se você estiver executando um servidor web que suporta o PHP como módulo, você deve geralmente usar essa opção por razões de performance. No entanto, a versão CGI permite que usuários executem diferentes páginas com PHP usando diferentes ids de usuário.

Aviso

Um servidor implantado em modo CGI está aberto para várias vulnerabilidades possíveis. Por favor, leia nossa seção de segurança CGI para aprender em como se defender de tais ataques.

Testando

Se você compilou o PHP como um programa CGI, você pode testá-lo usando o comando make test. É sempre uma boa idéia testar os software que você compila. Dessa maneira, você pode achar um problema com o PHP na sua plataforma cedo, ao invés de ter de lidar com isso mais tarde.

Usando Variáveis

Algumas variáveis de ambientes fornecidas pelo servidor não são definidas na atual » CGI/1.1 specification. Apenas as seguintes variáveis são definidas: AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL, e SERVER_SOFTWARE. Todo o resto deve ser tratado como 'vendor extensions'.


Notas expecificas da instalação em HP-UX

Esta sessão contém notas e avisos especificos sobre a instalação do PHP em sistemas HP-UX.

Existem duas opções principais para instalar o PHP em sistemas HP-UX systems. Ou compila-lo, ou instalar um binário pré-compilado.

Pacotes oficiais pré-compilados podem ser encontrados aqui: » http://software.hp.com/

Até que esta sessão do manual seja rescrita, a documentação sobre compilar o PHP (e as extensões relacionadas) em sistemas HP-UX foi removida. Por enquanto, considere ler o seguinte recurso externo: » Construindo o Apache e o PHP em HP-UX 11.11


Notas de instalação para o OpenBSD

Essa seção contêm notas e dicas específicas para a instalação do PHP no » OpenBSD 5.8.

Usando Pacotes Binários

Usando pacotes binários para instalar o PHP no OpenBSD é o método recomendado e o mais simples. O pacote núcleo foi separado dos vários módulos, e cada um pode ser instalado e removido independentemente dos outros. Os arquivos necessários podem ser encontrados no CD do OpenBSD ou no FTP do site.

O pacote principal que você precisa instalar é o php, que contem o engine básico (mais gettext e iconv). Depois, olhe os pacotes com módulos, como o php-mysql ou php-imap. Você precisa usar o comando phpxs para ativar e desativar esses módulos no seu arquivo php.ini.

Exemplo #1 Exemplo de instalação de pacote no OpenBSD

# pkg_add php
# pkg_add php-fpm
# pkg_add php-mysql
  (install the PEAR libraries)
# pkg_add pear

Follow the instructions shown with each package!

  (to remove packages)
# pkg_delete php
# pkg_delete php-fpm
# pkg_delete php-mysql
# pkg_delete pear

Leia o manual de » packages(7) para mais informações sobre pacotes binários no OpenBSD.

Usando Ports

Você também pode compilar o PHP dos fontes usando a » árvore ports. No entanto, isso só é recomendado para usuários familiarizado com OpenBSD. O port do PHP 4 é dividido em dois sub-diretórios: núcleo e extensões. O diretório de extensões gera sub-pacotes para todos os módulos suportados pelo PHP. Se você achar que não quer criar alguns dos módulos, use o comando no_* FLAVOR. Por exemplo, se você quiser que o módulo imap seja ignorado, atribua à FLAVOR o valor no_imap.

Problemas Comuns

  • Apache e Nginx não são mais os servidores padrão no OpenBSD, mas eles podem ser facilmente encontrados em ports e pacotes. O novo servidor é chamado 'httpd'.
  • A instalação padrão do Apache roda dentro de uma » prisão de chroot(2), que restrigirá os scripts PHP a acessar arquivos abaixo de /var/www. Você irá, portanto, precisar criar um diretório /var/www/tmp para que os arquivos de sessão do PHP sejam guardados, ou usar um backend alternativo para sessões. Além disso, sockets de bancos de dados devem ser colocados dentro da prisão ou escutar na interface localhost. Se você usar funções de rede, alguns arquivos do diretório /etc como /etc/resolv.conf e /etc/services precisarão ser movidos para /var/www/etc. O pacote OpenBSD PEAR se instala automaticamente nos diretórios chroot corretos.
  • O pacote do OpenBSD 5.7+ para a extensão » gd precisa do XFree86 instalado. Isto pode ser adicionado após a instalação (Veja o OpenBSD FAQ #4) através do acréscimo do file set xbase.tgz.

Releases Antigas

Releases mais antigas do OpenBSD usam o sistema de FLAVORS para compilar um PHP estaticamente linkado. Já que é difícil gerar pacotes binários usando esse método, ele é depreciado agora. Você pode ainda usar as árvores de port velhas e estáveis se assim desejar, mas eles não tem suporte pelo time do OpenBSD. Se você tiver algum comentário sobre isso, o atual responsável pela manutenção do port é Anil Madhavapeddy (avsm at openbsd dot org).


Dicas de instalação específicas para o Solaris

Essa seção contêm notas e dicas específicas para a instalação do PHP em sistemas Solaris.

Software Necessário

Instalações do Solaris frequentemente não possuem compiladores C e suas ferramentas relacionadas. Leia esse FAQ para informação sobre porque usar versões GNU para algumas dessas ferramentas é necessário.

Para descompactar uma distribuição PHP você precisará de:

  • tar
  • gzip or
  • bzip2

Para compilar o PHP você precisará de:

  • gcc (recomendado, outros compiladores C podem funcionar)
  • make
  • GNU sed

Para compilar extensões extras ou hackear o código do PHP você também precisará de:

  • flex (até o PHP 5.2)
  • re2c
  • bison
  • m4
  • autoconf
  • automake
Além você pode precisar instalar (e talvez até compilar) softwares específicos à sua configuração, como o Oracle ou MySQL.

Utilizando pacotes

Você pode simplificar o processo de instalação no Solaris ao utilizar pkgadd para instalar os componentes mais comuns. O Image Packaging System (IPS) para Solaris 11 Express também contém os componentes mais comuns utilizando-se o comando pkg.


Notas de Instalação para o Debian GNU/Linux

Essa seção contem notas e dicas específicas para a instalação do PHP no » Debian GNU/Linux.

Aviso

Compilações não oficiais de terceiros não são suportados. Quaisquer bugs devem ser notificados para o Debian a não ser que possam ser reproduzidos utilizando as últimas compilações disponíveis na » área de download.

As instruções de compilação do PHP no Unix se aplicam ao Debian, de forma que essa página contém informações específicas opções outras, como utilizar os comandos apt-get ou aptitude. Essa página utilizará esses dois comandos como opções alternativas.

Usando APT

Primeiro veja que outros pacotes relacionados podem ser desejados, como libapache2-mod-php5 para integração com o Apache 2 e php-pear para o PEAR.

Segundo, antes de instalar um pacote é melhor garantir que a lista de pacotes está atualizada. Isso é feito rodando o comando apt-get update.

Exemplo #1 Exemplo de instalação no Debian com Apache 2

# apt-get install php5-common libapache2-mod-php5 php5-cli

APT instalará automaticamente o módulo do PHP 5 para Apache 2 e todas as suas dependências, depois ativando-o. O Apache deve ser inicializado para que as modificações tenham efeito. Por exemplo:

Exemplo #2 Parando e iniciando o Apache depois do PHP instalado

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start

Controle melhor as configurações

Até então o PHP foi instalado apenas com os meus módulos principais. É bem provável que módulos adicionais serão desejados, como MySQL, cURL, GD, etc. Estes também podem ser instalados pelo comando apt-get.

Exemplo #3 Métodos listar pacotes adicionais do PHP 5

# apt-cache search php5
# aptitude search php5
# aptitude search php5 |grep -i mysql

Os exemplos mostrarão uma grande quantidade de pacotes incluindo vários específicos do PHP, como php5-cgi, php5-cli e php5-dev. Determine quais serão necessários e instale como quaisquer outros via os comandos apt-get ou aptitude. Como o Debian verifica as dependências, ele perguntará sobre sobre elas. Por exemplo, para instalar MySQL e cURL:

Exemplo #4 Instalando PHP com MySQL e cURL

# apt-get install php5-mysql php5-curl

O APT irá automaticamente adicionair as linhas apropriadas a arquivos php.ini relacionados, como /etc/php5/apache2/php.ini, /etc/php5/conf.d/pdo.ini, etc., e dependendo da da extensão irá ainda acrescentar diretivas similares a extension=foo.so. Entretanto é necessário reinicar o servidor web para que essas alterações tenham efeito.

Problemas comuns

  • Se os scripts PHP não estão sendo interpretados pelo servidor web, então é provável que o PHP não tenha sido acrescentado aos arquivos de configuração do servidor web, que no Debian pode ser /etc/apache2/apache2.conf ou algo similar. Veja o manual do Debian para mais detalhes.
  • Se uma extensão parece ter sido instalada e ainda assim funções permanecem não definidas, verifique que o arquivo .ini apropriado está sendo carregado e/ou se o servidor web foi reiniciado após a instalação.
  • Há dois comandos básicos para instalar pacotes no Debian (e em outras variantes Linux): apt-get e aptitude. Entretanto explicar as sutis diferenças entre esses dois comandos vai além do escopo desse manual.


Instalação no Mac OS X

Índice

  • Usando Pacotes
  • Usando o pacote do PHP para Mac
  • Compilando o PHP no Mac OS X

Essa seção contem notas e dicas específicas para instalação do PHP no Mac OS X. O PHP já vem incluído nos Macs e a compilação é semelhante à Instalação em sistemas Unix.


Usando Pacotes

Existem algumas versões do PHP empacotadas e pré-compiladas para o Mac OS X. Isso pode ajudar na instalação de uma configuração padrão, mas se você precisar ter algumas características diferentes (como um servidor seguro, ou um driver de banco de dados diferente), você pode precisar compilar o PHP e/ou seu servidor web por conta própria. Se você não estiver familiarizado com o procedimento de compilar seu próprio software, vale a pena checar se alguém já fez um pacote do PHP com as características que você precisa.

Os seguintes recursos oferecem pacotes de fácil instalação e binários pré-compilados para usar o PHP no Mac OS:

  • MacPorts: » http://www.macports.org/
  • Liip: » http://php-osx.liip.ch/
  • Fink: » http://www.finkproject.org/
  • Homebrew: » https://github.com/Homebrew/brew


Usando o pacote do PHP para Mac

PHP vem junto com Mac OS X desde a versão 10.0.0. Habilitar o PHP no servidor web padrão requer apenas descomentar algumas linhas no arquivo de configuração do Apache (httpd.conf) enquanto que a versão CGI e/ou CLI estão disponíveis automaticamente (facilmente acessíveis pelo programa Terminal).

Habilitar o PHP usando as instruções abaixo tem como objetivo configurar rapidamente um ambiente de desenvolvimento local. É altamente recomendado sempre atualizar o PHP para a versão mais nova. Como qualquer software ativo, novas versões são criadas para consertar bugs e adicionar funcionalidades e o PHP não é diferente. As seguintes instruções são direcionadas para iniciantes, os detalhes fornecidos permitem que uma configuração padrão funcionar. Todos os usuários são encorajados à compilar ou instalar uma versão nova do pacote.

O tipo de instalação padrão é usando mod_php, e habilitar o pacote mod_php no Mac OS X para o servidor Apache (o servidor web padrão, que é acessível via Preferências de Sistema) envolte os seguintes passos:

  1. Localize e abra o arquivo de configuração do Apache. Normalmente, ele está em: /etc/httpd/httpd.conf Usar Finder ou Spotlight para encontrar esse arquivo pode ser complicado, já que ele normalmente é privado e o dono é o usuário root.

    Nota: Uma maneira de modificar o arquivo é usando um editor de texto baseado em Unix no Terminal, por exemplo nano, e, como o dono do arquivo é o root, nós usaremos o comando sudo para abrí-lo. Digite o seguinte comando na aplicação de Terminal (você precisará digitar a sua senha): sudo nano /etc/httpd/httpd.conf Comandos importantes do nano: ^w (busca), ^o (salvar), e ^x (sair) onde ^ representa a tecla Ctrl.

    Nota: Versões do Mac OS X anteriores a 10.5 foram empacotadas com verões mais antigas do PHP e Apache. Devido a isso, o arquivo de configuração do Apache podem estar em /etc/httpd/httpd.conf.

  2. Com um editor de texto, descomente as linhas (removendo os #) que parecem com as linhas abaixo (essas duas linhas normalmente não estão juntas, localize ambas no arquivo):

    # LoadModule php5_module libexec/httpd/libphp5.so

# AddModule mod_php5.c
    Perceba a localização/caminho. Quando compilar o PHP no futuro, os arquivos acima devem ser substituidos ou comentados.

  3. Certifique-se que as extensões desejadas serão avalidadas como códigos PHP (exemplos: .php .html e .inc)

    Como a seguinte instrução já existe no httpd.conf (a partir do Mac Panther), uma vez que o PHP for habilitado, os arquivos .php serão automaticamente interpretados como códigos PHP.

    <IfModule mod_php5.c>
    # If php is turned on, we respect .php and .phps files.
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    # Since most users will want index.php to work we
    # also automatically enable index.php
    <IfModule mod_dir.c>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>

    Nota:

    Antes do OS X 10.5 (Leopard), o PHP 4 vinha empacotado ao invés do PHP 5, nesse caso as instruções acima serão um pouco diferentes, mudando de 5 para 4.

  4. Assegure-se de que a diretiva DirectoryIndex carrega o arquivo index desejado. Isso também é configurável no arquivo httpd.conf. Tipicamente index.php e index.html são usados. Por padrão, index.php é habilitado porque também está na checagem mostrada abaixo. Modifique como desejar.
  5. Configure a localização do arquivo php.ini ou use a padrão Uma localização típica no Mac OS X é /usr/local/php/php.ini e uma chamada à phpinfo() revelará essa informação. Se não for usado um arquivo php.ini, o PHP usará todos os valores padrão. Veja também o FAQ relacionado em encontrando o php.ini.
  6. Localize ou configure DocumentRoot Esse é o diretório raiz para todos os arquivos do servidor. Os arquivos nesse diretório serão servidos pelo servidor web, então os arquivos PHP serão interpretados como PHP antes de terem seu resultado enviado para o servidor. Um caminho padrão para isso é /Library/WebServer/Documents mas isso pode ser modificado para qualquer outro no arquivo httpd.conf. Alternativamente, o DocumentRoot para usuários individuais é /Users/yourusername/Sites
  7. Crie um arquivo phpinfo()

    A função phpinfo() mostrará informação sobre o PHP. Considere criar um arquivo no DocumentRoot com o seguinte código PHP:

    <?php phpinfo(); ?>

  8. Reinicie o Apache e carregue o arquivo PHP criado acima

    Para reiniciar, ou execute sudo apachectl graceful no shell ou stop/start na opção "Personal Web Server" em OS X System Preferences. Geralmente, carregar arquivos locais no browser pode ser feito usando uma URL assim: http://localhost/info.php ou se estiver usando o diretório DocumentRoot dentro de um diretório de usuário, seria assim: http://localhost/~yourusername/info.php

A versão CLI (ou CGI em versões mais antigas) tem o nome php e provavelmente está em /usr/bin/php. Abra um terminal, leia a seção sobre linha de comando do manual PHP e execute php -v para verificar a versão do PHP usada. Uma chamada ao phpinfo() também revelará essa informação.


  • « Usando o pacote do PHP para Mac
  • Instalação no Windows »
  • PHP Manual
  • Instalação no Mac OS X
  • Compilando o PHP no Mac OS X

Compilando o PHP no Mac OS X

Use o Instalação em sistemas Unix para compilar o PHP no Mac OS X.


Instalação no Windows

Índice

  • Requisitos de instalação
  • PECL
  • PHP Installer Tools on Windows
  • Recommended Configuration on Windows systems
  • Manual PHP Installation on Windows
  • Troubleshooting PHP on Windows
  • Installation on old Windows systems

Instalando o PHP em Microsoft Windows modernos e arquivos de configuração em de web servers populares.

Nota:

Se você procura informações sobre sistemas antigos, como o Windows XP, 2003, 98 ou Apache 1.x, veja a seção sobre ambientes legados.

Os releases oficiais do PHP para Windows são as recomendadas para uso em produção. Entretanto, você pode compilar o PHP a partir do código fonte. Para isso é preciso um ambiente Visual Studio. Veja as » Instruções de compilação passo a passo.

  • Utilizando o PHP em linha de comando

  • Instalando o PHP no Azure App Services (aka Microsoft Azure, Windows Azure ou (Windows) Azure Web Apps).


Requisitos de instalação

O PHP 5.5+ requer ao menos Windows 2008/Vista, ou 2008r2, 2012, 2012r2, 2016 ou 7, 8, 8.1, 10. 32-Bit ou 64-bit (aka X86 or X64; PHP não roda no Windows RT/WOA/ARM).

O PHP requer o Visual C runtime (CRT). Muitas aplicações também tem esse requisito, de forma que ele já deve estar instalado.

PHP 5.4, 5.5, e 5.6 requerem VC CRT 11 (Visual Studio 2012). Veja: » https://www.microsoft.com/en-us/download/details.aspx?id=30679

PHP 7.0+ requer VC CRT 14 (Visual Studio 2015). Ver: » https://www.microsoft.com/en-us/download/details.aspx?id=48145

Você PRECISA instalar o CRT x86 para compilar o PHP em x86 builds CRT x64 para compilações PHP x64.

Se o CRT já está instalado, o instalador irá avisar que não fez nenhuma alteração.

O instalador CRT suporta as opções de linha de comando /quiet e /norestart, de forma que você pode automatizar o passo de instalação.

DLLs do CRT VC11 podem ser copiadas da sua máquina local para uma máquina remota (uma instalação "Copy Deployment") em vez de rodar o instalador na máquina remota (como o caso de uma máquina onde tenha acesso restrito. Veja: http://www.sitepoint.com/install-php53-windows/

O CRT VC14 não suporta uma instalação installation "Copy Deployment". CRT VC14 tem muitas DLLs a mais (a maioria com nomes iniciando com api-*). Se você conseguir achar todas e copiá-las isso pode funcionar (tente uma ferramenta como Resource Hacker para obter uma lista de DLLs a copiar).


PECL

Extensões PECL são pré-compiladas no Windows e disponíveis em: » http://windows.php.net/downloads/pecl/releases/

Algumas extensões utilizam recursos específicos de sistemas Unix systems, e portanto não estão disponíveis no Windows.


PHP Installer Tools on Windows

PHP Install Tools

If you want to setup PHP and are using IIS, the easiest way is to use » Microsoft's Web Platform Installer (WebPI).

» XAMPP, WampServer and BitNami will setup PHP applications for use with Apache on Windows.

Setting up and configuring Nginx on Windows requires a bit more configuration. See the » Nginx documentation for additional setup help.


Recommended Configuration on Windows systems

OpCache

Highly Recommended that you enable OpCache. This extension is included with PHP for Windows. It compiles and optimizes PHP scripts and caches them in memory so that they aren't compiled every time the page is loaded.

In your php.ini, set

Exemplo #1 Recommended OpCache configuration

zend_extension=php_opcache.dll
opcache.enable=On
opcache.enable_cli=On
And restart your web server. For more info, see: OpCache Configuration

WinCache

Recommended that you use WinCache if using IIS, especially if in a shared web hosting environment or using networked file storage (NAS). All PHP Applications automatically benefit from WinCache's file cache feature. File system operations are cached in memory. WinCache also can cache user objects in memory and share them between php.exe or php-cgi.exe processes (share objects between requests). Many major web applications have a plugin or extension or configuration option to make use of the WinCache user object cache. If you need high performance, you should use the object cache in your applications. See: » http://pecl.php.net/package/WinCache to download a WinCache DLL (or tgz) to your PHP extensions directory (extensions_dir in your php.ini). In your php.ini, set

Exemplo #2 Recommended WinCache configuration

extension=php_wincache.dll
wincache.fcenabled=1
wincache.ocenabled=1 ; removed as of wincache 2.0.0.0
For more info, see: » http://php.net/manual/en/wincache.configuration.php

IIS Configuration

In IIS Manager, Install FastCGI module and add a handler mapping for `.php` to the path to PHP-CGI.exe (not PHP.exe)

You may use the APPCMD command line tool to script IIS configuration.

Database

You'll probably need a Database Server. Popular databases provide PHP extensions to use them. If your web site doesn't get a lot of traffic, you can run your database server on the same server as your web server. Many popular database servers run on Windows.

PHP includes mysqli and pdo_mysql extensions. PHP 5.5 and 5.6 include mysql extension (deprecated in 7.0).

See » https://dev.mysql.com/downloads/windows/


Manual PHP Installation on Windows

Choose Web Server

IIS

IIS is built in to Windows. On Windows Server, the IIS role can be added via the Server Manager. The CGI Role Feature needs to be included. On Windows Desktop, IIS has to be added via the Control Panel's Add/Remove Programs. The Microsoft documentation has » detailed instructions. For desktop web apps and web-development, IIS/Express or PHP Desktop can also be used.

Exemplo #1 Command line to configure IIS and PHP

@echo off

REM download .ZIP file of PHP build from http://windows.php.net/downloads/

REM path to directory you decompressed PHP .ZIP file into (no trailing \)
set phppath=c:\php

REM Clear current PHP handlers
%windir%\system32\inetsrv\appcmd clear config /section:system.webServer/fastCGI
REM The following command will generate an error message if PHP is not installed. This can be ignored.
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /-[name='PHP_via_FastCGI']

REM Set up the PHP handler
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='%phppath%\php-cgi.exe']
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='%phppath%\php-cgi.exe',resourceType='Unspecified']
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /accessPolicy:Read,Script

REM Configure FastCGI Variables
%windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /[fullPath='%phppath%\php-cgi.exe'].instanceMaxRequests:10000
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%phppath%\php-cgi.exe'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS',value='10000']"
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%phppath%\php-cgi.exe'].environmentVariables.[name='PHPRC',value='%phppath%\php.ini']"
See also the old IIS installation instructions.

Apache

There are several builds of Apache2 for Windows. The Apache builds of ApacheLounge are recommended, but other options include XAMPP, WampServer and BitNami, which provide automatic installer tools. PHP can be used on Apache through mod_php or mod_fastcgi. mod_php requires a TS build of Apache built with same version of Visual C and same CPU (x86 or x64). See also the old Apache installation instructions.

Choose Build

Windows builds can be downloaded from » http://windows.php.net/download/. All builds are optimized (PGO), and QA and GA releases are thoroughly tested.

There are 4 types of PHP builds:

  • Thread-Safe(TS) - for single process web servers, like Apache with mod_php

  • Non-Thread-Safe(NTS) - for IIS and other FastCGI web servers (Apache with mod_fastcgi) and recommended for command-line scripts

  • x86 - production use of PHP 5.5 and up.

  • x64 - production use of PHP 7 (unless its a 32-bit only version of Windows). PHP 5.5 and 5.6 x64 builds are experimental.


Troubleshooting PHP on Windows

Check Temp Directory Permissions

  1. Right-click temp directory in File Explorer to get the permissions.

  2. For IIS, check that user IIS_User has MODIFY permission. You can get the temporary directory from the configuration or php info.


Installation on old Windows systems

This section applies to Windows 98/Me and Windows NT/2000/XP/2003. PHP will not work on 16 bit platforms such as Windows 3.1 and sometimes we refer to the supported Windows platforms as Win32.

Nota:

Windows XP/2003 are no longer supported as of PHP 5.5.0.

Nota:

Windows 98/Me/NT4/2000 are no longer supported as of PHP 5.3.0.

Nota:

Windows 95 is no longer supported as of PHP 4.3.0.

If you have a development environment such as Microsoft Visual Studio, you can also build PHP from the original source code.

Once you have PHP installed on your Windows system, you may also want to load various extensions for added functionality.

Passos para Instalação Manual

Esse guia de instalação ajudará você a instalar manualmente e configurar o PHP em um servidor web no Microsoft Windows.

Selecionando e baixando o pacote de distribuição do PHP

Baixe o binário do PHP em ZIP do link » PHP para Windows: Binários e fontes. Existem várias versões diferentes do pacote zip - escolha a versão que se encaixa seguindo o guia detalhado na » página de download.

Estrutura e conteúdo do pacote PHP

Descompacte o conteúdo do arquivo zip em um diretório de sua escolha, por exemplo C:\PHP\. A estrutura de arquivos e diretórios extraídos serão conforme mostrado abaixo:

Exemplo #1 Estrutura do pacote PHP 5

c:\php
   |
   +--dev
   |  |
   |  |-php5ts.lib                 -- php5.lib em versão non thread safe
   |
   +--ext                          -- DLLS de extensões para o PHP
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-...
   |
   +--extras                       -- vazio
   |
   +--pear                         -- cópia inicial do PEAR
   |
   |
   |-go-pear.bat                   -- script de setup do PEAR
   |
   |-...
   |
   |-php-cgi.exe                   -- executável CGI
   |
   |-php-win.exe                   -- executa scripts sem um prompt de comando aberto
   |
   |-php.exe                       -- executável PHP de Linha de Comando (CLI)
   |
   |-...
   |
   |-php.ini-development           -- configurações php.ini padrão
   |
   |-php.ini-production            -- configurações php.ini recomendadas
   |
   |-php5apache2_2.dll             -- não existe na versão non thread safe
   |
   |-php5apache2_2_filter.dll      -- não existe na versão non thread safe
   |
   |-...
   |
   |-php5ts.dll                    -- principal DLL do PHP ( php5.dll em versão non thread safe)
   |
   |-...

Abaixo está a lista de módulos e executáveis incluídos na distrubuição zip:

  • go-pear.bat - o script de setup do PEAR. Veja a » Instalação (PEAR) para mais detalhes.

  • php-cgi.exe - executável CGI que pode ser usado quando rodar o PHP no IIS via CGI ou FastCGI.

  • php-win.exe - executável do PHP para executar scripts PHP sem usar uma janela de linha de comando (por exemplo aplicativos PHP que usam a interface (GUI) do Windows).

  • php.exe - executável do PHP para executar scripts PHP dentro de uma interface de linha de comando (CLI).

  • php5apache2_2.dll - módulo para o Apache 2.2.X.

  • php5apache2_2_filter.dll - filtro para o Apache 2.2.X.

Alterando o arquivo php.ini

Depois que o conteúdo do pacote php foi extraído, copie o php.ini-production para php.ini dentro da mesma pasta. Se necessário, também é possível colocar o php.ini em qualquer outra localização de sua escolha, mas isso requer configurações adicionais conforme descrito em Configuração do PHP.

O arquivo php.ini diz para o PHP como se configurar, e como trabalhar com o ambiente em que ele está rodando. Aqui estão algumas configurações do arquivo php.ini que ajudarão o PHP a funcionar melhor com o Windows. Algumas delas são opcionais. Existem muitas outras diretivas que podem ser relevantes para o seu ambiente - veja a lista de diretivas do php.ini para mais informações.

Diretivas requeridas:

  • extension_dir = <caminho para o diretório de extesões> - A extension_dir precisa apontar para o diretório onde as extensões do PHP estão guardadas. O caminho pode ser absoluto (ex: "C:\PHP\ext") ou relativo (ex: ".\ext"). Extensões que estão listadas mais abaixo no arquivo php.ini precisam estar localizadas em extension_dir.

  • extension = xxxxx.dll - Para cada extensão que você deseja ativar, você precisa de uma diretiva "extension=" correspondente que diga o PHP que extensão no extension_dir para carregar durante a inicialização.

  • log_errors = On - O PHP tem um dispositivo de log de erros que pode ser usado para enviar erros para um arquivo, ou um serviço (ex: syslog) e funciona em conjunto com a diretiva abaixo error_log. Quando rodando sob o IIS, a log_errors pode ser ativada, com um error_log válido.

  • error_log = <caminho para o arquivo de log de erro> - A error_log deve especificar o caminho absoluto, ou relativo para o arquivo onde os erros do PHP devem ser logados. O servidor web precisa ter permissão de escrita para esse arquivo. Os caminhos mais comuns para esse arquivo são em diretórios TEMP, por exemplo "C:\inetpub\temp\php-errors.log".

  • cgi.force_redirect = 0 - Essa diretiva é requerida para rodar sob o IIS. É uma diretiva de segurança requerida por muitos outros servidores web. Entretanto, ativá-la sob o IIS fará com que o motor do PHP falhe no Windows.

  • cgi.fix_pathinfo = 1 - Isso permite que o PHP acesse a informação de caminho real dentro das especificações CGI. A implementação de IIS e FastCGI precisa que isso seja configurado.

  • fastcgi.impersonate = 1 - O FastCGI sob IIS tem a habilidade de imitar tokens de segurança do cliente que está chamando. Isso permite que o IIS defina o contexto de segurança da chamada.

  • fastcgi.logging = 0 - O log de FastCGI deve ser desativado no IIS. Se for deixado ativo, qualquer mensagem de qualquer classe é tratada pelo FastCGI como condições de erro que farão o IIS gerar uma excessão HTTP 500.

Diretivas opcionais

  • max_execution_time = ## - Essa diretiva diz ao PHP qual o máximo de tempo que ele pode gastar executando um determinado script. O padrão é 30 segundos. Aumente o valor dessa diretiva se as aplicações demoram muito tempo para executar.

  • memory_limit = ###M - A quantidade de memória disponível para o processo do PHP, em Megabytes. O padrão é 128, que é o suficiente para a maioria das aplicações PHP. Algumas mais complexas podem precisar de mais.

  • display_errors = Off - Essa diretiva diz ao PHP para incluir, ou não, qualquer mensagem de erro na corrente que ele retorna ao servidor Web. Se isso for configurado para "On", então o PHP irá enviar ao web server qualquer classe de erro que você definir na diretiva error_reporting como parte da corrente de erro. Por razões de segurança é recomendado que seja configurada para "Off" em servidores de produção, para não revelar qualquer informação de segurança sensível que é geralmente incluída nas mensagens de erro.

  • open_basedir = <caminhos para diretórios, separados por ponto-e-vírgula>, ex: openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". Essa diretiva especifica os caminhos para os diretórios onde o PHP pode executar operações de sistema de arquivos. Qualquer operação fora desses caminhos especificados resultará em um erro. Essa diretiva é especificamente útil para travar a instalação do PHP dentro de ambientes de hospedagem compartilhados para previnir scripts PHP de acessarem quaisquer arquivos fora do diretório raiz do web site.

  • upload_max_filesize = ###M e post_max_size = ###M - O tamanho máximo permitido de um arquivo subido e dados de post, respectivamente. Os valores dessas diretivas devem ser aumentados em aplicações PHP que precisam fazer grandes uploads, como por exemplo arquivo de fotos e vídeos.

O PHP agora está configurado no seu sistema. O próximo passo é escolher um servidor web, e fazer com que ele rode o PHP. Escolha um servidor na tabela de conteúdos.

Além de rodar o PHP em um servidor web, o PHP pode rodar a partir da linha de comando assim como um script .BAT. Veja PHP de linha de comando no Microsoft Windows para mais detalhes.

Microsoft IIS

Esssa seção contém instruções específicas de instalaçaõ do PHP no Microsoft Internet Information Services (IIS).

  • Instalando o PHP manualmente no Microsoft IIS 5.1 s IIS 6.0
  • Instaland o PHP manualamente no Microsoft IIS 7.0 e posteriores

Microsoft IIS 5.1 e IIS 6.0

Esta seção contém instruções de configuração para que Internet Information Services (IIS) 5.1 ou IIS 6.0 execute PHP no Microsoft Windows XP ou Windows Server 2003. Para instruções em como configurar IIS 7.0 ou versões mais atuais no Windows Vista, Windows Server 2008, Windows 7 e Windows Server 2008 R2 acesse Microsoft IIS 7.0 e posteriores.

Configurando IIS para processar requisições PHP

Faça o download e instale o PHP de acordo com as instruções descritas em instalação manual

Nota:

A compilação non-thread-safe é a recomendada para execução no IIS. As compilações non-thread-safe estão disponíveis em » PHP para Windows: Binários e Fontes.

Realize as configurações específicas para CGI ou FastCGI no arquivo php.ini como mostrado a seguir:

Exemplo #2 Configurações CGI e FastCGI em php.ini

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0

Faça o download e a instalação da » extensão FastCGI para Microsoft IIS 5.1 and 6.0. A extensão está disponível para plataformas 32 e 64 bits - selecione a que corresponde à sua plataforma.

Configure a extensão FastCGI para atender as requisições PHP executando o comando a seguir. Substitua o valor do parâmetro "-path" com o caminho absoluto do arquivo php-cgi.exe.

Exemplo #3 Configurando FastCGI para atender às requisições PHP

cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"PHP" ^
-extension:php -path:"C:\PHP\php-cgi.exe"

Este comando criará um mapeamento de scipts de extensões *.php que resultará com que todas as URLs que contenham *.php sejam atendidas pela extensão FastCGI. E também configura a extensão FastCGI a usar o executável php-cgi.exe para processar as requisições PHP.

Nota:

Neste ponto os passos necessários para instalação e configuração foram completados. As instruções a seguir são opcionais mas altamente recomendadas para o alcance da melhor perfomance e funcionalidade do PHP no IIS.

Impersonalização e acesso ao sistema de arquivos

É recomendado habilitar a impersonalização do FastCGI no PHP quando executado no IIS. Ele é controlado pela directiva fastcgi.impersonate no arquivo php.ini. Quando impersonalização é habilitada, o PHP executará todas as ações no sistema de arquivos em nome da conta de usuário que foi determinada na autentação do IIS. Isso garante que mesmo que o mesmo processo PHP seja compartilhado por diferentes websites no IIS, os scripts PHP nestes websites não poderão acessar os arquivos uns dos outros desde que contas de usuário para autenticação no IIS sejam diferentes para cada website.

Por exemplo, os IISs 5.1 e 6.0, em sua configuração padrão, possui autenticação anônima habilitada com um usuário pré-criado IUSR_<MACHINE_NAME> usado como identidade padrão. Isso significa que para o IIS executar os scripts PHP é necessário dar privilégios de leitura a estes scripts para o usuário IUSR_<MACHINE_NAME>. Se as aplicações PHP precisarem realizar operações de escrita em determinados arquivos ou escrever arquivos em algum diretório, o usuário IUSR_<MACHINE_NAME> precisa ter os privilégios de escrita necessários no destino.

Para determinar qual conta de usuário é usada pela autenticação anônima do IIS, siga estes passos:

  1. No menu iniciar selecione "Executar:", type "inetmgr" e clique em "Ok";

  2. Expanda a lista de websites sob o nó "Web Sites" no menu em árvore, clique com o botão direito em um website que esteja sendo usado e selecione "Properties";

  3. Clique na aba "Directory Security";

  4. Perceba um campo "User name:" na caixa de diálogo "Authentication Methods"

Autenticação anônima para IIS 5.1 e IIS 6.0

Para modificar as configurações de permissão de arquivos e diretórios, utilize o Windows Exporer ou o comando icacls.

Exemplo #4 Configurando as permissões de acesso de arquivos

icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

Defina index.php como o documento padrão no IIS

Os documentos padrão são usados pelo IIS para redirecionamento de requisições HTTP que não especificam o nome do documento. Com as aplicações PHP, index.php normalmente atua como o documento padrão. Para adicionard index.php à lista de documentos padrão IIS, siga estes passos:

  1. No menu iniciar escolha "Executar:", type "inetmgr" e clique em "Ok";

  2. Clique com o botão direito no nó "Web Sites" do menu em árvore e selecione "Properties";

  3. Clique na aba "Documents" ;

  4. Clique no botão "Add..." e informe "index.php" como "Default content page:".

Definindo index.php como o documento padrão no IIS

Configuração de FastCGI e reciclagem PHP

Configure a extensão FastCGI para reciclagem dos processos PHP usando os comandos a seguir. A configuração FastCGI instanceMaxRequests controla quantos requisição serão processadas por um único processo php-cgi.exe antes que a extensão FastCGI se encerre. A variável de ambiente PHP_FCGI_MAX_REQUESTS controla quantas requisições um único processo php-cgi.exe manipulará antes que ele se recicle. Certifique-se que o valor especificado para a configuração FastCGI InstanceMaxRequests seja menor ou igual ao valor especificado para PHP_FCGI_MAX_REQUESTS.

Exemplo #5 Configuração de FastCGI e reciclagem PHP

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-InstanceMaxRequests:10000

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

Configurando timeout para FastCGI

Aumente as configurações de timeout para a extensão FastCGI caso existam aplicações com scripts de longa execução. As duas configurações que controlam timeout são ActivityTimeout e RequestTimeout. Verifique » Configurando extensão FastCGI para IIS 6.0 para mais informações sobre estas configurações.

Exemplo #6 Configurando timeout para FastCGI

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-ActivityTimeout:90

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-RequestTimeout:90

Alterando a localização do arquivo php.ini

O PHP procura pelo arquivo php.ini em diversas localizaçõe e é possível alterar a configuração padrão do arquivo php.ini usando a variável de ambiente PHPRC. Para instruir o PHP a carregar o arquivo de configuração de uma localização customizada execute o comando exibido abaixo. O caminho absoluto para o diretório que contém o arquivo php.ini deve ser especificado como um valor na variável de ambiente PHPRC.

Exemplo #7 Alterando a localização do arquivo php.ini

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHPRC:"C:\Some\Directory\"

Microsoft IIS 7.0 and later

This section contains instructions for manually setting up Internet Information Services (IIS) 7.0 and later to work with PHP on Microsoft Windows Vista SP1, Windows 7, Windows Server 2008 and Windows Server 2008 R2. For instructions on setting up IIS 5.1 and IIS 6.0 on Windows XP and Windows Server 2003 refer to Microsoft IIS 5.1 and IIS 6.0.

Enabling FastCGI support in IIS

FastCGI module is disabled in default installation of IIS. The steps to enable it differ based on the version of Windows being used.

To enable FastCGI support on Windows Vista SP1 and Windows 7:

  1. In the Windows Start Menu choose "Run:", type "optionalfeatures.exe" and click "Ok";

  2. In the "Windows Features" dialog expand "Internet Information Services", "World Wide Web Services", "Application Development Features" and then enable the "CGI" checkbox;

  3. Click OK and wait until the installation is complete.

Enabling FastCGI support for IIS7 on Windows Vista SP1 and Windows 7

To enable FastCGI support on Windows Server 2008 and Windows Server 2008 R2:

  1. In the Windows Start Menu choose "Run:", type "CompMgmtLauncher" and click "Ok";

  2. If the "Web Server (IIS)" role is not present under the "Roles" node, then add it by clicking "Add Roles";

  3. If the "Web Server (IIS)" role is present, then click "Add Role Services" and then enable the "CGI" checkbox under "Application Development" group;

  4. Click "Next" and then "Install" and wait for the installation to complete.

Enabling FastCGI support on Windows Server 2008 and Windows Server 2008 R2

Configuring IIS to process PHP requests

Download and install PHP in accordance to the instructions described in manual installation steps

Nota:

Non-thread-safe build of PHP is recommended when using IIS. The non-thread-safe builds are available at » PHP for Windows: Binaries and Sources Releases.

Configure the CGI- and FastCGI-specific settings in php.ini file as shown below:

Exemplo #8 CGI and FastCGI settings in php.ini

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0

Configure IIS handler mapping for PHP by using either IIS Manager user interface or a command line tool.

Using IIS Manager user interface to create a handler mapping for PHP

Follow these steps to create an IIS handler mapping for PHP in IIS Manager user interface:

  1. In the Windows Start Menu choose "Run:", type "inetmgr" and click "Ok";

  2. In the IIS Manager user interface select the server node in the "Connections" tree view;

  3. In the "Features View" page open the "Handler Mappings" feature;

    Create IIS handler mapping for PHP : Locate Handler Mappings

  4. In the "Actions" pane click "Add Module Mapping...";

  5. In the "Add Module Mapping" dialog enter the following:

    • Request path: *.php
    • Module: FastCgiModule
    • Executable: C:\[Path to PHP installation]\php-cgi.exe
    • Name: PHP_via_FastCGI

  6. Click "Request Restrictions" button and then configure the mapping to invoke handler only if request is mapped to a file or a folder;

  7. Click OK on all the dialogs to save the configuration.

Create IIS handler mapping for PHP : Add Handler Mapping

Using command line tool to create a handler mapping for PHP

Use the command shown below to create an IIS FastCGI process pool which will use php-cgi.exe executable for processing PHP requests. Replace the value of the fullPath parameter with the absolute file path to the php-cgi.exe file.

Exemplo #9 Creating IIS FastCGI process pool

%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI ^
/+[fullPath='c:\PHP\php-cgi.exe']

Configure IIS to handle PHP specific requests by running the command shown below. Replace the value of the scriptProcessor parameter with the absolute file path to the php-cgi.exe file.

Exemplo #10 Creating handler mapping for PHP requests

%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers ^
/+[name='PHP_via_FastCGI', path='*.php',verb='*',modules='FastCgiModule',^
scriptProcessor='c:\PHP\php-cgi.exe',resourceType='Either']

This command creates an IIS handler mapping for *.php file extension, which will result in all URLs that end with .php being handled by FastCGI module.

Nota:

At this point the required installation and configuration steps are completed. The remaining instructions below are optional but highly recommended for achieving optimal functionality and performance of PHP on IIS.

Impersonation and file system access

It is recommended to enable FastCGI impersonation in PHP when using IIS. This is controlled by the fastcgi.impersonate directive in php.ini file. When impersonation is enabled, PHP will perform all the file system operations on behalf of the user account that has been determined by IIS authentication. This ensures that even if the same PHP process is shared across different IIS web sites, the PHP scripts in those web sites will not be able to access each other's files as long as different user accounts are used for IIS authentication on each web site.

For example IIS 7, in its default configuration, has anonymous authentication enabled with built-in user account IUSR used as a default identity. This means that in order for IIS to execute PHP scripts, it is necessary to grant IUSR account read permission on those scripts. If PHP applications need to perform write operations on certain files or write files into some folders then IUSR account should have write permission to those.

To determine what user account is used as an anonymous identity in IIS 7 use the following command. Replace the "Default Web Site" with the name of IIS web site that you use. In the output XML configuration element look for the userName attribute.

Exemplo #11 Determining the account used as IIS anonymous identity

%windir%\system32\inetsrv\appcmd.exe list config "Default Web Site" ^
/section:anonymousAuthentication

<system.webServer>
  <security>
    <authentication>
      <anonymousAuthentication enabled="true" userName="IUSR" />
    </authentication>
   </security>
</system.webServer>

Nota:

If userName attribute is not present in the anonymousAuthentication element, or is set to an empty string, then it means that the application pool identity is used as an anonymous identity for that web site.

To modify the permissions settings on files and folders, use the Windows Explorer user interface or icacls command.

Exemplo #12 Configuring file access permissions

icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

Set index.php as a default document in IIS

The IIS default documents are used for HTTP requests that do not specify a document name. With PHP applications, index.php usually acts as a default document. To add index.php to the list of IIS default documents, use this command:

Exemplo #13 Set index.php as a default document in IIS

%windir%\system32\inetsrv\appcmd.exe set config ^
-section:system.webServer/defaultDocument /+"files.[value='index.php']" ^
/commit:apphost

FastCGI and PHP Recycling configuration

Configure IIS FastCGI settings for recycling of PHP processes by using the commands shown below. The FastCGI setting instanceMaxRequests controls how many requests will be processed by a single php-cgi.exe process before IIS shuts it down. The PHP environment variable PHP_FCGI_MAX_REQUESTS controls how many requests a single php-cgi.exe process will handle before it recycles itself. Make sure that the value specified for FastCGI InstanceMaxRequests setting is less than or equal to the value specified for PHP_FCGI_MAX_REQUESTS.

Exemplo #14 Configuring FastCGI and PHP recycling

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/[fullPath='c:\php\php-cgi.exe'].instanceMaxRequests:10000

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/+"[fullPath='C:\{php_folder}\php-cgi.exe'].environmentVariables.^
[name='PHP_FCGI_MAX_REQUESTS',value='10000']"

FastCGI timeout settings

Increase the timeout settings for FastCGI if it is expected to have long running PHP scripts. The two settings that control timeouts are activityTimeout and requestTimeout. Use the commands below to change the timeout settings. Make sure to replace the value in the fullPath parameter to contain the absolute path to the php-cgi.exe file.

Exemplo #15 Configuring FastCGI timeout settings

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/[fullPath='C:\php\php-cgi.exe',arguments=''].activityTimeout:"90"  /commit:apphost

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/[fullPath='C:\php\php-cgi.exe',arguments=''].requestTimeout:"90"  /commit:apphost

Changing the Location of php.ini file

PHP searches for php.ini file in several locations and it is possible to change the default locations of php.ini file by using PHPRC environment variable. To instruct PHP to load the configuration file from a custom location run the command shown below. The absolute path to the directory with php.ini file should be specified as a value of PHPRC environment variable.

Exemplo #16 Changing the location of php.ini file

appcmd.exe set config  -section:system.webServer/fastCgi ^
/+"[fullPath='C:\php\php.exe',arguments=''].environmentVariables.^
[name='PHPRC',value='C:\Some\Directory\']" /commit:apphost

Apache 1.3.x no Microsoft Windows

Essa seção contem notas e dicas específicas para instalação do Apache 1.3.x com o PHP nos sistemas Microsoft Windows. Também há

Nota:

Por favor, leia os passos da instalação manual primeiro!

Existem duas maneiras de configurar o PHP para funcionar com o Apache 1.3.x no Windows. Uma é usar o binário CGI (php.exe para o PHP 4 e php-cgi.exe para o PHP 5), e a outra é usar o DLL do módulo do Apache. Em ambos os casos você precisa editar o arquivo httpd.conf para configurar o Apache para funcionar com o PHP e, então, reiniciar o servidor.

Vale a pena notar que agora o módulo SAPI tornou-se mais estável no Windows, nós recomendamos o seu uso ao invés do binário CGI, uma vez que é mais transparente e seguro.

Embora existam algumas pequenas variações de configuração do PHP com o Apache, elas são simples o suficiente para ser usado por iniciantes. Por favor, consulte a Documentação do Apache para mais diretivas de configuração.

Depois de mudar o arquivo de configuração, lembre-se de reiniciar o servidor, por exemplo, executando NET STOP APACHE seguido de NET START APACHE, se você rodar o Apache como um Windows Service, ou user os atalhos normais.

Nota: Lembre que ao adicionar caminhos nos arquivos de configuração do Apache no Windows, todos as contrabarras como em c:\directory\file.ext devem ser convertidos para barras: c:/directory/file.ext. Uma barra terminal também pode ser necessário para diretórios.

Instalando como um módulo do Apache

Você deve adicionar as seguintes linhas para o seu arquivo httpd.conf:

Exemplo #17 PHP como um módulo do Apache 1.3.x

Presume-se que o PHP esteja instalado em c:\php. Ajuste o caminho se não for o seu caso.

Para o PHP 4:

# Adicione ao fim da seção LoadModule
# Não se esqueça de copiar esse arquivo do diretório sapi
LoadModule php4_module "c:/php/php4apache.dll"

# Adicione ao fim da seção AddModule
AddModule mod_php4.c

Para o PHP 5:

# Adicione ao fim da seção LoadModule
LoadModule php5_module "C:/php/php5apache.dll"

# Adicione ao fim da seção AddModule
AddModule mod_php5.c

Para ambos:

# Adicione essa linha dentro das tags condicionais <IfModule mod_mime.c>
AddType application/x-httpd-php .php

# Para arquivos .phps com highlight de sintaxe adicione também
AddType application/x-httpd-php-source .phps

Instalando como um binário CGI

Se você dezipou o pacote PHP para o diretório C:\php\ como descrito na seção Passos da Instalação Manual, você precisa inserir as seguintes linhas ao arquivo de configuração do Apache para configurar o uso do binário CGI:

Exemplo #18 PHP e Apache 1.3.x como CGI

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

# Para o PHP 4
Action application/x-httpd-php "/php/php.exe"

# Para o PHP 5
Action application/x-httpd-php "/php/php-cgi.exe"

# especifica o diretório onde o php.ini está
SetEnv PHPRC C:/php
Note que a segunda linha na lista acima pode ser encontrada na versão padrão do httpd.conf, mas está comentada. Lembre-se de substituir também o c:/php/ pelo caminho do PHP no seu sistema.

Aviso

Um servidor implantado em modo CGI está aberto para várias vulnerabilidades possíveis. Por favor, leia nossa seção de segurança CGI para aprender em como se defender de tais ataques.

Se você gostaria de apresentar os códigos-fonte dos PHP com highlight de sintaxe, não exites uma opção conveniente como na versão de módulo. Se você escolheu configura o Apache para usar o PHP como um binário CGI, você precisará usar a função highlight_file(). Para fazer isso, simplesmente crie um script PHP e adicione esse código: <?php highlight_file('some_php_script.php'); ?>.

Apache 2.x no Microsoft Windows

Essa seção contem notas e dicas específicas para instalação do Apache 2.x com o PHP nos sistemas Microsoft Windows.Também há

Nota:

Por favor, leia os passos da instalação manual primeiro!

Nota: Suporte a Apache 2.2

Usuários do Apache 2.2 devem notar que o arquivo DLL para o Apache 2.2 é chamado php5apache2_2.dll em vez de php5apache2.dll e é disponível apenas para versões do PHP 5.2.0 e posteriores.

Encorajamos que você olhe a » Documentação do Apache para entender o básico do Servidor Apache 2.x. Também considere ler as » notas específicas para o Windows para o Apache 2.x antes de continuar.

O Apache 2.x foi desenhado para rodar nas versões Windows do do tipo servidoras, como Windows NT 4.0, Windows 2000, Windows XP e Windows 7. O Apache 2.x funcionará rasoavelmente no Windows 9x, mas o suporte nessa plataforma é incompleto, e algumas coisas não funcionarão corretamente. Não há como remediar essas situações.

Baixe a versão mais recente do » Apache 2.x e uma versão apropriada do PHP. Siga os Passos da Instalação Manual e volte para continuar com a integração do PHP e Apache.

Existem três maneiras de rodar o PHP sob o Apache 2.x no Windows. O PHP como módulo (handler), como CGI ou como FastCGI.

Nota: Lembre que ao adicionar caminhos nos arquivos de configuração do Apache no Windows, todos as contrabarras como em c:\directory\file.ext devem ser convertidos para barras: c:/directory/file.ext. Uma barra terminal também pode ser necessário para diretórios.

Instalando como um módulo do Apache

Você precisa inserir essas duas linhas ao arquivo de configuração de Apache httpd.conf para configurar o módulo PHP para o Apache 2.0:

Exemplo #19 PHP e Apache 2.0 como Módulo

#
LoadModule php5_module "c:/php/php5apache2.dll"
AddHandler application/x-httpd-php .php

# configure o caminho para o arquivo php.ini
PHPIniDir "C:/php"

Nota: Lembre-se de substituir o caminho atual do PHP em vez de C:/php/ dos exemplos acima. Use php5apache2.dll ou php5apache2_2.dll na sua diretiva e verifique que o arquivo referenciado está localizado de fato no caminho apontado na diretiva.

A configuração acima habilitará a manipulação do PHP por qualquer arquivo com a extensão, mesmo que existam outras extensões. Por exemplo, um arquivo chamadoexample.php.txt será executado pelo manipulador do PHP. Para garantir que apenas arquivos com a extensão terminal .php sejam executados então utilize a seguinte configuração:

<FilesMatch \.php$>
      SetHandler application/x-httpd-php
 </FilesMatch>

Rodando o PHP como CGI

Consulte a » Documentação CGI do Apache para melhor compreensão de se rodar CGIs no Apache.

Para rodar o PHP como CGI você precisará colocar seus arquivos php-cgi em um diretório assim designado, utilizando para isso a diretiva ScriptAlias.

Terá também de inserir uma linha #! nos arquivos PHP, apontando para a localização do executável do PHP:

Exemplo #20 PHP e Apache 2.x como CGI

#!C:/php/php.exe
<?php
  phpinfo();
?>

Aviso

Um servidor implantado em modo CGI está aberto para várias vulnerabilidades possíveis. Por favor, leia nossa seção de segurança CGI para aprender em como se defender de tais ataques.

Rodando o PHP como FastCGI

Rodar como FastCGI tem vantangens do que rodar como CGI. A configuração é simples:

Obtenha o mod_fcgid de » http://httpd.apache.org/mod_fcgid/. Executáveis Win32 estão disponíveis para download desse arquivo. Instale o módulo de acordo com as instruções que acompanham o binário.

Configure o seu servidor como mostrado abaixo, tomando cuidado de ajustar quaisquer caminhos de forma a refletir os locais onde estão instalados os componentes no seu sistema:

Exemplo #21 Configurar o Apache para rodar PHP como FastCGI

LoadModule fcgid_module modules/mod_fcgid.so

# Onde está o seu arquivo php.ini?
FcgidInitialEnv PHPRC        "c:/php"

AddHandler fcgid-script .php
FcgidWrapper "c:/php/php-cgi.exe" .php
Arquivos com a extensão .php agora serão executados pelo manipulador FastCGI do PHP.

Servidor Sambar no Microsoft Windows

Essa seção contem notas e dicas específicas para o » Sambar Server para Windows.

Nota:

Você deve ler os passos de instalação do manual antes!

Essa lista descreve como instalar o módulo ISAPI para que funcione com o servidor Sambar no Windows.

  • Ache o arquivo chamado mappings.ini (no diretório de configuração) no diretório de instalação dp Sambar.

  • Abra o arquivo mappings.ini e adicione a seguinte linha sob [ISAPI]:

    Exemplo #22 Configuração ISAPI do Sambar

    #para o PHP 4
*.php = c:\php\php4isapi.dll

#para o PHP 5
*.php = c:\php\php5isapi.dll
    (Essa linha presume que o PHP foi instalado em c:\php.)

  • Agora reinicie o servidor Sambar para que as mudanças tenha efeito.

Nota:

Se você deseja usar o PHP para se comunicar com recursos que estão guardados em um computador diferente em sua rede, então você precisará alterar a conta de usuário usada pelo Sambar Server Service. A conta padrão usada pelo Sambar Server Service é LocalSystem, que não tem acesso a recursos remotos. A conta pode ser modifica usando a opção Serviços (Services) dentro do das Ferramentas Administrativas (Administation Tools) do Painel de Controle (Control Panel) do Windows.

Xitami no Microsoft Windows

Essa seção contem notas e dicas específicas para o » Xitami no Windows.

Nota:

Você deve ler os passos de instalação manual primeiro!

Essa lista descreve como configura o binário CGI do PHP para funcionar com Xitami no Windows.

Nota: Importante para usuários que instalaram o CGI

Leia o faq sobre cgi.force_redirect para detalhes importantes. Essa diretiva precisa ser editada para 0. Se você quiser usar $_SERVER['PHP_SELF'] você tem que habilitar a diretiva cgi.fix_pathinfo.

Aviso

Um servidor implantado em modo CGI está aberto para várias vulnerabilidades possíveis. Por favor, leia nossa seção de segurança CGI para aprender em como se defender de tais ataques.

  • Assegure-se que o servidor web está rodando e aponte o seu browser para o console de administração do Xitami (normalmente http://127.0.0.1/admin), e clique em Configuração (Configuration).

  • Navegue para os Filtros (Filters), e ponha a extensão que o PHP deve avaliar (ex.: .php) no campo extensões de Arquivo (.xxx).

  • No comando ou script Filtro (Filter) ponha o caminho e o nome do seu executável CGI, ex.: C:\php\php.exe para o PHP 4, ou C:\php\php-cgi.exe para o PHP 5.

  • Pressione o ícone Salvar (Save).

  • Reinicie o servidor para as mudanças terem efeito.

Compilando a partir dos fontes

Esse capítulo ensina como compilar PHP a partir dos fontes no Windows, usando as ferramentas da Microsoft. Para compilar o PHP com cygwin, veja o Instalação em sistemas Unix.

Veja a documentação no Wiki em: » https://wiki.php.net/internals/windows/stepbystepbuild

Instalação de extensões no Windows

Depois de instalar o PHP e um servidor web no Windows, você provavelmente desejará instalar algumas extensões para ter funcionalidades extras. Você pode escolher quais extensões você quer que o PHP carregue quando é iniciado modificando o arquivo php.ini. Você também pode carregar um módulo dinamicamente no seu script usando dl().

Os DLLs para extensões do PHP são prefixadas com php_.

Muitas extensões são compiladas dentro da versão para Windows. Isso significa que arquivos DLL adicionais, e a diretiva extension, não são utilizadas para carregar essas extensões. A tabela de Extensões PHP lista extensões que requerem, ou costumavam requerer, arquivos DLL adicionais do PHP. Aqui está uma lista das extensões já compiladas dentro do PHP 5.0.4: BCMath, Caledar, COM, Ctype, DOM, FTP, LibXML, Iconv, ODBC, PCRE, Session, SimpleXML, SPL, WDDX, XML e Zlib.

A localização padrão que o PHP procura por extensões é C:\php5. Para mudar esta configuração para refletir sua instalação do PHP, edite o arquivo php.ini:

  • Você precisará mudar a configuração extension_dirpara apontar o diretório onde suas extensões estão guardadas, ou onde você colocou os arquivos php_*.dll. Por exemplo:

    extension_dir = C:\php\extensions

  • Habilite a(s) extensão(ões) no arquivo php.ini que você quiser descomentando as linhas extension=php_*.dll. Isso é feito removendo o ; na antes da linha com a extensão que você quer carregar.

    Exemplo #23 Habilitar a extensão Bzip2 para o PHP-Windows

    // Mude a seguinte linha de ...
;extension=php_bz2.dll

// ... para
extension=php_bz2.dll

  • Algumas dessas extensões precisam de DLLs extras para funcionar. Umas poucas podem ser encontradas no pacote de distribuição, na pasta principal, mas algumas (por exemplo o Oracle php_oci8.dll) requer DLLs que não estão incluídas no pacote de distribuição. Não se esqueça de incluir C:\php na variável de ambiente PATH (este processo é explicado noFAQ).

  • Algumas destas dlls não sao embutidas com a distribuição do PHP. Veja a documentação de cada extensão para maiores detalhes. Também leia o manual na sessão entitulada Instalação de extensões PECL para detalhes sobre PECL. Um crestente número de extensões para o PHP são encontradas no PECL, e estas extensões precisam de um download separado.

Nota: Se você estiver executando a versão de módulo do servidor do PHP lembre de reiniciar o servidor web para que as mudanças no arquivo php.ini sejam efetivadas.

A tabela a seguir descreve algumas das extensões disponíveis e as dlls adicionais requeridas.

Extensões do PHP
Extensão | Descrição | Notas
php_bz2.dll | Funções de Compressão de bzip2 |
php_calendar.dll | Funções de Conversão de Calendar |
php_ctype.dll | Família de Funções ctype |
php_curl.dll | Biblioteca de Funções de Cliente URL - CURL | Requer: libeay32.dll, ssleay32.dll (incluso), ou, a partir da OpenSSL 1.1, libcrypto-*.dll e libssl-*.dll (inclusos)
php_dba.dll | Camada de Funções de Abstração de Banco de Dados DBA |
php_dbase.dll | Funções de dBase |
php_exif.dll | Funções EXIF | php_mbstring.dll. e, php_exif.dll devem ser carregados depois de php_mbstring.dll no arquivo php.ini.
php_fbsql.dll | Funções FrontBase |
php_fdf.dll | FDF: Forms Data Format functions. | Requer: fdftk.dll (incluso)
php_filepro.dll | Funções de filePro | Fornece acesso somente leitura
php_ftp.dll | Funções de FTP |
php_gd2.dll | Funções da biblioteca de imagens GD | GD2
php_gettext.dll | Funções de Gettext | PHP <= 4.2.0 requer gnu_gettext.dll (incluso), PHP >= 4.2.3 requer libintl-1.dll, iconv.dll (incluso).
php_hyperwave.dll | HyperWave functions |
php_iconv.dll | Conversão de tabela de caracteres ICONV | Requer: iconv-1.3.dll (incluso), iconv.dll
php_iisfunc.dll | Funções de manuseio de IIS |
php_imap.dll | Funções de IMAP POP3 e NNTP |
php_ingres.dll | Funções de Ingres II | Requer: bibliotecas Ingres
php_interbase.dll | Funções de InterBase | Requer: gds32.dll (incluso)
php_ldap.dll | Funções de LDAP | Requer libeay32.dll e ssleay32.dll (inclusos), ou, a partir da OpenSSL 1.1, libcrypto-*.dll e libssl-*.dll (inclusos)
php_mbstring.dll | Funções de Multi-Byte String |
php_mcrypt.dll | Funções de Mcrypt Encryption | Requer: libmcrypt.dll
php_mhash.dll | Funções de Mhash | Requer: libmhash.dll (incluso)
php_mysql.dll | Funções de MySQL | Requer libmysql.dll (incluso)
php_mysqli.dll | Funções de MySQLi | Requer libmysql.dll (libmysqli.dll in PHP <= 5.0.2) (incluso)
php_oci8.dll | Funções de Oracle 8 | Requer: bibliotecas Oracle 8.1+ client
php_openssl.dll | Funções de OpenSSL | Requer: libeay32.dll (incluso), ou, a partir da OpenSSL 1.1, libcrypto-*.dll (inclusos)
php_pgsql.dll | Funções de PostgreSQL |
php_shmop.dll | Funções de Memória Compartilhada |
php_snmp.dll | Funções de get and walk de SNMP | Apenas no NT!
php_soap.dll | Funções de SOAP | PHP >= 5.0.0
php_sockets.dll | Funções de Socket | Nenhuma
php_tidy.dll | Funções de Tidy |
php_tokenizer.dll | Funções de Tokenizer |
php_w32api.dll | Funções W32api | None
php_xmlrpc.dll | Funções de XML-RPC | Requer: iconv.dll (incluso)
php_xslt.dll | XSLT functions | Requer sablot.dll, expat.dll, iconv.dll (inclusos).
php_yaz.dll | Funções do YAZ | Requer: yaz.dll (incluso)
php_zip.dll | Funções para Arquivos Zip | Acesso apenas de leitura
php_zlib.dll | Funções de compressão de ZLib | Integrado desde o PHP 4.3.0

Command Line PHP on Microsoft Windows

This section contains notes and hints specific to getting PHP running from the command line for Windows.

Nota:

You should read the manual installation steps first!

Getting PHP to run from the command line can be performed without making any changes to Windows.

C:\PHP5\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3

But there are some easy steps that can be followed to make this simpler. Some of these steps should already have been taken, but are repeated here to be able to provide a complete step-by-step sequence.

    Nota:

    Both PATH and PATHEXT are important pre-existing system variables in Windows, and care should be taken to not overwrite either variable, only to add to them.

  • Append the location of the PHP executable (php.exe, php-win.exe or php-cli.exe depending upon your PHP version and display preferences) to the PATH environment variable. Read more about how to add your PHP directory to PATH in the corresponding FAQ entry.

  • Append the .PHP extension to the PATHEXT environment variable. This can be done at the same time as amending the PATH environment variable. Follow the same steps as described in the FAQ but amend the PATHEXT environment variable rather than the PATH environment variable.

    Nota:

    The position in which you place the .PHP will determine which script or program is executed when there are matching filenames. For example, placing .PHP before .BAT will cause your script to run, rather than the batch file, if there is a batch file with the same name.

  • Associate the .PHP extension with a file type. This is done by running the following command:

    assoc .php=phpfile

  • Associate the phpfile file type with the appropriate PHP executable. This is done by running the following command:

    ftype phpfile="C:\PHP5\php.exe" -f "%1" -- %~2

Following these steps will allow PHP scripts to be run from any directory without the need to type the PHP executable or the .PHP extension and all parameters will be supplied to the script for processing.

The example below details some of the registry changes that can be made manually.

Exemplo #24 Registry changes

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.php]
@="phpfile"
"Content Type"="application/php"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile]
@="PHP Script"
"EditFlags"=dword:00000000
"BrowserFlags"=dword:00000008
"AlwaysShowExt"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\DefaultIcon]
@="C:\\PHP5\\php-win.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell]
@="Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open]
@="&Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open\command]
@="\"C:\\PHP5\\php.exe\" -f \"%1\" -- %~2"

With these changes the same command can be written as:

"C:\PHP Scripts\script" -arg1 -arg2 -arg3
or, if your "C:\PHP Scripts" path is in the PATH environment variable:
script -arg1 -arg2 -arg3

Nota:

There is a small problem if you intend to use this technique and use your PHP scripts as a command line filter, like the example below:

dir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3
or
dir | script -arg1 -arg2 -arg3
You may find that the script simply hangs and nothing is output. To get this operational, you need to make another registry change.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"InheritConsoleHandles"=dword:00000001
Further information regarding this issue can be found in this » Microsoft Knowledgebase Article : 321788. As of Windows 10, this setting seems to be reversed, making the default install of Windows 10 support inherited console handles automatically. This » Microsoft forum post provides the explanation.


  • « Installation on old Windows systems
  • Azure App Services »
  • PHP Manual
  • Instalação e Configuração
  • Instalação em Plataformas de Computação em Nuvem

Instalação em Plataformas de Computação em Nuvem

Índice

  • Azure App Services
  • Amazon EC2

É possível instalar o PHP na nuvem. Para a nuvem PHP!


Azure App Services

O PHP é freqüentemente usado no Azure App Services (também conhecido como Microsoft Azure, Windows Azure, Azure Web Apps).

O Azure App Services gerencia pools de Servidores Web Windows para hospedar sua aplicação web, como uma alternativa ao gerenciamento do seu próprio servidor web em suas próprias VMs Azure Compute ou outros servidores.

O PHP já está automaticamente habilitado para o seu site web do Azure App Services. No Portal Azure, selecione seu site web e você poderá escolher qual versão do PHP usar. Você pode querer escolher uma versão mais recente que a padrão.

Como tal, o PHP e suas extensões será executado no Azure App Services, assim como será em outros servidores Windows. Grande parte da base de conhecimento também é portável, então veja a Página de Solução de Problemas do Windows também. No entanto, a interface de gerenciamento para o Azure App Services é diferente:

  • Portal Azure: crie, edite configurações e delete sites web. » Portal Azure

  • Dashboard Kudu: se o seu site é [nome do seu site web].azurewebsites.net, então, o dashboard Kudu é » https://[nome do seu site web].scm.azurewebsites.net/. O Dashboard dá acesso a algumas capacidades de depuração, gerenciamento de arquivos e extensões de site. As extensões de site são um mecanismo do Azure para adicionar programas extras, como compilações de preview do PHP, ao seu site web.

  • Você não pode usar o Gerenciador do IIS, o Gerenciador de Servidores ou o RDP.

Há também um SDK do PHP para programaticamente usar vários Azure Services a partir do seu código PHP. Veja o » Azure SDK para PHP.

Para obter mais informações, consulte o » Centro de Desenvolvedores PHP do Azure

WinCache

O WinCache está habilitado por padrão no Azure App Services e é recomendado que você o mantenha habilitado. Se você instalar sua própria compilação do PHP, você deve habilitar o WinCache nela também.

Compilação Customizada do PHP

Você pode fazer o upload de sua própria compilação do PHP para o seu D:\Home (C:\ NÃO é gravável). Em seguida, no Portal Azure, defina SCRIPT_PROCESSOR para .php como o caminho absoluto para o arquivo php-cgi.exe na sua compilação.


  • « Azure App Services
  • FastCGI Process Manager (FPM) »
  • PHP Manual
  • Instalação em Plataformas de Computação em Nuvem
  • Amazon EC2

Amazon EC2

É possível instalar o PHP na » plataforma em nuvem EC2.

Veja também o » AWS SDK para PHP.


FastCGI Process Manager (FPM)

Índice

  • Instalação
  • Configuração

FPM (FastCGI Process Manager) é uma alternativa para a implementação PHP FastCGI com algumas features adicionais (principalmente) usado em sites pesados.

Entre as features estão incluidas:

  • gerenciamento de processos avançado com stop/start;

  • habilidade para começar a trabalhar com uid/gid/chroot/environment diferentes, ouvindo em diferentes portas e últilizando-se de php.ini destintos (troca de safe_mode);

  • stdout e stderr logging;

  • reinício de emergência em caso de destruição acidental de opcode cache;

  • acelera o processo de upload;

  • "slowlog" - os scripts de registro (e não apenas seus nomes, mas o seu PHP backtraces também, usando ptrace e coisas semelhantes para o processo de leitura remota execute_data) que são executados extraordinariamente lento;

  • fastcgi_finish_request() - função especial para finalizar pedido e liberar todos os dados ao mesmo tempo continuando a fazer algo demorado (conversão de vídeo, processamento de estatísticas, etc);

  • dinâmico/estático child spawning;

  • informações básicas de estatus do SAPI (similar ao Apache mod_status);

  • php.ini-baseado em arquivos de configurações.


Instalação

Compilando dos fontes

Para habilitar o FPM na sua compilação do PHP você deve adicionar --enable-fpm à sua linha de configuração

Há várias outras opções de configuração específicas para o FPM (todas opcionais):

  • --with-fpm-user - configura o usuário FPM (padrão - nobody).

  • --with-fpm-group - configura o grupo FPM (padrão - nobody).

  • --with-fpm-systemd - Ativa a integração com o systemd (padrão - no).

  • --with-fpm-acl - Usa Access Control Lists do POSIX (padrão - no). Desde a versão 5.6.5.


Configuração

FPM usa a sintaxe do php.ini para arquivos de configuração - php-fpm.conf, e arquivos de configurações de rotinas.

Lista de diretivas globais php-fpm.conf

pid string

Caminho para o arquivo PID. Valor padrão: nenhum.

error_log string

Caminho para o arquivo de log de erro. Valor padrão: #INSTALL_PREFIX#/log/php-fpm.log. Se configurado com "syslog", o log será enviado para o syslogd ao invés de ser escrito em uma arquivo local.

log_level string

Nível de log de erro. Valores possíveis: alert, error, warning, notice, debug. Valor padrão: notice.

syslog.facility string

usado para especificar que tipo de programa está logando a mensagem. Valor Padrão: daemon.

syslog.ident string

No início de todas as mensagens. Se possuir múltiplas instâncias do FPM rodando no mesmo servidor, pode-se modificar o valor padrão para adaptar-se às necessidades. Valor padrão: php-fpm.

emergency_restart_threshold int

Se esse número de processos filho sair com SIGSEGV ou SIGBUS dentro do intervalo de tempo definido pelo emergency_restart_interval, o FPM será reiniciado. Um valor 0 significa 'Off'. Valor padrão: 0 (desligado).

emergency_restart_interval mixed

Intervalo de tempo utilizado por emergency_restart_interval para determinar quando um reinício será feito. Pode ser útil para contornar corrupções acidentais em memória compartilhada de um acelerador. Unidades disponíveis: s(egundos), m(minutos), h(horas), ou d(ias). Unidade Padrão: seconds. Valor padrão: 0 (desligado).

process_control_timeout mixed

Prazo para processos filhos para esperar uma reação em sinais de mestre. Unidades disponíveis: s(egundos), m(minutos), h(horas), ou d(ias) Unidade Padrão: seconds. Valor padrão: 0.

process.max int

O número máximo de processos que o FPM criará. Projeto para controlar o número global de processos ao utilizar PM dinâmico em várias rotinas. Utilize com cautela. Valor padrão: 0.

process.priority int

Especifica a prioridade nice(2) a ser aplicada ao processo mestre (se estiver configurado). O valor varia de -19 (maior prioridade) até 20 (menor prioridade). Valor padrão: não especificado.

daemonize boolean

Faz o FPM ser executado em segundo plano. Defina como 'no' para manter o FPM em primeiro plano, para fins de depuração. Valor padrão: yes.

rlimit_files int

Configura o descritor rlimit para abertura de arquivos no processo mestre. Valor padrão: Configura o descritor rlimit para abertura de arquivos no processo mestre.

rlimit_core int

Configura o tamanho do núcleo rlimit no processo mestre. Valor padrão: 0.

events.mechanism string

Especifica o mecanismo de eventos que o FPM utilizará. Os seguintes estão disponíveis: select, pool, epoll, kqueue (*BSD), port (Solaris). Valor padrão: não especificado (detectado automaticamente).

systemd_interval int

Quando o FPM for compilado com integração ao systemd, especifica o intervalo, em segundos, entre a notificação ao systemd. Defina com 0 para desabilitar. Valor padrão: 10.

Lista de diretivas de rotina

Com o FPM você pode executar várias rotinas de processos com configuração diferente. Essas são as configurações que podem ser otimizadas por cada rotina.

listen string

O endereço que aceita pedidos FastCGI. Sintaxes válidas são: 'ip.add.re.ss:port', 'port', '/path/to/unix/socket'. Esta opção é obrigatória em cada rotina.

listen.backlog int

Define o backlog listen(2) . O valor "-1" significa ilimitado. Valor padrão: -1.

listen.allowed_clients string

Lista de endereços IPv4 de clientes FastCGI que estão autorizados a conectar. Equivalente à variável de ambiente FCGI_WEB_SERVER_ADDRS no originais PHP FastCGI (5.2.2 +). Só faz sentido com um soquete de escuta TCP. Cada endereço deve ser separado por uma vírgula. Se este valor for deixado em branco, conexões serão aceitas a partir de qualquer endereço IP. Valor padrão: nenhum. Endereços IPv6 são permitidos desde o PHP 5.5.20 e 5.6.4

listen.owner string

Define permissões para socket unix, se utilizado. No Linux, permissões de leitura/gravação devem ser definidas de forma a permitir conexões a partir de um servidor web. Muitos sistemas derivados do BSD permitir conexões independentemente das permissões. Os valores padrão: usuários e grupos são definidos como o usuário que está executando, de modo está definido para 0660.

listen.group string

Veja listen.owner.

listen.mode string

Veja listen.owner.

listen.acl_users string

Quando o suporte ao Access Control Lists POSIX for suportado, pode-se configurá-lo utilizando esta opção. Ao configurá-lo, listen.owner e listen.group serão ignorados. Seu valor é uma lista de nomes de usuários, separada por vírgula. Desde o PHP 5.6.5.

listen.acl_groups string

Veja listen.acl_users. Seu valor é uma lista de nomes de grupo, separada por vírgula. Desde o PHP 5.6.5.

user string

Usuário Unix dos processos FPM. Esta opção é obrigatória.

group string

Grupo Unix dos processos FPM. Se não for definido, o grupo do usuário padrão será utilizado.

pm string

Escolha como o gerenciador de processos controlará o número de processos filhos. Valores possíveis: static, ondemand, dynamic. Esta opção é obrigatória.

static - o número de processos filho é fixo (pm.max_children).

ondemand - os processos sob demanda (quando solicitado, em oposição a dinâmica, então pm.start_servers são iniciadas quando o serviço é iniciado.

dynamic - o número de processos filhos são definidos dinamicamente com base nas seguintes diretrizes: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.

pm.max_children int

O número de processos filhos que podem ser criados quando pm está configurado como static e o número máimo de processos filhos podem ser criados quando pm está configurado como dynamic. Essa opção é obrigatória.

Esta opção define o limite para o número de solicitações simultâneas que será servida. Equivalente à directiva ApacheMaxClients com mpm_prefork e ao PHP_FCGI_CHILDREN variável de ambiente no originais PHP FastCGI.

pm.start_servers in

O número de processos filhos criados na inicialização. Usado apenas quando pm é configurado em dynamic. Valor padrão: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.

pm.min_spare_servers int

O número mínimo desejado de processos servidores inativos. Usado apenas quando pm está configurado como dynamic. Também obrigatório neste caso.

pm.max_spare_servers int

O número máximo desejado de processos servidores inativos. Usado apenas quando pm está configurado como dynamic. Também obrigatório neste caso.

pm.max_requests int

O número de solicitações de cada processo filho deve ser executado antes respawning. Isto pode ser útil para contornar falhas de memória de bibliotecas de terceiro partido. Para o processamento de pedido interminável especificar '0 '. equivalente a PHP_FCGI_MAX_REQUESTS. Valor padrão: 0.

pm.status_path string

O URI para visualizar a página de status do FPM. Se este valor não for definido, não URI será reconhecida como uma página de estado. Valor padrão: nenhum.

ping.path string

O URI ping para chamar a página de FPM de monitoramento. Se este valor não é definido, nenhuma URI será reconhecido como uma página de ping. Isto poderia ser usado para testar de fora que FPM está vivo e responder. Por favor, note que o valor deve começar com uma barra à esquerda (/).

ping.response string

Esta diretiva pode ser usado para personalizar a resposta a um pedido ping. A resposta é formatada como text/plain com uma resposta de código 200. Valor padrão: pong.

request_terminate_timeout mixed

O tempo limite para servir um único pedido após o qual o processo trabalha serão encerradas. Esta opção deve ser usada quando o 'max_execution_time', opção do arquivo ini não parar a execução do script por algum motivo. Um valor de '0', significa 'Off'. Unidades disponíveis: s(econds) (padrão), m(inuts), h(our), ou d(ays). Valor padrão: 0.

request_slowlog_timeout mixed

O tempo limite para servir um único pedido depois que um rastreamento PHP serão despejados para o arquivo 'slowlog. Um valor de '0 'significa' Off '. Unidades disponíveis: s(egundos)(padrão), m(inutos), h(oras), or d(dias). Valor padrão: 0.

slowlog string

O arquivo de log de solicitações lentas. Valor padrão: #INSTALL_PREFIX#/log/php-fpm.log.slow.

rlimit_files int

Define o descritor de arquivo de abertura rlimit. Valor padrão: valor definido pelo sistema.

rlimit_core int

Defina o tamanho do núcleo máxímo do rlimit. Valores possíveis: 'unlimited' ou um número inteiro maior ou igual a 0. Valor padrão: valor definido pelo sistema.

chroot string

Chroot neste diretório, na inicialização. Este valor deve ser definido como um caminho absoluto. Quando este valor não está definido, chroot não é usado.

chdir string

Chdir neste diretório, na inicialização. Este valor deve ser um caminho absoluto. Valor padrão: diretório atual ou / ao chroot.

catch_workers_output boolean

Redirecionar stdout e stderr no log de erro principal. Se não for definido, stdout e stderr serão redirecionadas para /dev/null de acordo com especificações FastCGI. Valor padrão: no.

clear_env boolean

Limpa o ambiente dos workers do FPM. Previne que variáveis de ambiente arbitrárias alcancem os processos dos workers do FPM limpando o ambiente nos workers antes das variáveis de ambientes desta rotina serem adicionadas. Disponível desde o PHP PHP 5.4.27, 5.5.11, e 5.6.0. Valor padrão: Yes.

security.limit_extensions string

Limita as extensões que o script principal do FPM possui permissão a analisar. Evita problemas de configurações no servidor de aplicação. Você deve limitar as extensões do FPM a somente o .php para evitar que usuários maliciosos utilizem outras extensões para executar códigos php. Valor padrão: .php.

É possível passar variáveis de ambiente adicionais e atualizar as configurações do PHP de uma determinada rotina. Para fazer isso, precisa-se adicionar as seguintes opções no arquivo de configuração da rotina.

Exemplo #1 Passando variáveis de ambiente e configurações do PHP para a rotina

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 32M
Configurações do PHP feitas com php_value ou php_flag irão sobrescrever o valor anterior. Por favor, note que a definição de disable_functions ou disable_classes não irá substituir os valores previamente definidos no php.ini, mas adicionará o novo valor em seu lugar.

Configurações definidas com php_admin_value e php_admin_flag não podem ser sobrescritas com ini_set().

A partir de 5.3.3, configurações do PHP também podem ser definidas no servidor.

Exemplo #2 definir as configurações de PHP no nginx.conf

set $php_value "pcre.backtrack_limit=424242";
set $php_value "$php_value \n pcre.recursion_limit=99999";
fastcgi_param  PHP_VALUE $php_value;

fastcgi_param  PHP_ADMIN_VALUE "open_basedir=/var/www/htdocs";
Cuidado

Como essas configurações são passadas para php-fpm como cabeçalhos FastCGI, php-fpm não deve ser vinculado a um endereço acessível. Caso contrário, qualquer um poderá alterar as opções de configuração do PHP. veja também listen.allowed_clients.


Instalação das extensões PECL

Índice

  • Introdução para instalações PECL
  • Baixando extensões PECL
  • Instalando uma extensão PHP no Windows
  • Compilando extensões compartilhadas PECL com o comando pecl
  • Compilando extensões compartilhadas PECL com phpize
  • php-config
  • Compilando extensões PECL estaticamente no PHP


Introdução para instalações PECL

» PECL é um repositório de extensões PHP que estão disponíveis à você pelo sistema de pacote » PEAR. Essa seção do manual é destinada para demonstrar como obter e instalar extensões PECL.

Essas instruções presumem que /your/phpsrcdir/ seja o caminho para o código-fonte do PHP, e extname é o nome da extensão PECL. Ajuste de acordo com suas necessidades. Essas instruções também presumem uma familiaridade com o » comando pear. A informação no manual do PEAR para o comando pear também se aplica ao comando pecl.

Para ser útil, uma extensão deve ser compilada, instalada e carregada. Os métodos descritos abaixo descrevem várias instruções de como compilar e instalar as extensões, mas elas não são carregadas automaticamente. Extensões pode ser carregadas adicionando uma diretiva extension no arquivo php.ini ou pelo uso da função dl().

Quando montar módulos do PHP, é importante ter as versões apropriadas das ferramentas requiridas (autoconf, automake, libtool, etc). Veja as Instruções para leitura anônima do CVS para detalhes sobre as ferramentas e versões necessárias.


Baixando extensões PECL

Existem várias opções para baixar extensões PECL, tais como:

  • O comando pecl install extname baixa as extensões automaticamente, assim não é necessário downloads separados.
  • » https://pecl.php.net/ O web site do PECL contém informação sobre as várias extensões que são disponibilizadas pelo Time de Desenvolvimento do PHP. As informações disponíveis aqui são: ChangeLog, informação de release, requerimentos e outros detalhes similares.
  • pecl download extname Extensões PECL que têm releases listadas no web-site do PECL estão disponíveis para download e instalação usando o » comando pecl. Revisões específicas também podem ser especificadas.
  • SVN A maioria das extensões PECL também residem no CVS. Uma visualização web pode ser acessado em cvs.php.net/pecl. Para baixar direto do SVN, os seguintes comandos podem ser usados:

    $ svn checkout http://svn.php.net/repository/pecl/extname/trunk extname

  • Downloads do Windows O Projeto PHP compila e oferece DLLs Windows para a maioria das extensões PECL de suas respectivas páginas.


Instalando uma extensão PHP no Windows

No Windows há duas maneiras de carregar uma extensão PHP: compilando-a no PHP ou carregando por DLL. Carregar uma extensão pré-compilada é a maneira mais fácil e preferível.

Para carregar uma extensão é necessária o arquivo ".dll" apropriado para o seu sistema. Todas as extensões são automaticamente e periodicamente compiladas pelo PHP Group. (veja na próxima seção como baixar).

Para compilar uma extensão no PHP, veja a documentação sobre compilação de código fonte.

Para compilar uma extensão apenas (um arquivo DLL), veja a documentação compilação de código fonte. Se a DLL não estiver anteriormente disponível e nem distribuída no PHP ou PECL, você precisará compila-la antes de usar a extensão.

Onde encontrar uma extensão?

Extensões do PHP normalmente tem o nome "php_*.dll" (onde o asterisco representa o nome da extensão) e elas estão localizadas na pasta "PHP\ext".

O PHP vem acompanhando das extensões mais utilizadas pela maioria dos desenvolvedores. São as chamadas extensões "core" do PHP.

Entretanto, se você precisa de uma funcionalidade não provida por uma extensão core, você ainda pode encontrá-la no PECL. A PHP Extension Community Library (PECL) é um repositório de extensões PHP, que provê um ambiente para todas as extensões conhecidas e hospedagem do downdload e desenvolvimento de extensões PHP.

Se você desenvolveu uma extensão para seus próprios usos, você pode desejar hospedá-la no PECL de forma que outros desenvolvedores com as mesmas necessidades podem se beneficiar do seu tempo. Um belo efeito colateral é que que você pode receber feedbacks, agradecimentos, avisos de erros e até mesmo correções/patchs. Antes de submeter sua extensão para hospedagem no PECL, leia o » Submissão ao PECL.

Qual extensão baixar?

Algumas vezes você encontrará várias versões de uma DLL:

  • Versões numéricas diferentes (pelo menos os dois primeiros números devem bater)
  • Versões de thread safety diferentes
  • Arquiterturas de processador diferentes (x86, x64, ...)
  • Configurações de debug diferentes
  • etc.

Você deve ter em mente que sua extensão precisa bater com todas as configurações do executável do PHP que está utilizando. O scripte seguinte lhe dirá todas as configurações:

Exemplo #1 A função phpinfo()

<?php
phpinfo();
?>

Ou, na linha de comando, execute:

drive:\\path\to\php\executable\php.exe -i

Carregando uma extensão

O jeito mais comum de carregar uma extensão é incluí-la no seu arquivo php.ini. Veja que muitos extensões já podem estar presentes no php.ini e só é preciso remover o ponto e vígula para ativá-las.

;extension=php_extname.dll

extension=php_extname.dll

Em alguns servidores web podem não utilizar o arquivo php.ini disponibilizado ao lado do seu executável do PHP. Para saber qual php.ini está sendo utilizado veja seu caminho através da função phpinfo():

Configuration File (php.ini) Path  C:\WINDOWS

Loaded Configuration File   C:\Program Files\PHP\5.2\php.ini

Após ativar uma extensão, salve o arquivo php.ini, reinicie o servidor web e verifique o phpinfo() novamente. A nova extensão deve aparecer em uma seção própria.

Resolvendo problemas

Se uma extensão não aparecer no phpinfo() você deve checar seus logs para ver qual problema ocorre.

Se está usando o PHP da linha de comando (CLI), erros de carregamento de extensãopodem ser lidos diretamente na tela.

Se estiver utilizando o PHP através de um servidor web, a localização e formato dos logs irão variar dependendo desse software. Veja a documentação do servidor web para localizar os logs, pois isso não tem a ver com o PHP em si.

Problemas comuns são o caminho do arquivo DLL, o valor da configuração " extension_dir" dentro do php.ini e diferenças de configurações de compilação.

Se o problema for em diferenças de configurações de compilação, você provavelmente não baixou a DLL correta. Tente baixar novamente a extensão com as configurações corretas. Novamente o phpinfo() é de grande ajuda.


Compilando extensões compartilhadas PECL com o comando pecl

PECL torna fácil criar extensões compartilhadas do PHP. Usando o » comando pecl, faça o seguinte:

$ pecl install extname

Isso baixará o código-fonte de extname, compilará e instalará extname.so no seu extension_dir. extname.so pode, então, ser carregado no arquivo php.ini

Por padrão, o comando pecl não instalará pacotes que estão marcados como alpha ou beta. Se nenhum pacote estável estiver disponível, você pode instalar um pacote beta usando o seguinte comando:

$ pecl install extname-beta

Você também pode instalar uma versão específica, usando essa forma:

$ pecl install extname-0.1

Nota:

Depois de habilitada a extensão no php.ini, reiniciar o servidor web é requerido para as modificações funcionarem.


Compilando extensões compartilhadas PECL com phpize

Algumas vezes, usar o instalador pecl não é uma opção. Isso pode acontecer se você estiver atrás de um firewall, ou porque a extensão que você quer instalar não está disponível como um pacote compatível com PECL, por exemplo, extensões ainda sem release no CVS. Se você precisar compilar tal extensão, você pode usar as ferramentas de compilação de baixo nível para realizar a compilação manualmente.

O comando phpize é usado para preparar o ambiente de compilação para uma extensão do PHP. No exemplo seguinte, os fontes para uma extensão estão em um diretório com nome extname:

$ cd extname
$ phpize
$ ./configure
$ make
# make install

Uma instalação bem sucedida criará um arquivo extname.so e o colocará no diretório de extensões do PHP. Você precisará ajustar o arquivo php.ini e acidionar uma linha extension=extname.so antes de usar a extensão.

Se o sistema não tiver o comando phpize, e pacotes pré-compilados são usados (como RPM's), certifique-se de instalar a versão devel apropriada do pacote do PHP, uma vez que eles freqüentemente contém o comando phpize assim como os arquivos de cabeçalho para compilar o PHP e suas extensões.

Execute phpize --help para mostra informações de uso adicionais.


php-config

O php-config é um script shell para obter informações sobre as configurações do PHP instalado.

Ao compilar extensões, se tiver várias versões do PHP instalado, você pode especifica para qual instalação deseja compilar utilizando a opção --with-php-config durante a configuração, informando aí o caminho do php-config respectivo.

A lista de opções fornecida pelo script php-config pode ser obtida rodando o comando com a opção -h:

Usage: /usr/local/bin/php-config [OPTION]
Options:
  --prefix            [...]
  --includes          [...]
  --ldflags           [...]
  --libs              [...]
  --extension-dir     [...]
  --include-dir       [...]
  --php-binary        [...]
  --php-sapis         [...]
  --configure-options [...]
  --version           [...]
  --vernum            [...]

Opções de linha de comando
Opção | Descrição
--prefix | Diretório onde o PHP está instalado, por exemplo /usr/local
--includes | Lista a opção -I com todos os arquivos incluídos
--ldflags | As flags LD com as quais o PHP foi compilado
--libs | Bibliotecas extras compiladas junto ao PHP
--extension-dir | Diretório de extensões utilizadas no carregamento por padrão
--include-dir | Diretório padrão onde arquivos header são instalados por padrão
--php-binary | O caminho completo para o binário CLI ou CGI
--php-sapis | Mostra todas as SAPIs disponíveis
--configure-options | Opções de configuração para recriar a configuração da atual instalação
--version | PHP version
--vernum | PHP version as integer


Compilando extensões PECL estaticamente no PHP

Você pode decidir que precisa montar uma extensão PECL estaticamente no seu binário do PHP. Para isso, você precisará colocar os fontes da extensão no diretório php-src/ext/ e dizer para o sistema de montagem do PHP para regenerar o script configure.

$ cd /your/phpsrcdir/ext
$ pecl download extname
$ gzip -d < extname.tgz | tar -xvf -
$ mv extname-x.x.x extname

Isso resultará no seguinte diretório:

/your/phpsrcdir/ext/extname

Daqui, faça o PHP reconstruir o script configure e monte o PHP normalmente:

$ cd /your/phpsrcdir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install

Nota: Para executar o script 'buildconf' você precisa de autoconf 2.13 e automake 1.4+ (versões mais novas do autoconf podem funcionar, mas não são suportadas).

Se --enable-extname ou --with-extname são usadas depende da extensão. Tipicamente, uma extensão que não requer bibliotecas externa usa --enable. Para ter certeza, rode o seguinte comando após buildconf:

$ ./configure --help | grep extname


  • « Compilando extensões PECL estaticamente no PHP
  • Leia o FAQ »
  • PHP Manual
  • Instalação e Configuração
  • Problemas?

Problemas?

Índice

  • Leia o FAQ
  • Outros problemas
  • Relatos de Bug


Leia o FAQ

Alguns problemas são mais comuns que outros. Os mais comuns estão listados no FAQ do PHP, parte desse manual.


Outros problemas

Se você ainda estiver sem solução, alguém na lista de e-mail de instalação do PHP pode te ajudar. Você deve checar o histórico de mensagens antes, no caso de alguém já ter respondido outra pessoa que tenha tido o mesmo problema que você. Os históricos estão disponíveis na página de suporta em » https://www.php.net/support.php. Para se inscrever na lista de e-mail de instalação do PHP, envie um e-mail vazio para » php-install-subscribe@lists.php.net. O endereço da lista de e-mail é » php-install@lists.php.net.

Se você quiser pedir ajuda na lista de e-mail, por favor, tente ser preciso e dar os detalhes necessários sobre seu ambiente (qual sistema operacional, que versão do PHP, qual servidor web, se você está executando PHP com CGI ou módulo de servidor, safe mode, etc...), e, de preferência, código suficiente para permitir que outros reproduzam e testem seu problema.


Relatos de Bug

Se você acha que encontrou um bug (falha) no PHP, por favor, relate. Os desenvolvedores do PHP provavelmente não sabem sobre ele, e, a não ser que você o relate, provavelmente ele não será reparado. Você pode relatar bugs usando o sistema de caça-bugs em » https://bugs.php.net/. Por favor, não mande relatos de bug nas listas de e-mail ou e-mails pessoais. O sistema de bugs também é adequado para o envio de requisição de características (features).

Leia o documento » Como relatar um bug antes de enviar qualquer relato de bug!


Configuração em tempo de execução

Índice

  • O arquivo de configuração
  • Arquivos .user.ini
  • Onde uma configuração deve ser definida
  • Como mudar as configurações


O arquivo de configuração

O arquivo de configuração (php.ini) é lido quando o PHP inicia. Para as versões de módulo de servidor, isso acontece apenas quando o servidor web for iniciado. Para as versões CGI e CLI, isso acontece a cada invocação.

php.ini é procurado nesses lugares (na ordem):

  • Local específico do módulo SAPI (diretiva PHPIniDir no Apache 2, opção de linha de comando -c no CGI e CLI, parâmetro php_ini no NSAPI, variável de ambiente PHP_INI_PATH no THTTPD)
  • A variável de ambiente PHPRC. Antes do PHP 5.2.0, isso era verificado após as chaves do registro mencionada abaixo.
  • A partir do PHP 5.2.0, a localização do arquivo php.ini pode ser definida para versões diferentes do PHP. As seguintes chaves do registro são examinadas na ordem: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] e [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x], onde x, y e z significam a versão maior, menor e release do PHP. Se houver um valor para IniFilePath nestas chaves, então o primeiro encontrado será utilizado para a localização do php.ini (apenas Windows).
  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP], valor de IniFilePath (Somente Windows).
  • Diretório de trabalho atual (exceto CLI)
  • O diretório do servidor web (para módulo SAPI), ou diretório do PHP (caso contrário, no Windows).
  • Diretório do Windows (C:\windows ou C:\winnt) (para Windows), ou a opção de tempo de compilação --with-config-file-path .

Se php-SAPI.ini existe (onde SAPI é o SAPI usado, então o nome de arquivo é, por exemplo, php-cli.ini ou php-apache.ini), é usado ao invés do arquivo php.ini. O nome SAPI pode ser determinado pela função php_sapi_name().

Nota:

O servidor web Apache muda o diretório para raiz durante a inicialização, causando com que o PHP tente ler o arquivo php.ini da raiz do arquivo de sistema, se ele existir.

O uso de variáveis de ambiente podem ser usadas no php.ini como mostrado abaixo.

Exemplo #1 php.ini Variáveis de ambiente

; PHP_MEMORY_LIMIT is taken from environment
memory_limit = ${PHP_MEMORY_LIMIT}

As diretivas do arquivo php.ini tratadas por extensões são documentadas nas respectivas páginas das próprias extensões. A lista de diretivas principais está disponível no apêndice. Nem todas as diretivas do PHP estão documentadas no manual. Para uma lista completa das diretivas disponíveis na sua versão do PHP, por favor leia seu arquivo php.ini. Alternativamente, você pode encontrar » a última versão do php.ini no Git, que também pode ser útil.

Exemplo #2 Exemplo de arquivo php.ini

; any text on a line after an unquoted semicolon (;) is ignored
[php] ; section markers (text within square brackets) are also ignored
; Boolean values can be set to either:
;    true, on, yes
; or false, off, no, none
register_globals = off
track_errors = yes

; you can enclose strings in double-quotes
include_path = ".:/usr/local/lib/php"

; backslashes are treated the same as any other character
include_path = ".;c:\php\lib"

A partir do PHP 5.1.0, é possível acessar as variáveis .ini dentro dos arquivos .ini. Exemplo: open_basedir = ${open_basedir} ":/new/dir".

Configuração em diretório

É possível configurar o PHP para procurar por arquivos .ini em um diretório após a leitura do php.ini. Isto é possível na compilação pela configuração da opção --with-config-file-scan-dir. No PHP 5.2.0 e posterior, o diretório de configuração pode ser sobrescrito em tempo de execução através da configuração da variável de ambiente PHP_INI_SCAN_DIR.

É possível procurar em vários diretórios os separando com o delimitador específico da plataforma (; no Windows, NetWare e RISC OS; : em todas as outras plataformas; o PHP utilizará a constante PATH_SEPARATOR). Se um diretório em branco estiver informado em PHP_INI_SCAN_DIR, o PHP também procurará pelo diretório informado na diretiva de compilação --with-config-file-scan-dir.

Dentro de cada diretório o PHP irá pesquisar todos os arquivos terminados em .ini em ordem alfabetica. A lista de arquivos é carregada, e nessa ordem são interpretados com uma chamada a php_ini_scanned_files(), o por rodar o PHP com a opção --ini.

Assumindo que o PHP foi configurado com --with-config-file-scan-dir=/etc/php.d,
e o separador de caminho é :

$ php
  PHP irá carregar todos os arquivos de configuração em in /etc/php.d/*.ini.

$ PHP_INI_SCAN_DIR=/usr/local/etc/php.d php
  PHP irá carregar todos os arquivos de configuração em /usr/local/etc/php.d/*.ini.

$ PHP_INI_SCAN_DIR=:/usr/local/etc/php.d php
  PHP irá carregar todos os arquivos de configuração em /etc/php.d/*.ini, e então em
  /usr/local/etc/php.d/*.ini.

$ PHP_INI_SCAN_DIR=/usr/local/etc/php.d: php
  PHP irá carregar todos os arquivos de configuração em /usr/local/etc/php.d/*.ini, e então em
  /etc/php.d/*.ini.

Changelog

Versão | Descrição
7.0.0 | Marcas de hash (#) não são mais consideradas comentários.
5.3.0 | Marcas de hash (#) não devem ser ser utilizadas como comentários e gerarão alertas.
5.1.0 | É possível referenciar variáveis .ini existentes dentro de arquivos .ini .


Arquivos .user.ini

A partir do PHP 5.3.0, o PHP tem suporte para arquivos de configuração INI por cada diretório. Esses arquivos são processados apenas pelo CGI/FastCGI SAPI. Essa funcionalidade torna obsoleta a extensão PECL htscanner. Se você está usando Apache, use arquivos .htaccess para o mesmo efeito.

Além do arquivo php.ini principal, o PHP procura por arquivos INI em cada diretório, iniciando no diretório do arquivo PHP requisitado e continua o caminho até a raiz do documento atual (conforme definido na variável $_SERVER['DOCUMENT_ROOT']). Caso o arquivo PHP esteja fora da raiz do documento, apenas o seu diretório é procurado.

Somente configurações INI com os modos PHP_INI_PERDIR e PHP_INI_USER serão reconhecidos nos arquivos INI estilo .user.ini.

Duas novas diretivas INI, user_ini.filename e user_ini.cache_ttl controlam o uso de arquivos INI de usuário.

A user_ini.filename define o nome do arquivo que o PHP procura em cada diretório; se for definido como uma string vazia, o PHP não fará a varredura em tudo. O padrão é .user.ini.

user_ini.cache_ttl controla a frequência de como os arquivos INI de usuário são relidos. O padrão é 300 segundos (5 minutos).


Onde uma configuração deve ser definida

Estes modos determinam quando e onde uma diretiva do PHP pode ou não pode ser definida, e cada diretiva no manual faz referencia a um destes modos. Por exemplo, algumas definições podem ser feitas em um script PHP usando ini_set(), enquanto outras só podem ser feitas no php.ini ou httpd.conf.

Por exemplo, a configuração output_buffering é PHP_INI_PERDIR portanto não pode ser definida usando ini_set(). Entretanto a diretiva display_errors é PHP_INI_ALL portanto pode ser definida em qualquer lugar com ini_set().

Definição dos modos PHP_INI_*
Modo | Significado
PHP_INI_USER | A entrada pode ser definida nos scripts do usuário (com ini_set()) ou no registro do Windows. Desde o PHP 5.3 a entrada pode ser definida no .user.ini
PHP_INI_PERDIR | A entrada pode ser definida no php.ini, .htaccess, httpd.conf ou .user.ini (desde o PHP 5.3)
PHP_INI_SYSTEM | A entrada pode ser definida no php.ini ou httpd.conf
PHP_INI_ALL | A entrada pode ser definida em qualquer lugar


Como mudar as configurações

Executando PHP como módulo do Apache

Quando usar o PHP como módulo do Apache, você pode mudar as configurações usando diretivas nos arquivos de configuração do Apache (ex.: httpd.conf e .htaccess). Você precisará de privilégios "AllowOverride Options" ou "AllowOverride All" para fazer isso.

Há várias diretivas do Apache que permitem que você mude a configuração do PHP de dentro dos arquivos de configuração do Apache. Para uma lista de quais diretivas são PHP_INI_ALL, PHP_INI_PERDIR, or PHP_INI_SYSTEM, olhe no apêndice Lista de diretivas do arquivo php.ini.

php_value nome valor

Define o valor da diretiva especificada. Pode ser usado apenas com diretivas do tipo PHP_INI_ALL e PHP_INI_PERDIR. Para limpar um valor definido anteriormente, use o valor none.

Nota: Não use php_value para definir valores booleanos. A diretiva php_flag deve ser usada (veja abaixo).

php_flag nome on|off

Usado para definir uma diretiva de configuração booleana. Pode ser usada apenas com diretivas dos tipos PHP_INI_ALL e PHP_INI_PERDIR.

php_admin_value nome valor

Define o valor da diretiva especificada. Essa diretiva não pode ser usada em arquivos .htaccess. Qualquer tipo de diretiva definido com php_admin_value não pode ser sobrescrito pelo .htaccess ou pela função ini_set(). Para limpar um valor definido anteriormente, use o valor none.

php_admin_flag nome on|off

Usado para definir uma diretiva de configuração booleana. Essa diretiva não pode ser usada em arquivos .htaccess. Qualquer tipo de diretiva definido com php_admin_flag não pode ser sobrescrito pelo .htaccess ou pela função ini_set().

Exemplo #1 Exemplo de configuração do Apache

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>
<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>

Cuidado

Constantes PHP não existem fora do PHP. Por exemplo, no arquivo httpd.conf você não pode usar constantes do PHP como E_ALL ou E_NOTICE para definir a diretiva error_reporting, já que elas não terão significado algum e serão avaliadas como 0. Ao invés disso, use os valores de bitmask associados. Essas constantes podem ser usados no php.ini

Mudando configuração do PHP através do registro do Windows

Quando executar o PHP no Windows, os valores de configuração podem ser modificados para cada diretório, usando o registro do Windows. Os valores de configuração são armazenados na chave de registro HKLM\SOFTWARE\PHP\Per Directory Values, nas sub-chaves correspondentes aos caminhos dos diretórios. Por exemplo, valores para o diretório c:\inetpub\wwwroot estariam armazenados na chave HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot. As configurações para o diretório estariam ativas para qualquer script rodando nesse diretório ou qualquer subdiretório dele. Os valores na chave devem ter o nome da diretiva de configuração do PHP e um valor string. Constantes PHP nos valores não são parseados. Entretanto, apenas valores de configuração modificáveis no PHP_INI_USER podem ser definidos desta forma, valores PHP_INI_PERDIR não podem.

Outras interfaces para PHP

Independente de como você execute PHP, você pode mudar certos valores durante a execução de seus scripts através da função ini_set(). Veja a documentação na página ini_set() para mais informações.

Se você estiver interessado na lista completa das configurações definidas no seu sistema com os valores atuais, você pode executar a função phpinfo(), e revisar a página resultante. Você pode também acessar os valores de configurações de diretivas individuais em tempo de execução usando as funções ini_get() ou get_cfg_var().


Referência da Linguagem

  • Sintaxe Básica
    • Tags PHP
    • Escapando o HTML
    • Separação de instruções
    • Comentários
  • Tipos
    • Introdução
    • Booleanos
    • Inteiros
    • Números de ponto flutuante
    • Strings
    • Arrays
    • Iterables
    • Objetos
    • Recursos
    • NULL
    • Callbacks / Callables
    • Type declarations
    • Pseudo-tipos e variáveis utilizadas nesta documentação
    • Manipulação de tipos
  • Variáveis
    • Básico
    • Variáveis Pré-definidas
    • Escopo de variáveis
    • Variáveis variáveis
    • Variáveis de fontes externas
  • Constantes
    • Sintaxe
    • Constantes Mágicas
  • Expressões
  • Operadores
    • Precedência de Operadores
    • Operadores Aritméticos
    • Operadores de Atribuição
    • Operadores bit a bit (bitwise)
    • Operadores de Comparação
    • Operadores de controle de erro
    • Operadores de Execução
    • Operadores de Incremento/Decremento
    • Operadores Lógicos
    • Operadores de String
    • Operadores de Arrays
    • Operadores de tipo
  • Estruturas de Controle
    • Introdução
    • if
    • else
    • elseif/else if
    • Sintaxe Alternativa para estruturas de controle
    • while
    • do-while
    • for
    • foreach
    • break
    • continue
    • switch
    • match
    • declare
    • return
    • require
    • include
    • require_once
    • include_once
    • goto
  • Funções
    • Funções definidas pelo usuário
    • Argumentos de funções
    • Retornando valores
    • Funções variáveis
    • Funções internas (built-in)
    • Funções anônimas
    • Arrow Functions
  • Classes e Objetos
    • Introdução
    • O básico
    • Propriedades
    • Constantes do Objeto
    • Autoloading Classes
    • Construtores e Destrutores
    • Visibilidade
    • Herança de Objetos=
    • Operador de Resolução de Escopo (::)
    • Palavra-Chave 'static'
    • Abstração de Classes
    • Interfaces de Objetos
    • Traits
    • Classes anônimas
    • Sobrecarga
    • Iteração de Objetos
    • Métodos Mágicos
    • final
    • Clonando objetos
    • Comparando objetos
    • Type Hinting
    • Late Static Bindings
    • Objetos e Referências
    • Serialização de Objetos - objetos em sessão
    • Log de modificações da POO
  • Namespaces
    • Namespaces overview
    • Defining namespaces
    • Declaring sub-namespaces
    • Defining multiple namespaces in the same file
    • Using namespaces: Basics
    • Namespaces and dynamic language features
    • namespace keyword and __NAMESPACE__ constant
    • Using namespaces: Aliasing/Importing
    • Global space
    • Using namespaces: fallback to global function/constant
    • Name resolution rules
    • FAQ: things you need to know about namespaces
  • Erros
    • Básico
    • Erros no PHP 7
  • Exceções
    • Estendendo exceções
  • Generators
    • Generators - Visão Geral
    • Sintaxe do Generator
    • Comparando generators com objetos Iterator
  • Attributes
    • Attributes overview
    • Attribute syntax
    • Reading Attributes with the Reflection API
    • Declaring Attribute Classes
  • Referências
    • O que são referências
    • O que as referências fazem
    • O que referências não são
    • Passagem por referência
    • Retornando referências
    • Destruindo referências
    • Demonstrando referências
  • Variáveis pré-definidas
    • Superglobais — Superglobais são variáveis nativas que estão sempre disponíveis em todos escopos
    • $GLOBALS — Referencia todas variáveis disponíveis no escopo global
    • $_SERVER — Informação do servidor e ambiente de execução
    • $_GET — HTTP GET variáveis
    • $_POST — HTTP POST variables
    • $_FILES — HTTP File Upload variáveis
    • $_REQUEST — Variáveis de requisição HTTP
    • $_SESSION — Variáveis de sessão
    • $_ENV — Environment variables
    • $_COOKIE — HTTP Cookies
    • $php_errormsg — A mensagem de erro anterior
    • $http_response_header — Cabeçalhos de resposta HTTP
    • $argc — O número de argumentos passados para o script
    • $argv — Array de argumentos passados para o script
  • Exceções pré-definidas
    • Exception
    • ErrorException
    • Error
    • ArithmeticError
    • AssertionError
    • DivisionByZeroError
    • ParseError
    • TypeError
  • Interfaces e Classes pré-definidas
    • Traversable — A interface Traversable
    • Iterator — A interface Iterator
    • IteratorAggregate — A interface IteratorAggregate
    • Throwable
    • ArrayAccess — A interface ArrayAccess
    • Serializable — A interface Serializable
    • Closure — A classe Closure
    • Generator — A classe Generator
    • WeakReference — A classe WeakReference
  • Opções e parâmetros de contexto
    • Opções de contexto de Socket — Lista de opções de contexto de Socket
    • Opções de contexto do HTTP — Lista de opções de contexto do HTTP
    • Opções de contexto do FTP — Lista de opções de contexto do FTP
    • Opções de contexto de SSL — Lista de opções de contexto de SSL
    • Opções de contexto do CURL — Lista de opções de contexto do CURL
    • Opções de contexto do Phar — Lista de opções de contexto do Phar
    • Opções de contexto do MongoDB — Lista de opções de contexto do MongoDB
    • Parâmetros de contexto — Listagem de parâmetros de contexto
    • Zip context options — Zip context option listing
  • Protocolos e Wrappers suportados
    • file:// — Accessing local filesystem
    • http:// — Accessing HTTP(s) URLs
    • ftp:// — Accessing FTP(s) URLs
    • php:// — Accessing various I/O streams
    • zlib:// — Compression Streams
    • data:// — Data (RFC 2397)
    • glob:// — Find pathnames matching pattern
    • phar:// — PHP Archive
    • ssh2:// — Secure Shell 2
    • rar:// — RAR
    • ogg:// — Audio streams
    • expect:// — Process Interaction Streams


  • « Referência da Linguagem
  • Tags PHP »
  • PHP Manual
  • Referência da Linguagem
  • Sintaxe Básica

Sintaxe Básica

Índice

  • Tags PHP
  • Escapando o HTML
  • Separação de instruções
  • Comentários


Tags PHP

Quando o PHP interpreta um arquivo ele procura pelas tags de abertura e fechamento, <?php e ?>, que dizem ao PHP para iniciar ou parar a interpretação do código entre elas. A interpretação assim permite ao PHP ser incluído em vários tipos de documentos, pois tudo que está fora destas tags é ignorado pelo interpretador do PHP.

PHP inclui uma tag curta echo <?= que é uma forma abreviada mais verbosa para<?php echo.

Exemplo #1 Abrindo e fechando tags PHP

1.  <?php echo 'se você deseja rodar código PHP dentro de documentos XHTML ou XML,
                utilize essas tags'; ?>

2.  Você pode utilizar a tag curta <?= 'imprima essa string' ?>.
    É o equivalente de <?php echo 'print this string' ?>.

3.  <? echo 'Este código está entre tags curtas, mas somente funcionará '.
            'se short_open_tag estiver ativo'; ?>

Short tags (example three) are available by default but can be disabled either via the short_open_tag php.ini configuration file directive, or are disabled by default if PHP is built with the --disable-short-tags configuration.

Nota:

As short tags can be disabled it is recommened to only use the normal tags (<?php ?> and <?= ?>) to maximise compatibility.

Se um arquivo for código PHP puro, é preferível omitir a tag de fechamento no final do arquivo. Prevenindo a existência de espaços ou linhas em branco após a tag, que podem causar efeitos indesejáveis, por que o PHP iniciará o buffer de saída quando não existir intenção do programador de enviar alguma saída neste ponto do script.

<?php
echo "Hello world";

// ... mais código

echo "última instrução";

// o script termina aqui, sem tag de fechamento PHP


Escapando o HTML

Tudo o que estiver fora das tags PHP é ignorado pelo interpretador, o que permite arquivos PHP de conteúdo misto. Permite que o PHP seja incluído dentro de documentos HTML, para, por exemplo, a criação de templates.

<p>Isto vai ser ignorado pelo PHP e exibido pelo navegador.</p>
<?php echo 'Enquanto isto vai ser interpretado.'; ?>
<p>Isto também vai ser ignorado pelo PHP e exibido no navegador.</p>
Isso funcionará porque quando o interpretador do PHP encontra ?>, a tag de fechamento, ele simplesmente começa a repassar qualquer coisa que encontre (exceto um fim de linha imediato, ver a seção sobre separação de instruções), até que ele encontre outra tag de abertura a não ser que esteja no meio de uma instrução condicional, onde então o interpretador vai determinar o resultado da condicional e assim decidir qual caminho tomar. Veja no próximo exemplo.

Utilizando estruturas avançadas

Exemplo #1 Escape avançado usando condições

<?php if ($expression == true): ?>
  Isto irá aparecer se a expressão for verdadeira.
<?php else: ?>
  Senão isso que aparecerá.
<?php endif; ?>
Nesse exemplo o PHP irá pular os blocos em que a condição não seja satisfeita, mesmo que o trecho de código esteja fora das tags de abertura/fechamento do PHP, pois o interpretador do PHP irá pular os conteúdos de blocos que não possuem uma condição que não foi satisfeita.

Para impressão de grandes blocos de texto, sair do modo de interpretação do PHP é geralmente mais eficiente que enviar todo o texto através das funções echo ou print.

Nota:

Se o PHP for incluído no XML ou XHTML, as tags normais <?php ?> precisam ser utilizadas para que o documento permaneca conformante aos padrões desses documentos.


Separação de instruções

Como no C ou Perl, o PHP requer que as instruções sejam terminadas com um ponto-e-vírgula ao final de cada comando. A tag de fechamento de um bloco de código PHP automaticamente implica em um ponto-e-vírgula; você não precisa ter um ponto-e-vírgula terminando a última linha de um bloco PHP. A tag de fechamento do bloco irá incluir uma nova linha logo após, se estiver presente.

Exemplo #1 Exemplo mostrando a tag de fechamento incluíndo uma nova linha final

<?php echo "Algum texto"; ?>
Sem nova linha
<?= "Mas uma nova linha agora" ?>

O exemplo acima irá imprimir:

Some textNo newline
But newline now

Exemplos de entrar e sair do modo PHP:

<?php
    echo 'Isto é um teste';
?>

<?php echo 'Isto é um teste' ?>

<?php echo 'Nós omitimos a última tag de fechamento';

Nota:

A tag de fechamento de um bloco PHP ao final de um arquivo é opcional, e em alguns casos omiti-la é útil ao utilizar include ou require, assim espaços em branco indesejados não irão aparecer ao final dos arquivos, e ainda, será capaz de adicionar cabeçalhos à resposta. Também é útil se usar o buffer de saída, e você não gostaria de um espaço em branco indesejado ao final das partes geradas por arquivos incluídos.


Comentários

O PHP suporta comentários no estilo 'C', 'C++' e do Unix shell (estilo Perl). Por exemplo:

<?php
    echo 'Isto é um teste'; // Estilo de comentário de uma linha em  C++
    /* Este é um comentário de múltiplas linhas
       ainda outra linha de comentário */
    echo 'Isto é ainda outro teste';
    echo 'Um teste final'; # Este é um comentário de uma linha no estilo shell
?>

Os comentários de estilo "uma linha" apenas comentam até o final da linha ou do bloco PHP de código corrente, o que ocorrer primeiro. Isto significa que o código HTML após // ... ?> ou # ... ?> SERÁ impresso: ?> interrompe o modo PHP e retorna para o modo HTML, e // ou # não podem influenciar isto.

<h1>Isto é um <?php # echo 'simples';?> exemplo.</h1>
<p>O cabeçalho acima irá dizer 'Isto é um exemplo'.</p>

Comentários no estilo 'C' terminam ao primeiro */ encontrado. Tenha certeza de não aninhar comentários no estilo 'C'. É fácil fazer este equívoco se estiver tentando comentar grandes blocos de código.

<?php
 /*
    echo 'Isto é um teste'; /* Este comentário irá causar um problema */
 */
?>


Tipos

Índice

  • Introdução
  • Booleanos
  • Inteiros
  • Números de ponto flutuante
  • Strings
  • Arrays
  • Iterables
  • Objetos
  • Recursos
  • NULL
  • Callbacks / Callables
  • Type declarations
  • Pseudo-tipos e variáveis utilizadas nesta documentação
  • Manipulação de tipos


Introdução

O PHP suporta dez tipos primitivos.

Quatro tipos escalares:

  • bool
  • int
  • float (número de ponto flutuante, ou também double)
  • string

Quatro tipos compostos:

  • array
  • object
  • callable
  • iterable

E finalmente dois tipos especiais:

  • resource
  • NULL

Este manual também introduz alguns pseudo-tipos por razões de legibilidade:

  • mixed
  • void

Algumas referências para o tipo "double" podem aparecer no manual. Considere o tipo double como sendo o float; os dois nomes existem por razões históricas.

O tipo de uma variável geralmente não é definido pelo programador: isto é decidido em tempo de execução pelo PHP, dependendo do contexto no qual a variável é usada.

Nota: Para checar o tipo e valor de uma expressão, utilize a função var_dump().

Para ter uma representação legível de um tipo para depuração, use a função gettype(). Para verificar por um certo tipo, não use gettype(), mas sim as funções is_tipo. Alguns exemplos:

<?php
$a_bool = TRUE;   // um booleano
$a_str  = "foo";  // uma string
$a_str2 = 'foo';  // uma string
$an_int = 12;     // um inteiro

echo gettype($a_bool); // mostra:  boolean
echo gettype($a_str);  // mostra:  string

// Se ele é um inteiro, incrementa-o com quatro
if (is_int($an_int)) {
    $an_int += 4;
}

// Se $bool é uma string, mostre-a
// (não imprime nada)
if (is_string($a_bool)) {
    echo "String: $a_bool";
}
?>

Para forçar a conversão de uma variável para um certo tipo, converta a variável ou use a função settype() nela.

Note que uma variável pode ser avaliada com valores diferentes em certas situações, dependendo de qual tipo ela é no momento. Para mais informações, veja a seção Manipulação de tipos. A tabela de conversão de tipos também pode ser útil, como mostra exemplos de comparações de vários tipos.


Booleanos

Este é o tipo mais simples. Um booleano expressa um valor de verdade. Ele pode ser true ou false.

Sintaxe

Para especificar um booleano literal, use as palavras-chave true ou false. Ambas são case-insensitive.

<?php
$foo = True; // atribui o valor True para $foo
?>

Tipicamente, o resultado de um operador que retorne um valor booleano, é passado para uma estrutura de controle.

<?php
// == É um operador que testa
// igualdade e retorna um booleano.
if ($action == "mostrar_versao") {
    echo "A versão é 1.23";
}

// isto não é necessário ...
if ($exibir_separadores == TRUE) {
    echo "<hr>\n";
}

// ... porque você pode simplesmente escrever isso:
if ($exibir_separadores) {
    echo "<hr>\n";
}
?>

Convertendo para booleano

Para converter explicitamente um valor para booleano, utilize os modificadores (bool) ou (boolean). Entretanto, na maioria dos casos, o modificador não será necessário, já que qualquer valor será convertido automaticamente se um operador, função ou estrutura de controle requerer um argumento booleano.

Veja também Manipulação de tipos.

Ao converter para booleano, os seguintes valores são considerados false:

  • o próprio booleano false
  • os inteiros 0 e -0 (zero)
  • os pontos flutuantes 0.0 e -0.0 (zero)
  • uma string vazia e a string "0"
  • um array sem elementos
  • o tipo especial NULL (incluindo variáveis não definidas)
  • objetos SimpleXML criados a partir de tags vazias

Qualquer outro valor é considerado true (incluindo qualquer recurso e NAN).

Aviso

-1 é considerado true, como qualquer número que não seja zero (negativos ou positivos)!

<?php
var_dump((bool) "");        // bool(false)
var_dump((bool) 1);         // bool(true)
var_dump((bool) -2);        // bool(true)
var_dump((bool) "foo");     // bool(true)
var_dump((bool) 2.3e5);     // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());   // bool(false)
var_dump((bool) "false");   // bool(true)
?>


Inteiros

Um inteiro é um número do conjunto Z = {..., -2, -1, 0, 1, 2, ...}.

Veja também:

  • Inteiros de tamanho arbitrário / GMP
  • Números de ponto flutuante
  • Precisão arbitrária / BCMath

Sintaxe

Inteiros podem ser especificados em notação decimal (base 10), hexadecimal (base 16), octal (base 8) ou binária (base 2). O operador de negação pode ser usado para indicar um inteiro negativo.

Inteiros binários literais estão disponíveis a partir do PHP 5.4.0.

Para usar a notação octal, preceda o número com um 0 (zero). Para utilizar a notação hexadecimal, preceda o número com 0x. Para utilizar a notação binária, preceda o número com 0b.

A partir do PHP 7.4.0, inteiros literais podem conter sublinhados (_) entre os dígitos, para melhorar a sua leitura. Estes sublinhados serão removidos pelo scanner do PHP.

Exemplo #1 Literais inteiras

<?php
$a = 1234; // número decimal
$a = 0123; // número octal (equivalente a 83 em decimal)
$a = 0x1A; // número hexadecimal (equivalente a 26 em decimal)
$a = 0b11111111; // número binário (equivalente ao 255 decimal)
$a = 1_234_567; // decimal number (as of PHP 7.4.0)
?>

Formalmente, as estruturas para inteiros literais são a partir do PHP 7.4.0 (anteriormente, sublinhados não eram permitidos):

decimal     : [1-9][0-9]*(_[0-9]+)*
            | 0

hexadecimal : 0[xX][0-9a-fA-F]+(_[0-9a-fA-F]+)*

octal       : 0[0-7]+(_[0-7]+)*

binary      : 0[bB][01]+(_[01]+)*

integer     : decimal
            | hexadecimal
            | octal
            | binary

O tamanho de um inteiro depende da plataforma, sendo um número aproximado a 2 bilhões o valor mais comum (número de 32 bits com sinal). Plataformas 64-bit possuem comumente o valor máximo de aproximadamente 9E18, exceto no Windows em versões anteriores ao PHP 7, onde são sempre 32-bit. O PHP não suporta inteiros sem sinal. O tamanho do inteiro pode ser determinado pela constante PHP_INT_SIZE, e seu o valor máximo com a constante PHP_INT_MAX, a partir do PHP 5.0.5, e o valor mínimo utilizando a constante PHP_INT_MIN a partir do PHP 7.0.0.

Aviso

Em versões anteriores ao PHP 7, se um dígito inválido é passado para um inteiro octal (por exemplo, 8 ou 9), o resto do número será ignorado. A partir do PHP 7, um erro de interpretação é emitido.

Overflow de inteiros

Se o PHP encontrar um número além dos limites do tipo inteiro, ele será interpretado como um ponto flutuante. Assim, uma operação que resulte em um número além dos limites do tipo inteiro, retornará um ponto flutuante.

Exemplo #2 Overflow de inteiros em sistemas 32-bit

<?php
$large_number = 2147483647;
var_dump($large_number);                     // int(2147483647)

$large_number = 2147483648;
var_dump($large_number);                     // float(2147483648)

$million = 1000000;
$large_number =  50000 * $million;
var_dump($large_number);                     // float(50000000000)
?>

Exemplo #3 Overflow de inteiros em sistemas 64-bit

<?php
$large_number = 9223372036854775807;
var_dump($large_number);                     // int(9223372036854775807)

$large_number = 9223372036854775808;
var_dump($large_number);                     // float(9.2233720368548E+18)

$million = 1000000;
$large_number =  50000000000000 * $million;
var_dump($large_number);                     // float(5.0E+19)
?>

Não há um operador de divisão que resulta em um inteiro no PHP. 1/2 retorna o ponto flutuante 0.5. O valor pode ser convertido para inteiro para sempre truncar o número, ou usar a função round() que provê um fino controle sobre o arredondamento.

Nota: A partir do PHP 7.0.0, a função intdiv() está disponível para uma divisão inteira.

<?php
var_dump(25/7);         // float(3.5714285714286)
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4)
?>

Convertendo para inteiro

Para converter explicitamente um valor para inteiro, utiliza-se um dos modificadores (int) ou (integer). Entretanto, na maioria dos casos, o modificador não é necessário, já que o valor será automaticamente convertido se um operador, função ou estrutura de controle requerer um inteiro como argumento. Um valor também pode ser convertido para inteiro utilizando a função intval().

Se um recurso for convertido para um inteiro, resultará no número único do recurso, atribuído ao recurso pelo PHP em tempo de execução.

Veja também Manipulação de tipos.

De booleanos

false será retornado como 0 (zero), e true retornará 1 (um).

De números de ponto flutuante

Conversão de números de ponto flutuante para inteiros, fará o número ser truncado.

Se o número convertido estiver além dos limites de um inteiro (geralmente +/- 2.15e+9 = 2^31 em plataformas 32 bit e +/- 9.22e+18 = 2^63 em plataformas 64-bit que não sejam Windows), o resultado é indefinido, por que o ponto flutuante não possui precisão suficiente para fornecer um resultado inteiro exato. Não se preocupe, pois nenhum aviso será emitido se isso acontecer!

Nota:

A partir do PHP 7.0.0, em vez de ser um valor indefinido e que varia de acordo com a plataforma, NaN e Infinity sempre serão zero quando convertidos para inteiro.

Aviso

Nunca modifique uma fração desconhecida para inteiro, porque isto pode, as vezes, fornecer resultados inesperados.

<?php
echo (int) ( (0.1+0.7) * 10 ); // imprime 7!
?>

Veja também o alerta sobre a precisão de número flutuante.

De strings

Veja Conversão de strings para números

De NULL

null é sempre convertido em zero (0).

De outros tipos

Cuidado

O comportamento da conversão de um inteiro é desconhecido para outros tipos. Não confie em nenhum comportamento observado, pois ele pode mudar sem aviso.


Números de ponto flutuante

Números de ponto flutuante (também conhecidos como "floats", "doubles" ou "números reais"), podem ser especificados utilizando qualquer uma das seguintes sintaxes:

<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
$d = 1_234.567; // a partir do PHP 7.4.0
?>

Formalmente a partir do PHP 7.4.0 (anteriormente, sublinhados não eram permitidos):

LNUM          [0-9]+(_[0-9]+)*
DNUM          ([0-9]*(_[0-9]+)*[\.]{LNUM}) | ({LNUM}[\.][0-9]*(_[0-9]+)*)
EXPONENT_DNUM (({LNUM} | {DNUM}) [eE][+-]? {LNUM})

O tamanho de um número de ponto flutuante depende da plataforma, sendo o máximo de ~1.8e308 com precisão de 14 dígitos decimais um valor comum (número de 64 bits no formato IEEE).

Aviso

Precisão de números de ponto flutuante

Números de ponto flutuante tem precisão limitada. Embora dependa do sistema, o PHP geralmente utiliza o formato de precisão dupla do IEEE 754, que trará uma precisão máxima devida a arredondamentos da ordem de 1.11e-16. Operações matemáticas incomuns poderão ocasionar erros maiores, e, claro, a propagação de erros deve ser considerada quando várias operações forem realizadas.

Além disso, números racionais que tem representação exata em números em base 10, como 0.1 ou 0.7, não possuem representação exata em ponto flutuante na base 2, o formato utilizado internamente, não importando o tamanho da mantissa. Portanto não existe conversão para o formato interno sem uma pequena perda de precisão. Isso pode ocasionar resultados confusos: por exemplo, floor((0.1+0.7)*10) normalmente retornará 7, em vez do resultado esperado 8, porque a representação interna final será algo como 7.9999999999999991118....

Então, nunca confie em resultados com números de ponto flutuante até a última casa, e nunca compare números de ponto flutuante em igualdades. Se você realmente precisar de alta precisão, você pode utilizar as funções matemáticas de precisão arbitrária e as funções gmp estão disponíveis.

Para uma explicação "simples" dessa questão, veja o » guia sobre ponto flutuante, que também tem o título alternativo de "Porque meus números não somam direito?".

Convertendo para float

Para informações sobre a conversão de strings para float, veja a seção Conversão de Strings para números. Para valores de outros tipos, o valor é primeiro convertido para inteiro e então para float. Veja a seção Convertendo para inteiros para mais informações. No PHP 5, um aviso é emitido se você tentar converter um object para um float.

Comparando floats

Como notado acima, testar números de ponto flutuante com igualdade é problemático, por causa da maneira como são representados internamente. Entretanto existem maneiras de fazer comparações com números de ponto flutuante que contornam essas limitações.

Para testar números de ponto flutuante, utilize um "valor de erro máximo" na comparação utilizada. Esse valor é também chamado de epsilon, ou unidade de erro, e deve ser a diferença mínima aceitável no resultado dos cálculos.

$a e $b serão consideradas iguais até o 5º dígito de precisão.

<?php
$a = 1.23456789;
$b = 1.23456780;
$epsilon = 0.00001;

if(abs($a-$b) < $epsilon) {
    echo "iguais";
}
?>

NaN

Algumas operações numéricas podem resultar em valores representados pela constante NAN. Esse resultado representa um valor desconhecido ou não representável nos cálculos de ponto flutuante. Qualquer comparação frouxa ou restrita deste valor com qualquer outro, inclusive ele mesmo, terá como resultado false.

Como o NAN representa um resultado irrepresentável, NAN não deve ser comparado com outros valores, incluindo ele mesmo, em vez disso, deve-se checá-lo utilizando a função is_nan().


Strings

Uma string é uma série de caracteres, onde um caractere é o mesmo que um byte. Isso significa que o PHP possui suporte a um conjunto de apenas 256 caracteres, e, portanto, não possui suporte nativo a Unicode. Veja mais detalhes do tipo string.

Nota: A partir do PHP 7.0.0, não há restrições particulares em relação ao tamanho de uma uma string em compilações de 64 bits. Em compilações de 32 bits e em versões anteriores, uma string pode ter o tamanho de até 2GB (máximo de 2147483647 bytes)

Sintaxe

Uma string literal pode ser especificada de quatro formas diferentes.

  • aspas simples
  • aspas duplas
  • sintaxe heredoc
  • sintaxe nowdoc (a partir do PHP 5.3.0)

Aspas simples

A maneira mais simples de se especificar uma string é delimitá-la entre aspas simples (o caractere ').

Para especificar um apóstrofo, escape-o com uma contrabarra (\). Para especificar uma contrabarra literal, dobre-a (\\). Todas as outras ocorrências da contrabarra serão tratadas como uma contrabarra literal: isso significa que outras sequências de escape que se esteja acostumado a utilizar, como \r ou \n, serão literalmente impressas em vez de ter qualquer significado especial.

Nota: Diferentemente das sintaxes com aspas duplas e heredoc, variáveis e sequências de escape para caracteres especiais não serão expandidas quando ocorrerem dentro de uma string delimitada por aspas simples.

<?php
echo 'isto é uma string comum';

echo 'Você pode incluir novas linhas em strings,
dessa maneira que estará
tudo bem';

// Imprime: Arnold disse uma vez: "I'll be back"
echo 'Arnold disse uma vez: "I\'ll be back"';

// Imprime: Você tem certeza em apagar C:\*.*?
echo 'Você tem certeza em apagar C:\\*.*?';

// Imprime: Você tem certeza em apagar C:\*.*?
echo 'Você tem certeza em apagar C:\*.*?';

// Imprime: Isto não será substituido: \n uma nova linha
echo 'Isto não será substituido: \n uma nova linha';

// Imprime: Variáveis $também não $expandem
echo 'Variáveis $também não $expandem';
?>

Aspas duplas

Se a string for delimitada entre aspas duplas ("), o PHP interpretará a seguinte sequência de escape como caracteres especiais:

Sequências de escape
Sequências | Significado
\n | fim de linha (LF ou 0x0A (10) em ASCII)
\r | retorno de carro (CR ou 0x0D (13) em ASCII)
\t | TAB horizontal (HT ou 0x09 (9) em ASCII)
\v | TAB vertical (VT ou 0x0B (11) em ASCII) (a partir do PHP 5.2.5)
\e | escape (ESC or 0x1B (27) em ASCII) (a partir do PHP 5.4.4)
\f | form feed (FF ou 0x0C (12) em ASCII) (a partir do PHP 5.2.5)
\\ | contrabarra ou barra invertida
\$ | sinal de cifrão
\" | aspas duplas
\[0-7]{1,3} | a sequência de caracteres correspondente a expressão regular é um caractere em notação octal, que silenciosamente é extravasada para caber em um byte (e.g. "\400" === "\000")
\x[0-9A-Fa-f]{1,2} | a sequência de caracteres correspondente a expressão regular é um caractere em notação hexadecimal
\u{[0-9A-Fa-f]+} | a sequência de caracteres correspondente a expressão regular é um código Unicode, que será impresso como uma string que representa um código UTF-8 (adicionado no PHP 7.0.0)

Como com as strings entre aspas simples, escapar qualquer outro caractere resultará em uma contrabarra sendo impressa. Em versões anteriores ao PHP 5.1.1, a contrabarra em \{$var} não era impressa.

O recurso mais importante de strings delimitadas por aspas duplas é o fato de que nomes de variáveis serão expandidos. Veja interpretação de strings para detalhes.

Heredoc

Uma terceira maneira de delimitar strings é a sintaxe heredoc: <<<. Após este operador, um identificador é fornecido seguido de uma nova linha. A própria string é colocada em seguida e a seguir o mesmo identificador novamente para fechar a string.

O identificador de fechamento precisa começar na primeira coluna da linha. Além disso, o identificador precisa seguir as mesmas regras de nomeação como qualquer outro rótulo no PHP: deve conter somente caracteres alfanuméricos e sublinhados, e precisa começar com um caractere não numérico ou sublinhado.

Aviso

É muito importante notar que a linha que contêm o identificador de fechamento não deve conter nenhum outro caractere, com exceção do ponto-e-vírgula (;). Isso significa que o identificador não deve ser indentado e não deve ter nenhum espaço ou tabulações antes ou depois do ponto-e-vírgula. Também é importante perceber que o primeiro caractere antes do identificador de fechamento deve ser uma nova linha como definido pelo sistema operacional local. Isso é, \n em sistemas UNIX, incluindo o MAC OS X. O identificador de fechamento também deve ser seguido por uma nova linha.

Se essa regra for quebrada e o identificador de fechamento não estiver "limpo", ele não será considerado um identificador de fechamento, e o PHP continuará procurando por um. Se um identificador de fechamento apropriado não for encontrado antes do final do arquivo atual, um erro de interpretação será lançado na última linha.

Exemplo #1 Exemplo inválido

<?php
class foo {
    public $bar = <<<EOT
bar
    EOT;
}
// O identifcador não deve ser indentado
?>

Exemplo #2 Exemplo válido

<?php
class foo {
    public $bar = <<<EOT
bar
EOT;
}
?>

Heredocs não podem ser usados para inicializar propriedades de classe. A partir do php 5.3, esta limitação é válida apenas para heredocs contendo variáveis.

Textos heredoc se comportam como strings delimitadas por aspas duplas, sem as aspas duplas. Isso significa que aspas simples em heredocs não precisam ser escapadas, apesar de que os códigos de escape listados acima podem continuar sendo utilizados. Variáveis são expandidas, mas o mesmo cuidado deve ser tomado ao expressar variáveis complexas dentro do heredoc assim como nas strings.

Exemplo #3 Exemplo de delimitação de strings heredoc

<?php
$str = <<<EOD
Exemplo de uma string
distribuída em várias linhas
utilizando a sintaxe heredoc.
EOD;

/* Exemplo mais complexo, com variáveis */
class foo
{
    var $foo;
    var $bar;

    function foo()
    {
        $this->foo = 'Foo';
        $this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
}

$foo = new foo();
$name = 'Meu nome';

echo <<<EOT
Meu nome é "$name". Eu estou imprimindo $foo->foo.
Agora, eu estou imprimindo {$foo->bar[1]}.
Isto deve imprimir um 'A' maiúsculo: \x41
EOT;
?>

O exemplo acima irá imprimir:

My name is "MyName". I am printing some Foo.
Now, I am printing some Bar2.
This should print a capital 'A': A

É possível também utilizar a sintaxe Heredoc para passar dados para argumentos de funções:

Exemplo #4 Exemplo de Heredoc em argumentos

<?php
var_dump(array(<<<EOD
foobar!
EOD
));
?>

A partir do PHP 5.3.0, é possível inicializar variáveis estáticas e propriedades/constantes de classe utilizando a sintaxe heredoc:

Exemplo #5 Utilizando o Heredoc na inicialização de valores estáticos

<?php
// Variáveis estáticas
function foo()
{
    static $bar = <<<LABEL
Nothing in here...
LABEL;
}

// Classe propriedades/constantes
class foo
{
    const BAR = <<<FOOBAR
Constant example
FOOBAR;

    public $baz = <<<FOOBAR
Property example
FOOBAR;
}
?>

A partir do PHP 5.3.0, o identificador de abertura do Heredoc pode ser opcionalmente delimitado por aspas duplas:

Exemplo #6 Usando aspas duplas no Heredoc

<?php
echo <<<"FOOBAR"
Hello World!
FOOBAR;
?>

Nowdoc

Nowdocs estão para aspas simples assim como os heredocs estão para aspas duplas em strings. Um nowdoc é especificado similarmente a um heredoc, mas nenhuma interpretação é feita dentro de um nowdoc. A construção é ideal para colocar códigos PHP ou outros grandes blocos de texto sem a necessidade de usar escapes. Compartilha algumas características em comum com a construção SGML <![CDATA[ ]]>, assim é declarado um bloco de texto onde nada será analisado.

Um nowdoc é identificado com a mesma sequência <<< usada para heredocs, mas o identificador precisa ficar entre aspas simples, por exemplo. <<<'EOT'. Todas as regras para identificadores heredoc também se aplicam para identificadores nowdoc, especialmente aquelas referentes a aparência do identificador de fechamento.

Exemplo #7 Exemplo de string em Nowdoc

<?php
echo <<<'EOD'
Example of string spanning multiple lines
using nowdoc syntax. Backslashes are always treated literally,
e.g. \\ and \'.
EOD;

O exemplo acima irá imprimir:

Example of string spanning multiple lines
using nowdoc syntax. Backslashes are always treated literally,
e.g. \\ and \'.

Exemplo #8 Exemplo de Nowdoc, com variáveis

<?php
class foo
{
    public $foo;
    public $bar;

    function __construct()
    {
        $this->foo = 'Foo';
        $this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
}

$foo = new foo();
$name = 'MyName';

echo <<<'EOT'
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should not print a capital 'A': \x41
EOT;
?>

O exemplo acima irá imprimir:

My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should not print a capital 'A': \x41

Exemplo #9 Exemplo de dado estático

<?php
class foo {
    public $bar = <<<'EOT'
bar
EOT;
}
?>

Nota:

Suporte a Nowdoc foi adicionado no PHP 5.3.0.

Interpretação de variáveis

Quando uma string é especificada dentro de aspas duplas ou heredoc, as variáveis são interpretadas dentro delas.

Há dois tipos de sintaxe: uma simples e uma complexa. A sintaxe simples é a mais comum e conveniente. Provê uma maneira de interpretar uma variável, o valor de um array ou uma propriedade de objeto em uma string com o mínimo de esforço.

A sintaxe complexa pode ser reconhecida pelas chaves envolvendo a expressão.

Sintaxe simples

Se um sinal de cifrão ($) for encontrado, o interpretador tentará obter tantos identificadores quantos forem possíveis para formar um nome de variável válido. Envolva o nome da variável com chaves para especificar explicitamente o fim do nome.

<?php
$juice = "apple";

echo "He drank some $juice juice.".PHP_EOL;
// Invalid. "s" is a valid character for a variable name, but the variable is $juice.
echo "He drank some juice made of $juices.";
// Valid. Explicitly specify the end of the variable name by enclosing it in braces:
echo "He drank some juice made of ${juice}s.";
?>

O exemplo acima irá imprimir:

He drank some apple juice.
He drank some juice made of .
He drank some juice made of apples.

Similarmente, um índice de array ou uma propriedade de um objeto podem ser interpretados. Com índices de arrays, o fechamento de colchetes (]) marca o final do índice. A mesma regra aplica-se a propriedade de objetos, assim como para variáveis simples.

Exemplo #10 Exemplo com sintaxe simples

<?php
$juices = array("apple", "orange", "koolaid1" => "purple");

echo "He drank some $juices[0] juice.".PHP_EOL;
echo "He drank some $juices[1] juice.".PHP_EOL;
echo "He drank some $juices[koolaid1] juice.".PHP_EOL;

class people {
    public $john = "John Smith";
    public $jane = "Jane Smith";
    public $robert = "Robert Paulsen";

    public $smith = "Smith";
}

$people = new people();

echo "$people->john drank some $juices[0] juice.".PHP_EOL;
echo "$people->john then said hello to $people->jane.".PHP_EOL;
echo "$people->john's wife greeted $people->robert.".PHP_EOL;
echo "$people->robert greeted the two $people->smiths."; // Won't work
?>

O exemplo acima irá imprimir:

He drank some apple juice.
He drank some orange juice.
He drank some purple juice.
John Smith drank some apple juice.
John Smith then said hello to Jane Smith.
John Smith's wife greeted Robert Paulsen.
Robert Paulsen greeted the two .

A partir do PHP 7.1.0 índices numéricos negativos são suportados.

Exemplo #11 Índices numéricos negativos

<?php
$string = 'string';
echo "The character at index -2 is $string[-2].", PHP_EOL;
$string[-3] = 'o';
echo "Changing the character at index -3 to o gives $string.", PHP_EOL;
?>

O exemplo acima irá imprimir:

The character at index -2 is n.
Changing the character at index -3 to o gives strong.

Para qualquer coisa mais complexa, utilize a sintaxe complexa.

Sintaxe complexa (chaves)

Isto não é chamado sintaxe complexa porque a sintaxe é complexa, mas sim porque permite a utilização de expressões complexas.

Qualquer variável escalar, elemento de um array ou propriedade de um objeto com uma representação de uma string pode ser incluída com essa sintaxe. Simplesmente escreva a expressão da mesma forma como apareceria fora da string e então coloque-o entre { e }. Já que que { não pode escapado, esta sintaxe será somente reconhecida quando o $ seguir, imediatamente, o {. Use {\$ para obter um literal {$. Alguns exemplos que tornam isto claro:

<?php
// Show all errors
error_reporting(E_ALL);

$great = 'fantastic';

// Won't work, outputs: This is { fantastic}
echo "This is { $great}";

// Works, outputs: This is fantastic
echo "This is {$great}";

// Works
echo "This square is {$square->width}00 centimeters broad.";

// Works, quoted keys only work using the curly brace syntax
echo "This works: {$arr['key']}";

// Works
echo "This works: {$arr[4][3]}";

// This is wrong for the same reason as $foo[bar] is wrong  outside a string.
// In other words, it will still work, but only because PHP first looks for a
// constant named foo; an error of level E_NOTICE (undefined constant) will be
// thrown.
echo "This is wrong: {$arr[foo][3]}";

// Works. When using multi-dimensional arrays, always use braces around arrays
// when inside of strings
echo "This works: {$arr['foo'][3]}";

// Works.
echo "This works: " . $arr['foo'][3];

echo "This works too: {$obj->values[3]->name}";

echo "This is the value of the var named $name: {${$name}}";

echo "This is the value of the var named by the return value of getName(): {${getName()}}";

echo "This is the value of the var named by the return value of \$object->getName(): {${$object->getName()}}";

// Won't work, outputs: This is the return value of getName(): {getName()}
echo "This is the return value of getName(): {getName()}";
?>

Também é possível acessar propriedades de classes usando variáveis que contêm strings utilizando esta sintaxe.

<?php
class foo {
    var $bar = 'I am bar.';
}

$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo "{$foo->$bar}\n";
echo "{$foo->{$baz[1]}}\n";
?>

O exemplo acima irá imprimir:

I am bar.
I am bar.

Nota:

Funções, chamadas a métodos, variáveis estáticas de classe e constantes de classe dentro de {$} funcionam a partir do PHP 5. Entretanto, o valor acessado deverá ser interpretado como o nome de uma variável no escopo em que a string está definida. Utilizar somente chaves ({}) não funcionará para acessar os valores de retorno de funções ou métodos nem os valores de constantes da classe ou variáveis estáticas da classe.

<?php
// Show all errors.
error_reporting(E_ALL);

class beers {
    const softdrink = 'rootbeer';
    public static $ale = 'ipa';
}

$rootbeer = 'A & W';
$ipa = 'Alexander Keith\'s';

// This works; outputs: I'd like an A & W
echo "I'd like an {${beers::softdrink}}\n";

// This works too; outputs: I'd like an Alexander Keith's
echo "I'd like an {${beers::$ale}}\n";
?>

Acesso e modificação da string por caractere

É possível acessar e modificar caracteres dentro de strings especificando a posição, baseada em zero, do caractere desejado na string usando colchetes, parecido com arrays, por exemplo $str[42]. Imagine uma string como um array de caracteres. As funções substr() e substr_replace(), podem ser utilizadas quando se deseja extrair ou substituir mais que 1 caractere.

Nota: A partir do PHP 7.1.0, posições negativas para strings são suportadas. Estas especificam a posição do final da string. Antes, posições negativas emitiam um E_NOTICE para leitura (gerando um string vazia) e um E_WARNING para escrita (deixando a string intocada).

Nota: Strings também podem ser acessadas usando colchetes, como em $str{42}, com o mesmo propósito.

Aviso

Escrever em uma posição fora do intervalo preenche a string com espaços. Tipos diferentes de inteiro são convertidos para inteiro. Tipo ilegal de deslocamento emite um E_WARNING. Apenas o primeiro caractere de uma string atribuída é usado. A partir de PHP 7.1.0, a atribuição de uma string vazia lança um erro fatal. Antes, era atribuído o byte NULL.

Aviso

Internamente, as strings do PHP são arrays de bytes. Como resultado, acessar ou modificar uma string usando colchetes não é seguro com multi-bytes e deve ser feito somente em strings que utilizem apenas um byte em sua codificação, como a ISO-8859-1.

Nota: A partir do PHP 7.1.0, aplicar um operador de índice vazio em uma string lança um erro fatal Antes, a string vazia era convertida em um array.

Exemplo #12 Alguns exemplos com strings

<?php
// Get the first character of a string
$str = 'This is a test.';
$first = $str[0];

// Get the third character of a string
$third = $str[2];

// Get the last character of a string.
$str = 'This is still a test.';
$last = $str[strlen($str)-1];

// Modify the last character of a string
$str = 'Look at the sea';
$str[strlen($str)-1] = 'e';

?>

A partir do PHP 5.4 o deslocamento de strings devem ser inteiros ou strings equivalentes a inteiros, caso contrário um erro do tipo warning será disparado. Anteriormente um deslocamento como "foo" era silenciosamente convertido em 0.

Exemplo #13 Diferenças entre o PHP 5.3 e PHP 5.4

<?php
$str = 'abc';

var_dump($str['1']);
var_dump(isset($str['1']));

var_dump($str['1.0']);
var_dump(isset($str['1.0']));

var_dump($str['x']);
var_dump(isset($str['x']));

var_dump($str['1x']);
var_dump(isset($str['1x']));
?>

O exemplo acima irá imprimir no PHP 5.3:

string(1) "b"
bool(true)
string(1) "b"
bool(true)
string(1) "a"
bool(true)
string(1) "b"
bool(true)

O exemplo acima irá imprimir no PHP 5.4:

string(1) "b"
bool(true)

Warning: Illegal string offset '1.0' in /tmp/t.php on line 7
string(1) "b"
bool(false)

Warning: Illegal string offset 'x' in /tmp/t.php on line 9
string(1) "a"
bool(false)
string(1) "b"
bool(false)

Nota:

Acessar variáveis de outros tipos (excluindo-se arrays ou objetos que implementem certas interfaces) usando [] ou {} silenciosamente retornará null.

Nota:

O PHP 5.5 adicionou o suporte ao acesso de caracteres dentro de strings literais utilizando [] or {}.

Funções e operadores úteis

Strings podem ser concatenadas utilizando o operador '.' (ponto). Note que o operador '+' (adição) não funciona para isso. Veja operadores de string para mais informações.

Há bastantes funções úteis para manipulação de strings.

Veja a seção de funções de string para funções gerais e funções de expressões regulares compatíveis com Perl para funcionalidades avançadas de localização & e substituição.

Há também funções para strings URL e funções para criptografia/descriptografia de strings (Sodium e Hash).

Finalmente, veja também as funções de tipos de caracteres.

Conversão em strings

Um valor pode ser convertido em uma string utilizando o modificador (string) ou a função strval(). A conversão em string é automaticamente realizada no escopo de uma expressão onde uma string é necessária. Isto acontece no uso das funções echo ou print ou quando o valor de uma variável é comparado com uma string. As seções Tipos e Conversão de Tipos tornarão um pouco mais claro o assunto. Veja também a função settype().

O valor boolean true é convertido para a string "1". O boolean false é convertido para "" (uma string vazia). Isso permite converter nos dois sentidos entre os valores booleano e string.

Um integer ou um float é convertido para uma string representando o número textualmente (incluindo a parte do expoente nos floats). Números de ponto flutuante podem ser convertidos usando a notação exponencial (4.1E+6).

Nota:

O caractere de ponto decimal é definido no código de idioma (locale) do script (categoria LC_NUMERIC). Veja a função setlocale().

Arrays são sempre convertidos para uma string "Array"; por isso echo e print não podem, por si só, mostrar o conteúdo de um array. Para visualizar um único elemento, use uma construção como echo $arr['foo']. Veja abaixo dicas de como visualizar todo seu conteúdo.

Para converter objetos em strings o método mágico __toString deve ser usado.

Resources são sempre convertidos para strings na estrutura "Resource id #1" onde 1 é o número único do resource atribuído pelo PHP em tempo de execução. Apesar de que a estrutura exata desta string não seja confiável e esteja sujeita a modificações, será sempre única a um dado recurso dentro do ciclo de vida de um script sendo executado (por exemplo numa requisição Web ou em um processo CLI) e não será reutilizada. Para obter o tipo de um recurso, utilize a função get_resource_type().

null é sempre convertido para uma string vazia.

Como declarado acima, converter diretamente um array, objeto ou recurso para uma string não fornece nenhuma informação útil sobre o valor, a não ser seu tipo. Veja as funções print_r() e var_dump() para maneiras mais efetivas de inspecionar o conteúdo destes tipos.

A maioria dos valores no PHP também podem ser convertidos em strings para armazenamento permanente. Este método é chamado de serialização e pode ser feito com a função serialize().

Conversão de strings para números

Quando uma string é interpretada como um valor numérico, o valor resultante e seu tipo é determinado como segue.

Se a string não conter nenhum dos caracteres '.', 'e', ou 'E' e o valor numérico encaixa-se dentro dos limites do tipo inteiro (definido pela constante PHP_INT_MAX), a string será avaliada como um inteiro. Em todos os outros casos será interpretada como um float.

O valor é obtido da porção inicial da string. Se a string começar com dados numéricos válidos, esse será o valor utilizado. Caso contrário, o valor será 0 (zero). Dados numéricos válidos são um sinal opcional, seguido de um ou mais dígitos (opcionalmente contendo um ponto decimal), seguido de um expoente, também opcional. O expoente é um 'e' ou 'E' seguido de um ou mais dígitos.

<?php
$foo = 1 + "10.5";                // $foo is float (11.5)
$foo = 1 + "-1.3e3";              // $foo is float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo is integer (1)
$foo = 1 + "bob3";                // $foo is integer (1)
$foo = 1 + "10 Small Pigs";       // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1;          // $foo is float (11)
$foo = "10.0 pigs " + 1.0;        // $foo is float (11)
?>

Para mais informações sobre esta conversão, veja a página sobre strtod(3) no manual UNIX.

Para testar qualquer exemplo desta seção, copie-os e cole-os inserindo a linha a seguir para ver o que está acontecendo:

<?php
echo "\$foo==$foo; tipo " . gettype ($foo) . "<br />\n";
?>

Não espere obter o código de um caractere na conversão para inteiro, como é feito em C. Use as funções ord() e chr() para converter entre código ASCII e os próprios caracteres.

Detalhes do tipo string

A string no PHP é implementada como um array de bytes e um inteiro indicando seu tamanho no buffer. Não existem informações de como esses bytes são traduzidos em caracteres, ficando essa tarefa com o programador. Não existem limitações sobre a composição dos valores da string; em particular, bytes com valor 0 (“NUL bytes”) são permitidos em qualquer lugar da string (entretanto, algumas funções, mencionadas neste manual como não “binary safe”, podem repassar as strings para bibliotecas que ignorem os dados após o byte nulo.)

Esta natureza do tipo string explica o motivo de não haver o tipo "byte" disponível no PHP – as strings assumem este papel. Funções que não retornam nenhuma informação textual – por exemplo, dados arbitrários lidos de um socket de rede – continuarão retornando strings.

Dado que o PHP não dita uma codificação específica para strings, pode-se questionar como strings literais seriam codificadas. Por exemplo, a string "á" é equivalente a "\xE1" (ISO-8859-1), "\xC3\xA1" (UTF-8, C form), "\x61\xCC\x81" (UTF-8, D form) ou qualquer outra representação possível? A resposta é que a string poderá ser codificada em qualquer forma que o arquivo de script estiver codificado. Assim, se o script for escrito na codificação ISO-8859-1, a string será codificada como ISO-8859-1 e assim por diante. Entretanto, isso não se aplica se o Zend Multibyte estiver ativado; neste caso, o script pode ser escrito em uma codificação arbitrária (que é declarada explicitamente ou é detectada) e então convertida em um codificação interna, a qual será a codificação utilizada nas strings literais. Note que há algumas restrições na codificação do script (ou na codificação interna caso o Zend Multibyte esteja ativo) – isso quase sempre significa que essa codificação deve ser um conjunto que contenha dentro de si a ASCII, como UTF-8 ou ISO-8859-1. Note, entretanto, que codificações que são dependentes de estado, onde os mesmos valores de bytes possam ser utilizados tanto em estados iniciais quanto não iniciais, podem ser problemáticos.

Claro que, para serem úteis, funções que operam em textos podem ter que fazer certas suposições sobre como as strings foram codificadas. Infelizmente, existem muitas variações sobre este assunto através das funções do PHP:

  • Algumas funções assumem que a string foi codificada em alguma (qualquer) codificação de byte único, mas elas não precisam interpretar estes bytes como caracteres específicos. Este é por exemplo o caso das funções substr(), strpos(), strlen() ou strcmp(). Outra forma de refletir sobre essas funções é que elas operam em buffers de memória, isto é, elas trabalham com bytes e deslocamento de bytes.
  • Outras funções recebem a codificação da string, possivelmente elas assumem um padrão se nenhuma informação lhes for passada. Este é o caso da função htmlentities() e da maioria das funções da extensão mbstring.
  • Outras utilizam o idioma atual (veja setlocale()), mas elas operam byte-a-byte. Este é o caso das funções strcasecmp(), strtoupper() e ucfirst(). Isso significa que podem ser utilizadas somente em codificações de byte único, desde que a codificação corresponda com a definida pelo idioma. Por exemplo, strtoupper("á") pode retornar "Á" se o idioma estiver definido corretamente e á, se codificado como byte único. Se a string estiver codificada em UTF-8, o resultado correto não será retornado e a string resultante pode ou não ser corrompida, dependendo do idioma atual.
  • Finalmente, elas podem simplesmente assumir que a string esteja utilizando uma codificação específica, geralmente UTF-8. Este é o caso da maioria das funções das extensões intl e PCRE (na segunda, somente quando o modificador u é utilizado). Devido a seu propósito especial, as funções utf8_decode() assume a codificação UTF-8 e utf8_encode() assume a codificação ISO-8859-1.

Por fim, isso significa que escrever programas corretos utilizando Unicode depende de evitar cuidadosamente funções que não funcionam e que provavelmente irão corromper os dados e usar, em substituição, funções que se comportem corretamente, geralmente das extensões intl e mbstring. Entretanto, usar funções que manipulam codificações Unicode é somente o começo. Não importa as funções que a linguagem provê, é essencial saber a especificação Unicode. Por exemplo, um programa que supõem que só existem maiúsculas e mínusculas está fazendo uma suposição errada.


Arrays

Um array no PHP é na verdade um mapa ordenado. Um mapa é um tipo que relaciona valores a chaves. Este tipo é otimizado para várias usos diferentes: ele pode ser tratado como um array, uma lista (vetor), hashtable (que é uma implementação de mapa), dicionário, coleção, pilha, fila e provavelmente mais. Assim como existe a possibilidade dos valores do array serem outros arrays, árvores e arrays multidimensionais.

A explicação dessas estruturas está além do escopo desse manual, mas pelo menos um exemplo é dado para cada uma delas. Para mais informações, busque a considerável literatura que existe sobre esse extenso tópico.

Sintaxe

Especificando com array()

Um array pode ser criado com o construtor de linguagem array(). Ele leva qualquer quantidade de pares separados por vírgula chave => valor como argumentos.

array(
    chave  => valor,
    chave2 => valor2,
    chave3 => valor3,
    ...
)

A vírgula após o último elemento do array é opcional e pode ser omitida. Isso geralmente é feito para arrays em uma única linha, por exemplo, array(1, 2) é preferível em vez de array(1, 2, ). Para arrays escritos em várias linhas, por outro lado, a vírgula a direita do último elemento é usada frequentemente, para permitir a adição de forma simples de novos elementos ao final.

A partir do PHP 5.4 você também pode utilizar a sintaxe contraída de array, que troca array() por [].

Exemplo #1 Um array simples

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// a partir do PHP 5.4
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>

A chave pode ser um inteiro ou uma string. O valor pode ser de qualquer tipo.

Adicionalmente, as seguintes coerções ocorrerão a chave:

  • Strings contendo inteiros válidos, serão convertidos para o tipo inteiro. Por exemplo, a chave"8" será, na verdade, armazenada como 8. Entretanto, "08" não será convertido, por não ser um inteiro decimal válido.
  • Floats também são convertidos para inteiros, isso significa que a parte fracionada será removida. Por exemplo, a chave 8.7 será na verdade armazenada como 8.
  • Booleanos são convertidos para inteiros, igualmente, por exemplo, a chave true, será na verdade armazenada como 1 e a chave false como 0.
  • Null será convertido para uma string vazia, por exemplo, a chave null na verdade será armazenada como "".
  • Arrays e objetos não podem ser usados como chaves. Fazer isso resultará em um aviso: Illegal offset type.

Se vários elementos na declaração do array utilizam a mesma chave, apenas o último será utilizado, enquanto todos os outros serão sobrescritos.

Exemplo #2 Exemplo de conversão de tipo e sobrescrita

<?php
$array = array(
    1    => "a",
    "1"  => "b",
    1.5  => "c",
    true => "d",
);
var_dump($array);
?>

O exemplo acima irá imprimir:

array(1) {
  [1]=>
  string(1) "d"
}

Como todas as chaves do exemplo acima foram convertidas para 1, o valor será sobrescrito a cada novo elemento e o valor final atribuído "d", será o único que restará.

As chaves dos arrays no PHP podem conter, ao mesmo tempo, inteiro e string, por que o PHP não faz distinção entre arrays indexados e associativos.

Exemplo #3 Misturando inteiro e string nas chaves

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
    100   => -100,
    -100  => 100,
);
var_dump($array);
?>

O exemplo acima irá imprimir:

array(4) {
  ["foo"]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "foo"
  [100]=>
  int(-100)
  [-100]=>
  int(100)
}

A chave é opcional. Se não for especificada, o PHP utilizará o incremento da chave do tipo inteiro com maior valor utilizado.

Exemplo #4 Arrays indexados sem chaves

<?php
$array = array("foo", "bar", "hello", "world");
var_dump($array);
?>

O exemplo acima irá imprimir:

array(4) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  [2]=>
  string(5) "hello"
  [3]=>
  string(5) "world"
}

É possível especificar a chave somente para alguns elementos e omití-las para outros:

Exemplo #5 Chaves em alguns elementos

<?php
$array = array(
         "a",
         "b",
    6 => "c",
         "d",
);
var_dump($array);
?>

O exemplo acima irá imprimir:

array(4) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [6]=>
  string(1) "c"
  [7]=>
  string(1) "d"
}

Como pode ver, o último valor "d" foi atribuído a chave 7. Isso acontece porque a chave com maior inteiro antes dela era 6.

Acessando elementos do array com colchetes

Elementos do array podem ser acessados utilizando a sintaxe array[chave].

Exemplo #6 Acessando elementos do array

<?php
$array = array(
    "foo" => "bar",
    42    => 24,
    "multi" => array(
         "dimensional" => array(
             "array" => "foo"
         )
    )
);

var_dump($array["foo"]);
var_dump($array[42]);
var_dump($array["multi"]["dimensional"]["array"]);
?>

O exemplo acima irá imprimir:

string(3) "bar"
int(24)
string(3) "foo"

Nota:

Tanto colchetes quanto chaves podem ser utilizados intercambiávelmente para acessar elementos de um array (por exemplo, $array[42] e $array{42} irão fazer a mesma coisa que o exemplo anterior).

A partir do PHP 5.4 é possível referenciar um elemento de um array como resultado de uma função ou método chamado diretamente. Antes, era possível somente através de uma variável temporária.

A partir do PHP 5.5 é possível referenciar elementos de um array literal.

Exemplo #7 Referenciando elemento de um array

<?php
function getArray() {
    return array(1, 2, 3);
}

// on PHP 5.4
$secondElement = getArray()[1];

// previously
$tmp = getArray();
$secondElement = $tmp[1];

// or
list(, $secondElement) = getArray();
?>

Nota:

Tentativas de acesso a uma chave de array que não foi definida é o mesmo que acessar qualquer outra variável indefinida: uma mensagem de erro de nível E_NOTICE será emitida, e o resultado será null.

Nota:

Referenciar um valor scalar de um array que não seja uma string gerará silenciosamente um null, isto é, sem emitir uma mensagem de erro.

Criando/modificando com a sintaxe de colchetes

Você pode também modificar um array existente explicitamente assimilando valores a ele.

Isto é feito apenas assimilando valores para o array enquanto especifica a chave em colchetes. Você pode omitir a chave, colocando um par vazio de colchetes ([]).

$arr[chave] = valor;
$arr[] = valor;
// chave pode ser tanto um integer quanto uma string
// valor pode ser qualquer valor de qualquer tipo

Se ainda $arr não existir, será criado, servindo como alternativa para criação de um array. Entretanto, essa prática é desencorajada por que se $arr conter algum valor (por exemplo, uma string de uma variável de requisição), então este valor permanecerá e o [] funcionará como um operador de acesso a string. Sempre será recomentado a inicialização de uma variável por atribuição direta.

Nota: A partir do PHP 7.1.0, aplicar um operador de índice vazio a uma string lança um erro fatal. Antes, a string era silencionamente convertida em um array.

Para mudar um certo valor, apenas atribua um novo valor para um elemento especificado por sua chave. Se você quiser remover um par chave/valor, você precisa aplicar a função unset() nele.

<?php
$arr = array(5 => 1, 12 => 2);

$arr[] = 56;    // Isto é o mesmo que $arr[13] = 56;
                // nesse ponto do script

$arr["x"] = 42; // Isto acrescenta um novo elemento
                // para o array com a chave "x"

unset($arr[5]); // Isto remove um elemento do array

unset($arr);    // E isto apaga todo o array
?>

Nota:

Como mencionado acima, se nenhuma chave for especificada, o maior índice inteiro é obtido, e a nova chave será esse o máximo + 1. Se nenhum índice inteiro existir ainda, a chave será 0 (zero).

Note que a chave inteira de maior valor utilizada não precisa necessariamente existir no array. Ele precisa ter existido no array em algum momento desde sua última reindexação. Veja o seguinte exemplo:

<?php
// Criando um array normal
$array = array(1, 2, 3, 4, 5);
print_r($array);

// Agora apagando todos os itens, mas deixando o array intacto:
foreach ($array as $i => $value) {
    unset($array[$i]);
}
print_r($array);

// Acrescentando um item (note que a chave é 5, em vez de zero).
$array[] = 6;
print_r($array);

// Reindexando:
$array = array_values($array);
$array[] = 7;
print_r($array);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
    [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)

Funções úteis

Há uma série de funções úteis para trabalhar com arrays. Veja a seção sobre funções para arrays.

Nota:

A função unset() permite apagar chaves de um array. Esteja avisado que o array não será reindexado. Se um comportamento como "remover e deslocar" é o desejado, o array poderá ser reindexado utilizando a função array_values().

<?php
$a = array( 1 => 'um', 2 => 'dois', 3 => 'três' );
unset( $a[2] );
/* irá produzir um array que pode ser definido como
   $a = array( 1=>'um', 3=>'três');
   e NÃO
   $a = array( 1 => 'um', 2 => 'três');
*/

$b = array_values($a);
// Agora $b é o  array(1 => 'um', 2 =>'três')
?>

A estrutura de controle foreach existe especificamente para lidar com arrays. Ele provê uma maneira fácil de percorrer um array.

Array: faça e não faça

Porque $foo[bar] está errado?

Sempre utilize delimitadores em torno dos índices do array. Por exemplo, $foo['bar'] está correto, enquanto que $foo[bar], não está. Mas porque? É comum encontrar essa sintaxe em scripts antigos:

<?php
$foo[bar] = 'inimigo';
echo $foo[bar];
// etc
?>

Isto está errado, mas funciona. A razão é que este código possui uma constante indefinida (bar) em vez de uma string ('bar' - repare nas aspas simples). Isto funciona, porque o PHP converte automaticamente uma string base (uma string não delimitada que não corresponde a nenhum símbolo conhecido) em uma string que contém a string base. Por exemplo, se não existir uma constante definida com o nome bar, então o PHP irá substituí-la pela string 'bar' e usá-la.

Aviso

O fallback para tratar uma constante indefinida como string base está depreciado a partir do PHP 7.2.0, e emitirá um erro de nível E_WARNING. Antes, um erro de nível E_NOTICE era emitido.

Nota: Isto não que significa que deve-se sempre delimitar as chaves. Não delimite chaves que sejam constantes ou variáveis, porque isso impedirá o PHP de interpretá-las.

<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('html_errors', false);
// Arrays simples:
$array = array(1, 2);
$count = count($array);
for ($i = 0; $i < $count; $i++) {
    echo "\nVerificando $i: \n";
    echo "Ruim: " . $array['$i'] . "\n";
    echo "Bom: " . $array[$i] . "\n";
    echo "Ruim: {$array['$i']}\n";
    echo "Bom: {$array[$i]}\n";
}
?>

O exemplo acima irá imprimir:

Verificando 0:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Ruim:
Bom: 1
Notice: Undefined index:  $i in /path/to/script.html on line 11
Ruim:
Bom: 1

Verificando 1:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Ruim:
Bom: 2
Notice: Undefined index:  $i in /path/to/script.html on line 11
Ruim:
Bom: 2

Mais exemplos para demonstrar esse comportamento:

<?php
// Mostrando todos os erros
error_reporting(E_ALL);

$arr = array('fruta' => 'maçã', 'legume' => 'cenoura');

// Correto
print $arr['fruta'];  // maçã
print $arr['legume']; // cenoura

// Errado. Isto funciona mas lança um erro PHP do
// nível E_NOTICE porque é utilizada uma constante indefinida (fruta)
//
// Repare: Quando utiliza-se a constrante indefinida fruta, o PHP assume 'fruta'
print $arr[fruta];    // maçã

// Agora vamos definir uma constante para demonstrar o que pode acontecer. Nós
// vamos assimilar o valor 'legume' para a constante de nome fruta
define('fruta', 'legume');

// Observe a diferenca agora
print $arr['fruit'];  // maçã
print $arr[fruit];    // cenoura

// O exemplo seguinte é normal dentro de uma string. Constantes não são
// observadas dentro de strings e por isso nenhum E-NOTICE não é lançado aqui
print "Olá $arr[fruta]";      // Olá maçã

// Com uma exceção: chaves envolvendo arrays dentro de strings
// ativam a checagem de constantes, como em
print "Olá {$arr[fruta]}";    // Hello cenoura
print "Olá {$arr['fruta']}";  // Hello maçã

// E isso não funciona, resultando em um erro de interpretação do tipo:
// Parse error: parse error, expecting T_STRING' or T_VARIABLE' or T_NUM_STRING'
// Isso se aplica ao uso de superglobais em strings
print "Olá $arr['fruta']";
print "Olá $_GET['foo']";

// Nesse caso, use concatenacao
print "Olá " . $arr['fruta']; // Olá maçã
?>

Quando a diretiva error_reporting for configurada para mostrar erros de nível E_NOTICE (configurando-a como E_ALL, por exemplo), se tornarão imediatamente visíveis. Por padrão, a diretiva error_reporting está configurada para não mostrar avisos.

Como especificado na seção sintaxe, o que estiver entre os colchetes ('[' e ']'), precisa ser uma expressão. Isso significa que códigos como estes funcionam:

<?php
echo $arr[algumafuncao($bar)];
?>

Isto é um exemplo de utilização de um valor de retorno de função como um índice de array. O PHP também aceita constantes:

<?php
$error_descriptions[E_ERROR] = "Um erro fatal ocorreu";
$error_descriptions[E_WARNING] = "O PHP emitiu um alarme";
$error_descriptions[E_NOTICE] = "Apenas um aviso informal";
?>

Note que E_ERROR também é um identificador válido, assim como bar no primeiro exemplo. Mas no último exemplo seria, na verdade, o mesmo que escrever:

<?php
$error_descriptions[1] = "Um erro fatal ocorreu";
$error_descriptions[2] = "O PHP emitiu um alarme";
$error_descriptions[8] = "Apenas um aviso informal";
?>

porque E_ERROR é igual a 1, e assim por diante.

Então porque isso é tão ruim?

Se em algum ponto do futuro, o time do PHP quiser acrescentar outra constante ou palavra chave, ou você mesmo introduzir outra constante na sua aplicação, você terá problemas. Por exemplo, já não se pode utilizar as palavras empty e default dessa maneira, desde que elas são palavras reservadas especiais.

Nota: Para reforçar, dentro de uma string delimitada por aspas duplas, é válido não englobar o índice do array com aspas simples, então "$foo[bar]" é válido. Veja os exemplos anteriores para detalhes assim como a seção sobre interpretação de variáveis em strings.

Convertendo para array

Para qualquer dos tipos: integer, float, string, boolean e resource, converter um valor para um array, resultará em um array com um único elemento com índice zero e valor escalar convertido. Em outras palavras, (array)$scalarValue é exatamente o mesmo que array($scalarValue).

Se um objeto é convertido para um array, o resultado será um array em que seus elementos serão as propriedades do objeto. As chaves serão o nome das propriedades com pequenas notáveis exceções: propriedades inteiras serão inacessíveis; variáveis privada tem o nome da classe prefixando o nome da variável; variáveis protegidas tem um '*' prefixando o nome da variável. Estes prefixos tem bytes nulos em ambos os lados. Isto pode resultar em algum comportamento inesperado:

<?php

class A {
    private $A; // This will become '\0A\0A'
}

class B extends A {
    private $A; // This will become '\0B\0A'
    public $AA; // This will become 'AA'
}

var_dump((array) new B());
?>

Acima aparecem duas chaves chamadas 'AA', embora uma delas é, na verdade, nomeada '\0A\0A'.

Converter um valor null para um array, você terá um array vazio.

Comparando

É possível comparar arrays utilizando a função array_diff() e com a utilização dos operadores de array.

Exemplos

O tipo array do PHP é muito versátil. Temos aqui alguns exemplos:

<?php
// Isso:
$a = array( 'color' => 'red',
            'taste' => 'sweet',
            'shape' => 'round',
            'name'  => 'apple',
            4        // key will be 0
          );

$b = array('a', 'b', 'c');

// . . .é equivalente a isso:
$a = array();
$a['color'] = 'red';
$a['taste'] = 'sweet';
$a['shape'] = 'round';
$a['name']  = 'apple';
$a[]        = 4;        // a chave será 0

$b = array();
$b[] = 'a';
$b[] = 'b';
$b[] = 'c';

// Após a execução do código acima, $ será o array
// array('color' => 'red', 'taste' => 'sweet', 'shape' => 'round',
// 'name' => 'apple', 0 => 4), e $b será o array
// array(0 => 'a', 1 => 'b', 2 => 'c'), ou simplesmente array('a', 'b', 'c').
?>

Exemplo #8 Utilizando array()

<?php
// Array como (propriedade-)mapa
$map = array( 'versao'     => 4,
              'OS'         => 'Linux',
              'lang'       => 'inglês',
              'short_tags' => true
            );

// apenas chaves numéricas
$array = array( 7,
                8,
                0,
                156,
                -10
              );
// que é o mesmo que array( 0 => 7, 1 => 8, ...)

$switching = array(         10, // chave = 0
                    5    =>  6,
                    3    =>  7,
                    'a'  =>  4,
                            11, // chave = 6 (o índice máximo era 5)
                    '8'  =>  2, // chave = 8 (inteiro!)
                    '02' => 77, // chave = '02'
                    0    => 12  // o valor 10 será sobrescrito por 12
                  );

// array vazio
$empty = array();
?>

Exemplo #9 Coleção

<?php
$cores = array('vermelho', 'azul', 'verde', 'amarelo');

foreach ($cores as $cor) {
    echo "Você gosta de $cor?\n";
}

?>

O exemplo acima irá imprimir:

Você gosta de vermelho?
Você gosta de azul?
Você gosta de verde?
Você gosta de amarelo?

É possível alterar diretamente os valores de um array passando-os como referência.

Exemplo #10 Alterando valores em um laço

<?php
foreach ($colors as &$color) {
    $color = strtoupper($color);
}
unset($color); /* ensure that following writes to
$color will not modify the last array element */

print_r($colors);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => RED
    [1] => BLUE
    [2] => GREEN
    [3] => YELLOW
)

Este exemplo cria um array na base 1.

Exemplo #11 Array baseado em 1

<?php
$primeiroquarto  = array(1 => 'Janeiro', 'Fevereiro', 'Março');
print_r($primeiroquarto);
?>

O exemplo acima irá imprimir:

Array
(
    [1] => 'Janeiro'
    [2] => 'Fevereiro'
    [3] => 'Março'
)

Exemplo #12 Preenchendo um array

<?php
// preenchendo um array com todos os itens de um diretório
$handle = opendir('.');
while (false !== ($file = readdir($handle))) {
    $files[] = $file;
}
closedir($handle);
?>

Arrays são ordenados. A ordem pode ser modificada utilizando várias funções de ordenação. Veja a seção de funções de arrays para mais informações. A função count() pode ser utilizada para contar o número de itens em um array.

Exemplo #13 Ordenando arrays

<?php
sort($files);
print_r($files);
?>

Como o valor de um array pode ser qualquer coisa, isso significa que também poderá ser outro array. Isso habilita a criação de arrays recursivos e multidimensionais.

Exemplo #14 Arrays recursivos e multidimensionais

<?php
$fruits = array ( "frutas"  => array ( "a" => "laranja",
                                       "b" => "banana",
                                       "c" => "maçã",
                                     ),
                  "numeros" => array ( 1,
                                       2,
                                       3,
                                       4,
                                       5,
                                       6
                                     ),
                  "buracos" => array (      "primeiro",
                                       5 => "segundo",
                                            "terceiro",
                                     ),
                );

// Alguns exemplo de enderecos dos valores do array acima
echo $fruits["buracos"][5];   // prints "segundo"
echo $fruits["frutas"]["a"];  // prints "laranja"
unset($fruits["buracos"][0]); // remove "primeiro"

// Criando um novo array multidimensional
$sucos["maca"]["verde"] = "bom";
?>

Atribuições de array sempre envolvem cópias de valores. Use o operador de referência para copiar um array por referência.

<?php
$arr1 = array(2, 3);
$arr2 = $arr1;
$arr2[] = 4; // $arr2 é modificado,
             // $arr1 continua sendo apenas array(2, 3)

$arr3 = &$arr1;
$arr3[] = 4; // agora $arr1 e $arr3 sao os mesmos
?>


Iterables

Iterable is a pseudo-type introduced in PHP 7.1. It accepts any array or object implementing the Traversable interface. Both of these types are iterable using foreach and can be used with yield from within a generator.

Using Iterables

Iterable can be used as a parameter type to indicate that a function requires a set of values, but does not care about the form of the value set since it will be used with foreach. If a value is not an array or instance of Traversable, a TypeError will be thrown.

Exemplo #1 Iterable parameter type example

<?php

function foo(iterable $iterable) {
    foreach ($iterable as $value) {
        // ...
    }
}

?>

Parameters declared as iterable may use null or an array as a default value.

Exemplo #2 Iterable parameter default value example

<?php

function foo(iterable $iterable = []) {
    // ...
}

?>

Iterable can also be used as a return type to indicate a function will return an iterable value. If the returned value is not an array or instance of Traversable, a TypeError will be thrown.

Exemplo #3 Iterable return type example

<?php

function bar(): iterable {
    return [1, 2, 3];
}

?>

Functions declaring iterable as a return type may also be generators.

Exemplo #4 Iterable generator return type example

<?php

function gen(): iterable {
    yield 1;
    yield 2;
    yield 3;
}

?>

Iterable Type Variance

Classes extending/implementing may broaden methods using array or Traversable as parameter types to iterable or narrow return types from iterable to array or Traversable.

Exemplo #5 Iterable type variance example

<?php

interface Example {
    public function method(array $array): iterable;
}

class ExampleImplementation implements Example {
    public function method(iterable $iterable): array {
        // Parameter broadened and return type narrowed.
    }
}

?>


Objetos

Inicialização de objetos

Para criar um novo objeto, utilize a instrução new para instanciar uma classe:

<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo.";
    }
}

$bar = new foo;
$bar->do_foo();
?>

Para uma discussão completa, veja o capítulo Classes e Objetos.

Convertendo para objetos

Se um objeto é convertido para um objeto, ele não é modificado. Se um valor de qualquer outro tipo é convertido para um objeto, uma nova instância da classe interna stdClass é criada. Se o valor for null, a nova instância será vazia. Um array é convertido para um objeto com as propriedades nomeadas pelas chaves e os valores correspondentes, com exceção de chaves numéricas que ficarão inacessíveis a menos que sejam iteradas.

<?php
$obj = (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // exibe 'bool(true)' a partir do PHP 7.2.0; antes exibia 'bool(false)'
var_dump(key($obj)); // exibe 'string(1) "1"' a partir do PHP 7.2.0; antes exibia 'int(1)'
?>

Para qualquer outro valor, uma propriedade chamada scalar conterá o valor.

<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // exibe 'ciao'
?>


Recursos

Um recurso é uma variável especial, que mantém uma referência a um recurso externo. Recursos são criados e usados por funções especiais. Veja o apêndice para uma lista de todas essas funções e seus tipos correspondentes.

Veja também a função get_resource_type().

Convertendo para recurso

Como as variáveis resource mantém manipuladores especiais para arquivos abertos, conexões de bancos de dados, canvas de imagens e coisas do tipo, converter para resource não faz sentido algum.

Liberando recursos

Graças ao sistema de contagem de referência introduzido com a Engine da Zend, um recurso sem referências é detectado automaticamente, e liberado pelo coletor de lixo. Por esta razão, é rara a necessidade de liberação de memória manualmente.

Nota: Conexões persistentes de bancos são exceções a regra. Elas não são destruídas pelo coletor de lixo. Veja também a seção conexões persistentes para mais informações.


NULL

O valor especial null representa uma variável sem valor. null é o único valor possível do tipo null.

A variável é considerada null se:

  • foi atribuída a constante null.

  • ainda não recebeu nenhum valor.

  • foi apagada com unset().

Sintaxe

Há apenas um valor do tipo null, a constante case-insensitive null.

<?php
$var = NULL;
?>

Veja também as funções is_null() e unset().

Convertendo para null

Aviso

This feature has been DEPRECATED as of PHP 7.2.0. Relying on this feature is highly discouraged.

Converter uma variável para null utilizando (unset) $var não removerá a variável ou apagará seu valor. Apenas retornará null como valor.


Callbacks / Callables

Callbacks podem ser representadas pela declaração de tipo callable a partir do PHP 5.4. Esta documentação utiliza o tipo callback para referenciar a mesma coisa.

Algumas funções como call_user_func() ou usort() aceitam funções de callback definidas pelo usuário como parâmetro. Funções de callback não precisam ser apenas funções simples, mas também métodos de objetos, incluindo os estáticos.

Passagem por parâmetro

Uma função PHP é passada através do seu nome como uma string. Qualquer função interna
ou definida pelo usuário pode ser utilizada, com exceção dos construtores de linguagem como:
array(), echo,
empty(), eval(),
exit(), isset(),
list(), print ou
unset().

Um método de um objeto instanciado é passado como um array contendo um objeto no índice 0 e o nome do método no índice 1. Acessar métodos protegidos e privados de uma classe é permitido.

Métodos estáticos também podem ser passados sem a instância de um objeto dessa classe ao passar o nome da classe ao invés de um objeto no índice 0. A partir do PHP 5.2.3, também é possível utilizar 'NomeDaClasse::nomeDoMetodo'.

Além de funções comuns definidas pelo usuário, funções anônimas também podem ser passadas como um parâmetro de callback.

Exemplo #1 Exemplos de funções de callback

<?php

// Exemplo de função de callback
function my_callback_function() {
    echo 'hello world!';
}

// Exemplo de método de callback
class MyClass {
    static function myCallbackMethod() {
        echo 'Hello World!';
    }
}

// Tipo 1: Calback simples
call_user_func('my_callback_function');

// Tipo 2: Chamada à métodos estáticos
call_user_func(array('MyClass', 'myCallbackMethod'));

// Tipo 3: Chamada à métodos de objetos
$obj = new MyClass();
call_user_func(array($obj, 'myCallbackMethod'));

// Tipo 4: Chamada à métodos estáticos (a partir do PHP 5.2.3)
call_user_func('MyClass::myCallbackMethod');

// Tipo 5: Chamada relativa à métodos estáticos (a partir do PHP 5.3.0)
class A {
    public static function who() {
        echo "A\n";
    }
}

class B extends A {
    public static function who() {
        echo "B\n";
    }
}

call_user_func(array('B', 'parent::who')); // A

// Type 6: Objetos que implementam __invoke podem ser utilizados como callables (desde o PHP 5.3)
class C {
    public function __invoke($name) {
        echo 'Hello ', $name, "\n";
    }
}

$c = new C();
call_user_func($c, 'PHP!');
?>

Exemplo #2 Exemplo de Callback utilizando uma Closure

<?php
// Nossa closure
$double = function($a) {
    return $a * 2;
};

// Esta é a série de números
$numbers = range(1, 5);

// O uso da closure aqui para
// dobrar o valor de cada elemento de nossa
// série
$new_numbers = array_map($double, $numbers);

print implode(' ', $new_numbers);
?>

O exemplo acima irá imprimir:

2 4 6 8 10

Nota:

Callbacks registrados com funções como call_user_func() e call_user_func_array() não serão chamados caso haja uma exceção não-pega lançada em um callback anterior.


Type declarations

Type declarations can be added to function arguments, return values, and, as of PHP 7.4.0, class properties. They ensure that the value is of the specified type at call time, otherwise a TypeError is thrown.

Nota:

When overriding a parent method, the child's method must match any return type declaration on the parent. If the parent doesn't define a return type, then the child method may do so.

Single types

Tipo | Descrição | Versão
Class/interface name | The value must be an instanceof the given class or interface. |
self | The value must be an instanceof the same class as the one in which the type declaration is used. Can only be used in classes. |
parent | The value must be an instanceof the parent of the class in which the type declaration is used. Can only be used in classes. |
array | The value must be an array. |
callable | The value must be a valid callable. Cannot be used as a class property type declaration. |
bool | The value must be a boolean value. |
float | The value must be a floating point number. |
int | The value must be an integer. |
string | The value must be a string. |
iterable | The value must be either an array or an instanceof Traversable. | PHP 7.1.0
object | The value must be an object. | PHP 7.2.0
mixed | The value can be any value. | PHP 8.0.0
Aviso

Aliases for the above scalar types are not supported. Instead, they are treated as class or interface names. For example, using boolean as a type declaration will require the value to be an instanceof the class or interface boolean, rather than of type bool:

<?php
    function test(boolean $param) {}
    test(true);
?>

Output of the above example in PHP 8:

Warning: "boolean" will be interpreted as a class name. Did you mean "bool"? Write "\boolean" to suppress this warning in /in/9YrUX on line 2

Fatal error: Uncaught TypeError: test(): Argument #1 ($param) must be of type boolean, bool given, called in - on line 3 and defined in -:2
Stack trace:
#0 -(3): test(true)
#1 {main}
  thrown in - on line 2

mixed

mixed is equivalent to the union type array|bool|callable|int|float |object|resource|string|null . Available as of PHP 8.0.0.

Exemplos

Exemplo #1 Basic class type declaration

<?php
class C {}
class D extends C {}

// This doesn't extend C.
class E {}

function f(C $c) {
    echo get_class($c)."\n";
}

f(new C);
f(new D);
f(new E);
?>

Output of the above example in PHP 8:

C
D

Fatal error: Uncaught TypeError: f(): Argument #1 ($c) must be of type C, E given, called in /in/gLonb on line 14 and defined in /in/gLonb:8
Stack trace:
#0 -(14): f(Object(E))
#1 {main}
  thrown in - on line 8

Exemplo #2 Basic interface type declaration

<?php
interface I { public function f(); }
class C implements I { public function f() {} }

// This doesn't implement I.
class E {}

function f(I $i) {
    echo get_class($i)."\n";
}

f(new C);
f(new E);
?>

Output of the above example in PHP 8:

C

Fatal error: Uncaught TypeError: f(): Argument #1 ($i) must be of type I, E given, called in - on line 13 and defined in -:8
Stack trace:
#0 -(13): f(Object(E))
#1 {main}
  thrown in - on line 8

Exemplo #3 Basic return type declaration

<?php
function sum($a, $b): float {
    return $a + $b;
}

// Note that a float will be returned.
var_dump(sum(1, 2));
?>

O exemplo acima irá imprimir:

float(3)

Exemplo #4 Returning an object

<?php
class C {}

function getC(): C {
    return new C;
}

var_dump(getC());
?>

O exemplo acima irá imprimir:

object(C)#1 (0) {
}

Nullable type

As of PHP 7.1.0, type declarations can be marked nullable by prefixing the type name with a question mark (?). This signifies that the value can be of the specified type or null.

Exemplo #5 Nullable argument type declaration

<?php
class C {}

function f(?C $c) {
    var_dump($c);
}

f(new C);
f(null);
?>

O exemplo acima irá imprimir:

object(C)#1 (0) {
}
NULL

Exemplo #6 Nullable return type declaration

<?php
function get_item(): ?string {
    if (isset($_GET['item'])) {
        return $_GET['item'];
    } else {
        return null;
    }
}
?>

Nota:

Prior to PHP 7.1.0, it was possible to achieve nullable arguments by making null the default value. This is not recommended as this breaks during inheritance.

Exemplo #7 Old way to make arguments nullable

<?php
class C {}

function f(C $c = null) {
    var_dump($c);
}

f(new C);
f(null);
?>

O exemplo acima irá imprimir:

object(C)#1 (0) {
}
NULL

Union types

A union type declaration accepts values of multiple different types, rather than a single one. Union types are specified using the syntax T1|T2|.... Union types are available as of PHP 8.0.0.

Nullable union types

The null type is supported as part of unions, such that T1|T2|null can be used to create a nullable union. The existing ?T notation is considered a shorthand for the common case of T|null.

Cuidado

null cannot be used as a standalone type.

false pseudo-type

The false literal type is supported as part of unions, and is included as for historical reasons many internal functions return false instead of null for failures. A classic example of such a function is strpos().

Cuidado

false cannot be used as a standalone type (including nullable standalone type). As such, all of false, false|null and ?false are not permitted.

Cuidado

The true literal type does not exist.

Duplicate and redundant types

To catch simple bugs in union type declarations, redundant types that can be detected without performing class loading will result in a compile-time error. This includes:

  • Each name-resolved type may only occur once. Types such as int|string|INT result in an error.
  • If bool is used, false cannot be used additionally.
  • If object is used, class types cannot be used additionally.
  • If iterable is used, array and Traversable cannot be used additionally.

Nota: This does not guarantee that the type is “minimal”, because doing so would require loading all used class types.

For example, if A and B are class aliases, then A|B remains a legal union type, even though it could be reduced to either A or B. Similarly, if class B extends A {}, then A|B is also a legal union type, even though it could be reduced to just A.

<?php
function foo(): int|INT {} // Disallowed
function foo(): bool|false {} // Disallowed

use A as B;
function foo(): A|B {} // Disallowed ("use" is part of name resolution)

class_alias('X', 'Y');
function foo(): X|Y {} // Allowed (redundancy is only known at runtime)
?>

Return only types

void

void is a return type indicating the function does not return a value. Therefore it cannot be part of a union type declaration. Available as of PHP 7.1.0.

static

The value must be an instanceof the same class as the one the method is called in. Available as of PHP 8.0.0.

Strict typing

By default, PHP will coerce values of the wrong type into the expected scalar type declaration if possible. For example, a function that is given an int for a parameter that expects a string will get a variable of type string.

It is possible to enable strict mode on a per-file basis. In strict mode, only a value corresponding exactly to the type declaration will be accepted, otherwise a TypeError will be thrown. The only exception to this rule is that an int value will pass a float type declaration.

Aviso

Function calls from within internal functions will not be affected by the strict_types declaration.

To enable strict mode, the declare statement is used with the strict_types declaration:

Nota:

Strict typing applies to function calls made from within the file with strict typing enabled, not to the functions declared within that file. If a file without strict typing enabled makes a call to a function that was defined in a file with strict typing, the caller's preference (coercive typing) will be respected, and the value will be coerced.

Nota:

Strict typing is only defined for scalar type declarations.

Exemplo #8 Strict typing for arguments values

<?php
declare(strict_types=1);

function sum(int $a, int $b) {
    return $a + $b;
}

var_dump(sum(1, 2));
var_dump(sum(1.5, 2.5));
?>

Output of the above example in PHP 8:

int(3)

Fatal error: Uncaught TypeError: sum(): Argument #1 ($a) must be of type int, float given, called in - on line 9 and defined in -:4
Stack trace:
#0 -(9): sum(1.5, 2.5)
#1 {main}
  thrown in - on line 4

Exemplo #9 Coercive typing for argument values

<?php
function sum(int $a, int $b) {
    return $a + $b;
}

var_dump(sum(1, 2));

// These will be coerced to integers: note the output below!
var_dump(sum(1.5, 2.5));
?>

O exemplo acima irá imprimir:

int(3)
int(3)

Exemplo #10 Strict typing for return values

<?php
declare(strict_types=1);

function sum($a, $b): int {
    return $a + $b;
}

var_dump(sum(1, 2));
var_dump(sum(1, 2.5));
?>

O exemplo acima irá imprimir:

int(3)

Fatal error: Uncaught TypeError: sum(): Return value must be of type int, float returned in -:5
Stack trace:
#0 -(9): sum(1, 2.5)
#1 {main}
  thrown in - on line 5

Coercive typing with union types

When strict_types is not enabled, scalar type declarations are subject to limited implicit type coercions. If the exact type of the value is not part of the union, then the target type is chosen in the following order of preference:

  1. int
  2. float
  3. string
  4. bool
If the type both exists in the union, and the value can be coerced to the type under PHPs existing type checking semantics, then the type is chosen. Otherwise the next type is tried.

Cuidado

As an exception, if the value is a string and both int and float are part of the union, the preferred type is determined by the existing “numeric string” semantics. For example, for "42" int is chosen, while for "42.0" float is chosen.

Nota:

Types that are not part of the above preference list are not eligible targets for implicit coercion. In particular no implicit coercions to the null and false types occur.

Exemplo #11 Example of types being coerced into a type part of the union

<?php
// int|string
42    --> 42          // exact type
"42"  --> "42"        // exact type
new ObjectWithToString --> "Result of __toString()"
                      // object never compatible with int, fall back to string
42.0  --> 42          // float compatible with int
42.1  --> 42          // float compatible with int
1e100 --> "1.0E+100"  // float too large for int type, fall back to string
INF   --> "INF"       // float too large for int type, fall back to string
true  --> 1           // bool compatible with int
[]    --> TypeError   // array not compatible with int or string

// int|float|bool
"45"    --> 45        // int numeric string
"45.0"  --> 45.0      // float numeric string

"45X"   --> true      // not numeric string, fall back to bool
""      --> false     // not numeric string, fall back to bool
"X"     --> true      // not numeric string, fall back to bool
[]      --> TypeError // array not compatible with int, float or bool
?>

Misc

Exemplo #12 Typed pass-by-reference Parameters

Declared types of reference parameters are checked on function entry, but not when the function returns, so after the function had returned, the argument's type may have changed.

<?php
function array_baz(array &$param)
{
    $param = 1;
}
$var = [];
array_baz($var);
var_dump($var);
array_baz($var);
?>

Output of the above example in PHP 8:

int(1)

Fatal error: Uncaught TypeError: array_baz(): Argument #1 ($param) must be of type array, int given, called in - on line 9 and defined in -:2
Stack trace:
#0 -(9): array_baz(1)
#1 {main}
  thrown in - on line 2

Exemplo #13 Catching TypeError

<?php
declare(strict_types=1);

function sum(int $a, int $b) {
    return $a + $b;
}

try {
    var_dump(sum(1, 2));
    var_dump(sum(1.5, 2.5));
} catch (TypeError $e) {
    echo 'Error: ', $e->getMessage();
}
?>

Output of the above example in PHP 8:

int(3)
Error: sum(): Argument #1 ($a) must be of type int, float given, called in - on line 10


Pseudo-tipos e variáveis utilizadas nesta documentação

Pseudo-tipos são palavras-chave usadas na documentação do PHP para especificar os tipos ou valores que um parâmetro pode ter. Observe que eles não são primitivos da linguagem PHP. Portanto, você não pode usar pseudo-tipos como dicas de tipo em suas próprias funções personalizadas.

mixed

mixed indica que um parâmetro pode aceitar vários (mas não necessariamente todos) os tipos.

gettype(), por exemplo, aceita todos os tipos do PHP, enquanto que a função str_replace() aceita somente strings e arrays.

number

number indica que um parâmetro pode ser tanto um integer ou float.

callback

O pseudo-tipo callback era utilizado nesta documentação antes da introdução da declaração de tipo callable pelo PHP 5.4. Isso significa exatamente o mesmo.

array|object

array|object indica que o parâmetro pode ser tanto array quanto object.

void

void no tipo de retorno indica que não há valor a ser retornado. void na lista de parâmetros indica que a função não aceita parâmetros.

...

$... no protótipo de uma função significa e assim por diante. Este nome de variável é utilizado quando a função suporta um número infinito de argumentos.


Manipulação de tipos

O PHP não obriga (ou suporta) a definição de tipo explícita na declaração de variáveis: o tipo de uma variável é determinado pelo contexto em que a variável é utilizada. Isto significa que, atribuir um valor string a variável $var, fará $var se tornar uma string. Se um valor integer for atribuído a $var, ela se torna um integer.

Um exemplo de conversão automática do PHP é o operador de multiplicação '*'. Se qualquer um dos operandos for float, todos os operadores serão avaliados como float, e o resultado será um float. De outra forma, se os operadores forem interpretados como integers, o resultado será um integer. Note que isso não muda os tipos dos operadores: apenas muda como esses operadores são avaliados e qual o tipo da expressão.

<?php
$foo = "1";  // $foo é string (ASCII 49)
$foo *= 2;   // $foo é agora um inteiro (2)
$foo = $foo * 1.3;  // $foo é agora um float (2.6)
$foo = 5 * "10 pequenos porcos"; // $foo é  um inteiro (50)
$foo = 5 * "10 minúsculos porcos";     // $foo é um inteiro (50)
?>

Se os últimos dois exemplos lhe parecerem estranhos, veja a Conversão de strings para números.

Para forçar uma variável ser avaliada como um certo tipo, veja a seção Conversão de tipo. Se desejar mudar o tipo de uma variável, veja a função settype().

Para testar qualquer um dos exemplo desta seção, você pode usar a função var_dump().

Nota:

O comportamento de uma conversão automática para array é atualmente indefinida.

O PHP também suporta indexação em strings via índice usando a mesma sintaxe de array, o seguinte exemplo é válido para todas versões do PHP:

<?php
$a    = 'car'; // $a é uma string
$a[0] = 'b';   // $a é ainda uma string
echo $a;       // bar
?>

Veja a seção intitulada Acessando caracteres da string para mais informações.

Conversão de Tipos

A conversão de tipos no PHP funciona como no C: o nome de um tipo desejado é escrito entre parênteses antes da variável que se deseja converter.

<?php
$foo = 10;             // $foo é um inteiro
$bar = (boolean) $foo; // $bar é um booleano
?>

As conversões permitidas são:

  • (int), (integer) - molde para inteiro
  • (bool), (boolean) - converte para booleano
  • (float), (double), (real) - converte para número de ponto flutuante
  • (string) - converte para string
  • (array) - converte para array
  • (object) - converte para objeto
  • (unset) - converte para NULL

(binary) e o prefixo b foram adicionados no PHP 5.2.1. Note que (binary) é essencialmente o mesmo que (string), mas não deve ser invocado

Conversão (unset) está depreciada a partir do PHP 7.2.0. Note que (unset) é o mesmo que atribuir NULL a variável ou chamada. Conversão (unset) será removida a partir do PHP 8.0.0.

Note que tabulações e espaços são permitidos dentro dos parênteses, então o seguinte são funcionalmente equivalentes:

<?php
$foo = (int) $bar;
$foo = ( int ) $bar;
?>

Convertendo strings literais e variáveis para strings binárias:

<?php
$binary = (binary)$string;
$binary = b"binary string";
?>

Nota:

Em vez de converter uma variável para string, pode-se também englobar a variável entre aspas duplas.

<?php
$foo = 10;            // $foo é um interio
$str = "$foo";        // $str é uma string
$fst = (string) $foo; // $fst tambem é uma string

// Isto imprimirah "eles são o mesmo"
if ($fst === $str) {
    echo "eles são o mesmo";
}
?>

Pode não ser tão óbvio o que ocorre exatamente quando se converte entre certos tipos. Para mais informações, veja essas seções:

  • Convertendo para booleano
  • Convertendo para inteiro
  • Convertendo para ponto flutuante
  • Convertendo para string
  • Convertendo para array
  • Convertendo para objeto
  • Convertendo para recurso
  • Convertendo para NULL
  • Tabelas de comparação entre tipos


Variáveis

Índice

  • Básico
  • Variáveis Pré-definidas
  • Escopo de variáveis
  • Variáveis variáveis
  • Variáveis de fontes externas


Básico

As variáveis no PHP são representadas por um cifrão ($) seguido pelo nome da variável. Os nomes de variável são case-sensitive.

Nomes de variável seguem as mesmas regras como outros rótulos no PHP. Um nome de variável válido inicia-se com uma letra ou sublinhado, seguido de qualquer número de letras, números ou sublinhados. Em uma expressão regular, poderia ser representado assim: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

Nota: Para nosso propósito, as letras a-z, A-Z e os bytes de 127 a 255 (0x7f-0xff).

Nota: $this é uma variável especial que não pode ser atribuída.

Dica

Veja também o Guia de nomenclatura em espaço de usuário.

Para informação sobre funções relacionadas a variáveis, veja a Referência de funções para variáveis.

<?php
$var = 'Bob';
$Var = 'Joe';
echo "$var, $Var";      // exibe "Bob, Joe"

$4site = 'not yet';     // inválido; começa com um número
$_4site = 'not yet';    // válido; começa com um sublinhado
$täyte = 'mansikka';    // válido; 'ä' é um caracter ASCII (extendido) 228
?>

Por padrão, as variáveis são sempre atribuídas por valor. Isto significa que ao atribuir uma expressão a uma variável, o valor da expressão original é copiado integralmente para a variável de destino. Isto significa também que, após atribuir o valor de uma variável a outra, a alteração de uma destas variáveis não afetará a outra. Para maiores informações sobre este tipo de atribuição, veja o capítulo em Expressões.

O PHP também oferece um outro meio de atribuir valores a variáveis: atribuição por referência. Isto significa que a nova variável simplesmente referencia (em outras palavras, "torna-se um apelido para" ou "aponta para") a variável original. Alterações na nova variável afetam a original, e vice versa.

Para atribuir por referência, simplesmente adicione um e-comercial (&) na frente do nome da variável que estiver sendo atribuída (variável de origem) Por exemplo, o trecho de código abaixo imprime 'My name is Bob' duas vezes:

<?php
$foo = 'Bob';              // Atribui o valor 'Bob' a variável $foo
$bar = &$foo;              // Referecia $foo através de $bar.
$bar = "My name is $bar";  // Altera $bar...
echo $bar;
echo $foo;                 // $foo é alterada também.
?>

Uma observação importante a se fazer, é que somente variáveis nomeadas podem ser atribuídas por referência.

<?php
$foo = 25;
$bar = &$foo;      // Esta atribuição é válida.
$bar = &(24 * 7);  // Inválido; referencia uma expressão sem nome.

function test()
{
   return 25;
}

$bar = &test();    // Inválido.
?>

Não é necessário inicializar variáveis no PHP, contudo é uma ótima prática. Variáveis não inicializadas tem um valor padrão de tipo dependendo do contexto no qual são usadas - padrão de booleanos é false, de inteiros e ponto-flutuantes é zero, strings (por exemplo, se utilizados em echo), são definidas como vazia e arrays tornam-se um array vazio.

Exemplo #1 Valores padrões de variáveis não inicializadas

<?php
// Limpa e remove referência (sem uso de contexto) a variável; imprime NULL
var_dump($unset_var);

// Uso de booleano; imprime 'false' (Veja sobre operadores ternário para saber mais sobre a sintaxe)
echo ($unset_bool ? "true" : "false"); // false

// Uso de string; imprime 'string(3) "abc"'
$unset_str .= 'abc';
var_dump($unset_str);

// Uso de inteiro; imprime 'int(25)'
$unset_int += 25; // 0 + 25 => 25
var_dump($unset_int);

// Uso de float/double; imprime 'float(1.25)'
$unset_float += 1.25;
var_dump($unset_float);

// Uso de array; imprime array(1) {  [3]=>  string(3) "def" }
$unset_arr[3] = "def"; // array() + array(3 => "def") => array(3 => "def")
var_dump($unset_arr);

// Uso de objeto; cria novo objeto stdClass (veja http://www.php.net/manual/en/reserved.classes.php)
// Imprime: object(stdClass)#1 (1) {  ["foo"]=>  string(3) "bar" }
$unset_obj->foo = 'bar';
var_dump($unset_obj);
?>

Confiar no valor padrão de uma variável não inicializada é problemático no caso de incluir um arquivo em outro que usa uma variável de mesmo nome. Erros de nível E_NOTICE serão emitidos no caso de ter variáveis não inicializadas, contudo não no caso de adicionar elementos a um array não inicializado. O construtor da linguagem isset() pode ser usado para detectar se uma variável não foi inicializada.


Variáveis Pré-definidas

O PHP fornece um grande número de variáveis predefinidas para qualquer script que ele execute. Muitas dessas variáveis, no entanto, não podem ser totalmente documentadas, pois dependem de qual servidor está sendo usado, a versão e configuração do servidor, e outros fatores. Algumas dessas variáveis não estarão disponíveis quando o PHP for executado na linha de comando. Consulte a lista de variáveis predefinidas para mais detalhes.

O PHP fornece um conjunto adicional de arrays predefinidos contendo as variáveis do servidor web (se aplicável), as variáveis de ambiente e as entradas do usuário. Esses novos arrays são especiais por serem automaticamente globais--significando que estão disponíveis automaticamente em qualquer escopo. Por esta razão, também são conhecidos como "superglobais". (Não há um mecanismo no PHP para superglobais definidas pelo usuário.) Consulte a lista de superglobals para mais detalhes.

Nota: Variáveis variáveis

Superglobais não podem ser utilizadas como variáveis variáveis dentro de funções ou métodos de classe.

Se determinadas variáveis não estiverem definidas na diretiva variables_order, seus arrays predefinidos também estarão vazios.


Escopo de variáveis

O escopo de uma variável é o contexto onde foi definida. A maioria das variáveis do PHP tem somente escopo local. Este escopo local inclui os arquivos incluídos e requeridos. Por exemplo:

<?php
$a = 1;
include 'b.inc';
?>

Aqui a variável $a estará disponível no script incluído b.inc. Entretanto, nas funções definidas pelo usuário, um escopo local é introduzido. Qualquer variável utilizada dentro de uma função é, por padrão, limitada ao escopo local da função. Por exemplo:

<?php
$a = 1; /* escopo global */

function Teste()
{
    echo $a; /* referencia uma variável do escopo local (não definida) */
}

Teste();
?>

Este script não produz nenhuma saída porque a instrução echo refere-se a uma versão local da variável $a, e não possui nenhum valor atribuído neste escopo. Pode-se perceber que esta é uma pequena diferença em relação a linguagem C, em que variáveis globais estão automaticamente disponíveis para funções sem sobrescrever uma definição local. Isto pode causar problemas quando inadvertidamente modificar-se uma variável global. No PHP, as variáveis globais precisam ser declaradas como globais dentro de uma função, se for utilizada em uma.

A palavra-chave global

Primeiro, um exemplo de global:

Exemplo #1 Usando global

<?php
$a = 1;
$b = 2;

function Soma()
{
    global $a, $b;

    $b = $a + $b;
}

Soma();
echo $b;
?>

O script acima imprimirá3. Declarando $a e $b globais na função, fará com que todas as referências a essas variáveis referenciem a versão global. Não há um limite para o número de variáveis globais que podem ser manipuladas por uma função.

Uma segunda maneira de acessar variáveis do escopo global é utilizando o array especial $GLOBALS definido pelo PHP. O exemplo anterior poderia ser reescrito como:

Exemplo #2 Usando $GLOBALS no lugar de global

<?php
$a = 1;
$b = 2;

function Soma()
{
    $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}

Soma();
echo $b;
?>

O array $GLOBALS é um array associativo, sendo o nome da variável global a chave do array e o seu conteúdo da variável como o valor do elemento do array. Veja que $GLOBALS existe em qualquer escopo, isto porque $GLOBALS é uma superglobal. Segue um exemplo demonstrando o poder das superglobais:

Exemplo #3 Exemplo demonstrando superglobals e escopos

<?php
function test_global()
{
    // A maioria das variaveis pré-definidas nao sao 'super' e requerem
    // 'global' para serem disponiveis para funcoes em qualquer escopo.
    global $HTTP_POST_VARS;

    echo $HTTP_POST_VARS['name'];

    // Superglobais são disponiveis em qualquer escopo e
    // nao precisam de 'global'. Superglobais existem
    // desde o PHP 4.1.0, e HTTP_POST_VARS é agora
    // tida como obsoleta.
    echo $_POST['name'];
}
?>

Nota:

Utilizar a instrução global fora de uma função não é um erro. Deve ser utilizado se um arquivo for incluído dentro de uma função.

Utilizando variáveis static

Outro recurso importante do escopo de variáveis é a variável static. Uma variável estática existe somente no escopo local da função, mas não perde seu valor quando o nível de execução do programa deixa o escopo. Considere o seguinte exemplo:

Exemplo #4 Exemplo demonstrando a necessidade de variáveis estáticas

<?php
function Teste()
{
    $a = 0;
    echo $a;
    $a++;
}
?>

Essa função é inútil, já que cada vez que é chamada, define $a com o valor 0, e imprime 0. A instrução $a++ , que aumenta o valor da variável, não tem sentido já que assim que a função termina a variável $a desaparece. Para fazer um função contadora, que não perderá a conta atual, a variável $a será declarada como estática:

Exemplo #5 Exemplo de uso de variáveis estáticas

<?php
function Teste()
{
    static $a = 0;
    echo $a;
    $a++;
}
?>

Agora, a variável $a é inicializada apenas na primeira chamada da função e cada vez que a função test() for chamada, imprimirá o valor de $a e depois o incrementará.

Variáveis estáticas fornecem uma solução para lidar com funções recursivas. Uma função recursiva é aquela chama a si mesma. Cuidados devem ser tomados quando escrever funções recursivas porque é possível que ela continue na recursão indefinidamente. Deve-se assegurar que há uma maneira adequada de terminar a recursão. A seguinte função recursiva conta até 10, utilizando a variável estática $count para saber quando parar:

Exemplo #6 Variáveis estáticas em funções recursivas

<?php
function Teste()
{
    static $count = 0;

    $count++;
    echo $count;
    if ($count < 10) {
        Teste();
    }
    $count--;
}
?>

Nota:

Variáveis estáticas podem ser declaradas como visto nos exemplos acima. A partir do PHP 5.6 é possível atribuir valores a essas variáveis, que são resultados de expressões, porém não é possível usar nenhuma função, o que causará um erro de interpretação.

Exemplo #7 Declarando variáveis estáticas

<?php
function foo(){
    static $int = 0;          // correro
    static $int = 1+2;        // correto (a partir do PHP 5.6)
    static $int = sqrt(121);  // errado (é uma expressão)

    $int++;
    echo $int;
}
?>

Nota:

Declarações estáticas são resolvida em tempo de compilação.

Referencias em variáveis global e static

A Zend Engine 1, base do PHP 4, implementa os modificadores static e global para variáveis, em termo de referências. Por exemplo, uma variável global verdadeira, importada dentro do escopo de uma função com a instrução global, na verdade, cria uma referência para a variável global. Isto pode levar a comportamentos imprevisíveis nos seguintes casos:

<?php
function test_global_ref() {
    global $obj;
    $obj = &new stdclass;
}

function test_global_noref() {
    global $obj;
    $obj = new stdclass;
}

test_global_ref();
var_dump($obj);
test_global_noref();
var_dump($obj);
?>

O exemplo acima irá imprimir:

NULL
object(stdClass)(0) {
}

Um comportamento similar se aplica a declaração static. Referências não são armazenadas estaticamente:

<?php
function &get_instance_ref() {
    static $obj;

    echo 'Objeto estatico: ';
    var_dump($obj);
    if (!isset($obj)) {
        // Assimila uma referencia a variavel estatica
        $obj = &new stdclass;
    }
    $obj->property++;
    return $obj;
}

function &get_instance_noref() {
    static $obj;

    echo "Objeto estatico: ";
    var_dump($obj);
    if (!isset($obj)) {
        // Assimila o objeto para a veriavel estatica
        $obj = new stdclass;
    }
    $obj->property++;
    return $obj;
}

$obj1 = get_instance_ref();
$still_obj1 = get_instance_ref();
echo "\n";
$obj2 = get_instance_noref();
$still_obj2 = get_instance_noref();
?>

O exemplo acima irá imprimir:

Objeto estatico: NULL
Objeto estatico: NULL

Objeto estatico: NULL
Objeto estatico: object(stdClass)(1) {
["property"]=>
int(1)
}

Este exemplo demonstra que, atribuir uma referência a uma variável estática, fará com que ela não se lembre quando chamou a função &get_instance_ref() uma segunda vez.


Variáveis variáveis

As vezes, é conveniente possuir variáveis com nomes variáveis. Isto é, o nome de uma variável que pode ser definido e utilizado dinamicamente. Uma variável normal é definida com uma instrução como:

<?php
$a = 'hello';
?>

Uma variável variável obtém o valor de uma variável e a trata como o nome de uma variável. No exemplo acima, hello pode ser utilizada como o nome de uma variável utilizando dois sinais de cifrão:

<?php
$$a = "world";
?>

Neste ponto, duas variáveis foram definidas e armazenadas na árvore de símbolos do PHP: $a que contém "hello" e $hello que contém "world". Assim, esta instrução:

<?php
echo "$a ${$a}";
?>

produz a mesma saída que:

<?php
echo "$a $hello";
?>

assim sendo, as duas produzem: hello world.

Para poder utilizar variáveis variáveis com arrays, você precisa resolver um problema de ambiguidade. Isso é, se você escrever $$a[1] o interpretador precisa saber que se deseja utilizar $a[1] como uma variável ou que se deseja usar $$a como uma variável e [1] como o índice dessa variável. A sintaxe para resolver essa ambiguidade é ${$a[1]} para o primeiro caso e ${$a}[1], para o segundo.

Propriedades de classes também podem ser acessadas utilizando-se nomes de propriedades variáveis. O nome de propriedade variável será resolvido dentro do escopo em que a chamada foi feita. Por exemplo, se houver uma expressão como $foo->$bar, o escopo local será examinado procurando por $bar e seu valor será utilizado como o nome da propriedade $foo. Isso também funciona se $bar for um array.

Cuidado

Referenciamento sequencial de propriedades que estão em um array, possuem semânticas diferentes entre PHP 5 e PHP 7. O guia de migração para o PHP 7.0 inclui mais detalhes em como os tipos e expressões foram alterados, e como utilizar colchetes para evitar ambiguidades.

Colchetes também podem ser utilizados para delimitar claramente os nomes de propriedade. São muito úteis ao acessar valores de uma propriedade que contenham um array, quando o nome da propriedade tem várias partes, ou quando o nome da propriedade contém caracteres que não são válidos (por exemplo, em saídas da função json_decode() ou SimpleXML).

Exemplo #1 Exemplo de propriedade variável

<?php
class foo {
    var $bar = 'I am bar.';
    var $arr = array('I am A.', 'I am B.', 'I am C.');
    var $r   = 'I am r.';
}

$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo $foo->$bar . "\n";
echo $foo->{$baz[1]} . "\n";

$start = 'b';
$end   = 'ar';
echo $foo->{$start . $end} . "\n";

$arr = 'arr';
echo $foo->{$arr[1]} . "\n";

?>

O exemplo acima irá imprimir:

I am bar.
I am bar.
I am bar.
I am r.

Aviso

Note que variáveis variáveis não podem ser utilizadas nos arrays Superglobais dentro de funções ou métodos de classe. A variável $this também é uma variável especial que não pode ser referenciada dinamicamente.


Variáveis de fontes externas

Formulários HTML (GET e POST)

Quando um formulário é submetido para um script PHP, a informação deste formulário estará automaticamente disponível ao script. Há algumas maneiras de acessar estas informações, por exemplo:

Exemplo #1 Um formulário HTML simples

<form action="foo.php" method="post">
    Nome:  <input type="text" name="username" /><br />
    Email: <input type="text" name="email" /><br />
    <input type="submit" name="submit" value="Me aperte!" />
</form>

A partir do PHP 5.4.0, existem apenas duas formas de acessas dados de formulários PHP. Os métodos disponíveis atualmente são listadas a seguir:

Exemplo #2 Acessando dados de um formulário HTML via POST

<?php
echo $_POST['username'];
echo $_REQUEST['username'];
?>

Há outras formas de acessar dados enviados pelo usuário nas antigas versões do PHP. Elas estão listadas abaixo. Veja a lista de modificações no final da página para mais detalhes.

Exemplo #3 Meios antigos de acessar dados enviados pelo usuário

<?php
// CUIDADO: esses métodos NÃO são mais suportados.
// Os válido estão descritos acima

// Utilizando import_request_variables() - esta função foi removida no PHP 5.4.0
   import_request_variables('p', 'p_');
   echo $p_username;

// Essas variáveis pré-definidas foram removidas no PHP 5.4.0
   echo $HTTP_POST_VARS['username'];

// Utilizando register_globals. Este recurso foi removido no in PHP 5.4.0
   echo $username;
?>

Utilizar um formulário GET é similar, exceto que você usará a variável GET pré-definida. GET também se aplica a superglobal QUERY_STRING (a informação depois do '?' numa URL). Então, por exemplo, http://www.example.com/test.php?id=3 contém os dados GET que estarão acessíveis com $_GET['id']. Veja também $_REQUEST.

Nota:

Pontos e espaços em nomes de variáveis são convertidos para sublinhados. Por exemplo <input name="a.b" /> se tornará $_REQUEST["a_b"].

O PHP também entende arrays no contexto de variáveis de formulário (veja essa FAQ). Pode-se, por exemplo, agrupar variáveis relacionadas, ou utilizar este recurso para obter valores de um input select múltiplo. Por exemplo, iremos enviar o formulário abaixo para si mesmo, e depois de submetido, mostra os dados:

Exemplo #4 Variáveis de formulários mais complexos

<?php
if ($_POST) {
    echo '<pre>';
    echo htmlspecialchars(print_r($_POST, true));
    echo '</pre>';
}
?>
<form action="" method="post">
    Nome:  <input type="text" name="personal[name]" /><br />
    Email: <input type="text" name="personal[email]" /><br />
    Cerveja: <br />
    <select multiple name="beer[]">
        <option value="antartica">Antartica</option>
        <option value="brahma">Brahma</option>
        <option value="skol">Skol</option>
    </select><br />
    <input type="submit" value="Enviar dados!" />
</form>

Nomes de variáveis SUBMIT IMAGE

Ao submeter um formulário, é possível de utilizar imagens em vez do botão de submit padrão com uma tag do tipo:

<input type="image" src="image.gif" name="sub" />

Quando o usuário clicar em algum lugar da imagem, o formulário será transmitido para o servidor com duas variáveis adicionais, sub_x and sub_y. Elas contém as coordenadas do clique do usuário na imagem. Os mais experientes percebem que os atuais nomes dessas variáveis enviadas ao navegador contém um ponto ao invés de um sublinhado, mas o PHP converte o ponto para um sublinhado automaticamente.

Cookies HTTP

O PHP suporta transparentemente cookies HTTP como os definidos pela » RFC 6265. Cookies são um mecanismo o armazenamento de dados no navegador, rastreando ou identificando o retorno de usuários. Você pode definir cookies com a função setcookie(). Cookies são parte do cabeçalho HTTP, então a função SetCookie precisa ser chamada antes de qualquer saída ser enviada ao navegador. Esta é a mesma restrição da função header(). Dados de cookies estão disponíveis nos arrays de dados de cookies apropriados, como $_COOKIE e também em $_REQUEST. Veja o manual de setcookie() para mais detalhes e exemplos.

Se você deseja atribuir vários valores para uma única variável do cookie, você pode fazer dele um array:

<?php
  setcookie("MeuCookie[foo]", 'Testando 1', time()+3600);
  setcookie("MeuCookie[bar]", 'Testando 2', time()+3600);
?>

Isso irá criar dois cookies separados enquanto que MeuCookie será um único array em seu script. Se quiser definir apenas um cookie com vários valores, considere utilizar serialize() ou explode() nos valores primeiro.

Note que um cookie substituirá um anterior com o mesmo nome em seu navegador, a menos que o nome ou o caminho seja diferente. Então, para uma aplicação de carrinho de compras em que se quer ter um contador e repassá-lo:

Exemplo #5 Exemplo setcookie()

<?php
if (isset($_COOKIE['count'])) {
    $count = $_COOKIE['count'] + 1;
} else {
    $count = 1;
}
setcookie('count', $count, time()+3600);
setcookie("Cart[$count]", $item, time()+3600);
?>

Pontos em nomes de variáveis postadas

Normalmente o PHP não altera o nome de variáveis quando elas são passadas para o script. Entretanto, é necessário notar que o ponto (ponto final) não é um caractere válido no nomes de variáveis do PHP. Para ilustrar, veja o seguinte exemplo:

<?php
$varname.ext;  /* nome de variável inválido */
?>
Dessa forma, o interpretador entende isso como uma variável nomeada $varname, seguida do operador de concatenação de strings, seguida de uma string crua (uma string não delimitada que não bate com nenhuma palavra-chave ou reservada) 'ext'. Obviamente, isso não tem os resultados pretendidos.

Nessa situação, é importante notar que o PHP substituirá automaticamente qualquer ponto nos nomes de variáveis recebidas por sublinhados.

Determinando o tipo das variáveis

Como o PHP determina os tipos de variáveis e faz conversões (geralmente) quando necessárias, nem sempre é óbvio o tipo de uma variável em todos os momentos. O PHP incluí várias funções que permitem determinar qual o tipo de uma variável, por exemplo: gettype(), is_array(), is_float(), is_int(), is_object(), e is_string(). Veja também o capítulo Tipos.

Changelog

Versão | Descrição
7.2.34, 7.3.23, 7.4.11 | Os nomes dos cookies recebidos não são mais decodificados no formato URL por razões de segurança.


Constantes

Índice

  • Sintaxe
  • Constantes Mágicas

Uma constante é um identificador (nome) para um valor único. Como o nome sugere, esse valor não pode mudar durante a execução do script (exceto as constantes mágicas, que não são constantes de verdade). As constantes são case-sensitive por padrão. Por convenção, identificadores de constantes são sempre em maiúsculas.

O nome de uma constante tem as mesmas regras de qualquer rótulo do PHP. Um nome válido de constante começa com uma letra ou sublinhado, seguido por qualquer número de letras, números ou sublinhados. Como uma expressão regular, pode ser representada por: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$

É permitido utilizar define() em constantes com, nomes reservados ou mesmo inválidos, cujo valor pode (apenas) ser recuperado com constant(). No entanto, isso não é recomendado.

Dica

Veja também o Guia de nomenclatura em espaço de usuário.

Exemplo #1 Nomes de constantes válidos e inválidos

<?php

// Nomes de constantes válidos
define("FOO",     "alguma coisa");
define("FOO2",    "alguma outra coisa");
define("FOO_BAR", "alguma coisa mais");

// Nomes de constantes inválidas
define("2FOO",    "alguma coisa");

// Isto é válido, mas deve ser evitado:
// O PHP pode vir a fornercer uma constante mágica
// que danificará seu script
define("__FOO__", "alguma coisa");

?>

Nota: Para nossos exemplos, uma letra é a-z, A-Z e os caracteres ASCII do 128 ao 255 (0x80-0xff).

Como as superglobals, o escopo de uma constante é global. Você pode acessar constantes de qualquer lugar em seu script sem se preocupar com o escopo. Para mais informações sobre o escopo no PHP, leia a seção do manual escopo de variáveis.


Sintaxe

Você pode definir uma constante utilizando a função define(), ou a palavra-chave const fora da definição de uma classe a partir do PHP 5.3.0. Enquanto define() permite que uma constante seja definida para uma expressão arbitrária, a palavra-chave const possui restrições conforme descrita no próximo parágrafo. Uma vez definida, a constante não poderá ser modificada ou anulada.

Ao usar a palavra-chave const, somente dados escalares (boolean, integer, float e string) podem ser colocados em constantes até o PHP 5.6. A partir do PHP 5.6, é possível também utilizar qualquer expressão escalar como constantes e também array constante. É permitido o uso de um resource (recurso) como valor de constante, mas deve ser evitado, já que pode causar resultados inesperados.

Pode-se obter o valor de uma constante simplesmente especificando seu nome. Diferentemente de variáveis, você não prefixará uma constante com um sinal de $. Também pode-se utilizar a função constant() para ler o valor de uma constante, se você precisar obter seu valor dinamicamente. Utilize get_defined_constants() para obter a lista de todas as constantes definidas.

Nota: As constantes e variáveis (globais) estão em espaços de nomes diferentes. Isto implica, por exemplo, que true e $TRUE sejam geralmente diferentes.

Ao usar-se uma constante indefinida, o PHP assumirá o nome da constante como seu próprio valor, como se tivesse chamando-a como uma string (CONSTANT vs "CONSTANT"). Este comportamento é depreciado a partir do PHP 7.2.0, e um erro de nível E_WARNING é emitido quando isso acontece (antes, um erro de nível E_NOTICE era emitido Veja também a referência do manual sobre o porquê $foo[bar] é errado (a não ser que bar primeiro seja definida define() como uma constante). Isto não se aplica a constantes totalmente qualificadas, que lançarão um erro fatal se não estiverem definidas. Se você simplesmente quer checar se uma constante foi definida, utilize a função defined().

Estas são as diferenças entre constantes e variáveis:

  • Constantes não possuem um sinal de cifrão ($) antes delas;
  • Antes do PHP 5.3 as constantes só poderiam ser definidas utilizando a função define(), e não por simples assimilação;
  • Constantes podem ser definidas e acessadas de qualquer lugar sem que a regras de escopo de variáveis sejam aplicadas;
  • Constantes não podem ser redefinidas ou eliminadas depois de criadas; e
  • Constantes só podem ter valores escalares. A partir do PHP 5.6 é possível definir um array constante com a instrução const e a partir do PHP 7 arrays constantes também podem ser definidas utilizando a função define() Pode-se utilizar arrays em expressões escalares constantes (por exemplo const FOO = array(1,2,3)[0];), cujo resultado final deve ser um valor de um tipo permitido.

Exemplo #1 Definindo Constantes

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // imprime "Hello world."
echo Constant; // imprime "Constant" e gera um alerta notice.
?>

Exemplo #2 Definindo Constantes usando a palavra-chave const

<?php
// Funciona a partir do PHP 5.3.0
const CONSTANT = 'Hello World';

echo CONSTANT;

// Funciona a partir do PHP 5.6.0
const ANOTHER_CONST = CONSTANT.'; Goodbye World';
echo ANOTHER_CONST;

const ANIMALS = array('dog', 'cat', 'bird');
echo ANIMALS[1]; // imprime "cat"

// A partir do PHP 7
define('ANIMALS', array(
    'dog',
    'cat',
    'bird'
));
echo ANIMALS[1]; // imprime "cat"
?>

Nota:

Ao contrário das funções definidas através de define(), as constantes definidas usando a palavra-chave const devem ser declarados no escopo de maior nível, pois são definidas no tempo de compilação. Isso significa que não podem ser definidas dentro de funções, laços ou instruções ifs ou blocos try/catch.

Nota:

Constantes definidas usando a palavra-chave const sempre serão case-sensitive, enquanto as constantes usando define() podem ser case-insensitive.

Veja também Constantes de Classe.


Constantes Mágicas

O PHP fornece um grande número de constantes predefinidas para qualquer script que execute. A maioria dessas constantes, entretanto, são criadas por várias extensões, e estarão presentes somente quando essas extensões estiverem disponíveis, tanto por carregamento dinâmico quanto por compilação direta.

Há nove constantes mágicas, que mudam dependendo de onde são utilizadas. Por exemplo, o valor de __LINE__ depende da linha em que é utilizada em seu script. Todas essas constantes "mágicas" são resolvidas em tempo de compilação, ao contrário das constantes regulares que são resolvidas em tempo de execução. Essas constantes especiais são case-insentitive e estão descritas a seguir:

Algumas constantes "mágicas" do PHP
Nome | Descrição
__LINE__ | O número da linha corrente do arquivo.
__FILE__ | O caminho completo e nome do arquivo com links simbólicos resolvidos. Se utilizado dentro de um include, o nome do arquivo incluído será retornado.
__DIR__ | O diretório do arquivo. Se usado dentro de um include, o diretório do arquivo incluído é retornado. É equivalente a dirname(__FILE__). O nome do diretório não possui barra no final, a não ser que seja o diretório raiz.
__FUNCTION__ | O nome da função, or {closure} para funções anônimas.
__CLASS__ | O nome da classe. O nome da classe inclui o namespace em que foi declarado (por exemplo, Foo\Bar). Note que a partir do PHP 5.4, __CLASS__ também funcionará em traits. Quando utilizada em um método trait, __CLASS__ é o nome da classe que está utilizando a trait.
__TRAIT__ | O nome do trait. O nome do trait inclui o namespace em que foi declarado (por exemplo, Foo\Bar).
__METHOD__ | O nome do método da classe.
__NAMESPACE__ | O nome do namespace corrente.
NomeDaClasse::class | O nome completo da classe. Veja também ::class.

Veja também
get_class(),
get_object_vars(),
file_exists() e
function_exists().

Changelog

Versão | Descrição
5.5.0 | Adicionada a constante mágica ::class
5.4.0 | Adicionada a constante __TRAIT__
5.3.0 | Adicionadas as constantes __DIR__ e __NAMESPACE__


Expressões

Expressões são os blocos de construção mais importantes do PHP. No PHP, quase tudo o que você escreve são expressões. A maneira mais simples e ainda mais precisa de definir uma expressão é "tudo o que tem um valor".

As formas mais básicas de expressões são constantes e variáveis. Quando você digita "$a = 5", você está atribuindo '5' dentro de $a. '5' obviamente tem o valor 5, ou em outras palavras '5' é uma expressão com o valor de 5 (nesse caso '5' é uma constante inteira).

Depois desta atribuição, você pode esperar que o valor de $a seja 5 também, assim se você escrever $b = $a, você pode esperar que ele se comporte da mesma forma que se você escrevesse $b = 5. Em outras palavras, $a é uma expressão com valor 5 também. Se tudo funcionou bem isto é exatamente o que acontecerá.

Exemplos ligeiramente mais complexos para expressões são as funções. Por exemplo, considere a seguinte função:

<?php
function foo ()
{
    return 5;
}
?>

Assumindo que você está familiarizado com o conceito de funções (se não estiver, dê uma olhada no capítulo sobre functions), você pode assumir que digitar $c = foo() é essencialmente a mesma coisa que escrever $c = 5, e você está certo. Funções são expressões com o valor igual ao seu valor de retorno. Como foo() retorna 5, o valor da expressão 'foo()' é 5. Geralmente, as funções não retornam apenas um valor estático, mas computam algo.

Claro, valores em PHP não tem que ser inteiros, e muito comumente eles não são. o PHP suporta quatro tipos de valores escalares: valores integer (inteiros), valores de ponto flutuante (float), valores string (caracteres) e valores boolean (booleano) (valores escalares são valores que você não pode partir em peças menores, diferentemente de matrizes, por exemplo). O PHP também suporta dois tipos compostos (não escalar): matrizes e objetos. Cada um desses valores podem ser definidos em uma variável ou retornados de uma função.

O PHP leva as expressões muito além, da mesma maneira que muitas outras linguagens fazem. O PHP é uma linguagem orientada a expressões, no sentido de que quase tudo são expressões. Considere o exemplo com o qual já lidamos, '$a = 5'. É fácil ver que há dois valores envolvidos aqui, o valor da constante inteira '5', e o valor de $a que está sendo atualizado para 5 também. Mas a verdade é que há um valor adicional envolvido aqui, e que é o próprio valor da atribuição. A própria atribuição é avaliada com o valor atribuído, neste caso 5. Na prática, significa que '$a = 5', independente do que faça, é uma expressão com o valor 5. Portanto, escrever algo como '$b = ($a = 5)' é como escrever '$a = 5; $b = 5;' (um ponto-e-vírgula marca o fim do comando). Como atribuições são analisadas da direita para a esquerda, você também pode escrever '$b = $a = 5'.

Outro bom exemplo de orientação de expressão é o pré e o pós-incremento e decremento. Usuários de PHP 2 e muitas outras linguagens podem estar familiarizados com a notação de variable++ e variable--. Este são operadores de incremento e decrimento. Em PHP, como em C, há dois tipos de incremento - pré-incremento e pós-incremento. Tanto o pré-incremento quanto o pós-incremento, essencialmente, incrementam as variáveis, e o efeito sobre a variável é idêntico. A diferença é com o valor da expressão de incremento. O pré-incremento, que é escrito '++$variable', é avaliado como o valor de incremento (o PHP incrementa a variável antes de ler seu valor, por isso o nome pré-incremento). O pós-incremento, que é escrito '$variable++' é avaliado como o valor original da variável, antes de ser incrementada (o PHP incrementa a variável depois de ler seu valor, por isso o nome 'pós-incremento').

Um tipo muito comum de expressões são expressões de comparação. Estas expressões avaliam para ser false ou true. O PHP suporta > (maior que), >= (maior ou igual a), == (igual), != (diferente), < (menor que) and <= (menor ou igual a). A linguagem também suporta um conjunto de operador de equivalencia estrita: === (igual a e do mesmo tipo) and !== (diferente de ou não do mesmo tipo). Estas expressões são mais comumente usada dentro de execução condicional como comandos if.

O último exemplo de expressões com que nós vamos lidar aqui são as expressões combinadas operador-atribuição. Você já sabe que se você quer incrementar $a de 1, você só precisa escrever '$a++' ou '++$a'. Mas e se você quiser somar mais que um a ele, por exemplo 3? Você poderia escrever '$a++' várias vezes, mas esta obviamente não é uma forma muito eficiente ou confortável. Uma prática muito mais comum é escrever '$a = $a + 3'. '$a + 3' é avaliada como o valor de $a mais 3, e é atribuído de volta a $a, que resulta em incrementar $a em 3. Em PHP, como em várias outras linguagens como o C você pode escrever isto de uma forma mais curta, que com o tempo se torna mais limpa e rápida de se entender. Somar 3 ao valor corrente de $a pode ser escrito '$a +=3'. Isto significa exatamente "pegue o valor de $a, some 3 a ele, e atribua-o de volta a $a." Além de ser mais curto e mais limpo, isto também resulta em execução mais rápida. O valor de '$a += 3', como o valor de uma atribuição regular, é o valor atribuído. Note que NÃO é 3, mas o valor combinado de $a mais 3 (este é o valor que é atribuído a $a). Qualquer operador de dois parâmetros pode ser usado neste modo operador-atribuição, por exemplo '$a -= 5' (subtrai 5 do valor de $a), '$b *= 7' (multiplica o valor de $b por 7), etc.

Há mais uma expressão que podem parecer estranha se você não a viu em outras linguagens, o operador condicional ternário:

<?php
$primeira ? $segunda : $terceira
?>

Se o valor da primeira sub-expressão é verdadeiro (true, não-zero), então a segunda sub-expressão é avaliada, e este é o resultado da expressão condicional. Caso contrário, a terceira sub-expressão é avaliada e este é o valor.

O seguinte exemplo deve ajudá-lo a entender um pouco melhor pré e pós-incremento e expressões em geral:

<?php
function double($i)
{
    return $i*2;
}
$b = $a = 5;        /* atribui o valor cinco às variáveis $a e $b */
$c = $a++;          /* pós-incremento, atribui o valor original de $a
                       (5) para $c */
$e = $d = ++$b;     /* pré-incremento, atribui o valor incrementado de
                       $b (6) a $d e $e */

/* neste ponto, tanto $d quanto $e são iguais a 6 */

$f = double($d++);  /* atribui o dobro do valor de $d antes
                       do incremento, 2*6 = 12 a $f */
$g = double(++$e);  /* atribui o dobro do valor de $e depois
                       do incremento, 2*7 = 14 a $g */
$h = $g += 10;      /* primeiro, $g é incrementado de 10 e termina com o
                       valor 24. o valor da atribuição (24) é
                       então atribuído a $h, e $h termina com o valor
                       24 também. */
?>

Algumas expressões podem ser consideradas instruções. Neste caso, uma instrução na forma 'expr ;' ou seja, uma expressão seguida de um ponto e vírgula. Em '$b = $a = 5;', '$a = 5' é uma expressão válida, mas não é um comando por si só. '$b = $a = 5;' porém é um comando válido.

Uma última coisa que vale mencionar é o valor-verdade de expressões. Em muitos eventos, principalmente em instruções condicionais e loops, você não está interessado no valor específico da expressão, mas somente se ela significa true ou false (o PHP não tem um tipo booleano dedicado). As constantes true e false (insensitivas ao caso) são seus dois valores booleanos possíveis. As vezes uma expressão é automaticamente convertida para um booleano. Veja a seção sobre type-casting para detalhes de como isso é feito.

O PHP fornece uma implementação completa e poderosa de expressões, e a completa documentação dela vai além do escopo deste manual. Os exemplos acima devem dar a você uma boa idéia sobre o que são as expressões e como você pode construir expressões úteis. Através do restante do manual nós escreveremos expr (ou expressao) para indicar qualquer expressão PHP válida.


Operadores

Índice

  • Precedência de Operadores
  • Operadores Aritméticos
  • Operadores de Atribuição
  • Operadores bit a bit (bitwise)
  • Operadores de Comparação
  • Operadores de controle de erro
  • Operadores de Execução
  • Operadores de Incremento/Decremento
  • Operadores Lógicos
  • Operadores de String
  • Operadores de Arrays
  • Operadores de tipo

Um operador é algo que recebe um ou mais valores (ou expressões, no jargão de programação) e que devolve outro valor (e por isso os próprios construtores se tormam expressões).

Operadores podem ser agrupados segundo o número de valores que aceitam. Operadores unários recebem um único valor, por exemplo ! (o operador lógico de negação) ou ++ (o operador de incremento). Operadores binários aceitam dois valores, como os operadores aritméticos + (soma) e - (subtração), além da maioria dos operadores PHP dessa categoria. Finalmente há um único operador ternário, ? :, que aceita três valores; normalmente conhecido simplesmente como "o operador ternário" (embora um nome melhor fosse operador condicional).

A lista completa dos operadores no PHP está na seção sobre Precedência de Operadores. Essa seção também explica precedência e combinações, que governam exatamente como expressões contendo vários operadores são avaliados.


Precedência de Operadores

A precedência de um operador especifica quem tem mais prioridade quando há duas delas juntas. Por exemplo, na expressão 1 + 5 * 3, a resposta é 16 e não 18 porque o operador de multiplicação ("*") tem prioridade de precedência que o operador de adição ("+"). Parênteses podem ser utilizados para forçar a precedência, se necessário. Assim, (1 + 5) * 3 é avaliado como 18.

Quando operadores tem precedência igual a associatividade decide como os operadores são agrupados. Por exemplo "-" é associado à esquerda, de forma que 1 - 2 - 3 é agrupado como (1 - 2) - 3 e resulta em -4. "=" por outro lado associa para a direita, de forma que $a = $b = $c é agrupado como $a = ($b = $c).

Operadores de igual precedência sem associatividade não podem ser utilizados uns próximos aos outros. Por exemplo 1 < 2 > 1 é ilegal no PHP. A expressão 1 <= 1 == 1 por outro lado é válida, porque o operador == tem menor precedência que o operador <=.

O uso de parenteses, embora não estritamente necessário, pode melhorar a leitura do código ao deixar o agrupamento explícito em vez de depender da associatividade e precedências implícitos.

A tabela seguinte mostra a precedência dos operadores, com a maior precedência no começo. Operadores com a mesma precedência estão na mesma linha, nesses casos a associatividade deles decidirá qual ordem eles serão avaliados.

Precedência dos operadores
Associação | Operadores | Informação Adicional
não associativo | clone new | clone e new
esquerda | [ | array()
direita | ** | aritmética
direita | ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | types e incremento/decremento
não associativo | instanceof | tipos
direita | ! | lógicos
esquerda | * / % | aritmética
esquerda | + - . | aritmética e string
esquerda | << >> | bits
não associativo | < <= > >= | comparação
não associativo | == != === !== <> <=> | comparação
esquerda | & | bits e referências
esquerda | ^ | bits
esquerda | | | bits
esquerda | && | lógicos
esquerda | || | lógicos
direita | ?? | comparação
esquerda | ? : | ternário
direita | = += -= *= **= /= .= %= &= |= ^= <<= >>= | atribuição
esquerda | and | lógicos
esquerda | xor | lógicos
esquerda | or | lógicos

Exemplo #1 Associação

<?php
$a = 3 * 3 % 5; // (3 * 3) % 5 = 4
// associação do operador ternário difere do C/C++
$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2

$a = 1;
$b = 2;
$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5
?>

A precedência e associatividade apenas determinam como as expressões são agrupadas, mas não especificam a ordem de avaliação. O PHP (geralmente) não especifica em que ordem as expressões são avaliadas, então códigos que assumem ordens específicas de avaliação devem ser evitados porque o comportamento pode ser alterado entre versões do PHP ou dependendo do código em volta.

Exemplo #2 Ordem de avaliação não definida

<?php
$a = 1;
echo $a + $a++; // pode imprimir 2 ou 3

$i = 1;
$array[$i] = $i++; // pode definir o índice 1 ou 2
?>

Exemplo #3 +, - and . possuem a mesma precedência

<?php
$x = 4;
// esta linha pode resultar em uma saída inesperada:
echo "x menos um é igual a " . $x-1 . ", ou assim eu espero\n";
// porque é avaliada como esta linha:
echo (("x menos um é igual a " . $x) - 1) . ", ou assim eu espero\n";
// a precedência desejada pode ser aplicada utilizando parênteses:
echo "x menos um é igual a " . ($x-1) . ", ou assim eu espero\n";
?>

O exemplo acima irá imprimir:

-1, ou assim eu espero
-1, ou assim eu espero
x menos um é igual a 3, ou assim eu espero

Nota:

Embora o = tenha uma precedência menor que a maioria dos operadores, o PHP ainda permite expressões similares a if (!$a = foo()), onde o valor retornado de foo() é colocado em $a.


Operadores Aritméticos

Lembra-se da aritmética básica da escola? Estes operadores funcionam exatamente como aqueles.

Operadores Aritméticos
Exemplo | Nome | Resultado
+$a | Identidade | Conversão de $a para int ou float conforme apropriado.
-$a | Negação | Oposto de $a.
$a + $b | Adição | Soma de $a e $b.
$a - $b | Subtração | Diferença entre $a e $b.
$a * $b | Multiplicação | Produto de $a e $b.
$a / $b | Divisão | Quociente de $a e $b.
$a % $b | Módulo | Resto de $a dividido por $b.
$a ** $b | Exponencial | Resultado de $a elevado a $b. Introduzido no PHP 5.6.

O operador de divisão ("/") sempre retorna um valor com ponto flutuante, a não ser que os dois operandos sejam inteiros (ou strings que são convertidas para inteiros) e números inteiramente divisíveis, nesse caso um inteiro é retornado. Para divisão de inteiros, veja intdiv().

Operandos de módulo são convertidos para inteiros (removendo a parte decimal) antes do processamento. Para módulos de ponto flutuante, veja fmod().

O resultado do operador de módulo % tem o mesmo sinal do dividendo — ou seja, o resultado de $a % $b terá o mesmo sinal de $a. Exemplos:

<?php

echo (5 % 3)."\n";           // imprime 2
echo (5 % -3)."\n";          // imprime 2
echo (-5 % 3)."\n";          // imprime -2
echo (-5 % -3)."\n";         // imprime -2

?>

Veja também a página do manual sobre funções matemáticas.


Operadores de Atribuição

O operador básico de atribuição é "=". A sua primeira inclinação deve ser a de pensar nisto como "é igual". Não. Isto quer dizer, na verdade, que o operando da esquerda recebe o valor da expressão da direita (ou seja, "é definido para").

O valor de uma expressão de atribuição é o valor atribuído. Ou seja, o valor de "$a = 3" é 3. Isto permite que você faça alguns truques:

<?php

$a = ($b = 4) + 5; // $a é igual a 9 agora e $b foi definido como 4.

?>

Além do operador básico de atribuição, há "operadores combinados" para todos os operadores aritméticos, de array e string que permitem a você pegar um valor de uma expressão e então usar seu próprio valor para o resultado daquela expressão. Por exemplo:

<?php

$a = 3;
$a += 5; // define $a para 8, como se disséssemos: $a = $a + 5;
$b = "Bom ";
$b .= "Dia!"; // define $b para "Bom Dia!", como em $b = $b . "Dia!";

?>

Note que a atribuição copia a variável original para a nova (atribuição por valor), assim a mudança de uma não afeta a outra. Isto pode ser relevante se você precisa copiar algo como uma grande matriz dentro de um loop apertado.

Uma exceção ao comportamento geral de atribuição ocorre com objetos, que são atribuídos por referência no PHP 5. Objetos podem ser explicitamente copiados através da instrução clone.

Atribuição por referência

Atribuição por referência também é possível, utilizando-se a sintaxe "$var = &$outravar;". A atribuição por referência significa que ambas as variáveis apontam para o mesmo dado, e nada é copiado.

Exemplo #1 Atribuição por referência

<?php
$a = 3;
$b = &$a; // $b é uma referência de $a

print "$a\n"; // imprime 3
print "$b\n"; // imprime 3

$a = 4; // modificamos $a

print "$a\n"; // imprime 4
print "$b\n"; // imprime 4 também, pois $b é uma referência de $a, que foi
              // modificada
?>

A partir do PHP 5 o operador new retorna uma referência automaticamente, de forma que a atribuição de um resultado de new por referência gera um alerta E_DEPRECATED no PHP 5.3 e posteriores, e um alerta E_STRICT nas versões anteriores.

Por exemplo, esse código irá gerar um alerta:

<?php
class C {}

/* A linha seguinte gera a mensagem:
 * Deprecated: Assigning the return value of new by reference is deprecated in...
 */
$o = &new C;
?>

Mais informações sobre referências e seus potenciais usos podem ser encontrados na seção Explicando Referências do manual.


Operadores bit a bit (bitwise)

Operadores bit-a-bit permitem a avaliação e modificação de bits específicos em um tipo inteiro.

Operadores Bit-a-bit
Exemplo | Nome | Resultado
$a & $b | E (AND) | Os bits que estão ativos tanto em $a quanto em $b são ativados.
$a | $b | OU (OR inclusivo) | Os bits que estão ativos em $a ou em $b são ativados.
$a ^ $b | XOR (OR exclusivo) | Os bits que estão ativos em $a ou em $b, mas não em ambos, são ativados.
~ $a | NÃO (NOT) | Os bits que estão ativos em $a não são ativados, e vice-versa.
$a << $b | Deslocamento à esquerda | Desloca os bits de $a $b passos para a esquerda (cada passo significa "multiplica por dois")
$a >> $b | Deslocamento à direita | Desloca os bits de $a $b passos para a direita (cada passo significa "divide por dois")

O deslocamento de bits no PHP é aritmético. Bits deslocados no lado final são descartados. Deslocamentos a esquerda tem zeros inseridos à direita e o bit de sinal é perdido, e assim o sinal do operando não é preservado. Deslocamentos a direita tem cópias do bit de sinal à esquerda, e assim o sinal do operando é preservado.

Utilize parenteses para garantir a precedência desejada. Por exemplo $a & $b == true avalia primeiro a equivalência e depois a operação de bits, enquanto que ($a & $b) == true avalia primeiro a operação de bits e só depois a equivalência.

Se ambos os operandos de &, | e ^ forem strings então a operação será realizada nos valores ASCII dos caracteres das strings, e o resultado final será uma string. Em todos os outros casos ambos os operandos serão convertidos para inteiros e o resultado será um inteiro.

Se o operando de ~ for uma string então a operação será realizada nos valores ASCII dos caracteres da string, e o resultado será uma string. Nos demais casos o operando e o resultado serão tratados como inteiros.

Ambos os operandos e o resultado para << e >> sempre são tratados como inteiros.

A configuração error_reporting ini utiliza valores posicionados em bits,
fornecendo um exemplo real de ligar ou desligar
bits. Para mostrar todos os erros mas não os alertas
coloque no php.ini:
E_ALL & ~E_NOTICE

Isto funciona pois começa com E_ALL:
00000000000000000111011111111111
Depois pegando o valor de E_NOTICE...
00000000000000000000000000001000
... que invertido através de ~:
11111111111111111111111111110111
... é finalmente mesclado via E (&) e assim o valor final
se torna:
00000000000000000111011111110111

Outra forma de conseguir esse efeito seria através do XOR (^)
e assim encontrar os bits que estão ativos em apenas um ou no outro:
E_ALL ^ E_NOTICE

O error_reporting pode também ser utilizado para demonstrar a ativação de bits.
Para mostrar apenas erros e erros recuperáveis:
E_ERROR | E_RECOVERABLE_ERROR

Este processo combina E_ERROR
00000000000000000000000000000001
e
00000000000000000001000000000000
utilizando OU (|)
para pegar os bits ativos de ambos os valores:
00000000000000000001000000000001

Exemplo #1 Operações bitwise AND, OR e XOR em inteiros

<?php
/*
 * Ignore essa primeira parte,
 * que é apenas para deixar a impressão mais limpa.
 */

$format = '(%1$2d = %1$04b) = (%2$2d = %2$04b)'
        . ' %3$s (%4$2d = %4$04b)' . "\n";

echo <<<EOH
 ---------     ---------  -- ---------
 result        value      op test
 ---------     ---------  -- ---------
EOH;

/*
 * Agora os exemplos
 */

$values = array(0, 1, 2, 4, 8);
$test = 1 + 4;

echo "\n Operador de bit E \n";
foreach ($values as $value) {
    $result = $value & $test;
    printf($format, $result, $value, '&', $test);
}

echo "\n Operador de bit OU inlusivo \n";
foreach ($values as $value) {
    $result = $value | $test;
    printf($format, $result, $value, '|', $test);
}

echo "\n Operador de bit OU Exclusivo (XOR) \n";
foreach ($values as $value) {
    $result = $value ^ $test;
    printf($format, $result, $value, '^', $test);
}
?>

O exemplo acima irá imprimir:

 ---------     ---------  -- ---------
 result        value      op test
 ---------     ---------  -- ---------
 Operador de bit E
( 0 = 0000) = ( 0 = 0000) & ( 5 = 0101)
( 1 = 0001) = ( 1 = 0001) & ( 5 = 0101)
( 0 = 0000) = ( 2 = 0010) & ( 5 = 0101)
( 4 = 0100) = ( 4 = 0100) & ( 5 = 0101)
( 0 = 0000) = ( 8 = 1000) & ( 5 = 0101)

 Operador de bit OU inlusivo
( 5 = 0101) = ( 0 = 0000) | ( 5 = 0101)
( 5 = 0101) = ( 1 = 0001) | ( 5 = 0101)
( 7 = 0111) = ( 2 = 0010) | ( 5 = 0101)
( 5 = 0101) = ( 4 = 0100) | ( 5 = 0101)
(13 = 1101) = ( 8 = 1000) | ( 5 = 0101)

 Operador de bit OU Exclusivo (XOR)
( 5 = 0101) = ( 0 = 0000) ^ ( 5 = 0101)
( 4 = 0100) = ( 1 = 0001) ^ ( 5 = 0101)
( 7 = 0111) = ( 2 = 0010) ^ ( 5 = 0101)
( 1 = 0001) = ( 4 = 0100) ^ ( 5 = 0101)
(13 = 1101) = ( 8 = 1000) ^ ( 5 = 0101)

Exemplo #2 Operações de bit XOR em strings

<?php
echo 12 ^ 9; // Imprime '5'

echo "12" ^ "9"; // Imprime caracter backspace (ASCII 8)
                 // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

echo "hallo" ^ "hello"; // Imprime os valores ASCII #0 #4 #0 #0 #0
                        // 'a' ^ 'e' = #4

echo 2 ^ "3"; // Imprime 1
              // 2 ^ ((int)"3") == 1

echo "2" ^ 3; // Imprime 1
              // ((int)"2") ^ 3 == 1
?>

Exemplo #3 Deslocamento de bits em inteiros

<?php
/*
 * Aqui estão os exemplos.
 */

echo "\n--- MOVENDO BITS A DIREITA EM INTEIROS POSITIVOS ---\n";

$val = 4;
$places = 1;
$res = $val >> $places;
p($res, $val, '>>', $places, 'cópia do bit de sinal trocada para a esquerda');

$val = 4;
$places = 2;
$res = $val >> $places;
p($res, $val, '>>', $places);

$val = 4;
$places = 3;
$res = $val >> $places;
p($res, $val, '>>', $places, 'move os bits para fora da direita');

$val = 4;
$places = 4;
$res = $val >> $places;
p($res, $val, '>>', $places, 'mesmo resultado que acima; não se pode mover além do 0');

echo "\n--- MOVENDO BITS A DIREITA EM INTEIROS NEGATIVOS ---\n";

$val = -4;
$places = 1;
$res = $val >> $places;
p($res, $val, '>>', $places, 'cópia do bit de sinal trocada para a esquerda');

$val = -4;
$places = 2;
$res = $val >> $places;
p($res, $val, '>>', $places, 'move os bits para fora da direita');

$val = -4;
$places = 3;
$res = $val >> $places;
p($res, $val, '>>', $places, 'mesmo resultado que acima; não se pode mover além do -1');

echo "\n--- MOVENDO BITS A ESQUERDA EM INTEIROS POSITIVOS ---\n";

$val = 4;
$places = 1;
$res = $val << $places;
p($res, $val, '<<', $places, 'preenche com zeros o lado direito');

$val = 4;
$places = (PHP_INT_SIZE * 8) - 4;
$res = $val << $places;
p($res, $val, '<<', $places);

$val = 4;
$places = (PHP_INT_SIZE * 8) - 3;
$res = $val << $places;
p($res, $val, '<<', $places, 'bit de sinal movido para fora');

$val = 4;
$places = (PHP_INT_SIZE * 8) - 2;
$res = $val << $places;
p($res, $val, '<<', $places, 'bits movidos para fora da esquerda');

echo "\n--- MOVENDO BITS A ESQUERDA EM INTEIROS NEGATIVOS ---\n";

$val = -4;
$places = 1;
$res = $val << $places;
p($res, $val, '<<', $places, 'preenche com zeros o lado direito');

$val = -4;
$places = (PHP_INT_SIZE * 8) - 3;
$res = $val << $places;
p($res, $val, '<<', $places);

$val = -4;
$places = (PHP_INT_SIZE * 8) - 2;
$res = $val << $places;
p($res, $val, '<<', $places, 'bits movidos para fora pela esquerda, incluindo o bit de sinal');

/*
 * Ignore essa seção abaixo,
 * é apenas para formatar a saída e deixar mais clara a apresentação.
 */

function p($res, $val, $op, $places, $note = '') {
    $format = '%0' . (PHP_INT_SIZE * 8) . "b\n";

    printf("Expressão: %d = %d %s %d\n", $res, $val, $op, $places);

    echo " Decimal:\n";
    printf("  val=%d\n", $val);
    printf("  res=%d\n", $res);

    echo " Binário:\n";
    printf('  val=' . $format, $val);
    printf('  res=' . $format, $res);

    if ($note) {
        echo " NOTA: $note\n";
    }

    echo "\n";
}
?>

O exemplo acima irá imprimir em máquinas 32 bit:

--- MOVENDO BITS A DIREITA EM INTEIROS POSITIVOS ---
Expressão: 2 = 4 >> 1
 Decimal:
  val=4
  res=2
 Binário:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000010
 NOTA: cópia do bit de sinal trocada para a esquerda

Expressão: 1 = 4 >> 2
 Decimal:
  val=4
  res=1
 Binário:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000001

Expressão: 0 = 4 >> 3
 Decimal:
  val=4
  res=0
 Binário:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000000
 NOTA: move os bits para fora da direita

Expressão: 0 = 4 >> 4
 Decimal:
  val=4
  res=0
 Binário:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000000
 NOTA: mesmo resultado que acima; não se pode mover além do 0

--- MOVENDO BITS A DIREITA EM INTEIROS NEGATIVOS ---
Expressão: -2 = -4 >> 1
 Decimal:
  val=-4
  res=-2
 Binário:
  val=11111111111111111111111111111100
  res=11111111111111111111111111111110
 NOTA: cópia do bit de sinal trocada para a esquerda

Expressão: -1 = -4 >> 2
 Decimal:
  val=-4
  res=-1
 Binário:
  val=11111111111111111111111111111100
  res=11111111111111111111111111111111
 NOTA: move os bits para fora da direita

Expressão: -1 = -4 >> 3
 Decimal:
  val=-4
  res=-1
 Binário:
  val=11111111111111111111111111111100
  res=11111111111111111111111111111111
 NOTA: mesmo resultado que acima; não se pode mover além do -1

--- MOVENDO BITS A ESQUERDA EM INTEIROS POSITIVOS ---
Expressão: 8 = 4 << 1
 Decimal:
  val=4
  res=8
 Binário:
  val=00000000000000000000000000000100
  res=00000000000000000000000000001000
 NOTA: preenche com zeros o lado direito

Expressão: 1073741824 = 4 << 28
 Decimal:
  val=4
  res=1073741824
 Binário:
  val=00000000000000000000000000000100
  res=01000000000000000000000000000000

Expressão: -2147483648 = 4 << 29
 Decimal:
  val=4
  res=-2147483648
 Binário:
  val=00000000000000000000000000000100
  res=10000000000000000000000000000000
 NOTA: bit de sinal movido para fora

Expressão: 0 = 4 << 30
 Decimal:
  val=4
  res=0
 Binário:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000000
 NOTA: bits movidos para fora da esquerda

--- MOVENDO BITS A ESQUERDA EM INTEIROS NEGATIVOS ---
Expressão: -8 = -4 << 1
 Decimal:
  val=-4
  res=-8
 Binário:
  val=11111111111111111111111111111100
  res=11111111111111111111111111111000
 NOTA: preenche com zeros o lado direito

Expressão: -2147483648 = -4 << 29
 Decimal:
  val=-4
  res=-2147483648
 Binário:
  val=11111111111111111111111111111100
  res=10000000000000000000000000000000

Expressão: 0 = -4 << 30
 Decimal:
  val=-4
  res=0
 Binário:
  val=11111111111111111111111111111100
  res=00000000000000000000000000000000
 NOTA: bits movidos para fora pela esquerda, incluindo o bit de sinal

O exemplo acima irá imprimir em máquinas 64 bit:

--- MOVENDO BITS A DIREITA EM INTEIROS POSITIVOS ---
Expressão: 2 = 4 >> 1
 Decimal:
  val=4
  res=2
 Binário:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000010
 NOTA: cópia do bit de sinal trocada para a esquerda

Expressão: 1 = 4 >> 2
 Decimal:
  val=4
  res=1
 Binário:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000001

Expressão: 0 = 4 >> 3
 Decimal:
  val=4
  res=0
 Binário:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000000
 NOTA: move os bits para fora da direita

Expressão: 0 = 4 >> 4
 Decimal:
  val=4
  res=0
 Binário:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000000
 NOTA: mesmo resultado que acima; não se pode mover além do 0

--- MOVENDO BITS A DIREITA EM INTEIROS NEGATIVOS ---
Expressão: -2 = -4 >> 1
 Decimal:
  val=-4
  res=-2
 Binário:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111110
 NOTA: cópia do bit de sinal trocada para a esquerda

Expressão: -1 = -4 >> 2
 Decimal:
  val=-4
  res=-1
 Binário:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111111
 NOTA: move os bits para fora da direita

Expressão: -1 = -4 >> 3
 Decimal:
  val=-4
  res=-1
 Binário:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111111
 NOTA: mesmo resultado que acima; não se pode mover além do -1

--- MOVENDO BITS A ESQUERDA EM INTEIROS POSITIVOS ---
Expressão: 8 = 4 << 1
 Decimal:
  val=4
  res=8
 Binário:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000001000
 NOTA: preenche com zeros o lado direito

Expressão: 4611686018427387904 = 4 << 60
 Decimal:
  val=4
  res=4611686018427387904
 Binário:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0100000000000000000000000000000000000000000000000000000000000000

Expressão: -9223372036854775808 = 4 << 61
 Decimal:
  val=4
  res=-9223372036854775808
 Binário:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=1000000000000000000000000000000000000000000000000000000000000000
 NOTA: bit de sinal movido para fora

Expressão: 0 = 4 << 62
 Decimal:
  val=4
  res=0
 Binário:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000000
 NOTA: bits movidos para fora da esquerda

--- MOVENDO BITS A ESQUERDA EM INTEIROS NEGATIVOS ---
Expressão: -8 = -4 << 1
 Decimal:
  val=-4
  res=-8
 Binário:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111000
 NOTA: preenche com zeros o lado direito

Expressão: -9223372036854775808 = -4 << 61
 Decimal:
  val=-4
  res=-9223372036854775808
 Binário:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1000000000000000000000000000000000000000000000000000000000000000

Expressão: 0 = -4 << 62
 Decimal:
  val=-4
  res=0
 Binário:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=0000000000000000000000000000000000000000000000000000000000000000
 NOTA: bits movidos para fora pela esquerda, incluindo o bit de sinal

Aviso

Deslocar inteiros em quantidade maior ou igual ao inteiro longo do sistema é um comportamento indefinido. Em outras palavras, não faça trocas maiores que 31 bits em sistemas de 32 bits, e não faça trocas maiores que 63 bits em sistemas de 64 bits.

Utilize as funções da extensão gmp para manipulações de troca de bit em números maiores que PHP_INT_MAX.

Veja também
pack(),
unpack(),
gmp_and(),
gmp_or(),
gmp_xor(),
gmp_testbit(),
gmp_clrbit()


Operadores de Comparação

Operadores de comparação, como os seus nomes implicam, permitem que você compare dois valores. Você pode se interessar em ver as tabelas de comparação de tipos, que tem exemplo das várias comparações entre tipos relacionadas.

Operadores de comparação
Exemplo | Nome | Resultado
$a == $b | Igual | Verdadeiro (true) se $a é igual a $b.
$a === $b | Idêntico | Verdadeiro (true) se $a é igual a $b, e eles são do mesmo tipo.
$a != $b | Diferente | Verdadeiro se $a não é igual a $b.
$a <> $b | Diferente | Verdadeiro se $a não é igual a $b.
$a !== $b | Não idêntico | Verdadeiro de $a não é igual a $b, ou eles não são do mesmo tipo (introduzido no PHP4).
$a < $b | Menor que | Verdadeiro se $a é estritamente menor que $b.
$a > $b | Maior que | Verdadeiro se $a é estritamente maior que $b.
$a <= $b | Menor ou igual | Verdadeiro se $a é menor ou igual a $b.
$a >= $b | Maior ou igual | Verdadeiro se $a é maior ou igual a $b.
$a <=> $b | Spaceship (nave espacial) | Um integer menor que, igual a ou maior que zero quando $a é, respectivamente, menor que, igual a ou maior que $b. Disponível a partir do PHP 7.

Se comparar um número com uma string ou com strings numéricas, cada string é convertido para um número e então a comparação é realizada numericamente. Essas regras também se aplicam a instrução switch. As conversões de tipo não são realizadas quando a comparação utilizada é === ou !== por esse tipo de comparação envolver valores e tipos.

<?php
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true

switch ("a") {
case 0:
    echo "0";
    break;
case "a": // nunca é alcançado porque "a" já foi combinado com 0
    echo "a";
    break;
}
?>
<?php
// Integers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// Floats
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1

// Strings
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1

echo "a" <=> "aa"; // -1
echo "zz" <=> "aa"; // 1

// Arrays
echo [] <=> []; // 0
echo [1, 2, 3] <=> [1, 2, 3]; // 0
echo [1, 2, 3] <=> []; // 1
echo [1, 2, 3] <=> [1, 2, 1]; // 1
echo [1, 2, 3] <=> [1, 2, 4]; // -1

// Objects
$a = (object) ["a" => "b"];
$b = (object) ["a" => "b"];
echo $a <=> $b; // 0

$a = (object) ["a" => "b"];
$b = (object) ["a" => "c"];
echo $a <=> $b; // -1

$a = (object) ["a" => "c"];
$b = (object) ["a" => "b"];
echo $a <=> $b; // 1

// only values are compared
$a = (object) ["a" => "b"];
$b = (object) ["b" => "b"];
echo $a <=> $b; // 1

?>

Para vários tipos, comparações são feitas de acordo com a seguinte tabela (em ordem).

Comparação com vários tipos
Tipo do 1º operando | Tipo do 2º operando | Resultado
null ou string | string | Converte null para "", numérico ou comparação léxica
bool or null | qualquer | Converte para bool, false < true
object | object | Classes nativas podem definir como são comparadas, classes diferentes são incomparáveis, mesma classe - compara propriedades igual faz arrays (PHP 4), PHP 5 tem sua explicação
string, resource ou number | string, resource ou number | Transforma strings e resources para números
array | array | Array com menos membros é menor, se a chave do operando 1 não é encontrada no operando 2, então os arrays são incomparáveis, caso contrário - compara valor por valor (veja o seguinte exemplo)
object | qualquer | object é sempre maior
array | qualquer | array é sempre maior

Exemplo #1 Comparações de boolean e null

<?php
// Bool e null são sempre comparados como booleanos
var_dump(1 == TRUE);  // TRUE - same as (bool)1 == TRUE
var_dump(0 == FALSE); // TRUE - same as (bool)0 == FALSE
var_dump(100 < TRUE); // FALSE - same as (bool)100 < TRUE
var_dump(-10 < FALSE);// FALSE - same as (bool)-10 < FALSE
var_dump(min(-100, -10, NULL, 10, 100)); // NULL - (bool)NULL < (bool)-100 is FALSE < TRUE
?>

Exemplo #2 Transcrição do padrão de comparação de array

<?php
// Arrays são comparados assim quando utilizando-se os operadores padrão
function standard_array_compare($op1, $op2)
{
    if (count($op1) < count($op2)) {
        return -1; // $op1 < $op2
    } elseif (count($op1) > count($op2)) {
        return 1; // $op1 > $op2
    }
    foreach ($op1 as $key => $val) {
        if (!array_key_exists($key, $op2)) {
            return null; // uncomparable
        } elseif ($val < $op2[$key]) {
            return -1;
        } elseif ($val > $op2[$key]) {
            return 1;
        }
    }
    return 0; // $op1 == $op2
}
?>

Veja também strcasecmp(), strcmp(), operadores de array, e a seção do manual sobre Tipos.

Aviso

Comparison of floating point numbers

Por conta da forma que floats são representados internamente não se deve testar dois floats com o comparador de igualdade.

Veja a documentação de float para mais detalhes.

Operador Ternário

Outro operador condicional é o operador "?:" (ou ternário).

Exemplo #3 Atribuindo um valor padrão

<?php
// Example usage for: Ternary Operator
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// The above is identical to this if/else statement
if (empty($_POST['action'])) {
    $action = 'default';
} else {
    $action = $_POST['action'];
}

?>
A expressão (expr1) ? (expr2) : (expr3) é avaliada para expr2 se expr1 é avaliada como true, ou expr3 se expr1 é avaliada como false.

Desde o PHP 5.3 é possível deixar vazia a parte central do operador ternário. A expressão expr1 ?: expr3 retorna expr1 se expr1 verdade true e expr3 do contrário.

Nota: Note que o operador ternário é uma expressão, e ele não é avaliado para uma variável, mas para o resultado de uma expressão. Isto é importante saber se você quer retornar uma variável por referência. A declaração return $var == 42 ? $a : $b; em uma função que retorna por referência conseqüêntemente não irá funcionar e será avisado.

Nota:

É recomendado para evitar "stacking" de expressões ternárias. O comportamento do PHP quando usando mais de um operador ternário no único comando não é óbvio:

Exemplo #4 Comportamento não óbvio do ternário

<?php
// o seguinte aparenta imprimir 'true'
echo (true?'true':false?'t':'f');

// conteudo, a saída acima é 't'
// isto por causa da expressão ternário se avaliada da esquerda pra direita

// o seguinte é a versão mais óbvia do mesmo código acima
echo ((true ? 'true' : 'false') ? 't' : 'f');

// aqui, você pode ver que a primeira expressão é avaliada para 'true', que
// por sua vez avalia para (bool)true, assim retornando a parte true da
// segunda expressão ternária.
?>

Operador Null Coalescing

Existe ainda o operador "??" (ou null coalescing), disponível desde o PHP 7.

Exemplo #5 Atribuindo um valor padrão

<?php
// Exemplo do operador Null Coalesce
$action = $_POST['action'] ?? 'default';

// O conteúdo acima é idêntico à essa declaração if/else
if (isset($_POST['action'])) {
    $action = $_POST['action'];
} else {
    $action = 'default';
}

?>
A expressão (expr1) ?? (expr2) é avaliada para expr2 se expr1 for null, e expr1 do contrário.

Esse operador em particular não emite aviso caso o valor da esquerda não exista, assim como isset(). Sendo especialmente útil em chaves de arrays.

Nota: Note que o operador null coalescing é uma expressão, e ele não é avaliado para uma variável, mas para o resultado de uma expressão. Isto é importante saber se você quer retornar uma variável por referência. A declaração return $foo ?? $bar; em uma função que retorna por referência conseqüêntemente não irá funcionar e será avisado.

Nota:

Note que o operador null coalescing permite a criação de aninhamentos simples:

Exemplo #6 Aninhando o operador null coalescing

<?php

$foo = null;
$bar = null;
$baz = 1;
$qux = 2;

echo $foo ?? $bar ?? $baz ?? $qux; // exibe 1

?>


Operadores de controle de erro

O PHP suporta um operador de controle de erro: o sinal 'arroba' (@). Quando ele precede uma expressão em PHP, qualquer mensagem de erro que possa ser gerada por aquela expressão será ignorada.

Se você configurar uma função personalizada de manipulação de erros com set_error_handler() ela será chamada, mas esta função personalizada pode (e deve) chamar error_reporting() que irá retornar 0 quando o erro disparado tiver sido precedido por uma @.

Se o recurso track_errors estiver habilitado, qualquer mensagem de erro gerada pela expressão será gravada na variável $php_errormsg. Esta variável será sobrescrita em cada erro, assim verifique-a constantemente se você quiser usá-la.

<?php
/* Erro de arquivo intencional */
$my_file = @file ('arquivo_nao_existente') or
    die ("Falha abrindo arquivo: '$php_errormsg'");

// Isto funciona para qualquer expressão, não apenas para funções:
$value = @$cache[$key];
// você não receberá nenhum aviso se a chave $key não existir.

?>

Nota: O operador @ funciona somente em expressões. Uma regra simples para lembrar disso: se você pode pegar o valor de alguma coisa, você pode prefixar isso com o @. Assim, você pode prefixar chamadas de variáveis, funções e includes, constantes e afins. Você não pode prefixar definições de funções ou classe, estruturas condicionais como o if, foreach e assim por diante.

Veja também error_reporting() e a seção do manual sobre funções de Manipulação de Erros e Logging.

Aviso

Atualmente, o operador de controle de erro "@" sempre desativa mensagens de erro, mesmo para erros críticos, que terminam a execução de scripts. Além de outras coisas, isto significa que se você usar "@" para suprimir erros de certas funções e elas não estiverem disponíveis ou com tipos incorretos, o script vai parar exatamente aí sem nenhuma indicação da razão.


Operadores de Execução

O PHP suporta um operador de execução: acentos graves (``). Note que não são aspas simples! O PHP tentará executar o conteúdo dentro dos acentos graves como um comando do shell; a saída será retornada (isto é, ela não será simplesmente mostrada na tela; ela pode ser atribuída a uma variável). A utilização do operador acento grave é idêntica a da função shell_exec().

<?php
$output = `ls -al`;
echo "<pre>$output</pre>";
?>

Nota:

O operador de execução fica desabilitado quando safe mode está ativo ou shell_exec() está desabilitado.

Nota:

Ao contrário de outras linguagens, acentos graves não tem sentido especial dentro de strings delimitadas por aspas.

Veja também a seção do manual sobre funções de execução de programas, popen() proc_open() e Utilizando o PHP em linha de comando.


Operadores de Incremento/Decremento

O PHP suporta operadores de pré e pós-incremento e decremento no estilo C.

Nota: Os operadores incremento/decremento afetam apenas números e strings. Arrays, objetos e recursos não são afetados. Decrementar null não gera efeitos, mas incrementar resulta em 1.

Operadores de Incremento/Decremento
Exemplo | Nome | Efeito
++$a | Pré-incremento | Incrementa $a em um, e então retorna $a.
$a++ | Pós-incremento | Retorna $a, e então incrementa $a em um.
--$a | Pré-decremento | Decrementa $a em um, e então retorna $a.
$a-- | Pós-decremento | Retorna $a, e então decrementa $a em um.

Aqui está um script de exemplo simples:

<?php
echo "<h3>Pós-incremento</h3>";
$a = 5;
echo "Deve ser 5: " . $a++ . "<br />\n";
echo "Deve ser 6: " . $a . "<br />\n";

echo "<h3>Pré-incremento</h3>";
$a = 5;
echo "Deve ser 6: " . ++$a . "<br />\n";
echo "Deve ser 6: " . $a . "<br />\n";

echo "<h3>Pós-decremento</h3>";
$a = 5;
echo "Deve ser 5: " . $a-- . "<br />\n";
echo "Deve ser 4: " . $a . "<br />\n";

echo "<h3>Pré-decremento</h3>";
$a = 5;
echo "Deve ser 4: " . --$a . "<br />\n";
echo "Deve ser 4: " . $a . "<br />\n";
?>

O PHP segue a convenção Perl quando tratando operações aritmétricas em variavéis caracter em vez da convenção C. Por exemplo, em Perl $a = 'Z'; $a++; transforma $a em 'AA' enquanto que em C a = 'Z'; a++; transforma a em '[' (valor ASCII de 'Z' é 90, valor ASCII '[' é 91). Note que variáveis caracter podem ser incrementadas mas não decrementadas e somente caracteres plain ASCII (a-z e A-Z) são suportados. Incrementar ou decrementar outros caracteres não tem efeitos, a string original não sendo modificada.

Exemplo #1 Operações aritmétricas em variáveis caractere

<?php
echo '== Alphabets ==' . PHP_EOL;
$s = 'W';
for ($n=0; $n<6; $n++) {
    echo ++$s . PHP_EOL;
}
// Digit characters behave differently
echo '== Digits ==' . PHP_EOL;
$d = 'A8';
for ($n=0; $n<6; $n++) {
    echo ++$d . PHP_EOL;
}
$d = 'A08';
for ($n=0; $n<6; $n++) {
    echo ++$d . PHP_EOL;
}
?>

O exemplo acima irá imprimir:

== Characters ==
X
Y
Z
AA
AB
AC
== Digits ==
A9
B0
B1
B2
B3
B4
A09
A10
A11
A12
A13
A14

Incrementar ou decrementar booleanos não há efeito.


Operadores Lógicos

Operadores Lógicos
Exemplo | Nome | Resultado
$a and $b | E | Verdadeiro (true) se tanto $a quanto $b são verdadeiros.
$a or $b | OU | Verdadeiro se $a ou $b são verdadeiros.
$a xor $b | XOR | Verdadeiro se $a ou $b são verdadeiros, mas não ambos.
! $a | NÃO | Verdadeiro se $a não é verdadeiro.
$a && $b | E | Verdadeiro se tanto $a quanto $b são verdadeiros.
$a || $b | OU | Verdadeiro se $a ou $b são verdadeiros.

A razão para as duas variantes dos operandos "and" e "or" é que eles operam com precedências diferentes. (Veja Precedência de Operadores.)

Exemplo #1 Ilustrando operadores lógicos

<?php

// --------------------
// foo() nunca será chamada porque toda a expressão sofre curto circuito

$a = (false && foo());
$b = (true  || foo());
$c = (false and foo());
$d = (true  or  foo());

// --------------------
// "||" tem maior precedência que "or"

// O resultado da expressão (false || true) é atribuido em $e
// Funciona como: ($e = (false || true))
$e = false || true;

// A constante false é atribuída a $f antes que o "or" ocorra
// Funciona como: (($f = false) or true)
$f = false or true;

var_dump($e, $f);

// --------------------
// "&&" tem maior precedência que "and"

// O resultado da expressão (true && false) é atribuído em $g
// Funciona como: ($g = (true && false))
$g = true && false;

// A constante true é atribuída em $h antes que o "and" ocorra
// Funciona como: (($h = true) and false)
$h = true and false;

var_dump($g, $h);
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(false)
bool(false)
bool(true)


Operadores de String

Há dois operadores de string. O primeiro é o operador de concatenação ('.'), que retorna a concatenação dos seus argumentos direito e esquerdo. O segundo é o operador de atribuição de concatenação ('.='), que acrescenta o argumento do lado direito no argumento do lado esquerdo. Veja em Operadores de Atribuição para mais informações.

<?php
$a = "Olá ";
$b = $a . "mundo!"; // agora $b contém "Olá mundo!"

$a = "Olá ";
$a .= "mundo!";     // agora $a contém "Olá mundo!"
?>

Veja também as seções do manual sobre o tipo String e as funções de manipulação de Strings.


Operadores de Arrays

Operadores de array
Exemplo | Nome | Resultado
$a + $b | União | União de $a e $b.
$a == $b | Igualdade | true se $a e $b tem os mesmos pares de chave/valor.
$a === $b | Identidade | true se $a e $b tem os mesmos pares de chave/valor na mesma ordem e do mesmo tipo.
$a != $b | Desigualdade | true se $a não é igual a $b.
$a <> $b | Desigualdade | true se $a não é igual a $b.
$a !== $b | Não identidade | true se $a não é identico a $b.

O operador + retorna o array à direta anexado ao array da esquerda. Para chaves que existam nos dois arrays os elementos do array à esquerda serão mantidos, os valores de mesma chave no array da direita são ignorados.

<?php
$a = array("a" => "maçã", "b" => "banana");
$b = array("a" =>"pêra", "b" => "framboesa", "c" => "morango");

$c = $a + $b; // Uniao de $a e $b
echo "União de \$a e \$b: \n";
var_dump($c);

$c = $b + $a; // União de $b e $a
echo "União de \$b e \$a: \n";
var_dump($c);

$a += $b; // União de $a += $b é $a e $b
echo "União de \$a += \$b: \n";
var_dump($a);
?>
Quando executado, o script produz uma saída assim:
União de $a e $b:
array(3) {
  'a' =>
  string(6) "maçã"
  'b' =>
  string(6) "banana"
  'c' =>
  string(7) "morango"
}
União de $b e $a:
array(3) {
  'a' =>
  string(5) "pêra"
  'b' =>
  string(9) "framboesa"
  'c' =>
  string(7) "morango"
}
União de $a += $b:
array(3) {
  'a' =>
  string(6) "maçã"
  'b' =>
  string(6) "banana"
  'c' =>
  string(7) "morango"
}

Elementos do array são iguais para efeitos de comparação se eles possuem o mesmo valor e chave.

Exemplo #1 Comparando arrays

<?php
$a = array("maçã", "banana");
$b = array(1 => "banana", "0" => "maçã");

var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>

Veja também as seções do manual sobre o tipo Array e funções de manipulação de Arrays.


Operadores de tipo

instanceof é usado para determinar se um variável do PHP é uma objeto instânciado de uma certa classe:

Exemplo #1 Usando instanceof com classes

<?php
class MyClass
{
}

class NotMyClass
{
}
$a = new MyClass;

var_dump($a instanceof MyClass);
var_dump($a instanceof NotMyClass);
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)

instanceof pode também ser usado para determinar se uma variável é um objeto instânciado de uma classe que herda de uma classe pai:

Exemplo #2 Usando instanceof com herança

<?php
class ParentClass
{
}

class MyClass extends ParentClass
{
}

$a = new MyClass;

var_dump($a instanceof MyClass);
var_dump($a instanceof ParentClass);
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)

Para verificar se um objeto não é uma instância de uma classe, o operador lógico not pode ser usado.

Exemplo #3 Usando instanceof para verificar se o objeto não é uma instância da classe

<?php
class MyClass
{
}

$a = new MyClass;
var_dump(!($a instanceof stdClass));
?>

O exemplo acima irá imprimir:

bool(true)

Por fim, instanceof pode também ser usado para determinar se uma variável é um objeto instânciado de uma classe que implementa uma interface:

Exemplo #4 Usando instanceof para classe

<?php
interface MyInterface
{
}

class MyClass implements MyInterface
{
}

$a = new MyClass;

var_dump($a instanceof MyClass);
var_dump($a instanceof MyInterface);
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)

Embora instanceof é usualmente usado com um nome de classe literal, ele pode também ser usado com outro objeto ou uma variável string:

Exemplo #5 Usando instanceof com outras variáveis

<?php
interface MyInterface
{
}

class MyClass implements MyInterface
{
}

$a = new MyClass;
$b = new MyClass;
$c = 'MyClass';
$d = 'NotMyClass';

var_dump($a instanceof $b); // $b é umn objeto da classe MyClass
var_dump($a instanceof $c); // $c é uma string 'MyClass'
var_dump($a instanceof $d); // $d é uma string 'NotMyClass'
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(false)

instanceof não lança erros se a variável testada não for um objeto, apenas retorna false. Constantes, entretanto, não são permitidas.

Exemplo #6 Utilizando instanceof para testar outras variáveis

<?php
$a = 1;
$b = NULL;
$c = imagecreate(5, 5);
var_dump($a instanceof stdClass); // inteiro
var_dump($b instanceof stdClass); // NULL
var_dump($c instanceof stdClass); // resource
var_dump(FALSE instanceof stdClass);
?>

O exemplo acima irá imprimir:

bool(false)
bool(false)
bool(false)
PHP Fatal error:  instanceof expects an object instance, constant given

Há algumas detalhes para estar ciente. Antes do PHP 5.1.0, instanceof podia chamar __autoload() quando o nome da classe não existe. Em adicional, se a classe não foi carregada, um erro fatal poderia ocorrer. Isto pode funcionar usando a dynamic class reference, ou uma variável string contendo o nome da classe:

Exemplo #7 Evitando que o nome da classe seje verificado e fatal erros com instanceof no PHP 5.0

<?php
$d = 'NotMyClass';
var_dump($a instanceof $d); // não causa erro fatal
?>

O exemplo acima irá imprimir:

bool(false)

O operador instanceof foi introduzido no PHP 5. Antes disso is_a() era usado mas is_a() tornou-se obsoleto pelo instanceof. A partir do PHP 5.3.0 is_a() não está mais obsoleta.

Veja também get_class() e is_a().


Estruturas de Controle

Índice

  • Introdução
  • if
  • else
  • elseif/else if
  • Sintaxe Alternativa para estruturas de controle
  • while
  • do-while
  • for
  • foreach
  • break
  • continue
  • switch
  • match
  • declare
  • return
  • require
  • include
  • require_once
  • include_once
  • goto


Introdução

Qualquer script PHP é construído por uma série de instruções. Uma instrução pode ser uma atribuição, uma chamada de função, um laço de repetição, uma instrução condicional, ou mesmo uma instrução que não faz nada (um comando vazio). Instruções geralmente terminam com um ponto e vírgula. Além disso, as instruções podem ser agrupados em um grupo de comandos através do encapsulamento de um grupo de comandos com chaves. Um grupo de comandos é uma instrução também. Os vários tipos de instruções são descritos neste capítulo.

Veja Também

Os itens seguintes são considerados como constructos da linguagem, mesmo que eles sejam referenciados como funções nesse manual.

  • list()
  • array()
  • echo
  • eval()


if

(PHP 4, PHP 5, PHP 7, PHP 8)

O construtor if é um dos recursos mais importantes em muitas linguagens, inclusive no PHP. Permite a execução condicional de fragmentos de código. O PHP apresenta uma estrutura if semelhante a do C:

if (expr)
  statement

Como descrito na seção sobre expressões, expressões são avaliadas por seus valores Booleanos. Se uma expressão for avaliada como true, o PHP executará a declaração, e se avaliá-la como false - ignorá-la. Mais informações sobre quais valores são avaliados como false pode ser encontrada na seção 'Conversão para booleano' .

O exemplo a seguir exibirá a is bigger than b se $a for maior que $b:

<?php
if ($a > $b)
  echo "a is bigger than b";
?>

Muitas vezes deseja-se que mais de uma declaração seja condicionalmente executada. É claro que não é necessário envolver cada declaração em uma cláusula if. Em vez disso, pode-se agrupar várias declarações em grupos. Por exemplo, este código exibirá a is bigger than b se $a for maior que $b, e atribuirá o valor de $a em $b:

<?php
if ($a > $b) {
  echo "a is bigger than b";
  $b = $a;
}
?>

A declaração If pode ser aninhada indefinidamente dentro de outras declarações if, fornecendo completa flexibilidade para execução condicional de várias partes do programa.


else

(PHP 4, PHP 5, PHP 7, PHP 8)

Muitas vezes deseja-se executar uma instrução se uma certa condição for válida, e uma instrução diferente se a mesma condição não for válida. Para isso que o else serve. O else estende a instrução if para executar outras caso a expressão no if retornar false. Por exemplo, o código a seguir exibirá a is greater than b se $a for maior que $b, e a is NOT greater than b caso contrário:

<?php
if ($a > $b) {
  echo "a is greater than b";
} else {
  echo "a is NOT greater than b";
}
?>
A instrução else só é executada se a expressão de avaliação do if for avaliada como false, e se tiver qualquer expressão elseif - somente se também retornarem false (veja elseif).


elseif/else if

(PHP 4, PHP 5, PHP 7, PHP 8)

elseif, como o nome sugere, é uma combinação do if e else. Como o else, estende um if para executar instruções diferentes no caso da expressão if original ser avaliada como false. Entretanto, diferentemente do else, executará uma expressão alternativa somente se a expressão condicional do elseif for avaliada como true. Por exemplo, o código a seguir exibirá a is bigger than b, a equal to b ou a is smaller than b:

<?php
if ($a > $b) {
    echo "a is bigger than b";
} elseif ($a == $b) {
    echo "a is equal to b";
} else {
    echo "a is smaller than b";
}
?>

Pode haver vários elseifs dentro da mesma declaração if. A primeira expressão elseif (se houver) que retornar true será executada. No PHP, pode-se escrever 'else if' (em duas palavras), e o comportamento será idêntico ao do 'elseif' (em uma única palavra). O significado sintático é um pouco diferente (se você está familiarizado com C, o comportamento é o mesmo), mas, no fundo, ambos terão exatamente o mesmo comportamento.

O elseif só é executado se o if precedente ou qualquer elseif for avaliado como false, e o elseif corrente for avaliado como true.

Nota: Note que o elseif e else if só serão considerados exatamente iguais se usados com chaves como no exemplo abaixo. Ao utilizar os dois pontos (:) para definir as condições de if/elseif, não deve-se separar else if em duas palavras, ou o PHP falhará com um erro de interpretação.

<?php

/* Incorrect Method: */
if ($a > $b):
    echo $a." is greater than ".$b;
else if ($a == $b): // Will not compile.
    echo "The above line causes a parse error.";
endif;

/* Correct Method: */
if ($a > $b):
    echo $a." is greater than ".$b;
elseif ($a == $b): // Note the combination of the words.
    echo $a." equals ".$b;
else:
    echo $a." is neither greater than or equal to ".$b;
endif;

?>


Sintaxe Alternativa para estruturas de controle

(PHP 4, PHP 5, PHP 7, PHP 8)

O PHP oferece uma sintaxe alternativa para algumas estruturas de controle; a saber, if, while, for, foreach, e switch. Em cada caso, basicamente a sintaxe alternativa é trocar a chave de abertura por dois pontos (:) e a chave de fechamento por endif;, endwhile;, endfor;, endforeach;, ou endswitch;, respectivamente.

<?php if ($a == 5): ?>
A é igual a 5
<?php endif; ?>

No exemplo acima, o bloco HTML "A é igual a 5" está dentro de um if escrito na sintaxe alternativa. O bloco HTML será exibido somente se $a for igual a 5.

A sintaxe alternativa também se aplica ao else e elseif. A seguir um exemplo de um if com elseif e else no formato alternativo:

<?php
if ($a == 5):
    echo "a equals 5";
    echo "...";
elseif ($a == 6):
    echo "a equals 6";
    echo "!!!";
else:
    echo "a is neither 5 nor 6";
endif;
?>

Nota:

Misturar a sintaxe na mesma bloco de controle não é suportado.

Aviso

Qualquer saída (inclusive espaços em branco) entre um switch e o primeiro case irá resultar em um erro de sintaxe. O exemplo abaixo é inválido:

<?php switch ($foo): ?>
    <?php case 1: ?>
    ...
<?php endswitch ?>

Enquanto que este é válido, já que a quebra de linha depois do switch é considerado parte da tag de fechamento ?> e, portanto, nenhuma saída será enviada entre o switch e case:

<?php switch ($foo): ?>
<?php case 1: ?>
    ...
<?php endswitch ?>

Veja mais sobre while, for, e if para outros exemplos.


while

(PHP 4, PHP 5, PHP 7, PHP 8)

Laços while são os mais simples tipos de laços do PHP. Possui comportamento semelhante ao C. O formato básico de uma declaração while é:

while (expr)
    statement

O propósito da declaração while é simples. Ele dirá ao PHP para executar as declarações aninhadas repetidamente, enquanto a expressão do while forem avaliadas como true. O valor da expressão é checado a cada vez que o laço é iniciado, então, mesmo seu valor mude durante a a execução das declarações aninhadas, a execução não será interrompida até o final da iteração ( cada vez que o PHP executa as declarações dentro do laço é uma iteração). Entretanto, se a expressão do while for avaliada como false desde o início, as declarações aninhadas não serão executadas nenhuma vez.

Similar a declaração if, pode-se agrupar múltiplas declarações no mesmo laço while delimitando o grupo de declarações por chaves, ou utilizando a sintaxe alternativa:

while (expr):
    statement
    ...
endwhile;

Os exemplos a seguir são idênticos, e ambos imprimem os números de 1 a 10.

<?php
/* example 1 */

$i = 1;
while ($i <= 10) {
    echo $i++;  /* the printed value would be
                   $i before the increment
                   (post-increment) */
}

/* example 2 */

$i = 1;
while ($i <= 10):
    echo $i;
    $i++;
endwhile;
?>


do-while

(PHP 4, PHP 5, PHP 7, PHP 8)

Os laços do-while é muito similar aos laços while, com exceção que a expressão de avaliação é verificada ao final de cada iteração em vez de no começo. A maior diferença para o laço while é que a primeira iteração do laço do-while sempre é executada (a expressão de avaliação é executada somente no final da iteração), considerando que no laço while não é necessariamente executada (a expressão de avaliação é executada no começo de cada iteração, se avaliada como false logo no começo, a execução do laço será abortada imediatamente).

Só há uma sintaxe para o laço do-while:

<?php
$i = 0;
do {
    echo $i;
} while ($i > 0);
?>

O laço acima será executado somente uma vez, pois após a primeira iteração, quando a expressão de avaliação for executada, resultará em false ($i não é maior que 0) e a execução do laço será encerrada.

Usuário avançados de C devem estar familiarizados com um uso diferente do laço do-while, que permite parar a execução no meio do bloco de códigos, encapsulando-os em um do-while (0), e usando o break . O código a seguir demonstra isso:

<?php
do {
    if ($i < 5) {
        echo "i is not big enough";
        break;
    }
    $i *= $factor;
    if ($i < $minimum_limit) {
        break;
    }
   echo "i is ok";

    /* process i */

} while (0);
?>

Não se preocupe se não entender isso neste momento. Pode-se criar scripts simples ou mesmo poderosos sem usar esse 'recurso'. Desde o PHP 5.3.0, é possível usar o operador goto ao invés desse hack.


for

(PHP 4, PHP 5, PHP 7, PHP 8)

Os laços for são os mais complexo no PHP. Possui comportamento semelhante ao C. A sintaxe do laço for é:

for (expr1; expr2; expr3)
    statement

A primeira expressão (expr1) é avaliada (executada), uma vez, incondicionalmente, no início do laço.

No começo de cada iteração a expr2 é avaliada. Se a avaliada como true, o laço continuará e as instruções aninhada serão executadas. Se avaliada como false, a execução do laço terminará.

No final de cada iteração, a expr3 é avaliada (executada).

Cada uma das expressões podem ser vazias ou conter múltiplas expressões separadas por vírgulas. Na expr2, todas as expressões separadas por vírgula são avaliadas mas o resultado é obtido da última parte. Se a expr2 estiver vazia significa que o laço deve ser executado indefinidamente (O PHP considera implicitamente como true, igual ao C). Isto não é inútil como se imagina, pois muitas vezes deseja-se interromper o laço utilizando a instrução break ao invés de usar a expressão verdade do for.

Analise os seguintes exemplos. Todos exibem números de 1 até 10:

<?php
/* exemplo 1 */

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/* exemplo 2 2 */

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* exemplo 3 */

$i = 1;
for (; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* exemplo 4 */

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>

É claro que o primeiro exemplo aparenta ser o mais simpático (ou talvez o quarto), mas pode-se achar que o uso de expressões vazias no laço for, seja vantajoso em algumas ocasiões.

O PHP também suporta a sintaxe alternativa "dois pontos" para o laço for.

for (expr1; expr2; expr3):
    statement
    ...
endfor;

É comum, para muitos usuários, iterar em arrays como no exemplo abaixo.

<?php
/*
 * Esta é uma array com alguns dados que devem ser modificadoswant to modify
 * durante a execuçao do loop for.
 */
$people = array(
    array('name' => 'Kalle', 'salt' => 856412),
    array('name' => 'Pierre', 'salt' => 215863)
);

for($i = 0; $i < count($people); ++$i) {
    $people[$i]['salt'] = mt_rand(000000, 999999);
}
?>

O código acima pode se tornar lento, pois o tamanho do array será calculado a cada iteração. Desde que o tamanho nunca mude, o laço pode ser facilmente otimizado usando uma variável intermediária para armazenar o tamanho ao invés de executar repetidamente o count():

<?php
$people = array(
    array('name' => 'Kalle', 'salt' => 856412),
    array('name' => 'Pierre', 'salt' => 215863)
);

for($i = 0, $size = count($people); $i < $size; ++$i) {
    $people[$i]['salt'] = mt_rand(000000, 999999);
}
?>


foreach

(PHP 4, PHP 5, PHP 7, PHP 8)

O construtor foreach fornece uma maneira fácil de iterar sobre arrays. O foreach funciona somente em arrays e objetos, e emitirá um erro ao tentar usá-lo em uma variável com um tipo de dado diferente ou em uma variável não inicializada. Possui duas sintaxes:

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

A primeira forma, itera sobre arrays informados na array_expression. A cada iteração, o valor do elemento atual é atribuído a $value e o ponteiro interno do array avança uma posição (então, na próxima iteração, se estará olhando para o próximo elemento).

A segunda forma var, adicionalmente, atribuir a chave do elemento corrente a variável $key a cada iteração.

É possível customizar a iteração em objetos.

Nota:

No PHP 5, quando o foreach inicia sua primeira execução, o ponteiro interno do array é automaticamente redefinido para o primeiro elemento. Isso indica que não é necessário chamar a função reset() antes de um laço foreach.

Como o foreach depende do ponteiro interno do array no PHP 5, modificá-lo dentro de um laço pode levar a comportamentos inesperados.

No PHP 7, o foreach não utiliza o ponteiro interno do array.

Para modificar diretamente elementos de um array dentro de um laço, preceda $value com &. Neste caso, o valor será atribuído por referência.

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
unset($value); // break the reference with the last element
?>

Aviso

A referência ao $value e o último elemento do array permanecerá inalterado mesmo após a iteração do foreach. É recomendado destruí-lo utilizando a função unset(). Caso contrário você experienciará o seguinte comportamento:

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)

// sem um unset($value), $value continuará como referência ao último item: $arr[3]

foreach ($arr as $key => $value) {
    // $arr[3] será atualizado com cada valor de $arr...
    echo "{$key} => {$value} ";
    print_r($arr);
}
// ...até que, o segundo e último valor é copiado para o último valor

// saída:
// 0 => 2 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 2 )
// 1 => 4 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 4 )
// 2 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )
// 3 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )
?>

Em versões anteriores ao PHP 5.5.0, a referência a $value só é possível se o array iterado puder ser referenciado (isso é, se ele for uma variável). O código a seguir só funcionará em versões do PHP superiores a 5.5.0:

<?php
foreach (array(1, 2, 3, 4) as &$value) {
    $value = $value * 2;
}
?>

Nota:

O foreach não possui suporte a habilidade de suprimir mensagens de erro utilizando o '@'.

Mais alguns exemplos para demonstrar o uso:

<?php
/* foreach example 1: value only */

$a = array(1, 2, 3, 17);

foreach ($a as $v) {
    echo "Current value of \$a: $v.\n";
}

/* foreach example 2: value (with its manual access notation printed for illustration) */

$a = array(1, 2, 3, 17);

$i = 0; /* for illustrative purposes only */

foreach ($a as $v) {
    echo "\$a[$i] => $v.\n";
    $i++;
}

/* foreach example 3: key and value */

$a = array(
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "seventeen" => 17
);

foreach ($a as $k => $v) {
    echo "\$a[$k] => $v.\n";
}

/* foreach example 4: multi-dimensional arrays */
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";

foreach ($a as $v1) {
    foreach ($v1 as $v2) {
        echo "$v2\n";
    }
}

/* foreach example 5: dynamic arrays */

foreach (array(1, 2, 3, 4, 5) as $v) {
    echo "$v\n";
}
?>

Desempacotando arrays aninhados com o construtor list()

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

O PHP 5.5 adicionou a habilidade de iterar sobre array de arrays e desempacotar arrays aninhados em variáveis do laço fornecendo o construtor list() como valor.

Por exemplo:

<?php
$array = [
    [1, 2],
    [3, 4],
];

foreach ($array as list($a, $b)) {
    // $a contains the first element of the nested array,
    // and $b contains the second element.
    echo "A: $a; B: $b\n";
}
?>

O exemplo acima irá imprimir:

A: 1; B: 2
A: 3; B: 4

Pode-se se fornecer menos elementos ao construtor list() aos que existem no array aninhado, neste caso, os valores do array que sobrarem serão ignorados.

<?php
$array = [
    [1, 2],
    [3, 4],
];

foreach ($array as list($a)) {
    // Note that there is no $b here.
    echo "$a\n";
}
?>

O exemplo acima irá imprimir:

1
3

Um aviso será gerado se não houver elementos suficientes no array para o preenchimento do construtor list():

<?php
$array = [
    [1, 2],
    [3, 4],
];

foreach ($array as list($a, $b, $c)) {
    echo "A: $a; B: $b; C: $c\n";
}
?>

O exemplo acima irá imprimir:

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C:

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C:

Changelog

Versão | Descrição
7.0.0 | foreach não utiliza mais o o ponteiro interno do array.
5.5.0 | Referências a $value são suportadas em expressões. Em versões anteriores, apenas variáveis eram suportadas.
5.5.0 | Desempacotar arrays aninhados com a função list() é suportado.


break

(PHP 4, PHP 5, PHP 7, PHP 8)

break finaliza a execução da estrutura for, foreach, while, do-while ou switch atual.

break aceita um argumento numérico opcional que diz quantas estruturas aninhadas deverá interromper. O valor padrão é 1, somente a estrutura imediata é interrompida.

<?php
$arr = array('one', 'two', 'three', 'four', 'stop', 'five');
foreach ($arr as $val) {
    if ($val == 'stop') {
        break;    /* You could also write 'break 1;' here. */
    }
    echo "$val<br />\n";
}

/* Using the optional argument. */

$i = 0;
while (++$i) {
    switch ($i) {
        case 5:
            echo "At 5<br />\n";
            break 1;  /* Exit only the switch. */
        case 10:
            echo "At 10; quitting<br />\n";
            break 2;  /* Exit the switch and the while. */
        default:
            break;
    }
}
?>

Changelog para o break
Versão | Descrição
7.0.0 | break fora de um laço ou de uma estrutura de controle switch agora é detectado em tempo de compilação, antes era em tempo de execução, e dispara um erro do tipo E_COMPILE_ERROR.
5.4.0 | break 0; não é mais válido. Nas versões anteriores era interpretado como break 1;.
5.4.0 | Removida a possibilidade de passar variáveis como argumentos numéricos (ex., $num = 2; break $num;)


continue

(PHP 4, PHP 5, PHP 7, PHP 8)

continue é utilizado em estruturas de laço para pular o resto da iteração atual, e continuar a execução na validação da condição e, então, iniciar a próxima iteração.

Nota: No PHP a instrução switch é considerada uma estrutura de laço para os propósitos do continue. O continue se comporta como o break (quando nenhum argumento é passado), mas irá gerar um aviso, pois este é susceptível de ser um erro. Se um switch está dentro de um laço, continue 2 irá continuar a próxima interação do laço externo.

O continue aceita um argumento numérico opcional que diz quantos níveis de laços aninhados deve pular. O valor padrão é 1, saltando para o final do laço atual.

<?php
foreach ($arr as $key => $value) {
    if (!($key % 2)) { // pula membros pares
        continue;
    }
    do_something_odd($value);
}

$i = 0;
while ($i++ < 5) {
    echo "Outer<br />\n";
    while (1) {
        echo "Middle<br />\n";
        while (1) {
            echo "Inner<br />\n";
            continue 3;
        }
        echo "This never gets output.<br />\n";
    }
    echo "Neither does this.<br />\n";
}
?>

Omitir o ponto e vírgula depois do continue pode causar confusão. Abaixo está um exemplo do que não se deve fazer.

<?php
for ($i = 0; $i < 5; ++$i) {
    if ($i == 2)
        continue
    print "$i\n";
}
?>

O resultado esperado poderia ser:

0
1
3
4

mas em versões do PHP inferiores a 5.4.0, o script imprimirá:

2

porque todo o código continue print "$i\n"; é avaliado como uma só expressão, então o print é chamado somente quando $i == 2 for verdadeiro. (O retorno do print é passado para o continue como o argumento numérico.)

Nota:

A partir do PHP 5.4.0, o exemplo acima irá causar um erro do tipo E_COMPILE_ERROR.

Lista de modificações do continue
Versão | Descrição
7.3.0 | continue dentro de um switch que está tentando agir como um break para o switch irá gerar um E_WARNING.
7.0.0 | continue fora de um laço ou fora de uma estrutura de controle switch agora é detectado em tempo de compilação, antes era em tempo de execução, e dispara um erro do tipo E_COMPILE_ERROR.
5.4.0 | continue 0; não é mais válido. Em versões anteriores era interpretado como continue 1;.
5.4.0 | Removida a possibilidade de passar variáveis como argumentos numéricos (ex., $num = 2; continue $num;).


switch

(PHP 4, PHP 5, PHP 7, PHP 8)

A declaração switch é similar a uma série de declarações IF na mesma expressão. Em muitos casos, se deseja comparar as mesmas variáveis (ou expressões), com diferentes valores, e executar pedaços diferentes de código dependendo de qual valor ela é igual. Esta é exatamente a serventia da declaração switch.

Nota: Note que ao contrário de outras linguagens, a declaração continue aplica-se ao switch e age similarmente ao break. Se possuir um switch dentro de um laço, e deseja continuar na próxima iteração do laço externo, utilize continue 2.

Nota:

Note que o switch/case faz comparação frouxa.

Changelog
Versão | Descrição
7.0.0 | Múltiplos cases default lançarão um erro E_COMPILE_ERROR.

Os dois exemplos a seguir demonstram duas formas diferentes de escrever a mesma coisa, uma usando uma série de declarações if e elseif, e a outra usando a declaração switch:

Exemplo #1 Estrutura do switch

<?php
if ($i == 0) {
    echo "i equals 0";
} elseif ($i == 1) {
    echo "i equals 1";
} elseif ($i == 2) {
    echo "i equals 2";
}

switch ($i) {
    case 0:
        echo "i equals 0";
        break;
    case 1:
        echo "i equals 1";
        break;
    case 2:
        echo "i equals 2";
        break;
}
?>

Exemplo #2 A estrutura do switch permite o uso de strings

<?php
switch ($i) {
    case "apple":
        echo "i is apple";
        break;
    case "bar":
        echo "i is bar";
        break;
    case "cake":
        echo "i is cake";
        break;
}
?>

É importante entender como a declaração switch é executada a fim de evitar enganos. A declação switch executa linha por linha (na verdade, declaração por declaração). No início nenhum código é executado. Somente quando uma declaração case é encontrada, cuja expressão avalia um valor que corresponde ao valor do switch, o PHP começará a executar a declaração. O PHP continuará a executar a declaração até o fim do bloco switch, ou até a primeira declaração break encontrada. Se não for escrita uma declaração break ao final da lista de declarações do case, o PHP continuará executando as declarações dos próximos cases. Por exemplo:

<?php
switch ($i) {
    case 0:
        echo "i equals 0";
    case 1:
        echo "i equals 1";
    case 2:
        echo "i equals 2";
}
?>

Neste exemplo, se a variável $i for igual a 0, o PHP executará todos as declarações echo! Se a variável $i for igual a 1, o PHP executará as duas últimas declarações echo. Somente se obterá o comportamento esperado ('i equals 2' será exibido), se $i for igual a 2. Sendo assim, é importante não esquecer as declarações break (mesmo quando se quer evitar, de propósito, sua omissão em certas circunstâncias).

Em uma declaração switch, a condição é avaliada somente uma vez, e o resultado é comparado a cada declaração case. Em uma declaração elseif. a condição é avaliada outra vez. Se a condição for mais complicada que uma simples comparação e/ou está em um laço pequeno, a declaração switch pode ser mais rápida.

A lista de declarações de um case também podem estar vazia, passando o controle da lista de declarações para o próximo case.

<?php
switch ($i) {
    case 0:
    case 1:
    case 2:
        echo "i is less than 3 but not negative";
        break;
    case 3:
        echo "i is 3";
}
?>

Um case especial é o default. Este case corresponde a tudo que não foi correspondido pelos outros cases. Por exemplo:

<?php
switch ($i) {
    case 0:
        echo "i equals 0";
        break;
    case 1:
        echo "i equals 1";
        break;
    case 2:
        echo "i equals 2";
        break;
    default:
       echo "i is not equal to 0, 1 or 2";
}
?>

A sintaxe alternativa das estruturas de controle é suportada por switches. Para mais informações, veja Sintaxe alternativa para estruturas de controle.

<?php
switch ($i):
    case 0:
        echo "i equals 0";
        break;
    case 1:
        echo "i equals 1";
        break;
    case 2:
        echo "i equals 2";
        break;
    default:
        echo "i is not equal to 0, 1 or 2";
endswitch;
?>

É possível utilizar o ponto e vírgula ao invés dos dois pontos em um case, como:

<?php
switch($beer)
{
    case 'tuborg';
    case 'carlsberg';
    case 'heineken';
        echo 'Good choice';
    break;
    default;
        echo 'Please make a new selection...';
    break;
}
?>


match

(PHP 8)

The match expression branches evaluation based on an identity check of a value. Similarly to a switch statement, a match expression has a subject expression that is compared against multiple alternatives. Unlike switch, it will evaluate to a value much like ternary expressions. Unlike switch, the comparison is an identity check (===) rather than a weak equality check (==). Match expressions are available as of PHP 8.0.0.

Exemplo #1 Structure of a match expression

<?php
$return_value = match (subject_expression) {
    single_conditional_expression => return_expression,
    conditional_expression1, conditional_expression2 => return_expression,
};
?>

Nota: The result of a match expression does not need to be used.

Nota: A match expression must be terminated by a semicolon ;.

The match expression is similar to a switch statement but has some key differences:

  • A match arm compares values strictly (===) instead of loosely as the switch statement does.
  • A match expression returns a value.
  • Match arms do not fall-through to later cases the way switch statements do.
  • A match expression must be exhaustive.

As switch statements, match expressions are executed match arm by match arm. In the beginning, no code is executed. The conditional expressions are only evaluated if all previous conditional expressions failed to match the subject expression. Only the return expression corresponding to the matching conditional expression will be evaluated. For example:

<?php
$result = match ($x) {
    foo() => ...,
    $this->bar() => ..., // bar() isn't called if foo() === $x
    $this->baz => beep(), // beep() isn't called unless $x === $this->baz
    // etc.
};
?>

match expression arms may contain multiple expressions separated by a comma. That is a logical OR, and is a short-hand for multiple match arms with the same right-hand side.

<?php
$result = match ($x) {
    // This match arm:
    $a, $b, $c => 5,
    // Is equivalent to these three match arms:
    $a => 5,
    $b => 5,
    $c => 5,
};
?>

A special case is the default pattern. This pattern matches anything that wasn't previously matched. For example:

<?php
$expressionResult = match ($condition) {
    1, 2 => foo(),
    3, 4 => bar(),
    default => baz(),
};
?>

Nota: Multiple default patterns will raise a E_FATAL_ERROR error.

A match expression must be exhaustive. If the subject expression is not handled by any match arm an UnhandledMatchError is thrown.

Exemplo #2 Example of an unhandled match expression

<?php
$condition = 5;

try {
    match ($condition) {
        1, 2 => foo(),
        3, 4 => bar(),
    };
} catch (\UnhandledMatchError $e) {
    var_dump($e);
}
?>

O exemplo acima irá imprimir:

object(UnhandledMatchError)#1 (7) {
  ["message":protected]=>
  string(33) "Unhandled match value of type int"
  ["string":"Error":private]=>
  string(0) ""
  ["code":protected]=>
  int(0)
  ["file":protected]=>
  string(9) "/in/ICgGK"
  ["line":protected]=>
  int(6)
  ["trace":"Error":private]=>
  array(0) {
  }
  ["previous":"Error":private]=>
  NULL
}

Using match expressions to handle non identity checks

It is possible to use a match expression to handle non-identity conditional cases by using true as the subject expression.

Exemplo #3 Using a generalized match expressions to branch on integer ranges

<?php

$age = 23;

$result = match (true) {
    $age >= 65 => 'senior',
    $age >= 25 => 'adult',
    $age >= 18 => 'young adult',
    default => 'kid',
};

var_dump($result);
?>

O exemplo acima irá imprimir:

string(11) "young adult"

Exemplo #4 Using a generalized match expressions to branch on string content

<?php

$text = 'Bienvenue chez nous';

$result = match (true) {
    str_contains($text, 'Welcome') || str_contains($text, 'Hello') => 'en',
    str_contains($text, 'Bienvenue') || str_contains($text, 'Bonjour') => 'fr',
    // ...
};

var_dump($result);
?>

O exemplo acima irá imprimir:

string(2) "fr"


declare

(PHP 4, PHP 5, PHP 7, PHP 8)

A instrução declare é usada para definir diretivas de execução para um bloco de código. A sintaxe do declare é similar à sintaxe de outros construtos de controle de fluxo:

declare (directive)
    statement

A seção directive permite que o comportamento do bloco do declare seja definido. Atualmente três diretivas são reconhecidas: a diretiva ticks (Veja abaixo para mais informações da diretiva ticks), a diretiva encoding (Veja abaixo para mais informações da diretiva encoding) e a diretiva strict_types (Veja abaixo para mais informações na seção strict sobre argumentos de função).

Versão | Descrição
7.0.0 | Adicionada a diretiva strict_types
7.0.0 | A diretiva ticks não escapa mais para diferentes unidades de compilação.
5.3.0 | Adicionada a diretiva encoding

Como as diretivas são manipuladas na compilação do arquivo, somente literais podem ser usadas como valores da diretiva. Variáveis e constantes não podem ser usadas. Para ilustrar:

<?php
// Isto é válido:
declare(ticks=1);

// isto é inválido:
const TICK_VALUE = 1;
declare(ticks=TICK_VALUE);
?>

A declaração parte do bloco do declare será executada - como é executada e quais os efeitos colaterais que ocorrem durante a execução depende da diretiva definida no bloco directive.

O construtor do declare também pode ser usado no escopo global, afetando todo o código que o segue (entretanto se o arquivo com o declare for incluído, não afetará o arquivo principal).

<?php
// these are the same:

// you can use this:
declare(ticks=1) {
    // entire script here
}

// or you can use this:
declare(ticks=1);
// entire script here
?>

Ticks

Um 'tick' é um evento que ocorre a cada N declarações de baixo nível executadas pelo interpretador dentro do bloco declare. O valor de N é especificado usando ticks=N dentro do bloco declare da seção directive.

Nem todas declarações são passiveis de executar um 'tick'. Normalmente, expressões de condições e argumentos de expressões não são.

O(s) evento(s) que serão executados a cada tick são especificados usando a função register_tick_function(). Veja o exemplo abaixo para mais detalhes. Note que mais de um evento pode ser executado para cada tick.

Exemplo #1 Exemplo de uso do Tick

<?php

declare(ticks=1);

// A function called on each tick event
function tick_handler()
{
    echo "tick_handler() called\n";
}

register_tick_function('tick_handler');

$a = 1;

if ($a > 0) {
    $a += 2;
    print($a);
}

?>

Exemplo #2 Exemplo de uso dos Ticks

<?php

function tick_handler()
{
  echo "tick_handler() called\n";
}

$a = 1;
tick_handler();

if ($a > 0) {
    $a += 2;
    tick_handler();
    print($a);
    tick_handler();
}
tick_handler();

?>

Veja mais sobre register_tick_function() e unregister_tick_function().

Codificação

A codificação de um script pode ser especificada, por script, utilizando a diretiva encoding.

Exemplo #3 Declarando um encoding para o script.

<?php
declare(encoding='ISO-8859-1');
// code here
?>

Cuidado

Quando usada com namespaces, a única sintaxe válida para declarar é declare(encoding='...'); onde ... é o valor do encoding. declare(encoding='...') {} irá resultar em um erro de sintaxe quando usada com namespaces.

O valor de codificação em declare será ignorada no PHP 5.3 exceto se compilado com --enable-zend-multibyte.

Note que o PHP não mostra se --enable-zend-multibyte foi usada na compilação, com exceção da utilização da função phpinfo().

Veja mais zend.script_encoding.


return

(PHP 4, PHP 5, PHP 7, PHP 8)

A declaração return retorna o controle do programa para o módulo que o chamou. A execução continuará na expressão seguinte à invocação do módulo.

Se chamada dentro de uma função, a declaração return terminará imediatamente sua execução, e retornará seus argumentos como valor à chamada da função. A declaração return também terminar a execução de uma declaração eval() ou um arquivo de script.

Se chamada no escopo global, a execução do script corrente é finalizada. Se o arquivo de script corrente for incluído ou requerido com as funções include ou or require, o controle é passado de volta ao script que está chamando. Além disso, se o script corrente foi incluído com a função include, o valor informado ao return será retornado como o valor da chamada de include. Se um return for chamado de dentro do script principal, sua execução será finalizada. Se o script corrente for mencionado nas opções de configuração auto_prepend_file ou auto_append_file php.ini, a execução do script será finalizada.

For more information, see Returning values.

Nota: Note que, como return é um construtor de linguagem e não uma função, os parênteses que envolvem seus argumentos não são exigidos e seu uso é desencorajado.

Nota: Se nenhum parâmetro for informado, e os parênteses omitidos, null será retornado. Chamar um return com parênteses, mas sem argumentos resultará em um erro de interpretação.


require

(PHP 4, PHP 5, PHP 7, PHP 8)

A declaração require é idêntica a include exceto que em caso de falha também produzirá um erro fatal de nível E_COMPILE_ERROR. Em outras palavras, ele parará o script enquanto que o include apenas emitirá um alerta (E_WARNING) permitindo que o script continue.

Veja a documentação include para saber como isso funciona.


include

(PHP 4, PHP 5, PHP 7, PHP 8)

A declaração include inclui e avalia o arquivo informado.

A documentação a seguir também se aplica a declaração require.

Os arquivos são incluídos baseando-se no caminho do arquivo informado ou, se não informado, o include_path especificado. Se o arquivo não for encontrado no include_path, a declaração include checará no diretório do script que o executa e no diretório de trabalho corrente, antes de falhar. O construtor include emitirá um aviso se não localizar o arquivo; possui um comportamento diferente do construtor require, que emitirá um erro fatal.

Se um caminho for definido — seja absoluto (iniciando com a letra do drive ou \ no Windows, ou / no Unix/Linux ), ou relativo ao diretório atual (começando com . ou ..) — o include_path será completamente ignorado. Por exemplo, se o nome do arquivo iniciar com ../, o interpretador irá procurar pelo arquivo no diretório pai.

Para mais informações de como o PHP trabalha ao incluir arquivos e o caminho de inclusão, veja a documentação do include_path.

Quando um arquivo é incluído, o código herda o escopo de variáveis da da linha que a inclusão ocorrer. Qualquer variável disponível no arquivo que incluiu estará disponível no arquivo incluído, daquela linha em diante. Entretanto, todas as funções e classes definidas no arquivo incluído estarão no escopo global.

Exemplo #1 Exemplo básico do construtor include

vars.php
<?php

$color = 'green';
$fruit = 'apple';

?>

test.php
<?php

echo "A $color $fruit"; // A

include 'vars.php';

echo "A $color $fruit"; // A green apple

?>

Se a inclusão ocorrer dentro de uma função todo o código contido no arquivo incluído irá se comportar como se tivesse sido definido dentro da função. Portanto seguirá o escopo de variáveis da função. Uma exceção para essa regra são as constantes mágicas que são interpretadas antes da inclusão ocorrer.

Exemplo #2 Inclusão em funções

<?php

function foo()
{
    global $color;

    include 'vars.php';

    echo "A $color $fruit";
}

/* vars.php is in the scope of foo() so     *
* $fruit is NOT available outside of this  *
* scope.  $color is because we declared it *
* as global.                               */

foo();                    // A green apple
echo "A $color $fruit";   // A green

?>

Quando um arquivo é incluído, o interpretador sai do modo PHP e entra no modo HTML no começo do arquivo incluído, e volta novamente no final. Por esta razão, qualquer código dentro do arquivo incluído que necessite ser executado como PHP deve estar entre tags válidas de início e fim do PHP.

Se os "empacotadores de inclusão de URL" estiverem habilitados no PHP, pode-se definir um arquivo a ser incluído usando uma URL (via HTTP ou outro protocolo suportado - veja Protocolos e Wrappers suportados para uma lista de protocolos) ao invés de um caminho local. Se o servidor de destino interpretar o arquivo incluído como PHP, variáveis podem ser passadas para o arquivo incluído usando uma URL de requisição com HTTP GET. Isso não significa a mesma coisa que incluir e compartilhar o escopo de variáveis com o arquivo incluído; O script é executado no servidor remoto e o resultado incluído no script local.

Exemplo #3 Usando include via HTTP

<?php

/* This example assumes that www.example.com is configured to parse .php
* files and not .txt files. Also, 'Works' here means that the variables
* $foo and $bar are available within the included file. */

// Won't work; file.txt wasn't handled by www.example.com as PHP
include 'http://www.example.com/file.txt?foo=1&bar=2';

// Won't work; looks for a file named 'file.php?foo=1&bar=2' on the
// local filesystem.
include 'file.php?foo=1&bar=2';

// Works.
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt';  // Works.
include 'file.php';  // Works.

?>

Aviso

Avisos de Segurança

O arquivo remoto pode ser processado pelo servidor remoto (dependendo da extensão do arquivo e se o servidor remoto executa, ou não,arquivos PHP), mas ainda precisa produzir um código PHP válido pois será processado pelo servidor local. Se o arquivo do servidor remoto deve ser processado como um texto simples, a função readfile() é uma opção muito melhor a ser usada. Caso contrário, deve-se ter um cuidado especial para garantir que o servidor remoto produza um código PHP válido.

Veja também Arquivos Remotos, fopen() e file() para informações relacionadas.

Manipulando Retornos: o include retorna FALSE ao falhar e emite um aviso. Inclusões bem sucedidas, ao menos que seja sobrescritas pelo arquivo incluído, retornam 1. É possível utilizar a declaração return dentro do arquivo incluído para finalizar o processamento e retornar para o arquivo que o incluiu. Além disso, é possível retornar valor a partir do arquivo incluído. Pode-se usar o valor do arquivo incluído como em uma função normal. Isso não é, entretanto, possível quando incluímos arquivos remotos a menos que a saída do arquivo remoto tenha tags válidas de início e fim do PHP (como em um arquivo local). Pode-se declarar as variáveis necessárias dentro dessas tags e estarão disponíveis em qualquer ponto do arquivo que o incluiu.

Pelo fato do include ser um construtor especial da linguagem, parênteses não são necessários ao redor do argumento. Tome cuidado ao comparar valores de retorno.

Exemplo #4 Comparando valores de retorno do include

<?php
// won't work, evaluated as include(('vars.php') == TRUE), i.e. include('')
if (include('vars.php') == TRUE) {
    echo 'OK';
}

// works
if ((include 'vars.php') == TRUE) {
    echo 'OK';
}
?>

Exemplo #5 include e a instrução return

return.php
<?php

$var = 'PHP';

return $var;

?>

noreturn.php
<?php

$var = 'PHP';

?>

testreturns.php
<?php

$foo = include 'return.php';

echo $foo; // prints 'PHP'

$bar = include 'noreturn.php';

echo $bar; // prints 1

?>

$bar tem o valor 1 porque a inclusão foi bem sucedida. Note a diferença entre os dois exemplos. O primeiro usa o return, enquanto o outro não. Se o arquivo não puder ser incluído, false é retornado e um E_WARNING emitido.

Se funções forem definidas no arquivo incluído, elas podem ser utilizadas no arquivo principal independente se estão antes ou depois do return. Se o mesmo arquivo for incluído duas vezes, o PHP 5 emitirá um erro fatal, pois as funções já foram declaradas, enquanto que no PHP 4 não se queixa de funções definidas depois do return. É recomendado usar o include_once ao invés de verificar se o arquivo já foi incluído manualmente dentro do arquivo incluído.

Outra forma de "incluir" um arquivo PHP em uma variável é capturar a saída usando as Funções de Controle de Saída com o include. Por exemplo:

Exemplo #6 Usando buffer de saída para incluir um arquivo PHP em uma string

<?php
$string = get_include_contents('somefile.php');

function get_include_contents($filename) {
    if (is_file($filename)) {
        ob_start();
        include $filename;
        return ob_get_clean();
    }
    return false;
}

?>

Para automatizar a inclusão de arquivos nos scripts, veja também as configurações auto_prepend_file e auto_append_file contidas no php.ini.

Nota: Este é um construtor de linguagem e não uma função, por isso não é possível chamá-lo através de funções variáveis

Veja também require, require_once, include_once, get_included_files(), readfile(), virtual(), e include_path.


require_once

(PHP 4, PHP 5, PHP 7, PHP 8)

A declaração require_once é idêntica a requirem exceto que o PHP verificará se o arquivo já foi incluído, e em caso afirmativo, não o incluirá (exigirá) novamente.

Veja a documentação include_once para informação sobre o comportamento _once, e como ele difere de seus irmãos _once.


include_once

(PHP 4, PHP 5, PHP 7, PHP 8)

A declaração include_once inclui e avalia o arquivo informado durante a execução do script. Este é um comportamento similar a declaração include, com a única diferença que, se o código do arquivo já foi incluído, não o fará novamente, e o include_once retornará true. Como o nome sugere, o arquivo será incluído somente uma vez.

O include_once pode ser utilizado em casos em que o mesmo arquivo pode ser incluído e valiado mais de uma vez durante uma execução de um script em particular, neste caso, ajudará a evitar problemas como redefinição de funções, reatribuição de valores de variáveis, e etc.

Veja a documentação da declaração include para informações sobre como esta função funciona.


goto

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Qual é a pior coisa que pode acontecer ao se utilizar o goto?
Imagem cortesia do » xkcd

O operador goto pode ser usado para pular para outra seção do programa. O ponto de destino é definido por um rótulo seguido de dois pontos, e a instrução é usada como goto seguida do rótulo de destino desejado. O uso do goto não é completamente irrestrito. O rótulo de destino deve estar no mesmo arquivo e contexto, significando que não se pode pular para fora ou para dentro de uma função ou método. Também não pode-se saltar para dentro de um laço ou estrutura switch. Pode-se saltar para fora deles, e um uso comum é usar o goto no lugar de um break multi-nível.

Exemplo #1 Exemplo da estrutura de controle goto

<?php
goto a;
echo 'Foo';

a:
echo 'Bar';
?>

O exemplo acima irá imprimir:

Bar

Exemplo #2 Exemplo da estrutura de controle goto em um laço

<?php
for($i=0,$j=50; $i<100; $i++) {
  while($j--) {
    if($j==17) goto end;
  }
}
echo "i = $i";
end:
echo 'j hit 17';
?>

O exemplo acima irá imprimir:

j hit 17

Exemplo #3 Isto não irá funcionar

<?php
goto loop;
for($i=0,$j=50; $i<100; $i++) {
  while($j--) {
    loop:
  }
}
echo "$i = $i";
?>

O exemplo acima irá imprimir:

Fatal error: 'goto' into loop or switch statement is disallowed in
script on line 2

Nota:

O operador goto está disponível desde o PHP 5.3.


Funções

Índice

  • Funções definidas pelo usuário
  • Argumentos de funções
  • Retornando valores
  • Funções variáveis
  • Funções internas (built-in)
  • Funções anônimas
  • Arrow Functions


Funções definidas pelo usuário

Uma função pode ser definida usando a seguinte sintaxe:

Exemplo #1 Pseudo-código de demonstração de uma função

<?php
function foo ($arg_1, $arg_2, /* ..., */ $arg_n)
{
    echo "Exemplo de função.\n";
    return $valor_retornado;
}
?>

Qualquer código PHP válido pode aparecer dentro de uma função, mesmo outras funções e definições de classes.

Nomes de funções seguem as mesmas regras que outros rótulo no PHP. Um nome de função válido começa com uma letra ou um sublinhado, seguido, seguido por qualquer número de letras, números ou sublinhado. Com uma expressão regular, seria expressado com: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$.

Dica

Veja também o Guia de nomenclatura em espaço de usuário.

As funções não precisam ser criadas antes de serem referenciadas, exceto quando uma função é condicionalmente definida como mostrado nos dois exemplos abaixo.

Quando uma função é definida condicionalmente como nos dois exemplos abaixo, sua definição precisa ser processada antes de ser chamada.

Exemplo #2 Funções definidas condicionalmente

<?php

$makefoo = true;

/* Nos nao podemos chamar foo() daqui
   porque ela ainda não existe,
   mas nos podemos chamar bar() */

bar();

if ($makefoo) {
  function foo()
  {
    echo "Eu não existo até que o programa passe por aqui.\n";
  }
}

/* Agora nos podemos chamar foo()
   porque $makefoo foi avaliado como true */

if ($makefoo) foo();

function bar()
{
  echo "Eu existo imediatamente desde o programa começar.\n";
}

?>

Exemplo #3 Funções dentro de funções

<?php
function foo()
{
  function bar()
  {
    echo "Eu não existo até foo() ser chamada.\n";
  }
}

/* Nós não podemos chamar bar() ainda
   porque ela ainda não foi definida. */

foo();

/* Agora nós podemos chamar bar(),
   porque o processamento de foo()
   tornou a primeira acessivel */

bar();

?>

Todas as funções e classes no PHP tem escopo global - elas podem ser chamadas fora de uma função mesmo que tenham sido definidas dentro e vice-versa.

O PHP não suporta sobrecarga de funções, e também não é possível cancelar ou alterar a definição de funções previamente declaradas.

Nota: Nomes de funções são case-insensitive para caracteres ASCII A até Z, mas é melhor chamar as funções da mesma forma que elas aparecem nas declarações.

Ambos número variável de argumentos e argumentos padrões são suportados em funções. veja também as referencias das funções func_num_args(), func_get_arg() e func_get_args() para mais informações.

É possível chamar funções recursivas no PHP.

Exemplo #4 Funções Recursivas

<?php
function recursion($a)
{
    if ($a < 20) {
        echo "$a\n";
        recursion($a + 1);
    }
}
?>

Nota: Chamadas recursivas a funções/métodos acima de 100-200 níveis podem exaurir a pilha e causar o término do script. Especificamente, recursão infinita é considerada um erro de programação.


Argumentos de funções

Informações podem ser passadas para funções através da lista de argumentos, que é uma lista de expressões delimitados por vírgulas. Os argumentos são avaliados da esquerda para a direita.

O PHP suporta a passagem de argumentos por valor (o padrão), passagem por referência, e valores padrões de argumentos. lista de argumentos de tamanho variável também são suportadas.

Exemplo #1 Passando arrays para funções

<?php
function takes_array($input)
{
    echo "$input[0] + $input[1] = ", $input[0]+$input[1];
}
?>

Fazendo argumentos serem passados por referência

Por padrão, argumentos de função são passados por valor (de forma que se você mudar o valor do parâmetro dentro da função, ele não é alterado fora da função). Para permitir que uma função modifique os seus argumentos, eles devem ser passados por referência.

Para ter um argumento para uma função sempre passado por referência, adicione antes dele um "e comercial" (&) ao nome do argumento na definição da função:

Exemplo #2 Passando parâmetros de função por referência

<?php
function add_some_extra(&$string)
{
    $string .= ' e alguma coisa mais.';
}
$str = 'Isto é uma string,';
add_some_extra($str);
echo $str;    // imprime 'Isto é uma string, e alguma coisa mais.'
?>

Valores padrão de argumentos

Uma função pode definir valores padrão no estilo C++ para argumentos escalares, como a seguir:

Exemplo #3 Utilizando parâmetros padrão em funções

<?php
function makecoffee($type = "cappuccino")
{
    return "Fazendo uma xícara de café $type.\n";
}
echo makecoffee();
echo makecoffee(null);
echo makecoffee("espresso");
?>

O exemplo acima irá imprimir:

Fazendo uma xícara de café cappuccino.
Fazendo uma xícara de café .
Fazendo uma xícara de café espresso.

O PHP também permite o uso def arrays e do tipo especial null como valores padrões, por exemplo:

Exemplo #4 Usando tipos não escalares como valores padrões

<?php
function makecoffee($types = array("cappuccino"), $coffeeMaker = NULL)
{
    $device = is_null($coffeeMaker) ? "hands" : $coffeeMaker;
    return "Making a cup of ".join(", ", $types)." with $device.\n";
}
echo makecoffee();
echo makecoffee(array("cappuccino", "lavazza"), "teapot");
?>

O valor padrão precisa ser uma expressão constante, não (por exemplo) uma variável, um membro de classe ou uma chamada de função.

Note que usando argumentos padrão, qualquer padrão deve vir após os argumentos sem padrão: caso contrário, as coisas não funcionarão como esperado. Considere o seguinte trecho de código:

Exemplo #5 Uso incorreto de parâmetros padrão de função

<?php
function iogurtera ($tipo = "azeda", $sabor)
{
    return "Fazendo uma taça de $sabor $tipo.\n";
}

echo iogurtera ("framboesa");   // não funciona como esperado
?>

O exemplo acima irá imprimir:

Warning: Missing argument 2 in call to makeyogurt() in
/usr/local/etc/httpd/htdocs/phptest/functest.html on line 41
Fazendo uma taça de framboesa.

Agora, compare o que está acima com este:

Exemplo #6 Uso correto de parâmetros padrão de função

<?php
function iogurtera ($sabor, $tipo = "azeda")
{
    return "Fazendo uma taça de $sabor $tipo.\n";
}

echo iogurtera ("framboesa");   // funciona
?>

O exemplo acima irá imprimir:

Fazendo uma taça de framboesa azeda.

Nota: A partir do PHP 5, os valores padrões são passados por referência.

Declarações de tipo

Nota:

Declaração de tipos também era conhecida como type hints no PHP 5.

Declarações de tipo permitem que funções requiram que parâmetros sejam de certos tipos ao chamá-los. Se o valor informado no parâmetro tiver um tipo incorreto então um erro é gerado: no PHP 5 será um erro fatal recuperável, enquanto que no PHP 7 irá lançar uma exceção TypeError

Para declarar o tipo o seu nome deve ser adicionado antes no nome do parâmetro. A declaração pode ser feita para aceitar null se o valor default do parâmetro for configurado também para null.

Tipos válidos

Tipo | Descrição | Versão PHP Mínima
Classe/interface | O parâmetro precisa ser um instanceof da classe ou interface informada. | PHP 5.0.0
self | O parâmetro precisa ser um instanceof da mesma classe do método onde a função está definida. Somente pode ser utilizado em métodos de classe e instância. | PHP 5.0.0
array | O parâmetro precisa ser um array. | PHP 5.1.0
callable | O parâmetro precisa ser um callable válido. | PHP 5.4.0
bool | O parâmetro precisa ser um valor boolean. | PHP 7.0.0
float | O parâmetro precisa ser um número float. | PHP 7.0.0
int | O parâmetro precisa ser um número integer. | PHP 7.0.0
string | O parâmetro precisa ser uma string. | PHP 7.0.0
iterable | O parâmetro precisa ser um array ou um instanceof Traversable. | PHP 7.1.0
object | O parâmetro precisa ser um object. | PHP 7.2.0
Aviso

Apelidos para os tipos escalares acima não são suportados. Apelidos serão tradados como nomes de classe ou interface. Por exemplo, utilizar boolean como parâmetro ou tipo de retorno irá requerer um argumento ou retorno que seja um instanceof de uma classe ou interface boolean, em vez do tipo bool:

<?php
 function test(boolean $param) {}
 test(true);
 ?>

O exemplo acima irá imprimir:

 Fatal error: Uncaught TypeError: Argument 1 passed to test() must be an instance of boolean, boolean given, called in - on line 1 and defined in -:1

Exemplos

Exemplo #7 Declaração de tipos em classes

<?php
class C {}
class D extends C {}

// This doesn't extend C.
class E {}

function f(C $c) {
    echo get_class($c)."\n";
}

f(new C);
f(new D);
f(new E);
?>

O exemplo acima irá imprimir:

C
D

Fatal error: Uncaught TypeError: Argument 1 passed to f() must be an instance of C, instance of E given, called in - on line 14 and defined in -:8
Stack trace:
#0 -(14): f(Object(E))
#1 {main}
  thrown in - on line 8

Exemplo #8 Declaração de tipos em interfaces

<?php
interface I { public function f(); }
class C implements I { public function f() {} }

// This doesn't implement I.
class E {}

function f(I $i) {
    echo get_class($i)."\n";
}

f(new C);
f(new E);
?>

O exemplo acima irá imprimir:

C

Fatal error: Uncaught TypeError: Argument 1 passed to f() must implement interface I, instance of E given, called in - on line 13 and defined in -:8
Stack trace:
#0 -(13): f(Object(E))
#1 {main}
  thrown in - on line 8

Exemplo #9 Passando parâmetros tipados por referência

Os tipos declarados de parâmetros de referência são verificados na entrada da função, mas não no retorno função, assim, depois que a função tiver retornado, o tipo de argumento pode ter mudado.

<?php
function array_baz(array &$param)
{
    $param = 1;
}
$var = [];
array_baz($var);
var_dump($var);
array_baz($var);
?>

O exemplo acima irá imprimir algo similar à:

int(1)

Fatal error: Uncaught TypeError: Argument 1 passed to array_baz() must be of the type array, int given, called in %s on line %d

Exemplo #10 Declaração de tipos nulificáveis

<?php
class C {}

function f(C $c = null) {
    var_dump($c);
}

f(new C);
f(null);
?>

O exemplo acima irá imprimir:

object(C)#1 (0) {
}
NULL

Tipagem estrita

Por padrão, se possível, o PHP irá converter o tipo incorreto no tipo escalar esperado. Por exemplo, uma função que passa um parâmetro integer onde se espera uma string receberá o valor com o tipo string.

É possível habilitar o modo estrito arquivo a arquivo. No modo estrito somente uma variável do exato tipo especificado na declaração será aceito, ou uma exceção TypeError será lançada. A única exceção é o tipo integer que poderá ser entregue a uma função esperando um float. Chamadas a funções de dentro de funções internas não serão afetadas pelas declarações strict_types

Para habilitar o modo estrito, utilize a instrução declare com a definição strict_types:

Cuidado

Habilitar o modo estrito também afetará as declarações de tipo de retorno.

Nota:

A tipagem estrita se aplica a chamadas feitas a partir do arquivo em que a tipagem estrita foi habilitada, não necessariamente às funções declaradas com tipos. Se um arquivo sem tipagem estrita tentar fazer uma chamada a uma função com tipagem estrita, a preferência do chamador (tipagem fraca) será respeitada, e o valor será possivelmente convertido.

Nota:

A tipagem estrita somente ocorre para declarações de tipo escalar, e portanto requer PHP 7.0.0 ou posterior, dado que declarações escalares foram acrescentadas nessa versão.

Exemplo #11 Tipagem estrita

<?php
declare(strict_types=1);

function sum(int $a, int $b) {
    return $a + $b;
}

var_dump(sum(1, 2));
var_dump(sum(1.5, 2.5));
?>

O exemplo acima irá imprimir:

int(3)

Fatal error: Uncaught TypeError: Argument 1 passed to sum() must be of the type integer, float given, called in - on line 9 and defined in -:4
Stack trace:
#0 -(9): sum(1.5, 2.5)
#1 {main}
  thrown in - on line 4

Exemplo #12 Tipagem fraca

<?php
function sum(int $a, int $b) {
    return $a + $b;
}

var_dump(sum(1, 2));

// These will be coerced to integers: note the output below!
var_dump(sum(1.5, 2.5));
?>

O exemplo acima irá imprimir:

int(3)
int(3)

Exemplo #13 Catching TypeError

<?php
declare(strict_types=1);

function sum(int $a, int $b) {
    return $a + $b;
}

try {
    var_dump(sum(1, 2));
    var_dump(sum(1.5, 2.5));
} catch (TypeError $e) {
    echo 'Error: '.$e->getMessage();
}
?>

O exemplo acima irá imprimir:

int(3)
Error: Argument 1 passed to sum() must be of the type integer, float given, called in - on line 10

Número variável de argumentos

O PHP tem suporte para um número variável de argumentos nas funções definidas pelo usuário. Isso é implementado usando o token ... a partir do PHP 5.6, e usando as funções func_num_args(), func_get_arg(), e func_get_args() a partir do PHP 5.5.

... no PHP 5.6+

A partir do PHP 5.6 é possível incluir o indicador de lista de argumentos ... para informar que a função aceita um número variável de argumentos. Os argumentos serão passados na forma de um array. Por exemplo.

Exemplo #14 Utilizando ... para acessar argumentos variáveis

<?php
function sum(...$numbers) {
    $acc = 0;
    foreach ($numbers as $n) {
        $acc += $n;
    }
    return $acc;
}

echo sum(1, 2, 3, 4);
?>

O exemplo acima irá imprimir:

10

Você também pode utilizar ... quando chamando funções para transformar uma variável array, Traversable ou literal em uma lista de argumentos.

Exemplo #15 Utilizando ... para fornecer argumentos

<?php
function add($a, $b) {
    return $a + $b;
}

echo add(...[1, 2])."\n";

$a = [1, 2];
echo add(...$a);
?>

O exemplo acima irá imprimir:

3
3

Você pode especificar argumentos posicionais antes do indicador. .... Nesse caso comente os argumentos finais, que não pareiem com um argumento posicional, serão adicionados ao array gerado por ....

É também possível adicionar um type hint antes do indicador .... Se presente então todos os argumentos capturados por ... deverão ser objetos da classe informada.

Exemplo #16 Argumentos variáveis com type hint

<?php
function total_intervals($unit, DateInterval ...$intervals) {
    $time = 0;
    foreach ($intervals as $interval) {
        $time += $interval->$unit;
    }
    return $time;
}

$a = new DateInterval('P1D');
$b = new DateInterval('P2D');
echo total_intervals('d', $a, $b).' days';

// This will fail, since null isn't a DateInterval object.
echo total_intervals('d', null);
?>

O exemplo acima irá imprimir:

3 days
Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 2

Finalmente, você também pode passar argumentos variáveis por referência ao prefixar ... com um &.

Versões anteriores do PHP

Funções com argumentos variáveis não precisam de sintaxe específica. No entanto o acesso aos argumentos da função precisam utilizar. func_num_args(), func_get_arg() e func_get_args().

O primeiro exemplo acima seria implementado no PHP 5.5 e anteriores assim:

Exemplo #17 Acessando argumentos variáveis no PHP 5.5 e anteriores

<?php
function sum() {
    $acc = 0;
    foreach (func_get_args() as $n) {
        $acc += $n;
    }
    return $acc;
}

echo sum(1, 2, 3, 4);
?>

O exemplo acima irá imprimir:

10


Retornando valores

Valores podem ser retornados utilizando a instrução opcional return. Qualquer tipo pode ser retornado, incluindo arrays e objetos. Isto faz com que as função termine sua execução imediatamente e passa o controle de volta para a linha de onde ela foi chamada. Veja a documentação da função return para maiores informações.

Nota:

Se return for omitido então o valor null será retornado.

Use of return

Exemplo #1 O uso de return

<?php
function quadrado ($num)
{
    return $num * $num;
}
echo quadrado (4);   // imprime '16'.
?>

Você não pode retornar múltiplos valores a partir de uma função, mas resultados similares podem ser obtidos retornando um array.

Exemplo #2 Retornando um array para devolver vários valores

<?php
function numeros_pequenos()
{
    return array (0, 1, 2);
}
list ($zero, $um, $dois) = numeros_pequenos();
?>

Para retornar uma referência de uma função, use o operador de referência & em ambas a declaração da função e quando definindo o valor para a variável.

Exemplo #3 Retornando uma referência de uma função

<?php
function &retorna_referencia()
{
    return $alguma_referencia;
}

$nova_referencia =& retorna_referencia();
?>

Para mais detalhes sobre referências, leia a seção Referências.

Declaração de tipo de retorno

O PHP 7 acrescenta suporte a declaração de tipo de retorno. Similar à declaração de tipagem de argumentos, declaração de tipo de retorno especifica o tipo do valor que será retornado de uma função. Os mesmos tipos que estão disponíveis para declaração de argumentos estão disponíveis para tipagem de retornos.

A tipagem estrita também afeta a tipagem de retorno. No modo padrão (tripagem fraca) o valores retornados serão convertidos para o tipo correto caso não enquadrem no tipo informado. No modo de tipagem forte os valores retornados precisam ser o tipo correto ou uma exceção TypeError será lançada.

A partir do PHP 7.1.0, os valores de retorno podem ser marcados como anuláveis prefixando o sinal de interrogação (?) a frente do tipo. Isto significa que a função retorna o tipo especificado ou null.

Nota:

Quando sobrescrevendo um método, o novo método precisa coincidir com a tipagem de retorno do método anterior. Se o método sobrescrito não define uma tipagem de tipo, então o novo método precisa espelhar isso.

Exemplos

Exemplo #4 Declaração de tipo de retorno

<?php
function sum($a, $b): float {
    return $a + $b;
}

// Note que um float será retornado.
var_dump(sum(1, 2));
?>

O exemplo acima irá imprimir:

float(3)

Exemplo #5 Modo estrito em ação

<?php
declare(strict_types=1);

function sum($a, $b): int {
    return $a + $b;
}

var_dump(sum(1, 2));
var_dump(sum(1, 2.5));
?>

O exemplo acima irá imprimir:

int(3)

Fatal error: Uncaught TypeError: Return value of sum() must be of the type integer, float returned in - on line 5 in -:5
Stack trace:
#0 -(9): sum(1, 2.5)
#1 {main}
  thrown in - on line 5

Exemplo #6 Returning an object

<?php
class C {}

function getC(): C {
    return new C;
}

var_dump(getC());
?>

O exemplo acima irá imprimir:

object(C)#1 (0) {
}

Exemplo #7 Declaração de tipo de retorno anulável (a partir do PHP 7.1.0)

<?php
function get_item(): ?string {
    if (isset($_GET['item'])) {
        return $_GET['item'];
    } else {
        return null;
    }
}
?>


Funções variáveis

O PHP suporta o conceito de funções variáveis. Isto significa que se um nome de variável tem parênteses no final dela, o PHP procurará uma função com o mesmo nome, qualquer que seja a avaliação da variável, e tentará executá-la. Entre outras coisas, isto pode ser usado para implementar callbacks, tabelas de função e assim por diante.

Funções variáveis não funcionam com construtores de linguagem como echo, print, unset(), isset(), empty(), include, require e outras assim. Utilize uma função de wrapper para usar quaisquer um destes construtores como uma função variável.

Exemplo #1 Exemplo de funções variáveis

<?php
function foo() {
    echo "Chamou foo()<br>\n";
}

function bar($arg = '')
{
    echo "Chamou bar(); com argumento '$arg'.<br />\n";
}

// Essa eh uma funcao wrapper para echo()
function echoit($string)
{
    echo $string;
}

$func = 'foo';
$func();        // Chama foo()

$func = 'bar';
$func('test');  // Chama bar()

$func = 'echoit';
$func('test');  // Chama echoit()
?>

Um método de um objeto também pode ser chamado com a sintaxe de funções variáveis.

Exemplo #2 Exemplo de chamada de um método variável

<?php
class Foo
{
    function MetodoVariavel()
    {
        $name = 'Bar';
        $this->$name(); // Isto chama o método Bar()
    }

    function Bar()
    {
        echo "Bar foi chamada!";
    }
}

$foo = new Foo();
$funcname = "MetodoVariavel";
$foo->$funcname();  // Isto chama $foo->MetodoVariavel()

?>

Quando chamando métodos estáticos, uma chamada de função tem preferência que uma propriedade estática.

Exemplo #3 Método variávei com propriedades estáticas

<?php
class Foo
{
    static $variable = 'static property';
    static function Variable()
    {
        echo 'Method Variable called';
    }
}

echo Foo::$variable; // This prints 'static property'. It does need a $variable in this scope.
$variable = "Variable";
Foo::$variable();  // This calls $foo->Variable() reading $variable in this scope.

?>

A partir do PHP 5.4.0, você pode guardar qualquer callable numa variável.

Exemplo #4 Callables complexos

<?php
class Foo
{
    static function bar()
    {
        echo "bar\n";
    }
    function baz()
    {
        echo "baz\n";
    }
}

$func = array("Foo", "bar");
$func(); // prints "bar"
$func = array(new Foo, "baz");
$func(); // prints "baz"
$func = "Foo::bar";
$func(); // prints "bar" a partir PHP 7.0.0; anteriormente lança um erro fatal
?>

Veja também is_callable(), call_user_func(), variáveis variáveis e function_exists().

Changelog

Versão | Descrição
7.0.0 | 'ClassName::methodName' é permitido função variável.
5.4.0 | Arrays são callables, também permitidos como função variável.


Funções internas (built-in)

O PHP vem por padrão com muitas funções e contrutores. Também existem funções que necessitam que uma extensão específica esteja compilada, se não erros fatais "undefined function" (função não definida) irão aparecer. Por exemplo, para usar as funções image como imagecreatetruecolor(), o PHP deve ser compilado com suporte GD. Ou, para usar mysqli_connect(), PHP deve ser compilado com suporte MySQLi. Existem muitas funções do núcleo que são incluídas em cada versão do PHP, como string e variable. Uma chamada a phpinfo() ou get_loaded_extensions() irá mostrar quais extensões estão carregadas no PHP. Note também que várias extensões são ativadas por padrão e que o manual do PHP é dividido por extensão. Veja configuração, instalação, e os capítulos individuais das extensões para como configurar o PHP.

A leitura e entendimento de um protótipo de função é explicado na seção do manual entitulada como ler uma definição de função. É importante perceber o que a função retorna ou se a função trabalha diretamente no valor passado como argumento. Por exemplo, str_replace() irá retornar a string modificada enquanto usort() trabalha na própria variável passada no argumento. Cada página do manual também contém informações específicas de cada função, como: parâmetros da função, mudanças de comportamento, valores de retorno tanto para sucesso e erros, como outras informações disponíveis. O conhecimento destas diferenças importantes é crucial para escrever corretamente seu código PHP.

Nota: Se os parâmetros dados a uma função não forem o que ela espera, como passar um array aonde uma string é esperada, o valor de retorno da função é indefinido. Neste caso provavelmente irá retornar null mas isto é apenas uma convenção, e você não pode depender disso.

Veja também function_exists(), a referência de funções, get_extension_funcs() e dl().


Funções anônimas

Funções anônimas, também conhecidas como closures, permitem a criação de funções que não tem o nome especificado. Elas são mais úteis como o valor de parâmetros callback, mas podem tem vários outros usos.

Funções anônimas são implementadas utilizando a classe Closure

Exemplo #1 Exemplo de Função Anônima

<?php
echo preg_replace_callback('~-([a-z])~', function ($match) {
    return strtoupper($match[1]);
}, 'hello-world');
// outputs helloWorld
?>

Closures também podem ser utilizadas como valores de variáveis; o PHP automaticamente converte expressões assim em instancias da classe interna Closure. Definindo um closure a uma variável usa a mesma sintaxe que qualquer outra definição, incluindo o ponto-e-vírgula:

Exemplo #2 Exemplo de como definir uma função anônima para uma variável

<?php
$greet = function($name)
{
    printf("Hello %s\r\n", $name);
};

$greet('World');
$greet('PHP');
?>

Closures também podem herdar variáveis do escopo pai. Essas variáveis precisam ser referenciadas utilizando a instruçãouse. A partir do PHP 7.1, essas variáveis não devem incluir superglobals, $this, ou variáveis com o mesmo nome como um parâmetro.

Exemplo #3 Herdando variáveis do escopo anterior

<?php
$message = 'hello';

// Sem "use"
$example = function () {
    var_dump($message);
};
$example();

// Inherit $message
$example = function () use ($message) {
    var_dump($message);
};
$example();

// Herdando valor da variável quando a função é definina,
// não quando é chamada
$message = 'world';
$example();

// Reseta mensagem
$message = 'hello';

// Herdando por referência
$example = function () use (&$message) {
    var_dump($message);
};
$example();

// O valor modificado no escopo pai
// reflete quando a função é chamada
$message = 'world';
$example();

// Closures também aceitam argumentos normais
$example = function ($arg) use ($message) {
    var_dump($arg . ' ' . $message);
};
$example("hello");
?>

O exemplo acima irá imprimir algo similar à:

Notice: Undefined variable: message in /example.php on line 6
NULL
string(5) "hello"
string(5) "hello"
string(5) "hello"
string(5) "world"
string(11) "hello world"

Herdar variáveis do escopo pai não é o mesmo que usar variáveis globais. Variáveis globais existem no escopo global, o qual é o mesmo não importa a função sendo executada. O escopo pai de um closure é a função no qual o closure foi declarado (não necessáriamente a função apartir do qual ele foi chamado). Veja o exemplo a seguir:

Exemplo #4 Closures e escopo

<?php
// Um exemplo básico de carrinho de compras que contém uma lista de produtos
// e a quantidade de cada produto. Inclui um método que
// calcula o preço total dos itens no carrinho utilizando uma
// closure como callback.
class Cart
{
    const PRICE_BUTTER  = 1.00;
    const PRICE_MILK    = 3.00;
    const PRICE_EGGS    = 6.95;

    protected $products = array();

    public function add($product, $quantity)
    {
        $this->products[$product] = $quantity;
    }

    public function getQuantity($product)
    {
        return isset($this->products[$product]) ? $this->products[$product] :
               FALSE;
    }

    public function getTotal($tax)
    {
        $total = 0.00;

        $callback =
            function ($quantity, $product) use ($tax, &$total)
            {
                $pricePerItem = constant(__CLASS__ . "::PRICE_" .
                    strtoupper($product));
                $total += ($pricePerItem * $quantity) * ($tax + 1.0);
            };

        array_walk($this->products, $callback);
        return round($total, 2);;
    }
}

$my_cart = new Cart;

// Add some items to the cart
$my_cart->add('butter', 1);
$my_cart->add('milk', 3);
$my_cart->add('eggs', 6);

// Print the total with a 5% sales tax.
print $my_cart->getTotal(0.05) . "\n";
// The result is 54.29
?>

Exemplo #5 Vinculação automática do $this

<?php

class Test
{
    public function testing()
    {
        return function() {
            var_dump($this);
        };
    }
}

$object = new Test;
$function = $object->testing();
$function();

?>

O exemplo acima irá imprimir:

object(Test)#1 (0) {
}

O exemplo acima irá imprimir no PHP 5.3:

Notice: Undefined variable: this in script.php on line 8
NULL

A partir do PHP 5.4.0, ao ser declarada no contexto de uma classe, a classe corrente é automaticamente vinculada a ela, tornando $this disponível dentro do escopo da função. Se essa vinculação automática da classe corrente não for o comportamento esperado, funções anônimas estáticas podem ser utilizadas.

Funções anônimas estáticas

A partir do PHP 5.4, funções anônimas podem ser declaradas estaticamente. Evita que a classe corrente seja automaticamente vinculada a ela. Objetos também podem não serão vinculadas a ela em tempo de execução.

Exemplo #6 Tentando utilizar o $this de dentro de uma função anônima estática

<?php

class Foo
{
    function __construct()
    {
        $func = static function() {
            var_dump($this);
        };
        $func();
    }
};
new Foo();

?>

O exemplo acima irá imprimir:

Notice: Undefined variable: this in %s on line %d
NULL

Exemplo #7 Tentando vincular um objeto a uma função anônima estática

<?php

$func = static function() {
    // function body
};
$func = $func->bindTo(new StdClass);
$func();

?>

O exemplo acima irá imprimir:

Warning: Cannot bind an instance to a static closure in /in/sLLS9 on line 5

Changelog

Versão | Descrição
7.1.0 | Funções anônimas podem não incluir superglobals, $this, ou qualquer variável com o mesmo nome como um parâmetro.
5.4.0 | $this pode ser utilizado em funções anônimas, bem como ser declarada estaticamente.
5.3.0 | Funções anônimas disponibilizadas.

Notas

Nota: É possível utilizar func_num_args(), func_get_arg() e func_get_args() dentro de closures.


Arrow Functions

Arrow functions foram introduzidos a partir do PHP 7.4 como uma sintaxe mais concisa para funções anônimas.

Funções anônimas e arrow functions são implementadas usando a classe Closure.

Arrow functions tem a forma básica fn (argument_list) => expr.

Arrow functions possuem a mesmas características das funções anônimas, exceto que o uso de variáveis do escopo pai é sempre automático.

Quando uma variável usada na expressão é definida no escopo pai ele será implicitamente capturado por valor. No exemplo a seguir, as funções $fn1 e $fn2comportam-se da mesma maneira.

Exemplo #1 Arrow functions capturam variáveis por valor automaticamente

<?php

$y = 1;

$fn1 = fn($x) => $x + $y;
// equivalent to using $y by value:
$fn2 = function ($x) use ($y) {
    return $x + $y;
};

var_export($fn1(3));
?>

O exemplo acima irá imprimir:

4

Isso também funciona se as arrow de functions estiverem aninhadas:

Exemplo #2 Arrow functions capturam variáveis por valor automaticamente, mesmo quando aninhadas

<?php

$z = 1;
$fn = fn($x) => fn($y) => $x * $y + $z;
// Outputs 51
var_export($fn(5)(10));
?>

Da mesma forma que funções anônimas, a sintaxe das arrow functions permitem assinaturas de função arbitrária, incluindo parâmetros e tipos de retorno, valores padrão, variadics, bem como por referência passando e retornando. Todos os exemplos válidos de arrow functions:

Exemplo #3 Examplos de arrow functions

<?php

fn(array $x) => $x;
static fn(): int => $x;
fn($x = 42) => $x;
fn(&$x) => $x;
fn&($x) => $x;
fn($x, ...$rest) => $rest;

?>

Arrow functions usam vinculação de variável por valor. Isso é aproximadamente equivalente a realizar um use($x) para cada variável $x usada dentro da arrow function. Uma passagem de variável por valor, significa que não é possível modificar quaisquer valores do escopo externo. Funções anônimas podem ser usadas em vez disso para passagem de variável por referência.

Exemplo #4 Valores do escopo externo não podem ser modificados por arrow functions

<?php

$x = 1;
$fn = fn() => $x++; // Has no effect
$fn();
var_export($x);  // Outputs 1

?>

Changelog

Versão | Descrição
7.4.0 | Arrow functions tornou-se disponível.

Notas

Nota: É possível usar func_num_args(), func_get_arg(), e func_get_args() de dentro de uma arrow functions.


Classes e Objetos

Índice

  • Introdução
  • O básico
  • Propriedades
  • Constantes do Objeto
  • Autoloading Classes
  • Construtores e Destrutores
  • Visibilidade
  • Herança de Objetos=
  • Operador de Resolução de Escopo (::)
  • Palavra-Chave 'static'
  • Abstração de Classes
  • Interfaces de Objetos
  • Traits
  • Classes anônimas
  • Sobrecarga
  • Iteração de Objetos
  • Métodos Mágicos
  • final
  • Clonando objetos
  • Comparando objetos
  • Type Hinting
  • Late Static Bindings
  • Objetos e Referências
  • Serialização de Objetos - objetos em sessão
  • Log de modificações da POO


Introdução

Apartir do PHP 5, o modelo de objetos foi rescrito para permitir melhor performance e mais funcionalidades. Esta é uma grande modificação do PHP 4. PHP 5 tem um modelo de objetos completo.

Entre outras novidades do PHP 5 estão a inclusão de visibility, classes e metodos abstract e final, additional metodos mágicos, interfaces, clonagem e dica de tipo.

O PHP trata objetos da mesma maneira que referencias ou manipuladores, significando que cada variável contém uma referencia a um objeto ao invés de uma cópia de todo o objeto. Veja Objetos e Referencias

Dica

Veja também o Guia de nomenclatura em espaço de usuário.


O básico

class

A definição de uma classe começa com a palavra chave class, seguida do nome da classe, seguido de um par de colchetes que englobam as definições de propriedades e métodos pertecentes à classe.

O nome de uma classe tem de ser válido, que não seja uma palavra reservada do PHP. Um nome de classe válido começa com uma letra ou sublinhado, seguido de qualquer sequência de letras, números e sublinhados. Como uma expressão regular, pode ser expressada assim: ^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$.

Uma classe pode conter suas próprias constantes, variáveis (chamadas de "propriedades") e funções (chamadas de "métodos").

Exemplo #1 Definição Simples de uma Classe

<?php
class SimpleClass
{
    // declaração de propriedade
    public $var = 'um valor padrão';

    // declaração de método
    public function displayVar() {
        echo $this->var;
    }
}
?>

A pseudo-variável $this está disponível quando um método é chamado a partir de um contexto de objeto. $this é uma referência ao objeto chamado (normalmente o objeto ao qual o método pertence, mas possivelmente outro objeto, se o método é chamado estaticamente a partir do contexto de um objeto secundário).

Exemplo #2 Alguns exemplos da pseudo variável $this

<?php
class A
{
    function foo()
    {
        if (isset($this)) {
            echo '$this está definida (';
            echo get_class($this);
            echo ")\n";
        } else {
            echo "\$this não está definida.\n";
        }
    }
}

class B
{
    function bar()
    {
        // Nota: a próxima linha pode lançar um warning E_STRICT.
        A::foo();
    }
}

$a = new A();
$a->foo();

// Nota: a próxima linha pode lançar um warning E_STRICT.
A::foo();
$b = new B();
$b->bar();

// Nota: a próxima linha pode lançar um warning E_STRICT.
B::bar();
?>

O exemplo acima irá imprimir:

$this está definida (A)
$this não está definida.
$this está definida (B)
$this não está definida.

new

Para criar uma instância de uma classe, a instrução new deve ser utilizada. Um objeto sempre será criado a não ser que a classe tenha um construtor definido que dispare uma exceção em caso de erro. Classes devem ser definidas antes de instanciadas (e em alguns casos isso é obrigatório).

Se uma string contendo o nome da classe é utilizado com new, uma nova instância da classe será criada. Se a classe estiver dentro de um namespace, o nome completo e qualificado deve ser utilizado para fazer isso.

Exemplo #3 Criando uma instância

<?php
$instance = new SimpleClass();

// Também pode ser feito com uma variável:
$className = 'SimpleClass';
$instance = new $className(); // new SimpleClass()
?>

No contexto da classe, é possível criar um novo objeto com new self e new parent.

Ao atribuir uma instância de uma classe já criada, a uma variável nova, a variável nova irá acessar a mesma instância do objeto que foi atribuído. Este comportamento se mantém ao se passar instâncias a uma função. Uma cópia de um objeto criado pode ser feita clonando o mesmo.

Exemplo #4 Atribuição de Objetos

<?php

$instance = new SimpleClass();

$assigned   =  $instance;
$reference  =& $instance;

$instance->var = '$assigned terá esse valor';

$instance = null; // $instance e $reference tornam-se nulos

var_dump($instance);
var_dump($reference);
var_dump($assigned);
?>

O exemplo acima irá imprimir:

NULL
NULL
object(SimpleClass)#1 (1) {
   ["var"]=>
     string(30) "$assigned terá esse valor"
}

O PHP 5.3.0 introduziu algumas novas formas de criar instâncias de um objeto:

Exemplo #5 Criando novos objetos

<?php
class Test
{
    static public function getNew()
    {
        return new static;
    }
}

class Child extends Test
{}

$obj1 = new Test();
$obj2 = new $obj1;
var_dump($obj1 !== $obj2);

$obj3 = Test::getNew();
var_dump($obj3 instanceof Test);

$obj4 = Child::getNew();
var_dump($obj4 instanceof Child);
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(true)

Propriedades e métodos

Propriedades e métodos de classe vivem em "namespaces" separados, de forma que é possível ter uma propriedade e método com mesmos nomes. A referência a propriedades e métodos tem a mesma notação, e a decisão de se uma propriedade será acessada ou uma chamada a um método feita, depende somente do contexto, ou seja, se está tentando acessar uma variável ou chamar um método.

Exemplo #6 Acesso a propriedade vs. chamar um método

class Foo
{
    public $bar = 'propriedade';

    public function bar() {
        return 'métod';
    }
}

$obj = new Foo();
echo $obj->bar, PHP_EOL, $obj->bar(), PHP_EOL;

O exemplo acima irá imprimir:

propriedade
método

Isto significa que chamar diretamente uma função anônima atribuída a uma propriedade não é possível. Em vez disso, por exemplo, a propriedade deve primeiro ser atribuída a uma variável. A partir do PHP 7.0.0, é possível chamar uma propriedade diretamente a colocando entre parênteses.

Exemplo #7 Chamando uma função anônima armazenada em uma propriedade

class Foo
{
    public $bar;

    public function __construct() {
        $this->bar = function() {
            return 42;
        };
    }
}

$obj = new Foo();

// a partir do PHP 5.3.0:
$func = $obj->bar;
echo $func(), PHP_EOL;

// alternativamente, a partir do PHP 7.0.0:
echo ($obj->bar)(), PHP_EOL;

O exemplo acima irá imprimir:

42

extends

Uma classe pode herdar métodos e propriedades de outra classe usando a palavra-chave extends na declaração da classe. Não é possível herdar múltiplas classes; uma classe só pode herdar uma classe base.

Os métodos e propriedades herdados podem ser sobrescritos redeclarando-os com o mesmo nome definido na classe base. Entretanto, se o método foi definido na classe base como final esse método não poderá ser sobrescrito. É possível acessar os métodos sobrescritos ou propriedades estáticas referenciado-os com parent::.

Ao sobrescrever métodos, a assinatura de parâmetros deve permanecer a mesma ou o PHP gerará um erro de nível E_STRICT. Isto não se aplica ao construtor, que permite a sobrescrita com parâmetros diferentes.

Exemplo #8 Herança da Classe Simples

<?php
class ExtendClass extends SimpleClass
{
    // Redefine o método pai
    function displayVar()
    {
        echo "Classe Herdeira\n";
        parent::displayVar();
    }
}

$extended = new ExtendClass();
$extended->displayVar();
?>

O exemplo acima irá imprimir:

Classe Herdeira
um valor padrão

::class

Desde o PHP 5.5, a palavra-chave class também pode ser utilizada para resolução de nome de classes. Pode-se obter uma string contendo o nome completo e qualificado da classe ClassName utilizando ClassName::class. Isso é particularmente útil em classes com namespaces.

Exemplo #9 Resolução de nome da classe

<?php
namespace NS {
    class ClassName {
    }

    echo ClassName::class;
}
?>

O exemplo acima irá imprimir:

NS\ClassName

Nota:

A resolução de nomes de classe através de ::class é uma transformação em tempo de compilação. Significando que a string com nome é criada antes que o autoloading tenha acontecido. Como consequência, os nomes de classe são expandidos mesmo que a classe não exista. Neste caso, nenhum erro será emitido.


Propriedades

Variáveis membros de uma classe são chamadas "propriedades". Pode-se também observar serem referidas utilizando outros termos como "atributos" ou "campos", mas para o propósito desta referência, usaremos "propriedades". São definidas usando uma das palavras-chave public, protected, or private, seguidas de uma declaração normal de variável. Esta declaração pode incluir sua inicialização, porém esta inicialização deve ser um valor constante--isso é, deve ser possível avaliá-lo em tempo de compilação e não deve-se depender de informações de tempo de execução.

See Visibilidade for more information on the meanings of public, protected, and private.

Nota:

Para manter a retrocompatibilidade com o PHP 4, o PHP 5 continuará aceitando o uso da palavra-chave var na declaração de propriedades ao invés de (ou em adição a) public, protected, ou private. Entretanto, var não é mais obrigatório. Em versões entre o PHP 5.0 e 5.1.3, o uso de var era considerado obsoleto e emitiria um aviso E_STRICT, mas desde o PHP 5.1.3, seu uso não é mais obsoleto e não será emitido um aviso.

Caso declare uma propriedade usando var ao invés de public, protected, ou private, o PHP 5 tratará a propriedade como se tivesse declarada como public.

Métodos dentro de classes podem acessar propriedades não estáticas usando -> (Operador de Objeto): $this->property (onde property é o nome da propriedade). Propriedades estáticas são acessadas utilizando os :: (Dois pontos dublo): self::$property. Veja Palavra-chave Static para mais informações sobre a diferente entre propriedades estáticas e não estáticas.

A pseudo-variável $this está disponível dentro de métodos de qualquer classe quando o método é chamado dentro do contexto do objeto. $this faz referência ao objeto chamado (geralmente o objeto o qual o método pertence, mas possível outro objeto, se o método é chamado estaticamente do contexto de um segundo objeto).

Exemplo #1 declaração de propriedades

<?php
class SimpleClass
{
   // valid as of PHP 5.6.0:
   public $var1 = 'hello ' . 'world';
   // valid as of PHP 5.3.0:
   public $var2 = <<<EOD
hello world
EOD;
   // valid as of PHP 5.6.0:
   public $var3 = 1+2;
   // invalid property declarations:
   public $var4 = self::myStaticMethod();
   public $var5 = $myVar;

   // valid property declarations:
   public $var6 = myConstant;
   public $var7 = array(true, false);

   // valid as of PHP 5.3.0:
   public $var8 = <<<'EOD'
hello world
EOD;
}
?>

Nota:

Existem algumas funções interessantes para manipulação de classes e objetos. Se desejar dê uma olhada nas funções de Classes/Objetos.

Diferentemente, heredocs, nowdocs podem ser utilizados em qualquer contexto de dados estáticos, incluindo assim, declaração de propriedades.

Exemplo #2 Exemplo de uso do nowdoc para inicializar uma propriedade

<?php
class foo {
   // As of PHP 5.3.0
   public $bar = <<<'EOT'
bar
EOT;
   public $baz = <<<EOT
baz
EOT;
}
?>

Nota:

O suporte ao nowdoc foi adicionado no PHP 5.3.0.


Constantes do Objeto

É possível definir valores constantes em cada classe permanecendo a mesma e imutável. Constantes diferem de variáveis normais, ao não usar o símbolo $ para declará-las ou usá-las. A visibilidade padrão de constantes de classe é public.

O valor deve ser uma expressão constante, não podendo ser (por exemplo) uma variável, uma propriedade, ou uma chamada a uma função.

Também é possível que interfaces tenham constantes. Veja na documentação de interface os exemplos.

A partir do PHP 5.3.0, é possível referenciar a classe usando uma variável. O valor da variável não pode ser uma palavra-chave (e.g. self, parent e static).

Constantes de classe são alocadas por classe, e não em cada instância da classe.

Exemplo #1 Definindo e usando uma constante

<?php
class MinhaClasse
{
    const constante = 'valor constante';

    function mostrarConstante() {
        echo  self::constante . "\n";
    }
}

echo MinhaClasse::constante . "\n";

$classname = "MinhaClasse";
echo $classname::constante; // A partir do PHP 5.3.0

$classe = new MinhaClasse();
$classe->mostrarConstante();

echo $classe::constante; // A partir do PHP 5.3.0
?>

Exemplo #2 Exemplo com informação estática

<?php
class foo {
    // A partir do PHP 5.3.0
    const BAR = <<<'EOT'
bar
EOT;
    // A partir do 5.3.0
    const BAZ = <<<EOT
baz
EOT;
}
?>

Nota:

O suporte para inicialização de constantes com Heredoc e Nowdoc foi adicionado no PHP 5.3.0.

Exemplo #3 Exemplo de expressão constante

<?php
const ONE = 1;

class foo {
    // A partir do 5.6.0
    const TWO = ONE * 2;
    const THREE = ONE + self::TWO;
    const SENTENCE = 'O valor de THREE é '.self::THREE;
}
?>

É possível fornecer uma expressão escalar envolvendo strings e numéricos literais e/ou constantes no contexto de uma constante de classe.

Nota:

Expressões constantes foram adicionados no PHP 5.6.0.

Exemplo #4 Modificadores de visibilidade em contantes de classe

<?php
class Foo {
    // As of PHP 7.1.0
    public const BAR = 'bar';
    private const BAZ = 'baz';
}
echo Foo::BAR, PHP_EOL;
echo Foo::BAZ, PHP_EOL;
?>

O exemplo acima irá imprimir no PHP 7.1:

bar

Fatal error: Uncaught Error: Cannot access private const Foo::BAZ in …

Nota:

Modificadores de visibilidade estão disponíveis desde o PHP 7.1.0.


Autoloading Classes

Muitos desenvolvedores ao desenvolver aplicações orientadas a objeto criam um arquivo PHP para cada definição de classe. Um dos maiores contratempos é ter de escrever uma longa lista de includes no início de cada script(um para cada classe).

No PHP 5 isso não é mais necessário. A função spl_autoload_register() registra qualquer número de autoloaders, permitindo que classes e interfaces sejam automaticamente carregadas se elas não ainda não foram definidas. Ao registrar autoloaders, o PHP têm uma última chance de carregar classes e interfaces antes que falhem com um erro.

Dica

Embora a função __autoload() também pode ser utilizada para carregar automaticamente classes e interfaces, é preferível a utilização da função spl_autoload_register(). Por que é uma alternativa mais flexível (permitindo que vários autoloaders sejam especificados na aplicação, assim como bibliotecas de terceiros). Por esta razão, o uso da função __autoload() é desencorajado e pode se tornar obsoleta em versões futuras.

Nota:

Antes do PHP 5.3.0 exceções disparadas na função __autoload() não eram capturadas no bloco catch e resultavam em um erro fatal. Do PHP 5.3.0 em diante, isso é possível sendo que se uma exceção customizada é disparada, então a classe da exceção customizada se tornará disponível. A função __autoload() deve ser usada recursivamente para carregar a classe de exceção customizada.

Nota:

Autoloading não é disponível usando PHP em modo interativo CLI.

Nota:

Se o nome da classe é usado por exemplo em call_user_func() então ela pode conter alguns caracteres perigosos como ../. É recomendado não usar entrada de usuário nestas funções ou pelo menos verificar a entrada em __autoload().

Exemplo #1 Exemplo de Autoload

Esse exemplo tenta carregar as classes MyClass1 e MyClass2 dos arquivos MyClass1.php e MyClass2.php respectivamente.

<?php
spl_autoload_register(function ($class_name) {
    include $class_name . '.php';
});

$obj  = new MyClass1();
$obj2 = new MyClass2();
?>

Exemplo #2 Outro exemplo de Autoload

Este exemplo tenta carregar a interface ITest.

<?php

spl_autoload_register(function ($name) {
    var_dump($name);
});

class Foo implements ITest {
}

/*
string(5) "ITest"

Fatal error: Interface 'ITest' not found in ...
*/
?>

Exemplo #3 Autoload com manipulação de exceções no PHP 5.3.0+

Este exemplo lançará uma exceção e demonstrará o bloco try/catch.

<?php
spl_autoload_register(function ($name) {
    echo "Want to load $name.\n";
    throw new Exception("Unable to load $name.");
});

try {
    $obj = new NonLoadableClass();
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
?>

O exemplo acima irá imprimir:

Want to load NonLoadableClass.
Unable to load NonLoadableClass.

Exemplo #4 Autoload com manipulação de exceções no PHP 5.3.0+ - Faltando exceção customizada.

Este exemplo dispara uma exceção para uma exceção customizada não carregável.

<?php
spl_autoload_register(function ($name) {
    echo "Want to load $name.\n";
    throw new MissingException("Unable to load $name.");
});

try {
    $obj = new NonLoadableClass();
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
?>

O exemplo acima irá imprimir:

Want to load NonLoadableClass.
Want to load MissingException.

Fatal error: Class 'MissingException' not found in testMissingException.php on line 4

Veja Também

  • unserialize()
  • unserialize_callback_func
  • spl_autoload_register()
  • spl_autoload()
  • __autoload()


Construtores e Destrutores

Construtores

__construct ( mixed $args = ? , $... = ? ) : void

O PHP 5 permite aos desenvolvedores declararem métodos construtores para as classes. Classes que tem um método construtor, chamam o método a cada objeto recém criado, sendo apropriado para qualquer inicialização que o objeto necessite antes de ser utilizado.

Nota: Construtores pais não são chamados implicitamente se a classe filha define um construtor. Para executar o construtor da classe pai, uma chamada a parent::__construct() dentro do construtor da classe filha é necessária. Se a classe filha não definir um construtor, será herdado da classe pai como um método normal (se não foi declarado como privado).

Exemplo #1 Usando novos construtores unificados

<?php
class BaseClass {
   function __construct() {
       print "In BaseClass constructor\n";
   }
}

class SubClass extends BaseClass {
   function __construct() {
       parent::__construct();
       print "In SubClass constructor\n";
   }
}

class OtherSubClass extends BaseClass {
    // inherits BaseClass's constructor
}

// In BaseClass constructor
$obj = new BaseClass();

// In BaseClass constructor
// In SubClass constructor
$obj = new SubClass();

// In BaseClass constructor
$obj = new OtherSubClass();
?>

Para retrocompatibilidade com as versões do PHP 3 e 4, se o PHP não encontrar um __construct() para uma determinada classe, e a classe não herda um da classe, ele procurará pela função construtora à moda-antiga, que tenha o mesmo nome da classe. Efetivamente, isso significa que o único caso que pode gerar problemas de compatibilidade será quando a classe tiver um método chamado __construct() usado em semântica diferente.

Aviso

Construtores no estilo antigo se tornaram OBSOLETOS no PHP 7.0, e serão removidos em uma versão futura. Deve-se sempre utilizar __construct() em novos códigos.

Diferente de outros métodos, o PHP não irá gerar uma mensagem de erro de nível E_STRICT quando __construct() é sobrescrito com parâmetros diferentes do método __construct()da classe pai possuir.

A partir do PHP 5.3.3, métodos com o mesmo nome que o último elemento de uma classe com namespace não serão tratados como construtor. Esta modificação não afeta classe sem namespace.

Exemplo #2 Construtores em classes dentro de namespace

<?php
namespace Foo;
class Bar {
    public function Bar() {
        // tratado como construtor no PHP 5.3.0-5.3.2
        // tratado como método comum a partir do PHP 5.3.3
    }
}
?>

Destrutor

__destruct ( ) : void

O PHP 5 introduz um conceito de destrutor similar ao de outras linguagens orientadas a objeto, como C++. O método destrutor será chamado assim que todas as referências a um objeto particular forem removidas ou quando o objeto for explicitamente destruído ou qualquer ordem na sequência de encerramento.

Exemplo #3 Exemplo de Destrutor

<?php
class MyDestructableClass {
   function __construct() {
       print "In constructor\n";
       $this->name = "MyDestructableClass";
   }

   function __destruct() {
       print "Destroying " . $this->name . "\n";
   }
}

$obj = new MyDestructableClass();
?>

Como os construtores, destrutores da classe pai não serão chamados implicitamente pelo motor. Para executar o destrutor pai, deve-se fazer uma chamada explicita a parent::__destruct() no corpo do destrutor. Assim como construtores, uma classe filha pode herdar o destrutor pai caso não implemente um.

O destrutor será chamado mesmo se o script for terminado utilizando-se exit(). Chamar exit() em um destrutor irá impedir que as demais rotinas de encerramento executem.

Nota:

Destrutores chamados durante o encerramento da execução do script tem os cabeçalhos HTTP enviados. O diretório atual na fase de encerramento do script pode ser diferente em alguns SAPIs (e.g. Apache).

Nota:

Tentar disparar uma exceção em um destrutor (chamado no término do script), causará um erro fatal.


Visibilidade

A visibilidade de uma propriedade ou método pode ser definida prefixando a declaração com as palavras-chave: public, protected or private. Itens declarados como públicos podem ser acessados de qualquer lugar. Membros declarados como protegidos só podem ser acessados na classe declarante e suas classes herdeiras. Membros declarados como privados só podem ser acessados na classe que define o membro privado.

Visibilidade de propriedades

Propriedades de classes devem ser declarados como públicas, privadas ou protegidas. Se declarado com var a propriedade será definida como pública.

Exemplo #1 Declaração de propriedade

<?php
/**
 * Define MinhaClasse
 */
class MinhaClasse
{
    public $publica = 'Public';
    protected $protegida = 'Protected';
    private $privada = 'Private';

    function imprimeAlo()
    {
        echo $this->publica;
        echo $this->protegida;
        echo $this->privada;
    }
}

$obj = new MinhaClasse();
echo $obj->publica; // Funciona
echo $obj->protegida; // Erro Fatal
echo $obj->privada; // Erro Fatal
$obj->imprimeAlo(); // Mostra Public, Protected e Private

/**
 * Define MinhaClasse2
 */
class MinhaClasse2 extends MinhaClasse
{
    // Nós podemos redeclarar as propriedades públicas e protegidas mas não as privadas
    protected $protegida = 'Protected2';

    function imprimeAlo()
    {
        echo $this->publica;
        echo $this->protegida;
        echo $this->privada;
    }
}

$obj2 = new MinhaClasse2();
echo $obj2->publica; // Works
echo $obj2->privada; // Undefined
echo $obj2->protegida; // Fatal Error
$obj2->imprimeAlo(); // Mostra Public, Protected2, Undefined

?>

Nota: O uso da declaração de variável com a palavra-chave var ainda é suportada por razões de compatibilidade (como um sinônimo para a palavra-chave public). Em versões do PHP anteriores ao 5.1.3, isso gerará um aviso do tipo E_STRICT.

Visibilidades de métodos

Métodos de classe podem ser definidos como público, privado ou protegido. Métodos sem qualquer declaração explícita serão definidos como público.

Exemplo #2 Declaração de método

<?php
/**
 * Define MinhaClasse
 */
class MinhaClasse
{
    // Declara um construtor público
    public function __construct() { }

    // Declara um método public
    public function MeuPublico() { }

    // Declara um método protected
    protected function MeuProtegido() { }

    // Declara um método private
    private function MeuPrivado() { }

    // Esse é public
    function Foo()
    {
        $this->MeuPublico();
        $this->MeuProtegido();
        $this->MeuPrivado();
    }
}

$minhaclasse = new MinhaClasse;
$minhaclasse->MeuPublico(); // Funciona
$minhaclasse->MeuProtegido(); // Erro Fatal
$minhaclasse->MeuPrivado(); // Erro Fatal
$minhaclasse->Foo(); // Public, Protected e Private funcionam

/**
 * Define MinhaClasse2
 */
class MinhaClasse2 extends MinhaClasse
{
    // Esse é public
    function Foo2()
    {
        $this->MeuPublico();
        $this->MeuProtegido();
        $this->MeuPrivado(); // Erro Fatal
    }
}

$minhaclasse2 = new MinhaClasse2;
$minhaclasse2->MeuPublico(); // Funciona
$minhaclasse2->Foo2(); // Public e Protected funcionam, Private não

class Bar
{
    public function test() {
        $this->testPrivate();
        $this->testPublic();
    }

    public function testPublic() {
        echo "Bar::testPublic\n";
    }

    private function testPrivate() {
        echo "Bar::testPrivate\n";
    }
}

class Foo extends Bar
{
    public function testPublic() {
        echo "Foo::testPublic\n";
    }

    private function testPrivate() {
        echo "Foo::testPrivate\n";
    }
}

$myFoo = new foo();
$myFoo->test(); // Bar::testPrivate
                // Foo::testPublic
?>

Visibilidade de outros objetos

Objetos do mesmo tipo terão acesso a outros mementos privados e protegidos mesmo que não sejam da mesma instância. Isso acontece por que os detalhes específicos de implementação já são conhecidos dentro destes objetos.

Exemplo #3 Acessando membros privados entre objetos do mesmo tipo

<?php
class Test
{
    private $foo;

    public function __construct($foo)
    {
        $this->foo = $foo;
    }

    private function bar()
    {
        echo 'Acessou o método privado.';
    }

    public function baz(Test $other)
    {
        // Pode-se alterar a propriedade privada:
        $other->foo = 'hello';
        var_dump($other->foo);

        // Pode-se chamar método privado:
        $other->bar();
    }
}

$test = new Test('test');

$test->baz(new Test('other'));
?>

O exemplo acima irá imprimir:

string(5) "hello"
Acessou o método privado.


Herança de Objetos=

Herança é um conceito de programação estabelecido, e o PHP PHP faz use deste em seu modelo de objetos. Este princípio afeta a forma com que classes e objetos se relacionam com outras.

Por exemplo, ao se estender uma classe, a subclasse herda todos os métodos públicos e protegidos da classe pai. A não que uma classe sobrescreva estes métodos, eles manterão sua funcionalidade original.

Isto é útil para definir uma funcionalidade abstrata, e permitir a implementação de uma funcionalidade adicional em objetos similares sem a necessidade de reimplementar todas as funcionalidades compartilhadas.

Nota:

A não ser que o autoload seja usado, as classes devem ser definidas antes de utilizadas. Se uma classe estende outra, a classe pai deve ser declarada antes da estrutura da classe filha. Esta regra se aplica a classes que herdam outras classes e interfaces.

Exemplo #1 Exemplo de herança

<?php

class Foo
{
    public function printItem($string)
    {
        echo 'Foo: ' . $string . PHP_EOL;
    }

    public function printPHP()
    {
        echo 'PHP is great.' . PHP_EOL;
    }
}

class Bar extends Foo
{
    public function printItem($string)
    {
        echo 'Bar: ' . $string . PHP_EOL;
    }
}

$foo = new Foo();
$bar = new Bar();
$foo->printItem('baz'); // Output: 'Foo: baz'
$foo->printPHP();       // Output: 'PHP is great'
$bar->printItem('baz'); // Output: 'Bar: baz'
$bar->printPHP();       // Output: 'PHP is great'

?>


Operador de Resolução de Escopo (::)

O Operador de Resolução de Escopo (também chamado de Paamayim Nekudotayim), ou em termos mais simples, dois pontos duplo, é um símbolo que permite acesso a métodos ou propriedades estáticas, constantes, e sobrecarregadas de uma classe.

Ao referenciar estes itens fora da definição da classe, use o nome da classe.

A partir do PHP 5.3.0, é possível referenciar o nome da classe usando uma variável. O valor da variável não pode ser uma palavra-chave (por exemplo, self, parent e static).

Paamayim Nekudotayim pode parecer, de início, uma escolha estranha para chamar dois pontos duplo. No entanto, na hora de escrever a Zend Engine 0.5 (que provia o PHP 3), foi o que a equipe da Zend decidiu. Realmente significa dois pontos duplo - em Hebreu!

Exemplo #1 :: de fora da definição da classe

<?php
class MyClass {
    const CONST_VALUE = 'Um valor constante';
}

$classname = 'MyClass';
echo $classname::CONST_VALUE; // A partir do PHP 5.3.0

echo MyClass::CONST_VALUE;
?>

Três palavras-chave especiais self, parent e static, são utilizadas para acessar propriedades e métodos dentro de uma definição de classe.

Exemplo #2 :: de dentro da definição da classe

<?php
class OtherClass extends MyClass
{
    public static $my_static = 'variável estática';

    public static function doubleColon() {
        echo parent::CONST_VALUE . "\n";
        echo self::$my_static . "\n";
    }
}

$classname = 'OtherClass';
echo $classname::doubleColon(); // A partir do PHP 5.3.0

OtherClass::doubleColon();
?>

Quando uma subclasse sobrecarrega a definição de um método do pai, o PHP não chamará o método pai. Fica a cargo da subclasse chamar o método pai ou não. Isso também se aplica a definições de métodos Construtores e Destrutores, de Sobrecarga e Mágicos.

Exemplo #3 Chamando um método pai

<?php
class MyClass
{
    protected function myFunc() {
        echo "MyClass::myFunc()\n";
    }
}

class OtherClass extends MyClass
{
    // Sobrescreve e definição da classe estendida
    public function myFunc()
    {
        // Mas ainda consegue chamar o método na classe herdada
        parent::myFunc();
        echo "OtherClass::myFunc()\n";
    }
}

$class = new OtherClass();
$class->myFunc();
?>

Veja também outros exemplos de chamadas estáticas mais complexas.


Palavra-Chave 'static'

Dica

Esta página descreve o uso da palavra-chave static na definição de métodos e propriedades estáticas. A palavra-chave static também pode ser utilizada para definir variáveis estáticas e em late static bindings. Veja essas páginas para informações desses outros usos de static.

Declarar propriedades ou métodos de uma classe como estáticos faz deles acessíveis sem a necessidade de instanciar a classe. Um membro declarados como estático não pode ser acessado com um objeto instanciado da classe (embora métodos estáticos podem).

Por compatibilidade com o PHP 4, se nenhuma declaração de visibilidade for utilizada, a propriedade ou método será tratado como se declarado como public.

Métodos estáticos

Como métodos estáticos podem ser chamados sem uma instancia do objeto criada, a pseudo-variável $this não está disponível dentro de um método declarado como estático.

Cuidado

No PHP 5, chamar métodos não estáticos estaticamente gerará um alerta de nível E_STRICT.

Aviso

No PHP 7, chamar métodos não estáticos estaticamente foi depreciado, e gerará um alerta de nível E_DEPRECATED. O suporte a chamada de métodos não estáticos estaticamente pode ser removido no futuro.

Exemplo #1 Exemplo de método estático

<?php
class Foo {
    public static function aStaticMethod() {
        // ...
    }
}

Foo::aStaticMethod();
$classname = 'Foo';
$classname::aStaticMethod(); // As of PHP 5.3.0
?>

Propriedades estáticas

Propriedades estáticas não podem ser acessadas através do operador ->.

Como qualquer outra variável estática do PHP, propriedades estáticas podem ser inicializadas, até o PHP 5.6, somente usando um valor literal ou constante; expressões não são permitidas. No PHP 5.6 e em versões superiores, as mesmas regras aplicadas a expressões const: algumas expressões limitadas são possíveis, se fornecidas serão avaliadas em tempo de compilação.

A partir do 5.3.0, é possível referenciar a classe usando uma variável. O valor da variável não pode ser uma palavra chave (por exemplo, self, parent e static).

Exemplo #2 Exemplo de propriedade estática

<?php
class Foo
{
    public static $meu_estatico = 'foo';

    public function valorEstatico() {
        return self::$meu_estatico;
    }
}

class Bar extends Foo
{
    public function fooEstatico() {
        return parent::$meu_estatico;
    }
}

print Foo::$meu_estatico . "\n";

$foo = new Foo();
print $foo->valorEstatico() . "\n";
print $foo->$meu_estatico . "\n";      // "Propriedade" Indefinida $meu_estatico

print $foo::$meu_estatico . "\n";
$classname = 'Foo';
print $classname::$meu_estatico . "\n"; // No PHP 5.3.0

print Bar::$meu_estatico . "\n";
$bar = new Bar();
print $bar->fooEstatico() . "\n";
?>


Abstração de Classes

O PHP 5 introduz métodos e classes abstratas. Classes definidas como abstratas não podem ser instanciadas, e qualquer classe que contenha ao menos um método abstrato também deve ser abstrata. Métodos são definidos como abstratos declarando a intenção em sua assinatura - não podem definir a implementação.

Ao herdar uma classe abstrata, todos os métodos marcados como abstratos na na declaração da classe pai devem ser implementados na classe filha; adicionalmente, estes métodos devem ser definidos com a mesma (ou menos restrita) visibilidade. Por exemplo, se um método abstrato for definido como protegido, a implementação da função deve ser definida como protegida ou pública, mas não privada. Além disso, a assinatura do método deve coincidir, isso é, as induções de tipo e o número de argumentos exigidos devem ser os mesmos. Por exemplo, se a classe filha define um argumento opcional, e a assinatura do método abstrato não, há um conflito na assinatura. Também se aplica a construtores a partir do PHP 5.4. Em versões anteriores a 5.4, as assinaturas dos construtores poderiam ser diferentes.

Exemplo #1 Exemplo de classe abstrata

<?php
abstract class ClasseAbstrata
{
    // Força a classe que estende ClasseAbstrata a definir esse método
    abstract protected function pegarValor();
    abstract protected function valorComPrefixo( $prefixo );

    // Método comum
    public function imprimir() {
        print $this->pegarValor();
    }
}

class ClasseConcreta1 extends ClasseAbstrata
{
    protected function pegarValor() {
        return "ClasseConcreta1";
    }

    public function valorComPrefixo( $prefixo ) {
        return "{$prefixo}ClasseConcreta1";
    }
}

class ClasseConcreta2 extends ClasseAbstrata
{
    protected function pegarValor() {
        return "ClasseConcreta2";
    }

    public function valorComPrefixo( $prefixo ) {
        return "{$prefixo}ClasseConcreta2";
    }
}

$classe1 = new ClasseConcreta1;
$classe1->imprimir();
echo $classe1->valorComPrefixo('FOO_') ."\n";

$classe2 = new ClasseConcreta2;
$classe2->imprimir();
echo $classe2->valorComPrefixo('FOO_') ."\n";
?>

O exemplo acima irá imprimir:

ConcreteClass1
FOO_ConcreteClass1
ConcreteClass2
FOO_ConcreteClass2

Exemplo #2 Exemplo de classe abstrata

<?php
abstract class ClasseAbstrata
{
    // Esse método abstrato apenas define os argumentos requeridos
    abstract protected function prefixName($name);

}

class ClasseConcreta extends ClasseAbstrata
{

    // O método filho pode definir argumentos opcionais não presentes na assitura abstrata
    public function prefixName($name, $separator = ".") {
        if ($name == "Pacman") {
            $prefix = "Mr";
        } elseif ($name == "Pacwoman") {
            $prefix = "Mrs";
        } else {
            $prefix = "";
        }
        return "{$prefix}{$separator} {$name}";
    }
}

$class = new ClasseConcreta;
echo $class->prefixName("Pacman"), "\n";
echo $class->prefixName("Pacwoman"), "\n";
?>

O exemplo acima irá imprimir:

Mr. Pacman
Mrs. Pacwoman

Códigos antigos que não possuem classes e funções com nome 'abstract' podem ser executados sem modificações.


Interfaces de Objetos

Interfaces de objetos permitem a criação de códigos que especificam quais métodos uma classe deve implementar, sem definir como esses métodos serão tratados.

Interfaces são definidas da mesma forma que classes, mas com a palavra-chave interface substituindo class e com nenhum dos métodos tendo seu conteúdo definido.

Todos os métodos declarados em uma interface devem ser públicos, essa é a natureza de uma interface.

implements

Para implementar uma interface, o operador implements é utilizado. Todos os métodos na interface devem ser implementados na classe; não fazê-lo resultará em um erro fatal. Classes podem implementar mais de uma interface se assim for desejado, separando cada interface com uma vírgula.

Nota:

Em versões anteriores ao PHP 5.3.9, uma classe não poderia implementar duas interfaces que especificassem um método com o mesmo nome, pois causaria ambiguidade. Versões mais recentes do PHP, isso é permitido, desde que os métodos duplicados tenham a mesma assinatura.

Nota:

Interfaces podem ser estendidas como as classes, usando o operador extends.

Nota:

A classe que implementa a interface precisa ter as mesmas assinaturas de método como definidas na interface. Não fazê-lo resultará em um erro fatal

Constantes

É possível ter constantes em interfaces. Constantes de interfaces funcionam exatamente como constantes de classes, com exceção de não poderem ser sobrescritas por uma classe/interface herdeira.

Exemplos

Exemplo #1 Exemplo de Interface

<?php

// Declara a interface 'iTemplate'
interface iTemplate
{
    public function setVariable($name, $var);
    public function getHtml($template);
}

// Implementa a interface
// Isso funcionará
class Template implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }

    public function getHtml($template)
    {
        foreach($this->vars as $name => $value) {
            $template = str_replace('{' . $name . '}', $value, $template);
        }

        return $template;
    }
}

// Isso NÃO funcionará
// Fatal error: Class BadTemplate contains 1 abstract methods
// and must therefore be declared abstract (iTemplate::getHtml)
class BadTemplate implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
}
?>

Exemplo #2 Interfaces estendíveis

<?php
interface a
{
    public function foo();
}

interface b extends a
{
    public function baz(Baz $baz);
}

// Isto irá funcionar
class c implements b
{
    public function foo()
    {
    }

    public function baz(Baz $baz)
    {
    }
}

// Isto não irá funcionar e resultará em um erro fatal
class d implements b
{
    public function foo()
    {
    }

    public function baz(Foo $foo)
    {
    }
}
?>

Exemplo #3 Interface com herança múltipla

<?php
interface a
{
    public function foo();
}

interface b
{
    public function bar();
}

interface c extends a, b
{
    public function baz();
}

class d implements c
{
    public function foo()
    {
    }

    public function bar()
    {
    }

    public function baz()
    {
    }
}
?>

Exemplo #4 Interfaces com constantes

<?php
interface a
{
    const b = 'Interface constant';
}

// Imprime: Interface constant
echo a::b;

// Isto não funcionará porque não é permitido
// sobreescrever constantes.
class b implements a
{
    const b = 'Class constant';
}
?>

Uma interface, juntamente com a declaração de tipo, fornecem uma boa maneira de garantir que um objeto em particular possua determinados métodos. Veja o operador instanceof e declaração de tipo.


Traits

PHP implements a way to reuse code called Traits.

Traits are a mechanism for code reuse in single inheritance languages such as PHP. A Trait is intended to reduce some limitations of single inheritance by enabling a developer to reuse sets of methods freely in several independent classes living in different class hierarchies. The semantics of the combination of Traits and classes is defined in a way which reduces complexity, and avoids the typical problems associated with multiple inheritance and Mixins.

A Trait is similar to a class, but only intended to group functionality in a fine-grained and consistent way. It is not possible to instantiate a Trait on its own. It is an addition to traditional inheritance and enables horizontal composition of behavior; that is, the application of class members without requiring inheritance.

Exemplo #1 Trait example

<?php
trait ezcReflectionReturnInfo {
    function getReturnType() { /*1*/ }
    function getReturnDescription() { /*2*/ }
}

class ezcReflectionMethod extends ReflectionMethod {
    use ezcReflectionReturnInfo;
    /* ... */
}

class ezcReflectionFunction extends ReflectionFunction {
    use ezcReflectionReturnInfo;
    /* ... */
}
?>

Precedence

An inherited member from a base class is overridden by a member inserted by a Trait. The precedence order is that members from the current class override Trait methods, which in turn override inherited methods.

Exemplo #2 Precedence Order Example

An inherited method from a base class is overridden by the method inserted into MyHelloWorld from the SayWorld Trait. The behavior is the same for methods defined in the MyHelloWorld class. The precedence order is that methods from the current class override Trait methods, which in turn override methods from the base class.

<?php
class Base {
    public function sayHello() {
        echo 'Hello ';
    }
}

trait SayWorld {
    public function sayHello() {
        parent::sayHello();
        echo 'World!';
    }
}

class MyHelloWorld extends Base {
    use SayWorld;
}

$o = new MyHelloWorld();
$o->sayHello();
?>

O exemplo acima irá imprimir:

Hello World!

Exemplo #3 Alternate Precedence Order Example

<?php
trait HelloWorld {
    public function sayHello() {
        echo 'Hello World!';
    }
}

class TheWorldIsNotEnough {
    use HelloWorld;
    public function sayHello() {
        echo 'Hello Universe!';
    }
}

$o = new TheWorldIsNotEnough();
$o->sayHello();
?>

O exemplo acima irá imprimir:

Hello Universe!

Multiple Traits

Multiple Traits can be inserted into a class by listing them in the use statement, separated by commas.

Exemplo #4 Multiple Traits Usage

<?php
trait Hello {
    public function sayHello() {
        echo 'Hello ';
    }
}

trait World {
    public function sayWorld() {
        echo 'World';
    }
}

class MyHelloWorld {
    use Hello, World;
    public function sayExclamationMark() {
        echo '!';
    }
}

$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
$o->sayExclamationMark();
?>

O exemplo acima irá imprimir:

Hello World!

Conflict Resolution

If two Traits insert a method with the same name, a fatal error is produced, if the conflict is not explicitly resolved.

To resolve naming conflicts between Traits used in the same class, the insteadof operator needs to be used to choose exactly one of the conflicting methods.

Since this only allows one to exclude methods, the as operator can be used to add an alias to one of the methods. Note the as operator does not rename the method and it does not affect any other method either.

Exemplo #5 Conflict Resolution

In this example, Talker uses the traits A and B. Since A and B have conflicting methods, it defines to use the variant of smallTalk from trait B, and the variant of bigTalk from trait A.

The Aliased_Talker makes use of the as operator to be able to use B's bigTalk implementation under an additional alias talk.

<?php
trait A {
    public function smallTalk() {
        echo 'a';
    }
    public function bigTalk() {
        echo 'A';
    }
}

trait B {
    public function smallTalk() {
        echo 'b';
    }
    public function bigTalk() {
        echo 'B';
    }
}

class Talker {
    use A, B {
        B::smallTalk insteadof A;
        A::bigTalk insteadof B;
    }
}

class Aliased_Talker {
    use A, B {
        B::smallTalk insteadof A;
        A::bigTalk insteadof B;
        B::bigTalk as talk;
    }
}
?>

Changing Method Visibility

Using the as syntax, one can also adjust the visibility of the method in the exhibiting class.

Exemplo #6 Changing Method Visibility

<?php
trait HelloWorld {
    public function sayHello() {
        echo 'Hello World!';
    }
}

// Change visibility of sayHello
class MyClass1 {
    use HelloWorld { sayHello as protected; }
}

// Alias method with changed visibility
// sayHello visibility not changed
class MyClass2 {
    use HelloWorld { sayHello as private myPrivateHello; }
}
?>

Traits Composed from Traits

Just as classes can make use of traits, so can other traits. By using one or more traits in a trait definition, it can be composed partially or entirely of the members defined in those other traits.

Exemplo #7 Traits Composed from Traits

<?php
trait Hello {
    public function sayHello() {
        echo 'Hello ';
    }
}

trait World {
    public function sayWorld() {
        echo 'World!';
    }
}

trait HelloWorld {
    use Hello, World;
}

class MyHelloWorld {
    use HelloWorld;
}

$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
?>

O exemplo acima irá imprimir:

Hello World!

Abstract Trait Members

Traits support the use of abstract methods in order to impose requirements upon the exhibiting class.

Cuidado

A concrete class fulfills this requirement by defining a concrete method with the same name; its signature may be different.

Exemplo #8 Express Requirements by Abstract Methods

<?php
trait Hello {
    public function sayHelloWorld() {
        echo 'Hello'.$this->getWorld();
    }
    abstract public function getWorld();
}

class MyHelloWorld {
    private $world;
    use Hello;
    public function getWorld() {
        return $this->world;
    }
    public function setWorld($val) {
        $this->world = $val;
    }
}
?>

Static Trait Members

Traits can define both static members and static methods.

Exemplo #9 Static Variables

<?php
trait Counter {
    public function inc() {
        static $c = 0;
        $c = $c + 1;
        echo "$c\n";
    }
}

class C1 {
    use Counter;
}

class C2 {
    use Counter;
}

$o = new C1(); $o->inc(); // echo 1
$p = new C2(); $p->inc(); // echo 1
?>

Exemplo #10 Static Methods

<?php
trait StaticExample {
    public static function doSomething() {
        return 'Doing something';
    }
}

class Example {
    use StaticExample;
}

Example::doSomething();
?>

Properties

Traits can also define properties.

Exemplo #11 Defining Properties

<?php
trait PropertiesTrait {
    public $x = 1;
}

class PropertiesExample {
    use PropertiesTrait;
}

$example = new PropertiesExample;
$example->x;
?>

If a trait defines a property then a class can not define a property with the same name unless it is compatible (same visibility and initial value), otherwise a fatal error is issued.

Exemplo #12 Conflict Resolution

<?php
trait PropertiesTrait {
    public $same = true;
    public $different = false;
}

class PropertiesExample {
    use PropertiesTrait;
    public $same = true; // Allowed as of PHP 7.0.0; E_STRICT notice formerly
    public $different = true; // Fatal error
}
?>


Classes anônimas

O suporte a classes anônimas foi adicionado no PHP 7. Classes anônimas são úteis quando objetos descartáveis precisarem ser criados.

<?php

// Pre PHP 7 code
class Logger
{
    public function log($msg)
    {
        echo $msg;
    }
}

$util->setLogger(new Logger());

// PHP 7+ code
$util->setLogger(new class {
    public function log($msg)
    {
        echo $msg;
    }
});

Podem passar argumentos através de seus construtores, estender outras classes, implementar interfaces, e usar traits como uma classe normal faz:

<?php

class SomeClass {}
interface SomeInterface {}
trait SomeTrait {}

var_dump(new class(10) extends SomeClass implements SomeInterface {
    private $num;

    public function __construct($num)
    {
        $this->num = $num;
    }

    use SomeTrait;
});

O exemplo acima irá imprimir:

object(class@anonymous)#1 (1) {
  ["Command line code0x104c5b612":"class@anonymous":private]=>
  int(10)
}

Aninhar uma classe anônima dentro de outra classe não dá acesso a nenhum método privado ou protegido, ou propriedades da classe externa. Para utilizar os métodos e propriedades protegidas da classe externa, a classe anônima pode estender a classe externa. Para utilizar as propriedades privadas da classe externa na classe anônima, elas devem ser passadas através do construtor:

<?php

class Outer
{
    private $prop = 1;
    protected $prop2 = 2;

    protected function func1()
    {
        return 3;
    }

    public function func2()
    {
        return new class($this->prop) extends Outer {
            private $prop3;

            public function __construct($prop)
            {
                $this->prop3 = $prop;
            }

            public function func3()
            {
                return $this->prop2 + $this->prop3 + $this->func1();
            }
        };
    }
}

echo (new Outer)->func2()->func3();

O exemplo acima irá imprimir:

6

Todos os objetos criados pela mesma declaração de classe anônima são instâncias desta mesma classe.

<?php
function anonymous_class()
{
    return new class {};
}

if (get_class(anonymous_class()) === get_class(anonymous_class())) {
    echo 'same class';
} else {
    echo 'different class';
}

O exemplo acima irá imprimir:

same class

Nota:

Classes anônimas tem nomes atribuídos automaticamente como demonstrado no exemplo a seguir. Este nome deve ser considerado apenas um detalhe não confiável na implementação.

<?php
echo get_class(new class {});

O exemplo acima irá imprimir algo similar à:

class@anonymous/in/oNi1A0x7f8636ad2021


Sobrecarga

Sobrecarga em PHP provê recursos para criar dinamicamente propriedades e métodos. Estas entidades dinâmicas são processadas por métodos mágicos fornecendo a uma classe vários tipos de ações.

Os métodos de sobrecarga são invocados ao interagir com propriedades ou métodos que não foram declarados ou não são visíveis no escopo corrente. O resto desta seção usará os termos propriedades inacessíveis e métodos inacessíveis para referir-se a esta combinação de declaração e visibilidade.

Todos os métodos de sobrecarga devem ser definidos como públicos.

Nota:

Nenhum dos argumentos dos métodos mágicos podem ser passados por referência.

Nota:

A interpretação do PHP de sobrecarga é diferente da maioria das linguagens orientadas a objeto. Sobrecarga, tradicionalmente, provê a habilidade de ter múltiplos métodos com o mesmo nome, mas com quantidades e tipos de argumentos diferentes.

Changelog

Versão | Descrição
5.3.0 | Adicionado __callStatic(). Adicionado um aviso para reforçar a visibilidade pública e a declaração não estática.
5.1.0 | Adicionados os métodos de sobrecarga __isset() e __unset(). Adicionado o suporte ao método __get() sobrecarregar propriedades privadas.
5.0.0 | Adicionado o método __get().

Sobrecarga de propriedades

public __set ( string $name , mixed $value ) : void
public __get ( string $name ) : mixed
public __isset ( string $name ) : bool
public __unset ( string $name ) : void

__set() é executado ao escrever dados em propriedades inacessíveis.

__get() é utilizado para ler dados de propriedades inacessíveis.

__isset() é disparado ao chamar a função isset() ou empty() em propriedades inacessíveis.

__unset() é invocado ao usar o construtor unset() em propriedades inacessíveis.

O argumento $name é o nome da propriedade com o qual se está interagindo. O argumento $value do método __set() especifica o valor para o qual a propriedade $name deveria ser definida.

A sobrecarga de propriedades funciona somente no contexto de objeto. Estes métodos mágicos não são disparados em contexto estático. Portanto estes métodos não podem ser declarados como static. A partir do PHP 5.3.0, um aviso é emitido se algum método mágico de sobrecarga é declarado como static.

Nota:

O valor de retorno de __set() é ignorado por causa da forma que o PHP processa o operador de atribuição. Similarmente, o método __get() nunca é chamado em atribuições encadeadas como essa:

 $a = $obj->b = 8;

Exemplo #1
     Sobrecarregando propriedades com __get(),
     __set(), __isset()
     and __unset()

<?php
class PropertyTest
{
    /**  Location for overloaded data.  */
    private $data = array();

    /**  Overloading not used on declared properties.  */
    public $declared = 1;

    /**  Overloading only used on this when accessed outside the class.  */
    private $hidden = 2;

    public function __set($name, $value)
    {
        echo "Setting '$name' to '$value'\n";
        $this->data[$name] = $value;
    }

    public function __get($name)
    {
        echo "Getting '$name'\n";
        if (array_key_exists($name, $this->data)) {
            return $this->data[$name];
        }

        $trace = debug_backtrace();
        trigger_error(
            'Undefined property via __get(): ' . $name .
            ' in ' . $trace[0]['file'] .
            ' on line ' . $trace[0]['line'],
            E_USER_NOTICE);
        return null;
    }

    /**  As of PHP 5.1.0  */
    public function __isset($name)
    {
        echo "Is '$name' set?\n";
        return isset($this->data[$name]);
    }

    /**  As of PHP 5.1.0  */
    public function __unset($name)
    {
        echo "Unsetting '$name'\n";
        unset($this->data[$name]);
    }

    /**  Not a magic method, just here for example.  */
    public function getHidden()
    {
        return $this->hidden;
    }
}

echo "<pre>\n";

$obj = new PropertyTest;

$obj->a = 1;
echo $obj->a . "\n\n";

var_dump(isset($obj->a));
unset($obj->a);
var_dump(isset($obj->a));
echo "\n";

echo $obj->declared . "\n\n";

echo "Let's experiment with the private property named 'hidden':\n";
echo "Privates are visible inside the class, so __get() not used...\n";
echo $obj->getHidden() . "\n";
echo "Privates not visible outside of class, so __get() is used...\n";
echo $obj->hidden . "\n";
?>

O exemplo acima irá imprimir:

Setting 'a' to '1'
Getting 'a'
1

Is 'a' set?
bool(true)
Unsetting 'a'
Is 'a' set?
bool(false)

1

Let's experiment with the private property named 'hidden':
Privates are visible inside the class, so __get() not used...
2
Privates not visible outside of class, so __get() is used...
Getting 'hidden'

Notice:  Undefined property via __get(): hidden in <file> on line 70 in <file> on line 29

Sobrecarga de método

public __call ( string $name , array $arguments ) : mixed
public static __callStatic ( string $name , array $arguments ) : mixed

__call() é disparado ao invocar métodos inacessíveis em um contexto de objeto.

__callStatic() é disparado quando invocando métodos inacessíveis em um contexto estático.

O argumento $name é o nome do método sendo chamado. O argumento $arguments é um array enumerado contendo os parâmetros passados para o método $name.

Exemplo #2 Sobrecarga de métodos instanciados com __call() e __callStatic()

<?php
class MethodTest
{
    public function __call($name, $arguments)
    {
        // Note: value of $name is case sensitive.
        echo "Calling object method '$name' "
             . implode(', ', $arguments). "\n";
    }

    /**  As of PHP 5.3.0  */
    public static function __callStatic($name, $arguments)
    {
        // Note: value of $name is case sensitive.
        echo "Calling static method '$name' "
             . implode(', ', $arguments). "\n";
    }
}

$obj = new MethodTest;
$obj->runTest('in object context');

MethodTest::runTest('in static context');  // As of PHP 5.3.0
?>

O exemplo acima irá imprimir:

Calling object method 'runTest' in object context
Calling static method 'runTest' in static context


Iteração de Objetos

O PHP 5 fornece uma maneira de definir objetos para que seja possível iterar por uma lista de items, como, por exemplo, a instrução foreach. Por padrão, todas as propriedades visíveis serão utilizadas para a iteração.

Exemplo #1 Iteração simples de objetos

<?php
class MyClass
{
    public $var1 = 'value 1';
    public $var2 = 'value 2';
    public $var3 = 'value 3';

    protected $protected = 'protected var';
    private   $private   = 'private var';

    function iterateVisible() {
       echo "MyClass::iterateVisible:\n";
       foreach ($this as $key => $value) {
           print "$key => $value\n";
       }
    }
}

$class = new MyClass();

foreach($class as $key => $value) {
    print "$key => $value\n";
}
echo "\n";

$class->iterateVisible();

?>

O exemplo acima irá imprimir:

var1 => value 1
var2 => value 2
var3 => value 3

MyClass::iterateVisible:
var1 => value 1
var2 => value 2
var3 => value 3
protected => protected var
private => private var

Como a saída mostra, o foreach passou por cada uma das variáveis visíveis que podem ser acessadas.

Indo um pouco além, pode-se implementar a interface Iterator. Isso permite que o objeto decida como será iterado e quais valores estarão disponíveis em cada iteração.

Exemplo #2 Iteração de Objeto implementando Iterator

<?php
class MyIterator implements Iterator
{
    private $var = array();

    public function __construct($array)
    {
        if (is_array($array)) {
            $this->var = $array;
        }
    }

    public function rewind()
    {
        echo "rewinding\n";
        reset($this->var);
    }

    public function current()
    {
        $var = current($this->var);
        echo "current: $var\n";
        return $var;
    }

    public function key()
    {
        $var = key($this->var);
        echo "key: $var\n";
        return $var;
    }

    public function next()
    {
        $var = next($this->var);
        echo "next: $var\n";
        return $var;
    }

    public function valid()
    {
        $key = key($this->var);
        $var = ($key !== NULL && $key !== FALSE);
        echo "valid: $var\n";
        return $var;
    }

}

$values = array(1,2,3);
$it = new MyIterator($values);

foreach ($it as $a => $b) {
    print "$a: $b\n";
}
?>

O exemplo acima irá imprimir:

rewinding
valid: 1
current: 1
key: 0
0: 1
next: 2
valid: 1
current: 2
key: 1
1: 2
next: 3
valid: 1
current: 3
key: 2
2: 3
next:
valid:

A interface IteratorAggregate pode ser utilizada como uma alternativa em vez de implementar todos os métodos de Iterator. IteratorAggregate somente exige a implementação de um único método, IteratorAggregate::getIterator(), que deve retornar uma instância de uma classe que implementa a interface Iterator.

Exemplo #3 Iteração de Objeto implementado IteratorAggregate

<?php
class MyCollection implements IteratorAggregate
{
    private $items = array();
    private $count = 0;

    // Required definition of interface IteratorAggregate
    public function getIterator() {
        return new MyIterator($this->items);
    }

    public function add($value) {
        $this->items[$this->count++] = $value;
    }
}

$coll = new MyCollection();
$coll->add('value 1');
$coll->add('value 2');
$coll->add('value 3');

foreach ($coll as $key => $val) {
    echo "key/value: [$key -> $val]\n\n";
}
?>

O exemplo acima irá imprimir:

rewinding
current: value 1
valid: 1
current: value 1
key: 0
key/value: [0 -> value 1]

next: value 2
current: value 2
valid: 1
current: value 2
key: 1
key/value: [1 -> value 2]

next: value 3
current: value 3
valid: 1
current: value 3
key: 2
key/value: [2 -> value 3]

next:
current:
valid:

Nota:

Para mais exemplos de iteração, veja a Extensão SPL.

Nota:

Usuário das versões 5.5, e superiores do PHP também podem dar uma olhada nos geradores, que fornecem uma alternativa ao uso de iteradores.


Métodos Mágicos

Os nomes de função
__construct(),
__destruct(),
__call(),
__callStatic(),
__get(),
__set(),
__isset(),
__unset(),
__sleep(),
__wakeup(),
__serialize(),
__unserialize(),
__toString(),
__invoke(),
__set_state(),
__clone() e
__debugInfo()
são mágicos nas classes do PHP. Não
deve-se ter funções com esses nomes em nenhuma de suas
classes a não ser que queira a funcionalidade mágica associada
a eles.

Nota: Todos os métodos mágicos DEVEM ser declarados como public

Cuidado

O PHP reserva todas as funções com nomes iniciadas com __ como mágicas. É recomendado que não se utilize funções com nomes com __ no PHP, a não ser que deseje-se alguma funcionalidade mágica documentada.

__sleep() e __wakeup()

public __sleep ( ) : array
public __wakeup ( ) : void

serialize() checa se sua classe tem uma função com o nome mágico __sleep(). Se houver, a função é executa antes de qualquer serialização. Ela pode limpar o objeto e deve retornar um array com os nomes de todas as variáveis do objeto que devem ser serializadas. Se o método não retornar nada, então null é serializado e um E_NOTICE disparado.

Nota:

Não é possível que __sleep() retorne nomes de propriedades privadas da classe pai. Fazer isso causará um erro de nível E_NOTICE. Ao invés disso, pode-se utilizar a interface Serializable.

O intuito do método __sleep() é enviar dados pendentes ou realizar tarefas de limpeza. Além disso, a função é útil se tiver objetos muito grandes que não precisem ser completamente salvos.

Ao mesmo tempo, unserialize() checa pela presença da função com o nome mágico __wakeup(). Se presente, essa função pode reconstruir qualquer recurso que o objeto possa ter.

O intuito do método __wakeup() é reestabelecer qualquer conexão com banco de dados que podem ter sido perdidas durante a serialização, e realizar outras tarefas de reinicialização.

Exemplo #1 Sleep e wakeup

<?php
class Connection
{
    protected $link;
    private $dsn, $username, $password;

    public function __construct($dsn, $username, $password)
    {
        $this->dsn = $dsn;
        $this->username = $username;
        $this->password = $password;
        $this->connect();
    }

    private function connect()
    {
        $this->link = new PDO($this->dsn, $this->username, $this->password);
    }

    public function __sleep()
    {
        return array('dsn', 'username', 'password');
    }

    public function __wakeup()
    {
        $this->connect();
    }
}?>

__serialize() e __unserialize()

public __serialize ( ) : array
public __unserialize ( array $data ) : void

serialize() verifica se a classe contém uma função com o nome mágico __serialize(). Se sim, essa função é executada antes de qualquer serialização. Ela precisa construir e retornar um array associativo de chaves-valores que representam a forma serializada do objeto. Se o array não for retornado então um erro TypeError será lançado.

Nota:

Se ambos __serialize() e __sleep() estiverem definidos no mesmo objeto, somente __serialize() será chamado. __sleep() será ignorado. Se o objeto implementa a interface Serializable, o método serialize() da interface será ignorado e o método mágico __serialize() será utilizado.

O uso pretendido de __serialize() é definir uma representação arbitrária, amigável, da representação do objeto. Elementos do array podem corresponder a propriedades do objeto diretamente, mas isso não é obrigatório.

Inversamente, unserialize() verifica a presença da função mágica __unserialize(). Se presente, essa função será chamada com o array retornado de __serialize(). Ela poderá, então, restaurar as propriedades do objeto a partir do array.

Nota:

Se ambos __unserialize() e __wakeup() estiverem definidos, somente __unserialize() será chamado, e __wakeup() será ignorado.

Nota:

Esse recurso está disponível desde o PHP 7.4.0.

Exemplo #2 Serialize e unserialize

<?php
class Connection
{
    protected $link;
    private $dsn, $username, $password;

    public function __construct($dsn, $username, $password)
    {
        $this->dsn = $dsn;
        $this->username = $username;
        $this->password = $password;
        $this->connect();
    }

    private function connect()
    {
        $this->link = new PDO($this->dsn, $this->username, $this->password);
    }

    public function __serialize(): array
    {
        return [
          'dsn' => $this->dsn,
          'user' => $this->username,
          'pass' => $this->password,
        ];
    }

    public function __unserialize(array $data): void
    {
        $this->dsn = $data['dsn'];
        $this->username = $data['user'];
        $this->password = $data['pass'];

        $this->connect();
    }
}?>

__toString()

public __toString ( ) : string

O método __toString() permite que uma classe decida como se comportar quando convertida para uma string. Por exemplo, o que echo $obj; irá imprimir. Este método precisa retornar uma string, senão um erro nível E_RECOVERABLE_ERROR é gerado.

Aviso

Não era possível lançar uma exception de dentro de um método __toString() antes do PHP 7.4.0. Isso gera um erro fatal.

Exemplo #3 Exemplo Simples

<?php
// Declara uma classe simples
class TestClass
{
    public $foo;

    public function __construct($foo)
    {
        $this->foo = $foo;
    }

    public function __toString()
    {
        return $this->foo;
    }
}

$class = new TestClass('Hello');
echo $class;
?>

O exemplo acima irá imprimir:

Hello

Vale lembrar que antes do PHP 5.2.0 o método __toString() só era chamado quando combinado diretamente com echo ou print. Desde o PHP 5.2.0, ele é chamado no contexto de string (e.g. em printf() com modificador %s) mas não em outros tipos de contextos (e.g. como modificador %d). Desde o PHP 5.2.0, converter objetos sem o método __toString() para string causará E_RECOVERABLE_ERROR.

__invoke()

__invoke ( $... = ? ) : mixed

O método __invoke() é chamado quando um script tenta chamar um objeto como uma função.

Nota:

Esta funcionalidade esta disponível desde o PHP 5.3.0.

Exemplo #4 Usando __invoke()

<?php
class CallableClass
{
    public function __invoke($x)
    {
        var_dump($x);
    }
}
$obj = new CallableClass;
$obj(5);
var_dump(is_callable($obj));
?>

O exemplo acima irá imprimir:

int(5)
bool(true)

__set_state()

static __set_state ( array $properties ) : object

Esse método estático é chamado em classes exportadas por var_export() desde PHP 5.1.0.

O único parâmetro deste método é um array contendo propriedades exportadas no formato array('property' => value, ...).

Exemplo #5 Usando __set_state() (desde o PHP 5.1.0)

<?php

class A
{
    public $var1;
    public $var2;

    public static function __set_state($an_array) // Desde o PHP 5.1.0
    {
        $obj = new A;
        $obj->var1 = $an_array['var1'];
        $obj->var2 = $an_array['var2'];
        return $obj;
    }
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array(
                                            //    'var1' => 5,
                                            //    'var2' => 'foo',
                                            // ));
var_dump($b);

?>

O exemplo acima irá imprimir:

object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}

Nota: Quando exportando um objeto, var_export() não verifica se __set_state() está implementado na classe do objeto, de forma que re-importar esses objetos falham na ausência de __set_state(). Isto afeta particularmente algumas classes internas. É responsabilidade do programador verificar se todos os objetos podem ser re-importados, ou seja, que todas as classes implementem __set_state().

__debugInfo()

__debugInfo ( ) : array

Este método é chamado pela função var_dump() ao despejar um objeto para obter as propriedades que devem ser exibidas. Se este método não for definido em um objeto, todos as propriedades públicas, protegidas e provadas serão exibidas.

Este recurso foi adicionado no 5.6.0.

Exemplo #6 Utilizando o __debugInfo()

<?php
class C {
    private $prop;

    public function __construct($val) {
        $this->prop = $val;
    }

    public function __debugInfo() {
        return [
            'propSquared' => $this->prop ** 2,
        ];
    }
}

var_dump(new C(42));
?>

O exemplo acima irá imprimir:

object(C)#1 (1) {
  ["propSquared"]=>
  int(1764)
}


final

O PHP 5 introduz a palavra-chave final, que previne que classes filhas sobrescrevam um método que esteja prefixado sua definição com final. Se a própria classe estiver definida como final, ela não pode ser estendida.

Exemplo #1 Exemplo de métodos final

<?php
class ClasseBase {
   public function teste() {
       echo "ClasseBase::teste() chamado\n";
   }

   final public function maisTeste() {
       echo "ClasseBase::maisTeste() chamado\n";
   }
}

class ClasseFilha extends ClasseBase {
   public function maisTeste() {
       echo "ClasseFilha::maisTeste() called\n";
   }
}
// Resulta em erro Fatal: Não pode sobrescrever método final ClasseBase::maisTeste()
?>

Exemplo #2 Exemplo de classe Final

<?php
final class ClasseBase {
   public function teste() {
       echo "Método ClasseBase::teste() chamado\n";
   }

   // Aqui não importa se você especificar a função como Final ou não
   final public function maisTeste() {
       echo "Método ClasseBase::maisTeste() chamado\n";
   }
}

class ClasseFilha extends ClasseBase {
}
// Resulta em erro Fatal: A classe ClasseFilha não pode herdar de uma classe Final (ClasseBase)
?>

Nota: Propriedades não podem ser declaradas como finais, apenas classes e métodos.


Clonando objetos

Criar uma cópia de um objeto com propriedades totalmente replicadas nem sempre é o comportamento desejado. Um bom exemplo da necessidade para cópia de construtores, e quando possuir um objeto que representa uma janela do GTK e o objeto guarda o recurso dessa janela GTK. ao criar uma duplicata, pode-se desejar a criação de uma nova janela com as mesmas propriedades e fazer o novo objeto guardar o recurso da nova janela. Outro exemplo é se seu objeto guarda uma referência a outro objeto que usa e ao replicar o objeto pai, deseja-se que seja criada uma nova instância desse outro objeto para que a réplica tenha sua própria cópia separada.

Uma cópia de objeto é criada usando a palavra-chave clone (que, se possível, chama o método __clone() do objeto). O método __clone() de um objeto não pode ser chamado diretamente.

$copia_do_objeto = clone $objeto;

Ao se clonar um objeto, o PHP 5 fará uma cópia superficial de todas as propriedades do objeto. Qualquer propriedade que seja referência a outra variável, permanecerá como referência.

__clone ( ) : void

Depois que a clonagem se completa, se um método __clone() estiver definido, o objeto recém criado terá seu método __clone() chamado, permitindo que qualquer propriedade seja alterada.

Exemplo #1 Clonando um objeto

<?php
class SubObject
{
    static $instances = 0;
    public $instance;

    public function __construct() {
        $this->instance = ++self::$instances;
    }

    public function __clone() {
        $this->instance = ++self::$instances;
    }
}

class MyCloneable
{
    public $object1;
    public $object2;

    function __clone()
    {
        // Force a copy of this->object, otherwise
        // it will point to same object.
        $this->object1 = clone $this->object1;
    }
}

$obj = new MyCloneable();

$obj->object1 = new SubObject();
$obj->object2 = new SubObject();

$obj2 = clone $obj;

print("Original Object:\n");
print_r($obj);

print("Cloned Object:\n");
print_r($obj2);

?>

O exemplo acima irá imprimir:

Original Object:
MyCloneable Object
(
    [object1] => SubObject Object
        (
            [instance] => 1
        )

    [object2] => SubObject Object
        (
            [instance] => 2
        )

)
Cloned Object:
MyCloneable Object
(
    [object1] => SubObject Object
        (
            [instance] => 3
        )

    [object2] => SubObject Object
        (
            [instance] => 2
        )

)


Comparando objetos

Ao usar o operador de comparação (==), as variáveis dos objetos são comparadas de maneira simples, nominalmente: Duas instâncias de objetos são iguais se possuem os mesmos atributos e valores, e são instâncias da mesma classe.

Ao usar o operador de identidade (===), as variáveis dos objetos serão idênticas, se e somente se, referirem a mesma instância da mesma classe.

Um exemplo evidenciará essas regras.

Exemplo #1 Exemplo de comparação de objetos no PHP 5

<?php
function bool2str($bool)
{
    if ($bool === false) {
        return 'FALSO';
    } else {
        return 'VERDADEIRO';
    }
}

function compareObjects(&$o1, &$o2)
{
    echo 'o1 == o2 : ' . bool2str($o1 == $o2) . "\n";
    echo 'o1 != o2 : ' . bool2str($o1 != $o2) . "\n";
    echo 'o1 === o2 : ' . bool2str($o1 === $o2) . "\n";
    echo 'o1 !== o2 : ' . bool2str($o1 !== $o2) . "\n";
}

class Flag
{
    public $flag;

    function Flag($flag = true) {
        $this->flag = $flag;
    }
}

class OtherFlag
{
    public $flag;

    function OtherFlag($flag = true) {
        $this->flag = $flag;
    }
}

$o = new Flag();
$p = new Flag();
$q = $o;
$r = new OtherFlag();

echo "Duas instâncias da mesma classe\n";
compareObjects($o, $p);

echo "\nDuas referências para a mesma instância\n";
compareObjects($o, $q);

echo "\nInstâncias de duas classes diferentes\n";
compareObjects($o, $r);
?>

O exemplo acima irá imprimir:

Duas instâncias da mesma classe
o1 == o2 : VERDADEIRO
o1 != o2 : FALSO
o1 === o2 : FALSO
o1 !== o2 : VERDADEIRO

Duas referências para a mesma instância
o1 == o2 : VERDADEIRO
o1 != o2 : FALSO
o1 === o2 : VERDADEIRO
o1 !== o2 : FALSO

Instâncias de duas classes diferentes
o1 == o2 : FALSO
o1 != o2 : VERDADEIRO
o1 === o2 : FALSO
o1 !== o2 : VERDADEIRO

Nota:

Extensões podem definir suas próprias regras para comparar de objetos (==).


  • « Comparando objetos
  • Late Static Bindings »
  • PHP Manual
  • Classes e Objetos
  • Type Hinting

Type Hinting

Esta documentação foi movida para a referência de funções.


Late Static Bindings

A partir do PHP 5.3.0, o PHP implementa um recurso chamado late static bindings que pode ser usado para referenciar a classe chamada no contexto de herança estática.

Mais precisamente, late static bindings funcionam através do armazenamento do nome da classe na última "chamada não encaminhadas". No caso de chamadas a métodos estáticos, é a classe explicitamente chamada (normalmente o nome a esquerda do operador ::); no caso de chamadas a métodos não estáticos, é o nome da classe do objeto. Uma "chamada encaminhada" é àquela estática, realizada pelos prefixos self::, parent::, static::, ou, se subindo na hierarquia de classes, forward_static_call(). A função get_called_class() pode ser utilizada para recuperar uma string com o nome da classe chamada e static:: introduz seu escopo.

Esse recurso foi chamado de "late static bindings" de uma perspectiva interna em mente. "Late binding" vem do fato que static:: não será resolvido usando a classe onde o método foi definido, mas computada utilizando informações em tempo de execução. É também chamado "static binding" pois pode ser utilizado em (mas não limitado a) chamadas de métodos estáticos.

Limitações do self::

Referências estáticas para a atual classe como self:: ou __CLASS__ são resolvidas usando a classe na qual a função pertence, como onde ele foi definido:

Exemplo #1 Uso do self::

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        self::who();
    }
}

class B extends A {
    public static function who() {
        echo __CLASS__;
    }
}

B::test();
?>

O exemplo acima irá imprimir:

A

Uso de Late Static Bindings

Late static bindings tenta resolver a limitação introduzindo uma palavra-chave que referencia a classe que foi inicialmente chamada em tempo de execução. Basicamente, é uma palavra-chave que permite referenciar B em test(), no exemplo anterior. Foi decidido não introduzir uma nova palavra-chave, mas usar static, já reservada.

Exemplo #2 Simples uso do static::

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        static::who(); // Here comes Late Static Bindings
    }
}

class B extends A {
    public static function who() {
         echo __CLASS__;
    }
}

B::test();
?>

O exemplo acima irá imprimir:

B

Nota:

Em contextos não estáticos a classe chamada será a classe da instância do objeto. Assim como $this-> chamará métodos privados do mesmo escopo, utilizar static:: pode ter resultados diferentes. Outra diferença é que static:: só pode referenciar propriedades estáticas.

Exemplo #3 Uso do static:: em um contexto não-estático

<?php
class A {
    private function foo() {
        echo "success!\n";
    }
    public function test() {
        $this->foo();
        static::foo();
    }
}

class B extends A {
   /* foo() será copiado para B, assim seu escopo ainda será A e
    * e a chamada funcionará */
}

class C extends A {
    private function foo() {
        /* método original foi substituído, escopo agora é C */
    }
}

$b = new B();
$b->test();
$c = new C();
$c->test();   //fails
?>

O exemplo acima irá imprimir:

success!
success!
success!

Fatal error:  Call to private method C::foo() from context 'A' in /tmp/test.php on line 9

Nota:

As resoluções de Late static bindings terminarão quando a chamada é realizada sem retorno. Por outro lado chamadas estáticas utilizando instruções como parent:: ou self:: irão repassar a informação do chamador.

Exemplo #4 Chamadas repassadas e não repassadas

<?php
class A {
    public static function foo() {
        static::who();
    }

    public static function who() {
        echo __CLASS__."\n";
    }
}

class B extends A {
    public static function test() {
        A::foo();
        parent::foo();
        self::foo();
    }

    public static function who() {
        echo __CLASS__."\n";
    }
}
class C extends B {
    public static function who() {
        echo __CLASS__."\n";
    }
}

C::test();
?>

O exemplo acima irá imprimir:

A
C
C


Objetos e Referências

Um dos pontos fortes frequentemente mencionado da POO no PHP 5, é que "objetos são passados por referências por padrão". Isto não é completamente verdade. Esta seção retifica esse pensamento comum usando alguns exemplos.

Uma referência do PHP é um sinônimo, que permite duas variáveis diferentes escreverem para o mesmo valor. A partir do PHP 5, uma variável objeto não contém mais o próprio objeto como valor. Ela contém um identificador do objeto que permite que os acessadores do objeto encontrem o objeto real. Quando um objeto é enviado por argumento, retornado ou atribuído a outra variável, as variáveis diferentes não são sinônimos: elas armazenam uma cópia do identificador, que aponta para o mesmo objeto.

Exemplo #1 Referências e Objetos

<?php
class A {
    public $foo = 1;
}

$a = new A;
$b = $a;     // $a e $b são cópias do mesmo identificador
             // ($a) = ($b) = <id>
$b->foo = 2;
echo $a->foo."\n";

$c = new A;
$d = &$c;    // $c e $d são referências
             // ($c,$d) = <id>

$d->foo = 2;
echo $c->foo."\n";

$e = new A;

function foo($obj) {
    // ($obj) = ($e) = <id>
    $obj->foo = 2;
}

foo($e);
echo $e->foo."\n";

?>

O exemplo acima irá imprimir:

2
2
2


Serialização de Objetos - objetos em sessão

A função serialize() retorna uma string contendo uma representação byte-stream de qualquer valor que pode ser armazenado pelo PHP. A função unserialize() pode utilizar essa string para recriar os valores originais da variável. Utilizar a serialização para salvar um objeto, salvará todas as variáveis de um objeto. Os métodos de um objeto não serão salvos, apenas o nome da classe.

Para deserializar um objeto com a função unserialize(), a classe deste objeto precisar estar definida. Isto é, se possuir um objeto da classe A e serializá-lo, você obterá uma string que referencia a classe A e contêm todos os valores de variáveis contidas nele. Se deseja-se deserializar este em outro arquivo, um objeto da classe A, a definição da classe A deve estar presente neste arquivo. Isso pode ser feito, por exemplo, armazenando a definição da classe A em um arquivo, e incluí-lo, fazendo uso da função spl_autoload_register().

<?php
// classa.inc:

  class A {
      public $one = 1;

      public function show_one() {
          echo $this->one;
      }
  }

// page1.php:

  include("classa.inc");

  $a = new A;
  $s = serialize($a);
  // store $s somewhere where page2.php can find it.
  file_put_contents('store', $s);

// page2.php:

  // this is needed for the unserialize to work properly.
  include("classa.inc");

  $s = file_get_contents('store');
  $a = unserialize($s);

  // now use the function show_one() of the $a object.
  $a->show_one();
?>

Se uma aplicação estiver usando sessões e usar a função session_register() para registrar objetos, estes serão serializados automaticamente ao fim de cada página PHP, e serão deserializados automaticamente em cada uma das páginas seguintes. Isso significa que estes objetos podem aparecer em qualquer uma das páginas da aplicação, já que fazem parte da sessão. Entretanto, a função session_register() foi removida no PHP 5.4.0.

É fortemente recomendado que, quando uma aplicação serializa seus objetos, para uso posterior na aplicação, esta inclua a definição da classe do objeto em questão ao longo de toda aplicação. Não fazer isso pode resultar em objetos serem deserializados sem a definição da classe, que acarretará no PHP entregar um objeto da classe __PHP_Incomplete_Class_Name, que não possui métodos, tornando o objeto inútil.

Então, se, no exemplo anterior, $a se tornou parte da sessão ao executar session_register("a"), deve-se incluir o arquivo classa.inc em todas suas páginas, e não somente em page1.php e page2.php.

Além dos conselhos acima, note que pode-se capturar os eventos de serialização e deserialização de um objeto usando os métodos __sleep() e __wakeup(). Usar o método __sleep() também lhe permitirá serializar somente subconjuntos de propriedades de um objeto.


Log de modificações da POO

As Modificações ao modelo de POO do PHP 5 são logados aqui. Descrições e outras notas sobre estes recursos são documentados na documentação da POO 5.

Versão | Descrição
5.5.0 | Adicionado: finally para manipular exceções.
5.4.0 | Adicionado: traits.
5.4.0 | Modificado: Se uma classe abstrata define uma assinatura para o construtor, agora se tornará obrigatório.
5.3.3 | Modificado: Métodos com o mesmo nome que o último elemento de uma classe com namespace não serão mais tratados como um construtor. Esta modificação não afeta classes sem namespace.
5.3.0 | Modificado: Classes que implementam interfaces com métodos que possuem valores padrões em seus protótipos, não são mais obrigadas a seguir os valores padrões das interfaces.
5.3.0 | Modificado: É possível agora referenciar classes utilizando uma variável (por exemplo, echo $classname::constant;). O valor da variável não pode ser uma palavra-chave (por exemplo, self, parent or static).
5.3.0 | Modificado: Um erro de nível E_WARNING será emitido se os métodos mágicos de sobrecarga forem declarados como estáticos. Também força a exigência da visibilidade pública.
5.3.0 | Modificado: Em versões anteriores ao PHP 5.3.0, exceções disparadas na função __autoload() não podem ser capturadas no bloco catch, e resultarão em um erro fatal. Agora, exceções lançadas na função __autoload podem ser capturadas no bloco catch, com uma condição. Se estiver disparando uma exceção customizada, a classe de customização da exceção deve estar disponível. A função __autoload pode ser usado recursivamente para carregar automaticamente a classe de customização de exceção.
5.3.0 | Adicionado: O método __callStatic.
5.3.0 | Adicionado: Suporte ao heredoc e nowdoc nas definições de constantes e propriedades. Nota: valores heredoc devem seguir a mesma regra que strings com aspas duplas (e.g., sem variáveis dentro).
5.3.0 | Adicionado: Late Static Bindings.
5.3.0 | Adicionado: O método __invoke().
5.2.0 | Modificado: O método __toString() era chamado somente quando combinada diretamente com echo or print. Agora, é chamado em qualquer contexto de string (isto é, na função ) printf() com o modificador %s) Desde o PHP 5.2.0, converter objetos que não possuem o método __toString para string emitirá um erro de nível E_RECOVERABLE_ERROR.
5.1.3 | Modificado: Em versões anteriores do PHP 5, o uso de var era considerado obsoleto e emitirá um erro de nível E_STRICT. Não é mais obsoleto, portanto não emite o erro.
5.1.0 | Modificado: O método estático __set_state() agora é chamado por classes exportadas com a função var_export().
5.1.0 | Adicionado: Os métodos __isset() e __unset().


Namespaces

Índice

  • Namespaces overview
  • Defining namespaces
  • Declaring sub-namespaces
  • Defining multiple namespaces in the same file
  • Using namespaces: Basics
  • Namespaces and dynamic language features
  • namespace keyword and __NAMESPACE__ constant
  • Using namespaces: Aliasing/Importing
  • Global space
  • Using namespaces: fallback to global function/constant
  • Name resolution rules
  • FAQ: things you need to know about namespaces


Namespaces overview

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

What are namespaces? In the broadest definition namespaces are a way of encapsulating items. This can be seen as an abstract concept in many places. For example, in any operating system directories serve to group related files, and act as a namespace for the files within them. As a concrete example, the file foo.txt can exist in both directory /home/greg and in /home/other, but two copies of foo.txt cannot co-exist in the same directory. In addition, to access the foo.txt file outside of the /home/greg directory, we must prepend the directory name to the file name using the directory separator to get /home/greg/foo.txt. This same principle extends to namespaces in the programming world.

In the PHP world, namespaces are designed to solve two problems that authors of libraries and applications encounter when creating re-usable code elements such as classes or functions:

  1. Name collisions between code you create, and internal PHP classes/functions/constants or third-party classes/functions/constants.
  2. Ability to alias (or shorten) Extra_Long_Names designed to alleviate the first problem, improving readability of source code.

PHP Namespaces provide a way in which to group related classes, interfaces, functions and constants. Here is an example of namespace syntax in PHP:

Exemplo #1 Namespace syntax example

<?php
namespace my\name; // see "Defining Namespaces" section

class MyClass {}
function myfunction() {}
const MYCONST = 1;

$a = new MyClass;
$c = new \my\name\MyClass; // see "Global Space" section

$a = strlen('hi'); // see "Using namespaces: fallback to global
                   // function/constant" section

$d = namespace\MYCONST; // see "namespace operator and __NAMESPACE__
                        // constant" section
$d = __NAMESPACE__ . '\MYCONST';
echo constant($d); // see "Namespaces and dynamic language features" section
?>

Nota: Namespace names are case-insensitive.

Nota:

The Namespace name PHP, and compound names starting with this name (like PHP\Classes) are reserved for internal language use and should not be used in the userspace code.


Defining namespaces

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Although any valid PHP code can be contained within a namespace, only the following types of code are affected by namespaces: classes (including abstracts and traits), interfaces, functions and constants.

Namespaces are declared using the namespace keyword. A file containing a namespace must declare the namespace at the top of the file before any other code - with one exception: the declare keyword.

Exemplo #1 Declaring a single namespace

<?php
namespace MyProject;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */ }

?>

Nota: Fully qualified names (i.e. names starting with a backslash) are not allowed in namespace declarations, because such constructs are interpreted as relative namespace expressions.

The only code construct allowed before a namespace declaration is the declare statement, for defining encoding of a source file. In addition, no non-PHP code may precede a namespace declaration, including extra whitespace:

Exemplo #2 Declaring a single namespace

<html>
<?php
namespace MyProject; // fatal error - namespace must be the first statement in the script
?>

In addition, unlike any other PHP construct, the same namespace may be defined in multiple files, allowing splitting up of a namespace's contents across the filesystem.


Declaring sub-namespaces

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Much like directories and files, PHP namespaces also contain the ability to specify a hierarchy of namespace names. Thus, a namespace name can be defined with sub-levels:

Exemplo #1 Declaring a single namespace with hierarchy

<?php
namespace MyProject\Sub\Level;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }

?>
The above example creates constant MyProject\Sub\Level\CONNECT_OK, class MyProject\Sub\Level\Connection and function MyProject\Sub\Level\connect.


Defining multiple namespaces in the same file

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Multiple namespaces may also be declared in the same file. There are two allowed syntaxes.

Exemplo #1 Declaring multiple namespaces, simple combination syntax

<?php
namespace MyProject;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }

namespace AnotherProject;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
?>

This syntax is not recommended for combining namespaces into a single file. Instead it is recommended to use the alternate bracketed syntax.

Exemplo #2 Declaring multiple namespaces, bracketed syntax

<?php
namespace MyProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}

namespace AnotherProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}
?>

It is strongly discouraged as a coding practice to combine multiple namespaces into the same file. The primary use case is to combine multiple PHP scripts into the same file.

To combine global non-namespaced code with namespaced code, only bracketed syntax is supported. Global code should be encased in a namespace statement with no namespace name as in:

Exemplo #3 Declaring multiple namespaces and unnamespaced code

<?php
namespace MyProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}

namespace { // global code
session_start();
$a = MyProject\connect();
echo MyProject\Connection::start();
}
?>

No PHP code may exist outside of the namespace brackets except for an opening declare statement.

Exemplo #4 Declaring multiple namespaces and unnamespaced code

<?php
declare(encoding='UTF-8');
namespace MyProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}

namespace { // global code
session_start();
$a = MyProject\connect();
echo MyProject\Connection::start();
}
?>


Using namespaces: Basics

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Before discussing the use of namespaces, it is important to understand how PHP knows which namespaced element your code is requesting. A simple analogy can be made between PHP namespaces and a filesystem. There are three ways to access a file in a file system:

  1. Relative file name like foo.txt. This resolves to currentdirectory/foo.txt where currentdirectory is the directory currently occupied. So if the current directory is /home/foo, the name resolves to /home/foo/foo.txt.
  2. Relative path name like subdirectory/foo.txt. This resolves to currentdirectory/subdirectory/foo.txt.
  3. Absolute path name like /main/foo.txt. This resolves to /main/foo.txt.
The same principle can be applied to namespaced elements in PHP. For example, a class name can be referred to in three ways:
  1. Unqualified name, or an unprefixed class name like $a = new foo(); or foo::staticmethod();. If the current namespace is currentnamespace, this resolves to currentnamespace\foo. If the code is global, non-namespaced code, this resolves to foo. One caveat: unqualified names for functions and constants will resolve to global functions and constants if the namespaced function or constant is not defined. See Using namespaces: fallback to global function/constant for details.
  2. Qualified name, or a prefixed class name like $a = new subnamespace\foo(); or subnamespace\foo::staticmethod();. If the current namespace is currentnamespace, this resolves to currentnamespace\subnamespace\foo. If the code is global, non-namespaced code, this resolves to subnamespace\foo.
  3. Fully qualified name, or a prefixed name with global prefix operator like $a = new \currentnamespace\foo(); or \currentnamespace\foo::staticmethod();. This always resolves to the literal name specified in the code, currentnamespace\foo.

Here is an example of the three kinds of syntax in actual code:

file1.php

<?php
namespace Foo\Bar\subnamespace;

const FOO = 1;
function foo() {}
class foo
{
    static function staticmethod() {}
}
?>

file2.php

<?php
namespace Foo\Bar;
include 'file1.php';

const FOO = 2;
function foo() {}
class foo
{
    static function staticmethod() {}
}

/* Unqualified name */
foo(); // resolves to function Foo\Bar\foo
foo::staticmethod(); // resolves to class Foo\Bar\foo, method staticmethod
echo FOO; // resolves to constant Foo\Bar\FOO

/* Qualified name */
subnamespace\foo(); // resolves to function Foo\Bar\subnamespace\foo
subnamespace\foo::staticmethod(); // resolves to class Foo\Bar\subnamespace\foo,
                                  // method staticmethod
echo subnamespace\FOO; // resolves to constant Foo\Bar\subnamespace\FOO

/* Fully qualified name */
\Foo\Bar\foo(); // resolves to function Foo\Bar\foo
\Foo\Bar\foo::staticmethod(); // resolves to class Foo\Bar\foo, method staticmethod
echo \Foo\Bar\FOO; // resolves to constant Foo\Bar\FOO
?>

Note that to access any global class, function or constant, a fully qualified name can be used, such as \strlen() or \Exception or \INI_ALL.

Exemplo #1 Accessing global classes, functions and constants from within a namespace

<?php
namespace Foo;

function strlen() {}
const INI_ALL = 3;
class Exception {}

$a = \strlen('hi'); // calls global function strlen
$b = \INI_ALL; // accesses global constant INI_ALL
$c = new \Exception('error'); // instantiates global class Exception
?>


Namespaces and dynamic language features

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

PHP's implementation of namespaces is influenced by its dynamic nature as a programming language. Thus, to convert code like the following example into namespaced code:

Exemplo #1 Dynamically accessing elements

example1.php:

<?php
class classname
{
    function __construct()
    {
        echo __METHOD__,"\n";
    }
}
function funcname()
{
    echo __FUNCTION__,"\n";
}
const constname = "global";

$a = 'classname';
$obj = new $a; // prints classname::__construct
$b = 'funcname';
$b(); // prints funcname
echo constant('constname'), "\n"; // prints global
?>
One must use the fully qualified name (class name with namespace prefix). Note that because there is no difference between a qualified and a fully qualified Name inside a dynamic class name, function name, or constant name, the leading backslash is not necessary.

Exemplo #2 Dynamically accessing namespaced elements

<?php
namespace namespacename;
class classname
{
    function __construct()
    {
        echo __METHOD__,"\n";
    }
}
function funcname()
{
    echo __FUNCTION__,"\n";
}
const constname = "namespaced";

/* note that if using double quotes, "\\namespacename\\classname" must be used */
$a = '\namespacename\classname';
$obj = new $a; // prints namespacename\classname::__construct
$a = 'namespacename\classname';
$obj = new $a; // also prints namespacename\classname::__construct
$b = 'namespacename\funcname';
$b(); // prints namespacename\funcname
$b = '\namespacename\funcname';
$b(); // also prints namespacename\funcname
echo constant('\namespacename\constname'), "\n"; // prints namespaced
echo constant('namespacename\constname'), "\n"; // also prints namespaced
?>

Be sure to read the note about escaping namespace names in strings.


namespace keyword and __NAMESPACE__ constant

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

PHP supports two ways of abstractly accessing elements within the current namespace, the __NAMESPACE__ magic constant, and the namespace keyword.

The value of __NAMESPACE__ is a string that contains the current namespace name. In global, un-namespaced code, it contains an empty string.

Exemplo #1 __NAMESPACE__ example, namespaced code

<?php
namespace MyProject;

echo '"', __NAMESPACE__, '"'; // outputs "MyProject"
?>

Exemplo #2 __NAMESPACE__ example, global code

<?php

echo '"', __NAMESPACE__, '"'; // outputs ""
?>
The __NAMESPACE__ constant is useful for dynamically constructing names, for instance:

Exemplo #3 using __NAMESPACE__ for dynamic name construction

<?php
namespace MyProject;

function get($classname)
{
    $a = __NAMESPACE__ . '\\' . $classname;
    return new $a;
}
?>

The namespace keyword can be used to explicitly request an element from the current namespace or a sub-namespace. It is the namespace equivalent of the self operator for classes.

Exemplo #4 the namespace operator, inside a namespace

<?php
namespace MyProject;

use blah\blah as mine; // see "Using namespaces: Aliasing/Importing"

blah\mine(); // calls function MyProject\blah\mine()
namespace\blah\mine(); // calls function MyProject\blah\mine()

namespace\func(); // calls function MyProject\func()
namespace\sub\func(); // calls function MyProject\sub\func()
namespace\cname::method(); // calls static method "method" of class MyProject\cname
$a = new namespace\sub\cname(); // instantiates object of class MyProject\sub\cname
$b = namespace\CONSTANT; // assigns value of constant MyProject\CONSTANT to $b
?>

Exemplo #5 the namespace operator, in global code

<?php

namespace\func(); // calls function func()
namespace\sub\func(); // calls function sub\func()
namespace\cname::method(); // calls static method "method" of class cname
$a = new namespace\sub\cname(); // instantiates object of class sub\cname
$b = namespace\CONSTANT; // assigns value of constant CONSTANT to $b
?>


Using namespaces: Aliasing/Importing

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

The ability to refer to an external fully qualified name with an alias, or importing, is an important feature of namespaces. This is similar to the ability of unix-based filesystems to create symbolic links to a file or to a directory.

PHP can alias(/import) constants, functions, classes, interfaces, and namespaces.

Aliasing is accomplished with the use operator. Here is an example showing all 5 kinds of importing:

Exemplo #1 importing/aliasing with the use operator

<?php
namespace foo;
use My\Full\Classname as Another;

// this is the same as use My\Full\NSname as NSname
use My\Full\NSname;

// importing a global class
use ArrayObject;

// importing a function
use function My\Full\functionName;

// aliasing a function
use function My\Full\functionName as func;

// importing a constant
use const My\Full\CONSTANT;

$obj = new namespace\Another; // instantiates object of class foo\Another
$obj = new Another; // instantiates object of class My\Full\Classname
NSname\subns\func(); // calls function My\Full\NSname\subns\func
$a = new ArrayObject(array(1)); // instantiates object of class ArrayObject
// without the "use ArrayObject" we would instantiate an object of class foo\ArrayObject
func(); // calls function My\Full\functionName
echo CONSTANT; // echoes the value of My\Full\CONSTANT
?>
Note that for namespaced names (fully qualified namespace names containing namespace separator, such as Foo\Bar as opposed to global names that do not, such as FooBar), the leading backslash is unnecessary and not recommended, as import names must be fully qualified, and are not processed relative to the current namespace.

PHP additionally supports a convenience shortcut to place multiple use statements on the same line

Exemplo #2 importing/aliasing with the use operator, multiple use statements combined

<?php
use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // instantiates object of class My\Full\Classname
NSname\subns\func(); // calls function My\Full\NSname\subns\func
?>

Importing is performed at compile-time, and so does not affect dynamic class, function or constant names.

Exemplo #3 Importing and dynamic names

<?php
use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // instantiates object of class My\Full\Classname
$a = 'Another';
$obj = new $a;      // instantiates object of class Another
?>

In addition, importing only affects unqualified and qualified names. Fully qualified names are absolute, and unaffected by imports.

Exemplo #4 Importing and fully qualified names

<?php
use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // instantiates object of class My\Full\Classname
$obj = new \Another; // instantiates object of class Another
$obj = new Another\thing; // instantiates object of class My\Full\Classname\thing
$obj = new \Another\thing; // instantiates object of class Another\thing
?>

Scoping rules for importing

The use keyword must be declared in the outermost scope of a file (the global scope) or inside namespace declarations. This is because the importing is done at compile time and not runtime, so it cannot be block scoped. The following example will show an illegal use of the use keyword:

Exemplo #5 Illegal importing rule

<?php
namespace Languages;

function toGreenlandic()
{
    use Languages\Danish;

    // ...
}
?>

Nota:

Importing rules are per file basis, meaning included files will NOT inherit the parent file's importing rules.

Group use declarations

Classes, functions and constants being imported from the same namespace can be grouped together in a single use statement.

<?php

use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;

use function some\namespace\fn_a;
use function some\namespace\fn_b;
use function some\namespace\fn_c;

use const some\namespace\ConstA;
use const some\namespace\ConstB;
use const some\namespace\ConstC;

// is equivalent to the following groupped use declaration
use some\namespace\{ClassA, ClassB, ClassC as C};
use function some\namespace\{fn_a, fn_b, fn_c};
use const some\namespace\{ConstA, ConstB, ConstC};


Global space

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Without any namespace definition, all class and function definitions are placed into the global space - as it was in PHP before namespaces were supported. Prefixing a name with \ will specify that the name is required from the global space even in the context of the namespace.

Exemplo #1 Using global space specification

<?php
namespace A\B\C;

/* This function is A\B\C\fopen */
function fopen() {
     /* ... */
     $f = \fopen(...); // call global fopen
     return $f;
}
?>


Using namespaces: fallback to global function/constant

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Inside a namespace, when PHP encounters an unqualified Name in a class name, function or constant context, it resolves these with different priorities. Class names always resolve to the current namespace name. Thus to access internal or non-namespaced user classes, one must refer to them with their fully qualified Name as in:

Exemplo #1 Accessing global classes inside a namespace

<?php
namespace A\B\C;
class Exception extends \Exception {}

$a = new Exception('hi'); // $a is an object of class A\B\C\Exception
$b = new \Exception('hi'); // $b is an object of class Exception

$c = new ArrayObject; // fatal error, class A\B\C\ArrayObject not found
?>

For functions and constants, PHP will fall back to global functions or constants if a namespaced function or constant does not exist.

Exemplo #2 global functions/constants fallback inside a namespace

<?php
namespace A\B\C;

const E_ERROR = 45;
function strlen($str)
{
    return \strlen($str) - 1;
}

echo E_ERROR, "\n"; // prints "45"
echo INI_ALL, "\n"; // prints "7" - falls back to global INI_ALL

echo strlen('hi'), "\n"; // prints "1"
if (is_array('hi')) { // prints "is not array"
    echo "is array\n";
} else {
    echo "is not array\n";
}
?>


Name resolution rules

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

For the purposes of these resolution rules, here are some important definitions:

Namespace name definitions
Unqualified name

This is an identifier without a namespace separator, such as Foo

Qualified name

This is an identifier with a namespace separator, such as Foo\Bar

Fully qualified name

This is an identifier with a namespace separator that begins with a namespace separator, such as \Foo\Bar. The namespace \Foo is also a fully qualified name.

Relative name

This is an identifier starting with namespace, such as namespace\Foo\Bar.

Names are resolved following these resolution rules:

  1. Fully qualified names always resolve to the name without leading namespace separator. For instance \A\B resolves to A\B.
  2. Relative names always resolve to the name with namespace replaced by the current namespace. If the name occurs in the global namespace, the namespace\ prefix is stripped. For example namespace\A inside namespace X\Y resolves to X\Y\A. The same name inside the global namespace resolves to A.
  3. For qualified names the first segment of the name is translated according to the current class/namespace import table. For example, if the namespace A\B\C is imported as C, the name C\D\E is translated to A\B\C\D\E.
  4. For qualified names, if no import rule applies, the current namespace is prepended to the name. For example, the name C\D\E inside namespace A\B, resolves to A\B\C\D\E.
  5. For unqualified names, the name is translated according to the current import table for the respective symbol type. This means that class-like names are translated according to the class/namespace import table, function names according to the function import table and constants according to the constant import table. For example, after use A\B\C; a usage such as new C() resolves to the name A\B\C(). Similarly, after use function A\B\fn; a usage such as fn() resolves to the name A\B\fn.
  6. For unqualified names, if no import rule applies and the name refers to a class-like symbol, the current namespace is prepended. For example new C() inside namespace A\B resolves to name A\B\C.
  7. For unqualified names, if no import rule applies and the name refers to a function or constant and the code is outside the global namespace, the name is resolved at runtime. Assuming the code is in namespace A\B, here is how a call to function foo() is resolved:
    1. It looks for a function from the current namespace: A\B\foo().
    2. It tries to find and call the global function foo().

Exemplo #1 Name resolutions illustrated

<?php
namespace A;
use B\D, C\E as F;

// function calls

foo();      // first tries to call "foo" defined in namespace "A"
            // then calls global function "foo"

\foo();     // calls function "foo" defined in global scope

my\foo();   // calls function "foo" defined in namespace "A\my"

F();        // first tries to call "F" defined in namespace "A"
            // then calls global function "F"

// class references

new B();    // creates object of class "B" defined in namespace "A"
            // if not found, it tries to autoload class "A\B"

new D();    // using import rules, creates object of class "D" defined in namespace "B"
            // if not found, it tries to autoload class "B\D"

new F();    // using import rules, creates object of class "E" defined in namespace "C"
            // if not found, it tries to autoload class "C\E"

new \B();   // creates object of class "B" defined in global scope
            // if not found, it tries to autoload class "B"

new \D();   // creates object of class "D" defined in global scope
            // if not found, it tries to autoload class "D"

new \F();   // creates object of class "F" defined in global scope
            // if not found, it tries to autoload class "F"

// static methods/namespace functions from another namespace

B\foo();    // calls function "foo" from namespace "A\B"

B::foo();   // calls method "foo" of class "B" defined in namespace "A"
            // if class "A\B" not found, it tries to autoload class "A\B"

D::foo();   // using import rules, calls method "foo" of class "D" defined in namespace "B"
            // if class "B\D" not found, it tries to autoload class "B\D"

\B\foo();   // calls function "foo" from namespace "B"

\B::foo();  // calls method "foo" of class "B" from global scope
            // if class "B" not found, it tries to autoload class "B"

// static methods/namespace functions of current namespace

A\B::foo();   // calls method "foo" of class "B" from namespace "A\A"
              // if class "A\A\B" not found, it tries to autoload class "A\A\B"

\A\B::foo();  // calls method "foo" of class "B" from namespace "A"
              // if class "A\B" not found, it tries to autoload class "A\B"
?>


FAQ: things you need to know about namespaces

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

This FAQ is split into two sections: common questions, and some specifics of implementation that are helpful to understand fully.

First, the common questions.

  1. If I don't use namespaces, should I care about any of this?
  2. How do I use internal or global classes in a namespace?
  3. How do I use namespaces classes functions, or constants in their own namespace?
  4. How does a name like \my\name or \name resolve?
  5. How does a name like my\name resolve?
  6. How does an unqualified class name like name resolve?
  7. How does an unqualified function name or unqualified constant name like name resolve?

There are a few implementation details of the namespace implementations that are helpful to understand.

  1. Import names must not conflict with classes defined in the same file.
  2. Nested namespaces are not allowed.
  3. Dynamic namespace names (quoted identifiers) should escape backslash.
  4. Undefined Constants referenced using any backslash die with fatal error
  5. Cannot override special constants NULL, TRUE, FALSE, ZEND_THREAD_SAFE or ZEND_DEBUG_BUILD

If I don't use namespaces, should I care about any of this?

No. Namespaces do not affect any existing code in any way, or any as-yet-to-be-written code that does not contain namespaces. You can write this code if you wish:

Exemplo #1 Accessing global classes outside a namespace

<?php
$a = new \stdClass;
?>

This is functionally equivalent to:

Exemplo #2 Accessing global classes outside a namespace

<?php
$a = new stdClass;
?>

How do I use internal or global classes in a namespace?

Exemplo #3 Accessing internal classes in namespaces

<?php
namespace foo;
$a = new \stdClass;

function test(\ArrayObject $typehintexample = null) {}

$a = \DirectoryIterator::CURRENT_AS_FILEINFO;

// extending an internal or global class
class MyException extends \Exception {}
?>

How do I use namespaces classes, functions, or constants in their own namespace?

Exemplo #4 Accessing internal classes, functions or constants in namespaces

<?php
namespace foo;

class MyClass {}

// using a class from the current namespace as a type hint
function test(MyClass $typehintexample = null) {}
// another way to use a class from the current namespace as a type hint
function test(\foo\MyClass $typehintexample = null) {}

// extending a class from the current namespace
class Extended extends MyClass {}

// accessing a global function
$a = \globalfunc();

// accessing a global constant
$b = \INI_ALL;
?>

How does a name like \my\name or \name resolve?

Names that begin with a \ always resolve to what they look like, so \my\name is in fact my\name, and \Exception is Exception.

Exemplo #5 Fully Qualified names

<?php
namespace foo;
$a = new \my\name(); // instantiates "my\name" class
echo \strlen('hi'); // calls function "strlen"
$a = \INI_ALL; // $a is set to the value of constant "INI_ALL"
?>

How does a name like my\name resolve?

Names that contain a backslash but do not begin with a backslash like my\name can be resolved in 2 different ways.

If there is an import statement that aliases another name to my, then the import alias is applied to the my in my\name.

Otherwise, the current namespace name is prepended to my\name.

Exemplo #6 Qualified names

<?php
namespace foo;
use blah\blah as foo;

$a = new my\name(); // instantiates "foo\my\name" class
foo\bar::name(); // calls static method "name" in class "blah\blah\bar"
my\bar(); // calls function "foo\my\bar"
$a = my\BAR; // sets $a to the value of constant "foo\my\BAR"
?>

How does an unqualified class name like name resolve?

Class names that do not contain a backslash like name can be resolved in 2 different ways.

If there is an import statement that aliases another name to name, then the import alias is applied.

Otherwise, the current namespace name is prepended to name.

Exemplo #7 Unqualified class names

<?php
namespace foo;
use blah\blah as foo;

$a = new name(); // instantiates "foo\name" class
foo::name(); // calls static method "name" in class "blah\blah"
?>

How does an unqualified function name or unqualified constant name like name resolve?

Function or constant names that do not contain a backslash like name can be resolved in 2 different ways.

First, the current namespace name is prepended to name.

Finally, if the constant or function name does not exist in the current namespace, a global constant or function name is used if it exists.

Exemplo #8 Unqualified function or constant names

<?php
namespace foo;
use blah\blah as foo;

const FOO = 1;

function my() {}
function foo() {}
function sort(&$a)
{
    \sort($a); // calls the global function "sort"
    $a = array_flip($a);
    return $a;
}

my(); // calls "foo\my"
$a = strlen('hi'); // calls global function "strlen" because "foo\strlen" does not exist
$arr = array(1,3,2);
$b = sort($arr); // calls function "foo\sort"
$c = foo(); // calls function "foo\foo" - import is not applied

$a = FOO; // sets $a to value of constant "foo\FOO" - import is not applied
$b = INI_ALL; // sets $b to value of global constant "INI_ALL"
?>

Import names must not conflict with classes defined in the same file.

The following script combinations are legal:

file1.php

<?php
namespace my\stuff;
class MyClass {}
?>

another.php

<?php
namespace another;
class thing {}
?>

file2.php

<?php
namespace my\stuff;
include 'file1.php';
include 'another.php';

use another\thing as MyClass;
$a = new MyClass; // instantiates class "thing" from namespace another
?>

There is no name conflict, even though the class MyClass exists within the my\stuff namespace, because the MyClass definition is in a separate file. However, the next example causes a fatal error on name conflict because MyClass is defined in the same file as the use statement.

<?php
namespace my\stuff;
use another\thing as MyClass;
class MyClass {} // fatal error: MyClass conflicts with import statement
$a = new MyClass;
?>

Nested namespaces are not allowed.

PHP does not allow nesting namespaces

<?php
namespace my\stuff {
    namespace nested {
        class foo {}
    }
}
?>
However, it is easy to simulate nested namespaces like so:
<?php
namespace my\stuff\nested {
    class foo {}
}
?>

Dynamic namespace names (quoted identifiers) should escape backslash

It is very important to realize that because the backslash is used as an escape character within strings, it should always be doubled when used inside a string. Otherwise there is a risk of unintended consequences:

Exemplo #9 Dangers of using namespaced names inside a double-quoted string

<?php
$a = "dangerous\name"; // \n is a newline inside double quoted strings!
$obj = new $a;

$a = 'not\at\all\dangerous'; // no problems here.
$obj = new $a;
?>
Inside a single-quoted string, the backslash escape sequence is much safer to use, but it is still recommended practice to escape backslashes in all strings as a best practice.

Undefined Constants referenced using any backslash die with fatal error

Any undefined constant that is unqualified like FOO will produce a notice explaining that PHP assumed FOO was the value of the constant. Any constant, qualified or fully qualified, that contains a backslash will produce a fatal error if not found.

Exemplo #10 Undefined constants

<?php
namespace bar;
$a = FOO; // produces notice - undefined constants "FOO" assumed "FOO";
$a = \FOO; // fatal error, undefined namespace constant FOO
$a = Bar\FOO; // fatal error, undefined namespace constant bar\Bar\FOO
$a = \Bar\FOO; // fatal error, undefined namespace constant Bar\FOO
?>

Cannot override special constants NULL, TRUE, FALSE, ZEND_THREAD_SAFE or ZEND_DEBUG_BUILD

Any attempt to define a namespaced constant that is a special, built-in constant results in a fatal error

Exemplo #11 Undefined constants

<?php
namespace bar;
const NULL = 0; // fatal error;
const true = 'stupid'; // also fatal error;
// etc.
?>


Erros

Índice

  • Básico
  • Erros no PHP 7

Introdução

Infelizmente, não importa quão cuidosos somos escrevendo nossos códigos, erros são fatos da vida. O PHP reportará erros, advertências e avisos para muitos problemas comuns de codificação e problemas em tempo de execução, e saber como detectar e manusear estes erros farão o processo de depuração muito mais fácil.


Básico

O PHP retornará erros em resposta a inúmeras condições de erros internos. Pode ser utilizado para sinalizar inúmeras condições diferentes, impress e/ou logado, se necessário.

Cada erro que o PHP gera inclui um tipo. A lista destes erros está disponível, junto a uma breve descrição de seu comportamento e como podem ser causados.

Manuseando erros com o PHP

Se nenhum manipulador de erro for definido, o PHP tratará todos os que ocorrerem de acordo com sua configuração. Quais erros são reportados, e quais são ignorados é controlado pela diretiva error_reporting no php.ini, ou em tempo de execução, chamando a função error_reporting(). É altamente recomendável que esta diretiva de configuração seja definida, entretanto, alguns erros podem ocorrer antes da execução do script começar.

Em um ambiente de desenvolvimento, deve-se sempre definir a diretiva error_reporting para E_ALL, para estar ciente, e corrigir, problemas informados pelo PHP. Em produção, deve-se definir para um nível menos verboso, como E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED, mas em muitos casos E_ALL também é apropriado, pois pode antecipar avisos de problemas em potencial.

O que o PHP faz com estes erros depende de mais duas diretivas no php.ini. A diretiva display_errors controla se o erro será mostrado como parte da saída do script. Esta diretiva deve sempre estar desativada no ambiente de produção, já que pode incluir informações confidenciais como senhas do banco de dados, mas é útil habilitá-la em desenvolvimento, já que garante o reporte imediato de problemas.

Além de mostrar os erros, o PHP pode logar erros quando a diretiva log_errors estiver habilitada. Isso logará qualquer erro para um arquivo ou para o syslog definido com a diretiva error_log. Pode ser extremamente útil no ambiente de produção, já que pode-se logar os erros que ocorrerem e então gerar relatórios baseados nestes erros.

Manipuladores de erros personalizados

Se o manipulador de erros padrão do PHP for inadequado, pode-se manipular diversos tipos de erro com manipuladores de erros próprios ao instalá-los com a função set_error_handler(). Embora alguns tipos de erros não possam ser manipulados desta maneira, aqueles que puderem, serão manipulados da forma que o script decidir: por exemplo, pode ser utilizado para exibir uma página de erro customizada ao usuário e reportar mais precisamente que por log, como enviando um e-mail.


Erros no PHP 7

O PHP 7 modificou como a maioria dos erros são reportados pelo PHP. Em vez de reportá-los através do mecanismo tradicional de reporte de erros utilizado pelo PHP 5, a maioria dos erros, agora são reportados lançando exceções Error

Assim como exceções normais, as exceções Error serão elevadas até alcançarem o primeiro bloco catch correspondente. Se não existir nenhum bloco correspondente, qualquer manipulador de exceção padrão instalado com a função set_exception_handler() será chamado, e se não existir nenhum manipulador padrão de exceção, a exceção será convertida em um erro fatal e tratada como um erro tradicional.

Já que a hierarquia de Error não herda de Exception, códigos que utilizam blocos catch (Exception $e) { ... } para manipular exceções que não foram capturadas no PHP 5, descobrirão que estes Errors não são capturados por estes blocos. Um bloco catch (Error $e) { ... }, ou um manipulador definido com a função set_exception_handler() será necessário.

Hierarquia Error

  • Throwable
    • Error
      • ArithmeticError
        • DivisionByZeroError
      • AssertionError
      • CompileError
        • ParseError
      • TypeError
        • ArgumentCountError
    • Exception
      • ...


Exceções

Índice

  • Estendendo exceções

O PHP possui um modelo de exceções similar ao de outras linguagens de programação. Uma exceção pode ser lançada (throw) e capturada (catch). Código pode ser envolvido por um bloco try para facilitar a captura de exceções potenciais. Cada bloco try precisa ter ao menos um bloco catch ou finally correspondente.

O objeto lançado precisa ser uma instância da classe Exception ou uma subclasse de Exception. Tentar lançar um objeto sem essa ascendência resultará em um erro fatal.

catch

Múltiplos blocos catch podem ser utilizados para capturar exceções diferentes. A execução normal (quando nenhuma exceção é lançada dentro de um try) irão continuar a execução após o último catch definido em sequência. Exceções podem ser lançadas (ou relançadas) dentro um bloco catch.

Quando uma exceção é lançada o código seguinte não é executado, e o PHP tentará encontrar o primeiro bloco catch coincidente. Se uma exceção não for capturada, um erro PHP fatal será lançado com a mensagem "Uncaught Exception ..." na ausência de uma função definida com set_exception_handler().

A partir do PHP 7.1 um bloco catch pode especificar múltiplas exceções usando o caractere pipe (|). Isto é útil quando diferentes exceções de diferentes hierarquias de classes são tratadas da mesma forma.

finally

A partir do PHP 5.5, um bloco finally pode ser especificado após ou no lugar de blocos catch. Códigos dentro de finally sempre serão executados depois do try ou catch, independente se houve o lançamento de uma exceção, e antes que a execução normal continue.

Notas

Nota:

Funções internas ao PHP utilizam principalmente aviso de erros. Apenas extensões orientadas a objetos utilizam exceções. No entanto os erros podem ser transformados em exceções com ErrorException.

Dica

A biblioteca padrão do PHP (SPL) fornece várias exceções nativas.

Exemplos

Exemplo #3 Lançando uma exceção

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception('Divisão por zero.');
    }
    return 1/$x;
}

try {
    echo inverse(5) . "\n";
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 'Exceção capturada: ',  $e->getMessage(), "\n";
}

// Execução continua
echo "Olá mundo\n";
?>

O exemplo acima irá imprimir:

0.2
Exceção capturada: Divisão por zero.
Olá mundo

Exemplo #4 Manipulação de exceções com bloco finally

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception('Divisão por zero.');
    }
    return 1/$x;
}

try {
    echo inverse(5) . "\n";
} catch (Exception $e) {
    echo 'Exceção capturada: ',  $e->getMessage(), "\n";
} finally {
    echo "Primeiro finaly.\n";
}

try {
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 'Exceção capturada: ',  $e->getMessage(), "\n";
} finally {
    echo "Segundo finally.\n";
}

// Execução continua
echo "Olá mundo\n";
?>

O exemplo acima irá imprimir:

0.2
Primeiro finally.
Exceção capturada: Divisão por zero.
Segundo finally.
Olá mundo

Exemplo #5 Exceções empilhadas

<?php

class MyException extends Exception { }

class Test {
    public function testing() {
        try {
            try {
                throw new MyException('foo!');
            } catch (MyException $e) {
                // rethrow it
                throw $e;
            }
        } catch (Exception $e) {
            var_dump($e->getMessage());
        }
    }
}

$foo = new Test;
$foo->testing();

?>

O exemplo acima irá imprimir:

string(4) "foo!"

Exemplo #6 Manipulação de múltiplas exceções no mesmo bloco catch

<?php

class MyException extends Exception { }

class MyOtherException extends Exception { }

class Test {
    public function testing() {
        try {
            throw new MyException();
        } catch (MyException | MyOtherException $e) {
            var_dump(get_class($e));
        }
    }
}

$foo = new Test;
$foo->testing();

?>

O exemplo acima irá imprimir:

string(11) "MyException"


Estendendo exceções

Uma classe de exceção definida pelo usuário pode ser criada herdando a classe Exception. Os membros e propriedades abaixo mostram o que é acessível a partir da classe filha que deriva da Exception.

Exemplo #1 A classe nativa Exception

<?php
class Exception extends Throwable
{
    protected $message = 'Unknown exception';   // Mensagem da exceção
    private   $string;                          // Cache __toString
    protected $code = 0;                        // Código definido pelo usuário
    protected $file;                            // Nome do arquivo onde a exceção originou
    protected $line;                            // Número da linha onde a exceção originou
    private   $trace;                           // Backtrace
    private   $previous;                        // Exceção anterior (se exceção empilhada)

    public function __construct($message = null, $code = 0, Exception $previous = null);

    final private function __clone();           // Inibe a clonagem de exceções

    final public  function getMessage();        // Mensagem da exceção
    final public  function getCode();           // Código definido pelo usuário
    final public  function getFile();           // Nome do arquivo onde a exceção originou
    final public  function getLine();           // Número da linha onde a exceção originou
    final public  function getTrace();          // Um array do backtrace()
    final public  function getPrevious();       // Exceção anterior
    final public  function getTraceAsString();  // Backtrace formatado como string

    // Pode ser sobrescrito
    public function __toString();               // String formatada da exceção
}
?>

Se uma classe estender a classe Exception e redefinir o constructor, então é altamente recomendável que também seja chamado o parent::__construct() para garantir que todos os dados estejam corretamente informados. O método __toString() pode ser sobrescrito para fornecer uma representação customizada do objeto quando utilizado como string.

Nota:

Exceções não podem ser clonadas. Tentativas de clonar um Exception resultarão em erros E_ERROR fatais.

Exemplo #2 Estendendo a classe Exception (PHP 5.3.0+)

<?php
/**
 * Define uma classe de exceção
 */
class MyException extends Exception
{
    // Redefine a exceção de forma que a mensagem não seja opcional
    public function __construct($message, $code = 0, Exception $previous = null) {
        // código

        // garante que tudo está corretamente inicializado
        parent::__construct($message, $code, $previous);
    }

    // personaliza a apresentação do objeto como string
    public function __toString() {
        return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
    }

    public function customFunction() {
        echo "Uma função específica desse tipo de exceção\n";
    }
}

/**
 * Cria uma classe para testar a exceção
 */
class TestException
{
    public $var;

    const THROW_NONE    = 0;
    const THROW_CUSTOM  = 1;
    const THROW_DEFAULT = 2;

    function __construct($avalue = self::THROW_NONE) {

        switch ($avalue) {
            case self::THROW_CUSTOM:
                // lança a exeção customizada
                throw new MyException('1 é um parâmetro inválido', 5);
                break;

            case self::THROW_DEFAULT:
                // throw default one.
                throw new Exception('2 não é um parâmetro permitido', 6);
                break;

            default:
                // Sem exceção, o objeto será criado
                $this->var = $avalue;
                break;
        }
    }
}

// Exemplo 1
try {
    $o = new TestException(TestException::THROW_CUSTOM);
} catch (MyException $e) {      // Entrará aqui ...
    echo "Pegou MyException\n", $e;
    $e->customFunction();
} catch (Exception $e) {        // ... mas não aqui.
    echo "Pegou Exception padrão\n", $e;
}

// Execução continua
var_dump($o); // Null
echo "\n\n";

// Examplo 2
try {
    $o = new TestException(TestException::THROW_DEFAULT);
} catch (MyException $e) {      // Não entrará aqui ...
    echo "Pegou MyException\n", $e;
    $e->customFunction();
} catch (Exception $e) {        // ... porque entrará aqui.
    echo "Pegou Exception padrão\n", $e;
}

// Execução continua
var_dump($o); // Null
echo "\n\n";

// Examplo 3
try {
    $o = new TestException(TestException::THROW_CUSTOM);
} catch (Exception $e) {        // Entrará aqui
    echo "Pegou exceção padrão\n", $e;
}

// Execução continua
var_dump($o); // Null
echo "\n\n";

// Examplo 4
try {
    $o = new TestException();
} catch (Exception $e) {        // Não entrará, sem exceção
    echo "Pegou Exception padrão\n", $e;
}

// Execução continua
var_dump($o); // TestException
echo "\n\n";
?>

Nota:

Versões do PHP 5 anteriores ao PHP 5.3.0 não suportam o empilhamento de exceções. O seguinte código pode ser utilizado como um substituto da classe MyException se quiser rodar o exemplo acima.

<?php
/**
 * Define uma exceção personalizada
 */
class MyException extends Exception
{
    // Redefine a exceção de forma que a mensagem não seja opcional
    public function __construct($message, $code = 0) {
        // código

        // garante que tudo foi inicilizado corretamente
        parent::__construct($message, $code);
    }

    // string personalizada para representação do objeto
    public function __toString() {
        return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
    }

    public function customFunction() {
        echo "Uma função específica para esse tipo de exceção\n";
    }
}
?>


Generators

Índice

  • Generators - Visão Geral
  • Sintaxe do Generator
  • Comparando generators com objetos Iterator


Generators - Visão Geral

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Os generators fornecem uma maneira fácil de implementar simples iterators sem a sobrecarga ou complexidade de criar uma classe que implemente a interface Iterator.

Um generator permite que você escreva código que use foreach para iterar em um conjunto de dados sem precisar construir um array em memória, o que pode fazer com que o limite de memória seja ultrapassado ou exigir uma quantidade considerável de tempo de processamento para a geração. Em vez disso, você pode escrever uma função generator, que é o mesmo que uma função normal, exceto que ao invés do retorno ocorrer única vez, um generator pode entregar o resultado quantas vezes forem necessárias para permitir que os valores sejam iterados.

Um exemplo simples para isso é reimplementar a função range(). A função range() padrão tem que gerar um array com cada valor dentro dele e retorná-lo, o que pode resultar em grandes arrays: por exemplo, chamando range(0, 1000000) irá resultar numa utilização de memória de mais de 100 MB.

Como alternativa, nós podemos implementar um generator xrange(), que só precisará de memória suficiente para criar um objeto Iterator e acompanhar o estado atual do generator internamente, que utiliza menos de 1 kilobyte de memória.

Exemplo #1 Implementando range() como um generator

<?php
function xrange($start, $limit, $step = 1) {
    if ($start < $limit) {
        if ($step <= 0) {
            throw new LogicException('Step must be +ve');
        }

        for ($i = $start; $i <= $limit; $i += $step) {
            yield $i;
        }
    } else {
        if ($step >= 0) {
            throw new LogicException('Step must be -ve');
        }

        for ($i = $start; $i >= $limit; $i += $step) {
            yield $i;
        }
    }
}

/*
 * Note that both range() and xrange() result in the same
 * output below.
 */

echo 'Single digit odd numbers from range():  ';
foreach (range(1, 9, 2) as $number) {
    echo "$number ";
}
echo "\n";

echo 'Single digit odd numbers from xrange(): ';
foreach (xrange(1, 9, 2) as $number) {
    echo "$number ";
}
?>

O exemplo acima irá imprimir:

Single digit odd numbers from range():  1 3 5 7 9
Single digit odd numbers from xrange(): 1 3 5 7 9

Generator objects

Quando uma função geradora é chamada uma primeira vez, um objeto interno de tipo Generator é retornado. Este objeto implementa a interface Iterator que um objeto somente leitura de uma direção implementaria, provendo também métodos que podem ser utilizados para manipular o estado do gerador, incluindo enviar e retornar valores.


Sintaxe do Generator

Uma função generator se parece com uma função normal, exceto que ao invés de retornar um valor, um generator pode entregar o resultado quantas vezes forem necessárias.

Quando uma função generator é chamada, ela retorna um objeto que pode ser iterado. Quando você itera através desse objeto (por exemplo, por um loop foreach), o PHP irá chamar a função generator toda vez que precisar de um valor, em seguida salva o estado do generator quando o valor é produzido, de modo que possa ser retomado quando o próximo valor for necessário.

Uma vez que não há mais valores a serem produzidos, a função generator pode simplesmente sair, e a chamada de código continua como se um array tivesse executado os valores.

Nota:

Um generator não pode retornar um valor: isso resultará num erro de compilação. Um retorno vazio é uma sintaxe válida e fará com que o generator seja encerrado.

A palavra chave yield

O coração de uma função generator é a palavra chave yield. Na sua forma mais simples, uma declaração yield se parece muito com um retorno, exceto que em vez de parar a execução da função e retornar, o yield fornece um valor para o código de loop sobre o generator e pausa a execução da função do generator.

Exemplo #1 Um exemplo simples de valores yield

<?php
function gen_one_to_three() {
    for ($i = 1; $i <= 3; $i++) {
        // Note that $i is preserved between yields.
        yield $i;
    }
}

$generator = gen_one_to_three();
foreach ($generator as $value) {
    echo "$value\n";
}
?>

O exemplo acima irá imprimir:

1
2
3

Nota:

Internamente, chaves inteiras sequenciais serão pareadas com os valores entregues, assim como um array não associativo.

Cuidado

Se você usar um yield em um contexto da expressão (por exemplo, a direita de uma atribuição), você deve colocar a declaração yield entre parênteses no PHP 5. Por exemplo, isso é válido:

$data = (yield $value);

Mas isso não é válido terá como resultado um parse error no PHP 5:

$data = yield $value;

Os parênteses não são necessário no PHP 7.

A sintaxe pode ser usada em conjunto com o método Generator::send().

Produzindo valores com chaves

O PHP suporta arrays associativos e generators não são diferentes. Além do produzir valores simples, como mostrado acima, você também pode produzir uma chave ao mesmo tempo.

A sintaxe para preparar um par de chave/valor é muito semelhante ao utilizado para definir um array associativo, como mostrado abaixo.

Exemplo #2 Produzindo um par de chave/valor

<?php
/*
 * The input is semi-colon separated fields, with the first
 * field being an ID to use as a key.
 */

$input = <<<'EOF'
1;PHP;Likes dollar signs
2;Python;Likes whitespace
3;Ruby;Likes blocks
EOF;

function input_parser($input) {
    foreach (explode("\n", $input) as $line) {
        $fields = explode(';', $line);
        $id = array_shift($fields);

        yield $id => $fields;
    }
}

foreach (input_parser($input) as $id => $fields) {
    echo "$id:\n";
    echo "    $fields[0]\n";
    echo "    $fields[1]\n";
}
?>

O exemplo acima irá imprimir:

1:
    PHP
    Likes dollar signs
2:
    Python
    Likes whitespace
3:
    Ruby
    Likes blocks
Cuidado

Da mesma forma como acontece com o yield de valores simples mostrados anteriormente, produzir um par de chave/valor num contexto da expressão requer que a declaração do yield esteja entre parênteses:

$data = (yield $key => $value);

Produzindo valores nulos

O yield pode ser chamado sem um argumento para produzir um valor null com uma chave automática.

Exemplo #3 Produzindo valores nullos

<?php
function gen_three_nulls() {
    foreach (range(1, 3) as $i) {
        yield;
    }
}

var_dump(iterator_to_array(gen_three_nulls()));
?>

O exemplo acima irá imprimir:

array(3) {
  [0]=>
  NULL
  [1]=>
  NULL
  [2]=>
  NULL
}

Produzindo valores por referência

Funções generator são capazes de produzir valores por referência bem como por valor. Isso é feito da mesma forma que retornar referências de funções: incluindo um & no início do nome da função.

Exemplo #4 Produzindo valores por referência

<?php
function &gen_reference() {
    $value = 3;

    while ($value > 0) {
        yield $value;
    }
}

/*
 * Note that we can change $number within the loop, and
 * because the generator is yielding references, $value
 * within gen_reference() changes.
 */
foreach (gen_reference() as &$number) {
    echo (--$number).'... ';
}
?>

O exemplo acima irá imprimir:

2... 1... 0...

Delegação de gerador viayield from

No PHP 7 a delegação de gerador permite retornar valores de outro gerador, objeto Traversable ou um array utilizando para isso a instrução yield from. O gerador externo retornará todos os valores do gerador interno, objeto ou array até que o mesmo não seja mais válido, a partir de onde a execução continuará no gerador externo.

Se um gerador é utilizado com yield from, a expressão yield from também retornará qualquer valor retornado pelo gerador interno.

Cuidado

Armazenando em um array (por exemplo, com iterator_to_array())

yield from não reseta as chaves. Ele preserva as chaves retornadas pelo objeto Traversable, ou array. Deste modo alguns valores podem compartilhar uma chave em comum com outro yield ou yield from, o qual, após inserção em um array, irá sobrescrever os valores anterioes com essa chave.

Um caso onde isso importa é a função iterator_to_array() retornando um array com chaves por padrão, levando a resultados possivelmente inesperados. iterator_to_array() possui um segundo parâmetro use_keys que pode ser setado como false para coletar todos os valores enquanto ignora as chaves retornadas pelo Generator.

Exemplo #5 yield from com iterator_to_array()

<?php
function from() {
    yield 1; // key 0
    yield 2; // key 1
    yield 3; // key 2
}
function gen() {
    yield 0; // key 0
    yield from from(); // keys 0-2
    yield 4; // key 1
}
// passar false como segundo parâmetro para obter um array [0, 1, 2, 3, 4]
var_dump(iterator_to_array(gen()));
?>

O exemplo acima irá imprimir:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(4)
  [2]=>
  int(3)
}

Exemplo #6 Uso básico de yield from

<?php
function count_to_ten() {
    yield 1;
    yield 2;
    yield from [3, 4];
    yield from new ArrayIterator([5, 6]);
    yield from seven_eight();
    yield 9;
    yield 10;
}

function seven_eight() {
    yield 7;
    yield from eight();
}

function eight() {
    yield 8;
}

foreach (count_to_ten() as $num) {
    echo "$num ";
}
?>

O exemplo acima irá imprimir:

1 2 3 4 5 6 7 8 9 10

Exemplo #7 yield from e valores retornados

<?php
function count_to_ten() {
    yield 1;
    yield 2;
    yield from [3, 4];
    yield from new ArrayIterator([5, 6]);
    yield from seven_eight();
    return yield from nine_ten();
}

function seven_eight() {
    yield 7;
    yield from eight();
}

function eight() {
    yield 8;
}

function nine_ten() {
    yield 9;
    return 10;
}

$gen = count_to_ten();
foreach ($gen as $num) {
    echo "$num ";
}
echo $gen->getReturn();
?>

O exemplo acima irá imprimir:

1 2 3 4 5 6 7 8 9 10


Comparando generators com objetos Iterator

A principal vantagem dos generators é a sua simplicidade. Muito menos código clichê tem de ser reescrito em comparação com a implementação de uma classe Iterator, e o código geralmente é muito mais legível. Por exemplo, a seguinte função e classe são equivalentes:

<?php
function getLinesFromFile($fileName) {
    if (!$fileHandle = fopen($fileName, 'r')) {
        return;
    }

    while (false !== $line = fgets($fileHandle)) {
        yield $line;
    }

    fclose($fileHandle);
}

// versus...

class LineIterator implements Iterator {
    protected $fileHandle;

    protected $line;
    protected $i;

    public function __construct($fileName) {
        if (!$this->fileHandle = fopen($fileName, 'r')) {
            throw new RuntimeException('Couldn\'t open file "' . $fileName . '"');
        }
    }

    public function rewind() {
        fseek($this->fileHandle, 0);
        $this->line = fgets($this->fileHandle);
        $this->i = 0;
    }

    public function valid() {
        return false !== $this->line;
    }

    public function current() {
        return $this->line;
    }

    public function key() {
        return $this->i;
    }

    public function next() {
        if (false !== $this->line) {
            $this->line = fgets($this->fileHandle);
            $this->i++;
        }
    }

    public function __destruct() {
        fclose($this->fileHandle);
    }
}
?>

No entanto essa flexibilidade tem um custo: os generators somente movem-se para frente e não podem ser rebobinados após a iteração ter sido iniciada. Isso também significa que o generator não pode ser iterado múltiplas vezes: o generator precisará ser reconstruído chamando a função generator novamente.


Attributes

Índice

  • Attributes overview
  • Attribute syntax
  • Reading Attributes with the Reflection API
  • Declaring Attribute Classes


Attributes overview

(PHP 8)

Attributes offer the ability to add structured, machine-readable metadata information on declarations in code: Classes, methods, functions, parameters, properties and class constants can be the target of an attribute. The metadata defined by attributes can then be inspected at runtime using the Reflection APIs. Attributes could therefore be thought of as a configuration language embedded directly into code.

With attributes the generic implementation of a feature and its concrete use in an application can be decoupled. In a way it is comparable to interfaces and their implementations. But where interfaces and implementations are about code, attributes are about annotating extra information and configuration. Interfaces can be implemented by classes, yet attributes can also be declared on methods, functions, parameters, properties and class constants. As such they are more flexible than interfaces.

A simple example of attribute usage is to convert an interface that has optional methods to use attributes. Lets assume an ActionHandler interface representing an operation in an application, where some implementations of an action handler require setup and others do not. Instead of requiring all classes that implement ActionHandler to implement a method setUp(), an attribute can be used. One benefit of this approach is that we can use the attribute several times.

Exemplo #1 Implementing optional methods of an interface with Attributes

<?php
interface ActionHandler
{
    public function execute();
}

#[Attribute]
class SetUp {}

class CopyFile implements ActionHandler
{
    public string $fileName;
    public string $targetDirectory;

    #[SetUp]
    public function fileExists()
    {
        if (!file_exists($this->fileName)) {
            throw new RuntimeException("File does not exist");
        }
    }

    #[SetUp]
    public function targetDirectoryExists()
    {
        mkdir($this->targetDirectory);
    }

    public function execute()
    {
        copy($this->fileName, $this->targetDirectory . '/' . basename($this->fileName));
    }
}

function executeAction(ActionHandler $actionHandler)
{
    $reflection = new ReflectionObject($actionHandler);

    foreach ($reflection->getMethods() as $method) {
        $attributes = $method->getAttributes(SetUp::class);

        if (count($attributes) > 0) {
            $methodName = $method->getName();

            $actionHandler->$methodName();
        }
    }

    $actionHandler->execute();
}

$copyAction = new CopyFile();
$copyAction->fileName = "/tmp/foo.jpg";
$copyAction->targetDirectory = "/home/user";

executeAction($copyAction);


Attribute syntax

There are several parts to the attributes syntax. First, an attribute declaration is always enclosed with a starting #[ and a corresponding ending ]. Inside, one or many attributes are listed, separated by comma. The attribute name is an unqualified, qualified or fully-qualified name as described in Using Namespaces Basics. Arguments to the attribute are optional, but are enclosed in the usual parenthesis (). Arguments to attributes can only be literal values or constant expressions. Both positional and named arguments syntax can be used.

Attribute names and their arguments are resolved to a class and the arguments are passed to its constructor, when an instance of the attribute is requested through the Reflection API. As such a class should be introduced for each attribute.

Exemplo #1 Attribute Syntax

<?php
// a.php
namespace MyExample;

use Attribute;

#[Attribute]
class MyAttribute
{
    const VALUE = 'value';

    private $value;

    public function __construct($value = null)
    {
        $this->value = $value;
    }
}

// b.php

namespace Another;

use MyExample\MyAttribute;

#[MyAttribute]
#[\MyExample\MyAttribute]
#[MyAttribute(1234)]
#[MyAttribute(value: 1234)]
#[MyAttribute(MyAttribute::VALUE)]
#[MyAttribute(array("key" => "value"))]
#[MyAttribute(100 + 200)]
class Thing
{
}

#[MyAttribute(1234), MyAttribute(5678)]
class AnotherThing
{
}


Reading Attributes with the Reflection API

To access attributes from classes, methods, functions, parameters, properties and class constants, the Reflection API provides the method getAttributes() on each of the corresponding Reflection objects. This method returns an array of ReflectionAttribute instances that can be queried for attribute name, arguments and to instantiate an instance of the represented attribute.

This separation of reflected attribute representation from actual instance increases control of the programmer to handle errors regarding missing attribute classes, mistyped or missing arguments. Only after calling newInstance(), objects of the attribute class are instantiated and the correct matching of arguments is validated, not earlier.

Exemplo #1 Reading Attributes using Reflection API

<?php

#[Attribute]
class MyAttribute
{
    public $value;

    public function __construct($value)
    {
        $this->value = $value;
    }
}

#[MyAttribute(value: 1234)]
class Thing
{
}

function dumpAttributeData($reflection) {
    $attributes = $reflection->getAttributes();

    foreach ($attributes as $attribute) {
       var_dump($attribute->getName());
       var_dump($attribute->getArguments());
       var_dump($attribute->newInstance());
    }
}

dumpAttributeData(new ReflectionClass(Thing::class));
/*
string(11) "MyAttribute"
array(1) {
  ["value"]=>
  int(1234)
}
object(MyAttribute)#3 (1) {
  ["value"]=>
  int(1234)
}
*/

Instead of iterating all attributes on the reflection instance, only those of a particular attribute class can be retrieved by passing the searched attribute class name as argument.

Exemplo #2 Reading Specific Attributes using Reflection API

<?php

function dumpMyAttributeData($reflection) {
    $attributes = $reflection->getAttributes(MyAttribute::class);

    foreach ($attributes as $attribute) {
       var_dump($attribute->getName());
       var_dump($attribute->getArguments());
       var_dump($attribute->newInstance());
    }
}

dumpAttributeData(new ReflectionClass(Thing::class));


Declaring Attribute Classes

While not strictly required it is recommended to create an actual class for every attribute. In the most simple case only an empty class is needed with the #[Attribute] attribute declared that can be imported from the global namespace with a use statement.

Exemplo #1 Using target specification to restrict where attributes can be used

<?php

namespace Example;

use Attribute;

#[Attribute]
class MyAttribute
{
}

To restrict the type of declaration an attribute can be assigned to, a bitmask can be passed as the first argument to the #[Attribute] declaration.

Exemplo #2 Simple Attribute Class

<?php

namespace Example;

use Attribute;

#[Attribute(Attribute::TARGET_METHOD | Attribute::TARGET_FUNCTION)]
class MyAttribute
{
}

Declaring MyAttribute on another type will now throw an exception during the call to ReflectionAttribute::newInstance()

By default an attribute can only be used once per declaration. If the attribute should be repeatable on declarations it must be specified as part of the bitmask to the #[Attribute] declaration.

Exemplo #3 Using IS_REPEATABLE to allow attribute on a declaration multiple times

<?php

namespace Example;

use Attribute;

#[Attribute(Attribute::TARGET_METHOD | Attribute::TARGET_FUNCTION | Attribute::IS_REPEATABLE)]
class MyAttribute
{
}


Referências

Índice

  • O que são referências
  • O que as referências fazem
  • O que referências não são
  • Passagem por referência
  • Retornando referências
  • Destruindo referências
  • Demonstrando referências


O que são referências

Referência em PHP significa acessar o mesmo conteúdo de variável através de vários nomes. Isto não é parecido com os ponteiros em C. Por exemplo não é possível efetuar aritmética de ponteiros com referências, já que elas não são endereços de memória. Veja O que referências não são para mais informações. Referências são como uma tabela de apelidos simbólicos. No PHP um nome de variável e o conteúdo de variável são diferentes, de forma um mesmo conteúdo pode ter nomes diferentes. A analogia mais próxima são com arquivos e nomes de arquivos Unix - os nomes de variáveis como nomes de arquivos, enquanto que o conteúdo das variáveis os conteúdos dos arquivos. Referências, assim, são como os hardlinks no sistema de arquivo Unix.


O que as referências fazem

Há três operações básicas ao se utilizar referências: atribuição por referência, passagem por referência, e retorno por referência. Esta seção fará uma introdução dessas operações, com links para leituras posteriores.

Atribuição por referência

Referências no PHP permitem criar duas variáveis que se referem ao mesmo conteúdo. Ou seja, quando você faz:

<?php
$a =& $b;
?>
então aqui $a e $b apontam para o mesmo conteúdo.

Nota:

$a e $b são completamente iguais aqui, mas não porque $a está apontando para $b ou vice versa, mas sim que $a e $b apontam para o mesmo lugar.

Nota:

Se você atribuir, passar ou retornar uma variável indefinida por referência, ela irá ser criada.

Exemplo #1 Usando referência com variáveis indefinidas

<?php
function foo(&$var) { }

foo($a); // $a é "criada" e setada par null

$b = array();
foo($b['b']);
var_dump(array_key_exists('b', $b)); // bool(true)

$c = new StdClass;
foo($c->d);
var_dump(property_exists($c, 'd')); // bool(true)
?>

A mesma sintaxe pode ser utilizada com funções, que retornem referências, e com o operador new (a partir do PHP 4.0.4 e antes do PHP 5.0.0):

<?php
$foo =& find_var($bar);
?>
Desde o PHP 5, new retorna referência automaticamente, então usar =& neste contexto é obsoleto e produz um alerta E_DEPRECATED no PHP 5.3 e posteriores, e um alerta E_STRICT nas versões anteiores. A partir do PHP 7.0 essa é uma construção sintaticamente inválida (ou tecnicamente, a diferença é que no PHP 5 as variáveis de objeto, assim como recursos, eram ponteiros simples para os dados do objeto, de forma que essas referências não eram "referências" no sentido anterior (mais como apelidos). Para mais informações veja objetos e referências.)

Aviso

Se você atribuir uma referência para uma variável declarada global dentro da função, a referência irá ser visível somente dentro da função. Você pode evitar isto usando o array $GLOBALS.

Exemplo #2 Referenciando variáveis globais de dentro de funções

<?php
$var1 = "Example variable";
$var2 = "";

function global_references($use_globals)
{
    global $var1, $var2;
    if (!$use_globals) {
        $var2 =& $var1; // visível somente dentro da função
    } else {
        $GLOBALS["var2"] =& $var1; // visível também no contexto global
    }
}

global_references(false);
echo "var2 is set to '$var2'\n"; // var2 is set to ''
global_references(true);
echo "var2 is set to '$var2'\n"; // var2 is set to 'Example variable'
?>
Veja global $var; como atalho para $var =& $GLOBALS['var'];. Assim atribuir outra referência para $var somente modifica a variável de referência local.

Nota:

Se você atribuir um valor para uma variável com referência numa instrução foreach a referência também é modificada.

Exemplo #3 Referências e o comando foreach

<?php
$ref = 0;
$row =& $ref;
foreach (array(1, 2, 3) as $row) {
    // faz alguma coisa
}
echo $ref; // 3 - último elemento do array iterado
?>

Ainda que não seja uma atribuição por referência explícita, expressões criadas com o constructo array() também podem se comportar como tais com o prefixo & no elemento de array a ser acrescentado. Exemplo:

<?php
$a = 1;
$b = array(2, 3);
$arr = array(&$a, &$b[0], &$b[1]);
$arr[0]++; $arr[1]++; $arr[2]++;
/* $a == 2, $b == array(3, 4); */
?>

Note que referências dentro de arrays são potencialmente perigosas. Fazer uma atribuição normal (sem referência) com uma referência à direita não transforma a expressão a esquerda numa referência, mas referências dentro de arrays são preservadas nessas atribuições normais. Isso também se aplica a chamadas de função onde arrays são passados por valor. Exemplo:

<?php
/* Atribuição de variáveis escalares */
$a = 1;
$b =& $a;
$c = $b;
$c = 7; //$c não é referência; não modifica $a ou $b

/* Atribuição de variaveis do array */
$arr = array(1);
$a =& $arr[0]; //$a e $arr[0] estão no mesmo conjunto de referências
$arr2 = $arr; //não atribui por referência!
$arr2[0]++;
/* $a == 2, $arr == array(2) */
/* O conteúd de $arr foi modificado mesmo que ele não seja uma referência! */
?>
Em outras palavras, o comportamento de referências em arrays é definido elemento por elemento. O comportamento de referências dos elementos individualmente são dissociados da referência do container array.

Passagem por referência

A segunda coisa que referências fazem é passar variáveis por referência. Isso é feito com a criação de uma variável local em uma função e uma variável no escopo chamador que referênciem o mesmo conteúdo. Assim:

<?php
function foo(&$var)
{
    $var++;
}

$a=5;
foo($a);
?>
a variável $a será 6 no final. Isto ocorre porque na função foo a variável $var se referem ao mesmo conteúdo de $a. Para mais informações disso veja a seção de passagem por referência.

Retorno por referência

A terceira coisa que referências fazem é retorno por referência.


O que referências não são

Como dito anteriormente, referências não são ponteiros. Isso significa que a construção seguinte não funciona como se possa esperar:

<?php
function foo(&$var)
{
    $var =& $GLOBALS["baz"];
}
foo($bar);
?>

O que acontece é que $var em foo será ligada com $bar pelo chamador, mas depois será re-ligada com $GLOBALS["baz"]. Não há como ligar $bar no escopo chamador para outra coisa utilizando-se o mecanismo de referência, pois $bar não está disponível na função foo (ela é representada por $var, mas $var somente tem o conteúdo da variável e não a ligação nome-valor na tabela de símbolos do chamador). Você pode utilizar oretorno por referência para retornar referências de variáveis manipuladas por funções.


Passagem por referência

Você pode passar uma variável por referência a uma função de forma que a função possa modificar a variável. A sintaxe é a seguinte:

<?php
function foo(&$var)
{
    $var++;
}

$a=5;
foo($a);
// $a é 6 aqui
?>

Nota: Não há o sinal de referência na chamada da função - apenas nas definições de função. As definições de função, sozinhas, são suficientes para passar o argumento por referência. A partir do PHP 5.3.0 você receberá um alerta de "call-time pass-by-reference" está obsoleto quando usar o & na em chamadas de função: foo(&$a);. A partir do PHP 5.4.0, passagem por referência na chamada foi removido, e usar isso causará um erro fatal.

Os itens seguintes podem ser passados por referência:

  • Variáveis, como foo($a)
  • Instruções new, como foo(new foobar())

  • Referências retornadas de fumções, como:

    <?php
    function foo(&$var)
    {
            $var++;
    }
    function &    bar()
    {
            $a = 5;
        return     $a;
    }
    foo(bar());
    ?>
    Veja mais sobre isso em retorno por referência.

Nenhuma outra expressão pode ser passada por referência pois não tem comportamento definido. Os seguintes exemplos de passagem por referência são inválidos:

<?php
function foo(&$var)
{
    $var++;
}
function bar() // Repare que falta &
{
    $a = 5;
    return $a;
}
foo(bar()); // Produz um erro fatal no 5.0.5, alerta de padrão estrito
            // no PHP 5.1.1, e alerta no PHP 7.0.0

foo($a = 5); // Expressão, não variável
foo(5); // Produz erro fatal
?>


Retornando referências

Retorno por referência é útil quando você precisa utilizar uma função para localizar variável cuja referência precisa ser obtida. Não use retorno por referência para aumentar performance, a engine é esperta o bastante para otimizar isto para você. Somente retorne referências quando você tem uma razão técnica para isso! Para retornar referências, use a sintaxe:

<?php
class foo {
    public $value = 42;

    public function &getValue() {
        return $this->value;
    }
}

$obj = new foo;
$myValue = &$obj->getValue(); // $myValue é uma referência a $obj->value, que é 42.
$obj->value = 2;
echo $myValue;                // imprime o valor valor de $obj->value, ou seja, 2.
?>
Neste exemplo, a propriedade do objeto retornado pela função getValue precissa ser assimilada, não copiada, como acontecerá se não utilizar a sintaxe de referências.

Nota: Diferentemente da passagem de parâmetros por referência, aqui você precisa utilizar & em ambos os lugares - primeiro para indicar o retorno por referência (e não a cópia), e depois para indicar a ligação da referência (em vez da assimilação convencional) que precisa ser explícita para $myValue.

Nota: Se você tentar retornar uma referência de uma função com a sintaxe: return ($this->value); isto não irá funcionar como você espera, para retornar o resultado de uma expressão, e não uma variável, por referência. Você pode somente retornar variáveis por referência para uma função - nada além. Erro E_NOTICE é emitido desde o PHP 5.1.0 se o código tenta retornar uma expressão dinâmica ou um resultado do operador new.

Para utilizar a referência retornada, você precisa utilizar a atribuição por referência:

<?php
function &collector() {
  static $collection = array();
  return $collection;
}
$collection = &collector();
$collection[] = 'foo';
?>
Para passar a referência retornada para outra função qual espera uma referência você pode utilizar a seguinte sintaxe:
<?php
function &collector() {
  static $collection = array();
  return $collection;
}
array_push(collector(), 'foo');
?>

Nota: Note que array_push(&collector(), 'foo'); não funcionará, e retornará um erro fatal.


Destruindo referências

Quando você quebra uma referência, ela apenas pára de fazer o apontamento entre o nome da variável e o conteúdo. Mas isto não significa que o conteúdo da variável será destruído. Por exemplo:

<?php
$a = 1;
$b =& $a;
unset ($a);
?>
não apaga $b, apenas $a.

Novamente, é mais fácil pensar em analogia ao comando UNIX unlink.


Demonstrando referências

Vários construtores sintáticos do PHP são implementados através de mecanismos de referência, assim, tudo o explicado até aqui sobre referências também se aplica a esses construtores. Alguns desses construtores, como a passagem e o retorno de referências foram mencionados acima. Outros construtores que também utilizam referências são:

Referências globais

Quando você declara uma variável como global $var, você está de fato criando um referência para a variável global. Isto significa que isto é o mesmo que:

<?php
$var =& $GLOBALS["var"];
?>

O que significa também que destruir $var não apaga a variável global.

$this

Num método de objeto, $this é sempre uma referência à instância atual.


Variáveis pré-definidas

O PHP fornece um grande número de variáveis pré-definidas para todos scripts. As variáveis representam tudo: de variáveis externas à variáveis nativas de ambiente, última mensagem de erro à último cabeçalho recebido.

Índice

  • Superglobais — Superglobais são variáveis nativas que estão sempre disponíveis em todos escopos
  • $GLOBALS — Referencia todas variáveis disponíveis no escopo global
  • $_SERVER — Informação do servidor e ambiente de execução
  • $_GET — HTTP GET variáveis
  • $_POST — HTTP POST variables
  • $_FILES — HTTP File Upload variáveis
  • $_REQUEST — Variáveis de requisição HTTP
  • $_SESSION — Variáveis de sessão
  • $_ENV — Environment variables
  • $_COOKIE — HTTP Cookies
  • $php_errormsg — A mensagem de erro anterior
  • $http_response_header — Cabeçalhos de resposta HTTP
  • $argc — O número de argumentos passados para o script
  • $argv — Array de argumentos passados para o script


Superglobais são variáveis nativas que estão sempre disponíveis em todos escopos

  • « Variáveis pré-definidas
  • $GLOBALS »
  • PHP Manual
  • Variáveis pré-definidas
  • Superglobais são variáveis nativas que estão sempre disponíveis em todos escopos

Superglobais

Superglobais — Superglobais são variáveis nativas que estão sempre disponíveis em todos escopos

Descrição

Várias variáveis pré-definidas no PHP são "superglobais", que significa que elas estão disponível em todos escopos para todo o script. Não há necessidade de fazer global $variable; para acessá-lo dentro de funções ou métodos.

Estas variáveis superglobais são:

  • $GLOBALS
  • $_SERVER
  • $_GET
  • $_POST
  • $_FILES
  • $_COOKIE
  • $_SESSION
  • $_REQUEST
  • $_ENV

Changelog

Versão | Descrição
4.1.0 | Superglobais foram introduzidas no PHP.

Notas

Nota: Disponibilidade da variável

Por padrão, todas as superglobais estão disponíveis, mas há diretivas que afetam esta disponibilidade. Para mais informação, consulte na documentação sobre variables_order.

Nota: Variável variáveis

Superglobais não podem ser usadas como variável variáveis dentro de função ou métodos de classes.

Veja Também

  • escopo de variável
  • A diretiva variables_order
  • A extensão filter


Referencia todas variáveis disponíveis no escopo global

  • « Superglobais
  • $_SERVER »
  • PHP Manual
  • Variáveis pré-definidas
  • Referencia todas variáveis disponíveis no escopo global

$GLOBALS

(PHP 4, PHP 5, PHP 7, PHP 8)

$GLOBALS — Referencia todas variáveis disponíveis no escopo global

Descrição

Um array associativo contendo referências para todas as variáveis que estão atualmente definidas no escopo global do script. O nome das variáveis são chaves do array.

Exemplos

Exemplo #1 Exemplo da $GLOBALS

<?php
function test() {
    $foo = "local variable";

    echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n";
    echo '$foo in current scope: ' . $foo . "\n";
}

$foo = "Example content";
test();
?>

O exemplo acima irá imprimir algo similar à:

$foo in global scope: Example content
$foo in current scope: local variable

Notas

Nota:

Esta é uma 'superglobal', ou variável global automática. Isto significa que ela está disponível em todos escopos pelo script. Não há necessidade de fazer global $variable; para acessá-la dentro de uma função ou método.

Nota: Disponibilidade da variável

Diferente de todas as outras superglobais, $GLOBALS tem essencialmente sempre estado disponível no PHP.


Informação do servidor e ambiente de execução

  • « $GLOBALS
  • $_GET »
  • PHP Manual
  • Variáveis pré-definidas
  • Informação do servidor e ambiente de execução

$_SERVER

$HTTP_SERVER_VARS [obsoleto]

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_SERVER -- $HTTP_SERVER_VARS [obsoleto] — Informação do servidor e ambiente de execução

Descrição

$_SERVER é um array contendo informação como cabeçalhos, paths, e localizações do script. As entradas neste array são criadas pelo servidor web. Não há garantia que cada servidor web proverá algum destes; servidores podem omitir alguns, ou fornecer outros não listados aqui. Dito isso, um grande número dessas variáveis são previstas pela » CGI 1.1 specification, então você deve estar hábil para esperá-las.

Nota: A partir do PHP 5.4.0, $HTTP_SERVER_VARS contém a mesma informação inicial, mas não é uma superglobal. (Note que $HTTP_SERVER_VARS e $_SERVER são variáveis diferentes e que o PHP manuseia-as diferentemente)

Índices

Você pode ou não encontrar algum dos seguintes elementos em $_SERVER. Note que poucas, se alguma, dessas estarão disponíveis (ou ter algum significado) se executando o PHP na linha de comando.

'PHP_SELF'
O nome do arquivo do script que está executando, relativa à raiz do documento. Por exemplo, $_SERVER['PHP_SELF'] em um script no endereço http://example.com/test.php/foo.bar seria /test.php/foo.bar. A constante __FILE__ contém o caminho completo e nome do atual arquivo (i.e. incluído). Se estiver rodando o PHP em linha de comando, esta variável contém o nome do script desde o PHP 4.3.0. Anteriormente ela não estava disponível.
'argv'
Array de argumentos passado para o script. Quando o script é executado na linha de comando, isto permite um acesso aos parâmetros de linha de comando no estilo do C. Quando chamado via método GET, ele conterá a query string.
'argc'
Contém o número de parâmetros da linha de comando passados para o script (se executando da linha de comando).
'GATEWAY_INTERFACE'
O número de revisão da especificação CGI que o servidor está utilizando, por exemplo : 'CGI/1.1'.
'SERVER_ADDR'
O endereço IP do servidor onde está o script em execução.
'SERVER_NAME'
O nome host do servidor onde o script atual é executado. Se o script está rodando em um host virtual, este será o valor definido para aquele host virtual.

Nota: No Apache 2, você definir UseCanonicalName = On e ServerName. Caso contrário, este valor refletirá o nome do servidor fornecido pelo cliente, que pode ser forjado. Não é seguro confiar neste valor em contextos que dependam de segurança.

'SERVER_SOFTWARE'
A string de identificação do servidor, fornecida nos headers quando respondendo a requests.
'SERVER_PROTOCOL'
Nome e número de revisão do protocolo de informação pelo qual a página foi requerida, por exemplo 'HTTP/1.0';
'REQUEST_METHOD'
Contém o método de request utilizando para acessar a página. Geralmente 'GET', 'HEAD', 'POST' ou 'PUT'.

Nota:

O script PHP é terminado depois de enviado cabeçalhos (significa depois de produzir alguma saída sem saída do buffer) se o método da requisição for HEAD.

'REQUEST_TIME'
O timestamp do início da requisição. Disponível desde o PHP 5.1.0.
'REQUEST_TIME_FLOAT'
O timestamp, com precisão em microsegundos, do início da requisição. Disponível desde o PHP 5.4.0.
'QUERY_STRING'
A query string, se houver, pela qual a página foi acessada.
'DOCUMENT_ROOT'
O diretório raiz sob onde o script atual é executado, como definido no arquivos de configuração do servidor.
'HTTP_ACCEPT'
O conteúdo do header Accept: da requisição atual, se houver.
'HTTP_ACCEPT_CHARSET'
O conteúdo do header Accept-Charset: da requisição atual, se houver. Exemplo: 'iso-8859-1,*,utf-8'.
'HTTP_ACCEPT_ENCODING'
O conteúdo do header Accept-Encoding: da requisição atual, se houver. Exemplo: 'gzip'.
'HTTP_ACCEPT_LANGUAGE'
O conteúdo do header Accept-Language: da requisição atual, se houver. Exemplo 'en'.
'HTTP_CONNECTION'
O conteúdo do header Connection: da requisição atual, se houver. Exemplo: 'Keep-Alive'.
'HTTP_HOST'
O conteúdo do header Host: da requisição atual, se houver.
'HTTP_REFERER'
O endereço da página (se houver) através da qual o agente do usuário acessou a página atual. Essa diretiva é informada pelo agente do usuário. Nem todos os browsers geram esse header, e alguns ainda possuem a habilidade de modificar o conteúdo do HTTP_REFERER como recurso. Em poucas palavras, não é confiável.
'HTTP_USER_AGENT'
O conteúdo do header User-Agent: da requisição atual, se houver. É uma string denotando o agente de usuário pelo qual a página é acessada. Um exemplo típico é: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Além de outras coisas, você pode utilizar este valor com get_browser() para personalizar a geração de suas páginas para as capacidades do agente do usuário.
'HTTPS'
Define para um valor não vazio se o script foi requisitado através do protocolo HTTPS.

Nota: Note que quando usando ISAPI com IIS, o valor será off se a requisição não for feita por protocolo HTTPS.

'REMOTE_ADDR'
O endereço IP de onde o usuário está visualizado a página atual.
'REMOTE_HOST'
O nome do host que o usuário utilizou para chamar a página atual. O DNS reverso (lookup) do REMOTE_ADDR do usuário.

Nota: Seu servidor web precisa estar configurado para criar essa variável. Por exemplo, no Apache você precisa colocar um HostnameLookups On dentro do httpd.conf. Veja também gethostbyaddr().

'REMOTE_PORT'
A porta TCP na máquina do usuário utilizada para comunicação com o servidor web.
'REMOTE_USER'
O usuário autenticado
'REDIRECT_REMOTE_USER'
O usuário autenticado utilizado se a requisição foi redirecionada internamente.
'SCRIPT_FILENAME'

O caminho absoluto o script atualmente em execução.

Nota:

Se o script for executado pela CLI com um caminho relativo, como file.php ou ../file.php, $_SERVER['SCRIPT_FILENAME'] irá conter o caminho relativo especificado pelo usuário.

'SERVER_ADMIN'
O valor fornecido pela diretiva SERVER_ADMIN (do Apache) no arquivo de configuração do servidor. Se o script está sendo executado em um host virtual, este será os valores definidos para aquele host virtual.
'SERVER_PORT'
A porta na máquina servidora utilizada pelo servidor web para comunicação. Como default, este valor é '80'. Utilizando SSL, entretanto, mudará esse valor para a porta de comunicação segura HTTP.

Nota: Utilizando o Apache 2, você deve configurar UseCanonicalName = On, assim como UseCanonicalPhysicalPort = On para obter a porta física (real), caso contrário, este valor pode ser falsificado e pode, ou não, retornar como valor a porta física. Não é seguro confiar neste valor em contextos que dependem de segurança.

'SERVER_SIGNATURE'
String contendo a versão do servidor e nome do host virtual que é adicionado às páginas geradas no servidor, se ativo.
'PATH_TRANSLATED'
O caminho real do script relativo ao sistema de arquivos (não o document root), depois realizou todos os mapeamentos de caminhos (virtual-to-real).

Nota: A partir do PHP 4.3.2, PATH_TRANSLATED não mais existe implicitamente sob a SAPI do Apache 2, ao contrário da mesma situação no Apache 1, onde ela tinha o mesmo valor da variável de servidor SCRIPT_FILENAME, quando a mesma não era configurada pelo Apache. Essa mudança foi realizada para conformidade com a especificação CGI, onde PATH_TRANSLATED deve existir somente se PATH_INFO estiver definida. Usuários do Apache 2 podem usar AcceptPathInfo = On dentro do httpd.conf para definir o PATH_INFO.

'SCRIPT_NAME'
Contém o caminho completo do script atual. Útil para páginas que precisam apontar para elas mesmas (dinamicamente). A constante __FILE__ contém o caminho completo e nome do arquivo (mesmo incluído) atual.
'REQUEST_URI'
O URI fornecido para acessar a página atual, por exemplo, '/index.html'.
'PHP_AUTH_DIGEST'
Quando executando no Apache como módulo fazendo autenticação HTTP esta variável é definida para o cabeçalho 'Authorization' enviado pelo cliente (que você pode então usar para fazer apropriada validação).
'PHP_AUTH_USER'
Quando efetuando autenticação HTTP, esta variável estará definida com o username fornecido pelo usuário.
'PHP_AUTH_PW'
Quando efetuando autenticação HTTP, esta variável estará definida com a senha fornecida pelo usuário.
'AUTH_TYPE'
Quando efetuando autenticação HTTP, esta variável estará definida com o tipo de autenticação utilizado.
'PATH_INFO'
Contém qualquer informação fornecida pelo usuário, se disponível, que levam ao nome do script atual, precedendo a query string. Por exemplo, se o script atual fosse acessado via URL http://www.example.com/php/path_info.php/some/stuff?fkoo=bar, então $_SERVER['PATH_INFO']teria como valor /some/stuff
'ORIG_PATH_INFO'
Versão original do 'PATH_INFO' antes de ser processada pelo PHP.

Exemplos

Exemplo #1 Exemplo da $_SERVER

<?php
echo $_SERVER['SERVER_NAME'];
?>

O exemplo acima irá imprimir algo similar à:

www.example.com

Notas

Nota:

Esta é uma 'superglobal', ou variável global automática. Isto significa que ela está disponível em todos escopos pelo script. Não há necessidade de fazer global $variable; para acessá-la dentro de uma função ou método.

Veja Também

  • A extensão filter


HTTP GET variáveis

  • « $_SERVER
  • $_POST »
  • PHP Manual
  • Variáveis pré-definidas
  • HTTP GET variáveis

$_GET

$HTTP_GET_VARS [obsoleta]

$_GET -- $HTTP_GET_VARS [obsoleta] — HTTP GET variáveis

Descrição

Um array associativo de variáveis passadas para o script atual via o método HTTP GET.

$HTTP_GET_VARS contém a mesma informação inicial, mas não é uma superglobal. (Note que $HTTP_GET_VARS e $_GET são variáveis diferentes e que o PHP manuseia-as diferentemente)

Changelog

Versão | Descrição
4.1.0 | Introduzida a $_GET que torna obsoleta a $HTTP_GET_VARS.

Exemplos

Exemplo #1 Exemplo da $_GET

<?php
echo 'Hello ' . htmlspecialchars($_GET["name"]) . '!';
?>

Assumindo que o usuário entrou por http://example.com/?name=Hannes

O exemplo acima irá imprimir algo similar à:

Hello Hannes!

Notas

Nota:

Esta é uma 'superglobal', ou variável global automática. Isto significa que ela está disponível em todos escopos pelo script. Não há necessidade de fazer global $variable; para acessá-la dentro de uma função ou método.

Nota:

Os valores da variável GET são passados pela função urldecode().

Veja Também

  • Manuseamento de variáveis externas
  • A extensão filter


HTTP POST variables

  • « $_GET
  • $_FILES »
  • PHP Manual
  • Variáveis pré-definidas
  • HTTP POST variables

$_POST

$HTTP_POST_VARS [deprecated]

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_POST -- $HTTP_POST_VARS [deprecated] — HTTP POST variables

Descrição

Um array associativo de variáveis passados para o script atual via método HTTP POST quando utilizado application/x-www-form-urlencoded ou multipart/form-data como valor do cabeçalho HTTP Content-Type na requisição.

$HTTP_POST_VARS contém a mesma informação inicial, mas não é uma superglobal. (Note que $HTTP_POST_VARS e $_POST são variáveis diferentes e que o PHP manuseia-as diferentemente)

Changelog

Versão | Descrição
4.1.0 | Introduzida a $_POST que torna obsoleta a $HTTP_POST_VARS.

Exemplos

Exemplo #1 Exemplo da $_POST

<?php
echo 'Hello ' . htmlspecialchars($_POST["name"]) . '!';
?>

Assumindo que o usuário tenha postado name=Hannes

O exemplo acima irá imprimir algo similar à:

Hello Hannes!

Notas

Nota:

Esta é uma 'superglobal', ou variável global automática. Isto significa que ela está disponível em todos escopos pelo script. Não há necessidade de fazer global $variable; para acessá-la dentro de uma função ou método.

Veja Também

  • Manuseando variáveis externas
  • A extensão filter


HTTP File Upload variáveis

  • « $_POST
  • $_REQUEST »
  • PHP Manual
  • Variáveis pré-definidas
  • HTTP File Upload variáveis

$_FILES

$HTTP_POST_FILES [obsoleta]

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_FILES -- $HTTP_POST_FILES [obsoleta] — HTTP File Upload variáveis

Descrição

Um array associativo de items enviado através do script atual pelo método HTTP POST. A estrutura deste array é detalhada na seção Uploads com o método POST.

$HTTP_POST_FILES contém a mesma informação inicial, mas não é uma superglobal. (Note que $HTTP_POST_FILES e $_FILES são variáveis diferentes e que o PHP manuseia-as diferentemente)

Changelog

Versão | Descrição
4.1.0 | Introduzida a $_FILES que torna obsoleta a $HTTP_POST_FILES.

Notas

Nota:

Esta é uma 'superglobal', ou variável global automática. Isto significa que ela está disponível em todos escopos pelo script. Não há necessidade de fazer global $variable; para acessá-la dentro de uma função ou método.

Veja Também

  • move_uploaded_file() - Move um arquivo enviado para uma nova localização
  • Manuseamento de upload de arquivos


Variáveis de requisição HTTP

  • « $_FILES
  • $_SESSION »
  • PHP Manual
  • Variáveis pré-definidas
  • Variáveis de requisição HTTP

$_REQUEST

$_REQUEST — Variáveis de requisição HTTP

Descrição

Um array associativo que por padrão contém informações de $_GET, $_POST e $_COOKIE.

Changelog

Versão | Descrição
5.3.0 | Introduzida a request_order. Esta diretiva afeta o conteúdo de $_REQUEST.
4.3.0 | Informação da $_FILES foi removida de $_REQUEST.
4.1.0 | Introduzida a $_REQUEST.

Notas

Nota:

Esta é uma 'superglobal', ou variável global automática. Isto significa que ela está disponível em todos escopos pelo script. Não há necessidade de fazer global $variable; para acessá-la dentro de uma função ou método.

Nota:

Quando executando em linha de comando , esta não incluirá as entradas argv e argc; estas estão presentes no array $_SERVER.

Nota:

As variáveis em $_REQUEST são providas para o script via mecanismos de entradas GET, POST, e COOKIE e portando poderia ser modificadas por um usuário remoto e não podem ser confiadas. A presença e ordem das variáveis listadas neste array é definido de acordo com a diretiva de configuração do PHP variables_order.

Veja Também

  • import_request_variables()
  • Manuseamento de variáveis externas
  • A extensão filter


Variáveis de sessão

  • « $_REQUEST
  • $_ENV »
  • PHP Manual
  • Variáveis pré-definidas
  • Variáveis de sessão

$_SESSION

$HTTP_SESSION_VARS [obsoleta]

$_SESSION -- $HTTP_SESSION_VARS [obsoleta] — Variáveis de sessão

Descrição

Um array associativo contendo variáveis de sessão disponíveis para o atual script. Veja a documentação das funções de Sessão para mais informação em como usar isto.

$HTTP_SESSION_VARS contém a mesma informação inicial, mas não é uma superglobal. (Note que $HTTP_SESSION_VARS e $_SESSION são diferentes variáveis e que o PHP manuseia-as diferentemente)

Changelog

Versão | Descrição
4.1.0 | Introduzida $_SESSION que torna obsoleta a $HTTP_SESSION_VARS.

Notas

Nota:

Esta é uma 'superglobal', ou variável global automática. Isto significa que ela está disponível em todos escopos pelo script. Não há necessidade de fazer global $variable; para acessá-la dentro de uma função ou método.

Veja Também

  • session_start() - Inicia uma nova sessão ou resume uma sessão existente


Environment variables

  • « $_SESSION
  • $_COOKIE »
  • PHP Manual
  • Variáveis pré-definidas
  • Environment variables

$_ENV

$HTTP_ENV_VARS [obsoleta]

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_ENV -- $HTTP_ENV_VARS [obsoleta] — Environment variables

Descrição

Um array associativo de variáveis passadas para o script atual via o método do ambiente.

Estas variáveis são importadas para o PHP do ambiente sob o qual o parser do PHP é executado. Muitas são providas pelo shell sob o qual o PHP é executado e diferentes sistemas são prováveis executar diferentes tipos de shells, uma lista definitiva é impossível. Veja a documentação de shellp para saber a lista de variáveis de ambiente definidas.

Outras variáveis de ambiente incluem variáveis CGI, elas aparecem desconsiderando se o PHP é executado como um módulo do servidor ou processador CGI.

$HTTP_ENV_VARS contém a mesma informação inicial, mas não é uma superglobal. (Note que $HTTP_ENV_VARS e $_ENV são variáveis diferentes e que o PHP manuseia-as diferentemente)

Changelog

Versão | Descrição
4.1.0 | Introduzida a $_ENV que torna obsoleta a $HTTP_ENV_VARS.

Exemplos

Exemplo #1 Exemplo da $_ENV

<?php
echo 'My username is ' .$_ENV["USER"] . '!';
?>

Assumindo que "bjori" executou este script

O exemplo acima irá imprimir algo similar à:

My username is bjori!

Notas

Nota:

Esta é uma 'superglobal', ou variável global automática. Isto significa que ela está disponível em todos escopos pelo script. Não há necessidade de fazer global $variable; para acessá-la dentro de uma função ou método.

Veja Também

  • getenv() - Obtém uma variável de ambiente
  • A extensão filter


HTTP Cookies

  • « $_ENV
  • $php_errormsg »
  • PHP Manual
  • Variáveis pré-definidas
  • HTTP Cookies

$_COOKIE

$HTTP_COOKIE_VARS [obsoleta]

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_COOKIE -- $HTTP_COOKIE_VARS [obsoleta] — HTTP Cookies

Descrição

Um array associativo de variáveis passadas para o atual script via HTTP Cookies.

$HTTP_COOKIE_VARS contém o mesma informação inicial, mas não é uma superglobal. (Note que $HTTP_COOKIE_VARS e $_COOKIE são variáveis diferentes e que o PHP manuseia-as diferentemente)

Changelog

Versão | Descrição
4.1.0 | Introduzida a $_COOKIE que torna obsoleta a $HTTP_COOKIE_VARS.

Exemplos

Exemplo #1 Exemplo da $_COOKIE

<?php
echo 'Hello ' . htmlspecialchars($_COOKIE["name"]) . '!';
?>

Assumindo que o "nome" do cookie tenha sido definido antes

O exemplo acima irá imprimir algo similar à:

Hello Hannes!

Notas

Nota:

Esta é uma 'superglobal', ou variável global automática. Isto significa que ela está disponível em todos escopos pelo script. Não há necessidade de fazer global $variable; para acessá-la dentro de uma função ou método.

Veja Também

  • setcookie() - Envia um cookie
  • Manuseando variáveis externas
  • A extensão filter


A mensagem de erro anterior

  • « $_COOKIE
  • $http_response_header »
  • PHP Manual
  • Variáveis pré-definidas
  • A mensagem de erro anterior

$php_errormsg

$php_errormsg — A mensagem de erro anterior

Descrição

$php_errormsg é uma variável contendo o texto da última mensagem de erro gerado pelo PHP. Esta variável somente estará disponível dentro do escopo no qual o erro ocorreu, e somente se a opção de configuração track_errors estiver on (o padrão é off).

Aviso

Se um manuseador de erro definido pelo usuário é usado, $php_erromsg somente será definida se o manuseador de erro retornar false

Exemplos

Exemplo #1 Exemplo da $php_errormsg

<?php
@strpos();
echo $php_errormsg;
?>

O exemplo acima irá imprimir algo similar à:

Wrong parameter count for strpos()


Cabeçalhos de resposta HTTP

  • « $php_errormsg
  • $argc »
  • PHP Manual
  • Variáveis pré-definidas
  • Cabeçalhos de resposta HTTP

$http_response_header

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

$http_response_header — Cabeçalhos de resposta HTTP

Descrição

O array $http_response_header é similar a função get_headers(). Quando usando o HTTP wrapper, $http_response_header será populada com os cabeçalhos de resposta HTTP. $http_response_header será criada no escopo local.

Exemplos

Exemplo #1 Exemplo da $http_response_header

<?php
function get_contents() {
  file_get_contents("http://example.com");
  var_dump($http_response_header);
}
get_contents();
var_dump($http_response_header);
?>

O exemplo acima irá imprimir algo similar à:

array(9) {
  [0]=>
  string(15) "HTTP/1.1 200 OK"
  [1]=>
  string(35) "Date: Sat, 12 Apr 2008 17:30:38 GMT"
  [2]=>
  string(29) "Server: Apache/2.2.3 (CentOS)"
  [3]=>
  string(44) "Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT"
  [4]=>
  string(27) "ETag: "280100-1b6-80bfd280""
  [5]=>
  string(20) "Accept-Ranges: bytes"
  [6]=>
  string(19) "Content-Length: 438"
  [7]=>
  string(17) "Connection: close"
  [8]=>
  string(38) "Content-Type: text/html; CHARSET=Windows-1252"
}
NULL


O número de argumentos passados para o script

  • « $http_response_header
  • $argv »
  • PHP Manual
  • Variáveis pré-definidas
  • O número de argumentos passados para o script

$argc

(PHP 4, PHP 5, PHP 7, PHP 8)

$argc — O número de argumentos passados para o script

Descrição

Contém o número de argumentos passados para o atual script quando executando através da linha de comando.

Nota: O nome do arquivo do script é sempre passado como um argumento para o script, portanto o valor mínimo de $argc é 1.

Nota: Esta variável está sempre disponível quando register_argc_argv está habilitada.

Exemplos

Exemplo #1 Exemplo da $argc

<?php
var_dump($argc);
?>

Quando executando o exemplo com: php script.php arg1 arg2 arg3

O exemplo acima irá imprimir algo similar à:

int(4)


Array de argumentos passados para o script

  • « $argc
  • Exceções pré-definidas »
  • PHP Manual
  • Variáveis pré-definidas
  • Array de argumentos passados para o script

$argv

(PHP 4, PHP 5, PHP 7, PHP 8)

$argv — Array de argumentos passados para o script

Descrição

Contém um array de todos argumentos passados para o script quando executando através da linha de comando.

Nota: O primeiro argumento é sempre o nome do arquivo do script atual, portanto $argv[0] é o nome do script.

Nota: Esta variável está sempre disponível quando register_argc_argv está habilitada.

Exemplos

Exemplo #1 Exemplo da $argv

<?php
var_dump($argv);
?>

Quando executando o exemplo com: php script.php arg1 arg2 arg3

O exemplo acima irá imprimir algo similar à:

array(4) {
  [0]=>
  string(10) "script.php"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}

Veja Também

  • getopt() - Obtém opções da lista de argumentos da linha de comando


Exceções pré-definidas

Índice

  • Exception
  • ErrorException
  • Error
  • ArithmeticError
  • AssertionError
  • DivisionByZeroError
  • ParseError
  • TypeError

Veja também as Exceções da SPL


Exception

(PHP 5, PHP 7, PHP 8)

Introdução

Exception é a classe base para todas Exceptions no PHP 5, e a classe base de todas as exceções de usuário no PHP 7.

No PHP 7, a classe Exception implementa a interface Throwable.

Sinopse da classe

Exception {
/* Propriedades */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
public __construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public getMessage ( ) : string
final public getPrevious ( ) : Exception
final public getCode ( ) : mixed
final public getFile ( ) : string
final public getLine ( ) : string
final public getTrace ( ) : array
final public getTraceAsString ( ) : string
public __toString ( ) : string
final private __clone ( ) : string
}

Propriedades

message

A mensagem da exceção

code

O código da exceção

file

O nome do arquivo onde a exceção foi criada

line

A linha onde a exceção foi criada

Índice

  • Exception::__construct — Construtor da exceção
  • Exception::getMessage — Obtém a mensagem da exceção
  • Exception::getPrevious — Retorna Exception anterior
  • Exception::getCode — Obtém o código da exceção
  • Exception::getFile — Obtém o arquivo no qual a exceção ocorreu
  • Exception::getLine — Obtém a linha na qual a exceção ocorreu
  • Exception::getTrace — Obtém a stack trace
  • Exception::getTraceAsString — Obtém a stack trace como uma string
  • Exception::__toString — Representação string da exceção
  • Exception::__clone — Clona a exceção


Construtor da exceção

  • « Exception
  • Exception::getMessage »
  • PHP Manual
  • Exception
  • Construtor da exceção

Exception::__construct

(PHP 5, PHP 7, PHP 8)

Exception::__construct — Construtor da exceção

Descrição

public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )

Construtor da exceção.

Parâmetros

message

A mensagem da exceção a ser disparada.

code

O código da exceção.

previous

A exceção anteriormente usada para encadeamento de exceções.

Changelog

Versão | Descrição
7.0.0 | O parâmetro previous agora é do tipo Throwable.
5.3.0 | O parâmetro excecao_anterior foi adicionado.

Notas

Nota:

O parâmetro message NÃO é binary safe.


Obtém a mensagem da exceção

  • « Exception::__construct
  • Exception::getPrevious »
  • PHP Manual
  • Exception
  • Obtém a mensagem da exceção

Exception::getMessage

(PHP 5, PHP 7, PHP 8)

Exception::getMessage — Obtém a mensagem da exceção

Descrição

final public Exception::getMessage ( ) : string

Retorna a mensagem da exceção.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna a mensagem da exceção como uma string.

Exemplos

Exemplo #1 Exemplo da Exception::getMessage()

<?php
try {
    throw new Exception("Some error message");
} catch(Exception $e) {
    echo $e->getMessage();
}
?>

O exemplo acima irá imprimir algo similar à:

Some error message

Veja Também

  • Throwable::getMessage() - Gets the message


Retorna Exception anterior

  • « Exception::getMessage
  • Exception::getCode »
  • PHP Manual
  • Exception
  • Retorna Exception anterior

Exception::getPrevious

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Exception::getPrevious — Retorna Exception anterior

Descrição

final public Exception::getPrevious ( ) : Exception

Retorna a Exception anterior (o terceiro parâmetro do método Exception::__construct()).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna a Exception anterior se disponível senão null.

Exemplos

Exemplo #1 Exception::getPrevious() example

Iterando e imprimindo a pilha de erro.

<?php
class MyCustomException extends Exception {}

function doStuff() {
    try {
        throw new InvalidArgumentException("Você está fazendo isso errado!", 112);
    } catch(Exception $e) {
        throw new MyCustomException("Alguma coisa aconteceu", 911, $e);
    }
}

try {
    doStuff();
} catch(Exception $e) {
    do {
        printf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e));
    } while($e = $e->getPrevious());
}
?>

O exemplo acima irá imprimir algo similar à:

/home/bjori/ex.php:8 Alguma coisa aconteceu (911) [MyCustomException]
/home/bjori/ex.php:6 Você está fazendo isso errado! (112) [InvalidArgumentException]

Veja Também

  • Throwable::getPrevious() - Returns the previous Throwable


Obtém o código da exceção

  • « Exception::getPrevious
  • Exception::getFile »
  • PHP Manual
  • Exception
  • Obtém o código da exceção

Exception::getCode

(PHP 5, PHP 7, PHP 8)

Exception::getCode — Obtém o código da exceção

Descrição

final public Exception::getCode ( ) : mixed

Retorna o código da exceção.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o código da Exceção como um integer da Exception mas possívelmente outros tipos descendentes de Exception (PDOException, por exemplo, retorna como string).

Exemplos

Exemplo #1 Exemplo da Exception::getCode()

<?php
try {
    throw new Exception("Some error message", 30);
} catch(Exception $e) {
    echo "The exception code is: " . $e->getCode();
}
?>

O exemplo acima irá imprimir algo similar à:

The exception code is: 30

Veja Também

  • Throwable::getCode() - Gets the exception code


Obtém o arquivo no qual a exceção ocorreu

  • « Exception::getCode
  • Exception::getLine »
  • PHP Manual
  • Exception
  • Obtém o arquivo no qual a exceção ocorreu

Exception::getFile

(PHP 5, PHP 7, PHP 8)

Exception::getFile — Obtém o arquivo no qual a exceção ocorreu

Descrição

final public Exception::getFile ( ) : string

Obtém o nome do arquivo de onde a exceção foi criada.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o nome do arquivo no qual a exceção foi criada.

Exemplos

Exemplo #1 Exemplo da Exception::getFile()

<?php
try {
    throw new Exception;
} catch(Exception $e) {
    echo $e->getFile();
}
?>

O exemplo acima irá imprimir algo similar à:

/home/bjori/tmp/ex.php

Veja Também

  • Throwable::getFile() - Gets the file in which the object was created


Obtém a linha na qual a exceção ocorreu

  • « Exception::getFile
  • Exception::getTrace »
  • PHP Manual
  • Exception
  • Obtém a linha na qual a exceção ocorreu

Exception::getLine

(PHP 5, PHP 7, PHP 8)

Exception::getLine — Obtém a linha na qual a exceção ocorreu

Descrição

final public Exception::getLine ( ) : string

Retorna o número da linha onde a exceção foi disparada.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o número da linha onde a exceção foi disparada.

Exemplos

Exemplo #1 Exemplo da Exception::getLine()

<?php
try {
    throw new Exception("Some error message");
} catch(Exception $e) {
    echo "The exception was thrown on line: " . $e->getLine();
}
?>

O exemplo acima irá imprimir algo similar à:

The exception was thrown on line: 3

Veja Também

  • Throwable::getLine() - Gets the line on which the object was instantiated


Obtém a stack trace

  • « Exception::getLine
  • Exception::getTraceAsString »
  • PHP Manual
  • Exception
  • Obtém a stack trace

Exception::getTrace

(PHP 5, PHP 7, PHP 8)

Exception::getTrace — Obtém a stack trace

Descrição

final public Exception::getTrace ( ) : array

Retorna a stack trace da exceção.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna a stack trace da exceção como um array.

Exemplos

Exemplo #1 Exemplo da Exception::getTrace()

<?php
function test() {
 throw new Exception;
}

try {
 test();
} catch(Exception $e) {
 var_dump($e->getTrace());
}
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  array(4) {
    ["file"]=>
    string(22) "/home/bjori/tmp/ex.php"
    ["line"]=>
    int(7)
    ["function"]=>
    string(4) "test"
    ["args"]=>
    array(0) {
    }
  }
}

Veja Também

  • Throwable::getTrace() - Gets the stack trace


Obtém a stack trace como uma string

  • « Exception::getTrace
  • Exception::__toString »
  • PHP Manual
  • Exception
  • Obtém a stack trace como uma string

Exception::getTraceAsString

(PHP 5, PHP 7, PHP 8)

Exception::getTraceAsString — Obtém a stack trace como uma string

Descrição

final public Exception::getTraceAsString ( ) : string

Retorna a stack trace da exceção como uma string.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna a stack trace da exceção como uma string.

Exemplos

Exemplo #1 Exemplo da Exception::getTraceAsString()

<?php
function test() {
    throw new Exception;
}

try {
    test();
} catch(Exception $e) {
    echo $e->getTraceAsString();
}
?>

O exemplo acima irá imprimir algo similar à:

#0 /home/bjori/tmp/ex.php(7): test()
#1 {main}

Veja Também

  • Throwable::getTraceAsString() - Gets the stack trace as a string


Representação string da exceção

  • « Exception::getTraceAsString
  • Exception::__clone »
  • PHP Manual
  • Exception
  • Representação string da exceção

Exception::__toString

(PHP 5, PHP 7, PHP 8)

Exception::__toString — Representação string da exceção

Descrição

public Exception::__toString ( ) : string

Retorna a representação string da exceção.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna a representação string da exceção.

Exemplos

Exemplo #1 Exemplo da Exception::__toString()

<?php
try {
    throw new Exception("Some error message");
} catch(Exception $e) {
    echo $e;
}
?>

O exemplo acima irá imprimir algo similar à:

exception 'Exception' with message 'Some error message' in /home/bjori/tmp/ex.php:3
Stack trace:
#0 {main}

Veja Também

  • Throwable::getMessage() - Gets the message


Clona a exceção

  • « Exception::__toString
  • ErrorException »
  • PHP Manual
  • Exception
  • Clona a exceção

Exception::__clone

(PHP 5, PHP 7, PHP 8)

Exception::__clone — Clona a exceção

Descrição

final private Exception::__clone ( ) : string

Tenta clonar a exceção, o que resulta em um erro fatal.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Erros

Exceções não são clonáveis.


ErrorException

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Introdução

Uma exceção Error.

Sinopse da classe

ErrorException extends Exception {
/* Propriedades */
protected int $severity ;
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
public __construct ( string $message = "" , int $code = 0 , int $severity = E_ERROR , string $filename = __FILE__ , int $lineno = __LINE__ , Exception $previous = null )
final public getSeverity ( ) : int
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Propriedades

severity

O nível da exceção

Exemplos

Exemplo #1 Use a função set_error_handler() para transformar mensagens de erro em ErrorException.

<?php
function exception_error_handler($severity, $message, $file, $line) {
    if (!(error_reporting() & $severity)) {
        // This error code is not included in error_reporting
        return;
    }
    throw new ErrorException($message, 0, $severity, $file, $line);
}
set_error_handler("exception_error_handler");

/* Trigger exception */
strpos();
?>

O exemplo acima irá imprimir algo similar à:

Fatal error: Uncaught exception 'ErrorException' with message 'strpos() expects at least 2 parameters, 0 given' in /home/bjori/tmp/ex.php:12
Stack trace:
#0 [internal function]: exception_error_handler(2, 'strpos() expect...', '/home/bjori/php...', 12, Array)
#1 /home/bjori/php/cleandocs/test.php(12): strpos()
#2 {main}
  thrown in /home/bjori/tmp/ex.php on line 12

Índice

  • ErrorException::__construct — Constrói a exceção
  • ErrorException::getSeverity — Obtém o nível da exceção


Constrói a exceção

  • « ErrorException
  • ErrorException::getSeverity »
  • PHP Manual
  • ErrorException
  • Constrói a exceção

ErrorException::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ErrorException::__construct — Constrói a exceção

Descrição

public ErrorException::__construct ( string $message = "" , int $code = 0 , int $severity = E_ERROR , string $filename = __FILE__ , int $lineno = __LINE__ , Exception $previous = null )

Construtor da Exception.

Parâmetros

message

A mensagem da exceção a ser disparada.

code

O código da exceção.

severity

A severidade da exceção.

Nota:

Como a severidade da seção pode ser qualquer valor integer, é desejado que as constantes de erro sejam utilizadas.

filename

O nome do arquivo onde a exceção é disparada.

lineno

A número da linha onde a exceção é disparada.

previous

A exceção anteriormente usada para encadeamento de exceções.

Changelog

Versão | Descrição
5.3.0 | O parâmetro previous foi adicionado.


Obtém o nível da exceção

  • « ErrorException::__construct
  • Error »
  • PHP Manual
  • ErrorException
  • Obtém o nível da exceção

ErrorException::getSeverity

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ErrorException::getSeverity — Obtém o nível da exceção

Descrição

final public ErrorException::getSeverity ( ) : int

Retorna o nível da exceção.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o nível da exceção.

Exemplos

Exemplo #1 Exemplo do método ErrorException::getSeverity()

<?php
try {
    throw new ErrorException("Exception message", 0, E_USER_ERROR);
} catch(ErrorException $e) {
    echo "This exception severity is: " . $e->getSeverity();
    var_dump($e->getSeverity() === E_USER_ERROR);
}
?>

O exemplo acima irá imprimir algo similar à:

This exception severity is: 256
bool(true)


Error

(PHP 7, PHP 8)

Introdução

Error é a classe base para todas as exceções de erros internos do PHP.

Sinopse da classe

Error implements Throwable {
/* Propriedades */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
public __construct ( string $message = "" , int $code = 0 , Throwable $previous = null )
final public getMessage ( ) : string
final public getPrevious ( ) : Throwable
final public getCode ( ) : mixed
final public getFile ( ) : string
final public getLine ( ) : int
final public getTrace ( ) : array
final public getTraceAsString ( ) : string
public __toString ( ) : string
final private __clone ( ) : void
}

Propriedades

message

A mensagem de erro

code

O código do erro

file

O nome do arquivo onde o erro aconteceu

line

A linha onde o erro aconteceu

Índice

  • Error::__construct — Constrói o objeto error
  • Error::getMessage — Recupera a mensagem de erro
  • Error::getPrevious — Retorna o último Throwable
  • Error::getCode — Recupera o código do erro
  • Error::getFile — Recupera o arquivo onde o erro ocorreu.
  • Error::getLine — Recupera a linha onde o erro ocorreu.
  • Error::getTrace — Recupera a pilha de rastreio
  • Error::getTraceAsString — Recupera a pilha de rastreio como uma string
  • Error::__toString — Representação em string do erro
  • Error::__clone — Clona o erro


Constrói o objeto error

  • « Error
  • Error::getMessage »
  • PHP Manual
  • Error
  • Constrói o objeto error

Error::__construct

(PHP 7, PHP 8)

Error::__construct — Constrói o objeto error

Descrição

public Error::__construct ( string $message = "" , int $code = 0 , Throwable $previous = null )

Constrói o Erro

Parâmetros

message

A mensagem de erro.

code

O código do erro.

previous

O último lançável utilizado para o aninhamento de exceção.

Notas

Nota:

O parâmetro message NÃO é binary safe.


Recupera a mensagem de erro

  • « Error::__construct
  • Error::getPrevious »
  • PHP Manual
  • Error
  • Recupera a mensagem de erro

Error::getMessage

(PHP 7, PHP 8)

Error::getMessage — Recupera a mensagem de erro

Descrição

final public Error::getMessage ( ) : string

Recupera a mensagem de erro.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Recupera a mensagem de erro como uma string.

Exemplos

Exemplo #1 Exemplo do método Error::getMessage()

<?php
try {
    throw new Error("Mensagem de erro");
} catch(Error $e) {
    echo $e->getMessage();
}
?>

O exemplo acima irá imprimir algo similar à:

Mensagem de erro

Veja Também

  • Throwable::getMessage() - Gets the message


Retorna o último Throwable

  • « Error::getMessage
  • Error::getCode »
  • PHP Manual
  • Error
  • Retorna o último Throwable

Error::getPrevious

(PHP 7, PHP 8)

Error::getPrevious — Retorna o último Throwable

Descrição

final public Error::getPrevious ( ) : Throwable

Retorna o último Throwable (o terceiro parâmetro do Error::__construct()).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o último Throwable se disponível ou null.

Exemplos

Exemplo #1 Exemplo do método Error::getPrevious()

Iterando e imprimindo a pilha de erro.

<?php
class MyCustomError extends Error {}

function doStuff() {
    try {
        throw new InvalidArgumentError("You are doing it wrong!", 112);
    } catch(Error $e) {
        throw new MyCustomError("Something happened", 911, $e);
    }
}

try {
    doStuff();
} catch(Error $e) {
    do {
        printf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e));
    } while($e = $e->getPrevious());
}
?>

O exemplo acima irá imprimir algo similar à:

/home/bjori/ex.php:8 Something happened (911) [MyCustomError]
/home/bjori/ex.php:6 You are doing it wrong! (112) [InvalidArgumentError]

Veja Também

  • Throwable::getPrevious() - Returns the previous Throwable


Recupera o código do erro

  • « Error::getPrevious
  • Error::getFile »
  • PHP Manual
  • Error
  • Recupera o código do erro

Error::getCode

(PHP 7, PHP 8)

Error::getCode — Recupera o código do erro

Descrição

final public Error::getCode ( ) : mixed

Retorna o código do erro.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o código do erro como um integer

Exemplos

Exemplo #1 Exemplo do método Error::getCode()

<?php
try {
    throw new Error("Mensagem de erro", 30);
} catch(Error $e) {
    echo "O código do erro é: " . $e->getCode();
}
?>

O exemplo acima irá imprimir algo similar à:

O código do erro é: 30

Veja Também

  • Throwable::getCode() - Gets the exception code


Recupera o arquivo onde o erro ocorreu.

  • « Error::getCode
  • Error::getLine »
  • PHP Manual
  • Error
  • Recupera o arquivo onde o erro ocorreu.

Error::getFile

(PHP 7, PHP 8)

Error::getFile — Recupera o arquivo onde o erro ocorreu.

Descrição

final public Error::getFile ( ) : string

Recupera o nome do arquivo onde o erro ocorreu.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o nome do arquivo onde o erro ocorreu.

Exemplos

Exemplo #1 Exemplo do método Error::getFile()

<?php
try {
    throw new Error;
} catch(Error $e) {
    echo $e->getFile();
}
?>

O exemplo acima irá imprimir algo similar à:

/home/bjori/tmp/ex.php

Veja Também

  • Throwable::getFile() - Gets the file in which the object was created


Recupera a linha onde o erro ocorreu.

  • « Error::getFile
  • Error::getTrace »
  • PHP Manual
  • Error
  • Recupera a linha onde o erro ocorreu.

Error::getLine

(PHP 7, PHP 8)

Error::getLine — Recupera a linha onde o erro ocorreu.

Descrição

final public Error::getLine ( ) : int

Recupera o número da linha onde o erro ocorreu.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o número da linha onde o erro ocorreu.

Exemplos

Exemplo #1 Exemplo do método Error::getLine()

<?php
try {
    throw new Error("Mensagem de erro");
} catch(Error $e) {
    echo "O erro foi criado na linha: " . $e->getLine();
}
?>

O exemplo acima irá imprimir algo similar à:

O erro foi criado na linha: 3

Veja Também

  • Throwable::getLine() - Gets the line on which the object was instantiated


Recupera a pilha de rastreio

  • « Error::getLine
  • Error::getTraceAsString »
  • PHP Manual
  • Error
  • Recupera a pilha de rastreio

Error::getTrace

(PHP 7, PHP 8)

Error::getTrace — Recupera a pilha de rastreio

Descrição

final public Error::getTrace ( ) : array

Recupera a pilha de rastreio.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Recupera a pilha de rastreio como um array.

Exemplos

Exemplo #1 Exemplo do método Error::getTrace()

<?php
function test() {
 throw new Error;
}

try {
 test();
} catch(Error $e) {
 var_dump($e->getTrace());
}
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  array(4) {
    ["file"]=>
    string(22) "/home/bjori/tmp/ex.php"
    ["line"]=>
    int(7)
    ["function"]=>
    string(4) "test"
    ["args"]=>
    array(0) {
    }
  }
}

Veja Também

  • Throwable::getTrace() - Gets the stack trace


Recupera a pilha de rastreio como uma string

  • « Error::getTrace
  • Error::__toString »
  • PHP Manual
  • Error
  • Recupera a pilha de rastreio como uma string

Error::getTraceAsString

(PHP 7, PHP 8)

Error::getTraceAsString — Recupera a pilha de rastreio como uma string

Descrição

final public Error::getTraceAsString ( ) : string

Recupera a pilha de rastreio como uma string.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Recupera a pilha de rastreio como uma string.

Exemplos

Exemplo #1 Exemplo do método Error::getTraceAsString()

<?php
function test() {
    throw new Error;
}

try {
    test();
} catch(Error $e) {
    echo $e->getTraceAsString();
}
?>

O exemplo acima irá imprimir algo similar à:

#0 /home/bjori/tmp/ex.php(7): test()
#1 {main}

Veja Também

  • Throwable::getTraceAsString() - Gets the stack trace as a string


Representação em string do erro

  • « Error::getTraceAsString
  • Error::__clone »
  • PHP Manual
  • Error
  • Representação em string do erro

Error::__toString

(PHP 7, PHP 8)

Error::__toString — Representação em string do erro

Descrição

public Error::__toString ( ) : string

Retorna a representação em string do erro.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Iterando e imprimindo a trilha de erro.

Exemplos

Exemplo #1 Exemplo do método Error::__toString()

<?php
try {
    throw new Error("Mensagem de erro");
} catch(Error $e) {
    echo $e;
}
?>

O exemplo acima irá imprimir algo similar à:

Error: Mensagem de erro in /home/bjori/tmp/ex.php:3
Stack trace:
#0 {main}

Veja Também

  • Throwable::__toString() - Gets a string representation of the thrown object


Clona o erro

  • « Error::__toString
  • ArithmeticError »
  • PHP Manual
  • Error
  • Clona o erro

Error::__clone

(PHP 7, PHP 8)

Error::__clone — Clona o erro

Descrição

final private Error::__clone ( ) : void

Error não pode ser clonada, então o método resulta em um erro fatal.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Erros

Erros não podem ser clonados.


ArithmeticError

(PHP 7, PHP 8)

Introdução

ArithmeticError é lançado quando um erro ocorrer ao executar operações matemáticas. No PHP 7.0, esses erros incluem a tentativa de executar um deslocamento de bits por uma quantidade negativa, e qualquer chamada para a função intdiv() que resultaria num valor fora dos possíveis limites para um tipo integer.

Sinopse da classe

ArithmeticError extends Error {
/* Métodos herdados */
final public Error::getMessage ( ) : string
final public Error::getPrevious ( ) : Throwable
final public Error::getCode ( ) : mixed
final public Error::getFile ( ) : string
final public Error::getLine ( ) : int
final public Error::getTrace ( ) : array
final public Error::getTraceAsString ( ) : string
public Error::__toString ( ) : string
final private Error::__clone ( ) : void
}


AssertionError

(PHP 7, PHP 8)

Introdução

AssertionError é lançada quando uma afirmação feita por meio da função assert() falha.

Sinopse da classe

AssertionError extends Error {
/* Métodos herdados */
final public Error::getMessage ( ) : string
final public Error::getPrevious ( ) : Throwable
final public Error::getCode ( ) : mixed
final public Error::getFile ( ) : string
final public Error::getLine ( ) : int
final public Error::getTrace ( ) : array
final public Error::getTraceAsString ( ) : string
public Error::__toString ( ) : string
final private Error::__clone ( ) : void
}


DivisionByZeroError

(PHP 7, PHP 8)

Introdução

DivisionByZeroError é lançada quando uma tentativa de dividir um número por zero é feita.

Sinopse da classe

DivisionByZeroError extends ArithmeticError {
/* Métodos herdados */
final public Error::getMessage ( ) : string
final public Error::getPrevious ( ) : Throwable
final public Error::getCode ( ) : mixed
final public Error::getFile ( ) : string
final public Error::getLine ( ) : int
final public Error::getTrace ( ) : array
final public Error::getTraceAsString ( ) : string
public Error::__toString ( ) : string
final private Error::__clone ( ) : void
}


ParseError

(PHP 7, PHP 8)

Introdução

ParseError é lançada quando um erro ocorrer na interpretação do código PHP, como quando a função eval() é chamada.

Sinopse da classe

ParseError extends Error {
/* Métodos herdados */
final public Error::getMessage ( ) : string
final public Error::getPrevious ( ) : Throwable
final public Error::getCode ( ) : mixed
final public Error::getFile ( ) : string
final public Error::getLine ( ) : int
final public Error::getTrace ( ) : array
final public Error::getTraceAsString ( ) : string
public Error::__toString ( ) : string
final private Error::__clone ( ) : void
}


TypeError

(PHP 7, PHP 8)

Introdução

Existem três cenários em que um TypeError pode ser lançado. O primeiro é quando o tipo do argumento passado a uma função não combina com o tipo do parâmetro declarado. O segundo é quando o valor retornado de uma função não combina com o tipo de retorno declarado. O terceiro é quando um número de argumentos inválidos são passados a uma função built-in do PHP (somente no modo restrito).

Sinopse da classe

TypeError extends Error {
/* Métodos herdados */
final public Error::getMessage ( ) : string
final public Error::getPrevious ( ) : Throwable
final public Error::getCode ( ) : mixed
final public Error::getFile ( ) : string
final public Error::getLine ( ) : int
final public Error::getTrace ( ) : array
final public Error::getTraceAsString ( ) : string
public Error::__toString ( ) : string
final private Error::__clone ( ) : void
}


Interfaces e Classes pré-definidas

Índice

  • Traversable
  • Iterator
  • IteratorAggregate
  • Throwable
  • ArrayAccess
  • Serializable
  • Closure
  • Generator
  • WeakReference

Veja também as Interfaces SPL e classes reservadas.


A interface Traversable

(PHP 5, PHP 7, PHP 8)

Introdução

Interface para detectar se uma classe é percorrível utilizando o foreach.

Interface básica abstrata que não pode ser implementa sozinha. Ao invés, deve ser implementada as interfaces IteratorAggregate ou Iterator.

Nota:

Classes internas (built-in) que implementam essa interface podem ser utilizadas em um construtor de linguagem foreach e não precisam implementar as interfaces IteratorAggregate ou Iterator.

Nota:

É uma interface interna do motor do PHP que não pode ser implementada em scripts PHP. A interface IteratorAggregate ou Iterator deve ser implementada em substituição. Ao implementar uma interface que estende Traversable, tenha certeza de colocar a interface IteratorAggregate ou Iterator antes na cláusula de implementações.

Resumo da Interface

Traversable {
}

Esta interface não possui métodos, seu único propósito é de servir como interface base para todas as classes percorríveis.


A interface Iterator

(PHP 5, PHP 7, PHP 8)

Introdução

Interface para iteradores externos ou objetos poderem ser iterados por eles mesmos internamente.

Resumo da Interface

Iterator extends Traversable {
/* Métodos */
abstract public current ( ) : mixed
abstract public key ( ) : scalar
abstract public next ( ) : void
abstract public rewind ( ) : void
abstract public valid ( ) : bool
}

Iterators predefinidos

O PHP já possui diversos iteradores para muitas das tarefas do dia a dia. Veja iteradores SPL para uma lista.

Exemplos

Exemplo #1 Utilização básica

Este exemplo demonstra em qual ordem os métodos são chamados quando estiver usando um foreach em um iterador.

<?php
class myIterator implements Iterator {
    private $position = 0;
    private $array = array(
        "firstelement",
        "secondelement",
        "lastelement",
    );

    public function __construct() {
        $this->position = 0;
    }

    function rewind() {
        var_dump(__METHOD__);
        $this->position = 0;
    }

    function current() {
        var_dump(__METHOD__);
        return $this->array[$this->position];
    }

    function key() {
        var_dump(__METHOD__);
        return $this->position;
    }

    function next() {
        var_dump(__METHOD__);
        ++$this->position;
    }

    function valid() {
        var_dump(__METHOD__);
        return isset($this->array[$this->position]);
    }
}

$it = new myIterator;

foreach($it as $key => $value) {
    var_dump($key, $value);
    echo "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

string(18) "myIterator::rewind"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
int(0)
string(12) "firstelement"

string(16) "myIterator::next"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
int(1)
string(13) "secondelement"

string(16) "myIterator::next"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
int(2)
string(11) "lastelement"

string(16) "myIterator::next"
string(17) "myIterator::valid"

Índice

  • Iterator::current — Return the current element
  • Iterator::key — Return the key of the current element
  • Iterator::next — Move forward to next element
  • Iterator::rewind — Rewind the Iterator to the first element
  • Iterator::valid — Checks if current position is valid


Return the current element

  • « Iterator
  • Iterator::key »
  • PHP Manual
  • Iterator
  • Return the current element

Iterator::current

(PHP 5, PHP 7, PHP 8)

Iterator::current — Return the current element

Descrição

abstract public Iterator::current ( ) : mixed

Returns the current element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Can return any type.


Return the key of the current element

  • « Iterator::current
  • Iterator::next »
  • PHP Manual
  • Iterator
  • Return the key of the current element

Iterator::key

(PHP 5, PHP 7, PHP 8)

Iterator::key — Return the key of the current element

Descrição

abstract public Iterator::key ( ) : scalar

Returns the key of the current element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns scalar on success, or null on failure.

Erros

Issues E_NOTICE on failure.


Move forward to next element

  • « Iterator::key
  • Iterator::rewind »
  • PHP Manual
  • Iterator
  • Move forward to next element

Iterator::next

(PHP 5, PHP 7, PHP 8)

Iterator::next — Move forward to next element

Descrição

abstract public Iterator::next ( ) : void

Moves the current position to the next element.

Nota:

This method is called after each foreach loop.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Any returned value is ignored.


Rewind the Iterator to the first element

  • « Iterator::next
  • Iterator::valid »
  • PHP Manual
  • Iterator
  • Rewind the Iterator to the first element

Iterator::rewind

(PHP 5, PHP 7, PHP 8)

Iterator::rewind — Rewind the Iterator to the first element

Descrição

abstract public Iterator::rewind ( ) : void

Rewinds back to the first element of the Iterator.

Nota:

This is the first method called when starting a foreach loop. It will not be executed after foreach loops.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Any returned value is ignored.


Checks if current position is valid

  • « Iterator::rewind
  • IteratorAggregate »
  • PHP Manual
  • Iterator
  • Checks if current position is valid

Iterator::valid

(PHP 5, PHP 7, PHP 8)

Iterator::valid — Checks if current position is valid

Descrição

abstract public Iterator::valid ( ) : bool

This method is called after Iterator::rewind() and Iterator::next() to check if the current position is valid.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The return value will be casted to bool and then evaluated. Retorna true em caso de sucesso ou false em caso de falha.


A interface IteratorAggregate

(PHP 5, PHP 7, PHP 8)

Introdução

Interface para criar um Iterator externo.

Resumo da Interface

IteratorAggregate extends Traversable {
/* Métodos */
abstract public getIterator ( ) : Traversable
}

Exemplo #1 Utilização básica

<?php
class myData implements IteratorAggregate {
    public $property1 = "Public property one";
    public $property2 = "Public property two";
    public $property3 = "Public property three";

    public function __construct() {
        $this->property4 = "last property";
    }

    public function getIterator() {
        return new ArrayIterator($this);
    }
}

$obj = new myData;

foreach($obj as $key => $value) {
    var_dump($key, $value);
    echo "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

string(9) "property1"
string(19) "Public property one"

string(9) "property2"
string(19) "Public property two"

string(9) "property3"
string(21) "Public property three"

string(9) "property4"
string(13) "last property"

Índice

  • IteratorAggregate::getIterator — Recupera um iterator externo


Recupera um iterator externo

  • « IteratorAggregate
  • Throwable »
  • PHP Manual
  • IteratorAggregate
  • Recupera um iterator externo

IteratorAggregate::getIterator

(PHP 5, PHP 7, PHP 8)

IteratorAggregate::getIterator — Recupera um iterator externo

Descrição

abstract public IteratorAggregate::getIterator ( ) : Traversable

Retorna um iterator externo.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Uma instância de um objeto que implementa Iterator ou Traversable

Erros

Lança uma Exception em caso de falha.


Throwable

(PHP 7, PHP 8)

Introdução

Throwable é a interface base para qualquer objeto lançável usando a declaração throw no PHP 7, incluindo as classes Error e Exception.

Nota:

Classes do PHP não podem implementar a interface Throwable diretamente, e devem, ao invés, estender a classe Exception.

Resumo da Interface

Throwable {
/* Métodos */
abstract public getMessage ( ) : string
abstract public getCode ( ) : int
abstract public getFile ( ) : string
abstract public getLine ( ) : int
abstract public getTrace ( ) : array
abstract public getTraceAsString ( ) : string
abstract public getPrevious ( ) : Throwable
abstract public __toString ( ) : string
}

Índice

  • Throwable::getMessage — Gets the message
  • Throwable::getCode — Gets the exception code
  • Throwable::getFile — Gets the file in which the object was created
  • Throwable::getLine — Gets the line on which the object was instantiated
  • Throwable::getTrace — Gets the stack trace
  • Throwable::getTraceAsString — Gets the stack trace as a string
  • Throwable::getPrevious — Returns the previous Throwable
  • Throwable::__toString — Gets a string representation of the thrown object


Gets the message

  • « Throwable
  • Throwable::getCode »
  • PHP Manual
  • Throwable
  • Gets the message

Throwable::getMessage

(PHP 7, PHP 8)

Throwable::getMessage — Gets the message

Descrição

abstract public Throwable::getMessage ( ) : string

Returns the message associated with the thrown object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the message associated with the thrown object.

Veja Também

  • Exception::getMessage() - Obtém a mensagem da exceção


Gets the exception code

  • « Throwable::getMessage
  • Throwable::getFile »
  • PHP Manual
  • Throwable
  • Gets the exception code

Throwable::getCode

(PHP 7, PHP 8)

Throwable::getCode — Gets the exception code

Descrição

abstract public Throwable::getCode ( ) : int

Returns the error code associated with the thrown object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the exception code as int in Exception but possibly as other type in Exception descendants (for example as string in PDOException).

Veja Também

  • Exception::getCode() - Obtém o código da exceção


Gets the file in which the object was created

  • « Throwable::getCode
  • Throwable::getLine »
  • PHP Manual
  • Throwable
  • Gets the file in which the object was created

Throwable::getFile

(PHP 7, PHP 8)

Throwable::getFile — Gets the file in which the object was created

Descrição

abstract public Throwable::getFile ( ) : string

Get the name of the file in which the thrown object was created.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the filename in which the thrown object was created.

Veja Também

  • Exception::getFile() - Obtém o arquivo no qual a exceção ocorreu


Gets the line on which the object was instantiated

  • « Throwable::getFile
  • Throwable::getTrace »
  • PHP Manual
  • Throwable
  • Gets the line on which the object was instantiated

Throwable::getLine

(PHP 7, PHP 8)

Throwable::getLine — Gets the line on which the object was instantiated

Descrição

abstract public Throwable::getLine ( ) : int

Returns the line number where the thrown object was instantiated.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the line number where the thrown object was instantiated.

Veja Também

  • Exception::getLine() - Obtém a linha na qual a exceção ocorreu


Gets the stack trace

  • « Throwable::getLine
  • Throwable::getTraceAsString »
  • PHP Manual
  • Throwable
  • Gets the stack trace

Throwable::getTrace

(PHP 7, PHP 8)

Throwable::getTrace — Gets the stack trace

Descrição

abstract public Throwable::getTrace ( ) : array

Returns the stack trace as an array.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the stack trace as an array in the same format as debug_backtrace().

Veja Também

  • Exception::getTrace() - Obtém a stack trace


Gets the stack trace as a string

  • « Throwable::getTrace
  • Throwable::getPrevious »
  • PHP Manual
  • Throwable
  • Gets the stack trace as a string

Throwable::getTraceAsString

(PHP 7, PHP 8)

Throwable::getTraceAsString — Gets the stack trace as a string

Descrição

abstract public Throwable::getTraceAsString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the stack trace as a string.

Veja Também

  • Exception::getTraceAsString() - Obtém a stack trace como uma string


Returns the previous Throwable

  • « Throwable::getTraceAsString
  • Throwable::__toString »
  • PHP Manual
  • Throwable
  • Returns the previous Throwable

Throwable::getPrevious

(PHP 7, PHP 8)

Throwable::getPrevious — Returns the previous Throwable

Descrição

abstract public Throwable::getPrevious ( ) : Throwable

Returns any previous Throwable (for example, one provided as the third parameter to Exception::__construct()).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the previous Throwable if available, or null otherwise.

Veja Também

  • Exception::getPrevious() - Retorna Exception anterior


Gets a string representation of the thrown object

  • « Throwable::getPrevious
  • ArrayAccess »
  • PHP Manual
  • Throwable
  • Gets a string representation of the thrown object

Throwable::__toString

(PHP 7, PHP 8)

Throwable::__toString — Gets a string representation of the thrown object

Descrição

abstract public Throwable::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of the thrown object.

Veja Também

  • Exception::__toString() - Representação string da exceção


A interface ArrayAccess

(PHP 5, PHP 7, PHP 8)

Introdução

Iterface que provê o acesso a objetos como se fossem arrays.

Resumo da Interface

ArrayAccess {
/* Métodos */
abstract public offsetExists ( mixed $offset ) : boolean
abstract public offsetGet ( mixed $offset ) : mixed
abstract public offsetSet ( mixed $offset , mixed $value ) : void
abstract public offsetUnset ( mixed $offset ) : void
}

Exemplo #1 Utilização básica

<?php
class obj implements ArrayAccess {
    private $container = array();

    public function __construct() {
        $this->container = array(
            "one"   => 1,
            "two"   => 2,
            "three" => 3,
        );
    }

    public function offsetSet($offset, $value) {
        if (is_null($offset)) {
            $this->container[] = $value;
        } else {
            $this->container[$offset] = $value;
        }
    }

    public function offsetExists($offset) {
        return isset($this->container[$offset]);
    }

    public function offsetUnset($offset) {
        unset($this->container[$offset]);
    }

    public function offsetGet($offset) {
        return isset($this->container[$offset]) ? $this->container[$offset] : null;
    }
}

$obj = new obj;

var_dump(isset($obj["two"]));
var_dump($obj["two"]);
unset($obj["two"]);
var_dump(isset($obj["two"]));
$obj["two"] = "A value";
var_dump($obj["two"]);
$obj[] = 'Append 1';
$obj[] = 'Append 2';
$obj[] = 'Append 3';
print_r($obj);
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
int(2)
bool(false)
string(7) "A value"
obj Object
(
    [container:obj:private] => Array
        (
            [one] => 1
            [three] => 3
            [two] => A value
            [0] => Append 1
            [1] => Append 2
            [2] => Append 3
        )

)

Índice

  • ArrayAccess::offsetExists — Verifica se uma posição existe
  • ArrayAccess::offsetGet — Posição a ser obtida
  • ArrayAccess::offsetSet — Atribui um valor a uma posição específica
  • ArrayAccess::offsetUnset — Destrói uma posição


Verifica se uma posição existe

  • « ArrayAccess
  • ArrayAccess::offsetGet »
  • PHP Manual
  • ArrayAccess
  • Verifica se uma posição existe

ArrayAccess::offsetExists

(PHP 5, PHP 7, PHP 8)

ArrayAccess::offsetExists — Verifica se uma posição existe

Descrição

abstract public ArrayAccess::offsetExists ( mixed $offset ) : boolean

Verifica se uma posição existe ou não.

Este método é executado ao utilizar-se a função isset() ou empty() em objetos que implementem ArrayAccess.

Nota:

Ao utilizar a função empty(), o método ArrayAccess::offsetGet() será chamado e checado por vazio somente se o método ArrayAccess::offsetExists() retornar true

Parâmetros

offset

Uma posição a ser checada.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Nota:

O valor de retorno será convertido para boolean se um não booleano for retornado.

Exemplos

Exemplo #1 Exemplo do método ArrayAccess::offsetExists()

<?php
class obj implements arrayaccess {
    public function offsetSet($offset, $value) {
        var_dump(__METHOD__);
    }
    public function offsetExists($var) {
        var_dump(__METHOD__);
        if ($var == "foobar") {
            return true;
        }
        return false;
    }
    public function offsetUnset($var) {
        var_dump(__METHOD__);
    }
    public function offsetGet($var) {
        var_dump(__METHOD__);
        return "value";
    }
}

$obj = new obj;

echo "Runs obj::offsetExists()\n";
var_dump(isset($obj["foobar"]));

echo "\nRuns obj::offsetExists() and obj::offsetGet()\n";
var_dump(empty($obj["foobar"]));

echo "\nRuns obj::offsetExists(), *not* obj:offsetGet() as there is nothing to get\n";
var_dump(empty($obj["foobaz"]));
?>

O exemplo acima irá imprimir algo similar à:

Runs obj::offsetExists()
string(17) "obj::offsetExists"
bool(true)

Runs obj::offsetExists() and obj::offsetGet()
string(17) "obj::offsetExists"
string(14) "obj::offsetGet"
bool(false)

Runs obj::offsetExists(), *not* obj:offsetGet() as there is nothing to get
string(17) "obj::offsetExists"
bool(true)


Posição a ser obtida

  • « ArrayAccess::offsetExists
  • ArrayAccess::offsetSet »
  • PHP Manual
  • ArrayAccess
  • Posição a ser obtida

ArrayAccess::offsetGet

(PHP 5, PHP 7, PHP 8)

ArrayAccess::offsetGet — Posição a ser obtida

Descrição

abstract public ArrayAccess::offsetGet ( mixed $offset ) : mixed

Retorna o valor de uma posição específica.

Este método é executado ao checar se uma posição está vazia, com a função empty().

Parâmetros

offset

A posição a ser obtida.

Notas

Nota:

A partir do PHP 5.3.4, a checagem do protótipo é feita de forma relaxada e é possível para implementações deste método serem retornadas por referência. Isso modifica indiretamente a sobrecarga de dimensões do array de objetos ArrayAccess possíveis.

Uma modificação direta é aquela que substitui completamente o valor de uma dimensão do array, como em $obj[6] = 7. Uma modificação indireta, por outro lado, modifica somente parte da dimensão, ou tenta atribuir a dimensão por referência a outra variável, como em $obj[6][7] = 7 ou $var =& $obj[6]. Incrementos com ++ e decrementos com -- também são implementados de forma a exigirem modificações indiretas.

Enquanto uma modificação direta engatilha uma chamada ao método ArrayAccess::offsetSet(), uma modificação indireta engatilha uma chamada ao ArrayAccess::offsetGet(). Neste caso, a implementação do método ArrayAccess::offsetGet() deve permitir o retorno por referência, caso contrário uma mensagem E_NOTICE será disparada.

Valor Retornado

Retorna todos os tipos de valores.

Veja Também

  • ArrayAccess::offsetExists() - Verifica se uma posição existe


Atribui um valor a uma posição específica

  • « ArrayAccess::offsetGet
  • ArrayAccess::offsetUnset »
  • PHP Manual
  • ArrayAccess
  • Atribui um valor a uma posição específica

ArrayAccess::offsetSet

(PHP 5, PHP 7, PHP 8)

ArrayAccess::offsetSet — Atribui um valor a uma posição específica

Descrição

abstract public ArrayAccess::offsetSet ( mixed $offset , mixed $value ) : void

Atribui um valor a uma posição específica.

Parâmetros

offset

A posição na qual se deseja atribuir um valor.

value

O valor a ser atribuído.

Valor Retornado

Não há valor retornado.

Notas

Nota:

O parâmetro offset será definido como null se outro valor não for informado, como no exemplo a seguir.

<?php
$arrayaccess[] = "first value";
$arrayaccess[] = "second value";
print_r($arrayaccess);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => first value
    [1] => second value
)

Nota:

Esta função não é chamada em atribuições por referência e outras modificações indiretas as dimensões de arrays sobrecarregados com ArrayAccess (indiretas no sentido de e não serem feitas para modificar a dimensão diretamente, mas para modificar uma subdimensão ou uma subpropriedade, ou atribuir a dimensão do array por referência a outra variável). Em vez disso, o método ArrayAccess::offsetGet() será chamado. A operação será bem sucedida somente se este método retornar por referência, possível somente desde o PHP 5.3.4.


Destrói uma posição

  • « ArrayAccess::offsetSet
  • Serializable »
  • PHP Manual
  • ArrayAccess
  • Destrói uma posição

ArrayAccess::offsetUnset

(PHP 5, PHP 7, PHP 8)

ArrayAccess::offsetUnset — Destrói uma posição

Descrição

abstract public ArrayAccess::offsetUnset ( mixed $offset ) : void

Destrói uma posição.

Nota:

Este método não será chamado ao se fazer conversão de tipo com (unset)

Parâmetros

offset

A posição a ser destruída

Valor Retornado

Não há valor retornado.


A interface Serializable

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Introdução

Interface para serialização personalizada.

Classes que implementam esta intarface não possuem mais suporte aos métodos __sleep() and __wakeup(). O método serialize é chamado não importando se uma instância possui a necessidade de ser serializada. Não invoca o método __destruct(), ou possui qualquer outro efeito colateral a não ser que programado no método. Quando os dados são deserializados, a classe toma conhecimento e o método unserialize() apropriado é chamado como um construtor, em vez de chamar o método __construct(). Se necessitar executar o construtor padrão, pode-se fazer no método.

Note, that when an old instance of a class that implements this interface now, which had been serialized before the class implemeted the interface, is unserialized, __wakeup() is called instead of the serialize method, what might be useful for migration purposes.

Resumo da Interface

Serializable {
/* Métodos */
abstract public serialize ( ) : string|null
abstract public unserialize ( string $serialized ) : void
}

Exemplo #1 Utilização básica

<?php
class obj implements Serializable {
    private $data;
    public function __construct() {
        $this->data = "My private data";
    }
    public function serialize() {
        return serialize($this->data);
    }
    public function unserialize($data) {
        $this->data = unserialize($data);
    }
    public function getData() {
        return $this->data;
    }
}

$obj = new obj;
$ser = serialize($obj);

var_dump($ser);

$newobj = unserialize($ser);

var_dump($newobj->getData());
?>

O exemplo acima irá imprimir algo similar à:

string(38) "C:3:"obj":23:{s:15:"My private data";}"
string(15) "My private data"

Índice

  • Serializable::serialize — String representation of object
  • Serializable::unserialize — Constructs the object


String representation of object

  • « Serializable
  • Serializable::unserialize »
  • PHP Manual
  • Serializable
  • String representation of object

Serializable::serialize

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Serializable::serialize — String representation of object

Descrição

abstract public Serializable::serialize ( ) : string|null

Should return the string representation of the object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of the object or null

Erros

Throws Exception when returning other types than strings and null.

Veja Também

  • __sleep()
  • __serialize()


Constructs the object

  • « Serializable::serialize
  • Closure »
  • PHP Manual
  • Serializable
  • Constructs the object

Serializable::unserialize

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Serializable::unserialize — Constructs the object

Descrição

abstract public Serializable::unserialize ( string $serialized ) : void

Called during unserialization of the object.

Nota:

This method acts as the constructor of the object. The __construct() method will not be called after this method.

Parâmetros

serialized

The string representation of the object.

Valor Retornado

The return value from this method is ignored.

Veja Também

  • __wakeup()
  • __unserialize()


A classe Closure

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Introdução

Classe usada para representar funções anônimas.

Funções anônimas, implementadas no PHP 5.3, produzem objetos desse tipo. Este fato era considerado um detalhe de implementação, mas agora foi oficializado. Introduzida no PHP 5.4, esta classe possui métodos que permitem ainda mais controle de funções anônimas após sua criação.

Além dos métodos listados aqui, a classe também possui o método __invoke. Para consistência com outras classes que implementam o invoque mágico, já que esse método não é utilizado para chamar a função.

Sinopse da classe

Closure {
/* Métodos */
private __construct ( )
public static bind ( Closure $closure , object $newthis , mixed $newscope = "static" ) : Closure
public bindTo ( object $newthis , mixed $newscope = "static" ) : Closure|false
public call ( object $newthis , mixed $... = ? ) : mixed
}

Índice

  • Closure::__construct — Construtor que desabilita a instanciação
  • Closure::bind — Duplica uma closure com um objeto vinculado e um escopo de classe
  • Closure::bindTo — Duplicates the closure with a new bound object and class scope
  • Closure::call — Vincula e chama a closure


Construtor que desabilita a instanciação

  • « Closure
  • Closure::bind »
  • PHP Manual
  • Closure
  • Construtor que desabilita a instanciação

Closure::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Closure::__construct — Construtor que desabilita a instanciação

Descrição

private Closure::__construct ( )

Este método exise somente para desabilitar a instanciação da classe Closure. Objetos desta classe são criados como descrito na página funções anônimas.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Este método não possui valor de retorno; ele simplesmente emitirá um erro (do tipo E_RECOVERABLE_ERROR).

Veja Também

  • Funções anônimas


Duplica uma closure com um objeto vinculado e um escopo de classe

  • « Closure::__construct
  • Closure::bindTo »
  • PHP Manual
  • Closure
  • Duplica uma closure com um objeto vinculado e um escopo de classe

Closure::bind

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Closure::bind — Duplica uma closure com um objeto vinculado e um escopo de classe

Descrição

public static Closure::bind ( Closure $closure , object $newthis , mixed $newscope = "static" ) : Closure

Este método é uma versão estática do Closure::bindTo(). Veja a documentação do método para mais informações.

Parâmetros

closure

A função anônima a ser vincular.

newthis

O objeto que a função anônima fornecida deve vincular, ou null para a closure não vincular.

newscope

O escopo da classe a ser associada a closure deve ser informado, ou 'static' para manter o atual. Se um objeto é fornecido, o tipo do objeto será usado. Isso determina a visibilidade dos métodos protegidos e privados do objeto vinculado. Não é permitido passar uma (objeto da) classe interna como parâmetro this.

Valor Retornado

Retorna um novo objeto Closure ou false em caso de falha

Changelog

Versão | Descrição
7.0.0 | O parâmetro newscope não pode mais ser uma (objeto da) classe interna, o que era possível em versões anteriores a esta.

Exemplos

Exemplo #1 Exemplo do método Closure::bind()

<?php
class A {
    private static $sfoo = 1;
    private $ifoo = 2;
}
$cl1 = static function() {
    return A::$sfoo;
};
$cl2 = function() {
    return $this->ifoo;
};

$bcl1 = Closure::bind($cl1, null, 'A');
$bcl2 = Closure::bind($cl2, new A(), 'A');
echo $bcl1(), "\n";
echo $bcl2(), "\n";
?>

O exemplo acima irá imprimir algo similar à:

1
2

Veja Também

  • Funções anônimas
  • Closure::bindTo() - Duplicates the closure with a new bound object and class scope


Duplicates the closure with a new bound object and class scope

  • « Closure::bind
  • Closure::call »
  • PHP Manual
  • Closure
  • Duplicates the closure with a new bound object and class scope

Closure::bindTo

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Closure::bindTo — Duplicates the closure with a new bound object and class scope

Descrição

public Closure::bindTo ( object $newthis , mixed $newscope = "static" ) : Closure|false

Create and return a new anonymous function with the same body and bound variables as this one, but possibly with a different bound object and a new class scope.

The “bound object” determines the value $this will have in the function body and the “class scope” represents a class which determines which private and protected members the anonymous function will be able to access. Namely, the members that will be visible are the same as if the anonymous function were a method of the class given as value of the newscope parameter.

Static closures cannot have any bound object (the value of the parameter newthis should be null), but this function can nevertheless be used to change their class scope.

This function will ensure that for a non-static closure, having a bound instance will imply being scoped and vice-versa. To this end, non-static closures that are given a scope but a null instance are made static and non-static non-scoped closures that are given a non-null instance are scoped to an unspecified class.

Nota:

If you only want to duplicate the anonymous functions, you can use cloning instead.

Parâmetros

newthis

The object to which the given anonymous function should be bound, or null for the closure to be unbound.

newscope

The class scope to which the closure is to be associated, or 'static' to keep the current one. If an object is given, the type of the object will be used instead. This determines the visibility of protected and private methods of the bound object. It is not allowed to pass (an object of) an internal class as this parameter.

Valor Retornado

Returns the newly created Closure object ou false em caso de falha

Exemplos

Exemplo #1 Closure::bindTo() example

<?php

class A {
    function __construct($val) {
        $this->val = $val;
    }
    function getClosure() {
        //returns closure bound to this object and scope
        return function() { return $this->val; };
    }
}

$ob1 = new A(1);
$ob2 = new A(2);

$cl = $ob1->getClosure();
echo $cl(), "\n";
$cl = $cl->bindTo($ob2);
echo $cl(), "\n";
?>

O exemplo acima irá imprimir algo similar à:

1
2

Veja Também

  • Anonymous functions
  • Closure::bind() - Duplica uma closure com um objeto vinculado e um escopo de classe


Vincula e chama a closure

  • « Closure::bindTo
  • Generator »
  • PHP Manual
  • Closure
  • Vincula e chama a closure

Closure::call

(PHP 7, PHP 8)

Closure::call — Vincula e chama a closure

Descrição

public Closure::call ( object $newthis , mixed $... = ? ) : mixed

Vincula temporáriamente a closure ao newthis, e a chama com qualquer parâmetro fornecido.

Parâmetros

newthis

O objeto a ser vinculado a closure enquanto durar a chamada.

...

Zero ou mais parâmetros, que serão fornecidos como parâmetros para a closure.

Valor Retornado

Retorna o valor de retorna da closure.

Exemplos

Exemplo #1 Exemplo do método Closure::call()

<?php
class Value {
    protected $value;

    public function __construct($value) {
        $this->value = $value;
    }

    public function getValue() {
        return $this->value;
    }
}

$three = new Value(3);
$four = new Value(4);

$closure = function ($delta) { var_dump($this->getValue() + $delta); };
$closure->call($three, 4);
$closure->call($four, 4);
?>

O exemplo acima irá imprimir:

int(7)
int(8)


A classe Generator

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Introdução

Os objetos Generatorsão retornados por geradores.

Cuidado

Os objetos Generator não podem ser instanciados através do construtor new.

Sinopse da classe

Generator implements Iterator {
/* Métodos */
public current ( ) : mixed
public key ( ) : mixed
public next ( ) : void
public rewind ( ) : void
public send ( mixed $value ) : mixed
public throw ( Exception $exception ) : mixed
public valid ( ) : bool
public __wakeup ( ) : void
}

Índice

  • Generator::current — Obtém o valor gerado
  • Generator::key — Obtém o chave gerada
  • Generator::next — Retorna a execução do gerador
  • Generator::rewind — Rebobina o iterador
  • Generator::send — Envia um valor ao gerador
  • Generator::throw — Lança uma exceção no gerador
  • Generator::valid — Checa se o iterador foi fechado
  • Generator::__wakeup — Serializa o callback


Obtém o valor gerado

  • « Generator
  • Generator::key »
  • PHP Manual
  • Generator
  • Obtém o valor gerado

Generator::current

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::current — Obtém o valor gerado

Descrição

public Generator::current ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o valor gerado.


Obtém o chave gerada

  • « Generator::current
  • Generator::next »
  • PHP Manual
  • Generator
  • Obtém o chave gerada

Generator::key

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::key — Obtém o chave gerada

Descrição

public Generator::key ( ) : mixed

Obtém a chave do valor gerado.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna a chave gerada.

Exemplos

Exemplo #1 Exemplo do método Generator::key()

<?php

function Gen()
{
    yield 'key' => 'value';
}

$gen = Gen();

echo "{$gen->key()} => {$gen->current()}";

O exemplo acima irá imprimir:

key => value


Retorna a execução do gerador

  • « Generator::key
  • Generator::rewind »
  • PHP Manual
  • Generator
  • Retorna a execução do gerador

Generator::next

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::next — Retorna a execução do gerador

Descrição

public Generator::next ( ) : void

Chamar Generator::next() é equivalente a chamar Generator::send() com null como argumento.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Rebobina o iterador

  • « Generator::next
  • Generator::send »
  • PHP Manual
  • Generator
  • Rebobina o iterador

Generator::rewind

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::rewind — Rebobina o iterador

Descrição

public Generator::rewind ( ) : void

Se uma iteração já tiver sido inicializada, lançará uma exceção.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Envia um valor ao gerador

  • « Generator::rewind
  • Generator::throw »
  • PHP Manual
  • Generator
  • Envia um valor ao gerador

Generator::send

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::send — Envia um valor ao gerador

Descrição

public Generator::send ( mixed $value ) : mixed

Envia o valor informado ao gerador como resultado da expressão yield corrente e retorna a execução do gerador.

Se o gerador não estiver na expressão yield quando o método for chamado, primeiro será deixado avançar para a primeira expressão yield antes de enviar o valor. Assim como não é necessário "forçar" os geradores do PHP com uma chamada ao método Generator::next() (como é feito em Python).

Parâmetros

value

Valor a ser enviado ao gerador. Este valor será o retornado pela expressão yield em que o gerador estiver.

Valor Retornado

Retorna o valor gerado.

Exemplos

Exemplo #1 Usando o método Generator::send() para injetar valores

<?php
function printer() {
    while (true) {
        $string = yield;
        echo $string;
    }
}

$printer = printer();
$printer->send('Hello world!');
$printer->send('Bye world!');
?>

O exemplo acima irá imprimir:

Hello world!
Bye world!


Lança uma exceção no gerador

  • « Generator::send
  • Generator::valid »
  • PHP Manual
  • Generator
  • Lança uma exceção no gerador

Generator::throw

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::throw — Lança uma exceção no gerador

Descrição

public Generator::throw ( Exception $exception ) : mixed

Lança uma exceção no gerador e retorna a execução do gerador. O comportamento será o mesmo como se a expressão yield corrente fosse substituída por uma declaração throw $exception.

Se o gerador já tiver sido fechado ao invocar este método, a exceção será lançada no contexto daquele que o chamou.

Parâmetros

exception

Exceção a ser lançada no gerador.

Valor Retornado

Retorna o valor gerado.

Exemplos

Exemplo #1 Lança uma exceção no gerador

<?php
function gen() {
    echo "Foo\n";
    try {
        yield;
    } catch (Exception $e) {
        echo "Exception: {$e->getMessage()}\n";
    }
    echo "Bar\n";
}

$gen = gen();
$gen->rewind();
$gen->throw(new Exception('Test'));
?>

O exemplo acima irá imprimir:

Foo
Exception: Test
Bar


Checa se o iterador foi fechado

  • « Generator::throw
  • Generator::__wakeup »
  • PHP Manual
  • Generator
  • Checa se o iterador foi fechado

Generator::valid

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::valid — Checa se o iterador foi fechado

Descrição

public Generator::valid ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna false se o iterador foi fechado. Caso contrário retornará true.


Serializa o callback

  • « Generator::valid
  • WeakReference »
  • PHP Manual
  • Generator
  • Serializa o callback

Generator::__wakeup

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::__wakeup — Serializa o callback

Descrição

public Generator::__wakeup ( ) : void

Lança uma exceção, já que geradores não podem ser serializados.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


A classe WeakReference

(PHP 7 >= 7.4.0)

Introdução

Referências fracas permitem que o programador mantenha uma referência a um objeto que não impede que o objeto seja destruído. Eles são úteis para implementar estruturas como cache.

Nota:

A classe WeakReference não deve ser confundida com a classe WeakRef da extensão Weakref.

WeakReferences não podem ser serializadas.

Sinopse da classe

WeakReference {
/* Métodos */
public __construct ( )
public static create ( object $referent ) : WeakReference
public get ( ) : object|null
}

Exemplos de referência fraca

Exemplo #1 Uso básico de referência fraca

<?php
$obj = new stdClass;
$weakref = WeakReference::create($obj);
var_dump($weakref->get());
unset($obj);
var_dump($weakref->get());
?>

O exemplo acima irá imprimir algo similar à:

object(stdClass)#1 (0) {
}
NULL

Índice

  • WeakReference::__construct — Construtor que desabilita a instanciação
  • WeakReference::create — Cria uma nova referência fraca
  • WeakReference::get — Obtém um objeto fracamente referenciado


Construtor que desabilita a instanciação

  • « WeakReference
  • WeakReference::create »
  • PHP Manual
  • WeakReference
  • Construtor que desabilita a instanciação

WeakReference::__construct

(PHP 7 >= 7.4.0)

WeakReference::__construct — Construtor que desabilita a instanciação

Descrição

public WeakReference::__construct ( )

Este método existe apenas para desabilitar a instanciação da classe WeakReference. Referências fracas devem ser instanciadas com o método factory WeakReference::create().

Parâmetros

Esta função não possui parâmetros.

Veja Também

  • WeakReference::create() - Cria uma nova referência fraca


Cria uma nova referência fraca

  • « WeakReference::__construct
  • WeakReference::get »
  • PHP Manual
  • WeakReference
  • Cria uma nova referência fraca

WeakReference::create

(PHP 7 >= 7.4.0)

WeakReference::create — Cria uma nova referência fraca

Descrição

public static WeakReference::create ( object $referent ) : WeakReference

Cria uma nova WeakReference.

Parâmetros

referent

O objeto a ser fracamente referenciado.

Valor Retornado

Retorna o objeto instanciado recentemente.


Obtém um objeto fracamente referenciado

  • « WeakReference::create
  • Opções e parâmetros de contexto »
  • PHP Manual
  • WeakReference
  • Obtém um objeto fracamente referenciado

WeakReference::get

(PHP 7 >= 7.4.0)

WeakReference::get — Obtém um objeto fracamente referenciado

Descrição

public WeakReference::get ( ) : object|null

Obtém um objeto fracamente referenciado. Se o objeto já tiver sido destruído, null é retornado.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o object referenciado ou null se o objeto tiver sido destruído.


Opções e parâmetros de contexto

O PHP oferece várias opções e parâmetros de contexto que podem ser usados com todos os sistemas de arquivos e empacotadores de streams. O contexto é criado com a função stream_context_create(). As opções são definidas com a função stream_context_set_option() e os parâmetros com a função stream_context_set_params().

Índice

  • Opções de contexto de Socket — Lista de opções de contexto de Socket
  • Opções de contexto do HTTP — Lista de opções de contexto do HTTP
  • Opções de contexto do FTP — Lista de opções de contexto do FTP
  • Opções de contexto de SSL — Lista de opções de contexto de SSL
  • Opções de contexto do CURL — Lista de opções de contexto do CURL
  • Opções de contexto do Phar — Lista de opções de contexto do Phar
  • Opções de contexto do MongoDB — Lista de opções de contexto do MongoDB
  • Parâmetros de contexto — Listagem de parâmetros de contexto
  • Zip context options — Zip context option listing


Lista de opções de contexto de Socket

  • « Opções e parâmetros de contexto
  • Opções de contexto do HTTP »
  • PHP Manual
  • Opções e parâmetros de contexto
  • Lista de opções de contexto de Socket

Opções de contexto de Socket

Opções de contexto de Socket — Lista de opções de contexto de Socket

Descrição

As opções de contextos para Socket estão disponível em todos os empacotadores que trabalham em sockets, como tcp, http e ftp.

Opções

bindto

Utilizado para especificar o endereço IP (tanto IPv4 quanto IPv6) e/ou o número da porta que o PHP usará para acessar a rede. A sintaxe é ip:port para endereços IPv4, e [ip]:port para endereços IPv6. Definir o IP ou a porta com 0 fará com que o sistema escolha o IP e/ou a porta.

Nota:

Como o FTP cria duas conexões socket durante sua operação normal, o número da porta não poderá ser especificado ao se usar esta opção.

backlog

Utilizado para limitar o número de conexões excedentes na fila de escuta do socket.

Nota:

Este parâmetro só é aplicável na função stream_socket_server().

ipv6_v6only

Sobrescreve a diretiva do sistema operacional no que se refere ao mapeamento IPv4 em IPv6.

Nota:

Isto é importante quando tentando ouvir em um endereço IPv4 separadamente da existência de um binding em [::].

Somente aplicável em stream_socket_server().

so_reuseport

Permite várias bindings no mesmo IP:porta, mesmo de processos separados.

Nota:

Somente aplicável em stream_socket_server().

so_broadcast

Permite enviar e receber dados de/para endereços de broadcast.

Nota:

Somente aplicável a stream_socket_server().

tcp_nodelay

Ao ativar essa opção com true será configurado SOL_TCP,NO_DELAY=1, de forma a desabilitar o algorítimo Nagle TCP.

Changelog

Versão | Descrição
7.1.0 | Adicionado o parâmetro tcp_nodelay.
7.0.1 | Adicionado o parâmetro ipv6_v6only.
7.0.0 | Adicionado o parâmetro so_broadcast.
7.0.0 | Adicionado o parâmetro so_reuseport.
5.3.3 | Adicionado o parâmetro backlog.
5.1.0 | Adicionado o parâmetro bindto.

Exemplos

Exemplo #1 Exemplo básico de uso do parâmetro bindto

<?php
// connect to the internet using the '192.168.0.100' IP
$opts = array(
    'socket' => array(
        'bindto' => '192.168.0.100:0',
    ),
);

// connect to the internet using the '192.168.0.100' IP and port '7000'
$opts = array(
    'socket' => array(
        'bindto' => '192.168.0.100:7000',
    ),
);

// connect to the internet using the '2001:db8::1' IPv6 address
// and port '7000'
$opts = array(
    'socket' => array(
        'bindto' => '[2001:db8::1]:7000',
    ),
);

// connect to the internet using port '7000'
$opts = array(
    'socket' => array(
        'bindto' => '0:7000',
    ),
);

// create the context...
$context = stream_context_create($opts);

// ...and use it to fetch the data
echo file_get_contents('http://www.example.com', false, $context);

?>


Lista de opções de contexto do HTTP

  • « Opções de contexto de Socket
  • Opções de contexto do FTP »
  • PHP Manual
  • Opções e parâmetros de contexto
  • Lista de opções de contexto do HTTP

Opções de contexto do HTTP

Opções de contexto do HTTP — Lista de opções de contexto do HTTP

Descrição

Opções de contexto dos transportadores http:// e https://.

Opções

method string

GET, POST, ou qualquer outro método HTTP suportado pelo servidor remoto.

GET como padrão.

header array or string

Cabeçalhos adicionais que deverrão ser enviados durante a requisição. Valores nesta opção sobrescreverão outros valores (como User-agent:, Host:, e Authentication:).

user_agent string

Valor a ser enviado no cabeçalho User-Agent:. Esta valor só será utilizado se o user-agent não for especificado na opção de contexto header acima.

Por padrão, a configuração user_agent no php.ini é utilizada.

content string

Dados adicionais a serem enviados depois dos cabeçalhos. Tipicamente utilizado em requisições POST ou PUT.

proxy string

URI que especifica o endereço do servidor de proxy. (por exemplo, tcp://proxy.example.com:5100).

request_fulluri boolean

Quando definido como true, toda a URI será utilizada na construção da requisição. (por exemplo GET http://www.example.com/path/to/file.html HTTP/1.0). Mesmo não sendo um formato padronizado de requisição, alguns servidores de proxy o exigem.

false como padrão.

follow_location integer

Segue os redirecionamentos feitos com o cabeçalho Location. Defina com 0 para desabilitar.

1 como padrão.

max_redirects integer

O número máximo de redirecionamentos a serem feitos. O valor 1 ou inferiores significarão que os redirecionamentos não são feitos.

20 como padrão.q

protocol_version float

Versão do protocolo HTTP.

1.0 como padrão.

Nota:

Em versões do PHP inferiores a 5.3.0 não era implementada a decodificação de transferência fragmentada. Se este valor estiver definido com 1.1, é de sua responsabilidade fazer que seja compatível com a versão 1.1.

timeout float

Timeout de leitura em segundos, especificado com um float (por exemplo, 10.5).

Por padrão, a configuração default_socket_timeout do php.ini é utilizada.

ignore_errors boolean

Retorna o conteúdo mesmo que códigos de status falhos sejam retornados.

false.

Changelog

Versão | Descrição
5.3.4 | Adicionado o parâmetro follow_location.
5.3.0 | O parâmetro protocol_version suporta decodificação de transferência fragmentada quando definido como 1.1..
5.2.10 | Adicionado o parâmetro ignore_errors.
5.2.10 | O parâmetro header tornou-se um array numericamente indexado.
5.2.1 | Adicionado o parâmetro timeout.
5.1.0 | Adicionada a possibilidade de se fazer proxies HTTPS em proxies HTTP.
5.1.0 | Adicionado o parâmetro max_redirects.
5.1.0 | Adicionado o parâmetro protocol_version.

Exemplos

Exemplo #1 Buscando uma página e enviando dados pelo método POST

<?php

$postdata = http_build_query(
    array(
        'var1' => 'some content',
        'var2' => 'doh'
    )
);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

?>

Exemplo #2 Ignorando redirecionamentos, mas trazendo os cabeçalhos e conteúdo

<?php

$url = "http://www.example.org/header.php";

$opts = array('http' =>
    array(
        'method' => 'GET',
        'max_redirects' => '0',
        'ignore_errors' => '1'
    )
);

$context = stream_context_create($opts);
$stream = fopen($url, 'r', false, $context);

// header information as well as meta data
// about the stream
var_dump(stream_get_meta_data($stream));

// actual data at $url
var_dump(stream_get_contents($stream));
fclose($stream);
?>

Notas

Nota: Opções de contextos de streams socket básicos
Opções de contextos adicionais podem ser suportadas em transportes básicos Em streams ftp://, use as opções de contexto do transporte tcp://. Em streams ftps://, use as opções de contexto do transporte ssl://.

Nota: Linha de status HTTP
Quando este empacotador de stream faz um redirecionamento, o wrapper_data retornado pela função stream_get_meta_data() pode não conter necessariamente a linha de status HTTP, que atualmente se aplica ao conteúdo no índice 0.

array (
  'wrapper_data' =>
  array (
    0 => 'HTTP/1.0 301 Moved Permantenly',
    1 => 'Cache-Control: no-cache',
    2 => 'Connection: close',
    3 => 'Location: http://example.com/foo.jpg',
    4 => 'HTTP/1.1 200 OK',
    ...
A primeira requisição retornou 301 (redirecionamento permanente), então o empacotador de stream automaticamente fará o redirecionamento para conseguir uma resposta 200 (índice = 4).

Veja Também

  • http://
  • Opções de contexto de Socket
  • Opções de contexto de SSL


Lista de opções de contexto do FTP

  • « Opções de contexto do HTTP
  • Opções de contexto de SSL »
  • PHP Manual
  • Opções e parâmetros de contexto
  • Lista de opções de contexto do FTP

Opções de contexto do FTP

Opções de contexto do FTP — Lista de opções de contexto do FTP

Descrição

Opções de contexto para os transportadores ftp:// e ftps://.

Opções

overwrite boolean

Permite a sobreescrita de arquivos existentes no servidor remoto. Aplicável somente no modo de escrita (uploading).

false como padrão.

resume_pos integer

Deslocamento do arquivo a se começar a transferência. Aplicável somente no modo de leitura (downloading).

0 (Início do arquivo), como padrão.

proxy string

Requisição Proxy FTP pelo servidor proxy http. Aplicável em arquivos somente em operações de leitura. Ex: tcp://squid.example.com:8000.

Changelog

Versão | Descrição
5.1.0 | Adicionada a opção proxy.
5.0.0 | Adicionada as opções overwrite e resume_pos.

Notas

Nota: Opções de contextos de streams socket básicos
Opções de contextos adicionais podem ser suportadas em transportes básicos Em streams ftp://, use as opções de contexto do transporte tcp://. Em streams ftps://, use as opções de contexto do transporte ssl://.

Veja Também

  • ftp://
  • Opções de contexto de Socket
  • Opções de contexto de SSL


Lista de opções de contexto de SSL

  • « Opções de contexto do FTP
  • Opções de contexto do CURL »
  • PHP Manual
  • Opções e parâmetros de contexto
  • Lista de opções de contexto de SSL

Opções de contexto de SSL

Opções de contexto de SSL — Lista de opções de contexto de SSL

Descrição

Opções de contexto dos transportadores ssl:// e tls://.

Opções

peer_name string

Nome do peer a ser utilizado. Se este valor não for defino, o nome será adivinhado com base no nome do host utilizado na abertura da stream.

verify_peer boolean

Exige a verificação do certificado SSL utilizado.

true como padrão.

verify_peer_name boolean

Exige a verificação do nome do peer.

true como padrão.

allow_self_signed boolean

Permite certificados auto assinados. Necessita o parâmetro verify_peer.

false como padrão.

cafile string

Localização do arquivo de Autoridade Certificadora no sistema de arquivos que deve ser usado pela opção de contexto verify_peer para autenticar a identidade do peer remoto.

capath string

Se a opção cafile não for especificada, ou o certificado não for encontrado, o diretório apontado pela opção capath será utilizado na busca de um certificado adequado. A opção capath deve ser um diretório de certificado com hash correto.

local_cert string

Caminho para o certificado local no sistema de arquivos. Deve ser um arquivo PEM codificado que contêm seu certificado e chave privada. Pode opcionalmente conter a cadeia de certificados dos emitentes. A chave privada também pode estar em um arquivo separado especificada pela opção local_pk.

local_pk string

Caminho para a chave privada local no sistema de arquivos, em caso de se usar arquivos separados para o certificado (local_cert) e a chave privada.

passphrase string

Senha usada para codificar seu arquivo local_cert

CN_match string

Common Name esperado. O PHP executará o casamento de curingas. Se o Common Name não casar com este, a tentativa de conexão falhará.

Nota: Esta opção foi depreciada em favor de peer_name, a partir do PHP 5.6.0.

verify_depth integer

Abortará se a cadeia de certificados for muito profunda.

Não verificar por padrão.

ciphers string

Define a lista de cifras disponíveis. O formato desta string é descrita em » ciphers(1).

DEFAULT como padrão.

capture_peer_cert boolean

Se definida como true, a opção de contexto peer_certificate será criada contendo o certificado peer.

capture_peer_cert_chain boolean

Se definida como true, a opção de contexto peer_certificate_chain será criada contendo a cadeia certificadora.

SNI_enabled boolean

Se definida como true, o indicador do nome do servidor será habilitado. Habilitar a SNI permite múltiplos certificados no mesmo endereço IP.

SNI_server_name string

Se definida, o valor será usado como o nome do servidor no indicador do nome de servidor. Se este valor não for definido, o nome do servidor é adivinhado baseando-se o nome do servidor utilizado na abertura da stream.

Nota: Esta opção foi depreciada em favor de peer_name, a partir do PHP 5.6.0.

disable_compression boolean

Se definida, desabilita a compressão TLS. Pode ajudar a mitigar o ataque de vetor criminoso.

peer_fingerprint string | array

Abortará quando o certificado resumido remoto não corresponder a um hash especificado.

Quando uma string for utilizada, o tamanho determinará qual algoritmo de hash será aplicado, "md5" (32) ou "sha1" (40).

Quando um array for utilizado, as chaves indicarão o nome do hash e os valores correspondentes o resumo esperado.

Changelog

Versão | Descrição
5.6.0 | Adicionada as opções peer_fingerprint e verify_peer_name. verify_peer têm como padrão true.
5.4.13 | Adicionada a opção disable_compression. Exige OpenSSL >= 1.0.0.
5.3.2 | Adicionada as opções SNI_enabled e SNI_server_name.
5.0.0 | Adicionada as opções capture_peer_cert, capture_peer_chain, ciphers e local_pk.

Notas

Nota: Por ssl:// ser um transporte básico para os empacotadores https:// e ftps://, qualquer opção de contexto aplicáveis a ssl://, também se aplicam a https:// e ftps://.

Nota: Para SNI (Server Name Indication) estar disponível, o PHP deve ser compilado com o OpenSSL 0.9.8j ou superior. Utilize a constante OPENSSL_TLSEXT_SERVER_NAME para determinar o suporte ao SNI.

Veja Também

  • Opções de contexto de Socket


Lista de opções de contexto do CURL

  • « Opções de contexto de SSL
  • Opções de contexto do Phar »
  • PHP Manual
  • Opções e parâmetros de contexto
  • Lista de opções de contexto do CURL

Opções de contexto do CURL

Opções de contexto do CURL — Lista de opções de contexto do CURL

Descrição

As opções de contexto do CURL estão disponíveis quando a extensão CURL for compilada utilizando a opção de configuração --with-curlwrappers

Opções

method string

GET, POST, ou qualquer outro método HTTP suportado pelo servidor remoto.

GET como padrão.

header string

Cabeçalhos adicionais que deverrão ser enviados durante a requisição. Valores nesta opção sobrescreverão outros valores (como User-agent:, Host:, e Authentication:).

user_agent string

Valor a ser enviado no cabeçalho User-Agent

Por padrão, a configuração user_agent no php.ini é utilizada.

content string

Dados adicionais a ser enviado depois dos cabeçalhos. Esta opção não é utilizada em requisições GET ou HEAD.

proxy string

URI que especifica o endereço do servidor de proxy. (por exemplo, tcp://proxy.example.com:5100).

max_redirects integer

O número máximo de redirecionamentos a serem feitos. O valor 1 ou inferiores significarão que os redirecionamentos não são feitos.

20 como padrão.

curl_verify_ssl_host boolean

Verifica o host.

false como padrão

Nota:

Esta opção está disponível para ambos os protocolos de empacotamento http e ftp.

curl_verify_ssl_peer boolean

Exige a verificação do certificado SSL utilizado.

false como padrão

Nota:

Esta opção está disponível para ambos os protocolos de empacotamento http e ftp.

Exemplos

Exemplo #1 Busca uma página e envia dados por POST

<?php

$postdata = http_build_query(
    array(
        'var1' => 'some content',
        'var2' => 'doh'
    )
);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

?>

Veja Também

  • Opções de contexto de Socket


Lista de opções de contexto do Phar

  • « Opções de contexto do CURL
  • Opções de contexto do MongoDB »
  • PHP Manual
  • Opções e parâmetros de contexto
  • Lista de opções de contexto do Phar

Opções de contexto do Phar

Opções de contexto do Phar — Lista de opções de contexto do Phar

Descrição

Opções de contexto do empacotador phar://.

Opções

compress int

Uma das constantes de compressão do Phar.

metadata mixed

Metadado do Phat. Veja o método Phar::setMetadata().

Veja Também

  • phar://
  • Empacotador de stream do Phar


Lista de opções de contexto do MongoDB

  • « Opções de contexto do Phar
  • Parâmetros de contexto »
  • PHP Manual
  • Opções e parâmetros de contexto
  • Lista de opções de contexto do MongoDB

Opções de contexto do MongoDB

Opções de contexto do MongoDB — Lista de opções de contexto do MongoDB

Descrição

Opções de contexto do transportador mongodb://.

Opções

log_cmd_insert callable

Uma função callback chamada ao inserir um documento, veja a função log_cmd_insert().

log_cmd_delete callable

Uma função callback chamada ao remover um documento, veja a função log_cmd_delete().

log_cmd_update callable

Uma função callback chamada ao atualizar um documento, veja a função log_cmd_update().

log_write_batch callable

Uma função callback chamada ao executar uma gravação em lote, veja a função log_write_batch().

log_reply callable

Uma função callback chamada ao ler uma resposta do MongoDB, veja a função log_reply().

log_getmore callable

Uma função callback chamada ao recuperar mais resultados do cursor do MongoDB, veja a função log_getmore().

log_killcursor callable

Uma função callback chamada ao executar o opcode killcursor, veja a função log_killcursor().

Changelog

Versão | Descrição
pecl/mongo 1.5.0 | Adicionada as opções de contexto da API de escrita.

Veja Também

  • Opções de contexto de Socket
  • Opções de contexto de SSL


Listagem de parâmetros de contexto

  • « Opções de contexto do MongoDB
  • Zip context options »
  • PHP Manual
  • Opções e parâmetros de contexto
  • Listagem de parâmetros de contexto

Parâmetros de contexto

Parâmetros de contexto — Listagem de parâmetros de contexto

Descrição

Estes parâmetros podem ser definidos em um contexto usando a função stream_context_set_params().

Parâmetros

notification callable

Um callable pode ser chamado quando um evento ocorre em um stream.

Veja stream_notification_callback para mais detalhes.


Zip context option listing

  • « Parâmetros de contexto
  • Protocolos e Wrappers suportados »
  • PHP Manual
  • Opções e parâmetros de contexto
  • Zip context option listing

Zip context options

Zip context options — Zip context option listing

Descrição

Zip context options are available for zip wrappers.

Opções

password

Used to specify password used for encrypted archive.

Changelog

Versão | Descrição
PHP 7.2.0, PECL zip 1.14.0 | Added password.

Exemplos

Exemplo #1 Basic password usage example

<?php
// Read encrypted archive
$opts = array(
    'zip' => array(
        'password' => 'secret',
    ),
);
// create the context...
$context = stream_context_create($opts);

// ...and use it to fetch the data
echo file_get_contents('zip://test.zip#test.txt', false, $context);

?>


Protocolos e Wrappers suportados

O PHP vem com muitos wrappers para vários protocolos URL-style para uso com as funções do sistema de arquivos, tais como fopen(), copy(), file_exists() e filesize(). Além desses wrappers é possível registrar wrappers customizados usando a função stream_wrapper_register().

Nota: A sintaxe de URL usada para descrever um wrapper suporta apenas a sintaxe scheme://.... As sintaxes scheme:/ e scheme: não são suportadas.

Índice

  • file:// — Accessing local filesystem
  • http:// — Accessing HTTP(s) URLs
  • ftp:// — Accessing FTP(s) URLs
  • php:// — Accessing various I/O streams
  • zlib:// — Compression Streams
  • data:// — Data (RFC 2397)
  • glob:// — Find pathnames matching pattern
  • phar:// — PHP Archive
  • ssh2:// — Secure Shell 2
  • rar:// — RAR
  • ogg:// — Audio streams
  • expect:// — Process Interaction Streams


Accessing local filesystem

  • « Protocolos e Wrappers suportados
  • http:// »
  • PHP Manual
  • Protocolos e Wrappers suportados
  • Accessing local filesystem

file://

file:// — Accessing local filesystem

Descrição

Filesystem is the default wrapper used with PHP and represents the local filesystem. When a relative path is specified (a path which does not begin with /, \, \\, or a Windows drive letter) the path provided will be applied against the current working directory. In many cases this is the directory in which the script resides unless it has been changed. Using the CLI sapi, this defaults to the directory from which the script was called.

With some functions, such as fopen() and file_get_contents(), include_path may be optionally searched for relative paths as well.

Uso

  • /path/to/file.ext
  • relative/path/to/file.ext
  • fileInCwd.ext
  • C:/path/to/winfile.ext
  • C:\path\to\winfile.ext
  • \\smbserver\share\path\to\winfile.ext
  • file:///path/to/file.ext

Opções

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Allows Reading | Yes
Allows Writing | Yes
Allows Appending | Yes
Allows Simultaneous Reading and Writing | Yes
Supports stat() | Yes
Supports unlink() | Yes
Supports rename() | Yes
Supports mkdir() | Yes
Supports rmdir() | Yes


Accessing HTTP(s) URLs

  • « file://
  • ftp:// »
  • PHP Manual
  • Protocolos e Wrappers suportados
  • Accessing HTTP(s) URLs

http://

https://

http:// -- https:// — Accessing HTTP(s) URLs

Descrição

Allows read-only access to files/resources via HTTP 1.0, using the HTTP GET method. A Host: header is sent with the request to handle name-based virtual hosts. If you have configured a user_agent string using your php.ini file or the stream context, it will also be included in the request.

The stream allows access to the body of the resource; the headers are stored in the $http_response_header variable.

If it's important to know the URL of the resource where your document came from (after all redirects have been processed), you'll need to process the series of response headers returned by the stream.

The from directive will be used for the From: header if set and not overwritten by the Opções e parâmetros de contexto.

Uso

  • http://example.com
  • http://example.com/file.php?var1=val1&var2=val2
  • http://user:password@example.com
  • https://example.com
  • https://example.com/file.php?var1=val1&var2=val2
  • https://user:password@example.com

Opções

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | Yes
Allows Reading | Yes
Allows Writing | No
Allows Appending | No
Allows Simultaneous Reading and Writing | N/A
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Exemplos

Exemplo #1 Detecting which URL we ended up on after redirects

<?php
$url = 'http://www.example.com/redirecting_page.php';

$fp = fopen($url, 'r');

$meta_data = stream_get_meta_data($fp);
foreach ($meta_data['wrapper_data'] as $response) {

    /* Were we redirected? */
    if (strtolower(substr($response, 0, 10)) == 'location: ') {

        /* update $url with where we were redirected to */
        $url = substr($response, 10);
    }

}

?>

Notas

Nota: HTTPS is only supported when the openssl extension is enabled.

HTTP connections are read-only; writing data or copying files to an HTTP resource is not supported.

Sending POST and PUT requests, for example, can be done with the help of HTTP Contexts.

Veja Também

  • Opções de contexto do HTTP
  • $http_response_header
  • stream_get_meta_data() - Retrieves header/meta data from streams/file pointers


Accessing FTP(s) URLs

  • « http://
  • php:// »
  • PHP Manual
  • Protocolos e Wrappers suportados
  • Accessing FTP(s) URLs

ftp://

ftps://

ftp:// -- ftps:// — Accessing FTP(s) URLs

Descrição

Allows read access to existing files and creation of new files via FTP. If the server does not support passive mode ftp, the connection will fail.

You can open files for either reading or writing, but not both simultaneously. If the remote file already exists on the ftp server and you attempt to open it for writing but have not specified the context option overwrite, the connection will fail. If you need to overwrite existing files over ftp, specify the overwrite option in the context and open the file for writing. Alternatively, you can use the FTP extension.

If you have set the from directive in php.ini, then this value will be sent as the anonymous FTP password.

Uso

  • ftp://example.com/pub/file.txt
  • ftp://user:password@example.com/pub/file.txt
  • ftps://example.com/pub/file.txt
  • ftps://user:password@example.com/pub/file.txt

Opções

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | Yes
Allows Reading | Yes
Allows Writing | Yes (new files/existing files with overwrite)
Allows Appending | Yes
Allows Simultaneous Reading and Writing | No
Supports stat() | filesize(), filemtime(), filetype(), file_exists(), is_file(), and is_dir() elements only.
Supports unlink() | Yes
Supports rename() | Yes
Supports mkdir() | Yes
Supports rmdir() | Yes

Notas

Nota:

FTPS is only supported when the openssl extension is enabled.

If the server does not support SSL, then the connection falls back to regular unencrypted ftp.

Nota: Appending
Files may be appended via the ftp:// URL wrapper.

Veja Também

  • Opções de contexto do FTP


Accessing various I/O streams

  • « ftp://
  • zlib:// »
  • PHP Manual
  • Protocolos e Wrappers suportados
  • Accessing various I/O streams

php://

php:// — Accessing various I/O streams

Descrição

PHP provides a number of miscellaneous I/O streams that allow access to PHP's own input and output streams, the standard input, output and error file descriptors, in-memory and disk-backed temporary file streams, and filters that can manipulate other file resources as they are read from and written to.

php://stdin, php://stdout and php://stderr

php://stdin, php://stdout and php://stderr allow direct access to the corresponding input or output stream of the PHP process. The stream references a duplicate file descriptor, so if you open php://stdin and later close it, you close only your copy of the descriptor-the actual stream referenced by STDIN is unaffected. Note that PHP exhibited buggy behavior in this regard until PHP 5.2.1. It is recommended that you simply use the constants STDIN, STDOUT and STDERR instead of manually opening streams using these wrappers.

php://stdin is read-only, whereas php://stdout and php://stderr are write-only.

php://input

php://input is a read-only stream that allows you to read raw data from the request body. In the case of POST requests, it is preferable to use php://input instead of $HTTP_RAW_POST_DATA as it does not depend on special php.ini directives. Moreover, for those cases where $HTTP_RAW_POST_DATA is not populated by default, it is a potentially less memory intensive alternative to activating always_populate_raw_post_data. php://input is not available with enctype="multipart/form-data".

php://output

php://output is a write-only stream that allows you to write to the output buffer mechanism in the same way as print and echo.

php://fd

php://fd allows direct access to the given file descriptor. For example, php://fd/3 refers to file descriptor 3.

php://memory and php://temp

php://memory and php://temp are read-write streams that allow temporary data to be stored in a file-like wrapper. The only difference between the two is that php://memory will always store its data in memory, whereas php://temp will use a temporary file once the amount of data stored hits a predefined limit (the default is 2 MB). The location of this temporary file is determined in the same way as the sys_get_temp_dir() function.

The memory limit of php://temp can be controlled by appending /maxmemory:NN, where NN is the maximum amount of data to keep in memory before using a temporary file, in bytes.

php://filter

php://filter is a kind of meta-wrapper designed to permit the application of filters to a stream at the time of opening. This is useful with all-in-one file functions such as readfile(), file(), and file_get_contents() where there is otherwise no opportunity to apply a filter to the stream prior the contents being read.

The php://filter target takes the following parameters as part of its path. Multiple filter chains can be specified on one path. Please refer to the examples for specifics on using these parameters.

php://filter parameters
Name | Description
resource=<stream to be filtered> | This parameter is required. It specifies the stream that you would like to filter.
read=<filter list to apply to read chain> | This parameter is optional. One or more filter names can be provided here, separated by the pipe character (|).
write=<filter list to apply to write chain> | This parameter is optional. One or more filter names can be provided here, separated by the pipe character (|).
<filter list to apply to both chains> | Any filter lists which are not prefixed by read= or write= will be applied to both the read and write chains as appropriate.

Opções

Wrapper Summary (for php://filter, refer to the summary of the wrapper being filtered)
Attribute | Supported
Restricted by allow_url_fopen | No
Restricted by allow_url_include | php://input, php://stdin, php://memory and php://temp only.
Allows Reading | php://stdin, php://input, php://fd, php://memory and php://temp only.
Allows Writing | php://stdout, php://stderr, php://output, php://fd, php://memory and php://temp only.
Allows Appending | php://stdout, php://stderr, php://output, php://fd, php://memory and php://temp only. (Equivalent to writing)
Allows Simultaneous Reading and Writing | php://fd, php://memory and php://temp only.
Supports stat() | No. However, php://memory and php://temp support fstat().
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No
Supports stream_select() | php://stdin, php://stdout, php://stderr, php://fd and php://temp only.

Exemplos

Exemplo #1 php://temp/maxmemory

This optional parameter allows setting the memory limit before php://temp starts using a temporary file.

<?php
// Set the limit to 5 MB.
$fiveMBs = 5 * 1024 * 1024;
$fp = fopen("php://temp/maxmemory:$fiveMBs", 'r+');

fputs($fp, "hello\n");

// Read what we have written.
rewind($fp);
echo stream_get_contents($fp);
?>

Exemplo #2 php://filter/resource=<stream to be filtered>

This parameter must be located at the end of your php://filter specification and should point to the stream which you want filtered.

<?php
/* This is equivalent to simply:
  readfile("http://www.example.com");
  since no filters are actually specified */

readfile("php://filter/resource=http://www.example.com");
?>

Exemplo #3 php://filter/read=<filter list to apply to read chain>

This parameter takes one or more filternames separated by the pipe character |.

<?php
/* This will output the contents of
  www.example.com entirely in uppercase */
readfile("php://filter/read=string.toupper/resource=http://www.example.com");

/* This will do the same as above
  but will also ROT13 encode it */
readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com");
?>

Exemplo #4 php://filter/write=<filter list to apply to write chain>

This parameter takes one or more filternames separated by the pipe character |.

<?php
/* This will filter the string "Hello World"
  through the rot13 filter, then write to
  example.txt in the current directory */
file_put_contents("php://filter/write=string.rot13/resource=example.txt","Hello World");
?>

Exemplo #5 php://memory and php://temp are not reusable

php://memory and php://temp are not reusable, i.e. after the streams have been closed there is no way to refer to them again.

file_put_contents('php://memory', 'PHP');
echo file_get_contents('php://memory'); // prints nothing


Compression Streams

  • « php://
  • data:// »
  • PHP Manual
  • Protocolos e Wrappers suportados
  • Compression Streams

zlib://

bzip2://

zip://

zlib:// -- bzip2:// -- zip:// — Compression Streams

Descrição

compress.zlib:// and compress.bzip2://

zlib: works like gzopen(), except that the stream can be used with fread() and the other filesystem functions. This is deprecated due to ambiguities with filenames containing ':' characters; use compress.zlib:// instead.

compress.zlib:// and compress.bzip2:// are equivalent to gzopen() and bzopen() respectively, and operate even on systems that do not support fopencookie.

ZIP extension registers zip: wrapper. As of PHP 7.2.0 and libzip 1.2.0+, support for the passwords for encrypted archives were added, allowing passwords to be supplied by stream contexts. Passwords can be set using the 'password' stream context option.

Uso

  • compress.zlib://file.gz
  • compress.bzip2://file.bz2
  • zip://archive.zip#dir/file.txt

Opções

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Allows Reading | Yes
Allows Writing | Yes (except zip://)
Allows Appending | Yes (except zip://)
Allows Simultaneous Reading and Writing | No
Supports stat() | No, use the normal file:// wrapper to stat compressed files.
Supports unlink() | No, use the normal file:// wrapper to unlink compressed files.
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No


Data (RFC 2397)

  • « zlib://
  • glob:// »
  • PHP Manual
  • Protocolos e Wrappers suportados
  • Data (RFC 2397)

data://

data:// — Data (RFC 2397)

Descrição

The data: (» RFC 2397) stream wrapper.

Uso

  • data://text/plain;base64,

Opções

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | Yes
Restricted by allow_url_include | Yes
Allows Reading | Yes
Allows Writing | No
Allows Appending | No
Allows Simultaneous Reading and Writing | No
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Exemplos

Exemplo #1 Print data:// contents

<?php
// prints "I love PHP"
echo file_get_contents('data://text/plain;base64,SSBsb3ZlIFBIUAo=');
?>

Exemplo #2 Fetch the media type

<?php
$fp   = fopen('data://text/plain;base64,', 'r');
$meta = stream_get_meta_data($fp);

// prints "text/plain"
echo $meta['mediatype'];
?>


Find pathnames matching pattern

  • « data://
  • phar:// »
  • PHP Manual
  • Protocolos e Wrappers suportados
  • Find pathnames matching pattern

glob://

glob:// — Find pathnames matching pattern

Descrição

The glob: stream wrapper.

Uso

  • glob://

Opções

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Restricted by allow_url_include | No
Allows Reading | No
Allows Writing | No
Allows Appending | No
Allows Simultaneous Reading and Writing | No
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Exemplos

Exemplo #1 Basic usage

<?php
// Loop over all *.php files in ext/spl/examples/ directory
// and print the filename and its size
$it = new DirectoryIterator("glob://ext/spl/examples/*.php");
foreach($it as $f) {
    printf("%s: %.1FK\n", $f->getFilename(), $f->getSize()/1024);
}
?>
tree.php: 1.0K
findregex.php: 0.6K
findfile.php: 0.7K
dba_dump.php: 0.9K
nocvsdir.php: 1.1K
phar_from_dir.php: 1.0K
ini_groups.php: 0.9K
directorytree.php: 0.9K
dba_array.php: 1.1K
class_tree.php: 1.8K


PHP Archive

  • « glob://
  • ssh2:// »
  • PHP Manual
  • Protocolos e Wrappers suportados
  • PHP Archive

phar://

phar:// — PHP Archive

Descrição

The phar:// stream wrapper. See Phar stream wrapper for a detailed description.

Uso

  • phar://

Opções

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Restricted by allow_url_include | No
Allows Reading | Yes
Allows Writing | Yes
Allows Appending | No
Allows Simultaneous Reading and Writing | Yes
Supports stat() | Yes
Supports unlink() | Yes
Supports rename() | Yes
Supports mkdir() | Yes
Supports rmdir() | Yes

Veja Também

  • Opções de contexto do Phar


Secure Shell 2

  • « phar://
  • rar:// »
  • PHP Manual
  • Protocolos e Wrappers suportados
  • Secure Shell 2

ssh2://

ssh2:// — Secure Shell 2

Descrição

ssh2.shell:// ssh2.exec:// ssh2.tunnel:// ssh2.sftp:// ssh2.scp:// (PECL)

Nota: This wrapper is not enabled by default
In order to use the ssh2.*:// wrappers you must install the » SSH2 extension available from » PECL.

In addition to accepting traditional URI login details, the ssh2 wrappers will also reuse open connections by passing the connection resource in the host portion of the URL.

Uso

  • ssh2.shell://user:pass@example.com:22/xterm
  • ssh2.exec://user:pass@example.com:22/usr/local/bin/somecmd
  • ssh2.tunnel://user:pass@example.com:22/192.168.0.1:14
  • ssh2.sftp://user:pass@example.com:22/path/to/filename

Opções

Wrapper Summary
Attribute | ssh2.shell | ssh2.exec | ssh2.tunnel | ssh2.sftp | ssh2.scp
Restricted by allow_url_fopen | Yes | Yes | Yes | Yes | Yes
Allows Reading | Yes | Yes | Yes | Yes | Yes
Allows Writing | Yes | Yes | Yes | Yes | No
Allows Appending | No | No | No | Yes (When supported by server) | No
Allows Simultaneous Reading and Writing | Yes | Yes | Yes | Yes | No
Supports stat() | No | No | No | Yes | No
Supports unlink() | No | No | No | Yes | No
Supports rename() | No | No | No | Yes | No
Supports mkdir() | No | No | No | Yes | No
Supports rmdir() | No | No | No | Yes | No

Context options
Name | Usage | Default
session | Preconnected ssh2 resource to be reused |
sftp | Preallocated sftp resource to be reused |
methods | Key exchange, hostkey, cipher, compression, and MAC methods to use |
callbacks |  |
username | Username to connect as |
password | Password to use with password authentication |
pubkey_file | Name of public key file to use for authentication |
privkey_file | Name of private key file to use for authentication |
env | Associate array of environment variables to set |
term | Terminal emulation type to request when allocating a pty |
term_width | Width of terminal requested when allocating a pty |
term_height | Height of terminal requested when allocating a pty |
term_units | Units to use with term_width and term_height | SSH2_TERM_UNIT_CHARS

Exemplos

Exemplo #1 Opening a stream from an active connection

<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
                                            '/home/username/.ssh/id_rsa', 'secret');
$stream = fopen("ssh2.tunnel://$session/remote.example.com:1234", 'r');
?>

Exemplo #2 This $session variable must be kept available!

In order to use the ssh2.*://$session wrappers you must keep the $session resource variable. The code below will not have the desired effect:

<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
                                            '/home/username/.ssh/id_rsa', 'secret');
$connection_string = "ssh2.sftp://$session/";
unset($session);
$stream = fopen($connection_string . "path/to/file", 'r');
?>

unset() closes the session, because $connection_string does not hold a reference to the $session variable, just a string cast derived from it. This also happens when the unset() is implicit because of leaving scope (like in a function).


RAR

  • « ssh2://
  • ogg:// »
  • PHP Manual
  • Protocolos e Wrappers suportados
  • RAR

rar://

rar:// — RAR

Descrição

The wrapper takes the url encoded path to the RAR archive (relative or absolute), an optional asterik (*), an optional number sign (#) and an optional url encoded entry name, as stored in the archive. Specifying an entry name requires the number sign; a leading forward slash in the entry name is optional.

This wrapper can open both files and directories. When opening directories, the asterisk sign forces the directory entries names to be returned unencoded. If it's not specified, they will be returned url encoded – the reason for this is to allow the wrapper to be correctly used with built-in functionality like the RecursiveDirectoryIterator in the presence of file names that seem like url encoded data.

If the pound sign and the entry name part are not included, the root of the archive will be displayed. This differs from regular directories in that the resulting stream will not contain information such as the modification time, as the root directory is not stored in an individual entry in the archive. The usage of the wrapper with RecursiveDirectoryIterator requires the number sign to be included in the URL when accessing the root, so that the URLs of the children may be constructed correctly.

Nota: This wrapper is not enabled by default
In order to use the rar:// wrapper, you must install the » rar extension available from » PECL.

rar:// Available since PECL rar 3.0.0

Uso

  • rar://<url encoded archive name>[*][#[<url encoded entry name>]]

Opções

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Restricted by allow_url_include | No
Allows Reading | Yes
Allows Writing | No
Allows Appending | No
Allows Simultaneous Reading and Writing | No
Supports stat() | Yes
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Context options
Name | Usage | Default
open_password | The password used to encrypt the headers of the archive, if any. WinRAR will encrypt all the files with the same password as the headers password when the later is present, so for archives with encrypted headers, file_password will be ignored. |
file_password | The password used to encrypt a file, if any. If the headers are also encrypted, this option will be ignored in favor of open_password. The reason there are two options is to cover the possibility of supporting archives with different headers and file passwords, should those archives arise. Note that if the archive does not have its headers encrypted, open_password will be ignored and this option must be used instead. |
volume_callback | A callback to determine the path of missing volumes. See RarArchive::open() for more information. |

Exemplos

Exemplo #1 Traversing a RAR archive

<?php

class MyRecDirIt extends RecursiveDirectoryIterator {
    function current() {
        return rawurldecode($this->getSubPathName()) .
            (is_dir(parent::current())?" [DIR]":"");
    }
}

$f = "rar://" . rawurlencode(dirname(__FILE__)) .
    DIRECTORY_SEPARATOR . 'dirs_and_extra_headers.rar#';

$it = new RecursiveTreeIterator(new MyRecDirIt($f));

foreach ($it as $s) {
    echo $s, "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

|-allow_everyone_ni [DIR]
|-file1.txt
|-file2_?.txt
|-with_streams.txt
\-? [DIR]
  |-?\%2Fempty%2E [DIR]
  | \-?\%2Fempty%2E\file7.txt
  |-?\empty [DIR]
  |-?\file3.txt
  |-?\file4_?.txt
  \-?\?_2 [DIR]
    |-?\?_2\file5.txt
    \-?\?_2\file6_?.txt

Exemplo #2 Opening an encrypted file (header encryption)

<?php
$stream = fopen("rar://" .
    rawurlencode(dirname(__FILE__)) . DIRECTORY_SEPARATOR .
    'encrypted_headers.rar' . '#encfile1.txt', "r", false,
    stream_context_create(
        array(
            'rar' =>
                array(
                    'open_password' => 'samplepassword'
                )
            )
        )
    );
var_dump(stream_get_contents($stream));
/* creation and last access date is opt-in in WinRAR, hence most
 * files don't have them */
var_dump(fstat($stream));
?>

O exemplo acima irá imprimir algo similar à:

string(26) "Encrypted file 1 contents."
Array
(
    [0] => 0
    [1] => 0
    [2] => 33206
    [3] => 1
    [4] => 0
    [5] => 0
    [6] => 0
    [7] => 26
    [8] => 0
    [9] => 1259550052
    [10] => 0
    [11] => -1
    [12] => -1
    [dev] => 0
    [ino] => 0
    [mode] => 33206
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 26
    [atime] => 0
    [mtime] => 1259550052
    [ctime] => 0
    [blksize] => -1
    [blocks] => -1
)


Audio streams

  • « rar://
  • expect:// »
  • PHP Manual
  • Protocolos e Wrappers suportados
  • Audio streams

ogg://

ogg:// — Audio streams

Descrição

Files opened for reading via the ogg:// wrapper are treated as compressed audio encoded using the OGG/Vorbis codec. Similarly, files opened for writing or appending via the ogg:// wrapper are written as compressed audio data. stream_get_meta_data(), when used on an OGG/Vorbis file opened for reading will return various details about the stream including the vendor tag, any included comments, the number of channels, the sampling rate, and the encoding rate range described by: bitrate_lower, bitrate_upper, bitrate_nominal, and bitrate_window.

ogg:// (PECL)

Nota: This wrapper is not enabled by default
In order to use the ogg:// wrapper you must install the » OGG/Vorbis extension available from » PECL.

Uso

  • ogg://soundfile.ogg
  • ogg:///path/to/soundfile.ogg
  • ogg://http://www.example.com/path/to/soundstream.ogg

Opções

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Allows Reading | Yes
Allows Writing | Yes
Allows Appending | Yes
Allows Simultaneous Reading and Writing | No
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Context options
Name | Usage | Default | Mode
pcm_mode | PCM encoding to apply while reading, one of: OGGVORBIS_PCM_U8, OGGVORBIS_PCM_S8, OGGVORBIS_PCM_U16_BE, OGGVORBIS_PCM_S16_BE, OGGVORBIS_PCM_U16_LE, and OGGVORBIS_PCM_S16_LE. (8 vs 16 bit, signed or unsigned, big or little endian) | OGGVORBIS_PCM_S16_LE | Read
rate | Sampling rate of input data, expressed in Hz | 44100 | Write/Append
bitrate | When given as an integer, the fixed bitrate at which to encode. (16000 to 131072) When given as a float, the variable bitrate quality to use. (-1.0 to 1.0) | 128000 | Write/Append
channels | The number of audio channels to encode, typically 1 (Mono), or 2 (Stereo). May range as high as 16. | 2 | Write/Append
comments | An array of string values to encode into the track header. |  | Write/Append

Exemplos


Process Interaction Streams

  • « ogg://
  • Segurança »
  • PHP Manual
  • Protocolos e Wrappers suportados
  • Process Interaction Streams

expect://

expect:// — Process Interaction Streams

Descrição

Streams opened via the expect:// wrapper provide access to process'es stdio, stdout and stderr via PTY.

Nota: This wrapper is not enabled by default
In order to use the expect:// wrapper you must install the » Expect extension available from » PECL.

expect:// (PECL)

Uso

  • expect://command

Opções

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Allows Reading | Yes
Allows Writing | Yes
Allows Appending | Yes
Allows Simultaneous Reading and Writing | No
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Exemplos


Segurança

  • Introdução
  • Considerações Gerais
  • Instalando como binário CGI
    • Ataque Possível
    • Caso 1: apenas arquivos públicos são disponibilizados
    • Caso 2: usando cgi.force_redirect
    • Caso 3: configurando doc_root ou user_dir
    • Caso 4: Interpretador do PHP fora da árvore de diretórios do servidor web
  • Instalado como módulo do Apache
  • Session Security
  • Segurança do Sistema de Arquivos
    • Problemas relacionados a bytes nulos (Null)
  • Segurança de Bancos de Dados
    • Desenhando Bancos de Dados
    • Conectando com o Banco de Dados
    • Modelo de Armazenamento Criptografado
    • Injeção de SQL
  • Relatando Erros
  • Dados Enviados pelo Usuário
  • Escondendo o PHP
  • Mantendo-se Atualizado


Introdução

PHP é uma linguagem poderosa e um interpretador, seja incluído em um servidor web como um módulo ou executado separadamente como binário CGI, é possível acessar arquivos, executar comandos e abrir conexões de rede no servidor. Essas propriedades fazem qualquer coisa executando em um servidor web inseguras por padrão. PHP é desenhado especificamente para ser uma linguagem mais segura para escrever programas CGI que Perl ou C, e com a escolha correta de opções de configuração em tempo compilação ou de execução, e práticas corretas de programação, ela pode dar a combinação exata de liberdade e segurança que você precisa.

Como existem diferentes maneiras de utilizar o PHP, existem várias opções de configuração controlando seu comportamento. Um grande leque de opções garante que você pode usar o PHP para vários propósitos, mas também significa que existem combinações dessas opções e configurações do servidor que resultam em uma instalação insegura.

A flexibilidade de configuração do PHP é comparável com a flexibilidade de código. PHP pode ser usado para montar um servidor de aplicações completo, com todo o poder de um usuário shell, ou pode ser usado para inclusão simples de arquivos no lado do servidor com pouco risco em um ambiente bem controlado. Como montar o ambiente, e o quão seguro ele é, depende muito do desenvolvedor.

Esse capítulo começa com alguns conselhos genéricos de segurança, explica as diferentes combinações de opções de configuração e as situações nas quais elas podem ser usadas com segurança e descreve diferentes considerações quanto ao desenvolvimento para diferentes níveis de segurança.


Considerações Gerais

Um sistema completamente seguro é virtualmente impossível de se conseguir, então uma abordagem freqüentemente usada em segurança é um compromisso entre risco e usabilidade. Se cada variável enviada pelo usuário precias de duas formas de validação biométrica (como escaneamento de retina e impressão digital), você teria um nível de checagem extremamente alto. Demoraria meia hora para preencher um formulário mais ou menos complexo, o que incentivaria os usuários a achar maneiras de burlar a segurança.

A melhor segurança é frequentemente aquele preenche os requerimentos sem obstruir o usuário de fazer o seu trabalho, ou sobrecarregando o programador com complexidade excessiva. De fato, alguns ataques de segurança exploram esse tipo de segurança super-produzida, que tende a degradar com o tempo.

Uma frase que vale a pena lembrar: Um sistema é tão bom quanto o elo mais fraco na corrente. Se todas as transações são maciçamente registradas baseado no tempo, localização, tipo de transação, etc. mas o usuário só é verificado baseado em um único cookie, a validade de ligar os usuários ao registro de transação torna-se muito fraca.

Quando estiver testando, tenha em mente que você não será capaz de testar todas as possibilidades nem mesmo para as páginas mais simples. A entrada que você pode esperar será totalmente diferente da entrada dada por um empregado irritado, um cracker com meses livres para tentar quebrar o sistema, ou um gato andando pelo teclado. Por isso é melhor olhar ao código da perspectiva lógica, para discernir onde dados inesperados podem ser introduzidos, e depois seguir aonde o mesmo é modificado, reduzido ou amplificado.

A Internet está cheia de gente tentando fazer o próprio nome quebrando o código dos outros, derrubando sites, enviando conteúdo indevido e de outras formas fazendo seu dia interessante. Não importa se você tem um site grande ou pequeno, você é um alvo simplesmente por estar online, tendo um servidor que pode ser conectado. Muitos programas de cracking não discernem por tamanho, eles simplesmente vasculham blocos gigantes de IPs procurando por vítimas. Tente não se tornar um.


Instalando como binário CGI

Índice

  • Ataque Possível
  • Caso 1: apenas arquivos públicos são disponibilizados
  • Caso 2: usando cgi.force_redirect
  • Caso 3: configurando doc_root ou user_dir
  • Caso 4: Interpretador do PHP fora da árvore de diretórios do servidor web


Ataque Possível

Usando o PHP como binário CGI é uma opção de instalação que por alguma razão não deseja integrar o PHP como um módulo no servidor (como o Apache), ou usará o PHP com tipos diferentes de CGI wrappers para criar ambientes chroot e setuid seguros para os scripts. Esse tipo de instalação normalmente involve copiar o binário executável para o diretório cgi-bin do servidor web. CERT advisory » CA-96.11 recomenda não colocar qualquer interpretador nesse diretório. Mesmo se o binário do PHP pode ser usado como um interpretador autônomo, o PHP foi desenhado para previnir os ataques que essa forma de instalação torna possível:

  • Acessar arquivos de sistema: http://my.host/cgi-bin/php?/etc/passwd A informação de consulta em uma URL depois da interrogração (?) é passada como argumentos de linha de comando para o interpretador pela interface CGI. Normalmente os interpretadores abrem e executam o arquivo especificado como primeiro argumento na linha de comando. Quando invocado como binárgio CGI, o PHP se recusa a interpretar os argumentos de linha de comando.
  • Acessar qualquer domento web no servidor: http://my.host/cgi-bin/php/secret/doc.html A parte de informação de caminho da URL depois do nome do binário do PHP, /secret/doc.html é convencionalmente usada para especificar o nome do arquivo a ser aberto e interpretado pelo programa CGI Normalmente algumas diretivas de configuração do servidor web (Apache: Action) são usadas para redirecionar requisições para documentos como http://my.host/secret/script.php para o interpretados do PHP. Dessa maneira, o servidor web primeiro checa as permissões de acesso ao diretório /secret, e depois cria a requisição redirecionada http://my.host/cgi-bin/php/secret/script.php. Infelizmente, se a requisição é dada originalmente nessa forma, a checagem de permissão não é feita para o arquivo /secret/script.php, mas apenas para o arquivo /cgi-bin/php. Dessa maneira qualquer usuário que pode acessar /cgi-bin/php pode acessar quaisquer documentos protegidos no servidor web. No PHP, as diretivas de tempo de execução cgi.force_redirect, doc_root e user_dir podem ser usadas para previnir esse ataque, se a árvore de documentos do servidor tiver qualquer diretório com restrições de acesso. Veja abaixo para uma explicação completa de combinações diferentes.


Caso 1: apenas arquivos públicos são disponibilizados

Se o seu servidor não tiver qualquer conteúdo que não é restringido por senha ou por IP, não há necessidade para essas opções de configuração. Se seu servidor web não permitir que você faça redirecionamento, ou o servidor não tem uma maneira de comunicar ao binário PHP que a requisição é uma redirecionada de maneira segura, você pode especificar a opção --enable-force-cgi-redirect no script configure. Você ainda tem que assegurar que os seus scripts PHP não confiem com uma ou outra maneira de chamar o script, nem diretamente http://my.host/cgi-bin/php/dir/script.php nem por redirecionamento http://my.host/dir/script.php.

Redirecionamento pode ser configurado no Apache usando AddHandler e diretivas Action (veja abaixo).


Caso 2: usando cgi.force_redirect

A configuração da diretiva cgi.force_redirect previne qualquer um chamar diretamente o PHP com uma URL do tipo http://my.host/cgi-bin/php/secretdir/script.php. Ao invés disso, PHP só irá executar dessa forma se tiver passado por um servidor web com essa diretiva. Versões do PHP anteriores a 4.2.0 utilizavam a opção de compilação --enable-force-cgi-redirect para isso.

Normalmente o redirecionamento na configuração do Apache é feita com as seguintes diretivas:

Action php-script /cgi-bin/php
AddHandler php-script .php

Essa opção só foi testada com o servidor Apache, e confia no Apache para configura a variável de ambiente não-padrão do CGI REDIRECT_STATUS em requisições redirecionadas. Se seu servidor web não suporta nenhuma maneira de dizer se a requisição é direta ou rediracionada, você não pode usar essa opção e você deve usar uma das outras maneira de executar a versão do CGI documentada aqui.


Caso 3: configurando doc_root ou user_dir

Para incluir conteúdo ativo, como script e executáveis, nos diretórios de documentos do servidor é algumas vezes consideread uma prática insegura. Se, por conta de um erro de configuração, os scripts não são executados mas mostrados como documentos HTML normais, isso pode resultar em vazamento de propriedade intelectual ou informação de segurança, como senhas. Portanto, muitos administradores preferirão configura outra estrutura de diretório para scripts que são acessíveis apenas pelo CGI do PHP, e, portanto, sempre interpretados e não enviado ao navegador.

Além disso, se o método para assegura que as requisições não são redirecionadas, como descrito na seção anterior, não estiver disponível, é necessário configura um doc_root para os script que é diferente do doc_root do servidor web.

Você pode configura a raiz de documentos dos scripts PHP pela diretiva de configuração doc_root no arquivo de configuração, ou você pode criar a variável de ambiente PHP_DOCUMENT_ROOT. Se ela existir, a versão CGI do PHP sempre construirá o nome de arquivo para ser aberto com esse doc_root e a informação de caminho na requisição, para assegurar que nenhum script é executado fora desse diretório (exceto por user_dir abaixo).

Outra opção utilizável é user_dir. Quando user_dir não existir, a única coisa controlando o nome do arquivo aberto é doc_root. Abrir uma URL como http://my.host/~user/doc.php não resulta em abrir um arquivo no diretório home de users, mas um arquivo chamado ~user/doc.php dentro de doc_root (sim, um nome de diretório começando com til [~]).

Se user_dir existir e tiver valor de, por exemplo, public_php, uma requisição como http://my.host/~user/doc.php abrirá o arquivo chamado doc.php no diretório chamado public_php dentro do diretório home do usuário. Se o home do usuário é /home/user, o arquivo executado é /home/user/public_php/doc.php.

A expansão de user_dir acontece independente da configuração de doc_root, para que você possa controlar a raiz de documentos e de acesso de diretório do usuário separadamente.


Caso 4: Interpretador do PHP fora da árvore de diretórios do servidor web

Uma maneira muito segura é colocar o interpretador do PHP em algum lugar longe dos arquivos da árvore de diretórios do servidor. Em /usr/local/bin, por exemplo. A única desvantagem real para essa opção é que você terá que colocar uma linha similar à:

#!/usr/local/bin/php
como a primeira linha de qualquer arquivo contento tags do PHP. Você também terá que tornar o arquivo executável. Isso é, tratá-lo exatamente como você trataria qualquer script CGI escrito em Perl ou sh ou qualquer outra linguagem de script comum que usa o mecanismo de escape de shell #! para ser executado.

Para fazer o PHP tratar as informações de PATH_INFO e PATH_TRANSLATED corretamente com essa configuração, o interpretador do PHP deve ser compilado com a opção de configure --enable-discard-path.


Instalado como módulo do Apache

Quando o PHP é usado como módulo do Apache, ele herda as permissões do usuário do Apache (normalmente as do usuário "nobody"). Isso tem vários impactos de segurança e autorização. Por exemplo, se você estiver usando o PHP para acessar um banco de dados, a menos que o banco de dados tenha um controle de acesso interno, você terá que faz o banco de dados acessível ao usuário "nobody". Isso significa que um script malicioso pode acessar e modificar o banco de dados, mesmo sem um usuário e senha. É possível que um web spider pode passar em uma página web de administração do banco de dados e remover todos os bancos de dados. Você pode se proteger contra isso usando autorização do Apache, ou você pode desenvolver seu modelo de acesso prório usando LDAP, arquivos .htaccess, etc. e incluir esse código como parte dos seus scripts PHP.

Normalmente, uma vez que a segurança está estabelecida até esse ponto onde o usuário do PHP (no caso, o usuário apache) tem pouco risco atribuído a ele, você descobre que o PHP não tem permissão de escrita nos diretórios dos usuários. Ou talvez tenha sido proibido de acessar ou alterar bancos de dados. Também foi proibido de escrever arquivos, bons ou ruins, ou fazer transações de bancos de dados, boas ou ruins.

Um erro freqüente de segurança feito até esse ponto é permiter ao apache permissões de administrador (root), ou aumentar as habilidades do apahce de qualquer outra forma.

Aumentar as permissões do usuário do Apache para a de administrador é extremamente perigoso e pode comprometer o sistema inteiro, então sudo'ing, chroot'ing, ou então executar como root não deve ser considerados por aqueles que não são profissionais em segurança.

Existem algumas soluções mais simples. Usando a diretiva open_basedir pode-se controlar e restringir quais diretórios o PHP tem permissão de usar. Você também pode configurar area exclusivas para o Apache, restringir todas as atividades web para arquivo que não sejam de algum usuário ou do sistema.


Session Security

It is important keeping HTTP session management secure. Session releated security is described in Session Security section of Session module reference.


Segurança do Sistema de Arquivos

Índice

  • Problemas relacionados a bytes nulos (Null)

O PHP está sujeito à segurança encontrada na maioria dos sistemas de servidor com respeito à permissões de arquivos e diretórios. Isso permite que você controle quais arquivos no sistema podem ser lidos e por quem. É preciso ter cuidado com quaisquer arquivos que são lidos por todos para assegurar que eles podem ser lidos por todos os usuários que tem acesso ao sistema de arquivos.

Já que o PHP foi desenhado para permitir acesso em nível de usuário ao sistema de aruqivos, é possível escrever um script PHP que permitirá ler arquivos do sistema com /etc/passwd, modificar suas conexões de ethernet, enviar trabalhos de impressão gigantes, etc. Isso tem algumas implicações óbvias, já que você precisa ter certeza que os arquivos que você lê e escreve são apropriados.

Considere o seguinte script, onde um usuário indica que ele quer apagar um arquivo no seu diretório home. Isso presume uma situação onde uma interface web PHP é usada regularmente para controle de arquivos, então o usuário do Apache tem permissão de apagar arquivos nos diretórios home dos usuários.

Exemplo #1 Checagem fraca de variáveis resulta em....

<?php
// remove a file from the user's home directory
$username = $_POST['user_submitted_name'];
$userfile = $_POST['user_submitted_filename'];
$homedir  = "/home/$username";

unlink("$homedir/$userfile");

echo "The file has been deleted!";
?>
Já que o nome do usuário e do arquivo são enviáveis pelo formulário, um usuário pode enviar um nome de usuário e de arquivo que pertença a outra pessoa, e apagá-lo, mesmo que eles não tenham permissão para fazê-lo. Nesse caso, você desejaria ter alguma outra forma de autenticação. Considere o que poderia acontecer se as variáveis enviadas forem "../etc/" and "passwd". O código então leria efetivamente:

Exemplo #2 ... um ataque ao sistema de arquivos

<?php
// remove um arquivo de qualquer lugar no disco rígido
// que o usuário do PHP tenha acesso. Se o PHP tiver acesso de administrador (root):
$username = $_POST['user_submitted_name']; // "../etc"
$userfile = $_POST['user_submitted_filename']; // "passwd"
$homedir  = "/home/$username"; // "/home/../etc"

unlink("$homedir/$userfile"); // "/home/../etc/passwd"

echo "The file has been deleted!";
?>
Existem duas medidas importantes que você deve tomar para previnir esses problemas.
  • Só dar permissões limitadas ao usuário executando o binário do PHP.
  • Checar todas as variáveis que são enviadas.
Aqui temos um script melhorado:

Exemplo #3 Checagem mais segura do nome do arquivo

<?php
// remove um arquivo do disco rígido que o
// usuário do PHP tenha acesso.
$username = $_SERVER['REMOTE_USER']; // usando um mecanismo de autenticação
$userfile = basename($_POST['user_submitted_filename']);
$homedir  = "/home/$username";

$filepath = "$homedir/$userfile";

if (file_exists($filepath) && unlink($filepath)) {
    $logstring = "Deleted $filepath\n";
} else {
    $logstring = "Failed to delete $filepath\n";
}
$fp = fopen("/home/logging/filedelete.log", "a");
fwrite($fp, $logstring);
fclose($fp);

echo htmlentities($logstring, ENT_QUOTES);

?>
No entanto, ele ainda possui falhas. Se seu sistema de autenticação permitir que os usuários criem seu próprios logins, e um usuário escolher o login "../etc/", o sistema está novamente exposto. Por essa razão, você pode preferir escrever uma checagem mais específica:

Exemplo #4 Checagem mais segura do nome do arquivo

<?php
$username     = $_SERVER['REMOTE_USER']; // usando um mecanismo de autenticação
$userfile     = $_POST['user_submitted_filename'];
$homedir      = "/home/$username";

$filepath     = "$homedir/$userfile";

if (!ctype_alnum($username) || !preg_match('/^(?:[a-z0-9_-]|\.(?!\.))+$/iD', $userfile)) {
    die("Bad username/filename");
}

//etc...
?>

Dependendo do seu sistema operacional, existe uma variedade enorme de arquivos que você tem que se preocupar, incluindo dispositivos (/dev/ or COM1), arquivos de configuração (arquivos /etc/ e .ini), áres de armazenamento conhecidas (/home/, My Documents), etc. Por essa razão, normalmente é mais fácil criar uma política onde você proibe tudo exceto aquilo que for explicitamente permitido.


Problemas relacionados a bytes nulos (Null)

Como o PHP usa funções em C para operações relacionadas ao sistema de arquivos, ele pode lidar com bytes nulos de maneira inexperada. Como bytes nules denotam fim de string em C, strings contendo eles não serão consideradas por inteiro, mas apenas até que um byte nulo ocorra. O seguinte exemplo mostra um código vulnerável que demonstra esse problema:

Exemplo #1 Script vulnerável à bytes nulos

<?php
$file = $_GET['file']; // "../../etc/passwd\0"
if (file_exists('/home/wwwrun/'.$file.'.php')) {
    // file_exists will return true as the file /home/wwwrun/../../etc/passwd exists
    include '/home/wwwrun/'.$file.'.php';
    // the file /etc/passwd will be included
}
?>

Portanto, qualquer string comprometida que é usada em uma operação de sistema de arquivos deve sempre ser validada corretamente. Aqui está uma versão melhorada do exemplo anterior:

Exemplo #2 Validando entrada corretamente

<?php
$file = $_GET['file'];

// Whitelisting possible values
switch ($file) {
    case 'main':
    case 'foo':
    case 'bar':
        include '/home/wwwrun/include/'.$file.'.php';
        break;
    default:
        include '/home/wwwrun/include/main.php';
}
?>


Segurança de Bancos de Dados

Índice

  • Desenhando Bancos de Dados
  • Conectando com o Banco de Dados
  • Modelo de Armazenamento Criptografado
  • Injeção de SQL

Hoje em dia, bancos de dados são componentes cardinais de qualquer aplicação web permitindo que websites forneçam conteúdo dinâmico variável. uma ves que informação muito sensível e/ou secreta pode ser guardada em um banco de dados, proteger seus bancos de dados é essencial.

Para retirar ou guardar qualquer informação, você precisa conectar-se ao banco de dados, enviar uma consulta (query) legítima, puxar o resultado e fechar a conexão. Atualmente, a linguagem mais usada para consulta nessa interação é a Structured Query Language (SQL). Veja como um atacante pode manipular uma consulta SQL.

Como você pode perceber, o PHP não pode proteger seu banco de dados sozinho. As seções a seguir tentam ser uma introdução básica em relação a como acessa e manipular banco de dados a partir de scripts PHP.

Mantenha em mente essa regra simples: defesa em profundidade. Quanto mais lugares você faz ações para aumentar a proteção do seu banco, menor a probabilidade de um atacante ter suceso em expor ou abusar de qualquer informação guardada. Bom desenho do esquema (schema) de banco de dados e da aplicação lida com seus maiores medos.


Desenhando Bancos de Dados

O primeiro passo é sempre criar o banco de dados, a não ser que você queira usar um de terceiros. Quando um banco de dados é criado, ele é atribuído a um dono, que executou os comandos de criação. Normalmente, só o dono (ou um superusuário) pode faz algo com os objetos naquele banco de dados, e para permitir que outros usuários usem, privilégios devem ser concedidos.

Aplicações nunca devem conecta ao banco de dados como seu dono ou um superusuário, porque esses usuários podem executar qualquer consulta que quiserem, por exemplo, modificar o esquema (ex.: destruindo tabelas) ou removendo seu conteúdo completamente.

Você pode criar usuários de bancos de dados diferentes para cada aspecto da sua aplicação com direitos muito limitados aos objetos do banco de dados. Apenas os privilégios mais necessários devem ser concedidos, e evitar que o mesmo usuário possa interagir com o banco de dados em casos de uso diferentes. Isso significa que se invasores conseguirem acessar seu bando usando credenciais da sua aplicação, eles só podem afetar o banco tanto quanto sua aplicação.

Encorajamos não implementar toda a lógica de negócio na aplicação web (ex.: seu script). Ao invés disso, faça parte no esquema do banco, usando view, triggers ou rules. Se o sistema evoluir, crescerá a vontade de criar novas maneiras de usar o banco, e você terá que reimplementar a lógica em cada cliente separado do banco. Além disso, triggers podem ser usados para lidar com certos campos de maneira automática e transparente, o que permite dar informações quando depurar problemas com sua aplicação ou rastreando transações.


Conectando com o Banco de Dados

Você pode querer estabelecer as conexões sobre SSL para criptografar comunicações cliente/servidor para aumentar a segurança, ou você pode usar ssh para criptografar a conexão de rede entre clientes e o servidor de banco de dados. Se uma dessa opções for usada, monitoramento do seu tráfego e obtenção de informação sobre seu banco de dados serão dificultados por um atacante.


Modelo de Armazenamento Criptografado

SSL/SSH protege dados transitando de um cliente para o servidor, mas não protege os dados guardados em um banco de dados. SSL é um protocolo on-the-wire.

Uma vez que o atacante ganha acesso direto ao seu banco de dados(desviando do servidor web), os dados armazenados podem ser expostos ou sofre uso nocivo, a não ser que a informação seja protegida pelo banco em si. Criptografa os dados é uma boa maneira de diminuir essa ameaça, mas poucos bancos de dados oferecem esse tipo de criptografia de dados.

A maneira mais fácil de contornar esse problema é primeiro criar seu próprio pacote de criptografia, e então usá-lo no seus scripts PHP. O PHP pode ajudá-lo com várias extensões, tais como Mcrypt e Mhash, cobrindo uma grande variedade de algoritmos de criptografia. O script criptografa os dados antes de inserí-los no banco de dados e descriptografa quando os recupera. Veja as referência para outros exemplos de como criptografia funciona.

No caso de dados realmente escondidos, se sua representação crua não é necessária (ex.: não será mostrada), usar uma função de hash pode ser levada em consideração. Um exemplo bem conhecido disso é guardar o hash MD5 de uma senha no banco de dados ao invés da senha em si. Veja também crypt() e md5().

Exemplo #1 Usando campo de senha hasheado

<?php

// guardando hash da senha
$query  = sprintf("INSERT INTO users(name,pwd) VALUES('%s','%s');",
            pg_escape_string($username), md5($password));
$result = pg_query($connection, $query);

// consultando se o usuário enviou a senha correta
$query = sprintf("SELECT 1 FROM users WHERE name='%s' AND pwd='%s';",
            pg_escape_string($username), md5($password));
$result = pg_query($connection, $query);

if (pg_num_rows($result) > 0) {
    echo 'Welcome, $username!';
} else {
    echo 'Authentication failed for $username.';
}

?>


Injeção de SQL

Muitos desenvolvedores web não sabem de como consultas SQL podem ser manipuladas e presumem que uma consulta de SQL é um comando confiável. Significa que consultas SQL são capazes de passar indetectado por controles de acesso, portanto desviando da autenticação padrão e de checagens de autorização, e algumas vezes consultas SQL podem permitir acesso à comando em nível do sistema operacional do servidor.

Injeção direta de comandos SQL é uma técnica onde um atacante cria ou altera comandos SQL existentes para expor dados escondidos, ou sobrescrever dados valiosos, ou ainda executar comandos de sistema perigosos no servidor. Isso é possível se a aplicação pegar a entrada do usuário e combinar com parâmetros estáticos para montar uma consulta SQL. Os exemplos a seguir são baseados em histórias verdadeiras, infelizmente.

Devido à falta de validação de entrada e conectando ao banco de dados usando o super-usuário ou um usuário que pode criar usuário, o atacante pode criar um super-usuário no seu banco de dados.

Exemplo #1 Dividinto o result set em páginas ... e criando super-usuários (PostgreSQL)

<?php

$offset = $argv[0]; // Cuidado, sem validação de entrada!
$query  = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";
$result = pg_query($conn, $query);

?>
Usuários normais clicam nos links 'próxima' e 'anterior' onde $offset é codificado na URL. O script espera que o valor de $offset seja um número decimal. No entanto, e se alguém tentar invadir acrescentando a forma codificada por urlencode() da URL seguinte:
0;
insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd)
    select 'crack', usesysid, 't','t','crack'
    from pg_shadow where usename='postgres';
--
Se isso acontecesse, então o script daria de presente acesso de super-usuário ao atacante. Perceba que 0; é para fornecer uma deslocamento válido para a consulta original e terminá-la.

Nota:

É uma técnica comum forçar o avaliador de SQL ignorar o resto da consulta escrita pelo desenvolvedor com --, que é o sinal de comentário no SQL.

Uma maneira de ganhar senha é desviar suas páginas de resultado de busca. A única coisa que o atacante precisa fazer é ver se alguma variável enviada é usada em um comando SQL que não é tratado corretamente. Esses filtros podem ser configurados de forma a personalizar cláusulas WHERE, ORDER BY, LIMIT e OFFSET em comandos SELECT Se seu banco de dados suporta o construtor UNION, o atacante pode tentar adicionar uma consulta inteira à consulta original para listar senhas de uma tabela arbitrária. Uso de campos de senha criptografados é fortemente incentivado.

Exemplo #2 Listando artigos ... e algumas senhas (qualquer banco de dados)

<?php

$query  = "SELECT id, name, inserted, size FROM products
                  WHERE size = '$size'
                  ORDER BY $order LIMIT $limit, $offset;";
$result = odbc_exec($conn, $query);

?>
A parte estática da consulta pode ser combinada com outro comando SELECT que revela todas as senhas:
'
union select '1', concat(uname||'-'||passwd) as name, '1971-01-01', '0' from usertable;
--
Se essa consulta (brincando com ' e --) fosse atribuída para uma das variáveis usadas em $query, a consulta boba acordaria.

Comandos de UPDATE também são suscetíveis a ataques. Essas consultas também são ameaçadas por cortes e acréscimos de uma nova consulta. Mas o atacante pode brincar com a cláusula SET. Nesse caso ele precisa estar de posse de alguma informação sobre o esquema para manipular a consulta com sucesso. Isso pode ser conseguido examinando os nomes das variáveis do formulário, ou simplesmente por força bruta. Não existem muitas convenções para campos guardando senhas ou nomes de usuários.

Exemplo #3 De reinicializando uma senha ... para ganhando mais privilégios (qualquer banco de dados)

<?php
$query = "UPDATE usertable SET pwd='$pwd' WHERE uid='$uid';";
?>
Mas um usuário malicioso envia o valor ' or uid like'%admin%'; -- para $uid para mudar a senha do administrador, ou simplesmente configura $pwd para "hehehe', admin='yes', trusted=100 " (com um espaço sobrando) para ganhar mais privilégios. Então, a consulta ficará torta:
<?php

// $uid == ' or uid like'%admin%'; --
$query = "UPDATE usertable SET pwd='...' WHERE uid='' or uid like '%admin%'; --";

// $pwd == "hehehe', admin='yes', trusted=100 "
$query = "UPDATE usertable SET pwd='hehehe', admin='yes', trusted=100 WHERE
...;";

?>

Um exemplo assustador de como comandos do sistema operacional podem ser acessados em alguns bancos de dados.

Exemplo #4 Atacando o sistema operacional do servidor (MSSQL Server)

<?php

$query  = "SELECT * FROM products WHERE id LIKE '%$prod%'";
$result = mssql_query($query);

?>
Se o atacante enviar o valor a%' exec master..xp_cmdshell 'net user test testpass /ADD' -- para $prod, então $query terá o valor:
<?php

$query  = "SELECT * FROM products
                    WHERE id LIKE '%a%'
                    exec master..xp_cmdshell 'net user test testpass /ADD'--";
$result = mssql_query($query);

?>
MSSQL Server executa os comandos SQL em um lote incluindo um comando para adicionar um novo usuário para o banco de dados de contas locais. Se essa aplicação estiver sendo executada como sa e o serviço MSSQLSERVER estivesse sendo executado com privilégios suficientes, o atacante teria agora uma conta com a qual poderia acessar essa máquina.

Nota:

Alguns dos exemplos acima estão ligados a bancos específicos. Isso não significa que um ataque similar é impossível contra outros produtos. Seu servidor de banco de dados pode ter uma vulnerabilidade similar de outa maneira.

Técnicas para Evitar Ataques

Você pode dizer que o atacante precisa possuir um pouco de informação sobre o esquema de banco de dados na maioria dos exemplos. Você tem razão, mas você nunca sabe quando e como isso pode ser obtido e, se acontecer, seu banco de dados pode ficar exposto. Se você estiver usando um pacote open source publicamente disponível para lidar com banco de deados, que pode pertencer a um sistema de controle de conteúdo ou forum, os invasores facilmente produzem uma cópia de parte de seu código. Também pode ser um risco de segurança se este for mal desenhado.

Esses ataques se baseam principalmente em explorar falhas no código escrito sem se preocupar com segurança. Nunca confie em nenhum tipo de entrada, especialmente aquela que vem do lado do cliente, mesmo que venha de um combobox, um campo de entrada escondido (hidden) ou um cookie. O primeiro exemplo mostra como uma consulta inocente pode causar desastres.

  • Nunca conecte ao banco de dados como um super-usuário ou como o dono do banco de dados. Use sempre usuários personalidados com privilégios bem limitados.
  • Verifique se uma entrada qualquer tem o tipo de dados experado. O PHP tem um grande número de funções de validação de entrada, desde as mais simples encontrada em Funções de Variáveis e em Funções de Tipo de Caracteres (ex.: is_numeric(), ctype_digit() respectivamente) além de usar o suporte a Expressões Regulares Compatível com Perl.

  • Se a aplicação espera por entradas numéricas, considere verificar os dados com a função is_numeric(), ou silenciosamente mudar o seu tipo usando settype(), ou usar a representação númerica usando a função sprintf().

    Exemplo #5 Uma maneira mais segura para compor consultas de paginação

    <?php

    settype    ($offset, 'integer');
    $query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";

    // por favor perceba o %d na string de formato, usando %s seria inútil
    $query = sprintf("SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET %d;",
                         $offset);

    ?>

  • Adicione aspas para cada valor não numérico especificado pelo usuário que será passado para o banco de dados com as funções de caracteres de escape (ex.: mysql_real_escape_string(), sqlite_escape_string(), etc.). Se um mecanismo de escape de caracter específico para o seu banco de dados não for disponível, as funções addslashes() e str_replace() podem ser úteis (dependendo do tipo de banco de dados). Veja o o primeiro exemplo. Como o exemplo mostra, adicionar aspas à parte estática da consulta não é suficiente, fazendo com que a consulta seja facilmente atacada.
  • Não imprima qualquer informação específica do banco de dados, especialmente sobre o esquema, custe o que custar. Veja também Relatório de Erros e Funções de Tratamento e Relatório de Erros.
  • Você pode usar stored procedures e cursores previamente definidas para abstrair acesso aos dados para que os usuários não acessem tabelas ou views diretamente, mas essa solução pode ter outros impactos.

Além disso, você ganha em relatar consultas ou dentro do script ou no próprio banco de dados, se esse suportar. Obviamente, o relatório é para previnir qualquer tentativa danosa, mas pode ser útil para ajudar a rastrear qual aplicação foi atacada. O relatório não é útil em si, mas atráves da informação que ele contém. Mais detalhes geralmente é melhor que menos.


Relatando Erros

Com relação a segurança, relatório de erros é uma faca de dois gumes. Pode beneficiar o aumento da segurança, ou fornecer informaçao ao atacante.

Uma tática padrão de ataque involve determinar como um sistema funciona entrando dados incorretos e checando os tipos e contextos dos erros que são retornados. Isso permite que um cracker sonde por informações sobre o servidor, para determinar possíveis fraquezas. Por exemplo, se um atacantes tinha recolhido informação sobre uma página baseado em uma submissão de dados anterior, ele pode tentar sobrescrever variáveis, ou modificá-las:

Exemplo #1 Atacando variáveis com uma página HTML personalizada

<form method="post" action="attacktarget?username=badfoo&amp;password=badfoo">
<input type="hidden" name="username" value="badfoo" />
<input type="hidden" name="password" value="badfoo" />
</form>

Os erros do PHP que são retornados normalmente podem ser úteis para um desenvolvedor que está tentando depurar um script, indicando coisas como a função ou arquivo que falhou, o arquivo PHP no qual a falha ocorreu, e o número da linha de código causadora da falha. Toda essa informação pode ser explorada. Não é incomum para um desenvolvedor PHP usar show_source(), highlight_string(), ou highlight_file() como medidas de depuração, mas em um site de produção, isso pode expor variáveis ocultas, sintaxe incorreta, ou outra informações perigosas. Especialmente perigoso é rodar código de fontes conhecidas com tratadores de depuração integrados, ou usar técnicas de depuração comuns. Se o atacante pode determinar qual técnica gerá você estiver usando, eles podem tentar, por força-bruta, enviar várias strings de depuração comuns para a página:

Exemplo #2 Explorando variáveis comuns de depuração

<form method="post" action="attacktarget?errors=Y&amp;showerrors=1&amp;debug=1">
<input type="hidden" name="errors" value="Y" />
<input type="hidden" name="showerrors" value="1" />
<input type="hidden" name="debug" value="1" />
</form>

Independente do método de tratamento de erros, a habilidade de sondar um sistema por erros acaba dando informações úteis a um atacante.

Por exemplo, o próprio estilo de um erro genérico do PHP indica que o sistema está rodando o PHP. Se o atacante estava procurando por uma página .html, e queria sondar qual o back-end (para procurar fraquezas conhecidas no sistema) enviando dados incorretos, ele pode ser capaz de determinar que um sistema foi feito com PHP.

Uma função de erro pode indicar se o sistema pode está executando um engine de banco de dados específico, ou dar dicas de como uma página foi programada ou desenhada. Isso permite uma investigação profunda sobre portas abertas de bancos de dados, ou procurar por bugs específicos ou fraquezas de uma página. Enviando diferentes pedaços de dados ruins, por exemplo, um atacante pode determinar a ordem de autenticação em um script, (a partir da linha do erro) assim como sondar por exploits que podem ser aproveitados em diferentes partes do script.

Um erro geral do PHP ou do sistema de arquivos indicam quais permissões o servidor web tem, assim como a estrutura e organização dos arquivos no servidor web. Códigos de erros escritos pelo desenvolvedor podem agravar o problema, levando pela exploração fácil de informação até então "escondida".

Existem três soluções principais para esse problema. A primeira é verificar exaustivamente todas as funções, e tentar compensar pelo volume dos erros. A segunda é desabilitar completamente os relatórios de erros no código de produção. A terceira é usar as funções personalizávies de tratamento de erro do PHP para criar seu próprio tratador de erro. Dependendo da sua política de segurança, você pode perceber que todas são aplicáveis à sua situação.

Uma maneira de perceber esse problema antes que o pior aconteça é usar a diretiva error_reporting(), para ajudar a aumentar a segurança de seu código e achar uso de variáveis que pode ser perigoso. Ao testar o seu código, antes de colocar em produção, com E_ALL, você pode rapidamente encontrar áreas onde suas variáveis podem sofrer alterações nocivas ou modificações quaisquer. Uma vez que estiver pronto para produção, você deve ou desabilitar mensagens de erro completamente configurando a diretiva error_reporting() com o valor 0, ou desligar o envio de erros usando a opção display_errors do arquivo php.ini, para evitar sondagem do seu código. Se você escolher a segunda opção, você deve também definir o caminho para o arquivo de registro usando a diretiva error_log, e ligar a diretiva log_errors.

Exemplo #3 Encontrado variáveis perigosas com E_ALL

<?php
if ($username) {  // Not initialized or checked before usage
    $good_login = 1;
}
if ($good_login == 1) { // If above test fails, not initialized or checked before usage
    readfile ("/highly/sensitive/data/index.html");
}
?>


Dados Enviados pelo Usuário

A maior fraqueza na maioria dos programas PHP não é inerente a linguagem em si, mas meramente um problema de código escrito desconsiderando a segurança. Por essa razão, você sempre deve investir um pouco de tempo considerando as implicações de um certo pedaço de código, para ter certeza que o dano possível se uma variável não esperada for submetida ao mesmo.

Exemplo #1 Uso Perigoso de Variáveis

<?php
// remove um arquivo do diretório home do usuário... ou talvez
// de outra pessoa?
unlink ($evil_var);

// Escreve registro do acesso... ou talvez uma entrada em /etc/passwd?
fwrite ($fp, $evil_var);

// Executa algo trivial... ou rm -rf *?
system ($evil_var);
exec ($evil_var);

?>

Você sempre deve examinar cuidadosamente seu código para se assegurar que quaisquer variáveis sendo enviadas do navegador web estão sendo checadas de maneira correta, e faz a si mesmo as seguintes perguntas:

  • Seu script só afetará os arquivos desejados?
  • Dados incomuns ou indesejados podem ser utilizados?
  • Esse script pode ser usado de maneiras não intencionadas?
  • Ele pode ser usado in conjunto com outros scripts de maneira negativa?
  • As transações serão registradas adequadamente?

Respondendo essas perguntas adequadamente enquanto escrevendo o script, ao invés de depois, previne a reescrita indesejada quando você precisar aumentar a segurança. Começando com essa linha de raciocínio, você não garante a segurança do seu sistema, mas pode ajudar a aumentá-la.

Você também pode considerar desligar as diretivas register_globals, magic_quotes, ou outras configurações convenientes que pode confundir você em relação a validade, origem, ou valor de uma variável qualquer. Trabalhar com PHP em modo error_reporting(E_ALL) também pode ajudar avisando sobre variáveis sendo usadas antes de serem checadas ou inicializadas (então você pode previnir que dados incomuns sejam operados).


Escondendo o PHP

Em geral, segurança por obscuridade é uma das maneiras mais fracas de segurança. Mas em alguns casos, cada pequena medida de segurança extra é desejável.

Algumas técnicas simples podem ajudar a esconder o PHP, possivelmente retardando um atacante que está tentando descobrir fraquezas no seu sistema. Ao configura a diretiva expose_php = off no seu arquivo php.ini, reduz a quantidade de informação disponível à eles.

Outra tática é configura o servidor web, como o Apache, para executar tipos de arquivos diferentes pelo PHP, ou por uma diretiva de arquivo .htaccess, ou no próprio arquivo de configuração do Apache. Você pode então usar extensões de arquivos falsas:

Exemplo #1 Escondendo o PHP como outra linguagem

# Fazer código PHP parecer com outros tipos de códigos
AddType application/x-httpd-php .asp .py .pl
Ou obscurecer completamente:

Exemplo #2 Usando extensões desconhecidas para o PHP

# Fazer código PHP parecer com tipos desconhecidos
AddType application/x-httpd-php .bop .foo .133t
Ou esconder ele como código HTML, o que tem uma pequena queda de performance porque todo HTML será avaliado pelo engine do PHP:

Exemplo #3 Usando extensão HTML para o PHP

# Fazer código PHP parecer com HTML
AddType application/x-httpd-php .htm .html
Para isso funcionar efetivamente, você deve renomear seus arquivos PHP com as extensões acima. Embora seja uma forma de segurança por obscuridade, é uma medida preventiva pequena com poucos custos.


Mantendo-se Atualizado

PHP, como qualquer outro sistema grande, está sobre constante revisão e melhoramento. Cada versão nova normalmente incluirá mudanças, sejam grandes ou pequenas, para melhorar a segurança e reparar falhas, erros de configuração, e outros problemas que podem afetar a segurança geral e estabilitade do seu sistema.

Como outras linguagens de script e programas de nível de sistema, a melhor política é atualizar frequentemente e manter-se atento as novas versões e suas mudanças.


Características

  • Autenticação HTTP com PHP
  • Cookies
  • Sessões
  • Lidando com XForms
  • Gerenciar o upload de arquivos
    • Upload de arquivos com o método POST
    • Explicando mensagens de erro
    • Problemas Comuns
    • Enviando múltiplos arquivos
    • Suporte ao método PUT
    • Veja Também
  • Usando arquivos remotos
  • Tratamento de Conexões
  • Conexões Persistentes com o Banco de Dados
  • Uso da linha de Comando — Usando PHP a partir da linha de comando
    • Introdução
    • Diferenças em relação a outros SAPIs
    • Opções — Opções de linha de comando
    • Uso — Executando arquivos PHP
    • I/O streams — Input/output streams
    • Shell interativo
    • Servidor web embutido
    • Configurações INI
  • Garbage Collection
    • Reference Counting Basics
    • Collecting Cycles
    • Performance Considerations
  • DTrace Dynamic Tracing
    • Introduction to PHP and DTrace
    • Using PHP and DTrace
    • Using SystemTap with PHP DTrace Static Probes


Autenticação HTTP com PHP

Pode-se utilizar a função header() para enviar uma mensagem de "Authentication Required" para o browser cliente, causando o aparecimento de uma janela para a entrada de Nome de Usuário/Senha. Uma vez que o usuário preencha um nome de usuário e uma senha, a URL contendo o script PHP será chamada mais uma vez com as variáveis predefinidas PHP_AUTH_USER, PHP_AUTH_PW, e AUTH_TYPE para determinar o nome de usuário, senha e tipo da autenticação, respectivamente. Estas variáveis predefinidas são encontradas nos arrays $_SERVER. Ambos os métodos de autenticação "Basic" e "Digest" (a partir do PHP 5.1.0) são suportados. Consulte a função header() para mais informações.

Um exemplo de fragmento de script que forçaria a autenticação do cliente em uma página:

Exemplo #1 Exemplo de Autenticação HTTP "Basic"

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Texto enviado caso o usuário clique no botão Cancelar';
    exit;
} else {
    echo "<p>Olá, {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>Você digitou {$_SERVER['PHP_AUTH_PW']} como sua senha.</p>";
}
?>

Exemplo #2 Exemplo de autenticação HTTP "Digest"

Este exemplo demonstra como implementar um script simples de autenticação HTTP "Digest". Para mais informações, leia o » RFC 2617.

<?php
$realm = 'Área restrita';

//usuário => senha
$users = array('admin' => 'mypass', 'guest' => 'guest');

if (empty($_SERVER['PHP_AUTH_DIGEST'])) {
    header('HTTP/1.1 401 Unauthorized');
    header('WWW-Authenticate: Digest realm="'.$realm.
           '",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"');

    die('Texto enviado caso o usuário clique no botão Cancelar');
}

// analisar a variável PHP_AUTH_DIGEST
if (!($data = http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) ||
    !isset($users[$data['username']]))
    die('Credenciais inválidas!');

// gerar a resposta válida
$A1 = md5($data['username'] . ':' . $realm . ':' . $users[$data['username']]);
$A2 = md5($_SERVER['REQUEST_METHOD'].':'.$data['uri']);
$valid_response = md5($A1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$A2);

if ($data['response'] != $valid_response)
    die('Credenciais inválidas!');

// ok, nome de usuário e senha válidos
echo 'Você está logado como: ' . $data['username'];

// função para decompor o http auth header
function http_digest_parse($txt)
{
    // proteção contra dados incompletos
    $needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1);
    $data = array();
    $keys = implode('|', array_keys($needed_parts));

    preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER);

    foreach ($matches as $m) {
        $data[$m[1]] = $m[3] ? $m[3] : $m[4];
        unset($needed_parts[$m[1]]);
    }

    return $needed_parts ? false : $data;
}
?>

Nota: Nota sobre compatibilidade

Por favor, seja cauteloso ao codificar as linhas do cabeçalho HTTP. Para garantir máxima compatibilidade com todos os clientes, a palavra-chave "Basic" deve ser escrita com um "B" maiúsculo, a string realm deve ser envolvida por aspas duplas (nunca por aspas simples), e apenas um espaço deve preceder o código 401 na linha do cabeçalho HTTP/1.0 401. Parâmetros de autenticação precisam ser separados por vírgula, como visto no exemplo acima de digest.

Ao invés de simplesmente exibir PHP_AUTH_USER e PHP_AUTH_PW, como no exemplo acima, talvez queira verificar a validade do nome de usuário e senha. Talvez enviando uma consulta a um banco de dados, ou procurando o usuário em um arquivo dbm.

Cuidado com browsers Internet Explorer bugados por aí. Eles parecem muito minuciosos sobre a ordem dos cabeçalhos. Enviar o cabeçalho WWW-Authenticate antes do cabeçalho HTTP/1.0 401 parece resolver isso por enquanto.

Nota: Nota de configuração

PHP usa uma diretiva chamada AuthType para determinar se autenticação externa está em efeito.

Perceba, entretanto, que a diretiva citada acima não previne que alguém que controle uma URL não autenticada roube senhas de URLs autenticadas no mesmo servidor.

Tanto o Netscape Navigator quanto o Internet Explorer apagarão o cache de autenticação da janela local do browser para o realm após receber uma resposta 401 do servidor. Isso pode efetivamente "deslogar" um usuário, forçando o mesmo a re-entrar seu nome de usuário e senha. Algumas pessoas usam isso para delimitar o tempo de um login, ou prover um botão de "log-out".

Exemplo #3 Exemplo de Autenticação HTTP forçando um novo nome/senha

<?php
function authenticate() {
    header('WWW-Authenticate: Basic realm="Test Authentication System"');
    header('HTTP/1.0 401 Unauthorized');
    echo "Você deve digitar um login e senha válidos para acessar este recurso\n";
    exit;
}

if (!isset($_SERVER['PHP_AUTH_USER']) ||
    ($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
    authenticate();
} else {
    echo "<p>Bem-vindo: " . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "<br />";
    echo "Antigo: " . htmlspecialchars($_REQUEST['OldAuth']);
    echo "<form action='' method='post'>\n";
    echo "<input type='hidden' name='SeenBefore' value='1' />\n";
    echo "<input type='hidden' name='OldAuth' value=\"" . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "\" />\n";
    echo "<input type='submit' value='Re-autenticar' />\n";
    echo "</form></p>\n";
}
?>

Este comportamento não é requerido pelo padrão de autenticação HTTP Basic, então nunca se deve depender dele. Testes com Lynx tem mostrado que Lynx não apaga as credenciais de autenticação com uma resposta 401 do servidor, assim, ao pressionar "Voltar" e então "Ir" novamente abrirá o recurso contanto que os requerimento de credenciais não tenha mudado. Contudo, o usuário pode pressionar a tecla '_' para apagar suas informações de autenticação.

Para fazer com que a autenticação HTTP funcione utilizando um servidor IIS com a versão CGI do PHP é necessário editar a configuração "Directory Security" do IIS. Clique em "Edit" e marque somente "Anonymous Access", deixe todos os outros campos desmarcados.

Nota: Nota sobre IIS:
Para que a autenticação HTTP funcione com IIS, a diretiva do PHP cgi.rfc2616_headers deve ser definida como 0 (o valor default).


Cookies

O PHP suporta de forma transparente cookies HTTP. Cookies são um mecanismo para armazenar dados no navegador remoto e assim rastrear ou identificar usuários que retornam. Você pode criar cookies usando as funções setcookie() ou setrawcookie(). Cookies fazem parte do cabeçalho HTTP, logo, setcookie() deve ser chamada antes que qualquer saída seja enviada ao navegador. Esta é a mesma limitação que a função header() tem. Você pode usar as funções de buffering de saída para atrasar as impressões no script até que você tenha decidido se vai ou não configurar qualquer cookie ou enviar quaisquer cabeçalhos.

Qualquer cookie enviado para o servidor pelo cliente será automaticamente incluído no array auto-global $_COOKIE se variables_order contém "C". Se você deseja definir vários valores em um único cookie, simplesmente acrescente [] ao nome do cookie.

Para mais detalhes, incluindo comentários sobre problemas de browsers, veja as funções setcookie() e setrawcookie ().


Sessões

Suporte a sessões no PHP consiste de uma maneira de presevar dados através de acessos subsequentes. Isso permite a criação de aplicações mais personalizadas e aumenta o apelo do seu web site. Todas as informações estão na seção Session reference.


Lidando com XForms

» XForms define uma mudança com relação a formulários tradicionais que permite que sejam usados em uma variedade mais ampla de plataformas e browsers ou até mesmo em mídias não tradicionais tais como documentos PDF.

A primeira diferença chave nos XForms é como o formulário é enviado ao cliente. » XForms para autores de HTML contém uma descrição detalhada de como criar XForms. Para o propósito deste tutorial nós veremos apenas exemplos simples.

Exemplo #1 Um formulário XForms simples de busca

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Search</h:title>
 <model>
  <submission action="http://example.com/search"
              method="post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Find</label></input>
  <submit submission="s"><label>Go</label></submit>
 </h:p>
</h:body>
</h:html>

O formulário acima mostra uma caixa de entrada de texto (chamada q), e um botão de submit (envio). Quando o botão de submit é clicado, o formulário será enviado para a página referenciada por action.

Aqui é onde começa a parecer diferente do ponto de vista da sua aplicação web. Em um formulário HTML normal, a informação seria enviada como application/x-www-form-urlencoded, no mundo dos XForms, porém, essa informação é enviada no formato XML.

Se você está escolhendo trabalhar com XForms então você, provavelmente, quer aquela informação como XML. Nesse caso, procure em $HTTP_RAW_POST_DATA, onde você achará o documento XML gerado pelo navegador e que você pode passar para o seu engine XSLT ou parser favorito.

Se você não estiver interessado em formatação e só quer que sua informação seja carregada na variável tradicional $_POST, você pode encarregar o navegador do cliente para enviar como um application/x-www-form-urlencoded mudando o atributo method para urlencoded-post.

Exemplo #2 Usando um XForm para popular o $_POST

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Search</h:title>
 <model>
  <submission action="http://example.com/search"
              method="urlencoded-post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Find</label></input>
  <submit submission="s"><label>Go</label></submit>
 </h:p>
</h:body>
</h:html>

Nota: Até o término dessa edição, muitos navegadores não suportam XForms. Verifique a versão do seu navegador se os exemplos acima falharem.


Gerenciar o upload de arquivos

Índice

  • Upload de arquivos com o método POST
  • Explicando mensagens de erro
  • Problemas Comuns
  • Enviando múltiplos arquivos
  • Suporte ao método PUT
  • Veja Também


Upload de arquivos com o método POST

Este recurso permite realizar uploads de arquivos de texto e binários. Com as funções de autenticação e manipulação de arquivos do PHP, você tem o controle completo de quem pode fazer o upload e o que deve ser feito com o arquivo após o upload estar completo.

O PHP é capaz de receber uploads de arquivos de qualquer browser compatível com RFC-1867.

Nota: Nota Sobre Configurações Relacionadas

Veja também as diretivas file_uploads, upload_max_filesize, upload_tmp_dir, post_max_size, max_input_time no php.ini

O PHP também suporta o método PUT para upload de arquivos como o usado pelo Netscape Composer e clientes para Amaya W3C. Veja Suporte ao Método Put para maiores detalhes.

Exemplo #1 Formulário para Upload de Arquivo

Uma interface para upload de arquivo pode ser criada com um formulário especial parecido com este:

<!-- O tipo de encoding de dados, enctype, DEVE ser especificado abaixo -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE deve preceder o campo input -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- O Nome do elemento input determina o nome da array $_FILES -->
    Enviar esse arquivo: <input name="userfile" type="file" />
    <input type="submit" value="Enviar arquivo" />
</form>

O parâmetro __URL__ no exemplo acima deve ser substituido e apontar para um arquivo PHP.

O campo escondido (input type="hidden") MAX_FILE_SIZE (medido em bytes) deve preceder o campo de input de arquivo (input type="file"), e o seu valor é o tamanho limite aceito pelo PHP. Este elemento do formulário deve sempre ser usado para evitar que usuários tenham o problema de ter que esperar pela transferência de um arquivo para só então descobrir que ele era grande demais e a transferência falhar. Fique ciente: é muito simples burlar esse parâmetro pelo lado do navegador, portanto nunca dependa exclusivamente desse recurso para bloquear arquivos com maior tamanho. Isso é um recurso meramente conveniente para usuários da aplicação no lado do cliente. Os parâmetros do PHP (no servidor) para "maximum-size", no entanto, não podem ser burlados.

Nota:

Tenha certeza que seu formulário de upload tenha o atributo enctype="multipart/form-data" por outro lado o upload não irá funcionar.

A variável global $_FILES conterá toda a informação do arquivo enviado. O conteúdo do formulário de exemplo acima será como o exemplo descrito abaixo. Note que isso assume o nome do arquivo enviado userfile, como foi usado no script de exemplo acima, contudo isso pode ter qualquer nome.

$_FILES['userfile']['name']

O nome original do arquivo na máquina do cliente.

$_FILES['userfile']['type']

O tipo mime do arquivo, se o navegador fornecer essa informação. Um exemplo poderia ser "image/gif". O tipo mime no entanto não é verificado pelo PHP portanto não considere que esse valor será concedido.

$_FILES['userfile']['size']

O tamanho, em bytes, do arquivo enviado.

$_FILES['userfile']['tmp_name']

O nome temporário com o qual o arquivo enviado foi armazenado no servidor.

$_FILES['userfile']['error']

O código de erro associado a esse upload de arquivo.

Os arquivos serão guardados por padrão no diretório temporário do servidor, a menos que outro local seja especificado através da diretiva upload_tmp_dir no php.ini. O diretório padrão do servidor pode ser alterado através da configuração da variável de ambiente TMPDIR no ambiente onde o PHP esta sendo executado. Configurando isso usando putenv() em um script PHP não irá funcionar. Esta variável de ambiente também pode ser usada para certificar que outras operações estão funcionando nos arquivos enviados.

Exemplo #2 Validando o upload de arquivos

Veja também as funções is_uploaded_file() e move_uploaded_file() para maiores informações. O exemplo a seguir irá processar o upload de um arquivo que vem de um formulário.

<?php
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Arquivo válido e enviado com sucesso.\n";
} else {
    echo "Possível ataque de upload de arquivo!\n";
}

echo 'Aqui está mais informações de debug:';
print_r($_FILES);

print "</pre>";

?>

O script PHP que recebe o arquivo enviado deve implementar qualquer lógica que for necessária para determinar o que deve ser feito com o arquivo enviado. Você pode, por exemplo, usar a variável $_FILES['userfile']['size'] para descartar qualquer arquivo que seja muito pequeno ou muito grande. Você pode usar a variável $_FILES['userfile']['type'] para descartar arquivos imcompatíveis com um determinado critério, mas use isso apenas como a primeira de uma serie de verificações, porque esse valor está totalmente sob o controle do cliente e não é verificado pelo PHP. Você também pode usar $_FILES['userfile']['error'] e planejar sua lógica de acordo com os Códigos de erro. Independente da lógica, você também deve apagar o arquivo do diretório temporário ou movê-lo para outro local.

Se nenhum arquivo for selecionado em seu formulário, o PHP irá retornar $_FILES['userfile']['size'] como 0, e $_FILES['userfile']['tmp_name'] como "none" (nenhum).

O arquivo será excluído do diretório temporário ao fim da requisição se ele não for movido ou renomeado.

Exemplo #3 Enviando uma array de arquivos

O PHP suporta array HTML mesmo com arquivos.

<form action="" method="post" enctype="multipart/form-data">
<p>Imagens:
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="submit" value="Enviar" />
</p>
</form>
<?php
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        // basename() may prevent filesystem traversal attacks;
        // further validation/sanitation of the filename may be appropriate
        $name = basename($_FILES["pictures"]["name"][$key]);
        move_uploaded_file($tmp_name, "data/$name");
    }
}
?>

O Progresso do upload de arquivos pode ser implementado usando a Sessão do Progresso de Upload (Session Upload Progress).


Explicando mensagens de erro

O PHP retorna um código de erro apropriado na array do arquivo. O código de erro pode ser encontrado no segmento ['error'] da array que é criada pelo PHP durante o upload do arquivo. Em outras palavras, o erro pode ser encontrado em $_FILES['userfile']['error'].

UPLOAD_ERR_OK

Valor: 0; não houve erro, o upload foi bem sucedido.

UPLOAD_ERR_INI_SIZE

Valor 1; O arquivo enviado excede o limite definido na diretiva upload_max_filesize do php.ini.

UPLOAD_ERR_FORM_SIZE

Valor: 2; O arquivo excede o limite definido em MAX_FILE_SIZE no formulário HTML.

UPLOAD_ERR_PARTIAL

Valor: 3; O upload do arquivo foi feito parcialmente.

UPLOAD_ERR_NO_FILE

Valor: 4; Nenhum arquivo foi enviado.

UPLOAD_ERR_NO_TMP_DIR

Valor: 6; Pasta temporária ausênte. Introduzido no PHP 5.0.3.

UPLOAD_ERR_CANT_WRITE

Valor: 7; Falha em escrever o arquivo em disco. Introduzido no PHP 5.1.0.

UPLOAD_ERR_EXTENSION

Valor: 8; Uma extensão do PHP interrompeu o upload do arquivo. O PHP não fornece uma maneira de determinar qual extensão causou a interrupção. Examinar a lista das extensões carregadas com o phpinfo() pode ajudar. Introduzido no PHP 5.2.0.


Problemas Comuns

O item MAX_FILE_SIZE não pode assumir um tamanho de arquivo maior que o tamanho de arquivo configurado em upload_max_filesize no arquivo php.ini. O valor padrão é de 2 megabytes.

Se um limite de memória está ativo, um valor maior para o limite de memória no parâmetro memory_limit pode ser necessário. Tenha certeza de estabelecer um limite de memória grande o suficiente através do parâmetro memory_limit.

Se o tempo máximo de execução definido através do parâmetro max_execution_time for muito pequeno, a execução do script pode ultrapassar o limite de tempo. Tenha certeza de estabelecer um tempo máximo de execução grande o suficiente através do parâmetro max_execution_time.

Nota: o parâmetro max_execution_time somente afeta o tempo de execução do script em sí. Qualquer tempo gasto com atividades que aconteçam fora da execução do script como chamadas de sistema usando system(), a função sleep(), pesquisas em banco de dados, tempo gasto pelo processo de enviar um arquivo(upload), etc. não são considerados no momento de determinar o limite de tempo máximo de um script em execução.

Aviso

O parâmetro max_input_time define o tempo máximo, em segundos, que é permitido ao script a receber entradas, isto inclui upload de arquivos. Para um arquivo grande, múltiplos arquivos ou usuários com conexões lentas, o padrão de 60 segundos pode ser ultrapassado.

Se o parâmetro post_max_size for muito pequeno, arquivos grandes podem não ser carregados. Tenha certeza de definir o parâmetro post_max_size grande o suficiente.

A partir do PHP 5.2.12, o parâmetro max_file_uploads controla o número máximo de arquivos que podem ser enviados em uma única requisição. Caso sejam enviados mais arquivos que o definido neste limite, então $_FILES interromperá o processamento de arquivos uma vez que o limite tenha sido atingido. Por exemplo, se o parâmetro max_file_uploads está definido como 10, então $_FILES nunca possuirá mais de 10 itens.

Não validar o arquivo que você está operando pode permitir que os usuários acessem informações sensíveis em outros diretórios.

Por favor note que o CERN httpd aparenta retirar tudo começando no primeiro espaço do cabeçalho(header) content-type mime recebido do cliente. Se for este o caso, CERN httpd não irá suportar o upload de arquivos.

Devido ao grande número de estilos de listagem de diretórios não podemos garantir que arquivos com nomes exóticos (como os que contém espaços) sejam manuseados corretamente.

Um desenvolvedor não deve misturar campos comuns de entrada input e campos de upload de arquivo na mesma variável de formulário (usando um nome de campo input como foo[]).


Enviando múltiplos arquivos

Múltiplos arquivos podem ser enviados usando diferentes nomes (name) para entradas (input).

Também é possível carregar vários arquivos simultaneamente e ter a informação automaticamente organizada em arrays. Para isso, é necessário usar a mesma sintaxe das arrays submetidas pelo formulário HTML que você usa para múltiplos selects e checkboxes:

Exemplo #1 Carregando múltiplos arquivos

<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Envie esses arquivos:<br />
  <input name="userfile[]" type="file" /><br />
  <input name="userfile[]" type="file" /><br />
  <input type="submit" value="Enviar arquivos" />
</form>

Quando o formulário acima é submetido, os arrays $_FILES['userfile'], $_FILES['userfile']['name'], e $_FILES['userfile']['size'] serão inicializados.

Por exemplo, suponha os nomes dos arquivos /home/test/review.html e /home/test/xwp.out. Neste caso, $_FILES['userfile']['name'][0] deve conter o valor review.html, e $_FILES['userfile']['name'][1] deve conter o valor xwp.out. Similarmente, $_FILES['userfile']['size'][0] deve conter o tamanho do arquivo review.html, e assim por diante.

$_FILES['userfile']['name'][0], $_FILES['userfile']['tmp_name'][0], $_FILES['userfile']['size'][0], e $_FILES['userfile']['type'][0] também são definidas.

Aviso

A partir do PHP 5.2.12, a definição da configuração do parâmetro max_file_uploads atua como um limite no número de arquivos que podem ser enviados em umá única requisição. Você precisa ter certeza que seu formulário não tentará enviar mais arquivos que o limite definido.


Suporte ao método PUT

O PHP oferece suporte para o método HTTP PUT utilizado por alguns clientes para armazenar arquivos em um servidor. Requisições PUT são muito mais simples que o upload de arquivos usando requisições POST, elas se parecem com algo assim:

PUT /path/filename.html HTTP/1.1

Isso normalmente significaria que o cliente remoto gostaria de salvar o seguinte conteúdo: /path/filename.html em seu diretório web. É óbvio não tratar-se de uma boa idéia que o Apache ou o PHP permitam automaticamente que todos sobrescrevam qualquer arquivo em seu diretório web. Então, para considerar isso como uma requisição é necessário dizer ao seu servidor web que você quer que um determinado script PHP cuide dessa requisição. Para fazer isso no Apache utilize a diretiva Script. Ela pode ser colocada quase em qualquer local de seu arquivo de configuração do Apache. Um local comum é dentro de um bloco <Directory> ou talvez dentro de um bloco <VirtualHost>. Uma linha como a seguinte deve funcionar:

Script PUT /put.php

Isto diz ao Apache para enviar todas as requisições PUT paras as URIs que combinem com o contexto dessa linha para o script put.php. Isto assume que o PHP esteja ativo e permita extensões .php. O destino para todas as requisições PUT para esse script deve ser o próprio script, não o nome do arquivo enviado.

Com o PHP pode ser feito algo como se segue no script put.php. Isso copia o conteúdo de um arquivo enviado para o arquivo myputfile.ext no servidor. Provavelmente é necessário a realização de algumas verificações e/ou autenticações de usuário antes de realizar essa cópia.

Exemplo #1 Salvando arquivos HTTP PUT

<?php
/* PUT data vem do fluxo stdin */
$putdata = fopen("php://input", "r");

/* Abre um arquivo para escrita */
$fp = fopen("myputfile.ext", "w");

/* Lê os dados 1KB de cada vez
   e escreve no arquivo */
while ($data = fread($putdata,1024))
  fwrite($fp,$data);

/* Fecha os fluxos */
fclose($fp);
fclose($putdata);
?>


  • « Suporte ao método PUT
  • Usando arquivos remotos »
  • PHP Manual
  • Gerenciar o upload de arquivos
  • Veja Também

Veja Também

  • Segurança do sistema de arquivos


Usando arquivos remotos

Enquanto allow_url_fopen estiver disponível no arquivo php.ini, você pode usar URLs HTTP e FTP com a maioria das funções que recebem um nome de arquivo como parâmetro. Além disso, URLs podem ser usadas com as funções include, include_once, require e require_once (desde o PHP 5.2.0, allow_url_include precisa estar habilitado para isto). Veja Protocolos e Wrappers suportados para mais informações sobre protocolos suportados pelo PHP.

Por exemplo, você pode usar isso para abrir um arquivo em um web server remoto, avaliar a saída para a informação que você precisa, e então usar a informação em uma query de banco de dados, ou simplesmente mostrar em um estilo que combine com o resto do seu website.

Exemplo #1 Pegando o título de uma página remota

<?php
$file = fopen ("http://www.example.com/", "r");
if (!$file) {
    echo "<p>Incapaz de abrir arquivo remoto.\n";
    exit;
}
while (!feof ($file)) {
    $line = fgets ($file, 1024);
    /* Isso só funciona se o título e suas tags estiverem na mesma linha */
    if (eregi ("<title>(.*)</title>", $line, $out)) {
        $title = $out[1];
        break;
    }
}
fclose($file);
?>

Você também pode escrever arquivos em um servidor FTP (presumindo que você conectou como um usuário com os direitos de acesso corretos). Você só pode criar arquivos novos usando esse método. Se você tentar sobrescrever um arquivo que já existe, a chamada para fopen() falhará.

Para conectar como um usuário diferente de 'anonymous', você precisa especificar o nome de usuário (e possivelmente a senha) dentro da URL, como 'ftp://usuario:senha@ftp.example.com/caminho/para/arquivo'. (Você pode usar o mesmo tipo de sintaxe para acessar arquivos via HTTP quando eles requerem autenticação Basic).

Exemplo #2 Guardando informação em um servidor remoto

<?php
$file = fopen ("ftp://ftp.example.com/incoming/outputfile", "w");
if (!$file) {
    echo "<p>Incapaz de abrir arquivo remoto para escrita.\n";
    exit;
}
/* Escreva informação aqui. */
fwrite ($file, $_SERVER['HTTP_USER_AGENT'] . "\n");
fclose ($file);
?>

Nota:

Você talvez tenha tido a idéia, pelo exemplo acima, de usar essa técnica para escrever para um arquivo de log remoto. Infelizmente isso não funcionaria porque a chamada a fopen() falhará se o arquivo remoto já existir. Para fazer logs distrubuídos dessa maneira, você deve dar uma olhada na função syslog().


Tratamento de Conexões

O status de uma conexão é mantido internamente no PHP. Existem 4 estados possíveis:

  • 0 - NORMAL
  • 1 - ABORTED
  • 2 - TIMEOUT
  • 3 - ABORTED and TIMEOUT

Quando um script PHP está sendo executado normalmente, o estado NORMAL está ativo. Se o cliente remoto desconecta, o estado ABORTED (abortado) é ligado. Uma desconexão do cliente remoto é normalmente causada pelo usuário apertando o botão STOP. Se o tempo limite imposto pelo PHP (veja set_time_limit()) é alcançado, o estado TIMEOUT (tempo acabado) é ligado.

Você pode decidir se quer ou não que a desconexão do cliente cause interrupção em seu script. As vezes é útil sempre fazer o seu script rodar até completar mesmo se não houver nenhum navegador remoto recebendo a saída. O comportamento padrão, no entanto, é de seu script ser interrompido quando o cliente remoto se desconecta. Esse comportamento pode ser configurado através da diretiva ignore_user_abort php.ini assim como pela diretiva correspondente php_value ignore_user_abort no httpd.conf do Apache ou com a função ignore_user_abort(). Se você não disser para o PHP ignorar o abort do usuário e ele abortar, seu script será encerrado. A única exceção é se você tiver registrado uma função de finalização usando register_shutdown_function(). Com uma função de finalização, quando um usuário remoto clica no botão STOP, a próxima vez que seu script tentar gerar alguma saída, o PHP detectará que a conexão foi cancelada e a função de finalização é chamada. Essa função de finalização também será chamada no fim do seu script mesmo terminando normalmente, então para fazer algo diferente caso o cliente desconecte, você pode usar a função connection_aborted(). Essa função retorna true se a conexão foi abortada.

Seu script também pode ser finalizado pelo timer interno. O tempo limite padrão é de 30 segundos. Podendo ser mudado usando a diretiva max_execution_time php.ini ou a diretiva correspondente no httpd.conf do Apache php_value max_execution_time assim como com a função set_time_limit(). Quando o timer chega ao limite o script será abortado e assim como o caso acima de desconexão pelo cliente, se uma função de finalização foi registrada, ela será chamada. Dentro da função de finalização você pode checar se a causa da finalização foi estouro do tempo limite chamando a função connection_status(). Essa função retornará 2 se a causa foi exceder o tempo limite.

Uma coisa a ser notada é que ambos os estados ABORTED e TIMEOUT podem estar ligados ao mesmo tempo. Isso é possível se você disser ao PHP para ignorar o abort do usuário causou. PHP continuará a perceber o fato que o usuário pode ter quebrado a conexão, mas o script continuará executando. Se então ele alcançar o tempo limite, ele será abortado e sua função de finalização, se existente, será chamada. Nesse ponto, você terá que connection_status() retorna 3.


Conexões Persistentes com o Banco de Dados

Conexões persistentes são conexões que não fecham quando a execução do seu script termina. Quando uma conexão persistente é requisitada, o PHP verifica se já existe uma conexão persistente idêntica (que foi mantida aberta anteriormente) - e, se ela existir, ele a usa. Se ela não existir, ele cria a conexão. Uma conexão 'idêntica' é uma conexão que foi aberta para o mesmo host, com o mesmo nome de usuário e a mesma senha (onde for aplicável).

Pessoas que não são totalmente familiarizadas com a maneira como servidores web trabalham e distribuem a carga podem confundir conexões persistentes com o que elas não são. Em particular, elas não dão a você a capacidade de abrir 'sessões de usuários' na mesma conexão, elas não dão a você a capacidade de construir uma transação eficientemente, e elas não fazem muitas outras coisas. De fato, para ser extremamente claro sobre o assunto, conexões persistentes não te dão nenhuma funcionalidade que não era possível com as suas correspondentes não-persistentes.

Por que?

Isso tem a ver com a maneira como os servidores web funcionam. Existem três maneiras em que seu servidor web pode utilizar PHP para gerar páginas.

O primeiro método é usar o PHP como um CGI "wrapper". Quando executado dessa maneira, uma instância do interpretador do PHP é criada e destruída para cada requisição de página (para uma página PHP) para o seu servidor web. Como ela é destruída após cada requisição, quaisquer recursos que ela adquirir (como uma conexão para um servidor de banco de dados SQL) são fechados quando ela é destruída. Nesse caso, você não ganha nada por tentar usar conexões persistentes -- elas simplesmente não persistem.

O segundo método, e mais popular, é rodar o PHP como um módulo em um servidor com multi-processos, que atualmente só inclue o Apache. Um servidor com multi-processos tipicamente tem um processo (o pai) que coordena uma série de processos (seus filhos) que realmente fazem o trabalho de servir as páginas web. Quando uma requisição chega de um cliente, ela é entregue à um dos filhos que já não estiver servindo outro cliente. Isso significa que quando o mesmo cliente faz uma segunda requisição para o servidor, ele pode ser atendido por um processo filho diferente do que da primeira vez. Ao abrir uma conexão persistente, cada página que requisitar serviços de SQL pode reutilizar a mesma conexão estabelecida ao servidor SQL.

O último método é usar o PHP como um plug-in para um servidor web multithread. Atualmente, o PHP 4 tem suporte para ISAPI, WSAPI, e NSAPI (no Windows), todos permitindo PHP ser usado como um plug-in em servidores multithreaded como Netscape FastTrack (iPlanet), Internet Information Server (IIS) da Microsoft, e O'Reilly's WebSite Pro. O comportamento é essencialmente o mesmo do modelo multiprocessado descrito anteriormente.

Se conexões persistentes não tem nenhuma funcionalidade a mais, para que elas servem?

A resposta é extremamente simples -- eficiência. Conexões persistentes são boas se a sobrecarga (overhead) para criar uma conexão ao seu servidor SQL for alta. Se essa sobrecarga é alta ou não depende de vários fatores. Como, qual tipo de banco de dados é, se está ou não na mesma máquina onde o servidor web está, o quão carregada a máquina onde está o servidor SQL está e assim por diante. O ponto é que se a sobrecarga de conexão for alta, conexões persistentes ajudam consideravelmente. Elas fazem com que os processos filhos simplesmente se conectem uma vez só durante toda sua duração, ao invés de cada vez que eles processam uma página que requer uma conexão ao servidor SQL. Isso significa que cada filho que abriu uma conexão persistente terá sua própria conexão persistente para o servidor. Por exemplo, se você tivesse 20 processos filhos diferentes que rodassem um script que fizesse uma conexão persistente à um servidor SQL, você teria 20 conexões diferentes servidor SQL, uma para cada filho.

Perceba, no entanto, que isso pode ter algumas desvantagens se você estiver usando um banco de dados com limite de conexões que são excedidas pela conexões persistentes dos filhos. Se o seu banco de dados tem um limite de 16 conexões simultâneas, e durante um momento de pico de acessos, 17 processos filhos tentarem se conectar, um deles não será capaz. Se houver bugs no seus scripts que não permitem que as conexões se fechem (como loops infinitos) o banco de dados com apenas 16 conexões pode rapidamente ficar sobrecarregado. Procure na documentação do seu banco de dados por informações sobre como lidar com conexões ociosas ou abandonadas.

Aviso

Existem mais alguns cuidados a se tomar quando usando conexões persistentes. Um deles é que, quando usando travamento de tabela em uma conexão persistente, se o script por qualquer razão não puder destravar a mesma, então scripts subsequentes usando a mesma conexão serão bloqueados indefinidamente e podem exigir que você ou reinicie o servidor httpd ou o servidor de banco de dados. Outro cuidado, é que quando usando transações, um bloco de transação também será carregado para o próximo script que usa aquela conexão se a execução do script terminar antes que o bloco de transação termine. Em ambos os casos, você pode usar register_shutdown_function() para registrar uma função simples de limpeza para destravar suas tabelas ou reverter suas transações. Melhor ainda, evite o problema completamente não utilizando conexões persistentes em scripts que usam travamento de tabelas ou transações (você ainda pode usar eles em outros casos).

Um resumo importante. Conexões persistente foram feitas para ter um mapeamento de um-para-um com conexões normais. Isso significa que você deve sempre ser capaz de substituir conexões persistentes com conexões não-persistentes e isso não mudará a maneira como seu script se comporta. Isso pode (e provavelmente irá) mudar a eficiência do seu script, mas não o seu comportamento!

Veja também fbsql_pconnect(),
ibase_pconnect(), ifx_pconnect(),
ingres_pconnect(),
msql_pconnect(), mssql_pconnect(),
mysql_pconnect(), ociplogon(),
odbc_pconnect(), oci_pconnect(),
pfsockopen(), pg_pconnect(), e
sybase_pconnect().


Usando PHP a partir da linha de comando

Índice

  • Introdução
  • Diferenças em relação a outros SAPIs
  • Opções
  • Uso
  • I/O streams
  • Shell interativo
  • Servidor web embutido
  • Configurações INI


Introdução

O principal foco do CLI SAPI é o desenvolvimento de aplicações shell com PHP. Existem algumas diferenças entre CLI SAPI e outras SAPIs que são explicadas nesse capítulo. Vale a pena ressaltar que CLI e CGI são diferentes SAPIs embora compartilhem boa parte dos mesmos comportamentos.

O CLI SAPI é ativado por padrão usando --enable-cli, mas pode ser desativado usando a opção --disable-cli quando se executa o comando ./configure durante o processo de compilação do PHP.

O nome, a localização e a existência dos arquivos binários do CLI/CGI podem ser diferentes dependendo de como o PHP está instalado no seu sistema. Por padrão, quando executado o make, ambos CGI e CLI são compilados e colocados em sapi/cgi/php-cgi e sapi/cli/php, respectivamente, no seu diretório fonte do PHP. Você vai notar que ambos são nomeados php. O que acontece durante o make install depende da sua linha de configuração. Se o módulo SAPI é escolhido durante a configuração, como apxs, ou a opção --disable-cgi é utilizada, o CLI é copiado para {PREFIX}/bin/php durante make install, caso contrário o CGI é colocado lá. Assim, por exemplo, se o --with-apxs está na sua linha de configuração, em seguida, o CLI é copiado para {PREFIX}/bin/php durante o make install. Se você quiser substituir a instalação do binário CGI, use make install-cli depois de make install. Alternativamente, você pode especificar --disable-cgi na sua linha de configuração.

Nota:

Porque ambos --enable-cli e --enable-cgi são ativadas por padrão, ter simplesmente um --enable-cli na sua linha de configuração não significa necessariamente que o CLI será copiado para {PREFIX}/bin/php durante o make install.

A partir do PHP 5, o binário CLI é distribuído na pasta principal como php.exe no Windows. A versão CGI é distribuída como php-cgi.exe. Além disso, um php-win.exe é distribuído se o PHP é configurado com --enable-cli-win32. Isso faz o mesmo que a versão CLI, exceto que ele não exibe nenhum output e também não disponibiliza nenhum console.

Nota: Qual SAPI eu tenho?

A partir da linha de comando, digitar php -v lhe dirá se o php é CGI ou CLI. Veja também a função php_sapi_name() e a constante PHP_SAPI.

Nota:

A página do manual Unix está disponível digitando man php no ambiente shell.


Diferenças em relação a outros SAPIs

Diferenças notáveis do CLI SAPI em comparação com outros SAPIs:

  • Diferente do CGI SAPI, nenhum cabeçalho é enviado para a saída.

    Embora o CGI SAPI forneça uma maneira de suprimir os cabeçalhos HTTP, não existe nenhum forma equivalente de habilitá-los no CLI SAPI.

    CLI é inicializado no modo silencioso por padrão, embora as chaves -q e --no-header são mantidas por compatibilidade para que seja possível usar scripts CGI antigos.

    Ele não altera o diretório atual para aquele no qual o script está sendo executado (As opções -C and --no-chdir são mantidas por compatibilidade)

    Mensagens de erro em texto plano (sem formatação HTML).

  • Existem certas diretivas do php.ini que são sobrescritas pelas do CLI SAPI porque elas não fazem sentido em um ambiente de linha de comando:

    Diretivas do php.ini sobrescritas
    Diretiva | Valor padrão do CLI SAPI | Comentário
    html_errors | false | Tem como padrão false, ja que pode ser bem difícil ler mensagens de erro na linha de comando quando elas estão misturadas com tags HTML não interpretadas.
    implicit_flush | true | Em um ambiente de linha de comando, é geralmente desejado para a saída, como a partir de print, echo e similares, que elas sejam exibidas imediatamente, e não mantidas em um buffer. Apesar disso, ainda é possivel usar output buffering para atrasar ou manipular a saída padrão.
    max_execution_time | 0 (unlimited) | O PHP em um ambiente de linha de comando tende a ser usado com um número de propostas muito mais diversas do que para aplições web típicas, e como essas formas podem ter muito mais longevidade, o tempo máximo de excução é definido como sem limite.
    register_argc_argv true

    Definir isso como true significa que o script executado a partir do CLI SAPI sempre terá acesso ao argc (número de argumentos passados para a aplicação) e argv (array contendo os valores dos argumentos).

    As variáveis $argc e $argv do PHP são automaticamente definidas com seus valores apropriados quando usando o CLI SAPI. Esses valores podem também ser encontrados no array $_SERVER, por exemplo: $_SERVER['argv'].

    output_buffering false

    Apesar do valor no php.ini ser explicitamente definido como false, as funções de Output buffering estão disponíveis.

    max_input_time false

    O PHP CLI não suporta GET, POST ou upload de arquivos.

    Nota:

    Essas diretivas não podem ser inicializadas com outro valor no arquivo de configuração php.ini ou um valor personalizado (caso seja especificado). Essa limitação ocorre pois os valores são aplicados depois que todos os arquivos de configuração foram lidos. Entretanto, seus valores podem ser alterados em tempo de execução (porém isso não se aplica a todos eles como register_argc_argv).

    Nota:

    É recomendado definir ignore_user_abort para aplicações de linha de comando. Veja ignore_user_abort() para mais informações.

  • Para facilitar o trabalho em ambientes de linha de comando, um número de constantes é definido para I/O streams.

  • O CLI SAPI não altera o diretório de trabalho para o diretório de onde o arquivo é executado.

    Exemplo #1 Exemplo demonstrando a diferença entre CGI e SAPI:

    <?php
    // Our simple test application named test.php
    echo getcwd(), "\n";
    ?>

    Quando é utilizada a versão CGI a saída é:

    $ pwd
/tmp

$ php -q another_directory/test.php
/tmp/another_directory

    Isso demonstra claramente que o PHP altera o diretório de trabalho para o diretório onde o arquivo é executado.

    Usando o CLI SAPI temos:

    $ pwd
/tmp

$ php -f another_directory/test.php
/tmp

    Isso permite grande flexibilidae no desenvolvimento de ferramentas de linha de comando em PHP.

    Nota:

    O CGI SAPI suporta esse comportamento do CLI SAPI através da opção -C utilizada quando executado a partir da linha de comando.


Opções de linha de comando

A lista de opções de linha de comando fornecidas pelo binário do PHP pode ser requisitada a qualquer momento bastando executar o PHP com a opção -h:

Usage: php [options] [-f] <file> [--] [args...]
   php [options] -r <code> [--] [args...]
   php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
   php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
   php [options] -- [args...]
   php [options] -a

  -a               Run interactively
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse and execute <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -S <addr>:<port> Run with built-in web server.
  -t <docroot>     Specify document root <docroot> for built-in web server.
  -s               Output HTML syntax highlighted source.
  -v               Version number
  -w               Output source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin

  --ini            Show configuration file names

  --rf <name>      Show information about function <name>.
  --rc <name>      Show information about class <name>.
  --re <name>      Show information about extension <name>.
  --rz <name>      Show information about Zend extension <name>.
  --ri <name>      Show configuration for extension <name>.

Opções de linha de comando
Opção | Opção Extendida | Descrição
-a --interactive

Executa o PHP interativamente. Para mais informações veja a seção Shell interativo.

-b --bindpath

Vincula o Path para o modo externo do servidor FASTCGI (apenas em CGI).

-C --no-chdir

Não executa chdir para o diretório do script (apenas em CGI).

-q --no-header

Modo silencioso. Suprime os cabeçalhos HTTP na saída (apenas em CGI).

-T --timing

Calcula o tempo de execução do script repetidas quantidades de vezes (apenas em CGI).

-c --php-ini

Especifica um diretório para procurar pelo php.ini, ou um arquivo INI personalizado (que não precisa se chamar php.ini), exemplo:

$ php -c /custom/directory/ my_script.php

$ php -c /custom/directory/custom-file.ini my_script.php

Se essa opção não for especificada, o php.ini será procurado no local padrão.

-n --no-php-ini

Ignore o php.ini completamente.

-d --define

Defina um valor personalizado para qualquer uma das diretivas de configuração permitidas em arquivos php.ini. A sintaxe é:

 -d configuration_directive[=value]

# Omitting the value part will set the given configuration directive to "1"
$ php -d max_execution_time
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"

# Passing an empty value part will set the configuration directive to ""
php -d max_execution_time=
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""

# The configuration directive will be set to anything passed after the '=' character
$  php -d max_execution_time=20
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$  php
        -d max_execution_time=doesntmakesense
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "doesntmakesense"

-e --profile-info

Ativa o mode de informação extendido, para ser usado por um debugger/profiler.

-f --file

Lê e executa o arquivo especificado. A opção -f é opcional e pode ser omitida - fornecer somente o nome do arquivo a ser executado é suficiente.

Nota:

Para passar argumentos para um script, o primeiro argumento deve ser --, do contrário o PHP irá interpretá-lo como opções do PHP.

-h and -? | --help e --usage | Exibe uma lista de opções de linha de comando com a descrição do seu funcionamento.
-i | --info | Invoca phpinfo(), e exibe o resultado. Caso o PHP não esteja executando corretamente, é aconselhável usar o comando php -i e verificar se alguma mensagem de erro é informada antes ou no lugar da tabela de informações. Esteja ciente de que ao usar o modo CGI a saída será em HTML e portanto bastante longa.
-l --syntax-check

Fornece uma forma conveniente de realizar uma verificação da sintaxe no código PHP informado. Em caso de sucesso, o texto No syntax errors detected in <filename> é disparado para a saída padrão da linha de comando e o código de retorno é 0. Em caso de falha, o texto Errors parsing <filename> assim como as mensagens adicionais de erros são retornados para a saída padrão do terminal e o código retornado é -1.

Isso não irá encontrar error fatais (como funções não definidas). Use a opção -f para também testar os erros fatais.

Nota:

Essa opção não funciona em conjunto com a opção -r.

-m --modules

Exemplo #1 Retorna os módulos PHP e Zend embutidos e carregados

$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

-r --run

Habilita a execução do código PHP incluído diretamente na linha de comando. As tags de abertura e fechamento do PHP (<?php e ?>) não são necessárias e irão causar um erro de leitura caso sejam incluidas.

Nota:

Muito cuidado precisa ser tomado ao usar essa forma para que o PHP não colida com a substituição de variáveis de linha de comando realizadas pelo seu ambiente de linha de comando.

Exemplo #2 Recebendo um erro de sintaxe ao usar aspas duplas

$ php -r "$foo = get_defined_constants();"
PHP Parse error:  syntax error, unexpected '=' in Command line code on line 1

Parse error: syntax error, unexpected '=' in Command line code on line 1

O problema aqui é que o sh/bash realiza substituições de variáveis mesmo usando aspas duplas ". já que a variável $foo provavelmente não está definida, ocorrerá uma substituição para nada, que resulta no seguinte código passado para o PHP executar:

$ php -r " = get_defined_constants();"

A maneira correta é usar aspas simples '. Variáveis em strings de aspas simples não são substituidas pelo sh/bash.

Exemplo #3 Usar aspas simples previne a substituição de variáveis pelo ambiente de linha de comando

$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
  ["E_ERROR"]=>
  int(1)
  ["E_WARNING"]=>
  int(2)
  ["E_PARSE"]=>
  int(4)
  ["E_NOTICE"]=>
  int(8)
  ["E_CORE_ERROR"]=>
  [...]

Se estiver usando um ambiente de linha de comando que não seja sh/bash, outros problemas podem ser encontrados - caso necessário, um aviso de bug pode ser aberto em » https://bugs.php.net/. Ainda assim é muito fácil encontrar problemas ao tentar usar variáveis (de linha de comando ou PHP) em código de linha de comando, ou usando barra invertida para escapar, por isso tenha muito cuidado quando fizer isso. Você foi avisado!

Nota:

-r está disponível no CLI SAPI, mas não no CGI SAPI.

Nota:

Essa opção é normalmente utilizada com código muito básico, portanto algumas diretivas de configuração (como auto_prepend_file e auto_append_file) são ignoradas nesse modo.

-B --process-begin

O código PHP executado antes do processamento do stdin. Incluído na versão 5 do PHP.

-R --process-code

Código PHP para ser executado a cada linha de entrada. Incluído na versão 5 do PHP.

Existem duas variáveis especiais disponíveis nesse modo: $argn e $argi. $argn conterá a linha que está sendo processada pelo PHP no momento, enquanto $argi irá conter o número da linha.

-F --process-file

Arquivo PHP para ser executado a cada linha de entrada. Incluído na versão 5 do PHP.

-E --process-end

Código PHP para ser executado após o processamento da entrada. Incluído na versão 5 do PHP.

Exemplo #4 Usando as opções -B, -R e -E para contar o número de linhas de um projeto.

$ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";'
Total Lines: 37328

-S --server

Inicia o servidor embutido do PHP. Disponível a partir da versão 5.4.0 do PHP.

-t | --docroot | Específica a raiz do documento para o servidor embutido do PHP. Disponível a partir da versão 5.4.0 do PHP.
-s --syntax-highlight and --syntax-highlighting

Destaca a sintaxe de código (syntax-highlighting).

Essa opção usa os mecanismos internos para interpretar os arquivos e escrever uma versão HTML colorida do código para a saída padrão. Repare que tudo que ele faz é gerar um bloco de tags HTML <code> [...] </code>, sem os cabeçalhos HTML.

Nota:

Essa opção não funciona em conjunto com a opção -r.

-v --version

Exemplo #5 Use -v para requisitar o nome SAPI e a versão do PHP e Zend Engine

$ php -v
PHP 5.3.1 (cli) (built: Dec 11 2009 19:55:07)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies

-w --strip

Exibe o código com comentários e espaços em branco removidos.

Nota:

Essa opção não funciona em conjunto com a opção -r.

-z --zend-extension

Carrega uma extensão Zend. Se somente um nome de arquivo for fornecido, O PHP irá tentar carregar essa extensão a partir do diretório padrão de extensões do seu sistema, (geralmente /etc/ld.so.conf em sistemas linux, por exemplo). Ao passar o nome do arquivo juntamente com seu caminho absoluto não usará o diretório padrão de extensões. Um caminho relativo incluindo informações de diretórios dirá ao PHP para tentar carregar a extensão relativamente ao diretório atual.

--ini

Exibir nomes de arquivos de configuração e diretórios verificados. Disponível a partir da versão 5.2.3 do PHP.

Exemplo #6 --ini exemplo

$ php --ini
Configuration File (php.ini) Path: /usr/dev/php/5.2/lib
Loaded Configuration File:         /usr/dev/php/5.2/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
--rf --rfunction

Exibe informações sobre a função ou método de objeto informado (como por exemplo o número e nome dos parâmetros). Disponível a partir da versão 5.1.2 do PHP.

Essa opção só está disponível se o PHP for compilado com suporte a Reflexão.

Exemplo #7 uso básico da opção --rf

$ php --rf var_dump
Function [ <internal> public function var_dump ] {

  - Parameters [2] {
    Parameter #0 [ <required> $var ]
    Parameter #1 [ <optional> $... ]
  }
}
--rc --rclass

Exibe informações sobre uma determinada classe (lista de constantes, propriedades e métodos). Disponível a partir da versão 5.1.2 do PHP.

Essa opção só está disponível se o PHP for compilado com suporte a Reflexão.

Exemplo #8 exemplo de --rc

$ php --rc Directory
Class [ <internal:standard> class Directory ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [3] {
    Method [ <internal> public method close ] {
    }

    Method [ <internal> public method rewind ] {
    }

    Method [ <internal> public method read ] {
    }
  }
}
--re --rextension

Exibe informações sobre uma determinada extensão (lista de opções do php.ini, funcões definidas, constantes e classes. Disponível a partir da versão 5.1.2 do PHP.

Essa opção só está disponível se o PHP for compilado com suporte a Reflexão.

Exemplo #9 Exemplo de --re

$ php --re json
Extension [ <persistent> extension #19 json version 1.2.1 ] {

  - Functions {
    Function [ <internal> function json_encode ] {
    }
    Function [ <internal> function json_decode ] {
    }
  }
}
--rz --rzendextension

Exibe as informações de configuração de uma determinada extensão Zend (a mesma informação retornada pela phpinfo()). Disponível a partir da versão 5.4 do PHP.

--ri --rextinfo

Exibe as informações de configuração de uma determinada extensão (as mesmas informações retornadas pela phpinfo()). Disponível a partir do PHP 5.2.2. As informações de configurações do núcleo da linguagem estão disponíveis usando "main" como nome da extensão.

Exemplo #10 exemplo de --ri

$ php --ri date

date

date/time support => enabled
"Olson" Timezone Database Version => 2009.20
Timezone Database => internal
Default timezone => Europe/Oslo

Directive => Local Value => Master Value
date.timezone => Europe/Oslo => Europe/Oslo
date.default_latitude => 59.930972 => 59.930972
date.default_longitude => 10.776699 => 10.776699
date.sunset_zenith => 90.583333 => 90.583333
date.sunrise_zenith => 90.583333 => 90.583333

Nota:

As opções -rBRFEH, --ini e --r[fcezi] estão disponíveis somente no CLI.


Executando arquivos PHP

Existem três formas de fornecer código PHP para ser executado pelo CLI SAPI:

  1. Diga ao PHP para executar determinado arquivo.

    $ php my_script.php

$ php -f my_script.php

    As duas formas (usando ou não a opção -f) executam o arquivo my_script.php. Note que não existe restrição sobre quais arquivos podem ser executados; em particular, o nome do arquivo não precisa conter a extensão .php.

    Nota:

    Caso argumentos precisem ser passados para o script ao usar -f, o primeiro argumento deve ser --.

  2. Passa o código PHP diretamente através da linha de comando.

    $ php -r 'print_r(get_defined_constants());'

    Um cuidado especial deve ser tomado em relação a substituição de variáveis e o uso de aspas.

    Nota:

    Leia o exemplo cuidadosamente: não existem tags de abertura e fechamento! A opção -r simplesmente não necessita delas, e usá-las irá gerar um erro de interpretação.

  3. Direciona a entrada padrão (stdin) para o código PHP.

    Isso dá a poderosa habilidade de criar código PHP dinamicanente e alimentar o binário, assim como demonstrado nesse exemplo fictício:

    $ some_application | some_filter | php | sort -u > final_output.txt
Você não pode combinar essas formas de executar o código.

Assim como qualquer aplicação de linha de comando, o PHP aceita qualquer quantidade argumentos; entretanto, os scripts PHP também podem receber outros argumentos. A quantidade de argumentos que podem ser passados para o script não é limitada pelo PHP (e apesar do shell ter um limite no número de caracteres que podem ser passados, ele não é geralmente atingido). Os argumentos passados para o scripts ficam disponíveis no array global $argv. O primeiro índice (zero) sempre contém o nome do script que está sendo chamado pela linha de comando. Note que, se o código é executado diretamente usando a opção de linha de comando -r, o valor de $argv[0] será somente um hífen (-). O mesmo é verdadeiro se o código e redirecionado pelo STDIN.

Uma segunda variável global, $argc, contém o número de elementos contidos no array$argv array (não o número de argumentos passados para o script).

Desde que os argumentos passados pelo script não comecem com o caractere -, não existe nada em especial com que você deva se preocupar. Passar um argumento para o script que comece com - irá causar problemas, porque o interpretador do PHP irá pensar que ele mesmo deve manipular esse argumento, mesmo antes de executar o script. Para prevenir isso use o separador de lista de argumentos --. Depois que esse separador é interpretado pelo PHP, cada argumento seguinte e passado intocado para o script.

# This will not execute the given code but will show the PHP usage
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to the script and prevent PHP from showing its usage
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}

Entretanto, em sistemas Unix existe uma outra maneira de usar o PHP em linha de comando: fazer com que a primeira linha do script comece com #!/usr/bin/php (ou qualquer que seja o caminho para o binário do PHP CLI caso seja diferente. O restante do arquivo deve conter código PHP normal com as já tradicionais tags de abertura e fechamento. Uma vez que os atributos de execução do arquivo estejam apropriadamente definidos (exemplo. chmod +x test), o script poderá ser executado como qualquer outro script shell ou perl:

Exemplo #1 Executando scripts PHP como shell scripts

#!/usr/bin/php
<?php
var_dump($argv);
?>

Assumindo que esse arquivo tenha o nome test no diretório atual, é possível fazer o seguinte:

$ chmod +x test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}

Como pode ser visto, nesse caso nenhum cuidado especial precisa ser tomado ao passar parâmetros começando com -.

O executável do PHP pode ser usado para rodar scripts absolutamente independetes do servidor web. Em sistemas Unix, a primeira linha especial #! (ou "shebang") deve ser adicionada a sripts PHP para que o sistema possa automaticamente dizer qual programa deve executar o script. Em plataformas Windows, é possível associar o php.exe com um clique duplo no arquivos com extensão .php, ou um arquivo batch pode ser criado para rodar scripts através do PHP. A primeira linha especial shebang para Unix não causa nenhum efeito no Windows (Já que é formatada como um comentário PHP), então programas multiplataforma podem ser escritos com a inclusão disso. Um exemplo simples de programa de linha de comando em PHP é mostrado abaixo.

Exemplo #2 Script planejado para ser executado na linha de comando (script.php)

#!/usr/bin/php
<?php

if ($argc != 2 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) {
?>

This is a command line PHP script with one option.

  Usage:
  <?php echo $argv[0]; ?> <option>

  <option> can be some word you would like
  to print out. With the --help, -help, -h,
  or -? options, you can get this help.

<?php
} else {
    echo $argv[1];
}
?>

O script acima inclui a shebang na primeira linha para indicar que esse arquivo deve ser executado pelo PHP. Nos estámos trabalhando com a versão CLI aqui, então nenhum cabeçalho HTTP será exibido.

O programa primeiramente verifica se o primeiro argumento obrigatório foi passado (juntamente com o nome do arquivo, que também é contabilizado). Em caso negativo, ou caso o argumento seja --help, -help, -h ou -?, uma mensagem de ajuda é disparada, usando $argv[0] para imprimir dinamicamente o nome do script como foi digitado na linha de comando. Do contrário, o argumento é exibido da forma como foi escrito.

Para executar o script acima em sistemas Unix, ele deve ser tornado executável, e chamado simplesmente com script.php echothis ou script.php -h. Em sistemas Windows, um arquivo batch similar ao seguinte pode ser criado para essa tarefa:

Exemplo #3 Arquivo batch para rodar um script de linha de comando em PHP (script.bat)

@echo OFF
"C:\php\php.exe" script.php %*

Assumindo que o programa acima foi nomeado como script.php, e que o CLI php.exe está em C:\php\php.exe, esse arquivo batch irá executá-lo, repassando todas as opções: script.bat echothis ou script.bat -h.

Veja também a documentação da extensão Readline com mais funções usadas para melhorar as aplicações de linha de comando em PHP.

No Windows,o PHP pode ser configurado para rodar sem a necessidade de informar o C:\php\php.exe ou a extensão.php, como descrito em PHP para linha de comando no Microsoft Windows.


Input/output streams

O CLI SAPI define algumas constantes para I/O streams com o objetivo de tornar a programação em linha de comando um pouco mais fácil.

Constantes específicas da CLI
Constante Descrição
STDIN

Um stream já aberto para o stdin. Isso evita ter que abri-lo com

<?php
$stdin = fopen('php://stdin', 'r');
?>
Se voê desejar ler uma única linha do stdin, você pode usar
<?php
$line = trim(fgets(STDIN)); // reads one line from STDIN
fscanf(STDIN, "%d\n", $number); // reads number from STDIN
?>

STDOUT

Um stream já aberto para o stdout. Isso evitar ter que abri-lo com

<?php
$stdout = fopen('php://stdout', 'w');
?>

STDERR

Um stream já aberto com stderr. Isso evita ter que abri-lo com

<?php
$stderr = fopen('php://stderr', 'w');
?>

Como dito acima, você não precisa por exemplo abrir um stream para stderr por si mesmo, basta usar a constante ao invés do recurso do stream:

php -r 'fwrite(STDERR, "stderr\n");'
Você não precisa fechar explicitamente esses streams, já que eles serão automaticamente fechados pelo PHP quando o script terminar.

Nota:

Essas constantes não estão disponíveis se estiver lendo os scripts PHP de stdin.


Shell interativo

A partir do PHP 5.1.0, o CLI SAPI fornece um shell interativo usando a opção -a se o PHP for compilado com a opção --with-readline. A partir do PHP 7.1.0 o shell interativo também está disponível no Windows, se a extensão readline extension estiver habilitada.

Usando o shell interativo você será capaz de escrever código PHP e executá-lo diretamente.

Exemplo #1 Executando código usando o shell interativo

$ php -a
Interactive shell

php > echo 5+8;
13
php > function addTwo($n)
php > {
php { return $n + 2;
php { }
php > var_dump(addtwo(2));
int(4)
php >

O shel interativo também possui sugestões de complemento com tab para funções, constantes, nomes de classes, variáveis, chamadas para métodos estáticos e constantes de classe.

Exemplo #2 Sugestões de complemento com tab

Pressionar a tecla tab duas vezes quando tiver mais de uma sugestão de complemento resultará numa lista desses complementos.

php > strp[TAB][TAB]
strpbrk   strpos    strptime
php > strp

Quando existir apenas um possível complemento, pressionar a tecla tab uma vez irá completar o restante da mesma linha:

php > strpt[TAB]ime(

Complementos também funcionarão para nomes que forem definidos durante a mesma sessão do shell interativo:

php > $fooThisIsAReallyLongVariableName = 42;
php > $foo[TAB]ThisIsAReallyLongVariableName

O shell interativo armazena seu histórico que pode ser acessado usando as teclas para cima e para baixo. O histórico é salvo no arquivo ~/.php_history.

A partir da versão 5.4.0 do PHP, o CLI SAPI fornece as configurações do php.ini cli.pager e cli.prompt. A configuração cli.pager permite que um programa externo (como o less) aja como uma alternativa para a saída ao invés dela ser exibida diretamente na tela. A configuração cli.prompt faz com que seja possível alterar a saída php >.

No PHP 5.4.0 também é possível definir configurações php.ini no shell interativo usando uma notação abreviada.

Exemplo #3 Definindo configurações php.ini no shell interativo

A opção cli.prompt:

php > #cli.prompt=hello world :>
hello world :>

Usando crase é possível executar o PHP diretamente no terminal:

php > #cli.prompt=`echo date('H:i:s');` php >
15:49:35 php > echo 'hi';
hi
15:49:43 php > sleep(2);
15:49:45 php >

Setando o paginador paraless:

php > #cli.pager=less
php > phpinfo();
(output displayed in less)
php >

A configuração cli.prompt suporta algumas sequências de escape:

Sequências de escape do cli.prompt
Sequência | Descrição
\e | Usada para adicionar cores ao terminal. Um exemplo pode ser \e[032m\v \e[031m\b \e[34m\> \e[0m
\v | A versão do PHP.
\b | Indica em qual bloco o PHP está. Por exemplo /* irá indicar que o PHP está dentro de um comentário de multiplas linhas. O escopo externo será denominado por php.
\> | Indica o caractere do terminal. Por padrão é >, mas pode alterar qaundo o shell estiver dentro de um bloco indeterminado ou de uma string. Possíveis caracteres são: ' " { ( >

Nota:

Arquivos incluídos através de auto_prepend_file e auto_append_file são interpretados nesse modo porém com algumas restrições - Exemplo: funções devem ser definidas antes de sua chamada.

Nota:

Autoloading não está disponível quando estiver usando o PHP no modo interativo da CLI.


Servidor web embutido

Aviso

Esse servidor web foi desenvolvido para auxiliar no desenvolvimento de aplicações. Ele também pode ser útil para testes ou para demonstrações de aplicações que forem executadas em ambientes contralados. Ele não foi desenvolvido para ser um web server completo. Ele não deve ser utilizado em uma rede pública.

A partir do PHP 5.4.0, o CLI SAPI fornece um servidor web embutido.

Esse servidor embutido roda apenas um processo single-thread, de forma que aplicações PHP irão congelar se uma requisição bloquear.

Requisições de URI são servidas a partir do diretório atual onde o PHP foi iniciado, a não ser que a opção -t seja usada para especificar uma raiz de documento explicitamente. Se uma requisição de URI especificar um arquivo específico então ou o index.php ou index.html no diretório em questão será retornado. Se nenhum deles existir, a procura por index.php e index.html continuará nos diretórios superiores até que algum deles seja encontrado ou o document root seja alcançado. Caso um index.php ou index.html seja encontrado entaõ é retornado e $_SERVER['PATH_INFO'] é configurado para a parte final da URI. Caso contrário uma resposta 404 é retornada.

Se um arquivo PHP for fornecido na linha de comando quando o servidor web for iniciado ele será tratado como roteador. O script é executado no inicio de cada requisição HTTP. Se o script retornar false, então o recurso requisitado será retornado da maneira como estiver. Do contrário a saída do script será retornada para o navegador.

MIME types padrões serão retornados para arquivos com as extensões: .3gp, .apk, .avi, .bmp, .css, .csv, .doc, .docx, .flac, .gif, .gz, .gzip, .htm, .html, .ics, .jpe, .jpeg, .jpg, .js, .kml, .kmz, .m4a, .mov, .mp3, .mp4, .mpeg, .mpg, .odp, .ods, .odt, .oga, .ogg, .ogv, .pdf, .pdf, .png, .pps, .pptx, .qt, .svg, .swf, .tar, .text, .tif, .txt, .wav, .webm, .wmv, .xls, .xlsx, .xml, .xsl, .xsd, and .zip.

Documento de mudanças: MIME Types suportados (extensões de arquivos)
Versão | Descrição
5.5.12 | .xml, .xsl, and .xsd
5.5.7 | .3gp, .apk, .avi, .bmp, .csv, .doc, .docx, .flac, .gz, .gzip, .ics, .kml, .kmz, .m4a, .mp3, .mp4, .mpg, .mpeg, .mov, .odp, .ods, .odt, .oga, .pdf, .pptx, .pps, .qt, .swf, .tar, .text, .tif, .wav, .wmv, .xls, .xlsx, and .zip
5.5.5 | .pdf
5.4.11 | .ogg, .ogv, and .webm
5.4.4 | .htm and .svg

Exemplo #1 Iniciando o servidor web

$ cd ~/public_html
$ php -S localhost:8000

O terminal irá exibir:

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit

Após serem feitas requisições de URI para for http://localhost:8000/ e http://localhost:8000/myscript.html o terminal irá exibir algo similiar a:

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit.
[Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Request read
[Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Request read
[Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Request read
[Thu Jul 21 10:48:52 2011] ::1:39148 GET /myscript.html - Request read
[Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Request read

Exemplo #2 Iniciando o servidor web com um diretório raiz específico

$ cd ~/public_html
$ php -S localhost:8000 -t foo/

O terminal irá exibir:

PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011
Listening on localhost:8000
Document root is /home/me/public_html/foo
Press Ctrl-C to quit

Exemplo #3 Usando um script de roteamento

Nesse exemplo, requisições para imagens serão exibidas, mas requisições para arquivos HTML irão exibir "Welcome to PHP":

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
    return false;    // serve the requested resource as-is.
} else {
    echo "<p>Welcome to PHP</p>";
}
?>
$ php -S localhost:8000 router.php

Exemplo #4 Verificando o Uso do CLI Web Server

Para reutilizar um script de roteamente específico de um framework durante o desenvolvimento com o servidor web CLI e depois também em um servidor de produção:

<?php
// router.php
if (php_sapi_name() == 'cli-server') {
    /* route static assets and return false */
}
/* go on with normal index.php operations */
?>
$ php -S localhost:8000 router.php

Exemplo #5 Tratando de tipos de arquivos não suportados

Se você precisar servir um recurso estático cujo MIME type não é tratado pelo servidor web CLI, use:

<?php
// router.php
$path = pathinfo($_SERVER["SCRIPT_FILENAME"]);
if ($path["extension"] == "el") {
    header("Content-Type: text/x-script.elisp");
    readfile($_SERVER["SCRIPT_FILENAME"]);
}
else {
    return FALSE;
}
?>
$ php -S localhost:8000 router.php

Exemplo #6 Accessando o servidor web CLI de máquinas remotas

Você pode tornar o servidor web acessível na porta 8000 para qualquer interface com:

$ php -S 0.0.0.0:8000


Configurações INI

Opções de configuração da CLI SAPI
Nome | Padrão | Modificável | Changelog
cli_server.color | "0" | PHP_INI_ALL | Disponível desde a versão 5.4.0 do PHP

Uma rápida explicação das diretivas de configuração.

cli_server.color boolean

Habilita o uso de cores ANSI na saída do terminal pelo servidor web.


Garbage Collection

Índice

  • Reference Counting Basics
  • Collecting Cycles
  • Performance Considerations

This section explains the merits of the new Garbage Collection (also known as GC) mechanism that is part of PHP 5.3.


Reference Counting Basics

A PHP variable is stored in a container called a "zval". A zval container contains, besides the variable's type and value, two additional bits of information. The first is called "is_ref" and is a boolean value indicating whether or not the variable is part of a "reference set". With this bit, PHP's engine knows how to differentiate between normal variables and references. Since PHP allows user-land references, as created by the & operator, a zval container also has an internal reference counting mechanism to optimize memory usage. This second piece of additional information, called "refcount", contains how many variable names (also called symbols) point to this one zval container. All symbols are stored in a symbol table, of which there is one per scope. There is a scope for the main script (i.e., the one requested through the browser), as well as one for every function or method.

A zval container is created when a new variable is created with a constant value, such as:

Exemplo #1 Creating a new zval container

<?php
$a = "new string";
?>

In this case, the new symbol name, a, is created in the current scope, and a new variable container is created with the type string and the value new string. The "is_ref" bit is by default set to false because no user-land reference has been created. The "refcount" is set to 1 as there is only one symbol that makes use of this variable container. Note that if "refcount" is 1, "is_ref" is always false. If you have » Xdebug installed, you can display this information by calling xdebug_debug_zval().

Exemplo #2 Displaying zval information

<?php
$a = "new string";
xdebug_debug_zval('a');
?>

O exemplo acima irá imprimir:

a: (refcount=1, is_ref=0)='new string'

Assigning this variable to another variable name will increase the refcount.

Exemplo #3 Increasing refcount of a zval

<?php
$a = "new string";
$b = $a;
xdebug_debug_zval( 'a' );
?>

O exemplo acima irá imprimir:

a: (refcount=2, is_ref=0)='new string'

The refcount is 2 here, because the same variable container is linked with both a and b. PHP is smart enough not to copy the actual variable container when it is not necessary. Variable containers get destroyed when the "refcount" reaches zero. The "refcount" gets decreased by one when any symbol linked to the variable container leaves the scope (e.g. when the function ends) or when a symbol is unassigned (e.g. by calling unset()). The following example shows this:

Exemplo #4 Decreasing zval refcount

<?php
$a = "new string";
$c = $b = $a;
xdebug_debug_zval( 'a' );
$b = 42;
xdebug_debug_zval( 'a' );
unset( $c );
xdebug_debug_zval( 'a' );
?>

O exemplo acima irá imprimir:

a: (refcount=3, is_ref=0)='new string'
a: (refcount=2, is_ref=0)='new string'
a: (refcount=1, is_ref=0)='new string'

If we now call unset($a);, the variable container, including the type and value, will be removed from memory.

Compound Types

Things get a tad more complex with compound types such as arrays and objects. As opposed to scalar values, arrays and objects store their properties in a symbol table of their own. This means that the following example creates three zval containers:

Exemplo #5 Creating a array zval

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
xdebug_debug_zval( 'a' );
?>

O exemplo acima irá imprimir algo similar à:

a: (refcount=1, is_ref=0)=array (
   'meaning' => (refcount=1, is_ref=0)='life',
   'number' => (refcount=1, is_ref=0)=42
)

Or graphically

Zvals for a simple array

The three zval containers are: a, meaning, and number. Similar rules apply for increasing and decreasing "refcounts". Below, we add another element to the array, and set its value to the contents of an already existing element:

Exemplo #6 Adding already existing element to an array

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
$a['life'] = $a['meaning'];
xdebug_debug_zval( 'a' );
?>

O exemplo acima irá imprimir algo similar à:

a: (refcount=1, is_ref=0)=array (
   'meaning' => (refcount=2, is_ref=0)='life',
   'number' => (refcount=1, is_ref=0)=42,
   'life' => (refcount=2, is_ref=0)='life'
)

Or graphically

Zvals for a simple array with a reference

From the above Xdebug output, we see that both the old and new array elements now point to a zval container whose "refcount" is 2. Although Xdebug's output shows two zval containers with value 'life', they are the same one. The xdebug_debug_zval() function does not show this, but you could see it by also displaying the memory pointer.

Removing an element from the array is like removing a symbol from a scope. By doing so, the "refcount" of a container that an array element points to is decreased. Again, when the "refcount" reaches zero, the variable container is removed from memory. Again, an example to show this:

Exemplo #7 Removing an element from an array

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
$a['life'] = $a['meaning'];
unset( $a['meaning'], $a['number'] );
xdebug_debug_zval( 'a' );
?>

O exemplo acima irá imprimir algo similar à:

a: (refcount=1, is_ref=0)=array (
   'life' => (refcount=1, is_ref=0)='life'
)

Now, things get interesting if we add the array itself as an element of the array, which we do in the next example, in which we also sneak in a reference operator, since otherwise PHP would create a copy:

Exemplo #8 Adding the array itself as an element of it self

<?php
$a = array( 'one' );
$a[] =& $a;
xdebug_debug_zval( 'a' );
?>

O exemplo acima irá imprimir algo similar à:

a: (refcount=2, is_ref=1)=array (
   0 => (refcount=1, is_ref=0)='one',
   1 => (refcount=2, is_ref=1)=...
)

Or graphically

Zvals for an array with a circular reference

You can see that the array variable (a) as well as the second element (1) now point to a variable container that has a "refcount" of 2. The "..." in the display above shows that there is recursion involved, which, of course, in this case means that the "..." points back to the original array.

Just like before, unsetting a variable removes the symbol, and the reference count of the variable container it points to is decreased by one. So, if we unset variable $a after running the above code, the reference count of the variable container that $a and element "1" point to gets decreased by one, from "2" to "1". This can be represented as:

Exemplo #9 Unsetting $a

(refcount=1, is_ref=1)=array (
   0 => (refcount=1, is_ref=0)='one',
   1 => (refcount=1, is_ref=1)=...
)

Or graphically

Zvals after removal of array with a circular reference demonstrating the memory leak

Cleanup Problems

Although there is no longer a symbol in any scope pointing to this structure, it cannot be cleaned up because the array element "1" still points to this same array. Because there is no external symbol pointing to it, there is no way for a user to clean up this structure; thus you get a memory leak. Fortunately, PHP will clean up this data structure at the end of the request, but before then, this is taking up valuable space in memory. This situation happens often if you're implementing parsing algorithms or other things where you have a child point back at a "parent" element. The same situation can also happen with objects of course, where it actually is more likely to occur, as objects are always implicitly used by reference.

This might not be a problem if this only happens once or twice, but if there are thousands, or even millions, of these memory losses, this obviously starts being a problem. This is especially problematic in long running scripts, such as daemons where the request basically never ends, or in large sets of unit tests. The latter caused problems while running the unit tests for the Template component of the eZ Components library. In some cases, it would require over 2 GB of memory, which the test server didn't quite have.


Collecting Cycles

Traditionally, reference counting memory mechanisms, such as that used previously by PHP, fail to address circular reference memory leaks; however, as of 5.3.0, PHP implements the synchronous algorithm from the » Concurrent Cycle Collection in Reference Counted Systems paper which addresses that issue.

A full explanation of how the algorithm works would be slightly beyond the scope of this section, but the basics are explained here. First of all, we have to establish a few ground rules. If a refcount is increased, it's still in use and therefore, not garbage. If the refcount is decreased and hits zero, the zval can be freed. This means that garbage cycles can only be created when a refcount argument is decreased to a non-zero value. Secondly, in a garbage cycle, it is possible to discover which parts are garbage by checking whether it is possible to decrease their refcount by one, and then checking which of the zvals have a refcount of zero.

Garbage collection algorithm

To avoid having to call the checking of garbage cycles with every possible decrease of a refcount, the algorithm instead puts all possible roots (zvals) in the "root buffer" (marking them "purple"). It also makes sure that each possible garbage root ends up in the buffer only once. Only when the root buffer is full does the collection mechanism start for all the different zvals inside. See step A in the figure above.

In step B, the algorithm runs a depth-first search on all possible roots to decrease by one the refcounts of each zval it finds, making sure not to decrease a refcount on the same zval twice (by marking them as "grey"). In step C, the algorithm again runs a depth-first search from each root node, to check the refcount of each zval again. If it finds that the refcount is zero, the zval is marked "white" (blue in the figure). If it's larger than zero, it reverts the decreasing of the refcount by one with a depth-first search from that point on, and they are marked "black" again. In the last step (D), the algorithm walks over the root buffer removing the zval roots from there, and meanwhile, checks which zvals have been marked "white" in the previous step. Every zval marked as "white" will be freed.

Now that you have a basic understanding of how the algorithm works, we will look back at how this integrates with PHP. By default, PHP's garbage collector is turned on. There is, however, a php.ini setting that allows you to change this: zend.enable_gc.

When the garbage collector is turned on, the cycle-finding algorithm as described above is executed whenever the root buffer runs full. The root buffer has a fixed size of 10,000 possible roots (although you can alter this by changing the GC_ROOT_BUFFER_MAX_ENTRIES constant in Zend/zend_gc.c in the PHP source code, and re-compiling PHP). When the garbage collector is turned off, the cycle-finding algorithm will never run. However, possible roots will always be recorded in the root buffer, no matter whether the garbage collection mechanism has been activated with this configuration setting.

If the root buffer becomes full with possible roots while the garbage collection mechanism is turned off, further possible roots will simply not be recorded. Those possible roots that are not recorded will never be analyzed by the algorithm. If they were part of a circular reference cycle, they would never be cleaned up and would create a memory leak.

The reason why possible roots are recorded even if the mechanism has been disabled is because it's faster to record possible roots than to have to check whether the mechanism is turned on every time a possible root could be found. The garbage collection and analysis mechanism itself, however, can take a considerable amount of time.

Besides changing the zend.enable_gc configuration setting, it is also possible to turn the garbage collecting mechanism on and off by calling gc_enable() or gc_disable() respectively. Calling those functions has the same effect as turning on or off the mechanism with the configuration setting. It is also possible to force the collection of cycles even if the possible root buffer is not full yet. For this, you can use the gc_collect_cycles() function. This function will return how many cycles were collected by the algorithm.

The rationale behind the ability to turn the mechanism on and off, and to initiate cycle collection yourself, is that some parts of your application could be highly time-sensitive. In those cases, you might not want the garbage collection mechanism to kick in. Of course, by turning off the garbage collection for certain parts of your application, you do risk creating memory leaks because some possible roots might not fit into the limited root buffer. Therefore, it is probably wise to call gc_collect_cycles() just before you call gc_disable() to free up the memory that could be lost through possible roots that are already recorded in the root buffer. This then leaves an empty buffer so that there is more space for storing possible roots while the cycle collecting mechanism is turned off.


Performance Considerations

We have already mentioned in the previous section that simply collecting the possible roots had a very tiny performance impact, but this is when you compare PHP 5.2 against PHP 5.3. Although the recording of possible roots compared to not recording them at all, like in PHP 5.2, is slower, other changes to the PHP runtime in PHP 5.3 prevented this particular performance loss from even showing.

There are two major areas in which performance is affected. The first area is reduced memory usage, and the second area is run-time delay when the garbage collection mechanism performs its memory cleanups. We will look at both of those issues.

Reduced Memory Usage

First of all, the whole reason for implementing the garbage collection mechanism is to reduce memory usage by cleaning up circular-referenced variables as soon as the prerequisites are fulfilled. In PHP's implementation, this happens as soon as the root-buffer is full, or when the function gc_collect_cycles() is called. In the graph below, we display the memory usage of the script below, in both PHP 5.2 and PHP 5.3, excluding the base memory that PHP itself uses when starting up.

Exemplo #1 Memory usage example

<?php
class Foo
{
    public $var = '3.14159265359';
}

$baseMemory = memory_get_usage();

for ( $i = 0; $i <= 100000; $i++ )
{
    $a = new Foo;
    $a->self = $a;
    if ( $i % 500 === 0 )
    {
        echo sprintf( '%8d: ', $i ), memory_get_usage() - $baseMemory, "\n";
    }
}
?>
Comparison of memory usage between PHP 5.2 and PHP 5.3

In this very academic example, we are creating an object in which a property is set to point back to the object itself. When the $a variable in the script is re-assigned in the next iteration of the loop, a memory leak would typically occur. In this case, two zval-containers are leaked (the object zval, and the property zval), but only one possible root is found: the variable that was unset. When the root-buffer is full after 10,000 iterations (with a total of 10,000 possible roots), the garbage collection mechanism kicks in and frees the memory associated with those possible roots. This can very clearly be seen in the jagged memory-usage graph for PHP 5.3. After each 10,000 iterations, the mechanism kicks in and frees the memory associated with the circular referenced variables. The mechanism itself does not have to do a whole lot of work in this example, because the structure that is leaked is extremely simple. From the diagram, you see that the maximum memory usage in PHP 5.3 is about 9 Mb, whereas in PHP 5.2 the memory usage keeps increasing.

Run-Time Slowdowns

The second area where the garbage collection mechanism influences performance is the time taken when the garbage collection mechanism kicks in to free the "leaked" memory. In order to see how much this is, we slightly modify the previous script to allow for a larger number of iterations and the removal of the intermediate memory usage figures. The second script is here:

Exemplo #2 GC performance influences

<?php
class Foo
{
    public $var = '3.14159265359';
}

for ( $i = 0; $i <= 1000000; $i++ )
{
    $a = new Foo;
    $a->self = $a;
}

echo memory_get_peak_usage(), "\n";
?>

We will run this script two times, once with the zend.enable_gc setting turned on, and once with it turned off:

Exemplo #3 Running the above script

time php -dzend.enable_gc=0 -dmemory_limit=-1 -n example2.php
# and
time php -dzend.enable_gc=1 -dmemory_limit=-1 -n example2.php

On my machine, the first command seems to take consistently about 10.7 seconds, whereas the second command takes about 11.4 seconds. This is a slowdown of about 7%. However, the maximum amount of memory used by the script is reduced by 98% from 931Mb to 10Mb. This benchmark is not very scientific, or even representative of real-life applications, but it does demonstrate the memory usage benefits that this garbage collection mechanism provides. The good thing is that the slowdown is always the same 7%, for this particular script, while the memory saving capabilities save more and more memory as more circular references are found during script execution.

PHP's Internal GC Statistics

It is possible to coax a little bit more information about how the garbage collection mechanism is run from within PHP. But in order to do so, you will have to re-compile PHP to enable the benchmark and data-collecting code. You will have to set the CFLAGS environment variable to -DGC_BENCH=1 prior to running ./configure with your desired options. The following sequence should do the trick:

Exemplo #4 Recompiling PHP to enable GC benchmarking

export CFLAGS=-DGC_BENCH=1
./config.nice
make clean
make

When you run the above example code again with the newly built PHP binary, you will see the following being shown after PHP has finished execution:

Exemplo #5 GC statistics

GC Statistics
-------------
Runs:               110
Collected:          2072204
Root buffer length: 0
Root buffer peak:   10000

      Possible            Remove from  Marked
        Root    Buffered     buffer     grey
      --------  --------  -----------  ------
ZVAL   7175487   1491291    1241690   3611871
ZOBJ  28506264   1527980     677581   1025731

The most informative statistics are displayed in the first block. You can see here that the garbage collection mechanism ran 110 times, and in total, more than 2 million memory allocations were freed during those 110 runs. As soon as the garbage collection mechanism has run at least one time, the "Root buffer peak" is always 10000.

Conclusion

In general the garbage collector in PHP will only cause a slowdown when the cycle collecting algorithm actually runs, whereas in normal (smaller) scripts there should be no performance hit at all.

However, in the cases where the cycle collection mechanism does run for normal scripts, the memory reduction it will provide allows more of those scripts to run concurrently on your server, since not so much memory is used in total.

The benefits are most apparent for longer-running scripts, such as lengthy test suites or daemon scripts. Also, for » PHP-GTK applications that generally tend to run longer than scripts for the Web, the new mechanism should make quite a bit of a difference regarding memory leaks creeping in over time.


DTrace Dynamic Tracing

Índice

  • Introduction to PHP and DTrace
  • Using PHP and DTrace
  • Using SystemTap with PHP DTrace Static Probes


Introduction to PHP and DTrace

DTrace is an always-available, low overhead, tracing framework available on a number of platforms including Solaris, macOS, Oracle Linux and BSD. DTrace can trace operating system behavior and user program execution. It can display argument values and be used to infer performance statistics. Probes are monitored by user created scripts written in the DTrace D scripting language. This allows efficient analysis of data points.

PHP probes that are not being actively monitored by a user's DTrace D script do not contain instrumented code so there is no performance degradation during normal application execution. Probes that are being monitored incur an overhead low enough to generally allow DTrace monitoring on live production systems.

PHP incorporates "User-level Statically Defined Tracing" (USDT) probes that are triggered at runtime. For example, when a D script is monitoring PHP's function-entry probe, then, every time a PHP script function is called, this probe is fired and the associated D script action code is executed. This action code could, for example, print probe arguments such as the source file location of the PHP function. Or the action could aggregate data such as the number of times each function is called.

Only the PHP USDT probes are described here. Refer to external general and operating system-specific DTrace literature to see how DTrace can be used to trace arbitrary functions, and how it can be used to trace operating system behavior. Note not all DTrace features are available in all DTrace implementations.

DTrace static probes are included in PHP 5.4. Prior to this they were available via a » PECL extension, which is now obsolete.

The static DTrace probes in PHP can alternatively be used with the SystemTap facility on some Linux distributions.


Using PHP and DTrace

PHP can be configured with DTrace static probes on platforms that support DTrace Dynamic Tracing.

Configuring PHP for DTrace Static Probes

Refer to external platform specific documentation for enabling operating system DTrace support. For example, on Oracle Linux boot a UEK3 kernel and do:

# modprobe fasttrap
# chmod 666 /dev/dtrace/helper

Instead of using chmod, you could instead use an ACL package rule to limit device access to a specific user.

Build PHP with the --enable-dtrace configuration parameter:

# ./configure --enable-dtrace ...
# make
# make install

This enables the static probes in core PHP. Any PHP extensions that provide their own probes should be built separately as shared extensions.

DTrace Static Probes in Core PHP

The following static probes are available in PHP
Probe Name | Probe Description | Probe Arguments
request-startup | Fires when a request starts. | char *file, char *request_uri, char *request_method
request-shutdown | Fires when a request shutdown. | char *file, char *request_uri, char *request_method
compile-file-entry | Fires when the compilation of a script starts. | char *compile_file, char *compile_file_translated
compile-file-return | Fires when the compilation of a script finishes. | char *compile_file, char *compile_file_translated
execute-entry | Fires when an opcode array is to be executed. For example, it fires on function calls, includes, and generator resumes. | char *request_file, int lineno
execute-return | Fires after execution of an opcode array. | char *request_file, int lineno
function-entry | Fires when the PHP engine enters a PHP function or method call. | char *function_name, char *request_file, int lineno, char *classname, char *scope
function-return | Fires when the PHP engine returns from a PHP function or method call. | char *function_name, char *request_file, int lineno, char *classname, char *scope
exception-thrown | Fires when an exception is thrown. | char *classname
exception-caught | Fires when an exception is caught. | char *classname
error | Fires when an error occurs, regardless of the error_reporting level. | char *errormsg, char *request_file, int lineno

PHP extensions may also have additional static probes.

Listing DTrace Static Probes in PHP

To list available probes, start a PHP process and then run:

# dtrace -l

The output will be similar to:

   ID   PROVIDER            MODULE                          FUNCTION NAME
   [ . . . ]
    4   php15271               php               dtrace_compile_file compile-file-entry
    5   php15271               php               dtrace_compile_file compile-file-return
    6   php15271               php                        zend_error error
    7   php15271               php  ZEND_CATCH_SPEC_CONST_CV_HANDLER exception-caught
    8   php15271               php     zend_throw_exception_internal exception-thrown
    9   php15271               php                 dtrace_execute_ex execute-entry
   10   php15271               php           dtrace_execute_internal execute-entry
   11   php15271               php                 dtrace_execute_ex execute-return
   12   php15271               php           dtrace_execute_internal execute-return
   13   php15271               php                 dtrace_execute_ex function-entry
   14   php15271               php                 dtrace_execute_ex function-return
   15   php15271               php              php_request_shutdown request-shutdown
   16   php15271               php               php_request_startup request-startup

The Provider column values consist of php and the process id of the currently running PHP process.

If the Apache web server is running, the module name might be, for example, libphp5.so, and there would be multiple blocks of listings, one per running Apache process.

The Function column refers to PHP's internal C implementation function names where each provider is located.

If a PHP process is not running, then no PHP probes will be shown.

DTrace with PHP Example

This example shows the basics of the DTrace D scripting language.

Exemplo #1 all_probes.d for tracing all PHP Static Probes with DTrace

#!/usr/sbin/dtrace -Zs

#pragma D option quiet

php*:::compile-file-entry
{
    printf("PHP compile-file-entry\n");
    printf("  compile_file              %s\n", copyinstr(arg0));
    printf("  compile_file_translated   %s\n", copyinstr(arg1));
}

php*:::compile-file-return
{
    printf("PHP compile-file-return\n");
    printf("  compile_file              %s\n", copyinstr(arg0));
    printf("  compile_file_translated   %s\n", copyinstr(arg1));
}

php*:::error
{
    printf("PHP error\n");
    printf("  errormsg                  %s\n", copyinstr(arg0));
    printf("  request_file              %s\n", copyinstr(arg1));
    printf("  lineno                    %d\n", (int)arg2);
}

php*:::exception-caught
{
    printf("PHP exception-caught\n");
    printf("  classname                 %s\n", copyinstr(arg0));
}

php*:::exception-thrown
{
    printf("PHP exception-thrown\n");
    printf("  classname                 %s\n", copyinstr(arg0));
}

php*:::execute-entry
{
    printf("PHP execute-entry\n");
    printf("  request_file              %s\n", copyinstr(arg0));
    printf("  lineno                    %d\n", (int)arg1);
}

php*:::execute-return
{
    printf("PHP execute-return\n");
    printf("  request_file              %s\n", copyinstr(arg0));
    printf("  lineno                    %d\n", (int)arg1);
}

php*:::function-entry
{
    printf("PHP function-entry\n");
    printf("  function_name             %s\n", copyinstr(arg0));
    printf("  request_file              %s\n", copyinstr(arg1));
    printf("  lineno                    %d\n", (int)arg2);
    printf("  classname                 %s\n", copyinstr(arg3));
    printf("  scope                     %s\n", copyinstr(arg4));
}

php*:::function-return
{
    printf("PHP function-return\n");
    printf("  function_name             %s\n", copyinstr(arg0));
    printf("  request_file              %s\n", copyinstr(arg1));
    printf("  lineno                    %d\n", (int)arg2);
    printf("  classname                 %s\n", copyinstr(arg3));
    printf("  scope                     %s\n", copyinstr(arg4));
}

php*:::request-shutdown
{
    printf("PHP request-shutdown\n");
    printf("  file                      %s\n", copyinstr(arg0));
    printf("  request_uri               %s\n", copyinstr(arg1));
    printf("  request_method            %s\n", copyinstr(arg2));
}

php*:::request-startup
{
    printf("PHP request-startup\n");
    printf("  file                      %s\n", copyinstr(arg0));
    printf("  request_uri               %s\n", copyinstr(arg1));
    printf("  request_method            %s\n", copyinstr(arg2));
}

This script uses the -Z option to dtrace, allowing it to be run when there is no PHP process executing. If this option were omitted the script would immediately terminate because it knows none of the probes to be monitored are in existence.

The script traces all core PHP static probe points throughout the duration of a running PHP script. Run the D script:

# ./all_probes.d

Run a PHP script or application. The monitoring D script will output each probe's arguments as it fires.

When monitoring is complete, the D script can be terminated with a ^C.

On multi-CPU machines the probe ordering might not appear to be sequential. This depends on which CPU was processing the probes, and how threads migrate across CPUs. Displaying probe time stamps will help reduce confusion, for example:

php*:::function-entry
{
      printf("%lld: PHP function-entry ", walltimestamp);
      [ . . .]
}

See Also

  • OCI8 and DTrace Dynamic Tracing


Using SystemTap with PHP DTrace Static Probes

On some Linux distributions, the SystemTap tracing utility can be used to trace PHP's static DTrace probes. This is available with PHP 5.4.20 and PHP 5.5.

Installing PHP with SystemTap

Install the SystemTap SDT development package:

# yum install systemtap-sdt-devel

Install PHP with the DTrace probes enabled:

# ./configure --enable-dtrace ...
# make

Listing Static Probes with SystemTap

The static probes in PHP can be listed using stap:

# stap -l 'process.provider("php").mark("*")' -c 'sapi/cli/php -i'

This outputs:

process("sapi/cli/php").provider("php").mark("compile__file__entry")
process("sapi/cli/php").provider("php").mark("compile__file__return")
process("sapi/cli/php").provider("php").mark("error")
process("sapi/cli/php").provider("php").mark("exception__caught")
process("sapi/cli/php").provider("php").mark("exception__thrown")
process("sapi/cli/php").provider("php").mark("execute__entry")
process("sapi/cli/php").provider("php").mark("execute__return")
process("sapi/cli/php").provider("php").mark("function__entry")
process("sapi/cli/php").provider("php").mark("function__return")
process("sapi/cli/php").provider("php").mark("request__shutdown")
process("sapi/cli/php").provider("php").mark("request__startup")

SystemTap with PHP Example

Exemplo #1 all_probes.stp for tracing all PHP Static Probes with SystemTap

probe process("sapi/cli/php").provider("php").mark("compile__file__entry") {
    printf("Probe compile__file__entry\n");
    printf("  compile_file %s\n", user_string($arg1));
    printf("  compile_file_translated %s\n", user_string($arg2));
}
probe process("sapi/cli/php").provider("php").mark("compile__file__return") {
    printf("Probe compile__file__return\n");
    printf("  compile_file %s\n", user_string($arg1));
    printf("  compile_file_translated %s\n", user_string($arg2));
}
probe process("sapi/cli/php").provider("php").mark("error") {
    printf("Probe error\n");
    printf("  errormsg %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
}
probe process("sapi/cli/php").provider("php").mark("exception__caught") {
    printf("Probe exception__caught\n");
    printf("  classname %s\n", user_string($arg1));
}
probe process("sapi/cli/php").provider("php").mark("exception__thrown") {
    printf("Probe exception__thrown\n");
    printf("  classname %s\n", user_string($arg1));
}
probe process("sapi/cli/php").provider("php").mark("execute__entry") {
    printf("Probe execute__entry\n");
    printf("  request_file %s\n", user_string($arg1));
    printf("  lineno %d\n", $arg2);
}
probe process("sapi/cli/php").provider("php").mark("execute__return") {
    printf("Probe execute__return\n");
    printf("  request_file %s\n", user_string($arg1));
    printf("  lineno %d\n", $arg2);
}
probe process("sapi/cli/php").provider("php").mark("function__entry") {
    printf("Probe function__entry\n");
    printf("  function_name %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
    printf("  classname %s\n", user_string($arg4));
    printf("  scope %s\n", user_string($arg5));
}
probe process("sapi/cli/php").provider("php").mark("function__return") {
    printf("Probe function__return: %s\n", user_string($arg1));
    printf(" function_name %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
    printf("  classname %s\n", user_string($arg4));
    printf("  scope %s\n", user_string($arg5));
}
probe process("sapi/cli/php").provider("php").mark("request__shutdown") {
    printf("Probe request__shutdown\n");
    printf("  file %s\n", user_string($arg1));
    printf("  request_uri %s\n", user_string($arg2));
    printf("  request_method %s\n", user_string($arg3));
}
probe process("sapi/cli/php").provider("php").mark("request__startup") {
    printf("Probe request__startup\n");
    printf("  file %s\n", user_string($arg1));
    printf("  request_uri %s\n", user_string($arg2));
    printf("  request_method %s\n", user_string($arg3));
}

The above script will trace all core PHP static probe points throughout the duration of a running PHP script:

# stap -c 'sapi/cli/php test.php' all_probes.stp


Referência das Funções

Dica

Veja também Categorização/Lista das Extensões.

  • Afetando o comportamento do PHP
    • APCu — APC User Cache
    • Componere
    • Manuseamento de Erro — Erros e Logs
    • FFI — Foreign Function Interface
    • Memtrack
    • OPcache
    • Controle de Saída — Controle de Saída de Buffer
    • Opções/Info do PHP — Informações e Opções do PHP
    • phpdbg — Interactive PHP Debugger
    • runkit7
    • uopz — User Operations for Zend
    • Weakref — Weak References
    • WinCache — Windows Cache for PHP
    • Xhprof — Hierarchical Profiler
    • Yac
  • Manipulação de Formatos de Audio
    • OpenAL — OpenAL Audio Bindings
  • Serviços de Autenticação
    • Radius
  • Extensões Específica para Linha de Comando
    • Ncurses — Ncurses Terminal Screen Control
    • Readline — GNU Readline
  • Extensões de Arquivo e Compressão
    • Bzip2
    • LZF
    • Phar
    • Rar — Rar Archiving
    • Zip
    • Zlib — Compressão Zlib
  • Extensões para Criptografia
    • CSPRNG
    • Hash — HASH Message Digest Framework
    • Mcrypt
    • Mhash
    • OpenSSL
    • Password Hashing
    • Sodium
  • Extensões de Banco de Dados
    • Camadas de Abstração
    • Vendor Specific Database Extensions
  • Extensões Relacionadas a Data e Hora
    • Calendário
    • Data/Hora — Data e Hora
    • HRTime — High resolution timing
  • Extensões Relacionadas a Sistema de Arquivo
    • Direct IO
    • Diretórios
    • Fileinfo — File Information
    • Filesystem
    • Inotify
    • Proctitle
    • xattr
    • xdiff
  • Linguagem Humana e Suporte a Codificação de Caracteres
    • Enchant — Enchant spelling library
    • Gender — Determine gender of firstnames
    • Gettext
    • iconv
    • intl — Internationalization Functions
    • Multibyte String
    • Pspell
    • Recode — GNU Recode
  • Processamento e Geração de Imagem
    • Exif — Exchangeable image information
    • GD — Processamento de Imagem (GD)
    • Gmagick
    • ImageMagick — Image Processing (ImageMagick)
  • Extensões Relacionadas a Mail
    • IMAP — IMAP, POP3 and NNTP
    • Mail
    • Mailparse
  • Extensões Matemáticas
    • BC Math — BCMath Funções Matemáticas de Precisão Arbitrária
    • GMP — GNU Multiple Precision
    • Math — Funções Matemáticas
    • Statistics
    • Trader — Technical Analysis for Traders
  • Saída de MIME Não-Texto
    • FDF — Forms Data Format
    • GnuPG — GNU Privacy Guard
    • wkhtmltox
    • PS — PostScript document creation
    • RpmInfo
    • XLSWriter
  • Extensões para Controle de Processo
    • Eio
    • Ev
    • Expect
    • PCNTL — Process Control
    • POSIX
    • Execução de programa — Execução de programa do sistema
    • parallel
    • pthreads
    • pht
    • Semaphore — Semaphore, Shared Memory and IPC
    • Memória Compartilhada
    • Sync
  • Outras Extensões Básicas
    • GeoIP — Geo IP Location
    • FANN — FANN (Fast Artificial Neural Network)
    • JSON — JavaScript Object Notation
    • Lua
    • LuaSandbox
    • Misc. — Funções Miscelâneas
    • Seaslog
    • SPL — Standard PHP Library (SPL)
    • Streams
    • Swoole
    • Tidy
    • Tokenizer
    • URLs
    • V8js — V8 Javascript Engine Integration
    • Yaml — YAML Data Serialization
    • Yaf — Yet Another Framework
    • Yaconf
    • Taint
    • Data Structures
  • Outros Serviços
    • cURL — Biblioteca Client URL
    • Event
    • FTP
    • Gearman
    • LDAP — Lightweight Directory Access Protocol
    • Memcache
    • Memcached
    • mqseries
    • Network
    • RRD — RRDtool
    • ScoutAPM
    • SNMP
    • Sockets
    • SSH2 — Secure Shell2
    • Stomp — Stomp Client
    • SVM — Support Vector Machine
    • SVN — Subversion
    • TCP — TCP Wrappers
    • Varnish
    • YAZ
    • API de Mensagens 0MQ — ZMQ
    • ZooKeeper
  • Extensões de Engine de Busca
    • Solr — Apache Solr
    • Sphinx — Sphinx Client
  • Extensões Específicas para Servidor
    • Apache
    • FastCGI Process Manager
  • Extensões de Sessão
    • Sessões — Manipulação de Sessão
  • Processamento de Texto
    • CommonMark
    • Parle — Parsing and lexing
    • PCRE — Expressões Regulares (Compatíveis com Perl)
    • POSIX Regex — Expressão Regular (POSIX Extended)
    • ssdeep — ssdeep Fuzzy Hashing
    • Strings
  • Variável e Extensões Relacionadas aos Tipos
    • Arrays
    • Classes/Objetos — Informação de Classe/Objeto
    • Classkit
    • Ctype — Funções pra verificação de tipo de caractere
    • Filter — Filtragem de Dados
    • Funções para Manuseamento de Funções
    • Quickhash
    • Reflexão
    • Manipulação de variável
  • Web Services
    • OAuth
    • SOAP
    • Yar — Yet Another RPC Framework
    • XML-RPC
  • Extensões Somente para Windows
    • COM — COM and .Net (Windows)
    • win32service
  • Manipulação de XML
    • DOM — Document Object Model
    • libxml
    • SimpleXML
    • WDDX
    • XMLDiff — XML diff and merge
    • XML Parser
    • XMLReader
    • XMLWriter
    • XSL
  • Extensões GUI
    • UI


Afetando o comportamento do PHP

  • APCu — APC User Cache
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • APCu Funções
    • APCUIterator — The APCUIterator class
  • Componere
    • Introdução
    • Instalação/Configuração
    • Componere\Abstract\Definition — The Componere\Abstract\Definition class
    • Componere\Definition — The Componere\Definition class
    • Componere\Patch — The Componere\Patch class
    • Componere\Method — The Componere\Method class
    • Componere\Value — The Componere\Value class
    • Componere Funções
  • Manuseamento de Erro — Erros e Logs
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções para Manuseamento de Erros
  • FFI — Foreign Function Interface
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • FFI — Main interface to C code and data
    • FFI\CData — C Data Handles
    • FFI\CType — C Type Handles
    • FFI\Exception — FFI Exceptions
    • FFI\ParserException — FFI Parser Exceptions
  • Memtrack
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
  • OPcache
    • Introdução
    • Instalação/Configuração
    • Preloading
    • OPcache Funções
  • Controle de Saída — Controle de Saída de Buffer
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções para Control de Saída
  • Opções/Info do PHP — Informações e Opções do PHP
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções para Opções/Info do PHP
  • phpdbg — Interactive PHP Debugger
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • phpdbg Funções
  • runkit7
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • runkit7 Funções
  • uopz — User Operations for Zend
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Uopz Funções
  • Weakref — Weak References
    • Introdução
    • Instalação/Configuração
    • WeakRef — The WeakRef class
    • WeakMap — The WeakMap class
  • WinCache — Windows Cache for PHP
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • WinCache Funções
    • Building for Windows
  • Xhprof — Hierarchical Profiler
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Xhprof Funções
  • Yac
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Yac — The Yac class


APC User Cache

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • APCu Funções
    • apcu_add — Cache a new variable in the data store
    • apcu_cache_info — Retrieves cached information from APCu's data store
    • apcu_cas — Updates an old value with a new value
    • apcu_clear_cache — Clears the APCu cache
    • apcu_dec — Decrease a stored number
    • apcu_delete — Removes a stored variable from the cache
    • apcu_enabled — Whether APCu is usable in the current environment
    • apcu_entry — Atomically fetch or generate a cache entry
    • apcu_exists — Checks if entry exists
    • apcu_fetch — Fetch a stored variable from the cache
    • apcu_inc — Increase a stored number
    • apcu_key_info — Get detailed information about the cache key
    • apcu_sma_info — Retrieves APCu Shared Memory Allocation information
    • apcu_store — Cache a variable in the data store
  • APCUIterator — The APCUIterator class
    • APCUIterator::__construct — Constructs an APCUIterator iterator object
    • APCUIterator::current — Get current item
    • APCUIterator::getTotalCount — Get total count
    • APCUIterator::getTotalHits — Get total cache hits
    • APCUIterator::getTotalSize — Get total cache size
    • APCUIterator::key — Get iterator key
    • APCUIterator::next — Move pointer to next item
    • APCUIterator::rewind — Rewinds iterator
    • APCUIterator::valid — Checks if current position is valid


Introdução

APCu is an in-memory key-value store for PHP. Keys are of type string and values can be any PHP variables. APCu only supports userland caching of variables.

APCu is APC stripped of opcode caching.

The first APCu codebase was versioned 4.0.0, it was forked from the head of the APC master branch at the time.

PHP 7 support is available as of APCu 5.0.0.

APCu can provide a compatibility mode, such that it can provide a drop in replacement for the applicable parts of APC.


Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução
  • Tipos de Recurso


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

Esta extensão não necessita de bibliotecas externas para compilar.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/apcu.

If backward compatibility with the applicable parts of APC is required, APCu must be configured with the option --enable-apcu-bc.

Aviso

PHP 7 has a separate module (» apc.so) for backwards compatibility with APC.

In backward compatibility mode, APCu registers the applicable APC functions with backward compatible prototypes.

Where an APC function accepted cache_type, it is simply ignored by the backward compatible version, and omitted from the prototype for the APCu version.

Nota: On Windows, APCu needs a temp path to exist, and be writable by the web server. It checks the TMP, TEMP and USERPROFILE environment variables in that order and finally tries the WINDOWS directory if none of those are set.

Nota: For more in-depth, highly technical implementation details, see the » developer-supplied TECHNOTES file .

APCu sources can be found » here.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Although the default APCu settings are fine for many installations, serious users should consider tuning the following parameters.

There is one decision to be made configuring APCu. How much memory is going to be allocated to APCu. The ini directive that controls this is apc.shm_size Read the sections on this carefully below.

Once the server is running, the apc.php script that is bundled with the extension should be copied somewhere into the docroot and viewed with a browser as it provides a detailed analysis of the internal workings of APCu. If GD is enabled in PHP, it will even display some interesting graphs. If APCu is working, the Cache full count number (on the left) will display the number of times the cache has reached maximum capacity and has had to forcefully clean any entries that haven't been accessed in the last apc.ttl seconds. This number is minimized in a well-configured cache. If the cache is constantly being filled, and thusly forcefully freed, the resulting churning will have disparaging effects on script performance. The easiest way to minimize this number is to allocate more memory for APCu.

When APCu is compiled with mmap support (Memory Mapping), it will use only one memory segment, unlike when APCu is built with SHM (SysV Shared Memory) support that uses multiple memory segments. MMAP does not have a maximum limit like SHM does in /proc/sys/kernel/shmmax. In general MMAP support is recommended because it will reclaim the memory faster when the webserver is restarted and all in all reduces memory allocation impact at startup.

APCu configuration options
Nome | Padrão | Modificável | Changelog
apc.enabled | "1" | PHP_INI_SYSTEM |
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "32M" | PHP_INI_SYSTEM |
apc.entries_hint | "4096" | PHP_INI_SYSTEM |
apc.ttl | "0" | PHP_INI_SYSTEM |
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.slam_defense | "1" | PHP_INI_SYSTEM |
apc.enable_cli | "0" | PHP_INI_SYSTEM |
apc.use_request_time | "0" | PHP_INI_ALL | Prior to APCu 5.1.19, the default was "1".
apc.serializer | "php" | PHP_INI_SYSTEM | Prior to APCu 5.1.15, the default was "default".
apc.coredump_unmap | "0" | PHP_INI_SYSTEM |
apc.preload_path | NULL | PHP_INI_SYSTEM |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

apc.enabled bool

apc.enabled can be set to 0 to disable APC. This is primarily useful when APC is statically compiled into PHP, since there is no other way to disable it (when compiled as a DSO, the extension line in php.ini can just be commented-out).

apc.shm_segments int

The number of shared memory segments to allocate for the compiler cache. If APC is running out of shared memory but apc.shm_size is set as high as the system allows, raising this value might prevent APC from exhausting its memory.

apc.shm_size string

The size of each shared memory segment given by a shorthand notation as described in this FAQ. By default, some systems (including most BSD variants) have very low limits on the size of a shared memory segment.

apc.entries_hint int

A "hint" about the number of distinct variables that might be stored. Set to zero or omit if not sure.

apc.ttl int

The number of seconds a cache entry is allowed to idle in a slot in case this cache entry slot is needed by another entry. Leaving this at zero means that APC's cache could potentially fill up with stale entries while newer entries won't be cached. In the event of a cache running out of available memory, the cache will be completely expunged if ttl is equal to 0. Otherwise, if the ttl is greater than 0, APC will attempt to remove expired entries.

apc.gc_ttl int

The number of seconds that a cache entry may remain on the garbage-collection list. This value provides a fail-safe in the event that a server process dies while executing a cached source file; if that source file is modified, the memory allocated for the old version will not be reclaimed until this TTL reached. Set to zero to disable this feature.

apc.mmap_file_mask string

If compiled with MMAP support by using --enable-mmap this is the mktemp-style file_mask to pass to the mmap module for determining whether your mmap'ed memory region is going to be file-backed or shared memory backed. For straight file-backed mmap, set it to something like /tmp/apc.XXXXXX (exactly 6 Xs). To use POSIX-style shm_open/mmap put a .shm somewhere in your mask. e.g. /apc.shm.XXXXXX You can also set it to /dev/zero to use your kernel's /dev/zero interface to anonymous mmap'ed memory. Leaving it undefined will force an anonymous mmap.

apc.slam_defense int

On very busy servers whenever you start the server or modify files you can create a race of many processes all trying to cache the same file at the same time. This option sets the percentage of processes that will skip trying to cache an uncached file. Or think of it as the probability of a single process to skip caching. For example, setting apc.slam_defense to 75 would mean that there is a 75% chance that the process will not cache an uncached file. So, the higher the setting the greater the defense against cache slams. Setting this to 0 disables this feature.

apc.enable_cli int

Mostly for testing and debugging. Setting this enables APC for the CLI version of PHP. Under normal circumstances, it is not ideal to create, populate and destroy the APC cache on every CLI request, but for various test scenarios it is useful to be able to enable APC for the CLI version of PHP easily.

apc.serializer string

Used to configure APC to use a third party serializer.

apc.coredump_unmap bool

Enables APC handling of signals, such as SIGSEGV, that write core files when signaled. When these signals are received, APC will attempt to unmap the shared memory segment in order to exclude it from the core file. This setting may improve system stability when fatal signals are received and a large APC shared memory segment is configured.

Aviso

This feature is potentially dangerous. Unmapping the shared memory segment in a fatal signal handler may cause undefined behaviour if a fatal error occurs.

Nota:

Although some kernels may provide a facility to ignore various types of shared memory when generating a core dump file, these implementations may also ignore important shared memory segments such as the Apache scoreboard.

apc.preload_path string

Optionally, set a path to the directory that APC will load cache data at startup.

apc.use_request_time bool

Use the SAPI request start time for TTL.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão não tem recursos definidos.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

APC_ITER_ALL (int)
APC_ITER_ATIME (int)
APC_ITER_CTIME (int)
APC_ITER_DEVICE (int)
APC_ITER_DTIME (int)
APC_ITER_FILENAME (int)
APC_ITER_INODE (int)
APC_ITER_KEY (int)
APC_ITER_MD5 (int)
APC_ITER_MEM_SIZE (int)
APC_ITER_MTIME (int)
APC_ITER_NONE (int)
APC_ITER_NUM_HITS (int)
APC_ITER_REFCOUNT (int)
APC_ITER_TTL (int)
APC_ITER_TYPE (int)
APC_ITER_VALUE (int)
APC_LIST_ACTIVE (int)
APC_LIST_DELETED (int)


APCu Funções

Índice

  • apcu_add — Cache a new variable in the data store
  • apcu_cache_info — Retrieves cached information from APCu's data store
  • apcu_cas — Updates an old value with a new value
  • apcu_clear_cache — Clears the APCu cache
  • apcu_dec — Decrease a stored number
  • apcu_delete — Removes a stored variable from the cache
  • apcu_enabled — Whether APCu is usable in the current environment
  • apcu_entry — Atomically fetch or generate a cache entry
  • apcu_exists — Checks if entry exists
  • apcu_fetch — Fetch a stored variable from the cache
  • apcu_inc — Increase a stored number
  • apcu_key_info — Get detailed information about the cache key
  • apcu_sma_info — Retrieves APCu Shared Memory Allocation information
  • apcu_store — Cache a variable in the data store


Cache a new variable in the data store

  • « APCu Funções
  • apcu_cache_info »
  • PHP Manual
  • APCu Funções
  • Cache a new variable in the data store

apcu_add

(PECL apcu >= 4.0.0)

apcu_add — Cache a new variable in the data store

Descrição

apcu_add ( string $key , mixed $var , int $ttl = 0 ) : bool
apcu_add ( array $values , mixed $unused = NULL , int $ttl = 0 ) : array

Caches a variable in the data store, only if it's not already stored.

Nota: Unlike many other mechanisms in PHP, variables stored using apcu_add() will persist between requests (until the value is removed from the cache).

Parâmetros

key

Store the variable using this name. keys are cache-unique, so attempting to use apcu_add() to store data with a key that already exists will not overwrite the existing data, and will instead return false. (This is the only difference between apcu_add() and apcu_store().)

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

values

Names in key, variables in value.

Valor Retornado

Returns TRUE if something has effectively been added into the cache, FALSE otherwise. Second syntax returns array with error keys.

Exemplos

Exemplo #1 A apcu_add() example

<?php
$bar = 'BAR';
apcu_add('foo', $bar);
var_dump(apcu_fetch('foo'));
echo "\n";
$bar = 'NEVER GETS SET';
apcu_add('foo', $bar);
var_dump(apcu_fetch('foo'));
echo "\n";
?>

O exemplo acima irá imprimir:

string(3) "BAR"
string(3) "BAR"

Veja Também

  • apcu_store() - Cache a variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_delete() - Removes a stored variable from the cache


Retrieves cached information from APCu's data store

  • « apcu_add
  • apcu_cas »
  • PHP Manual
  • APCu Funções
  • Retrieves cached information from APCu's data store

apcu_cache_info

(PECL apcu >= 4.0.0)

apcu_cache_info — Retrieves cached information from APCu's data store

Descrição

apcu_cache_info ( bool $limited = false ) : array|false

Retrieves cached information and meta-data from APC's data store.

Parâmetros

limited

If limited is true, the return value will exclude the individual list of cache entries. This is useful when trying to optimize calls for statistics gathering.

Valor Retornado

Array of cached data (and meta-data) ou false em caso de falha

Nota: apcu_cache_info() will raise a warning if it is unable to retrieve APC cache data. This typically occurs when APC is not enabled.

Changelog

Versão | Descrição
PECL apcu 3.0.11 | The limited parameter was introduced.
PECL apcu 3.0.16 | The "filehits" option for the cache_type parameter was introduced.

Exemplos

Exemplo #1 A apcu_cache_info() example

<?php
print_r(apcu_cache_info());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [num_slots] => 2000
    [ttl] => 0
    [num_hits] => 9
    [num_misses] => 3
    [start_time] => 1123958803
    [cache_list] => Array
        (
            [0] => Array
                (
                    [filename] => /path/to/apcu_test.php
                    [device] => 29954
                    [inode] => 1130511
                    [type] => file
                    [num_hits] => 1
                    [mtime] => 1123960686
                    [creation_time] => 1123960696
                    [deletion_time] => 0
                    [access_time] => 1123962864
                    [ref_count] => 1
                    [mem_size] => 677
                )
            [1] => Array (...iterates for each cached file)
)

Veja Também

  • APCu configuration directives
  • APCUIterator::getTotalSize() - Get total cache size
  • APCUIterator::getTotalHits() - Get total cache hits
  • APCUIterator::getTotalCount() - Get total count


Updates an old value with a new value

  • « apcu_cache_info
  • apcu_clear_cache »
  • PHP Manual
  • APCu Funções
  • Updates an old value with a new value

apcu_cas

(PECL apcu >= 4.0.0)

apcu_cas — Updates an old value with a new value

Descrição

apcu_cas ( string $key , int $old , int $new ) : bool

apcu_cas() updates an already existing integer value if the old parameter matches the currently stored value with the value of the new parameter.

Parâmetros

key

The key of the value being updated.

old

The old value (the value currently stored).

new

The new value to update to.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 apcu_cas() example

<?php
apcu_store('foobar', 2);
echo '$foobar = 2', PHP_EOL;
echo '$foobar == 1 ? 2 : 1 = ', (apcu_cas('foobar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar == 2 ? 1 : 2 = ', (apcu_cas('foobar', 2, 1) ? 'ok' : 'fail'), PHP_EOL;

echo '$foobar = ', apcu_fetch('foobar'), PHP_EOL;

echo '$f__bar == 1 ? 2 : 1 = ', (apcu_cas('f__bar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;

apcu_store('perfection', 'xyz');
echo '$perfection == 2 ? 1 : 2 = ', (apcu_cas('perfection', 2, 1) ? 'ok' : 'epic fail'), PHP_EOL;

echo '$foobar = ', apcu_fetch('foobar'), PHP_EOL;
?>

O exemplo acima irá imprimir algo similar à:

$foobar = 2
$foobar == 1 ? 2 : 1 = fail
$foobar == 2 ? 1 : 2 = ok
$foobar = 1
$f__bar == 1 ? 2 : 1 = fail
$perfection == 2 ? 1 : 2 = epic fail
$foobar = 1

Veja Também

  • apcu_dec() - Decrease a stored number
  • apcu_store() - Cache a variable in the data store


Clears the APCu cache

  • « apcu_cas
  • apcu_dec »
  • PHP Manual
  • APCu Funções
  • Clears the APCu cache

apcu_clear_cache

(PECL apcu >= 4.0.0)

apcu_clear_cache — Clears the APCu cache

Descrição

apcu_clear_cache ( ) : bool

Clears the cache.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true always

Veja Também

  • apcu_cache_info() - Retrieves cached information from APCu's data store


Decrease a stored number

  • « apcu_clear_cache
  • apcu_delete »
  • PHP Manual
  • APCu Funções
  • Decrease a stored number

apcu_dec

(PECL apcu >= 4.0.0)

apcu_dec — Decrease a stored number

Descrição

apcu_dec ( string $key , int $step = 1 , bool &$success = ? , int $ttl = 0 ) : int|false

Decreases a stored integer value.

Parâmetros

key

The key of the value being decreased.

step

The step, or value to decrease.

success

Optionally pass the success or fail boolean value to this referenced variable.

ttl

TTL to use if the operation inserts a new value (rather than decrementing an existing one).

Valor Retornado

Returns the current value of key's value on success, ou false em caso de falha

Changelog

Versão | Descrição
5.1.12 | The ttl parameter has been added.

Exemplos

Exemplo #1 apcu_dec() example

<?php
echo "Let's do something with success", PHP_EOL;

apcu_store('anumber', 42);

echo apcu_fetch('anumber'), PHP_EOL;

echo apcu_dec('anumber'), PHP_EOL;
echo apcu_dec('anumber', 10), PHP_EOL;
echo apcu_dec('anumber', 10, $success), PHP_EOL;

var_dump($success);

echo "Now, let's fail", PHP_EOL, PHP_EOL;

apcu_store('astring', 'foo');

$ret = apcu_dec('astring', 1, $fail);

var_dump($ret);
var_dump($fail);
?>

O exemplo acima irá imprimir algo similar à:

Let's do something with success
42
41
31
21
bool(true)
Now, let's fail

bool(false)
bool(false)

Veja Também

  • apcu_inc() - Increase a stored number


Removes a stored variable from the cache

  • « apcu_dec
  • apcu_enabled »
  • PHP Manual
  • APCu Funções
  • Removes a stored variable from the cache

apcu_delete

(PECL apcu >= 4.0.0)

apcu_delete — Removes a stored variable from the cache

Descrição

apcu_delete ( mixed $key ) : mixed

Removes a stored variable from the cache.

Parâmetros

key

A key used to store the value as a string for a single key, or as an array of strings for several keys, or as an APCUIterator object.

Valor Retornado

If key is an array, an indexed array of the keys is returned. Otherwise true is returned on success, or false on failure.

Exemplos

Exemplo #1 A apcu_delete() example

<?php
$bar = 'BAR';
apcu_store('foo', $bar);
apcu_delete('foo');
// this is obviously useless in this form

// Alternatively delete multiple keys.
apcu_delete(['foo', 'bar', 'baz']);

// Or use an Iterator with a regular expression.
apcu_delete(new APCUIterator('#^myprefix_#'));
?>

Veja Também

  • apcu_store() - Cache a variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_clear_cache() - Clears the APCu cache
  • APCUIterator


Whether APCu is usable in the current environment

  • « apcu_delete
  • apcu_entry »
  • PHP Manual
  • APCu Funções
  • Whether APCu is usable in the current environment

apcu_enabled

(PECL apcu >= 4.0.3)

apcu_enabled — Whether APCu is usable in the current environment

Descrição

apcu_enabled ( ) : bool

Returns whether APCu is usable in the current environment.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true when APCu is usable in the current environment, false otherwise.


Atomically fetch or generate a cache entry

  • « apcu_enabled
  • apcu_exists »
  • PHP Manual
  • APCu Funções
  • Atomically fetch or generate a cache entry

apcu_entry

(PECL apcu >= 5.1.0)

apcu_entry — Atomically fetch or generate a cache entry

Descrição

apcu_entry ( string $key , callable $generator , int $ttl = 0 ) : mixed

Atomically attempts to find key in the cache, if it cannot be found generator is called, passing key as the only argument. The return value of the call is then cached with the optionally specified ttl, and returned.

Nota: When control enters apcu_entry() the lock for the cache is acquired exclusively, it is released when control leaves apcu_entry(): In effect, this turns the body of generator into a critical section, disallowing two processes from executing the same code paths concurrently. In addition, it prohibits the concurrent execution of any other APCu functions, since they will acquire the same lock.

Aviso

The only APCu function that can be called safely by generator is apcu_entry().

Parâmetros

key

Identity of cache entry

generator

A callable that accepts key as the only argument and returns the value to cache.

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

Valor Retornado

Returns the cached value

Exemplos

Exemplo #1 An apcu_entry() example

<?php
$config = apcu_entry("config", function($key) {
 return [
   "fruit" => apcu_entry("config.fruit", function($key){
     return [
       "apples",
       "pears"
     ];
   }),
   "people" => apcu_entry("config.people", function($key){
     return [
      "bob",
      "joe",
      "niki"
     ];
   })
 ];
});

var_dump($config);
?>

O exemplo acima irá imprimir:

array(2) {
  ["fruit"]=>
  array(2) {
    [0]=>
    string(6) "apples"
    [1]=>
    string(5) "pears"
  }
  ["people"]=>
  array(3) {
    [0]=>
    string(3) "bob"
    [1]=>
    string(3) "joe"
    [2]=>
    string(4) "niki"
  }
}

Veja Também

  • apcu_store() - Cache a variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_delete() - Removes a stored variable from the cache


Checks if entry exists

  • « apcu_entry
  • apcu_fetch »
  • PHP Manual
  • APCu Funções
  • Checks if entry exists

apcu_exists

(PECL apcu >= 4.0.0)

apcu_exists — Checks if entry exists

Descrição

apcu_exists ( mixed $keys ) : mixed

Checks if one or more APCu entries exist.

Parâmetros

keys

A string, or an array of strings, that contain keys.

Valor Retornado

Returns true if the key exists, otherwise false Or if an array was passed to keys, then an array is returned that contains all existing keys, or an empty array if none exist.

Exemplos

Exemplo #1 apcu_exists() example

<?php
$fruit  = 'apple';
$veggie = 'carrot';

apcu_store('foo', $fruit);
apcu_store('bar', $veggie);

if (apcu_exists('foo')) {
    echo "Foo exists: ";
    echo apcu_fetch('foo');
} else {
    echo "Foo does not exist";
}

echo PHP_EOL;
if (apcu_exists('baz')) {
    echo "Baz exists.";
} else {
    echo "Baz does not exist";
}

echo PHP_EOL;

$ret = apcu_exists(array('foo', 'donotexist', 'bar'));
var_dump($ret);

?>

O exemplo acima irá imprimir algo similar à:

Foo exists: apple
Baz does not exist
array(2) {
  ["foo"]=>
  bool(true)
  ["bar"]=>
  bool(true)
}

Veja Também

  • apcu_cache_info() - Retrieves cached information from APCu's data store
  • apcu_fetch() - Fetch a stored variable from the cache


Fetch a stored variable from the cache

  • « apcu_exists
  • apcu_inc »
  • PHP Manual
  • APCu Funções
  • Fetch a stored variable from the cache

apcu_fetch

(PECL apcu >= 4.0.0)

apcu_fetch — Fetch a stored variable from the cache

Descrição

apcu_fetch ( mixed $key , bool &$success = ? ) : mixed

Fetches an entry from the cache.

Parâmetros

key

The key used to store the value (with apcu_store()). If an array is passed then each element is fetched and returned.

success

Set to true in success and false in failure.

Valor Retornado

The stored variable or array of variables on success; false on failure

Exemplos

Exemplo #1 A apcu_fetch() example

<?php
$bar = 'BAR';
apcu_store('foo', $bar);
var_dump(apcu_fetch('foo'));
?>

O exemplo acima irá imprimir:

string(3) "BAR"

Changelog

Versão | Descrição
PECL apcu 3.0.17 | The success parameter was added.

Veja Também

  • apcu_store() - Cache a variable in the data store
  • apcu_delete() - Removes a stored variable from the cache
  • APCUIterator


Increase a stored number

  • « apcu_fetch
  • apcu_key_info »
  • PHP Manual
  • APCu Funções
  • Increase a stored number

apcu_inc

(PECL apcu >= 4.0.0)

apcu_inc — Increase a stored number

Descrição

apcu_inc ( string $key , int $step = 1 , bool &$success = ? , int $ttl = 0 ) : int|false

Increases a stored number.

Parâmetros

key

The key of the value being increased.

step

The step, or value to increase.

success

Optionally pass the success or fail boolean value to this referenced variable.

ttl

TTL to use if the operation inserts a new value (rather than incrementing an existing one).

Valor Retornado

Returns the current value of key's value on success, ou false em caso de falha

Changelog

Versão | Descrição
5.1.12 | The ttl parameter has been added.

Exemplos

Exemplo #1 apcu_inc() example

<?php
echo "Let's do something with success", PHP_EOL;

apcu_store('anumber', 42);

echo apcu_fetch('anumber'), PHP_EOL;

echo apcu_inc('anumber'), PHP_EOL;
echo apcu_inc('anumber', 10), PHP_EOL;
echo apcu_inc('anumber', 10, $success), PHP_EOL;

var_dump($success);

echo "Now, let's fail", PHP_EOL, PHP_EOL;

apcu_store('astring', 'foo');

$ret = apcu_inc('astring', 1, $fail);

var_dump($ret);
var_dump($fail);
?>

O exemplo acima irá imprimir algo similar à:

Let's do something with success
42
43
53
63
bool(true)
Now, let's fail

bool(false)
bool(false)

Veja Também

  • apcu_dec() - Decrease a stored number


Get detailed information about the cache key

  • « apcu_inc
  • apcu_sma_info »
  • PHP Manual
  • APCu Funções
  • Get detailed information about the cache key

apcu_key_info

(Não há informação de versão disponível, talvez apenas no Git)

apcu_key_info — Get detailed information about the cache key

Descrição

apcu_key_info ( string $key ) : array

Get detailed information about the cache key

Parâmetros

key

Get detailed information about the cache key

Valor Retornado

null or array info

Exemplos

Exemplo #1 A apcu_key_info() example

<?php
apcu_add('a','b');
var_dump(apcu_key_info('a'));
?>

O exemplo acima irá imprimir:

array(7) {
  ["hits"]=>
  int(0)
  ["access_time"]=>
  int(1606701783)
  ["mtime"]=>
  int(1606701783)
  ["creation_time"]=>
  int(1606701783)
  ["deletion_time"]=>
  int(0)
  ["ttl"]=>
  int(0)
  ["refs"]=>
  int(0)
}

Veja Também

  • apcu_store() - Cache a variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_delete() - Removes a stored variable from the cache


Retrieves APCu Shared Memory Allocation information

  • « apcu_key_info
  • apcu_store »
  • PHP Manual
  • APCu Funções
  • Retrieves APCu Shared Memory Allocation information

apcu_sma_info

(PECL apcu >= 4.0.0)

apcu_sma_info — Retrieves APCu Shared Memory Allocation information

Descrição

apcu_sma_info ( bool $limited = false ) : array

Retrieves APCu Shared Memory Allocation information.

Parâmetros

limited

When set to false (default) apcu_sma_info() will return a detailed information about each segment.

Valor Retornado

Array of Shared Memory Allocation data; false on failure.

Exemplos

Exemplo #1 A apcu_sma_info() example

<?php
print_r(apcu_sma_info());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [num_seg] => 1
    [seg_size] => 31457280
    [avail_mem] => 31448408
    [block_lists] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [size] => 31448408
                            [offset] => 8864
                        )

                )

        )

)

Veja Também

  • APCu configuration directives


Cache a variable in the data store

  • « apcu_sma_info
  • APCUIterator »
  • PHP Manual
  • APCu Funções
  • Cache a variable in the data store

apcu_store

(PECL apcu >= 4.0.0)

apcu_store — Cache a variable in the data store

Descrição

apcu_store ( string $key , mixed $var , int $ttl = 0 ) : bool
apcu_store ( array $values , mixed $unused = NULL , int $ttl = 0 ) : array

Cache a variable in the data store.

Nota: Unlike many other mechanisms in PHP, variables stored using apcu_store() will persist between requests (until the value is removed from the cache).

Parâmetros

key

Store the variable using this name. keys are cache-unique, so storing a second value with the same key will overwrite the original value.

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

values

Names in key, variables in value.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Second syntax returns array with error keys.

Exemplos

Exemplo #1 A apcu_store() example

<?php
$bar = 'BAR';
apcu_store('foo', $bar);
var_dump(apcu_fetch('foo'));
?>

O exemplo acima irá imprimir:

string(3) "BAR"

Veja Também

  • apcu_add() - Cache a new variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_delete() - Removes a stored variable from the cache


The APCUIterator class

(PECL apcu >= 5.0.0)

Introdução

The APCUIterator class makes it easier to iterate over large APCu caches. This is helpful as it allows iterating over large caches in steps, while grabbing a defined number of entries per lock instance, so it frees the cache locks for other activities rather than hold up the entire cache to grab 100 (the default) entries. Also, using regular expression matching is more efficient as it's been moved to the C level.

Sinopse da classe

APCUIterator implements Iterator {
/* Methods */
public __construct ( mixed $search = null , int $format = APC_ITER_ALL , int $chunk_size = 100 , int $list = APC_LIST_ACTIVE )
public current ( ) : mixed
public getTotalCount ( ) : int
public getTotalHits ( ) : int
public getTotalSize ( ) : int
public key ( ) : string
public next ( ) : bool
public rewind ( ) : void
public valid ( ) : bool
}

Índice

  • APCUIterator::__construct — Constructs an APCUIterator iterator object
  • APCUIterator::current — Get current item
  • APCUIterator::getTotalCount — Get total count
  • APCUIterator::getTotalHits — Get total cache hits
  • APCUIterator::getTotalSize — Get total cache size
  • APCUIterator::key — Get iterator key
  • APCUIterator::next — Move pointer to next item
  • APCUIterator::rewind — Rewinds iterator
  • APCUIterator::valid — Checks if current position is valid


Constructs an APCUIterator iterator object

  • « APCUIterator
  • APCUIterator::current »
  • PHP Manual
  • APCUIterator
  • Constructs an APCUIterator iterator object

APCUIterator::__construct

(PECL apcu >= 5.0.0)

APCUIterator::__construct — Constructs an APCUIterator iterator object

Descrição

public APCUIterator::__construct ( mixed $search = null , int $format = APC_ITER_ALL , int $chunk_size = 100 , int $list = APC_LIST_ACTIVE )

Constructs an APCUIterator object.

Parâmetros

search

A PCRE regular expression that matches against APCu key names, either as a string for a single regular expression, or as an array of regular expressions. Or, optionally pass in null to skip the search.

format

The desired format, as configured with one or more of the APC_ITER_* constants.

chunk_size

The chunk size. Must be a value greater than 0. The default value is 100.

list

The type to list. Either pass in APC_LIST_ACTIVE or APC_LIST_DELETED.

Valor Retornado

An APCUIterator object on success, or null on failure.

Exemplos

Exemplo #1 A APCUIterator::__construct() example

<?php
foreach (new APCUIterator('/^counter\./') as $counter) {
    echo "$counter[key]: $counter[value]\n";
    apc_dec($counter['key'], $counter['value']);
}
?>

Veja Também

  • apcu_exists() - Checks if entry exists
  • apcu_cache_info() - Retrieves cached information from APCu's data store


Get current item

  • « APCUIterator::__construct
  • APCUIterator::getTotalCount »
  • PHP Manual
  • APCUIterator
  • Get current item

APCUIterator::current

(PECL apcu >= 5.0.0)

APCUIterator::current — Get current item

Descrição

public APCUIterator::current ( ) : mixed

Gets the current item from the APCUIterator stack.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current item on success, or false if no more items or exist, or on failure.

Veja Também

  • APCUIterator::next() - Move pointer to next item
  • Iterator::current() - Return the current element


Get total count

  • « APCUIterator::current
  • APCUIterator::getTotalHits »
  • PHP Manual
  • APCUIterator
  • Get total count

APCUIterator::getTotalCount

(PECL apcu >= 5.0.0)

APCUIterator::getTotalCount — Get total count

Descrição

public APCUIterator::getTotalCount ( ) : int

Get the total count.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The total count.

Veja Também

  • APCUIterator::getTotalHits() - Get total cache hits
  • APCUIterator::getTotalSize() - Get total cache size
  • apcu_cache_info() - Retrieves cached information from APCu's data store


Get total cache hits

  • « APCUIterator::getTotalCount
  • APCUIterator::getTotalSize »
  • PHP Manual
  • APCUIterator
  • Get total cache hits

APCUIterator::getTotalHits

(PECL apcu >= 5.0.0)

APCUIterator::getTotalHits — Get total cache hits

Descrição

public APCUIterator::getTotalHits ( ) : int

Gets the total number of cache hits.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of hits on success, or false on failure.

Veja Também

  • APCUIterator::getTotalCount() - Get total count
  • APCUIterator::getTotalSize() - Get total cache size
  • apcu_cache_info() - Retrieves cached information from APCu's data store


Get total cache size

  • « APCUIterator::getTotalHits
  • APCUIterator::key »
  • PHP Manual
  • APCUIterator
  • Get total cache size

APCUIterator::getTotalSize

(PECL apcu >= 5.0.0)

APCUIterator::getTotalSize — Get total cache size

Descrição

public APCUIterator::getTotalSize ( ) : int

Gets the total cache size.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The total cache size.

Veja Também

  • APCUIterator::getTotalCount() - Get total count
  • APCUIterator::getTotalHits() - Get total cache hits
  • apc_cache_info()


Get iterator key

  • « APCUIterator::getTotalSize
  • APCUIterator::next »
  • PHP Manual
  • APCUIterator
  • Get iterator key

APCUIterator::key

(PECL apcu >= 5.0.0)

APCUIterator::key — Get iterator key

Descrição

public APCUIterator::key ( ) : string

Gets the current iterator key.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the key on success, or false upon failure.

Veja Também

  • APCUIterator::current() - Get current item
  • Iterator::key() - Return the key of the current element


Move pointer to next item

  • « APCUIterator::key
  • APCUIterator::rewind »
  • PHP Manual
  • APCUIterator
  • Move pointer to next item

APCUIterator::next

(PECL apcu >= 5.0.0)

APCUIterator::next — Move pointer to next item

Descrição

public APCUIterator::next ( ) : bool

Moves the iterator pointer to the next element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • APCUIterator::current() - Get current item
  • APCUIterator::rewind() - Rewinds iterator
  • Iterator::next() - Move forward to next element


Rewinds iterator

  • « APCUIterator::next
  • APCUIterator::valid »
  • PHP Manual
  • APCUIterator
  • Rewinds iterator

APCUIterator::rewind

(PECL apcu >= 5.0.0)

APCUIterator::rewind — Rewinds iterator

Descrição

public APCUIterator::rewind ( ) : void

Rewinds back the iterator to the first element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • APCUIterator::next() - Move pointer to next item
  • Iterator::next() - Move forward to next element


Checks if current position is valid

  • « APCUIterator::rewind
  • Componere »
  • PHP Manual
  • APCUIterator
  • Checks if current position is valid

APCUIterator::valid

(PECL apcu >= 5.0.0)

APCUIterator::valid — Checks if current position is valid

Descrição

public APCUIterator::valid ( ) : bool

Checks if the current iterator position is valid.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the current iterator position is valid, otherwise false.

Veja Também

  • APCUIterator::current() - Get current item
  • Iterator::valid() - Checks if current position is valid


Componere

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
  • Componere\Abstract\Definition — The Componere\Abstract\Definition class
    • Componere\Abstract\Definition::addInterface — Add Interface
    • Componere\Abstract\Definition::addMethod — Add Method
    • Componere\Abstract\Definition::addTrait — Add Trait
    • Componere\Abstract\Definition::getReflector — Reflection
  • Componere\Definition — The Componere\Definition class
    • Componere\Definition::__construct — Definition Construction
    • Componere\Definition::addConstant — Add Constant
    • Componere\Definition::addProperty — Add Property
    • Componere\Definition::register — Registration
    • Componere\Definition::isRegistered — State Detection
    • Componere\Definition::getClosure — Get Closure
    • Componere\Definition::getClosures — Get Closures
  • Componere\Patch — The Componere\Patch class
    • Componere\Patch::__construct — Patch Construction
    • Componere\Patch::apply — Application
    • Componere\Patch::revert — Reversal
    • Componere\Patch::isApplied — State Detection
    • Componere\Patch::derive — Patch Derivation
    • Componere\Patch::getClosure — Get Closure
    • Componere\Patch::getClosures — Get Closures
  • Componere\Method — The Componere\Method class
    • Componere\Method::__construct — Method Construction
    • Componere\Method::setPrivate — Accessibility Modification
    • Componere\Method::setProtected — Accessibility Modification
    • Componere\Method::setStatic — Accessibility Modification
    • Componere\Method::getReflector — Reflection
  • Componere\Value — The Componere\Value class
    • Componere\Value::__construct — Value Construction
    • Componere\Value::setPrivate — Accessibility Modification
    • Componere\Value::setProtected — Accessibility Modification
    • Componere\Value::setStatic — Accessibility Modification
    • Componere\Value::isPrivate — Accessibility Detection
    • Componere\Value::isProtected — Accessibility Detection
    • Componere\Value::isStatic — Accessibility Detection
    • Componere\Value::hasDefault — Value Interaction
  • Componere Funções
    • Componere\cast — Casting
    • Componere\cast_by_ref — Casting


Introdução

Componere (latin, English: compose) targets production environments and provides an API for composition of classes, monkey patching, and casting.

Composition:

Componere\Definition is used to define (or redefine) a class at runtime; The class can then be registered, and in the case of redefinition it replaces the original class for as long as the Componere\Definition exists.

public Componere\Definition::__construct ( string $name )
public Componere\Definition::__construct ( string $name , string $parent )
public Componere\Definition::__construct ( string $name , array $interfaces )
public Componere\Definition::__construct ( string $name , string $parent , array $interfaces )

Patching:

Componere\Patch is used to change the class of a specific instance of an object at runtime; Upon application the patch will remain applied for as long as the Componere\Patch exists, and can be reverted explicitly.

public Componere\Patch::__construct ( object $instance )
public Componere\Patch::__construct ( object $instance , array $interfaces )

Casting:

Componere\ casting functions can cast among user defined compatible types; Where compatible means Type is sub or super to the type of object.

Componere\cast ( Type $type , $object ) : Type
Componere\cast_by_ref ( Type $type , $object ) : Type


  • « Introdução
  • Dependências »
  • PHP Manual
  • Componere
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

Reflection is required


  • « Dependências
  • Componere\Abstract\Definition »
  • PHP Manual
  • Instalação/Configuração
  • Instalação

Instalação

Componere source and releases are available on » github


The Componere\Abstract\Definition class

(Componere 2 >= 2.1.0)

Introdução

This final abstract represents a class entry, and should not be used by the programmer.

Sinopse da classe

final abstract Componere\Abstract\Definition {
/* Métodos */
public addInterface ( string $interface ) : Definition
public addMethod ( string $name , Componere\Method $method ) : Definition
public addTrait ( string $trait ) : Definition
public getReflector ( ) : ReflectionClass
}

Índice

  • Componere\Abstract\Definition::addInterface — Add Interface
  • Componere\Abstract\Definition::addMethod — Add Method
  • Componere\Abstract\Definition::addTrait — Add Trait
  • Componere\Abstract\Definition::getReflector — Reflection


Add Interface

  • « Componere\Abstract\Definition
  • Componere\Abstract\Definition::addMethod »
  • PHP Manual
  • Componere\Abstract\Definition
  • Add Interface

Componere\Abstract\Definition::addInterface

(Componere 2 >= 2.1.0)

Componere\Abstract\Definition::addInterface — Add Interface

Descrição

public Componere\Abstract\Definition::addInterface ( string $interface ) : Definition

Shall implement the given interface on the current definition

Parâmetros

interface

The case insensitive name of an interface

Valor Retornado

The current Definition

Exceptions

Aviso

Shall throw RuntimeException if Definition was registered


Add Method

  • « Componere\Abstract\Definition::addInterface
  • Componere\Abstract\Definition::addTrait »
  • PHP Manual
  • Componere\Abstract\Definition
  • Add Method

Componere\Abstract\Definition::addMethod

(Componere 2 >= 2.1.0)

Componere\Abstract\Definition::addMethod — Add Method

Descrição

public Componere\Abstract\Definition::addMethod ( string $name , Componere\Method $method ) : Definition

Shall create or override a method on the current definition.

Parâmetros

name

The case insensitive name for method

method

Componere\Method not previously added to another Definition

Valor Retornado

The current Definition

Exceptions

Aviso

Shall throw RuntimeException if Definition was registered

Aviso

Shall throw RuntimeException if Method was added to another Definition


Add Trait

  • « Componere\Abstract\Definition::addMethod
  • Componere\Abstract\Definition::getReflector »
  • PHP Manual
  • Componere\Abstract\Definition
  • Add Trait

Componere\Abstract\Definition::addTrait

(Componere 2 >= 2.1.0)

Componere\Abstract\Definition::addTrait — Add Trait

Descrição

public Componere\Abstract\Definition::addTrait ( string $trait ) : Definition

Shall use the given trait for the current definition

Parâmetros

trait

The case insensitive name of a trait

Valor Retornado

The current Definition

Exceptions

Aviso

Shall throw RuntimeException if Definition was registered


Reflection

  • « Componere\Abstract\Definition::addTrait
  • Componere\Definition »
  • PHP Manual
  • Componere\Abstract\Definition
  • Reflection

Componere\Abstract\Definition::getReflector

(Componere 2 >= 2.1.0)

Componere\Abstract\Definition::getReflector — Reflection

Descrição

public Componere\Abstract\Definition::getReflector ( ) : ReflectionClass

Shall create or return a ReflectionClass

Valor Retornado

A ReflectionClass for the current definition (cached)


The Componere\Definition class

(Componere 2 >= 2.1.0)

Introdução

The Definition class allows the programmer to build and register a type at runtime.

Should a Definition replace an existing class, the existing class will be restored when the Definition is destroyed.

Sinopse da classe

final Componere\Definition extends Componere\Abstract\Definition {
/* Constructors */
public __construct ( string $name )
public __construct ( string $name , string $parent )
public __construct ( string $name , array $interfaces )
public __construct ( string $name , string $parent , array $interfaces )
/* Métodos */
public addConstant ( string $name , Componere\Value $value ) : Definition
public addProperty ( string $name , Componere\Value $value ) : Definition
public register ( ) : void
public isRegistered ( ) : bool
public getClosure ( string $name ) : Closure
public getClosures ( ) : array
/* Métodos herdados */
public Componere\Abstract\Definition::addInterface ( string $interface ) : Definition
public Componere\Abstract\Definition::addMethod ( string $name , Componere\Method $method ) : Definition
public Componere\Abstract\Definition::addTrait ( string $trait ) : Definition
public Componere\Abstract\Definition::getReflector ( ) : ReflectionClass
}

Índice

  • Componere\Definition::__construct — Definition Construction
  • Componere\Definition::addConstant — Add Constant
  • Componere\Definition::addProperty — Add Property
  • Componere\Definition::register — Registration
  • Componere\Definition::isRegistered — State Detection
  • Componere\Definition::getClosure — Get Closure
  • Componere\Definition::getClosures — Get Closures


Definition Construction

  • « Componere\Definition
  • Componere\Definition::addConstant »
  • PHP Manual
  • Componere\Definition
  • Definition Construction

Componere\Definition::__construct

(Componere 2 >= 2.1.0)

Componere\Definition::__construct — Definition Construction

Descrição

public Componere\Definition::__construct ( string $name )
public Componere\Definition::__construct ( string $name , string $parent )
public Componere\Definition::__construct ( string $name , array $interfaces )
public Componere\Definition::__construct ( string $name , string $parent , array $interfaces )

Parâmetros

name

A case insensitive class name

parent

A case insensitive class name

interfaces

An array of case insensitive class names

Exceptions

Aviso

Shall throw InvalidArgumentException if an attempt is made to replace an internal class

Aviso

Shall throw InvalidArgumentException if an attempt is made to replace an interface

Aviso

Shall throw InvalidArgumentException if an attempt is made to replace a trait

Aviso

Shall throw RuntimeException if a class in interfaces cannot be found

Aviso

Shall throw RuntimeException if an class in interfaces is not an interface


Add Constant

  • « Componere\Definition::__construct
  • Componere\Definition::addProperty »
  • PHP Manual
  • Componere\Definition
  • Add Constant

Componere\Definition::addConstant

(Componere 2 >= 2.1.0)

Componere\Definition::addConstant — Add Constant

Descrição

public Componere\Definition::addConstant ( string $name , Componere\Value $value ) : Definition

Shall declare a class constant on the current Definition

Parâmetros

name

The case sensitive name for the constant

value

The Value for the constant, must not be undefined or static

Valor Retornado

The current Definition

Exceptions

Aviso

Shall throw RuntimeException if Definition was registered

Aviso

Shall throw RuntimeException if name is already declared as a constant

Aviso

Shall throw RuntimeException if value is static

Aviso

Shall throw RuntimeException if value is undefined


Add Property

  • « Componere\Definition::addConstant
  • Componere\Definition::register »
  • PHP Manual
  • Componere\Definition
  • Add Property

Componere\Definition::addProperty

(Componere 2 >= 2.1.0)

Componere\Definition::addProperty — Add Property

Descrição

public Componere\Definition::addProperty ( string $name , Componere\Value $value ) : Definition

Shall declare a class property on the current Definition

Parâmetros

name

The case sensitive name for the property

value

The default Value for the property

Valor Retornado

The current Definition

Exceptions

Aviso

Shall throw RuntimeException if Definition was registered

Aviso

Shall throw RuntimeException if name is already declared as a property


Registration

  • « Componere\Definition::addProperty
  • Componere\Definition::isRegistered »
  • PHP Manual
  • Componere\Definition
  • Registration

Componere\Definition::register

(Componere 2 >= 2.1.0)

Componere\Definition::register — Registration

Descrição

public Componere\Definition::register ( ) : void

Shall register the current Definition

Exceptions

Aviso

Shall throw RuntimeException if Definition was registered


State Detection

  • « Componere\Definition::register
  • Componere\Definition::getClosure »
  • PHP Manual
  • Componere\Definition
  • State Detection

Componere\Definition::isRegistered

(Componere 2 >= 2.1.0)

Componere\Definition::isRegistered — State Detection

Descrição

public Componere\Definition::isRegistered ( ) : bool

Shall detect the registration state of this Definition

Valor Retornado

Shall return true if this Definition is registered


Get Closure

  • « Componere\Definition::isRegistered
  • Componere\Definition::getClosures »
  • PHP Manual
  • Componere\Definition
  • Get Closure

Componere\Definition::getClosure

(Componere 2 >= 2.1.0)

Componere\Definition::getClosure — Get Closure

Descrição

public Componere\Definition::getClosure ( string $name ) : Closure

Shall return a Closure for the method specified by name

Parâmetros

name

The case insensitive name of the method

Valor Retornado

A Closure bound to the correct scope

Exceptions

Aviso

Shall throw RuntimeException if Definition was registered

Aviso

Shall throw RuntimeException if name could not be found


Get Closures

  • « Componere\Definition::getClosure
  • Componere\Patch »
  • PHP Manual
  • Componere\Definition
  • Get Closures

Componere\Definition::getClosures

(Componere 2 >= 2.1.0)

Componere\Definition::getClosures — Get Closures

Descrição

public Componere\Definition::getClosures ( ) : array

Shall return an array of Closures

Valor Retornado

Shall return all methods as an array of Closure objects bound to the correct scope

Exceptions

Aviso

Shall throw RuntimeException if Definition was registered


The Componere\Patch class

(Componere 2 >= 2.1.0)

Introdução

The Patch class allows the programmer to change the type of an instance at runtime without registering a new Definition

When a Patch is destroyed it is reverted, so that instances that were patched during the lifetime of the Patch are restored to their formal type.

Sinopse da classe

final Componere\Patch extends Componere\Abstract\Definition {
/* Constructors */
public __construct ( object $instance )
public __construct ( object $instance , array $interfaces )
/* Métodos */
public apply ( ) : void
public revert ( ) : void
public isApplied ( ) : bool
public derive ( object $instance ) : Patch
public getClosure ( string $name ) : Closure
public getClosures ( ) : array
/* Métodos herdados */
public Componere\Abstract\Definition::addInterface ( string $interface ) : Definition
public Componere\Abstract\Definition::addMethod ( string $name , Componere\Method $method ) : Definition
public Componere\Abstract\Definition::addTrait ( string $trait ) : Definition
public Componere\Abstract\Definition::getReflector ( ) : ReflectionClass
}

Índice

  • Componere\Patch::__construct — Patch Construction
  • Componere\Patch::apply — Application
  • Componere\Patch::revert — Reversal
  • Componere\Patch::isApplied — State Detection
  • Componere\Patch::derive — Patch Derivation
  • Componere\Patch::getClosure — Get Closure
  • Componere\Patch::getClosures — Get Closures


Patch Construction

  • « Componere\Patch
  • Componere\Patch::apply »
  • PHP Manual
  • Componere\Patch
  • Patch Construction

Componere\Patch::__construct

(Componere 2 >= 2.1.0)

Componere\Patch::__construct — Patch Construction

Descrição

public Componere\Patch::__construct ( object $instance )
public Componere\Patch::__construct ( object $instance , array $interfaces )

Parâmetros

instance

The target for this Patch

interfaces

A case insensitive array of class names

Exceptions

Aviso

Shall throw RuntimeException if a class in interfaces cannot be found

Aviso

Shall throw RuntimeException if an class in interfaces is not an interface


Application

  • « Componere\Patch::__construct
  • Componere\Patch::revert »
  • PHP Manual
  • Componere\Patch
  • Application

Componere\Patch::apply

(Componere 2 >= 2.1.0)

Componere\Patch::apply — Application

Descrição

public Componere\Patch::apply ( ) : void

Shall apply the current patch


Reversal

  • « Componere\Patch::apply
  • Componere\Patch::isApplied »
  • PHP Manual
  • Componere\Patch
  • Reversal

Componere\Patch::revert

(Componere 2 >= 2.1.0)

Componere\Patch::revert — Reversal

Descrição

public Componere\Patch::revert ( ) : void

Shall revert the current patch


State Detection

  • « Componere\Patch::revert
  • Componere\Patch::derive »
  • PHP Manual
  • Componere\Patch
  • State Detection

Componere\Patch::isApplied

(Componere 2 >= 2.1.0)

Componere\Patch::isApplied — State Detection

Descrição

public Componere\Patch::isApplied ( ) : bool


Patch Derivation

  • « Componere\Patch::isApplied
  • Componere\Patch::getClosure »
  • PHP Manual
  • Componere\Patch
  • Patch Derivation

Componere\Patch::derive

(Componere 2 >= 2.1.1)

Componere\Patch::derive — Patch Derivation

Descrição

public Componere\Patch::derive ( object $instance ) : Patch

Shall derive a Patch for the given instance

Parâmetros

instance

The target for the derived Patch

Valor Retornado

Patch for instance derived from the current Patch

Exceptions

Aviso

Shall throw InvalidArgumentException if instance is not compatible


Get Closure

  • « Componere\Patch::derive
  • Componere\Patch::getClosures »
  • PHP Manual
  • Componere\Patch
  • Get Closure

Componere\Patch::getClosure

(Componere 2 >= 2.1.0)

Componere\Patch::getClosure — Get Closure

Descrição

public Componere\Patch::getClosure ( string $name ) : Closure

Shall return a Closure for the method specified by name

Parâmetros

name

The case insensitive name of the method

Valor Retornado

A Closure bound to the correct scope and object

Exceptions

Aviso

Shall throw RuntimeException if name could not be found


Get Closures

  • « Componere\Patch::getClosure
  • Componere\Method »
  • PHP Manual
  • Componere\Patch
  • Get Closures

Componere\Patch::getClosures

(Componere 2 >= 2.1.0)

Componere\Patch::getClosures — Get Closures

Descrição

public Componere\Patch::getClosures ( ) : array

Shall return an array of Closures

Valor Retornado

Shall return all methods as an array of Closure objects bound to the correct scope and object


The Componere\Method class

(Componere 2 >= 2.1.0)

Introdução

A Method represents a function with modifiable accessibility flags

Sinopse da classe

final Componere\Method {
/* Constructor */
public __construct ( Closure $closure )
/* Métodos */
public setPrivate ( ) : Method
public setProtected ( ) : Method
public setStatic ( ) : Method
public getReflector ( ) : ReflectionMethod
}

Índice

  • Componere\Method::__construct — Method Construction
  • Componere\Method::setPrivate — Accessibility Modification
  • Componere\Method::setProtected — Accessibility Modification
  • Componere\Method::setStatic — Accessibility Modification
  • Componere\Method::getReflector — Reflection


Method Construction

  • « Componere\Method
  • Componere\Method::setPrivate »
  • PHP Manual
  • Componere\Method
  • Method Construction

Componere\Method::__construct

(Componere 2 >= 2.1.0)

Componere\Method::__construct — Method Construction

Descrição

public Componere\Method::__construct ( Closure $closure )

Parâmetros

closure


Accessibility Modification

  • « Componere\Method::__construct
  • Componere\Method::setProtected »
  • PHP Manual
  • Componere\Method
  • Accessibility Modification

Componere\Method::setPrivate

(Componere 2 >= 2.1.0)

Componere\Method::setPrivate — Accessibility Modification

Descrição

public Componere\Method::setPrivate ( ) : Method

Valor Retornado

The current Method

Exceptions

Aviso

Shall throw RuntimeException if access level was previously set


Accessibility Modification

  • « Componere\Method::setPrivate
  • Componere\Method::setStatic »
  • PHP Manual
  • Componere\Method
  • Accessibility Modification

Componere\Method::setProtected

(Componere 2 >= 2.1.0)

Componere\Method::setProtected — Accessibility Modification

Descrição

public Componere\Method::setProtected ( ) : Method

Valor Retornado

The current Method

Exceptions

Aviso

Shall throw RuntimeException if access level was previously set


Accessibility Modification

  • « Componere\Method::setProtected
  • Componere\Method::getReflector »
  • PHP Manual
  • Componere\Method
  • Accessibility Modification

Componere\Method::setStatic

(Componere 2 >= 2.1.0)

Componere\Method::setStatic — Accessibility Modification

Descrição

public Componere\Method::setStatic ( ) : Method

Valor Retornado

The current Method


Reflection

  • « Componere\Method::setStatic
  • Componere\Value »
  • PHP Manual
  • Componere\Method
  • Reflection

Componere\Method::getReflector

(Componere 2 >= 2.1.0)

Componere\Method::getReflector — Reflection

Descrição

public Componere\Method::getReflector ( ) : ReflectionMethod

Shall create or return a ReflectionMethod

Valor Retornado

A ReflectionMethod for the current method (cached)


The Componere\Value class

(Componere 2 >= 2.1.0)

Introdução

A Value represents a PHP variable of all types, including undefined

Sinopse da classe

final Componere\Value {
/* Constructor */
public __construct ( $default = ? )
/* Métodos */
public setPrivate ( ) : Value
public setProtected ( ) : Value
public setStatic ( ) : Value
public isPrivate ( ) : bool
public isProtected ( ) : bool
public isStatic ( ) : bool
public hasDefault ( ) : bool
}

Índice

  • Componere\Value::__construct — Value Construction
  • Componere\Value::setPrivate — Accessibility Modification
  • Componere\Value::setProtected — Accessibility Modification
  • Componere\Value::setStatic — Accessibility Modification
  • Componere\Value::isPrivate — Accessibility Detection
  • Componere\Value::isProtected — Accessibility Detection
  • Componere\Value::isStatic — Accessibility Detection
  • Componere\Value::hasDefault — Value Interaction


Value Construction

  • « Componere\Value
  • Componere\Value::setPrivate »
  • PHP Manual
  • Componere\Value
  • Value Construction

Componere\Value::__construct

(Componere 2 >= 2.1.0)

Componere\Value::__construct — Value Construction

Descrição

public Componere\Value::__construct ( $default = ? )

Parâmetros

default

Exceptions

Aviso

Shall throw InvalidArgumentException if default does not have a suitable value


Accessibility Modification

  • « Componere\Value::__construct
  • Componere\Value::setProtected »
  • PHP Manual
  • Componere\Value
  • Accessibility Modification

Componere\Value::setPrivate

(Componere 2 >= 2.1.0)

Componere\Value::setPrivate — Accessibility Modification

Descrição

public Componere\Value::setPrivate ( ) : Value

Valor Retornado

The current Value

Exceptions

Aviso

Shall throw RuntimeException if access level was previously set


Accessibility Modification

  • « Componere\Value::setPrivate
  • Componere\Value::setStatic »
  • PHP Manual
  • Componere\Value
  • Accessibility Modification

Componere\Value::setProtected

(Componere 2 >= 2.1.0)

Componere\Value::setProtected — Accessibility Modification

Descrição

public Componere\Value::setProtected ( ) : Value

Valor Retornado

The current Value

Exceptions

Aviso

Shall throw RuntimeException if access level was previously set


Accessibility Modification

  • « Componere\Value::setProtected
  • Componere\Value::isPrivate »
  • PHP Manual
  • Componere\Value
  • Accessibility Modification

Componere\Value::setStatic

(Componere 2 >= 2.1.0)

Componere\Value::setStatic — Accessibility Modification

Descrição

public Componere\Value::setStatic ( ) : Value

Valor Retornado

The current Value


Accessibility Detection

  • « Componere\Value::setStatic
  • Componere\Value::isProtected »
  • PHP Manual
  • Componere\Value
  • Accessibility Detection

Componere\Value::isPrivate

(Componere 2 >= 2.1.0)

Componere\Value::isPrivate — Accessibility Detection

Descrição

public Componere\Value::isPrivate ( ) : bool


Accessibility Detection

  • « Componere\Value::isPrivate
  • Componere\Value::isStatic »
  • PHP Manual
  • Componere\Value
  • Accessibility Detection

Componere\Value::isProtected

(Componere 2 >= 2.1.0)

Componere\Value::isProtected — Accessibility Detection

Descrição

public Componere\Value::isProtected ( ) : bool


Accessibility Detection

  • « Componere\Value::isProtected
  • Componere\Value::hasDefault »
  • PHP Manual
  • Componere\Value
  • Accessibility Detection

Componere\Value::isStatic

(Componere 2 >= 2.1.0)

Componere\Value::isStatic — Accessibility Detection

Descrição

public Componere\Value::isStatic ( ) : bool


Value Interaction

  • « Componere\Value::isStatic
  • Componere Funções »
  • PHP Manual
  • Componere\Value
  • Value Interaction

Componere\Value::hasDefault

(Componere 2 >= 2.1.0)

Componere\Value::hasDefault — Value Interaction

Descrição

public Componere\Value::hasDefault ( ) : bool


  • « Componere\Value::hasDefault
  • Componere\cast »
  • PHP Manual
  • Componere
  • Componere Funções

Componere Funções

Índice

  • Componere\cast — Casting
  • Componere\cast_by_ref — Casting


Casting

  • « Componere Funções
  • Componere\cast_by_ref »
  • PHP Manual
  • Componere Funções
  • Casting

Componere\cast

(Componere 2 >= 2.1.2)

Componere\cast — Casting

Descrição

Componere\cast ( Type $type , $object ) : Type

Parâmetros

type

A user defined type

object

An object with a user defined type compatible with Type

Valor Retornado

An object of type Type, cast from object

Exceptions

Aviso

Shall throw InvalidArgumentException if the type of object is or is derived from an internal class

Aviso

Shall throw InvalidArgumentException if Type is an interface

Aviso

Shall throw InvalidArgumentException if Type is a trait

Aviso

Shall throw InvalidArgumentException if Type is an abstract

Aviso

Shall throw InvalidArgumentException if Type is not compatible with the type of object

Veja Também

  • Componere\cast_by_ref


Casting

  • « Componere\cast
  • Manuseamento de Erro »
  • PHP Manual
  • Componere Funções
  • Casting

Componere\cast_by_ref

(Componere 2 >= 2.1.2)

Componere\cast_by_ref — Casting

Descrição

Componere\cast_by_ref ( Type $type , $object ) : Type

Parâmetros

type

A user defined type

object

An object with a user defined type compatible with Type

Valor Retornado

An object of type Type, cast from object, where members are references to object members

Exceptions

Aviso

Shall throw InvalidArgumentException if the type of object is or is derived from an internal class

Aviso

Shall throw InvalidArgumentException if Type is an interface

Aviso

Shall throw InvalidArgumentException if Type is a trait

Aviso

Shall throw InvalidArgumentException if Type is an abstract

Aviso

Shall throw InvalidArgumentException if Type is not compatible with the type of object

Veja Também

  • Componere\cast


Erros e Logs

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Funções para Manuseamento de Erros
    • debug_backtrace — Generates a backtrace
    • debug_print_backtrace — Mostra um backtrace
    • error_clear_last — Clear the most recent error
    • error_get_last — Obtém o último erro ocorrido
    • error_log — Envia uma mensagem de erro para as rotinas definidas para gerenciamento de erros
    • error_reporting — Define quais erros serão reportados
    • restore_error_handler — Restaura a função anterior para gerenciamento de erro
    • restore_exception_handler — Restauda a função tratadora de exceções anterior.
    • set_error_handler — Define uma função do usuário para manipular erros
    • set_exception_handler — Define uma função definida pelo usuário para tratamento de exceções
    • trigger_error — Gera uma mensagem a nível de usuário de erro/aviso/notícia
    • user_error — Apelido para trigger_error


Introdução

Estas são funções para lidar com erros e logs. Elas permitem a você definir a suas próprias regras para manusear erros, assim como para modificar a maneira com que é efetuado o log de erros. Isto permite a você melhorar e adaptar as suas necessidades os avisos de erro.

Com as funções de log, você pode mandar mensagens diretamente para outras máquinas, para um email (ou email para um pager), para os logs do sistema, etc, assim você pode seletivamente logar e monitorar as partes mais importantes das suas aplicações e websites.

As funções de erro permitem você configurar quais níveis de erro devem ser reportados e o tipo de resposta que será dado, indo desde simples avisos até as funções retornadas durante os erros.


  • « Dependências
  • Configurações em Execução »
  • PHP Manual
  • Instalação/Configuração
  • Instalação

Instalação

Esta extensão não necessita de instalação. Suas funções são parte do núcleo do PHP.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de Configuração de Erros e de Logs
Nome | Padrão | Modificável | Changelog
error_reporting | NULL | PHP_INI_ALL |
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL |
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | Disponível a partir do PHP 4.3.0.
ignore_repeated_errors | "0" | PHP_INI_ALL | Disponível a partir do PHP 4.3.0.
ignore_repeated_source | "0" | PHP_INI_ALL | Disponível a partir do PHP 4.3.0.
report_memleaks | "1" | PHP_INI_ALL | Disponível a partir do PHP 4.3.0.
track_errors | "0" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP <= 4.2.3.
xmlrpc_errors | "0" | PHP_INI_SYSTEM | Disponível a partir do PHP 4.1.0.
xmlrpc_error_number | "0" | PHP_INI_ALL | Disponível a partir do PHP 4.1.0.
docref_root | "" | PHP_INI_ALL | Disponível a partir do PHP 4.3.0.
docref_ext | "" | PHP_INI_ALL | Disponível a partir do PHP 4.3.2.
error_prepend_string | NULL | PHP_INI_ALL |
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
syslog.facility | "LOG_USER" | PHP_INI_SYSTEM | Disponível a partir do PHP 7.3.0.
syslog.filter | "no-ctrl" | PHP_INI_ALL | Disponível a partir do PHP 7.3.0.
syslog.ident | "php" | PHP_INI_SYSTEM | Disponível a partir do PHP 7.3.0.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

error_reporting integer

Define o nível de relatório de erros. O parâmetro é ou um inteiro representando um campo de bits ou constantes nomeadas. Os níveis e constantes de error_reporting são descritos em Constantes Pré-definidas e no arquivo php.ini. Para definir em tempo de execução, use a função error_reporting(). Veja também a diretiva display_errors.

A partir do PHP 5.3, o valor padrão é E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED. Esta configuração não mostra os níveis de erro E_NOTICE, E_STRICT e E_DEPRECATED. Você pode querer mostrá-los durante o desenvolvimento. Antes do PHP 5.3.0, o valor padrão é E_ALL & ~E_NOTICE & ~E_STRICT. No PHP 4, o valor padrão é E_ALL & ~E_NOTICE.

Nota:

Habilitar o E_NOTICE durante o desenvolvimento traz alguns benefícios. Para fins de depuração: as mensagens NOTICE irão avisá-lo sobre possíveis erros em seu código. Por exemplo, o uso de valores não atribuídos é avisado. É extremamente útil para encontrar erros de digitação e para economizar tempo de depuração. As mensagens NOTICE irão avisá-lo sobre estilo ruim. Por exemplo, $arr[item] é melhor ser escrito como $arr['item'] já que o PHP tenta tratar "item" como constante. Se não for uma constante, o PHP assume que é uma string para o índice do array.

Nota:

No PHP 5, um novo nível de erro E_STRICT está disponível. Antes do PHP 5.4.0, E_STRICT não estava incluído no E_ALL, portanto, você teria que habilitar explicitamente esse tipo de nível de erro no PHP < 5.4.0. Habilitar o E_STRICT durante o desenvolvimento traz alguns benefícios. As mensagens STRICT fornecem sugestões que podem ajudar a garantir a melhor interoperabilidade e compatibilidade futura do seu código. Essas mensagens podem incluir coisas como chamar estaticamente métodos não-estáticos, definir propriedades em uma definição de classe compatível enquanto estiver definido em um trait usado e, antes do PHP 5.3, alguns recursos descontinuados emitiriam erros E_STRICT, como atribuir objetos por referência na instanciação.

Nota: Constantes do PHP fora do PHP

Usar constantes do PHP fora do PHP, como no httpd.conf, não terão significado algum, portanto, nesses casos, os valores integer são necessários. E, como níveis de erro serão adicionados ao longo do tempo, o valor máximo (para E_ALL) provavelmente será alterado. Portanto, no lugar de E_ALL, considere usar um valor maior para cobrir todos os campos de bits tanto os de hoje como os do futuro, um valor numérico como 2147483647 (inclui todos os erros, não apenas E_ALL).

display_errors string

Isso determina se os erros devem ser impressos na tela como parte da saída ou se devem ser ocultados do usuário.

O valor "stderr" envia os erros para stderr em vez de stdout. O valor está disponível a partir do PHP 5.2.4. Em versões anteriores, essa diretiva era do tipo boolean.

Nota:

Este é um recurso para dar suporte ao seu desenvolvimento e nunca deve ser usado em sistemas de produção (por exemplo, sistemas conectados à internet).

Nota:

Embora display_errors possa ser configurado em tempo de execução (com ini_set()), ele não terá nenhum efeito se o script tiver erros fatais. Isso ocorre porque a ação em tempo de execução desejada não é executada.

display_startup_errors boolean

Mesmo quando display_errors está ativado, erros que ocorrem durante a sequência de inicialização do PHP não são exibidos. É altamente recomendável manter display_startup_errors desativado, exceto para depuração.

log_errors boolean

Informa se as mensagens de erro de script devem ser registradas no log de erros do servidor ou no error_log. Essa opção é, portanto, específica do servidor.

Nota:

É altamente recomendável usar o registro de erros em vez de exibir erros em sites de produção.

log_errors_max_len integer

Define o comprimento máximo de log_errors em bytes. Em error_log, informações sobre a fonte são adicionadas. O padrão é 1024 e 0 não aplica um comprimento máximo. Esse tamanho é aplicado a erros registrados, erros exibidos e também a $php_errormsg, mas não à funções chamadas explicitamente como error_log().

Quando um integer é utilizado, o valor é medido em bytes. A resumida notação, como descrito neste FAQ, pode também ser usada.
ignore_repeated_errors boolean

Não registrar mensagens repetidas. Erros repetidos devem ocorrer no mesmo arquivo e na mesma linha, a menos que ignore_repeated_source seja definido como verdadeiro.

ignore_repeated_source boolean

Ignora a fonte da mensagem quando estiver ignorando mensagens repetidas. Quando esta configuração estiver On, você não registrará erros com mensagens repetidas de arquivos ou linhas diferentes.

report_memleaks boolean

Se este parâmetro estiver definido como On (o padrão), este parâmetro mostrará um relatório de vazamentos de memória detectados pelo gerenciador de memória do Zend. Este relatório será enviado para stderr em plataformas Posix. No Windows, ele será enviado ao depurador usando o OutputDebugString() e poderá ser visualizado com ferramentas como o » DbgView. Este parâmetro só tem efeito em uma compilação de depuração, e se error_reporting incluir E_WARNING na lista de permitidos.

track_errors boolean

Se habilitado, a última mensagem de erro estará sempre presente na variável $php_errormsg.

html_errors boolean

Se ativado, as mensagens de erro incluirão tags HTML. O formato para erros de HTML produz mensagens clicáveis que direcionam o usuário para uma página descrevendo o erro ou a função que está causando o erro. Essas referências são afetadas por docref_root e docref_ext.

Se desativado, a mensagem de erro será apenas texto simples.

xmlrpc_errors boolean

Se ativado, desativa o relatório de erros normal e formata os erros como mensagem de erro XML-RPC.

xmlrpc_error_number integer

Usado como o valor do elemento faultCode do XML-RPC.

docref_root string

O novo formato de erro contém uma referência a uma página que descreve o erro ou a função que está causando o erro. No caso de páginas de manual, você pode baixar o manual em seu idioma e definir esta diretiva ini para a URL da sua cópia local. Se a sua cópia local do manual pode ser alcançada por "/manual/" você pode simplesmente usar docref_root=/manual/. Além disso, você precisa definir docref_ext para corresponder às extensões de arquivo de sua cópia docref_ext=.html. É possível usar referências externas. Por exemplo, você pode usar docref_root=http://manual/en/ ou docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F"

Na maioria das vezes, você quer que o valor docref_root termine com uma barra "/". Mas veja o segundo exemplo acima, que não tem nem precisa dela.

Nota:

Este é um recurso para dar suporte ao seu desenvolvimento, pois facilita a pesquisa da descrição de uma função. No entanto, nunca deve ser usado em sistemas de produção (por exemplo, sistemas conectados à internet).

docref_ext string

Veja docref_root.

Nota:

O valor de docref_ext deve começar com um ponto ".".

error_prepend_string string

String para mostrar antes de uma mensagem de erro.

error_append_string string

String para mostrar após uma mensagem de erro.

error_log string

Nome do arquivo onde os erros de script devem ser registrados. O arquivo deve ter permissão de escrita pelo usuário do servidor da web. Se o valor especial syslog for usado, os erros serão enviados ao registrador de erros do sistema. No Unix, isso significa syslog(3) e no Windows significa o log de eventos. Veja também: syslog(). Se esta diretiva não estiver definida, os erros serão enviados para o registrador de erros SAPI. Por exemplo, é um log de erros no Apache ou stderr no CLI. Veja também error_log().

syslog.facility string

Especifica qual tipo de programa está registrando a mensagem. Somente é efetivo se error_log estiver definido como "syslog".

syslog.filter string

Especifica o tipo de filtro para filtrar as mensagens registradas. Caracteres permitidos são passados sem modificações; todos os outros são escritos em sua representação hexadecimal prefixado com \x. Existem três tipos de filtros suportados:

  • all – todos os caracteres
  • no-ctrl – todos os caracteres, exceto os caracteres de controle
  • ascii – todos os caracteres ASCII imprimíveis e NL
Somente é efetivo se error_log estiver definido como "syslog".

syslog.ident string

Especifica a string ident que é anexada a todas as mensagens. Somente é efetivo se error_log estiver definido como "syslog".


Constantes pré-definidas

As constantes listadas abaixo estão sempre disponíveis como parte do núcleo do PHP.

Nota: Você pode usar estes nomes de constantes no php.ini mas não fora do PHP, como no httpd.conf, aonde você deve usar os valores.

Erros e Logs
Valor | Constante | Descrição | Nota
1 | E_ERROR (integer) | Erros fatais em tempo de execução. Estes indicam erros que não podem ser recuperados, como problemas de alocação de memória. A execução do script é interrompida. |
2 | E_WARNING (integer) | Avisos em tempo de execução (erros não fatais). A execução do script não é interrompida. |
4 | E_PARSE (integer) | Erro em tempo de compilação. Erros gerados pelo interpretador. |
8 | E_NOTICE (integer) | Notícia em tempo de execução. Indica que o script encontrou alguma coisa que pode indicar um erro, mas que também possa acontecer durante a execução normal do script. |
16 | E_CORE_ERROR (integer) | Erro fatal que acontece durante a inicialização do PHP. Este é parecido com E_ERROR, exceto que é gerado pelo núcleo do PHP. | desde o PHP 4
32 | E_CORE_WARNING (integer) | Avisos (erros não fatais) que aconteçam durante a inicialização do PHP. Este é parecido com E_WARNING, exceto que é gerado pelo núcleo do PHP. | desde o PHP 4
64 | E_COMPILE_ERROR (integer) | Erro fatal em tempo de compilação. Este é parecido com E_ERROR, exceto que é gerado pelo Zend Scripting Engine. | desde o PHP 4
128 | E_COMPILE_WARNING (integer) | Aviso em tempo de compilação. Este é parecido com E_WARNING, exceto que é geredo pelo Zend Scripting Engine. | desde o PHP 4
256 | E_USER_ERROR (integer) | Erro gerado pelo usuário. Este é parecido com E_ERROR, exceto que é gerado pelo código PHP usando a função trigger_error(). | desde o PHP 4
512 | E_USER_WARNING (integer) | Aviso gerado pelo usuário. Este é parecido com E_WARNING, exceto que é gerado pelo código PHP usando a função trigger_error(). | desde o PHP 4
1024 | E_USER_NOTICE (integer) | Notícia gerada pelo usuário. Este é parecido com E_NOTICE, exceto que é gerado pelo código PHP usando a função trigger_error(). | desde o PHP 4
2048 | E_STRICT (integer) | Notícias em tempo de execução. Permite ao PHP sugerir mudanças ao seu código as quais irão assegurar melhor interoperabilidade e compatibilidade futura do seu código. | desde o PHP 5
4096 | E_RECOVERABLE_ERROR (integer) | Erro fatal capturável. Indica que um erro provavelmente perigoso aconteceu, mas não deixou o Engine em um estado instável. Se o erro não for pego por uma manipulador definido pelo usuário (veja também set_error_handler()), a aplicação é abortada como se fosse um E_ERROR. | desde o PHP 5.2.0
8192 | E_DEPRECATED (integer) | Avisos em tempo de execução. Habilite-o para receber avisos sobre código que não funcionará em futuras versões. | desde o PHP 5.3.0
16384 | E_USER_DEPRECATED (integer) | Mensagem de aviso gerado pelo usuário. Este é como um E_DEPRECATED, exceto que é gerado em código PHP usando a função trigger_error(). | desde o PHP 5.3.0
30719 | E_ALL (integer) | Todos erros e avisos, como suportado, exceto de nível E_STRICT no PHP < 6. | 32767 no PHP 6, 30719 no PHP 5.3.x, 6143 no PHP 5.2.x, 2047 anteriormente

Os valores acima (numéricos ou simbolicos) são usados para criar um bitmask que especifica quais erros reportar.Você pode usar os operadores Bit-a-bit para combinar estes valores ou mascarar certos tipos de erro. Note que somente '|', '~', '!', '^' and '&' serão ententidos dentro do php.ini.


Exemplos

Abaixo você poderá ver um exemplo de como usar as capacidades de gerenciamento de erros no PHP. Nós definimos uma função para gerenciamento de erros a qual guardas as informações dentro de um arquivo (usando um formato XML), e envia um e-mail para o desenvolvador caso um erro crítico na lógica aconteça.

Exemplo #1 Usando gerenciamento de erro em um script

<?php
// we will do our own error handling
error_reporting(0);

// user defined error handling function
function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars)
{
    // timestamp for the error entry
    $dt = date("Y-m-d H:i:s (T)");

    // define an assoc array of error string
    // in reality the only entries we should
    // consider are E_WARNING, E_NOTICE, E_USER_ERROR,
    // E_USER_WARNING and E_USER_NOTICE
    $errortype = array (
                E_ERROR              => 'Error',
                E_WARNING            => 'Warning',
                E_PARSE              => 'Parsing Error',
                E_NOTICE             => 'Notice',
                E_CORE_ERROR         => 'Core Error',
                E_CORE_WARNING       => 'Core Warning',
                E_COMPILE_ERROR      => 'Compile Error',
                E_COMPILE_WARNING    => 'Compile Warning',
                E_USER_ERROR         => 'User Error',
                E_USER_WARNING       => 'User Warning',
                E_USER_NOTICE        => 'User Notice',
                E_STRICT             => 'Runtime Notice',
                E_RECOVERABLE_ERROR  => 'Catchable Fatal Error'
                );
    // set of errors for which a var trace will be saved
    $user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);

    $err = "<errorentry>\n";
    $err .= "\t<datetime>" . $dt . "</datetime>\n";
    $err .= "\t<errornum>" . $errno . "</errornum>\n";
    $err .= "\t<errortype>" . $errortype[$errno] . "</errortype>\n";
    $err .= "\t<errormsg>" . $errmsg . "</errormsg>\n";
    $err .= "\t<scriptname>" . $filename . "</scriptname>\n";
    $err .= "\t<scriptlinenum>" . $linenum . "</scriptlinenum>\n";

    if (in_array($errno, $user_errors)) {
        $err .= "\t<vartrace>" . wddx_serialize_value($vars, "Variables") . "</vartrace>\n";
    }
    $err .= "</errorentry>\n\n";

    // for testing
    // echo $err;

    // save to the error log, and e-mail me if there is a critical user error
    error_log($err, 3, "/usr/local/php4/error.log");
    if ($errno == E_USER_ERROR) {
        mail("phpdev@example.com", "Critical User Error", $err);
    }
}

function distance($vect1, $vect2)
{
    if (!is_array($vect1) || !is_array($vect2)) {
        trigger_error("Incorrect parameters, arrays expected", E_USER_ERROR);
        return NULL;
    }

    if (count($vect1) != count($vect2)) {
        trigger_error("Vectors need to be of the same size", E_USER_ERROR);
        return NULL;
    }

    for ($i=0; $i<count($vect1); $i++) {
        $c1 = $vect1[$i]; $c2 = $vect2[$i];
        $d = 0.0;
        if (!is_numeric($c1)) {
            trigger_error("Coordinate $i in vector 1 is not a number, using zero",
                            E_USER_WARNING);
            $c1 = 0.0;
        }
        if (!is_numeric($c2)) {
            trigger_error("Coordinate $i in vector 2 is not a number, using zero",
                            E_USER_WARNING);
            $c2 = 0.0;
        }
        $d += $c2*$c2 - $c1*$c1;
    }
    return sqrt($d);
}

$old_error_handler = set_error_handler("userErrorHandler");

// undefined constant, generates a warning
$t = I_AM_NOT_DEFINED;

// define some "vectors"
$a = array(2, 3, "foo");
$b = array(5.5, 4.3, -1.6);
$c = array(1, -3);

// generate a user error
$t1 = distance($c, $b) . "\n";

// generate another user error
$t2 = distance($b, "i am not an array") . "\n";

// generate a warning
$t3 = distance($a, $b) . "\n";

?>


Funções para Manuseamento de Erros

Veja Também

Veja também syslog().

Índice

  • debug_backtrace — Generates a backtrace
  • debug_print_backtrace — Mostra um backtrace
  • error_clear_last — Clear the most recent error
  • error_get_last — Obtém o último erro ocorrido
  • error_log — Envia uma mensagem de erro para as rotinas definidas para gerenciamento de erros
  • error_reporting — Define quais erros serão reportados
  • restore_error_handler — Restaura a função anterior para gerenciamento de erro
  • restore_exception_handler — Restauda a função tratadora de exceções anterior.
  • set_error_handler — Define uma função do usuário para manipular erros
  • set_exception_handler — Define uma função definida pelo usuário para tratamento de exceções
  • trigger_error — Gera uma mensagem a nível de usuário de erro/aviso/notícia
  • user_error — Apelido para trigger_error


Generates a backtrace

  • « Funções para Manuseamento de Erros
  • debug_print_backtrace »
  • PHP Manual
  • Funções para Manuseamento de Erros
  • Generates a backtrace

debug_backtrace

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

debug_backtrace — Generates a backtrace

Descrição

debug_backtrace ( int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT , int $limit = 0 ) : array

debug_backtrace() generates a PHP backtrace.

Parâmetros

options

As of 5.3.6, this parameter is a bitmask for the following options:

debug_backtrace() options
DEBUG_BACKTRACE_PROVIDE_OBJECT | Whether or not to populate the "object" index.
DEBUG_BACKTRACE_IGNORE_ARGS | Whether or not to omit the "args" index, and thus all the function/method arguments, to save memory.
Before 5.3.6, the only values recognized are true or false, which are the same as setting or not setting the DEBUG_BACKTRACE_PROVIDE_OBJECT option respectively.

limit

As of 5.4.0, this parameter can be used to limit the number of stack frames returned. By default (limit=0) it returns all stack frames.

Valor Retornado

Returns an array of associative arrays. The possible returned elements are as follows:

Possible returned elements from debug_backtrace()
Nome | Tipo | Descrição
function | string | The current function name. See also __FUNCTION__.
line | int | The current line number. See also __LINE__.
file | string | The current file name. See also __FILE__.
class | string | The current class name. See also __CLASS__
object | object | The current object.
type | string | The current call type. If a method call, "->" is returned. If a static method call, "::" is returned. If a function call, nothing is returned.
args | array | If inside a function, this lists the functions arguments. If inside an included file, this lists the included file name(s).

Exemplos

Exemplo #1 debug_backtrace() example

<?php
// filename: /tmp/a.php

function a_test($str)
{
    echo "\nHi: $str";
    var_dump(debug_backtrace());
}

a_test('friend');
?>

<?php
// filename: /tmp/b.php
include_once '/tmp/a.php';
?>

Results similar to the following when executing /tmp/b.php:

Hi: friend
array(2) {
[0]=>
array(4) {
    ["file"] => string(10) "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(6) "a_test"
    ["args"]=>
    array(1) {
      [0] => &string(6) "friend"
    }
}
[1]=>
array(4) {
    ["file"] => string(10) "/tmp/b.php"
    ["line"] => int(2)
    ["args"] =>
    array(1) {
      [0] => string(10) "/tmp/a.php"
    }
    ["function"] => string(12) "include_once"
  }
}

Veja Também

  • trigger_error() - Gera uma mensagem a nível de usuário de erro/aviso/notícia
  • debug_print_backtrace() - Mostra um backtrace


Mostra um backtrace

  • « debug_backtrace
  • error_clear_last »
  • PHP Manual
  • Funções para Manuseamento de Erros
  • Mostra um backtrace

debug_print_backtrace

(PHP 5, PHP 7, PHP 8)

debug_print_backtrace — Mostra um backtrace

Descrição

debug_print_backtrace ( ) : void

debug_print_backtrace() prints a PHP backtrace. It prints the function calls, included/required files and eval()ed stuff.

Parâmetros

This function has no parameters.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 debug_print_backtrace() example

<?php
// include.php file

function a() {
    b();
}

function b() {
    c();
}

function c(){
    debug_print_backtrace();
}

a();

?>
<?php
// test.php file
// this is the file you should run

include 'include.php';
?>

O exemplo acima irá imprimir algo similar à:

#0  eval() called at [/tmp/include.php:5]
#1  a() called at [/tmp/include.php:17]
#2  include(/tmp/include.php) called at [/tmp/test.php:3]

#0  c() called at [/tmp/include.php:10]
#1  b() called at [/tmp/include.php:6]
#2  a() called at [/tmp/include.php:17]
#3  include(/tmp/include.php) called at [/tmp/test.php:3]

Veja Também

  • debug_backtrace() - Generates a backtrace


Clear the most recent error

  • « debug_print_backtrace
  • error_get_last »
  • PHP Manual
  • Funções para Manuseamento de Erros
  • Clear the most recent error

error_clear_last

(PHP 7, PHP 8)

error_clear_last — Clear the most recent error

Descrição

error_clear_last ( ) : void

Valor Retornado

Clears the most recent errors, making it unable to be retrieved with error_get_last().

Exemplos

Exemplo #1 An error_clear_last() example

<?php
var_dump(error_get_last());
error_clear_last();
var_dump(error_get_last());

@$a = $b;

var_dump(error_get_last());
error_clear_last();
var_dump(error_get_last());
?>

O exemplo acima irá imprimir algo similar à:

NULL
NULL
array(4) {
  ["type"]=>
  int(8)
  ["message"]=>
  string(21) "Undefined variable: b"
  ["file"]=>
  string(9) "%s"
  ["line"]=>
  int(6)
}
NULL

Veja Também

  • Error constants


Obtém o último erro ocorrido

  • « error_clear_last
  • error_log »
  • PHP Manual
  • Funções para Manuseamento de Erros
  • Obtém o último erro ocorrido

error_get_last

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

error_get_last — Obtém o último erro ocorrido

Descrição

error_get_last ( ) : array

Obtém informação sobre o último erro que ocorreu.

Valor Retornado

Retorna um array associativo descrevendo o último erro com chaves "type", "message", "file" e "line". Retorna null se não tiver ocorrido um erro até a chamada da função.

Exemplos

Exemplo #1 Um exemplo da error_get_last()

<?php
echo $a;
print_r(error_get_last());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [type] => 8
    [message] => Undefined variable: a
    [file] => C:\WWW\index.php
    [line] => 2
)

Veja Também

  • Constantes de erro
  • Variável $php_errormsg
  • Diretiva display_errors


Envia uma mensagem de erro para as rotinas definidas para gerenciamento de erros

  • « error_get_last
  • error_reporting »
  • PHP Manual
  • Funções para Manuseamento de Erros
  • Envia uma mensagem de erro para as rotinas definidas para gerenciamento de erros

error_log

(PHP 4, PHP 5, PHP 7, PHP 8)

error_log — Envia uma mensagem de erro para as rotinas definidas para gerenciamento de erros

Descrição

error_log ( string $mensagem , int $mensagem_type = ? , string $destination = ? , string $extra_headers = ? ) : bool

Envia uma mensagem de erro para o log de um servidor, para uma porta TCP ou para um arquivo.

Parâmetros

message

The error message that should be logged.

message_type

Says where the error should go. The possible message types are as follows:

Tipo de logs de error_log()
0 | mensagem é enviada para o sistema de log do PHP, usando o sistema de log do sistema operacional ou para um arquivo, dependendo do que estiver definido na diretiva error_log. Esta é a opção padrão.
1 | mensagem é enviado para o endereço de email em destination. Este é o unico tipo de mensagem onde o quarto parâmetro extra_headers é usado.
2 | Não é mais uma opção.
3 | mensagem é adicionada ao arquivo destination. Uma nova linha não é adicionada automaticamente ao final da string message.

destination

A destinação. Seu significado depende do parâmetro message_type como descrito acima.

extra_headers

The extra headers. It's used when the message_type parameter is set to 1. This message type uses the same internal function as mail() does.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplos de error_log()

<?php
// Envia uma notificação para o log do servidor
// se não pudermos conectar ao banco de dados.
if (!Ora_Logon($username, $password)) {
    error_log("Oracle database not available!", 0);
}

// Avisa o administrados se nós ficarmos sem FOO
if (!($foo = allocate_new_foo())) {
    error_log("Big trouble, we're all out of FOOs!", 1,
               "operator@example.com");
}

// outra forma de usar calling error_log():
error_log("You messed up!", 3, "/var/tmp/my-errors.log");

?>


Define quais erros serão reportados

  • « error_log
  • restore_error_handler »
  • PHP Manual
  • Funções para Manuseamento de Erros
  • Define quais erros serão reportados

error_reporting

(PHP 4, PHP 5, PHP 7, PHP 8)

error_reporting — Define quais erros serão reportados

Descrição

error_reporting ( int $nível = ? ) : int

A função error_reporting() define a diretiva error_reporting em tempo de execução. O PHP tem vários níveis de erros, usando esta função você pode definir o nível durante a execução do seu script.

Parâmetros

level

O novo nível error_reporting. Ele leva ou um bitmask, ou uma constante. Usar constantes é fortemente encorajado para assegurar compatibilidade com versões futuras. Quando níveis de erros forem adicionados, o intervalo dos inteiros aumenta, assim antigos níveis de erro baseados em inteiros não irão funcionar como esperado.

Os níveis de erro disponíveis estão listados a baixo. A descrição deles esta em constantes pré-definidas.

Constantes de nível e valores de bit de error_reporting().
Valor | Constante
1 | E_ERROR
2 | E_WARNING
4 | E_PARSE
8 | E_NOTICE
16 | E_CORE_ERROR
32 | E_CORE_WARNING
64 | E_COMPILE_ERROR
128 | E_COMPILE_WARNING
256 | E_USER_ERROR
512 | E_USER_WARNING
1024 | E_USER_NOTICE
6143 | E_ALL
2048 | E_STRICT
4096 | E_RECOVERABLE_ERROR

Valor Retornado

Retorna o nível anterior de error_reporting.

Changelog

Versão | Descrição
5.0.0 | E_STRICT introduzido (não parte de E_ALL).
5.2.0 | E_RECOVERABLE_ERROR introduzido.
6 | E_STRICT tornou-se parte de E_ALL.

Exemplos

Exemplo #1 Exemplos error_reporting()

<?php

// Turn off all error reporting
error_reporting(0);

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);

// Report all PHP errors
error_reporting(E_ALL);

// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

?>

Notas

Aviso

A maioria dos erros E_STRICT são avaliados em tempo de compilação assim esses erros não são reportados no arquivo aonde error_reporting é aumentado para incluir erros E_STRICT (e vice versa).

  • A diretiva display_errors
  • ini_set()


Restaura a função anterior para gerenciamento de erro

  • « error_reporting
  • restore_exception_handler »
  • PHP Manual
  • Funções para Manuseamento de Erros
  • Restaura a função anterior para gerenciamento de erro

restore_error_handler

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

restore_error_handler — Restaura a função anterior para gerenciamento de erro

Descrição

restore_error_handler ( ) : bool

Usada após mudar a função que gerencia os erros usando set_error_handler(), para reverter para a função que gerencia os erros anterior (a qual pode ser uma função interna ou uma função definida pelo usuário).

Valor Retornado

Esta função sempre retorna true.

Exemplos

Exemplo #1 Exemplo restore_error_handler()

Decide se unserialize() causou um erro, então restaura o manipulador de erro original.

<?php
function unserialize_handler($errno, $errstr)
{
    echo "Invalid serialized value.\n";
}

$serialized = 'foo';
set_error_handler('unserialize_handler');
$original = unserialize($serialized);
restore_error_handler();
?>

O exemplo acima irá imprimir:

Invalid serialized value.

Notas

Nota:

Chamar restore_error_handler() da função error_handler é ignorada.

Veja Também

  • error_reporting() - Define quais erros serão reportados
  • set_error_handler() - Define uma função do usuário para manipular erros
  • restore_exception_handler() - Restauda a função tratadora de exceções anterior.
  • trigger_error() - Gera uma mensagem a nível de usuário de erro/aviso/notícia


Restauda a função tratadora de exceções anterior.

  • « restore_error_handler
  • set_error_handler »
  • PHP Manual
  • Funções para Manuseamento de Erros
  • Restauda a função tratadora de exceções anterior.

restore_exception_handler

(PHP 5, PHP 7, PHP 8)

restore_exception_handler — Restauda a função tratadora de exceções anterior.

Descrição

restore_exception_handler ( ) : bool

Usada após mudar a função de tratamento de exceção com set_exception_handler(), para reverter para o tratador anterior (que pode ser integrado, ou uma função definida pelo usuário).

Valor Retornado

Essa função sempre retorna true.

Veja Também

  • set_exception_handler() - Define uma função definida pelo usuário para tratamento de exceções
  • set_error_handler() - Define uma função do usuário para manipular erros
  • restore_error_handler() - Restaura a função anterior para gerenciamento de erro
  • error_reporting() - Define quais erros serão reportados


Define uma função do usuário para manipular erros

  • « restore_exception_handler
  • set_exception_handler »
  • PHP Manual
  • Funções para Manuseamento de Erros
  • Define uma função do usuário para manipular erros

set_error_handler

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

set_error_handler — Define uma função do usuário para manipular erros

Descrição

set_error_handler ( callback $error_handler , int $error_types = ? ) : mixed

Define uma função do usuário (error_handler) para manipular erros no script.

Esta função pode ser usada para definir a sua própria maneira de manipular erros em tempo de execução, por exemplo, em aplicações nas quais você precisa fazer fazer uma limpeza de dados/arquivos quando um erro crítico acontece, ou quando você precisa que haja um erro sob certa circunstancia (usando trigger_error()).

è importante lembrar-se que o manipulador padrão de erros do PHP é completamente ignorado. As configurações de error_reporting() não terão efeito e o seu manipulador de erro será chamado - entretanto você ainda é capaz de ler o valor atual de error_reporting e agir apropriadamente. É importante notar que este valor será 0 se o comando que causou o erro foi precedido por @ operador de controle de erro .

também note que é sua responsabilidade die()(morrer) se necessário. Se a função manipuladora de erro retornar, a execução do script irá continuar com o próximo comando após o que causou o erro.

Os seguintes tipos de erros não podem ser manipulados com uma função definida pelo usuário: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, e a maioria de E_STRICT que ocorram no arquivo aonde set_error_handler() for chamada.

Se um erro acontecer antes que o script seja executado (exemplo em uploads de arquivos) a função personalizada de manipulação não pode ser chamada já que não estará registrada para isso neste momento.

Parâmetros

error_handler

A função do usuário precisa aceitar dois parâmetros: o código de erro, e uma string descrevendo o erro. Então tem três parâmetros opcionais que podem ser dados: o nome do arquivo no qual o erro aconteceu, o número da linha na qual o erro aconteceu, e o contexto no qual o erro aconteceu (uma matriz que aponta para a tabela de símbolos ativos no ponto em que o erro aconteceu). A função pode ser mostrada como:

handler ( int $errno , string $errstr , string $errfile = ? , int $errline = ? , array $errcontext = ? )
errno
O primeiro parâmetro, errno, contém o nível de erro que aconteceu, como um inteiro.
errstr
O segundo parâmetro, errstr, contém a mensagem de erro, como uma string.
errfile
O terceiro parãmetro é opcional, errfile, o qual contém o nome do arquivo no qual o erro ocorreu, como uma string.
errline
O quarto parâmetro é opcional, errline, o qual contém o número da linha na qual o erro ocorreu, como um inteiro.
errcontext
O quinto parâmetro é opcional, errcontext, o qual é uma matriz que aponta para a tabela de símbolos ativos no ponto aonde o erro ocorreu. Em outras palavras, errcontext irá conter uma matriz de cada váriavel que exista no escopo aonde o erro aconteceu. O manipulador de erro do usuário não deve modificar o contexto de erro.

Se a função retornar false então o manipulador de erro normal continua.

error_types

Pode ser usado para mascarar o uso da função error_handler da mesma maneira que a configuação error_reporting controla quais erros são exibidos. Sem esta mascara definida a função error_handler será chamada para cada erro sem se importar com a definição de error_reporting.

Valor Retornado

Retorna uma string contendo o manipulador de erro previamente definido (se houver um), ou null em caso de erro. Se o manipulador anterior for um metodo de classe, esta função irá retornar uma matriz indexada com a classe e o nome do metodo.

Changelog

Versão | Descrição
5.2.0 | O manipulador de erro deve retornar false para povoar $php_errormsg.
5.0.0 | O parâmetro error_types foi introzido.
4.3.0 | Ao invés do nome da função, uma matriz contendo a referência a um objeto e um nome de metodo pode também ser dada como argumento para error_handler.
4.0.2 | Três parâmetros opcionais foram adicionados para a função do usuário error_handler. Estes são o nome do arquivo, p número da linha e o contexto.

Exemplos

Exemplo #1 Manipulação de erros com set_error_handler() e trigger_error()

O exemplo abaixo mostra a manipulação de exceções internas realizando erros e manipulando-os com uma função definida pelo usuário:

<?php
// error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    switch ($errno) {
    case E_USER_ERROR:
        echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
        echo "  Fatal error on line $errline in file $errfile";
        echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
        echo "Aborting...<br />\n";
        exit(1);
        break;

    case E_USER_WARNING:
        echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
        break;

    case E_USER_NOTICE:
        echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
        break;

    default:
        echo "Unknown error type: [$errno] $errstr<br />\n";
        break;
    }

    /* Don't execute PHP internal error handler */
    return true;
}

// function to test the error handling
function scale_by_log($vect, $scale)
{
    if (!is_numeric($scale) || $scale <= 0) {
        trigger_error("log(x) for x <= 0 is undefined, you used: scale = $scale", E_USER_ERROR);
    }

    if (!is_array($vect)) {
        trigger_error("Incorrect input vector, array of values expected", E_USER_WARNING);
        return null;
    }

    $temp = array();
    foreach($vect as $pos => $value) {
        if (!is_numeric($value)) {
            trigger_error("Value at position $pos is not a number, using 0 (zero)", E_USER_NOTICE);
            $value = 0;
        }
        $temp[$pos] = log($scale) * $value;
    }

    return $temp;
}

// set to the user defined error handler
$old_error_handler = set_error_handler("myErrorHandler");

// trigger some errors, first define a mixed array with a non-numeric item
echo "vector a\n";
$a = array(2, 3, "foo", 5.5, 43.3, 21.11);
print_r($a);

// now generate second array
echo "----\nvector b - a notice (b = log(PI) * a)\n";
/* Value at position $pos is not a number, using 0 (zero) */
$b = scale_by_log($a, M_PI);
print_r($b);

// this is trouble, we pass a string instead of an array
echo "----\nvector c - a warning\n";
/* Incorrect input vector, array of values expected */
$c = scale_by_log("not array", 2.3);
var_dump($c); // NULL

// this is a critical error, log of zero or negative number is undefined
echo "----\nvector d - fatal error\n";
/* log(x) for x <= 0 is undefined, you used: scale = $scale" */
$d = scale_by_log($a, -2.5);
var_dump($d); // Never reached
?>

O exemplo acima irá imprimir algo similar à:

vector a
Array
(
    [0] => 2
    [1] => 3
    [2] => foo
    [3] => 5.5
    [4] => 43.3
    [5] => 21.11
)
----
vector b - a notice (b = log(PI) * a)
<b>My NOTICE</b> [1024] Value at position 2 is not a number, using 0 (zero)<br />
Array
(
    [0] => 2.2894597716988
    [1] => 3.4341896575482
    [2] => 0
    [3] => 6.2960143721717
    [4] => 49.566804057279
    [5] => 24.165247890281
)
----
vector c - a warning
<b>My WARNING</b> [512] Incorrect input vector, array of values expected<br />
NULL
----
vector d - fatal error
<b>My ERROR</b> [256] log(x) for x <= 0 is undefined, you used: scale = -2.5<br />
  Fatal error on line 35 in file trigger_error.php, PHP 5.2.1 (FreeBSD)<br />
Aborting...<br />

Veja Também

  • error_reporting() - Define quais erros serão reportados
  • restore_error_handler() - Restaura a função anterior para gerenciamento de erro
  • trigger_error() - Gera uma mensagem a nível de usuário de erro/aviso/notícia
  • error level constants
  • informação sobre o tipo callback


Define uma função definida pelo usuário para tratamento de exceções

  • « set_error_handler
  • trigger_error »
  • PHP Manual
  • Funções para Manuseamento de Erros
  • Define uma função definida pelo usuário para tratamento de exceções

set_exception_handler

(PHP 5, PHP 7, PHP 8)

set_exception_handler — Define uma função definida pelo usuário para tratamento de exceções

Descrição

set_exception_handler ( callback $exception_handler ) : string

Define o tratador de exceção padrão se uma exceção não for pega em um bloco try/catch. A Execução não parará depois que exception_handler é chamada.

Parâmetros

exception_handler

Nome da função à ser chamada quando uma exceção não pega ocorrer. Essa função deve ser definida antes de chamar set_exception_handler(). Essa função de tratamento precisa aceitar um parâmetro, que será o objeto da exceção que foi disparado.

Valor Retornado

Retorna o nome do tratador padrão de exceção anterior, ou null em caso de erro. Se nenhum tratador anterior foi definido, o retorno também será null.

Exemplos

Exemplo #1 Um exemplo de set_exception_handler()

<?php
function exception_handler($exception) {
  echo "Uncaught exception: " , $exception->getMessage(), "\n";
}

set_exception_handler('exception_handler');

throw new Exception('Uncaught Exception');
echo "Not Executed\n";
?>

Veja Também

restore_exception_handler() - Restauda a função tratadora de exceções anterior., restore_error_handler() - Restaura a função anterior para gerenciamento de erro, error_reporting() - Define quais erros serão reportados, informação sobre o tipo callback, e Exceções do PHP 5.


Gera uma mensagem a nível de usuário de erro/aviso/notícia

  • « set_exception_handler
  • user_error »
  • PHP Manual
  • Funções para Manuseamento de Erros
  • Gera uma mensagem a nível de usuário de erro/aviso/notícia

trigger_error

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

trigger_error — Gera uma mensagem a nível de usuário de erro/aviso/notícia

Descrição

trigger_error ( string $error_msg , int $error_type = E_USER_NOTICE ) : bool

Usado para realizar uma condição de erro, pode ser usado em conjunto com o manipulador de erro interno, ou com uma função definida pelo usuário que foi definida como novo manipulador de erro (set_error_handler()).

Esta função é útil se você precisa gerar uma resposta em particular para uma exceção em tempo de execução.

Parâmetros

error_msg

A mensagem de erro definida para este erro. É limitada a 1024 caracteres em tamanho. Quaisquer caracteres além de 1024 serão truncados.

error_type

O tipo de erro definido para este erro. Funciona apenas com a família de constantes E_USER, e o padrão será E_USER_NOTICE.

Valor Retornado

Esta função retorna false se for especificado error_type errado, true se não.

Exemplos

Exemplo #1 Exemplo trigger_error()

Veja set_error_handler() para um exemplo mais extensivo.

<?php
if (assert($divisor == 0)) {
    trigger_error("Cannot divide by zero", E_USER_ERROR);
}
?>

Notas

Aviso

As entidades HTML contidas no parâmetro error_msg não são escapadas. Utilize htmlentities() na mensagem para que o erro seja exibido no navegador.

Veja Também

  • error_reporting() - Define quais erros serão reportados
  • set_error_handler() - Define uma função do usuário para manipular erros
  • restore_error_handler() - Restaura a função anterior para gerenciamento de erro
  • As constantes de nível de erro


Apelido para trigger_error

  • « trigger_error
  • FFI »
  • PHP Manual
  • Funções para Manuseamento de Erros
  • Apelido para trigger_error

user_error

(PHP 4, PHP 5, PHP 7, PHP 8)

user_error — Apelido para trigger_error()

Descrição

Esta função é um apelido para: trigger_error().


Foreign Function Interface

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Basic FFI usage
    • PHP Callbacks
    • A Complete PHP/FFI/preloading Example
  • FFI — Main interface to C code and data
    • FFI::addr — Creates an unmanaged pointer to C data
    • FFI::alignof — Gets the alignment
    • FFI::arrayType — Dynamically constructs a new C array type
    • FFI::cast — Performs a C type cast
    • FFI::cdef — Creates a new FFI object
    • FFI::free — Releases an unmanaged data structure
    • FFI::isNull — Checks whether a FFI\CData is a null pointer
    • FFI::load — Loads C declarations from a C header file
    • FFI::memcmp — Compares memory areas
    • FFI::memcpy — Copies one memory area to another
    • FFI::memset — Fills a memory area
    • FFI::new — Creates a C data structure
    • FFI::scope — Instantiates an FFI object with C declarations parsed during preloading
    • FFI::sizeof — Gets the size of C data or types
    • FFI::string — Creates a PHP string from a memory area
    • FFI::type — Creates an FFI\CType object from a C declaration
    • FFI::typeof — Gets the FFI\CType of FFI\CData
  • FFI\CData — C Data Handles
  • FFI\CType — C Type Handles
  • FFI\Exception — FFI Exceptions
  • FFI\ParserException — FFI Parser Exceptions


Introdução

Aviso

Esta extensão é EXPERIMENTAL. O comportamento desta extensão — incluindo o nome de suas funções e qualquer outra documentação sobre esta extensão — poderá mudar sem aviso em futuras versões do PHP. Esta extensão deve ser usada por sua própria conta e risco.

This extension allows the loading of shared libraries (.DLL or .so), calling of C functions and accessing of C data structures in pure PHP, without having to have deep knowledge of the Zend extension API, and without having to learn a third “intermediate” language. The public API is implemented as a single class FFI with several static methods (some of them may be called dynamically), and overloaded object methods, which perform the actual interaction with C data.

Cuidado

FFI is dangerous, since it allows to interface with the system on a very low level. The FFI extension should only be used by developers having a working knowledge of C and the used C APIs. To minimize the risk, the FFI API usage may be restricted with the ffi.enable php.ini directive.

Nota:

The FFI extension does not render the classic PHP extension API obsolete; it is merely provided for ad-hoc interfacing with C functions and data structures.

Dica

Currently, accessing FFI data structures is significantly (about 2 times) slower than accessing native PHP arrays and objects. Therefore, it makes no sense to use the FFI extension for speed; however, it may make sense to use it to reduce memory consumption.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

This extension requires the » libffi library to be installed.


Instalação

To enable the FFI extension, PHP has to be configured with --with-ffi.

Windows users have to include php_ffi.dll into php.ini to enable the FFI extension.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

FFI Opções de Configuração
Nome | Padrão | Modificável | Changelog
ffi.enable | "preload" | PHP_INI_SYSTEM |
ffi.preload | "" | PHP_INI_SYSTEM |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

ffi.enable string

Allows enabling ("true") or disabling ("false") FFI API usage, or restricting it only to the CLI SAPI and preloaded files ("preload").

The FFI API restrictions only affect the FFI class, but not overloaded functions of FFI\CData objects. This means that it is possible to create some FFI\CData objects in preloaded files, and then to use these directly in PHP scripts.

ffi.preload string

Allows preloading of FFI bindings during startup, which is not possible with FFI::load() if opcache.preload_user is set. This directive accepts a DIRECTORY_SEPARATOR delimited list of filenames. The preloaded bindings can be accessed by calling FFI::scope().


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • FFI
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Exemplos

Índice

  • Basic FFI usage
  • PHP Callbacks
  • A Complete PHP/FFI/preloading Example


Basic FFI usage

Before diving into the details of the FFI API, lets take a look at a few examples demonstrating the simplicity of the FFI API usage for regular tasks.

Nota:

Some of these examples require libc.so.6 and as such will not work on systems where it is not available.

Exemplo #1 Calling a function from shared library

<?php
// create FFI object, loading libc and exporting function printf()
$ffi = FFI::cdef(
    "int printf(const char *format, ...);", // this is a regular C declaration
    "libc.so.6");
// call C's printf()
$ffi->printf("Hello %s!\n", "world");
?>

O exemplo acima irá imprimir:

Hello world!

Nota:

Note that some C functions need specific calling conventions, e.g. __fastcall, __stdcall or ,__vectorcall.

Exemplo #2 Calling a function, returning a structure through an argument

<?php
// create gettimeofday() binding
$ffi = FFI::cdef("
    typedef unsigned int time_t;
    typedef unsigned int suseconds_t;

    struct timeval {
        time_t      tv_sec;
        suseconds_t tv_usec;
    };

    struct timezone {
        int tz_minuteswest;
        int tz_dsttime;
    };

    int gettimeofday(struct timeval *tv, struct timezone *tz);
", "libc.so.6");
// create C data structures
$tv = $ffi->new("struct timeval");
$tz = $ffi->new("struct timezone");
// call C's gettimeofday()
var_dump($ffi->gettimeofday(FFI::addr($tv), FFI::addr($tz)));
// access field of C data structure
var_dump($tv->tv_sec);
// print the whole C data structure
var_dump($tz);
?>

O exemplo acima irá imprimir algo similar à:

int(0)
int(1555946835)
object(FFI\CData:struct timezone)#3 (2) {
  ["tz_minuteswest"]=>
  int(0)
  ["tz_dsttime"]=>
  int(0)
}

Exemplo #3 Accessing existing C variables

<?php
// create FFI object, loading libc and exporting errno variable
$ffi = FFI::cdef(
    "int errno;", // this is a regular C declaration
    "libc.so.6");
// print C's errno
var_dump($ffi->errno);
?>

O exemplo acima irá imprimir:

int(0)

Exemplo #4 Creating and Modifying C variables

<?php
// create a new C int variable
$x = FFI::new("int");
var_dump($x->cdata);

// simple assignment
$x->cdata = 5;
var_dump($x->cdata);

// compound assignment
$x->cdata += 2;
var_dump($x->cdata);
?>

O exemplo acima irá imprimir:

int(0)
int(5)
int(7)

Exemplo #5 Working with C arrays

<?php
// create C data structure
$a = FFI::new("long[1024]");
// work with it like with a regular PHP array
for ($i = 0; $i < count($a); $i++) {
    $a[$i] = $i;
}
var_dump($a[25]);
$sum = 0;
foreach ($a as $n) {
    $sum += $n;
}
var_dump($sum);
var_dump(count($a));
var_dump(FFI::sizeof($a));
?>

O exemplo acima irá imprimir:

int(25)
int(523776)
int(1024)
int(8192)

Exemplo #6 Working with C enums

<?php
$a = FFI::cdef('typedef enum _zend_ffi_symbol_kind {
    ZEND_FFI_SYM_TYPE,
    ZEND_FFI_SYM_CONST = 2,
    ZEND_FFI_SYM_VAR,
    ZEND_FFI_SYM_FUNC
} zend_ffi_symbol_kind;
');
var_dump($a->ZEND_FFI_SYM_TYPE);
var_dump($a->ZEND_FFI_SYM_CONST);
var_dump($a->ZEND_FFI_SYM_VAR);
?>

O exemplo acima irá imprimir:

int(0)
int(2)
int(3)


PHP Callbacks

It is possible to assign a PHP closure to a native variable of function pointer type or to pass it as a function argument:

<?php
$zend = FFI::cdef("
    typedef int (*zend_write_func_t)(const char *str, size_t str_length);
    extern zend_write_func_t zend_write;
");

echo "Hello World 1!\n";

$orig_zend_write = clone $zend->zend_write;
$zend->zend_write = function($str, $len) {
    global $orig_zend_write;
    $orig_zend_write("{\n\t", 3);
    $ret = $orig_zend_write($str, $len);
    $orig_zend_write("}\n", 2);
    return $ret;
};
echo "Hello World 2!\n";
$zend->zend_write = $orig_zend_write;
echo "Hello World 3!\n";
?>

O exemplo acima irá imprimir:

Hello World 1!
{
        Hello World 2!
}
Hello World 3!
Although this works, this functionality is not supported on all libffi platforms, is not efficient and leaks resources by the end of request.
Dica

It is therefore recommended to minimize the usage of PHP callbacks.


A Complete PHP/FFI/preloading Example

php.ini

ffi.enable=preload
opcache.preload=preload.php

preload.php

<?php
FFI::load(__DIR__ . "/dummy.h");
opcache_compile_file(__DIR__ . "/dummy.php");
?>

dummy.h

#define FFI_SCOPE "DUMMY"
#define FFI_LIB "libc.so.6"

int printf(const char *format, ...);

dummy.php

<?php
final class Dummy {
    private static $ffi = null;
    function __construct() {
        if (is_null(self::$ffi)) {
            self::$ffi = FFI::scope("DUMMY");
        }
    }
    function printf($format, ...$args) {
       return (int)self::$ffi->printf($format, ...$args);
    }
}
?>

test.php

<?php
$d = new Dummy();
$d->printf("Hello %s!\n", "world");
?>


Main interface to C code and data

(PHP 7 >= 7.4.0)

Introdução

Objects of this class are created by the factory methods FFI::cdef(), FFI::load() or FFI::scope(). Defined C variables are made available as properties of the FFI instance, and defined C functions are made available as methods of the FFI instance. Declared C types can be used to create new C data structures using FFI::new() and FFI::type().

FFI definition parsing and shared library loading may take significant time. It is not useful to do it on each HTTP request in a Web environment. However, it is possible to preload FFI definitions and libraries at PHP startup, and to instantiate FFI objects when necessary. Header files may be extended with special FFI_SCOPE defines (e.g. #define FFI_SCOPE "foo"”"; the default scope is "C") and then loaded by FFI::load() during preloading. This leads to the creation of a persistent binding, that will be available to all the following requests through FFI::scope(). Refer to the complete PHP/FFI/preloading example for details.

It is possible to preload more than one C header file into the same scope.

Sinopse da classe

FFI {
/* Métodos */
public static addr ( FFI\CData &$ptr ) : FFI\CData
public static alignof ( FFI\CData|FFI\CType &$ptr ) : int
public static arrayType ( FFI\CType $type , array $dimensions ) : FFI\CType
public static cast ( FFI\CType|string $type , FFI\CData|int|float|bool|null &$ptr ) : FFI\CData|null
public cast ( FFI\CType|string $type , FFI\CData|int|float|bool|null &$ptr ) : FFI\CData|null
public static cdef ( string $code = "" , string|null $lib = null ) : FFI
public static free ( FFI\CData &$ptr ) : void
public static isNull ( FFI\CData &$ptr ) : bool
public static load ( string $filename ) : FFI|null
public static memcmp ( string|FFI\CData &$ptr1 , string|FFI\CData &$ptr2 , int $size ) : int
public static memcpy ( FFI\CData &$to , FFI\CData|string &$from , int $size ) : void
public static memset ( FFI\CData &$ptr , int $value , int $size ) : void
public static new ( FFI\CType|string $type , bool $owned = true , bool $persistent = false ) : FFI\CData|null
public new ( FFI\CType|string $type , bool $owned = true , bool $persistent = false ) : FFI\CData|null
public static scope ( string $name ) : FFI
public static sizeof ( FFI\CData|FFI\CType &$ptr ) : int
public static string ( FFI\CData &$ptr , int|null $size = null ) : string
public static type ( string $type ) : FFI\CType|null
public type ( string $type ) : FFI\CType|null
public static typeof ( FFI\CData &$ptr ) : FFI\CType
}

Índice

  • FFI::addr — Creates an unmanaged pointer to C data
  • FFI::alignof — Gets the alignment
  • FFI::arrayType — Dynamically constructs a new C array type
  • FFI::cast — Performs a C type cast
  • FFI::cdef — Creates a new FFI object
  • FFI::free — Releases an unmanaged data structure
  • FFI::isNull — Checks whether a FFI\CData is a null pointer
  • FFI::load — Loads C declarations from a C header file
  • FFI::memcmp — Compares memory areas
  • FFI::memcpy — Copies one memory area to another
  • FFI::memset — Fills a memory area
  • FFI::new — Creates a C data structure
  • FFI::scope — Instantiates an FFI object with C declarations parsed during preloading
  • FFI::sizeof — Gets the size of C data or types
  • FFI::string — Creates a PHP string from a memory area
  • FFI::type — Creates an FFI\CType object from a C declaration
  • FFI::typeof — Gets the FFI\CType of FFI\CData


Creates an unmanaged pointer to C data

  • « FFI
  • FFI::alignof »
  • PHP Manual
  • FFI
  • Creates an unmanaged pointer to C data

FFI::addr

(PHP 7 >= 7.4.0)

FFI::addr — Creates an unmanaged pointer to C data

Descrição

public static FFI::addr ( FFI\CData &$ptr ) : FFI\CData

Creates an unmanaged pointer to the C data represented by the given FFI\CData. The source ptr must survive the resulting pointer. This function is mainly useful to pass arguments to C functions by pointer.

Parâmetros

ptr

The handle of the pointer to a C data structure.

Valor Retornado

Returns the freshly created FFI\CData object.


Gets the alignment

  • « FFI::addr
  • FFI::arrayType »
  • PHP Manual
  • FFI
  • Gets the alignment

FFI::alignof

(PHP 7 >= 7.4.0)

FFI::alignof — Gets the alignment

Descrição

public static FFI::alignof ( FFI\CData|FFI\CType &$ptr ) : int

Gets the alignment of the given FFI\CData or FFI\CType object.

Parâmetros

ptr

The handle of the C data or type.

Valor Retornado

Returns the alignment of the given FFI\CData or FFI\CType object.


Dynamically constructs a new C array type

  • « FFI::alignof
  • FFI::cast »
  • PHP Manual
  • FFI
  • Dynamically constructs a new C array type

FFI::arrayType

(PHP 7 >= 7.4.0)

FFI::arrayType — Dynamically constructs a new C array type

Descrição

public static FFI::arrayType ( FFI\CType $type , array $dimensions ) : FFI\CType

Dynamically constructs a new C array type with elements of type defined by type, and dimensions specified by dimensions. In the following example $t1 and $t2 are equivalent array types:

<?php
$t1 = FFI::type("int[2][3]");
$t2 = FFI::arrayType(FFI::type("int"), [2, 3]);
?>

Parâmetros

type

A valid C declaration as string, or an instance of FFI\CType which has already been created.

dimensions

The dimensions of the type as array.

Valor Retornado

Returns the freshly created FFI\CType object.


Performs a C type cast

  • « FFI::arrayType
  • FFI::cdef »
  • PHP Manual
  • FFI
  • Performs a C type cast

FFI::cast

(PHP 7 >= 7.4.0)

FFI::cast — Performs a C type cast

Descrição

public static FFI::cast ( FFI\CType|string $type , FFI\CData|int|float|bool|null &$ptr ) : FFI\CData|null
public FFI::cast ( FFI\CType|string $type , FFI\CData|int|float|bool|null &$ptr ) : FFI\CData|null

FFI::cast() creates a new FFI\CData object, that references the same C data structure, but is associated with a different type. The resulting object does not own the C data, and the source ptr must survive the result. The C type may be specified as a string with any valid C type declaration or as FFI\CType object, created before. If this method is called statically, it must only use predefined C type names (e.g. int, char, etc.); if the method is called as instance method, any type declared for the instance is allowed.

Parâmetros

type

A valid C declaration as string, or an instance of FFI\CType which has already been created.

ptr

The handle of the pointer to a C data structure.

Valor Retornado

Returns the freshly created FFI\CData object.


Creates a new FFI object

  • « FFI::cast
  • FFI::free »
  • PHP Manual
  • FFI
  • Creates a new FFI object

FFI::cdef

(PHP 7 >= 7.4.0)

FFI::cdef — Creates a new FFI object

Descrição

public static FFI::cdef ( string $code = "" , string|null $lib = null ) : FFI

Creates a new FFI object.

Parâmetros

code

A string containing a sequence of declarations in regular C language (types, structures, functions, variables, etc). Actually, this string may be copy-pasted from C header files.

Nota:

C preprocessor directives are not supported, i.e. #include, #define and CPP macros do not work.

lib

The name of a shared library file, to be loaded and linked with the definitions.

Nota:

If lib is omitted, platforms supporting RTLD_DEFAULT attempt to lookup symbols declared in code in the normal global scope. Other systems will fail to resolve these symbols.

Valor Retornado

Returns the freshly created FFI object.

Changelog

Versão | Descrição
8.0.0 | lib is nullable now.


Releases an unmanaged data structure

  • « FFI::cdef
  • FFI::isNull »
  • PHP Manual
  • FFI
  • Releases an unmanaged data structure

FFI::free

(PHP 7 >= 7.4.0)

FFI::free — Releases an unmanaged data structure

Descrição

public static FFI::free ( FFI\CData &$ptr ) : void

Manually releases a previously created unmanaged data structure.

Parâmetros

ptr

The handle of the unmanaged pointer to a C data structure.

Valor Retornado

Não há valor retornado.


Checks whether a FFI\CData is a null pointer

  • « FFI::free
  • FFI::load »
  • PHP Manual
  • FFI
  • Checks whether a FFI\CData is a null pointer

FFI::isNull

(PHP 7 >= 7.4.0)

FFI::isNull — Checks whether a FFI\CData is a null pointer

Descrição

public static FFI::isNull ( FFI\CData &$ptr ) : bool

Checks whether a FFI\CData is a null pointer.

Parâmetros

ptr

The handle of the pointer to a C data structure.

Valor Retornado

Returns whether a FFI\CData is a null pointer.


Loads C declarations from a C header file

  • « FFI::isNull
  • FFI::memcmp »
  • PHP Manual
  • FFI
  • Loads C declarations from a C header file

FFI::load

(PHP 7 >= 7.4.0)

FFI::load — Loads C declarations from a C header file

Descrição

public static FFI::load ( string $filename ) : FFI|null

Loads C declarations from a C header file. It is possible to specify shared libraries that should be loaded, using special FFI_LIB defines in the loaded C header file.

Parâmetros

filename

The name of a C header file.

C preprocessor directives are not supported, i.e. #include, #define and CPP macros do not work, except for special cases listed below.

The header file should contain a #define statement for the FFI_SCOPE variable, e.g.: #define FFI_SCOPE "MYLIB". Refer to the class introduction for details.

The header file may contain a #define statement for the FFI_LIB variable to specify the library it exposes. If it is a system library only the file name is required, e.g.: #define FFI_LIB "libc.so.6". If it is a custom library, a relative path is required, e.g.: #define FFI_LIB "./mylib.so".

Valor Retornado

Returns the freshly created FFI object, or null on failure.

Veja Também

  • FFI::scope() - Instantiates an FFI object with C declarations parsed during preloading


Compares memory areas

  • « FFI::load
  • FFI::memcpy »
  • PHP Manual
  • FFI
  • Compares memory areas

FFI::memcmp

(PHP 7 >= 7.4.0)

FFI::memcmp — Compares memory areas

Descrição

public static FFI::memcmp ( string|FFI\CData &$ptr1 , string|FFI\CData &$ptr2 , int $size ) : int

Compares size bytes from the memory areas ptr1 and ptr2. Both ptr1 and ptr2 can be any native data structures (FFI\CData) or PHP strings.

Parâmetros

ptr1

The start of one memory area.

ptr2

The start of another memory area.

size

The number of bytes to compare.

Valor Retornado

Returns < 0 if the contents of the memory area starting at ptr1 are considered less than the contents of the memory area starting at ptr2, > 0 if the contents of the first memory area are considered greater than the second, and 0 if they are equal.


Copies one memory area to another

  • « FFI::memcmp
  • FFI::memset »
  • PHP Manual
  • FFI
  • Copies one memory area to another

FFI::memcpy

(PHP 7 >= 7.4.0)

FFI::memcpy — Copies one memory area to another

Descrição

public static FFI::memcpy ( FFI\CData &$to , FFI\CData|string &$from , int $size ) : void

Copies size bytes from the memory area from to the memory area to.

Parâmetros

to

The start of the memory area to copy to.

from

The start of the memory area to copy from.

size

The number of bytes to copy.

Valor Retornado

Não há valor retornado.


Fills a memory area

  • « FFI::memcpy
  • FFI::new »
  • PHP Manual
  • FFI
  • Fills a memory area

FFI::memset

(PHP 7 >= 7.4.0)

FFI::memset — Fills a memory area

Descrição

public static FFI::memset ( FFI\CData &$ptr , int $value , int $size ) : void

Fills size bytes of the memory area pointed to by ptr with the given byte value.

Parâmetros

ptr

The start of the memory area to fill.

value

The byte to fill with.

size

The number of bytes to fill.

Valor Retornado

Não há valor retornado.


Creates a C data structure

  • « FFI::memset
  • FFI::scope »
  • PHP Manual
  • FFI
  • Creates a C data structure

FFI::new

(PHP 7 >= 7.4.0)

FFI::new — Creates a C data structure

Descrição

public static FFI::new ( FFI\CType|string $type , bool $owned = true , bool $persistent = false ) : FFI\CData|null
public FFI::new ( FFI\CType|string $type , bool $owned = true , bool $persistent = false ) : FFI\CData|null

Creates a native data structure of the given C type. If this method is called statically, it must only use predefined C type names (e.g. int, char, etc.); if the method is called as instance method, any type declared for the instance is allowed.

Parâmetros

type

type is a valid C declaration as string, or an instance of FFI\CType which has already been created.

owned

Whether to create owned (i.e. managed) or unmanaged data. Managed data lives together with the returned FFI\CData object, and is released when the last reference to that object is released by regular PHP reference counting or GC. Unmanaged data should be released by calling FFI::free(), when no longer needed.

persistent

Whether to allocate the C data structure permanently on the system heap (using malloc()), or on the PHP request heap (using emalloc()).

Valor Retornado

Returns the freshly created FFI\CData object, or null on failure.


Instantiates an FFI object with C declarations parsed during preloading

  • « FFI::new
  • FFI::sizeof »
  • PHP Manual
  • FFI
  • Instantiates an FFI object with C declarations parsed during preloading

FFI::scope

(PHP 7 >= 7.4.0)

FFI::scope — Instantiates an FFI object with C declarations parsed during preloading

Descrição

public static FFI::scope ( string $name ) : FFI

Instantiates an FFI object with C declarations parsed during preloading.

The FFI::scope() method is safe to call multiple times for the same scope. Multiple references to the same scope may be loaded at the same time.

Parâmetros

name

The scope name defined by a special FFI_SCOPE define.

Valor Retornado

Returns the freshly created FFI object.

Veja Também

  • FFI::load() - Loads C declarations from a C header file


Gets the size of C data or types

  • « FFI::scope
  • FFI::string »
  • PHP Manual
  • FFI
  • Gets the size of C data or types

FFI::sizeof

(PHP 7 >= 7.4.0)

FFI::sizeof — Gets the size of C data or types

Descrição

public static FFI::sizeof ( FFI\CData|FFI\CType &$ptr ) : int

Returns the size of the given FFI\CData or FFI\CType object.

Parâmetros

ptr

The handle of the C data or type.

Valor Retornado

The size of the memory area pointed at by ptr.


Creates a PHP string from a memory area

  • « FFI::sizeof
  • FFI::type »
  • PHP Manual
  • FFI
  • Creates a PHP string from a memory area

FFI::string

(PHP 7 >= 7.4.0)

FFI::string — Creates a PHP string from a memory area

Descrição

public static FFI::string ( FFI\CData &$ptr , int|null $size = null ) : string

Creates a PHP string from size bytes of the memory area pointed to by ptr.

Parâmetros

ptr

The start of the memory area from which to create a string.

size

The number of bytes to copy to the string. If size is omitted, ptr must be a zero terminated array of C chars.

Valor Retornado

The freshly created PHP string.

Changelog

Versão | Descrição
8.0.0 | size is nullable now; previously, its default was 0.


Creates an FFI\CType object from a C declaration

  • « FFI::string
  • FFI::typeof »
  • PHP Manual
  • FFI
  • Creates an FFI\CType object from a C declaration

FFI::type

(PHP 7 >= 7.4.0)

FFI::type — Creates an FFI\CType object from a C declaration

Descrição

public static FFI::type ( string $type ) : FFI\CType|null
public FFI::type ( string $type ) : FFI\CType|null

This function creates and returns a FFI\CType object for the given string containing a C type declaration. If this method is called statically, it must only use predefined C type names (e.g. int, char, etc.); if the method is called as instance method, any type declared for the instance is allowed.

Parâmetros

type

A valid C declaration as string, or an instance of FFI\CType which has already been created.

Valor Retornado

Returns the freshly created FFI\CType object, or null on failure.


Gets the FFI\CType of FFI\CData

  • « FFI::type
  • FFI\CData »
  • PHP Manual
  • FFI
  • Gets the FFI\CType of FFI\CData

FFI::typeof

(PHP 7 >= 7.4.0)

FFI::typeof — Gets the FFI\CType of FFI\CData

Descrição

public static FFI::typeof ( FFI\CData &$ptr ) : FFI\CType

Gets the FFI\CType object representing the type of the given FFI\CData object.

Parâmetros

ptr

The handle of the pointer to a C data structure.

Valor Retornado

Returns the FFI\CType object representing the type of the given FFI\CData object.


C Data Handles

(PHP 7 >= 7.4.0)

Introdução

FFI\CData objects can be used in a number of ways as a regular PHP data:

  • C data of scalar types can be read and assigned via the $cdata property, e.g. $x = FFI::new('int'); $x->cdata = 42;
  • C struct and union fields can be accessed as regular PHP object property, e.g. $cdata->field
  • C array elements can be accessed as regular PHP array elements, e.g. $cdata[$offset]
  • C arrays can be iterated using foreach statements.
  • C arrays can be used as arguments of count().
  • C pointers can be dereferenced as arrays, e.g. $cdata[0]
  • C pointers can be compared using regular comparison operators (<, <=, ==, !=, >=, >).
  • C pointers can be incremented and decremented using regular +/-/ ++/–- operations, e.g. $cdata += 5
  • C pointers can be subtracted from another using regular - operations.
  • C pointers to functions can be called as a regular PHP closure, e.g. $cdata()
  • Any C data can be duplicated using the clone operator, e.g. $cdata2 = clone $cdata;
  • Any C data can be visualized using var_dump(), print_r(), etc.

Nota: Notable limitations are that FFI\CData instances do not support isset(), empty() and unset(), and that wrapped C structs and unions do not implement Traversable.

Sinopse da classe

FFI\CData {
}


  • « FFI\CData
  • FFI\Exception »
  • PHP Manual
  • FFI
  • C Type Handles

C Type Handles

(PHP 7 >= 7.4.0)

Introdução

Sinopse da classe

FFI\CType {
}


FFI Exceptions

(PHP 7 >= 7.4.0)

Introdução

Sinopse da classe

FFI\Exception extends Error implements Throwable {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Error::getMessage ( ) : string
final public Error::getPrevious ( ) : Throwable
final public Error::getCode ( ) : mixed
final public Error::getFile ( ) : string
final public Error::getLine ( ) : int
final public Error::getTrace ( ) : array
final public Error::getTraceAsString ( ) : string
public Error::__toString ( ) : string
final private Error::__clone ( ) : void
}


FFI Parser Exceptions

(PHP 7 >= 7.4.0)

Introdução

Sinopse da classe

FFI\ParserException extends FFI\Exception implements Throwable {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
}


Memtrack

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Basic usage


Introdução

The purpose of this extension is to detect the most memory hungry scripts and functions.

memtrack tracks memory consumption in PHP scripts and produces reports (warnings) when the consumption reaches certain levels set by the user. This is achieved by replacing default executor function by a special function which compares memory usage before and after running the original executor - this way we can tell how much the memory usage has changed during the execution of the current part of the code.

Zend Engine runs its executor for each opcode array (op_array), which usually means function, plain script and such, so memtrack doesn't have any noticeable effect on performance.

memtrack doesn't provide any functions, there are only INI directives which allow you to configure the way it should work.

Aviso

Esta extensão é EXPERIMENTAL. O comportamento desta extensão — incluindo o nome de suas funções e qualquer outra documentação sobre esta extensão — poderá mudar sem aviso em futuras versões do PHP. Esta extensão deve ser usada por sua própria conta e risco.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/memtrack


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Memtrack Configuration Options
Nome | Padrão | Modificável
memtrack.enabled | "0" | PHP_INI_SYSTEM
memtrack.soft_limit | "0" | PHP_INI_ALL
memtrack.hard_limit | "0" | PHP_INI_ALL
memtrack.vm_limit | "0" | PHP_INI_ALL
memtrack.ignore_functions | "" | PHP_INI_SYSTEM
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

memtrack.enabled bool

Disables or enables the extension. Default value is 0, i.e. disabled.

memtrack.soft_limit int

Soft memory limit.

The extension checks memory consumption before and after executing an op_array and produces a warning is the difference between the two values is equal to or greater than the soft limit, but only if the function is not ignored.

Setting this option to 0 also disables both soft and hard limit warnings. Default value is 0, i.e. no warnings is produced.

memtrack.hard_limit int

Hard memory limit.

The extension checks memory consumption before and after executing an op_array and produces a warning is the difference between the two values is equal to or greater than the hard limit, even if the function is ignored. Setting this option to 0 disables hard limit warnings completely. Default value is 0, i.e. no hard limit warnings is produced.

memtrack.vm_limit int

Virtual memory limit (set on a process).

This limit is checked only on shutdown and a warning is produced if the value is greater than or equal to the limit.

This option is currently supported only on OSes where mallinfo() function is available (i.e. Linux).

memtrack.ignore_functions string

A comma or whitespace-separated list of functions which are to be ignored by soft_limit. The values are case-insensitive, for class methods use class::method syntax.


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • Memtrack
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


  • « Constantes pré-definidas
  • Basic usage »
  • PHP Manual
  • Memtrack
  • Exemplos

Exemplos

Índice

  • Basic usage


Basic usage

Basic example on using memtrack extension:

Exemplo #1 Creating large array in a function

<?php

/* /tmp/example1.php */

function foo() {
    $a = array();
    for ($i = 0; $i < 10000; $i++) $a[] = "test";
    return $a;
}
$arr = foo();

?>

Run the example with the following command:

php -d memtrack.enabled=1 -d memtrack.soft_limit=1M -d memtrack.vm_limit=3M /tmp/example1.php

O exemplo acima irá imprimir algo similar à:

Warning: [memtrack] [pid 26177] user function foo() executed in /tmp/example1.php on line 10 allocated 4194304 bytes in /tmp/example1.php on line 0
Warning: [memtrack] [pid 26177] virtual memory usage on shutdown: 32911360 bytes in Unknown on line 0


OPcache

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Preloading
  • OPcache Funções
    • opcache_compile_file — Compiles and caches a PHP script without executing it
    • opcache_get_configuration — Get configuration information about the cache
    • opcache_get_status — Get status information about the cache
    • opcache_invalidate — Invalidates a cached script
    • opcache_is_script_cached — Tells whether a script is cached in OPCache
    • opcache_reset — Resets the contents of the opcode cache


Introdução

OPcache improves PHP performance by storing precompiled script bytecode in shared memory, thereby removing the need for PHP to load and parse scripts on each request.

This extension is bundled with PHP 5.5.0 and later, and is » available in PECL for PHP versions 5.2, 5.3 and 5.4.


Instalação

OPcache can only be compiled as a shared extension. If you have disabled the building of default extensions with --disable-all, you must compile PHP with the --enable-opcache option for OPcache to be available.

Once compiled, you can use the zend_extension configuration directive to load the OPcache extension into PHP. This can be done with zend_extension=/full/path/to/opcache.so on non-Windows platforms, and zend_extension=C:\path\to\php_opcache.dll on Windows.

Nota:

If you want to use OPcache with » Xdebug, you must load OPcache before Xdebug.

Recommended php.ini settings

The following settings are generally recommended as providing good performance:

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

You may also want to consider disabling opcache.save_comments and enabling opcache.enable_file_override, however note that you will have to test your code before using these in production as they are known to break some frameworks and applications, particularly in cases where documentation comment annotations are used.

On Windows, opcache.file_cache_fallback should be enabled, and opcache.file_cache should be set to an already existing and writable directory.

A full list of configuration directives supported by OPcache is also available.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

OPcache configuration options
Nome | Padrão | Modificável | Changelog
opcache.enable | "1" | PHP_INI_ALL |
opcache.enable_cli | "0" | PHP_INI_SYSTEM | Between PHP 7.1.2 and 7.1.6 inclusive, the default was "1"
opcache.memory_consumption | "128" | PHP_INI_SYSTEM |
opcache.interned_strings_buffer | "8" | PHP_INI_SYSTEM |
opcache.max_accelerated_files | "10000" | PHP_INI_SYSTEM |
opcache.max_wasted_percentage | "5" | PHP_INI_SYSTEM |
opcache.use_cwd | "1" | PHP_INI_SYSTEM |
opcache.validate_timestamps | "1" | PHP_INI_ALL |
opcache.revalidate_freq | "2" | PHP_INI_ALL |
opcache.revalidate_path | "0" | PHP_INI_ALL |
opcache.save_comments | "1" | PHP_INI_SYSTEM |
opcache.fast_shutdown | "0" | PHP_INI_SYSTEM | Removed in PHP 7.2.0
opcache.enable_file_override | "0" | PHP_INI_SYSTEM |
opcache.optimization_level | "0x7FFEBFFF" | PHP_INI_SYSTEM | Changed from 0x7FFFBFFF in PHP 7.3.0
opcache.inherited_hack | "1" | PHP_INI_SYSTEM | Removed in PHP 7.3.0
opcache.dups_fix | "0" | PHP_INI_ALL |
opcache.blacklist_filename | "" | PHP_INI_SYSTEM |
opcache.max_file_size | "0" | PHP_INI_SYSTEM |
opcache.consistency_checks | "0" | PHP_INI_ALL |
opcache.force_restart_timeout | "180" | PHP_INI_SYSTEM |
opcache.error_log | "" | PHP_INI_SYSTEM |
opcache.log_verbosity_level | "1" | PHP_INI_SYSTEM |
opcache.preferred_memory_model | "" | PHP_INI_SYSTEM |
opcache.protect_memory | "0" | PHP_INI_SYSTEM |
opcache.mmap_base | null | PHP_INI_SYSTEM |
opcache.restrict_api | "" | PHP_INI_SYSTEM |
opcache.file_update_protection | "2" | PHP_INI_ALL |
opcache.huge_code_pages | "0" | PHP_INI_SYSTEM |
opcache.lockfile_path | "/tmp" | PHP_INI_SYSTEM |
opcache.opt_debug_level | "0" | PHP_INI_SYSTEM | Available as of PHP 7.1.0
opcache.file_cache | NULL | PHP_INI_SYSTEM |
opcache.file_cache_only | "0" | PHP_INI_SYSTEM |
opcache.file_cache_consistency_checks | "1" | PHP_INI_SYSTEM |
opcache.file_cache_fallback | "1" | PHP_INI_SYSTEM | Windows only.
opcache.validate_permission | "0" | PHP_INI_SYSTEM | Available as of PHP 7.0.14
opcache.validate_root | "0" | PHP_INI_SYSTEM | Available as of PHP 7.0.14
opcache.preload | "" | PHP_INI_SYSTEM | Available as of PHP 7.4.0
opcache.preload_user | "" | PHP_INI_SYSTEM | Available as of PHP 7.4.0
opcache.cache_id | "" | PHP_INI_SYSTEM | Windows only. Available as of PHP 7.4.0
opcache.jit | "tracing" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_buffer_size | "0" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_debug | "0" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_bisect_limit | "0" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_prof_threshold | "0.005" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_root_traces | "1024" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_max_side_traces | "128" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_max_exit_counters | "8192" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_loop | "64" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_func | "127" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_return | "8" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_side_exit | "8" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_blacklist_root_trace | "16" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_blacklist_side_trace | "8" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_loop_unrolls | "8" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_recursive_calls | "2" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_recursive_returns | "2" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_polymorphic_calls | "2" | PHP_INI_ALL | Available as of PHP 8.0.0
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

opcache.enable bool

Enables the opcode cache. When disabled, code is not optimised or cached. The setting opcache.enable can not be enabled at runtime through ini_set(), it can only be disabled. Trying to enable it in a script will generate a warning.

opcache.enable_cli bool

Enables the opcode cache for the CLI version of PHP.

opcache.memory_consumption int

The size of the shared memory storage used by OPcache, in megabytes. The minimum permissible value is "8", which is enforced if a smaller value is set.

opcache.interned_strings_buffer int

The amount of memory used to store interned strings, in megabytes.

opcache.max_accelerated_files int

The maximum number of keys (and therefore scripts) in the OPcache hash table. The actual value used will be the first number in the set of prime numbers { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987, 262237, 524521, 1048793 } that is greater than or equal to the configured value. The minimum value is 200. The maximum value is 1000000. Values outside of this range are clamped to the permissible range.

opcache.max_wasted_percentage int

The maximum percentage of wasted memory that is allowed before a restart is scheduled, if there is insufficient free memory. The maximum permissible value is "50", which is enforced if a larger value is set.

opcache.use_cwd bool

If enabled, OPcache appends the current working directory to the script key, thereby eliminating possible collisions between files with the same base name. Disabling this directive improves performance, but may break existing applications.

opcache.validate_timestamps bool

If enabled, OPcache will check for updated scripts every opcache.revalidate_freq seconds. When this directive is disabled, you must reset OPcache manually via opcache_reset(), opcache_invalidate() or by restarting the Web server for changes to the filesystem to take effect.

opcache.revalidate_freq int

How often to check script timestamps for updates, in seconds. 0 will result in OPcache checking for updates on every request.

This configuration directive is ignored if opcache.validate_timestamps is disabled.

opcache.revalidate_path bool

If disabled, existing cached files using the same include_path will be reused. Thus, if a file with the same name is elsewhere in the include_path, it won't be found.

opcache.save_comments bool

If disabled, all documentation comments will be discarded from the opcode cache to reduce the size of the optimised code. Disabling this configuration directive may break applications and frameworks that rely on comment parsing for annotations, including Doctrine, Zend Framework 2 and PHPUnit.

opcache.fast_shutdown bool

If enabled, a fast shutdown sequence is used that doesn't free each allocated block, but relies on the Zend Engine memory manager to deallocate the entire set of request variables en masse.

This directive has been removed in PHP 7.2.0. A variant of the fast shutdown sequence has been integrated into PHP and will be automatically used if possible.

opcache.enable_file_override bool

When enabled, the opcode cache will be checked for whether a file has already been cached when file_exists(), is_file() and is_readable() are called. This may increase performance in applications that check the existence and readability of PHP scripts, but risks returning stale data if opcache.validate_timestamps is disabled.

opcache.optimization_level int

A bitmask that controls which optimisation passes are executed.

opcache.inherited_hack bool

This configuration directive is ignored.

opcache.dups_fix bool

This hack should only be enabled to work around "Cannot redeclare class" errors.

opcache.blacklist_filename string

The location of the OPcache blacklist file. A blacklist file is a text file containing the names of files that should not be accelerated, one per line. Wildcards are allowed, and prefixes can also be provided. Lines starting with a semi-colon are ignored as comments.

A simple blacklist file might look as follows:

; Matches a specific file.
/var/www/broken.php
; A prefix that matches all files starting with x.
/var/www/x
; A wildcard match.
/var/www/*-broken.php
opcache.max_file_size int

The maximum file size that will be cached, in bytes. If this is 0, all files will be cached.

opcache.consistency_checks int

If non-zero, OPcache will verify the cache checksum every N requests, where N is the value of this configuration directive. This should only be enabled when debugging, as it will impair performance.

opcache.force_restart_timeout int

The length of time to wait for a scheduled restart to begin if the cache isn't active, in seconds. If the timeout is hit, then OPcache assumes that something is wrong and will kill the processes holding locks on the cache to permit a restart.

If opcache.log_verbosity_level is set to 2 or above, a warning will be recorded in the error log when this occurs.

This directive is not supported on Windows.

opcache.error_log string

The error log for OPcache errors. An empty string is treated the same as stderr, and will result in logs being sent to standard error (which will be the Web server error log in most cases).

opcache.log_verbosity_level int

The log verbosity level. By default, only fatal errors (level 0) and errors (level 1) are logged. Other levels available are warnings (level 2), information messages (level 3) and debug messages (level 4).

opcache.preferred_memory_model string

The preferred memory model for OPcache to use. If left empty, OPcache will choose the most appropriate model, which is the correct behaviour in virtually all cases.

Possible values include mmap, shm, posix and win32.

opcache.protect_memory bool

Protects shared memory from unexpected writes while executing scripts. This is useful for internal debugging only.

opcache.mmap_base string

The base used for shared memory segments on Windows. All PHP processes have to map shared memory into the same address space. Using this directive allows "Unable to reattach to base address" errors to be fixed.

opcache.restrict_api string

Allows calling OPcache API functions only from PHP scripts which path is started from specified string. The default "" means no restriction.

opcache.file_update_protection string

Prevents caching files that are less than this number of seconds old. It protects from caching of incompletely updated files. In case all file updates on your site are atomic, you may increase performance by setting it to "0".

opcache.huge_code_pages bool

Enables or disables copying of PHP code (text segment) into HUGE PAGES. This should improve performance, but requires appropriate OS configuration. Available on Linux as of PHP 7.0.0, and on FreeBSD as of PHP 7.4.0.

opcache.lockfile_path string

Absolute path used to store shared lockfiles (for *nix only)

opcache.opt_debug_level string

Produces opcode dumps for debugging different stages of optimizations. 0x10000 will output opcodes as the compiler produced them before any optimization occurs while 0x20000 will output optimized codes.

opcache.file_cache string

Enables and sets the second level cache directory. It should improve performance when SHM memory is full, at server restart or SHM reset. The default "" disables file based caching.

opcache.file_cache_only bool

Enables or disables opcode caching in shared memory.

opcache.file_cache_consistency_checks bool

Enables or disables checksum validation when script loaded from file cache.

opcache.file_cache_fallback bool

Implies opcache.file_cache_only=1 for a certain process that failed to reattach to the shared memory (for Windows only). Explicitly enabled file cache is required.

Cuidado

Disabling this configuration option may prevent processes to start, and is therefore discouraged.

opcache.validate_permission bool

Validates the cached file permissions against the current user.

opcache.validate_root bool

Prevents name collisions in chroot'ed environments. This should be enabled in all chroot'ed environments to prevent access to files outside the chroot.

opcache.preload string

Specifies a PHP script that is going to be compiled and executed at server start-up, and which may preload other files, either by includeing them or by using the opcache_compile_file() function. All the entities (e.g. functions and classes) defined in these files will be available to requests out of the box, until the server is shut down.

Nota:

Preloading is not supported on Windows.

opcache.preload_user string

Preloading code as root is not allowed for security reasons. This directive facilitates to let the preloading to be run as another user.

opcache.cache_id string

On Windows, all processes running the same PHP SAPI under the same user account having the same cache ID share a single OPcache instance. The value of the cache ID can be freely chosen.

opcache.jit string|int

For typical usage, this option accepts one of four string values:

  • disable: Completely disabled, cannot be enabled at runtime.
  • off: Disabled, but can be enabled at runtime.
  • tracing/on: Use tracing JIT. Enabled by default and recommended for most users.
  • function: Use function JIT.

For advanced usage, this option accepts a 4-digit integer CRTO, where the digits mean:

C (CPU-specific optimization flags)
  • 0: Disable CPU-specific optimization.
  • 1: Enable use of AVX, if the CPU supports it.
R (register allocation)
  • 0: Don't perform register allocation.
  • 1: Perform block-local register allocation.
  • 2: Perform global register allocation.
T (trigger)
  • 0: Compile all functions on script load.
  • 1: Compile functions on first execution.
  • 2: Profile functions on first request and compile the hottest functions afterwards.
  • 3: Profile on the fly and compile hot functions.
  • 4: Currently unused.
  • 5: Use tracing JIT. Profile on the fly and compile traces for hot code segments.
O (optimization level)
  • 0: No JIT.
  • 1: Minimal JIT (call standard VM handlers).
  • 2: Inline VM handlers.
  • 3: Use type inference.
  • 4: Use call graph.
  • 5: Optimize whole script.
The "tracing" mode corresponds to CRTO = 1254, the "function" mode corresponds to CRTO = 1205.

opcache.jit_buffer_size int

The amount of shared memory to reserve for compiled JIT code. A zero value disables the JIT.

Quando um integer é utilizado, o valor é medido em bytes. A resumida notação, como descrito neste FAQ, pode também ser usada.
opcache.jit_debug int

A bit mask specifying which JIT debug output to enable. For possible values, please consult zend_jit.h.

opcache.jit_bisect_limit int

Debugging option that disables JIT compilation after compiling a certain number of functions. This may be helpful to bisect the source of a JIT miscompilation.

opcache.jit_prof_threshold float

When using the "profile on first request" trigger mode, this threshold determines whether a function is considered hot. The number of calls to the function divided by the number of calls to all functions must be above the threshold. For example, a threshold of 0.005 means that functions that made up more than 0.5% of all calls will be JIT compiled.

opcache.jit_max_root_traces int

Maximum number of root traces.

opcache.jit_max_side_traces int

Maximum number of side traces a root trace may have.

opcache.jit_max_exit_counters int

Maximum number of side trace exit counters. This limits the total number of side traces there may be, across all root traces.

opcache.jit_hot_loop int

After how many iterations a loop is considered hot.

opcache.jit_hot_func int

After how many calls a function is considered hot.

opcache.jit_hot_return int

After how many returns a return is considered hot.

opcache.jit_hot_side_exit int

After how many exits a side exit is considered hot.

opcache.jit_blacklist_root_trace int

Maximum number of times the compilation of a root trace is attempted before it is blacklisted.

opcache.jit_blacklist_side_trace int

Maximum number of times the compilation of a side trace is attempted before it is blacklisted.

opcache.jit_max_loop_unrolls int

Maximum number of attempts to unroll a loop in a side trace, trying to reach the root trace and close the outer loop.

opcache.jit_max_recursive_calls int

Maximum number of unrolled recursive call loops.

opcache.jit_max_recursive_returns int

Maximum number of unrolled recursive return loops.

opcache.jit_max_polymorphic_calls int

Maximum number of attempts to inline polymorphic (dynamic or method) calls. Calls above this limit are treated as megamorphic and are not inlined.


  • « Configurações em Execução
  • Preloading »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão não tem recursos definidos.


Preloading

As of PHP 7.4.0, PHP can be configured to preload scripts into the opcache when the engine starts. Any symbols (functions, classes, etc.) in those files will then become globally available for all requests without needing to be explicitly included. That trades convenience and performance (because the code is always available) for baseline memory usage. It also requires restarting the PHP process to clear pre-loaded scripts, meaning this feature is only practical to use in production, not in a development environment.

Note that the optimal tradeoff between performance and memory may vary with the application. "Preload everything" may be the easiest strategy, but not necessarily the best strategy. Additionally, preloading is only useful when there is a persistent process from one request to another. That means while it can work in a CLI script if the opcache is enabled, it's generally pointless. The exception is when using preloading on FFI libraries.

Nota:

Preloading is not supported on Windows.

Configuring preloading involves two steps, and requires that the opcache be enabled. First, set the opcache.preload value in php.ini:

opcache.preload=preload.php

preload.php is an arbitrary file that will run once at server startup (PHP-FPM, mod_php, etc.) and load code into persistent memory. If PHP will be run as root (not recommended), the opcache.preload_user value can specify an alternate system user to run the preloading. Running preloading as root is not allowed.

In the preload.php script, any file referenced by include, include_once, require, require_once, or opcache_compile_file() will be parsed into persistent memory. In the following example, all .php files in the src directory will be preloaded, unless they are a Test file.

<?php
$directory = new RecursiveDirectoryIterator(__DIR__ . '/src');
$fullTree = new RecursiveIteratorIterator($directory);
$phpFiles = new RegexIterator($fullTree, '/.+((?<!Test)+\.php$)/i', RecursiveRegexIterator::GET_MATCH);

foreach ($phpFiles as $key => $file) {
    require_once($file[0]);
}
?>

Both include and opcache_compile_file() will work, but have different implications for how code gets handled.

  • include will execute code in the file, while opcache_compile_file() will not. That means only the former supports conditional declaration (functions declared inside an if-block).
  • Because include will execute code, nested included files will also be parsed and their declarations preloaded.
  • opcache_compile_file() can load files in any order. That is, if a.php defines class A and b.php defines class B that extends A, then opcache_compile_file() can load those two files in any order. When using include, however, a.php must be included first.
  • In either case, if a later script includes a file that has already been preloaded then its contents will still execute, but any symbols it defines will not be re-defined. Using include_once will not prevent the file from being included a second time.
Which approach is better therefore depends on the desired behavior. With code that would otherwise use an autoloader, opcache_compile_file() allows for greater flexibility. With code that would otherwise be loaded manually, include will be more robust.


OPcache Funções

Índice

  • opcache_compile_file — Compiles and caches a PHP script without executing it
  • opcache_get_configuration — Get configuration information about the cache
  • opcache_get_status — Get status information about the cache
  • opcache_invalidate — Invalidates a cached script
  • opcache_is_script_cached — Tells whether a script is cached in OPCache
  • opcache_reset — Resets the contents of the opcode cache


Compiles and caches a PHP script without executing it

  • « OPcache Funções
  • opcache_get_configuration »
  • PHP Manual
  • OPcache Funções
  • Compiles and caches a PHP script without executing it

opcache_compile_file

(PHP 5 >= 5.5.5, PHP 7, PHP 8, PECL ZendOpcache > 7.0.2)

opcache_compile_file — Compiles and caches a PHP script without executing it

Descrição

opcache_compile_file ( string $filename ) : bool

This function compiles a PHP script and adds it to the opcode cache without executing it. This can be used to prime the cache after a Web server restart by pre-caching files that will be included in later requests.

Parâmetros

filename

The path to the PHP script to be compiled.

Valor Retornado

Returns true if filename was compiled successfully ou false em caso de falha.

Erros

If filename cannot be loaded or compiled, an error of level E_WARNING is generated. You may use @ to suppress this warning.

Veja Também

  • opcache_invalidate() - Invalidates a cached script


Get configuration information about the cache

  • « opcache_compile_file
  • opcache_get_status »
  • PHP Manual
  • OPcache Funções
  • Get configuration information about the cache

opcache_get_configuration

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL ZendOpcache > 7.0.2)

opcache_get_configuration — Get configuration information about the cache

Descrição

opcache_get_configuration ( ) : array|false

This function returns configuration information about the cache instance

Valor Retornado

Returns an array of information, including ini, blacklist and version

Erros

If opcache.restrict_api is in use and the current path is in violation of the rule, an E_WARNING will be raised; no status information will be returned.

Veja Também

  • opcache_get_status() - Get status information about the cache


Get status information about the cache

  • « opcache_get_configuration
  • opcache_invalidate »
  • PHP Manual
  • OPcache Funções
  • Get status information about the cache

opcache_get_status

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL ZendOpcache > 7.0.2)

opcache_get_status — Get status information about the cache

Descrição

opcache_get_status ( bool $include_scripts = true ) : array|false

This function returns state information about the cache instance

Parâmetros

include_scripts

Include script specific state information

Valor Retornado

Returns an array of information, optionally containing script specific state information, ou false em caso de falha.

Erros

If opcache.restrict_api is in use and the current path is in violation of the rule, an E_WARNING will be raised; no status information will be returned.

Veja Também

  • opcache_get_configuration() - Get configuration information about the cache


Invalidates a cached script

  • « opcache_get_status
  • opcache_is_script_cached »
  • PHP Manual
  • OPcache Funções
  • Invalidates a cached script

opcache_invalidate

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL ZendOpcache >= 7.0.0)

opcache_invalidate — Invalidates a cached script

Descrição

opcache_invalidate ( string $filename , bool $force = false ) : bool

This function invalidates a particular script from the opcode cache. If force is unset or false, the script will only be invalidated if the modification time of the script is newer than the cached opcodes.

Parâmetros

filename

The path to the script being invalidated.

force

If set to true, the script will be invalidated regardless of whether invalidation is necessary.

Valor Retornado

Returns true if the opcode cache for filename was invalidated or if there was nothing to invalidate, or false if the opcode cache is disabled.

Veja Também

  • opcache_compile_file() - Compiles and caches a PHP script without executing it
  • opcache_reset() - Resets the contents of the opcode cache


Tells whether a script is cached in OPCache

  • « opcache_invalidate
  • opcache_reset »
  • PHP Manual
  • OPcache Funções
  • Tells whether a script is cached in OPCache

opcache_is_script_cached

(PHP 5 >= 5.5.11, PHP 7, PHP 8, PECL ZendOpcache >= 7.0.4)

opcache_is_script_cached — Tells whether a script is cached in OPCache

Descrição

opcache_is_script_cached ( string $filename ) : bool

This function checks if a PHP script has been cached in OPCache. This can be used to more easily detect the "warming" of the cache for a particular script.

Parâmetros

filename

The path to the PHP script to be checked.

Valor Retornado

Returns true if filename is cached in OPCache, false otherwise.

Veja Também

  • opcache_compile_file() - Compiles and caches a PHP script without executing it


Resets the contents of the opcode cache

  • « opcache_is_script_cached
  • Controle de Saída »
  • PHP Manual
  • OPcache Funções
  • Resets the contents of the opcode cache

opcache_reset

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL ZendOpcache >= 7.0.0)

opcache_reset — Resets the contents of the opcode cache

Descrição

opcache_reset ( ) : bool

This function resets the entire opcode cache. After calling opcache_reset(), all scripts will be reloaded and reparsed the next time they are hit.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the opcode cache was reset, or false if the opcode cache is disabled.

Veja Também

  • opcache_invalidate() - Invalidates a cached script


Controle de Saída de Buffer

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Exemplos
  • Funções para Control de Saída
    • flush — Descarrega o buffer de saída
    • ob_clean — Limpa (apaga) o buffer de saída
    • ob_end_clean — Limpa (apaga) o buffer de saída e desativa o buffer de saída
    • ob_end_flush — Descarrega (envia) o buffer de saída e desativa o buffer de saída
    • ob_flush — Descarrega (envia) o conteúdo do buffer de saída
    • ob_get_clean — Obtém o conteudo do buffer e exclui o buffer de saída atual
    • ob_get_contents — Retorna o conteúdo do buffer de saída
    • ob_get_flush — Flush the output buffer, return it as a string and turn off output buffering
    • ob_get_length — Retorna o tamanho do buffer de saída
    • ob_get_level — Retorna o nível do mecanismo de buffer de saída
    • ob_get_status — Obtém a situação dos buffers de saída
    • ob_gzhandler — Função de callback para ob_start para compactar com gzip o buffer de saída
    • ob_implicit_flush — Ativa ou desativa o descarregar implicito
    • ob_list_handlers — List all output handlers in use
    • ob_start — Ativa o buffer de saída
    • output_add_rewrite_var — Add URL rewriter values
    • output_reset_rewrite_vars — Reset URL rewriter values


Introdução

As funções de Controle de Saída permitem a você controlar quando a saída é enviada do script. Isto pode ser util em várias situações diversas, especialmente se você precisa enviar cabeçalhos para o browser depois que seu script começou a enviar dados. As funções de controle de saída não afetam os cabeçalhos enviados usando header() ou setcookie(), somente funções como echo e dados entre blocos de código PHP.

Nota:

Quando atualizando a partir do PHP 4.1 (e 4.2) para 4.3 note que devido a um bug nas versões anteriores, você deve ter certeza que implict_flush esta em OFF no seu php.ini, se não qualquer saída com ob_start() não será escondida da saída.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração de controle de saída
Nome | Padrão | Modificavel | Changelog
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Disponível desde o PHP 4.0.4.
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR no PHP <= 4.2.3.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

output_buffering boolean/integer

Você pode ativar o buffer de saída para todos os arquivos definindo esta dretiva para 'On'. Se você quiser limitar o tamanho do buffer para um certo limite - você pode usar um número máximo de bytes ao invés de 'On', como valor para esta diretiva (ex., output_buffering=4096). No PHP 4.3.5, esta diretiva é sempre Off em PHP-CLI.

output_handler string

Você pode redirecionar toda a saída do seu script para uma função. Por exemplo, se você definir set output_handler para mb_output_handler(), a codificação dos caracteres será transparentemente convertida para a codificação especificada. Definindo qualquer função para gerenciar a saída ativa o buffer de saída.

Nota:

Você não pode usar mb_output_handler() com
ob_iconv_handler() e você não pode usar
ob_gzhandler() e
zlib.output_compression.

Nota:

Somente funções nativas podem ser usadas com esta diretiva. Para funções definidas pelo usuário, use ob_start().

implicit_flush boolean

false por padrão. Mudando isto para true diz ao PHP para dizer para a camada de saída descarregar a si mesma automaticamente a cada bloco de saída. Isto é equivalente a utilizar a função do PHP flush() a cada print ou echo e a cada bloco de HTML.

Quando estiver usando o PHP em um ambiente web, ativando esta opção tem uma séria implicação na performance e geralmente é recomendada apenas para debug. O valor padrão é true quando operando sobre CLI SAPI.

Veja também ob_implicit_flush().

url_rewriter.tags string
url_rewriter.tags especifica quais tags HTML serão reescritas por valores de output_add_rewrite_var(). Padrão para a=href,area=href,frame=src,input=src,form= form é uma tag especial. <input hidden="session_id" name="session_name"> é adicionada como uma variável de formulário.

Nota: Antes do PHP 7.1.0, url_rewriter.tags era utilizada para especificar session.trans_sid_tags. Desde o PHP 7.1.0 fieldset não é mais considerada uma tag especial.

url_rewriter.hosts string
url_rewriter.hosts especifica quais nomes de hosts são reescritos para incluir valores de output_add_rewrite_var(). Padrão para $_SERVER['HTTP_HOST']. Vários hosts podem ser especificados, separados por "," e sem espaços entre os nomes. Por exemplo php.net,wiki.php.net,bugs.php.net


Constantes pré-definidas

As constantes listadas abaixo estão sempre disponíveis como parte do núcleo do PHP.

PHP_OUTPUT_HANDLER_START (int)

Indicates that output buffering has begun.

PHP_OUTPUT_HANDLER_WRITE (int)

Indicates that the output buffer is being flushed, and had data to output.

Available since PHP 5.4.

PHP_OUTPUT_HANDLER_FLUSH (int)

Indicates that the buffer has been flushed.

Available since PHP 5.4.

PHP_OUTPUT_HANDLER_CLEAN (int)

Indicates that the output buffer has been cleaned.

Available since PHP 5.4.

PHP_OUTPUT_HANDLER_FINAL (int)

Indicates that this is the final output buffering operation.

Available since PHP 5.4.

PHP_OUTPUT_HANDLER_CONT (int)

Indicates that the buffer has been flushed, but output buffering will continue.

As of PHP 5.4, this is an alias for PHP_OUTPUT_HANDLER_WRITE.

PHP_OUTPUT_HANDLER_END (int)

Indicates that output buffering has ended.

As of PHP 5.4, this is an alias for PHP_OUTPUT_HANDLER_FINAL.

PHP_OUTPUT_HANDLER_CLEANABLE (int)

Controls whether an output buffer created by ob_start() can be cleaned.

Available since PHP 5.4.

PHP_OUTPUT_HANDLER_FLUSHABLE (int)

Controls whether an output buffer created by ob_start() can be flushed.

Available since PHP 5.4.

PHP_OUTPUT_HANDLER_REMOVABLE (int)

Controls whether an output buffer created by ob_start() can be removed before the end of the script.

Available since PHP 5.4.

PHP_OUTPUT_HANDLER_STDFLAGS (int)

The default set of output buffer flags; currently equivalent to PHP_OUTPUT_HANDLER_CLEANABLE | PHP_OUTPUT_HANDLER_FLUSHABLE | PHP_OUTPUT_HANDLER_REMOVABLE.

Available since PHP 5.4.


  • « Constantes pré-definidas
  • Exemplos »
  • PHP Manual
  • Controle de Saída
  • Exemplos

Exemplos

Índice

  • Exemplos


Exemplos

Exemplo #1 Exemplo de Controle de Saída

<?php

ob_start();
echo "Hello\n";

setcookie("cookiename", "cookiedata");

ob_end_flush();

?>

No exmplo acima, a saída de echo será guardada no bffer de saída até que ob_end_flush() seja chamada. Em quanto isto, a chamada para setcookie() guadará o cookie sem causar um erro. (Normalmente você não pode enviar cabeçalhos para o browser depois que dados já foram enviados.)


Funções para Control de Saída

Veja Também

Veja também header() e setcookie().

Índice

  • flush — Descarrega o buffer de saída
  • ob_clean — Limpa (apaga) o buffer de saída
  • ob_end_clean — Limpa (apaga) o buffer de saída e desativa o buffer de saída
  • ob_end_flush — Descarrega (envia) o buffer de saída e desativa o buffer de saída
  • ob_flush — Descarrega (envia) o conteúdo do buffer de saída
  • ob_get_clean — Obtém o conteudo do buffer e exclui o buffer de saída atual
  • ob_get_contents — Retorna o conteúdo do buffer de saída
  • ob_get_flush — Flush the output buffer, return it as a string and turn off output buffering
  • ob_get_length — Retorna o tamanho do buffer de saída
  • ob_get_level — Retorna o nível do mecanismo de buffer de saída
  • ob_get_status — Obtém a situação dos buffers de saída
  • ob_gzhandler — Função de callback para ob_start para compactar com gzip o buffer de saída
  • ob_implicit_flush — Ativa ou desativa o descarregar implicito
  • ob_list_handlers — List all output handlers in use
  • ob_start — Ativa o buffer de saída
  • output_add_rewrite_var — Add URL rewriter values
  • output_reset_rewrite_vars — Reset URL rewriter values


Descarrega o buffer de saída

  • « Funções para Control de Saída
  • ob_clean »
  • PHP Manual
  • Funções para Control de Saída
  • Descarrega o buffer de saída

flush

(PHP 4, PHP 5, PHP 7, PHP 8)

flush — Descarrega o buffer de saída

Descrição

flush ( ) : void

Descarrega os buffers de saída do PHP e qualquer backend que o PHP esteja usando (CGI, um servidor web, etc). Isto efetivamente tenta empurrar toda a saída até aqui para o browser do usuário.

flush() não tem efeito no funcionamento de buffer do seu servidor ou do browser do cliente.

Vários servidores, especialmente no Win32, irão continuar colocando a saída do script em buffer até que ele termine antes de enviar os resultados para o browser.

Módulos de servidor para o Apache como o mod_gzip podem fazer buffer por si o que fará com que flush() não resulte em os dados serem enviados imediatamente para o cliente.

mesmo o browser pode fazer buffer antes de mostrar o conteúdo. Netscape, por exemplo, guarda o texto em buffer até que receba um end-of-line ou o inicio de uma tag, e não irá mostrar tabelas até que a tag </table> da tabela mais de fora seja vista.

Algumas versões do Microsoft Internet Explorer somente começaram a mostrar dados depois de terem recebido 256 bytes de saída, então você vai precisar enviar espaço em branco antes de descarregar para os browser para mostrar a página.


Limpa (apaga) o buffer de saída

  • « flush
  • ob_end_clean »
  • PHP Manual
  • Funções para Control de Saída
  • Limpa (apaga) o buffer de saída

ob_clean

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ob_clean — Limpa (apaga) o buffer de saída

Descrição

ob_clean ( ) : void

Esta função descarta o conteúdo do buffer de saída.

Esta função não destroi o buffer de saída como a função ob_end_clean() faz.

Valor Retornado

Não há valor retornado.

Veja Também

  • ob_flush() - Descarrega (envia) o conteúdo do buffer de saída
  • ob_end_flush() - Descarrega (envia) o buffer de saída e desativa o buffer de saída
  • ob_end_clean() - Limpa (apaga) o buffer de saída e desativa o buffer de saída


Limpa (apaga) o buffer de saída e desativa o buffer de saída

  • « ob_clean
  • ob_end_flush »
  • PHP Manual
  • Funções para Control de Saída
  • Limpa (apaga) o buffer de saída e desativa o buffer de saída

ob_end_clean

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_end_clean — Limpa (apaga) o buffer de saída e desativa o buffer de saída

Descrição

ob_end_clean ( ) : bool

Esta função descarta o conteúdo do buffer mais em cima e desativa o buffer de saída. Se você quiser processar o conteúdo do buffer, você deve utilizar a função ob_get_contents() antes de ob_end_clean() já que o conteúdo do buffer é descartado quando a função ob_end_flush() é chamada. A função retorna true quando foi bem sucedida em discartar o buffer, false se não. Razões para falhar é primeiro que você utilizou a função sem um buffer ativo ou por algum motivo o buffer não pode ser excluído (possivelmente por um buffer especial).

O exemplo a seguir mostra como eliminar todos os buffers de saída:

Exemplo #1 Exemplo ob_end_clean()

<?php
ob_start();
echo 'Texto que não será exibido.';
ob_end_clean();
?>

Nota: Se a função falhar gera um E_NOTICE. O valor booleano de rtorno foi adicionado no PHP 4.2.0.

Veja também ob_start(),
ob_get_contents() e
ob_flush().


Descarrega (envia) o buffer de saída e desativa o buffer de saída

  • « ob_end_clean
  • ob_flush »
  • PHP Manual
  • Funções para Control de Saída
  • Descarrega (envia) o buffer de saída e desativa o buffer de saída

ob_end_flush

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_end_flush — Descarrega (envia) o buffer de saída e desativa o buffer de saída

Descrição

ob_end_flush ( ) : bool

Esta função irá enviar o conteúdo do buffer mais em cima (se existir algum) e desativar o buffer de saída. Se você quiser processar o conteúdo do buffer você deverá utilizar ob_get_contents() antes de ob_end_flush() já que o conteúdo do buffer é discartado após ob_end_flush(). A função retorna true quando é bem sucedida em discartar um buffer, false se não. Razões para falhar é primeiro que você utilizou a função sem um buffer ativo ou por algum motivo o buffer não pode ser excluído (possivelmente por um buffer especial).

Nota: Esta função é que parecida com ob_get_flush(), exceto que ob_get_flush() retorna o buffer como uma string.

O exemplo a seguir mostra como descarregar e terminar com todos os buffers de saída:

Exemplo #1 Exemplo ob_end_flush()

<?php
  while (@ob_end_flush());
?>

Nota: Se a função falhar gera um E_NOTICE. O valor booleano de rtorno foi adicionado no PHP 4.2.0.

Veja também ob_start(),
ob_get_contents(),
ob_get_flush(),
ob_flush() e
ob_end_clean().


Descarrega (envia) o conteúdo do buffer de saída

  • « ob_end_flush
  • ob_get_clean »
  • PHP Manual
  • Funções para Control de Saída
  • Descarrega (envia) o conteúdo do buffer de saída

ob_flush

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ob_flush — Descarrega (envia) o conteúdo do buffer de saída

Descrição

ob_flush ( ) : void

Esta função irá enviar o conteúdo do buffer de saída (se existir algum). Se você quiser processar o conteúdo do buffer você deverá utlizar ob_get_contents() antes de ob_flush() já que o conteúdo do buffer é descartado após ob_flush().

Esta função não destroi o buffer de saída como a função ob_end_flush() faz.

Valor Retornado

Não há valor retornado.

Veja Também

  • ob_get_contents() - Retorna o conteúdo do buffer de saída
  • ob_clean() - Limpa (apaga) o buffer de saída
  • ob_end_flush() - Descarrega (envia) o buffer de saída e desativa o buffer de saída
  • ob_end_clean() - Limpa (apaga) o buffer de saída e desativa o buffer de saída


Obtém o conteudo do buffer e exclui o buffer de saída atual

  • « ob_flush
  • ob_get_contents »
  • PHP Manual
  • Funções para Control de Saída
  • Obtém o conteudo do buffer e exclui o buffer de saída atual

ob_get_clean

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ob_get_clean — Obtém o conteudo do buffer e exclui o buffer de saída atual

Descrição

ob_get_clean ( ) : string

Esta função irá retornar o conteúdo do buffer de saída e terminar com o buffer de saída. Se o buffer de saída não estiver ativo então será retornado false. ob_get_clean() essencialmente executa ambas ob_get_contents() e ob_end_clean().

Exemplo #1 Um exemplo simples de ob_get_clean()

<?php

ob_start();

print "Hello World";

$out = ob_get_clean();
$out = strtolower($out);

var_dump($out);
?>

Nosso exemplo irá mostrar:

string(11) "hello world"

Veja também ob_start() e ob_get_contents().


Retorna o conteúdo do buffer de saída

  • « ob_get_clean
  • ob_get_flush »
  • PHP Manual
  • Funções para Control de Saída
  • Retorna o conteúdo do buffer de saída

ob_get_contents

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_get_contents — Retorna o conteúdo do buffer de saída

Descrição

ob_get_contents ( ) : string

Obtém o conteúdo do buffer de saída.

Valor Retornado

Isto irá retornar o conteúdo do buffer de saída ou false, se não está fazendo buffer.

Exemplos

Exemplo #1 Um simples exemplo da ob_get_contents()

<?php

ob_start();

echo "Hello ";

$out1 = ob_get_contents();

echo "World";

$out2 = ob_get_contents();

ob_end_clean();

var_dump($out1, $out2);
?>

O exemplo acima irá imprimir:

string(6) "Hello "
string(11) "Hello World"

Veja Também

  • ob_start() - Ativa o buffer de saída
  • ob_get_length() - Retorna o tamanho do buffer de saída


Flush the output buffer, return it as a string and turn off output buffering

  • « ob_get_contents
  • ob_get_length »
  • PHP Manual
  • Funções para Control de Saída
  • Flush the output buffer, return it as a string and turn off output buffering

ob_get_flush

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ob_get_flush — Flush the output buffer, return it as a string and turn off output buffering

Descrição

ob_get_flush ( ) : string|false

ob_get_flush() flushes the output buffer, return it as a string and turns off output buffering.

The output buffer must be started by ob_start() with PHP_OUTPUT_HANDLER_FLUSHABLE flag. Otherwise ob_get_flush() will not work.

Nota: This function is similar to ob_end_flush(), except that this function also returns the buffer as a string.

Valor Retornado

Returns the output buffer or false if no buffering is active.

Exemplos

Exemplo #1 ob_get_flush() example

<?php
//using output_buffering=On
print_r(ob_list_handlers());

//save buffer in a file
$buffer = ob_get_flush();
file_put_contents('buffer.txt', $buffer);

print_r(ob_list_handlers());
?>

O exemplo acima irá imprimir:

Array
(
    [0] => default output handler
)
Array
(
)

Veja Também

  • ob_end_clean() - Limpa (apaga) o buffer de saída e desativa o buffer de saída
  • ob_end_flush() - Descarrega (envia) o buffer de saída e desativa o buffer de saída
  • ob_list_handlers() - List all output handlers in use


Retorna o tamanho do buffer de saída

  • « ob_get_flush
  • ob_get_level »
  • PHP Manual
  • Funções para Control de Saída
  • Retorna o tamanho do buffer de saída

ob_get_length

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

ob_get_length — Retorna o tamanho do buffer de saída

Descrição

ob_get_length ( ) : int

Este irá retonar o tamanho do conteúdo do buffer de saída.

Valor Retornado

Retorna o tamanho do conteúdo do buffer de saída ou false se não está fazendo buffer.

Exemplos

Exemplo #1 Um simples exemplo da ob_get_length()

<?php

ob_start();

echo "Hello ";

$len1 = ob_get_length();

echo "World";

$len2 = ob_get_length();

ob_end_clean();

echo $len1 . ", ." . $len2;
?>

O exemplo acima irá imprimir:

6, 11

Veja Também

  • ob_start() - Ativa o buffer de saída
  • ob_get_contents() - Retorna o conteúdo do buffer de saída


Retorna o nível do mecanismo de buffer de saída

  • « ob_get_length
  • ob_get_status »
  • PHP Manual
  • Funções para Control de Saída
  • Retorna o nível do mecanismo de buffer de saída

ob_get_level

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ob_get_level — Retorna o nível do mecanismo de buffer de saída

Descrição

ob_get_level ( ) : int

Isto irá retornar o nível de manipuladores de buffer aninhados ou zero se o mecanismo de buffer de saída não estiver ativado.

Veja também ob_start() e ob_get_contents().


Obtém a situação dos buffers de saída

  • « ob_get_level
  • ob_gzhandler »
  • PHP Manual
  • Funções para Control de Saída
  • Obtém a situação dos buffers de saída

ob_get_status

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ob_get_status — Obtém a situação dos buffers de saída

Descrição

ob_get_status ( bool $ full_status = ? ) : array
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Esta função retorna o estado atual dos buffers de saída. Retorna uma matriz que contém o estado dos buffers ou false em caso de erro.

Veja também ob_get_level().


Função de callback para ob_start para compactar com gzip o buffer de saída

  • « ob_get_status
  • ob_implicit_flush »
  • PHP Manual
  • Funções para Control de Saída
  • Função de callback para ob_start para compactar com gzip o buffer de saída

ob_gzhandler

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ob_gzhandler — Função de callback para ob_start para compactar com gzip o buffer de saída

Descrição

ob_gzhandler ( string $buffer , int $mode = ? ) : string

ob_gzhandler() é intencionado para ser usado como uma função de callback para ob_start() para facilitar o envio de dados gz-encoded para browsers que suportam páginas comprimidas. Antes de ob_gzhandler() enviar dados comprimidos, ela determina qual o tipo de códificação de conteúdo que o browser irá aceitar ("gzip", "deflate" ou nenhum) e irá retornar a sua saída de acordo. Todos os browsers são suportados já que é dever do browser enviar o cabeçalho correto indicando que ele aceita paginas comprimidas.

Nota:

mode foi adicionado no PHP 4.0.5.

Exemplo #1 Exemplo ob_gzhandler()

<?php

ob_start("ob_gzhandler");

?>
<html>
<body>
<p>This should be a compressed page.</p>
</html>
<body>

Nota:

Você não pode usar ambas ob_gzhandler() e ini.zlib.output_compression. Também note que usar ini.zlib.output_compression é preferrível do que ob_gzhandler().

Veja também ob_start() e ob_end_flush().


Ativa ou desativa o descarregar implicito

  • « ob_gzhandler
  • ob_list_handlers »
  • PHP Manual
  • Funções para Control de Saída
  • Ativa ou desativa o descarregar implicito

ob_implicit_flush

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_implicit_flush — Ativa ou desativa o descarregar implicito

Descrição

ob_implicit_flush ( int $flag = ? ) : void

ob_implicit_flush() irá ativar ou desativar o descarregar implicito (se não for indicado flag, o padrão é on). O descarregar implicito fará com que o buffer seja descarregado a cada operação de saída, então não será mais necessário utilizar flush().

Ativando o descarregar automatico irá desabilitar o buffer de saída. Os buffers de saída atuais serão enviados como se ob_end_flush() fosse utilizada.

Veja também flush(),
ob_start(), e
ob_end_flush().


List all output handlers in use

  • « ob_implicit_flush
  • ob_start »
  • PHP Manual
  • Funções para Control de Saída
  • List all output handlers in use

ob_list_handlers

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ob_list_handlers — List all output handlers in use

Descrição

ob_list_handlers ( ) : array

Lists all output handlers in use.

Valor Retornado

This will return an array with the output handlers in use (if any). If output_buffering is enabled or an anonymous function was used with ob_start(), ob_list_handlers() will return "default output handler".

Exemplos

Exemplo #1 ob_list_handlers() example

<?php
//using output_buffering=On
print_r(ob_list_handlers());
ob_end_flush();

ob_start("ob_gzhandler");
print_r(ob_list_handlers());
ob_end_flush();

// anonymous functions
ob_start(function($string) { return $string; });
print_r(ob_list_handlers());
ob_end_flush();
?>

O exemplo acima irá imprimir:

Array
(
    [0] => default output handler
)

Array
(
    [0] => ob_gzhandler
)

Array
(
    [0] => Closure::__invoke
)

Veja Também

  • ob_end_clean() - Limpa (apaga) o buffer de saída e desativa o buffer de saída
  • ob_end_flush() - Descarrega (envia) o buffer de saída e desativa o buffer de saída
  • ob_get_flush() - Flush the output buffer, return it as a string and turn off output buffering
  • ob_start() - Ativa o buffer de saída


Ativa o buffer de saída

  • « ob_list_handlers
  • output_add_rewrite_var »
  • PHP Manual
  • Funções para Control de Saída
  • Ativa o buffer de saída

ob_start

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_start — Ativa o buffer de saída

Descrição

ob_start ( callable $output_callback = null , int $chunk_size = 0 , int $flags = PHP_OUTPUT_HANDLER_STDFLAGS ) : bool

Esta função irá ativar o buffer de saída. Enquanto o buffer de saída estiver ativo, não é enviada a saída do script (outros que não sejam cabeçalhos), ao invés a saída é guardada em um buffer interno.

O conteúdo deste buffer interno pode ser copiado em uma variável usando ob_get_contents(). Para enviar o que esta no buffer interno, use ob_end_flush(). Alternativamente, ob_end_clean() irá silenciosamente descartar o conteúdo do buffer.

Aviso

Alguns servidores web (Apache, por exemplo) modificam o diretório de trabalho de um script no momento da chamada da função de callback. Você pode modificar para o diretório anterior fazendo um chdir(dirname($_SERVER['SCRIPT_FILENAME'])) no corpo da função callback.

Buffers de saída são empilháveis, ou seja, você pode utilizar ob_start() enquanto outro ob_start() estiver ativo. Apenas tenha certeza que você utiliza ob_end_flush() o número apropriado de vezes. Se multiplas funções de callback de saída estiverem ativas, a saída será filtrada sequencialmente atráves de cada uma delas na ordem de aninhamento.

Parâmetros

output_callback

Uma função de callback opcional output_callback também pode ser especificada. Esta função tem um parâmetro string e deve retornar uma string. Esta função será chamada quando o buffer é descarregado (flush), limpo (com ob_flush(), ob_clean() ou função similar) ou quando o buffer de saída for descarregado ao final da requisição. Quando output_callback for chamada ela irá receber o conteúdo do buffer como seu parâmetro e é esperado que ela retorne um novo buffer de saída como resultado, o qual será enviado para o navegador. Se output_callback não é uma função que possa ser chamada, esta função irá retornar false. O callback deve ter a seguinte assinatura:

handler ( string $buffer , int $phase = ? ) : string
buffer
O conteúdo original do buffer.
phase
Bitmask das constantes PHP_OUTPUT_HANDLER_*.

Se output_callback retornar false então o buffer original é enviado ao navegador.

O parâmetro output_callback pode ser ignorado informando um null como seu valor.

ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush() e ob_start() não podem ser chamados de dentro da função callback. Se chamá-las dentro da função callback, o comportamenteo é indefinido. Se você quiser limpar o conteúdo do buffer, retorne "" (a null string) de dentro da função callback. Você não pode chamar outras funções que utilizam o buffer de saída como print_r($expression, true) ou highlight_file($filename, true) de dentro da função callback.

Nota:

A função ob_gzhandler() existe para facilitar o envio de dados comprimidos no formato gz à navegadores que suportam páginas web compactadas. ob_gzhandler() determina que tipo de codificação de conteúdos os navegadores podem aceitar e retorna o resultado com base nessas informações.

chunk_size

Se o parâmetro opcional chunk_size é informado, o buffer será descarregado em qualquer ponto de output que cause o buffer ter dados de tamanho igual ou maior que chunk_size. O valor padrão é 0, que significa que o função de output só será chamada quando o buffer de saída é fechado.

Anteriormente ao PHP 5.4.0 o valor 1 era um caso especial que configurava chunk size para 4096 bytes.

flags

O parâmetro flags é um bitmask que controla as operações que podem ser realizadas no buffer de saída. O padrão é permitir que o buffer de saída possa ser limpo, descarregado ou removido, o que pode ser configurado explicitamente como PHP_OUTPUT_HANDLER_CLEANABLE | PHP_OUTPUT_HANDLER_FLUSHABLE | PHP_OUTPUT_HANDLER_REMOVABLE, ou pelo atalho PHP_OUTPUT_HANDLER_STDFLAGS.

Cada flasg controla o acesso das funções, como descrito a seguir::

Constante | Funções
PHP_OUTPUT_HANDLER_CLEANABLE | ob_clean(), ob_end_clean() e ob_get_clean().
PHP_OUTPUT_HANDLER_FLUSHABLE | ob_end_flush(), ob_flush() e ob_get_flush().
PHP_OUTPUT_HANDLER_REMOVABLE | ob_end_clean(), ob_end_flush() e ob_get_flush().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.0.0 | Se ob_start() é utilizado dentro de uma função de callback, esta função não lança mais um E_ERROR mas agora E_RECOVERABLE_ERROR, permitindo assim que manipuladores de erros capturem essa situação.
5.4.0 | O terceiro parâmetro de ob_start() mudou de um boolean chamado erase (que, configurado para false, evitava o buffer de saída de ser apagado até o final da execução) para um parâmetro integer chamado flags. Infelizmente isso é uma quebra de compatibilidade reversa para códigos escritos antes do PHP 5.4.0 que utilizem o terceiro parâmetro. Veja o exemplo de flags para ver como lidar com código que precisa ser compatível com ambas as formas.
5.4.0 | Um chunk size de 1 agora configura a descarga de blocos de 1 byte enviados ao navegador.
4.3.2 | Esta função foi modificada para retornar false no caso de output_callback não for executável.

Exemplos

Exemplo #1 Exemplo de uma função de callback

<?php

function callback($buffer)
{
  // substitui apples por oranges
  return (str_replace("apples", "oranges", $buffer));
}

ob_start("callback");

?>
<html>
<body>
<p>It's like comparing apples to oranges.</p>
</body>
</html>
<?php

ob_end_flush();

?>

O exemplo acima irá imprimir:

<html>
<body>
<p>It's like comparing oranges to oranges.</p>
</body>
</html>

Exemplo #2 Criando um buffer de saída não apagável compatível com PHP 5.3 e 5.4

<?php

if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
  ob_start(null, 0, PHP_OUTPUT_HANDLER_STDFLAGS ^
    PHP_OUTPUT_HANDLER_REMOVABLE);
} else {
  ob_start(null, 0, false);
}

?>

Veja Também

  • ob_get_contents() - Retorna o conteúdo do buffer de saída
  • ob_end_clean() - Limpa (apaga) o buffer de saída e desativa o buffer de saída
  • ob_end_flush() - Descarrega (envia) o buffer de saída e desativa o buffer de saída
  • ob_implicit_flush() - Ativa ou desativa o descarregar implicito
  • ob_gzhandler() - Função de callback para ob_start para compactar com gzip o buffer de saída
  • ob_iconv_handler() - Convert character encoding as output buffer handler
  • mb_output_handler() - Callback function converts character encoding in output buffer
  • ob_tidyhandler() - ob_start callback function to repair the buffer


Add URL rewriter values

  • « ob_start
  • output_reset_rewrite_vars »
  • PHP Manual
  • Funções para Control de Saída
  • Add URL rewriter values

output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

output_add_rewrite_var — Add URL rewriter values

Descrição

output_add_rewrite_var ( string $name , string $value ) : bool

This function adds another name/value pair to the URL rewrite mechanism. The name and value will be added to URLs (as GET parameter) and forms (as hidden input fields) the same way as the session ID when transparent URL rewriting is enabled with session.use_trans_sid.

This function's behaviour is controlled by the url_rewriter.tags and url_rewriter.hosts php.ini parameters.

Note that this function can be successfully called at most once per request.

Nota: Calling this function will implicitly start output buffering if it is not active already.

Parâmetros

name

The variable name.

value

The variable value.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.1.0 | Before PHP 7.1.0, rewrite vars set by output_add_rewrite_var() use the same Session module trans sid output buffer. Since PHP 7.1.0, dedicated output buffer is used, url_rewriter.tags is used solely for output functions, url_rewriter.hosts is added.

Exemplos

Exemplo #1 output_add_rewrite_var() example

<?php
output_add_rewrite_var('var', 'value');

// some links
echo '<a href="file.php">link</a>
<a href="http://example.com">link2</a>';

// a form
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';

print_r(ob_list_handlers());
?>

O exemplo acima irá imprimir:

<a href="file.php?var=value">link</a>
<a href="http://example.com">link2</a>

<form action="script.php" method="post">
<input type="hidden" name="var" value="value" />
<input type="text" name="var2" />
</form>

Array
(
    [0] => URL-Rewriter
)

Veja Também

  • output_reset_rewrite_vars() - Reset URL rewriter values
  • ob_flush() - Descarrega (envia) o conteúdo do buffer de saída
  • ob_list_handlers() - List all output handlers in use
  • url_rewriter.tags
  • url_rewriter.hosts
  • session.trans_sid_tags
  • session.trans_sid_hosts


Reset URL rewriter values

  • « output_add_rewrite_var
  • Opções/Info do PHP »
  • PHP Manual
  • Funções para Control de Saída
  • Reset URL rewriter values

output_reset_rewrite_vars

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

output_reset_rewrite_vars — Reset URL rewriter values

Descrição

output_reset_rewrite_vars ( ) : bool

This function resets the URL rewriter and removes all rewrite variables previously set by the output_add_rewrite_var() function.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.1.0 | Before PHP 7.1.0, rewrite vars set by output_add_rewrite_var() use the same Session module trans sid output buffer. Since PHP 7.1.0, dedicated output buffer is used and output_reset_rewrite_vars() only removes rewrite vars defined by output_add_rewrite_var().

Exemplos

Exemplo #1 output_reset_rewrite_vars() example

<?php
session_start();
output_add_rewrite_var('var', 'value');

echo '<a href="file.php">link</a>';
ob_flush();

output_reset_rewrite_vars();
echo '<a href="file.php">link</a>';
?>

O exemplo acima irá imprimir:

<a href="file.php?PHPSESSID=xxx&var=value">link</a>
<a href="file.php">link</a>

Veja Também

  • output_add_rewrite_var() - Add URL rewriter values
  • ob_flush() - Descarrega (envia) o conteúdo do buffer de saída
  • ob_list_handlers() - List all output handlers in use
  • url_rewriter.tags
  • url_rewriter.hosts
  • session.trans_sid_tags
  • session.trans_sid_hosts


Informações e Opções do PHP

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções para Opções/Info do PHP
    • assert_options — Define/Obtém várias opções do assert
    • assert — Confere se uma afirmação é false
    • cli_get_process_title — Returns the current process title
    • cli_set_process_title — Sets the process title
    • dl — Carrega uma extensão do PHP durante a execução
    • extension_loaded — Indica quando uma extensão esta carregada
    • gc_collect_cycles — Forces collection of any existing garbage cycles
    • gc_disable — Deactivates the circular reference collector
    • gc_enable — Activates the circular reference collector
    • gc_enabled — Returns status of the circular reference collector
    • gc_mem_caches — Reclaims memory used by the Zend Engine memory manager
    • gc_status — Gets information about the garbage collector
    • get_cfg_var — Obtém o valor de uma opção de configuração do PHP
    • get_current_user — Obtém o nome do dono do script PHP atual
    • get_defined_constants — Retorna uma matriz associativa com os nomes de todas as constantes e seus valores
    • get_extension_funcs — Retorna uma matriz com os nomes de funções de um módulo
    • get_include_path — Obtém a opção de configuração include_path atual
    • get_included_files — Retorna uma matriz com os nomes dos arquivos incluídos ou requeridos
    • get_loaded_extensions — Retorna uma matriz com os nomes de todos os módulos compilados e carregados
    • get_magic_quotes_gpc — Obtém a configuração atual de magic_quotes_gpc
    • get_magic_quotes_runtime — Obtém a configuração ativa para magic_quotes_runtime
    • get_required_files — Sinônimo de get_included_files
    • get_resources — Returns active resources
    • getenv — Obtém uma variável de ambiente
    • getlastmod — Obtém o tempo da última modificação na pagina
    • getmygid — Obtém o GID do dono do script PHP
    • getmyinode — Obtém o inode do script atual
    • getmypid — Obtém o ID do processo PHP
    • getmyuid — Obtém o UID do dono do script PHP
    • getopt — Obtém opções da lista de argumentos da linha de comando
    • getrusage — Obtém a utilização de recursos
    • ini_alter — Sinônimo de ini_set
    • ini_get_all — Obtém todas as opções de configuração
    • ini_get — Obtém o valor de uma opção de configuração
    • ini_restore — Restaura o valor de uma opção de configuração
    • ini_set — Define o valor de uma opção de configuração
    • main — Marcador para main
    • memory_get_peak_usage — Returns the peak of memory allocated by PHP
    • memory_get_usage — Retorna a quantidade de memória alocada para PHP
    • php_ini_loaded_file — Retrieve a path to the loaded php.ini file
    • php_ini_scanned_files — Retorna uma lista dos arquivos ini interpretados a partir do diretório ini adicional
    • php_sapi_name — Retorna o tipo de interface entre o servidor web e o PHP
    • php_uname — Retorna informação sobre o sistema operacional que o PHP foi construído
    • phpcredits — Mostra os créditos pelo PHP
    • phpinfo — Mostra muitas informações sobre o PHP
    • phpversion — Obtém a versão atual do PHP
    • putenv — Define o valor de uma variável de ambiente
    • restore_include_path — Restaura o valor da opção de configuração include_path
    • set_include_path — Define a opção de configuração include_path
    • set_time_limit — Limita o tempo de execução do script
    • sys_get_temp_dir — Returns directory path used for temporary files
    • version_compare — Compares two "PHP-standardized" version number strings
    • zend_thread_id — Returns a unique identifier for the current thread
    • zend_version — Obtém a versão da Zend engine que esta sendo executada


Introdução

Estas funções permitem a você obter muitas informações sobre o PHP em si, ex. Configurações em tempo de execução, extensões carregadas, versão e muito mais. Você também encontrará funções para definir opções durante a execução. A provavelmente mais conhecida função do PHP - phpinfo() - pode ser encontrada aqui.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração do PHP
Nome | Padrão | Modificável | Changelog
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
assert.exception | "0" | PHP_INI_ALL | Disponível desde PHP 7.0.0.
enable_dl | "1" | PHP_INI_SYSTEM | Esta funcionalidade obsoleta será certamente removida no futuro.
max_execution_time | "30" | PHP_INI_ALL |
max_input_time | "-1" | PHP_INI_PERDIR | Disponível desde PHP 4.3.0.
max_input_nesting_level | "64" | PHP_INI_PERDIR | Disponível desde PHP 4.4.8 e PHP 5.2.3.
max_input_vars | 1000 | PHP_INI_PERDIR | Disponível desde PHP 5.3.9.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL no PHP <= 4.2.3. Removido no PHP 5.4.0.
magic_quotes_runtime | "0" | PHP_INI_ALL | Removido no PHP 5.4.0.
zend.enable_gc | "1" | PHP_INI_ALL | Disponível desde PHP 5.3.0.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

assert.active boolean

Ativa a avaliação de assert().

assert.bail boolean

Termina a execução de scripts se assert() falharem.

assert.warning boolean

Emite um warning para cada falha de assert.

assert.callback string

Função a chamar em caso de asserts falharem.

assert.quiet_eval boolean

Utilize a configuração atual de error_reporting() durante a avaliação de expressões assert. Se ativo então nenhum erro é mostrado (padrão é error_reporting(0)) nas avaliações. Se desativa erros são mostrados de acordo com as configurações de error_reporting()

assert.exception boolean

Lança uma exceção AssertionError no caso de um assert falhar.

enable_dl boolean

Essa diretiva é útil na versão nas versões para módulo Apache do PHP. Você pode configurar o carregamento dinâmico de extensões PHP com dl() por servidor virtual ou por diretório.

A razão principal para desligar o carregamento dinâmico é segurança. Com carregamento dinâmico é possível ignorar todas as restrições de open_basedir. O padrão é permitir carregamento dinâmico exceto no safe mode. Com o safe mode ativo é impossível utilizar dl().

max_execution_time integer

Isso configura o tempo máximo, em segundos, que um script é permitido executar antes de ser terminado. Isso ajuda a prevenir que scritps mal escritos de lotar os servidores. O padrão é de 30 segundos. Quando rodando o PHP a partir da linha de comando o padrão é zero 0.

O tempo máximo de execução não é afetado por chamadas de systema, operações em streams, etc. Veja a documentação da função set_time_limit() para mais detalhes.

Você não pode modificar essa configuração com ini_set() no safe mode. A única alternativa é desligar o safe mode ou modificando o limite no php.ini.

Seu servidor web pode ter outras configurações de timeout que também interrompam a execução do PHP. Apache possui uma diretiva Timeout e o IIS tem uma função de timeout CGI. Ambos com padrão de 300 seconds. Veja a documentação do servidor web para mais detalhes.

max_input_time integer

Configura o tempo máximo, em segundos, que um script é permitido dispender interpretando dados de entrada, como GET e POST. O cronômetro começa no momento que o PHP é chamado pelo servidor e termina quando a execução começa. A configuração padrão é -1, o que significa que o valor de max_execution_time será usado. Defina como 0 para permitir tempo ilimitado.

max_input_nesting_level integer

Configura a profundidade máxima de níveris das variáveis de entrada ( $_GET, $_POST).

max_input_vars integer

Configura quantas variáveis de entrada serão aceitas, com o limte aplicado a cada super global $_GET, $_POST e $_COOKIE separadamente). O uso dessa diretiva mitiga a possibilidade de ataques de negação de serviço que utilizam colisões de hash. Se houver mais variáveis do que o especificado nessa diretiva um E_WARNING é lançado, e variáveis de entrada adicionais são ignorados.

magic_quotes_gpc boolean
Aviso

Esta funcionalidade tornou-se OBSOLETA desde o PHP 5.3.0 e foi REMOVIDA desde o PHP 5.4.0.

Configura a utilização de magic_quotes para operações GPC (Get/Post/Cookie). Quanto magic_quotes está ativado, todos os caracteres ' (aspas simples), " (aspas duplas), \ (contra barra) e nulos são escapados com uma contra barra automaticamente.

Veja também get_magic_quotes_gpc()

magic_quotes_runtime boolean
Aviso

Esta funcionalidade tornou-se OBSOLETA desde o PHP 5.3.0 e foi REMOVIDA desde o PHP 5.4.0.

Se magic_quotes_runtime estiver ativo a maioria das funções que retornam dados de qualquer fonte externa, incluindo banco de dados e arquivos texto, terão as aspas escapadas com contra barra.

Funções afetadas por magic_quotes_runtime (não incluidas aqui as funções do PECL):

  • get_meta_tags()
  • file_get_contents()
  • file()
  • fgets()
  • fwrite()
  • fread()
  • fputcsv()
  • stream_socket_recvfrom()
  • exec()
  • system()
  • passthru()
  • stream_get_contents()
  • bzread()
  • gzfile()
  • gzgets()
  • gzwrite()
  • gzread()
  • exif_read_data()
  • dba_insert()
  • dba_replace()
  • dba_fetch()
  • ibase_fetch_row()
  • ibase_fetch_assoc()
  • ibase_fetch_object()
  • mssql_fetch_row()
  • mssql_fetch_object()
  • mssql_fetch_array()
  • mssql_fetch_assoc()
  • mysqli_fetch_row()
  • mysqli_fetch_array()
  • mysqli_fetch_assoc()
  • mysqli_fetch_object()
  • pg_fetch_row()
  • pg_fetch_assoc()
  • pg_fetch_array()
  • pg_fetch_object()
  • pg_fetch_all()
  • pg_select()
  • sybase_fetch_object()
  • sybase_fetch_array()
  • sybase_fetch_assoc()
  • SplFileObject::fgets()
  • SplFileObject::fgetcsv()
  • SplFileObject::fwrite()

zend.enable_gc boolean

Ativa ou desativa o coletor de refefências circulares.


Constantes pré-definidas

As constantes listadas abaixo estão sempre disponíveis como parte do núcleo do PHP.

Constantes pré-definidas da phpcredits()
Constante | Valor | Descrição
CREDITS_GROUP | 1 | Uma lista do núcleo de desenvolvedores
CREDITS_GENERAL | 2 | Créditos em geral: design e conceito da linguagem, autores do PHP e do módulo SAPI.
CREDITS_SAPI | 4 | Uma lista dos módulos API dos servidores para o PHP, e seus autores.
CREDITS_MODULES | 8 | Uma lista dos módulos de extensão para o PHP, e seus autores.
CREDITS_DOCS | 16 | Os créditos para a equipe de documentação.
CREDITS_FULLPAGE | 32 | Normalmente usada em combinação com as outras opções. Indica que uma pagina HTML completa precisa ser mostrada incluindo a informação indicada pelas outras opções.
CREDITS_QA | 64 | Os créditos para a equipe de controle de qualidade.
CREDITS_ALL | -1 | Todos os créditos, equivalente a usar: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_QA CREDITS_FULLPAGE. Gera uma pagina HTML completa com as tags apropriadas. Este é o valor padrão.
Constantes da phpinfo()
Constante | Valor | Descrição
INFO_GENERAL | 1 | A linha da configuração, localização do php.ini, data de construção, servidor web, sistema e mais.
INFO_CREDITS | 2 | Créditos do PHP. Veja também phpcredits().
INFO_CONFIGURATION | 4 | Valores atuais e principais para as diretivas de configuração do PHP. Veja também ini_get().
INFO_MODULES | 8 | Módulos carregados e suas respectivas configurações.
INFO_ENVIRONMENT | 16 | Informações das variáveis de ambiente que também estão disponíveis em $_ENV.
INFO_VARIABLES | 32 | Mostra todas as variáveis pré-definidas a partir de EGPCS (Ambiente, GET, POST, Cookie, Server).
INFO_LICENSE | 64 | Informação sobre a licença do PHP. Veja também » a faq sobre licença.
INFO_ALL | -1 | Mostra tudo acima. Este é o valor padrão.
ASSERT_ACTIVE (integer)
ASSERT_CALLBACK (integer)
ASSERT_BAIL (integer)
ASSERT_WARNING (integer)
ASSERT_QUIET_EVAL (integer)


Funções para Opções/Info do PHP

Índice

  • assert_options — Define/Obtém várias opções do assert
  • assert — Confere se uma afirmação é false
  • cli_get_process_title — Returns the current process title
  • cli_set_process_title — Sets the process title
  • dl — Carrega uma extensão do PHP durante a execução
  • extension_loaded — Indica quando uma extensão esta carregada
  • gc_collect_cycles — Forces collection of any existing garbage cycles
  • gc_disable — Deactivates the circular reference collector
  • gc_enable — Activates the circular reference collector
  • gc_enabled — Returns status of the circular reference collector
  • gc_mem_caches — Reclaims memory used by the Zend Engine memory manager
  • gc_status — Gets information about the garbage collector
  • get_cfg_var — Obtém o valor de uma opção de configuração do PHP
  • get_current_user — Obtém o nome do dono do script PHP atual
  • get_defined_constants — Retorna uma matriz associativa com os nomes de todas as constantes e seus valores
  • get_extension_funcs — Retorna uma matriz com os nomes de funções de um módulo
  • get_include_path — Obtém a opção de configuração include_path atual
  • get_included_files — Retorna uma matriz com os nomes dos arquivos incluídos ou requeridos
  • get_loaded_extensions — Retorna uma matriz com os nomes de todos os módulos compilados e carregados
  • get_magic_quotes_gpc — Obtém a configuração atual de magic_quotes_gpc
  • get_magic_quotes_runtime — Obtém a configuração ativa para magic_quotes_runtime
  • get_required_files — Sinônimo de get_included_files
  • get_resources — Returns active resources
  • getenv — Obtém uma variável de ambiente
  • getlastmod — Obtém o tempo da última modificação na pagina
  • getmygid — Obtém o GID do dono do script PHP
  • getmyinode — Obtém o inode do script atual
  • getmypid — Obtém o ID do processo PHP
  • getmyuid — Obtém o UID do dono do script PHP
  • getopt — Obtém opções da lista de argumentos da linha de comando
  • getrusage — Obtém a utilização de recursos
  • ini_alter — Sinônimo de ini_set
  • ini_get_all — Obtém todas as opções de configuração
  • ini_get — Obtém o valor de uma opção de configuração
  • ini_restore — Restaura o valor de uma opção de configuração
  • ini_set — Define o valor de uma opção de configuração
  • main — Marcador para main
  • memory_get_peak_usage — Returns the peak of memory allocated by PHP
  • memory_get_usage — Retorna a quantidade de memória alocada para PHP
  • php_ini_loaded_file — Retrieve a path to the loaded php.ini file
  • php_ini_scanned_files — Retorna uma lista dos arquivos ini interpretados a partir do diretório ini adicional
  • php_sapi_name — Retorna o tipo de interface entre o servidor web e o PHP
  • php_uname — Retorna informação sobre o sistema operacional que o PHP foi construído
  • phpcredits — Mostra os créditos pelo PHP
  • phpinfo — Mostra muitas informações sobre o PHP
  • phpversion — Obtém a versão atual do PHP
  • putenv — Define o valor de uma variável de ambiente
  • restore_include_path — Restaura o valor da opção de configuração include_path
  • set_include_path — Define a opção de configuração include_path
  • set_time_limit — Limita o tempo de execução do script
  • sys_get_temp_dir — Returns directory path used for temporary files
  • version_compare — Compares two "PHP-standardized" version number strings
  • zend_thread_id — Returns a unique identifier for the current thread
  • zend_version — Obtém a versão da Zend engine que esta sendo executada


Define/Obtém várias opções do assert

  • « Funções para Opções/Info do PHP
  • assert »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Define/Obtém várias opções do assert

assert_options

(PHP 4, PHP 5, PHP 7, PHP 8)

assert_options — Define/Obtém várias opções do assert

Descrição

assert_options ( int $what , mixed $value = ? ) : mixed

Define as várias opções de controle para assert() ou apenas consulta as definições atuais.

Parâmetros

what

Opções Assert
opção | parâmetro do ini | padrão | descrição
ASSERT_ACTIVE | assert.active | 1 | ativa a avaliação de assert()
ASSERT_WARNING | assert.warning | 1 | mostra um aviso do PHP para cada afirmação que falhar
ASSERT_BAIL | assert.bail | 0 | termina a execução do script quando uma afirmação falhar
ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | desativa error_reporting durante a avaliação da expressão
ASSERT_CALLBACK | assert.callback | (null) | função do usuário para chamar quando uma afirmação falhar

value

Um valor opcional novo para a opção.

Valor Retornado

Retorna a definição original de qualquer opção ou false em caso de erro.


Confere se uma afirmação é false

  • « assert_options
  • cli_get_process_title »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Confere se uma afirmação é false

assert

(PHP 4, PHP 5, PHP 7, PHP 8)

assert — Confere se uma afirmação é false

Descrição

PHP 5 e 7

assert ( mixed $assertion , string $description = ? ) : bool

PHP 7

assert ( mixed $assertion , Throwable $exception = ? ) : bool

assert() verifica a assertion informada e toma a ação apropriada se seu resultado é false.

Asserts tradicionais (PHP 5 e 7)

Se o parâmetro assertion é dado como uma string ela será avaliada como código PHP pela função assert(). As vantagens de uma assertion string são menor sobrecarga na conferência se a afirmação é verdadeira e mensagens contendo assertion quando a afirmação é falsa. Isto indica que se você passar uma condição booleana (verdadeiro ou falso) como assertion esta condição não será mostrada como parâmetro da função de assert, o qual você deve ter definido com a função assert_options(), a condição é convertida para uma string antes que a função gerenciadora seja chamada e o booleano false é convertido para uma string vazia.

Asserts devem ser usadas apenas com a intenção de eliminar erros apenas. Você deve usa-las para testar condições que devam ser sempre true e que indiquem algum erro de programação ou para verificar a existência/disponibilidade de funções, extensões ou ainda de limites e recursos do sistema.

Asserts não devem ser usadas para operações em tempo de execução normais como para conferir certo valor de entrada. Como uma dica de uso, o seu código deve funcionar corretamente mesmo que os asserts não estejam ativados.

O funcionamento de assert() pode ser configurado por assert_options() ou pelas configurações descritas na pagina do manual para estas funções.

A função assert_options() e/ou a diretiva de configuração ASSERT_CALLBACK permitem configurar uma função para ser chamada no caso de falha da afirmação.

assert() callbacjs são particularmente úteis quando estiver criando sistemas automáticos para testes porque permitem que você capture facilmente o código passado para a afirmação em conjunto com informações sobre onde a afirmação foi feita. Enquanto esta informação pode ser capturada por outros métodos, usar afirmações torna muito mais fácil e rápido!

A função de callback deve aceitar três argumentos. O primeiro irá conter o arquivo onde houve a falha na afirmação. O segundo argumento irá conter a linha onde a afirmação falhou e o terceiro argumento irá conter a expressão que falhou (se houver alguma — valores literais como 1 or "dois" não serão passados nesse argumento). Usuários do PHP 5.4.8 e posteriores também devem providenciar um quarto argumento opcional, que conterá o description informado no assert() it was set.

Expectativas (somente PHP 7)

assert() é um constructo de linguagem no PHP 7, permitindo a definição de expectativas: asserts que tem efeitos em ambientes de desenvolvimento e testes, mas que são removidos com custo zero em produção.

Ainda que assert_options() possa ser utilizado para controlar comportamentos descritos acima por razões de compatibilidade reversa, o PHP 7 somente deve usar duas novas diretivas para controlar o comportamento de assert() e evitar chamar assert_options().

Diretivas de configuração para assert() no PHP 7
Diretiva Padrão Valores possíveis
zend.assertions 1
  • 1: gera e executa código (modo de desenvolvimento)
  • 0: gera código, mas não o executa
  • -1: não gera código (modo de produção)
assert.exception 0
  • 1: interrompe se o assert falhar, ou lançando a exceção fornecida no parâmetro exception ou lançando um objeto AssertionError se exception não tiver sido informado
  • 0: usa e gera um Throwable como descrito acima, mas somente gera um warning em baseado no objeto em vez de lançar a exceção (comportamento compatível com o PHP 5)

Parâmetros

assertion

A asserção. No PHP 5 isto precisa ser uma string a ser executada ou um boolean para ser testado. No PHP 7 pode ser também uma expressão que retorna valores, qual será executada e o resultado será usado para indicar se a asserção confirmou-se ou falhou.

description

Uma descrição opctional que será incluída na mensagem de falha de caso de assertion falhar.

exception

No PHP 7 o segundo parâmetro pode ser um objeto Throwable em vez de uma string string, e nesse caso o objeto será lançado caso o assert falhe e assert.exception estiver habilitado.

Valor Retornado

false se o assert é falso, true nos demais casos.

Changelog

Versão | Descrição
7.0.0 | assert() agora é um constructo de linguagem e não mais uma função. assertion() agora pode ser uma expressão. O segundo parâmtro pode ser interpretado como um exception (se do tipo Throwable) ou como uma string, funcionando como o campo description do PHP 5.4.8 e posteriores.
5.4.8 | O parâmetro description foi adicionado. O parâmetro description é informado na função callback no modo ASSERT_CALLBACK como o quarto argumento.

Exemplos

Asserts tradicionais (PHP 5 e 7)

Exemplo #1 Lida com um assert falho com um manipulador próprio

<?php
// Ativa asserts configura silêncio
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

// Cria a função de manipulação
function my_assert_handler($file, $line, $code)
{
    echo "<hr>Assertion Failed:
        File '$file'<br />
        Line '$line'<br />
        Code '$code'<br /><hr />";
}

// Configura o callback
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

// Realiza um assert que deve falhar
assert('mysql_query("")');
?>

Exemplo #2 Utilizando um manipulador para imprimir uma descrição

<?php
// Ativa asserts configura silêncio
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

// Cria a função de manipulação
function my_assert_handler($file, $line, $code, $desc = null)
{
    echo "Assertion failed at $file:$line: $code";
    if ($desc) {
        echo ": $desc";
    }
    echo "\n";
}

// Configura o callback
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

// Make an assertion that should fail
assert('2 < 1');
assert('2 < 1', 'Two is less than one');
?>

O exemplo acima irá imprimir:

 Assertion failed at test.php:21: 2 < 1
 Assertion failed at test.php:22: 2 < 1: Two is less than one

Expectativas (somente PHP 7)

Exemplo #3 Expectativs sem uma exceção configurada

<?php
assert(true == false);
echo 'Hi!';
?>

Com zend.assertions configurado para 0 o exemplo acima imprimirá:

Hi!

Com zend.assertions configurado para 1 e assert.exception para 0 O exemplo acima imprimirá:

Warning: assert(): assert(true == false) failed in - on line 2
Hi!

Com zend.assertions configurado para 1 e assert.exception para 1 o exemplo acima imprimirá:

Fatal error: Uncaught AssertionError: assert(true == false) in -:2
Stack trace:
#0 -(2): assert(false, 'assert(true == ...')
#1 {main}
  thrown in - on line 2

Exemplo #4 Expectativs com uma exceção configurada

<?php
class CustomError extends AssertionError {}

assert(true == false, new CustomError('True is not false!'));
echo 'Hi!';
?>

Com zend.assertions configurado para 0 o exemplo acima imprirá:

Hi!

Com zend.assertions configurado para 0 e assert.exception para 0 o exemplo acima imprimirá:

Warning: assert(): CustomError: True is not false! in -:4
Stack trace:
#0 {main} failed in - on line 4
Hi!

Com zend.assertions configurado para 1 e assert.exception para 1 o exemplo acima imprimirá:

Fatal error: Uncaught CustomError: True is not false! in -:4
Stack trace:
#0 {main}
  thrown in - on line 4

Veja Também

  • assert_options() - Define/Obtém várias opções do assert


Returns the current process title

  • « assert
  • cli_set_process_title »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Returns the current process title

cli_get_process_title

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

cli_get_process_title — Returns the current process title

Descrição

cli_get_process_title ( ) : string|null

Returns the current process title, as set by cli_set_process_title(). Note that this may not exactly match what is shown in ps or top, depending on your operating system.

This function is available only in CLI mode.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return a string with the current process title or null on error.

Erros

An E_WARNING will be generated if the operating system is unsupported.

Exemplos

Exemplo #1 cli_get_process_title() example

<?php
echo "Process title: " . cli_get_process_title() . "\n";
?>

Veja Também

  • cli_set_process_title() - Sets the process title


Sets the process title

  • « cli_get_process_title
  • dl »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Sets the process title

cli_set_process_title

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

cli_set_process_title — Sets the process title

Descrição

cli_set_process_title ( string $title ) : bool

Sets the process title visible in tools such as top and ps. This function is available only in CLI mode.

Parâmetros

title

The new title.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

An E_WARNING will be generated if the operating system is unsupported.

Exemplos

Exemplo #1 cli_set_process_title() example

<?php
$title = "My Amazing PHP Script";
$pid = getmypid(); // you can use this to see your process title in ps

if (!cli_set_process_title($title)) {
    echo "Unable to set process title for PID $pid...\n";
    exit(1);
} else {
    echo "The process title '$title' for PID $pid has been set for your process!\n";
    sleep(5);
}
?>

Veja Também

  • cli_get_process_title() - Returns the current process title
  • setproctitle() - Set the process title


Carrega uma extensão do PHP durante a execução

  • « cli_set_process_title
  • extension_loaded »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Carrega uma extensão do PHP durante a execução

dl

(PHP 4, PHP 5, PHP 7, PHP 8)

dl — Carrega uma extensão do PHP durante a execução

Descrição

dl ( string $library ) : bool

Carrega a extensão do PHP indicada pelo parâmetro library.

Use extension_loaded() para testar se uma extensão está disponível ou não. Isto funciona para extensões internas e para aquelas carregadas dinamicamente (através do php.ini ou da função dl()).

Aviso

Esta função foi removida de algumas SAPIs no PHP 5.3 e removida do PHP-FPM no PHP 7.0.0.

Parâmetros

library

Este parâmetro é somente o nome do arquivo da exdtensão a carregar o qual também depende da sua plataforma. Por exemplo, a extensão sockets (se compilada como módulo compartilhado, não o padrão!) seria chamada sockets.so em plataformas Unix enquanto é chamada php_sockets.dll na plataforma Windows.

O diretório a partir do qual a extensão é carregada depende da sua plataforma:

Windows - Se não for explicitamente definido no php.ini, a extensão é carregada a partir de C:\php4\extensions\ (PHP 4) ou C:\php5\ (PHP 5) por padrão.

Unix - Se não for explicitamente definido no php.ini, o diretório padrão das extensões depende de

  • se o PHP foi compilado com --enable-debug ou não
  • se o PHP foi compilado com suporte (experimental) ZTS (Zend Thread Safety) ou não
  • O ZEND_MODULE_API_NO (o número Zend internal module API, o que é basicamente a data onde houve uma mudança maior na API ex. 20010901)
Levando em conta o acima, o diretório padrão poderá ser <install-dir>/lib/php/extensions/ <debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO, e.g. /usr/local/php/lib/php/extensions/debug-non-zts-20010901 or /usr/local/php/lib/php/extensions/no-debug-zts-20010901.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Se a funcionalidade de carregar módulos não estiver disponível ou foi desabilitada (por desligar enable_dl ou por habilitar o safe mode no php.ini) então um erro E_ERROR é disparado e a execução é interrompida. Se dl() falhar porque a biblioteca especificada não puder ser carregada, além de retornar false uma mensagem E_WARNING é emitida.

Exemplos

Exemplo #1 Exemplosdl()

<?php
// Example loading an extension based on OS
if (!extension_loaded('sqlite')) {
    if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
        dl('php_sqlite.dll');
    } else {
        dl('sqlite.so');
    }
}

// Or, the PHP_SHLIB_SUFFIX constant is available as of PHP 4.3.0
if (!extension_loaded('sqlite')) {
    $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
    dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>

Changelog

Versão | Descrição
7.0.0 | dl() foi desabilitado do PHP-FPM.
5.3.9 | dl() está habilitado no PHP-FPM, mas com o uso desencorajado.
5.3.0 | dl() foi desabilitada em algumas SAPIs por conta de problemas de estabilidade. Somente as SAPIs que permitem dl() são a CLI e Embed. Utilize a Extension Loading Directives nos demais casos.

Notas

Nota:

dl() não é suportada no PHP compilado com suporte ZTS support. Utilize as the diretivas de carregamento de extensões nesse caso.

Nota:

dl() é sensível maiúsculas/minúsculas nas plataformas Unix.

Nota: This function is disabled when PHP is running in safe mode.

Veja Também

  • Diretivas de carregamento de extensões
  • extension_loaded() - Indica quando uma extensão esta carregada


Indica quando uma extensão esta carregada

  • « dl
  • gc_collect_cycles »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Indica quando uma extensão esta carregada

extension_loaded

(PHP 4, PHP 5, PHP 7, PHP 8)

extension_loaded — Indica quando uma extensão esta carregada

Descrição

extension_loaded ( string $name ) : bool

Descobre se uma extensão esta carregada.

Parâmetros

name

O nome da extensão.

Você poderá ver os nomes de várias extensões usando phpinfo() ou se estiver usando a versão CGI ou CLI do PHP você poderá usar a opção -m para listar todas as extensões disponíveis:

$ php -m
[PHP Modules]
xml
tokenizer
standard
sockets
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

Valor Retornado

Retorna true true se a extensão identificada por name esta carregada, false se não.

Exemplos

Exemplo #1 Exemplo extension_loaded()

<?php
if (!extension_loaded('gd')) {
    if (!dl('gd.so')) {
        exit;
    }
}
?>

Notas

Nota:

extension_loaded() usa o nome interno da extensão para testar se uma extensão esta disponível ou não. A maioria dos nomes internos esta escrita em minúsculas mas algumas extensões podem ter letras maiúsculas. Tenha cuidado que esta função diferencia maiúsculas e minúsculas!

Veja Também

  • get_loaded_extensions() - Retorna uma matriz com os nomes de todos os módulos compilados e carregados
  • get_extension_funcs() - Retorna uma matriz com os nomes de funções de um módulo
  • phpinfo() - Mostra muitas informações sobre o PHP
  • dl() - Carrega uma extensão do PHP durante a execução


Forces collection of any existing garbage cycles

  • « extension_loaded
  • gc_disable »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Forces collection of any existing garbage cycles

gc_collect_cycles

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

gc_collect_cycles — Forces collection of any existing garbage cycles

Descrição

gc_collect_cycles ( ) : int

Forces collection of any existing garbage cycles.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns number of collected cycles.

Veja Também

  • Garbage Collection


Deactivates the circular reference collector

  • « gc_collect_cycles
  • gc_enable »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Deactivates the circular reference collector

gc_disable

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

gc_disable — Deactivates the circular reference collector

Descrição

gc_disable ( ) : void

Deactivates the circular reference collector, setting zend.enable_gc to 0.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • Garbage Collection


Activates the circular reference collector

  • « gc_disable
  • gc_enabled »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Activates the circular reference collector

gc_enable

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

gc_enable — Activates the circular reference collector

Descrição

gc_enable ( ) : void

Activates the circular reference collector, setting zend.enable_gc to 1.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • Garbage Collection


Returns status of the circular reference collector

  • « gc_enable
  • gc_mem_caches »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Returns status of the circular reference collector

gc_enabled

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

gc_enabled — Returns status of the circular reference collector

Descrição

gc_enabled ( ) : bool

Returns status of the circular reference collector.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the garbage collector is enabled, false otherwise.

Exemplos

Exemplo #1 A gc_enabled() example

<?php
if(gc_enabled()) gc_collect_cycles();
?>

Veja Também

  • Garbage Collection


Reclaims memory used by the Zend Engine memory manager

  • « gc_enabled
  • gc_status »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Reclaims memory used by the Zend Engine memory manager

gc_mem_caches

(PHP 7, PHP 8)

gc_mem_caches — Reclaims memory used by the Zend Engine memory manager

Descrição

gc_mem_caches ( ) : int

Reclaims memory used by the Zend Engine memory manager.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of bytes freed.

Veja Também

  • Garbage Collection


Gets information about the garbage collector

  • « gc_mem_caches
  • get_cfg_var »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Gets information about the garbage collector

gc_status

(PHP 7 >= 7.3.0, PHP 8)

gc_status — Gets information about the garbage collector

Descrição

gc_status ( ) : array

Gets information about the current state of the garbage collector.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an associative array with the following elements:

  • "runs"
  • "collected"
  • "threshold"
  • "roots"

Exemplos

Exemplo #1 gc_status() Usage

<?php

// create object tree that needs gc collection
$a = new stdClass();
$a->b = [];
for ($i = 0; $i < 100000; $i++) {
    $b = new stdClass();
    $b->a = $a;
    $a->b[] = $b;
}
unset($a);
unset($b);
gc_collect_cycles();

var_dump(gc_status());

O exemplo acima irá imprimir algo similar à:

array(4) {
  ["runs"]=>
  int(5)
  ["collected"]=>
  int(100002)
  ["threshold"]=>
  int(50001)
  ["roots"]=>
  int(0)
}

Veja Também

  • Garbage Collection


Obtém o valor de uma opção de configuração do PHP

  • « gc_status
  • get_current_user »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém o valor de uma opção de configuração do PHP

get_cfg_var

(PHP 4, PHP 5, PHP 7, PHP 8)

get_cfg_var — Obtém o valor de uma opção de configuração do PHP

Descrição

get_cfg_var ( string $varname ) : string

Retorna o valor atual da variável de configuração do PHP especificada por varname, ou false se houver um erro.

Não irá retornar informação de configuração definidas quando o PHP foi compilado, ou lidas a partir de um arquivo de configuração do PHP (usando as diretivas php3).

Para saber se um sistema esta usando um arquivo de configuração, tente obter o valor da configuração cfg_file_path. Se estiver disponível então um arquivo de configuração esta sendo usado..

Veja também ini_get().


Obtém o nome do dono do script PHP atual

  • « get_cfg_var
  • get_defined_constants »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém o nome do dono do script PHP atual

get_current_user

(PHP 4, PHP 5, PHP 7, PHP 8)

get_current_user — Obtém o nome do dono do script PHP atual

Descrição

get_current_user ( ) : string

Retorna o nome do dono do script PHP atual.

Valor Retornado

Retorna o username como uma string.

Veja Também

  • getmyuid() - Obtém o UID do dono do script PHP
  • getmygid() - Obtém o GID do dono do script PHP
  • getmypid() - Obtém o ID do processo PHP
  • getmyinode() - Obtém o inode do script atual
  • getlastmod() - Obtém o tempo da última modificação na pagina


Retorna uma matriz associativa com os nomes de todas as constantes e seus valores

  • « get_current_user
  • get_extension_funcs »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Retorna uma matriz associativa com os nomes de todas as constantes e seus valores

get_defined_constants

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

get_defined_constants — Retorna uma matriz associativa com os nomes de todas as constantes e seus valores

Descrição

get_defined_constants ( mixed $categorize = ? ) : array

Retorna os nomes e os valores de todas as constantes definidas atualmente. Isto inclui aquelas criadas pelas extensões assim como as criadas com a função define().

Parâmetros

categorize

Pode ser passado, modificando o retorno da função para um array multidimensional onde as categorias são as chaves da primeira dimensão e constantes e seus valores na segunda dimensão.

<?php
define("MY_CONSTANT", 1);
print_r(get_defined_constants(true));
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [internal] => Array
        (
            [E_ERROR] => 1
            [E_WARNING] => 2
            [E_PARSE] => 4
            [E_NOTICE] => 8
            [E_CORE_ERROR] => 16
            [E_CORE_WARNING] => 32
            [E_COMPILE_ERROR] => 64
            [E_COMPILE_WARNING] => 128
            [E_USER_ERROR] => 256
            [E_USER_WARNING] => 512
            [E_USER_NOTICE] => 1024
            [E_ALL] => 2047
            [TRUE] => 1
        )

    [pcre] => Array
        (
            [PREG_PATTERN_ORDER] => 1
            [PREG_SET_ORDER] => 2
            [PREG_OFFSET_CAPTURE] => 256
            [PREG_SPLIT_NO_EMPTY] => 1
            [PREG_SPLIT_DELIM_CAPTURE] => 2
            [PREG_SPLIT_OFFSET_CAPTURE] => 4
            [PREG_GREP_INVERT] => 1
        )

    [user] => Array
        (
            [MY_CONSTANT] => 1
        )

)

Nota:

O valor do parâmetro categorize é irrelevante, somente fornecê-lo é considerado.

Valor Retornado

Changelog

Versão | Descrição
5.0.0 | O parâmetro categorize foi adicionado.

Exemplos

Exemplo #1 Exemplo da get_defined_constants()

<?php
print_r(get_defined_constants());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [E_ERROR] => 1
    [E_WARNING] => 2
    [E_PARSE] => 4
    [E_NOTICE] => 8
    [E_CORE_ERROR] => 16
    [E_CORE_WARNING] => 32
    [E_COMPILE_ERROR] => 64
    [E_COMPILE_WARNING] => 128
    [E_USER_ERROR] => 256
    [E_USER_WARNING] => 512
    [E_USER_NOTICE] => 1024
    [E_ALL] => 2047
    [TRUE] => 1
)

Veja Também

  • defined() - Confere se uma constante existe
  • get_loaded_extensions() - Retorna uma matriz com os nomes de todos os módulos compilados e carregados
  • get_defined_functions() - Retorna um array de todas as funções definidas
  • get_defined_vars() - Retorna um array com todas variáveis definidas


Retorna uma matriz com os nomes de funções de um módulo

  • « get_defined_constants
  • get_include_path »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Retorna uma matriz com os nomes de funções de um módulo

get_extension_funcs

(PHP 4, PHP 5, PHP 7, PHP 8)

get_extension_funcs — Retorna uma matriz com os nomes de funções de um módulo

Descrição

get_extension_funcs ( string $module_name ) : array

Esta função retorna o nome de todas as funções definidas no módulo indicado por module_name.

Parâmetros

module_name

O nome do módulo.

Nota:

Este parâmetro precisa ser em minúsculo.

Valor Retornado

Retorna um array com todas as funções, ou false se module_name não for uma extensão válida.

Exemplos

Exemplo #1 Imprime as funções de XML

<?php
print_r(get_extension_funcs("xml"));
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => xml_parser_create
    [1] => xml_parser_create_ns
    [2] => xml_set_object
    [3] => xml_set_element_handler
    [4] => xml_set_character_data_handler
    [5] => xml_set_processing_instruction_handler
    [6] => xml_set_default_handler
    [7] => xml_set_unparsed_entity_decl_handler
    [8] => xml_set_notation_decl_handler
    [9] => xml_set_external_entity_ref_handler
    [10] => xml_set_start_namespace_decl_handler
    [11] => xml_set_end_namespace_decl_handler
    [12] => xml_parse
    [13] => xml_parse_into_struct
    [14] => xml_get_error_code
    [15] => xml_error_string
    [16] => xml_get_current_line_number
    [17] => xml_get_current_column_number
    [18] => xml_get_current_byte_index
    [19] => xml_parser_free
    [20] => xml_parser_set_option
    [21] => xml_parser_get_option
    [22] => utf8_encode
    [23] => utf8_decode
)

Veja Também

  • get_loaded_extensions() - Retorna uma matriz com os nomes de todos os módulos compilados e carregados


Obtém a opção de configuração include_path atual

  • « get_extension_funcs
  • get_included_files »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém a opção de configuração include_path atual

get_include_path

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

get_include_path — Obtém a opção de configuração include_path atual

Descrição

get_include_path ( ) : string

Obtém o valor atual da opção de configuração include_path.

Valor Retornado

Retorna o caminho, como uma string.

Exemplos

Exemplo #1 Exemplo get_include_path()

<?php
// Funciona a partir do PHP 4.3.0
echo get_include_path();

// Funciona em todas as versões do PHP
echo ini_get('include_path');
?>

Veja Também

  • ini_get() - Obtém o valor de uma opção de configuração
  • restore_include_path() - Restaura o valor da opção de configuração include_path
  • set_include_path() - Define a opção de configuração include_path
  • include - include


Retorna uma matriz com os nomes dos arquivos incluídos ou requeridos

  • « get_include_path
  • get_loaded_extensions »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Retorna uma matriz com os nomes dos arquivos incluídos ou requeridos

get_included_files

(PHP 4, PHP 5, PHP 7, PHP 8)

get_included_files — Retorna uma matriz com os nomes dos arquivos incluídos ou requeridos

Descrição

get_included_files ( ) : array

Retorna uma matriz com os nomes de todos os arquivos que foram incluídos usando as funções include, include_once, require ou require_once.

O script chamado originalmente é considerado um "arquivo incluído", assim será listado junto com os arquivos referenciados por include e família.

Arquivos que forem incluídos ou requeridos varias vezes aparecem somente uma vez na matriz.

Nota:

Arquivos incluídos usando a diretiva de configuração auto_prepend_file não são incluídos na matriz retornada.

Exemplo #1 Exemplo get_included_files() (abc.php)

<?php

include 'test1.php';
include_once 'test2.php';
require 'test3.php';
require_once 'test4.php';

$included_files = get_included_files();

foreach ($included_files as $filename) {
    echo "$filename\n";
}

?>

Irá gerar a seguinte saída:

abc.php
test1.php
test2.php
test3.php
test4.php

Nota:

No PHP 4.0.1pl2 e versões anteriores get_included_files() assume que os arquivos requeridos terminem com a extensão .php; outras extensões não serão retornadas. A matriz retornada por get_included_files() era uma matriz associativa e listava somente os arquivos incluídos pelas funções include e include_once.

Veja também include, include_once, require, require_once e get_required_files().


Retorna uma matriz com os nomes de todos os módulos compilados e carregados

  • « get_included_files
  • get_magic_quotes_gpc »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Retorna uma matriz com os nomes de todos os módulos compilados e carregados

get_loaded_extensions

(PHP 4, PHP 5, PHP 7, PHP 8)

get_loaded_extensions — Retorna uma matriz com os nomes de todos os módulos compilados e carregados

Descrição

get_loaded_extensions ( bool $zend_extensions = FALSE ) : array

Retorna uma matriz com os nomes de todos os módulos compilados e carregados no interpretador PHP.

Parâmetros

zend_extensions

Retorna zend_extensions ou não, padrão é false (não há lista de zend_extensions).

Valor Retornado

Retorna um array indexado de todos os nomes de módulos.

Changelog

Versão | Descrição
5.2.4 | O parâmetro opcional zend_extensions foi adicionado

Exemplos

Exemplo #1 Exemplo da get_loaded_extensions()

<?php
print_r(get_loaded_extensions());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
   [0] => xml
   [1] => wddx
   [2] => standard
   [3] => session
   [4] => posix
   [5] => pgsql
   [6] => pcre
   [7] => gd
   [8] => ftp
   [9] => db
   [10] => calendar
   [11] => bcmath
)

Veja Também

  • get_extension_funcs() - Retorna uma matriz com os nomes de funções de um módulo
  • extension_loaded() - Indica quando uma extensão esta carregada
  • dl() - Carrega uma extensão do PHP durante a execução
  • phpinfo() - Mostra muitas informações sobre o PHP


Obtém a configuração atual de magic_quotes_gpc

  • « get_loaded_extensions
  • get_magic_quotes_runtime »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém a configuração atual de magic_quotes_gpc

get_magic_quotes_gpc

(PHP 4, PHP 5, PHP 7)

get_magic_quotes_gpc — Obtém a configuração atual de magic_quotes_gpc

Aviso

This function has been DEPRECATED as of PHP 7.4.0, and REMOVED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

get_magic_quotes_gpc ( ) : bool

Sempre retorna false.

Valor Retornado

Sempre retorna false.

Changelog

Versão | Descrição
7.4.0 | Esta função está obsoleta.

Veja Também

  • addslashes() - Adiciona barras a uma string
  • stripslashes() - Desfaz o efeito de addslashes
  • get_magic_quotes_runtime() - Obtém a configuração ativa para magic_quotes_runtime
  • ini_get() - Obtém o valor de uma opção de configuração


Obtém a configuração ativa para magic_quotes_runtime

  • « get_magic_quotes_gpc
  • get_required_files »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém a configuração ativa para magic_quotes_runtime

get_magic_quotes_runtime

(PHP 4, PHP 5, PHP 7)

get_magic_quotes_runtime — Obtém a configuração ativa para magic_quotes_runtime

Descrição

get_magic_quotes_runtime ( ) : int

Retorna a configuração ativa para magic_quotes_runtime.

Valor Retornado

Retorna 0 se magic quotes runtime está off, 1 caso contrário.

Veja Também

  • get_magic_quotes_gpc() - Obtém a configuração atual de magic_quotes_gpc
  • set_magic_quotes_runtime()


Sinônimo de get_included_files

  • « get_magic_quotes_runtime
  • get_resources »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Sinônimo de get_included_files

get_required_files

(PHP 4, PHP 5, PHP 7, PHP 8)

get_required_files — Sinônimo de get_included_files()

Descrição

Esta função é um apelido para: get_included_files().


Returns active resources

  • « get_required_files
  • getenv »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Returns active resources

get_resources

(PHP 7, PHP 8)

get_resources — Returns active resources

Descrição

get_resources ( string $type = ? ) : array

Returns an array of all currently active resources, optionally filtered by resource type.

Parâmetros

type

If defined, this will cause get_resources() to only return resources of the given type. A list of resource types is available.

If the string Unknown is provided as the type, then only resources that are of an unknown type will be returned.

If omitted, all resources will be returned.

Valor Retornado

Returns an array of currently active resources, indexed by resource number.

Exemplos

Exemplo #1 Unfiltered get_resources()

<?php
$fp = tmpfile();
var_dump(get_resources());
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [1]=>
  resource(1) of type (stream)
}

Exemplo #2 Filtered get_resources()

<?php
$fp = tmpfile();
var_dump(get_resources('stream'));
var_dump(get_resources('curl'));
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [1]=>
  resource(1) of type (stream)
}
array(0) {
}

Veja Também

  • get_loaded_extensions() - Retorna uma matriz com os nomes de todos os módulos compilados e carregados
  • get_defined_constants() - Retorna uma matriz associativa com os nomes de todas as constantes e seus valores
  • get_defined_functions() - Retorna um array de todas as funções definidas
  • get_defined_vars() - Retorna um array com todas variáveis definidas


Obtém uma variável de ambiente

  • « get_resources
  • getlastmod »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém uma variável de ambiente

getenv

(PHP 4, PHP 5, PHP 7, PHP 8)

getenv — Obtém uma variável de ambiente

Descrição

getenv ( string $varname ) : string

Retorna o nome da variável de ambiente varname, ou false em caso de erro.

<?php
$ip = getenv("REMOTE_ADDR"); // obtém o número ip do usuário
?>

Você poderá ver uma lista de todas as variáveis de ambiente usando phpinfo(). Você poderá encontram o que muitas delas indicam dando uma olhada em CGI specification , especialmente em page on environmental variables.

Nota:

Esta função não funciona no modo ISAPI.

Veja também putenv().


Obtém o tempo da última modificação na pagina

  • « getenv
  • getmygid »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém o tempo da última modificação na pagina

getlastmod

(PHP 4, PHP 5, PHP 7, PHP 8)

getlastmod — Obtém o tempo da última modificação na pagina

Descrição

getlastmod ( ) : int

Obtém a hora da última modificação da página atual.

Se você está interessado em obter a hora da última modificação de um arquivo diferente, considere usar filemtime().

Valor Retornado

Retorna o tempo da última modificação na pagina atual. O valor é retornado como um Unix timestamp, útil para usar com a função date(). Retorna false em caso de erro.

Exemplos

Exemplo #1 Exemplo da getlastmod()

<?php
// mostra por exemplo  'Última Modificação: March 04 1998 20:43:59.'
echo "Última Modificação: " . date ("F d Y H:i:s.", getlastmod());
?>

Veja Também

  • date() - Formata a data e a hora local
  • getmyuid() - Obtém o UID do dono do script PHP
  • getmygid() - Obtém o GID do dono do script PHP
  • get_current_user() - Obtém o nome do dono do script PHP atual
  • getmyinode() - Obtém o inode do script atual
  • getmypid() - Obtém o ID do processo PHP
  • filemtime() - Obtém o tempo de modificação do arquivo


Obtém o GID do dono do script PHP

  • « getlastmod
  • getmyinode »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém o GID do dono do script PHP

getmygid

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

getmygid — Obtém o GID do dono do script PHP

Descrição

getmygid ( ) : int

Obtém o ID do grupo do atual script.

Valor Retornado

Retorna o ID do grupo do atual script, ou false em erro.

Veja Também

  • getmyuid() - Obtém o UID do dono do script PHP
  • getmypid() - Obtém o ID do processo PHP
  • get_current_user() - Obtém o nome do dono do script PHP atual
  • getmyinode() - Obtém o inode do script atual
  • getlastmod() - Obtém o tempo da última modificação na pagina


Obtém o inode do script atual

  • « getmygid
  • getmypid »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém o inode do script atual

getmyinode

(PHP 4, PHP 5, PHP 7, PHP 8)

getmyinode — Obtém o inode do script atual

Descrição

getmyinode ( ) : int

Obtém o inode do script atual.

Valor Retornado

Retorna o inode do atual script como um inteiro, ou false em erro.

Notas

Nota: esta função não é implementada na plataforma Windows


Obtém o ID do processo PHP

  • « getmyinode
  • getmyuid »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém o ID do processo PHP

getmypid

(PHP 4, PHP 5, PHP 7, PHP 8)

getmypid — Obtém o ID do processo PHP

Descrição

getmypid ( ) : int

Obtém o ID do atual processo do PHP.

Valor Retornado

Retorna o ID do processo PHP, ou false em caso de erro.

Notas

Aviso

ID de processo não é único, então são uma fonte de entropia fraca. Nós recomendamos não usas o pid em contextos dependentes de segurança.

Veja Também

  • getmygid() - Obtém o GID do dono do script PHP
  • getmyuid() - Obtém o UID do dono do script PHP
  • get_current_user() - Obtém o nome do dono do script PHP atual
  • getmyinode() - Obtém o inode do script atual
  • getlastmod() - Obtém o tempo da última modificação na pagina


Obtém o UID do dono do script PHP

  • « getmypid
  • getopt »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém o UID do dono do script PHP

getmyuid

(PHP 4, PHP 5, PHP 7, PHP 8)

getmyuid — Obtém o UID do dono do script PHP

Descrição

getmyuid ( ) : int

Obtém o ID do usuário do atual script.

Valor Retornado

Retorna o ID do usuário do atual script, ou false em erro.

Veja Também

  • getmygid() - Obtém o GID do dono do script PHP
  • getmypid() - Obtém o ID do processo PHP
  • get_current_user() - Obtém o nome do dono do script PHP atual
  • getmyinode() - Obtém o inode do script atual
  • getlastmod() - Obtém o tempo da última modificação na pagina


Obtém opções da lista de argumentos da linha de comando

  • « getmyuid
  • getrusage »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém opções da lista de argumentos da linha de comando

getopt

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

getopt — Obtém opções da lista de argumentos da linha de comando

Descrição

getopt ( string $options , array $longopts = ? ) : array

Retorna uma matriz associativa das opções/argumentos baseada no formato especificado no parâmetro options, ou false em caso de erro.

Parâmetros

options

O parâmetro options deve conter os seguintes elementos: caracteres individuais, e caracteres individuais seguidos por dois pontos para indicar uma opção com um argumento a seguir. Por exemplo, a string de opção x reconhece uma opção -x, e uma string de opção x: reconhece uma opção e um argumento -x argumento. Não importa se o argumento tem espaço no início.

longopts

Valor Retornado

Esta função irá retornar uma matriz de opções/argumentos . Se uma opção não tiver argumento o valor definido será false.

Changelog

Versão | Descrição
5.3.0 | Esta função não depende mais do sistema e funcionando também em Windows.

Exemplos

Exemplo #1 Exemplo da getopt()

<?php
// parse the command line ($GLOBALS['argv'])
$options = getopt("f:hp:");
?>


Obtém a utilização de recursos

  • « getopt
  • ini_alter »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém a utilização de recursos

getrusage

(PHP 4, PHP 5, PHP 7, PHP 8)

getrusage — Obtém a utilização de recursos

Descrição

getrusage ( int $who = ? ) : array

Esta é uma interface para getrusage(2). Ela obtém informação retornada pela chamada do sistema.

Parâmetros

who

Se who é 1, getrusage será chamada com RUSAGE_CHILDREN.

Valor Retornado

Retorna um array associativo contendo a informação retornado pela chamada do sistema. Todas entradas são acessíveis usando os seus documentados nomes de campos.

Exemplos

Exemplo #1 Exemplo da getrusage()

<?php
$dat = getrusage();
echo $dat["ru_nswap"];         // number of swaps
echo $dat["ru_majflt"];        // number of page faults
echo $dat["ru_utime.tv_sec"];  // user time used (seconds)
echo $dat["ru_utime.tv_usec"]; // user time used (microseconds)
?>

Notas

Nota: esta função não é implementada na plataforma Windows

Veja Também

  • Man page do seu sistema em getrusage(2)


Sinônimo de ini_set

  • « getrusage
  • ini_get_all »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Sinônimo de ini_set

ini_alter

(PHP 4, PHP 5, PHP 7, PHP 8)

ini_alter — Sinônimo de ini_set()

Descrição

Esta função é um apelido para: ini_set().


Obtém todas as opções de configuração

  • « ini_alter
  • ini_get »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém todas as opções de configuração

ini_get_all

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ini_get_all — Obtém todas as opções de configuração

Descrição

ini_get_all ( string $extension = ? ) : array

Retorna todas as opções de configuração como uma matriz associativa. Se o parâmetro opcional extension estiver definido, apenas as opções especificas para esta extensão serão retornadas.

A matriz retornada usa o nome da diretiva como chave da matriz sendo os os elementos global_value (definidos no php.ini), local_value (talvez definidos com ini_set() ou .htaccess), e access (o nível de acesso). Veja a seção do manual sobre mudanças de configuração para informações sobre o que são os níveis.

Nota:

É possível para uma diretiva ter múltiplos níveis de acesso, por isso access mostra os valores apropriados como um valor bitmask.

Exemplo #1 Exemplo ini_get_all()

<?php
$inis = ini_get_all();

print_r($inis);

?>

Parte da saída se parece com:

Array
(
    [allow_call_time_pass_reference] => Array
    (
        [global_value] => 1
        [local_value] => 1
        [access] => 6
    )
    [allow_url_fopen] => Array
    (
        [global_value] => 1
        [local_value] => 1
        [access] => 7
    )

    ...

)

Veja também: ini_get(),
ini_restore(),
ini_set(),
get_loaded_extensions() e
phpinfo().


Obtém o valor de uma opção de configuração

  • « ini_get_all
  • ini_restore »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém o valor de uma opção de configuração

ini_get

(PHP 4, PHP 5, PHP 7, PHP 8)

ini_get — Obtém o valor de uma opção de configuração

Descrição

ini_get ( string $varname ) : string

Retorna o valor da opção em caso de sucesso. Em caso de falha, como tentar obter um valor que não exista, irá retornar uma string vazia.

Nota: Quando obtendo valores booleanos

Um valor booleano off será retornado como uma string vazia enquanto um valor booleano on será retornado como "1".

Nota: Quando obtendo valores de tamanho de memória

Vários valores de definição de tamanho de memória, como upload_max_filesize são guardados no arquivo php.ini em uma anotação curta. ini_get() irá retornar exatamente a string guardada no arquivo php.ini, NÃO o seu valor inteiro equivalente. Tentar funções matemáticas comuns com estes valores não trará o resultado esperado.

<?php
/*
Seu php.ini contém as seguintes definições:

display_errors = On
register_globals = Off
post_max_size = 8M
*/

echo 'display_errors = ' . ini_get('display_errors') . "\n";
echo 'register_globals = ' . ini_get('register_globals') . "\n";
echo 'post_max_size = ' . ini_get('post_max_size') . "\n";
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n";
?>

Este script irá produzir:

display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
*/
?>

Veja também
get_cfg_var(),
ini_get_all(),
ini_restore() e
ini_set().


Restaura o valor de uma opção de configuração

  • « ini_get
  • ini_set »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Restaura o valor de uma opção de configuração

ini_restore

(PHP 4, PHP 5, PHP 7, PHP 8)

ini_restore — Restaura o valor de uma opção de configuração

Descrição

ini_restore ( string $varname ) : void

Restaura o valor de uma opção de configuração para o seu valor original.

Parâmetros

varname

O nome da opção de configuração.

Valor Retornado

Não há valor retornado.

Veja Também

  • ini_get() - Obtém o valor de uma opção de configuração
  • ini_get_all() - Obtém todas as opções de configuração
  • ini_set() - Define o valor de uma opção de configuração


Define o valor de uma opção de configuração

  • « ini_restore
  • main »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Define o valor de uma opção de configuração

ini_set

(PHP 4, PHP 5, PHP 7, PHP 8)

ini_set — Define o valor de uma opção de configuração

Descrição

ini_set ( string $varname , string $newvalue ) : string

Define um novo valor para a opção de configuração indicada. A opção de configuração irá manter o novo valor durante a execução do script e será restaurado ao final da execução do script.

Parâmetros

varname

Nem todas as opções disponíveis podem ser modificadas usando a função ini_set(). Há uma lista de todas as opções disponíveis no PHP apêndice.

newvalue

O novo valor para a opção.

Valor Retornado

Retorna o valor anterior em sucesso, false em falha.

Veja Também

  • get_cfg_var() - Obtém o valor de uma opção de configuração do PHP
  • ini_get() - Obtém o valor de uma opção de configuração
  • ini_get_all() - Obtém todas as opções de configuração
  • ini_restore() - Restaura o valor de uma opção de configuração
  • Como modificar a configuração


Marcador para main

  • « ini_set
  • memory_get_peak_usage »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Marcador para main

main

(Não há informação de versão disponível, talvez apenas no Git)

main — Marcador para main()

Descrição

Não existe função com o nome de main() com exceção no código fonte do PHP. No PHP 4.3.0, um novo tipo de gerenciamento de erro foi introduzido no fonte do PHP (php_error_docref). Uma das funções é prover links para as páginas de manual do PHP nas mensagens de erros quando a diretiva de configuração html_errors (on por padrão) e docref_root (on por padrão até o PHP 4.3.2) estiverem definidas.

Algumas vezes as mensagens de erro se referem a uma página de manual para a função main(), é por isso que esta pagina existe. Por favor adicione um comentário do usuário abaixo que mencione qual função do PHP causou um erro que foi ligado a função main() e será corrigido e propriamente documentado.

Eros conhecidos que apontam para main()
Nome da função | Não aponta para aqui a partir do
include | 5.1.0
include_once | 5.1.0
require | 5.1.0
require_once | 5.1.0

Veja Também

  • html_errors
  • display_errors


Returns the peak of memory allocated by PHP

  • « main
  • memory_get_usage »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Returns the peak of memory allocated by PHP

memory_get_peak_usage

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

memory_get_peak_usage — Returns the peak of memory allocated by PHP

Descrição

memory_get_peak_usage ( bool $real_usage = false ) : int

Returns the peak of memory, in bytes, that's been allocated to your PHP script.

Parâmetros

real_usage

Set this to true to get the real size of memory allocated from system. If not set or false only the memory used by emalloc() is reported.

Valor Retornado

Returns the memory peak in bytes.

Veja Também

  • memory_get_usage() - Retorna a quantidade de memória alocada para PHP
  • memory_limit


Retorna a quantidade de memória alocada para PHP

  • « memory_get_peak_usage
  • php_ini_loaded_file »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Retorna a quantidade de memória alocada para PHP

memory_get_usage

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

memory_get_usage — Retorna a quantidade de memória alocada para PHP

Descrição

memory_get_usage ( bool $real_usage = ? ) : int

Retorna a quantidade de memória, em bytes, que esta atualmente alocada para o seu script PHP.

Parâmetros

real_usage

Defina isto para true para obter a quantidade geral de memória alocada pelo sistema. Se não definida ou false somente a memória usada por emalloc() é reportada.

Valor Retornado

Retorna a quantidade de memória em bytes.

Changelog

Versão | Descrição
5.2.1 | Compilar com --enable-memory-limit não é mais requerido para esta função existir.
5.2.0 | real_usage foi adicionado.

Exemplos

Exemplo #1 Exemplo da memory_get_usage()

<?php
// Este é apenas um exemplo, os números abaixo
// serão diferentes dependendo do seu sistema

echo memory_get_usage() . "\n"; // 36640

$a = str_repeat("Hello", 4242);

echo memory_get_usage() . "\n"; // 57960

unset($a);

echo memory_get_usage() . "\n"; // 36744

?>

Veja Também

  • memory_get_peak_usage() - Returns the peak of memory allocated by PHP
  • memory_limit


Retrieve a path to the loaded php.ini file

  • « memory_get_usage
  • php_ini_scanned_files »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Retrieve a path to the loaded php.ini file

php_ini_loaded_file

(PHP 5 >= 5.2.4, PHP 7, PHP 8)

php_ini_loaded_file — Retrieve a path to the loaded php.ini file

Descrição

php_ini_loaded_file ( ) : string|false

Check if a php.ini file is loaded, and retrieve its path.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The loaded php.ini path, or false if one is not loaded.

Exemplos

Exemplo #1 php_ini_loaded_file() example

<?php
$inipath = php_ini_loaded_file();

if ($inipath) {
    echo 'Loaded php.ini: ' . $inipath;
} else {
    echo 'A php.ini file is not loaded';
}
?>

O exemplo acima irá imprimir algo similar à:

Loaded php.ini: /usr/local/php/php.ini

Veja Também

  • php_ini_scanned_files() - Retorna uma lista dos arquivos ini interpretados a partir do diretório ini adicional
  • phpinfo() - Mostra muitas informações sobre o PHP
  • The configuration file


Retorna uma lista dos arquivos ini interpretados a partir do diretório ini adicional

  • « php_ini_loaded_file
  • php_sapi_name »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Retorna uma lista dos arquivos ini interpretados a partir do diretório ini adicional

php_ini_scanned_files

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

php_ini_scanned_files — Retorna uma lista dos arquivos ini interpretados a partir do diretório ini adicional

Descrição

php_ini_scanned_files ( ) : string

php_ini_scanned_files() retorna uma lista separada por vírgula dos arquivos interpretados depois do php.ini. Estes arquivos são encontrados no diretório definido pela opção --with-config-file-scan-dir definida durante a compilação.

Retorna uma lista de arquivos ini separados por vírgula em caso de sucesso. Se a diretiva --with-config-files-scan-dir não foi definida é retornado false. Se foi definida e o diretório estiver vazio, uma string vazia é retornada. Se um arquivo estiver irreconhecível, o arquivo ainda fará parte da string retornada, mas também será retornado um erro do PHP. Este erro do PHP será visto em tempo de compilação e quando usar a função php_ini_scanned_files().

Os arquivos de configuração incluem também o caminho incluído em --with-config-file-scan-dir. Também cada vírgula e seguida por uma nova linha.

Exemplo #1 Um exemplo simples para a lista de arquivos ini retornados

<?php
if ($filelist = php_ini_scanned_files()) {
    if (strlen($filelist) > 0) {
        $files = explode(',', $filelist);

        foreach ($files as $file) {
            echo "<li>" . trim($file) . "</li>\n";
        }
    }
}
?>

Veja também ini_set() e phpinfo().


Retorna o tipo de interface entre o servidor web e o PHP

  • « php_ini_scanned_files
  • php_uname »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Retorna o tipo de interface entre o servidor web e o PHP

php_sapi_name

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

php_sapi_name — Retorna o tipo de interface entre o servidor web e o PHP

Descrição

php_sapi_name ( ) : string

Retorna uma string minúscula que descreve o tipo de interface entre o servidor web e o PHP (Server API, SAPI). Em CGI PHP, esta string é "cgi", em mod_php para o Apache, esta string é "apache" e assim por diante.

Valor Retornado

Retorna o tipo da interface, como uma string em minúsculo.

Exemplos

Exemplo #1 Exemplo da php_sapi_name()

<?php
$sapi_type = php_sapi_name();
if (substr($sapi_type, 0, 3) == 'cgi') {
    echo "You are using CGI PHP\n";
} else {
    echo "You are not using CGI PHP\n";
}
?>

Veja Também

  • PHP_SAPI


Retorna informação sobre o sistema operacional que o PHP foi construído

  • « php_sapi_name
  • phpcredits »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Retorna informação sobre o sistema operacional que o PHP foi construído

php_uname

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

php_uname — Retorna informação sobre o sistema operacional que o PHP foi construído

Descrição

php_uname ( ) : string

php_uname() retorna uma string com a descrição do sistema operacional que o PHP foi construído. Se você quer apenas o nome do sistema operacional, considere usar a constante PHP_OS.

Exemplo #1 Alguns exemplos de php_uname()

<?php
echo php_uname();
echo PHP_OS;

/* Algumas saídas possíveis:
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686
Linux

FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001
FreeBSD

Windows NT XN1 5.1 build 2600
WINNT
*/

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    echo 'Este é um servidor usando!';
} else {
    echo 'Este é um servidor que não usa Windows!';
}

?>

Existem também algumas Constantes pré-definidas que podem ser úteis, por exemplo:

Exemplo #2 Algumas constantes relacionadas com o sistema operacional

<?php
// *nix
echo DIRECTORY_SEPARATOR; // /
echo PHP_SHLIB_SUFFIX;    // so
echo PATH_SEPARATOR;      // :

// Win*
echo DIRECTORY_SEPARATOR; // \
echo PHP_SHLIB_SUFFIX;    // dll
echo PATH_SEPARATOR;      // ;
?>

Veja também phpversion(),
php_sapi_name() e
phpinfo().


Mostra os créditos pelo PHP

  • « php_uname
  • phpinfo »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Mostra os créditos pelo PHP

phpcredits

(PHP 4, PHP 5, PHP 7, PHP 8)

phpcredits — Mostra os créditos pelo PHP

Descrição

phpcredits ( int $flag = ? ) : bool

Esta função mostra os créditos devidos aos desenvolvedores do PHP, módulos, etc. É gerado os códigos HTML apropriados para inserir a informação em uma página.

Parâmetros

flag

Para gerar uma página de créditos customizada, você terá que usar o parâmetro flag. flag é opcional, e o padrão é CREDITS_ALL.

Flags pré-definidas da phpcredits()
Nome | Descrição
CREDITS_ALL | Todos os créditos, equivalente ao usar: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_FULLPAGE. Gera uma completa página HTML com as apropriadas tags.
CREDITS_DOCS | Os créditos para o time da documentação
CREDITS_FULLPAGE | Normalmente usado na combinação com outras flags. Indica que a completa página HTML precisa ser imprimida incluindo a informação indicada por outras flags.
CREDITS_GENERAL | Créditos gerais: design da linguagem e conceitos, autores do PHP 4.0 e módulos SAPI.
CREDITS_GROUP | Uma lista de desenvolvedores do core
CREDITS_MODULES | Uma lista de módulos para o PHP, e seus autores
CREDITS_SAPI | Uma lista de módulos server API para o PHP, e seus autores

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Imprimindo os créditos gerais

<?php
phpcredits(CREDITS_GENERAL);
?>

Exemplo #2 Imprime os desenvolvedores do core e o grupo da documentação

<?php
phpcredits(CREDITS_GROUP + CREDITS_DOCS + CREDITS_FULLPAGE);
?>

Exemplo #3 Imprimindo todos os créditos

<html>
 <head>
  <title>My credits page</title>
 </head>
 <body>
<?php
// some code of your own
phpcredits(CREDITS_ALL - CREDITS_FULLPAGE);
// some more code
?>
 </body>
</html>

Veja Também

  • phpversion() - Obtém a versão atual do PHP
  • php_logo_guid()
  • phpinfo() - Mostra muitas informações sobre o PHP


Mostra muitas informações sobre o PHP

  • « phpcredits
  • phpversion »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Mostra muitas informações sobre o PHP

phpinfo

(PHP 4, PHP 5, PHP 7, PHP 8)

phpinfo — Mostra muitas informações sobre o PHP

Descrição

phpinfo ( int $what = ? ) : int

Mostra uma grande quantidade de informações sobre o estado atual do PHP. Isto inclui informações sobre as opções de compilação do PHP e extensões, a versão do PHP, informações do servidor e ambiente (se compilado como um módulo), o ambiente PHP, informação da versão do SO, caminhos, valores principais e locais das opções de configuração, cabeçalhos HTTP e a licença do PHP.

Devido a configuração em cada sistema ser diferente, a função phpinfo() e normalmente utilizada para conhecer as definições de configuração e as variáveis pré-definidas que estejam disponíveis no sistema. phpinfo() é também é uma ferramenta valiosa para eliminação de erros já que contém todos os dados de EGPCS (Environment, GET, POST, Cookie, Server).

A saída pode ser configurada passando-se uma ou mais das seguintes constants que serão somadas junto com o parâmetro opcional what. Pode combinar as respectivas constantes ou seus valores bit a bit juntos com o operador or.

Opções phpinfo()
Nome (constant) | Valor | Descrição
INFO_GENERAL | 1 | A linha de configuração, localização do php.ini data de construção, Servidor Web, Sistema e mais.
INFO_CREDITS | 2 | Créditos do PHP 4. Veja também phpcredits().
INFO_CONFIGURATION | 4 | Valores locais e principais para as diretivas de configuração do PHP. Veja também ini_get().
INFO_MODULES | 8 | Módulos carregados e suas respectivas configurações. Veja também get_loaded_modules().
INFO_ENVIRONMENT | 16 | Informação das variáveis de ambiente que também esta disponível em $_ENV.
INFO_VARIABLES | 32 | Mostra todas as variáveis pré-definidas de EGPCS (Environment, GET, POST, Cookie, Server).
INFO_LICENSE | 64 | Informação sobre a Licença do PHP. Veja também o » faq sobre a licença.
INFO_ALL | -1 | Mostra tudo acima. Este é o valor padrão.

Exemplo #1 Exemplos phpinfo()

<?php

// Mostra todas as informações, usa o padrão INFO_ALL
phpinfo();

// Mostra apenas informações dos módulos.
// phpinfo(8) mostra um resultado identico.
phpinfo(INFO_MODULES);

?>

Nota:

Partes da informação mostrada é desabilitada quando a diretiva de configuração expose_php for definida para off. Isto inclui os logos do PHP e Zend, e os créditos.

Nota:

phpinfo() envia texto simples ao invés de HTML quando esta usando o modo CLI.

Veja também phpversion(),
phpcredits(),
php_logo_guid(),
ini_get(),
ini_set(),
get_loaded_modules(),
e a seção sobre Variáveis Pré-definidas.


Obtém a versão atual do PHP

  • « phpinfo
  • putenv »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém a versão atual do PHP

phpversion

(PHP 4, PHP 5, PHP 7, PHP 8)

phpversion — Obtém a versão atual do PHP

Descrição

phpversion ( string $extension = ? ) : string

Retorna uma string contendo a versão atual do interpretador PHP ou extensão.

Parâmetros

extension

Um opcional nome de extensão.

Valor Retornado

Se o parâmetro opcional extension é especificado, phpversion() retorna a versão desta extensão, ou false se não há informação da versão ou a extensão não está habilitada.

Exemplos

Exemplo #1 Exemplo phpversion()

<?php
// mostra por exemplo 'Versão Atual do PHP: 4.1.1'
echo 'Versão Atual do PHP: ' . phpversion();

// mostra e.g. '2.0' ou nada se a extensão não está habilitada
echo phpversion('tidy');
?>

Notas

Nota:

Esta informação está também disponível na constante pré-definida PHP_VERSION.

Veja Também

  • version_compare() - Compares two "PHP-standardized" version number strings
  • phpinfo() - Mostra muitas informações sobre o PHP
  • phpcredits() - Mostra os créditos pelo PHP
  • php_logo_guid()
  • zend_version() - Obtém a versão da Zend engine que esta sendo executada


Define o valor de uma variável de ambiente

  • « phpversion
  • restore_include_path »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Define o valor de uma variável de ambiente

putenv

(PHP 4, PHP 5, PHP 7, PHP 8)

putenv — Define o valor de uma variável de ambiente

Descrição

putenv ( string $setting ) : bool

Adiciona setting no ambiente do servidor. A variável de ambiente irá existir somente durante a requisição atual. Ao final da requisição o ambiente é retornado ao seu estado natural.

Definir certas variáveis de ambiente pode ser potencialmente uma brecha de segurança.. A diretiva safe_mode_allowed_env_vars contém uma lista separada por vírgula de prefixos. No modo seguro, o usuário poderá alterar variáveis de ambiente cujo o nome comece por um dos prefixos indicados nesta diretiva. Por padrão os usuários só poderão definir varáveis que comecem com PHP_ (ex.. PHP_FOO=BAR). Nota: se esta diretiva estiver vazia, o PHP permitirá ao usuário modificar QUALQUER variável de ambiente!

A diretiva safe_mode_protected_env_vars contém uma lista separada por vírgula de variáveis de ambiente que o usuário não possa mudar usando putenv(). Estas variáveis serão protegidas mesmo que safe_mode_allowed_env_vars esta definida para permitir muda-las

Parâmetros

setting

A definição, como "FOO=BAR"

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Definindo uma variável de ambiente

<?php
putenv("UNIQID=$uniqid");
?>

Veja Também

  • getenv() - Obtém uma variável de ambiente
  • apache_setenv() - Define uma variável subprocess_env do Apache


Restaura o valor da opção de configuração include_path

  • « putenv
  • set_include_path »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Restaura o valor da opção de configuração include_path

restore_include_path

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

restore_include_path — Restaura o valor da opção de configuração include_path

Descrição

restore_include_path ( ) : void

Restaura a opção de configuração include_path de volta para o seu valor principal definido no php.ini

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Exemplo restore_include_path()

<?php
echo get_include_path();  // .:/usr/local/lib/php
set_include_path('/inc');
echo get_include_path();  // /inc
// Funciona a partir do PHP 4.3.0
restore_include_path();
// Funciona em todas as versões do PHP
ini_restore('include_path');
echo get_include_path();  // .:/usr/local/lib/phpp
?>

Veja Também

  • ini_restore() - Restaura o valor de uma opção de configuração
  • get_include_path() - Obtém a opção de configuração include_path atual
  • set_include_path() - Define a opção de configuração include_path
  • include - include


Define a opção de configuração include_path

  • « restore_include_path
  • set_time_limit »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Define a opção de configuração include_path

set_include_path

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

set_include_path — Define a opção de configuração include_path

Descrição

set_include_path ( string $new_include_path ) : string

Define a opção de configuração include_path pela duração do script. Retorna o valor anterior de include_path em caso de sucesso ou false em caso de falha.

Exemplo #1 Exemplo set_include_path()

<?php
// Funciona a partir do  PHP 4.3.0
set_include_path('/inc');

// Funciona em todas as versões
ini_set('include_path', '/inc');
?>

Exemplo #2 Adicionando mais entradas ao include path

Através do uso da constante PATH_SEPARATOR, é possível extender o include path sem levar em consideração o sistema operacional.

Neste exemplo, nós adicionamos /usr/lib/pear ao final do include_path existente.

<?php
$path = '/usr/lib/pear';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
?>

Veja também ini_set(),
get_include_path(),
restore_include_path() e
include.


Limita o tempo de execução do script

  • « set_include_path
  • sys_get_temp_dir »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Limita o tempo de execução do script

set_time_limit

(PHP 4, PHP 5, PHP 7, PHP 8)

set_time_limit — Limita o tempo de execução do script

Descrição

set_time_limit ( int $seconds ) : void

Define o número de segundos durante os quais é permitido a execução do script. Se este limite é atingido, o script retorna um erro fatal. O limite padrão é de 30 segundos, ou se existir o valor definido o valor max_execution_time definido no php.ini. Se seconds for definido como zero, não é imposto nenhum limite.

Quando utilizada, set_time_limit() reinicia o contador do limite do tempo a partir de zero. Em outras palavras, se o limite for 30 segundos, e 25 segundos depois do inicio da execução do script for utilizada a função com por exemplo, set_time_limit(20), o script será executado por 45 segundos até acabar o tempo.

Aviso

set_time_limit() não tem efeito quando o PHP esta sendo executado em safe mode. Não existe como contornar sem desabilitar o safe mode ou mudar o limite de tempo no php.ini.

Nota:

A função set_time_limit() e a diretiva de configuração max_execution_time somente afetam a execução do script em si mesmo. Qualquer tempo gasto com atividades que aconteçam fora da execução do script como chamadas de sistema usando system(), operações de streams, consultas em banco de dados, etc. não é incluso ao determinar o limite de tempo que o script esta sendo executado.

Veja também: max_execution_time e max_input_time.


Returns directory path used for temporary files

  • « set_time_limit
  • version_compare »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Returns directory path used for temporary files

sys_get_temp_dir

(PHP 5 >= 5.2.1, PHP 7, PHP 8)

sys_get_temp_dir — Returns directory path used for temporary files

Descrição

sys_get_temp_dir ( ) : string

Returns the path of the directory PHP stores temporary files in by default.

Valor Retornado

Returns the path of the temporary directory.

Exemplos

Exemplo #1 sys_get_temp_dir() example

<?php
// Create a temporary file in the temporary
// files directory using sys_get_temp_dir()
$temp_file = tempnam(sys_get_temp_dir(), 'Tux');

echo $temp_file;
?>

O exemplo acima irá imprimir algo similar à:

C:\Windows\Temp\TuxA318.tmp

Veja Também

  • tmpfile() - Cria um arquivo temporário
  • tempnam() - Cria um nome de arquivo único


Compares two "PHP-standardized" version number strings

  • « sys_get_temp_dir
  • zend_thread_id »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Compares two "PHP-standardized" version number strings

version_compare

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

version_compare — Compares two "PHP-standardized" version number strings

Descrição

version_compare ( string $version1 , string $version2 ) : int
version_compare ( string $version1 , string $version2 , string $operator ) : bool

version_compare() compares two "PHP-standardized" version number strings.

The function first replaces _, - and + with a dot . in the version strings and also inserts dots . before and after any non number so that for example '4.3.2RC1' becomes '4.3.2.RC.1'. Then it compares the parts starting from left to right. If a part contains special version strings these are handled in the following order: any string not found in this list < dev < alpha = a < beta = b < RC = rc < # < pl = p. This way not only versions with different levels like '4.1' and '4.1.2' can be compared but also any PHP specific version containing development state.

Parâmetros

version1

First version number.

version2

Second version number.

operator

If the third optional operator argument is specified, test for a particular relationship. The possible operators are: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne respectively.

This parameter is case-sensitive, values should be lowercase.

Valor Retornado

By default, version_compare() returns -1 if the first version is lower than the second, 0 if they are equal, and 1 if the second is lower.

When using the optional operator argument, the function will return true if the relationship is the one specified by the operator, false otherwise. If an unsupported operator is given, null is returned.

Exemplos

The examples below use the PHP_VERSION constant, because it contains the value of the PHP version that is executing the code.

Exemplo #1 version_compare() examples

<?php
if (version_compare(PHP_VERSION, '7.0.0') >= 0) {
    echo 'I am at least PHP version 7.0.0, my version: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
    echo 'I am at least PHP version 5.3.0, my version: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '>=')) {
    echo 'I am at least PHP version 5.0.0, my version: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '<')) {
    echo 'I am still PHP 4, my version: ' . PHP_VERSION . "\n";
}
?>

Notas

Nota:

The PHP_VERSION constant holds current PHP version.

Nota:

Note that pre-release versions, such as 5.3.0-dev, are considered lower than their final release counterparts (like 5.3.0).

Nota:

Special version strings such as alpha and beta are case sensitive. Version strings from arbitrary sources that do not adhere to the PHP standard may need to be lowercased via strtolower() before calling version_compare().

Veja Também

  • phpversion() - Obtém a versão atual do PHP
  • php_uname() - Retorna informação sobre o sistema operacional que o PHP foi construído
  • function_exists() - Retorna true se a função dada está definida


Returns a unique identifier for the current thread

  • « version_compare
  • zend_version »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Returns a unique identifier for the current thread

zend_thread_id

(PHP 5, PHP 7, PHP 8)

zend_thread_id — Returns a unique identifier for the current thread

Descrição

zend_thread_id ( ) : int

This function returns a unique identifier for the current thread.

Valor Retornado

Returns the thread id as an integer.

Exemplos

Exemplo #1 zend_thread_id() example

<?php
$thread_id = zend_thread_id();

echo 'Current thread id is: ' . $thread_id;
?>

O exemplo acima irá imprimir algo similar à:

Current thread id is: 7864

Notas

Nota:

This function is only available if PHP has been built with ZTS (Zend Thread Safety) support and debug mode (--enable-debug).


Obtém a versão da Zend engine que esta sendo executada

  • « zend_thread_id
  • phpdbg »
  • PHP Manual
  • Funções para Opções/Info do PHP
  • Obtém a versão da Zend engine que esta sendo executada

zend_version

(PHP 4, PHP 5, PHP 7, PHP 8)

zend_version — Obtém a versão da Zend engine que esta sendo executada

Descrição

zend_version ( ) : string

Retorna uma string contendo a versão atual da Zend Engine que esta sendo executada.

Valor Retornado

Retorna o número da versão da Zend Engine, como uma string.

Exemplos

Exemplo #1 Exemplo zend_version()

<?php
echo "Zend engine version: " . zend_version();
?>

O exemplo acima irá imprimir algo similar à:

Zend engine version: 2.2.0

Veja Também

  • phpinfo() - Mostra muitas informações sobre o PHP
  • phpcredits() - Mostra os créditos pelo PHP
  • php_logo_guid()
  • phpversion() - Obtém a versão atual do PHP


Interactive PHP Debugger

  • Introdução
  • Instalação/Configuração
    • Configurações em Execução
  • Constantes pré-definidas
  • phpdbg Funções
    • phpdbg_break_file — Inserts a breakpoint at a line in a file
    • phpdbg_break_function — Inserts a breakpoint at entry to a function
    • phpdbg_break_method — Inserts a breakpoint at entry to a method
    • phpdbg_break_next — Inserts a breakpoint at the next opcode
    • phpdbg_clear — Clears all breakpoints
    • phpdbg_color — Sets the color of certain elements
    • phpdbg_end_oplog — Descrição
    • phpdbg_exec — Attempts to set the execution context
    • phpdbg_get_executable — Descrição
    • phpdbg_prompt — Sets the command prompt
    • phpdbg_start_oplog — Descrição


Introdução

Implemented as a SAPI module, phpdbg can exert complete control over the environment without impacting the functionality or performance of your code.

phpdbg aims to be a lightweight, powerful, easy to use debugging platform for PHP. It offers the following features:

  • Step-Through Debugging
  • Flexible Breakpoints (Class Method, Function, File:Line, Address, Opcode)
  • Easy Access to PHP with built-in eval()
  • Userland API
  • SAPI Agnostic - Easily Integrated
  • PHP Configuration File Support
  • JIT Super Globals - Set Your Own !!
  • Optional readline Support - Comfortable Terminal Operation
  • Easy Operation - See Help :)

Command line options
Option | Example Argument | Description
-c | -c/my/php.ini | Set php.ini file to load
-d | -dmemory_limit=4G | Set a php.ini directive
-n |  | Disable default php.ini
-q |  | Suppress welcome banner
-v |  | Enable oplog output
-b |  | Disable color
-i | -imy.init | Set .phpdbginit file
-I |  | Ignore default .phpdbginit
-O | -Omy.oplog | Set oplog output file
-r |  | Run execution context
-rr |  | Run execution context and quit after execution (not respecting breakpoints)
-e |  | Generate extended information for debugger/profiler
-E |  | Enable step through eval, careful!
-s | -s=, -s=foo | Read code to execute from stdin with an optional delimiter
-S | -Scli | Override SAPI name, careful!
-l | -l4000 | Setup remote console ports
-a | -a192.168.0.3 | Setup remote console bind address
-x |  | Enable xml output (instead of normal text output)
-p | -p, -p=func, -p* | Output opcodes and quit
-h |  | Print the help overview
-V |  | Print version number
-- | -- arg1 arg2 | Use to delimit phpdbg arguments and php $argv; append any $argv argument after it


  • « Introdução
  • Configurações em Execução »
  • PHP Manual
  • phpdbg
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Configurações em Execução


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

phpdbg Opções de Configuração
Nome | Padrão | Modificável | Changelog
phpdbg.eol | 2 | PHP_INI_ALL | Available as of PHP 7.0.0
phpdbg.path |  | 6 | Available as of PHP 5.6.3

Uma rápida explicação das diretivas de configuração.

phpdbg.eol mixed

The kind of line ending to use for output. For setting the value, one of the string aliases must be used.

int Value | string Alias
0 | CRLF, crlf, DOS, dos
1 | LF, lf, UNIX, unix
2 | CR, cr, MAC, mac

phpdbg.path string


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

PHPDBG_VERSION (string)
PHPDBG_FILE (int)
Removed as of PHP 7.3.0.
PHPDBG_METHOD (int)
Removed as of PHP 7.3.0.
PHPDBG_LINENO (int)
Removed as of PHP 7.3.0.
PHPDBG_FUNC (int)
Removed as of PHP 7.3.0.
PHPDBG_COLOR_PROMPT (int)
PHPDBG_COLOR_NOTICE (int)
PHPDBG_COLOR_ERROR (int)


phpdbg Funções

Índice

  • phpdbg_break_file — Inserts a breakpoint at a line in a file
  • phpdbg_break_function — Inserts a breakpoint at entry to a function
  • phpdbg_break_method — Inserts a breakpoint at entry to a method
  • phpdbg_break_next — Inserts a breakpoint at the next opcode
  • phpdbg_clear — Clears all breakpoints
  • phpdbg_color — Sets the color of certain elements
  • phpdbg_end_oplog — Descrição
  • phpdbg_exec — Attempts to set the execution context
  • phpdbg_get_executable — Descrição
  • phpdbg_prompt — Sets the command prompt
  • phpdbg_start_oplog — Descrição


Inserts a breakpoint at a line in a file

  • « phpdbg Funções
  • phpdbg_break_function »
  • PHP Manual
  • phpdbg Funções
  • Inserts a breakpoint at a line in a file

phpdbg_break_file

(PHP 5 >= 5.6.3, PHP 7, PHP 8)

phpdbg_break_file — Inserts a breakpoint at a line in a file

Descrição

phpdbg_break_file ( string $file , int $line ) : void

Insert a breakpoint at the given line in the given file.

Parâmetros

file

The name of the file.

line

The line number.

Valor Retornado

Não há valor retornado.

Veja Também

  • phpdbg_break_function() - Inserts a breakpoint at entry to a function
  • phpdbg_break_method() - Inserts a breakpoint at entry to a method
  • phpdbg_break_next() - Inserts a breakpoint at the next opcode
  • phpdbg_clear() - Clears all breakpoints


Inserts a breakpoint at entry to a function

  • « phpdbg_break_file
  • phpdbg_break_method »
  • PHP Manual
  • phpdbg Funções
  • Inserts a breakpoint at entry to a function

phpdbg_break_function

(PHP 5 >= 5.6.3, PHP 7, PHP 8)

phpdbg_break_function — Inserts a breakpoint at entry to a function

Descrição

phpdbg_break_function ( string $function ) : void

Insert a breakpoint at the entry to the given function.

Parâmetros

function

The name of the function.

Valor Retornado

Não há valor retornado.

Veja Também

  • phpdbg_break_file() - Inserts a breakpoint at a line in a file
  • phpdbg_break_method() - Inserts a breakpoint at entry to a method
  • phpdbg_break_next() - Inserts a breakpoint at the next opcode
  • phpdbg_clear() - Clears all breakpoints


Inserts a breakpoint at entry to a method

  • « phpdbg_break_function
  • phpdbg_break_next »
  • PHP Manual
  • phpdbg Funções
  • Inserts a breakpoint at entry to a method

phpdbg_break_method

(PHP 5 >= 5.6.3, PHP 7, PHP 8)

phpdbg_break_method — Inserts a breakpoint at entry to a method

Descrição

phpdbg_break_method ( string $class , string $method ) : void

Insert a breakpoint at the entry to the given method of the given class.

Parâmetros

class

The name of the class.

method

The name of the method.

Valor Retornado

Não há valor retornado.

Veja Também

  • phpdbg_break_file() - Inserts a breakpoint at a line in a file
  • phpdbg_break_function() - Inserts a breakpoint at entry to a function
  • phpdbg_break_next() - Inserts a breakpoint at the next opcode
  • phpdbg_clear() - Clears all breakpoints


Inserts a breakpoint at the next opcode

  • « phpdbg_break_method
  • phpdbg_clear »
  • PHP Manual
  • phpdbg Funções
  • Inserts a breakpoint at the next opcode

phpdbg_break_next

(PHP 5 >= 5.6.3, PHP 7, PHP 8)

phpdbg_break_next — Inserts a breakpoint at the next opcode

Descrição

phpdbg_break_next ( ) : void

Insert a breakpoint at the next opcode.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • phpdbg_break_file() - Inserts a breakpoint at a line in a file
  • phpdbg_break_function() - Inserts a breakpoint at entry to a function
  • phpdbg_break_method() - Inserts a breakpoint at entry to a method
  • phpdbg_clear() - Clears all breakpoints


Clears all breakpoints

  • « phpdbg_break_next
  • phpdbg_color »
  • PHP Manual
  • phpdbg Funções
  • Clears all breakpoints

phpdbg_clear

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

phpdbg_clear — Clears all breakpoints

Descrição

phpdbg_clear ( ) : void

Clear all breakpoints that have been set, either via one of the phpdbg_break_*() functions or interactively in the console.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • phpdbg_break_file() - Inserts a breakpoint at a line in a file
  • phpdbg_break_function() - Inserts a breakpoint at entry to a function
  • phpdbg_break_method() - Inserts a breakpoint at entry to a method
  • phpdbg_break_next() - Inserts a breakpoint at the next opcode


Sets the color of certain elements

  • « phpdbg_clear
  • phpdbg_end_oplog »
  • PHP Manual
  • phpdbg Funções
  • Sets the color of certain elements

phpdbg_color

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

phpdbg_color — Sets the color of certain elements

Descrição

phpdbg_color ( int $element , string $color ) : void

Set the color of the given element.

Parâmetros

element

One of the PHPDBG_COLOR_* constants.

color

The name of the color. One of white, red, green, yellow, blue, purple, cyan or black, optionally with either a trailing -bold or -underline, for instance, white-bold or green-underline.

Valor Retornado

Não há valor retornado.

Veja Também

  • phpdbg_prompt() - Sets the command prompt


Descrição

  • « phpdbg_color
  • phpdbg_exec »
  • PHP Manual
  • phpdbg Funções
  • Descrição

phpdbg_end_oplog

(PHP 7, PHP 8)

phpdbg_end_oplog —

Descrição

phpdbg_end_oplog ( array $options = [] ) : array|null

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

options

Valor Retornado


Attempts to set the execution context

  • « phpdbg_end_oplog
  • phpdbg_get_executable »
  • PHP Manual
  • phpdbg Funções
  • Attempts to set the execution context

phpdbg_exec

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

phpdbg_exec — Attempts to set the execution context

Descrição

phpdbg_exec ( string $context ) : string|bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

context

Valor Retornado

If the execution context was set previously it is returned. If the execution context was not set previously true is returned. If the request to set the context fails, false is returned, and an E_WARNING raised.


Descrição

  • « phpdbg_exec
  • phpdbg_prompt »
  • PHP Manual
  • phpdbg Funções
  • Descrição

phpdbg_get_executable

(PHP 7, PHP 8)

phpdbg_get_executable —

Descrição

phpdbg_get_executable ( array $options = [] ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

options

Valor Retornado


Sets the command prompt

  • « phpdbg_get_executable
  • phpdbg_start_oplog »
  • PHP Manual
  • phpdbg Funções
  • Sets the command prompt

phpdbg_prompt

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

phpdbg_prompt — Sets the command prompt

Descrição

phpdbg_prompt ( string $string ) : void

Set the command prompt to the given string.

Parâmetros

string

The string to use as command prompt.

Valor Retornado

Não há valor retornado.

Veja Também

  • phpdbg_color() - Sets the color of certain elements


Descrição

  • « phpdbg_prompt
  • runkit7 »
  • PHP Manual
  • phpdbg Funções
  • Descrição

phpdbg_start_oplog

(PHP 7, PHP 8)

phpdbg_start_oplog —

Descrição

phpdbg_start_oplog ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


runkit7

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • runkit7 Funções
    • runkit7_constant_add — Similar to define(), but allows defining in class definitions as well
    • runkit7_constant_redefine — Redefine an already defined constant
    • runkit7_constant_remove — Remove/Delete an already defined constant
    • runkit7_function_add — Add a new function, similar to create_function
    • runkit7_function_copy — Copy a function to a new function name
    • runkit7_function_redefine — Replace a function definition with a new implementation
    • runkit7_function_remove — Remove a function definition
    • runkit7_function_rename — Change a function's name
    • runkit7_import — Process a PHP file importing function and class definitions, overwriting where appropriate
    • runkit7_method_add — Dynamically adds a new method to a given class
    • runkit7_method_copy — Copies a method from class to another
    • runkit7_method_redefine — Dynamically changes the code of the given method
    • runkit7_method_remove — Dynamically removes the given method
    • runkit7_method_rename — Dynamically changes the name of the given method
    • runkit7_object_id — Return the integer object handle for given object
    • runkit7_superglobals — Return numerically indexed array of registered superglobals
    • runkit7_zval_inspect — Returns information about the passed in value with data types, reference counts, etc


Introdução

The runkit7 extension provides means to modify constants, user-defined functions, and user-defined classes. It also provides for custom superglobal variables.

This package is a fork of the » runkit package providing PHP 7 support.


Dependências

Modifying Constants, Functions, Classes, and Methods as well as Custom Superglobals works with all releases of PHP 7. No special requirements are necessary.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/runkit7.

Windows binaries (DLL files) for this PECL extension are available from the PECL website.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Runkit Configuration Options
Nome | Padrão | Modificável | Changelog
runkit.superglobal | "" | PHP_INI_PERDIR |
runkit.internal_override | "0" | PHP_INI_SYSTEM |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

runkit.superglobal string
Comma-separated list of variable names to be treated as superglobals. This value should be set in the systemwide php.ini file, but may work in perdir configuration contexts depending on your SAPI.

Exemplo #1 Custom Superglobals with runkit.superglobal=_FOO,_BAR in php.ini

<?php
function show_values() {
  echo "Foo is $_FOO\n";
  echo "Bar is $_BAR\n";
  echo "Baz is $_BAZ\n";
}

$_FOO = 'foo';
$_BAR = 'bar';
$_BAZ = 'baz';

/* Displays foo and bar, but not baz */
show_values();
?>
runkit.internal_override bool
Enables ability to modify/rename/remove internal functions.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

RUNKIT7_IMPORT_FUNCTIONS (int)
runkit7_import() flag indicating that normal functions should be imported from the specified file.
RUNKIT7_IMPORT_CLASS_METHODS (int)
runkit7_import() flag indicating that class methods should be imported from the specified file.
RUNKIT7_IMPORT_CLASS_CONSTS (int)
runkit7_import() flag indicating that class constants should be imported from the specified file.
RUNKIT7_IMPORT_CLASS_PROPS (int)
runkit7_import() flag indicating that class standard properties should be imported from the specified file.
RUNKIT7_IMPORT_CLASS_STATIC_PROPS (int)
runkit7_import() flag indicating that class static properties should be imported from the specified file. Available since Runkit 1.0.1.
RUNKIT7_IMPORT_CLASSES (int)
runkit7_import() flag representing a bitwise OR of the RUNKIT7_IMPORT_CLASS_* constants.
RUNKIT7_IMPORT_OVERRIDE (int)
runkit7_import() flag indicating that if any of the imported functions, methods, constants, or properties already exist, they should be replaced with the new definitions. If this flag is not set, then any imported definitions which already exist will be discarded.
RUNKIT7_ACC_RETURN_REFERENCE (int)
Include this flag to make the function or method being created or redeclared return a reference.
RUNKIT7_ACC_PUBLIC (int)
Flag for runkit7_method_add() and runkit7_method_redefine() to make the method public.
RUNKIT7_ACC_PROTECTED (int)
Flag for runkit7_method_add() and runkit7_method_redefine() to make the method protected.
RUNKIT7_ACC_PRIVATE (int)
Flag for runkit7_method_add() and runkit7_method_redefine() to make the method private.
RUNKIT7_ACC_STATIC (int)
Flag for runkit7_method_add() and runkit7_method_redefine() to make the method static.
RUNKIT7_FEATURE_MANIPULATION (int)
Equal to 1 if runtime manipulation is enabled, and 0 otherwise.
RUNKIT7_FEATURE_SUPERGLOBALS (int)
Equal to 1 if custom superglobals are enabled, and 0 otherwise.
RUNKIT7_FEATURE_SANDBOX (int)
Always 0, it's impractical to implement the sandbox feature in php 7.


runkit7 Funções

Índice

  • runkit7_constant_add — Similar to define(), but allows defining in class definitions as well
  • runkit7_constant_redefine — Redefine an already defined constant
  • runkit7_constant_remove — Remove/Delete an already defined constant
  • runkit7_function_add — Add a new function, similar to create_function
  • runkit7_function_copy — Copy a function to a new function name
  • runkit7_function_redefine — Replace a function definition with a new implementation
  • runkit7_function_remove — Remove a function definition
  • runkit7_function_rename — Change a function's name
  • runkit7_import — Process a PHP file importing function and class definitions, overwriting where appropriate
  • runkit7_method_add — Dynamically adds a new method to a given class
  • runkit7_method_copy — Copies a method from class to another
  • runkit7_method_redefine — Dynamically changes the code of the given method
  • runkit7_method_remove — Dynamically removes the given method
  • runkit7_method_rename — Dynamically changes the name of the given method
  • runkit7_object_id — Return the integer object handle for given object
  • runkit7_superglobals — Return numerically indexed array of registered superglobals
  • runkit7_zval_inspect — Returns information about the passed in value with data types, reference counts, etc


Similar to define(), but allows defining in class definitions as well

  • « runkit7 Funções
  • runkit7_constant_redefine »
  • PHP Manual
  • runkit7 Funções
  • Similar to define(), but allows defining in class definitions as well

runkit7_constant_add

(PECL runkit7 >= Unknown)

runkit7_constant_add — Similar to define(), but allows defining in class definitions as well

Descrição

runkit7_constant_add ( string $constname , mixed $value , int $newVisibility = ? ) : bool

Parâmetros

constname

Name of constant to declare. Either a string to indicate a global constant, or classname::constname to indicate a class constant.

value

NULL, Bool, Long, Double, String, Array, or Resource value to store in the new constant.

newVisibility

Visibility of the constant, for class constants. Public by default. One of the RUNKIT7_ACC_* constants.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • define() - Define uma constante
  • runkit7_constant_redefine() - Redefine an already defined constant
  • runkit7_constant_remove() - Remove/Delete an already defined constant


Redefine an already defined constant

  • « runkit7_constant_add
  • runkit7_constant_remove »
  • PHP Manual
  • runkit7 Funções
  • Redefine an already defined constant

runkit7_constant_redefine

(PECL runkit7 >= Unknown)

runkit7_constant_redefine — Redefine an already defined constant

Descrição

runkit7_constant_redefine ( string $constname , mixed $value , string $newVisibility = ? ) : bool

Parâmetros

constname

Constant to redefine. Either the name of a global constant, or classname::constname indicating class constant.

value

Value to assign to the constant.

newVisibility

The new visibility of the constant, for class constants. Unchanged by default. One of the RUNKIT7_ACC_* constants.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • runkit7_constant_add() - Similar to define(), but allows defining in class definitions as well
  • runkit7_constant_remove() - Remove/Delete an already defined constant


Remove/Delete an already defined constant

  • « runkit7_constant_redefine
  • runkit7_function_add »
  • PHP Manual
  • runkit7 Funções
  • Remove/Delete an already defined constant

runkit7_constant_remove

(PECL runkit7 >= Unknown)

runkit7_constant_remove — Remove/Delete an already defined constant

Descrição

runkit7_constant_remove ( string $constname ) : bool

Parâmetros

constname

Name of the constant to remove. Either the name of a global constant, or classname::constname indicating a class constant.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • define() - Define uma constante
  • runkit7_constant_add() - Similar to define(), but allows defining in class definitions as well
  • runkit7_constant_redefine() - Redefine an already defined constant


Add a new function, similar to create_function

  • « runkit7_constant_remove
  • runkit7_function_copy »
  • PHP Manual
  • runkit7 Funções
  • Add a new function, similar to create_function

runkit7_function_add

(PECL runkit7 >= Unknown)

runkit7_function_add — Add a new function, similar to create_function()

Descrição

runkit7_function_add ( string $funcname , string $arglist , string $code , bool $return_by_reference = null , string $doc_comment = null , string $return_type = ? , bool $is_strict = ? ) : bool
runkit7_function_add ( string $funcname , Closure $closure , string $doc_comment = null , string $return_type = ? , bool $is_strict = ? ) : bool

Parâmetros

funcname

Name of the function to be created

arglist

Comma separated argument list

code

Code making up the function

closure

A closure that defines the function.

return_by_reference

Whether the function should return by reference.

doc_comment

The doc comment of the function.

return_type

The return type of the function.

is_strict

Whether the function should behave as if it were declared in a file with strict_types=1

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 A runkit7_function_add() example

<?php
runkit7_function_add('testme','$a,$b','echo "The value of a is $a\n"; echo "The value of b is $b\n";');
testme(1,2);
?>

O exemplo acima irá imprimir:

The value of a is 1
The value of b is 2

Veja Também

  • create_function() - Cria uma função anônima (lambda-style)
  • runkit7_function_redefine() - Replace a function definition with a new implementation
  • runkit7_function_copy() - Copy a function to a new function name
  • runkit7_function_rename() - Change a function's name
  • runkit7_function_remove() - Remove a function definition
  • runkit7_method_add() - Dynamically adds a new method to a given class


Copy a function to a new function name

  • « runkit7_function_add
  • runkit7_function_redefine »
  • PHP Manual
  • runkit7 Funções
  • Copy a function to a new function name

runkit7_function_copy

(PECL runkit7 >= Unknown)

runkit7_function_copy — Copy a function to a new function name

Descrição

runkit7_function_copy ( string $funcname , string $targetname ) : bool

Parâmetros

funcname

Name of the existing function

targetname

Name of the new function to copy the definition to

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 A runkit7_function_copy() example

<?php
function original() {
  echo "In a function\n";
}
runkit7_function_copy('original','duplicate');
original();
duplicate();
?>

O exemplo acima irá imprimir:

In a function
In a function

Veja Também

  • runkit7_function_add() - Add a new function, similar to create_function
  • runkit7_function_redefine() - Replace a function definition with a new implementation
  • runkit7_function_rename() - Change a function's name
  • runkit7_function_remove() - Remove a function definition


Replace a function definition with a new implementation

  • « runkit7_function_copy
  • runkit7_function_remove »
  • PHP Manual
  • runkit7 Funções
  • Replace a function definition with a new implementation

runkit7_function_redefine

(PECL runkit7 >= Unknown)

runkit7_function_redefine — Replace a function definition with a new implementation

Descrição

runkit7_function_redefine ( string $funcname , string $arglist , string $code , bool $return_by_reference = null , string $doc_comment = null , string $return_type = ? , string $is_strict = ? ) : bool
runkit7_function_redefine ( string $funcname , Closure $closure , string $doc_comment = null , string $return_type = ? , string $is_strict = ? ) : bool

Nota: Por padrão somente funções do usuário podem ser removidos, renomeadas ou modificadas. Para sobrescrever funções internas, você precisa ativar a configuração runkit.internal_override no php.ini.

Parâmetros

funcname

Name of function to redefine

arglist

New list of arguments to be accepted by function

code

New code implementation

closure

A closure that defines the function.

return_by_reference

Whether the function should return by reference.

doc_comment

The doc comment of the function.

return_type

The return type of the function.

is_strict

Whether the function behaves as if it was declared in a file with strict_types=1

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 A runkit7_function_redefine() example

<?php
function testme() {
  echo "Original Testme Implementation\n";
}
testme();
runkit7_function_redefine('testme','','echo "New Testme Implementation\n";');
testme();
?>

O exemplo acima irá imprimir:

Original Testme Implementation
New Testme Implementation

Veja Também

  • runkit7_function_add() - Add a new function, similar to create_function
  • runkit7_function_copy() - Copy a function to a new function name
  • runkit7_function_rename() - Change a function's name
  • runkit7_function_remove() - Remove a function definition
  • runkit7_method_redefine() - Dynamically changes the code of the given method


Remove a function definition

  • « runkit7_function_redefine
  • runkit7_function_rename »
  • PHP Manual
  • runkit7 Funções
  • Remove a function definition

runkit7_function_remove

(PECL runkit7 >= Unknown)

runkit7_function_remove — Remove a function definition

Descrição

runkit7_function_remove ( string $funcname ) : bool

Nota: Por padrão somente funções do usuário podem ser removidos, renomeadas ou modificadas. Para sobrescrever funções internas, você precisa ativar a configuração runkit.internal_override no php.ini.

Parâmetros

funcname

Name of the function to be deleted

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • runkit7_function_add() - Add a new function, similar to create_function
  • runkit7_function_copy() - Copy a function to a new function name
  • runkit7_function_redefine() - Replace a function definition with a new implementation
  • runkit7_function_rename() - Change a function's name


Change a function's name

  • « runkit7_function_remove
  • runkit7_import »
  • PHP Manual
  • runkit7 Funções
  • Change a function's name

runkit7_function_rename

(PECL runkit7 >= Unknown)

runkit7_function_rename — Change a function's name

Descrição

runkit7_function_rename ( string $funcname , string $newname ) : bool

Nota: Por padrão somente funções do usuário podem ser removidos, renomeadas ou modificadas. Para sobrescrever funções internas, você precisa ativar a configuração runkit.internal_override no php.ini.

Parâmetros

funcname

Current function name

newname

New function name

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • runkit7_function_add() - Add a new function, similar to create_function
  • runkit7_function_copy() - Copy a function to a new function name
  • runkit7_function_redefine() - Replace a function definition with a new implementation
  • runkit7_function_remove() - Remove a function definition


Process a PHP file importing function and class definitions, overwriting where appropriate

  • « runkit7_function_rename
  • runkit7_method_add »
  • PHP Manual
  • runkit7 Funções
  • Process a PHP file importing function and class definitions, overwriting where appropriate

runkit7_import

(PECL runkit7 >= Unknown)

runkit7_import — Process a PHP file importing function and class definitions, overwriting where appropriate

Descrição

runkit7_import ( string $filename , int $flags = ? ) : bool

Similar to include. However, any code residing outside of a function or class is simply ignored. Additionally, depending on the value of flags, any functions or classes which already exist in the currently running environment may be automatically overwritten by their new definitions.

Parâmetros

filename

Filename to import function and class definitions from

flags

Bitwise OR of the RUNKIT7_IMPORT_* family of constants.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Dynamically adds a new method to a given class

  • « runkit7_import
  • runkit7_method_copy »
  • PHP Manual
  • runkit7 Funções
  • Dynamically adds a new method to a given class

runkit7_method_add

(PECL runkit7 >= Unknown)

runkit7_method_add — Dynamically adds a new method to a given class

Descrição

runkit7_method_add ( string $classname , string $methodname , string $args , string $code , int $flags = RUNKIT7_ACC_PUBLIC , string $doc_comment = null , string $return_type = ? , bool $is_strict = ? ) : bool
runkit7_method_add ( string $classname , string $methodname , Closure $closure , int $flags = RUNKIT7_ACC_PUBLIC , string $doc_comment = null , string $return_type = ? , bool $is_strict = ? ) : bool

Parâmetros

classname

The class to which this method will be added

methodname

The name of the method to add

args

Comma-delimited list of arguments for the newly-created method

code

The code to be evaluated when methodname is called

closure

A closure that defines the method.

flags

The type of method to create, can be RUNKIT7_ACC_PUBLIC, RUNKIT7_ACC_PROTECTED or RUNKIT7_ACC_PRIVATE optionally combined via bitwise OR with RUNKIT7_ACC_STATIC

doc_comment

The doc comment of the method.

return_type

The return type of the method.

is_strict

Whether the method behaves as if it were declared in a file with strict_types=1

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 runkit7_method_add() example

<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// create an Example object
$e = new Example();

// Add a new public method
runkit7_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    RUNKIT7_ACC_PUBLIC
);

// add 12 + 4
echo $e->add(12, 4);
?>

O exemplo acima irá imprimir:

16

Veja Também

  • runkit7_method_copy() - Copies a method from class to another
  • runkit7_method_redefine() - Dynamically changes the code of the given method
  • runkit7_method_remove() - Dynamically removes the given method
  • runkit7_method_rename() - Dynamically changes the name of the given method
  • runkit7_function_add() - Add a new function, similar to create_function


Copies a method from class to another

  • « runkit7_method_add
  • runkit7_method_redefine »
  • PHP Manual
  • runkit7 Funções
  • Copies a method from class to another

runkit7_method_copy

(PECL runkit7 >= Unknown)

runkit7_method_copy — Copies a method from class to another

Descrição

runkit7_method_copy ( string $dClass , string $dMethod , string $sClass , string $sMethod = ? ) : bool

Parâmetros

dClass

Destination class for copied method

dMethod

Destination method name

sClass

Source class of the method to copy

sMethod

Name of the method to copy from the source class. If this parameter is omitted, the value of dMethod is assumed.

Valor Retornado

Exemplos

Exemplo #1 runkit7_method_copy() example

<?php
class Foo {
    function example() {
        return "foo!\n";
    }
}

class Bar {
    // initially, no methods
}

// copy the example() method from the Foo class to the Bar class, as baz()
runkit7_method_copy('Bar', 'baz', 'Foo', 'example');

// output copied function
echo Bar::baz();
?>

O exemplo acima irá imprimir:

foo!

Veja Também

  • runkit7_method_add() - Dynamically adds a new method to a given class
  • runkit7_method_redefine() - Dynamically changes the code of the given method
  • runkit7_method_remove() - Dynamically removes the given method
  • runkit7_method_rename() - Dynamically changes the name of the given method
  • runkit7_function_copy() - Copy a function to a new function name


Dynamically changes the code of the given method

  • « runkit7_method_copy
  • runkit7_method_remove »
  • PHP Manual
  • runkit7 Funções
  • Dynamically changes the code of the given method

runkit7_method_redefine

(PECL runkit7 >= Unknown)

runkit7_method_redefine — Dynamically changes the code of the given method

Descrição

runkit7_method_redefine ( string $classname , string $methodname , string $args , string $code , int $flags = RUNKIT7_ACC_PUBLIC , string $doc_comment = null , string $return_type = ? , bool $is_strict = ? ) : bool
runkit7_method_redefine ( string $classname , string $methodname , Closure $closure , int $flags = RUNKIT7_ACC_PUBLIC , string $doc_comment = null , string $return_type = ? , bool $is_strict = ? ) : bool

Parâmetros

classname

The class in which to redefine the method

methodname

The name of the method to redefine

args

Comma-delimited list of arguments for the redefined method

code

The new code to be evaluated when methodname is called

closure

A closure that defines the method.

flags

The redefined method can be RUNKIT7_ACC_PUBLIC, RUNKIT7_ACC_PROTECTED or RUNKIT7_ACC_PRIVATE optionally combined via bitwise OR with RUNKIT7_ACC_STATIC

doc_comment

The doc comment of the method.

return_type

The return type of the method.

is_strict

Whether the method behaves as if it was declared in a file with strict_types=1.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 runkit7_method_redefine() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// create an Example object
$e = new Example();

// output Example::foo() (before redefine)
echo "Before: " . $e->foo();

// Redefine the 'foo' method
runkit7_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    RUNKIT7_ACC_PUBLIC
);

// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>

O exemplo acima irá imprimir:

Before: foo!
After: bar!

Veja Também

  • runkit7_method_add() - Dynamically adds a new method to a given class
  • runkit7_method_copy() - Copies a method from class to another
  • runkit7_method_remove() - Dynamically removes the given method
  • runkit7_method_rename() - Dynamically changes the name of the given method
  • runkit7_function_redefine() - Replace a function definition with a new implementation


Dynamically removes the given method

  • « runkit7_method_redefine
  • runkit7_method_rename »
  • PHP Manual
  • runkit7 Funções
  • Dynamically removes the given method

runkit7_method_remove

(PECL runkit7 >= Unknown)

runkit7_method_remove — Dynamically removes the given method

Descrição

runkit7_method_remove ( string $classname , string $methodname ) : bool

Nota: Esta função não pode ser utilizada para manipular um método ativo (ou encadeado) method.

Parâmetros

classname

The class in which to remove the method

methodname

The name of the method to remove

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 runkit7_method_remove() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Remove the 'foo' method
runkit7_method_remove(
    'Example',
    'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

O exemplo acima irá imprimir:

bar

Veja Também

  • runkit7_method_add() - Dynamically adds a new method to a given class
  • runkit7_method_copy() - Copies a method from class to another
  • runkit7_method_redefine() - Dynamically changes the code of the given method
  • runkit7_method_rename() - Dynamically changes the name of the given method
  • runkit7_function_remove() - Remove a function definition


Dynamically changes the name of the given method

  • « runkit7_method_remove
  • runkit7_object_id »
  • PHP Manual
  • runkit7 Funções
  • Dynamically changes the name of the given method

runkit7_method_rename

(PECL runkit7 >= Unknown)

runkit7_method_rename — Dynamically changes the name of the given method

Descrição

runkit7_method_rename ( string $classname , string $methodname , string $newname ) : bool

Nota: Esta função não pode ser utilizada para manipular um método ativo (ou encadeado) method.

Parâmetros

classname

The class in which to rename the method

methodname

The name of the method to rename

newname

The new name to give to the renamed method

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 runkit7_method_rename() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Rename the 'foo' method to 'bar'
runkit7_method_rename(
    'Example',
    'foo',
    'bar'
);

// output renamed function
echo Example::bar();
?>

O exemplo acima irá imprimir:

foo!

Veja Também

  • runkit7_method_add() - Dynamically adds a new method to a given class
  • runkit7_method_copy() - Copies a method from class to another
  • runkit7_method_redefine() - Dynamically changes the code of the given method
  • runkit7_method_remove() - Dynamically removes the given method
  • runkit7_function_rename() - Change a function's name


Return the integer object handle for given object

  • « runkit7_method_rename
  • runkit7_superglobals »
  • PHP Manual
  • runkit7 Funções
  • Return the integer object handle for given object

runkit7_object_id

(PECL runkit7 >= Unknown)

runkit7_object_id — Return the integer object handle for given object

Descrição

runkit7_object_id ( object $obj ) : int

This function returns a unique identifier for the object. The object id is unique for the lifetime of the object. Once the object is destroyed, its id may be reused for other objects. This behavior is similar to spl_object_hash().

Parâmetros

obj

Any object.

Valor Retornado

An integer identifier that is unique for each currently existing object and is always the same for each object.

Notas

Nota:

When an object is destroyed, its id may be reused for other objects.


Return numerically indexed array of registered superglobals

  • « runkit7_object_id
  • runkit7_zval_inspect »
  • PHP Manual
  • runkit7 Funções
  • Return numerically indexed array of registered superglobals

runkit7_superglobals

(PECL runkit7 >= Unknown)

runkit7_superglobals — Return numerically indexed array of registered superglobals

Descrição

runkit7_superglobals ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a numerically indexed array of the currently registered superglobals. i.e. _GET, _POST, _REQUEST, _COOKIE, _SESSION, _SERVER, _ENV, _FILES

Veja Também

  • Variable Scope


Returns information about the passed in value with data types, reference counts, etc

  • « runkit7_superglobals
  • uopz »
  • PHP Manual
  • runkit7 Funções
  • Returns information about the passed in value with data types, reference counts, etc

runkit7_zval_inspect

(PECL runkit7 >= Unknown)

runkit7_zval_inspect — Returns information about the passed in value with data types, reference counts, etc

Descrição

runkit7_zval_inspect ( string $value ) : array

Parâmetros

value

The value to return the representation of


User Operations for Zend

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Uopz Funções
    • uopz_add_function — Adds non-existent function or method
    • uopz_allow_exit — Allows control over disabled exit opcode
    • uopz_backup — Backup a function
    • uopz_compose — Compose a class
    • uopz_copy — Copy a function
    • uopz_del_function — Deletes previously added function or method
    • uopz_delete — Delete a function
    • uopz_extend — Extend a class at runtime
    • uopz_flags — Get or set flags on function or class
    • uopz_function — Creates a function at runtime
    • uopz_get_exit_status — Retrieve the last set exit status
    • uopz_get_hook — Gets previously set hook on function or method
    • uopz_get_mock — Get the current mock for a class
    • uopz_get_property — Gets value of class or instance property
    • uopz_get_return — Gets a previous set return value for a function
    • uopz_get_static — Gets the static variables from function or method scope
    • uopz_implement — Implements an interface at runtime
    • uopz_overload — Overload a VM opcode
    • uopz_redefine — Redefine a constant
    • uopz_rename — Rename a function at runtime
    • uopz_restore — Restore a previously backed up function
    • uopz_set_hook — Sets hook to execute when entering a function or method
    • uopz_set_mock — Use mock instead of class for new objects
    • uopz_set_property — Sets value of existing class or instance property
    • uopz_set_return — Provide a return value for an existing function
    • uopz_set_static — Sets the static variables in function or method scope
    • uopz_undefine — Undefine a constant
    • uopz_unset_hook — Removes previously set hook on function or method
    • uopz_unset_mock — Unset previously set mock
    • uopz_unset_return — Unsets a previously set return value for a function


Introdução

The uopz - User Operations for Zend - extension exposes Zend Engine functionality normally used at compilation and execution time in order to allow modification of the internal structures that represent PHP code, and for user code to interact with the VM.

uopz supports the following activities:

  • Overloading some opcodes including ZEND_EXIT and ZEND_NEW
  • Backup and restore functions and methods
  • Renaming functions and methods
  • Copying of functions and methods
  • Deletion of functions and methods
  • Redefinition of global and class constants
  • Deletion of global and class constants
  • Runtime composition and modification of classes

Nota:

All of the activities supported are compatible with opcache

Cuidado

PECL uopz 6.1.1 is not compatible with Xdebug >= 2.9.4. Later uopz versions are not compatible with Xdebug < 2.9.4.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

uopz 2 requires PHP 5.4+. uopz 5.0 requires PHP 7. As of uopz 5.1, PHP 7.1+ is required.


Instalação

uopz releases are hosted by PECL and the source code by » github, the easiest route to installation is the normal PECL route: » https://pecl.php.net/package/uopz.

Windows users can download prebuilt release binaries from the » PECL website.

As of uopz 5.0.0 the extension must be loaded as extension. Before this version it must be loaded as zend_extension.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

uopz Opções de Configuração
Nome | Padrão | Modificável | Changelog
uopz.disable | "0" | PHP_INI_SYSTEM | Available as of uopz 5.0.2
uopz.exit | "0" | PHP_INI_SYSTEM | Available as of uopz 6.0.1
uopz.overloads | "1" | PHP_INI_SYSTEM | Available as of uopz 2.0.2. Removed as of uopz 5.0.0.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

uopz.disable bool

If enabled, uopz should stop having any effect on the engine.

uopz.exit bool

Whether to allow the execution of exit opcodes or not. This setting can be overridden during runtime by calling uopz_allow_exit().

uopz.exit bool

Enables the ability to use uopz_overload().

Nota: When running with OPcache enabled, it may be necessary to disable all OPcache optimizations (opcache.optimization_level=0).


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

The following opcodes are defined as constants by uopz before 5.0.0:

ZEND_EXIT (int)
Invoked by exit() and die(), receives no arguments. Return boolean true to exit, false to continue
ZEND_NEW (int)
Invoked by object construction, receives the class of object being created as the only argument
ZEND_THROW (int)
Invoked by the throw construct, receives the class of exception being thrown as the only argument
ZEND_FETCH_CLASS (int)
Invoked upon composure, receives the class the name of the class being fetched as the only argument
ZEND_ADD_TRAIT (int)
Invoked upon composure, receives the class the trait is being added to as the first argument, and the name of the trait as the second argument
ZEND_ADD_INTERFACE (int)
Invoked upon composure, receives the class the interface is being added to as the first argument, and the name of the interface as the second argument
ZEND_INSTANCEOF (int)
Invoked by instanceof operator, receives the object being verified as the first argument, and the name of the class which that object should be as the second argument

The following constants control the VM's behaviour after a user handler is invoked, be extremely careful! These constants are removed as of uopz 5.0.0.

ZEND_USER_OPCODE_CONTINUE (int)
Advance 1 opcode and continuue
ZEND_USER_OPCODE_ENTER (int)
Enter into new op_array without recursion
ZEND_USER_OPCODE_LEAVE (int)
Return to calling op_array within the same executor
ZEND_USER_OPCODE_DISPATCH (int)
Dispatch to original opcode handler
ZEND_USER_OPCODE_DISPATCH_TO (int)
Dispatch to a specific handler (OR'd with ZEND opcode constant)
ZEND_USER_OPCODE_RETURN (int)
Exit from executor (return from function)

The following modifiers are registered as constants by uopz

ZEND_ACC_PUBLIC (int)
Mark function as public, the default
ZEND_ACC_PROTECTED (int)
Mark function as protected
ZEND_ACC_PRIVATE (int)
Mark function as private
ZEND_ACC_STATIC (int)
Mark function as static
ZEND_ACC_FINAL (int)
Mark function as final
ZEND_ACC_ABSTRACT (int)
Mark function as abstract
ZEND_ACC_CLASS (int)
Dummy registered for consistency, the default kind of class entry. Removed as of uopz 5.0.0.
ZEND_ACC_INTERFACE (int)
Mark class as interface. Removed as of uopz 5.0.0.
ZEND_ACC_TRAIT (int)
Mark class as trait. Removed as of uopz 5.0.0.
ZEND_ACC_FETCH (int)
Used for getting flags only. Removed as of uopz 5.0.0.


Uopz Funções

Índice

  • uopz_add_function — Adds non-existent function or method
  • uopz_allow_exit — Allows control over disabled exit opcode
  • uopz_backup — Backup a function
  • uopz_compose — Compose a class
  • uopz_copy — Copy a function
  • uopz_del_function — Deletes previously added function or method
  • uopz_delete — Delete a function
  • uopz_extend — Extend a class at runtime
  • uopz_flags — Get or set flags on function or class
  • uopz_function — Creates a function at runtime
  • uopz_get_exit_status — Retrieve the last set exit status
  • uopz_get_hook — Gets previously set hook on function or method
  • uopz_get_mock — Get the current mock for a class
  • uopz_get_property — Gets value of class or instance property
  • uopz_get_return — Gets a previous set return value for a function
  • uopz_get_static — Gets the static variables from function or method scope
  • uopz_implement — Implements an interface at runtime
  • uopz_overload — Overload a VM opcode
  • uopz_redefine — Redefine a constant
  • uopz_rename — Rename a function at runtime
  • uopz_restore — Restore a previously backed up function
  • uopz_set_hook — Sets hook to execute when entering a function or method
  • uopz_set_mock — Use mock instead of class for new objects
  • uopz_set_property — Sets value of existing class or instance property
  • uopz_set_return — Provide a return value for an existing function
  • uopz_set_static — Sets the static variables in function or method scope
  • uopz_undefine — Undefine a constant
  • uopz_unset_hook — Removes previously set hook on function or method
  • uopz_unset_mock — Unset previously set mock
  • uopz_unset_return — Unsets a previously set return value for a function


Adds non-existent function or method

  • « Uopz Funções
  • uopz_allow_exit »
  • PHP Manual
  • Uopz Funções
  • Adds non-existent function or method

uopz_add_function

(PECL uopz 5, PECL uopz 6)

uopz_add_function — Adds non-existent function or method

Descrição

uopz_add_function ( string $function , Closure $handler , int &$flags = ZEND_ACC_PUBLIC ) : bool
uopz_add_function ( string $class , string $function , Closure $handler , int &$flags = ZEND_ACC_PUBLIC , int &$all = true ) : bool

Adds a non-existent function or method.

Parâmetros

class

The name of the class.

function

The name of the function or method.

handler

The Closure that defines the new function or method.

flags

Flags to set for the new function or method.

all

Whether all classes that descend from class will also be affected.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

uopz_add_function() throws a RuntimeException if the function or method to add already exists.

Exemplos

Exemplo #1 Basic uopz_add_function() Usage

<?php
uopz_add_function('foo', function () {echo 'bar';});
foo();
?>

O exemplo acima irá imprimir:

bar

Veja Também

  • uopz_del_function() - Deletes previously added function or method
  • uopz_set_return() - Provide a return value for an existing function


Allows control over disabled exit opcode

  • « uopz_add_function
  • uopz_backup »
  • PHP Manual
  • Uopz Funções
  • Allows control over disabled exit opcode

uopz_allow_exit

(PECL uopz 5, PECL uopz 6)

uopz_allow_exit — Allows control over disabled exit opcode

Descrição

uopz_allow_exit ( bool $allow ) : void

By default uopz disables the exit opcode, so exit() calls are practically ignored. uopz_allow_exit() allows to control this behavior.

Parâmetros

allow

Whether to allow the execution of exit opcodes or not.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 uopz_allow_exit() example

<?php
exit(1);
echo 1;
uopz_allow_exit(true);
exit(2);
echo 2;
?>

O exemplo acima irá imprimir:

1

Notas

Cuidado

OPcache optimizes away dead code after unconditional exit.

Veja Também

  • uopz_get_exit_status() - Retrieve the last set exit status


Backup a function

  • « uopz_allow_exit
  • uopz_compose »
  • PHP Manual
  • Uopz Funções
  • Backup a function

uopz_backup

(PECL uopz 1 >= 1.0.3, PECL uopz 2)

uopz_backup — Backup a function

Aviso

This function has been REMOVED in PECL uopz 5.0.0.

Descrição

uopz_backup ( string $function ) : void
uopz_backup ( string $class , string $function ) : void

Backup a function at runtime, to be restored on shutdown

Parâmetros

class

The name of the class containing the function to backup

function

The name of the function

Valor Retornado

Exemplos

Exemplo #1 uopz_backup() example

<?php
uopz_backup("fgets");
uopz_function("fgets", function(){
    return true;
});
var_dump(fgets());
?>

O exemplo acima irá imprimir:

bool(true)


Compose a class

  • « uopz_backup
  • uopz_copy »
  • PHP Manual
  • Uopz Funções
  • Compose a class

uopz_compose

(PECL uopz 1, PECL uopz 2)

uopz_compose — Compose a class

Aviso

This function has been REMOVED in PECL uopz 5.0.0.

Descrição

uopz_compose ( string $name , array $classes , array $methods = ? , array $properties = ? , int $flags = ? ) : void

Creates a new class of the given name that implements, extends, or uses all of the provided classes

Parâmetros

name

A legal class name

classes

An array of class, interface and trait names

methods

An associative array of methods, values are either closures or [modifiers => closure]

properties

An associative array of properties, keys are names, values are modifiers

flags

Entry type, by default ZEND_ACC_CLASS

Valor Retornado

Exemplos

Exemplo #1 uopz_compose() example

<?php
class myClass {}
trait myTrait {}
interface myInterface {}

uopz_compose(
    Composed::class, [
        myClass::class,
        myTrait::class,
        myInterface::class
    ], [
    "__construct" => function() {
        /* ... */
    }
]);

var_dump(
 class_uses(Composed::class),
 class_parents(Composed::class),
 class_implements(Composed::class));
?>

O exemplo acima irá imprimir:

array(1) {
  ["myTrait"]=>
  string(7) "myTrait"
}
array(1) {
  ["myClass"]=>
  string(7) "myClass"
}
array(1) {
  ["myInterface"]=>
  string(11) "myInterface"
}


Copy a function

  • « uopz_compose
  • uopz_del_function »
  • PHP Manual
  • Uopz Funções
  • Copy a function

uopz_copy

(PECL uopz 1 >= 1.0.4, PECL uopz 2)

uopz_copy — Copy a function

Aviso

This function has been REMOVED in PECL uopz 5.0.0.

Descrição

uopz_copy ( string $function ) : Closure
uopz_copy ( string $class , string $function ) : Closure

Copy a function by name

Parâmetros

class

The name of the class containing the function to copy

function

The name of the function

Valor Retornado

A Closure for the specified function

Exemplos

Exemplo #1 uopz_copy() example

<?php
$strtotime = uopz_copy('strtotime');

uopz_function("strtotime", function($arg1, $arg2) use($strtotime) {
    /* can call original strtotime from here */
    var_dump($arg1);
});

var_dump(strtotime('dummy'));
?>

O exemplo acima irá imprimir:

string(5) "dummy"


Deletes previously added function or method

  • « uopz_copy
  • uopz_delete »
  • PHP Manual
  • Uopz Funções
  • Deletes previously added function or method

uopz_del_function

(PECL uopz 5, PECL uopz 6)

uopz_del_function — Deletes previously added function or method

Descrição

uopz_del_function ( string $function ) : bool
uopz_del_function ( string $class , string $function , int &$all = true ) : bool

Deletes a previously added function or method.

Parâmetros

class

The name of the class.

function

The name of the function or method.

all

Whether all classes that descend from class will also be affected.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

uopz_del_function() throws a RuntimeException if the function or method to delete has not been added by uopz_add_function().

Exemplos

Exemplo #1 Basic uopz_del_function() Usage

<?php
uopz_add_function('foo', function () {echo 'bar';});
var_dump(function_exists('foo'));
uopz_del_function('foo');
var_dump(function_exists('foo'));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)

Veja Também

  • uopz_add_function() - Adds non-existent function or method
  • uopz_unset_return() - Unsets a previously set return value for a function


Delete a function

  • « uopz_del_function
  • uopz_extend »
  • PHP Manual
  • Uopz Funções
  • Delete a function

uopz_delete

(PECL uopz 1, PECL uopz 2)

uopz_delete — Delete a function

Aviso

This function has been REMOVED in PECL uopz 5.0.0.

Descrição

uopz_delete ( string $function ) : void
uopz_delete ( string $class , string $function ) : void

Deletes a function or method

Parâmetros

class

function

Valor Retornado

Exemplos

Exemplo #1 uopz_delete() example

<?php
uopz_delete("strlen");

echo strlen("Hello World");
?>

O exemplo acima irá imprimir algo similar à:

PHP Fatal error: Call to undefined function strlen() in /path/to/script.php on line 4

Exemplo #2 uopz_delete() class example

<?php
class My {
    public static function strlen($arg) {
        return strlen($arg);
    }
}

uopz_delete(My::class, "strlen");

echo My::strlen("Hello World");
?>

O exemplo acima irá imprimir algo similar à:

PHP Fatal error: Call to undefined method My::strlen() in /path/to/script.php on line 10


Extend a class at runtime

  • « uopz_delete
  • uopz_flags »
  • PHP Manual
  • Uopz Funções
  • Extend a class at runtime

uopz_extend

(PECL uopz 1, PECL uopz 2, PECL uopz 5, PECL uopz 6)

uopz_extend — Extend a class at runtime

Descrição

uopz_extend ( string $class , string $parent ) : bool

Makes class extend parent

Parâmetros

class

The name of the class to extend

parent

The name of the class to inherit

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

As of PHP 7.4.0, uopz_extends() throws a RuntimeException, if OPcache is enabled, and the class entry of either class or parent (if it is a trait) is immutable.

Exemplos

Exemplo #1 uopz_extend() example

<?php
class A {}
class B {}

uopz_extend(A::class, B::class);

var_dump(class_parents(A::class));
?>

O exemplo acima irá imprimir:

array(1) {
  ["B"]=>
  string(1) "B"
}


Get or set flags on function or class

  • « uopz_extend
  • uopz_function »
  • PHP Manual
  • Uopz Funções
  • Get or set flags on function or class

uopz_flags

(PECL uopz 2 >= 2.0.2, PECL uopz 5, PECL uopz 6)

uopz_flags — Get or set flags on function or class

Descrição

uopz_flags ( string $function , int $flags = PHP_INT_MAX ) : int
uopz_flags ( string $class , string $function , int $flags = PHP_INT_MAX ) : int

Get or set the flags on a class or function entry at runtime

Parâmetros

class

The name of a class

function

The name of the function. If class is given and an empty string is passed as function, uopz_flags() gets or sets the flags of the class entry.

flags

A valid set of ZEND_ACC_ flags. If omitted, uopz_flags() acts as getter.

Valor Retornado

If setting, returns old flags, else returns flags

Erros

As of PHP 7.4.0, if the parameter flags is passed, uopz_flags() throws a RuntimeException, if OPcache is enabled, and the class entry of class or the function entry of function is immutable.

Changelog

Versão | Descrição
PECL uopz 5.0.0 | The flags parameter is now optional. Formerly, ZEND_ACC_FETCH had to be passed to use uopz_flags() as getter.

Exemplos

Exemplo #1 uopz_flags() example

<?php
class Test {
    public function method() {
        return __CLASS__;
    }
}

$flags = uopz_flags("Test", "method");

var_dump((bool) (uopz_flags("Test", "method") & ZEND_ACC_PRIVATE));
var_dump((bool) (uopz_flags("Test", "method") & ZEND_ACC_STATIC));

var_dump(uopz_flags("Test", "method", $flags|ZEND_ACC_STATIC|ZEND_ACC_PRIVATE));

var_dump((bool) (uopz_flags("Test", "method") & ZEND_ACC_PRIVATE));
var_dump((bool) (uopz_flags("Test", "method") & ZEND_ACC_STATIC));
?>

O exemplo acima irá imprimir:

bool(false)
bool(false)
int(1234567890)
bool(true)
bool(true)

Exemplo #2 "Unfinalize" a Class

<?php
final class MyClass
{
}

$flags = uopz_flags(MyClass::class, '');
uopz_flags(MyClass::class, '', $flags & ~ZEND_ACC_FINAL);
var_dump((new ReflectionClass(MyClass::class))->isFinal());
?>

O exemplo acima irá imprimir:

bool(false)


Creates a function at runtime

  • « uopz_flags
  • uopz_get_exit_status »
  • PHP Manual
  • Uopz Funções
  • Creates a function at runtime

uopz_function

(PECL uopz 1, PECL uopz 2)

uopz_function — Creates a function at runtime

Aviso

This function has been REMOVED in PECL uopz 5.0.0.

Descrição

uopz_function ( string $function , Closure $handler , int $modifiers = ? ) : void
uopz_function ( string $class , string $function , Closure $handler , int $modifiers = ? ) : void

Creates a function at runtime

Parâmetros

class

The name of the class to receive the new function

function

The name of the function

handler

The Closure for the function

modifiers

The modifiers for the function, by default copied or ZEND_ACC_PUBLIC

Valor Retornado

Exemplos

Exemplo #1 uopz_function() example

<?php
uopz_function("my_strlen", function($arg) {
    return strlen($arg);
});
echo my_strlen("Hello World");
?>

O exemplo acima irá imprimir:

11

Exemplo #2 uopz_function() class example

<?php
class My {}

uopz_function(My::class, "strlen", function($arg) {
    return strlen($arg);
}, ZEND_ACC_STATIC);

echo My::strlen("Hello World");
?>

O exemplo acima irá imprimir:

11


Retrieve the last set exit status

  • « uopz_function
  • uopz_get_hook »
  • PHP Manual
  • Uopz Funções
  • Retrieve the last set exit status

uopz_get_exit_status

(PECL uopz 5, PECL uopz 6)

uopz_get_exit_status — Retrieve the last set exit status

Descrição

uopz_get_exit_status ( ) : mixed

Retrieves the last set exit status, i.e. the value passed to exit().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This function returns the last exit status, or null if exit() has not been called.

Exemplos

Exemplo #1 uopz_get_exit_status() example

<?php
exit(123);
echo uopz_get_exit_status();?>

O exemplo acima irá imprimir:

123

Notas

Cuidado

OPcache optimizes away dead code after unconditional exit.

Veja Também

  • uopz_allow_exit() - Allows control over disabled exit opcode


Gets previously set hook on function or method

  • « uopz_get_exit_status
  • uopz_get_mock »
  • PHP Manual
  • Uopz Funções
  • Gets previously set hook on function or method

uopz_get_hook

(PECL uopz 5, PECL uopz 6)

uopz_get_hook — Gets previously set hook on function or method

Descrição

uopz_get_hook ( string $function ) : Closure
uopz_get_hook ( string $class , string $function ) : Closure

Gets the previously set hook on a function or method.

Parâmetros

class

The name of the class.

function

The name of the function or method.

Valor Retornado

Returns the previously set hook on a function or method, or null if no hook has been set.

Exemplos

Exemplo #1 Basic uopz_get_hook() Usage

<?php
function foo() {
    echo 'foo';
}
uopz_set_hook('foo', function () {echo 'bar';});
var_dump(uopz_get_hook('foo'));
?>

O exemplo acima irá imprimir algo similar à:

object(Closure)#2 (0) {
}

Veja Também

  • uopz_set_hook() - Sets hook to execute when entering a function or method
  • uopz_unset_hook() - Removes previously set hook on function or method


Get the current mock for a class

  • « uopz_get_hook
  • uopz_get_property »
  • PHP Manual
  • Uopz Funções
  • Get the current mock for a class

uopz_get_mock

(PECL uopz 5, PECL uopz 6)

uopz_get_mock — Get the current mock for a class

Descrição

uopz_get_mock ( string $class ) : mixed

Returns the current mock for class.

Parâmetros

class

The name of the mocked class.

Valor Retornado

Either a string containing the name of the mock, or an object, or null if no mock has been set.

Exemplos

Exemplo #1 uopz_get_mock() example

<?php
class A {
    public static function who() {
        echo "A";
    }
}

class mockA {
    public static function who() {
        echo "mockA";
    }
}

uopz_set_mock(A::class, mockA::class);
echo uopz_get_mock(A::class);
?>

O exemplo acima irá imprimir:

mockA

Veja Também

  • uopz_set_mock() - Use mock instead of class for new objects
  • uopz_unset_mock() - Unset previously set mock


Gets value of class or instance property

  • « uopz_get_mock
  • uopz_get_return »
  • PHP Manual
  • Uopz Funções
  • Gets value of class or instance property

uopz_get_property

(PECL uopz 5, PECL uopz 6)

uopz_get_property — Gets value of class or instance property

Descrição

uopz_get_property ( string $class , string $property ) : mixed
uopz_get_property ( object $instance , string $property ) : mixed

Gets the value of a static class property, if class is given, or the value of an instance property, if instance is given.

Parâmetros

class

The name of the class.

instance

The object instance.

property

The name of the property.

Valor Retornado

Returns the value of the class or instance property, or null if the property is not defined.

Exemplos

Exemplo #1 Basic uopz_get_property() Usage

<?php
class Foo {
    private static $staticBar = 10;
    private $bar = 100;
}
$foo = new Foo;
var_dump(uopz_get_property('Foo', 'staticBar'));
var_dump(uopz_get_property($foo, 'bar'));
?>

O exemplo acima irá imprimir algo similar à:

int(10)
int(100)

Veja Também

  • uopz_set_property() - Sets value of existing class or instance property


Gets a previous set return value for a function

  • « uopz_get_property
  • uopz_get_static »
  • PHP Manual
  • Uopz Funções
  • Gets a previous set return value for a function

uopz_get_return

(PECL uopz 5, PECL uopz 6)

uopz_get_return — Gets a previous set return value for a function

Descrição

uopz_get_return ( string $function ) : mixed
uopz_get_return ( string $class , string $function ) : mixed

Gets the return value of the function previously set by uopz_set_return().

Parâmetros

class

The name of the class containing the function

function

The name of the function

Valor Retornado

The return value or Closure previously set.

Exemplos

Exemplo #1 uopz_get_return() example

<?php
uopz_set_return("strlen", 42);
echo uopz_get_return("strlen");
?>

O exemplo acima irá imprimir:

42


Gets the static variables from function or method scope

  • « uopz_get_return
  • uopz_implement »
  • PHP Manual
  • Uopz Funções
  • Gets the static variables from function or method scope

uopz_get_static

(PECL uopz 5, PECL uopz 6)

uopz_get_static — Gets the static variables from function or method scope

Descrição

uopz_get_static ( string $class , string $function ) : array
uopz_get_static ( string $function ) : array

Gets the static variables from function or method scope.

Parâmetros

class

The name of the class.

function

The name of the function or method.

Valor Retornado

Returns an associative array of variable names mapped to their current values on success, or null if the function or method does not exist.

Exemplos

Exemplo #1 Basic uopz_get_static() Usage

<?php
function foo() {
    static $bar = 'baz';
}
var_dump(uopz_get_static('foo'));
?>

O exemplo acima irá imprimir:

array(1) {
  ["bar"]=>
  string(3) "baz"
}

Veja Também

  • uopz_set_static() - Sets the static variables in function or method scope


Implements an interface at runtime

  • « uopz_get_static
  • uopz_overload »
  • PHP Manual
  • Uopz Funções
  • Implements an interface at runtime

uopz_implement

(PECL uopz 1, PECL uopz 2, PECL uopz 5, PECL uopz 6)

uopz_implement — Implements an interface at runtime

Descrição

uopz_implement ( string $class , string $interface ) : bool

Makes class implement interface

Parâmetros

class

interface

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

As of PHP 7.4.0, uopz_implements() throws a RuntimeException, if OPcache is enabled, and the class entry of class is immutable.

Exemplos

Exemplo #1 uopz_implement() example

<?php
interface myInterface {}

class myClass {}

uopz_implement(myClass::class, myInterface::class);

var_dump(class_implements(myClass::class));
?>

O exemplo acima irá imprimir:

array(1) {
  ["myInterface"]=>
  string(11) "myInterface"
}


Overload a VM opcode

  • « uopz_implement
  • uopz_redefine »
  • PHP Manual
  • Uopz Funções
  • Overload a VM opcode

uopz_overload

(PECL uopz 1, PECL uopz 2)

uopz_overload — Overload a VM opcode

Aviso

This function has been REMOVED in PECL uopz 5.0.0.

Descrição

uopz_overload ( int $opcode , Callable $callable ) : void

Overloads the specified opcode with the user defined function

Parâmetros

opcode

A valid opcode, see constants for details of supported codes

callable

Valor Retornado

Exemplos

Exemplo #1 uopz_overload() example

<?php
uopz_overload(ZEND_EXIT, function(){});

exit();
echo "Hello World";
?>

O exemplo acima irá imprimir:

Hello World


Redefine a constant

  • « uopz_overload
  • uopz_rename »
  • PHP Manual
  • Uopz Funções
  • Redefine a constant

uopz_redefine

(PECL uopz 1, PECL uopz 2, PECL uopz 5, PECL uopz 6)

uopz_redefine — Redefine a constant

Descrição

uopz_redefine ( string $constant , mixed $value ) : bool
uopz_redefine ( string $class , string $constant , mixed $value ) : bool

Redefines the given constant as value

Parâmetros

class

The name of the class containing the constant

constant

The name of the constant

value

The new value for the constant, must be a valid type for a constant variable

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 uopz_redefine() example

<?php
define("MY", 100);

uopz_redefine("MY", 1000);

echo MY;
?>

O exemplo acima irá imprimir:

1000


Rename a function at runtime

  • « uopz_redefine
  • uopz_restore »
  • PHP Manual
  • Uopz Funções
  • Rename a function at runtime

uopz_rename

(PECL uopz 1, PECL uopz 2)

uopz_rename — Rename a function at runtime

Aviso

This function has been REMOVED in PECL uopz 5.0.0.

Descrição

uopz_rename ( string $function , string $rename ) : void
uopz_rename ( string $class , string $function , string $rename ) : void

Renames function to rename

Nota:

If both functions exist, this effectively swaps their names

Parâmetros

class

The name of the class containing the function

function

The name of an existing function

rename

The new name for the function

Valor Retornado

Exemplos

Exemplo #1 uopz_rename() example

<?php
uopz_rename("strlen", "original_strlen");

echo original_strlen("Hello World");
?>

O exemplo acima irá imprimir:

11

Exemplo #2 uopz_rename() class example

<?php
class My {
    public function strlen($arg) {
        return strlen($arg);
    }
}

uopz_rename(My::class, "strlen", "original_strlen");

echo My::original_strlen("Hello World");
?>

O exemplo acima irá imprimir:

11


Restore a previously backed up function

  • « uopz_rename
  • uopz_set_hook »
  • PHP Manual
  • Uopz Funções
  • Restore a previously backed up function

uopz_restore

(PECL uopz 1 >= 1.0.3, PECL uopz 2)

uopz_restore — Restore a previously backed up function

Aviso

This function has been REMOVED in PECL uopz 5.0.0.

Descrição

uopz_restore ( string $function ) : void
uopz_restore ( string $class , string $function ) : void

Restore a previously backed up function

Parâmetros

class

The name of the class containing the function to restore

function

The name of the function

Valor Retornado

Exemplos

Exemplo #1 uopz_restore() example

<?php
uopz_backup("fgets");
uopz_function("fgets", function(){
    return true;
});
var_dump(fgets());
uopz_restore('fgets');
fgets();
?>

O exemplo acima irá imprimir algo similar à:

Warning: fgets() expects at least 1 parameter, 0 given in /path/to/script.php on line 8


Sets hook to execute when entering a function or method

  • « uopz_restore
  • uopz_set_mock »
  • PHP Manual
  • Uopz Funções
  • Sets hook to execute when entering a function or method

uopz_set_hook

(PECL uopz 5, PECL uopz 6)

uopz_set_hook — Sets hook to execute when entering a function or method

Descrição

uopz_set_hook ( string $function , Closure $hook ) : bool
uopz_set_hook ( string $class , string $function , Closure $hook ) : bool

Sets a hook to execute when entering a function or method.

Parâmetros

class

The name of the class.

function

The name of the function or method.

hook

A closure to execute when entering the function or method.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Basic uopz_set_hook() Usage

<?php
function foo() {
    echo 'foo';
}
uopz_set_hook('foo', function () {echo 'bar';});
foo();
?>

O exemplo acima irá imprimir:

barfoo

Veja Também

  • uopz_get_hook() - Gets previously set hook on function or method
  • uopz_unset_hook() - Removes previously set hook on function or method


Use mock instead of class for new objects

  • « uopz_set_hook
  • uopz_set_property »
  • PHP Manual
  • Uopz Funções
  • Use mock instead of class for new objects

uopz_set_mock

(PECL uopz 5, PECL uopz 6)

uopz_set_mock — Use mock instead of class for new objects

Descrição

uopz_set_mock ( string $class , mixed $mock ) : void

If mock is a string containing the name of a class then it will be instantiated instead of class. mock can also be an object.

Nota:

Only dynamic access to properties and methods will use the mock object. Static access still uses the original class. See example below.

Parâmetros

class

The name of the class to be mocked.

mock

The mock to use in the form of a string containing the name of the class to use or an object. If a string is passed, it has to be the fully qualified class name. It is recommended to use the ::class magic constant in this case.

Changelog

Versão | Descrição
uopz 6.0.0 | Mocking static members is no longer supported by this function. uopz_redefine() and uopz_set_return(), or Componere can be used instead.

Exemplos

Exemplo #1 uopz_set_mock() example

<?php
class A {
    public function who() {
        echo "A";
    }
}

class mockA {
    public function who() {
        echo "mockA";
    }
}

uopz_set_mock(A::class, mockA::class);
(new A)->who();
?>

O exemplo acima irá imprimir:

mockA

Exemplo #2 uopz_set_mock() example

<?php
class A {
    public function who() {
        echo "A";
    }
}

uopz_set_mock(A::class, new class {
                            public function who() {
                                echo "mockA";
                            }
                        });
(new A)->who();
?>

O exemplo acima irá imprimir:

mockA

Exemplo #3 uopz_set_mock() and static members

As of uopz 6.0.0 mocking static members is no longer supported.

<?php
class A {
    const CON = 'A';
    public static function who() {
        echo "A";
    }
}

uopz_set_mock(A::class, new class {
                            const CON = 'mockA';
                            public static function who() {
                                echo "mockA";
                            }
                        });
echo A::CON, PHP_EOL;
A::who();
?>

O exemplo acima irá imprimir:

A
A

Output of the above example in uopz 5:

mockA
mockA

Veja Também

  • uopz_get_mock() - Get the current mock for a class
  • uopz_unset_mock() - Unset previously set mock


Sets value of existing class or instance property

  • « uopz_set_mock
  • uopz_set_return »
  • PHP Manual
  • Uopz Funções
  • Sets value of existing class or instance property

uopz_set_property

(PECL uopz 5, PECL uopz 6)

uopz_set_property — Sets value of existing class or instance property

Descrição

uopz_set_property ( string $class , string $property , mixed $value ) : void
uopz_set_property ( object $instance , string $property , mixed $value ) : void

Sets the value of an existing static class property, if class is given, or the value of an instance property (regardless whether the instance property already exists), if instance is given.

Parâmetros

class

The name of the class.

instance

The object instance.

property

The name of the property.

value

The value to assign to the property.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Basic uopz_set_property() Usage

<?php
class Foo {
   private static $staticBar;
   private $bar;
   public static function testStaticBar() {
      return self::$staticBar;
   }
   public function testBar() {
      return $this->bar;
   }
}
$foo = new Foo;
uopz_set_property('Foo', 'staticBar', 10);
uopz_set_property($foo, 'bar', 100);
var_dump(Foo::testStaticBar());
var_dump($foo->testBar());
?>

O exemplo acima irá imprimir:

int(10)

Veja Também

  • uopz_get_property() - Gets value of class or instance property


Provide a return value for an existing function

  • « uopz_set_property
  • uopz_set_static »
  • PHP Manual
  • Uopz Funções
  • Provide a return value for an existing function

uopz_set_return

(PECL uopz 5, PECL uopz 6)

uopz_set_return — Provide a return value for an existing function

Descrição

uopz_set_return ( string $function , mixed $value , bool $execute = false ) : bool
uopz_set_return ( string $class , string $function , mixed $value , bool $execute = false ) : bool

Sets the return value of the function to value. If value is a Closure and execute is set, the Closure will be executed in place of the original function. It is possible to call the original function from the Closure.

Nota:

This function replaces uopz_rename().

Parâmetros

class

The name of the class containing the function

function

The name of an existing function

value

The value the function should return. If a Closure is provided and the execute flag is set, the Closure will be executed in place of the original function.

execute

If true, and a Closure was provided as the value, the Closure will be executed in place of the original function.

Valor Retornado

True if succeeded, false otherwise.

Exemplos

Exemplo #1 uopz_set_return() example

<?php
uopz_set_return("strlen", 42);
echo strlen("Banana");
?>

O exemplo acima irá imprimir:

42

Exemplo #2 uopz_set_return() example

<?php
uopz_set_return("strlen", function($str) { return strlen($str) * 2; }, true );
echo strlen("Banana");
?>

O exemplo acima irá imprimir:

12

Exemplo #3 uopz_set_return() class example

<?php
class My {
    public static function strlen($arg) {
        return strlen($arg);
    }
}
uopz_set_return(My::class, "strlen", function($str) { return strlen($str) * 2; }, true );
echo My::strlen("Banana");
?>

O exemplo acima irá imprimir:

12


Sets the static variables in function or method scope

  • « uopz_set_return
  • uopz_undefine »
  • PHP Manual
  • Uopz Funções
  • Sets the static variables in function or method scope

uopz_set_static

(PECL uopz 5, PECL uopz 6)

uopz_set_static — Sets the static variables in function or method scope

Descrição

uopz_set_static ( string $function , array $static ) : void
uopz_set_static ( string $class , string $function , array $static ) : void

Sets the static variables in function or method scope.

Parâmetros

class

The name of the class.

function

The name of the function or method.

static

The associative array of variable names mapped to their values.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Basic uopz_set_static() Usage

<?php
function foo() {
    static $bar = 'baz';
    var_dump($bar);
}
uopz_set_static('foo', ['bar' => 'qux']);
foo();
?>

O exemplo acima irá imprimir:

string(3) "qux"

Veja Também

  • uopz_get_static() - Gets the static variables from function or method scope


Undefine a constant

  • « uopz_set_static
  • uopz_unset_hook »
  • PHP Manual
  • Uopz Funções
  • Undefine a constant

uopz_undefine

(PECL uopz 1, PECL uopz 2, PECL uopz 5, PECL uopz 6)

uopz_undefine — Undefine a constant

Descrição

uopz_undefine ( string $constant ) : bool
uopz_undefine ( string $class , string $constant ) : bool

Removes the constant at runtime

Parâmetros

class

The name of the class containing constant

constant

The name of an existing constant

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 uopz_undefine() example

<?php
define("MY", true);

uopz_undefine("MY");

var_dump(defined("MY"));
?>

O exemplo acima irá imprimir:

bool(false)


Removes previously set hook on function or method

  • « uopz_undefine
  • uopz_unset_mock »
  • PHP Manual
  • Uopz Funções
  • Removes previously set hook on function or method

uopz_unset_hook

(PECL uopz 5, PECL uopz 6)

uopz_unset_hook — Removes previously set hook on function or method

Descrição

uopz_unset_hook ( string $function ) : bool
uopz_unset_hook ( string $class , string $function ) : bool

Removes the previously set hook on a function or method.

Parâmetros

class

The name of the class.

function

The name of the function or method.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Basic uopz_unset_hook() Usage

<?php
function foo() {
    echo 'foo';
}
uopz_set_hook('foo', function () {echo 'bar';});
foo();
echo PHP_EOL;
uopz_unset_hook('foo');
foo();
?>

O exemplo acima irá imprimir:

barfoo
foo

Veja Também

  • uopz_set_hook() - Sets hook to execute when entering a function or method
  • uopz_get_hook() - Gets previously set hook on function or method


Unset previously set mock

  • « uopz_unset_hook
  • uopz_unset_return »
  • PHP Manual
  • Uopz Funções
  • Unset previously set mock

uopz_unset_mock

(PECL uopz 5, PECL uopz 6)

uopz_unset_mock — Unset previously set mock

Descrição

uopz_unset_mock ( string $class ) : void

Unsets the previously set mock for class.

Parâmetros

class

The name of the mocked class.

Erros

A RuntimeException is thrown, if no mock was previously set for class.

Exemplos

Exemplo #1 uopz_unset_mock() example

<?php
class A {
    public static function who() {
        echo "A";
    }
}

class mockA {
    public static function who() {
        echo "mockA";
    }
}

uopz_set_mock(A::class, mockA::class);
uopz_unset_mock(A::class);
A::who();
?>

O exemplo acima irá imprimir:

A

Veja Também

  • uopz_set_mock() - Use mock instead of class for new objects
  • uopz_get_mock() - Get the current mock for a class


Unsets a previously set return value for a function

  • « uopz_unset_mock
  • Weakref »
  • PHP Manual
  • Uopz Funções
  • Unsets a previously set return value for a function

uopz_unset_return

(PECL uopz 5, PECL uopz 6)

uopz_unset_return — Unsets a previously set return value for a function

Descrição

uopz_unset_return ( string $function ) : bool
uopz_unset_return ( string $class , string $function ) : bool

Unsets the return value of the function previously set by uopz_set_return().

Parâmetros

class

The name of the class containing the function

function

The name of the function

Valor Retornado

True on success

Exemplos

Exemplo #1 uopz_unset_return() example

<?php
uopz_set_return("strlen", 42);
$len = strlen("Banana");
uopz_unset_return("strlen");
echo $len + strlen("Banana");
?>

O exemplo acima irá imprimir:

48


Weak References

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Tipos de Recurso
  • WeakRef — The WeakRef class
    • Weakref::acquire — Acquires a strong reference on that object
    • Weakref::__construct — Constructs a new weak reference
    • Weakref::get — Returns the object pointed to by the weak reference
    • Weakref::release — Releases a previously acquired reference
    • Weakref::valid — Checks whether the object referenced still exists
  • WeakMap — The WeakMap class
    • WeakMap::__construct — Constructs a new map
    • WeakMap::count — Counts the number of live entries in the map
    • WeakMap::current — Returns the current value under iteration
    • WeakMap::key — Returns the current key under iteration
    • WeakMap::next — Advances to the next map element
    • WeakMap::offsetExists — Checks whether a certain object is in the map
    • WeakMap::offsetGet — Returns the value pointed to by a certain object
    • WeakMap::offsetSet — Updates the map with a new key-value pair
    • WeakMap::offsetUnset — Removes an entry from the map
    • WeakMap::rewind — Rewinds the iterator to the beginning of the map
    • WeakMap::valid — Returns whether the iterator is still on a valid map element


Introdução

Weak references provide a non-intrusive gateway to ephemeral objects. Unlike normal (strong) references, weak references do not prevent the garbage collector from freeing that object. For this reason, an object may be destroyed even though a weak reference to that object still exists. In such conditions, the weak reference seamlessly becomes invalid.

Exemplo #1 Weakref usage example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}

unset($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}
?>

O exemplo acima irá imprimir:

Object still exists!
object(MyClass)#1 (0) {
}
Destroying object!
Object is dead!


  • « Introdução
  • Dependências »
  • PHP Manual
  • Weakref
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Tipos de Recurso


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/weakref.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


  • « Instalação
  • WeakRef »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão não tem recursos definidos.


The WeakRef class

(PECL weakref >= 0.1.0)

Introdução

The WeakRef class provides a gateway to objects without preventing the garbage collector from freeing those objects. It also provides a way to turn a weak reference into a strong one.

Nota:

The class WeakRef is not to be confused with the class WeakReference.

Sinopse da classe

WeakRef {
/* Métodos */
public Weakref::__construct ( object $object )
public Weakref::acquire ( ) : bool
public Weakref::get ( ) : object
public Weakref::release ( ) : bool
public Weakref::valid ( ) : bool
}

Exemplos

Exemplo #1 WeakRef usage example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new WeakRef($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}

unset($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}
?>

O exemplo acima irá imprimir:

Object still exists!
object(MyClass)#1 (0) {
}
Destroying object!
Object is dead!

Índice

  • Weakref::acquire — Acquires a strong reference on that object
  • Weakref::__construct — Constructs a new weak reference
  • Weakref::get — Returns the object pointed to by the weak reference
  • Weakref::release — Releases a previously acquired reference
  • Weakref::valid — Checks whether the object referenced still exists


Acquires a strong reference on that object

  • « WeakRef
  • Weakref::__construct »
  • PHP Manual
  • WeakRef
  • Acquires a strong reference on that object

Weakref::acquire

(PECL weakref >= 0.1.0)

Weakref::acquire — Acquires a strong reference on that object

Descrição

public Weakref::acquire ( ) : bool

Acquires a strong reference on that object, virtually turning the weak reference into a strong one.

The Weakref instance maintains an internal acquired counter to track outstanding strong references. If the call to Weakref::acquire() is successful, this counter will be incremented by one.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the reference was valid and could be turned into a strong reference, false otherwise.

Exemplos

Exemplo #1 Weakref::acquire() example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

$r1->acquire();

echo "Unsetting o1...\n";
unset($o1);

$o2 = $r1->get();

$r1->release();

echo "Unsetting o2...\n";
unset($o2);
?>

O exemplo acima irá imprimir:

Unsetting o1...
Unsetting o2...
Destroying object!

Exemplo #2 Nested acquire/release example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

echo "Acquiring...\n";
$r1->acquire();

echo "  Unsetting...\n";
unset($o1);

echo "  Acquiring...\n";
$r1->acquire();

echo "    Acquiring...\n";
$r1->acquire();

echo "    Releasing...\n";
$r1->release();

echo "  Releasing...\n";
$r1->release();

echo "Releasing...\n";
$r1->release();

?>

O exemplo acima irá imprimir:

Acquiring...
  Unsetting...
  Acquiring...
    Acquiring...
    Releasing...
  Releasing...
Releasing...
Destroying object!

Veja Também

  • Weakref::release() - Releases a previously acquired reference


Constructs a new weak reference

  • « Weakref::acquire
  • Weakref::get »
  • PHP Manual
  • WeakRef
  • Constructs a new weak reference

Weakref::__construct

(PECL weakref >= 0.1.0)

Weakref::__construct — Constructs a new weak reference

Descrição

public Weakref::__construct ( object $object )

Constructs a new weak reference.

Parâmetros

object

The object to reference.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Weakref::__construct() example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}

unset($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}
?>

O exemplo acima irá imprimir:

Object still exists!
object(MyClass)#1 (0) {
}
Destroying object!
Object is dead!


Returns the object pointed to by the weak reference

  • « Weakref::__construct
  • Weakref::release »
  • PHP Manual
  • WeakRef
  • Returns the object pointed to by the weak reference

Weakref::get

(PECL weakref >= 0.1.0)

Weakref::get — Returns the object pointed to by the weak reference

Descrição

public Weakref::get ( ) : object

Returns the object pointed to by the weak reference.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the object if the reference is still valid, null otherwise.

Veja Também

  • Weakref::valid() - Checks whether the object referenced still exists


Releases a previously acquired reference

  • « Weakref::get
  • Weakref::valid »
  • PHP Manual
  • WeakRef
  • Releases a previously acquired reference

Weakref::release

(PECL weakref >= 0.1.0)

Weakref::release — Releases a previously acquired reference

Descrição

public Weakref::release ( ) : bool

Releases a previously acquired reference, potentially turning a strong reference back into a weak reference.

The Weakref instance maintains an internal acquired counter to track outstanding strong references. If the call to Weakref::release() is successful, this counter will be decremented by one. Once this counter reaches zero, the strong reference is turned back into a weak reference.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the reference was previously acquired and thus could be released, false otherwise.

Exemplos

Exemplo #1 Weakref::release() example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

$r1->acquire();

echo "Unsetting o1...\n";
unset($o1);

$o2 = $r1->get();

$r1->release();

echo "Unsetting o2...\n";
unset($o2);
?>

O exemplo acima irá imprimir:

Unsetting o1...
Unsetting o2...
Destroying object!

Veja Também

  • Weakref::acquire() - Acquires a strong reference on that object


Checks whether the object referenced still exists

  • « Weakref::release
  • WeakMap »
  • PHP Manual
  • WeakRef
  • Checks whether the object referenced still exists

Weakref::valid

(PECL weakref >= 0.1.0)

Weakref::valid — Checks whether the object referenced still exists

Descrição

public Weakref::valid ( ) : bool

Checks whether the object referenced still exists.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the object still exists and is thus still accessible via Weakref::get(), false otherwise.

Veja Também

  • Weakref::get() - Returns the object pointed to by the weak reference


The WeakMap class

(PECL weakref >= 0.2.0)

Introdução

Sinopse da classe

WeakMap implements Countable , ArrayAccess , Iterator {
/* Métodos */
public __construct ( )
public count ( ) : int
public current ( ) : mixed
public key ( ) : object
public next ( ) : void
public offsetExists ( object $object ) : bool
public offsetGet ( object $object ) : mixed
public offsetSet ( object $object , mixed $value ) : void
public offsetUnset ( object $object ) : void
public rewind ( ) : void
public valid ( ) : bool
}

Exemplos

Exemplo #1 Weakmap usage example

<?php
$wm = new WeakMap();

$o = new StdClass;

class A {
    public function __destruct() {
        echo "Dead!\n";
    }
}

$wm[$o] = new A;

var_dump(count($wm));
echo "Unsetting...\n";
unset($o);
echo "Done\n";
var_dump(count($wm));

O exemplo acima irá imprimir:

int(1)
Unsetting...
Dead!
Done
int(0)

Índice

  • WeakMap::__construct — Constructs a new map
  • WeakMap::count — Counts the number of live entries in the map
  • WeakMap::current — Returns the current value under iteration
  • WeakMap::key — Returns the current key under iteration
  • WeakMap::next — Advances to the next map element
  • WeakMap::offsetExists — Checks whether a certain object is in the map
  • WeakMap::offsetGet — Returns the value pointed to by a certain object
  • WeakMap::offsetSet — Updates the map with a new key-value pair
  • WeakMap::offsetUnset — Removes an entry from the map
  • WeakMap::rewind — Rewinds the iterator to the beginning of the map
  • WeakMap::valid — Returns whether the iterator is still on a valid map element


Constructs a new map

  • « WeakMap
  • WeakMap::count »
  • PHP Manual
  • WeakMap
  • Constructs a new map

WeakMap::__construct

(PECL weakref >= 0.2.0)

WeakMap::__construct — Constructs a new map

Descrição

public WeakMap::__construct ( )

Constructs a new map.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Counts the number of live entries in the map

  • « WeakMap::__construct
  • WeakMap::current »
  • PHP Manual
  • WeakMap
  • Counts the number of live entries in the map

WeakMap::count

(PECL weakref >= 0.2.0)

WeakMap::count — Counts the number of live entries in the map

Descrição

public WeakMap::count ( ) : int

Counts the number of live entries in the map.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of live entries in the map.


Returns the current value under iteration

  • « WeakMap::count
  • WeakMap::key »
  • PHP Manual
  • WeakMap
  • Returns the current value under iteration

WeakMap::current

(PECL weakref >= 0.2.0)

WeakMap::current — Returns the current value under iteration

Descrição

public WeakMap::current ( ) : mixed

Returns the current value being iterated on in the map.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value currently being iterated on.


Returns the current key under iteration

  • « WeakMap::current
  • WeakMap::next »
  • PHP Manual
  • WeakMap
  • Returns the current key under iteration

WeakMap::key

(PECL weakref >= 0.2.0)

WeakMap::key — Returns the current key under iteration

Descrição

public WeakMap::key ( ) : object

Returns the object serving as key in the map, at the current iterating position.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The object key currently being iterated.


Advances to the next map element

  • « WeakMap::key
  • WeakMap::offsetExists »
  • PHP Manual
  • WeakMap
  • Advances to the next map element

WeakMap::next

(PECL weakref >= 0.2.0)

WeakMap::next — Advances to the next map element

Descrição

public WeakMap::next ( ) : void

Advances to the next map element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Checks whether a certain object is in the map

  • « WeakMap::next
  • WeakMap::offsetGet »
  • PHP Manual
  • WeakMap
  • Checks whether a certain object is in the map

WeakMap::offsetExists

(PECL weakref >= 0.2.0)

WeakMap::offsetExists — Checks whether a certain object is in the map

Descrição

public WeakMap::offsetExists ( object $object ) : bool

Checks whether the passed object is referenced in the map.

Parâmetros

object

Object to check for.

Valor Retornado

Returns true if the object is contained in the map, false otherwise.


Returns the value pointed to by a certain object

  • « WeakMap::offsetExists
  • WeakMap::offsetSet »
  • PHP Manual
  • WeakMap
  • Returns the value pointed to by a certain object

WeakMap::offsetGet

(PECL weakref >= 0.2.0)

WeakMap::offsetGet — Returns the value pointed to by a certain object

Descrição

public WeakMap::offsetGet ( object $object ) : mixed

Returns the value pointed to by a certain object.

Parâmetros

object

Some object contained as key in the map.

Valor Retornado

Returns the value associated to the object passed as argument, null otherwise.


Updates the map with a new key-value pair

  • « WeakMap::offsetGet
  • WeakMap::offsetUnset »
  • PHP Manual
  • WeakMap
  • Updates the map with a new key-value pair

WeakMap::offsetSet

(PECL weakref >= 0.2.0)

WeakMap::offsetSet — Updates the map with a new key-value pair

Descrição

public WeakMap::offsetSet ( object $object , mixed $value ) : void

Updates the map with a new key-value pair. If the key already existed in the map, the old value is replaced with the new.

Parâmetros

object

The object serving as key of the key-value pair.

value

The arbitrary data serving as value of the key-value pair.

Valor Retornado

Não há valor retornado.


Removes an entry from the map

  • « WeakMap::offsetSet
  • WeakMap::rewind »
  • PHP Manual
  • WeakMap
  • Removes an entry from the map

WeakMap::offsetUnset

(PECL weakref >= 0.2.0)

WeakMap::offsetUnset — Removes an entry from the map

Descrição

public WeakMap::offsetUnset ( object $object ) : void

Removes an entry from the map.

Parâmetros

object

The key object to remove from the map.

Valor Retornado

Não há valor retornado.


Rewinds the iterator to the beginning of the map

  • « WeakMap::offsetUnset
  • WeakMap::valid »
  • PHP Manual
  • WeakMap
  • Rewinds the iterator to the beginning of the map

WeakMap::rewind

(PECL weakref >= 0.2.0)

WeakMap::rewind — Rewinds the iterator to the beginning of the map

Descrição

public WeakMap::rewind ( ) : void

Rewinds the iterator to the beginning of the map.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Returns whether the iterator is still on a valid map element

  • « WeakMap::rewind
  • WinCache »
  • PHP Manual
  • WeakMap
  • Returns whether the iterator is still on a valid map element

WeakMap::valid

(PECL weakref >= 0.2.0)

WeakMap::valid — Returns whether the iterator is still on a valid map element

Descrição

public WeakMap::valid ( ) : bool

Returns whether the iterator is still on a valid map element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the iterator is on a valid element that can be accessed, false otherwise.


Windows Cache for PHP

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • WinCache Statistics Script
    • WinCache Session Handler
    • WinCache Functions Reroutes
    • Tipos de Recurso
  • Constantes pré-definidas
  • WinCache Funções
    • wincache_fcache_fileinfo — Retrieves information about files cached in the file cache
    • wincache_fcache_meminfo — Retrieves information about file cache memory usage
    • wincache_lock — Acquires an exclusive lock on a given key
    • wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache
    • wincache_ocache_meminfo — Retrieves information about opcode cache memory usage
    • wincache_refresh_if_changed — Refreshes the cache entries for the cached files
    • wincache_rplist_fileinfo — Retrieves information about resolve file path cache
    • wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache
    • wincache_scache_info — Retrieves information about files cached in the session cache
    • wincache_scache_meminfo — Retrieves information about session cache memory usage
    • wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache
    • wincache_ucache_cas — Compares the variable with old value and assigns new value to it
    • wincache_ucache_clear — Deletes entire content of the user cache
    • wincache_ucache_dec — Decrements the value associated with the key
    • wincache_ucache_delete — Deletes variables from the user cache
    • wincache_ucache_exists — Checks if a variable exists in the user cache
    • wincache_ucache_get — Gets a variable stored in the user cache
    • wincache_ucache_inc — Increments the value associated with the key
    • wincache_ucache_info — Retrieves information about data stored in the user cache
    • wincache_ucache_meminfo — Retrieves information about user cache memory usage
    • wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache
    • wincache_unlock — Releases an exclusive lock on a given key
  • Building for Windows
    • Prerequisites
    • Compiling and building
    • Verifying the build


Introdução

Windows Cache Extension for PHP is a PHP accelerator that is used to increase the speed of PHP applications running on Windows and Windows Server. Once the Windows Cache Extension for PHP is enabled and loaded by the PHP engine, PHP applications can take advantage of the functionality without any code modifications.

The Windows Cache Extension includes 5 different types of caches. The following describes the purpose of each cache type and the benefits it provides.

  • PHP Opcode Cache - PHP is a script processing engine, which reads an input stream of data that contains text and/or PHP instructions and produces another stream of data, most commonly in the HTML format. This means that on a web server the PHP engine reads, parses, compiles and executes a PHP script each time that it is requested by a Web client. The reading, parsing and compilation operations put additional load on the web server's CPU and file system and thus affect the overall performance of a PHP web application. The PHP bytecode (opcode) cache is used to store the compiled script bytecode in shared memory so that it can be re-used by PHP engine for subsequent executions of the same script.

    Support for opcode caching was removed in Wincache 2.0.0, all users who wish to have an opcache should use the OPcache extension that is included with PHP as of PHP 5.5.0.

  • File Cache - Even with the PHP opcode cache enabled, the PHP engine has to accesses the script files on a file system. When PHP scripts are stored on a remote UNC file share, the file operations introduce a significant performance overhead. The Windows Cache Extension for PHP includes a file cache that is used to store the content of the PHP script files in shared memory, which reduces the amount of file system operations performed by PHP engine.

  • Resolve File Path Cache - PHP scripts very often include or operate with files by using relative file paths. Every file path has to be normalized to an absolute file path by the PHP engine. When a PHP application uses many PHP files and accesses them by relative paths, the operation of resolving the paths may negatively impact the application's performance. The Windows Cache Extension for PHP provides a Resolve File Path cache, which is used to store the mappings between relative and absolute file paths, thereby reducing the number of path resolutions that the PHP engine has to perform.

  • User Cache (available since version 1.1.0) - PHP scripts can take advantage of the shared memory cache by using the user cache API's. PHP objects and variables can be stored in the user cache and then re-used on subsequent requests. This can be used to improve performance of PHP scripts and to share the data across multiple PHP processes.

  • Session Handler (available since version 1.1.0) - The WinCache session handler can be used to store the PHP session data in the shared memory cache. This avoids file system operations for reading and writing session data, which improves performance when large amount of data is stored in PHP session.


Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução
  • WinCache Statistics Script
  • WinCache Session Handler
  • WinCache Functions Reroutes
  • Tipos de Recurso


Dependências

The extension is currently supported only on the following configurations:

Windows OS:

  • Windows XP SP3 with IIS 5.1 and » FastCGI Extension
  • Windows Server 2003 with IIS 6.0 and » FastCGI Extension
  • Windows Vista SP1 with IIS 7.0 and FastCGI Module
  • Windows Server 2008 with IIS 7.0 and FastCGI Module
  • Windows 7 with IIS 7.5 and FastCGI Module
  • Windows Server 2008 R2 with IIS 7.5 and FastCGI Module

PHP:

  • PHP 5.2.X, Non-thread-safe build
  • PHP 5.3 X86, Non-thread-safe VC9 build

Nota: The WinCache Extension can only be used when IIS is configured to run PHP via FastCGI.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/wincache.

There are two packages for this extension: one package is for PHP versions 5.2.X, and the other package is for PHP 5.3.X. Select the package that is appropriate for the PHP version being used.

To install and enable the extension, follow these steps:

  1. Unpack the package into some temporary location.

  2. Copy the php_wincache.dll file into the PHP extensions folder. Typically this folder is called "ext" and it is located in the same folder with all PHP binary files. For example: C:\Program Files\PHP\ext.

  3. Using a text editor, open the php.ini file, which is usually located in the same folder where all PHP binary files are. For example: C:\Program Files\PHP\php.ini.

  4. Add the following line at the end of the php.ini file: extension = php_wincache.dll.

  5. Save and close the php.ini file.

  6. Recycle the IIS Application Pools for PHP to pick up the configuration changes. To check that the extension has been enabled, create a file called phpinfo.php with a PHP code that calls phpinfo function.

  7. Save the phpinfo.php file in the root folder of a IIS web site that uses PHP, then open a browser and make a request to http://localhost/phpinfo.php. Search within the returned web page for a section called wincache. If the extension is enabled, then the phpinfo output will list the configuration settings provided by the WinCache.

Nota: Do not forget to remove phpinfo.php file from the web site's root folder after verifying that extension has been enabled.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

The following table lists and explains the configuration settings provided by the WinCache extension:

WinCache configuration options
Nome | Padrão | Minimum | Maximum | Modificável | Changelog
wincache.fcenabled | "1" | "0" | "1" | PHP_INI_ALL | Available as of WinCache 1.0.0
wincache.fcenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.fcachesize | "24" | "5" | "255" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.fcndetect | "1" | "0" | "1" | PHP_INI_SYSTEM | Available as of WinCache 1.1.0
wincache.maxfilesize | "256" | "10" | "2048" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.ocenabled | "1" | "0" | "1" | PHP_INI_ALL | Available as of WinCache 1.0.0. Removed as of 2.0.0.0
wincache.ocenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0. Removed as of 2.0.0.0
wincache.ocachesize | "96" | "15" | "255" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0. Removed as of 2.0.0.0
wincache.filecount | "4096" | "1024" | "16384" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.chkinterval | "30" | "0" | "300" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.ttlmax | "1200" | "0" | "7200" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.enablecli | 0 | 0 | 1 | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.ignorelist | NULL | NULL | NULL | PHP_INI_ALL | Available as of WinCache 1.0.0
wincache.namesalt | NULL | NULL | NULL | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.ucenabled | 1 | 0 | 1 | PHP_INI_SYSTEM | Available as of WinCache 1.1.0
wincache.ucachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | Available as of WinCache 1.1.0
wincache.scachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | Available as of WinCache 1.1.0
wincache.rerouteini | NULL | NULL | NULL | PHP_INI_SYSTEM | Available as of WinCache 1.2.0. Removed as of 1.3.7
wincache.reroute_enabled | 1 | 0 | 1 | PHP_INI_SYSTEM | PHP_INI_PERDIR | Available as of WinCache 1.3.7
wincache.srwlocks | 1 | 0 | 1 | PHP_INI_SYSTEM | Available as of WinCache 1.3.6.3. Removed as of 2.0.0.0
wincache.filemapdir | NULL | NULL | NULL | PHP_INI_SYSTEM | Available as of WinCache 1.3.7.4
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

wincache.fcenabled bool
Enables or disables the file cache functionality.
wincache.fcenabledfilter string
Defines a comma-separated list of IIS web site identifiers where file cache should be enabled or disabled. This setting works in conjunction with wincache.fcenabled: if wincache.fcenabled is set to 1, then the sites listed in the wincache.fcenabledfilter will have the file cache turned off; if wincache.fcenabled is set to 0, then the sites listed in the wincache.fcenabledfilter will have the file cache turned on.
wincache.fcachesize int
Defines the maximum memory size (in megabytes) that is allocated for the file cache. If the total size of all the cached files exceeds the value specified in this setting, then most stale files will be removed from the file cache.
wincache.fcndetect bool
Enables or disables the file change notification detection functionality. If file change notification is supported then it will be used to refresh the opcode and file cache entries as soon as the corresponding files are modified on a file system. If file change notification is not supported, for example when using network file shares, then wincache will poll for file changes at regular time intervals specified by wincache.chkinterval.
wincache.maxfilesize int
Defines the maximum allowed size (in kilobytes) for a single file to be cached. If a file size exceeds the specified value, the file will not be cached. This setting applies to the file cache only.
wincache.ocenabled bool
Aviso

This option has been REMOVED as of 2.0.0.0

Enables or disables the opcode cache functionality
wincache.ocenabledfilter string
Aviso

This option has been REMOVED as of 2.0.0.0

Defines a comma-separated list of IIS web site identifiers where opcode cache should be enabled or disabled. This setting works in conjunction with wincache.ocenabled: if wincache.ocenabled is set to 1, then the sites listed in the wincache.ocenabledfilter will have the opcode cache turned off; if wincache.ocenabled is set to 0, then the sites listed in the wincache.ocenabledfilter will have the opcode cache turned on.
wincache.ocachesize int
Aviso

This option has been REMOVED as of 2.0.0.0

Defines the maximum memory size (in megabytes) that is allocated for the opcode cache. If the cached opcode size exceeds the specified value, then most stale opcode will be removed from the cache. Note that the opcode cache size must be at least 3 times bigger than file cache size. If that is not the case the opcode cache size will be automatically increased.
wincache.filecount int
Defines how many files are expected to be cached by the extension, so that appropriate memory size is allocated at the startup time. If the number of files exceeds the specified value, the WinCache will re-allocate more memory as needed.
wincache.chkinterval int
Defines how often (in seconds) the extension checks for file changes in order to refresh the cache. Setting it to 0 will disable the refreshing of the cache. The file changes will not be reflected in the cache unless the cache entry for that file is removed by scavenger or IIS application pool is recycled or wincache_refresh_if_changed function is called.
wincache.ttlmax int
Defines the maximum time to live (in seconds) for a cached entry without being used. Setting it to 0 will disable the cache scavenger, so the cached entries will never be removed from the cache during the lifetime of the IIS worker process.
wincache.enablecli bool
Defines if caching is enabled when PHP is running in command line (CLI) mode.
wincache.ignorelist string

Defines a list of files that should not be cached by the extension. The files list is specified by using file names only, separated by the pipe symbol - "|".

Exemplo #1 wincache.ignorelist example

wincache.ignorelist = "index.php|misc.php|admin.php"

wincache.namesalt string
Defines a string that will be used when naming the extension specific objects that are stored in shared memory. This is used to avoid conflicts that may be caused if other applications within an IIS worker process tries to access shared memory. The length of the namesalt string cannot exceed 8 characters.
wincache.ucenabled bool
Enables or disables the user cache functionality.
wincache.ucachesize int
Defines the maximum memory size in megabytes that is allocated for the user cache. If the total size of variables stored in the user cache exceeds the specified value, then the most stale variables will be removed from the cache.
wincache.scachesize int
Defines the maximum memory size in megabytes that is allocated for the session cache. If the total size of data stored in the session cache exceeds the specified value, then the most stale data will be removed from the cache.
wincache.rerouteini string
Aviso

This option has been REMOVED as of 1.3.7. See wincache.reroute_enabled for similar functionality as of 1.3.7.

Specifies an absolute or a relateve path to the reroute.ini file that contains the list of PHP functions whose implementation should be replaced with the WinCache function equivalents. If a relative path is specified then it is assumed to be relative to the location of php-cgi.exe file.
wincache.reroute_enabled bool
Enables or disables the rerouting of certain file I/O functions through the file cache.
wincache.srwlocks bool
Aviso

This option has been REMOVED as of 2.0.0.0

Enables or disables the use of shared reader/writer locks. Disabling is useful when troubleshooting deadlock conditions in WinCache.
wincache.filemapdir string
Specifies an absolute path to a directory where WinCache will store the temporary files used for shared memory segments. This directory must be on the local machine and not on a networked file system. If the directory is not specified, WinCache will use the Windows System Page File for all shared memory segments.


WinCache Statistics Script

The installation package for WinCache includes a PHP script, wincache.php, that can be used to obtain cache information and statistics.

If the WinCache extension was installed via the Microsoft Web Platform Installer, then this script is located in %SystemDrive%\Program Files\IIS\Windows Cache for PHP\. On a 64-bit version of the Windows Server operating system, the script is located in %SystemDrive%\Program Files (x86)\IIS\Windows Cache for PHP. If the extension was installed manually, then the wincache.php will be located in the same folder from which the content of the installation package was extracted.

To use wincache.php, copy it into a root folder of a Web site or into any subfolder. To protect the script, open it in any text editor and replace the values for USERNAME and PASSWORD constants. If any other IIS authentication is enabled on the server, then follow the instructions in the comments:

Exemplo #1 Authentication configuration for wincache.php

<?php
/**
 * ======================== CONFIGURATION SETTINGS ==============================
 * If you do not want to use authentication for this page, set USE_AUTHENTICATION to 0.
 * If you use authentication then replace the default password.
 */
define('USE_AUTHENTICATION', 1);
define('USERNAME', 'wincache');
define('PASSWORD', 'wincache');

/**
 * The Basic PHP authentication will work only when IIS is configured to support
 * Anonymous Authentication' and nothing else. If IIS is configured to support/use
 * any other kind of authentication like Basic/Negotiate/Digest etc, this will not work.
 * In that case use the array below to define the names of users in your
 * domain/network/workgroup which you want to grant access to.
 */
$user_allowed = array('DOMAIN\user1', 'DOMAIN\user2', 'DOMAIN\user3');

/**
 * If the array contains string 'all', then all the users authenticated by IIS
 * will have access to the page. Uncomment the below line and comment above line
 * to grant access to all users who gets authenticated by IIS.
 */
/* $user_allowed = array('all'); */

/** ===================== END OF CONFIGURATION SETTINGS ========================== */
?>

Nota: Always protect the wincache.php script by using either the built-in authentication or the server's authentication mechanism. Leaving this script unprotected may compromise the security of your web application and web server.


WinCache Session Handler

The WinCache session handler (available since WinCache 1.1.0) can be used to configure PHP to store the session data in shared memory session cache. Using shared memory instead of the default file session storage helps improve performance of PHP applications that store large amount of data in session objects. Wincache session cache uses file-backed shared memory, which ensures that the session data is not lost during recycling of IIS application pools.

To configure PHP to use WinCache session handler set the php.ini setting session.save_handler to wincache. By default the Windows temporary file location is used for storing the session data. To change the location of the session file use session.save_path directive.

Exemplo #1 Enabling WinCache session handler

session.save_handler = wincache
session.save_path = C:\inetpub\temp\session\


WinCache Functions Reroutes

NOTE: wincache.rerouteini was removed as of WinCache 1.3.7.0. It has been replaced with automatic function reroutes. See: wincache.reroute_enabled.

The WinCache functions reroutes (available since WinCache 1.2.0, removed since WinCache 1.3.7.0) can be used to replace built-in PHP functions with their equivalents that are optimized for a particular purpose. WinCache extension includes Windows-optimized implementation of PHP file functions that may improve performance of PHP applications in cases when PHP has to access files on network shares. The optimized implementation is provided for the following functions:

  • file_exists
  • file_get_contents
  • readfile
  • is_readable
  • is_writable
  • is_dir
  • realpath
  • filesize

To configure WinCache to use the functions reroutes use the file reroute.ini that is included in WinCache installation package. Copy this file into the same directory where php.ini file is located. After that add the wincache.rerouteini setting in php.ini and specify an absolute or relative path to the reroute.ini file.

Exemplo #1 Enabling WinCache functions reroutes

wincache.rerouteini = C:\PHP\reroute.ini

Nota: If WinCache functions reroutes are enabled it is recommended to increase the WinCache file cache size. This can be done by using wincache.fcachesize setting.

The reroute.ini file contains the mappings between the native PHP functions and their equivalents in WinCache. Each line in the file defines a mapping by using the following syntax:

<PHP function name>:[<number of function parameters>]=<wincache function name>

The example of the file is shown below. In this example the calls to PHP function file_get_contents() will be replaced with calls to wincache_file_get_contents() only if the number of parameters passed to the function is less than or equals to 2. Specifying the number of parameters is useful when replacement function does not handle all the function's parameters.

Exemplo #2 Reroute.ini file content

[FunctionRerouteList]
file_exists=wincache_file_exists
file_get_contents:2=wincache_file_get_contents
readfile:2=wincache_readfile
is_readable=wincache_is_readable
is_writable=wincache_is_writable
is_writeable=wincache_is_writable
is_file=wincache_is_file
is_dir=wincache_is_dir
realpath=wincache_realpath
filesize=wincache_filesize


  • « WinCache Functions Reroutes
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão não tem recursos definidos.


  • « Tipos de Recurso
  • WinCache Funções »
  • PHP Manual
  • WinCache
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


WinCache Funções

Índice

  • wincache_fcache_fileinfo — Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo — Retrieves information about file cache memory usage
  • wincache_lock — Acquires an exclusive lock on a given key
  • wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo — Retrieves information about opcode cache memory usage
  • wincache_refresh_if_changed — Refreshes the cache entries for the cached files
  • wincache_rplist_fileinfo — Retrieves information about resolve file path cache
  • wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache
  • wincache_scache_info — Retrieves information about files cached in the session cache
  • wincache_scache_meminfo — Retrieves information about session cache memory usage
  • wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_cas — Compares the variable with old value and assigns new value to it
  • wincache_ucache_clear — Deletes entire content of the user cache
  • wincache_ucache_dec — Decrements the value associated with the key
  • wincache_ucache_delete — Deletes variables from the user cache
  • wincache_ucache_exists — Checks if a variable exists in the user cache
  • wincache_ucache_get — Gets a variable stored in the user cache
  • wincache_ucache_inc — Increments the value associated with the key
  • wincache_ucache_info — Retrieves information about data stored in the user cache
  • wincache_ucache_meminfo — Retrieves information about user cache memory usage
  • wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_unlock — Releases an exclusive lock on a given key


Retrieves information about files cached in the file cache

  • « WinCache Funções
  • wincache_fcache_meminfo »
  • PHP Manual
  • WinCache Funções
  • Retrieves information about files cached in the file cache

wincache_fcache_fileinfo

(PECL wincache >= 1.0.0)

wincache_fcache_fileinfo — Retrieves information about files cached in the file cache

Descrição

wincache_fcache_fileinfo ( bool $summaryonly = false ) : array|false

Retrieves information about file cache content and its usage.

Parâmetros

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the file cache summary.

Valor Retornado

Array of meta data about file cache ou false em caso de falha

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the file cache has been active
  • total_file_count - total number of files that are currently in the file cache
  • total_hit_count - number of times the files have been served from the file cache
  • total_miss_count - number of times the files have not been found in the file cache

  • file_entries - an array that contains the information about all the cached files:

    • file_name - absolute file name of the cached file
    • add_time - time in seconds since the file has been added to the file cache
    • use_time - time in seconds since the file has been accessed in the file cache
    • last_check - time in seconds since the file has been checked for modifications
    • hit_count - number of times the file has been served from the cache
    • file_size - size of the cached file in bytes

Exemplos

Exemplo #1 A wincache_fcache_fileinfo() example

<pre>
<?php
print_r(wincache_fcache_fileinfo());
?>
</pre>

O exemplo acima irá imprimir:

Array
(   [total_cache_uptime] => 3234
    [total_file_count] => 5
    [total_hit_count] => 0
    [total_miss_count] => 1
    [file_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 1
                    [use_time] => 0
                    [last_check] => 1
                    [hit_count] => 1
                    [file_size] => 2435
                )
            [2] => Array (...iterates for each cached file)
        )
)

Veja Também

  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Retrieves information about file cache memory usage

  • « wincache_fcache_fileinfo
  • wincache_lock »
  • PHP Manual
  • WinCache Funções
  • Retrieves information about file cache memory usage

wincache_fcache_meminfo

(PECL wincache >= 1.0.0)

wincache_fcache_meminfo — Retrieves information about file cache memory usage

Descrição

wincache_fcache_meminfo ( ) : array|false

Retrieves information about memory usage by file cache.

Valor Retornado

Array of meta data about file cache memory usage ou false em caso de falha

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the file cache
  • memory_free - amount of free memory in bytes available for the file cache
  • num_used_blks - number of memory blocks used by the file cache
  • num_free_blks - number of free memory blocks available for the file cache
  • memory_overhead - amount of memory in bytes used for the file cache internal structures

Exemplos

Exemplo #1 A wincache_fcache_meminfo() example

<pre>
<?php
print_r(wincache_fcache_meminfo());
?>
</pre>

O exemplo acima irá imprimir:

Array
(
    [memory_total] => 134217728
    [memory_free] => 131339120
    [num_used_blks] => 361
    [num_free_blks] => 3
    [memory_overhead] => 5856
)

Veja Também

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Acquires an exclusive lock on a given key

  • « wincache_fcache_meminfo
  • wincache_ocache_fileinfo »
  • PHP Manual
  • WinCache Funções
  • Acquires an exclusive lock on a given key

wincache_lock

(PECL wincache >= 1.1.0)

wincache_lock — Acquires an exclusive lock on a given key

Descrição

wincache_lock ( string $key , bool $isglobal = false ) : bool

Obtains an exclusive lock on a given key. The execution of the current script will be blocked until the lock can be obtained. Once the lock is obtained, the other scripts that try to request the lock by using the same key will be blocked, until the current script releases the lock by using wincache_unlock().

Aviso

Using of the wincache_lock() and wincache_unlock() can cause deadlocks when executing PHP scripts in a multi-process environment like FastCGI. Do not use these functions unless you are absolutely sure you need to use them. For the majority of the operations on the user cache it is not necessary to use these functions.

Parâmetros

key

Name of the key in the cache to get the lock on.

isglobal

Controls whether the scope of the lock is system-wide or local. Local locks are scoped to the application pool in IIS FastCGI case or to all php processes that have the same parent process identifier.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Using wincache_lock()

<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // do an exclusive lock
    ftruncate($fp, 0); // truncate file
    fwrite($fp, "Write something here\n");
    wincache_unlock(“lock_txt_lock”); // release the lock
} else {
    echo "Couldn't get the lock!";
}
fclose($fp);
?>

Veja Também

  • wincache_unlock() - Releases an exclusive lock on a given key
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache


Retrieves information about files cached in the opcode cache

  • « wincache_lock
  • wincache_ocache_meminfo »
  • PHP Manual
  • WinCache Funções
  • Retrieves information about files cached in the opcode cache

wincache_ocache_fileinfo

(PECL wincache >= 1.0.0)

wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache

Descrição

wincache_ocache_fileinfo ( bool $summaryonly = false ) : array|false

Retrieves information about opcode cache content and its usage.

Aviso

Esta função foi REMOVIDA desde o PHP 7.0.0.

Parâmetros

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the opcode cache summary.

Valor Retornado

Array of meta data about opcode cache ou false em caso de falha

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the opcode cache has been active
  • total_file_count - total number of files that are currently in the opcode cache
  • total_hit_count - number of times the compiled opcode have been served from the cache
  • total_miss_count - number of times the compiled opcode have not been found in the cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache

  • file_entries - an array that contains the information about all the cached files:

    • file_name - absolute file name of the cached file
    • add_time - time in seconds since the file has been added to the opcode cache
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • hit_count - number of times the file has been served from the cache
    • function_count - number of functions in the cached file
    • class_count - number of classes in the cached file

Exemplos

Exemplo #1 A wincache_ocache_fileinfo() example

<pre>
<?php
print_r(wincache_ocache_fileinfo());
?>
</pre>

O exemplo acima irá imprimir:

Array
(
    [total_cache_uptime] => 17357
    [total_file_count] => 121
    [total_hit_count] => 36562
    [total_miss_count] => 201
    [file_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 17356
                    [use_time] => 7
                    [last_check] => 10
                    [hit_count] => 454
                    [function_count] => 0
                    [class_count] => 1
                )
            [2] => Array (...iterates for each cached file)
        )
)

Veja Também

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Retrieves information about opcode cache memory usage

  • « wincache_ocache_fileinfo
  • wincache_refresh_if_changed »
  • PHP Manual
  • WinCache Funções
  • Retrieves information about opcode cache memory usage

wincache_ocache_meminfo

(PECL wincache >= 1.0.0)

wincache_ocache_meminfo — Retrieves information about opcode cache memory usage

Descrição

wincache_ocache_meminfo ( ) : array|false

Retrieves information about memory usage by opcode cache.

Valor Retornado

Array of meta data about opcode cache memory usage ou false em caso de falha

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the opcode cache
  • memory_free - amount of free memory in bytes available for the opcode cache
  • num_used_blks - number of memory blocks used by the opcode cache
  • num_free_blks - number of free memory blocks available for the opcode cache
  • memory_overhead - amount of memory in bytes used for the opcode cache internal structures

Aviso

Esta função foi REMOVIDA desde o PHP 7.0.0.

Exemplos

Exemplo #1 A wincache_ocache_meminfo() example

<pre>
<?php
print_r(wincache_ocache_meminfo());
?>
</pre>

O exemplo acima irá imprimir:

Array
(
    [memory_total] => 134217728
    [memory_free] => 112106972
    [num_used_blks] => 15469
    [num_free_blks] => 4
    [memory_overhead] => 247600
)

Veja Também

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Refreshes the cache entries for the cached files

  • « wincache_ocache_meminfo
  • wincache_rplist_fileinfo »
  • PHP Manual
  • WinCache Funções
  • Refreshes the cache entries for the cached files

wincache_refresh_if_changed

(PECL wincache >= 1.0.0)

wincache_refresh_if_changed — Refreshes the cache entries for the cached files

Descrição

wincache_refresh_if_changed ( array $files = NULL ) : bool

Refreshes the cache entries for the files, whose names were passed in the input argument. If no argument is specified then refreshes all the entries in the cache.

Parâmetros

files

An array of file names for files that need to be refreshed. An absolute or relative file paths can be used.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

WinCache performs regular checks on the cached files to ensure that if any file has changed then the corresponding entry in the cache is updated. By default this check is performed every 30 seconds. If, for example, a PHP script updates another PHP script where the application's configuration settings are stored, then it may happen that after the configuration settings have been saved to a file, the application is still using old settings for some time until the cache is refreshed. In those cases it may be preferrable to refresh the cache right after the file has been changed. The following example shows how this can be done.

Exemplo #1 A wincache_refresh_if_changed() example

<?php
$filename = 'C:\inetpub\wwwroot\config.php';
$handle = fopen($filename, 'w+');
if ($handle === FALSE) die('Failed to open file '.$filename.' for writing');
fwrite($handle, '<?php $setting=something; ?>');
fclose($handle);
wincache_refresh_if_changed(array($filename));
?>

Veja Também

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache


Retrieves information about resolve file path cache

  • « wincache_refresh_if_changed
  • wincache_rplist_meminfo »
  • PHP Manual
  • WinCache Funções
  • Retrieves information about resolve file path cache

wincache_rplist_fileinfo

(PECL wincache >= 1.0.0)

wincache_rplist_fileinfo — Retrieves information about resolve file path cache

Descrição

wincache_rplist_fileinfo ( bool $summaryonly = false ) : array|false

Retrieves information about cached mappings between relative file paths and corresponding absolute file paths.

Valor Retornado

Array of meta data about the resolve file path cache ou false em caso de falha

The array returned by this function contains the following elements:

  • total_file_count - total number of file path mappings stored in the cache

  • rplist_entries - an array that contains the information about all the cached file paths:

    • resolve_path - path to a file
    • subkey_data - corresponding absolute path to a file

Exemplos

Exemplo #1 A wincache_rplist_fileinfo() example

<pre>
<?php
print_r(wincache_rplist_fileinfo());
?>
</pre>

O exemplo acima irá imprimir:

Array
(
    [total_file_count] => 5
    [rplist_entries] => Array
        (
            [1] => Array
                (
                    [resolve_path] => checkcache.php
                    [subkey_data] => c:\inetpub\wwwroot|c:\inetpub\wwwroot\checkcache.php
                )

            [2] => Array (...iterates for each cached file)
        )
)

Veja Também

  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Retrieves information about memory usage by the resolve file path cache

  • « wincache_rplist_fileinfo
  • wincache_scache_info »
  • PHP Manual
  • WinCache Funções
  • Retrieves information about memory usage by the resolve file path cache

wincache_rplist_meminfo

(PECL wincache >= 1.0.0)

wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache

Descrição

wincache_rplist_meminfo ( ) : array|false

Retrieves information about memory usage by resolve file path cache.

Valor Retornado

Array of meta data that describes memory usage by resolve file path cache. ou false em caso de falha

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the resolve file path cache
  • memory_free - amount of free memory in bytes available for the resolve file path cache
  • num_used_blks - number of memory blocks used by the resolve file path cache
  • num_free_blks - number of free memory blocks available for the resolve file path cache
  • memory_overhead - amount of memory in bytes used for the internal structures of resolve file path cache

Exemplos

Exemplo #1 A wincache_rplist_meminfo() example

<pre>
<?php
print_r(wincache_rplist_meminfo());
?>
</pre>

O exemplo acima irá imprimir:

Array
(
    [memory_total] => 9437184
    [memory_free] => 9416744
    [num_used_blks] => 23
    [num_free_blks] => 1
    [memory_overhead] => 416
)

Veja Também

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Retrieves information about files cached in the session cache

  • « wincache_rplist_meminfo
  • wincache_scache_meminfo »
  • PHP Manual
  • WinCache Funções
  • Retrieves information about files cached in the session cache

wincache_scache_info

(PECL wincache >= 1.1.0)

wincache_scache_info — Retrieves information about files cached in the session cache

Descrição

wincache_scache_info ( bool $summaryonly = false ) : array|false

Retrieves information about session cache content and its usage.

Parâmetros

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the session cache summary.

Valor Retornado

Array of meta data about session cache ou false em caso de falha

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the session cache has been active
  • total_item_count - total number of elements that are currently in the session cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache
  • total_hit_count - number of times the data has been served from the cache
  • total_miss_count - number of times the data has not been found in the cache

  • scache_entries - an array that contains the information about all the cached items:

    • key_name - name of the key which is used to store the data
    • value_type - type of value stored by the key
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • ttl_seconds - time remaining for the data to live in the cache, 0 meaning infinite
    • age_seconds - time elapsed from the time data has been added in the cache
    • hitcount - number of times data has been served from the cache

Exemplos

Exemplo #1 A wincache_scache_info() example

<pre>
<?php
print_r(wincache_scache_info());
?>
</pre>

O exemplo acima irá imprimir:

Array
(
    [total_cache_uptime] => 17357
    [total_file_count] => 121
    [total_hit_count] => 36562
    [total_miss_count] => 201
    [scache_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 17356
                    [use_time] => 7
                    [last_check] => 10
                    [hit_count] => 454
                    [function_count] => 0
                    [class_count] => 1
                )
            [2] => Array (...iterates for each cached file)
        )
)

Veja Também

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Retrieves information about session cache memory usage

  • « wincache_scache_info
  • wincache_ucache_add »
  • PHP Manual
  • WinCache Funções
  • Retrieves information about session cache memory usage

wincache_scache_meminfo

(PECL wincache >= 1.1.0)

wincache_scache_meminfo — Retrieves information about session cache memory usage

Descrição

wincache_scache_meminfo ( ) : array|false

Retrieves information about memory usage by session cache.

Valor Retornado

Array of meta data about session cache memory usage ou false em caso de falha

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the session cache
  • memory_free - amount of free memory in bytes available for the session cache
  • num_used_blks - number of memory blocks used by the session cache
  • num_free_blks - number of free memory blocks available for the session cache
  • memory_overhead - amount of memory in bytes used for the session cache internal structures

Exemplos

Exemplo #1 A wincache_scache_meminfo() example

<pre>
<?php
print_r(wincache_scache_meminfo());
?>
</pre>

O exemplo acima irá imprimir:

Array
(
    [memory_total] => 5242880
    [memory_free] => 5215056
    [num_used_blks] => 6
    [num_free_blks] => 3
    [memory_overhead] => 176
)

Veja Também

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache


Adds a variable in user cache only if variable does not already exist in the cache

  • « wincache_scache_meminfo
  • wincache_ucache_cas »
  • PHP Manual
  • WinCache Funções
  • Adds a variable in user cache only if variable does not already exist in the cache

wincache_ucache_add

(PECL wincache >= 1.1.0)

wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache

Descrição

wincache_ucache_add ( string $key , mixed $value , int $ttl = 0 ) : bool
wincache_ucache_add ( array $values , mixed $unused = NULL , int $ttl = 0 ) : bool

Adds a variable in user cache, only if this variable doesn't already exist in the cache. The added variable remains in the user cache unless its time to live expires or it is deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Parâmetros

key

Store the variable using this key name. If a variable with same key is already present the function will fail and return false. key is case sensitive. To override the value even if key is present use wincache_ucache_set() function instad. key can also take array of name => value pairs where names will be used as keys. This can be used to add multiple values in the cache in one operation, thus avoiding race condition.

value

Value of a variable to store. Value supports all data types except resources, such as file handles. This paramter is ignored if first argument is an array. A general guidance is to pass null as value while using array as key. If value is an object, or an array containing objects, then the objects will be serialized. See __sleep() for details on serializing objects.

values

Associative array of keys and values.

ttl

Time for the variable to live in the cache in seconds. After the value specified in ttl has passed the stored variable will be deleted from the cache. This parameter takes a default value of 0 which means the variable will stay in the cache unless explicitly deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Valor Retornado

If key is string, the function returns true on success and false on failure.

If key is an array, the function returns:

  • If all the name => value pairs in the array can be set, function returns an empty array;
  • If all the name => value pairs in the array cannot be set, function returns false;
  • If some can be set while others cannot, function returns an array with name=>value pair for which the addition failed in the user cache.

Exemplos

Exemplo #1 wincache_ucache_add() with key as a string

<?php
$bar = 'BAR';
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_get('foo'));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)
string(3) "BAR"

Exemplo #2 wincache_ucache_add() with key as an array

<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>

O exemplo acima irá imprimir:

array(0) { }
array(4) {
  ["green"]=> int(-1)
  ["Blue"]=> int(-1)
  ["yellow"]=> int(-1)
  ["cyan"]=> int(-1)
}
string(1) "6"

Veja Também

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • __sleep()


Compares the variable with old value and assigns new value to it

  • « wincache_ucache_add
  • wincache_ucache_clear »
  • PHP Manual
  • WinCache Funções
  • Compares the variable with old value and assigns new value to it

wincache_ucache_cas

(PECL wincache >= 1.1.0)

wincache_ucache_cas — Compares the variable with old value and assigns new value to it

Descrição

wincache_ucache_cas ( string $key , int $old_value , int $new_value ) : bool

Compares the variable associated with the key with old_value and if it matches then assigns the new_value to it.

Parâmetros

key

The key that is used to store the variable in the cache. key is case sensitive.

old_value

Old value of the variable pointed by key in the user cache. The value should be of type long, otherwise the function returns false.

new_value

New value which will get assigned to variable pointer by key if a match is found. The value should be of type long, otherwise the function returns false.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Using wincache_ucache_cas()

<?php
wincache_ucache_set('counter', 2922);
var_dump(wincache_ucache_cas('counter', 2922, 1));
var_dump(wincache_ucache_get('counter'));
?>

O exemplo acima irá imprimir:

bool(true)
int(1)

Veja Também

  • wincache_ucache_inc() - Increments the value associated with the key
  • wincache_ucache_dec() - Decrements the value associated with the key


Deletes entire content of the user cache

  • « wincache_ucache_cas
  • wincache_ucache_dec »
  • PHP Manual
  • WinCache Funções
  • Deletes entire content of the user cache

wincache_ucache_clear

(PECL wincache >= 1.1.0)

wincache_ucache_clear — Deletes entire content of the user cache

Descrição

wincache_ucache_clear ( ) : bool

Clears/deletes all the values stored in the user cache.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 using wincache_ucache_clear()

<?php
wincache_ucache_set('green', 1);
wincache_ucache_set('red', 2);
wincache_ucache_set('orange', 4);
wincache_ucache_set('blue', 8);
wincache_ucache_set('cyan', 16);
$array1 = array('green', 'red', 'orange', 'blue', 'cyan');
var_dump(wincache_ucache_get($array1));
var_dump(wincache_ucache_clear());
var_dump(wincache_ucache_get($array1));
?>

O exemplo acima irá imprimir:

array(5) { ["green"]=> int(1)
           ["red"]=> int(2)
           ["orange"]=> int(4)
           ["blue"]=> int(8)
           ["cyan"]=> int(16) }
bool(true)
bool(false)

Veja Também

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache


Decrements the value associated with the key

  • « wincache_ucache_clear
  • wincache_ucache_delete »
  • PHP Manual
  • WinCache Funções
  • Decrements the value associated with the key

wincache_ucache_dec

(PECL wincache >= 1.1.0)

wincache_ucache_dec — Decrements the value associated with the key

Descrição

wincache_ucache_dec ( string $key , int $dec_by = 1 , bool &$success = ? ) : mixed

Decrements the value associated with the key by 1 or as specified by dec_by.

Parâmetros

key

The key that was used to store the variable in the cache. key is case sensitive.

dec_by

The value by which the variable associated with the key will get decremented. If the argument is a floating point number it will be truncated to nearest integer. The variable associated with the key should be of type long, otherwise the function fails and returns false.

success

Will be set to true on success and false on failure.

Valor Retornado

Returns the decremented value on success and false on failure.

Exemplos

Exemplo #1 Using wincache_ucache_dec()

<?php
wincache_ucache_set('counter', 1);
var_dump(wincache_ucache_dec('counter', 2923, $success));
var_dump($success);
?>

O exemplo acima irá imprimir:

int(2922)
bool(true)

Veja Também

  • wincache_ucache_inc() - Increments the value associated with the key
  • wincache_ucache_cas() - Compares the variable with old value and assigns new value to it


Deletes variables from the user cache

  • « wincache_ucache_dec
  • wincache_ucache_exists »
  • PHP Manual
  • WinCache Funções
  • Deletes variables from the user cache

wincache_ucache_delete

(PECL wincache >= 1.1.0)

wincache_ucache_delete — Deletes variables from the user cache

Descrição

wincache_ucache_delete ( mixed $key ) : bool

Deletes the elements in the user cache pointed by key.

Parâmetros

key

The key that was used to store the variable in the cache. key is case sensitive. key can be an array of keys.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

If key is an array then the function returns false if every element of the array fails to get deleted from the user cache, otherwise returns an array which consists of all the keys that are deleted.

Exemplos

Exemplo #1 Using wincache_ucache_delete() with key as a string

<?php
wincache_ucache_set('foo', 'bar');
var_dump(wincache_ucache_delete('foo'));
var_dump(wincache_ucache_exists('foo'));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)

Exemplo #2 Usingwincache_ucache_delete() with key as an array

<?php
$array1 = array('green' => '5', 'blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'blue', 'yellow', 'cyan');
var_dump(wincache_ucache_delete($array2));
?>

O exemplo acima irá imprimir:

array(4) { [0]=> string(5) "green"
           [1]=> string(4) "Blue"
           [2]=> string(6) "yellow"
           [3]=> string(4) "cyan" }

Exemplo #3 Using wincache_ucache_delete() with key as an array where some elements cannot be deleted

<?php
$array1 = array('green' => '5', 'blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('orange', 'red', 'yellow', 'cyan');
var_dump(wincache_ucache_delete($array2));
?>

O exemplo acima irá imprimir:

array(2) { [0]=> string(6) "yellow"
           [1]=> string(4) "cyan" }

Veja Também

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache


Checks if a variable exists in the user cache

  • « wincache_ucache_delete
  • wincache_ucache_get »
  • PHP Manual
  • WinCache Funções
  • Checks if a variable exists in the user cache

wincache_ucache_exists

(PECL wincache >= 1.1.0)

wincache_ucache_exists — Checks if a variable exists in the user cache

Descrição

wincache_ucache_exists ( string $key ) : bool

Checks if a variable with the key exists in the user cache or not.

Parâmetros

key

The key that was used to store the variable in the cache. key is case sensitive.

Valor Retornado

Returns true if variable with the key exitsts, otherwise returns false.

Exemplos

Exemplo #1 Using wincache_ucache_exists()

<?php
if (!wincache_ucache_exists('green'))
    wincache_ucache_set('green', 1);
var_dump(wincache_ucache_exists('green'));
?>

O exemplo acima irá imprimir:

bool(true)

Veja Também

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache


Gets a variable stored in the user cache

  • « wincache_ucache_exists
  • wincache_ucache_inc »
  • PHP Manual
  • WinCache Funções
  • Gets a variable stored in the user cache

wincache_ucache_get

(PECL wincache >= 1.1.0)

wincache_ucache_get — Gets a variable stored in the user cache

Descrição

wincache_ucache_get ( mixed $key , bool &$success = ? ) : mixed

Gets a variable stored in the user cache.

Parâmetros

key

The key that was used to store the variable in the cache. key is case sensitive. key can be an array of keys. In this case the return value will be an array of values of each element in the key array. If an object, or an array containing objects, is returned, then the objects will be unserialized. See __wakeup() for details on unserializing objects.

success

Will be set to true on success and false on failure.

Valor Retornado

If key is a string, the function returns the value of the variable stored with that key. The success is set to true on success and to false on failure.

The key is an array, the parameter success is always set to true. The returned array (name => value pairs) will contain only those name => value pairs for which the get operation in user cache was successful. If none of the keys in the key array finds a match in the user cache an empty array will be returned.

Exemplos

Exemplo #1 wincache_ucache_get() with key as a string

<?php
wincache_ucache_add('color', 'blue');
var_dump(wincache_ucache_get('color', $success));
var_dump($success);
?>

O exemplo acima irá imprimir:

string(4) "blue"
bool(true)

Exemplo #2 wincache_ucache_get() with key as an array

<?php
$array1 = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'Blue', 'yellow', 'cyan');
var_dump(wincache_ucache_get($array2, $success));
var_dump($success);
?>

O exemplo acima irá imprimir:

array(4) { ["green"]=> string(1) "5"
           ["Blue"]=> string(1) "6"
           ["yellow"]=> string(1) "7"
           ["cyan"]=> string(1) "8" }
bool(true)

Veja Também

  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • __wakeup()


Increments the value associated with the key

  • « wincache_ucache_get
  • wincache_ucache_info »
  • PHP Manual
  • WinCache Funções
  • Increments the value associated with the key

wincache_ucache_inc

(PECL wincache >= 1.1.0)

wincache_ucache_inc — Increments the value associated with the key

Descrição

wincache_ucache_inc ( string $key , int $inc_by = 1 , bool &$success = ? ) : mixed

Increments the value associated with the key by 1 or as specified by inc_by.

Parâmetros

key

The key that was used to store the variable in the cache. key is case sensitive.

inc_by

The value by which the variable associated with the key will get incremented. If the argument is a floating point number it will be truncated to nearest integer. The variable associated with the key should be of type long, otherwise the function fails and returns false.

success

Will be set to true on success and false on failure.

Valor Retornado

Returns the incremented value on success and false on failure.

Exemplos

Exemplo #1 Using wincache_ucache_inc()

<?php
wincache_ucache_set('counter', 1);
var_dump(wincache_ucache_inc('counter', 2921, $success));
var_dump($success);
?>

O exemplo acima irá imprimir:

int(2922)
bool(true)

Veja Também

  • wincache_ucache_dec() - Decrements the value associated with the key
  • wincache_ucache_cas() - Compares the variable with old value and assigns new value to it


Retrieves information about data stored in the user cache

  • « wincache_ucache_inc
  • wincache_ucache_meminfo »
  • PHP Manual
  • WinCache Funções
  • Retrieves information about data stored in the user cache

wincache_ucache_info

(PECL wincache >= 1.1.0)

wincache_ucache_info — Retrieves information about data stored in the user cache

Descrição

wincache_ucache_info ( bool $summaryonly = false , string $key = NULL ) : array|false

Retrieves information about data stored in the user cache.

Parâmetros

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the user cache summary.

key

The key of an entry in the user cache. If specified then the returned array will contain information only about that cache entry. If not specified and summaryonly is set to false then the returned array will contain information about all entries in the cache.

Valor Retornado

Array of meta data about user cache ou false em caso de falha

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the user cache has been active
  • total_item_count - total number of elements that are currently in the user cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache
  • total_hit_count - number of times the data has been served from the cache
  • total_miss_count - number of times the data has not been found in the cache

  • ucache_entries - an array that contains the information about all the cached items:

    • key_name - name of the key which is used to store the data
    • value_type - type of value stored by the key
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • is_session - indicates if the data is a session variable
    • ttl_seconds - time remaining for the data to live in the cache, 0 meaning infinite
    • age_seconds - time elapsed from the time data has been added in the cache
    • hitcount - number of times data has been served from the cache

Exemplos

Exemplo #1 Using wincache_ucache_info()

<?php
wincache_ucache_get('green');
wincache_ucache_set('green', 2922);
wincache_ucache_get('green');
wincache_ucache_get('green');
wincache_ucache_get('green');
print_r(wincache_ucache_info());
?>

O exemplo acima irá imprimir:

Array
( ["total_cache_uptime"] => int(0)
  ["is_local_cache"] => bool(false)
  ["total_item_count"] => int(1)
  ["total_hit_count"] => int(3)
  ["total_miss_count"] => int(1)
  ["ucache_entries"] => Array(1)
    ( [1] => Array(6)
      (
        ["key_name"] => string(5) "green"
        ["value_type"] => string(4) "long"
        ["is_session"] => int(0)
        ["ttl_seconds"] => int(0)
        ["age_seconds"] => int(0)
        ["hitcount"] => int(3)
       )
    )
)

Veja Também

  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Retrieves information about user cache memory usage

  • « wincache_ucache_info
  • wincache_ucache_set »
  • PHP Manual
  • WinCache Funções
  • Retrieves information about user cache memory usage

wincache_ucache_meminfo

(PECL wincache >= 1.1.0)

wincache_ucache_meminfo — Retrieves information about user cache memory usage

Descrição

wincache_ucache_meminfo ( ) : array|false

Retrieves information about memory usage by user cache.

Valor Retornado

Array of meta data about user cache memory usage ou false em caso de falha

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the user cache
  • memory_free - amount of free memory in bytes available for the user cache
  • num_used_blks - number of memory blocks used by the user cache
  • num_free_blks - number of free memory blocks available for the user cache
  • memory_overhead - amount of memory in bytes used for the user cache internal structures

Exemplos

Exemplo #1 A wincache_ucache_meminfo() example

<pre>
<?php
print_r(wincache_ucache_meminfo());
?>
</pre>

O exemplo acima irá imprimir:

Array
(
    [memory_total] => 5242880
    [memory_free] => 5215056
    [num_used_blks] => 6
    [num_free_blks] => 3
    [memory_overhead] => 176
)

Veja Também

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Adds a variable in user cache and overwrites a variable if it already exists in the cache

  • « wincache_ucache_meminfo
  • wincache_unlock »
  • PHP Manual
  • WinCache Funções
  • Adds a variable in user cache and overwrites a variable if it already exists in the cache

wincache_ucache_set

(PECL wincache >= 1.1.0)

wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache

Descrição

wincache_ucache_set ( mixed $key , mixed $value , int $ttl = 0 ) : bool
wincache_ucache_set ( array $values , mixed $unused = NULL , int $ttl = 0 ) : bool

Adds a variable in user cache. Overwrites a variable if it already exists in the cache. The added or updated variable remains in the user cache unless its time to live expires or it is deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Parâmetros

key

Store the variable using this key name. If a variable with same key is already present the function will overwrite the previous value with the new one. key is case sensitive. key can also take array of name => value pairs where names will be used as keys. This can be used to add multiple values in the cache in one operation, thus avoiding race condition.

value

Value of a variable to store. Value supports all data types except resources, such as file handles. This paramter is ignored if first argument is an array. A general guidance is to pass null as value while using array as key. If value is an object, or an array containing objects, then the objects will be serialized. See __sleep() for details on serializing objects.

values

Associative array of keys and values.

ttl

Time for the variable to live in the cache in seconds. After the value specified in ttl has passed the stored variable will be deleted from the cache. This parameter takes a default value of 0 which means the variable will stay in the cache unless explicitly deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Valor Retornado

If key is string, the function returns true on success and false on failure.

If key is an array, the function returns:

  • If all the name => value pairs in the array can be set, function returns an empty array;
  • If all the name => value pairs in the array cannot be set, function returns false;
  • If some can be set while others cannot, function returns an array with name=>value pair for which the addition failed in the user cache.

Exemplos

Exemplo #1 wincache_ucache_set() with key as a string

<?php
$bar = 'BAR';
var_dump(wincache_ucache_set('foo', $bar));
var_dump(wincache_ucache_get('foo'));
$bar1 = 'BAR1';
var_dump(wincache_ucache_set('foo', $bar1));
var_dump(wincache_ucache_get('foo'));
?>

O exemplo acima irá imprimir:

bool(true)
string(3) "BAR"
bool(true)
string(3) "BAR1"

Exemplo #2 wincache_ucache_set() with key as an array

<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>

O exemplo acima irá imprimir:

array(0) {}
array(0) {}
string(1) "6"

Veja Também

  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • __sleep()


Releases an exclusive lock on a given key

  • « wincache_ucache_set
  • Building for Windows »
  • PHP Manual
  • WinCache Funções
  • Releases an exclusive lock on a given key

wincache_unlock

(PECL wincache >= 1.1.0)

wincache_unlock — Releases an exclusive lock on a given key

Descrição

wincache_unlock ( string $key ) : bool

Releases an exclusive lock that was obtained on a given key by using wincache_lock(). If any other process was blocked waiting for the lock on this key, that process will be able to obtain the lock.

Aviso

Using of the wincache_lock() and wincache_unlock() can cause deadlocks when executing PHP scripts in a multi-process environment like FastCGI. Do not use these functions unless you are absolutely sure you need to use them. For the majority of the operations on the user cache it is not necessary to use these functions.

Parâmetros

key

Name of the key in the cache to release the lock on.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Using wincache_unlock()

<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // do an exclusive lock
    ftruncate($fp, 0); // truncate file
    fwrite($fp, "Write something here\n");
    wincache_unlock(“lock_txt_lock”); // release the lock
} else {
    echo "Couldn't get the lock!";
}
fclose($fp);
?>

Veja Também

  • wincache_lock() - Acquires an exclusive lock on a given key
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache


Building for Windows

Índice

  • Prerequisites
  • Compiling and building
  • Verifying the build


Prerequisites

Building WinCache extension will require:

  1. PHP source code
  2. PHP build environment
  3. WinCache source code

For completing first two steps, follow the step-by-step guide for how to » build PHP on Windows.

For getting the WinCache source code follow the instructions described in Downloading PECL extensions.


Compiling and building

The following steps describe how to compile and build WinCache on Windows OS:

  1. Open a command prompt which is used to build PHP

  2. Go to the root folder where PHP sources are present

  3. Run the command:

    cscript.exe win32\build\buildconf.js

  4. Run the command:

    configure.bat --help
    The output will contain a new flag --enable-wincache.

  5. Run the command:

    configure.js [all options used to build PHP] --enable-wincache
    --enable-wincache is the only extra option which is required to ensure that WinCache extension gets built properly. This option will build WinCache and will statically link it with PHP dll. To build WinCache extension as a stand-alone DLL use the option --enable-wincache=shared.

  6. Run the command:

    nmake


Verifying the build

The following steps describe how to verify that WinCache has been built correctly:

  1. Go to the folder where the PHP binaries are built

  2. Run the command:

    php.exe -n -d extension=php_wincache.dll -re wincache
    If WinCache has been built properly, the output of this command will list the INI directives and functions supported by WinCache.


Hierarchical Profiler

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Xhprof Funções
    • xhprof_disable — Stops xhprof profiler
    • xhprof_enable — Start xhprof profiler
    • xhprof_sample_disable — Stops xhprof sample profiler
    • xhprof_sample_enable — Start XHProf profiling in sampling mode


Introdução

XHProf is a light-weight hierarchical and instrumentation based profiler. During the data collection phase, it keeps track of call counts and inclusive metrics for arcs in the dynamic callgraph of a program. It computes exclusive metrics in the reporting/post processing phase, such as wall (elapsed) time, CPU time and memory usage. A functions profile can be broken down by callers or callees. XHProf handles recursive functions by detecting cycles in the callgraph at data collection time itself and avoiding the cycles by giving unique depth qualified names for the recursive invocations.

XHProf includes a simple HTML based user interface (written in PHP). The browser based UI for viewing profiler results makes it easy to view results or to share results with peers. A callgraph image view is also supported.

XHProf reports can often be helpful in understanding the structure of the code being executed. The hierarchical nature of the reports can be used to determine, for example, what chain of calls led to a particular function getting called.

XHProf supports ability to compare two runs (a.k.a. "diff" reports) or aggregate data from multiple runs. Diff and aggregate reports, much like single run reports, offer "flat" as well as "hierarchical" views of the profile.

Additional documentation can be found via the » facebook xhprof website.


Dependências

Although not required, xhprof includes an interface that's written in PHP. It's used to save and display the profiled data in a usable way, where viewing is done via a web browser. So, a PHP enabled web server will likely make the xhprof experience more useful.

There's also a fork of the GUI interface at » http://github.com/preinheimer/xhprof


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/xhprof


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Xhprof Opções de Configuração
Nome | Padrão | Modificável | Changelog
xhprof.output_dir | "" | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

xhprof.output_dir string

Directory used by the default implementation of the iXHProfRuns interface (namely, the XHProfRuns_Default class) for storing XHProf runs.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

XHPROF_FLAGS_NO_BUILTINS (int)
Used to skip all built-in (internal) functions.
XHPROF_FLAGS_CPU (int)
Used to add CPU profiling information to the output.
XHPROF_FLAGS_MEMORY (int)
Used to add memory profiling information to the output.


Exemplos

Exemplo #1 Xhprof example with the optional GUI

This example starts and stops the profiler, then uses the bundled GUI interface to save and parse the results. In other words, the code from the extension itself ends at the call to xhprof_disable().

<?php
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

for ($i = 0; $i <= 1000; $i++) {
    $a = $i * $i;
}

$xhprof_data = xhprof_disable();

$XHPROF_ROOT = "/tools/xhprof/";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";

$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_testing");

echo "http://localhost/xhprof/xhprof_html/index.php?run={$run_id}&source=xhprof_testing\n";

?>

O exemplo acima irá imprimir algo similar à:

http://localhost/xhprof/xhprof_html/index.php?run=t11_4bdf44d21121f&source=xhprof_testing


Xhprof Funções

Índice

  • xhprof_disable — Stops xhprof profiler
  • xhprof_enable — Start xhprof profiler
  • xhprof_sample_disable — Stops xhprof sample profiler
  • xhprof_sample_enable — Start XHProf profiling in sampling mode


Stops xhprof profiler

  • « Xhprof Funções
  • xhprof_enable »
  • PHP Manual
  • Xhprof Funções
  • Stops xhprof profiler

xhprof_disable

(PECL xhprof >= 0.9.0)

xhprof_disable — Stops xhprof profiler

Descrição

xhprof_disable ( ) : array

Stops the profiler, and returns xhprof data from the run.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of xhprof data, from the run.

Exemplos

Exemplo #1 xhprof_disable() example

<?php
xhprof_enable();

$foo = strlen("foo bar");

$xhprof_data = xhprof_disable();

print_r($xhprof_data);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [main()==>strlen] => Array
        (
            [ct] => 1
            [wt] => 279
        )

    [main()==>xhprof_disable] => Array
        (
            [ct] => 1
            [wt] => 9
        )

    [main()] => Array
        (
            [ct] => 1
            [wt] => 610
        )

)


Start xhprof profiler

  • « xhprof_disable
  • xhprof_sample_disable »
  • PHP Manual
  • Xhprof Funções
  • Start xhprof profiler

xhprof_enable

(PECL xhprof >= 0.9.0)

xhprof_enable — Start xhprof profiler

Descrição

xhprof_enable ( int $flags = 0 , array $options = ? ) : void

Start xhprof profiling.

Parâmetros

flags

Optional flags to add additional information to the profiling. See the XHprof constants for further information about these flags, e.g., XHPROF_FLAGS_MEMORY to enable memory profiling.

options

An array of optional options, namely, the 'ignored_functions' option to pass in functions to be ignored during profiling.

Valor Retornado

null

Changelog

Versão | Descrição
PECL xhprof 0.9.2 | The optional options parameter was added.

Exemplos

Exemplo #1 xhprof_enable() examples

<?php
// 1. elapsed time + memory + CPU profiling; and ignore built-in (internal) functions
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);

// 2. elapsed time profiling; ignore call_user_func* during profiling
xhprof_enable(
    0,
    array('ignored_functions' =>  array('call_user_func',
                                        'call_user_func_array')));

// 3. elapsed time + memory profiling; ignore call_user_func* during profiling
xhprof_enable(
    XHPROF_FLAGS_MEMORY,
    array('ignored_functions' =>  array('call_user_func',
                                        'call_user_func_array')));
?>

Veja Também

  • xhprof_disable() - Stops xhprof profiler
  • xhprof_sample_enable() - Start XHProf profiling in sampling mode
  • memory_get_usage() - Retorna a quantidade de memória alocada para PHP
  • getrusage() - Obtém a utilização de recursos


Stops xhprof sample profiler

  • « xhprof_enable
  • xhprof_sample_enable »
  • PHP Manual
  • Xhprof Funções
  • Stops xhprof sample profiler

xhprof_sample_disable

(PECL xhprof >= 0.9.0)

xhprof_sample_disable — Stops xhprof sample profiler

Descrição

xhprof_sample_disable ( ) : array

Stops the sample mode xhprof profiler, and

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of xhprof sample data, from the run.

Exemplos

Exemplo #1 xhprof_sample_disable() example

<?php
xhprof_sample_enable();

for ($i = 0; $i <= 10000; $i++) {
    $a = strlen($i);
    $b = $i * $a;
    $c = rand();
}

$xhprof_data = xhprof_sample_disable();

print_r($xhprof_data);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [1272935300.800000] => main()
    [1272935300.900000] => main()
)


Start XHProf profiling in sampling mode

  • « xhprof_sample_disable
  • Yac »
  • PHP Manual
  • Xhprof Funções
  • Start XHProf profiling in sampling mode

xhprof_sample_enable

(PECL xhprof >= 0.9.0)

xhprof_sample_enable — Start XHProf profiling in sampling mode

Descrição

xhprof_sample_enable ( ) : void

Starts profiling in sample mode, which is a lighter weight version of xhprof_enable(). The sampling interval is 0.1 seconds, and samples record the full function call stack. The main use case is when lower overhead is required when doing performance monitoring and diagnostics.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

null

Veja Também

  • xhprof_sample_disable() - Stops xhprof sample profiler
  • xhprof_enable() - Start xhprof profiler
  • memory_get_usage() - Retorna a quantidade de memória alocada para PHP
  • getrusage() - Obtém a utilização de recursos


Yac

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Yac — The Yac class
    • Yac::add — Store into cache
    • Yac::__construct — Constructor
    • Yac::delete — Remove items from cache
    • Yac::dump — Dump cache
    • Yac::flush — Flush the cache
    • Yac::get — Retrieve values from cache
    • Yac::__get — Getter
    • Yac::info — Status of cache
    • Yac::set — Store into cache
    • Yac::__set — Setter


Introdução

Yac (Yet Another cache), is a lock-free, shared memory user data cache, could be used to replace APC, local memcache.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/yac.

Windows binaries (DLL files) for this PECL extension are available from the PECL website.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Yac Opções de Configuração
Nome | Padrão | Modificável | Changelog
yac.compress_threshold | -1 | PHP_INI_SYSTEM |
yac.debug | 0 | PHP_INI_ALL |
yac.enable | 1 | PHP_INI_SYSTEM |
yac.enable_cli | 0 | PHP_INI_SYSTEM |
yac.keys_memory_size | 4M | PHP_INI_SYSTEM |
yac.serializer | php | PHP_INI_SYSTEM |
yac.values_memory_size | 64M | PHP_INI_SYSTEM |

Uma rápida explicação das diretivas de configuração.

yac.compress_threshold int

yac.debug int

yac.enable int

yac.enable_cli int

yac.keys_memory_size string

yac.serializer string

yac.values_memory_size string


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

YAC_VERSION (string)
YAC_MAX_KEY_LEN (int)
Max length of a key could be, it is 48 bytes.
YAC_MAX_VALUE_RAW_LEN (int)
YAC_MAX_RAW_COMPRESSED_LEN (int)
YAC_SERIALIZER_PHP (int)
Use php serialize as serializer
YAC_SERIALIZER_JSON (int)
Use json as serializer(requrie --enable-json)
YAC_SERIALIZER_IGBINARY (int)
Use igbinary as serializer(require --enable-igbinary)
YAC_SERIALIZER_MSGPACK (int)
Use msgpack as serializer(require --enable-msgpack)
YAC_SERIALIZER (string)
Which serialzier is yac used


The Yac class

(PECL yac >= 1.0.0)

Introdução

Sinopse da classe

Yac {
/* Propriedades */
protected $_prefix ;
/* Métodos */
public __construct ( string $prefix = "" )
public add ( string $keys , mixed $value , int $ttl = 0 ) : bool
public add ( array $key_vals ) : bool
public delete ( string|array $keys , int $ttl = ? ) : bool
public dump ( int $$num ) : mixed
public flush ( ) : bool
public get ( string|array $key , int &$cas = null ) : mixed
public __get ( string $key ) : mixed
public info ( ) : array
public set ( string $keys , mixed $value , int $ttl = 0 ) : bool
public add ( array $key_vals ) : bool
public __set ( string $keys , mixed $value ) : mixed
}

Propriedades

_prefix

Índice

  • Yac::add — Store into cache
  • Yac::__construct — Constructor
  • Yac::delete — Remove items from cache
  • Yac::dump — Dump cache
  • Yac::flush — Flush the cache
  • Yac::get — Retrieve values from cache
  • Yac::__get — Getter
  • Yac::info — Status of cache
  • Yac::set — Store into cache
  • Yac::__set — Setter


Store into cache

  • « Yac
  • Yac::__construct »
  • PHP Manual
  • Yac
  • Store into cache

Yac::add

(PECL yac >= 1.0.0)

Yac::add — Store into cache

Descrição

public Yac::add ( string $keys , mixed $value , int $ttl = 0 ) : bool
public Yac::add ( array $key_vals ) : bool

Added a item into cache.

Parâmetros

keys

string key

value

mixed value, All php value type could be stored except resource

ttl

expire time

Valor Retornado

bool, true on success, false on failure

Nota:

Yac::add() may fail if cas lock could not obtain, so, if you need the value to be stored properly, you may write codes like:

Exemplo #1 Make sure the item is stored

while(!$yac->set("key", "vale));


Constructor

  • « Yac::add
  • Yac::delete »
  • PHP Manual
  • Yac
  • Constructor

Yac::__construct

(PECL yac >= 1.0.0)

Yac::__construct — Constructor

Descrição

public Yac::__construct ( string $prefix = "" )

prefix is used to prepended to keys, this could be used to avoiding conflicts between apps.

Parâmetros

prefix

string prefix


Remove items from cache

  • « Yac::__construct
  • Yac::dump »
  • PHP Manual
  • Yac
  • Remove items from cache

Yac::delete

(PECL yac >= 1.0.0)

Yac::delete — Remove items from cache

Descrição

public Yac::delete ( string|array $keys , int $ttl = ? ) : bool

remove items from cache

Parâmetros

keys

string key, or array of multiple keys to be removed

ttl

if delay is set, delete will mark the items to be invalid in ttl second.

Valor Retornado


Dump cache

  • « Yac::delete
  • Yac::flush »
  • PHP Manual
  • Yac
  • Dump cache

Yac::dump

(PECL yac >= 1.0.0)

Yac::dump — Dump cache

Descrição

public Yac::dump ( int $$num ) : mixed

Dump values stored in cache

Parâmetros

num

Maximum number of items should be returned

Valor Retornado

mixed


Flush the cache

  • « Yac::dump
  • Yac::get »
  • PHP Manual
  • Yac
  • Flush the cache

Yac::flush

(PECL yac >= 1.0.0)

Yac::flush — Flush the cache

Descrição

public Yac::flush ( ) : bool

Remove all cached values

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

bool, always true


Retrieve values from cache

  • « Yac::flush
  • Yac::__get »
  • PHP Manual
  • Yac
  • Retrieve values from cache

Yac::get

(PECL yac >= 1.0.0)

Yac::get — Retrieve values from cache

Descrição

public Yac::get ( string|array $key , int &$cas = null ) : mixed

Retrieve values from cache

Parâmetros

key

string keys, or array of multiple keys.

cas

if not null, it will be set to the retrieved item's cas.

Valor Retornado

mixed on success, false on failure


Getter

  • « Yac::get
  • Yac::info »
  • PHP Manual
  • Yac
  • Getter

Yac::__get

(PECL yac >= 1.0.0)

Yac::__get — Getter

Descrição

public Yac::__get ( string $key ) : mixed

Retrieve values from cache

Parâmetros

key

string key

Valor Retornado

mixed on success, null on failure


Status of cache

  • « Yac::__get
  • Yac::set »
  • PHP Manual
  • Yac
  • Status of cache

Yac::info

(PECL yac >= 1.0.0)

Yac::info — Status of cache

Descrição

public Yac::info ( ) : array

Get status of cache system

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return an array, consistent with: "memory_size", "slots_memory_size", "values_memory_size", "segment_size", "segment_num", "miss", "hits", "fails", "kicks", "recycles", "slots_size", "slots_used"


Store into cache

  • « Yac::info
  • Yac::__set »
  • PHP Manual
  • Yac
  • Store into cache

Yac::set

(PECL yac >= 1.0.0)

Yac::set — Store into cache

Descrição

public Yac::set ( string $keys , mixed $value , int $ttl = 0 ) : bool
public Yac::add ( array $key_vals ) : bool

Add a item into cache, it the key is already exists, override it.

Parâmetros

keys

string key

value

mixed value, All php value type could be stored except resource

ttl

expire time

Valor Retornado

the value self


Setter

  • « Yac::set
  • Manipulação de Formatos de Audio »
  • PHP Manual
  • Yac
  • Setter

Yac::__set

(PECL yac >= 1.0.0)

Yac::__set — Setter

Descrição

public Yac::__set ( string $keys , mixed $value ) : mixed

store a item into cache

Parâmetros

keys

string key

value

mixed value, All php value type could be stored except resource

Valor Retornado

Always return the value self


Manipulação de Formatos de Audio

  • OpenAL — OpenAL Audio Bindings
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • OpenAL Funções


OpenAL Audio Bindings

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • OpenAL Funções
    • openal_buffer_create — Generate OpenAL buffer
    • openal_buffer_data — Load a buffer with data
    • openal_buffer_destroy — Destroys an OpenAL buffer
    • openal_buffer_get — Retrieve an OpenAL buffer property
    • openal_buffer_loadwav — Load a .wav file into a buffer
    • openal_context_create — Create an audio processing context
    • openal_context_current — Make the specified context current
    • openal_context_destroy — Destroys a context
    • openal_context_process — Process the specified context
    • openal_context_suspend — Suspend the specified context
    • openal_device_close — Close an OpenAL device
    • openal_device_open — Initialize the OpenAL audio layer
    • openal_listener_get — Retrieve a listener property
    • openal_listener_set — Set a listener property
    • openal_source_create — Generate a source resource
    • openal_source_destroy — Destroy a source resource
    • openal_source_get — Retrieve an OpenAL source property
    • openal_source_pause — Pause the source
    • openal_source_play — Start playing the source
    • openal_source_rewind — Rewind the source
    • openal_source_set — Set source property
    • openal_source_stop — Stop playing the source
    • openal_stream — Begin streaming on a source


  • « OpenAL
  • Instalação/Configuração »
  • PHP Manual
  • OpenAL
  • Introdução

Introdução

Platform independent audio bindings. Requires the » OpenAL library.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/openal.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


  • « Instalação
  • Tipos de Recurso »
  • PHP Manual
  • Instalação/Configuração
  • Configurações em Execução

Configurações em Execução

Esta extensão não possui diretivas de configuração definíveis no php.ini.


Tipos de Recurso

This extension defines four resource types:
Open AL(Device) - Returned by openal_device_open(),
Open AL(Context) - Returned by openal_context_create(),
Open AL(Buffer) - Returned by openal_buffer_create(),
and Open AL(Source) - Returned by openal_source_create().


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

ALC_FREQUENCY (int)
Context Attribute
ALC_REFRESH (int)
Context Attribute
ALC_SYNC (int)
Context Attribute
AL_FREQUENCY (int)
Buffer Setting
AL_BITS (int)
Buffer Setting
AL_CHANNELS (int)
Buffer Setting
AL_SIZE (int)
Buffer Setting
AL_BUFFER (int)
Source/Listener Setting (Integer)
AL_SOURCE_RELATIVE (int)
Source/Listener Setting (Integer)
AL_SOURCE_STATE (int)
Source/Listener Setting (Integer)
AL_PITCH (int)
Source/Listener Setting (Float)
AL_GAIN (int)
Source/Listener Setting (Float)
AL_MIN_GAIN (int)
Source/Listener Setting (Float)
AL_MAX_GAIN (int)
Source/Listener Setting (Float)
AL_MAX_DISTANCE (int)
Source/Listener Setting (Float)
AL_ROLLOFF_FACTOR (int)
Source/Listener Setting (Float)
AL_CONE_OUTER_GAIN (int)
Source/Listener Setting (Float)
AL_CONE_INNER_ANGLE (int)
Source/Listener Setting (Float)
AL_CONE_OUTER_ANGLE (int)
Source/Listener Setting (Float)
AL_REFERENCE_DISTANCE (int)
Source/Listener Setting (Float)
AL_POSITION (int)
Source/Listener Setting (Float Vector)
AL_VELOCITY (int)
Source/Listener Setting (Float Vector)
AL_DIRECTION (int)
Source/Listener Setting (Float Vector)
AL_ORIENTATION (int)
Source/Listener Setting (Float Vector)
AL_FORMAT_MONO8 (int)
PCM Format
AL_FORMAT_MONO16 (int)
PCM Format
AL_FORMAT_STEREO8 (int)
PCM Format
AL_FORMAT_STEREO16 (int)
PCM Format
AL_INITIAL (int)
Source State
AL_PLAYING (int)
Source State
AL_PAUSED (int)
Source State
AL_STOPPED (int)
Source State
AL_LOOPING (int)
Source State
AL_TRUE (int)
Boolean value recognized by OpenAL
AL_FALSE (int)
Boolean value recognized by OpenAL


OpenAL Funções

Índice

  • openal_buffer_create — Generate OpenAL buffer
  • openal_buffer_data — Load a buffer with data
  • openal_buffer_destroy — Destroys an OpenAL buffer
  • openal_buffer_get — Retrieve an OpenAL buffer property
  • openal_buffer_loadwav — Load a .wav file into a buffer
  • openal_context_create — Create an audio processing context
  • openal_context_current — Make the specified context current
  • openal_context_destroy — Destroys a context
  • openal_context_process — Process the specified context
  • openal_context_suspend — Suspend the specified context
  • openal_device_close — Close an OpenAL device
  • openal_device_open — Initialize the OpenAL audio layer
  • openal_listener_get — Retrieve a listener property
  • openal_listener_set — Set a listener property
  • openal_source_create — Generate a source resource
  • openal_source_destroy — Destroy a source resource
  • openal_source_get — Retrieve an OpenAL source property
  • openal_source_pause — Pause the source
  • openal_source_play — Start playing the source
  • openal_source_rewind — Rewind the source
  • openal_source_set — Set source property
  • openal_source_stop — Stop playing the source
  • openal_stream — Begin streaming on a source


Generate OpenAL buffer

  • « OpenAL Funções
  • openal_buffer_data »
  • PHP Manual
  • OpenAL Funções
  • Generate OpenAL buffer

openal_buffer_create

(PECL openal >= 0.1.0)

openal_buffer_create — Generate OpenAL buffer

Descrição

openal_buffer_create ( ) : resource

Valor Retornado

Returns an Open AL(Buffer) resource on success or false on failure.

Veja Também

  • openal_buffer_loadwav() - Load a .wav file into a buffer
  • openal_buffer_data() - Load a buffer with data


Load a buffer with data

  • « openal_buffer_create
  • openal_buffer_destroy »
  • PHP Manual
  • OpenAL Funções
  • Load a buffer with data

openal_buffer_data

(PECL openal >= 0.1.0)

openal_buffer_data — Load a buffer with data

Descrição

openal_buffer_data ( resource $buffer , int $format , string $data , int $freq ) : bool

Parâmetros

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

format

Format of data, one of: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 e AL_FORMAT_STEREO16

data

Block of binary audio data in the format and freq specified.

freq

Frequency of data given in Hz.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_buffer_loadwav() - Load a .wav file into a buffer
  • openal_stream() - Begin streaming on a source


Destroys an OpenAL buffer

  • « openal_buffer_data
  • openal_buffer_get »
  • PHP Manual
  • OpenAL Funções
  • Destroys an OpenAL buffer

openal_buffer_destroy

(PECL openal >= 0.1.0)

openal_buffer_destroy — Destroys an OpenAL buffer

Descrição

openal_buffer_destroy ( resource $buffer ) : bool

Parâmetros

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_buffer_create() - Generate OpenAL buffer


Retrieve an OpenAL buffer property

  • « openal_buffer_destroy
  • openal_buffer_loadwav »
  • PHP Manual
  • OpenAL Funções
  • Retrieve an OpenAL buffer property

openal_buffer_get

(PECL openal >= 0.1.0)

openal_buffer_get — Retrieve an OpenAL buffer property

Descrição

openal_buffer_get ( resource $buffer , int $property ) : int|false

Parâmetros

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

property

Specific property, one of: AL_FREQUENCY, AL_BITS, AL_CHANNELS e AL_SIZE.

Valor Retornado

Returns an integer value appropriate to the property requested ou false em caso de falha.

Veja Também

  • openal_buffer_create() - Generate OpenAL buffer


Load a .wav file into a buffer

  • « openal_buffer_get
  • openal_context_create »
  • PHP Manual
  • OpenAL Funções
  • Load a .wav file into a buffer

openal_buffer_loadwav

(PECL openal >= 0.1.0)

openal_buffer_loadwav — Load a .wav file into a buffer

Descrição

openal_buffer_loadwav ( resource $buffer , string $wavfile ) : bool

Parâmetros

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

wavfile

Path to .wav file on local file system.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_buffer_data() - Load a buffer with data
  • openal_stream() - Begin streaming on a source


Create an audio processing context

  • « openal_buffer_loadwav
  • openal_context_current »
  • PHP Manual
  • OpenAL Funções
  • Create an audio processing context

openal_context_create

(PECL openal >= 0.1.0)

openal_context_create — Create an audio processing context

Descrição

openal_context_create ( resource $device ) : resource

Parâmetros

device

An Open AL(Device) resource (previously created by openal_device_open()).

Valor Retornado

Returns an Open AL(Context) resource on success or false on failure.

Veja Também

  • openal_device_open() - Initialize the OpenAL audio layer
  • openal_context_destroy() - Destroys a context


Make the specified context current

  • « openal_context_create
  • openal_context_destroy »
  • PHP Manual
  • OpenAL Funções
  • Make the specified context current

openal_context_current

(PECL openal >= 0.1.0)

openal_context_current — Make the specified context current

Descrição

openal_context_current ( resource $context ) : bool

Parâmetros

context

An Open AL(Context) resource (previously created by openal_context_create()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_context_create() - Create an audio processing context


Destroys a context

  • « openal_context_current
  • openal_context_process »
  • PHP Manual
  • OpenAL Funções
  • Destroys a context

openal_context_destroy

(PECL openal >= 0.1.0)

openal_context_destroy — Destroys a context

Descrição

openal_context_destroy ( resource $context ) : bool

Parâmetros

context

An Open AL(Context) resource (previously created by openal_context_create()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_context_create() - Create an audio processing context


Process the specified context

  • « openal_context_destroy
  • openal_context_suspend »
  • PHP Manual
  • OpenAL Funções
  • Process the specified context

openal_context_process

(PECL openal >= 0.1.0)

openal_context_process — Process the specified context

Descrição

openal_context_process ( resource $context ) : bool

Parâmetros

context

An Open AL(Context) resource (previously created by openal_context_create()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_context_create() - Create an audio processing context
  • openal_context_current() - Make the specified context current
  • openal_context_suspend() - Suspend the specified context


Suspend the specified context

  • « openal_context_process
  • openal_device_close »
  • PHP Manual
  • OpenAL Funções
  • Suspend the specified context

openal_context_suspend

(PECL openal >= 0.1.0)

openal_context_suspend — Suspend the specified context

Descrição

openal_context_suspend ( resource $context ) : bool

Parâmetros

context

An Open AL(Context) resource (previously created by openal_context_create()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_context_create() - Create an audio processing context
  • openal_context_current() - Make the specified context current
  • openal_context_process() - Process the specified context


Close an OpenAL device

  • « openal_context_suspend
  • openal_device_open »
  • PHP Manual
  • OpenAL Funções
  • Close an OpenAL device

openal_device_close

(PECL openal >= 0.1.0)

openal_device_close — Close an OpenAL device

Descrição

openal_device_close ( resource $device ) : bool

Parâmetros

device

An Open AL(Device) resource (previously created by openal_device_open()) to be closed.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_device_open() - Initialize the OpenAL audio layer


Initialize the OpenAL audio layer

  • « openal_device_close
  • openal_listener_get »
  • PHP Manual
  • OpenAL Funções
  • Initialize the OpenAL audio layer

openal_device_open

(PECL openal >= 0.1.0)

openal_device_open — Initialize the OpenAL audio layer

Descrição

openal_device_open ( string $device_desc = ? ) : resource

Parâmetros

device_desc

Open an audio device optionally specified by device_desc. If device_desc is not specified the first available audio device will be used.

Valor Retornado

Returns an Open AL(Device) resource on success or false on failure.

Veja Também

  • openal_device_close() - Close an OpenAL device
  • openal_context_create() - Create an audio processing context


Retrieve a listener property

  • « openal_device_open
  • openal_listener_set »
  • PHP Manual
  • OpenAL Funções
  • Retrieve a listener property

openal_listener_get

(PECL openal >= 0.1.0)

openal_listener_get — Retrieve a listener property

Descrição

openal_listener_get ( int $property ) : mixed

Parâmetros

property

Property to retrieve, one of:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)) e
AL_ORIENTATION (array(float,float,float)).

Valor Retornado

Returns a float or array of floats (as appropriate) ou false em caso de falha.

Veja Também

  • openal_listener_set() - Set a listener property


Set a listener property

  • « openal_listener_get
  • openal_source_create »
  • PHP Manual
  • OpenAL Funções
  • Set a listener property

openal_listener_set

(PECL openal >= 0.1.0)

openal_listener_set — Set a listener property

Descrição

openal_listener_set ( int $property , mixed $setting ) : bool

Parâmetros

property

Property to set, one of:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)) e
AL_ORIENTATION (array(float,float,float)).

setting

Value to set, either float, or an array of floats as appropriate.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_listener_get() - Retrieve a listener property


Generate a source resource

  • « openal_listener_set
  • openal_source_destroy »
  • PHP Manual
  • OpenAL Funções
  • Generate a source resource

openal_source_create

(PECL openal >= 0.1.0)

openal_source_create — Generate a source resource

Descrição

openal_source_create ( ) : resource

Valor Retornado

Returns an Open AL(Source) resource on success or false on failure.

Veja Também

  • openal_source_set() - Set source property
  • openal_source_play() - Start playing the source
  • openal_source_destroy() - Destroy a source resource


Destroy a source resource

  • « openal_source_create
  • openal_source_get »
  • PHP Manual
  • OpenAL Funções
  • Destroy a source resource

openal_source_destroy

(PECL openal >= 0.1.0)

openal_source_destroy — Destroy a source resource

Descrição

openal_source_destroy ( resource $source ) : bool

Parâmetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_source_create() - Generate a source resource


Retrieve an OpenAL source property

  • « openal_source_destroy
  • openal_source_pause »
  • PHP Manual
  • OpenAL Funções
  • Retrieve an OpenAL source property

openal_source_get

(PECL openal >= 0.1.0)

openal_source_get — Retrieve an OpenAL source property

Descrição

openal_source_get ( resource $source , int $property ) : mixed

Parâmetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

property

Property to get, one of: AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

Valor Retornado

Returns the type associated with the property being retrieved ou false em caso de falha.

Veja Também

  • openal_source_create() - Generate a source resource
  • openal_source_set() - Set source property
  • openal_source_play() - Start playing the source


Pause the source

  • « openal_source_get
  • openal_source_play »
  • PHP Manual
  • OpenAL Funções
  • Pause the source

openal_source_pause

(PECL openal >= 0.1.0)

openal_source_pause — Pause the source

Descrição

openal_source_pause ( resource $source ) : bool

Parâmetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_source_stop() - Stop playing the source
  • openal_source_play() - Start playing the source
  • openal_source_rewind() - Rewind the source


Start playing the source

  • « openal_source_pause
  • openal_source_rewind »
  • PHP Manual
  • OpenAL Funções
  • Start playing the source

openal_source_play

(PECL openal >= 0.1.0)

openal_source_play — Start playing the source

Descrição

openal_source_play ( resource $source ) : bool

Parâmetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_source_stop() - Stop playing the source
  • openal_source_pause() - Pause the source
  • openal_source_rewind() - Rewind the source


Rewind the source

  • « openal_source_play
  • openal_source_set »
  • PHP Manual
  • OpenAL Funções
  • Rewind the source

openal_source_rewind

(PECL openal >= 0.1.0)

openal_source_rewind — Rewind the source

Descrição

openal_source_rewind ( resource $source ) : bool

Parâmetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_source_stop() - Stop playing the source
  • openal_source_pause() - Pause the source
  • openal_source_play() - Start playing the source


Set source property

  • « openal_source_rewind
  • openal_source_stop »
  • PHP Manual
  • OpenAL Funções
  • Set source property

openal_source_set

(PECL openal >= 0.1.0)

openal_source_set — Set source property

Descrição

openal_source_set ( resource $source , int $property , mixed $setting ) : bool

Parâmetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

property

Property to set, one of: AL_BUFFER (OpenAL(Source)), AL_LOOPING (bool), AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

setting

Value to assign to specified property. Refer to the description of property for a description of the value(s) expected.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_source_create() - Generate a source resource
  • openal_source_get() - Retrieve an OpenAL source property
  • openal_source_play() - Start playing the source


Stop playing the source

  • « openal_source_set
  • openal_stream »
  • PHP Manual
  • OpenAL Funções
  • Stop playing the source

openal_source_stop

(PECL openal >= 0.1.0)

openal_source_stop — Stop playing the source

Descrição

openal_source_stop ( resource $source ) : bool

Parâmetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • openal_source_play() - Start playing the source
  • openal_source_pause() - Pause the source
  • openal_source_rewind() - Rewind the source


Begin streaming on a source

  • « openal_source_stop
  • Serviços de Autenticação »
  • PHP Manual
  • OpenAL Funções
  • Begin streaming on a source

openal_stream

(PECL openal >= 0.1.0)

openal_stream — Begin streaming on a source

Descrição

openal_stream ( resource $source , int $format , int $rate ) : resource|false

Parâmetros

source

An Open AL(Source) resource (previously created by openal_source_create()).

format

Format of data, one of: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 e AL_FORMAT_STEREO16

rate

Frequency of data to stream given in Hz.

Valor Retornado

Returns a stream resource on success ou false em caso de falha.

Veja Também

  • openal_source_create() - Generate a source resource
  • fwrite() - Escrita binary-safe em arquivos


Serviços de Autenticação

  • Radius
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Radius Funções


Radius

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
    • RADIUS Options
    • RADIUS Packet Types
    • RADIUS Attribute Types
    • RADIUS Vendor Specific Attribute Types
  • Exemplos
  • Radius Funções
    • radius_acct_open — Creates a Radius handle for accounting
    • radius_add_server — Adds a server
    • radius_auth_open — Creates a Radius handle for authentication
    • radius_close — Frees all ressources
    • radius_config — Causes the library to read the given configuration file
    • radius_create_request — Create accounting or authentication request
    • radius_cvt_addr — Converts raw data to IP-Address
    • radius_cvt_int — Converts raw data to integer
    • radius_cvt_string — Converts raw data to string
    • radius_demangle_mppe_key — Derives mppe-keys from mangled data
    • radius_demangle — Demangles data
    • radius_get_attr — Extracts an attribute
    • radius_get_tagged_attr_data — Extracts the data from a tagged attribute
    • radius_get_tagged_attr_tag — Extracts the tag from a tagged attribute
    • radius_get_vendor_attr — Extracts a vendor specific attribute
    • radius_put_addr — Attaches an IP address attribute
    • radius_put_attr — Attaches a binary attribute
    • radius_put_int — Attaches an integer attribute
    • radius_put_string — Attaches a string attribute
    • radius_put_vendor_addr — Attaches a vendor specific IP address attribute
    • radius_put_vendor_attr — Attaches a vendor specific binary attribute
    • radius_put_vendor_int — Attaches a vendor specific integer attribute
    • radius_put_vendor_string — Attaches a vendor specific string attribute
    • radius_request_authenticator — Returns the request authenticator
    • radius_salt_encrypt_attr — Salt-encrypts a value
    • radius_send_request — Sends the request and waits for a reply
    • radius_server_secret — Returns the shared secret
    • radius_strerror — Returns an error message


Introdução

This package is based on the libradius (Remote Authentication Dial In User Service) of FreeBSD. It allows clients to perform authentication and accounting by means of network requests to remote servers.

This PECL extension adds full support for Radius Authentication (» RFC 2865) and Radius Accounting (» RFC 2866). This package is available for Unix (tested on FreeBSD and Linux) and for Windows.

Nota:

An exact description for libradius can be found » here. A detailed description of the configuration file can be found » here.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/radius.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


Constantes pré-definidas

Índice

  • RADIUS Options
  • RADIUS Packet Types
  • RADIUS Attribute Types
  • RADIUS Vendor Specific Attribute Types

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

RADIUS_MPPE_KEY_LEN (int)
The maximum length of MPPE keys.


RADIUS Options

Several RADIUS functions accept option flags as bitmasks. The constants representing those flags are listed below.

RADIUS_OPTION_SALT (int)

When set, this option will result in the attribute value being salt-encrypted.

RADIUS_OPTION_TAGGED (int)

When set, this option will result in the attribute value being tagged with the value of the tag parameter.


RADIUS Packet Types

RADIUS packets, whether requests or responses, always include a type. These constants are provided to make it easier to specify types when using radius_create_request() and when comparing the result of radius_send_request().

RADIUS_ACCESS_REQUEST (int)

An Access-Request, used to authenticate a user against a RADIUS server. Access request packets must include a RADIUS_NAS_IP_ADDRESS or a RADIUS_NAS_IDENTIFIER attribute, must also include a RADIUS_USER_PASSWORD, RADIUS_CHAP_PASSWORD or a RADIUS_STATE attribute, and should include a RADIUS_USER_NAME attribute.

RADIUS_ACCESS_ACCEPT (int)

An Access-Accept response to an Access-Request indicating that the RADIUS server authenticated the user successfully.

RADIUS_ACCESS_REJECT (int)

An Access-Reject response to an Access-Request indicating that the RADIUS server could not authenticate the user.

RADIUS_ACCESS_CHALLENGE (int)

An Access-Challenge response to an Access-Request indicating that the RADIUS server requires further information in another Access-Request before authenticating the user.

RADIUS_ACCOUNTING_REQUEST (int)

An Accounting-Request, used to convey accounting information for a service to the RADIUS server.

RADIUS_ACCOUNTING_RESPONSE (int)

An Accounting-Response response to an Accounting-Request.

RADIUS_COA_REQUEST (int)

A CoA-Request, sent from the RADIUS server to indicate that the authorisations within the user session have changed. A response must be sent in the form of a CoA-ACK or a CoA-NAK.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_COA_ACK (int)

A CoA-ACK, sent to the RADIUS server to indicate that the user authorisations have been updated.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_COA_NAK (int)

A CoA-NAK, sent to the RADIUS server to indicate that the user authorisations could not be updated.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_DISCONNECT_REQUEST (int)

A Disconnect-Request, sent from the RADIUS server to indicate that the user session must be terminated.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_DISCONNECT_ACK (int)

A Disconnect-ACK, sent to the RADIUS server to indicate that the user session has been terminated.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_DISCONNECT_NAK (int)

A Disconnect-NAK, sent to the RADIUS server to indicate that the user session could not be terminated.

This constant is available in PECL radius 1.3.0 and later.


RADIUS Attribute Types

These constants define RADIUS attribute types that can be used with
radius_put_addr(), radius_put_attr(),
radius_put_int() and
radius_put_string().

RADIUS_USER_NAME (int)

The User-Name attribute. The attribute value is expected to be a string containing the name of the user being authenticated, and can be set using radius_put_attr().

RADIUS_USER_PASSWORD (int)

The User-Password attribute. The attribute value is expected to be a string containing the user's password, and can be set using radius_put_attr(). This value will be obfuscated on transmission as described in » section 5.2 of RFC 2865.

RADIUS_CHAP_PASSWORD (int)

The Chap-Password attribute. The attribute value is expected to be a string with the first byte containing the CHAP identifier, and the subsequent 16 bytes containing the MD5 hash of the CHAP identifier, the plaintext password and the CHAP challenge value concatenated together. Note that the CHAP challenge value should also be sent separately in a RADIUS_CHAP_CHALLENGE attribute.

Exemplo #1 Using CHAP passwords

<?php
// Firstly, we'll create an authentication handle and request.
$radh = radius_auth_open();
radius_add_server($radh, $server, $port, $secret, 3, 3);
radius_create_request($radh, RADIUS_ACCESS_REQUEST);

// Assuming $password contains the plaintext password, we now:

// Generate a challenge.
$challenge = mt_rand();

// Specify a CHAP identifier.
$ident = 1;

// Add the Chap-Password attribute.
$cp = md5(pack('Ca*', $ident, $password.$challenge), true);
radius_put_attr($radh, RADIUS_CHAP_PASSWORD, pack('C', $ident).$cp);

// Add the Chap-Challenge attribute.
radius_put_attr($radh, RADIUS_CHAP_CHALLENGE, $challenge);

/* From here, you would add the remaining attributes and
 * call radius_send_request(). */
?>

RADIUS_NAS_IP_ADDRESS (int)

The NAS-IP-Address attribute. The attribute value is expected to the IP address of the RADIUS client encoded as an int, which can be set using radius_put_addr().

RADIUS_NAS_PORT (int)

The NAS-Port attribute. The attribute value is expected to be the physical port of the user on the RADIUS client encoded as an int, which can be set using radius_put_int().

RADIUS_SERVICE_TYPE (int)

The Service-Type attribute. The attribute value indicates the service type the user is requesting, and is expected to be an int, which can be set using radius_put_int().

A number of constants are provided to represent the possible values of this attribute. They include:

  • RADIUS_LOGIN
  • RADIUS_FRAMED
  • RADIUS_CALLBACK_LOGIN
  • RADIUS_CALLBACK_FRAMED
  • RADIUS_OUTBOUND
  • RADIUS_ADMINISTRATIVE
  • RADIUS_NAS_PROMPT
  • RADIUS_AUTHENTICATE_ONLY
  • RADIUS_CALLBACK_NAS_PROMPT

RADIUS_FRAMED_PROTOCOL (int)

The Framed-Protocol attribute. The attribute value is expected to be an int indicating the framing to be used for framed access, and can be set using radius_put_int(). The possible attribute values include these constants:

  • RADIUS_PPP
  • RADIUS_SLIP
  • RADIUS_ARAP
  • RADIUS_GANDALF
  • RADIUS_XYLOGICS

RADIUS_FRAMED_IP_ADDRESS (int)

The Framed-IP-Address attribute. The attribute value is expected to be the address of the user's network encoded as an int, which can be set using radius_put_addr() and retrieved using radius_cvt_addr().

RADIUS_FRAMED_IP_NETMASK (int)

The Framed-IP-Netmask attribute. The attribute value is expected to be the netmask of the user's network encoded as an int, which can be set using radius_put_addr() and retrieved using radius_cvt_addr().

RADIUS_FRAMED_ROUTING (int)

The Framed-Routing attribute. The attribute value is expected to be an int indicating the routing method for the user, which can be set using radius_put_int().

Possible values include:

  • 0: No routing
  • 1: Send routing packets
  • 2: Listen for routing packets
  • 3: Send and listen

RADIUS_FILTER_ID (int)

The Filter-ID attribute. The attribute value is expected to be an implementation-specific, human-readable string of filters, which can be set using radius_put_attr().

RADIUS_FRAMED_MTU (int)

The Framed-MTU attribute. The attribute value is expected to be an int indicating the MTU to be configured for the user, and can be set using radius_put_int().

RADIUS_FRAMED_COMPRESSION (int)

The Framed-Compression attribute. The attribute value is expected to be an int indicating the compression protocol to be used, and can be set using radius_put_int(). Possible values include these constants:

  • RADIUS_COMP_NONE: No compression
  • RADIUS_COMP_VJ: VJ TCP/IP header compression
  • RADIUS_COMP_IPXHDR: IPX header compression
  • RADIUS_COMP_STAC_LZS: Stac-LZS compression (added in PECL radius 1.3.0b2)

RADIUS_LOGIN_IP_HOST (int)

The Login-IP-Host attribute. The attribute value is expected to the IP address to connect the user to, encoded as an int, which can be set using radius_put_addr().

RADIUS_LOGIN_SERVICE (int)

The Login-Service attribute. The attribute value is an int indicating the service to connect the user to on the login host. The value can be converted to a PHP integer via radius_cvt_int().

RADIUS_LOGIN_TCP_PORT (int)

The Login-TCP-Port attribute. The attribute value is an int indicating the port to connect the user to on the login host. The value can be converted to a PHP integer via radius_cvt_int().

RADIUS_REPLY_MESSAGE (int)

The Reply-Message attribute. The attribute value is a string containing text that may be displayed to the user in response to an access request.

RADIUS_CALLBACK_NUMBER (int)

The Callback-Number attribute. The attribute value is a string containing the dialing string to use for callback.

RADIUS_CALLBACK_ID (int)

The Callback-Id attribute. The attribute value is a string containing an implementation-specific name of the place to be called.

RADIUS_FRAMED_ROUTE (int)

The Framed-Route attribute. The attribute value is a string containing an implementation-specific set of routes to be configured for the user.

RADIUS_FRAMED_IPX_NETWORK (int)

The Framed-IPX-Network attribute. The attribute value is an int containing the IPX network to be configured for the user, or 0xFFFFFFFE to indicate that the RADIUS client should select the network, and can be accessed via radius_cvt_int().

RADIUS_STATE (int)

The State attribute. The attribute value is an implementation-defined string included in an Access-Challenge from a server that must be included in the subsequent Access-Request, and can be set using radius_put_attr().

RADIUS_CLASS (int)

The Class attribute. The attribute value is an arbitrary string included in an Access-Accept message that should then be sent to the accounting server in Accounting-Request messages, and can be set using radius_put_attr().

RADIUS_VENDOR_SPECIFIC (int)

The Vendor-Specific attribute. In general, vendor attribute values
should be set using radius_put_vendor_addr(),
radius_put_vendor_attr(),
radius_put_vendor_int() and
radius_put_vendor_string(), rather than directly.

This constant is mostly useful when interpreting vendor specific attributes in responses from a RADIUS server; when a vendor specific attribute is received, the radius_get_vendor_attr() function should be used to access the vendor ID, attribute type and attribute value.

RADIUS_SESSION_TIMEOUT (int)

Session timeout

RADIUS_IDLE_TIMEOUT (int)

Idle timeout

RADIUS_TERMINATION_ACTION (int)

Termination action

RADIUS_CALLED_STATION_ID (int)

Called Station Id

RADIUS_CALLING_STATION_ID (int)

Calling Station Id

RADIUS_NAS_IDENTIFIER (int)

NAS ID

RADIUS_PROXY_STATE (int)

Proxy State

RADIUS_LOGIN_LAT_SERVICE (int)

Login LAT Service

RADIUS_LOGIN_LAT_NODE (int)

Login LAT Node

RADIUS_LOGIN_LAT_GROUP (int)

Login LAT Group

RADIUS_FRAMED_APPLETALK_LINK (int)

Framed Appletalk Link

RADIUS_FRAMED_APPLETALK_NETWORK (int)

Framed Appletalk Network

RADIUS_FRAMED_APPLETALK_ZONE (int)

Framed Appletalk Zone

RADIUS_CHAP_CHALLENGE (int)

Challenge

RADIUS_NAS_PORT_TYPE (int)

NAS port type, one of:

  • RADIUS_ASYNC
  • RADIUS_SYNC
  • RADIUS_ISDN_SYNC
  • RADIUS_ISDN_ASYNC_V120
  • RADIUS_ISDN_ASYNC_V110
  • RADIUS_VIRTUAL
  • RADIUS_PIAFS
  • RADIUS_HDLC_CLEAR_CHANNEL
  • RADIUS_X_25
  • RADIUS_X_75
  • RADIUS_G_3_FAX
  • RADIUS_SDSL
  • RADIUS_ADSL_CAP
  • RADIUS_ADSL_DMT
  • RADIUS_IDSL
  • RADIUS_ETHERNET
  • RADIUS_XDSL
  • RADIUS_CABLE
  • RADIUS_WIRELESS_OTHER
  • RADIUS_WIRELESS_IEEE_802_11

RADIUS_PORT_LIMIT (int)

Port Limit

RADIUS_LOGIN_LAT_PORT (int)

Login LAT Port

RADIUS_CONNECT_INFO (int)

Connect info

RADIUS_ACCT_STATUS_TYPE (int)

Accounting status type, one of:

  • RADIUS_START
  • RADIUS_STOP
  • RADIUS_ACCOUNTING_ON
  • RADIUS_ACCOUNTING_OFF

RADIUS_ACCT_DELAY_TIME (int)

Accounting delay time

RADIUS_ACCT_INPUT_OCTETS (int)

Accounting input bytes

RADIUS_ACCT_OUTPUT_OCTETS (int)

Accounting output bytes

RADIUS_ACCT_SESSION_ID (int)

Accounting session ID

RADIUS_ACCT_AUTHENTIC (int)

Accounting authentic, one of:

  • RADIUS_AUTH_RADIUS
  • RADIUS_AUTH_LOCAL
  • RADIUS_AUTH_REMOTE

RADIUS_ACCT_SESSION_TIME (int)

Accounting session time

RADIUS_ACCT_INPUT_PACKETS (int)

Accounting input packets

RADIUS_ACCT_OUTPUT_PACKETS (int)

Accounting output packets

RADIUS_ACCT_TERMINATE_CAUSE (int)

Accounting terminate cause, one of:

  • RADIUS_TERM_USER_REQUEST
  • RADIUS_TERM_LOST_CARRIER
  • RADIUS_TERM_LOST_SERVICE
  • RADIUS_TERM_IDLE_TIMEOUT
  • RADIUS_TERM_SESSION_TIMEOUT
  • RADIUS_TERM_ADMIN_RESET
  • RADIUS_TERM_ADMIN_REBOOT
  • RADIUS_TERM_PORT_ERROR
  • RADIUS_TERM_NAS_ERROR
  • RADIUS_TERM_NAS_REQUEST
  • RADIUS_TERM_NAS_REBOOT
  • RADIUS_TERM_PORT_UNNEEDED
  • RADIUS_TERM_PORT_PREEMPTED
  • RADIUS_TERM_PORT_SUSPENDED
  • RADIUS_TERM_SERVICE_UNAVAILABLE
  • RADIUS_TERM_CALLBACK
  • RADIUS_TERM_USER_ERROR
  • RADIUS_TERM_HOST_REQUEST

RADIUS_ACCT_MULTI_SESSION_ID (int)

Accounting multi session ID

RADIUS_ACCT_LINK_COUNT (int)

Accounting link count


RADIUS Vendor Specific Attribute Types

RADIUS_VENDOR_MICROSOFT (int)

Microsoft specific vendor attributes (» RFC 2548), one of:

  • RADIUS_MICROSOFT_MS_CHAP_RESPONSE
  • RADIUS_MICROSOFT_MS_CHAP_ERROR
  • RADIUS_MICROSOFT_MS_CHAP_PW_1
  • RADIUS_MICROSOFT_MS_CHAP_PW_2
  • RADIUS_MICROSOFT_MS_CHAP_LM_ENC_PW
  • RADIUS_MICROSOFT_MS_CHAP_NT_ENC_PW
  • RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY
  • RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES
  • RADIUS_MICROSOFT_MS_RAS_VENDOR
  • RADIUS_MICROSOFT_MS_CHAP_DOMAIN
  • RADIUS_MICROSOFT_MS_CHAP_CHALLENGE
  • RADIUS_MICROSOFT_MS_CHAP_MPPE_KEYS
  • RADIUS_MICROSOFT_MS_BAP_USAGE
  • RADIUS_MICROSOFT_MS_LINK_UTILIZATION_THRESHOLD
  • RADIUS_MICROSOFT_MS_LINK_DROP_TIME_LIMIT
  • RADIUS_MICROSOFT_MS_MPPE_SEND_KEY
  • RADIUS_MICROSOFT_MS_MPPE_RECV_KEY
  • RADIUS_MICROSOFT_MS_RAS_VERSION
  • RADIUS_MICROSOFT_MS_OLD_ARAP_PASSWORD
  • RADIUS_MICROSOFT_MS_NEW_ARAP_PASSWORD
  • RADIUS_MICROSOFT_MS_ARAP_PASSWORD_CHANGE_REASON
  • RADIUS_MICROSOFT_MS_FILTER
  • RADIUS_MICROSOFT_MS_ACCT_AUTH_TYPE
  • RADIUS_MICROSOFT_MS_ACCT_EAP_TYPE
  • RADIUS_MICROSOFT_MS_CHAP2_RESPONSE
  • RADIUS_MICROSOFT_MS_CHAP2_SUCCESS
  • RADIUS_MICROSOFT_MS_CHAP2_PW
  • RADIUS_MICROSOFT_MS_PRIMARY_DNS_SERVER
  • RADIUS_MICROSOFT_MS_SECONDARY_DNS_SERVER
  • RADIUS_MICROSOFT_MS_PRIMARY_NBNS_SERVER
  • RADIUS_MICROSOFT_MS_SECONDARY_NBNS_SERVER
  • RADIUS_MICROSOFT_MS_ARAP_CHALLENGE


Exemplos

Howto start?

  • get a radius resource
  • configure the library
  • create the request
  • put attributes
  • send the request
  • receive attributes
  • close the radius resource (optional)
Take also a look at the examples in this package.

The package contains an example php script. This script demonstrates howto authenticate with radius using PAP or CHAP (md5). If you authenticate with Microsoft Radius servers then its not possible to use CHAP (md5). If you would like to authenticate with Microsoft Servers you have to use MS-CHAPv1 or MS-CHAPv2, but its more complicated, because you need md4, sha1 and des to generate the right data. The enclosed examples demonstrate all authentication-methods, including MS-CHAPv1 and MS-CHAPv2. To get the MS-CHAP to work you need the mcrypt and the mhash extension, starting with version 1.2 of the package, the mcrypt extension is no longer needed.


Radius Funções

Índice

  • radius_acct_open — Creates a Radius handle for accounting
  • radius_add_server — Adds a server
  • radius_auth_open — Creates a Radius handle for authentication
  • radius_close — Frees all ressources
  • radius_config — Causes the library to read the given configuration file
  • radius_create_request — Create accounting or authentication request
  • radius_cvt_addr — Converts raw data to IP-Address
  • radius_cvt_int — Converts raw data to integer
  • radius_cvt_string — Converts raw data to string
  • radius_demangle_mppe_key — Derives mppe-keys from mangled data
  • radius_demangle — Demangles data
  • radius_get_attr — Extracts an attribute
  • radius_get_tagged_attr_data — Extracts the data from a tagged attribute
  • radius_get_tagged_attr_tag — Extracts the tag from a tagged attribute
  • radius_get_vendor_attr — Extracts a vendor specific attribute
  • radius_put_addr — Attaches an IP address attribute
  • radius_put_attr — Attaches a binary attribute
  • radius_put_int — Attaches an integer attribute
  • radius_put_string — Attaches a string attribute
  • radius_put_vendor_addr — Attaches a vendor specific IP address attribute
  • radius_put_vendor_attr — Attaches a vendor specific binary attribute
  • radius_put_vendor_int — Attaches a vendor specific integer attribute
  • radius_put_vendor_string — Attaches a vendor specific string attribute
  • radius_request_authenticator — Returns the request authenticator
  • radius_salt_encrypt_attr — Salt-encrypts a value
  • radius_send_request — Sends the request and waits for a reply
  • radius_server_secret — Returns the shared secret
  • radius_strerror — Returns an error message


Creates a Radius handle for accounting

  • « Radius Funções
  • radius_add_server »
  • PHP Manual
  • Radius Funções
  • Creates a Radius handle for accounting

radius_acct_open

(PECL radius >= 1.1.0)

radius_acct_open — Creates a Radius handle for accounting

Descrição

radius_acct_open ( ) : resource

Valor Retornado

Returns a handle on success, false on error. This function only fails if insufficient memory is available.

Exemplos

Exemplo #1 radius_acct_open() example

<?php
$res = radius_acct_open ()
    or die ("Could not create handle");
print("Handle successfully created");
?>


Adds a server

  • « radius_acct_open
  • radius_auth_open »
  • PHP Manual
  • Radius Funções
  • Adds a server

radius_add_server

(PECL radius >= 1.1.0)

radius_add_server — Adds a server

Descrição

radius_add_server ( resource $radius_handle , string $hostname , int $port , string $secret , int $timeout , int $max_tries ) : bool

radius_add_server() may be called multiple times, and it may be used together with radius_config(). At most 10 servers may be specified. When multiple servers are given, they are tried in round-robin fashion until a valid response is received, or until each server's max_tries limit has been reached.

Parâmetros

radius_handle

hostname

The hostname parameter specifies the server host, either as a fully qualified domain name or as a dotted-quad IP address in text form.

port

The port specifies the UDP port to contact on the server. If port is given as 0, the library looks up the radius/udp or radacct/udp service in the network services database, and uses the port found there. If no entry is found, the library uses the standard Radius ports, 1812 for authentication and 1813 for accounting.

secret

The shared secret for the server host is passed to the secret parameter. The Radius protocol ignores all but the leading 128 bytes of the shared secret.

timeout

The timeout for receiving replies from the server is passed to the timeout parameter, in units of seconds.

max_tries

The maximum number of repeated requests to make before giving up is passed into the max_tries.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 radius_add_server() example

<?php
if (!radius_add_server($res, 'radius.example.com', 1812, 'testing123', 3, 3)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br>";
    exit;
}
?>

Veja Também

  • radius_config() - Causes the library to read the given configuration file


Creates a Radius handle for authentication

  • « radius_add_server
  • radius_close »
  • PHP Manual
  • Radius Funções
  • Creates a Radius handle for authentication

radius_auth_open

(PECL radius >= 1.1.0)

radius_auth_open — Creates a Radius handle for authentication

Descrição

radius_auth_open ( ) : resource

Valor Retornado

Returns a handle on success, false on error. This function only fails if insufficient memory is available.

Exemplos

Exemplo #1 radius_auth_open() example

<?php
$radh = radius_auth_open()
    or die ("Could not create handle");
echo "Handle successfully created";
?>


Frees all ressources

  • « radius_auth_open
  • radius_config »
  • PHP Manual
  • Radius Funções
  • Frees all ressources

radius_close

(PECL radius >= 1.1.0)

radius_close — Frees all ressources

Descrição

radius_close ( resource $radius_handle ) : bool

It is not needed to call this function because php frees all resources at the end of each request.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Causes the library to read the given configuration file

  • « radius_close
  • radius_create_request »
  • PHP Manual
  • Radius Funções
  • Causes the library to read the given configuration file

radius_config

(PECL radius >= 1.1.0)

radius_config — Causes the library to read the given configuration file

Descrição

radius_config ( resource $radius_handle , string $file ) : bool

Before issuing any Radius requests, the library must be made aware of the servers it can contact. The easiest way to configure the library is to call radius_config(). radius_config() causes the library to read a configuration file whose format is described in » radius.conf.

Parâmetros

radius_handle

file

The pathname of the configuration file is passed as the file argument to radius_config(). The library can also be configured programmatically by calls to radius_add_server().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • radius_add_server() - Adds a server


Create accounting or authentication request

  • « radius_config
  • radius_cvt_addr »
  • PHP Manual
  • Radius Funções
  • Create accounting or authentication request

radius_create_request

(PECL radius >= 1.1.0)

radius_create_request — Create accounting or authentication request

Descrição

radius_create_request ( resource $radius_handle , int $type ) : bool

A Radius request consists of a code specifying the kind of request, and zero or more attributes which provide additional information. To begin constructing a new request, call radius_create_request().

Nota: Attention: You must call this function, before you can put any attribute!

Parâmetros

radius_handle

type

Type is RADIUS_ACCESS_REQUEST or RADIUS_ACCOUNTING_REQUEST.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 radius_create_request() example

<?php
if (!radius_create_request($res, RADIUS_ACCESS_REQUEST)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Veja Também

  • radius_send_request() - Sends the request and waits for a reply


Converts raw data to IP-Address

  • « radius_create_request
  • radius_cvt_int »
  • PHP Manual
  • Radius Funções
  • Converts raw data to IP-Address

radius_cvt_addr

(PECL radius >= 1.1.0)

radius_cvt_addr — Converts raw data to IP-Address

Descrição

radius_cvt_addr ( string $data ) : string

Exemplos

Exemplo #1 radius_cvt_addr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_IP_ADDRESS:
        $ip = radius_cvt_addr($data);
        echo "IP: $ip<br>\n";
        break;

    case RADIUS_FRAMED_IP_NETMASK:
        $mask = radius_cvt_addr($data);
        echo "MASK: $mask<br>\n";
        break;
    }
}
?>

Veja Também

  • radius_cvt_int() - Converts raw data to integer
  • radius_cvt_string() - Converts raw data to string


Converts raw data to integer

  • « radius_cvt_addr
  • radius_cvt_string »
  • PHP Manual
  • Radius Funções
  • Converts raw data to integer

radius_cvt_int

(PECL radius >= 1.1.0)

radius_cvt_int — Converts raw data to integer

Descrição

radius_cvt_int ( string $data ) : int

Exemplos

Exemplo #1 radius_cvt_int() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_MTU:
        $mtu = radius_cvt_int($data);
        echo "MTU: $mtu<br>\n";
        break;
    }
}
?>

Veja Também

  • radius_cvt_addr() - Converts raw data to IP-Address
  • radius_cvt_string() - Converts raw data to string


Converts raw data to string

  • « radius_cvt_int
  • radius_demangle_mppe_key »
  • PHP Manual
  • Radius Funções
  • Converts raw data to string

radius_cvt_string

(PECL radius >= 1.1.0)

radius_cvt_string — Converts raw data to string

Descrição

radius_cvt_string ( string $data ) : string

Exemplos

Exemplo #1 radius_cvt_string() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FILTER_ID:
        $id = radius_cvt_string($data);
        echo "Filter ID: $id<br>\n";
        break;
    }
}
?>

Veja Também

  • radius_cvt_addr() - Converts raw data to IP-Address
  • radius_cvt_int() - Converts raw data to integer


Derives mppe-keys from mangled data

  • « radius_cvt_string
  • radius_demangle »
  • PHP Manual
  • Radius Funções
  • Derives mppe-keys from mangled data

radius_demangle_mppe_key

(PECL radius >= 1.2.0)

radius_demangle_mppe_key — Derives mppe-keys from mangled data

Descrição

radius_demangle_mppe_key ( resource $radius_handle , string $mangled ) : string

When using MPPE with MS-CHAPv2, the send- and recv-keys are mangled (see » RFC 2548), however this function is useless, because I don't think that there is or will be a PPTP-MPPE implementation in PHP.

Valor Retornado

Returns the demangled string, or false on error.


Demangles data

  • « radius_demangle_mppe_key
  • radius_get_attr »
  • PHP Manual
  • Radius Funções
  • Demangles data

radius_demangle

(PECL radius >= 1.2.0)

radius_demangle — Demangles data

Descrição

radius_demangle ( resource $radius_handle , string $mangled ) : string

Some data (Passwords, MS-CHAPv1 MPPE-Keys) is mangled for security reasons, and must be demangled before you can use them.

Valor Retornado

Returns the demangled string, or false on error.


Extracts an attribute

  • « radius_demangle
  • radius_get_tagged_attr_data »
  • PHP Manual
  • Radius Funções
  • Extracts an attribute

radius_get_attr

(PECL radius >= 1.1.0)

radius_get_attr — Extracts an attribute

Descrição

radius_get_attr ( resource $radius_handle ) : mixed

Like Radius requests, each response may contain zero or more attributes. After a response has been received successfully by radius_send_request(), its attributes can be extracted one by one using radius_get_attr(). Each time radius_get_attr() is called, it gets the next attribute from the current response.

Valor Retornado

Returns an associative array containing the attribute-type and the data, or error number <= 0.

Exemplos

Exemplo #1 radius_get_attr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
}
?>

Veja Também

  • radius_put_attr() - Attaches a binary attribute
  • radius_get_vendor_attr() - Extracts a vendor specific attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute
  • radius_send_request() - Sends the request and waits for a reply


Extracts the data from a tagged attribute

  • « radius_get_attr
  • radius_get_tagged_attr_tag »
  • PHP Manual
  • Radius Funções
  • Extracts the data from a tagged attribute

radius_get_tagged_attr_data

(PECL radius >= 1.3.0)

radius_get_tagged_attr_data — Extracts the data from a tagged attribute

Descrição

radius_get_tagged_attr_data ( string $data ) : string|false

If a tagged attribute has been returned from radius_get_attr(), radius_get_tagged_attr_data() will return the data from the attribute.

Parâmetros

data

The tagged attribute to be decoded.

Valor Retornado

Returns the data from the tagged attribute ou false em caso de falha.

Exemplos

Exemplo #1 radius_get_tagged_attr_data() example

<?php
while ($resa = radius_get_attr($res)) {
    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    $tag = radius_get_tagged_attr_tag($data);
    $value = radius_get_tagged_attr_data($data);

    printf("Got tagged attribute with tag %d and value %s\n", $tag, $value);
}
?>

Veja Também

  • radius_get_attr() - Extracts an attribute
  • radius_get_tagged_attr_tag() - Extracts the tag from a tagged attribute


Extracts the tag from a tagged attribute

  • « radius_get_tagged_attr_data
  • radius_get_vendor_attr »
  • PHP Manual
  • Radius Funções
  • Extracts the tag from a tagged attribute

radius_get_tagged_attr_tag

(PECL radius >= 1.3.0)

radius_get_tagged_attr_tag — Extracts the tag from a tagged attribute

Descrição

radius_get_tagged_attr_tag ( string $data ) : int|false

If a tagged attribute has been returned from radius_get_attr(), radius_get_tagged_attr_data() will return the tag from the attribute.

Parâmetros

data

The tagged attribute to be decoded.

Valor Retornado

Returns the tag from the tagged attribute ou false em caso de falha.

Exemplos

Exemplo #1 radius_get_tagged_attr_tag() example

<?php
while ($resa = radius_get_attr($res)) {
    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    $tag = radius_get_tagged_attr_tag($data);
    $value = radius_get_tagged_attr_data($data);

    printf("Got tagged attribute with tag %d and value %s\n", $tag, $value);
}
?>

Veja Também

  • radius_get_attr() - Extracts an attribute
  • radius_get_tagged_attr_data() - Extracts the data from a tagged attribute


Extracts a vendor specific attribute

  • « radius_get_tagged_attr_tag
  • radius_put_addr »
  • PHP Manual
  • Radius Funções
  • Extracts a vendor specific attribute

radius_get_vendor_attr

(PECL radius >= 1.1.0)

radius_get_vendor_attr — Extracts a vendor specific attribute

Descrição

radius_get_vendor_attr ( string $data ) : array

If radius_get_attr() returns RADIUS_VENDOR_SPECIFIC, radius_get_vendor_attr() may be called to determine the vendor.

Valor Retornado

Returns an associative array containing the attribute-type, vendor and the data, or false on error.

Exemplos

Exemplo #1 radius_get_vendor_attr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
    if ($attr == RADIUS_VENDOR_SPECIFIC) {

        $resv = radius_get_vendor_attr($data);
        if (is_array($resv)) {
            $vendor = $resv['vendor'];
            $attrv = $resv['attr'];
            $datav = $resv['data'];
            printf("Got Vendor Attr:%d %d Bytes %s\n", $attrv, strlen($datav), bin2hex($datav));
        }

    }
}
?>

Veja Também

  • radius_get_attr() - Extracts an attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute


Attaches an IP address attribute

  • « radius_get_vendor_attr
  • radius_put_attr »
  • PHP Manual
  • Radius Funções
  • Attaches an IP address attribute

radius_put_addr

(PECL radius >= 1.1.0)

radius_put_addr — Attaches an IP address attribute

Descrição

radius_put_addr ( resource $radius_handle , int $type , string $addr , int $options = 0 , int $tag = ? ) : bool

Attaches an IP address attribute to the current RADIUS request.

Nota:

Uma requisição criada via radius_create_request(), necessário para chamar essa função.

Parâmetros

radius_handle

O recurso RADIUS.

type

O tipo de atributo.

addr

An IPv4 address in string form, such as 10.0.0.1.

options

Um bitmask de opções de atributos. As opções incluem RADIUS_OPTION_TAGGED e RADIUS_OPTION_SALT.

tag

O atributo tag. Este parâmetro é ignorado a não ser que RADIUS_OPTION_TAGGED esteja indicado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
PECL radius 1.3.0 | The options and tag parameters were added.


Attaches a binary attribute

  • « radius_put_addr
  • radius_put_int »
  • PHP Manual
  • Radius Funções
  • Attaches a binary attribute

radius_put_attr

(PECL radius >= 1.1.0)

radius_put_attr — Attaches a binary attribute

Descrição

radius_put_attr ( resource $radius_handle , int $type , string $value , int $options = 0 , int $tag = ? ) : bool

Attaches a binary attribute to the current RADIUS request.

Nota:

Uma requisição criada via radius_create_request(), necessário para chamar essa função.

Parâmetros

radius_handle

O recurso RADIUS.

type

O tipo de atributo.

value

The attribute value, which will be treated as a raw binary string.

options

Um bitmask de opções de atributos. As opções incluem RADIUS_OPTION_TAGGED e RADIUS_OPTION_SALT.

tag

O atributo tag. Este parâmetro é ignorado a não ser que RADIUS_OPTION_TAGGED esteja indicado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 radius_put_attr() example

<?php
mt_srand(time());
$chall = mt_rand();
$chapval = md5(pack('Ca*',1 , 'sepp' . $chall));
$pass = pack('CH*', 1, $chapval);
if (!radius_put_attr($res, RADIUS_CHAP_PASSWORD, $pass)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Changelog

Versão | Descrição
PECL radius 1.3.0 | The options and tag parameters were added.

Veja Também

  • radius_get_attr() - Extracts an attribute
  • radius_get_vendor_attr() - Extracts a vendor specific attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute


Attaches an integer attribute

  • « radius_put_attr
  • radius_put_string »
  • PHP Manual
  • Radius Funções
  • Attaches an integer attribute

radius_put_int

(PECL radius >= 1.1.0)

radius_put_int — Attaches an integer attribute

Descrição

radius_put_int ( resource $radius_handle , int $type , int $value , int $options = 0 , int $tag = ? ) : bool

Attaches an integer attribute to the current RADIUS request.

Nota:

Uma requisição criada via radius_create_request(), necessário para chamar essa função.

Parâmetros

radius_handle

O recurso RADIUS.

type

O tipo de atributo.

value

The attribute value.

options

Um bitmask de opções de atributos. As opções incluem RADIUS_OPTION_TAGGED e RADIUS_OPTION_SALT.

tag

O atributo tag. Este parâmetro é ignorado a não ser que RADIUS_OPTION_TAGGED esteja indicado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
PECL radius 1.3.0 | The options and tag parameters were added.

Exemplos

Exemplo #1 radius_put_int() example

<?php
if (!radius_put_int($res, RAD_FRAMED_PROTOCOL, RAD_PPP)) {
   echo 'RadiusError:' . radius_strerror($res). "\n<br />";
   exit;
}
?>

Veja Também

  • radius_put_string() - Attaches a string attribute
  • radius_put_vendor_int() - Attaches a vendor specific integer attribute
  • radius_put_vendor_string() - Attaches a vendor specific string attribute


Attaches a string attribute

  • « radius_put_int
  • radius_put_vendor_addr »
  • PHP Manual
  • Radius Funções
  • Attaches a string attribute

radius_put_string

(PECL radius >= 1.1.0)

radius_put_string — Attaches a string attribute

Descrição

radius_put_string ( resource $radius_handle , int $type , string $value , int $options = 0 , int $tag = ? ) : bool

Attaches a string attribute to the current RADIUS request. In general, radius_put_attr() is a more useful function for attaching string attributes, as it is binary safe.

Nota:

Uma requisição criada via radius_create_request(), necessário para chamar essa função.

Parâmetros

radius_handle

O recurso RADIUS.

type

O tipo de atributo.

value

The attribute value. This value is expected by the underlying library to be null terminated, therefore this parameter is not binary safe.

options

Um bitmask de opções de atributos. As opções incluem RADIUS_OPTION_TAGGED e RADIUS_OPTION_SALT.

tag

O atributo tag. Este parâmetro é ignorado a não ser que RADIUS_OPTION_TAGGED esteja indicado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
PECL radius 1.3.0 | The options and tag parameters were added.

Exemplos

Exemplo #1 radius_put_string() example

<?php
if (!radius_put_string($res, RADIUS_USER_NAME, 'billy')) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Veja Também

  • radius_put_int() - Attaches an integer attribute
  • radius_put_vendor_int() - Attaches a vendor specific integer attribute
  • radius_put_vendor_string() - Attaches a vendor specific string attribute


Attaches a vendor specific IP address attribute

  • « radius_put_string
  • radius_put_vendor_attr »
  • PHP Manual
  • Radius Funções
  • Attaches a vendor specific IP address attribute

radius_put_vendor_addr

(PECL radius >= 1.1.0)

radius_put_vendor_addr — Attaches a vendor specific IP address attribute

Descrição

radius_put_vendor_addr ( resource $radius_handle , int $vendor , int $type , string $addr ) : bool

Attaches an IP address vendor specific attribute to the current RADIUS request.

Nota:

Uma requisição criada via radius_create_request(), necessário para chamar essa função.

Parâmetros

radius_handle

O recurso RADIUS.

vendor

O vendor ID.

type

O tipo de atributo.

addr

An IPv4 address in string form, such as 10.0.0.1.

options

Um bitmask de opções de atributos. As opções incluem RADIUS_OPTION_TAGGED e RADIUS_OPTION_SALT.

tag

O atributo tag. Este parâmetro é ignorado a não ser que RADIUS_OPTION_TAGGED esteja indicado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
PECL radius 1.3.0 | The options and tag parameters were added.


Attaches a vendor specific binary attribute

  • « radius_put_vendor_addr
  • radius_put_vendor_int »
  • PHP Manual
  • Radius Funções
  • Attaches a vendor specific binary attribute

radius_put_vendor_attr

(PECL radius >= 1.1.0)

radius_put_vendor_attr — Attaches a vendor specific binary attribute

Descrição

radius_put_vendor_attr ( resource $radius_handle , int $vendor , int $type , string $value , int $options = 0 , int $tag = ? ) : bool

Attaches a vendor specific binary attribute to the current RADIUS request.

Nota:

Uma requisição criada via radius_create_request(), necessário para chamar essa função.

Parâmetros

radius_handle

O recurso RADIUS.

vendor

O vendor ID.

type

O tipo de atributo.

value

The attribute value, which will be treated as a raw binary string.

options

Um bitmask de opções de atributos. As opções incluem RADIUS_OPTION_TAGGED e RADIUS_OPTION_SALT.

tag

O atributo tag. Este parâmetro é ignorado a não ser que RADIUS_OPTION_TAGGED esteja indicado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
PECL radius 1.3.0 | The options and tag parameters were added.

Exemplos

Exemplo #1 radius_put_vendor_attr() example

<?php
if (!radius_put_vendor_attr($res, RADIUS_VENDOR_MICROSOFT, RAD_MICROSOFT_MS_CHAP_CHALLENGE, $challenge)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Veja Também

  • radius_get_vendor_attr() - Extracts a vendor specific attribute


Attaches a vendor specific integer attribute

  • « radius_put_vendor_attr
  • radius_put_vendor_string »
  • PHP Manual
  • Radius Funções
  • Attaches a vendor specific integer attribute

radius_put_vendor_int

(PECL radius >= 1.1.0)

radius_put_vendor_int — Attaches a vendor specific integer attribute

Descrição

radius_put_vendor_int ( resource $radius_handle , int $vendor , int $type , int $value , int $options = 0 , int $tag = ? ) : bool

Attaches a vendor specific integer attribute to the current RADIUS request.

Nota:

Uma requisição criada via radius_create_request(), necessário para chamar essa função.

Parâmetros

radius_handle

O recurso RADIUS.

vendor

O vendor ID.

type

O tipo de atributo.

value

The attribute value.

options

Um bitmask de opções de atributos. As opções incluem RADIUS_OPTION_TAGGED e RADIUS_OPTION_SALT.

tag

O atributo tag. Este parâmetro é ignorado a não ser que RADIUS_OPTION_TAGGED esteja indicado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
PECL radius 1.3.0 | The options and tag parameters were added.

Veja Também

  • radius_put_vendor_string() - Attaches a vendor specific string attribute


Attaches a vendor specific string attribute

  • « radius_put_vendor_int
  • radius_request_authenticator »
  • PHP Manual
  • Radius Funções
  • Attaches a vendor specific string attribute

radius_put_vendor_string

(PECL radius >= 1.1.0)

radius_put_vendor_string — Attaches a vendor specific string attribute

Descrição

radius_put_vendor_string ( resource $radius_handle , int $vendor , int $type , string $value , int $options = 0 , int $tag = ? ) : bool

Attaches a vendor specific string attribute to the current RADIUS request. In general, radius_put_vendor_attr() is a more useful function for attaching string attributes, as it is binary safe.

Nota:

Uma requisição criada via radius_create_request(), necessário para chamar essa função.

Parâmetros

radius_handle

O recurso RADIUS.

vendor

O vendor ID.

type

O tipo de atributo.

value

The attribute value. This value is expected by the underlying library to be null terminated, therefore this parameter is not binary safe.

options

Um bitmask de opções de atributos. As opções incluem RADIUS_OPTION_TAGGED e RADIUS_OPTION_SALT.

tag

O atributo tag. Este parâmetro é ignorado a não ser que RADIUS_OPTION_TAGGED esteja indicado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
PECL radius 1.3.0 | The options and tag parameters were added.

Veja Também

  • radius_put_vendor_int() - Attaches a vendor specific integer attribute


Returns the request authenticator

  • « radius_put_vendor_string
  • radius_salt_encrypt_attr »
  • PHP Manual
  • Radius Funções
  • Returns the request authenticator

radius_request_authenticator

(PECL radius >= 1.1.0)

radius_request_authenticator — Returns the request authenticator

Descrição

radius_request_authenticator ( resource $radius_handle ) : string

The request authenticator is needed for demangling mangled data like passwords and encryption-keys.

Valor Retornado

Returns the request authenticator as string, or false on error.

Veja Também

  • radius_demangle() - Demangles data


Salt-encrypts a value

  • « radius_request_authenticator
  • radius_send_request »
  • PHP Manual
  • Radius Funções
  • Salt-encrypts a value

radius_salt_encrypt_attr

(PECL radius >= 1.3.0)

radius_salt_encrypt_attr — Salt-encrypts a value

Descrição

radius_salt_encrypt_attr ( resource $radius_handle , string $data ) : string|false

Applies the RADIUS salt-encryption algorithm to the given value.

In general, this is achieved automatically by providing the RADIUS_OPTION_SALT option to an attribute setter function, but this function can be used if low-level request construction is required.

Parâmetros

data

The data to be salt-encrypted.

Valor Retornado

Returns the salt-encrypted data ou false em caso de falha.

Veja Também

  • radius_put_addr() - Attaches an IP address attribute
  • radius_put_attr() - Attaches a binary attribute
  • radius_put_int() - Attaches an integer attribute
  • radius_put_string() - Attaches a string attribute


Sends the request and waits for a reply

  • « radius_salt_encrypt_attr
  • radius_server_secret »
  • PHP Manual
  • Radius Funções
  • Sends the request and waits for a reply

radius_send_request

(PECL radius >= 1.1.0)

radius_send_request — Sends the request and waits for a reply

Descrição

radius_send_request ( resource $radius_handle ) : int

After the Radius request has been constructed, it is sent by radius_send_request().

The radius_send_request() function sends the request and waits for a valid reply, retrying the defined servers in round-robin fashion as necessary.

Valor Retornado

If a valid response is received, radius_send_request() returns the Radius code which specifies the type of the response. This will typically be RADIUS_ACCESS_ACCEPT, RADIUS_ACCESS_REJECT, or RADIUS_ACCESS_CHALLENGE. If no valid response is received, radius_send_request() returns false.

Veja Também

  • radius_create_request() - Create accounting or authentication request


Returns the shared secret

  • « radius_send_request
  • radius_strerror »
  • PHP Manual
  • Radius Funções
  • Returns the shared secret

radius_server_secret

(PECL radius >= 1.1.0)

radius_server_secret — Returns the shared secret

Descrição

radius_server_secret ( resource $radius_handle ) : string

The shared secret is needed as salt for demangling mangled data like passwords and encryption-keys.

Valor Retornado

Returns the server's shared secret as string, or false on error.


Returns an error message

  • « radius_server_secret
  • Extensões Específica para Linha de Comando »
  • PHP Manual
  • Radius Funções
  • Returns an error message

radius_strerror

(PECL radius >= 1.1.0)

radius_strerror — Returns an error message

Descrição

radius_strerror ( resource $radius_handle ) : string

If Radius-functions fail then they record an error message. This error message can be retrieved with this function.

Valor Retornado

Returns error messages as string from failed radius functions.


Extensões Específica para Linha de Comando

  • Ncurses — Ncurses Terminal Screen Control
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Ncurses Funções
  • Readline — GNU Readline
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções da Readline


Ncurses Terminal Screen Control

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
    • Error codes
    • Colors
    • Keys
    • Mouse
  • Ncurses Funções
    • ncurses_addch — Add character at current position and advance cursor
    • ncurses_addchnstr — Add attributed string with specified length at current position
    • ncurses_addchstr — Add attributed string at current position
    • ncurses_addnstr — Add string with specified length at current position
    • ncurses_addstr — Output text at current position
    • ncurses_assume_default_colors — Define default colors for color 0
    • ncurses_attroff — Turn off the given attributes
    • ncurses_attron — Turn on the given attributes
    • ncurses_attrset — Set given attributes
    • ncurses_baudrate — Returns baudrate of terminal
    • ncurses_beep — Let the terminal beep
    • ncurses_bkgd — Set background property for terminal screen
    • ncurses_bkgdset — Control screen background
    • ncurses_border — Draw a border around the screen using attributed characters
    • ncurses_bottom_panel — Moves a visible panel to the bottom of the stack
    • ncurses_can_change_color — Checks if terminal color definitions can be changed
    • ncurses_cbreak — Switch off input buffering
    • ncurses_clear — Clear screen
    • ncurses_clrtobot — Clear screen from current position to bottom
    • ncurses_clrtoeol — Clear screen from current position to end of line
    • ncurses_color_content — Retrieves RGB components of a color
    • ncurses_color_set — Set active foreground and background colors
    • ncurses_curs_set — Set cursor state
    • ncurses_def_prog_mode — Saves terminals (program) mode
    • ncurses_def_shell_mode — Saves terminals (shell) mode
    • ncurses_define_key — Define a keycode
    • ncurses_del_panel — Remove panel from the stack and delete it (but not the associated window)
    • ncurses_delay_output — Delay output on terminal using padding characters
    • ncurses_delch — Delete character at current position, move rest of line left
    • ncurses_deleteln — Delete line at current position, move rest of screen up
    • ncurses_delwin — Delete a ncurses window
    • ncurses_doupdate — Write all prepared refreshes to terminal
    • ncurses_echo — Activate keyboard input echo
    • ncurses_echochar — Single character output including refresh
    • ncurses_end — Stop using ncurses, clean up the screen
    • ncurses_erase — Erase terminal screen
    • ncurses_erasechar — Returns current erase character
    • ncurses_filter — Set LINES for iniscr() and newterm() to 1
    • ncurses_flash — Flash terminal screen (visual bell)
    • ncurses_flushinp — Flush keyboard input buffer
    • ncurses_getch — Read a character from keyboard
    • ncurses_getmaxyx — Returns the size of a window
    • ncurses_getmouse — Reads mouse event
    • ncurses_getyx — Returns the current cursor position for a window
    • ncurses_halfdelay — Put terminal into halfdelay mode
    • ncurses_has_colors — Checks if terminal has color capabilities
    • ncurses_has_ic — Check for insert- and delete-capabilities
    • ncurses_has_il — Check for line insert- and delete-capabilities
    • ncurses_has_key — Check for presence of a function key on terminal keyboard
    • ncurses_hide_panel — Remove panel from the stack, making it invisible
    • ncurses_hline — Draw a horizontal line at current position using an attributed character and max. n characters long
    • ncurses_inch — Get character and attribute at current position
    • ncurses_init_color — Define a terminal color
    • ncurses_init_pair — Define a color pair
    • ncurses_init — Initialize ncurses
    • ncurses_insch — Insert character moving rest of line including character at current position
    • ncurses_insdelln — Insert lines before current line scrolling down (negative numbers delete and scroll up)
    • ncurses_insertln — Insert a line, move rest of screen down
    • ncurses_insstr — Insert string at current position, moving rest of line right
    • ncurses_instr — Reads string from terminal screen
    • ncurses_isendwin — Ncurses is in endwin mode, normal screen output may be performed
    • ncurses_keyok — Enable or disable a keycode
    • ncurses_keypad — Turns keypad on or off
    • ncurses_killchar — Returns current line kill character
    • ncurses_longname — Returns terminals description
    • ncurses_meta — Enables/Disable 8-bit meta key information
    • ncurses_mouse_trafo — Transforms coordinates
    • ncurses_mouseinterval — Set timeout for mouse button clicks
    • ncurses_mousemask — Sets mouse options
    • ncurses_move_panel — Moves a panel so that its upper-left corner is at [startx, starty]
    • ncurses_move — Move output position
    • ncurses_mvaddch — Move current position and add character
    • ncurses_mvaddchnstr — Move position and add attributed string with specified length
    • ncurses_mvaddchstr — Move position and add attributed string
    • ncurses_mvaddnstr — Move position and add string with specified length
    • ncurses_mvaddstr — Move position and add string
    • ncurses_mvcur — Move cursor immediately
    • ncurses_mvdelch — Move position and delete character, shift rest of line left
    • ncurses_mvgetch — Move position and get character at new position
    • ncurses_mvhline — Set new position and draw a horizontal line using an attributed character and max. n characters long
    • ncurses_mvinch — Move position and get attributed character at new position
    • ncurses_mvvline — Set new position and draw a vertical line using an attributed character and max. n characters long
    • ncurses_mvwaddstr — Add string at new position in window
    • ncurses_napms — Sleep
    • ncurses_new_panel — Create a new panel and associate it with window
    • ncurses_newpad — Creates a new pad (window)
    • ncurses_newwin — Create a new window
    • ncurses_nl — Translate newline and carriage return / line feed
    • ncurses_nocbreak — Switch terminal to cooked mode
    • ncurses_noecho — Switch off keyboard input echo
    • ncurses_nonl — Do not translate newline and carriage return / line feed
    • ncurses_noqiflush — Do not flush on signal characters
    • ncurses_noraw — Switch terminal out of raw mode
    • ncurses_pair_content — Retrieves foreground and background colors of a color pair
    • ncurses_panel_above — Returns the panel above panel
    • ncurses_panel_below — Returns the panel below panel
    • ncurses_panel_window — Returns the window associated with panel
    • ncurses_pnoutrefresh — Copies a region from a pad into the virtual screen
    • ncurses_prefresh — Copies a region from a pad into the virtual screen
    • ncurses_putp — Apply padding information to the string and output it
    • ncurses_qiflush — Flush on signal characters
    • ncurses_raw — Switch terminal into raw mode
    • ncurses_refresh — Refresh screen
    • ncurses_replace_panel — Replaces the window associated with panel
    • ncurses_reset_prog_mode — Resets the prog mode saved by def_prog_mode
    • ncurses_reset_shell_mode — Resets the shell mode saved by def_shell_mode
    • ncurses_resetty — Restores saved terminal state
    • ncurses_savetty — Saves terminal state
    • ncurses_scr_dump — Dump screen content to file
    • ncurses_scr_init — Initialize screen from file dump
    • ncurses_scr_restore — Restore screen from file dump
    • ncurses_scr_set — Inherit screen from file dump
    • ncurses_scrl — Scroll window content up or down without changing current position
    • ncurses_show_panel — Places an invisible panel on top of the stack, making it visible
    • ncurses_slk_attr — Returns current soft label key attribute
    • ncurses_slk_attroff — Turn off the given attributes for soft function-key labels
    • ncurses_slk_attron — Turn on the given attributes for soft function-key labels
    • ncurses_slk_attrset — Set given attributes for soft function-key labels
    • ncurses_slk_clear — Clears soft labels from screen
    • ncurses_slk_color — Sets color for soft label keys
    • ncurses_slk_init — Initializes soft label key functions
    • ncurses_slk_noutrefresh — Copies soft label keys to virtual screen
    • ncurses_slk_refresh — Copies soft label keys to screen
    • ncurses_slk_restore — Restores soft label keys
    • ncurses_slk_set — Sets function key labels
    • ncurses_slk_touch — Forces output when ncurses_slk_noutrefresh is performed
    • ncurses_standend — Stop using 'standout' attribute
    • ncurses_standout — Start using 'standout' attribute
    • ncurses_start_color — Initializes color functionality
    • ncurses_termattrs — Returns a logical OR of all attribute flags supported by terminal
    • ncurses_termname — Returns terminals (short)-name
    • ncurses_timeout — Set timeout for special key sequences
    • ncurses_top_panel — Moves a visible panel to the top of the stack
    • ncurses_typeahead — Specify different filedescriptor for typeahead checking
    • ncurses_ungetch — Put a character back into the input stream
    • ncurses_ungetmouse — Pushes mouse event to queue
    • ncurses_update_panels — Refreshes the virtual screen to reflect the relations between panels in the stack
    • ncurses_use_default_colors — Assign terminal default colors to color id -1
    • ncurses_use_env — Control use of environment information about terminal size
    • ncurses_use_extended_names — Control use of extended names in terminfo descriptions
    • ncurses_vidattr — Display the string on the terminal in the video attribute mode
    • ncurses_vline — Draw a vertical line at current position using an attributed character and max. n characters long
    • ncurses_waddch — Adds character at current position in a window and advance cursor
    • ncurses_waddstr — Outputs text at current postion in window
    • ncurses_wattroff — Turns off attributes for a window
    • ncurses_wattron — Turns on attributes for a window
    • ncurses_wattrset — Set the attributes for a window
    • ncurses_wborder — Draws a border around the window using attributed characters
    • ncurses_wclear — Clears window
    • ncurses_wcolor_set — Sets windows color pairings
    • ncurses_werase — Erase window contents
    • ncurses_wgetch — Reads a character from keyboard (window)
    • ncurses_whline — Draws a horizontal line in a window at current position using an attributed character and max. n characters long
    • ncurses_wmouse_trafo — Transforms window/stdscr coordinates
    • ncurses_wmove — Moves windows output position
    • ncurses_wnoutrefresh — Copies window to virtual screen
    • ncurses_wrefresh — Refresh window on terminal screen
    • ncurses_wstandend — End standout mode for a window
    • ncurses_wstandout — Enter standout mode for a window
    • ncurses_wvline — Draws a vertical line in a window at current position using an attributed character and max. n characters long


Introdução

ncurses (new curses) is a free software emulation of curses in System V Rel 4.0 (and above). It uses terminfo format, supports pads, colors, multiple highlights, form characters and function key mapping. Because of the interactive nature of this library, it will be of little use for writing Web applications, but may be useful when writing scripts meant using PHP from the command line.

The features available, such as colors, depend on the terminal that you are using. Use functions such as ncurses_has_colors(), ncurses_can_change_color(), and ncurses_has_ic() to check for individual capabilities.

Nota:

Esta extensão foi movida para o repositório » PECL e não é mais incluída como parte do PHP.5.3.0.

ncurses is available for the following platforms:

  • AIX
  • BeOS
  • BSD variants (FreeBSD, NetBSD, OpenBSD)
  • Cygwin
  • Digital Unix (aka OSF1)
  • GNU/Linux
  • HPUX
  • IRIX64
  • macOS
  • OS/2
  • QNX
  • SCO OpenServer
  • Solaris
  • Tru64


Dependências

You need the ncurses libraries and headerfiles. Download the latest version from the » ftp://ftp.gnu.org/pub/gnu/ncurses/ or from an other GNU-Mirror.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/ncurses.

Wide character CRT screen handling (ncursesw) support was added in version 1.0.1 of this PECL extension.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

This extension defines window, panel and pad resources.


Constantes pré-definidas

Índice

  • Error codes
  • Colors
  • Keys
  • Mouse

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.


Error codes

On error ncurses functions return -1. Some functions return 0 on success. See the relevant pages in the documentation for actual return values.


Colors

ncurses color constants
constant | meaning
NCURSES_COLOR_BLACK | no color (black)
NCURSES_COLOR_WHITE | white
NCURSES_COLOR_RED | red - supported when terminal is in color mode
NCURSES_COLOR_GREEN | green - supported when terminal is in color mode
NCURSES_COLOR_YELLOW | yellow - supported when terminal is in color mode
NCURSES_COLOR_BLUE | blue - supported when terminal is in color mode
NCURSES_COLOR_CYAN | cyan - supported when terminal is in color mode
NCURSES_COLOR_MAGENTA | magenta - supported when terminal is in color mode


Keys

ncurses key constants
constant | meaning
NCURSES_KEY_F0 - NCURSES_KEY_F64 | function keys F1 - F64
NCURSES_KEY_DOWN | down arrow
NCURSES_KEY_UP | up arrow
NCURSES_KEY_LEFT | left arrow
NCURSES_KEY_RIGHT | right arrow
NCURSES_KEY_HOME | home key (upward+left arrow)
NCURSES_KEY_BACKSPACE | backspace
NCURSES_KEY_DL | delete line
NCURSES_KEY_IL | insert line
NCURSES_KEY_DC | delete character
NCURSES_KEY_IC | insert char or enter insert mode
NCURSES_KEY_EIC | exit insert char mode
NCURSES_KEY_CLEAR | clear screen
NCURSES_KEY_EOS | clear to end of screen
NCURSES_KEY_EOL | clear to end of line
NCURSES_KEY_SF | scroll one line forward
NCURSES_KEY_SR | scroll one line backward
NCURSES_KEY_NPAGE | next page
NCURSES_KEY_PPAGE | previous page
NCURSES_KEY_STAB | set tab
NCURSES_KEY_CTAB | clear tab
NCURSES_KEY_CATAB | clear all tabs
NCURSES_KEY_SRESET | soft (partial) reset
NCURSES_KEY_RESET | reset or hard reset
NCURSES_KEY_PRINT | print
NCURSES_KEY_LL | lower left
NCURSES_KEY_A1 | upper left of keypad
NCURSES_KEY_A3 | upper right of keypad
NCURSES_KEY_B2 | center of keypad
NCURSES_KEY_C1 | lower left of keypad
NCURSES_KEY_C3 | lower right of keypad
NCURSES_KEY_BTAB | back tab
NCURSES_KEY_BEG | beginning
NCURSES_KEY_CANCEL | cancel
NCURSES_KEY_CLOSE | close
NCURSES_KEY_COMMAND | cmd (command)
NCURSES_KEY_COPY | copy
NCURSES_KEY_CREATE | create
NCURSES_KEY_END | end
NCURSES_KEY_EXIT | exit
NCURSES_KEY_FIND | find
NCURSES_KEY_HELP | help
NCURSES_KEY_MARK | mark
NCURSES_KEY_MESSAGE | message
NCURSES_KEY_MOVE | move
NCURSES_KEY_NEXT | next
NCURSES_KEY_OPEN | open
NCURSES_KEY_OPTIONS | options
NCURSES_KEY_PREVIOUS | previous
NCURSES_KEY_REDO | redo
NCURSES_KEY_REFERENCE | ref (reference)
NCURSES_KEY_REFRESH | refresh
NCURSES_KEY_REPLACE | replace
NCURSES_KEY_RESTART | restart
NCURSES_KEY_RESUME | resume
NCURSES_KEY_SAVE | save
NCURSES_KEY_SBEG | shiftet beg (beginning)
NCURSES_KEY_SCANCEL | shifted cancel
NCURSES_KEY_SCOMMAND | shifted command
NCURSES_KEY_SCOPY | shifted copy
NCURSES_KEY_SCREATE | shifted create
NCURSES_KEY_SDC | shifted delete char
NCURSES_KEY_SDL | shifted delete line
NCURSES_KEY_SELECT | select
NCURSES_KEY_SEND | shifted end
NCURSES_KEY_SEOL | shifted end of line
NCURSES_KEY_SEXIT | shifted exit
NCURSES_KEY_SFIND | shifted find
NCURSES_KEY_SHELP | shifted help
NCURSES_KEY_SHOME | shifted home
NCURSES_KEY_SIC | shifted input
NCURSES_KEY_SLEFT | shifted left arrow
NCURSES_KEY_SMESSAGE | shifted message
NCURSES_KEY_SMOVE | shifted move
NCURSES_KEY_SNEXT | shifted next
NCURSES_KEY_SOPTIONS | shifted options
NCURSES_KEY_SPREVIOUS | shifted previous
NCURSES_KEY_SPRINT | shifted print
NCURSES_KEY_SREDO | shifted redo
NCURSES_KEY_SREPLACE | shifted replace
NCURSES_KEY_SRIGHT | shifted right arrow
NCURSES_KEY_SRSUME | shifted resume
NCURSES_KEY_SSAVE | shifted save
NCURSES_KEY_SSUSPEND | shifted suspend
NCURSES_KEY_UNDO | undo
NCURSES_KEY_MOUSE | mouse event has occurred
NCURSES_KEY_MAX | maximum key value


Mouse

mouse constants
Constant | meaning
NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED | button (1-4) released
NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED | button (1-4) pressed
NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED | button (1-4) clicked
NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED | button (1-4) double clicked
NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED | button (1-4) triple clicked
NCURSES_BUTTON_CTRL | ctrl pressed during click
NCURSES_BUTTON_SHIFT | shift pressed during click
NCURSES_BUTTON_ALT | alt pressed during click
NCURSES_ALL_MOUSE_EVENTS | report all mouse events
NCURSES_REPORT_MOUSE_POSITION | report mouse position


Ncurses Funções

Índice

  • ncurses_addch — Add character at current position and advance cursor
  • ncurses_addchnstr — Add attributed string with specified length at current position
  • ncurses_addchstr — Add attributed string at current position
  • ncurses_addnstr — Add string with specified length at current position
  • ncurses_addstr — Output text at current position
  • ncurses_assume_default_colors — Define default colors for color 0
  • ncurses_attroff — Turn off the given attributes
  • ncurses_attron — Turn on the given attributes
  • ncurses_attrset — Set given attributes
  • ncurses_baudrate — Returns baudrate of terminal
  • ncurses_beep — Let the terminal beep
  • ncurses_bkgd — Set background property for terminal screen
  • ncurses_bkgdset — Control screen background
  • ncurses_border — Draw a border around the screen using attributed characters
  • ncurses_bottom_panel — Moves a visible panel to the bottom of the stack
  • ncurses_can_change_color — Checks if terminal color definitions can be changed
  • ncurses_cbreak — Switch off input buffering
  • ncurses_clear — Clear screen
  • ncurses_clrtobot — Clear screen from current position to bottom
  • ncurses_clrtoeol — Clear screen from current position to end of line
  • ncurses_color_content — Retrieves RGB components of a color
  • ncurses_color_set — Set active foreground and background colors
  • ncurses_curs_set — Set cursor state
  • ncurses_def_prog_mode — Saves terminals (program) mode
  • ncurses_def_shell_mode — Saves terminals (shell) mode
  • ncurses_define_key — Define a keycode
  • ncurses_del_panel — Remove panel from the stack and delete it (but not the associated window)
  • ncurses_delay_output — Delay output on terminal using padding characters
  • ncurses_delch — Delete character at current position, move rest of line left
  • ncurses_deleteln — Delete line at current position, move rest of screen up
  • ncurses_delwin — Delete a ncurses window
  • ncurses_doupdate — Write all prepared refreshes to terminal
  • ncurses_echo — Activate keyboard input echo
  • ncurses_echochar — Single character output including refresh
  • ncurses_end — Stop using ncurses, clean up the screen
  • ncurses_erase — Erase terminal screen
  • ncurses_erasechar — Returns current erase character
  • ncurses_filter — Set LINES for iniscr() and newterm() to 1
  • ncurses_flash — Flash terminal screen (visual bell)
  • ncurses_flushinp — Flush keyboard input buffer
  • ncurses_getch — Read a character from keyboard
  • ncurses_getmaxyx — Returns the size of a window
  • ncurses_getmouse — Reads mouse event
  • ncurses_getyx — Returns the current cursor position for a window
  • ncurses_halfdelay — Put terminal into halfdelay mode
  • ncurses_has_colors — Checks if terminal has color capabilities
  • ncurses_has_ic — Check for insert- and delete-capabilities
  • ncurses_has_il — Check for line insert- and delete-capabilities
  • ncurses_has_key — Check for presence of a function key on terminal keyboard
  • ncurses_hide_panel — Remove panel from the stack, making it invisible
  • ncurses_hline — Draw a horizontal line at current position using an attributed character and max. n characters long
  • ncurses_inch — Get character and attribute at current position
  • ncurses_init_color — Define a terminal color
  • ncurses_init_pair — Define a color pair
  • ncurses_init — Initialize ncurses
  • ncurses_insch — Insert character moving rest of line including character at current position
  • ncurses_insdelln — Insert lines before current line scrolling down (negative numbers delete and scroll up)
  • ncurses_insertln — Insert a line, move rest of screen down
  • ncurses_insstr — Insert string at current position, moving rest of line right
  • ncurses_instr — Reads string from terminal screen
  • ncurses_isendwin — Ncurses is in endwin mode, normal screen output may be performed
  • ncurses_keyok — Enable or disable a keycode
  • ncurses_keypad — Turns keypad on or off
  • ncurses_killchar — Returns current line kill character
  • ncurses_longname — Returns terminals description
  • ncurses_meta — Enables/Disable 8-bit meta key information
  • ncurses_mouse_trafo — Transforms coordinates
  • ncurses_mouseinterval — Set timeout for mouse button clicks
  • ncurses_mousemask — Sets mouse options
  • ncurses_move_panel — Moves a panel so that its upper-left corner is at [startx, starty]
  • ncurses_move — Move output position
  • ncurses_mvaddch — Move current position and add character
  • ncurses_mvaddchnstr — Move position and add attributed string with specified length
  • ncurses_mvaddchstr — Move position and add attributed string
  • ncurses_mvaddnstr — Move position and add string with specified length
  • ncurses_mvaddstr — Move position and add string
  • ncurses_mvcur — Move cursor immediately
  • ncurses_mvdelch — Move position and delete character, shift rest of line left
  • ncurses_mvgetch — Move position and get character at new position
  • ncurses_mvhline — Set new position and draw a horizontal line using an attributed character and max. n characters long
  • ncurses_mvinch — Move position and get attributed character at new position
  • ncurses_mvvline — Set new position and draw a vertical line using an attributed character and max. n characters long
  • ncurses_mvwaddstr — Add string at new position in window
  • ncurses_napms — Sleep
  • ncurses_new_panel — Create a new panel and associate it with window
  • ncurses_newpad — Creates a new pad (window)
  • ncurses_newwin — Create a new window
  • ncurses_nl — Translate newline and carriage return / line feed
  • ncurses_nocbreak — Switch terminal to cooked mode
  • ncurses_noecho — Switch off keyboard input echo
  • ncurses_nonl — Do not translate newline and carriage return / line feed
  • ncurses_noqiflush — Do not flush on signal characters
  • ncurses_noraw — Switch terminal out of raw mode
  • ncurses_pair_content — Retrieves foreground and background colors of a color pair
  • ncurses_panel_above — Returns the panel above panel
  • ncurses_panel_below — Returns the panel below panel
  • ncurses_panel_window — Returns the window associated with panel
  • ncurses_pnoutrefresh — Copies a region from a pad into the virtual screen
  • ncurses_prefresh — Copies a region from a pad into the virtual screen
  • ncurses_putp — Apply padding information to the string and output it
  • ncurses_qiflush — Flush on signal characters
  • ncurses_raw — Switch terminal into raw mode
  • ncurses_refresh — Refresh screen
  • ncurses_replace_panel — Replaces the window associated with panel
  • ncurses_reset_prog_mode — Resets the prog mode saved by def_prog_mode
  • ncurses_reset_shell_mode — Resets the shell mode saved by def_shell_mode
  • ncurses_resetty — Restores saved terminal state
  • ncurses_savetty — Saves terminal state
  • ncurses_scr_dump — Dump screen content to file
  • ncurses_scr_init — Initialize screen from file dump
  • ncurses_scr_restore — Restore screen from file dump
  • ncurses_scr_set — Inherit screen from file dump
  • ncurses_scrl — Scroll window content up or down without changing current position
  • ncurses_show_panel — Places an invisible panel on top of the stack, making it visible
  • ncurses_slk_attr — Returns current soft label key attribute
  • ncurses_slk_attroff — Turn off the given attributes for soft function-key labels
  • ncurses_slk_attron — Turn on the given attributes for soft function-key labels
  • ncurses_slk_attrset — Set given attributes for soft function-key labels
  • ncurses_slk_clear — Clears soft labels from screen
  • ncurses_slk_color — Sets color for soft label keys
  • ncurses_slk_init — Initializes soft label key functions
  • ncurses_slk_noutrefresh — Copies soft label keys to virtual screen
  • ncurses_slk_refresh — Copies soft label keys to screen
  • ncurses_slk_restore — Restores soft label keys
  • ncurses_slk_set — Sets function key labels
  • ncurses_slk_touch — Forces output when ncurses_slk_noutrefresh is performed
  • ncurses_standend — Stop using 'standout' attribute
  • ncurses_standout — Start using 'standout' attribute
  • ncurses_start_color — Initializes color functionality
  • ncurses_termattrs — Returns a logical OR of all attribute flags supported by terminal
  • ncurses_termname — Returns terminals (short)-name
  • ncurses_timeout — Set timeout for special key sequences
  • ncurses_top_panel — Moves a visible panel to the top of the stack
  • ncurses_typeahead — Specify different filedescriptor for typeahead checking
  • ncurses_ungetch — Put a character back into the input stream
  • ncurses_ungetmouse — Pushes mouse event to queue
  • ncurses_update_panels — Refreshes the virtual screen to reflect the relations between panels in the stack
  • ncurses_use_default_colors — Assign terminal default colors to color id -1
  • ncurses_use_env — Control use of environment information about terminal size
  • ncurses_use_extended_names — Control use of extended names in terminfo descriptions
  • ncurses_vidattr — Display the string on the terminal in the video attribute mode
  • ncurses_vline — Draw a vertical line at current position using an attributed character and max. n characters long
  • ncurses_waddch — Adds character at current position in a window and advance cursor
  • ncurses_waddstr — Outputs text at current postion in window
  • ncurses_wattroff — Turns off attributes for a window
  • ncurses_wattron — Turns on attributes for a window
  • ncurses_wattrset — Set the attributes for a window
  • ncurses_wborder — Draws a border around the window using attributed characters
  • ncurses_wclear — Clears window
  • ncurses_wcolor_set — Sets windows color pairings
  • ncurses_werase — Erase window contents
  • ncurses_wgetch — Reads a character from keyboard (window)
  • ncurses_whline — Draws a horizontal line in a window at current position using an attributed character and max. n characters long
  • ncurses_wmouse_trafo — Transforms window/stdscr coordinates
  • ncurses_wmove — Moves windows output position
  • ncurses_wnoutrefresh — Copies window to virtual screen
  • ncurses_wrefresh — Refresh window on terminal screen
  • ncurses_wstandend — End standout mode for a window
  • ncurses_wstandout — Enter standout mode for a window
  • ncurses_wvline — Draws a vertical line in a window at current position using an attributed character and max. n characters long


Add character at current position and advance cursor

  • « Ncurses Funções
  • ncurses_addchnstr »
  • PHP Manual
  • Ncurses Funções
  • Add character at current position and advance cursor

ncurses_addch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addch — Add character at current position and advance cursor

Descrição

ncurses_addch ( int $ch ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

ch


Add attributed string with specified length at current position

  • « ncurses_addch
  • ncurses_addchstr »
  • PHP Manual
  • Ncurses Funções
  • Add attributed string with specified length at current position

ncurses_addchnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addchnstr — Add attributed string with specified length at current position

Descrição

ncurses_addchnstr ( string $s , int $n ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

s

n


Add attributed string at current position

  • « ncurses_addchnstr
  • ncurses_addnstr »
  • PHP Manual
  • Ncurses Funções
  • Add attributed string at current position

ncurses_addchstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addchstr — Add attributed string at current position

Descrição

ncurses_addchstr ( string $s ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

s


Add string with specified length at current position

  • « ncurses_addchstr
  • ncurses_addstr »
  • PHP Manual
  • Ncurses Funções
  • Add string with specified length at current position

ncurses_addnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addnstr — Add string with specified length at current position

Descrição

ncurses_addnstr ( string $s , int $n ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

s

n


Output text at current position

  • « ncurses_addnstr
  • ncurses_assume_default_colors »
  • PHP Manual
  • Ncurses Funções
  • Output text at current position

ncurses_addstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addstr — Output text at current position

Descrição

ncurses_addstr ( string $text ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

text


Define default colors for color 0

  • « ncurses_addstr
  • ncurses_attroff »
  • PHP Manual
  • Ncurses Funções
  • Define default colors for color 0

ncurses_assume_default_colors

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_assume_default_colors — Define default colors for color 0

Descrição

ncurses_assume_default_colors ( int $fg , int $bg ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

fg

bg


Turn off the given attributes

  • « ncurses_assume_default_colors
  • ncurses_attron »
  • PHP Manual
  • Ncurses Funções
  • Turn off the given attributes

ncurses_attroff

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attroff — Turn off the given attributes

Descrição

ncurses_attroff ( int $attributes ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

attributes


Turn on the given attributes

  • « ncurses_attroff
  • ncurses_attrset »
  • PHP Manual
  • Ncurses Funções
  • Turn on the given attributes

ncurses_attron

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attron — Turn on the given attributes

Descrição

ncurses_attron ( int $attributes ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

attributes


Set given attributes

  • « ncurses_attron
  • ncurses_baudrate »
  • PHP Manual
  • Ncurses Funções
  • Set given attributes

ncurses_attrset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attrset — Set given attributes

Descrição

ncurses_attrset ( int $attributes ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

attributes


Returns baudrate of terminal

  • « ncurses_attrset
  • ncurses_beep »
  • PHP Manual
  • Ncurses Funções
  • Returns baudrate of terminal

ncurses_baudrate

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_baudrate — Returns baudrate of terminal

Descrição

ncurses_baudrate ( ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Let the terminal beep

  • « ncurses_baudrate
  • ncurses_bkgd »
  • PHP Manual
  • Ncurses Funções
  • Let the terminal beep

ncurses_beep

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_beep — Let the terminal beep

Descrição

ncurses_beep ( ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

ncurses_beep() sends an audible alert (bell) and if its not possible flashes the screen.

Veja Também

  • ncurses_flash() - Flash terminal screen (visual bell)


Set background property for terminal screen

  • « ncurses_beep
  • ncurses_bkgdset »
  • PHP Manual
  • Ncurses Funções
  • Set background property for terminal screen

ncurses_bkgd

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bkgd — Set background property for terminal screen

Descrição

ncurses_bkgd ( int $attrchar ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

attrchar


Control screen background

  • « ncurses_bkgd
  • ncurses_border »
  • PHP Manual
  • Ncurses Funções
  • Control screen background

ncurses_bkgdset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bkgdset — Control screen background

Descrição

ncurses_bkgdset ( int $attrchar ) : void
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

attrchar


Draw a border around the screen using attributed characters

  • « ncurses_bkgdset
  • ncurses_bottom_panel »
  • PHP Manual
  • Ncurses Funções
  • Draw a border around the screen using attributed characters

ncurses_border

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_border — Draw a border around the screen using attributed characters

Descrição

ncurses_border ( int $left , int $right , int $top , int $bottom , int $tl_corner , int $tr_corner , int $bl_corner , int $br_corner ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Draws the specified lines and corners around the main window.

Use ncurses_wborder() for borders around subwindows!

Parâmetros

Every parameter expects 0 to draw a line or 1 to skip it.

left

right

top

bottom

tl_corner

Top left corner

tr_corner

Top right corner

bl_corner

Bottom left corner

br_corner

Bottom right corner

Veja Também

  • ncurses_wborder() - Draws a border around the window using attributed characters


Moves a visible panel to the bottom of the stack

  • « ncurses_border
  • ncurses_can_change_color »
  • PHP Manual
  • Ncurses Funções
  • Moves a visible panel to the bottom of the stack

ncurses_bottom_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bottom_panel — Moves a visible panel to the bottom of the stack

Descrição

ncurses_bottom_panel ( resource $panel ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

panel


Checks if terminal color definitions can be changed

  • « ncurses_bottom_panel
  • ncurses_cbreak »
  • PHP Manual
  • Ncurses Funções
  • Checks if terminal color definitions can be changed

ncurses_can_change_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_can_change_color — Checks if terminal color definitions can be changed

Descrição

ncurses_can_change_color ( ) : bool

Checks whether the terminal has color capabilities and whether the programmer can change color definitions using ncurses_init_color(). ncurses must be initialized using ncurses_init() before calling this function.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return true if the programmer can change color definitions, false otherwise.

Veja Também

  • ncurses_has_colors() - Checks if terminal has color capabilities
  • ncurses_init_color() - Define a terminal color
  • ncurses_start_color() - Initializes color functionality


Switch off input buffering

  • « ncurses_can_change_color
  • ncurses_clear »
  • PHP Manual
  • Ncurses Funções
  • Switch off input buffering

ncurses_cbreak

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_cbreak — Switch off input buffering

Descrição

ncurses_cbreak ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Disables line buffering and character processing (interrupt and flow control characters are unaffected), making characters typed by the user immediately available to the program.

Valor Retornado

Returns true or NCURSES_ERR if any error occurred.

Veja Também

  • ncurses_nocbreak() - Switch terminal to cooked mode


Clear screen

  • « ncurses_cbreak
  • ncurses_clrtobot »
  • PHP Manual
  • Ncurses Funções
  • Clear screen

ncurses_clear

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clear — Clear screen

Descrição

ncurses_clear ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Clears the screen completely without setting blanks.

Note: ncurses_clear() clears the screen without setting blanks, which have the current background rendition. To clear screen with blanks, use ncurses_erase().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ncurses_erase() - Erase terminal screen


Clear screen from current position to bottom

  • « ncurses_clear
  • ncurses_clrtoeol »
  • PHP Manual
  • Ncurses Funções
  • Clear screen from current position to bottom

ncurses_clrtobot

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clrtobot — Clear screen from current position to bottom

Descrição

ncurses_clrtobot ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Erases all lines from cursor to end of screen and creates blanks. Blanks created by ncurses_clrtobot() have the current background rendition.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ncurses_clear() - Clear screen
  • ncurses_clrtoeol() - Clear screen from current position to end of line


Clear screen from current position to end of line

  • « ncurses_clrtobot
  • ncurses_color_content »
  • PHP Manual
  • Ncurses Funções
  • Clear screen from current position to end of line

ncurses_clrtoeol

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clrtoeol — Clear screen from current position to end of line

Descrição

ncurses_clrtoeol ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Erases the current line from cursor position to the end. Blanks created by ncurses_clrtoeol() have the current background rendition.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ncurses_clear() - Clear screen
  • ncurses_clrtobot() - Clear screen from current position to bottom


Retrieves RGB components of a color

  • « ncurses_clrtoeol
  • ncurses_color_set »
  • PHP Manual
  • Ncurses Funções
  • Retrieves RGB components of a color

ncurses_color_content

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_color_content — Retrieves RGB components of a color

Descrição

ncurses_color_content ( int $color , int &$r , int &$g , int &$b ) : int

Retrieves the red, green, and blue components for the given color definition. Terminal color capabilities must be initialized with ncurses_start_color() prior to calling this function.

Parâmetros

color

The number of the color to retrieve information for. May be one of the pre-defined color constants.

r

A reference to which to return the red component of the color. The value returned to the reference will be between 0 and 1000.

g

A reference to which to return the green component of the color. The value returned to the reference will be between 0 and 1000.

b

A reference to which to return the blue component of the color. The value returned to the reference will be between 0 and 1000.

Valor Retornado

Returns -1 if the function was successful, and 0 if ncurses or terminal color capabilities have not been initialized.

Veja Também

  • ncurses_init_color() - Define a terminal color
  • ncurses_start_color() - Initializes color functionality


Set active foreground and background colors

  • « ncurses_color_content
  • ncurses_curs_set »
  • PHP Manual
  • Ncurses Funções
  • Set active foreground and background colors

ncurses_color_set

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_color_set — Set active foreground and background colors

Descrição

ncurses_color_set ( int $pair ) : int

Sets the active foreground and background colors. Any characters written after this function is invoked will have these colors. This function requires terminal colors to be supported and initialized using ncurses_start_color() beforehand.

ncurses uses color pairs to specify both foreground and background colors. Use ncurses_init_pair() to define a color pair.

Parâmetros

pair

The color pair from which to get the foreground and background colors to set as the active colors.

Valor Retornado

Returns -1 on success, and 0 on failure.

Exemplos

Exemplo #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// If the terminal supports colors, initialize and set active color
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Write a string at specified location
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Flush output to screen
ncurses_refresh();

ncurses_end();
?>

Veja Também

  • ncurses_init_pair() - Define a color pair
  • ncurses_start_color() - Initializes color functionality


Set cursor state

  • « ncurses_color_set
  • ncurses_def_prog_mode »
  • PHP Manual
  • Ncurses Funções
  • Set cursor state

ncurses_curs_set

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_curs_set — Set cursor state

Descrição

ncurses_curs_set ( int $visibility ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

visibility


Saves terminals (program) mode

  • « ncurses_curs_set
  • ncurses_def_shell_mode »
  • PHP Manual
  • Ncurses Funções
  • Saves terminals (program) mode

ncurses_def_prog_mode

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_def_prog_mode — Saves terminals (program) mode

Descrição

ncurses_def_prog_mode ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Saves the current terminal modes for program (in curses) for use by ncurses_reset_prog_mode().

Valor Retornado

Returns false on success, otherwise true.

Veja Também

  • ncurses_reset_prog_mode() - Resets the prog mode saved by def_prog_mode


Saves terminals (shell) mode

  • « ncurses_def_prog_mode
  • ncurses_define_key »
  • PHP Manual
  • Ncurses Funções
  • Saves terminals (shell) mode

ncurses_def_shell_mode

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_def_shell_mode — Saves terminals (shell) mode

Descrição

ncurses_def_shell_mode ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Saves the current terminal modes for shell (not in curses) for use by ncurses_reset_shell_mode().

Valor Retornado

Returns false on success, true otherwise.

Veja Também

  • ncurses_reset_shell_mode() - Resets the shell mode saved by def_shell_mode


Define a keycode

  • « ncurses_def_shell_mode
  • ncurses_del_panel »
  • PHP Manual
  • Ncurses Funções
  • Define a keycode

ncurses_define_key

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_define_key — Define a keycode

Descrição

ncurses_define_key ( string $definition , int $keycode ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

definition

keycode


Remove panel from the stack and delete it (but not the associated window)

  • « ncurses_define_key
  • ncurses_delay_output »
  • PHP Manual
  • Ncurses Funções
  • Remove panel from the stack and delete it (but not the associated window)

ncurses_del_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_del_panel — Remove panel from the stack and delete it (but not the associated window)

Descrição

ncurses_del_panel ( resource $panel ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

panel


Delay output on terminal using padding characters

  • « ncurses_del_panel
  • ncurses_delch »
  • PHP Manual
  • Ncurses Funções
  • Delay output on terminal using padding characters

ncurses_delay_output

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delay_output — Delay output on terminal using padding characters

Descrição

ncurses_delay_output ( int $milliseconds ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

milliseconds


Delete character at current position, move rest of line left

  • « ncurses_delay_output
  • ncurses_deleteln »
  • PHP Manual
  • Ncurses Funções
  • Delete character at current position, move rest of line left

ncurses_delch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delch — Delete character at current position, move rest of line left

Descrição

ncurses_delch ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Deletes the character under the cursor. All characters to the right of the cursor on the same line are moved to the left one position and the last character on the line is filled with a blank. The cursor position does not change.

Valor Retornado

Returns false on success, true otherwise.

Veja Também

  • ncurses_deleteln() - Delete line at current position, move rest of screen up


Delete line at current position, move rest of screen up

  • « ncurses_delch
  • ncurses_delwin »
  • PHP Manual
  • Ncurses Funções
  • Delete line at current position, move rest of screen up

ncurses_deleteln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_deleteln — Delete line at current position, move rest of screen up

Descrição

ncurses_deleteln ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Deletes the current line under cursor position. All lines below the current line are moved up one line. The bottom line of window is cleared. Cursor position does not change.

Valor Retornado

Returns false on success, otherwise true.

Veja Também

  • ncurses_delch() - Delete character at current position, move rest of line left


Delete a ncurses window

  • « ncurses_deleteln
  • ncurses_doupdate »
  • PHP Manual
  • Ncurses Funções
  • Delete a ncurses window

ncurses_delwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delwin — Delete a ncurses window

Descrição

ncurses_delwin ( resource $window ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window


Write all prepared refreshes to terminal

  • « ncurses_delwin
  • ncurses_echo »
  • PHP Manual
  • Ncurses Funções
  • Write all prepared refreshes to terminal

ncurses_doupdate

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_doupdate — Write all prepared refreshes to terminal

Descrição

ncurses_doupdate ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Compares the virtual screen to the physical screen and updates the physical screen. This way is more effective than using multiple refresh calls.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Activate keyboard input echo

  • « ncurses_doupdate
  • ncurses_echochar »
  • PHP Manual
  • Ncurses Funções
  • Activate keyboard input echo

ncurses_echo

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_echo — Activate keyboard input echo

Descrição

ncurses_echo ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Enables echo mode. All characters typed by user are echoed by ncurses_getch().

Valor Retornado

Returns false on success, true if any error occurred.

Veja Também

  • ncurses_noecho() - Switch off keyboard input echo to disable echo mode


Single character output including refresh

  • « ncurses_echo
  • ncurses_end »
  • PHP Manual
  • Ncurses Funções
  • Single character output including refresh

ncurses_echochar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_echochar — Single character output including refresh

Descrição

ncurses_echochar ( int $character ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

character


Stop using ncurses, clean up the screen

  • « ncurses_echochar
  • ncurses_erase »
  • PHP Manual
  • Ncurses Funções
  • Stop using ncurses, clean up the screen

ncurses_end

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_end — Stop using ncurses, clean up the screen

Descrição

ncurses_end ( ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Erase terminal screen

  • « ncurses_end
  • ncurses_erasechar »
  • PHP Manual
  • Ncurses Funções
  • Erase terminal screen

ncurses_erase

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_erase — Erase terminal screen

Descrição

ncurses_erase ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Fills the terminal screen with blanks.

Created blanks have the current background rendition, set by ncurses_bkgd().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ncurses_bkgd() - Set background property for terminal screen
  • ncurses_clear() - Clear screen


Returns current erase character

  • « ncurses_erase
  • ncurses_filter »
  • PHP Manual
  • Ncurses Funções
  • Returns current erase character

ncurses_erasechar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_erasechar — Returns current erase character

Descrição

ncurses_erasechar ( ) : string
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Returns the current erase character.

Valor Retornado

The current erase char, as a string.

Veja Também

  • ncurses_killchar() - Returns current line kill character


Set LINES for iniscr() and newterm() to 1

  • « ncurses_erasechar
  • ncurses_flash »
  • PHP Manual
  • Ncurses Funções
  • Set LINES for iniscr() and newterm() to 1

ncurses_filter

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_filter — Set LINES for iniscr() and newterm() to 1

Descrição

ncurses_filter ( ) : void
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Flash terminal screen (visual bell)

  • « ncurses_filter
  • ncurses_flushinp »
  • PHP Manual
  • Ncurses Funções
  • Flash terminal screen (visual bell)

ncurses_flash

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_flash — Flash terminal screen (visual bell)

Descrição

ncurses_flash ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Flashes the screen, and if its not possible, sends an audible alert (bell).

Valor Retornado

Returns false on success, otherwise true.

Veja Também

  • ncurses_beep() - Let the terminal beep


Flush keyboard input buffer

  • « ncurses_flash
  • ncurses_getch »
  • PHP Manual
  • Ncurses Funções
  • Flush keyboard input buffer

ncurses_flushinp

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_flushinp — Flush keyboard input buffer

Descrição

ncurses_flushinp ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Throws away any typeahead that has been typed and has not yet been read by your program.

Valor Retornado

Returns false on success, otherwise true.


Read a character from keyboard

  • « ncurses_flushinp
  • ncurses_getmaxyx »
  • PHP Manual
  • Ncurses Funções
  • Read a character from keyboard

ncurses_getch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getch — Read a character from keyboard

Descrição

ncurses_getch ( ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Returns the size of a window

  • « ncurses_getch
  • ncurses_getmouse »
  • PHP Manual
  • Ncurses Funções
  • Returns the size of a window

ncurses_getmaxyx

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getmaxyx — Returns the size of a window

Descrição

ncurses_getmaxyx ( resource $window , int &$y , int &$x ) : void
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Gets the horizontal and vertical size of the given window into the given variables.

Variables must be passed as reference, so they are updated when the user changes the terminal size.

Parâmetros

window

The measured window

y

This will be set to the window height

x

This will be set to the window width

Valor Retornado

Não há valor retornado.


Reads mouse event

  • « ncurses_getmaxyx
  • ncurses_getyx »
  • PHP Manual
  • Ncurses Funções
  • Reads mouse event

ncurses_getmouse

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getmouse — Reads mouse event

Descrição

ncurses_getmouse ( array &$mevent ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

ncurses_getmouse() reads mouse event out of queue.

Parâmetros

mevent

Event options will be delivered in this parameter which has to be an array, passed by reference (see example below).

On success an associative array with following keys will be delivered:

  • "id" : Id to distinguish multiple devices

  • "x" : screen relative x-position in character cells

  • "y" : screen relative y-position in character cells

  • "z" : currently not supported

  • "mmask" : Mouse action

Valor Retornado

Returns false if a mouse event is actually visible in the given window, otherwise returns true.

Exemplos

Exemplo #1 ncurses_getmouse() example

<?php
switch (ncurses_getch()){
  case NCURSES_KEY_MOUSE:
    if (!ncurses_getmouse($mevent)){
      if ($mevent["mmask"] & NCURSES_MOUSE_BUTTON1_PRESSED){
        $mouse_x = $mevent["x"]; // Save mouse position
        $mouse_y = $mevent["y"];
      }
    }
  break;

  default:
    /* .... */
}
?>

Veja Também

  • ncurses_ungetmouse() - Pushes mouse event to queue


Returns the current cursor position for a window

  • « ncurses_getmouse
  • ncurses_halfdelay »
  • PHP Manual
  • Ncurses Funções
  • Returns the current cursor position for a window

ncurses_getyx

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getyx — Returns the current cursor position for a window

Descrição

ncurses_getyx ( resource $window , int &$y , int &$x ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

y

x


Put terminal into halfdelay mode

  • « ncurses_getyx
  • ncurses_has_colors »
  • PHP Manual
  • Ncurses Funções
  • Put terminal into halfdelay mode

ncurses_halfdelay

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_halfdelay — Put terminal into halfdelay mode

Descrição

ncurses_halfdelay ( int $tenth ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

tenth


Checks if terminal has color capabilities

  • « ncurses_halfdelay
  • ncurses_has_ic »
  • PHP Manual
  • Ncurses Funções
  • Checks if terminal has color capabilities

ncurses_has_colors

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_colors — Checks if terminal has color capabilities

Descrição

ncurses_has_colors ( ) : bool

Checks whether the terminal has color capabilities. This function can be used to write terminal-independent programs. ncurses must be initialized using ncurses_init() before calling this function.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return true if the terminal has color capabilities, false otherwise.

Exemplos

Exemplo #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// If the terminal supports colors, initialize and set active color
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Write a string at specified location
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Flush output to screen
ncurses_refresh();

ncurses_end();
?>

Veja Também

  • ncurses_can_change_color() - Checks if terminal color definitions can be changed
  • ncurses_start_color() - Initializes color functionality


Check for insert- and delete-capabilities

  • « ncurses_has_colors
  • ncurses_has_il »
  • PHP Manual
  • Ncurses Funções
  • Check for insert- and delete-capabilities

ncurses_has_ic

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_ic — Check for insert- and delete-capabilities

Descrição

ncurses_has_ic ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Checks whether the terminal has insert and delete capabilities.

Valor Retornado

Returns true if the terminal has insert/delete-capabilities, false otherwise.

Veja Também

  • ncurses_has_il() - Check for line insert- and delete-capabilities


Check for line insert- and delete-capabilities

  • « ncurses_has_ic
  • ncurses_has_key »
  • PHP Manual
  • Ncurses Funções
  • Check for line insert- and delete-capabilities

ncurses_has_il

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_il — Check for line insert- and delete-capabilities

Descrição

ncurses_has_il ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Checks whether the terminal has insert- and delete-line-capabilities.

Valor Retornado

Returns true if the terminal has insert/delete-line capabilities, false otherwise.

Veja Também

  • ncurses_has_ic() - Check for insert- and delete-capabilities


Check for presence of a function key on terminal keyboard

  • « ncurses_has_il
  • ncurses_hide_panel »
  • PHP Manual
  • Ncurses Funções
  • Check for presence of a function key on terminal keyboard

ncurses_has_key

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_key — Check for presence of a function key on terminal keyboard

Descrição

ncurses_has_key ( int $keycode ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

keycode


Remove panel from the stack, making it invisible

  • « ncurses_has_key
  • ncurses_hline »
  • PHP Manual
  • Ncurses Funções
  • Remove panel from the stack, making it invisible

ncurses_hide_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_hide_panel — Remove panel from the stack, making it invisible

Descrição

ncurses_hide_panel ( resource $panel ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

panel


Draw a horizontal line at current position using an attributed character and max. n characters long

  • « ncurses_hide_panel
  • ncurses_inch »
  • PHP Manual
  • Ncurses Funções
  • Draw a horizontal line at current position using an attributed character and max. n characters long

ncurses_hline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_hline — Draw a horizontal line at current position using an attributed character and max. n characters long

Descrição

ncurses_hline ( int $charattr , int $n ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

charattr

n


Get character and attribute at current position

  • « ncurses_hline
  • ncurses_init_color »
  • PHP Manual
  • Ncurses Funções
  • Get character and attribute at current position

ncurses_inch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_inch — Get character and attribute at current position

Descrição

ncurses_inch ( ) : string
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Returns the character from the current position.

Valor Retornado

Returns the character, as a string.


Define a terminal color

  • « ncurses_inch
  • ncurses_init_pair »
  • PHP Manual
  • Ncurses Funções
  • Define a terminal color

ncurses_init_color

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init_color — Define a terminal color

Descrição

ncurses_init_color ( int $color , int $r , int $g , int $b ) : int

Defines or redefines the given color. When this function is called, all occurrences of the given color on the screen, if any, immediately change to the new definition.

Color capabilities must be supported by the terminal and initialized using ncurses_start_color() prior to calling this function. In addition, the terminal must have color changing capabilities; use ncurses_can_change_color() to check for this.

Parâmetros

color

The identification number of the color to redefine. It may be one of the default color constants.

r

A color value, between 0 and 1000, for the red component.

g

A color value, between 0 and 1000, for the green component.

b

A color value, between 0 and 1000, for the blue component.

Valor Retornado

Returns -1 if the function was successful, and 0 if ncurses or terminal color capabilities have not been initialized or the terminal does not have color changing capabilities.

Veja Também

  • ncurses_color_content() - Retrieves RGB components of a color
  • ncurses_start_color() - Initializes color functionality


Define a color pair

  • « ncurses_init_color
  • ncurses_init »
  • PHP Manual
  • Ncurses Funções
  • Define a color pair

ncurses_init_pair

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init_pair — Define a color pair

Descrição

ncurses_init_pair ( int $pair , int $fg , int $bg ) : int

Defines or redefines the given color pair to have the given foreground and background colors. If the color pair was previously initialized, the screen is refreshed and all occurrences of it are changed to reflect the new definition.

Color capabilities must be initialized using ncurses_start_color() before calling this function. The first color pair (color pair 0) is assumed to be white on black by default, but can be changed using ncurses_assume_default_colors().

Parâmetros

pair

The number of the color pair to define.

fg

The foreground color for the color pair. May be one of the pre-defined colors or one defined by ncurses_init_color() if the terminal has color changing capabilities.

bg

The background color for the color pair. May be one of the pre-defined colors or one defined by ncurses_init_color() if the terminal has color changing capabilities.

Valor Retornado

Returns -1 if the function was successful, and 0 if ncurses or color support were not initialized.

Notas

Note that color changing capabilities are not required for defining color pairs of pre-existing colors, but only for changing definitions (red, green, and blue components) of colors themselves per ncurses_init_color().

Exemplos

Exemplo #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// If the terminal supports colors, initialize and set active color
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Write a string at specified location
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Flush output to screen
ncurses_refresh();

ncurses_end();
?>

Veja Também

  • ncurses_pair_content() - Retrieves foreground and background colors of a color pair
  • ncurses_start_color() - Initializes color functionality


Initialize ncurses

  • « ncurses_init_pair
  • ncurses_insch »
  • PHP Manual
  • Ncurses Funções
  • Initialize ncurses

ncurses_init

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init — Initialize ncurses

Descrição

ncurses_init ( ) : void

Initializes the ncurses interface. This function must be used before any other ncurses function call.

Note that ncurses_end() must be called before exiting from the program, or the terminal will not be restored to its proper non-visual mode.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • ncurses_end() - Stop using ncurses, clean up the screen


Insert character moving rest of line including character at current position

  • « ncurses_init
  • ncurses_insdelln »
  • PHP Manual
  • Ncurses Funções
  • Insert character moving rest of line including character at current position

ncurses_insch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insch — Insert character moving rest of line including character at current position

Descrição

ncurses_insch ( int $character ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

character


Insert lines before current line scrolling down (negative numbers delete and scroll up)

  • « ncurses_insch
  • ncurses_insertln »
  • PHP Manual
  • Ncurses Funções
  • Insert lines before current line scrolling down (negative numbers delete and scroll up)

ncurses_insdelln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insdelln — Insert lines before current line scrolling down (negative numbers delete and scroll up)

Descrição

ncurses_insdelln ( int $count ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

count


Insert a line, move rest of screen down

  • « ncurses_insdelln
  • ncurses_insstr »
  • PHP Manual
  • Ncurses Funções
  • Insert a line, move rest of screen down

ncurses_insertln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insertln — Insert a line, move rest of screen down

Descrição

ncurses_insertln ( ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Inserts a new line above the current line. The bottom line will be lost.


Insert string at current position, moving rest of line right

  • « ncurses_insertln
  • ncurses_instr »
  • PHP Manual
  • Ncurses Funções
  • Insert string at current position, moving rest of line right

ncurses_insstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insstr — Insert string at current position, moving rest of line right

Descrição

ncurses_insstr ( string $text ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

text


Reads string from terminal screen

  • « ncurses_insstr
  • ncurses_isendwin »
  • PHP Manual
  • Ncurses Funções
  • Reads string from terminal screen

ncurses_instr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_instr — Reads string from terminal screen

Descrição

ncurses_instr ( string &$buffer ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Reads a string from the terminal screen and returns the number of characters read from the current character position until end of line.

Parâmetros

buffer

The characters. Attributes will be stripped.

Valor Retornado

Returns the number of characters.


Ncurses is in endwin mode, normal screen output may be performed

  • « ncurses_instr
  • ncurses_keyok »
  • PHP Manual
  • Ncurses Funções
  • Ncurses is in endwin mode, normal screen output may be performed

ncurses_isendwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_isendwin — Ncurses is in endwin mode, normal screen output may be performed

Descrição

ncurses_isendwin ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Checks if ncurses is in endwin mode.

Valor Retornado

Returns true, if ncurses_end() has been called without any subsequent calls to ncurses_wrefresh(), false otherwise.

Veja Também

  • ncurses_end() - Stop using ncurses, clean up the screen
  • ncurses_wrefresh() - Refresh window on terminal screen


Enable or disable a keycode

  • « ncurses_isendwin
  • ncurses_keypad »
  • PHP Manual
  • Ncurses Funções
  • Enable or disable a keycode

ncurses_keyok

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_keyok — Enable or disable a keycode

Descrição

ncurses_keyok ( int $keycode , bool $enable ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

keycode

enable


Turns keypad on or off

  • « ncurses_keyok
  • ncurses_killchar »
  • PHP Manual
  • Ncurses Funções
  • Turns keypad on or off

ncurses_keypad

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_keypad — Turns keypad on or off

Descrição

ncurses_keypad ( resource $window , bool $bf ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

bf


Returns current line kill character

  • « ncurses_keypad
  • ncurses_longname »
  • PHP Manual
  • Ncurses Funções
  • Returns current line kill character

ncurses_killchar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_killchar — Returns current line kill character

Descrição

ncurses_killchar ( ) : string
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Returns the current line kill character.

Valor Retornado

Returns the kill character, as a string.

Veja Também

  • ncurses_erasechar() - Returns current erase character


Returns terminals description

  • « ncurses_killchar
  • ncurses_meta »
  • PHP Manual
  • Ncurses Funções
  • Returns terminals description

ncurses_longname

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_longname — Returns terminals description

Descrição

ncurses_longname ( ) : string
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Returns a verbose description of the terminal.

Valor Retornado

Returns the description, as a string truncated to 128 characters. On errors, returns null.

Veja Também

  • ncurses_termname() - Returns terminals (short)-name


Enables/Disable 8-bit meta key information

  • « ncurses_longname
  • ncurses_mouse_trafo »
  • PHP Manual
  • Ncurses Funções
  • Enables/Disable 8-bit meta key information

ncurses_meta

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_meta — Enables/Disable 8-bit meta key information

Descrição

ncurses_meta ( resource $window , bool $8bit ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

8bit


Transforms coordinates

  • « ncurses_meta
  • ncurses_mouseinterval »
  • PHP Manual
  • Ncurses Funções
  • Transforms coordinates

ncurses_mouse_trafo

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mouse_trafo — Transforms coordinates

Descrição

ncurses_mouse_trafo ( int &$y , int &$x , bool $toscreen ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

y

x

toscreen


Set timeout for mouse button clicks

  • « ncurses_mouse_trafo
  • ncurses_mousemask »
  • PHP Manual
  • Ncurses Funções
  • Set timeout for mouse button clicks

ncurses_mouseinterval

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mouseinterval — Set timeout for mouse button clicks

Descrição

ncurses_mouseinterval ( int $milliseconds ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

milliseconds


Sets mouse options

  • « ncurses_mouseinterval
  • ncurses_move_panel »
  • PHP Manual
  • Ncurses Funções
  • Sets mouse options

ncurses_mousemask

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mousemask — Sets mouse options

Descrição

ncurses_mousemask ( int $newmask , int &$oldmask ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Sets mouse events to be reported. By default no mouse events will be reported.

Mouse events are represented by NCURSES_KEY_MOUSE in the ncurses_wgetch() input stream. To read the event data and pop the event of queue, call ncurses_getmouse().

Parâmetros

newmask

Mouse mask options can be set with the following predefined constants:

  • NCURSES_BUTTON1_PRESSED

  • NCURSES_BUTTON1_RELEASED

  • NCURSES_BUTTON1_CLICKED

  • NCURSES_BUTTON1_DOUBLE_CLICKED

  • NCURSES_BUTTON1_TRIPLE_CLICKED

  • NCURSES_BUTTON2_PRESSED

  • NCURSES_BUTTON2_RELEASED

  • NCURSES_BUTTON2_CLICKED

  • NCURSES_BUTTON2_DOUBLE_CLICKED

  • NCURSES_BUTTON2_TRIPLE_CLICKED

  • NCURSES_BUTTON3_PRESSED

  • NCURSES_BUTTON3_RELEASED

  • NCURSES_BUTTON3_CLICKED

  • NCURSES_BUTTON3_DOUBLE_CLICKED

  • NCURSES_BUTTON3_TRIPLE_CLICKED

  • NCURSES_BUTTON4_PRESSED

  • NCURSES_BUTTON4_RELEASED

  • NCURSES_BUTTON4_CLICKED

  • NCURSES_BUTTON4_DOUBLE_CLICKED

  • NCURSES_BUTTON4_TRIPLE_CLICKED

  • NCURSES_BUTTON_SHIFT>

  • NCURSES_BUTTON_CTRL

  • NCURSES_BUTTON_ALT

  • NCURSES_ALL_MOUSE_EVENTS

  • NCURSES_REPORT_MOUSE_POSITION

As a side effect, setting a zero mousemask in newmask turns off the mouse pointer. Setting a non zero value turns mouse pointer on.

oldmask

This will be set to the previous value of the mouse event mask.

Valor Retornado

Returns the mask of reportable events. On complete failure, it returns 0.

Exemplos

Exemplo #1 ncurses_mousemask() example

<?php
$newmask = NCURSES_BUTTON1_CLICKED + NCURSES_BUTTON1_RELEASED;
$mask = ncurses_mousemask($newmask, $oldmask);
if ($mask & $newmask){
    printf("All specified mouse options will be supported\n");
}
?>

Veja Também

  • ncurses_getch() - Read a character from keyboard
  • ncurses_getmouse() - Reads mouse event
  • ncurses_ungetmouse() - Pushes mouse event to queue


Moves a panel so that its upper-left corner is at [startx, starty]

  • « ncurses_mousemask
  • ncurses_move »
  • PHP Manual
  • Ncurses Funções
  • Moves a panel so that its upper-left corner is at [startx, starty]

ncurses_move_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_move_panel — Moves a panel so that its upper-left corner is at [startx, starty]

Descrição

ncurses_move_panel ( resource $panel , int $startx , int $starty ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

panel

startx

starty


Move output position

  • « ncurses_move_panel
  • ncurses_mvaddch »
  • PHP Manual
  • Ncurses Funções
  • Move output position

ncurses_move

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_move — Move output position

Descrição

ncurses_move ( int $y , int $x ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

y

x


Move current position and add character

  • « ncurses_move
  • ncurses_mvaddchnstr »
  • PHP Manual
  • Ncurses Funções
  • Move current position and add character

ncurses_mvaddch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddch — Move current position and add character

Descrição

ncurses_mvaddch ( int $y , int $x , int $c ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

y

x

c


Move position and add attributed string with specified length

  • « ncurses_mvaddch
  • ncurses_mvaddchstr »
  • PHP Manual
  • Ncurses Funções
  • Move position and add attributed string with specified length

ncurses_mvaddchnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddchnstr — Move position and add attributed string with specified length

Descrição

ncurses_mvaddchnstr ( int $y , int $x , string $s , int $n ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

y

x

s

n


Move position and add attributed string

  • « ncurses_mvaddchnstr
  • ncurses_mvaddnstr »
  • PHP Manual
  • Ncurses Funções
  • Move position and add attributed string

ncurses_mvaddchstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddchstr — Move position and add attributed string

Descrição

ncurses_mvaddchstr ( int $y , int $x , string $s ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

y

x

s


Move position and add string with specified length

  • « ncurses_mvaddchstr
  • ncurses_mvaddstr »
  • PHP Manual
  • Ncurses Funções
  • Move position and add string with specified length

ncurses_mvaddnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddnstr — Move position and add string with specified length

Descrição

ncurses_mvaddnstr ( int $y , int $x , string $s , int $n ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

y

x

s

n


Move position and add string

  • « ncurses_mvaddnstr
  • ncurses_mvcur »
  • PHP Manual
  • Ncurses Funções
  • Move position and add string

ncurses_mvaddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddstr — Move position and add string

Descrição

ncurses_mvaddstr ( int $y , int $x , string $s ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

y

x

s


Move cursor immediately

  • « ncurses_mvaddstr
  • ncurses_mvdelch »
  • PHP Manual
  • Ncurses Funções
  • Move cursor immediately

ncurses_mvcur

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvcur — Move cursor immediately

Descrição

ncurses_mvcur ( int $old_y , int $old_x , int $new_y , int $new_x ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

old_y

old_x

new_y

new_x


Move position and delete character, shift rest of line left

  • « ncurses_mvcur
  • ncurses_mvgetch »
  • PHP Manual
  • Ncurses Funções
  • Move position and delete character, shift rest of line left

ncurses_mvdelch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvdelch — Move position and delete character, shift rest of line left

Descrição

ncurses_mvdelch ( int $y , int $x ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

y

x


Move position and get character at new position

  • « ncurses_mvdelch
  • ncurses_mvhline »
  • PHP Manual
  • Ncurses Funções
  • Move position and get character at new position

ncurses_mvgetch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvgetch — Move position and get character at new position

Descrição

ncurses_mvgetch ( int $y , int $x ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

y

x


Set new position and draw a horizontal line using an attributed character and max. n characters long

  • « ncurses_mvgetch
  • ncurses_mvinch »
  • PHP Manual
  • Ncurses Funções
  • Set new position and draw a horizontal line using an attributed character and max. n characters long

ncurses_mvhline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvhline — Set new position and draw a horizontal line using an attributed character and max. n characters long

Descrição

ncurses_mvhline ( int $y , int $x , int $attrchar , int $n ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

y

x

attrchar

n


Move position and get attributed character at new position

  • « ncurses_mvhline
  • ncurses_mvvline »
  • PHP Manual
  • Ncurses Funções
  • Move position and get attributed character at new position

ncurses_mvinch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvinch — Move position and get attributed character at new position

Descrição

ncurses_mvinch ( int $y , int $x ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

y

x


Set new position and draw a vertical line using an attributed character and max. n characters long

  • « ncurses_mvinch
  • ncurses_mvwaddstr »
  • PHP Manual
  • Ncurses Funções
  • Set new position and draw a vertical line using an attributed character and max. n characters long

ncurses_mvvline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvvline — Set new position and draw a vertical line using an attributed character and max. n characters long

Descrição

ncurses_mvvline ( int $y , int $x , int $attrchar , int $n ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

y

x

attrchar

n


Add string at new position in window

  • « ncurses_mvvline
  • ncurses_napms »
  • PHP Manual
  • Ncurses Funções
  • Add string at new position in window

ncurses_mvwaddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvwaddstr — Add string at new position in window

Descrição

ncurses_mvwaddstr ( resource $window , int $y , int $x , string $text ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

y

x

text


Sleep

  • « ncurses_mvwaddstr
  • ncurses_new_panel »
  • PHP Manual
  • Ncurses Funções
  • Sleep

ncurses_napms

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_napms — Sleep

Descrição

ncurses_napms ( int $milliseconds ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

milliseconds


Create a new panel and associate it with window

  • « ncurses_napms
  • ncurses_newpad »
  • PHP Manual
  • Ncurses Funções
  • Create a new panel and associate it with window

ncurses_new_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_new_panel — Create a new panel and associate it with window

Descrição

ncurses_new_panel ( resource $window ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window


Creates a new pad (window)

  • « ncurses_new_panel
  • ncurses_newwin »
  • PHP Manual
  • Ncurses Funções
  • Creates a new pad (window)

ncurses_newpad

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_newpad — Creates a new pad (window)

Descrição

ncurses_newpad ( int $rows , int $cols ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

rows

cols


Create a new window

  • « ncurses_newpad
  • ncurses_nl »
  • PHP Manual
  • Ncurses Funções
  • Create a new window

ncurses_newwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_newwin — Create a new window

Descrição

ncurses_newwin ( int $rows , int $cols , int $y , int $x ) : resource
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Creates a new window to draw elements in.

When creating additional windows, remember to use ncurses_getmaxyx() to check for available space, as terminal size is individual and may vary.

Parâmetros

rows

Number of rows

cols

Number of columns

y

y-coordinate of the origin

x

x-coordinate of the origin

Valor Retornado

Returns a resource ID for the new window.


Translate newline and carriage return / line feed

  • « ncurses_newwin
  • ncurses_nocbreak »
  • PHP Manual
  • Ncurses Funções
  • Translate newline and carriage return / line feed

ncurses_nl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nl — Translate newline and carriage return / line feed

Descrição

ncurses_nl ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Switch terminal to cooked mode

  • « ncurses_nl
  • ncurses_noecho »
  • PHP Manual
  • Ncurses Funções
  • Switch terminal to cooked mode

ncurses_nocbreak

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nocbreak — Switch terminal to cooked mode

Descrição

ncurses_nocbreak ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Returns terminal to normal (cooked) mode. Initially the terminal may or may not be in cbreak mode as the mode is inherited. Therefore a program should call ncurses_cbreak() and ncurses_nocbreak() explicitly.

Valor Retornado

Returns true if any error occurred, otherwise false.

Veja Também

  • ncurses_cbreak() - Switch off input buffering


Switch off keyboard input echo

  • « ncurses_nocbreak
  • ncurses_nonl »
  • PHP Manual
  • Ncurses Funções
  • Switch off keyboard input echo

ncurses_noecho

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noecho — Switch off keyboard input echo

Descrição

ncurses_noecho ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Prevents echoing of user typed characters.

Valor Retornado

Returns true if any error occurred, false otherwise.

Veja Também

  • ncurses_echo() - Activate keyboard input echo
  • ncurses_getch() - Read a character from keyboard


Do not translate newline and carriage return / line feed

  • « ncurses_noecho
  • ncurses_noqiflush »
  • PHP Manual
  • Ncurses Funções
  • Do not translate newline and carriage return / line feed

ncurses_nonl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nonl — Do not translate newline and carriage return / line feed

Descrição

ncurses_nonl ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Do not flush on signal characters

  • « ncurses_nonl
  • ncurses_noraw »
  • PHP Manual
  • Ncurses Funções
  • Do not flush on signal characters

ncurses_noqiflush

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noqiflush — Do not flush on signal characters

Descrição

ncurses_noqiflush ( ) : void
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Switch terminal out of raw mode

  • « ncurses_noqiflush
  • ncurses_pair_content »
  • PHP Manual
  • Ncurses Funções
  • Switch terminal out of raw mode

ncurses_noraw

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noraw — Switch terminal out of raw mode

Descrição

ncurses_noraw ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Switches the terminal out of raw mode. Raw mode is similar to cbreak mode, in that characters typed are immediately passed through to the user program. The difference is that in raw mode, the interrupt, quit, suspend and flow control characters are all passed through uninterpreted, instead of generating a signal.

Valor Retornado

Returns true if any error occurred, otherwise false.

Veja Também

  • ncurses_raw() - Switch terminal into raw mode
  • ncurses_cbreak() - Switch off input buffering
  • ncurses_nocbreak() - Switch terminal to cooked mode


Retrieves foreground and background colors of a color pair

  • « ncurses_noraw
  • ncurses_panel_above »
  • PHP Manual
  • Ncurses Funções
  • Retrieves foreground and background colors of a color pair

ncurses_pair_content

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_pair_content — Retrieves foreground and background colors of a color pair

Descrição

ncurses_pair_content ( int $pair , int &$f , int &$b ) : int

Retrieves the foreground and background colors that constitute the given color pair. Terminal color capabilities must be initialized with ncurses_start_color() prior to calling this function.

Parâmetros

pair

The number of the color pair to retrieve information for.

f

A reference to which to return the foreground color of the color pair. The information returned will be a color number referring to one of the pre-defined colors or a color defined previously by ncurses_init_color() if the terminal supports color changing.

b

A reference to which to return the background color of the color pair. The information returned will be a color number referring to one of the pre-defined colors or a color defined previously by ncurses_init_color() if the terminal supports color changing.

Valor Retornado

Returns -1 if the function was successful, and 0 if ncurses or terminal color capabilities have not been initialized.

Veja Também

  • ncurses_init_pair() - Define a color pair
  • ncurses_start_color() - Initializes color functionality


Returns the panel above panel

  • « ncurses_pair_content
  • ncurses_panel_below »
  • PHP Manual
  • Ncurses Funções
  • Returns the panel above panel

ncurses_panel_above

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_above — Returns the panel above panel

Descrição

ncurses_panel_above ( resource $panel ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

panel

Valor Retornado

If panel is null, returns the bottom panel in the stack.


Returns the panel below panel

  • « ncurses_panel_above
  • ncurses_panel_window »
  • PHP Manual
  • Ncurses Funções
  • Returns the panel below panel

ncurses_panel_below

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_below — Returns the panel below panel

Descrição

ncurses_panel_below ( resource $panel ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

panel

Parâmetros

If panel is null, returns the top panel in the stack.


Returns the window associated with panel

  • « ncurses_panel_below
  • ncurses_pnoutrefresh »
  • PHP Manual
  • Ncurses Funções
  • Returns the window associated with panel

ncurses_panel_window

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_window — Returns the window associated with panel

Descrição

ncurses_panel_window ( resource $panel ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

panel


Copies a region from a pad into the virtual screen

  • « ncurses_panel_window
  • ncurses_prefresh »
  • PHP Manual
  • Ncurses Funções
  • Copies a region from a pad into the virtual screen

ncurses_pnoutrefresh

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_pnoutrefresh — Copies a region from a pad into the virtual screen

Descrição

ncurses_pnoutrefresh ( resource $pad , int $pminrow , int $pmincol , int $sminrow , int $smincol , int $smaxrow , int $smaxcol ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

pad

pminrow

pmincol

sminrow

smincol

smaxrow

smaxcol


Copies a region from a pad into the virtual screen

  • « ncurses_pnoutrefresh
  • ncurses_putp »
  • PHP Manual
  • Ncurses Funções
  • Copies a region from a pad into the virtual screen

ncurses_prefresh

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_prefresh — Copies a region from a pad into the virtual screen

Descrição

ncurses_prefresh ( resource $pad , int $pminrow , int $pmincol , int $sminrow , int $smincol , int $smaxrow , int $smaxcol ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

pad

pminrow

pmincol

sminrow

smincol

smaxrow

smaxcol


Apply padding information to the string and output it

  • « ncurses_prefresh
  • ncurses_qiflush »
  • PHP Manual
  • Ncurses Funções
  • Apply padding information to the string and output it

ncurses_putp

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_putp — Apply padding information to the string and output it

Descrição

ncurses_putp ( string $text ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

text


Flush on signal characters

  • « ncurses_putp
  • ncurses_raw »
  • PHP Manual
  • Ncurses Funções
  • Flush on signal characters

ncurses_qiflush

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_qiflush — Flush on signal characters

Descrição

ncurses_qiflush ( ) : void
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Switch terminal into raw mode

  • « ncurses_qiflush
  • ncurses_refresh »
  • PHP Manual
  • Ncurses Funções
  • Switch terminal into raw mode

ncurses_raw

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_raw — Switch terminal into raw mode

Descrição

ncurses_raw ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Places the terminal in raw mode. Raw mode is similar to cbreak mode, in that characters typed are immediately passed through to the user program. The difference is that in raw mode, the interrupt, quit, suspend and flow control characters are all passed through uninterpreted, instead of generating a signal.

Valor Retornado

Returns true if any error occurred, otherwise false.

Veja Também

  • ncurses_noraw() - Switch terminal out of raw mode
  • ncurses_cbreak() - Switch off input buffering
  • ncurses_nocbreak() - Switch terminal to cooked mode


Refresh screen

  • « ncurses_raw
  • ncurses_replace_panel »
  • PHP Manual
  • Ncurses Funções
  • Refresh screen

ncurses_refresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_refresh — Refresh screen

Descrição

ncurses_refresh ( int $ch ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

ch


Replaces the window associated with panel

  • « ncurses_refresh
  • ncurses_reset_prog_mode »
  • PHP Manual
  • Ncurses Funções
  • Replaces the window associated with panel

ncurses_replace_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_replace_panel — Replaces the window associated with panel

Descrição

ncurses_replace_panel ( resource $panel , resource $window ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

panel

window


Resets the prog mode saved by def_prog_mode

  • « ncurses_replace_panel
  • ncurses_reset_shell_mode »
  • PHP Manual
  • Ncurses Funções
  • Resets the prog mode saved by def_prog_mode

ncurses_reset_prog_mode

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_reset_prog_mode — Resets the prog mode saved by def_prog_mode

Descrição

ncurses_reset_prog_mode ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Resets the shell mode saved by def_shell_mode

  • « ncurses_reset_prog_mode
  • ncurses_resetty »
  • PHP Manual
  • Ncurses Funções
  • Resets the shell mode saved by def_shell_mode

ncurses_reset_shell_mode

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_reset_shell_mode — Resets the shell mode saved by def_shell_mode

Descrição

ncurses_reset_shell_mode ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Restores saved terminal state

  • « ncurses_reset_shell_mode
  • ncurses_savetty »
  • PHP Manual
  • Ncurses Funções
  • Restores saved terminal state

ncurses_resetty

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_resetty — Restores saved terminal state

Descrição

ncurses_resetty ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Restores the terminal state, which was previously saved by calling ncurses_savetty().

Valor Retornado

Always returns false.

Veja Também

  • ncurses_savetty() - Saves terminal state


Saves terminal state

  • « ncurses_resetty
  • ncurses_scr_dump »
  • PHP Manual
  • Ncurses Funções
  • Saves terminal state

ncurses_savetty

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_savetty — Saves terminal state

Descrição

ncurses_savetty ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Saves the current terminal state. The saved terminal state can be restored with ncurses_resetty().

Valor Retornado

Always returns false.

Veja Também

  • ncurses_resetty() - Restores saved terminal state


Dump screen content to file

  • « ncurses_savetty
  • ncurses_scr_init »
  • PHP Manual
  • Ncurses Funções
  • Dump screen content to file

ncurses_scr_dump

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_dump — Dump screen content to file

Descrição

ncurses_scr_dump ( string $filename ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

filename


Initialize screen from file dump

  • « ncurses_scr_dump
  • ncurses_scr_restore »
  • PHP Manual
  • Ncurses Funções
  • Initialize screen from file dump

ncurses_scr_init

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_init — Initialize screen from file dump

Descrição

ncurses_scr_init ( string $filename ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

filename


Restore screen from file dump

  • « ncurses_scr_init
  • ncurses_scr_set »
  • PHP Manual
  • Ncurses Funções
  • Restore screen from file dump

ncurses_scr_restore

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_restore — Restore screen from file dump

Descrição

ncurses_scr_restore ( string $filename ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

filename


Inherit screen from file dump

  • « ncurses_scr_restore
  • ncurses_scrl »
  • PHP Manual
  • Ncurses Funções
  • Inherit screen from file dump

ncurses_scr_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_set — Inherit screen from file dump

Descrição

ncurses_scr_set ( string $filename ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

filename


Scroll window content up or down without changing current position

  • « ncurses_scr_set
  • ncurses_show_panel »
  • PHP Manual
  • Ncurses Funções
  • Scroll window content up or down without changing current position

ncurses_scrl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scrl — Scroll window content up or down without changing current position

Descrição

ncurses_scrl ( int $count ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

count


Places an invisible panel on top of the stack, making it visible

  • « ncurses_scrl
  • ncurses_slk_attr »
  • PHP Manual
  • Ncurses Funções
  • Places an invisible panel on top of the stack, making it visible

ncurses_show_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_show_panel — Places an invisible panel on top of the stack, making it visible

Descrição

ncurses_show_panel ( resource $panel ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

panel


Returns current soft label key attribute

  • « ncurses_show_panel
  • ncurses_slk_attroff »
  • PHP Manual
  • Ncurses Funções
  • Returns current soft label key attribute

ncurses_slk_attr

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attr — Returns current soft label key attribute

Descrição

ncurses_slk_attr ( ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Returns the current soft label key attribute.

Valor Retornado

The attribute, as an integer.


Turn off the given attributes for soft function-key labels

  • « ncurses_slk_attr
  • ncurses_slk_attron »
  • PHP Manual
  • Ncurses Funções
  • Turn off the given attributes for soft function-key labels

ncurses_slk_attroff

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attroff — Turn off the given attributes for soft function-key labels

Descrição

ncurses_slk_attroff ( int $intarg ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

intarg


Turn on the given attributes for soft function-key labels

  • « ncurses_slk_attroff
  • ncurses_slk_attrset »
  • PHP Manual
  • Ncurses Funções
  • Turn on the given attributes for soft function-key labels

ncurses_slk_attron

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attron — Turn on the given attributes for soft function-key labels

Descrição

ncurses_slk_attron ( int $intarg ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

intarg


Set given attributes for soft function-key labels

  • « ncurses_slk_attron
  • ncurses_slk_clear »
  • PHP Manual
  • Ncurses Funções
  • Set given attributes for soft function-key labels

ncurses_slk_attrset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attrset — Set given attributes for soft function-key labels

Descrição

ncurses_slk_attrset ( int $intarg ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

intarg


Clears soft labels from screen

  • « ncurses_slk_attrset
  • ncurses_slk_color »
  • PHP Manual
  • Ncurses Funções
  • Clears soft labels from screen

ncurses_slk_clear

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_clear — Clears soft labels from screen

Descrição

ncurses_slk_clear ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

The function ncurses_slk_clear() clears soft label keys from screen.

Valor Retornado

Returns true on errors, false otherwise.


Sets color for soft label keys

  • « ncurses_slk_clear
  • ncurses_slk_init »
  • PHP Manual
  • Ncurses Funções
  • Sets color for soft label keys

ncurses_slk_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_color — Sets color for soft label keys

Descrição

ncurses_slk_color ( int $intarg ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

intarg


Initializes soft label key functions

  • « ncurses_slk_color
  • ncurses_slk_noutrefresh »
  • PHP Manual
  • Ncurses Funções
  • Initializes soft label key functions

ncurses_slk_init

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_init — Initializes soft label key functions

Descrição

ncurses_slk_init ( int $format ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Initializes soft label key functions

This function must be called before ncurses_init() or ncurses_newwin() is called.

Parâmetros

format

If ncurses_init() eventually uses a line from stdscr to emulate the soft labels, then this parameter determines how the labels are arranged of the screen.

0 indicates a 3-2-3 arrangement of the labels, 1 indicates a 4-4 arrangement and 2 indicates the PC like 4-4-4 mode, but in addition an index line will be created.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Copies soft label keys to virtual screen

  • « ncurses_slk_init
  • ncurses_slk_refresh »
  • PHP Manual
  • Ncurses Funções
  • Copies soft label keys to virtual screen

ncurses_slk_noutrefresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_noutrefresh — Copies soft label keys to virtual screen

Descrição

ncurses_slk_noutrefresh ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Copies soft label keys to screen

  • « ncurses_slk_noutrefresh
  • ncurses_slk_restore »
  • PHP Manual
  • Ncurses Funções
  • Copies soft label keys to screen

ncurses_slk_refresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_refresh — Copies soft label keys to screen

Descrição

ncurses_slk_refresh ( ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Copies soft label keys from virtual screen to physical screen.


Restores soft label keys

  • « ncurses_slk_refresh
  • ncurses_slk_set »
  • PHP Manual
  • Ncurses Funções
  • Restores soft label keys

ncurses_slk_restore

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_restore — Restores soft label keys

Descrição

ncurses_slk_restore ( ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Restores the soft label keys after ncurses_slk_clear() has been performed.


Sets function key labels

  • « ncurses_slk_restore
  • ncurses_slk_touch »
  • PHP Manual
  • Ncurses Funções
  • Sets function key labels

ncurses_slk_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_set — Sets function key labels

Descrição

ncurses_slk_set ( int $labelnr , string $label , int $format ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

labelnr

label

format


Forces output when ncurses_slk_noutrefresh is performed

  • « ncurses_slk_set
  • ncurses_standend »
  • PHP Manual
  • Ncurses Funções
  • Forces output when ncurses_slk_noutrefresh is performed

ncurses_slk_touch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_touch — Forces output when ncurses_slk_noutrefresh is performed

Descrição

ncurses_slk_touch ( ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Forces all the soft labels to be output the next time a ncurses_slk_noutrefresh() is performed.


Stop using 'standout' attribute

  • « ncurses_slk_touch
  • ncurses_standout »
  • PHP Manual
  • Ncurses Funções
  • Stop using 'standout' attribute

ncurses_standend

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_standend — Stop using 'standout' attribute

Descrição

ncurses_standend ( ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Start using 'standout' attribute

  • « ncurses_standend
  • ncurses_start_color »
  • PHP Manual
  • Ncurses Funções
  • Start using 'standout' attribute

ncurses_standout

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_standout — Start using 'standout' attribute

Descrição

ncurses_standout ( ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Initializes color functionality

  • « ncurses_standout
  • ncurses_termattrs »
  • PHP Manual
  • Ncurses Funções
  • Initializes color functionality

ncurses_start_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_start_color — Initializes color functionality

Descrição

ncurses_start_color ( ) : int

Initializes color functionality in ncurses. This function must be called before any color manipulation functions are called and after ncurses_init() is called. It is good practice to call this function right after ncurses_init().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns 0 on success, or -1 if the color table could not be allocated or ncurses was not initialized.

Exemplos

Exemplo #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// If the terminal supports colors, initialize and set active color
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Write a string at specified location
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Flush output to screen
ncurses_refresh();

ncurses_end();
?>

Veja Também

  • ncurses_can_change_color() - Checks if terminal color definitions can be changed
  • ncurses_has_colors() - Checks if terminal has color capabilities


Returns a logical OR of all attribute flags supported by terminal

  • « ncurses_start_color
  • ncurses_termname »
  • PHP Manual
  • Ncurses Funções
  • Returns a logical OR of all attribute flags supported by terminal

ncurses_termattrs

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_termattrs — Returns a logical OR of all attribute flags supported by terminal

Descrição

ncurses_termattrs ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Returns terminals (short)-name

  • « ncurses_termattrs
  • ncurses_timeout »
  • PHP Manual
  • Ncurses Funções
  • Returns terminals (short)-name

ncurses_termname

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_termname — Returns terminals (short)-name

Descrição

ncurses_termname ( ) : string
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Returns terminals shortname.

Valor Retornado

Returns the shortname of the terminal, truncated to 14 characters. On errors, returns null.

Veja Também

  • ncurses_longname() - Returns terminals description


Set timeout for special key sequences

  • « ncurses_termname
  • ncurses_top_panel »
  • PHP Manual
  • Ncurses Funções
  • Set timeout for special key sequences

ncurses_timeout

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_timeout — Set timeout for special key sequences

Descrição

ncurses_timeout ( int $millisec ) : void
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

millisec


Moves a visible panel to the top of the stack

  • « ncurses_timeout
  • ncurses_typeahead »
  • PHP Manual
  • Ncurses Funções
  • Moves a visible panel to the top of the stack

ncurses_top_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_top_panel — Moves a visible panel to the top of the stack

Descrição

ncurses_top_panel ( resource $panel ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

panel


Specify different filedescriptor for typeahead checking

  • « ncurses_top_panel
  • ncurses_ungetch »
  • PHP Manual
  • Ncurses Funções
  • Specify different filedescriptor for typeahead checking

ncurses_typeahead

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_typeahead — Specify different filedescriptor for typeahead checking

Descrição

ncurses_typeahead ( int $fd ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

fd


Put a character back into the input stream

  • « ncurses_typeahead
  • ncurses_ungetmouse »
  • PHP Manual
  • Ncurses Funções
  • Put a character back into the input stream

ncurses_ungetch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_ungetch — Put a character back into the input stream

Descrição

ncurses_ungetch ( int $keycode ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

keycode


Pushes mouse event to queue

  • « ncurses_ungetch
  • ncurses_update_panels »
  • PHP Manual
  • Ncurses Funções
  • Pushes mouse event to queue

ncurses_ungetmouse

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_ungetmouse — Pushes mouse event to queue

Descrição

ncurses_ungetmouse ( array $mevent ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Pushes a KEY_MOUSE event onto the input queue and associates with this event the given state data and screen-relative character cell coordinates, specified in mevent.

Parâmetros

mevent

An associative array specifying the event options:

  • "id" : Id to distinguish multiple devices

  • "x" : screen relative x-position in character cells

  • "y" : screen relative y-position in character cells

  • "z" : currently not supported

  • "mmask" : Mouse action

Valor Retornado

Returns false on success, true otherwise.

Veja Também

  • ncurses_getmouse() - Reads mouse event


Refreshes the virtual screen to reflect the relations between panels in the stack

  • « ncurses_ungetmouse
  • ncurses_use_default_colors »
  • PHP Manual
  • Ncurses Funções
  • Refreshes the virtual screen to reflect the relations between panels in the stack

ncurses_update_panels

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_update_panels — Refreshes the virtual screen to reflect the relations between panels in the stack

Descrição

ncurses_update_panels ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Assign terminal default colors to color id -1

  • « ncurses_update_panels
  • ncurses_use_env »
  • PHP Manual
  • Ncurses Funções
  • Assign terminal default colors to color id -1

ncurses_use_default_colors

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_default_colors — Assign terminal default colors to color id -1

Descrição

ncurses_use_default_colors ( ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Control use of environment information about terminal size

  • « ncurses_use_default_colors
  • ncurses_use_extended_names »
  • PHP Manual
  • Ncurses Funções
  • Control use of environment information about terminal size

ncurses_use_env

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_env — Control use of environment information about terminal size

Descrição

ncurses_use_env ( bool $flag ) : void
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

flag


Control use of extended names in terminfo descriptions

  • « ncurses_use_env
  • ncurses_vidattr »
  • PHP Manual
  • Ncurses Funções
  • Control use of extended names in terminfo descriptions

ncurses_use_extended_names

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_extended_names — Control use of extended names in terminfo descriptions

Descrição

ncurses_use_extended_names ( bool $flag ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

flag


Display the string on the terminal in the video attribute mode

  • « ncurses_use_extended_names
  • ncurses_vline »
  • PHP Manual
  • Ncurses Funções
  • Display the string on the terminal in the video attribute mode

ncurses_vidattr

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_vidattr — Display the string on the terminal in the video attribute mode

Descrição

ncurses_vidattr ( int $intarg ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

intarg


Draw a vertical line at current position using an attributed character and max. n characters long

  • « ncurses_vidattr
  • ncurses_waddch »
  • PHP Manual
  • Ncurses Funções
  • Draw a vertical line at current position using an attributed character and max. n characters long

ncurses_vline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_vline — Draw a vertical line at current position using an attributed character and max. n characters long

Descrição

ncurses_vline ( int $charattr , int $n ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

charattr

n


Adds character at current position in a window and advance cursor

  • « ncurses_vline
  • ncurses_waddstr »
  • PHP Manual
  • Ncurses Funções
  • Adds character at current position in a window and advance cursor

ncurses_waddch

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_waddch — Adds character at current position in a window and advance cursor

Descrição

ncurses_waddch ( resource $window , int $ch ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

ch


Outputs text at current postion in window

  • « ncurses_waddch
  • ncurses_wattroff »
  • PHP Manual
  • Ncurses Funções
  • Outputs text at current postion in window

ncurses_waddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_waddstr — Outputs text at current postion in window

Descrição

ncurses_waddstr ( resource $window , string $str , int $n = ? ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

str

n


Turns off attributes for a window

  • « ncurses_waddstr
  • ncurses_wattron »
  • PHP Manual
  • Ncurses Funções
  • Turns off attributes for a window

ncurses_wattroff

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattroff — Turns off attributes for a window

Descrição

ncurses_wattroff ( resource $window , int $attrs ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

attrs


Turns on attributes for a window

  • « ncurses_wattroff
  • ncurses_wattrset »
  • PHP Manual
  • Ncurses Funções
  • Turns on attributes for a window

ncurses_wattron

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattron — Turns on attributes for a window

Descrição

ncurses_wattron ( resource $window , int $attrs ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

attrs


Set the attributes for a window

  • « ncurses_wattron
  • ncurses_wborder »
  • PHP Manual
  • Ncurses Funções
  • Set the attributes for a window

ncurses_wattrset

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattrset — Set the attributes for a window

Descrição

ncurses_wattrset ( resource $window , int $attrs ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

attrs


Draws a border around the window using attributed characters

  • « ncurses_wattrset
  • ncurses_wclear »
  • PHP Manual
  • Ncurses Funções
  • Draws a border around the window using attributed characters

ncurses_wborder

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wborder — Draws a border around the window using attributed characters

Descrição

ncurses_wborder ( resource $window , int $left , int $right , int $top , int $bottom , int $tl_corner , int $tr_corner , int $bl_corner , int $br_corner ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Draws the specified lines and corners around the passed window.

Use ncurses_border() for borders around the main window.

Parâmetros

Each parameter expects 0 to draw a line and 1 to skip it.

window

The window on which we operate

left

right

top

bottom

tl_corner

Top left corner

tr_corner

Top right corner

bl_corner

Bottom left corner

br_corner

Bottom right corner

Veja Também

  • ncurses_border() - Draw a border around the screen using attributed characters


Clears window

  • « ncurses_wborder
  • ncurses_wcolor_set »
  • PHP Manual
  • Ncurses Funções
  • Clears window

ncurses_wclear

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wclear — Clears window

Descrição

ncurses_wclear ( resource $window ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window


Sets windows color pairings

  • « ncurses_wclear
  • ncurses_werase »
  • PHP Manual
  • Ncurses Funções
  • Sets windows color pairings

ncurses_wcolor_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wcolor_set — Sets windows color pairings

Descrição

ncurses_wcolor_set ( resource $window , int $color_pair ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

color_pair


Erase window contents

  • « ncurses_wcolor_set
  • ncurses_wgetch »
  • PHP Manual
  • Ncurses Funções
  • Erase window contents

ncurses_werase

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_werase — Erase window contents

Descrição

ncurses_werase ( resource $window ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window


Reads a character from keyboard (window)

  • « ncurses_werase
  • ncurses_whline »
  • PHP Manual
  • Ncurses Funções
  • Reads a character from keyboard (window)

ncurses_wgetch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wgetch — Reads a character from keyboard (window)

Descrição

ncurses_wgetch ( resource $window ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window


Draws a horizontal line in a window at current position using an attributed character and max. n characters long

  • « ncurses_wgetch
  • ncurses_wmouse_trafo »
  • PHP Manual
  • Ncurses Funções
  • Draws a horizontal line in a window at current position using an attributed character and max. n characters long

ncurses_whline

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_whline — Draws a horizontal line in a window at current position using an attributed character and max. n characters long

Descrição

ncurses_whline ( resource $window , int $charattr , int $n ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

charattr

n


Transforms window/stdscr coordinates

  • « ncurses_whline
  • ncurses_wmove »
  • PHP Manual
  • Ncurses Funções
  • Transforms window/stdscr coordinates

ncurses_wmouse_trafo

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wmouse_trafo — Transforms window/stdscr coordinates

Descrição

ncurses_wmouse_trafo ( resource $window , int &$y , int &$x , bool $toscreen ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

x

y

toscreen


Moves windows output position

  • « ncurses_wmouse_trafo
  • ncurses_wnoutrefresh »
  • PHP Manual
  • Ncurses Funções
  • Moves windows output position

ncurses_wmove

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wmove — Moves windows output position

Descrição

ncurses_wmove ( resource $window , int $y , int $x ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

y

x


Copies window to virtual screen

  • « ncurses_wmove
  • ncurses_wrefresh »
  • PHP Manual
  • Ncurses Funções
  • Copies window to virtual screen

ncurses_wnoutrefresh

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wnoutrefresh — Copies window to virtual screen

Descrição

ncurses_wnoutrefresh ( resource $window ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window


Refresh window on terminal screen

  • « ncurses_wnoutrefresh
  • ncurses_wstandend »
  • PHP Manual
  • Ncurses Funções
  • Refresh window on terminal screen

ncurses_wrefresh

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wrefresh — Refresh window on terminal screen

Descrição

ncurses_wrefresh ( resource $window ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window


End standout mode for a window

  • « ncurses_wrefresh
  • ncurses_wstandout »
  • PHP Manual
  • Ncurses Funções
  • End standout mode for a window

ncurses_wstandend

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wstandend — End standout mode for a window

Descrição

ncurses_wstandend ( resource $window ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window


Enter standout mode for a window

  • « ncurses_wstandend
  • ncurses_wvline »
  • PHP Manual
  • Ncurses Funções
  • Enter standout mode for a window

ncurses_wstandout

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wstandout — Enter standout mode for a window

Descrição

ncurses_wstandout ( resource $window ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window


Draws a vertical line in a window at current position using an attributed character and max. n characters long

  • « ncurses_wstandout
  • Readline »
  • PHP Manual
  • Ncurses Funções
  • Draws a vertical line in a window at current position using an attributed character and max. n characters long

ncurses_wvline

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wvline — Draws a vertical line in a window at current position using an attributed character and max. n characters long

Descrição

ncurses_wvline ( resource $window , int $charattr , int $n ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

window

charattr

n


GNU Readline

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções da Readline
    • readline_add_history — Adiciona uma linha ao histórico
    • readline_callback_handler_install — Initializes the readline callback interface and terminal, prints the prompt and returns immediately
    • readline_callback_handler_remove — Removes a previously installed callback handler and restores terminal settings
    • readline_callback_read_char — Reads a character and informs the readline callback interface when a line is received
    • readline_clear_history — Limpa a história
    • readline_completion_function — Registra uma função de completar
    • readline_info — Obtém/Define várias variáveis internas do readline
    • readline_list_history — Lista a história
    • readline_on_new_line — Inform readline that the cursor has moved to a new line
    • readline_read_history — Lê a história
    • readline_redisplay — Redraws the display
    • readline_write_history — Grava a história
    • readline — Lê uma linha


Introdução

As funções readline() implementam uma interface para a biblioteca GNU Readline. Estas são funções que provem uma linha de comando editável. Um exeplo é o bash que permite a você usar as setas para inserir caracteres ou navegas no historico dos comandos. Por causa da naturesa interativa desta biblioteca, ela será de pouco uso para escrever aplicações web, mas será util quando você estiver escrevendo scripts que usem o PHP a partir da linha de comando.

Nota: Esta extensão não está disponível na plataforma Windows.


Dependências

Para usar as funções readline, você precisa instalar a libreadline. Você pode encontrar a libreadline na página do projeto GNU Readline, em » http://cnswww.cns.cwru.edu/~chet/readline/rltop.html. É mantida por Chet Ramey, que também é o autor do Bash.

Você também pode utilizar estas funções com a biblioteca libedit, uma substituição não-GLP para a biblioteca readline. A biblioteca libedit esta sobre a licença BSD e esta disponível para download a partir de » http://www.thrysoee.dk/editline/.


Instalação

Para usar estas funções você deverá compilar as versões CGI ou CLI version do PHP com suporte readline. Você precisa configurar o PHP com --with-readline[=DIR]. Para usar a substituiçao libedit readline, configure o PHP com --with-libedit[=DIR].


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Readline Opções de Configuração
Nome | Padrão | Modificável | Changelog
cli.pager | "" | PHP_INI_ALL | Available since PHP 5.4.0.
cli.prompt | "\\b \\> " | PHP_INI_ALL | Available since PHP 5.4.0.

Uma rápida explicação das diretivas de configuração.

cli.pager string

External tool to display output from command line.

cli.prompt string

Command line prompt.


  • « Tipos de Recurso
  • Funções da Readline »
  • PHP Manual
  • Readline
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Funções da Readline

Índice

  • readline_add_history — Adiciona uma linha ao histórico
  • readline_callback_handler_install — Initializes the readline callback interface and terminal, prints the prompt and returns immediately
  • readline_callback_handler_remove — Removes a previously installed callback handler and restores terminal settings
  • readline_callback_read_char — Reads a character and informs the readline callback interface when a line is received
  • readline_clear_history — Limpa a história
  • readline_completion_function — Registra uma função de completar
  • readline_info — Obtém/Define várias variáveis internas do readline
  • readline_list_history — Lista a história
  • readline_on_new_line — Inform readline that the cursor has moved to a new line
  • readline_read_history — Lê a história
  • readline_redisplay — Redraws the display
  • readline_write_history — Grava a história
  • readline — Lê uma linha


Adiciona uma linha ao histórico

  • « Funções da Readline
  • readline_callback_handler_install »
  • PHP Manual
  • Funções da Readline
  • Adiciona uma linha ao histórico

readline_add_history

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_add_history — Adiciona uma linha ao histórico

Descrição

readline_add_history ( string $line ) : bool

Esta função adiciona uma linha ao histórico da linha de comando.

Parâmetros

line

A linha para ser adicionada no histórico.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Initializes the readline callback interface and terminal, prints the prompt and returns immediately

  • « readline_add_history
  • readline_callback_handler_remove »
  • PHP Manual
  • Funções da Readline
  • Initializes the readline callback interface and terminal, prints the prompt and returns immediately

readline_callback_handler_install

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

readline_callback_handler_install — Initializes the readline callback interface and terminal, prints the prompt and returns immediately

Descrição

readline_callback_handler_install ( string $prompt , callable $callback ) : bool

Sets up a readline callback interface then prints prompt and immediately returns. Calling this function twice without removing the previous callback interface will automatically and conveniently overwrite the old interface.

The callback feature is useful when combined with stream_select() as it allows interleaving of IO and user input, unlike readline().

Parâmetros

prompt

The prompt message.

callback

The callback function takes one parameter; the user input returned.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Readline Callback Interface Example

<?php
function rl_callback($ret)
{
    global $c, $prompting;

    echo "You entered: $ret\n";
    $c++;

    if ($c > 10) {
        $prompting = false;
        readline_callback_handler_remove();
    } else {
        readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');
    }
}

$c = 1;
$prompting = true;

readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');

while ($prompting) {
    $w = NULL;
    $e = NULL;
    $n = stream_select($r = array(STDIN), $w, $e, null);
    if ($n && in_array(STDIN, $r)) {
        // read a character, will call the callback when a newline is entered
        readline_callback_read_char();
    }
}

echo "Prompting disabled. All done.\n";
?>

Veja Também

  • readline_callback_handler_remove() - Removes a previously installed callback handler and restores terminal settings
  • readline_callback_read_char() - Reads a character and informs the readline callback interface when a line is received
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec


Removes a previously installed callback handler and restores terminal settings

  • « readline_callback_handler_install
  • readline_callback_read_char »
  • PHP Manual
  • Funções da Readline
  • Removes a previously installed callback handler and restores terminal settings

readline_callback_handler_remove

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

readline_callback_handler_remove — Removes a previously installed callback handler and restores terminal settings

Descrição

readline_callback_handler_remove ( ) : bool

Removes a previously installed callback handler and restores terminal settings.

Valor Retornado

Returns true if a previously installed callback handler was removed, or false if one could not be found.

Exemplos

See readline_callback_handler_install() for an example of how to use the readline callback interface.

Veja Também

  • readline_callback_handler_install() - Initializes the readline callback interface and terminal, prints the prompt and returns immediately
  • readline_callback_read_char() - Reads a character and informs the readline callback interface when a line is received


Reads a character and informs the readline callback interface when a line is received

  • « readline_callback_handler_remove
  • readline_clear_history »
  • PHP Manual
  • Funções da Readline
  • Reads a character and informs the readline callback interface when a line is received

readline_callback_read_char

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

readline_callback_read_char — Reads a character and informs the readline callback interface when a line is received

Descrição

readline_callback_read_char ( ) : void

Reads a character of user input. When a line is received, this function informs the readline callback interface installed using readline_callback_handler_install() that a line is ready for input.

Valor Retornado

Não há valor retornado.

Exemplos

See readline_callback_handler_install() for an example of how to use the readline callback interface.

Veja Também

  • readline_callback_handler_install() - Initializes the readline callback interface and terminal, prints the prompt and returns immediately
  • readline_callback_handler_remove() - Removes a previously installed callback handler and restores terminal settings


Limpa a história

  • « readline_callback_read_char
  • readline_completion_function »
  • PHP Manual
  • Funções da Readline
  • Limpa a história

readline_clear_history

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_clear_history — Limpa a história

Descrição

readline_clear_history ( ) : bool

Esta função limpa todo o histórico da linha de comando.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Registra uma função de completar

  • « readline_clear_history
  • readline_info »
  • PHP Manual
  • Funções da Readline
  • Registra uma função de completar

readline_completion_function

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_completion_function — Registra uma função de completar

Descrição

readline_completion_function ( callback $function ) : bool

Esta função registra uma função de completar. Este é o mesmo tipo de funcionamento que você tem se você pressionar a tecla tab enquanto estiver usando o Bash.

Parâmetros

function

Você deve usar o nome de uma função existente a qual aceita uma linha de comando parcial e retorna uma matriz de possíveis combinações.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Obtém/Define várias variáveis internas do readline

  • « readline_completion_function
  • readline_list_history »
  • PHP Manual
  • Funções da Readline
  • Obtém/Define várias variáveis internas do readline

readline_info

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_info — Obtém/Define várias variáveis internas do readline

Descrição

readline_info ( string $varname = ? , string $newvalue = ? ) : mixed

Obtém ou define várias variáveis internas da readline.

Parâmetros

varname

Um nome de variável.

newvalue

Se fornecido, este será o novo valor.

Valor Retornado

Se for utilizada sem parâmetros, esta função retorna uma matriz de valores para as configurações que a readline usa. Os elementos serão indexados pelos seguintes valores: done, end, erase_empty_line, library_version, line_buffer, mark, pending_input, point, prompt, readline_name, e terminal_name.

Se for utilizada com um ou dois parâmetros, o antigo valor é retornado.


Lista a história

  • « readline_info
  • readline_on_new_line »
  • PHP Manual
  • Funções da Readline
  • Lista a história

readline_list_history

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_list_history — Lista a história

Descrição

readline_list_history ( ) : array

Obtém o histório de linha de comando inteiro.

Valor Retornado

Retorna um array do histórico de linha de comando inteiro. Os elementos são indexados por inteiros iniciando de zero.


Inform readline that the cursor has moved to a new line

  • « readline_list_history
  • readline_read_history »
  • PHP Manual
  • Funções da Readline
  • Inform readline that the cursor has moved to a new line

readline_on_new_line

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

readline_on_new_line — Inform readline that the cursor has moved to a new line

Descrição

readline_on_new_line ( ) : void

Tells readline that the cursor has moved to a new line.

Valor Retornado

Não há valor retornado.


Lê a história

  • « readline_on_new_line
  • readline_redisplay »
  • PHP Manual
  • Funções da Readline
  • Lê a história

readline_read_history

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_read_history — Lê a história

Descrição

readline_read_history ( string $filename = ? ) : bool

Esta função lê a história dos comandos de um arquivo.

Parâmetros

filename

Caminho para o nome do arquivo contendo o histórico de comando.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Redraws the display

  • « readline_read_history
  • readline_write_history »
  • PHP Manual
  • Funções da Readline
  • Redraws the display

readline_redisplay

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

readline_redisplay — Redraws the display

Descrição

readline_redisplay ( ) : void

Redraws readline to redraw the display.

Valor Retornado

Não há valor retornado.


Grava a história

  • « readline_redisplay
  • readline »
  • PHP Manual
  • Funções da Readline
  • Grava a história

readline_write_history

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_write_history — Grava a história

Descrição

readline_write_history ( string $filename = ? ) : bool

Esta função escreve a história dos comandos em um arquivo.

Parâmetros

filename

Caminho para salvar o arquivo.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Lê uma linha

  • « readline_write_history
  • Extensões de Arquivo e Compressão »
  • PHP Manual
  • Funções da Readline
  • Lê uma linha

readline

(PHP 4, PHP 5, PHP 7, PHP 8)

readline — Lê uma linha

Descrição

readline ( string $prompt = ? ) : string

Lê uma única linha do usuário. Você precisa adicionar esta linha para armazenar no histórico usando readline_add_history().

Parâmetros

prompt

Você pode especificar uma string a qual é o prompt do usuário.

Valor Retornado

Retorna uma simples string do usuário. A linha retornada tem o caractere de newline do removido.

Exemplos

Exemplo #1 readline()

<?php
// Obtém três comandos do usuário
for ($i=0; $i < 3; $i++) {
        $line = readline("Command: ");
        readline_add_history($line);
}

// Mostra o historíco
print_r(readline_list_history());

// Mostra as variáveis
print_r(readline_info());
?>


Extensões de Arquivo e Compressão

  • Bzip2
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Bzip2 Funções
  • LZF
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções da LZF
  • Phar
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Using Phar Archives
    • Creating Phar Archives
    • What makes a phar a phar and not a tar or a zip?
    • Phar — The Phar class
    • PharData — The PharData class
    • PharFileInfo — The PharFileInfo class
    • PharException — The PharException class
  • Rar — Rar Archiving
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Rar Funções
    • RarArchive — The RarArchive class
    • RarEntry — The RarEntry class
    • RarException — The RarException class
  • Zip
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • ZipArchive — A classe ZipArchive
    • Funções para Zip
  • Zlib — Compressão Zlib
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções da Zlib


Bzip2

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Bzip2 Funções
    • bzclose — Fecha um ponteiro de arquivo bzip2
    • bzcompress — Comprime uma string em dados no formato bzip2
    • bzdecompress — Descomprime dados no formato bzip2
    • bzerrno — Retorna um número de erro do bzip2
    • bzerror — Retorna o número e string de erro do bzip2 em um array
    • bzerrstr — Retorna a string de erro do bzip2
    • bzflush — Força a escrita de todos os dados que estão no buffer
    • bzopen — Abre um arquivo comprimido com bzip2
    • bzread — Leitura binary-safe de um arquivo bzip2
    • bzwrite — Escrita binary-safe em um arquivo bzip2


Introdução

As funções para bzip2 são usadas para ler e escrever, de forma transparente, arquivos compactados do tipo bzip2 (.bz2).


Dependências

Este módulo utiliza as funções da biblioteca » bzip2 desenvolvida por Julian Seward. Este módulo requer bzip2/libbzip2 versão >= 1.0.x.


Instalação

Suporte ao Bzip2 no PHP não está disponível por padrão. Você precisará usar a opção de configuração --with-bz2[=DIR] quando compilar o PHP para habilitar o suporte à bzip2.


Tipos de Recurso

Esta extensão define um tipo de recurso (resource): um ponteiro para arquivo que identifica o arquivo bzip2 que está sendo usado.


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • Bzip2
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Exemplos

Este exemplo abre um arquivo temporário e escreve uma string de test nele, e então mostra o conteúdo do arquivo.

Exemplo #1 Um exemplo simples de bzip2

<?php

$filename = "/tmp/testfile.bz2";
$str = "This is a test string.\n";

// open file for writing
$bz = bzopen($filename, "w");

// write string to file
bzwrite($bz, $str);

// close file
bzclose($bz);

// open file for reading
$bz = bzopen($filename, "r");

// read 10 characters
echo bzread($bz, 10);

// output until end of the file (or the next 1024 char) and close it.
echo bzread($bz);

bzclose($bz);

?>


Bzip2 Funções

Índice

  • bzclose — Fecha um ponteiro de arquivo bzip2
  • bzcompress — Comprime uma string em dados no formato bzip2
  • bzdecompress — Descomprime dados no formato bzip2
  • bzerrno — Retorna um número de erro do bzip2
  • bzerror — Retorna o número e string de erro do bzip2 em um array
  • bzerrstr — Retorna a string de erro do bzip2
  • bzflush — Força a escrita de todos os dados que estão no buffer
  • bzopen — Abre um arquivo comprimido com bzip2
  • bzread — Leitura binary-safe de um arquivo bzip2
  • bzwrite — Escrita binary-safe em um arquivo bzip2


Fecha um ponteiro de arquivo bzip2

  • « Bzip2 Funções
  • bzcompress »
  • PHP Manual
  • Bzip2 Funções
  • Fecha um ponteiro de arquivo bzip2

bzclose

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzclose — Fecha um ponteiro de arquivo bzip2

Descrição

bzclose ( resource $bz ) : int

Fecha o dado ponteiro de arquivo bzip2.

Parâmetros

bz

O ponteiro de arquivo. Ele precisa ser válido e precisa apontar para um arquivo devidamente aberto com sucesso por bzopen().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • bzopen() - Abre um arquivo comprimido com bzip2


Comprime uma string em dados no formato bzip2

  • « bzclose
  • bzdecompress »
  • PHP Manual
  • Bzip2 Funções
  • Comprime uma string em dados no formato bzip2

bzcompress

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzcompress — Comprime uma string em dados no formato bzip2

Descrição

bzcompress ( string $source , int $blocksize = ? , int $workfactor = ? ) : string

bzcompress() comprime a string source e a retorna no formato de dados codificados com bzip2.

O parâmetro opcional blocksize especifica o tamanho do bloco utilizado no momento de compressão e deve ser um número de 1 a 9, com 9 sendo a melhor taxa de compressão, mas usando mais recursos para fazê-lo. O valor padrão de blocksize é 4.

O parâmetro opcional workfactor controla como a fase de compressão irá se comportar quando ocorrer o pior caso: a entrada de dados muito repetitivos. O seu valor pode ser de 0 até 250, com 0 sendo um caso especial, e 30 o valor padrão. Independente do valor de workfactor, a saída gerada será a mesma.

Exemplo #1 Exemplo de bzcompress()

<?php
$str = "demonstracao de dados comprimidos";
$bzstr = bzcompress($str, 9);
echo $bzstr;
?>

Veja também bzdecompress().


Descomprime dados no formato bzip2

  • « bzcompress
  • bzerrno »
  • PHP Manual
  • Bzip2 Funções
  • Descomprime dados no formato bzip2

bzdecompress

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzdecompress — Descomprime dados no formato bzip2

Descrição

bzdecompress ( string $source , int $small = ? ) : string

bzdecompress() descomprime a string source string contendo dados no formato bzip2 e retorna o seu valor. Se o parâmetro opcional small for true, um algoritmo alternativo de descompressão, com a utilização de menos memória (a máxima quantidade de memória requerida é em torno de 2300K), será usado mas funciona com a metade da velocidade. Veja a documentação do » bzip2 para mais informações sobre essa característica.

Exemplo #1 bzdecompress()

<?php
$start_str = "Esse cara é legal?";
$bzstr = bzcompress($start_str);

echo "String Comprimida: ";
echo $bzstr;
echo "\n<br />\n";

$str = bzdecompress($bzstr);
echo "String Descomprimida: ";
echo $str;
echo "\n<br />\n";
?>

Veja também bzcompress().


Retorna um número de erro do bzip2

  • « bzdecompress
  • bzerror »
  • PHP Manual
  • Bzip2 Funções
  • Retorna um número de erro do bzip2

bzerrno

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzerrno — Retorna um número de erro do bzip2

Descrição

bzerrno ( resource $bz ) : int

Retorna o número do erro de qualquer erro do bzip2 retornado pelo ponteiro de arquivo bz.

Veja também bzerror() e bzerrstr().


Retorna o número e string de erro do bzip2 em um array

  • « bzerrno
  • bzerrstr »
  • PHP Manual
  • Bzip2 Funções
  • Retorna o número e string de erro do bzip2 em um array

bzerror

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzerror — Retorna o número e string de erro do bzip2 em um array

Descrição

bzerror ( resource $bz ) : array

Retorna o número e string do erro de um erro da bzip2 retornado pelo dado ponteiro de arquivo. bz.

Parâmetros

bz

O ponteiro do arquivo - Ele precisa ser válido e precisa apontar para um arquivo aberto com sucesso pela bzopen().

Valor Retornado

Retorna um array associativo, com o código de erro na entrada errno, e a mensagem de erro na entrada errstr.

Exemplos

Exemplo #1 Exemplo da bzerror()

<?php
$error = bzerror($bz);

echo $error["errno"];
echo $error["errstr"];
?>

Veja Também

  • bzerrno() - Retorna um número de erro do bzip2
  • bzerrstr() - Retorna a string de erro do bzip2


Retorna a string de erro do bzip2

  • « bzerror
  • bzflush »
  • PHP Manual
  • Bzip2 Funções
  • Retorna a string de erro do bzip2

bzerrstr

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzerrstr — Retorna a string de erro do bzip2

Descrição

bzerrstr ( resource $bz ) : string

Obtém a string de erro de um erro da bzip2 retornado para um dado ponteiro de arquivo.

Parâmetros

bz

O ponteiro do arquivo. Ele precisa ser válido e precisa apontar para um arquivo aberto com sucesso pela bzopen().

Valor Retornado

Retorna uma string contendo a mensagem de erro.

Veja Também

  • bzerrno() - Retorna um número de erro do bzip2
  • bzerror() - Retorna o número e string de erro do bzip2 em um array


Força a escrita de todos os dados que estão no buffer

  • « bzerrstr
  • bzopen »
  • PHP Manual
  • Bzip2 Funções
  • Força a escrita de todos os dados que estão no buffer

bzflush

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzflush — Força a escrita de todos os dados que estão no buffer

Descrição

bzflush ( resource $bz ) : bool

Força a escrita de todos os dados do bzip2 que estão em buffer para o ponteiro de arquivo bz.

Parâmetros

bz

O ponteiro do arquivo. Ele precisa ser válido e precisa apontar para um arquivo aberto com sucesso por bzopen().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • bzread() - Leitura binary-safe de um arquivo bzip2
  • bzwrite() - Escrita binary-safe em um arquivo bzip2


Abre um arquivo comprimido com bzip2

  • « bzflush
  • bzread »
  • PHP Manual
  • Bzip2 Funções
  • Abre um arquivo comprimido com bzip2

bzopen

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzopen — Abre um arquivo comprimido com bzip2

Descrição

bzopen ( string $filename , string $mode ) : resource

Abre um arquivo bzip2 (.bz2) para leitura ou escrita. O parâmetro filename é o nome do arquivo a ser aberto. mode é similar ao da função fopen() (`r' para leitura, `w' para escrita, etc.).

Se esta função falhar, retorna false, do contrário retorna um ponteiro de arquivo aberto.

Exemplo #1 Exemplo de bzopen()

<?php
$bz = bzopen("/tmp/foo.bz2", "r");
$arquivo_descomprimido = '';
while (!feof($bz)) {
      $arquivo_descomprimido .= bzread($bz, 4096);
}

bzclose($bz);

print( "O conteúdo de /tmp/foo.bz2 é: " );
print( "\n<br>\n" );
print( $arquivo_descomprimido );
?>

Veja também bzclose().


Leitura binary-safe de um arquivo bzip2

  • « bzopen
  • bzwrite »
  • PHP Manual
  • Bzip2 Funções
  • Leitura binary-safe de um arquivo bzip2

bzread

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzread — Leitura binary-safe de um arquivo bzip2

Descrição

bzread ( resource $bz , int $length = ? ) : string

bzread() lê o número de bytes equivalente a length do ponteiro de arquivo bzip2 referenciado por bz. A leitura pára quando a a quantidade de bytes referenciados por length (descomprimidos) foram lidos ou EOF foi alcançado, o que acontecer primeiro. Se o parâmetro opcional length não for especificado, bzread() irá ler 1024 bytes (descomprimidos) de cada vez.

Exemplo #1 Exemplo de bzread()

<?php
$file = "/tmp/foo.bz2";
$bz = bzopen($file", "r") or die("Couldn't open $file");

$decompressed_file = '';
while (!feof($bz)) {
    $decompressed_file .= bzread($bz, 4096);
}
bzclose($bz);

echo "The contents of /tmp/foo.bz2 are: <br />\n";
echo $decompressed_file;
?>

Veja também bzwrite(), feof() e bzopen().


Escrita binary-safe em um arquivo bzip2

  • « bzread
  • LZF »
  • PHP Manual
  • Bzip2 Funções
  • Escrita binary-safe em um arquivo bzip2

bzwrite

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzwrite — Escrita binary-safe em um arquivo bzip2

Descrição

bzwrite ( resource $bz , string $data , int $length = ? ) : int

bzwrite() escreve o conteúdo da string data no arquivo referenciado pelo ponteiro de arquivo bzip2 bz. Se o parâmetro opcional length for passado, a escrita irá parar depois deste número de bytes (descomprimidos) foram escritos ou se o final da string foi alcançado, o que acontecer primeiro.

Exemplo #1 Exemplo de bzwrite()

<?php
$str = "dados descomprimidos";
$bz = bzopen("/tmp/foo.bz2", "w");
bzwrite($bz, $str, strlen($str));
bzclose($bz);
?>

Veja também bzread() e bzopen().


LZF

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções da LZF
    • lzf_compress — Compressão LZF
    • lzf_decompress — Descompressão LZF
    • lzf_optimized_for — Determina para que a extensão LZF foi otimizada


Introdução

LZF é um algoritmo de compressão muito rápido, ideal para economizar espaço com um pequeno custo de velocidade. Ele pode ser otimizado para velocidade ou espaço em tempo de compilação. Esta extensão está usando para suas operações a biblioteca » liblzf de Marc Lehmann.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP. Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/lzf.

Para usar estas funções você precisa compilar PHP com suporte a lzf usando a opção de configuração --with-lzf[=DIR]. Você pode também passar --enable-lzf-better-compression para otimizar o LZF mais para espaço do que velocidade.

Usuários Windows podem habilitar php_lzf.dll no php.ini para usar estas funções. Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


  • « Tipos de Recurso
  • Funções da LZF »
  • PHP Manual
  • LZF
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Funções da LZF

Índice

  • lzf_compress — Compressão LZF
  • lzf_decompress — Descompressão LZF
  • lzf_optimized_for — Determina para que a extensão LZF foi otimizada


Compressão LZF

  • « Funções da LZF
  • lzf_decompress »
  • PHP Manual
  • Funções da LZF
  • Compressão LZF

lzf_compress

(PECL lzf >= 0.1.0)

lzf_compress — Compressão LZF

Descrição

lzf_compress ( string $data ) : string

lzf_compress() comprime a string data usando a codificação LZF.

Parâmetros

data

Retorna a string comprimida.

Valor Retornado

Retorna a informação comprimida ou false se um erro ocorreu.

Veja Também

  • lzf_decompress() - Descompressão LZF


Descompressão LZF

  • « lzf_compress
  • lzf_optimized_for »
  • PHP Manual
  • Funções da LZF
  • Descompressão LZF

lzf_decompress

(PECL lzf >= 0.1.0)

lzf_decompress — Descompressão LZF

Descrição

lzf_decompress ( string $data ) : string

lzf_compress() decomprime a string data contendo dados com codificação lzf.

Parâmetros

data

A string comprimida.

Valor Retornado

Retorna a informação decompressa ou false se um erro ocorreu.

Veja Também

  • lzf_compress() - Compressão LZF


Determina para que a extensão LZF foi otimizada

  • « lzf_decompress
  • Phar »
  • PHP Manual
  • Funções da LZF
  • Determina para que a extensão LZF foi otimizada

lzf_optimized_for

(PECL lzf >= 1.0.0)

lzf_optimized_for — Determina para que a extensão LZF foi otimizada

Descrição

lzf_optimized_for ( ) : int

Determina para que a extensão LZF foi otimizada durante a compilação.

Valor Retornado

Retorna 1 se LZF foi otimizada para velocidade, 0 para compressão.


Phar

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Using Phar Archives
    • Using Phar Archives: Introduction
    • Using Phar Archives: the phar stream wrapper
    • Using Phar Archives: the Phar and PharData class
  • Creating Phar Archives
    • Creating Phar Archives: Introduction
  • What makes a phar a phar and not a tar or a zip?
    • Ingredients of all Phar archives, independent of file format
    • Phar file stub
    • Head-to-head comparison of Phar, Tar and Zip
    • Tar-based phars
    • Zip-based phars
    • Phar File Format
    • Global Phar bitmapped flags
    • Phar manifest file entry definition
    • Phar Signature format
  • Phar — The Phar class
    • Phar::addEmptyDir — Add an empty directory to the phar archive
    • Phar::addFile — Add a file from the filesystem to the phar archive
    • Phar::addFromString — Add a file from a string to the phar archive
    • Phar::apiVersion — Returns the api version
    • Phar::buildFromDirectory — Construct a phar archive from the files within a directory
    • Phar::buildFromIterator — Construct a phar archive from an iterator
    • Phar::canCompress — Returns whether phar extension supports compression using either zlib or bzip2
    • Phar::canWrite — Returns whether phar extension supports writing and creating phars
    • Phar::compress — Compresses the entire Phar archive using Gzip or Bzip2 compression
    • Phar::compressFiles — Compresses all files in the current Phar archive
    • Phar::__construct — Construct a Phar archive object
    • Phar::convertToData — Convert a phar archive to a non-executable tar or zip file
    • Phar::convertToExecutable — Convert a phar archive to another executable phar archive file format
    • Phar::copy — Copy a file internal to the phar archive to another new file within the phar
    • Phar::count — Returns the number of entries (files) in the Phar archive
    • Phar::createDefaultStub — Create a phar-file format specific stub
    • Phar::decompress — Decompresses the entire Phar archive
    • Phar::decompressFiles — Decompresses all files in the current Phar archive
    • Phar::delMetadata — Deletes the global metadata of the phar
    • Phar::delete — Delete a file within a phar archive
    • Phar::extractTo — Extract the contents of a phar archive to a directory
    • Phar::getAlias — Get the alias for Phar
    • Phar::getMetadata — Returns phar archive meta-data
    • Phar::getModified — Return whether phar was modified
    • Phar::getPath — Get the real path to the Phar archive on disk
    • Phar::getSignature — Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
    • Phar::getStub — Return the PHP loader or bootstrap stub of a Phar archive
    • Phar::getSupportedCompression — Return array of supported compression algorithms
    • Phar::getSupportedSignatures — Return array of supported signature types
    • Phar::getVersion — Return version info of Phar archive
    • Phar::hasMetadata — Returns whether phar has global meta-data
    • Phar::interceptFileFuncs — Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions
    • Phar::isBuffering — Used to determine whether Phar write operations are being buffered, or are flushing directly to disk
    • Phar::isCompressed — Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
    • Phar::isFileFormat — Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter
    • Phar::isValidPharFilename — Returns whether the given filename is a valid phar filename
    • Phar::isWritable — Returns true if the phar archive can be modified
    • Phar::loadPhar — Loads any phar archive with an alias
    • Phar::mapPhar — Reads the currently executed file (a phar) and registers its manifest
    • Phar::mount — Mount an external path or file to a virtual location within the phar archive
    • Phar::mungServer — Defines a list of up to 4 $_SERVER variables that should be modified for execution
    • Phar::offsetExists — Determines whether a file exists in the phar
    • Phar::offsetGet — Gets a PharFileInfo object for a specific file
    • Phar::offsetSet — Set the contents of an internal file to those of an external file
    • Phar::offsetUnset — Remove a file from a phar
    • Phar::running — Returns the full path on disk or full phar URL to the currently executing Phar archive
    • Phar::setAlias — Set the alias for the Phar archive
    • Phar::setDefaultStub — Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader
    • Phar::setMetadata — Sets phar archive meta-data
    • Phar::setSignatureAlgorithm — Set the signature algorithm for a phar and apply it
    • Phar::setStub — Used to set the PHP loader or bootstrap stub of a Phar archive
    • Phar::startBuffering — Start buffering Phar write operations, do not modify the Phar object on disk
    • Phar::stopBuffering — Stop buffering write requests to the Phar archive, and save changes to disk
    • Phar::unlinkArchive — Completely remove a phar archive from disk and from memory
    • Phar::webPhar — mapPhar for web-based phars. front controller for web applications
  • PharData — The PharData class
    • PharData::addEmptyDir — Add an empty directory to the tar/zip archive
    • PharData::addFile — Add a file from the filesystem to the tar/zip archive
    • PharData::addFromString — Add a file from the filesystem to the tar/zip archive
    • PharData::buildFromDirectory — Construct a tar/zip archive from the files within a directory
    • PharData::buildFromIterator — Construct a tar or zip archive from an iterator
    • PharData::compress — Compresses the entire tar/zip archive using Gzip or Bzip2 compression
    • PharData::compressFiles — Compresses all files in the current tar/zip archive
    • PharData::__construct — Construct a non-executable tar or zip archive object
    • PharData::convertToData — Convert a phar archive to a non-executable tar or zip file
    • PharData::convertToExecutable — Convert a non-executable tar/zip archive to an executable phar archive
    • PharData::copy — Copy a file internal to the phar archive to another new file within the phar
    • PharData::decompress — Decompresses the entire Phar archive
    • PharData::decompressFiles — Decompresses all files in the current zip archive
    • PharData::delMetadata — Deletes the global metadata of a zip archive
    • PharData::delete — Delete a file within a tar/zip archive
    • PharData::extractTo — Extract the contents of a tar/zip archive to a directory
    • PharData::isWritable — Returns true if the tar/zip archive can be modified
    • PharData::offsetSet — Set the contents of a file within the tar/zip to those of an external file or string
    • PharData::offsetUnset — Remove a file from a tar/zip archive
    • PharData::setAlias — Dummy function (Phar::setAlias is not valid for PharData)
    • PharData::setDefaultStub — Dummy function (Phar::setDefaultStub is not valid for PharData)
    • PharData::setMetadata — Sets phar archive meta-data
    • PharData::setSignatureAlgorithm — Set the signature algorithm for a phar and apply it
    • PharData::setStub — Dummy function (Phar::setStub is not valid for PharData)
  • PharFileInfo — The PharFileInfo class
    • PharFileInfo::chmod — Sets file-specific permission bits
    • PharFileInfo::compress — Compresses the current Phar entry with either zlib or bzip2 compression
    • PharFileInfo::__construct — Construct a Phar entry object
    • PharFileInfo::decompress — Decompresses the current Phar entry within the phar
    • PharFileInfo::delMetadata — Deletes the metadata of the entry
    • PharFileInfo::getCRC32 — Returns CRC32 code or throws an exception if CRC has not been verified
    • PharFileInfo::getCompressedSize — Returns the actual size of the file (with compression) inside the Phar archive
    • PharFileInfo::getContent — Get the complete file contents of the entry
    • PharFileInfo::getMetadata — Returns file-specific meta-data saved with a file
    • PharFileInfo::getPharFlags — Returns the Phar file entry flags
    • PharFileInfo::hasMetadata — Returns the metadata of the entry
    • PharFileInfo::isCRCChecked — Returns whether file entry has had its CRC verified
    • PharFileInfo::isCompressed — Returns whether the entry is compressed
    • PharFileInfo::setMetadata — Sets file-specific meta-data saved with a file
  • PharException — The PharException class


Introdução

The phar extension provides a way to put entire PHP applications into a single file called a "phar" (PHP Archive) for easy distribution and installation. In addition to providing this service, the phar extension also provides a file-format abstraction method for creating and manipulating tar and zip files through the PharData class, much as PDO provides a unified interface for accessing different databases. Unlike PDO, which cannot convert between different databases, Phar also can convert between tar, zip and phar file formats with a single line of code. see Phar::convertToExecutable() for one example.

What is phar? Phar archives are best characterized as a convenient way to group several files into a single file. As such, a phar archive provides a way to distribute a complete PHP application in a single file and run it from that file without the need to extract it to disk. Additionally, phar archives can be executed by PHP as easily as any other file, both on the commandline and from a web server. Phar is kind of like a thumb drive for PHP applications.

Phar implements this functionality through a Stream Wrapper. Normally, to use an external file within a PHP script, you would use include

Exemplo #1 Using an external file

<?php
 include '/path/to/external/file.php';
 ?>

PHP can be thought of as actually translating /path/to/external/file.php into a stream wrapper as file:///path/to/external/file.php, and under the hood it does in fact use the plain file stream wrapper stream functions to access all local files.

To use a file named file.php contained with a phar archive /path/to/myphar.phar, the syntax is very similar to the file:// syntax above.

Exemplo #2 Using a file within a phar archive

<?php
 include 'phar:///path/to/myphar.phar/file.php';
 ?>

In fact, one can treat a phar archive exactly as if it were an external disk, using any of fopen()-related functions, opendir() and mkdir()-related functions to read, change, or create new files and directories within the phar archive. This allows complete PHP applications to be distributed in a single file and run directly from that file.

The most common usage for a phar archive is to distribute a complete application in a single file. For instance, the PEAR Installer that is bundled with PHP versions is distributed as a phar archive. To use a phar archive distributed in this way, the archive can be executed on the command-line or via a web server.

Phar archives can be distributed as tar archives, zip archives, or as the custom phar file format designed specifically for the phar extension. Each file format has advantages and disadvantages. The tar and zip file formats can be read or extracted by any third-party tool that can read the format, but require the phar extension in order to run with PHP. The phar file format is customized and unique to the phar extension, and can only be created by the phar extension or the PEAR package » PHP_Archive, but has the advantage that applications created in this format will run even if the phar extension is not enabled.

In other words, even with the phar extension disabled, one can execute or include a phar-based archive. Accessing individual files within a phar archive is only possible with the phar extension unless the phar archive was created by PHP_Archive.

The phar extension is also capable of converting a phar archive from tar to zip or to phar file format in a single command:

Exemplo #3 Converting a phar archive from phar to tar file format

<?php
 $phar = new Phar('myphar.phar');
 $pgz = $phar->convertToExecutable(Phar::TAR, Phar::GZ); // makes myphar.phar.tar.gz
 ?>

Phar can compress individual files or an entire archive using gzip compression or bzip2 compression, and can verify archive integrity automatically through the use of MD5, SHA-1, SHA-256 or SHA-512 signatures.

Lastly, the Phar extension is security-conscious, and disables write access to executable phar archives by default, and requires system-level disabling of the phar.readonly php.ini setting in order to create or modify phar archives. Normal tar and zip archives without an executable stub can always be created or modified using the PharData class.

If you are creating applications for distribution, you will want to read How to create Phar Archives. If you want more information on the differences between the three file formats that phar supports, you should read Phar, Tar and Zip.

If you are using phar applications, there are helpful tips in How to use Phar Archives

The word phar is a portmanteau of PHP and Archive and is based loosely on the jar (Java Archive) familiar to Java developers.

The implementation for Phar archives is based on the PEAR package » PHP_Archive, and the implementation details are similar, although the Phar extension is much more powerful. In addition, the Phar extension allows most PHP applications to be run unmodified while PHP_Archive-based phar archives often require extensive modification in order to work.


Dependências

Phar requires PHP 5.2.0 or newer. Additional features require the SPL extension in order to take advantage of iteration and array access to a Phar's file contents. The phar stream does not require any additional extensions to function.

You may optionally wish to enable the zlib and bzip2 extensions to take advantage of compressed phar support. In addition, to take advantage of OpenSSL signing, the OpenSSL extension must be enabled.

Note that a bug in the zlib.deflate stream filter fixed in PHP version 5.2.6 and newer may cause truncation of gzip and bzip2-compressed phar archives.

PHP 5.3 configured with --enable-zend-multibyte makes phar dependant on the ini option detect_unicode.


Instalação

The Phar extension is bundled with PHP as of PHP version 5.3.0, and enabled by default. To disable Phar support, use --disable-phar.

Phar may be installed via the PECL extension with previous PHP versions, and the » Phar PECL page contains further information and history.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Filesystem and Streams Configuration Options
Nome | Padrão | Modificável | Changelog
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
phar.cache_list | "" | PHP_INI_SYSTEM |

Uma rápida explicação das diretivas de configuração.

phar.readonly bool

This option disables creation or modification of Phar archives using the phar stream or Phar object's write support. This setting should always be enabled on production machines, as the phar extension's convenient write support could allow straightforward creation of a php-based virus when coupled with other common security vulnerabilities.

Nota:

This setting can only be unset in php.ini due to security reasons. If phar.readonly is disabled in php.ini, the user may enable phar.readonly in a script or disable it later. If phar.readonly is enabled in php.ini, a script may harmlessly "re-enable" the INI variable, but may not disable it.

phar.require_hash bool

This option will force all opened Phar archives to contain some kind of signature (currently MD5, SHA1, SHA256, SHA512 and OpenSSL are supported), and will refuse to process any Phar archive that does not contain a signature.

Nota:

This setting can only be unset in php.ini. If phar.require_hash is disabled in php.ini, the user may enable phar.require_hash in a script or disable it later. If phar.require_hash is enabled in php.ini, a script may harmlessly "re-enable" the INI variable, but may not disable it.

This setting does not affect reading plain tar files with the PharData class.

Cuidado

phar.require_hash does not provide any security per se, it is merely a measure against running accidentially corrupted Phar archives, because anyone who would be able to tamper with the Phar could easily fix the signature afterwards.

phar.cache_list string

Allows mapping phar archives to be pre-parsed at web server startup, providing a performance improvement that brings running files out of a phar archive very close to the speed of running those files from a traditional disk-based installation.

Exemplo #1 phar.cache_list usage example

in php.ini (windows):
phar.cache_list =C:\path\to\phar1.phar;C:\path\to\phar2.phar
in php.ini (unix):
phar.cache_list =/path/to/phar1.phar:/path/to/phar2.phar


Tipos de Recurso

The Phar extension provides the phar stream, which allows accessing files contained within a phar transparently. See also the description of the Phar file format.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Phar compression constants
Constant | Value | Description
Phar::NONE (int) | 0x00000000 | no compression
Phar::COMPRESSED (int) | 0x0000F000 | bitmask that can be used with file flags to determine if any compression is present
Phar::GZ (int) | 0x00001000 | zlib (gzip) compression
Phar::BZ2 (int) | 0x00002000 | bzip2 compression
Phar file format constants
Constant | Value | Description
Phar::PHAR (int) | 1 | phar file format
Phar::TAR (int) | 2 | tar file format
Phar::ZIP (int) | 3 | zip file format
Phar signature constants
Constant | Value | Description
Phar::MD5 (int) | 0x0001 | signature with md5 hash algorithm
Phar::SHA1 (int) | 0x0002 | signature with sha1 hash algorithm
Phar::SHA256 (int) | 0x0003 | signature with sha256 hash algorithm (requires hash extension)
Phar::SHA512 (int) | 0x0004 | signature with sha512 hash algorithm (requires hash extension)
Phar::OPENSSL (int) | 0x0010 | signature with OpenSSL public/private key pair. This is a true, asymmetric key signature.
Phar webPhar mime override constants
Constant | Value | Description
Phar::PHP (int) | 0 | used to instruct the mimeoverrides parameter of Phar::webPhar() that the extension should be parsed as a PHP file
Phar::PHPS (int) | 1 | used to instruct the mimeoverrides parameter of Phar::webPhar() that the extension should be parsed as a PHP source file through highlight_file()


Using Phar Archives

Índice

  • Using Phar Archives: Introduction
  • Using Phar Archives: the phar stream wrapper
  • Using Phar Archives: the Phar and PharData class


Using Phar Archives: Introduction

Phar archives are similar in concept to Java JAR archives, but are tailored to the needs and to the flexibility of PHP applications. A Phar archive is used to distribute a complete PHP application or library in a single file. A Phar archive application is used exactly like any other PHP application:

php coolapplication.phar

Using a Phar archive library is identical to using any other PHP library:

<?php
include 'coollibrary.phar';
?>

The phar stream wrapper provides the core of the phar extension, and is explained in detail here. The phar stream wrapper allows accessing the files within a phar archive using PHP's standard file functions fopen(), opendir(), and others that work on regular files. The phar stream wrapper supports all read/write operations on both files and directories.

<?php
include 'phar://coollibrary.phar/internal/file.php';
header('Content-type: image/jpeg');
// phars can be accessed by full path or by alias
echo file_get_contents('phar:///fullpath/to/coollibrary.phar/images/wow.jpg');
?>

The Phar class implements advanced functionality for accessing files and for creating phar archives. The Phar class is explained in detail here.

<?php
try {
    // open an existing phar
    $p = new Phar('coollibrary.phar', 0);
    // Phar extends SPL's DirectoryIterator class
    foreach (new RecursiveIteratorIterator($p) as $file) {
        // $file is a PharFileInfo class, and inherits from SplFileInfo
        echo $file->getFileName() . "\n";
        echo file_get_contents($file->getPathName()) . "\n"; // display contents;
    }
    if (isset($p['internal/file.php'])) {
        var_dump($p['internal/file.php']->getMetadata());
    }

    // create a new phar - phar.readonly must be 0 in php.ini
    // phar.readonly is enabled by default for security reasons.
    // On production servers, Phars need never be created,
    // only executed.
    if (Phar::canWrite()) {
        $p = new Phar('newphar.tar.phar', 0, 'newphar.tar.phar');
        // make this a tar-based phar archive, compressed with gzip compression (.tar.gz)
        $p = $p->convertToExecutable(Phar::TAR, Phar::GZ);

        // create transaction - nothing is written to newphar.phar
        // until stopBuffering() is called, although temporary storage is needed
        $p->startBuffering();
        // add all files in /path/to/project, saving in the phar with the prefix "project"
        $p->buildFromIterator(new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/path/to/project')), '/path/to/');

        // add a new file via the array access API
        $p['file1.txt'] = 'Information';
        $fp = fopen('hugefile.dat', 'rb');
        // copy all data from the stream
        $p['data/hugefile.dat'] = $fp;

        if (Phar::canCompress(Phar::GZ)) {
            $p['data/hugefile.dat']->compress(Phar::GZ);
        }

        $p['images/wow.jpg'] = file_get_contents('images/wow.jpg');
        // any value can be saved as file-specific meta-data
        $p['images/wow.jpg']->setMetadata(array('mime-type' => 'image/jpeg'));
        $p['index.php'] = file_get_contents('index.php');
        $p->setMetadata(array('bootstrap' => 'index.php'));

        // save the phar archive to disk
        $p->stopBuffering();
    }
} catch (Exception $e) {
    echo 'Could not open Phar: ', $e;
}
?>

In addition, verification of phar file contents can be done using any of the supported symmetric hash algorithms (MD5, SHA1, SHA256 and SHA512 if ext/hash is enabled) and using asymmetric public/private key signing using OpenSSL. To take advantage of OpenSSL signing, you need to generate a public/private key pair, and use the private key to set the signature using Phar::setSignatureAlgorithm(). In addition, the public key as extracted using this code:

<?php
$public = openssl_get_publickey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($public, $pkey);
?>
must be saved adjacent to the phar archive it verifies. If the phar archive is saved as /path/to/my.phar, the public key must be saved as /path/to/my.phar.pubkey, or phar will be unable to verify the OpenSSL signature.

The Phar class also provides 3 static methods, Phar::webPhar(), Phar::mungServer() and Phar::interceptFileFuncs() that are crucial to packaging up PHP applications designed for usage on regular filesystems and for web-based applications. Phar::webPhar() implements a front controller that routes HTTP calls to the correct location within the phar archive. Phar::mungServer() is used to modify the values of the $_SERVER array to trick applications that process these values. Phar::interceptFileFuncs() instructs Phar to intercept calls to fopen(), file_get_contents(), opendir(), and all of the stat-based functions (file_exists(), is_readable() and so on) and route all relative paths to locations within the phar archive.

As an example, packaging up a release of the popular phpMyAdmin application for use as a phar archive requires only this simple script and then phpMyAdmin.phar.tar.php can be accessed as a regular file from your web server after modifying the user/password:

<?php
@unlink('phpMyAdmin.phar.tar.php');
copy('phpMyAdmin-2.11.3-english.tar.gz', 'phpMyAdmin.phar.tar.php');
$a = new Phar('phpMyAdmin.phar.tar.php');
$a->startBuffering();
$a["phpMyAdmin-2.11.3-english/config.inc.php"] = '<?php
/* Servers configuration */
$i = 0;

/* Server localhost (config:root) [1] */
$i++;
$cfg[\'Servers\'][$i][\'host\'] = \'localhost\';
$cfg[\'Servers\'][$i][\'extension\'] = \'mysqli\';
$cfg[\'Servers\'][$i][\'connect_type\'] = \'tcp\';
$cfg[\'Servers\'][$i][\'compress\'] = false;
$cfg[\'Servers\'][$i][\'auth_type\'] = \'config\';
$cfg[\'Servers\'][$i][\'user\'] = \'root\';
$cfg[\'Servers\'][$i][\'password\'] = \'\';

/* End of servers configuration */
if (strpos(PHP_OS, \'WIN\') !== false) {
    $cfg[\'UploadDir\'] = getcwd();
} else {
    $cfg[\'UploadDir\'] = \'/tmp/pharphpmyadmin\';
    @mkdir(\'/tmp/pharphpmyadmin\');
    @chmod(\'/tmp/pharphpmyadmin\', 0777);
}';
$a->setStub('<?php
Phar::interceptFileFuncs();
Phar::webPhar("phpMyAdmin.phar", "phpMyAdmin-2.11.3-english/index.php");
echo "phpMyAdmin is intended to be executed from a web browser\n";
exit -1;
__HALT_COMPILER();
');
$a->stopBuffering();
?>


Using Phar Archives: the phar stream wrapper

The Phar stream wrapper fully supports fopen() for read and write (not append), unlink(), stat(), fstat(), fseek(), rename() and directory stream operations opendir() and rmdir() and mkdir().

Individual file compression and per-file metadata can also be manipulated in a Phar archive using stream contexts:

<?php
$context = stream_context_create(array('phar' =>
                                    array('compress' => Phar::GZ)),
                                    array('metadata' => array('user' => 'cellog')));
file_put_contents('phar://my.phar/somefile.php', 0, $context);
?>

The phar stream wrapper does not operate on remote files, and cannot operate on remote files, and so is allowed even when the allow_url_fopen and allow_url_include INI options are disabled.

Although it is possible to create phar archives from scratch just using stream operations, it is best to use the functionality built into the Phar class. The stream wrapper is best used for read-only operations.


Using Phar Archives: the Phar and PharData class

The Phar class supports reading and manipulation of Phar archives, as well as iteration through inherited functionality of the RecursiveDirectoryIterator class. With support for the ArrayAccess interface, files inside a Phar archive can be accessed as if they were part of an associative array.

The PharData class extends the Phar, and allows creating and modifying non-executable (data) tar and zip archives even if phar.readonly=1 in php.ini. As such, PharData::setAlias() and PharData::setStub() are both disabled as the concept of alias and stub are unique to executable phar archives.

It is important to note that when creating a Phar archive, the full path should be passed to the Phar object constructor. Relative paths will fail to initialize.

Assuming that $p is a Phar object initialized as follows:

<?php
$p = new Phar('/path/to/myphar.phar', 0, 'myphar.phar');
?>

An empty Phar archive will be created at /path/to/myphar.phar, or if /path/to/myphar.phar already exists, it will be opened again. The literal myphar.phar demonstrates the concept of an alias that can be used to reference /path/to/myphar.phar in URLs as in:

<?php
// these two calls to file_get_contents() are equivalent if
// /path/to/myphar.phar has an explicit alias of "myphar.phar"
// in its manifest, or if the phar was initialized with the
// previous example's Phar object setup
$f = file_get_contents('phar:///path/to/myphar.phar/whatever.txt');
$f = file_get_contents('phar://myphar.phar/whatever.txt');
?>

With the newly created $p Phar object, the following is possible:

  • $a = $p['file.php'] creates a PharFileInfo class that refers to the contents of phar://myphar.phar/file.php
  • $p['file.php'] = $v creates a new file (phar://myphar.phar/file.php), or overwrites an existing file within myphar.phar. $v can be either a string or an open file pointer, in which case the entire contents of the file will be used to create the new file. Note that $p->addFromString('file.php', $v) is functionally equivalent to the above. Also possible is to add the contents of a file with $p->addFile('/path/to/file.php', 'file.php'). Lastly, an empty directory can be created with $p->addEmptyDir('empty').
  • isset($p['file.php']) can be used to determine whether phar://myphar.phar/file.php exists within myphar.phar.
  • unset($p['file.php']) erases phar://myphar.phar/file.php from myphar.phar.

In addition, the Phar object is the only way to access Phar-specific metadata, through Phar::getMetadata(), and the only way to set or retrieve a Phar archive's PHP loader stub through Phar::getStub() and Phar::setStub(). Additionally, compression for the entire Phar archive at once can only be manipulated using the Phar class.

The full list of Phar object functionality is documented below.

The PharFileInfo class extends the SplFileInfo class, and adds several methods for manipulating Phar-specific details of a file contained within a Phar, such as manipulating compression and metadata.


  • « Using Phar Archives: the Phar and PharData class
  • Creating Phar Archives: Introduction »
  • PHP Manual
  • Phar
  • Creating Phar Archives

Creating Phar Archives

Índice

  • Creating Phar Archives: Introduction


Creating Phar Archives: Introduction

To be written fully in the near future. Before reading this, be sure to read How to use Phar Archives.

A great place to start is by reading about Phar::buildFromIterator(), and the specifics of the file format choices available for archives. A healthy understanding of what a stub is and does is crucial to phar archive creation, and so Phar::setStub() and Phar::createDefaultStub() are good places to start as well. If you are distributing a web-based application, it is crucial to know about Phar::webPhar() and related method Phar::mungServer(). Any application that accesses its own files should also consider using Phar::interceptFileFuncs().


What makes a phar a phar and not a tar or a zip?

Índice

  • Ingredients of all Phar archives, independent of file format
  • Phar file stub
  • Head-to-head comparison of Phar, Tar and Zip
  • Tar-based phars
  • Zip-based phars
  • Phar File Format
  • Global Phar bitmapped flags
  • Phar manifest file entry definition
  • Phar Signature format


Ingredients of all Phar archives, independent of file format

All Phar archives contain three to four sections:

  1. a stub

  2. a manifest describing the contents

  3. the file contents

  4. [optional] a signature for verifying Phar integrity (phar file format only)


Phar file stub

A Phar's stub is a simple PHP file. The smallest possible stub follows:

<?php __HALT_COMPILER();

A stub must contain as a minimum, the __HALT_COMPILER(); token at its conclusion. Typically, a stub will contain loader functionality like so:

<?php
Phar::mapPhar();
include 'phar://myphar.phar/index.php';
__HALT_COMPILER();

There are no restrictions on the contents of a Phar stub, except for the requirement that it conclude with __HALT_COMPILER();. The closing PHP tag

?>
may be included or omitted, but there can be no more than 1 space between the ; and the close tag
?>
 or the phar extension will be unable to process the Phar archive's manifest.

In a tar or zip-based phar archive, the stub is stored in the .phar/stub.php file. The default stub for phar-based Phar archives contains approximately 7k of code to extract the contents of the phar and execute them. See Phar::createDefaultStub() for more detail.

The phar alias is stored in a tar or zip-based phar archive in the .phar/alias.txt file as plain text.


Head-to-head comparison of Phar, Tar and Zip

What are the good and the bad things about the three supported file formats in the phar extension? This table attempts to address that question.

Feature matrix: Phar vs. Tar vs. Zip
Feature | Phar | Tar | Zip
Standard File Format | No | Yes | Yes
Can be executed without the Phar Extension [1] | Yes | No | No
Per-file compression | Yes | No | Yes
Whole-archive compression | Yes | Yes | No
Whole-archive signature validation | Yes | Yes | Yes (PHP 5.3.1+)
Web-specific application support | Yes | Yes | Yes
Per-file Meta-data | Yes | Yes | Yes
Whole-Archive Meta-data | Yes | Yes | Yes
Archive creation/modification [2] | Yes | Yes | Yes
Full support for all stream wrapper functions | Yes | Yes | Yes
Can be created/modified even if phar.readonly=1 [3] | No | Yes | Yes

Dica

[1] PHP can only directly access the contents of a Phar archive without the Phar extension if it is using a stub that extracts the contents of the phar archive. The stub created by Phar::createDefaultStub() extracts the phar archive and runs its contents from a temporary directory if no phar extension is found.

Dica

[2] All write access requires phar.readonly to be disabled in php.ini or on the command-line directly.

Dica

[3] Only tar and zip archives without .phar in their filename and without an executable stub .phar/stub.php can be created if phar.readonly=1.


Tar-based phars

Archives based on the tar file format follow the more modern USTAR file format. The design of the tar file header makes them more efficient to access than the zip file format, and almost as efficient as the phar file format. File names are limited to 255 bytes, including full path within the phar archive. There is no limit on the number of files within a tar-based phar archive. These archives can fully compressed in gzip or bzip2 format and still be executed by the Phar extension.

There is limited support for reading tarballs in pax interchange format, but all recognized pax headers (currently, typeflag x and g) are silently ignored. There is also limited support for GNU Tar Archives; currently, ././@LongLink headers are resolved.

To compress an entire archive, use Phar::compress(). To decompress an entire archive, use Phar::decompress().


Zip-based phars

Archives based on the zip file format support several features built into the zip file format. Per-file and whole-archive metadata is stored in the zip file comment and zip archive comment as a serialized string. Pre-existing zip comments will be successfully read as a string. Per-file compression read/write is supported with zlib DEFLATE compression, and read access is supported with bzip2 compression. There is no limit on the number of files within a zip-based phar archive. Empty directories are stored in the zip archive as files with a trailing slash like my/directory/


Phar File Format

The phar file format is literally laid out as stub/manifest/contents/signature, and stores the crucial information of what is included in the phar archive in its manifest.

The Phar manifest is a highly optimized format that allows per-file specification of file compression, file permissions, and even user-defined meta-data such as file user or group. All values greater than 1 byte are stored in little-endian byte order, with the exception of the API version, which for historical reasons is stored as 3 nibbles in big-endian order.

All unused flags are reserved for future use, and must not be used to store custom information. Use the per-file meta-data facility to store customized information about particular files.

The basic file format of a Phar archive manifest is as follows:

Global Phar manifest format
Size in bytes | Description
4 bytes | Length of manifest in bytes (1 MB limit)
4 bytes | Number of files in the Phar
2 bytes | API version of the Phar manifest (currently 1.0.0)
4 bytes | Global Phar bitmapped flags
4 bytes | Length of Phar alias
?? | Phar alias (length based on previous)
4 bytes | Length of Phar metadata (0 for none)
?? | Serialized Phar Meta-data, stored in serialize() format
at least 24 * number of entries bytes | entries for each file


Global Phar bitmapped flags

Here are the bitmapped flags currently recognized by the Phar extension for the global Phar flat bitmap:

Bitmap values recognized
Value | Description
0x00010000 | If set, this Phar contains a verification signature
0x00001000 | If set, this Phar contains at least 1 file that is compressed with zlib DEFLATE compression
0x00002000 | If set, this Phar contains at least 1 file that is compressed with bzip2 compression


Phar manifest file entry definition

Each file in the manifest contains the following information:

Phar Manifest file entry
Size in bytes | Description
4 bytes | Filename length in bytes
?? | Filename (length specified in previous)
4 bytes | Un-compressed file size in bytes
4 bytes | Unix timestamp of file
4 bytes | Compressed file size in bytes
4 bytes | CRC32 checksum of un-compressed file contents
4 bytes | Bit-mapped File-specific flags
4 bytes | Serialized File Meta-data length (0 for none)
?? | Serialized File Meta-data, stored in serialize() format

Note that as of API version 1.1.1, empty directories are stored as filenames with a trailing slash like my/directory/

The File-specific bitmap values recognized are:

Bitmap values recognized
Value | Description
0x000001FF | These bits are reserved for defining specific file permissions of a file. Permissions are used for fstat() and can be used to recreate desired permissions upon extraction.
0x00001000 | If set, this file is compressed with zlib DEFLATE compression
0x00002000 | If set, this file is compressed with bzip2 compression


Phar Signature format

Phars containing a signature always have the signature appended to the end of the Phar archive after the loader, manifest, and file contents. The signature formats supported at this time are MD5, SHA1, SHA256, SHA512, and OPENSSL.

Signature format
Length in bytes | Description
varying | The actual signature, 20 bytes for an SHA1 signature, 16 bytes for an MD5 signature, 32 bytes for an SHA256 signature, and 64 bytes for an SHA512 signature. The length of an OPENSSL signature depends on the size of the private key.
4 bytes | Signature flags. 0x0001 is used to define an MD5 signature, 0x0002 is used to define an SHA1 signature, 0x0003 is used to define an SHA256 signature, and 0x0004 is used to define an SHA512 signature. The SHA256 and SHA512 signature support is available as of API version 1.1.0. 0x0010 is used to define an OPENSSL signature, what is available as of API version 1.1.1, if OpenSSL is available.
4 bytes | Magic GBMB used to define the presence of a signature.


The Phar class

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Introdução

The Phar class provides a high-level interface to accessing and creating phar archives.

Sinopse da classe

Phar extends RecursiveDirectoryIterator implements Countable , ArrayAccess {
/* Constantes herdadas */
const int FilesystemIterator::CURRENT_AS_PATHNAME = 32 ;
const int FilesystemIterator::CURRENT_AS_FILEINFO = 0 ;
const int FilesystemIterator::CURRENT_AS_SELF = 16 ;
const int FilesystemIterator::CURRENT_MODE_MASK = 240 ;
const int FilesystemIterator::KEY_AS_PATHNAME = 0 ;
const int FilesystemIterator::KEY_AS_FILENAME = 256 ;
const int FilesystemIterator::FOLLOW_SYMLINKS = 512 ;
const int FilesystemIterator::KEY_MODE_MASK = 3840 ;
const int FilesystemIterator::NEW_CURRENT_AND_KEY = 256 ;
const int FilesystemIterator::SKIP_DOTS = 4096 ;
const int FilesystemIterator::UNIX_PATHS = 8192 ;
/* Métodos */
public addEmptyDir ( string $dirname ) : void
public addFile ( string $file , string $localname = ? ) : void
public addFromString ( string $localname , string $contents ) : void
final public static apiVersion ( ) : string
public buildFromDirectory ( string $base_dir , string $regex = ? ) : array
public buildFromIterator ( Iterator $iter , string $base_directory = ? ) : array
final public static canCompress ( int $type = 0 ) : bool
final public static canWrite ( ) : bool
public compress ( int $compression , string $extension = ? ) : Phar
public compressFiles ( int $compression ) : void
public __construct ( string $fname , int $flags = ? , string $alias = ? )
public convertToData ( int $format = 9021976 , int $compression = 9021976 , string $extension = ? ) : PharData
public convertToExecutable ( int $format = 9021976 , int $compression = 9021976 , string $extension = ? ) : Phar
public copy ( string $oldfile , string $newfile ) : bool
public count ( ) : int
final public static createDefaultStub ( string $indexfile = ? , string $webindexfile = ? ) : string
public decompress ( string $extension = ? ) : Phar
public decompressFiles ( ) : bool
public delMetadata ( ) : bool
public delete ( string $entry ) : bool
public extractTo ( string $pathto , string|array|null $files = null , bool $overwrite = false ) : bool
public getAlias ( ) : string
public getMetadata ( ) : mixed
public getModified ( ) : bool
public getPath ( ) : string
public getSignature ( ) : array
public getStub ( ) : string
final public static getSupportedCompression ( ) : array
final public static getSupportedSignatures ( ) : array
public getVersion ( ) : string
public hasMetadata ( ) : bool
final public static interceptFileFuncs ( ) : void
public isBuffering ( ) : bool
public isCompressed ( ) : mixed
public isFileFormat ( int $format ) : bool
final public static isValidPharFilename ( string $filename , bool $executable = true ) : bool
public isWritable ( ) : bool
final public static loadPhar ( string $filename , string $alias = ? ) : bool
final public static mapPhar ( string $alias = ? , int $dataoffset = 0 ) : bool
final public static mount ( string $pharpath , string $externalpath ) : void
final public static mungServer ( array $munglist ) : void
public offsetExists ( string $offset ) : bool
public offsetGet ( string $offset ) : PharFileInfo
public offsetSet ( string $offset , string $value ) : void
public offsetUnset ( string $offset ) : bool
final public static running ( bool $retphar = true ) : string
public setAlias ( string $alias ) : bool
public setDefaultStub ( string $index = ? , string $webindex = ? ) : bool
public setMetadata ( mixed $metadata ) : void
public setSignatureAlgorithm ( int $sigtype , string $privatekey = ? ) : void
public setStub ( string $stub , int $len = -1 ) : bool
public startBuffering ( ) : void
public stopBuffering ( ) : void
final public static unlinkArchive ( string $archive ) : bool
final public static webPhar ( string $alias = ? , string $index = "index.php" , string $f404 = ? , array $mimetypes = ? , callable $rewrites = ? ) : void
}

Índice

  • Phar::addEmptyDir — Add an empty directory to the phar archive
  • Phar::addFile — Add a file from the filesystem to the phar archive
  • Phar::addFromString — Add a file from a string to the phar archive
  • Phar::apiVersion — Returns the api version
  • Phar::buildFromDirectory — Construct a phar archive from the files within a directory
  • Phar::buildFromIterator — Construct a phar archive from an iterator
  • Phar::canCompress — Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::canWrite — Returns whether phar extension supports writing and creating phars
  • Phar::compress — Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::compressFiles — Compresses all files in the current Phar archive
  • Phar::__construct — Construct a Phar archive object
  • Phar::convertToData — Convert a phar archive to a non-executable tar or zip file
  • Phar::convertToExecutable — Convert a phar archive to another executable phar archive file format
  • Phar::copy — Copy a file internal to the phar archive to another new file within the phar
  • Phar::count — Returns the number of entries (files) in the Phar archive
  • Phar::createDefaultStub — Create a phar-file format specific stub
  • Phar::decompress — Decompresses the entire Phar archive
  • Phar::decompressFiles — Decompresses all files in the current Phar archive
  • Phar::delMetadata — Deletes the global metadata of the phar
  • Phar::delete — Delete a file within a phar archive
  • Phar::extractTo — Extract the contents of a phar archive to a directory
  • Phar::getAlias — Get the alias for Phar
  • Phar::getMetadata — Returns phar archive meta-data
  • Phar::getModified — Return whether phar was modified
  • Phar::getPath — Get the real path to the Phar archive on disk
  • Phar::getSignature — Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
  • Phar::getStub — Return the PHP loader or bootstrap stub of a Phar archive
  • Phar::getSupportedCompression — Return array of supported compression algorithms
  • Phar::getSupportedSignatures — Return array of supported signature types
  • Phar::getVersion — Return version info of Phar archive
  • Phar::hasMetadata — Returns whether phar has global meta-data
  • Phar::interceptFileFuncs — Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions
  • Phar::isBuffering — Used to determine whether Phar write operations are being buffered, or are flushing directly to disk
  • Phar::isCompressed — Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::isFileFormat — Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter
  • Phar::isValidPharFilename — Returns whether the given filename is a valid phar filename
  • Phar::isWritable — Returns true if the phar archive can be modified
  • Phar::loadPhar — Loads any phar archive with an alias
  • Phar::mapPhar — Reads the currently executed file (a phar) and registers its manifest
  • Phar::mount — Mount an external path or file to a virtual location within the phar archive
  • Phar::mungServer — Defines a list of up to 4 $_SERVER variables that should be modified for execution
  • Phar::offsetExists — Determines whether a file exists in the phar
  • Phar::offsetGet — Gets a PharFileInfo object for a specific file
  • Phar::offsetSet — Set the contents of an internal file to those of an external file
  • Phar::offsetUnset — Remove a file from a phar
  • Phar::running — Returns the full path on disk or full phar URL to the currently executing Phar archive
  • Phar::setAlias — Set the alias for the Phar archive
  • Phar::setDefaultStub — Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader
  • Phar::setMetadata — Sets phar archive meta-data
  • Phar::setSignatureAlgorithm — Set the signature algorithm for a phar and apply it
  • Phar::setStub — Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::startBuffering — Start buffering Phar write operations, do not modify the Phar object on disk
  • Phar::stopBuffering — Stop buffering write requests to the Phar archive, and save changes to disk
  • Phar::unlinkArchive — Completely remove a phar archive from disk and from memory
  • Phar::webPhar — mapPhar for web-based phars. front controller for web applications


Add an empty directory to the phar archive

  • « Phar
  • Phar::addFile »
  • PHP Manual
  • Phar
  • Add an empty directory to the phar archive

Phar::addEmptyDir

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::addEmptyDir — Add an empty directory to the phar archive

Descrição

public Phar::addEmptyDir ( string $dirname ) : void

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

With this method, an empty directory is created with path dirname. This method is similar to ZipArchive::addEmptyDir().

Parâmetros

dirname

The name of the empty directory to create in the phar archive

Valor Retornado

no return value, exception is thrown on failure.

Exemplos

Exemplo #1 A Phar::addEmptyDir() example

<?php
try {
    $a = new Phar('/path/to/phar.phar');

    $a->addEmptyDir('/full/path/to/file');
    // demonstrates how this file is stored
    $b = $a['full/path/to/file']->isDir();
} catch (Exception $e) {
    // handle errors here
}
?>

Veja Também

  • PharData::addEmptyDir() - Add an empty directory to the tar/zip archive
  • Phar::addFile() - Add a file from the filesystem to the phar archive
  • Phar::addFromString() - Add a file from a string to the phar archive


Add a file from the filesystem to the phar archive

  • « Phar::addEmptyDir
  • Phar::addFromString »
  • PHP Manual
  • Phar
  • Add a file from the filesystem to the phar archive

Phar::addFile

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::addFile — Add a file from the filesystem to the phar archive

Descrição

public Phar::addFile ( string $file , string $localname = ? ) : void

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

With this method, any file or URL can be added to the phar archive. If the optional second parameter localname is specified, the file will be stored in the archive with that name, otherwise the file parameter is used as the path to store within the archive. URLs must have a localname or an exception is thrown. This method is similar to ZipArchive::addFile().

Parâmetros

file

Full or relative path to a file on disk to be added to the phar archive.

localname

Path that the file will be stored in the archive.

Valor Retornado

no return value, exception is thrown on failure.

Exemplos

Exemplo #1 A Phar::addFile() example

<?php
try {
    $a = new Phar('/path/to/phar.phar');

    $a->addFile('/full/path/to/file');
    // demonstrates how this file is stored
    $b = $a['full/path/to/file']->getContent();

    $a->addFile('/full/path/to/file', 'my/file.txt');
    $c = $a['my/file.txt']->getContent();

    // demonstrate URL usage
    $a->addFile('http://www.example.com', 'example.html');
} catch (Exception $e) {
    // handle errors here
}
?>

Notas

Nota: Phar::addFile(), Phar::addFromString() and Phar::offsetSet() save a new phar archive each time they are called. If performance is a concern, Phar::buildFromDirectory() or Phar::buildFromIterator() should be used instead.

Veja Também

  • Phar::offsetSet() - Set the contents of an internal file to those of an external file
  • PharData::addFile() - Add a file from the filesystem to the tar/zip archive
  • Phar::addFromString() - Add a file from a string to the phar archive
  • Phar::addEmptyDir() - Add an empty directory to the phar archive


Add a file from a string to the phar archive

  • « Phar::addFile
  • Phar::apiVersion »
  • PHP Manual
  • Phar
  • Add a file from a string to the phar archive

Phar::addFromString

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::addFromString — Add a file from a string to the phar archive

Descrição

public Phar::addFromString ( string $localname , string $contents ) : void

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

With this method, any string can be added to the phar archive. The file will be stored in the archive with localname as its path. This method is similar to ZipArchive::addFromString().

Parâmetros

localname

Path that the file will be stored in the archive.

contents

The file contents to store

Valor Retornado

no return value, exception is thrown on failure.

Exemplos

Exemplo #1 A Phar::addFromString() example

<?php
try {
    $a = new Phar('/path/to/phar.phar');

    $a->addFromString('path/to/file.txt', 'my simple file');
    $b = $a['path/to/file.txt']->getContent();

    // to add contents from a stream handle for large files, use offsetSet()
    $c = fopen('/path/to/hugefile.bin');
    $a['largefile.bin'] = $c;
    fclose($c);
} catch (Exception $e) {
    // handle errors here
}
?>

Notas

Nota: Phar::addFile(), Phar::addFromString() and Phar::offsetSet() save a new phar archive each time they are called. If performance is a concern, Phar::buildFromDirectory() or Phar::buildFromIterator() should be used instead.

Veja Também

  • Phar::offsetSet() - Set the contents of an internal file to those of an external file
  • PharData::addFromString() - Add a file from the filesystem to the tar/zip archive
  • Phar::addFile() - Add a file from the filesystem to the phar archive
  • Phar::addEmptyDir() - Add an empty directory to the phar archive


Returns the api version

  • « Phar::addFromString
  • Phar::buildFromDirectory »
  • PHP Manual
  • Phar
  • Returns the api version

Phar::apiVersion

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::apiVersion — Returns the api version

Descrição

final public static Phar::apiVersion ( ) : string

Return the API version of the phar file format that will be used when creating phars. The Phar extension supports reading API version 1.0.0 or newer. API version 1.1.0 is required for SHA-256 and SHA-512 hash, and API version 1.1.1 is required to store empty directories.

Parâmetros

Valor Retornado

The API version string as in "1.0.0".

Exemplos

Exemplo #1 A Phar::apiVersion() example

<?php
echo Phar::apiVersion();
?>

O exemplo acima irá imprimir:

1.1.1


Construct a phar archive from the files within a directory

  • « Phar::apiVersion
  • Phar::buildFromIterator »
  • PHP Manual
  • Phar
  • Construct a phar archive from the files within a directory

Phar::buildFromDirectory

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::buildFromDirectory — Construct a phar archive from the files within a directory

Descrição

public Phar::buildFromDirectory ( string $base_dir , string $regex = ? ) : array

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

Populate a phar archive from directory contents. The optional second parameter is a regular expression (pcre) that is used to exclude files. Any filename that matches the regular expression will be included, all others will be excluded. For more fine-grained control, use Phar::buildFromIterator().

Parâmetros

base_dir

The full or relative path to the directory that contains all files to add to the archive.

regex

An optional pcre regular expression that is used to filter the list of files. Only file paths matching the regular expression will be included in the archive.

Valor Retornado

Phar::buildFromDirectory() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Erros

This method throws BadMethodCallException when unable to instantiate the internal directory iterators, or a PharException if there were errors saving the phar archive.

Exemplos

Exemplo #1 A Phar::buildFromDirectory() example

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));

$phar2 = new Phar('project2.phar', 0, 'project2.phar');
// add all files in the project, only include php files
$phar2->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
$phar2->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Veja Também

  • Phar::buildFromIterator() - Construct a phar archive from an iterator


Construct a phar archive from an iterator

  • « Phar::buildFromDirectory
  • Phar::canCompress »
  • PHP Manual
  • Phar
  • Construct a phar archive from an iterator

Phar::buildFromIterator

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::buildFromIterator — Construct a phar archive from an iterator

Descrição

public Phar::buildFromIterator ( Iterator $iter , string $base_directory = ? ) : array

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

Populate a phar archive from an iterator. Two styles of iterators are supported, iterators that map the filename within the phar to the name of a file on disk, and iterators like DirectoryIterator that return SplFileInfo objects. For iterators that return SplFileInfo objects, the second parameter is required.

Parâmetros

iter

Any iterator that either associatively maps phar file to location or returns SplFileInfo objects

base_directory

For iterators that return SplFileInfo objects, the portion of each file's full path to remove when adding to the phar archive

Valor Retornado

Phar::buildFromIterator() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Exemplos

Exemplo #1 A Phar::buildFromIterator() with SplFileInfo

For most phar archives, the archive will reflect an actual directory layout, and the second style is the most useful. For instance, to create a phar archive containing the files in this sample directory layout:

/path/to/project/
                 config/
                        dist.xml
                        debug.xml
                 lib/
                     file1.php
                     file2.php
                 src/
                     processthing.php
                 www/
                     index.php
                 cli/
                     index.php

This code could be used to add these files to the "project.phar" phar archive:

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new RecursiveDirectoryIterator('/path/to/project')),
    '/path/to/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

The file project.phar can then be used immediately. Phar::buildFromIterator() does not set values such as compression, metadata, and this can be done after creating the phar archive.

As an interesting note, Phar::buildFromIterator() can also be used to copy the contents of an existing phar archive, as the Phar object descends from DirectoryIterator:

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new Phar('/path/to/anotherphar.phar')),
    'phar:///path/to/anotherphar.phar/path/to/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Exemplo #2 A Phar::buildFromIterator() with other iterators

The second form of the iterator can be used with any iterator that returns a key => value mapping, such as an ArrayIterator:

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
$phar->buildFromIterator(
    new ArrayIterator(
     array(
        'internal/file.php' => dirname(__FILE__) . '/somefile.php',
        'another/file.jpg' => fopen('/path/to/bigfile.jpg', 'rb'),
     )));
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Erros

This method returns UnexpectedValueException when the iterator returns incorrect values, such as an integer key instead of a string, a BadMethodCallException when an SplFileInfo-based iterator is passed without a base_directory parameter, or a PharException if there were errors saving the phar archive.

Veja Também

  • Phar::buildFromDirectory() - Construct a phar archive from the files within a directory


Returns whether phar extension supports compression using either zlib or bzip2

  • « Phar::buildFromIterator
  • Phar::canWrite »
  • PHP Manual
  • Phar
  • Returns whether phar extension supports compression using either zlib or bzip2

Phar::canCompress

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::canCompress — Returns whether phar extension supports compression using either zlib or bzip2

Descrição

final public static Phar::canCompress ( int $type = 0 ) : bool

This should be used to test whether compression is possible prior to loading a phar archive containing compressed files.

Parâmetros

type

Either Phar::GZ or Phar::BZ2 can be used to test whether compression is possible with a specific compression algorithm (zlib or bzip2).

Valor Retornado

true if compression/decompression is available, false if not.

Exemplos

Exemplo #1 A Phar::canCompress() example

<?php
if (Phar::canCompress()) {
    echo file_get_contents('phar://compressedphar.phar/internal/file.txt');
} else {
    echo 'no compression available';
}
?>

Veja Também

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file


Returns whether phar extension supports writing and creating phars

  • « Phar::canCompress
  • Phar::compress »
  • PHP Manual
  • Phar
  • Returns whether phar extension supports writing and creating phars

Phar::canWrite

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::canWrite — Returns whether phar extension supports writing and creating phars

Descrição

final public static Phar::canWrite ( ) : bool

This static method determines whether write access has been disabled in the system php.ini via the phar.readonly ini variable.

Parâmetros

Valor Retornado

true if write access is enabled, false if it is disabled.

Exemplos

Exemplo #1 A Phar::canWrite() example

<?php
if (Phar::canWrite()) {
    file_put_contents('phar://myphar.phar/file.txt', 'hi there');
}
?>

Veja Também

  • phar.readonly
  • Phar::isWritable() - Returns true if the phar archive can be modified


Compresses the entire Phar archive using Gzip or Bzip2 compression

  • « Phar::canWrite
  • Phar::compressFiles »
  • PHP Manual
  • Phar
  • Compresses the entire Phar archive using Gzip or Bzip2 compression

Phar::compress

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::compress — Compresses the entire Phar archive using Gzip or Bzip2 compression

Descrição

public Phar::compress ( int $compression , string $extension = ? ) : Phar

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

For tar-based and phar-based phar archives, this method compresses the entire archive using gzip compression or bzip2 compression. The resulting file can be processed with the gunzip command/bunzip command, or accessed directly and transparently with the Phar extension.

For Zip-based phar archives, this method fails with an exception. The zlib extension must be enabled to compress with gzip compression, the bzip2 extension must be enabled in order to compress with bzip2 compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

In addition, this method automatically renames the archive, appending .gz, .bz2 or removing the extension if passed Phar::NONE to remove compression. Alternatively, a file extension may be specified with the second parameter.

Parâmetros

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

extension

By default, the extension is .phar.gz or .phar.bz2 for compressing phar archives, and .phar.tar.gz or .phar.tar.bz2 for compressing tar archives. For decompressing, the default file extensions are .phar and .phar.tar.

Valor Retornado

Returns a Phar object.

Erros

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or the bzip2 extension is not enabled.

Exemplos

Exemplo #1 A Phar::compress() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copies to /path/to/my.phar.gz
$p2 = $p->compress(Phar::BZ2); // copies to /path/to/my.phar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /path/to/my.phar already exists
?>

Veja Também

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive


Compresses all files in the current Phar archive

  • « Phar::compress
  • Phar::__construct »
  • PHP Manual
  • Phar
  • Compresses all files in the current Phar archive

Phar::compressFiles

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::compressFiles — Compresses all files in the current Phar archive

Descrição

public Phar::compressFiles ( int $compression ) : void

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

For tar-based phar archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use Phar::compress() to compress an entire tar-based phar archive.

For Zip-based and phar-based phar archives, this method compresses all files in the Phar archive using the specified compression. The zlib or bzip2 extensions must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2/zlib compression, the respective extension must be enabled in order to decompress the files prior to re-compressing. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Parâmetros

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

Valor Retornado

Não há valor retornado.

Erros

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Exemplos

Exemplo #1 A Phar::compressFiles() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

O exemplo acima irá imprimir:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)

Veja Também

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive


Construct a Phar archive object

  • « Phar::compressFiles
  • Phar::convertToData »
  • PHP Manual
  • Phar
  • Construct a Phar archive object

Phar::__construct

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::__construct — Construct a Phar archive object

Descrição

public Phar::__construct ( string $fname , int $flags = ? , string $alias = ? )

Parâmetros

fname

Path to an existing Phar archive or to-be-created archive. The file name's extension must contain .phar.

flags

Flags to pass to parent class RecursiveDirectoryIterator.

alias

Alias with which this Phar archive should be referred to in calls to stream functionality.

Erros

Throws BadMethodCallException if called twice, UnexpectedValueException if the phar archive can't be opened.

Exemplos

Exemplo #1 A Phar::__construct() example

<?php
try {
    $p = new Phar('/path/to/my.phar', FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::KEY_AS_FILENAME,
                  'my.phar');
} catch (UnexpectedValueException $e) {
    die('Could not open my.phar');
} catch (BadMethodCallException $e) {
    echo 'technically, this cannot happen';
}
// this works now
echo file_get_contents('phar://my.phar/example.txt');
// and works as if we had typed
echo file_get_contents('phar:///path/to/my.phar/example.txt');
?>


Convert a phar archive to a non-executable tar or zip file

  • « Phar::__construct
  • Phar::convertToExecutable »
  • PHP Manual
  • Phar
  • Convert a phar archive to a non-executable tar or zip file

Phar::convertToData

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::convertToData — Convert a phar archive to a non-executable tar or zip file

Descrição

public Phar::convertToData ( int $format = 9021976 , int $compression = 9021976 , string $extension = ? ) : PharData

This method is used to convert an executable phar archive to either a tar or zip file. To make the tar or zip non-executable, the phar stub and phar alias files are removed from the newly created archive.

If no changes are specified, this method throws a BadMethodCallException if the archive is in phar file format. For archives in tar or zip file format, this method converts the archive to a non-executable archive.

If successful, the method creates a new archive on disk and returns a PharData object. The old archive is not removed from disk, and should be done manually after the process has finished.

Parâmetros

format

This should be one of Phar::TAR or Phar::ZIP. If set to null, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that .phar cannot be used anywhere in the filename for a non-executable tar or zip archive.

If converting to a tar-based phar archive, the default extensions are .tar, .tar.gz, and .tar.bz2 depending on specified compression. For zip-based archives, the default extension is .zip.

Valor Retornado

The method returns a PharData object on success and throws an exception on failure.

Erros

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), and a PharException if any problems are encountered during the phar creation process.

Exemplos

Exemplo #1 A Phar::convertToData() example

Using Phar::convertToData():

<?php
try {
    $tarphar = new Phar('myphar.phar.tar');
    // note that myphar.phar.tar is *not* unlinked
    // convert it to the non-executable tar file format
    // creates myphar.tar
    $tar = $tarphar->convertToData();
    // convert to non-executable zip format, creates myphar.zip
    $zip = $tarphar->convertToData(Phar::ZIP);
    // create myphar.tbz
    $tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
    // creates myphar.phar.tgz
    $phar = $tarphar->convertToData(Phar::PHAR); // throws exception
} catch (Exception $e) {
    // handle the error here
}
?>

Veja Também

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • PharData::convertToExecutable() - Convert a non-executable tar/zip archive to an executable phar archive
  • PharData::convertToData() - Convert a phar archive to a non-executable tar or zip file


Convert a phar archive to another executable phar archive file format

  • « Phar::convertToData
  • Phar::copy »
  • PHP Manual
  • Phar
  • Convert a phar archive to another executable phar archive file format

Phar::convertToExecutable

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::convertToExecutable — Convert a phar archive to another executable phar archive file format

Descrição

public Phar::convertToExecutable ( int $format = 9021976 , int $compression = 9021976 , string $extension = ? ) : Phar

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

This method is used to convert a phar archive to another file format. For instance, it can be used to create a tar-based executable phar archive from a zip-based executable phar archive, or from an executable phar archive in the phar file format. In addition, it can be used to apply whole-archive compression to a tar or phar-based archive.

If no changes are specified, this method throws a BadMethodCallException.

If successful, the method creates a new archive on disk and returns a Phar object. The old archive is not removed from disk, and should be done manually after the process has finished.

Parâmetros

format

This should be one of Phar::PHAR, Phar::TAR, or Phar::ZIP. If set to null, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that all zip- and tar-based phar archives must contain .phar in their file extension in order to be processed as a phar archive.

If converting to a phar-based archive, the default extensions are .phar, .phar.gz, or .phar.bz2 depending on the specified compression. For tar-based phar archives, the default extensions are .phar.tar, .phar.tar.gz, and .phar.tar.bz2. For zip-based phar archives, the default extension is .phar.zip.

Valor Retornado

The method returns a Phar object on success and throws an exception on failure.

Erros

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), an UnexpectedValueException if write support is disabled, and a PharException if any problems are encountered during the phar creation process.

Exemplos

Exemplo #1 A Phar::convertToExecutable() example

Using Phar::convertToExecutable():

<?php
try {
    $tarphar = new Phar('myphar.phar.tar');
    // convert it to the phar file format
    // note that myphar.phar.tar is *not* unlinked
    $phar = $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
    // creates myphar.phar.tgz
    $compressed = $phar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
    // handle the error here
}
?>

Veja Também

  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToExecutable() - Convert a non-executable tar/zip archive to an executable phar archive
  • PharData::convertToData() - Convert a phar archive to a non-executable tar or zip file


Copy a file internal to the phar archive to another new file within the phar

  • « Phar::convertToExecutable
  • Phar::count »
  • PHP Manual
  • Phar
  • Copy a file internal to the phar archive to another new file within the phar

Phar::copy

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::copy — Copy a file internal to the phar archive to another new file within the phar

Descrição

public Phar::copy ( string $oldfile , string $newfile ) : bool

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

Copy a file internal to the phar archive to another new file within the phar. This is an object-oriented alternative to using copy() with the phar stream wrapper.

Parâmetros

oldfile

newfile

Valor Retornado

returns true on success, but it is safer to encase method call in a try/catch block and assume success if no exception is thrown.

Erros

throws UnexpectedValueException if the source file does not exist, the destination file already exists, write access is disabled, opening either file fails, reading the source file fails, or a PharException if writing the changes to the phar fails.

Exemplos

Exemplo #1 A Phar::copy() example

This example shows using Phar::copy() and the equivalent stream wrapper performance of the same thing. The primary difference between the two approaches is error handling. All Phar methods throw exceptions, whereas the stream wrapper uses trigger_error().

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar['a'] = 'hi';
    $phar->copy('a', 'b');
    echo $phar['b']; // outputs "hi"
} catch (Exception $e) {
    // handle error
}

// the stream wrapper equivalent of the above code.
// E_WARNINGS are triggered on error rather than exceptions.
copy('phar://myphar.phar/a', 'phar//myphar.phar/c');
echo file_get_contents('phar://myphar.phar/c'); // outputs "hi"
?>


Returns the number of entries (files) in the Phar archive

  • « Phar::copy
  • Phar::createDefaultStub »
  • PHP Manual
  • Phar
  • Returns the number of entries (files) in the Phar archive

Phar::count

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::count — Returns the number of entries (files) in the Phar archive

Descrição

public Phar::count ( ) : int

Parâmetros

Valor Retornado

The number of files contained within this phar, or 0 (the number zero) if none.

Exemplos

Exemplo #1 A Phar::count() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
    echo 'Could not create phar:', $e;
}
echo 'The new phar has ' . $p->count() . " entries\n";
$p['file.txt'] = 'hi';
echo 'The new phar has ' . $p->count() . " entries\n";
?>

O exemplo acima irá imprimir:

The new phar has 0 entries
The new phar has 1 entries


Create a phar-file format specific stub

  • « Phar::count
  • Phar::decompress »
  • PHP Manual
  • Phar
  • Create a phar-file format specific stub

Phar::createDefaultStub

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::createDefaultStub — Create a phar-file format specific stub

Descrição

final public static Phar::createDefaultStub ( string $indexfile = ? , string $webindexfile = ? ) : string

This method is intended for creation of phar-file format-specific stubs, and is not intended for use with tar- or zip-based phar archives.

Phar archives contain a bootstrap loader, or stub written in PHP that is executed when the archive is executed in PHP either via include:

<?php
include 'myphar.phar';
?>
or by simple execution:
php myphar.phar

This method provides a simple and easy method to create a stub that will run a startup file from the phar archive. In addition, different files can be specified for running the phar archive from the command line versus through a web server. The loader stub also calls Phar::interceptFileFuncs() to allow easy bundling of a PHP application that accesses the file system. If the phar extension is not present, the loader stub will extract the phar archive to a temporary directory and then operate on the files. A shutdown function erases the temporary files on exit.

Valor Retornado

Returns a string containing the contents of a customized bootstrap loader (stub) that allows the created Phar archive to work with or without the Phar extension enabled.

Erros

Throws UnexpectedValueException if either parameter is longer than 400 bytes.

Exemplos

Exemplo #1 A Phar::createDefaultStub() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
    // handle errors
}
?>

Veja Também

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::getStub() - Return the PHP loader or bootstrap stub of a Phar archive


Decompresses the entire Phar archive

  • « Phar::createDefaultStub
  • Phar::decompressFiles »
  • PHP Manual
  • Phar
  • Decompresses the entire Phar archive

Phar::decompress

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::decompress — Decompresses the entire Phar archive

Descrição

public Phar::decompress ( string $extension = ? ) : Phar

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

For tar-based and phar-based phar archives, this method decompresses the entire archive.

For Zip-based phar archives, this method fails with an exception. The zlib extension must be enabled to decompress an archive compressed with gzip compression, and the bzip2 extension must be enabled in order to decompress an archive compressed with bzip2 compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

In addition, this method automatically changes the file extension of the archive, .phar by default for phar archives, or .phar.tar for tar-based phar archives. Alternatively, a file extension may be specified with the second parameter.

Parâmetros

extension

For decompressing, the default file extensions are .phar and .phar.tar. Use this parameter to specify another file extension. Be aware that all executable phar archives must contain .phar in their filename.

Valor Retornado

A Phar object is returned.

Erros

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or the bzip2 extension is not enabled.

Exemplos

Exemplo #1 A Phar::decompress() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar.gz');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p3 = $p2->decompress(); // creates /path/to/my.phar
?>

Veja Também

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive


Decompresses all files in the current Phar archive

  • « Phar::decompress
  • Phar::delMetadata »
  • PHP Manual
  • Phar
  • Decompresses all files in the current Phar archive

Phar::decompressFiles

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::decompressFiles — Decompresses all files in the current Phar archive

Descrição

public Phar::decompressFiles ( ) : bool

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

For tar-based phar archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use Phar::compress() to compress an entire tar-based phar archive.

For Zip-based and phar-based phar archives, this method decompresses all files in the Phar archive. The zlib or bzip2 extensions must be enabled to take advantage of this feature if any files are compressed using bzip2/zlib compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Exemplos

Exemplo #1 A Phar::decompressFiles() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

O exemplo acima irá imprimir:

string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)
string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)

Veja Também

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive


Deletes the global metadata of the phar

  • « Phar::decompressFiles
  • Phar::delete »
  • PHP Manual
  • Phar
  • Deletes the global metadata of the phar

Phar::delMetadata

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.0)

Phar::delMetadata — Deletes the global metadata of the phar

Descrição

public Phar::delMetadata ( ) : bool

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

Deletes the global metadata of the phar

Parâmetros

Valor Retornado

returns true on success, but it is better to check for thrown exception, and assume success if none is thrown.

Erros

Throws PharException if errors occur while flushing changes to disk.

Exemplos

Exemplo #1 A Phar::delMetaData() example

<?php
try {
    $phar = new Phar('myphar.phar');
    var_dump($phar->getMetadata());
    $phar->setMetadata("hi there");
    var_dump($phar->getMetadata());
    $phar->delMetadata();
    var_dump($phar->getMetadata());
} catch (Exception $e) {
    // handle errors
}
?>

O exemplo acima irá imprimir:

NULL
string(8) "hi there"
NULL

Veja Também

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data


Delete a file within a phar archive

  • « Phar::delMetadata
  • Phar::extractTo »
  • PHP Manual
  • Phar
  • Delete a file within a phar archive

Phar::delete

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::delete — Delete a file within a phar archive

Descrição

public Phar::delete ( string $entry ) : bool

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

Delete a file within an archive. This is the functional equivalent of calling unlink() on the stream wrapper equivalent, as shown in the example below.

Parâmetros

entry

Path within an archive to the file to delete.

Valor Retornado

returns true on success, but it is better to check for thrown exception, and assume success if none is thrown.

Erros

Throws PharException if errors occur while flushing changes to disk.

Exemplos

Exemplo #1 A Phar::delete() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->delete('unlink/me.php');
    // this is equivalent to:
    unlink('phar://myphar.phar/unlink/me.php');
} catch (Exception $e) {
    // handle errors
}
?>

Veja Também

  • PharData::delete() - Delete a file within a tar/zip archive
  • Phar::unlinkArchive() - Completely remove a phar archive from disk and from memory


Extract the contents of a phar archive to a directory

  • « Phar::delete
  • Phar::getAlias »
  • PHP Manual
  • Phar
  • Extract the contents of a phar archive to a directory

Phar::extractTo

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::extractTo — Extract the contents of a phar archive to a directory

Descrição

public Phar::extractTo ( string $pathto , string|array|null $files = null , bool $overwrite = false ) : bool

Extract all files within a phar archive to disk. Extracted files and directories preserve permissions as stored in the archive. The optional parameters allow optional control over which files are extracted, and whether existing files on disk can be overwritten. The second parameter files can be either the name of a file or directory to extract, or an array of names of files and directories to extract. By default, this method will not overwrite existing files, the third parameter can be set to true to enable overwriting of files. This method is similar to ZipArchive::extractTo().

Parâmetros

pathto

Path to extract the given files to

files

The name of a file or directory to extract, or an array of files/directories to extract, null to skip this param

overwrite

Set to true to enable overwriting existing files

Valor Retornado

returns true on success, but it is better to check for thrown exception, and assume success if none is thrown.

Erros

Throws PharException if errors occur while flushing changes to disk.

Exemplos

Exemplo #1 A Phar::extractTo() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->extractTo('/full/path'); // extract all files
    $phar->extractTo('/another/path', 'file.txt'); // extract only file.txt
    $phar->extractTo('/this/path',
        array('file1.txt', 'file2.txt')); // extract 2 files only
    $phar->extractTo('/third/path', null, true); // extract all files, and overwrite
} catch (Exception $e) {
    // handle errors
}
?>

Veja Também

  • PharData::extractTo() - Extract the contents of a tar/zip archive to a directory


Get the alias for Phar

  • « Phar::extractTo
  • Phar::getMetadata »
  • PHP Manual
  • Phar
  • Get the alias for Phar

Phar::getAlias

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.1)

Phar::getAlias — Get the alias for Phar

Descrição

public Phar::getAlias ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the alias or null if there's no alias.


Returns phar archive meta-data

  • « Phar::getAlias
  • Phar::getModified »
  • PHP Manual
  • Phar
  • Returns phar archive meta-data

Phar::getMetadata

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::getMetadata — Returns phar archive meta-data

Descrição

public Phar::getMetadata ( ) : mixed

Retrieve archive meta-data. Meta-data can be any PHP variable that can be serialized.

Parâmetros

No parameters.

Valor Retornado

any PHP variable that can be serialized and is stored as meta-data for the Phar archive, or null if no meta-data is stored.

Exemplos

Exemplo #1 A Phar::getMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.php'] = '<?php echo "hello";';
    $p->setMetadata(array('bootstrap' => 'file.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'Could not modify phar:', $e;
}
?>

O exemplo acima irá imprimir:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Veja Também

  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar
  • Phar::hasMetadata() - Returns whether phar has global meta-data


Return whether phar was modified

  • « Phar::getMetadata
  • Phar::getPath »
  • PHP Manual
  • Phar
  • Return whether phar was modified

Phar::getModified

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::getModified — Return whether phar was modified

Descrição

public Phar::getModified ( ) : bool

This method can be used to determine whether a phar has either had an internal file deleted, or contents of a file changed in some way.

Parâmetros

No parameters.

Valor Retornado

true if the phar has been modified since opened, false if not.


Get the real path to the Phar archive on disk

  • « Phar::getModified
  • Phar::getSignature »
  • PHP Manual
  • Phar
  • Get the real path to the Phar archive on disk

Phar::getPath

(PHP 5 >= 5.3.0, PHP 7)

Phar::getPath — Get the real path to the Phar archive on disk

Descrição

public Phar::getPath ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

  • « Phar::getPath
  • Phar::getStub »
  • PHP Manual
  • Phar
  • Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

Phar::getSignature

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::getSignature — Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

Descrição

public Phar::getSignature ( ) : array

Returns the verification signature of a phar archive in a hexadecimal string.

Parâmetros

Valor Retornado

Array with the opened archive's signature in hash key and MD5, SHA-1, SHA-256, SHA-512, or OpenSSL in hash_type. This signature is a hash calculated on the entire phar's contents, and may be used to verify the integrity of the archive. A valid signature is absolutely required of all executable phar archives if the phar.require_hash INI variable is set to true.


Return the PHP loader or bootstrap stub of a Phar archive

  • « Phar::getSignature
  • Phar::getSupportedCompression »
  • PHP Manual
  • Phar
  • Return the PHP loader or bootstrap stub of a Phar archive

Phar::getStub

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::getStub — Return the PHP loader or bootstrap stub of a Phar archive

Descrição

public Phar::getStub ( ) : string

Phar archives contain a bootstrap loader, or stub written in PHP that is executed when the archive is executed in PHP either via include:

<?php
include 'myphar.phar';
?>
or by simple execution:
php myphar.phar

Valor Retornado

Returns a string containing the contents of the bootstrap loader (stub) of the current Phar archive.

Erros

Throws RuntimeException if it is not possible to read the stub from the Phar archive.

Exemplos

Exemplo #1 A Phar::getStub() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
echo $p->getStub();
echo "==NEXT==\n";
$p->setStub("<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER(); ?>");
echo $p->getStub();
?>

O exemplo acima irá imprimir:

<?php __HALT_COMPILER(); ?>
==NEXT==
<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER(); ?>

Veja Também

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::createDefaultStub() - Create a phar-file format specific stub


Return array of supported compression algorithms

  • « Phar::getStub
  • Phar::getSupportedSignatures »
  • PHP Manual
  • Phar
  • Return array of supported compression algorithms

Phar::getSupportedCompression

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.0)

Phar::getSupportedCompression — Return array of supported compression algorithms

Descrição

final public static Phar::getSupportedCompression ( ) : array

Parâmetros

No parameters.

Valor Retornado

Returns an array containing any of Phar::GZ or Phar::BZ2, depending on the availability of the zlib extension or the bz2 extension.

Veja Também

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive


Return array of supported signature types

  • « Phar::getSupportedCompression
  • Phar::getVersion »
  • PHP Manual
  • Phar
  • Return array of supported signature types

Phar::getSupportedSignatures

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.1.0)

Phar::getSupportedSignatures — Return array of supported signature types

Descrição

final public static Phar::getSupportedSignatures ( ) : array

Return array of supported signature types

Parâmetros

No parameters.

Valor Retornado

Returns an array containing any of MD5, SHA-1, SHA-256, SHA-512, or OpenSSL.

Veja Também

  • Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
  • Phar::setSignatureAlgorithm() - Set the signature algorithm for a phar and apply it


Return version info of Phar archive

  • « Phar::getSupportedSignatures
  • Phar::hasMetadata »
  • PHP Manual
  • Phar
  • Return version info of Phar archive

Phar::getVersion

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::getVersion — Return version info of Phar archive

Descrição

public Phar::getVersion ( ) : string

Returns the API version of an opened Phar archive.

Parâmetros

Valor Retornado

The opened archive's API version. This is not to be confused with the API version that the loaded phar extension will use to create new phars. Each Phar archive has the API version hard-coded into its manifest. See Phar file format documentation for more information.

Veja Também

  • Phar::apiVersion() - Returns the api version


Returns whether phar has global meta-data

  • « Phar::getVersion
  • Phar::interceptFileFuncs »
  • PHP Manual
  • Phar
  • Returns whether phar has global meta-data

Phar::hasMetadata

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.0)

Phar::hasMetadata — Returns whether phar has global meta-data

Descrição

public Phar::hasMetadata ( ) : bool

Returns whether phar has global meta-data set.

Parâmetros

No parameters.

Valor Retornado

Returns true if meta-data has been set, and false if not.

Exemplos

Exemplo #1 A Phar::hasMetadata() example

<?php
try {
    $phar = new Phar('myphar.phar');
    var_dump($phar->hasMetadata());
    $phar->setMetadata(array('thing' => 'hi'));
    var_dump($phar->hasMetadata());
    $phar->delMetadata();
    var_dump($phar->hasMetadata());
} catch (Exception $e) {
    // handle error
}
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(false)

Veja Também

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar


Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

  • « Phar::hasMetadata
  • Phar::isBuffering »
  • PHP Manual
  • Phar
  • Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

Phar::interceptFileFuncs

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::interceptFileFuncs — Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

Descrição

final public static Phar::interceptFileFuncs ( ) : void

instructs phar to intercept fopen(), readfile(), file_get_contents(), opendir(), and all of the stat-related functions. If any of these functions is called from within a phar archive with a relative path, the call is modified to access a file within the phar archive. Absolute paths are assumed to be attempts to load external files from the filesystem.

This function makes it possible to run PHP applications designed to run off of a hard disk as a phar application.

Parâmetros

No parameters.

Valor Retornado

Exemplos

Exemplo #1 A Phar::interceptFileFuncs() example

<?php
Phar::interceptFileFuncs();
include 'phar://' . __FILE__ . '/file.php';
?>

Assuming that this phar is at /path/to/myphar.phar and it contains file.php and file2.txt, if file.php contains this code:

Exemplo #2 A Phar::interceptFileFuncs() example

<?php
echo file_get_contents('file2.txt');
?>

Normally PHP would search the current directory for file2.txt, which would translate as the directory of file.php, or the current directory of a command-line user. Phar::interceptFileFuncs() instructs PHP to consider the current directory to be phar:///path/to/myphar.phar/ and so opens phar:///path/to/myphar.phar/file2.txt in the above example code.


Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

  • « Phar::interceptFileFuncs
  • Phar::isCompressed »
  • PHP Manual
  • Phar
  • Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

Phar::isBuffering

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::isBuffering — Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

Descrição

public Phar::isBuffering ( ) : bool

This method can be used to determine whether a Phar will save changes to disk immediately, or whether a call to Phar::stopBuffering() is needed to enable saving changes.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Valor Retornado

Returns true if the write operations are being buffer, false otherwise.

Exemplos

Exemplo #1 A Phar::isBuffering() example

<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p2 = new Phar('existingphar.phar');
$p['file1.txt'] = 'hi';
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>
=2=
<?php
$p->startBuffering();
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
$p->stopBuffering();
?>
=3=
<?php
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>

O exemplo acima irá imprimir:

bool(false)
bool(false)
=2=
bool(true)
bool(false)
=3=
bool(false)
bool(false)

Veja Também

  • Phar::startBuffering() - Start buffering Phar write operations, do not modify the Phar object on disk
  • Phar::stopBuffering() - Stop buffering write requests to the Phar archive, and save changes to disk


Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)

  • « Phar::isBuffering
  • Phar::isFileFormat »
  • PHP Manual
  • Phar
  • Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)

Phar::isCompressed

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::isCompressed — Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)

Descrição

public Phar::isCompressed ( ) : mixed

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on). Zip-based phar archives cannot be compressed as a file, and so this method will always return false if a zip-based phar archive is queried.

Parâmetros

No parameters.

Valor Retornado

Phar::GZ, Phar::BZ2 or false

Exemplos

Exemplo #1 A Phar::isCompressed() example

<?php
try {
    $phar1 = new Phar('myphar.zip.phar');
    var_dump($phar1->isCompressed());
    $phar2 = new Phar('myuncompressed.tar.phar');
    var_dump($phar2->isCompressed());
    $phar2->compress(Phar::GZ);
    var_dump($phar2->isCompressed() == Phar::GZ);
} catch (Exception $e) {
}
?>

O exemplo acima irá imprimir:

bool(false)
bool(false)
bool(true)

Veja Também

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms


Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter

  • « Phar::isCompressed
  • Phar::isValidPharFilename »
  • PHP Manual
  • Phar
  • Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter

Phar::isFileFormat

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::isFileFormat — Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter

Descrição

public Phar::isFileFormat ( int $format ) : bool

Parâmetros

format

Either Phar::PHAR, Phar::TAR, or Phar::ZIP to test for the format of the archive.

Valor Retornado

Returns true if the phar archive matches the file format requested by the parameter

Erros

PharException is thrown if the parameter is an unknown file format specifier.

Veja Também

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file


Returns whether the given filename is a valid phar filename

  • « Phar::isFileFormat
  • Phar::isWritable »
  • PHP Manual
  • Phar
  • Returns whether the given filename is a valid phar filename

Phar::isValidPharFilename

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.0)

Phar::isValidPharFilename — Returns whether the given filename is a valid phar filename

Descrição

final public static Phar::isValidPharFilename ( string $filename , bool $executable = true ) : bool

Returns whether the given filename is a valid phar filename that will be recognized as a phar archive by the phar extension. This can be used to test a name without having to instantiate a phar archive and catch the inevitable Exception that will be thrown if an invalid name is specified.

Parâmetros

filename

The name or full path to a phar archive not yet created

executable

This parameter determines whether the filename should be treated as a phar executable archive, or a data non-executable archive

Valor Retornado

Returns true if the filename is valid, false if not.


Returns true if the phar archive can be modified

  • « Phar::isValidPharFilename
  • Phar::loadPhar »
  • PHP Manual
  • Phar
  • Returns true if the phar archive can be modified

Phar::isWritable

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::isWritable — Returns true if the phar archive can be modified

Descrição

public Phar::isWritable ( ) : bool

This method returns true if phar.readonly is 0, and the actual phar archive on disk is not read-only.

Parâmetros

No parameters.

Valor Retornado

Returns true if the phar archive can be modified

Veja Também

  • Phar::canWrite() - Returns whether phar extension supports writing and creating phars
  • PharData::isWritable() - Returns true if the tar/zip archive can be modified


Loads any phar archive with an alias

  • « Phar::isWritable
  • Phar::mapPhar »
  • PHP Manual
  • Phar
  • Loads any phar archive with an alias

Phar::loadPhar

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::loadPhar — Loads any phar archive with an alias

Descrição

final public static Phar::loadPhar ( string $filename , string $alias = ? ) : bool

This can be used to read the contents of an external Phar archive. This is most useful for assigning an alias to a phar so that subsequent references to the phar can use the shorter alias, or for loading Phar archives that only contain data and are not intended for execution/inclusion in PHP scripts.

Parâmetros

filename

the full or relative path to the phar archive to open

alias

The alias that may be used to refer to the phar archive. Note that many phar archives specify an explicit alias inside the phar archive, and a PharException will be thrown if a new alias is specified in this case.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

PharException is thrown if an alias is passed in and the phar archive already has an explicit alias

Exemplos

Exemplo #1 A Phar::loadPhar() example

Phar::loadPhar can be used anywhere to load an external Phar archive, whereas Phar::mapPhar should be used in a loader stub for a Phar.

<?php
try {
    Phar::loadPhar('/path/to/phar.phar', 'my.phar');
    echo file_get_contents('phar://my.phar/file.txt');
} catch (PharException $e) {
    echo $e;
}
?>

Veja Também

  • Phar::mapPhar() - Reads the currently executed file (a phar) and registers its manifest


Reads the currently executed file (a phar) and registers its manifest

  • « Phar::loadPhar
  • Phar::mount »
  • PHP Manual
  • Phar
  • Reads the currently executed file (a phar) and registers its manifest

Phar::mapPhar

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::mapPhar — Reads the currently executed file (a phar) and registers its manifest

Descrição

final public static Phar::mapPhar ( string $alias = ? , int $dataoffset = 0 ) : bool

This static method can only be used inside a Phar archive's loader stub in order to initialize the phar when it is directly executed, or when it is included in another script.

Parâmetros

alias

The alias that can be used in phar:// URLs to refer to this archive, rather than its full path.

dataoffset

Unused variable, here for compatibility with PEAR's PHP_Archive.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

PharException is thrown if not called directly within PHP execution, if no __HALT_COMPILER(); token is found in the current source file, or if the file cannot be opened for reading.

Exemplos

Exemplo #1 A Phar::mapPhar() example

mapPhar should be used only inside a phar's loader stub. Use loadPhar to load an external phar into memory.

Here is a sample Phar loader stub that uses mapPhar.

<?php
function __autoload($class)
{
    include 'phar://me.phar/' . str_replace('_', '/', $class) . '.php';
}
try {
    Phar::mapPhar('me.phar');
    include 'phar://me.phar/startup.php';
} catch (PharException $e) {
    echo $e->getMessage();
    die('Cannot initialize Phar');
}
__HALT_COMPILER();

Veja Também

  • Phar::loadPhar() - Loads any phar archive with an alias


Mount an external path or file to a virtual location within the phar archive

  • « Phar::mapPhar
  • Phar::mungServer »
  • PHP Manual
  • Phar
  • Mount an external path or file to a virtual location within the phar archive

Phar::mount

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::mount — Mount an external path or file to a virtual location within the phar archive

Descrição

final public static Phar::mount ( string $pharpath , string $externalpath ) : void

Much like the unix file system concept of mounting external devices to paths within the directory tree, Phar::mount() allows referring to external files and directories as if they were inside of an archive. This allows powerful abstraction such as referring to external configuration files as if they were inside the archive.

Parâmetros

pharpath

The internal path within the phar archive to use as the mounted path location. This must be a relative path within the phar archive, and must not already exist.

externalpath

A path or URL to an external file or directory to mount within the phar archive

Valor Retornado

No return. PharException is thrown on failure.

Erros

Throws PharException if any problems occur mounting the path.

Exemplos

Exemplo #1 A Phar::mount() example

The following example shows accessing an external configuration file as if it were a path within a phar archive.

First, the code inside of a phar archive:

<?php
$configuration = simplexml_load_string(file_get_contents(
    Phar::running(false) . '/config.xml'));
?>

Next the external code used to mount the configuration file:

<?php
// first set up the association between the abstract config.xml
// and the actual one on disk
Phar::mount('phar://config.xml', '/home/example/config.xml');
// now run the application
include '/path/to/archive.phar';
?>

Another method is to put the mounting code inside the stub of the phar archive. Here is an example of setting up a default configuration file if no user configuration is specified:

<?php
// first set up the association between the abstract config.xml
// and the actual one on disk
if (defined('EXTERNAL_CONFIG')) {
    Phar::mount('config.xml', EXTERNAL_CONFIG);
    if (file_exists(__DIR__ . '/extra_config.xml')) {
        Phar::mount('extra.xml', __DIR__ . '/extra_config.xml');
    }
} else {
    Phar::mount('config.xml', 'phar://' . __FILE__ . '/default_config.xml');
    Phar::mount('extra.xml', 'phar://' . __FILE__ . '/default_extra.xml');
}
// now run the application
include 'phar://' . __FILE__ . '/index.php';
__HALT_COMPILER();
?>

...and the code externally to load this phar archive:

<?php
define('EXTERNAL_CONFIG', '/home/example/config.xml');
// now run the application
include '/path/to/archive.phar';
?>


Defines a list of up to 4 $_SERVER variables that should be modified for execution

  • « Phar::mount
  • Phar::offsetExists »
  • PHP Manual
  • Phar
  • Defines a list of up to 4 $_SERVER variables that should be modified for execution

Phar::mungServer

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::mungServer — Defines a list of up to 4 $_SERVER variables that should be modified for execution

Descrição

final public static Phar::mungServer ( array $munglist ) : void

Phar::mungServer() should only be called within the stub of a phar archive.

Defines a list of up to 4 $_SERVER variables that should be modified for execution. Variables that can be modified to remove traces of phar execution are REQUEST_URI, PHP_SELF, SCRIPT_NAME and SCRIPT_FILENAME.

On its own, this method does nothing. Only when combined with Phar::webPhar() does it take effect, and only when the requested file is a PHP file to be parsed. Note that the PATH_INFO and PATH_TRANSLATED variables are always modified.

The original values of variables that are modified are stored in the SERVER array with PHAR_ prepended, so for instance SCRIPT_NAME would be saved as PHAR_SCRIPT_NAME.

Parâmetros

munglist

an array containing as string indices any of REQUEST_URI, PHP_SELF, SCRIPT_NAME and SCRIPT_FILENAME. Other values trigger an exception, and Phar::mungServer() is case-sensitive.

Valor Retornado

No return.

Erros

Throws UnexpectedValueException if any problems are found with the passed in data.

Exemplos

Exemplo #1 A Phar::mungServer() example

<?php
// example stub
Phar::mungServer(array('REQUEST_URI'));
Phar::webPhar();
__HALT_COMPILER();
?>

Veja Também

  • Phar::webPhar() - mapPhar for web-based phars. front controller for web applications
  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive


Determines whether a file exists in the phar

  • « Phar::mungServer
  • Phar::offsetGet »
  • PHP Manual
  • Phar
  • Determines whether a file exists in the phar

Phar::offsetExists

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::offsetExists — Determines whether a file exists in the phar

Descrição

public Phar::offsetExists ( string $offset ) : bool

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets.

offsetExists() is called whenever isset() is called.

Parâmetros

offset

The filename (relative path) to look for in a Phar.

Valor Retornado

Returns true if the file exists within the phar, or false if not.

Exemplos

Exemplo #1 A Phar::offsetExists() example

<?php
$p = new Phar(dirname(__FILE__) . '/my.phar', 0, 'my.phar');
$p['firstfile.txt'] = 'first file';
$p['secondfile.txt'] = 'second file';
// the next set of lines call offsetExists() indirectly
var_dump(isset($p['firstfile.txt']));
var_dump(isset($p['nothere.txt']));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)

Veja Também

  • Phar::offsetGet() - Gets a PharFileInfo object for a specific file
  • Phar::offsetSet() - Set the contents of an internal file to those of an external file
  • Phar::offsetUnset() - Remove a file from a phar


Gets a PharFileInfo object for a specific file

  • « Phar::offsetExists
  • Phar::offsetSet »
  • PHP Manual
  • Phar
  • Gets a PharFileInfo object for a specific file

Phar::offsetGet

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::offsetGet — Gets a PharFileInfo object for a specific file

Descrição

public Phar::offsetGet ( string $offset ) : PharFileInfo

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. Phar::offsetGet() is used for retrieving files from a Phar archive.

Parâmetros

offset

The filename (relative path) to look for in a Phar.

Valor Retornado

A PharFileInfo object is returned that can be used to iterate over a file's contents or to retrieve information about the current file.

Erros

This method throws BadMethodCallException if the file does not exist in the Phar archive.

Exemplos

Exemplo #1 Phar::offsetGet() example

As with all classes that implement the ArrayAccess interface, Phar::offsetGet() is automatically called when using the [] angle bracket operator.

<?php
$p = new Phar(dirname(__FILE__) . '/myphar.phar', 0, 'myphar.phar');
$p['exists.txt'] = "file exists\n";
try {
    // automatically calls offsetGet()
    echo $p['exists.txt'];
    echo $p['doesnotexist.txt'];
} catch (BadMethodCallException $e) {
    echo $e;
}
?>

O exemplo acima irá imprimir:

file exists
Entry doesnotexist.txt does not exist

Veja Também

  • Phar::offsetExists() - Determines whether a file exists in the phar
  • Phar::offsetSet() - Set the contents of an internal file to those of an external file
  • Phar::offsetUnset() - Remove a file from a phar


Set the contents of an internal file to those of an external file

  • « Phar::offsetGet
  • Phar::offsetUnset »
  • PHP Manual
  • Phar
  • Set the contents of an internal file to those of an external file

Phar::offsetSet

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::offsetSet — Set the contents of an internal file to those of an external file

Descrição

public Phar::offsetSet ( string $offset , string $value ) : void

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetSet is used for modifying an existing file, or adding a new file to a Phar archive.

Parâmetros

offset

The filename (relative path) to modify in a Phar.

value

Content of the file.

Valor Retornado

No return values.

Erros

if phar.readonly is 1, BadMethodCallException is thrown, as modifying a Phar is only allowed when phar.readonly is set to 0. Throws PharException if there are any problems flushing changes made to the Phar archive to disk.

Exemplos

Exemplo #1 A Phar::offsetSet() example

offsetSet should not be accessed directly, but instead used via array access with the [] operator.

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
    // calls offsetSet
    $p['file.txt'] = 'Hi there';
} catch (Exception $e) {
    echo 'Could not modify file.txt:', $e;
}
?>

Notas

Nota: Phar::addFile(), Phar::addFromString() and Phar::offsetSet() save a new phar archive each time they are called. If performance is a concern, Phar::buildFromDirectory() or Phar::buildFromIterator() should be used instead.

Veja Também

  • Phar::offsetExists() - Determines whether a file exists in the phar
  • Phar::offsetGet() - Gets a PharFileInfo object for a specific file
  • Phar::offsetUnset() - Remove a file from a phar


Remove a file from a phar

  • « Phar::offsetSet
  • Phar::running »
  • PHP Manual
  • Phar
  • Remove a file from a phar

Phar::offsetUnset

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::offsetUnset — Remove a file from a phar

Descrição

public Phar::offsetUnset ( string $offset ) : bool

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetUnset is used for deleting an existing file, and is called by the unset() language construct.

Parâmetros

offset

The filename (relative path) to modify in a Phar.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

if phar.readonly is 1, BadMethodCallException is thrown, as modifying a Phar is only allowed when phar.readonly is set to 0. Throws PharException if there are any problems flushing changes made to the Phar archive to disk.

Exemplos

Exemplo #1 A Phar::offsetUnset() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
    // deletes file.txt from my.phar by calling offsetUnset
    unset($p['file.txt']);
} catch (Exception $e) {
    echo 'Could not delete file.txt: ', $e;
}
?>

Veja Também

  • Phar::offsetExists() - Determines whether a file exists in the phar
  • Phar::offsetGet() - Gets a PharFileInfo object for a specific file
  • Phar::offsetSet() - Set the contents of an internal file to those of an external file
  • Phar::unlinkArchive() - Completely remove a phar archive from disk and from memory
  • Phar::delete() - Delete a file within a phar archive


Returns the full path on disk or full phar URL to the currently executing Phar archive

  • « Phar::offsetUnset
  • Phar::setAlias »
  • PHP Manual
  • Phar
  • Returns the full path on disk or full phar URL to the currently executing Phar archive

Phar::running

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::running — Returns the full path on disk or full phar URL to the currently executing Phar archive

Descrição

final public static Phar::running ( bool $retphar = true ) : string

Returns the full path to the running phar archive. This is intended for use much like the __FILE__ magic constant, and only has effect inside an executing phar archive.

Inside the stub of an archive, Phar::running() returns "". Simply use __FILE__ to access the current running phar inside a stub.

Parâmetros

retphar

If false, the full path on disk to the phar archive is returned. If true, a full phar URL is returned.

Valor Retornado

Returns the filename if valid, empty string otherwise.

Exemplos

Exemplo #1 A Phar::running() example

For the following example, assume the phar archive is located at /path/to/phar/my.phar.

<?php
$a = Phar::running(); // $a is "phar:///path/to/my.phar"
$b = Phar::running(false); // $b is "/path/to/my.phar"
?>


Set the alias for the Phar archive

  • « Phar::running
  • Phar::setDefaultStub »
  • PHP Manual
  • Phar
  • Set the alias for the Phar archive

Phar::setAlias

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.1)

Phar::setAlias — Set the alias for the Phar archive

Descrição

public Phar::setAlias ( string $alias ) : bool

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

Set the alias for the Phar archive, and write it as the permanent alias for this phar archive. An alias can be used internally to a phar archive to ensure that use of the phar stream wrapper to access internal files always works regardless of the location of the phar archive on the filesystem. Another alternative is to rely upon Phar's interception of include or to use Phar::interceptFileFuncs() and use relative paths.

Parâmetros

alias

A shorthand string that this archive can be referred to in phar stream wrapper access.

Valor Retornado

Erros

Throws UnexpectedValueException when write access is disabled, and PharException if the alias is already in use or any problems were encountered flushing changes to disk.

Exemplos

Exemplo #1 A Phar::setAlias() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->setAlias('myp.phar');
} catch (Exception $e) {
    // handle error
}
?>

Veja Também

  • Phar::__construct() - Construct a Phar archive object
  • Phar::interceptFileFuncs() - Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions


Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader

  • « Phar::setAlias
  • Phar::setMetadata »
  • PHP Manual
  • Phar
  • Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader

Phar::setDefaultStub

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::setDefaultStub — Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader

Descrição

public Phar::setDefaultStub ( string $index = ? , string $webindex = ? ) : bool

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

This method is a convenience method that combines the functionality of Phar::createDefaultStub() and Phar::setStub().

Parâmetros

index

Relative path within the phar archive to run if accessed on the command-line

webindex

Relative path within the phar archive to run if accessed through a web browser

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

UnexpectedValueException is thrown if phar.readonly is enabled in php.ini. PharException is thrown if any problems are encountered flushing changes to disk.

Exemplos

Exemplo #1 A Phar::setDefaultStub() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->setDefaultStub('cli.php', 'web/index.php');
    // this is the same as:
    // $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
    // handle errors
}
?>

Veja Também

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::createDefaultStub() - Create a phar-file format specific stub


Sets phar archive meta-data

  • « Phar::setDefaultStub
  • Phar::setSignatureAlgorithm »
  • PHP Manual
  • Phar
  • Sets phar archive meta-data

Phar::setMetadata

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::setMetadata — Sets phar archive meta-data

Descrição

public Phar::setMetadata ( mixed $metadata ) : void

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

Phar::setMetadata() should be used to store customized data that describes something about the phar archive as a complete entity. PharFileInfo::setMetadata() should be used for file-specific meta-data. Meta-data can slow down the performance of loading a phar archive if the data is large.

Some possible uses for meta-data include specifying which file within the archive should be used to bootstrap the archive, or the location of a file manifest like » PEAR's package.xml file. However, any useful data that describes the phar archive may be stored.

Parâmetros

metadata

Any PHP variable containing information to store that describes the phar archive

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 A Phar::setMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.php'] = '<?php echo "hello"';
    $p->setMetadata(array('bootstrap' => 'file.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'Could not create and/or modify phar:', $e;
}
?>

O exemplo acima irá imprimir:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Veja Também

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar
  • Phar::hasMetadata() - Returns whether phar has global meta-data


Set the signature algorithm for a phar and apply it

  • « Phar::setMetadata
  • Phar::setStub »
  • PHP Manual
  • Phar
  • Set the signature algorithm for a phar and apply it

Phar::setSignatureAlgorithm

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.1.0)

Phar::setSignatureAlgorithm — Set the signature algorithm for a phar and apply it

Descrição

public Phar::setSignatureAlgorithm ( int $sigtype , string $privatekey = ? ) : void

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

set the signature algorithm for a phar and apply it. The signature algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::OPENSSL.

Note that all executable phar archives have a signature created automatically, SHA1 by default. data tar- or zip-based archives (archives created with the PharData class) must have their signature created and set explicitly via Phar::setSignatureAlgorithm().

Parâmetros

sigtype

    One of Phar::MD5,
Phar::SHA1, Phar::SHA256,
Phar::SHA512, or Phar::OPENSSL

privatekey

The contents of an OpenSSL private key, as extracted from a certificate or OpenSSL key file:

<?php
$private = openssl_get_privatekey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($private, $pkey);
$p->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
?>
See phar introduction for instructions on naming and placement of the public key file.

Valor Retornado

Não há valor retornado.

Erros

Throws UnexpectedValueException for many errors, and a PharException if any problems occur flushing changes to disk.

Veja Também

  • Phar::getSupportedSignatures() - Return array of supported signature types
  • Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive


Used to set the PHP loader or bootstrap stub of a Phar archive

  • « Phar::setSignatureAlgorithm
  • Phar::startBuffering »
  • PHP Manual
  • Phar
  • Used to set the PHP loader or bootstrap stub of a Phar archive

Phar::setStub

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::setStub — Used to set the PHP loader or bootstrap stub of a Phar archive

Descrição

public Phar::setStub ( string $stub , int $len = -1 ) : bool

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

This method is used to add a PHP bootstrap loader stub to a new Phar archive, or to replace the loader stub in an existing Phar archive.

The loader stub for a Phar archive is used whenever an archive is included directly as in this example:

<?php
include 'myphar.phar';
?>

The loader is not accessed when including a file through the phar stream wrapper like so:

<?php
include 'phar://myphar.phar/somefile.php';
?>

Parâmetros

stub

A string or an open stream handle to use as the executable stub for this phar archive.

len

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

UnexpectedValueException is thrown if phar.readonly is enabled in php.ini. PharException is thrown if any problems are encountered flushing changes to disk.

Exemplos

Exemplo #1 A Phar::setStub() example

<?php
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['a.php'] = '<?php var_dump("Hello");';
    $p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
    include 'phar://brandnewphar.phar/a.php';
    var_dump($p->getStub());
    $p['b.php'] = '<?php var_dump("World");';
    $p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
    include 'phar://brandnewphar.phar/b.php';
    var_dump($p->getStub());
} catch (Exception $e) {
    echo 'Write operations failed on brandnewphar.phar: ', $e;
}
?>

O exemplo acima irá imprimir:

string(5) "Hello"
string(82) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"
string(5) "World"
string(83) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"

Veja Também

  • Phar::getStub() - Return the PHP loader or bootstrap stub of a Phar archive
  • Phar::createDefaultStub() - Create a phar-file format specific stub


Start buffering Phar write operations, do not modify the Phar object on disk

  • « Phar::setStub
  • Phar::stopBuffering »
  • PHP Manual
  • Phar
  • Start buffering Phar write operations, do not modify the Phar object on disk

Phar::startBuffering

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::startBuffering — Start buffering Phar write operations, do not modify the Phar object on disk

Descrição

public Phar::startBuffering ( ) : void

Although technically unnecessary, the Phar::startBuffering() method can provide a significant performance boost when creating or modifying a Phar archive with a large number of files. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes. In this way, the archive will be up-to-date with the activity performed on it.

However, this can be unnecessary when simply creating a new Phar archive, when it would make more sense to write the entire archive out at once. Similarly, it is often necessary to make a series of changes and to ensure that they all are possible before making any changes on disk, similar to the relational database concept of transactions. the Phar::startBuffering()/Phar::stopBuffering() pair of methods is provided for this purpose.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 A Phar::startBuffering() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
    echo 'Could not create phar:', $e;
}
echo 'The new phar has ' . $p->count() . " entries\n";
$p->startBuffering();
$p['file.txt'] = 'hi';
$p['file2.txt'] = 'there';
$p['file2.txt']->setCompressedGZ();
$p['file3.txt'] = 'babyface';
$p['file3.txt']->setMetadata(42);
$p->setStub("<?php
function __autoload($class)
{
    include 'phar://myphar.phar/' . str_replace('_', '/', $class) . '.php';
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER();");
$p->stopBuffering();
?>

Veja Também

  • Phar::stopBuffering() - Stop buffering write requests to the Phar archive, and save changes to disk
  • Phar::isBuffering() - Used to determine whether Phar write operations are being buffered, or are flushing directly to disk


Stop buffering write requests to the Phar archive, and save changes to disk

  • « Phar::startBuffering
  • Phar::unlinkArchive »
  • PHP Manual
  • Phar
  • Stop buffering write requests to the Phar archive, and save changes to disk

Phar::stopBuffering

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::stopBuffering — Stop buffering write requests to the Phar archive, and save changes to disk

Descrição

public Phar::stopBuffering ( ) : void

Phar::stopBuffering() is used in conjunction with the Phar::startBuffering() method. Phar::startBuffering() can provide a significant performance boost when creating or modifying a Phar archive with a large number of files. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes. In this way, the archive will be up-to-date with the activity performed on it.

However, this can be unnecessary when simply creating a new Phar archive, when it would make more sense to write the entire archive out at once. Similarly, it is often necessary to make a series of changes and to ensure that they all are possible before making any changes on disk, similar to the relational database concept of transactions. The Phar::startBuffering()/Phar::stopBuffering() pair of methods is provided for this purpose.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Valor Retornado

Não há valor retornado.

Erros

PharException is thrown if any problems are encountered flushing changes to disk.

Exemplos

Exemplo #1 A Phar::stopBuffering() example

<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file1.txt'] = 'hi';
$p->startBuffering();
var_dump($p->getStub());
$p->setStub("<?php
function __autoload(\$class)
{
    include 'phar://brandnewphar.phar/' . str_replace('_', '/', \$class) . '.php';
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();");
$p->stopBuffering();
var_dump($p->getStub());
?>

O exemplo acima irá imprimir:

string(24) "<?php __HALT_COMPILER();"
string(195) "<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();"

Veja Também

  • Phar::startBuffering() - Start buffering Phar write operations, do not modify the Phar object on disk
  • Phar::isBuffering() - Used to determine whether Phar write operations are being buffered, or are flushing directly to disk


Completely remove a phar archive from disk and from memory

  • « Phar::stopBuffering
  • Phar::webPhar »
  • PHP Manual
  • Phar
  • Completely remove a phar archive from disk and from memory

Phar::unlinkArchive

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::unlinkArchive — Completely remove a phar archive from disk and from memory

Descrição

final public static Phar::unlinkArchive ( string $archive ) : bool

Removes a phar archive from disk and memory.

Parâmetros

archive

The path on disk to the phar archive.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

PharException is thrown if there are any open file pointers to the phar archive, or any existing Phar, PharData, or PharFileInfo objects referring to the phar archive.

Exemplos

Exemplo #1 A Phar::unlinkArchive() example

<?php
// simple usage
Phar::unlinkArchive('/path/to/my.phar');

// more common example:
$p = new Phar('my.phar');
$fp = fopen('phar://my.phar/file.txt', 'r');
// this creates 'my.phar.gz'
$gp = $p->compress(Phar::GZ);
// remove all references to the archive
unset($p);
fclose($fp);
// now remove all traces of the archive
Phar::unlinkArchive('my.phar');
?>

Veja Também

  • Phar::delete() - Delete a file within a phar archive
  • Phar::offsetUnset() - Remove a file from a phar


mapPhar for web-based phars. front controller for web applications

  • « Phar::unlinkArchive
  • PharData »
  • PHP Manual
  • Phar
  • mapPhar for web-based phars. front controller for web applications

Phar::webPhar

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::webPhar — mapPhar for web-based phars. front controller for web applications

Descrição

final public static Phar::webPhar ( string $alias = ? , string $index = "index.php" , string $f404 = ? , array $mimetypes = ? , callable $rewrites = ? ) : void

Phar::mapPhar() for web-based phars. This method parses $_SERVER['REQUEST_URI'] and routes a request from a web browser to an internal file within the phar archive. In essence, it simulates a web server, routing requests to the correct file, echoing the correct headers and parsing PHP files as needed. This powerful method is part of what makes it easy to convert an existing PHP application into a phar archive. Combined with Phar::mungServer() and Phar::interceptFileFuncs(), any web application can be used unmodified from a phar archive.

Phar::webPhar() should only be called from the stub of a phar archive (see here for more information on what a stub is).

Parâmetros

alias

The alias that can be used in phar:// URLs to refer to this archive, rather than its full path.

index

The location within the phar of the directory index.

f404

The location of the script to run when a file is not found. This script should output the proper HTTP 404 headers.

mimetypes

An array mapping additional file extensions to MIME type. If the default mapping is sufficient, pass an empty array. By default, these extensions are mapped to these MIME types:

<?php
$mimes = array(
    'phps' => Phar::PHPS, // pass to highlight_file()
    'c' => 'text/plain',
    'cc' => 'text/plain',
    'cpp' => 'text/plain',
    'c++' => 'text/plain',
    'dtd' => 'text/plain',
    'h' => 'text/plain',
    'log' => 'text/plain',
    'rng' => 'text/plain',
    'txt' => 'text/plain',
    'xsd' => 'text/plain',
    'php' => Phar::PHP, // parse as PHP
    'inc' => Phar::PHP, // parse as PHP
    'avi' => 'video/avi',
    'bmp' => 'image/bmp',
    'css' => 'text/css',
    'gif' => 'image/gif',
    'htm' => 'text/html',
    'html' => 'text/html',
    'htmls' => 'text/html',
    'ico' => 'image/x-ico',
    'jpe' => 'image/jpeg',
    'jpg' => 'image/jpeg',
    'jpeg' => 'image/jpeg',
    'js' => 'application/x-javascript',
    'midi' => 'audio/midi',
    'mid' => 'audio/midi',
    'mod' => 'audio/mod',
    'mov' => 'movie/quicktime',
    'mp3' => 'audio/mp3',
    'mpg' => 'video/mpeg',
    'mpeg' => 'video/mpeg',
    'pdf' => 'application/pdf',
    'png' => 'image/png',
    'swf' => 'application/shockwave-flash',
    'tif' => 'image/tiff',
    'tiff' => 'image/tiff',
    'wav' => 'audio/wav',
    'xbm' => 'image/xbm',
    'xml' => 'text/xml',
);
?>

rewrites

The rewrites function is passed a string as its only parameter and must return a string or false.

If you are using fast-cgi or cgi then the parameter passed to the function is the value of the $_SERVER['PATH_INFO'] variable. Otherwise, the parameter passed to the function is the value of the $_SERVER['REQUEST_URI'] variable.

If a string is returned it is used as the internal file path. If false is returned then webPhar() will send a HTTP 403 Denied Code.

Valor Retornado

Não há valor retornado.

Erros

Throws PharException when unable to open the internal file to output, or if called from a non-stub. If an invalid array value is passed into mimetypes or an invalid callback is passed into rewrites, then UnexpectedValueException is thrown.

Exemplos

Exemplo #1 A Phar::webPhar() example

With the example below, the created phar will display Hello World if one browses to /myphar.phar/index.php or to /myphar.phar, and will display the source of index.phps if one browses to /myphar.phar/index.phps.

<?php
// creating the phar archive:
try {
    $phar = new Phar('myphar.phar');
    $phar['index.php'] = '<?php echo "Hello World"; ?>';
    $phar['index.phps'] = '<?php echo "Hello World"; ?>';
    $phar->setStub('<?php
Phar::webPhar();
__HALT_COMPILER(); ?>');
} catch (Exception $e) {
    // handle error here
}
?>

Veja Também

  • Phar::mungServer() - Defines a list of up to 4 $_SERVER variables that should be modified for execution
  • Phar::interceptFileFuncs() - Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions


The PharData class

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Introdução

The PharData class provides a high-level interface to accessing and creating non-executable tar and zip archives. Because these archives do not contain a stub and cannot be executed by the phar extension, it is possible to create and manipulate regular zip and tar files using the PharData class even if phar.readonly php.ini setting is 1.

Sinopse da classe

PharData extends RecursiveDirectoryIterator implements Countable , ArrayAccess {
/* Constantes herdadas */
const int FilesystemIterator::CURRENT_AS_PATHNAME = 32 ;
const int FilesystemIterator::CURRENT_AS_FILEINFO = 0 ;
const int FilesystemIterator::CURRENT_AS_SELF = 16 ;
const int FilesystemIterator::CURRENT_MODE_MASK = 240 ;
const int FilesystemIterator::KEY_AS_PATHNAME = 0 ;
const int FilesystemIterator::KEY_AS_FILENAME = 256 ;
const int FilesystemIterator::FOLLOW_SYMLINKS = 512 ;
const int FilesystemIterator::KEY_MODE_MASK = 3840 ;
const int FilesystemIterator::NEW_CURRENT_AND_KEY = 256 ;
const int FilesystemIterator::SKIP_DOTS = 4096 ;
const int FilesystemIterator::UNIX_PATHS = 8192 ;
/* Métodos */
public addEmptyDir ( string $dirname ) : void
public addFile ( string $file , string $localname = ? ) : void
public addFromString ( string $localname , string $contents ) : void
public buildFromDirectory ( string $base_dir , string $regex = ? ) : array
public buildFromIterator ( Iterator $iter , string $base_directory = ? ) : array
public compress ( int $compression , string $extension = ? ) : PharData
public compressFiles ( int $compression ) : void
public __construct ( string $fname , int $flags = ? , string $alias = ? , int $format = Phar::TAR )
public convertToData ( int $format = ? , int $compression = ? , string $extension = ? ) : PharData
public convertToExecutable ( int $format = ? , int $compression = ? , string $extension = ? ) : Phar
public copy ( string $oldfile , string $newfile ) : bool
public decompress ( string $extension = ? ) : PharData
public decompressFiles ( ) : bool
public delMetadata ( ) : bool
public delete ( string $entry ) : bool
public extractTo ( string $pathto , string|array|null $files = null , bool $overwrite = false ) : bool
public isWritable ( ) : bool
public offsetSet ( string $offset , string $value ) : void
public offsetUnset ( string $offset ) : bool
public setAlias ( string $alias ) : bool
public setDefaultStub ( string $index = ? , string $webindex = ? ) : bool
public setMetadata ( mixed $metadata ) : void
public setSignatureAlgorithm ( int $sigtype ) : void
public setStub ( string $stub , int $len = -1 ) : bool
}

Índice

  • PharData::addEmptyDir — Add an empty directory to the tar/zip archive
  • PharData::addFile — Add a file from the filesystem to the tar/zip archive
  • PharData::addFromString — Add a file from the filesystem to the tar/zip archive
  • PharData::buildFromDirectory — Construct a tar/zip archive from the files within a directory
  • PharData::buildFromIterator — Construct a tar or zip archive from an iterator
  • PharData::compress — Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • PharData::compressFiles — Compresses all files in the current tar/zip archive
  • PharData::__construct — Construct a non-executable tar or zip archive object
  • PharData::convertToData — Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToExecutable — Convert a non-executable tar/zip archive to an executable phar archive
  • PharData::copy — Copy a file internal to the phar archive to another new file within the phar
  • PharData::decompress — Decompresses the entire Phar archive
  • PharData::decompressFiles — Decompresses all files in the current zip archive
  • PharData::delMetadata — Deletes the global metadata of a zip archive
  • PharData::delete — Delete a file within a tar/zip archive
  • PharData::extractTo — Extract the contents of a tar/zip archive to a directory
  • PharData::isWritable — Returns true if the tar/zip archive can be modified
  • PharData::offsetSet — Set the contents of a file within the tar/zip to those of an external file or string
  • PharData::offsetUnset — Remove a file from a tar/zip archive
  • PharData::setAlias — Dummy function (Phar::setAlias is not valid for PharData)
  • PharData::setDefaultStub — Dummy function (Phar::setDefaultStub is not valid for PharData)
  • PharData::setMetadata — Sets phar archive meta-data
  • PharData::setSignatureAlgorithm — Set the signature algorithm for a phar and apply it
  • PharData::setStub — Dummy function (Phar::setStub is not valid for PharData)


Add an empty directory to the tar/zip archive

  • « PharData
  • PharData::addFile »
  • PHP Manual
  • PharData
  • Add an empty directory to the tar/zip archive

PharData::addEmptyDir

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::addEmptyDir — Add an empty directory to the tar/zip archive

Descrição

public PharData::addEmptyDir ( string $dirname ) : void

With this method, an empty directory is created with path dirname. This method is similar to ZipArchive::addEmptyDir().

Parâmetros

dirname

The name of the empty directory to create in the phar archive

Valor Retornado

no return value, exception is thrown on failure.

Exemplos

Exemplo #1 A PharData::addEmptyDir() example

<?php
try {
    $a = new PharData('/path/to/my.tar');

    $a->addEmptyDir('/full/path/to/file');
    // demonstrates how this file is stored
    $b = $a['full/path/to/file']->isDir();
} catch (Exception $e) {
    // handle errors here
}
?>

Veja Também

  • Phar::addEmptyDir() - Add an empty directory to the phar archive
  • PharData::addFile() - Add a file from the filesystem to the tar/zip archive
  • PharData::addFromString() - Add a file from the filesystem to the tar/zip archive


Add a file from the filesystem to the tar/zip archive

  • « PharData::addEmptyDir
  • PharData::addFromString »
  • PHP Manual
  • PharData
  • Add a file from the filesystem to the tar/zip archive

PharData::addFile

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::addFile — Add a file from the filesystem to the tar/zip archive

Descrição

public PharData::addFile ( string $file , string $localname = ? ) : void

With this method, any file or URL can be added to the tar/zip archive. If the optional second parameter localname is specified, the file will be stored in the archive with that name, otherwise the file parameter is used as the path to store within the archive. URLs must have a localname or an exception is thrown. This method is similar to ZipArchive::addFile().

Parâmetros

file

Full or relative path to a file on disk to be added to the phar archive.

localname

Path that the file will be stored in the archive.

Valor Retornado

no return value, exception is thrown on failure.

Exemplos

Exemplo #1 A PharData::addFile() example

<?php
try {
    $a = new PharData('/path/to/my.tar');

    $a->addFile('/full/path/to/file');
    // demonstrates how this file is stored
    $b = $a['full/path/to/file']->getContent();

    $a->addFile('/full/path/to/file', 'my/file.txt');
    $c = $a['my/file.txt']->getContent();

    // demonstrate URL usage
    $a->addFile('http://www.example.com', 'example.html');
} catch (Exception $e) {
    // handle errors here
}
?>

Notas

Nota: PharData::addFile(), PharData::addFromString() and PharData::offsetSet() save a new phar archive each time they are called. If performance is a concern, PharData::buildFromDirectory() or PharData::buildFromIterator() should be used instead.

Veja Também

  • PharData::offsetSet() - Set the contents of a file within the tar/zip to those of an external file or string
  • Phar::addFile() - Add a file from the filesystem to the phar archive
  • PharData::addFromString() - Add a file from the filesystem to the tar/zip archive
  • PharData::addEmptyDir() - Add an empty directory to the tar/zip archive


Add a file from the filesystem to the tar/zip archive

  • « PharData::addFile
  • PharData::buildFromDirectory »
  • PHP Manual
  • PharData
  • Add a file from the filesystem to the tar/zip archive

PharData::addFromString

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::addFromString — Add a file from the filesystem to the tar/zip archive

Descrição

public PharData::addFromString ( string $localname , string $contents ) : void

With this method, any string can be added to the tar/zip archive. The file will be stored in the archive with localname as its path. This method is similar to ZipArchive::addFromString().

Parâmetros

localname

Path that the file will be stored in the archive.

contents

The file contents to store

Valor Retornado

no return value, exception is thrown on failure.

Exemplos

Exemplo #1 A PharData::addFromString() example

<?php
try {
    $a = new PharData('/path/to/my.tar');

    $a->addFromString('path/to/file.txt', 'my simple file');
    $b = $a['path/to/file.txt']->getContent();

    // to add contents from a stream handle for large files, use offsetSet()
    $c = fopen('/path/to/hugefile.bin');
    $a['largefile.bin'] = $c;
    fclose($c);
} catch (Exception $e) {
    // handle errors here
}
?>

Notas

Nota: PharData::addFile(), PharData::addFromString() and PharData::offsetSet() save a new phar archive each time they are called. If performance is a concern, PharData::buildFromDirectory() or PharData::buildFromIterator() should be used instead.

Veja Também

  • PharData::offsetSet() - Set the contents of a file within the tar/zip to those of an external file or string
  • Phar::addFromString() - Add a file from a string to the phar archive
  • PharData::addFile() - Add a file from the filesystem to the tar/zip archive
  • PharData::addEmptyDir() - Add an empty directory to the tar/zip archive


Construct a tar/zip archive from the files within a directory

  • « PharData::addFromString
  • PharData::buildFromIterator »
  • PHP Manual
  • PharData
  • Construct a tar/zip archive from the files within a directory

PharData::buildFromDirectory

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::buildFromDirectory — Construct a tar/zip archive from the files within a directory

Descrição

public PharData::buildFromDirectory ( string $base_dir , string $regex = ? ) : array

Populate a tar/zip archive from directory contents. The optional second parameter is a regular expression (pcre) that is used to exclude files. Any filename that matches the regular expression will be included, all others will be excluded. For more fine-grained control, use PharData::buildFromIterator().

Parâmetros

base_dir

The full or relative path to the directory that contains all files to add to the archive.

regex

An optional pcre regular expression that is used to filter the list of files. Only file paths matching the regular expression will be included in the archive.

Valor Retornado

Phar::buildFromDirectory() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Erros

This method throws BadMethodCallException when unable to instantiate the internal directory iterators, or a PharException if there were errors saving the phar archive.

Exemplos

Exemplo #1 A PharData::buildFromDirectory() example

<?php
$phar = new PharData('project.tar');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/project');

$phar2 = new PharData('project2.zip');
// add all files in the project, only include php files
$phar2->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
?>

Veja Também

  • Phar::buildFromDirectory() - Construct a phar archive from the files within a directory
  • PharData::buildFromIterator() - Construct a tar or zip archive from an iterator


Construct a tar or zip archive from an iterator

  • « PharData::buildFromDirectory
  • PharData::compress »
  • PHP Manual
  • PharData
  • Construct a tar or zip archive from an iterator

PharData::buildFromIterator

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::buildFromIterator — Construct a tar or zip archive from an iterator

Descrição

public PharData::buildFromIterator ( Iterator $iter , string $base_directory = ? ) : array

Populate a tar or zip archive from an iterator. Two styles of iterators are supported, iterators that map the filename within the tar/zip to the name of a file on disk, and iterators like DirectoryIterator that return SplFileInfo objects. For iterators that return SplFileInfo objects, the second parameter is required.

Exemplos

Exemplo #1 A PharData::buildFromIterator() with SplFileInfo

For most tar/zip archives, the archive will reflect an actual directory layout, and the second style is the most useful. For instance, to create a tar/zip archive containing the files in this sample directory layout:

/path/to/project/
                 config/
                        dist.xml
                        debug.xml
                 lib/
                     file1.php
                     file2.php
                 src/
                     processthing.php
                 www/
                     index.php
                 cli/
                     index.php

This code could be used to add these files to the "project.tar" tar archive:

<?php
$phar = new PharData('project.tar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new RecursiveDirectoryIterator('/path/to/project')),
    '/path/to/project');
?>

The file project.tar can then be used immediately. PharData::buildFromIterator() does not set values such as compression, metadata, and this can be done after creating the tar/zip archive.

As an interesting note, PharData::buildFromIterator() can also be used to copy the contents of an existing phar, tar or zip archive, as the PharData object descends from DirectoryIterator:

<?php
$phar = new PharData('project.tar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new Phar('/path/to/anotherphar.phar')),
    'phar:///path/to/anotherphar.phar/path/to/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Exemplo #2 A PharData::buildFromIterator() with other iterators

The second form of the iterator can be used with any iterator that returns a key => value mapping, such as an ArrayIterator:

<?php
$phar = new PharData('project.tar');
$phar->buildFromIterator(
    new ArrayIterator(
     array(
        'internal/file.php' => dirname(__FILE__) . '/somefile.php',
        'another/file.jpg' => fopen('/path/to/bigfile.jpg', 'rb'),
     )));
?>

Parâmetros

iter

Any iterator that either associatively maps tar/zip file to location or returns SplFileInfo objects

base_directory

For iterators that return SplFileInfo objects, the portion of each file's full path to remove when adding to the tar/zip archive

Valor Retornado

PharData::buildFromIterator() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Erros

This method returns UnexpectedValueException when the iterator returns incorrect values, such as an integer key instead of a string, a BadMethodCallException when an SplFileInfo-based iterator is passed without a base_directory parameter, or a PharException if there were errors saving the phar archive.

Veja Também

  • Phar::buildFromIterator() - Construct a phar archive from an iterator


Compresses the entire tar/zip archive using Gzip or Bzip2 compression

  • « PharData::buildFromIterator
  • PharData::compressFiles »
  • PHP Manual
  • PharData
  • Compresses the entire tar/zip archive using Gzip or Bzip2 compression

PharData::compress

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::compress — Compresses the entire tar/zip archive using Gzip or Bzip2 compression

Descrição

public PharData::compress ( int $compression , string $extension = ? ) : PharData

For tar archives, this method compresses the entire archive using gzip compression or bzip2 compression. The resulting file can be processed with the gunzip command/bunzip command, or accessed directly and transparently with the Phar extension.

For zip archives, this method fails with an exception. The zlib extension must be enabled to compress with gzip compression, the bzip2 extension must be enabled in order to compress with bzip2 compression.

In addition, this method automatically renames the archive, appending .gz, .bz2 or removing the extension if passed Phar::NONE to remove compression. Alternatively, a file extension may be specified with the second parameter.

Parâmetros

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

extension

By default, the extension is .tar.gz or .tar.bz2 for compressing a tar, and .tar for decompressing.

Valor Retornado

A PharData object is returned.

Erros

Throws BadMethodCallException if the zlib extension is not available, or the bzip2 extension is not enabled.

Exemplos

Exemplo #1 A PharData::compress() example

<?php
$p = new PharData('/path/to/my.tar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copies to /path/to/my.tar.gz
$p2 = $p->compress(Phar::BZ2); // copies to /path/to/my.tar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /path/to/my.tar already exists
?>

Veja Também

  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression


Compresses all files in the current tar/zip archive

  • « PharData::compress
  • PharData::__construct »
  • PHP Manual
  • PharData
  • Compresses all files in the current tar/zip archive

PharData::compressFiles

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::compressFiles — Compresses all files in the current tar/zip archive

Descrição

public PharData::compressFiles ( int $compression ) : void

For tar-based archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use PharData::compress() to compress an entire tar-based archive.

For Zip-based archives, this method compresses all files in the archive using the specified compression. The zlib or bzip2 extensions must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2/zlib compression, the respective extension must be enabled in order to decompress the files prior to re-compressing.

Parâmetros

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

Valor Retornado

Não há valor retornado.

Erros

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Exemplos

Exemplo #1 A PharData::compressFiles() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

O exemplo acima irá imprimir:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)

Veja Também

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • PharData::decompressFiles() - Decompresses all files in the current zip archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • PharData::decompress() - Decompresses the entire Phar archive


Construct a non-executable tar or zip archive object

  • « PharData::compressFiles
  • PharData::convertToData »
  • PHP Manual
  • PharData
  • Construct a non-executable tar or zip archive object

PharData::__construct

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::__construct — Construct a non-executable tar or zip archive object

Descrição

public PharData::__construct ( string $fname , int $flags = ? , string $alias = ? , int $format = Phar::TAR )

Parâmetros

fname

Path to an existing tar/zip archive or to-be-created archive

flags

Flags to pass to Phar parent class RecursiveDirectoryIterator.

alias

Alias with which this Phar archive should be referred to in calls to stream functionality.

format

One of the file format constants available within the Phar class.

Erros

Throws BadMethodCallException if called twice; UnexpectedValueException if the Phar archive can't be opened.

Exemplos

Exemplo #1 A PharData::__construct() example

<?php
try {
    $p = new PharData('/path/to/my.tar', Phar::CURRENT_AS_FILEINFO | Phar::KEY_AS_FILENAME);
} catch (UnexpectedValueException $e) {
    die('Could not open my.tar');
} catch (BadMethodCallException $e) {
    echo 'technically, this cannot happen';
}
echo file_get_contents('phar:///path/to/my.tar/example.txt');
?>


Convert a phar archive to a non-executable tar or zip file

  • « PharData::__construct
  • PharData::convertToExecutable »
  • PHP Manual
  • PharData
  • Convert a phar archive to a non-executable tar or zip file

PharData::convertToData

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::convertToData — Convert a phar archive to a non-executable tar or zip file

Descrição

public PharData::convertToData ( int $format = ? , int $compression = ? , string $extension = ? ) : PharData

This method is used to convert a non-executable tar or zip archive to another non-executable format.

If no changes are specified, this method throws a BadMethodCallException. This method should be used to convert a tar archive to zip format or vice-versa. Although it is possible to simply change the compression of a tar archive using this method, it is better to use the PharData::compress() method for logical consistency.

If successful, the method creates a new archive on disk and returns a PharData object. The old archive is not removed from disk, and should be done manually after the process has finished.

Parâmetros

format

This should be one of Phar::TAR or Phar::ZIP. If set to null, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that .phar cannot be used anywhere in the filename for a non-executable tar or zip archive.

If converting to a tar-based phar archive, the default extensions are .tar, .tar.gz, and .tar.bz2 depending on specified compression. For zip-based archives, the default extension is .zip.

Valor Retornado

The method returns a PharData object on success and throws an exception on failure.

Erros

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), and a PharException if any problems are encountered during the phar creation process.

Exemplos

Exemplo #1 A PharData::convertToData() example

Using PharData::convertToData():

<?php
try {
    $tarphar = new PharData('myphar.tar');
    // note that myphar.tar is *not* unlinked
    // convert it to the non-executable tar file format
    // creates myphar.zip
    $zip = $tarphar->convertToData(Phar::ZIP);
    // create myphar.tbz
    $tgz = $zip->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
    // creates myphar.phar.tgz
    $phar = $tarphar->convertToData(Phar::PHAR); // throws exception
} catch (Exception $e) {
    // handle the error here
}
?>

Veja Também

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToExecutable() - Convert a non-executable tar/zip archive to an executable phar archive


Convert a non-executable tar/zip archive to an executable phar archive

  • « PharData::convertToData
  • PharData::copy »
  • PHP Manual
  • PharData
  • Convert a non-executable tar/zip archive to an executable phar archive

PharData::convertToExecutable

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::convertToExecutable — Convert a non-executable tar/zip archive to an executable phar archive

Descrição

public PharData::convertToExecutable ( int $format = ? , int $compression = ? , string $extension = ? ) : Phar

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

This method is used to convert a non-executable tar or zip archive to an executable phar archive. Any of the three executable file formats (phar, tar or zip) can be used, and whole-archive compression can also be performed.

If no changes are specified, this method throws a BadMethodCallException.

If successful, the method creates a new archive on disk and returns a Phar object. The old archive is not removed from disk, and should be done manually after the process has finished.

Parâmetros

format

This should be one of Phar::PHAR, Phar::TAR, or Phar::ZIP. If set to null, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that all zip- and tar-based phar archives must contain .phar in their file extension in order to be processed as a phar archive.

If converting to a phar-based archive, the default extensions are .phar, .phar.gz, or .phar.bz2 depending on the specified compression. For tar-based phar archives, the default extensions are .phar.tar, .phar.tar.gz, and .phar.tar.bz2. For zip-based phar archives, the default extension is .phar.zip.

Valor Retornado

The method returns a Phar object on success and throws an exception on failure.

Erros

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), an UnexpectedValueException if write support is disabled, and a PharException if any problems are encountered during the phar creation process.

Exemplos

Exemplo #1 A PharData::convertToExecutable() example

Using PharData::convertToExecutable():

<?php
try {
    $tarphar = new PharData('myphar.tar');
    // convert it to the phar file format
    // note that myphar.tar is *not* unlinked
    $phar = $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
    // creates myphar.phar.tgz
    $compressed = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
    // handle the error here
}
?>

Veja Também

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToData() - Convert a phar archive to a non-executable tar or zip file


Copy a file internal to the phar archive to another new file within the phar

  • « PharData::convertToExecutable
  • PharData::decompress »
  • PHP Manual
  • PharData
  • Copy a file internal to the phar archive to another new file within the phar

PharData::copy

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::copy — Copy a file internal to the phar archive to another new file within the phar

Descrição

public PharData::copy ( string $oldfile , string $newfile ) : bool

Copy a file internal to the tar/zip archive to another new file within the same archive. This is an object-oriented alternative to using copy() with the phar stream wrapper.

Parâmetros

oldfile

newfile

Valor Retornado

returns true on success, but it is safer to encase method call in a try/catch block and assume success if no exception is thrown.

Erros

throws UnexpectedValueException if the source file does not exist, the destination file already exists, write access is disabled, opening either file fails, reading the source file fails, or a PharException if writing the changes to the phar fails.

Exemplos

Exemplo #1 A PharData::copy() example

This example shows using PharData::copy() and the equivalent stream wrapper performance of the same thing. The primary difference between the two approaches is error handling. All PharData methods throw exceptions, whereas the stream wrapper uses trigger_error().

<?php
try {
    $phar = new PharData('myphar.tar');
    $phar['a'] = 'hi';
    $phar->copy('a', 'b');
    echo $phar['b']; // outputs "phar://myphar.tar/b"
} catch (Exception $e) {
    // handle error
}

// the stream wrapper equivalent of the above code.
// E_WARNINGS are triggered on error rather than exceptions.
copy('phar://myphar.tar/a', 'phar//myphar.tar/c');
echo file_get_contents('phar://myphar.tar/c'); // outputs "hi"
?>


Decompresses the entire Phar archive

  • « PharData::copy
  • PharData::decompressFiles »
  • PHP Manual
  • PharData
  • Decompresses the entire Phar archive

PharData::decompress

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::decompress — Decompresses the entire Phar archive

Descrição

public PharData::decompress ( string $extension = ? ) : PharData

For tar-based archives, this method decompresses the entire archive.

For Zip-based archives, this method fails with an exception. The zlib extension must be enabled to decompress an archive compressed with gzip compression, and the bzip2 extension must be enabled in order to decompress an archive compressed with bzip2 compression.

In addition, this method automatically renames the file extension of the archive, .tar by default. Alternatively, a file extension may be specified with the extension parameter.

Parâmetros

extension

For decompressing, the default file extension is .tar. Use this parameter to specify another file extension. Be aware that only executable archives can contain .phar in their filename.

Valor Retornado

A PharData object is returned.

Erros

Throws BadMethodCallException if the zlib extension is not available, or the bzip2 extension is not enabled.

Exemplos

Exemplo #1 A PharData::decompress() example

<?php
$p = new PharData('/path/to/my.tar.gz');
$p->decompress(); // creates /path/to/my.tar
?>

Veja Também

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • PharData::compressFiles() - Compresses all files in the current tar/zip archive
  • PharData::decompressFiles() - Decompresses all files in the current zip archive


Decompresses all files in the current zip archive

  • « PharData::decompress
  • PharData::delMetadata »
  • PHP Manual
  • PharData
  • Decompresses all files in the current zip archive

PharData::decompressFiles

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::decompressFiles — Decompresses all files in the current zip archive

Descrição

public PharData::decompressFiles ( ) : bool

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

For tar-based archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use PharData::compress() to compress an entire tar-based archive.

For Zip-based archives, this method decompresses all files in the archive. The zlib or bzip2 extensions must be enabled to take advantage of this feature if any files are compressed using bzip2/zlib compression.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Throws BadMethodCallException if the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Exemplos

Exemplo #1 A PharData::decompressFiles() example

<?php
$p = new PharData('/path/to/my.zip');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

O exemplo acima irá imprimir:

string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)
string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)

Veja Também

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • PharData::compressFiles() - Compresses all files in the current tar/zip archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • PharData::decompress() - Decompresses the entire Phar archive


Deletes the global metadata of a zip archive

  • « PharData::decompressFiles
  • PharData::delete »
  • PHP Manual
  • PharData
  • Deletes the global metadata of a zip archive

PharData::delMetadata

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::delMetadata — Deletes the global metadata of a zip archive

Descrição

public PharData::delMetadata ( ) : bool

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

Deletes the global metadata of the zip archive

Parâmetros

Valor Retornado

returns true on success, but it is better to check for thrown exception, and assume success if none is thrown.

Erros

Throws PharException if errors occur while flushing changes to disk.

Exemplos

Exemplo #1 A PharData::delMetaData() example

<?php
try {
    $phar = new PharData('myphar.zip');
    var_dump($phar->getMetadata());
    $phar->setMetadata("hi there");
    var_dump($phar->getMetadata());
    $phar->delMetadata();
    var_dump($phar->getMetadata());
} catch (Exception $e) {
    // handle errors
}
?>

O exemplo acima irá imprimir:

NULL
string(8) "hi there"
NULL

Veja Também

  • Phar::delMetadata() - Deletes the global metadata of the phar


Delete a file within a tar/zip archive

  • « PharData::delMetadata
  • PharData::extractTo »
  • PHP Manual
  • PharData
  • Delete a file within a tar/zip archive

PharData::delete

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::delete — Delete a file within a tar/zip archive

Descrição

public PharData::delete ( string $entry ) : bool

Delete a file within an archive. This is the functional equivalent of calling unlink() on the stream wrapper equivalent, as shown in the example below.

Parâmetros

entry

Path within an archive to the file to delete.

Valor Retornado

returns true on success, but it is better to check for thrown exception, and assume success if none is thrown.

Erros

Throws PharException if errors occur while flushing changes to disk.

Exemplos

Exemplo #1 A PharData::delete() example

<?php
try {
    $phar = new PharData('myphar.zip');
    $phar->delete('unlink/me.php');
    // this is equivalent to:
    unlink('phar://myphar.phar/unlink/me.php');
} catch (Exception $e) {
    // handle errors
}
?>

Veja Também

  • Phar::delete() - Delete a file within a phar archive


Extract the contents of a tar/zip archive to a directory

  • « PharData::delete
  • PharData::isWritable »
  • PHP Manual
  • PharData
  • Extract the contents of a tar/zip archive to a directory

PharData::extractTo

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::extractTo — Extract the contents of a tar/zip archive to a directory

Descrição

public PharData::extractTo ( string $pathto , string|array|null $files = null , bool $overwrite = false ) : bool

Extract all files within a tar/zip archive to disk. Extracted files and directories preserve permissions as stored in the archive. The optional parameters allow optional control over which files are extracted, and whether existing files on disk can be overwritten. The second parameter files can be either the name of a file or directory to extract, or an array of names of files and directories to extract. By default, this method will not overwrite existing files, the third parameter can be set to true to enable overwriting of files. This method is similar to ZipArchive::extractTo().

Parâmetros

pathto

Path to extract the given files to

files

The name of a file or directory to extract, or an array of files/directories to extract

overwrite

Set to true to enable overwriting existing files

Valor Retornado

returns true on success, but it is better to check for thrown exception, and assume success if none is thrown.

Erros

Throws PharException if errors occur while flushing changes to disk.

Exemplos

Exemplo #1 A PharData::extractTo() example

<?php
try {
    $phar = new PharData('myphar.tar');
    $phar->extractTo('/full/path'); // extract all files
    $phar->extractTo('/another/path', 'file.txt'); // extract only file.txt
    $phar->extractTo('/this/path',
        array('file1.txt', 'file2.txt')); // extract 2 files only
    $phar->extractTo('/third/path', null, true); // extract all files, and overwrite
} catch (Exception $e) {
    // handle errors
}
?>

Veja Também

  • Phar::extractTo() - Extract the contents of a phar archive to a directory


Returns true if the tar/zip archive can be modified

  • « PharData::extractTo
  • PharData::offsetSet »
  • PHP Manual
  • PharData
  • Returns true if the tar/zip archive can be modified

PharData::isWritable

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::isWritable — Returns true if the tar/zip archive can be modified

Descrição

public PharData::isWritable ( ) : bool

This method returns true if the tar/zip archive on disk is not read-only. Unlike Phar::isWritable(), data-only tar/zip archives can be modified even if phar.readonly is set to 1.

Parâmetros

No parameters.

Valor Retornado

Returns true if the tar/zip archive can be modified

Veja Também

  • Phar::canWrite() - Returns whether phar extension supports writing and creating phars
  • Phar::isWritable() - Returns true if the phar archive can be modified


Set the contents of a file within the tar/zip to those of an external file or string

  • « PharData::isWritable
  • PharData::offsetUnset »
  • PHP Manual
  • PharData
  • Set the contents of a file within the tar/zip to those of an external file or string

PharData::offsetSet

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::offsetSet — Set the contents of a file within the tar/zip to those of an external file or string

Descrição

public PharData::offsetSet ( string $offset , string $value ) : void

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a tar/zip archive using array access brackets. offsetSet is used for modifying an existing file, or adding a new file to a tar/zip archive.

Parâmetros

offset

The filename (relative path) to modify in a tar or zip archive.

value

Content of the file.

Valor Retornado

No return values.

Erros

Throws PharException if there are any problems flushing changes made to the tar/zip archive to disk.

Exemplos

Exemplo #1 A PharData::offsetSet() example

offsetSet should not be accessed directly, but instead used via array access with the [] operator.

<?php
$p = new PharData('/path/to/my.tar');
try {
    // calls offsetSet
    $p['file.txt'] = 'Hi there';
} catch (Exception $e) {
    echo 'Could not modify file.txt:', $e;
}
?>

Notas

Nota: PharData::addFile(), PharData::addFromString() and PharData::offsetSet() save a new phar archive each time they are called. If performance is a concern, PharData::buildFromDirectory() or PharData::buildFromIterator() should be used instead.

Veja Também

  • Phar::offsetSet() - Set the contents of an internal file to those of an external file


Remove a file from a tar/zip archive

  • « PharData::offsetSet
  • PharData::setAlias »
  • PHP Manual
  • PharData
  • Remove a file from a tar/zip archive

PharData::offsetUnset

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::offsetUnset — Remove a file from a tar/zip archive

Descrição

public PharData::offsetUnset ( string $offset ) : bool

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a tar/zip archive using array access brackets. offsetUnset is used for deleting an existing file, and is called by the unset() language construct.

Parâmetros

offset

The filename (relative path) to modify in the tar/zip archive.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Throws PharException if there are any problems flushing changes made to the tar/zip archive to disk.

Exemplos

Exemplo #1 A PharData::offsetUnset() example

<?php
$p = new PharData('/path/to/my.zip');
try {
    // deletes file.txt from my.zip by calling offsetUnset
    unset($p['file.txt']);
} catch (Exception $e) {
    echo 'Could not delete file.txt: ', $e;
}
?>

Veja Também

  • Phar::offsetUnset() - Remove a file from a phar


Dummy function (Phar::setAlias is not valid for PharData)

  • « PharData::offsetUnset
  • PharData::setDefaultStub »
  • PHP Manual
  • PharData
  • Dummy function (Phar::setAlias is not valid for PharData)

PharData::setAlias

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::setAlias — Dummy function (Phar::setAlias is not valid for PharData)

Descrição

public PharData::setAlias ( string $alias ) : bool

Non-executable tar/zip archives cannot have an alias, so this method simply throws an exception.

Parâmetros

alias

A shorthand string that this archive can be referred to in phar stream wrapper access. This parameter is ignored.

Valor Retornado

Erros

Throws PharException on all method calls

Veja Também

  • Phar::setAlias() - Set the alias for the Phar archive


Dummy function (Phar::setDefaultStub is not valid for PharData)

  • « PharData::setAlias
  • PharData::setMetadata »
  • PHP Manual
  • PharData
  • Dummy function (Phar::setDefaultStub is not valid for PharData)

PharData::setDefaultStub

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::setDefaultStub — Dummy function (Phar::setDefaultStub is not valid for PharData)

Descrição

public PharData::setDefaultStub ( string $index = ? , string $webindex = ? ) : bool

Non-executable tar/zip archives cannot have a stub, so this method simply throws an exception.

Parâmetros

index

Relative path within the phar archive to run if accessed on the command-line

webindex

Relative path within the phar archive to run if accessed through a web browser

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Throws PharException on all method calls

Veja Também

  • Phar::setDefaultStub() - Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader


Sets phar archive meta-data

  • « PharData::setDefaultStub
  • PharData::setSignatureAlgorithm »
  • PHP Manual
  • PharData
  • Sets phar archive meta-data

PharData::setMetadata

(Não há informação de versão disponível, talvez apenas no Git)

PharData::setMetadata — Sets phar archive meta-data

Descrição

public PharData::setMetadata ( mixed $metadata ) : void

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

Phar::setMetadata() should be used to store customized data that describes something about the phar archive as a complete entity. PharFileInfo::setMetadata() should be used for file-specific meta-data. Meta-data can slow down the performance of loading a phar archive if the data is large.

Some possible uses for meta-data include specifying which file within the archive should be used to bootstrap the archive, or the location of a file manifest like » PEAR's package.xml file. However, any useful data that describes the phar archive may be stored.

Parâmetros

metadata

Any PHP variable containing information to store that describes the phar archive

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 A Phar::setMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.php'] = '<?php echo "hello"';
    $p->setMetadata(array('bootstrap' => 'file.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'Could not create and/or modify phar:', $e;
}
?>

O exemplo acima irá imprimir:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Veja Também

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar
  • Phar::hasMetadata() - Returns whether phar has global meta-data


Set the signature algorithm for a phar and apply it

  • « PharData::setMetadata
  • PharData::setStub »
  • PHP Manual
  • PharData
  • Set the signature algorithm for a phar and apply it

PharData::setSignatureAlgorithm

(Não há informação de versão disponível, talvez apenas no Git)

PharData::setSignatureAlgorithm — Set the signature algorithm for a phar and apply it

Descrição

public PharData::setSignatureAlgorithm ( int $sigtype ) : void

Nota:

Esta função requer a configuração do arquivo php.ini phar.readonly ser definida como 0 para funcionar os objetos Phar. Caso contrário, uma PharException será disparada.

Set the signature algorithm for a phar and apply it. The signature algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::OPENSSL.

Parâmetros

sigtype

    One of Phar::MD5,
Phar::SHA1, Phar::SHA256,
Phar::SHA512, or Phar::OPENSSL

Valor Retornado

Não há valor retornado.

Erros

Throws UnexpectedValueException for many errors, BadMethodCallException if called for a zip- or a tar-based phar archive, and a PharException if any problems occur flushing changes to disk.

Veja Também

  • Phar::getSupportedSignatures() - Return array of supported signature types
  • Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive


Dummy function (Phar::setStub is not valid for PharData)

  • « PharData::setSignatureAlgorithm
  • PharFileInfo »
  • PHP Manual
  • PharData
  • Dummy function (Phar::setStub is not valid for PharData)

PharData::setStub

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::setStub — Dummy function (Phar::setStub is not valid for PharData)

Descrição

public PharData::setStub ( string $stub , int $len = -1 ) : bool

Non-executable tar/zip archives cannot have a stub, so this method simply throws an exception.

Parâmetros

stub

A string or an open stream handle to use as the executable stub for this phar archive. This parameter is ignored.

len

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Throws PharException on all method calls

Veja Também

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive


The PharFileInfo class

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Introdução

The PharFileInfo class provides a high-level interface to the contents and attributes of a single file within a phar archive.

Sinopse da classe

PharFileInfo extends SplFileInfo {
/* Métodos */
public chmod ( int $permissions ) : void
public compress ( int $compression ) : bool
public __construct ( string $entry )
public decompress ( ) : bool
public delMetadata ( ) : bool
public getCRC32 ( ) : int
public getCompressedSize ( ) : int
public getContent ( ) : string
public getMetadata ( ) : mixed
public getPharFlags ( ) : int
public hasMetadata ( ) : bool
public isCRCChecked ( ) : bool
public isCompressed ( int $compression_type = 9021976 ) : bool
public setMetadata ( mixed $metadata ) : void
/* Métodos herdados */
public SplFileInfo::getATime ( ) : int
public SplFileInfo::getBasename ( string $suffix = ? ) : string
public SplFileInfo::getCTime ( ) : int
public SplFileInfo::getExtension ( ) : string
public SplFileInfo::getFileInfo ( string $class_name = ? ) : SplFileInfo
public SplFileInfo::getFilename ( ) : string
public SplFileInfo::getGroup ( ) : int
public SplFileInfo::getInode ( ) : int
public SplFileInfo::getLinkTarget ( ) : string
public SplFileInfo::getMTime ( ) : int
public SplFileInfo::getOwner ( ) : int
public SplFileInfo::getPath ( ) : string
public SplFileInfo::getPathInfo ( string $class_name = ? ) : SplFileInfo
public SplFileInfo::getPathname ( ) : string
public SplFileInfo::getPerms ( ) : int
public SplFileInfo::getRealPath ( ) : string
public SplFileInfo::getSize ( ) : int
public SplFileInfo::getType ( ) : string
public SplFileInfo::isDir ( ) : bool
public SplFileInfo::isExecutable ( ) : bool
public SplFileInfo::isFile ( ) : bool
public SplFileInfo::isLink ( ) : bool
public SplFileInfo::isReadable ( ) : bool
public SplFileInfo::isWritable ( ) : bool
public SplFileInfo::openFile ( string $open_mode = "r" , bool $use_include_path = false , resource $context = null ) : SplFileObject
public SplFileInfo::setFileClass ( string $class_name = "SplFileObject" ) : void
public SplFileInfo::setInfoClass ( string $class_name = "SplFileInfo" ) : void
public SplFileInfo::__toString ( ) : string
}

Índice

  • PharFileInfo::chmod — Sets file-specific permission bits
  • PharFileInfo::compress — Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::__construct — Construct a Phar entry object
  • PharFileInfo::decompress — Decompresses the current Phar entry within the phar
  • PharFileInfo::delMetadata — Deletes the metadata of the entry
  • PharFileInfo::getCRC32 — Returns CRC32 code or throws an exception if CRC has not been verified
  • PharFileInfo::getCompressedSize — Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::getContent — Get the complete file contents of the entry
  • PharFileInfo::getMetadata — Returns file-specific meta-data saved with a file
  • PharFileInfo::getPharFlags — Returns the Phar file entry flags
  • PharFileInfo::hasMetadata — Returns the metadata of the entry
  • PharFileInfo::isCRCChecked — Returns whether file entry has had its CRC verified
  • PharFileInfo::isCompressed — Returns whether the entry is compressed
  • PharFileInfo::setMetadata — Sets file-specific meta-data saved with a file


Sets file-specific permission bits

  • « PharFileInfo
  • PharFileInfo::compress »
  • PHP Manual
  • PharFileInfo
  • Sets file-specific permission bits

PharFileInfo::chmod

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

PharFileInfo::chmod — Sets file-specific permission bits

Descrição

public PharFileInfo::chmod ( int $permissions ) : void

PharFileInfo::chmod() allows setting of the executable file permissions bit, as well as read-only bits. Writeable bits are ignored, and set at runtime based on the phar.readonly INI variable. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Parâmetros

permissions

permissions (see chmod())

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 A PharFileInfo::chmod() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar('brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.sh'] = '#!/usr/local/lib/php
    <?php echo "hi"; ?>';
    // set executable bit
    $p['file.sh']->chmod(0555);
    var_dump($p['file.sh']->isExecutable());
} catch (Exception $e) {
    echo 'Could not create/modify phar: ', $e;
}
?>

O exemplo acima irá imprimir:

bool(true)


Compresses the current Phar entry with either zlib or bzip2 compression

  • « PharFileInfo::chmod
  • PharFileInfo::__construct »
  • PHP Manual
  • PharFileInfo
  • Compresses the current Phar entry with either zlib or bzip2 compression

PharFileInfo::compress

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharFileInfo::compress — Compresses the current Phar entry with either zlib or bzip2 compression

Descrição

public PharFileInfo::compress ( int $compression ) : bool

This method compresses the file inside the Phar archive using either bzip2 compression or zlib compression. The bzip2 or zlib extension must be enabled to take advantage of this feature. In addition, if the file is already compressed, the respective extension must be enabled in order to decompress the file. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2/zlib extension is not available.

Exemplos

Exemplo #1 A PharFileInfo::compress() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCompressed(Phar::BZ2));
    $p['myfile.txt']->compress(Phar::BZ2);
    var_dump($file->isCompressed(Phar::BZ2));
} catch (Exception $e) {
    echo 'Create/modify operations on my.phar failed: ', $e;
}
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)

Veja Também

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms


Construct a Phar entry object

  • « PharFileInfo::compress
  • PharFileInfo::decompress »
  • PHP Manual
  • PharFileInfo
  • Construct a Phar entry object

PharFileInfo::__construct

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

PharFileInfo::__construct — Construct a Phar entry object

Descrição

public PharFileInfo::__construct ( string $entry )

This should not be called directly. Instead, a PharFileInfo object is initialized by calling Phar::offsetGet() through array access.

Parâmetros

entry

The full url to retrieve a file. If you wish to retrieve the information for the file my/file.php from the phar boo.phar, the entry should be phar://boo.phar/my/file.php.

Erros

Throws BadMethodCallException if __construct() is called twice. Throws UnexpectedValueException if the phar URL requested is malformed, the requested phar cannot be opened, or the file can't be found within the phar.

Exemplos

Exemplo #1 A PharFileInfo::__construct() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['testfile.txt'] = "hi\nthere\ndude";
    $file = $p['testfile.txt'];
    foreach ($file as $line => $text) {
        echo "line number $line: $text";
    }
    // this also works
    $file = new PharFileInfo('phar:///path/to/my.phar/testfile.txt');
    foreach ($file as $line => $text) {
        echo "line number $line: $text";
    }
} catch (Exception $e) {
    echo 'Phar operations failed: ', $e;
}
?>

O exemplo acima irá imprimir:

line number 1: hi
line number 2: there
line number 3: dude
line number 1: hi
line number 2: there
line number 3: dude


Decompresses the current Phar entry within the phar

  • « PharFileInfo::__construct
  • PharFileInfo::delMetadata »
  • PHP Manual
  • PharFileInfo
  • Decompresses the current Phar entry within the phar

PharFileInfo::decompress

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharFileInfo::decompress — Decompresses the current Phar entry within the phar

Descrição

public PharFileInfo::decompress ( ) : bool

This method decompresses the file inside the Phar archive. Depending on how the file is compressed, the bzip2 or zlib extensions must be enabled to take advantage of this feature. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2/zlib extension is not available.

Exemplos

Exemplo #1 A PharFileInfo::decompress() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    $file->compress(Phar::GZ);
    var_dump($file->isCompressed());
    $p['myfile.txt']->decompress();
    var_dump($file->isCompressed());
} catch (Exception $e) {
    echo 'Create/modify failed for my.phar: ', $e;
}
?>

O exemplo acima irá imprimir:

int(4096)
bool(false)

Veja Também

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms


Deletes the metadata of the entry

  • « PharFileInfo::decompress
  • PharFileInfo::getCRC32 »
  • PHP Manual
  • PharFileInfo
  • Deletes the metadata of the entry

PharFileInfo::delMetadata

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.0)

PharFileInfo::delMetadata — Deletes the metadata of the entry

Descrição

public PharFileInfo::delMetadata ( ) : bool

Deletes the metadata of the entry, if any.

Parâmetros

No parameters.

Valor Retornado

Returns true if successful, false if the entry had no metadata. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Erros

Throws PharException if errors occurred while flushing changes to disk, and BadMethodCallException if write access is disabled.

Exemplos

Exemplo #1 A PharFileInfo::delMetaData() example

<?php
try {
    $a = new Phar('myphar.phar');
    $a['hi'] = 'hi';
    var_dump($a['hi']->delMetadata());
    $a['hi']->setMetadata('there');
    var_dump($a['hi']->delMetadata());
    var_dump($a['hi']->delMetadata());
} catch (Exception $e) {
    // handle errors
}
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(false)

Veja Também

  • PharFileInfo::setMetadata() - Sets file-specific meta-data saved with a file
  • PharFileInfo::hasMetadata() - Returns the metadata of the entry
  • PharFileInfo::getMetadata() - Returns file-specific meta-data saved with a file
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data


Returns CRC32 code or throws an exception if CRC has not been verified

  • « PharFileInfo::delMetadata
  • PharFileInfo::getCompressedSize »
  • PHP Manual
  • PharFileInfo
  • Returns CRC32 code or throws an exception if CRC has not been verified

PharFileInfo::getCRC32

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

PharFileInfo::getCRC32 — Returns CRC32 code or throws an exception if CRC has not been verified

Descrição

public PharFileInfo::getCRC32 ( ) : int

This returns the crc32() checksum of the file within the Phar archive.

Valor Retornado

The crc32() checksum of the file within the Phar archive.

Erros

Throws BadMethodCallException if the file has not yet had its CRC32 verified. This should be impossible with normal use, as the CRC is verified upon opening the file for reading or writing.

Exemplos

Exemplo #1 A PharFileInfo::getCRC32() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    echo $file->getCRC32();
} catch (Exception $e) {
    echo 'Write operations on my.phar.phar failed: ', $e;
}
?>

O exemplo acima irá imprimir:

3633523372


Returns the actual size of the file (with compression) inside the Phar archive

  • « PharFileInfo::getCRC32
  • PharFileInfo::getContent »
  • PHP Manual
  • PharFileInfo
  • Returns the actual size of the file (with compression) inside the Phar archive

PharFileInfo::getCompressedSize

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

PharFileInfo::getCompressedSize — Returns the actual size of the file (with compression) inside the Phar archive

Descrição

public PharFileInfo::getCompressedSize ( ) : int

This returns the size of the file within the Phar archive. Uncompressed files will return the same value for getCompressedSize as they will with filesize()

Valor Retornado

The size in bytes of the file within the Phar archive on disk.

Exemplos

Exemplo #1 A PharFileInfo::getCompressedSize() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    echo $file->getCompressedSize();
} catch (Exception $e) {
    echo 'Write operations failed on my.phar: ', $e;
}
?>

O exemplo acima irá imprimir:

2

Veja Também

  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compressFiles() - Compresses all files in the current Phar archive


Get the complete file contents of the entry

  • « PharFileInfo::getCompressedSize
  • PharFileInfo::getMetadata »
  • PHP Manual
  • PharFileInfo
  • Get the complete file contents of the entry

PharFileInfo::getContent

(PHP 5 >= 5.3.0, PHP 7)

PharFileInfo::getContent — Get the complete file contents of the entry

Descrição

public PharFileInfo::getContent ( ) : string

This function behaves like file_get_contents() but for Phar.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the file contents.


Returns file-specific meta-data saved with a file

  • « PharFileInfo::getContent
  • PharFileInfo::getPharFlags »
  • PHP Manual
  • PharFileInfo
  • Returns file-specific meta-data saved with a file

PharFileInfo::getMetadata

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

PharFileInfo::getMetadata — Returns file-specific meta-data saved with a file

Descrição

public PharFileInfo::getMetadata ( ) : mixed

Return meta-data that was saved in the Phar archive's manifest for this file.

Parâmetros

Valor Retornado

any PHP variable that can be serialized and is stored as meta-data for the file, or null if no meta-data is stored.

Exemplos

Exemplo #1 A PharFileInfo::getMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.txt'] = 'hello';
    $p['file.txt']->setMetadata(array('user' => 'bill', 'mime-type' => 'text/plain'));
    var_dump($p['file.txt']->getMetadata());
} catch (Exception $e) {
    echo 'Could not create/modify brandnewphar.phar: ', $e;
}
?>

O exemplo acima irá imprimir:

array(2) {
  ["user"]=>
  string(4) "bill"
  ["mime-type"]=>
  string(10) "text/plain"
}

Veja Também

  • PharFileInfo::setMetadata() - Sets file-specific meta-data saved with a file
  • PharFileInfo::hasMetadata() - Returns the metadata of the entry
  • PharFileInfo::delMetadata() - Deletes the metadata of the entry
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data


Returns the Phar file entry flags

  • « PharFileInfo::getMetadata
  • PharFileInfo::hasMetadata »
  • PHP Manual
  • PharFileInfo
  • Returns the Phar file entry flags

PharFileInfo::getPharFlags

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

PharFileInfo::getPharFlags — Returns the Phar file entry flags

Descrição

public PharFileInfo::getPharFlags ( ) : int

This returns the flags set in the manifest for a Phar. This will always return 0 in the current implementation.

Valor Retornado

The Phar flags (always 0 in the current implementation)

Exemplos

Exemplo #1 A PharFileInfo::getPharFlags() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->getPharFlags());
} catch (Exception $e) {
    echo 'Could not create/modify my.phar: ', $e;
}
?>

O exemplo acima irá imprimir:

int(0)


Returns the metadata of the entry

  • « PharFileInfo::getPharFlags
  • PharFileInfo::isCRCChecked »
  • PHP Manual
  • PharFileInfo
  • Returns the metadata of the entry

PharFileInfo::hasMetadata

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.0)

PharFileInfo::hasMetadata — Returns the metadata of the entry

Descrição

public PharFileInfo::hasMetadata ( ) : bool

Returns the metadata of a file within a phar archive.

Parâmetros

No parameters.

Valor Retornado

Returns false if no metadata is set or is null, true if metadata is not null

Veja Também

  • PharFileInfo::setMetadata() - Sets file-specific meta-data saved with a file
  • PharFileInfo::getMetadata() - Returns file-specific meta-data saved with a file
  • PharFileInfo::delMetadata() - Deletes the metadata of the entry
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data


Returns whether file entry has had its CRC verified

  • « PharFileInfo::hasMetadata
  • PharFileInfo::isCompressed »
  • PHP Manual
  • PharFileInfo
  • Returns whether file entry has had its CRC verified

PharFileInfo::isCRCChecked

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

PharFileInfo::isCRCChecked — Returns whether file entry has had its CRC verified

Descrição

public PharFileInfo::isCRCChecked ( ) : bool

This returns whether a file within a Phar archive has had its CRC verified.

Valor Retornado

true if the file has had its CRC verified, false if not.

Exemplos

Exemplo #1 A PharFileInfo::isCRCChecked() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCRCChecked());
} catch (Exception $e) {
    echo 'Create/modify operations failed on my.phar: ', $e;
}
?>

O exemplo acima irá imprimir:

bool(true)


Returns whether the entry is compressed

  • « PharFileInfo::isCRCChecked
  • PharFileInfo::setMetadata »
  • PHP Manual
  • PharFileInfo
  • Returns whether the entry is compressed

PharFileInfo::isCompressed

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

PharFileInfo::isCompressed — Returns whether the entry is compressed

Descrição

public PharFileInfo::isCompressed ( int $compression_type = 9021976 ) : bool

This returns whether a file is compressed within a Phar archive with either Gzip or Bzip2 compression.

Parâmetros

compression_type

One of Phar::GZ or Phar::BZ2, defaults to any compression.

Valor Retornado

true if the file is compressed within the Phar archive, false if not.

Exemplos

Exemplo #1 A PharFileInfo::isCompressed() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p['myfile2.txt']->setCompressedGZ();
    $file = $p['myfile.txt'];
    $file2 = $p['myfile2.txt'];
    var_dump($file->isCompressed());
    var_dump($file2->isCompressed());
} catch (Exception $e) {
    echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)

Veja Também

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compressFiles() - Compresses all files in the current Phar archive


Sets file-specific meta-data saved with a file

  • « PharFileInfo::isCompressed
  • PharException »
  • PHP Manual
  • PharFileInfo
  • Sets file-specific meta-data saved with a file

PharFileInfo::setMetadata

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

PharFileInfo::setMetadata — Sets file-specific meta-data saved with a file

Descrição

public PharFileInfo::setMetadata ( mixed $metadata ) : void

PharFileInfo::setMetadata() should only be used to store customized data in a file that cannot be represented with existing information stored with a file. Meta-data can significantly slow down the performance of loading a phar archive if the data is large, or if there are many files containing meta-data. It is important to note that file permissions are natively supported inside a phar; it is possible to set them with the PharFileInfo::chmod() method. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Some possible uses for meta-data include passing a user/group that should be set when a file is extracted from the phar to disk. Other uses could include explicitly specifying a MIME type to return. However, any useful data that describes a file, but should not be contained inside of it may be stored.

Parâmetros

metadata

Any PHP variable containing information to store alongside a file

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 A PharFileInfo::setMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.txt'] = 'hello';
    $p['file.txt']->setMetadata(array('user' => 'bill', 'mime-type' => 'text/plain'));
    var_dump($p['file.txt']->getMetaData());
} catch (Exception $e) {
    echo 'Could not create/modify phar: ', $e;
}
?>

O exemplo acima irá imprimir:

array(2) {
  ["user"]=>
  string(4) "bill"
  ["mime-type"]=>
  string(10) "text/plain"
}

Veja Também

  • PharFileInfo::hasMetadata() - Returns the metadata of the entry
  • PharFileInfo::getMetadata() - Returns file-specific meta-data saved with a file
  • PharFileInfo::delMetadata() - Deletes the metadata of the entry
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data


The PharException class

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Introdução

The PharException class provides a phar-specific exception class for try/catch blocks.

Sinopse da classe

PharException extends Exception {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


Rar Archiving

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Rar Funções
    • rar_wrapper_cache_stats — Cache hits and misses for the URL wrapper
  • RarArchive — The RarArchive class
    • RarArchive::close — Close RAR archive and free all resources
    • RarArchive::getComment — Get comment text from the RAR archive
    • RarArchive::getEntries — Get full list of entries from the RAR archive
    • RarArchive::getEntry — Get entry object from the RAR archive
    • RarArchive::isBroken — Test whether an archive is broken (incomplete)
    • RarArchive::isSolid — Check whether the RAR archive is solid
    • RarArchive::open — Open RAR archive
    • RarArchive::setAllowBroken — Whether opening broken archives is allowed
    • RarArchive::__toString — Get text representation
  • RarEntry — The RarEntry class
    • RarEntry::extract — Extract entry from the archive
    • RarEntry::getAttr — Get attributes of the entry
    • RarEntry::getCrc — Get CRC of the entry
    • RarEntry::getFileTime — Get entry last modification time
    • RarEntry::getHostOs — Get entry host OS
    • RarEntry::getMethod — Get pack method of the entry
    • RarEntry::getName — Get name of the entry
    • RarEntry::getPackedSize — Get packed size of the entry
    • RarEntry::getStream — Get file handler for entry
    • RarEntry::getUnpackedSize — Get unpacked size of the entry
    • RarEntry::getVersion — Get minimum version of RAR program required to unpack the entry
    • RarEntry::isDirectory — Test whether an entry represents a directory
    • RarEntry::isEncrypted — Test whether an entry is encrypted
    • RarEntry::__toString — Get text representation of entry
  • RarException — The RarException class
    • RarException::isUsingExceptions — Check whether error handling with exceptions is in use
    • RarException::setUsingExceptions — Activate and deactivate error handling with exceptions


Introdução

Rar is a powerful and effective archiver created by Eugene Roshal. This extension gives you possibility to read Rar archives but doesn't support writing Rar archives, because this is not supported by the UnRar library and is directly prohibited by its license.

More information about Rar and UnRar can be found at » http://www.rarlabs.com/.


Instalação

Rar is currently available through PECL » https://pecl.php.net/package/rar.

Also you can use the PECL installer to install the Rar extension, using the following command: pecl -v install rar.

You can always download the tar.gz package and install Rar by hand:

Exemplo #1 Rar installation

gunzip rar-xxx.tgz
tar -xvf rar-xxx.tar
cd rar-xxx
phpize
./configure && make && make install

Windows users will enable php_rar.dll inside of php.ini in order to use these functions. Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


Tipos de Recurso

This extension registers three internal classes: The archive representations returned by rar_open() – RarArchive –, the entry representations returned by rar_list() and rar_entry_get() – RarEntry and the exception type RarException.

This extension also register a stream resource, called "rar" and a URL wrapper called "rar wrapper" and registered under the prefix "rar".


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

RAR_HOST_MSDOS (int)
Use RarEntry::HOST_MSDOS instead.
RAR_HOST_OS2 (int)
Use RarEntry::HOST_OS2 instead.
RAR_HOST_WIN32 (int)
Use RarEntry::HOST_WIN32 instead.
RAR_HOST_UNIX (int)
Use RarEntry::HOST_UNIX instead.
RAR_HOST_BEOS (int)
Use RarEntry::HOST_BEOS instead.


Exemplos

See also the examples under rar:// wrapper.

Exemplo #1 On-the-fly decompression

<?php

if (!array_key_exists("i", $_GET) || !is_numeric($_GET["i"]))
    die("Index unspecified or non-numeric");
$index = (int) $_GET["i"];

$arch = RarArchive::open("example.rar");
if ($arch === FALSE)
    die("Cannot open example.rar");

$entries = $arch->getEntries();
if ($entries === FALSE)
    die("Cannot retrieve entries");

if (!array_key_exists($index, $entries))
    die("No such index: $index");

$orfilename = $entries[$index]->getName(); //UTF-8 encoded

$filesize = $entries[$index]->getUnpackedSize();

/* you could check HTTP_IF_MODIFIED_SINCE here and compare with
 * $entries[$index]->getFileTime(). You could also send a
 * "Last modified" header */

$fp = $entries[$index]->getStream();
if ($fp === FALSE)
    die("Cannot open file with index $index insided the archive.");

$arch->close(); //no longer needed; stream is independent

function detectUserAgent() {
    if (!array_key_exists('HTTP_USER_AGENT', $_SERVER))
        return "Other";

    $uas = $_SERVER['HTTP_USER_AGENT'];
    if (preg_match("@Opera/@", $uas))
        return "Opera";
    if (preg_match("@Firefox/@", $uas))
        return "Firefox";
    if (preg_match("@Chrome/@", $uas))
        return "Chrome";
    if (preg_match("@MSIE ([0-9.]+);@", $uas, $matches)) {
        if (((float)$matches[1]) >= 7.0)
            return "IE";
    }

    return "Other";
}

/*
 * We have 3 options:
 * - For FF and Opera, which support RFC 2231, use that format.
 * - For IE and Chrome, use attwithfnrawpctenclong
 *   (http://greenbytes.de/tech/tc2231/#attwithfnrawpctenclong)
 * - For the others, convert to ISO-8859-1, if possible
 */
$formatRFC2231 = 'Content-Disposition: attachment; filename*=UTF-8\'\'%s';
$formatDef = 'Content-Disposition: attachment; filename="%s"';

switch (detectUserAgent()) {
    case "Opera":
    case "Firefox":
        $orfilename = rawurlencode($orfilename);
        $format = $formatRFC2231;
        break;

    case "IE":
    case "Chrome":
        $orfilename = rawurlencode($orfilename);
        $format = $formatDef;
        break;
    default:
        if (function_exists('iconv'))
            $orfilename =
                @iconv("UTF-8", "ISO-8859-1//TRANSLIT", $orfilename);
        $format = $formatDef;
}

header(sprintf($format, $orfilename));
//cannot send error messages from now on (headers already sent)

//replace by real content type, perhaps infering from the file extension
$contentType = "application/octet-stream";
header("Content-Type: $contentType");

header("Content-Transfer-Encoding: binary");

header("Content-Length: $filesize");

if ($_SERVER['REQUEST_METHOD'] == "HEAD")
    die();

while (!feof($fp)) {
    $s = @fread($fp, 8192);
    if ($s === false)
        break; //useless to send error messages

    echo $s;
}
?>

This example opens a RAR file and presents the requested file inside the RAR archive for download to the client.

Exemplo #2 RAR extension filesystem extraction example

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entries = rar_list($rar_file);

foreach ($entries as $entry) {
    echo 'Filename: ' . $entry->getName() . "\n";
    echo 'Packed size: ' . $entry->getPackedSize() . "\n";
    echo 'Unpacked size: ' . $entry->getUnpackedSize() . "\n";

    $entry->extract('/dir/extract/to/');
}

rar_close($rar_file);

?>

This example opens a RAR file archive and extracts each entry to the specified directory.


Rar Funções

Índice

  • rar_wrapper_cache_stats — Cache hits and misses for the URL wrapper


Cache hits and misses for the URL wrapper

  • « Rar Funções
  • RarArchive »
  • PHP Manual
  • Rar Funções
  • Cache hits and misses for the URL wrapper

rar_wrapper_cache_stats

(PECL rar >= 3.0.0)

rar_wrapper_cache_stats — Cache hits and misses for the URL wrapper

Descrição

rar_wrapper_cache_stats ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The RarArchive class

(PECL rar >= 2.0.0)

Introdução

This class represents a RAR archive, which may be formed by several volumes (parts) and which contains a number of RAR entries (i.e., files, directories and other special objects such as symbolic links).

Objects of this class can be traversed, yielding the entries stored in the respective RAR archive. Those entries can also be obtained through RarArchive::getEntry() and RarArchive::getEntries().

Sinopse da classe

final RarArchive implements Traversable {
/* Métodos */
public close ( ) : bool
public getComment ( ) : string
public getEntries ( ) : array|false
public getEntry ( string $entryname ) : RarEntry|false
public isBroken ( ) : bool
public isSolid ( ) : bool
public static open ( string $filename , string $password = NULL , callable $volume_callback = NULL ) : RarArchive|false
public setAllowBroken ( bool $allow_broken ) : bool
public __toString ( ) : string
}

Índice

  • RarArchive::close — Close RAR archive and free all resources
  • RarArchive::getComment — Get comment text from the RAR archive
  • RarArchive::getEntries — Get full list of entries from the RAR archive
  • RarArchive::getEntry — Get entry object from the RAR archive
  • RarArchive::isBroken — Test whether an archive is broken (incomplete)
  • RarArchive::isSolid — Check whether the RAR archive is solid
  • RarArchive::open — Open RAR archive
  • RarArchive::setAllowBroken — Whether opening broken archives is allowed
  • RarArchive::__toString — Get text representation


Close RAR archive and free all resources

  • « RarArchive
  • RarArchive::getComment »
  • PHP Manual
  • RarArchive
  • Close RAR archive and free all resources

RarArchive::close

rar_close

(PECL rar >= 2.0.0)

RarArchive::close -- rar_close — Close RAR archive and free all resources

Descrição

Estilo orientado à objeto (method):

public RarArchive::close ( ) : bool

Estilo procedural:

rar_close ( RarArchive $rarfile ) : bool

Close RAR archive and free all allocated resources.

Parâmetros

rarfile

A RarArchive object, opened with rar_open().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
PECL rar 2.0.0 | The RAR entries returned by RarArchive::getEntry() and RarArchive::getEntries() are now invalidated when calling this method. This means that all instance methods called for such entries and not guaranteed to succeed.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$rar_arch = RarArchive::open('latest_winrar.rar');
echo $rar_arch."\n";
$rar_arch->close();
echo $rar_arch."\n";
?>

O exemplo acima irá imprimir algo similar à:

RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar"
RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar" (closed)

Exemplo #2 Estilo procedural

<?php
$rar_arch = rar_open('latest_winrar.rar');
echo $rar_arch."\n";
rar_close($rar_arch);
echo $rar_arch."\n";
?>


Get comment text from the RAR archive

  • « RarArchive::close
  • RarArchive::getEntries »
  • PHP Manual
  • RarArchive
  • Get comment text from the RAR archive

RarArchive::getComment

rar_comment_get

(PECL rar >= 2.0.0)

RarArchive::getComment -- rar_comment_get — Get comment text from the RAR archive

Descrição

Estilo orientado à objeto (method):

public RarArchive::getComment ( ) : string

Estilo procedural:

rar_comment_get ( RarArchive $rarfile ) : string

Get the (global) comment stored in the RAR archive. It may be up to 64 KiB long.

Nota:

This extension does not support comments at the entry level.

Parâmetros

rarfile

A RarArchive object, opened with rar_open().

Valor Retornado

Returns the comment or null if there is none.

Nota:

RAR has currently no support for unicode comments. The encoding of the result of this function is not specified, but it will probably be Windows-1252.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$rar_arch = RarArchive::open('commented.rar');
echo $rar_arch->getComment();
?>

O exemplo acima irá imprimir algo similar à:

This is the comment of the file commented.rar.

Exemplo #2 Estilo procedural

<?php
$rar_arch = rar_open('commented.rar');
echo rar_comment_get($rar_arch);
?>


Get full list of entries from the RAR archive

  • « RarArchive::getComment
  • RarArchive::getEntry »
  • PHP Manual
  • RarArchive
  • Get full list of entries from the RAR archive

RarArchive::getEntries

rar_list

(PECL rar >= 2.0.0)

RarArchive::getEntries -- rar_list — Get full list of entries from the RAR archive

Descrição

Estilo orientado à objeto (method):

public RarArchive::getEntries ( ) : array|false

Estilo procedural:

rar_list ( RarArchive $rarfile ) : array|false

Get entries list (files and directories) from the RAR archive.

Nota:

If the archive has entries with the same name, this method, together with RarArchive foreach iteration and array-like access with numeric indexes, are the only ones to access all the entries (i.e., RarArchive::getEntry() and the rar:// wrapper are insufficient).

Parâmetros

rarfile

A RarArchive object, opened with rar_open().

Valor Retornado

rar_list() returns array of RarEntry objects ou false em caso de falha.

Changelog

Versão | Descrição
PECL rar 3.0.0 | Support for RAR archives with repeated entry names is no longer defective.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$rar_arch = RarArchive::open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");

$rar_entries = $rar_arch->getEntries();
if ($rar_entries === FALSE)
    die("Could not retrieve entries.");

echo "Found " . count($rar_entries) . " entries.\n";

foreach ($rar_entries as $e) {
    echo $e;
    echo "\n";
}
$rar_arch->close();
?>

O exemplo acima irá imprimir algo similar à:

Found 2 entries.
RarEntry for file "tese.txt" (23b93a7a)
RarEntry for file "unrardll.txt" (2ed64b6e)

Exemplo #2 Estilo procedural

<?php
$rar_arch = rar_open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");

$rar_entries = rar_list($rar_arch);
if ($rar_entries === FALSE)
    die("Could retrieve entries.");

echo "Found " . count($rar_entries) . " entries.\n";

foreach ($rar_entries as $e) {
    echo $e;
    echo "\n";
}
rar_close($rar_arch);
?>

Veja Também

  • RarArchive::getEntry() - Get entry object from the RAR archive
  • rar:// wrapper


Get entry object from the RAR archive

  • « RarArchive::getEntries
  • RarArchive::isBroken »
  • PHP Manual
  • RarArchive
  • Get entry object from the RAR archive

RarArchive::getEntry

rar_entry_get

(PECL rar >= 2.0.0)

RarArchive::getEntry -- rar_entry_get — Get entry object from the RAR archive

Descrição

Estilo orientado à objeto (method):

public RarArchive::getEntry ( string $entryname ) : RarEntry|false

Estilo procedural:

rar_entry_get ( RarArchive $rarfile , string $entryname ) : RarEntry|false

Get entry object (file or directory) from the RAR archive.

Nota:

You can also get entry objects using RarArchive::getEntries().

Note that a RAR archive can have multiple entries with the same name; this method will retrieve only the first.

Parâmetros

rarfile

A RarArchive object, opened with rar_open().

entryname

Path to the entry within the RAR archive.

Nota:

The path must be the same returned by RarEntry::getName().

Valor Retornado

Returns the matching RarEntry object ou false em caso de falha.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$rar_arch = RarArchive::open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");
$rar_entry = $rar_arch->getEntry('tese.txt');
if ($rar_entry === FALSE)
    die("Could not get such entry");
echo get_class($rar_entry)."\n";
echo $rar_entry;
$rar_arch->close();
?>

O exemplo acima irá imprimir algo similar à:

RarEntry
RarEntry for file "tese.txt" (23b93a7a)

Exemplo #2 Estilo procedural

<?php
$rar_arch = rar_open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");
$rar_entry = rar_entry_get($rar_arch, 'tese.txt');
if ($rar_entry === FALSE)
    die("Could not get such entry");
echo get_class($rar_entry)."\n";
echo $rar_entry;
rar_close($rar_arch);
?>

Veja Também

  • RarArchive::getEntries() - Get full list of entries from the RAR archive
  • rar:// wrapper


Test whether an archive is broken (incomplete)

  • « RarArchive::getEntry
  • RarArchive::isSolid »
  • PHP Manual
  • RarArchive
  • Test whether an archive is broken (incomplete)

RarArchive::isBroken

rar_broken_is

(PECL rar >= 3.0.0)

RarArchive::isBroken -- rar_broken_is — Test whether an archive is broken (incomplete)

Descrição

Estilo orientado à objeto (method):

public RarArchive::isBroken ( ) : bool

Estilo procedural:

rar_broken_is ( RarArchive $rarfile ) : bool

This function determines whether an archive is incomplete, i.e., if a volume is missing or a volume is truncated.

Parâmetros

rarfile

A RarArchive object, opened with rar_open().

Valor Retornado

Returns true if the archive is broken, false otherwise. This function may also return false if the passed file has already been closed. The only way to tell the two cases apart is to enable exceptions with RarException::setUsingExceptions(); however, this should be unnecessary as a program should not operate on closed files.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument is used to omit notice */
$arch = RarArchive::open($file, null, 'retnull');
var_dump($arch->isBroken());
?>

O exemplo acima irá imprimir algo similar à:

bool(true)

Exemplo #2 Estilo procedural

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument is used to omit notice */
$arch = rar_open($file, null, 'retnull');
var_dump(rar_broken_is($arch));
?>

Veja Também

  • RarArchive::setAllowBroken() - Whether opening broken archives is allowed


Check whether the RAR archive is solid

  • « RarArchive::isBroken
  • RarArchive::open »
  • PHP Manual
  • RarArchive
  • Check whether the RAR archive is solid

RarArchive::isSolid

rar_solid_is

(PECL rar >= 2.0.0)

RarArchive::isSolid -- rar_solid_is — Check whether the RAR archive is solid

Descrição

Estilo orientado à objeto (method):

public RarArchive::isSolid ( ) : bool

Estilo procedural:

rar_solid_is ( RarArchive $rarfile ) : bool

Check whether the RAR archive is solid. Individual file extraction is slower on solid archives.

Parâmetros

rarfile

A RarArchive object, opened with rar_open().

Valor Retornado

Returns true if the archive is solid, false otherwise.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$arch1 = RarArchive::open("store_method.rar");
$arch2 = RarArchive::open("solid.rar");
echo "$arch1: " . ($arch1->isSolid()?'yes':'no') ."\n";
echo "$arch2: " . ($arch2->isSolid()?'yes':'no') . "\n";
?>

O exemplo acima irá imprimir algo similar à:

RAR Archive "C:\php_rar\trunk\tests\store_method.rar": no
RAR Archive "C:\php_rar\trunk\tests\solid.rar": yes

Exemplo #2 Estilo procedural

<?php
$arch1 = rar_open("store_method.rar");
$arch2 = rar_open("solid.rar");
echo "$arch1: " . (rar_solid_is($arch1)?'yes':'no') ."\n";
echo "$arch2: " . (rar_solid_is($arch2)?'yes':'no') . "\n";
?>


Open RAR archive

  • « RarArchive::isSolid
  • RarArchive::setAllowBroken »
  • PHP Manual
  • RarArchive
  • Open RAR archive

RarArchive::open

rar_open

(PECL rar >= 2.0.0)

RarArchive::open -- rar_open — Open RAR archive

Descrição

Estilo orientado à objeto (method):

public static RarArchive::open ( string $filename , string $password = NULL , callable $volume_callback = NULL ) : RarArchive|false

Estilo procedural:

rar_open ( string $filename , string $password = NULL , callable $volume_callback = NULL ) : RarArchive|false

Open specified RAR archive and return RarArchive instance representing it.

Nota:

If opening a multi-volume archive, the path of the first volume should be passed as the first parameter. Otherwise, not all files will be shown. This is by design.

Parâmetros

filename

Path to the Rar archive.

password

A plain password, if needed to decrypt the headers. It will also be used by default if encrypted files are found. Note that the files may have different passwords in respect to the headers and among them.

volume_callback

A function that receives one parameter – the path of the volume that was not found – and returns a string with the correct path for such volume or null if such volume does not exist or is not known. The programmer should ensure the passed function doesn't cause loops as this function is called repeatedly if the path returned in a previous call did not correspond to the needed volume. Specifying this parameter omits the notice that would otherwise be emitted whenever a volume is not found; an implementation that only returns null can therefore be used to merely omit such notices.

Aviso

Prior to version 2.0.0, this function would not handle relative paths correctly. Use realpath() as a workaround.

Valor Retornado

Returns the requested RarArchive instance ou false em caso de falha.

Changelog

Versão | Descrição
PECL rar 3.0.0 | volume_callback was added.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$rar_arch = RarArchive::open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
    die("Failed opening file");

$entries = $rar_arch->getEntries();
if ($entries === FALSE)
    die("Failed fetching entries");

echo "Found " . count($entries) . " files.\n";

if (empty($entries))
    die("No valid entries found.");

$stream = reset($entries)->getStream();
if ($stream === FALSE)
    die("Failed opening first file");

$rar_arch->close();

echo "Content of first one follows:\n";
echo stream_get_contents($stream);

fclose($stream);
?>

O exemplo acima irá imprimir algo similar à:

Found 2 files.
Content of first one follows:
Encrypted file 1 contents.

Exemplo #2 Estilo procedural

<?php
$rar_arch = rar_open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
    die("Failed opening file");

$entries = rar_list($rar_arch);
if ($entries === FALSE)
    die("Failed fetching entries");

echo "Found " . count($entries) . " files.\n";

if (empty($entries))
    die("No valid entries found.");

$stream = reset($entries)->getStream();
if ($stream === FALSE)
    die("Failed opening first file");

rar_close($rar_arch);

echo "Content of first one follows:\n";
echo stream_get_contents($stream);

fclose($stream);
?>

Exemplo #3 Volume Callback

<?php
/* In this example, there's a volume named multi_broken.part1.rar
 * whose next volume is named multi.part2.rar */
function resolve($vol) {
    if (preg_match('/_broken/', $vol))
        return str_replace('_broken', '', $vol);
    else
        return null;
}
$rar_file1 = rar_open(dirname(__FILE__).'/multi_broken.part1.rar', null, 'resolve');
$entry = $rar_file1->getEntry('file2.txt');
$entry->extract(null, dirname(__FILE__) . "/temp_file2.txt");
?>

Veja Também

  • rar:// wrapper


Whether opening broken archives is allowed

  • « RarArchive::open
  • RarArchive::__toString »
  • PHP Manual
  • RarArchive
  • Whether opening broken archives is allowed

RarArchive::setAllowBroken

(PECL rar >= 3.0.0)

RarArchive::setAllowBroken — Whether opening broken archives is allowed

Descrição

Estilo orientado à objeto (method):

public RarArchive::setAllowBroken ( bool $allow_broken ) : bool

Estilo procedural:

rar_allow_broken_set ( RarArchive $rarfile , bool $allow_broken ) : bool

This method defines whether broken archives can be read or all the operations that attempt to extract the archive entries will fail. Broken archives are archives for which no error is detected when the file is opened but an error occurs when reading the entries.

Parâmetros

rarfile

A RarArchive object, opened with rar_open().

allow_broken

Whether to allow reading broken files (true) or not (false).

Valor Retornado

Returns true ou false em caso de falha. It will only fail if the file has already been closed.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument omits "volume not found" message */
$a = RarArchive::open($file, null, 'retnull');
$a->setAllowBroken(true);
foreach ($a->getEntries() as $e) {
    echo "$e\n";
}
var_dump(count($a));
?>

O exemplo acima irá imprimir algo similar à:

RarEntry for file "file1.txt" (52b28202)
int(1)

Exemplo #2 Estilo procedural

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument omits "volume not found" message */
$a = rar_open($file, null, 'retnull');
rar_allow_broken_set($a, true);
foreach (rar_list($a) as $e) {
    echo "$e\n";
}
var_dump(count($a));
?>

Veja Também

  • RarArchive::isBroken() - Test whether an archive is broken (incomplete)


Get text representation

  • « RarArchive::setAllowBroken
  • RarEntry »
  • PHP Manual
  • RarArchive
  • Get text representation

RarArchive::__toString

(PECL rar >= 2.0.0)

RarArchive::__toString — Get text representation

Descrição

public RarArchive::__toString ( ) : string

Provides a string representation for this RarArchive object. It currently shows the full path name of the archive volume that was opened and whether the resource is valid or was already closed through a call to RarArchive::close().

This method may be used only for debugging purposes, as there are no guarantees as to which information the result contains or how it is formatted.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A textual representation of this RarArchive object. The content of this representation is unspecified.

Exemplos

Exemplo #1 RarArchive::__toString() example

<?php
$rar_arch = RarArchive::open('latest_winrar.rar');
echo $rar_arch."\n";
$rar_arch->close();
echo $rar_arch."\n";
?>

O exemplo acima irá imprimir algo similar à:

RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar"
RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar" (closed)


The RarEntry class

(PECL rar >= 0.1)

Introdução

A RAR entry, representing a directory or a compressed file inside a RAR archive.

Sinopse da classe

final RarEntry {
/* Constantes */
const int HOST_MSDOS = 0 ;
const int HOST_OS2 = 1 ;
const int HOST_WIN32 = 2 ;
const int HOST_UNIX = 3 ;
const int HOST_MACOS = 4 ;
const int HOST_BEOS = 5 ;
const int ATTRIBUTE_WIN_READONLY = 1 ;
const int ATTRIBUTE_WIN_HIDDEN = 2 ;
const int ATTRIBUTE_WIN_SYSTEM = 4 ;
const int ATTRIBUTE_WIN_DIRECTORY = 16 ;
const int ATTRIBUTE_WIN_ARCHIVE = 32 ;
const int ATTRIBUTE_WIN_DEVICE = 64 ;
const int ATTRIBUTE_WIN_NORMAL = 128 ;
const int ATTRIBUTE_WIN_TEMPORARY = 256 ;
const int ATTRIBUTE_WIN_SPARSE_FILE = 512 ;
const int ATTRIBUTE_WIN_REPARSE_POINT = 1024 ;
const int ATTRIBUTE_WIN_COMPRESSED = 2048 ;
const int ATTRIBUTE_WIN_OFFLINE = 4096 ;
const int ATTRIBUTE_WIN_NOT_CONTENT_INDEXED = 8192 ;
const int ATTRIBUTE_WIN_ENCRYPTED = 16384 ;
const int ATTRIBUTE_WIN_VIRTUAL = 65536 ;
const int ATTRIBUTE_UNIX_WORLD_EXECUTE = 1 ;
const int ATTRIBUTE_UNIX_WORLD_WRITE = 2 ;
const int ATTRIBUTE_UNIX_WORLD_READ = 4 ;
const int ATTRIBUTE_UNIX_GROUP_EXECUTE = 8 ;
const int ATTRIBUTE_UNIX_GROUP_WRITE = 16 ;
const int ATTRIBUTE_UNIX_GROUP_READ = 32 ;
const int ATTRIBUTE_UNIX_OWNER_EXECUTE = 64 ;
const int ATTRIBUTE_UNIX_OWNER_WRITE = 128 ;
const int ATTRIBUTE_UNIX_OWNER_READ = 256 ;
const int ATTRIBUTE_UNIX_STICKY = 512 ;
const int ATTRIBUTE_UNIX_SETGID = 1024 ;
const int ATTRIBUTE_UNIX_SETUID = 2048 ;
const int ATTRIBUTE_UNIX_FINAL_QUARTET = 61440 ;
const int ATTRIBUTE_UNIX_FIFO = 4096 ;
const int ATTRIBUTE_UNIX_CHAR_DEV = 8192 ;
const int ATTRIBUTE_UNIX_DIRECTORY = 16384 ;
const int ATTRIBUTE_UNIX_BLOCK_DEV = 24576 ;
const int ATTRIBUTE_UNIX_REGULAR_FILE = 32768 ;
const int ATTRIBUTE_UNIX_SYM_LINK = 40960 ;
const int ATTRIBUTE_UNIX_SOCKET = 49152 ;
/* Métodos */
public extract ( string $dir , string $filepath = "" , string $password = NULL , bool $extended_data = false ) : bool
public getAttr ( ) : int
public getCrc ( ) : string
public getFileTime ( ) : string
public getHostOs ( ) : int
public getMethod ( ) : int
public getName ( ) : string
public getPackedSize ( ) : int
public getStream ( string $password = ? ) : resource|false
public getUnpackedSize ( ) : int
public getVersion ( ) : int
public isDirectory ( ) : bool
public isEncrypted ( ) : bool
public __toString ( ) : string
}

Constantes pré-definidas

RarEntry::HOST_MSDOS

If the return value of RarEntry::getHostOs() equals this constant, MS-DOS was used to add this entry. Use instead of RAR_HOST_MSDOS.

RarEntry::HOST_OS2

If the return value of RarEntry::getHostOs() equals this constant, OS/2 was used to add this entry. Intended to replace RAR_HOST_OS2.

RarEntry::HOST_WIN32

If the return value of RarEntry::getHostOs() equals this constant, Microsoft Windows was used to add this entry. Intended to replace RAR_HOST_WIN32.

RarEntry::HOST_UNIX

If the return value of RarEntry::getHostOs() equals this constant, an unspecified UNIX OS was used to add this entry. Intended to replace RAR_HOST_UNIX.

RarEntry::HOST_MACOS

If the return value of RarEntry::getHostOs() equals this constant, Mac OS was used to add this entry.

RarEntry::HOST_BEOS

If the return value of RarEntry::getHostOs() equals this constant, BeOS was used to add this entry. Intended to replace RAR_HOST_BEOS.

RarEntry::ATTRIBUTE_WIN_READONLY

Bit that represents a Windows entry with a read-only attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_HIDDEN

Bit that represents a Windows entry with a hidden attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_SYSTEM

Bit that represents a Windows entry with a system attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_DIRECTORY

Bit that represents a Windows entry with a directory attribute (entry is a directory). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows. See also RarEntry::isDirectory(), which also works with entries that were not added in WinRAR.

RarEntry::ATTRIBUTE_WIN_ARCHIVE

Bit that represents a Windows entry with an archive attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_DEVICE

Bit that represents a Windows entry with a device attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_NORMAL

Bit that represents a Windows entry with a normal file attribute (entry is NOT a directory). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows. See also RarEntry::isDirectory(), which also works with entries that were not added in WinRAR.

RarEntry::ATTRIBUTE_WIN_TEMPORARY

Bit that represents a Windows entry with a temporary attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_SPARSE_FILE

Bit that represents a Windows entry with a sparse file attribute (file is an NTFS sparse file). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_REPARSE_POINT

Bit that represents a Windows entry with a reparse point attribute (entry is an NTFS reparse point, e.g. a directory junction or a mount file system). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_COMPRESSED

Bit that represents a Windows entry with a compressed attribute (NTFS only). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_OFFLINE

Bit that represents a Windows entry with an offline attribute (entry is offline and not accessible). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_NOT_CONTENT_INDEXED

Bit that represents a Windows entry with a not content indexed attribute (entry is to be indexed). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_ENCRYPTED

Bit that represents a Windows entry with an encrypted attribute (NTFS only). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_VIRTUAL

Bit that represents a Windows entry with a virtual attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_UNIX_WORLD_EXECUTE

Bit that represents a UNIX entry that is world executable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_WORLD_WRITE

Bit that represents a UNIX entry that is world writable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_WORLD_READ

Bit that represents a UNIX entry that is world readable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_EXECUTE

Bit that represents a UNIX entry that is group executable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_WRITE

Bit that represents a UNIX entry that is group writable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_READ

Bit that represents a UNIX entry that is group readable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_EXECUTE

Bit that represents a UNIX entry that is owner executable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_WRITE

Bit that represents a UNIX entry that is owner writable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_READ

Bit that represents a UNIX entry that is owner readable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_STICKY

Bit that represents the UNIX sticky bit. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_SETGID

Bit that represents the UNIX setgid attribute. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_SETUID

Bit that represents the UNIX setuid attribute. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET

Mask to isolate the last four bits (nibble) of UNIX attributes
      (_S_IFMT, the type of file mask). To be used with
      RarEntry::getAttr() on entries whose host OS is UNIX and with the
      constants RarEntry::ATTRIBUTE_UNIX_FIFO,
      RarEntry::ATTRIBUTE_UNIX_CHAR_DEV,
      RarEntry::ATTRIBUTE_UNIX_DIRECTORY,
      RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV,
      RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE,
      RarEntry::ATTRIBUTE_UNIX_SYM_LINK and
      RarEntry::ATTRIBUTE_UNIX_SOCKET.

RarEntry::ATTRIBUTE_UNIX_FIFO

Unix FIFOs will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_CHAR_DEV

Unix character devices will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_DIRECTORY

Unix directories will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET. See also RarEntry::isDirectory(), which also works with entries that were added in other operating systems.

RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV

Unix block devices will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE

Unix regular files (not directories) will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET. See also RarEntry::isDirectory(), which also works with entries that were added in other operating systems.

RarEntry::ATTRIBUTE_UNIX_SYM_LINK

Unix symbolic links will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_SOCKET

Unix sockets will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

Índice

  • RarEntry::extract — Extract entry from the archive
  • RarEntry::getAttr — Get attributes of the entry
  • RarEntry::getCrc — Get CRC of the entry
  • RarEntry::getFileTime — Get entry last modification time
  • RarEntry::getHostOs — Get entry host OS
  • RarEntry::getMethod — Get pack method of the entry
  • RarEntry::getName — Get name of the entry
  • RarEntry::getPackedSize — Get packed size of the entry
  • RarEntry::getStream — Get file handler for entry
  • RarEntry::getUnpackedSize — Get unpacked size of the entry
  • RarEntry::getVersion — Get minimum version of RAR program required to unpack the entry
  • RarEntry::isDirectory — Test whether an entry represents a directory
  • RarEntry::isEncrypted — Test whether an entry is encrypted
  • RarEntry::__toString — Get text representation of entry


Extract entry from the archive

  • « RarEntry
  • RarEntry::getAttr »
  • PHP Manual
  • RarEntry
  • Extract entry from the archive

RarEntry::extract

(PECL rar >= 0.1)

RarEntry::extract — Extract entry from the archive

Descrição

public RarEntry::extract ( string $dir , string $filepath = "" , string $password = NULL , bool $extended_data = false ) : bool

RarEntry::extract() extracts the entry's data. It will create new file in the specified dir with the name identical to the entry's name, unless the second argument is specified. See below for more information.

Parâmetros

dir

Path to the directory where files should be extracted. This parameter is considered if and only if filepath is not. If both parameters are empty an extraction to the current directory will be attempted.

filepath

Path (relative or absolute) containing the directory and filename of the extracted file. This parameter overrides both the parameter dir and the original file name.

password

The password used to encrypt this entry. If the entry is not encrypted, this value will not be used and can be omitted. If this parameter is omitted and the entry is encrypted, the password given to rar_open(), if any, will be used. If a wrong password is given, either explicitly or implicitly via rar_open(), CRC checking will fail and this method will fail and return false. If no password is given and one is required, this method will fail and return false. You can check whether an entry is encrypted with RarEntry::isEncrypted().

extended_data

If true, extended information such as NTFS ACLs and Unix owner information will be set in the extract files, as long as it's present in the archive.

Aviso

Prior to version 2.0.0, this function would not handle relative paths correctly. Use realpath() as a workaround.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
PECL rar 3.0.0 | extended_data was added.
PECL rar 3.0.0 | Support for RAR archives with repeated entry names is no longer defective.

Exemplos

Exemplo #1 RarEntry::extract() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

$entry->extract('/dir/to'); // create /dir/to/Dir/file.txt
$entry->extract(false, '/dir/to/new_name.txt'); // create /dir/to/new_name.txt

?>

Exemplo #2 How to extract all files in archive:

<?php

/* example by Erik Jenssen aka erix */

$filename = "foobar.rar";
$filepath = "/home/foo/bar/";

$rar_file = rar_open($filepath.$filename);
$list = rar_list($rar_file);
foreach($list as $file) {
    $entry = rar_entry_get($rar_file, $file);
    $entry->extract("."); // extract to the current dir
}
rar_close($rar_file);

?>

Veja Também

  • RarEntry::getStream() - Get file handler for entry
  • rar:// wrapper


Get attributes of the entry

  • « RarEntry::extract
  • RarEntry::getCrc »
  • PHP Manual
  • RarEntry
  • Get attributes of the entry

RarEntry::getAttr

(PECL rar >= 0.1)

RarEntry::getAttr — Get attributes of the entry

Descrição

public RarEntry::getAttr ( ) : int

Returns the OS-dependent attributes of the archive entry.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the attributes or false on error.

Exemplos

Exemplo #1 RarEntry::getAttr() example

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entry = rar_entry_get($rar_file, 'dir/in/the/archive') or die("Can't find such entry");

$host_os = $entry->getHostOs();
$attr = $entry->getAttr();

switch($host_os) {
    case RAR_HOST_MSDOS:
    case RAR_HOST_OS2:
    case RAR_HOST_WIN32:
    case RAR_HOST_MACOS:
        printf("%c%c%c%c%c%c\n",
                ($attr & 0x08) ? 'V' : '.',
                ($attr & 0x10) ? 'D' : '.',
                ($attr & 0x01) ? 'R' : '.',
                ($attr & 0x02) ? 'H' : '.',
                ($attr & 0x04) ? 'S' : '.',
                ($attr & 0x20) ? 'A' : '.');
        break;
    case RAR_HOST_UNIX:
    case RAR_HOST_BEOS:
        switch ($attr & 0xF000)
        {
            case 0x4000:
                printf("d");
                break;
            case 0xA000:
                printf("l");
                break;
            default:
                printf("-");
                break;
        }
        printf("%c%c%c%c%c%c%c%c%c\n",
                ($attr & 0x0100) ? 'r' : '-',
                ($attr & 0x0080) ? 'w' : '-',
                ($attr & 0x0040) ? (($attr & 0x0800) ? 's':'x'):(($attr & 0x0800) ? 'S':'-'),
                ($attr & 0x0020) ? 'r' : '-',
                ($attr & 0x0010) ? 'w' : '-',
                ($attr & 0x0008) ? (($attr & 0x0400) ? 's':'x'):(($attr & 0x0400) ? 'S':'-'),
                ($attr & 0x0004) ? 'r' : '-',
                ($attr & 0x0002) ? 'w' : '-',
                ($attr & 0x0001) ? 'x' : '-');
        break;
}

rar_close($rar_file);

?>

Veja Também

  • RarEntry::getHostOs() - Get entry host OS
  • The constants in RarEntry


Get CRC of the entry

  • « RarEntry::getAttr
  • RarEntry::getFileTime »
  • PHP Manual
  • RarEntry
  • Get CRC of the entry

RarEntry::getCrc

(PECL rar >= 0.1)

RarEntry::getCrc — Get CRC of the entry

Descrição

public RarEntry::getCrc ( ) : string

Returns an hexadecimal string representation of the CRC of the archive entry.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the CRC of the archive entry or false on error.

Changelog

Versão | Descrição
PECL rar 2.0.0 | This method now returns correct values for multiple volume archives.


Get entry last modification time

  • « RarEntry::getCrc
  • RarEntry::getHostOs »
  • PHP Manual
  • RarEntry
  • Get entry last modification time

RarEntry::getFileTime

(PECL rar >= 0.1)

RarEntry::getFileTime — Get entry last modification time

Descrição

public RarEntry::getFileTime ( ) : string

Gets entry last modification time.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns entry last modification time as string in format YYYY-MM-DD HH:II:SS, or false on error.


Get entry host OS

  • « RarEntry::getFileTime
  • RarEntry::getMethod »
  • PHP Manual
  • RarEntry
  • Get entry host OS

RarEntry::getHostOs

(PECL rar >= 0.1)

RarEntry::getHostOs — Get entry host OS

Descrição

public RarEntry::getHostOs ( ) : int

Returns the code of the host OS of the archive entry.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the code of the host OS, or false on error.

Exemplos

Exemplo #1 RarEntry::getHostOs() example (version >= 2.0.0)

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

switch ($entry->getHostOs()) {
    case RarEntry::HOST_MSDOS:
        echo "MS-DOS\n";
        break;
    case RarEntry::HOST_OS2:
        echo "OS2\n";
        break;
    case RarEntry::HOST_WIN32:
        echo "Win32\n";
        break;
    case RarEntry::HOST_MACOS:
        echo "MacOS\n";
        break;
    case RarEntry::HOST_UNIX:
        echo "Unix/Linux\n";
        break;
    case RarEntry::HOST_BEOS:
        echo "BeOS\n";
        break;
}

?>

Exemplo #2 RarEntry::getHostOs() example (version <= 1.0.0)

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

switch ($entry->getHostOs()) {
    case RAR_HOST_MSDOS:
        echo "MS-DOS\n";
        break;
    case RAR_HOST_OS2:
        echo "OS2\n";
        break;
    case RAR_HOST_WIN32:
        echo "Win32\n";
        break;
    case RAR_HOST_MACOS:
        echo "MacOS\n";
        break;
    case RAR_HOST_UNIX:
        echo "Unix/Linux\n";
        break;
    case RAR_HOST_BEOS:
        echo "BeOS\n";
        break;
}

?>

Veja Também

  • RarEntry::extract() - Extract entry from the archive


Get pack method of the entry

  • « RarEntry::getHostOs
  • RarEntry::getName »
  • PHP Manual
  • RarEntry
  • Get pack method of the entry

RarEntry::getMethod

(PECL rar >= 0.1)

RarEntry::getMethod — Get pack method of the entry

Descrição

public RarEntry::getMethod ( ) : int

RarEntry::getMethod() returns number of the method used when adding current archive entry.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the method number or false on error.

Exemplos

Exemplo #1 RarEntry::getMethod() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Method number: " . $entry->getMethod();

?>


Get name of the entry

  • « RarEntry::getMethod
  • RarEntry::getPackedSize »
  • PHP Manual
  • RarEntry
  • Get name of the entry

RarEntry::getName

(PECL rar >= 0.1)

RarEntry::getName — Get name of the entry

Descrição

public RarEntry::getName ( ) : string

Returns the name (with path) of the archive entry.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the entry name as a string, or false on error.

Changelog

Versão | Descrição
PECL rar 2.0.0 | As of version 2.0.0, the returned string is encoded in Unicode/UTF-8.

Exemplos

Exemplo #1 RarEntry::getName() example

<?php

//this example is safe even in pages not encoded in UTF-8
//for those encoded in UTF-8, the call to mb_convert_encoding is unnecessary

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Entry name: " . mb_convert_encoding(
    htmlentities(
        $entry->getName(),
        ENT_COMPAT,
        "UTF-8"
    ),
    "HTML-ENTITIES",
    "UTF-8"
);

?>


Get packed size of the entry

  • « RarEntry::getName
  • RarEntry::getStream »
  • PHP Manual
  • RarEntry
  • Get packed size of the entry

RarEntry::getPackedSize

(PECL rar >= 0.1)

RarEntry::getPackedSize — Get packed size of the entry

Descrição

public RarEntry::getPackedSize ( ) : int

Get packed size of the archive entry.

Nota:

Note that on platforms with 32-bit longs (that includes Windows x64), the maximum size returned is capped at 2 GiB. Check the constant PHP_INT_MAX.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the packed size, or false on error.

Changelog

Versão | Descrição
PECL rar 2.0.0 | This method now returns correct values of packed sizes bigger than 2 GiB on platforms with 64-bit ints and never returns negative values on other platforms.

Exemplos

Exemplo #1 RarEntry::getPackedSize() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Packed size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>


Get file handler for entry

  • « RarEntry::getPackedSize
  • RarEntry::getUnpackedSize »
  • PHP Manual
  • RarEntry
  • Get file handler for entry

RarEntry::getStream

(PECL rar >= 2.0.0)

RarEntry::getStream — Get file handler for entry

Descrição

public RarEntry::getStream ( string $password = ? ) : resource|false

Returns a file handler that supports read operations. This handler provides on-the-fly decompression for this entry.

The handler is not invalidated by calling rar_close().

Aviso

The resulting stream has no integrity verification. In particular, file corruption and decryption with a wrong a key will not be detected. It is the programmer's responsability to use the entry's CRC to check for integrity, if he so wishes.

Parâmetros

password

The password used to encrypt this entry. If the entry is not encrypted, this value will not be used and can be omitted. If this parameter is omitted and the entry is encrypted, the password given to rar_open(), if any, will be used. If a wrong password is given, either explicitly or implicitly via rar_open(), this method's resulting stream will produce wrong output. If no password is given and one is required, this method will fail and return false. You can check whether an entry is encrypted with RarEntry::isEncrypted().

Valor Retornado

The file handler ou false em caso de falha.

Changelog

Versão | Descrição
PECL rar 3.0.0 | Support for RAR archives with repeated entry names is no longer defective.

Exemplos

Exemplo #1 RarEntry::getStream() example

<?php

$rar_file = rar_open('example.rar');
if ($rar_file === false)
    die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt');
if ($entry === false)
    die("Failed to find such entry");

$stream = $entry->getStream();
if ($stream === false)
    die("Failed to obtain stream.");

rar_close($rar_file); //stream is independent from file

while (!feof($stream)) {
    $buff = fread($stream, 8192);
    if ($buff !== false)
        echo $buff;
    else
        break; //fread error
}

fclose($stream);

?>

Veja Também

  • RarEntry::extract() - Extract entry from the archive
  • rar:// wrapper


Get unpacked size of the entry

  • « RarEntry::getStream
  • RarEntry::getVersion »
  • PHP Manual
  • RarEntry
  • Get unpacked size of the entry

RarEntry::getUnpackedSize

(PECL rar >= 0.1)

RarEntry::getUnpackedSize — Get unpacked size of the entry

Descrição

public RarEntry::getUnpackedSize ( ) : int

Get unpacked size of the archive entry.

Nota:

Note that on platforms with 32-bit longs (that includes Windows x64), the maximum size returned is capped at 2 GiB. Check the constant PHP_INT_MAX.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the unpacked size, or false on error.

Changelog

Versão | Descrição
PECL rar 2.0.0 | This method now returns correct values of unpacked sizes bigger than 2 GiB on platforms with 64-bit ints and never returns negative values on other platforms.

Valor Retornado

Exemplo #1 RarEntry::getUnpackedSize() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Unpacked size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>


Get minimum version of RAR program required to unpack the entry

  • « RarEntry::getUnpackedSize
  • RarEntry::isDirectory »
  • PHP Manual
  • RarEntry
  • Get minimum version of RAR program required to unpack the entry

RarEntry::getVersion

(PECL rar >= 0.1)

RarEntry::getVersion — Get minimum version of RAR program required to unpack the entry

Descrição

public RarEntry::getVersion ( ) : int

Returns minimum version of RAR program (e.g. WinRAR) required to unpack the entry. It is encoded as 10 * major version + minor version.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the version or false on error.

Exemplos

Exemplo #1 RarEntry::getVersion() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Rar version required for unpacking: " . $entry->getVersion();

?>


Test whether an entry represents a directory

  • « RarEntry::getVersion
  • RarEntry::isEncrypted »
  • PHP Manual
  • RarEntry
  • Test whether an entry represents a directory

RarEntry::isDirectory

(PECL rar >= 2.0.0)

RarEntry::isDirectory — Test whether an entry represents a directory

Descrição

public RarEntry::isDirectory ( ) : bool

Tests whether the current entry is a directory.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if this entry is a directory and false otherwise.

Notas

This function is only available starting with version 2.0.0, but one can also test whether an entry is a directory by checking the entry attributes, like this (only works for files compressed in RAR for Windows or Unix):

<?php
//...
//Open file, get entry and store in variable $e...
//...

$isDirectory = (bool) ((($e->getHostOs() == RAR_HOST_WIN32) && ($e->getAttr() & 0x10)) ||
    (($e->getHostOs() == RAR_HOST_UNIX) && (($e->getAttr() & 0xf000) == 0x4000)));
?>


Test whether an entry is encrypted

  • « RarEntry::isDirectory
  • RarEntry::__toString »
  • PHP Manual
  • RarEntry
  • Test whether an entry is encrypted

RarEntry::isEncrypted

(PECL rar >= 2.0.0)

RarEntry::isEncrypted — Test whether an entry is encrypted

Descrição

public RarEntry::isEncrypted ( ) : bool

Tests whether the current entry contents are encrypted.

Nota:

The password used may differ between files inside the same RAR archive.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the current entry is encrypted and false otherwise.


Get text representation of entry

  • « RarEntry::isEncrypted
  • RarException »
  • PHP Manual
  • RarEntry
  • Get text representation of entry

RarEntry::__toString

(PECL rar >= 2.0.0)

RarEntry::__toString — Get text representation of entry

Descrição

public RarEntry::__toString ( ) : string

RarEntry::__toString() returns a textual representation for this entry. It includes whether the entry is a file or a directory (symbolic links and other special objects will be treated as files), the UTF-8 name of the entry and its CRC. The form and content of this representation may be changed in the future, so they cannot be relied upon.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A textual representation for the entry.


The RarException class

(PECL rar >= 2.0.0)

Introdução

This class serves two purposes: it is the type of the exceptions thrown by the RAR extension functions and methods and it allows, through static methods to query and define the error behaviour of the extension, i.e., whether exceptions are thrown or only warnings are emitted.

The following error codes are used:

  • -1 - error outside UnRAR library
  • 11 - insufficient memory
  • 12 - bad data
  • 13 - bad archive
  • 14 - unknown format
  • 15 - file open error
  • 16 - file create error
  • 17 - file close error
  • 18 - read error
  • 19 - write error
  • 20 - buffer too small
  • 21 - unknown RAR error
  • 22 - password required but not given

Sinopse da classe

final RarException extends Exception {
/* Métodos */
public static isUsingExceptions ( ) : bool
public static setUsingExceptions ( bool $using_exceptions ) : void
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Índice

  • RarException::isUsingExceptions — Check whether error handling with exceptions is in use
  • RarException::setUsingExceptions — Activate and deactivate error handling with exceptions


Check whether error handling with exceptions is in use

  • « RarException
  • RarException::setUsingExceptions »
  • PHP Manual
  • RarException
  • Check whether error handling with exceptions is in use

RarException::isUsingExceptions

(PECL rar >= 2.0.0)

RarException::isUsingExceptions — Check whether error handling with exceptions is in use

Descrição

public static RarException::isUsingExceptions ( ) : bool

Checks whether the RAR functions will emit warnings and return error values or whether they will throw exceptions in most of the circumstances (does not include some programmatic errors such as passing the wrong type of arguments).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if exceptions are being used, false otherwise.

Exemplos

Exemplo #1 RarException::isUsingExceptions() example

<?php
//The default is not to use exceptions
var_dump(RarException::isUsingExceptions());
?>

O exemplo acima irá imprimir algo similar à:

bool(false)

Veja Também

  • RarException::setUsingExceptions() - Activate and deactivate error handling with exceptions


Activate and deactivate error handling with exceptions

  • « RarException::isUsingExceptions
  • Zip »
  • PHP Manual
  • RarException
  • Activate and deactivate error handling with exceptions

RarException::setUsingExceptions

(PECL rar >= 2.0.0)

RarException::setUsingExceptions — Activate and deactivate error handling with exceptions

Descrição

public static RarException::setUsingExceptions ( bool $using_exceptions ) : void

If and only if the argument is true, then, instead of emitting warnings and returning a special value indicating error when the UnRAR library encounters an error, an exception of type RarException will be thrown.

Exceptions will also be thrown for the following errors, which occur outside the library (their error code will be -1):

  • attempting some operations on a closed RarArchive object or a RarEntry object relative to the first;
  • attempting to get an entry that does not exist with RarArchive::getEntry().

Parâmetros

using_exceptions

Should be true to activate exception throwing, false to deactivate (the default).

Exemplos

Exemplo #1 RarException::setUsingExceptions() example

<?php
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch);

RarException::setUsingExceptions(true);
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch); //not reached
?>

O exemplo acima irá imprimir algo similar à:

bool(false)

Warning: RarArchive::open(): Failed to open does_not_exist.rar: ERAR_EOPEN (file open error) in C:\php_rar\trunk\tests\test.php on line 3
bool(false)
bool(true)

Fatal error: Uncaught exception 'RarException' with message 'unRAR internal error: Failed to open does_not_exist.rar: ERAR_EOPEN (file open error)' in C:\php_rar\trunk\tests\test.php:8
Stack trace:
#0 C:\php_rar\trunk\tests\test.php(8): RarArchive::open('does_not_exist....')
#1 {main}
  thrown in C:\php_rar\trunk\tests\test.php on line 8

Veja Também

  • RarException::isUsingExceptions() - Check whether error handling with exceptions is in use


Zip

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • ZipArchive — A classe ZipArchive
    • ZipArchive::addEmptyDir — Add a new directory
    • ZipArchive::addFile — Adds a file to a ZIP archive from the given path
    • ZipArchive::addFromString — Add a file to a ZIP archive using its contents
    • ZipArchive::addGlob — Add files from a directory by glob pattern
    • ZipArchive::addPattern — Add files from a directory by PCRE pattern
    • ZipArchive::close — Close the active archive (opened or newly created)
    • ZipArchive::count — Counts the number of files in the archive
    • ZipArchive::deleteIndex — Delete an entry in the archive using its index
    • ZipArchive::deleteName — Delete an entry in the archive using its name
    • ZipArchive::extractTo — Extract the archive contents
    • ZipArchive::getArchiveComment — Returns the Zip archive comment
    • ZipArchive::getCommentIndex — Returns the comment of an entry using the entry index
    • ZipArchive::getCommentName — Returns the comment of an entry using the entry name
    • ZipArchive::getExternalAttributesIndex — Retrieve the external attributes of an entry defined by its index
    • ZipArchive::getExternalAttributesName — Retrieve the external attributes of an entry defined by its name
    • ZipArchive::getFromIndex — Returns the entry contents using its index
    • ZipArchive::getFromName — Returns the entry contents using its name
    • ZipArchive::getNameIndex — Returns the name of an entry using its index
    • ZipArchive::getStatusString — Returns the status error message, system and/or zip messages
    • ZipArchive::getStream — Get a file handler to the entry defined by its name (read only)
    • ZipArchive::isCompressionMethodSupported — Check if a compression method is supported by libzip
    • ZipArchive::isEncryptionMethodSupported — Check if a encryption method is supported by libzip
    • ZipArchive::locateName — Returns the index of the entry in the archive
    • ZipArchive::open — Open a ZIP file archive
    • ZipArchive::registerCancelCallback — Register a callback to allow cancellation during archive close.
    • ZipArchive::registerProgressCallback — Register a callback to provide updates during archive close.
    • ZipArchive::renameIndex — Renames an entry defined by its index
    • ZipArchive::renameName — Renames an entry defined by its name
    • ZipArchive::replaceFile — Replace file in ZIP archive with a given path
    • ZipArchive::setArchiveComment — Set the comment of a ZIP archive
    • ZipArchive::setCommentIndex — Set the comment of an entry defined by its index
    • ZipArchive::setCommentName — Set the comment of an entry defined by its name
    • ZipArchive::setCompressionIndex — Set the compression method of an entry defined by its index
    • ZipArchive::setCompressionName — Set the compression method of an entry defined by its name
    • ZipArchive::setEncryptionIndex — Set the encryption method of an entry defined by its index
    • ZipArchive::setEncryptionName — Set the encryption method of an entry defined by its name
    • ZipArchive::setExternalAttributesIndex — Set the external attributes of an entry defined by its index
    • ZipArchive::setExternalAttributesName — Set the external attributes of an entry defined by its name
    • ZipArchive::setMtimeIndex — Set the modification time of an entry defined by its index
    • ZipArchive::setMtimeName — Set the modification time of an entry defined by its name
    • ZipArchive::setPassword — Set the password for the active archive
    • ZipArchive::statIndex — Get the details of an entry defined by its index
    • ZipArchive::statName — Get the details of an entry defined by its name
    • ZipArchive::unchangeAll — Undo all changes done in the archive
    • ZipArchive::unchangeArchive — Revert all global changes done in the archive
    • ZipArchive::unchangeIndex — Revert all changes done to an entry at the given index
    • ZipArchive::unchangeName — Revert all changes done to an entry with the given name
  • Funções para Zip
    • zip_close — Fecha um arquivo ZIP
    • zip_entry_close — Fecha o arquivo que está aberto
    • zip_entry_compressedsize — Recupera o tamanho compactado do arquivo que está dentro do arquivo ZIP
    • zip_entry_compressionmethod — Recupera qual o método de compressão foi utilizado no arquivo
    • zip_entry_filesize — Retorna o tamanho de um diretório de entrada
    • zip_entry_name — Retorna o nome do arquivo
    • zip_entry_open — Abre um arquivo do arquivo ZIP
    • zip_entry_read — Lê de um arquivo aberto
    • zip_open — Abre um arquivo ZIPado
    • zip_read — Lê a próxima entrada em um arquivo ZIPado


Introdução

Esta extenção habilita você a ler ou escrever arquivos ZIP e os arquivos compactados internamente.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

Esta extensão tem como requisito a biblioteca » libzip que vem com o PHP.


Instalação

Sistemas Linux

Para utilizar esta função com suporte ao zip é necessário compilar o PHP utilizando a opção de configuração --enable-zip

A partir do PHP 5.6.0 a configuração --with-libzip=DIR foi adicionada para utilizar uma instalação do libzip do sistema. É preciso ter a versão 0.11, sendo a 0.11.2 ou superior a recomendada.

A partir do PHP 7.3.0, compilar sem a libzip interna não é recomendado, mas ainda possível adicionando a opção --without-libzip

Windows

A partir do PHP 5.3, esta extensão se tornou interna do PHP. Antes, os usuários do Windows precisavem habilitar php_zip.dll dentro do php.ini para utilizar esta função;

Instalação via PECL

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/zip.


Tipos de Recurso

Há dois tipos de tipos de recursos neste módulo. O primeiro é um Zip directory para arquivo Zip, o segundo Zip Entry para entradas de arquivos.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

ZipArchive utiliza constantes de classe. Há três tipos de constantes: Flags (prefixadas com FL_), erros (prefixados com ER_) e modo (sem prefixo).

ZipArchive::CREATE (integer)
Cria o arquivo se ele não existir.
ZIPARCHIVE::OVERWRITE (integer)
Se o arquivo existir, ignora o conteúdo atual. Em outras palavras, funciona da mesma fora que um arquivo vazio
ZipArchive::EXCL (integer)
Emite erro se o arquivo já existir.
ZipArchive::RDONLY (integer)
Open archive in read only mode. Available as of PHP 7.4.3 and PECL zip 1.17.1, respectively, if built against libzip = 1.0.0.
ZipArchive::CHECKCONS (integer)
Executa uma verificação adicional de consistência no arquivo, e emite erro se ele falhar.
ZipArchive::FL_NOCASE (integer)
Ignora maiúsculo e minúsculo no nome.
ZipArchive::FL_NODIR (integer)
Ignora componentes de diretório.
ZipArchive::FL_COMPRESSED (integer)
Lê a informação comprimida.
ZipArchive::FL_UNCHANGED (integer)
Usa os dados originais, ignorando mudanças.
ZipArchive::FL_RECOMPRESS (integer)
Forçar a recompressão de dados. disponível a partir do PHP 8.0.0 e PECL zip 1.18.0.
ZipArchive::FL_ENCRYPTED (integer)
Ler dados criptografados (implica FL_COMPRESSED). Disponível a partir do PHP 8.0.0 e PECL zip 1.18.0.
ZipArchive::FL_OVERWRITE (integer)
Se o arquivo com nome existir, substitua-o (replace). Disponível a partir do PHP 8.0.0 e PECL zip 1.18.0.
ZipArchive::FL_LOCAL (integer)
No cabeçalho local. Disponível a partir do PHP 8.0.0 e PECL zip 1.18.0.
ZipArchive::ZIP_FL_CENTRAL (integer)
No diretório central. Disponível a partir do PHP 8.0.0 e PECL zip 1.18.0.
ZipArchive::FL_ENC_GUESS (integer)
Melhor para descompactar ou armazenar. Disponível no PHP 7.0.8.
ZipArchive::FL_ENC_RAW (integer)
Obtém sem modificações. Disponível no of PHP 7.0.8.
ZipArchive::FL_ENC_STRICT (integer)
Segue a especificação estritamente. Disponível no PHP 7.0.8.
ZipArchive::FL_ENC_UTF_8 (integer)
Strings codificadas como UTF-8 encoded. Disponível no PHP 7.0.8.
ZipArchive::FL_ENC_CP437 (integer)
Strings codificadas como CP437. Disponível no PHP 7.0.8.
ZipArchive::CM_DEFAULT (integer)
better of deflate or store.
ZipArchive::CM_STORE (integer)
stored (uncompressed).
ZipArchive::CM_SHRINK (integer)
shrunk
ZipArchive::CM_REDUCE_1 (integer)
Compressão com fator 1
ZipArchive::CM_REDUCE_2 (integer)
Compressão com fator 2
ZipArchive::CM_REDUCE_3 (integer)
Compressão com fator 3
ZipArchive::CM_REDUCE_4 (integer)
Compressão com fator 4
ZipArchive::CM_IMPLODE (integer)
Implode
ZipArchive::CM_DEFLATE (integer)
descompactado
ZipArchive::CM_DEFLATE64 (integer)
deflate64
ZipArchive::CM_PKWARE_IMPLODE (integer)
Compactação PKWARE
ZipArchive::CM_BZIP2 (integer)
Algoritmo BZIP2
ZipArchive::CM_LZMA (integer)
Algoritmo LZMA
ZipArchive::CM_LZMA2 (integer)
Algoritmo LZMA2. Disponível a partir do PHP 7.4.3 e PECL zip 1.16.0, respectivamente, se compilado com libzip = 1.6.0.
ZipArchive::CM_XZ (integer)
Algoritmo XZ. Disponível a partir do PHP 7.4.3 e PECL zip 1.16.1, respectivamente, se compilado com libzip = 1.6.0.
ZipArchive::ER_OK (integer)
Sem erro.
ZipArchive::ER_MULTIDISK (integer)
Arquivos Multi-disk zip não suportados.
ZipArchive::ER_RENAME (integer)
Renomeia arquivo temporário falhado.
ZipArchive::ER_CLOSE (integer)
Fecha arquivo zip falhado
ZipArchive::ER_SEEK (integer)
Procura o erro
ZipArchive::ER_READ (integer)
Lê o erro
ZipArchive::ER_WRITE (integer)
Escreve o erro
ZipArchive::ER_CRC (integer)
CRC error
ZipArchive::ER_ZIPCLOSED (integer)
Containing zip archive was closed
ZipArchive::ER_NOENT (integer)
Arquivo não encontrado.
ZipArchive::ER_EXISTS (integer)
Arquivo já existente.
ZipArchive::ER_OPEN (integer)
Não foi possível abrir o arquivo.
ZipArchive::ER_TMPOPEN (integer)
Falha ao criar arquivo temporário.
ZipArchive::ER_ZLIB (integer)
Erro da Zlib
ZipArchive::ER_MEMORY (integer)
Falha na alocação de memória.
ZipArchive::ER_CHANGED (string)
Entrada foi modificada.
ZipArchive::ER_COMPNOTSUPP (integer)
Método de compressão não suportado.
ZipArchive::ER_EOF (integer)
Prematuro EOF
ZipArchive::ER_INVAL (integer)
Argumento inválido.
ZipArchive::ER_NOZIP (integer)
Não é um arquivo zip.
ZipArchive::ER_INTERNAL (integer)
Erro interno.
ZipArchive::ER_INCONS (integer)
Arquivo Zip inconsistente.
ZipArchive::ER_REMOVE (integer)
Não foi possível remove o arquivo.
ZipArchive::ER_DELETED (integer)
Entrada foi deletada.
ZipArchive::ER_ENCRNOTSUPP (integer)
Método de criptografia não suportado. Disponível a partir do PHP 7.4.3 e PECL zip 1.16.1, respectivamente.
ZipArchive::ER_RDONLY (integer)
Arquivo somente de leitura. Disponível a partir do PHP 7.4.3 e PECL zip 1.16.1, respectivamente.
ZipArchive::ER_NOPASSWD (integer)
Nenhuma senha fornecida. Disponível a partir do PHP 7.4.3 e PECL zip 1.16.1, respectivamente.
ZipArchive::ER_WRONGPASSWD (integer)
Senha incorreta fornecida. Disponível a partir do PHP 7.4.3 e PECL zip 1.16.1, respectivamente.
ZipArchive::ZIP_ER_OPNOTSUPP (integer)
Operação não suportada. Disponível a partir do PHP 7.4.3 e PECL zip 1.16.1, respectivamente, se compilado com libzip = 1.0.0.
ZipArchive::ZIP_ER_INUSE (integer)
Recurso ainda em uso. Disponível a partir do PHP 7.4.3 e PECL zip 1.16.1, respectivamente, se compilado com libzip = 1.0.0.
ZipArchive::ZIP_ER_TELL (integer)
Informar erro. Disponível a partir do PHP 7.4.3 e PECL zip 1.16.1, respectivamente, se compilado com libzip = 1.0.0.
ZipArchive::ZIP_ER_COMPRESSED_DATA (integer)
Dados compactados inválidos.. Disponível a partir do PHP 7.4.3 e PECL zip 1.16.1, respectivamente, Se compilado com libzip = 1.6.0.
ZipArchive::ER_CANCELLED (integer)
Operação cancelada. Disponível a partir do PHP 7.4.3 e PECL zip 1.16.1, respectivamente, se compilado com libzip = 1.6.0.
ZipArchive::EM_NONE (integer)
Sem criptografia, a partir do PHP 7.2.0, PECL zip 1.14.0, respectivamente, se compilado com libzip = 1.2.0.
ZipArchive::EM_AES_128 (integer)
Criptografia AES 128, a partir do PHP 7.2.0, PECL zip 1.14.0, respectivamente, se compilado com libzip = 1.2.0.
ZipArchive::EM_AES_192 (integer)
Criptografia AES 192, a partir do PHP 7.2.0 e PECL zip 1.14.0, respectivamente, se compilado com libzip = 1.2.0.
ZipArchive::EM_AES_256 (integer)
Criptografia AES 256, a partir do PHP 7.2.0, PECL zip 1.14.0, respectivamente, se compilado com libzip = 1.2.0.
ZipArchive::LIBZIP_VERSION (string)
Versão da biblioteca Zip. Disponível a partir do PHP 7.4.3 e PECL zip 1.16.0.
Constantes para atributos externos
ZipArchive::OPSYS_DOS (integer)
ZipArchive::OPSYS_AMIGA (integer)
ZipArchive::OPSYS_OPENVMS (integer)
ZipArchive::OPSYS_UNIX (integer)
ZipArchive::OPSYS_VM_CMS (integer)
ZipArchive::OPSYS_ATARI_ST (integer)
ZipArchive::OPSYS_OS_2 (integer)
ZipArchive::OPSYS_MACINTOSH (integer)
ZipArchive::OPSYS_Z_SYSTEM (integer)
ZipArchive::OPSYS_CPM (integer)
ZipArchive::OPSYS_WINDOWS_NTFS (integer)
ZipArchive::OPSYS_MVS (integer)
ZipArchive::OPSYS_VSE (integer)
ZipArchive::OPSYS_ACORN_RISC (integer)
ZipArchive::OPSYS_VFAT (integer)
ZipArchive::OPSYS_ALTERNATE_MVS (integer)
ZipArchive::OPSYS_BEOS (integer)
ZipArchive::OPSYS_TANDEM (integer)
ZipArchive::OPSYS_OS_400 (integer)
ZipArchive::OPSYS_OS_X (integer)
ZipArchive::OPSYS_DEFAULT (integer)
a partir do PHP 5.6.0, PECL zip 1.12.4


Exemplos

Exemplo #1 Criando um arquivo Zip

<?php

$zip = new ZipArchive();
$filename = "./test112.zip";

if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
}

$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n");
$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();
?>

Exemplo #2 Exibindo detalhes dos arquivos e listando-os

<?php
$za = new ZipArchive();

$za->open('test_with_comment.zip');
print_r($za);
var_dump($za);
echo "numFiles: " . $za->numFiles . "\n";
echo "status: " . $za->status  . "\n";
echo "statusSys: " . $za->statusSys . "\n";
echo "filename: " . $za->filename . "\n";
echo "comment: " . $za->comment . "\n";

for ($i=0; $i<$za->numFiles;$i++) {
    echo "index: $i\n";
    print_r($za->statIndex($i));
}
echo "numFile:" . $za->numFiles . "\n";
?>

Exemplo #3 Zip stream wrapper, lendo um OpenOffice meta info

<?php
$reader = new XMLReader();

$reader->open('zip://' . dirname(__FILE__) . '/test.odt#meta.xml');
$odt_meta = array();
while ($reader->read()) {
    if ($reader->nodeType == XMLREADER::ELEMENT) {
        $elm = $reader->name;
    } else {
        if ($reader->nodeType == XMLREADER::END_ELEMENT && $reader->name == 'office:meta') {
            break;
        }
        if (!trim($reader->value)) {
            continue;
        }
        $odt_meta[$elm] = $reader->value;
    }
}
print_r($odt_meta);
?>

Este exemplo usa a velha API (PHP 4), ela abre um arquivo ZIP, ler cada arquivo do arquivo e imprime o conteúdo deles. O arquivo test2.zip usado neste exemplo é um arquivo de teste do fonte da distruição ZZIPlib.

Exemplo #4 Exemplo de uso

<?php

$zip = zip_open("/tmp/test2.zip");

if ($zip) {
    while ($zip_entry = zip_read($zip)) {
        echo "Name:               " . zip_entry_name($zip_entry) . "\n";
        echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";
        echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";
        echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {
            echo "File Contents:\n";
            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            echo "$buf\n";

            zip_entry_close($zip_entry);
        }
        echo "\n";

    }

    zip_close($zip);

}
?>


A classe ZipArchive

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

Introdução

Arquivar um ou mais arquivos, compactando com Zip.

Sinopse da classe

ZipArchive {
/* Propriedades */
/* Métodos */
public addEmptyDir ( string $dirname , int $flags = 0 ) : bool
public addFile ( string $filepath , string $entryname = "" , int $start = 0 , int $length = 0 , int $flags = ZipArchive::FL_OVERWRITE ) : bool
public addFromString ( string $name , string $content , int $flags = ZipArchive::FL_OVERWRITE ) : bool
public addGlob ( string $pattern , int $flags = 0 , array $options = [] ) : array|false
public addPattern ( string $pattern , string $path = "." , array $options = [] ) : array|false
public close ( ) : bool
public count ( ) : int
public deleteIndex ( int $index ) : bool
public deleteName ( string $name ) : bool
public extractTo ( string $pathto , array|string|null $files = null ) : bool
public getArchiveComment ( int $flags = 0 ) : string|false
public getCommentIndex ( int $index , int $flags = 0 ) : string|false
public getCommentName ( string $name , int $flags = 0 ) : string|false
public GetExternalAttributesIndex ( int $index , int &$opsys , int &$attr , int $flags = ? ) : bool
public getExternalAttributesName ( string $name , int &$opsys , int &$attr , int $flags = 0 ) : bool
public getFromIndex ( int $index , int $len = 0 , int $flags = 0 ) : string|false
public getFromName ( string $name , int $len = 0 , int $flags = 0 ) : string|false
public getNameIndex ( int $index , int $flags = 0 ) : string|false
public getStatusString ( ) : string
public getStream ( string $name ) : resource|false
public static isCompressionMethodSupported ( int $method , bool $enc = true ) : bool
public static isEncryptionMethodSupported ( int $method , bool $enc = true ) : bool
public locateName ( string $name , int $flags = 0 ) : int|false
public open ( string $filename , int $flags = 0 ) : bool|int
public registerCancelCallback ( callable $callback ) : bool
public registerProgressCallback ( float $rate , callable $callback ) : bool
public renameIndex ( int $index , string $new_name ) : bool
public renameName ( string $name , string $new_name ) : bool
public replaceFile ( string $filepath , string $index , int $start = 0 , int $length = 0 , int $flags = 0 ) : bool
public setArchiveComment ( string $comment ) : bool
public setCommentIndex ( int $index , string $comment ) : bool
public setCommentName ( string $name , string $comment ) : bool
public setCompressionIndex ( int $index , int $method , int $compflags = 0 ) : bool
public setCompressionName ( string $name , int $method , int $compflags = 0 ) : bool
public setEncryptionIndex ( int $index , int $method , string|null $password = null ) : bool
public setEncryptionName ( string $name , int $method , string|null $password = null ) : bool
public setExternalAttributesIndex ( int $index , int $opsys , int $attr , int $flags = 0 ) : bool
public setExternalAttributesName ( string $name , int $opsys , int $attr , int $flags = 0 ) : bool
public setMtimeIndex ( int $index , int $timestamp , int $flags = 0 ) : bool|null
public setMtimeName ( string $name , int $timestamp , int $flags = 0 ) : bool|null
public setPassword ( string $password ) : bool
public statIndex ( int $index , int $flags = 0 ) : array|false
public statName ( string $name , int $flags = 0 ) : array|false
public unchangeAll ( ) : bool
public unchangeArchive ( ) : bool
public unchangeIndex ( int $index ) : bool
public unchangeName ( string $name ) : bool
}

Propriedades

status

Estado do arquivo Zip

statusSys

Status do sistema do Arquivo Zip

numFiles

Número de arquivos no arquivo

filename

Nome do arquivo no sistema de arquivos

comment

Comentário no arquivo

Índice

  • ZipArchive::addEmptyDir — Add a new directory
  • ZipArchive::addFile — Adds a file to a ZIP archive from the given path
  • ZipArchive::addFromString — Add a file to a ZIP archive using its contents
  • ZipArchive::addGlob — Add files from a directory by glob pattern
  • ZipArchive::addPattern — Add files from a directory by PCRE pattern
  • ZipArchive::close — Close the active archive (opened or newly created)
  • ZipArchive::count — Counts the number of files in the archive
  • ZipArchive::deleteIndex — Delete an entry in the archive using its index
  • ZipArchive::deleteName — Delete an entry in the archive using its name
  • ZipArchive::extractTo — Extract the archive contents
  • ZipArchive::getArchiveComment — Returns the Zip archive comment
  • ZipArchive::getCommentIndex — Returns the comment of an entry using the entry index
  • ZipArchive::getCommentName — Returns the comment of an entry using the entry name
  • ZipArchive::getExternalAttributesIndex — Retrieve the external attributes of an entry defined by its index
  • ZipArchive::getExternalAttributesName — Retrieve the external attributes of an entry defined by its name
  • ZipArchive::getFromIndex — Returns the entry contents using its index
  • ZipArchive::getFromName — Returns the entry contents using its name
  • ZipArchive::getNameIndex — Returns the name of an entry using its index
  • ZipArchive::getStatusString — Returns the status error message, system and/or zip messages
  • ZipArchive::getStream — Get a file handler to the entry defined by its name (read only)
  • ZipArchive::isCompressionMethodSupported — Check if a compression method is supported by libzip
  • ZipArchive::isEncryptionMethodSupported — Check if a encryption method is supported by libzip
  • ZipArchive::locateName — Returns the index of the entry in the archive
  • ZipArchive::open — Open a ZIP file archive
  • ZipArchive::registerCancelCallback — Register a callback to allow cancellation during archive close.
  • ZipArchive::registerProgressCallback — Register a callback to provide updates during archive close.
  • ZipArchive::renameIndex — Renames an entry defined by its index
  • ZipArchive::renameName — Renames an entry defined by its name
  • ZipArchive::replaceFile — Replace file in ZIP archive with a given path
  • ZipArchive::setArchiveComment — Set the comment of a ZIP archive
  • ZipArchive::setCommentIndex — Set the comment of an entry defined by its index
  • ZipArchive::setCommentName — Set the comment of an entry defined by its name
  • ZipArchive::setCompressionIndex — Set the compression method of an entry defined by its index
  • ZipArchive::setCompressionName — Set the compression method of an entry defined by its name
  • ZipArchive::setEncryptionIndex — Set the encryption method of an entry defined by its index
  • ZipArchive::setEncryptionName — Set the encryption method of an entry defined by its name
  • ZipArchive::setExternalAttributesIndex — Set the external attributes of an entry defined by its index
  • ZipArchive::setExternalAttributesName — Set the external attributes of an entry defined by its name
  • ZipArchive::setMtimeIndex — Set the modification time of an entry defined by its index
  • ZipArchive::setMtimeName — Set the modification time of an entry defined by its name
  • ZipArchive::setPassword — Set the password for the active archive
  • ZipArchive::statIndex — Get the details of an entry defined by its index
  • ZipArchive::statName — Get the details of an entry defined by its name
  • ZipArchive::unchangeAll — Undo all changes done in the archive
  • ZipArchive::unchangeArchive — Revert all global changes done in the archive
  • ZipArchive::unchangeIndex — Revert all changes done to an entry at the given index
  • ZipArchive::unchangeName — Revert all changes done to an entry with the given name


Add a new directory

  • « ZipArchive
  • ZipArchive::addFile »
  • PHP Manual
  • ZipArchive
  • Add a new directory

ZipArchive::addEmptyDir

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.8.0)

ZipArchive::addEmptyDir — Add a new directory

Descrição

public ZipArchive::addEmptyDir ( string $dirname , int $flags = 0 ) : bool

Adds an empty directory in the archive.

Parâmetros

dirname

The directory to add.

flags

Bitmask consisting of ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437. The behaviour of these constants is described on the ZIP constants page.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 / 1.18.0 | flags was added.

Exemplos

Exemplo #1 Create a new directory in an archive

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    if($zip->addEmptyDir('newDirectory')) {
        echo 'Created a new root directory';
    } else {
        echo 'Could not create the directory';
    }
    $zip->close();
} else {
    echo 'failed';
}
?>


Adds a file to a ZIP archive from the given path

  • « ZipArchive::addEmptyDir
  • ZipArchive::addFromString »
  • PHP Manual
  • ZipArchive
  • Adds a file to a ZIP archive from the given path

ZipArchive::addFile

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::addFile — Adds a file to a ZIP archive from the given path

Descrição

public ZipArchive::addFile ( string $filepath , string $entryname = "" , int $start = 0 , int $length = 0 , int $flags = ZipArchive::FL_OVERWRITE ) : bool

Adds a file to a ZIP archive from a given path.

Nota: Para portabilidade máxima, é recomendado sempre utilizar barras normais (/) como separador de diretórios nos nomes de arquivos dentro de ZIPs.

Parâmetros

filepath

The path to the file to add.

entryname

If supplied and not empty, this is the local name inside the ZIP archive that will override the filepath.

start

For partial copy, start position.

length

For partial copy, length to be copied, if 0 or -1 the whole file (starting from start) is used.

flags

Bitmask consisting of ZipArchive::FL_OVERWRITE, ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437. The behaviour of these constants is described on the ZIP constants page.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 / 1.18.0 | flags was added.

Exemplos

This example opens a ZIP file archive test.zip and add the file /path/to/index.txt. as newname.txt.

Exemplo #1 Open and add

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFile('/path/to/index.txt', 'newname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Notas

Nota:

When a file is set to be added to the archive, PHP will lock the file. The lock is only released once the ZipArchive object has been closed, either via ZipArchive::close() or the ZipArchive object being destroyed. This may prevent you from being able to delete the file being added until after the lock has been released.

Veja Também

  • ZipArchive::replaceFile() - Replace file in ZIP archive with a given path


Add a file to a ZIP archive using its contents

  • « ZipArchive::addFile
  • ZipArchive::addGlob »
  • PHP Manual
  • ZipArchive
  • Add a file to a ZIP archive using its contents

ZipArchive::addFromString

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::addFromString — Add a file to a ZIP archive using its contents

Descrição

public ZipArchive::addFromString ( string $name , string $content , int $flags = ZipArchive::FL_OVERWRITE ) : bool

Add a file to a ZIP archive using its contents.

Nota: Para portabilidade máxima, é recomendado sempre utilizar barras normais (/) como separador de diretórios nos nomes de arquivos dentro de ZIPs.

Parâmetros

name

The name of the entry to create.

content

The contents to use to create the entry. It is used in a binary safe mode.

flags

Bitmask consisting of ZipArchive::FL_OVERWRITE, ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437. The behaviour of these constants is described on the ZIP constants page.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 / 1.18.0 | flags was added.

Exemplos

Exemplo #1 Add an entry to a new archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Exemplo #2 Add file to a directory inside an archive

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFromString('dir/test.txt', 'file content goes here');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>


Add files from a directory by glob pattern

  • « ZipArchive::addFromString
  • ZipArchive::addPattern »
  • PHP Manual
  • ZipArchive
  • Add files from a directory by glob pattern

ZipArchive::addGlob

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL zip >= 1.9.0)

ZipArchive::addGlob — Add files from a directory by glob pattern

Descrição

public ZipArchive::addGlob ( string $pattern , int $flags = 0 , array $options = [] ) : array|false

Add files from a directory which match the glob pattern.

Nota: Para portabilidade máxima, é recomendado sempre utilizar barras normais (/) como separador de diretórios nos nomes de arquivos dentro de ZIPs.

Parâmetros

pattern

A glob() pattern against which files will be matched.

flags

A bit mask of glob() flags.

options

An associative array of options. Available options are:

  • "add_path"

    Prefix to prepend when translating to the local path of the file within the archive. This is applied after any remove operations defined by the "remove_path" or "remove_all_path" options.

  • "remove_path"

    Prefix to remove from matching file paths before adding to the archive.

  • "remove_all_path"

    true to use the file name only and add to the root of the archive.

  • "flags"

    Bitmask consisting of ZipArchive::FL_OVERWRITE, ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437. The behaviour of these constants is described on the ZIP constants page.

  • "comp_method"

    Compression method, one of the ZipArchive::CM_* constants, see ZIP constants page.

  • "comp_flags"

    Compression level.

  • "enc_method"

    Encryption method, one of the ZipArchive::EM_* constants, see ZIP constants page.

  • "enc_password"

    Password used for encryption.

Valor Retornado

An array of added files on success ou false em caso de falha

Changelog

Versão | Descrição
8.0.0 / 1.18.0 | "flags" in options was added.
8.0.0 / 1.18.1 | "comp_method", "comp_flags", "enc_method" and "enc_password" in options were added.

Exemplos

Exemplo #1 ZipArchive::addGlob() example

Add all php scripts and text files from current working directory

<?php
$zip = new ZipArchive();
$ret = $zip->open('application.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
if ($ret !== TRUE) {
    printf('Failed with code %d', $ret);
} else {
    $options = array('add_path' => 'sources/', 'remove_all_path' => TRUE);
    $zip->addGlob('*.{php,txt}', GLOB_BRACE, $options);
    $zip->close();
}
?>

Veja Também

  • ZipArchive::addFile() - Adds a file to a ZIP archive from the given path
  • ZipArchive::addPattern() - Add files from a directory by PCRE pattern


Add files from a directory by PCRE pattern

  • « ZipArchive::addGlob
  • ZipArchive::close »
  • PHP Manual
  • ZipArchive
  • Add files from a directory by PCRE pattern

ZipArchive::addPattern

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL zip >= 1.9.0)

ZipArchive::addPattern — Add files from a directory by PCRE pattern

Descrição

public ZipArchive::addPattern ( string $pattern , string $path = "." , array $options = [] ) : array|false

Add files from a directory which match the regular expression pattern. The operation is not recursive. The pattern will be matched against the file name only.

Parâmetros

pattern

A PCRE pattern against which files will be matched.

path

The directory that will be scanned. Defaults to the current working directory.

options

An associative array of options accepted by ZipArchive::addGlob().

Valor Retornado

An array of added files on success ou false em caso de falha

Exemplos

Exemplo #1 ZipArchive::addPattern() example

Add all php scripts and text files from current directory

<?php
$zip = new ZipArchive();
$ret = $zip->open('application.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
if ($ret !== TRUE) {
    printf('Failed with code %d', $ret);
} else {
    $directory = realpath('.');
    $options = array('add_path' => 'sources/', 'remove_path' => $directory);
    $zip->addPattern('/\.(?:php|txt)$/', $directory, $options);
    $zip->close();
}
?>

Veja Também

  • ZipArchive::addFile() - Adds a file to a ZIP archive from the given path
  • ZipArchive::addGlob() - Add files from a directory by glob pattern


Close the active archive (opened or newly created)

  • « ZipArchive::addPattern
  • ZipArchive::count »
  • PHP Manual
  • ZipArchive
  • Close the active archive (opened or newly created)

ZipArchive::close

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::close — Close the active archive (opened or newly created)

Descrição

public ZipArchive::close ( ) : bool

Close opened or created archive and save changes. This method is automatically called at the end of the script.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Counts the number of files in the archive

  • « ZipArchive::close
  • ZipArchive::deleteIndex »
  • PHP Manual
  • ZipArchive
  • Counts the number of files in the archive

ZipArchive::count

(PHP 7 >= 7.2.0, PHP 8, PECL zip >= 1.15.0)

ZipArchive::count — Counts the number of files in the archive

Descrição

public ZipArchive::count ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of files in the archive.


Delete an entry in the archive using its index

  • « ZipArchive::count
  • ZipArchive::deleteName »
  • PHP Manual
  • ZipArchive
  • Delete an entry in the archive using its index

ZipArchive::deleteIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::deleteIndex — Delete an entry in the archive using its index

Descrição

public ZipArchive::deleteIndex ( int $index ) : bool

Delete an entry in the archive using its index.

Parâmetros

index

Index of the entry to delete.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Delete file from archive using its index

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->deleteIndex(2);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>


Delete an entry in the archive using its name

  • « ZipArchive::deleteIndex
  • ZipArchive::extractTo »
  • PHP Manual
  • ZipArchive
  • Delete an entry in the archive using its name

ZipArchive::deleteName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::deleteName — Delete an entry in the archive using its name

Descrição

public ZipArchive::deleteName ( string $name ) : bool

Delete an entry in the archive using its name.

Parâmetros

name

Name of the entry to delete.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Deleting a file and directory from an archive, using names

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    $zip->deleteName('testfromfile.php');
    $zip->deleteName('testDir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>


Extract the archive contents

  • « ZipArchive::deleteName
  • ZipArchive::getArchiveComment »
  • PHP Manual
  • ZipArchive
  • Extract the archive contents

ZipArchive::extractTo

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::extractTo — Extract the archive contents

Descrição

public ZipArchive::extractTo ( string $pathto , array|string|null $files = null ) : bool

Extract the complete archive or the given files to the specified destination.

Aviso

The default permissions for extracted files and directories give the widest possible access. This can be restricted by setting the current umask, which can be changed using umask().

Parâmetros

pathto

Location where to extract the files.

files

The entries to extract. It accepts either a single entry name or an array of names.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Extract all entries

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->extractTo('/my/destination/dir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Exemplo #2 Extract two entries

<?php
$zip = new ZipArchive;
$res = $zip->open('test_im.zip');
if ($res === TRUE) {
    $zip->extractTo('/my/destination/dir/', array('pear_item.gif', 'testfromfile.php'));
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>


Returns the Zip archive comment

  • « ZipArchive::extractTo
  • ZipArchive::getCommentIndex »
  • PHP Manual
  • ZipArchive
  • Returns the Zip archive comment

ZipArchive::getArchiveComment

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::getArchiveComment — Returns the Zip archive comment

Descrição

public ZipArchive::getArchiveComment ( int $flags = 0 ) : string|false

Returns the Zip archive comment.

Parâmetros

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged comment is returned.

Valor Retornado

Returns the Zip archive comment ou false em caso de falha.

Exemplos

Exemplo #1 Dump an archive comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test_with_comment.zip');
if ($res === TRUE) {
    var_dump($zip->getArchiveComment());
    /* Or using the archive property */
    var_dump($zip->comment);
} else {
    echo 'failed, code:' . $res;
}
?>


Returns the comment of an entry using the entry index

  • « ZipArchive::getArchiveComment
  • ZipArchive::getCommentName »
  • PHP Manual
  • ZipArchive
  • Returns the comment of an entry using the entry index

ZipArchive::getCommentIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.4.0)

ZipArchive::getCommentIndex — Returns the comment of an entry using the entry index

Descrição

public ZipArchive::getCommentIndex ( int $index , int $flags = 0 ) : string|false

Returns the comment of an entry using the entry index.

Parâmetros

index

Index of the entry

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged comment is returned.

Valor Retornado

Returns the comment on success ou false em caso de falha.

Exemplos

Exemplo #1 Dump an entry comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
    var_dump($zip->getCommentIndex(1));
} else {
    echo 'failed, code:' . $res;
}
?>


Returns the comment of an entry using the entry name

  • « ZipArchive::getCommentIndex
  • ZipArchive::getExternalAttributesIndex »
  • PHP Manual
  • ZipArchive
  • Returns the comment of an entry using the entry name

ZipArchive::getCommentName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.4.0)

ZipArchive::getCommentName — Returns the comment of an entry using the entry name

Descrição

public ZipArchive::getCommentName ( string $name , int $flags = 0 ) : string|false

Returns the comment of an entry using the entry name.

Parâmetros

name

Name of the entry

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged comment is returned.

Valor Retornado

Returns the comment on success ou false em caso de falha.

Exemplos

Exemplo #1 Dump an entry comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
    var_dump($zip->getCommentName('test/entry1.txt'));
} else {
    echo 'failed, code:' . $res;
}
?>


Retrieve the external attributes of an entry defined by its index

  • « ZipArchive::getCommentName
  • ZipArchive::getExternalAttributesName »
  • PHP Manual
  • ZipArchive
  • Retrieve the external attributes of an entry defined by its index

ZipArchive::getExternalAttributesIndex

(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)

ZipArchive::getExternalAttributesIndex — Retrieve the external attributes of an entry defined by its index

Descrição

public ZipArchive::GetExternalAttributesIndex ( int $index , int &$opsys , int &$attr , int $flags = ? ) : bool

Retrieve the external attributes of an entry defined by its index.

Parâmetros

index

Index of the entry.

opsys

On success, receive the operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

On success, receive the external attributes. Value depends on operating system.

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged attributes are returned.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

This example extract all the entries of a ZIP archive test.zip and set the Unix rights from external attributes.

Exemplo #1 Extract all entries with Unix rights

<?php
$zip = new ZipArchive();
if ($zip->open('test.zip') === TRUE) {
    for ($idx=0 ; $s = $zip->statIndex($idx) ; $idx++) {
        if ($zip->extractTo('.', $s['name'])) {
            if ($zip->getExternalAttributesIndex($idx, $opsys, $attr)
                && $opsys==ZipArchive::OPSYS_UNIX) {
               chmod($s['name'], ($attr >> 16) & 0777);
            }
        }
    }
    $zip->close();
    echo "Ok\n";
} else {
    echo "KO\n";
}
?>


Retrieve the external attributes of an entry defined by its name

  • « ZipArchive::getExternalAttributesIndex
  • ZipArchive::getFromIndex »
  • PHP Manual
  • ZipArchive
  • Retrieve the external attributes of an entry defined by its name

ZipArchive::getExternalAttributesName

(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)

ZipArchive::getExternalAttributesName — Retrieve the external attributes of an entry defined by its name

Descrição

public ZipArchive::getExternalAttributesName ( string $name , int &$opsys , int &$attr , int $flags = 0 ) : bool

Retrieve the external attributes of an entry defined by its name.

Parâmetros

name

Name of the entry.

opsys

On success, receive the operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

On success, receive the external attributes. Value depends on operating system.

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged attributes are returned.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Returns the entry contents using its index

  • « ZipArchive::getExternalAttributesName
  • ZipArchive::getFromName »
  • PHP Manual
  • ZipArchive
  • Returns the entry contents using its index

ZipArchive::getFromIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::getFromIndex — Returns the entry contents using its index

Descrição

public ZipArchive::getFromIndex ( int $index , int $len = 0 , int $flags = 0 ) : string|false

Returns the entry contents using its index.

Parâmetros

index

Index of the entry

len

The length to be read from the entry. If 0, then the entire entry is read.

flags

The flags to use to open the archive. the following values may be ORed to it.

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

Valor Retornado

Returns the contents of the entry on success ou false em caso de falha.

Exemplos

Exemplo #1 Get the file contents

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    echo $zip->getFromIndex(2);
    $zip->close();
} else {
    echo 'failed';
}
?>

Veja Também

  • ZipArchive::getFromName() - Returns the entry contents using its name


Returns the entry contents using its name

  • « ZipArchive::getFromIndex
  • ZipArchive::getNameIndex »
  • PHP Manual
  • ZipArchive
  • Returns the entry contents using its name

ZipArchive::getFromName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::getFromName — Returns the entry contents using its name

Descrição

public ZipArchive::getFromName ( string $name , int $len = 0 , int $flags = 0 ) : string|false

Returns the entry contents using its name.

Parâmetros

name

Name of the entry

len

The length to be read from the entry. If 0, then the entire entry is read.

flags

The flags to use to find the entry. The following values may be ORed.

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

  • ZipArchive::FL_NOCASE

Valor Retornado

Returns the contents of the entry on success ou false em caso de falha.

Exemplos

Exemplo #1 Get the file contents

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    echo $zip->getFromName('testfromfile.php');
    $zip->close();
} else {
    echo 'failed';
}
?>

Exemplo #2 Convert an image from a zip entry

<?php
$z = new ZipArchive();
if ($z->open(dirname(__FILE__) . '/test_im.zip')) {
    $im_string = $z->getFromName("pear_item.gif");
    $im = imagecreatefromstring($im_string);
    imagepng($im, 'b.png');
}
?>

Veja Também

  • ZipArchive::getFromIndex() - Returns the entry contents using its index


Returns the name of an entry using its index

  • « ZipArchive::getFromName
  • ZipArchive::getStatusString »
  • PHP Manual
  • ZipArchive
  • Returns the name of an entry using its index

ZipArchive::getNameIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::getNameIndex — Returns the name of an entry using its index

Descrição

public ZipArchive::getNameIndex ( int $index , int $flags = 0 ) : string|false

Returns the name of an entry using its index.

Parâmetros

index

Index of the entry.

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged name is returned.

Valor Retornado

Returns the name on success ou false em caso de falha.

Exemplos

Exemplo #1 ZipArchive::getNameIndex() example

<?php
if ($zip->open('test.zip') == TRUE) {
 for ($i = 0; $i < $zip->numFiles; $i++) {
     $filename = $zip->getNameIndex($i);
     // ...
 }
}
?>


Returns the status error message, system and/or zip messages

  • « ZipArchive::getNameIndex
  • ZipArchive::getStream »
  • PHP Manual
  • ZipArchive
  • Returns the status error message, system and/or zip messages

ZipArchive::getStatusString

(PHP 5 >= 5.2.7, PHP 7, PHP 8)

ZipArchive::getStatusString — Returns the status error message, system and/or zip messages

Descrição

public ZipArchive::getStatusString ( ) : string

Returns the status error message, system and/or zip messages.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string with the status message.

Changelog

Versão | Descrição
8.0.0 / 1.18.0 | This method can be called on closed archive.
8.0.0 / 1.18.0 | This method no longer returns false on failure.


Get a file handler to the entry defined by its name (read only)

  • « ZipArchive::getStatusString
  • ZipArchive::isCompressionMethodSupported »
  • PHP Manual
  • ZipArchive
  • Get a file handler to the entry defined by its name (read only)

ZipArchive::getStream

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::getStream — Get a file handler to the entry defined by its name (read only)

Descrição

public ZipArchive::getStream ( string $name ) : resource|false

Get a file handler to the entry defined by its name. For now it only supports read operations.

Parâmetros

name

The name of the entry to use.

Valor Retornado

Returns a file pointer (resource) on success ou false em caso de falha.

Exemplos

Exemplo #1 Get the entry contents with fread() and store it

<?php
$contents = '';
$z = new ZipArchive();
if ($z->open('test.zip')) {
    $fp = $z->getStream('test');
    if(!$fp) exit("failed\n");

    while (!feof($fp)) {
        $contents .= fread($fp, 2);
    }

    fclose($fp);
    file_put_contents('t',$contents);
    echo "done.\n";
}
?>

Exemplo #2 Same as the previous example but with fopen() and the zip stream wrapper

<?php
$contents = '';
$fp = fopen('zip://' . dirname(__FILE__) . '/test.zip#test', 'r');
if (!$fp) {
    exit("cannot open\n");
}
while (!feof($fp)) {
    $contents .= fread($fp, 2);
}
echo "$contents\n";
fclose($fp);
echo "done.\n";
?>

Exemplo #3 Stream wrapper and image, can be used with the xml function as well

<?php
$im = imagecreatefromgif('zip://' . dirname(__FILE__) . '/test_im.zip#pear_item.gif');
imagepng($im, 'a.png');
?>


Check if a compression method is supported by libzip

  • « ZipArchive::getStream
  • ZipArchive::isEncryptionMethodSupported »
  • PHP Manual
  • ZipArchive
  • Check if a compression method is supported by libzip

ZipArchive::isCompressionMethodSupported

(PHP >= 8.0.0, PECL zip >= 1.19.0)

ZipArchive::isCompressionMethodSupported — Check if a compression method is supported by libzip

Descrição

public static ZipArchive::isCompressionMethodSupported ( int $method , bool $enc = true ) : bool

Check if a compression method is supported by libzip.

Parâmetros

method

The compression method, one of the ZipArchive::CM_* constants.

enc

If true check for compression, else check for decompression.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

This function is only available if built against libzip = 1.7.0.

Veja Também

  • ZipArchive::setCompressionIndex() - Set the compression method of an entry defined by its index
  • ZipArchive::setCompressionName() - Set the compression method of an entry defined by its name


Check if a encryption method is supported by libzip

  • « ZipArchive::isCompressionMethodSupported
  • ZipArchive::locateName »
  • PHP Manual
  • ZipArchive
  • Check if a encryption method is supported by libzip

ZipArchive::isEncryptionMethodSupported

(PHP >= 8.0.0, PECL zip >= 1.19.0)

ZipArchive::isEncryptionMethodSupported — Check if a encryption method is supported by libzip

Descrição

public static ZipArchive::isEncryptionMethodSupported ( int $method , bool $enc = true ) : bool

Check if a compression method is supported by libzip.

Parâmetros

method

The encryption method, one of the ZipArchive::EM_* constants.

enc

If true check for encryption, else check for decryption.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

This function is only available if built against libzip = 1.7.0.

Veja Também

  • ZipArchive::setEncryptionIndex() - Set the encryption method of an entry defined by its index
  • ZipArchive::setEncryptionName() - Set the encryption method of an entry defined by its name


Returns the index of the entry in the archive

  • « ZipArchive::isEncryptionMethodSupported
  • ZipArchive::open »
  • PHP Manual
  • ZipArchive
  • Returns the index of the entry in the archive

ZipArchive::locateName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::locateName — Returns the index of the entry in the archive

Descrição

public ZipArchive::locateName ( string $name , int $flags = 0 ) : int|false

Locates an entry using its name.

Parâmetros

name

The name of the entry to look up

flags

The flags are specified by ORing the following values, or 0 for none of them.

  • ZipArchive::FL_NOCASE

  • ZipArchive::FL_NODIR

Valor Retornado

Returns the index of the entry on success ou false em caso de falha.

Exemplos

Exemplo #1 Create an archive and then use it with ZipArchive::locateName()

<?php
$file = 'testlocate.zip';

$zip = new ZipArchive;
if ($zip->open($file, ZipArchive::CREATE) !== TRUE) {
    exit('failed');
}

$zip->addFromString('entry1.txt', 'entry #1');
$zip->addFromString('entry2.txt', 'entry #2');
$zip->addFromString('dir/entry2d.txt', 'entry #2');

if ($zip->status !== ZipArchive::ER_OK) {
    echo "failed to write zip\n";
}
$zip->close();

if ($zip->open($file) !== TRUE) {
    exit('failed');
}

echo $zip->locateName('entry1.txt') . "\n";
echo $zip->locateName('eNtry2.txt') . "\n";
echo $zip->locateName('eNtry2.txt', ZipArchive::FL_NOCASE) . "\n";
echo $zip->locateName('enTRy2d.txt', ZipArchive::FL_NOCASE|ZipArchive::FL_NODIR) . "\n";
$zip->close();

?>

O exemplo acima irá imprimir:

0

1
2


Open a ZIP file archive

  • « ZipArchive::locateName
  • ZipArchive::registerCancelCallback »
  • PHP Manual
  • ZipArchive
  • Open a ZIP file archive

ZipArchive::open

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::open — Open a ZIP file archive

Descrição

public ZipArchive::open ( string $filename , int $flags = 0 ) : bool|int

Opens a new or existing zip archive for reading, writing or modifying.

Since libzip 1.6.0, a empty file is not a valid archive any longer.

Parâmetros

filename

The file name of the ZIP archive to open.

flags

The mode to use to open the archive.

  • ZipArchive::OVERWRITE

  • ZipArchive::CREATE

  • ZipArchive::RDONLY

  • ZipArchive::EXCL

  • ZipArchive::CHECKCONS

Valor Retornado

Returns true on success, or one of the following error codes:

ZipArchive::ER_EXISTS
File already exists.
ZipArchive::ER_INCONS
Zip archive inconsistent.
ZipArchive::ER_INVAL
Invalid argument.
ZipArchive::ER_MEMORY
Malloc failure.
ZipArchive::ER_NOENT
No such file.
ZipArchive::ER_NOZIP
Not a zip archive.
ZipArchive::ER_OPEN
Can't open file.
ZipArchive::ER_READ
Read error.
ZipArchive::ER_SEEK
Seek error.

Exemplos

Exemplo #1 Open and extract

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    echo 'ok';
    $zip->extractTo('test');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

Exemplo #2 Create an archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->addFile('data.txt', 'entryname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Exemplo #3 Create an temporary archive

<?php
$name = tempnam(sys_get_temp_dir(), "FOO");
$zip = new ZipArchive;
$res = $zip->open($name, ZipArchive::OVERWRITE); /* truncate as empty file is not valid */
if ($res === TRUE) {
    $zip->addFile('data.txt', 'entryname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>


Register a callback to allow cancellation during archive close.

  • « ZipArchive::open
  • ZipArchive::registerProgressCallback »
  • PHP Manual
  • ZipArchive
  • Register a callback to allow cancellation during archive close.

ZipArchive::registerCancelCallback

(PHP >= 8.0.0, PECL zip >= 1.17.0)

ZipArchive::registerCancelCallback — Register a callback to allow cancellation during archive close.

Descrição

public ZipArchive::registerCancelCallback ( callable $callback ) : bool

Register a callback function to allow cancellation during archive close.

Parâmetros

callback

If this function return 0 operation will continue, other value it will be cancelled.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

This function is only available if built against libzip = 1.6.0.

Exemplos

This example creates a ZIP file archive php.zip and cancel operation on some run condition.

Exemplo #1 Archive a file

<?php
$zip = new ZipArchive();
if ($zip->open('php.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE)) {
    $zip->addFile(PHP_BINARY, 'php');
    $zip->registerCancelCallback(function () {
        return ($someruncondition ? -1 : 0);
    });
    $zip->close();
}

Veja Também

  • ZipArchive::registerProgressCallback() - Register a callback to provide updates during archive close.


Register a callback to provide updates during archive close.

  • « ZipArchive::registerCancelCallback
  • ZipArchive::renameIndex »
  • PHP Manual
  • ZipArchive
  • Register a callback to provide updates during archive close.

ZipArchive::registerProgressCallback

(PHP >= 8.0.0, PECL zip >= 1.17.0)

ZipArchive::registerProgressCallback — Register a callback to provide updates during archive close.

Descrição

public ZipArchive::registerProgressCallback ( float $rate , callable $callback ) : bool

Register a callback function to provide updates during archive close.

Parâmetros

rate

Change between each call of the callback (from 0.0 to 1.0).

callback

This function will receive the current state as a float (from 0.0 to 1.0).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

This function is only available if built against libzip = 1.3.0.

Exemplos

This example creates a ZIP file archive php.zip and show progression.

Exemplo #1 Archive a file

$zip = new ZipArchive();
if ($zip->open('php.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE)) {
    $zip->addFile(PHP_BINARY, 'php');
    $zip->registerProgressCallback(0.05, function ($r) {
        printf("%d%%\n", $r * 100);
    });
    $zip->close();
}

Veja Também

  • ZipArchive::registerCancelCallback() - Register a callback to allow cancellation during archive close.


Renames an entry defined by its index

  • « ZipArchive::registerProgressCallback
  • ZipArchive::renameName »
  • PHP Manual
  • ZipArchive
  • Renames an entry defined by its index

ZipArchive::renameIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::renameIndex — Renames an entry defined by its index

Descrição

public ZipArchive::renameIndex ( int $index , string $new_name ) : bool

Renames an entry defined by its index.

Parâmetros

index

Index of the entry to rename.

new_name

New name.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Rename one entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->renameIndex(2,'newname.txt');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>


Renames an entry defined by its name

  • « ZipArchive::renameIndex
  • ZipArchive::replaceFile »
  • PHP Manual
  • ZipArchive
  • Renames an entry defined by its name

ZipArchive::renameName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::renameName — Renames an entry defined by its name

Descrição

public ZipArchive::renameName ( string $name , string $new_name ) : bool

Renames an entry defined by its name.

Parâmetros

name

Name of the entry to rename.

new_name

New name.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Rename one entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->renameName('currentname.txt','newname.txt');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>


Replace file in ZIP archive with a given path

  • « ZipArchive::renameName
  • ZipArchive::setArchiveComment »
  • PHP Manual
  • ZipArchive
  • Replace file in ZIP archive with a given path

ZipArchive::replaceFile

(PHP >= 8.0.0, PECL zip >= 1.18.0)

ZipArchive::replaceFile — Replace file in ZIP archive with a given path

Descrição

public ZipArchive::replaceFile ( string $filepath , string $index , int $start = 0 , int $length = 0 , int $flags = 0 ) : bool

Replace file in ZIP archive with a given path.

Nota: Para portabilidade máxima, é recomendado sempre utilizar barras normais (/) como separador de diretórios nos nomes de arquivos dentro de ZIPs.

Parâmetros

filepath

The path to the file to add.

index

The index of the file to be replaced, its name is unchanged.

start

For partial copy, start position.

length

For partial copy, length to be copied, if 0 or -1 the whole file (starting from start) is used.

flags

Bitmask consisting of ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437. The behaviour of these constants is described on the ZIP constants page.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

This example opens a ZIP file archive test.zip and replaces index 1 entry with /path/to/index.txt.

Exemplo #1 Open and replace

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->replaceFile('/path/to/index.txt', 1);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Veja Também

  • ZipArchive::addFile() - Adds a file to a ZIP archive from the given path


Set the comment of a ZIP archive

  • « ZipArchive::replaceFile
  • ZipArchive::setCommentIndex »
  • PHP Manual
  • ZipArchive
  • Set the comment of a ZIP archive

ZipArchive::setArchiveComment

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.4.0)

ZipArchive::setArchiveComment — Set the comment of a ZIP archive

Descrição

public ZipArchive::setArchiveComment ( string $comment ) : bool

Set the comment of a ZIP archive.

Parâmetros

comment

The contents of the comment.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Create an archive and set a comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->setArchiveComment('new archive comment');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>


Set the comment of an entry defined by its index

  • « ZipArchive::setArchiveComment
  • ZipArchive::setCommentName »
  • PHP Manual
  • ZipArchive
  • Set the comment of an entry defined by its index

ZipArchive::setCommentIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.4.0)

ZipArchive::setCommentIndex — Set the comment of an entry defined by its index

Descrição

public ZipArchive::setCommentIndex ( int $index , string $comment ) : bool

Set the comment of an entry defined by its index.

Parâmetros

index

Index of the entry.

comment

The contents of the comment.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Open an archive and set a comment for an entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->setCommentIndex(2, 'new entry comment');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>


Set the comment of an entry defined by its name

  • « ZipArchive::setCommentIndex
  • ZipArchive::setCompressionIndex »
  • PHP Manual
  • ZipArchive
  • Set the comment of an entry defined by its name

ZipArchive::setCommentName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.4.0)

ZipArchive::setCommentName — Set the comment of an entry defined by its name

Descrição

public ZipArchive::setCommentName ( string $name , string $comment ) : bool

Set the comment of an entry defined by its name.

Parâmetros

name

Name of the entry.

comment

The contents of the comment.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Open an archive and set a comment for an entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->setCommentName('entry1.txt', 'new entry comment');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>


Set the compression method of an entry defined by its index

  • « ZipArchive::setCommentName
  • ZipArchive::setCompressionName »
  • PHP Manual
  • ZipArchive
  • Set the compression method of an entry defined by its index

ZipArchive::setCompressionIndex

(PHP 7, PHP 8, PECL zip >= 1.13.0)

ZipArchive::setCompressionIndex — Set the compression method of an entry defined by its index

Descrição

public ZipArchive::setCompressionIndex ( int $index , int $method , int $compflags = 0 ) : bool

Set the compression method of an entry defined by its index.

Parâmetros

index

Index of the entry.

method

The compression method, one of the ZipArchive::CM_* constants.

compflags

Compression level.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Add files with different compression methods to an archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('foo', 'Some text');
    $zip->addFromString('bar', 'Some other text');
    $zip->setCompressionIndex(0, ZipArchive::CM_STORE);
    $zip->setCompressionIndex(1, ZipArchive::CM_DEFLATE);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>


Set the compression method of an entry defined by its name

  • « ZipArchive::setCompressionIndex
  • ZipArchive::setEncryptionIndex »
  • PHP Manual
  • ZipArchive
  • Set the compression method of an entry defined by its name

ZipArchive::setCompressionName

(PHP 7, PHP 8, PECL zip >= 1.13.0)

ZipArchive::setCompressionName — Set the compression method of an entry defined by its name

Descrição

public ZipArchive::setCompressionName ( string $name , int $method , int $compflags = 0 ) : bool

Set the compression method of an entry defined by its name.

Parâmetros

name

Name of the entry.

method

The compression method, one of the ZipArchive::CM_* constants.

compflags

Compression level.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Add files with different compression methods to an archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('foo', 'Some text');
    $zip->addFromString('bar', 'Some other text');
    $zip->setCompressionName('foo', ZipArchive::CM_STORE);
    $zip->setCompressionName('bar', ZipArchive::CM_DEFLATE);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Exemplo #2 Add file and set compression method

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFile('foo.jpg', 'bar.jpg');
    $zip->setCompressionName('bar.jpg', ZipArchive::CM_XZ);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>


Set the encryption method of an entry defined by its index

  • « ZipArchive::setCompressionName
  • ZipArchive::setEncryptionName »
  • PHP Manual
  • ZipArchive
  • Set the encryption method of an entry defined by its index

ZipArchive::setEncryptionIndex

(PHP >= 7.2.0, PHP 8, PECL zip >= 1.14.0)

ZipArchive::setEncryptionIndex — Set the encryption method of an entry defined by its index

Descrição

public ZipArchive::setEncryptionIndex ( int $index , int $method , string|null $password = null ) : bool

Set the encryption method of an entry defined by its index.

Parâmetros

index

Index of the entry.

method

The encryption method defined by one of the ZipArchive::EM_ constants.

password

Optional password, default used when missing.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

This function is only available if built against libzip = 1.2.0.

Changelog

Versão | Descrição
8.0.0 | password is now nullable.

Veja Também

  • ZipArchive::setPassword() - Set the password for the active archive
  • ZipArchive::setEncryptionName() - Set the encryption method of an entry defined by its name


Set the encryption method of an entry defined by its name

  • « ZipArchive::setEncryptionIndex
  • ZipArchive::setExternalAttributesIndex »
  • PHP Manual
  • ZipArchive
  • Set the encryption method of an entry defined by its name

ZipArchive::setEncryptionName

(PHP >= 7.2.0, PHP 8, PECL zip >= 1.14.0)

ZipArchive::setEncryptionName — Set the encryption method of an entry defined by its name

Descrição

public ZipArchive::setEncryptionName ( string $name , int $method , string|null $password = null ) : bool

Set the encryption method of an entry defined by its name.

Parâmetros

name

Name of the entry.

method

The encryption method defined by one of the ZipArchive::EM_ constants.

password

Optional password, default used when missing.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | password is now nullable.

Exemplos

This example creates a ZIP file archive test.zip and add the file test.txt encrypted using the AES 256 method.

Exemplo #1 Archive and encrypt a file

<?php
$zip = new ZipArchive();
if ($zip->open('test.zip', ZipArchive::CREATE) === TRUE) {
    $zip->setPassword('secret');
    $zip->addFile('text.txt');
    $zip->setEncryptionName('text.txt', ZipArchive::EM_AES_256);
    $zip->close();
    echo "Ok\n";
} else {
    echo "KO\n";
}
?>

Notas

Nota:

This function is only available if built against libzip = 1.2.0.

Veja Também

  • ZipArchive::setPassword() - Set the password for the active archive
  • ZipArchive::setEncryptionIndex() - Set the encryption method of an entry defined by its index


Set the external attributes of an entry defined by its index

  • « ZipArchive::setEncryptionName
  • ZipArchive::setExternalAttributesName »
  • PHP Manual
  • ZipArchive
  • Set the external attributes of an entry defined by its index

ZipArchive::setExternalAttributesIndex

(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)

ZipArchive::setExternalAttributesIndex — Set the external attributes of an entry defined by its index

Descrição

public ZipArchive::setExternalAttributesIndex ( int $index , int $opsys , int $attr , int $flags = 0 ) : bool

Set the external attributes of an entry defined by its index.

Parâmetros

index

Index of the entry.

opsys

The operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

The external attributes. Value depends on operating system.

flags

Optional flags. Currently unused.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set the external attributes of an entry defined by its name

  • « ZipArchive::setExternalAttributesIndex
  • ZipArchive::setMtimeIndex »
  • PHP Manual
  • ZipArchive
  • Set the external attributes of an entry defined by its name

ZipArchive::setExternalAttributesName

(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)

ZipArchive::setExternalAttributesName — Set the external attributes of an entry defined by its name

Descrição

public ZipArchive::setExternalAttributesName ( string $name , int $opsys , int $attr , int $flags = 0 ) : bool

Set the external attributes of an entry defined by its name.

Parâmetros

name

Name of the entry.

opsys

The operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

The external attributes. Value depends on operating system.

flags

Optional flags. Currently unused.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

This example opens a ZIP file archive test.zip and add the file test.txt with its Unix rights as external attributes.

Exemplo #1 Archive a file, with its Unix rights

<?php
$zip = new ZipArchive();
$stat = stat($filename='test.txt');
if (is_array($stat) && $zip->open('test.zip', ZipArchive::CREATE) === TRUE) {
    $zip->addFile($filename);
    $zip->setExternalAttributesName($filename, ZipArchive::OPSYS_UNIX, $stat['mode'] << 16);
    $zip->close();
    echo "Ok\n";
} else {
    echo "KO\n";
}
?>


Set the modification time of an entry defined by its index

  • « ZipArchive::setExternalAttributesName
  • ZipArchive::setMtimeName »
  • PHP Manual
  • ZipArchive
  • Set the modification time of an entry defined by its index

ZipArchive::setMtimeIndex

(PHP >= 8.0.0, PECL zip >= 1.16.0)

ZipArchive::setMtimeIndex — Set the modification time of an entry defined by its index

Descrição

public ZipArchive::setMtimeIndex ( int $index , int $timestamp , int $flags = 0 ) : bool|null

Set the modification time of an entry defined by its index.

Parâmetros

index

Index of the entry.

timestamp

The modification time (unix timestamp) of the file.

flags

Optional flags, unused for now.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

This example creates a ZIP file archive test.zip and add the file test.txt with its modification date.

Exemplo #1 Archive a file

<?php
$zip = new ZipArchive();
if ($zip->open('test.zip', ZipArchive::CREATE) === TRUE) {
    $zip->addFile('text.txt');
    $zip->setMtimeIndex(0, mktime(0,0,0,12,25,2019));
    $zip->close();
    echo "Ok\n";
} else {
    echo "KO\n";
}
?>

Notas

Nota:

This function is only available if built against libzip = 1.0.0.

Veja Também

  • ZipArchive::setMtimeName() - Set the modification time of an entry defined by its name


Set the modification time of an entry defined by its name

  • « ZipArchive::setMtimeIndex
  • ZipArchive::setPassword »
  • PHP Manual
  • ZipArchive
  • Set the modification time of an entry defined by its name

ZipArchive::setMtimeName

(PHP >= 8.0.0, PECL zip >= 1.16.0)

ZipArchive::setMtimeName — Set the modification time of an entry defined by its name

Descrição

public ZipArchive::setMtimeName ( string $name , int $timestamp , int $flags = 0 ) : bool|null

Set the modification time of an entry defined by its name.

Parâmetros

name

Name of the entry.

timestamp

The modification time (unix timestamp) of the file.

flags

Optional flags, unused for now.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

This example creates a ZIP file archive test.zip and add the file test.txt with its modification date.

Exemplo #1 Archive a file

<?php
$zip = new ZipArchive();
if ($zip->open('test.zip', ZipArchive::CREATE) === TRUE) {
    $zip->addFile('text.txt');
    $zip->setMtimeName('text.txt', mktime(0,0,0,12,25,2019));
    $zip->close();
    echo "Ok\n";
} else {
    echo "KO\n";
}
?>

Notas

Nota:

This function is only available if built against libzip = 1.0.0.

Veja Também

  • ZipArchive::setMtimeIndex() - Set the modification time of an entry defined by its index


Set the password for the active archive

  • « ZipArchive::setMtimeName
  • ZipArchive::statIndex »
  • PHP Manual
  • ZipArchive
  • Set the password for the active archive

ZipArchive::setPassword

(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)

ZipArchive::setPassword — Set the password for the active archive

Descrição

public ZipArchive::setPassword ( string $password ) : bool

Sets the password for the active archive.

Parâmetros

password

The password to be used for the archive.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

As of PHP 7.2.0 and libzip 1.2.0 the password is used to decompress the archive, and is also the default password for ZipArchive::setEncryptionName() and ZipArchive::setEncryptionIndex(). Formerly, this function only set the password to be used to decompress the archive; it did not turn a non-password-protected ZipArchive into a password-protected ZipArchive.

Veja Também

  • ZipArchive::setEncryptionIndex() - Set the encryption method of an entry defined by its index
  • ZipArchive::setEncryptionName() - Set the encryption method of an entry defined by its name


Get the details of an entry defined by its index

  • « ZipArchive::setPassword
  • ZipArchive::statName »
  • PHP Manual
  • ZipArchive
  • Get the details of an entry defined by its index

ZipArchive::statIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::statIndex — Get the details of an entry defined by its index

Descrição

public ZipArchive::statIndex ( int $index , int $flags = 0 ) : array|false

The function obtains information about the entry defined by its index.

Parâmetros

index

Index of the entry

flags

ZipArchive::FL_UNCHANGED may be ORed to it to request information about the original file in the archive, ignoring any changes made.

Valor Retornado

Returns an array containing the entry details ou false em caso de falha.

Exemplos

Exemplo #1 Dump the stat info of an entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    print_r($zip->statIndex(3));
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)


Get the details of an entry defined by its name

  • « ZipArchive::statIndex
  • ZipArchive::unchangeAll »
  • PHP Manual
  • ZipArchive
  • Get the details of an entry defined by its name

ZipArchive::statName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::statName — Get the details of an entry defined by its name

Descrição

public ZipArchive::statName ( string $name , int $flags = 0 ) : array|false

The function obtains information about the entry defined by its name.

Parâmetros

name

Name of the entry

flags

The flags argument specifies how the name lookup should be done. Also, ZipArchive::FL_UNCHANGED may be ORed to it to request information about the original file in the archive, ignoring any changes made.

  • ZipArchive::FL_NOCASE

  • ZipArchive::FL_NODIR

  • ZipArchive::FL_UNCHANGED

Valor Retornado

Returns an array containing the entry details ou false em caso de falha.

Exemplos

Exemplo #1 Dump the stat info of an entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    print_r($zip->statName('foobar/baz'));
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)


Undo all changes done in the archive

  • « ZipArchive::statName
  • ZipArchive::unchangeArchive »
  • PHP Manual
  • ZipArchive
  • Undo all changes done in the archive

ZipArchive::unchangeAll

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::unchangeAll — Undo all changes done in the archive

Descrição

public ZipArchive::unchangeAll ( ) : bool

Undo all changes done in the archive.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Revert all global changes done in the archive

  • « ZipArchive::unchangeAll
  • ZipArchive::unchangeIndex »
  • PHP Manual
  • ZipArchive
  • Revert all global changes done in the archive

ZipArchive::unchangeArchive

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::unchangeArchive — Revert all global changes done in the archive

Descrição

public ZipArchive::unchangeArchive ( ) : bool

Revert all global changes to the archive. For now, this only reverts archive comment changes.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Revert all changes done to an entry at the given index

  • « ZipArchive::unchangeArchive
  • ZipArchive::unchangeName »
  • PHP Manual
  • ZipArchive
  • Revert all changes done to an entry at the given index

ZipArchive::unchangeIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::unchangeIndex — Revert all changes done to an entry at the given index

Descrição

public ZipArchive::unchangeIndex ( int $index ) : bool

Revert all changes done to an entry at the given index.

Parâmetros

index

Index of the entry.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Revert all changes done to an entry with the given name

  • « ZipArchive::unchangeIndex
  • Funções para Zip »
  • PHP Manual
  • ZipArchive
  • Revert all changes done to an entry with the given name

ZipArchive::unchangeName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::unchangeName — Revert all changes done to an entry with the given name

Descrição

public ZipArchive::unchangeName ( string $name ) : bool

Revert all changes done to an entry.

Parâmetros

name

Name of the entry.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Funções para Zip

Índice

  • zip_close — Fecha um arquivo ZIP
  • zip_entry_close — Fecha o arquivo que está aberto
  • zip_entry_compressedsize — Recupera o tamanho compactado do arquivo que está dentro do arquivo ZIP
  • zip_entry_compressionmethod — Recupera qual o método de compressão foi utilizado no arquivo
  • zip_entry_filesize — Retorna o tamanho de um diretório de entrada
  • zip_entry_name — Retorna o nome do arquivo
  • zip_entry_open — Abre um arquivo do arquivo ZIP
  • zip_entry_read — Lê de um arquivo aberto
  • zip_open — Abre um arquivo ZIPado
  • zip_read — Lê a próxima entrada em um arquivo ZIPado


Fecha um arquivo ZIP

  • « Funções para Zip
  • zip_entry_close »
  • PHP Manual
  • Funções para Zip
  • Fecha um arquivo ZIP

zip_close

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_close — Fecha um arquivo ZIP

Descrição

zip_close ( resource $zip ) : void

Fecha um dado arquivo ZIP.

Parâmetros

zip

Um arquivo ZIP previamente aberto com zip_open().

Valor Retornado

Não há valor retornado.

Veja Também

  • zip_open() - Abre um arquivo ZIPado
  • zip_read() - Lê a próxima entrada em um arquivo ZIPado


Fecha o arquivo que está aberto

  • « zip_close
  • zip_entry_compressedsize »
  • PHP Manual
  • Funções para Zip
  • Fecha o arquivo que está aberto

zip_entry_close

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_close — Fecha o arquivo que está aberto

Descrição

zip_entry_close ( resource $zip_entry ) : bool

Fecha uma especificada lista de entrada.

Parâmetros

zip_entry

Um diretório de entrada previamente aberto com zip_entry_open().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • zip_entry_open() - Abre um arquivo do arquivo ZIP
  • zip_entry_read() - Lê de um arquivo aberto


Recupera o tamanho compactado do arquivo que está dentro do arquivo ZIP

  • « zip_entry_close
  • zip_entry_compressionmethod »
  • PHP Manual
  • Funções para Zip
  • Recupera o tamanho compactado do arquivo que está dentro do arquivo ZIP

zip_entry_compressedsize

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_compressedsize — Recupera o tamanho compactado do arquivo que está dentro do arquivo ZIP

Descrição

zip_entry_compressedsize ( resource $zip_entry ) : int

Retorna o tamanho do arquivo compactado dentro do arquivo ZIP especificado.

Parâmetros

zip_entry

Uma lista de entrada retornada pela zip_read().

Valor Retornado

O tamanho da compressão.

Veja Também

  • zip_open() - Abre um arquivo ZIPado
  • zip_read() - Lê a próxima entrada em um arquivo ZIPado


Recupera qual o método de compressão foi utilizado no arquivo

  • « zip_entry_compressedsize
  • zip_entry_filesize »
  • PHP Manual
  • Funções para Zip
  • Recupera qual o método de compressão foi utilizado no arquivo

zip_entry_compressionmethod

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_compressionmethod — Recupera qual o método de compressão foi utilizado no arquivo

Descrição

zip_entry_compressionmethod ( resource $zip_entry ) : string

Recupera qual o método de compressão foi utilizado no arquivo passado por zip_entry.

Parâmetros

zip_entry

Uma lista de entrada retornada pela zip_read().

Valor Retornado

O método de compressão.

Veja Também

  • zip_open() - Abre um arquivo ZIPado
  • zip_read() - Lê a próxima entrada em um arquivo ZIPado


Retorna o tamanho de um diretório de entrada

  • « zip_entry_compressionmethod
  • zip_entry_name »
  • PHP Manual
  • Funções para Zip
  • Retorna o tamanho de um diretório de entrada

zip_entry_filesize

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_filesize — Retorna o tamanho de um diretório de entrada

Descrição

zip_entry_filesize ( resource $zip_entry ) : int

Retorna o tamanho atual do especificado diretório de entrada.

Parâmetros

zip_entry

Um diretório de entrada retornado por zip_read().

Valor Retornado

O tamanho do diretório de entrada.

Veja Também

  • zip_open() - Abre um arquivo ZIPado
  • zip_read() - Lê a próxima entrada em um arquivo ZIPado


Retorna o nome do arquivo

  • « zip_entry_filesize
  • zip_entry_open »
  • PHP Manual
  • Funções para Zip
  • Retorna o nome do arquivo

zip_entry_name

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_name — Retorna o nome do arquivo

Descrição

zip_entry_name ( resource $zip_entry ) : string

Retorna o nome do arquivo especificado.

Parâmetros

zip_entry

A lista de entrada retornada pela zip_read().

Valor Retornado

O nome do diretório de entrada.

Veja Também

  • zip_open() - Abre um arquivo ZIPado
  • zip_read() - Lê a próxima entrada em um arquivo ZIPado


Abre um arquivo do arquivo ZIP

  • « zip_entry_name
  • zip_entry_read »
  • PHP Manual
  • Funções para Zip
  • Abre um arquivo do arquivo ZIP

zip_entry_open

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_open — Abre um arquivo do arquivo ZIP

Descrição

zip_entry_open ( resource $zip , resource $zip_entry , string $mode = ? ) : bool

Abre um arquivo para ser manipulado.

Parâmetros

zip

Um válido manipulador de resource retornado por zip_open().

zip_entry

Uma entrada de diretório retornada por zip_read().

mode

Algum dos modos especificados na documentação da fopen().

Nota:

Atualmente, o modo é ignorado e o modo padrão suportado é "rb". Isto é devido ao fato que o suporte a zip no PHP é apenas de leitura.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Nota:

Infelizmente fopen() e outras funções similares, retornam o mesmo valor de zip_entry_open() , apenas indicam o resultado da operação efetuada e não são necessárias para abrir ou fechar um arquivo do arquivo ZIP.

Veja Também

  • zip_entry_close() - Fecha o arquivo que está aberto
  • zip_entry_read() - Lê de um arquivo aberto


Lê de um arquivo aberto

  • « zip_entry_open
  • zip_open »
  • PHP Manual
  • Funções para Zip
  • Lê de um arquivo aberto

zip_entry_read

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_read — Lê de um arquivo aberto

Descrição

zip_entry_read ( resource $zip_entry , int $length = 1024 ) : string

Lê de um arquivo aberto.

Parâmetros

zip_entry

Um arquivo retornado pela zip_read().

length

O número de bytes para retornar.

Nota:

Este deve ser o tamanho não comprimido que você deseja ler.

Valor Retornado

Retorna a informação lida, string vazia no fim de um arquivo, ou false em caso de erro.

Veja Também

  • zip_entry_open() - Abre um arquivo do arquivo ZIP
  • zip_entry_close() - Fecha o arquivo que está aberto
  • zip_entry_filesize() - Retorna o tamanho de um diretório de entrada


Abre um arquivo ZIPado

  • « zip_entry_read
  • zip_read »
  • PHP Manual
  • Funções para Zip
  • Abre um arquivo ZIPado

zip_open

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_open — Abre um arquivo ZIPado

Descrição

zip_open ( string $filename ) : resource

Abre um arquivo ZIPado para ser lido.

Parâmetros

filename

O nome do arquivo ZIP para abrir.

Valor Retornado

Retorna a conexão com o arquivo que será usado com as funções zip_read() e zip_close() ou retorna o número de erros se filename não existir or em outro caso erro.

Veja Também

  • zip_read() - Lê a próxima entrada em um arquivo ZIPado
  • zip_close() - Fecha um arquivo ZIP


Lê a próxima entrada em um arquivo ZIPado

  • « zip_open
  • Zlib »
  • PHP Manual
  • Funções para Zip
  • Lê a próxima entrada em um arquivo ZIPado

zip_read

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_read — Lê a próxima entrada em um arquivo ZIPado

Descrição

zip_read ( resource $zip ) : resource

Lê o próximo elemento dentro de uma arquivo ZIP.

Parâmetros

zip

Um arquivo ZIP anteriormente aberto com zip_open().

Valor Retornado

Retorna uma conexao com o arquivo ZIP para ser usado com as funções zip_entry_..., ou false se não houver arquivos para serem lidos, ou um código de erro caso ocorra algum.

Veja Também

  • zip_open() - Abre um arquivo ZIPado
  • zip_close() - Fecha um arquivo ZIP
  • zip_entry_open() - Abre um arquivo do arquivo ZIP
  • zip_entry_read() - Lê de um arquivo aberto


Compressão Zlib

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Funções da Zlib
    • deflate_add — Incrementally deflate data
    • deflate_init — Initialize an incremental deflate context
    • gzclose — Fecha um ponteiro para um arquivo-gz
    • gzcompress — Comprime uma string
    • gzdecode — Decodifica uma string comprimida usando o gzip
    • gzdeflate — Comprime uma string usando DEFLATE
    • gzencode — Cria uma string comprimida com gzip
    • gzeof — Testa para o fim de um ponteiro de arquivo-gz
    • gzfile — Lê todo o arquivo-gz para uma matriz
    • gzgetc — Obtém um caractere de um ponteiro de arquivo-gz
    • gzgets — Obtém uma linha de um ponteiro de arquivo
    • gzgetss — Obtém uma linha de um ponteiro de arquivo-gz e retira as tags HTML
    • gzinflate — Descomprime uma string usando DEFLATE
    • gzopen — Abre um arquivo-gz
    • gzpassthru — Envia todos os dados restantes em um ponteiro para arquivo-gz
    • gzputs — Sinônimo de gzwrite
    • gzread — Leitura de arquivos-gz segura para binários
    • gzrewind — Retorna ao início a posição de um ponteiro para um arquivo-gz
    • gzseek — Move o ponteiro de um arquivo-gz
    • gztell — Indica a posição de leitura/gravação em um ponteiro para arquivo-gz
    • gzuncompress — Descomprime uma string com DEFLATED
    • gzwrite — Escrita segura para binário em arquivo-gz
    • inflate_add — Incrementally inflate encoded data
    • inflate_get_read_len — Get number of bytes read so far
    • inflate_get_status — Get decompression status
    • inflate_init — Initialize an incremental inflate context
    • readgzfile — Mostra um arquivo-gz
    • zlib_decode — Uncompress any raw/gzip/zlib encoded data
    • zlib_encode — Compress data with the specified encoding
    • zlib_get_coding_type — Retorna o tipo de codificação para a compressão de saída


Introdução

Este módulo lhe possibilita ler e gerar transparentemente arquivos comprimidos do tipo gzip (.gz), através de muitas das funções filesystem nas quais funcionam com arquivos gzip comprimidos (e arquivos não comprimidos também, mas não com sockets).

Nota:

A versão 4.0.4 introduziu um fopen-wrapper para arquivos .gz, assim você pode usar uma URL especial zlib: para acessar arquivos comprimidos transparentemente usando as funções f*() normais de acessos a arquivos se você colocar como prefixo no nome ou caminho zlib: ao chamar fopen(). Isto requer que você use uma biblioteca C em tempo de execução que tenha a função fopencookie(). Até agora apenas a GNU libc parace ser a única biblioteca que tenha este recurso.

No PHP 4.3.0, zlib: foi modificado para compress.zlib:// para previnir ambiguidades com nomes de arquivos contendo caracteres ':'. A função fopencookie() não é mais requerida. Maiores informações estão disponíveis em uma sessão sobre zlib://.


Dependências

Este módulo usa as funções da » zlib por Jean-loup Gailly e Mark Adler. Você terá que usar uma versão zlib >= à 1.0.9 com este módulo.


Instalação

O suporte a Zlib no PHP não esta ativado por padrão. Você precisa configurar o PHP com --with-zlib[=DIR]

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.

Nota: Suporte embutido para o zlib no Windows esta disponível partir do PHP 4.3.0.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

A extensão zlib oferece a opção de comprimir transparentemente suas páginas em tempo real, se o navegador requisitante suportar isto. Então existem três opções no arquivo de configuração php.ini.

Opções de Configuração da Zlib
Nome | Padrão | Modificável | Changelog
zlib.output_compression | "0" | PHP_INI_ALL |
zlib.output_compression_level | "-1" | PHP_INI_ALL |
zlib.output_handler | "" | PHP_INI_ALL |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

zlib.output_compression bool/int

Indica se as páginas deverm ser comprimidas de modo transparente. Se esta opção for mudada para "On" no php.ini ou na configuração do Apache, as páginas serão comprimidas se o navegador enviar um cabeçalho "Accept-Encoding: gzip" ou "deflate". "Content-Encoding: gzip" (respectivamente "deflate") e cabeçalhos "Vary: Accept-Encoding" serão adicionados para a saida. Em tempo de execução, isso só pode ser definido antes de enviar qualquer saída.

Esta opção também aceita valores inteiros em vez de valores booleanos "On"/"Off", usando isto você pode configurar o tamanho do buffer de saída (o padrão é 4KB).

Nota:

output_handler deve estar vazio se a diretriz estiver configurada em 'On'! Em vez disso, utilize zlib.output_handler.

zlib.output_compression_level int

Nível de compressão utilizado. Especifique um valor entre 0 (sem compressão) ou 9 (compressão máxima). O valor padrão -1 permite ao servidor escolher que nível utilizar.

zlib.output_handler string

Você não pode especificar tratamentos adicionais de saída se zlib.output_compression for ativado. Esta configuração faz o mesmo que a output_handler mas em uma ordem diferente.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão define um ponteiro de arquivo resource retornado pela gzopen().


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

FORCE_GZIP (integer)
FORCE_DEFLATE (integer)


Exemplos

Este exemplo abre um arquivo temporário e gera uma string teste dentro dele, então ela mostra o conteúdo deste arquivo duas vezes.

Exemplo #1 Pequeno Exemplo da Zlib

<?php

$filename = tempnam('/tmp', 'zlibtest') . '.gz';
echo "<html>\n<head></head>\n<body>\n<pre>\n";
$s = "Only a test, test, test, test, test, test, test, test!\n";

// open file for writing with maximum compression
$zp = gzopen($filename, "w9");

// write string to file
gzwrite($zp, $s);

// close file
gzclose($zp);

// open file for reading
$zp = gzopen($filename, "r");

// read 3 char
echo gzread($zp, 3);

// output until end of the file and close it.
gzpassthru($zp);
gzclose($zp);

echo "\n";

// open file and print content (the 2nd time).
if (readgzfile($filename) != strlen($s)) {
        echo "Error with zlib functions!";
}
unlink($filename);
echo "</pre>\n</body>\n</html>\n";

?>


Funções da Zlib

Índice

  • deflate_add — Incrementally deflate data
  • deflate_init — Initialize an incremental deflate context
  • gzclose — Fecha um ponteiro para um arquivo-gz
  • gzcompress — Comprime uma string
  • gzdecode — Decodifica uma string comprimida usando o gzip
  • gzdeflate — Comprime uma string usando DEFLATE
  • gzencode — Cria uma string comprimida com gzip
  • gzeof — Testa para o fim de um ponteiro de arquivo-gz
  • gzfile — Lê todo o arquivo-gz para uma matriz
  • gzgetc — Obtém um caractere de um ponteiro de arquivo-gz
  • gzgets — Obtém uma linha de um ponteiro de arquivo
  • gzgetss — Obtém uma linha de um ponteiro de arquivo-gz e retira as tags HTML
  • gzinflate — Descomprime uma string usando DEFLATE
  • gzopen — Abre um arquivo-gz
  • gzpassthru — Envia todos os dados restantes em um ponteiro para arquivo-gz
  • gzputs — Sinônimo de gzwrite
  • gzread — Leitura de arquivos-gz segura para binários
  • gzrewind — Retorna ao início a posição de um ponteiro para um arquivo-gz
  • gzseek — Move o ponteiro de um arquivo-gz
  • gztell — Indica a posição de leitura/gravação em um ponteiro para arquivo-gz
  • gzuncompress — Descomprime uma string com DEFLATED
  • gzwrite — Escrita segura para binário em arquivo-gz
  • inflate_add — Incrementally inflate encoded data
  • inflate_get_read_len — Get number of bytes read so far
  • inflate_get_status — Get decompression status
  • inflate_init — Initialize an incremental inflate context
  • readgzfile — Mostra um arquivo-gz
  • zlib_decode — Uncompress any raw/gzip/zlib encoded data
  • zlib_encode — Compress data with the specified encoding
  • zlib_get_coding_type — Retorna o tipo de codificação para a compressão de saída


Incrementally deflate data

  • « Funções da Zlib
  • deflate_init »
  • PHP Manual
  • Funções da Zlib
  • Incrementally deflate data

deflate_add

(PHP 7, PHP 8)

deflate_add — Incrementally deflate data

Descrição

deflate_add ( DeflateContext $context , string $data , int $flush_mode = ZLIB_SYNC_FLUSH ) : string|false

Incrementally deflates data in the specified context.

Parâmetros

context

A context created with deflate_init().

data

A chunk of data to compress.

flush_mode

One of ZLIB_BLOCK, ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH (default), ZLIB_FULL_FLUSH, ZLIB_FINISH. Normally you will want to set ZLIB_NO_FLUSH to maximize compression, and ZLIB_FINISH to terminate with the last chunk of data. See the » zlib manual for a detailed description of these constants.

Valor Retornado

Returns a chunk of compressed data, ou false em caso de falha.

Erros

If invalid arguments are given, an error of level E_WARNING is generated.

Changelog

Versão | Descrição
8.0.0 | context expects a DeflateContext instance now; previously, a resource was expected.

Veja Também

  • deflate_init() - Initialize an incremental deflate context


Initialize an incremental deflate context

  • « deflate_add
  • gzclose »
  • PHP Manual
  • Funções da Zlib
  • Initialize an incremental deflate context

deflate_init

(PHP 7, PHP 8)

deflate_init — Initialize an incremental deflate context

Descrição

deflate_init ( int $encoding , array $options = [] ) : DeflateContext|false

Initializes an incremental deflate context using the specified encoding.

Note that the window option here only sets the window size of the algorithm, differently from the zlib filters where the same parameter also sets the encoding to use; the encoding must be set with the encoding parameter.

Limitation: there is currently no way to set the header information on a GZIP compressed stream, which are set as follows: GZIP signature (\x1f\x8B); compression method (\x08 == DEFLATE); 6 zero bytes; the operating system set to the current system (\x00 = Windows, \x03 = Unix, etc.)

Parâmetros

encoding

One of the ZLIB_ENCODING_* constants.

options

An associative array which may contain the following elements:

level

The compression level in range -1..9; defaults to -1.

memory

The compression memory level in range 1..9; defaults to 8.

window

The zlib window size (logarithmic) in range 8..15; defaults to 15. zlib changes a window size of 8 to 9, and as of zlib 1.2.8 fails with a warning, if a window size of 8 is requested for ZLIB_ENCODING_RAW or ZLIB_ENCODING_GZIP.

strategy

One of ZLIB_FILTERED, ZLIB_HUFFMAN_ONLY, ZLIB_RLE, ZLIB_FIXED or ZLIB_DEFAULT_STRATEGY (the default).

dictionary

A string or an array of strings of the preset dictionary (default: no preset dictionary).

Valor Retornado

Returns a deflate context resource (zlib.deflate) on success, ou false em caso de falha.

Erros

If an invalid option is passed to options or the context couldn't be created, an error of level E_WARNING is generated.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns a DeflateContext instance now; previously, a resource was returned.

Veja Também

  • deflate_add() - Incrementally deflate data
  • inflate_init() - Initialize an incremental inflate context


Fecha um ponteiro para um arquivo-gz

  • « deflate_init
  • gzcompress »
  • PHP Manual
  • Funções da Zlib
  • Fecha um ponteiro para um arquivo-gz

gzclose

(PHP 4, PHP 5, PHP 7, PHP 8)

gzclose — Fecha um ponteiro para um arquivo-gz

Descrição

gzclose ( resource $zp ) : bool

Fecha o ponteiro para arquivo gz dado.

Parâmetros

zp

O ponteiro de arquivo gz. Ele deve ser válido,e apontar para um arquivo aberto de maneira correta pela função gzopen().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 gzclose() example

<?php
$gz = gzopen('somefile.gz','w9');
gzputs ($gz, 'I was added to somefile.gz');
gzclose($gz);
?>

Veja Também

  • gzopen() - Abre um arquivo-gz


Comprime uma string

  • « gzclose
  • gzdecode »
  • PHP Manual
  • Funções da Zlib
  • Comprime uma string

gzcompress

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

gzcompress — Comprime uma string

Descrição

gzcompress ( string $data , int $level = ? ) : string

Esta função comprime a string usando o formato de dados ZLIB.

Para detalhes sobre o algoritimo de compressão ZLIB veja o documento "» ZLIB Compressed Data Format Specification version 3.3" (RFC 1950).

Nota:

Isto não é o mesmo que a compressão gzip, a qual incluir alguns dados de cabeçalho. Veja gzencode() para compressão gzip.

Parâmetros

data

Os dados a comprimir.

level

The level of compression. Can be given as 0 for no compression up to 9 for maximum compression.

Valor Retornado

A string comprimida ou false se um erro ocorreu.

Exemplos

Exemplo #1 Exemplo gzcompress()

<?php
$compressed = gzcompress('Compress me', 9);
echo $compressed;
?>

Veja Também

  • gzdeflate() - Comprime uma string usando DEFLATE
  • gzinflate() - Descomprime uma string usando DEFLATE
  • gzuncompress() - Descomprime uma string com DEFLATED
  • gzencode() - Cria uma string comprimida com gzip


Decodifica uma string comprimida usando o gzip

  • « gzcompress
  • gzdeflate »
  • PHP Manual
  • Funções da Zlib
  • Decodifica uma string comprimida usando o gzip

gzdecode

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

gzdecode — Decodifica uma string comprimida usando o gzip

Descrição

gzdecode ( string $data , int $length = ? ) : string

Essa função retorna a versão decodifica de data.

Parâmetros

data

Os dados a serem decodificados, encodificados por gzencode().

length

Tamanho máximo dos dados a serem decodificados.

Valor Retornado

A string decodificada, ou false se um erro ocorrer.

Veja Também

  • gzencode() - Cria uma string comprimida com gzip


Comprime uma string usando DEFLATE

  • « gzdecode
  • gzencode »
  • PHP Manual
  • Funções da Zlib
  • Comprime uma string usando DEFLATE

gzdeflate

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gzdeflate — Comprime uma string usando DEFLATE

Descrição

gzdeflate ( string $data , int $level = ? ) : string

Esta função comprime a string dada usando o formato de dados DEFLATE.

Para detalhes sobre o algoritimo de compressão DEFLATE veja o documento "» DEFLATE Compressed Data Format Specification version 1.3" (RFC 1951).

Parâmetros

data

Os dados a comprimir.

level

O nível de compressão. Pode ser dado como 0 para sem compressão até 9 para a máxima compressão. Se não for dados, o nível de compressão padrão será o nível de compressão padrão da biblioteca zlib.

Valor Retornado

A string comprimida ou false se ocorreu um erro.

Exemplos

Exemplo #1 Exemplo gzdeflate()

<?php
$compressed = gzdeflate('Compress me', 9);
echo $compressed;
?>

Veja Também

  • gzinflate() - Descomprime uma string usando DEFLATE
  • gzcompress() - Comprime uma string
  • gzuncompress() - Descomprime uma string com DEFLATED
  • gzencode() - Cria uma string comprimida com gzip


Cria uma string comprimida com gzip

  • « gzdeflate
  • gzeof »
  • PHP Manual
  • Funções da Zlib
  • Cria uma string comprimida com gzip

gzencode

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gzencode — Cria uma string comprimida com gzip

Descrição

gzencode ( string $data , int $level = ? , int $encoding_mode = ? ) : string

Esta função retorna uma versão comprimida dos dados de entrada data compatível com a saída do programa gzip.

Para maiores informações sobre o formato GZIP, veja o documento: » Especificação do formato de arquivo GZIP versão 4.3 (RFC 1952).

Parâmetros

data

Os dados para codificar.

level

O nível de compressão. Pode ser dado como 0 para sem compressão até 9 para a máxima compressão. Se não for dados, o nível de compressão padrão será o nível de compressão padrão da biblioteca zlib.

encoding_mode

O modo de codificação. Pode ser FORCE_GZIP (o padrão) ou FORCE_DEFLATE.

Se você usar FORCE_DEFLATE, você obtém uma string comprimida padrão zlib (incluindo os cabeçalhos zlib) após o cabeçalho do arquivo gzip mas sem a somatória crc32 ao final.

Valor Retornado

A string codificada, ou false se aconteceu um erro.

Changelog

Versão | Descrição
4.2 | level foi adicionado. gzencode() apenas tinha os parâmetros data e o opcional encoding_mode antes.

Exemplos

Os dados resultantes contém os cabeçalhos apropriados e a estrutura de dados para fazer um arquivo .gz padrão, ex:

Exemplo #1 Criando um arquivo gzip

<?php
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>

Veja Também

  • gzdecode() - Decodifica uma string comprimida usando o gzip
  • gzdeflate() - Comprime uma string usando DEFLATE
  • gzinflate() - Descomprime uma string usando DEFLATE
  • gzuncompress() - Descomprime uma string com DEFLATED
  • gzcompress() - Comprime uma string


Testa para o fim de um ponteiro de arquivo-gz

  • « gzencode
  • gzfile »
  • PHP Manual
  • Funções da Zlib
  • Testa para o fim de um ponteiro de arquivo-gz

gzeof

(PHP 4, PHP 5, PHP 7, PHP 8)

gzeof — Testa para o fim de um ponteiro de arquivo-gz

Descrição

gzeof ( resource $zp ) : int

Teste o ponteiro de arquivo GZ para o EOF (fim do arquivo).

Parâmetros

zp

O ponteiro de arquivo gz. Ele deve ser válido, e deve apontar para um arquivo aberto de maneira bem sucedida por gzopen().

Valor Retornado

Retorna true se o ponteiro de arquivo-gz esta no fim do arquivo ou se acontecer um erro, se não retorna false.

Exemplos

Exemplo #1 gzeof() example

<?php
$gz = gzopen('somefile.gz', 'r');
while (!gzeof($gz)) {
    echo gzgetc($gz);
}
gzclose($gz);
?>


Lê todo o arquivo-gz para uma matriz

  • « gzeof
  • gzgetc »
  • PHP Manual
  • Funções da Zlib
  • Lê todo o arquivo-gz para uma matriz

gzfile

(PHP 4, PHP 5, PHP 7, PHP 8)

gzfile — Lê todo o arquivo-gz para uma matriz

Descrição

gzfile ( string $filename , int $use_include_path = ? ) : array

Esta função é identica a readgzfile(), exceto que ela retorna o arquivo em uma array.

Parâmetros

filename

O nome do arquivo.

use_include_path

Você pode definir esta parâmetro para 1, se você quer procurar o arquivo no include_path também.

Valor Retornado

Um array contendo o arquivo, uma linha por célula.

Exemplos

Exemplo #1 Exemplo gzfile()

<?php
$lines = gzfile('somefile.gz');
foreach ($lines as $line) {
    echo $line;
}
?>

Veja Também

  • readgzfile() - Mostra um arquivo-gz
  • gzopen() - Abre um arquivo-gz


Obtém um caractere de um ponteiro de arquivo-gz

  • « gzfile
  • gzgets »
  • PHP Manual
  • Funções da Zlib
  • Obtém um caractere de um ponteiro de arquivo-gz

gzgetc

(PHP 4, PHP 5, PHP 7, PHP 8)

gzgetc — Obtém um caractere de um ponteiro de arquivo-gz

Descrição

gzgetc ( resource $zp ) : string

Retorna uma string contendo um único (descomprimido) caractere lido a partir do arquivo gz.

Parâmetros

zp

O ponteiro de arquivo-gz deve ser válido , e deve apontar para um arquivo aberto corretamente com gzopen().

Valor Retornado

O caractere descomprimido ou false em caso de EOF (Diferentemente de gzeof()).

Exemplos

Exemplo #1 Exemplo gzgetc()

<?php
$gz = gzopen('somefile.gz', 'r');
while (!gzeof($gz)) {
    echo gzgetc($gz);
}
gzclose($gz);
?>

Veja Também

  • gzopen() - Abre um arquivo-gz
  • gzgets() - Obtém uma linha de um ponteiro de arquivo


Obtém uma linha de um ponteiro de arquivo

  • « gzgetc
  • gzgetss »
  • PHP Manual
  • Funções da Zlib
  • Obtém uma linha de um ponteiro de arquivo

gzgets

(PHP 4, PHP 5, PHP 7, PHP 8)

gzgets — Obtém uma linha de um ponteiro de arquivo

Descrição

gzgets ( resource $zp , int $length ) : string

Obtém uma (descomprimida) string até o tamanho length - 1 bytes lidos a partir do ponteiro de arquivo dado. A leitura termina quando length - 1 bytes tiverem sido lidos, em uma nova liha ou em EOF (o que vier primeiro).

Parâmetros

zp

O ponteiro do arquivo deve ser válido, e deve apontar para um arquivo aberto corretamente com gzopen().

length

O tamanho dos dados a pegar.

Valor Retornado

A string descomprimida, ou false em caso de erro.

Exemplos

Exemplo #1 gzgets() example

<?php
$handle = gzopen('somefile.gz', 'r');
while (!gzeof($handle)) {
    $buffer = gzgets($handle, 4096);
    echo $buffer;
}
gzclose($handle);
?>

Veja Também

  • gzopen() - Abre um arquivo-gz
  • gzgetc() - Obtém um caractere de um ponteiro de arquivo-gz
  • gzwrite() - Escrita segura para binário em arquivo-gz


Obtém uma linha de um ponteiro de arquivo-gz e retira as tags HTML

  • « gzgets
  • gzinflate »
  • PHP Manual
  • Funções da Zlib
  • Obtém uma linha de um ponteiro de arquivo-gz e retira as tags HTML

gzgetss

(PHP 4, PHP 5, PHP 7)

gzgetss — Obtém uma linha de um ponteiro de arquivo-gz e retira as tags HTML

Descrição

gzgetss ( resource $zp , int $length , string $allowable_tags = ? ) : string

Identica a gzgets(), exceto que gzgetss() tenta retirar todas as tags HTML e todas as tags PHP do texto que lê.

Parâmetros

zp

O ponteiro para o arquivo gz. Ele deve ser válido, e deve apontar para um arquivo aberto de maneira bem sucedida por gzopen().

length

O tamanho dos dados a pegar.

allowable_tags

Você pode usar esta parâmetro opcional para especificar as tags que não devem ser renovidas.

Valor Retornado

A string descomprimida e com as tags removidas, ou false em caso de erro.

Changelog

Versão | Descrição
3.0.13 e 4.0.0 | Foi adicionado allowable_tags.

Exemplos

Exemplo #1 Exemplo gzgetss()

<?php
$handle = gzopen('somefile.gz', 'r');
while (!gzeof($handle)) {
    $buffer = gzgetss($handle, 4096);
    echo $buffer;
}
gzclose($handle);
?>

Veja Também

  • gzopen() - Abre um arquivo-gz
  • gzgets() - Obtém uma linha de um ponteiro de arquivo
  • strip_tags() - Retira as tags HTML e PHP de uma string


Descomprime uma string usando DEFLATE

  • « gzgetss
  • gzopen »
  • PHP Manual
  • Funções da Zlib
  • Descomprime uma string usando DEFLATE

gzinflate

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gzinflate — Descomprime uma string usando DEFLATE

Descrição

gzinflate ( string $data , int $length = ? ) : string

Esta função descomprime uma string.

Parâmetros

data

Os dados comprimidos por gzdeflate().

length

O limite de tamanho dos dados a descompactar.

Valor Retornado

Os dados originais descomprimidos ou false em caso de erro.

Esta função irá retornar um erro se os dados descomprimidos forem maiores do 32768 vezes o tamanho dos dados comprimidos de entrada data ou mais do que o parâmetro opcional length.

Exemplos

Exemplo #1 Exemplo gzinflate()

<?php
$compressed   = gzdeflate('Compress me', 9);
$uncompressed = gzinflate($compressed);
echo $uncompressed;
?>

Veja Também

Veja também gzcompress() - Comprime uma string. gzuncompress() - Descomprime uma string com DEFLATED, gzdeflate() - Comprime uma string usando DEFLATE, e gzencode() - Cria uma string comprimida com gzip.


Abre um arquivo-gz

  • « gzinflate
  • gzpassthru »
  • PHP Manual
  • Funções da Zlib
  • Abre um arquivo-gz

gzopen

(PHP 4, PHP 5, PHP 7, PHP 8)

gzopen — Abre um arquivo-gz

Descrição

gzopen ( string $filename , string $mode , int $use_include_path = ? ) : resource

Abre um arquivo-gz para leitura ou escrita. O parâmetro mode é igual a fopen() ("rb" ou "wb") mas pode incluir também um nível de compressão ("wb9") ou uma estratégia: 'f' para dados filtrados como em "wb6f", 'h' para compressão apenas com Huffman como em "wb1h". (Veja a descrição de deflateInit2 e zlib.h para maiores informações sobre o parâmetro strategy.)

gzopen() pode ser usada para ler um arquivo que não esteja no formato gzip; neste caso gzread() irá ler diretamente a partir do arquivo sem descompressão.

gzopen() retorna um ponteiro para arquivo aberto, após isso, tudo o que você ler apartir desse descritor de arquivo será transparentemente descomprimido e o que você escrever será comprimido.

Se falhar ao abrir, a função retorna false.

Você pode usar o terceiro parâmetro, que é opcional, e defini-lo como "1", se você quiser procurar pelo arquivo no include_path, também.

Exemplo #1 Exemplo gzopen()

<?php
$fp = gzopen("/tmp/file.gz", "r");
?>

Veja também gzclose().


Envia todos os dados restantes em um ponteiro para arquivo-gz

  • « gzopen
  • gzputs »
  • PHP Manual
  • Funções da Zlib
  • Envia todos os dados restantes em um ponteiro para arquivo-gz

gzpassthru

(PHP 4, PHP 5, PHP 7, PHP 8)

gzpassthru — Envia todos os dados restantes em um ponteiro para arquivo-gz

Descrição

gzpassthru ( resource $zp ) : int

Lê até o EOF do ponteiro de arquivo-gz e escreve o (descomprimido) resultado para a saída padrão.

Se acontecer um erro, retorna false.

O ponteiro para o arquivo deve ser válido, e deve apontar para um arquivo aberto corretamente com gzopen().


Sinônimo de gzwrite

  • « gzpassthru
  • gzread »
  • PHP Manual
  • Funções da Zlib
  • Sinônimo de gzwrite

gzputs

(PHP 4, PHP 5, PHP 7, PHP 8)

gzputs — Sinônimo de gzwrite()

Descrição

Esta função é um apelido para: gzwrite().


Leitura de arquivos-gz segura para binários

  • « gzputs
  • gzrewind »
  • PHP Manual
  • Funções da Zlib
  • Leitura de arquivos-gz segura para binários

gzread

(PHP 4, PHP 5, PHP 7, PHP 8)

gzread — Leitura de arquivos-gz segura para binários

Descrição

gzread ( resource $zp , int $length ) : string

gzread() lê length bytes do ponteiro de arquivo gz. A leitura pára quando length (descomprimido) bytes forem lidos ou até o fim do arquivo, o que chegar primeiro.

Parâmetros

zp

O ponteiro do arquivo gz. Precisa ser válido, e apontar para um arquivo aberto com sucesso por gzopen().

length

O número de bytes a serem lidos.

Valor Retornado

The data that have been read.

Exemplos

Exemplo #1 Exemplo da gzread()

<?php
// Obtém o conteúdo de um arquivo-gz em uma string
$filename = "/usr/local/something.txt.gz";
$zd = gzopen($filename, "r");
$contents = gzread($zd, 10000);
gzclose($zd);
?>

Veja Também

  • gzwrite() - Escrita segura para binário em arquivo-gz
  • gzopen() - Abre um arquivo-gz
  • gzgets() - Obtém uma linha de um ponteiro de arquivo
  • gzgetss() - Obtém uma linha de um ponteiro de arquivo-gz e retira as tags HTML
  • gzfile() - Lê todo o arquivo-gz para uma matriz
  • gzpassthru() - Envia todos os dados restantes em um ponteiro para arquivo-gz


Retorna ao início a posição de um ponteiro para um arquivo-gz

  • « gzread
  • gzseek »
  • PHP Manual
  • Funções da Zlib
  • Retorna ao início a posição de um ponteiro para um arquivo-gz

gzrewind

(PHP 4, PHP 5, PHP 7, PHP 8)

gzrewind — Retorna ao início a posição de um ponteiro para um arquivo-gz

Descrição

gzrewind ( resource $zp ) : bool

Define o indicador de posição para o dado arquivo gz para o início do arquivo.

Parâmetros

zp

O ponteiro do arquivo gz. Ele deve ser válido e deve apontar para um arquivo aberto corretamente com gzopen().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • gzseek() - Move o ponteiro de um arquivo-gz
  • gztell() - Indica a posição de leitura/gravação em um ponteiro para arquivo-gz


Move o ponteiro de um arquivo-gz

  • « gzrewind
  • gztell »
  • PHP Manual
  • Funções da Zlib
  • Move o ponteiro de um arquivo-gz

gzseek

(PHP 4, PHP 5, PHP 7, PHP 8)

gzseek — Move o ponteiro de um arquivo-gz

Descrição

gzseek ( resource $zp , int $offset ) : int

Define a posição do indicador do dado ponteiro de arquivo para a dada posição do byte dentro do arquivo. Equivalente a chamar (em C) gzseek(zp, offset, SEEK_SET).

Se o arquivo esta aberto para leitura, esta função é emulada mas pode ser extremamente lenta. Se o arquivo estiver aberto para escrita, apenas mudanças para a frente são suportadas; gzseek() então comprime uma sequencia de zeros até a nova posição de início.

Parâmetros

zp

O ponteiro de arquivo gz. Ele precisa ser válido, e apontar para um arquivo aberto com sucesso por gzopen().

offset

A posição desejada.

Valor Retornado

Em caso de sucesso, retorna 0; senão retorna -1. Note que mover a posição alem do fim do arquivo não é considerado um erro. past EOF is not considered an error.

Exemplos

Exemplo #1 Exemplo da gzseek()

<?php
$gz = gzopen('somefile.gz', 'r');
gzseek($gz,2);
echo gzgetc($gz);
gzclose($gz);
?>

Veja Também

  • gztell() - Indica a posição de leitura/gravação em um ponteiro para arquivo-gz
  • gzrewind() - Retorna ao início a posição de um ponteiro para um arquivo-gz


Indica a posição de leitura/gravação em um ponteiro para arquivo-gz

  • « gzseek
  • gzuncompress »
  • PHP Manual
  • Funções da Zlib
  • Indica a posição de leitura/gravação em um ponteiro para arquivo-gz

gztell

(PHP 4, PHP 5, PHP 7, PHP 8)

gztell — Indica a posição de leitura/gravação em um ponteiro para arquivo-gz

Descrição

gztell ( resource $zp ) : int

Obtém a posição do ponteiro de arquivo; i.e., seu índice dentro do arquivo.

Parâmetros

zp

O ponteiro de arquivo gz. Precisa ser válido, e deve apontar para um arquivo aberto corretamente com gzopen().

Valor Retornado

A posição do ponteiro do arquivo ou false se um erro ocorrer.

Veja Também

  • gzopen() - Abre um arquivo-gz
  • gzseek() - Move o ponteiro de um arquivo-gz
  • gzrewind() - Retorna ao início a posição de um ponteiro para um arquivo-gz


Descomprime uma string com DEFLATED

  • « gztell
  • gzwrite »
  • PHP Manual
  • Funções da Zlib
  • Descomprime uma string com DEFLATED

gzuncompress

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

gzuncompress — Descomprime uma string com DEFLATED

Descrição

gzuncompress ( string $data , int $length = ? ) : string

Esta função leva os dados data comprimidos por gzcompress() e retorna os dados originais descomprimidos ou false em caso de erro. A função irá retornar um erro se os dados descompactados foram mais do que 32768 vezes o tamanho dos dados compactados data ou mais do que o parâmetro opcional length.

Veja também gzdeflate(),
gzinflate(),
gzcompress() e
gzencode().


Escrita segura para binário em arquivo-gz

  • « gzuncompress
  • inflate_add »
  • PHP Manual
  • Funções da Zlib
  • Escrita segura para binário em arquivo-gz

gzwrite

(PHP 4, PHP 5, PHP 7, PHP 8)

gzwrite — Escrita segura para binário em arquivo-gz

Descrição

gzwrite ( resource $zp , string $string , int $length = ? ) : int

gzwrite() escreve o conteúdo de string para o arquivo-gz.

Parâmetros

zp

O ponteiro do arquivo gz. Precisa ser válido, e apontar para um arquivo aberto com sucesso por gzopen().

string

A string a ser escrita.

length

O número de bytes descompresso para escrever. Se fornecido, a escrita irá parar depos de length (descomprimido) bytes ter sido escritos, ou ao final de string, o que vier primeiro.

Nota:

Note que se o argumentolength for dado, então a configuração magic_quotes_runtime será ignorada e não serão retiradas as barras de string.

Valor Retornado

Retorna o número de (descomprimido) bytes escrito no dado stream do arquivo gz.

Exemplos

Exemplo #1 Exemplo da gzwrite()

<?php
$string = 'Some information to compress';
$gz = gzopen('somefile.gz','w9');
gzwrite($gz, $string);
gzclose($gz);
?>

Veja Também

  • gzread() - Leitura de arquivos-gz segura para binários
  • gzopen() - Abre um arquivo-gz


Incrementally inflate encoded data

  • « gzwrite
  • inflate_get_read_len »
  • PHP Manual
  • Funções da Zlib
  • Incrementally inflate encoded data

inflate_add

(PHP 7, PHP 8)

inflate_add — Incrementally inflate encoded data

Descrição

inflate_add ( InflateContext $context , string $data , int $flush_mode = ZLIB_SYNC_FLUSH ) : string|false

Incrementally inflates encoded data in the specified context.

Limitation: header information from GZIP compressed data are not made available.

Parâmetros

context

A context created with inflate_init().

data

A chunk of compressed data.

flush_mode

One of ZLIB_BLOCK, ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH (default), ZLIB_FULL_FLUSH, ZLIB_FINISH. Normally you will want to set ZLIB_NO_FLUSH to maximize compression, and ZLIB_FINISH to terminate with the last chunk of data. See the » zlib manual for a detailed description of these constants.

Valor Retornado

Returns a chunk of uncompressed data, ou false em caso de falha.

Erros

If invalid parameters are given, inflating the data requires a preset dictionary, but none is specified, the compressed stream is corrupt or has an invalid checksum, an error of level E_WARNING is generated.

Changelog

Versão | Descrição
8.0.0 | context expects an InflateContext instance now; previously, a resource was expected.

Veja Também

  • inflate_init() - Initialize an incremental inflate context


Get number of bytes read so far

  • « inflate_add
  • inflate_get_status »
  • PHP Manual
  • Funções da Zlib
  • Get number of bytes read so far

inflate_get_read_len

(PHP 7 >= 7.2.0, PHP 8)

inflate_get_read_len — Get number of bytes read so far

Descrição

inflate_get_read_len ( InflateContext $context ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

context

Valor Retornado

Returns number of bytes read so far ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | context expects an InflateContext instance now; previously, a resource was expected.


Get decompression status

  • « inflate_get_read_len
  • inflate_init »
  • PHP Manual
  • Funções da Zlib
  • Get decompression status

inflate_get_status

(PHP 7 >= 7.2.0, PHP 8)

inflate_get_status — Get decompression status

Descrição

inflate_get_status ( InflateContext $context ) : int

Usually returns either ZLIB_OK or ZLIB_STREAM_END.

Parâmetros

context

Valor Retornado

Returns decompression status ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | context expects an InflateContext instance now; previously, a resource was expected.


Initialize an incremental inflate context

  • « inflate_get_status
  • readgzfile »
  • PHP Manual
  • Funções da Zlib
  • Initialize an incremental inflate context

inflate_init

(PHP 7, PHP 8)

inflate_init — Initialize an incremental inflate context

Descrição

inflate_init ( int $encoding , array $options = [] ) : InflateContext|false

Initialize an incremental inflate context with the specified encoding.

Parâmetros

encoding

One of the ZLIB_ENCODING_* constants.

options

An associative array which may contain the following elements:

level

The compression level in range -1..9; defaults to -1.

memory

The compression memory level in range 1..9; defaults to 8.

window

The zlib window size (logarithmic) in range 8..15; defaults to 15.

strategy

One of ZLIB_FILTERED, ZLIB_HUFFMAN_ONLY, ZLIB_RLE, ZLIB_FIXED or ZLIB_DEFAULT_STRATEGY (the default).

dictionary

A string or an array of strings of the preset dictionary (default: no preset dictionary).

Valor Retornado

Returns an inflate context resource (zlib.inflate) on success, ou false em caso de falha.

Erros

If an invalid encoding or option is passed to options, or the context couldn't be created, an error of level E_WARNING is generated.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns an InflateContext instance now; previously, a resource was returned.

Veja Também

  • inflate_add() - Incrementally inflate encoded data
  • deflate_init() - Initialize an incremental deflate context


Mostra um arquivo-gz

  • « inflate_init
  • zlib_decode »
  • PHP Manual
  • Funções da Zlib
  • Mostra um arquivo-gz

readgzfile

(PHP 4, PHP 5, PHP 7, PHP 8)

readgzfile — Mostra um arquivo-gz

Descrição

readgzfile ( string $filename , int $use_include_path = ? ) : int

Lê um arquivo, descomprime ele e escreve-o para a saída padrão.

readgzfile() pode ser usada para ler um arquivo o qual não esteja no formato gzip, neste caso readgzfile() irá ler diretamente do arquivo sem descompressão.

Parâmetros

filename

O nome do arquivo. Este arquivo será aberto do sistema de arquivo e seu conteúdo escrito para saída padrão.

use_include_path

Você pode definir este parâmetro opcional para 1, se você quer procurar pelo arquivo no include_path também.

Valor Retornado

Retorna o número de (descomprimidos) bytes lidos a partir do arquivo. Se acontecer um erro, é retornado false e a menos que a função seja chamada como @readgzfile, uma mensagem de erro é mostrada.

Veja Também

  • gzpassthru() - Envia todos os dados restantes em um ponteiro para arquivo-gz
  • gzfile() - Lê todo o arquivo-gz para uma matriz
  • gzopen() - Abre um arquivo-gz


Uncompress any raw/gzip/zlib encoded data

  • « readgzfile
  • zlib_encode »
  • PHP Manual
  • Funções da Zlib
  • Uncompress any raw/gzip/zlib encoded data

zlib_decode

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

zlib_decode — Uncompress any raw/gzip/zlib encoded data

Descrição

zlib_decode ( string $data , int $max_length = 0 ) : string|false

Uncompress any raw/gzip/zlib encoded data.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

data

max_length

Valor Retornado

Returns the uncompressed data, ou false em caso de falha.

Veja Também

  • zlib_encode() - Compress data with the specified encoding


Compress data with the specified encoding

  • « zlib_decode
  • zlib_get_coding_type »
  • PHP Manual
  • Funções da Zlib
  • Compress data with the specified encoding

zlib_encode

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

zlib_encode — Compress data with the specified encoding

Descrição

zlib_encode ( string $data , int $encoding , int $level = -1 ) : string|false

Compress data with the specified encoding.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

data

The data to compress.

encoding

The compression algorithm. Either ZLIB_ENCODING_RAW, ZLIB_ENCODING_DEFLATE or ZLIB_ENCODING_GZIP.

level

Valor Retornado

Exemplos

Exemplo #1 zlib_encode() example

<?php
$str = 'hello world';
$enc = zlib_encode($str, ZLIB_ENCODING_DEFLATE);
echo bin2hex($enc);
?>

O exemplo acima irá imprimir:

789ccb48cdc9c95728cf2fca4901001a0b045d

Veja Também

  • zlib_decode() - Uncompress any raw/gzip/zlib encoded data


Retorna o tipo de codificação para a compressão de saída

  • « zlib_encode
  • Extensões para Criptografia »
  • PHP Manual
  • Funções da Zlib
  • Retorna o tipo de codificação para a compressão de saída

zlib_get_coding_type

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

zlib_get_coding_type — Retorna o tipo de codificação para a compressão de saída

Descrição

zlib_get_coding_type ( ) : string

Retorna o tipo de codificação usado para a compressão de saída.

Valor Retornado

Possíveis valores de retorno são gzip, deflate, ou false.

Veja Também

  • A diretiva zlib.output_compression


Extensões para Criptografia

  • CSPRNG
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • CSPRNG Funções
  • Hash — HASH Message Digest Framework
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • HashContext — The HashContext class
    • Hash Funções
  • Mcrypt
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Mcrypt ciphers
    • Exemplos
    • Mcrypt Funções
  • Mhash
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções da Mhash
  • OpenSSL
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Key/Certificate parameters
    • Certificate Verification
    • OpenSSL Funções
    • OpenSSLCertificate — The OpenSSLCertificate class
    • OpenSSLCertificateSigningRequest — The OpenSSLCertificateSigningRequest class
    • OpenSSLAsymmetricKey — The OpenSSLAsymmetricKey class
  • Password Hashing
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções de Password Hashing
  • Sodium
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Sodium Funções
    • SodiumException — The SodiumException class


CSPRNG

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • CSPRNG Funções
    • random_bytes — Generates cryptographically secure pseudo-random bytes
    • random_int — Generates cryptographically secure pseudo-random integers


Introdução

The » cryptographically secure pseudo-random number generator (CSPRNG) API provides an easy and reliable way to generate crypto-strong random integers and bytes for use within cryptographic contexts.

Isto existe desde o PHP 7.0.0 but there is also a » userland implementation for PHP >= 5.2.0.


  • « Tipos de Recurso
  • CSPRNG Funções »
  • PHP Manual
  • CSPRNG
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


CSPRNG Funções

Índice

  • random_bytes — Generates cryptographically secure pseudo-random bytes
  • random_int — Generates cryptographically secure pseudo-random integers


Generates cryptographically secure pseudo-random bytes

  • « CSPRNG Funções
  • random_int »
  • PHP Manual
  • CSPRNG Funções
  • Generates cryptographically secure pseudo-random bytes

random_bytes

(PHP 7, PHP 8)

random_bytes — Generates cryptographically secure pseudo-random bytes

Descrição

random_bytes ( int $length ) : string

Generates an arbitrary length string of cryptographic random bytes that are suitable for cryptographic use, such as when generating salts, keys or initialization vectors.

As fontes de aleatoriedade dessa função são:

  • No Windows, a função » CryptGenRandom() sempre será utilizada.
  • No Linux, a syscall » getrandom(2) será utilizada se disponível.
  • Em outras plataformas /dev/urandom será utilizada.
  • Se nenhuma das fontes acima estiver disponível, então uma Exception será lançada.

Nota: Embora essa função tenha sido adicionado no PHP 7.0, existe » implementação userland disponível para PHP 5.2 ao 5.6.

Parâmetros

length

The length of the random string that should be returned in bytes.

Valor Retornado

Returns a string containing the requested number of cryptographically secure random bytes.

Erros

  • Se uma fonte de aleatoriedade não for encontrada uma Exception será lançada.
  • No caso de parâmetros inválidos um TypeError será lançado.
  • If an invalid length of bytes is given, an Error will be thrown.

Exemplos

Exemplo #1 random_bytes() example

<?php
$bytes = random_bytes(5);
var_dump(bin2hex($bytes));
?>

O exemplo acima irá imprimir algo similar à:

string(10) "385e33f741"

Veja Também

  • random_int() - Generates cryptographically secure pseudo-random integers
  • openssl_random_pseudo_bytes() - Generate a pseudo-random string of bytes
  • bin2hex() - Converte um dado binário em representação hexadecimal


Generates cryptographically secure pseudo-random integers

  • « random_bytes
  • Hash »
  • PHP Manual
  • CSPRNG Funções
  • Generates cryptographically secure pseudo-random integers

random_int

(PHP 7, PHP 8)

random_int — Generates cryptographically secure pseudo-random integers

Descrição

random_int ( int $min , int $max ) : int

Generates cryptographic random integers that are suitable for use where unbiased results are critical, such as when shuffling a deck of cards for a poker game.

As fontes de aleatoriedade dessa função são:

  • No Windows, a função » CryptGenRandom() sempre será utilizada.
  • No Linux, a syscall » getrandom(2) será utilizada se disponível.
  • Em outras plataformas /dev/urandom será utilizada.
  • Se nenhuma das fontes acima estiver disponível, então uma Exception será lançada.

Nota: Embora essa função tenha sido adicionado no PHP 7.0, existe » implementação userland disponível para PHP 5.2 ao 5.6.

Parâmetros

min

The lowest value to be returned, which must be PHP_INT_MIN or higher.

max

The highest value to be returned, which must be less than or equal to PHP_INT_MAX.

Valor Retornado

Returns a cryptographically secure random integer in the range min to max, inclusive.

Erros

  • Se uma fonte de aleatoriedade não for encontrada uma Exception será lançada.
  • No caso de parâmetros inválidos um TypeError será lançado.
  • If max is less than min, an Error will be thrown.

Exemplos

Exemplo #1 random_int() example

<?php
var_dump(random_int(100, 999));
var_dump(random_int(-1000, 0));
?>

O exemplo acima irá imprimir algo similar à:

int(248)
int(-898)

Veja Também

  • random_bytes() - Generates cryptographically secure pseudo-random bytes


HASH Message Digest Framework

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • HashContext — The HashContext class
    • HashContext::__construct — Private constructor to disallow direct instantiation
  • Hash Funções
    • hash_algos — Return a list of registered hashing algorithms
    • hash_copy — Copy hashing context
    • hash_equals — Timing attack safe string comparison
    • hash_file — Generate a hash value using the contents of a given file
    • hash_final — Finalize an incremental hash and return resulting digest
    • hash_hkdf — Generate a HKDF key derivation of a supplied key input
    • hash_hmac_algos — Return a list of registered hashing algorithms suitable for hash_hmac
    • hash_hmac_file — Generate a keyed hash value using the HMAC method and the contents of a given file
    • hash_hmac — Generate a keyed hash value using the HMAC method
    • hash_init — Initialize an incremental hashing context
    • hash_pbkdf2 — Generate a PBKDF2 key derivation of a supplied password
    • hash_update_file — Pump data into an active hashing context from a file
    • hash_update_stream — Pump data into an active hashing context from an open stream
    • hash_update — Pump data into an active hashing context
    • hash — Generate a hash value (message digest)


Introdução

Message Digest (hash) engine. Allows direct or incremental processing of arbitrary length messages using a variety of hashing algorithms.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

Esta extensão não necessita de instalação. Suas funções são parte do núcleo do PHP.


Instalação

As of PHP 5.1.2, the Hash extension is bundled and compiled into PHP by default.

It may be explicitly disabled by using the --disable-hash switch to configure. Earlier versions of PHP may incorporate the Hash extension by installing the » PECL module.

As of PHP 7.4.0, the Hash extension is a core PHP extension, so it is always enabled.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

This extension defines a Hashing Context resource returned by hash_init().


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

HASH_HMAC (int)
Optional flag for hash_init(). Indicates that the HMAC digest-keying algorithm should be applied to the current hashing context.


The HashContext class

(PHP 7 >= 7.2.0, PHP 8)

Introdução

Sinopse da classe

HashContext {
/* Métodos */
private __construct ( )
}

Índice

  • HashContext::__construct — Private constructor to disallow direct instantiation


Private constructor to disallow direct instantiation

  • « HashContext
  • Hash Funções »
  • PHP Manual
  • HashContext
  • Private constructor to disallow direct instantiation

HashContext::__construct

(PHP 7 >= 7.2.0, PHP 8)

HashContext::__construct — Private constructor to disallow direct instantiation

Descrição

private HashContext::__construct ( )

Parâmetros

Esta função não possui parâmetros.


Hash Funções

Índice

  • hash_algos — Return a list of registered hashing algorithms
  • hash_copy — Copy hashing context
  • hash_equals — Timing attack safe string comparison
  • hash_file — Generate a hash value using the contents of a given file
  • hash_final — Finalize an incremental hash and return resulting digest
  • hash_hkdf — Generate a HKDF key derivation of a supplied key input
  • hash_hmac_algos — Return a list of registered hashing algorithms suitable for hash_hmac
  • hash_hmac_file — Generate a keyed hash value using the HMAC method and the contents of a given file
  • hash_hmac — Generate a keyed hash value using the HMAC method
  • hash_init — Initialize an incremental hashing context
  • hash_pbkdf2 — Generate a PBKDF2 key derivation of a supplied password
  • hash_update_file — Pump data into an active hashing context from a file
  • hash_update_stream — Pump data into an active hashing context from an open stream
  • hash_update — Pump data into an active hashing context
  • hash — Generate a hash value (message digest)


Return a list of registered hashing algorithms

  • « Hash Funções
  • hash_copy »
  • PHP Manual
  • Hash Funções
  • Return a list of registered hashing algorithms

hash_algos

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_algos — Return a list of registered hashing algorithms

Descrição

hash_algos ( ) : array

Valor Retornado

Returns a numerically indexed array containing the list of supported hashing algorithms.

Changelog

Versão | Descrição
7.4.0 | Support for crc32c has been added.
7.1.0 | Support for sha512/224, sha512/256, sha3-224, sha3-256, sha3-384 and sha3-512 has been added.

Exemplos

Exemplo #1 hash_algos() example

As of PHP 7.4.0, hash_algos() will return the following list of algorithm names.

<?php
print_r(hash_algos());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => md2
    [1] => md4
    [2] => md5
    [3] => sha1
    [4] => sha224
    [5] => sha256
    [6] => sha384
    [7] => sha512/224
    [8] => sha512/256
    [9] => sha512
    [10] => sha3-224
    [11] => sha3-256
    [12] => sha3-384
    [13] => sha3-512
    [14] => ripemd128
    [15] => ripemd160
    [16] => ripemd256
    [17] => ripemd320
    [18] => whirlpool
    [19] => tiger128,3
    [20] => tiger160,3
    [21] => tiger192,3
    [22] => tiger128,4
    [23] => tiger160,4
    [24] => tiger192,4
    [25] => snefru
    [26] => snefru256
    [27] => gost
    [28] => gost-crypto
    [29] => adler32
    [30] => crc32
    [31] => crc32b
    [32] => crc32c
    [33] => fnv132
    [34] => fnv1a32
    [35] => fnv164
    [36] => fnv1a64
    [37] => joaat
    [38] => haval128,3
    [39] => haval160,3
    [40] => haval192,3
    [41] => haval224,3
    [42] => haval256,3
    [43] => haval128,4
    [44] => haval160,4
    [45] => haval192,4
    [46] => haval224,4
    [47] => haval256,4
    [48] => haval128,5
    [49] => haval160,5
    [50] => haval192,5
    [51] => haval224,5
    [52] => haval256,5
)

Veja Também

  • hash_hmac_algos() - Return a list of registered hashing algorithms suitable for hash_hmac


Copy hashing context

  • « hash_algos
  • hash_equals »
  • PHP Manual
  • Hash Funções
  • Copy hashing context

hash_copy

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

hash_copy — Copy hashing context

Descrição

hash_copy ( HashContext $context ) : HashContext

Parâmetros

context

Hashing context returned by hash_init().

Valor Retornado

Returns a copy of Hashing Context.

Changelog

Versão | Descrição
7.2.0 | Accept and return HashContext instead of resource.

Exemplos

Exemplo #1 hash_copy() example

<?php
$context = hash_init("md5");
hash_update($context, "data");

/* copy context to be able to continue using it */
$copy_context = hash_copy($context);

echo hash_final($context), "\n";

hash_update($copy_context, "data");
echo hash_final($copy_context), "\n";
?>

O exemplo acima irá imprimir:

8d777f385d3dfec8815d20f7496026dc
511ae0b1c13f95e5f08f1a0dd3da3d93


Timing attack safe string comparison

  • « hash_copy
  • hash_file »
  • PHP Manual
  • Hash Funções
  • Timing attack safe string comparison

hash_equals

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

hash_equals — Timing attack safe string comparison

Descrição

hash_equals ( string $known_string , string $user_string ) : bool

Compares two strings using the same time whether they're equal or not.

This function should be used to mitigate timing attacks; for instance, when testing crypt() password hashes.

Parâmetros

known_string

The string of known length to compare against

user_string

The user-supplied string

Valor Retornado

Returns true when the two strings are equal, false otherwise.

Erros

Emits an E_WARNING message when either of the supplied parameters is not a string.

Exemplos

Exemplo #1 hash_equals() example

<?php
$expected  = crypt('12345', '$2a$07$usesomesillystringforsalt$');
$correct   = crypt('12345', '$2a$07$usesomesillystringforsalt$');
$incorrect = crypt('apple', '$2a$07$usesomesillystringforsalt$');

var_dump(hash_equals($expected, $correct));
var_dump(hash_equals($expected, $incorrect));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)

Notas

Nota:

Both arguments must be of the same length to be compared successfully. When arguments of differing length are supplied, false is returned immediately and the length of the known string may be leaked in case of a timing attack.

Nota:

It is important to provide the user-supplied string as the second parameter, rather than the first.


Generate a hash value using the contents of a given file

  • « hash_equals
  • hash_final »
  • PHP Manual
  • Hash Funções
  • Generate a hash value using the contents of a given file

hash_file

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_file — Generate a hash value using the contents of a given file

Descrição

hash_file ( string $algo , string $filename , bool $binary = false ) : string|false

Parâmetros

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..). For a list of supported algorithms see hash_algos().

filename

URL describing location of file to be hashed; Supports fopen wrappers.

binary

When set to true, outputs raw binary data. false outputs lowercase hexits.

Valor Retornado

Returns a string containing the calculated message digest as lowercase hexits unless binary is set to true in which case the raw binary representation of the message digest is returned.

Exemplos

Exemplo #1 Using hash_file()

<?php
/* Create a file to calculate hash of */
file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.');

echo hash_file('md5', 'example.txt');
?>

O exemplo acima irá imprimir:

5c6ffbdd40d9556b73a21e63c3e0e904

Veja Também

  • hash() - Generate a hash value (message digest)
  • hash_hmac_file() - Generate a keyed hash value using the HMAC method and the contents of a given file
  • hash_update_file() - Pump data into an active hashing context from a file
  • md5_file() - Calcula hash md5 de um dado arquivo
  • sha1_file() - Calcula a hash sha1 de um arquivo


Finalize an incremental hash and return resulting digest

  • « hash_file
  • hash_hkdf »
  • PHP Manual
  • Hash Funções
  • Finalize an incremental hash and return resulting digest

hash_final

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_final — Finalize an incremental hash and return resulting digest

Descrição

hash_final ( HashContext $context , bool $binary = false ) : string

Parâmetros

context

Hashing context returned by hash_init().

binary

When set to true, outputs raw binary data. false outputs lowercase hexits.

Valor Retornado

Returns a string containing the calculated message digest as lowercase hexits unless binary is set to true in which case the raw binary representation of the message digest is returned.

Changelog

Versão | Descrição
7.2.0 | Accept HashContext instead of resource.

Exemplos

Exemplo #1 hash_final() example

<?php
$ctx = hash_init('sha1');
hash_update($ctx, 'The quick brown fox jumped over the lazy dog.');
echo hash_final($ctx);
?>

O exemplo acima irá imprimir:

c0854fb9fb03c41cce3802cb0d220529e6eef94e

Veja Também

  • hash_init() - Initialize an incremental hashing context
  • hash_update() - Pump data into an active hashing context
  • hash_update_stream() - Pump data into an active hashing context from an open stream
  • hash_update_file() - Pump data into an active hashing context from a file


Generate a HKDF key derivation of a supplied key input

  • « hash_final
  • hash_hmac_algos »
  • PHP Manual
  • Hash Funções
  • Generate a HKDF key derivation of a supplied key input

hash_hkdf

(PHP 7 >= 7.1.2, PHP 8)

hash_hkdf — Generate a HKDF key derivation of a supplied key input

Descrição

hash_hkdf ( string $algo , string $key , int $length = 0 , string $info = "" , string $salt = "" ) : string

Parâmetros

algo

Name of selected hashing algorithm (i.e. "sha256", "sha512", "haval160,4", etc..) See hash_algos() for a list of supported algorithms.

Nota:

Non-cryptographic hash functions are not allowed.

key

Input keying material (raw binary). Cannot be empty.

length

Desired output length in bytes. Cannot be greater than 255 times the chosen hash function size.

If length is 0, the output length will default to the chosen hash function size.

info

Application/context-specific info string.

salt

Salt to use during derivation.

While optional, adding random salt significantly improves the strength of HKDF.

Valor Retornado

Returns a string containing a raw binary representation of the derived key (also known as output keying material - OKM); or false on failure.

Erros

An E_WARNING will be raised if key is empty, algo is unknown/non-cryptographic, length is less than 0 or too large (greater than 255 times the size of the hash function).

Exemplos

Exemplo #1 hash_hkdf() example

<?php
// Generate a random key, and salt to strengthen it during derivation.
$inputKey = random_bytes(32);
$salt = random_bytes(16);

// Derive a pair of separate keys, using the same input created above.
$encryptionKey = hash_hkdf('sha256', $inputKey, 32, 'aes-256-encryption', $salt);
$authenticationKey = hash_hkdf('sha256', $inputKey, 32, 'sha-256-authentication', $salt);

var_dump($encryptionKey !== $authenticationKey); // bool(true)
?>

The above example produces a pair of separate keys, suitable for creation of an encrypt-then-HMAC construct, using AES-256 and SHA-256 for encryption and authentication respectively.

Veja Também

  • hash_pbkdf2() - Generate a PBKDF2 key derivation of a supplied password
  • » RFC 5869
  • » userland implementation


Return a list of registered hashing algorithms suitable for hash_hmac

  • « hash_hkdf
  • hash_hmac_file »
  • PHP Manual
  • Hash Funções
  • Return a list of registered hashing algorithms suitable for hash_hmac

hash_hmac_algos

(PHP 7 >= 7.2.0, PHP 8)

hash_hmac_algos — Return a list of registered hashing algorithms suitable for hash_hmac

Descrição

hash_hmac_algos ( ) : array

Valor Retornado

Returns a numerically indexed array containing the list of supported hashing algorithms suitable for hash_hmac().

Exemplos

Exemplo #1 hash_hmac_algos() example

<?php
print_r(hash_hmac_algos());

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => md2
    [1] => md4
    [2] => md5
    [3] => sha1
    [4] => sha224
    [5] => sha256
    [6] => sha384
    [7] => sha512/224
    [8] => sha512/256
    [9] => sha512
    [10] => sha3-224
    [11] => sha3-256
    [12] => sha3-384
    [13] => sha3-512
    [14] => ripemd128
    [15] => ripemd160
    [16] => ripemd256
    [17] => ripemd320
    [18] => whirlpool
    [19] => tiger128,3
    [20] => tiger160,3
    [21] => tiger192,3
    [22] => tiger128,4
    [23] => tiger160,4
    [24] => tiger192,4
    [25] => snefru
    [26] => snefru256
    [27] => gost
    [28] => gost-crypto
    [29] => haval128,3
    [30] => haval160,3
    [31] => haval192,3
    [32] => haval224,3
    [33] => haval256,3
    [34] => haval128,4
    [35] => haval160,4
    [36] => haval192,4
    [37] => haval224,4
    [38] => haval256,4
    [39] => haval128,5
    [40] => haval160,5
    [41] => haval192,5
    [42] => haval224,5
    [43] => haval256,5
)

Notas

Nota:

Before PHP 7.2.0 the only means to get a list of supported hash algorithms has been to call hash_algos() which also returns hash algorithms that are not suitable for hash_hmac().

Veja Também

  • hash_hmac() - Generate a keyed hash value using the HMAC method
  • hash_algos() - Return a list of registered hashing algorithms


Generate a keyed hash value using the HMAC method and the contents of a given file

  • « hash_hmac_algos
  • hash_hmac »
  • PHP Manual
  • Hash Funções
  • Generate a keyed hash value using the HMAC method and the contents of a given file

hash_hmac_file

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_hmac_file — Generate a keyed hash value using the HMAC method and the contents of a given file

Descrição

hash_hmac_file ( string $algo , string $data , string $key , bool $binary = false ) : string|false

Parâmetros

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..) See hash_hmac_algos() for a list of supported algorithms.

data

URL describing location of file to be hashed; Supports fopen wrappers.

key

Shared secret key used for generating the HMAC variant of the message digest.

binary

When set to true, outputs raw binary data. false outputs lowercase hexits.

Valor Retornado

Returns a string containing the calculated message digest as lowercase hexits unless binary is set to true in which case the raw binary representation of the message digest is returned. Returns false when algo is unknown or is a non-cryptographic hash function, or if the file data cannot be read.

Changelog

Versão | Descrição
7.2.0 | Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled.

Exemplos

Exemplo #1 hash_hmac_file() example

<?php
/* Create a file to calculate hash of */
file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.');

echo hash_hmac_file('md5', 'example.txt', 'secret');
?>

O exemplo acima irá imprimir:

7eb2b5c37443418fc77c136dd20e859c

Veja Também

  • hash_hmac_algos() - Return a list of registered hashing algorithms suitable for hash_hmac
  • hash_hmac() - Generate a keyed hash value using the HMAC method
  • hash_file() - Generate a hash value using the contents of a given file


Generate a keyed hash value using the HMAC method

  • « hash_hmac_file
  • hash_init »
  • PHP Manual
  • Hash Funções
  • Generate a keyed hash value using the HMAC method

hash_hmac

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_hmac — Generate a keyed hash value using the HMAC method

Descrição

hash_hmac ( string $algo , string $data , string $key , bool $binary = false ) : string|false

Parâmetros

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..) See hash_hmac_algos() for a list of supported algorithms.

data

Message to be hashed.

key

Shared secret key used for generating the HMAC variant of the message digest.

binary

When set to true, outputs raw binary data. false outputs lowercase hexits.

Valor Retornado

Returns a string containing the calculated message digest as lowercase hexits unless binary is set to true in which case the raw binary representation of the message digest is returned. Returns false when algo is unknown or is a non-cryptographic hash function.

Changelog

Versão | Descrição
7.2.0 | Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled.

Exemplos

Exemplo #1 hash_hmac() example

<?php
echo hash_hmac('ripemd160', 'The quick brown fox jumped over the lazy dog.', 'secret');
?>

O exemplo acima irá imprimir:

b8e7ae12510bdfb1812e463a7f086122cf37e4f7

Veja Também

  • hash() - Generate a hash value (message digest)
  • hash_hmac_algos() - Return a list of registered hashing algorithms suitable for hash_hmac
  • hash_init() - Initialize an incremental hashing context
  • hash_hmac_file() - Generate a keyed hash value using the HMAC method and the contents of a given file


Initialize an incremental hashing context

  • « hash_hmac
  • hash_pbkdf2 »
  • PHP Manual
  • Hash Funções
  • Initialize an incremental hashing context

hash_init

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_init — Initialize an incremental hashing context

Descrição

hash_init ( string $algo , int $flags = 0 , string $key = "" ) : HashContext

Parâmetros

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..). For a list of supported algorithms see hash_algos().

flags

Optional settings for hash generation, currently supports only one option: HASH_HMAC. When specified, the key must be specified.

key

When HASH_HMAC is specified for flags, a shared secret key to be used with the HMAC hashing method must be supplied in this parameter.

Valor Retornado

Returns a Hashing Context for use with hash_update(), hash_update_stream(), hash_update_file(), and hash_final().

Changelog

Versão | Descrição
7.2.0 | Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) with HASH_HMAC was disabled.
7.2.0 | Return HashContext instead of resource.

Exemplos

Exemplo #1 Incremental hashing example

<?php
$ctx = hash_init('md5');
hash_update($ctx, 'The quick brown fox ');
hash_update($ctx, 'jumped over the lazy dog.');
echo hash_final($ctx);
?>

O exemplo acima irá imprimir:

5c6ffbdd40d9556b73a21e63c3e0e904

Veja Também

  • hash() - Generate a hash value (message digest)
  • hash_algos() - Return a list of registered hashing algorithms
  • hash_file() - Generate a hash value using the contents of a given file
  • hash_hmac() - Generate a keyed hash value using the HMAC method
  • hash_hmac_file() - Generate a keyed hash value using the HMAC method and the contents of a given file


Generate a PBKDF2 key derivation of a supplied password

  • « hash_init
  • hash_update_file »
  • PHP Manual
  • Hash Funções
  • Generate a PBKDF2 key derivation of a supplied password

hash_pbkdf2

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

hash_pbkdf2 — Generate a PBKDF2 key derivation of a supplied password

Descrição

hash_pbkdf2 ( string $algo , string $password , string $salt , int $iterations , int $length = 0 , bool $binary = false ) : string

Parâmetros

algo

Name of selected hashing algorithm (i.e. md5, sha256, haval160,4, etc..) See hash_algos() for a list of supported algorithms.

password

The password to use for the derivation.

salt

The salt to use for the derivation. This value should be generated randomly.

iterations

The number of internal iterations to perform for the derivation.

length

The length of the output string. If binary is true this corresponds to the byte-length of the derived key, if binary is false this corresponds to twice the byte-length of the derived key (as every byte of the key is returned as two hexits).

If 0 is passed, the entire output of the supplied algorithm is used.

binary

When set to true, outputs raw binary data. false outputs lowercase hexits.

Valor Retornado

Returns a string containing the derived key as lowercase hexits unless binary is set to true in which case the raw binary representation of the derived key is returned.

Erros

An E_WARNING will be raised if the algorithm is unknown, the iterations parameter is less than or equal to 0, the length is less than 0 or the salt is too long (greater than INT_MAX - 4).

Changelog

Versão | Descrição
7.2.0 | Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled.

Exemplos

Exemplo #1 hash_pbkdf2() example, basic usage

<?php
$password = "password";
$iterations = 1000;

// Generate a random IV using openssl_random_pseudo_bytes()
// random_bytes() or another suitable source of randomness
$salt = openssl_random_pseudo_bytes(16);

$hash = hash_pbkdf2("sha256", $password, $salt, $iterations, 20);
echo $hash;
?>

O exemplo acima irá imprimir algo similar à:

120fb6cffcf8b32c43e7

Notas

Cuidado

The PBKDF2 method can be used for hashing passwords for storage. However, it should be noted that password_hash() or crypt() with CRYPT_BLOWFISH are better suited for password storage.

Veja Também

  • crypt() - Encriptação unidirecional de string (hashing)
  • password_hash() - Cria um password hash
  • hash() - Generate a hash value (message digest)
  • hash_algos() - Return a list of registered hashing algorithms
  • hash_init() - Initialize an incremental hashing context
  • hash_hmac() - Generate a keyed hash value using the HMAC method
  • hash_hmac_file() - Generate a keyed hash value using the HMAC method and the contents of a given file
  • openssl_pbkdf2() - Generates a PKCS5 v2 PBKDF2 string


Pump data into an active hashing context from a file

  • « hash_pbkdf2
  • hash_update_stream »
  • PHP Manual
  • Hash Funções
  • Pump data into an active hashing context from a file

hash_update_file

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_update_file — Pump data into an active hashing context from a file

Descrição

hash_update_file ( HashContext $context , string $filename , resource|null $stream_context = null ) : bool

Parâmetros

context

Hashing context returned by hash_init().

filename

URL describing location of file to be hashed; Supports fopen wrappers.

stream_context

Stream context as returned by stream_context_create().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | stream_context is now nullable.
7.2.0 | Accept HashContext instead of resource.

Veja Também

  • hash_init() - Initialize an incremental hashing context
  • hash_update() - Pump data into an active hashing context
  • hash_update_stream() - Pump data into an active hashing context from an open stream
  • hash_final() - Finalize an incremental hash and return resulting digest
  • hash() - Generate a hash value (message digest)
  • hash_file() - Generate a hash value using the contents of a given file


Pump data into an active hashing context from an open stream

  • « hash_update_file
  • hash_update »
  • PHP Manual
  • Hash Funções
  • Pump data into an active hashing context from an open stream

hash_update_stream

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_update_stream — Pump data into an active hashing context from an open stream

Descrição

hash_update_stream ( HashContext $context , resource $stream , int $length = -1 ) : int

Parâmetros

context

Hashing context returned by hash_init().

stream

Open file handle as returned by any stream creation function.

length

Maximum number of characters to copy from stream into the hashing context.

Valor Retornado

Actual number of bytes added to the hashing context from stream.

Changelog

Versão | Descrição
7.2.0 | Accept HashContext instead of resource.

Exemplos

Exemplo #1 hash_update_stream() example

<?php
$fp = tmpfile();
fwrite($fp, 'The quick brown fox jumped over the lazy dog.');
rewind($fp);

$ctx = hash_init('md5');
hash_update_stream($ctx, $fp);
echo hash_final($ctx);
?>

O exemplo acima irá imprimir:

5c6ffbdd40d9556b73a21e63c3e0e904

Veja Também

  • hash_init() - Initialize an incremental hashing context
  • hash_update() - Pump data into an active hashing context
  • hash_final() - Finalize an incremental hash and return resulting digest
  • hash() - Generate a hash value (message digest)
  • hash_file() - Generate a hash value using the contents of a given file


Pump data into an active hashing context

  • « hash_update_stream
  • hash »
  • PHP Manual
  • Hash Funções
  • Pump data into an active hashing context

hash_update

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_update — Pump data into an active hashing context

Descrição

hash_update ( HashContext $context , string $data ) : bool

Parâmetros

context

Hashing context returned by hash_init().

data

Message to be included in the hash digest.

Valor Retornado

Returns true.

Changelog

Versão | Descrição
7.2.0 | Accept HashContext instead of resource.

Veja Também

  • hash_init() - Initialize an incremental hashing context
  • hash_update_file() - Pump data into an active hashing context from a file
  • hash_update_stream() - Pump data into an active hashing context from an open stream
  • hash_final() - Finalize an incremental hash and return resulting digest


Generate a hash value (message digest)

  • « hash_update
  • Mcrypt »
  • PHP Manual
  • Hash Funções
  • Generate a hash value (message digest)

hash

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash — Generate a hash value (message digest)

Descrição

hash ( string $algo , string $data , bool $binary = false ) : string|false

Parâmetros

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..). For a list of supported algorithms see hash_algos().

data

Message to be hashed.

binary

When set to true, outputs raw binary data. false outputs lowercase hexits.

Valor Retornado

Returns a string containing the calculated message digest as lowercase hexits unless binary is set to true in which case the raw binary representation of the message digest is returned.

Exemplos

Exemplo #1 A hash() example

<?php
echo hash('ripemd160', 'The quick brown fox jumped over the lazy dog.');
?>

O exemplo acima irá imprimir:

ec457d0a974c48d5685a7efa03d137dc8bbde7e3

Exemplo #2 Calculate pre PHP-5.4 tiger hashes with PHP-5.4 and higher

<?php
function old_tiger($data = "", $width=192, $rounds = 3) {
    return substr(
        implode(
            array_map(
                function ($h) {
                    return str_pad(bin2hex(strrev($h)), 16, "0");
                },
                str_split(hash("tiger192,$rounds", $data, true), 8)
            )
        ),
        0, 48-(192-$width)/4
    );
}
echo hash('tiger192,3', 'a-string'), PHP_EOL;
echo old_tiger('a-string'), PHP_EOL;
?>

O exemplo acima irá imprimir no PHP 5.3:

146a7492719b3564094efe7abbd40a7416fd900179d02773
64359b7192746a14740ad4bb7afe4e097327d0790190fd16

O exemplo acima irá imprimir no PHP 5.4:

64359b7192746a14740ad4bb7afe4e097327d0790190fd16
146a7492719b3564094efe7abbd40a7416fd900179d02773

Veja Também

  • hash_file() - Generate a hash value using the contents of a given file
  • hash_hmac() - Generate a keyed hash value using the HMAC method
  • hash_init() - Initialize an incremental hashing context
  • md5() - Calcula o "hash MD5" de uma string
  • sha1() - Calcula a hash sha1 de uma string


Mcrypt

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Mcrypt ciphers
  • Exemplos
  • Mcrypt Funções
    • mcrypt_cbc — Encrypts/decrypts data in CBC mode
    • mcrypt_cfb — Encrypts/decrypts data in CFB mode
    • mcrypt_create_iv — Creates an initialization vector (IV) from a random source
    • mcrypt_decrypt — Decrypts crypttext with given parameters
    • mcrypt_ecb — Deprecated: Encrypts/decrypts data in ECB mode
    • mcrypt_enc_get_algorithms_name — Returns the name of the opened algorithm
    • mcrypt_enc_get_block_size — Returns the blocksize of the opened algorithm
    • mcrypt_enc_get_iv_size — Returns the size of the IV of the opened algorithm
    • mcrypt_enc_get_key_size — Returns the maximum supported keysize of the opened mode
    • mcrypt_enc_get_modes_name — Returns the name of the opened mode
    • mcrypt_enc_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm
    • mcrypt_enc_is_block_algorithm_mode — Checks whether the encryption of the opened mode works on blocks
    • mcrypt_enc_is_block_algorithm — Checks whether the algorithm of the opened mode is a block algorithm
    • mcrypt_enc_is_block_mode — Checks whether the opened mode outputs blocks
    • mcrypt_enc_self_test — Runs a self test on the opened module
    • mcrypt_encrypt — Encrypts plaintext with given parameters
    • mcrypt_generic_deinit — This function deinitializes an encryption module
    • mcrypt_generic_end — This function terminates encryption
    • mcrypt_generic_init — This function initializes all buffers needed for encryption
    • mcrypt_generic — This function encrypts data
    • mcrypt_get_block_size — Gets the block size of the specified cipher
    • mcrypt_get_cipher_name — Gets the name of the specified cipher
    • mcrypt_get_iv_size — Returns the size of the IV belonging to a specific cipher/mode combination
    • mcrypt_get_key_size — Gets the key size of the specified cipher
    • mcrypt_list_algorithms — Gets an array of all supported ciphers
    • mcrypt_list_modes — Gets an array of all supported modes
    • mcrypt_module_close — Closes the mcrypt module
    • mcrypt_module_get_algo_block_size — Returns the blocksize of the specified algorithm
    • mcrypt_module_get_algo_key_size — Returns the maximum supported keysize of the opened mode
    • mcrypt_module_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm
    • mcrypt_module_is_block_algorithm_mode — Returns if the specified module is a block algorithm or not
    • mcrypt_module_is_block_algorithm — This function checks whether the specified algorithm is a block algorithm
    • mcrypt_module_is_block_mode — Returns if the specified mode outputs blocks or not
    • mcrypt_module_open — Opens the module of the algorithm and the mode to be used
    • mcrypt_module_self_test — This function runs a self test on the specified module
    • mcrypt_ofb — Encrypts/decrypts data in OFB mode
    • mdecrypt_generic — Decrypts data


Introdução

Aviso

This feature was DEPRECATED in PHP 7.1.0, and REMOVED in PHP 7.2.0.

Alternatives to this feature include:

  • Sodium (available as of PHP 7.2.0)
  • OpenSSL

Nota:

Esta extensão foi movida para o repositório » PECL e não é mais incluída como parte do PHP.7.2.0.

This is an interface to the mcrypt library, which supports a wide variety of block algorithms such as DES, TripleDES, Blowfish (default), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 and GOST in CBC, OFB, CFB and ECB cipher modes. Additionally, it supports RC6 and IDEA which are considered "non-free". CFB/OFB are 8bit by default.


Dependências

These functions work using » mcrypt. To use it, download libmcrypt-x.x.tar.gz from » http://mcrypt.sourceforge.net/ and follow the included installation instructions.

libmcrypt Version 2.5.6 or greater is required.

Windows users will find the library is the PHP 5.2 Windows binaries release. PHP 5.3 Windows binaries uses the static version of the MCrypt library, no DLL are needed.

If you linked against libmcrypt 2.4.x or higher, the following additional block algorithms are supported: CAST, LOKI97, RIJNDAEL, SAFERPLUS, SERPENT and the following stream ciphers: ENIGMA (crypt), PANAMA, RC4 and WAKE. With libmcrypt 2.4.x or higher another cipher mode is also available; nOFB.


Instalação

Esta extensão foi movida para o repositório » PECL e não é mais incluída como parte do PHP.7.2.0

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/mcrypt.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Mcrypt configuration options
Nome | Padrão | Modificável | Changelog
mcrypt.algorithms_dir | null | PHP_INI_ALL |
mcrypt.modes_dir | null | PHP_INI_ALL |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

mcrypt.algorithms_dir string

The directory that contains the algorithms. Defaults to the directories compiled within libmcrypt, which is typically /usr/local/lib/libmcrypt. See mcrypt_list_algorithms() for additional details.

mcrypt.modes_dir string

The directory that contains the modes. Defaults to the directories compiled within libmcrypt, which is typically /usr/local/lib/libmcrypt. See mcrypt_list_modes() for additional details.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

mcrypt_module_open() returns an encryption descriptor.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Mcrypt can operate in four block cipher modes (CBC, OFB, CFB, and ECB). If linked against libmcrypt-2.4.x or higher the functions can also operate in the block cipher mode nOFB and in STREAM mode. Below you find a list with all supported encryption modes together with the constants that are defined for the encryption mode. For a more complete reference and discussion see Applied Cryptography by Schneier (ISBN 0-471-11709-9).

  • MCRYPT_MODE_ECB (electronic codebook) is a block cipher mode that is generally unsuitable for most purposes. The use of this mode is not recommended.
  • MCRYPT_MODE_CBC (cipher block chaining) is a block cipher mode that is significantly more secure than ECB mode.
  • MCRYPT_MODE_CFB (cipher feedback, in 8-bit mode) is a stream cipher mode. It is recommended to use NCFB mode rather than CFB mode.
  • MCRYPT_MODE_OFB (output feedback, in 8-bit mode) is a stream cipher mode comparable to CFB, but can be used in applications where error propagation cannot be tolerated. It is recommended to use NOFB mode rather than OFB mode.
  • MCRYPT_MODE_NOFB (output feedback, in n-bit mode) is comparable to OFB mode, but operates on the full block size of the algorithm.
  • MCRYPT_MODE_STREAM is an extra mode to include some stream algorithms like "WAKE" or "RC4".

Mcrypt supports some other modes of operation for which there are no predefined constants. They can be utilised by passing a string in place of the missing constants.

  • "ctr" (counter mode) is a stream cipher mode.
  • "ncfb" (cipher feedback, in n-bit mode) is comparable to CFB mode, but operates on the full block size of the algorithm.

Some other mode and random device constants:

MCRYPT_ENCRYPT (int)
MCRYPT_DECRYPT (int)
MCRYPT_DEV_RANDOM (int)
MCRYPT_DEV_URANDOM (int)
MCRYPT_RAND (int)


Mcrypt ciphers

Here is a list of ciphers which are currently supported by the mcrypt extension. For a complete list of supported ciphers, see the defines at the end of mcrypt.h. The general rule with the mcrypt-2.2.x API is that you can access the cipher from PHP with MCRYPT_ciphername. With the libmcrypt-2.4.x and libmcrypt-2.5.x API these constants also work, but it is possible to specify the name of the cipher as a string with a call to mcrypt_module_open().

  • MCRYPT_3DES
  • MCRYPT_ARCFOUR_IV (libmcrypt > 2.4.x only)
  • MCRYPT_ARCFOUR (libmcrypt > 2.4.x only)
  • MCRYPT_BLOWFISH
  • MCRYPT_CAST_128
  • MCRYPT_CAST_256
  • MCRYPT_CRYPT
  • MCRYPT_DES
  • MCRYPT_DES_COMPAT (libmcrypt 2.2.x only)
  • MCRYPT_ENIGMA (libmcrypt > 2.4.x only, alias for MCRYPT_CRYPT)
  • MCRYPT_GOST
  • MCRYPT_IDEA (non-free)
  • MCRYPT_LOKI97 (libmcrypt > 2.4.x only)
  • MCRYPT_MARS (libmcrypt > 2.4.x only, non-free)
  • MCRYPT_PANAMA (libmcrypt > 2.4.x only)
  • MCRYPT_RIJNDAEL_128 (libmcrypt > 2.4.x only)
  • MCRYPT_RIJNDAEL_192 (libmcrypt > 2.4.x only)
  • MCRYPT_RIJNDAEL_256 (libmcrypt > 2.4.x only)
  • MCRYPT_RC2
  • MCRYPT_RC4 (libmcrypt 2.2.x only)
  • MCRYPT_RC6 (libmcrypt > 2.4.x only)
  • MCRYPT_RC6_128 (libmcrypt 2.2.x only)
  • MCRYPT_RC6_192 (libmcrypt 2.2.x only)
  • MCRYPT_RC6_256 (libmcrypt 2.2.x only)
  • MCRYPT_SAFER64
  • MCRYPT_SAFER128
  • MCRYPT_SAFERPLUS (libmcrypt > 2.4.x only)
  • MCRYPT_SERPENT(libmcrypt > 2.4.x only)
  • MCRYPT_SERPENT_128 (libmcrypt 2.2.x only)
  • MCRYPT_SERPENT_192 (libmcrypt 2.2.x only)
  • MCRYPT_SERPENT_256 (libmcrypt 2.2.x only)
  • MCRYPT_SKIPJACK (libmcrypt > 2.4.x only)
  • MCRYPT_TEAN (libmcrypt 2.2.x only)
  • MCRYPT_THREEWAY
  • MCRYPT_TRIPLEDES (libmcrypt > 2.4.x only)
  • MCRYPT_TWOFISH (for older mcrypt 2.x versions, or mcrypt > 2.4.x )
  • MCRYPT_TWOFISH128 (TWOFISHxxx are available in newer 2.x versions, but not in the 2.4.x versions)
  • MCRYPT_TWOFISH192
  • MCRYPT_TWOFISH256
  • MCRYPT_WAKE (libmcrypt > 2.4.x only)
  • MCRYPT_XTEA (libmcrypt > 2.4.x only)

You must (in CFB and OFB mode) or can (in CBC mode) supply an initialization vector (IV) to the respective cipher function. The IV must be unique and must be the same when decrypting/encrypting. With data which is stored encrypted, you can take the output of a function of the index under which the data is stored (e.g. the MD5 key of the filename). Alternatively, you can transmit the IV together with the encrypted data (see chapter 9.3 of Applied Cryptography by Schneier (ISBN 0-471-11709-9) for a discussion of this topic).


Exemplos

Mcrypt can be used to encrypt and decrypt using the above mentioned ciphers. If you linked against libmcrypt-2.2.x, the four important mcrypt commands (mcrypt_cfb(), mcrypt_cbc(), mcrypt_ecb(), and mcrypt_ofb()) can operate in both modes which are named MCRYPT_ENCRYPT and MCRYPT_DECRYPT, respectively.

If you linked against libmcrypt 2.4.x or 2.5.x, these functions are still available, but it is recommended that you use the advanced functions.

Exemplo #1 Encrypt an input value with AES with a 256-bit key under 2.4.x and higher in CBC mode

<?php
    $key = hash('sha256', 'this is a secret key', true);
    $input = "Let us meet at 9 o'clock at the secret place.";

    $td = mcrypt_module_open('rijndael-128', '', 'cbc', '');
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_URANDOM);
    mcrypt_generic_init($td, $key, $iv);
    $encrypted_data = mcrypt_generic($td, $input);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
?>
This example will give you the encrypted data as a string in $encrypted_data. For a full example see mcrypt_module_open().


Mcrypt Funções

Índice

  • mcrypt_cbc — Encrypts/decrypts data in CBC mode
  • mcrypt_cfb — Encrypts/decrypts data in CFB mode
  • mcrypt_create_iv — Creates an initialization vector (IV) from a random source
  • mcrypt_decrypt — Decrypts crypttext with given parameters
  • mcrypt_ecb — Deprecated: Encrypts/decrypts data in ECB mode
  • mcrypt_enc_get_algorithms_name — Returns the name of the opened algorithm
  • mcrypt_enc_get_block_size — Returns the blocksize of the opened algorithm
  • mcrypt_enc_get_iv_size — Returns the size of the IV of the opened algorithm
  • mcrypt_enc_get_key_size — Returns the maximum supported keysize of the opened mode
  • mcrypt_enc_get_modes_name — Returns the name of the opened mode
  • mcrypt_enc_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm
  • mcrypt_enc_is_block_algorithm_mode — Checks whether the encryption of the opened mode works on blocks
  • mcrypt_enc_is_block_algorithm — Checks whether the algorithm of the opened mode is a block algorithm
  • mcrypt_enc_is_block_mode — Checks whether the opened mode outputs blocks
  • mcrypt_enc_self_test — Runs a self test on the opened module
  • mcrypt_encrypt — Encrypts plaintext with given parameters
  • mcrypt_generic_deinit — This function deinitializes an encryption module
  • mcrypt_generic_end — This function terminates encryption
  • mcrypt_generic_init — This function initializes all buffers needed for encryption
  • mcrypt_generic — This function encrypts data
  • mcrypt_get_block_size — Gets the block size of the specified cipher
  • mcrypt_get_cipher_name — Gets the name of the specified cipher
  • mcrypt_get_iv_size — Returns the size of the IV belonging to a specific cipher/mode combination
  • mcrypt_get_key_size — Gets the key size of the specified cipher
  • mcrypt_list_algorithms — Gets an array of all supported ciphers
  • mcrypt_list_modes — Gets an array of all supported modes
  • mcrypt_module_close — Closes the mcrypt module
  • mcrypt_module_get_algo_block_size — Returns the blocksize of the specified algorithm
  • mcrypt_module_get_algo_key_size — Returns the maximum supported keysize of the opened mode
  • mcrypt_module_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm
  • mcrypt_module_is_block_algorithm_mode — Returns if the specified module is a block algorithm or not
  • mcrypt_module_is_block_algorithm — This function checks whether the specified algorithm is a block algorithm
  • mcrypt_module_is_block_mode — Returns if the specified mode outputs blocks or not
  • mcrypt_module_open — Opens the module of the algorithm and the mode to be used
  • mcrypt_module_self_test — This function runs a self test on the specified module
  • mcrypt_ofb — Encrypts/decrypts data in OFB mode
  • mdecrypt_generic — Decrypts data


Encrypts/decrypts data in CBC mode

  • « Mcrypt Funções
  • mcrypt_cfb »
  • PHP Manual
  • Mcrypt Funções
  • Encrypts/decrypts data in CBC mode

mcrypt_cbc

(PHP 4, PHP 5)

mcrypt_cbc — Encrypts/decrypts data in CBC mode

Aviso

Esta função está OBSOLETA no PHP 5.5.0 e foi REMOVIDA no PHP 7.0.0.

Alternativas a esta função incluem:

  • mcrypt_decrypt()
  • mcrypt_encrypt()

Descrição

mcrypt_cbc ( int $cipher , string $key , string $data , int $mode , string $iv = ? ) : string
mcrypt_cbc ( string $cipher , string $key , string $data , int $mode , string $iv = ? ) : string

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.


Encrypts/decrypts data in CFB mode

  • « mcrypt_cbc
  • mcrypt_create_iv »
  • PHP Manual
  • Mcrypt Funções
  • Encrypts/decrypts data in CFB mode

mcrypt_cfb

(PHP 4, PHP 5)

mcrypt_cfb — Encrypts/decrypts data in CFB mode

Aviso

Esta função está OBSOLETA no PHP 5.5.0 e foi REMOVIDA no PHP 7.0.0.

Alternativas a esta função incluem:

  • mcrypt_decrypt()
  • mcrypt_encrypt()

Descrição

mcrypt_cfb ( int $cipher , string $key , string $data , int $mode , string $iv ) : string
mcrypt_cfb ( string $cipher , string $key , string $data , int $mode , string $iv = ? ) : string

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.


Creates an initialization vector (IV) from a random source

  • « mcrypt_cfb
  • mcrypt_decrypt »
  • PHP Manual
  • Mcrypt Funções
  • Creates an initialization vector (IV) from a random source

mcrypt_create_iv

(PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_create_iv — Creates an initialization vector (IV) from a random source

Aviso

This function was DEPRECATED in PHP 7.1.0, and REMOVED in PHP 7.2.0.

Alternatives to this function include:

  • random_bytes()

Descrição

mcrypt_create_iv ( int $size , int $source = MCRYPT_DEV_URANDOM ) : string

Creates an initialization vector (IV) from a random source.

The IV is only meant to give an alternative seed to the encryption routines. This IV does not need to be secret at all, though it can be desirable. You even can send it along with your ciphertext without losing security.

Parâmetros

size

The size of the IV.

source

The source of the IV. The source can be MCRYPT_RAND (system random number generator), MCRYPT_DEV_RANDOM (read data from /dev/random) and MCRYPT_DEV_URANDOM (read data from /dev/urandom). Prior to 5.3.0, MCRYPT_RAND was the only one supported on Windows.

Note that the default value of this parameter was MCRYPT_DEV_RANDOM prior to PHP 5.6.0.

Nota: Note that MCRYPT_DEV_RANDOM may block until more entropy is available.

Valor Retornado

Returns the initialization vector, or false on error.

Exemplos

Exemplo #1 mcrypt_create_iv() Example

<?php
    $size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
    $iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
?>

Veja Também

  • » http://www.ciphersbyritter.com/GLOSSARY.HTM#IV
  • » http://www.quadibloc.com/crypto/co0409.htm
  • Chapter 9.3 of Applied Cryptography by Schneier (ISBN 0-471-11709-9)
  • random_bytes() - Generates cryptographically secure pseudo-random bytes


Decrypts crypttext with given parameters

  • « mcrypt_create_iv
  • mcrypt_ecb »
  • PHP Manual
  • Mcrypt Funções
  • Decrypts crypttext with given parameters

mcrypt_decrypt

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_decrypt — Decrypts crypttext with given parameters

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_decrypt ( string $cipher , string $key , string $data , string $mode , string $iv = ? ) : string|false

Decrypts the data and returns the unencrypted data.

Parâmetros

cipher

Uma das constantes MCRYPT_ciphername, ou o nome do algoritmo como string.

key

The key with which the data was encrypted. If the provided key size is not supported by the cipher, the function will emit a warning and return false

data

The data that will be decrypted with the given cipher and mode. If the size of the data is not n * blocksize, the data will be padded with '\0'.

mode

Uma das constantes MCRYPT_MODE_modename, ou uma das strings: "ecb", "cbc", "cfb", "ofb", "nofb" ou "stream".

iv

Utilizado para a inicialização dos modos CBC, CFB, OFB, e em alguns algoritmos em modo STREAM. Se o tamanho do IV fornecido não for surportado no modo chaining ou um IV não for fornecido para um modo chaining que necessite, a função emitirá um warning e refornará false.

Valor Retornado

Returns the decrypted data as a string ou false em caso de falha.

Changelog

Versão | Descrição
5.6.0 | Invalid key and iv sizes are no longer accepted. mcrypt_decrypt() will now throw a warning and return false if the inputs are invalid. Previously keys and IVs were padded with '\0' bytes to the next valid size.

Veja Também

  • mcrypt_encrypt() - Encrypts plaintext with given parameters


Deprecated: Encrypts/decrypts data in ECB mode

  • « mcrypt_decrypt
  • mcrypt_enc_get_algorithms_name »
  • PHP Manual
  • Mcrypt Funções
  • Deprecated: Encrypts/decrypts data in ECB mode

mcrypt_ecb

(PHP 4, PHP 5)

mcrypt_ecb — Deprecated: Encrypts/decrypts data in ECB mode

Aviso

Esta função está OBSOLETA no PHP 5.5.0 e foi REMOVIDA no PHP 7.0.0.

Alternativas a esta função incluem:

  • mcrypt_decrypt()
  • mcrypt_encrypt()

Descrição

mcrypt_ecb ( int $cipher , string $key , string $data , int $mode ) : string
mcrypt_ecb ( string $cipher , string $key , string $data , int $mode , string $iv = ? ) : string

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.


Returns the name of the opened algorithm

  • « mcrypt_ecb
  • mcrypt_enc_get_block_size »
  • PHP Manual
  • Mcrypt Funções
  • Returns the name of the opened algorithm

mcrypt_enc_get_algorithms_name

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_get_algorithms_name — Returns the name of the opened algorithm

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_enc_get_algorithms_name ( resource $td ) : string

This function returns the name of the algorithm.

Parâmetros

td

The encryption descriptor.

Valor Retornado

Returns the name of the opened algorithm as a string.

Exemplos

Exemplo #1 mcrypt_enc_get_algorithms_name() example

<?php
$td = mcrypt_module_open(MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";

$td = mcrypt_module_open('cast-256', '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";
?>

O exemplo acima irá imprimir:

CAST-256
CAST-256


Returns the blocksize of the opened algorithm

  • « mcrypt_enc_get_algorithms_name
  • mcrypt_enc_get_iv_size »
  • PHP Manual
  • Mcrypt Funções
  • Returns the blocksize of the opened algorithm

mcrypt_enc_get_block_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_get_block_size — Returns the blocksize of the opened algorithm

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_enc_get_block_size ( resource $td ) : int

Gets the blocksize of the opened algorithm.

Parâmetros

td

The encryption descriptor.

Valor Retornado

Returns the block size of the specified algorithm in bytes.


Returns the size of the IV of the opened algorithm

  • « mcrypt_enc_get_block_size
  • mcrypt_enc_get_key_size »
  • PHP Manual
  • Mcrypt Funções
  • Returns the size of the IV of the opened algorithm

mcrypt_enc_get_iv_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_get_iv_size — Returns the size of the IV of the opened algorithm

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_enc_get_iv_size ( resource $td ) : int

This function returns the size of the IV of the algorithm specified by the encryption descriptor in bytes. An IV is used in cbc, cfb and ofb modes, and in some algorithms in stream mode.

Parâmetros

td

The encryption descriptor.

Valor Retornado

Returns the size of the IV, or 0 if the IV is ignored by the algorithm.


Returns the maximum supported keysize of the opened mode

  • « mcrypt_enc_get_iv_size
  • mcrypt_enc_get_modes_name »
  • PHP Manual
  • Mcrypt Funções
  • Returns the maximum supported keysize of the opened mode

mcrypt_enc_get_key_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_get_key_size — Returns the maximum supported keysize of the opened mode

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_enc_get_key_size ( resource $td ) : int

Gets the maximum supported key size of the algorithm in bytes.

Parâmetros

td

The encryption descriptor.

Valor Retornado

Returns the maximum supported key size of the algorithm in bytes.


Returns the name of the opened mode

  • « mcrypt_enc_get_key_size
  • mcrypt_enc_get_supported_key_sizes »
  • PHP Manual
  • Mcrypt Funções
  • Returns the name of the opened mode

mcrypt_enc_get_modes_name

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_get_modes_name — Returns the name of the opened mode

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_enc_get_modes_name ( resource $td ) : string

This function returns the name of the mode.

Parâmetros

td

The encryption descriptor.

Valor Retornado

Returns the name as a string.

Exemplos

Exemplo #1 mcrypt_enc_get_modes_name() example

<?php
$td = mcrypt_module_open (MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_modes_name($td). "\n";

$td = mcrypt_module_open ('cast-256', '', 'ecb', '');
echo mcrypt_enc_get_modes_name($td). "\n";
?>

O exemplo acima irá imprimir:

CFB
ECB


Returns an array with the supported keysizes of the opened algorithm

  • « mcrypt_enc_get_modes_name
  • mcrypt_enc_is_block_algorithm_mode »
  • PHP Manual
  • Mcrypt Funções
  • Returns an array with the supported keysizes of the opened algorithm

mcrypt_enc_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_enc_get_supported_key_sizes ( resource $td ) : array

Gets the supported key sizes of the opened algorithm.

Parâmetros

td

The encryption descriptor.

Valor Retornado

Returns an array with the key sizes supported by the algorithm specified by the encryption descriptor. If it returns an empty array then all key sizes between 1 and mcrypt_enc_get_key_size() are supported by the algorithm.

Exemplos

Exemplo #1 mcrypt_enc_get_supported_key_sizes() example

<?php
    $td = mcrypt_module_open('rijndael-256', '', 'ecb', '');
    var_dump(mcrypt_enc_get_supported_key_sizes($td));
?>

O exemplo acima irá imprimir:

array(3) {
  [0]=>
  int(16)
  [1]=>
  int(24)
  [2]=>
  int(32)
}


Checks whether the encryption of the opened mode works on blocks

  • « mcrypt_enc_get_supported_key_sizes
  • mcrypt_enc_is_block_algorithm »
  • PHP Manual
  • Mcrypt Funções
  • Checks whether the encryption of the opened mode works on blocks

mcrypt_enc_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_is_block_algorithm_mode — Checks whether the encryption of the opened mode works on blocks

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_enc_is_block_algorithm_mode ( resource $td ) : bool

Tells whether the algorithm of the opened mode works on blocks (e.g. false for stream, and true for cbc, cfb, ofb)..

Parâmetros

td

The encryption descriptor.

Valor Retornado

Returns true if the mode is for use with block algorithms, otherwise it returns false.


Checks whether the algorithm of the opened mode is a block algorithm

  • « mcrypt_enc_is_block_algorithm_mode
  • mcrypt_enc_is_block_mode »
  • PHP Manual
  • Mcrypt Funções
  • Checks whether the algorithm of the opened mode is a block algorithm

mcrypt_enc_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_is_block_algorithm — Checks whether the algorithm of the opened mode is a block algorithm

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_enc_is_block_algorithm ( resource $td ) : bool

Tells whether the algorithm of the opened mode is a block algorithm.

Parâmetros

td

The encryption descriptor.

Valor Retornado

Returns true if the algorithm is a block algorithm or false if it is a stream one.


Checks whether the opened mode outputs blocks

  • « mcrypt_enc_is_block_algorithm
  • mcrypt_enc_self_test »
  • PHP Manual
  • Mcrypt Funções
  • Checks whether the opened mode outputs blocks

mcrypt_enc_is_block_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_is_block_mode — Checks whether the opened mode outputs blocks

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_enc_is_block_mode ( resource $td ) : bool

Tells whether the opened mode outputs blocks (e.g. true for cbc and ecb, and false for cfb and stream).

Parâmetros

td

The encryption descriptor.

Valor Retornado

Returns true if the mode outputs blocks of bytes, or false if it outputs just bytes.


Runs a self test on the opened module

  • « mcrypt_enc_is_block_mode
  • mcrypt_encrypt »
  • PHP Manual
  • Mcrypt Funções
  • Runs a self test on the opened module

mcrypt_enc_self_test

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_self_test — Runs a self test on the opened module

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_enc_self_test ( resource $td ) : int

This function runs the self test on the algorithm specified by the descriptor td.

Parâmetros

td

The encryption descriptor.

Valor Retornado

Returns 0 on success and a negative int on failure.


Encrypts plaintext with given parameters

  • « mcrypt_enc_self_test
  • mcrypt_generic_deinit »
  • PHP Manual
  • Mcrypt Funções
  • Encrypts plaintext with given parameters

mcrypt_encrypt

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_encrypt — Encrypts plaintext with given parameters

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_encrypt ( string $cipher , string $key , string $data , string $mode , string $iv = ? ) : string|false

Encrypts the data and returns it.

Parâmetros

cipher

Uma das constantes MCRYPT_ciphername, ou o nome do algoritmo como string.

key

The key with which the data will be encrypted. If the provided key size is not supported by the cipher, the function will emit a warning and return false

data

The data that will be encrypted with the given cipher and mode. If the size of the data is not n * blocksize, the data will be padded with '\0'.

The returned crypttext can be larger than the size of the data that was given by data.

mode

Uma das constantes MCRYPT_MODE_modename, ou uma das strings: "ecb", "cbc", "cfb", "ofb", "nofb" ou "stream".

iv

Utilizado para a inicialização dos modos CBC, CFB, OFB, e em alguns algoritmos em modo STREAM. Se o tamanho do IV fornecido não for surportado no modo chaining ou um IV não for fornecido para um modo chaining que necessite, a função emitirá um warning e refornará false.

Valor Retornado

Returns the encrypted data as a string ou false em caso de falha.

Changelog

Versão | Descrição
5.6.0 | Invalid key and iv sizes are no longer accepted. mcrypt_encrypt() will now throw a warning and return false if the inputs are invalid. Previously keys and IVs were padded with '\0' bytes to the next valid size.

Exemplos

Exemplo #1 mcrypt_encrypt() Example

<?php
    # --- ENCRYPTION ---

    # the key should be random binary, use scrypt, bcrypt or PBKDF2 to
    # convert a string into a key
    # key is specified using hexadecimal
    $key = pack('H*', "bcb04b7e103a0cd8b54763051cef08bc55abe029fdebae5e1d417e2ffb2a00a3");

    # show key size use either 16, 24 or 32 byte keys for AES-128, 192
    # and 256 respectively
    $key_size =  strlen($key);
    echo "Key size: " . $key_size . "\n";

    $plaintext = "This string was AES-256 / CBC / ZeroBytePadding encrypted.";

    # create a random IV to use with CBC encoding
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    # creates a cipher text compatible with AES (Rijndael block size = 128)
    # to keep the text confidential
    # only suitable for encoded input that never ends with value 00h
    # (because of default zero padding)
    $ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key,
                                 $plaintext, MCRYPT_MODE_CBC, $iv);

    # prepend the IV for it to be available for decryption
    $ciphertext = $iv . $ciphertext;

    # encode the resulting cipher text so it can be represented by a string
    $ciphertext_base64 = base64_encode($ciphertext);

    echo  $ciphertext_base64 . "\n";

    # === WARNING ===

    # Resulting cipher text has no integrity or authenticity added
    # and is not protected against padding oracle attacks.

    # --- DECRYPTION ---

    $ciphertext_dec = base64_decode($ciphertext_base64);

    # retrieves the IV, iv_size should be created using mcrypt_get_iv_size()
    $iv_dec = substr($ciphertext_dec, 0, $iv_size);

    # retrieves the cipher text (everything except the $iv_size in the front)
    $ciphertext_dec = substr($ciphertext_dec, $iv_size);

    # may remove 00h valued characters from end of plain text
    $plaintext_dec = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key,
                                    $ciphertext_dec, MCRYPT_MODE_CBC, $iv_dec);

    echo  $plaintext_dec . "\n";
?>

O exemplo acima irá imprimir:

Key size: 32
ENJW8mS2KaJoNB5E5CoSAAu0xARgsR1bdzFWpEn+poYw45q+73az5kYi4j+0haevext1dGrcW8Qi59txfCBV8BBj3bzRP3dFCp3CPQSJ8eU=
This string was AES-256 / CBC / ZeroBytePadding encrypted.

Veja Também

  • mcrypt_decrypt() - Decrypts crypttext with given parameters
  • mcrypt_module_open() - Opens the module of the algorithm and the mode to be used


This function deinitializes an encryption module

  • « mcrypt_encrypt
  • mcrypt_generic_end »
  • PHP Manual
  • Mcrypt Funções
  • This function deinitializes an encryption module

mcrypt_generic_deinit

(PHP 4 >= 4.0.7, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_generic_deinit — This function deinitializes an encryption module

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_generic_deinit ( resource $td ) : bool

This function terminates encryption specified by the encryption descriptor (td). It clears all buffers, but does not close the module. You need to call mcrypt_module_close() yourself. (But PHP does this for you at the end of the script.)

Parâmetros

td

The encryption descriptor.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • mcrypt_module_open() - Opens the module of the algorithm and the mode to be used
  • mcrypt_generic_init() - This function initializes all buffers needed for encryption


This function terminates encryption

  • « mcrypt_generic_deinit
  • mcrypt_generic_init »
  • PHP Manual
  • Mcrypt Funções
  • This function terminates encryption

mcrypt_generic_end

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_generic_end — This function terminates encryption

Aviso

Esta função está OBSOLETA no PHP 5.3.0 e foi REMOVIDA no PHP 7.0.0.

Alternativas a esta função incluem:

  • mcrypt_generic_deinit()

Descrição

mcrypt_generic_end ( resource $td ) : bool

Aviso

mcrypt_generic_deinit() should be used instead of this function, as it can cause crashes when used with mcrypt_module_close() due to multiple buffer frees.

This function terminates encryption specified by the encryption descriptor (td). Actually it clears all buffers, and closes all the modules used. Returns false on error, or true on success.


This function initializes all buffers needed for encryption

  • « mcrypt_generic_end
  • mcrypt_generic »
  • PHP Manual
  • Mcrypt Funções
  • This function initializes all buffers needed for encryption

mcrypt_generic_init

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_generic_init — This function initializes all buffers needed for encryption

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_generic_init ( resource $td , string $key , string $iv ) : int

You need to call this function before every call to mcrypt_generic() or mdecrypt_generic().

Parâmetros

td

The encryption descriptor.

key

The maximum length of the key should be the one obtained by calling mcrypt_enc_get_key_size() and every value smaller than this is legal.

iv

The IV should normally have the size of the algorithms block size, but you must obtain the size by calling mcrypt_enc_get_iv_size(). IV is ignored in ECB. IV MUST exist in CFB, CBC, STREAM, nOFB and OFB modes. It needs to be random and unique (but not secret). The same IV must be used for encryption/decryption. If you do not want to use it you should set it to zeros, but this is not recommended.

Valor Retornado

The function returns a negative value on error: -3 when the key length was incorrect, -4 when there was a memory allocation problem and any other return value is an unknown error. If an error occurs a warning will be displayed accordingly. false is returned if incorrect parameters were passed.

Veja Também

  • mcrypt_module_open() - Opens the module of the algorithm and the mode to be used


This function encrypts data

  • « mcrypt_generic_init
  • mcrypt_get_block_size »
  • PHP Manual
  • Mcrypt Funções
  • This function encrypts data

mcrypt_generic

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_generic — This function encrypts data

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_generic ( resource $td , string $data ) : string

This function encrypts data. The data is padded with "\0" to make sure the length of the data is n * blocksize. This function returns the encrypted data. Note that the length of the returned string can in fact be longer than the input, due to the padding of the data.

If you want to store the encrypted data in a database make sure to store the entire string as returned by mcrypt_generic, or the string will not entirely decrypt properly. If your original string is 10 characters long and the block size is 8 (use mcrypt_enc_get_block_size() to determine the blocksize), you would need at least 16 characters in your database field. Note the string returned by mdecrypt_generic() will be 16 characters as well...use rtrim($str, "\0") to remove the padding.

If you are for example storing the data in a MySQL database remember that varchar fields automatically have trailing spaces removed during insertion. As encrypted data can end in a space (ASCII 32), the data will be damaged by this removal. Store data in a tinyblob/tinytext (or larger) field instead.

Parâmetros

td

The encryption descriptor.

The encryption handle should always be initialized with mcrypt_generic_init() with a key and an IV before calling this function. Where the encryption is done, you should free the encryption buffers by calling mcrypt_generic_deinit(). See mcrypt_module_open() for an example.

data

The data to encrypt.

Valor Retornado

Returns the encrypted data.

Veja Também

  • mdecrypt_generic() - Decrypts data
  • mcrypt_generic_init() - This function initializes all buffers needed for encryption
  • mcrypt_generic_deinit() - This function deinitializes an encryption module


Gets the block size of the specified cipher

  • « mcrypt_generic
  • mcrypt_get_cipher_name »
  • PHP Manual
  • Mcrypt Funções
  • Gets the block size of the specified cipher

mcrypt_get_block_size

(PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_get_block_size — Gets the block size of the specified cipher

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_get_block_size ( int $cipher ) : int|false
mcrypt_get_block_size ( string $cipher , string $mode ) : int|false

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or 2.5.x.

mcrypt_get_block_size() is used to get the size of a block of the specified cipher (in combination with an encryption mode).

It is more useful to use the mcrypt_enc_get_block_size() function as this uses the resource returned by mcrypt_module_open().

Parâmetros

cipher

Uma das constantes MCRYPT_ciphername, ou o nome do algoritmo como string.

mode

Uma das constantes MCRYPT_MODE_modename, ou uma das strings: "ecb", "cbc", "cfb", "ofb", "nofb" ou "stream".

Valor Retornado

Returns the algorithm block size in bytes ou false em caso de falha.

Exemplos

Exemplo #1 mcrypt_get_block_size() example

This example shows how to use this function when linked against libmcrypt 2.4.x and 2.5.x.

<?php

echo mcrypt_get_block_size('tripledes', 'ecb'); // 8

?>

Veja Também

  • mcrypt_get_key_size() - Gets the key size of the specified cipher
  • mcrypt_enc_get_block_size() - Returns the blocksize of the opened algorithm
  • mcrypt_encrypt() - Encrypts plaintext with given parameters


Gets the name of the specified cipher

  • « mcrypt_get_block_size
  • mcrypt_get_iv_size »
  • PHP Manual
  • Mcrypt Funções
  • Gets the name of the specified cipher

mcrypt_get_cipher_name

(PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_get_cipher_name — Gets the name of the specified cipher

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_get_cipher_name ( int $cipher ) : string
mcrypt_get_cipher_name ( string $cipher ) : string

mcrypt_get_cipher_name() is used to get the name of the specified cipher.

mcrypt_get_cipher_name() takes the cipher number as an argument (libmcrypt 2.2.x) or takes the cipher name as an argument (libmcrypt 2.4.x or higher) and returns the name of the cipher or false, if the cipher does not exist.

Parâmetros

cipher

Uma das constantes MCRYPT_ciphername, ou o nome do algoritmo como string.

Valor Retornado

This function returns the name of the cipher or false if the cipher does not exist.

Exemplos

Exemplo #1 mcrypt_get_cipher_name() Example

<?php
   $cipher = MCRYPT_TripleDES;

   echo mcrypt_get_cipher_name($cipher);
?>

O exemplo acima irá imprimir:

3DES


Returns the size of the IV belonging to a specific cipher/mode combination

  • « mcrypt_get_cipher_name
  • mcrypt_get_key_size »
  • PHP Manual
  • Mcrypt Funções
  • Returns the size of the IV belonging to a specific cipher/mode combination

mcrypt_get_iv_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_get_iv_size — Returns the size of the IV belonging to a specific cipher/mode combination

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_get_iv_size ( string $cipher , string $mode ) : int

Gets the size of the IV belonging to a specific cipher/mode combination.

It is more useful to use the mcrypt_enc_get_iv_size() function as this uses the resource returned by mcrypt_module_open().

Parâmetros

cipher

Uma das constantes MCRYPT_ciphername, ou o nome do algoritmo como string.

mode

Uma das constantes MCRYPT_MODE_modename, ou uma das strings: "ecb", "cbc", "cfb", "ofb", "nofb" ou "stream".

The IV is ignored in ECB mode as this mode does not require it. You will need to have the same IV (think: starting point) both at encryption and decryption stages, otherwise your encryption will fail.

Valor Retornado

Returns the size of the Initialization Vector (IV) in bytes. On error the function returns false. If the IV is ignored in the specified cipher/mode combination zero is returned.

Exemplos

Exemplo #1 mcrypt_get_iv_size() Example

<?php
    echo mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB) . "\n";

    echo mcrypt_get_iv_size('des', 'ecb') . "\n";
?>

Veja Também

  • mcrypt_get_block_size() - Gets the block size of the specified cipher
  • mcrypt_enc_get_iv_size() - Returns the size of the IV of the opened algorithm
  • mcrypt_create_iv() - Creates an initialization vector (IV) from a random source


Gets the key size of the specified cipher

  • « mcrypt_get_iv_size
  • mcrypt_list_algorithms »
  • PHP Manual
  • Mcrypt Funções
  • Gets the key size of the specified cipher

mcrypt_get_key_size

(PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_get_key_size — Gets the key size of the specified cipher

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_get_key_size ( int $cipher ) : int|false
mcrypt_get_key_size ( string $cipher , string $mode ) : int|false

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or 2.5.x.

mcrypt_get_key_size() is used to get the size of a key of the specified cipher (in combination with an encryption mode).

It is more useful to use the mcrypt_enc_get_key_size() function as this uses the resource returned by mcrypt_module_open().

Parâmetros

cipher

Uma das constantes MCRYPT_ciphername, ou o nome do algoritmo como string.

mode

Uma das constantes MCRYPT_MODE_modename, ou uma das strings: "ecb", "cbc", "cfb", "ofb", "nofb" ou "stream".

Valor Retornado

Returns the maximum supported key size of the algorithm in bytes ou false em caso de falha.

Exemplos

Exemplo #1 mcrypt_get_key_size() Example

<?php
    echo mcrypt_get_key_size('tripledes', 'ecb');
?>

The example above shows how to use this function when linked against libmcrypt 2.4.x or 2.5.x.

O exemplo acima irá imprimir:

24

Veja Também

  • mcrypt_get_block_size() - Gets the block size of the specified cipher
  • mcrypt_enc_get_key_size() - Returns the maximum supported keysize of the opened mode
  • mcrypt_encrypt() - Encrypts plaintext with given parameters


Gets an array of all supported ciphers

  • « mcrypt_get_key_size
  • mcrypt_list_modes »
  • PHP Manual
  • Mcrypt Funções
  • Gets an array of all supported ciphers

mcrypt_list_algorithms

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_list_algorithms — Gets an array of all supported ciphers

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_list_algorithms ( string $lib_dir = ini_get("mcrypt.algorithms_dir") ) : array

Gets the list of all supported algorithms in the lib_dir parameter.

Parâmetros

lib_dir

Specifies the directory where all algorithms are located. If not specified, the value of the mcrypt.algorithms_dir php.ini directive is used.

Valor Retornado

Returns an array with all the supported algorithms.

Exemplos

Exemplo #1 mcrypt_list_algorithms() Example

<?php
$algorithms = mcrypt_list_algorithms();
print_r($algorithms);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => cast-128
    [1] => gost
    [2] => rijndael-128
    [3] => twofish
    [4] => arcfour
    [5] => cast-256
    [6] => loki97
    [7] => rijndael-192
    [8] => saferplus
    [9] => wake
    [10] => blowfish-compat
    [11] => des
    [12] => rijndael-256
    [13] => serpent
    [14] => xtea
    [15] => blowfish
    [16] => enigma
    [17] => rc2
    [18] => tripledes
)


Gets an array of all supported modes

  • « mcrypt_list_algorithms
  • mcrypt_module_close »
  • PHP Manual
  • Mcrypt Funções
  • Gets an array of all supported modes

mcrypt_list_modes

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_list_modes — Gets an array of all supported modes

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_list_modes ( string $lib_dir = ini_get("mcrypt.modes_dir") ) : array

Gets the list of all supported modes in the lib_dir parameter.

Parâmetros

lib_dir

Specifies the directory where all modes are located. If not specified, the value of the mcrypt.modes_dir php.ini directive is used.

Valor Retornado

Returns an array with all the supported modes.

Exemplos

Exemplo #1 mcrypt_list_modes() Example

<?php
    $modes = mcrypt_list_modes();

    foreach ($modes as $mode) {
        echo "$mode <br />\n";
    }
?>

The example above will produce a list with all supported algorithms in the default mode directory. If it is not set with the mcrypt.modes_dir php.ini directive, the default directory of mcrypt is used (which is /usr/local/lib/libmcrypt).


Closes the mcrypt module

  • « mcrypt_list_modes
  • mcrypt_module_get_algo_block_size »
  • PHP Manual
  • Mcrypt Funções
  • Closes the mcrypt module

mcrypt_module_close

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_close — Closes the mcrypt module

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_module_close ( resource $td ) : bool

Closes the specified encryption handle.

Parâmetros

td

The encryption descriptor.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • mcrypt_module_open() - Opens the module of the algorithm and the mode to be used


Returns the blocksize of the specified algorithm

  • « mcrypt_module_close
  • mcrypt_module_get_algo_key_size »
  • PHP Manual
  • Mcrypt Funções
  • Returns the blocksize of the specified algorithm

mcrypt_module_get_algo_block_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_get_algo_block_size — Returns the blocksize of the specified algorithm

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_module_get_algo_block_size ( string $algorithm , string $lib_dir = ? ) : int

Gets the blocksize of the specified algorithm.

Parâmetros

algorithm

The algorithm name.

lib_dir

This optional parameter can contain the location where the mode module is on the system.

Valor Retornado

Returns the block size of the algorithm specified in bytes.


Returns the maximum supported keysize of the opened mode

  • « mcrypt_module_get_algo_block_size
  • mcrypt_module_get_supported_key_sizes »
  • PHP Manual
  • Mcrypt Funções
  • Returns the maximum supported keysize of the opened mode

mcrypt_module_get_algo_key_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_get_algo_key_size — Returns the maximum supported keysize of the opened mode

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_module_get_algo_key_size ( string $algorithm , string $lib_dir = ? ) : int

Gets the maximum supported keysize of the opened mode.

Parâmetros

algorithm

The algorithm name.

lib_dir

This optional parameter can contain the location where the mode module is on the system.

Valor Retornado

This function returns the maximum supported key size of the algorithm specified in bytes.


Returns an array with the supported keysizes of the opened algorithm

  • « mcrypt_module_get_algo_key_size
  • mcrypt_module_is_block_algorithm_mode »
  • PHP Manual
  • Mcrypt Funções
  • Returns an array with the supported keysizes of the opened algorithm

mcrypt_module_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_module_get_supported_key_sizes ( string $algorithm , string $lib_dir = ? ) : array

Returns an array with the key sizes supported by the specified algorithm. If it returns an empty array then all key sizes between 1 and mcrypt_module_get_algo_key_size() are supported by the algorithm.

Parâmetros

algorithm

The algorithm to be used.

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Valor Retornado

Returns an array with the key sizes supported by the specified algorithm. If it returns an empty array then all key sizes between 1 and mcrypt_module_get_algo_key_size() are supported by the algorithm.

Veja Também

  • mcrypt_enc_get_supported_key_sizes() - Returns an array with the supported keysizes of the opened algorithm


Returns if the specified module is a block algorithm or not

  • « mcrypt_module_get_supported_key_sizes
  • mcrypt_module_is_block_algorithm »
  • PHP Manual
  • Mcrypt Funções
  • Returns if the specified module is a block algorithm or not

mcrypt_module_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_is_block_algorithm_mode — Returns if the specified module is a block algorithm or not

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_module_is_block_algorithm_mode ( string $mode , string $lib_dir = ? ) : bool

This function returns true if the mode is for use with block algorithms, otherwise it returns false. (e.g. false for stream, and true for cbc, cfb, ofb).

Parâmetros

mode

The mode to check.

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Valor Retornado

This function returns true if the mode is for use with block algorithms, otherwise it returns false. (e.g. false for stream, and true for cbc, cfb, ofb).


This function checks whether the specified algorithm is a block algorithm

  • « mcrypt_module_is_block_algorithm_mode
  • mcrypt_module_is_block_mode »
  • PHP Manual
  • Mcrypt Funções
  • This function checks whether the specified algorithm is a block algorithm

mcrypt_module_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_is_block_algorithm — This function checks whether the specified algorithm is a block algorithm

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_module_is_block_algorithm ( string $algorithm , string $lib_dir = ? ) : bool

This function returns true if the specified algorithm is a block algorithm, or false if it is a stream one.

Parâmetros

algorithm

The algorithm to check.

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Valor Retornado

This function returns true if the specified algorithm is a block algorithm, or false if it is a stream one.


Returns if the specified mode outputs blocks or not

  • « mcrypt_module_is_block_algorithm
  • mcrypt_module_open »
  • PHP Manual
  • Mcrypt Funções
  • Returns if the specified mode outputs blocks or not

mcrypt_module_is_block_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_is_block_mode — Returns if the specified mode outputs blocks or not

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_module_is_block_mode ( string $mode , string $lib_dir = ? ) : bool

This function returns true if the mode outputs blocks of bytes or false if it outputs just bytes. (e.g. true for cbc and ecb, and false for cfb and stream).

Parâmetros

mode

Uma das constantes MCRYPT_MODE_modename, ou uma das strings: "ecb", "cbc", "cfb", "ofb", "nofb" ou "stream".

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Valor Retornado

This function returns true if the mode outputs blocks of bytes or false if it outputs just bytes. (e.g. true for cbc and ecb, and false for cfb and stream).


Opens the module of the algorithm and the mode to be used

  • « mcrypt_module_is_block_mode
  • mcrypt_module_self_test »
  • PHP Manual
  • Mcrypt Funções
  • Opens the module of the algorithm and the mode to be used

mcrypt_module_open

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_open — Opens the module of the algorithm and the mode to be used

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_module_open ( string $algorithm , string $algorithm_directory , string $mode , string $mode_directory ) : resource

This function opens the module of the algorithm and the mode to be used. The name of the algorithm is specified in algorithm, e.g. "twofish" or is one of the MCRYPT_ciphername constants. The module is closed by calling mcrypt_module_close().

Parâmetros

algorithm

Uma das constantes MCRYPT_ciphername, ou o nome do algoritmo como string.

algorithm_directory

The algorithm_directory parameter is used to locate the encryption module. When you supply a directory name, it is used. When you set it to an empty string (""), the value set by the mcrypt.algorithms_dir php.ini directive is used. When it is not set, the default directory that is used is the one that was compiled into libmcrypt (usually /usr/local/lib/libmcrypt).

mode

Uma das constantes MCRYPT_MODE_modename, ou uma das strings: "ecb", "cbc", "cfb", "ofb", "nofb" ou "stream".

mode_directory

The mode_directory parameter is used to locate the encryption module. When you supply a directory name, it is used. When you set it to an empty string (""), the value set by the mcrypt.modes_dir php.ini directive is used. When it is not set, the default directory that is used is the one that was compiled-in into libmcrypt (usually /usr/local/lib/libmcrypt).

Valor Retornado

Normally it returns an encryption descriptor, or false on error.

Exemplos

Exemplo #1 mcrypt_module_open() Examples

<?php
    $td = mcrypt_module_open(MCRYPT_DES, '',
        MCRYPT_MODE_ECB, '/usr/lib/mcrypt-modes');

    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');
?>

The first line in the example above will try to open the DES cipher from the default directory and the ECB mode from the directory /usr/lib/mcrypt-modes. The second example uses strings as name for the cipher and mode, this only works when the extension is linked against libmcrypt 2.4.x or 2.5.x.

Exemplo #2 Using mcrypt_module_open() in encryption

<?php
    /* Open the cipher */
    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');

    /* Create the IV and determine the keysize length, use MCRYPT_RAND
     * on Windows instead */
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
    $ks = mcrypt_enc_get_key_size($td);

    /* Create key */
    $key = substr(md5('very secret key'), 0, $ks);

    /* Intialize encryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Encrypt data */
    $encrypted = mcrypt_generic($td, 'This is very important data');

    /* Terminate encryption handler */
    mcrypt_generic_deinit($td);

    /* Initialize encryption module for decryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Decrypt encrypted string */
    $decrypted = mdecrypt_generic($td, $encrypted);

    /* Terminate decryption handle and close module */
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);

    /* Show string */
    echo trim($decrypted) . "\n";
?>

Veja Também

  • mcrypt_module_close() - Closes the mcrypt module
  • mcrypt_generic() - This function encrypts data
  • mdecrypt_generic() - Decrypts data
  • mcrypt_generic_init() - This function initializes all buffers needed for encryption
  • mcrypt_generic_deinit() - This function deinitializes an encryption module


This function runs a self test on the specified module

  • « mcrypt_module_open
  • mcrypt_ofb »
  • PHP Manual
  • Mcrypt Funções
  • This function runs a self test on the specified module

mcrypt_module_self_test

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_self_test — This function runs a self test on the specified module

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mcrypt_module_self_test ( string $algorithm , string $lib_dir = ? ) : bool

This function runs the self test on the algorithm specified.

Parâmetros

algorithm

Uma das constantes MCRYPT_ciphername, ou o nome do algoritmo como string.

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Valor Retornado

The function returns true if the self test succeeds, or false when it fails.

Exemplos

Exemplo #1 mcrypt_module_self_test() example

<?php
var_dump(mcrypt_module_self_test(MCRYPT_RIJNDAEL_128)) . "\n";
var_dump(mcrypt_module_self_test(MCRYPT_BOGUS_CYPHER));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)


Encrypts/decrypts data in OFB mode

  • « mcrypt_module_self_test
  • mdecrypt_generic »
  • PHP Manual
  • Mcrypt Funções
  • Encrypts/decrypts data in OFB mode

mcrypt_ofb

(PHP 4, PHP 5)

mcrypt_ofb — Encrypts/decrypts data in OFB mode

Aviso

Esta função está OBSOLETA no PHP 5.5.0 e foi REMOVIDA no PHP 7.0.0.

Alternativas a esta função incluem:

  • mcrypt_decrypt()
  • mcrypt_encrypt()

Descrição

mcrypt_ofb ( int $cipher , string $key , string $data , int $mode , string $iv ) : string
mcrypt_ofb ( string $cipher , string $key , string $data , int $mode , string $iv = ? ) : string

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.


Decrypts data

  • « mcrypt_ofb
  • Mhash »
  • PHP Manual
  • Mcrypt Funções
  • Decrypts data

mdecrypt_generic

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mdecrypt_generic — Decrypts data

Aviso

This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

mdecrypt_generic ( resource $td , string $data ) : string

This function decrypts data. Note that the length of the returned string can in fact be longer than the unencrypted string, due to the padding of the data.

Parâmetros

td

An encryption descriptor returned by mcrypt_module_open()

data

Encrypted data.

Exemplos

Exemplo #1 mdecrypt_generic() Example

<?php
    /* Data */
    $key = 'this is a very long key, even too long for the cipher';
    $plain_text = 'very important data';

    /* Open module, and create IV */
    $td = mcrypt_module_open('des', '', 'ecb', '');
    $key = substr($key, 0, mcrypt_enc_get_key_size($td));
    $iv_size = mcrypt_enc_get_iv_size($td);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    /* Initialize encryption handle */
    if (mcrypt_generic_init($td, $key, $iv) != -1) {

        /* Encrypt data */
        $c_t = mcrypt_generic($td, $plain_text);
        mcrypt_generic_deinit($td);

        /* Reinitialize buffers for decryption */
        mcrypt_generic_init($td, $key, $iv);
        $p_t = mdecrypt_generic($td, $c_t);

        /* Clean up */
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
    }

    if (strncmp($p_t, $plain_text, strlen($plain_text)) == 0) {
        echo "ok\n";
    } else {
        echo "error\n";
    }
?>

The example above shows how to check if the data before the encryption is the same as the data after the decryption. It is very important to reinitialize the encryption buffer with mcrypt_generic_init() before you try to decrypt the data.

The decryption handle should always be initialized with mcrypt_generic_init() with a key and an IV before calling this function. Where the encryption is done, you should free the encryption buffers by calling mcrypt_generic_deinit(). See mcrypt_module_open() for an example.

Veja Também

  • mcrypt_generic() - This function encrypts data
  • mcrypt_generic_init() - This function initializes all buffers needed for encryption
  • mcrypt_generic_deinit() - This function deinitializes an encryption module


Mhash

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Funções da Mhash
    • mhash_count — Ler o mais alto hash id disponível
    • mhash_get_block_size — Ler o tamanho do bloco da hash específicada
    • mhash_get_hash_name — Ler o nome da hash especificada
    • mhash_keygen_s2k — Gerar uma chave
    • mhash — Computa a hash


Introdução

Essas funções são planejadas para trabalhar com » mhash. Com o Mhash você pode criar checksums, digests de mensagens, códigos de autenticação de mensagens e mais.

Esta é uma interface para a biblioteca mhash. O mhash suporta uma grande variedade de algoritmos de hash como MD5, SHA1, GOST e muitos outros. Para uma lista completa das hashs suportadas, verifique a documentação do mhash. A regra geral é: você pode acessar o algoritmo de hash a partir do PHP com MHASH_NOMEdoHASH, Por exemplo, para acessar o algoritmo TIGER, você utiliza a constante MHASH_TIGER.

Nota:

Esta extensão está obsoleta por Hash.


Dependências

Para usá-las, faça o download da distribuição do mhash em » http://mhash.sourceforge.net/ e siga as instruções de instalação inclusas.


Instalação

You need to compile PHP with the --with-mhash[=DIR] parameter to enable this extension. DIR is the mhash installation directory.

As of PHP 5.3.0, the mhash extension is emulated thru the Hash extension. This makes the mhash installation directory have no effect, and requires the hash extension enabled to make the mhash support available.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Aqui está a lista de hashes que são atualmente suportadas por mhash. Se uma hash não está listada aqui, mas é listada pelo mhash como suportada, você pode assumir seguramente que esta documentação está desatualizada.

  • MHASH_ADLER32
  • MHASH_CRC32
  • MHASH_CRC32B
  • MHASH_GOST
  • MHASH_HAVAL128
  • MHASH_HAVAL160
  • MHASH_HAVAL192
  • MHASH_HAVAL256
  • MHASH_MD4
  • MHASH_MD5
  • MHASH_RIPEMD160
  • MHASH_SHA1
  • MHASH_SHA256
  • MHASH_TIGER
  • MHASH_TIGER128
  • MHASH_TIGER160


Exemplos

Exemplo #1 Calcula o MD5 digest e hmac e imprimi como hex

<?php
$input = "what do ya want for nothing?";
$hash = mhash(MHASH_MD5, $input);
echo "The hash is " . bin2hex($hash) . "<br />\n";
$hash = mhash(MHASH_MD5, $input, "Jefe");
echo "The hmac is " . bin2hex($hash) . "<br />\n";
?>

Irá mostrar:

The hash is d03cb659cbf9192dcd066272249f8412
The hmac is 750c783e6ab0b503eaa86e310a5db738


Funções da Mhash

Índice

  • mhash_count — Ler o mais alto hash id disponível
  • mhash_get_block_size — Ler o tamanho do bloco da hash específicada
  • mhash_get_hash_name — Ler o nome da hash especificada
  • mhash_keygen_s2k — Gerar uma chave
  • mhash — Computa a hash


Ler o mais alto hash id disponível

  • « Funções da Mhash
  • mhash_get_block_size »
  • PHP Manual
  • Funções da Mhash
  • Ler o mais alto hash id disponível

mhash_count

(PHP 4, PHP 5, PHP 7, PHP 8)

mhash_count — Ler o mais alto hash id disponível

Descrição

mhash_count ( ) : int

Obtém a mais alta hash id disponível.

Valor Retornado

Retorna a mais alta hash id. Hashes são numerados de 0 a este hash id.

Exemplos

Exemplo #1 Listando todas as hashes

<?php

$nr = mhash_count();

for ($i = 0; $i <= $nr; $i++) {
    echo sprintf("O tamanho do bloco de %s é %d\n",
        mhash_get_hash_name ($i),
        mhash_get_block_size ($i));
}
?>


Ler o tamanho do bloco da hash específicada

  • « mhash_count
  • mhash_get_hash_name »
  • PHP Manual
  • Funções da Mhash
  • Ler o tamanho do bloco da hash específicada

mhash_get_block_size

(PHP 4, PHP 5, PHP 7, PHP 8)

mhash_get_block_size — Ler o tamanho do bloco da hash específicada

Descrição

mhash_get_block_size ( int $hash ) : int

Obtém o tamanho de um bloco da hash especificada.

Parâmetros

hash

O hash id. Uma das constantes MHASH_XXX.

Valor Retornado

Retorna o tamanho em bytes ou false, se o hash não existe.

Exemplos

Exemplo #1 mhash_get_block_size() Example

<?php

echo mhash_get_block_size(MHASH_MD5); // 16

?>


Ler o nome da hash especificada

  • « mhash_get_block_size
  • mhash_keygen_s2k »
  • PHP Manual
  • Funções da Mhash
  • Ler o nome da hash especificada

mhash_get_hash_name

(PHP 4, PHP 5, PHP 7, PHP 8)

mhash_get_hash_name — Ler o nome da hash especificada

Descrição

mhash_get_hash_name ( int $hash ) : string

Obtém o nome da especificada hash.

Parâmetros

hash

O hash id. Uma das constantes MHASH_XXX.

Valor Retornado

Retorna o nome da hash ou false, se a hash não existe.

Exemplos

Exemplo #1 Exemplo do mhash_get_hash_name()

<?php

echo mhash_get_hash_name(MHASH_MD5);

?>


Gerar uma chave

  • « mhash_get_hash_name
  • mhash »
  • PHP Manual
  • Funções da Mhash
  • Gerar uma chave

mhash_keygen_s2k

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

mhash_keygen_s2k — Gerar uma chave

Descrição

mhash_keygen_s2k ( int $hash , string $password , string $salt , int $bytes ) : string

Gera um chave de acordo com hash apartir de uma password (senha) do usuário.

Este é o algoritmo Salted S2K como especificado no documento OpenPGP (» RFC 2440).

Tenha em mente que as senhas fornecidas pelos usuários não são boas para serem usadas como chaves em algoritmos criptográficos, pois usuários normalmente escolhem chaves que eles podem escrever no teclado. Estas senhas usam somente 6 a 7 bits por caracter (ou menos). É altamente recomendado usar algum tipo de transformação (como esta função) na chave dada pelo usuário.

Parâmetros

hash

O hash id usado para criar uma chave. Um das constantes MHASH_XXX.

password

A senha fornecida do usuário.

salt

Deve ser diferente e aleatório o suficiente para que cada chave que você gere seja diferente. Este salt tem que ser sabido quando você checar as suas chaves (keys), logo é uma boa ideia que a chave siga o salt. O salt tem o comprimento fixo de 8 bytes e será completado com zeros se voce fornecer menos bytes.

bytes

O tamanho da chave, em bytes.

Valor Retornado

Retorna a chave gerada como uma string, ou false em erro.


Computa a hash

  • « mhash_keygen_s2k
  • OpenSSL »
  • PHP Manual
  • Funções da Mhash
  • Computa a hash

mhash

(PHP 4, PHP 5, PHP 7, PHP 8)

mhash — Computa a hash

Descrição

mhash ( int $hash , string $data , string $key = ? ) : string

mhash() aplica a função hash especificada por hash para o parâmetro data.

Parâmetros

hash

O hash id. Uma das constantes MHASH_XXX.

data

A entrada do usuário, como uma string.

key

Se especificada, a função irá retornar o HMAC resultante. HMAC é o hashing com chave (keyed) para autenticações de mensagens, ou simplesmente um digest de mensagens que depende na chave específicada. Nem todos os algoritmos suportados em mhash podem ser usados em modo HMAC.

Valor Retornado

Retorna o hash resultante (também chamado digest) ou HMAC como uma string, ou false em erros.


OpenSSL

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
    • Purpose checking flags
    • Padding flags for asymmetric encryption
    • Key types
    • PKCS7 Flags/Constants
    • CMS Flags/Constants
    • Signature Algorithms
    • Ciphers
    • Version constants
    • Server Name Indication constants
    • Other Constants
  • Key/Certificate parameters
  • Certificate Verification
  • OpenSSL Funções
    • openssl_cipher_iv_length — Gets the cipher iv length
    • openssl_cms_decrypt — Decrypt a CMS message
    • openssl_cms_encrypt — Encrypt a CMS message
    • openssl_cms_read — Export the CMS file to an array of PEM certificates
    • openssl_cms_sign — Sign a file
    • openssl_cms_verify — Verify a CMS signature
    • openssl_csr_export_to_file — Exports a CSR to a file
    • openssl_csr_export — Exports a CSR as a string
    • openssl_csr_get_public_key — Returns the public key of a CSR
    • openssl_csr_get_subject — Returns the subject of a CSR
    • openssl_csr_new — Generates a CSR
    • openssl_csr_sign — Sign a CSR with another certificate (or itself) and generate a certificate
    • openssl_decrypt — Decrypts data
    • openssl_dh_compute_key — Computes shared secret for public value of remote DH public key and local DH key
    • openssl_digest — Computes a digest
    • openssl_encrypt — Encrypts data
    • openssl_error_string — Return openSSL error message
    • openssl_free_key — Free key resource
    • openssl_get_cert_locations — Retrieve the available certificate locations
    • openssl_get_cipher_methods — Gets available cipher methods
    • openssl_get_curve_names — Gets list of available curve names for ECC
    • openssl_get_md_methods — Gets available digest methods
    • openssl_get_privatekey — Sinônimo de openssl_pkey_get_private
    • openssl_get_publickey — Sinônimo de openssl_pkey_get_public
    • openssl_open — Open sealed data
    • openssl_pbkdf2 — Generates a PKCS5 v2 PBKDF2 string
    • openssl_pkcs12_export_to_file — Exports a PKCS#12 Compatible Certificate Store File
    • openssl_pkcs12_export — Exports a PKCS#12 Compatible Certificate Store File to variable
    • openssl_pkcs12_read — Parse a PKCS#12 Certificate Store into an array
    • openssl_pkcs7_decrypt — Decrypts an S/MIME encrypted message
    • openssl_pkcs7_encrypt — Encrypt an S/MIME message
    • openssl_pkcs7_read — Export the PKCS7 file to an array of PEM certificates
    • openssl_pkcs7_sign — Sign an S/MIME message
    • openssl_pkcs7_verify — Verifies the signature of an S/MIME signed message
    • openssl_pkey_derive — Computes shared secret for public value of remote and local DH or ECDH key
    • openssl_pkey_export_to_file — Gets an exportable representation of a key into a file
    • openssl_pkey_export — Gets an exportable representation of a key into a string
    • openssl_pkey_free — Frees a private key
    • openssl_pkey_get_details — Returns an array with the key details
    • openssl_pkey_get_private — Get a private key
    • openssl_pkey_get_public — Extract public key from certificate and prepare it for use
    • openssl_pkey_new — Generates a new private key
    • openssl_private_decrypt — Decrypts data with private key
    • openssl_private_encrypt — Encrypts data with private key
    • openssl_public_decrypt — Decrypts data with public key
    • openssl_public_encrypt — Encrypts data with public key
    • openssl_random_pseudo_bytes — Generate a pseudo-random string of bytes
    • openssl_seal — Seal (encrypt) data
    • openssl_sign — Generate signature
    • openssl_spki_export_challenge — Exports the challenge associated with a signed public key and challenge
    • openssl_spki_export — Exports a valid PEM formatted public key signed public key and challenge
    • openssl_spki_new — Generate a new signed public key and challenge
    • openssl_spki_verify — Verifies a signed public key and challenge
    • openssl_verify — Verify signature
    • openssl_x509_check_private_key — Checks if a private key corresponds to a certificate
    • openssl_x509_checkpurpose — Verifies if a certificate can be used for a particular purpose
    • openssl_x509_export_to_file — Exports a certificate to file
    • openssl_x509_export — Exports a certificate as a string
    • openssl_x509_fingerprint — Calculates the fingerprint, or digest, of a given X.509 certificate
    • openssl_x509_free — Free certificate resource
    • openssl_x509_parse — Parse an X509 certificate and return the information as an array
    • openssl_x509_read — Parse an X.509 certificate and return an object for it
    • openssl_x509_verify — Verifies digital signature of x509 certificate against a public key
  • OpenSSLCertificate — The OpenSSLCertificate class
  • OpenSSLCertificateSigningRequest — The OpenSSLCertificateSigningRequest class
  • OpenSSLAsymmetricKey — The OpenSSLAsymmetricKey class


Introdução

This extension binds functions of » OpenSSL library for symmetric and asymmetric encryption and decryption, PBKDF2, PKCS7, PKCS12, X509 and other crypto operations. In addition to that it provides implementation of TLS streams.

OpenSSL offers many features that this module currently doesn't support. Some of these may be added in the future.


Dependências

In order to use the OpenSSL functions you need to install the » OpenSSL library. PHP 5 requires at least OpenSSL >= 0.9.6. However later PHP 5 versions have some compilation issues and should be used at least with OpenSSL >= 0.9.8 which is also a minimal version for PHP 7.0. Other versions (PHP >= 7.1.0) require OpenSSL >= 1.0.1.

Aviso

You are strongly encouraged to use the most recent OpenSSL version, otherwise your web server could be vulnerable to attack.


Instalação

To use PHP's OpenSSL support you must also compile PHP --with-openssl[=DIR].

The OpenSSL library also has additional requirements for normal operation at run-time. Most notably, OpenSSL requires access to a random or pseudo-random number generator; on most Unix and Unix-like platforms (including Linux), this means that it must have access to a /dev/urandom or /dev/random device.

As of PHP 5.6.3, the configure option --with-system-ciphers is available which causes PHP to use the system cipher list instead of a hard-coded default.

Nota: Note to Win32 Users

Para esta extensão funcionar, existem arquivos DLL que devem estar disponíveis no PATH do sistema Windows. Para saber como fazer isso, veja o FAQ intitulado "Como eu adiciono o meu diretório PHP no PATH no Windows". Embora copiando arquivos DLL da pasta do PHP no diretório system do Windows também funcione (porque o diretório system está por padrão no PATH do sistema), isto não é recomendado. Esta extensão requer que os seguintes arquivos estejam no PATH: libeay32.dll, or, as of OpenSSL 1.1, libcrypto-*.dll

Additionally, if you are planning to use the key generation and certificate signing functions, you will need to install a valid openssl.cnf file on your system. We include a sample configuration file in our win32 binary distributions, in the extras/openssl directory.

PHP will search for the openssl.cnf using the following logic:

  • the OPENSSL_CONF environmental variable, if set, will be used as the path (including filename) of the configuration file.
  • the SSLEAY_CONF environmental variable, if set, will be used as the path (including filename) of the configuration file.
  • The file openssl.cnf will be assumed to be found in the default certificate area, as configured at the time that the openssl DLL was compiled. This is usually means that the default filename is C:\Program Files\Common Files\SSL\openssl.cnf (x64) or C:\Program Files (x86)\Common Files\SSL\openssl.cnf (x86), or, prior to PHP 7.4.0, C:\usr\local\ssl\openssl.cnf.

In your installation, you need to decide whether to install the configuration file in the default path or whether to install it someplace else and use environmental variables (possibly on a per-virtual-host basis) to locate the configuration file. Note that it is possible to override the default path from the script using the options of the functions that require a configuration file.
Cuidado

Ensure that non-privileged users are not allowed to modify openssl.cnf.

Changelog

Versão | Descrição
7.4.0 | The OpenSSL default config path has been changed from C:\usr\local\ssl to C:\Program Files\Common Files\SSL and C:\Program Files (x86)\Common Files\SSL, respectively.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

openssl Opções de Configuração
Nome | Padrão | Modificável | Changelog
openssl.cafile | "" | PHP_INI_PERDIR | Available as of PHP 5.6.0.
openssl.capath | "" | PHP_INI_PERDIR | Available as of PHP 5.6.0.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

openssl.cafile string

Location of Certificate Authority file on local filesystem which should be used with the verify_peer context option to authenticate the identity of the remote peer.

openssl.capath string

If cafile is not specified or if the certificate is not found there, the directory pointed to by capath is searched for a suitable certificate. capath must be a correctly hashed certificate directory.

See also the SSL stream context options.


Tipos de Recurso

Prior to PHP 8.0.0, there were 3 resource types defined in the OpenSSL module:

  • OpenSSL key
  • OpenSSL X.509
  • OpenSSL X.509 CSR


Constantes pré-definidas

Índice

  • Purpose checking flags
  • Padding flags for asymmetric encryption
  • Key types
  • PKCS7 Flags/Constants
  • CMS Flags/Constants
  • Signature Algorithms
  • Ciphers
  • Version constants
  • Server Name Indication constants
  • Other Constants

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.


Purpose checking flags

X509_PURPOSE_SSL_CLIENT (int)
X509_PURPOSE_SSL_SERVER (int)
X509_PURPOSE_NS_SSL_SERVER (int)
X509_PURPOSE_SMIME_SIGN (int)
X509_PURPOSE_SMIME_ENCRYPT (int)
X509_PURPOSE_CRL_SIGN (int)
X509_PURPOSE_ANY (int)


Padding flags for asymmetric encryption

OPENSSL_PKCS1_PADDING (int)
OPENSSL_SSLV23_PADDING (int)
OPENSSL_NO_PADDING (int)
OPENSSL_PKCS1_OAEP_PADDING (int)


Key types

OPENSSL_KEYTYPE_RSA (int)
OPENSSL_KEYTYPE_DSA (int)
OPENSSL_KEYTYPE_DH (int)
OPENSSL_KEYTYPE_EC (int)
This constant is only available when PHP is compiled with OpenSSL 0.9.8+. Added in PHP 5.2.0.


PKCS7 Flags/Constants

The S/MIME functions make use of flags which are specified using a bitfield which can include one or more of the following values:

PKCS7 CONSTANTS
Constant | Description
PKCS7_TEXT | Adds text/plain content type headers to encrypted/signed message. If decrypting or verifying, it strips those headers from the output - if the decrypted or verified message is not of MIME type text/plain then an error will occur.
PKCS7_BINARY | Normally the input message is converted to "canonical" format which is effectively using CR and LF as end of line: as required by the S/MIME specification. When this option is present, no translation occurs. This is useful when handling binary data which may not be in MIME format.
PKCS7_NOINTERN | When verifying a message, certificates (if any) included in the message are normally searched for the signing certificate. With this option only the certificates specified in the extracerts parameter of openssl_pkcs7_verify() are used. The supplied certificates can still be used as untrusted CAs however.
PKCS7_NOVERIFY | Do not verify the signers certificate of a signed message.
PKCS7_NOCHAIN | Do not chain verification of signers certificates: that is don't use the certificates in the signed message as untrusted CAs.
PKCS7_NOCERTS | When signing a message the signer's certificate is normally included - with this option it is excluded. This will reduce the size of the signed message but the verifier must have a copy of the signers certificate available locally (passed using the extracerts to openssl_pkcs7_verify() for example).
PKCS7_NOATTR | Normally when a message is signed, a set of attributes are included which include the signing time and the supported symmetric algorithms. With this option they are not included.
PKCS7_DETACHED | When signing a message, use cleartext signing with the MIME type "multipart/signed". This is the default if you do not specify any flags to openssl_pkcs7_sign(). If you turn this option off, the message will be signed using opaque signing, which is more resistant to translation by mail relays but cannot be read by mail agents that do not support S/MIME.
PKCS7_NOSIGS | Don't try and verify the signatures on a message


CMS Flags/Constants

The CMS functions make use of flags which are specified using a bitfield which can include one or more of the following values:

CMS CONSTANTS
Constant | Description
OPENSSL_CMS_TEXT | Adds text/plain content type headers to encrypted/signed message. If decrypting or verifying, it strips those headers from the output - if the decrypted or verified message is not of MIME type text/plain then an error will occur.
OPENSSL_CMS_BINARY | Normally the input message is converted to "canonical" format which is effectively using CR and LF as end of line: as required by the CMS specification. When this option is present, no translation occurs. This is useful when handling binary data which may not be in CMS format.
OPENSSL_CMS_NOINTERN | When verifying a message, certificates (if any) included in the message are normally searched for the signing certificate. With this option only the certificates specified in the untrusted_certificates_filename parameter of openssl_cms_verify() are used. The supplied certificates can still be used as untrusted CAs however.
OPENSSL_CMS_NOVERIFY | Do not verify the signers certificate of a signed message.
OPENSSL_CMS_NOCERTS | When signing a message the signer's certificate is normally included - with this option it is excluded. This will reduce the size of the signed message but the verifier must have a copy of the signers certificate available locally (passed using the untrusted_certificates_filename to openssl_cms_verify() for example).
OPENSSL_CMS_NOATTR | Normally when a message is signed, a set of attributes are included which include the signing time and the supported symmetric algorithms. With this option they are not included.
OPENSSL_CMS_DETACHED | When signing a message, use cleartext signing with the MIME type "multipart/signed". This is the default if you do not specify any flags to openssl_cms_sign(). If you turn this option off, the message will be signed using opaque signing, which is more resistant to translation by mail relays but cannot be read by mail agents that do not support S/MIME.
OPENSSL_CMS_NOSIGS | Don't try and verify the signatures on a message


Signature Algorithms

OPENSSL_ALGO_DSS1 (int)
OPENSSL_ALGO_SHA1 (int)
Used as default algorithm by openssl_sign() and openssl_verify().
OPENSSL_ALGO_SHA224 (int)
Added in PHP 5.4.8.
OPENSSL_ALGO_SHA256 (int)
Added in PHP 5.4.8.
OPENSSL_ALGO_SHA384 (int)
Added in PHP 5.4.8.
OPENSSL_ALGO_SHA512 (int)
Added in PHP 5.4.8.
OPENSSL_ALGO_RMD160 (int)
Added in PHP 5.4.8.
OPENSSL_ALGO_MD5 (int)
OPENSSL_ALGO_MD4 (int)
OPENSSL_ALGO_MD2 (int)
As of PHP 5.2.13 and PHP 5.3.2, this constant is only available if PHP is compiled with MD2 support. This requires passing in the -DHAVE_OPENSSL_MD2_H CFLAG when compiling PHP, and enable-md2 when compiling OpenSSL 1.0.0+.


Ciphers

OPENSSL_CIPHER_RC2_40 (int)
OPENSSL_CIPHER_RC2_128 (int)
OPENSSL_CIPHER_RC2_64 (int)
OPENSSL_CIPHER_DES (int)
OPENSSL_CIPHER_3DES (int)
OPENSSL_CIPHER_AES_128_CBC (int)
Added in PHP 5.4.0.
OPENSSL_CIPHER_AES_192_CBC (int)
Added in PHP 5.4.0.
OPENSSL_CIPHER_AES_256_CBC (int)
Added in PHP 5.4.0.


  • « Ciphers
  • Server Name Indication constants »
  • PHP Manual
  • Constantes pré-definidas
  • Version constants

Version constants

OPENSSL_VERSION_TEXT (string)
Added in PHP 5.2.0.
OPENSSL_VERSION_NUMBER (int)
Added in PHP 5.2.0.


Server Name Indication constants

OPENSSL_TLSEXT_SERVER_NAME (string)
Whether SNI support is available or not.

Nota:

This constant was added in 5.3.2 and requires PHP to be built with OpenSSL 0.9.8j or greater.


Other Constants

OPENSSL_RAW_DATA (bool)
If OPENSSL_RAW_DATA is set in the openssl_encrypt() or openssl_decrypt(), the returned data is returned as-is. When it is not specified, Base64 encoded data is returned to the caller.
OPENSSL_ZERO_PADDING (bool)
By default encryption operations are padded using standard block padding and the padding is checked and removed when decrypting. If OPENSSL_ZERO_PADDING is set in the openssl_encrypt() or openssl_decrypt() options then no padding is performed, the total amount of data encrypted or decrypted must then be a multiple of the block size or an error will occur.
OPENSSL_ENCODING_SMIME (int)
Indicates that encoding is S/MIME.
OPENSSL_ENCODING_DER (int)
Indicates that encoding is DER (Distinguished Encoding Rules).
OPENSSL_ENCODING_PEM (int)
Indicates that encoding is PEM (Privacy-Enhanced Mail).


Key/Certificate parameters

Quite a few of the openssl functions require a key or a certificate parameter. Following methods may be used to get them:

  • Certificates

    1. An OpenSSLCertificate instance (or prior to PHP 8.0.0, a resource of type OpenSSL X.509) returned from openssl_x509_read()
    2. A string having the format file://path/to/cert.pem; the named file must contain a PEM encoded certificate
    3. A string containing the content of a certificate, PEM encoded, may start with -----BEGIN CERTIFICATE-----

  • Certificate Signing Requests (CSRs)

    1. An OpenSSLCertificateSigningRequest instance (or prior to PHP 8.0.0, a resource of type OpenSSL X.509 CSR) returned from openssl_csr_new()
    2. A string having the format file://path/to/csr.pem; the named file must contain a PEM encoded CSR
    3. A string containing the content of a CSR, PEM encoded, may start with -----BEGIN CERTIFICATE REQUEST-----

  • Public/Private Keys

    1. An OpenSSLAsymmetricKey instance (or prior to PHP 8.0.0, a resource of type OpenSSL key) returned from openssl_get_publickey() or openssl_get_privatekey()
    2. For public keys only: an OpenSSLCertificate instance (or prior to PHP 8.0.0, a resource of type OpenSSL X.509)
    3. A string having the format file://path/to/file.pem - the named file must contain a PEM encoded certificate/private key (it may contain both)
    4. A string containing the content of a certificate/key, PEM encoded, may start with -----BEGIN PUBLIC KEY-----
    5. For private keys, you may also use the syntax array($key, $passphrase) where $key represents a key specified using the file:// or textual content notation above, and $passphrase represents a string containing the passphrase for that private key


Certificate Verification

When calling a function that will verify a signature/certificate, the ca_info parameter is an array containing file and directory names that specify the locations of trusted CA files. If a directory is specified, then it must be a correctly formed hashed directory as the openssl command would use.


OpenSSL Funções

Índice

  • openssl_cipher_iv_length — Gets the cipher iv length
  • openssl_cms_decrypt — Decrypt a CMS message
  • openssl_cms_encrypt — Encrypt a CMS message
  • openssl_cms_read — Export the CMS file to an array of PEM certificates
  • openssl_cms_sign — Sign a file
  • openssl_cms_verify — Verify a CMS signature
  • openssl_csr_export_to_file — Exports a CSR to a file
  • openssl_csr_export — Exports a CSR as a string
  • openssl_csr_get_public_key — Returns the public key of a CSR
  • openssl_csr_get_subject — Returns the subject of a CSR
  • openssl_csr_new — Generates a CSR
  • openssl_csr_sign — Sign a CSR with another certificate (or itself) and generate a certificate
  • openssl_decrypt — Decrypts data
  • openssl_dh_compute_key — Computes shared secret for public value of remote DH public key and local DH key
  • openssl_digest — Computes a digest
  • openssl_encrypt — Encrypts data
  • openssl_error_string — Return openSSL error message
  • openssl_free_key — Free key resource
  • openssl_get_cert_locations — Retrieve the available certificate locations
  • openssl_get_cipher_methods — Gets available cipher methods
  • openssl_get_curve_names — Gets list of available curve names for ECC
  • openssl_get_md_methods — Gets available digest methods
  • openssl_get_privatekey — Sinônimo de openssl_pkey_get_private
  • openssl_get_publickey — Sinônimo de openssl_pkey_get_public
  • openssl_open — Open sealed data
  • openssl_pbkdf2 — Generates a PKCS5 v2 PBKDF2 string
  • openssl_pkcs12_export_to_file — Exports a PKCS#12 Compatible Certificate Store File
  • openssl_pkcs12_export — Exports a PKCS#12 Compatible Certificate Store File to variable
  • openssl_pkcs12_read — Parse a PKCS#12 Certificate Store into an array
  • openssl_pkcs7_decrypt — Decrypts an S/MIME encrypted message
  • openssl_pkcs7_encrypt — Encrypt an S/MIME message
  • openssl_pkcs7_read — Export the PKCS7 file to an array of PEM certificates
  • openssl_pkcs7_sign — Sign an S/MIME message
  • openssl_pkcs7_verify — Verifies the signature of an S/MIME signed message
  • openssl_pkey_derive — Computes shared secret for public value of remote and local DH or ECDH key
  • openssl_pkey_export_to_file — Gets an exportable representation of a key into a file
  • openssl_pkey_export — Gets an exportable representation of a key into a string
  • openssl_pkey_free — Frees a private key
  • openssl_pkey_get_details — Returns an array with the key details
  • openssl_pkey_get_private — Get a private key
  • openssl_pkey_get_public — Extract public key from certificate and prepare it for use
  • openssl_pkey_new — Generates a new private key
  • openssl_private_decrypt — Decrypts data with private key
  • openssl_private_encrypt — Encrypts data with private key
  • openssl_public_decrypt — Decrypts data with public key
  • openssl_public_encrypt — Encrypts data with public key
  • openssl_random_pseudo_bytes — Generate a pseudo-random string of bytes
  • openssl_seal — Seal (encrypt) data
  • openssl_sign — Generate signature
  • openssl_spki_export_challenge — Exports the challenge associated with a signed public key and challenge
  • openssl_spki_export — Exports a valid PEM formatted public key signed public key and challenge
  • openssl_spki_new — Generate a new signed public key and challenge
  • openssl_spki_verify — Verifies a signed public key and challenge
  • openssl_verify — Verify signature
  • openssl_x509_check_private_key — Checks if a private key corresponds to a certificate
  • openssl_x509_checkpurpose — Verifies if a certificate can be used for a particular purpose
  • openssl_x509_export_to_file — Exports a certificate to file
  • openssl_x509_export — Exports a certificate as a string
  • openssl_x509_fingerprint — Calculates the fingerprint, or digest, of a given X.509 certificate
  • openssl_x509_free — Free certificate resource
  • openssl_x509_parse — Parse an X509 certificate and return the information as an array
  • openssl_x509_read — Parse an X.509 certificate and return an object for it
  • openssl_x509_verify — Verifies digital signature of x509 certificate against a public key


Gets the cipher iv length

  • « OpenSSL Funções
  • openssl_cms_decrypt »
  • PHP Manual
  • OpenSSL Funções
  • Gets the cipher iv length

openssl_cipher_iv_length

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

openssl_cipher_iv_length — Gets the cipher iv length

Descrição

openssl_cipher_iv_length ( string $cipher_algo ) : int|false

Gets the cipher initialization vector (iv) length.

Parâmetros

cipher_algo

The cipher method, see openssl_get_cipher_methods() for a list of potential values.

Valor Retornado

Returns the cipher length on success, or false on failure.

Erros

Emits an E_WARNING level error when the cipher algorithm is unknown.

Exemplos

Exemplo #1 openssl_cipher_iv_length() example

<?php
$method = 'AES-128-CBC';
$ivlen = openssl_cipher_iv_length($method);

echo $ivlen;
?>

O exemplo acima irá imprimir algo similar à:

16


Decrypt a CMS message

  • « openssl_cipher_iv_length
  • openssl_cms_encrypt »
  • PHP Manual
  • OpenSSL Funções
  • Decrypt a CMS message

openssl_cms_decrypt

(PHP 8)

openssl_cms_decrypt — Decrypt a CMS message

Descrição

openssl_cms_decrypt ( string $input_filename , string $output_filename , OpenSSLCertificate|string $certificate , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $private_key = null , int $encoding = OPENSSL_ENCODING_SMIME ) : bool

Decrypts a CMS message.

Parâmetros

input_filename

The name of a file containing encrypted content.

output_filename

The name of the file to deposit the decrypted content.

certificate

The name of the file containing a certificate of the recipient.

private_key

The name of the file containing a PKCS#8 key.

encoding

The encoding of the input file. One of OPENSSL_CMS_SMIME, OPENSLL_CMS_DER or OPENSSL_CMS_PEM.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Encrypt a CMS message

  • « openssl_cms_decrypt
  • openssl_cms_read »
  • PHP Manual
  • OpenSSL Funções
  • Encrypt a CMS message

openssl_cms_encrypt

(PHP 8)

openssl_cms_encrypt — Encrypt a CMS message

Descrição

openssl_cms_encrypt ( string $input_filename , string $output_filename , OpenSSLCertificate|array|string $certificate , array|null $headers , int $flags = 0 , int $encoding = OPENSSL_ENCODING_SMIME , int $cipher_algo = OPENSSL_CIPHER_RC2_40 ) : bool

This function encrypts content to one or more recipients, based on the certificates that are passed to it.

Parâmetros

input_filename

The file to be encrypted.

output_filename

The output file.

certificate

Recipients to encrypt to.

headers

Headers to include when S/MIME is used.

flags

Flags to be passed to CMS_sign.

encoding

An encoding to output. One of OPENSSL_CMS_SMIME, OPENSLL_CMS_DER or OPENSSL_CMS_PEM.

cipher_algo

A cypher to use.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Export the CMS file to an array of PEM certificates

  • « openssl_cms_encrypt
  • openssl_cms_sign »
  • PHP Manual
  • OpenSSL Funções
  • Export the CMS file to an array of PEM certificates

openssl_cms_read

(PHP 8)

openssl_cms_read — Export the CMS file to an array of PEM certificates

Descrição

openssl_cms_read ( string $input_filename , array &$certificates ) : bool

Performs the exact analog to openssl_pkcs7_read().

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

input_filename

certificates

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Sign a file

  • « openssl_cms_read
  • openssl_cms_verify »
  • PHP Manual
  • OpenSSL Funções
  • Sign a file

openssl_cms_sign

(PHP 8)

openssl_cms_sign — Sign a file

Descrição

openssl_cms_sign ( string $input_filename , string $output_filename , OpenSSLCertificate|string $certificate , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key , array|null $headers , int $flags = 0 , int $encoding = OPENSSL_ENCODING_SMIME , string|null $untrusted_certificates_filename = null ) : bool

This function signs a file with an X.509 certificate and key.

Parâmetros

input_filename

The name of the file to be signed.

output_filename

The name of the file to deposit the results.

certificate

The name of the file containing the signing certificate.

private_key

The name of file containing the key associated with certificate.

headers

An array of headers to be included in S/MIME output.

flags

Flags to be passed to cms_sign().

encoding

The encoding of the output file. One of OPENSSL_CMS_SMIME, OPENSLL_CMS_DER or OPENSSL_CMS_PEM.

untrusted_certificates_filename

Intermediate certificates to be included in the signature.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Verify a CMS signature

  • « openssl_cms_sign
  • openssl_csr_export_to_file »
  • PHP Manual
  • OpenSSL Funções
  • Verify a CMS signature

openssl_cms_verify

(PHP 8)

openssl_cms_verify — Verify a CMS signature

Descrição

openssl_cms_verify ( string $input_filename , int $flags = 0 , string|null $certificates = null , array $ca_info = [] , string|null $untrusted_certificates_filename = null , string|null $content = null , string|null $pk7 = null , string|null $sigfile = null , int $encoding = OPENSSL_ENCODING_SMIME ) : bool

This function verifies a CMS signature, either attached or detached, with the specified encoding.

Parâmetros

input_filename

The input file.

flags

Flags to pass to cms_verify().

certificates

A file with the signer certificate and optionally intermediate certificates.

ca_info

An array containing self-signed certificate authority certificates.

untrusted_certificates_filename

A file containing additional intermediate certificates.

content

A file pointing to the content when signatures are detached.

pk7

sigfile

A file to save the signature to.

encoding

The encoding of the input file. One of OPENSSL_CMS_SMIME, OPENSLL_CMS_DER or OPENSSL_CMS_PEM.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Exports a CSR to a file

  • « openssl_cms_verify
  • openssl_csr_export »
  • PHP Manual
  • OpenSSL Funções
  • Exports a CSR to a file

openssl_csr_export_to_file

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_csr_export_to_file — Exports a CSR to a file

Descrição

openssl_csr_export_to_file ( OpenSSLCertificateSigningRequest|string $csr , string $output_filename , bool $no_text = true ) : bool

openssl_csr_export_to_file() takes the Certificate Signing Request represented by csr and saves it in PEM format into the file named by output_filename.

Parâmetros

csr

See CSR parameters for a list of valid values.

output_filename

Path to the output file.

no_text

O parâmetro opcional notext afeta a exibição da saída; se ele é false então informação legível para humano é incluida na saída. O valor padrão do notext é true.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | csr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.

Exemplos

Exemplo #1 openssl_csr_export_to_file() example

<?php
$subject = array(
    "commonName" => "example.com",
);
$private_key = openssl_pkey_new(array(
    "private_key_bits" => 2048,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$csr = openssl_csr_new($subject, $private_key, array('digest_alg' => 'sha384') );
openssl_pkey_export_to_file($private_key, 'example-priv.key');
// Along with the subject, the CSR contains the public key corresponding to the private key
openssl_csr_export_to_file($csr, 'example-csr.pem');
?>

Veja Também

  • openssl_csr_export() - Exports a CSR as a string
  • openssl_csr_new() - Generates a CSR
  • openssl_csr_sign() - Sign a CSR with another certificate (or itself) and generate a certificate


Exports a CSR as a string

  • « openssl_csr_export_to_file
  • openssl_csr_get_public_key »
  • PHP Manual
  • OpenSSL Funções
  • Exports a CSR as a string

openssl_csr_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_csr_export — Exports a CSR as a string

Descrição

openssl_csr_export ( OpenSSLCertificateSigningRequest|string $csr , OpenSSLAsymmetricKey &$output , bool $no_text = true ) : bool

openssl_csr_export() takes the Certificate Signing Request represented by csr and stores it in PEM format in output, which is passed by reference.

Parâmetros

csr

See CSR parameters for a list of valid values.

output

on success, this string will contain the PEM encoded CSR

no_text

O parâmetro opcional notext afeta a exibição da saída; se ele é false então informação legível para humano é incluida na saída. O valor padrão do notext é true.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | csr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.

Exemplos

Exemplo #1 openssl_csr_export() example

<?php
$subject = array(
    "commonName" => "example.com",
);
$private_key = openssl_pkey_new(array(
    "private_key_bits" => 2048,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$configargs = array(
    'digest_alg' => 'sha256WithRSAEncryption'
);
$csr = openssl_csr_new($subject, $private_key, $configargs);
openssl_csr_export($csr, $csr_string);
echo $csr_string;
?>

Veja Também

  • openssl_csr_export_to_file() - Exports a CSR to a file
  • openssl_csr_new() - Generates a CSR
  • openssl_csr_sign() - Sign a CSR with another certificate (or itself) and generate a certificate


Returns the public key of a CSR

  • « openssl_csr_export
  • openssl_csr_get_subject »
  • PHP Manual
  • OpenSSL Funções
  • Returns the public key of a CSR

openssl_csr_get_public_key

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

openssl_csr_get_public_key — Returns the public key of a CSR

Descrição

openssl_csr_get_public_key ( OpenSSLCertificateSigningRequest|string $csr , bool $short_names = true ) : OpenSSLAsymmetricKey|false

openssl_csr_get_public_key() extracts the public key from csr and prepares it for use by other functions.

Parâmetros

csr

See CSR parameters for a list of valid values.

short_names
Aviso

This parameter is ignored

Valor Retornado

Returns an OpenSSLAsymmetricKey on success, or false on error.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was returned.
8.0.0 | csr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.

Exemplos

Exemplo #1 openssl_csr_get_public_key() example

<?php
$subject = array(
    "commonName" => "example.com",
);
$private_key = openssl_pkey_new(array(
    "private_key_bits" => 2048,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$csr = openssl_csr_new($subject, $private_key, array('digest_alg' => 'sha256') );
$public_key = openssl_csr_get_public_key($csr);
$info = openssl_pkey_get_details($public_key);
echo $info['key'];
?>

Veja Também

  • openssl_csr_get_subject() - Returns the subject of a CSR
  • openssl_csr_new() - Generates a CSR
  • openssl_pkey_get_details() - Returns an array with the key details
  • openssl_pkey_export_to_file() - Gets an exportable representation of a key into a file
  • openssl_pkey_export() - Gets an exportable representation of a key into a string


Returns the subject of a CSR

  • « openssl_csr_get_public_key
  • openssl_csr_new »
  • PHP Manual
  • OpenSSL Funções
  • Returns the subject of a CSR

openssl_csr_get_subject

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

openssl_csr_get_subject — Returns the subject of a CSR

Descrição

openssl_csr_get_subject ( OpenSSLCertificateSigningRequest|string $csr , bool $short_names = true ) : array|false

openssl_csr_get_subject() returns subject distinguished name information encoded in the csr including fields commonName (CN), organizationName (O), countryName (C) etc.

Parâmetros

csr

See CSR parameters for a list of valid values.

short_names

shortnames controls how the data is indexed in the array - if shortnames is true (the default) then fields will be indexed with the short name form, otherwise, the long name form will be used - e.g.: CN is the shortname form of commonName.

Valor Retornado

Returns an associative array with subject description, ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | csr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.

Exemplos

Exemplo #1 openssl_csr_get_subject() example

<?php
$subject = array(
    "countryName" => "CA",
    "stateOrProvinceName" => "Alberta",
    "localityName" => "Calgary",
    "organizationName" => "XYZ Widgets Inc",
    "organizationalUnitName" => "PHP Documentation Team",
    "commonName" => "Wez Furlong",
    "emailAddress" => "wez@example.com",
);
$private_key = openssl_pkey_new(array(
    "private_key_bits" => 2048,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$configargs = array(
    'digest_alg' => 'sha512WithRSAEncryption'
);
$csr = openssl_csr_new($subject, $privkey, $configargs);
print_r(openssl_csr_get_subject($csr));
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [C] => CA
    [ST] => Alberta
    [L] => Calgary
    [O] => XYZ Widgets Inc
    [OU] => PHP Documentation Team
    [CN] => Wez Furlong
    [emailAddress] => wez@example.com
)

Veja Também

  • openssl_csr_new() - Generates a CSR
  • openssl_csr_get_public_key() - Returns the public key of a CSR
  • openssl_x509_parse() - Parse an X509 certificate and return the information as an array


Generates a CSR

  • « openssl_csr_get_subject
  • openssl_csr_sign »
  • PHP Manual
  • OpenSSL Funções
  • Generates a CSR

openssl_csr_new

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_csr_new — Generates a CSR

Descrição

openssl_csr_new ( array $distinguished_names , OpenSSLAsymmetricKey &$private_key , array|null $options = null , array|null $extra_attributes = null ) : OpenSSLCertificateSigningRequest|false

openssl_csr_new() generates a new CSR (Certificate Signing Request) based on the information provided by distinguished_names.

Nota: Você precisa ter um válido openssl.cnf instalado para esta função operar corretamente. Veja as notas sobre a seção de instalação para mais informação.

Parâmetros

distinguished_names

The Distinguished Name or subject fields to be used in the certificate.

private_key

private_key should be set to a private key that was previously generated by openssl_pkey_new() (or otherwise obtained from the other openssl_pkey family of functions). The corresponding public portion of the key will be used to sign the CSR.

options

By default, the information in your system openssl.conf is used to initialize the request; you can specify a configuration file section by setting the config_section_section key of options. You can also specify an alternative openssl configuration file by setting the value of the config key to the path of the file you want to use. The following keys, if present in options behave as their equivalents in the openssl.conf, as listed in the table below.

Configuration overrides
options key | type | openssl.conf equivalent | description
digest_alg | string | default_md | Digest method or signature hash, usually one of openssl_get_md_methods()
x509_extensions | string | x509_extensions | Selects which extensions should be used when creating an x509 certificate
req_extensions | string | req_extensions | Selects which extensions should be used when creating a CSR
private_key_bits | int | default_bits | Specifies how many bits should be used to generate a private key
private_key_type | int | none | Specifies the type of private key to create. This can be one of OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH, OPENSSL_KEYTYPE_RSA or OPENSSL_KEYTYPE_EC. The default value is OPENSSL_KEYTYPE_RSA.
encrypt_key | bool | encrypt_key | Should an exported key (with passphrase) be encrypted?
encrypt_key_cipher | int | none | One of cipher constants.
curve_name | string | none | One of openssl_get_curve_names().
config | string | N/A | Path to your own alternative openssl.conf file.

extra_attributes

extra_attributes is used to specify additional configuration options for the CSR. Both distinguished_names and extra_attributes are associative arrays whose keys are converted to OIDs and applied to the relevant part of the request.

Valor Retornado

Returns the CSR ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was returned.
8.0.0 | private_key accepts an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was accepted.
7.1.0 | options now also supports curve_name.

Exemplos

Exemplo #1 Creating a self-signed certificate

<?php
// for SSL server certificates the commonName is the domain name to be secured
// for S/MIME email certificates the commonName is the owner of the email address
// location and identification fields refer to the owner of domain or email subject to be secured
$dn = array(
    "countryName" => "GB",
    "stateOrProvinceName" => "Somerset",
    "localityName" => "Glastonbury",
    "organizationName" => "The Brain Room Limited",
    "organizationalUnitName" => "PHP Documentation Team",
    "commonName" => "Wez Furlong",
    "emailAddress" => "wez@example.com"
);

// Generate a new private (and public) key pair
$privkey = openssl_pkey_new(array(
    "private_key_bits" => 2048,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
));

// Generate a certificate signing request
$csr = openssl_csr_new($dn, $privkey, array('digest_alg' => 'sha256'));

// Generate a self-signed cert, valid for 365 days
$x509 = openssl_csr_sign($csr, null, $privkey, $days=365, array('digest_alg' => 'sha256'));

// Save your private key, CSR and self-signed cert for later use
openssl_csr_export($csr, $csrout) and var_dump($csrout);
openssl_x509_export($x509, $certout) and var_dump($certout);
openssl_pkey_export($privkey, $pkeyout, "mypassword") and var_dump($pkeyout);

// Show any errors that occurred here
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

Exemplo #2 Creating a self-signed ECC certificate (as of PHP 7.1.0)

<?php
$subject = array(
    "commonName" => "docs.php.net",
);

// Generate a new private (and public) key pair
$private_key = openssl_pkey_new(array(
    "private_key_type" => OPENSSL_KEYTYPE_EC,
    "curve_name" => 'prime256v1',
));

// Generate a certificate signing request
$csr = openssl_csr_new($subject, $private_key, array('digest_alg' => 'sha384'));

// Generate self-signed EC cert
$x509 = openssl_csr_sign($csr, null, $private_key, $days=365, array('digest_alg' => 'sha384'));
openssl_x509_export_to_file($x509, 'ecc-cert.pem');
openssl_pkey_export_to_file($private_key, 'ecc-private.key');
?>

Veja Também

  • openssl_csr_sign() - Sign a CSR with another certificate (or itself) and generate a certificate


Sign a CSR with another certificate (or itself) and generate a certificate

  • « openssl_csr_new
  • openssl_decrypt »
  • PHP Manual
  • OpenSSL Funções
  • Sign a CSR with another certificate (or itself) and generate a certificate

openssl_csr_sign

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_csr_sign — Sign a CSR with another certificate (or itself) and generate a certificate

Descrição

openssl_csr_sign ( OpenSSLCertificateSigningRequest|string $csr , OpenSSLCertificate|string|null $ca_certificate , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key , int $days , array|null $options = null , int $serial = 0 ) : OpenSSLCertificate|false

openssl_csr_sign() generates an x509 certificate from the given CSR.

Nota: Você precisa ter um válido openssl.cnf instalado para esta função operar corretamente. Veja as notas sobre a seção de instalação para mais informação.

Parâmetros

csr

A CSR previously generated by openssl_csr_new(). It can also be the path to a PEM encoded CSR when specified as file://path/to/csr or an exported string generated by openssl_csr_export().

ca_certificate

The generated certificate will be signed by ca_certificate. If ca_certificate is null, the generated certificate will be a self-signed certificate.

private_key

private_key is the private key that corresponds to ca_certificate.

days

days specifies the length of time for which the generated certificate will be valid, in days.

options

You can finetune the CSR signing by options. See openssl_csr_new() for more information about options.

serial

An optional the serial number of issued certificate. If not specified it will default to 0.

Valor Retornado

Returns an OpenSSLCertificate on success, false on failure.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was returned.
8.0.0 | csr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
8.0.0 | ca_certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
8.0.0 | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.

Exemplos

Exemplo #1 openssl_csr_sign() example - signing a CSR (how to implement your own CA)

<?php
// Let's assume that this script is set to receive a CSR that has
// been pasted into a textarea from another page
$csrdata = $_POST["CSR"];

// We will sign the request using our own "certificate authority"
// certificate.  You can use any certificate to sign another, but
// the process is worthless unless the signing certificate is trusted
// by the software/users that will deal with the newly signed certificate

// We need our CA cert and its private key
$cacert = "file://path/to/ca.crt";
$privkey = array("file://path/to/ca.key", "your_ca_key_passphrase");

$usercert = openssl_csr_sign($csrdata, $cacert, $privkey, 365, array('digest_alg'=>'sha256') );

// Now display the generated certificate so that the user can
// copy and paste it into their local configuration (such as a file
// to hold the certificate for their SSL server)
openssl_x509_export($usercert, $certout);
echo $certout;

// Show any errors that occurred here
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>


Decrypts data

  • « openssl_csr_sign
  • openssl_dh_compute_key »
  • PHP Manual
  • OpenSSL Funções
  • Decrypts data

openssl_decrypt

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_decrypt — Decrypts data

Descrição

openssl_decrypt ( string $data , string $cipher_algo , string $passphrase , int $options = 0 , string $iv = "" , string $tag = "" , string $aad = "" ) : string|false

Takes a raw or base64 encoded string and decrypts it using a given method and key.

Parâmetros

data

The encrypted message to be decrypted.

cipher_algo

The cipher method. For a list of available cipher methods, use openssl_get_cipher_methods().

passphrase

The key.

options

options can be one of OPENSSL_RAW_DATA, OPENSSL_ZERO_PADDING.

iv

A non-NULL Initialization Vector.

tag

The authentication tag in AEAD cipher mode. If it is incorrect, the authentication fails and the function returns false.

Cuidado

The length of the tag is not checked by the function. It is the caller's responsibility to ensure that the length of the tag matches the length of the tag retrieved when openssl_encrypt() has been called. Otherwise the decryption may succeed if the given tag only matches the start of the proper tag.

aad

Additional authentication data.

Valor Retornado

The decrypted string on success ou false em caso de falha.

Erros

Emits an E_WARNING level error if an unknown cipher algorithm is passed via the cipher_algo parameter.

Emits an E_WARNING level error if an empty value is passed in via the iv parameter.

Changelog

Versão | Descrição
7.1.0 | The tag and aad parameters were added.

Veja Também

  • openssl_encrypt() - Encrypts data


Computes shared secret for public value of remote DH public key and local DH key

  • « openssl_decrypt
  • openssl_digest »
  • PHP Manual
  • OpenSSL Funções
  • Computes shared secret for public value of remote DH public key and local DH key

openssl_dh_compute_key

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_dh_compute_key — Computes shared secret for public value of remote DH public key and local DH key

Descrição

openssl_dh_compute_key ( string $public_key , OpenSSLAsymmetricKey $private_key ) : string|false

The shared secret returned by openssl_dh_compute_key() is often used as an encryption key to secretly communicate with a remote party. This is known as the Diffie-Hellman key exchange.

Parâmetros

public_key

DH Public key of the remote party.

private_key

A local DH private key, corresponding to the public key to be shared with the remote party.

Valor Retornado

Returns shared secret on success ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | private_key accepts an OpenSSLAsymmetricKey now; previously, a resource of type OpenSSL key was accepted.

Exemplos

Exemplo #1 Compute a shared secret

First generate a public/private DH keypair locally, and have the remote party do the same. We need to use the openssl command-line utility.

# generate private/public key keypair
openssl dhparam -out dhparam.pem 2048
openssl genpkey -paramfile dhparam.pem -out privatekey.pem

# extract public key only
openssl pkey -in privatekey.pem -pubout -out publickey.pem

Next, send your public key to the remote party. Use the openssl pkey command to view the public key you will be sent from the remote party.

openssl pkey -pubin -in remotepublickey.pem -text -noout

O exemplo acima irá imprimir algo similar à:

PKCS#3 DH Public-Key: (2048 bit)
    public-key:
        67:e5:e5:fa:e0:7b:0f:96:2c:dc:96:44:5f:50:02:
        9e:8d:c2:6c:04:68:b0:d1:1d:75:66:fc:63:f5:e3:
        42:30:b8:96:c1:45:cc:08:60:b4:21:3b:dd:ee:66:
        88:db:77:d9:1e:11:89:d4:5c:f2:7a:f2:f1:fe:1c:
        77:9d:6f:13:b8:b2:56:00:ef:cb:3b:60:79:74:02:
        98:f5:f9:8e:3e:b5:62:08:de:ca:8c:c3:40:4a:80:
        79:d5:43:06:17:a8:19:56:af:cc:95:5e:e2:32:2d:
        d2:14:7b:76:5a:9a:f1:3c:76:76:35:cc:7b:c1:a5:
        f4:39:e5:b6:ca:71:3f:7c:3f:97:e5:ab:86:c1:cd:
        0e:e6:ee:04:c9:e6:2d:80:7e:59:c0:49:eb:b6:64:
        4f:a8:f9:bb:a3:87:b3:3d:76:01:9e:2b:16:94:a4:
        37:30:fb:35:e2:63:be:23:90:b9:ef:3f:46:46:04:
        94:8f:60:79:7a:51:55:d6:1a:1d:f5:d9:7f:4a:3e:
        aa:ac:b0:d0:82:cc:c2:e0:94:e0:54:c1:17:83:0b:
        74:08:4d:5a:79:ae:ff:7f:1c:04:ab:23:39:4a:ae:
        87:83:55:43:ab:7a:7c:04:9d:20:80:bb:af:5f:16:
        a3:e3:20:b9:21:47:8c:f8:7f:a8:60:80:9e:61:77:
        36
 [...abbreviated...]

Use this public key as a parameter to openssl_dh_compute_key() in order to compute the shared secret.

<?php
$remote_public_key = '67e5e5fae07b0f962cdc96445f50029e8dc26c0468b0d11d7566fc63f5e34230b896c145cc0860b4213bddee6688db77d91e1189d45cf27af2f1fe1c779d6f13b8b25600efcb3b6079740298f5f98e3eb56208deca8cc3404a8079d5430617a81956afcc955ee2322dd2147b765a9af13c767635cc7bc1a5f439e5b6ca713f7c3f97e5ab86c1cd0ee6ee04c9e62d807e59c049ebb6644fa8f9bba387b33d76019e2b1694a43730fb35e263be2390b9ef3f464604948f60797a5155d61a1df5d97f4a3eaaacb0d082ccc2e094e054c117830b74084d5a79aeff7f1c04ab23394aae87835543ab7a7c049d2080bbaf5f16a3e320b921478cf87fa860809e617736';

$local_priv_key = openssl_pkey_get_private('file://privatekey.pem');

$shared_secret = openssl_dh_compute_key(hex2bin($remote_public_key), $local_priv_key);
echo bin2hex($shared_secret)."\n";
?>

Exemplo #2 Generate a DH public/private keypair in php

First, generate the DH prime number

openssl dhparam -out dhparam.pem 2048
openssl dh -in dhparam.pem -noout  -text

O exemplo acima irá imprimir algo similar à:

    PKCS#3 DH Parameters: (2048 bit)
        prime:
            00:a3:25:1e:73:3f:44:b9:2b:ee:f4:9d:9f:37:6a:
            4b:fd:1d:bd:f4:af:da:c8:10:77:59:41:c6:5f:73:
            d2:88:29:39:cd:1c:5f:c3:9f:0f:22:d2:9c:20:c1:
            e4:c0:18:03:b8:b6:d8:da:ad:3b:39:a6:da:8e:fe:
            12:30:e9:03:5d:22:ba:ef:18:d2:7b:69:f9:5b:cb:
            78:c6:0c:8c:6b:f2:49:92:c2:49:e0:45:77:72:b3:
            55:36:30:f2:40:17:89:18:50:03:fa:2d:54:7a:7f:
            34:4c:73:32:b6:88:14:51:14:be:80:57:95:e6:a3:
            f6:51:ff:17:47:4f:15:d6:0e:6c:47:53:72:2c:2a:
            4c:21:cb:7d:f3:49:97:c9:47:5e:40:33:7b:99:52:
            7e:7a:f3:52:27:80:de:1b:26:6b:40:bb:14:11:0b:
            fb:e6:d8:2f:cf:a0:06:2f:96:b9:1c:0b:b4:cb:d3:
            a6:62:9c:48:67:f6:81:f2:c6:ff:45:03:0a:9d:67:
            9d:ce:27:d9:6b:48:5d:ca:fb:c2:5d:84:9b:8b:cb:
            40:c7:a4:0c:8a:6e:f4:ab:ba:b6:10:c3:b8:25:4d:
            cf:60:96:f4:db:e8:00:1c:58:47:7a:fb:51:86:d1:
            22:d7:4e:94:31:7a:d5:da:3d:53:de:da:bb:64:8d:
            62:6b
        generator: 2 (0x2)

Prime and generator values ares passed as p and g into openssl_pkey_new()

<?php
$configargs = array();
$configargs['p'] = hex2bin('00a3251e733f44b92beef49d9f376a4bfd1dbdf4afdac810775941c65f73d2882939cd1c5fc39f0f22d29c20c1e4c01803b8b6d8daad3b39a6da8efe1230e9035d22baef18d27b69f95bcb78c60c8c6bf24992c249e0457772b3553630f2401789185003fa2d547a7f344c7332b688145114be805795e6a3f651ff17474f15d60e6c4753722c2a4c21cb7df34997c9475e40337b99527e7af3522780de1b266b40bb14110bfbe6d82fcfa0062f96b91c0bb4cbd3a6629c4867f681f2c6ff45030a9d679dce27d96b485dcafbc25d849b8bcb40c7a40c8a6ef4abbab610c3b8254dcf6096f4dbe8001c58477afb5186d122d74e94317ad5da3d53dedabb648d626b');
$configargs['g'] = hex2bin('02');
$private_key = openssl_pkey_new(array('dh' => $configargs));
openssl_pkey_export_to_file($private_key,'privatekey.pem',$passphrase='y0urp@s5phr@se');

$details = openssl_pkey_get_details($private_key);
$local_pub_key = $details['dh']['pub_key'];
echo bin2hex($local_pub_key)."\n";//you can send your public key to the remote party

$details = openssl_pkey_get_details(openssl_pkey_get_public("file://remotepublickey.pem"));
$remote_public_key = $details['dh']['pub_key'];
$shared_secret = openssl_dh_compute_key($remote_public_key, $private_key);
echo bin2hex($shared_secret)."\n";
?>

Veja Também

  • openssl_pkey_new() - Generates a new private key
  • openssl_pkey_get_details() - Returns an array with the key details
  • openssl_pkey_get_private() - Get a private key
  • openssl_pkey_get_public() - Extract public key from certificate and prepare it for use


Computes a digest

  • « openssl_dh_compute_key
  • openssl_encrypt »
  • PHP Manual
  • OpenSSL Funções
  • Computes a digest

openssl_digest

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_digest — Computes a digest

Descrição

openssl_digest ( string $data , string $digest_algo , bool $binary = false ) : string|false

Computes a digest hash value for the given data using a given method, and returns a raw or binhex encoded string.

Parâmetros

data

The data.

digest_algo

The digest method to use, e.g. "sha256", see openssl_get_md_methods() for a list of available digest methods.

binary

Setting to true will return as raw output data, otherwise the return value is binhex encoded.

Valor Retornado

Returns the digested hash value on success ou false em caso de falha.

Erros

Emits an E_WARNING level error if an unknown signature algorithm is passed via the digest_algo parameter.

Veja Também

  • openssl_get_md_methods() - Gets available digest methods


Encrypts data

  • « openssl_digest
  • openssl_error_string »
  • PHP Manual
  • OpenSSL Funções
  • Encrypts data

openssl_encrypt

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_encrypt — Encrypts data

Descrição

openssl_encrypt ( string $data , string $cipher_algo , string $passphrase , int $options = 0 , string $iv = "" , string &$tag = null , string $aad = "" , int $tag_length = 16 ) : string|false

Encrypts given data with given method and key, returns a raw or base64 encoded string

Parâmetros

data

The plaintext message data to be encrypted.

cipher_algo

The cipher method. For a list of available cipher methods, use openssl_get_cipher_methods().

passphrase

The passphrase . If the passphrase is shorted than expected, it is silently padded with NUL characters; if the passphrase is longer than expected, it is silently truncated.

options

options is a bitwise disjunction of the flags OPENSSL_RAW_DATA and OPENSSL_ZERO_PADDING.

iv

A non-NULL Initialization Vector.

tag

The authentication tag passed by reference when using AEAD cipher mode (GCM or CCM).

aad

Additional authentication data.

tag_length

The length of the authentication tag. Its value can be between 4 and 16 for GCM mode.

Valor Retornado

Returns the encrypted string on success ou false em caso de falha.

Erros

Emits an E_WARNING level error if an unknown cipher algorithm is passed in via the cipher_algo parameter.

Emits an E_WARNING level error if an empty value is passed in via the iv parameter.

Changelog

Versão | Descrição
7.1.0 | The tag, aad and tag_length parameters were added.

Exemplos

Exemplo #1 AES Authenticated Encryption in GCM mode example for PHP 7.1+

<?php
//$key should have been previously generated in a cryptographically safe way, like openssl_random_pseudo_bytes
$plaintext = "message to be encrypted";
$cipher = "aes-128-gcm";
if (in_array($cipher, openssl_get_cipher_methods()))
{
    $ivlen = openssl_cipher_iv_length($cipher);
    $iv = openssl_random_pseudo_bytes($ivlen);
    $ciphertext = openssl_encrypt($plaintext, $cipher, $key, $options=0, $iv, $tag);
    //store $cipher, $iv, and $tag for decryption later
    $original_plaintext = openssl_decrypt($ciphertext, $cipher, $key, $options=0, $iv, $tag);
    echo $original_plaintext."\n";
}
?>

Exemplo #2 AES Authenticated Encryption example for PHP 5.6+

<?php
//$key previously generated safely, ie: openssl_random_pseudo_bytes
$plaintext = "message to be encrypted";
$ivlen = openssl_cipher_iv_length($cipher="AES-128-CBC");
$iv = openssl_random_pseudo_bytes($ivlen);
$ciphertext_raw = openssl_encrypt($plaintext, $cipher, $key, $options=OPENSSL_RAW_DATA, $iv);
$hmac = hash_hmac('sha256', $ciphertext_raw, $key, $as_binary=true);
$ciphertext = base64_encode( $iv.$hmac.$ciphertext_raw );

//decrypt later....
$c = base64_decode($ciphertext);
$ivlen = openssl_cipher_iv_length($cipher="AES-128-CBC");
$iv = substr($c, 0, $ivlen);
$hmac = substr($c, $ivlen, $sha2len=32);
$ciphertext_raw = substr($c, $ivlen+$sha2len);
$original_plaintext = openssl_decrypt($ciphertext_raw, $cipher, $key, $options=OPENSSL_RAW_DATA, $iv);
$calcmac = hash_hmac('sha256', $ciphertext_raw, $key, $as_binary=true);
if (hash_equals($hmac, $calcmac))//PHP 5.6+ timing attack safe comparison
{
    echo $original_plaintext."\n";
}
?>

Veja Também

  • openssl_decrypt() - Decrypts data


Return openSSL error message

  • « openssl_encrypt
  • openssl_free_key »
  • PHP Manual
  • OpenSSL Funções
  • Return openSSL error message

openssl_error_string

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_error_string — Return openSSL error message

Descrição

openssl_error_string ( ) : string|false

openssl_error_string() returns the last error from the openSSL library. Error messages are queued, so this function should be called multiple times to collect all of the information. The last error will be the most recent one.

Valor Retornado

Returns an error message string, or false if there are no more error messages to return.

Exemplos

Exemplo #1 openssl_error_string() example

<?php
// lets assume you just called an openssl function that failed
while ($msg = openssl_error_string())
    echo $msg . "<br />\n";
?>


Free key resource

  • « openssl_error_string
  • openssl_get_cert_locations »
  • PHP Manual
  • OpenSSL Funções
  • Free key resource

openssl_free_key

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_free_key — Free key resource

Aviso

This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

openssl_free_key ( OpenSSLAsymmetricKey $key ) : void

openssl_free_key() frees the key associated with the specified key from memory.

Parâmetros

key

Valor Retornado

Não há valor retornado.

Changelog

Versão | Descrição
8.0.0 | This function is now deprecated as it doesn't have an effect anymore.
8.0.0 | key accepts an OpenSSLAsymmetricKey now; previously, a resource of type OpenSSL key was accepted.


Retrieve the available certificate locations

  • « openssl_free_key
  • openssl_get_cipher_methods »
  • PHP Manual
  • OpenSSL Funções
  • Retrieve the available certificate locations

openssl_get_cert_locations

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

openssl_get_cert_locations — Retrieve the available certificate locations

Descrição

openssl_get_cert_locations ( ) : array

openssl_get_cert_locations() returns an array with information about the available certificate locations that will be searched for SSL certificates.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array with the available certificate locations.

Exemplos

Exemplo #1 openssl_get_cert_locations() example

<?php
var_dump(openssl_get_cert_locations());
?>

O exemplo acima irá imprimir:

array(8) {
  ["default_cert_file"]=>
  string(21) "/usr/lib/ssl/cert.pem"
  ["default_cert_file_env"]=>
  string(13) "SSL_CERT_FILE"
  ["default_cert_dir"]=>
  string(18) "/usr/lib/ssl/certs"
  ["default_cert_dir_env"]=>
  string(12) "SSL_CERT_DIR"
  ["default_private_dir"]=>
  string(20) "/usr/lib/ssl/private"
  ["default_default_cert_area"]=>
  string(12) "/usr/lib/ssl"
  ["ini_cafile"]=>
  string(0) ""
  ["ini_capath"]=>
  string(0) ""
}


Gets available cipher methods

  • « openssl_get_cert_locations
  • openssl_get_curve_names »
  • PHP Manual
  • OpenSSL Funções
  • Gets available cipher methods

openssl_get_cipher_methods

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_get_cipher_methods — Gets available cipher methods

Descrição

openssl_get_cipher_methods ( bool $aliases = false ) : array

Gets a list of available cipher methods.

Parâmetros

aliases

Set to true if cipher aliases should be included within the returned array.

Valor Retornado

An array of available cipher methods. Note that prior to OpenSSL 1.1.1, the cipher methods have been returned in upper case and lower case spelling; as of OpenSSL 1.1.1 only the lower case variants are returned.

Exemplos

Exemplo #1 openssl_get_cipher_methods() example

Shows how the available ciphers might look, and also which aliases might be available.

<?php
$ciphers             = openssl_get_cipher_methods();
$ciphers_and_aliases = openssl_get_cipher_methods(true);
$cipher_aliases      = array_diff($ciphers_and_aliases, $ciphers);

//ECB mode should be avoided
$ciphers = array_filter( $ciphers, function($n) { return stripos($n,"ecb")===FALSE; } );

//At least as early as Aug 2016, Openssl declared the following weak: RC2, RC4, DES, 3DES, MD5 based
$ciphers = array_filter( $ciphers, function($c) { return stripos($c,"des")===FALSE; } );
$ciphers = array_filter( $ciphers, function($c) { return stripos($c,"rc2")===FALSE; } );
$ciphers = array_filter( $ciphers, function($c) { return stripos($c,"rc4")===FALSE; } );
$ciphers = array_filter( $ciphers, function($c) { return stripos($c,"md5")===FALSE; } );
$cipher_aliases = array_filter($cipher_aliases,function($c) { return stripos($c,"des")===FALSE; } );
$cipher_aliases = array_filter($cipher_aliases,function($c) { return stripos($c,"rc2")===FALSE; } );

print_r($ciphers);
print_r($cipher_aliases);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => aes-128-cbc
    [1] => aes-128-cbc-hmac-sha1
    [2] => aes-128-cbc-hmac-sha256
    [3] => aes-128-ccm
    [4] => aes-128-cfb
    [5] => aes-128-cfb1
    [6] => aes-128-cfb8
    [7] => aes-128-ctr
    [9] => aes-128-gcm
    [10] => aes-128-ocb
    [11] => aes-128-ofb
    [12] => aes-128-xts
    [13] => aes-192-cbc
    [14] => aes-192-ccm
    [15] => aes-192-cfb
    [16] => aes-192-cfb1
    [17] => aes-192-cfb8
    [18] => aes-192-ctr
    [20] => aes-192-gcm
    [21] => aes-192-ocb
    [22] => aes-192-ofb
    [23] => aes-256-cbc
    [24] => aes-256-cbc-hmac-sha1
    [25] => aes-256-cbc-hmac-sha256
    [26] => aes-256-ccm
    [27] => aes-256-cfb
    [28] => aes-256-cfb1
    [29] => aes-256-cfb8
    [30] => aes-256-ctr
    [32] => aes-256-gcm
    [33] => aes-256-ocb
    [34] => aes-256-ofb
    [35] => aes-256-xts
    [36] => aria-128-cbc
    [37] => aria-128-ccm
    [38] => aria-128-cfb
    [39] => aria-128-cfb1
    [40] => aria-128-cfb8
    [41] => aria-128-ctr
    [43] => aria-128-gcm
    [44] => aria-128-ofb
    [45] => aria-192-cbc
    [46] => aria-192-ccm
    [47] => aria-192-cfb
    [48] => aria-192-cfb1
    [49] => aria-192-cfb8
    [50] => aria-192-ctr
    [52] => aria-192-gcm
    [53] => aria-192-ofb
    [54] => aria-256-cbc
    [55] => aria-256-ccm
    [56] => aria-256-cfb
    [57] => aria-256-cfb1
    [58] => aria-256-cfb8
    [59] => aria-256-ctr
    [61] => aria-256-gcm
    [62] => aria-256-ofb
    [63] => bf-cbc
    [64] => bf-cfb
    [66] => bf-ofb
    [67] => camellia-128-cbc
    [68] => camellia-128-cfb
    [69] => camellia-128-cfb1
    [70] => camellia-128-cfb8
    [71] => camellia-128-ctr
    [73] => camellia-128-ofb
    [74] => camellia-192-cbc
    [75] => camellia-192-cfb
    [76] => camellia-192-cfb1
    [77] => camellia-192-cfb8
    [78] => camellia-192-ctr
    [80] => camellia-192-ofb
    [81] => camellia-256-cbc
    [82] => camellia-256-cfb
    [83] => camellia-256-cfb1
    [84] => camellia-256-cfb8
    [85] => camellia-256-ctr
    [87] => camellia-256-ofb
    [88] => cast5-cbc
    [89] => cast5-cfb
    [91] => cast5-ofb
    [92] => chacha20
    [93] => chacha20-poly1305
    [111] => id-aes128-CCM
    [112] => id-aes128-GCM
    [113] => id-aes128-wrap
    [114] => id-aes128-wrap-pad
    [115] => id-aes192-CCM
    [116] => id-aes192-GCM
    [117] => id-aes192-wrap
    [118] => id-aes192-wrap-pad
    [119] => id-aes256-CCM
    [120] => id-aes256-GCM
    [121] => id-aes256-wrap
    [122] => id-aes256-wrap-pad
    [124] => idea-cbc
    [125] => idea-cfb
    [127] => idea-ofb
    [137] => seed-cbc
    [138] => seed-cfb
    [140] => seed-ofb
    [141] => sm4-cbc
    [142] => sm4-cfb
    [143] => sm4-ctr
    [145] => sm4-ofb
)
Array
(
    [36] => aes128
    [37] => aes128-wrap
    [38] => aes192
    [39] => aes192-wrap
    [40] => aes256
    [41] => aes256-wrap
    [69] => aria128
    [70] => aria192
    [71] => aria256
    [72] => bf
    [77] => blowfish
    [99] => camellia128
    [100] => camellia192
    [101] => camellia256
    [102] => cast
    [103] => cast-cbc
    [146] => idea
    [164] => seed
    [169] => sm4
)

Veja Também

  • openssl_get_md_methods() - Gets available digest methods


Gets list of available curve names for ECC

  • « openssl_get_cipher_methods
  • openssl_get_md_methods »
  • PHP Manual
  • OpenSSL Funções
  • Gets list of available curve names for ECC

openssl_get_curve_names

(PHP 7 >= 7.1.0, PHP 8)

openssl_get_curve_names — Gets list of available curve names for ECC

Descrição

openssl_get_curve_names ( ) : array|false

Gets the list of available curve names for use in Elliptic curve cryptography (ECC) for public/private key operations. The two most widely standardized/supported curves are prime256v1 (NIST P-256) and secp384r1 (NIST P-384).

Approximate Equivalancies of AES, RSA, DSA and ECC Keysizes
AES Symmetric Keysize (Bits) | RSA and DSA Keysize (Bits) | ECC Keysize (Bits)
80 | 1024 | 160
112 | 2048 | 224
128 | 3072 | 256
192 | 7680 | 384
256 | 15360 | 512
» NIST recommends using ECC curves with at least 256 bits.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of available curve names, ou false em caso de falha.

Exemplos

Exemplo #1 openssl_get_curve_names() example

<?php
$curve_names = openssl_get_curve_names();
print_r($curve_names);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => secp112r1
    [1] => secp112r2
    [2] => secp128r1
    [3] => secp128r2
    [4] => secp160k1
    [5] => secp160r1
    [6] => secp160r2
    [7] => secp192k1
    [8] => secp224k1
    [9] => secp224r1
    [10] => secp256k1
    [11] => secp384r1
    [12] => secp521r1
    [13] => prime192v1
    [14] => prime192v2
    [15] => prime192v3
    [16] => prime239v1
    [17] => prime239v2
    [18] => prime239v3
    [19] => prime256v1
    [20] => sect113r1
    [21] => sect113r2
    [22] => sect131r1
    [23] => sect131r2
    [24] => sect163k1
    [25] => sect163r1
    [26] => sect163r2
    [27] => sect193r1
    [28] => sect193r2
    [29] => sect233k1
    [30] => sect233r1
    [31] => sect239k1
    [32] => sect283k1
    [33] => sect283r1
    [34] => sect409k1
    [35] => sect409r1
    [36] => sect571k1
    [37] => sect571r1
    [38] => c2pnb163v1
    [39] => c2pnb163v2
    [40] => c2pnb163v3
    [41] => c2pnb176v1
    [42] => c2tnb191v1
    [43] => c2tnb191v2
    [44] => c2tnb191v3
    [45] => c2pnb208w1
    [46] => c2tnb239v1
    [47] => c2tnb239v2
    [48] => c2tnb239v3
    [49] => c2pnb272w1
    [50] => c2pnb304w1
    [51] => c2tnb359v1
    [52] => c2pnb368w1
    [53] => c2tnb431r1
    [54] => wap-wsg-idm-ecid-wtls1
    [55] => wap-wsg-idm-ecid-wtls3
    [56] => wap-wsg-idm-ecid-wtls4
    [57] => wap-wsg-idm-ecid-wtls5
    [58] => wap-wsg-idm-ecid-wtls6
    [59] => wap-wsg-idm-ecid-wtls7
    [60] => wap-wsg-idm-ecid-wtls8
    [61] => wap-wsg-idm-ecid-wtls9
    [62] => wap-wsg-idm-ecid-wtls10
    [63] => wap-wsg-idm-ecid-wtls11
    [64] => wap-wsg-idm-ecid-wtls12
    [65] => Oakley-EC2N-3
    [66] => Oakley-EC2N-4
    [67] => brainpoolP160r1
    [68] => brainpoolP160t1
    [69] => brainpoolP192r1
    [70] => brainpoolP192t1
    [71] => brainpoolP224r1
    [72] => brainpoolP224t1
    [73] => brainpoolP256r1
    [74] => brainpoolP256t1
    [75] => brainpoolP320r1
    [76] => brainpoolP320t1
    [77] => brainpoolP384r1
    [78] => brainpoolP384t1
    [79] => brainpoolP512r1
    [80] => brainpoolP512t1
)


Gets available digest methods

  • « openssl_get_curve_names
  • openssl_get_privatekey »
  • PHP Manual
  • OpenSSL Funções
  • Gets available digest methods

openssl_get_md_methods

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_get_md_methods — Gets available digest methods

Descrição

openssl_get_md_methods ( bool $aliases = false ) : array

Gets a list of available digest methods.

Parâmetros

aliases

Set to true if digest aliases should be included within the returned array.

Valor Retornado

An array of available digest methods.

Exemplos

Exemplo #1 openssl_get_md_methods() example

Shows how the available digests might look, and also which aliases might be available.

<?php
$digests             = openssl_get_md_methods();
$digests_and_aliases = openssl_get_md_methods(true);
$digest_aliases      = array_diff($digests_and_aliases, $digests);

print_r($digests);

print_r($digest_aliases);

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => DSA
    [1] => DSA-SHA
    [2] => MD2
    [3] => MD4
    [4] => MD5
    [5] => RIPEMD160
    [6] => SHA
    [7] => SHA1
    [8] => SHA224
    [9] => SHA256
    [10] => SHA384
    [11] => SHA512
    [12] => dsaEncryption
    [13] => dsaWithSHA
    [14] => ecdsa-with-SHA1
    [15] => md2
    [16] => md4
    [17] => md5
    [18] => ripemd160
    [19] => sha
    [20] => sha1
    [21] => sha224
    [22] => sha256
    [23] => sha384
    [24] => sha512
)
Array
(
    [2] => DSA-SHA1
    [3] => DSA-SHA1-old
    [4] => DSS1
    [9] => RSA-MD2
    [10] => RSA-MD4
    [11] => RSA-MD5
    [12] => RSA-RIPEMD160
    [13] => RSA-SHA
    [14] => RSA-SHA1
    [15] => RSA-SHA1-2
    [16] => RSA-SHA224
    [17] => RSA-SHA256
    [18] => RSA-SHA384
    [19] => RSA-SHA512
    [28] => dsaWithSHA1
    [29] => dss1
    [32] => md2WithRSAEncryption
    [34] => md4WithRSAEncryption
    [36] => md5WithRSAEncryption
    [37] => ripemd
    [39] => ripemd160WithRSA
    [40] => rmd160
    [43] => sha1WithRSAEncryption
    [45] => sha224WithRSAEncryption
    [47] => sha256WithRSAEncryption
    [49] => sha384WithRSAEncryption
    [51] => sha512WithRSAEncryption
    [52] => shaWithRSAEncryption
    [53] => ssl2-md5
    [54] => ssl3-md5
    [55] => ssl3-sha1
)

Veja Também

  • openssl_digest() - Computes a digest
  • openssl_get_cipher_methods() - Gets available cipher methods


Sinônimo de openssl_pkey_get_private

  • « openssl_get_md_methods
  • openssl_get_publickey »
  • PHP Manual
  • OpenSSL Funções
  • Sinônimo de openssl_pkey_get_private

openssl_get_privatekey

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_get_privatekey — Sinônimo de openssl_pkey_get_private()

Descrição

Esta função é um apelido para: openssl_pkey_get_private().


Sinônimo de openssl_pkey_get_public

  • « openssl_get_privatekey
  • openssl_open »
  • PHP Manual
  • OpenSSL Funções
  • Sinônimo de openssl_pkey_get_public

openssl_get_publickey

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_get_publickey — Sinônimo de openssl_pkey_get_public()

Descrição

Esta função é um apelido para: openssl_pkey_get_public().


Open sealed data

  • « openssl_get_publickey
  • openssl_pbkdf2 »
  • PHP Manual
  • OpenSSL Funções
  • Open sealed data

openssl_open

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_open — Open sealed data

Descrição

openssl_open ( string $data , string &$output , string $encrypted_key , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key , string $cipher_algo , string|null $iv = null ) : bool

openssl_open() opens (decrypts) data using the private key associated with the key identifier private_key and the envelope key encrypted_key, and fills output with the decrypted data. The envelope key is generated when the data are sealed and can only be used by one specific private key. See openssl_seal() for more information.

Parâmetros

data

output

If the call is successful the opened data is returned in this parameter.

encrypted_key

private_key

cipher_algo

The cipher method.

Cuidado

The default value ('RC4') is considered insecure. It is strongly recommended to explicitly specify a secure cipher method.

iv

The initialization vector.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 CSR was accepted.
8.0.0 | cipher_algo is no longer an optional parameter.

Exemplos

Exemplo #1 openssl_open() example

<?php
// $sealed and $env_key are assumed to contain the sealed data
// and our envelope key, both given to us by the sealer.

// fetch private key from file and ready it
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

// decrypt the data and store it in $open
if (openssl_open($sealed, $open, $env_key, $pkeyid)) {
    echo "here is the opened data: ", $open;
} else {
    echo "failed to open data";
}

// free the private key from memory
openssl_free_key($pkeyid);
?>

Veja Também

  • openssl_seal() - Seal (encrypt) data


Generates a PKCS5 v2 PBKDF2 string

  • « openssl_open
  • openssl_pkcs12_export_to_file »
  • PHP Manual
  • OpenSSL Funções
  • Generates a PKCS5 v2 PBKDF2 string

openssl_pbkdf2

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

openssl_pbkdf2 — Generates a PKCS5 v2 PBKDF2 string

Descrição

openssl_pbkdf2 ( string $password , string $salt , int $key_length , int $iterations , string $digest_algo = "sha1" ) : string|false

openssl_pbkdf2() computes PBKDF2 (Password-Based Key Derivation Function 2), a key derivation function defined in PKCS5 v2.

Parâmetros

password

Password from which the derived key is generated.

salt

PBKDF2 recommends a crytographic salt of at least 64 bits (8 bytes).

key_length

Length of desired output key.

iterations

The number of iterations desired. » NIST recommends at least 10,000.

digest_algo

Optional hash or digest algorithm from openssl_get_md_methods(). Defaults to SHA-1.

Valor Retornado

Returns raw binary string ou false em caso de falha.

Exemplos

Exemplo #1 openssl_pbkdf2() example

<?php
$password = 'yOuR-pAs5w0rd-hERe';
$salt = openssl_random_pseudo_bytes(12);
$keyLength = 40;
$iterations = 10000;
$generated_key = openssl_pbkdf2($password, $salt, $keyLength, $iterations, 'sha256');
echo bin2hex($generated_key)."\n";
echo base64_encode($generated_key)."\n";
?>

Veja Também

  • hash_pbkdf2() - Generate a PBKDF2 key derivation of a supplied password
  • openssl_get_md_methods() - Gets available digest methods


Exports a PKCS#12 Compatible Certificate Store File

  • « openssl_pbkdf2
  • openssl_pkcs12_export »
  • PHP Manual
  • OpenSSL Funções
  • Exports a PKCS#12 Compatible Certificate Store File

openssl_pkcs12_export_to_file

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

openssl_pkcs12_export_to_file — Exports a PKCS#12 Compatible Certificate Store File

Descrição

openssl_pkcs12_export_to_file ( OpenSSLCertificate|string $certificate , string $output_filename , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key , string $passphrase , array $options = [] ) : bool

openssl_pkcs12_export_to_file() stores certificate into a file named by output_filename in a PKCS#12 file format.

Parâmetros

x509

Veja Key/parâmetros de certificado para uma lista de valores válidos.

output_filename

Path to the output file.

private_key

Private key component of PKCS#12 file. See Public/Private Key parameters for a list of valid values.

passphrase

Encryption password for unlocking the PKCS#12 file.

options

Optional array, other keys will be ignored.

Key | Descrição
"extracerts" | array of extra certificates or a single certificate to be included in the PKCS#12 file.
"friendlyname" | string to be used for the supplied certificate and key

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
8.0.0 | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.


Exports a PKCS#12 Compatible Certificate Store File to variable

  • « openssl_pkcs12_export_to_file
  • openssl_pkcs12_read »
  • PHP Manual
  • OpenSSL Funções
  • Exports a PKCS#12 Compatible Certificate Store File to variable

openssl_pkcs12_export

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

openssl_pkcs12_export — Exports a PKCS#12 Compatible Certificate Store File to variable

Descrição

openssl_pkcs12_export ( OpenSSLCertificate|string $certificate , string &$output , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key , string $passphrase , array $options = [] ) : bool

openssl_pkcs12_export() stores certificate into a string named by output in a PKCS#12 file format.

Parâmetros

x509

Veja Key/parâmetros de certificado para uma lista de valores válidos.

output

On success, this will hold the PKCS#12.

private_key

Private key component of PKCS#12 file. See Public/Private Key parameters for a list of valid values.

passphrase

Encryption password for unlocking the PKCS#12 file.

options

Optional array, other keys will be ignored.

Key | Descrição
"extracerts" | array of extra certificates or a single certificate to be included in the PKCS#12 file.
"friendlyname" | string to be used for the supplied certificate and key

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
8.0.0 | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.


Parse a PKCS#12 Certificate Store into an array

  • « openssl_pkcs12_export
  • openssl_pkcs7_decrypt »
  • PHP Manual
  • OpenSSL Funções
  • Parse a PKCS#12 Certificate Store into an array

openssl_pkcs12_read

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

openssl_pkcs12_read — Parse a PKCS#12 Certificate Store into an array

Descrição

openssl_pkcs12_read ( string $pkcs12 , array &$certificates , string $passphrase ) : bool

openssl_pkcs12_read() parses the PKCS#12 certificate store supplied by pkcs12 into a array named certificates.

Parâmetros

pkcs12

The certificate store contents, not its file name.

certificates

On success, this will hold the Certificate Store Data.

passphrase

Encryption password for unlocking the PKCS#12 file.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 openssl_pkcs12_read() example

<?php
if (!$cert_store = file_get_contents("/certs/file.p12")) {
    echo "Error: Unable to read the cert file\n";
    exit;
}

if (openssl_pkcs12_read($cert_store, $cert_info, "my_secret_pass")) {
    echo "Certificate Information\n";
    print_r($cert_info);
} else {
    echo "Error: Unable to read the cert store.\n";
    exit;
}
?>


Decrypts an S/MIME encrypted message

  • « openssl_pkcs12_read
  • openssl_pkcs7_encrypt »
  • PHP Manual
  • OpenSSL Funções
  • Decrypts an S/MIME encrypted message

openssl_pkcs7_decrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_pkcs7_decrypt — Decrypts an S/MIME encrypted message

Descrição

openssl_pkcs7_decrypt ( string $input_filename , string $output_filename , OpenSSLCertificate|string $certificate , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $private_key = null ) : bool

Decrypts the S/MIME encrypted message contained in the file specified by input_filename using the certificate and its associated private key specified by certificate and private_key.

Parâmetros

input_filename

output_filename

The decrypted message is written to the file specified by output_filename.

certificate

private_key

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 CSR was accepted.

Exemplos

Exemplo #1 openssl_pkcs7_decrypt() example

<?php
// $cert and $key are assumed to contain your personal certificate and private
// key pair, and that you are the recipient of an S/MIME message
$infilename = "encrypted.msg";  // this file holds your encrypted message
$outfilename = "decrypted.msg"; // make sure you can write to this file

if (openssl_pkcs7_decrypt($infilename, $outfilename, $cert, $key)) {
    echo "decrypted!";
} else {
    echo "failed to decrypt!";
}
?>


Encrypt an S/MIME message

  • « openssl_pkcs7_decrypt
  • openssl_pkcs7_read »
  • PHP Manual
  • OpenSSL Funções
  • Encrypt an S/MIME message

openssl_pkcs7_encrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_pkcs7_encrypt — Encrypt an S/MIME message

Descrição

openssl_pkcs7_encrypt ( string $input_filename , string $output_filename , OpenSSLCertificate|array|string $certificate , array|null $headers , int $flags = 0 , int $cipher_algo = OPENSSL_CIPHER_RC2_40 ) : bool

openssl_pkcs7_encrypt() takes the contents of the file named input_filename and encrypts them using an RC2 40-bit cipher so that they can only be read by the intended recipients specified by certificate.

Parâmetros

input_filename

output_filename

certificate

Either a lone X.509 certificate, or an array of X.509 certificates.

headers

headers is an array of headers that will be prepended to the data after it has been encrypted.

headers can be either an associative array keyed by header name, or an indexed array, where each element contains a single header line.

flags

flags can be used to specify options that affect the encoding process - see PKCS7 constants.

cipher_algo

One of cipher constants.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.

Exemplos

Exemplo #1 openssl_pkcs7_encrypt() example

<?php
// the message you want to encrypt and send to your secret agent
// in the field, known as nighthawk.  You have his certificate
// in the file nighthawk.pem
$data = <<<EOD
Nighthawk,

Top secret, for your eyes only!

The enemy is closing in! Meet me at the cafe at 8.30am
to collect your forged passport!

HQ
EOD;

// load key
$key = file_get_contents("nighthawk.pem");

// save message to file
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);

// encrypt it
if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", $key,
    array("To" => "nighthawk@example.com", // keyed syntax
          "From: HQ <hq@example.com>", // indexed syntax
          "Subject" => "Eyes only"))) {
    // message encrypted - send it!
    exec(ini_get("sendmail_path") . " < enc.txt");
}
?>


Export the PKCS7 file to an array of PEM certificates

  • « openssl_pkcs7_encrypt
  • openssl_pkcs7_sign »
  • PHP Manual
  • OpenSSL Funções
  • Export the PKCS7 file to an array of PEM certificates

openssl_pkcs7_read

(PHP 7 >= 7.2.0, PHP 8)

openssl_pkcs7_read — Export the PKCS7 file to an array of PEM certificates

Descrição

openssl_pkcs7_read ( string $input_filename , array &$certificates ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

input_filename

certificates

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Sign an S/MIME message

  • « openssl_pkcs7_read
  • openssl_pkcs7_verify »
  • PHP Manual
  • OpenSSL Funções
  • Sign an S/MIME message

openssl_pkcs7_sign

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_pkcs7_sign — Sign an S/MIME message

Descrição

openssl_pkcs7_sign ( string $input_filename , string $output_filename , OpenSSLCertificate|string $certificate , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key , array|null $headers , int $flags = PKCS7_DETACHED , string|null $untrusted_certificates_filename = null ) : bool

openssl_pkcs7_sign() takes the contents of the file named input_filename and signs them using the certificate and its matching private key specified by certificate and private_key parameters.

Parâmetros

input_filename

The input file you are intending to digitally sign.

output_filename

The file which the digital signature will be written to.

certificate

The X.509 certificate used to digitally sign input_filename. See Key/Certificate parameters for a list of valid values.

private_key

private_key is the private key corresponding to certificate. See Public/Private Key parameters for a list of valid values.

headers

headers is an array of headers that will be prepended to the data after it has been signed (see openssl_pkcs7_encrypt() for more information about the format of this parameter).

flags

flags can be used to alter the output - see PKCS7 constants.

untrusted_certificates_filename

untrusted_certificates_filename specifies the name of a file containing a bunch of extra certificates to include in the signature which can for example be used to help the recipient to verify the certificate that you used.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
8.0.0 | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 CSR was accepted.

Exemplos

Exemplo #1 openssl_pkcs7_sign() example

<?php
// the message you want to sign so that recipient can be sure it was you that
// sent it
$data = <<<EOD

You have my authorization to spend $10,000 on dinner expenses.

The CEO
EOD;
// save message to file
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// encrypt it
if (openssl_pkcs7_sign("msg.txt", "signed.txt", "file://mycert.pem",
    array("file://mycert.pem", "mypassphrase"),
    array("To" => "joes@example.com", // keyed syntax
          "From: HQ <ceo@example.com>", // indexed syntax
          "Subject" => "Eyes only")
    )) {
    // message signed - send it!
    exec(ini_get("sendmail_path") . " < signed.txt");
}
?>


Verifies the signature of an S/MIME signed message

  • « openssl_pkcs7_sign
  • openssl_pkey_derive »
  • PHP Manual
  • OpenSSL Funções
  • Verifies the signature of an S/MIME signed message

openssl_pkcs7_verify

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_pkcs7_verify — Verifies the signature of an S/MIME signed message

Descrição

openssl_pkcs7_verify ( string $input_filename , int $flags , string|null $signers_certificates_filename = null , array $ca_info = [] , string|null $untrusted_certificates_filename = null , string|null $content = null , string|null $output_filename = null ) : bool|int

openssl_pkcs7_verify() reads the S/MIME message contained in the given file and examines the digital signature.

Parâmetros

input_filename

Path to the message.

flags

flags can be used to affect how the signature is verified - see PKCS7 constants for more information.

signers_certificates_filename

If the signers_certificates_filename is specified, it should be a string holding the name of a file into which the certificates of the persons that signed the messages will be stored in PEM format.

ca_info

If the ca_info is specified, it should hold information about the trusted CA certificates to use in the verification process - see certificate verification for more information about this parameter.

untrusted_certificates_filename

If the untrusted_certificates_filename is specified, it is the filename of a file containing a bunch of certificates to use as untrusted CAs.

content

You can specify a filename with content that will be filled with the verified data, but with the signature information stripped.

output_filename

Valor Retornado

Returns true if the signature is verified, false if it is not correct (the message has been tampered with, or the signing certificate is invalid), or -1 on error.

Changelog

Versão | Descrição
8.0.0 | signers_certificates_filename, untrusted_certificates_filename, content and output_filename are nullable now.
7.2.0 | The output_filename parameter was added.

Notas

Nota: As specified in RFC 2045, lines may not be longer than 76 characters in the input_filename parameter.


Computes shared secret for public value of remote and local DH or ECDH key

  • « openssl_pkcs7_verify
  • openssl_pkey_export_to_file »
  • PHP Manual
  • OpenSSL Funções
  • Computes shared secret for public value of remote and local DH or ECDH key

openssl_pkey_derive

(PHP 7 >= 7.3.0, PHP 8)

openssl_pkey_derive — Computes shared secret for public value of remote and local DH or ECDH key

Descrição

openssl_pkey_derive ( OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key , int $key_length = 0 ) : string|false

openssl_pkey_derive() takes a set of a public_key and private_key and derives a shared secret, for either DH or EC keys.

Parâmetros

public_key

public_key is the public key for the derivation. See Public/Private Key parameters for a list of valid values.

private_key

private_key is the private key for the derivation. See Public/Private Key parameters for a list of valid values.

key_length

If not zero, will set the desired length of the derived secret.

Valor Retornado

The derived secret on success ou false em caso de falha.

Exemplos

Exemplo #1 openssl_pkey_derive() example

<?php
// Load in private key
$priv = openssl_pkey_get_private("-----BEGIN PRIVATE KEY-----
MIICJgIBADCCARcGCSqGSIb3DQEDATCCAQgCggEBAJLxRCaZ933uW+AXmabHFDDy
upojBIRlbmQLJZfigDaSA1f9YOTsIv+WwVFTX/J1mtCyx9uBcz0Nt2kmVwxWuc2f
VtCEMPsmLsVXX7xRUFLpyX1Y1IYGBVXQOoOvLWYQjpZgnx47Pkh1Ok1+smffztfC
0DCNt4KorWrbsPcmqBejXHN79KvWFjZmXOksRiNu/Bn76RiqvofC4z8Ri3kHXQG2
197JGZzzFXHadGC3xbkg8UxsNbYhVMKbm0iANfafUH7/hoS9UjAVQYtvwe7YNiW/
HnyfVCrKwcc7sadd8Iphh+3lf5P1AhaQEAMytanrzq9RDXKBxuvpSJifRYasZYsC
AQIEggEEAoIBAGwAYC2E81Y1U2Aox0U7u1+vBcbht/OO87tutMvc4NTLf6NLPHsW
cPqBixs+3rSn4fADzAIvdLBmogjtiIZoB6qyHrllF/2xwTVGEeYaZIupQH3bMK2b
6eUvnpuu4Ytksiz6VpXBBRMrIsj3frM+zUtnq8vKUr+TbjV2qyKR8l3eNDwzqz30
dlbKh9kIhZafclHfRVfyp+fVSKPfgrRAcLUgAbsVjOjPeJ90xQ4DTMZ6vjiv6tHM
hkSjJIcGhRtSBzVF/cT38GyCeTmiIA/dRz2d70lWrqDQCdp9ArijgnpjNKAAulSY
CirnMsGZTDGmLOHg4xOZ5FEAzZI2sFNLlcw=
-----END PRIVATE KEY-----
");

// Load in public key
$pub = openssl_pkey_get_public("-----BEGIN PUBLIC KEY-----
MIICJDCCARcGCSqGSIb3DQEDATCCAQgCggEBAJLxRCaZ933uW+AXmabHFDDyupoj
BIRlbmQLJZfigDaSA1f9YOTsIv+WwVFTX/J1mtCyx9uBcz0Nt2kmVwxWuc2fVtCE
MPsmLsVXX7xRUFLpyX1Y1IYGBVXQOoOvLWYQjpZgnx47Pkh1Ok1+smffztfC0DCN
t4KorWrbsPcmqBejXHN79KvWFjZmXOksRiNu/Bn76RiqvofC4z8Ri3kHXQG2197J
GZzzFXHadGC3xbkg8UxsNbYhVMKbm0iANfafUH7/hoS9UjAVQYtvwe7YNiW/Hnyf
VCrKwcc7sadd8Iphh+3lf5P1AhaQEAMytanrzq9RDXKBxuvpSJifRYasZYsCAQID
ggEFAAKCAQAiCSBpxvGgsTorxAWtcAlSmzAJnJxFgSPef0g7OjhESytnc8G2QYmx
ovMt5KVergcitztWh08hZQUdAYm4rI+zMlAFDdN8LWwBT/mGKSzRkWeprd8E7mvy
ucqC1YXCMqmIwPySvLQUB/Dl8kgau7BLAnIJm8VP+MVrn8g9gghD0qRCgPgtEaDV
vocfgnOU43rhKnIgO0cHOKtw2qybSFB8QuZrYugq4j8Bwkrzh6rdMMeyMl/ej5Aj
c0wamOzuBDtXt0T9+Fx3khHaowjCc7xJZRgZCxg43SbqMWJ9lUg94I7+LTX61Gyv
dtlkbGbtoDOnxeNnN93gwQZngGYZYciu
-----END PUBLIC KEY-----
");

// Outputs the hex version of the derived key
echo bin2hex(openssl_pkey_derive($pub,$priv));


Gets an exportable representation of a key into a file

  • « openssl_pkey_derive
  • openssl_pkey_export »
  • PHP Manual
  • OpenSSL Funções
  • Gets an exportable representation of a key into a file

openssl_pkey_export_to_file

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_export_to_file — Gets an exportable representation of a key into a file

Descrição

openssl_pkey_export_to_file ( OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key , string $output_filename , string|null $passphrase = null , array|null $options = null ) : bool

openssl_pkey_export_to_file() saves an ascii-armoured (PEM encoded) rendition of key into the file named by output_filename.

Nota: Você precisa ter um válido openssl.cnf instalado para esta função operar corretamente. Veja as notas sobre a seção de instalação para mais informação.

Parâmetros

key

output_filename

Path to the output file.

passphrase

The key can be optionally protected by a passphrase.

options

options can be used to fine-tune the export process by specifying and/or overriding options for the openssl configuration file. See openssl_csr_new() for more information about options.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.


Gets an exportable representation of a key into a string

  • « openssl_pkey_export_to_file
  • openssl_pkey_free »
  • PHP Manual
  • OpenSSL Funções
  • Gets an exportable representation of a key into a string

openssl_pkey_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_export — Gets an exportable representation of a key into a string

Descrição

openssl_pkey_export ( OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key , string &$output , string|null $passphrase = null , array|null $options = null ) : bool

openssl_pkey_export() exports key as a PEM encoded string and stores it into output (which is passed by reference).

Nota: Você precisa ter um válido openssl.cnf instalado para esta função operar corretamente. Veja as notas sobre a seção de instalação para mais informação.

Parâmetros

key

output

passphrase

The key is optionally protected by passphrase.

options

options can be used to fine-tune the export process by specifying and/or overriding options for the openssl configuration file. See openssl_csr_new() for more information about options.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.


Frees a private key

  • « openssl_pkey_export
  • openssl_pkey_get_details »
  • PHP Manual
  • OpenSSL Funções
  • Frees a private key

openssl_pkey_free

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_free — Frees a private key

Aviso

This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

openssl_pkey_free ( OpenSSLAsymmetricKey $key ) : void

This function frees a private key created by openssl_pkey_new().

Parâmetros

key

Resource holding the key.

Valor Retornado

Não há valor retornado.

Changelog

Versão | Descrição
8.0.0 | This function is now deprecated as it doesn't have an effect anymore.
8.0.0 | key accepts an OpenSSLAsymmetricKey now; previously, a resource of type OpenSSL key was accepted.


Returns an array with the key details

  • « openssl_pkey_free
  • openssl_pkey_get_private »
  • PHP Manual
  • OpenSSL Funções
  • Returns an array with the key details

openssl_pkey_get_details

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

openssl_pkey_get_details — Returns an array with the key details

Descrição

openssl_pkey_get_details ( OpenSSLAsymmetricKey $key ) : array|false

This function returns the key details (bits, key, type).

Parâmetros

key

Resource holding the key.

Valor Retornado

Returns an array with the key details in success or false in failure. Returned array has indexes bits (number of bits), key (string representation of the public key) and type (type of the key which is one of OPENSSL_KEYTYPE_RSA, OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH, OPENSSL_KEYTYPE_EC or -1 meaning unknown).

Depending on the key type used, additional details may be returned. Note that some elements may not always be available.

  • OPENSSL_KEYTYPE_RSA, an additional array key named "rsa", containing the key data is returned.
    Key | Descrição
    "n" | modulus
    "e" | public exponent
    "d" | private exponent
    "p" | prime 1
    "q" | prime 2
    "dmp1" | exponent1, d mod (p-1)
    "dmq1" | exponent2, d mod (q-1)
    "iqmp" | coefficient, (inverse of q) mod p
  • OPENSSL_KEYTYPE_DSA, an additional array key named "dsa", containing the key data is returned.
    Key | Descrição
    "p" | prime number (public)
    "q" | 160-bit subprime, q | p-1 (public)
    "g" | generator of subgroup (public)
    "priv_key" | private key x
    "pub_key" | public key y = g^x
  • OPENSSL_KEYTYPE_DH, an additional array key named "dh", containing the key data is returned.
    Key | Descrição
    "p" | prime number (shared)
    "g" | generator of Z_p (shared)
    "priv_key" | private DH value x
    "pub_key" | public DH value g^x
  • OPENSSL_KEYTYPE_EC, an additional array key named "ec", containing the key data is returned.
    Key | Descrição
    "curve_name" | name of curve, see openssl_get_curve_names()
    "curve_oid" | ASN1 Object identifier (OID) for EC curve.
    "x" | x coordinate (public)
    "y" | y coordinate (public)
    "d" | private key

Changelog

Versão | Descrição
8.0.0 | key accepts an OpenSSLAsymmetricKey now; previously, a resource of type OpenSSL key was accepted.


Get a private key

  • « openssl_pkey_get_details
  • openssl_pkey_get_public »
  • PHP Manual
  • OpenSSL Funções
  • Get a private key

openssl_pkey_get_private

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_get_private — Get a private key

Descrição

openssl_pkey_get_private ( OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key , string|null $passphrase = null ) : OpenSSLAsymmetricKey|false

openssl_pkey_get_private() parses private_key and prepares it for use by other functions.

Parâmetros

private_key

private_key can be one of the following:

  1. a string having the format file://path/to/file.pem. The named file must contain a PEM encoded certificate/private key (it may contain both).
  2. A PEM formatted private key.

passphrase

The optional parameter passphrase must be used if the specified key is encrypted (protected by a passphrase).

Valor Retornado

Returns an OpenSSLAsymmetricKey instance on success, or false on error.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was returned.
8.0.0 | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
8.0.0 | passphrase is nullable now.


Extract public key from certificate and prepare it for use

  • « openssl_pkey_get_private
  • openssl_pkey_new »
  • PHP Manual
  • OpenSSL Funções
  • Extract public key from certificate and prepare it for use

openssl_pkey_get_public

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_get_public — Extract public key from certificate and prepare it for use

Descrição

openssl_pkey_get_public ( OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key ) : OpenSSLAsymmetricKey|false

openssl_pkey_get_public() extracts the public key from public_key and prepares it for use by other functions.

Parâmetros

public_key

public_key can be one of the following:

  1. an OpenSSLAsymmetricKey instance
  2. a string having the format file://path/to/file.pem. The named file must contain a PEM encoded certificate/public key (it may contain both).
  3. A PEM formatted public key.

Valor Retornado

Returns an OpenSSLAsymmetricKey instance on success, or false on error.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was returned.
8.0.0 | public_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.


Generates a new private key

  • « openssl_pkey_get_public
  • openssl_private_decrypt »
  • PHP Manual
  • OpenSSL Funções
  • Generates a new private key

openssl_pkey_new

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_new — Generates a new private key

Descrição

openssl_pkey_new ( array|null $options = null ) : OpenSSLAsymmetricKey|false

openssl_pkey_new() generates a new private key. How to obtain the public component of the key is shown in an example below.

Nota: Você precisa ter um válido openssl.cnf instalado para esta função operar corretamente. Veja as notas sobre a seção de instalação para mais informação.

Parâmetros

options

You can finetune the key generation (such as specifying the number of bits) using options. See openssl_csr_new() for more information about options.

Valor Retornado

Returns an OpenSSLAsymmetricKey instance for the pkey on success, or false on error.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was returned.
7.1.0 | The curve_name option was added to make it possible to create EC keys.

Exemplos

Exemplo #1 Obtain the public key from a private key

<?php
$private_key = openssl_pkey_new();
$public_key_pem = openssl_pkey_get_details($private_key)['key'];
echo $public_key_pem;
$public_key = openssl_pkey_get_public($public_key_pem);
var_dump($public_key);
?>

O exemplo acima irá imprimir algo similar à:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArZFsmN2P6rx1Xt7YV95o
gcdlal0k3ryiIhFNzjwtRNNTXfEfBr6lUuaIJYQ8/XqEBX0hpcfuuF6tTRlonA3t
WLME0QFD93YVsAaXcy76YqjjqcRRodIBphAbYyyMI/lXkQAdn7kbAmr7neSOsMYJ
El9Wo4Hl4oG6e52ZnYHyqW9dxh4hX93eupR2TmcCdVf+r9xoHewP0KJYSHt7vDUX
AQlWYcQiWHIadFsmL0orr6mutlXFReoHbesgKY9/3YLOu0JfxflSjIZ2JeL1NTl1
MsmODsUwgAUrwnWKKx+eQUP5g3GnSB3dPkRh9zRVRiLNWbCugyjrf3e6DgQWrW7j
pwIDAQAB
-----END PUBLIC KEY-----
resource(5) of type (OpenSSL key)


Decrypts data with private key

  • « openssl_pkey_new
  • openssl_private_encrypt »
  • PHP Manual
  • OpenSSL Funções
  • Decrypts data with private key

openssl_private_decrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_private_decrypt — Decrypts data with private key

Descrição

openssl_private_decrypt ( string $data , string &$decrypted_data , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key , int $padding = OPENSSL_PKCS1_PADDING ) : bool

openssl_private_decrypt() decrypts data that was previously encrypted via openssl_public_encrypt() and stores the result into decrypted_data.

You can use this function e.g. to decrypt data which is supposed to only be available to you.

Parâmetros

data

decrypted_data

private_key

private_key must be the private key corresponding that was used to encrypt the data.

padding

padding can be one of OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.

Veja Também

  • openssl_public_encrypt() - Encrypts data with public key
  • openssl_public_decrypt() - Decrypts data with public key


Encrypts data with private key

  • « openssl_private_decrypt
  • openssl_public_decrypt »
  • PHP Manual
  • OpenSSL Funções
  • Encrypts data with private key

openssl_private_encrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_private_encrypt — Encrypts data with private key

Descrição

openssl_private_encrypt ( string $data , string &$encrypted_data , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key , int $padding = OPENSSL_PKCS1_PADDING ) : bool

openssl_private_encrypt() encrypts data with private private_key and stores the result into encrypted_data. Encrypted data can be decrypted via openssl_public_decrypt().

This function can be used e.g. to sign data (or its hash) to prove that it is not written by someone else.

Parâmetros

data

encrypted_data

private_key

padding

padding can be one of OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.

Veja Também

  • openssl_public_encrypt() - Encrypts data with public key
  • openssl_public_decrypt() - Decrypts data with public key


Decrypts data with public key

  • « openssl_private_encrypt
  • openssl_public_encrypt »
  • PHP Manual
  • OpenSSL Funções
  • Decrypts data with public key

openssl_public_decrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_public_decrypt — Decrypts data with public key

Descrição

openssl_public_decrypt ( string $data , string &$decrypted_data , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key , int $padding = OPENSSL_PKCS1_PADDING ) : bool

openssl_public_decrypt() decrypts data that was previous encrypted via openssl_private_encrypt() and stores the result into decrypted_data.

You can use this function e.g. to check if the message was written by the owner of the private key.

Parâmetros

data

decrypted_data

public_key

public_key must be the public key corresponding that was used to encrypt the data.

padding

padding can be one of OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | public_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.

Veja Também

  • openssl_private_encrypt() - Encrypts data with private key
  • openssl_private_decrypt() - Decrypts data with private key


Encrypts data with public key

  • « openssl_public_decrypt
  • openssl_random_pseudo_bytes »
  • PHP Manual
  • OpenSSL Funções
  • Encrypts data with public key

openssl_public_encrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_public_encrypt — Encrypts data with public key

Descrição

openssl_public_encrypt ( string $data , string &$encrypted_data , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key , int $padding = OPENSSL_PKCS1_PADDING ) : bool

openssl_public_encrypt() encrypts data with public public_key and stores the result into encrypted_data. Encrypted data can be decrypted via openssl_private_decrypt().

This function can be used e.g. to encrypt message which can be then read only by owner of the private key. It can be also used to store secure data in database.

Parâmetros

data

encrypted_data

This will hold the result of the encryption.

public_key

The public key.

padding

padding can be one of OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | public_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.

Veja Também

  • openssl_private_encrypt() - Encrypts data with private key
  • openssl_private_decrypt() - Decrypts data with private key


Generate a pseudo-random string of bytes

  • « openssl_public_encrypt
  • openssl_seal »
  • PHP Manual
  • OpenSSL Funções
  • Generate a pseudo-random string of bytes

openssl_random_pseudo_bytes

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_random_pseudo_bytes — Generate a pseudo-random string of bytes

Descrição

openssl_random_pseudo_bytes ( int $length , bool &$strong_result = null ) : string

Generates a string of pseudo-random bytes, with the number of bytes determined by the length parameter.

It also indicates if a cryptographically strong algorithm was used to produce the pseudo-random bytes, and does this via the optional strong_result parameter. It's rare for this to be false, but some systems may be broken or old.

Parâmetros

length

The length of the desired string of bytes. Must be a positive integer. PHP will try to cast this parameter to a non-null integer to use it.

strong_result

If passed into the function, this will hold a bool value that determines if the algorithm used was "cryptographically strong", e.g., safe for usage with GPG, passwords, etc. true if it did, otherwise false

Valor Retornado

Returns the generated string of bytes on success, ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | strong_result is nullable now.

Exemplos

Exemplo #1 openssl_random_pseudo_bytes() example

<?php
for ($i = 1; $i <= 4; $i++) {
    $bytes = openssl_random_pseudo_bytes($i, $cstrong);
    $hex   = bin2hex($bytes);

    echo "Lengths: Bytes: $i and Hex: " . strlen($hex) . PHP_EOL;
    var_dump($hex);
    var_dump($cstrong);
    echo PHP_EOL;
}
?>

O exemplo acima irá imprimir algo similar à:

Lengths: Bytes: 1 and Hex: 2
string(2) "42"
bool(true)

Lengths: Bytes: 2 and Hex: 4
string(4) "dc6e"
bool(true)

Lengths: Bytes: 3 and Hex: 6
string(6) "288591"
bool(true)

Lengths: Bytes: 4 and Hex: 8
string(8) "ab86d144"
bool(true)

Veja Também

  • random_bytes() - Generates cryptographically secure pseudo-random bytes
  • bin2hex() - Converte um dado binário em representação hexadecimal
  • crypt() - Encriptação unidirecional de string (hashing)
  • mt_rand() - Gerador melhorado de números aleatórios
  • uniqid() - Gera um ID unico


Seal (encrypt) data

  • « openssl_random_pseudo_bytes
  • openssl_sign »
  • PHP Manual
  • OpenSSL Funções
  • Seal (encrypt) data

openssl_seal

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_seal — Seal (encrypt) data

Descrição

openssl_seal ( string $data , string &$sealed_data , array &$encrypted_keys , array $public_key , string $cipher_algo , string &$iv = null ) : int|false

openssl_seal() seals (encrypts) data by using the given cipher_algo with a randomly generated secret key. The key is encrypted with each of the public keys associated with the identifiers in public_key and each encrypted key is returned in encrypted_keys. This means that one can send sealed data to multiple recipients (provided one has obtained their public keys). Each recipient must receive both the sealed data and the envelope key that was encrypted with the recipient's public key.

Parâmetros

data

The data to seal.

sealed_data

The sealed data.

encrypted_keys

Array of encrypted keys.

public_key

Array of OpenSSLAsymmetricKey instances containing public keys.

cipher_algo

The cipher method.

Cuidado

The default value ('RC4') is considered insecure. It is strongly recommended to explicitly specify a secure cipher method.

iv

The initialization vector.

Valor Retornado

Returns the length of the sealed data on success, or false on error. If successful the sealed data is returned in sealed_data, and the envelope keys in encrypted_keys.

Changelog

Versão | Descrição
8.0.0 | public_key accepts an array of OpenSSLAsymmetricKey instances now; previously, an array of resources of type OpenSSL key was accepted.
8.0.0 | cipher_algo is no longer an optional parameter.
8.0.0 | iv is nullable now.

Exemplos

Exemplo #1 openssl_seal() example

<?php
// $data is assumed to contain the data to be sealed

// fetch public keys for our recipients, and ready them
$fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk1 = openssl_get_publickey($cert);
// Repeat for second recipient
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk2 = openssl_get_publickey($cert);

// seal message, only owners of $pk1 and $pk2 can decrypt $sealed with keys
// $ekeys[0] and $ekeys[1] respectively.
openssl_seal($data, $sealed, $ekeys, array($pk1, $pk2));

// free the keys from memory
openssl_free_key($pk1);
openssl_free_key($pk2);
?>

Veja Também

  • openssl_open() - Open sealed data


Generate signature

  • « openssl_seal
  • openssl_spki_export_challenge »
  • PHP Manual
  • OpenSSL Funções
  • Generate signature

openssl_sign

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_sign — Generate signature

Descrição

openssl_sign ( string $data , string &$signature , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key , string|int $algorithm = OPENSSL_ALGO_SHA1 ) : bool

openssl_sign() computes a signature for the specified data by generating a cryptographic digital signature using the private key associated with private_key. Note that the data itself is not encrypted.

Parâmetros

data

The string of data you wish to sign

signature

If the call was successful the signature is returned in signature.

private_key

OpenSSLAsymmetricKey - a key, returned by openssl_get_privatekey()

string - a PEM formatted key

algorithm

int - one of these Signature Algorithms.

string - a valid string returned by openssl_get_md_methods() example, "sha256WithRSAEncryption" or "sha384".

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.

Exemplos

Exemplo #1 openssl_sign() example

<?php
// $data is assumed to contain the data to be signed

// fetch private key from file and ready it
$pkeyid = openssl_pkey_get_private("file://src/openssl-0.9.6/demos/sign/key.pem");

// compute signature
openssl_sign($data, $signature, $pkeyid);

// free the key from memory
openssl_free_key($pkeyid);
?>

Exemplo #2 openssl_sign() example

<?php
//data you want to sign
$data = 'my data';

//create new private and public key
$new_key_pair = openssl_pkey_new(array(
    "private_key_bits" => 2048,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
));
openssl_pkey_export($new_key_pair, $private_key_pem);

$details = openssl_pkey_get_details($new_key_pair);
$public_key_pem = $details['key'];

//create signature
openssl_sign($data, $signature, $private_key_pem, OPENSSL_ALGO_SHA256);

//save for later
file_put_contents('private_key.pem', $private_key_pem);
file_put_contents('public_key.pem', $public_key_pem);
file_put_contents('signature.dat', $signature);

//verify signature
$r = openssl_verify($data, $signature, $public_key_pem, "sha256WithRSAEncryption");
var_dump($r);
?>

Veja Também

  • openssl_verify() - Verify signature


Exports the challenge associated with a signed public key and challenge

  • « openssl_sign
  • openssl_spki_export »
  • PHP Manual
  • OpenSSL Funções
  • Exports the challenge associated with a signed public key and challenge

openssl_spki_export_challenge

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

openssl_spki_export_challenge — Exports the challenge associated with a signed public key and challenge

Descrição

openssl_spki_export_challenge ( string $spki ) : string|false

Exports challenge from encoded signed public key and challenge

Parâmetros

spki

Expects a valid signed public key and challenge

Valor Retornado

Returns the associated challenge string or false on failure.

Erros

Emits an E_WARNING level error if an invalid argument is passed via the spki parameter.

Exemplos

Exemplo #1 openssl_spki_export_challenge() example

Extracts the associated challenge string or NULL on failure.

<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'challenge string');
$challenge = openssl_spki_export_challenge(preg_replace('/SPKAC=/', '', $spkac));
?>

Exemplo #2 openssl_spki_export_challenge() example from <keygen>

Extracts the associated challenge string issued from the <keygen> element

<?php
$challenge = openssl_spki_export_challenge(preg_replace('/SPKAC=/', '', $_POST['spkac']));
?>
<keygen name="spkac" challenge="challenge string" keytype="RSA">

Veja Também

  • openssl_spki_new() - Generate a new signed public key and challenge
  • openssl_spki_verify() - Verifies a signed public key and challenge
  • openssl_spki_export() - Exports a valid PEM formatted public key signed public key and challenge
  • openssl_get_md_methods() - Gets available digest methods
  • openssl_csr_new() - Generates a CSR
  • openssl_csr_sign() - Sign a CSR with another certificate (or itself) and generate a certificate


Exports a valid PEM formatted public key signed public key and challenge

  • « openssl_spki_export_challenge
  • openssl_spki_new »
  • PHP Manual
  • OpenSSL Funções
  • Exports a valid PEM formatted public key signed public key and challenge

openssl_spki_export

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

openssl_spki_export — Exports a valid PEM formatted public key signed public key and challenge

Descrição

openssl_spki_export ( string $spki ) : string|false

Exports PEM formatted public key from encoded signed public key and challenge

Parâmetros

spki

Expects a valid signed public key and challenge

Valor Retornado

Returns the associated PEM formatted public key or false on failure.

Erros

Emits an E_WARNING level error if an invalid argument is passed via the spki parameter.

Exemplos

Exemplo #1 openssl_spki_export() example

Extracts the associated PEM formatted public key or NULL on failure.

<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'challenge string');
$pubKey = openssl_spki_export(preg_replace('/SPKAC=/', '', $spkac));

if ($pubKey) {
    echo $pubKey;
}
?>

Exemplo #2 openssl_spki_export() example from <keygen>

Extracts the associated PEM formatted public key issued from the <keygen> element

<?php
$spkac = openssl_spki_export(preg_replace('/SPKAC=/', '', $_POST['spkac']));
if ($spkac != NULL) {
    echo $spkac;
} else {
    echo "Extraction of pub key failed";
}
?>
<keygen name="spkac" challenge="challenge string" keytype="RSA">

Veja Também

  • openssl_spki_new() - Generate a new signed public key and challenge
  • openssl_spki_verify() - Verifies a signed public key and challenge
  • openssl_spki_export_challenge() - Exports the challenge associated with a signed public key and challenge
  • openssl_get_md_methods() - Gets available digest methods
  • openssl_csr_new() - Generates a CSR
  • openssl_csr_sign() - Sign a CSR with another certificate (or itself) and generate a certificate


Generate a new signed public key and challenge

  • « openssl_spki_export
  • openssl_spki_verify »
  • PHP Manual
  • OpenSSL Funções
  • Generate a new signed public key and challenge

openssl_spki_new

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

openssl_spki_new — Generate a new signed public key and challenge

Descrição

openssl_spki_new ( OpenSSLAsymmetricKey $private_key , string $challenge , int $digest_algo = OPENSSL_ALGO_MD5 ) : string|false

Generates a signed public key and challenge using specified hashing algorithm

Parâmetros

private_key

private_key should be set to a private key that was previously generated by openssl_pkey_new() (or otherwise obtained from the other openssl_pkey family of functions). The corresponding public portion of the key will be used to sign the CSR.

challenge

The challenge associated to associate with the SPKAC

digest_algo

The digest algorithm. See openssl_get_md_method().

Valor Retornado

Returns a signed public key and challenge string or false on failure.

Erros

Emits an E_WARNING level error if an unknown signature algorithm is passed via the digest_algo parameter.

Changelog

Versão | Descrição
8.0.0 | private_key accepts an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was accepted.

Exemplos

Exemplo #1 openssl_spki_new() example

Generate a new SPKAC with the default digest (MD5)

<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'testing');

if ($spkac !== NULL) {
    echo $spkac;
} else {
    echo "SPKAC generation failed";
}
?>

O exemplo acima irá imprimir algo similar à:

MIICRzCCAS8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDM3V3sS4o4
mB9dczziRnjGAmSp+JwPrHoYMAFGvDNmZGyiWfU586X4BKs++BAj7e/FsAfno0Hd
hN9FwpCNFSox30L03nQvLYJE7f/WqigwBeMRT7Op/xvFks4sT70xP2HRYv4KqP9a
WRcKU6cFH8VxhFhqM2txEIxZKdFLaL28yT7bEDmcglf4JLDdgNMb9rET1dkgtKE6
dOaJHPGjf1uvnOH4YwkQr7n4sLUR3Kdbh0ZJAFuQVDZulo+LLzxBBkqJJcB6FhF+
oXCdHTKZnqAhpWDz+NXYytAmevab6IYm5TWPWsJUv1YKJA5lg2mXbbloIZlN9Mgc
i9fi03bdw+crAgMBAAEWB3Rlc3RpbmcwDQYJKoZIhvcNAQEEBQADggEBALyUvP/o
pPSoWBlorFyZ2RnGwKf9qMpE0q2IJP7G3oDR4LyK/m933DUiZ+YnqThrH/CWb4Ek
y5I3OCyl3S4wCuU1ibZZwDVwYShr5ELp0J9PEf7qMQZOhNsizoC7k+Czb2xB6hYW
sKfsfTKm3cXBtH3fdgc/Z1Z7VSWnAzYo38snqm72NTf5yFRnrQdphNNXi+kn1zHA
lxXRyFDXHOcYsOnwAWfyXFA4QDHQ0ezz0UoCY8gJXovcZb4GRYqOLUAsF2HcNboy
29WN8VqE29sL9QxVZFlwMcqyoLcNnyw38GvNvAGqSvzzbnEFP2MAQXJVe0H0hdp/
MML5G2iNVgNozAo=

Veja Também

  • openssl_spki_verify() - Verifies a signed public key and challenge
  • openssl_spki_export_challenge() - Exports the challenge associated with a signed public key and challenge
  • openssl_spki_export() - Exports a valid PEM formatted public key signed public key and challenge
  • openssl_get_md_methods() - Gets available digest methods
  • openssl_csr_new() - Generates a CSR
  • openssl_csr_sign() - Sign a CSR with another certificate (or itself) and generate a certificate


Verifies a signed public key and challenge

  • « openssl_spki_new
  • openssl_verify »
  • PHP Manual
  • OpenSSL Funções
  • Verifies a signed public key and challenge

openssl_spki_verify

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

openssl_spki_verify — Verifies a signed public key and challenge

Descrição

openssl_spki_verify ( string $spki ) : bool

Validates the supplied signed public key and challenge

Parâmetros

spki

Expects a valid signed public key and challenge

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Emits an E_WARNING level error if an invalid argument is passed via the spki parameter.

Exemplos

Exemplo #1 openssl_spki_verify() example

Validates an existing signed public key and challenge

<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'challenge string');

if (openssl_spki_verify(preg_replace('/SPKAC=/', '', $spkac))) {
    echo $spkac;
} else {
    echo "SPKAC validation failed";
}
?>

Exemplo #2 openssl_spki_verify() example from <keygen>

Validates an existing signed public key and challenge issued from the <keygen> element

<?php
if (openssl_spki_verify(preg_replace('/SPKAC=/', '', $_POST['spkac']))) {
    echo $spkac;
} else {
    echo "SPKAC validation failed";
}
?>
<keygen name="spkac" challenge="challenge string" keytype="RSA">

Veja Também

  • openssl_spki_new() - Generate a new signed public key and challenge
  • openssl_spki_export_challenge() - Exports the challenge associated with a signed public key and challenge
  • openssl_spki_export() - Exports a valid PEM formatted public key signed public key and challenge
  • openssl_get_md_methods() - Gets available digest methods
  • openssl_csr_new() - Generates a CSR
  • openssl_csr_sign() - Sign a CSR with another certificate (or itself) and generate a certificate


Verify signature

  • « openssl_spki_verify
  • openssl_x509_check_private_key »
  • PHP Manual
  • OpenSSL Funções
  • Verify signature

openssl_verify

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_verify — Verify signature

Descrição

openssl_verify ( string $data , string $signature , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key , string|int $algorithm = OPENSSL_ALGO_SHA1 ) : int|false

openssl_verify() verifies that the signature is correct for the specified data using the public key associated with public_key. This must be the public key corresponding to the private key used for signing.

Parâmetros

data

The string of data used to generate the signature previously

signature

A raw binary string, generated by openssl_sign() or similar means

public_key

OpenSSLAsymmetricKey - a key, returned by openssl_get_publickey()

string - a PEM formatted key, example, "-----BEGIN PUBLIC KEY----- MIIBCgK..."

algorithm

int - one of these Signature Algorithms.

string - a valid string returned by openssl_get_md_methods() example, "sha1WithRSAEncryption" or "sha512".

Valor Retornado

Returns 1 if the signature is correct, 0 if it is incorrect, and -1 or false on error.

Changelog

Versão | Descrição
8.0.0 | public_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.

Exemplos

Exemplo #1 openssl_verify() example

<?php
// $data and $signature are assumed to contain the data and the signature

// fetch public key from certificate and ready it
$pubkeyid = openssl_pkey_get_public("file://src/openssl-0.9.6/demos/sign/cert.pem");

// state whether signature is okay or not
$ok = openssl_verify($data, $signature, $pubkeyid);
if ($ok == 1) {
    echo "good";
} elseif ($ok == 0) {
    echo "bad";
} else {
    echo "ugly, error checking signature";
}
// free the key from memory
openssl_free_key($pubkeyid);
?>

Exemplo #2 openssl_verify() example

<?php
//data you want to sign
$data = 'my data';

//create new private and public key
$private_key_res = openssl_pkey_new(array(
    "private_key_bits" => 2048,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$details = openssl_pkey_get_details($private_key_res);
$public_key_res = openssl_pkey_get_public($details['key']);

//create signature
openssl_sign($data, $signature, $private_key_res, "sha256WithRSAEncryption");

//verify signature
$ok = openssl_verify($data, $signature, $public_key_res, OPENSSL_ALGO_SHA256);
if ($ok == 1) {
    echo "valid";
} elseif ($ok == 0) {
    echo "invalid";
} else {
    echo "error: ".openssl_error_string();
}
?>

Veja Também

  • openssl_sign() - Generate signature


Checks if a private key corresponds to a certificate

  • « openssl_verify
  • openssl_x509_checkpurpose »
  • PHP Manual
  • OpenSSL Funções
  • Checks if a private key corresponds to a certificate

openssl_x509_check_private_key

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_x509_check_private_key — Checks if a private key corresponds to a certificate

Descrição

openssl_x509_check_private_key ( OpenSSLCertificate|string $certificate , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key ) : bool

Checks whether the given private_key is the private key that corresponds to certificate.

Aviso

The function does not check if private_key is indeed a private key or not. It merely compares the public materials (e.g. exponent and modulus of an RSA key) and/or key parameters (e.g. EC params of an EC key) of a key pair.

This means, for example, that a public key could be given for private_key and the function may return true.

Parâmetros

certificate

The certificate.

private_key

The private key.

Valor Retornado

Returns true if private_key is the private key that corresponds to certificate, or false otherwise.

Changelog

Versão | Descrição
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
8.0.0 | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.


Verifies if a certificate can be used for a particular purpose

  • « openssl_x509_check_private_key
  • openssl_x509_export_to_file »
  • PHP Manual
  • OpenSSL Funções
  • Verifies if a certificate can be used for a particular purpose

openssl_x509_checkpurpose

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_x509_checkpurpose — Verifies if a certificate can be used for a particular purpose

Descrição

openssl_x509_checkpurpose ( OpenSSLCertificate|string $certificate , int $purpose , array $ca_info = [] , string|null $untrusted_certificates_file = null ) : bool|int

openssl_x509_checkpurpose() examines a certificate to see if it can be used for the specified purpose.

Parâmetros

certificate

The examined certificate.

purpose

openssl_x509_checkpurpose() purposes
Constant | Description
X509_PURPOSE_SSL_CLIENT | Can the certificate be used for the client side of an SSL connection?
X509_PURPOSE_SSL_SERVER | Can the certificate be used for the server side of an SSL connection?
X509_PURPOSE_NS_SSL_SERVER | Can the cert be used for Netscape SSL server?
X509_PURPOSE_SMIME_SIGN | Can the cert be used to sign S/MIME email?
X509_PURPOSE_SMIME_ENCRYPT | Can the cert be used to encrypt S/MIME email?
X509_PURPOSE_CRL_SIGN | Can the cert be used to sign a certificate revocation list (CRL)?
X509_PURPOSE_ANY | Can the cert be used for Any/All purposes?
These options are not bitfields - you may specify one only!

ca_info

ca_info should be an array of trusted CA files/dirs as described in Certificate Verification.

untrusted_certificates_file

If specified, this should be the name of a PEM encoded file holding certificates that can be used to help verify the certificate, although no trust is placed in the certificates that come from that file.

Valor Retornado

Returns true if the certificate can be used for the intended purpose, false if it cannot, or -1 on error.

Changelog

Versão | Descrição
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
8.0.0 | untrusted_certificates_file is nullable now.


Exports a certificate to file

  • « openssl_x509_checkpurpose
  • openssl_x509_export »
  • PHP Manual
  • OpenSSL Funções
  • Exports a certificate to file

openssl_x509_export_to_file

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_x509_export_to_file — Exports a certificate to file

Descrição

openssl_x509_export_to_file ( OpenSSLCertificate|string $certificate , string $output_filename , bool $no_text = true ) : bool

openssl_x509_export_to_file() stores certificate into a file named by output_filename in a PEM encoded format.

Parâmetros

x509

Veja Key/parâmetros de certificado para uma lista de valores válidos.

output_filename

Path to the output file.

no_text

O parâmetro opcional notext afeta a exibição da saída; se ele é false então informação legível para humano é incluida na saída. O valor padrão do notext é true.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.


Exports a certificate as a string

  • « openssl_x509_export_to_file
  • openssl_x509_fingerprint »
  • PHP Manual
  • OpenSSL Funções
  • Exports a certificate as a string

openssl_x509_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_x509_export — Exports a certificate as a string

Descrição

openssl_x509_export ( OpenSSLCertificate|string $certificate , string &$output , bool $no_text = true ) : bool

openssl_x509_export() stores certificate into a string named by output in a PEM encoded format.

Parâmetros

x509

Veja Key/parâmetros de certificado para uma lista de valores válidos.

output

On success, this will hold the PEM.

no_text

O parâmetro opcional notext afeta a exibição da saída; se ele é false então informação legível para humano é incluida na saída. O valor padrão do notext é true.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.


Calculates the fingerprint, or digest, of a given X.509 certificate

  • « openssl_x509_export
  • openssl_x509_free »
  • PHP Manual
  • OpenSSL Funções
  • Calculates the fingerprint, or digest, of a given X.509 certificate

openssl_x509_fingerprint

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

openssl_x509_fingerprint — Calculates the fingerprint, or digest, of a given X.509 certificate

Descrição

openssl_x509_fingerprint ( OpenSSLCertificate|string $certificate , string $digest_algo = "sha1" , bool $binary = false ) : string|false

openssl_x509_fingerprint() returns the digest of certificate as a string.

Parâmetros

x509

Veja Key/parâmetros de certificado para uma lista de valores válidos.

digest_algo

The digest method or hash algorithm to use, e.g. "sha256", one of openssl_get_md_methods().

binary

When set to true, outputs raw binary data. false outputs lowercase hexits.

Valor Retornado

Returns a string containing the calculated certificate fingerprint as lowercase hexits unless binary is set to true in which case the raw binary representation of the message digest is returned.

Returns false on failure.

Changelog

Versão | Descrição
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.


Free certificate resource

  • « openssl_x509_fingerprint
  • openssl_x509_parse »
  • PHP Manual
  • OpenSSL Funções
  • Free certificate resource

openssl_x509_free

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_x509_free — Free certificate resource

Aviso

This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

openssl_x509_free ( OpenSSLCertificate $certificate ) : void

openssl_x509_free() frees the certificate associated with the specified certificate resource from memory.

Parâmetros

certificate

Valor Retornado

Não há valor retornado.

Changelog

Versão | Descrição
8.0.0 | This function is now deprecated as it doesn't have an effect anymore.
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.


Parse an X509 certificate and return the information as an array

  • « openssl_x509_free
  • openssl_x509_read »
  • PHP Manual
  • OpenSSL Funções
  • Parse an X509 certificate and return the information as an array

openssl_x509_parse

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_x509_parse — Parse an X509 certificate and return the information as an array

Descrição

openssl_x509_parse ( OpenSSLCertificate|string $certificate , bool $short_names = true ) : array|false

openssl_x509_parse() returns information about the supplied certificate, including fields such as subject name, issuer name, purposes, valid from and valid to dates etc.

Parâmetros

certificate

X509 certificate. See Key/Certificate parameters for a list of valid values.

short_names

short_names controls how the data is indexed in the array - if short_names is true (the default) then fields will be indexed with the short name form, otherwise, the long name form will be used - e.g.: CN is the shortname form of commonName.

Valor Retornado

The structure of the returned data is (deliberately) not yet documented, as it is still subject to change.

Changelog

Versão | Descrição
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.


Parse an X.509 certificate and return an object for it

  • « openssl_x509_parse
  • openssl_x509_verify »
  • PHP Manual
  • OpenSSL Funções
  • Parse an X.509 certificate and return an object for it

openssl_x509_read

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_x509_read — Parse an X.509 certificate and return an object for it

Descrição

openssl_x509_read ( OpenSSLCertificate|string $certificate ) : OpenSSLCertificate|false

openssl_x509_read() parses the certificate supplied by certificate and returns an OpenSSLCertificate object for it.

Parâmetros

certificate

X509 certificate. See Key/Certificate parameters for a list of valid values.

Valor Retornado

Returns an OpenSSLCertificate on success ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was returned.
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.


Verifies digital signature of x509 certificate against a public key

  • « openssl_x509_read
  • OpenSSLCertificate »
  • PHP Manual
  • OpenSSL Funções
  • Verifies digital signature of x509 certificate against a public key

openssl_x509_verify

(PHP 7 >= 7.4.0, PHP 8)

openssl_x509_verify — Verifies digital signature of x509 certificate against a public key

Descrição

openssl_x509_verify ( OpenSSLCertificate|string $certificate , OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key ) : int

openssl_x509_verify() verifies that the certificate certificate was signed by the private key corresponding to public key public_key.

Parâmetros

x509

Veja Key/parâmetros de certificado para uma lista de valores válidos.

public_key

OpenSSLAsymmetricKey - a key, returned by openssl_get_publickey()

string - a PEM formatted key, example, "-----BEGIN PUBLIC KEY----- MIIBCgK..."

Valor Retornado

Returns 1 if the signature is correct, 0 if it is incorrect, and -1 on error.

Changelog

Versão | Descrição
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
8.0.0 | public_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.

Exemplos

Exemplo #1 openssl_x509_verify() example

<?php
$hostname = "news.php.net";
$ssloptions = array(
    "capture_peer_cert" => true,
    "capture_peer_cert_chain" => true,
    "allow_self_signed"=> false,
    "CN_match" => $hostname,
    "verify_peer" => true,
    "SNI_enabled" => true,
    "SNI_server_name" => $hostname,
);

$ctx = stream_context_create( array("ssl" => $ssloptions) );
$result = stream_socket_client("ssl://$hostname:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $ctx);
$cont = stream_context_get_params($result);
$x509 = $cont["options"]["ssl"]["peer_certificate"];
$certparsed = openssl_x509_parse($x509);

foreach($cont["options"]["ssl"]["peer_certificate_chain"] as $chaincert)
{
    $chainparsed = openssl_x509_parse($chaincert);
    $chain_public_key = openssl_get_publickey($chaincert);
    $r = openssl_x509_verify($x509, $chain_public_key);
    if ($r==1)
    {
        echo $certparsed['subject']['CN'];
        echo " was digitally signed by ";
        echo $chainparsed['subject']['CN']."\n";
    }
}
?>

Veja Também

  • openssl_verify() - Verify signature
  • openssl_get_publickey() - Sinônimo de openssl_pkey_get_public


The OpenSSLCertificate class

(PHP 8)

Introdução

A fully opaque class which replaces OpenSSL X.509 resources as of PHP 8.0.0.

Sinopse da classe

final OpenSSLCertificate {
}


The OpenSSLCertificateSigningRequest class

(PHP 8)

Introdução

A fully opaque class which replaces OpenSSL X.509 CSR resources as of PHP 8.0.0.

Sinopse da classe

final OpenSSLCertificateSigningRequest {
}


The OpenSSLAsymmetricKey class

(PHP 8)

Introdução

A fully opaque class which replaces OpenSSL key resources as of PHP 8.0.0.

Sinopse da classe

final OpenSSLAsymmetricKey {
}


Password Hashing

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções de Password Hashing
    • password_get_info — Retorna a informações sobre o hash fornecido
    • password_hash — Cria um password hash
    • password_needs_rehash — Verifica se o hash recebido corresponde com as opções recebidas
    • password_verify — Verifica se um password corresponde com um hash


Introdução

A API de password hashing encapsula a função crypt() para facilitar a criação e gerenciamento de senhas de modo seguro.

Esta extensão está disponível desde o PHP 5.5.0 e também existe uma » implementação userland para PHP >= 5.3.7.


Constantes pré-definidas

As constantes listadas abaixo estão sempre disponíveis como parte do núcleo do PHP.

PASSWORD_BCRYPT (integer)

PASSWORD_BCRYPT é usada para criar novos password hashes usando o algoritmo CRYPT_BLOWFISH.

Sempre terminará com um hash usando o formato "$2y$" de encriptação, com 60 caracteres.

Opções suportadas:

  • salt (string) - para fornecer manualmente um salt a ser usado quando estiver sendo feito o hash do password. Perceba que isso irá sobrepor e evitar que um salt seja gerado automaticamente.

    Se omitido, um salt aleatório será gerado pela função password_hash() para cada password sofrendo hash. Esse é o modo de operação desejado e desde o PHP 7.0.0 a opção salt foi descontinuada.

  • cost (integer) - indica o custo de algoritmo que deve ser usado. Exemplos desses valores podem ser encontrados na página da função crypt().

    Se omitido, um valor padrão 10 será usado. Este é um bom patamar de custo, mas pode-se considerar aumentar esse valor dependendo do hardware.

PASSWORD_ARGON2I (integer)

PASSWORD_ARGON2I é utilizado para criar novos hashs utilizando o algoritmo Argon2.

Opções:

  • memory_cost (integer) - Memória máxima (em bytes) que poderá ser utilizada para calcular o hash Argon2. Padrão: PASSWORD_ARGON2_DEFAULT_MEMORY_COST.

  • time_cost (integer) - Tempo máximo que poderá demorar para calcula o hash Argon2. Padrão: PASSWORD_ARGON2_DEFAULT_TIME_COST.

  • threads (integer) - Número de threads utilizada para calcular o hash Argon2. Padrão: PASSWORD_ARGON2_DEFAULT_THREADS.

Disponível desde o PHP 7.2.0.

PASSWORD_ARGON2_DEFAULT_MEMORY_COST (integer)

Quantidade de memória padrão, em bytes, que a Argon2lib irá utilizar ao tentar calcular um hash.

Disponível desde o PHP 7.2.0.

PASSWORD_ARGON2_DEFAULT_TIME_COST (integer)

Demora padrão qual a Argon2lib irá utilizar tentando calcular hash.

Disponível desde o PHP 7.2.0.

PASSWORD_ARGON2_DEFAULT_THREADS (integer)

Número de threads padrão qual a Argon2lib irá utilizar.

Disponível desde o PHP 7.2.0.

PASSWORD_DEFAULT (integer)

O algoritmo padrão a ser usado para fazer o hash se nenhum algoritmo for fornecido. Ele pode mudar com as novas versões do PHP quando novos e mais fortes algoritmos de hash forem suportados.

É importante notar que ao longo do tempo essa constante pode (e provavelmente vai) mudar. Assim sendo, você deve estar ciente que o comprimento do hash resultante pode mudar. Portanto, se usar PASSWORD_DEFAULT deve-se armazenar o hash resultante de um modo que possa guardar mais do que 60 caracteres (255 é o comprimento recomendado).

Valores para esta constante:

  • PHP 5.5.0 - PASSWORD_BCRYPT


Funções de Password Hashing

Índice

  • password_get_info — Retorna a informações sobre o hash fornecido
  • password_hash — Cria um password hash
  • password_needs_rehash — Verifica se o hash recebido corresponde com as opções recebidas
  • password_verify — Verifica se um password corresponde com um hash


Retorna a informações sobre o hash fornecido

  • « Funções de Password Hashing
  • password_hash »
  • PHP Manual
  • Funções de Password Hashing
  • Retorna a informações sobre o hash fornecido

password_get_info

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

password_get_info — Retorna a informações sobre o hash fornecido

Descrição

password_get_info ( string $hash ) : array

Quando for passado um hash válido criado por um algoritmo suportado pela função password_hash(), esta função retornará um array com as informações sobre esse hash.

Parâmetros

hash

Um hash criado por password_hash().

Valor Retornado

Retorna um array associativo com três elementos:

  • algo, que corresponderá a uma constante de algoritmo de password
  • algoName, que terá o nome legível do algoritmo
  • options, que inclui as opções fornecidas quando chamou-se a função password_hash()


Cria um password hash

  • « password_get_info
  • password_needs_rehash »
  • PHP Manual
  • Funções de Password Hashing
  • Cria um password hash

password_hash

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

password_hash — Cria um password hash

Descrição

password_hash ( string $password , int $algo , array $options = ? ) : string

password_hash() cria um novo password hash usando um algoritmo forte de hash de via única. password_hash() é compatível com crypt(). Por isso, os password hashes criados com crypt() podem ser utilizados com password_hash().

Os seguintes algoritmos são suportados atualmente:

  • PASSWORD_DEFAULT - Usa o algoritmo bcrypt (padrão desde o PHP 5.5.0). Perceba que essa constante foi desenhada para mudar ao longo do tempo a medida que novos algoritmos mais fortes forem adicionados ao PHP. Por essa razão, o comprimento do resultado da utilização desse identificador pode mudar ao longo do tempo. Por isso, é recomendado que armazene o resultado em uma coluna do banco de dados que possa ser expandida além dos 60 caracteres (255 caracteres seria uma boa escolha).
  • PASSWORD_BCRYPT - Usa o algoritmo CRYPT_BLOWFISH para criar o hash. Produzirá um hash compatível com o padrão crypt() usando o identificador "$2y$". O resultado será sempre uma string de 60 caracteres, ou false em caso de falha.
  • PASSWORD_ARGON2I - Usa o algoritmo Argon2 para criar o hash.

Opções suportadas por PASSWORD_BCRYPT:

  • salt (string) - para fornecer manualmente um salt a ser usado quando estiver sendo feito o hash do password. Perceba que isso irá sobrepor e evitar que um salt seja gerado automaticamente.

    Se omitido, um salt aleatório será gerado pela função password_hash() para cada password sofrendo hash. Esse é o modo de operação desejado.

    Aviso

    A opção salt foi descontinuada no PHP 7.0.0. Agora é preferível que simplestemente se utilize o salt que é gerado por padrão.

  • cost - indica o custo de algoritmo que deve ser usado. Exemplos desses valores podem ser encontrados na página da função crypt().

    Se omitido, um valor padrão 10 será usado. Este é um bom patamar de custo, mas pode-se considerar aumentar esse valor dependendo do hardware.

Opções suportadas por PASSWORD_ARGON2I:

  • memory_cost (integer) - Máximo de mémoria (em bytes) que pode ser utilizado para computar o hash Argon2. O valor padrão é PASSWORD_ARGON2_DEFAULT_MEMORY_COST.

  • time_cost (integer) - Quantidade máxima de tempo que pode levar para computar o hash Argon2. O valor padrão é PASSWORD_ARGON2_DEFAULT_TIME_COST.

  • threads (integer) - Número de threads para computar o hash Argon2. O valor padrão é PASSWORD_ARGON2_DEFAULT_THREADS.

Parâmetros

password

A senha do usuário.

Cuidado

Usando PASSWORD_BCRYPT como algoritmo, resultará no parâmetro password sendo truncado em um comprimento máximo de 72 caracteres.

algo

Uma constante de algoritmo de senha indicando qual algoritmo utilizar no hash de senha.

options

Um array associativo contendo opções. Veja as constantes de algoritmo de senha sobre detalhes das opções suportadas por cada algoritmo.

Se omitido, um salt aleatório será gerado e o custo padrão será usado.

Valor Retornado

Retorna o hash do password, ou false em caso de falha.

O algoritmo, o custo e o salt utilizados são retornados como parte do hash. Dessa forma, toda informação necessária para verificar o hash é incluída nele. Isso permite que a função password_verify() verifique o hash sem precisar de um armazenamento separado para a informação do salt ou do algoritmo.

Exemplos

Exemplo #1 Exemplo de password_hash()

<?php
/**
 * We just want to hash our password using the current DEFAULT algorithm.
 * This is presently BCRYPT, and will produce a 60 character result.
 *
 * Beware that DEFAULT may change over time, so you would want to prepare
 * By allowing your storage to expand past 60 characters (255 would be good)
 */
echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT);
?>

O exemplo acima irá imprimir algo similar à:

$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a

Exemplo #2 Exemplo de configuração do custo de password_hash() manualmente

<?php
/**
 * In this case, we want to increase the default cost for BCRYPT to 12.
 * Note that we also switched to BCRYPT, which will always be 60 characters.
 */
$options = [
    'cost' => 12,
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options);
?>

O exemplo acima irá imprimir algo similar à:

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K

Exemplo #3 Exemplo de configuração do salt de password_hash() manualmente

<?php
/**
 * Note that the salt here is randomly generated.
 * Never use a static salt or one that is not randomly generated.
 *
 * For the VAST majority of use-cases, let password_hash generate the salt randomly for you
 */
$options = [
    'cost' => 11,
    'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM),
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options);
?>

O exemplo acima irá imprimir algo similar à:

$2y$11$q5MkhSBtlsJcNEVsYh64a.aCluzHnGog7TQAKVmQwO9C8xb.t89F.

Exemplo #4 Exemplo de busca de um bom custo para password_hash()

<?php
/**
 * This code will benchmark your server to determine how high of a cost you can
 * afford. You want to set the highest cost that you can without slowing down
 * you server too much. 8-10 is a good baseline, and more is good if your servers
 * are fast enough. The code below aims for = 50 milliseconds stretching time,
 * which is a good baseline for systems handling interactive logins.
 */
$timeTarget = 0.05; // 50 milliseconds

$cost = 8;
do {
    $cost++;
    $start = microtime(true);
    password_hash("test", PASSWORD_BCRYPT, ["cost" => $cost]);
    $end = microtime(true);
} while (($end - $start) < $timeTarget);

echo "Appropriate Cost Found: " . $cost;
?>

O exemplo acima irá imprimir algo similar à:

Appropriate Cost Found: 10

Exemplo #5 Exemplo do password_hash() usando Argon2

<?php
echo 'Argon2 hash: ' . password_hash('rasmuslerdorf', PASSWORD_ARGON2I);
?>

O exemplo acima irá imprimir algo similar à:

Argon2 hash: $argon2i$v=19$m=1024,t=2,p=2$YzJBSzV4TUhkMzc3d3laeg$zqU/1IN0/AogfP4cmSJI1vc8lpXRW9/S0sYY2i2jHT0

Notas

Cuidado

É fortemente recomendado que não seja gerado um salt próprio para esta função. Ela criará um salt seguro automaticamente se um não for especificado.

Como apontado acima, fornecer a opção salt no PHP 7.0 gerará um erro deprecation warning. O suporte para fornecer um salt manualmente será removido em uma futura versão do PHP.

Nota:

É recomendado que você teste esta função sem seus servidores, e ajuste o parâmetro custo para que a execução da função leve menos do que 100 milisegundos em sistemas interativos. O script do exemplo acima ajudará a escolher um bom valor de custo para seu hardware.

Nota: Atualizações dos algoritmos suportados por esta função (ou alterações no algoritmo padrão) precisam seguir as seguintes regras:

  • Qualquer novo algoritmo precisa estar no core por pelo menos 1 versão completa do PHP antes de se tornar padrão. Assim se, por exemplo, um novo algoritmo for adicionado na versão 7.5.5, ela não seria elegível para padrão até a versão 7.7 (uma vez que a 7.6 seria a primeira versão completa). Mas se um algoritmo diferente for adicionado na versão 7.6.0, ela seria elegível para padrão na 7.7.0.
  • O padrão deve mudar apenas em uma versão completa (7.3.0, 8.0.8 etc.) e não em uma versão de revisão. A única exceção seria uma emergênca caso uma falha de segurança crítica fosse encontrada no padrão atual.

Changelog

Versão | Descrição
7.2.0 | Suporte para passwords Argon2 usando PASSWORD_ARGON2I foi adicionado.

Veja Também

  • password_verify() - Verifica se um password corresponde com um hash
  • crypt() - Encriptação unidirecional de string (hashing)
  • » implementação userland


Verifica se o hash recebido corresponde com as opções recebidas

  • « password_hash
  • password_verify »
  • PHP Manual
  • Funções de Password Hashing
  • Verifica se o hash recebido corresponde com as opções recebidas

password_needs_rehash

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

password_needs_rehash — Verifica se o hash recebido corresponde com as opções recebidas

Descrição

password_needs_rehash ( string $hash , integer $algo , array $options = ? ) : boolean

Esta função verifica se o hash fornecido implementa o algoritmo e as opções indicadas. Se não, ela assume que o hash precisa ser regenerado.

Parâmetros

hash

Um hash criado por password_hash().

algo

Uma constante de algoritmo de senha indicando qual algoritmo utilizar no hash de senha.

options

Um array associativo contendo opções. Veja as constantes de algoritmo de senha sobre detalhes das opções suportadas por cada algoritmo.

Exemplos

Exemplo #1 Utilização de password_needs_rehash()

<?php

$password = 'rasmuslerdorf';
$hash = '$2y$10$YCFsG6elYca568hBi2pZ0.3LDL5wjgxct1N8w/oLR/jfHsiQwCqTS';

// The cost parameter can change over time as hardware improves
$options = array('cost' => 11);

// Verify stored hash against plain-text password
if (password_verify($password, $hash)) {
    // Check if a newer hashing algorithm is available
    // or the cost has changed
    if (password_needs_rehash($hash, PASSWORD_DEFAULT, $options)) {
        // If so, create a new hash, and replace the old one
        $newHash = password_hash($password, PASSWORD_DEFAULT, $options);
    }

    // Log user in
}
?>

Valor Retornado

Retorna true se o hash deve ser regenerado para corresponder ao algo e options indicados, ou false caso contrário.


Verifica se um password corresponde com um hash

  • « password_needs_rehash
  • Sodium »
  • PHP Manual
  • Funções de Password Hashing
  • Verifica se um password corresponde com um hash

password_verify

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

password_verify — Verifica se um password corresponde com um hash

Descrição

password_verify ( string $password , string $hash ) : boolean

Verifica se o hash fornecido corresponde com o password fornecido.

Perceba que password_hash() retorna o algoritmo, custo e o salt como parte do hash retornado. Por isso, toda a informação necessária para verificar o hash está incluída nele. Isso permite que a função de verificação faça isso sem precisar de um armazenamento separado para a informação do salt ou do algoritmo.

Esta função é segura contra "timing attacks".

Parâmetros

password

A senha do usuário.

hash

Um hash criado por password_hash().

Valor Retornado

Retorna true se o password e o hash corresponderem, ou false caso contrário.

Exemplos

Exemplo #1 Exemplo de password_verify()

<?php
// See the password_hash() example to see where this came from.
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';

if (password_verify('rasmuslerdorf', $hash)) {
    echo 'Password is valid!';
} else {
    echo 'Invalid password.';
}
?>

O exemplo acima irá imprimir:

Password is valid!

Veja Também

  • password_hash() - Cria um password hash
  • » implementação userland


Sodium

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Sodium Funções
    • sodium_add — Add large numbers
    • sodium_base642bin — Description
    • sodium_bin2base64 — Description
    • sodium_bin2hex — Encode to hexadecimal
    • sodium_compare — Compare large numbers
    • sodium_crypto_aead_aes256gcm_decrypt — Decrypt in combined mode with precalculation
    • sodium_crypto_aead_aes256gcm_encrypt — Encrypt in combined mode with precalculation
    • sodium_crypto_aead_aes256gcm_is_available — Check if hardware supports AES256-GCM
    • sodium_crypto_aead_aes256gcm_keygen — Get random bytes for key
    • sodium_crypto_aead_chacha20poly1305_decrypt — Verify that the ciphertext includes a valid tag
    • sodium_crypto_aead_chacha20poly1305_encrypt — Encrypt a message
    • sodium_crypto_aead_chacha20poly1305_ietf_decrypt — Verify that the ciphertext includes a valid tag
    • sodium_crypto_aead_chacha20poly1305_ietf_encrypt — Encrypt a message
    • sodium_crypto_aead_chacha20poly1305_ietf_keygen — Get random bytes for key
    • sodium_crypto_aead_chacha20poly1305_keygen — Get random bytes for key
    • sodium_crypto_aead_xchacha20poly1305_ietf_decrypt — Description
    • sodium_crypto_aead_xchacha20poly1305_ietf_encrypt — Description
    • sodium_crypto_aead_xchacha20poly1305_ietf_keygen — Description
    • sodium_crypto_auth_keygen — Get random bytes for key
    • sodium_crypto_auth_verify — Verifies that the tag is valid for the message
    • sodium_crypto_auth — Compute a tag for the message
    • sodium_crypto_box_keypair_from_secretkey_and_publickey — Description
    • sodium_crypto_box_keypair — Randomly generate a secret key and a corresponding public key
    • sodium_crypto_box_open — Verify and decrypt a ciphertext
    • sodium_crypto_box_publickey_from_secretkey — Description
    • sodium_crypto_box_publickey — Description
    • sodium_crypto_box_seal_open — Decrypt the ciphertext
    • sodium_crypto_box_seal — Encrypt a message
    • sodium_crypto_box_secretkey — Description
    • sodium_crypto_box_seed_keypair — Deterministically derive the key pair from a single key
    • sodium_crypto_box — Encrypt a message
    • sodium_crypto_generichash_final — Complete the hash
    • sodium_crypto_generichash_init — Initialize a hash
    • sodium_crypto_generichash_keygen — Get random bytes for key
    • sodium_crypto_generichash_update — Add message to a hash
    • sodium_crypto_generichash — Get a hash of the message
    • sodium_crypto_kdf_derive_from_key — Derive a subkey
    • sodium_crypto_kdf_keygen — Get random bytes for key
    • sodium_crypto_kx_client_session_keys — Description
    • sodium_crypto_kx_keypair — Creates a new sodium keypair
    • sodium_crypto_kx_publickey — Description
    • sodium_crypto_kx_secretkey — Description
    • sodium_crypto_kx_seed_keypair — Description
    • sodium_crypto_kx_server_session_keys — Description
    • sodium_crypto_pwhash_scryptsalsa208sha256_str_verify — Verify that the password is a valid password verification string
    • sodium_crypto_pwhash_scryptsalsa208sha256_str — Get an ASCII encoded hash
    • sodium_crypto_pwhash_scryptsalsa208sha256 — Derives a key from a password
    • sodium_crypto_pwhash_str_needs_rehash — Description
    • sodium_crypto_pwhash_str_verify — Verifies that a password matches a hash
    • sodium_crypto_pwhash_str — Get an ASCII-encoded hash
    • sodium_crypto_pwhash — Derive a key from a password
    • sodium_crypto_scalarmult_base — Sinônimo de sodium_crypto_box_publickey_from_secretkey
    • sodium_crypto_scalarmult — Compute a shared secret given a user's secret key and another user's public key
    • sodium_crypto_secretbox_keygen — Get random bytes for key
    • sodium_crypto_secretbox_open — Verify and decrypt a ciphertext
    • sodium_crypto_secretbox — Encrypt a message
    • sodium_crypto_secretstream_xchacha20poly1305_init_pull — Description
    • sodium_crypto_secretstream_xchacha20poly1305_init_push — Description
    • sodium_crypto_secretstream_xchacha20poly1305_keygen — Description
    • sodium_crypto_secretstream_xchacha20poly1305_pull — Description
    • sodium_crypto_secretstream_xchacha20poly1305_push — Description
    • sodium_crypto_secretstream_xchacha20poly1305_rekey — Description
    • sodium_crypto_shorthash_keygen — Get random bytes for key
    • sodium_crypto_shorthash — Compute a fixed-size fingerprint for the message
    • sodium_crypto_sign_detached — Sign the message
    • sodium_crypto_sign_ed25519_pk_to_curve25519 — Convert an Ed25519 public key to a Curve25519 public key
    • sodium_crypto_sign_ed25519_sk_to_curve25519 — Convert an Ed25519 secret key to a Curve25519 secret key
    • sodium_crypto_sign_keypair_from_secretkey_and_publickey — Description
    • sodium_crypto_sign_keypair — Randomly generate a secret key and a corresponding public key
    • sodium_crypto_sign_open — Check that the signed message has a valid signature
    • sodium_crypto_sign_publickey_from_secretkey — Extract the public key from the secret key
    • sodium_crypto_sign_publickey — Description
    • sodium_crypto_sign_secretkey — Description
    • sodium_crypto_sign_seed_keypair — Deterministically derive the key pair from a single key
    • sodium_crypto_sign_verify_detached — Verify signature for the message
    • sodium_crypto_sign — Sign a message
    • sodium_crypto_stream_keygen — Get random bytes for key
    • sodium_crypto_stream_xor — Encrypt a message
    • sodium_crypto_stream — Generate a deterministic sequence of bytes from a seed
    • sodium_hex2bin — Decodes a hexadecimally encoded binary string
    • sodium_increment — Increment large number
    • sodium_memcmp — Test for equality in constant-time
    • sodium_memzero — Overwrite buf with zeros
    • sodium_pad — Add padding data
    • sodium_unpad — Remove padding data
  • SodiumException — The SodiumException class


  • « Sodium
  • Instalação/Configuração »
  • PHP Manual
  • Sodium
  • Introdução

Introdução


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

This extension requires » libsodium = 1.0.8.


Instalação

As of PHP 7.2.0 this extension is bundled with PHP. For older PHP versions this extension is available via PECL.

Linux Systems

In order to use this extension you must compile PHP with sodium support by using the --with-sodium[=DIR] configure option.

Windows

In order to use this extension you have to add extension=php_sodium.dll to php.ini.

Installation via PECL

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/libsodium


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

SODIUM_LIBRARY_VERSION (string)
SODIUM_LIBRARY_MAJOR_VERSION (int)
SODIUM_LIBRARY_MINOR_VERSION (int)
SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES (int)
SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES (int)
SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES (int)
SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES (int)
SODIUM_CRYPTO_AUTH_BYTES (int)
SODIUM_CRYPTO_AUTH_KEYBYTES (int)
SODIUM_CRYPTO_BOX_SEALBYTES (int)
SODIUM_CRYPTO_BOX_SECRETKEYBYTES (int)
SODIUM_CRYPTO_BOX_PUBLICKEYBYTES (int)
SODIUM_CRYPTO_BOX_KEYPAIRBYTES (int)
SODIUM_CRYPTO_BOX_MACBYTES (int)
SODIUM_CRYPTO_BOX_NONCEBYTES (int)
SODIUM_CRYPTO_BOX_SEEDBYTES (int)
SODIUM_CRYPTO_KDF_BYTES_MIN (int)
SODIUM_CRYPTO_KDF_BYTES_MAX (int)
SODIUM_CRYPTO_KDF_CONTEXTBYTES (int)
SODIUM_CRYPTO_KDF_KEYBYTES (int)
SODIUM_CRYPTO_KX_SEEDBYTES (int)
SODIUM_CRYPTO_KX_SESSIONKEYBYTES (int)
SODIUM_CRYPTO_KX_PUBLICKEYBYTES (int)
SODIUM_CRYPTO_KX_SECRETKEYBYTES (int)
SODIUM_CRYPTO_KX_KEYPAIRBYTES (int)
SODIUM_CRYPTO_GENERICHASH_BYTES (int)
SODIUM_CRYPTO_GENERICHASH_BYTES_MIN (int)
SODIUM_CRYPTO_GENERICHASH_BYTES_MAX (int)
SODIUM_CRYPTO_GENERICHASH_KEYBYTES (int)
SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN (int)
SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX (int)
SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13 (int)
SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13 (int)
SODIUM_CRYPTO_PWHASH_ALG_DEFAULT (int)
SODIUM_CRYPTO_PWHASH_SALTBYTES (int)
SODIUM_CRYPTO_PWHASH_STRPREFIX (string)
SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE (int)
SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE (int)
SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE (int)
SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE (int)
SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE (int)
SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE (int)
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES (int)
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX (string)
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE (int)
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE (int)
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE (int)
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE (int)
SODIUM_CRYPTO_SCALARMULT_BYTES (int)
SODIUM_CRYPTO_SCALARMULT_SCALARBYTES (int)
SODIUM_CRYPTO_SHORTHASH_BYTES (int)
SODIUM_CRYPTO_SHORTHASH_KEYBYTES (int)
SODIUM_CRYPTO_SECRETBOX_KEYBYTES (int)
SODIUM_CRYPTO_SECRETBOX_MACBYTES (int)
SODIUM_CRYPTO_SECRETBOX_NONCEBYTES (int)
SODIUM_CRYPTO_SIGN_BYTES (int)
SODIUM_CRYPTO_SIGN_SEEDBYTES (int)
SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES (int)
SODIUM_CRYPTO_SIGN_SECRETKEYBYTES (int)
SODIUM_CRYPTO_SIGN_KEYPAIRBYTES (int)
SODIUM_CRYPTO_STREAM_NONCEBYTES (int)
SODIUM_CRYPTO_STREAM_KEYBYTES (int)


Sodium Funções

Índice

  • sodium_add — Add large numbers
  • sodium_base642bin — Description
  • sodium_bin2base64 — Description
  • sodium_bin2hex — Encode to hexadecimal
  • sodium_compare — Compare large numbers
  • sodium_crypto_aead_aes256gcm_decrypt — Decrypt in combined mode with precalculation
  • sodium_crypto_aead_aes256gcm_encrypt — Encrypt in combined mode with precalculation
  • sodium_crypto_aead_aes256gcm_is_available — Check if hardware supports AES256-GCM
  • sodium_crypto_aead_aes256gcm_keygen — Get random bytes for key
  • sodium_crypto_aead_chacha20poly1305_decrypt — Verify that the ciphertext includes a valid tag
  • sodium_crypto_aead_chacha20poly1305_encrypt — Encrypt a message
  • sodium_crypto_aead_chacha20poly1305_ietf_decrypt — Verify that the ciphertext includes a valid tag
  • sodium_crypto_aead_chacha20poly1305_ietf_encrypt — Encrypt a message
  • sodium_crypto_aead_chacha20poly1305_ietf_keygen — Get random bytes for key
  • sodium_crypto_aead_chacha20poly1305_keygen — Get random bytes for key
  • sodium_crypto_aead_xchacha20poly1305_ietf_decrypt — Description
  • sodium_crypto_aead_xchacha20poly1305_ietf_encrypt — Description
  • sodium_crypto_aead_xchacha20poly1305_ietf_keygen — Description
  • sodium_crypto_auth_keygen — Get random bytes for key
  • sodium_crypto_auth_verify — Verifies that the tag is valid for the message
  • sodium_crypto_auth — Compute a tag for the message
  • sodium_crypto_box_keypair_from_secretkey_and_publickey — Description
  • sodium_crypto_box_keypair — Randomly generate a secret key and a corresponding public key
  • sodium_crypto_box_open — Verify and decrypt a ciphertext
  • sodium_crypto_box_publickey_from_secretkey — Description
  • sodium_crypto_box_publickey — Description
  • sodium_crypto_box_seal_open — Decrypt the ciphertext
  • sodium_crypto_box_seal — Encrypt a message
  • sodium_crypto_box_secretkey — Description
  • sodium_crypto_box_seed_keypair — Deterministically derive the key pair from a single key
  • sodium_crypto_box — Encrypt a message
  • sodium_crypto_generichash_final — Complete the hash
  • sodium_crypto_generichash_init — Initialize a hash
  • sodium_crypto_generichash_keygen — Get random bytes for key
  • sodium_crypto_generichash_update — Add message to a hash
  • sodium_crypto_generichash — Get a hash of the message
  • sodium_crypto_kdf_derive_from_key — Derive a subkey
  • sodium_crypto_kdf_keygen — Get random bytes for key
  • sodium_crypto_kx_client_session_keys — Description
  • sodium_crypto_kx_keypair — Creates a new sodium keypair
  • sodium_crypto_kx_publickey — Description
  • sodium_crypto_kx_secretkey — Description
  • sodium_crypto_kx_seed_keypair — Description
  • sodium_crypto_kx_server_session_keys — Description
  • sodium_crypto_pwhash_scryptsalsa208sha256_str_verify — Verify that the password is a valid password verification string
  • sodium_crypto_pwhash_scryptsalsa208sha256_str — Get an ASCII encoded hash
  • sodium_crypto_pwhash_scryptsalsa208sha256 — Derives a key from a password
  • sodium_crypto_pwhash_str_needs_rehash — Description
  • sodium_crypto_pwhash_str_verify — Verifies that a password matches a hash
  • sodium_crypto_pwhash_str — Get an ASCII-encoded hash
  • sodium_crypto_pwhash — Derive a key from a password
  • sodium_crypto_scalarmult_base — Sinônimo de sodium_crypto_box_publickey_from_secretkey
  • sodium_crypto_scalarmult — Compute a shared secret given a user's secret key and another user's public key
  • sodium_crypto_secretbox_keygen — Get random bytes for key
  • sodium_crypto_secretbox_open — Verify and decrypt a ciphertext
  • sodium_crypto_secretbox — Encrypt a message
  • sodium_crypto_secretstream_xchacha20poly1305_init_pull — Description
  • sodium_crypto_secretstream_xchacha20poly1305_init_push — Description
  • sodium_crypto_secretstream_xchacha20poly1305_keygen — Description
  • sodium_crypto_secretstream_xchacha20poly1305_pull — Description
  • sodium_crypto_secretstream_xchacha20poly1305_push — Description
  • sodium_crypto_secretstream_xchacha20poly1305_rekey — Description
  • sodium_crypto_shorthash_keygen — Get random bytes for key
  • sodium_crypto_shorthash — Compute a fixed-size fingerprint for the message
  • sodium_crypto_sign_detached — Sign the message
  • sodium_crypto_sign_ed25519_pk_to_curve25519 — Convert an Ed25519 public key to a Curve25519 public key
  • sodium_crypto_sign_ed25519_sk_to_curve25519 — Convert an Ed25519 secret key to a Curve25519 secret key
  • sodium_crypto_sign_keypair_from_secretkey_and_publickey — Description
  • sodium_crypto_sign_keypair — Randomly generate a secret key and a corresponding public key
  • sodium_crypto_sign_open — Check that the signed message has a valid signature
  • sodium_crypto_sign_publickey_from_secretkey — Extract the public key from the secret key
  • sodium_crypto_sign_publickey — Description
  • sodium_crypto_sign_secretkey — Description
  • sodium_crypto_sign_seed_keypair — Deterministically derive the key pair from a single key
  • sodium_crypto_sign_verify_detached — Verify signature for the message
  • sodium_crypto_sign — Sign a message
  • sodium_crypto_stream_keygen — Get random bytes for key
  • sodium_crypto_stream_xor — Encrypt a message
  • sodium_crypto_stream — Generate a deterministic sequence of bytes from a seed
  • sodium_hex2bin — Decodes a hexadecimally encoded binary string
  • sodium_increment — Increment large number
  • sodium_memcmp — Test for equality in constant-time
  • sodium_memzero — Overwrite buf with zeros
  • sodium_pad — Add padding data
  • sodium_unpad — Remove padding data


Add large numbers

  • « Sodium Funções
  • sodium_base642bin »
  • PHP Manual
  • Sodium Funções
  • Add large numbers

sodium_add

(PHP 7 >= 7.2.0, PHP 8)

sodium_add — Add large numbers

Descrição

sodium_add ( string &$string1 , string $string2 ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

string1

string2

Valor Retornado

Não há valor retornado.


Description

  • « sodium_add
  • sodium_bin2base64 »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_base642bin

(PHP 7 >= 7.2.0, PHP 8)

sodium_base642bin — Description

Descrição

sodium_base642bin ( string $string , int $id , string $ignore = "" ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

string

id

ignore

Valor Retornado


Description

  • « sodium_base642bin
  • sodium_bin2hex »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_bin2base64

(PHP 7 >= 7.2.0, PHP 8)

sodium_bin2base64 — Description

Descrição

sodium_bin2base64 ( string $string , int $id ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

string

id

Valor Retornado


Encode to hexadecimal

  • « sodium_bin2base64
  • sodium_compare »
  • PHP Manual
  • Sodium Funções
  • Encode to hexadecimal

sodium_bin2hex

(PHP 7 >= 7.2.0, PHP 8)

sodium_bin2hex — Encode to hexadecimal

Descrição

sodium_bin2hex ( string $string ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

string

Valor Retornado


Compare large numbers

  • « sodium_bin2hex
  • sodium_crypto_aead_aes256gcm_decrypt »
  • PHP Manual
  • Sodium Funções
  • Compare large numbers

sodium_compare

(PHP 7 >= 7.2.0, PHP 8)

sodium_compare — Compare large numbers

Descrição

sodium_compare ( string $string1 , string $string2 ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

string1

string2

Valor Retornado


Decrypt in combined mode with precalculation

  • « sodium_compare
  • sodium_crypto_aead_aes256gcm_encrypt »
  • PHP Manual
  • Sodium Funções
  • Decrypt in combined mode with precalculation

sodium_crypto_aead_aes256gcm_decrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_aes256gcm_decrypt — Decrypt in combined mode with precalculation

Descrição

sodium_crypto_aead_aes256gcm_decrypt ( string $ciphertext , string $additional_data , string $nonce , string $key ) : string|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

ciphertext

additional_data

nonce

key

Valor Retornado


Encrypt in combined mode with precalculation

  • « sodium_crypto_aead_aes256gcm_decrypt
  • sodium_crypto_aead_aes256gcm_is_available »
  • PHP Manual
  • Sodium Funções
  • Encrypt in combined mode with precalculation

sodium_crypto_aead_aes256gcm_encrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_aes256gcm_encrypt — Encrypt in combined mode with precalculation

Descrição

sodium_crypto_aead_aes256gcm_encrypt ( string $message , string $additional_data , string $nonce , string $key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

message

additional_data

nonce

key

Valor Retornado


Check if hardware supports AES256-GCM

  • « sodium_crypto_aead_aes256gcm_encrypt
  • sodium_crypto_aead_aes256gcm_keygen »
  • PHP Manual
  • Sodium Funções
  • Check if hardware supports AES256-GCM

sodium_crypto_aead_aes256gcm_is_available

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_aes256gcm_is_available — Check if hardware supports AES256-GCM

Descrição

sodium_crypto_aead_aes256gcm_is_available ( ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get random bytes for key

  • « sodium_crypto_aead_aes256gcm_is_available
  • sodium_crypto_aead_chacha20poly1305_decrypt »
  • PHP Manual
  • Sodium Funções
  • Get random bytes for key

sodium_crypto_aead_aes256gcm_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_aes256gcm_keygen — Get random bytes for key

Descrição

sodium_crypto_aead_aes256gcm_keygen ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Verify that the ciphertext includes a valid tag

  • « sodium_crypto_aead_aes256gcm_keygen
  • sodium_crypto_aead_chacha20poly1305_encrypt »
  • PHP Manual
  • Sodium Funções
  • Verify that the ciphertext includes a valid tag

sodium_crypto_aead_chacha20poly1305_decrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_chacha20poly1305_decrypt — Verify that the ciphertext includes a valid tag

Descrição

sodium_crypto_aead_chacha20poly1305_decrypt ( string $ciphertext , string $additional_data , string $nonce , string $key ) : string|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

ciphertext

additional_data

nonce

key

Valor Retornado


Encrypt a message

  • « sodium_crypto_aead_chacha20poly1305_decrypt
  • sodium_crypto_aead_chacha20poly1305_ietf_decrypt »
  • PHP Manual
  • Sodium Funções
  • Encrypt a message

sodium_crypto_aead_chacha20poly1305_encrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_chacha20poly1305_encrypt — Encrypt a message

Descrição

sodium_crypto_aead_chacha20poly1305_encrypt ( string $message , string $additional_data , string $nonce , string $key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

message

additional_data

nonce

key

Valor Retornado


Verify that the ciphertext includes a valid tag

  • « sodium_crypto_aead_chacha20poly1305_encrypt
  • sodium_crypto_aead_chacha20poly1305_ietf_encrypt »
  • PHP Manual
  • Sodium Funções
  • Verify that the ciphertext includes a valid tag

sodium_crypto_aead_chacha20poly1305_ietf_decrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_chacha20poly1305_ietf_decrypt — Verify that the ciphertext includes a valid tag

Descrição

sodium_crypto_aead_chacha20poly1305_ietf_decrypt ( string $ciphertext , string $additional_data , string $nonce , string $key ) : string|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

ciphertext

additional_data

nonce

key

Valor Retornado


Encrypt a message

  • « sodium_crypto_aead_chacha20poly1305_ietf_decrypt
  • sodium_crypto_aead_chacha20poly1305_ietf_keygen »
  • PHP Manual
  • Sodium Funções
  • Encrypt a message

sodium_crypto_aead_chacha20poly1305_ietf_encrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_chacha20poly1305_ietf_encrypt — Encrypt a message

Descrição

sodium_crypto_aead_chacha20poly1305_ietf_encrypt ( string $message , string $additional_data , string $nonce , string $key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

message

additional_data

nonce

key

Valor Retornado


Get random bytes for key

  • « sodium_crypto_aead_chacha20poly1305_ietf_encrypt
  • sodium_crypto_aead_chacha20poly1305_keygen »
  • PHP Manual
  • Sodium Funções
  • Get random bytes for key

sodium_crypto_aead_chacha20poly1305_ietf_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_chacha20poly1305_ietf_keygen — Get random bytes for key

Descrição

sodium_crypto_aead_chacha20poly1305_ietf_keygen ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get random bytes for key

  • « sodium_crypto_aead_chacha20poly1305_ietf_keygen
  • sodium_crypto_aead_xchacha20poly1305_ietf_decrypt »
  • PHP Manual
  • Sodium Funções
  • Get random bytes for key

sodium_crypto_aead_chacha20poly1305_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_chacha20poly1305_keygen — Get random bytes for key

Descrição

sodium_crypto_aead_chacha20poly1305_keygen ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « sodium_crypto_aead_chacha20poly1305_keygen
  • sodium_crypto_aead_xchacha20poly1305_ietf_encrypt »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_aead_xchacha20poly1305_ietf_decrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_xchacha20poly1305_ietf_decrypt — Description

Descrição

sodium_crypto_aead_xchacha20poly1305_ietf_decrypt ( string $ciphertext , string $additional_data , string $nonce , string $key ) : string|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

ciphertext

additional_data

nonce

key

Valor Retornado


Description

  • « sodium_crypto_aead_xchacha20poly1305_ietf_decrypt
  • sodium_crypto_aead_xchacha20poly1305_ietf_keygen »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_aead_xchacha20poly1305_ietf_encrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_xchacha20poly1305_ietf_encrypt — Description

Descrição

sodium_crypto_aead_xchacha20poly1305_ietf_encrypt ( string $message , string $additional_data , string $nonce , string $key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

message

additional_data

nonce

key

Valor Retornado


Description

  • « sodium_crypto_aead_xchacha20poly1305_ietf_encrypt
  • sodium_crypto_auth_keygen »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_aead_xchacha20poly1305_ietf_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_xchacha20poly1305_ietf_keygen — Description

Descrição

sodium_crypto_aead_xchacha20poly1305_ietf_keygen ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get random bytes for key

  • « sodium_crypto_aead_xchacha20poly1305_ietf_keygen
  • sodium_crypto_auth_verify »
  • PHP Manual
  • Sodium Funções
  • Get random bytes for key

sodium_crypto_auth_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_auth_keygen — Get random bytes for key

Descrição

sodium_crypto_auth_keygen ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Verifies that the tag is valid for the message

  • « sodium_crypto_auth_keygen
  • sodium_crypto_auth »
  • PHP Manual
  • Sodium Funções
  • Verifies that the tag is valid for the message

sodium_crypto_auth_verify

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_auth_verify — Verifies that the tag is valid for the message

Descrição

sodium_crypto_auth_verify ( string $mac , string $message , string $key ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

mac

message

key

Valor Retornado


Compute a tag for the message

  • « sodium_crypto_auth_verify
  • sodium_crypto_box_keypair_from_secretkey_and_publickey »
  • PHP Manual
  • Sodium Funções
  • Compute a tag for the message

sodium_crypto_auth

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_auth — Compute a tag for the message

Descrição

sodium_crypto_auth ( string $message , string $key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

message

key

Valor Retornado


Description

  • « sodium_crypto_auth
  • sodium_crypto_box_keypair »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_box_keypair_from_secretkey_and_publickey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_keypair_from_secretkey_and_publickey — Description

Descrição

sodium_crypto_box_keypair_from_secretkey_and_publickey ( string $secret_key , string $public_key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

secret_key

public_key

Valor Retornado


Randomly generate a secret key and a corresponding public key

  • « sodium_crypto_box_keypair_from_secretkey_and_publickey
  • sodium_crypto_box_open »
  • PHP Manual
  • Sodium Funções
  • Randomly generate a secret key and a corresponding public key

sodium_crypto_box_keypair

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_keypair — Randomly generate a secret key and a corresponding public key

Descrição

sodium_crypto_box_keypair ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Verify and decrypt a ciphertext

  • « sodium_crypto_box_keypair
  • sodium_crypto_box_publickey_from_secretkey »
  • PHP Manual
  • Sodium Funções
  • Verify and decrypt a ciphertext

sodium_crypto_box_open

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_open — Verify and decrypt a ciphertext

Descrição

sodium_crypto_box_open ( string $ciphertext , string $nonce , string $key_pair ) : string|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

ciphertext

nonce

key_pair

Valor Retornado


Description

  • « sodium_crypto_box_open
  • sodium_crypto_box_publickey »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_box_publickey_from_secretkey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_publickey_from_secretkey — Description

Descrição

sodium_crypto_box_publickey_from_secretkey ( string $secret_key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

secret_key

Valor Retornado


Description

  • « sodium_crypto_box_publickey_from_secretkey
  • sodium_crypto_box_seal_open »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_box_publickey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_publickey — Description

Descrição

sodium_crypto_box_publickey ( string $key_pair ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

key_pair

Valor Retornado


Decrypt the ciphertext

  • « sodium_crypto_box_publickey
  • sodium_crypto_box_seal »
  • PHP Manual
  • Sodium Funções
  • Decrypt the ciphertext

sodium_crypto_box_seal_open

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_seal_open — Decrypt the ciphertext

Descrição

sodium_crypto_box_seal_open ( string $ciphertext , string $key_pair ) : string|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

ciphertext

key_pair

Valor Retornado


Encrypt a message

  • « sodium_crypto_box_seal_open
  • sodium_crypto_box_secretkey »
  • PHP Manual
  • Sodium Funções
  • Encrypt a message

sodium_crypto_box_seal

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_seal — Encrypt a message

Descrição

sodium_crypto_box_seal ( string $message , string $key_pair ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

message

key_pair

Valor Retornado


Description

  • « sodium_crypto_box_seal
  • sodium_crypto_box_seed_keypair »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_box_secretkey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_secretkey — Description

Descrição

sodium_crypto_box_secretkey ( string $key_pair ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

key_pair

Valor Retornado


Deterministically derive the key pair from a single key

  • « sodium_crypto_box_secretkey
  • sodium_crypto_box »
  • PHP Manual
  • Sodium Funções
  • Deterministically derive the key pair from a single key

sodium_crypto_box_seed_keypair

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_seed_keypair — Deterministically derive the key pair from a single key

Descrição

sodium_crypto_box_seed_keypair ( string $seed ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

seed

Valor Retornado


Encrypt a message

  • « sodium_crypto_box_seed_keypair
  • sodium_crypto_generichash_final »
  • PHP Manual
  • Sodium Funções
  • Encrypt a message

sodium_crypto_box

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box — Encrypt a message

Descrição

sodium_crypto_box ( string $message , string $nonce , string $key_pair ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

message

nonce

key_pair

Valor Retornado


Complete the hash

  • « sodium_crypto_box
  • sodium_crypto_generichash_init »
  • PHP Manual
  • Sodium Funções
  • Complete the hash

sodium_crypto_generichash_final

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_generichash_final — Complete the hash

Descrição

sodium_crypto_generichash_final ( string &$state , int $length = SODIUM_CRYPTO_GENERICHASH_BYTES ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

state

length

Valor Retornado


Initialize a hash

  • « sodium_crypto_generichash_final
  • sodium_crypto_generichash_keygen »
  • PHP Manual
  • Sodium Funções
  • Initialize a hash

sodium_crypto_generichash_init

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_generichash_init — Initialize a hash

Descrição

sodium_crypto_generichash_init ( string $key = "" , int $length = SODIUM_CRYPTO_GENERICHASH_BYTES ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

key

length

Valor Retornado


Get random bytes for key

  • « sodium_crypto_generichash_init
  • sodium_crypto_generichash_update »
  • PHP Manual
  • Sodium Funções
  • Get random bytes for key

sodium_crypto_generichash_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_generichash_keygen — Get random bytes for key

Descrição

sodium_crypto_generichash_keygen ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Add message to a hash

  • « sodium_crypto_generichash_keygen
  • sodium_crypto_generichash »
  • PHP Manual
  • Sodium Funções
  • Add message to a hash

sodium_crypto_generichash_update

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_generichash_update — Add message to a hash

Descrição

sodium_crypto_generichash_update ( string &$state , string $message ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

state

message

Valor Retornado


Get a hash of the message

  • « sodium_crypto_generichash_update
  • sodium_crypto_kdf_derive_from_key »
  • PHP Manual
  • Sodium Funções
  • Get a hash of the message

sodium_crypto_generichash

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_generichash — Get a hash of the message

Descrição

sodium_crypto_generichash ( string $message , string $key = "" , int $length = SODIUM_CRYPTO_GENERICHASH_BYTES ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

message

key

length

Valor Retornado


Derive a subkey

  • « sodium_crypto_generichash
  • sodium_crypto_kdf_keygen »
  • PHP Manual
  • Sodium Funções
  • Derive a subkey

sodium_crypto_kdf_derive_from_key

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kdf_derive_from_key — Derive a subkey

Descrição

sodium_crypto_kdf_derive_from_key ( int $subkey_length , int $subkey_id , string $context , string $key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

subkey_length

subkey_id

context

key

Valor Retornado


Get random bytes for key

  • « sodium_crypto_kdf_derive_from_key
  • sodium_crypto_kx_client_session_keys »
  • PHP Manual
  • Sodium Funções
  • Get random bytes for key

sodium_crypto_kdf_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kdf_keygen — Get random bytes for key

Descrição

sodium_crypto_kdf_keygen ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « sodium_crypto_kdf_keygen
  • sodium_crypto_kx_keypair »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_kx_client_session_keys

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kx_client_session_keys — Description

Descrição

sodium_crypto_kx_client_session_keys ( string $client_key_pair , string $server_key ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

client_key_pair

server_key

Valor Retornado


Creates a new sodium keypair

  • « sodium_crypto_kx_client_session_keys
  • sodium_crypto_kx_publickey »
  • PHP Manual
  • Sodium Funções
  • Creates a new sodium keypair

sodium_crypto_kx_keypair

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kx_keypair — Creates a new sodium keypair

Descrição

sodium_crypto_kx_keypair ( ) : string

Create a new sodium keypair consisting of the secret key (32 bytes) followed by the public key (32 bytes). The keys can be retrieved by calling sodium_crypto_kx_secretkey() and sodium_crypto_kx_publickey(), respectively.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the new keypair on success; throws an exception otherwise.

Exemplos

Exemplo #1 sodium_crypto_kx_keypair() usage

Create a new keypair and retrieve the secret and the public key from it.

<?php
$keypair = sodium_crypto_kx_keypair();
$secret = sodium_crypto_kx_secretkey($keypair);
$public = sodium_crypto_kx_publickey($keypair);
printf("secret: %s\npublic: %s", bin2hex($secret), bin2hex($public));
?>

O exemplo acima irá imprimir algo similar à:

secret: e7c5c918fdc40762e6000542c0118f4368ce8fd242b0e48c1e17202797a25daf
public: d1f59fda8652caf40ed1a01d2b6f3802b60846986372cd8fa337b7c12c428b18


Description

  • « sodium_crypto_kx_keypair
  • sodium_crypto_kx_secretkey »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_kx_publickey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kx_publickey — Description

Descrição

sodium_crypto_kx_publickey ( string $key_pair ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

key_pair

Valor Retornado


Description

  • « sodium_crypto_kx_publickey
  • sodium_crypto_kx_seed_keypair »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_kx_secretkey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kx_secretkey — Description

Descrição

sodium_crypto_kx_secretkey ( string $key_pair ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

key_pair

Valor Retornado


Description

  • « sodium_crypto_kx_secretkey
  • sodium_crypto_kx_server_session_keys »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_kx_seed_keypair

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kx_seed_keypair — Description

Descrição

sodium_crypto_kx_seed_keypair ( string $seed ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

seed

Valor Retornado


Description

  • « sodium_crypto_kx_seed_keypair
  • sodium_crypto_pwhash_scryptsalsa208sha256_str_verify »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_kx_server_session_keys

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kx_server_session_keys — Description

Descrição

sodium_crypto_kx_server_session_keys ( string $server_key_pair , string $client_key ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

server_key_pair

client_key

Valor Retornado


Verify that the password is a valid password verification string

  • « sodium_crypto_kx_server_session_keys
  • sodium_crypto_pwhash_scryptsalsa208sha256_str »
  • PHP Manual
  • Sodium Funções
  • Verify that the password is a valid password verification string

sodium_crypto_pwhash_scryptsalsa208sha256_str_verify

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_scryptsalsa208sha256_str_verify — Verify that the password is a valid password verification string

Descrição

sodium_crypto_pwhash_scryptsalsa208sha256_str_verify ( string $hash , string $password ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

hash

password

Valor Retornado


Get an ASCII encoded hash

  • « sodium_crypto_pwhash_scryptsalsa208sha256_str_verify
  • sodium_crypto_pwhash_scryptsalsa208sha256 »
  • PHP Manual
  • Sodium Funções
  • Get an ASCII encoded hash

sodium_crypto_pwhash_scryptsalsa208sha256_str

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_scryptsalsa208sha256_str — Get an ASCII encoded hash

Descrição

sodium_crypto_pwhash_scryptsalsa208sha256_str ( string $password , int $opslimit , int $memlimit ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

password

opslimit

memlimit

Valor Retornado


Derives a key from a password

  • « sodium_crypto_pwhash_scryptsalsa208sha256_str
  • sodium_crypto_pwhash_str_needs_rehash »
  • PHP Manual
  • Sodium Funções
  • Derives a key from a password

sodium_crypto_pwhash_scryptsalsa208sha256

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_scryptsalsa208sha256 — Derives a key from a password

Descrição

sodium_crypto_pwhash_scryptsalsa208sha256 ( int $length , string $password , string $salt , int $opslimit , int $memlimit ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

length

password

salt

opslimit

memlimit

Valor Retornado


Description

  • « sodium_crypto_pwhash_scryptsalsa208sha256
  • sodium_crypto_pwhash_str_verify »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_pwhash_str_needs_rehash

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_str_needs_rehash — Description

Descrição

sodium_crypto_pwhash_str_needs_rehash ( string $password , int $opslimit , int $memlimit ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

password

opslimit

memlimit

Valor Retornado


Verifies that a password matches a hash

  • « sodium_crypto_pwhash_str_needs_rehash
  • sodium_crypto_pwhash_str »
  • PHP Manual
  • Sodium Funções
  • Verifies that a password matches a hash

sodium_crypto_pwhash_str_verify

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_str_verify — Verifies that a password matches a hash

Descrição

sodium_crypto_pwhash_str_verify ( string $hash , string $password ) : bool

Checks that a password hash created using sodium_crypto_pwhash_str() matches a given plain-text password. Note that the parameters are in the opposite order to the same parameters in the similar password_hash() function.

Parâmetros

hash

Um hash criado por password_hash().

password

A senha do usuário.

Valor Retornado

Returns true if the password and hash match, or false otherwise.

Notas

Nota:

Hashes are calculated using the Argon2ID algorithm, providing resistance to both GPU and side-channel attacks.

Veja Também

  • sodium_crypto_pwhash_str() - Get an ASCII-encoded hash
  • password_hash() - Cria um password hash
  • password_verify() - Verifica se um password corresponde com um hash


Get an ASCII-encoded hash

  • « sodium_crypto_pwhash_str_verify
  • sodium_crypto_pwhash »
  • PHP Manual
  • Sodium Funções
  • Get an ASCII-encoded hash

sodium_crypto_pwhash_str

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_str — Get an ASCII-encoded hash

Descrição

sodium_crypto_pwhash_str ( string $password , int $opslimit , int $memlimit ) : string

Uses a CPU- and memory-hard hash algorithm along with a randomly-generated salt, and memory and CPU limits to generate an ASCII-encoded hash suitable for password storage.

Parâmetros

password

string; The password to generate a hash for.

opslimit

Represents a maximum amount of computations to perform. Raising this number will make the function require more CPU cycles to compute a key. There are constants available to set the operations limit to appropriate values depending on intended use, in order of strength: SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE, SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE and SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE.

memlimit

The maximum amount of RAM that the function will use, in bytes. There are constants to help you choose an appropriate value, in order of size: SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE, SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE, and SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE. Typically these should be paired with the matching opslimit values.

Valor Retornado

Returns the hashed password.

In order to produce the same password hash from the same password, the same values for opslimit and memlimit must be used. These are embedded within the generated hash, so everything that's needed to verify the hash is included. This allows the sodium_crypto_pwhash_str_verify() function to verify the hash without needing separate storage for the other parameters.

Notas

Nota:

Hashes are calculated using the Argon2ID algorithm, providing resistance to both GPU and side-channel attacks. In contrast to the password_hash() function, there is no salt parameter (a salt is generated automatically), and the opslimit and memlimit parameters are not optional.

Exemplos

Exemplo #1 password_hash() example

<?php
$password = 'password';
echo sodium_crypto_pwhash_str(
    $password,
    SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
    SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE
);

O exemplo acima irá imprimir algo similar à:

$argon2id$v=19$m=65536,t=2,p=1$oWIfdaXwWwhVmovOBc2NAQ$EbsZ+JnZyyavkafS0hoc4HdaOB0ILWZESAZ7kVGa+Iw

Veja Também

  • sodium_crypto_pwhash_str_verify() - Verifies that a password matches a hash
  • sodium_crypto_pwhash() - Derive a key from a password
  • password_hash() - Cria um password hash
  • password_verify() - Verifica se um password corresponde com um hash
  • » Libsodium Argon2 docs


Derive a key from a password

  • « sodium_crypto_pwhash_str
  • sodium_crypto_scalarmult_base »
  • PHP Manual
  • Sodium Funções
  • Derive a key from a password

sodium_crypto_pwhash

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash — Derive a key from a password

Descrição

sodium_crypto_pwhash ( int $length , string $password , string $salt , int $opslimit , int $memlimit , int $algo = SODIUM_CRYPTO_PWHASH_ALG_DEFAULT ) : string

This function provides low-level access to libsodium's crypto_pwhash key derivation function. Unless you have specific reason to use this function, you should use sodium_crypto_pwhash_str() or password_hash() functions instead.

Parâmetros

length

int; The length of the password hash to generate, in bytes.

password

string; The password to generate a hash for.

salt

string A salt to add to the password before hashing. The salt should be unpredictable, ideally generated from a good random mumber source such as random_bytes(), and have a length of at least SODIUM_CRYPTO_PWHASH_SALTBYTES bytes.

opslimit

Represents a maximum amount of computations to perform. Raising this number will make the function require more CPU cycles to compute a key. There are some constants available to set the operations limit to appropriate values depending on intended use, in order of strength: SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE, SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE and SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE.

memlimit

The maximum amount of RAM that the function will use, in bytes. There are constants to help you choose an appropriate value, in order of size: SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE, SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE, and SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE. Typically these should be paired with the matching opslimit values.

algo

int A number indicating the hash algorithm to use. By default SODIUM_CRYPTO_PWHASH_ALG_DEFAULT (the currently recommended algorithm, which can change from one version of libsodium to another), or explicitly using SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13, representing the Argon2id algorithm version 1.3.

Valor Retornado

Returns the derived key. The return value is a binary string of the hash, not an ASCII-encoded representation, and does not contain additional information about the parameters used to create the hash, so you will need to keep that information if you are ever going to verify the password in future. Use sodium_crypto_pwhash_str() to avoid needing to do all that.

Exemplos

Exemplo #1 password_hash() example

<?php
//Need to keep the salt if we're ever going to be able to check this password
$salt = random_bytes(SODIUM_CRYPTO_PWHASH_SALTBYTES);
//Using bin2hex to keep output readable
echo bin2hex(
    sodium_crypto_pwhash(
        16, // == 128 bits
        'password',
        $salt,
        SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
        SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE,
        SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13
    )
);
?>

O exemplo acima irá imprimir algo similar à:

a18f346ba57992eb7e4ae6abf3fd30ee


Sinônimo de sodium_crypto_box_publickey_from_secretkey

  • « sodium_crypto_pwhash
  • sodium_crypto_scalarmult »
  • PHP Manual
  • Sodium Funções
  • Sinônimo de sodium_crypto_box_publickey_from_secretkey

sodium_crypto_scalarmult_base

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_scalarmult_base — Sinônimo de sodium_crypto_box_publickey_from_secretkey()

Descrição

Esta função é um apelido para: sodium_crypto_box_publickey_from_secretkey().


Compute a shared secret given a user's secret key and another user's public key

  • « sodium_crypto_scalarmult_base
  • sodium_crypto_secretbox_keygen »
  • PHP Manual
  • Sodium Funções
  • Compute a shared secret given a user's secret key and another user's public key

sodium_crypto_scalarmult

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_scalarmult — Compute a shared secret given a user's secret key and another user's public key

Descrição

sodium_crypto_scalarmult ( string $n , string $p ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

n

p

Valor Retornado


Get random bytes for key

  • « sodium_crypto_scalarmult
  • sodium_crypto_secretbox_open »
  • PHP Manual
  • Sodium Funções
  • Get random bytes for key

sodium_crypto_secretbox_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretbox_keygen — Get random bytes for key

Descrição

sodium_crypto_secretbox_keygen ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Verify and decrypt a ciphertext

  • « sodium_crypto_secretbox_keygen
  • sodium_crypto_secretbox »
  • PHP Manual
  • Sodium Funções
  • Verify and decrypt a ciphertext

sodium_crypto_secretbox_open

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretbox_open — Verify and decrypt a ciphertext

Descrição

sodium_crypto_secretbox_open ( string $ciphertext , string $nonce , string $key ) : string|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

ciphertext

nonce

key

Valor Retornado


Encrypt a message

  • « sodium_crypto_secretbox_open
  • sodium_crypto_secretstream_xchacha20poly1305_init_pull »
  • PHP Manual
  • Sodium Funções
  • Encrypt a message

sodium_crypto_secretbox

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretbox — Encrypt a message

Descrição

sodium_crypto_secretbox ( string $message , string $nonce , string $key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

message

nonce

key

Valor Retornado


Description

  • « sodium_crypto_secretbox
  • sodium_crypto_secretstream_xchacha20poly1305_init_push »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_secretstream_xchacha20poly1305_init_pull

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_init_pull — Description

Descrição

sodium_crypto_secretstream_xchacha20poly1305_init_pull ( string $header , string $key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

header

key

Valor Retornado


Description

  • « sodium_crypto_secretstream_xchacha20poly1305_init_pull
  • sodium_crypto_secretstream_xchacha20poly1305_keygen »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_secretstream_xchacha20poly1305_init_push

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_init_push — Description

Descrição

sodium_crypto_secretstream_xchacha20poly1305_init_push ( string $key ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

key

Valor Retornado


Description

  • « sodium_crypto_secretstream_xchacha20poly1305_init_push
  • sodium_crypto_secretstream_xchacha20poly1305_pull »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_secretstream_xchacha20poly1305_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_keygen — Description

Descrição

sodium_crypto_secretstream_xchacha20poly1305_keygen ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « sodium_crypto_secretstream_xchacha20poly1305_keygen
  • sodium_crypto_secretstream_xchacha20poly1305_push »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_secretstream_xchacha20poly1305_pull

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_pull — Description

Descrição

sodium_crypto_secretstream_xchacha20poly1305_pull ( string &$state , string $ciphertext , string $additional_data = "" ) : array|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

state

ciphertext

additional_data

Valor Retornado


Description

  • « sodium_crypto_secretstream_xchacha20poly1305_pull
  • sodium_crypto_secretstream_xchacha20poly1305_rekey »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_secretstream_xchacha20poly1305_push

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_push — Description

Descrição

sodium_crypto_secretstream_xchacha20poly1305_push ( string &$state , string $message , string $additional_data = "" , int $tag = SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

state

message

additional_data

tag

Valor Retornado


Description

  • « sodium_crypto_secretstream_xchacha20poly1305_push
  • sodium_crypto_shorthash_keygen »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_secretstream_xchacha20poly1305_rekey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_rekey — Description

Descrição

sodium_crypto_secretstream_xchacha20poly1305_rekey ( string &$state ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

state

Valor Retornado


Get random bytes for key

  • « sodium_crypto_secretstream_xchacha20poly1305_rekey
  • sodium_crypto_shorthash »
  • PHP Manual
  • Sodium Funções
  • Get random bytes for key

sodium_crypto_shorthash_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_shorthash_keygen — Get random bytes for key

Descrição

sodium_crypto_shorthash_keygen ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Compute a fixed-size fingerprint for the message

  • « sodium_crypto_shorthash_keygen
  • sodium_crypto_sign_detached »
  • PHP Manual
  • Sodium Funções
  • Compute a fixed-size fingerprint for the message

sodium_crypto_shorthash

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_shorthash — Compute a fixed-size fingerprint for the message

Descrição

sodium_crypto_shorthash ( string $message , string $key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

message

key

Valor Retornado


Sign the message

  • « sodium_crypto_shorthash
  • sodium_crypto_sign_ed25519_pk_to_curve25519 »
  • PHP Manual
  • Sodium Funções
  • Sign the message

sodium_crypto_sign_detached

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_detached — Sign the message

Descrição

sodium_crypto_sign_detached ( string $message , string $secret_key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

message

secret_key

Valor Retornado


Convert an Ed25519 public key to a Curve25519 public key

  • « sodium_crypto_sign_detached
  • sodium_crypto_sign_ed25519_sk_to_curve25519 »
  • PHP Manual
  • Sodium Funções
  • Convert an Ed25519 public key to a Curve25519 public key

sodium_crypto_sign_ed25519_pk_to_curve25519

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_ed25519_pk_to_curve25519 — Convert an Ed25519 public key to a Curve25519 public key

Descrição

sodium_crypto_sign_ed25519_pk_to_curve25519 ( string $public_key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

public_key

Valor Retornado


Convert an Ed25519 secret key to a Curve25519 secret key

  • « sodium_crypto_sign_ed25519_pk_to_curve25519
  • sodium_crypto_sign_keypair_from_secretkey_and_publickey »
  • PHP Manual
  • Sodium Funções
  • Convert an Ed25519 secret key to a Curve25519 secret key

sodium_crypto_sign_ed25519_sk_to_curve25519

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_ed25519_sk_to_curve25519 — Convert an Ed25519 secret key to a Curve25519 secret key

Descrição

sodium_crypto_sign_ed25519_sk_to_curve25519 ( string $secret_key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

secret_key

Valor Retornado


Description

  • « sodium_crypto_sign_ed25519_sk_to_curve25519
  • sodium_crypto_sign_keypair »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_sign_keypair_from_secretkey_and_publickey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_keypair_from_secretkey_and_publickey — Description

Descrição

sodium_crypto_sign_keypair_from_secretkey_and_publickey ( string $secret_key , string $public_key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

secret_key

public_key

Valor Retornado


Randomly generate a secret key and a corresponding public key

  • « sodium_crypto_sign_keypair_from_secretkey_and_publickey
  • sodium_crypto_sign_open »
  • PHP Manual
  • Sodium Funções
  • Randomly generate a secret key and a corresponding public key

sodium_crypto_sign_keypair

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_keypair — Randomly generate a secret key and a corresponding public key

Descrição

sodium_crypto_sign_keypair ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Check that the signed message has a valid signature

  • « sodium_crypto_sign_keypair
  • sodium_crypto_sign_publickey_from_secretkey »
  • PHP Manual
  • Sodium Funções
  • Check that the signed message has a valid signature

sodium_crypto_sign_open

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_open — Check that the signed message has a valid signature

Descrição

sodium_crypto_sign_open ( string $ciphertext , string $public_key ) : string|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

ciphertext

public_key

Valor Retornado


Extract the public key from the secret key

  • « sodium_crypto_sign_open
  • sodium_crypto_sign_publickey »
  • PHP Manual
  • Sodium Funções
  • Extract the public key from the secret key

sodium_crypto_sign_publickey_from_secretkey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_publickey_from_secretkey — Extract the public key from the secret key

Descrição

sodium_crypto_sign_publickey_from_secretkey ( string $secret_key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

secret_key

Valor Retornado


Description

  • « sodium_crypto_sign_publickey_from_secretkey
  • sodium_crypto_sign_secretkey »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_sign_publickey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_publickey — Description

Descrição

sodium_crypto_sign_publickey ( string $key_pair ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

key_pair

Valor Retornado


Description

  • « sodium_crypto_sign_publickey
  • sodium_crypto_sign_seed_keypair »
  • PHP Manual
  • Sodium Funções
  • Description

sodium_crypto_sign_secretkey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_secretkey — Description

Descrição

sodium_crypto_sign_secretkey ( string $key_pair ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

key_pair

Valor Retornado


Deterministically derive the key pair from a single key

  • « sodium_crypto_sign_secretkey
  • sodium_crypto_sign_verify_detached »
  • PHP Manual
  • Sodium Funções
  • Deterministically derive the key pair from a single key

sodium_crypto_sign_seed_keypair

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_seed_keypair — Deterministically derive the key pair from a single key

Descrição

sodium_crypto_sign_seed_keypair ( string $seed ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

seed

Valor Retornado


Verify signature for the message

  • « sodium_crypto_sign_seed_keypair
  • sodium_crypto_sign »
  • PHP Manual
  • Sodium Funções
  • Verify signature for the message

sodium_crypto_sign_verify_detached

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_verify_detached — Verify signature for the message

Descrição

sodium_crypto_sign_verify_detached ( string $signature , string $message , string $public_key ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

signature

message

public_key

Valor Retornado


Sign a message

  • « sodium_crypto_sign_verify_detached
  • sodium_crypto_stream_keygen »
  • PHP Manual
  • Sodium Funções
  • Sign a message

sodium_crypto_sign

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign — Sign a message

Descrição

sodium_crypto_sign ( string $message , string $secret_key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

message

secret_key

Valor Retornado


Get random bytes for key

  • « sodium_crypto_sign
  • sodium_crypto_stream_xor »
  • PHP Manual
  • Sodium Funções
  • Get random bytes for key

sodium_crypto_stream_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_stream_keygen — Get random bytes for key

Descrição

sodium_crypto_stream_keygen ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Encrypt a message

  • « sodium_crypto_stream_keygen
  • sodium_crypto_stream »
  • PHP Manual
  • Sodium Funções
  • Encrypt a message

sodium_crypto_stream_xor

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_stream_xor — Encrypt a message

Descrição

sodium_crypto_stream_xor ( string $message , string $nonce , string $key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

message

nonce

key

Valor Retornado


Generate a deterministic sequence of bytes from a seed

  • « sodium_crypto_stream_xor
  • sodium_hex2bin »
  • PHP Manual
  • Sodium Funções
  • Generate a deterministic sequence of bytes from a seed

sodium_crypto_stream

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_stream — Generate a deterministic sequence of bytes from a seed

Descrição

sodium_crypto_stream ( int $length , string $nonce , string $key ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

length

nonce

key

Valor Retornado


Decodes a hexadecimally encoded binary string

  • « sodium_crypto_stream
  • sodium_increment »
  • PHP Manual
  • Sodium Funções
  • Decodes a hexadecimally encoded binary string

sodium_hex2bin

(PHP 7 >= 7.2.0, PHP 8)

sodium_hex2bin — Decodes a hexadecimally encoded binary string

Descrição

sodium_hex2bin ( string $string , string $ignore = "" ) : string

Decodes a hexadecimally encoded binary string.

Like sodium_bin2hex(), sodium_hex2bin() is resistant to side-channel attacks while hex2bin() is not.

Parâmetros

string

Hexadecimal representation of data.

ignore

Optional string argument for characters to ignore.

Valor Retornado

Returns the binary representation of the given string data.


Increment large number

  • « sodium_hex2bin
  • sodium_memcmp »
  • PHP Manual
  • Sodium Funções
  • Increment large number

sodium_increment

(PHP 7 >= 7.2.0, PHP 8)

sodium_increment — Increment large number

Descrição

sodium_increment ( string &$string ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

string

Valor Retornado


Test for equality in constant-time

  • « sodium_increment
  • sodium_memzero »
  • PHP Manual
  • Sodium Funções
  • Test for equality in constant-time

sodium_memcmp

(PHP 7 >= 7.2.0, PHP 8)

sodium_memcmp — Test for equality in constant-time

Descrição

sodium_memcmp ( string $string1 , string $string2 ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

string1

string2

Valor Retornado


Overwrite buf with zeros

  • « sodium_memcmp
  • sodium_pad »
  • PHP Manual
  • Sodium Funções
  • Overwrite buf with zeros

sodium_memzero

(PHP 7 >= 7.2.0, PHP 8)

sodium_memzero — Overwrite buf with zeros

Descrição

sodium_memzero ( string &$string ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

string

Valor Retornado


Add padding data

  • « sodium_memzero
  • sodium_unpad »
  • PHP Manual
  • Sodium Funções
  • Add padding data

sodium_pad

(PHP 7 >= 7.2.0, PHP 8)

sodium_pad — Add padding data

Descrição

sodium_pad ( string $string , int $length ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

string

length

Valor Retornado


Remove padding data

  • « sodium_pad
  • SodiumException »
  • PHP Manual
  • Sodium Funções
  • Remove padding data

sodium_unpad

(PHP 7 >= 7.2.0, PHP 8)

sodium_unpad — Remove padding data

Descrição

sodium_unpad ( string $string , int $block_size ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

string

block_size

Valor Retornado


The SodiumException class

(PHP 7 >= 7.2.0, PHP 8)

Introdução

Exceptions thrown by the sodium functions.

Sinopse da classe

SodiumException extends Exception implements Throwable {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


Extensões de Banco de Dados

  • Camadas de Abstração
    • DBA — Database (dbm-style) Abstraction Layer
    • ODBC
    • PDO — PHP Data Objects
  • Vendor Specific Database Extensions
    • CUBRID
    • DB++
    • dBase
    • filePro
    • Firebird/InterBase
    • FrontBase
    • IBM DB2 — IBM DB2, Cloudscape and Apache Derby
    • Ingres — Ingres DBMS, EDBC, and Enterprise Access Gateways
    • Mongo — MongoDB driver (legacy)
    • MongoDB — MongoDB driver
    • MySQL — MySQL Drivers and Plugins
    • OCI8 — Oracle OCI8
    • Paradox — Paradox File Access
    • PostgreSQL
    • SQLite3
    • SQLSRV — Microsoft SQL Server Driver for PHP
    • tokyo_tyrant


Camadas de Abstração

  • DBA — Database (dbm-style) Abstraction Layer
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • DBA Funções
  • ODBC
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • ODBC Unificado
  • PDO — PHP Data Objects
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Connections and Connection management
    • Transactions and auto-commit
    • Prepared statements and stored procedures
    • Errors and error handling
    • Large Objects (LOBs)
    • PDO — The PDO class
    • PDOStatement — The PDOStatement class
    • PDOException — The PDOException class
    • PDO Drivers


Database (dbm-style) Abstraction Layer

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Basic usage
  • DBA Funções
    • dba_close — Close a DBA database
    • dba_delete — Delete DBA entry specified by key
    • dba_exists — Check whether key exists
    • dba_fetch — Fetch data specified by key
    • dba_firstkey — Fetch first key
    • dba_handlers — List all the handlers available
    • dba_insert — Insert entry
    • dba_key_split — Splits a key in string representation into array representation
    • dba_list — List all open database files
    • dba_nextkey — Fetch next key
    • dba_open — Open database
    • dba_optimize — Optimize database
    • dba_popen — Open database persistently
    • dba_replace — Replace or insert entry
    • dba_sync — Synchronize database


Introdução

These functions build the foundation for accessing Berkeley DB style databases.

This is a general abstraction layer for several file-based databases. As such, functionality is limited to a common subset of features supported by modern databases such as » Oracle Berkeley DB.


Dependências

The behaviour of various aspects depends on the implementation of the underlying database. Functions such as dba_optimize() and dba_sync() will do what they promise for one database and will do nothing for others. You have to download and install supported dba-Handlers.

List of DBA handlers
Handler | Notes
dbm | Dbm is the oldest (original) type of Berkeley DB style databases. You should avoid it, if possible. We do not support the compatibility functions built into DB2 and gdbm, because they are only compatible on the source code level, but cannot handle the original dbm format.
ndbm | Ndbm is a newer type and more flexible than dbm. It still has most of the arbitrary limits of dbm (therefore it is deprecated).
gdbm | Gdbm is the » GNU database manager.
db2 | DB2 is for » Oracle Berkeley DB 2. It is described as "a programmatic toolkit that provides high-performance built-in database support for both standalone and client/server applications."
db3 | DB3 is for » Oracle Berkeley DB 3.
db4 | DB4 is for » Oracle Berkeley DB 4 or 5. This option can be used with BDB 5 as of PHP 5.3.3.
cdb | Cdb is "a fast, reliable, lightweight package for creating and reading constant databases." It is from the author of qmail and can be found at » http://cr.yp.to/cdb.html. Since it is constant, we support only reading operations. We support writing (not updating) through the internal cdb library.
cdb_make | We support creation (not updating) of cdb files when the bundled cdb library is used.
flatfile | This is available for compatibility with the deprecated dbm extension only and should be avoided. However you may use this where files were created in this format. That happens when configure could not find any external library.
inifile | This is available to be able to modify php.ini files from within PHP scripts. When working with ini files you can pass arrays of the form array(0=>group,1=>value_name) or strings of the form "[group]value_name" where group is optional. As the functions dba_firstkey() and dba_nextkey() return string representations of the key there is the function dba_key_split() which allows to convert the string keys into array keys without loosing false.
qdbm | The qdbm library can be downloaded from » http://fallabs.com/qdbm/index.html.
tcadb | This is available since PHP 5.4.0. The Tokyo Cabinet library can be downloaded from » http://fallabs.com/tokyocabinet/.
lmdb | This is available since PHP 7.2.0. The Lightning Memory-Mapped Database library can be downloaded from » https://symas.com/lmdb/.

When invoking the dba_open() or dba_popen() functions, one of the handler names must be supplied as an argument. The actually available list of handlers is displayed by invoking phpinfo() or dba_handlers().


Instalação

By using the --enable-dba=shared configuration option you can build a dynamic loadable module to enable PHP for basic support of dbm-style databases. You also have to add support for at least one of the following handlers by specifying the --with-XXXX or --enable-XXXX configure switch to your PHP configure line.

Aviso

After configuring and compiling PHP you must execute the following test from commandline: php run-tests.php ext/dba. This shows whether your combination of handlers works. Most problematic are dbm and ndbm which conflict with many installations. The reason for this is that on several systems these libraries are part of more than one other library. The configuration test only prevents you from configuring malfunctioning single handlers but not combinations.

Supported DBA handlers
Handler | Configure Switch
dbm

To enable support for dbm add --with-dbm[=DIR].

Nota:

dbm normally is a wrapper which often results in failures. This means you should only use dbm if you are sure it works and if you really need this format.

ndbm

To enable support for ndbm add --with-ndbm[=DIR].

Nota:

ndbm normally is a wrapper which often results in failures. This means you should only use ndbm if you are sure it works and if you really need this format.

gdbm | To enable support for gdbm add --with-gdbm[=DIR].
db2

To enable support for Oracle Berkeley DB 2 add --with-db2[=DIR].

Nota:

db2 conflicts with db3 and db4.

db3

To enable support for Oracle Berkeley DB 3 add --with-db3[=DIR].

Nota:

db3 conflicts with db2 and db4.

db4

To enable support for Oracle Berkeley DB 4 or 5 add --with-db4[=DIR].

Nota:

db4 conflicts with db2 and db3.

Nota:

The db libraries with versions 4.1 through 4.1.24 cannot be used in any PHP version.

Support for BDB 5 was added in PHP 5.3.3.

cdb

To enable support for cdb add --with-cdb[=DIR].

Nota:

You can omit DIR to use the bundled cdb library that adds the cdb_make handler which allows creation of cdb files and allows to access cdb files on the network using PHP's streams.

flatfile

To enable support for flatfile add --enable-flatfile. Before PHP 5.2.1 the --with-flatfile had to be used instead.

Nota:

This was added to add compatibility with deprecated dbm extension. Use this handler only when you cannot install one of the libraries required by the other handlers and when you cannot use bundled cdb handler.

inifile

To enable support for inifile add --enable-inifile. Before PHP 5.2.1 the --with-inifile had to be used instead.

Nota:

This was added to allow to read and set microsoft style .ini files (like the php.ini file).

qdbm

To enable support for qdbm add --with-qdbm[=DIR].

Nota:

qdbm conflicts with dbm and gdbm.

Nota:

The qdbm library can be downloaded from » http://fallabs.com/qdbm/index.html.

tcadb

To enable support for Tokyo Cabinet add --with-tcadb[=DIR].

Nota:

This was added in PHP 5.4.0. The Tokyo Cabinet library can be downloaded from » http://fallabs.com/tokyocabinet/.

lmdb

To enable support for the Lightning Memory-Mapped Database add --with-lmdb[=DIR].

Nota:

This was added in PHP 7.2.0. The Lightning Memory-Mapped Database library can be downloaded from » https://symas.com/lmdb/.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

DBA Opções de Configuração
Nome | Padrão | Modificável | Changelog
dba.default_handler | DBA_DEFAULT | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

dba.default_handler string

The name of the default handler


Tipos de Recurso

The functions dba_open() and dba_popen() return a handle to the specified database file to access which is used by all other dba-function calls.


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • DBA
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


  • « Constantes pré-definidas
  • Basic usage »
  • PHP Manual
  • DBA
  • Exemplos

Exemplos

Índice

  • Basic usage


Basic usage

Exemplo #1 DBA example

<?php

$id = dba_open("/tmp/test.db", "n", "db2");

if (!$id) {
    echo "dba_open failed\n";
    exit;
}

dba_replace("key", "This is an example!", $id);

if (dba_exists("key", $id)) {
    echo dba_fetch("key", $id);
    dba_delete("key", $id);
}

dba_close($id);
?>

DBA is binary safe and does not have any arbitrary limits. However, it inherits all limits set by the underlying database implementation.

All file-based databases must provide a way of setting the file mode of a new created database, if that is possible at all. The file mode is commonly passed as the fourth argument to dba_open() or dba_popen().

You can access all entries of a database in a linear way by using the dba_firstkey() and dba_nextkey() functions. You may not change the database while traversing it.

Exemplo #2 Traversing a database

<?php

// ...open database...

$key = dba_firstkey($id);

while ($key !== false) {
    if (true) {          // remember the key to perform some action later
        $handle_later[] = $key;
    }
    $key = dba_nextkey($id);
}

foreach ($handle_later as $val) {
    dba_delete($val, $id);
}

?>


DBA Funções

Índice

  • dba_close — Close a DBA database
  • dba_delete — Delete DBA entry specified by key
  • dba_exists — Check whether key exists
  • dba_fetch — Fetch data specified by key
  • dba_firstkey — Fetch first key
  • dba_handlers — List all the handlers available
  • dba_insert — Insert entry
  • dba_key_split — Splits a key in string representation into array representation
  • dba_list — List all open database files
  • dba_nextkey — Fetch next key
  • dba_open — Open database
  • dba_optimize — Optimize database
  • dba_popen — Open database persistently
  • dba_replace — Replace or insert entry
  • dba_sync — Synchronize database


Close a DBA database

  • « DBA Funções
  • dba_delete »
  • PHP Manual
  • DBA Funções
  • Close a DBA database

dba_close

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_close — Close a DBA database

Descrição

dba_close ( resource $dba ) : void

dba_close() closes the established database and frees all resources of the specified database handle.

Parâmetros

dba

The database handler, returned by dba_open() or dba_popen().

Valor Retornado

Não há valor retornado.

Veja Também

  • dba_open() - Open database
  • dba_popen() - Open database persistently


Delete DBA entry specified by key

  • « dba_close
  • dba_exists »
  • PHP Manual
  • DBA Funções
  • Delete DBA entry specified by key

dba_delete

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_delete — Delete DBA entry specified by key

Descrição

dba_delete ( string|array $key , resource $dba ) : bool

dba_delete() deletes the specified entry from the database.

Parâmetros

key

The key of the entry which is deleted.

dba

The database handler, returned by dba_open() or dba_popen().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • dba_exists() - Check whether key exists
  • dba_fetch() - Fetch data specified by key
  • dba_insert() - Insert entry
  • dba_replace() - Replace or insert entry


Check whether key exists

  • « dba_delete
  • dba_fetch »
  • PHP Manual
  • DBA Funções
  • Check whether key exists

dba_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_exists — Check whether key exists

Descrição

dba_exists ( string|array $key , resource $dba ) : bool

dba_exists() checks whether the specified key exists in the database.

Parâmetros

key

The key the check is performed for.

dba

The database handler, returned by dba_open() or dba_popen().

Valor Retornado

Returns true if the key exists, false otherwise.

Veja Também

  • dba_delete() - Delete DBA entry specified by key
  • dba_fetch() - Fetch data specified by key
  • dba_insert() - Insert entry
  • dba_replace() - Replace or insert entry


Fetch data specified by key

  • « dba_exists
  • dba_firstkey »
  • PHP Manual
  • DBA Funções
  • Fetch data specified by key

dba_fetch

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_fetch — Fetch data specified by key

Descrição

dba_fetch ( string $key , resource $handle ) : string
dba_fetch ( string $key , int $skip , resource $handle ) : string

dba_fetch() fetches the data specified by key from the database specified with handle.

Parâmetros

key

The key the data is specified by.

Nota:

When working with inifiles this function accepts arrays as keys where index 0 is the group and index 1 is the value name. See: dba_key_split().

skip

The number of key-value pairs to ignore when using cdb databases. This value is ignored for all other databases which do not support multiple keys with the same name.

handle

The database handler, returned by dba_open() or dba_popen().

Valor Retornado

Returns the associated string if the key/data pair is found, false otherwise.

Veja Também

  • dba_exists() - Check whether key exists
  • dba_delete() - Delete DBA entry specified by key
  • dba_insert() - Insert entry
  • dba_replace() - Replace or insert entry
  • dba_key_split() - Splits a key in string representation into array representation


Fetch first key

  • « dba_fetch
  • dba_handlers »
  • PHP Manual
  • DBA Funções
  • Fetch first key

dba_firstkey

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_firstkey — Fetch first key

Descrição

dba_firstkey ( resource $dba ) : string|false

dba_firstkey() returns the first key of the database and resets the internal key pointer. This permits a linear search through the whole database.

Parâmetros

dba

The database handler, returned by dba_open() or dba_popen().

Valor Retornado

Returns the key on success ou false em caso de falha.

Veja Também

  • dba_nextkey() - Fetch next key
  • dba_key_split() - Splits a key in string representation into array representation
  • Example 2 in the DBA examples


List all the handlers available

  • « dba_firstkey
  • dba_insert »
  • PHP Manual
  • DBA Funções
  • List all the handlers available

dba_handlers

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

dba_handlers — List all the handlers available

Descrição

dba_handlers ( bool $full_info = false ) : array

dba_handlers() list all the handlers supported by this extension.

Parâmetros

full_info

Turns on/off full information display in the result.

Valor Retornado

Returns an array of database handlers. If full_info is set to true, the array will be associative with the handlers names as keys, and their version information as value. Otherwise, the result will be an indexed array of handlers names.

Nota:

When the internal cdb library is used you will see cdb and cdb_make.

Exemplos

Exemplo #1 dba_handlers() Example

<?php

echo "Available DBA handlers:\n";
foreach (dba_handlers(true) as $handler_name => $handler_version) {
  // clean the versions
  $handler_version = str_replace('$', '', $handler_version);
  echo " - $handler_name: $handler_version\n";
}

?>

O exemplo acima irá imprimir algo similar à:

Available DBA handlers:
 - cdb: 0.75, Revision: 1.3.2.3
 - cdb_make: 0.75, Revision: 1.2.2.4
 - db2: Sleepycat Software: Berkeley DB 2.7.7: (08/20/99)
 - inifile: 1.0, Revision: 1.6.2.3
 - flatfile: 1.0, Revision: 1.5.2.4


Insert entry

  • « dba_handlers
  • dba_key_split »
  • PHP Manual
  • DBA Funções
  • Insert entry

dba_insert

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_insert — Insert entry

Descrição

dba_insert ( string|array $key , string $value , resource $dba ) : bool

dba_insert() inserts the entry described with key and value into the database.

Parâmetros

key

The key of the entry to be inserted. If this key already exist in the database, this function will fail. Use dba_replace() if you need to replace an existent key.

value

The value to be inserted.

dba

The database handler, returned by dba_open() or dba_popen().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • dba_exists() - Check whether key exists
  • dba_delete() - Delete DBA entry specified by key
  • dba_fetch() - Fetch data specified by key
  • dba_replace() - Replace or insert entry


Splits a key in string representation into array representation

  • « dba_insert
  • dba_list »
  • PHP Manual
  • DBA Funções
  • Splits a key in string representation into array representation

dba_key_split

(PHP 5, PHP 7, PHP 8)

dba_key_split — Splits a key in string representation into array representation

Descrição

dba_key_split ( string|false|null $key ) : array|false

dba_key_split() splits a key (string representation) into an array representation.

Parâmetros

key

The key in string representation.

Valor Retornado

Returns an array of the form array(0 => group, 1 => value_name). This function will return false if key is null or false.

Veja Também

  • dba_firstkey() - Fetch first key
  • dba_nextkey() - Fetch next key
  • dba_fetch() - Fetch data specified by key


List all open database files

  • « dba_key_split
  • dba_nextkey »
  • PHP Manual
  • DBA Funções
  • List all open database files

dba_list

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

dba_list — List all open database files

Descrição

dba_list ( ) : array

dba_list() list all open database files.

Valor Retornado

An associative array, in the form resourceid => filename.


Fetch next key

  • « dba_list
  • dba_open »
  • PHP Manual
  • DBA Funções
  • Fetch next key

dba_nextkey

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_nextkey — Fetch next key

Descrição

dba_nextkey ( resource $dba ) : string|false

dba_nextkey() returns the next key of the database and advances the internal key pointer.

Parâmetros

dba

The database handler, returned by dba_open() or dba_popen().

Valor Retornado

Returns the key on success ou false em caso de falha.

Veja Também

  • dba_firstkey() - Fetch first key
  • dba_key_split() - Splits a key in string representation into array representation
  • Example 2 in the DBA examples


Open database

  • « dba_nextkey
  • dba_optimize »
  • PHP Manual
  • DBA Funções
  • Open database

dba_open

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_open — Open database

Descrição

dba_open ( string $path , string $mode , string $handler = ? , string ...$args ) : resource|false

dba_open() establishes a database instance for path with mode using handler.

Parâmetros

path

Commonly a regular path in your filesystem.

mode

It is r for read access, w for read/write access to an already existing database, c for read/write access and database creation if it doesn't currently exist, and n for create, truncate and read/write access. The database is created in BTree mode, other modes (like Hash or Queue) are not supported.

Additionally you can set the database lock method with the next char. Use l to lock the database with a .lck file or d to lock the databasefile itself. It is important that all of your applications do this consistently.

If you want to test the access and do not want to wait for the lock you can add t as third character. When you are absolutely sure that you do not require database locking you can do so by using - instead of l or d. When none of d, l or - is used, dba will lock on the database file as it would with d.

Nota:

There can only be one writer for one database file. When you use dba on a web server and more than one request requires write operations they can only be done one after another. Also read during write is not allowed. The dba extension uses locks to prevent this. See the following table:

DBA locking
already open | mode = "rl" | mode = "rlt" | mode = "wl" | mode = "wlt" | mode = "rd" | mode = "rdt" | mode = "wd" | mode = "wdt"
not open | ok | ok | ok | ok | ok | ok | ok | ok
mode = "rl" | ok | ok | wait | false | illegal | illegal | illegal | illegal
mode = "wl" | wait | false | wait | false | illegal | illegal | illegal | illegal
mode = "rd" | illegal | illegal | illegal | illegal | ok | ok | wait | false
mode = "wd" | illegal | illegal | illegal | illegal | wait | false | wait | false
  • ok: the second call will be successfull.
  • wait: the second call waits until dba_close() is called for the first.
  • false: the second call returns false.
  • illegal: you must not mix "l" and "d" modifiers for mode parameter.

handler

The name of the handler which shall be used for accessing path. It is passed all optional parameters given to dba_open() and can act on behalf of them.

args

Optional string parameters which are passed to the driver.

The cdb, cdb_make, flatfile, inifile, qdbm and tcadb drivers do not support additional parameters.

The db1, db2, db3, db4, dbm, gdbm, and ndbm drivers supports a single additional parameter $filemode, which has the same meaning as the $mode parameter of chmod(), and defaults to 0644.

The lmdb driver accepts two additional parameters. The first allows to specify the $filemode (see description above), and the second to specify the $mapsize, where the value should be a multiple of the page size of the OS, or zero, to use the default mapsize. The $mapsize parameter is supported as of PHP 7.3.14 and 7.4.2, respectively.

Valor Retornado

Returns a positive handle on success ou false em caso de falha.

Changelog

Versão | Descrição
7.3.14, 7.4.2 | The lmdb driver now supports an additional $mapsize parameter.

Veja Também

  • dba_popen() - Open database persistently
  • dba_close() - Close a DBA database


Optimize database

  • « dba_open
  • dba_popen »
  • PHP Manual
  • DBA Funções
  • Optimize database

dba_optimize

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_optimize — Optimize database

Descrição

dba_optimize ( resource $dba ) : bool

dba_optimize() optimizes the underlying database.

Parâmetros

dba

The database handler, returned by dba_open() or dba_popen().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • dba_sync() - Synchronize database


Open database persistently

  • « dba_optimize
  • dba_replace »
  • PHP Manual
  • DBA Funções
  • Open database persistently

dba_popen

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_popen — Open database persistently

Descrição

dba_popen ( string $path , string $mode , string $handler = ? , mixed ...$args ) : resource|false

dba_popen() establishes a persistent database instance for path with mode using handler.

Parâmetros

path

Commonly a regular path in your filesystem.

mode

It is r for read access, w for read/write access to an already existing database, c for read/write access and database creation if it doesn't currently exist, and n for create, truncate and read/write access.

handler

The name of the handler which shall be used for accessing path. It is passed all optional parameters given to dba_popen() and can act on behalf of them.

args

Optional string parameters which are passed to the driver.

The cdb, cdb_make, flatfile, inifile, qdbm and tcadb drivers do not support additional parameters.

The db1, db2, db3, db4, dbm, gdbm, and ndbm drivers supports a single additional parameter $filemode, which has the same meaning as the $mode parameter of chmod(), and defaults to 0644.

The lmdb driver accepts two additional parameters. The first allows to specify the $filemode (see description above), and the second to specify the $mapsize, where the value should be a multiple of the page size of the OS, or zero, to use the default mapsize. The $mapsize parameter is supported as of PHP 7.3.14 and 7.4.2, respectively.

Valor Retornado

Returns a positive handle on success ou false em caso de falha.

Veja Também

  • dba_open() - Open database
  • dba_close() - Close a DBA database


Replace or insert entry

  • « dba_popen
  • dba_sync »
  • PHP Manual
  • DBA Funções
  • Replace or insert entry

dba_replace

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_replace — Replace or insert entry

Descrição

dba_replace ( string|array $key , string $value , resource $dba ) : bool

dba_replace() replaces or inserts the entry described with key and value into the database specified by dba.

Parâmetros

key

The key of the entry to be replaced.

value

The value to be replaced.

dba

The database handler, returned by dba_open() or dba_popen().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • dba_exists() - Check whether key exists
  • dba_delete() - Delete DBA entry specified by key
  • dba_fetch() - Fetch data specified by key
  • dba_insert() - Insert entry


Synchronize database

  • « dba_replace
  • ODBC »
  • PHP Manual
  • DBA Funções
  • Synchronize database

dba_sync

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_sync — Synchronize database

Descrição

dba_sync ( resource $dba ) : bool

dba_sync() synchronizes the database. This will probably trigger a physical write to the disk, if supported.

Parâmetros

dba

The database handler, returned by dba_open() or dba_popen().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • dba_optimize() - Optimize database


ODBC

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • ODBC Unificado
    • odbc_autocommit — Modifica o funcionamento do autocommit
    • odbc_binmode — Manipulação de uma coluna com dados binários
    • odbc_close_all — Fecha todas as conexões ODBC
    • odbc_close — Fecha uma conexão ODBC
    • odbc_columnprivileges — Retorna um identificador de resultado que pode ser usado para obter uma lista das colunas e seus privilégios associados
    • odbc_columns — Lista os nomes das colunas na tabela especificada
    • odbc_commit — Grava uma transação ODBC
    • odbc_connect — Conecta com uma fonte de dados
    • odbc_cursor — Obtém o nome do cursor
    • odbc_data_source — Retorna informação sobre a conexão atual
    • odbc_do — Sinônimo de odbc_exec
    • odbc_error — Obtém o último código de erro
    • odbc_errormsg — Obtém a última mensagem de erro
    • odbc_exec — Prepara e executa um comando SQL
    • odbc_execute — Executa um comando preparado
    • odbc_fetch_array — Obtém uma linha do resultado como uma array associativa
    • odbc_fetch_into — Obtém uma linha do conjunto de resultados como uma matriz
    • odbc_fetch_object — Obtém um conjunto de resultados como um objeto
    • odbc_fetch_row — Obtém uma linha
    • odbc_field_len — Obtém o tamanho (precisão) de um campo
    • odbc_field_name — Obtém o nome da coluna
    • odbc_field_num — Retorna o número da coluna
    • odbc_field_precision — Sinônimo de odbc_field_len
    • odbc_field_scale — Obtém a precisão de um campo
    • odbc_field_type — Tipo de dados de um campo
    • odbc_foreignkeys — Retorna uma lista de chaves estrangeiras na tabela especificada ou uma lista de chaves estrangeiras em outras tabelas que se referem a chave primária na tabela especificada
    • odbc_free_result — Libera os recursos associados a um resultado
    • odbc_gettypeinfo — Retorna um identificador de resultados contendo informações sobre os tipos de dados suportados pela fonte de dados
    • odbc_longreadlen — Manipulação de colunas LONG
    • odbc_next_result — Confere se resultados múltiplos estão disponíveis
    • odbc_num_fields — Número de colunas em um resultado
    • odbc_num_rows — Número de linhas em um resultado
    • odbc_pconnect — Abre uma conexão persistente com o servidor de banco de dados
    • odbc_prepare — Prepara um comando para execução
    • odbc_primarykeys — Obtém a chave primária de uma tabela
    • odbc_procedurecolumns — Obtém informações sobre parâmetros para procedures
    • odbc_procedures — Obtém a lista de procedures guadadas na fonte de dados especificada.
    • odbc_result_all — Mostra o resultado como uma tabela HTML
    • odbc_result — Obtém dados do resultado
    • odbc_rollback — Desfaz uma transação
    • odbc_setoption — Ajusta definições ODBC
    • odbc_specialcolumns — Retorna um conjunto de colunas que identificam de modo único uma linha na tabela ou as colunas que são automaticamente atualizadas quando qualquer valor na linha é atualizado por uma transação.
    • odbc_statistics — Obtém estatisticas sobre uma tabela
    • odbc_tableprivileges — Lista tabelas e os privilégios associados a cada tabela
    • odbc_tables — Obtém uma lista dos nomes das tabelas guardadas em uma fonte de dados especificado


Introdução

Em adição ao suporte ODBC normal, as funções de ODBC Unificadas no PHP permitem que você acesse vários bancos de dados que emprestaram a semântica da API do ODBC para implementer a sua própria API. Ao invés de manter múltiplos drivers de banco de dados que são todos praticamente identicos, estes drivers foram unificados em um único conjunto de funções ODBC.

Os seguintes bancos de dados são suportados pelas funções de OBDC Unificado: » Adabas D, » IBM DB2, » iODBC, » Solid, e » Sybase SQL Anywhere.

Nota:

Com a excessão de iODBC, não existe ODBC involvido ao conectar aos bancos de dados acima. As funções que você usa para conversar nativamente com eles apenas compartilham os mesmos nomes e sintaxe das funções ODBC. Entretanto, compilar o PHP com suporte a iODBC permite a você usar qualquer dirver compatível com ODBC nas suas aplicações PHP. Maiores informações sobre iODBC, estão disponíveis em » www.iodbc.org com a alternativa unixODBC disponível em » www.unixodbc.org.


Dependências

Para acessar qualquer dos bancos de dados suportados você precisa ter as bibliotecas necessárias instaladas.


Instalação

--with-adabas[=DIR]

Inclui suporte a Adabas D. DIR é o diretório base da instalação do Adabas, o padrão é /usr/local.

--with-sapdb[=DIR]

Inclui suporte a SAP DB. DIR é o diretório base SAP DB, o padrão é /usr/local.

--with-solid[=DIR]

Inclui o suporte Solid. DIR é o diretório base da instalação Solid, o padrão é /usr/local/solid.

--with-ibm-db2[=DIR]

Inclui suporte ao IBM DB2. DIR é o diretório base da instalaçação do DB2, o padrão é /home/db2inst1/sqllib.

--with-empress[=DIR]

Inclui suporte a Empress. DIR é o diretório base da instalação do Empress, o padrão é $EMPRESSPATH. A partir do PHP4, esta opção suporta apenas o Empress Versão 8.60 e posterior.

--with-empress-bcs[=DIR]

Inclui suporte a Empress Local Access. DIR é o diretório base da instalação do Empress, o padrão é $EMPRESSPATH. A partir do PHP4, esta opção suporta apenas o Empress Version 8.60 e posterior.

--with-birdstep[=DIR]

Inclui suporte Birdstep. DIR é o diretório base da instalação do Birdstep, o padrão é /usr/local/birdstep.

--with-custom-odbc[=DIR]

Inclui um suporte ODBC definido pelo usuário. DIR é o diretório base da instalação do ODBC, o padrão é /usr/local. Tenha certeza de definir CUSTOM_ODBC_LIBS e ter algum odbc.h nos seus diretórios de inclusão. Ex., você deve definir o seguinte para Sybase SQL Anywhere 5.5.00 no QNX, antes de executar o script configure:

   CPPFLAGS="-DODBC_QNX -DSQLANY_BUG"
   LDFLAGS=-lunix
   CUSTOM_ODBC_LIBS="-ldblib -lodbc".

--with-iodbc[=DIR]

Inclui o suporte a iODBC. DIR é o diretório base da instalação do iODBC, o pardrão é /usr/local.

--with-esoob[=DIR]

Inclui suporte a Easysoft OOB. DIR é o diretório base da instalação OOB, o padrão é /usr/local/easysoft/oob/client.

--with-unixODBC[=DIR]

Inclui suporte a unixODBC. DIR é o diretório base da instalação unixODBC, o padrão é /usr/local.

--with-openlink[=DIR]

Inclui suporte a OpenLink ODBC. DIR é o diretório base da instalação do OpenLink, o padrão é /usr/local. Este é o mesmo que iODBC.

--with-dbmaker[=DIR]

Inclui suporte a DBMaker. DIR é o diretório base da instalação do DBMaker, o padrão é para onde a versão mais recente do DBMaker esteja instalada (algo como /home/dbmaker/3.6).

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de Configuração do ODBC Unificado
Nome | Padrão | Modificável | Changelog
odbc.default_db * | NULL | PHP_INI_ALL |
odbc.default_user * | NULL | PHP_INI_ALL |
odbc.default_pw * | NULL | PHP_INI_ALL |
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.defaultbinmode | "1" | PHP_INI_ALL |

Nota: Entradas marcadas com * ainda não estão implementadas.

Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

odbc.default_db string

Fonte de dados ODBC se nenhuma for especificada em odbc_connect() ou odbc_pconnect().

odbc.default_user string

Nome de usuário se nenhum for especificado em odbc_connect() ou odbc_pconnect().

odbc.default_pw string

Senha para usar se nenhuma for especificada em odbc_connect() ou odbc_pconnect().

odbc.allow_persistent boolean

Quando permitir conexões ODBC persistentes.

odbc.check_persistent boolean

Conferir que a conexão ainda seja válida antes de reutilizar.

odbc.max_persistent integer

O número máximo de conexões ODBC persistentes por processo.

odbc.max_links integer

O número máximo de conexões ODBC por processo, incluindo as conexões persistentes.

odbc.defaultlrl integer

Manipulação de campos LONG. Especifica o número de bytes retornados para as variáveis.

odbc.defaultbinmode integer

Manipulação de dados binários.


Tipos de Recurso

Esta extensão define dois tipos resource: uma identificador de conexão ODBC e um identificador de resultado ODBC.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

ODBC_TYPE (integer)
ODBC_BINMODE_PASSTHRU (integer)
ODBC_BINMODE_RETURN (integer)
ODBC_BINMODE_CONVERT (integer)
SQL_ODBC_CURSORS (integer)
SQL_CUR_USE_DRIVER (integer)
SQL_CUR_USE_IF_NEEDED (integer)
SQL_CUR_USE_ODBC (integer)
SQL_CONCURRENCY (integer)
SQL_CONCUR_READ_ONLY (integer)
SQL_CONCUR_LOCK (integer)
SQL_CONCUR_ROWVER (integer)
SQL_CONCUR_VALUES (integer)
SQL_CURSOR_TYPE (integer)
SQL_CURSOR_FORWARD_ONLY (integer)
SQL_CURSOR_KEYSET_DRIVEN (integer)
SQL_CURSOR_DYNAMIC (integer)
SQL_CURSOR_STATIC (integer)
SQL_KEYSET_SIZE (integer)
SQL_CHAR (integer)
SQL_VARCHAR (integer)
SQL_LONGVARCHAR (integer)
SQL_DECIMAL (integer)
SQL_NUMERIC (integer)
SQL_BIT (integer)
SQL_TINYINT (integer)
SQL_SMALLINT (integer)
SQL_INTEGER (integer)
SQL_BIGINT (integer)
SQL_REAL (integer)
SQL_FLOAT (integer)
SQL_DOUBLE (integer)
SQL_BINARY (integer)
SQL_VARBINARY (integer)
SQL_LONGVARBINARY (integer)
SQL_DATE (integer)
SQL_TIME (integer)
SQL_TIMESTAMP (integer)
SQL_TYPE_DATE (integer)
SQL_TYPE_TIME (integer)
SQL_TYPE_TIMESTAMP (integer)
SQL_BEST_ROWID (integer)
SQL_ROWVER (integer)
SQL_SCOPE_CURROW (integer)
SQL_SCOPE_TRANSACTION (integer)
SQL_SCOPE_SESSION (integer)
SQL_NO_NULLS (integer)
SQL_NULLABLE (integer)
SQL_INDEX_UNIQUE (integer)
SQL_INDEX_ALL (integer)
SQL_ENSURE (integer)
SQL_QUICK (integer)


ODBC Unificado

Índice

  • odbc_autocommit — Modifica o funcionamento do autocommit
  • odbc_binmode — Manipulação de uma coluna com dados binários
  • odbc_close_all — Fecha todas as conexões ODBC
  • odbc_close — Fecha uma conexão ODBC
  • odbc_columnprivileges — Retorna um identificador de resultado que pode ser usado para obter uma lista das colunas e seus privilégios associados
  • odbc_columns — Lista os nomes das colunas na tabela especificada
  • odbc_commit — Grava uma transação ODBC
  • odbc_connect — Conecta com uma fonte de dados
  • odbc_cursor — Obtém o nome do cursor
  • odbc_data_source — Retorna informação sobre a conexão atual
  • odbc_do — Sinônimo de odbc_exec
  • odbc_error — Obtém o último código de erro
  • odbc_errormsg — Obtém a última mensagem de erro
  • odbc_exec — Prepara e executa um comando SQL
  • odbc_execute — Executa um comando preparado
  • odbc_fetch_array — Obtém uma linha do resultado como uma array associativa
  • odbc_fetch_into — Obtém uma linha do conjunto de resultados como uma matriz
  • odbc_fetch_object — Obtém um conjunto de resultados como um objeto
  • odbc_fetch_row — Obtém uma linha
  • odbc_field_len — Obtém o tamanho (precisão) de um campo
  • odbc_field_name — Obtém o nome da coluna
  • odbc_field_num — Retorna o número da coluna
  • odbc_field_precision — Sinônimo de odbc_field_len
  • odbc_field_scale — Obtém a precisão de um campo
  • odbc_field_type — Tipo de dados de um campo
  • odbc_foreignkeys — Retorna uma lista de chaves estrangeiras na tabela especificada ou uma lista de chaves estrangeiras em outras tabelas que se referem a chave primária na tabela especificada
  • odbc_free_result — Libera os recursos associados a um resultado
  • odbc_gettypeinfo — Retorna um identificador de resultados contendo informações sobre os tipos de dados suportados pela fonte de dados
  • odbc_longreadlen — Manipulação de colunas LONG
  • odbc_next_result — Confere se resultados múltiplos estão disponíveis
  • odbc_num_fields — Número de colunas em um resultado
  • odbc_num_rows — Número de linhas em um resultado
  • odbc_pconnect — Abre uma conexão persistente com o servidor de banco de dados
  • odbc_prepare — Prepara um comando para execução
  • odbc_primarykeys — Obtém a chave primária de uma tabela
  • odbc_procedurecolumns — Obtém informações sobre parâmetros para procedures
  • odbc_procedures — Obtém a lista de procedures guadadas na fonte de dados especificada.
  • odbc_result_all — Mostra o resultado como uma tabela HTML
  • odbc_result — Obtém dados do resultado
  • odbc_rollback — Desfaz uma transação
  • odbc_setoption — Ajusta definições ODBC
  • odbc_specialcolumns — Retorna um conjunto de colunas que identificam de modo único uma linha na tabela ou as colunas que são automaticamente atualizadas quando qualquer valor na linha é atualizado por uma transação.
  • odbc_statistics — Obtém estatisticas sobre uma tabela
  • odbc_tableprivileges — Lista tabelas e os privilégios associados a cada tabela
  • odbc_tables — Obtém uma lista dos nomes das tabelas guardadas em uma fonte de dados especificado


Modifica o funcionamento do autocommit

  • « ODBC Unificado
  • odbc_binmode »
  • PHP Manual
  • ODBC Unificado
  • Modifica o funcionamento do autocommit

odbc_autocommit

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_autocommit — Modifica o funcionamento do autocommit

Descrição

odbc_autocommit ( resource $connection_id , bool $OnOff = ? ) : mixed

Modifica o comportamento do autocommit.

Por padrão. o auto-commit esta em on para a conexão. Desabilitar o auto-commit é equivalente a começar uma transação.

Parâmetros

connection_id

O identificador de conexão.

OnOff

Se OnOff é true, auto-commit é habilitado, se é false auto-commit é desabilitado.

Valor Retornado

Sem o parâmetro OnOff, esta função retorna status do auto-commit para connection_id. Valor diferente de zero retorna se auto-commit está on, 0 se ele está off, ou false se um erro ocorrer.

Se OnOff é definido, esta função retorna true em sucesso e false em falha.

Veja Também

  • odbc_commit() - Grava uma transação ODBC
  • odbc_rollback() - Desfaz uma transação


Manipulação de uma coluna com dados binários

  • « odbc_autocommit
  • odbc_close_all »
  • PHP Manual
  • ODBC Unificado
  • Manipulação de uma coluna com dados binários

odbc_binmode

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_binmode — Manipulação de uma coluna com dados binários

Descrição

odbc_binmode ( resource $result_id , int $mode ) : bool

Habilita o manuseamento de coluna de dados binários. Tipos ODBC SQL afetados são BINARY, VARBINARY, e LONGVARBINARY.

Quando dados binários SQL são convertidos para dados de caractere C, cada (8 bits) dos dados da fonte são representados como dois caracteres ASCII. Estes caracteres são a representação em caracteres ASCII do número em sua forma hexadecimal. por exemplo, um binário 00000001 é convertido para "01" e um binário 11111111 é convertido para "FF".

Manipulando LONGVARBINARY
binmode | longreadlen | result
ODBC_BINMODE_PASSTHRU | 0 | passthru
ODBC_BINMODE_RETURN | 0 | passthru
ODBC_BINMODE_CONVERT | 0 | passthru
ODBC_BINMODE_PASSTHRU | 0 | passthru
ODBC_BINMODE_PASSTHRU | >0 | passthru
ODBC_BINMODE_RETURN | >0 | retorna como esta
ODBC_BINMODE_CONVERT | >0 | retorna como char

Se odbc_fetch_into() é usada, passthru indica que uma string vazia é retornada para estas colunas.

Parâmetros

result_id

The result identifier.

Se result_id for 0, as definições aplicam-se como padrão para novos resultados.

Nota: O padrão para longreadlen e 4096 e mode padrão para ODBC_BINMODE_RETURN. A manipulação de colunas binary long também é afetada por odbc_longreadlen().

mode

Possíveis valores para mode são:

  • ODBC_BINMODE_PASSTHRU: Passthru BINARY data
  • ODBC_BINMODE_RETURN: Retorna como é
  • ODBC_BINMODE_CONVERT: Converte para char e retorna

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Fecha todas as conexões ODBC

  • « odbc_binmode
  • odbc_close »
  • PHP Manual
  • ODBC Unificado
  • Fecha todas as conexões ODBC

odbc_close_all

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_close_all — Fecha todas as conexões ODBC

Descrição

odbc_close_all ( ) : void

odbc_close_all() irá fechar todas as conexões para os servidores de banco de dados.

Valor Retornado

Não há valor retornado.

Notas

Nota:

Esta função irá falhar se houverem transações abertas na conexão. Neste caso a conexão permanecerá aberta.


Fecha uma conexão ODBC

  • « odbc_close_all
  • odbc_columnprivileges »
  • PHP Manual
  • ODBC Unificado
  • Fecha uma conexão ODBC

odbc_close

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_close — Fecha uma conexão ODBC

Descrição

odbc_close ( resource $connection_id ) : void

Fecha a conexão com o servidor de banco de dados.

Parâmetros

connection_id

O identificador de conexão.

Valor Retornado

Não há valor retornado.

Notas

Nota:

Esta função irá falhar se houverem transações abertas nesta conexão. A conexão permanecerá aberta neste caso.


Retorna um identificador de resultado que pode ser usado para obter uma lista das colunas e seus privilégios associados

  • « odbc_close
  • odbc_columns »
  • PHP Manual
  • ODBC Unificado
  • Retorna um identificador de resultado que pode ser usado para obter uma lista das colunas e seus privilégios associados

odbc_columnprivileges

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_columnprivileges — Retorna um identificador de resultado que pode ser usado para obter uma lista das colunas e seus privilégios associados

Descrição

odbc_columnprivileges ( resource $connection_id , string $qualifier , string $owner , string $table_name , string $column_name ) : resource

Lista colunas e os privilégios associados a tabela indicada.

Parâmetros

connection_id

O identificador de conexão.

qualifier

O quantificador.

owner

O proprietário.

table_name

O nome da tabela.

column_name

O argumento column_name aceita padrões de busca ('%' para casar zero ou mais caracteres e '_' para casa um único caractere).

The owner, table_name, and column_name accept search patterns ('%' to match zero or more characters and '_' to match a single character).

Valor Retornado

Retorna um identificador de resultado ODBC ou false em erro. Este identificador de resultado pode ser usado para obter uma lista de colunas e seus privilégios.

O conjunto de resultados tem as seguintes colunas:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE

O conjunto de resultados é ordenado por TABLE_QUALIFIER, TABLE_OWNER e TABLE_NAME.


Lista os nomes das colunas na tabela especificada

  • « odbc_columnprivileges
  • odbc_commit »
  • PHP Manual
  • ODBC Unificado
  • Lista os nomes das colunas na tabela especificada

odbc_columns

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_columns — Lista os nomes das colunas na tabela especificada

Descrição

odbc_columns ( resource $connection_id , string $qualifier = ? , string $schema = ? , string $table_name = ? , string $column_name = ? ) : resource

Lista todas as colunas no intervalo requerido.

Parâmetros

connection_id

O identificador de conexão.

qualifier

O quantificador.

schema

The owner.

table_name

O nome da tabela.

column_name

O nome da coluna.

O schema, table_name, e column_name aceitam padrões de busca ('%' para casar zero ou mais caracteres e '_' para casar um único caractere).

Valor Retornado

Retorna um identificador de resultado ODBC ou false em erro.

O conjunto de resultados tem as seguintes colunas:

  • TABLE_QUALIFIER
  • TABLE_SCHEM
  • TABLE_NAME
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • RADIX
  • NULLABLE
  • REMARKS

O conjunto de resultados é ordenado por TABLE_QUALIFIER, TABLE_SCHEM e TABLE_NAME.

Veja Também

  • odbc_columnprivileges() - Retorna um identificador de resultado que pode ser usado para obter uma lista das colunas e seus privilégios associados para recuperar privilégios associados


Grava uma transação ODBC

  • « odbc_columns
  • odbc_connect »
  • PHP Manual
  • ODBC Unificado
  • Grava uma transação ODBC

odbc_commit

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_commit — Grava uma transação ODBC

Descrição

odbc_commit ( resource $connection_id ) : bool

Grava todas as transações pendentes na conexão.

Parâmetros

connection_id

O identificador de conexão.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Conecta com uma fonte de dados

  • « odbc_commit
  • odbc_cursor »
  • PHP Manual
  • ODBC Unificado
  • Conecta com uma fonte de dados

odbc_connect

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_connect — Conecta com uma fonte de dados

Descrição

odbc_connect ( string $dsn , string $user , string $password , int $cursor_type = ? ) : resource

Retorna o id de uma conexão ODBC ou 0 (false) em caso de erro.

O id da conexão retornado por esta função é necessário por outras funções ODBC. Você pode ter várias conexões abertas de uma vez contando que elas usem um banco de dados ou credenciais diferentes. O quarto parâmetro, que é opcional, define o tipo de cursor para ser utilizado nesta conexão. Este parâmetro normalmente não é necessário, mas pode ser útil para contornar problemas com alguns drivers ODBC.

Com alguns drivers ODBC, executar uma stored procedure complexa pode falhar com um erro semelhante a este: "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it". Usar SQL_CUR_USE_ODBC pode previnir este erro. Também, alguns drivers não suportam o parâmetro opcional row_number em odbc_fetch_row(). SQL_CUR_USE_ODBC deve ajudar neste caso também.

As seguintes constantes são definidas para cursortype:

  • SQL_CUR_USE_IF_NEEDED
  • SQL_CUR_USE_ODBC
  • SQL_CUR_USE_DRIVER
  • SQL_CUR_DEFAULT

Para conexões persistentes veja odbc_pconnect().


Obtém o nome do cursor

  • « odbc_connect
  • odbc_data_source »
  • PHP Manual
  • ODBC Unificado
  • Obtém o nome do cursor

odbc_cursor

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_cursor — Obtém o nome do cursor

Descrição

odbc_cursor ( resource $result_id ) : string

Obtém o nome do cursor de um dado result_id.

Parâmetros

result_id

O identificador de resultado.

Valor Retornado

Retorna o nome do cursor, como uma string.


Retorna informação sobre a conexão atual

  • « odbc_cursor
  • odbc_do »
  • PHP Manual
  • ODBC Unificado
  • Retorna informação sobre a conexão atual

odbc_data_source

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

odbc_data_source — Retorna informação sobre a conexão atual

Descrição

odbc_data_source ( resource $connection_id , int $fetch_type ) : array

Esta função retornará a lista de DNS disponíveis (depois de chamando várias vezes).

Parâmetros

connection_id

O identificador de conexão.

fetch_type

O fetch_type pode ser um dos dois tipos de contantes: SQL_FETCH_FIRST, SQL_FETCH_NEXT. Use SQL_FETCH_FIRST na primeira vez que chamar a função, então depois use SQL_FETCH_NEXT.

Valor Retornado

Retorna false em erro, e um array em sucesso.


Sinônimo de odbc_exec

  • « odbc_data_source
  • odbc_error »
  • PHP Manual
  • ODBC Unificado
  • Sinônimo de odbc_exec

odbc_do

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_do — Sinônimo de odbc_exec()

Descrição

Esta função é um apelido para: odbc_exec().


Obtém o último código de erro

  • « odbc_do
  • odbc_errormsg »
  • PHP Manual
  • ODBC Unificado
  • Obtém o último código de erro

odbc_error

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

odbc_error — Obtém o último código de erro

Descrição

odbc_error ( resource $connection_id = ? ) : string

Retorna um estado ODBC de seis dígitos, ou uma string vazia se não houveram erros.

Parâmetros

connection_id

The connection identifier.

Valor Retornado

Se connection_id é especificado, o último estado desta conexão é especificado, senão o último estado de qualquer conexão.

Esta função retorna um valor significante apenas se a ultima consulta odbc falhou (ex. odbc_exec() retornou false).

Veja Também

  • odbc_errormsg() - Obtém a última mensagem de erro
  • odbc_exec() - Prepara e executa um comando SQL


Obtém a última mensagem de erro

  • « odbc_error
  • odbc_exec »
  • PHP Manual
  • ODBC Unificado
  • Obtém a última mensagem de erro

odbc_errormsg

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

odbc_errormsg — Obtém a última mensagem de erro

Descrição

odbc_errormsg ( resource $connection_id = ? ) : string

Retorna uma string contendo a última mensagem de erro do ODBC, ou uma string vazia se não houveram erros.

Parâmetros

connection_id

O identificador de conexão.

Valor Retornado

Se connection_id for especificado, o último estado desta conexão é retornado, senão a última mensagem de qualquer conexão é retornada.

Esta função retorna um valor significante apenas se a ultima consulta odbc falhou (ex. odbc_exec() retornou false).

Veja Também

  • odbc_error() - Obtém o último código de erro
  • odbc_exec() - Prepara e executa um comando SQL


Prepara e executa um comando SQL

  • « odbc_errormsg
  • odbc_execute »
  • PHP Manual
  • ODBC Unificado
  • Prepara e executa um comando SQL

odbc_exec

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_exec — Prepara e executa um comando SQL

Descrição

odbc_exec ( resource $connection_id , string $query_string , int $flags = ? ) : resource

Envia um comando SQL para o servidor de banco de dados.

Parâmetros

connection_id

O identificador da conexão.

query_string

O comando SQL.

flags

Valor Retornado

Retorna um identificador de resultado ODBC se o comando foi executado com sucesso, ou false em erro.

Veja Também

  • odbc_prepare() - Prepara um comando para execução
  • odbc_execute() - Executa um comando preparado


Executa um comando preparado

  • « odbc_exec
  • odbc_fetch_array »
  • PHP Manual
  • ODBC Unificado
  • Executa um comando preparado

odbc_execute

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_execute — Executa um comando preparado

Descrição

odbc_execute ( resource $result_id , array $parameters_array = ? ) : bool

Executa um comando preparado com odbc_prepare().

Parâmetros

result_id

The result id resource, from odbc_prepare().

parameters_array

Parâmetros em parameter_array serão substituídos por marcadores na ordem no comando preparado. Elementos desta matriz serão convertidos para strings ao chamar esta função.

Any parameters in parameter_array which start and end with single quotes will be taken as the name of a file to read and send to the database server as the data for the appropriate placeholder.

Se você quiser guardar uma string que comece e termine com aspas simples, você deve adicionar um espaço ou outro caractere que não seja aspas simples no início ou no final do parâmetro, o qual irá evitar que o parâmetro seja considerado um nome de arquivo. Se isto não for uma opção, então você deve usar outro mecanismo para guardar a string, como executar a consulta diretamente com odbc_exec().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 odbc_execute() and odbc_prepare() example

In the following code, $success will only be true if all three parameters to myproc are IN parameters:

<?php
$a = 1;
$b = 2;
$c = 3;
$stmt    = odbc_prepare($conn, 'CALL myproc(?,?,?)');
$success = odbc_execute($stmt, array($a, $b, $c));
?>

If you need to call a stored procedure using INOUT or OUT parameters, the recommended workaround is to use a native extension for your database (for example, oci8 for Oracle).

Veja Também

  • odbc_prepare() - Prepara um comando para execução


Obtém uma linha do resultado como uma array associativa

  • « odbc_execute
  • odbc_fetch_into »
  • PHP Manual
  • ODBC Unificado
  • Obtém uma linha do resultado como uma array associativa

odbc_fetch_array

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

odbc_fetch_array — Obtém uma linha do resultado como uma array associativa

Descrição

odbc_fetch_array ( resource $result , int $rownumber = ? ) : array

Obtém um array associativo de uma consulta ODBC. Veja o changelog abaixo para saber desde quando esta função esta disponível.

Parâmetros

result

O recurso de resultado de odbc_exec().

rownumber

Opcionalmente escolha o número da linha que você quer obter.

Valor Retornado

Retorna uma array que corresponde a linha obtida, ou false se não houverem mais linhas.

Changelog

Versão | Descrição
4.3.3 | Esta função existe quando compilado com suporte a IBM DB2 ou UnixODBC.
4.3.2 | Esta função existe quando compilado para Windows.
4.0.2 | Esta função existe quando compilado com suporte DBMaker.

Veja Também

  • odbc_fetch_row() - Obtém uma linha
  • odbc_fetch_object() - Obtém um conjunto de resultados como um objeto
  • odbc_num_rows() - Número de linhas em um resultado


Obtém uma linha do conjunto de resultados como uma matriz

  • « odbc_fetch_array
  • odbc_fetch_object »
  • PHP Manual
  • ODBC Unificado
  • Obtém uma linha do conjunto de resultados como uma matriz

odbc_fetch_into

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_fetch_into — Obtém uma linha do conjunto de resultados como uma matriz

Descrição

odbc_fetch_into ( resource $result_id , array &$result_array , int $rownumber = ? ) : int
odbc_fetch_into ( resource $result_id , int $rownumber = ? , array &$result_array ) : bool

Retorna o número de colunas no resultado; false em caso de erro. result_array deve ser passado por referencia, mas pode ser de qualquer tipo já que vai ser convertido para array. A matriz irá conter os valores das colunas com o índice começando em 0.

A partir do PHP 4.0.5 o parâmetro result_array não precisa mais ser passado por referencia.

A partir do PHP 4.0.6 o parâmetro rownumber não pode ser passado como uma constante, mas sim como uma variável.

A partir do PHP 4.2.0 o parâmetro result_array e rownumber foram trocados. Isto permite a rownumber poder ser uma constante novamente. Esta mudança também será a última nesta função.

Exemplo #1 Exemplo odbc_fetch_into() pré 4.0.6

<?php
$rc = odbc_fetch_into($res_id, $my_array);
?>

ou

<?php
$rc = odbc_fetch_into($res_id, $row, $my_array);

$rc = odbc_fetch_into($res_id, 1, $my_array);
?>

Exemplo #2 Exemplo odbc_fetch_into() 4.0.6

<?php
$rc = odbc_fetch_into($res_id, $my_array);
?>

ou

<?php
$row = 1;
$rc = odbc_fetch_into($res_id, $row, $my_array);
?>

Exemplo #3 Exemplo odbc_fetch_into() 4.2.0

<?php
$rc = odbc_fetch_into($res_id, $my_array);
?>

ou

<?php
$rc = odbc_fetch_into($res_id,$my_array, 2);
?>


Obtém um conjunto de resultados como um objeto

  • « odbc_fetch_into
  • odbc_fetch_row »
  • PHP Manual
  • ODBC Unificado
  • Obtém um conjunto de resultados como um objeto

odbc_fetch_object

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

odbc_fetch_object — Obtém um conjunto de resultados como um objeto

Descrição

odbc_fetch_object ( resource $result , int $rownumber = ? ) : object

Obtém um object a partir de uma consulta ODBC. Veja o changelog abaixo para ver quando esta função esta disponível.

Parâmetros

result

O recurso do resultado de odbc_exec().

rownumber

Opcionalmente escolha o número da linha a qual obter.

Valor Retornado

Retorna um objeto que corresponde a linha obitida, ou false se não houverem mais linhas.

Changelog

Versão | Descrição
4.3.3 | Esta função existe quando compilado com suporte a IBM DB2 ou UnixODBC.
4.3.2 | Esta função existe quando compilada para o Windows.
4.0.2 | Esta função existe quando compilado com suporte DBMaker.

Veja Também

  • odbc_fetch_row() - Obtém uma linha
  • odbc_fetch_array() - Obtém uma linha do resultado como uma array associativa
  • odbc_num_rows() - Número de linhas em um resultado


Obtém uma linha

  • « odbc_fetch_object
  • odbc_field_len »
  • PHP Manual
  • ODBC Unificado
  • Obtém uma linha

odbc_fetch_row

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_fetch_row — Obtém uma linha

Descrição

odbc_fetch_row ( resource $result_id , int $row_number = ? ) : bool

Obtém uma linha de dados que foi retornada pela odbc_do() ou odbc_exec(). Depois de odbc_fetch_row() ser chamada, os campos desta linha podem ser acessados com odbc_result().

Parâmetros

result_id

O identificador de resultado.

row_number

Se row_number não for especificado, odbc_fetch_row() irá tentar obter a próxima linha no conjunto de resultados. Chamadas para odbc_fetch_row() com ou sem row_number podem ser misturadas.

Para caminhar através do conjunto de resultados mais de uma vez, você pode usar odbc_fetch_row() com row_number 1, e então continuar fazendo odbc_fetch_row() sem row_number para ver os resultados. Se um driver não suportar a obtenção de linhas por números, o parâmetro row_number é ignorado.

Valor Retornado

Retorna true se houver uma linha, false caso contrário.


Obtém o tamanho (precisão) de um campo

  • « odbc_fetch_row
  • odbc_field_name »
  • PHP Manual
  • ODBC Unificado
  • Obtém o tamanho (precisão) de um campo

odbc_field_len

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_field_len — Obtém o tamanho (precisão) de um campo

Descrição

odbc_field_len ( resource $result_id , int $field_number ) : int

Obtém o tamanho do campo referenciado pelo número no dado identificador de resultado.

Parâmetros

result_id

O identificador do resultado.

field_number

O número do campo. A numeração dos campos inicia em 0.

Valor Retornado

Retorna o nome do campo como uma string, ou false em erro.

Veja Também

  • odbc_field_scale() - Obtém a precisão de um campo para obter a precisão de um número de ponto flutuante


Obtém o nome da coluna

  • « odbc_field_len
  • odbc_field_num »
  • PHP Manual
  • ODBC Unificado
  • Obtém o nome da coluna

odbc_field_name

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_field_name — Obtém o nome da coluna

Descrição

odbc_field_name ( resource $result_id , int $field_number ) : string

Obtém o nome do campo ocupando o número da coluna em um dado identificador de resultado.

Parâmetros

result_id

O identificador de resultado.

field_number

O número do campo. A numeração de campos iniciam em 1.

Valor Retornado

Retorna o nome do campo como uma string, ou false em erro.


Retorna o número da coluna

  • « odbc_field_name
  • odbc_field_precision »
  • PHP Manual
  • ODBC Unificado
  • Retorna o número da coluna

odbc_field_num

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_field_num — Retorna o número da coluna

Descrição

odbc_field_num ( resource $result_id , string $field_name ) : int

Obtém o número da coluna que corresponde ao nome do campo no dado identificador de resultado.

Parâmetros

result_id

O identificador de resultado.

field_name

O nome do campo.

Valor Retornado

Retorna o número do campo como um inteiro, ou false em erro. A numeração dos campos iniciam em 1.


Sinônimo de odbc_field_len

  • « odbc_field_num
  • odbc_field_scale »
  • PHP Manual
  • ODBC Unificado
  • Sinônimo de odbc_field_len

odbc_field_precision

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_field_precision — Sinônimo de odbc_field_len()

Descrição

Esta função é um apelido para: odbc_field_len().

Veja Também

  • odbc_field_scale() - Obtém a precisão de um campo para obter a precisão de números de ponto flutuante.


Obtém a precisão de um campo

  • « odbc_field_precision
  • odbc_field_type »
  • PHP Manual
  • ODBC Unificado
  • Obtém a precisão de um campo

odbc_field_scale

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_field_scale — Obtém a precisão de um campo

Descrição

odbc_field_scale ( resource $result_id , int $field_number ) : int

Obtém a precisão do campo referenciado pelo número em um dado identificador de resultado.

Parâmetros

result_id

O identificador de resultado.

field_number

O número do campo. A numeração do campo inicia em 1.

Valor Retornado

Retorna a precisão do campo como um inteiro, ou false em erro.


Tipo de dados de um campo

  • « odbc_field_scale
  • odbc_foreignkeys »
  • PHP Manual
  • ODBC Unificado
  • Tipo de dados de um campo

odbc_field_type

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_field_type — Tipo de dados de um campo

Descrição

odbc_field_type ( resource $result_id , int $field_number ) : string

Obtém o tipo SQL do campo referenciado pelo número num dado identificador de resultado.

Parâmetros

result_id

O identificador de resultado.

field_number

O número do campo. Campos numerados a partir de 1.

Valor Retornado

Retorna o tipo do campo como uma string, ou false em erro.


Retorna uma lista de chaves estrangeiras na tabela especificada ou uma lista de chaves estrangeiras em outras tabelas que se referem a chave primária na tabela especificada

  • « odbc_field_type
  • odbc_free_result »
  • PHP Manual
  • ODBC Unificado
  • Retorna uma lista de chaves estrangeiras na tabela especificada ou uma lista de chaves estrangeiras em outras tabelas que se referem a chave primária na tabela especificada

odbc_foreignkeys

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_foreignkeys — Retorna uma lista de chaves estrangeiras na tabela especificada ou uma lista de chaves estrangeiras em outras tabelas que se referem a chave primária na tabela especificada

Descrição

odbc_foreignkeys ( resource $connection_id , string $pk_qualifier , string $pk_owner , string $pk_table , string $fk_qualifier , string $fk_owner , string $fk_table ) : resource

odbc_foreignkeys() obtém informações sobre as chaves estrangeiras. Retorna um conjunto de resultados ODBC false em caso de falha.

O conjunto de resultados tem as seguintes colunas:

  • PKTABLE_QUALIFIER
  • PKTABLE_OWNER
  • PKTABLE_NAME
  • PKCOLUMN_NAME
  • FKTABLE_QUALIFIER
  • FKTABLE_OWNER
  • FKTABLE_NAME
  • FKCOLUMN_NAME
  • KEY_SEQ
  • UPDATE_RULE
  • DELETE_RULE
  • FK_NAME
  • PK_NAME

Se pk_table contém um nome de tabela, odbc_foreignkeys() retorna um conjunto de resultados contendo a chave primária da tabela especificada e todas as chaves estrangeiras que se referem a ela.

Se fk_table contém um nome de tabela, odbc_foreignkeys() retorna um conjunto de resultados de todas as chaves estrangeiras da tabela especificada e as chaves primárias (em outras tabelas) as quais elas se referem.

Se ambos pk_table e fk_table contiverem nomes de tabelas, odbc_foreignkeys() retorna as chaves estrangeiras na tabela especificada em fk_table que se referam a chave primária na tabela especificada em pk_table. Isto deve ser uma chave primária no máximo.


Libera os recursos associados a um resultado

  • « odbc_foreignkeys
  • odbc_gettypeinfo »
  • PHP Manual
  • ODBC Unificado
  • Libera os recursos associados a um resultado

odbc_free_result

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_free_result — Libera os recursos associados a um resultado

Descrição

odbc_free_result ( resource $result_id ) : bool

Libera o recursos associados com o resultado.

odbc_free_result() somente necessita ser chamado se você está com problema pelo fato de usar muita memória quando seu script é executado. Toda memória de resultado irá automaticamente ser liberada quando o script é terminado.

Parâmetros

result_id

The result identifier.

Valor Retornado

Sempre retorna true.

Notas

Nota:

Se auto-commit estiver desabilitado (veja odbc_autocommit()) e você utilizar odbc_free_result() antes de gravar, todas as transações pendentes serão desfeitas.


Retorna um identificador de resultados contendo informações sobre os tipos de dados suportados pela fonte de dados

  • « odbc_free_result
  • odbc_longreadlen »
  • PHP Manual
  • ODBC Unificado
  • Retorna um identificador de resultados contendo informações sobre os tipos de dados suportados pela fonte de dados

odbc_gettypeinfo

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_gettypeinfo — Retorna um identificador de resultados contendo informações sobre os tipos de dados suportados pela fonte de dados

Descrição

odbc_gettypeinfo ( resource $connection_id , int $data_type = ? ) : resource

Obtém informações sobre os tipos de dados suportados pela fonte de dados. Retorna um identificador de resultados ODBC ou false em caso de falha. O argumento opcional data_type pode ser utilizado para restringir a informação para um único tipo de dados.

O conjunto de resultados tem as seguintes colunas:

  • TYPE_NAME
  • DATA_TYPE
  • PRECISION
  • LITERAL_PREFIX
  • LITERAL_SUFFIX
  • CREATE_PARAMS
  • NULLABLE
  • CASE_SENSITIVE
  • SEARCHABLE
  • UNSIGNED_ATTRIBUTE
  • MONEY
  • AUTO_INCREMENT
  • LOCAL_TYPE_NAME
  • MINIMUM_SCALE
  • MAXIMUM_SCALE

O conjunto de resultados é ordenado por DATA_TYPE e TYPE_NAME.


Manipulação de colunas LONG

  • « odbc_gettypeinfo
  • odbc_next_result »
  • PHP Manual
  • ODBC Unificado
  • Manipulação de colunas LONG

odbc_longreadlen

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_longreadlen — Manipulação de colunas LONG

Descrição

odbc_longreadlen ( resource $result_id , int $length ) : bool

Habilita o manusei de colunas LONG e LONGVARBINARY.

Parâmetros

result_id

O identificador de resultado.

length

O número de bytes retornado pelo PHP é controlado pelo parâmetro length. Se ele é definido para 0, coluna de grandes dados são passadas através do cliente.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

Manipulação de colunas LONGVARBINARY é também afetado por odbc_binmode().


Confere se resultados múltiplos estão disponíveis

  • « odbc_longreadlen
  • odbc_num_fields »
  • PHP Manual
  • ODBC Unificado
  • Confere se resultados múltiplos estão disponíveis

odbc_next_result

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

odbc_next_result — Confere se resultados múltiplos estão disponíveis

Descrição

odbc_next_result ( resource $result_id ) : bool

Verifica se há mais resultados disponíveis, dessa forma, permitindo acesso para próximo resultado via odbc_fetch_array(), odbc_fetch_row(), odbc_result(), etc.

Parâmetros

result_id

O identificador de resultado.

Valor Retornado

Retorna true se há mais resultados, false caso contrário.

Exemplos

Exemplo #1 odbc_next_result()

<?php
$r_Connection = odbc_connect($dsn, $username, $password);

$s_SQL = <<<END_SQL
SELECT 'A'
SELECT 'B'
SELECT 'C'
END_SQL;

$r_Results = odbc_exec($r_Connection, $s_SQL);

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump first result set";
var_dump($a_Row1, $a_Row2);

echo "Get second results set ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump second result set ";
var_dump($a_Row1, $a_Row2);

echo "Get third results set ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump third result set ";
var_dump($a_Row1, $a_Row2);

echo "Try for a fourth result set ";
var_dump(odbc_next_result($r_Results));
?>

O exemplo acima irá imprimir:

Dump first result set array(1) {
    ["A"]=>
    string(1) "A"
}
bool(false)
Get second results set bool(true)
Dump second result set array(1) {
    ["B"]=>
    string(1) "B"
}
bool(false)
Get third results set bool(true)
Dump third result set array(1) {
    ["C"]=>
    string(1) "C"
}
bool(false)
Try for a fourth result set bool(false)


Número de colunas em um resultado

  • « odbc_next_result
  • odbc_num_rows »
  • PHP Manual
  • ODBC Unificado
  • Número de colunas em um resultado

odbc_num_fields

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_num_fields — Número de colunas em um resultado

Descrição

odbc_num_fields ( resource $result_id ) : int

Obtém o número de campos (colunas) em um resultado ODBC.

Parâmetros

result_id

O identificador de resultado retornado pela odbc_exec().

Valor Retornado

Retorna o número de campos, ou -1 em erro.


Número de linhas em um resultado

  • « odbc_num_fields
  • odbc_pconnect »
  • PHP Manual
  • ODBC Unificado
  • Número de linhas em um resultado

odbc_num_rows

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_num_rows — Número de linhas em um resultado

Descrição

odbc_num_rows ( resource $result_id ) : int

Obtém o número de linhas em um resultado ODBC. Para comandos INSERT, UPDATE e DELETE odbc_num_rows() retorna o número de linhas afetadas. Para SELECT isto pode ser o número de linhas disponíveis.

Parâmetros

result_id

O identificador de resultado retornado pela odbc_exec().

Valor Retornado

Retorna o número de linhas em um resultado ODBC. Esta função retornará -1 em erro.

Notas

Nota:

Usando odbc_num_rows() para determinar o número de linhas disponível após um SELECT, será retornado -1 com muitos drivers.


Abre uma conexão persistente com o servidor de banco de dados

  • « odbc_num_rows
  • odbc_prepare »
  • PHP Manual
  • ODBC Unificado
  • Abre uma conexão persistente com o servidor de banco de dados

odbc_pconnect

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_pconnect — Abre uma conexão persistente com o servidor de banco de dados

Descrição

odbc_pconnect ( string $dsn , string $user , string $password , int $cursor_type = ? ) : resource

Retorna uma id de conexão ODBC ou 0 (false) em caso de erro. Esta função é muito parecida com odbc_connect(), exceto que a conexão não é realmente fechada quando o script termina. Requisições futuras com o mesma combinação de dsn, user, password (via odbc_connect() e odbc_pconnect()) podem reutilizar a conexão persistente.

Nota: Conexões persistentes não tem efeito se o PHP é utilizado como um programa CGI.

Para informações sobre o parâmetro opcional cursor_type veja a função odbc_connect(). Para maiores informações sobre as conexões persistentes, leia o FAQ PHP.


Prepara um comando para execução

  • « odbc_pconnect
  • odbc_primarykeys »
  • PHP Manual
  • ODBC Unificado
  • Prepara um comando para execução

odbc_prepare

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_prepare — Prepara um comando para execução

Descrição

odbc_prepare ( resource $connection_id , string $query_string ) : resource

Prepara um comando para execução. O identificador de resultado pode ser usado posteriormente para executar o comando com odbc_execute().

Alguns bancos de dados (como IBM DB2, MS SQL Server, e Oracle) suportam stored procedures que aceitam parâmetros do tipo IN, INOUT, e OUT como definido pela especificação ODBC. Entretanto, o Unified ODBC driver atualmente suporta apenas parâmetros do tipo IN em stored procedures.

Parâmetros

connection_id

O identificador de conexão ODBC, veja odbc_connect() para detalhes.

query_string

The query string statement being prepared.

Valor Retornado

Returns an ODBC result identifier if the SQL command was prepared successfully. Returns false on error.

Exemplos

Exemplo #1 odbc_execute() and odbc_prepare() example

No seguinte código, $res será válido apenas se todos os três parâmetros em myproc forem parâmetros IN:

<?php
$a = 1;
$b = 2;
$c = 3;
$stmt    = odbc_prepare($conn, 'CALL myproc(?,?,?)');
$success = odbc_execute($stmt, array($a, $b, $c));
?>

Se você precisar usar um stored procedure usando parâmetros INOUT ou OUT, a alternativa é usar a extensão nativa para o seu banco de dados (por exemplo, oci8 para Oracle).

Veja Também

  • odbc_execute() - Executa um comando preparado


Obtém a chave primária de uma tabela

  • « odbc_prepare
  • odbc_procedurecolumns »
  • PHP Manual
  • ODBC Unificado
  • Obtém a chave primária de uma tabela

odbc_primarykeys

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_primarykeys — Obtém a chave primária de uma tabela

Descrição

odbc_primarykeys ( resource $connection_id , string $qualifier , string $owner , string $table ) : resource

Retorna um identificador de resultado que pode ser usado para obter o nome das colunas chave primária de uma tabela.

Parâmetros

connection_id

O identificador da conexão.

qualifier

owner

table

Valor Retornado

Retorna um identificador de resultado ODBC ou false em falha.

O conjunto de resultados tem as seguintes colunas:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • COLUMN_NAME
  • KEY_SEQ
  • PK_NAME


Obtém informações sobre parâmetros para procedures

  • « odbc_primarykeys
  • odbc_procedures »
  • PHP Manual
  • ODBC Unificado
  • Obtém informações sobre parâmetros para procedures

odbc_procedurecolumns

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_procedurecolumns — Obtém informações sobre parâmetros para procedures

Descrição

odbc_procedurecolumns ( resource $connection_id , string $qualifier = ? , string $owner , string $proc , string $column ) : resource

Retorna uma lista de parâmetros de entrada e saída, assim como as colunas que fazem parte do conjunto de resultados para os procedures especificados. Retorna um idenficador de resultado ODBC ou false em caso de falha.

O conjunto de resultados tem as seguintes colunas:

  • PROCEDURE_QUALIFIER
  • PROCEDURE_OWNER
  • PROCEDURE_NAME
  • COLUMN_NAME
  • COLUMN_TYPE
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • RADIX
  • NULLABLE
  • REMARKS

O conjunto de resultados é ordenado por PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME e COLUMN_TYPE.

Os argumentos owner, proc and column aceitam modelos de busca ('%' para buscar zero ou mais caracteres e '_' para buscar um único caractere).


Obtém a lista de procedures guadadas na fonte de dados especificada.

  • « odbc_procedurecolumns
  • odbc_result_all »
  • PHP Manual
  • ODBC Unificado
  • Obtém a lista de procedures guadadas na fonte de dados especificada.

odbc_procedures

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_procedures — Obtém a lista de procedures guadadas na fonte de dados especificada.

Descrição

odbc_procedures ( resource $connection_id , string $qualifier = ? , string $owner , string $name ) : resource

Lista todas as procedures solicitadas. Terorna um identificador de resultado contendo as informações ou false em caso de falha.

O conjunto de resultados tem as seguintes colunas:

  • PROCEDURE_QUALIFIER
  • PROCEDURE_OWNER
  • PROCEDURE_NAME
  • NUM_INPUT_PARAMS
  • NUM_OUTPUT_PARAMS
  • NUM_RESULT_SETS
  • REMARKS
  • PROCEDURE_TYPE

Os argumentos owner e name aceitam modelos de busca ('%' para encontrar zero ou mais caracteres e '_' para encontrar um único caractere).


Mostra o resultado como uma tabela HTML

  • « odbc_procedures
  • odbc_result »
  • PHP Manual
  • ODBC Unificado
  • Mostra o resultado como uma tabela HTML

odbc_result_all

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_result_all — Mostra o resultado como uma tabela HTML

Descrição

odbc_result_all ( resource $result_id , string $format = ? ) : int

Mostra todas as linhas de um resultado produzido pela odbc_exec(). O resultado é mostrado no formato de tabela HTML.

Parâmetros

result_id

O identificador de resultado.

format

Formatação adicional de toda tabela.

Valor Retornado

Retorna o número de linhas no resultado ou false em erro.


Obtém dados do resultado

  • « odbc_result_all
  • odbc_rollback »
  • PHP Manual
  • ODBC Unificado
  • Obtém dados do resultado

odbc_result

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_result — Obtém dados do resultado

Descrição

odbc_result ( resource $result_id , mixed $field ) : mixed

Retorna o contéudo de um campo. false em caso de erro, null para dados NULL, ou true para dados binários.

field pode ser um inteio contendo o número da coluna que você quer; ou pode ser uma string contendo o nome do campo. Por exemplo:

<?php
$item_3 = odbc_result ($Query_ID, 3);
$item_val = odbc_result ($Query_ID, "val");
?>

A primeira chamada a odbc_result() retorna o valor do terceiro campo do registro atual do resultado da consulta. A segunda chamada a odbc_result() retorna o valor do campo cujo nome é "val" do registro atual do resultado da consulta. Um erro acontece se o número do campo for menor do que um ou for maior do que o número de colunas(ou campos). De modo similar, um erro acontece se o nome do campo indicado não existir na tabela que esta sendo consultada.

Índices de campo começam em 1. Para saber sobre o meio que dados binários ou uma coluna long é retornada, veja odbc_binmode() e odbc_longreadlen().


Desfaz uma transação

  • « odbc_result
  • odbc_setoption »
  • PHP Manual
  • ODBC Unificado
  • Desfaz uma transação

odbc_rollback

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_rollback — Desfaz uma transação

Descrição

odbc_rollback ( resource $connection_id ) : bool

Desfaz todos os comandos pendentes em conexão.

Parâmetros

connection_id

O identificador da conexão.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Ajusta definições ODBC

  • « odbc_rollback
  • odbc_specialcolumns »
  • PHP Manual
  • ODBC Unificado
  • Ajusta definições ODBC

odbc_setoption

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_setoption — Ajusta definições ODBC

Descrição

odbc_setoption ( resource $id , int $function , int $option , int $param ) : bool

Esta opção permite mudar opções ODBC para um conexão em particular ou o resultado de uma consulta. Foi escrita para ajudar a encontrar meios para contornar problemas com drivers ODBC caprichosos. Você provavelmente somente usar esta função se você é um programador ODBC e intender os efeitos que as várias opções terão. Você certamente vai precisar de uma boa referencia ODBC que explique todas as opções diferentes e valores que podem ser usados. Versões diferentes dos drivers suportam opções diferentes.

Devido aos efeitos variarem dependendo do driver ODBC, o uso desta função em scripts que serão tornados publicos é fortemente desencourajado. Também, algumas opções ODBC não estão disponíveis para esta função porque devem ser definidas antes de a conexão ser estabelecida ou a consulta ser preparada. Em todo o caso, se em um trabalho particular isso pode fazer o PHP funcionar e seu superior não dizer para você usar um produto comercial, isto é tudo o que importa realmente.

Retorna true em caso de sucesso ou false em caso de falha.

id é um id de conexão o o id de um resultado de uma consulta no qual será mudada as definições. Para SQLSetConnectOption(), este é um id de conexão. Para SQLSetStmtOption(), este é um id de um resultado de uma consulta.

Function é a função ODBC a ser usada. O valor deve ser 1 para SQLSetConnectOption() e 2 para SQLSetStmtOption().

O parâmetro option é a opção a ser definida.

O parâmetro param é o valor para a option indicada.

Exemplo #1 Exemplos ODBC Setoption

<?php
// 1. Option 102 of SQLSetConnectOption() is SQL_AUTOCOMMIT.
//    Value 1 of SQL_AUTOCOMMIT is SQL_AUTOCOMMIT_ON.
//    This example has the same effect as
//    odbc_autocommit($conn, true);

odbc_setoption ($conn, 1, 102, 1);

// 2. Option 0 of SQLSetStmtOption() is SQL_QUERY_TIMEOUT.
//    This example sets the query to timeout after 30 seconds.

$result = odbc_prepare ($conn, $sql);
odbc_setoption ($result, 2, 0, 30);
odbc_execute ($result);
?>


Retorna um conjunto de colunas que identificam de modo único uma linha na tabela ou as colunas que são automaticamente atualizadas quando qualquer valor na linha é atualizado por uma transação.

  • « odbc_setoption
  • odbc_statistics »
  • PHP Manual
  • ODBC Unificado
  • Retorna um conjunto de colunas que identificam de modo único uma linha na tabela ou as colunas que são automaticamente atualizadas quando qualquer valor na linha é atualizado por uma transação.

odbc_specialcolumns

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_specialcolumns — Retorna um conjunto de colunas que identificam de modo único uma linha na tabela ou as colunas que são automaticamente atualizadas quando qualquer valor na linha é atualizado por uma transação.

Descrição

odbc_specialcolumns ( resource $connection_id , int $type , string $qualifier , string $owner , string $table , int $scope , int $nullable ) : resource

Quando o argumento type é SQL_BEST_ROWID, odbc_specialcolumns() retorna a coluna ou colunas que identificam unicamente cada linha na tabela.

Quando o argumento type é SQL_ROWVER, odbc_specialcolumns() retorna a coluna ou colunas na tabela especificada, se qualquer, que seja automaticamente atualizada pela fonte de dados quando qualquer valor na linha é atualizado por qualquer transação.

Retorna um identificador de resultado ODBC ou false em caso de falha.

O conjunto de resultados tem as seguintes colunas:

  • SCOPE
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • PSEUDO_COLUMN

O conjunto de resultados é ordenado por SCOPE.


Obtém estatisticas sobre uma tabela

  • « odbc_specialcolumns
  • odbc_tableprivileges »
  • PHP Manual
  • ODBC Unificado
  • Obtém estatisticas sobre uma tabela

odbc_statistics

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_statistics — Obtém estatisticas sobre uma tabela

Descrição

odbc_statistics ( resource $connection_id , string $qualifier , string $owner , string $table_name , int $unique , int $accuracy ) : resource

Pega estatisticas sobre uma tabela e seus índices. Retorna um identificador de resultado ODBC ou false em caso de falha.

O conjunto de resultados tem as seguintes colunas:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • NON_UNIQUE
  • INDEX_QUALIFIER
  • INDEX_NAME
  • TYPE
  • SEQ_IN_INDEX
  • COLUMN_NAME
  • COLLATION
  • CARDINALITY
  • PAGES
  • FILTER_CONDITION

O conjunto de resultados é ordenado por NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME e SEQ_IN_INDEX.


Lista tabelas e os privilégios associados a cada tabela

  • « odbc_statistics
  • odbc_tables »
  • PHP Manual
  • ODBC Unificado
  • Lista tabelas e os privilégios associados a cada tabela

odbc_tableprivileges

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_tableprivileges — Lista tabelas e os privilégios associados a cada tabela

Descrição

odbc_tableprivileges ( resource $connection_id , string $qualifier , string $owner , string $name ) : resource

Lista as tabelas solicitadas e os privilégios associados a cada tabela. Retorna um identificador de resultado ODBC ou false em caso de falha.

O conjunto dos resultados tem as seguintes colunas:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE

O conjunto dos resultados e ordenado por TABLE_QUALIFIER, TABLE_OWNER e TABLE_NAME.

Os argumentos owner e name aceitam caracteres de busca ('%' para buscar zero ou mais caracteres e '_' para buscar um único caractere).


Obtém uma lista dos nomes das tabelas guardadas em uma fonte de dados especificado

  • « odbc_tableprivileges
  • PDO »
  • PHP Manual
  • ODBC Unificado
  • Obtém uma lista dos nomes das tabelas guardadas em uma fonte de dados especificado

odbc_tables

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_tables — Obtém uma lista dos nomes das tabelas guardadas em uma fonte de dados especificado

Descrição

odbc_tables ( resource $connection_id , string $qualifier = ? , string $owner = ? , string $name = ? , string $types = ? ) : resource

Lista todas as tabelas no intervalo solicitado. Retorna um identificador de resultado contendo a informação ou false em caso de falha.

O conjunto de resultados tem as seguintes colunas:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • TABLE_TYPE
  • REMARKS

O conjunto de resultados é ordenado por TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER e TABLE_NAME.

Os argumentos owner e name aceitam caracteres de busca ('%' para buscar zero ou mais caracteres e '_' para buscar um único caractere).

Para suportar a enumeração de qualifiers, owners, e table types, a seguinte semantica especial para qualifier, owner, name, e table_type esta disponível:

  • Se qualifier é um único caractere de porcentagem (%) e owner e name são strings vazias, então o conjunto de resultados contém uma lista dos qualifiers válidos para a fonte de dados. (Todas as colunas exceto a coluna TABLE_QUALIFIER contém NULLs.)
  • Se owner é um único caractere de porcentagem (%) e qualifier e name são strings vazias, então o conjunto de resultados contém uma lista dos owners válidos para a fonte de dados. (Todas as colunas exceto a coluna TABLE_OWNER contém NULLs.)
  • Se table_type é um único caractere de porcentagem (%) e qualifier, owner e name são strings vazias, então o conjunto de resultados contém uma lista de table types válido para a fonte de dados. (Todas as colunas exceto a coluna TABLE_TYPE contém NULLs.)

Se table_type não for uma string vazia, deve conter uma lista de valores separados por vírgula para os tipos que interessem, cada valor pode estar entre aspas simples (') ou sem aspas. Poe exemplo, "'TABLE','VIEW'" ou "TABLE, VIEW". Se a fonte de dados não suportar o tipo de tabela especificado, odbc_tables() não retorna nenhum resultado para este tipo.

Veja também odbc_tableprivileges() para obter os privilégios associados.


PHP Data Objects

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Connections and Connection management
  • Transactions and auto-commit
  • Prepared statements and stored procedures
  • Errors and error handling
  • Large Objects (LOBs)
  • PDO — The PDO class
    • PDO::beginTransaction — Inicia uma transação
    • PDO::commit — Envia uma transação
    • PDO::__construct — Creates a PDO instance representing a connection to a database
    • PDO::errorCode — Fetch the SQLSTATE associated with the last operation on the database handle
    • PDO::errorInfo — Fetch extended error information associated with the last operation on the database handle
    • PDO::exec — Executa uma instrução SQL e retornar o número de linhas afetadas
    • PDO::getAttribute — Recuperar um atributo da conexão com o banco de dados
    • PDO::getAvailableDrivers — Retorna um array com os drivers PDO disponíveis
    • PDO::inTransaction — Checks if inside a transaction
    • PDO::lastInsertId — Returns the ID of the last inserted row or sequence value
    • PDO::prepare — Prepares a statement for execution and returns a statement object
    • PDO::query — Executes an SQL statement, returning a result set as a PDOStatement object
    • PDO::quote — Quotes a string for use in a query
    • PDO::rollBack — Rolls back a transaction
    • PDO::setAttribute — Set an attribute
  • PDOStatement — The PDOStatement class
    • PDOStatement::bindColumn — Bind a column to a PHP variable
    • PDOStatement::bindParam — Binds a parameter to the specified variable name
    • PDOStatement::bindValue — Binds a value to a parameter
    • PDOStatement::closeCursor — Closes the cursor, enabling the statement to be executed again
    • PDOStatement::columnCount — Returns the number of columns in the result set
    • PDOStatement::debugDumpParams — Dump an SQL prepared command
    • PDOStatement::errorCode — Fetch the SQLSTATE associated with the last operation on the statement handle
    • PDOStatement::errorInfo — Fetch extended error information associated with the last operation on the statement handle
    • PDOStatement::execute — Executes a prepared statement
    • PDOStatement::fetch — Fetches the next row from a result set
    • PDOStatement::fetchAll — Returns an array containing all of the result set rows
    • PDOStatement::fetchColumn — Returns a single column from the next row of a result set
    • PDOStatement::fetchObject — Fetches the next row and returns it as an object
    • PDOStatement::getAttribute — Retrieve a statement attribute
    • PDOStatement::getColumnMeta — Returns metadata for a column in a result set
    • PDOStatement::nextRowset — Advances to the next rowset in a multi-rowset statement handle
    • PDOStatement::rowCount — Returns the number of rows affected by the last SQL statement
    • PDOStatement::setAttribute — Define um atributo na instrução
    • PDOStatement::setFetchMode — Define o modo de carga de dados para esta instrução
  • PDOException — The PDOException class
  • PDO Drivers
    • CUBRID (PDO) — CUBRID Functions (PDO_CUBRID)
    • MS SQL Server (PDO) — Microsoft SQL Server and Sybase Functions (PDO_DBLIB)
    • Firebird (PDO) — Firebird Functions (PDO_FIREBIRD)
    • IBM (PDO) — IBM Functions (PDO_IBM)
    • Informix (PDO) — Informix Functions (PDO_INFORMIX)
    • MySQL (PDO) — Funções do MySQL (PDO_MYSQL)
    • MS SQL Server (PDO) — Microsoft SQL Server Functions (PDO_SQLSRV)
    • Oracle (PDO) — Oracle Functions (PDO_OCI)
    • ODBC and DB2 (PDO) — ODBC and DB2 Functions (PDO_ODBC)
    • PostgreSQL (PDO) — PostgreSQL Functions (PDO_PGSQL)
    • SQLite (PDO) — SQLite Functions (PDO_SQLITE)


Introdução

The PHP Data Objects (PDO) extension defines a lightweight, consistent interface for accessing databases in PHP. Each database driver that implements the PDO interface can expose database-specific features as regular extension functions. Note that you cannot perform any database functions using the PDO extension by itself; you must use a database-specific PDO driver to access a database server.

PDO provides a data-access abstraction layer, which means that, regardless of which database you're using, you use the same functions to issue queries and fetch data. PDO does not provide a database abstraction; it doesn't rewrite SQL or emulate missing features. You should use a full-blown abstraction layer if you need that facility.

PDO ships with PHP 5.1, and is available as a PECL extension for PHP 5.0; PDO requires the new OO features in the core of PHP 5, and so will not run with earlier versions of PHP.


Instalação

Installing PDO on Unix systems

  1. PDO and the PDO_SQLITE driver is enabled by default as of PHP 5.1.0. You may need to enable the PDO driver for your database of choice; consult the documentation for database-specific PDO drivers to find out more about that.

    Nota:

    When building PDO as a shared extension (not recommended) then all PDO drivers must be loaded after PDO itself.

  2. When installing PDO as a shared module, the php.ini file needs to be updated so that the PDO extension will be loaded automatically when PHP runs. You will also need to enable any database specific drivers there too; make sure that they are listed after the pdo.so line, as PDO must be initialized before the database-specific extensions can be loaded. If you built PDO and the database-specific extensions statically, you can skip this step.

    extension=pdo.so

Windows users

  1. PDO and all the major drivers ship with PHP as shared extensions, and simply need to be activated by editing the php.ini file:

    extension=php_pdo.dll

    Nota:

    This step is not necessary for PHP 5.3 and above, as a DLL is no longer required for PDO.

  2. Next, choose the other database-specific DLL files and either use dl() to load them at runtime, or enable them in php.ini below php_pdo.dll. For example:

    extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

    These DLLs should exist in the system's extension_dir.

Nota:

Remember that after making changes to your php.ini file you will need to restart PHP for your new configuration directives to take effect.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de Configuração do PDO
Nome | Padrão | Modificável | Changelog
pdo.dsn.* |  | somente php.ini |

Uma rápida explicação das diretivas de configuração.

pdo.dsn.* string

Define sinônimos DSN. Veja PDO::__construct() para uma explicação completa.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Aviso

PDO uses class constants since PHP 5.1. Prior releases use global constants in the form PDO_PARAM_BOOL.

PDO::PARAM_BOOL (int)
Represents a boolean data type.
PDO::PARAM_NULL (int)
Represents the SQL NULL data type.
PDO::PARAM_INT (int)
Represents the SQL INTEGER data type.
PDO::PARAM_STR (int)
Represents the SQL CHAR, VARCHAR, or other string data type.
PDO::PARAM_STR_NATL (int)
Flag to denote a string uses the national character set. Available since PHP 7.2.0
PDO::PARAM_STR_CHAR (int)
Flag to denote a string uses the regular character set. Available since PHP 7.2.0
PDO::PARAM_LOB (int)
Represents the SQL large object data type.
PDO::PARAM_STMT (int)
Represents a recordset type. Not currently supported by any drivers.
PDO::PARAM_INPUT_OUTPUT (int)
Specifies that the parameter is an INOUT parameter for a stored procedure. You must bitwise-OR this value with an explicit PDO::PARAM_* data type.
PDO::FETCH_LAZY (int)
Specifies that the fetch method shall return each row as an object with variable names that correspond to the column names returned in the result set. PDO::FETCH_LAZY creates the object variable names as they are accessed. Not valid inside PDOStatement::fetchAll().
PDO::FETCH_ASSOC (int)
Specifies that the fetch method shall return each row as an array indexed by column name as returned in the corresponding result set. If the result set contains multiple columns with the same name, PDO::FETCH_ASSOC returns only a single value per column name.
PDO::FETCH_NAMED (int)
Specifies that the fetch method shall return each row as an array indexed by column name as returned in the corresponding result set. If the result set contains multiple columns with the same name, PDO::FETCH_NAMED returns an array of values per column name.
PDO::FETCH_NUM (int)
Specifies that the fetch method shall return each row as an array indexed by column number as returned in the corresponding result set, starting at column 0.
PDO::FETCH_BOTH (int)
Specifies that the fetch method shall return each row as an array indexed by both column name and number as returned in the corresponding result set, starting at column 0.
PDO::FETCH_OBJ (int)
Specifies that the fetch method shall return each row as an object with property names that correspond to the column names returned in the result set.
PDO::FETCH_BOUND (int)
Specifies that the fetch method shall return TRUE and assign the values of the columns in the result set to the PHP variables to which they were bound with the PDOStatement::bindParam() or PDOStatement::bindColumn() methods.
PDO::FETCH_COLUMN (int)
Specifies that the fetch method shall return only a single requested column from the next row in the result set.
PDO::FETCH_CLASS (int)
Specifies that the fetch method shall return a new instance of the requested class, mapping the columns to named properties in the class.

Nota: The magic __set() method is called if the property doesn't exist in the requested class

PDO::FETCH_INTO (int)
Specifies that the fetch method shall update an existing instance of the requested class, mapping the columns to named properties in the class.
PDO::FETCH_FUNC (int)
Allows completely customize the way data is treated on the fly (only valid inside PDOStatement::fetchAll()).
PDO::FETCH_GROUP (int)
Group return by values. Usually combined with PDO::FETCH_COLUMN or PDO::FETCH_KEY_PAIR.
PDO::FETCH_UNIQUE (int)
Fetch only the unique values.
PDO::FETCH_KEY_PAIR (int)
Fetch a two-column result into an array where the first column is a key and the second column is the value. Available since PHP 5.2.3.
PDO::FETCH_CLASSTYPE (int)
Determine the class name from the value of first column.
PDO::FETCH_SERIALIZE (int)
As PDO::FETCH_INTO but object is provided as a serialized string. Available since PHP 5.1.0. Since PHP 5.3.0 the class constructor is never called if this flag is set.
PDO::FETCH_PROPS_LATE (int)
Call the constructor before setting properties. Available since PHP 5.2.0.
PDO::ATTR_AUTOCOMMIT (int)
If this value is false, PDO attempts to disable autocommit so that the connection begins a transaction.
PDO::ATTR_PREFETCH (int)
Setting the prefetch size allows you to balance speed against memory usage for your application. Not all database/driver combinations support setting of the prefetch size. A larger prefetch size results in increased performance at the cost of higher memory usage.
PDO::ATTR_TIMEOUT (int)
Sets the timeout value in seconds for communications with the database.
PDO::ATTR_ERRMODE (int)
See the Errors and error handling section for more information about this attribute.
PDO::ATTR_SERVER_VERSION (int)
This is a read only attribute; it will return information about the version of the database server to which PDO is connected.
PDO::ATTR_CLIENT_VERSION (int)
This is a read only attribute; it will return information about the version of the client libraries that the PDO driver is using.
PDO::ATTR_SERVER_INFO (int)
This is a read only attribute; it will return some meta information about the database server to which PDO is connected.
PDO::ATTR_CONNECTION_STATUS (int)
PDO::ATTR_CASE (int)
Force column names to a specific case specified by the PDO::CASE_* constants.
PDO::ATTR_CURSOR_NAME (int)
Get or set the name to use for a cursor. Most useful when using scrollable cursors and positioned updates.
PDO::ATTR_CURSOR (int)
Selects the cursor type. PDO currently supports either PDO::CURSOR_FWDONLY and PDO::CURSOR_SCROLL. Stick with PDO::CURSOR_FWDONLY unless you know that you need a scrollable cursor.
PDO::ATTR_DRIVER_NAME (string)
Returns the name of the driver.

Exemplo #1 using PDO::ATTR_DRIVER_NAME

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
  echo "Running on mysql; doing something mysql specific here\n";
}
?>

PDO::ATTR_ORACLE_NULLS (int)
Convert empty strings to SQL NULL values on data fetches.
PDO::ATTR_PERSISTENT (mixed)
Request a persistent connection, rather than creating a new connection. See Connections and Connection management for more information on this attribute.
PDO::ATTR_STATEMENT_CLASS (int)
Sets the class name of which statements are returned as.
PDO::ATTR_FETCH_CATALOG_NAMES (int)
Prepend the containing catalog name to each column name returned in the result set. The catalog name and column name are separated by a decimal (.) character. Support of this attribute is at the driver level; it may not be supported by your driver.
PDO::ATTR_FETCH_TABLE_NAMES (int)
Prepend the containing table name to each column name returned in the result set. The table name and column name are separated by a decimal (.) character. Support of this attribute is at the driver level; it may not be supported by your driver.
PDO::ATTR_STRINGIFY_FETCHES (int)
Forces all values fetched to be treated as strings.
PDO::ATTR_MAX_COLUMN_LEN (int)
Sets the maximum column name length.
PDO::ATTR_DEFAULT_FETCH_MODE (int)
Available since PHP 5.2.0
PDO::ATTR_EMULATE_PREPARES (int)
Available since PHP 5.1.3.
PDO::ATTR_DEFAULT_STR_PARAM (int)
Sets the default string parameter type, this can be one of PDO::PARAM_STR_NATL and PDO::PARAM_STR_CHAR. Available since PHP 7.2.0.
PDO::ERRMODE_SILENT (int)
Do not raise an error or exception if an error occurs. The developer is expected to explicitly check for errors. This is the default mode. See Errors and error handling for more information about this attribute.
PDO::ERRMODE_WARNING (int)
Issue a PHP E_WARNING message if an error occurs. See Errors and error handling for more information about this attribute.
PDO::ERRMODE_EXCEPTION (int)
Throw a PDOException if an error occurs. See Errors and error handling for more information about this attribute.
PDO::CASE_NATURAL (int)
Leave column names as returned by the database driver.
PDO::CASE_LOWER (int)
Force column names to lower case.
PDO::CASE_UPPER (int)
Force column names to upper case.
PDO::NULL_NATURAL (int)
PDO::NULL_EMPTY_STRING (int)
PDO::NULL_TO_STRING (int)
PDO::FETCH_ORI_NEXT (int)
Fetch the next row in the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_PRIOR (int)
Fetch the previous row in the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_FIRST (int)
Fetch the first row in the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_LAST (int)
Fetch the last row in the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_ABS (int)
Fetch the requested row by row number from the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_REL (int)
Fetch the requested row by relative position from the current position of the cursor in the result set. Valid only for scrollable cursors.
PDO::CURSOR_FWDONLY (int)
Create a PDOStatement object with a forward-only cursor. This is the default cursor choice, as it is the fastest and most common data access pattern in PHP.
PDO::CURSOR_SCROLL (int)
Create a PDOStatement object with a scrollable cursor. Pass the PDO::FETCH_ORI_* constants to control the rows fetched from the result set.
PDO::ERR_NONE (string)
Corresponds to SQLSTATE '00000', meaning that the SQL statement was successfully issued with no errors or warnings. This constant is for your convenience when checking PDO::errorCode() or PDOStatement::errorCode() to determine if an error occurred. You will usually know if this is the case by examining the return code from the method that raised the error condition anyway.
PDO::PARAM_EVT_ALLOC (int)
Allocation event
PDO::PARAM_EVT_FREE (int)
Deallocation event
PDO::PARAM_EVT_EXEC_PRE (int)
Event triggered prior to execution of a prepared statement.
PDO::PARAM_EVT_EXEC_POST (int)
Event triggered subsequent to execution of a prepared statement.
PDO::PARAM_EVT_FETCH_PRE (int)
Event triggered prior to fetching a result from a resultset.
PDO::PARAM_EVT_FETCH_POST (int)
Event triggered subsequent to fetching a result from a resultset.
PDO::PARAM_EVT_NORMALIZE (int)
Event triggered during bound parameter registration allowing the driver to normalize the parameter name.
PDO::SQLITE_DETERMINISTIC (int)
Specifies that a function created with PDO::sqliteCreateFunction() is deterministic, i.e. it always returns the same result given the same inputs within a single SQL statement. (Available as of PHP 7.1.4.)


Connections and Connection management

Connections are established by creating instances of the PDO base class. It doesn't matter which driver you want to use; you always use the PDO class name. The constructor accepts parameters for specifying the database source (known as the DSN) and optionally for the username and password (if any).

Exemplo #1 Connecting to MySQL

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>

If there are any connection errors, a PDOException object will be thrown. You may catch the exception if you want to handle the error condition, or you may opt to leave it for an application global exception handler that you set up via set_exception_handler().

Exemplo #2 Handling connection errors

<?php
try {
    $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
    foreach($dbh->query('SELECT * from FOO') as $row) {
        print_r($row);
    }
    $dbh = null;
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>

Aviso

If your application does not catch the exception thrown from the PDO constructor, the default action taken by the zend engine is to terminate the script and display a back trace. This back trace will likely reveal the full database connection details, including the username and password. It is your responsibility to catch this exception, either explicitly (via a catch statement) or implicitly via set_exception_handler().

Upon successful connection to the database, an instance of the PDO class is returned to your script. The connection remains active for the lifetime of that PDO object. To close the connection, you need to destroy the object by ensuring that all remaining references to it are deleted—you do this by assigning null to the variable that holds the object. If you don't do this explicitly, PHP will automatically close the connection when your script ends.

Nota: If there are still other references to this PDO instance (such as from a PDOStatement instance, or from other variables referencing the same PDO instance), these have to be removed also (for instance, by assigning null to the variable that references the PDOStatement).

Exemplo #3 Closing a connection

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// use the connection here
$sth = $dbh->query('SELECT * FROM foo');

// and now we're done; close it
$sth = null;
$dbh = null;
?>

Many web applications will benefit from making persistent connections to database servers. Persistent connections are not closed at the end of the script, but are cached and re-used when another script requests a connection using the same credentials. The persistent connection cache allows you to avoid the overhead of establishing a new connection every time a script needs to talk to a database, resulting in a faster web application.

Exemplo #4 Persistent connections

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
    PDO::ATTR_PERSISTENT => true
));
?>

The value of the PDO::ATTR_PERSISTENT option is converted to bool (enable/disable persistent connections), unless it is a non-numeric string, in which case it allows to use multiple persistent connection pools. This is useful if different connections use incompatible settings, for instance, different values of PDO::MYSQL_ATTR_USE_BUFFERED_QUERY.

Nota:

If you wish to use persistent connections, you must set PDO::ATTR_PERSISTENT in the array of driver options passed to the PDO constructor. If setting this attribute with PDO::setAttribute() after instantiation of the object, the driver will not use persistent connections.

Nota:

If you're using the PDO ODBC driver and your ODBC libraries support ODBC Connection Pooling (unixODBC and Windows are two that do; there may be more), then it's recommended that you don't use persistent PDO connections, and instead leave the connection caching to the ODBC Connection Pooling layer. The ODBC Connection Pool is shared with other modules in the process; if PDO is told to cache the connection, then that connection would never be returned to the ODBC connection pool, resulting in additional connections being created to service those other modules.


Transactions and auto-commit

Now that you're connected via PDO, you must understand how PDO manages transactions before you start issuing queries. If you've never encountered transactions before, they offer 4 major features: Atomicity, Consistency, Isolation and Durability (ACID). In layman's terms, any work carried out in a transaction, even if it is carried out in stages, is guaranteed to be applied to the database safely, and without interference from other connections, when it is committed. Transactional work can also be automatically undone at your request (provided you haven't already committed it), which makes error handling in your scripts easier.

Transactions are typically implemented by "saving-up" your batch of changes to be applied all at once; this has the nice side effect of drastically improving the efficiency of those updates. In other words, transactions can make your scripts faster and potentially more robust (you still need to use them correctly to reap that benefit).

Unfortunately, not every database supports transactions, so PDO needs to run in what is known as "auto-commit" mode when you first open the connection. Auto-commit mode means that every query that you run has its own implicit transaction, if the database supports it, or no transaction if the database doesn't support transactions. If you need a transaction, you must use the PDO::beginTransaction() method to initiate one. If the underlying driver does not support transactions, a PDOException will be thrown (regardless of your error handling settings: this is always a serious error condition). Once you are in a transaction, you may use PDO::commit() or PDO::rollBack() to finish it, depending on the success of the code you run during the transaction.

Aviso

PDO only checks for transaction capabilities on driver level. If certain runtime conditions mean that transactions are unavailable, PDO::beginTransaction() will still return true without error if the database server accepts the request to start a transaction.

An example of this would be trying to use transactions on MyISAM tables on a MySQL database.

When the script ends or when a connection is about to be closed, if you have an outstanding transaction, PDO will automatically roll it back. This is a safety measure to help avoid inconsistency in the cases where the script terminates unexpectedly--if you didn't explicitly commit the transaction, then it is assumed that something went awry, so the rollback is performed for the safety of your data.

Aviso

The automatic rollback only happens if you initiate the transaction via PDO::beginTransaction(). If you manually issue a query that begins a transaction PDO has no way of knowing about it and thus cannot roll it back if something bad happens.

Exemplo #1 Executing a batch in a transaction

In the following sample, let's assume that we are creating a set of entries for a new employee, who has been assigned an ID number of 23. In addition to entering the basic data for that person, we also need to record their salary. It's pretty simple to make two separate updates, but by enclosing them within the PDO::beginTransaction() and PDO::commit() calls, we are guaranteeing that no one else will be able to see those changes until they are complete. If something goes wrong, the catch block rolls back all changes made since the transaction was started, and then prints out an error message.

<?php
try {
  $dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',
      array(PDO::ATTR_PERSISTENT => true));
  echo "Connected\n";
} catch (Exception $e) {
  die("Unable to connect: " . $e->getMessage());
}

try {
  $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $dbh->beginTransaction();
  $dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");
  $dbh->exec("insert into salarychange (id, amount, changedate)
      values (23, 50000, NOW())");
  $dbh->commit();

} catch (Exception $e) {
  $dbh->rollBack();
  echo "Failed: " . $e->getMessage();
}
?>

You're not limited to making updates in a transaction; you can also issue complex queries to extract data, and possibly use that information to build up more updates and queries; while the transaction is active, you are guaranteed that no one else can make changes while you are in the middle of your work. For further reading on transactions, refer to the documentation provided by your database server.


Prepared statements and stored procedures

Many of the more mature databases support the concept of prepared statements. What are they? They can be thought of as a kind of compiled template for the SQL that an application wants to run, that can be customized using variable parameters. Prepared statements offer two major benefits:

  • The query only needs to be parsed (or prepared) once, but can be executed multiple times with the same or different parameters. When the query is prepared, the database will analyze, compile and optimize its plan for executing the query. For complex queries this process can take up enough time that it will noticeably slow down an application if there is a need to repeat the same query many times with different parameters. By using a prepared statement the application avoids repeating the analyze/compile/optimize cycle. This means that prepared statements use fewer resources and thus run faster.
  • The parameters to prepared statements don't need to be quoted; the driver automatically handles this. If an application exclusively uses prepared statements, the developer can be sure that no SQL injection will occur (however, if other portions of the query are being built up with unescaped input, SQL injection is still possible).

Prepared statements are so useful that they are the only feature that PDO will emulate for drivers that don't support them. This ensures that an application will be able to use the same data access paradigm regardless of the capabilities of the database.

Exemplo #1 Repeated inserts using prepared statements

This example performs an INSERT query by substituting a name and a value for the named placeholders.

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);

// insert one row
$name = 'one';
$value = 1;
$stmt->execute();

// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>

Exemplo #2 Repeated inserts using prepared statements

This example performs an INSERT query by substituting a name and a value for the positional ? placeholders.

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $value);

// insert one row
$name = 'one';
$value = 1;
$stmt->execute();

// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>

Exemplo #3 Fetching data using prepared statements

This example fetches data based on a key value supplied by a form. The user input is automatically quoted, so there is no risk of a SQL injection attack.

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET['name']))) {
  while ($row = $stmt->fetch()) {
    print_r($row);
  }
}
?>

Exemplo #4 Calling a stored procedure with an output parameter

If the database driver supports it, an application may also bind parameters for output as well as input. Output parameters are typically used to retrieve values from stored procedures. Output parameters are slightly more complex to use than input parameters, in that a developer must know how large a given parameter might be when they bind it. If the value turns out to be larger than the size they suggested, an error is raised.

<?php
$stmt = $dbh->prepare("CALL sp_returns_string(?)");
$stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000);

// call the stored procedure
$stmt->execute();

print "procedure returned $return_value\n";
?>

Exemplo #5 Calling a stored procedure with an input/output parameter

Developers may also specify parameters that hold values both input and output; the syntax is similar to output parameters. In this next example, the string 'hello' is passed into the stored procedure, and when it returns, hello is replaced with the return value of the procedure.

<?php
$stmt = $dbh->prepare("CALL sp_takes_string_returns_string(?)");
$value = 'hello';
$stmt->bindParam(1, $value, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);

// call the stored procedure
$stmt->execute();

print "procedure returned $value\n";
?>

Exemplo #6 Invalid use of placeholder

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE '%?%'");
$stmt->execute(array($_GET['name']));

// placeholder must be used in the place of the whole value
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->execute(array("%$_GET[name]%"));
?>


Errors and error handling

PDO offers you a choice of 3 different error handling strategies, to fit your style of application development.

  • PDO::ERRMODE_SILENT

    This is the default mode. PDO will simply set the error code for you to inspect using the PDO::errorCode() and PDO::errorInfo() methods on both the statement and database objects; if the error resulted from a call on a statement object, you would invoke the PDOStatement::errorCode() or PDOStatement::errorInfo() method on that object. If the error resulted from a call on the database object, you would invoke those methods on the database object instead.

  • PDO::ERRMODE_WARNING

    In addition to setting the error code, PDO will emit a traditional E_WARNING message. This setting is useful during debugging/testing, if you just want to see what problems occurred without interrupting the flow of the application.

  • PDO::ERRMODE_EXCEPTION

    In addition to setting the error code, PDO will throw a PDOException and set its properties to reflect the error code and error information. This setting is also useful during debugging, as it will effectively "blow up" the script at the point of the error, very quickly pointing a finger at potential problem areas in your code (remember: transactions are automatically rolled back if the exception causes the script to terminate).

    Exception mode is also useful because you can structure your error handling more clearly than with traditional PHP-style warnings, and with less code/nesting than by running in silent mode and explicitly checking the return value of each database call.

    See Exceptions for more information about Exceptions in PHP.

PDO standardizes on using SQL-92 SQLSTATE error code strings; individual PDO drivers are responsible for mapping their native codes to the appropriate SQLSTATE codes. The PDO::errorCode() method returns a single SQLSTATE code. If you need more specific information about an error, PDO also offers an PDO::errorInfo() method which returns an array containing the SQLSTATE code, the driver specific error code and driver specific error string.

Exemplo #1 Create a PDO instance and set the error mode

<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Nota:

PDO::__construct() will always throw a PDOException if the connection fails regardless of which PDO::ATTR_ERRMODE is currently set. Uncaught Exceptions are fatal.

Exemplo #2 Create a PDO instance and set the error mode from the constructor

<?php
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'googleguy';
$password = 'googleguy';

/*
    Using try/catch around the constructor is still valid even though we set the ERRMODE to WARNING since
    PDO::__construct will always throw a PDOException if the connection fails.
*/
try {
    $dbh = new PDO($dsn, $user, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
    exit;
}

// This will cause PDO to throw an error of level E_WARNING instead of an exception (when the table doesn't exist)
$dbh->query("SELECT wrongcolumn FROM wrongtable");
?>

O exemplo acima irá imprimir:

Warning: PDO::query(): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.wrongtable' doesn't exist in
/tmp/pdo_test.php on line 18


Large Objects (LOBs)

At some point in your application, you might find that you need to store "large" data in your database. Large typically means "around 4kb or more", although some databases can happily handle up to 32kb before data becomes "large". Large objects can be either textual or binary in nature. PDO allows you to work with this large data type by using the PDO::PARAM_LOB type code in your PDOStatement::bindParam() or PDOStatement::bindColumn() calls. PDO::PARAM_LOB tells PDO to map the data as a stream, so that you can manipulate it using the PHP Streams API.

Exemplo #1 Displaying an image from a database

This example binds the LOB into the variable named $lob and then sends it to the browser using fpassthru(). Since the LOB is represented as a stream, functions such as fgets(), fread() and stream_get_contents() can be used on it.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("select contenttype, imagedata from images where id=?");
$stmt->execute(array($_GET['id']));
$stmt->bindColumn(1, $type, PDO::PARAM_STR, 256);
$stmt->bindColumn(2, $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);

header("Content-Type: $type");
fpassthru($lob);
?>

Exemplo #2 Inserting an image into a database

This example opens up a file and passes the file handle to PDO to insert it as a LOB. PDO will do its best to get the contents of the file up to the database in the most efficient manner possible.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) values (?, ?, ?)");
$id = get_new_id(); // some function to allocate a new ID

// assume that we are running as part of a file upload form
// You can find more information in the PHP documentation

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$db->beginTransaction();
$stmt->execute();
$db->commit();
?>

Exemplo #3 Inserting an image into a database: Oracle

Oracle requires a slightly different syntax for inserting a lob from a file. It's also essential that you perform the insert under a transaction, otherwise your newly inserted LOB will be committed with a zero-length as part of the implicit commit that happens when the query is executed:

<?php
$db = new PDO('oci:', 'scott', 'tiger');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) " .
"VALUES (?, ?, EMPTY_BLOB()) RETURNING imagedata INTO ?");
$id = get_new_id(); // some function to allocate a new ID

// assume that we are running as part of a file upload form
// You can find more information in the PHP documentation

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$db->beginTransaction();
$stmt->execute();
$db->commit();
?>


The PDO class

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

Introdução

Represents a connection between PHP and a database server.

Sinopse da classe

PDO {
public __construct ( string $dsn , string $username = ? , string $passwd = ? , array $options = ? )
public beginTransaction ( ) : bool
public commit ( ) : bool
public errorCode ( ) : string
public errorInfo ( ) : array
public exec ( string $statement ) : int
public getAttribute ( int $attribute ) : mixed
public static getAvailableDrivers ( ) : array
public inTransaction ( ) : bool
public lastInsertId ( string $name = null ) : string
public prepare ( string $statement , array $driver_options = array() ) : PDOStatement
public query ( string $statement ) : PDOStatement
public quote ( string $string , int $parameter_type = PDO::PARAM_STR ) : string
public rollBack ( ) : bool
public setAttribute ( int $attribute , mixed $value ) : bool
}

Índice

  • PDO::beginTransaction — Inicia uma transação
  • PDO::commit — Envia uma transação
  • PDO::__construct — Creates a PDO instance representing a connection to a database
  • PDO::errorCode — Fetch the SQLSTATE associated with the last operation on the database handle
  • PDO::errorInfo — Fetch extended error information associated with the last operation on the database handle
  • PDO::exec — Executa uma instrução SQL e retornar o número de linhas afetadas
  • PDO::getAttribute — Recuperar um atributo da conexão com o banco de dados
  • PDO::getAvailableDrivers — Retorna um array com os drivers PDO disponíveis
  • PDO::inTransaction — Checks if inside a transaction
  • PDO::lastInsertId — Returns the ID of the last inserted row or sequence value
  • PDO::prepare — Prepares a statement for execution and returns a statement object
  • PDO::query — Executes an SQL statement, returning a result set as a PDOStatement object
  • PDO::quote — Quotes a string for use in a query
  • PDO::rollBack — Rolls back a transaction
  • PDO::setAttribute — Set an attribute


Inicia uma transação

  • « PDO
  • PDO::commit »
  • PHP Manual
  • PDO
  • Inicia uma transação

PDO::beginTransaction

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::beginTransaction — Inicia uma transação

Descrição

public PDO::beginTransaction ( ) : bool

Desativa o modo de envio automático. Enquanto o modo de envio automático estiver desativado, modificações feitas no banco de dados por meio da instância do objeto PDO não serão enviadas até que você finalize a transação chamando PDO::commit(). Chamar PDO::rollBack() reverterá todas as alterações no banco de dados e retornará a conexão para o modo de envio automático.

Alguns bancos de dados, incluindo o MySQL, emitem automaticamente um COMMIT implícito quando uma instrução de linguagem de definição de banco de dados (DDL) como DROP TABLE ou CREATE TABLE é emitida em uma transação. O COMMIT implícito impedirá que você reverta quaisquer outras alterações dentro do limite da transação.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Lança uma PDOException se já houver uma transação iniciada ou se o driver não suportar transações.

Nota: Uma exceção é lançada mesmo quando o atributo PDO::ATTR_ERRMODE não está definido para PDO::ERRMODE_EXCEPTION.

Exemplos

Exemplo #1 Reverter uma transação

O exemplo a seguir inicia uma transação e emite duas instruções que modificam o banco de dados antes de reverter as alterações. No MySQL, no entanto, a instrução DROP TABLE envia automaticamente a transação de modo que nenhuma das alterações na transação é revertida.

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema and data */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = 'hamburger'");

/* Recognize mistake and roll back changes */
$dbh->rollBack();

/* Database connection is now back in autocommit mode */
?>

Veja Também

  • PDO::commit() - Envia uma transação
  • PDO::rollBack() - Rolls back a transaction
  • Transações e envio automático


Envia uma transação

  • « PDO::beginTransaction
  • PDO::__construct »
  • PHP Manual
  • PDO
  • Envia uma transação

PDO::commit

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::commit — Envia uma transação

Descrição

public PDO::commit ( ) : bool

Envia uma transação, retornando a conexão com o banco de dados para o modo de envio automático até que a próxima chamada para PDO::beginTransaction() inicie uma nova transação.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Lança uma PDOException se não houver transação ativa.

Nota: Uma exceção é lançada mesmo quando o atributo PDO::ATTR_ERRMODE não está definido para PDO::ERRMODE_EXCEPTION.

Exemplos

Exemplo #1 Enviando uma transação básica

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Insert multiple records on an all-or-nothing basis */
$sql = 'INSERT INTO fruit
    (name, colour, calories)
    VALUES (?, ?, ?)';

$sth = $dbh->prepare($sql);

foreach ($fruits as $fruit) {
    $sth->execute(array(
        $fruit->name,
        $fruit->colour,
        $fruit->calories,
    ));
}

/* Commit the changes */
$dbh->commit();

/* Database connection is now back in autocommit mode */
?>

Exemplo #2 Enviando uma transação DDL

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema */
$sth = $dbh->exec("DROP TABLE fruit");

/* Commit the changes */
$dbh->commit();

/* Database connection is now back in autocommit mode */
?>

Nota: Nem todos os bancos de dados permitirão que as transações operem em instruções DDL: alguns gerarão erros, enquanto outros (incluindo o MySQL) enviarão automaticamente a transação após a primeira instrução DDL ter sido encontrada.

Veja Também

  • PDO::beginTransaction() - Inicia uma transação
  • PDO::rollBack() - Rolls back a transaction
  • Transações e envio automático


Creates a PDO instance representing a connection to a database

  • « PDO::commit
  • PDO::errorCode »
  • PHP Manual
  • PDO
  • Creates a PDO instance representing a connection to a database

PDO::__construct

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::__construct — Creates a PDO instance representing a connection to a database

Descrição

public PDO::__construct ( string $dsn , string $username = ? , string $passwd = ? , array $options = ? )

Creates a PDO instance to represent a connection to the requested database.

Parâmetros

dsn

The Data Source Name, or DSN, contains the information required to connect to the database.

In general, a DSN consists of the PDO driver name, followed by a colon, followed by the PDO driver-specific connection syntax. Further information is available from the PDO driver-specific documentation.

The dsn parameter supports three different methods of specifying the arguments required to create a database connection:

Driver invocation

dsn contains the full DSN.

URI invocation

dsn consists of uri: followed by a URI that defines the location of a file containing the DSN string. The URI can specify a local file or a remote URL.

uri:file:///path/to/dsnfile

Aliasing

dsn consists of a name name that maps to pdo.dsn.name in php.ini defining the DSN string.

Nota:

The alias must be defined in php.ini, and not .htaccess or httpd.conf

username

The user name for the DSN string. This parameter is optional for some PDO drivers.

passwd

The password for the DSN string. This parameter is optional for some PDO drivers.

options

A key=>value array of driver-specific connection options.

Valor Retornado

Returns a PDO object on success.

Erros

PDO::__construct() throws a PDOException if the attempt to connect to the requested database fails.

Exemplos

Exemplo #1 Create a PDO instance via driver invocation

<?php
/* Connect to a MySQL database using driver invocation */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Exemplo #2 Create a PDO instance via URI invocation

The following example assumes that the file /usr/local/dbconnect exists with file permissions that enable PHP to read the file. The file contains the PDO DSN to connect to a DB2 database through the PDO_ODBC driver:

odbc:DSN=SAMPLE;UID=john;PWD=mypass

The PHP script can then create a database connection by simply passing the uri: parameter and pointing to the file URI:

<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Exemplo #3 Create a PDO instance using an alias

The following example assumes that php.ini contains the following entry to enable a connection to a MySQL database using only the alias mydb:

[PDO]
pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
/* Connect to an ODBC database using an alias */
$dsn = 'mydb';
$user = '';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>


Fetch the SQLSTATE associated with the last operation on the database handle

  • « PDO::__construct
  • PDO::errorInfo »
  • PHP Manual
  • PDO
  • Fetch the SQLSTATE associated with the last operation on the database handle

PDO::errorCode

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::errorCode — Fetch the SQLSTATE associated with the last operation on the database handle

Descrição

public PDO::errorCode ( ) : string

Valor Retornado

Returns an SQLSTATE, a five characters alphanumeric identifier defined in the ANSI SQL-92 standard. Briefly, an SQLSTATE consists of a two characters class value followed by a three characters subclass value. A class value of 01 indicates a warning and is accompanied by a return code of SQL_SUCCESS_WITH_INFO. Class values other than '01', except for the class 'IM', indicate an error. The class 'IM' is specific to warnings and errors that derive from the implementation of PDO (or perhaps ODBC, if you're using the ODBC driver) itself. The subclass value '000' in any class indicates that there is no subclass for that SQLSTATE.

PDO::errorCode() only retrieves error codes for operations performed directly on the database handle. If you create a PDOStatement object through PDO::prepare() or PDO::query() and invoke an error on the statement handle, PDO::errorCode() will not reflect that error. You must call PDOStatement::errorCode() to return the error code for an operation performed on a particular statement handle.

Returns null if no operation has been run on the database handle.

Exemplos

Exemplo #1 Retrieving an SQLSTATE code

<?php
/* Provoke an error -- the BONES table does not exist */
$dbh->exec("INSERT INTO bones(skull) VALUES ('lucy')");

echo "\nPDO::errorCode(): ", $dbh->errorCode();
?>

O exemplo acima irá imprimir:

PDO::errorCode(): 42S02

Veja Também

  • PDO::errorInfo() - Fetch extended error information associated with the last operation on the database handle
  • PDOStatement::errorCode() - Fetch the SQLSTATE associated with the last operation on the statement handle
  • PDOStatement::errorInfo() - Fetch extended error information associated with the last operation on the statement handle


Fetch extended error information associated with the last operation on the database handle

  • « PDO::errorCode
  • PDO::exec »
  • PHP Manual
  • PDO
  • Fetch extended error information associated with the last operation on the database handle

PDO::errorInfo

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::errorInfo — Fetch extended error information associated with the last operation on the database handle

Descrição

public PDO::errorInfo ( ) : array

Valor Retornado

PDO::errorInfo() returns an array of error information about the last operation performed by this database handle. The array consists of at least the following fields:

Element | Information
0 | SQLSTATE error code (a five characters alphanumeric identifier defined in the ANSI SQL standard).
1 | Driver-specific error code.
2 | Driver-specific error message.

Nota:

If the SQLSTATE error code is not set or there is no driver-specific error, the elements following element 0 will be set to null.

PDO::errorInfo() only retrieves error information for operations performed directly on the database handle. If you create a PDOStatement object through PDO::prepare() or PDO::query() and invoke an error on the statement handle, PDO::errorInfo() will not reflect the error from the statement handle. You must call PDOStatement::errorInfo() to return the error information for an operation performed on a particular statement handle.

Exemplos

Exemplo #1 Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database

<?php
/* Provoke an error -- bogus SQL syntax */
$stmt = $dbh->prepare('bogus sql');
if (!$stmt) {
    echo "\nPDO::errorInfo():\n";
    print_r($dbh->errorInfo());
}
?>

O exemplo acima irá imprimir:

PDO::errorInfo():
Array
(
    [0] => HY000
    [1] => 1
    [2] => near "bogus": syntax error
)

Veja Também

  • PDO::errorCode() - Fetch the SQLSTATE associated with the last operation on the database handle
  • PDOStatement::errorCode() - Fetch the SQLSTATE associated with the last operation on the statement handle
  • PDOStatement::errorInfo() - Fetch extended error information associated with the last operation on the statement handle


Executa uma instrução SQL e retornar o número de linhas afetadas

  • « PDO::errorInfo
  • PDO::getAttribute »
  • PHP Manual
  • PDO
  • Executa uma instrução SQL e retornar o número de linhas afetadas

PDO::exec

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::exec — Executa uma instrução SQL e retornar o número de linhas afetadas

Descrição

public PDO::exec ( string $statement ) : int

PDO::exec() executa uma instrução SQL em uma única chamada de função, retornando o número de linhas afetadas pela instrução.

PDO::exec() não retorna resultados de uma instrução SELECT. Para uma instrução SELECT que você só precisa emitir uma vez durante seu programa, considere a emissão de PDO::query(). Para uma instrução que você precisa emitir várias vezes, prepare um objeto PDOStatement com PDO::prepare() e emita a instrução com PDOStatement::execute().

Parâmetros

statement

A instrução SQL para preparar e executar.

Os dados dentro da consulta devem ser adequadamente escapados.

Valor Retornado

PDO::exec() retorna o número de linhas que foram modificadas ou excluídas pela instrução SQL que você emitiu. Se nenhuma linha for afetada, PDO::exec() retorna 0.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

O exemplo a seguir depende incorretamente do valor de retorno de PDO::exec(), em que uma instrução que afetou 0 linhas resulta em uma chamada para die():

<?php
$db->exec() or die(print_r($db->errorInfo(), true)); // incorrect
?>

Exemplos

Exemplo #1 Emitindo uma instrução DELETE

Conte o número de linhas excluídas por uma instrução DELETE sem cláusula WHERE.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

/* Delete all rows from the FRUIT table */
$count = $dbh->exec("DELETE FROM fruit");

/* Return number of rows that were deleted */
print("Deleted $count rows.\n");
?>

O exemplo acima irá imprimir:

Deleted 1 rows.

Veja Também

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
  • PDOStatement::execute() - Executes a prepared statement


Recuperar um atributo da conexão com o banco de dados

  • « PDO::exec
  • PDO::getAvailableDrivers »
  • PHP Manual
  • PDO
  • Recuperar um atributo da conexão com o banco de dados

PDO::getAttribute

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDO::getAttribute — Recuperar um atributo da conexão com o banco de dados

Descrição

public PDO::getAttribute ( int $attribute ) : mixed

Esta função retorna o valor de um atributo da conexão com o banco de dados. Para recuperar atributos de PDOStatement consulte PDOStatement::getAttribute().

Note que algumas combinações de banco de dados e drivers podem não suportar todos os atributos da conexão com o banco de dados.

Parâmetros

attribute

Uma das constantes PDO::ATTR_*. As constantes que se aplicam a conexões com o banco de dados são as seguintes:

  • PDO::ATTR_AUTOCOMMIT
  • PDO::ATTR_CASE
  • PDO::ATTR_CLIENT_VERSION
  • PDO::ATTR_CONNECTION_STATUS
  • PDO::ATTR_DRIVER_NAME
  • PDO::ATTR_ERRMODE
  • PDO::ATTR_ORACLE_NULLS
  • PDO::ATTR_PERSISTENT
  • PDO::ATTR_PREFETCH
  • PDO::ATTR_SERVER_INFO
  • PDO::ATTR_SERVER_VERSION
  • PDO::ATTR_TIMEOUT

Valor Retornado

Uma chamada com sucesso retornará o valor do atributo PDO solicitado. Uma chamada sem sucesso retornará null.

Exemplos

Exemplo #1 Recuperando atributos de uma conexão com o banco de dados

<?php
$conn = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$attributes = array(
    "AUTOCOMMIT", "ERRMODE", "CASE", "CLIENT_VERSION", "CONNECTION_STATUS",
    "ORACLE_NULLS", "PERSISTENT", "PREFETCH", "SERVER_INFO", "SERVER_VERSION",
    "TIMEOUT"
);

foreach ($attributes as $val) {
    echo "PDO::ATTR_$val: ";
    echo $conn->getAttribute(constant("PDO::ATTR_$val")) . "\n";
}
?>

Veja Também

  • PDO::setAttribute() - Set an attribute
  • PDOStatement::getAttribute() - Retrieve a statement attribute
  • PDOStatement::setAttribute() - Define um atributo na instrução


Retorna um array com os drivers PDO disponíveis

  • « PDO::getAttribute
  • PDO::inTransaction »
  • PHP Manual
  • PDO
  • Retorna um array com os drivers PDO disponíveis

PDO::getAvailableDrivers

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 1.0.3)

PDO::getAvailableDrivers — Retorna um array com os drivers PDO disponíveis

Descrição

public static PDO::getAvailableDrivers ( ) : array
pdo_drivers ( ) : array

Esta função retorna todos os drivers PDO disponíveis que podem ser usados no parâmetro DSN de PDO::__construct().

Valor Retornado

PDO::getAvailableDrivers() retorna um array com os drivers PDO disponíveis. Se nenhum driver estiver disponível então o retorno será um array vazio.

Exemplos

Exemplo #1 Exemplo de PDO::getAvailableDrivers()

<?php
print_r(PDO::getAvailableDrivers());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => mysql
    [1] => sqlite
)


Checks if inside a transaction

  • « PDO::getAvailableDrivers
  • PDO::lastInsertId »
  • PHP Manual
  • PDO
  • Checks if inside a transaction

PDO::inTransaction

(PHP 5 >= 5.3.3, Bundled pdo_pgsql, PHP 7)

PDO::inTransaction — Checks if inside a transaction

Descrição

public PDO::inTransaction ( ) : bool

Checks if a transaction is currently active within the driver. This method only works for database drivers that support transactions.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if a transaction is currently active, and false if not.


Returns the ID of the last inserted row or sequence value

  • « PDO::inTransaction
  • PDO::prepare »
  • PHP Manual
  • PDO
  • Returns the ID of the last inserted row or sequence value

PDO::lastInsertId

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::lastInsertId — Returns the ID of the last inserted row or sequence value

Descrição

public PDO::lastInsertId ( string $name = null ) : string

Returns the ID of the last inserted row, or the last value from a sequence object, depending on the underlying driver. For example, PDO_PGSQL requires you to specify the name of a sequence object for the name parameter.

Nota:

This method may not return a meaningful or consistent result across different PDO drivers, because the underlying database may not even support the notion of auto-increment fields or sequences.

Parâmetros

name

Name of the sequence object from which the ID should be returned.

Valor Retornado

If a sequence name was not specified for the name parameter, PDO::lastInsertId() returns a string representing the row ID of the last row that was inserted into the database.

If a sequence name was specified for the name parameter, PDO::lastInsertId() returns a string representing the last value retrieved from the specified sequence object.

If the PDO driver does not support this capability, PDO::lastInsertId() triggers an IM001 SQLSTATE.


Prepares a statement for execution and returns a statement object

  • « PDO::lastInsertId
  • PDO::query »
  • PHP Manual
  • PDO
  • Prepares a statement for execution and returns a statement object

PDO::prepare

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::prepare — Prepares a statement for execution and returns a statement object

Descrição

public PDO::prepare ( string $statement , array $driver_options = array() ) : PDOStatement

Prepares an SQL statement to be executed by the PDOStatement::execute() method. The statement template can contain zero or more named (:name) or question mark (?) parameter markers for which real values will be substituted when the statement is executed. Both named and question mark parameter markers cannot be used within the same statement template; only one or the other parameter style. Use these parameters to bind any user-input, do not include the user-input directly in the query.

You must include a unique parameter marker for each value you wish to pass in to the statement when you call PDOStatement::execute(). You cannot use a named parameter marker of the same name more than once in a prepared statement, unless emulation mode is on.

Nota:

Parameter markers can represent a complete data literal only. Neither part of literal, nor keyword, nor identifier, nor whatever arbitrary query part can be bound using parameters. For example, you cannot bind multiple values to a single parameter in the IN() clause of an SQL statement.

Calling PDO::prepare() and PDOStatement::execute() for statements that will be issued multiple times with different parameter values optimizes the performance of your application by allowing the driver to negotiate client and/or server side caching of the query plan and meta information. Also, calling PDO::prepare() and PDOStatement::execute() helps to prevent SQL injection attacks by eliminating the need to manually quote and escape the parameters.

PDO will emulate prepared statements/bound parameters for drivers that do not natively support them, and can also rewrite named or question mark style parameter markers to something more appropriate, if the driver supports one style but not the other.

Nota: As of PHP 5.3.0, the parser used for emulated prepared statements and for rewriting named or question mark style parameters supports the non standard backslash escapes for single- and double quotes. That means that terminating quotes immediately preceeded by a backslash are not recognized as such, which may result in wrong detection of parameters causing the prepared statement to fail when it is executed. A work-around is to not use emulated prepares for such SQL queries, and to avoid rewriting of parameters by using a parameter style which is natively supported by the driver.

Parâmetros

statement

This must be a valid SQL statement template for the target database server.

driver_options

This array holds one or more key=>value pairs to set attribute values for the PDOStatement object that this method returns. You would most commonly use this to set the PDO::ATTR_CURSOR value to PDO::CURSOR_SCROLL to request a scrollable cursor. Some drivers have driver-specific options that may be set at prepare-time.

Valor Retornado

If the database server successfully prepares the statement, PDO::prepare() returns a PDOStatement object. If the database server cannot successfully prepare the statement, PDO::prepare() returns false or emits PDOException (depending on error handling).

Nota:

Emulated prepared statements does not communicate with the database server so PDO::prepare() does not check the statement.

Exemplos

Exemplo #1 SQL statement template with named parameters

<?php
/* Execute a prepared statement by passing an array of values */
$sql = 'SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
$yellow = $sth->fetchAll();
?>

Exemplo #2 SQL statement template with question mark parameters

<?php
/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>

Veja Também

  • PDO::exec() - Executa uma instrução SQL e retornar o número de linhas afetadas
  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
  • PDOStatement::execute() - Executes a prepared statement


Executes an SQL statement, returning a result set as a PDOStatement object

  • « PDO::prepare
  • PDO::quote »
  • PHP Manual
  • PDO
  • Executes an SQL statement, returning a result set as a PDOStatement object

PDO::query

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDO::query — Executes an SQL statement, returning a result set as a PDOStatement object

Descrição

public PDO::query ( string $statement ) : PDOStatement
public PDO::query ( string $statement , int $fetch_style = PDO::FETCH_COLUMN , int $colno ) : PDOStatement
public PDO::query ( string $statement , int $fetch_style = PDO::FETCH_CLASS , string $classname , array $ctorargs ) : PDOStatement
public PDO::query ( string $statement , int $fetch_style = PDO::FETCH_INTO , object $object ) : PDOStatement

PDO::query() executes an SQL statement in a single function call, returning the result set (if any) returned by the statement as a PDOStatement object.

For a query that you need to issue multiple times, you will realize better performance if you prepare a PDOStatement object using PDO::prepare() and issue the statement with multiple calls to PDOStatement::execute().

If you do not fetch all of the data in a result set before issuing your next call to PDO::query(), your call may fail. Call PDOStatement::closeCursor() to release the database resources associated with the PDOStatement object before issuing your next call to PDO::query().

Nota:

If more than one argument is passed to this function, the remaining arguments will be treated as though you called PDOStatement::setFetchMode() on the resultant statement object.

Parâmetros

statement

The SQL statement to prepare and execute.

Data inside the query should be properly escaped.

Valor Retornado

PDO::query() returns a PDOStatement object, or false on failure.

Exemplos

Exemplo #1 Demonstrate PDO::query

A nice feature of PDO::query() is that it enables you to iterate over the rowset returned by a successfully executed SELECT statement.

<?php
$sql = 'SELECT name, color, calories FROM fruit ORDER BY name';
foreach ($conn->query($sql) as $row) {
    print $row['name'] . "\t";
    print $row['color'] . "\t";
    print $row['calories'] . "\n";
}
?>

O exemplo acima irá imprimir:

apple   red     150
banana  yellow  250
kiwi    brown   75
lemon   yellow  25
orange  orange  300
pear    green   150
watermelon      pink    90

Veja Também

  • PDO::exec() - Executa uma instrução SQL e retornar o número de linhas afetadas
  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement


Quotes a string for use in a query

  • « PDO::query
  • PDO::rollBack »
  • PHP Manual
  • PDO
  • Quotes a string for use in a query

PDO::quote

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.1)

PDO::quote — Quotes a string for use in a query

Descrição

public PDO::quote ( string $string , int $parameter_type = PDO::PARAM_STR ) : string

PDO::quote() places quotes around the input string (if required) and escapes special characters within the input string, using a quoting style appropriate to the underlying driver.

If you are using this function to build SQL statements, you are strongly recommended to use PDO::prepare() to prepare SQL statements with bound parameters instead of using PDO::quote() to interpolate user input into an SQL statement. Prepared statements with bound parameters are not only more portable, more convenient, immune to SQL injection, but are often much faster to execute than interpolated queries, as both the server and client side can cache a compiled form of the query.

Not all PDO drivers implement this method (notably PDO_ODBC). Consider using prepared statements instead.

Cuidado

Security: the default character set

The character set must be set either on the server level, or within the database connection itself (depending on the driver) for it to affect PDO::quote(). See the driver-specific documentation for more information.

Parâmetros

string

The string to be quoted.

parameter_type

Provides a data type hint for drivers that have alternate quoting styles.

Valor Retornado

Returns a quoted string that is theoretically safe to pass into an SQL statement. Returns false if the driver does not support quoting in this way.

Exemplos

Exemplo #1 Quoting a normal string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Simple string */
$string = 'Nice';
print "Unquoted string: $string\n";
print "Quoted string: " . $conn->quote($string) . "\n";
?>

O exemplo acima irá imprimir:

Unquoted string: Nice
Quoted string: 'Nice'

Exemplo #2 Quoting a dangerous string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Dangerous string */
$string = 'Naughty \' string';
print "Unquoted string: $string\n";
print "Quoted string:" . $conn->quote($string) . "\n";
?>

O exemplo acima irá imprimir:

Unquoted string: Naughty ' string
Quoted string: 'Naughty '' string'

Exemplo #3 Quoting a complex string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Complex string */
$string = "Co'mpl''ex \"st'\"ring";
print "Unquoted string: $string\n";
print "Quoted string: " . $conn->quote($string) . "\n";
?>

O exemplo acima irá imprimir:

Unquoted string: Co'mpl''ex "st'"ring
Quoted string: 'Co''mpl''''ex "st''"ring'

Veja Também

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement


Rolls back a transaction

  • « PDO::quote
  • PDO::setAttribute »
  • PHP Manual
  • PDO
  • Rolls back a transaction

PDO::rollBack

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::rollBack — Rolls back a transaction

Descrição

public PDO::rollBack ( ) : bool

Rolls back the current transaction, as initiated by PDO::beginTransaction().

If the database was set to autocommit mode, this function will restore autocommit mode after it has rolled back the transaction.

Some databases, including MySQL, automatically issue an implicit COMMIT when a database definition language (DDL) statement such as DROP TABLE or CREATE TABLE is issued within a transaction. The implicit COMMIT will prevent you from rolling back any other changes within the transaction boundary.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Throws a PDOException if there is no active transaction.

Nota: Uma exceção é lançada mesmo quando o atributo PDO::ATTR_ERRMODE não está definido para PDO::ERRMODE_EXCEPTION.

Exemplos

Exemplo #1 Roll back a transaction

The following example begins a transaction and issues two statements that modify the database before rolling back the changes. On MySQL, however, the DROP TABLE statement automatically commits the transaction so that none of the changes in the transaction are rolled back.

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema and data */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = 'hamburger'");

/* Recognize mistake and roll back changes */
$dbh->rollBack();

/* Database connection is now back in autocommit mode */
?>

Veja Também

  • PDO::beginTransaction() - Inicia uma transação
  • PDO::commit() - Envia uma transação
  • Transactions and auto-commit


Set an attribute

  • « PDO::rollBack
  • PDOStatement »
  • PHP Manual
  • PDO
  • Set an attribute

PDO::setAttribute

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::setAttribute — Set an attribute

Descrição

public PDO::setAttribute ( int $attribute , mixed $value ) : bool

Sets an attribute on the database handle. Some of the available generic attributes are listed below; some drivers may make use of additional driver specific attributes.

  • PDO::ATTR_CASE: Force column names to a specific case.

    • PDO::CASE_LOWER: Force column names to lower case.

    • PDO::CASE_NATURAL: Leave column names as returned by the database driver.

    • PDO::CASE_UPPER: Force column names to upper case.

  • PDO::ATTR_ERRMODE: Error reporting.

    • PDO::ERRMODE_SILENT: Just set error codes.

    • PDO::ERRMODE_WARNING: Raise E_WARNING.

    • PDO::ERRMODE_EXCEPTION: Throw exceptions.

  • PDO::ATTR_ORACLE_NULLS (available with all drivers, not just Oracle): Conversion of NULL and empty strings.

    • PDO::NULL_NATURAL: No conversion.

    • PDO::NULL_EMPTY_STRING: Empty string is converted to null.

    • PDO::NULL_TO_STRING: NULL is converted to an empty string.

  • PDO::ATTR_STRINGIFY_FETCHES: Convert numeric values to strings when fetching. Requires bool.

  • PDO::ATTR_STATEMENT_CLASS: Set user-supplied statement class derived from PDOStatement. Cannot be used with persistent PDO instances. Requires array(string classname, array(mixed constructor_args)).

  • PDO::ATTR_TIMEOUT: Specifies the timeout duration in seconds. Not all drivers support this option, and its meaning may differ from driver to driver. For example, sqlite will wait for up to this time value before giving up on obtaining an writable lock, but other drivers may interpret this as a connect or a read timeout interval. Requires int.

  • PDO::ATTR_AUTOCOMMIT (available in OCI, Firebird and MySQL): Whether to autocommit every single statement.

  • PDO::ATTR_EMULATE_PREPARES Enables or disables emulation of prepared statements. Some drivers do not support native prepared statements or have limited support for them. Use this setting to force PDO to either always emulate prepared statements (if true and emulated prepares are supported by the driver), or to try to use native prepared statements (if false). It will always fall back to emulating the prepared statement if the driver cannot successfully prepare the current query. Requires bool.

  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (available in MySQL): Use buffered queries.

  • PDO::ATTR_DEFAULT_FETCH_MODE: Set default fetch mode. Description of modes is available in PDOStatement::fetch() documentation.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


The PDOStatement class

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 1.0.0)

Introdução

Represents a prepared statement and, after the statement is executed, an associated result set.

Sinopse da classe

PDOStatement implements Traversable {
/* Propriedades */
readonly string $queryString;
/* Métodos */
public bindColumn ( mixed $column , mixed &$param , int $type = ? , int $maxlen = ? , mixed $driverdata = ? ) : bool
public bindParam ( mixed $parameter , mixed &$variable , int $data_type = PDO::PARAM_STR , int $length = ? , mixed $driver_options = ? ) : bool
public bindValue ( mixed $parameter , mixed $value , int $data_type = PDO::PARAM_STR ) : bool
public closeCursor ( ) : bool
public columnCount ( ) : int
public debugDumpParams ( ) : void
public errorCode ( ) : string
public errorInfo ( ) : array
public execute ( array $input_parameters = null ) : bool
public fetch ( int $fetch_style = ? , int $cursor_orientation = PDO::FETCH_ORI_NEXT , int $cursor_offset = 0 ) : mixed
public fetchAll ( int $fetch_style = ? , mixed $fetch_argument = ? , array $ctor_args = array() ) : array|false
public fetchColumn ( int $column_number = 0 ) : mixed
public fetchObject ( string $class_name = "stdClass" , array $ctor_args = ? ) : object|false
public getAttribute ( int $attribute ) : mixed
public getColumnMeta ( int $column ) : array
public nextRowset ( ) : bool
public rowCount ( ) : int
public setAttribute ( int $attribute , mixed $value ) : bool
public setFetchMode ( int $mode ) : bool
}

Propriedades

queryString

Used query string.

Índice

  • PDOStatement::bindColumn — Bind a column to a PHP variable
  • PDOStatement::bindParam — Binds a parameter to the specified variable name
  • PDOStatement::bindValue — Binds a value to a parameter
  • PDOStatement::closeCursor — Closes the cursor, enabling the statement to be executed again
  • PDOStatement::columnCount — Returns the number of columns in the result set
  • PDOStatement::debugDumpParams — Dump an SQL prepared command
  • PDOStatement::errorCode — Fetch the SQLSTATE associated with the last operation on the statement handle
  • PDOStatement::errorInfo — Fetch extended error information associated with the last operation on the statement handle
  • PDOStatement::execute — Executes a prepared statement
  • PDOStatement::fetch — Fetches the next row from a result set
  • PDOStatement::fetchAll — Returns an array containing all of the result set rows
  • PDOStatement::fetchColumn — Returns a single column from the next row of a result set
  • PDOStatement::fetchObject — Fetches the next row and returns it as an object
  • PDOStatement::getAttribute — Retrieve a statement attribute
  • PDOStatement::getColumnMeta — Returns metadata for a column in a result set
  • PDOStatement::nextRowset — Advances to the next rowset in a multi-rowset statement handle
  • PDOStatement::rowCount — Returns the number of rows affected by the last SQL statement
  • PDOStatement::setAttribute — Define um atributo na instrução
  • PDOStatement::setFetchMode — Define o modo de carga de dados para esta instrução


Bind a column to a PHP variable

  • « PDOStatement
  • PDOStatement::bindParam »
  • PHP Manual
  • PDOStatement
  • Bind a column to a PHP variable

PDOStatement::bindColumn

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::bindColumn — Bind a column to a PHP variable

Descrição

public PDOStatement::bindColumn ( mixed $column , mixed &$param , int $type = ? , int $maxlen = ? , mixed $driverdata = ? ) : bool

PDOStatement::bindColumn() arranges to have a particular variable bound to a given column in the result-set from a query. Each call to PDOStatement::fetch() or PDOStatement::fetchAll() will update all the variables that are bound to columns.

Nota:

Since information about the columns is not always available to PDO until the statement is executed, portable applications should call this function after PDOStatement::execute().

However, to be able to bind a LOB column as a stream when using the PgSQL driver, applications should call this method before calling PDOStatement::execute(), otherwise the large object OID will be returned as an integer.

Parâmetros

column

Number of the column (1-indexed) or name of the column in the result set. If using the column name, be aware that the name should match the case of the column, as returned by the driver.

param

Name of the PHP variable to which the column will be bound.

type

Data type of the parameter, specified by the PDO::PARAM_* constants.

maxlen

A hint for pre-allocation.

driverdata

Optional parameter(s) for the driver.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Binding result set output to PHP variables

Binding columns in the result set to PHP variables is an effective way to make the data contained in each row immediately available to your application. The following example demonstrates how PDO allows you to bind and retrieve columns with a variety of options and with intelligent defaults.

<?php
function readData($dbh) {
  $sql = 'SELECT name, colour, calories FROM fruit';
  try {
    $stmt = $dbh->prepare($sql);
    $stmt->execute();

    /* Bind by column number */
    $stmt->bindColumn(1, $name);
    $stmt->bindColumn(2, $colour);

    /* Bind by column name */
    $stmt->bindColumn('calories', $cals);

    while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {
      $data = $name . "\t" . $colour . "\t" . $cals . "\n";
      print $data;
    }
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
readData($dbh);
?>

O exemplo acima irá imprimir:

apple   red     150
banana  yellow  175
kiwi    green   75
orange  orange  150
mango   red     200
strawberry      red     25

Veja Também

  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::fetch() - Fetches the next row from a result set
  • PDOStatement::fetchAll() - Returns an array containing all of the result set rows
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set


Binds a parameter to the specified variable name

  • « PDOStatement::bindColumn
  • PDOStatement::bindValue »
  • PHP Manual
  • PDOStatement
  • Binds a parameter to the specified variable name

PDOStatement::bindParam

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::bindParam — Binds a parameter to the specified variable name

Descrição

public PDOStatement::bindParam ( mixed $parameter , mixed &$variable , int $data_type = PDO::PARAM_STR , int $length = ? , mixed $driver_options = ? ) : bool

Binds a PHP variable to a corresponding named or question mark placeholder in the SQL statement that was used to prepare the statement. Unlike PDOStatement::bindValue(), the variable is bound as a reference and will only be evaluated at the time that PDOStatement::execute() is called.

Most parameters are input parameters, that is, parameters that are used in a read-only fashion to build up the query (but may nonetheless be cast according to data_type). Some drivers support the invocation of stored procedures that return data as output parameters, and some also as input/output parameters that both send in data and are updated to receive it.

Parâmetros

parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.

variable

Name of the PHP variable to bind to the SQL statement parameter.

data_type

Explicit data type for the parameter using the PDO::PARAM_* constants. To return an INOUT parameter from a stored procedure, use the bitwise OR operator to set the PDO::PARAM_INPUT_OUTPUT bits for the data_type parameter.

length

Length of the data type. To indicate that a parameter is an OUT parameter from a stored procedure, you must explicitly set the length.

driver_options

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Execute a prepared statement with named placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Exemplo #2 Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Exemplo #3 Call a stored procedure with an INOUT parameter

<?php
/* Call a stored procedure with an INOUT parameter */
$colour = 'red';
$sth = $dbh->prepare('CALL puree_fruit(?)');
$sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);
$sth->execute();
print("After pureeing fruit, the colour is: $colour");
?>

Veja Também

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::bindValue() - Binds a value to a parameter


Binds a value to a parameter

  • « PDOStatement::bindParam
  • PDOStatement::closeCursor »
  • PHP Manual
  • PDOStatement
  • Binds a value to a parameter

PDOStatement::bindValue

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 1.0.0)

PDOStatement::bindValue — Binds a value to a parameter

Descrição

public PDOStatement::bindValue ( mixed $parameter , mixed $value , int $data_type = PDO::PARAM_STR ) : bool

Binds a value to a corresponding named or question mark placeholder in the SQL statement that was used to prepare the statement.

Parâmetros

parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.

value

The value to bind to the parameter.

data_type

Explicit data type for the parameter using the PDO::PARAM_* constants.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Execute a prepared statement with named placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindValue(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR);
$sth->execute();
?>

Exemplo #2 Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindValue(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();
?>

Veja Também

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::bindParam() - Binds a parameter to the specified variable name


Closes the cursor, enabling the statement to be executed again

  • « PDOStatement::bindValue
  • PDOStatement::columnCount »
  • PHP Manual
  • PDOStatement
  • Closes the cursor, enabling the statement to be executed again

PDOStatement::closeCursor

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.9.0)

PDOStatement::closeCursor — Closes the cursor, enabling the statement to be executed again

Descrição

public PDOStatement::closeCursor ( ) : bool

PDOStatement::closeCursor() frees up the connection to the server so that other SQL statements may be issued, but leaves the statement in a state that enables it to be executed again.

This method is useful for database drivers that do not support executing a PDOStatement object when a previously executed PDOStatement object still has unfetched rows. If your database driver suffers from this limitation, the problem may manifest itself in an out-of-sequence error.

PDOStatement::closeCursor() is implemented either as an optional driver specific method (allowing for maximum efficiency), or as the generic PDO fallback if no driver specific function is installed. The PDO generic fallback is semantically the same as writing the following code in your PHP script:

<?php
do {
    while ($stmt->fetch())
        ;
    if (!$stmt->nextRowset())
        break;
} while (true);
?>

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 A PDOStatement::closeCursor() example

In the following example, the $stmt PDOStatement object returns multiple rows but the application fetches only the first row, leaving the PDOStatement object in a state of having unfetched rows. To ensure that the application will work with all database drivers, the author inserts a call to PDOStatement::closeCursor() on $stmt before executing the $otherStmt PDOStatement object.

<?php
/* Create a PDOStatement object */
$stmt = $dbh->prepare('SELECT foo FROM bar');

/* Create a second PDOStatement object */
$otherStmt = $dbh->prepare('SELECT foobaz FROM foobar');

/* Execute the first statement */
$stmt->execute();

/* Fetch only the first row from the results */
$stmt->fetch();

/* The following call to closeCursor() may be required by some drivers */
$stmt->closeCursor();

/* Now we can execute the second statement */
$otherStmt->execute();
?>

Veja Também

  • PDOStatement::execute() - Executes a prepared statement


Returns the number of columns in the result set

  • « PDOStatement::closeCursor
  • PDOStatement::debugDumpParams »
  • PHP Manual
  • PDOStatement
  • Returns the number of columns in the result set

PDOStatement::columnCount

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDOStatement::columnCount — Returns the number of columns in the result set

Descrição

public PDOStatement::columnCount ( ) : int

Use PDOStatement::columnCount() to return the number of columns in the result set represented by the PDOStatement object.

If the PDOStatement object was returned from PDO::query(), the column count is immediately available.

If the PDOStatement object was returned from PDO::prepare(), an accurate column count will not be available until you invoke PDOStatement::execute().

Valor Retornado

Returns the number of columns in the result set represented by the PDOStatement object, even if the result set is empty. If there is no result set, PDOStatement::columnCount() returns 0.

Exemplos

Exemplo #1 Counting columns

This example demonstrates how PDOStatement::columnCount() operates with and without a result set.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

$sth = $dbh->prepare("SELECT name, colour FROM fruit");

/* Count the number of columns in the (non-existent) result set */
$colcount = $sth->columnCount();
print("Before execute(), result set has $colcount columns (should be 0)\n");

$sth->execute();

/* Count the number of columns in the result set */
$colcount = $sth->columnCount();
print("After execute(), result set has $colcount columns (should be 2)\n");

?>

O exemplo acima irá imprimir:

Before execute(), result set has 0 columns (should be 0)
After execute(), result set has 2 columns (should be 2)

Veja Também

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::rowCount() - Returns the number of rows affected by the last SQL statement


Dump an SQL prepared command

  • « PDOStatement::columnCount
  • PDOStatement::errorCode »
  • PHP Manual
  • PDOStatement
  • Dump an SQL prepared command

PDOStatement::debugDumpParams

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.9.0)

PDOStatement::debugDumpParams — Dump an SQL prepared command

Descrição

public PDOStatement::debugDumpParams ( ) : void

Dumps the information contained by a prepared statement directly on the output. It will provide the SQL query in use, the number of parameters used (Params), the list of parameters with their key name or position, their name, their position in the query (if this is supported by the PDO driver, otherwise, it will be -1), type (param_type) as an integer, and a boolean value is_param.

This is a debug function, which dumps the data directly to the normal output.

Dica

Como toda saída é normalmente enviada direto para o browser, as Funções de Controle de Output podem ser utilizadas para capturar o resultado e guardá-lo em uma string (por exemplo).

This will only dump the parameters in the statement at the moment of the dump. Extra parameters are not stored in the statement, and not displayed.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 PDOStatement::debugDumpParams() example with named parameters

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();

$sth->debugDumpParams();

?>

O exemplo acima irá imprimir:

SQL: [96] SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour
Params:  2
Key: Name: [9] :calories
paramno=-1
name=[9] ":calories"
is_param=1
param_type=1
Key: Name: [7] :colour
paramno=-1
name=[7] ":colour"
is_param=1
param_type=2

Exemplo #2 PDOStatement::debugDumpParams() example with unnamed parameters

<?php

/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$name = 'apple';

$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();

$sth->debugDumpParams();

?>

O exemplo acima irá imprimir:

SQL: [82] SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?
Params:  2
Key: Position #0:
paramno=0
name=[0] ""
is_param=1
param_type=1
Key: Position #1:
paramno=1
name=[0] ""
is_param=1
param_type=2

Changelog

Versão | Descrição
7.2.0 | PDOStatement::debugDumpParams() now returns the SQL sent to the database, including the full, raw query (including the replaced placeholders with their bounded values). Note, that this will only be available if emulated prepared statements are turned on.

Veja Também

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::bindParam() - Binds a parameter to the specified variable name
  • PDOStatement::bindValue() - Binds a value to a parameter


Fetch the SQLSTATE associated with the last operation on the statement handle

  • « PDOStatement::debugDumpParams
  • PDOStatement::errorInfo »
  • PHP Manual
  • PDOStatement
  • Fetch the SQLSTATE associated with the last operation on the statement handle

PDOStatement::errorCode

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::errorCode — Fetch the SQLSTATE associated with the last operation on the statement handle

Descrição

public PDOStatement::errorCode ( ) : string

Valor Retornado

Identical to PDO::errorCode(), except that PDOStatement::errorCode() only retrieves error codes for operations performed with PDOStatement objects.

Exemplos

Exemplo #1 Retrieving an SQLSTATE code

<?php
/* Provoke an error -- the BONES table does not exist */
$err = $dbh->prepare('SELECT skull FROM bones');
$err->execute();

echo "\nPDOStatement::errorCode(): ";
print $err->errorCode();
?>

O exemplo acima irá imprimir:

PDOStatement::errorCode(): 42S02

Veja Também

  • PDO::errorCode() - Fetch the SQLSTATE associated with the last operation on the database handle
  • PDO::errorInfo() - Fetch extended error information associated with the last operation on the database handle
  • PDOStatement::errorInfo() - Fetch extended error information associated with the last operation on the statement handle


Fetch extended error information associated with the last operation on the statement handle

  • « PDOStatement::errorCode
  • PDOStatement::execute »
  • PHP Manual
  • PDOStatement
  • Fetch extended error information associated with the last operation on the statement handle

PDOStatement::errorInfo

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::errorInfo — Fetch extended error information associated with the last operation on the statement handle

Descrição

public PDOStatement::errorInfo ( ) : array

Valor Retornado

PDOStatement::errorInfo() returns an array of error information about the last operation performed by this statement handle. The array consists of at least the following fields:

Element | Information
0 | SQLSTATE error code (a five characters alphanumeric identifier defined in the ANSI SQL standard).
1 | Driver specific error code.
2 | Driver specific error message.

Exemplos

Exemplo #1 Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database

<?php
/* Provoke an error -- the BONES table does not exist */
$sth = $dbh->prepare('SELECT skull FROM bones');
$sth->execute();

echo "\nPDOStatement::errorInfo():\n";
$arr = $sth->errorInfo();
print_r($arr);
?>

O exemplo acima irá imprimir:

PDOStatement::errorInfo():
Array
(
    [0] => 42S02
    [1] => -204
    [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N  "DANIELS.BONES" is an undefined name.  SQLSTATE=42704
)

Veja Também

  • PDO::errorCode() - Fetch the SQLSTATE associated with the last operation on the database handle
  • PDO::errorInfo() - Fetch extended error information associated with the last operation on the database handle
  • PDOStatement::errorCode() - Fetch the SQLSTATE associated with the last operation on the statement handle


Executes a prepared statement

  • « PDOStatement::errorInfo
  • PDOStatement::fetch »
  • PHP Manual
  • PDOStatement
  • Executes a prepared statement

PDOStatement::execute

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::execute — Executes a prepared statement

Descrição

public PDOStatement::execute ( array $input_parameters = null ) : bool

Execute the prepared statement. If the prepared statement included parameter markers, either:

  • PDOStatement::bindParam() and/or PDOStatement::bindValue() has to be called to bind either variables or values (respectively) to the parameter markers. Bound variables pass their value as input and receive the output value, if any, of their associated parameter markers

  • or an array of input-only parameter values has to be passed

Parâmetros

input_parameters

An array of values with as many elements as there are bound parameters in the SQL statement being executed. All values are treated as PDO::PARAM_STR.

Multiple values cannot be bound to a single parameter; for example, it is not allowed to bind two values to a single named parameter in an IN() clause.

Binding more values than specified is not possible; if more keys exist in input_parameters than in the SQL specified in the PDO::prepare(), then the statement will fail and an error is emitted.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Execute a prepared statement with a bound variable and value

<?php
/* Execute a prepared statement by binding a variable and value */
$calories = 150;
$colour = 'gre';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour LIKE :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', "%{$colour}%");
$sth->execute();
?>

Exemplo #2 Execute a prepared statement with an array of insert values (named parameters)

<?php
/* Execute a prepared statement by passing an array of insert values */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->execute(array(':calories' => $calories, ':colour' => $colour));
?>

Exemplo #3 Execute a prepared statement with an array of insert values (placeholders)

<?php
/* Execute a prepared statement by passing an array of insert values */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array($calories, $colour));
?>

Exemplo #4 Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Exemplo #5 Execute a prepared statement using array for IN clause

<?php
/* Execute a prepared statement using an array of values for an IN clause */
$params = array(1, 21, 63, 171);
/* Create a string for the parameter placeholders filled to the number of params */
$place_holders = implode(',', array_fill(0, count($params), '?'));

/*
    This prepares the statement with enough unnamed placeholders for every value
    in our $params array. The values of the $params array are then bound to the
    placeholders in the prepared statement when the statement is executed.
    This is not the same thing as using PDOStatement::bindParam() since this
    requires a reference to the variable. PDOStatement::execute() only binds
    by value instead.
*/
$sth = $dbh->prepare("SELECT id, name FROM contacts WHERE id IN ($place_holders)");
$sth->execute($params);
?>

Notas

Nota:

Some drivers require to close cursor before executing next statement.

Veja Também

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::bindParam() - Binds a parameter to the specified variable name
  • PDOStatement::fetch() - Fetches the next row from a result set
  • PDOStatement::fetchAll() - Returns an array containing all of the result set rows
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set


Fetches the next row from a result set

  • « PDOStatement::execute
  • PDOStatement::fetchAll »
  • PHP Manual
  • PDOStatement
  • Fetches the next row from a result set

PDOStatement::fetch

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::fetch — Fetches the next row from a result set

Descrição

public PDOStatement::fetch ( int $fetch_style = ? , int $cursor_orientation = PDO::FETCH_ORI_NEXT , int $cursor_offset = 0 ) : mixed

Fetches a row from a result set associated with a PDOStatement object. The fetch_style parameter determines how PDO returns the row.

Parâmetros

fetch_style

Controls how the next row will be returned to the caller. This value must be one of the PDO::FETCH_* constants, defaulting to value of PDO::ATTR_DEFAULT_FETCH_MODE (which defaults to PDO::FETCH_BOTH).

  • PDO::FETCH_ASSOC: returns an array indexed by column name as returned in your result set

  • PDO::FETCH_BOTH (default): returns an array indexed by both column name and 0-indexed column number as returned in your result set

  • PDO::FETCH_BOUND: returns true and assigns the values of the columns in your result set to the PHP variables to which they were bound with the PDOStatement::bindColumn() method

  • PDO::FETCH_CLASS: returns a new instance of the requested class, mapping the columns of the result set to named properties in the class, and calling the constructor afterwards, unless PDO::FETCH_PROPS_LATE is also given. If fetch_style includes PDO::FETCH_CLASSTYPE (e.g. PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE) then the name of the class is determined from a value of the first column.

  • PDO::FETCH_INTO: updates an existing instance of the requested class, mapping the columns of the result set to named properties in the class

  • PDO::FETCH_LAZY: combines PDO::FETCH_BOTH and PDO::FETCH_OBJ, creating the object variable names as they are accessed

  • PDO::FETCH_NAMED: returns an array with the same form as PDO::FETCH_ASSOC, except that if there are multiple columns with the same name, the value referred to by that key will be an array of all the values in the row that had that column name

  • PDO::FETCH_NUM: returns an array indexed by column number as returned in your result set, starting at column 0

  • PDO::FETCH_OBJ: returns an anonymous object with property names that correspond to the column names returned in your result set

  • PDO::FETCH_PROPS_LATE: when used with PDO::FETCH_CLASS, the constructor of the class is called before the properties are assigned from the respective column values.

cursor_orientation

For a PDOStatement object representing a scrollable cursor, this value determines which row will be returned to the caller. This value must be one of the PDO::FETCH_ORI_* constants, defaulting to PDO::FETCH_ORI_NEXT. To request a scrollable cursor for your PDOStatement object, you must set the PDO::ATTR_CURSOR attribute to PDO::CURSOR_SCROLL when you prepare the SQL statement with PDO::prepare().

offset

For a PDOStatement object representing a scrollable cursor for which the cursor_orientation parameter is set to PDO::FETCH_ORI_ABS, this value specifies the absolute number of the row in the result set that shall be fetched.

For a PDOStatement object representing a scrollable cursor for which the cursor_orientation parameter is set to PDO::FETCH_ORI_REL, this value specifies the row to fetch relative to the cursor position before PDOStatement::fetch() was called.

Valor Retornado

The return value of this function on success depends on the fetch type. In all cases, false is returned on failure.

Exemplos

Exemplo #1 Fetching rows using different fetch styles

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Exercise PDOStatement::fetch styles */
print("PDO::FETCH_ASSOC: ");
print("Return next row as an array indexed by column name\n");
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
print("\n");

print("PDO::FETCH_BOTH: ");
print("Return next row as an array indexed by both column name and number\n");
$result = $sth->fetch(PDO::FETCH_BOTH);
print_r($result);
print("\n");

print("PDO::FETCH_LAZY: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_LAZY);
print_r($result);
print("\n");

print("PDO::FETCH_OBJ: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_OBJ);
print $result->name;
print("\n");
?>

O exemplo acima irá imprimir:

PDO::FETCH_ASSOC: Return next row as an array indexed by column name
Array
(
    [name] => apple
    [colour] => red
)

PDO::FETCH_BOTH: Return next row as an array indexed by both column name and number
Array
(
    [name] => banana
    [0] => banana
    [colour] => yellow
    [1] => yellow
)

PDO::FETCH_LAZY: Return next row as an anonymous object with column names as properties
PDORow Object
(
    [name] => orange
    [colour] => orange
)

PDO::FETCH_OBJ: Return next row as an anonymous object with column names as properties
kiwi

Exemplo #2 Fetching rows with a scrollable cursor

<?php
function readDataForwards($dbh) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET';
  try {
    $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    $stmt->execute();
    while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
      $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
      print $data;
    }
    $stmt = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
function readDataBackwards($dbh) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet';
  try {
    $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    $stmt->execute();
    $row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST);
    do {
      $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
      print $data;
    } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR));
    $stmt = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}

print "Reading forwards:\n";
readDataForwards($conn);

print "Reading backwards:\n";
readDataBackwards($conn);
?>

O exemplo acima irá imprimir:

Reading forwards:
21    10    5
16    0     5
19    20    10

Reading backwards:
19    20    10
16    0     5
21    10    5

Exemplo #3 Construction order

When objects are fetched via PDO::FETCH_CLASS the object properties are assigned first, and then the constructor of the class is invoked. If PDO::FETCH_PROPS_LATE is also given, this order is reversed, i.e. first the constructor is called, and afterwards the properties are assigned.

<?php
class Person
{
    private $name;

    public function __construct()
    {
        $this->tell();
    }

    public function tell()
    {
        if (isset($this->name)) {
            echo "I am {$this->name}.\n";
        } else {
            echo "I don't have a name yet.\n";
        }
    }
}

$sth = $dbh->query("SELECT * FROM people");
$sth->setFetchMode(PDO::FETCH_CLASS, 'Person');
$person = $sth->fetch();
$person->tell();
$sth->setFetchMode(PDO::FETCH_CLASS|PDO::FETCH_PROPS_LATE, 'Person');
$person = $sth->fetch();
$person->tell();
?>

O exemplo acima irá imprimir algo similar à:

I am Alice.
I am Alice.
I don't have a name yet.
I am Bob.

Veja Também

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::fetchAll() - Returns an array containing all of the result set rows
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set
  • PDOStatement::fetchObject() - Fetches the next row and returns it as an object
  • PDOStatement::setFetchMode() - Define o modo de carga de dados para esta instrução


Returns an array containing all of the result set rows

  • « PDOStatement::fetch
  • PDOStatement::fetchColumn »
  • PHP Manual
  • PDOStatement
  • Returns an array containing all of the result set rows

PDOStatement::fetchAll

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::fetchAll — Returns an array containing all of the result set rows

Descrição

public PDOStatement::fetchAll ( int $fetch_style = ? , mixed $fetch_argument = ? , array $ctor_args = array() ) : array|false

Parâmetros

fetch_style

Controls the contents of the returned array as documented in
PDOStatement::fetch().
Defaults to value of PDO::ATTR_DEFAULT_FETCH_MODE
(which defaults to PDO::FETCH_BOTH)

To return an array consisting of all values of a single column from the result set, specify PDO::FETCH_COLUMN. You can specify which column you want with the fetch_argument parameter.

To fetch only the unique values of a single column from the result set, bitwise-OR PDO::FETCH_COLUMN with PDO::FETCH_UNIQUE.

To return an associative array grouped by the values of a specified column, bitwise-OR PDO::FETCH_COLUMN with PDO::FETCH_GROUP.

fetch_argument

This argument has a different meaning depending on the value of the fetch_style parameter:

  • PDO::FETCH_COLUMN: Returns the indicated 0-indexed column.

  • PDO::FETCH_CLASS: Returns instances of the specified class, mapping the columns of each row to named properties in the class.

  • PDO::FETCH_FUNC: Returns the results of calling the specified function, using each row's columns as parameters in the call.

ctor_args

Arguments of custom class constructor when the fetch_style parameter is PDO::FETCH_CLASS.

Valor Retornado

PDOStatement::fetchAll() returns an array containing all of the remaining rows in the result set. The array represents each row as either an array of column values or an object with properties corresponding to each column name. An empty array is returned if there are zero results to fetch, or false on failure.

Using this method to fetch large result sets will result in a heavy demand on system and possibly network resources. Rather than retrieving all of the data and manipulating it in PHP, consider using the database server to manipulate the result sets. For example, use the WHERE and ORDER BY clauses in SQL to restrict results before retrieving and processing them with PHP.

Exemplos

Exemplo #1 Fetch all remaining rows in a result set

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);
?>

O exemplo acima irá imprimir algo similar à:

Fetch all of the remaining rows in the result set:
Array
(
    [0] => Array
        (
            [name] => apple
            [0] => apple
            [colour] => red
            [1] => red
        )

    [1] => Array
        (
            [name] => pear
            [0] => pear
            [colour] => green
            [1] => green
        )

    [2] => Array
        (
            [name] => watermelon
            [0] => watermelon
            [colour] => pink
            [1] => pink
        )

)

Exemplo #2 Fetching all values of a single column from a result set

The following example demonstrates how to return all of the values of a single column from a result set, even though the SQL statement itself may return multiple columns per row.

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the values of the first column */
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
var_dump($result);
?>

O exemplo acima irá imprimir algo similar à:

Array(3)
(
    [0] =>
    string(5) => apple
    [1] =>
    string(4) => pear
    [2] =>
    string(10) => watermelon
)

Exemplo #3 Grouping all values by a single column

The following example demonstrates how to return an associative array grouped by the values of the specified column in the result set. The array contains three keys: values apple and pear are returned as arrays that contain two different colours, while watermelon is returned as an array that contains only one colour.

<?php
$insert = $dbh->prepare("INSERT INTO fruit(name, colour) VALUES (?, ?)");
$insert->execute(array('apple', 'green'));
$insert->execute(array('pear', 'yellow'));

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Group values by the first column */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  ["apple"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(3) "red"
  }
  ["pear"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(6) "yellow"
  }
  ["watermelon"]=>
  array(1) {
    [0]=>
    string(5) "pink"
  }
}

Exemplo #4 Instantiating a class for each result

The following example demonstrates the behaviour of the PDO::FETCH_CLASS fetch style.

<?php
class fruit {
    public $name;
    public $colour;
}

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_CLASS, "fruit");
var_dump($result);
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  [0]=>
  object(fruit)#1 (2) {
    ["name"]=>
    string(5) "apple"
    ["colour"]=>
    string(5) "green"
  }
  [1]=>
  object(fruit)#2 (2) {
    ["name"]=>
    string(4) "pear"
    ["colour"]=>
    string(6) "yellow"
  }
  [2]=>
  object(fruit)#3 (2) {
    ["name"]=>
    string(10) "watermelon"
    ["colour"]=>
    string(4) "pink"
  }
  [3]=>
  object(fruit)#4 (2) {
    ["name"]=>
    string(5) "apple"
    ["colour"]=>
    string(3) "red"
  }
  [4]=>
  object(fruit)#5 (2) {
    ["name"]=>
    string(4) "pear"
    ["colour"]=>
    string(5) "green"
  }
}

Exemplo #5 Calling a function for each result

The following example demonstrates the behaviour of the PDO::FETCH_FUNC fetch style.

<?php
function fruit($name, $colour) {
    return "{$name}: {$colour}";
}

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_FUNC, "fruit");
var_dump($result);
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  [0]=>
  string(12) "apple: green"
  [1]=>
  string(12) "pear: yellow"
  [2]=>
  string(16) "watermelon: pink"
  [3]=>
  string(10) "apple: red"
  [4]=>
  string(11) "pear: green"
}

Veja Também

  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
  • PDOStatement::fetch() - Fetches the next row from a result set
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set
  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::setFetchMode() - Define o modo de carga de dados para esta instrução


Returns a single column from the next row of a result set

  • « PDOStatement::fetchAll
  • PDOStatement::fetchObject »
  • PHP Manual
  • PDOStatement
  • Returns a single column from the next row of a result set

PDOStatement::fetchColumn

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.9.0)

PDOStatement::fetchColumn — Returns a single column from the next row of a result set

Descrição

public PDOStatement::fetchColumn ( int $column_number = 0 ) : mixed

Returns a single column from the next row of a result set or false if there are no more rows.

Nota:

PDOStatement::fetchColumn() should not be used to retrieve boolean columns, as it is impossible to distinguish a value of false from there being no more rows to retrieve. Use PDOStatement::fetch() instead.

Parâmetros

column_number

0-indexed number of the column you wish to retrieve from the row. If no value is supplied, PDOStatement::fetchColumn() fetches the first column.

Valor Retornado

PDOStatement::fetchColumn() returns a single column from the next row of a result set or false if there are no more rows.

Aviso

There is no way to return another column from the same row if you use PDOStatement::fetchColumn() to retrieve data.

Exemplos

Exemplo #1 Return first column of the next row

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

print("Fetch the first column from the first row in the result set:\n");
$result = $sth->fetchColumn();
print("name = $result\n");

print("Fetch the second column from the second row in the result set:\n");
$result = $sth->fetchColumn(1);
print("colour = $result\n");
?>

O exemplo acima irá imprimir:

Fetch the first column from the first row in the result set:
name = lemon
Fetch the second column from the second row in the result set:
colour = red

Veja Também

  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
  • PDOStatement::fetch() - Fetches the next row from a result set
  • PDOStatement::fetchAll() - Returns an array containing all of the result set rows
  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::setFetchMode() - Define o modo de carga de dados para esta instrução


Fetches the next row and returns it as an object

  • « PDOStatement::fetchColumn
  • PDOStatement::getAttribute »
  • PHP Manual
  • PDOStatement
  • Fetches the next row and returns it as an object

PDOStatement::fetchObject

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.4)

PDOStatement::fetchObject — Fetches the next row and returns it as an object

Descrição

public PDOStatement::fetchObject ( string $class_name = "stdClass" , array $ctor_args = ? ) : object|false

Fetches the next row and returns it as an object. This function is an
alternative to PDOStatement::fetch() with
PDO::FETCH_CLASS or
PDO::FETCH_OBJ style.

When an object is fetched, its properties are assigned from respective column values, and afterwards its constructor is invoked.

Parâmetros

class_name

Name of the created class.

ctor_args

Elements of this array are passed to the constructor.

Valor Retornado

Returns an instance of the required class with property names that correspond to the column names ou false em caso de falha.

Veja Também

  • PDOStatement::fetch() - Fetches the next row from a result set


Retrieve a statement attribute

  • « PDOStatement::fetchObject
  • PDOStatement::getColumnMeta »
  • PHP Manual
  • PDOStatement
  • Retrieve a statement attribute

PDOStatement::getAttribute

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDOStatement::getAttribute — Retrieve a statement attribute

Descrição

public PDOStatement::getAttribute ( int $attribute ) : mixed

Gets an attribute of the statement. Currently, no generic attributes exist but only driver specific:

  • PDO::ATTR_CURSOR_NAME (Firebird and ODBC specific): Get the name of cursor for UPDATE ... WHERE CURRENT OF.

Valor Retornado

Returns the attribute value.

Veja Também

  • PDO::getAttribute() - Recuperar um atributo da conexão com o banco de dados
  • PDO::setAttribute() - Set an attribute
  • PDOStatement::setAttribute() - Define um atributo na instrução


Returns metadata for a column in a result set

  • « PDOStatement::getAttribute
  • PDOStatement::nextRowset »
  • PHP Manual
  • PDOStatement
  • Returns metadata for a column in a result set

PDOStatement::getColumnMeta

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDOStatement::getColumnMeta — Returns metadata for a column in a result set

Descrição

public PDOStatement::getColumnMeta ( int $column ) : array

Retrieves the metadata for a 0-indexed column in a result set as an associative array.

Aviso

Not all PDO drivers support PDOStatement::getColumnMeta().

The following drivers support this method:

  • PDO_DBLIB
  • PDO_MYSQL
  • PDO_PGSQL
  • PDO_SQLITE

Parâmetros

column

The 0-indexed column in the result set.

Valor Retornado

Returns an associative array containing the following values representing the metadata for a single column:

Column metadata
Name | Value
native_type | The PHP native type used to represent the column value.
driver:decl_type | The SQL type used to represent the column value in the database. If the column in the result set is the result of a function, this value is not returned by PDOStatement::getColumnMeta().
flags | Any flags set for this column.
name | The name of this column as returned by the database.
table | The name of this column's table as returned by the database.
len | The length of this column. Normally -1 for types other than floating point decimals.
precision | The numeric precision of this column. Normally 0 for types other than floating point decimals.
pdo_type | The type of this column as represented by the PDO::PARAM_* constants.

Returns false if the requested column does not exist in the result set, or if no result set exists.

Exemplos

Exemplo #1 Retrieving column metadata

The following example shows the results of retrieving the metadata for a single column generated by a function (COUNT) in a PDO_SQLITE driver.

<?php
$select = $DB->query('SELECT COUNT(*) FROM fruit');
$meta = $select->getColumnMeta(0);
var_dump($meta);
?>

O exemplo acima irá imprimir:

array(6) {
  ["native_type"]=>
  string(7) "integer"
  ["flags"]=>
  array(0) {
  }
  ["name"]=>
  string(8) "COUNT(*)"
  ["len"]=>
  int(-1)
  ["precision"]=>
  int(0)
  ["pdo_type"]=>
  int(2)
}

Veja Também

  • PDOStatement::columnCount() - Returns the number of columns in the result set
  • PDOStatement::rowCount() - Returns the number of rows affected by the last SQL statement


Advances to the next rowset in a multi-rowset statement handle

  • « PDOStatement::getColumnMeta
  • PDOStatement::rowCount »
  • PHP Manual
  • PDOStatement
  • Advances to the next rowset in a multi-rowset statement handle

PDOStatement::nextRowset

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDOStatement::nextRowset — Advances to the next rowset in a multi-rowset statement handle

Descrição

public PDOStatement::nextRowset ( ) : bool

Some database servers support stored procedures that return more than one rowset (also known as a result set). PDOStatement::nextRowset() enables you to access the second and subsequent rowsets associated with a PDOStatement object. Each rowset can have a different set of columns from the preceding rowset.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Fetching multiple rowsets returned from a stored procedure

The following example shows how to call a stored procedure, MULTIPLE_ROWSETS, that returns three rowsets. We use a do / while loop to loop over the PDOStatement::nextRowset() method, which returns false and terminates the loop when no more rowsets can be returned.

<?php
$sql = 'CALL multiple_rowsets()';
$stmt = $conn->query($sql);
$i = 1;
do {
    $rowset = $stmt->fetchAll(PDO::FETCH_NUM);
    if ($rowset) {
        printResultSet($rowset, $i);
    }
    $i++;
} while ($stmt->nextRowset());

function printResultSet(&$rowset, $i) {
    print "Result set $i:\n";
    foreach ($rowset as $row) {
        foreach ($row as $col) {
            print $col . "\t";
        }
        print "\n";
    }
    print "\n";
}
?>

O exemplo acima irá imprimir:

Result set 1:
apple    red
banana   yellow

Result set 2:
orange   orange    150
banana   yellow    175

Result set 3:
lime     green
apple    red
banana   yellow

Veja Também

  • PDOStatement::columnCount() - Returns the number of columns in the result set
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::getColumnMeta() - Returns metadata for a column in a result set
  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object


Returns the number of rows affected by the last SQL statement

  • « PDOStatement::nextRowset
  • PDOStatement::setAttribute »
  • PHP Manual
  • PDOStatement
  • Returns the number of rows affected by the last SQL statement

PDOStatement::rowCount

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::rowCount — Returns the number of rows affected by the last SQL statement

Descrição

public PDOStatement::rowCount ( ) : int

PDOStatement::rowCount() returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding PDOStatement object.

If the last SQL statement executed by the associated PDOStatement was a SELECT statement, some databases may return the number of rows returned by that statement. However, this behaviour is not guaranteed for all databases and should not be relied on for portable applications.

Nota:

This method returns "0" (zero) with the SQLite driver at all times, and with the PostgreSQL driver only when setting the PDO::ATTR_CURSOR statement attribute to PDO::CURSOR_SCROLL.

Valor Retornado

Returns the number of rows.

Exemplos

Exemplo #1 Return the number of deleted rows

PDOStatement::rowCount() returns the number of rows affected by a DELETE, INSERT, or UPDATE statement.

<?php
/* Delete all rows from the FRUIT table */
$del = $dbh->prepare('DELETE FROM fruit');
$del->execute();

/* Return number of rows that were deleted */
print("Return number of rows that were deleted:\n");
$count = $del->rowCount();
print("Deleted $count rows.\n");
?>

O exemplo acima irá imprimir algo similar à:

Return number of rows that were deleted:
Deleted 9 rows.

Exemplo #2 Counting rows returned by a SELECT statement

For most databases, PDOStatement::rowCount() does not return the number of rows affected by a SELECT statement. Instead, use PDO::query() to issue a SELECT COUNT(*) statement with the same predicates as your intended SELECT statement, then use PDOStatement::fetchColumn() to retrieve the number of matching rows.

<?php
$sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";
$res = $conn->query($sql);
$count = $res->fetchColumn();

print "There are " .  $count . " matching records.";

O exemplo acima irá imprimir algo similar à:

There are 2 matching records.

Veja Também

  • PDOStatement::columnCount() - Returns the number of columns in the result set
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set
  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object


Define um atributo na instrução

  • « PDOStatement::rowCount
  • PDOStatement::setFetchMode »
  • PHP Manual
  • PDOStatement
  • Define um atributo na instrução

PDOStatement::setAttribute

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDOStatement::setAttribute — Define um atributo na instrução

Descrição

public PDOStatement::setAttribute ( int $attribute , mixed $value ) : bool

Define um atributo na instrução. Atualmente não há atributos genericos definidos, apenas atributos específicos do driver:

  • PDO::ATTR_CURSOR_NAME (Específico do Firebird e do ODBC): Define o nome do cursor para UPDATE ... WHERE CURRENT OF.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • PDO::getAttribute() - Recuperar um atributo da conexão com o banco de dados
  • PDO::setAttribute() - Set an attribute
  • PDOStatement::getAttribute() - Retrieve a statement attribute


Define o modo de carga de dados para esta instrução

  • « PDOStatement::setAttribute
  • PDOException »
  • PHP Manual
  • PDOStatement
  • Define o modo de carga de dados para esta instrução

PDOStatement::setFetchMode

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDOStatement::setFetchMode — Define o modo de carga de dados para esta instrução

Descrição

public PDOStatement::setFetchMode ( int $mode ) : bool
public PDOStatement::setFetchMode ( int $PDO::FETCH_COLUMN , int $colno ) : bool
public PDOStatement::setFetchMode ( int $PDO::FETCH_CLASS , string $classname , array $ctorargs ) : bool
public PDOStatement::setFetchMode ( int $PDO::FETCH_INTO , object $object ) : bool

Parâmetros

mode

O modo de carga precisa ser uma das constantes PDO::FETCH_*.

colno

Número da coluna.

classname

Nome da classe.

ctorargs

Argumentos do construtor.

object

Objeto.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Definindo um modo de carga

O seguinte exemplo demonstra como o PDOStatement::setFetchMode() altera o modo padrão de carga em um objeto PDOStatement.

<?php
$sql = 'SELECT name, colour, calories FROM fruit';
try {
  $stmt = $dbh->query($sql);
  $result = $stmt->setFetchMode(PDO::FETCH_NUM);
  while ($row = $stmt->fetch()) {
    print $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
  }
}
catch (PDOException $e) {
  print $e->getMessage();
}
?>

O exemplo acima irá imprimir:

apple   red     150
banana  yellow  250
orange  orange  300
kiwi    brown   75
lemon   yellow  25
pear    green   150
watermelon      pink    90


The PDOException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Represents an error raised by PDO. You should not throw a PDOException from your own code. See Exceptions for more information about Exceptions in PHP.

Sinopse da classe

PDOException extends RuntimeException {
/* Propriedades */
public array $errorInfo ;
protected string $code ;
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Propriedades

errorInfo

Corresponds to PDO::errorInfo() or PDOStatement::errorInfo()

code

SQLSTATE error code. Use Exception::getCode() to access it.


PDO Drivers

Índice

  • CUBRID (PDO)
  • MS SQL Server (PDO)
  • Firebird (PDO)
  • IBM (PDO)
  • Informix (PDO)
  • MySQL (PDO)
  • MS SQL Server (PDO)
  • Oracle (PDO)
  • ODBC and DB2 (PDO)
  • PostgreSQL (PDO)
  • SQLite (PDO)

The following drivers currently implement the PDO interface:

Driver name | Supported databases
PDO_CUBRID | Cubrid
PDO_DBLIB | FreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRD | Firebird
PDO_IBM | IBM DB2
PDO_INFORMIX | IBM Informix Dynamic Server
PDO_MYSQL | MySQL 3.x/4.x/5.x
PDO_OCI | Oracle Call Interface
PDO_ODBC | ODBC v3 (IBM DB2, unixODBC and win32 ODBC)
PDO_PGSQL | PostgreSQL
PDO_SQLITE | SQLite 3 and SQLite 2
PDO_SQLSRV | Microsoft SQL Server / SQL Azure


CUBRID Functions (PDO_CUBRID)

Introdução

PDO_CUBRID is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to CUBRID databases.

Nota:

Current version of PDO_CUBRID doesn't support persistent connection now.

Instalação

To build the PDO_CUBRID extension, the CUBRID DBMS must be installed on the same system as PHP. PDO_CUBRID is a » PECL extension, so follow the instructions in Instalação das extensões PECL to install the PDO_CUBRID extension. Issue the configure command to point to the location of your CUBRID base dir as follows:

   $ ./configure --with-pdo-cubrid=/path/to/CUBRID[,shared]
The configure command defaults to the value of the CUBRID environment variable.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section. Detailed information about installation on Linux and Windows manually, please read build-guide.html in PECL package CUBRID for reference.

Features

PDO_CUBRID Features
Feature | Description
Scrollable cursors | PDO_CUBRID supports scrollable cursors. The default cursor type is forward only, and you can use parameter driver_options in PDO::prepare() to change cursor type.
Timeout | PDO_CUBRID supports sql statement execution timeout setting; You can use PDO::setAttribute() to set timeout value.
Autocommit_mode and Transaction PDO_CUBRID supports both autocommit_mode and transaction, and autocommit_mode is enabled by default. You can use PDO::setAttribute() to change its state.

If you use PDO::beginTransaction() to begin a transaction, it will disable autocommit_mode automatically and restore it after PDO::commit() or PDO::rollBack(). Note that before disabling the autocommit_mode, any pending work is automatically committed.

Multiple SQL Statements | PDO_CUBRID supports Multiple SQL statements. Multiple SQL statements are separated by semicolons (;)
Schema Information | PDO_CUBRID implements a function PDO::cubrid_schema() to get schema information.
LOBs PDO_CUBRID supports BLOB/CLOB data type. The LOB in PDO is represented as a stream, so you can insert LOBs by binding a stream, and get LOBs by reading a stream returned by CUBRID PDO. For example:

Exemplo #1 Insert LOBs in CUBRID PDO

<?php
$fp = fopen('lob_test.png', 'rb');

$sql_stmt = "INSERT INTO lob_test(name, content) VALUES('lob_test.png', ?)";

$stmt = $dbh->prepare($sql_stmt);
$ret = $stmt->bindParam(1, $fp, PDO::PARAM_LOB);
$ret = $stmt->execute();
?>

Exemplo #2 Fetch LOBs in CUBRID PDO

<?php
$sql_stmt = "SELECT content FROM lob_test WHERE name='lob_test.png'";

$stmt = $dbh->prepare($sql_stmt);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_NUM);

header("Content-Type: image/png");
fpassthru($result[0]);
?>

Column meta The PDOStatement::getColumnMeta() in CUBRID PDO will return an associative array containing the following values:
  • type
  • name
  • table
  • def
  • precision
  • scale
  • not_null
  • auto_increment
  • unique_key
  • multiple_key
  • primary_key
  • foreign_key
  • reverse_index
  • reverse_unique
Collection Data Type PDO_CUBRID supports SET/MULTISET/SEQUENCE data type. If you don't specify data type, the default data type is char,for example:

Exemplo #3 Insert set in CUBRID PDO with default data type.

<?php
$conn_str ="cubrid:dbname=demodb;host=localhost;port=33000";
$cubrid_pdo = new PDO($conn_str, 'dba', '');

$cubrid_pdo->exec("DROP TABLE if exists test_tbl");
$cubrid_pdo->exec("CREATE TABLE test_tbl (col_1 SET(VARCHAR))");

$sql_stmt_insert = "INSERT INTO test_tbl VALUES (?);";
$stmt = $cubrid_pdo->prepare($sql_stmt_insert);
$data = array("abc","def","ghi");
$ret = $stmt->bindParam(1, $data, PDO::PARAM_NULL);
$ret = $stmt->execute();
var_Dump($ret);
?>

Exemplo #4 Specify data type when insert set in CUBRID PDO

<?php
$conn_str ="cubrid:dbname=demodb;host=localhost;port=33000";
$cubrid_pdo = new PDO($conn_str, 'dba', '');

$cubrid_pdo->exec("DROP TABLE if exists test_tbl");
$cubrid_pdo->exec("CREATE TABLE test_tbl (col_1 SET(int))");

$sql_stmt_insert = "INSERT INTO test_tbl VALUES (?);";
$stmt = $cubrid_pdo->prepare($sql_stmt_insert);
$data = array(1,2,3,4);
$ret = $stmt->bindParam(1, $data, 0,0,"int");
$ret = $stmt->execute();
var_Dump($ret);
?>

CUBRID Bind Data Types:(The fifth parameter of PDOStatement::bindParam):
  • CHAR
  • STRING
  • NCHAR
  • VARNCHAR
  • BIT
  • VARBIT
  • NUMERIC
  • NUMBER
  • INT
  • SHORT
  • BIGINT
  • MONETARY
  • FLOAT
  • DOUBLE
  • DATE
  • TIME
  • DATETIME
  • TIMESTAMP

Constantes pré-definidas

As constantes abaixo são definidas por este driver, e somente estarão disponíveis quando esta extensão for compilada no PHP ou carregada dinamicamente em tempo de execução. Em adição, estas constantes especificas do drive somente devem ser usadas se você estive usando este drive. Usar atributos especificos do mysql com o driver postgree pode resultar em um funcionamento não esperado. PDO::getAttribute() deve ser usado para obter o atributo PDO_ATTR_DRIVER_NAME para se certificar do driver, se o seu código puder ser usado com vários drivers.

The following constants can be used when setting the database attribute. They can be passed to PDO::getAttribute() or PDO::setAttribute().

PDO::CUBRID attribute flags
Constant | Description
PDO::CUBRID_ATTR_ISOLATION_LEVEL | Transaction isolation level for the database connection.
PDO::CUBRID_ATTR_LOCK_TIMEOUT | Transaction timeout in seconds.
PDO::CUBRID_ATTR_MAX_STRING_LENGTH | Read only. The maximum string length for bit, varbit, char, varchar, nchar, nchar varying data types when using CUBRID PDO API.

The following constants can be used when setting the transaction isolation level. They can be passed to PDO::getAttribute() or returned by PDO::setAttribute().

PDO::CUBRID isolation level flags
Constant | Description
PDO::TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE | The lowest isolation level (1). A dirty, non-repeatable or phantom read may occur for the tuple and a non-repeatable read may occur for the table as well.
PDO::TRAN_COMMIT_CLASS_COMMIT_INSTANCE | A relatively low isolation level (2). A dirty read does not occur, but non-repeatable or phantom read may occur.
PDO::TRAN_REP_CLASS_UNCOMMIT_INSTANCE | The default isolation of CUBRID (3). A dirty, non-repeatable or phantom read may occur for the tuple, but repeatable read is ensured for the table.
PDO::TRAN_REP_CLASS_COMMIT_INSTANCE | A relatively low isolation level (4). A dirty read does not occur, but non-repeatable or phantom read may.
PDO::TRAN_REP_CLASS_REP_INSTANCE | A relatively high isolation level (5). A dirty or non-repeatable read does not occur, but a phantom read may.
PDO::TRAN_SERIALIZABLE | The highest isolation level (6). Problems concerning concurrency (e.g. dirty read, non-repeatable read, phantom read, etc.) do not occur.

The following constants can be used when getting schema information. They can be passed to PDO::cubrid_schema().

PDO::CUBRID schema flags
Constant | Description
PDO::CUBRID_SCH_TABLE | Get name and type of table in CUBRID.
PDO::CUBRID_SCH_VIEW | Get name and type of view in CUBRID.
PDO::CUBRID_SCH_QUERY_SPEC | Get the query definition of view.
PDO::CUBRID_SCH_ATTRIBUTE | Get the attributes of table column.
PDO::CUBRID_SCH_TABLE_ATTRIBUTE | Get the attributes of table.
PDO::CUBRID_SCH_METHOD | Get the instance method. The instance method is a method called by a class instance. It is used more often than the class method because most operations are executed in the instance.
PDO::CUBRID_SCH_TABLE_METHOD | Get the class method. The class method is a method called by a class object. It is usually used to create a new class instance or to initialize it. It is also used to access or update class attributes.
PDO::CUBRID_SCH_METHOD_FILE | Get the information of the file where the method of the table is defined.
PDO::CUBRID_SCH_SUPER_TABLE | Get the name and type of table which table inherites attributes from.
PDO::CUBRID_SCH_SUB_TABLE | Get the name and type of table which inherites attributes from this table.
PDO::CUBRID_SCH_CONSTRAINT | Get the table constraints.
PDO::CUBRID_SCH_TRIGGER | Get the table triggers.
PDO::CUBRID_SCH_TABLE_PRIVILEGE | Get the privilege information of table.
PDO::CUBRID_SCH_COL_PRIVILEGE | Get the privilege information of column.
PDO::CUBRID_SCH_DIRECT_SUPER_TABLE | Get the direct super table of table.
PDO::CUBRID_SCH_PRIMARY_KEY | Get the table primary key.
PDO::CUBRID_SCH_IMPORTED_KEYS | Get imported keys of table.
PDO::CUBRID_SCH_EXPORTED_KEYS | Get exported keys of table.
PDO::CUBRID_SCH_CROSS_REFERENCE | Get reference relationship of tow tables.

Índice

  • PDO_CUBRID DSN — Connecting to CUBRID databases
  • PDO::cubrid_schema — Get the requested schema information


Connecting to CUBRID databases

  • « CUBRID (PDO)
  • PDO::cubrid_schema »
  • PHP Manual
  • CUBRID (PDO)
  • Connecting to CUBRID databases

PDO_CUBRID DSN

(PECL PDO_CUBRID >= 8.3.0.0001)

PDO_CUBRID DSN — Connecting to CUBRID databases

Descrição

The PDO_CUBRID Data Source Name (DSN) is composed of the following elements, delimited by semicolons:

DSN prefix

The DSN prefix is cubrid:.

host

The hostname on which the database server resides.

port

The port on which the database server is running.

dbname

The name of the database.

Notas

Nota:

When you estalish the connection to CUBRID, you should give username and password except DSN.

Exemplos

Exemplo #1 PDO_CUBRID DSN examples

The following example shows a PDO_CUBRID DSN for connecting to a CUBRID database:

cubrid:host=localhost;port=33000;dbname=demodb


Get the requested schema information

  • « PDO_CUBRID DSN
  • MS SQL Server (PDO) »
  • PHP Manual
  • CUBRID (PDO)
  • Get the requested schema information

PDO::cubrid_schema

(PECL PDO_CUBRID >= 8.3.0.0001)

PDO::cubrid_schema — Get the requested schema information

Descrição

public PDO::cubrid_schema ( int $schema_type , string $table_name = ? , string $col_name = ? ) : array

This function is used to get the requested schema information from database. You have to designate table_name, if you want to get information on certain table, col_name, if you want to get information on certain column (can be used only with PDO::CUBRID_SCH_COL_PRIVILEGE).

The result of this function is returned as a two-dimensional array (column (associative array) * row (numeric array)). The following tables shows types of schema and the column structure of the result array to be returned based on the schema type.

Result Composition of Each Type
Schema | Column Number | Column Name | Value
PDO::CUBRID_SCH_TABLE | 1 | NAME |
 | 2 | TYPE | 0:system table 1:view 2:table
PDO::CUBRID_SCH_VIEW | 1 | NAME |
 | 2 | TYPE | 1:view
PDO::CUBRID_SCH_QUERY_SPEC | 1 | QUERY_SPEC |
PDO::CUBRID_SCH_ATTRIBUTE / PDO::CUBRID_SCH_TABLE_ATTRIBUTE | 1 | ATTR_NAME |
 | 2 | DOMAIN |
 | 3 | SCALE |
 | 4 | PRECISION |
 | 5 | INDEXED | 1:indexed
 | 6 | NOT NULL | 1:not null
 | 7 | SHARED | 1:shared
 | 8 | UNIQUE | 1:unique
 | 9 | DEFAULT |
 | 10 | ATTR_ORDER | base:1
 | 11 | CLASS_NAME |
 | 12 | SOURCE_CLASS |
 | 13 | IS_KEY | 1:key
PDO::CUBRID_SCH_METHOD / PDO::CUBRID_SCH_TABLE_METHOD | 1 | NAME |
 | 2 | RET_DOMAIN |
 | 3 | ARG_DOMAIN |
PDO::CUBRID_SCH_METHOD_FILE | 1 | METHOD_FILE |
PDO::CUBRID_SCH_SUPER_TABLE / PDO::CUBRID_SCH_DIRECT_SUPER_TABLE / PDO::CUBRID_SCH_SUB_TABLE | 1 | CLASS_NAME |
 | 2 | TYPE | 0:system table 1:view 2:table
PDO::CUBRID_SCH_CONSTRAINT | 1 | TYPE | 0:unique 1:index 2:reverse unique 3:reverse index
 | 2 | NAME |
 | 3 | ATTR_NAME |
 | 4 | NUM_PAGES |
 | 5 | NUM_KEYS |
 | 6 | PRIMARY_KEY | 1:primary key
 | 7 | KEY_ORDER | base:1
PDO::CUBRID_SCH_TRIGGER | 1 | NAME |
 | 2 | STATUS |
 | 3 | EVENT |
 | 4 | TARGET_CLASS |
 | 5 | TARGET_ATTR |
 | 6 | ACTION_TIME |
 | 7 | ACTION |
 | 8 | PRIORITY |
 | 9 | CONDITION_TIME |
 | 10 | CONDITION |
PDO::CUBRID_SCH_TABLE_PRIVILEGE / PDO::CUBRID_SCH_COL_PRIVILEGE | 1 | CLASS_NAME / ATTR_NAME |
 | 2 | PRIVILEGE |
 | 3 | GRANTABLE |
PDO::CUBRID_SCH_PRIMARY_KEY | 1 | CLASS_NAME |
 | 2 | ATTR_NAME |
 | 3 | KEY_SEQ | base:1
 | 4 | KEY_NAME |
PDO::CUBRID_SCH_IMPORTED_KEYS / PDO::CUBRID_SCH_EXPORTED_KEYS / PDO::CUBRID_SCH_CROSS_REFERENCE | 1 | PKTABLE_NAME |
 | 2 | PKCOLUMN_NAME |
 | 3 | FKTABLE_NAME | base:1
 | 4 | FKCOLUMN_NAME |
 | 5 | KEY_SEQ | base:1
 | 6 | UPDATE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 7 | DELETE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 8 | FK_NAME |
 | 9 | PK_NAME |

Parâmetros

schema_type

Schema type that you want to know.

table_name

Table you want to know the schema of.

col_name

Column you want to know the schema of.

Valor Retornado

Array containing the schema information, when process is successful;

FALSE, when process is unsuccessful

Exemplos

Exemplo #1 A PDO::cubrid_schema() example

This example shows how to get primary key and foreign keys of table game.

<?php
$pk_list = $dbh->cubrid_schema(PDO::CUBRID_SCH_PRIMARY_KEY, "game");
print_r($pk_list);

$fk_list = $dbh->cubrid_schema(PDO::CUBRID_SCH_IMPORTED_KEYS, "game");
print_r($fk_list);
?>

O exemplo acima irá imprimir:

Result:
Array
(
    [0] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => athlete_code
            [KEY_SEQ] => 3
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

    [1] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => event_code
            [KEY_SEQ] => 2
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

    [2] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => host_year
            [KEY_SEQ] => 1
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

)
Array
(
    [0] => Array
        (
            [PKTABLE_NAME] => athlete
            [PKCOLUMN_NAME] => code
            [FKTABLE_NAME] => game
            [FKCOLUMN_NAME] => athlete_code
            [KEY_SEQ] => 1
            [UPDATE_RULE] => 1
            [DELETE_RULE] => 1
            [FK_NAME] => fk_game_athlete_code
            [PK_NAME] => pk_athlete_code
        )

    [1] => Array
        (
            [PKTABLE_NAME] => event
            [PKCOLUMN_NAME] => code
            [FKTABLE_NAME] => game
            [FKCOLUMN_NAME] => event_code
            [KEY_SEQ] => 1
            [UPDATE_RULE] => 1
            [DELETE_RULE] => 1
            [FK_NAME] => fk_game_event_code
            [PK_NAME] => pk_event_code
        )

)


Microsoft SQL Server and Sybase Functions (PDO_DBLIB)

Introdução

PDO_DBLIB is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Microsoft SQL Server and Sybase databases through the FreeTDS library.

This extension is not available anymore on Windows with PHP 5.3 or later.

On Windows, you should use SqlSrv, an alternative driver for MS SQL is available from Microsoft: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx .

If it is not possible to use SqlSrv, you can use the PDO_ODBC driver to connect to Microsoft SQL Server and Sybase databases, as the native Windows DB-LIB is ancient, thread un-safe and no longer supported by Microsoft.

Índice

  • PDO_DBLIB DSN — Connecting to Microsoft SQL Server and Sybase databases


Connecting to Microsoft SQL Server and Sybase databases

  • « MS SQL Server (PDO)
  • Firebird (PDO) »
  • PHP Manual
  • MS SQL Server (PDO)
  • Connecting to Microsoft SQL Server and Sybase databases

PDO_DBLIB DSN

(PECL PDO_DBLIB >= 0.9.0)

PDO_DBLIB DSN — Connecting to Microsoft SQL Server and Sybase databases

Descrição

The PDO_DBLIB Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is sybase: if PDO_DBLIB was linked against the Sybase ct-lib libraries, mssql: if PDO_DBLIB was linked against the Microsoft SQL Server libraries, or dblib: if PDO_DBLIB was linked against the FreeTDS libraries.

host

The hostname on which the database server resides. Defaults to 127.0.0.1.

dbname

The name of the database.

charset

The client character set.

appname

The application name (used in sysprocesses). Defaults to "PHP Generic DB-lib" or "PHP freetds".

secure

Currently unused.

Exemplos

Exemplo #1 PDO_DBLIB DSN examples

The following examples show a PDO_DBLIB DSN for connecting to Microsoft SQL Server and Sybase databases:

mssql:host=localhost;dbname=testdb
sybase:host=localhost;dbname=testdb
dblib:host=localhost;dbname=testdb


Firebird Functions (PDO_FIREBIRD)

Introdução

PDO_FIREBIRD is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Firebird database.

Instalação

Use --with-pdo-firebird[=DIR] to install the PDO Firebird extension, where the optional [=DIR] is the Firebird base install directory.

$ ./configure --with-pdo-firebird

Constantes pré-definidas

As constantes abaixo são definidas por este driver, e somente estarão disponíveis quando esta extensão for compilada no PHP ou carregada dinamicamente em tempo de execução. Em adição, estas constantes especificas do drive somente devem ser usadas se você estive usando este drive. Usar atributos especificos do mysql com o driver postgree pode resultar em um funcionamento não esperado. PDO::getAttribute() deve ser usado para obter o atributo PDO_ATTR_DRIVER_NAME para se certificar do driver, se o seu código puder ser usado com vários drivers.

PDO::FB_ATTR_DATE_FORMAT (int)

Available since PHP 5.3.0.

Sets the date format.

PDO::FB_ATTR_TIME_FORMAT (int)

Sets the time format.

Available since PHP 5.3.0.

PDO::FB_ATTR_TIMESTAMP_FORMAT (int)

Sets the timestamp format.

Available since PHP 5.3.0.

Índice

  • PDO_FIREBIRD DSN — Connecting to Firebird databases


Connecting to Firebird databases

  • « Firebird (PDO)
  • IBM (PDO) »
  • PHP Manual
  • Firebird (PDO)
  • Connecting to Firebird databases

PDO_FIREBIRD DSN

(PECL PDO_FIREBIRD >= 0.1.0)

PDO_FIREBIRD DSN — Connecting to Firebird databases

Descrição

The PDO_FIREBIRD Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is firebird:.

dbname

The name of the database.

charset

The character set.

role

The SQL role name.

dialect

The dialect of the database; either 1 or 3. If not specified, the dialect defaults to 3. Available as of PHP 7.4.0.

Exemplos

Exemplo #1 PDO_FIREBIRD DSN example with path

The following example shows a PDO_FIREBIRD DSN for connecting to Firebird databases:

firebird:dbname=/path/to/DATABASE.FDB

Exemplo #2 PDO_FIREBIRD DSN example with port and path

The following example shows a PDO_FIREBIRD DSN for connecting to a Firebird database using hostname port and path:

firebird:dbname=hostname/port:/path/to/DATABASE.FDB

Exemplo #3 PDO_FIREBIRD DSN example with localhost and path to employee.fdb on Debian system

The following example shows a PDO_FIREBIRD DSN for connecting to a Firebird database employee.fdb using localhost:

firebird:dbname=localhost:/var/lib/firebird/2.5/data/employee.fdb

Exemplo #4 PDO_FIREBIRD DSN to connect to a dialect 1 database

The following example shows a PDO_FIREBIRD DSN for connecting to a Firebird database test.fdb which has been created using dialect 1. This is only supported as of PHP 7.4.0.

firebird:dbname=localhost:/var/lib/firebird/2.5/data/test.fdb;CHARSET=Windows-1252;dialect=1


IBM Functions (PDO_IBM)

Introdução

PDO_IBM is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to IBM databases.

Instalação

To build the PDO_IBM extension, the DB2 Client v9.1 or later must be installed on the same system as PHP. The DB2 Client can be downloaded from the IBM » Application Development Site.

Nota: Note

The DB2 Client v9.1 or later supports direct access to DB2 for Linux, UNIX, and Windows v8 and v9.1 servers.

The DB2 Client v9.1 also supports access to DB2 UDB for i5 and DB2 UDB for z/OS servers using the separately purchased » DB2 Connect product.

PDO_IBM is a » PECL extension, so follow the instructions in Instalação das extensões PECL to install the PDO_IBM extension. Issue the configure command to point to the location of your DB2 Client header files and libraries as follows:

bash$ ./configure --with-pdo-ibm=/path/to/sqllib[,shared]
The configure command defaults to the value of the DB2DIR environment variable.

Índice

  • PDO_IBM DSN — Connecting to IBM databases


Connecting to IBM databases

  • « IBM (PDO)
  • Informix (PDO) »
  • PHP Manual
  • IBM (PDO)
  • Connecting to IBM databases

PDO_IBM DSN

(PECL PDO_IBM >= 0.9.0)

PDO_IBM DSN — Connecting to IBM databases

Descrição

The PDO_IBM Data Source Name (DSN) is based on the IBM CLI DSN. The major components of the PDO_IBM DSN are:

DSN prefix

The DSN prefix is ibm:.

DSN

The DSN can be any of the following:

  • a) Data source setup using db2cli.ini or odbc.ini

  • b) Catalogued database name i.e. database alias in the DB2 client catalog

  • c) Complete connection string in the following format: DRIVER={IBM DB2 ODBC DRIVER};DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password; where the parameters represent the following values:

    database

    The name of the database.

    hostname

    The hostname or IP address of the database server.

    port

    The TCP/IP port on which the database is listening for requests.

    username

    The username with which you are connecting to the database.

    password

    The password with which you are connecting to the database.

Exemplos

Exemplo #1 PDO_IBM DSN example using db2cli.ini

The following example shows a PDO_IBM DSN for connecting to an DB2 database cataloged as DB2_9 in db2cli.ini:

$db = new PDO("ibm:DSN=DB2_9", "", "");

[DB2_9]
Database=testdb
Protocol=tcpip
Hostname=11.22.33.444
Servicename=56789

Exemplo #2 PDO_IBM DSN example using a connection string

The following example shows a PDO_IBM DSN for connecting to an DB2 database named testdb using the DB2 CLI connection string syntax.

$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
  "HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass");


Informix Functions (PDO_INFORMIX)

Introdução

PDO_INFORMIX is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Informix databases.

Instalação

To build the PDO_INFORMIX extension, the Informix Client SDK 2.81 UC1 or higher must be installed on the same system as PHP. The Informix Client SDK is available from the » IBM Informix Support Site.

PDO_INFORMIX is a » PECL extension, so follow the instructions in Instalação das extensões PECL to install the PDO_INFORMIX extension. Issue the configure command to point to the location of your Informix Client SDK header files and libraries as follows:

   bash$ ./configure --with-pdo-informix=/path/to/SDK[,shared]
The configure command defaults to the value of the INFORMIXDIR environment variable.

Scrollable cursors

PDO_INFORMIX supports scrollable cursors; however, they are not enabled by default. To enable scrollable cursor support, you must either set ENABLESCROLLABLECURSORS=1 in the corresponding ODBC connection settings in odbc.ini or pass the EnableScrollableCursors=1 clause in the DSN connection string.

Índice

  • PDO_INFORMIX DSN — Connecting to Informix databases


Connecting to Informix databases

  • « Informix (PDO)
  • MySQL (PDO) »
  • PHP Manual
  • Informix (PDO)
  • Connecting to Informix databases

PDO_INFORMIX DSN

(PECL PDO_INFORMIX >= 0.1.0)

PDO_INFORMIX DSN — Connecting to Informix databases

Descrição

The PDO_INFORMIX Data Source Name (DSN) is based on the Informix ODBC DSN string. Details on configuring an Informix ODBC DSN are available from the » Informix Dynamic Server Information Center. The major components of the PDO_INFORMIX DSN are:

DSN prefix

The DSN prefix is informix:.

DSN

The DSN can be either a data source setup using odbc.ini or a complete » connection string.

Exemplos

Exemplo #1 PDO_INFORMIX DSN example using odbc.ini

The following example shows a PDO_INFORMIX DSN for connecting to an Informix database cataloged as Infdrv33 in odbc.ini:

$db = new PDO("informix:DSN=Infdrv33", "", "");

[ODBC Data Sources]
Infdrv33=INFORMIX 3.3 32-BIT

[Infdrv33]
Driver=/opt/informix/csdk_2.81.UC1G2/lib/cli/iclis09b.so
Description=INFORMIX 3.3 32-BIT
Database=common_db
LogonID=testuser
pwd=testpass
Servername=ids_server
DB_LOCALE=en_US.819
OPTIMIZEAUTOCOMMIT=1
ENABLESCROLLABLECURSORS=1

Exemplo #2 PDO_INFORMIX DSN example using a connection string

The following example shows a PDO_INFORMIX DSN for connecting to an Informix database named common_db using the Informix connection string syntax.

$db = new PDO("informix:host=host.domain.com; service=9800;
    database=common_db; server=ids_server; protocol=onsoctcp;
    EnableScrollableCursors=1", "testuser", "tespass");


Funções do MySQL (PDO_MYSQL)

Introdução

PDO_MYSQL é um driver que implementa a interface PHP Data Objects (PDO) para habilitar o acesso do PHP ao MySQL 3.x, 4.x and 5.x.

PDO_MYSQL utiliza as vantagens do suporte nativo à prepared statement presente no MySQL 4.1 e superior. Se você está usando uma versão antiga da biblioteca do cliente mysql, o PDO irá emular o prepared statement.

Aviso

Cuidado: Alguns tipos de tabelas do MySQL (storage engines) não suportam transações. Ao escrever código para um banco de dados transacional onde o tipo de tabela não suporta transações, o MySQL irá entender que a transação foi inicializada com sucesso. Além disso, qualquer query DDL irá, de forma implícita, executar o commit para qualquer transação que esteja pendente.

Instalação

The common Unix distributions include binary versions of PHP that can be installed. Although these binary versions are typically built with support for the MySQL extensions, the extension libraries themselves may need to be installed using an additional package. Check the package manager than comes with your chosen distribution for availability.

For example, on Ubuntu the php5-mysql package installs the ext/mysql, ext/mysqli, and PDO_MYSQL PHP extensions. On CentOS, the php-mysql package also installs these three PHP extensions.

Alternatively, you can compile this extension yourself. Building PHP from source allows you to specify the MySQL extensions you want to use, as well as your choice of client library for each extension.

When compiling, use --with-pdo-mysql[=DIR] to install the PDO MySQL extension, where the optional [=DIR] is the MySQL base library. As of PHP 5.4, mysqlnd is the default library. For details about choosing a library, see Choosing a MySQL library.

Optionally, the --with-mysql-sock[=DIR] sets to location to the MySQL unix socket pointer for all MySQL extensions, including PDO_MYSQL. If unspecified, the default locations are searched.

Optionally, the --with-zlib-dir[=DIR] is used to set the path to the libz install prefix.

$ ./configure --with-pdo-mysql --with-mysql-sock=/var/mysql/mysql.sock

SSL support is enabled using the appropriate PDO_MySQL constants, which is equivalent to calling the » MySQL C API function mysql_ssl_set(). Also, SSL cannot be enabled with PDO::setAttribute because the connection already exists. See also the MySQL documentation about » connecting to MySQL with SSL.

Constantes pré-definidas

As constantes abaixo são definidas por este driver, e somente estarão disponíveis quando esta extensão for compilada no PHP ou carregada dinamicamente em tempo de execução. Em adição, estas constantes especificas do drive somente devem ser usadas se você estive usando este drive. Usar atributos especificos do mysql com o driver postgree pode resultar em um funcionamento não esperado. PDO::getAttribute() deve ser usado para obter o atributo PDO_ATTR_DRIVER_NAME para se certificar do driver, se o seu código puder ser usado com vários drivers.

PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (integer)
Se esse atributo é definido como true em um PDOStatement, o driver MySQL usará a versão bufferizada da API do MySQL. Se você está escrevendo um código portável, você deve usar PDOStatement::fetchAll().

Exemplo #1 Forçando queries a serem bufferizadas no mysql

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
    $stmt = $db->prepare('select * from foo',
        array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
} else {
    die("my application only works with mysql; I should use \$stmt->fetchAll() instead");
}
?>

PDO::MYSQL_ATTR_LOCAL_INFILE (integer)

Habilita LOAD LOCAL INFILE.

Note que essa constante só pode ser usada no array driver_options ao construir um novo manipulador de banco de dados.

PDO::MYSQL_ATTR_INIT_COMMAND (integer)

Comando para executar ao se conectar no servidor MySQL. Irá ser executado novamente ao reconectar.

Note que essa constante só pode ser usada no array driver_options ao construir um novo manipulador de banco de dados.

PDO::MYSQL_ATTR_READ_DEFAULT_FILE (integer)

Lê configurações do arquivo definido nas opções ao invés do arquivo my.cnf. Essa opção não está disponível se mysqlnd for usado, porque mysqlnd não lê os arquivos de configurações do mysql.

PDO::MYSQL_ATTR_READ_DEFAULT_GROUP (integer)

Lê configurações do grupo nomeado em my.cnf ou no arquivo especificado com MYSQL_READ_DEFAULT_FILE. Essa opção não está disponível se mysqlnd for usado, porque mysqlnd não lê os arquivos de configurações do mysql.

PDO::MYSQL_ATTR_MAX_BUFFER_SIZE (integer)

Tamanho máximo do buffer. O padrão é 1 MiB. Essa constante não é suportada quando utilizado mysqlnd.

PDO::MYSQL_ATTR_DIRECT_QUERY (integer)

Executa queries diretamente, não usa prepared statements.

PDO::MYSQL_ATTR_FOUND_ROWS (integer)

Retorna a quantidade de linhas encontradas (matched), e não a quantidade de linhas modificadas.

PDO::MYSQL_ATTR_IGNORE_SPACE (integer)

Permite espaços depois do nome das funções. Torna o nome de todas as funções palavras reservadas.

PDO::MYSQL_ATTR_COMPRESS (integer)

Habilita a compressão na comunicação de rede. Também é suportado quando é compilado usando mysqlnd a partir do PHP 5.3.11.

PDO::MYSQL_ATTR_SSL_CA (integer)

Caminho para o arquivo da autoridade certificadora (CA) SSL.

Isto existe desde o PHP 5.3.7.

PDO::MYSQL_ATTR_SSL_CAPATH (integer)

Caminho para o diretório que contém os certificados SSL confiáveis da autoridade certificadora (CA), armazenados no formato PEM.

Isto existe desde o PHP 5.3.7.

PDO::MYSQL_ATTR_SSL_CERT (integer)

Caminho para o certificado SSL.

Isto existe desde o PHP 5.3.7.

PDO::MYSQL_ATTR_SSL_CIPHER (integer)

Uma lista de um ou mais "ciphers" admissíveis para usar na encriptação SSL, em um formato compreendido pelo OpenSSL. For example: DHE-RSA-AES256-SHA:AES128-SHA

Isto existe desde o PHP 5.3.7.

PDO::MYSQL_ATTR_SSL_KEY (integer)

Caminho para a chave SSL.

Isto existe desde o PHP 5.3.7.

PDO::MYSQL_ATTR_MULTI_STATEMENTS (integer)

Desabilita a execução de queries múltiplas nas funções PDO::prepare() e PDO::query() quando definido como false.

Note que essa constante só pode ser usada no array driver_options ao construir um novo manipulador de banco de dados.

Isto existe desde o PHP 5.5.21 and PHP 5.6.5.

Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

PDO_MYSQL Configuration Options
Nome | Padrão | Modificável
pdo_mysql.default_socket | "/tmp/mysql.sock" | PHP_INI_SYSTEM
pdo_mysql.debug | NULL | PHP_INI_SYSTEM
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

pdo_mysql.default_socket string

Sets a Unix domain socket. This value can either be set at compile time if a domain socket is found at configure. This ini setting is Unix only.

pdo_mysql.debug bool

Enables debugging for PDO_MYSQL. This setting is only available when PDO_MYSQL is compiled against mysqlnd and in PDO debug mode.

Índice

  • PDO_MYSQL DSN — Conectando a bancos de dados MySQL


Conectando a bancos de dados MySQL

  • « MySQL (PDO)
  • MS SQL Server (PDO) »
  • PHP Manual
  • MySQL (PDO)
  • Conectando a bancos de dados MySQL

PDO_MYSQL DSN

(PECL PDO_MYSQL >= 0.1.0)

PDO_MYSQL DSN — Conectando a bancos de dados MySQL

Descrição

O PDO_MYSQL Data Source Name (DSN) é composto dos seguintes elementos:

DSN prefix

O prefixo DSN é mysql:.

host

O hostname no qual o servidor do banco de dados está.

port

O número da porta onde o servidor do banco de dados está escutando.

dbname

O nome do banco de dados.

unix_socket

O socket Unix do MySQL (não deve ser usado com host ou port).

charset

O character set. Veja a documentação de character set para mais informações.

Em versões anteriores ao PHP 5.3.6, esse elemento era ignorado de forma silenciosa. O mesmo comportamente pode ser parcialmente replicado com a opção PDO::MYSQL_ATTR_INIT_COMMAND, assim como o exemplo a seguir demonstra.

Aviso

O método no exemplo abaixo pode ser usado com os character sets que compartilham a mesma representação que ASCII nos 7 bits mais baixos, como ISO-8859-1 e UTF-8. Usuários utilizando character sets que possuem diferentes representações (como UTF-16 ou Big5) devem usar a opção charset disponível no PHP 5.3.6 e versões posteriores.

Exemplo #1 Configurando o character set como UTF-8 antes do PHP 5.3.6

<?php
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'username';
$password = 'password';
$options = array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);

$dbh = new PDO($dsn, $username, $password, $options);
?>

Changelog

Versão | Descrição
5.3.6 | Antes do PHP 5.3.6, o charset era ignorado.

Exemplos

Exemplo #2 PDO_MYSQL DSN examples

O exemplo a seguir demonstra um PDO_MYSQL DSN para conexão com banco de dados MySQL:

mysql:host=localhost;dbname=testdb
Exemplos mais completos:
mysql:host=localhost;port=3307;dbname=testdb
mysql:unix_socket=/tmp/mysql.sock;dbname=testdb

Notas

Nota: Somente em Unix:

Quando o hostname é definido como "localhost", a conexão ao servidor é feita através de um socket de domínio. Se o PDO_MYSQL é compilado usando libmysqlclient, a localização do socket é a mesma localização da compilação de libmysqlclient. Se PDO_MYSQL foi compilado usando mysqlnd, um socket padrão pode ser definido através da configuração pdo_mysql.default_socket.


Microsoft SQL Server Functions (PDO_SQLSRV)

Introdução

PDO_SQLSRV is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to MS SQL Server (starting with SQL Server 2005) and SQL Azure databases.

Instalação

The PDO_SQLSRV extension is enabled by adding appropriate DLL file to your PHP extension directory and the corresponding entry to the php.ini file. The PDO_SQLSRV download comes 8 driver files, four of which are for PDO support. If you are running non-thread-safe PHP (PHP 5.3), use the php_pdo_sqlsrv_53_nts.dll file. (You should use a non-thread-safe version if you are using IIS as your web server). If you are running thread-safe PHP, use the php_pdo_sqlsrv_53_ts.dll file. Similarly for PHP 5.4, use the php_pdo_sqlsrv_54_nts.dll or php_pdo_sqlsrv_54_ts.dll depending on whether your PHP installation is non-thread-safe or thread-safe.

The most recent version of the driver is available for download here: » SQLSRV download. If you need support for PHP 5.2 and/or PHP compiled with VC6, use the 2.0 release of the driver: » SQLSRV 2.0 download. The driver sources are hosted in a » public repository.

For more information about system requirements, see » SQLSRV System Requirements.

The PDO_SQLSRV extension is only compatible with PHP running on Windows. For Linux, see ODBC and » Microsoft's SQL Server ODBC Driver for Linux.

Constantes pré-definidas

As constantes abaixo são definidas por este driver, e somente estarão disponíveis quando esta extensão for compilada no PHP ou carregada dinamicamente em tempo de execução. Em adição, estas constantes especificas do drive somente devem ser usadas se você estive usando este drive. Usar atributos especificos do mysql com o driver postgree pode resultar em um funcionamento não esperado. PDO::getAttribute() deve ser usado para obter o atributo PDO_ATTR_DRIVER_NAME para se certificar do driver, se o seu código puder ser usado com vários drivers.

PDO::SQLSRV_TXN_READ_UNCOMMITTED (int)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Read Uncommitted.
PDO::SQLSRV_TXN_READ_COMMITTED (int)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Read Committed.
PDO::SQLSRV_TXN_REPEATABLE_READ (int)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Repeateable Read.
PDO::SQLSRV_TXN_SNAPSHOT (int)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Snapshot.
PDO::SQLSRV_TXN_SERIALIZABLE (int)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Serializable.
PDO::SQLSRV_ENCODING_BINARY (int)
Specifies that data is sent/retrieved as a raw byte stream to/from the server without performing encoding or translation. This constant can be passed to PDOStatement::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_SYSTEM (int)
Specifies that data is sent/retrieved to/from the server as 8-bit characters as specified in the code page of the Windows locale that is set on the system. Any multi-byte characters or characters that do not map into this code page are substituted with a single byte question mark (?) character. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_UTF8 (int)
Specifies that data is sent/retrieved to/from the server in UTF-8 encoding. This is the default encoding. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_DEFAULT (int)
Specifies that data is sent/retrieved to/from the server according to PDO::SQLSRV_ENCODING_SYSTEM if specified during connection. The connection's encoding is used if specified in a prepare statement. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ATTR_QUERY_TIMEOUT (int)
A non-negative integer representing the timeout period, in seconds. Zero (0) is the default and means no timeout. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, and PDO::prepare.
PDO::SQLSRV_ATTR_DIRECT_QUERY (int)
Indicates that a query should be executed directly, without being prepared. This constant can be passed to PDO::setAttribute, and PDO::prepare. For more information, see » Direct and Prepared Statement Execution.

Índice

  • PDO_SQLSRV DSN — Connecting to MS SQL Server and SQL Azure databases


Connecting to MS SQL Server and SQL Azure databases

  • « MS SQL Server (PDO)
  • Oracle (PDO) »
  • PHP Manual
  • MS SQL Server (PDO)
  • Connecting to MS SQL Server and SQL Azure databases

PDO_SQLSRV DSN

(PECL pdo_sqlsrv >= 2.0.1)

PDO_SQLSRV DSN — Connecting to MS SQL Server and SQL Azure databases

Descrição

The PDO_SQLSRV Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is sqlsrv:.

APP

The application name used in tracing.

ConnectionPooling

Specifies whether the connection is assigned from a connection pool (1 or true) or not (0 or false).

Database

The name of the database.

Encrypt

Specifies whether the communication with SQL Server is encrypted (1 or true) or unencrypted (0 or false).

Failover_Partner

Specifies the server and instance of the database's mirror (if enabled and configured) to use when the primary server is unavailable.

LoginTimeout

Specifies the number of seconds to wait before failing the connection attempt.

MultipleActiveResultSets

Disables or explicitly enables support for multiple active Result sets (MARS).

QuotedId

Specifies whether to use SQL-92 rules for quoted identifiers (1 or true) or to use legacy Transact-SQL rules (0 or false).

Server

The name of the database server.

TraceFile

Specifies the path for the file used for trace data.

TraceOn

Specifies whether ODBC tracing is enabled (1 or true) or disabled (0 or false) for the connection being established.

TransactionIsolation

Specifies the transaction isolation level. The accepted values for this
option are PDO::SQLSRV_TXN_READ_UNCOMMITTED, PDO::SQLSRV_TXN_READ_COMMITTED,
PDO::SQLSRV_TXN_REPEATABLE_READ, PDO::SQLSRV_TXN_SNAPSHOT, and
PDO::SQLSRV_TXN_SERIALIZABLE.

TrustServerCertificate

Specifies whether the client should trust (1 or true) or reject (0 or false) a self-signed server certificate.

WSID

Specifies the name of the computer for tracing.

Exemplos

Exemplo #1 PDO_SQLSRV DSN examples

The following example shows how to connecto to a specified MS SQL Server database:

$c = new PDO("sqlsrv:Server=localhost;Database=testdb", "UserName", "Password");

The following example shows how to connect to a MS SQL Server database on a specified port:

$c = new PDO("sqlsrv:Server=localhost,1521;Database=testdb", "UserName", "Password");

The following example shows how to connecto to a SQL Azure database with server ID 12345abcde. Note that when you connect to SQL Azure with PDO, your username will be UserName@12345abcde (UserName@ServerId).

$c = new PDO("sqlsrv:Server=12345abcde.database.windows.net;Database=testdb", "UserName@12345abcde", "Password");


Oracle Functions (PDO_OCI)

Instalação

If the Oracle Database is on the same machine as PHP, the database software already contains the necessary libraries. When PHP is on a different machine, use the free » Oracle Instant Client libraries. For details refer to the OCI8 Requirements section.

Use --with-pdo-oci[=DIR] to install the PDO Oracle OCI extension, where the optional [=DIR] is the Oracle Home directory. [=DIR] defaults to the $ORACLE_HOME environment variable.

Use --with-pdo-oci=instantclient,prefix,version for an Oracle Instant Client SDK, where prefix and version are configured.

// Using $ORACLE_HOME
$ ./configure --with-pdo-oci

// Using OIC for Linux with 10.2.0.3 RPMs with a /usr prefix
$ ./configure --with-pdo-oci=instantclient,/usr,10.2.0.3

Constantes pré-definidas

As constantes abaixo são definidas por este driver, e somente estarão disponíveis quando esta extensão for compilada no PHP ou carregada dinamicamente em tempo de execução. Em adição, estas constantes especificas do drive somente devem ser usadas se você estive usando este drive. Usar atributos especificos do mysql com o driver postgree pode resultar em um funcionamento não esperado. PDO::getAttribute() deve ser usado para obter o atributo PDO_ATTR_DRIVER_NAME para se certificar do driver, se o seu código puder ser usado com vários drivers.

PDO::OCI_ATTR_ACTION (int)

Provides a way to specify the action on the database session.

Isto existe desde o PHP 7.2.16 and 7.3.3

PDO::OCI_ATTR_CLIENT_INFO (int)

Provides a way to specify the client info on the database session.

Isto existe desde o PHP 7.2.16 and 7.3.3

PDO::OCI_ATTR_CLIENT_IDENTIFIER (int)

Provides a way to specify the client identifier on the database session.

Isto existe desde o PHP 7.2.16 and 7.3.3

PDO::OCI_ATTR_MODULE (int)

Provides a way to specify the module on the database session.

Isto existe desde o PHP 7.2.16 and 7.3.3

Índice

  • PDO_OCI DSN — Connecting to Oracle databases


Connecting to Oracle databases

  • « Oracle (PDO)
  • ODBC and DB2 (PDO) »
  • PHP Manual
  • Oracle (PDO)
  • Connecting to Oracle databases

PDO_OCI DSN

(PECL PDO_OCI >= 0.1.0)

PDO_OCI DSN — Connecting to Oracle databases

Descrição

The PDO_OCI Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is oci:.

dbname (Oracle Instant Client)

The URI for the Oracle Instant Client connection takes the form of dbname=//hostname:port-number/database. If you are connecting to a database defined in tnsnames.ora, use only the name of the database: dbname=database.

charset

The client-side character set for the current environment handle.

Exemplos

Exemplo #1 PDO_OCI DSN examples

The following examples show a PDO_OCI DSN for connecting to Oracle databases:

// Connect to a database defined in tnsnames.ora
oci:dbname=mydb

// Connect using the Oracle Instant Client
oci:dbname=//localhost:1521/mydb


ODBC and DB2 Functions (PDO_ODBC)

Introdução

PDO_ODBC is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to databases through ODBC drivers or through the IBM DB2 Call Level Interface (DB2 CLI) library. PDO_ODBC currently supports three different "flavours" of database drivers:

ibm-db2

Supports access to IBM DB2 Universal Database, Cloudscape, and Apache Derby servers through the free DB2 express-C client.

unixODBC

Supports access to database servers through the unixODBC driver manager and the database's own ODBC drivers.

generic

Offers a compile option for ODBC driver managers that are not explicitly supported by PDO_ODBC.

On Windows, php_pdo_odbc.dll has to be enabled as extension in php.ini. It is linked against the Windows ODBC Driver Manager so that PHP can connect to any database cataloged as a System DSN, and is the recommended driver for connecting to Microsoft SQL Server databases.

Instalação

PDO_ODBC on UNIX systems

  1. As of PHP 5.1, PDO_ODBC is included in the PHP source. You can compile the PDO_ODBC extension as either a static or shared module using the following configure commands.

    ibm_db2

    ./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
    To build PDO_ODBC with the ibm-db2 flavour, you have to have previously installed the DB2 application development headers on the same machine on which you are compiling PDO_ODBC. The DB2 application development headers are an installable option in the DB2 servers, and are also available as part of the DB2 Application Development Client freely available for download from the IBM developerWorks » website.

    If you do not supply a location for the DB2 libraries and headers to the configure command, PDO_ODBC defaults to /home/db2inst1/sqllib.

    unixODBC

    ./configure --with-pdo-odbc=unixODBC,/usr/local
    If you do not supply a location for the unixODBC libraries and headers to the configure command, PDO_ODBC defaults to /usr/local.

    generic
    ./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags

Constantes pré-definidas

As constantes abaixo são definidas por este driver, e somente estarão disponíveis quando esta extensão for compilada no PHP ou carregada dinamicamente em tempo de execução. Em adição, estas constantes especificas do drive somente devem ser usadas se você estive usando este drive. Usar atributos especificos do mysql com o driver postgree pode resultar em um funcionamento não esperado. PDO::getAttribute() deve ser usado para obter o atributo PDO_ATTR_DRIVER_NAME para se certificar do driver, se o seu código puder ser usado com vários drivers.

PDO::ODBC_ATTR_USE_CURSOR_LIBRARY (int)

This option controls whether the ODBC cursor library is used. The ODBC cursor library supports some advanced ODBC features (e.g. block scrollable cursors), which may not be implemented by the driver. The following values are supported:

  • PDO::ODBC_SQL_USE_IF_NEEDED (the default): use the ODBC cursor library when needed.

  • PDO::ODBC_SQL_USE_DRIVER: never use the ODBC cursor library.

  • PDO::ODBC_SQL_USE_ODBC: always use the ODBC cursor library.

PDO::ODBC_ATTR_ASSUME_UTF8 (bool)

Windows only. If true, UTF-16 encoded character data (CHAR, VARCHAR and LONGVARCHAR) is converted to UTF-8 when reading from or writing data to the database. If false (the default), no character encoding conversion is done.

Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

PDO_ODBC Configuration Options
Nome | Padrão | Modificável | Changelog
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Available since PHP 5.1.0.
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Available since PHP 5.1.1. Esta funcionalidade obsoleta será certamente removida no futuro.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

pdo_odbc.connection_pooling string

Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" (equals to ""). The parameter describes how strict the connection manager should be when matching connection parameters to existing pooled connections. strict is the recommend default, and will result in the use of cached connections only when all the connection parameters match exactly. relaxed will result in the use of cached connections when similar connection parameters are used. This can result in increased use of the cache, at the risk of bleeding connection information between (for example) virtual hosts.

This setting can only be changed from the php.ini file, and affects the entire process; any other modules loaded into the process that use the same ODBC libraries will be affected too, including the Unified ODBC extension.

Aviso

relaxed matching should not be used on a shared server, for security reasons.

Dica

Leave this setting at the default strict setting unless you have good reason to change it.

pdo_odbc.db2_instance_name string

If you compile PDO_ODBC using the db2 flavour, this setting sets the value of the DB2INSTANCE environment variable on Linux and UNIX operating systems to the specified name of the DB2 instance. This enables PDO_ODBC to resolve the location of the DB2 libraries and make cataloged connections to DB2 databases.

This setting can only be changed from the php.ini file, and affects the entire process; any other modules loaded into the process that use the same ODBC libraries will be affected too, including the Unified ODBC extension.

This setting has no effect on Windows.

Índice

  • PDO_ODBC DSN — Connecting to ODBC or DB2 databases


Connecting to ODBC or DB2 databases

  • « ODBC and DB2 (PDO)
  • PostgreSQL (PDO) »
  • PHP Manual
  • ODBC and DB2 (PDO)
  • Connecting to ODBC or DB2 databases

PDO_ODBC DSN

(PECL PDO_ODBC >= 0.1.0)

PDO_ODBC DSN — Connecting to ODBC or DB2 databases

Descrição

The PDO_ODBC Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is odbc:. If you are connecting to a database cataloged in the ODBC driver manager or the DB2 catalog, you can append the cataloged name of the database to the DSN.

DSN

The name of the database as cataloged in the ODBC driver manager or the DB2 catalog. Alternately, you can provide a complete ODBC connection string to connect to a database as described at » http://www.connectionstrings.com/.

UID

The name of the user for the connection. If you specify the user name in the DSN, PDO ignores the value of the user name argument in the PDO constructor.

PWD

The password of the user for the connection. If you specify the password in the DSN, PDO ignores the value of the password argument in the PDO constructor.

Exemplos

Exemplo #1 PDO_ODBC DSN example (ODBC driver manager)

The following example shows a PDO_ODBC DSN for connecting to an ODBC database cataloged as testdb in the ODBC driver manager:

odbc:testdb

Exemplo #2 PDO_ODBC DSN example (IBM DB2 uncataloged connection)

The following example shows a PDO_ODBC DSN for connecting to an IBM DB2 database named SAMPLE using the full ODBC DSN syntax:

odbc:DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=localhost;PORT=50000;DATABASE=SAMPLE;PROTOCOL=TCPIP;UID=db2inst1;PWD=ibmdb2;

Exemplo #3 PDO_ODBC DSN example (Microsoft Access uncataloged connection)

The following example shows a PDO_ODBC DSN for connecting to a Microsoft Access database stored at C:\db.mdb using the full ODBC DSN syntax:

odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin


PostgreSQL Functions (PDO_PGSQL)

Introdução

PDO_PGSQL is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to PostgreSQL databases.

Tipos de Recurso

This extension defines a stream resource returned by PDO::pgsqlLOBOpen().

Instalação

Use --with-pdo-pgsql[=DIR] to install the PDO PostgreSQL extension, where the optional [=DIR] is the PostgreSQL base install directory, or the path to pg_config.

$ ./configure --with-pdo-pgsql

Índice

  • PDO_PGSQL DSN — Connecting to PostgreSQL databases
  • PDO::pgsqlCopyFromArray — Copy data from PHP array into table
  • PDO::pgsqlCopyFromFile — Copy data from file into table
  • PDO::pgsqlCopyToArray — Copy data from database table into PHP array
  • PDO::pgsqlCopyToFile — Copy data from table into file
  • PDO::pgsqlGetNotify — Get asynchronous notification
  • PDO::pgsqlGetPid — Get the server PID
  • PDO::pgsqlLOBCreate — Creates a new large object
  • PDO::pgsqlLOBOpen — Opens an existing large object stream
  • PDO::pgsqlLOBUnlink — Deletes the large object


Connecting to PostgreSQL databases

  • « PostgreSQL (PDO)
  • PDO::pgsqlCopyFromArray »
  • PHP Manual
  • PostgreSQL (PDO)
  • Connecting to PostgreSQL databases

PDO_PGSQL DSN

(PHP 5 >= 5.1.0, PHP 7, PECL PDO_PGSQL >= 0.1.0)

PDO_PGSQL DSN — Connecting to PostgreSQL databases

Descrição

The PDO_PGSQL Data Source Name (DSN) is composed of the following elements, delimited by spaces or semicolons:

DSN prefix

The DSN prefix is pgsql:.

host

The hostname on which the database server resides.

port

The port on which the database server is running.

dbname

The name of the database.

user

The name of the user for the connection. If you specify the user name in the DSN, PDO ignores the value of the user name argument in the PDO constructor.

password

The password of the user for the connection. If you specify the password in the DSN, PDO ignores the value of the password argument in the PDO constructor.

Nota:

The bytea fields are returned as streams.

Exemplos

Exemplo #1 PDO_PGSQL DSN examples

The following example shows a PDO_PGSQL DSN for connecting to a PostgreSQL database:

pgsql:host=localhost;port=5432;dbname=testdb;user=bruce;password=mypass


Copy data from PHP array into table

  • « PDO_PGSQL DSN
  • PDO::pgsqlCopyFromFile »
  • PHP Manual
  • PostgreSQL (PDO)
  • Copy data from PHP array into table

PDO::pgsqlCopyFromArray

(PHP 5 >= 5.3.3, PHP 7)

PDO::pgsqlCopyFromArray — Copy data from PHP array into table

Descrição

public PDO::pgsqlCopyFromArray ( string $table_name , array $rows , string $delimiter = '\t' , string $null_as = "\\\\N" , string $fields = ? ) : bool

Copies data from rows array to table table_name using delimiter as fields delimiter and fields list

Parâmetros

table_name

String containing table name

rows

Array of strings with fields separated by delimiter

delimiter

Delimiter used in rows array

null_as

How to interpret null values

fields

List of fields to insert

Valor Retornado

Returns true on success, ou false em caso de falha.


Copy data from file into table

  • « PDO::pgsqlCopyFromArray
  • PDO::pgsqlCopyToArray »
  • PHP Manual
  • PostgreSQL (PDO)
  • Copy data from file into table

PDO::pgsqlCopyFromFile

(PHP 5 >= 5.3.3, PHP 7)

PDO::pgsqlCopyFromFile — Copy data from file into table

Descrição

public PDO::pgsqlCopyFromFile ( string $table_name , string $filename , string $delimiter = '\t' , string $null_as = "\\\\N" , string $fields = ? ) : bool

Copies data from file specified by filename into table table_name using delimiter as fields delimiter and fields list

Parâmetros

table_name

String containing table name

filename

Filename containing data to import

delimiter

Delimiter used in file specified by filename

null_as

How to interpret null values

fields

List of fields to insert

Valor Retornado

Returns true on success, ou false em caso de falha.


Copy data from database table into PHP array

  • « PDO::pgsqlCopyFromFile
  • PDO::pgsqlCopyToFile »
  • PHP Manual
  • PostgreSQL (PDO)
  • Copy data from database table into PHP array

PDO::pgsqlCopyToArray

(PHP 5 >= 5.3.3, PHP 7)

PDO::pgsqlCopyToArray — Copy data from database table into PHP array

Descrição

public PDO::pgsqlCopyToArray ( string $table_name , string $delimiter = '\t' , string $null_as = "\\\\N" , string $fields = ? ) : array|false

Copies data from table into array using delimiter as fields delimiter and fields list

Parâmetros

table_name

String containing table name

delimiter

Delimiter used in rows

null_as

How to interpret null values

fields

List of fields to export

Valor Retornado

Returns an array of rows, ou false em caso de falha.


Copy data from table into file

  • « PDO::pgsqlCopyToArray
  • PDO::pgsqlGetNotify »
  • PHP Manual
  • PostgreSQL (PDO)
  • Copy data from table into file

PDO::pgsqlCopyToFile

(PHP 5 >= 5.3.3, PHP 7)

PDO::pgsqlCopyToFile — Copy data from table into file

Descrição

public PDO::pgsqlCopyToFile ( string $table_name , string $filename , string $delimiter = '\t' , string $null_as = "\\\\N" , string $fields = ? ) : bool

Copies data from table into file specified by filename using delimiter as fields delimiter and fields list

Parâmetros

table_name

String containing table name

filename

Filename to export data

delimiter

Delimiter used in file specified by filename

null_as

How to interpret null values

fields

List of fields to insert

Valor Retornado

Returns true on success, ou false em caso de falha.


Get asynchronous notification

  • « PDO::pgsqlCopyToFile
  • PDO::pgsqlGetPid »
  • PHP Manual
  • PostgreSQL (PDO)
  • Get asynchronous notification

PDO::pgsqlGetNotify

(PHP 5 >= 5.6.0, PHP 7)

PDO::pgsqlGetNotify — Get asynchronous notification

Descrição

public PDO::pgsqlGetNotify ( int $result_type = PDO::FETCH_USE_DEFAULT , int $ms_timeout = 0 ) : array

Returns a result set representing a pending asynchronous notification.

Parâmetros

result_type

The format the result set should be returned as, represented as a PDO::FETCH_* constant.

ms_timeout

The length of time to wait for a response, in milliseconds.

Valor Retornado

If one or more notifications is pending, returns a single row, with fields message and pid, otherwise returns false.


Get the server PID

  • « PDO::pgsqlGetNotify
  • PDO::pgsqlLOBCreate »
  • PHP Manual
  • PostgreSQL (PDO)
  • Get the server PID

PDO::pgsqlGetPid

(PHP 5 >= 5.6.0, PHP 7)

PDO::pgsqlGetPid — Get the server PID

Descrição

public PDO::pgsqlGetPid ( ) : int

Returns the server's PID.

Valor Retornado

The server's PID.


Creates a new large object

  • « PDO::pgsqlGetPid
  • PDO::pgsqlLOBOpen »
  • PHP Manual
  • PostgreSQL (PDO)
  • Creates a new large object

PDO::pgsqlLOBCreate

(PHP 5 >= 5.1.2, PHP 7, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBCreate — Creates a new large object

Descrição

public PDO::pgsqlLOBCreate ( ) : string

PDO::pgsqlLOBCreate() creates a large object and returns the OID of that object. You may then open a stream on the object using PDO::pgsqlLOBOpen() to read or write data to it. The OID can be stored in columns of type OID and be used to reference the large object, without causing the row to grow arbitrarily large. The large object will continue to live in the database until it is removed by calling PDO::pgsqlLOBUnlink().

Large objects can be up to 2GB in size, but are cumbersome to use; you need to ensure that PDO::pgsqlLOBUnlink() is called prior to deleting the last row that references its OID from your database. In addition, large objects have no access controls. As an alternative, try the bytea column type; recent versions of PostgreSQL allow bytea columns of up to 1GB in size and transparently manage the storage for optimal row size.

Nota: This function must be called within a transaction.

Parâmetros

PDO::pgsqlLOBCreate() takes no parameters.

Valor Retornado

Returns the OID of the newly created large object on success, or false on failure.

Exemplos

Exemplo #1 A PDO::pgsqlLOBCreate() example

This example creates a new large object and copies the contents of a file into it. The OID is then stored into a table.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$oid = $db->pgsqlLOBCreate();
$stream = $db->pgsqlLOBOpen($oid, 'w');
$local = fopen($filename, 'rb');
stream_copy_to_stream($local, $stream);
$local = null;
$stream = null;
$stmt = $db->prepare("INSERT INTO BLOBS (ident, oid) VALUES (?, ?)");
$stmt->execute(array($some_id, $oid));
$db->commit();
?>

Veja Também

  • PDO::pgsqlLOBOpen() - Opens an existing large object stream
  • PDO::pgsqlLOBUnlink() - Deletes the large object
  • pg_lo_create() - Cria um objeto grande (large object)


Opens an existing large object stream

  • « PDO::pgsqlLOBCreate
  • PDO::pgsqlLOBUnlink »
  • PHP Manual
  • PostgreSQL (PDO)
  • Opens an existing large object stream

PDO::pgsqlLOBOpen

(PHP 5 >= 5.1.2, PHP 7, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBOpen — Opens an existing large object stream

Descrição

public PDO::pgsqlLOBOpen ( string $oid , string $mode = "rb" ) : resource|false

PDO::pgsqlLOBOpen() opens a stream to access the data referenced by oid. If mode is r, the stream is opened for reading, if mode is w, then the stream will be opened for writing. You can use all the usual filesystem functions, such as fread(), fwrite() and fgets() to manipulate the contents of the stream.

Nota: This function, and all manipulations of the large object, must be called and carried out within a transaction.

Parâmetros

oid

A large object identifier.

mode

If mode is r, open the stream for reading. If mode is w, open the stream for writing.

Valor Retornado

Returns a stream resource on success ou false em caso de falha.

Exemplos

Exemplo #1 A PDO::pgsqlLOBOpen() example

Following on from the PDO::pgsqlLOBCreate() example, this code snippet retrieves the large object from the database and outputs it to the browser.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$stmt = $db->prepare("select oid from BLOBS where ident = ?");
$stmt->execute(array($some_id));
$stmt->bindColumn('oid', $oid, PDO::PARAM_STR);
$stmt->fetch(PDO::FETCH_BOUND);
$stream = $db->pgsqlLOBOpen($oid, 'r');
header("Content-type: application/octet-stream");
fpassthru($stream);
?>

Veja Também

  • PDO::pgsqlLOBCreate() - Creates a new large object
  • PDO::pgsqlLOBUnlink() - Deletes the large object
  • pg_lo_open() - Abre um objeto grande (large object)


Deletes the large object

  • « PDO::pgsqlLOBOpen
  • SQLite (PDO) »
  • PHP Manual
  • PostgreSQL (PDO)
  • Deletes the large object

PDO::pgsqlLOBUnlink

(PHP 5 >= 5.1.2, PHP 7, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBUnlink — Deletes the large object

Descrição

public PDO::pgsqlLOBUnlink ( string $oid ) : bool

Deletes a large object from the database identified by OID.

Nota: This function must be called within a transaction.

Parâmetros

oid

A large object identifier

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 A PDO::pgsqlLOBUnlink() example

This example unlinks a large object from the database prior to deleting the row that references it from the blobs table we've been using in our PDO::pgsqlLOBCreate() and PDO::pgsqlLOBOpen() examples.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$db->pgsqlLOBUnlink($oid);
$stmt = $db->prepare("DELETE FROM BLOBS where ident = ?");
$stmt->execute(array($some_id));
$db->commit();
?>

Veja Também

  • PDO::pgsqlLOBOpen() - Opens an existing large object stream
  • PDO::pgsqlLOBCreate() - Creates a new large object


SQLite Functions (PDO_SQLITE)

Introdução

PDO_SQLITE is a driver that implements the PHP Data Objects (PDO) interface to enable access to SQLite 3 databases.

Nota:

PDO_SQLITE allows using strings apart from streams together with PDO::PARAM_LOB.

Instalação

The PDO_SQLITE PDO driver is enabled by default. To disable, --without-pdo-sqlite[=DIR] may be used, where the optional [=DIR] is the sqlite base install directory. As of PHP 7.4.0 » libsqlite = 3.5.0 is required. Formerly, the bundled libsqlite could have been used instead, and was the default, if [=DIR] has been omitted.

Nota: Additional setup on Windows as of PHP 7.4.0

Para esta extensão funcionar, existem arquivos DLL que devem estar disponíveis no PATH do sistema Windows. Para saber como fazer isso, veja o FAQ intitulado "Como eu adiciono o meu diretório PHP no PATH no Windows". Embora copiando arquivos DLL da pasta do PHP no diretório system do Windows também funcione (porque o diretório system está por padrão no PATH do sistema), isto não é recomendado. Esta extensão requer que os seguintes arquivos estejam no PATH: libsqlite3.dll.

Índice

  • PDO_SQLITE DSN — Connecting to SQLite databases
  • PDO::sqliteCreateAggregate — Registers an aggregating User Defined Function for use in SQL statements
  • PDO::sqliteCreateCollation — Registers a User Defined Function for use as a collating function in SQL statements
  • PDO::sqliteCreateFunction — Registers a User Defined Function for use in SQL statements


Connecting to SQLite databases

  • « SQLite (PDO)
  • PDO::sqliteCreateAggregate »
  • PHP Manual
  • SQLite (PDO)
  • Connecting to SQLite databases

PDO_SQLITE DSN

(PHP 5 >= 5.1.0, PHP 7, PECL PDO_SQLITE >= 0.2.0)

PDO_SQLITE DSN — Connecting to SQLite databases

Descrição

The PDO_SQLITE Data Source Name (DSN) is composed of the following elements:

DSN prefix (SQLite 3)

The DSN prefix is sqlite:.

  • To access a database on disk, the absolute path has to be appended to the DSN prefix.

  • To create a database in memory, :memory: has to be appended to the DSN prefix.

  • If the DSN consists of the DSN prefix only, a temporary database is used, which is deleted when the connection is closed.

Exemplos

Exemplo #1 PDO_SQLITE DSN examples

The following examples show PDO_SQLITE DSN for connecting to SQLite databases:

sqlite:/opt/databases/mydb.sq3
sqlite::memory:
sqlite:


Registers an aggregating User Defined Function for use in SQL statements

  • « PDO_SQLITE DSN
  • PDO::sqliteCreateCollation »
  • PHP Manual
  • SQLite (PDO)
  • Registers an aggregating User Defined Function for use in SQL statements

PDO::sqliteCreateAggregate

(PHP 5 >= 5.1.0, PHP 7, PECL pdo_sqlite >= 1.0.0)

PDO::sqliteCreateAggregate — Registers an aggregating User Defined Function for use in SQL statements

Descrição

public PDO::sqliteCreateAggregate ( string $function_name , callable $step_func , callable $finalize_func , int $num_args = ? ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

This method is similar to PDO::sqliteCreateFunction except that it registers functions that can be used to calculate a result aggregated across all the rows of a query.

The key difference between this method and PDO::sqliteCreateFunction is that two functions are required to manage the aggregate.

Parâmetros

function_name

The name of the function used in SQL statements.

step_func

Callback function called for each row of the result set. Your PHP function should accumulate the result and store it in the aggregation context.

This function need to be defined as:

step ( mixed $context , int $rownumber , mixed $value , mixed ...$values ) : mixed
context

null for the first row; on subsequent rows it will have the value that was previously returned from the step function; you should use this to maintain the aggregate state.

rownumber

The current row number.

value

The first argument passed to the aggregate.

values

Further arguments passed to the aggregate.

The return value of this function will be used as the context argument in the next call of the step or finalize functions.

finalize_func

Callback function to aggregate the "stepped" data from each row. Once all the rows have been processed, this function will be called and it should then take the data from the aggregation context and return the result. This callback function should return a type understood by SQLite (i.e. scalar type).

This function need to be defined as:

fini ( mixed $context , int $rowcount ) : mixed
context

Holds the return value from the very last call to the step function.

rowcount

Holds the number of rows over which the aggregate was performed.

The return value of this function will be used as the return value for the aggregate.

num_args

Hint to the SQLite parser if the callback function accepts a predetermined number of arguments.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 max_length aggregation function example

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$db = new PDO('sqlite::memory:');
$db->exec("CREATE TABLE strings(a)");
$insert = $db->prepare('INSERT INTO strings VALUES (?)');
foreach ($data as $str) {
    $insert->execute(array($str));
}
$insert = null;

function max_len_step($context, $rownumber, $string)
{
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
    return $context;
}

function max_len_finalize($context, $rowcount)
{
    return $context === null ? 0 : $context;
}

$db->sqliteCreateAggregate('max_len', 'max_len_step', 'max_len_finalize');

var_dump($db->query('SELECT max_len(a) from strings')->fetchAll());

?>

In this example, we are creating an aggregating function that will calculate the length of the longest string in one of the columns of the table. For each row, the max_len_step function is called and passed a $context parameter. The context parameter is just like any other PHP variable and be set to hold an array or even an object value. In this example, we are simply using it to hold the maximum length we have seen so far; if the $string has a length longer than the current maximum, we update the context to hold this new maximum length.

After all of the rows have been processed, SQLite calls the max_len_finalize function to determine the aggregate result. Here, we could perform some kind of calculation based on the data found in the $context. In our simple example though, we have been calculating the result as the query progressed, so we simply need to return the context value.

Dica

It is NOT recommended for you to store a copy of the values in the context and then process them at the end, as you would cause SQLite to use a lot of memory to process the query - just think of how much memory you would need if a million rows were stored in memory, each containing a string 32 bytes in length.

Dica

You can use PDO::sqliteCreateFunction and PDO::sqliteCreateAggregate to override SQLite native SQL functions.

Veja Também

  • PDO::sqliteCreateFunction
  • sqlite_create_function()
  • sqlite_create_aggregate()


Registers a User Defined Function for use as a collating function in SQL statements

  • « PDO::sqliteCreateAggregate
  • PDO::sqliteCreateFunction »
  • PHP Manual
  • SQLite (PDO)
  • Registers a User Defined Function for use as a collating function in SQL statements

PDO::sqliteCreateCollation

(PHP 5 >= 5.3.11, PHP 7)

PDO::sqliteCreateCollation — Registers a User Defined Function for use as a collating function in SQL statements

Descrição

public PDO::sqliteCreateCollation ( string $name , callable $callback ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

name

Name of the SQL collating function to be created or redefined.

callback

The name of a PHP function or user-defined function to apply as a callback, defining the behavior of the collation. It should accept two strings and return as strcmp() does, i.e. it should return -1, 1, or 0 if the first string sorts before, sorts after, or is equal to the second.

This function need to be defined as:

collation ( string $string1 , string $string2 ) : int

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 PDO::sqliteCreateCollation() example

<?php
$db = new PDO('sqlite::memory:');
$db->exec("CREATE TABLE test (col1 string)");
$db->exec("INSERT INTO test VALUES ('a1')");
$db->exec("INSERT INTO test VALUES ('a10')");
$db->exec("INSERT INTO test VALUES ('a2')");

$db->sqliteCreateCollation('NATURAL_CMP', 'strnatcmp');
foreach ($db->query("SELECT col1 FROM test ORDER BY col1") as $row) {
  echo $row['col1'] . "\n";
}
echo "\n";
foreach ($db->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP") as $row) {
  echo $row['col1'] . "\n";
}
?>

O exemplo acima irá imprimir:

a1
a10
a2

a1
a2
a10


Registers a User Defined Function for use in SQL statements

  • « PDO::sqliteCreateCollation
  • Vendor Specific Database Extensions »
  • PHP Manual
  • SQLite (PDO)
  • Registers a User Defined Function for use in SQL statements

PDO::sqliteCreateFunction

(PHP 5 >= 5.1.0, PHP 7, PECL pdo_sqlite >= 1.0.0)

PDO::sqliteCreateFunction — Registers a User Defined Function for use in SQL statements

Descrição

public PDO::sqliteCreateFunction ( string $function_name , callable $callback , int $num_args = -1 , int $flags = 0 ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

This method allows you to register a PHP function with SQLite as an UDF (User Defined Function), so that it can be called from within your SQL statements.

The UDF can be used in any SQL statement that can call functions, such as SELECT and UPDATE statements and also in triggers.

Parâmetros

function_name

The name of the function used in SQL statements.

callback

Callback function to handle the defined SQL function.

Nota: Callback functions should return a type understood by SQLite (i.e. scalar type).

This function need to be defined as:

callback ( mixed $value , mixed ...$values ) : mixed
value

The first argument passed to the SQL function.

values

Further arguments passed to the SQL function.

num_args

The number of arguments that the SQL function takes. If this parameter is -1, then the SQL function may take any number of arguments.

flags

A bitwise conjunction of flags. Currently, only PDO::SQLITE_DETERMINISTIC is supported, which specifies that the function always returns the same result given the same inputs within a single SQL statement.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.1.4 | The flags parameter has been added.

Exemplos

Exemplo #1 PDO::sqliteCreateFunction() example

<?php
function md5_and_reverse($string)
{
    return strrev(md5($string));
}

$db = new PDO('sqlite:sqlitedb');
$db->sqliteCreateFunction('md5rev', 'md5_and_reverse', 1);
$rows = $db->query('SELECT md5rev(filename) FROM files')->fetchAll();
?>

In this example, we have a function that calculates the md5 sum of a string, and then reverses it. When the SQL statement executes, it returns the value of the filename transformed by our function. The data returned in $rows contains the processed result.

The beauty of this technique is that you do not need to process the result using a foreach loop after you have queried for the data.

Dica

You can use PDO::sqliteCreateFunction and PDO::sqliteCreateAggregate to override SQLite native SQL functions.

Veja Também

  • PDO::sqliteCreateAggregate
  • sqlite_create_function()
  • sqlite_create_aggregate()


Vendor Specific Database Extensions

  • CUBRID
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • CUBRID Funções
    • CUBRID MySQL Compatibility Functions
    • CUBRID Obsolete Aliases and Functions
  • DB++
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • DB++ Funções
  • dBase
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções da dBase
  • filePro
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções da filePro
  • Firebird/InterBase
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções para Firebird/InterBase
  • FrontBase
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • FrontBase Funções
  • IBM DB2 — IBM DB2, Cloudscape and Apache Derby
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • IBM DB2 Funções
  • Ingres — Ingres DBMS, EDBC, and Enterprise Access Gateways
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Ingres Funções
  • Mongo — MongoDB driver (legacy)
    • Instalação/Configuração
    • Constantes pré-definidas
    • Manual
    • Core Classes
    • Types
    • GridFS Classes
    • Batch Classes
    • Miscellaneous
    • Mongo Funções
    • Exceptions
    • Changelog
  • MongoDB — MongoDB driver
    • Instalação/Configuração
    • Tutorials
    • Driver Architecture and Internals — Explains the driver architecture, and special features
    • Security
    • MongoDB\Driver — MongoDB driver classes
    • MongoDB\BSON — BSON type classes and serialization functions
    • MongoDB\Driver\Monitoring — Monitoring classes and subscriber functions
    • MongoDB\Driver\Exception — Exception classes
  • MySQL — MySQL Drivers and Plugins
    • Overview of the MySQL PHP drivers
    • MySQLi — Extensão MySQL Melhorada
    • Mysql_xdevapi
    • MySQL
    • Mysqlnd — MySQL Native Driver
    • mysqlnd_ms — Mysqlnd replication and load balancing plugin
    • mysqlnd_qc — Mysqlnd query result cache plugin
    • mysqlnd_uh — Mysqlnd user handler plugin
    • mysqlnd_mux — Mysqlnd connection multiplexing plugin
    • mysqlnd_memcache — Mysqlnd Memcache plugin
  • OCI8 — Oracle OCI8
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Connecting Handling
    • OCI8 Fast Application Notification (FAN) Support
    • OCI8 Transparent Application Failover (TAF) Support
    • OCI8 and DTrace Dynamic Tracing
    • Supported Datatypes
    • Funções OCI8
    • OCI-Collection — A classe OCI-Collection
    • OCI-Lob — A classe OCI-Lob
    • Sinônimos e Funções Obsoletas do OCI8
  • Paradox — Paradox File Access
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Paradox Funções
  • PostgreSQL
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • PostgreSQL Funções
  • SQLite3
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • SQLite3 — The SQLite3 class
    • SQLite3Stmt — The SQLite3Stmt class
    • SQLite3Result — The SQLite3Result class
  • SQLSRV — Microsoft SQL Server Driver for PHP
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • SQLSRV Funções
  • tokyo_tyrant
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • TokyoTyrant — The TokyoTyrant class
    • TokyoTyrantTable — The TokyoTyrantTable class
    • TokyoTyrantQuery — The TokyoTyrantQuery class
    • TokyoTyrantIterator — The TokyoTyrantIterator class
    • TokyoTyrantException — The TokyoTyrantException class


CUBRID

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • CUBRID Funções
    • cubrid_bind — Bind variables to a prepared statement as parameters
    • cubrid_close_prepare — Close the request handle
    • cubrid_close_request — Close the request handle
    • cubrid_col_get — Get contents of collection type column using OID
    • cubrid_col_size — Get the number of elements in collection type column using OID
    • cubrid_column_names — Get the column names in result
    • cubrid_column_types — Get column types in result
    • cubrid_commit — Commit a transaction
    • cubrid_connect_with_url — Establish the environment for connecting to CUBRID server
    • cubrid_connect — Open a connection to a CUBRID Server
    • cubrid_current_oid — Get OID of the current cursor location
    • cubrid_disconnect — Close a database connection
    • cubrid_drop — Delete an instance using OID
    • cubrid_error_code_facility — Get the facility code of error
    • cubrid_error_code — Get error code for the most recent function call
    • cubrid_error_msg — Get last error message for the most recent function call
    • cubrid_execute — Execute a prepared SQL statement
    • cubrid_fetch — Fetch the next row from a result set
    • cubrid_free_result — Free the memory occupied by the result data
    • cubrid_get_autocommit — Get auto-commit mode of the connection
    • cubrid_get_charset — Return the current CUBRID connection charset
    • cubrid_get_class_name — Get the class name using OID
    • cubrid_get_client_info — Return the client library version
    • cubrid_get_db_parameter — Returns the CUBRID database parameters
    • cubrid_get_query_timeout — Get the query timeout value of the request
    • cubrid_get_server_info — Return the CUBRID server version
    • cubrid_get — Get a column using OID
    • cubrid_insert_id — Return the ID generated for the last updated AUTO_INCREMENT column
    • cubrid_is_instance — Check whether the instance pointed by OID exists
    • cubrid_lob_close — Close BLOB/CLOB data
    • cubrid_lob_export — Export BLOB/CLOB data to file
    • cubrid_lob_get — Get BLOB/CLOB data
    • cubrid_lob_send — Read BLOB/CLOB data and send straight to browser
    • cubrid_lob_size — Get BLOB/CLOB data size
    • cubrid_lob2_bind — Bind a lob object or a string as a lob object to a prepared statement as parameters
    • cubrid_lob2_close — Close LOB object
    • cubrid_lob2_export — Export the lob object to a file
    • cubrid_lob2_import — Import BLOB/CLOB data from a file
    • cubrid_lob2_new — Create a lob object
    • cubrid_lob2_read — Read from BLOB/CLOB data
    • cubrid_lob2_seek64 — Move the cursor of a lob object
    • cubrid_lob2_seek — Move the cursor of a lob object
    • cubrid_lob2_size64 — Get a lob object's size
    • cubrid_lob2_size — Get a lob object's size
    • cubrid_lob2_tell64 — Tell the cursor position of the LOB object
    • cubrid_lob2_tell — Tell the cursor position of the LOB object
    • cubrid_lob2_write — Write to a lob object
    • cubrid_lock_read — Set a read lock on the given OID
    • cubrid_lock_write — Set a write lock on the given OID
    • cubrid_move_cursor — Move the cursor in the result
    • cubrid_next_result — Get result of next query when executing multiple SQL statements
    • cubrid_num_cols — Return the number of columns in the result set
    • cubrid_num_rows — Get the number of rows in the result set
    • cubrid_pconnect_with_url — Open a persistent connection to CUBRID server
    • cubrid_pconnect — Open a persistent connection to a CUBRID server
    • cubrid_prepare — Prepare a SQL statement for execution
    • cubrid_put — Update a column using OID
    • cubrid_rollback — Roll back a transaction
    • cubrid_schema — Get the requested schema information
    • cubrid_seq_drop — Delete an element from sequence type column using OID
    • cubrid_seq_insert — Insert an element to a sequence type column using OID
    • cubrid_seq_put — Update the element value of sequence type column using OID
    • cubrid_set_add — Insert a single element to set type column using OID
    • cubrid_set_autocommit — Set autocommit mode of the connection
    • cubrid_set_db_parameter — Sets the CUBRID database parameters
    • cubrid_set_drop — Delete an element from set type column using OID
    • cubrid_set_query_timeout — Set the timeout time of query execution
    • cubrid_version — Get the CUBRID PHP module's version
  • CUBRID MySQL Compatibility Functions
    • cubrid_affected_rows — Return the number of rows affected by the last SQL statement
    • cubrid_client_encoding — Return the current CUBRID connection charset
    • cubrid_close — Close CUBRID connection
    • cubrid_data_seek — Move the internal row pointer of the CUBRID result
    • cubrid_db_name — Get db name from results of cubrid_list_dbs
    • cubrid_errno — Return the numerical value of the error message from previous CUBRID operation
    • cubrid_error — Get the error message
    • cubrid_fetch_array — Fetch a result row as an associative array, a numeric array, or both
    • cubrid_fetch_assoc — Return the associative array that corresponds to the fetched row
    • cubrid_fetch_field — Get column information from a result and return as an object
    • cubrid_fetch_lengths — Return an array with the lengths of the values of each field from the current row
    • cubrid_fetch_object — Fetch the next row and return it as an object
    • cubrid_fetch_row — Return a numerical array with the values of the current row
    • cubrid_field_flags — Return a string with the flags of the given field offset
    • cubrid_field_len — Get the maximum length of the specified field
    • cubrid_field_name — Return the name of the specified field index
    • cubrid_field_seek — Move the result set cursor to the specified field offset
    • cubrid_field_table — Return the name of the table of the specified field
    • cubrid_field_type — Return the type of the column corresponding to the given field offset
    • cubrid_list_dbs — Return an array with the list of all existing CUBRID databases
    • cubrid_num_fields — Return the number of columns in the result set
    • cubrid_ping — Ping a server connection or reconnect if there is no connection
    • cubrid_query — Send a CUBRID query
    • cubrid_real_escape_string — Escape special characters in a string for use in an SQL statement
    • cubrid_result — Return the value of a specific field in a specific row
    • cubrid_unbuffered_query — Perform a query without fetching the results into memory
  • CUBRID Obsolete Aliases and Functions
    • cubrid_load_from_glo — Read data from a GLO instance and save it in a file
    • cubrid_new_glo — Create a glo instance
    • cubrid_save_to_glo — Save requested file in a GLO instance
    • cubrid_send_glo — Read data from glo and send it to std output


Introdução

These functions allow you to access CUBRID database servers. More information about CUBRID can be found at » CUBRID.

Documentation for CUBRID can be found at » CUBRID Documentation.


Dependências

In order to have these functions available, you must install CUBRID, and compile CUBRID PHP Library with CUBRID support.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/cubrid.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.

For information about manual installation on Linux and Windows systems, please read the file build-guide.html included in the package.


  • « Instalação
  • Tipos de Recurso »
  • PHP Manual
  • Instalação/Configuração
  • Configurações em Execução

Configurações em Execução

There is no runtime configuration now.


Tipos de Recurso

There are four resource types used in CUBRID. The first one is the link identifier for a database connection, the second is the a resource which holds the result of a query, and the last two a resource which holds the query results of BLOB/CLOB data types.

connection identifier

A connection identifier returned by cubrid_connect(),
cubrid_connect_with_url(),
cubrid_pconnect() and
cubrid_pconnect_with_url().

request identifier

A request identifier returned by cubrid_prepare() and cubrid_execute().

LOB identifier

A LOB identifier returned by cubrid_lob_get().

LOB2 identifier

A LOB identifier returned by cubrid_lob2_new() or get from the result set.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

The following constants can be used when executing SQL statement. They can be passed to cubrid_prepare() and cubrid_execute().

CUBRID SQL execution flags
Constant | Description
CUBRID_INCLUDE_OID | Determine whether to get OID during query execution.
CUBRID_ASYNC | Execute the query in asynchronous mode.
CUBRID_EXEC_QUERY_ALL | Execute the query in synchronous mode. This flag must be set when executing multiple SQL statements.

The following constants can be used when fetching the results to specify fetch behaviour. They can be passed to cubrid_fetch() and cubrid_fetch_array().

CUBRID fetch flags
Constant | Description
CUBRID_NUM | Get query result as a numeric array (0-default).
CUBRID_ASSOC | Get query result as an associative array.
CUBRID_BOTH | Get query result as both numeric and associative arrays (default value).
CUBRID_OBJECT | Get query result an object.
CUBRID_LOB | The constant CUBRID_LOB can be used when you want to operate the lob object. It can be passed to cubrid_fetch(), cubrid_fetch_row(), cubrid_fetch_array(), cubrid_fetch_assoc() and cubrid_fetch_object().

The following constants can be used when positioning the cursor in query results. They can be passed to or returned by cubrid_move_cursor().

CUBRID cursor position flags
Constant | Description
CUBRID_CURSOR_FIRST | Move current cursor to the first position in the result.
CUBRID_CURSOR_CURRENT | Move current cursor as a default value if the origin is not specified.
CUBRID_CURSOR_LAST | Move current cursor to the last position in the result.
CUBRID_CURSOR_SUCCESS | Returned value of cubrid_move_cursor() function in case of success. This flag has been removed from 8.4.1.
CUBRID_NO_MORE_DATA | Returned value of cubrid_move_cursor() function in case of failure. This flag has been removed from 8.4.1.
CUBRID_CURSOR_ERROR | Returned value of cubrid_move_cursor() function in case of failure. This flag has been removed from 8.4.1.

The following constants can be used when setting the auto-commit mode for the database connection. They can be passed to cubrid_set_autocommit() or returned by cubrid_get_autocommit().

CUBRID auto-commit mode flags
Constant | Description
CUBRID_AUTOCOMMIT_TRUE | Enable the auto-commit mode.
CUBRID_AUTOCOMMIT_FALSE | Disable the auto-commit mode.

The following constants can be used when setting the database parameter. They can be passed to cubrid_set_db_parameter().

CUBRID parameter flags
Constant | Description
CUBRID_PARAM_ISOLATION_LEVEL | Transaction isolation level for the database connection.
CUBRID_PARAM_LOCK_TIMEOUT | Transaction timeout in seconds.

The following constants can be used when setting the transaction isolation level. They can be passed to cubrid_set_db_parameter() or returned by cubrid_get_db_parameter().

CUBRID isolation level flags
Constant | Description
TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE | The lowest isolation level (1). A dirty, non-repeatable or phantom read may occur for the tuple and a non-repeatable read may occur for the table as well.
TRAN_COMMIT_CLASS_COMMIT_INSTANCE | A relatively low isolation level (2). A dirty read does not occur, but non-repeatable or phantom read may occur.
TRAN_REP_CLASS_UNCOMMIT_INSTANCE | The default isolation of CUBRID (3). A dirty, non-repeatable or phantom read may occur for the tuple, but repeatable read is ensured for the table.
TRAN_REP_CLASS_COMMIT_INSTANCE | A relatively low isolation level (4). A dirty read does not occur, but non-repeatable or phantom read may.
TRAN_REP_CLASS_REP_INSTANCE | A relatively high isolation level (5). A dirty or non-repeatable read does not occur, but a phantom read may.
TRAN_SERIALIZABLE | The highest isolation level (6). Problems concerning concurrency (e.g. dirty read, non-repeatable read, phantom read, etc.) do not occur.

The following constants can be used when getting schema information. They can be passed to cubrid_schema().

CUBRID schema flags
Constant | Description
CUBRID_SCH_CLASS | Get name and type of table in CUBRID.
CUBRID_SCH_VCLASS | Get name and type of view in CUBRID.
CUBRID_SCH_QUERY_SPEC | Get the query definition of view.
CUBRID_SCH_ATTRIBUTE | Get the attributes of table column.
CUBRID_SCH_CLASS_ATTRIBUTE | Get the attributes of table.
CUBRID_SCH_METHOD | Get the instance method. The instance method is a method called by a class instance. It is used more often than the class method because most operations are executed in the instance.
CUBRID_SCH_CLASS_METHOD | Get the class method. The class method is a method called by a class object. It is usually used to create a new class instance or to initialize it. It is also used to access or update class attributes.
CUBRID_SCH_METHOD_FILE | Get the information of the file where the method of the table is defined.
CUBRID_SCH_SUPERCLASS | Get the name and type of table which table inherites attributes from.
CUBRID_SCH_SUBCLASS | Get the name and type of table which inherites attributes from this table.
CUBRID_SCH_CONSTRAINT | Get the table constraints.
CUBRID_SCH_TRIGGER | Get the table triggers.
CUBRID_SCH_CLASS_PRIVILEGE | Get the privilege information of table.
CUBRID_SCH_ATTR_PRIVILEGE | Get the privilege information of column.
CUBRID_SCH_DIRECT_SUPER_CLASS | Get the direct super table of table.
CUBRID_SCH_PRIMARY_KEY | Get the table primary key.
CUBRID_SCH_IMPORTED_KEYS | Get imported keys of table.
CUBRID_SCH_EXPORTED_KEYS | Get exported keys of table.
CUBRID_SCH_CROSS_REFERENCE | Get reference relationship of tow tables.

The following constants can be used when reporting errors. They can be returned from cubrid_error_code_facility().

CUBRID error facility code
Constant | Description
CUBRID_FACILITY_DBMS | The error occurred in CUBRID dbms.
CUBRID_FACILITY_CAS | The error occurred in CUBRID broker cas.
CUBRID_FACILITY_CCI | The error occurred in CUBRID cci.
CUBRID_FACILITY_CLIENT | The error occurred in CUBRID PHP client.


Exemplos

The following is a simple example that establishes a connection between PHP and CUBRID. This section will cover the most basic and notable features. The following code required to connect to CUBRID database, which means CUBRID Server and CUBRID Broker have to be running.

The example below uses the demodb database as an examples. By default it is created during the installation. Make sure it has been created.

Exemplo #1 Example of Data Retrieval

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=euc-kr">
    </head>
    <body>
    <center>
    <table border=2>
    <?php
        /**
         * Set server information for CUBRID connection. host_ip is the IP
         * address where the CUBRID Broker is installed (localhost in this
         * example), and host_port is the port number of the CUBRID Broker.
         * The port number is the default given during the installation.
         * For details, see "Administrator's Guide."
         */
        $host_ip = "localhost";
        $host_port = 33000;
        $db_name = "demodb";
        /**
         * Connect to CUBRID Server. Do not make the actual connection, but
         * only retain the connection information. The reason for not making
         * the actual connection is to handle transaction more efficiently
         * in the 3-tier architecture.
         */
        $cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name);

        if (!$cubrid_con) {
            echo "Database Connection Error";
            exit;
        }
    ?>
    <?php
        $sql = "select sports, count(players) as players from event group by sports";
        /**
         * Request the CUBRID Server for the results of the SQL statement.
         * Now make the actual connection to the CUBRID Server.
         */
        $result = cubrid_execute($cubrid_con, $sql);

        if ($result) {
            /**
             * Get the column names from the result set created by the SQL query.
             */
            $columns = cubrid_column_names($result);
            /**
             * Get the number of columns in the result set created by the SQL query.
             */
            $num_fields = cubrid_num_cols($result);
            /**
             * List the column names of the result set on the screen.
             */
            echo("<tr>");

            while (list($key, $colname) = each($columns)) {
                echo("<td align=center>$colname</td>");
            }

            echo("</tr>");

            /**
             * Get the results from the result set.
             */
            while ($row = cubrid_fetch($result)) {
                echo("<tr>");

                for ($i = 0; $i < $num_fields; $i++) {
                    echo("<td align=center>");
                    echo($row[$i]);
                    echo("</td>");
                }

                echo("</tr>");
            }
        }
        /**
         * The PHP module in the CUBRID runs in a 3-tier architecture. Even when
         * calling SELECT for transaction processing, it is processed as a part
         * of the transaction. Therefore, the transaction needs to be rolled back
         * by calling commit or rollback even though SELECT was called for smooth
         * performance.
         */
        cubrid_commit($cubrid_con);
        cubrid_disconnect($cubrid_con);
    ?>
    </body>
    </html>

Exemplo #2 Example of Data Insertion

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=euc- kr">
    </head>
    <body>
    <center>
    <table border=2>
    <?php
        /**
         * host_ip is the IP address where the CUBRID Broker is installed
         * host_port is the port number of the CUBRID Broker
         * db_name is the name of CUBRID Database
         */
        $host_ip = "localhost";
        $host_port = 33000;
        $db_name = "demodb";
        $cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name);

        if (!$cubrid_con) {
            echo "Database Connection Error";
            exit;
        }
    ?>
    <?php
        $sql = "insert into olympic (host_year,host_nation,host_city,"
            . "opening_date,closing_date) values (2008, 'China', 'Beijing',"
            . "to_date('08-08-2008','mm-dd- yyyy'),to_date('08-24-2008','mm-dd-yyyy')) ;"
        $result = cubrid_execute($cubrid_con, $sql);
        if ($result) {
            /**
             * Handled successfully, so commit.
             */
            cubrid_commit($cubrid_con);
            echo("Inserted successfully ");
        } else {
            /**
             * Error occurred, so the error message is output and rollback is called.
             */
            echo(cubrid_error_msg());
            cubrid_rollback($cubrid_con);
        }
        cubrid_disconnect($cubrid_con);
    ?>
    </body>
    </html>


CUBRID Funções

Índice

  • cubrid_bind — Bind variables to a prepared statement as parameters
  • cubrid_close_prepare — Close the request handle
  • cubrid_close_request — Close the request handle
  • cubrid_col_get — Get contents of collection type column using OID
  • cubrid_col_size — Get the number of elements in collection type column using OID
  • cubrid_column_names — Get the column names in result
  • cubrid_column_types — Get column types in result
  • cubrid_commit — Commit a transaction
  • cubrid_connect_with_url — Establish the environment for connecting to CUBRID server
  • cubrid_connect — Open a connection to a CUBRID Server
  • cubrid_current_oid — Get OID of the current cursor location
  • cubrid_disconnect — Close a database connection
  • cubrid_drop — Delete an instance using OID
  • cubrid_error_code_facility — Get the facility code of error
  • cubrid_error_code — Get error code for the most recent function call
  • cubrid_error_msg — Get last error message for the most recent function call
  • cubrid_execute — Execute a prepared SQL statement
  • cubrid_fetch — Fetch the next row from a result set
  • cubrid_free_result — Free the memory occupied by the result data
  • cubrid_get_autocommit — Get auto-commit mode of the connection
  • cubrid_get_charset — Return the current CUBRID connection charset
  • cubrid_get_class_name — Get the class name using OID
  • cubrid_get_client_info — Return the client library version
  • cubrid_get_db_parameter — Returns the CUBRID database parameters
  • cubrid_get_query_timeout — Get the query timeout value of the request
  • cubrid_get_server_info — Return the CUBRID server version
  • cubrid_get — Get a column using OID
  • cubrid_insert_id — Return the ID generated for the last updated AUTO_INCREMENT column
  • cubrid_is_instance — Check whether the instance pointed by OID exists
  • cubrid_lob_close — Close BLOB/CLOB data
  • cubrid_lob_export — Export BLOB/CLOB data to file
  • cubrid_lob_get — Get BLOB/CLOB data
  • cubrid_lob_send — Read BLOB/CLOB data and send straight to browser
  • cubrid_lob_size — Get BLOB/CLOB data size
  • cubrid_lob2_bind — Bind a lob object or a string as a lob object to a prepared statement as parameters
  • cubrid_lob2_close — Close LOB object
  • cubrid_lob2_export — Export the lob object to a file
  • cubrid_lob2_import — Import BLOB/CLOB data from a file
  • cubrid_lob2_new — Create a lob object
  • cubrid_lob2_read — Read from BLOB/CLOB data
  • cubrid_lob2_seek64 — Move the cursor of a lob object
  • cubrid_lob2_seek — Move the cursor of a lob object
  • cubrid_lob2_size64 — Get a lob object's size
  • cubrid_lob2_size — Get a lob object's size
  • cubrid_lob2_tell64 — Tell the cursor position of the LOB object
  • cubrid_lob2_tell — Tell the cursor position of the LOB object
  • cubrid_lob2_write — Write to a lob object
  • cubrid_lock_read — Set a read lock on the given OID
  • cubrid_lock_write — Set a write lock on the given OID
  • cubrid_move_cursor — Move the cursor in the result
  • cubrid_next_result — Get result of next query when executing multiple SQL statements
  • cubrid_num_cols — Return the number of columns in the result set
  • cubrid_num_rows — Get the number of rows in the result set
  • cubrid_pconnect_with_url — Open a persistent connection to CUBRID server
  • cubrid_pconnect — Open a persistent connection to a CUBRID server
  • cubrid_prepare — Prepare a SQL statement for execution
  • cubrid_put — Update a column using OID
  • cubrid_rollback — Roll back a transaction
  • cubrid_schema — Get the requested schema information
  • cubrid_seq_drop — Delete an element from sequence type column using OID
  • cubrid_seq_insert — Insert an element to a sequence type column using OID
  • cubrid_seq_put — Update the element value of sequence type column using OID
  • cubrid_set_add — Insert a single element to set type column using OID
  • cubrid_set_autocommit — Set autocommit mode of the connection
  • cubrid_set_db_parameter — Sets the CUBRID database parameters
  • cubrid_set_drop — Delete an element from set type column using OID
  • cubrid_set_query_timeout — Set the timeout time of query execution
  • cubrid_version — Get the CUBRID PHP module's version


Bind variables to a prepared statement as parameters

  • « CUBRID Funções
  • cubrid_close_prepare »
  • PHP Manual
  • CUBRID Funções
  • Bind variables to a prepared statement as parameters

cubrid_bind

(PECL CUBRID >= 8.3.0)

cubrid_bind — Bind variables to a prepared statement as parameters

Descrição

cubrid_bind ( resource $req_identifier , int $bind_index , mixed $bind_value , string $bind_value_type = ? ) : bool

The cubrid_bind() function is used to bind values to a corresponding named or question mark placeholder in the SQL statement that was passed to cubrid_prepare(). If bind_value_type is not given, string will be the default.

Nota:

If the type of data to be bound is BLOB/CLOB, CUBRID will try to map the data as a PHP stream. If the actually bind value type is not stream, CUBRID will convert it to string, and use it as the full path and file name of a file on the client filesystem.

If the type of data to be bound explicitly is ENUM, the $bind_value argument should be the enum element which is in string format.

In CUBRID shard envrioment, the $bind_value_type must be included in the cubrid_bind function.

The following table shows the types of substitute values.

CUBRID Bind Date Types
Support | Bind Type | Corresponding SQL Type
Supported | STRING | CHAR, VARCHAR
 | NCHAR | NCHAR, NVARCHAR
 | BIT | BIT, VARBIT
 | NUMERIC or NUMBER | SHORT, INT, NUMERIC
 | FLOAT | FLOAT
 | DOUBLE | DOUBLE
 | TIME | TIME
 | DATE | DATE
 | TIMESTAMP | TIMESTAMP
 | OBJECT | OBJECT
 | ENUM | ENUM
 | BLOB | BLOB
 | CLOB | CLOB
 | NULL | NULL
Not supported | SET | SET
 | MULTISET | MULTISET
 | SEQUENCE | SEQUENCE

Parâmetros

req_identifier

Request identifier as a result of cubrid_prepare().

bind_index

Location of binding parameters. It starts with 1.

bind_value

Actual value for binding.

bind_value_type

A type of the value to bind. (It is omitted by default. Thus, the system internally uses string by default. However, you need to specify the exact type of the value as an argument when they are NCHAR, BIT, or BLOB/CLOB).

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Changelog

Versão | Descrição
8.3.1 | Added BLOB/CLOB data types support.

Exemplos

Exemplo #1 cubrid_bind() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$result = cubrid_execute($conn, "SELECT code FROM event WHERE sports='Basketball' and gender='M'");
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];

cubrid_close_request($result);

$game_req = cubrid_prepare($conn, "SELECT athlete_code FROM game WHERE host_year=1992 and event_code=? and nation_code='USA'");
cubrid_bind($game_req, 1, $event_code, "number");
cubrid_execute($game_req);

printf("--- Dream Team (1992 United States men's Olympic basketball team) ---\n");
while ($athlete_code = cubrid_fetch_array($game_req, CUBRID_NUM)) {
    $athlete_req = cubrid_prepare($conn, "SELECT name FROM athlete WHERE code=? AND nation_code='USA' AND event='Basketball' AND gender='M'");
    cubrid_bind($athlete_req, 1, $athlete_code[0], "number");
    cubrid_execute($athlete_req);
    $row = cubrid_fetch_assoc($athlete_req);
    printf("%s\n", $row["name"]);
}

cubrid_close_request($game_req);
cubrid_close_request($athlete_req);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

--- Dream Team (1992 United States men's Olympic basketball team) ---
Stockton John
Robinson David
Pippen Scottie
Mullin C.
Malone Karl
Laettner C.
Jordan Michael
Johnson Earvin
Ewing Patrick
Drexler Clyde
Bird Larry
Barkley Charles

Exemplo #2 cubrid_bind() BLOB/CLOB example

<?php
$con = cubrid_connect("localhost", 33000, "demodb", "dba", "");
if ($con) {
    cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
    cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (doc_content CLOB)");
    $sql = "INSERT INTO php_cubrid_lob_test(doc_content) VALUES(?)";
    $req = cubrid_prepare($con, $sql);

    $fp = fopen("book.txt", "rb");

    cubrid_bind($req, 1, $fp, "clob");
    cubrid_execute($req);
}
?>

Exemplo #3 cubrid_bind() BLOB/CLOB example

<?php
$con = cubrid_connect("localhost", 33000, "demodb", "dba", "");
if ($con) {
    cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
    cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (image BLOB)");
    $sql = "INSERT INTO php_cubrid_lob_test(image) VALUES(?)";
    $req = cubrid_prepare($con, $sql);

    cubrid_bind($req, 1, "cubrid_logo.png", "blob");
    cubrid_execute($req);
}
?>

Veja Também

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_prepare() - Prepare a SQL statement for execution


Close the request handle

  • « cubrid_bind
  • cubrid_close_request »
  • PHP Manual
  • CUBRID Funções
  • Close the request handle

cubrid_close_prepare

(PECL CUBRID >= 8.3.0)

cubrid_close_prepare — Close the request handle

Descrição

cubrid_close_prepare ( resource $req_identifier ) : bool

The cubrid_close_prepare() function closes the request handle given by the req_identifier argument, and releases the memory region related to the handle. It is an alias of cubrid_close_request().

Parâmetros

req_identifier

Request identifier.

Valor Retornado

Return true on success.

Exemplos

Exemplo #1 cubrid_close_prepare() example

<?php
$con = cubrid_connect ("localhost", 33000, "demodb", "dba", "");
if ($con) {
   echo "connected successfully";
   $req = cubrid_execute ( $con, "select * from members",
                           CUBRID_INCLUDE_OID | CUBRID_ASYNC);
   if ($req) {
      while ( list ($id, $name) = cubrid_fetch ($req) ){
         echo $id;
         echo $name;
      }
      cubrid_close_prepare($req); // or you can use cubrid_close_request($req)
   }
   cubrid_disconnect($con);
}
?>

Veja Também

  • cubrid_close_request() - Close the request handle


Close the request handle

  • « cubrid_close_prepare
  • cubrid_col_get »
  • PHP Manual
  • CUBRID Funções
  • Close the request handle

cubrid_close_request

(PECL CUBRID >= 8.3.0)

cubrid_close_request — Close the request handle

Descrição

cubrid_close_request ( resource $req_identifier ) : bool

The cubrid_close_request() function closes the request handle given by the req_identifier argument, and releases the memory region related to the handle. It is an alias of cubrid_close_prepare().

Parâmetros

req_identifier

Request identifier.

Valor Retornado

Return true on success.

Exemplos

Exemplo #1 cubrid_close_request() example

<?php
$con = cubrid_connect ("localhost", 33000, "demodb", "dba", "");
if ($con) {
   echo "connected successfully";
   $req = cubrid_execute ( $con, "select * from members",
                           CUBRID_INCLUDE_OID | CUBRID_ASYNC);
   if ($req) {
      while ( list ($id, $name) = cubrid_fetch ($req) ){
         echo $id;
         echo $name;
      }
      cubrid_close_request($req); // or you can use cubrid_close_prepare($req)
   }
   cubrid_disconnect($con);
}
?>

Veja Também

  • cubrid_close_prepare() - Close the request handle


Get contents of collection type column using OID

  • « cubrid_close_request
  • cubrid_col_size »
  • PHP Manual
  • CUBRID Funções
  • Get contents of collection type column using OID

cubrid_col_get

(PECL CUBRID >= 8.3.0)

cubrid_col_get — Get contents of collection type column using OID

Descrição

cubrid_col_get ( resource $conn_identifier , string $oid , string $attr_name ) : array

The cubrid_col_get() function is used to get contents of the elements of the collection type (set, multiset, sequence) attribute you requested as an array.

Parâmetros

conn_identifier

Connection identifier.

oid

OID of the instance that you want to read.

attr_name

Attribute name that you want to read from the instance.

Valor Retornado

Array (0-based numerical array) containing the elements you requested, when process is successful;

false (to distinguish the error from the situation of attribute having empty collection or NULL, in case of error, a warning message is shown; in such case you can check the error by using cubrid_error_code()), when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_col_get() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

$size = cubrid_col_size($conn, $oid, "b");
var_dump($size);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
int(3)


Get the number of elements in collection type column using OID

  • « cubrid_col_get
  • cubrid_column_names »
  • PHP Manual
  • CUBRID Funções
  • Get the number of elements in collection type column using OID

cubrid_col_size

(PECL CUBRID >= 8.3.0)

cubrid_col_size — Get the number of elements in collection type column using OID

Descrição

cubrid_col_size ( resource $conn_identifier , string $oid , string $attr_name ) : int

The cubrid_col_size() function is used to get the number of elements in a collection type (set, multiset, sequence) attribute.

Parâmetros

conn_identifier

Connection identifier.

oid

OID the instance that you want to work with.

attr_name

Name of the attribute that you want to work with.

Valor Retornado

Number of elements, when process is successful.

false, when process is unsuccessful.

Changelog

Versão | Descrição
8.3.1 | Change return value: when process is unsuccessful, return false, not -1.

Exemplos

Exemplo #1 cubrid_col_size() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

$size = cubrid_col_size($conn, $oid, "b");
var_dump($size);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
int(3)


Get the column names in result

  • « cubrid_col_size
  • cubrid_column_types »
  • PHP Manual
  • CUBRID Funções
  • Get the column names in result

cubrid_column_names

(PECL CUBRID >= 8.3.0)

cubrid_column_names — Get the column names in result

Descrição

cubrid_column_names ( resource $req_identifier ) : array

The cubrid_column_names() function is used to get the column names of the query result by using req_identifier.

Parâmetros

req_identifier

Request identifier.

Valor Retornado

Array of string values containing the column names, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_column_names() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
    $column_len = cubrid_field_len($result, $i);
    printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char                           3
medal                          char                           1
game_date                      date                           10

Veja Também

  • cubrid_prepare() - Prepare a SQL statement for execution
  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_column_types() - Get column types in result


Get column types in result

  • « cubrid_column_names
  • cubrid_commit »
  • PHP Manual
  • CUBRID Funções
  • Get column types in result

cubrid_column_types

(PECL CUBRID >= 8.3.0)

cubrid_column_types — Get column types in result

Descrição

cubrid_column_types ( resource $req_identifier ) : array

The cubrid_column_types() function gets column types of query results by using req_identifier.

Parâmetros

req_identifier

Request identifier.

Valor Retornado

Array of string values containing the column types, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_column_types() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
    $column_len = cubrid_field_len($result, $i);
    printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char                           3
medal                          char                           1
game_date                      date                           10

Veja Também

  • cubrid_column_names() - Get the column names in result
  • cubrid_prepare() - Prepare a SQL statement for execution
  • cubrid_execute() - Execute a prepared SQL statement


Commit a transaction

  • « cubrid_column_types
  • cubrid_connect_with_url »
  • PHP Manual
  • CUBRID Funções
  • Commit a transaction

cubrid_commit

(PECL CUBRID >= 8.3.0)

cubrid_commit — Commit a transaction

Descrição

cubrid_commit ( resource $conn_identifier ) : bool

The cubrid_commit() function is used to execute commit on the transaction pointed by conn_identifier, currently in progress. Connection to the server is closed after the cubrid_commit() function is called; However, the connection handle is still valid.

In CUBRID PHP, auto-commit mode is disabled by default for transaction management. You can set it by using cubrid_set_autocommit(). You can get its status by using cubrid_get_autocommit(). Before you start a transaction, remember to disable the auto-commit mode.

Parâmetros

conn_identifier

Connection identifier.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_commit() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE publishers");

$sql = <<<EOD
CREATE TABLE publishers(
pub_id CHAR(3),
pub_name VARCHAR(20),
city VARCHAR(15),
state CHAR(2),
country VARCHAR(15)
)
EOD;
cubrid_set_autocommit($conn,false);
if (!cubrid_execute($conn, $sql)) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n", cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}

$req = cubrid_prepare($conn, "INSERT INTO publishers VALUES(?, ?, ?, ?, ?)");

$id_list = array("P01", "P02", "P03", "P04");
$name_list = array("Abatis Publishers", "Core Dump Books", "Schadenfreude Press", "Tenterhooks Press");
$city_list = array("New York", "San Francisco", "Hamburg", "Berkeley");
$state_list = array("NY", "CA", NULL, "CA");
$country_list = array("USA", "USA", "Germany", "USA");

for ($i = 0, $size = count($id_list); $i < $size; $i++) {
    cubrid_bind($req, 1, $id_list[$i]);
    cubrid_bind($req, 2, $name_list[$i]);
    cubrid_bind($req, 3, $city_list[$i]);
    cubrid_bind($req, 4, $state_list[$i]);
    cubrid_bind($req, 5, $country_list[$i]);

    if (!($ret = cubrid_execute($req))) {
        break;
    }
}

if (!$ret) {
    cubrid_rollback($conn);
} else {
    cubrid_commit($conn);

    $req = cubrid_execute($conn, "SELECT * FROM publishers");
    while ($result = cubrid_fetch_assoc($req)) {
        printf("%-3s %-20s %-15s %-3s %-15s\n",
            $result["pub_id"], $result["pub_name"], $result["city"], $result["state"], $result["country"]);
    }
}

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

P01 Abatis Publishers    New York        NY  USA
P02 Core Dump Books      San Francisco   CA  USA
P03 Schadenfreude Press  Hamburg             Germany
P04 Tenterhooks Press    Berkeley        CA  USA

Veja Também

  • cubrid_rollback() - Roll back a transaction
  • cubrid_get_autocommit() - Get auto-commit mode of the connection
  • cubrid_set_autocommit() - Set autocommit mode of the connection


Establish the environment for connecting to CUBRID server

  • « cubrid_commit
  • cubrid_connect »
  • PHP Manual
  • CUBRID Funções
  • Establish the environment for connecting to CUBRID server

cubrid_connect_with_url

(PECL CUBRID >= 8.3.1)

cubrid_connect_with_url — Establish the environment for connecting to CUBRID server

Descrição

cubrid_connect_with_url ( string $conn_url , string $userid = ? , string $passwd = ? , bool $new_link = false ) : resource

The cubrid_connect_with_url() function is used to establish the environment for connecting to your server by using connection information passed with an url string argument. If the HA feature is enabled in CUBRID, you must specify the connection information of the standby server, which is used for failover when failure occurs, in the url string argument of this function. If the user name and password is not given, then the "PUBLIC" connection will be made by default.

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]

<properties> ::= <property> [&<property>]

<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]

<properties> ::= login_timeout=<milli_sec>

<properties> ::= query_timeout=<milli_sec>

<properties> ::= disconnect_on_query_timeout=true|false

<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]

<host> := HOSTNAME | IP_ADDR

<time> := SECOND

<milli_sec> := MILLI SECOND

  • host : A host name or IP address of the master database
  • db_name : A name of the database
  • db_user : A name of the database user
  • db_password : A database user password
  • alhosts : Specifies the broker information of the standby server, which is used for failover when it is impossible to connect to the active server. You can specify multiple brokers for failover, and the connection to the brokers is attempted in the order listed in alhosts
  • rctime : An interval between the attempts to connect to the active broker in which failure occurred. After a failure occurs, the system connects to the broker specified by althosts (failover), terminates the transaction, and then attempts to connect to the active broker of the master database at every rctime. The default value is 600 seconds.
  • login_timeout : Timeout value (unit: msec.) for database login. The default value is 0, which means infinite postponement.
  • query_timeout : Timeout value (unit: msec.) for query request. Upon timeout, a message to cancel requesting a query transferred to server is sent. The return value can depend on the disconnect_on_query_timeout configuration; even though the message to cancel a request is sent to server, that request may succeed.
  • disconnect_on_query_timeout : Configures a value whether to immediately return an error of function being executed upon timeout. The default value is false.

Nota:

? and : that are used as identifiers in PHP connection URL can't be included in the password. The following is an example of a password that is invalid to use as connection URL because it contains "?:".

$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";

Passwords that contain ? or : may be passed as a separate parameter.

$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";

$conn = cubrid_connect_with_url($url, "dba", "12?");

If user or password is empty,you can't delete ":",the following is an example.

$url = "CUBRID:localhost:33000:demodb:::";

Parâmetros

conn_url

A character string that contains server connection information.

userid

User name for the database.

passwd

User password.

new_link

If a second call is made to cubrid_connect_with_url() with the same arguments, no new connection will be established, but instead, the connection identifier of the already opened connection will be returned. The new_link parameter modifies this behavior and makes cubrid_connect_with_url() always open a new connection, even if cubrid_connect_with_url() was called before with the same parameters.

Valor Retornado

Connection identifier, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_connect_with_url() url without properties example

<?php
$conn_url = "CUBRID:localhost:33000:demodb:dba::";
$con = cubrid_connect_with_url($conn_url);

if ($con) {
   echo "connected successfully";
   cubrid_execute($con, "create table person(id int,name char(16))");
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request($req);
      cubrid_commit($con);
   } else {
      cubrid_rollback($con);
   }
   cubrid_disconnect($con);
}
?>

Exemplo #2 cubrid_connect_with_url() url with properties example

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?login_timeout=100"
$con = cubrid_connect_with_url ($conn_url);

if ($con) {
   echo "connected successfully";
   cubrid_execute($con, "create table person(id int,name char(16))");
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request($req);
      cubrid_commit($con);
   } else {
      cubrid_rollback($con);
   }
   cubrid_disconnect($con);
}
?>

Veja Também

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_pconnect() - Open a persistent connection to a CUBRID server
  • cubrid_pconnect_with_url() - Open a persistent connection to CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection


Open a connection to a CUBRID Server

  • « cubrid_connect_with_url
  • cubrid_current_oid »
  • PHP Manual
  • CUBRID Funções
  • Open a connection to a CUBRID Server

cubrid_connect

(PECL CUBRID >= 8.3.1)

cubrid_connect — Open a connection to a CUBRID Server

Descrição

cubrid_connect ( string $host , int $port , string $dbname , string $userid = ? , string $passwd = ? , bool $new_link = false ) : resource

The cubrid_connect() function is used to establish the environment for connecting to your server by using your server address, port number, database name, user name, and password. If the user name and password is not given, then the "PUBLIC" connection will be made by default.

Parâmetros

host

Host name or IP address of CUBRID CAS server.

port

Port number of CUBRID CAS server (BROKER_PORT configured in $CUBRID/conf/cubrid_broker.conf).

dbname

Name of database.

userid

User name for the database. If not given, the default value is "public".

passwd

User password. If not given, the default value is "".

new_link

If a second call is made to cubrid_connect() with the same arguments, no new connection will be established, but instead, the connection identifier of the already opened connection will be returned. The new_link parameter modifies this behavior and makes cubrid_connect() always open a new connection, even if cubrid_connect() was called before with the same parameters.

Valor Retornado

Connection identifier, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_connect() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Veja Também

  • cubrid_pconnect() - Open a persistent connection to a CUBRID server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server
  • cubrid_pconnect_with_url() - Open a persistent connection to CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection


Get OID of the current cursor location

  • « cubrid_connect
  • cubrid_disconnect »
  • PHP Manual
  • CUBRID Funções
  • Get OID of the current cursor location

cubrid_current_oid

(PECL CUBRID >= 8.3.0)

cubrid_current_oid — Get OID of the current cursor location

Descrição

cubrid_current_oid ( resource $req_identifier ) : string

The cubrid_current_oid() function is used to get the oid of the current cursor location from the query result. To use cubrid_current_oid(), the query executed must be a updatable query, and the CUBRID_INCLUDE_OID option must be included during the query execution.

Parâmetros

req_identifier

Request identifier.

Valor Retornado

Oid of current cursor location, when process is successful

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_current_oid() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code", CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);
$res = cubrid_get($conn, $oid);

print_r($res);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

Array
(
    [s_name] => X
    [f_name] => Mixed
)

Veja Também

  • cubrid_execute() - Execute a prepared SQL statement


Close a database connection

  • « cubrid_current_oid
  • cubrid_drop »
  • PHP Manual
  • CUBRID Funções
  • Close a database connection

cubrid_disconnect

(PECL CUBRID >= 8.3.0)

cubrid_disconnect — Close a database connection

Descrição

cubrid_disconnect ( resource $conn_identifier = ? ) : bool

The cubrid_disconnect() function closes the connection handle and disconnects from server. If any request handle is not closed at this point, it will be closed. It is similar to the CUBRID MySQL compatible function cubrid_close().

Parâmetros

conn_identifier

Connection identifier.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_disconnect() example

<?php
$con = cubrid_connect ("localhost", 33000, "demodb");
if ($con) {
   echo "connected successfully";

   $req = cubrid_execute( $con, "create table person(id int,name char(10))");
   if ($req) {
      cubrid_close_request($req);
      cubrid_commit($con);
   } else {
      cubrid_rollback($con);
   }

   $req = cubrid_execute( $con, "insert into person values(1,'James')");
   if ($req) {
      cubrid_close_request($req);
      cubrid_commit($con);
   } else {
      cubrid_rollback($con);
   }
   cubrid_disconnect($con);
}
?>

Veja Também

  • cubrid_close() - Close CUBRID connection
  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server


Delete an instance using OID

  • « cubrid_disconnect
  • cubrid_error_code_facility »
  • PHP Manual
  • CUBRID Funções
  • Delete an instance using OID

cubrid_drop

(PECL CUBRID >= 8.3.0)

cubrid_drop — Delete an instance using OID

Descrição

cubrid_drop ( resource $conn_identifier , string $oid ) : bool

The cubrid_drop() function is used to delete an instance from database by using the oid of the instance.

Parâmetros

conn_identifier

Connection identifier.

oid

Oid of the instance that you want to delete.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_drop() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

printf("--- Before Drop: ---\n");
$attr = cubrid_get($conn, $oid);
var_dump($attr);

if (cubrid_drop($conn, $oid)) {
    cubrid_commit($conn);
} else {
    cubrid_rollback($conn);
}

cubrid_close_request($req);

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

printf("\n--- After Drop: ---\n");
$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

--- Before Drop: ---
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

--- After Drop: ---
array(4) {
  ["a"]=>
  string(1) "2"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "4"
    [1]=>
    string(1) "5"
    [2]=>
    string(1) "7"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "44"
    [1]=>
    string(2) "55"
    [2]=>
    string(2) "66"
    [3]=>
    string(3) "666"
  }
  ["d"]=>
  string(10) "b         "
}

Veja Também

  • cubrid_is_instance() - Check whether the instance pointed by OID exists


Get the facility code of error

  • « cubrid_drop
  • cubrid_error_code »
  • PHP Manual
  • CUBRID Funções
  • Get the facility code of error

cubrid_error_code_facility

(PECL CUBRID >= 8.3.0)

cubrid_error_code_facility — Get the facility code of error

Descrição

cubrid_error_code_facility ( ) : int

The cubrid_error_code_facility() function is used to get the facility code (level in which the error occurred) from the error code of the error that occurred during the API execution. Usually, you can get the error code when API returns false as its return value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Facility code of the error code that occurred: CUBRID_FACILITY_DBMS, CUBRID_FACILITY_CAS, CUBRID_FACILITY_CCI, CUBRID_FACILITY_CLIENT

Exemplos

Exemplo #1 cubrid_error_code_facility() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = @cubrid_execute($conn, "SELECT * FROM unknown");
if (!$req) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n",
        cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}
?>

O exemplo acima irá imprimir:

Error facility: 1
Error code: -493
Error msg: Syntax: In line 1, column 15 before END OF STATEMENT
Syntax error: unexpected 'unknown'

Veja Também

  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_msg() - Get last error message for the most recent function call


Get error code for the most recent function call

  • « cubrid_error_code_facility
  • cubrid_error_msg »
  • PHP Manual
  • CUBRID Funções
  • Get error code for the most recent function call

cubrid_error_code

(PECL CUBRID >= 8.3.0)

cubrid_error_code — Get error code for the most recent function call

Descrição

cubrid_error_code ( ) : int

The cubrid_error_code() function is used to get the error code of the error that occurred during the API execution. Usually, it gets the error code when API returns false as its return value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Error code of the error that occurred, or 0 (zero) if no error occurred.

Exemplos

Exemplo #1 cubrid_error_code() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_prepare($conn , "SELECT * FROM code WHERE s_name=?");

$req = @cubrid_execute($req);
if (!$req) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n",
        cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}
?>

O exemplo acima irá imprimir:

Error facility: 4
Error code: -30015
Error msg: Some parameter not binded

Veja Também

  • cubrid_error_code_facility() - Get the facility code of error
  • cubrid_error_msg() - Get last error message for the most recent function call


Get last error message for the most recent function call

  • « cubrid_error_code
  • cubrid_execute »
  • PHP Manual
  • CUBRID Funções
  • Get last error message for the most recent function call

cubrid_error_msg

(PECL CUBRID >= 8.3.0)

cubrid_error_msg — Get last error message for the most recent function call

Descrição

cubrid_error_msg ( ) : string

The cubrid_error_msg() function is used to get the error message that occurred during the use of CUBRID API. Usually, it gets error message when API returns false as its return value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Error message that occurred.

Exemplos

Exemplo #1 cubrid_error_msg() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

if (!@cubrid_schema($conn, 100000)) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n",
        cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}
?>

O exemplo acima irá imprimir:

Error facility: 2
Error code: -10015
Error msg: Invalid T_CCI_SCH_TYPE value

Veja Também

  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_code_facility() - Get the facility code of error


Execute a prepared SQL statement

  • « cubrid_error_msg
  • cubrid_fetch »
  • PHP Manual
  • CUBRID Funções
  • Execute a prepared SQL statement

cubrid_execute

(PECL CUBRID >= 8.3.0)

cubrid_execute — Execute a prepared SQL statement

Descrição

cubrid_execute ( resource $conn_identifier , string $sql , int $option = 0 ) : resource
cubrid_execute ( resource $request_identifier , int $option = 0 ) : bool

The cubrid_execute() function is used to execute the given SQL statement. It executes the query by using conn_identifier and SQL, and then returns the request identifier created. It is used for simple execution of query, where the parameter binding is not needed. In addition, the cubrid_execute() function is used to execute the prepared statement by means of cubrid_prepare() and cubrid_bind(). At this time, you need to specify arguments of request_identifier and option.

The option is used to determine whether to get OID after query execution and whether to execute the query in synchronous or asynchronous mode. CUBRID_INCLUDE_OID and CUBRID_ASYNC (or CUBRID_EXEC_QUERY_ALL if you want to execute multiple SQL statements) can be specified by using a bitwise OR operator. If not specified, neither of them isselected. If the flag CUBRID_EXEC_QUERY_ALL is set, a synchronous mode (sync_mode) is used to retrieve query results, and in such cases the following rules are applied:

  • The return value is the result of the first query.
  • If an error occurs in any query, the execution is processed as a failure.
  • In a query composed of q1 q2 q3, if an error occurs in q2 after q1 succeeds the execution, the result of q1 remains valid. That is, the previous successful query executions are not rolled back when an error occurs.
  • If a query is executed successfully, the result of the second query can be obtained using cubrid_next_result().

If the first argument is request_identifier to execute the cubrid_prepare() function, you can specify an option, CUBRID_ASYNC only.

Parâmetros

conn_identifier

Connection identifier.

sql

SQL to be executed.

option

Query execution option CUBRID_INCLUDE_OID, CUBRID_ASYNC, CUBRID_EXEC_QUERY_ALL.

request_identifier

cubrid_prepare() identifier.

Valor Retornado

Request identifier, when process is successful and first param is conn_identifier; true, when process is successful and first argument is request_identifier.

false, when process is unsuccessful.

Changelog

Versão | Descrição
8.4.0 | Add new option CUBRID_EXEC_QUERY_ALL.

Exemplos

Exemplo #1 cubrid_execute() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$result = cubrid_execute($conn, "SELECT code FROM event WHERE name='100m Butterfly' and gender='M'", CUBRID_ASYNC);
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];

cubrid_close_request($result);

$history_req = cubrid_prepare($conn, "SELECT * FROM history WHERE event_code=?");
cubrid_bind($history_req, 1, $event_code, "number");
cubrid_execute($history_req);

printf("%-20s %-9s %-10s %-5s\n", "athlete", "host_year", "score", "unit");
while ($row = cubrid_fetch_array($history_req, CUBRID_ASSOC)) {
    printf("%-20s %-9s %-10s %-5s\n",
        $row["athlete"], $row["host_year"], $row["score"], $row["unit"]);
}

cubrid_close_request($history_req);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

athlete              host_year score      unit
Phelps Michael       2004      51.25      time

Veja Também

  • cubrid_prepare() - Prepare a SQL statement for execution
  • cubrid_bind() - Bind variables to a prepared statement as parameters
  • cubrid_next_result() - Get result of next query when executing multiple SQL statements
  • cubrid_close_request() - Close the request handle
  • cubrid_commit() - Commit a transaction
  • cubrid_rollback() - Roll back a transaction


Fetch the next row from a result set

  • « cubrid_execute
  • cubrid_free_result »
  • PHP Manual
  • CUBRID Funções
  • Fetch the next row from a result set

cubrid_fetch

(PECL CUBRID >= 8.3.0)

cubrid_fetch — Fetch the next row from a result set

Descrição

cubrid_fetch ( resource $result , int $type = CUBRID_BOTH ) : mixed

The cubrid_fetch() function is used to get a single row from the query result. The cursor automatically moves to the next row after getting the result.

Parâmetros

result

result comes from a call to cubrid_execute()

type

Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH, CUBRID_OBJECT. If you want to operate the lob object, you can use CUBRID_LOB.

Valor Retornado

Result array or object, when process is successful.

false, when there are no more rows; NULL, when process is unsuccessful.

The result can be received either as an array or as an object, and you can decide which data type to use by setting the type argument. The type variable can be set to one of the following values:

  • CUBRID_NUM : Numerical array (0-based)
  • CUBRID_ASSOC : Associative array
  • CUBRID_BOTH : Numerical & Associative array (default)
  • CUBRID_OBJECT : object that has the attribute name as the column name of query result

When type argument is omitted, the result will be received using CUBRID_BOTH option as default. When you want to receive query result in object data type, the column name of the result must obey the naming rules for identifiers in PHP. For example, column name such as "count(*)" cannot be received in object type.

Exemplos

Exemplo #1 cubrid_fetch() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT * FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch($req)) {
    printf("%-40s %-10s %-6s %-20s\n",
        $row["name"], $row["area"], $row["seats"], $row["address"]);
}

// if you want to operate lob object, you can use cubrid_fetch($req, CUBRID_LOB)

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Veja Também

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_row() - Return a numerical array with the values of the current row
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_fetch_object() - Fetch the next row and return it as an object


Free the memory occupied by the result data

  • « cubrid_fetch
  • cubrid_get_autocommit »
  • PHP Manual
  • CUBRID Funções
  • Free the memory occupied by the result data

cubrid_free_result

(PECL CUBRID >= 8.3.0)

cubrid_free_result — Free the memory occupied by the result data

Descrição

cubrid_free_result ( resource $req_identifier ) : bool

This function frees the memory occupied by the result data. It returns TRUE on success or FALSE on failure. Note that it can only frees the client fetch buffer now, and if you want free all memory, use function cubrid_close_request().

Parâmetros

req_identifier

This is the request identifier.

Valor Retornado

true on success.

false on failure.

Exemplos

Exemplo #1 cubrid_free_result() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM history WHERE host_year=2004 ORDER BY event_code");
$row = cubrid_fetch_assoc($req);
var_dump($row);

cubrid_free_result($req);
cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(5) {
  ["event_code"]=>
  string(5) "20005"
  ["athlete"]=>
  string(12) "Hayes Joanna"
  ["host_year"]=>
  string(4) "2004"
  ["score"]=>
  string(5) "12.37"
  ["unit"]=>
  string(4) "time"
}


Get auto-commit mode of the connection

  • « cubrid_free_result
  • cubrid_get_charset »
  • PHP Manual
  • CUBRID Funções
  • Get auto-commit mode of the connection

cubrid_get_autocommit

(PECL CUBRID >= 8.4.0)

cubrid_get_autocommit — Get auto-commit mode of the connection

Descrição

cubrid_get_autocommit ( resource $conn_identifier ) : bool

The cubrid_get_autocommit() function is used to get the status of CUBRID database connection auto-commit mode.

For CUBRID 8.4.0, auto-commit mode is disabled by default for transaction management.

For CUBRID 8.4.1, auto-commit mode is enabled by default for transaction management.

Parâmetros

conn_identifier

Connection identifier.

Valor Retornado

true, when auto-commit is on.

false, when auto-commit is off.

null on error.

Veja Também

  • cubrid_set_autocommit() - Set autocommit mode of the connection
  • cubrid_commit() - Commit a transaction


Return the current CUBRID connection charset

  • « cubrid_get_autocommit
  • cubrid_get_class_name »
  • PHP Manual
  • CUBRID Funções
  • Return the current CUBRID connection charset

cubrid_get_charset

(PECL CUBRID >= 8.3.0)

cubrid_get_charset — Return the current CUBRID connection charset

Descrição

cubrid_get_charset ( resource $conn_identifier ) : string

This function returns the current CUBRID connection charset and is similar to the CUBRID MySQL compatible function cubrid_client_encoding().

Parâmetros

conn_identifier

The CUBRID connection.

Valor Retornado

A string that represents the CUBRID connection charset; on success.

false on failure.

Exemplos

Exemplo #1 cubrid_get_charset() example

<?php

$con = cubrid_connect("localhost", 33000, "demodb");
if (!$con)
{
    die('Could not connect.');
}

printf("CUBRID current charset: %s\n", cubrid_get_charset($con));

?>

O exemplo acima irá imprimir:

CUBRID current charset: iso8859-1

Veja Também

  • cubrid_client_encoding() - Return the current CUBRID connection charset


Get the class name using OID

  • « cubrid_get_charset
  • cubrid_get_client_info »
  • PHP Manual
  • CUBRID Funções
  • Get the class name using OID

cubrid_get_class_name

(PECL CUBRID >= 8.3.0)

cubrid_get_class_name — Get the class name using OID

Descrição

cubrid_get_class_name ( resource $conn_identifier , string $oid ) : string

The cubrid_get_class_name() function is used to get the class name from oid. It doesn't work when selecting data from the system tables, for example db_class.

Parâmetros

conn_identifier

Connection identifier.

oid

OID of the instance that you want to check the existence.

Valor Retornado

Class name when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_get_class_name() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code", CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);
$class_name = cubrid_get_class_name($conn, $oid);

print_r($class_name);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

code

Veja Também

  • cubrid_is_instance() - Check whether the instance pointed by OID exists
  • cubrid_drop() - Delete an instance using OID


Return the client library version

  • « cubrid_get_class_name
  • cubrid_get_db_parameter »
  • PHP Manual
  • CUBRID Funções
  • Return the client library version

cubrid_get_client_info

(PECL CUBRID >= 8.3.0)

cubrid_get_client_info — Return the client library version

Descrição

cubrid_get_client_info ( ) : string

This function returns a string that represents the client library version.

Parâmetros

Valor Retornado

A string that represents the client library version; on success.

false on failure.

Exemplos

Exemplo #1 cubrid_get_client_info() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

O exemplo acima irá imprimir:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1


Returns the CUBRID database parameters

  • « cubrid_get_client_info
  • cubrid_get_query_timeout »
  • PHP Manual
  • CUBRID Funções
  • Returns the CUBRID database parameters

cubrid_get_db_parameter

(PECL CUBRID >= 8.3.0)

cubrid_get_db_parameter — Returns the CUBRID database parameters

Descrição

cubrid_get_db_parameter ( resource $conn_identifier ) : array

This function returns the CUBRID database parameters or it returns FALSE on failure. It returns an associative array with the values for the following parameters:

  • PARAM_ISOLATION_LEVEL
  • PARAM_LOCK_TIMEOUT
  • PARAM_MAX_STRING_LENGTH
  • PARAM_AUTO_COMMIT

Database parameters
Parameter | Description
PARAM_ISOLATION_LEVEL | The transaction isolation level.
LOCK_TIMEOUT | CUBRID provides the lock timeout feature, which sets the waiting time (in seconds) for the lock until the transaction lock setting is allowed. The default value of the lock_timeout_in_secs parameter is -1, which means the application client will wait indefinitely until the transaction lock is allowed.
PARAM_AUTO_COMMIT | In CUBRID PHP, auto-commit mode is disabled by default for transaction management. It can be set by using cubrid_set_autocommit().

The following table shows the isolation levels from 1 to 6. It consists of table schema (row) and isolation level:

Levels of Isolation Supported by CUBRID
Name | Description
SERIALIZABLE (6) | In this isolation level, problems concerning concurrency (e.g. dirty read, non-repeatable read, phantom read, etc.) do not occur.
REPEATABLE READ CLASS with REPEATABLE READ INSTANCES (5) | Another transaction T2 cannot update the schema of table A while transaction T1 is viewing table A. Transaction T1 may experience phantom read for the record R that was inserted by another transaction T2 when it is repeatedly retrieving a specific record.
REPEATABLE READ CLASS with READ COMMITTED INSTANCES (or CURSOR STABILITY) (4) | Another transaction T2 cannot update the schema of table A while transaction T1 is viewing table A. Transaction T1 may experience R read (non-repeatable read) that was updated and committed by another transaction T2 when it is repeatedly retrieving the record R.
REPEATABLE READ CLASS with READ UNCOMMITTED INSTANCES (3) | Default isolation level. Another transaction T2 cannot update the schema of table A while transaction T1 is viewing table A. Transaction T1 may experience R' read (dirty read) for the record that was updated but not committed by another transaction T2.
READ COMMITTED CLASS with READ COMMITTED INSTANCES (2) | Transaction T1 may experience A' read (non-repeatable read) for the table that was updated and committed by another transaction T2 while it is viewing table A repeatedly. Transaction T1 may experience R' read (non-repeatable read) for the record that was updated and committed by another transaction T2 while it is retrieving the record R repeatedly.
READ COMMITTED CLASS with READ UNCOMMITTED INSTANCES (1) | Transaction T1 may experience A' read (non-repeatable read) for the table that was updated and committed by another transaction T2 while it is repeatedly viewing table A. Transaction T1 may experience R' read (dirty read) for the record that was updated but not committed by another transaction T2.

Parâmetros

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opened by cubrid_connect() is assumed.

Valor Retornado

An associative array with CUBRID database parameters; on success.

false on failure.

Changelog

Versão | Descrição
8.4.0 | Change LOCK_TIMEOUT to PARAM_LOCK_TIMEOUT, and MAX_STRING_LENGTH to PARAM_MAX_STRING_LENGTH in result.

Exemplos

Exemplo #1 cubrid_get_db_parameter() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

O exemplo acima irá imprimir:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Veja Também

  • cubrid_set_db_parameter() - Sets the CUBRID database parameters
  • cubrid_get_autocommit() - Get auto-commit mode of the connection


Get the query timeout value of the request

  • « cubrid_get_db_parameter
  • cubrid_get_server_info »
  • PHP Manual
  • CUBRID Funções
  • Get the query timeout value of the request

cubrid_get_query_timeout

(PECL CUBRID >= 8.4.1)

cubrid_get_query_timeout — Get the query timeout value of the request

Descrição

cubrid_get_query_timeout ( resource $req_identifier ) : int

The cubrid_get_query_timeout() function is used to get the query timeout of the request.

Parâmetros

req_identifier

Request identifier.

Valor Retornado

Success: the query timeout value of the current request. Units of msec.

Failure: FALSE

Exemplos

Exemplo #1 cubrid_get_query_timeout() example

<?php

$host = "localhost";
$port = 33000;
$db = "demodb";

$conn =
cubrid_connect_with_url("CUBRID:$host:$port:$db:::?login_timeout=50000&query_timeout=5000&disconnect_on_query_timeout=yes");

$req = cubrid_prepare($conn, "SELECT * FROM code");

$timeout = cubrid_get_query_timeout($req);
var_dump($timeout);

cubrid_set_query_timeout($req, 1000);
$timeout = cubrid_get_query_timeout($req);
var_dump($timeout);

cubrid_close($conn);
?>

O exemplo acima irá imprimir:

int(5000)
int(1000)

Veja Também

  • cubrid_set_query_timeout() - Set the timeout time of query execution


Return the CUBRID server version

  • « cubrid_get_query_timeout
  • cubrid_get »
  • PHP Manual
  • CUBRID Funções
  • Return the CUBRID server version

cubrid_get_server_info

(PECL CUBRID >= 8.3.0)

cubrid_get_server_info — Return the CUBRID server version

Descrição

cubrid_get_server_info ( resource $conn_identifier ) : string

This function returns a string that represents the CUBRID server version.

Parâmetros

conn_identifier

The CUBRID connection.

Valor Retornado

A string that represents the CUBRID server version; on success.

false on failure.

Exemplos

Exemplo #1 cubrid_get_server_info() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

O exemplo acima irá imprimir:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1


Get a column using OID

  • « cubrid_get_server_info
  • cubrid_insert_id »
  • PHP Manual
  • CUBRID Funções
  • Get a column using OID

cubrid_get

(PECL CUBRID >= 8.3.0)

cubrid_get — Get a column using OID

Descrição

cubrid_get ( resource $conn_identifier , string $oid , mixed $attr = ? ) : mixed

The cubrid_get() function is used to get the attribute of the instance of the given oid. You can get single attribute by using string data type for the attr argument, or many attributes by using array data type for the attr argument.

Parâmetros

conn_identifier

Connection identifier.

oid

OID of the instance that you want to read.

attr

Name of the attribute that you want to read.

Valor Retornado

Content of the requested attribute, when process is successful; When attr is set with string data type, the result is returned as a string; when attr is set with array data type (0-based numerical array), then the result is returned in associative array. When attr is omitted, then all attributes are received in array form.

false when process is unsuccessful or result is NULL (If error occurs to distinguish empty string from NULL, then it prints the warning message. You can check the error by using cubrid_error_code())

Exemplos

Exemplo #1 cubrid_get() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_get($conn, $oid, "b");
var_dump($attr);

$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

string(9) "{1, 2, 3}"
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

Veja Também

  • cubrid_put() - Update a column using OID


Return the ID generated for the last updated AUTO_INCREMENT column

  • « cubrid_get
  • cubrid_is_instance »
  • PHP Manual
  • CUBRID Funções
  • Return the ID generated for the last updated AUTO_INCREMENT column

cubrid_insert_id

(PECL CUBRID >= 8.3.0)

cubrid_insert_id — Return the ID generated for the last updated AUTO_INCREMENT column

Descrição

cubrid_insert_id ( resource $conn_identifier = ? ) : string

The cubrid_insert_id() function retrieves the ID generated for the AUTO_INCREMENT column which is updated by the previous INSERT query. It returns 0 if the previous query does not generate new rows, or FALSE on failure.

Nota:

CUBRID supports AUTO_INCREMENT for more than one columns in a table. In most cases, there will be a single AUTO_INCREMENT column in a table. If there are multiple AUTO_INCREMENT columns, this function should not be used even if it will return a value.

Parâmetros

conn_identifier

The connection identifier previously obtained by a call to cubrid_connect().

Valor Retornado

A string representing the ID generated for an AUTO_INCREMENT column by the previous query, on success.

0, if the previous query does not generate new rows.

false on failure.

Changelog

Versão | Descrição
8.4.0 | Change the return value from an array to string; Remove the first parameter class_name.

Exemplos

Exemplo #1 cubrid_insert_id() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (d int AUTO_INCREMENT(1, 2), t varchar)");

for ($i = 0; $i < 10; $i++) {
    cubrid_execute($conn, "INSERT INTO cubrid_test(t) VALUES('cubrid_test')");
}

$id = cubrid_insert_id();
var_dump($id);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

string(2) "19"


Check whether the instance pointed by OID exists

  • « cubrid_insert_id
  • cubrid_lob_close »
  • PHP Manual
  • CUBRID Funções
  • Check whether the instance pointed by OID exists

cubrid_is_instance

(PECL CUBRID >= 8.3.0)

cubrid_is_instance — Check whether the instance pointed by OID exists

Descrição

cubrid_is_instance ( resource $conn_identifier , string $oid ) : int

The cubrid_is_instance() function is used to check whether the instance pointed by the given oid exists or not.

Parâmetros

conn_identifier

Connection identifier.

oid

OID of the instance that you want to check the existence.

Valor Retornado

1, if such instance exists;

0, if such instance does not exist;

-1, in case of error

Exemplos

Exemplo #1 cubrid_is_instance() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$sql = <<<EOD
SELECT host_year, medal, game_date
FROM game
WHERE athlete_code IN
    (SELECT code FROM athlete WHERE name='Thorpe Ian');
EOD;

$req = cubrid_execute($conn, $sql, CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);

$res = cubrid_is_instance ($conn, $oid);
if ($res == 1) {
    echo "Instance pointed by $oid exists.\n";
} else if ($res == 0){
    echo "Instance pointed by $oid doesn't exist.\n";
} else {
    echo "error\n";
}

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

Instance pointed by @0|0|0 doesn't exist.

Veja Também

  • cubrid_drop() - Delete an instance using OID
  • cubrid_get_class_name() - Get the class name using OID


Close BLOB/CLOB data

  • « cubrid_is_instance
  • cubrid_lob_export »
  • PHP Manual
  • CUBRID Funções
  • Close BLOB/CLOB data

cubrid_lob_close

(PECL CUBRID >= 8.3.1)

cubrid_lob_close — Close BLOB/CLOB data

Descrição

cubrid_lob_close ( array $lob_identifier_array ) : bool

cubrid_lob_close() is used to close all BLOB/CLOB returned from cubrid_lob_get().

Parâmetros

lob_identifier_array

LOB identifier array return from cubrid_lob_get.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_lob_close() example

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");
echo "Doc size: ".cubrid_lob_size($lobs[0])." bytes";
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Veja Também

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_export() - Export BLOB/CLOB data to file
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser


Export BLOB/CLOB data to file

  • « cubrid_lob_close
  • cubrid_lob_get »
  • PHP Manual
  • CUBRID Funções
  • Export BLOB/CLOB data to file

cubrid_lob_export

(PECL CUBRID >= 8.3.1)

cubrid_lob_export — Export BLOB/CLOB data to file

Descrição

cubrid_lob_export ( resource $conn_identifier , resource $lob_identifier , string $path_name ) : bool

cubrid_lob_export() is used to get BLOB/CLOB data from CUBRID database, and saves its contents to a file. To use this function, you must use cubrid_lob_get() first to get BLOB/CLOB info from CUBRID.

Parâmetros

conn_identifier

Connection identifier.

lob_identifier

LOB identifier.

path_name

Path name of the file.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_lob_export() example

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");
echo "Doc size: ".cubrid_lob_size($lobs[0])." bytes";
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Veja Também

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser


Get BLOB/CLOB data

  • « cubrid_lob_export
  • cubrid_lob_send »
  • PHP Manual
  • CUBRID Funções
  • Get BLOB/CLOB data

cubrid_lob_get

(PECL CUBRID >= 8.3.1)

cubrid_lob_get — Get BLOB/CLOB data

Descrição

cubrid_lob_get ( resource $conn_identifier , string $sql ) : array

cubrid_lob_get() is used to get BLOB/CLOB meta info from CUBRID database, CUBRID gets BLOB/CLOB by executing the SQL statement, and returns all LOBs as a resource array. Be sure that the SQL retrieves only one column and its data type is BLOB or CLOB.

Remember to use cubrid_lob_close() to release the LOBs if you don't need it any more.

Parâmetros

conn_identifier

Connection identifier.

sql

SQL statement to be executed.

Valor Retornado

Return an array of LOB resources, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_lob_get() example

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");
echo "Doc size: ".cubrid_lob_size($lobs[0])." bytes";
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Veja Também

  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_export() - Export BLOB/CLOB data to file
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser


Read BLOB/CLOB data and send straight to browser

  • « cubrid_lob_get
  • cubrid_lob_size »
  • PHP Manual
  • CUBRID Funções
  • Read BLOB/CLOB data and send straight to browser

cubrid_lob_send

(PECL CUBRID >= 8.3.1)

cubrid_lob_send — Read BLOB/CLOB data and send straight to browser

Descrição

cubrid_lob_send ( resource $conn_identifier , resource $lob_identifier ) : bool

cubrid_lob_send() reads BLOB/CLOB data and passes it straight through to the browser. To use this function, you must use cubrid_lob_get() first to get BLOB/CLOB info from CUBRID.

Parâmetros

conn_identifier

Connection identifier.

lob_identifier

LOB identifier.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_lob_send() example

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");

cubrid_lob_send($conn, $lobs[0]);
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Veja Também

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_export() - Export BLOB/CLOB data to file


Get BLOB/CLOB data size

  • « cubrid_lob_send
  • cubrid_lob2_bind »
  • PHP Manual
  • CUBRID Funções
  • Get BLOB/CLOB data size

cubrid_lob_size

(PECL CUBRID >= 8.3.1)

cubrid_lob_size — Get BLOB/CLOB data size

Descrição

cubrid_lob_size ( resource $lob_identifier ) : string

cubrid_lob_size() is used to get BLOB/CLOB data size.

Parâmetros

lob_identifier

LOB identifier.

Valor Retornado

A string representing LOB data size, when process is successful.

false, when process is unsuccessful.

Changelog

Versão | Descrição
8.4.0 | Change return value type from int to string.

Exemplos

Exemplo #1 cubrid_lob_size() example

<?php
$lobs = cubrid_lob_get($con, "SELECT doc_content FROM doc WHERE doc_id=5");
echo "Doc size:".cubrid_lob_size($lobs[0]);
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
?>

Veja Também

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_export() - Export BLOB/CLOB data to file
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser


Bind a lob object or a string as a lob object to a prepared statement as parameters

  • « cubrid_lob_size
  • cubrid_lob2_close »
  • PHP Manual
  • CUBRID Funções
  • Bind a lob object or a string as a lob object to a prepared statement as parameters

cubrid_lob2_bind

(PECL CUBRID >= 8.4.1)

cubrid_lob2_bind — Bind a lob object or a string as a lob object to a prepared statement as parameters

Descrição

cubrid_lob2_bind ( resource $req_identifier , int $bind_index , mixed $bind_value , string $bind_value_type = ? ) : bool

The cubrid_lob2_bind() function is used to bind BLOB/CLOB datas to a corresponding question mark placeholder in the SQL statement that was passed to cubrid_prepare(). If bind_value_type is not given, string will be "BLOB" as the default. But if you use cubrid_lob2_new() before, bind_value_type will be consistent with type in cubrid_lob2_new() as the default.

Parâmetros

req_identifier

Request identifier as a result of cubrid_prepare().

bind_index

Location of binding parameters. It starts with 1.

bind_value

Actual value for binding.

bind_value_type

It must be "BLOB" or "CLOB" and it won't be case-sensitive. If it not be given, the default value is "BLOB".

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_lob2_bind() example

<?php
// Table: test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");

cubrid_bind($req,1, 3);

$lob = cubrid_lob2_new($conn, 'CLOB');
cubrid_lob2_bind($req, 2, $lob);

cubrid_execute($req);

cubrid_bind($req, 1, 4);

cubrid_lob2_bind($req, 2, 'CUBRID LOB2 TEST', 'CLOB');

cubrid_execute($req);

cubrid_disconnect($conn);
?>

Veja Também

  • cubrid_lob2_new() - Create a lob object
  • cubrid_lob2_close() - Close LOB object


Close LOB object

  • « cubrid_lob2_bind
  • cubrid_lob2_export »
  • PHP Manual
  • CUBRID Funções
  • Close LOB object

cubrid_lob2_close

(PECL CUBRID >= 8.4.1)

cubrid_lob2_close — Close LOB object

Descrição

cubrid_lob2_close ( resource $lob_identifier ) : bool

The cubrid_lob2_close() function is used to close LOB object returned from cubrid_lob2_new() or got from the result set.

Parâmetros

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Valor Retornado

true, on success.

false, on failure.

Veja Também

  • cubrid_lob2_new() - Create a lob object


Export the lob object to a file

  • « cubrid_lob2_close
  • cubrid_lob2_import »
  • PHP Manual
  • CUBRID Funções
  • Export the lob object to a file

cubrid_lob2_export

(PECL CUBRID >= 8.4.1)

cubrid_lob2_export — Export the lob object to a file

Descrição

cubrid_lob2_export ( resource $lob_identifier , string $file_name ) : bool

The cubrid_lob2_export() function is used to save the contents of BLOB/CLOB data to a file. To use this function, you must use cubrid_lob2_new() or fetch a lob object from CUBRID database first. If the file already exists, the operation will fail. This function will not influence the cursor position of the lob object. It operates the entire lob object.

Parâmetros

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

filename

File name you want to store BLOB/CLOB data. It also supports the path of the file.

Valor Retornado

true if the process is successful and false for failure.

Exemplos

Exemplo #1 cubrid_lob2_export() example

<?php
// Table: test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$req = cubrid_prepare($conn, "select * from doc");

cubrid_execute($req);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);

$row = cubrid_fetch($req, CUBRID_NUM | CUBRID_LOB);

cubrid_lob2_export($row[1], "doc_3.txt");

cubrid_lob2_close($row[1]);
cubrid_disconnect($conn);
?>

Veja Também

  • cubrid_lob2_new() - Create a lob object
  • cubrid_lob2_close() - Close LOB object
  • cubrid_lob2_import() - Import BLOB/CLOB data from a file
  • cubrid_lob2_bind() - Bind a lob object or a string as a lob object to a prepared statement as parameters


Import BLOB/CLOB data from a file

  • « cubrid_lob2_export
  • cubrid_lob2_new »
  • PHP Manual
  • CUBRID Funções
  • Import BLOB/CLOB data from a file

cubrid_lob2_import

(PECL CUBRID >= 8.4.1)

cubrid_lob2_import — Import BLOB/CLOB data from a file

Descrição

cubrid_lob2_import ( resource $lob_identifier , string $file_name ) : bool

The cubrid_lob2_import() function is used to save the contents of BLOB/CLOB data from a file. To use this function, you must use cubrid_lob2_new() or fetch a lob object from CUBRID database first. If the file already exists, the operation will fail. This function will not influence the cursor position of the lob object. It operates the entire lob object.

Parâmetros

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

filename

File name you want to import BLOB/CLOB data. It also supports the path of the file.

Valor Retornado

true if the process is successful and false for failure.

Exemplos

Exemplo #1 cubrid_lob2_export() example

<?php

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");
cubrid_bind($req, 1, 1);

$lob = cubrid_lob2_new($conn, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($req, 2, $lob, 'CLOB'); // or cubrid_lob2_bind($req, 2, $lob);

cubrid_execute($req);

cubrid_lob2_close($lob);
cubrid_disconnect($conn);
?>

Veja Também

  • cubrid_lob2_new() - Create a lob object
  • cubrid_lob2_close() - Close LOB object
  • cubrid_lob2_export() - Export the lob object to a file
  • cubrid_lob2_bind() - Bind a lob object or a string as a lob object to a prepared statement as parameters


Create a lob object

  • « cubrid_lob2_import
  • cubrid_lob2_read »
  • PHP Manual
  • CUBRID Funções
  • Create a lob object

cubrid_lob2_new

(PECL CUBRID >= 8.4.1)

cubrid_lob2_new — Create a lob object

Descrição

cubrid_lob2_new ( resource $conn_identifier = ? , string $type = "BLOB" ) : resource

The cubrid_lob2_new() function is used to create a lob object (both BLOB and CLOB). This function should be used before you bind a lob object.

Parâmetros

conn_identifier

Connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() or cubrid_connect_with_url() is assumed.

type

It may be "BLOB" or "CLOB", it won't be case-sensitive. The default value is "BLOB".

Valor Retornado

Lob identifier when it is successful.

false on failure.

Veja Também

  • cubrid_lob2_close() - Close LOB object


Read from BLOB/CLOB data

  • « cubrid_lob2_new
  • cubrid_lob2_seek64 »
  • PHP Manual
  • CUBRID Funções
  • Read from BLOB/CLOB data

cubrid_lob2_read

(PECL CUBRID >= 8.4.1)

cubrid_lob2_read — Read from BLOB/CLOB data

Descrição

cubrid_lob2_read ( resource $lob_identifier , int $len ) : string

The cubrid_lob2_read() function reads len bytes from the LOB data and returns the bytes read.

Parâmetros

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

len

Length from buffer you want to read from the lob data.

Valor Retornado

Returns the contents as a string.

false when there is no more data.

NULL on failure.

Exemplos

Exemplo #1 cubrid_lob2_read() example 1

<?php
// test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "public", "");

$req = cubrid_execute($conn, "select * from test_lob");

$row = cubrid_fetch_row($req, CUBRID_LOB);

print "position now is " . cubrid_lob2_tell($row[1]) . "\n";

cubrid_lob2_seek($row[1], 10, CUBRID_CURSOR_FIRST);

print "\nposition after moving farword is " . cubrid_lob2_tell($row[1]) . "\n";

$data = cubrid_lob2_read($row[1], 12);

print "\nposition after reading is " . cubrid_lob2_tell($row[1]) . "\n";

print $data . "\n";

cubrid_lob2_seek($row[1], 5, CUBRID_CURSOR_CURRENT);

print "\nposition after moving again is " . cubrid_lob2_tell($row[1]) . "\n";

$data = cubrid_lob2_read($row[1], 20);
print $data . "\n";

cubrid_disconnect($conn);
?>

Exemplo #2 cubrid_lob2_read() example 2

<?php
// test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

$req = cubrid_execute($conn, "select * from test_lob");

$row = cubrid_fetch_row($req, CUBRID_LOB);

while (true) {
    if ($data = cubrid_lob2_read($row[1], 1024)) {
        print $data . "\n";
    }
    elseif ($data === false) {
        print "There is no more data\n";
        break;
    }
    else {
        print "There must some errors\n";
        break;
    }
}

cubrid_disconnect($conn);
?>

Veja Também

  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size
  • cubrid_lob2_size64() - Get a lob object's size


Move the cursor of a lob object

  • « cubrid_lob2_read
  • cubrid_lob2_seek »
  • PHP Manual
  • CUBRID Funções
  • Move the cursor of a lob object

cubrid_lob2_seek64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_seek64 — Move the cursor of a lob object

Descrição

cubrid_lob2_seek64 ( resource $lob_identifier , string $offset , int $origin = CUBRID_CURSOR_CURRENT ) : bool

The cubrid_lob2_seek64() function is used to move the cursor position of a lob object by the value set in the offset argument, to the direction set in the origin argument. If the offset you want to move is larger than an integer data can be stored, you can use this function.

To set the origin argument, you can use CUBRID_CURSOR_FIRST to set the cursor position moving forward offset units from the first beginning. In this case, offset must be a positive value.

If you use CUBRID_CURSOR_CURRENT for origin, you can move forward or backward. and offset can be positive or negative.

If you use CUBRID_CURSOR_LAST for origin, you can move backward offset units from the end of LOB object and offset only can be positive.

Nota:

If you use this function to move the cursor position of the lob object, you should pass offset as a string.

Parâmetros

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

offset

Number of units you want to move the cursor.

origin

This parameter can be the following values:

CUBRID_CURSOR_FIRST: move forward from the first beginning.

CUBRID_CURSOR_CURRENT: move forward or backward from the current position.

CUBRID_CURSOR_LAST: move backward at the end of LOB object.

Valor Retornado

true if the process is successful and false for failure.

Exemplos

Exemplo #1 cubrid_lob2_seek64() example

<?php
// test_lob (id INT, contents CLOB)
// Data length of doc_1.txt should be greater than 20101029056306120215.

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");
cubrid_bind($req, 1, 1);

$lob = cubrid_lob2_new($conn, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($req, 2, $lob, 'CLOB'); // or cubrid_lob2_bind($req, 2, $lob);

cubrid_execute($req);

cubrid_lob2_close($lob);

$req = cubrid_execute($conn, "select * from test_lob");
$row = cubrid_fetch_row($req, CUBRID_LOB);
$lob = $row[1];

cubrid_lob2_seek64($lob, "20101029056306120215", CUBRID_CURSOR_FIRST);
$data = cubrid_lob2_read($lob, 20);
echo $data."\n";
cubrid_disconnect($conn);
?>

Veja Também

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size
  • cubrid_lob2_size64() - Get a lob object's size


Move the cursor of a lob object

  • « cubrid_lob2_seek64
  • cubrid_lob2_size64 »
  • PHP Manual
  • CUBRID Funções
  • Move the cursor of a lob object

cubrid_lob2_seek

(PECL CUBRID >= 8.4.1)

cubrid_lob2_seek — Move the cursor of a lob object

Descrição

cubrid_lob2_seek ( resource $lob_identifier , int $offset , int $origin = CUBRID_CURSOR_CURRENT ) : bool

The cubrid_lob2_seek() function is used to move the cursor position of a lob object by the value set in the offset argument, to the direction set in the origin argument.

To set the origin argument, you can use CUBRID_CURSOR_FIRST to set the cursor position moving forward offset units from the first beginning. In this case, offset must be a positive value.

If you use CUBRID_CURSOR_CURRENT for origin, you can move forward or backward. and offset can be positive or negative.

If you use CUBRID_CURSOR_LAST for origin, you can move backward offset units from the end of LOB object and offset only can be positive.

Parâmetros

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

offset

Number of units you want to move the cursor.

origin

This parameter can be the following values:

CUBRID_CURSOR_FIRST: move forward from the first beginning.

CUBRID_CURSOR_CURRENT: move forward or backward from the current position.

CUBRID_CURSOR_LAST: move backward at the end of LOB object.

Valor Retornado

true if the process is successful and false for failure.

Exemplos

Exemplo #1 cubrid_lob2_seek() example

<?php
// test_lob (id INT, contents CLOB)
$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");
$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES(2, ?)");

$lob = cubrid_lob2_new($conn, 'CLOB');
$len = cubrid_lob2_write($lob, "Hello world");

cubrid_lob2_seek($lob, 0, CUBRID_CURSOR_LAST);
cubrid_lob2_write($lob, "beautiful");

cubrid_lob2_seek($lob, 15, CUBRID_CURSOR_FIRST);
$data = cubrid_lob2_read($lob, 5);

echo $data."\n";

cubrid_lob2_bind($req, 1, $lob);
cubrid_execute($req);

cubrid_disconnect($conn);
?>

Veja Também

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size
  • cubrid_lob2_size64() - Get a lob object's size


Get a lob object's size

  • « cubrid_lob2_seek
  • cubrid_lob2_size »
  • PHP Manual
  • CUBRID Funções
  • Get a lob object's size

cubrid_lob2_size64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_size64 — Get a lob object's size

Descrição

cubrid_lob2_size64 ( resource $lob_identifier ) : string

The cubrid_lob2_size64() function is used to get the size of a lob object. If the size of a lob object is larger than an integer data can be stored, you can use this function and it will return the size as a string.

Parâmetros

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Valor Retornado

It will return the size of the LOB object as a string when it processes successfully.

false on failure.

Veja Também

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size


Get a lob object's size

  • « cubrid_lob2_size64
  • cubrid_lob2_tell64 »
  • PHP Manual
  • CUBRID Funções
  • Get a lob object's size

cubrid_lob2_size

(PECL CUBRID >= 8.4.1)

cubrid_lob2_size — Get a lob object's size

Descrição

cubrid_lob2_size ( resource $lob_identifier ) : int

The cubrid_lob2_size() function is used to get the size of a lob object.

Parâmetros

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Valor Retornado

It will return the size of the LOB object when it processes successfully.

false on failure.

Veja Também

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size64() - Get a lob object's size


Tell the cursor position of the LOB object

  • « cubrid_lob2_size
  • cubrid_lob2_tell »
  • PHP Manual
  • CUBRID Funções
  • Tell the cursor position of the LOB object

cubrid_lob2_tell64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_tell64 — Tell the cursor position of the LOB object

Descrição

cubrid_lob2_tell64 ( resource $lob_identifier ) : string

The cubrid_lob2_tell64() function is used to tell the cursor position of the LOB object. If the size of a lob object is larger than an integer data can be stored, you can use this function and it will return the position information as a string.

Parâmetros

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Valor Retornado

It will return the cursor position on the LOB object as a string when it processes successfully.

false on failure.

Veja Também

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size
  • cubrid_lob2_size64() - Get a lob object's size


Tell the cursor position of the LOB object

  • « cubrid_lob2_tell64
  • cubrid_lob2_write »
  • PHP Manual
  • CUBRID Funções
  • Tell the cursor position of the LOB object

cubrid_lob2_tell

(PECL CUBRID >= 8.4.1)

cubrid_lob2_tell — Tell the cursor position of the LOB object

Descrição

cubrid_lob2_tell ( resource $lob_identifier ) : int

The cubrid_lob2_tell() function is used to tell the cursor position of the LOB object.

Parâmetros

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Valor Retornado

It will return the cursor position on the LOB object when it processes successfully.

false on failure.

Veja Também

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size
  • cubrid_lob2_size64() - Get a lob object's size


Write to a lob object

  • « cubrid_lob2_tell
  • cubrid_lock_read »
  • PHP Manual
  • CUBRID Funções
  • Write to a lob object

cubrid_lob2_write

(PECL CUBRID >= 8.4.1)

cubrid_lob2_write — Write to a lob object

Descrição

cubrid_lob2_write ( resource $lob_identifier , string $buf ) : bool

The cubrid_lob2_write() function reads as much as data from buf and stores it to the LOB object. Note that this function can only append characters now.

Parâmetros

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

buf

Data that need to be written to the lob object.

Valor Retornado

true if the process is successful and false for failure.

Exemplos

Exemplo #1 cubrid_lob2_write() example 1

<?php
// test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES(2, ?)");

$lob = cubrid_lob2_new($conn, 'CLOB');
$len = cubrid_lob2_write($lob, "Hello world");

cubrid_lob2_bind($req, 1, $lob);
cubrid_execute($req);

cubrid_disconnect($conn);
?>

Exemplo #2 cubrid_lob2_write() example 2

<?php
// test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES(1, ?)");
$lob1 = cubrid_lob2_new($conn, 'CLOB');
$len = cubrid_lob2_write($lob1, "cubrid php driver");
cubrid_lob2_bind($req, 1, $lob1);
cubrid_execute($req);

$req = cubrid_execute($conn, "select * from test_lob");

$row = cubrid_fetch_row($req, CUBRID_LOB);
$lob2 = $row[1];
cubrid_lob2_seek($lob2, 0, CUBRID_CURSOR_LAST);

$pos = cubrid_lob2_tell($lob2);
print "pos before write: $pos\n";

cubrid_lob2_write($lob2, "Hello world");

$pos = cubrid_lob2_tell($lob2);
print "pos after write: $pos\n";

cubrid_disconnect($conn);
?>

Veja Também

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size
  • cubrid_lob2_size64() - Get a lob object's size


Set a read lock on the given OID

  • « cubrid_lob2_write
  • cubrid_lock_write »
  • PHP Manual
  • CUBRID Funções
  • Set a read lock on the given OID

cubrid_lock_read

(PECL CUBRID >= 8.3.0)

cubrid_lock_read — Set a read lock on the given OID

Descrição

cubrid_lock_read ( resource $conn_identifier , string $oid ) : bool

The cubrid_lock_read() function is used to put read lock on the instance pointed by given oid.

Parâmetros

conn_identifier

Connection identifier.

oid

OID of the instance that you want to put read lock on.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_lock_read() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

cubrid_lock_read($conn, $oid);

$attr = cubrid_get($conn, $oid, "b");
var_dump($attr);

$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

string(9) "{1, 2, 3}"
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

Veja Também

  • cubrid_lock_write() - Set a write lock on the given OID


Set a write lock on the given OID

  • « cubrid_lock_read
  • cubrid_move_cursor »
  • PHP Manual
  • CUBRID Funções
  • Set a write lock on the given OID

cubrid_lock_write

(PECL CUBRID >= 8.3.0)

cubrid_lock_write — Set a write lock on the given OID

Descrição

cubrid_lock_write ( resource $conn_identifier , string $oid ) : bool

The cubrid_lock_write() function is used to put write lock on the instance pointed by the given oid.

Parâmetros

conn_identifier

Connection identifier.

oid

OID of the instance that you want to put write lock on.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_lock_write() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

cubrid_lock_write($conn, $oid);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_put($conn, $oid, "b", array(2, 4, 8));

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(3) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "4"
  [2]=>
  string(1) "8"
}

Veja Também

  • cubrid_lock_read() - Set a read lock on the given OID


Move the cursor in the result

  • « cubrid_lock_write
  • cubrid_next_result »
  • PHP Manual
  • CUBRID Funções
  • Move the cursor in the result

cubrid_move_cursor

(PECL CUBRID >= 8.3.0)

cubrid_move_cursor — Move the cursor in the result

Descrição

cubrid_move_cursor ( resource $req_identifier , int $offset , int $origin = CUBRID_CURSOR_CURRENT ) : bool

The cubrid_move_cursor() function is used to move the current cursor location of req_identifier by the value set in the offset argument, to the direction set in the origin argument. To set the origin argument, you can use CUBRID_CURSOR_FIRST for the first part of the result, CUBRID_CURSOR_CURRENT for the current location of the result, or CUBRID_CURSOR_LAST for the last part of the result. If origin argument is not explicitly designated, then the function uses CUBRID_CURSOR_CURRENT as its default value.

If the value of cursor movement range goes over the valid limit, then the cursor moves to the next location after the valid range for the cursor. For example, if you move 20 units in the result with the size of 10, then the cursor will move to 11th place and return CUBRID_NO_MORE_DATA.

Parâmetros

req_identifier

Request identifier.

offset

Number of units you want to move the cursor.

origin

Location where you want to move the cursor from CUBRID_CURSOR_FIRST, CUBRID_CURSOR_CURRENT, CUBRID_CURSOR_LAST.

Valor Retornado

true, when process is successful.

false, when process is unsucceful.

Exemplos

Exemplo #1 cubrid_move_cursor() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code");
cubrid_move_cursor($req, 1, CUBRID_CURSOR_LAST);

$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_CURRENT);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(2) {
  [0]=>
  string(1) "G"
  [1]=>
  string(4) "Gold"
}
array(2) {
  [0]=>
  string(1) "X"
  [1]=>
  string(5) "Mixed"
}
array(2) {
  [0]=>
  string(1) "M"
  [1]=>
  string(3) "Man"
}

Veja Também

  • cubrid_execute() - Execute a prepared SQL statement


Get result of next query when executing multiple SQL statements

  • « cubrid_move_cursor
  • cubrid_num_cols »
  • PHP Manual
  • CUBRID Funções
  • Get result of next query when executing multiple SQL statements

cubrid_next_result

(PECL CUBRID >= 8.4.0)

cubrid_next_result — Get result of next query when executing multiple SQL statements

Descrição

cubrid_next_result ( resource $result ) : bool

The cubrid_next_result() function is used to get results of next query if multiple SQL statements are executed and CUBRID_EXEC_QUERY_ALL flag is set upon cubrid_execute().

Parâmetros

result

result comes from a call to cubrid_execute()

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_next_result() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb", "dba");

$sql_stmt = "SELECT * FROM code; SELECT * FROM history WHERE host_year=2004 AND event_code=20281";
$res = cubrid_execute($conn, $sql_stmt, CUBRID_EXEC_QUERY_ALL);

get_result_info($res);
cubrid_next_result($res);
get_result_info($res);

function get_result_info($req)
{
    printf("\n------------ get_result_info --------------------\n");

    $row_num = cubrid_num_rows($req);
    $col_num = cubrid_num_cols($req);

    $column_name_list = cubrid_column_names($req);
    $column_type_list = cubrid_column_types($req);

    $column_last_name = cubrid_field_name($req, $col_num - 1);
    $column_last_table = cubrid_field_table($req, $col_num - 1);

    $column_last_type = cubrid_field_type($req, $col_num - 1);
    $column_last_len = cubrid_field_len($req, $col_num - 1);

    $column_1_flags = cubrid_field_flags($req, 1);

    printf("%-30s %d\n", "Row count:", $row_num);
    printf("%-30s %d\n", "Column count:", $col_num);
    printf("\n");

    printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Len");
    printf("------------------------------------------------------------------------------\n");

    $size = count($column_name_list);
    for($i = 0; $i < $size; $i++) {
        $column_len = cubrid_field_len($req, $i);
        printf("%-30s %-30s %-15s\n", $column_name_list[$i], $column_type_list[$i], $column_len);
    }
    printf("\n\n");

    printf("%-30s %s\n", "Last Column Name:", $column_last_name);
    printf("%-30s %s\n", "Last Column Table:", $column_last_table);
    printf("%-30s %s\n", "Last Column Type:", $column_last_type);
    printf("%-30s %d\n", "Last Column Len:", $column_last_len);
    printf("%-30s %s\n", "Second Column Flags:", $column_1_flags);

    printf("\n\n");
}
?>

O exemplo acima irá imprimir:

------------ get_result_info --------------------
Row count:                     6
Column count:                  2

Column Names                   Column Types                   Column Len
------------------------------------------------------------------------------
s_name                         char                           1
f_name                         varchar                        6

Last Column Name:              f_name
Last Column Table:             code
Last Column Type:              varchar
Last Column Len:               6
Second Column Flags:

------------ get_result_info --------------------
Row count:                     4
Column count:                  5

Column Names                   Column Types                   Column Len
------------------------------------------------------------------------------
event_code                     integer                        11
athlete                        varchar                        40
host_year                      integer                        11
score                          varchar                        10
unit                           varchar                        5

Last Column Name:              unit
Last Column Table:             history
Last Column Type:              varchar
Last Column Len:               5
Second Column Flags:           not_null primary_key unique_key

Veja Também

  • cubrid_execute() - Execute a prepared SQL statement


Return the number of columns in the result set

  • « cubrid_next_result
  • cubrid_num_rows »
  • PHP Manual
  • CUBRID Funções
  • Return the number of columns in the result set

cubrid_num_cols

(PECL CUBRID >= 8.3.0)

cubrid_num_cols — Return the number of columns in the result set

Descrição

cubrid_num_cols ( resource $result ) : int

The cubrid_num_cols() function is used to get the number of columns from the query result. It can only be used when the query executed is a select statement.

Parâmetros

result

Result.

Valor Retornado

Number of columns, when process is successful.

false, if SQL statement is not SELECT.

Exemplos

Exemplo #1 cubrid_num_cols() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_cols($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

Row Num: 6
Column Num: 2

Veja Também

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_num_rows() - Get the number of rows in the result set


Get the number of rows in the result set

  • « cubrid_num_cols
  • cubrid_pconnect_with_url »
  • PHP Manual
  • CUBRID Funções
  • Get the number of rows in the result set

cubrid_num_rows

(PECL CUBRID >= 8.3.0)

cubrid_num_rows — Get the number of rows in the result set

Descrição

cubrid_num_rows ( resource $result ) : int

The cubrid_num_rows() function is used to get the number of rows from the query result. You can use it only when the query executed is a select statement. When you want to know such value for INSERT, UPDATE, or DELETE query, you have to use the cubrid_affected_rows() function.

Note: The cubrid_num_rows() function can only be used for synchronous query; it returns 0 when it is used for asynchronous query.

Parâmetros

result

result comes from a call to cubrid_execute(), cubrid_query() and cubrid_prepare()

Valor Retornado

Number of rows, when process is successful.

0 when the query was done in async mode.

-1, if SQL statement is not SELECT.

false when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_num_rows() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_cols($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

Row Num: 6
Column Num: 2

Veja Também

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_num_cols() - Return the number of columns in the result set
  • cubrid_affected_rows() - Return the number of rows affected by the last SQL statement


Open a persistent connection to CUBRID server

  • « cubrid_num_rows
  • cubrid_pconnect »
  • PHP Manual
  • CUBRID Funções
  • Open a persistent connection to CUBRID server

cubrid_pconnect_with_url

(PECL CUBRID >= 8.3.1)

cubrid_pconnect_with_url — Open a persistent connection to CUBRID server

Descrição

cubrid_pconnect_with_url ( string $conn_url , string $userid = ? , string $passwd = ? ) : resource

Establishes a persistent connection to a CUBRID server.

cubrid_pconnect_with_url() acts very much like cubrid_connect_with_url() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, port, dbname and userid. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (cubrid_close() or cubrid_disconnect() will not close links established by cubrid_pconnect_with_url()).

This type of link is therefore called 'persistent'.

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]

<properties> ::= <property> [&<property>]

<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]

<properties> ::= login_timeout=<milli_sec>

<properties> ::= query_timeout=<milli_sec>

<properties> ::= disconnect_on_query_timeout=true|false

<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]

<host> := HOSTNAME | IP_ADDR

<time> := SECOND

<milli_sec> := MILLI SECOND

  • host : A host name or IP address of the master database
  • db_name : A name of the database
  • db_user : A name of the database user
  • db_password : A database user password
  • alhosts : Specifies the broker information of the standby server, which is used for failover when it is impossible to connect to the active server. You can specify multiple brokers for failover, and the connection to the brokers is attempted in the order listed in alhosts
  • rctime : An interval between the attempts to connect to the active broker in which failure occurred. After a failure occurs, the system connects to the broker specified by althosts (failover), terminates the transaction, and then attempts to connect to the active broker of the master database at every rctime. The default value is 600 seconds.
  • login_timeout : Timeout value (unit: msec.) for database login. The default value is 0, which means infinite postponement.
  • query_timeout : Timeout value (unit: msec.) for query request. Upon timeout, a message to cancel requesting a query transferred to server is sent. The return value can depend on the disconnect_on_query_timeout configuration; even though the message to cancel a request is sent to server, that request may succeed.
  • disconnect_on_query_timeout : Configures a value whether to immediately return an error of function being executed upon timeout. The default value is false.

Nota:

? and : that are used as identifiers in PHP connection URL can't be included in the password. The following is an example of a password that is invalid to use as connection URL because it contains "?:".

$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";

Passwords that contain ? or : may be passed as a separate parameter.

$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";

$conn = cubrid_pconnect_with_url ($url, "dba", "12?");

If user or password is empty,you can't delete ":",the following is an example.

$url = "CUBRID:localhost:33000:demodb:::";

Parâmetros

conn_url

A character string that contains server connection information.

userid

User name for the database.

passwd

User password.

Valor Retornado

Connection identifier, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_pconnect_with_url() url without properties example

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::"
$con = cubrid_pconnect_with_url ($conn_url);

if ($con) {
   echo "connected successfully";
   cubrid_execute($con, "create table person(id int,name char(16))");
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_disconnect ($con);
}
?>

Exemplo #2 cubrid_pconnect_with_url() url with properties example

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?althost=10.34.63.132:33088&rctime=100"
$con = cubrid_pconnect_with_url ($conn_url);

if ($con) {
   echo "connected successfully";
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_disconnect ($con);
}
?>

Veja Também

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server
  • cubrid_pconnect() - Open a persistent connection to a CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection


Open a persistent connection to a CUBRID server

  • « cubrid_pconnect_with_url
  • cubrid_prepare »
  • PHP Manual
  • CUBRID Funções
  • Open a persistent connection to a CUBRID server

cubrid_pconnect

(PECL CUBRID >= 8.3.1)

cubrid_pconnect — Open a persistent connection to a CUBRID server

Descrição

cubrid_pconnect ( string $host , int $port , string $dbname , string $userid = ? , string $passwd = ? ) : resource

Establishes a persistent connection to a CUBRID server.

cubrid_pconnect() acts very much like cubrid_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, port, dbname and userid. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (cubrid_close() or cubrid_disconnect() will not close links established by cubrid_pconnect()).

This type of link is therefore called 'persistent'.

Parâmetros

host

Host name or IP address of CUBRID CAS server.

port

Port number of CUBRID CAS server (BROKER_PORT configured in $CUBRID/conf/cubrid_broker.conf).

dbname

Name of database.

userid

User name for the database.

passwd

User password.

Valor Retornado

Connection identifier, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_connect() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_pconnect("localhost", 33000, "demodb", "dba");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Veja Também

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server
  • cubrid_pconnect_with_url() - Open a persistent connection to CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection


Prepare a SQL statement for execution

  • « cubrid_pconnect
  • cubrid_put »
  • PHP Manual
  • CUBRID Funções
  • Prepare a SQL statement for execution

cubrid_prepare

(PECL CUBRID >= 8.3.0)

cubrid_prepare — Prepare a SQL statement for execution

Descrição

cubrid_prepare ( resource $conn_identifier , string $prepare_stmt , int $option = 0 ) : resource

The cubrid_prepare() function is a sort of API which represents SQL statements compiled previously to a given connection handle. This pre-compiled SQL statement will be included in the cubrid_prepare().

Accordingly, you can use this statement effectively to execute several times repeatedly or to process long data. Only a single statement can be used and a parameter may put a question mark (?) to appropriate area in the SQL statement. Add a parameter when you bind a value in the VALUES clause of INSERT statement or in the WHERE clause. Note that it is allowed to bind a value to a MARK(?) by using the cubrid_bind() function only.

Parâmetros

conn_identifier

Connection identifier.

prepare_stmt

Prepare query.

option

OID return option CUBRID_INCLUDE_OID.

Valor Retornado

Request identifier, if process is successful;

false, if process is unsuccessful.

Exemplos

Exemplo #1 cubrid_prepare() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$sql = <<<EOD
SELECT g.event_code, e.name
FROM game g
JOIN event e ON g.event_code=e.code
WHERE host_year = ? AND event_code NOT IN (SELECT event_code FROM game WHERE host_year=?) GROUP BY event_code;
EOD;

$req = cubrid_prepare($conn, $sql);

cubrid_bind($req, 1, 2004);
cubrid_bind($req, 2, 2000);
cubrid_execute($req);

$row_num = cubrid_num_rows($req);
printf("There are %d event that exits in 2004 olympic but not in 2000. For example:\n\n", $row_num);

printf("%-15s %s\n", "Event_code", "Event_name");
printf("----------------------------\n");

$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);
$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

There are 27 event that exits in 2004 olympic but not in 2000. For example:

Event_code      Event_name
----------------------------
20063           +91kg
20070           64kg

Veja Também

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_bind() - Bind variables to a prepared statement as parameters


Update a column using OID

  • « cubrid_prepare
  • cubrid_rollback »
  • PHP Manual
  • CUBRID Funções
  • Update a column using OID

cubrid_put

(PECL CUBRID >= 8.3.0)

cubrid_put — Update a column using OID

Descrição

cubrid_put ( resource $conn_identifier , string $oid , string $attr = ? , mixed $value ) : bool

The cubrid_put() function is used to update an attribute of the instance of the given oid.

You can update single attribute by using string data type to set attr. In such case, you can use integer, floating point or string type data for the value argument. To update multiple number of attributes, you can disregard the attr argument, and set value argument with associative array data type.

Parâmetros

conn_identifier

Connection identifier.

oid

OID of the instance that you want to update.

attr

Name of the attribute that you want to update.

value

New value that you want to assign to the attribute.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_put() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_put($conn, $oid, "b", array(2, 4, 8));

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(3) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "4"
  [2]=>
  string(1) "8"
}

Veja Também

  • cubrid_get() - Get a column using OID
  • cubrid_set_add() - Insert a single element to set type column using OID
  • cubrid_set_drop() - Delete an element from set type column using OID
  • cubrid_seq_insert() - Insert an element to a sequence type column using OID
  • cubrid_seq_drop() - Delete an element from sequence type column using OID
  • cubrid_seq_put() - Update the element value of sequence type column using OID


Roll back a transaction

  • « cubrid_put
  • cubrid_schema »
  • PHP Manual
  • CUBRID Funções
  • Roll back a transaction

cubrid_rollback

(PECL CUBRID >= 8.3.0)

cubrid_rollback — Roll back a transaction

Descrição

cubrid_rollback ( resource $conn_identifier ) : bool

The cubrid_rollback() function executes rollback on the transaction pointed by conn_identifier, currently in progress.

Connection to server is closed after calling cubrid_rollback(). Connection handle, however, is still valid.

Parâmetros

conn_identifier

Connection identifier.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_rollback() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb", "dba");
cubrid_set_autocommit($conn,false);

@cubrid_execute($conn, "DROP TABLE publishers");

$sql = <<<EOD
CREATE TABLE publishers(
pub_id CHAR(3),
pub_name VARCHAR(20),
city VARCHAR(15),
state CHAR(2),
country VARCHAR(15)
)
EOD;

if (!cubrid_execute($conn, $sql)) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n", cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}

$req = cubrid_prepare($conn, "INSERT INTO publishers VALUES(?, ?, ?, ?, ?)");

$id_list = array("P01", "P02", "P03", "P04");
$name_list = array("Abatis Publishers", "Core Dump Books", "Schadenfreude Press", "Tenterhooks Press");
$city_list = array("New York", "San Francisco", "Hamburg", "Berkeley");
$state_list = array("NY", "CA", NULL, "CA");
$country_list = array("USA", "USA", "Germany", "USA");

for ($i = 0, $size = count($id_list); $i < $size; $i++) {
    cubrid_bind($req, 1, $id_list[$i]);
    cubrid_bind($req, 2, $name_list[$i]);
    cubrid_bind($req, 3, $city_list[$i]);
    cubrid_bind($req, 4, $state_list[$i]);
    cubrid_bind($req, 5, $country_list[$i]);

    if (!($ret = cubrid_execute($req))) {
        break;
    }
}

if (!$ret) {
    cubrid_rollback($conn);
} else {
    cubrid_commit($conn);

    $req = cubrid_execute($conn, "SELECT * FROM publishers");
    while ($result = cubrid_fetch_assoc($req)) {
        printf("%-3s %-20s %-15s %-3s %-15s\n",
            $result["pub_id"], $result["pub_name"], $result["city"], $result["state"], $result["country"]);
    }
}

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

P01 Abatis Publishers    New York        NY  USA
P02 Core Dump Books      San Francisco   CA  USA
P03 Schadenfreude Press  Hamburg             Germany
P04 Tenterhooks Press    Berkeley        CA  USA

Veja Também

  • cubrid_commit() - Commit a transaction
  • cubrid_disconnect() - Close a database connection


Get the requested schema information

  • « cubrid_rollback
  • cubrid_seq_drop »
  • PHP Manual
  • CUBRID Funções
  • Get the requested schema information

cubrid_schema

(PECL CUBRID >= 8.3.0)

cubrid_schema — Get the requested schema information

Descrição

cubrid_schema ( resource $conn_identifier , int $schema_type , string $class_name = ? , string $attr_name = ? ) : array

The cubrid_schema() function is used to get the requested schema information from database. You have to designate class_name, if you want to get information on certain class, attr_name, if you want to get information on certain attribute (can be used only with CUBRID_ SCH_ATTR_PRIVILEGE).

The result of the cubrid_schema function is returned as a two-dimensional array (column (associative array) * row (numeric array)). The following tables shows types of schema and the column structure of the result array to be returned based on the schema type.

Result Composition of Each Type
Schema | Column Number | Column Name | Value
CUBRID_SCH_CLASS | 1 | NAME |
 | 2 | TYPE | 0:system class 1:vclass 2:class
CUBRID_SCH_VCLASS | 1 | NAME |
 | 2 | TYPE | 1:vclass
CUBRID_SCH_QUERY_SPEC | 1 | QUERY_SPEC |
CUBRID_SCH_ATTRIBUTE / CUBRID_SCH_CLASS_ATTRIBUTE | 1 | ATTR_NAME |
 | 2 | DOMAIN |
 | 3 | SCALE |
 | 4 | PRECISION |
 | 5 | INDEXED | 1:indexed
 | 6 | NOT NULL | 1:not null
 | 7 | SHARED | 1:shared
 | 8 | UNIQUE | 1:unique
 | 9 | DEFAULT |
 | 10 | ATTR_ORDER | base:1
 | 11 | CLASS_NAME |
 | 12 | SOURCE_CLASS |
 | 13 | IS_KEY | 1:key
CUBRID_SCH_METHOD / CUBRID_SCH_CLASS_METHOD | 1 | NAME |
 | 2 | RET_DOMAIN |
 | 3 | ARG_DOMAIN |
CUBRID_SCH_METHOD_FILE | 1 | METHOD_FILE |
CUBRID_SCH_SUPERCLASS / CUBRID_SCH_DIRECT_SUPER_CLASS / CUBRID_SCH_SUBCLASS | 1 | CLASS_NAME |
 | 2 | TYPE | 0:system class 1:vclass 2:class
CUBRID_SCH_CONSTRAINT | 1 | TYPE | 0:unique 1:index 2:reverse unique 3:reverse index
 | 2 | NAME |
 | 3 | ATTR_NAME |
 | 4 | NUM_PAGES |
 | 5 | NUM_KEYS |
 | 6 | PRIMARY_KEY | 1:primary key
 | 7 | KEY_ORDER | base:1
CUBRID_SCH_TRIGGER | 1 | NAME |
 | 2 | STATUS |
 | 3 | EVENT |
 | 4 | TARGET_CLASS |
 | 5 | TARGET_ATTR |
 | 6 | ACTION_TIME |
 | 7 | ACTION |
 | 8 | PRIORITY |
 | 9 | CONDITION_TIME |
 | 10 | CONDITION |
CUBRID_SCH_CLASS_PRIVILEGE / CUBRID_SCH_ATTR_PRIVILEGE | 1 | CLASS_NAME / ATTR_NAME |
 | 2 | PRIVILEGE |
 | 3 | GRANTABLE |
CUBRID_SCH_PRIMARY_KEY | 1 | CLASS_NAME |
 | 2 | ATTR_NAME |
 | 3 | KEY_SEQ | base:1
 | 4 | KEY_NAME |
CUBRID_SCH_IMPORTED_KEYS / CUBRID_SCH_EXPORTED_KEYS / CUBRID_SCH_CROSS_REFERENCE | 1 | PKTABLE_NAME |
 | 2 | PKCOLUMN_NAME |
 | 3 | FKTABLE_NAME | base:1
 | 4 | FKCOLUMN_NAME |
 | 5 | KEY_SEQ | base:1
 | 6 | UPDATE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 7 | DELETE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 8 | FK_NAME |
 | 9 | PK_NAME |

Parâmetros

conn_identifier

Connection identifier.

schema_type

Schema data that you want to know.

class_name

Class you want to know the schema of.

attr_name

Attribute you want to know the schema of.

Valor Retornado

Array containing the schema information, when process is successful;

false, when process is unsuccessful

Changelog

Versão | Descrição
8.3.1 | Change return value: when process is unsuccessful, return false, not -1.

Exemplos

Exemplo #1 cubrid_schema() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

printf("\n--- Primary Key ---\n");
$pk = cubrid_schema($conn, CUBRID_SCH_PRIMARY_KEY, "game");
var_dump($pk);

printf("\n--- Foreign Keys ---\n");
$fk = cubrid_schema($conn, CUBRID_SCH_IMPORTED_KEYS, "game");
var_dump($fk);

printf("\n--- Column Attribute ---\n");
$attr = cubrid_schema($conn, CUBRID_SCH_ATTRIBUTE, "stadium", "area");
var_dump($attr);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

--- Primary Key ---
array(3) {
  [0]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(12) "athlete_code"
    ["KEY_SEQ"]=>
    string(1) "3"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
  [1]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(10) "event_code"
    ["KEY_SEQ"]=>
    string(1) "2"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
  [2]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(9) "host_year"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
}

--- Foreign Keys ---
array(2) {
  [0]=>
  array(9) {
    ["PKTABLE_NAME"]=>
    string(7) "athlete"
    ["PKCOLUMN_NAME"]=>
    string(4) "code"
    ["FKTABLE_NAME"]=>
    string(4) "game"
    ["FKCOLUMN_NAME"]=>
    string(12) "athlete_code"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["UPDATE_RULE"]=>
    string(1) "1"
    ["DELETE_RULE"]=>
    string(1) "1"
    ["FK_NAME"]=>
    string(20) "fk_game_athlete_code"
    ["PK_NAME"]=>
    string(15) "pk_athlete_code"
  }
  [1]=>
  array(9) {
    ["PKTABLE_NAME"]=>
    string(5) "event"
    ["PKCOLUMN_NAME"]=>
    string(4) "code"
    ["FKTABLE_NAME"]=>
    string(4) "game"
    ["FKCOLUMN_NAME"]=>
    string(10) "event_code"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["UPDATE_RULE"]=>
    string(1) "1"
    ["DELETE_RULE"]=>
    string(1) "1"
    ["FK_NAME"]=>
    string(18) "fk_game_event_code"
    ["PK_NAME"]=>
    string(13) "pk_event_code"
  }
}

--- Column Attribute ---
array(1) {
  [0]=>
  array(13) {
    ["ATTR_NAME"]=>
    string(4) "area"
    ["DOMAIN"]=>
    string(1) "7"
    ["SCALE"]=>
    string(1) "2"
    ["PRECISION"]=>
    string(2) "10"
    ["INDEXED"]=>
    string(1) "0"
    ["NON_NULL"]=>
    string(1) "0"
    ["SHARED"]=>
    string(1) "0"
    ["UNIQUE"]=>
    string(1) "0"
    ["DEFAULT"]=>
    NULL
    ["ATTR_ORDER"]=>
    string(1) "4"
    ["CLASS_NAME"]=>
    string(7) "stadium"
    ["SOURCE_CLASS"]=>
    string(7) "stadium"
    ["IS_KEY"]=>
    string(1) "0"
  }
}


Delete an element from sequence type column using OID

  • « cubrid_schema
  • cubrid_seq_insert »
  • PHP Manual
  • CUBRID Funções
  • Delete an element from sequence type column using OID

cubrid_seq_drop

(PECL CUBRID >= 8.3.0)

cubrid_seq_drop — Delete an element from sequence type column using OID

Descrição

cubrid_seq_drop ( resource $conn_identifier , string $oid , string $attr_name , int $index ) : bool

The cubrid_seq_drop() function is used to delete an element you request from the given sequence type attribute in the database.

Parâmetros

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute that you want to delete an element from.

index

Index of the element that you want to delete (1-based).

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_seq_drop() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_drop($conn, $oid, "c", 4);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(3) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
}

Veja Também

  • cubrid_seq_insert() - Insert an element to a sequence type column using OID
  • cubrid_seq_put() - Update the element value of sequence type column using OID


Insert an element to a sequence type column using OID

  • « cubrid_seq_drop
  • cubrid_seq_put »
  • PHP Manual
  • CUBRID Funções
  • Insert an element to a sequence type column using OID

cubrid_seq_insert

(PECL CUBRID >= 8.3.0)

cubrid_seq_insert — Insert an element to a sequence type column using OID

Descrição

cubrid_seq_insert ( resource $conn_identifier , string $oid , string $attr_name , int $index , string $seq_element ) : bool

The cubrid_col_insert() function is used to insert an element to a sequence type attribute in a requested location.

Parâmetros

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute you want to insert an instance to.

index

Location of the element, you want to insert the element to (1-based).

seq_element

Content of the element that you want to insert.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_seq_insert() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_insert($conn, $oid, "c", 5, "44");

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(5) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
  [4]=>
  string(2) "44"
}

Veja Também

  • cubrid_seq_drop() - Delete an element from sequence type column using OID
  • cubrid_seq_put() - Update the element value of sequence type column using OID


Update the element value of sequence type column using OID

  • « cubrid_seq_insert
  • cubrid_set_add »
  • PHP Manual
  • CUBRID Funções
  • Update the element value of sequence type column using OID

cubrid_seq_put

(PECL CUBRID >= 8.3.0)

cubrid_seq_put — Update the element value of sequence type column using OID

Descrição

cubrid_seq_put ( resource $conn_identifier , string $oid , string $attr_name , int $index , string $seq_element ) : bool

The cubrid_seq_put() function is used to update the content of the requested element in a sequent type attribute using OID.

Parâmetros

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute that you want to update an element.

index

Index (1-based) of the element that you want to update.

seq_element

New content that you want to use for the update.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_seq_put() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_put($conn, $oid, "c", 1, "111");

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(4) {
  [0]=>
  string(3) "111"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}

Veja Também

  • cubrid_seq_drop() - Delete an element from sequence type column using OID
  • cubrid_seq_insert() - Insert an element to a sequence type column using OID


Insert a single element to set type column using OID

  • « cubrid_seq_put
  • cubrid_set_autocommit »
  • PHP Manual
  • CUBRID Funções
  • Insert a single element to set type column using OID

cubrid_set_add

(PECL CUBRID >= 8.3.0)

cubrid_set_add — Insert a single element to set type column using OID

Descrição

cubrid_set_add ( resource $conn_identifier , string $oid , string $attr_name , string $set_element ) : bool

The cubrid_set_add() function is used to insert a single element to a set type attribute (set, multiset, sequence) you requested.

Parâmetros

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute you want to insert an element.

set_element

Content of the element you want to insert.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_set_add() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_set_add($conn, $oid, "b", "4");

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(4) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
  [3]=>
  string(1) "4"
}

Veja Também

  • cubrid_seq_drop() - Delete an element from sequence type column using OID


Set autocommit mode of the connection

  • « cubrid_set_add
  • cubrid_set_db_parameter »
  • PHP Manual
  • CUBRID Funções
  • Set autocommit mode of the connection

cubrid_set_autocommit

(PECL CUBRID >= 8.4.0)

cubrid_set_autocommit — Set autocommit mode of the connection

Descrição

cubrid_set_autocommit ( resource $conn_identifier , bool $mode ) : bool

The cubrid_set_autocommit() function is used to set the CUBRID database auto-commit mode of the current database connection.

In CUBRID PHP, auto-commit mode is disabled by default for transaction management. When auto-commit mode is truned from off to on, any pending work is automatically committed.

Parâmetros

conn_identifier

Connection identifier.

mode

Auto-commit mode. The following constants can be used:

  • CUBRID_AUTOCOMMIT_FALSE
  • CUBRID_AUTOCOMMIT_TRUE

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Veja Também

  • cubrid_get_autocommit() - Get auto-commit mode of the connection
  • cubrid_commit() - Commit a transaction


Sets the CUBRID database parameters

  • « cubrid_set_autocommit
  • cubrid_set_drop »
  • PHP Manual
  • CUBRID Funções
  • Sets the CUBRID database parameters

cubrid_set_db_parameter

(PECL CUBRID >= 8.4.0)

cubrid_set_db_parameter — Sets the CUBRID database parameters

Descrição

cubrid_set_db_parameter ( resource $conn_identifier , int $param_type , int $param_value ) : bool

The cubrid_set_db_parameter() function is used to set the CUBRID database parameters. It can set the following CUBRID database parameters:

  • PARAM_ISOLATION_LEVEL
  • PARAM_LOCK_TIMEOUT

Nota:

The auto-commit mode can be set by using cubrid_set_autocommit().

Parâmetros

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opened by cubrid_connect() is assumed.

param_type

Database parameter type.

param_value

Isolation level value (1-6) or lock timeout (in seconds) value.

Valor Retornado

true on success.

false on failure.

Exemplos

Exemplo #1 cubrid_get_db_parameter() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$params = cubrid_get_db_parameter($conn);
var_dump($params);

cubrid_set_autocommit($conn, CUBRID_AUTOCOMMIT_TRUE);
cubrid_set_db_parameter($conn, CUBRID_PARAM_ISOLATION_LEVEL, 2);

$params_new = cubrid_get_db_parameter($conn);
var_dump($params_new);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(4) {
  ["PARAM_ISOLATION_LEVEL"]=>
  int(3)
  ["PARAM_LOCK_TIMEOUT"]=>
  int(-1)
  ["PARAM_MAX_STRING_LENGTH"]=>
  int(1073741823)
  ["PARAM_AUTO_COMMIT"]=>
  int(0)
}
array(4) {
  ["PARAM_ISOLATION_LEVEL"]=>
  int(2)
  ["PARAM_LOCK_TIMEOUT"]=>
  int(-1)
  ["PARAM_MAX_STRING_LENGTH"]=>
  int(1073741823)
  ["PARAM_AUTO_COMMIT"]=>
  int(1)
}

Veja Também

  • cubrid_get_db_parameter() - Returns the CUBRID database parameters
  • cubrid_set_autocommit() - Set autocommit mode of the connection


Delete an element from set type column using OID

  • « cubrid_set_db_parameter
  • cubrid_set_query_timeout »
  • PHP Manual
  • CUBRID Funções
  • Delete an element from set type column using OID

cubrid_set_drop

(PECL CUBRID >= 8.3.0)

cubrid_set_drop — Delete an element from set type column using OID

Descrição

cubrid_set_drop ( resource $conn_identifier , string $oid , string $attr_name , string $set_element ) : bool

The cubrid_set_drop() function is used to delete an element that you request from the given set type (set, multiset) attribute of the database.

Parâmetros

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute you want to delete an element from.

set_element

Content of the element you want to delete.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_set_drop() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_set_drop($conn, $oid, "b", "1");

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(2) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "3"
}

Veja Também

  • cubrid_set_add() - Insert a single element to set type column using OID


Set the timeout time of query execution

  • « cubrid_set_drop
  • cubrid_version »
  • PHP Manual
  • CUBRID Funções
  • Set the timeout time of query execution

cubrid_set_query_timeout

(PECL CUBRID >= 8.4.1)

cubrid_set_query_timeout — Set the timeout time of query execution

Descrição

cubrid_set_query_timeout ( resource $req_identifier , int $timeout ) : bool

The cubrid_set_query_timeout() function is used to set the timeout time of query execution.

Parâmetros

req_identifier

Request identifier.

timeout

Timeout time, unit of msec.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Veja Também

  • cubrid_get_query_timeout() - Get the query timeout value of the request


Get the CUBRID PHP module's version

  • « cubrid_set_query_timeout
  • CUBRID MySQL Compatibility Functions »
  • PHP Manual
  • CUBRID Funções
  • Get the CUBRID PHP module's version

cubrid_version

(PECL CUBRID >= 8.3.0)

cubrid_version — Get the CUBRID PHP module's version

Descrição

cubrid_version ( ) : string

The cubrid_version() function is used to get the CUBRID PHP module's version.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Version information (eg. "8.3.1.0001").

Exemplos

Exemplo #1 cubrid_version() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb", "dba");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

O exemplo acima irá imprimir:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Veja Também

  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_code_facility() - Get the facility code of error


CUBRID MySQL Compatibility Functions

Índice

  • cubrid_affected_rows — Return the number of rows affected by the last SQL statement
  • cubrid_client_encoding — Return the current CUBRID connection charset
  • cubrid_close — Close CUBRID connection
  • cubrid_data_seek — Move the internal row pointer of the CUBRID result
  • cubrid_db_name — Get db name from results of cubrid_list_dbs
  • cubrid_errno — Return the numerical value of the error message from previous CUBRID operation
  • cubrid_error — Get the error message
  • cubrid_fetch_array — Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_assoc — Return the associative array that corresponds to the fetched row
  • cubrid_fetch_field — Get column information from a result and return as an object
  • cubrid_fetch_lengths — Return an array with the lengths of the values of each field from the current row
  • cubrid_fetch_object — Fetch the next row and return it as an object
  • cubrid_fetch_row — Return a numerical array with the values of the current row
  • cubrid_field_flags — Return a string with the flags of the given field offset
  • cubrid_field_len — Get the maximum length of the specified field
  • cubrid_field_name — Return the name of the specified field index
  • cubrid_field_seek — Move the result set cursor to the specified field offset
  • cubrid_field_table — Return the name of the table of the specified field
  • cubrid_field_type — Return the type of the column corresponding to the given field offset
  • cubrid_list_dbs — Return an array with the list of all existing CUBRID databases
  • cubrid_num_fields — Return the number of columns in the result set
  • cubrid_ping — Ping a server connection or reconnect if there is no connection
  • cubrid_query — Send a CUBRID query
  • cubrid_real_escape_string — Escape special characters in a string for use in an SQL statement
  • cubrid_result — Return the value of a specific field in a specific row
  • cubrid_unbuffered_query — Perform a query without fetching the results into memory


Return the number of rows affected by the last SQL statement

  • « CUBRID MySQL Compatibility Functions
  • cubrid_client_encoding »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the number of rows affected by the last SQL statement

cubrid_affected_rows

(PECL CUBRID >= 8.3.0)

cubrid_affected_rows — Return the number of rows affected by the last SQL statement

Descrição

cubrid_affected_rows ( resource $conn_identifier = ? ) : int
cubrid_affected_rows ( resource $req_identifier = ? ) : int

The cubrid_affected_rows() function is used to get the number of rows affected by the SQL statement (INSERT, DELETE, UPDATE).

Parâmetros

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opend by cubrid_connect() is assumed.

req_identifier

Request Identifier, could be returned from either cubrid_prepare() or cubrid_execute(). If the request identifier is not specified, the last identifier requested by cubrid_prepare() or cubrid_execute() is assumed.

Valor Retornado

Number of rows affected by the SQL statement, when process is successful.

-1, when SQL statement is not INSERT, DELETE or UPDATE.

false, when the request identifier is not specified, and there is no last request.

Exemplos

Exemplo #1 cubrid_affected_rows() example

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
cubrid_execute($conn, "DROP TABLE IF EXISTS cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (d varchar)");
$sql_stmt = "INSERT INTO cubrid_test(d) VALUES('php-test')";
$req = cubrid_prepare($conn, $sql_stmt);

for ($i = 0; $i < 10; $i++) {
    cubrid_execute($req);
}
cubrid_commit($conn);

$req = cubrid_execute($conn, "DELETE FROM cubrid_test WHERE d='php-test'", CUBRID_ASYNC);
var_dump(cubrid_affected_rows());
var_dump(cubrid_affected_rows($conn));
var_dump(cubrid_affected_rows($req));

cubrid_disconnect($conn);

print "done!";
?>

O exemplo acima irá imprimir:

Rows deleted: 5

Veja Também

  • cubrid_execute() - Execute a prepared SQL statement


Return the current CUBRID connection charset

  • « cubrid_affected_rows
  • cubrid_close »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the current CUBRID connection charset

cubrid_client_encoding

(PECL CUBRID >= 8.3.1)

cubrid_client_encoding — Return the current CUBRID connection charset

Descrição

cubrid_client_encoding ( resource $conn_identifier = ? ) : string

This function returns the current CUBRID connection charset and is similar to the CUBRID function cubrid_get_charset().

Parâmetros

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opened by cubrid_connect() is assumed.

Valor Retornado

A string that represents the CUBRID connection charset; on success.

false on failure.

Exemplos

Exemplo #1 cubrid_client_encoding() example

<?php

$con = cubrid_connect("localhost", 33000, "demodb");
if (!$con)
{
    die('Could not connect.');
}

printf("CUBRID current charset: %s\n", cubrid_client_encoding($con));

?>

O exemplo acima irá imprimir:

CUBRID current charset: iso8859-1

Veja Também

  • cubrid_get_charset() - Return the current CUBRID connection charset


Close CUBRID connection

  • « cubrid_client_encoding
  • cubrid_data_seek »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Close CUBRID connection

cubrid_close

(PECL CUBRID >= 8.3.1)

cubrid_close — Close CUBRID connection

Descrição

cubrid_close ( resource $conn_identifier = ? ) : bool

The cubrid_close() function ends the transaction currently in process, closes the connection handle and disconnects from server. If there is any request handles not closed yet at this point, they will be closed. It is similar to the CUBRID function cubrid_disconnect().

Parâmetros

conn_identifier

The CUBRID connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_close() example

<?php
$con = cubrid_connect ("localhost", 33000, "demodb");
if ($con) {
   echo "connected successfully";
   $req = cubrid_execute ( $con, "insert into person values(1,'James')");
   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_close ($con);
}
?>

Veja Também

  • cubrid_disconnect() - Close a database connection
  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server


Move the internal row pointer of the CUBRID result

  • « cubrid_close
  • cubrid_db_name »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Move the internal row pointer of the CUBRID result

cubrid_data_seek

(PECL CUBRID >= 8.3.0)

cubrid_data_seek — Move the internal row pointer of the CUBRID result

Descrição

cubrid_data_seek ( resource $result , int $row_number ) : bool

This function performs the moving of the internal row pointer of the CUBRID result (associated with the specified result identifier) to point to a specific row number. There are functions, such as cubrid_fetch_assoc(), which use the current stored value of row number.

Parâmetros

result

The result.

row_number

This is the desired row number of the new result pointer.

Valor Retornado

Returns true on success or false on failure.

Exemplos

Exemplo #1 cubrid_data_seek() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");
cubrid_data_seek($req, 0);

$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_data_seek($req, 2);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_data_seek($req, 4);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(2) {
  [0]=>
  string(1) "X"
  [1]=>
  string(5) "Mixed"
}
array(2) {
  [0]=>
  string(1) "M"
  [1]=>
  string(3) "Man"
}
array(2) {
  [0]=>
  string(1) "S"
  [1]=>
  string(6) "Silver"
}


Get db name from results of cubrid_list_dbs

  • « cubrid_data_seek
  • cubrid_errno »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Get db name from results of cubrid_list_dbs

cubrid_db_name

(PECL CUBRID >= 8.3.1)

cubrid_db_name — Get db name from results of cubrid_list_dbs

Descrição

cubrid_db_name ( array $result , int $index ) : string

Retrieve the database name from a call to cubrid_list_dbs().

Parâmetros

result

The result pointer from a call to cubrid_list_dbs().

index

The index into the result set.

Valor Retornado

Returns the database name on success, and false on failure. If false is returned, use cubrid_error() to determine the nature of the error.

Exemplos

Exemplo #1 cubrid_db_name() example

<?php
error_reporting(E_ALL);

$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$db_list = cubrid_list_dbs($conn);

$i = 0;
$cnt = count($db_list);
while ($i < $cnt) {
    echo cubrid_db_name($db_list, $i) . "\n";
    $i++;
}
?>

O exemplo acima irá imprimir:

demodb

Veja Também

  • cubrid_list_dbs() - Return an array with the list of all existing CUBRID databases


Return the numerical value of the error message from previous CUBRID operation

  • « cubrid_db_name
  • cubrid_error »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the numerical value of the error message from previous CUBRID operation

cubrid_errno

(PECL CUBRID >= 8.3.1)

cubrid_errno — Return the numerical value of the error message from previous CUBRID operation

Descrição

cubrid_errno ( resource $conn_identifier = ? ) : int

Returns the error number from the last CUBRID function.

The cubrid_errno() function is used to get the error code of the error that occurred during the API execution. Usually, it gets the error code when API returns false as its return value.

Parâmetros

conn_identifier

The CUBRID connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Valor Retornado

Returns the error number from the last CUBRID function, or 0 (zero) if no error occurred.

Exemplos

Exemplo #1 cubrid_errno() example

<?php
$con = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$req = cubrid_execute($con, "select id, name from person");
if ($req) {
    while (list ($id, $name) = cubrid_fetch($req))
    echo $id, $name;
} else {
    echo "Error Code: ", cubrid_errno($con);
    echo "Error Message: ", cubrid_error($con);
}
?>

O exemplo acima irá imprimir:

Error Code: -493 Error Message: Syntax: Unknown class "person". select id, [name] from person

Veja Também

  • cubrid_error() - Get the error message
  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_msg() - Get last error message for the most recent function call


Get the error message

  • « cubrid_errno
  • cubrid_fetch_array »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Get the error message

cubrid_error

(PECL CUBRID >= 8.3.1)

cubrid_error — Get the error message

Descrição

cubrid_error ( resource $connection = ? ) : string

The cubrid_error() function is used to get the error message that occurred during the use of CUBRID API. Usually, it gets error message when API returns false as its return value.

Parâmetros

connection

The CUBRID connection.

Valor Retornado

Error message that occurred.

Exemplos

Exemplo #1 cubrid_error() example

<?php
$con = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$req = cubrid_execute($con, "select id, name from person");
if ($req) {
    while (list ($id, $name) = cubrid_fetch($req))
    echo $id, $name;
} else {
    echo "Error Code: ", cubrid_errno($con);
    echo "Error Message: ", cubrid_error($con);
}
?>

O exemplo acima irá imprimir:

Error Code: -493 Error Message: Syntax: Unknown class "person". select id, [name] from person

Veja Também

  • cubrid_errno() - Return the numerical value of the error message from previous CUBRID operation
  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_msg() - Get last error message for the most recent function call


Fetch a result row as an associative array, a numeric array, or both

  • « cubrid_error
  • cubrid_fetch_assoc »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Fetch a result row as an associative array, a numeric array, or both

cubrid_fetch_array

(PECL CUBRID >=8.3.0)

cubrid_fetch_array — Fetch a result row as an associative array, a numeric array, or both

Descrição

cubrid_fetch_array ( resource $result , int $type = CUBRID_BOTH ) : array

The cubrid_fetch_array() function is used to get a single row from the query result and returns an array. The cursor automatically moves to the next row after getting the result.

Parâmetros

result

Result comes from a call to cubrid_execute()

type

Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH. If you need to operate the lob object, you can use CUBRID_LOB.

Valor Retornado

Returns an array of strings that corresponds to the fetched row, when process is successful.

false, when there are no more rows; NULL, when process is unsuccessful.

The type of returned array depends on how type is defined. By using CUBRID_BOTH (default), you'll get an array with both associative and number indices, and you can decide which data type to use by setting the type argument. The type variable can be set to one of the following values:

  • CUBRID_NUM : Numerical array (0-based)
  • CUBRID_ASSOC : Associative array
  • CUBRID_BOTH : Numerical & Associative array (default)

Exemplos

Exemplo #1 cubrid_fetch_array() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_array($req, CUBRID_NUM)) {
    printf("%-40s %-10s %-6s %-20s\n", $row[0], $row[1], $row[2], $row[3]);
}

// if you want to operate LOB object, you can use cubrid_fetch_array($req, CUBRID_NUM | CUBRID_LOB)

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Veja Também

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch() - Fetch the next row from a result set
  • cubrid_fetch_row() - Return a numerical array with the values of the current row
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_fetch_object() - Fetch the next row and return it as an object


Return the associative array that corresponds to the fetched row

  • « cubrid_fetch_array
  • cubrid_fetch_field »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the associative array that corresponds to the fetched row

cubrid_fetch_assoc

(PECL CUBRID >= 8.3.0)

cubrid_fetch_assoc — Return the associative array that corresponds to the fetched row

Descrição

cubrid_fetch_assoc ( resource $result , int $type = ? ) : array

This function returns the associative array, that corresponds to the fetched row, and then moves the internal data pointer ahead, or returns FALSE when the end is reached.

Parâmetros

result

result comes from a call to cubrid_execute()

type

Type can only be CUBRID_LOB, this parameter will be used only when you need to operate the lob object.

Valor Retornado

Associative array, when process is successful.

false, when there are no more rows; NULL, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_fetch_assoc() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_assoc($req)) {
    printf("%-40s %-10s %-6s %-20s\n",
        $row["name"], $row["area"], $row["seats"], $row["address"]);
}

// if you want to operate LOB object, you can use cubrid_fetch_assoc($req, CUBRID_LOB)

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Veja Também

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch() - Fetch the next row from a result set
  • cubrid_fetch_row() - Return a numerical array with the values of the current row
  • cubrid_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_object() - Fetch the next row and return it as an object


Get column information from a result and return as an object

  • « cubrid_fetch_assoc
  • cubrid_fetch_lengths »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Get column information from a result and return as an object

cubrid_fetch_field

(PECL CUBRID >= 8.3.1)

cubrid_fetch_field — Get column information from a result and return as an object

Descrição

cubrid_fetch_field ( resource $result , int $field_offset = 0 ) : object

This function returns an object with certain properties of the specific column. The properties of the object are:

name

column name

table

name of the table that the column belongs to

def

default value of the column

max_length

maximum length of the column

not_null

1 if the column cannot be NULL

primary_key

1 if the column is a primary key

unique_key

1 if the column is an unique key

multiple_key

1 if the column is a non-unique key

numeric

1 if the column is numeric

blob

1 if the column is a BLOB

type

the type of the column

unsigned

1 if the column is unsigned

zerofill

1 if the column is zero-filled

Parâmetros

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. If the field offset is not specified, the next field (that was not yet retrieved by this function) is retrieved. The field_offset starts at 0.

Valor Retornado

Object with certain properties of the specific column, when process is successful.

false on failure.

Exemplos

Exemplo #1 cubrid_fetch_field() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT event_code,athlete_code,nation_code,game_date FROM game WHERE host_year=1988 and event_code=20001;");

var_dump(cubrid_fetch_row($req));

cubrid_field_seek($req, 1);
$field = cubrid_fetch_field($req);

printf("\n--- Field Properties ---\n");
printf("%-30s %s\n", "name:", $field->name);
printf("%-30s %s\n", "table:", $field->table);
printf("%-30s \"%s\"\n", "default value:", $field->def);
printf("%-30s %d\n", "max length:", $field->max_length);
printf("%-30s %d\n", "not null:", $field->not_null);
printf("%-30s %d\n", "primary key:", $field->primary_key);
printf("%-30s %d\n", "unique key:", $field->unique_key);
printf("%-30s %d\n", "multiple key:", $field->multiple_key);
printf("%-30s %d\n", "numeric:", $field->numeric);
printf("%-30s %d\n", "blob:", $field->blob);
printf("%-30s %s\n", "type:", $field->type);
printf("%-30s %d\n", "unsigned:", $field->unsigned);
printf("%-30s %d\n", "zerofill:", $field->zerofill);

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(4) {
  [0]=>
  string(5) "20001"
  [1]=>
  string(5) "16681"
  [2]=>
  string(3) "KOR"
  [3]=>
  string(9) "1988-9-30"
}

--- Field Properties ---
name:                          athlete_code
table:                         game
default value:                 ""
max length:                    0
not null:                      1
primary key:                   1
unique key:                    1
multiple key:                  0
numeric:                       1
blob:                          0
type:                          integer
unsigned:                      0
zerofill:                      0


Return an array with the lengths of the values of each field from the current row

  • « cubrid_fetch_field
  • cubrid_fetch_object »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return an array with the lengths of the values of each field from the current row

cubrid_fetch_lengths

(PECL CUBRID >= 8.3.0)

cubrid_fetch_lengths — Return an array with the lengths of the values of each field from the current row

Descrição

cubrid_fetch_lengths ( resource $result ) : array

This function returns an numeric array with the lengths of the values of each field from the current row of the result set or it returns FALSE on failure.

Nota:

If field data type is BLOB/CLOB, you should get its length by using cubrid_lob_size().

Parâmetros

result

result comes from a call to cubrid_execute()

Valor Retornado

An numeric array, when process is successful.

false on failure.

Exemplos

Exemplo #1 cubrid_fetch_lengths() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$row = cubrid_fetch_row($result);
print_r($row);

$lens = cubrid_fetch_lengths($result);
print_r($lens);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => 2004
    [1] => 20085
    [2] => 15118
    [3] => 30134
    [4] => AUS
    [5] => G
    [6] => 2004-8-20
)
Array
(
    [0] => 4
    [1] => 5
    [2] => 5
    [3] => 5
    [4] => 3
    [5] => 1
    [6] => 10
)


Fetch the next row and return it as an object

  • « cubrid_fetch_lengths
  • cubrid_fetch_row »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Fetch the next row and return it as an object

cubrid_fetch_object

(PECL CUBRID >= 8.3.0)

cubrid_fetch_object — Fetch the next row and return it as an object

Descrição

cubrid_fetch_object ( resource $result , string $class_name = ? , array $params = ? , int $type = ? ) : object

This function returns an object with the column names of the result set as properties. The values of these properties are extracted from the current row of the result.

Parâmetros

result

result comes from a call to cubrid_execute()

class_name

The name of the class to instantiate. If not specified, a stdClass (stdClass is PHP's generic empty class that's used when casting other types to objects) object is returned.

params

An optional array of parameters to pass to the constructor for class_name objects.

type

Type can only be CUBRID_LOB, this parameter will be used only when you need to operate the lob object.

Valor Retornado

An object, when process is successful.

false, when there are no more rows; NULL, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_fetch_object() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$res = cubrid_execute($conn, "SELECT * FROM code");

var_dump(cubrid_fetch_object($res));

// if you want to operate LOB object, you can use cubrid_fetch_object($res, CUBRID_LOB)

class demodb_code {
    public $s_name = null;
    public $f_name = null;

    public function toString() {
        var_dump($this);
    }
}

var_dump(cubrid_fetch_object($res, "demodb_code"));

// if you want to operate LOB object, you can use cubrid_fetch_object($res, "demodb_code", CUBRID_LOB)

class demodb_code_construct extends demodb_code {
    public function __construct($s, $f) {
        $this->s_name = $s;
        $this->f_name = $f;
    }
}

var_dump(cubrid_fetch_object($res, 'demodb_code_construct', array('s_name', 'f_name')));

// if you want to operate LOB object, you can use cubrid_fetch_object($res, 'demodb_code_construct', array('s_name', 'f_name'), CUBRID_LOB)

var_dump(cubrid_fetch_object($res));

cubrid_close_request($res);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

object(stdClass)#1 (2) {
  ["s_name"]=>
  string(1) "X"
  ["f_name"]=>
  string(5) "Mixed"
}
object(demodb_code)#1 (2) {
  ["s_name"]=>
  string(1) "W"
  ["f_name"]=>
  string(5) "Woman"
}
object(demodb_code_construct)#1 (2) {
  ["s_name"]=>
  string(6) "s_name"
  ["f_name"]=>
  string(6) "f_name"
}
object(stdClass)#1 (2) {
  ["s_name"]=>
  string(1) "B"
  ["f_name"]=>
  string(6) "Bronze"
}

Veja Também

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch() - Fetch the next row from a result set
  • cubrid_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_fetch_row() - Return a numerical array with the values of the current row


Return a numerical array with the values of the current row

  • « cubrid_fetch_object
  • cubrid_field_flags »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return a numerical array with the values of the current row

cubrid_fetch_row

(PECL CUBRID >= 8.3.0)

cubrid_fetch_row — Return a numerical array with the values of the current row

Descrição

cubrid_fetch_row ( resource $result , int $type = ? ) : array

This function returns a numerical array with the values of the current row from the result set, starting from 0, and moves the internal data pointer ahead.

Parâmetros

result

result comes from a call to cubrid_execute()

type

Type can only be CUBRID_LOB, this parameter will be used only when you need to operate the lob object.

Valor Retornado

A numerical array, when process is successful.

false, when there are no more rows; NULL, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_fetch_row() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_row($req)) {
    printf("%-40s %-10s %-6s %-20s\n", $row[0], $row[1], $row[2], $row[3]);
}

// if you want to operate LOB object, you can use cubrid_fetch_row($req, CUBRID_LOB)

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Veja Também

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch() - Fetch the next row from a result set
  • cubrid_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_fetch_object() - Fetch the next row and return it as an object


Return a string with the flags of the given field offset

  • « cubrid_fetch_row
  • cubrid_field_len »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return a string with the flags of the given field offset

cubrid_field_flags

(PECL CUBRID >= 8.3.0)

cubrid_field_flags — Return a string with the flags of the given field offset

Descrição

cubrid_field_flags ( resource $result , int $field_offset ) : string

This function returns a string with the flags of the given field offset separated by space. You can split the returned value using explode. The possible flags could be: not_null, primary_key, unique_key, foreign_key, auto_increment, shared, reverse_index, reverse_unique and timestamp.

Parâmetros

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Valor Retornado

A string with flags, when process is successful.

false when invalid field_offset value.

-1 if SQL sentence is not SELECT.

Exemplos

Exemplo #1 cubrid_field_flags() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$col_num = cubrid_num_cols($result);

printf("%-30s %s\n", "Field Name", "Field Flags");
for($i = 0; $i < $col_num; $i++) {
    printf("%-30s %s\n", cubrid_field_name($result, $i), cubrid_field_flags($result, $i));
}

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

Field Name                     Field Flags
host_year                      not_null primary_key unique_key
event_code                     not_null primary_key unique_key foreign_key
athlete_code                   not_null primary_key unique_key foreign_key
stadium_code                   not_null
nation_code
medal
game_date


Get the maximum length of the specified field

  • « cubrid_field_flags
  • cubrid_field_name »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Get the maximum length of the specified field

cubrid_field_len

(PECL CUBRID >= 8.3.0)

cubrid_field_len — Get the maximum length of the specified field

Descrição

cubrid_field_len ( resource $result , int $field_offset ) : int

This function returns the maximum length of the specified field on success, or it returns FALSE on failure.

Parâmetros

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Valor Retornado

Maximum length, when process is successful.

false on failure.

Exemplos

Exemplo #1 cubrid_field_len() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
    $column_len = cubrid_field_len($result, $i);
    printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char                           3
medal                          char                           1
game_date                      date                           10


Return the name of the specified field index

  • « cubrid_field_len
  • cubrid_field_seek »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the name of the specified field index

cubrid_field_name

(PECL CUBRID >= 8.3.0)

cubrid_field_name — Return the name of the specified field index

Descrição

cubrid_field_name ( resource $result , int $field_offset ) : string

This function returns the name of the specified field index on success or it returns FALSE on failure.

Parâmetros

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Valor Retornado

Name of specified field index, on success.

false on failure.

Exemplos

Exemplo #1 cubrid_field_name() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$col_num = cubrid_num_cols($result);

printf("%-30s %s\n", "Field Name", "Field Flags");
for($i = 0; $i < $col_num; $i++) {
    printf("%-30s %s\n", cubrid_field_name($result, $i), cubrid_field_flags($result, $i));
}

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

Field Name                     Field Flags
host_year                      not_null primary_key unique_key
event_code                     not_null primary_key unique_key foreign_key
athlete_code                   not_null primary_key unique_key foreign_key
stadium_code                   not_null
nation_code
medal
game_date


Move the result set cursor to the specified field offset

  • « cubrid_field_name
  • cubrid_field_table »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Move the result set cursor to the specified field offset

cubrid_field_seek

(PECL CUBRID >= 8.3.0)

cubrid_field_seek — Move the result set cursor to the specified field offset

Descrição

cubrid_field_seek ( resource $result , int $field_offset = 0 ) : bool

This function moves the result set cursor to the specified field offset. This offset is used by cubrid_fetch_field() if it doesn't include a field offset. It returns TRUE on success or FALSE on failure.

Parâmetros

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Valor Retornado

true on success.

false on failure.

Exemplos

Exemplo #1 cubrid_field_seek() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT event_code,athlete_code,nation_code,game_date FROM game WHERE host_year=1988 and event_code=20001;");

var_dump(cubrid_fetch_row($req));

cubrid_field_seek($req, 1);
$field = cubrid_fetch_field($req);

printf("\n--- Field Properties ---\n");
printf("%-30s %s\n", "name:", $field->name);
printf("%-30s %s\n", "table:", $field->table);
printf("%-30s \"%s\"\n", "default value:", $field->def);
printf("%-30s %d\n", "max length:", $field->max_length);
printf("%-30s %d\n", "not null:", $field->not_null);
printf("%-30s %d\n", "unique key:", $field->unique_key);
printf("%-30s %d\n", "multiple key:", $field->multiple_key);
printf("%-30s %d\n", "numeric:", $field->numeric);
printf("%-30s %s\n", "type:", $field->type);

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(4) {
  [0]=>
  string(5) "20001"
  [1]=>
  string(5) "16132"
  [2]=>
  string(3) "KOR"
  [3]=>
  string(9) "1988-09-30"
}

--- Field Properties ---
name:                          athlete_code
table:                         game
default value:                 ""
max length:                    0
not null:                      1
unique key:                    1
multiple key:                  0
numeric:                       1
type:                          integer


Return the name of the table of the specified field

  • « cubrid_field_seek
  • cubrid_field_type »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the name of the table of the specified field

cubrid_field_table

(PECL CUBRID >= 8.3.0)

cubrid_field_table — Return the name of the table of the specified field

Descrição

cubrid_field_table ( resource $result , int $field_offset ) : string

This function returns the name of the table of the specified field. This is useful when using large select queries with JOINS.

Parâmetros

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Valor Retornado

Name of the table of the specified field, on success.

false when invalid field_offset value.

-1 if SQL sentence is not SELECT.

Exemplos

Exemplo #1 cubrid_field_table() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM code");

$col_num = cubrid_num_cols($result);

printf("%-15s %-15s %s\n", "Field Table", "Field Name", "Field Type");
for($i = 0; $i < $col_num; $i++) {
    printf("%-15s %-15s %s\n",
        cubrid_field_table($result, $i), cubrid_field_name($result, $i), cubrid_field_type($result, $i));
}

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

Field Table     Field Name      Field Type
code            s_name          char
code            f_name          varchar


Return the type of the column corresponding to the given field offset

  • « cubrid_field_table
  • cubrid_list_dbs »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the type of the column corresponding to the given field offset

cubrid_field_type

(PECL CUBRID >= 8.3.0)

cubrid_field_type — Return the type of the column corresponding to the given field offset

Descrição

cubrid_field_type ( resource $result , int $field_offset ) : string

This function returns the type of the column corresponding to the given field offset. The returned field type could be one of the following: "int", "real", "string", etc.

Parâmetros

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Valor Retornado

Type of the column, on success.

false when invalid field_offset value.

-1 if SQL sentence is not SELECT.

Exemplos

Exemplo #1 cubrid_field_type() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM code");

$col_num = cubrid_num_cols($result);

printf("%-15s %-15s %s\n", "Field Table", "Field Name", "Field Type");
for($i = 0; $i < $col_num; $i++) {
    printf("%-15s %-15s %s\n",
        cubrid_field_table($result, $i), cubrid_field_name($result, $i), cubrid_field_type($result, $i));
}

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

Field Table     Field Name      Field Type
code            s_name          char
code            f_name          varchar


Return an array with the list of all existing CUBRID databases

  • « cubrid_field_type
  • cubrid_num_fields »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return an array with the list of all existing CUBRID databases

cubrid_list_dbs

(PECL CUBRID >= 8.3.0)

cubrid_list_dbs — Return an array with the list of all existing CUBRID databases

Descrição

cubrid_list_dbs ( resource $conn_identifier = ? ) : array

This function returns an array with the list of all existing Cubrid databases.

Parâmetros

conn_identifier

The CUBRID connection.

Valor Retornado

An numeric array with all existing Cubrid databases; on success.

false on failure.

Exemplos

Exemplo #1 cubrid_list_dbs() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$db_list = cubrid_list_dbs($conn);
var_dump($db_list);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(1) {
  [0]=>
  string(6) "demodb"
}


Return the number of columns in the result set

  • « cubrid_list_dbs
  • cubrid_ping »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the number of columns in the result set

cubrid_num_fields

(PECL CUBRID >= 8.3.0)

cubrid_num_fields — Return the number of columns in the result set

Descrição

cubrid_num_fields ( resource $result ) : int

This function returns the number of columns in the result set, on success, or it returns FALSE on failure.

Parâmetros

result

result comes from a call to cubrid_execute(), cubrid_query() and cubrid_prepare()

Valor Retornado

Number of columns, on success.

-1 if SQL sentence is not SELECT.

false when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_num_fields() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_fields($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

Row Num: 6
Column Num: 2


Ping a server connection or reconnect if there is no connection

  • « cubrid_num_fields
  • cubrid_query »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Ping a server connection or reconnect if there is no connection

cubrid_ping

(PECL CUBRID >= 8.3.1)

cubrid_ping — Ping a server connection or reconnect if there is no connection

Descrição

cubrid_ping ( resource $conn_identifier = ? ) : bool

Checks whether or not the connection to the server is working.

Parâmetros

conn_identifier

The CUBRID connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Valor Retornado

Returns true if the connection to the server CUBRID server is working, otherwise false.

Exemplos

Exemplo #1 cubrid_ping() example

<?php
set_time_limit(0);

$conn = cubrid_connect('localhost', 33000, 'demodb');

/* Assuming this query will take a long time */
$sql = "select * from athlete";
$result = cubrid_query($sql);
if (!$result) {
    echo 'Query #1 failed, exiting.';
    exit;
}

/* Make sure the connection is still alive, if not, try to reconnect */
if (!cubrid_ping($conn)) {
    echo 'Lost connection, exiting after query #1';
    exit;
}
cubrid_free_result($result);

/* So the connection is still alive, let's run another query */
$sql2 = "select * from code";
$result2 = cubrid_query($sql2);
?>


Send a CUBRID query

  • « cubrid_ping
  • cubrid_real_escape_string »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Send a CUBRID query

cubrid_query

(PECL CUBRID >= 8.3.1)

cubrid_query — Send a CUBRID query

Descrição

cubrid_query ( string $query , resource $conn_identifier = ? ) : resource

cubrid_query() sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified conn_identifier.

Parâmetros

query

An SQL query

Data inside the query should be properly escaped.

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Valor Retornado

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, cubrid_query() returns a resource on success, or false on error.

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, cubrid_query() returns true on success or false on error.

The returned result resource should be passed to cubrid_fetch_array(), and other functions for dealing with result tables, to access the returned data.

Use cubrid_num_rows() to find out how many rows were returned for a SELECT statement or cubrid_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

cubrid_query() will also fail and return false if the user does not have permission to access the table(s) referenced by the query.

Exemplos

Exemplo #1 Invalid Query

The following query is syntactically invalid, so cubrid_query() fails and returns false.

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb');

$result = cubrid_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . cubrid_error());
}

?>

Exemplo #2 Valid Query

The following query is valid, so cubrid_query() returns a resource.

<?php
// This could be supplied by a user, for example
$firstname = 'fred';
$lastname  = 'fox';

$conn = cubrid_connect('localhost', 33000, 'demodb');

cubrid_execute($conn,"DROP TABLE if exists friends");
cubrid_execute($conn,"create table friends(firstname varchar,lastname varchar,address char(24),age int)");
cubrid_execute($conn,"insert into friends values('fred','fox','home-1','20')");
cubrid_execute($conn,"insert into friends values('blue','cat','home-2','21')");
// Formulate Query
// This is the best way to perform an SQL query
// For more examples, see cubrid_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
cubrid_real_escape_string($firstname),
cubrid_real_escape_string($lastname));

// Perform Query
$result = cubrid_query($query);

// Check result
// This shows the actual query sent to CUBRID, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . cubrid_error() . "\n";
    $message .= 'Whole query: ' . $query;
    die($message);
}

// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the cubrid result functions must be used
// See also cubrid_result(), cubrid_fetch_array(), cubrid_fetch_row(), etc.
while ($row = cubrid_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['address'];
    echo $row['age'];
}

// Free the resources associated with the result set
// This is done automatically at the end of the script
cubrid_free_result($result);
?>

Veja Também

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_error() - Get the error message
  • cubrid_real_escape_string() - Escape special characters in a string for use in an SQL statement
  • cubrid_result() - Return the value of a specific field in a specific row
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_unbuffered_query() - Perform a query without fetching the results into memory


Escape special characters in a string for use in an SQL statement

  • « cubrid_query
  • cubrid_result »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Escape special characters in a string for use in an SQL statement

cubrid_real_escape_string

(PECL CUBRID >= 8.3.0)

cubrid_real_escape_string — Escape special characters in a string for use in an SQL statement

Descrição

cubrid_real_escape_string ( string $unescaped_string , resource $conn_identifier = ? ) : string

This function returns the escaped string version of the given string. It will escape the following characters: '. In general, single quotations are used to enclose character string. Double quotations may be used as well depending on the value of ansi_quotes, which is a parameter related to SQL statement. If the ansi_quotes value is set to no, character string enclosed by double quotations is handled as character string, not as an identifier. The default value is yes. If you want to include a single quote as part of a character string, enter two single quotes in a row.

Parâmetros

unescaped_string

The string that is to be escaped.

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Valor Retornado

Escaped string version of the given string, on success.

false on failure.

Exemplos

Exemplo #1 cubrid_real_escape_string() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$unescaped_str = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
$escaped_str = cubrid_real_escape_string($unescaped_str);

$len = strlen($unescaped_str);

@cubrid_execute($conn, "DROP TABLE cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (t char($len))");
cubrid_execute($conn, "INSERT INTO cubrid_test (t) VALUES('$escaped_str')");

$req = cubrid_execute($conn, "SELECT * FROM cubrid_test");
$row = cubrid_fetch_assoc($req);

var_dump($row);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

array(1) {
  ["t"]=>
  string(95) " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
}


Return the value of a specific field in a specific row

  • « cubrid_real_escape_string
  • cubrid_unbuffered_query »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the value of a specific field in a specific row

cubrid_result

(PECL CUBRID >= 8.3.0)

cubrid_result — Return the value of a specific field in a specific row

Descrição

cubrid_result ( resource $result , int $row , mixed $field = 0 ) : string

This function returns the value of a specific field in a specific row from a result set.

Parâmetros

result

result comes from a call to cubrid_execute()

row

The row number from the result that is being retrieved. Row numbers start at 0.

field

The name or offset of the field being retrieved. It can be the field's offset, the field's name, or the field's table dot field name (tablename.fieldname). If the column name has been aliased ('select foo as bar from...'), use the alias instead of the column name. If undefined, the first field is retrieved.

Valor Retornado

Value of a specific field, on success (NULL if value if null).

false on failure.

Exemplos

Exemplo #1 cubrid_result() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");

$result = cubrid_result($req, 0);
var_dump($result);

$result = cubrid_result($req, 0, 1);
var_dump($result);

$result = cubrid_result($req, 5, "f_name");
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

O exemplo acima irá imprimir:

string(1) "X"
string(5) "Mixed"
string(4) "Gold"


Perform a query without fetching the results into memory

  • « cubrid_result
  • CUBRID Obsolete Aliases and Functions »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Perform a query without fetching the results into memory

cubrid_unbuffered_query

(PECL CUBRID >= 8.3.0)

cubrid_unbuffered_query — Perform a query without fetching the results into memory

Descrição

cubrid_unbuffered_query ( string $query , resource $conn_identifier = ? ) : resource

This function performs a query without waiting for that all query results have been complete. It will return when the results are being generated.

Parâmetros

query

A SQL query.

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Valor Retornado

For SELECT, SHOW, DESCRIBE or EXPLAIN statements returns a request identifier resource on success.

For other type of SQL statements, UPDATE, DELETE, DROP, etc, returns true on success.

false on failure.

Notas

Nota:

The benefits of cubrid_unbuffered_query() come at a cost: you cannot use cubrid_num_rows() and cubrid_data_seek() on a result set returned from cubrid_unbuffered_query().

Exemplos

Exemplo #1 cubrid_unbuffered_query() example

<?php
    $link = cubrid_connect("localhost", 30000, "demodb", "dba", "");
    if (!$link)
    {
        die('Could not connect.');
    }
    $query = "select * from code";
    $result = cubrid_unbuffered_query($query, $link);

    while ($row = cubrid_fetch($result))
    {
        var_dump($row);
    }

    cubrid_close_request($result);
    cubrid_disconnect($link);
?>


CUBRID Obsolete Aliases and Functions

Índice

  • cubrid_load_from_glo — Read data from a GLO instance and save it in a file
  • cubrid_new_glo — Create a glo instance
  • cubrid_save_to_glo — Save requested file in a GLO instance
  • cubrid_send_glo — Read data from glo and send it to std output


Read data from a GLO instance and save it in a file

  • « CUBRID Obsolete Aliases and Functions
  • cubrid_new_glo »
  • PHP Manual
  • CUBRID Obsolete Aliases and Functions
  • Read data from a GLO instance and save it in a file

cubrid_load_from_glo

(PECL CUBRID >= 8.3.0)

cubrid_load_from_glo — Read data from a GLO instance and save it in a file

Descrição

cubrid_load_from_glo ( resource $conn_identifier , string $oid , string $file_name ) : int

The cubrid_load_from_glo() function is used to read a data from a glo instance, and saves it in a designated file.

Parâmetros

conn_identifier

Connection identifier.

oid

Oid of the glo instance that you want to read the data from.

file_name

Name of the file where you want to save the data in.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_load_from_glo() example

<?php
$req = cubrid_execute ($con, "select image from person where id=1");
if ($req) {
   list ($oid) = cubrid_fetch($req);
   cubrid_close_request($req);
   $res = cubrid_load_from_glo ($con, $oid, "output.jpg");
   if ($res) {
      echo "image changed successfully";
   }
}
?>

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: cubrid_load_from_glo()

Nota:

This function is removed from CUBRID 3.1.

Veja Também

  • cubrid_new_glo() - Create a glo instance
  • cubrid_save_to_glo() - Save requested file in a GLO instance
  • cubrid_send_glo() - Read data from glo and send it to std output


Create a glo instance

  • « cubrid_load_from_glo
  • cubrid_save_to_glo »
  • PHP Manual
  • CUBRID Obsolete Aliases and Functions
  • Create a glo instance

cubrid_new_glo

(PECL CUBRID >= 8.3.0)

cubrid_new_glo — Create a glo instance

Descrição

cubrid_new_glo ( resource $conn_identifier , string $class_name , string $file_name ) : string

The cubrid_new_glo() function is used to create a glo instance in the requested class (glo class). The glo created is a LO type, and is stored in the file_name file.

Parâmetros

conn_identifier

Connection identifier.

class_name

Name of the class that you want to create a glo in.

file_name

The file name that you want to save in the newly created glo.

Valor Retornado

Oid of the instance created, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_new_glo() example

<?php
$oid = cubrid_new_glo ($con, "glo", "input.jpg");
if ($oid){
   // the type of column "image" is "object"
   $req = cubrid_execute ($con, "insert into person(image) values($oid)");
   if ($req) {
      echo "image inserted successfully";
      cubrid_close_request ($req);
      cubrid_commit($con);
   }
}
?>

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: cubrid_new_glo()

Nota:

This function is removed from CUBRID 3.1.

Veja Também

  • cubrid_save_to_glo() - Save requested file in a GLO instance
  • cubrid_load_from_glo() - Read data from a GLO instance and save it in a file
  • cubrid_send_glo() - Read data from glo and send it to std output


Save requested file in a GLO instance

  • « cubrid_new_glo
  • cubrid_send_glo »
  • PHP Manual
  • CUBRID Obsolete Aliases and Functions
  • Save requested file in a GLO instance

cubrid_save_to_glo

(PECL CUBRID >= 8.3.0)

cubrid_save_to_glo — Save requested file in a GLO instance

Descrição

cubrid_save_to_glo ( resource $conn_identifier , string $oid , string $file_name ) : int

The cubrid_save_to_glo() function is used to save requested file in a glo instance.

Parâmetros

conn_identifier

Connection identifier.

oid

Oid of the glo instance that you want to save a file in.

file_name

The name of the file that you want to save.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_save_to_glo() example

<?php
$req = cubrid_execute ($con, "select image from person where id=1");
if ($req) {
   list ($oid) = cubrid_fetch($req);
   cubrid_close_request($req);
   $res = cubrid_save_to_glo ($con, $oid, "input.jpg");
   if ($res) {
      echo "image changed successfully";
   }
}
?>

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: cubrid_save_to_glo()

Nota:

This function is removed from CUBRID 3.1.

Veja Também

  • cubrid_new_glo() - Create a glo instance
  • cubrid_load_from_glo() - Read data from a GLO instance and save it in a file
  • cubrid_send_glo() - Read data from glo and send it to std output


Read data from glo and send it to std output

  • « cubrid_save_to_glo
  • DB++ »
  • PHP Manual
  • CUBRID Obsolete Aliases and Functions
  • Read data from glo and send it to std output

cubrid_send_glo

(PECL CUBRID >= 8.3.0)

cubrid_send_glo — Read data from glo and send it to std output

Descrição

cubrid_send_glo ( resource $conn_identifier , string $oid ) : int

The cubrid_send_glo() function is used to read data from glo instance and sends it to the PHP standard output.

Parâmetros

conn_identifier

Connection identifier.

oid

Oid of the glo instance that you want to read data from.

Valor Retornado

true, when process is successful.

false, when process is unsuccessful.

Exemplos

Exemplo #1 cubrid_send_glo() example

<?php
$req = cubrid_execute ($con, "select image from person where id =1");
if ($req) {
  list ($oid) = cubrid_fetch($req);
  cubrid_close_request($req);
  Header ("Content-type: image/jpeg");
  cubrid_send_glo ($con, $oid);
}
?>

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: cubrid_send_glo()

Nota:

This function is removed from CUBRID 3.1.

Veja Também

  • cubrid_new_glo() - Create a glo instance
  • cubrid_save_to_glo() - Save requested file in a GLO instance
  • cubrid_load_from_glo() - Read data from a GLO instance and save it in a file


DB++

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
    • db++ error codes
  • DB++ Funções
    • dbplus_add — Add a tuple to a relation
    • dbplus_aql — Perform AQL query
    • dbplus_chdir — Get/Set database virtual current directory
    • dbplus_close — Close a relation
    • dbplus_curr — Get current tuple from relation
    • dbplus_errcode — Get error string for given errorcode or last error
    • dbplus_errno — Get error code for last operation
    • dbplus_find — Set a constraint on a relation
    • dbplus_first — Get first tuple from relation
    • dbplus_flush — Flush all changes made on a relation
    • dbplus_freealllocks — Free all locks held by this client
    • dbplus_freelock — Release write lock on tuple
    • dbplus_freerlocks — Free all tuple locks on given relation
    • dbplus_getlock — Get a write lock on a tuple
    • dbplus_getunique — Get an id number unique to a relation
    • dbplus_info — Get information about a relation
    • dbplus_last — Get last tuple from relation
    • dbplus_lockrel — Request write lock on relation
    • dbplus_next — Get next tuple from relation
    • dbplus_open — Open relation file
    • dbplus_prev — Get previous tuple from relation
    • dbplus_rchperm — Change relation permissions
    • dbplus_rcreate — Creates a new DB++ relation
    • dbplus_rcrtexact — Creates an exact but empty copy of a relation including indices
    • dbplus_rcrtlike — Creates an empty copy of a relation with default indices
    • dbplus_resolve — Resolve host information for relation
    • dbplus_restorepos — Restore position
    • dbplus_rkeys — Specify new primary key for a relation
    • dbplus_ropen — Open relation file local
    • dbplus_rquery — Perform local (raw) AQL query
    • dbplus_rrename — Rename a relation
    • dbplus_rsecindex — Create a new secondary index for a relation
    • dbplus_runlink — Remove relation from filesystem
    • dbplus_rzap — Remove all tuples from relation
    • dbplus_savepos — Save position
    • dbplus_setindex — Set index
    • dbplus_setindexbynumber — Set index by number
    • dbplus_sql — Perform SQL query
    • dbplus_tcl — Execute TCL code on server side
    • dbplus_tremove — Remove tuple and return new current tuple
    • dbplus_undo — Undo
    • dbplus_undoprepare — Prepare undo
    • dbplus_unlockrel — Give up write lock on relation
    • dbplus_unselect — Remove a constraint from relation
    • dbplus_update — Update specified tuple in relation
    • dbplus_xlockrel — Request exclusive lock on relation
    • dbplus_xunlockrel — Free exclusive lock on relation


Introdução

db++, made by the German company » Concept asa, is a relational database system with high performance and low memory and disk usage in mind. While providing SQL as an additional language interface, it is not really an SQL database in the first place but provides its own AQL query language which is much more influenced by the relational algebra than SQL is.

Concept asa always had an interest in supporting open source languages, db++ has had Perl and Tcl call interfaces for years now and uses Tcl as its internal stored procedure language.

Nota:

Esta extensão foi movida para o repositório » PECL e não é mais incluída como parte do PHP.4.3.0

Aviso

Esta extensão é EXPERIMENTAL. O comportamento desta extensão — incluindo o nome de suas funções e qualquer outra documentação sobre esta extensão — poderá mudar sem aviso em futuras versões do PHP. Esta extensão deve ser usada por sua própria conta e risco.


Dependências

This extension relies on external client libraries so you have to have a db++ client installed on the system you want to use this extension on.

» Concept asa provides » db++ Demo versions and » documentation for Linux, some other Unix versions. There is also a Windows version of db++, but this extension doesn't support it (yet).


Instalação

Esta extensão foi movida para o repositório » PECL e não é mais incluída como parte do PHP.4.3.0

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/dbplus.

In order to build this extension yourself you need the db++ client libraries and header files to be installed on your system (these are included in the db++ installation archives by default). You have to run configure with option --with-dbplus to build this extension.

configure looks for the client libraries and header files under the default paths /usr/dbplus, /usr/local/dbplus and /opt/dblus. If you have installed db++ in a different place you have add the installation path to the configure option like this: --with-dbplus=/your/installation/path.


Tipos de Recurso

dbplus_relation

Most db++ functions operate on or return dbplus_relation resources. A dbplus_relation is a handle to a stored relation or a relation generated as the result of a query.


Constantes pré-definidas

Índice

  • db++ error codes

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.


db++ error codes

DB++ Error Codes
PHP Constant | db++ constant | meaning
DBPLUS_ERR_NOERR (int) | ERR_NOERR | Null error condition
DBPLUS_ERR_DUPLICATE (int) | ERR_DUPLICATE | Tried to insert a duplicate tuple
DBPLUS_ERR_EOSCAN (int) | ERR_EOSCAN | End of scan from rget()
DBPLUS_ERR_EMPTY (int) | ERR_EMPTY | Relation is empty (server)
DBPLUS_ERR_CLOSE (int) | ERR_CLOSE | The server can't close
DBPLUS_ERR_WLOCKED (int) | ERR_WLOCKED | The record is write locked
DBPLUS_ERR_LOCKED (int) | ERR_LOCKED | Relation was already locked
DBPLUS_ERR_NOLOCK (int) | ERR_NOLOCK | Relation cannot be locked
DBPLUS_ERR_READ (int) | ERR_READ | Read error on relation
DBPLUS_ERR_WRITE (int) | ERR_WRITE | Write error on relation
DBPLUS_ERR_CREATE (int) | ERR_CREATE | Create() system call failed
DBPLUS_ERR_LSEEK (int) | ERR_LSEEK | Lseek() system call failed
DBPLUS_ERR_LENGTH (int) | ERR_LENGTH | Tuple exceeds maximum length
DBPLUS_ERR_OPEN (int) | ERR_OPEN | Open() system call failed
DBPLUS_ERR_WOPEN (int) | ERR_WOPEN | Relation already opened for writing
DBPLUS_ERR_MAGIC (int) | ERR_MAGIC | File is not a relation
DBPLUS_ERR_VERSION (int) | ERR_VERSION | File is a very old relation
DBPLUS_ERR_PGSIZE (int) | ERR_PGSIZE | Relation uses a different page size
DBPLUS_ERR_CRC (int) | ERR_CRC | Invalid crc in the superpage
DBPLUS_ERR_PIPE (int) | ERR_PIPE | Piped relation requires lseek()
DBPLUS_ERR_NIDX (int) | ERR_NIDX | Too many secondary indices
DBPLUS_ERR_MALLOC (int) | ERR_MALLOC | Malloc() call failed
DBPLUS_ERR_NUSERS (int) | ERR_NUSERS | Error use of max users
DBPLUS_ERR_PREEXIT (int) | ERR_PREEXIT | Caused by invalid usage
DBPLUS_ERR_ONTRAP (int) | ERR_ONTRAP | Caused by a signal
DBPLUS_ERR_PREPROC (int) | ERR_PREPROC | Error in the preprocessor
DBPLUS_ERR_DBPARSE (int) | ERR_DBPARSE | Error in the parser
DBPLUS_ERR_DBRUNERR (int) | ERR_DBRUNERR | Run error in db
DBPLUS_ERR_DBPREEXIT (int) | ERR_DBPREEXIT | Exit condition caused by prexit() * procedure
DBPLUS_ERR_WAIT (int) | ERR_WAIT | Wait a little (Simple only)
DBPLUS_ERR_CORRUPT_TUPLE (int) | ERR_CORRUPT_TUPLE | A client sent a corrupt tuple
DBPLUS_ERR_WARNING0 (int) | ERR_WARNING0 | The Simple routines encountered a non fatal error which was corrected
DBPLUS_ERR_PANIC (int) | ERR_PANIC | The server should not really die but after a disaster send ERR_PANIC to all its clients
DBPLUS_ERR_FIFO (int) | ERR_FIFO | Can't create a fifo
DBPLUS_ERR_PERM (int) | ERR_PERM | Permission denied
DBPLUS_ERR_TCL (int) | ERR_TCL | TCL_error
DBPLUS_ERR_RESTRICTED (int) | ERR_RESTRICTED | Only two users
DBPLUS_ERR_USER (int) | ERR_USER | An error in the use of the library by an application programmer
DBPLUS_ERR_UNKNOWN (int) | ERR_UNKNOWN |


DB++ Funções

Índice

  • dbplus_add — Add a tuple to a relation
  • dbplus_aql — Perform AQL query
  • dbplus_chdir — Get/Set database virtual current directory
  • dbplus_close — Close a relation
  • dbplus_curr — Get current tuple from relation
  • dbplus_errcode — Get error string for given errorcode or last error
  • dbplus_errno — Get error code for last operation
  • dbplus_find — Set a constraint on a relation
  • dbplus_first — Get first tuple from relation
  • dbplus_flush — Flush all changes made on a relation
  • dbplus_freealllocks — Free all locks held by this client
  • dbplus_freelock — Release write lock on tuple
  • dbplus_freerlocks — Free all tuple locks on given relation
  • dbplus_getlock — Get a write lock on a tuple
  • dbplus_getunique — Get an id number unique to a relation
  • dbplus_info — Get information about a relation
  • dbplus_last — Get last tuple from relation
  • dbplus_lockrel — Request write lock on relation
  • dbplus_next — Get next tuple from relation
  • dbplus_open — Open relation file
  • dbplus_prev — Get previous tuple from relation
  • dbplus_rchperm — Change relation permissions
  • dbplus_rcreate — Creates a new DB++ relation
  • dbplus_rcrtexact — Creates an exact but empty copy of a relation including indices
  • dbplus_rcrtlike — Creates an empty copy of a relation with default indices
  • dbplus_resolve — Resolve host information for relation
  • dbplus_restorepos — Restore position
  • dbplus_rkeys — Specify new primary key for a relation
  • dbplus_ropen — Open relation file local
  • dbplus_rquery — Perform local (raw) AQL query
  • dbplus_rrename — Rename a relation
  • dbplus_rsecindex — Create a new secondary index for a relation
  • dbplus_runlink — Remove relation from filesystem
  • dbplus_rzap — Remove all tuples from relation
  • dbplus_savepos — Save position
  • dbplus_setindex — Set index
  • dbplus_setindexbynumber — Set index by number
  • dbplus_sql — Perform SQL query
  • dbplus_tcl — Execute TCL code on server side
  • dbplus_tremove — Remove tuple and return new current tuple
  • dbplus_undo — Undo
  • dbplus_undoprepare — Prepare undo
  • dbplus_unlockrel — Give up write lock on relation
  • dbplus_unselect — Remove a constraint from relation
  • dbplus_update — Update specified tuple in relation
  • dbplus_xlockrel — Request exclusive lock on relation
  • dbplus_xunlockrel — Free exclusive lock on relation


Add a tuple to a relation

  • « DB++ Funções
  • dbplus_aql »
  • PHP Manual
  • DB++ Funções
  • Add a tuple to a relation

dbplus_add

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_add — Add a tuple to a relation

Descrição

dbplus_add ( resource $relation , array $tuple ) : int

Adds a tuple to a relation.

Parâmetros

relation

tuple

An array of attribute/value pairs to be inserted into the given relation.

After successful execution this array will contain the complete data of the newly created tuple, including all implicitly set domain fields like sequences.

Valor Retornado

The function will return DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_errcode() - Get error string for given errorcode or last error


Perform AQL query

  • « dbplus_add
  • dbplus_chdir »
  • PHP Manual
  • DB++ Funções
  • Perform AQL query

dbplus_aql

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_aql — Perform AQL query

Descrição

dbplus_aql ( string $query , string $server = ? , string $dbpath = ? ) : resource

Executes an AQL query on the given server and dbpath.

Parâmetros

query

The AQL query to be executed. Further information on the AQL (Algebraic Query Language) is provided in the original db++ manual.

server

dbpath

Valor Retornado

Returns a relation handle on success. The result data may be fetched from this relation by calling dbplus_next() and dbplus_curr(). Other relation access functions will not work on a result relation.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Get/Set database virtual current directory

  • « dbplus_aql
  • dbplus_close »
  • PHP Manual
  • DB++ Funções
  • Get/Set database virtual current directory

dbplus_chdir

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_chdir — Get/Set database virtual current directory

Descrição

dbplus_chdir ( string $newdir = ? ) : string

Changes the virtual current directory where relation files will be looked for by dbplus_open().

Parâmetros

newdir

The new directory for relation files. You can omit this parameter to query the current working directory.

Valor Retornado

Returns the absolute path of the current directory.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Close a relation

  • « dbplus_chdir
  • dbplus_curr »
  • PHP Manual
  • DB++ Funções
  • Close a relation

dbplus_close

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_close — Close a relation

Descrição

dbplus_close ( resource $relation ) : mixed

Closes a relation previously opened by dbplus_open().

Parâmetros

relation

A relation opened by dbplus_open().

Valor Retornado

Returns true on success or DBPLUS_ERR_UNKNOWN on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Get current tuple from relation

  • « dbplus_close
  • dbplus_errcode »
  • PHP Manual
  • DB++ Funções
  • Get current tuple from relation

dbplus_curr

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_curr — Get current tuple from relation

Descrição

dbplus_curr ( resource $relation , array &$tuple ) : int

Reads the data for the current tuple for the given relation.

Parâmetros

relation

A relation opened by dbplus_open().

tuple

The data will be passed back in this parameter, as an associative array.

Valor Retornado

The function will return zero (aka. DBPLUS_ERR_NOERR) on success or a db++ error code on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_first() - Get first tuple from relation
  • dbplus_prev() - Get previous tuple from relation
  • dbplus_next() - Get next tuple from relation
  • dbplus_last() - Get last tuple from relation
  • dbplus_errcode() - Get error string for given errorcode or last error


Get error string for given errorcode or last error

  • « dbplus_curr
  • dbplus_errno »
  • PHP Manual
  • DB++ Funções
  • Get error string for given errorcode or last error

dbplus_errcode

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_errcode — Get error string for given errorcode or last error

Descrição

dbplus_errcode ( int $errno = ? ) : string

Returns a clear error string for the given error code.

Parâmetros

errno

The error code. If not provided, the result code of the last db++ operation is assumed.

Valor Retornado

Returns the error message.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Get error code for last operation

  • « dbplus_errcode
  • dbplus_find »
  • PHP Manual
  • DB++ Funções
  • Get error code for last operation

dbplus_errno

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_errno — Get error code for last operation

Descrição

dbplus_errno ( ) : int

Returns the error code returned by the last db++ operation.

Valor Retornado

Returns the error code, as an integer.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_errcode() - Get error string for given errorcode or last error


Set a constraint on a relation

  • « dbplus_errno
  • dbplus_first »
  • PHP Manual
  • DB++ Funções
  • Set a constraint on a relation

dbplus_find

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_find — Set a constraint on a relation

Descrição

dbplus_find ( resource $relation , array $constraints , mixed $tuple ) : int

Places a constraint on the given relation.

Further calls to functions like dbplus_curr() or dbplus_next() will only return tuples matching the given constraints.

Parâmetros

relation

A relation opened by dbplus_open().

constraints

Constraints are triplets of strings containing of a domain name, a comparison operator and a comparison value. The constraints parameter array may consist of a collection of string arrays, each of which contains a domain, an operator and a value, or of a single string array containing a multiple of three elements.

The comparison operator may be one of the following strings: '==', '>', '>=', '<', '<=', '!=', '~' for a regular expression match and 'BAND' or 'BOR' for bitwise operations.

tuple

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_unselect() - Remove a constraint from relation


Get first tuple from relation

  • « dbplus_find
  • dbplus_flush »
  • PHP Manual
  • DB++ Funções
  • Get first tuple from relation

dbplus_first

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_first — Get first tuple from relation

Descrição

dbplus_first ( resource $relation , array &$tuple ) : int

Reads the data for the first tuple for the given relation, makes it the current tuple and pass it back as an associative array in tuple.

Parâmetros

relation

A relation opened by dbplus_open().

tuple

Valor Retornado

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_curr() - Get current tuple from relation
  • dbplus_prev() - Get previous tuple from relation
  • dbplus_next() - Get next tuple from relation
  • dbplus_last() - Get last tuple from relation
  • dbplus_errcode() - Get error string for given errorcode or last error


Flush all changes made on a relation

  • « dbplus_first
  • dbplus_freealllocks »
  • PHP Manual
  • DB++ Funções
  • Flush all changes made on a relation

dbplus_flush

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_flush — Flush all changes made on a relation

Descrição

dbplus_flush ( resource $relation ) : int

Writes all changes applied to relation since the last flush to disk.

Parâmetros

relation

A relation opened by dbplus_open().

Valor Retornado

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_errcode() - Get error string for given errorcode or last error


Free all locks held by this client

  • « dbplus_flush
  • dbplus_freelock »
  • PHP Manual
  • DB++ Funções
  • Free all locks held by this client

dbplus_freealllocks

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_freealllocks — Free all locks held by this client

Descrição

dbplus_freealllocks ( ) : int

Frees all tuple locks held by this client.

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_getlock() - Get a write lock on a tuple
  • dbplus_freelock() - Release write lock on tuple
  • dbplus_freerlocks() - Free all tuple locks on given relation


Release write lock on tuple

  • « dbplus_freealllocks
  • dbplus_freerlocks »
  • PHP Manual
  • DB++ Funções
  • Release write lock on tuple

dbplus_freelock

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_freelock — Release write lock on tuple

Descrição

dbplus_freelock ( resource $relation , string $tuple ) : int

Releases a write lock on the given tuple previously obtained by dbplus_getlock().

Parâmetros

relation

A relation opened by dbplus_open().

tuple

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_getlock() - Get a write lock on a tuple
  • dbplus_freerlocks() - Free all tuple locks on given relation
  • dbplus_freealllocks() - Free all locks held by this client


Free all tuple locks on given relation

  • « dbplus_freelock
  • dbplus_getlock »
  • PHP Manual
  • DB++ Funções
  • Free all tuple locks on given relation

dbplus_freerlocks

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_freerlocks — Free all tuple locks on given relation

Descrição

dbplus_freerlocks ( resource $relation ) : int

Frees all tuple locks held on the given relation.

Parâmetros

relation

A relation opened by dbplus_open().

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_getlock() - Get a write lock on a tuple
  • dbplus_freelock() - Release write lock on tuple
  • dbplus_freealllocks() - Free all locks held by this client


Get a write lock on a tuple

  • « dbplus_freerlocks
  • dbplus_getunique »
  • PHP Manual
  • DB++ Funções
  • Get a write lock on a tuple

dbplus_getlock

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_getlock — Get a write lock on a tuple

Descrição

dbplus_getlock ( resource $relation , string $tuple ) : int

Requests a write lock on the specified tuple.

Parâmetros

relation

A relation opened by dbplus_open().

tuple

Valor Retornado

Returns zero on success or a non-zero error code, especially DBPLUS_ERR_WLOCKED on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_freelock() - Release write lock on tuple
  • dbplus_freerlocks() - Free all tuple locks on given relation
  • dbplus_freealllocks() - Free all locks held by this client


Get an id number unique to a relation

  • « dbplus_getlock
  • dbplus_info »
  • PHP Manual
  • DB++ Funções
  • Get an id number unique to a relation

dbplus_getunique

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_getunique — Get an id number unique to a relation

Descrição

dbplus_getunique ( resource $relation , int $uniqueid ) : int

Obtains a number guaranteed to be unique for the given relation and will pass it back in the variable given as uniqueid.

Parâmetros

relation

A relation opened by dbplus_open().

uniqueid

Valor Retornado

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Get information about a relation

  • « dbplus_getunique
  • dbplus_last »
  • PHP Manual
  • DB++ Funções
  • Get information about a relation

dbplus_info

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_info — Get information about a relation

Descrição

dbplus_info ( resource $relation , string $key , array &$result ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

relation

A relation opened by dbplus_open().

key

result

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Get last tuple from relation

  • « dbplus_info
  • dbplus_lockrel »
  • PHP Manual
  • DB++ Funções
  • Get last tuple from relation

dbplus_last

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_last — Get last tuple from relation

Descrição

dbplus_last ( resource $relation , array &$tuple ) : int

Reads the data for the last tuple for the given relation, makes it the current tuple and pass it back as an associative array in tuple.

Parâmetros

relation

A relation opened by dbplus_open().

tuple

Valor Retornado

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_first() - Get first tuple from relation
  • dbplus_curr() - Get current tuple from relation
  • dbplus_prev() - Get previous tuple from relation
  • dbplus_next() - Get next tuple from relation


Request write lock on relation

  • « dbplus_last
  • dbplus_next »
  • PHP Manual
  • DB++ Funções
  • Request write lock on relation

dbplus_lockrel

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_lockrel — Request write lock on relation

Descrição

dbplus_lockrel ( resource $relation ) : int

Requests a write lock on the given relation.

Other clients may still query the relation, but can't alter it while it is locked.

Parâmetros

relation

A relation opened by dbplus_open().

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Get next tuple from relation

  • « dbplus_lockrel
  • dbplus_open »
  • PHP Manual
  • DB++ Funções
  • Get next tuple from relation

dbplus_next

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_next — Get next tuple from relation

Descrição

dbplus_next ( resource $relation , array &$tuple ) : int

Reads the data for the next tuple for the given relation, makes it the current tuple and will pass it back as an associative array in tuple.

Parâmetros

relation

A relation opened by dbplus_open().

tuple

Valor Retornado

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_first() - Get first tuple from relation
  • dbplus_curr() - Get current tuple from relation
  • dbplus_prev() - Get previous tuple from relation
  • dbplus_last() - Get last tuple from relation


Open relation file

  • « dbplus_next
  • dbplus_prev »
  • PHP Manual
  • DB++ Funções
  • Open relation file

dbplus_open

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_open — Open relation file

Descrição

dbplus_open ( string $name ) : resource

Opens the given relation file.

Parâmetros

name

Can be either a file name or a relative or absolute path name. This will be mapped in any case to an absolute relation file path on a specific host machine and server.

Valor Retornado

On success a relation file resource (cursor) is returned which must be used in any subsequent commands referencing the relation. Failure leads to a zero return value, the actual error code may be asked for by calling dbplus_errno().

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Get previous tuple from relation

  • « dbplus_open
  • dbplus_rchperm »
  • PHP Manual
  • DB++ Funções
  • Get previous tuple from relation

dbplus_prev

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_prev — Get previous tuple from relation

Descrição

dbplus_prev ( resource $relation , array &$tuple ) : int

Reads the data for the previous tuple for the given relation, makes it the current tuple and will pass it back as an associative array in tuple.

Parâmetros

relation

A relation opened by dbplus_open().

tuple

Valor Retornado

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_first() - Get first tuple from relation
  • dbplus_curr() - Get current tuple from relation
  • dbplus_next() - Get next tuple from relation
  • dbplus_last() - Get last tuple from relation


Change relation permissions

  • « dbplus_prev
  • dbplus_rcreate »
  • PHP Manual
  • DB++ Funções
  • Change relation permissions

dbplus_rchperm

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_rchperm — Change relation permissions

Descrição

dbplus_rchperm ( resource $relation , int $mask , string $user , string $group ) : int

Changes access permissions as specified by mask, user and group. The values for these are operating system specific.

Parâmetros

relation

A relation opened by dbplus_open().

mask

user

group

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Creates a new DB++ relation

  • « dbplus_rchperm
  • dbplus_rcrtexact »
  • PHP Manual
  • DB++ Funções
  • Creates a new DB++ relation

dbplus_rcreate

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_rcreate — Creates a new DB++ relation

Descrição

dbplus_rcreate ( string $name , mixed $domlist , bool $overwrite = ? ) : resource

Creates a new relation. Any existing relation sharing the same name will be overwritten if the relation is currently not in use and overwrite is set to TRUE.

Parâmetros

name

domlist

A combination of domains. May be passed as a single domain name string or as an array of domain names.

This parameter should contain the domain specification for the new relation within an array of domain description strings. A domain description string consists of a domain name unique to this relation, a slash and a type specification character. See the db++ documentation, especially the dbcreate(1) manpage, for a description of available type specifiers and their meanings.

Nota:

This function will also accept a string with space delimited domain description strings, but it is recommended to use an array

overwrite

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Creates an exact but empty copy of a relation including indices

  • « dbplus_rcreate
  • dbplus_rcrtlike »
  • PHP Manual
  • DB++ Funções
  • Creates an exact but empty copy of a relation including indices

dbplus_rcrtexact

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_rcrtexact — Creates an exact but empty copy of a relation including indices

Descrição

dbplus_rcrtexact ( string $name , resource $relation , bool $overwrite = ? ) : mixed

dbplus_rcrtexact() will create an exact but empty copy of the given relation under a new name.

Parâmetros

name

relation

The copied relation, opened by dbplus_open().

overwrite

An existing relation by the same name will only be overwritten if this parameter is set to true and no other process is currently using the relation.

Valor Retornado

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Creates an empty copy of a relation with default indices

  • « dbplus_rcrtexact
  • dbplus_resolve »
  • PHP Manual
  • DB++ Funções
  • Creates an empty copy of a relation with default indices

dbplus_rcrtlike

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_rcrtlike — Creates an empty copy of a relation with default indices

Descrição

dbplus_rcrtlike ( string $name , resource $relation , int $overwrite = ? ) : mixed

dbplus_rcrtexact() will create an empty copy of the given relation under a new name, but with default indices.

Parâmetros

name

relation

The copied relation, opened by dbplus_open().

overwrite

An existing relation by the same name will only be overwritten if this parameter is set to true and no other process is currently using the relation.

Valor Retornado

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Resolve host information for relation

  • « dbplus_rcrtlike
  • dbplus_restorepos »
  • PHP Manual
  • DB++ Funções
  • Resolve host information for relation

dbplus_resolve

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_resolve — Resolve host information for relation

Descrição

dbplus_resolve ( string $relation_name ) : array

dbplus_resolve() will try to resolve the given relation_name and find out internal server id, real hostname and the database path on this host.

Parâmetros

relation_name

The relation name.

Valor Retornado

Returns an array containing these values under the keys sid, host and host_path or false on error.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_tcl() - Execute TCL code on server side


Restore position

  • « dbplus_resolve
  • dbplus_rkeys »
  • PHP Manual
  • DB++ Funções
  • Restore position

dbplus_restorepos

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_restorepos — Restore position

Descrição

dbplus_restorepos ( resource $relation , array $tuple ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

relation

A relation opened by dbplus_open().

tuple

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Specify new primary key for a relation

  • « dbplus_restorepos
  • dbplus_ropen »
  • PHP Manual
  • DB++ Funções
  • Specify new primary key for a relation

dbplus_rkeys

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_rkeys — Specify new primary key for a relation

Descrição

dbplus_rkeys ( resource $relation , mixed $domlist ) : mixed

dbplus_rkeys() will replace the current primary key for relation with the combination of domains specified by domlist.

Parâmetros

relation

A relation opened by dbplus_open().

domlist

A combination of domains. May be passed as a single domain name string or as an array of domain names.

Valor Retornado

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Open relation file local

  • « dbplus_rkeys
  • dbplus_rquery »
  • PHP Manual
  • DB++ Funções
  • Open relation file local

dbplus_ropen

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_ropen — Open relation file local

Descrição

dbplus_ropen ( string $name ) : resource

dbplus_ropen() will open the relation file locally for quick access without any client/server overhead. Access is read only and only dbplus_curr() and dbplus_next() may be applied to the returned relation.

Parâmetros

name

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Perform local (raw) AQL query

  • « dbplus_ropen
  • dbplus_rrename »
  • PHP Manual
  • DB++ Funções
  • Perform local (raw) AQL query

dbplus_rquery

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_rquery — Perform local (raw) AQL query

Descrição

dbplus_rquery ( string $query , string $dbpath = ? ) : resource

dbplus_rquery() performs a local (raw) AQL query using an AQL interpreter embedded into the db++ client library. dbplus_rquery() is faster than dbplus_aql() but will work on local data only.

Parâmetros

query

dbpath

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Rename a relation

  • « dbplus_rquery
  • dbplus_rsecindex »
  • PHP Manual
  • DB++ Funções
  • Rename a relation

dbplus_rrename

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_rrename — Rename a relation

Descrição

dbplus_rrename ( resource $relation , string $name ) : int

dbplus_rrename() will change the name of relation to name.

Parâmetros

relation

A relation opened by dbplus_open().

name

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Create a new secondary index for a relation

  • « dbplus_rrename
  • dbplus_runlink »
  • PHP Manual
  • DB++ Funções
  • Create a new secondary index for a relation

dbplus_rsecindex

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_rsecindex — Create a new secondary index for a relation

Descrição

dbplus_rsecindex ( resource $relation , mixed $domlist , int $type ) : mixed

dbplus_rsecindex() will create a new secondary index for relation with consists of the domains specified by domlist and is of type type

Parâmetros

relation

A relation opened by dbplus_open().

domlist

A combination of domains. May be passed as a single domain name string or as an array of domain names.

type

Valor Retornado

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Remove relation from filesystem

  • « dbplus_rsecindex
  • dbplus_rzap »
  • PHP Manual
  • DB++ Funções
  • Remove relation from filesystem

dbplus_runlink

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_runlink — Remove relation from filesystem

Descrição

dbplus_runlink ( resource $relation ) : int

dbplus_runlink() will close and remove the relation.

Parâmetros

relation

A relation opened by dbplus_open().

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Remove all tuples from relation

  • « dbplus_runlink
  • dbplus_savepos »
  • PHP Manual
  • DB++ Funções
  • Remove all tuples from relation

dbplus_rzap

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_rzap — Remove all tuples from relation

Descrição

dbplus_rzap ( resource $relation ) : int

dbplus_rzap() will remove all tuples from relation.

Parâmetros

relation

A relation opened by dbplus_open().

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Save position

  • « dbplus_rzap
  • dbplus_setindex »
  • PHP Manual
  • DB++ Funções
  • Save position

dbplus_savepos

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_savepos — Save position

Descrição

dbplus_savepos ( resource $relation ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

relation

A relation opened by dbplus_open().

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Set index

  • « dbplus_savepos
  • dbplus_setindexbynumber »
  • PHP Manual
  • DB++ Funções
  • Set index

dbplus_setindex

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_setindex — Set index

Descrição

dbplus_setindex ( resource $relation , string $idx_name ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

relation

A relation opened by dbplus_open().

idx_name

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Set index by number

  • « dbplus_setindex
  • dbplus_sql »
  • PHP Manual
  • DB++ Funções
  • Set index by number

dbplus_setindexbynumber

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_setindexbynumber — Set index by number

Descrição

dbplus_setindexbynumber ( resource $relation , int $idx_number ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

relation

A relation opened by dbplus_open().

idx_number

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Perform SQL query

  • « dbplus_setindexbynumber
  • dbplus_tcl »
  • PHP Manual
  • DB++ Funções
  • Perform SQL query

dbplus_sql

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_sql — Perform SQL query

Descrição

dbplus_sql ( string $query , string $server = ? , string $dbpath = ? ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

query

server

dbpath

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Execute TCL code on server side

  • « dbplus_sql
  • dbplus_tremove »
  • PHP Manual
  • DB++ Funções
  • Execute TCL code on server side

dbplus_tcl

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_tcl — Execute TCL code on server side

Descrição

dbplus_tcl ( int $sid , string $script ) : string

A db++ server will prepare a TCL interpreter for each client connection. This interpreter will enable the server to execute TCL code provided by the client as a sort of stored procedures to improve the performance of database operations by avoiding client/server data transfers and context switches.

dbplus_tcl() needs to pass the client connection id the TCL script code should be executed by. dbplus_resolve() will provide this connection id. The function will return whatever the TCL code returns or a TCL error message if the TCL code fails.

Parâmetros

sid

script

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_resolve() - Resolve host information for relation


Remove tuple and return new current tuple

  • « dbplus_tcl
  • dbplus_undo »
  • PHP Manual
  • DB++ Funções
  • Remove tuple and return new current tuple

dbplus_tremove

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_tremove — Remove tuple and return new current tuple

Descrição

dbplus_tremove ( resource $relation , array $tuple , array &$current = ? ) : int

dbplus_tremove() removes tuple from relation if it perfectly matches a tuple within the relation. current, if given, will contain the data of the new current tuple after calling dbplus_tremove().

Parâmetros

relation

A relation opened by dbplus_open().

tuple

current

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Undo

  • « dbplus_tremove
  • dbplus_undoprepare »
  • PHP Manual
  • DB++ Funções
  • Undo

dbplus_undo

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_undo — Undo

Descrição

dbplus_undo ( resource $relation ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

relation

A relation opened by dbplus_open().

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Prepare undo

  • « dbplus_undo
  • dbplus_unlockrel »
  • PHP Manual
  • DB++ Funções
  • Prepare undo

dbplus_undoprepare

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_undoprepare — Prepare undo

Descrição

dbplus_undoprepare ( resource $relation ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

relation

A relation opened by dbplus_open().

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Give up write lock on relation

  • « dbplus_undoprepare
  • dbplus_unselect »
  • PHP Manual
  • DB++ Funções
  • Give up write lock on relation

dbplus_unlockrel

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_unlockrel — Give up write lock on relation

Descrição

dbplus_unlockrel ( resource $relation ) : int

Release a write lock previously obtained by dbplus_lockrel().

Parâmetros

relation

A relation opened by dbplus_open().

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Remove a constraint from relation

  • « dbplus_unlockrel
  • dbplus_update »
  • PHP Manual
  • DB++ Funções
  • Remove a constraint from relation

dbplus_unselect

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_unselect — Remove a constraint from relation

Descrição

dbplus_unselect ( resource $relation ) : int

Calling dbplus_unselect() will remove a constraint previously set by dbplus_find() on relation.

Parâmetros

relation

A relation opened by dbplus_open().

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Update specified tuple in relation

  • « dbplus_unselect
  • dbplus_xlockrel »
  • PHP Manual
  • DB++ Funções
  • Update specified tuple in relation

dbplus_update

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_update — Update specified tuple in relation

Descrição

dbplus_update ( resource $relation , array $old , array $new ) : int

dbplus_update() replaces the old tuple with the data from the new one, only if the old completely matches a tuple within relation.

Parâmetros

relation

A relation opened by dbplus_open().

old

The old tuple.

new

The new tuple.

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Request exclusive lock on relation

  • « dbplus_update
  • dbplus_xunlockrel »
  • PHP Manual
  • DB++ Funções
  • Request exclusive lock on relation

dbplus_xlockrel

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_xlockrel — Request exclusive lock on relation

Descrição

dbplus_xlockrel ( resource $relation ) : int

Request an exclusive lock on relation preventing even read access from other clients.

Parâmetros

relation

A relation opened by dbplus_open().

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • dbplus_xunlockrel() - Free exclusive lock on relation


Free exclusive lock on relation

  • « dbplus_xlockrel
  • dBase »
  • PHP Manual
  • DB++ Funções
  • Free exclusive lock on relation

dbplus_xunlockrel

(PHP 4 <= 4.3.0, PECL dbplus >= 0.9)

dbplus_xunlockrel — Free exclusive lock on relation

Descrição

dbplus_xunlockrel ( resource $relation ) : int

Releases an exclusive lock previously obtained by dbplus_xlockrel().

Parâmetros

relation

A relation opened by dbplus_open().

Valor Retornado

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


dBase

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções da dBase
    • dbase_add_record — Adiciona um registro ao banco de dados
    • dbase_close — Fecha um banco de dados
    • dbase_create — Cria um banco de dados
    • dbase_delete_record — Exclui um registro do banco de dados
    • dbase_get_header_info — Obtém as informações do cabeçalho do banco de dados
    • dbase_get_record_with_names — Obtém um registro do banco de dados como uma matriz associativa.
    • dbase_get_record — Obtém um registro do banco de dados como uma matriz indexada
    • dbase_numfields — Obtém o número de campos em um banco de dados
    • dbase_numrecords — Obtém o número de registros no banco de dados
    • dbase_open — Abre um banco de dados
    • dbase_pack — Apaga permanentemente os registros do banco de dados dBase
    • dbase_replace_record — Substitui um registro no banco de dados


Introdução

Estas funções permitem acessar registros guardados em banco de dados no formato Dbase(dbf).

Arquivos dBase são simples sequência de arquivos de tamanho fixo de registros. Registros são colocados no final de cada arquivo e os deletados são mantidos até que chame dbase_pack().

Os tipos de campos dBase disponíveis são:

Tipos disponíveis de campos
Campo | Tipo dBase | Formato | Informação adicional
M | Memo | n/a | Este tipo não é suportado pelo PHP, tal campo será ignorado
D | Date | YYYYMMDD | O tamanho do campo é limitado para 8
N | Number | A number | Você precisa declarar o tamanho e a precisão (o número de dígitos depois do ponto decimal)
C | String | A string | Você precisa declarar o tamanho. Quando recebendo dados, a string irá terá será preenchida com espaços à esquerda para completar o tamanho declarado.
L | Boolean | T ou Y para true, F ou N para false | Armazenado e retornado como um inteiro (1 ou 0)
F | Float | A float number | Suporte para este tipo de campo foi adicionado no PHP 5.2.0

Aviso

Não há suporte para índices ou campos memo. Não há suporte para travas também. Dois processos do servidor web comcorrentes modificando o mesmo banco de dados normalmente irá arruinar o banco de dados.

Nós recomendamos que você não use seus arquivos dbase como seu banco de dados de produção. Escolha ao invés um servidor SQL real; » MySQL ou » Postgres são escolhas comuns com o php. O suporte ao Dbase esta aqui para permitir a você importar e exportar dados para e a partir do seu banco de dados web, porque o formato é normalmente entendido por planilhas e organizadores do Windows.


Instalação

Para ativar a biblioteca dbase e para usar estas funções, você deve compilar o PHP com a opção --enable-dbase.


  • « Tipos de Recurso
  • Funções da dBase »
  • PHP Manual
  • dBase
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Funções da dBase

Exemplos

Muitos exemplos nesta referência requerem um banco de dados dBase. Nós iremos usar /tmp/test.dbf que irá ser criado no exemplo da dbase_create().

Índice

  • dbase_add_record — Adiciona um registro ao banco de dados
  • dbase_close — Fecha um banco de dados
  • dbase_create — Cria um banco de dados
  • dbase_delete_record — Exclui um registro do banco de dados
  • dbase_get_header_info — Obtém as informações do cabeçalho do banco de dados
  • dbase_get_record_with_names — Obtém um registro do banco de dados como uma matriz associativa.
  • dbase_get_record — Obtém um registro do banco de dados como uma matriz indexada
  • dbase_numfields — Obtém o número de campos em um banco de dados
  • dbase_numrecords — Obtém o número de registros no banco de dados
  • dbase_open — Abre um banco de dados
  • dbase_pack — Apaga permanentemente os registros do banco de dados dBase
  • dbase_replace_record — Substitui um registro no banco de dados


Adiciona um registro ao banco de dados

  • « Funções da dBase
  • dbase_close »
  • PHP Manual
  • Funções da dBase
  • Adiciona um registro ao banco de dados

dbase_add_record

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_add_record — Adiciona um registro ao banco de dados

Descrição

dbase_add_record ( int $dbase_identifier , array $record ) : bool

Adiciona os dados so banco de dados.

Parâmetros

dbase_identifier

O identificador do banco de dados, retornado por dbase_open() ou dbase_create().

record

Uma matriz indexada de dados. O número de itens deve ser igual ao número de campos no banco de dados, se não dbase_add_record() irá falhar.

Nota:

Se você esta usando o valor de retorno de dbase_get_record() para este parâmetro, lembre-se de reiniciar o valor de deleted.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Inserindo um registro num banco de dados dBase

<?php

// open in read-write mode
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  dbase_add_record($db, array(
      date('Ymd'),
      'Maxim Topolov',
      '23',
      'max@example.com',
      'T'));
  dbase_close($db);
}

?>

Veja Também

  • dbase_delete_record() - Exclui um registro do banco de dados
  • dbase_replace_record() - Substitui um registro no banco de dados


Fecha um banco de dados

  • « dbase_add_record
  • dbase_create »
  • PHP Manual
  • Funções da dBase
  • Fecha um banco de dados

dbase_close

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_close — Fecha um banco de dados

Descrição

dbase_close ( int $dbase_identifier ) : bool

Fecha o idendificador de banco de dados indicado.

Parâmetros

dbase_identifier

O identificador do banco de dados, retornado por dbase_open() ou dbase_create().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Fechando um banco de dados dBase

<?php

// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // read some data ..

  dbase_close($db);
}

?>

Veja Também

  • dbase_open() - Abre um banco de dados
  • dbase_create() - Cria um banco de dados


Cria um banco de dados

  • « dbase_close
  • dbase_delete_record »
  • PHP Manual
  • Funções da dBase
  • Cria um banco de dados

dbase_create

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_create — Cria um banco de dados

Descrição

dbase_create ( string $filename , array $fields ) : int

dbase_create() cria um banco de dados com a definição dada.

Nota: Quando o safe-mode está ativo, o PHP verifica se os arquivo(s) ou diretórios que estão usados na operação tem o mesmo UID (proprietário) do script que está sendo executado.

Nota:

Esta função é afetada por open_basedir.

Parâmetros

filename

O nome do banco de dados. Pode ser um caminho relativo ou absoluto para o arquivo onde o dBase irá guardar os seus dados.

fields

Uma matriz de matrizes, cada matriz descrevendo o formato de um campo no banco de dados. Cada campo consiste de um nome, um caractere indicando o tipo do campo, e opcionalmente, um tamanho e uma precisão.

Nota:

O nome dos campos são limitados em tamanho e não podem ultrapassar 10 caracteres.

Valor Retornado

Retorna um identificador do banco de dados se for bem sucedido, ou false se houve um erro.

Exemplos

Exemplo #1 Criando um banco de dados dBase

<?php

// database "definition"
$def = array(
  array("date",     "D"),
  array("name",     "C",  50),
  array("age",      "N",   3, 0),
  array("email",    "C", 128),
  array("ismember", "L")
);

// creation
if (!dbase_create('/tmp/test.dbf', $def)) {
  echo "Error, can't create the database\n";
}

?>

Veja Também

  • dbase_open() - Abre um banco de dados
  • dbase_close() - Fecha um banco de dados


Exclui um registro do banco de dados

  • « dbase_create
  • dbase_get_header_info »
  • PHP Manual
  • Funções da dBase
  • Exclui um registro do banco de dados

dbase_delete_record

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_delete_record — Exclui um registro do banco de dados

Descrição

dbase_delete_record ( int $dbase_identifier , int $record_number ) : bool

Marca o registro indicado para ser excluído do banco de dados.

Nota:

Para realmente remover o registro do banco de dados, você deve também utilizar dbase_pack().

Parâmetros

dbase_identifier

Identificador do banco de dados, retornado por dbase_open() ou dbase_create().

record_number

Um inteiro que vai de 1 até o número de registros no banco de dados (como retornado por dbase_numrecords()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • dbase_add_record() - Adiciona um registro ao banco de dados
  • dbase_replace_record() - Substitui um registro no banco de dados


Obtém as informações do cabeçalho do banco de dados

  • « dbase_delete_record
  • dbase_get_record_with_names »
  • PHP Manual
  • Funções da dBase
  • Obtém as informações do cabeçalho do banco de dados

dbase_get_header_info

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_get_header_info — Obtém as informações do cabeçalho do banco de dados

Descrição

dbase_get_header_info ( int $dbase_identifier ) : array

Retorna informações sobre a estrutura das colunas do banco de dados indicado.

Parâmetros

dbase_identifier

O identificador do banco de dados, retornado por dbase_open() ou dbase_create().

Valor Retornado

Uma matriz indexada com uma entrada para cada coluna no banco de dados. O índice começa em 0.

Cada elemento da matriz contém uma matriz associativa com informações da coluna, como descrito aqui:

name
O nome da coluna
type
O nome do tipo de campo dBase em forma legível (ex date, boolean, etc.)
length
O número de bytes que esta coluna pode guardar
precision
O número de digitos da precisão decimal da coluna
format
Um especificador de formato printf() sugerido para a coluna
offset
O índice em byte da coluna a partir do início da linha

Se as informações do cabeçalho do banco de dados não puderem ser lidas, é retornado false.

Exemplos

Exemplo #1 Mostrando informações do banco de dados de um arquivo dBase

<?php
// Path to dbase file
$db_path = "/tmp/test.dbf";

// Open dbase file
$dbh = dbase_open($db_path, 0)
  or die("Error! Could not open dbase database file '$db_path'.");

// Get column information
$column_info = dbase_get_header_info($dbh);

// Display information
print_r($column_info);
?>


Obtém um registro do banco de dados como uma matriz associativa.

  • « dbase_get_header_info
  • dbase_get_record »
  • PHP Manual
  • Funções da dBase
  • Obtém um registro do banco de dados como uma matriz associativa.

dbase_get_record_with_names

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_get_record_with_names — Obtém um registro do banco de dados como uma matriz associativa.

Descrição

dbase_get_record_with_names ( int $dbase_identifier , int $record_number ) : array

Obtém um registro do banco de dados como uma matriz associativa.

Parâmetros

dbase_identifier

Identificador do banco de dados, retornado por dbase_open() ou dbase_create().

record_number

O índice do registro.

Valor Retornado

Uma matriz associativa com o registro. Isto também irá incluir uma chave chamada deleted a qual é definida como 1 se o registro foi marcado para exclusão (veja dbase_delete_record()).

Cada campo é convertido para o tipo PHP apropriado, exceto:

  • Datas são mantidas como strings.
  • Inteiros que causariam uma sobrecarga (> 32 bits) são retornados como uma string.

Em caso de erro, dbase_get_record_with_names() irá retornar false.

Exemplos

Exemplo #1 Listando todos os membros registrados no banco de dados

<?php
// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $record_numbers = dbase_numrecords($db);
  for ($i = 1; $i <= $record_numbers; $i++) {
      $row = dbase_get_record_with_names($db, $i);
      if ($row['ismember'] == 1) {
          echo "Member #$i: " . trim($row['name']) . "\n";
      }
  }
}
?>

Veja Também

  • dbase_get_record() - Obtém um registro do banco de dados como uma matriz indexada


Obtém um registro do banco de dados como uma matriz indexada

  • « dbase_get_record_with_names
  • dbase_numfields »
  • PHP Manual
  • Funções da dBase
  • Obtém um registro do banco de dados como uma matriz indexada

dbase_get_record

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_get_record — Obtém um registro do banco de dados como uma matriz indexada

Descrição

dbase_get_record ( int $dbase_identifier , int $record_number ) : array

Obtém um registro do banco de dados como uma matriz indexada.

Parâmetros

dbase_identifier

O identificador do banco de dados, retornado por dbase_open() ou dbase_create().

record_number

O índice do registro.

Valor Retornado

Uma matriz indexada com o registro. Esta matriz também irá incluir uma chave associativa chamada deleted a qual é definida como 1 se o registro foi marcado para exclusão (veja dbase_delete_record()).

Cada campo é convertido para o tipo PHP apropriado, exceto:

  • Datas são mantidas como strings.
  • Inteiros que causariam uma sobrecarga (> 32 bits) são retornados como uma string.

Em caso de erro, dbase_get_record() irá retornar false.

Veja Também

  • dbase_get_record_with_names() - Obtém um registro do banco de dados como uma matriz associativa.


Obtém o número de campos em um banco de dados

  • « dbase_get_record
  • dbase_numrecords »
  • PHP Manual
  • Funções da dBase
  • Obtém o número de campos em um banco de dados

dbase_numfields

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_numfields — Obtém o número de campos em um banco de dados

Descrição

dbase_numfields ( int $dbase_identifier ) : int

Obtém o número de campos(colunas) no banco de dados especificados.

Nota:

Números de campo estão entre 0 e dbase_numfields($db)-1, enquanto que números de registro estão entre 1 e dbase_numrecords($db).

Parâmetros

dbase_identifier

O identificador do banco de dados, retornado por dbase_open() ou dbase_create().

Valor Retornado

O números de campos em um banco de dados, ou false se acontecer um erro.

Exemplos

Exemplo #1 Exemplo dbase_numfields()

<?php

$rec = dbase_get_record($db, $recno);
$nf  = dbase_numfields($db);
for ($i = 0; $i < $nf; $i++) {
  echo $rec[$i], "\n";
}

?>

Veja Também

  • dbase_numrecords() - Obtém o número de registros no banco de dados


Obtém o número de registros no banco de dados

  • « dbase_numfields
  • dbase_open »
  • PHP Manual
  • Funções da dBase
  • Obtém o número de registros no banco de dados

dbase_numrecords

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_numrecords — Obtém o número de registros no banco de dados

Descrição

dbase_numrecords ( int $dbase_identifier ) : int

Obtém o número de registros (linhas) no banco de dados especificado.

Nota:

Número de registros são entre 1 e dbase_numrecords($db), enquanto que números de campo são entre 0 e dbase_numfields($db)-1.

Parâmetros

dbase_identifier

O identificador do banco de dados, retornado por dbase_open() ou dbase_create().

Valor Retornado

O número de registros no banco de dados, ou false se ocorrer um erro.

Exemplos

Exemplo #1 Lendo todos os registros de um banco de dados

<?php

// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $record_numbers = dbase_numrecords($db);
  for ($i = 1; $i <= $record_numbers; $i++) {
      // do something here, for each record
  }
}

?>

Veja Também

  • dbase_num_fields()


Abre um banco de dados

  • « dbase_numrecords
  • dbase_pack »
  • PHP Manual
  • Funções da dBase
  • Abre um banco de dados

dbase_open

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_open — Abre um banco de dados

Descrição

dbase_open ( string $filename , int $mode ) : int

dbase_open() abre um banco de dados dBase com o modo de acesso dado.

Nota: Quando o safe-mode está ativo, o PHP verifica se os arquivo(s) ou diretórios que estão usados na operação tem o mesmo UID (proprietário) do script que está sendo executado.

Nota:

Esta função é afetada por open_basedir.

Parâmetros

filename

O nome do banco de dados. Pode ser um caminho relativo ou absoluto para o arquivo onde o dBase irá guardar os seus dados.

mode

Um inteiro que corresponda a chamada de sistema open() (Tipicamente 0 significa somente-leitura, 1 apenas para escrita e 2 significa leitura e escrita).

Nota:

VoC~e não pode abrir um banco de dados dBase em modo somente para escrita já que a função irá falhar ao ler os cabeçalhos com informações e então você não pode usar 1 como o parâmetro mode.

Exemplos

Exemplo #1 Abrindo um banco de dados dBase

<?php

// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // read some data ..

  dbase_close($db);
}

?>

Valor Retornado

Retorna um identificador do banco de dados se for aberto com sucesso, ou false se um erro aconteceu.

Veja Também

  • dbase_create() - Cria um banco de dados
  • dbase_close() - Fecha um banco de dados


Apaga permanentemente os registros do banco de dados dBase

  • « dbase_open
  • dbase_replace_record »
  • PHP Manual
  • Funções da dBase
  • Apaga permanentemente os registros do banco de dados dBase

dbase_pack

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_pack — Apaga permanentemente os registros do banco de dados dBase

Descrição

dbase_pack ( int $dbase_identifier ) : bool

Apaga permanentemente todos os registros marcados para exclusão usando dbase_delete_record().

Parâmetros

dbase_identifier

O identificador do link do banco de dados, retornado por dbase_open() ou dbase_create().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Limpando um banco de dados dBase

<?php

// open in read-write mode
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  $record_numbers = dbase_numrecords($db);
  for ($i = 1; $i <= $record_numbers; $i++) {
      dbase_delete_record($db, $i);
  }
  // expunge the database
  dbase_pack($db);
}

?>

Veja Também

  • dbase_delete_record() - Exclui um registro do banco de dados


Substitui um registro no banco de dados

  • « dbase_pack
  • filePro »
  • PHP Manual
  • Funções da dBase
  • Substitui um registro no banco de dados

dbase_replace_record

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_replace_record — Substitui um registro no banco de dados

Descrição

dbase_replace_record ( int $dbase_identifier , array $record , int $record_number ) : bool

Substitui o registro no banco de dados com os dados indicados.

Parâmetros

dbase_identifier

O identificador do banco de dados, retornado por dbase_open() ou dbase_create().

record

Uma matriz indexada de dados. O número deve ser igual ao número de campo no banco de dados, se não dbase_add_record() irá falhar.

Nota:

Se você esta usando o valor de retorno de dbase_get_record() para este parâmetro, lembre-se de reiniciar o valor de deleted.

record_number

Um inteiro que vai de 1 até o número de registros no banco de dados (como retornado por dbase_numrecords()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Atualizando um registro no banco de dados

<?php

// open in read-write mode
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  // gets the old row
  $row = dbase_get_record_with_names($db, 1);

  // remove the 'deleted' entry
  unset($row['deleted']);

  // Update the date field with the current timestamp
  $row['date'] = date('Ymd');

  // Replace the record
  dbase_replace_record($db, $row, 1);
  dbase_close($db);
}

?>

Veja Também

  • dbase_add_record() - Adiciona um registro ao banco de dados
  • dbase_delete_record() - Exclui um registro do banco de dados


filePro

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções da filePro
    • filepro_fieldcount — Conta quantos campos tem em um banco de dados filePro
    • filepro_fieldname — Obtém o nome de um campo
    • filepro_fieldtype — Obtém o tipo de um campo
    • filepro_fieldwidth — Obtém a largura de um campo
    • filepro_retrieve — Obtém dados de um banco de dados filePro
    • filepro_rowcount — Conta o número de linhas em um banco de dados filePro
    • filepro — Lê e verifica o arquivo de mapa


Introdução

Estes funções permitem acesso somente para leitura em dados guardados em um banco de dados filePro.

filePro é uma marca registrada de fP Technologies, Inc. Você pode encontrar maiores informações sobre o filePro em » http://www.fptech.com/.

Nota:

Esta extensão foi movida para o repositório » PECL e não é mais incluída como parte do PHP.5.2.0.


Instalação

O suporte ao filePro no PHP não esta ativado por padrão. Para ativar o suporte filePro somente para leitura embutido, você precisa usar a opção de configuração --enable-filepro quando estiver compilando o PHP.


  • « Tipos de Recurso
  • Funções da filePro »
  • PHP Manual
  • filePro
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Funções da filePro

Índice

  • filepro_fieldcount — Conta quantos campos tem em um banco de dados filePro
  • filepro_fieldname — Obtém o nome de um campo
  • filepro_fieldtype — Obtém o tipo de um campo
  • filepro_fieldwidth — Obtém a largura de um campo
  • filepro_retrieve — Obtém dados de um banco de dados filePro
  • filepro_rowcount — Conta o número de linhas em um banco de dados filePro
  • filepro — Lê e verifica o arquivo de mapa


Conta quantos campos tem em um banco de dados filePro

  • « Funções da filePro
  • filepro_fieldname »
  • PHP Manual
  • Funções da filePro
  • Conta quantos campos tem em um banco de dados filePro

filepro_fieldcount

(PHP 4, PHP 5 < 5.2.0, PECL filepro SVN)

filepro_fieldcount — Conta quantos campos tem em um banco de dados filePro

Descrição

filepro_fieldcount ( ) : int

Retorna o número de campos (colunas) em um banco de dados filePro aberto.

Valor Retornado

Retorna o número de campos no banco de dados filePro aberto, ou false em caso de erro.

Veja Também

  • filepro() - Lê e verifica o arquivo de mapa


Obtém o nome de um campo

  • « filepro_fieldcount
  • filepro_fieldtype »
  • PHP Manual
  • Funções da filePro
  • Obtém o nome de um campo

filepro_fieldname

(PHP 4, PHP 5 < 5.2.0, PECL filepro SVN)

filepro_fieldname — Obtém o nome de um campo

Descrição

filepro_fieldname ( int $field_number ) : string

Retorna o nome do campo correspondente a field_number.

Parâmetros

field_number

O número do campo.

Valor Retornado

Retorna o nome do campo como string, ou false em caso de erro.


Obtém o tipo de um campo

  • « filepro_fieldname
  • filepro_fieldwidth »
  • PHP Manual
  • Funções da filePro
  • Obtém o tipo de um campo

filepro_fieldtype

(PHP 4, PHP 5 < 5.2.0, PECL filepro SVN)

filepro_fieldtype — Obtém o tipo de um campo

Descrição

filepro_fieldtype ( int $field_number ) : string

Retorna o tipo de campo correspondente a field_number.

Parâmetros

field_number

O número do campo.

Valor Retornado

Retorna o tipo de edição do campo como uma string, ou false em caso de erro.


Obtém a largura de um campo

  • « filepro_fieldtype
  • filepro_retrieve »
  • PHP Manual
  • Funções da filePro
  • Obtém a largura de um campo

filepro_fieldwidth

(PHP 4, PHP 5 < 5.2.0, PECL filepro SVN)

filepro_fieldwidth — Obtém a largura de um campo

Descrição

filepro_fieldwidth ( int $field_number ) : int

Retorna a largura do campo correspondente a field_number.

Parâmetros

field_number

O número do campo.

Valor Retornado

Retorna a largura do campo como um inteiro, ou false e, caso de erro.


Obtém dados de um banco de dados filePro

  • « filepro_fieldwidth
  • filepro_rowcount »
  • PHP Manual
  • Funções da filePro
  • Obtém dados de um banco de dados filePro

filepro_retrieve

(PHP 4, PHP 5 < 5.2.0, PECL filepro SVN)

filepro_retrieve — Obtém dados de um banco de dados filePro

Descrição

filepro_retrieve ( int $row_number , int $field_number ) : string

Retorna dados do local especificado no banco de dados.

Nota: Quando o safe-mode está ativo, o PHP verifica se os arquivo(s) ou diretórios que estão usados na operação tem o mesmo UID (proprietário) do script que está sendo executado.

Parâmetros

row_number

O número da linha. Deve ser entre zero e o número total de linhas menos um (0..filepro_rowcount() - 1)

field_number

O número do campo. Aceita valores entre zero e o número total de campos menos um (0..filepro_fieldcount() - 1)

Valor Retornado

Retorna os dados especificados ou false em caso de erro.


Conta o número de linhas em um banco de dados filePro

  • « filepro_retrieve
  • filepro »
  • PHP Manual
  • Funções da filePro
  • Conta o número de linhas em um banco de dados filePro

filepro_rowcount

(PHP 4, PHP 5 < 5.2.0, PECL filepro SVN)

filepro_rowcount — Conta o número de linhas em um banco de dados filePro

Descrição

filepro_rowcount ( ) : int

Retorna o número de linhas no banco de dados filePro aberto.

Nota: Quando o safe-mode está ativo, o PHP verifica se os arquivo(s) ou diretórios que estão usados na operação tem o mesmo UID (proprietário) do script que está sendo executado.

Valor Retornado

Retorna o número de linhas no banco de dados filePro aberto, ou false em caso de erro.

Veja Também

  • filepro() - Lê e verifica o arquivo de mapa


Lê e verifica o arquivo de mapa

  • « filepro_rowcount
  • Firebird/InterBase »
  • PHP Manual
  • Funções da filePro
  • Lê e verifica o arquivo de mapa

filepro

(PHP 4, PHP 5 < 5.2.0, PECL filepro SVN)

filepro — Lê e verifica o arquivo de mapa

Descrição

filepro ( string $directory ) : bool

Esta lê e verifica o arquivo de mapa, que guarda a quantidade de campos e informações.

Não é feita nenhuma trava, então você deve evitar modificar seu banco de dados filePro enquanto ele esta aberto no PHP.

Nota: Quando o safe-mode está ativo, o PHP verifica se os arquivo(s) ou diretórios que estão usados na operação tem o mesmo UID (proprietário) do script que está sendo executado.

Parâmetros

directory

O diretório do mapa.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Firebird/InterBase

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções para Firebird/InterBase
    • fbird_add_user — Sinônimo de ibase_add_user
    • fbird_affected_rows — Sinônimo de ibase_affected_rows
    • fbird_backup — Sinônimo de ibase_backup
    • fbird_blob_add — Sinônimo de ibase_blob_add
    • fbird_blob_cancel — Cancel creating blob
    • fbird_blob_close — Sinônimo de ibase_blob_close
    • fbird_blob_create — Sinônimo de ibase_blob_create
    • fbird_blob_echo — Sinônimo de ibase_blob_echo
    • fbird_blob_get — Sinônimo de ibase_blob_get
    • fbird_blob_import — Sinônimo de ibase_blob_import
    • fbird_blob_info — Sinônimo de ibase_blob_info
    • fbird_blob_open — Sinônimo de ibase_blob_open
    • fbird_close — Sinônimo de ibase_close
    • fbird_commit_ret — Sinônimo de ibase_commit_ret
    • fbird_commit — Sinônimo de ibase_commit
    • fbird_connect — Sinônimo de ibase_connect
    • fbird_db_info — Sinônimo de ibase_db_info
    • fbird_delete_user — Sinônimo de ibase_delete_user
    • fbird_drop_db — Sinônimo de ibase_drop_db
    • fbird_errcode — Sinônimo de ibase_errcode
    • fbird_errmsg — Sinônimo de ibase_errmsg
    • fbird_execute — Sinônimo de ibase_execute
    • fbird_fetch_assoc — Sinônimo de ibase_fetch_assoc
    • fbird_fetch_object — Sinônimo de ibase_fetch_object
    • fbird_fetch_row — Sinônimo de ibase_fetch_row
    • fbird_field_info — Sinônimo de ibase_field_info
    • fbird_free_event_handler — Sinônimo de ibase_free_event_handler
    • fbird_free_query — Sinônimo de ibase_free_query
    • fbird_free_result — Sinônimo de ibase_free_result
    • fbird_gen_id — Sinônimo de ibase_gen_id
    • fbird_maintain_db — Sinônimo de ibase_maintain_db
    • fbird_modify_user — Sinônimo de ibase_modify_user
    • fbird_name_result — Sinônimo de ibase_name_result
    • fbird_num_fields — Sinônimo de ibase_num_fields
    • fbird_num_params — Sinônimo de ibase_num_params
    • fbird_param_info — Sinônimo de ibase_param_info
    • fbird_pconnect — Sinônimo de ibase_pconnect
    • fbird_prepare — Sinônimo de ibase_prepare
    • fbird_query — Sinônimo de ibase_query
    • fbird_restore — Sinônimo de ibase_restore
    • fbird_rollback_ret — Sinônimo de ibase_rollback_ret
    • fbird_rollback — Sinônimo de ibase_rollback
    • fbird_server_info — Sinônimo de ibase_server_info
    • fbird_service_attach — Sinônimo de ibase_service_attach
    • fbird_service_detach — Sinônimo de ibase_service_detach
    • fbird_set_event_handler — Sinônimo de ibase_set_event_handler
    • fbird_trans — Sinônimo de ibase_trans
    • fbird_wait_event — Sinônimo de ibase_wait_event
    • ibase_add_user — Adiciona um usuário a um banco de dados seguro (apenas para IB6 ou posterior)
    • ibase_affected_rows — Retorna o número de linhas que foram afetados pela consulta anterior
    • ibase_backup — Initiates a backup task in the service manager and returns immediately
    • ibase_blob_add — Adiciona dados em um blob recém criado
    • ibase_blob_cancel — Cancela a criação de um blob
    • ibase_blob_close — Fecha o blob
    • ibase_blob_create — Cria um novo blob para adicionar dados
    • ibase_blob_echo — Envia o conteúdo do blob para o browser
    • ibase_blob_get — Retorna uma quantidade especificada de bytes de dados de um blob aberto
    • ibase_blob_import — Cria um blob, copia um arquivo para ele e o fecha
    • ibase_blob_info — Retorna o tamanho do blob e outras informações úteis
    • ibase_blob_open — Abre um blob para obter partes de dados
    • ibase_close — Fecha uma conexão com um banco de dados InterBase
    • ibase_commit_ret — Grava uma transação sem fechá-la
    • ibase_commit — Grava uma transação
    • ibase_connect — Abre uma conexão com um banco de dados InterBase
    • ibase_db_info — Request statistics about a database
    • ibase_delete_user — Exclui um usuário de um banco de dados seguro (apenas para o IB6 ou posterior)
    • ibase_drop_db — Exclui um banco de dados
    • ibase_errcode — Retorna um código de erro
    • ibase_errmsg — Retorna uma mensagem de erro
    • ibase_execute — Executa uma consulta preparada anteriormente
    • ibase_fetch_assoc — Obtém o resultado de uma linha da consulta como uma matriz associativa
    • ibase_fetch_object — Obtém uma linha como um objeto de um banco de dados InterBase
    • ibase_fetch_row — Obtém uma linha de um banco de dados InterBase
    • ibase_field_info — Obtém informação sobre um campo
    • ibase_free_event_handler — Cancela um manipulador de eventos registrado
    • ibase_free_query — Libera a memória alocada para uma consulta preparada
    • ibase_free_result — Libera um conjunto de resultados
    • ibase_gen_id — Increments the named generator and returns its new value
    • ibase_maintain_db — Execute a maintenance command on the database server
    • ibase_modify_user — Modifica um usuário para um banco de dados seguro (somente para IB6 ou posterior)
    • ibase_name_result — Define um nome para um conjunto de resultados
    • ibase_num_fields — Obtém o número de campos em um conjunto de resultados
    • ibase_num_params — Retorna o número de parâmetros em uma consulta preparada
    • ibase_param_info — Retorna informação sobre um parâmetro em uma consulta preparada
    • ibase_pconnect — Abre uma conexão persistente com um banco de dados InterBase
    • ibase_prepare — Prepara uma query para execução posterior
    • ibase_query — Executa uma consulta em um banco de dados InterBase
    • ibase_restore — Initiates a restore task in the service manager and returns immediately
    • ibase_rollback_ret — Desfaz uma transação sem fechá-la
    • ibase_rollback — Desfaz uma transação
    • ibase_server_info — Request information about a database server
    • ibase_service_attach — Connect to the service manager
    • ibase_service_detach — Disconnect from the service manager
    • ibase_set_event_handler — Registra uma função de callback para ser chamada quando eventos são postados
    • ibase_trans — Inicia uma transação
    • ibase_wait_event — Espera por um evento ser postado no banco de dados


Introdução

Firebird/InterBase é um banco de dados relacional que oferece muitos recursos ANSI SQL-92 e é executado em Linux, Windows, e uma variedade de plataformas Unix. Firebird/InterBase oferece excelente concorrência, alta peformance, e suporte a poderosa linguagem para stored procedures e triggers. Ele vem sendo usado em sistemas de produção, sob uma variedades de nomes desde 1981.

InterBase é o nome da variante de código fechado deste RDBMS que foi desenvolvido pela Borland/Inprise. Mais informação sobre InterBase está disponível em » http://www.embarcadero.com/products/interbase.

Firebird é um projeto comercialmente independente de programadores C e C++, conselheiros técnicos e suportes de desenvolvimento e revisores um sistema gerenciador de banco de dados relacional baseado no código fonte liberado por Inprise Corp (agora conhecido como Borland Software Corp) sob InterBase Public License v.1.0 em 25 Julho, 2000. Mais informação sobre Firebird está disponível em » http://www.firebirdsql.org/.

Nota:

Esta extensão suporta as versões 5 e superiores do InterBase e todas versões do Firebird. Suporte para versão 5.x do InterBase será removido no PHP 6.

Este banco de dados usa o caractere de aspa simples (') para escape, um comportamento similar ao do banco de dados Sybase, adicione ao seu php.ini a seguinte diretiva:

magic_quotes_sybase = On


Instalação

Para ativar o suporte InterBase, configure o PHP com --with-interbase[=DIR], aonde DIR é o diretório base da instalação do InterBase, o qual o padrão é /usr/interbase.

Nota: Nota para os usários de Win32

Para esta extensão funcionar, existem arquivos DLL que devem estar disponíveis no PATH do sistema Windows. Para saber como fazer isso, veja o FAQ intitulado "Como eu adiciono o meu diretório PHP no PATH no Windows". Embora copiando arquivos DLL da pasta do PHP no diretório system do Windows também funcione (porque o diretório system está por padrão no PATH do sistema), isto não é recomendado. Esta extensão requer que os seguintes arquivos estejam no PATH: gds32.dll

No caso se você ter instalado o servidor do banco de dados InterBase na mesma máquina onde o PHP esta sendo executado, você já deve ter esta DLL. Então você precisa verificar se gds32.dll já esta no PATH.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração do InterBase
Nome | Padrão | Modificável | Modificações
ibase.allow_persistent | 1 | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.default_db | NULL | PHP_INI_SYSTEM | Disponível desde o PHP 5.0.0.
ibase.default_user | NULL | PHP_INI_ALL |
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL | Disponível desde o PHP 5.0.0.
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

ibase.allow_persistent boolean

Quando permitir conexões persistentes ao Firebird/InterBase.

ibase.max_persistent integer

O número máximo de conexões persistentes com o Firebird/InterBase por processo. Novas conexões criadas com ibase_pconnect() não serão persistentes se este número for excedido.

ibase.max_links integer

O número máximo de conexões ao Firebird/InterBase por processo, incluindo as conexões persistentes.

ibase.default_db string

O banco de dados padrão a conectar quando ibase_[p]connect() é chamada sem especificar o nome do banco de dados. Se este valor for definido e o SQL safe mode estiver ativado, não serão permitidas outras conexões a este banco de dados.

ibase.default_user string

O nome de usuário para usar quando estiver se conectando ao banco de dados se não for especificado um nome de usuário.

ibase.default_password string

A senha usada ao conectar ao banco de dados se nenhuma senha for especificada.

ibase.default_charset string

O conjunto de caracteres a usar quando estiver conectando ao banco de dados se nenhum conjunto de caracteres for especificado.

ibase.timestampformat string

ibase.dateformat string

ibase.timeformat string

Estas diretivas são usadas para definir os formatos de data e hora que são usados ao retornas datas e horas do conjunto de resultados, ou quando estiver fornecendo datas e horas em parâmetros.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

As seguinte constantes podem ser passadas para ibase_trans() para especificar o funcionamento da transação.

Opções da transação Firebird/InterBase
Constante | Descrição
IBASE_DEFAULT | Serão usadas as definições padrão para a transação. Este padrão é determinado pela biblioteca do cliente, a qual define-o como IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT na maioria ds casos.
IBASE_READ | Começa uma transação apenas para leitura.
IBASE_WRITE | Começa uma transação de leitura e escrita.
IBASE_CONSISTENCY | Começa uma transação com o nível de isolação definido como 'consistency', o qual indica que a transação não pode ler de tabelas que estão sendo modificadas por outras transações concorrentes.
IBASE_CONCURRENCY | Começa uma transação com o nível de isolação definido como 'concurrency' (ou 'snapshot'), o qual indica que a transação tem acesso a todas as tabelas, mas não pode ver as modificações que foram gravadas por outras transações após a transação ter começado.
IBASE_COMMITTED | Começa uma transação com o nível de isolação definido como 'read committed'. Esta opção deve ser combinada com IBASE_REC_VERSION ou IBASE_REC_NO_VERSION. Este nível de isolação permite acesso para as modifcações salvar após o início da transação. Se IBASE_REC_NO_VERSION for especificada, apenas a ultima versão de uma linha pode ser lida. Se IBASE_REC_VERSION for especificada, uma linha pode ser lida mesmo quando exista uma modificação pendente em uma transação concorrente.
IBASE_WAIT | Indica que uma transação deve esperar e tentar novamente quando aconteça um conflito.
IBASE_NOWAIT | Indica que a transação deve falhar imediatamente quando aconteça um conflito.

As seguintes constantes podem ser passadas para ibase_fetch_row(), ibase_fetch_assoc() ou ibase_fetch_object() para especificar o funcionamento para obter.

Opções para obter do Firebird/InterBase
Constante | Descrição
IBASE_FETCH_BLOBS | Também disponível como IBASE_TEXT para compatibilidade com versões anteriores. Faz com que o conteúdo de campos BLOB serão retornados diretamente, ao invés de serem retornados como identificadores BLOB.
IBASE_FETCH_ARRAYS | Faz com que as arrays sejam retornadas diretamente. Se não, são retornados identificadores de array. Identificadores de array somente podem ser usados como argumentos para operações INSERT, já que não estão disponíveis atualmente nenhuma função para manipular identificadores de array.
IBASE_UNIXTIME | Faz com que campos de date e time não sejam retornados como strings, mas como timestamps UNIX (o número de segundos deste epoch, o qual é 1-Jan-1970 0:00 UTC). Pode ser problematico se usado com datas antes de 1970 em alguns sistemas.

As seguintes constantes são usados para passar requesições e opções para as
funções da API de serviços (ibase_server_info(),
ibase_db_info(), ibase_backup(),
ibase_restore() e ibase_maintain_db()).
Por favor veja o manual do Firebird/InterBase para o significado destas opções.

IBASE_BKP_IGNORE_CHECKSUMS
IBASE_BKP_IGNORE_LIMBO
IBASE_BKP_METADATA_ONLY
IBASE_BKP_NO_GARBAGE_COLLECT
IBASE_BKP_OLD_DESCRIPTIONS
IBASE_BKP_NON_TRANSPORTABLE
IBASE_BKP_CONVERT
Options to ibase_backup()
IBASE_RES_DEACTIVATE_IDX
IBASE_RES_NO_SHADOW
IBASE_RES_NO_VALIDITY
IBASE_RES_ONE_AT_A_TIME
IBASE_RES_REPLACE
IBASE_RES_CREATE
IBASE_RES_USE_ALL_SPACE
Options to ibase_restore()
IBASE_PRP_PAGE_BUFFERS
IBASE_PRP_SWEEP_INTERVAL
IBASE_PRP_SHUTDOWN_DB
IBASE_PRP_DENY_NEW_TRANSACTIONS
IBASE_PRP_DENY_NEW_ATTACHMENTS
IBASE_PRP_RESERVE_SPACE
IBASE_PRP_RES_USE_FULL
IBASE_PRP_RES
IBASE_PRP_WRITE_MODE
IBASE_PRP_WM_ASYNC
IBASE_PRP_WM_SYNC
IBASE_PRP_ACCESS_MODE
IBASE_PRP_AM_READONLY
IBASE_PRP_AM_READWRITE
IBASE_PRP_SET_SQL_DIALECT
IBASE_PRP_ACTIVATE
IBASE_PRP_DB_ONLINE
IBASE_RPR_CHECK_DB
IBASE_RPR_IGNORE_CHECKSUM
IBASE_RPR_KILL_SHADOWS
IBASE_RPR_MEND_DB
IBASE_RPR_VALIDATE_DB
IBASE_RPR_FULL
IBASE_RPR_SWEEP_DB
Options to ibase_maintain_db()
IBASE_STS_DATA_PAGES
IBASE_STS_DB_LOG
IBASE_STS_HDR_PAGES
IBASE_STS_IDX_PAGES
IBASE_STS_SYS_RELATIONS
Opções para ibase_db_info()
IBASE_SVC_SERVER_VERSION
IBASE_SVC_IMPLEMENTATION
IBASE_SVC_GET_ENV
IBASE_SVC_GET_ENV_LOCK
IBASE_SVC_GET_ENV_MSG
IBASE_SVC_USER_DBPATH
IBASE_SVC_SVR_DB_INFO
IBASE_SVC_GET_USERS
Opções para ibase_server_info()


Funções para Firebird/InterBase

Índice

  • fbird_add_user — Sinônimo de ibase_add_user
  • fbird_affected_rows — Sinônimo de ibase_affected_rows
  • fbird_backup — Sinônimo de ibase_backup
  • fbird_blob_add — Sinônimo de ibase_blob_add
  • fbird_blob_cancel — Cancel creating blob
  • fbird_blob_close — Sinônimo de ibase_blob_close
  • fbird_blob_create — Sinônimo de ibase_blob_create
  • fbird_blob_echo — Sinônimo de ibase_blob_echo
  • fbird_blob_get — Sinônimo de ibase_blob_get
  • fbird_blob_import — Sinônimo de ibase_blob_import
  • fbird_blob_info — Sinônimo de ibase_blob_info
  • fbird_blob_open — Sinônimo de ibase_blob_open
  • fbird_close — Sinônimo de ibase_close
  • fbird_commit_ret — Sinônimo de ibase_commit_ret
  • fbird_commit — Sinônimo de ibase_commit
  • fbird_connect — Sinônimo de ibase_connect
  • fbird_db_info — Sinônimo de ibase_db_info
  • fbird_delete_user — Sinônimo de ibase_delete_user
  • fbird_drop_db — Sinônimo de ibase_drop_db
  • fbird_errcode — Sinônimo de ibase_errcode
  • fbird_errmsg — Sinônimo de ibase_errmsg
  • fbird_execute — Sinônimo de ibase_execute
  • fbird_fetch_assoc — Sinônimo de ibase_fetch_assoc
  • fbird_fetch_object — Sinônimo de ibase_fetch_object
  • fbird_fetch_row — Sinônimo de ibase_fetch_row
  • fbird_field_info — Sinônimo de ibase_field_info
  • fbird_free_event_handler — Sinônimo de ibase_free_event_handler
  • fbird_free_query — Sinônimo de ibase_free_query
  • fbird_free_result — Sinônimo de ibase_free_result
  • fbird_gen_id — Sinônimo de ibase_gen_id
  • fbird_maintain_db — Sinônimo de ibase_maintain_db
  • fbird_modify_user — Sinônimo de ibase_modify_user
  • fbird_name_result — Sinônimo de ibase_name_result
  • fbird_num_fields — Sinônimo de ibase_num_fields
  • fbird_num_params — Sinônimo de ibase_num_params
  • fbird_param_info — Sinônimo de ibase_param_info
  • fbird_pconnect — Sinônimo de ibase_pconnect
  • fbird_prepare — Sinônimo de ibase_prepare
  • fbird_query — Sinônimo de ibase_query
  • fbird_restore — Sinônimo de ibase_restore
  • fbird_rollback_ret — Sinônimo de ibase_rollback_ret
  • fbird_rollback — Sinônimo de ibase_rollback
  • fbird_server_info — Sinônimo de ibase_server_info
  • fbird_service_attach — Sinônimo de ibase_service_attach
  • fbird_service_detach — Sinônimo de ibase_service_detach
  • fbird_set_event_handler — Sinônimo de ibase_set_event_handler
  • fbird_trans — Sinônimo de ibase_trans
  • fbird_wait_event — Sinônimo de ibase_wait_event
  • ibase_add_user — Adiciona um usuário a um banco de dados seguro (apenas para IB6 ou posterior)
  • ibase_affected_rows — Retorna o número de linhas que foram afetados pela consulta anterior
  • ibase_backup — Initiates a backup task in the service manager and returns immediately
  • ibase_blob_add — Adiciona dados em um blob recém criado
  • ibase_blob_cancel — Cancela a criação de um blob
  • ibase_blob_close — Fecha o blob
  • ibase_blob_create — Cria um novo blob para adicionar dados
  • ibase_blob_echo — Envia o conteúdo do blob para o browser
  • ibase_blob_get — Retorna uma quantidade especificada de bytes de dados de um blob aberto
  • ibase_blob_import — Cria um blob, copia um arquivo para ele e o fecha
  • ibase_blob_info — Retorna o tamanho do blob e outras informações úteis
  • ibase_blob_open — Abre um blob para obter partes de dados
  • ibase_close — Fecha uma conexão com um banco de dados InterBase
  • ibase_commit_ret — Grava uma transação sem fechá-la
  • ibase_commit — Grava uma transação
  • ibase_connect — Abre uma conexão com um banco de dados InterBase
  • ibase_db_info — Request statistics about a database
  • ibase_delete_user — Exclui um usuário de um banco de dados seguro (apenas para o IB6 ou posterior)
  • ibase_drop_db — Exclui um banco de dados
  • ibase_errcode — Retorna um código de erro
  • ibase_errmsg — Retorna uma mensagem de erro
  • ibase_execute — Executa uma consulta preparada anteriormente
  • ibase_fetch_assoc — Obtém o resultado de uma linha da consulta como uma matriz associativa
  • ibase_fetch_object — Obtém uma linha como um objeto de um banco de dados InterBase
  • ibase_fetch_row — Obtém uma linha de um banco de dados InterBase
  • ibase_field_info — Obtém informação sobre um campo
  • ibase_free_event_handler — Cancela um manipulador de eventos registrado
  • ibase_free_query — Libera a memória alocada para uma consulta preparada
  • ibase_free_result — Libera um conjunto de resultados
  • ibase_gen_id — Increments the named generator and returns its new value
  • ibase_maintain_db — Execute a maintenance command on the database server
  • ibase_modify_user — Modifica um usuário para um banco de dados seguro (somente para IB6 ou posterior)
  • ibase_name_result — Define um nome para um conjunto de resultados
  • ibase_num_fields — Obtém o número de campos em um conjunto de resultados
  • ibase_num_params — Retorna o número de parâmetros em uma consulta preparada
  • ibase_param_info — Retorna informação sobre um parâmetro em uma consulta preparada
  • ibase_pconnect — Abre uma conexão persistente com um banco de dados InterBase
  • ibase_prepare — Prepara uma query para execução posterior
  • ibase_query — Executa uma consulta em um banco de dados InterBase
  • ibase_restore — Initiates a restore task in the service manager and returns immediately
  • ibase_rollback_ret — Desfaz uma transação sem fechá-la
  • ibase_rollback — Desfaz uma transação
  • ibase_server_info — Request information about a database server
  • ibase_service_attach — Connect to the service manager
  • ibase_service_detach — Disconnect from the service manager
  • ibase_set_event_handler — Registra uma função de callback para ser chamada quando eventos são postados
  • ibase_trans — Inicia uma transação
  • ibase_wait_event — Espera por um evento ser postado no banco de dados


Sinônimo de ibase_add_user

  • « Funções para Firebird/InterBase
  • fbird_affected_rows »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_add_user

fbird_add_user

(PHP 5, PHP 7 < 7.4.0)

fbird_add_user — Sinônimo de ibase_add_user()

Descrição

Esta função é um apelido para: ibase_add_user().

Veja Também

  • fbird_modify_user() - Sinônimo de ibase_modify_user
  • fbird_delete_user() - Sinônimo de ibase_delete_user


Sinônimo de ibase_affected_rows

  • « fbird_add_user
  • fbird_backup »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_affected_rows

fbird_affected_rows

(PHP 5, PHP 7 < 7.4.0)

fbird_affected_rows — Sinônimo de ibase_affected_rows()

Descrição

Esta função é um apelido para: ibase_affected_rows().

Veja Também

  • fbird_query() - Sinônimo de ibase_query
  • fbird_execute() - Sinônimo de ibase_execute


Sinônimo de ibase_backup

  • « fbird_affected_rows
  • fbird_blob_add »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_backup

fbird_backup

(PHP 5, PHP 7 < 7.4.0)

fbird_backup — Sinônimo de ibase_backup()

Descrição

Esta função é um apelido para: ibase_backup().


Sinônimo de ibase_blob_add

  • « fbird_backup
  • fbird_blob_cancel »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_blob_add

fbird_blob_add

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_add — Sinônimo de ibase_blob_add()

Descrição

Esta função é um apelido para: ibase_blob_add().

Veja Também

  • fbird_blob_cancel() - Cancel creating blob
  • fbird_blob_close() - Sinônimo de ibase_blob_close
  • fbird_blob_create() - Sinônimo de ibase_blob_create
  • fbird_blob_import() - Sinônimo de ibase_blob_import


Cancel creating blob

  • « fbird_blob_add
  • fbird_blob_close »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Cancel creating blob

fbird_blob_cancel

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_cancel — Cancel creating blob

Descrição

fbird_blob_cancel ( resource $blob_handle ) : bool

This function will discard a BLOB if it has not yet been closed by fbird_blob_close().

Parâmetros

blob_handle

A BLOB handle opened with fbird_blob_create().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fbird_blob_close() - Sinônimo de ibase_blob_close
  • fbird_blob_create() - Sinônimo de ibase_blob_create
  • fbird_blob_import() - Sinônimo de ibase_blob_import


Sinônimo de ibase_blob_close

  • « fbird_blob_cancel
  • fbird_blob_create »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_blob_close

fbird_blob_close

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_close — Sinônimo de ibase_blob_close()

Descrição

Esta função é um apelido para: ibase_blob_close().

Veja Também

  • fbird_blob_create() - Sinônimo de ibase_blob_create
  • fbird_blob_cancel() - Cancel creating blob
  • fbird_blob_open() - Sinônimo de ibase_blob_open
  • fbird_blob_import() - Sinônimo de ibase_blob_import


Sinônimo de ibase_blob_create

  • « fbird_blob_close
  • fbird_blob_echo »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_blob_create

fbird_blob_create

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_create — Sinônimo de ibase_blob_create()

Descrição

Esta função é um apelido para: ibase_blob_create().

Veja Também

  • fbird_blob_add() - Sinônimo de ibase_blob_add
  • fbird_blob_cancel() - Cancel creating blob
  • fbird_blob_close() - Sinônimo de ibase_blob_close
  • fbird_blob_import() - Sinônimo de ibase_blob_import


Sinônimo de ibase_blob_echo

  • « fbird_blob_create
  • fbird_blob_get »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_blob_echo

fbird_blob_echo

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_echo — Sinônimo de ibase_blob_echo()

Descrição

Esta função é um apelido para: ibase_blob_echo().

Veja Também

  • fbird_blob_open() - Sinônimo de ibase_blob_open
  • fbird_blob_close() - Sinônimo de ibase_blob_close
  • fbird_blob_get() - Sinônimo de ibase_blob_get


Sinônimo de ibase_blob_get

  • « fbird_blob_echo
  • fbird_blob_import »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_blob_get

fbird_blob_get

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_get — Sinônimo de ibase_blob_get()

Descrição

Esta função é um apelido para: ibase_blob_get().

Veja Também

  • fbird_blob_open() - Sinônimo de ibase_blob_open
  • fbird_blob_close() - Sinônimo de ibase_blob_close
  • fbird_blob_echo() - Sinônimo de ibase_blob_echo


Sinônimo de ibase_blob_import

  • « fbird_blob_get
  • fbird_blob_info »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_blob_import

fbird_blob_import

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_import — Sinônimo de ibase_blob_import()

Descrição

Esta função é um apelido para: ibase_blob_import().

Veja Também

  • fbird_blob_add() - Sinônimo de ibase_blob_add
  • fbird_blob_cancel() - Cancel creating blob
  • fbird_blob_close() - Sinônimo de ibase_blob_close
  • fbird_blob_create() - Sinônimo de ibase_blob_create


Sinônimo de ibase_blob_info

  • « fbird_blob_import
  • fbird_blob_open »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_blob_info

fbird_blob_info

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_info — Sinônimo de ibase_blob_info()

Descrição

Esta função é um apelido para: ibase_blob_info().


Sinônimo de ibase_blob_open

  • « fbird_blob_info
  • fbird_close »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_blob_open

fbird_blob_open

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_open — Sinônimo de ibase_blob_open()

Descrição

Esta função é um apelido para: ibase_blob_open().

Veja Também

  • fbird_blob_close() - Sinônimo de ibase_blob_close
  • fbird_blob_echo() - Sinônimo de ibase_blob_echo
  • fbird_blob_get() - Sinônimo de ibase_blob_get


Sinônimo de ibase_close

  • « fbird_blob_open
  • fbird_commit_ret »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_close

fbird_close

(PHP 5, PHP 7 < 7.4.0)

fbird_close — Sinônimo de ibase_close()

Descrição

Esta função é um apelido para: ibase_close().

Veja Também

  • fbird_connect() - Sinônimo de ibase_connect
  • fbird_pconnect() - Sinônimo de ibase_pconnect


Sinônimo de ibase_commit_ret

  • « fbird_close
  • fbird_commit »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_commit_ret

fbird_commit_ret

(PHP 5, PHP 7 < 7.4.0)

fbird_commit_ret — Sinônimo de ibase_commit_ret()

Descrição

Esta função é um apelido para: ibase_commit_ret().


Sinônimo de ibase_commit

  • « fbird_commit_ret
  • fbird_connect »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_commit

fbird_commit

(PHP 5, PHP 7 < 7.4.0)

fbird_commit — Sinônimo de ibase_commit()

Descrição

Esta função é um apelido para: ibase_commit().


Sinônimo de ibase_connect

  • « fbird_commit
  • fbird_db_info »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_connect

fbird_connect

(PHP 5, PHP 7 < 7.4.0)

fbird_connect — Sinônimo de ibase_connect()

Descrição

Esta função é um apelido para: ibase_connect().

Veja Também

  • fbird_pconnect() - Sinônimo de ibase_pconnect
  • fbird_close() - Sinônimo de ibase_close


Sinônimo de ibase_db_info

  • « fbird_connect
  • fbird_delete_user »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_db_info

fbird_db_info

(PHP 5, PHP 7 < 7.4.0)

fbird_db_info — Sinônimo de ibase_db_info()

Descrição

Esta função é um apelido para: ibase_db_info().


Sinônimo de ibase_delete_user

  • « fbird_db_info
  • fbird_drop_db »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_delete_user

fbird_delete_user

(PHP 5, PHP 7 < 7.4.0)

fbird_delete_user — Sinônimo de ibase_delete_user()

Descrição

Esta função é um apelido para: ibase_delete_user().

Veja Também

  • fbird_add_user() - Sinônimo de ibase_add_user
  • fbird_modify_user() - Sinônimo de ibase_modify_user


Sinônimo de ibase_drop_db

  • « fbird_delete_user
  • fbird_errcode »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_drop_db

fbird_drop_db

(PHP 5, PHP 7 < 7.4.0)

fbird_drop_db — Sinônimo de ibase_drop_db()

Descrição

Esta função é um apelido para: ibase_drop_db().

Veja Também

  • fbird_connect() - Sinônimo de ibase_connect
  • fbird_pconnect() - Sinônimo de ibase_pconnect


Sinônimo de ibase_errcode

  • « fbird_drop_db
  • fbird_errmsg »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_errcode

fbird_errcode

(PHP 5, PHP 7 < 7.4.0)

fbird_errcode — Sinônimo de ibase_errcode()

Descrição

Esta função é um apelido para: ibase_errcode().

Veja Também

  • fbird_errmsg() - Sinônimo de ibase_errmsg


Sinônimo de ibase_errmsg

  • « fbird_errcode
  • fbird_execute »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_errmsg

fbird_errmsg

(PHP 5, PHP 7 < 7.4.0)

fbird_errmsg — Sinônimo de ibase_errmsg()

Descrição

Esta função é um apelido para: ibase_errmsg().

Veja Também

  • fbird_errcode() - Sinônimo de ibase_errcode


Sinônimo de ibase_execute

  • « fbird_errmsg
  • fbird_fetch_assoc »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_execute

fbird_execute

(PHP 5, PHP 7 < 7.4.0)

fbird_execute — Sinônimo de ibase_execute()

Descrição

Esta função é um apelido para: ibase_execute().

Veja Também

  • fbird_query() - Sinônimo de ibase_query


Sinônimo de ibase_fetch_assoc

  • « fbird_execute
  • fbird_fetch_object »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_fetch_assoc

fbird_fetch_assoc

(PHP 5, PHP 7 < 7.4.0)

fbird_fetch_assoc — Sinônimo de ibase_fetch_assoc()

Descrição

Esta função é um apelido para: ibase_fetch_assoc().

Veja Também

  • fbird_fetch_row() - Sinônimo de ibase_fetch_row
  • fbird_fetch_object() - Sinônimo de ibase_fetch_object


Sinônimo de ibase_fetch_object

  • « fbird_fetch_assoc
  • fbird_fetch_row »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_fetch_object

fbird_fetch_object

(PHP 5, PHP 7 < 7.4.0)

fbird_fetch_object — Sinônimo de ibase_fetch_object()

Descrição

Esta função é um apelido para: ibase_fetch_object().

Veja Também

  • fbird_fetch_row() - Sinônimo de ibase_fetch_row
  • fbird_fetch_assoc() - Sinônimo de ibase_fetch_assoc


Sinônimo de ibase_fetch_row

  • « fbird_fetch_object
  • fbird_field_info »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_fetch_row

fbird_fetch_row

(PHP 5, PHP 7 < 7.4.0)

fbird_fetch_row — Sinônimo de ibase_fetch_row()

Descrição

Esta função é um apelido para: ibase_fetch_row().

Veja Também

  • fbird_fetch_assoc() - Sinônimo de ibase_fetch_assoc
  • fbird_fetch_object() - Sinônimo de ibase_fetch_object


Sinônimo de ibase_field_info

  • « fbird_fetch_row
  • fbird_free_event_handler »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_field_info

fbird_field_info

(PHP 5, PHP 7 < 7.4.0)

fbird_field_info — Sinônimo de ibase_field_info()

Descrição

Esta função é um apelido para: ibase_field_info().

Veja Também

  • fbird_num_fields() - Sinônimo de ibase_num_fields


Sinônimo de ibase_free_event_handler

  • « fbird_field_info
  • fbird_free_query »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_free_event_handler

fbird_free_event_handler

(PHP 5, PHP 7 < 7.4.0)

fbird_free_event_handler — Sinônimo de ibase_free_event_handler()

Descrição

Esta função é um apelido para: ibase_free_event_handler().

Veja Também

  • fbird_set_event_handler() - Sinônimo de ibase_set_event_handler


Sinônimo de ibase_free_query

  • « fbird_free_event_handler
  • fbird_free_result »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_free_query

fbird_free_query

(PHP 5, PHP 7 < 7.4.0)

fbird_free_query — Sinônimo de ibase_free_query()

Descrição

Esta função é um apelido para: ibase_free_query().


Sinônimo de ibase_free_result

  • « fbird_free_query
  • fbird_gen_id »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_free_result

fbird_free_result

(PHP 5, PHP 7 < 7.4.0)

fbird_free_result — Sinônimo de ibase_free_result()

Descrição

Esta função é um apelido para: ibase_free_result().


Sinônimo de ibase_gen_id

  • « fbird_free_result
  • fbird_maintain_db »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_gen_id

fbird_gen_id

(PHP 5, PHP 7 < 7.4.0)

fbird_gen_id — Sinônimo de ibase_gen_id()

Descrição

Esta função é um apelido para: ibase_gen_id().


Sinônimo de ibase_maintain_db

  • « fbird_gen_id
  • fbird_modify_user »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_maintain_db

fbird_maintain_db

(PHP 5, PHP 7 < 7.4.0)

fbird_maintain_db — Sinônimo de ibase_maintain_db()

Descrição

Esta função é um apelido para: ibase_maintain_db().


Sinônimo de ibase_modify_user

  • « fbird_maintain_db
  • fbird_name_result »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_modify_user

fbird_modify_user

(PHP 5, PHP 7 < 7.4.0)

fbird_modify_user — Sinônimo de ibase_modify_user()

Descrição

Esta função é um apelido para: ibase_modify_user().

Veja Também

  • fbird_add_user() - Sinônimo de ibase_add_user
  • fbird_delete_user() - Sinônimo de ibase_delete_user


Sinônimo de ibase_name_result

  • « fbird_modify_user
  • fbird_num_fields »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_name_result

fbird_name_result

(PHP 5, PHP 7 < 7.4.0)

fbird_name_result — Sinônimo de ibase_name_result()

Descrição

Esta função é um apelido para: ibase_name_result().

Veja Também

  • fbird_prepare() - Sinônimo de ibase_prepare
  • fbird_execute() - Sinônimo de ibase_execute


Sinônimo de ibase_num_fields

  • « fbird_name_result
  • fbird_num_params »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_num_fields

fbird_num_fields

(PHP 5, PHP 7 < 7.4.0)

fbird_num_fields — Sinônimo de ibase_num_fields()

Descrição

Esta função é um apelido para: ibase_num_fields().

Veja Também

  • fbird_field_info() - Sinônimo de ibase_field_info


Sinônimo de ibase_num_params

  • « fbird_num_fields
  • fbird_param_info »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_num_params

fbird_num_params

(PHP 5, PHP 7 < 7.4.0)

fbird_num_params — Sinônimo de ibase_num_params()

Descrição

Esta função é um apelido para: ibase_num_params().

Veja Também

  • fbird_prepare() - Sinônimo de ibase_prepare
  • fbird_param_info() - Sinônimo de ibase_param_info


Sinônimo de ibase_param_info

  • « fbird_num_params
  • fbird_pconnect »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_param_info

fbird_param_info

(PHP 5, PHP 7 < 7.4.0)

fbird_param_info — Sinônimo de ibase_param_info()

Descrição

Esta função é um apelido para: ibase_param_info().

Veja Também

  • fbird_field_info() - Sinônimo de ibase_field_info
  • fbird_num_params() - Sinônimo de ibase_num_params


Sinônimo de ibase_pconnect

  • « fbird_param_info
  • fbird_prepare »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_pconnect

fbird_pconnect

(PHP 5, PHP 7 < 7.4.0)

fbird_pconnect — Sinônimo de ibase_pconnect()

Descrição

Esta função é um apelido para: ibase_pconnect().

Veja Também

  • fbird_close() - Sinônimo de ibase_close
  • fbird_connect() - Sinônimo de ibase_connect


Sinônimo de ibase_prepare

  • « fbird_pconnect
  • fbird_query »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_prepare

fbird_prepare

(PHP 5, PHP 7 < 7.4.0)

fbird_prepare — Sinônimo de ibase_prepare()

Descrição

Esta função é um apelido para: ibase_prepare().


Sinônimo de ibase_query

  • « fbird_prepare
  • fbird_restore »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_query

fbird_query

(PHP 5, PHP 7 < 7.4.0)

fbird_query — Sinônimo de ibase_query()

Descrição

Esta função é um apelido para: ibase_query().

Veja Também

  • fbird_errmsg() - Sinônimo de ibase_errmsg
  • fbird_fetch_row() - Sinônimo de ibase_fetch_row
  • fbird_fetch_object() - Sinônimo de ibase_fetch_object
  • fbird_free_result() - Sinônimo de ibase_free_result


Sinônimo de ibase_restore

  • « fbird_query
  • fbird_rollback_ret »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_restore

fbird_restore

(PHP 5, PHP 7 < 7.4.0)

fbird_restore — Sinônimo de ibase_restore()

Descrição

Esta função é um apelido para: ibase_restore().


Sinônimo de ibase_rollback_ret

  • « fbird_restore
  • fbird_rollback »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_rollback_ret

fbird_rollback_ret

(PHP 5, PHP 7 < 7.4.0)

fbird_rollback_ret — Sinônimo de ibase_rollback_ret()

Descrição

Esta função é um apelido para: ibase_rollback_ret().


Sinônimo de ibase_rollback

  • « fbird_rollback_ret
  • fbird_server_info »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_rollback

fbird_rollback

(PHP 5, PHP 7 < 7.4.0)

fbird_rollback — Sinônimo de ibase_rollback()

Descrição

Esta função é um apelido para: ibase_rollback().


Sinônimo de ibase_server_info

  • « fbird_rollback
  • fbird_service_attach »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_server_info

fbird_server_info

(PHP 5, PHP 7 < 7.4.0)

fbird_server_info — Sinônimo de ibase_server_info()

Descrição

Esta função é um apelido para: ibase_server_info().


Sinônimo de ibase_service_attach

  • « fbird_server_info
  • fbird_service_detach »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_service_attach

fbird_service_attach

(PHP 5, PHP 7 < 7.4.0)

fbird_service_attach — Sinônimo de ibase_service_attach()

Descrição

Esta função é um apelido para: ibase_service_attach().


Sinônimo de ibase_service_detach

  • « fbird_service_attach
  • fbird_set_event_handler »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_service_detach

fbird_service_detach

(PHP 5, PHP 7 < 7.4.0)

fbird_service_detach — Sinônimo de ibase_service_detach()

Descrição

Esta função é um apelido para: ibase_service_detach().


Sinônimo de ibase_set_event_handler

  • « fbird_service_detach
  • fbird_trans »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_set_event_handler

fbird_set_event_handler

(PHP 5, PHP 7 < 7.4.0)

fbird_set_event_handler — Sinônimo de ibase_set_event_handler()

Descrição

Esta função é um apelido para: ibase_set_event_handler().

Veja Também

  • fbird_free_event_handler() - Sinônimo de ibase_free_event_handler
  • fbird_wait_event() - Sinônimo de ibase_wait_event


Sinônimo de ibase_trans

  • « fbird_set_event_handler
  • fbird_wait_event »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_trans

fbird_trans

(PHP 5, PHP 7 < 7.4.0)

fbird_trans — Sinônimo de ibase_trans()

Descrição

Esta função é um apelido para: ibase_trans().


Sinônimo de ibase_wait_event

  • « fbird_trans
  • ibase_add_user »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Sinônimo de ibase_wait_event

fbird_wait_event

(PHP 5, PHP 7 < 7.4.0)

fbird_wait_event — Sinônimo de ibase_wait_event()

Descrição

Esta função é um apelido para: ibase_wait_event().

Veja Também

  • fbird_set_event_handler() - Sinônimo de ibase_set_event_handler
  • fbird_free_event_handler() - Sinônimo de ibase_free_event_handler


Adiciona um usuário a um banco de dados seguro (apenas para IB6 ou posterior)

  • « fbird_wait_event
  • ibase_affected_rows »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Adiciona um usuário a um banco de dados seguro (apenas para IB6 ou posterior)

ibase_add_user

(PHP 5, PHP 7 < 7.4.0)

ibase_add_user — Adiciona um usuário a um banco de dados seguro (apenas para IB6 ou posterior)

Descrição

ibase_add_user ( resource $service_handle , string $user_name , string $password , string $first_name = ? , string $middle_name = ? , string $last_name = ? ) : bool

O PHP 4 usa server, dba_user_name e dba_user_password ao invés do parâmetro service_handle.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ibase_modify_user() - Modifica um usuário para um banco de dados seguro (somente para IB6 ou posterior)
  • ibase_delete_user() - Exclui um usuário de um banco de dados seguro (apenas para o IB6 ou posterior)


Retorna o número de linhas que foram afetados pela consulta anterior

  • « ibase_add_user
  • ibase_backup »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Retorna o número de linhas que foram afetados pela consulta anterior

ibase_affected_rows

(PHP 5, PHP 7 < 7.4.0)

ibase_affected_rows — Retorna o número de linhas que foram afetados pela consulta anterior

Descrição

ibase_affected_rows ( resource $link_identifier = ? ) : int

Esta função retorna o número de registros que foram afetados pela consulta (INSERT, UPDATE or DELETE) anterior que foi executada no contexto da transação especificada.

Parâmetros

link_identifier

Um contexto de transação. Se link_identifier é um resource de conexão, a transação padrão é usada.

Valor Retornado

Retorna o número de linhas como um inteiro.

Veja Também

  • ibase_query() - Executa uma consulta em um banco de dados InterBase
  • ibase_execute() - Executa uma consulta preparada anteriormente


Initiates a backup task in the service manager and returns immediately

  • « ibase_affected_rows
  • ibase_blob_add »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Initiates a backup task in the service manager and returns immediately

ibase_backup

(PHP 5, PHP 7 < 7.4.0)

ibase_backup — Initiates a backup task in the service manager and returns immediately

Descrição

ibase_backup ( resource $service_handle , string $source_db , string $dest_file , int $options = 0 , bool $verbose = false ) : mixed

This function passes the arguments to the (remote) database server. There it starts a new backup process. Therefore you won't get any responses.

Parâmetros

service_handle

A previously opened connection to the database server.

source_db

The absolute file path to the database on the database server. You can also use a database alias.

dest_file

The path to the backup file on the database server.

options

Additional options to pass to the database server for backup. The options parameter can be a combination of the following constants: IBASE_BKP_IGNORE_CHECKSUMS, IBASE_BKP_IGNORE_LIMBO, IBASE_BKP_METADATA_ONLY, IBASE_BKP_NO_GARBAGE_COLLECT, IBASE_BKP_OLD_DESCRIPTIONS, IBASE_BKP_NON_TRANSPORTABLE or IBASE_BKP_CONVERT. Read the section about Constantes pré-definidas for further information.

verbose

Since the backup process is done on the database server, you don't have any chance to get its output. This argument is useless.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Since the backup process is done on the (remote) server, this function just passes the arguments to it. While the arguments are legal, you won't get false.

Exemplos

Exemplo #1 ibase_backup() example

<?php

// Attach to database server by ip address and port
$service = ibase_service_attach ('10.1.11.200/3050', 'sysdba', 'masterkey');

// Start the backup process on database server
// Backup employee database using full path to /srv/backup/employees.fbk
// Don't use any special arguments
ibase_backup($service, '/srv/firebird/employees.fdb', '/srv/backup/employees.fbk');

// Free the attached connection
ibase_service_detach ($service);
?>

Exemplo #2 ibase_backup() example with arguments

<?php

// Attach to database server by name and default port
$service = ibase_service_attach ('fb-server.contoso.local', 'sysdba', 'masterkey');

// Start the backup process on database server
// Backup employee database using alias to /srv/backup/employees.fbk.
// Backup only the metadata. Don't create a transportable backup.
ibase_backup($service, 'employees.fdb', '/srv/backup/employees.fbk', IBASE_BKP_METADATA_ONLY | IBASE_BKP_NON_TRANSPORTABLE);

// Free the attached connection
ibase_service_detach ($service);
?>

Veja Também

  • ibase_restore() - Initiates a restore task in the service manager and returns immediately


Adiciona dados em um blob recém criado

  • « ibase_backup
  • ibase_blob_cancel »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Adiciona dados em um blob recém criado

ibase_blob_add

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_add — Adiciona dados em um blob recém criado

Descrição

ibase_blob_add ( resource $blob_handle , string $data ) : void

ibase_blob_add() adiciona dados em um blob criado com ibase_blob_create().

Parâmetros

blob_handle

Um manipulador blob aberto com ibase_blob_create().

data

A informação a ser adicionada.

Valor Retornado

Não há valor retornado.

Veja Também

  • ibase_blob_cancel() - Cancela a criação de um blob
  • ibase_blob_close() - Fecha o blob
  • ibase_blob_create() - Cria um novo blob para adicionar dados
  • ibase_blob_import() - Cria um blob, copia um arquivo para ele e o fecha


Cancela a criação de um blob

  • « ibase_blob_add
  • ibase_blob_close »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Cancela a criação de um blob

ibase_blob_cancel

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_cancel — Cancela a criação de um blob

Descrição

ibase_blob_cancel ( resource $blob_handle ) : bool

Esta função irá descartar um BLOB se ele já não foi fechado por ibase_blob_close().

Parâmetros

blob_handle

A BLOB handle opened with ibase_create_blob().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ibase_blob_close() - Fecha o blob
  • ibase_blob_create() - Cria um novo blob para adicionar dados
  • ibase_blob_import() - Cria um blob, copia um arquivo para ele e o fecha


Fecha o blob

  • « ibase_blob_cancel
  • ibase_blob_create »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Fecha o blob

ibase_blob_close

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_close — Fecha o blob

Descrição

ibase_blob_close ( resource $blob_handle ) : mixed

Esta função fecha um BLOB que tenha sido aberto para leitura com ibase_open_blob() ou aberto para escrita com ibase_create_blob().

Parâmetros

blob_handle

Um manipulador BLOB aberto com ibase_create_blob() ou ibase_open_blob().

Valor Retornado

Se o BLOB foi lido, esta função retorna true em sucesso, se o BLOB foi escrito, esta função retorna uma string contendo o id do BLOB que foi definido para ele pelo banco de dados. Em falha, esta função retorna false.

Veja Também

  • ibase_blob_cancel() - Cancela a criação de um blob
  • ibase_blob_open() - Abre um blob para obter partes de dados


Cria um novo blob para adicionar dados

  • « ibase_blob_close
  • ibase_blob_echo »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Cria um novo blob para adicionar dados

ibase_blob_create

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_create — Cria um novo blob para adicionar dados

Descrição

ibase_blob_create ( resource $link_identifier = ? ) : resource

ibase_blob_create() cria um novo BLOB para ser prenchido com dados.

Parâmetros

link_identifier

Um link identificador do InterBase. Se omitido, o último link aberto é usado.

Valor Retornado

Retorna um manipulador BLOB para posteriormente ser usado com ibase_blob_add() ou false em caso de falha.

Veja Também

  • ibase_blob_add() - Adiciona dados em um blob recém criado
  • ibase_blob_cancel() - Cancela a criação de um blob
  • ibase_blob_close() - Fecha o blob
  • ibase_blob_import() - Cria um blob, copia um arquivo para ele e o fecha


Envia o conteúdo do blob para o browser

  • « ibase_blob_create
  • ibase_blob_get »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Envia o conteúdo do blob para o browser

ibase_blob_echo

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_echo — Envia o conteúdo do blob para o browser

Descrição

ibase_blob_echo ( resource $link_identifier = ? , string $blob_id ) : bool

Esta função abre um BLOB para leitura e envia seu conteúdo diretamente para a saída padrão (o browser, na maioria dos casos).

Parâmetros

link_identifier

Um link identificador InterBase. Se omitido, o último link aberto é usado.

blob_id

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ibase_blob_open() - Abre um blob para obter partes de dados
  • ibase_blob_close() - Fecha o blob
  • ibase_blob_get() - Retorna uma quantidade especificada de bytes de dados de um blob aberto


Retorna uma quantidade especificada de bytes de dados de um blob aberto

  • « ibase_blob_echo
  • ibase_blob_import »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Retorna uma quantidade especificada de bytes de dados de um blob aberto

ibase_blob_get

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_get — Retorna uma quantidade especificada de bytes de dados de um blob aberto

Descrição

ibase_blob_get ( resource $blob_handle , int $len ) : string

Esta função retorna a quantidade len de bytes de um BLOB que foi aberto para leitura com ibase_blob_open().

Nota:

Não é possível ler de um BLOB que não foi aberto para escrita por ibase_blob_create().

Parâmetros

blob_handle

Um manipulador de BLOB aberto com ibase_blob_open().

len

Tamanho da informação retornada.

Valor Retornado

Retorna no máximo len bytes de um BLOB, ou false em falha.

Exemplos

Exemplo #1 Exemplo da ibase_blob_get()

<?php
$result    = ibase_query("SELECT blob_value FROM table");
$data      = ibase_fetch_object($result);
$blob_data = ibase_blob_info($data->BLOB_VALUE);
$blob_hndl = ibase_blob_open($data->BLOB_VALUE);
echo         ibase_blob_get($blob_hndl, $blob_data[0]);
?>
Enquanto este exemplo não faz muito mais do que um 'ibase_blob_echo($data->BLOB_VALUE)' faria, ele mostra a você como obter a informação em uma $variavel para você poder manipular como quiser.

Veja Também

  • ibase_blob_open() - Abre um blob para obter partes de dados
  • ibase_blob_close() - Fecha o blob
  • ibase_blob_echo() - Envia o conteúdo do blob para o browser


Cria um blob, copia um arquivo para ele e o fecha

  • « ibase_blob_get
  • ibase_blob_info »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Cria um blob, copia um arquivo para ele e o fecha

ibase_blob_import

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_import — Cria um blob, copia um arquivo para ele e o fecha

Descrição

ibase_blob_import ( resource $link_identifier , resource $file_handle ) : string
ibase_blob_import ( resource $file_handle ) : string

Este função cria um BLOB, lê um arquivo inteiro para dentro dele, fecha, e retorna o id do BLOB.

Parâmetros

link_identifier

Um link identificador InterBase. Se omitido, o último link aberto é usado.

file_handle

O manipulador de arquivo é um manipulador retornado por fopen().

Valor Retornado

Retorna o id do BLOB em sucesso, ou false em erro.

Exemplos

Exemplo #1 Exemplo da ibase_blob_import()

<?php
$dbh = ibase_connect($host, $username, $password);
$filename = '/tmp/bar';

$fd = fopen($filename, 'r');
if ($fd) {

    $blob = ibase_blob_import($dbh, $fd);
    fclose($fd);

    if (!is_string($blob)) {
        // import failed
    } else {
        $query = "INSERT INTO foo (name, data) VALUES ('$filename', ?)";
        $prepared = ibase_prepare($dbh, $query);
        if (!ibase_execute($prepared, $blob)) {
            // record insertion failed
        }
    }
} else {
    // unable to open the data file
}
?>

Veja Também

  • ibase_blob_add() - Adiciona dados em um blob recém criado
  • ibase_blob_cancel() - Cancela a criação de um blob
  • ibase_blob_close() - Fecha o blob
  • ibase_blob_create() - Cria um novo blob para adicionar dados


Retorna o tamanho do blob e outras informações úteis

  • « ibase_blob_import
  • ibase_blob_open »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Retorna o tamanho do blob e outras informações úteis

ibase_blob_info

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_info — Retorna o tamanho do blob e outras informações úteis

Descrição

ibase_blob_info ( resource $link_identifier , string $blob_id ) : array
ibase_blob_info ( string $blob_id ) : array

Retorna o tamanho do BLOB e outras informações úteis.

Parâmetros

link_identifier

Um link identificador InterBase. Se omitido, o último link aberto é usado.

blob_id

Um id de BLOB.

Valor Retornado

Retorna uma matriz contendo informações sobre um BLOB. A informação retornada consiste no tamanho do BLOB, o número de seguimentos que ele contém, o tamanho do maior seguimento e quando é um BLOB de stream ou um BLOB seguimentado.


Abre um blob para obter partes de dados

  • « ibase_blob_info
  • ibase_close »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Abre um blob para obter partes de dados

ibase_blob_open

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_open — Abre um blob para obter partes de dados

Descrição

ibase_blob_open ( resource $link_identifier , string $blob_id ) : resource
ibase_blob_open ( string $blob_id ) : resource

Abre um BLOB existente para leitura.

Parâmetros

link_identifier

Um link identificador InterBase. Se omitido, o último link aberto é usado.

blob_id

Um id de BLOB.

Valor Retornado

Retorna um manipulador de BLOB para uso posterior com ibase_blob_get() ou false em caso de falha.

Veja Também

  • ibase_blob_close() - Fecha o blob
  • ibase_blob_echo() - Envia o conteúdo do blob para o browser
  • ibase_blob_get() - Retorna uma quantidade especificada de bytes de dados de um blob aberto


Fecha uma conexão com um banco de dados InterBase

  • « ibase_blob_open
  • ibase_commit_ret »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Fecha uma conexão com um banco de dados InterBase

ibase_close

(PHP 5, PHP 7 < 7.4.0)

ibase_close — Fecha uma conexão com um banco de dados InterBase

Descrição

ibase_close ( resource $connection_id = ? ) : bool

Fecha a conexão com um banco de dados InterBase que esta associado ao id de conexão retornado por ibase_connect(). A transação padrão na conexão é salva, outras transações são desfeitas.

Parâmetros

connection_id

Um identificador de link InterBase retornado pela ibase_connect(). Se omitido, o último link aberto é usado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ibase_connect() - Abre uma conexão com um banco de dados InterBase
  • ibase_pconnect() - Abre uma conexão persistente com um banco de dados InterBase


Grava uma transação sem fechá-la

  • « ibase_close
  • ibase_commit »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Grava uma transação sem fechá-la

ibase_commit_ret

(PHP 5, PHP 7 < 7.4.0)

ibase_commit_ret — Grava uma transação sem fechá-la

Descrição

ibase_commit_ret ( resource $link_or_trans_identifier = ? ) : bool

Grava uma transação sem fechá-la.

Parâmetros

link_or_trans_identifier

Se for utilizada sem um argumento, esta função grava a transação padrão da conexão padrão. Se o argumento é um identificador de conexão, a transação padrão da conexão correspondente será gravada. Se o argumento for um identificador de transação, a transação correspondente será salva. O contexto da transação será retido, então comandos executados a partir desta transação não seram invalidados.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Grava uma transação

  • « ibase_commit_ret
  • ibase_connect »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Grava uma transação

ibase_commit

(PHP 5, PHP 7 < 7.4.0)

ibase_commit — Grava uma transação

Descrição

ibase_commit ( resource $link_or_trans_identifier = ? ) : bool

Grava uma transação.

Parâmetros

link_or_trans_identifier

Se for chamada sem argumento, esta função grava a transação padrão na conexão padrão. Se o argumento é um identificador de conexão, a transação padrão na conexão correspondente será gravada. Se o argumento é um identificador de transação, a transação correspondente será gravada.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Abre uma conexão com um banco de dados InterBase

  • « ibase_commit
  • ibase_db_info »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Abre uma conexão com um banco de dados InterBase

ibase_connect

(PHP 5, PHP 7 < 7.4.0)

ibase_connect — Abre uma conexão com um banco de dados InterBase

Descrição

ibase_connect ( string $database = ? , string $username = ? , string $password = ? , string $charset = ? , int $buffers = ? , int $dialect = ? , string $role = ? , int $sync = ? ) : resource

Estabelece uma conexão com um banco de dados InterBase.

No caso de uma segunda chamada a ibase_connect() com os mesmos argumntos, não será criada uma nova conexão, mas ao invés, será retornado o identificador da conexão já aberta. A conexão com o servidor será fechada assim que terminar a execução do script, a menos que seja fechada explicitamente pela chamada de ibase_close().

Parâmetros

database

O argumento database deve ser um caminho válido para o arquivo do banco de dados no servidor no qual ele reside. Se o servidor não for local, ele deve ser prefixado com 'hostname:' (TCP/IP), '//hostname/' (NetBEUI) ou 'hostname@' (IPX/SPX), dependendo do protocolo de conexão usado.

username

O nome de usuário. Pode ser definido com a diretiva ibase.default_user do php.ini

password

A senha para username. Poe ser definida com a diretiva ibase.default_password do php.ini.

charset

charset é o conjunto de caracteres padrão para o banco de dados.

buffers

buffers é o número de buffers do banco de dados a serem alocados para o cache do lado do servidor. Se 0 ou omitido, o servidor escolhe o seu próprio padrão.

dialect

dialect define o dialeto SQL padrão para qualquer comand executado na conexão, e o padrão é o mais alto suportado pelas bibliotecas do cliente. Funciona apenas com InterBase 6 e superior.

role

Funcional apenas com InterBase 5 e superior.

sync

Valor Retornado

Retorna um identificador de conexão InterBase em caso de sucesso, ou false em caso de erro.

Erros

Se você ter um erro parecido com "arithmetic exception, numeric overflow, ou string truncation. Cannot transliterate character between character sets" (isto ocorre quando você tenta usar algum caractere com acento) ao usar esta e depois ibase_query() você deve definir seu conjunto de caracteres (ex. ISO8859_1 ou seu conjunto de caracteres atual).

Changelog

Versão | Descrição
4.0.0 | Os parâmetros buffers, dialect e role foram adicionados.

Exemplos

Exemplo #1 Exemplo ibase_connect()

<?php
$host = 'localhost:/path/to/your.gdb';

$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
    echo $row->email, "\n";
}
ibase_free_result($sth);
ibase_close($dbh);
?>

Veja Também

  • ibase_pconnect() - Abre uma conexão persistente com um banco de dados InterBase
  • ibase_close() - Fecha uma conexão com um banco de dados InterBase


Request statistics about a database

  • « ibase_connect
  • ibase_delete_user »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Request statistics about a database

ibase_db_info

(PHP 5, PHP 7 < 7.4.0)

ibase_db_info — Request statistics about a database

Descrição

ibase_db_info ( resource $service_handle , string $db , int $action , int $argument = 0 ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Exclui um usuário de um banco de dados seguro (apenas para o IB6 ou posterior)

  • « ibase_db_info
  • ibase_drop_db »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Exclui um usuário de um banco de dados seguro (apenas para o IB6 ou posterior)

ibase_delete_user

(PHP 5, PHP 7 < 7.4.0)

ibase_delete_user — Exclui um usuário de um banco de dados seguro (apenas para o IB6 ou posterior)

Descrição

ibase_delete_user ( resource $service_handle , string $user_name ) : bool

PHP 4 uses server, dba_user_name and dba_user_password instead of service_handle parameter.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ibase_add_user() - Adiciona um usuário a um banco de dados seguro (apenas para IB6 ou posterior)
  • ibase_modify_user() - Modifica um usuário para um banco de dados seguro (somente para IB6 ou posterior)


Exclui um banco de dados

  • « ibase_delete_user
  • ibase_errcode »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Exclui um banco de dados

ibase_drop_db

(PHP 5, PHP 7 < 7.4.0)

ibase_drop_db — Exclui um banco de dados

Descrição

ibase_drop_db ( resource $connection = ? ) : bool

Esta função exclui um banco de dados que foi aberto por ibase_connect() ou ibase_pconnect(). O banco de dados é fechado e excluído do servidor.

Parâmetros

connection

Um link identificador do InterBase. Se omitido, o último link aberto é assumido.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ibase_connect() - Abre uma conexão com um banco de dados InterBase
  • ibase_pconnect() - Abre uma conexão persistente com um banco de dados InterBase


Retorna um código de erro

  • « ibase_drop_db
  • ibase_errmsg »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Retorna um código de erro

ibase_errcode

(PHP 5, PHP 7 < 7.4.0)

ibase_errcode — Retorna um código de erro

Descrição

ibase_errcode ( ) : int

Retorna o código de erro que resultou da função do InterBase mais recentemente utilizada.

Valor Retornado

Returns the error code as an integer, or false if no error occured.

Veja Também

  • ibase_errmsg() - Retorna uma mensagem de erro


Retorna uma mensagem de erro

  • « ibase_errcode
  • ibase_execute »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Retorna uma mensagem de erro

ibase_errmsg

(PHP 5, PHP 7 < 7.4.0)

ibase_errmsg — Retorna uma mensagem de erro

Descrição

ibase_errmsg ( ) : string

Retorna a mensagem de erro que resultou da função do InterBase mais recentemente utilizada.

Valor Retornado

Retorna a mensagem de erro como uma string, ou false se nenhum erro ocorreu.

Veja Também

  • ibase_errcode() - Retorna um código de erro


Executa uma consulta preparada anteriormente

  • « ibase_errmsg
  • ibase_fetch_assoc »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Executa uma consulta preparada anteriormente

ibase_execute

(PHP 5, PHP 7 < 7.4.0)

ibase_execute — Executa uma consulta preparada anteriormente

Descrição

ibase_execute ( resource $query , mixed $bind_arg = ? , mixed $... = ? ) : resource

Executa uma consulta preparada por ibase_prepare().

Isto é muito mais efetivo do que usar ibase_query() se você estiver repetindo o mesmo tipo de consulta muitas vezes apenas mudando alguns parâmetros.

Parâmetros

query

Uma preparada query do InterBase por ibase_prepare().

bind_arg

...

Valor Retornado

Se houver um erro na consulta retorna false. Se for bem sucedida e tiver um conjunto de resultados (possivelmente vazio), por exemplo de uma consulta SELECT, retorna um identificador de consulta. Se a consulta for bem sucedida e não houverem resultados true.

Nota:

No PHP 5.0.0 e posterior, esta função retorna o número de linhas afetadas pela consulta (se > 0 e aplicado ao tipo de comando). A consulta que tenha sido bem sucedida mas não afete nenhuma linha(ex. um UPDATE de um registro que não exista) irá retornar true.

Exemplos

Exemplo #1 Exemplo da ibase_execute()

<?php
    $dbh = ibase_connect($host, $username, $password);
    $updates = array(
        1 => 'Eric',
        5 => 'Filip',
        7 => 'Larry'
    );

    $query = ibase_prepare($dbh, "UPDATE FOO SET BAR = ? WHERE BAZ = ?");

    foreach ($updates as $baz => $bar) {
        ibase_execute($query, $bar, $baz);
    }

?>

Veja Também

  • ibase_query() - Executa uma consulta em um banco de dados InterBase


Obtém o resultado de uma linha da consulta como uma matriz associativa

  • « ibase_execute
  • ibase_fetch_object »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Obtém o resultado de uma linha da consulta como uma matriz associativa

ibase_fetch_assoc

(PHP 5, PHP 7 < 7.4.0)

ibase_fetch_assoc — Obtém o resultado de uma linha da consulta como uma matriz associativa

Descrição

ibase_fetch_assoc ( resource $result , int $fetch_flag = ? ) : array

Obtém uma linha de resultado de uma query com um array associativo.

ibase_fetch_assoc() obtém uma linha dos dados de result. Se duas ou mais colunas do resultado tiverem o mesmo nome de campo, a última coluna terá preferencia. Para acessar a outra(s) coluna de mesmo nome, você deverá acessar os resultados usando índice numérico com ibase_fetch_row() ou usar apelidos na sua consulta.

Parâmetros

result

O manipulador de resultado.

fetch_flag

fetch_flag é uma combinação das constantes IBASE_TEXT e IBASE_UNIXTIME. Passando IBASE_TEXT irá fazer com que esta função retorne o conteúdo de BLOB, ao invés do id do BLOB. Passando IBASE_UNIXTIME irá fazer esta função retornar valores de data/hora como Unix timestamps ao invés de strings formatadas.

Valor Retornado

Retorna uma matriz associativa que corresponde a linha obtida. As próximas chamadas a função irão a próxima linha no conjunto de resultados, ou false se não houverem mais linhas.

Veja Também

  • ibase_fetch_row() - Obtém uma linha de um banco de dados InterBase
  • ibase_fetch_object() - Obtém uma linha como um objeto de um banco de dados InterBase


Obtém uma linha como um objeto de um banco de dados InterBase

  • « ibase_fetch_assoc
  • ibase_fetch_row »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Obtém uma linha como um objeto de um banco de dados InterBase

ibase_fetch_object

(PHP 5, PHP 7 < 7.4.0)

ibase_fetch_object — Obtém uma linha como um objeto de um banco de dados InterBase

Descrição

ibase_fetch_object ( resource $result_id , int $fetch_flag = ? ) : object

Obtém uma linha como pseudo-objeto a partir de um dado identificador de resultado.

Chamadas subseqüêntes a ibase_fetch_object() retornam a próxima linha no conjunto de resultados.

Parâmetros

result_id

Um identificador de resultado InterBase obtido por ibase_query() ou ibase_execute().

fetch_flag

fetch_flag é uma combinação das constantes IBASE_TEXT e IBASE_UNIXTIME. Passando IBASE_TEXT irá fazer com que esta função retorne o conteúdo de BLOB, ao invés do id do BLOB. Passando IBASE_UNIXTIME irá fazer esta função retornar valores de data/hora como Unix timestamps ao invés de strings formatadas.

Valor Retornado

Retorna um objeto com a próxima linha de informação, ou false se não houver mais linhas.

Exemplos

Exemplo #1 ibase_fetch_object() example

<?php
    $dbh = ibase_connect($host, $username, $password);
    $stmt = 'SELECT * FROM tblname';
    $sth = ibase_query($dbh, $stmt);
    while ($row = ibase_fetch_object($sth)) {
        echo $row->email . "\n";
    }
    ibase_close($dbh);
?>

Veja Também

  • ibase_fetch_row() - Obtém uma linha de um banco de dados InterBase
  • ibase_fetch_assoc() - Obtém o resultado de uma linha da consulta como uma matriz associativa


Obtém uma linha de um banco de dados InterBase

  • « ibase_fetch_object
  • ibase_field_info »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Obtém uma linha de um banco de dados InterBase

ibase_fetch_row

(PHP 5, PHP 7 < 7.4.0)

ibase_fetch_row — Obtém uma linha de um banco de dados InterBase

Descrição

ibase_fetch_row ( resource $result_identifier , int $fetch_flag = ? ) : array

ibase_fetch_row() fetches one row of data from the given result set.

A próxima chamada a ibase_fetch_row() retorna a próxima linha no conjunto de resultados, ou false se não houverem mais linhas.

Parâmetros

result_identifier

Um identificador de resultado InterBase.

fetch_flag

fetch_flag é uma combinação das constantes IBASE_TEXT e IBASE_UNIXTIME. Passando IBASE_TEXT irá fazer com que esta função retorne o conteúdo de BLOB, ao invés do id do BLOB. Passando IBASE_UNIXTIME irá fazer esta função retornar valores de data/hora como Unix timestamps ao invés de strings formatadas.

Valor Retornado

Retorna um array que corresponde a linha obtida, ou false se não houver mais linhas. Cada coluna de resultado é armazenado em uma posição do array, iniciando no índice 0.

Veja Também

  • ibase_fetch_assoc() - Obtém o resultado de uma linha da consulta como uma matriz associativa
  • ibase_fetch_object() - Obtém uma linha como um objeto de um banco de dados InterBase


Obtém informação sobre um campo

  • « ibase_fetch_row
  • ibase_free_event_handler »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Obtém informação sobre um campo

ibase_field_info

(PHP 5, PHP 7 < 7.4.0)

ibase_field_info — Obtém informação sobre um campo

Descrição

ibase_field_info ( resource $result , int $field_number ) : array

Retorna uma matriz com informações sobre um campo após uma consulta SELECT ter sido executada.

Parâmetros

result

Um identificador de resultado do InterBase.

field_number

Índice do campo.

Valor Retornado

Retorna um array com as seguintes chaves: name, alias, relation, length e type.

Exemplos

Exemplo #1 Exemplo da ibase_field_info()

<?php
    $rs = ibase_query("SELECT * FROM tablename");
    $coln = ibase_num_fields($rs);
    for ($i = 0; $i < $coln; $i++) {
        $col_info = ibase_field_info($rs, $i);
        echo "name: ". $col_info['name']. "\n";
        echo "alias: ". $col_info['alias']. "\n";
        echo "relation: ". $col_info['relation']. "\n";
        echo "length: ". $col_info['length']. "\n";
        echo "type: ". $col_info['type']. "\n";
    }
?>

Veja Também

  • ibase_num_fields() - Obtém o número de campos em um conjunto de resultados


Cancela um manipulador de eventos registrado

  • « ibase_field_info
  • ibase_free_query »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Cancela um manipulador de eventos registrado

ibase_free_event_handler

(PHP 5, PHP 7 < 7.4.0)

ibase_free_event_handler — Cancela um manipulador de eventos registrado

Descrição

ibase_free_event_handler ( resource $event ) : bool

Esta função faz com que o manipulador de eventos registrado especificado por event seja cancelado. A função de callback não será mais chamada para os eventos que estava registrada para manipular.

Parâmetros

event

Um resource de evento criado com ibase_set_event_handler().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ibase_set_event_handler() - Registra uma função de callback para ser chamada quando eventos são postados


Libera a memória alocada para uma consulta preparada

  • « ibase_free_event_handler
  • ibase_free_result »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Libera a memória alocada para uma consulta preparada

ibase_free_query

(PHP 5, PHP 7 < 7.4.0)

ibase_free_query — Libera a memória alocada para uma consulta preparada

Descrição

ibase_free_query ( resource $query ) : bool

Libera uma query preparada.

Parâmetros

query

Uma query preparada com ibase_prepare().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Libera um conjunto de resultados

  • « ibase_free_query
  • ibase_gen_id »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Libera um conjunto de resultados

ibase_free_result

(PHP 5, PHP 7 < 7.4.0)

ibase_free_result — Libera um conjunto de resultados

Descrição

ibase_free_result ( resource $result_identifier ) : bool

Libera um conjunto de resultado.

Parâmetros

result_identifier

Um conjunto de resultado criado pela ibase_query() ou ibase_execute().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Increments the named generator and returns its new value

  • « ibase_free_result
  • ibase_maintain_db »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Increments the named generator and returns its new value

ibase_gen_id

(PHP 5, PHP 7 < 7.4.0)

ibase_gen_id — Increments the named generator and returns its new value

Descrição

ibase_gen_id ( string $generator , int $increment = 1 , resource $link_identifier = null ) : mixed
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Valor Retornado

Returns new generator value as integer, or as string if the value is too big.


Execute a maintenance command on the database server

  • « ibase_gen_id
  • ibase_modify_user »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Execute a maintenance command on the database server

ibase_maintain_db

(PHP 5, PHP 7 < 7.4.0)

ibase_maintain_db — Execute a maintenance command on the database server

Descrição

ibase_maintain_db ( resource $service_handle , string $db , int $action , int $argument = 0 ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Modifica um usuário para um banco de dados seguro (somente para IB6 ou posterior)

  • « ibase_maintain_db
  • ibase_name_result »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Modifica um usuário para um banco de dados seguro (somente para IB6 ou posterior)

ibase_modify_user

(PHP 5, PHP 7 < 7.4.0)

ibase_modify_user — Modifica um usuário para um banco de dados seguro (somente para IB6 ou posterior)

Descrição

ibase_modify_user ( resource $service_handle , string $user_name , string $password , string $first_name = ? , string $middle_name = ? , string $last_name = ? ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

O PHP 4 usa server, dba_user_name e dba_user_password ao invés do parâmetro service_handle.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ibase_add_user() - Adiciona um usuário a um banco de dados seguro (apenas para IB6 ou posterior)
  • ibase_delete_user() - Exclui um usuário de um banco de dados seguro (apenas para o IB6 ou posterior)


Define um nome para um conjunto de resultados

  • « ibase_modify_user
  • ibase_num_fields »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Define um nome para um conjunto de resultados

ibase_name_result

(PHP 5, PHP 7 < 7.4.0)

ibase_name_result — Define um nome para um conjunto de resultados

Descrição

ibase_name_result ( resource $result , string $name ) : bool

Esta função define um nome para um conjunto de resultados. Este nome pode ser usado posteriormente em comandos UPDATE|DELETE ... WHERE CURRENT OF name.

Parâmetros

result

Um conjunto de resultado do InterBase.

name

O nome a ser atribuído.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da ibase_name_result()

<?php
 $result = ibase_query("SELECT field1,field2 FROM table FOR UPDATE");
    ibase_name_result($result, "my_cursor");

    $updateqry = ibase_prepare("UPDATE table SET field2 = ? WHERE CURRENT OF my_cursor");

    for ($i = 0; ibase_fetch_row($result); ++$i) {
        ibase_execute($updateqry, $i);
    }
?>

Veja Também

  • ibase_prepare() - Prepara uma query para execução posterior
  • ibase_execute() - Executa uma consulta preparada anteriormente


Obtém o número de campos em um conjunto de resultados

  • « ibase_name_result
  • ibase_num_params »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Obtém o número de campos em um conjunto de resultados

ibase_num_fields

(PHP 5, PHP 7 < 7.4.0)

ibase_num_fields — Obtém o número de campos em um conjunto de resultados

Descrição

ibase_num_fields ( resource $result_id ) : int

Obtém o número de campos em um conjunto de resultados.

Parâmetros

result_id

Um identificador de resultado InterBase.

Valor Retornado

Retorna o número de campos como um inteiro.

Exemplos

Exemplo #1 Exemplo da ibase_num_fields()

<?php
    $rs = ibase_query("SELECT * FROM tablename");
    $coln = ibase_num_fields($rs);
    for ($i = 0; $i < $coln; $i++) {
        $col_info = ibase_field_info($rs, $i);
        echo "name: " . $col_info['name'] . "\n";
        echo "alias: " . $col_info['alias'] . "\n";
        echo "relation: " . $col_info['relation'] . "\n";
        echo "length: " . $col_info['length'] . "\n";
        echo "type: " . $col_info['type'] . "\n";
    }
?>

Veja Também

  • ibase_field_info() - Obtém informação sobre um campo


Retorna o número de parâmetros em uma consulta preparada

  • « ibase_num_fields
  • ibase_param_info »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Retorna o número de parâmetros em uma consulta preparada

ibase_num_params

(PHP 5, PHP 7 < 7.4.0)

ibase_num_params — Retorna o número de parâmetros em uma consulta preparada

Descrição

ibase_num_params ( resource $query ) : int

Esta função retorna o número de parâmetros em uma consulta preparada especificada query. Este é o numero de argumentos que devem estar presentes quando usar a função ibase_execute().

Parâmetros

query

O manipulador da query preparada.

Valor Retornado

Retorna o número de parâmetros como um inteiro.

Veja Também

  • ibase_prepare() - Prepara uma query para execução posterior
  • ibase_param_info() - Retorna informação sobre um parâmetro em uma consulta preparada


Retorna informação sobre um parâmetro em uma consulta preparada

  • « ibase_num_params
  • ibase_pconnect »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Retorna informação sobre um parâmetro em uma consulta preparada

ibase_param_info

(PHP 5, PHP 7 < 7.4.0)

ibase_param_info — Retorna informação sobre um parâmetro em uma consulta preparada

Descrição

ibase_param_info ( resource $query , int $param_number ) : array

Retorna uma matriz com informações sobre um parâmetro após a consulta ter sido preparada.

Parâmetros

query

Um manipulador de query preparada do InterBase.

param_number

O índice do parâmetro.

Valor Retornado

Retorna um array com as seguintes chaves: name, alias, relation, length and type.

Veja Também

  • ibase_field_info() - Obtém informação sobre um campo
  • ibase_num_params() - Retorna o número de parâmetros em uma consulta preparada


Abre uma conexão persistente com um banco de dados InterBase

  • « ibase_param_info
  • ibase_prepare »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Abre uma conexão persistente com um banco de dados InterBase

ibase_pconnect

(PHP 5, PHP 7 < 7.4.0)

ibase_pconnect — Abre uma conexão persistente com um banco de dados InterBase

Descrição

ibase_pconnect ( string $database = ? , string $username = ? , string $password = ? , string $charset = ? , int $buffers = ? , int $dialect = ? , string $role = ? , int $sync = ? ) : resource

Abre uma conexão persistente com um banco de dados InterBase

ibase_pconnect() aje muito parecido com ibase_connect() com duas diferenças maiores.

Primeiro, ao conectar, a função irá primeiro tentar encontrar uma conexão (persistente) que já esteja aberta com os mesmos parâmetros. Se uma for encontrada, um identidicador para ela será retornado ao invés de abrir uma nova conexão.

Segundo, a conexão ao servidor InterBase não será fechada quando a execução do script terminar. Ao invés, a conexão permanecerá aberta para uso futuro (ibase_close() não irá fechar conexões criadas por ibase_pconnect()). Este tipo de conexão é então chamado de "persistente".

Parâmetros

database

O argumento database deve ser um caminho válido para o arquivo do banco de dados no sevidor no qual reside. Se o servidor não for local, ele deve ser prefixado com 'hostname:' (TCP/IP), '//hostname/' (NetBEUI) ou 'hostname@' (IPX/SPX), dependendo do protocolo de conexão usado.

username

O nome de usuário, pode ser definido com a diretiva ibase.default_user do php.ini.

password

A senha para username. Pode ser definida com a diretiva ibase.default_password do php.ini.

charset

charset é o conjunto de caracteres padrão para o banco de dados.

buffers

buffers é o número de buffer do banco de dados a serem alocados para o cache do lado do servidor. Se for 0 ou omitido, o servidor escolhe seu próprio padrão.

dialect

dialect define o dialeto SQL padrão para qualquer comand executado na conexão, e o padrão é o mais alto suportado pelas bibliotecas do cliente. Funciona apenas com InterBase 6 e superior.

role

Funcional apenas com o InterBase 5 e posterior.

sync

Valor Retornado

Retorna um identificador de conexão InterBase em caso de sucesso, ou false em caso de erro.

Changelog

Versão | Descrição
4.0.0 | Os parâmetros buffers, dialect e role foram adicionados

Veja Também

  • ibase_close() - Fecha uma conexão com um banco de dados InterBase
  • ibase_connect() - Abre uma conexão com um banco de dados InterBase


Prepara uma query para execução posterior

  • « ibase_pconnect
  • ibase_query »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Prepara uma query para execução posterior

ibase_prepare

(PHP 5, PHP 7 < 7.4.0)

ibase_prepare — Prepara uma query para execução posterior

Descrição

ibase_prepare ( string $query ) : resource
ibase_prepare ( resource $link_identifier , string $query ) : resource
ibase_prepare ( resource $link_identifier , string $trans , string $query ) : resource

Prepara uma consulta para execução posterior. (via ibase_execute()).

Parâmetros

query

Uma query InterBase.

Valor Retornado

Retorna o manipulador da query preparada, ou false em erro.


Executa uma consulta em um banco de dados InterBase

  • « ibase_prepare
  • ibase_restore »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Executa uma consulta em um banco de dados InterBase

ibase_query

(PHP 5, PHP 7 < 7.4.0)

ibase_query — Executa uma consulta em um banco de dados InterBase

Descrição

ibase_query ( resource $link_identifier = ? , string $query , int $bind_args = ? ) : resource

Executa uma consulta em um banco de dados InterBase.

Parâmetros

link_identifier

Um link identificador do InterBase. Se omitido, o último link é usado.

query

Uma query do InterBase.

bind_args

Valor Retornado

Se houver um erro na consulta, retorna false. Se ela for bem sucedida e houver um conjunto de resultados (possivelmente vazio), como o retornado por uma consulta SELECT, retorna um identificados de resultado. Se a consulta for bem sucedida e não houver resultado, retorna true.

Nota:

No PHP 5.0.0 e posterior, esta função irá retornar o número de linhas afetadas pela consulta para INSERT, UPDATE e DELETE. Para manter a compatibilidade com versões anteriores, irá retornar true para estas consultas se ela for bem sucedida sem afetar nenhuma linha.

Erros

Se você tiver um erro como "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (isto acontece quando você tenta usar alguns caracteres com acentos) quando você utilizar esta e depois ibase_query() você deverá definir o conjunto de caracteres (ex. ISO8859_1 ou seu conjunto de caraacteres atual).

Exemplos

Exemplo #1 Exemplo da ibase_query()

<?php

$host = 'localhost:/path/to/your.gdb';

$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';

$sth = ibase_query($dbh, $stmt) or die(ibase_errmsg());

?>

Veja Também

  • ibase_errmsg() - Retorna uma mensagem de erro
  • ibase_fetch_row() - Obtém uma linha de um banco de dados InterBase
  • ibase_fetch_object() - Obtém uma linha como um objeto de um banco de dados InterBase
  • ibase_free_result() - Libera um conjunto de resultados


Initiates a restore task in the service manager and returns immediately

  • « ibase_query
  • ibase_rollback_ret »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Initiates a restore task in the service manager and returns immediately

ibase_restore

(PHP 5, PHP 7 < 7.4.0)

ibase_restore — Initiates a restore task in the service manager and returns immediately

Descrição

ibase_restore ( resource $service_handle , string $source_file , string $dest_db , int $options = 0 , bool $verbose = false ) : mixed

This function passes the arguments to the (remote) database server. There it starts a new restore process. Therefore you won't get any responses.

Parâmetros

service_handle

A previously opened connection to the database server.

source_file

The absolute path on the server where the backup file is located.

dest_db

The path to create the new database on the server. You can also use database alias.

options

Additional options to pass to the database server for restore. The options parameter can be a combination of the following constants: IBASE_RES_DEACTIVATE_IDX, IBASE_RES_NO_SHADOW, IBASE_RES_NO_VALIDITY, IBASE_RES_ONE_AT_A_TIME, IBASE_RES_REPLACE, IBASE_RES_CREATE, IBASE_RES_USE_ALL_SPACE, IBASE_PRP_PAGE_BUFFERS, IBASE_PRP_SWEEP_INTERVAL, IBASE_RES_CREATE. Read the section about Constantes pré-definidas for further information.

verbose

Since the restore process is done on the database server, you don't have any chance to get its output. This argument is useless.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Since the restore process is done on the (remote) server, this function just passes the arguments to it. While the arguments are legal, you won't get false.

Exemplos

Exemplo #1 ibase_restore() example

<?php

// Attach to database server by ip address and port
$service = ibase_service_attach ('10.1.11.200/3050', 'sysdba', 'masterkey');

// Start the restore process on database server
// Restore employee backup to the new emps.fdb database
// Don't use any special arguments
ibase_restore($service, '/srv/backup/employees.fbk', '/srv/firebird/emps.fdb');

// Free the attached connection
ibase_service_detach ($service);
?>

Exemplo #2 ibase_restore() example with arguments

<?php

// Attach to database server by name and default port
$service = ibase_service_attach ('fb-server.contoso.local', 'sysdba', 'masterkey');

// Start the restore process on database server
// Restore to employee database using alias.
// Restore without indixes. Replace existing database.
ibase_restore($service, '/srv/backup/employees.fbk', 'employees.fdb', IBASE_RES_DEACTIVATE_IDX | IBASE_RES_REPLACE);

// Free the attached connection
ibase_service_detach ($service);
?>

Veja Também

  • ibase_backup() - Initiates a backup task in the service manager and returns immediately


Desfaz uma transação sem fechá-la

  • « ibase_restore
  • ibase_rollback »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Desfaz uma transação sem fechá-la

ibase_rollback_ret

(PHP 5, PHP 7 < 7.4.0)

ibase_rollback_ret — Desfaz uma transação sem fechá-la

Descrição

ibase_rollback_ret ( resource $link_or_trans_identifier = ? ) : bool

Desfaz a transação sem fechá-la.

Parâmetros

link_or_trans_identifier

Se chamado sem um argumento, esta função desfaz a transação padrão do link padrão. Se o argumento é um identificador de conexão, a transação padrão da conexão correspondente será desfeita. Se o argumento é um identificador de transação, a transação correspondente será desfeita. O contexto da transação será retido, então comando executados de dentro desta transação não serão invalidados.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Desfaz uma transação

  • « ibase_rollback_ret
  • ibase_server_info »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Desfaz uma transação

ibase_rollback

(PHP 5, PHP 7 < 7.4.0)

ibase_rollback — Desfaz uma transação

Descrição

ibase_rollback ( resource $link_or_trans_identifier = ? ) : bool

Desfaz a transação.

Parâmetros

link_or_trans_identifier

Se chamado sem um argumento, esta função desfaz a transação padrão do link padrão. Se o argumento é um identificador de conexão, a transação padrão para a conexão correspondente será desfeita. Se o argumento é um identificador de transação, a transação correspondente será desfeita.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Request information about a database server

  • « ibase_rollback
  • ibase_service_attach »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Request information about a database server

ibase_server_info

(PHP 5, PHP 7 < 7.4.0)

ibase_server_info — Request information about a database server

Descrição

ibase_server_info ( resource $service_handle , int $action ) : string

Parâmetros

service_handle

A previously created connection to the database server.

action

A valid constant.

Valor Retornado

Returns mixed types depending on context.

Exemplos

Exemplo #1 ibase_service_attach() example

<?php
    // Attach to the remote Firebird server
    if (($service = ibase_service_attach('10.1.1.254/3050', 'sysdba', 'masterkey')) != FALSE) {

        // Successfully attached.

        // Output the info
        echo "Server version: " . ibase_server_info($service, IBASE_SVC_SERVER_VERSION) . "\n";
        echo "Server implementation: " . ibase_server_info($service, IBASE_SVC_IMPLEMENTATION) . "\n";
        echo "Server users: " . print_r(ibase_server_info($service, IBASE_SVC_GET_USERS), true) . "\n";
        echo "Server directory: " . ibase_server_info($service, IBASE_SVC_GET_ENV) . "\n";
        echo "Server lock path: " . ibase_server_info($service, IBASE_SVC_GET_ENV_LOCK) . "\n";
        echo "Server lib path: " . ibase_server_info($service, IBASE_SVC_GET_ENV_MSG) . "\n";
        echo "Path of user db: " . ibase_server_info($service, IBASE_SVC_USER_DBPATH) . "\n";
        echo "Established connections: " . print_r(ibase_server_info($service, IBASE_SVC_SVR_DB_INFO),true) . "\n";

        // Detach from server (disconnect)
        ibase_service_detach($service);

    }
    else {
        // Output message on error
        $conn_error = ibase_errmsg();
        die($conn_error);
    }
?>

O exemplo acima irá imprimir:

Server version: LI-V3.0.4.33054 Firebird 3.0
Server implementation: Firebird/Linux/AMD/Intel/x64
Server users: Array
(
    [0] => Array
        (
            [user_name] => SYSDBA
            [first_name] => Sql
            [middle_name] => Server
            [last_name] => Administrator
            [user_id] => 0
            [group_id] => 0
        )

)

Server directory: /etc/firebird/
Server lock path: /tmp/firebird/
Server lib path: /usr/lib64/firebird/lib/
Path of user db: /var/lib/firebird/secdb/security3.fdb
Established connections: Array
(
    [attachments] => 3
    [databases] => 2
    [0] => /srv/firebird/poss.fdb
    [1] => /srv/firebird/employees.fdb
)


Connect to the service manager

  • « ibase_server_info
  • ibase_service_detach »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Connect to the service manager

ibase_service_attach

(PHP 5, PHP 7 < 7.4.0)

ibase_service_attach — Connect to the service manager

Descrição

ibase_service_attach ( string $host , string $dba_username , string $dba_password ) : resource|false

Parâmetros

host

The name or ip address of the database host. You can define the port by adding '/' and port number. If no port is specified, port 3050 will be used.

dba_username

The name of any valid user.

dba_password

The user's password.

Valor Retornado

Returns a Interbase / Firebird link identifier on success ou false em caso de falha.

Exemplos

Exemplo #1 ibase_service_attach() example

<?php
    // Attach to the remote Firebird server by ip address
    if (($service = ibase_service_attach('10.1.1.199', 'sysdba', 'masterkey')) != FALSE) {

        // Successfully attached.
        // Fetch server version (something like 'LI-V3.0.4.33054 Firebird 3.0')
        $server_version  = ibase_server_info($service, IBASE_SVC_SERVER_VERSION);

        // Fetch server implementation (something like 'Firebird/Linux/AMD/Intel/x64')
        $server_implementation = ibase_server_info($service, IBASE_SVC_IMPLEMENTATION);

        // Detach from server (disconnect)
        ibase_service_detach($service);

        // Output the info
        echo "Server version: " . $server_version . "<br/>";
        echo "Server implementation: " . $server_implementation;
    }
    else {
        // Output message on error
        $conn_error = ibase_errmsg();
        die($conn_error);
    }

?>

Exemplo #2 ibase_service_attach() example using hostname/port syntax

<?php
    // Attach to the remote Firebird server by name. Use Port 3050.
    if (($service = ibase_service_attach('FB-SRV-01.contoso.local/3050', 'sysdba', 'masterkey')) != FALSE) {

        // Successfully attached.
        // Fetch server version (something like 'LI-V3.0.4.33054 Firebird 3.0')
        $server_version  = ibase_server_info($service, IBASE_SVC_SERVER_VERSION);

        // Fetch server implementation (something like 'Firebird/Linux/AMD/Intel/x64')
        $server_implementation = ibase_server_info($service, IBASE_SVC_IMPLEMENTATION);

        // Detach from server (disconnect)
        ibase_service_detach($service);

        // Output the info
        echo "Server version: " . $server_version . "<br/>";
        echo "Server implementation: " . $server_implementation;
    }
    else {
        // Output message on error
        $conn_error = ibase_errmsg();
        die($conn_error);
    }

?>

Veja Também

  • ibase_service_detach() - Disconnect from the service manager


Disconnect from the service manager

  • « ibase_service_attach
  • ibase_set_event_handler »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Disconnect from the service manager

ibase_service_detach

(PHP 5, PHP 7 < 7.4.0)

ibase_service_detach — Disconnect from the service manager

Descrição

ibase_service_detach ( resource $service_handle ) : bool

Parâmetros

service_handle

A previously created connection to the database server.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 ibase_service_detach() example

<?php
    // Attach to the remote Firebird server by ip address
    if (($service = ibase_service_attach('10.1.1.199', 'sysdba', 'masterkey')) != FALSE) {

        // Successfully attached.
        // Fetch server version (something like 'LI-V3.0.4.33054 Firebird 3.0')
        $server_version  = ibase_server_info($service, IBASE_SVC_SERVER_VERSION);

        // Fetch server implementation (something like 'Firebird/Linux/AMD/Intel/x64')
        $server_implementation = ibase_server_info($service, IBASE_SVC_IMPLEMENTATION);

        // Detach from server (disconnect)
        if(ibase_service_detach($service) == FALSE) {
            echo "Error on service detach.";
        }
        else {
            echo "Successfully detached from service.";
        }

    }
    else {
        // Output message on error
        $conn_error = ibase_errmsg();
        die($conn_error);
    }

?>


Registra uma função de callback para ser chamada quando eventos são postados

  • « ibase_service_detach
  • ibase_trans »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Registra uma função de callback para ser chamada quando eventos são postados

ibase_set_event_handler

(PHP 5, PHP 7 < 7.4.0)

ibase_set_event_handler — Registra uma função de callback para ser chamada quando eventos são postados

Descrição

ibase_set_event_handler ( callback $event_handler , string $event_name1 , string $event_name2 = ? , string $... = ? ) : resource
ibase_set_event_handler ( resource $connection , callback $event_handler , string $event_name1 , string $event_name2 = ? , string $... = ? ) : resource

Esta função registra uma função do usuário como gerenciador de eventos para os eventos especificados.

Parâmetros

event_handler

O callback é chamado com o nome do evento e o link do resource como argumento sempre que um dos eventos especificados é postado pelo banco de dados.

O callback precisa retornar false se o manipulador do evento deve ser cancelado. Qualquer outro valor retornado é ignorado. Esta função aceita 15 argumentos de eventos.

event_name1

Um nome do evento.

event_name2

...

Valor Retornado

O valor do retorno é um resource de evento. Este resource pode ser liberado usando a função ibase_free_event_handler().

Exemplos

Exemplo #1 Exemplo da ibase_set_event_handler()

<?php
function event_handler($event_name, $link)
{
    if ($event_name=="NEW ORDER") {
        // process new order
        ibase_query($link, "UPDATE orders SET status='handled'");
    } else if ($event_name=="DB_SHUTDOWN") {
        // free event handler
        return false;
    }
}
ibase_set_event_handler($link,"event_handler","NEW_ORDER","DB_SHUTDOWN");
?>

Veja Também

  • ibase_free_event_handler() - Cancela um manipulador de eventos registrado
  • ibase_wait_event() - Espera por um evento ser postado no banco de dados


Inicia uma transação

  • « ibase_set_event_handler
  • ibase_wait_event »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Inicia uma transação

ibase_trans

(PHP 5, PHP 7 < 7.4.0)

ibase_trans — Inicia uma transação

Descrição

ibase_trans ( int $trans_args = ? , resource $link_identifier = ? ) : resource

Inicia uma transação.

Nota:

O funcionamento desta função mudou no PHP 5.0.0. A primeira chamada a ibase_trans() não irá retornar a transação padrão da conexão. Todas as transações começadas por ibase_trans() seram desfeitas ao final do script se não for gravada ou desfeita por ibase_commit() ou ibase_rollback().

Nota:

No PHP 5.0.0. e posterior, estafunção aceitará multiplos argumentos trans_args e link_identifier. Isto irá permitir transações sobre multiplas conexões de banco de dados, as quais são gravadas usando um algaritimo de duas fases. Isto indica que suas atualizações podem ser bem sucedidas em todos os bancos de dados, ou falhar em todo os bancos de dados. Isto NÃO indica que você possa utilizar tabelas de banco de dados diferentes na mesma consulta!

Se você usar transações em multiplos bancos de dados, você tem que especificar os parâmetros link_id e transaction_id nas chamadas para ibase_query() e ibase_prepare().

Parâmetros

trans_args

trans_args pode ser a combinação de IBASE_READ, IBASE_WRITE, IBASE_COMMITTED, IBASE_CONSISTENCY, IBASE_CONCURRENCY, IBASE_REC_VERSION, IBASE_REC_NO_VERSION, IBASE_WAIT and IBASE_NOWAIT.

link_identifier

Um link identificador InterBase. Se omitido, o último link aberto é usado.

Valor Retornado

Retorna um manipulador de transação, ou false em erro.


Espera por um evento ser postado no banco de dados

  • « ibase_trans
  • FrontBase »
  • PHP Manual
  • Funções para Firebird/InterBase
  • Espera por um evento ser postado no banco de dados

ibase_wait_event

(PHP 5, PHP 7 < 7.4.0)

ibase_wait_event — Espera por um evento ser postado no banco de dados

Descrição

ibase_wait_event ( string $event_name1 , string $event_name2 = ? , string $... = ? ) : string
ibase_wait_event ( resource $connection , string $event_name1 , string $event_name2 = ? , string $... = ? ) : string

Esta função suspende a execução do script até um dos dos eventos especificados é postado pelo banco de dados. O nome do evento que foi postado é retornado. Esta função aceita até 15 eventos de argumento.

Parâmetros

event_name1

O nome do evento.

event_name2

...

Valor Retornado

Retorna o nome do evento que foi postado.

Veja Também

  • ibase_set_event_handler() - Registra uma função de callback para ser chamada quando eventos são postados
  • ibase_free_event_handler() - Cancela um manipulador de eventos registrado


FrontBase

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • FrontBase Funções
    • fbsql_affected_rows — Get number of affected rows in previous FrontBase operation
    • fbsql_autocommit — Enable or disable autocommit
    • fbsql_blob_size — Get the size of a BLOB
    • fbsql_change_user — Change logged in user of the active connection
    • fbsql_clob_size — Get the size of a CLOB
    • fbsql_close — Close FrontBase connection
    • fbsql_commit — Commits a transaction to the database
    • fbsql_connect — Open a connection to a FrontBase Server
    • fbsql_create_blob — Create a BLOB
    • fbsql_create_clob — Create a CLOB
    • fbsql_create_db — Create a FrontBase database
    • fbsql_data_seek — Move internal result pointer
    • fbsql_database_password — Sets or retrieves the password for a FrontBase database
    • fbsql_database — Get or set the database name used with a connection
    • fbsql_db_query — Send a FrontBase query
    • fbsql_db_status — Get the status for a given database
    • fbsql_drop_db — Drop (delete) a FrontBase database
    • fbsql_errno — Returns the error number from previous operation
    • fbsql_error — Returns the error message from previous operation
    • fbsql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
    • fbsql_fetch_assoc — Fetch a result row as an associative array
    • fbsql_fetch_field — Get column information from a result and return as an object
    • fbsql_fetch_lengths — Get the length of each output in a result
    • fbsql_fetch_object — Fetch a result row as an object
    • fbsql_fetch_row — Get a result row as an enumerated array
    • fbsql_field_flags — Get the flags associated with the specified field in a result
    • fbsql_field_len — Returns the length of the specified field
    • fbsql_field_name — Get the name of the specified field in a result
    • fbsql_field_seek — Set result pointer to a specified field offset
    • fbsql_field_table — Get name of the table the specified field is in
    • fbsql_field_type — Get the type of the specified field in a result
    • fbsql_free_result — Free result memory
    • fbsql_get_autostart_info — Descrição
    • fbsql_hostname — Get or set the host name used with a connection
    • fbsql_insert_id — Get the id generated from the previous INSERT operation
    • fbsql_list_dbs — List databases available on a FrontBase server
    • fbsql_list_fields — List FrontBase result fields
    • fbsql_list_tables — List tables in a FrontBase database
    • fbsql_next_result — Move the internal result pointer to the next result
    • fbsql_num_fields — Get number of fields in result
    • fbsql_num_rows — Get number of rows in result
    • fbsql_password — Get or set the user password used with a connection
    • fbsql_pconnect — Open a persistent connection to a FrontBase Server
    • fbsql_query — Send a FrontBase query
    • fbsql_read_blob — Read a BLOB from the database
    • fbsql_read_clob — Read a CLOB from the database
    • fbsql_result — Get result data
    • fbsql_rollback — Rollback a transaction to the database
    • fbsql_rows_fetched — Get the number of rows affected by the last statement
    • fbsql_select_db — Select a FrontBase database
    • fbsql_set_characterset — Change input/output character set
    • fbsql_set_lob_mode — Set the LOB retrieve mode for a FrontBase result set
    • fbsql_set_password — Change the password for a given user
    • fbsql_set_transaction — Set the transaction locking and isolation
    • fbsql_start_db — Start a database on local or remote server
    • fbsql_stop_db — Stop a database on local or remote server
    • fbsql_table_name — Get table name of field
    • fbsql_tablename — Sinônimo de fbsql_table_name
    • fbsql_username — Get or set the username for the connection
    • fbsql_warnings — Enable or disable FrontBase warnings


Introdução

These functions allow you to access FrontBase database servers. More information about FrontBase can be found at » http://www.frontbase.com/.

Documentation for FrontBase can be found at » http://www.frontbase.com/cgi-bin/WebObjects/FBWebSite.woa.

Nota:

Esta extensão foi movida para o repositório » PECL e não é mais incluída como parte do PHP.5.3.0.


Dependências

You must install the FrontBase database server or at least the fbsql client libraries to use this functions. You can get FrontBase from » http://www.frontbase.com/.


Instalação

Esta extensão foi movida para o repositório » PECL e não é mais incluída como parte do PHP.5.3.0

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: .

In order to have these functions available, you must compile PHP with fbsql support by using the --with-fbsql[=DIR] option. If you use this option without specifying the path to fbsql, PHP will search for the fbsql client libraries in the default installation location for the platform. Users who installed FrontBase in a non standard directory should always specify the path to fbsql: --with-fbsql=/path/to/fbsql. This will force PHP to use the client libraries installed by FrontBase, avoiding any conflicts.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

FrontBase configuration options
Nome | Padrão | Modificável | Changelog
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM |
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM |
fbsql.autocommit | "1" | PHP_INI_SYSTEM |
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM |
fbsql.max_links | "128" | PHP_INI_SYSTEM |
fbsql.max_connections | "128" | PHP_INI_SYSTEM |
fbsql.max_results | "128" | PHP_INI_SYSTEM |
fbsql.batchSize | "1000" | PHP_INI_SYSTEM | Removed in PHP 5.1.0.
fbsql.default_host | NULL | PHP_INI_SYSTEM |
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM |
fbsql.default_password | "" | PHP_INI_SYSTEM |
fbsql.default_database | "" | PHP_INI_SYSTEM |
fbsql.default_database_password | "" | PHP_INI_SYSTEM |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

FBSQL_ASSOC (int)
FBSQL_NUM (int)
FBSQL_BOTH (int)
FBSQL_LOCK_DEFERRED (int)
FBSQL_LOCK_OPTIMISTIC (int)
FBSQL_LOCK_PESSIMISTIC (int)
FBSQL_ISO_READ_UNCOMMITTED (int)
FBSQL_ISO_READ_COMMITTED (int)
FBSQL_ISO_REPEATABLE_READ (int)
FBSQL_ISO_SERIALIZABLE (int)
FBSQL_ISO_VERSIONED (int)
FBSQL_UNKNOWN (int)
FBSQL_STOPPED (int)
FBSQL_STARTING (int)
FBSQL_RUNNING (int)
FBSQL_STOPPING (int)
FBSQL_NOEXEC (int)
FBSQL_LOB_DIRECT (int)
FBSQL_LOB_HANDLE (int)


FrontBase Funções

Índice

  • fbsql_affected_rows — Get number of affected rows in previous FrontBase operation
  • fbsql_autocommit — Enable or disable autocommit
  • fbsql_blob_size — Get the size of a BLOB
  • fbsql_change_user — Change logged in user of the active connection
  • fbsql_clob_size — Get the size of a CLOB
  • fbsql_close — Close FrontBase connection
  • fbsql_commit — Commits a transaction to the database
  • fbsql_connect — Open a connection to a FrontBase Server
  • fbsql_create_blob — Create a BLOB
  • fbsql_create_clob — Create a CLOB
  • fbsql_create_db — Create a FrontBase database
  • fbsql_data_seek — Move internal result pointer
  • fbsql_database_password — Sets or retrieves the password for a FrontBase database
  • fbsql_database — Get or set the database name used with a connection
  • fbsql_db_query — Send a FrontBase query
  • fbsql_db_status — Get the status for a given database
  • fbsql_drop_db — Drop (delete) a FrontBase database
  • fbsql_errno — Returns the error number from previous operation
  • fbsql_error — Returns the error message from previous operation
  • fbsql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_assoc — Fetch a result row as an associative array
  • fbsql_fetch_field — Get column information from a result and return as an object
  • fbsql_fetch_lengths — Get the length of each output in a result
  • fbsql_fetch_object — Fetch a result row as an object
  • fbsql_fetch_row — Get a result row as an enumerated array
  • fbsql_field_flags — Get the flags associated with the specified field in a result
  • fbsql_field_len — Returns the length of the specified field
  • fbsql_field_name — Get the name of the specified field in a result
  • fbsql_field_seek — Set result pointer to a specified field offset
  • fbsql_field_table — Get name of the table the specified field is in
  • fbsql_field_type — Get the type of the specified field in a result
  • fbsql_free_result — Free result memory
  • fbsql_get_autostart_info — Descrição
  • fbsql_hostname — Get or set the host name used with a connection
  • fbsql_insert_id — Get the id generated from the previous INSERT operation
  • fbsql_list_dbs — List databases available on a FrontBase server
  • fbsql_list_fields — List FrontBase result fields
  • fbsql_list_tables — List tables in a FrontBase database
  • fbsql_next_result — Move the internal result pointer to the next result
  • fbsql_num_fields — Get number of fields in result
  • fbsql_num_rows — Get number of rows in result
  • fbsql_password — Get or set the user password used with a connection
  • fbsql_pconnect — Open a persistent connection to a FrontBase Server
  • fbsql_query — Send a FrontBase query
  • fbsql_read_blob — Read a BLOB from the database
  • fbsql_read_clob — Read a CLOB from the database
  • fbsql_result — Get result data
  • fbsql_rollback — Rollback a transaction to the database
  • fbsql_rows_fetched — Get the number of rows affected by the last statement
  • fbsql_select_db — Select a FrontBase database
  • fbsql_set_characterset — Change input/output character set
  • fbsql_set_lob_mode — Set the LOB retrieve mode for a FrontBase result set
  • fbsql_set_password — Change the password for a given user
  • fbsql_set_transaction — Set the transaction locking and isolation
  • fbsql_start_db — Start a database on local or remote server
  • fbsql_stop_db — Stop a database on local or remote server
  • fbsql_table_name — Get table name of field
  • fbsql_tablename — Sinônimo de fbsql_table_name
  • fbsql_username — Get or set the username for the connection
  • fbsql_warnings — Enable or disable FrontBase warnings


Get number of affected rows in previous FrontBase operation

  • « FrontBase Funções
  • fbsql_autocommit »
  • PHP Manual
  • FrontBase Funções
  • Get number of affected rows in previous FrontBase operation

fbsql_affected_rows

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_affected_rows — Get number of affected rows in previous FrontBase operation

Descrição

fbsql_affected_rows ( resource $link_identifier = ? ) : int

fbsql_affected_rows() returns the number of rows affected by the last INSERT, UPDATE or DELETE query associated with link_identifier.

Nota:

If you are using transactions, you need to call fbsql_affected_rows() after your INSERT, UPDATE, or DELETE query, not after the commit.

If the last query was a DELETE query with no WHERE clause, all of the records will have been deleted from the table but this function will return zero.

Nota:

When using UPDATE, FrontBase will not update columns where the new value is the same as the old value. This creates the possibility that fbsql_affected_rows() may not actually equal the number of rows matched, only the number of rows that were literally affected by the query.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

If the last query failed, this function will return -1.

Veja Também

  • fbsql_num_rows() - Get number of rows in result


Enable or disable autocommit

  • « fbsql_affected_rows
  • fbsql_blob_size »
  • PHP Manual
  • FrontBase Funções
  • Enable or disable autocommit

fbsql_autocommit

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_autocommit — Enable or disable autocommit

Descrição

fbsql_autocommit ( resource $link_identifier , bool $OnOff = ? ) : bool

Returns the current autocommit status.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

OnOff

If this optional parameter is given the auto commit status will be changed.

With OnOff set to true each statement will be committed automatically, if no errors was found.

With OnOff set to false the user must commit or rollback the transaction using either fbsql_commit() or fbsql_rollback().

Valor Retornado

Returns the current autocommit status, as a boolean.

Veja Também

  • fbsql_commit() - Commits a transaction to the database
  • fbsql_rollback() - Rollback a transaction to the database


Get the size of a BLOB

  • « fbsql_autocommit
  • fbsql_change_user »
  • PHP Manual
  • FrontBase Funções
  • Get the size of a BLOB

fbsql_blob_size

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0)

fbsql_blob_size — Get the size of a BLOB

Descrição

fbsql_blob_size ( string $blob_handle , resource $link_identifier = ? ) : int

Returns the size of the given BLOB.

Parâmetros

blob_handle

A BLOB handle, returned by fbsql_create_blob().

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns the BLOB size as an integer, or false on error.

Veja Também

  • fbsql_clob_size() - Get the size of a CLOB


Change logged in user of the active connection

  • « fbsql_blob_size
  • fbsql_clob_size »
  • PHP Manual
  • FrontBase Funções
  • Change logged in user of the active connection

fbsql_change_user

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_change_user — Change logged in user of the active connection

Descrição

fbsql_change_user ( string $user , string $password , string $database = ? , resource $link_identifier = ? ) : bool

fbsql_change_user() changes the logged in user of the specified connection. If the new user and password authorization fails, the current connected user stays active.

Parâmetros

user

The new user name.

password

The new user password.

database

If specified, this will be the default or current database after the user has been changed.

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Get the size of a CLOB

  • « fbsql_change_user
  • fbsql_close »
  • PHP Manual
  • FrontBase Funções
  • Get the size of a CLOB

fbsql_clob_size

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0)

fbsql_clob_size — Get the size of a CLOB

Descrição

fbsql_clob_size ( string $clob_handle , resource $link_identifier = ? ) : int

Returns the size of the given CLOB.

Parâmetros

clob_handle

A CLOB handle, returned by fbsql_create_clob().

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns the CLOB size as an integer, or false on error.

Veja Também

  • fbsql_blob_size() - Get the size of a BLOB


Close FrontBase connection

  • « fbsql_clob_size
  • fbsql_commit »
  • PHP Manual
  • FrontBase Funções
  • Close FrontBase connection

fbsql_close

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_close — Close FrontBase connection

Descrição

fbsql_close ( resource $link_identifier = ? ) : bool

Closes the connection to the FrontBase server that's associated with the specified link identifier.

Using fbsql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 fbsql_close() example

<?php
$link = fbsql_connect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
echo "Connected successfully";
fbsql_close($link);
?>

Veja Também

  • fbsql_connect() - Open a connection to a FrontBase Server
  • fbsql_pconnect() - Open a persistent connection to a FrontBase Server


Commits a transaction to the database

  • « fbsql_close
  • fbsql_connect »
  • PHP Manual
  • FrontBase Funções
  • Commits a transaction to the database

fbsql_commit

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_commit — Commits a transaction to the database

Descrição

fbsql_commit ( resource $link_identifier = ? ) : bool

Ends the current transaction by writing all inserts, updates and deletes to the disk and unlocking all row and table locks held by the transaction. This command is only needed if autocommit is set to false.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fbsql_autocommit() - Enable or disable autocommit
  • fbsql_rollback() - Rollback a transaction to the database


Open a connection to a FrontBase Server

  • « fbsql_commit
  • fbsql_create_blob »
  • PHP Manual
  • FrontBase Funções
  • Open a connection to a FrontBase Server

fbsql_connect

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_connect — Open a connection to a FrontBase Server

Descrição

fbsql_connect
 ( string $hostname = ini_get("fbsql.default_host")
, string $username = ini_get("fbsql.default_user")
, string $password = ini_get("fbsql.default_password")
) : resource

fbsql_connect() establishes a connection to a FrontBase server.

If a second call is made to fbsql_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned.

The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling fbsql_close().

Parâmetros

hostname

The server host name.

username

The user name for the connection.

password

The password for the connection.

Valor Retornado

Returns a positive FrontBase link identifier on success, or false on errors.

Exemplos

Exemplo #1 fbsql_connect() example

<?php

$link = fbsql_connect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
echo "Connected successfully";
fbsql_close($link);

?>

Veja Também

  • fbsql_pconnect() - Open a persistent connection to a FrontBase Server
  • fbsql_close() - Close FrontBase connection


Create a BLOB

  • « fbsql_connect
  • fbsql_create_clob »
  • PHP Manual
  • FrontBase Funções
  • Create a BLOB

fbsql_create_blob

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0)

fbsql_create_blob — Create a BLOB

Descrição

fbsql_create_blob ( string $blob_data , resource $link_identifier = ? ) : string

Creates a BLOB from the given data.

Parâmetros

blob_data

The BLOB data.

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns a resource handle to the newly created BLOB, which can be used with insert and update commands to store the BLOB in the database.

Exemplos

Exemplo #1 fbsql_create_blob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$filename = "blobfile.bin";
$fp = fopen($filename, "rb");
$blobdata = fread($fp, filesize($filename));
fclose($fp);

$blobHandle = fbsql_create_blob($blobdata, $link);

$sql = "INSERT INTO BLOB_TABLE (BLOB_COLUMN) VALUES ($blobHandle);";
$rs = fbsql_query($sql, $link);
?>

Veja Também

  • fbsql_create_clob() - Create a CLOB
  • fbsql_read_blob() - Read a BLOB from the database
  • fbsql_read_clob() - Read a CLOB from the database
  • fbsql_set_lob_mode() - Set the LOB retrieve mode for a FrontBase result set


Create a CLOB

  • « fbsql_create_blob
  • fbsql_create_db »
  • PHP Manual
  • FrontBase Funções
  • Create a CLOB

fbsql_create_clob

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0)

fbsql_create_clob — Create a CLOB

Descrição

fbsql_create_clob ( string $clob_data , resource $link_identifier = ? ) : string

Creates a CLOB from the given data.

Parâmetros

clob_data

The CLOB data.

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns a resource handle to the newly created CLOB, which can be used with insert and update commands to store the CLOB in the database.

Exemplos

Exemplo #1 fbsql_create_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$filename = "clob_file.txt";
$fp = fopen($filename, "rb");
$clobdata = fread($fp, filesize($filename));
fclose($fp);

$clobHandle = fbsql_create_clob($clobdata, $link);

$sql = "INSERT INTO CLOB_TABLE (CLOB_COLUMN) VALUES ($clobHandle);";
$rs = fbsql_query($sql, $link);
?>

Veja Também

  • fbsql_create_blob() - Create a BLOB
  • fbsql_read_blob() - Read a BLOB from the database
  • fbsql_read_clob() - Read a CLOB from the database
  • fbsql_set_lob_mode() - Set the LOB retrieve mode for a FrontBase result set


Create a FrontBase database

  • « fbsql_create_clob
  • fbsql_data_seek »
  • PHP Manual
  • FrontBase Funções
  • Create a FrontBase database

fbsql_create_db

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_create_db — Create a FrontBase database

Descrição

fbsql_create_db ( string $database_name , resource $link_identifier = ? , string $database_options = ? ) : bool

Attempts to create a new database on the specified server.

Parâmetros

database_name

The database name, as a string.

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

database_options

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 fbsql_create_db() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
if (fbsql_create_db("my_db")) {
    echo "Database created successfully\n";
} else {
    printf("Error creating database: %s\n", fbsql_error());
}
?>

Veja Também

  • fbsql_drop_db() - Drop (delete) a FrontBase database


Move internal result pointer

  • « fbsql_create_db
  • fbsql_database_password »
  • PHP Manual
  • FrontBase Funções
  • Move internal result pointer

fbsql_data_seek

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_data_seek — Move internal result pointer

Descrição

fbsql_data_seek ( resource $result , int $row_number ) : bool

Moves the internal row pointer of the FrontBase result associated with the specified result identifier to point to the specified row number.

The next call to fbsql_fetch_row() would return that row.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

row_number

The row number. Starts at 0.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 fbsql_data_seek() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");

fbsql_select_db("samp_db")
    or die("Could not select database");

$query = "SELECT last_name, first_name FROM friends;";
$result = fbsql_query($query)
    or die("Query failed");

// fetch rows in reverse order

for ($i = fbsql_num_rows($result) - 1; $i >=0; $i--) {
    if (!fbsql_data_seek($result, $i)) {
        printf("Cannot seek to row %d\n", $i);
        continue;
    }

    if (!($row = fbsql_fetch_object($result)))
        continue;

    echo $row->last_name . $row->first_name . "<br />\n";
}

fbsql_free_result($result);
?>


Sets or retrieves the password for a FrontBase database

  • « fbsql_data_seek
  • fbsql_database »
  • PHP Manual
  • FrontBase Funções
  • Sets or retrieves the password for a FrontBase database

fbsql_database_password

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_database_password — Sets or retrieves the password for a FrontBase database

Descrição

fbsql_database_password ( resource $link_identifier , string $database_password = ? ) : string

Sets and retrieves the database password used by the connection. If a database is protected by a database password, the user must call this function before calling fbsql_select_db().

If no link is open, the function will try to establish a link as if fbsql_connect() was called, and use it.

This function does not change the database password in the database nor can it be used to retrieve the database password for a database.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

database_password

The database password, as a string. If given, the function sets the database password for the specified link identifier.

Valor Retornado

Returns the database password associated with the link identifier.

Exemplos

Exemplo #1 fbsql_create_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
fbsql_database_password($link, "secret db password");
fbsql_select_db($database, $link);
?>

Veja Também

  • fbsql_connect() - Open a connection to a FrontBase Server
  • fbsql_pconnect() - Open a persistent connection to a FrontBase Server
  • fbsql_select_db() - Select a FrontBase database


Get or set the database name used with a connection

  • « fbsql_database_password
  • fbsql_db_query »
  • PHP Manual
  • FrontBase Funções
  • Get or set the database name used with a connection

fbsql_database

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_database — Get or set the database name used with a connection

Descrição

fbsql_database ( resource $link_identifier , string $database = ? ) : string

Get or set the database name used with the connection.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

database

The database name. If given, the default database of the connexion will be changed to database.

Valor Retornado

Returns the name of the database used with this connection.


Send a FrontBase query

  • « fbsql_database
  • fbsql_db_status »
  • PHP Manual
  • FrontBase Funções
  • Send a FrontBase query

fbsql_db_query

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_db_query — Send a FrontBase query

Descrição

fbsql_db_query ( string $database , string $query , resource $link_identifier = ? ) : resource

Selects a database and executes a query on it.

Parâmetros

database

The database to be selected.

query

The SQL query to be executed.

Nota:

The query string shall always end with a semicolon.

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns a positive FrontBase result identifier to the query result, or false on error.

Veja Também

  • fbsql_query() - Send a FrontBase query
  • fbsql_connect() - Open a connection to a FrontBase Server


Get the status for a given database

  • « fbsql_db_query
  • fbsql_drop_db »
  • PHP Manual
  • FrontBase Funções
  • Get the status for a given database

fbsql_db_status

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0)

fbsql_db_status — Get the status for a given database

Descrição

fbsql_db_status ( string $database_name , resource $link_identifier = ? ) : int

Gets the current status of the specified database.

Parâmetros

database_name

The database name.

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns an integer value with the current status. This can be one of the following constants:

  • false - The exec handler for the host was invalid. This error will occur when the link_identifier connects directly to a database by using a port number. FBExec can be available on the server but no connection has been made for it.
  • FBSQL_UNKNOWN - The Status is unknown.
  • FBSQL_STOPPED - The database is not running. Use fbsql_start_db() to start the database.
  • FBSQL_STARTING - The database is starting.
  • FBSQL_RUNNING - The database is running and can be used to perform SQL operations.
  • FBSQL_STOPPING - The database is stopping.
  • FBSQL_NOEXEC - FBExec is not running on the server and it is not possible to get the status of the database.

Veja Também

  • fbsql_start_db() - Start a database on local or remote server
  • fbsql_stop_db() - Stop a database on local or remote server


Drop (delete) a FrontBase database

  • « fbsql_db_status
  • fbsql_errno »
  • PHP Manual
  • FrontBase Funções
  • Drop (delete) a FrontBase database

fbsql_drop_db

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_drop_db — Drop (delete) a FrontBase database

Descrição

fbsql_drop_db ( string $database_name , resource $link_identifier = ? ) : bool

fbsql_drop_db() attempts to drop (remove) an entire database from the server associated with the specified link identifier.

Parâmetros

database_name

The database name, as a string.

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fbsql_create_db() - Create a FrontBase database


Returns the error number from previous operation

  • « fbsql_drop_db
  • fbsql_error »
  • PHP Manual
  • FrontBase Funções
  • Returns the error number from previous operation

fbsql_errno

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_errno — Returns the error number from previous operation

Descrição

fbsql_errno ( resource $link_identifier = ? ) : int

Returns the numerical value of the error message from previous FrontBase operation.

Errors coming back from the fbsql database backend don't issue warnings. Instead, use fbsql_errno() to retrieve the error code. Note that this function only returns the error code from the most recently executed fbsql function (not including fbsql_error() and fbsql_errno()), so if you want to use it, make sure you check the value before calling another fbsql function.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns the error number from the last fbsql function, or 0 (zero) if no error occurred.

Exemplos

Exemplo #1 fbsql_errno() Example

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nonexistentdb");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nonexistenttable;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

Veja Também

  • fbsql_error() - Returns the error message from previous operation
  • fbsql_warnings() - Enable or disable FrontBase warnings


Returns the error message from previous operation

  • « fbsql_errno
  • fbsql_fetch_array »
  • PHP Manual
  • FrontBase Funções
  • Returns the error message from previous operation

fbsql_error

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_error — Returns the error message from previous operation

Descrição

fbsql_error ( resource $link_identifier = ? ) : string

Returns the error message from previous FrontBase operation.

Errors coming back from the fbsql database backend don't issue warnings. Instead, use fbsql_error() to retrieve the error text. Note that this function only returns the error code from the most recently executed fbsql function (not including fbsql_error() and fbsql_errno()), so if you want to use it, make sure you check the value before calling another fbsql function.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns the error text from the last fbsql function, or '' (the empty string) if no error occurred.

Exemplos

Exemplo #1 fbsql_error() Example

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nonexistentdb");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nonexistenttable;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

Veja Também

  • fbsql_errno() - Returns the error number from previous operation
  • fbsql_warnings() - Enable or disable FrontBase warnings


Fetch a result row as an associative array, a numeric array, or both

  • « fbsql_error
  • fbsql_fetch_assoc »
  • PHP Manual
  • FrontBase Funções
  • Fetch a result row as an associative array, a numeric array, or both

fbsql_fetch_array

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_fetch_array — Fetch a result row as an associative array, a numeric array, or both

Descrição

fbsql_fetch_array ( resource $result , int $result_type = ? ) : array

fbsql_fetch_array() is a combination of
fbsql_fetch_row() and
fbsql_fetch_assoc().

An important thing to note is that using fbsql_fetch_array() is NOT significantly slower than using fbsql_fetch_row(), while it provides a significant added value.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

result_type

A constant and can take the following values: FBSQL_ASSOC, FBSQL_NUM, or FBSQL_BOTH.

When using FBSQL_BOTH, in addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

Valor Retornado

Returns an array that corresponds to the fetched row, or false if there are no more rows.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you must the numeric index of the column or make an alias for the column.

select t1.f1 as foo t2.f1 as bar from t1, t2

Exemplos

Exemplo #1 fbsql_fetch_array() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select user_id, fullname from table");
while ($row = fbsql_fetch_array($result)) {
    echo "user_id: " . $row["user_id"] . "<br />\n";
    echo "user_id: " . $row[0] . "<br />\n";
    echo "fullname: " . $row["fullname"] . "<br />\n";
    echo "fullname: " . $row[1] . "<br />\n";
}
fbsql_free_result($result);
?>

Veja Também

  • fbsql_fetch_row() - Get a result row as an enumerated array
  • fbsql_fetch_assoc() - Fetch a result row as an associative array
  • fbsql_fetch_object() - Fetch a result row as an object


Fetch a result row as an associative array

  • « fbsql_fetch_array
  • fbsql_fetch_field »
  • PHP Manual
  • FrontBase Funções
  • Fetch a result row as an associative array

fbsql_fetch_assoc

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_fetch_assoc — Fetch a result row as an associative array

Descrição

fbsql_fetch_assoc ( resource $result ) : array

Calling fbsql_fetch_assoc() is equivalent to calling fbsql_fetch_array() with FBSQL_ASSOC as second parameter. It only returns an associative array.

This is the way fbsql_fetch_array() originally worked. If you need the numeric indices as well as the associative, use fbsql_fetch_array().

An important thing to note is that using fbsql_fetch_assoc() is NOT significantly slower than using fbsql_fetch_row(), while it provides a significant added value.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

Valor Retornado

Returns an associative array that corresponds to the fetched row, or false if there are no more rows.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you must use fbsql_fetch_array() and have it return the numeric indices as well.

Exemplos

Exemplo #1 fbsql_fetch_assoc() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select * from table");
while ($row = fbsql_fetch_assoc($result)) {
    echo $row["user_id"];
    echo $row["fullname"];
}
fbsql_free_result($result);
?>

Veja Também

  • fbsql_fetch_row() - Get a result row as an enumerated array
  • fbsql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_object() - Fetch a result row as an object


Get column information from a result and return as an object

  • « fbsql_fetch_assoc
  • fbsql_fetch_lengths »
  • PHP Manual
  • FrontBase Funções
  • Get column information from a result and return as an object

fbsql_fetch_field

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_fetch_field — Get column information from a result and return as an object

Descrição

fbsql_fetch_field ( resource $result , int $field_offset = ? ) : object

Used in order to obtain information about fields in a certain query result.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

field_offset

The numerical offset of the field. The field index starts at 0. If not specified, the next field that wasn't yet retrieved by fbsql_fetch_field() is retrieved.

Valor Retornado

Returns an object containing field information, or false on errors.

The properties of the object are:

  • name - column name
  • table - name of the table the column belongs to
  • max_length - maximum length of the column
  • not_null - 1 if the column cannot be null
  • type - the type of the column

Exemplos

Exemplo #1 fbsql_fetch_field() example

<?php
fbsql_connect($host, $user, $password)
    or die("Could not connect");
$result = fbsql_db_query("database", "select * from table")
    or die("Query failed");
# get column metadata
$i = 0;
while ($i < fbsql_num_fields($result)) {
    echo "Information for column $i:<br />\n";
    $meta = fbsql_fetch_field($result);
    if (!$meta) {
        echo "No information available<br />\n";
    }
    echo "<pre>
max_length:   $meta->max_length
name:         $meta->name
not_null:     $meta->not_null
table:        $meta->table
type:         $meta->type
</pre>";
    $i++;
}
fbsql_free_result($result);
?>

Veja Também

  • fbsql_field_seek() - Set result pointer to a specified field offset


Get the length of each output in a result

  • « fbsql_fetch_field
  • fbsql_fetch_object »
  • PHP Manual
  • FrontBase Funções
  • Get the length of each output in a result

fbsql_fetch_lengths

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_fetch_lengths — Get the length of each output in a result

Descrição

fbsql_fetch_lengths ( resource $result ) : array

Stores the lengths of each result column in the last row returned by
fbsql_fetch_row(),
fbsql_fetch_array() and
fbsql_fetch_object() in an array.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

Valor Retornado

Returns an array, starting at offset 0, that corresponds to the lengths of each field in the last row fetched by fbsql_fetch_row(), or false on error.

Veja Também

  • fbsql_fetch_row() - Get a result row as an enumerated array


Fetch a result row as an object

  • « fbsql_fetch_lengths
  • fbsql_fetch_row »
  • PHP Manual
  • FrontBase Funções
  • Fetch a result row as an object

fbsql_fetch_object

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_fetch_object — Fetch a result row as an object

Descrição

fbsql_fetch_object ( resource $result ) : object

fbsql_fetch_object() is similar to fbsql_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

Speed-wise, the function is identical to fbsql_fetch_array(), and almost as quick as fbsql_fetch_row() (the difference is insignificant).

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

Valor Retornado

Returns an object with properties that correspond to the fetched row, or false if there are no more rows.

Exemplos

Exemplo #1 fbsql_fetch_object() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select * from table");
while ($row = fbsql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
fbsql_free_result($result);
?>

Veja Também

  • fbsql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_row() - Get a result row as an enumerated array
  • fbsql_fetch_assoc() - Fetch a result row as an associative array


Get a result row as an enumerated array

  • « fbsql_fetch_object
  • fbsql_field_flags »
  • PHP Manual
  • FrontBase Funções
  • Get a result row as an enumerated array

fbsql_fetch_row

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_fetch_row — Get a result row as an enumerated array

Descrição

fbsql_fetch_row ( resource $result ) : array

fbsql_fetch_row() fetches one row of data from the result associated with the specified result identifier.

Subsequent call to fbsql_fetch_row() would return the next row in the result set, or false if there are no more rows.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

Valor Retornado

Returns an array that corresponds to the fetched row where each result column is stored in an offset, starting at offset 0, or false if there are no more rows.

Veja Também

  • fbsql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_assoc() - Fetch a result row as an associative array
  • fbsql_fetch_object() - Fetch a result row as an object
  • fbsql_data_seek() - Move internal result pointer
  • fbsql_fetch_lengths() - Get the length of each output in a result
  • fbsql_result() - Get result data


Get the flags associated with the specified field in a result

  • « fbsql_fetch_row
  • fbsql_field_len »
  • PHP Manual
  • FrontBase Funções
  • Get the flags associated with the specified field in a result

fbsql_field_flags

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_field_flags — Get the flags associated with the specified field in a result

Descrição

fbsql_field_flags ( resource $result , int $field_offset = ? ) : string

Gets the flags associated with the specified field in a result.

Parâmetros

result

A result pointer returned by fbsql_list_fields().

field_offset

The numerical offset of the field. The field index starts at 0.

Valor Retornado

Returns the field flags of the specified field as a single word per flag separated by a single space, so that you can split the returned value using explode().


Returns the length of the specified field

  • « fbsql_field_flags
  • fbsql_field_name »
  • PHP Manual
  • FrontBase Funções
  • Returns the length of the specified field

fbsql_field_len

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_field_len — Returns the length of the specified field

Descrição

fbsql_field_len ( resource $result , int $field_offset = ? ) : int

Returns the length of the specified field.

Parâmetros

result

A result pointer returned by fbsql_list_fields().

field_offset

The numerical offset of the field. The field index starts at 0.

Valor Retornado

Returns the length of the specified field.


Get the name of the specified field in a result

  • « fbsql_field_len
  • fbsql_field_seek »
  • PHP Manual
  • FrontBase Funções
  • Get the name of the specified field in a result

fbsql_field_name

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_field_name — Get the name of the specified field in a result

Descrição

fbsql_field_name ( resource $result , int $field_index = ? ) : string

Returns the name of the specified field index.

Parâmetros

result

A result pointer returned by fbsql_list_fields().

field_index

The numerical offset of the field. The field index starts at 0.

Valor Retornado

Returns the name as a string, or false if the field doesn't exist.

Exemplos

Exemplo #1 fbsql_field_name() example

<?php
// The users table consists of three fields:
//   user_id
//   username
//   password.

$res = fbsql_db_query("users", "select * from users", $link);

echo fbsql_field_name($res, 0) . "\n";
echo fbsql_field_name($res, 2);
?>

O exemplo acima irá imprimir:

user_id
password

Veja Também

  • fbsql_field_type() - Get the type of the specified field in a result


Set result pointer to a specified field offset

  • « fbsql_field_name
  • fbsql_field_table »
  • PHP Manual
  • FrontBase Funções
  • Set result pointer to a specified field offset

fbsql_field_seek

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_field_seek — Set result pointer to a specified field offset

Descrição

fbsql_field_seek ( resource $result , int $field_offset = ? ) : bool

Seeks to the specified field offset. If the next call to fbsql_fetch_field() doesn't include a field offset, the field offset specified in fbsql_field_seek() will be returned.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

field_offset

The numerical offset of the field. The field index starts at 0.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fbsql_fetch_field() - Get column information from a result and return as an object


Get name of the table the specified field is in

  • « fbsql_field_seek
  • fbsql_field_type »
  • PHP Manual
  • FrontBase Funções
  • Get name of the table the specified field is in

fbsql_field_table

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_field_table — Get name of the table the specified field is in

Descrição

fbsql_field_table ( resource $result , int $field_offset = ? ) : string

Returns the name of the table that the specified field is in.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

field_offset

The numerical offset of the field. The field index starts at 0.

Valor Retornado

Returns the name of the table, as a string.


Get the type of the specified field in a result

  • « fbsql_field_table
  • fbsql_free_result »
  • PHP Manual
  • FrontBase Funções
  • Get the type of the specified field in a result

fbsql_field_type

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_field_type — Get the type of the specified field in a result

Descrição

fbsql_field_type ( resource $result , int $field_offset = ? ) : string

fbsql_field_type() is similar to the fbsql_field_name() function, but the field type is returned instead.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

field_offset

The numerical offset of the field. The field index starts at 0.

Valor Retornado

Returns the field type, as a string.

This can be one of int, real, string, blob, and others as detailed in the » FrontBase documentation.

Exemplos

Exemplo #1 fbsql_field_type() example

<?php

fbsql_connect("localhost", "_SYSTEM", "");
fbsql_select_db("wisconsin");
$result = fbsql_query("SELECT * FROM onek;");
$fields = fbsql_num_fields($result);
$rows   = fbsql_num_rows($result);
$i = 0;
$table = fbsql_field_table($result, $i);
echo "Your '" . $table . "' table has " . $fields . " fields and " . $rows . " records <br />";
echo "The table has the following fields <br />";
while ($i < $fields) {
    $type  = fbsql_field_type($result, $i);
    $name  = fbsql_field_name($result, $i);
    $len   = fbsql_field_len($result, $i);
    $flags = fbsql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "<br />";
    $i++;
}
fbsql_close();

?>

Veja Também

  • fbsql_field_name() - Get the name of the specified field in a result


Free result memory

  • « fbsql_field_type
  • fbsql_get_autostart_info »
  • PHP Manual
  • FrontBase Funções
  • Free result memory

fbsql_free_result

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_free_result — Free result memory

Descrição

fbsql_free_result ( resource $result ) : bool

Frees all memory associated with the given result identifier.

fbsql_free_result() only needs to be called if you are concerned about how much memory is being used for queries that return large result sets. All associated result memory is automatically freed at the end of the script's execution.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Descrição

  • « fbsql_free_result
  • fbsql_hostname »
  • PHP Manual
  • FrontBase Funções
  • Descrição

fbsql_get_autostart_info

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0)

fbsql_get_autostart_info —

Descrição

fbsql_get_autostart_info ( resource $link_identifier = ? ) : array
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.


Get or set the host name used with a connection

  • « fbsql_get_autostart_info
  • fbsql_insert_id »
  • PHP Manual
  • FrontBase Funções
  • Get or set the host name used with a connection

fbsql_hostname

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_hostname — Get or set the host name used with a connection

Descrição

fbsql_hostname ( resource $link_identifier , string $host_name = ? ) : string

Gets or sets the host name used with a connection.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

host_name

If provided, this will be the new connection host name.

Valor Retornado

Returns the current host name used for the connection.

Veja Também

  • fbsql_username() - Get or set the username for the connection
  • fbsql_password() - Get or set the user password used with a connection


Get the id generated from the previous INSERT operation

  • « fbsql_hostname
  • fbsql_list_dbs »
  • PHP Manual
  • FrontBase Funções
  • Get the id generated from the previous INSERT operation

fbsql_insert_id

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_insert_id — Get the id generated from the previous INSERT operation

Descrição

fbsql_insert_id ( resource $link_identifier = ? ) : int

Gets the id generated from the previous INSERT operation which created a DEFAULT UNIQUE value.

Nota:

The value of the FrontBase SQL function fbsql_insert_id() always contains the most recently generated DEFAULT UNIQUE value, and is not reset between queries.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns the ID generated from the previous INSERT query, or 0 if the previous query does not generate an DEFAULT UNIQUE value.

If you need to save the value for later, be sure to call this function immediately after the query that generates the value.

Veja Também

  • fbsql_affected_rows() - Get number of affected rows in previous FrontBase operation


List databases available on a FrontBase server

  • « fbsql_insert_id
  • fbsql_list_fields »
  • PHP Manual
  • FrontBase Funções
  • List databases available on a FrontBase server

fbsql_list_dbs

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_list_dbs — List databases available on a FrontBase server

Descrição

fbsql_list_dbs ( resource $link_identifier = ? ) : resource

Return a result pointer containing the databases available from the current fbsql daemon. Use the fbsql_tablename() to traverse this result pointer.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns a result pointer or false on error.

Exemplos

Exemplo #1 fbsql_list_dbs() example

<?php
$link = fbsql_connect('localhost', 'myname', 'secret');
$db_list = fbsql_list_dbs($link);

while ($row = fbsql_fetch_object($db_list)) {
    echo $row->Database . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

database1
database2
database3
...

Nota:

The above code would just as easily work with fbsql_fetch_row() or other similar functions.

Veja Também

  • fbsql_list_fields() - List FrontBase result fields
  • fbsql_list_tables() - List tables in a FrontBase database


List FrontBase result fields

  • « fbsql_list_dbs
  • fbsql_list_tables »
  • PHP Manual
  • FrontBase Funções
  • List FrontBase result fields

fbsql_list_fields

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_list_fields — List FrontBase result fields

Descrição

fbsql_list_fields ( string $database_name , string $table_name , resource $link_identifier = ? ) : resource

Retrieves information about the given table.

Parâmetros

database_name

The database name.

table_name

The table name.

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns a result pointer which can be used with the fbsql_field_xxx functions, or false on error.

Erros

A string describing the error will be placed in $phperrmsg, and unless the function was called as @fbsql() then this error string will also be printed out.

Exemplos

Exemplo #1 fbsql_list_fields() example

<?php
$link = fbsql_connect('localhost', 'myname', 'secret');

$fields = fbsql_list_fields("database1", "table1", $link);
$columns = fbsql_num_fields($fields);

for ($i = 0; $i < $columns; $i++) {
    echo fbsql_field_name($fields, $i) . "\n";;
}
?>

O exemplo acima irá imprimir algo similar à:

field1
field2
field3
...

Veja Também

  • fbsql_field_len() - Returns the length of the specified field
  • fbsql_field_name() - Get the name of the specified field in a result
  • fbsql_field_type() - Get the type of the specified field in a result
  • fbsql_field_flags() - Get the flags associated with the specified field in a result


List tables in a FrontBase database

  • « fbsql_list_fields
  • fbsql_next_result »
  • PHP Manual
  • FrontBase Funções
  • List tables in a FrontBase database

fbsql_list_tables

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_list_tables — List tables in a FrontBase database

Descrição

fbsql_list_tables ( string $database , resource $link_identifier = ? ) : resource

Returns a result pointer describing the database.

Parâmetros

database

The database name.

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns a result pointer which can be used with the fbsql_tablename() function to read the actual table names, or false on error.

Veja Também

  • fbsql_list_fields() - List FrontBase result fields
  • fbsql_list_dbs() - List databases available on a FrontBase server


Move the internal result pointer to the next result

  • « fbsql_list_tables
  • fbsql_num_fields »
  • PHP Manual
  • FrontBase Funções
  • Move the internal result pointer to the next result

fbsql_next_result

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_next_result — Move the internal result pointer to the next result

Descrição

fbsql_next_result ( resource $result ) : bool

When sending more than one SQL statement to the server or executing a stored procedure with multiple results will cause the server to return multiple result sets. This function will test for additional results available form the server. If an additional result set exists it will free the existing result set and prepare to fetch the words from the new result set.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

Valor Retornado

Returns true if an additional result set was available or false otherwise.

Exemplos

Exemplo #1 fbsql_next_result() example

<?php
$link = fbsql_connect("localhost", "_SYSTEM", "secret");
fbsql_select_db("MyDB", $link);
$SQL = "Select * from table1; select * from table2;";
$rs = fbsql_query($SQL, $link);
do {
    while ($row = fbsql_fetch_row($rs)) {
    }
} while (fbsql_next_result($rs));
fbsql_free_result($rs);
fbsql_close($link);
?>


Get number of fields in result

  • « fbsql_next_result
  • fbsql_num_rows »
  • PHP Manual
  • FrontBase Funções
  • Get number of fields in result

fbsql_num_fields

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_num_fields — Get number of fields in result

Descrição

fbsql_num_fields ( resource $result ) : int

Returns the number of fields in the given result set.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

Valor Retornado

Returns the number of fields, as an integer.

Veja Também

  • fbsql_db_query() - Send a FrontBase query
  • fbsql_query() - Send a FrontBase query
  • fbsql_fetch_field() - Get column information from a result and return as an object
  • fbsql_num_rows() - Get number of rows in result


Get number of rows in result

  • « fbsql_num_fields
  • fbsql_password »
  • PHP Manual
  • FrontBase Funções
  • Get number of rows in result

fbsql_num_rows

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_num_rows — Get number of rows in result

Descrição

fbsql_num_rows ( resource $result ) : int

Gets the number of rows in the given result set.

This function is only valid for SELECT statements. To retrieve the number of rows returned from a INSERT, UPDATE or DELETE query, use fbsql_affected_rows().

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

Valor Retornado

Returns the number of rows returned by the last SELECT statement.

Exemplos

Exemplo #1 fbsql_num_rows() example

<?php

$link = fbsql_connect("localhost", "username", "password");
fbsql_select_db("database", $link);

$result = fbsql_query("SELECT * FROM table1;", $link);
$num_rows = fbsql_num_rows($result);

echo "$num_rows Rows\n";

?>

Veja Também

  • fbsql_affected_rows() - Get number of affected rows in previous FrontBase operation
  • fbsql_connect() - Open a connection to a FrontBase Server
  • fbsql_select_db() - Select a FrontBase database
  • fbsql_query() - Send a FrontBase query


Get or set the user password used with a connection

  • « fbsql_num_rows
  • fbsql_pconnect »
  • PHP Manual
  • FrontBase Funções
  • Get or set the user password used with a connection

fbsql_password

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_password — Get or set the user password used with a connection

Descrição

fbsql_password ( resource $link_identifier , string $password = ? ) : string

Get or set the user password used with a connection.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

password

If provided, this will be the new connection password.

Valor Retornado

Returns the current password used for the connection.

Veja Também

  • fbsql_username() - Get or set the username for the connection
  • fbsql_hostname() - Get or set the host name used with a connection


Open a persistent connection to a FrontBase Server

  • « fbsql_password
  • fbsql_query »
  • PHP Manual
  • FrontBase Funções
  • Open a persistent connection to a FrontBase Server

fbsql_pconnect

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_pconnect — Open a persistent connection to a FrontBase Server

Descrição

fbsql_pconnect
 ( string $hostname = ini_get("fbsql.default_host")
, string $username = ini_get("fbsql.default_user")
, string $password = ini_get("fbsql.default_password")
) : resource

Establishes a persistent connection to a FrontBase server.

To set the server port number, use fbsql_select_db().

fbsql_pconnect() acts very much like fbsql_connect() with two major differences:

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use.

This type of links is therefore called 'persistent'.

Parâmetros

hostname

The server host name.

username

The user name for the connection.

password

The password for the connection.

Valor Retornado

Returns a positive FrontBase persistent link identifier on success, or false on error.

Veja Também

  • fbsql_connect() - Open a connection to a FrontBase Server


Send a FrontBase query

  • « fbsql_pconnect
  • fbsql_read_blob »
  • PHP Manual
  • FrontBase Funções
  • Send a FrontBase query

fbsql_query

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_query — Send a FrontBase query

Descrição

fbsql_query ( string $query , resource $link_identifier = ? , int $batch_size = ? ) : resource

Sends a query to the currently active database on the server.

If the query succeeds, you can call fbsql_num_rows() to find out how many rows were returned for a SELECT statement or fbsql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

Parâmetros

query

The SQL query to be executed.

Nota:

The query string shall always end with a semicolon.

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

batch_size

Valor Retornado

fbsql_query() returns true (non-zero) or false to indicate whether or not the query succeeded. A return value of true means that the query was legal and could be executed by the server. It does not indicate anything about the number of rows affected or returned. It is perfectly possible for a query to succeed but affect no rows or return no rows.

For SELECT statements, fbsql_query() returns a new result identifier that you can pass to fbsql_result().

fbsql_query() will also fail and return false if you don't have permission to access the table(s) referenced by the query.

Exemplos

The following query is syntactically invalid, so fbsql_query() fails and returns false:

Exemplo #1 fbsql_query() example

<?php
$result = fbsql_query("SELECT * WHERE 1=1")
    or die ("Invalid query");
?>

The following query is semantically invalid if my_col is not a column in the table my_tbl, so fbsql_query() fails and returns false:

Exemplo #2 fbsql_query() example

<?php
$result = fbsql_query ("SELECT my_col FROM my_tbl;")
    or die ("Invalid query");
?>

Veja Também

  • fbsql_affected_rows() - Get number of affected rows in previous FrontBase operation
  • fbsql_db_query() - Send a FrontBase query
  • fbsql_free_result() - Free result memory
  • fbsql_result() - Get result data
  • fbsql_select_db() - Select a FrontBase database
  • fbsql_connect() - Open a connection to a FrontBase Server


Read a BLOB from the database

  • « fbsql_query
  • fbsql_read_clob »
  • PHP Manual
  • FrontBase Funções
  • Read a BLOB from the database

fbsql_read_blob

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0)

fbsql_read_blob — Read a BLOB from the database

Descrição

fbsql_read_blob ( string $blob_handle , resource $link_identifier = ? ) : string

Reads BLOB data from the database.

If a select statement contains BLOB and/or CLOB columns FrontBase will return the data directly when data is fetched. This default behavior can be changed with fbsql_set_lob_mode() so the fetch functions will return handles to BLOB and CLOB data. If a handle is fetched a user must call fbsql_read_blob() to get the actual BLOB data from the database.

Parâmetros

blob_handle

A BLOB handle, returned by fbsql_create_blob().

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns a string containing the specified BLOB data.

Exemplos

Exemplo #1 fbsql_read_blob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$sql = "SELECT BLOB_COLUMN FROM BLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain the blob data for the first row
fbsql_free_result($rs);

$rs = fbsql_query($sql, $link);
fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain a handle to the BLOB data in the first row
$blob_data = fbsql_read_blob($row_data[0]);
fbsql_free_result($rs);

?>

Veja Também

  • fbsql_create_blob() - Create a BLOB
  • fbsql_read_clob() - Read a CLOB from the database
  • fbsql_set_lob_mode() - Set the LOB retrieve mode for a FrontBase result set


Read a CLOB from the database

  • « fbsql_read_blob
  • fbsql_result »
  • PHP Manual
  • FrontBase Funções
  • Read a CLOB from the database

fbsql_read_clob

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0)

fbsql_read_clob — Read a CLOB from the database

Descrição

fbsql_read_clob ( string $clob_handle , resource $link_identifier = ? ) : string

Reads CLOB data from the database.

If a select statement contains BLOB and/or CLOB columns FrontBase will return the data directly when data is fetched. This default behavior can be changed with fbsql_set_lob_mode() so the fetch functions will return handles to BLOB and CLOB data. If a handle is fetched a user must call fbsql_read_clob() to get the actual CLOB data from the database.

Parâmetros

clob_handle

A CLOB handle, returned by fbsql_create_clob().

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Returns a string containing the specified CLOB data.

Exemplos

Exemplo #1 fbsql_read_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$sql = "SELECT CLOB_COLUMN FROM CLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain the clob data for the first row
fbsql_free_result($rs);

$rs = fbsql_query($sql, $link);
fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain a handle to the CLOB data in the first row
$clob_data = fbsql_read_clob($row_data[0]);
fbsql_free_result($rs);

?>

Veja Também

  • fbsql_create_clob() - Create a CLOB
  • fbsql_read_blob() - Read a BLOB from the database
  • fbsql_set_lob_mode() - Set the LOB retrieve mode for a FrontBase result set


Get result data

  • « fbsql_read_clob
  • fbsql_rollback »
  • PHP Manual
  • FrontBase Funções
  • Get result data

fbsql_result

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_result — Get result data

Descrição

fbsql_result ( resource $result , int $row = ? , mixed $field = ? ) : mixed

Returns the contents of one cell from a FrontBase result set.

When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they're MUCH quicker than fbsql_result().

Calls to fbsql_result() should not be mixed with calls to other functions that deal with the result set.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

row

field

Can be the field's offset, or the field's name, or the field's table dot field's name (tablename.fieldname).

If the column name has been aliased ('select foo as bar from...'), use the alias instead of the column name.

Nota:

Specifying a numeric offset for the field argument is much quicker than specifying a fieldname or tablename.fieldname argument.

Valor Retornado

Veja Também

Recommended high-performance alternatives:

  • fbsql_fetch_row() - Get a result row as an enumerated array
  • fbsql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_assoc() - Fetch a result row as an associative array
  • fbsql_fetch_object() - Fetch a result row as an object


Rollback a transaction to the database

  • « fbsql_result
  • fbsql_rows_fetched »
  • PHP Manual
  • FrontBase Funções
  • Rollback a transaction to the database

fbsql_rollback

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_rollback — Rollback a transaction to the database

Descrição

fbsql_rollback ( resource $link_identifier = ? ) : bool

Ends the current transaction by rolling back all statements issued since last commit.

This command is only needed if autocommit is set to false.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fbsql_autocommit() - Enable or disable autocommit
  • fbsql_commit() - Commits a transaction to the database


Get the number of rows affected by the last statement

  • « fbsql_rollback
  • fbsql_select_db »
  • PHP Manual
  • FrontBase Funções
  • Get the number of rows affected by the last statement

fbsql_rows_fetched

(PHP 5 >= 5.1.0 < 5.3.0)

fbsql_rows_fetched — Get the number of rows affected by the last statement

Descrição

fbsql_rows_fetched ( resource $result ) : int

Gets the number of rows affected by the last statement.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

Valor Retornado

Returns the number of rows, as an integer.


Select a FrontBase database

  • « fbsql_rows_fetched
  • fbsql_set_characterset »
  • PHP Manual
  • FrontBase Funções
  • Select a FrontBase database

fbsql_select_db

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_select_db — Select a FrontBase database

Descrição

fbsql_select_db ( string $database_name = ? , resource $link_identifier = ? ) : bool

Sets the current active database on the given link identifier.

The client contacts FBExec to obtain the port number to use for the connection to the database. If the database name is a number the system will use that as a port number and it will not ask FBExec for the port number. The FrontBase server can be stared as FRontBase -FBExec=No -port=<port number> <database name>.

Every subsequent call to fbsql_query() will be made on the active database.

Parâmetros

database_name

The name of the database to be selected.

If the database is protected with a database password, the you must call fbsql_database_password() before selecting the database.

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fbsql_connect() - Open a connection to a FrontBase Server
  • fbsql_pconnect() - Open a persistent connection to a FrontBase Server
  • fbsql_database_password() - Sets or retrieves the password for a FrontBase database
  • fbsql_query() - Send a FrontBase query


Change input/output character set

  • « fbsql_select_db
  • fbsql_set_lob_mode »
  • PHP Manual
  • FrontBase Funções
  • Change input/output character set

fbsql_set_characterset

(PHP 5 >= 5.1.0 < 5.3.0)

fbsql_set_characterset — Change input/output character set

Descrição

fbsql_set_characterset ( resource $link_identifier , int $characterset , int $in_out_both = ? ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Valor Retornado

Não há valor retornado.


Set the LOB retrieve mode for a FrontBase result set

  • « fbsql_set_characterset
  • fbsql_set_password »
  • PHP Manual
  • FrontBase Funções
  • Set the LOB retrieve mode for a FrontBase result set

fbsql_set_lob_mode

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0)

fbsql_set_lob_mode — Set the LOB retrieve mode for a FrontBase result set

Descrição

fbsql_set_lob_mode ( resource $result , int $lob_mode ) : bool

Sets the mode for retrieving LOB data from the database.

When BLOB and CLOB data is retrieved in FrontBase it can be retrieved direct or indirect. Direct retrieved LOB data will always be fetched no matter the setting of the lob mode. If the LOB data is less than 512 bytes it will always be retrieved directly.

Parâmetros

result

Um identificador de resultado retornado por fbsql_query() ou fbsql_db_query().

lob_mode

Can be one of:

  • FBSQL_LOB_DIRECT - LOB data is retrieved directly. When data is fetched from the database with fbsql_fetch_row(), and other fetch functions, all CLOB and BLOB columns will be returned as ordinary columns. This is the default value on a new FrontBase result.
  • FBSQL_LOB_HANDLE - LOB data is retrieved as handles to the data. When data is fetched from the database with fbsql_fetch_row(), and other fetch functions, LOB data will be returned as a handle to the data if the data is stored indirect or the data if it is stored direct. If a handle is returned it will be a 27 byte string formatted as @'000000000000000000000000'.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fbsql_create_blob() - Create a BLOB
  • fbsql_create_clob() - Create a CLOB
  • fbsql_read_blob() - Read a BLOB from the database
  • fbsql_read_clob() - Read a CLOB from the database


Change the password for a given user

  • « fbsql_set_lob_mode
  • fbsql_set_transaction »
  • PHP Manual
  • FrontBase Funções
  • Change the password for a given user

fbsql_set_password

(PHP 5 < 5.3.0)

fbsql_set_password — Change the password for a given user

Descrição

fbsql_set_password ( resource $link_identifier , string $user , string $password , string $old_password ) : bool

Changes the password for the given user.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

user

The user name.

password

The new password to be set.

old_password

The old password to be replaced.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set the transaction locking and isolation

  • « fbsql_set_password
  • fbsql_start_db »
  • PHP Manual
  • FrontBase Funções
  • Set the transaction locking and isolation

fbsql_set_transaction

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0)

fbsql_set_transaction — Set the transaction locking and isolation

Descrição

fbsql_set_transaction ( resource $link_identifier , int $locking , int $isolation ) : void

Sets the transaction locking and isolation.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

locking

The type of locking to be set. It can be one of the following constants: FBSQL_LOCK_DEFERRED, FBSQL_LOCK_OPTIMISTIC, or FBSQL_LOCK_PESSIMISTIC.

isolation

The type of isolation to be set. It can be one of the following constants: FBSQL_ISO_READ_UNCOMMITTED, FBSQL_ISO_READ_COMMITTED, FBSQL_ISO_REPEATABLE_READ, FBSQL_ISO_SERIALIZABLE, or FBSQL_ISO_VERSIONED.

Valor Retornado

Não há valor retornado.


Start a database on local or remote server

  • « fbsql_set_transaction
  • fbsql_stop_db »
  • PHP Manual
  • FrontBase Funções
  • Start a database on local or remote server

fbsql_start_db

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_start_db — Start a database on local or remote server

Descrição

fbsql_start_db ( string $database_name , resource $link_identifier = ? , string $database_options = ? ) : bool

Start a database on local or remote server.

Parâmetros

database_name

The database name.

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

database_options

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fbsql_db_status() - Get the status for a given database
  • fbsql_stop_db() - Stop a database on local or remote server


Stop a database on local or remote server

  • « fbsql_start_db
  • fbsql_table_name »
  • PHP Manual
  • FrontBase Funções
  • Stop a database on local or remote server

fbsql_stop_db

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_stop_db — Stop a database on local or remote server

Descrição

fbsql_stop_db ( string $database_name , resource $link_identifier = ? ) : bool

Stops a database on local or remote server.

Parâmetros

database_name

The database name.

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fbsql_db_status() - Get the status for a given database
  • fbsql_start_db() - Start a database on local or remote server


Get table name of field

  • « fbsql_stop_db
  • fbsql_tablename »
  • PHP Manual
  • FrontBase Funções
  • Get table name of field

fbsql_table_name

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0)

fbsql_table_name — Get table name of field

Descrição

fbsql_table_name ( resource $result , int $index ) : string

fbsql_table_name() gets the name of the current table in the given result set.

The fbsql_num_rows() function may be used to determine the number of tables in the result pointer.

Parâmetros

result

A result pointer returned by fbsql_list_tables().

index

Integer index for the current table.

Valor Retornado

Returns the name of the table, as a string.

Exemplos

Exemplo #1 fbsql_table_name() example

<?php
fbsql_connect("localhost", "_SYSTEM", "");
$result = fbsql_list_tables("wisconsin");
$i = 0;
while ($i < fbsql_num_rows($result)) {
    $tb_names[$i] = fbsql_table_name($result, $i);
    echo $tb_names[$i] . "<br />";
    $i++;
}
?>


Sinônimo de fbsql_table_name

  • « fbsql_table_name
  • fbsql_username »
  • PHP Manual
  • FrontBase Funções
  • Sinônimo de fbsql_table_name

fbsql_tablename

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0)

fbsql_tablename — Sinônimo de fbsql_table_name()

Descrição

Esta função é um apelido para: fbsql_table_name().


Get or set the username for the connection

  • « fbsql_tablename
  • fbsql_warnings »
  • PHP Manual
  • FrontBase Funções
  • Get or set the username for the connection

fbsql_username

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_username — Get or set the username for the connection

Descrição

fbsql_username ( resource $link_identifier , string $username = ? ) : string

Get or set the username used for the connection.

Parâmetros

link_identifier

Um identificador de link FrontBase retornado porfbsql_connect() ou fbsql_pconnect().

Se opcional e não especificado a função tentará localizar um link aberto ao um servidor FrontBase e se nenhum link for encontrado será tentado criar um como se fbsql_connect() fosse chamado sem argumentos.

username

If provided, this is the new username to set.

Valor Retornado

Returns the current username used with the connection, as a string.

Veja Também

  • fbsql_password() - Get or set the user password used with a connection
  • fbsql_hostname() - Get or set the host name used with a connection


Enable or disable FrontBase warnings

  • « fbsql_username
  • IBM DB2 »
  • PHP Manual
  • FrontBase Funções
  • Enable or disable FrontBase warnings

fbsql_warnings

(PHP 4 >= 4.0.6, PHP 5 < 5.3.0)

fbsql_warnings — Enable or disable FrontBase warnings

Descrição

fbsql_warnings ( bool $OnOff = ? ) : bool

Enables or disables FrontBase warnings.

Parâmetros

OnOff

Whether to enable warnings or no.

Valor Retornado

Returns true if warnings is turned on, false otherwise.

Veja Também

  • fbsql_errno() - Returns the error number from previous operation
  • fbsql_error() - Returns the error message from previous operation


IBM DB2, Cloudscape and Apache Derby

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • IBM DB2 Funções
    • db2_autocommit — Returns or sets the AUTOCOMMIT state for a database connection
    • db2_bind_param — Binds a PHP variable to an SQL statement parameter
    • db2_client_info — Returns an object with properties that describe the DB2 database client
    • db2_close — Closes a database connection
    • db2_column_privileges — Returns a result set listing the columns and associated privileges for a table
    • db2_columns — Returns a result set listing the columns and associated metadata for a table
    • db2_commit — Commits a transaction
    • db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt
    • db2_conn_errormsg — Returns the last connection error message and SQLCODE value
    • db2_connect — Returns a connection to a database
    • db2_cursor_type — Returns the cursor type used by a statement resource
    • db2_escape_string — Used to escape certain characters
    • db2_exec — Executes an SQL statement directly
    • db2_execute — Executes a prepared SQL statement
    • db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set
    • db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set
    • db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set
    • db2_fetch_object — Returns an object with properties representing columns in the fetched row
    • db2_fetch_row — Sets the result set pointer to the next row or requested row
    • db2_field_display_size — Returns the maximum number of bytes required to display a column
    • db2_field_name — Returns the name of the column in the result set
    • db2_field_num — Returns the position of the named column in a result set
    • db2_field_precision — Returns the precision of the indicated column in a result set
    • db2_field_scale — Returns the scale of the indicated column in a result set
    • db2_field_type — Returns the data type of the indicated column in a result set
    • db2_field_width — Returns the width of the current value of the indicated column in a result set
    • db2_foreign_keys — Returns a result set listing the foreign keys for a table
    • db2_free_result — Frees resources associated with a result set
    • db2_free_stmt — Frees resources associated with the indicated statement resource
    • db2_get_option — Retrieves an option value for a statement resource or a connection resource
    • db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection
    • db2_lob_read — Gets a user defined size of LOB files with each invocation
    • db2_next_result — Requests the next result set from a stored procedure
    • db2_num_fields — Returns the number of fields contained in a result set
    • db2_num_rows — Returns the number of rows affected by an SQL statement
    • db2_pclose — Closes a persistent database connection
    • db2_pconnect — Returns a persistent connection to a database
    • db2_prepare — Prepares an SQL statement to be executed
    • db2_primary_keys — Returns a result set listing primary keys for a table
    • db2_procedure_columns — Returns a result set listing stored procedure parameters
    • db2_procedures — Returns a result set listing the stored procedures registered in a database
    • db2_result — Returns a single column from a row in the result set
    • db2_rollback — Rolls back a transaction
    • db2_server_info — Returns an object with properties that describe the DB2 database server
    • db2_set_option — Set options for connection or statement resources
    • db2_special_columns — Returns a result set listing the unique row identifier columns for a table
    • db2_statistics — Returns a result set listing the index and statistics for a table
    • db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement
    • db2_stmt_errormsg — Returns a string containing the last SQL statement error message
    • db2_table_privileges — Returns a result set listing the tables and associated privileges in a database
    • db2_tables — Returns a result set listing the tables and associated metadata in a database


Introdução

These functions enable you to access IBM DB2 Universal Database, IBM Cloudscape, and Apache Derby databases using the DB2 Call Level Interface (DB2 CLI).


Dependências

To connect to IBM DB2 Universal Database for Linux, UNIX, and Windows, or IBM Cloudscape, or Apache Derby, you must install an IBM DB2 Universal Database client on the same computer on which you are running PHP. The extension has been developed and tested with DB2 Version 8.2.

To connect to IBM DB2 Universal Database for z/OS or iSeries, you also require IBM DB2 Connect or the equivalent DRDA gateway software.

Requirements on Linux or Unix

The user invoking the PHP executable or SAPI must specify the DB2 instance before accessing these functions. You can set the name of the DB2 instance in php.ini using the ibm_db2.instance_name configuration option, or you can source the DB2 instance profile before invoking the PHP executable.

If you created a DB2 instance named db2inst1 in /home/db2inst1/, for example, you can add the following line to php.ini:

ibm_db2.instance_name=db2inst1
If you do not set this option in php.ini, you must issue the following command to modify your environment variables to enable access to DB2:
bash$ source /home/db2inst1/sqllib/db2profile
To enable your PHP-enabled Web server to access these functions, you must either set the ibm_db2.instance_name configuration option in php.ini, or source the DB2 instance environment in your Web server start script (typically /etc/init.d/httpd or /etc/init.d/apache).


Instalação

To build the ibm_db2 extension, the DB2 application development header files and libraries must be installed on your system. DB2 does not install these by default, so you may have to return to your DB2 installer and add this option. The header files are included with the DB2 Application Development Client freely available for download from the IBM DB2 Universal Database » support site.

If you add the DB2 application development header files and libraries to a Linux or Unix operating system on which DB2 was already installed, you must issue the command db2iupdt -e to update the symbolic links to the header files and libraries in your DB2 instances.

ibm_db2 is a » PECL extension, so follow the instructions in Instalação das extensões PECL to install the ibm_db2 extension for PHP. Issue the configure command to point to the location of your DB2 header files and libraries as follows:

bash$ ./configure --with-IBM_DB2=/path/to/DB2
The configure command defaults to /opt/IBM/db2/V8.1.

Nota: Note for IIS users

If you are using the ibm_db2 driver with Microsoft Internet Information Server (IIS) you may have to do the following:

  • Install DB2 with extended operating system security.
  • Add the PHP binary path to the PATH system environment variable (default C:\php\).
  • Create another system environment variable equal to the path where the PHP.INI file is located (eg: PHPRC = C:\php\).
  • Add the IUSR_COMPUTERNAME to the DB2USERS group.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

ibm_db2 Opções de Configuração
Nome | Padrão | Modificável | Changelog
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_all_pconnect | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.6.5.
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.5.0.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Available since ibm_db2 1.0.2.
ibm_db2.i5_ignore_userid | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.8.0.

Uma rápida explicação das diretivas de configuração.

ibm_db2.binmode int

This option controls the mode used for converting to and from binary data in the PHP application.

  • 1 (DB2_BINARY)

  • 2 (DB2_CONVERT)

  • 3 (DB2_PASSTHRU)

ibm_db2.i5_all_pconnect int

This option overrides i5 db2_connect() full open and close in the PHP application. When ibm_db2.i5_all_pconnect = 1, all db2 connections become persistent (db2_pconnect()). On i5/OS, db2_pconnect() performs dramatically better with lower machine stress over db2_connect(). This is a convenience override of db2_connect() to evoke db2_pconnect() without PHP source code changes.

  • 0 db2_connect() default full open and close

  • 1 db2_connect() override to db2_pconnect() for persistent connection only

ibm_db2.i5_allow_commit int

This option controls the isolation mode used for i5 schema collections in the PHP application (see i5_commit for override).

  • 0 - commitment control is not used

  • 1 - read uncommitted, dirty reads possible.

  • 2 - read committed, dirty reads are not possible.

  • 3 - repeatable read, dirty reads and non-repeatable reads are not possible

  • 4 - serializeable, dirty reads, non-repeatable reads, and phantoms are not possible

ibm_db2.i5_dbcs_alloc int

This option controls the internal ibm_db2 allocation scheme for large DBCS column buffers.

  • 0 no expanded allocations (see i5_dbcs_alloc for override)

  • 1 use expanded allocations (see i5_dbcs_alloc for override)

ibm_db2.instance_name string

On Linux and UNIX operating systems, this option defines the name of the instance to use for cataloged database connections. If this option is set, its value overrides the DB2INSTANCE environment variable setting.

This option is ignored on Windows operating systems.

ibm_db2.i5_ignore_userid int

This option overrides i5 db2_(p)connect userid and password in the PHP application. When ibm_db2.i5_ignore_userid = 1, all db2 (p)connections become null userid and null password. Therefore Apache jobs connect with the current profile (NOBODY). Use of this override is only for simple DB2 based websites that never require profile switching and therefore can avoid all overhead of server mode additional QSQSRVR jobs. This is a convenience override of db2_(p)connect to set the userid and password values to null without PHP source code changes. This override can be used in combination with ibm_db2.i5_all_pconnect = 1.

  • 0 db2_(p)connect with specified userid and password

  • 1 db2_(p)connect override connect with null userid and null password


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

The ibm_db2 extension returns connection resources, statement resources, and result set resources.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

DB2_BINARY (int)
Specifies that binary data shall be returned as is. This is the default mode.
DB2_CONVERT (int)
Specifies that binary data shall be converted to a hexadecimal encoding and returned as an ASCII string.
DB2_PASSTHRU (int)
Specifies that binary data shall be converted to a null value.
DB2_SCROLLABLE (int)
Specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.
DB2_FORWARD_ONLY (int)
Specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.
DB2_PARAM_IN (int)
Specifies the PHP variable should be bound as an IN parameter for a stored procedure.
DB2_PARAM_OUT (int)
Specifies the PHP variable should be bound as an OUT parameter for a stored procedure.
DB2_PARAM_INOUT (int)
Specifies the PHP variable should be bound as an INOUT parameter for a stored procedure.
DB2_PARAM_FILE (int)
Specifies that the column should be bound directly to a file for input.
DB2_AUTOCOMMIT_ON (int)
Specifies that autocommit should be turned on.
DB2_AUTOCOMMIT_OFF (int)
Specifies that autocommit should be turned off.
DB2_DOUBLE (int)
Specifies that the variable should be bound as a DOUBLE, FLOAT, or REAL data type.
DB2_LONG (int)
Specifies that the variable should be bound as a SMALLINT, INTEGER, or BIGINT data type.
DB2_CHAR (int)
Specifies that the variable should be bound as a CHAR or VARCHAR data type.
DB2_CASE_NATURAL (int)
Specifies that column names will be returned in their natural case.
DB2_CASE_LOWER (int)
Specifies that column names will be returned in lower case.
DB2_CASE_UPPER (int)
Specifies that column names will be returned in upper case.
DB2_DEFERRED_PREPARE_ON (int)
Specifies that deferred prepare should be turned on for the specified statement resource.
DB2_DEFERRED_PREPARE_OFF (int)
Specifies that deferred prepare should be turned off for the specified statement resource.


IBM DB2 Funções

Índice

  • db2_autocommit — Returns or sets the AUTOCOMMIT state for a database connection
  • db2_bind_param — Binds a PHP variable to an SQL statement parameter
  • db2_client_info — Returns an object with properties that describe the DB2 database client
  • db2_close — Closes a database connection
  • db2_column_privileges — Returns a result set listing the columns and associated privileges for a table
  • db2_columns — Returns a result set listing the columns and associated metadata for a table
  • db2_commit — Commits a transaction
  • db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg — Returns the last connection error message and SQLCODE value
  • db2_connect — Returns a connection to a database
  • db2_cursor_type — Returns the cursor type used by a statement resource
  • db2_escape_string — Used to escape certain characters
  • db2_exec — Executes an SQL statement directly
  • db2_execute — Executes a prepared SQL statement
  • db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object — Returns an object with properties representing columns in the fetched row
  • db2_fetch_row — Sets the result set pointer to the next row or requested row
  • db2_field_display_size — Returns the maximum number of bytes required to display a column
  • db2_field_name — Returns the name of the column in the result set
  • db2_field_num — Returns the position of the named column in a result set
  • db2_field_precision — Returns the precision of the indicated column in a result set
  • db2_field_scale — Returns the scale of the indicated column in a result set
  • db2_field_type — Returns the data type of the indicated column in a result set
  • db2_field_width — Returns the width of the current value of the indicated column in a result set
  • db2_foreign_keys — Returns a result set listing the foreign keys for a table
  • db2_free_result — Frees resources associated with a result set
  • db2_free_stmt — Frees resources associated with the indicated statement resource
  • db2_get_option — Retrieves an option value for a statement resource or a connection resource
  • db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection
  • db2_lob_read — Gets a user defined size of LOB files with each invocation
  • db2_next_result — Requests the next result set from a stored procedure
  • db2_num_fields — Returns the number of fields contained in a result set
  • db2_num_rows — Returns the number of rows affected by an SQL statement
  • db2_pclose — Closes a persistent database connection
  • db2_pconnect — Returns a persistent connection to a database
  • db2_prepare — Prepares an SQL statement to be executed
  • db2_primary_keys — Returns a result set listing primary keys for a table
  • db2_procedure_columns — Returns a result set listing stored procedure parameters
  • db2_procedures — Returns a result set listing the stored procedures registered in a database
  • db2_result — Returns a single column from a row in the result set
  • db2_rollback — Rolls back a transaction
  • db2_server_info — Returns an object with properties that describe the DB2 database server
  • db2_set_option — Set options for connection or statement resources
  • db2_special_columns — Returns a result set listing the unique row identifier columns for a table
  • db2_statistics — Returns a result set listing the index and statistics for a table
  • db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg — Returns a string containing the last SQL statement error message
  • db2_table_privileges — Returns a result set listing the tables and associated privileges in a database
  • db2_tables — Returns a result set listing the tables and associated metadata in a database


Returns or sets the AUTOCOMMIT state for a database connection

  • « IBM DB2 Funções
  • db2_bind_param »
  • PHP Manual
  • IBM DB2 Funções
  • Returns or sets the AUTOCOMMIT state for a database connection

db2_autocommit

(PECL ibm_db2 >= 1.0.0)

db2_autocommit — Returns or sets the AUTOCOMMIT state for a database connection

Descrição

db2_autocommit ( resource $connection , bool $value = ? ) : mixed

Sets or gets the AUTOCOMMIT behavior of the specified connection resource.

Parâmetros

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

value

One of the following constants:

DB2_AUTOCOMMIT_OFF

Turns AUTOCOMMIT off.

DB2_AUTOCOMMIT_ON

Turns AUTOCOMMIT on.

Valor Retornado

When db2_autocommit() receives only the connection parameter, it returns the current state of AUTOCOMMIT for the requested connection as an integer value. A value of DB2_AUTOCOMMIT_OFF indicates that AUTOCOMMIT is off, while a value of DB2_AUTOCOMMIT_ON indicates that AUTOCOMMIT is on.

When db2_autocommit() receives both the connection parameter and autocommit parameter, it attempts to set the AUTOCOMMIT state of the requested connection to the corresponding state. Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Retrieving the AUTOCOMMIT value for a connection

In the following example, a connection which has been created with AUTOCOMMIT turned off is tested with the db2_autocommit() function.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);
$ac = db2_autocommit($conn);
if ($ac == DB2_AUTOCOMMIT_OFF) {
    print "$ac -- AUTOCOMMIT is off.";
} else {
    print "$ac -- AUTOCOMMIT is on.";
}
?>

O exemplo acima irá imprimir:

0 -- AUTOCOMMIT is off.

Exemplo #2 Setting the AUTOCOMMIT value for a connection

In the following example, a connection which was initially created with AUTOCOMMIT turned off has its behavior changed to turn AUTOCOMMIT on.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);

// Turn AUTOCOMMIT on
$rc = db2_autocommit($conn, DB2_AUTOCOMMIT_ON);
if ($rc) {
    print "Turning AUTOCOMMIT on succeeded.\n";
}

// Check AUTOCOMMIT state
$ac = db2_autocommit($conn);
if ($ac == DB2_AUTOCOMMIT_OFF) {
    print "$ac -- AUTOCOMMIT is off.";
} else {
    print "$ac -- AUTOCOMMIT is on.";
}
?>

O exemplo acima irá imprimir:

Turning AUTOCOMMIT on succeeded.
1 -- AUTOCOMMIT is on.

Veja Também

  • db2_connect() - Returns a connection to a database
  • db2_pconnect() - Returns a persistent connection to a database


Binds a PHP variable to an SQL statement parameter

  • « db2_autocommit
  • db2_client_info »
  • PHP Manual
  • IBM DB2 Funções
  • Binds a PHP variable to an SQL statement parameter

db2_bind_param

(PECL ibm_db2 >= 1.0.0)

db2_bind_param — Binds a PHP variable to an SQL statement parameter

Descrição

db2_bind_param ( resource $stmt , int $parameter_number , string $variable_name , int $parameter_type = ? , int $data_type = 0 , int $precision = -1 , int $scale = 0 ) : bool

Binds a PHP variable to an SQL statement parameter in a statement resource returned by db2_prepare(). This function gives you more control over the parameter type, data type, precision, and scale for the parameter than simply passing the variable as part of the optional input array to db2_execute().

Parâmetros

stmt

A prepared statement returned from db2_prepare().

parameter_number

Specifies the 1-indexed position of the parameter in the prepared statement.

variable_name

A string specifying the name of the PHP variable to bind to the parameter specified by parameter_number.

parameter_type

A constant specifying whether the PHP variable should be bound to the SQL parameter as an input parameter (DB2_PARAM_IN), an output parameter (DB2_PARAM_OUT), or as a parameter that accepts input and returns output (DB2_PARAM_INOUT). To avoid memory overhead, you can also specify DB2_PARAM_FILE to bind the PHP variable to the name of a file that contains large object (BLOB, CLOB, or DBCLOB) data.

data_type

A constant specifying the SQL data type that the PHP variable should be bound as: one of DB2_BINARY, DB2_CHAR, DB2_DOUBLE, or DB2_LONG .

precision

Specifies the precision with which the variable should be bound to the database. This parameter can also be used for retrieving XML output values from stored procedures. A non-negative value specifies the maximum size of the XML data that will be retrieved from the database. If this parameter is not used, a default of 1MB will be assumed for retrieving the XML output value from the stored procedure.

scale

Specifies the scale with which the variable should be bound to the database.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Binding PHP variables to a prepared statement

The SQL statement in the following example uses two input parameters in the WHERE clause. We call db2_bind_param() to bind two PHP variables to the corresponding SQL parameters. Notice that the PHP variables do not have to be declared or assigned before the call to db2_bind_param(); in the example, $lower_limit is assigned a value before the call to db2_bind_param(), but $upper_limit is assigned a value after the call to db2_bind_param(). The variables must be bound and, for parameters that accept input, must have any value assigned, before calling db2_execute().

<?php

$sql = 'SELECT name, breed, weight FROM animals
    WHERE weight > ? AND weight < ?';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

// We can declare the variable before calling db2_bind_param()
$lower_limit = 1;

db2_bind_param($stmt, 1, "lower_limit", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "upper_limit", DB2_PARAM_IN);

// We can also declare the variable after calling db2_bind_param()
$upper_limit = 15.0;

if (db2_execute($stmt)) {
    while ($row = db2_fetch_array($stmt)) {
        print "{$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

O exemplo acima irá imprimir:

Pook, cat, 3.2
Rickety Ride, goat, 9.7
Peaches, dog, 12.3

Exemplo #2 Calling stored procedures with IN and OUT parameters

The stored procedure match_animal in the following example accepts three different parameters:

  1. an input (IN) parameter that accepts the name of the first animal as input

  2. an input-output (INOUT) parameter that accepts the name of the second animal as input and returns the string TRUE if an animal in the database matches that name

  3. an output (OUT) parameter that returns the sum of the weight of the two identified animals

In addition, the stored procedure returns a result set consisting of the animals listed in alphabetic order starting at the animal corresponding to the input value of the first parameter and ending at the animal corresponding to the input value of the second parameter.

<?php

$sql = 'CALL match_animal(?, ?, ?)';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

$name = "Peaches";
$second_name = "Rickety Ride";
$weight = 0;

db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "second_name", DB2_PARAM_INOUT);
db2_bind_param($stmt, 3, "weight", DB2_PARAM_OUT);

print "Values of bound parameters _before_ CALL:\n";
print "  1: {$name} 2: {$second_name} 3: {$weight}\n\n";

if (db2_execute($stmt)) {
    print "Values of bound parameters _after_ CALL:\n";
    print "  1: {$name} 2: {$second_name} 3: {$weight}\n\n";

    print "Results:\n";
    while ($row = db2_fetch_array($stmt)) {
        print "  {$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

O exemplo acima irá imprimir:

Values of bound parameters _before_ CALL:
  1: Peaches 2: Rickety Ride 3: 0

Values of bound parameters _after_ CALL:
  1: Peaches 2: TRUE 3: 22

Results:
  Peaches, dog, 12.3
  Pook, cat, 3.2
  Rickety Ride, goat, 9.7

Exemplo #3 Inserting a binary large object (BLOB) directly from a file

The data for large objects are typically stored in files, such as XML documents or audio files. Rather than reading an entire file into a PHP variable, and then binding that PHP variable into an SQL statement, you can avoid some memory overhead by binding the file directly to the input parameter of your SQL statement. The following example demonstrates how to bind a file directly into a BLOB column.

<?php
$stmt = db2_prepare($conn, "INSERT INTO animal_pictures(picture) VALUES (?)");

$picture = "/opt/albums/spook/grooming.jpg";
$rc = db2_bind_param($stmt, 1, "picture", DB2_PARAM_FILE);
$rc = db2_execute($stmt);
?>

Veja Também

  • db2_execute() - Executes a prepared SQL statement
  • db2_prepare() - Prepares an SQL statement to be executed


Returns an object with properties that describe the DB2 database client

  • « db2_bind_param
  • db2_close »
  • PHP Manual
  • IBM DB2 Funções
  • Returns an object with properties that describe the DB2 database client

db2_client_info

(PECL ibm_db2 >= 1.1.1)

db2_client_info — Returns an object with properties that describe the DB2 database client

Descrição

db2_client_info ( resource $connection ) : object

This function returns an object with read-only properties that return information about the DB2 database client. The following table lists the DB2 client properties:

DB2 client properties
Property name | Return type | Description
APPL_CODEPAGE | int | The application code page.
CONN_CODEPAGE | int | The code page for the current connection.
DATA_SOURCE_NAME | string | The data source name (DSN) used to create the current connection to the database.
DRIVER_NAME | string | The name of the library that implements the DB2 Call Level Interface (CLI) specification.
DRIVER_ODBC_VER | string | The version of ODBC that the DB2 client supports. This returns a string "MM.mm" where MM is the major version and mm is the minor version. The DB2 client always returns "03.51".
DRIVER_VER | string | The version of the client, in the form of a string "MM.mm.uuuu" where MM is the major version, mm is the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8, minor version 2, update 1.
ODBC_SQL_CONFORMANCE string

The level of ODBC SQL grammar supported by the client:

MINIMUM

Supports the minimum ODBC SQL grammar.

CORE

Supports the core ODBC SQL grammar.

EXTENDED

Supports extended ODBC SQL grammar.

ODBC_VER | string | The version of ODBC that the ODBC driver manager supports. This returns a string "MM.mm.rrrr" where MM is the major version, mm is the minor version, and rrrr is the release. The DB2 client always returns "03.01.0000".

Parâmetros

connection

Specifies an active DB2 client connection.

Valor Retornado

Returns an object on a successful call. Returns false on failure.

Exemplos

Exemplo #1 A db2_client_info() example

To retrieve information about the client, you must pass a valid database connection resource to db2_client_info().

<?php
$conn = db2_connect( 'SAMPLE', 'db2inst1', 'ibmdb2' );
$client = db2_client_info( $conn );

if ($client) {
    echo "DRIVER_NAME: ";           var_dump( $client->DRIVER_NAME );
    echo "DRIVER_VER: ";            var_dump( $client->DRIVER_VER );
    echo "DATA_SOURCE_NAME: ";      var_dump( $client->DATA_SOURCE_NAME );
    echo "DRIVER_ODBC_VER: ";       var_dump( $client->DRIVER_ODBC_VER );
    echo "ODBC_VER: ";              var_dump( $client->ODBC_VER );
    echo "ODBC_SQL_CONFORMANCE: ";  var_dump( $client->ODBC_SQL_CONFORMANCE );
    echo "APPL_CODEPAGE: ";         var_dump( $client->APPL_CODEPAGE );
    echo "CONN_CODEPAGE: ";         var_dump( $client->CONN_CODEPAGE );
}
else {
    echo "Error retrieving client information.
     Perhaps your database connection was invalid.";
}
db2_close($conn);

?>

O exemplo acima irá imprimir:

DRIVER_NAME: string(8) "libdb2.a"
DRIVER_VER: string(10) "08.02.0001"
DATA_SOURCE_NAME: string(6) "SAMPLE"
DRIVER_ODBC_VER: string(5) "03.51"
ODBC_VER: string(10) "03.01.0000"
ODBC_SQL_CONFORMANCE: string(8) "EXTENDED"
APPL_CODEPAGE: int(819)
CONN_CODEPAGE: int(819)

Veja Também

  • db2_server_info() - Returns an object with properties that describe the DB2 database server


Closes a database connection

  • « db2_client_info
  • db2_column_privileges »
  • PHP Manual
  • IBM DB2 Funções
  • Closes a database connection

db2_close

(PECL ibm_db2 >= 1.0.0)

db2_close — Closes a database connection

Descrição

db2_close ( resource $connection ) : bool

This function closes a DB2 client connection created with db2_connect() and returns the corresponding resources to the database server.

If you attempt to close a persistent DB2 client connection created with db2_pconnect(), the close request is ignored and the persistent DB2 client connection remains available for the next caller.

Parâmetros

connection

Specifies an active DB2 client connection.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Closing a connection

The following example demonstrates a successful attempt to close a connection to an IBM DB2, Cloudscape, or Apache Derby database.

<?php
$conn = db2_connect('SAMPLE', 'db2inst1', 'ibmdb2');
$rc = db2_close($conn);
if ($rc) {
    echo "Connection was successfully closed.";
}
?>

O exemplo acima irá imprimir:

Connection was successfully closed.

Veja Também

  • db2_connect() - Returns a connection to a database
  • db2_pclose() - Closes a persistent database connection
  • db2_pconnect() - Returns a persistent connection to a database


Returns a result set listing the columns and associated privileges for a table

  • « db2_close
  • db2_columns »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a result set listing the columns and associated privileges for a table

db2_column_privileges

(PECL ibm_db2 >= 1.0.0)

db2_column_privileges — Returns a result set listing the columns and associated privileges for a table

Descrição

db2_column_privileges ( resource $connection , string $qualifier = ? , string $schema = ? , string $table-name = ? , string $column-name = ? ) : resource

Returns a result set listing the columns and associated privileges for a table.

Parâmetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables. To match all schemas, pass null or an empty string.

table-name

The name of the table or view. To match all tables in the database, pass null or an empty string.

column-name

The name of the column. To match all columns in the table, pass null or an empty string.

Valor Retornado

Returns a statement resource with a result set containing rows describing the column privileges for columns matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema.
TABLE_NAME | Name of the table or view.
COLUMN_NAME | Name of the column.
GRANTOR | Authorization ID of the user who granted the privilege.
GRANTEE | Authorization ID of the user to whom the privilege was granted.
PRIVILEGE | The privilege for the column.
IS_GRANTABLE | Whether the GRANTEE is permitted to grant this privilege to other users.

Veja Também

  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a result set listing the columns and associated metadata for a table

  • « db2_column_privileges
  • db2_commit »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a result set listing the columns and associated metadata for a table

db2_columns

(PECL ibm_db2 >= 1.0.0)

db2_columns — Returns a result set listing the columns and associated metadata for a table

Descrição

db2_columns ( resource $connection , string $qualifier = ? , string $schema = ? , string $table-name = ? , string $column-name = ? ) : resource

Returns a result set listing the columns and associated metadata for a table.

Parâmetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables. To match all schemas, pass '%'.

table-name

The name of the table or view. To match all tables in the database, pass null or an empty string.

column-name

The name of the column. To match all columns in the table, pass null or an empty string.

Valor Retornado

Returns a statement resource with a result set containing rows describing the columns matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema.
TABLE_NAME | Name of the table or view.
COLUMN_NAME | Name of the column.
DATA_TYPE | The SQL data type for the column represented as an integer value.
TYPE_NAME | A string representing the data type for the column.
COLUMN_SIZE | An integer value representing the size of the column.
BUFFER_LENGTH | Maximum number of bytes necessary to store data from this column.
DECIMAL_DIGITS | The scale of the column, or null where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or null (representing a data type for which radix is not applicable).
NULLABLE | An integer value representing whether the column is nullable or not.
REMARKS | Description of the column.
COLUMN_DEF | Default value for the column.
SQL_DATA_TYPE | An integer value representing the size of the column.
SQL_DATETIME_SUB | Returns an integer value representing a datetime subtype code, or null for SQL data types to which this does not apply.
CHAR_OCTET_LENGTH | Maximum length in octets for a character data type column, which matches COLUMN_SIZE for single-byte character set data, or null for non-character data types.
ORDINAL_POSITION | The 1-indexed position of the column in the table.
IS_NULLABLE | A string value where 'YES' means that the column is nullable and 'NO' means that the column is not nullable.

Veja Também

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Commits a transaction

  • « db2_columns
  • db2_conn_error »
  • PHP Manual
  • IBM DB2 Funções
  • Commits a transaction

db2_commit

(PECL ibm_db2 >= 1.0.0)

db2_commit — Commits a transaction

Descrição

db2_commit ( resource $connection ) : bool

Commits an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_commit() is not necessary unless AUTOCOMMIT has been turned off for the connection resource.

Parâmetros

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • db2_autocommit() - Returns or sets the AUTOCOMMIT state for a database connection
  • db2_rollback() - Rolls back a transaction


Returns a string containing the SQLSTATE returned by the last connection attempt

  • « db2_commit
  • db2_conn_errormsg »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a string containing the SQLSTATE returned by the last connection attempt

db2_conn_error

(PECL ibm_db2 >= 1.0.0)

db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt

Descrição

db2_conn_error ( resource $connection = ? ) : string

db2_conn_error() returns an SQLSTATE value representing the reason the last attempt to connect to a database failed. As db2_connect() returns false in the event of a failed connection attempt, you do not pass any parameters to db2_conn_error() to retrieve the SQLSTATE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the SQLSTATE value for a specific connection.

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_conn_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

Parâmetros

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

Valor Retornado

Returns the SQLSTATE value resulting from a failed connection attempt. Returns an empty string if there is no error associated with the last connection attempt.

Exemplos

Exemplo #1 Retrieving an SQLSTATE value for a failed connection attempt

The following example demonstrates how to return an SQLSTATE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
    print "SQLSTATE value: " . db2_conn_error();
}
?>

O exemplo acima irá imprimir:

SQLSTATE value: 08001

Veja Também

  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_connect() - Returns a connection to a database
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message


Returns the last connection error message and SQLCODE value

  • « db2_conn_error
  • db2_connect »
  • PHP Manual
  • IBM DB2 Funções
  • Returns the last connection error message and SQLCODE value

db2_conn_errormsg

(PECL ibm_db2 >= 1.0.0)

db2_conn_errormsg — Returns the last connection error message and SQLCODE value

Descrição

db2_conn_errormsg ( resource $connection = ? ) : string

db2_conn_errormsg() returns an error message and SQLCODE value representing the reason the last database connection attempt failed. As db2_connect() returns false in the event of a failed connection attempt, do not pass any parameters to db2_conn_errormsg() to retrieve the associated error message and SQLCODE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the associated error message and SQLCODE value for a specific connection.

Parâmetros

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

Valor Retornado

Returns a string containing the error message and SQLCODE value resulting from a failed connection attempt. If there is no error associated with the last connection attempt, db2_conn_errormsg() returns an empty string.

Exemplos

Exemplo #1 Retrieving the error message returned by a failed connection attempt

The following example demonstrates how to return an error message and SQLCODE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
    print db2_conn_errormsg();
}
?>

O exemplo acima irá imprimir:

[IBM][CLI Driver] SQL1013N  The database alias name
or database name "BADNAME" could not be found.  SQLSTATE=42705
 SQLCODE=-1013

Veja Também

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_connect() - Returns a connection to a database
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message


Returns a connection to a database

  • « db2_conn_errormsg
  • db2_cursor_type »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a connection to a database

db2_connect

(PECL ibm_db2 >= 1.0.0)

db2_connect — Returns a connection to a database

Descrição

db2_connect ( string $database , string $username , string $password , array $options = ? ) : resource

Creates a new connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database.

Parâmetros

database

For a cataloged connection to a database, database represents the database alias in the DB2 client catalog.

For an uncataloged connection to a database, database represents a complete connection string in the following format:

DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;
where the parameters represent the following values:
database

The name of the database.

hostname

The hostname or IP address of the database server.

port

The TCP/IP port on which the database is listening for requests.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

username

The username with which you are connecting to the database.

For uncataloged connections, you must pass a null value or empty string.

password

The password with which you are connecting to the database.

For uncataloged connections, you must pass a null value or empty string.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

The following new option is available in ibm_db2 version 1.7.0 and later.

trustedcontext

Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context on for this connection handle. This parameter cannot be set using db2_set_option().

This key works only if the database is cataloged (even if the database is local), or if you specify the full DSN when you create the connection.

To catalog the database, use following commands:

db2 catalog tcpip node loopback remote <SERVERNAME> server <SERVICENAME>
db2 catalog database <LOCALDBNAME> as <REMOTEDBNAME> at node loopback
db2 "update dbm cfg using svcename <SERVICENAME>"
db2set DB2COMM=TCPIP

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later.

i5_lib

A character value that indicates the default library that will be used for resolving unqualified file references. This is not valid if the connection is using system naming mode.

i5_naming

DB2_I5_NAMING_ON value turns on DB2 UDB CLI iSeries system naming mode. Files are qualified using the slash (/) delimiter. Unqualified files are resolved using the library list for the job.

DB2_I5_NAMING_OFF value turns off DB2 UDB CLI default naming mode, which is SQL naming. Files are qualified using the period (.) delimiter. Unqualified files are resolved using either the default library or the current user ID.

i5_commit

The i5_commit attribute should be set before the db2_connect(). If the value is changed after the connection has been established, and the connection is to a remote data source, the change does not take effect until the next successful db2_connect() for the connection handle.

Nota:

The php.ini setting ibm_db2.i5_allow_commit==0 or DB2_I5_TXN_NO_COMMIT is the default, but may be overridden with the i5_commit option.

DB2_I5_TXN_NO_COMMIT - Commitment control is not used.

DB2_I5_TXN_READ_UNCOMMITTED - Dirty reads, nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_READ_COMMITTED - Dirty reads are not possible. Nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_REPEATABLE_READ - Dirty reads and nonrepeatable reads are not possible. Phantoms are possible.

DB2_I5_TXN_SERIALIZABLE - Transactions are serializable. Dirty reads, non-repeatable reads, and phantoms are not possible

i5_query_optimize

DB2_FIRST_IO All queries are optimized with the goal of returning the first page of output as fast as possible. This goal works well when the output is controlled by a user who is most likely to cancel the query after viewing the first page of output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause.

DB2_ALL_IO All queries are optimized with the goal of running the entire query to completion in the shortest amount of elapsed time. This is a good option when the output of a query is being written to a file or report, or the interface is queuing the output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause. This is the default.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ON value turns on DB2 6X allocation scheme for DBCS translation column size growth.

DB2_I5_DBCS_ALLOC_OFF value turns off DB2 6X allocation scheme for DBCS translation column size growth.

Note: php.ini setting ibm_db2.i5_dbcs_alloc==0 or DB2_I5_DBCS_ALLOC_OFF is the default, but may be overridden with the i5_dbcs_alloc option.

i5_date_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) date format yyyy-mm-dd is used. This is the default.

DB2_I5_FMT_USA - The United States date format mm/dd/yyyy is used.

DB2_I5_FMT_EUR - The European date format dd.mm.yyyy is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard date format yyyy-mm-dd is used.

DB2_I5_FMT_MDY - The date format mm/dd/yyyy is used.

DB2_I5_FMT_DMY - The date format dd/mm/yyyy is used.

DB2_I5_FMT_YMD - The date format yy/mm/dd is used.

DB2_I5_FMT_JUL - The Julian date format yy/ddd is used.

DB2_I5_FMT_JOB - The job default is used.

i5_date_sep

DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This is the default.

DB2_I5_SEP_DASH - A dash ( - ) is used as the date separator.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the date separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the date separator.

DB2_I5_SEP_BLANK - A blank is used as the date separator.

DB2_I5_SEP_JOB - The job default is used

i5_time_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) time format hh.mm.ss is used. This is the default.

DB2_I5_FMT_USA - The United States time format hh:mmxx is used, where xx is AM or PM.

DB2_I5_FMT_EUR - The European time format hh.mm.ss is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard time format hh:mm:ss is used.

DB2_I5_FMT_HMS - The hh:mm:ss format is used.

i5_time_sep

DB2_I5_SEP_COLON - A colon ( : ) is used as the time separator. This is the default.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the time separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the time separator.

DB2_I5_SEP_BLANK - A blank is used as the time separator.

DB2_I5_SEP_JOB - The job default is used.

i5_decimal_sep

DB2_I5_SEP_PERIOD - A period ( . ) is used as the decimal separator. This is the default.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the decimal separator.

DB2_I5_SEP_JOB - The job default is used.

The following new i5/OS option is available in ibm_db2 version 1.8.0 and later.

i5_libl

A character value that indicates the library list that will be used for resolving unqualified file references. Specify the library list elements separated by blanks 'i5_libl'=>"MYLIB YOURLIB ANYLIB".

Nota:

i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available in i5/OS V5R4 and later.

Valor Retornado

Returns a connection handle resource if the connection attempt is successful. If the connection attempt fails, db2_connect() returns false.

Exemplos

Exemplo #1 Creating a cataloged connection

Cataloged connections require you to have previously cataloged the target database through the DB2 Command Line Processor (CLP) or DB2 Configuration Assistant.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$conn = db2_connect($database, $user, $password);

if ($conn) {
    echo "Connection succeeded.";
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

O exemplo acima irá imprimir:

Connection succeeded.

Exemplo #2 Creating an uncataloged connection

An uncataloged connection enables you to dynamically connect to a database.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$hostname = 'localhost';
$port = 50000;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .
  "HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string, '', '');

if ($conn) {
    echo "Connection succeeded.";
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

O exemplo acima irá imprimir:

Connection succeeded.

Exemplo #3 Creating a connection with autocommit off by default

Passing an array of options to db2_connect() enables you to modify the default behavior of the connection handle.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);

$conn = db2_connect($database, $user, $password, $options);

if ($conn) {
    echo "Connection succeeded.\n";
    if (db2_autocommit($conn)) {
         echo "Autocommit is on.\n";
    }
    else {
         echo "Autocommit is off.\n";
    }
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

O exemplo acima irá imprimir:

Connection succeeded.
Autocommit is off.

Exemplo #4 i5/OS best performance

To achieve best performance for your i5/OS ibm_db2 1.5.1 PHP application use the default host, userid, and password for your db2_connect().

<?php
  $library = "ADC";
  $i5 = db2_connect("", "", "", array("i5_lib"=>"qsys2"));
  $result = db2_exec($i5,
       "select * from systables where table_schema = '$library'");
  while ($row = db2_fetch_both($result)) {
     echo $row['TABLE_NAME']."</br>";
  }
  db2_close($i5);
?>

O exemplo acima irá imprimir:

ANIMALS
NAMES
PICTURES

Exemplo #5 Using trusted context

The following example shows how to enable trusted context, switch users, and get the current user ID.

<?php

$database = "SAMPLE";
$hostname = "localhost";
$port = 50000;
$authID = "db2inst1";
$auth_pass = "ibmdb2";

$tc_user = "tcuser";
$tc_pass = "tcpassword";

$dsn = "DATABASE=$database;HOSTNAME=$hostname;PORT=$port;
  PROTOCOL=TCPIP;UID=$authID;PWD=$auth_pass;";
$options = array ("trustedcontext" => DB2_TRUSTED_CONTEXT_ENABLE);

$tc_conn = db2_connect($dsn, "", "", $options);
if($tc_conn) {
    echo "Explicit trusted connection succeeded.\n";

    if(db2_get_option($tc_conn, "trustedcontext")) {
        $userBefore = db2_get_option($tc_conn, "trusted_user");

        //Do some work as user 1.

        //Switching to trusted user.
        $parameters = array("trusted_user" => $tc_user,
          "trusted_password" => $tcuser_pass);
        $res = db2_set_option ($tc_conn, $parameters, 1);

        $userAfter = db2_get_option($tc_conn, "trusted_user");
        //Do more work as trusted user.

        if($userBefore != $userAfter) {
            echo "User has been switched." . "\n";
        }
    }

    db2_close($tc_conn);
}
else {
    echo "Explicit trusted connection failed.\n";
}
?>

O exemplo acima irá imprimir:

Explicit trusted connection succeeded.
User has been switched.

Veja Também

  • db2_close() - Closes a database connection
  • db2_pconnect() - Returns a persistent connection to a database


Returns the cursor type used by a statement resource

  • « db2_connect
  • db2_escape_string »
  • PHP Manual
  • IBM DB2 Funções
  • Returns the cursor type used by a statement resource

db2_cursor_type

(PECL ibm_db2 >= 1.0.0)

db2_cursor_type — Returns the cursor type used by a statement resource

Descrição

db2_cursor_type ( resource $stmt ) : int

Returns the cursor type used by a statement resource. Use this to determine if you are working with a forward-only cursor or scrollable cursor.

Parâmetros

stmt

A valid statement resource.

Valor Retornado

Returns either DB2_FORWARD_ONLY if the statement resource uses a forward-only cursor or DB2_SCROLLABLE if the statement resource uses a scrollable cursor.

Veja Também

  • db2_prepare() - Prepares an SQL statement to be executed


Used to escape certain characters

  • « db2_cursor_type
  • db2_exec »
  • PHP Manual
  • IBM DB2 Funções
  • Used to escape certain characters

db2_escape_string

(PECL ibm_db2 >= 1.6.0)

db2_escape_string — Used to escape certain characters

Descrição

db2_escape_string ( string $string_literal ) : string

Prepends backslashes to special characters in the string argument.

Parâmetros

string_literal

The string that contains special characters that need to be modified. Characters that are prepended with a backslash are \x00, \n, \r, \, ', " and \x1a.

Valor Retornado

Returns string_literal with the special characters noted above prepended with backslashes.

Exemplos

Exemplo #1 A db2_escape_string() example

Result of using the db2_escape_string() function

<?php

$conn = db2_connect($database, $user, $password);

if ($conn) {
    $str[0] = "All characters: \x00 , \n , \r , \ , ' , \" , \x1a .";
    $str[1] = "Backslash (\). Single quote ('). Double quote (\")";
    $str[2] = "The NULL character \0 must be quoted as well";
    $str[3] = "Intersting characters: \x1a , \x00 .";
    $str[4] = "Nothing to quote";
    $str[5] = 200676;
    $str[6] = "";

    foreach( $str as $string ) {
        echo "db2_escape_string: " . db2_escape_string($string). "\n";
    }
}
?>

O exemplo acima irá imprimir:

db2_escape_string: All characters: \0 , \n , \r , \\ , \' , \" , \Z .
db2_escape_string: Backslash (\\). Single quote (\'). Double quote (\")
db2_escape_string: The NULL character \0 must be quoted as well
db2_escape_string: Intersting characters: \Z , \0 .
db2_escape_string: Nothing to quote
db2_escape_string: 200676
db2_escape_string:

Veja Também

  • db2_prepare() - Prepares an SQL statement to be executed


Executes an SQL statement directly

  • « db2_escape_string
  • db2_execute »
  • PHP Manual
  • IBM DB2 Funções
  • Executes an SQL statement directly

db2_exec

(PECL ibm_db2 >= 1.0.0)

db2_exec — Executes an SQL statement directly

Descrição

db2_exec ( resource $connection , string $statement , array $options = ? ) : resource

Executes an SQL statement directly.

If you plan to interpolate PHP variables into the SQL statement, understand that this is one of the more common security exposures. Consider calling db2_prepare() to prepare an SQL statement with parameter markers for input values. Then you can call db2_execute() to pass in the input values and avoid SQL injection attacks.

If you plan to repeatedly issue the same SQL statement with different parameters, consider calling db2_prepare() and db2_execute() to enable the database server to reuse its access plan and increase the efficiency of your database access.

Parâmetros

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

statement

An SQL statement. The statement cannot contain any parameter markers.

options

An associative array containing statement options. You can use this parameter to request a scrollable cursor on database servers that support this functionality.

For a description of valid statement options, see db2_set_option().

Valor Retornado

Returns a statement resource if the SQL statement was issued successfully, or false if the database failed to execute the SQL statement.

Exemplos

Exemplo #1 Creating a table with db2_exec()

The following example uses db2_exec() to issue a set of DDL statements in the process of creating a table.

<?php
$conn = db2_connect($database, $user, $password);

// Create the test table
$create = 'CREATE TABLE animals (id INTEGER, breed VARCHAR(32),
    name CHAR(16), weight DECIMAL(7,2))';
$result = db2_exec($conn, $create);
if ($result) {
    print "Successfully created the table.\n";
}

// Populate the test table
$animals = array(
    array(0, 'cat', 'Pook', 3.2),
    array(1, 'dog', 'Peaches', 12.3),
    array(2, 'horse', 'Smarty', 350.0),
    array(3, 'gold fish', 'Bubbles', 0.1),
    array(4, 'budgerigar', 'Gizmo', 0.2),
    array(5, 'goat', 'Rickety Ride', 9.7),
    array(6, 'llama', 'Sweater', 150)
);

foreach ($animals as $animal) {
    $rc = db2_exec($conn, "INSERT INTO animals (id, breed, name, weight)
      VALUES ({$animal[0]}, '{$animal[1]}', '{$animal[2]}', {$animal[3]})");
    if ($rc) {
        print "Insert... ";
    }
}
?>

O exemplo acima irá imprimir:

Successfully created the table.
Insert... Insert... Insert... Insert... Insert... Insert... Insert...

Exemplo #2 Executing a SELECT statement with a scrollable cursor

The following example demonstrates how to request a scrollable cursor for an SQL statement issued by db2_exec().

<?php
$conn = db2_connect($database, $user, $password);
$sql = "SELECT name FROM animals
    WHERE weight < 10.0
    ORDER BY name";
if ($conn) {
    require_once('prepare.inc');
    $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
    while ($row = db2_fetch_array($stmt)) {
        print "$row[0]\n";
    }
}
?>

O exemplo acima irá imprimir:

Bubbles
Gizmo
Pook
Rickety Ride

Exemplo #3 Returning XML data as an SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in an SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = \'Kathy Smith\'
    ';
$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE\n");
}
db2_close($conn);

?>

O exemplo acima irá imprimir:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Exemplo #4 Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns an SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
    SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
    FROM
    XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" BIGINT PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) as A,
    PURCHASEORDER AS B,
    XMLTABLE (
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
    COLUMNS
    "PONUM"  BIGINT PATH \'@PoNum\',
    "STATUS" VARCHAR (50) PATH \'@Status\'
    ) as C
    WHERE A.CID = B.CUSTID AND
    B.POID = C.PONUM AND
    A.NAME = \'Kathy Smith\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
}

db2_close($conn);

?>

O exemplo acima irá imprimir:

1001     Kathy Smith     905-555-7258     5002     Shipped

Exemplo #5 Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
    for $prod in $doc/product
    where $prod/description/price < 10.00
    order by $prod/description/price ascending
    return(
        <promoitem> {
        $prod,
        <startdate> {$start} </startdate>,
        <enddate> {$end} </enddate>,
        <promoprice> {$promo} </promoprice>
        } </promoitem>
    )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = \'100-100-01\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_array($stmt)){
    printf("$row[0]\n");
}
db2_close($conn);

?>

O exemplo acima irá imprimir:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Veja Também

  • db2_execute() - Executes a prepared SQL statement
  • db2_prepare() - Prepares an SQL statement to be executed


Executes a prepared SQL statement

  • « db2_exec
  • db2_fetch_array »
  • PHP Manual
  • IBM DB2 Funções
  • Executes a prepared SQL statement

db2_execute

(PECL ibm_db2 >= 1.0.0)

db2_execute — Executes a prepared SQL statement

Descrição

db2_execute ( resource $stmt , array $parameters = ? ) : bool

db2_execute() executes an SQL statement that was prepared by db2_prepare().

If the SQL statement returns a result set, for example, a SELECT statement or a CALL to a stored procedure that returns one or more result sets, you can retrieve a row as an array from the stmt resource using db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array(). Alternatively, you can use db2_fetch_row() to move the result set pointer to the next row and fetch a column at a time from that row with db2_result().

Refer to db2_prepare() for a brief discussion of the advantages of using db2_prepare() and db2_execute() rather than db2_exec().

Parâmetros

stmt

A prepared statement returned from db2_prepare().

parameters

An array of input parameters matching any parameter markers contained in the prepared statement.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Preparing and executing an SQL statement with parameter markers

The following example prepares an INSERT statement that accepts four parameter markers, then iterates over an array of arrays containing the input values to be passed to db2_execute().

<?php
$pet = array(0, 'cat', 'Pook', 3.2);

$insert = 'INSERT INTO animals (id, breed, name, weight)
    VALUES (?, ?, ?, ?)';

$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    $result = db2_execute($stmt, $pet);
    if ($result) {
        print "Successfully added new pet.";
    }
}
?>

O exemplo acima irá imprimir:

Successfully added new pet.

Exemplo #2 Calling a stored procedure with an OUT parameter

The following example prepares a CALL statement that accepts one parameter marker representing an OUT parameter, binds the PHP variable $my_pets to the parameter using db2_bind_param(), then issues db2_execute() to execute the CALL statement. After the CALL to the stored procedure has been made, the value of $num_pets changes to reflect the value returned by the stored procedure for that OUT parameter.

<?php
$num_pets = 0;
$res = db2_prepare($conn, "CALL count_my_pets(?)");
$rc = db2_bind_param($res, 1, "num_pets", DB2_PARAM_OUT);
$rc = db2_execute($res);
print "I have $num_pets pets!";
?>

O exemplo acima irá imprimir:

I have 7 pets!

Exemplo #3 Returning XML data as an SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in an SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = ?
    ';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE\n");
    }
}
db2_close($conn);

?>

O exemplo acima irá imprimir:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Exemplo #4 Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns an SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
FROM
XMLTABLE(
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
COLUMNS
"CID" BIGINT PATH \'@Cid\',
"NAME" VARCHAR (50) PATH \'name\',
"PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
) as A,
PURCHASEORDER AS B,
XMLTABLE (
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
COLUMNS
"PONUM"  BIGINT PATH \'@PoNum\',
"STATUS" VARCHAR (50) PATH \'@Status\'
) as C
WHERE A.CID = B.CUSTID AND
    B.POID = C.PONUM AND
    A.NAME = ?
';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
    }
}

db2_close($conn);

?>

O exemplo acima irá imprimir:

1001     Kathy Smith     905-555-7258     5002     Shipped

Exemplo #5 Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
    for $prod in $doc/product
    where $prod/description/price < 10.00
    order by $prod/description/price ascending
    return(
        <promoitem> {
        $prod,
        <startdate> {$start} </startdate>,
        <enddate> {$end} </enddate>,
        <promoprice> {$promo} </promoprice>
            } </promoitem>
    )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = ?
';

$stmt = db2_prepare($conn, $query);

$pid = "100-100-01";

if ($stmt) {
    db2_bind_param($stmt, 1, "pid", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_array($stmt)){
    printf("$row[0]\n");
    }
}

db2_close($conn);

?>

O exemplo acima irá imprimir:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Veja Também

  • db2_exec() - Executes an SQL statement directly
  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_prepare() - Prepares an SQL statement to be executed
  • db2_result() - Returns a single column from a row in the result set


Returns an array, indexed by column position, representing a row in a result set

  • « db2_execute
  • db2_fetch_assoc »
  • PHP Manual
  • IBM DB2 Funções
  • Returns an array, indexed by column position, representing a row in a result set

db2_fetch_array

(PECL ibm_db2 >= 1.0.1)

db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set

Descrição

db2_fetch_array ( resource $stmt , int $row_number = -1 ) : array

Returns an array, indexed by column position, representing a row in a result set. The columns are 0-indexed.

Parâmetros

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Valor Retornado

Returns a 0-indexed array with column values indexed by the column position representing the next or requested row in the result set. Returns false if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Exemplos

Exemplo #1 Iterating through a forward-only cursor

If you call db2_fetch_array() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_array($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
}
?>

O exemplo acima irá imprimir:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Exemplo #2 Retrieving specific rows with db2_fetch_array() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_array() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_array($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
    $i = $i + 2;
}
?>

O exemplo acima irá imprimir:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Veja Também

  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set


Returns an array, indexed by column name, representing a row in a result set

  • « db2_fetch_array
  • db2_fetch_both »
  • PHP Manual
  • IBM DB2 Funções
  • Returns an array, indexed by column name, representing a row in a result set

db2_fetch_assoc

(PECL ibm_db2 >= 1.0.0)

db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set

Descrição

db2_fetch_assoc ( resource $stmt , int $row_number = -1 ) : array

Returns an array, indexed by column name, representing a row in a result set.

Parâmetros

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Valor Retornado

Returns an associative array with column values indexed by the column name representing the next or requested row in the result set. Returns false if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Exemplos

Exemplo #1 Iterating through a forward-only cursor

If you call db2_fetch_assoc() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_assoc($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
}
?>

O exemplo acima irá imprimir:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Exemplo #2 Retrieving specific rows with db2_fetch_assoc() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_assoc() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_assoc($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
    $i = $i + 2;
}
?>

O exemplo acima irá imprimir:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Veja Também

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set


Returns an array, indexed by both column name and position, representing a row in a result set

  • « db2_fetch_assoc
  • db2_fetch_object »
  • PHP Manual
  • IBM DB2 Funções
  • Returns an array, indexed by both column name and position, representing a row in a result set

db2_fetch_both

(PECL ibm_db2 >= 1.0.0)

db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set

Descrição

db2_fetch_both ( resource $stmt , int $row_number = -1 ) : array

Returns an array, indexed by both column name and position, representing a
row in a result set. Note that the row returned by
db2_fetch_both() requires more memory than the
single-indexed arrays returned by db2_fetch_assoc() or
db2_fetch_array().

Parâmetros

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Valor Retornado

Returns an associative array with column values indexed by both the column name and 0-indexed column number. The array represents the next or requested row in the result set. Returns false if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Exemplos

Exemplo #1 Iterating through a forward-only cursor

If you call db2_fetch_both() without a specific row number, it automatically retrieves the next row in the result set. The following example accesses columns in the returned array by both column name and by numeric index.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_both($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row[0], $row['BREED'], $row[3]);
}
?>

O exemplo acima irá imprimir:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Exemplo #2 Retrieving specific rows with db2_fetch_both() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_both() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_both($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row['NAME'], $row[2], $row['WEIGHT']);
    $i = $i + 2;
}
?>

O exemplo acima irá imprimir:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Veja Também

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set


Returns an object with properties representing columns in the fetched row

  • « db2_fetch_both
  • db2_fetch_row »
  • PHP Manual
  • IBM DB2 Funções
  • Returns an object with properties representing columns in the fetched row

db2_fetch_object

(PECL ibm_db2 >= 1.0.0)

db2_fetch_object — Returns an object with properties representing columns in the fetched row

Descrição

db2_fetch_object ( resource $stmt , int $row_number = -1 ) : object

Returns an object in which each property represents a column returned in the row fetched from a result set.

Parâmetros

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Valor Retornado

Returns an object representing a single row in the result set. The properties of the object map to the names of the columns in the result set.

The IBM DB2, Cloudscape, and Apache Derby database servers typically fold column names to upper-case, so the object properties will reflect that case.

If your SELECT statement calls a scalar function to modify the value of a column, the database servers return the column number as the name of the column in the result set. If you prefer a more descriptive column name and object property, you can use the AS clause to assign a name to the column in the result set.

Returns false if no row was retrieved.

Exemplos

Exemplo #1 A db2_fetch_object() example

The following example issues a SELECT statement with a scalar function, RTRIM, that removes whitespace from the end of the column. Rather than creating an object with the properties "BREED" and "2", we use the AS clause in the SELECT statement to assign the name "name" to the modified column. The database server folds the column names to upper-case, resulting in an object with the properties "BREED" and "NAME".

<?php
$conn = db2_connect($database, $user, $password);

$sql = "SELECT breed, RTRIM(name) AS name
    FROM animals
    WHERE id = ?";

if ($conn) {
    $stmt = db2_prepare($conn, $sql);
    db2_execute($stmt, array(0));

    while ($pet = db2_fetch_object($stmt)) {
        echo "Come here, {$pet->NAME}, my little {$pet->BREED}!";
    }
    db2_close($conn);
}
?>

O exemplo acima irá imprimir:

Come here, Pook, my little cat!

Veja Também

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set


Sets the result set pointer to the next row or requested row

  • « db2_fetch_object
  • db2_field_display_size »
  • PHP Manual
  • IBM DB2 Funções
  • Sets the result set pointer to the next row or requested row

db2_fetch_row

(PECL ibm_db2 >= 1.0.0)

db2_fetch_row — Sets the result set pointer to the next row or requested row

Descrição

db2_fetch_row ( resource $stmt , int $row_number = ? ) : bool

Use db2_fetch_row() to iterate through a result set, or to point to a specific row in a result set if you requested a scrollable cursor.

To retrieve individual fields from the result set, call the db2_result() function.

Rather than calling db2_fetch_row() and db2_result(), most applications will call one of db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array() to advance the result set pointer and return a complete row as an array.

Parâmetros

stmt

A valid stmt resource.

row_number

With scrollable cursors, you can request a specific row number in the result set. Row numbering is 1-indexed.

Valor Retornado

Returns true if the requested row exists in the result set. Returns false if the requested row does not exist in the result set.

Exemplos

Exemplo #1 Iterating through a result set

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $name = db2_result($stmt, 0);
    $breed = db2_result($stmt, 1);
    print "$name $breed";
}
?>

O exemplo acima irá imprimir:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Exemplo #2 i5/OS recommended alternatives to db2_fetch_row/db2_result

On i5/OS it is recommended that you use db2_fetch_both(), db2_fetch_array(), or db2_fetch_object() over db2_fetch_row()/db2_result(). In general db2_fetch_row()/db2_result() have more issues with various column types in EBCIDIC to ASCII translation, including possible truncation in DBCS applications. You may also find the performance of db2_fetch_both(), db2_fetch_array(), and db2_fetch_object() to be superior to db2_fetch_row()/db2_result().

<?php
  $conn = db2_connect("","","");
  $sql = 'SELECT SPECIFIC_SCHEMA, SPECIFIC_NAME, ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_CREATED, ROUTINE_BODY, IN_PARMS, OUT_PARMS, INOUT_PARMS, PARAMETER_STYLE, EXTERNAL_NAME, EXTERNAL_LANGUAGE FROM QSYS2.SYSROUTINES FETCH FIRST 2 ROWS ONLY';
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_both($stmt)){
    echo "<br>db2_fetch_both {$row['SPECIFIC_NAME']} {$row['ROUTINE_CREATED']} {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_array($stmt)){
    echo "<br>db2_fetch_array {$row[1]}  {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_object($stmt)){
    echo "<br>db2_fetch_object {$row->SPECIFIC_NAME} {$row->ROUTINE_CREATED}";
  }
  db2_close($conn);
?>

O exemplo acima irá imprimir:

db2_fetch_both MATCH_ANIMAL 2006-08-25-17.10.23.775000 2006-08-25-17.10.23.775000
db2_fetch_both MULTIRESULTS 2006-10-17-10.11.05.308000 2006-10-17-10.11.05.308000
db2_fetch_array MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_array MULTIRESULTS 2006-10-17-10.11.05.308000
db2_fetch_object MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_object MULTIRESULTS 2006-10-17-10.11.05.308000

Veja Também

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_result() - Returns a single column from a row in the result set


Returns the maximum number of bytes required to display a column

  • « db2_fetch_row
  • db2_field_name »
  • PHP Manual
  • IBM DB2 Funções
  • Returns the maximum number of bytes required to display a column

db2_field_display_size

(PECL ibm_db2 >= 1.0.0)

db2_field_display_size — Returns the maximum number of bytes required to display a column

Descrição

db2_field_display_size ( resource $stmt , mixed $column ) : int

Returns the maximum number of bytes required to display a column in a result set.

Parâmetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valor Retornado

Returns an integer value with the maximum number of bytes required to display the specified column. If the column does not exist in the result set, db2_field_display_size() returns false.

Veja Também

  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the name of the column in the result set

  • « db2_field_display_size
  • db2_field_num »
  • PHP Manual
  • IBM DB2 Funções
  • Returns the name of the column in the result set

db2_field_name

(PECL ibm_db2 >= 1.0.0)

db2_field_name — Returns the name of the column in the result set

Descrição

db2_field_name ( resource $stmt , mixed $column ) : string

Returns the name of the specified column in the result set.

Parâmetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valor Retornado

Returns a string containing the name of the specified column. If the specified column does not exist in the result set, db2_field_name() returns false.

Veja Também

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the position of the named column in a result set

  • « db2_field_name
  • db2_field_precision »
  • PHP Manual
  • IBM DB2 Funções
  • Returns the position of the named column in a result set

db2_field_num

(PECL ibm_db2 >= 1.0.0)

db2_field_num — Returns the position of the named column in a result set

Descrição

db2_field_num ( resource $stmt , mixed $column ) : int

Returns the position of the named column in a result set.

Parâmetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valor Retornado

Returns an integer containing the 0-indexed position of the named column in the result set. If the specified column does not exist in the result set, db2_field_num() returns false.

Veja Também

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the precision of the indicated column in a result set

  • « db2_field_num
  • db2_field_scale »
  • PHP Manual
  • IBM DB2 Funções
  • Returns the precision of the indicated column in a result set

db2_field_precision

(PECL ibm_db2 >= 1.0.0)

db2_field_precision — Returns the precision of the indicated column in a result set

Descrição

db2_field_precision ( resource $stmt , mixed $column ) : int

Returns the precision of the indicated column in a result set.

Parâmetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valor Retornado

Returns an integer containing the precision of the specified column. If the specified column does not exist in the result set, db2_field_precision() returns false.

Veja Também

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the scale of the indicated column in a result set

  • « db2_field_precision
  • db2_field_type »
  • PHP Manual
  • IBM DB2 Funções
  • Returns the scale of the indicated column in a result set

db2_field_scale

(PECL ibm_db2 >= 1.0.0)

db2_field_scale — Returns the scale of the indicated column in a result set

Descrição

db2_field_scale ( resource $stmt , mixed $column ) : int

Returns the scale of the indicated column in a result set.

Parâmetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valor Retornado

Returns an integer containing the scale of the specified column. If the specified column does not exist in the result set, db2_field_scale() returns false.

Veja Também

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the data type of the indicated column in a result set

  • « db2_field_scale
  • db2_field_width »
  • PHP Manual
  • IBM DB2 Funções
  • Returns the data type of the indicated column in a result set

db2_field_type

(PECL ibm_db2 >= 1.0.0)

db2_field_type — Returns the data type of the indicated column in a result set

Descrição

db2_field_type ( resource $stmt , mixed $column ) : string

Returns the data type of the indicated column in a result set.

Parâmetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valor Retornado

Returns a string containing the defined data type of the specified column. If the specified column does not exist in the result set, db2_field_type() returns false.

Veja Também

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the width of the current value of the indicated column in a result set

  • « db2_field_type
  • db2_foreign_keys »
  • PHP Manual
  • IBM DB2 Funções
  • Returns the width of the current value of the indicated column in a result set

db2_field_width

(PECL ibm_db2 >= 1.0.0)

db2_field_width — Returns the width of the current value of the indicated column in a result set

Descrição

db2_field_width ( resource $stmt , mixed $column ) : int

Returns the width of the current value of the indicated column in a result set. This is the maximum width of the column for a fixed-length data type, or the actual width of the column for a variable-length data type.

Parâmetros

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Valor Retornado

Returns an integer containing the width of the specified character or binary data type column in a result set. If the specified column does not exist in the result set, db2_field_width() returns false.

Veja Também

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set


Returns a result set listing the foreign keys for a table

  • « db2_field_width
  • db2_free_result »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a result set listing the foreign keys for a table

db2_foreign_keys

(PECL ibm_db2 >= 1.0.0)

db2_foreign_keys — Returns a result set listing the foreign keys for a table

Descrição

db2_foreign_keys ( resource $connection , string $qualifier , string $schema , string $table-name ) : resource

Returns a result set listing the foreign keys for a table.

Parâmetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables. If schema is null, db2_foreign_keys() matches the schema for the current connection.

table-name

The name of the table.

Valor Retornado

Returns a statement resource with a result set containing rows describing the foreign keys for the specified table. The result set is composed of the following columns:

Column name | Description
PKTABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
PKTABLE_SCHEM | Name of the schema for the table containing the primary key.
PKTABLE_NAME | Name of the table containing the primary key.
PKCOLUMN_NAME | Name of the column containing the primary key.
FKTABLE_CAT | Name of the catalog for the table containing the foreign key. The value is NULL if this table does not have catalogs.
FKTABLE_SCHEM | Name of the schema for the table containing the foreign key.
FKTABLE_NAME | Name of the table containing the foreign key.
FKCOLUMN_NAME | Name of the column containing the foreign key.
KEY_SEQ | 1-indexed position of the column in the key.
UPDATE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is UPDATE.
DELETE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is DELETE.
FK_NAME | The name of the foreign key.
PK_NAME | The name of the primary key.
DEFERRABILITY | An integer value representing whether the foreign key deferrability is SQL_INITIALLY_DEFERRED, SQL_INITIALLY_IMMEDIATE, or SQL_NOT_DEFERRABLE.

Veja Também

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Frees resources associated with a result set

  • « db2_foreign_keys
  • db2_free_stmt »
  • PHP Manual
  • IBM DB2 Funções
  • Frees resources associated with a result set

db2_free_result

(PECL ibm_db2 >= 1.0.0)

db2_free_result — Frees resources associated with a result set

Descrição

db2_free_result ( resource $stmt ) : bool

Frees the system and database resources that are associated with a result set. These resources are freed implicitly when a script finishes, but you can call db2_free_result() to explicitly free the result set resources before the end of the script.

Parâmetros

stmt

A valid statement resource.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • db2_free_stmt() - Frees resources associated with the indicated statement resource


Frees resources associated with the indicated statement resource

  • « db2_free_result
  • db2_get_option »
  • PHP Manual
  • IBM DB2 Funções
  • Frees resources associated with the indicated statement resource

db2_free_stmt

(PECL ibm_db2 >= 1.0.0)

db2_free_stmt — Frees resources associated with the indicated statement resource

Descrição

db2_free_stmt ( resource $stmt ) : bool

Frees the system and database resources that are associated with a statement resource. These resources are freed implicitly when a script finishes, but you can call db2_free_stmt() to explicitly free the statement resources before the end of the script.

Parâmetros

stmt

A valid statement resource.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • db2_free_result() - Frees resources associated with a result set


Retrieves an option value for a statement resource or a connection resource

  • « db2_free_stmt
  • db2_last_insert_id »
  • PHP Manual
  • IBM DB2 Funções
  • Retrieves an option value for a statement resource or a connection resource

db2_get_option

(PECL ibm_db2 >= 1.6.0)

db2_get_option — Retrieves an option value for a statement resource or a connection resource

Descrição

db2_get_option ( resource $resource , string $option ) : string|false

Retrieves the value of a specified option value for a statement resource or a connection resource.

Parâmetros

resource

A valid statement resource as returned from db2_prepare() or a valid connection resource as returned from db2_connect() or db2_pconnect().

option

A valid statement or connection options. The following new options are available as of ibm_db2 version 1.6.0. They provide useful tracking information that can be set during execution with db2_get_option().

Nota:

Prior versions of ibm_db2 do not support these new options.

When the value in each option is being set, some servers might not handle the entire length provided and might truncate the value.

To ensure that the data specified in each option is converted correctly when transmitted to a host system, use only the characters A through Z, 0 through 9, and the underscore (_) or period (.).

userid

SQL_ATTR_INFO_USERID - A pointer to a null-terminated character string used to identify the client user ID sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 16 characters. This user-id is not to be confused with the authentication user-id, it is for identification purposes only and is not used for any authorization.

acctstr

SQL_ATTR_INFO_ACCTSTR - A pointer to a null-terminated character string used to identify the client accounting string sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 200 characters.

applname

SQL_ATTR_INFO_APPLNAME - A pointer to a null-terminated character string used to identify the client application name sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 32 characters.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - A pointer to a null-terminated character string used to identify the client workstation name sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

The following table specifies which options are compatible with the available resource types:

Resource-Parameter Matrix
Key | Value | Resource Type
 |  | Connection | Statement | Result Set
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

Valor Retornado

Returns the current setting of the connection attribute provided on success ou false em caso de falha.

Exemplos

Exemplo #1 Setting and retrieving parameters through a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$user     = 'db2inst1';
$password = 'ibmdb2';

/* Obtain Connection Resource */
$conn = db2_connect($database, $user, $password);

echo "Client attributes passed through connection string:\n";

/* Create the associative options array with valid key-value pairs */
/* Assign the attributes through connection string */
/* Access the options specified */
$options1 = array('userid' => 'db2inst1');
$conn1 = db2_connect($database, $user, $password, $options1);
$val = db2_get_option($conn1, 'userid');
echo $val . "\n";

$options2 = array('acctstr' => 'account');
$conn2 = db2_connect($database, $user, $password, $options2);
$val = db2_get_option($conn2, 'acctstr');
echo $val . "\n";

$options3 = array('applname' => 'myapp');
$conn3 = db2_connect($database, $user, $password, $options3);
$val = db2_get_option($conn3, 'applname');
echo $val . "\n";

$options4 = array('wrkstnname' => 'workstation');
$conn4 = db2_connect($database, $user, $password, $options4);
$val = db2_get_option($conn4, 'wrkstnname');
echo $val . "\n";

echo "Client attributes passed post-connection:\n";

/* Create the associative options array with valid key-value pairs */
/* Assign the attributes after a connection is made */
/* Access the options specified */
$options5 = array('userid' => 'db2inst1');
$conn5 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn5, $options5, 1);
$val = db2_get_option($conn5, 'userid');
echo $val . "\n";

$options6 = array('acctstr' => 'account');
$conn6 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn6, $options6, 1);
$val = db2_get_option($conn6, 'acctstr');
echo $val . "\n";

$options7 = array('applname' => 'myapp');
$conn7 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn7, $options7, 1);
$val = db2_get_option($conn7, 'applname');
echo $val . "\n";

$options8 = array('wrkstnname' => 'workstation');
$conn8 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn8, $options8, 1);
$val = db2_get_option($conn8, 'wrkstnname');
echo $val . "\n";
?>

O exemplo acima irá imprimir:

Client attributes passed through connection string:
db2inst1
account
myapp
workstation
Client attributes passed post-connection:
db2inst1
account
myapp
workstation

Veja Também

  • db2_connect() - Returns a connection to a database
  • db2_cursor_type() - Returns the cursor type used by a statement resource
  • db2_exec() - Executes an SQL statement directly
  • db2_set_option() - Set options for connection or statement resources
  • db2_pconnect() - Returns a persistent connection to a database
  • db2_prepare() - Prepares an SQL statement to be executed


Returns the auto generated ID of the last insert query that successfully executed on this connection

  • « db2_get_option
  • db2_lob_read »
  • PHP Manual
  • IBM DB2 Funções
  • Returns the auto generated ID of the last insert query that successfully executed on this connection

db2_last_insert_id

(PECL ibm_db2 >= 1.7.1)

db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection

Descrição

db2_last_insert_id ( resource $resource ) : string

Returns the auto generated ID of the last insert query that successfully executed on this connection.

The result of this function is not affected by any of the following:

  • A single row INSERT statement with a VALUES clause for a table without an identity column.

  • A multiple row INSERT statement with a VALUES clause.

  • An INSERT statement with a fullselect.

  • A ROLLBACK TO SAVEPOINT statement.

Parâmetros

resource

A valid connection resource as returned from db2_connect() or db2_pconnect(). The value of this parameter cannot be a statement resource or result set resource.

Valor Retornado

Returns the auto generated ID of last insert query that successfully executed on this connection.

Exemplos

Exemplo #1 A db2_last_insert_id() example

The following example shows how to return the auto generated ID of last insert query that successfully executed on this connection.

<?php

$database = "SAMPLE";
$user = "db2inst1";
$password = "ibmdb2";

$conn = db2_connect($database, $user, $password);
if($conn) {
    $createTable = "CREATE TABLE lastInsertID
      (id integer GENERATED BY DEFAULT AS IDENTITY, name varchar(20))";
    $insertTable = "INSERT INTO lastInsertID (name) VALUES ('Temp Name')";

    $stmt = @db2_exec($conn, $createTable);

    /* Checking for single row inserted. */
    $stmt = db2_exec($conn, $insertTable);
    $ret =  db2_last_insert_id($conn);
    if($ret) {
        echo "Last Insert ID is : " . $ret . "\n";
    } else {
        echo "No Last insert ID.\n";
    }

    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

O exemplo acima irá imprimir:

Last Insert ID is : 1


Gets a user defined size of LOB files with each invocation

  • « db2_last_insert_id
  • db2_next_result »
  • PHP Manual
  • IBM DB2 Funções
  • Gets a user defined size of LOB files with each invocation

db2_lob_read

(PECL ibm_db2 >= 1.6.0)

db2_lob_read — Gets a user defined size of LOB files with each invocation

Descrição

db2_lob_read ( resource $stmt , int $colnum , int $length ) : string

Use db2_lob_read() to iterate through a specified column of a result set and retrieve a user defined size of LOB data.

Parâmetros

stmt

A valid stmt resource containing LOB data.

colnum

A valid column number in the result set of the stmt resource.

length

The size of the LOB data to be retrieved from the stmt resource.

Valor Retornado

Returns the amount of data the user specifies. Returns false if the data cannot be retrieved.

Exemplos

Exemplo #1 Iterating through different types of data

<?php

/* Database Connection Parameters */
$db = 'SAMPLE';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Obtain Connection Resource */
$conn = db2_connect($db,$username,$password);

if ($conn) {
    $drop = 'DROP TABLE clob_stream';
    $result = @db2_exec( $conn, $drop );

    $create = 'CREATE TABLE clob_stream (id INTEGER, my_clob CLOB)';
    $result = db2_exec( $conn, $create );

    $variable = "";
    $stmt = db2_prepare($conn, "INSERT INTO clob_stream (id,my_clob) VALUES (1, ?)");
    $variable = "THIS IS A CLOB TEST. THIS IS A CLOB TEST.";
    db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
    db2_execute($stmt);

    $sql = "SELECT id,my_clob FROM clob_stream";
    $result = db2_prepare($conn, $sql);
    db2_execute($result);
    db2_fetch_row($result);
    $i = 0;
    /* Read LOB data */
    while ($data = db2_lob_read($result, 2, 6)) {
        echo "Loop $i: $data\n";
        $i = $i + 1;
    }

    $drop = 'DROP TABLE blob_stream';
    $result = @db2_exec( $conn, $drop );

    $create = 'CREATE TABLE blob_stream (id INTEGER, my_blob CLOB)';
    $result = db2_exec( $conn, $create );

    $variable = "";
    $stmt = db2_prepare($conn, "INSERT INTO blob_stream (id,my_blob) VALUES (1, ?)");
    $variable = "THIS IS A BLOB TEST. THIS IS A BLOB TEST.";
    db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
    db2_execute($stmt);

    $sql = "SELECT id,my_blob FROM blob_stream";
    $result = db2_prepare($conn, $sql);
    db2_execute($result);
    db2_fetch_row($result);
    $i = 0;
    /* Read LOB data */
    while ($data = db2_lob_read($result, 2, 6)) {
        echo "Loop $i: $data\n";
        $i = $i + 1;
    }
} else {
    echo 'no connection: ' . db2_conn_errormsg();
}

?>

O exemplo acima irá imprimir:

Loop 0: THIS I
Loop 1: S A CL
Loop 2: OB TES
Loop 3: T. THI
Loop 4: S IS A
Loop 5:  CLOB
Loop 6: TEST.
Loop 0: THIS I
Loop 1: S A BL
Loop 2: OB TES
Loop 3: T. THI
Loop 4: S IS A
Loop 5:  BLOB
Loop 6: TEST.

Veja Também

  • db2_bind_param() - Binds a PHP variable to an SQL statement parameter
  • db2_exec() - Executes an SQL statement directly
  • db2_execute() - Executes a prepared SQL statement
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_prepare() - Prepares an SQL statement to be executed
  • db2_result() - Returns a single column from a row in the result set


Requests the next result set from a stored procedure

  • « db2_lob_read
  • db2_num_fields »
  • PHP Manual
  • IBM DB2 Funções
  • Requests the next result set from a stored procedure

db2_next_result

(PECL ibm_db2 >= 1.0.0)

db2_next_result — Requests the next result set from a stored procedure

Descrição

db2_next_result ( resource $stmt ) : resource

A stored procedure can return zero or more result sets. While you handle the first result set in exactly the same way you would handle the results returned by a simple SELECT statement, to fetch the second and subsequent result sets from a stored procedure you must call the db2_next_result() function and return the result to a uniquely named PHP variable.

Parâmetros

stmt

A prepared statement returned from db2_exec() or db2_execute().

Valor Retornado

Returns a new statement resource containing the next result set if the stored procedure returned another result set. Returns false if the stored procedure did not return another result set.

Exemplos

Exemplo #1 Calling a stored procedure that returns multiple result sets

In the following example, we call a stored procedure that returns three result sets. The first result set is fetched directly from the same statement resource on which we invoked the CALL statement, while the second and third result sets are fetched from statement resources returned from our calls to the db2_next_result() function.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
  $stmt = db2_exec($conn, 'CALL multiResults()');

  print "Fetching first result set\n";
  while ($row = db2_fetch_array($stmt)) {
    var_dump($row);
  }

  print "\nFetching second result set\n";
  $res = db2_next_result($stmt);
  if ($res) {
    while ($row = db2_fetch_array($res)) {
      var_dump($row);
    }
  }

  print "\nFetching third result set\n";
  $res2 = db2_next_result($stmt);
  if ($res2) {
    while ($row = db2_fetch_array($res2)) {
      var_dump($row);
    }
  }

  db2_close($conn);
}
?>

O exemplo acima irá imprimir:

Fetching first result set
array(2) {
  [0]=>
  string(16) "Bubbles         "
  [1]=>
  int(3)
}
array(2) {
  [0]=>
  string(16) "Gizmo           "
  [1]=>
  int(4)
}

Fetching second result set
array(4) {
  [0]=>
  string(16) "Sweater         "
  [1]=>
  int(6)
  [2]=>
  string(5) "llama"
  [3]=>
  string(6) "150.00"
}
array(4) {
  [0]=>
  string(16) "Smarty          "
  [1]=>
  int(2)
  [2]=>
  string(5) "horse"
  [3]=>
  string(6) "350.00"
}

Fetching third result set
array(1) {
  [0]=>
  string(16) "Bubbles         "
}
array(1) {
  [0]=>
  string(16) "Gizmo           "
}


Returns the number of fields contained in a result set

  • « db2_next_result
  • db2_num_rows »
  • PHP Manual
  • IBM DB2 Funções
  • Returns the number of fields contained in a result set

db2_num_fields

(PECL ibm_db2 >= 1.0.0)

db2_num_fields — Returns the number of fields contained in a result set

Descrição

db2_num_fields ( resource $stmt ) : int

Returns the number of fields contained in a result set. This is most useful for handling the result sets returned by dynamically generated queries, or for result sets returned by stored procedures, where your application cannot otherwise know how to retrieve and use the results.

Parâmetros

stmt

A valid statement resource containing a result set.

Valor Retornado

Returns an integer value representing the number of fields in the result set associated with the specified statement resource. Returns false if the statement resource is not a valid input value.

Exemplos

Exemplo #1 Retrieving the number of fields in a result set

The following example demonstrates how to retrieve the number of fields returned in a result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, $sql);
$columns = db2_num_fields($stmt);

echo "There are {$columns} columns in the result set.";
?>

O exemplo acima irá imprimir:

There are 4 columns in the result set.

Veja Também

  • db2_execute() - Executes a prepared SQL statement
  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the number of rows affected by an SQL statement

  • « db2_num_fields
  • db2_pclose »
  • PHP Manual
  • IBM DB2 Funções
  • Returns the number of rows affected by an SQL statement

db2_num_rows

(PECL ibm_db2 >= 1.0.0)

db2_num_rows — Returns the number of rows affected by an SQL statement

Descrição

db2_num_rows ( resource $stmt ) : int

Returns the number of rows deleted, inserted, or updated by an SQL statement.

To determine the number of rows that will be returned by a SELECT statement, issue SELECT COUNT(*) with the same predicates as your intended SELECT statement and retrieve the value.

If your application logic checks the number of rows returned by a SELECT statement and branches if the number of rows is 0, consider modifying your application to attempt to return the first row with one of db2_fetch_assoc(), db2_fetch_both(), db2_fetch_array(), or db2_fetch_row(), and branch if the fetch function returns false.

Nota:

If you issue a SELECT statement using a scrollable cursor, db2_num_rows() returns the number of rows returned by the SELECT statement. However, the overhead associated with scrollable cursors significantly degrades the performance of your application, so if this is the only reason you are considering using scrollable cursors, you should use a forward-only cursor and either call SELECT COUNT(*) or rely on the bool return value of the fetch functions to achieve the equivalent functionality with much better performance.

Parâmetros

stmt

A valid stmt resource containing a result set.

Valor Retornado

Returns the number of rows affected by the last SQL statement issued by the specified statement handle.


Closes a persistent database connection

  • « db2_num_rows
  • db2_pconnect »
  • PHP Manual
  • IBM DB2 Funções
  • Closes a persistent database connection

db2_pclose

(PECL ibm_db2 >= 1.8.0)

db2_pclose — Closes a persistent database connection

Descrição

db2_pclose ( resource $resource ) : bool

This function closes a DB2 client connection created with db2_pconnect() and returns the corresponding resources to the database server.

Nota:

This function is only available on i5/OS in response to i5/OS system administration requests.

If you have a persistent DB2 client connection created with db2_pconnect(), you may use this function to close the connection. To avoid substantial connection performance penalties, this function should only be used in rare cases when the persistent connection has become unresponsive or the persistent connection will not be needed for a long period of time.

Parâmetros

connection

Specifies an active DB2 client connection.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Closing a persistent connection

The following example demonstrates a successful attempt to close a connection to an IBM DB2 i5/OS database.

<?php
$conn = db2_pconnect('', '', '');
$rc = db2_pclose($conn);
if ($rc) {
    echo "Connection was successfully closed.";
}
?>

O exemplo acima irá imprimir:

Connection was successfully closed.

Veja Também

  • db2_close() - Closes a database connection
  • db2_pconnect() - Returns a persistent connection to a database


Returns a persistent connection to a database

  • « db2_pclose
  • db2_prepare »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a persistent connection to a database

db2_pconnect

(PECL ibm_db2 >= 1.0.0)

db2_pconnect — Returns a persistent connection to a database

Descrição

db2_pconnect ( string $database , string $username , string $password , array $options = ? ) : resource

Returns a persistent connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database.

For more information on persistent connections, refer to Conexões Persistentes com o Banco de Dados.

Calling db2_close() on a persistent connection always returns true, but the underlying DB2 client connection remains open and waiting to serve the next matching db2_pconnect() request.

Users running version 1.9.0 or later of ibm_db2 should be aware that the extension will perform a transaction rollback on persistent connections at the end of a request, thus ending the transaction. This prevents the transaction block from carrying over to the next request which uses that connection if script execution ends before the transaction block does.

Parâmetros

database

The database alias in the DB2 client catalog.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

The following new option is available in ibm_db2 version 1.7.0 and later.

trustedcontext

Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context on for this connection handle. This parameter cannot be set using db2_set_option().

This key works only if the database is cataloged (even if the database is local), or if you specify the full DSN when you create the connection.

To catalog the database, use following commands:

db2 catalog tcpip node loopback remote <SERVERNAME> server <SERVICENAME>
db2 catalog database <LOCALDBNAME> as <REMOTEDBNAME> at node loopback
db2 "update dbm cfg using svcename <SERVICENAME>"
db2set DB2COMM=TCPIP

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later.

Dica

Conflicting connection attributes used in conjunction with persistent connections can produce indeterminate results on i5/OS. Site policies should be establish for all applications using each persistent connection user profile. The default DB2_AUTOCOMMIT_ON is suggested when using persistent connections.

i5_lib

A character value that indicates the default library that will be used for resolving unqualified file references. This is not valid if the connection is using system naming mode.

i5_naming

DB2_I5_NAMING_ON value turns on DB2 UDB CLI iSeries system naming mode. Files are qualified using the slash (/) delimiter. Unqualified files are resolved using the library list for the job.

DB2_I5_NAMING_OFF value turns off DB2 UDB CLI default naming mode, which is SQL naming. Files are qualified using the period (.) delimiter. Unqualified files are resolved using either the default library or the current user ID.

i5_commit

The i5_commit attribute should be set before the db2_pconnect(). If the value is changed after the connection has been established, and the connection is to a remote data source, the change does not take effect until the next successful db2_pconnect() for the connection handle.

Nota:

The php.ini setting ibm_db2.i5_allow_commit==0 or DB2_I5_TXN_NO_COMMIT is the default, but may be overridden with the i5_commit option.

DB2_I5_TXN_NO_COMMIT - Commitment control is not used.

DB2_I5_TXN_READ_UNCOMMITTED - Dirty reads, nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_READ_COMMITTED - Dirty reads are not possible. Nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_REPEATABLE_READ - Dirty reads and nonrepeatable reads are not possible. Phantoms are possible.

DB2_I5_TXN_SERIALIZABLE - Transactions are serializable. Dirty reads, non-repeatable reads, and phantoms are not possible

i5_query_optimize

DB2_FIRST_IO All queries are optimized with the goal of returning the first page of output as fast as possible. This goal works well when the output is controlled by a user who is most likely to cancel the query after viewing the first page of output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause.

DB2_ALL_IO All queries are optimized with the goal of running the entire query to completion in the shortest amount of elapsed time. This is a good option when the output of a query is being written to a file or report, or the interface is queuing the output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause. This is the default.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ON value turns on DB2 6X allocation scheme for DBCS translation column size growth.

DB2_I5_DBCS_ALLOC_OFF value turns off DB2 6X allocation scheme for DBCS translation column size growth.

Nota:

The php.ini setting ibm_db2.i5_dbcs_alloc==0 or DB2_I5_DBCS_ALLOC_OFF is the default, but may be overridden with the i5_dbcs_alloc option.

i5_date_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) date format yyyy-mm-dd is used. This is the default.

DB2_I5_FMT_USA - The United States date format mm/dd/yyyy is used.

DB2_I5_FMT_EUR - The European date format dd.mm.yyyy is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard date format yyyy-mm-dd is used.

DB2_I5_FMT_MDY - The date format mm/dd/yyyy is used.

DB2_I5_FMT_DMY - The date format dd/mm/yyyy is used.

DB2_I5_FMT_YMD - The date format yy/mm/dd is used.

DB2_I5_FMT_JUL - The Julian date format yy/ddd is used.

DB2_I5_FMT_JOB - The job default is used.

i5_date_sep

DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This is the default.

DB2_I5_SEP_DASH - A dash ( - ) is used as the date separator.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the date separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the date separator.

DB2_I5_SEP_BLANK - A blank is used as the date separator.

DB2_I5_SEP_JOB - The job default is used

i5_time_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) time format hh.mm.ss is used. This is the default.

DB2_I5_FMT_USA - The United States time format hh:mmxx is used, where xx is AM or PM.

DB2_I5_FMT_EUR - The European time format hh.mm.ss is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard time format hh:mm:ss is used.

DB2_I5_FMT_HMS - The hh:mm:ss format is used.

i5_time_sep

DB2_I5_SEP_COLON - A colon ( : ) is used as the time separator. This is the default.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the time separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the time separator.

DB2_I5_SEP_BLANK - A blank is used as the time separator.

DB2_I5_SEP_JOB - The job default is used.

i5_decimal_sep

DB2_I5_SEP_PERIOD - A period ( . ) is used as the decimal separator. This is the default.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the decimal separator.

DB2_I5_SEP_JOB - The job default is used.

The following new i5/OS option is available in ibm_db2 version 1.8.0 and later.

i5_libl

A character value that indicates the library list that will be used for resolving unqualified file references. Specify the library list elements separated by blanks 'i5_libl'=>"MYLIB YOURLIB ANYLIB".

Nota:

i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available in i5/OS V5R4 and later.

Valor Retornado

Returns a connection handle resource if the connection attempt is successful. db2_pconnect() tries to reuse an existing connection resource that exactly matches the database, username, and password parameters. If the connection attempt fails, db2_pconnect() returns false.

Changelog

Versão | Descrição
ibm_db2 1.9.0 | Active transactions within a persistent connection will be rolled back at the end of each request.
ibm_db2 1.8.0 | The i5_libl option is available for i5/OS users.
ibm_db2 1.7.0 | The trustedcontext option is available.
ibm_db2 1.5.1 | The i5_lib, i5_naming, i5_commit, i5_query_optimize, i5_dbcs_alloc, i5_date_fmt, i5_date_sep, i5_time_fmt, i5_time_sep and i5_decimal_sep options are available for i5/OS users.

Exemplos

Exemplo #1 A db2_pconnect() example

In the following example, the first call to db2_pconnect() returns a new persistent connection resource. The second call to db2_pconnect() returns a persistent connection resource that simply reuses the first persistent connection resource.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$pconn = db2_pconnect($database, $user, $password);

if ($pconn) {
    echo "Persistent connection succeeded.";
}
else {
    echo "Persistent connection failed.";
}

$pconn2 = db2_pconnect($database, $user, $password);
if ($pconn) {
    echo "Second persistent connection succeeded.";
}
else {
    echo "Second persistent connection failed.";
}
?>

O exemplo acima irá imprimir:

Persistent connection succeeded.
Second persistent connection succeeded.

Exemplo #2 Using trusted context

The following example shows how to enable trusted context, switch users, and get the current user ID.

<?php

$database = "SAMPLE";
$hostname = "localhost";
$port = 50000;
$authID = "db2inst1";
$auth_pass = "ibmdb2";

$tc_user = "tcuser";
$tc_pass = "tcpassword";

$dsn = "DATABASE=$database;HOSTNAME=$hostname;PORT=$port;
  PROTOCOL=TCPIP;UID=$authID;PWD=$auth_pass;";
$options = array ("trustedcontext" => DB2_TRUSTED_CONTEXT_ENABLE);

$tc_conn = db2_pconnect($dsn, "", "", $options);
if($tc_conn) {
    echo "Explicit trusted connection succeeded.\n";

    if(db2_get_option($tc_conn, "trustedcontext")) {
        $userBefore = db2_get_option($tc_conn, "trusted_user");

        //Do some work as user 1.

        //Switching to trusted user.
        $parameters = array("trusted_user" => $tc_user,
          "trusted_password" => $tcuser_pass);
        $res = db2_set_option ($tc_conn, $parameters, 1);

        $userAfter = db2_get_option($tc_conn, "trusted_user");
        //Do more work as trusted user.

        if($userBefore != $userAfter) {
            echo "User has been switched." . "\n";
        }
    }

    db2_close($tc_conn);
}
else {
    echo "Explicit trusted connection failed.\n";
}
?>

O exemplo acima irá imprimir:

Explicit trusted connection succeeded.
User has been switched.

Veja Também

  • db2_connect() - Returns a connection to a database


Prepares an SQL statement to be executed

  • « db2_pconnect
  • db2_primary_keys »
  • PHP Manual
  • IBM DB2 Funções
  • Prepares an SQL statement to be executed

db2_prepare

(PECL ibm_db2 >= 1.0.0)

db2_prepare — Prepares an SQL statement to be executed

Descrição

db2_prepare ( resource $connection , string $statement , array $options = ? ) : resource

db2_prepare() creates a prepared SQL statement which can include 0 or more parameter markers (? characters) representing parameters for input, output, or input/output. You can pass parameters to the prepared statement using db2_bind_param(), or for input values only, as an array passed to db2_execute().

There are three main advantages to using prepared statements in your application:

  • Performance: when you prepare a statement, the database server creates an optimized access plan for retrieving data with that statement. Subsequently issuing the prepared statement with db2_execute() enables the statements to reuse that access plan and avoids the overhead of dynamically creating a new access plan for every statement you issue.

  • Security: when you prepare a statement, you can include parameter markers for input values. When you execute a prepared statement with input values for placeholders, the database server checks each input value to ensure that the type matches the column definition or parameter definition.

  • Advanced functionality: Parameter markers not only enable you to pass input values to prepared SQL statements, they also enable you to retrieve OUT and INOUT parameters from stored procedures using db2_bind_param().

Parâmetros

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

statement

An SQL statement, optionally containing one or more parameter markers..

options

An associative array containing statement options. You can use this parameter to request a scrollable cursor on database servers that support this functionality.

For a description of valid statement options, see db2_set_option().

Valor Retornado

Returns a statement resource if the SQL statement was successfully parsed and prepared by the database server. Returns false if the database server returned an error. You can determine which error was returned by calling db2_stmt_error() or db2_stmt_errormsg().

Exemplos

Exemplo #1 Preparing and executing an SQL statement with parameter markers

The following example prepares an INSERT statement that accepts four parameter markers, then iterates over an array of arrays containing the input values to be passed to db2_execute().

<?php
$animals = array(
    array(0, 'cat', 'Pook', 3.2),
    array(1, 'dog', 'Peaches', 12.3),
    array(2, 'horse', 'Smarty', 350.0),
);

$insert = 'INSERT INTO animals (id, breed, name, weight)
    VALUES (?, ?, ?, ?)';
$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    foreach ($animals as $animal) {
        $result = db2_execute($stmt, $animal);
    }
}
?>

Veja Também

  • db2_bind_param() - Binds a PHP variable to an SQL statement parameter
  • db2_execute() - Executes a prepared SQL statement
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message


Returns a result set listing primary keys for a table

  • « db2_prepare
  • db2_procedure_columns »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a result set listing primary keys for a table

db2_primary_keys

(PECL ibm_db2 >= 1.0.0)

db2_primary_keys — Returns a result set listing primary keys for a table

Descrição

db2_primary_keys ( resource $connection , string $qualifier , string $schema , string $table-name ) : resource

Returns a result set listing the primary keys for a table.

Parâmetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables. If schema is null, db2_primary_keys() matches the schema for the current connection.

table-name

The name of the table.

Valor Retornado

Returns a statement resource with a result set containing rows describing the primary keys for the specified table. The result set is composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema for the table containing the primary key.
TABLE_NAME | Name of the table containing the primary key.
COLUMN_NAME | Name of the column containing the primary key.
KEY_SEQ | 1-indexed position of the column in the key.
PK_NAME | The name of the primary key.

Veja Também

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a result set listing stored procedure parameters

  • « db2_primary_keys
  • db2_procedures »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a result set listing stored procedure parameters

db2_procedure_columns

(PECL ibm_db2 >= 1.0.0)

db2_procedure_columns — Returns a result set listing stored procedure parameters

Descrição

db2_procedure_columns ( resource $connection , string $qualifier , string $schema , string $procedure , string $parameter ) : resource

Returns a result set listing the parameters for one or more stored procedures.

Parâmetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

parameter

The name of the parameter. This parameter accepts a search pattern containing _ and % as wildcards. If this parameter is null, all parameters for the specified stored procedures are returned.

Valor Retornado

Returns a statement resource with a result set containing rows describing the parameters for the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is null if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
COLUMN_NAME | Name of the parameter.
COLUMN_TYPE

An integer value representing the type of the parameter:

Return value | Parameter type
1 (SQL_PARAM_INPUT) | Input (IN) parameter.
2 (SQL_PARAM_INPUT_OUTPUT) | Input/output (INOUT) parameter.
3 (SQL_PARAM_OUTPUT) | Output (OUT) parameter.
DATA_TYPE | The SQL data type for the parameter represented as an integer value.
TYPE_NAME | A string representing the data type for the parameter.
COLUMN_SIZE | An integer value representing the size of the parameter.
BUFFER_LENGTH | Maximum number of bytes necessary to store data for this parameter.
DECIMAL_DIGITS | The scale of the parameter, or null where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or null (representing a data type for which radix is not applicable).
NULLABLE | An integer value representing whether the parameter is nullable or not.
REMARKS | Description of the parameter.
COLUMN_DEF | Default value for the parameter.
SQL_DATA_TYPE | An integer value representing the size of the parameter.
SQL_DATETIME_SUB | Returns an integer value representing a datetime subtype code, or null for SQL data types to which this does not apply.
CHAR_OCTET_LENGTH | Maximum length in octets for a character data type parameter, which matches COLUMN_SIZE for single-byte character set data, or null for non-character data types.
ORDINAL_POSITION | The 1-indexed position of the parameter in the CALL statement.
IS_NULLABLE | A string value where 'YES' means that the parameter accepts or returns null values and 'NO' means that the parameter does not accept or return null values.

Veja Também

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a result set listing the stored procedures registered in a database

  • « db2_procedure_columns
  • db2_result »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a result set listing the stored procedures registered in a database

db2_procedures

(PECL ibm_db2 >= 1.0.0)

db2_procedures — Returns a result set listing the stored procedures registered in a database

Descrição

db2_procedures ( resource $connection , string $qualifier , string $schema , string $procedure ) : resource

Returns a result set listing the stored procedures registered in a database.

Parâmetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

Valor Retornado

Returns a statement resource with a result set containing rows describing the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is null if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
NUM_INPUT_PARAMS | Number of input (IN) parameters for the stored procedure.
NUM_OUTPUT_PARAMS | Number of output (OUT) parameters for the stored procedure.
NUM_RESULT_SETS | Number of result sets returned by the stored procedure.
REMARKS | Any comments about the stored procedure.
PROCEDURE_TYPE | Always returns 1, indicating that the stored procedure does not return a return value.

Veja Também

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a single column from a row in the result set

  • « db2_procedures
  • db2_rollback »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a single column from a row in the result set

db2_result

(PECL ibm_db2 >= 1.0.0)

db2_result — Returns a single column from a row in the result set

Descrição

db2_result ( resource $stmt , mixed $column ) : mixed

Use db2_result() to return the value of a specified column in the current row of a result set. You must call db2_fetch_row() before calling db2_result() to set the location of the result set pointer.

Parâmetros

stmt

A valid stmt resource.

column

Either an integer mapping to the 0-indexed field in the result set, or a string matching the name of the column.

Valor Retornado

Returns the value of the requested field if the field exists in the result set. Returns NULL if the field does not exist, and issues a warning.

Exemplos

Exemplo #1 A db2_result() example

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $name = db2_result($stmt, 0);
    $breed = db2_result($stmt, 'BREED');
    print "$name $breed";
}
?>

O exemplo acima irá imprimir:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Veja Também

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row


Rolls back a transaction

  • « db2_result
  • db2_server_info »
  • PHP Manual
  • IBM DB2 Funções
  • Rolls back a transaction

db2_rollback

(PECL ibm_db2 >= 1.0.0)

db2_rollback — Rolls back a transaction

Descrição

db2_rollback ( resource $connection ) : bool

Rolls back an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_rollback() normally has no effect unless AUTOCOMMIT has been turned off for the connection resource.

Parâmetros

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Rolling back a DELETE statement

In the following example, we count the number of rows in a table, turn off AUTOCOMMIT mode on a database connection, delete all of the rows in the table and return the count of 0 to prove that the rows have been removed. We then issue db2_rollback() and return the updated count of rows in the table to show that the number is the same as before we issued the DELETE statement. The return to the original state of the table demonstrates that the roll back of the transaction succeeded.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
    $stmt = db2_exec($conn, "SELECT count(*) FROM animals");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Turn AUTOCOMMIT off
    db2_autocommit($conn, DB2_AUTOCOMMIT_OFF);

    // Delete all rows from ANIMALS
    db2_exec($conn, "DELETE FROM animals");

    $stmt = db2_exec($conn, "SELECT count(*) FROM animals");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Roll back the DELETE statement
    db2_rollback( $conn );

    $stmt = db2_exec( $conn, "SELECT count(*) FROM animals" );
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";
    db2_close($conn);
}
?>

O exemplo acima irá imprimir:

7
0
7

Veja Também

  • db2_autocommit() - Returns or sets the AUTOCOMMIT state for a database connection
  • db2_commit() - Commits a transaction


Returns an object with properties that describe the DB2 database server

  • « db2_rollback
  • db2_set_option »
  • PHP Manual
  • IBM DB2 Funções
  • Returns an object with properties that describe the DB2 database server

db2_server_info

(PECL ibm_db2 >= 1.1.1)

db2_server_info — Returns an object with properties that describe the DB2 database server

Descrição

db2_server_info ( resource $connection ) : object

This function returns an object with read-only properties that return information about the IBM DB2, Cloudscape, or Apache Derby database server. The following table lists the database server properties:

Database server properties
Property name | Return type | Description
DBMS_NAME | string | The name of the database server to which you are connected. For DB2 servers this is a combination of DB2 followed by the operating system on which the database server is running.
DBMS_VER | string | The version of the database server, in the form of a string "MM.mm.uuuu" where MM is the major version, mm is the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8, minor version 2, update 1.
DB_CODEPAGE | int | The code page of the database to which you are connected.
DB_NAME | string | The name of the database to which you are connected.
DFT_ISOLATION string

The default transaction isolation level supported by the server:

UR

Uncommitted read: changes are immediately visible by all concurrent transactions.

CS

Cursor stability: a row read by one transaction can be altered and committed by a second concurrent transaction.

RS

Read stability: a transaction can add or remove rows matching a search condition or a pending transaction.

RR

Repeatable read: data affected by pending transaction is not available to other transactions.

NC

No commit: any changes are visible at the end of a successful operation. Explicit commits and rollbacks are not allowed.

IDENTIFIER_QUOTE_CHAR | string | The character used to delimit an identifier.
INST_NAME | string | The instance on the database server that contains the database.
ISOLATION_OPTION | array | An array of the isolation options supported by the database server. The isolation options are described in the DFT_ISOLATION property.
KEYWORDS | array | An array of the keywords reserved by the database server.
LIKE_ESCAPE_CLAUSE | bool | true if the database server supports the use of % and _ wildcard characters. false if the database server does not support these wildcard characters.
MAX_COL_NAME_LEN | int | Maximum length of a column name supported by the database server, expressed in bytes.
MAX_IDENTIFIER_LEN | int | Maximum length of an SQL identifier supported by the database server, expressed in characters.
MAX_INDEX_SIZE | int | Maximum size of columns combined in an index supported by the database server, expressed in bytes.
MAX_PROC_NAME_LEN | int | Maximum length of a procedure name supported by the database server, expressed in bytes.
MAX_ROW_SIZE | int | Maximum length of a row in a base table supported by the database server, expressed in bytes.
MAX_SCHEMA_NAME_LEN | int | Maximum length of a schema name supported by the database server, expressed in bytes.
MAX_STATEMENT_LEN | int | Maximum length of an SQL statement supported by the database server, expressed in bytes.
MAX_TABLE_NAME_LEN | int | Maximum length of a table name supported by the database server, expressed in bytes.
NON_NULLABLE_COLUMNS | bool | true if the database server supports columns that can be defined as NOT NULL, false if the database server does not support columns defined as NOT NULL.
PROCEDURES | bool | true if the database server supports the use of the CALL statement to call stored procedures, false if the database server does not support the CALL statement.
SPECIAL_CHARS | string | A string containing all of the characters other than a-Z, 0-9, and underscore that can be used in an identifier name.
SQL_CONFORMANCE string

The level of conformance to the ANSI/ISO SQL-92 specification offered by the database server:

ENTRY

Entry-level SQL-92 compliance.

FIPS127

FIPS-127-2 transitional compliance.

FULL

Full level SQL-92 compliance.

INTERMEDIATE

Intermediate level SQL-92 compliance.

Parâmetros

connection

Specifies an active DB2 client connection.

Valor Retornado

Returns an object on a successful call. Returns false on failure.

Exemplos

Exemplo #1 A db2_server_info() example

To retrieve information about the server, you must pass a valid database connection resource to db2_server_info().

<?php

$conn = db2_connect('sample', 'db2inst1', 'ibmdb2');

$server = db2_server_info( $conn );

if ($server) {
    echo "DBMS_NAME: ";                 var_dump( $server->DBMS_NAME );
    echo "DBMS_VER: ";                  var_dump( $server->DBMS_VER );
    echo "DB_CODEPAGE: ";               var_dump( $server->DB_CODEPAGE );
    echo "DB_NAME: ";                   var_dump( $server->DB_NAME );
    echo "INST_NAME: ";                 var_dump( $server->INST_NAME );
    echo "SPECIAL_CHARS: ";             var_dump( $server->SPECIAL_CHARS );
    echo "KEYWORDS: ";                  var_dump( sizeof($server->KEYWORDS) );
    echo "DFT_ISOLATION: ";             var_dump( $server->DFT_ISOLATION );
    echo "ISOLATION_OPTION: ";
    $il = '';
    foreach( $server->ISOLATION_OPTION as $opt )
    {
       $il .= $opt." ";
    }
    var_dump( $il );
    echo "SQL_CONFORMANCE: ";           var_dump( $server->SQL_CONFORMANCE );
    echo "PROCEDURES: ";                var_dump( $server->PROCEDURES );
    echo "IDENTIFIER_QUOTE_CHAR: ";     var_dump( $server->IDENTIFIER_QUOTE_CHAR );
    echo "LIKE_ESCAPE_CLAUSE: ";        var_dump( $server->LIKE_ESCAPE_CLAUSE );
    echo "MAX_COL_NAME_LEN: ";          var_dump( $server->MAX_COL_NAME_LEN );
    echo "MAX_ROW_SIZE: ";              var_dump( $server->MAX_ROW_SIZE );
    echo "MAX_IDENTIFIER_LEN: ";        var_dump( $server->MAX_IDENTIFIER_LEN );
    echo "MAX_INDEX_SIZE: ";            var_dump( $server->MAX_INDEX_SIZE );
    echo "MAX_PROC_NAME_LEN: ";         var_dump( $server->MAX_PROC_NAME_LEN );
    echo "MAX_SCHEMA_NAME_LEN: ";       var_dump( $server->MAX_SCHEMA_NAME_LEN );
    echo "MAX_STATEMENT_LEN: ";         var_dump( $server->MAX_STATEMENT_LEN );
    echo "MAX_TABLE_NAME_LEN: ";        var_dump( $server->MAX_TABLE_NAME_LEN );
    echo "NON_NULLABLE_COLUMNS: ";      var_dump( $server->NON_NULLABLE_COLUMNS );

    db2_close($conn);
}
?>

O exemplo acima irá imprimir:

DBMS_NAME: string(9) "DB2/LINUX"
DBMS_VER: string(10) "08.02.0000"
DB_CODEPAGE: int(1208)
DB_NAME: string(6) "SAMPLE"
INST_NAME: string(8) "db2inst1"
SPECIAL_CHARS: string(2) "@#"
KEYWORDS: int(179)
DFT_ISOLATION: string(2) "CS"
ISOLATION_OPTION: string(12) "UR CS RS RR "
SQL_CONFORMANCE: string(7) "FIPS127"
PROCEDURES: bool(true)
IDENTIFIER_QUOTE_CHAR: string(1) """
LIKE_ESCAPE_CLAUSE: bool(true)
MAX_COL_NAME_LEN: int(30)
MAX_ROW_SIZE: int(32677)
MAX_IDENTIFIER_LEN: int(18)
MAX_INDEX_SIZE: int(1024)
MAX_PROC_NAME_LEN: int(128)
MAX_SCHEMA_NAME_LEN: int(30)
MAX_STATEMENT_LEN: int(2097152)
MAX_TABLE_NAME_LEN: int(128)
NON_NULLABLE_COLUMNS: bool(true)

Veja Também

  • db2_client_info() - Returns an object with properties that describe the DB2 database client


Set options for connection or statement resources

  • « db2_server_info
  • db2_special_columns »
  • PHP Manual
  • IBM DB2 Funções
  • Set options for connection or statement resources

db2_set_option

(PECL ibm_db2 >= 1.0.0)

db2_set_option — Set options for connection or statement resources

Descrição

db2_set_option ( resource $resource , array $options , int $type ) : bool

Sets options for a statement resource or a connection resource. You cannot set options for result set resources.

Parâmetros

resource

A valid statement resource as returned from db2_prepare() or a valid connection resource as returned from db2_connect() or db2_pconnect().

options

An associative array containing valid statement or connection options. This parameter can be used to change autocommit values, cursor types (scrollable or forward), and to specify the case of the column names (lower, upper, or natural) that will appear in a result set.

autocommit

Passing DB2_AUTOCOMMIT_ON turns autocommit on for the specified connection resource.

Passing DB2_AUTOCOMMIT_OFF turns autocommit off for the specified connection resource.

cursor

Passing DB2_FORWARD_ONLY specifies a forward-only cursor for a statement resource. This is the default cursor type, and is supported by all database servers.

Passing DB2_SCROLLABLE specifies a scrollable cursor for a statement resource. Scrollable cursors enable result set rows to be accessed in non-sequential order, but are only supported by IBM DB2 Universal Database databases.

binmode

Passing DB2_BINARY specifies that binary data will be returned as is. This is the default mode. This is the equivalent of setting ibm_db2.binmode=1 in php.ini.

Passing DB2_CONVERT specifies that binary data will be converted to hexadecimal encoding, and will be returned as such. This is the equivalent of setting ibm_db2.binmode=2 in php.ini.

Passing DB2_PASSTHRU specifies that binary data will be converted to null. This is the equivalent of setting ibm_db2.binmode=3 in php.ini.

db2_attr_case

Passing DB2_CASE_LOWER specifies that column names of the result set are returned in lower case.

Passing DB2_CASE_UPPER specifies that column names of the result set are returned in upper case.

Passing DB2_CASE_NATURAL specifies that column names of the result set are returned in natural case.

deferred_prepare

Passing DB2_DEFERRED_PREPARE_ON turns deferred prepare on for the specified statement resource.

Passing DB2_DEFERRED_PREPARE_OFF turns deferred prepare off for the specified statement resource.

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later. These options apply only when running PHP and ibm_db2 natively on i5 systems.

i5_fetch_only

DB2_I5_FETCH_ON - Cursors are read-only and cannot be used for positioned updates or deletes. This is the default unless SQL_ATTR_FOR_FETCH_ONLY environment has been set to SQL_FALSE.

DB2_I5_FETCH_OFF - Cursors can be used for positioned updates and deletes.

The following new option is available in ibm_db2 version 1.8.0 and later.

rowcount

DB2_ROWCOUNT_PREFETCH_ON - Client can request the full row count prior to fetching, which means that db2_num_rows() returns the number of rows selected even when a ROLLFORWARD_ONLY cursor is used.

DB2_ROWCOUNT_PREFETCH_OFF - Client cannot request the full row count prior to fetching.

The following new options are available in ibm_db2 version 1.7.0 and later.

trusted_user

To switch the user to a trusted user, pass the User ID (String) of the trusted user as the value of this key. This option can be set on a connection resource only. To use this option, trusted context must be enabled on the connection resource.

trusted_password

The password (String) that corresponds to the user specified by the trusted_user key.

The following new options are available in ibm_db2 version 1.6.0 and later. These options provide useful tracking information that can be accessed during execution with db2_get_option().

Nota:

When the value in each option is being set, some servers might not handle the entire length provided and might truncate the value.

To ensure that the data specified in each option is converted correctly when transmitted to a host system, use only the characters A through Z, 0 through 9, and the underscore (_) or period (.).

userid

SQL_ATTR_INFO_USERID - A pointer to a null-terminated character string used to identify the client user ID sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 16 characters. This user-id is not to be confused with the authentication user-id, it is for identification purposes only and is not used for any authorization.

acctstr

SQL_ATTR_INFO_ACCTSTR - A pointer to a null-terminated character string used to identify the client accounting string sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 200 characters.

applname

SQL_ATTR_INFO_APPLNAME - A pointer to a null-terminated character string used to identify the client application name sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 32 characters.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - A pointer to a null-terminated character string used to identify the client workstation name sent to the host database server when using DB2 Connect.

Nota:

DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

type

An integer value that specifies the type of resource that was passed into the function. The type of resource and this value must correspond.

Passing 1 as the value specifies that a connection resource has been passed into the function.

Passing any integer not equal to 1 as the value specifies that a statement resource has been passed into the function.

The following table specifies which options are compatible with the available resource types:

Resource-Parameter Matrix
Key | Value | Resource Type
 |  | Connection | Statement | Result Set
autocommit | DB2_AUTOCOMMIT_ON | X | - | -
autocommit | DB2_AUTOCOMMIT_OFF | X | - | -
cursor | DB2_SCROLLABLE | - | X | -
cursor | DB2_FORWARD_ONLY | - | X | -
binmode | DB2_BINARY | X | X | -
binmode | DB2_CONVERT | X | X | -
binmode | DB2_PASSTHRU | X | X | -
db2_attr_case | DB2_CASE_LOWER | X | X | -
db2_attr_case | DB2_CASE_UPPER | X | X | -
db2_attr_case | DB2_CASE_NATURAL | X | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_ON | - | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_OFF | - | X | -
i5_fetch_only | DB2_I5_FETCH_ON | - | X | -
i5_fetch_only | DB2_I5_FETCH_OFF | - | X | -
rowcount | DB2_ROWCOUNT_PREFETCH_ON | - | X | -
rowcount | DB2_ROWCOUNT_PREFETCH_OFF | - | X | -
trusted_user | <USER NAME> (String) | X | - | -
trusted_password | <PASSWORD> (String) | X | - | -
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Setting one parameter with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_ON);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

O exemplo acima irá imprimir:

Options Set Successfully

Exemplo #2 Setting multiple parameters with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

O exemplo acima irá imprimir:

Options Set Successfully

Exemplo #3 Setting multiple parameters with an invalid key

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
             'MY_INVALID_KEY' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

O exemplo acima irá imprimir:

Could Not Set Options

Exemplo #4 Setting multiple parameters with an invalid value

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => 'INVALID_VALUE',
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

O exemplo acima irá imprimir:

Could Not Set Options

Exemplo #5 Setting multiple parameters with a connection resource and the wrong type

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and the wrong type value */
$result = db2_set_option($conn, $options, 2);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

O exemplo acima irá imprimir:

Could Not Set Options

Exemplo #6 Setting multiple parameters with the wrong resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE');

/* Call the function using the wrong resource, and the correct options array, and type values */
$result = db2_set_option($stmt, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

O exemplo acima irá imprimir:

Could Not Set Options

Exemplo #7 Putting it all together

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('db2_attr_case' => DB2_CASE_LOWER,
                        'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE WHERE EMPNO = ? OR EMPNO = ?');

/* Call the function using the correct resource, options array, and type values */
$option_result = db2_set_option($stmt, $options, 2);
$result = db2_execute($stmt, array('000130', '000140'));

/* Get Row 2 before Row 1 since Scrollable Cursor */
print_r(db2_fetch_assoc($stmt, 2));
print '<br /><br />';
print_r(db2_fetch_assoc($stmt, 1));

?>

O exemplo acima irá imprimir:

Array
(
    [empno] => 000140
    [firstnme] => HEATHER
    [midinit] => A
    [lastname] => NICHOLLS
    [workdept] => C01
    [phoneno] => 1793
    [hiredate] => 1976-12-15
    [job] => ANALYST
    [edlevel] => 18
    [sex] => F
    [birthdate] => 1946-01-19
    [salary] => 28420.00
    [bonus] => 600.00
    [comm] => 2274.00
)

Array
(
    [empno] => 000130
    [firstnme] => DELORES
    [midinit] => M
    [lastname] => QUINTANA
    [workdept] => C01
    [phoneno] => 4578
    [hiredate] => 1971-07-28
    [job] => ANALYST
    [edlevel] => 16
    [sex] => F
    [birthdate] => 1925-09-15
    [salary] => 23800.00
    [bonus] => 500.00
    [comm] => 1904.00
)

Exemplo #8 i5/OS cursors are read-only

<?php
  $conn = db2_connect("", "", "", array("i5_lib"=>"nobody"));
  $stmt = db2_prepare($conn, 'select * from names where first = ?');
  $name = "first2";
  db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
  $options = array("i5_fetch_only"=>DB2_I5_FETCH_ON);
  db2_set_option($stmt,$options,0);
  if (db2_execute($stmt)) {
    while ($row = db2_fetch_array($stmt)) {
      echo "{$row[0]} {$row[1]}";
    }
  }
?>

O exemplo acima irá imprimir:

first2 last2

Veja Também

  • db2_connect() - Returns a connection to a database
  • db2_pconnect() - Returns a persistent connection to a database
  • db2_exec() - Executes an SQL statement directly
  • db2_prepare() - Prepares an SQL statement to be executed
  • db2_cursor_type() - Returns the cursor type used by a statement resource


Returns a result set listing the unique row identifier columns for a table

  • « db2_set_option
  • db2_statistics »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a result set listing the unique row identifier columns for a table

db2_special_columns

(PECL ibm_db2 >= 1.0.0)

db2_special_columns — Returns a result set listing the unique row identifier columns for a table

Descrição

db2_special_columns ( resource $connection , string $qualifier , string $schema , string $table_name , int $scope ) : resource

Returns a result set listing the unique row identifier columns for a table.

Parâmetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables.

table_name

The name of the table.

scope

Integer value representing the minimum duration for which the unique row identifier is valid. This can be one of the following values:

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.

Valor Retornado

Returns a statement resource with a result set containing rows with unique row identifier information for a table. The rows are composed of the following columns:

Column name | Description
SCOPE

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.
COLUMN_NAME | Name of the unique column.
DATA_TYPE | SQL data type for the column.
TYPE_NAME | Character string representation of the SQL data type for the column.
COLUMN_SIZE | An integer value representing the size of the column.
BUFFER_LENGTH | Maximum number of bytes necessary to store data from this column.
DECIMAL_DIGITS | The scale of the column, or null where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or null (representing a data type for which radix is not applicable).
PSEUDO_COLUMN | Always returns 1.

Veja Também

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a result set listing the index and statistics for a table

  • « db2_special_columns
  • db2_stmt_error »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a result set listing the index and statistics for a table

db2_statistics

(PECL ibm_db2 >= 1.0.0)

db2_statistics — Returns a result set listing the index and statistics for a table

Descrição

db2_statistics ( resource $connection , string $qualifier , string $schema , string $table-name , bool $unique ) : resource

Returns a result set listing the index and statistics for a table.

Parâmetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema that contains the targeted table. If this parameter is null, the statistics and indexes are returned for the schema of the current user.

table_name

The name of the table.

unique

An integer value representing the type of index information to return.

0

Return only the information for unique indexes on the table.

1

Return the information for all indexes on the table.

Valor Retornado

Returns a statement resource with a result set containing rows describing the statistics and indexes for the base tables matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is null if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
NON_UNIQUE

An integer value representing whether the index prohibits unique values, or whether the row represents statistics on the table itself:

Return value | Parameter type
0 (SQL_FALSE) | The index allows duplicate values.
1 (SQL_TRUE) | The index values must be unique.
null | This row is statistics information for the table itself.
INDEX_QUALIFIER | A string value representing the qualifier that would have to be prepended to INDEX_NAME to fully qualify the index.
INDEX_NAME | A string representing the name of the index.
TYPE

An integer value representing the type of information contained in this row of the result set:

Return value | Parameter type
0 (SQL_TABLE_STAT) | The row contains statistics about the table itself.
1 (SQL_INDEX_CLUSTERED) | The row contains information about a clustered index.
2 (SQL_INDEX_HASH) | The row contains information about a hashed index.
3 (SQL_INDEX_OTHER) | The row contains information about a type of index that is neither clustered nor hashed.
ORDINAL_POSITION | The 1-indexed position of the column in the index. null if the row contains statistics information about the table itself.
COLUMN_NAME | The name of the column in the index. null if the row contains statistics information about the table itself.
ASC_OR_DESC | A if the column is sorted in ascending order, D if the column is sorted in descending order, null if the row contains statistics information about the table itself.
CARDINALITY

If the row contains information about an index, this column contains an integer value representing the number of unique values in the index.

If the row contains information about the table itself, this column contains an integer value representing the number of rows in the table.

PAGES

If the row contains information about an index, this column contains an integer value representing the number of pages used to store the index.

If the row contains information about the table itself, this column contains an integer value representing the number of pages used to store the table.

FILTER_CONDITION | Always returns null.

Veja Também

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a string containing the SQLSTATE returned by an SQL statement

  • « db2_statistics
  • db2_stmt_errormsg »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a string containing the SQLSTATE returned by an SQL statement

db2_stmt_error

(PECL ibm_db2 >= 1.0.0)

db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement

Descrição

db2_stmt_error ( resource $stmt = ? ) : string

Returns a string containing the SQLSTATE value returned by an SQL statement.

If you do not pass a statement resource as an argument to db2_stmt_error(), the driver returns the SQLSTATE value associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_stmt_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

Parâmetros

stmt

A valid statement resource.

Valor Retornado

Returns a string containing an SQLSTATE value.

Veja Também

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message


Returns a string containing the last SQL statement error message

  • « db2_stmt_error
  • db2_table_privileges »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a string containing the last SQL statement error message

db2_stmt_errormsg

(PECL ibm_db2 >= 1.0.0)

db2_stmt_errormsg — Returns a string containing the last SQL statement error message

Descrição

db2_stmt_errormsg ( resource $stmt = ? ) : string

Returns a string containing the last SQL statement error message.

If you do not pass a statement resource as an argument to db2_stmt_errormsg(), the driver returns the error message associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

Parâmetros

stmt

A valid statement resource.

Valor Retornado

Returns a string containing the error message and SQLCODE value for the last error that occurred issuing an SQL statement.

Veja Também

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement


Returns a result set listing the tables and associated privileges in a database

  • « db2_stmt_errormsg
  • db2_tables »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a result set listing the tables and associated privileges in a database

db2_table_privileges

(PECL ibm_db2 >= 1.0.0)

db2_table_privileges — Returns a result set listing the tables and associated privileges in a database

Descrição

db2_table_privileges ( resource $connection , string $qualifier = ? , string $schema = ? , string $table_name = ? ) : resource

Returns a result set listing the tables and associated privileges in a database.

Parâmetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table_name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

Valor Retornado

Returns a statement resource with a result set containing rows describing the privileges for the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is null if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
GRANTOR | Authorization ID of the user who granted the privilege.
GRANTEE | Authorization ID of the user to whom the privilege was granted.
PRIVILEGE | The privilege that has been granted. This can be one of ALTER, CONTROL, DELETE, INDEX, INSERT, REFERENCES, SELECT, or UPDATE.
IS_GRANTABLE | A string value of "YES" or "NO" indicating whether the grantee can grant the privilege to other users.

Veja Também

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a result set listing the tables and associated metadata in a database

  • « db2_table_privileges
  • Ingres »
  • PHP Manual
  • IBM DB2 Funções
  • Returns a result set listing the tables and associated metadata in a database

db2_tables

(PECL ibm_db2 >= 1.0.0)

db2_tables — Returns a result set listing the tables and associated metadata in a database

Descrição

db2_tables ( resource $connection , string $qualifier = ? , string $schema = ? , string $table-name = ? , string $table-type = ? ) : resource

Returns a result set listing the tables and associated metadata in a database.

Parâmetros

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table-name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

table-type

A list of comma-delimited table type identifiers. To match all table types, pass null or an empty string. Valid table type identifiers include: ALIAS, HIERARCHY TABLE, INOPERATIVE VIEW, NICKNAME, MATERIALIZED QUERY TABLE, SYSTEM TABLE, TABLE, TYPED TABLE, TYPED VIEW, and VIEW.

Valor Retornado

Returns a statement resource with a result set containing rows describing the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is null if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
TABLE_TYPE | Table type identifier for the table.
REMARKS | Description of the table.

Veja Também

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database


Ingres DBMS, EDBC, and Enterprise Access Gateways

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Basic usage
  • Ingres Funções
    • ingres_autocommit_state — Test if the connection is using autocommit
    • ingres_autocommit — Switch autocommit on or off
    • ingres_charset — Returns the installation character set
    • ingres_close — Close an Ingres database connection
    • ingres_commit — Commit a transaction
    • ingres_connect — Open a connection to an Ingres database
    • ingres_cursor — Get a cursor name for a given result resource
    • ingres_errno — Get the last Ingres error number generated
    • ingres_error — Get a meaningful error message for the last error generated
    • ingres_errsqlstate — Get the last SQLSTATE error code generated
    • ingres_escape_string — Escape special characters for use in a query
    • ingres_execute — Execute a prepared query
    • ingres_fetch_array — Fetch a row of result into an array
    • ingres_fetch_assoc — Fetch a row of result into an associative array
    • ingres_fetch_object — Fetch a row of result into an object
    • ingres_fetch_proc_return — Get the return value from a procedure call
    • ingres_fetch_row — Fetch a row of result into an enumerated array
    • ingres_field_length — Get the length of a field
    • ingres_field_name — Get the name of a field in a query result
    • ingres_field_nullable — Test if a field is nullable
    • ingres_field_precision — Get the precision of a field
    • ingres_field_scale — Get the scale of a field
    • ingres_field_type — Get the type of a field in a query result
    • ingres_free_result — Free the resources associated with a result identifier
    • ingres_next_error — Get the next Ingres error
    • ingres_num_fields — Get the number of fields returned by the last query
    • ingres_num_rows — Get the number of rows affected or returned by a query
    • ingres_pconnect — Open a persistent connection to an Ingres database
    • ingres_prepare — Prepare a query for later execution
    • ingres_query — Send an SQL query to Ingres
    • ingres_result_seek — Set the row position before fetching data
    • ingres_rollback — Roll back a transaction
    • ingres_set_environment — Set environment features controlling output options
    • ingres_unbuffered_query — Send an unbuffered SQL query to Ingres


Introdução

The Ingres driver for PHP enables you to connect to and query the Ingres DBMS, EDBC, and Enterprise Access Gateways.

Nota:

Esta extensão foi movida para o repositório » PECL e não é mais incluída como parte do PHP.5.1.0.


Dependências

To use or build the PHP extension for Ingres you must have a working Ingres client environment. You can download the client software for Ingres from » http://esd.ingres.com/.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP. Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/ingres.

You can download the DLL for this PECL extension from » http://esd.ingres.com/product/drivers/PHP/.

To have these functions available, you must » download and compile this extension, enabling Ingres support using the --with-ingres[=DIR] option, where DIR is the Ingres base directory. If the II_SYSTEM environment variable is not set correctly you may need to use --with-ingres=DIR to specify your Ingres installation directory.

PHP code written for version 2.x and later is not backward-compatible with earlier versions of this PHP extension. However, it is possible to run two incompatible releases within the same PHP environment using the --enable-ingres2 option. This configuration option renames the extension to ingres2, changing function names, configuration settings, and constants. For example, with this option enabled, ingres_connect() becomes ingres2_connect().

To use this extension the system environment variable II_SYSTEM must be defined. Linux and UNIX users will also need to define the shared library search path, for example, LD_LIBRARY_PATH. When used with the Apache web server these variables must be set explicitly in the startup script for Apache. In addition, the PassEnv directive is required for the Ingres extension to load the correct shared libraries. For example:

Exemplo #1 Example usage of PassEnv for Ingres

<IfModule mod_env.c>
    PassEnv II_SYSTEM
    PassEnv LD_LIBRARY_PATH
</IfModule>

Nota:

For example configurations for different web servers and operating systems see » http://community.ingres.com/wiki/Ingres_Articles#Ingres_and_Web_Servers.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Ingres configuration options
Nome | Padrão | Modificável | Changelog
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Available since ingres 1.0.0
ingres.array_index_start | "1" | PHP_INI_ALL | Available since ingres 1.4.0.
ingres.auto | "1" | PHP_INI_ALL | Available since ingres 2.0.0.
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Available since ingres 1.2.0.
ingres.cursor_mode | "0" | PHP_INI_ALL | Available since ingres 1.1.0.
ingres.default_database | NULL | PHP_INI_ALL | Available since ingres 1.0.0
ingres.default_password | NULL | PHP_INI_ALL | Available since ingres 1.0.0
ingres.default_user | NULL | PHP_INI_ALL | Available since ingres 1.0.0
ingres.describe | 1 | PHP_INI_ALL | Available since ingres 2.1.0
ingres.fetch_buffer_size | 100 | PHP_INI_ALL | Available since ingres 2.1.0
ingres.max_links | "-1" | PHP_INI_SYSTEM | Available since ingres 1.0.0
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Available since ingres 1.0.0
ingres.reuse_connection | "1" | PHP_INI_ALL | Available since ingres 2.0.0
ingres.scrollable | "1" | PHP_INI_ALL | Available since ingres 2.0.0.
ingres.trace | "0" | PHP_INI_ALL | Available since ingres 2.0.0.
ingres.trace_connect | "0" | PHP_INI_ALL | Available since ingres 1.2.1.
ingres.utf8 | "1" | PHP_INI_ALL | Available since ingres 2.0.0.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

ingres.allow_persistent bool

Specifies whether to allow persistent connections to Ingres

ingres.array_index_start int

Specifies the start value for an integer key for arrays generated by ingres_fetch_row() or ingres_fetch_array(). By default ingres.array_index_start is set to 1. If you wish to make the ingres extension behave like other database extensions set this configuration option to 0.

ingres.auto bool

Enables or disables autocommit emulation. Ingres cannot have multiple cursors open with autocommit enabled. When enabled, the driver emulates autocommit.

ingres.blob_segment_length int

Specifies the amount of memory to use when reading BLOB data, in bytes

ingres.cursor_mode int

Specifies the default mode for cursors opened with ingres_prepare(). Valid values are INGRES_CURSOR_UPDATE or INGRES_CURSOR_READONLY.

ingres.default_database string

Specifies the default database name to use when connecting to the database server if no other name is specified. Does not apply in Modo seguro de SQL.

ingres.default_password string

Specifies the default password to use when connecting to the database server if no other name is specified. Does not apply in Modo seguro de SQL.

ingres.default_user string

Specifies the default user name to use when connecting to the database server if no other name is specified. Does not apply in Modo seguro de SQL.

ingres.describe bool

Enables the use of DESCRIBE INPUT to determine the expected data types for queries that use parameters. Available with Ingres 9.1.0 and later. When disabled, queries that have parameters passed may need to manually describe the types of those parameters using the types parameter in ingres_query().

Nota:

Enabling this feature with ingres_query() will cause additional communications traffic between this extension and the server. To minimize this additional traffic, use ingres_prepare() and ingres_execute().

ingres.fetch_buffer_size int

Specifies the number of pre-fetch rows that ingres_fetch_array(), ingres_fetch_object() and ingres_fetch_row() will try and fetch in one fetch operation.

ingres.max_links int

Specifies the maximum number of Ingres sessions allowed per process or thread. The number of sessions should not exceed the total number of connected sessions configured within Ingres.

ingres.max_persistent int

Specifies the maximum number of persistent Ingres sessions allowed per process or thread. The number of sessions should not exceed the total number of connected sessions configured within Ingres.

ingres.reuse_connection bool

Reuses an existing active connection if connecting to the same database with the same user name

ingres.scrollable bool

Enables support for scrollable cursors. When fetching CLOB or BLOB data, this should be set to false. Available with Ingres 9.2.0 or later.

ingres.trace bool

Enables simple tracing using E_NOTICE messages

ingres.trace_connect bool

Prints E_NOTICE messages during ingres_connect() or ingres_pconnect() calls

ingres.utf8 bool

Assumes that strings being passed to National Character column types (NVARCHAR or NCHAR) are using UTF8 encoding and converts them to UTF16 for the server


Tipos de Recurso

ingres_connect() and ingres_pconnect() return an Ingres link identifier.

ingres_query() and ingres_unbuffered_query() return an Ingres result identifier.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

INGRES_ASSOC (int)
Columns are returned into the array having the fieldname as the array index. Used with ingres_fetch_array().
INGRES_NUM (int)
Columns are returned into the array having a numerical index to the fields. By default this index starts at 1, the first field in the result. To change this value, see ingres.array_index_start. Used with ingres_fetch_array().
INGRES_BOTH (int)
Columns are returned into the array having both a numerical index and the fieldname as the array index. Used with ingres_fetch_array().
INGRES_EXT_VERSION (string)
Specifies the version of the Ingres Extension. Available since version 1.2.0 of the PECL extension.
INGRES_API_VERSION (int)
Specifies the version of Ingres OpenAPI that the extension was built against. Available since version 1.2.0 of the PECL extension.
INGRES_CURSOR_READONLY (int)
Specifies that Ingres cursors should be opened in "readonly" mode. Available since version 1.2.0 of the PECL extension. Used with ingres.cursor_mode.
INGRES_CURSOR_UPDATE (int)
Specifies that Ingres cursors should be opened "for update." Available since version 1.2.0 of the PECL extension. Used with ingres.cursor_mode.
INGRES_DATE_MULTINATIONAL (int)
Equivalent to the II_DATE_FORMAT setting of MULTINATIONAL. Available since version 1.2.0 of the PECL extension. Used with ingres_connect(), ingres_pconnect() and ingres_set_environment(). See options in ingres_set_environment().
INGRES_DATE_MULTINATIONAL4 (int)
Equivalent to the II_DATE_FORMAT setting of MULTINATIONAL4. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_FINNISH (int)
Equivalent to the II_DATE_FORMAT setting of FINNISH. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_ISO (int)
Equivalent to the II_DATE_FORMAT setting of ISO. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_ISO4 (int)
Equivalent to the II_DATE_FORMAT setting of ISO4. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_GERMAN (int)
Equivalent to the II_DATE_FORMAT setting of GERMAN. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_MDY (int)
Equivalent to the II_DATE_FORMAT setting of MDY. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_DMY (int)
Equivalent to the II_DATE_FORMAT setting of DMY. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_YMD (int)
Equivalent to the II_DATE_FORMAT setting of YMD. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_MONEY_LEADING (int)
Specifies the currency character that should be placed at the start of a money value. Equivalent to setting II_MONEY_FORMAT to "L:". Available since version 1.2.0 of the PECL extension. Used with ingres_connect(), ingres_pconnect() and ingres_set_environment(). See options in ingres_set_environment().
INGRES_MONEY_TRAILING (int)
Specifies the currency character that should be placed at the end of a money value. Equivalent to setting II_MONEY_FORMAT to "T:". Available since version 1.2.0 of the PECL extension. Used with ingres_connect(), ingres_pconnect() and ingres_set_environment(). See options in ingres_set_environment().
INGRES_STRUCTURE_BTREE (int)
Specifies the default table or index structure to BTREE when used in combination with the
options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_CBTREE (int)
Specifies the default table or index structure to COMPRESSED BTREE when used in combination with the
options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_HASH (int)
Specifies the default table or index structure to HASH when used in combination with the
options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_CHASH (int)
Specifies the default table or index structure to COMPRESSED HASH when used in combination with the
options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_HEAP (int)
Specifies the default table structure to HEAP when used in combination with the
options option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_CHEAP (int)
Specifies the default table structure to COMPRESSED HEAP when used in combination with the
options option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_ISAM (int)
Specifies the default table or index structure to ISAM when used in combination with the
options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_CISAM (int)
Specifies the default table or index structure to COMPRESSED ISAM when used in combination with the
options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().


  • « Constantes pré-definidas
  • Basic usage »
  • PHP Manual
  • Ingres
  • Exemplos

Exemplos

Índice

  • Basic usage


Basic usage

The following simple example shows how to connect to an Ingres database, execute a query, print resulting rows and disconnect from the database.

Exemplo #1 Simple Ingres Example

<?php
// Connecting, selecting database
$link = ingres_connect("database", "user", "password")
    or die("Could not connect: " . ingres_error($link));
echo "Connected successfully";

// Select from a table that exists in all Ingres databases
$query = "SELECT * FROM iitables";
$result = ingres_query($link,$query) or die("Query failed: " .
ingres_error($link));

// Print results in HTML
// relid - table name
// relowner - table owner
echo "<table>\n";
while ($iitables = ingres_fetch_object($result)) {
    echo "\t<tr>\n";
    echo "\t\t<td>" . $iitables->relid . "</td>\n";
    echo "\t\t<td>" . $iitables->relowner . "</td>\n";
    echo "\t</tr>\n";
}
echo "</table>\n";

// Free results
ingres_free_result($result);

// Commit transaction
ingres_commit($link);

// Closing connection
ingres_close($link);
?>


Ingres Funções

Índice

  • ingres_autocommit_state — Test if the connection is using autocommit
  • ingres_autocommit — Switch autocommit on or off
  • ingres_charset — Returns the installation character set
  • ingres_close — Close an Ingres database connection
  • ingres_commit — Commit a transaction
  • ingres_connect — Open a connection to an Ingres database
  • ingres_cursor — Get a cursor name for a given result resource
  • ingres_errno — Get the last Ingres error number generated
  • ingres_error — Get a meaningful error message for the last error generated
  • ingres_errsqlstate — Get the last SQLSTATE error code generated
  • ingres_escape_string — Escape special characters for use in a query
  • ingres_execute — Execute a prepared query
  • ingres_fetch_array — Fetch a row of result into an array
  • ingres_fetch_assoc — Fetch a row of result into an associative array
  • ingres_fetch_object — Fetch a row of result into an object
  • ingres_fetch_proc_return — Get the return value from a procedure call
  • ingres_fetch_row — Fetch a row of result into an enumerated array
  • ingres_field_length — Get the length of a field
  • ingres_field_name — Get the name of a field in a query result
  • ingres_field_nullable — Test if a field is nullable
  • ingres_field_precision — Get the precision of a field
  • ingres_field_scale — Get the scale of a field
  • ingres_field_type — Get the type of a field in a query result
  • ingres_free_result — Free the resources associated with a result identifier
  • ingres_next_error — Get the next Ingres error
  • ingres_num_fields — Get the number of fields returned by the last query
  • ingres_num_rows — Get the number of rows affected or returned by a query
  • ingres_pconnect — Open a persistent connection to an Ingres database
  • ingres_prepare — Prepare a query for later execution
  • ingres_query — Send an SQL query to Ingres
  • ingres_result_seek — Set the row position before fetching data
  • ingres_rollback — Roll back a transaction
  • ingres_set_environment — Set environment features controlling output options
  • ingres_unbuffered_query — Send an unbuffered SQL query to Ingres


Test if the connection is using autocommit

  • « Ingres Funções
  • ingres_autocommit »
  • PHP Manual
  • Ingres Funções
  • Test if the connection is using autocommit

ingres_autocommit_state

(PECL ingres >= 2.0.0)

ingres_autocommit_state — Test if the connection is using autocommit

Descrição

ingres_autocommit_state ( resource $link ) : bool

ingres_autocommit_state() is called to determine whether the current link has autocommit enabled or not.

Parâmetros

link

The connection link identifier

Valor Retornado

Returns true if autocommit is enabled or false when autocommit is disabled

Veja Também

  • ingres_autocommit() - Switch autocommit on or off
  • ingres_query() - Send an SQL query to Ingres


Switch autocommit on or off

  • « ingres_autocommit_state
  • ingres_charset »
  • PHP Manual
  • Ingres Funções
  • Switch autocommit on or off

ingres_autocommit

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_autocommit — Switch autocommit on or off

Descrição

ingres_autocommit ( resource $link ) : bool

ingres_autocommit() is called before opening a transaction (before the first call to ingres_query() or just after a call to ingres_rollback() or ingres_commit()) to switch the autocommit mode of the server on or off (when the script begins the autocommit mode is off).

When autocommit mode is on, every query is automatically committed by the server, as if ingres_commit() was called after every call to ingres_query(). To see if autocommit is enabled use, ingres_autocommit_state().

By default Ingres will rollback any uncommitted transactions at the end of a request. Use this function or ingres_commit() to ensure your data is committed to the database.

Parâmetros

link

The connection link identifier

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ingres_autocommit_state() - Test if the connection is using autocommit
  • ingres_query() - Send an SQL query to Ingres
  • ingres_rollback() - Roll back a transaction
  • ingres_commit() - Commit a transaction


Returns the installation character set

  • « ingres_autocommit
  • ingres_close »
  • PHP Manual
  • Ingres Funções
  • Returns the installation character set

ingres_charset

(PECL ingres >= 2.1.0)

ingres_charset — Returns the installation character set

Descrição

ingres_charset ( resource $link ) : string

ingres_charset() is called to determine the character set being used by the Ingres client, from II_CHARSETxx (where xx is the installation code).

Nota:

You can override the value returned by using the function putenv(). Changing the value of II_CHARSETxx in a running Ingres installation can cause data corruption.

Parâmetros

link

The connection link identifier

Valor Retornado

Returns a string with the value for II_CHARSETxx or returns NULL if the value could not be determined.

Exemplos

Exemplo #1 ingres_charset() - Get the installation character set

<?php
$link = ingres_connect($database, $user, $password);

echo ingres_charset($link) . "\n";

ingres_close($link);
?>

Veja Também

  • ingres_connect() - Open a connection to an Ingres database
  • ingres_query() - Send an SQL query to Ingres


Close an Ingres database connection

  • « ingres_charset
  • ingres_commit »
  • PHP Manual
  • Ingres Funções
  • Close an Ingres database connection

ingres_close

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_close — Close an Ingres database connection

Descrição

ingres_close ( resource $link ) : bool

ingres_close() closes the connection to the Ingres server that is associated with the specified link.

ingres_close() is usually unnecessary, as it will not close persistent connections and all non-persistent connections are automatically closed at the end of the script.

Parâmetros

link

The connection link identifier

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ingres_connect() - Open a connection to an Ingres database
  • ingres_pconnect() - Open a persistent connection to an Ingres database


Commit a transaction

  • « ingres_close
  • ingres_connect »
  • PHP Manual
  • Ingres Funções
  • Commit a transaction

ingres_commit

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_commit — Commit a transaction

Descrição

ingres_commit ( resource $link ) : bool

ingres_commit() commits the currently open transaction, making all changes made to the database permanent.

This closes the transaction. A new transaction can be opened by sending a query with ingres_query().

You can also have the server commit automatically after every query by calling ingres_autocommit() before opening the transaction.

By default Ingres will roll back any uncommitted transactions at the end of a request. Use this function or ingres_autocommit() to ensure your that data is committed to the database.

Parâmetros

link

The connection link identifier

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_rollback() - Roll back a transaction
  • ingres_autocommit() - Switch autocommit on or off


Open a connection to an Ingres database

  • « ingres_commit
  • ingres_cursor »
  • PHP Manual
  • Ingres Funções
  • Open a connection to an Ingres database

ingres_connect

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_connect — Open a connection to an Ingres database

Descrição

ingres_connect ( string $database = ? , string $username = ? , string $password = ? , array $options = ? ) : resource|false

ingres_connect() opens a connection with the given Ingres database.

The connection is closed when the script ends or when ingres_close() is called on this link.

Parâmetros

If some parameters are missing, ingres_connect() uses the values in php.ini for ingres.default_database, ingres.default_user and ingres.default_password.

database

The database name. Must follow the syntax:

[vnode::]dbname[/svr_class]

username

The Ingres user name

password

The password associated with username

options

ingres_connect() options

Option name | Option type | Description | Example
date_century_boundary | int | The threshold by which a 2-digit year is determined to be in the current century or in the next century. Equivalent to II_DATE_CENTURY_BOUNDARY. | 50
group | string | Specifies the group ID of the user, equivalent to the "-G" flag | payroll
role | string | The role ID of the application. If a role password is required, the parameter value should be specified as "role/password"
effective_user | string | The ingres user account being impersonated, equivalent to the "-u" flag | another_user
dbms_password | string | The internal database password for the user connecting to Ingres | s3cr3t
table_structure string

The default structure for new tables. Valid values for table_structure are:

  • INGRES_STRUCTURE_BTREE
  • INGRES_STRUCTURE_HASH
  • INGRES_STRUCTURE_HEAP
  • INGRES_STRUCTURE_ISAM
  • INGRES_STRUCTURE_CBTREE
  • INGRES_STRUCTURE_CISAM
  • INGRES_STRUCTURE_CHASH
  • INGRES_STRUCTURE_CHEAP

 INGRES_STRUCTURE_BTREE
index_structure string

The default structure for new secondary indexes. Valid values for index_structure are:

  • INGRES_STRUCTURE_CBTREE
  • INGRES_STRUCTURE_CISAM
  • INGRES_STRUCTURE_CHASH
  • INGRES_STRUCTURE_BTREE
  • INGRES_STRUCTURE_HASH
  • INGRES_STRUCTURE_ISAM

 INGRES_STRUCTURE_HASH
login_local | bool | Determines how the connection user ID and password are used when a VNODE is included in the target database string. If set to TRUE, the user ID and password are used to locally access the VNODE, and the VNODE login information is used to establish the DBMS connection. If set to FALSE, the process user ID is used to access the VNODE, and the connection user ID and password are used in place of the VNODE login information to establish the DBMS connection. This parameter is ignored if no VNODE is included in the target database string. The default is FALSE. | TRUE
timezone | string | Controls the timezone of the session. If not set it will default to the value defined by II_TIMEZONE_NAME. If II_TIMEZONE_NAME is not defined, NA-PACIFIC (GMT-8 with Daylight Savings) is used.
date_format int

Sets the allowable input and output format for Ingres dates. Defaults to the value defined by II_DATE_FORMAT. If II_DATE_FORMAT is not set the default date format is US, e.g. mm/dd/yy. Valid values for date_format are:

  • INGRES_DATE_DMY
  • INGRES_DATE_FINISH
  • INGRES_DATE_GERMAN
  • INGRES_DATE_ISO
  • INGRES_DATE_ISO4
  • INGRES_DATE_MDY
  • INGRES_DATE_MULTINATIONAL
  • INGRES_DATE_MULTINATIONAL4
  • INGRES_DATE_YMD
  • INGRES_DATE_US

 INGRES_DATE_MULTINATIONAL4
decimal_separator string The character identifier for decimal data ","
money_lort int

Leading or trailing currency sign. Valid values for money_lort are:

  • INGRES_MONEY_LEADING
  • INGRES_MONEY_TRAILING

 INGRES_MONEY_TRAILING
money_sign string The currency symbol to be used with the MONEY datatype €
money_precision | int | The precision of the MONEY datatype | 3
float4_precision | int | Precision of the FLOAT4 datatype | 10
float8_precision | int | Precision of the FLOAT8 data | 10
blob_segment_length | int | The amount of data in bytes to fetch at a time when retrieving BLOB or CLOB data, defaults to 4096 bytes when not explicitly set | 8192

Valor Retornado

Returns a Ingres link resource on success ou false em caso de falha

Exemplos

Exemplo #1 Open a connection to an Ingres database

<?php
$link = ingres_connect("mydb", "user", "pass")
    or die("Could not connect");
echo "Connected successfully";
ingres_close($link);
?>

Veja Também

  • ingres_pconnect() - Open a persistent connection to an Ingres database
  • ingres_close() - Close an Ingres database connection


Get a cursor name for a given result resource

  • « ingres_connect
  • ingres_errno »
  • PHP Manual
  • Ingres Funções
  • Get a cursor name for a given result resource

ingres_cursor

(PECL ingres >= 1.1.0)

ingres_cursor — Get a cursor name for a given result resource

Descrição

ingres_cursor ( resource $result ) : string

Returns a string with the active cursor name. If no cursor is active then NULL is returned.

Parâmetros

result

The query result identifier

Valor Retornado

Returns a string containing the active cursor name. If no cursor is active then NULL is returned.

Exemplos

Exemplo #1 Get cursor name for a query resource

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_prepare($link, "select * from table");

$cursor_name = ingres_cursor($result);

echo $cursor_name;

?>

Veja Também

  • ingres_prepare() - Prepare a query for later execution
  • ingres_execute() - Execute a prepared query


Get the last Ingres error number generated

  • « ingres_cursor
  • ingres_error »
  • PHP Manual
  • Ingres Funções
  • Get the last Ingres error number generated

ingres_errno

(PECL ingres >= 1.1.0)

ingres_errno — Get the last Ingres error number generated

Descrição

ingres_errno ( resource $link = ? ) : int

Returns an integer containing the last error number. If no error was reported 0 is returned.

If a link resource is passed to ingres_errno() it returns the last error recorded for the link. If no link is passed, then ingres_errno() returns the last error reported using the default link.

The function, ingres_errno(), should always be called after executing a database query. Calling another function before ingres_errno() is called will reset or change any error code from the last Ingres function call.

Parâmetros

link

The connection link identifier

Valor Retornado

Returns an integer containing the last error number. If no error was reported, 0 is returned.

Exemplos

Exemplo #1 Get the last Ingres error number generated

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

$error_code = ingres_errno($link);

if ( $error_code != 0 ) {
   echo "An error occurred - " . $error_code;
}
?>

Veja Também

  • ingres_error() - Get a meaningful error message for the last error generated
  • ingres_errsqlstate() - Get the last SQLSTATE error code generated
  • ingres_next_error() - Get the next Ingres error


Get a meaningful error message for the last error generated

  • « ingres_errno
  • ingres_errsqlstate »
  • PHP Manual
  • Ingres Funções
  • Get a meaningful error message for the last error generated

ingres_error

(PECL ingres >= 1.1.0)

ingres_error — Get a meaningful error message for the last error generated

Descrição

ingres_error ( resource $link = ? ) : string

Returns a string containing the last error, or NULL if no error has occurred.

If a link resource is passed to ingres_error(), it returns the last error recorded for the link. If no link is passed then ingres_error() returns the last error reported using the default link.

The function, ingres_error(), should always be called after executing any database query. Calling another function before ingres_error() is called will reset or change any error message from the last Ingres function call.

Parâmetros

link

The connection link identifier

Valor Retornado

Returns a string containing the last error, or NULL if no error has occurred.

Exemplos

Exemplo #1 Get a message for the last error generated

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

$error_text = ingres_error();

if (!is_null($error_text)) {
   echo "An error occurred - " . $error_text;
}
?>

Veja Também

  • ingres_errno() - Get the last Ingres error number generated
  • ingres_errsqlstate() - Get the last SQLSTATE error code generated
  • ingres_next_error() - Get the next Ingres error


Get the last SQLSTATE error code generated

  • « ingres_error
  • ingres_escape_string »
  • PHP Manual
  • Ingres Funções
  • Get the last SQLSTATE error code generated

ingres_errsqlstate

(PECL ingres >= 1.1.0)

ingres_errsqlstate — Get the last SQLSTATE error code generated

Descrição

ingres_errsqlstate ( resource $link = ? ) : string

Returns a string containing the last SQLSTATE, or NULL if no error has occurred.

If a link resource is passed to ingres_errsqlstate(), it returns the last error recorded for the link. If no link is passed, then ingres_errsqlstate() returns the last error reported using the default link.

The function, ingres_errsqlstate(), should always be called after executing any database query. Calling another function before ingres_errsqlstate() is called will reset or change any error message from the last Ingres function call.

Parâmetros

link

The connection link identifier

Valor Retornado

Returns a string containing the last SQLSTATE, or NULL if no error has occurred.

Exemplos

Exemplo #1 Get the last SQLSTATE error code generated

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

$error_sqlstate = ingres_errsqlstate($link);

if (!is_null($error_sqlstate)) {
   echo "An error occurred - " . $error_sqlstate;
}
?>

Veja Também

  • ingres_errno() - Get the last Ingres error number generated
  • ingres_error() - Get a meaningful error message for the last error generated
  • ingres_next_error() - Get the next Ingres error


Escape special characters for use in a query

  • « ingres_errsqlstate
  • ingres_execute »
  • PHP Manual
  • Ingres Funções
  • Escape special characters for use in a query

ingres_escape_string

(PECL ingres >= 2.1.0)

ingres_escape_string — Escape special characters for use in a query

Descrição

ingres_escape_string ( resource $link , string $source_string ) : string

ingres_escape_string() is used to escape certain characters within a string before it is sent to the database server.

Parâmetros

link

The connection link identifier

source_string

The source string to be parsed

Valor Retornado

Returns a string containing the escaped data.

Exemplos

Exemplo #1 Escape special characters for use in a query

<?php
$link = ingres_connect($database, $user, $password);

$last_name = "O'Connor";

$sql = sprintf("select * from user_profile where up_last = '%s'", ingres_escape_string( $link, $last_name));

$result = ingres_query($link, $sql);

while ($user = ingres_fetch_object($result))
{
  echo $user->up_first . '<BR/>';
}

ingres_commit($link);

ingres_close($link);

?>

Veja Também

  • ingres_query() - Send an SQL query to Ingres


Execute a prepared query

  • « ingres_escape_string
  • ingres_fetch_array »
  • PHP Manual
  • Ingres Funções
  • Execute a prepared query

ingres_execute

(PECL ingres >= 1.1.0)

ingres_execute — Execute a prepared query

Descrição

ingres_execute ( resource $result , array $params = ? , string $types = ? ) : bool

Execute a query prepared using ingres_prepare().

Nota: Related Configurations

See also the ingres.describe, ingres.scrollable and ingres.utf8 directives in Runtime Configuration.

Parâmetros

result

The result query identifier

params

An array of parameter values to be used with the query

types

A string containing a sequence of types for the parameter values passed. See the types parameter in ingres_query() for the list of type codes.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ingres_unbuffered_query() - Send an unbuffered SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array
  • ingres_commit() - Commit a transaction
  • ingres_rollback() - Roll back a transaction
  • ingres_autocommit() - Switch autocommit on or off
  • ingres_set_environment() - Set environment features controlling output options
  • ingres_errno() - Get the last Ingres error number generated
  • ingres_error() - Get a meaningful error message for the last error generated


Fetch a row of result into an array

  • « ingres_execute
  • ingres_fetch_assoc »
  • PHP Manual
  • Ingres Funções
  • Fetch a row of result into an array

ingres_fetch_array

(PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_fetch_array — Fetch a row of result into an array

Descrição

ingres_fetch_array ( resource $result , int $result_type = ? ) : array

This function is an extended version of ingres_fetch_row(). In addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

If two or more columns of the result have the same field names, the last column will take precedence. To access the another column or columns of the same name, you must use the numeric index of the column or make an alias for the column. For example:

<?php

$result = ingres_query($link, "select ap_place as city, ap_ccode as country from airport where ap_iatacode = 'VLL'");
$result = ingres_fetch_array($result);
$foo = $result["city"];
$bar = $result["country"];

?>

With regard to speed, the function is identical to ingres_fetch_object(), and almost as quick as ingres_fetch_row() (the difference is insignificant).

By default, arrays created by ingres_fetch_array() start from position 1 and not 0 as with other DBMS extensions. The starting position can be adjusted to 0 using the configuration parameter ingres.array_index_start.

Nota: Related Configurations

See also the ingres.array_index_start, ingres.fetch_buffer_size and ingres.utf8 directives in Runtime Configuration.

Parâmetros

result

The query result identifier

result_type

The result type. This result_type can be INGRES_NUM for enumerated array, INGRES_ASSOC for associative array, or INGRES_BOTH (default).

Valor Retornado

Returns an array that corresponds to the fetched row, or false if there are no more rows

Exemplos

Exemplo #1 Fetch a row of result into an array

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link,"select * from table");
while ($row = ingres_fetch_array($result)) {
    echo $row["user_id"];  // using associative array
    echo $row["fullname"];
    echo $row[1];          // using enumerated array
    echo $row[2];
}
?>

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_num_fields() - Get the number of fields returned by the last query
  • ingres_field_name() - Get the name of a field in a query result
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array


Fetch a row of result into an associative array

  • « ingres_fetch_array
  • ingres_fetch_object »
  • PHP Manual
  • Ingres Funções
  • Fetch a row of result into an associative array

ingres_fetch_assoc

(PECL ingres >= 2.2.2)

ingres_fetch_assoc — Fetch a row of result into an associative array

Descrição

ingres_fetch_assoc ( resource $result ) : array

This function is stores the data fetched from a query executed using ingres_query() in an associative array, using the field names as keys.

With regard to speed, the function is identical to ingres_fetch_object(), and almost as quick as ingres_fetch_row() (the difference is insignificant).

By default, arrays created by ingres_fetch_assoc() start from position 1 and not 0 as with other DBMS extensions. The starting position can be adjusted to 0 using the configuration parameter ingres.array_index_start.

Nota: Related Configurations

See also the ingres.array_index_start, ingres.fetch_buffer_size and ingres.utf8 directives in Runtime Configuration.

Parâmetros

result

The query result identifier

Valor Retornado

Returns an associative array that corresponds to the fetched row, or false if there are no more rows

Exemplos

Exemplo #1 Fetch a row into an associative array

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link,"select * from table");
while ($row = ingres_fetch_assoc($result)) {
    echo $row["user_id"];  // using associative array
    echo $row["fullname"];
}
?>

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_num_fields() - Get the number of fields returned by the last query
  • ingres_field_name() - Get the name of a field in a query result
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array


Fetch a row of result into an object

  • « ingres_fetch_assoc
  • ingres_fetch_proc_return »
  • PHP Manual
  • Ingres Funções
  • Fetch a row of result into an object

ingres_fetch_object

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_fetch_object — Fetch a row of result into an object

Descrição

ingres_fetch_object ( resource $result , int $result_type = ? ) : object

This function is similar to ingres_fetch_array(), with one difference - an object is returned instead of an array. Indirectly, this means that you can access the data only by the field names and not by their offsets (numbers are illegal property names).

With regard to speed, the function is identical to ingres_fetch_array(), and almost as quick as ingres_fetch_row() (the difference is insignificant).

Nota: Related Configurations

See also the ingres.fetch_buffer_size and ingres.utf8 directives in Runtime Configuration.

Parâmetros

link

The query result identifier

result_type

(Optional argument.) result_type is a constant and can take the following values: INGRES_ASSOC, INGRES_NUM, and INGRES_BOTH.

Valor Retornado

Returns an object that corresponds to the fetched row, or false if there are no more rows

Exemplos

Exemplo #1 Fetch a row into an object

<?php
$link = ingres_connect($database, $user, $password);
$result = ingres_query($link, "select * from table");
while ($row = ingres_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
?>

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_num_fields() - Get the number of fields returned by the last query
  • ingres_field_name() - Get the name of a field in a query result
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_row() - Fetch a row of result into an enumerated array


Get the return value from a procedure call

  • « ingres_fetch_object
  • ingres_fetch_row »
  • PHP Manual
  • Ingres Funções
  • Get the return value from a procedure call

ingres_fetch_proc_return

(PECL ingres >= 1.4.0)

ingres_fetch_proc_return — Get the return value from a procedure call

Descrição

ingres_fetch_proc_return ( resource $result ) : int

This function is used to retrieve the return value following the execution of an Ingres database procedure (stored procedure).

Nota:

If used with a row-producing procedure, this function should be called after all the rows from the procedure have been fetched using ingres_fetch_array(), ingres_fetch_object() or ingres_fetch_row(). This function will eliminate any rows yet to be fetched should there be any left over.

Parâmetros

result

The result identifier for a query

Valor Retornado

Returns an int if there is a return value otherwise it will return null.

Exemplos

Exemplo #1 Get the return value from a procedure call

<?php

$link = ingres_connect($database);

if ( ingres_errno() != 0 ) {
    $error_text = ingres_error();
    die($error_text);
}

$result = ingres_query($link, "execute procedure php_proc (value = 1000)");

if ( ingres_errno() != 0 ) {
    $error_text = ingres_error();
    die($error_text);
}

echo "return value - " . ingres_fetch_proc_return($result) . "\n";

ingres_close($link);

?>

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array


Fetch a row of result into an enumerated array

  • « ingres_fetch_proc_return
  • ingres_field_length »
  • PHP Manual
  • Ingres Funções
  • Fetch a row of result into an enumerated array

ingres_fetch_row

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_fetch_row — Fetch a row of result into an enumerated array

Descrição

ingres_fetch_row ( resource $result ) : array

ingres_fetch_row() returns an array that corresponds to the fetched row, or false if there are no more rows. Each result column is stored in an array offset, starting at offset 1.

Subsequent calls to ingres_fetch_row() return the next row in the result set, or false if there are no more rows.

By default, arrays created by ingres_fetch_row() start from position 1 and not 0 as with other DBMS extensions. The starting position can be adjusted to 0 using the configuration parameter ingres.array_index_start.

Nota: Related Configurations

See also the ingres.array_index_start, ingres.fetch_buffer_size and ingres.utf8 directives in Runtime Configuration.

Parâmetros

result

The query result identifier

Valor Retornado

Returns an array that corresponds to the fetched row, or false if there are no more rows

Exemplos

Exemplo #1 Fetch a row of result into an enumerated array

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Veja Também

  • ingres_num_fields() - Get the number of fields returned by the last query
  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object


Get the length of a field

  • « ingres_fetch_row
  • ingres_field_name »
  • PHP Manual
  • Ingres Funções
  • Get the length of a field

ingres_field_length

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_field_length — Get the length of a field

Descrição

ingres_field_length ( resource $result , int $index ) : int

ingres_field_length() returns the length of a field. This is the number of bytes the server uses to store the field. For detailed information, see the Ingres OpenAPI User Guide, Appendix "Data Types" in the Ingres documentation.

Nota: Related Configurations

See ingres.array_index_start in Runtime Configuration

Parâmetros

result

The query result identifier

index

index is the column number whose length will be retrieved.

The possible values of index depend upon the value of ingres.array_index_start. If ingres.array_index_start is 1 (the default) then index must be between 1 and the value returned by ingres_num_fields(). If ingres.array_index_start is 0 then index must be between 0 and ingres_num_fields() - 1.

Valor Retornado

Returns the length of a field.

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array


Get the name of a field in a query result

  • « ingres_field_length
  • ingres_field_nullable »
  • PHP Manual
  • Ingres Funções
  • Get the name of a field in a query result

ingres_field_name

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_field_name — Get the name of a field in a query result

Descrição

ingres_field_name ( resource $result , int $index ) : string|false

ingres_field_name() returns the name of a field in a query result.

Nota: Related Configurations

See ingres.array_index_start in Runtime Configuration

Parâmetros

result

The query result identifier

index

index is the field whose name will be retrieved.

The possible values of index depend upon the value of ingres.array_index_start. If ingres.array_index_start is 1 (the default) then index must be between 1 and the value returned by ingres_num_fields(). If ingres.array_index_start is 0 then index must be between 0 and ingres_num_fields() - 1.

Valor Retornado

Returns the name of a field in a query result ou false em caso de falha

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array


Test if a field is nullable

  • « ingres_field_name
  • ingres_field_precision »
  • PHP Manual
  • Ingres Funções
  • Test if a field is nullable

ingres_field_nullable

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_field_nullable — Test if a field is nullable

Descrição

ingres_field_nullable ( resource $result , int $index ) : bool

Test if a field is nullable.

Nota: Related Configurations

See ingres.array_index_start in Runtime Configuration

Parâmetros

result

The query result identifier

index

index is the field whose nullability will be retrieved.

The possible values of index depend upon the value of ingres.array_index_start. If ingres.array_index_start is 1 (the default) then index must be between 1 and the value returned by ingres_num_fields(). If ingres.array_index_start is 0 then index must be between 0 and ingres_num_fields() - 1.

Valor Retornado

ingres_field_nullable() returns true if the field can be set to the null value and false if it cannot

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array


Get the precision of a field

  • « ingres_field_nullable
  • ingres_field_scale »
  • PHP Manual
  • Ingres Funções
  • Get the precision of a field

ingres_field_precision

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_field_precision — Get the precision of a field

Descrição

ingres_field_precision ( resource $result , int $index ) : int

ingres_field_precision() returns the precision of a field. This value is used only for decimal, float, and money SQL data types. For detailed information, see the Ingres OpenAPI User Guide, Appendix "Data Types" in the Ingres documentation.

Nota: Related Configurations

See ingres.array_index_start in Runtime Configuration

Parâmetros

result

The query result identifier

index

index is the field whose precision will be retrieved.

The possible values of index depend upon the value of ingres.array_index_start. If ingres.array_index_start is 1 (the default) then index must be between 1 and the value returned by ingres_num_fields(). If ingres.array_index_start is 0 then index must be between 0 and ingres_num_fields() - 1.

Valor Retornado

Returns the field precision as an integer

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array


Get the scale of a field

  • « ingres_field_precision
  • ingres_field_type »
  • PHP Manual
  • Ingres Funções
  • Get the scale of a field

ingres_field_scale

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_field_scale — Get the scale of a field

Descrição

ingres_field_scale ( resource $result , int $index ) : int

ingres_field_scale() returns the scale of a field. This value is used only for the decimal SQL data type. For detailed information, see the Ingres OpenAPI User Guide, Appendix "Data Types" in the Ingres documentation.

Nota: Related Configurations

See ingres.array_index_start in Runtime Configuration

Parâmetros

result

The query result identifier

index

index is the field whose scale will be retrieved.

The possible values of index depend upon the value of ingres.array_index_start. If ingres.array_index_start is 1 (the default) then index must be between 1 and the value returned by ingres_num_fields(). If ingres.array_index_start is 0 then index must be between 0 and ingres_num_fields() - 1.

Valor Retornado

Returns the scale of the field, as an integer

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array


Get the type of a field in a query result

  • « ingres_field_scale
  • ingres_free_result »
  • PHP Manual
  • Ingres Funções
  • Get the type of a field in a query result

ingres_field_type

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_field_type — Get the type of a field in a query result

Descrição

ingres_field_type ( resource $result , int $index ) : string|false

Get the type of a field in a query result.

Nota: Related Configurations

See ingres.array_index_start in Runtime Configuration

Parâmetros

result

The query result identifier

index

index is the field whose type will be retrieved.

The possible values of index depend upon the value of ingres.array_index_start. If ingres.array_index_start is 1 (the default) then index must be between 1 and the value returned by ingres_num_fields(). If ingres.array_index_start is 0 then index must be between 0 and ingres_num_fields() - 1.

Valor Retornado

ingres_field_type() returns the type of a field in a query result ou false em caso de falha. Examples of types returned are IIAPI_BYTE_TYPE, IIAPI_CHA_TYPE, IIAPI_DTE_TYPE, IIAPI_FLT_TYPE, IIAPI_INT_TYPE, IIAPI_VCH_TYPE. Some of these types can map to more than one SQL type depending on the length of the field (see ingres_field_length()). For example IIAPI_FLT_TYPE can be a float4 or a float8. For detailed information, see the Ingres OpenAPI User Guide, Appendix "Data Types" in the Ingres documentation.

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array


Free the resources associated with a result identifier

  • « ingres_field_type
  • ingres_next_error »
  • PHP Manual
  • Ingres Funções
  • Free the resources associated with a result identifier

ingres_free_result

(PECL ingres >= 2.0.0)

ingres_free_result — Free the resources associated with a result identifier

Descrição

ingres_free_result ( resource $result ) : bool

Parâmetros

result

The query result identifier

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Free a result resource

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
ingres_free_result($result);

ingres_close($link)

?>

Veja Também

  • ingres_query() - Send an SQL query to Ingres


Get the next Ingres error

  • « ingres_free_result
  • ingres_num_fields »
  • PHP Manual
  • Ingres Funções
  • Get the next Ingres error

ingres_next_error

(PECL ingres >= 2.0.0)

ingres_next_error — Get the next Ingres error

Descrição

ingres_next_error ( resource $link = ? ) : bool

Get the next Ingres error for the last executed query. Each call to ingres_next_error() can be followed by a call to ingres_errno(), ingres_error() or ingres_errsqlstate() to get the respective error number, error text, or SQL STATE. While ingres_next_error() returns true, there are more errors to fetch.

Parâmetros

link

The connection link identifier

Valor Retornado

ingres_next_error() returns true if there is another error to retrieve or false when there are no more errors

Veja Também

  • ingres_errno() - Get the last Ingres error number generated
  • ingres_error() - Get a meaningful error message for the last error generated
  • ingres_errsqlstate() - Get the last SQLSTATE error code generated


Get the number of fields returned by the last query

  • « ingres_next_error
  • ingres_num_rows »
  • PHP Manual
  • Ingres Funções
  • Get the number of fields returned by the last query

ingres_num_fields

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_num_fields — Get the number of fields returned by the last query

Descrição

ingres_num_fields ( resource $result ) : int

ingres_num_fields() returns the number of fields in the results returned by the Ingres server after a call to ingres_query().

Parâmetros

result

The query result identifier

Valor Retornado

Returns the number of fields

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array


Get the number of rows affected or returned by a query

  • « ingres_num_fields
  • ingres_pconnect »
  • PHP Manual
  • Ingres Funções
  • Get the number of rows affected or returned by a query

ingres_num_rows

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_num_rows — Get the number of rows affected or returned by a query

Descrição

ingres_num_rows ( resource $result ) : int

This function primarily is meant to get the number of rows modified in the database. However, it can be used to retrieve the number of rows to fetch for a SELECT statement.

Nota:

If scrollable cursors are disabled and this function is called before using ingres_fetch_array(), ingres_fetch_object(), or ingres_fetch_row(), the server will delete the result's data and the script will be unable to get them.

Instead, you should retrieve the result's data using one of these fetch functions in a loop until it returns false, indicating that no more results are available.

Parâmetros

result

The result identifier for a query

Valor Retornado

For delete, insert, or update queries, ingres_num_rows() returns the number of rows affected by the query. For other queries, ingres_num_rows() returns the number of rows in the query's result.

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array


Open a persistent connection to an Ingres database

  • « ingres_num_rows
  • ingres_prepare »
  • PHP Manual
  • Ingres Funções
  • Open a persistent connection to an Ingres database

ingres_pconnect

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_pconnect — Open a persistent connection to an Ingres database

Descrição

ingres_pconnect ( string $database = ? , string $username = ? , string $password = ? , array $options = ? ) : resource|false

Open a persistent connection to an Ingres database.

There are only two differences between this function and ingres_connect(): First, when connecting, the function will initially try to find a (persistent) link that is already opened with the same parameters. If one is found, an identifier for it will be returned instead of opening a new connection. Second, the connection to the Ingres server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (ingres_close() will not close links established by ingres_pconnect()). This type of link is therefore called "persistent".

Parâmetros

database

The database name. Must follow the syntax:

[vnode::]dbname[/svr_class]

username

The Ingres user name

password

The password associated with username

options

See ingres_connect() for the list of options that can be passed

Valor Retornado

Returns an Ingres link resource on success ou false em caso de falha

Veja Também

  • ingres_connect() - Open a connection to an Ingres database
  • ingres_close() - Close an Ingres database connection


Prepare a query for later execution

  • « ingres_pconnect
  • ingres_query »
  • PHP Manual
  • Ingres Funções
  • Prepare a query for later execution

ingres_prepare

(PECL ingres >= 1.1.0)

ingres_prepare — Prepare a query for later execution

Descrição

ingres_prepare ( resource $link , string $query ) : mixed

Prepares a query for execution by ingres_execute().

The query becomes part of the currently open transaction. If there is no open transaction, ingres_query() opens a new transaction. To close the transaction, you can call either ingres_commit() to commit the changes made to the database or ingres_rollback() to cancel these changes. When the script ends, any open transaction is rolled back (by calling ingres_rollback()). You can also use ingres_autocommit() before opening a new transaction to have every SQL query immediately committed.

Nota: Related Configurations

See also the ingres.describe, ingres.scrollable and ingres.utf8 directives in Runtime Configuration.

Parâmetros

link

The connection link identifier

query

A valid SQL query (see the Ingres SQL reference guide) in the Ingres documentation. See the query parameter in ingres_query() for a list of SQL statements which cannot be executed using ingres_prepare()

Valor Retornado

ingres_prepare() returns a query result identifier that
is used with ingres_execute() to execute the query. To see
if an error occurred, use ingres_errno(),
ingres_error(), or
ingres_errsqlstate().

Veja Também

  • ingres_unbuffered_query() - Send an unbuffered SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array
  • ingres_commit() - Commit a transaction
  • ingres_rollback() - Roll back a transaction
  • ingres_autocommit() - Switch autocommit on or off
  • ingres_set_environment() - Set environment features controlling output options
  • ingres_errno() - Get the last Ingres error number generated
  • ingres_error() - Get a meaningful error message for the last error generated


Send an SQL query to Ingres

  • « ingres_prepare
  • ingres_result_seek »
  • PHP Manual
  • Ingres Funções
  • Send an SQL query to Ingres

ingres_query

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_query — Send an SQL query to Ingres

Descrição

ingres_query ( resource $link , string $query , array $params = ? , string $types = ? ) : mixed

ingres_query() sends the given query to the Ingres server.

The query becomes part of the currently open transaction. If there is no open transaction, ingres_query() opens a new transaction. To close the transaction, you can call either ingres_commit() to commit the changes made to the database or ingres_rollback() to cancel these changes. When the script ends, any open transaction is rolled back (by calling ingres_rollback()). You can also use ingres_autocommit() before opening a new transaction to have every SQL query immediately committed.

Nota: Related Configurations

See also the ingres.describe, ingres.scrollable and ingres.utf8 directives in Runtime Configuration

Parâmetros

link

The connection link identifier.

query

A valid SQL query (see the Ingres SQL reference guide) in the Ingres documentation.

Data inside the query should be properly escaped.

The following types of SQL queries cannot be sent with this function:

  • close (see ingres_close())
  • commit (see ingres_commit())
  • connect (see ingres_connect())
  • disconnect (see ingres_close())
  • get dbevent
  • prepare to commit
  • rollback (see ingres_rollback())
  • savepoint
  • set autocommit (see ingres_autocommit())
  • all cursor-related queries are unsupported

params

An array of parameter values to be used with the query

types

A string containing a sequence of types for the parameter values passed. When ingres.describe is enabled, this parameter can be ignored as the driver automatically fetches the expected parameter types from the server.

Type code | Ingres type
a | BOOLEAN
b | BYTE
B | LONG BYTE/BLOB
c | CHAR
d | DATE/ANSIDATE/TIMESTAMP/TIME
f | FLOAT
i | INTEGER
L | LONG TEXT
m | MONEY
M | LONG NVARCHAR
n | NCHAR
N | NVARCHAR
t | TEXT
v | VARCHAR
V | LONG VARCHAR

Valor Retornado

ingres_query() returns a query result identifier on
success else it returns false. To see if an error
occurred use ingres_errno(),
ingres_error() or
ingres_errsqlstate().

Exemplos

Exemplo #1 Send a simple select

<?php
$link = ingres_connect("demodb");

$result = ingres_query($link, "select * from user_profile");
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Exemplo #2 Passing query parameters to ingres_query()

<?php
$link = ingres_connect("demodb");

$params[] = "Emma";
$query = "select * from user_profile where up_first = ?";
$result = ingres_query($link, $query, $params);
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Exemplo #3 Inserting a BLOB with parameter types

<?php
$link = ingres_connect("demodb");

//Open a photo
$fh = fopen("photo.jpg","r");
$blob_data = stream_get_contents($fh);
fclose($fh);

//Prepare parameters
$params[] = $blob_data;
$params[] = 1201;

//Define parameter types
$param_types = "Bi";

$query = "update user_profile set up_image = ? where up_id = ?";
$result = ingres_query($link, $query , $params, $param_types);

if (ingres_errno())
{
    echo ingres_errno() . "-" . ingres_error() . "\n";
}

ingres_commit($link);

ingres_close($link);
?>

Veja Também

  • ingres_unbuffered_query() - Send an unbuffered SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array
  • ingres_commit() - Commit a transaction
  • ingres_rollback() - Roll back a transaction
  • ingres_autocommit() - Switch autocommit on or off
  • ingres_set_environment() - Set environment features controlling output options
  • ingres_errno() - Get the last Ingres error number generated
  • ingres_error() - Get a meaningful error message for the last error generated


Set the row position before fetching data

  • « ingres_query
  • ingres_rollback »
  • PHP Manual
  • Ingres Funções
  • Set the row position before fetching data

ingres_result_seek

(PECL ingres >= 2.1.0)

ingres_result_seek — Set the row position before fetching data

Descrição

ingres_result_seek ( resource $result , int $position ) : bool

This function is used to position the cursor associated with the result resource before issuing a fetch. If ingres.array_index_start is set to 0 then the first row is 0 else it is 1. ingres_result_seek() can be used only with queries that make use of scrollable cursors. It cannot be used with ingres_unbuffered_query().

Nota: Related Configurations

See also the ingres.scrollable and ingres.array_index_start directives in Runtime Configuration.

Parâmetros

result

The result identifier for a query

position

The row to position the cursor on. If ingres.array_index_start is set to 0, then the first row is 0, else it is 1

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Position the cursor on the 3rd row

<?php

$result=ingres_query($link, "select * from airport where ap_ccode = 'ES' order by ap_place asc");

/* goto row 3 */
if (!ingres_result_seek($result, 3))
{
    echo ingres_errno() . " - " . ingres_error . "\n";
    die("i died");
}
else
{
    $airport = ingres_fetch_object ($result);
    {
        echo $airport->ap_iatacode . " - " .  $airport->ap_name . "\n";
    }
}

ingres_commit($link);

?>

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array


Roll back a transaction

  • « ingres_result_seek
  • ingres_set_environment »
  • PHP Manual
  • Ingres Funções
  • Roll back a transaction

ingres_rollback

(PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0)

ingres_rollback — Roll back a transaction

Descrição

ingres_rollback ( resource $link ) : bool

ingres_rollback() rolls back the currently open transaction, actually cancelling all changes made to the database during the transaction.

This closes the transaction. A new transaction can be opened by sending a query with ingres_query().

Parâmetros

link

The connection link identifier

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_commit() - Commit a transaction
  • ingres_autocommit() - Switch autocommit on or off


Set environment features controlling output options

  • « ingres_rollback
  • ingres_unbuffered_query »
  • PHP Manual
  • Ingres Funções
  • Set environment features controlling output options

ingres_set_environment

(PECL ingres >= 1.2.0)

ingres_set_environment — Set environment features controlling output options

Descrição

ingres_set_environment ( resource $link , array $options ) : bool

ingres_set_environment() is called to set environmental options that affect the output of certain values from Ingres, such as the timezone, date format, decimal character separator, and float precision.

Parâmetros

link

The connection link identifier

options

An enumerated array of option name/value pairs. The following table lists the option name and the expected type

Option name | Option type | Description | Example
date_century_boundary | int | The threshold by which a 2-digit year is determined to be in the current century or in the next century. Equivalent to II_DATE_CENTURY_BOUNDARY | 50
timezone | string | Controls the timezone of the session. If not set, it will default the value defined by II_TIMEZONE_NAME. If II_TIMEZONE_NAME is not defined, NA-PACIFIC (GMT-8 with Daylight Savings) is used. | UNITED-KINGDOM
date_format int

Sets the allowable input and output format for Ingres dates. Defaults to the value defined by II_DATE_FORMAT. If II_DATE_FORMAT is not set, the default date format is US, for example mm/dd/yy. Valid values for date_format are:

  • INGRES_DATE_DMY
  • INGRES_DATE_FINISH
  • INGRES_DATE_GERMAN
  • INGRES_DATE_ISO
  • INGRES_DATE_ISO4
  • INGRES_DATE_MDY
  • INGRES_DATE_MULTINATIONAL
  • INGRES_DATE_MULTINATIONAL4
  • INGRES_DATE_YMD
  • INGRES_DATE_US

 INGRES_DATE_ISO4
decimal_separator string The character identifier for decimal data ","
money_lort int

Leading or trailing currency sign. Valid values for money_lort are:

  • INGRES_MONEY_LEADING
  • INGRES_MONEY_TRAILING

 INGRES_MONEY_LEADING
money_sign string The currency symbol to be used with the MONEY datatype €
money_precision | int | The precision of the MONEY datatype | 2
float4_precision | int | Precision of the FLOAT4 datatype | 10
float8_precision | int | Precision of the FLOAT8 data | 10
blob_segment_length | int | The amount of data in bytes to fetch at a time when retrieving BLOB or CLOB data. Defaults to 4096 bytes when not set explicitly | 8192

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Set date_format to ISO4

<?php
$options = array( "date_format" => INGRES_DATE_ISO4 );

if (ingres_set_environment($link, $options))
{
    $result=ingres_query($link,"select date('now') as date");

    while ( $object = ingres_fetch_object ($result) ) {
        echo $object->date."\n";
    }
}
?>

Exemplo #2 Set timezone to HONG-KONG

<?php

$options = array( "timezone" => "HONG-KONG");

if (ingres_set_environment($link, $options))
{
    $result=ingres_query($link,"select date('now') as date");

    while ( $object = ingres_fetch_object ($result) ) {
        echo $object->date."\n";
    }
}
?>

Veja Também

  • ingres_connect() - Open a connection to an Ingres database
  • ingres_query() - Send an SQL query to Ingres


Send an unbuffered SQL query to Ingres

  • « ingres_set_environment
  • Mongo »
  • PHP Manual
  • Ingres Funções
  • Send an unbuffered SQL query to Ingres

ingres_unbuffered_query

(Não há informação de versão disponível, talvez apenas no Git)

ingres_unbuffered_query — Send an unbuffered SQL query to Ingres

Descrição

ingres_unbuffered_query ( resource $link , string $query , array $params = ? , string $types = ? ) : mixed

ingres_unbuffered_query() sends the given query to the Ingres server.

The query becomes part of the currently open transaction. If there is no open transaction, ingres_unbuffered_query() opens a new transaction. To close the transaction, you can call either ingres_commit() to commit the changes made to the database or ingres_rollback() to cancel these changes. When the script ends, any open transaction is rolled back (by calling ingres_rollback()). You can also use ingres_autocommit() before opening a new transaction to have every SQL query immediately committed. Ingres allows only a single unbuffered statement to be active at any one time. The extension will close any active unbuffered statements before executing any SQL. In addition you cannot use ingres_result_seek() to position the row before fetching.

Nota: Related Configurations

See also the ingres.describe and ingres.utf8 directives in Runtime Configuration.

Parâmetros

link

The connection link identifier

query

A valid SQL query (see the Ingres SQL reference guide) in the Ingres documentation. See the query parameter in ingres_query() for a list of SQL statements that cannot be executed via ingres_unbuffered_query().

Data inside the query should be properly escaped.

params

An array of parameter values to be used with the query

types

A string containing a sequence of types for the parameter values passed. See the types parameter in ingres_query() for the list of type codes.

Valor Retornado

ingres_unbuffered_query() returns a query result identifier when there are rows to fetch; else it returns false when there are no rows, as is the case of an INSERT, UPDATE, or DELETE statement. To see if an error occurred, use ingres_errno(), ingres_error(), or ingres_errsqlstate().

Exemplos

Exemplo #1 Issue a simple un-buffered select

<?php
$link = ingres_connect("demodb");

$result = ingres_unbuffered_query($link, "select * from user_profile");
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Exemplo #2 Passing query parameters to ingres_unbuffered_query()

<?php
$link = ingres_connect("demodb");

$params[] = "Emma";
$query = "select * from user_profile where up_first = ?";
$result = ingres_unbuffered_query($link, $query, $params);
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Exemplo #3 Inserting a BLOB with parameter types

<?php
$link = ingres_connect("demodb");

//Open a photo
$fh = fopen("photo.jpg","r");
$blob_data = stream_get_contents($fh);
fclose($fh);

//Prepare parameters
$params[] = $blob_data;
$params[] = 1201;

//Define parameter types
$param_types = "Bi";

$query = "update user_profile set up_image = ? where up_id = ?";
$result = ingres_unbuffered_query($link, $query , $params, $param_types);

if (ingres_errno())
{
    echo ingres_errno() . "-" . ingres_error() . "\n";
}
?>

Veja Também

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array
  • ingres_commit() - Commit a transaction
  • ingres_rollback() - Roll back a transaction
  • ingres_autocommit() - Switch autocommit on or off
  • ingres_set_environment() - Set environment features controlling output options
  • ingres_errno() - Get the last Ingres error number generated
  • ingres_error() - Get a meaningful error message for the last error generated


MongoDB driver (legacy)

  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
  • Constantes pré-definidas
  • Manual
    • Tutorial
    • Read Preferences
    • Write Concerns
    • SQL to Mongo Mapping Chart
    • Connecting
    • Stream Context Options
    • Writes
    • Querying
    • Updates
    • Security
    • Troubleshooting
    • Running the Driver's Tests
  • Core Classes
    • MongoClient — The MongoClient class
    • MongoDB — The MongoDB class
    • MongoCollection — The MongoCollection class
    • MongoCursor — The MongoCursor class
    • MongoCursorInterface — The MongoCursorInterface interface
    • MongoCommandCursor — The MongoCommandCursor class
  • Types
    • MongoId — The MongoId class
    • MongoCode — The MongoCode class
    • MongoDate — The MongoDate class
    • MongoRegex — The MongoRegex class
    • MongoBinData — The MongoBinData class
    • MongoInt32 — The MongoInt32 class
    • MongoInt64 — The MongoInt64 class
    • MongoDBRef — The MongoDBRef class
    • MongoMinKey — The MongoMinKey class
    • MongoMaxKey — The MongoMaxKey class
    • MongoTimestamp — The MongoTimestamp class
  • GridFS Classes
    • MongoGridFS — The MongoGridFS class
    • MongoGridFSFile — The MongoGridFSFile class
    • MongoGridFSCursor — The MongoGridFSCursor class
  • Batch Classes
    • MongoWriteBatch — The MongoWriteBatch class
    • MongoInsertBatch — The MongoInsertBatch class
    • MongoUpdateBatch — The MongoUpdateBatch class
    • MongoDeleteBatch — The MongoDeleteBatch class
  • Miscellaneous
    • MongoLog — The MongoLog class
    • MongoPool — The MongoPool class
    • Mongo — The Mongo class [deprecated]
  • Mongo Funções
    • bson_decode — Deserializes a BSON object into a PHP array
    • bson_encode — Serializes a PHP variable into a BSON string
  • Exceptions
    • MongoException — The MongoException class
    • MongoResultException — The MongoResultException class
    • MongoCursorException — The MongoCursorException class
    • MongoCursorTimeoutException — The MongoCursorTimeoutException class
    • MongoConnectionException — The MongoConnectionException class
    • MongoGridFSException — The MongoGridFSException class
    • MongoDuplicateKeyException — The MongoDuplicateKeyException class
    • MongoProtocolException — The MongoProtocolException class
    • MongoExecutionTimeoutException — The MongoExecutionTimeoutException class
    • MongoWriteConcernException — The MongoWriteConcernException class
  • Changelog


Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução
Aviso

Esta extensão está obsoleta. Alternativamente a extensão the MongoDB deve ser utilizada.


Instalação

Aviso

Esta extensão está obsoleta. Alternativamente a extensão the MongoDB deve ser utilizada.

The MongoDB PHP driver should work on nearly any system: Windows, macOS, Unix, and Linux; little- and big-endian machines; 32- and 64-bit machines; PHP 5.3 through 5.6 (versions prior to 1.6 also support PHP 5.2).

Esta extensão » PECL não é distribuída junto com o PHP.

  • Manual Installation
  • Installing on *NIX
  • Installing on Windows
  • macOS
  • Gentoo
  • Red Hat
  • Third-Party Installation Instructions

Manual Installation

For driver developers and people interested in the latest bugfixes, you can compile the driver from the latest source code on » Github. Go to Github and click the "download" button. Then run:

$ tar zxvf mongo-php-driver-legacy-<commit_id>.tar.gz
$ cd mongo-php-driver-legacy-<commit_id>
$ phpize
$ ./configure
$ make all
$ sudo make install

Make the following changes to php.ini:

  • Make sure the extension_dir variable is pointing to the directory containing mongo.so. The build will display where it is installing the PHP driver with output that looks something like:

    Installing '/usr/lib/php/extensions/no-debug-non-zts-20060613/mongo.so'
    Make sure that it is the same as the PHP extension directory by running:
    $ php -i | grep extension_dir
  extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20060613 =>
                   /usr/lib/php/extensions/no-debug-non-zts-20060613
    If it's not, change the extension_dir in php.ini or move mongo.so.

  • To load the extension on PHP startup, add a line:

    extension=mongo.so

Installing on *NIX

Run:

$ sudo pecl install mongo

Add the following line to your php.ini file:

extension=mongo.so

If pecl runs out of memory while installing, make sure memory_limit in php.ini is set to at least 128MB.

Installing on Windows

Precompiled binaries for each release are available from » PECL for a variety of combinations of versions, thread safety, and VC libraries. Unzip the archive and put php_mongo.dll in your PHP extension directory ("ext" by default).

Add the following line to your php.ini file:

extension=php_mongo.dll

Nota: Additional DLL dependencies for Windows Users

Para esta extensão funcionar, existem arquivos DLL que devem estar disponíveis no PATH do sistema Windows. Para saber como fazer isso, veja o FAQ intitulado "Como eu adiciono o meu diretório PHP no PATH no Windows". Embora copiando arquivos DLL da pasta do PHP no diretório system do Windows também funcione (porque o diretório system está por padrão no PATH do sistema), isto não é recomendado. Esta extensão requer que os seguintes arquivos estejam no PATH: libsasl.dll

macOS

In most cases installing from PECL is the easiest way:

$ sudo pecl install mongo

If your system has multiple version of PHP installed (e.g. macOS default, Homebrew, » XAMPP), note that that each version of PHP has its own pecl command and php.ini file.

Nota: Xcode dependency for compiling on macOS

Compiling the driver on macOS will require Xcode developer tools, which may be installed with xcode-select --install. If that command is not available, you may first need to install the » Command Line Tools package.

Gentoo

Gentoo has a package for the PHP PECL driver called dev-php/pecl-mongo, which can be installed with:

$ sudo emerge -va dev-php/pecl-mongo

If you use PECL, you may get an error that libtool is the wrong version. Compiling from source you'll need to run aclocal and autoconf.

$ phpize
$ aclocal
$ autoconf
$ ./configure
$ make
$ sudo make install

Red Hat

This includes Fedora and CentOS.

The default Apache settings on these systems do not let requests make network connections, meaning that the driver will get "Permission denied" errors when it tries to connect to the database. If you run into this, try running:

$ /usr/sbin/setsebool -P httpd_can_network_connect 1
Then restart Apache. (This issue has also occurred with SELinux.)

Third-Party Installation Instructions

A number of people have created excellent tutorials on installing the PHP driver.

  • » (Re)installing PHP on macOS

    This article by Justin Hileman details the process of installing PHP and additional extensions with Homebrew on macOS. This complements the earlier instructions on this page for installing the driver with Homebrew.

  • » PHP 5.3.1 with Xdebug, MongoDB and Lithium on Ubuntu 9.10 / Apache 2.2

    This screencast by Jon Adams demonstrates how to quickly get up and running with PHP 5.3.1, Xdebug, and MongoDB on Ubuntu 9.10 with Apache.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Mongo Opções de Configuração
Nome | Padrão | Modificável | Changelog
mongo.allow_empty_keys | 0 | PHP_INI_ALL |
mongo.allow_persistent | 1 | PHP_INI_ALL | Removed in 1.2.0
mongo.chunk_size | 262144 | PHP_INI_ALL |
mongo.cmd | "$" | PHP_INI_ALL |
mongo.default_host | "localhost" | PHP_INI_ALL |
mongo.default_port | 27017 | PHP_INI_ALL |
mongo.is_master_interval | 15 | PHP_INI_ALL | Added in 1.2.10, before 1.3.0 the default value was 60.
mongo.long_as_object | 0 | PHP_INI_ALL |
mongo.native_long | 1 | PHP_INI_ALL | Before 1.5.0, the default value was 0.
mongo.ping_interval | 5 | PHP_INI_ALL | Added in 1.2.10
mongo.utf8 | 1 | PHP_INI_ALL |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

mongo.allow_empty_keys int

Added in version 1.0.11.

If empty strings ("") should be allowed as key names. By default, the driver will throw an exception if you attempt to pass the empty string as a key to the database. It is extremely easy to do this inavertently by using double quotes with $-operators, so it is recommended that you leave this setting as default. However, if you need to save keys that are empty strings, you can set this option to true and the driver will allow you to pass empty strings to the database.

mongo.allow_persistent int

If persistent connections are allowed. (Removed in 1.2.0 - all connections are now persistent).

mongo.chunk_size int

The number of bytes-per-chunk. Used in divvying up GridFS files. This number must be at least 100 less than 4 megabytes (max: 4194204) and it is recommended that it be less than that.

mongo.cmd string

A character to be used in place of $ in modifiers and comparisons.

As it is easy to forget to escape the "$", you can also choose your own special character to use instead of '$'. Choose a character that will not occur in your key names, e.g. ":":

mongo.cmd = ":"

Then, to do a comparison, for example:

<?php

$query = array( "i" => array( ":gt" => 20, ":lte" => 30 ) );

?>

You can also change it in your code using ini_set("mongo.cmd", ":"). Of course, you can also just use single quotes or backslash-escape the $.

mongo.default_host string

Default hostname when nothing is passed to the constructor.

mongo.default_port string

The default TCP port number to use when connecting to the database server if no other port is specified. The database's default is 27017.

mongo.is_master_interval int

Added in version 1.2.10.

For replicaset connections: The minimum interval with which the driver will send "isMaster" requests to the MongoDB server. If the value is lower, there will be more requests, but the driver finds faster whether the topology of the replicaset has been changed.

mongo.long_as_object int

Return a BSON_LONG as an instance of MongoInt64 (instead of a primitive type).

mongo.native_long int

The default behavior for this has been changed to true in 1.5.0, so make sure to set this variable to the value you want (probably true) so that the driver's behavior doesn't suddenly change when you upgrade.

On 64-bit platforms, the mongo.native_long setting allows for 64-bit integers to be stored in MongoDB. If it is not set, only 32-bits of the integer will be saved. The MongoDB data type that is used in this case is the BSON LONG, instead of the BSON INT that is used if this setting is turned off.

The setting also changes the way how BSON LONGs behave when they are read back from MongoDB. Without mongo.native_long enabled, the driver would convert every BSON LONG to a PHP double which can result in a loss of precision.

On 32-bit platforms, the mongo.native_long setting changes nothing for storing integers in MongoDB: the integer is stored as a BSON INT as before. However, when the setting is enabled and a BSON LONG is read from MongoDB a MongoCursorException is thrown alerting you that the data could not be read back without losing precision.

On 32-bit systems especially, it is recommended that you combine this with enabling mongo.long_as_object.

mongo.ping_interval int

Added in version 1.2.10.

For replicaset connections: The minimum interval with which the driver will send "ping" requests to the MongoDB server. If the value is lower, there will be more pings, but the driver finds faster whether a node is no longer reachable from the replicaset.

mongo.utf8 int

If an exception should be thrown for non-UTF8 strings. Until version 1.0.4, the PHP driver would ignore non-UTF8 strings, even though you're not supposed to insert them. As of 1.0.4, the driver throws a MongoException. To ease the transition for applications that insert non-UTF8 strings, you can turn this option off to emulate the old, non-exception-throwning behavior. This option will be eliminated and exceptions always thrown for non-UTF8 strings starting with version 1.1.0.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

MONGO_STREAMS (int)
Alias of MONGO_SUPPORTS_STREAMS
MONGO_SUPPORTS_STREAMS (int)
1 when compiled against PHP Streams (default since 1.4.0).
MONGO_SUPPORTS_SSL (int)
1 when OpenSSL is enabled and available.
MONGO_SUPPORTS_AUTH_MECHANISM_MONGODB_CR (int)
1 when MongoDB-Challenge/Reponse authentication is compiled in.
MONGO_SUPPORTS_AUTH_MECHANISM_MONGODB_X509 (int)
1 when x.509 authentication is compiled in.
MONGO_SUPPORTS_AUTH_MECHANISM_GSSAPI (int)
1 when GSSAPI authentication is compiled in.
MONGO_SUPPORTS_AUTH_MECHANISM_PLAIN (int)
1 when PLAIN authentication is compiled in.
MONGO_STREAM_NOTIFY_TYPE_IO_INIT (int)
MONGO_STREAM_NOTIFY_TYPE_LOG (int)
MONGO_STREAM_NOTIFY_IO_READ (int)
MONGO_STREAM_NOTIFY_IO_WRITE (int)
MONGO_STREAM_NOTIFY_IO_PROGRESS (int)
MONGO_STREAM_NOTIFY_IO_COMPLETED (int)
MONGO_STREAM_NOTIFY_LOG_INSERT (int)
MONGO_STREAM_NOTIFY_LOG_QUERY (int)
MONGO_STREAM_NOTIFY_LOG_UPDATE (int)
MONGO_STREAM_NOTIFY_LOG_DELETE (int)
MONGO_STREAM_NOTIFY_LOG_GETMORE (int)
MONGO_STREAM_NOTIFY_LOG_KILLCURSOR (int)
MONGO_STREAM_NOTIFY_LOG_BATCHINSERT (int)
MONGO_STREAM_NOTIFY_LOG_RESPONSE_HEADER (int)
MONGO_STREAM_NOTIFY_LOG_WRITE_REPLY (int)
MONGO_STREAM_NOTIFY_LOG_CMD_INSERT (int)
MONGO_STREAM_NOTIFY_LOG_CMD_UPDATE (int)
MONGO_STREAM_NOTIFY_LOG_CMD_DELETE (int)
MONGO_STREAM_NOTIFY_LOG_WRITE_BATCH (int)


Manual

Índice

  • Tutorial
  • Read Preferences
  • Write Concerns
  • SQL to Mongo Mapping Chart
  • Connecting
  • Stream Context Options
  • Writes
  • Querying
  • Updates
  • Security
  • Troubleshooting
  • Running the Driver's Tests
Aviso

Esta extensão está obsoleta. Alternativamente a extensão the MongoDB deve ser utilizada.

This manual goes into some detail about how to use MongoDB, but it mostly covers using the PHP driver. For information about how to design a schema, what terms means, and setting up the database server, check out the » MongoDB documentation.


Tutorial

Índice

  • Making a Connection
  • Getting a Database
  • Getting A Collection
  • Inserting a Document
  • Finding Documents using MongoCollection::findOne
  • Adding Multiple Documents
  • Counting Documents in A Collection
  • Using a Cursor to Get All of the Documents
  • Setting Criteria for a Query
  • Getting A Set of Documents With a Query
  • Creating An Index
Aviso

Esta extensão está obsoleta. Alternativamente a extensão the MongoDB deve ser utilizada.

This is the official MongoDB driver for PHP.

Here's a quick code sample that connects, inserts documents, queries for documents, iterates through query results, and disconnects from MongoDB. There are more details on each step in the tutorial below.

<?php

// connect
$m = new MongoClient();

// select a database
$db = $m->comedy;

// select a collection (analogous to a relational database's table)
$collection = $db->cartoons;

// add a record
$document = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert($document);

// add another record, with a different "shape"
$document = array( "title" => "XKCD", "online" => true );
$collection->insert($document);

// find everything in the collection
$cursor = $collection->find();

// iterate through the results
foreach ($cursor as $document) {
    echo $document["title"] . "\n";
}

?>

O exemplo acima irá imprimir:

Calvin and Hobbes
XKCD


Making a Connection

To connect to the database server, use one of the following:

<?php
$connection = new MongoClient(); // connects to localhost:27017
$connection = new MongoClient( "mongodb://example.com" ); // connect to a remote host (default port: 27017)
$connection = new MongoClient( "mongodb://example.com:65432" ); // connect to a remote host at a given port
?>

You do not have to explicitly disconnect from the database. The driver uses persistent connections and will re-use already established connections.

See Also

The chapter on connecting covers different types of connections.

The API documentation on the MongoClient class and MongoClient::__construct() give a comprehensive look at all possible options with a number of examples.


Getting a Database

To select a database, use:

<?php
$connection = new MongoClient();
$db = $connection->dbname;
?>

The database does not need to be created in advance, you can create new databases by selecting them.

Be careful of typos! You can inadvertently create a new database, which can cause confusing errors (here name is misspelled as anme in the second selection:

<?php
$connection = new MongoClient();

$db = $connection->mybiglongdbname;
// do some stuff

$db = $connection->mybiglongdbanme;
// now connected to a different database!
?>

See Also

The API documentation on the MongoDB class contains more information about database objects.


Getting A Collection

Getting a collection has the same syntax as getting a database:

<?php
$connection = new MongoClient();
$db = $connection->baz;

// select a collection:
$collection = $db->foobar;

// or, directly selecting a database and collection:
$collection = $connection->baz->foobar;
?>

A collection is analogous to a table (if you are familiar with relational databases).

See Also

The API documentation on the MongoCollection class contains more information about collection objects.


Inserting a Document

Associative arrays are the basic object that can be saved to a collection in the database. A somewhat random "document" might be:

<?php
$doc = array(
    "name" => "MongoDB",
    "type" => "database",
    "count" => 1,
    "info" => (object)array( "x" => 203, "y" => 102),
    "versions" => array("0.9.7", "0.9.8", "0.9.9")
);
?>

Note that you can have nested arrays and objects. The driver will always store an associative array as an object in the database. A numerically indexed array is stored as an array in case the keys start at 0 and are not interrupted, and as an object if the array keys don't start at 0 or have gaps (ie: 0, 1, 4, 5).

To insert this document, use MongoCollection::insert():

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$collection->insert( $doc );
?>

See Also

The API documentation on MongoCollection::insert() contains more information about inserting data.


Finding Documents using MongoCollection::findOne

  • « Inserting a Document
  • Adding Multiple Documents »
  • PHP Manual
  • Tutorial
  • Finding Documents using MongoCollection::findOne

Finding Documents using MongoCollection::findOne()

To show that the document we inserted in the previous step is stored in the database, we can do a simple MongoCollection::findOne() operation to get a single document from the collection. This method is useful when there is only one document matching the query or you are only interested in one result.

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$document = $collection->findOne();
var_dump( $document );
?>

O exemplo acima irá imprimir:

array(6) {
  ["_id"]=>
  object(MongoId)#8 (1) {
    ["$id"]=>
    string(24) "4e2995576803fab768000000"
  }
  ["name"]=>
  string(7) "MongoDB"
  ["type"]=>
  string(8) "database"
  ["count"]=>
  int(1)
  ["info"]=>
  array(2) {
    ["x"]=>
    int(203)
    ["y"]=>
    int(102)
  }
  ["versions"]=>
  array(3) {
    [0]=>
    string(5) "0.9.7"
    [1]=>
    string(5) "0.9.8"
    [2]=>
    string(5) "0.9.9"
  }
}

Note that there is an _id field that has been added automatically to your document. _id is the "primary key" field. If your document does not specify one, the driver will add one automatically.

If you specify your own _id field, it must be unique to the collection. See the example here:

<?php
$connection = new MongoClient();
$db = $connection->database;

$db->foo->insert(array("_id" => 1));
// this will throw an exception
$db->foo->insert(array("_id" => 1));

// this is fine, as it is a different collection
$db->bar->insert(array("_id" => 1));
?>

By default the driver will ensure the server has acknowledged the write before returning. You can optionally turn this behaviour off by passing array("w" => 0) as the second argument. This means that the driver should not wait for the database to acknowledge the write and would not throw the duplicate _id exception.

See Also

MongoCollection::findOne() for more information about finding data.

MongoId goes into more detail on unique ids.

The writes section covers writes in more depth, and the Write Concerns chapter goes into details of the various Write Concern options.


Adding Multiple Documents

In order to do more interesting things with queries, let's add multiple simple documents to the collection. These documents will just be of the form array( "i" => value ); and we can do this fairly efficiently in a loop:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

for ( $i = 0; $i < 100; $i++ )
{
    $collection->insert( array( 'i' => $i, "field{$i}" => $i * 2 ) );
}
?>

Notice that we can insert arrays with different keys into the same collection. This aspect is what we mean when we say that MongoDB is "schema-free". In the example above each document has an i field, but also a field name in the form of field + $i.


Counting Documents in A Collection

Now that we've inserted 101 documents (the 100 we did in the loop, plus the first one), we can check to see if we have them all using the MongoCollection::count() method.

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

echo $collection->count();
?>
and it should print 101.


Using a Cursor to Get All of the Documents

In order to get all the documents in the collection, we will use MongoCollection::find(). The find() method returns a MongoCursor object which allows us to iterate over the set of documents that matched our query. So to query all of the documents and print them out:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$cursor = $collection->find();
foreach ( $cursor as $id => $value )
{
    echo "$id: ";
    var_dump( $value );
}
?>
and that should print all 101 documents in the collection. $id is the _id field of a document (cast to a string) and $value is the document itself.

See Also

The API documentation on MongoCollection::find() contains more information about finding data.


Setting Criteria for a Query

We can create a query to pass to the MongoCollection::find() method to get a subset of the documents in our collection. For example, if we wanted to find the document for which the value of the "i" field is 71, we would do the following:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$query = array( 'i' => 71 );
$cursor = $collection->find( $query );

while ( $cursor->hasNext() )
{
    var_dump( $cursor->getNext() );
}
?>

O exemplo acima irá imprimir:

array(2) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["i"]=>
  int(71)
  ["_ns"]=>
  "testCollection"
}


Getting A Set of Documents With a Query

We can use the query to get a set of documents from our collection. For example, if we wanted to get all documents where "i" > 50, we could write:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$query = array( "i" => array( '$gt' => 50 ) ); //note the single quotes around '$gt'
$cursor = $collection->find( $query );

while ( $cursor->hasNext() )
{
    var_dump( $cursor->getNext() );
}
?>

which should print the documents where "i" > 50. We could also get a range, say 20 < i <= 30:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$query = array( 'i' => array( '$gt' => 20, "\$lte" => 30 ) );
$cursor = $collection->find( $query );

while ( $cursor->hasNext() )
{
    var_dump( $cursor->getNext() );
}
?>

Remember to always escape the $-symbol or use single quotes. Otherwise PHP will interpret it to be the variable $gt.


Creating An Index

MongoDB supports indexes, and they are very easy to add on a collection. To create an index, you specify the field name and direction: ascending (1) or descending (-1). The following creates an ascending index on the "i" field:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$collection->ensureIndex( array( "i" => 1 ) );  // create index on "i"
$collection->ensureIndex( array( "i" => -1, "j" => 1 ) );  // index on "i" descending, "j" ascending
?>

Indexing is critical for good read performance as your data grows. If you are not familiar with indexing, check out the MongoCollection::ensureIndex() documentation and the core » MongoDB indexing documentation.


Read Preferences

MongoDB 2.2 and version 1.3.0 of the driver add support for » read preferences, which allow control over how queries are directed to mongod instances in a replica set environment. Read preferences may be specified on either a per-connection, per-database, or per-collection basis. Preferences defined at a higher level will be inherited by default (e.g. MongoCollection will inherit read preferences defined on the corresponding MongoDB instance).

Read preferences are specified with a combination of modes and tag sets. Modes determine how mongod instances are prioritized, while » tag sets specify criteria for eligible mongod instances. Mongod instances are only eligible if they are within a 15ms difference in ping time from the nearest mongod instance.

Read Preference Modes

Aviso

All read preference modes except MongoClient::RP_PRIMARY may return stale data as secondaries replicate operations from the primary with some delay. Ensure that your application can tolerate stale data if you choose to use a mode other than MongoClient::RP_PRIMARY.

  • MongoClient::RP_PRIMARY

    All read operations use only the current replica set primary. This is the default. If the primary is unavailable, read operations will produce an exception.

    This mode is incompatible with use of tag sets. Specifying a tag set with MongoClient::RP_PRIMARY will result in an exception.

  • MongoClient::RP_PRIMARY_PREFERRED

    In most situations, operations read from the primary member of the set. However, if the primary is unavailable, as is the case during failover situations, operations read from secondary members.

    When the read preference includes a tag set, the client reads first from the primary, if available, and then from secondaries that match the specified tags. If no secondaries have matching tags, the read operation will produce an exception.

    Aviso

    Version 2.2 of mongos added full support for read preferences. When connecting to older mongos instances, MongoClient::RP_PRIMARY_PREFERRED will send queries to secondaries.

  • MongoClient::RP_SECONDARY

    Operations read only from the secondary members of the set. If no secondaries are available, read operations will produce an exception.

    Most sets have at least one secondary, but there are situations where there may be no available secondary. For example, a set with a primary, a secondary, and an arbiter may not have any secondaries if a member is in recovering state or unavailable.

    When the read preference includes a tag set, the client attempts to find secondary members that match the specified tag set and directs reads to a random secondary from among the nearest group. If no secondaries have matching tags, the read operation will produce an exception.

  • MongoClient::RP_SECONDARY_PREFERRED

    In most situations, operations read from secondary members, but in situations where the set consists of a single primary with no other members, the read operation will use the set's primary.

    When the read preference includes a tag set, the client attempts to find a secondary member that matches the specified tag set and directs reads to a random secondary from among the nearest group. If no secondaries have matching tags, the read operation will produce an exception.

  • MongoClient::RP_NEAREST

    The driver reads from a random member of the set that has a ping time that is less than 15ms slower than the member with the lowest ping time. Reads in the MongoClient::RP_NEAREST mode do not consider the member's type and may read from both primaries and secondaries.

    Set this mode to minimize the effect of network latency on read operations without preference for current or stale data.

    If you specify a tag set, the client attempts to find a member that matches the specified tag set and directs reads to a random node from among the nearest group.

    Nota:

    All operations read from the nearest member of the replica set that matches the specified read preference mode. The MongoClient::RP_NEAREST mode prefers low latency reads over a member's primary or secondary status.

Tag Sets

» Tag sets allow you to specify criteria so that your application can target read operations to specific members, based on custom parameters. Tag sets make it possible to ensure that read operations target members in a particular data center or target mongod instances designated for a particular class of operations, such as reporting or analytics.

You can specify tag sets with the following read preference modes:

  • MongoClient::RP_PRIMARY_PREFERRED

  • MongoClient::RP_SECONDARY

  • MongoClient::RP_SECONDARY_PREFERRED

  • MongoClient::RP_NEAREST

You cannot specify tag sets with the MongoClient::RP_PRIMARY read preference mode. Tags apply only when selecting a secondary member of a set, except for the when in the nearest mode.

Specifying Read Preferences

Read preferences may be specified in either the connection URI provided to MongoClient::__construct(), which uses a query string syntax, or via setter methods on the core classes, which use an array syntax for tag sets.

When specifying read preference modes in a query string, the tag sets for the readPreferenceTags value should be a comma-delimited sequence of colon-delimited key/value pairs.

Nota:

Each tag set defined in the query string will use the readPreferenceTags name. Unlike how PHP might handle URL query strings, successive values for readPreferenceTags will not overwrite each other. The driver will collect tag sets in the order they appear in the query string.

Aviso

If the driver cannot find a matching tag set the read will fail! It is your responsibility of providing suitable fallback, such as an empty readPreferenceTags value to fallback to "no tag set preference".

Exemplo #1 Connection URI read preferences with query string syntax

<?php
// Prefer the nearest server with no tag preference
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));

// Pick the nearest server in the "east" data center
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east,use:reporting';
$uri .= '&readPreferenceTags=dc:west';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));

// Prefer the nearest server in the "east" data center, then a server in the
// "west" data center, and finally fall back to no tag set preference
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east';
$uri .= '&readPreferenceTags=dc:west';
$uri .= '&readPreferenceTags=';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));
?>

Exemplo #2 Setting read preferences with array syntax for tag sets

<?php

$m = new MongoClient('mongodb://rs1.example.com,rs2.example.com', array(
    'replicaSet' => 'rs',
));

// Prefer the nearest server with no tag preference
$m->setReadPreference(MongoClient::RP_NEAREST, array());

// Pick the nearest server in the "east" data center
$m->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east'),
));

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$m->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));

// Prefer the nearest server in the "east" data center, then a server in the
// "west" data center, and finally fall back to no tag set preference
$m->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east'),
    array('dc' => 'west'),
    array(),
));
?>


Write Concerns

MongoDB provides several different ways of selecting how durable a write to the database should be. These ways are called Write Concerns and span everything from completely ignoring all errors, to specifically targetting which servers are required to confirm the write before returning the operation.

When a write (such as with MongoCollection::insert(), MongoCollection::update(), and MongoCollection::remove()) is given a Write Concern option ("w") the driver will send the query to MongoDB and piggy back a getLastError command (GLE) with the Write Concern option at the same time. The server only returns when the Write Concern condition is verified to be fulfilled, or the query times out (controlled with the "wtimeout" option, 10000 milliseconds is the default).

Aviso

Even though a getLastError command times out the data will most likely have been written to the primary server and will be replicated to all the secondaries once they have caught up.

The typical reasons for a timeout to happen is if you specify a Write Concern which requires confirmation from more servers then you currently have available.

When using acknowledged writes and the replica set has failed over, the driver will automatically disconnect from the primary, throw an exception, and attempt to find a new primary on the next operation (your application must decide whether or not to retry the operation on the new primary).

When using unacknowledged writes (w=0) and the replica set has failed over, there will be no way for the driver to know about the change so it will continue and silently fail to write.

The default Write Concern for the MongoClient is 1: acknowledge write operations.

Available Write Concerns
Write Concern | Meaning | Description
w=0 | Unacknowledged | A write will not be followed up with a GLE call, and therefore not checked ("fire and forget")
w=1 | Acknowledged | The write will be acknowledged by the server (the primary on replica set configuration)
w=N | Replica Set Acknowledged | The write will be acknowledged by the primary server, and replicated to N-1 secondaries.
w=majority | Majority Acknowledged | The write will be acknowledged by the majority of the replica set (including the primary). This is a special reserved string.
w=<tag set> | Replica Set Tag Set Acknowledged | The write will be acknowledged by members of the entire tag set
j=true | Journaled | The write will be acknowledged by primary and the journal flushed to disk

Using WriteConcerns

Each of the methods that causes writes (MongoCollection::insert(), MongoCollection::update(), MongoCollection::remove(), and MongoCollection::batchInsert()) allow an optional argument to send a set of options to the MongoDB server. With this option array you can set the WriteConcern as the following example illustrates:

Exemplo #1 Passing a WriteConcern to a write operation

<?php
// Setting w=0 for insert:
$collection->insert($someDoc, array("w" => 0));

// Setting w=majority for update:
$collection->update($someDoc, $someUpdates, array("w" => "majority"));

// Setting w=5 and j=true for remove:
$collection->update($someDoc, array("w" => 5, "j" => true));

// Setting w="AllDCs" for batchInsert:
$collection->update(array($someDoc1, $someDoc2), array("w" => "AllDCs"));
?>

Besides setting WriteConcerns per operation as an option argument, it is also possible to set a default WriteConcern in different ways.

The first way is through the connection string. The connection string accepts the journal, w, and wTimeoutMS options:

Exemplo #2 Connection string WriteConcerns

<?php
$m = new MongoClient("mongodb://localhost/?journal=true&w=majority&wTimeoutMS=20000");
?>

Since driver version 1.5 it is also possible to call MongoDB::setWriteConcern() and MongoCollection::setWriteConcern() to set a default WriteConcern for all operations created from that specific MongoDB or MongoCollection object:

Exemplo #3 MongoDB::setWriteConcern and MongoCollection::setWriteConcern

<?php
$m = new MongoClient("mongodb://localhost/");
$d = $m->demoDb;
$c = $d->demoCollection;

// Set w=3 on the database object with a timeout of 25000ms
$d->setWriteConcern(3, 25000);

// Set w=majority on the collection object without changing the timeout
$c->setWriteConcern("majority");
?>

Unacknowledged Writes

By not requiring the server to acknowledge writes the writes can be performed extremely quickly, but you don't know whether or not they actually succeeded. Writes can fail for a number of reasons: if there are network problems, if a database server goes down, or if the write was simply invalid (e.g., writing to a system collection; or duplicate key errors).

While developing, you should always use acknowledged writes (to protect against inadvertent mistakes, such as syntax errors, invalid operators, duplicate key errors and so on). In production, unacknowledged writes can be used for "unimportant" data. Unimportant data varies on application, but it's generally automatically (instead of user generated) data, such as click tracking or GPS locations, where you can get thousands of records per second.

It is strongly recommended that you do an acknowledged write at the end of series of unacknowledged writes. Doing so will not incur in a too large performance penalty, but still allow you to catch any errors that may have occurred.

Exemplo #4 Unacknowledged WriteConcern, followed with Acknowledged Write

<?php
$collection->insert($someDoc, array("w" => 0));
$collection->update($criteria, $newObj, array("w" => 0));
$collection->insert($somethingElse, array("w" => 0));
try {
    $collection->remove($something, array("w" => 1));
} catch(MongoCursorException $e) {
    /* Handle the exception.. */
    /* Here we should issue find() queries on the IDs generated for
    $somethingElse and $someDoc to verify they got written to the database and
    attempt to figureout where in the chain something happened. */
}
?>

If the last write throws an exception, you know that there's a problem with your database.

Acknowledged Writes

These type of write operations will make sure that the database has accepted the write operation before returning success. If the write failed, it will throw a MongoCursorException with an explanation of the failure. The MongoClient default behaviour is to acknowledge the write (w=1).

It is possible to specify how many members of an replica set have to acknowledge the write (i.e. have it replicated) before the write is deemed acknowledged and the operation returns.

Exemplo #5 Acknowledged Writes

<?php
// Force acknowledgement from the primary only
$collection->insert($doc, array("w" => 1));

// Force acknowledgement from the primary, and one other member of the
// replica set
$collection->insert($doc, array("w" => 2));

// Force acknowledgement from the primary, and six other members of the
// replica set (you probably never should do this):
$collection->insert($doc, array("w" => 7));
?>

Keep in mind to select your Write Concern carefully. If you have a replica set with 5 members, and you select Write Concern of 4 you will risk the write blocking forever when one member of the replica set goes down for maintenance or a temporary network outage happens.

Aviso

Passing in a string value for Write Concern has a specific meaning (Replica Set Tag Set Acknowledged). Please be careful of NOT using string values for numbers (i.e. array("w" => "1")) as it will be treated as a tag set name.

Majority Acknowledged Writes

Using the special majority Write Concern option is the recommended way for writes that are required to survive the apocalypse, as it will ensure the majority of your replica set will have the write and will therefore be guaranteed to survive all usual suspect outage scenarios.

Exemplo #6 Majority Acknowledged Write

<?php
$collection->insert($someDoc, array("w" => "majority"));
?>

Journaled Writes

When connecting to a replica set the default Write Concern is only to have the primary server acknowledge the write. There is however a 100ms window until the write gets journaled and flushed to disk. It is possible to force the write to be journaled before acknowledging the write by setting the j option:

Exemplo #7 Acknowledged and Journaled Write

Forcing journal flush

<?php
$options = array(
    "w" => 1,
    "j" => true,
);
try {
    $collection->insert($document, $options);
} catch(MongoCursorException $e) {
    /* handle the exception */
}
?>

Veja Também

  • » MongoDB WriteConcern docs

Changelog

Versão | Descrição
1.3.0 | MongoClient was introduced and defaults to acknowledged writes. The deprecated Mongo defaults to unacknowledged writes.
1.3.0 | The "safe" write option has been deprecated and is not available with the new MongoClient class. Use the "w" option instead.


SQL to Mongo Mapping Chart

This is a PHP-specific version of the » SQL to Mongo mapping chart in the main docs.

SQL Statement | Mongo Query Language Statement
CREATE TABLE USERS (a Number, b Number) | Implicit or use MongoDB::createCollection().
INSERT INTO USERS VALUES(1,1) | $db->users->insert(array("a" => 1, "b" => 1));
SELECT a,b FROM users | $db->users->find(array(), array("a" => 1, "b" => 1));
SELECT * FROM users WHERE age=33 | $db->users->find(array("age" => 33));
SELECT a,b FROM users WHERE age=33 | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1));
SELECT a,b FROM users WHERE age=33 ORDER BY name | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array("name" => 1));
SELECT * FROM users WHERE age>33 | $db->users->find(array("age" => array('$gt' => 33)));
SELECT * FROM users WHERE age<33 | $db->users->find(array("age" => array('$lt' => 33)));
SELECT * FROM users WHERE name LIKE "%Joe%" | $db->users->find(array("name" => new MongoRegex("/Joe/")));
SELECT * FROM users WHERE name LIKE "Joe%" | $db->users->find(array("name" => new MongoRegex("/^Joe/")));
SELECT * FROM users WHERE age>33 AND age<=40 | $db->users->find(array("age" => array('$gt' => 33, '$lte' => 40)));
SELECT * FROM users ORDER BY name DESC | $db->users->find()->sort(array("name" => -1));
CREATE INDEX myindexname ON users(name) | $db->users->ensureIndex(array("name" => 1));
CREATE INDEX myindexname ON users(name,ts DESC) | $db->users->ensureIndex(array("name" => 1, "ts" => -1));
SELECT * FROM users WHERE a=1 and b='q' | $db->users->find(array("a" => 1, "b" => "q"));
SELECT * FROM users LIMIT 20, 10 | $db->users->find()->limit(10)->skip(20);
SELECT * FROM users WHERE a=1 or b=2 | $db->users->find(array('$or' => array(array("a" => 1), array("b" => 2))));
SELECT * FROM users LIMIT 1 | $db->users->find()->limit(1);
EXPLAIN SELECT * FROM users WHERE z=3 | $db->users->find(array("z" => 3))->explain()
SELECT DISTINCT last_name FROM users | $db->command(array("distinct" => "users", "key" => "last_name"));
SELECT COUNT(*y) FROM users | $db->users->count();
SELECT COUNT(*y) FROM users where AGE > 30 | $db->users->find(array("age" => array('$gt' => 30)))->count();
SELECT COUNT(AGE) from users | $db->users->find(array("age" => array('$exists' => true)))->count();
UPDATE users SET a=1 WHERE b='q' | $db->users->update(array("b" => "q"), array('$set' => array("a" => 1)));
UPDATE users SET a=a+2 WHERE b='q' | $db->users->update(array("b" => "q"), array('$inc' => array("a" => 2)));
DELETE FROM users WHERE z="abc" | $db->users->remove(array("z" => "abc"));


Connecting

Índice

  • Connecting over SSL
  • Authentication
  • Replica Sets
  • Sharding
  • Domain Socket Support
  • Persistent Connections (version 1.3.0+)
  • Connection Pooling (version 1.2.0-1.2.12 *only*)
  • Manually Persistent Connections (version up to 1.1.4 *only*)

Connecting to MongoDB can be as easy as new MongoClient, but there are many additional options and configurations. The documentation for MongoClient::__construct() covers all of the API options, but this page gives some more details and advice for practical use cases.


Connecting over SSL

The driver supports connecting to » MongoDB over SSL and can optionally use SSL Stream Context options to provide more details, such as verifying certificates against specific certificate chain, or authenticate to » MongoDB using X509 certificates.

Exemplo #1 Connect to MongoDB Instance with SSL Encryption

<?php
$mc = new MongoClient("mongodb://server1", array("ssl" => true));
?>

Exemplo #2 Connect to MongoDB Instance with SSL Encryption, verifying it is who we think it is

<?php
$SSL_DIR = "/vagrant/certs";
$SSL_FILE = "CA_Root_Certificate.pem";

$ctx = stream_context_create(array(
    "ssl" => array(
        /* Certificate Authority the remote server certificate must be signed by */
        "cafile"            => $SSL_DIR . "/" . $SSL_FILE,

        /* Disable self signed certificates */
        "allow_self_signed" => false,

        /* Verify the peer certificate against our provided Certificate Authority root certificate */
        "verify_peer"       => true, /* Default to false pre PHP 5.6 */

        /* Verify the peer name (e.g. hostname validation) */
        /* Will use the hostname used to connec to the node */
        "verify_peer_name"  => true,

        /* Verify the server certificate has not expired */
        "verify_expiry"     => true, /* Only available in the MongoDB PHP Driver */
    ),
);

$mc = new MongoClient(
    "mongodb://server1",
    array("ssl" => true),
    array("context" => $ctx)
);
?>

Nota:

The "verify_peer_name" is new in PHP 5.6.0. The MongoDB driver as of 1.6.5 however has backported this feature into the driver itself, so it works with PHP 5.3 and 5.4 too

Exemplo #3 Connect to MongoDB Instance that Requires Client Certificates

<?php
$SSL_DIR  = "/vagrant/certs";
$SSL_FILE = "CA_Root_Certificate.pem";

$MYCERT   = "/vagrant/certs/ca-signed-client.pem";

$ctx = stream_context_create(array(
    "ssl" => array(
        "local_cert"        => $MYCERT,
        /* If the certificate we are providing was passphrase encoded, we need to set it here */
        "passphrase"        => "My Passphrase for the local_cert",

        /* Optionally verify the server is who he says he is */
        "cafile"            => $SSL_DIR . "/" . $SSL_FILE,
        "allow_self_signed" => false,
        "verify_peer"       => true,
        "verify_peer_name"  => true,
        "verify_expiry"     => true,
    ),
));

$mc = new MongoClient(
    "mongodb://server1/?ssl=true",
    array(),
    array("context" => $ctx)
);
?>

Exemplo #4 Authenticating with X.509 certificates

The username is the certificate subject from the X509, which can be extracted like this:

openssl x509 -in /vagrant/certs/ca-signed-client.pem -inform PEM -subject -nameopt RFC2253
<?php
$ctx = stream_context_create( array(
    "ssl" => array(
        "local_cert" => "/vagrant/certs/ca-signed-client.pem",
    )
) );

$mc = new MongoClient(
    'mongodb://username@server1/?authSource=$external&authMechanism=MONGODB-X509&ssl=true',
    array(),
    array("context" => $ctx)
);
?>

Where username is the certificate subject.

Changelog

Versão | Descrição
1.5.0 | Added support for X509 authentication.
1.4.0 | Added support for connecting to SSL enabled MongoDB.


Authentication

If MongoDB is started with the --auth or --keyFile options, you must authenticate before you can do any operations with the driver. You may authenticate a connection by specifying the username and password in either the connection URI or the "username" and "password" options for MongoClient::__construct().

Exemplo #1 Authenticating against the "admin" database

<?php
// Specifying the username and password in the connection URI (preferred)
$m = new MongoClient("mongodb://${username}:${password}@localhost");

// Specifying the username and password via the options array (alternative)
$m = new MongoClient("mongodb://localhost", array("username" => $username, "password" => $password));
?>

By default, the driver will authenticate against the admin database. You may authenticate against a different database by specifying it in either the connection URI or the "db" option for MongoClient::__construct().

Exemplo #2 Authenticating against normal databases

<?php
// Specifying the authentication database in the connection URI (preferred)
$m = new MongoClient("mongodb://${username}:${password}@localhost/myDatabase");

// Specifying the authentication database via the options array (alternative)
$m = new MongoClient("mongodb://${username}:${password}@localhost", array("db" => "myDatabase"));
?>

If your connection is dropped, the driver will automatically attempt to reconnect and reauthenticate you.


Replica Sets

To connect to a replica set, specify one or more members of the set and use the "replicaSet" option. Multiple servers may be delimited by a comma.

Exemplo #1 ReplicaSet seed list

<?php
// Using multiple servers as the seed list (prefered)
$m = new MongoClient("mongodb://rs1.example.com:27017,rs2.example.com:27017/?replicaSet=myReplSetName");

// Using one server as the seed list
$m = new MongoClient("mongodb://rs1.example.com:27017", array("replicaSet" => "myReplSetName"));

// Using multiple servers as the seed list
$m = new MongoClient("mongodb://rs1.example.com:27017,rs2.example.com:27017", array("replicaSet" => "myReplSetName"));
?>

The PHP driver will query the database server(s) listed to determine the primary. So long as it can connect to at least one host listed and find a primary, the connection will succeed. If it cannot make a connection to any servers listed or cannot find a primary, a MongoConnectionException will be thrown.

Dica

You should always provide a seed list with more than one member of the ReplicaSet. For highest availability you should seed with at least one server from each of your datacenters.

Aviso

The host names that you specify in the seed list must match the host names in the replica set configuration. This is because the driver only uses the host names in the replica set configuration to create the hash for its persistent connections.

For example, if an IP address is used in the seed list and the replica set is configured with host names, the driver will discard any seed list connection(s) that differ from the canonical host names reported by the replica set. Effectively, these non-canonical seed list connections will be recreated on each request, greatly reducing the benefit of using persistent connections.

Aviso

The driver does not support connecting to different replica sets with the same name. This extends beyond one script so make sure to have separate names for each of your replica sets. That also means that you can not do this:

Exemplo #2 Wrong replica set name duplication

<?php
$m = new MongoClient("mongodb://devserver1,devserver2,devserver3/?replicaSet=repset");
$m = new MongoClient("mongodb://prodserver1,prodserver2,prodserver3/?replicaSet=repset");
?>

Instead, you need to have two different names for your replica sets:

Exemplo #3 Correct use of two replica set names

<?php
$m = new MongoClient("mongodb://devserver1,devserver2,devserver3/?replicaSet=devset");
$m = new MongoClient("mongodb://prodserver1,prodserver2,prodserver3/?replicaSet=prodset");
?>

If the primary becomes unavailable, an election will take place and a secondary will be promoted to the role of primary (unless a majority vote cannot be established). During this time (» 20-60 seconds), the connection will not be able to perform any write operations and attempts to do so will result in an exception. Connections to secondaries will still be able to perform reads.

Nota:

The default Read Preference is to only read from the primary. During the election process there is no primary, and all read will therefore fail.

It is recommended to use MongoClient::RP_PRIMARY_PREFERRED Read Preference for applications that require high availability for reads, as reads will only be executed on the secondaries when there simply isn't a primary available.

Once a primary is elected, attempting to perform a read or write will allow the driver to detect the new primary. The driver will make this its primary database connection and continue operating normally.

The health and state of a secondary is checked every 5 seconds (configurable with mongo.ping_interval) or when the next operation occurs after 5 seconds. It will also recheck the configuration when the driver has a problem reaching a server.

Replica set failovers are checked every 60 seconds (configurable with mongo.is_master_interval), and whenever a write operation fails when using acknowledged writes.

Cuidado

Secondaries may be behind the primary in operations, so your application must be able to handle out-of-date data when using Read Preferences other then MongoClient::RP_PRIMARY.

For more information on replica sets, see the » core documentation.

Veja Também

  • Read Preferences
  • Write Concerns

Changelog

Versão | Descrição
1.0.9 | Added support for connecting to ReplicaSet and automatic failover.


Sharding

To connect to a shard cluster, specify the address of one or more mongos instances in the connection string. Multiple servers may be delimited by a comma.

<?php
// Using one server as the seed list
$m = new MongoClient("mongodb://mongos1.example.com:27017");

// Using multiple servers as the seed list
$m = new MongoClient("mongodb://mongos1.example.com:27017,mongos2.example.com:27017");
?>

Regardless of whether each shard is a stand-alone mongod server or a full replica set, the driver's connection process is the same. All database communication will be routed through mongos.

For more information on sharding with MongoDB, see the » sharding documentation.


Domain Socket Support

MongoDB has built-in support for connecting via Unix Domain Sockets and will open the socket on startup. By default, the socket is located in /tmp/mongodb-<port>.sock.

To connect to the socket file, specify the path in your MongoDB connection string:

<?php
$m = new MongoClient("mongodb:///tmp/mongo-27017.sock");
?>

If you would like to authenticate against a database (as described above) with a socket file, you must specify a port of 0 so that the connection string parser can detect the end of the socket path. Alternatively, you can use the constructor options.

<?php
$m = new MongoClient("mongodb://username:password@/tmp/mongo-27017.sock:0/foo");
?>

Changelog

Versão | Descrição
1.0.9 | Added support for Unix Domain Sockets.


Persistent Connections (version 1.3.0+)

All versions of the driver since 1.3.0 utilize persistent connections to minimize the number of connections made to each database server. These connections are saved by the PHP worker process and may be reused between multiple requests.

Before connecting to a database server, the driver will create a hash for the connection based on its host, port, replica set name (if any), any authentication credentials (e.g. username, password, database), and the process ID. If a connection already exists for that hash, it will be used in lieu of creating a new connection associated with that hash. MongoClient::getConnections() may be used to retrieve info about each persistent connection. Consider the following program:

<?php

$m1 = new MongoClient('mongodb://localhost');
$m2 = new MongoClient('mongodb://localhost');
$m3 = new MongoClient('mongodb://user:pw@localhost');
$m4 = new MongoClient('mongodb://127.0.0.1');
$m5 = new MongoClient('mongodb://rs1.local:30017,rs2.local:30018/?replicaSet=rs');
$m6 = new MongoClient('mongodb://sharding.local:40017');

foreach (MongoClient::getConnections() as $conn) {
    echo $conn['hash'], "\n";
}

?>

O exemplo acima irá imprimir algo similar à:

localhost:27017;-;X;15487
localhost:27017;-;admin/user/c56c…8bbc;15487
127.0.0.1:27017;-;X;15487
rs1.local:30017;rs;X;15487
rs2.local:30018;rs;X;15487
sharding.local:40017;-;X;15487

In this example $m1 and $m2 have the same hash and share a persistent connection. Connections for each other MongoClient instance hash to unique values and use their own sockets. Note that "localhost" and "127.0.0.1" do not share the same hash; DNS resolution is not taken into account.


Connection Pooling (version 1.2.0-1.2.12 *only*)

Nota:

This section is no longer relevant as of the 1.3.0 release of the driver and only serves as a historical information on how the pooling used to work.

The latest versions of the driver have no concept of pooling anymore and will maintain only one connection per process, for each connection type (ReplicaSet/standalone/mongos), for each credentials combination.

Creating connections is one of the most heavyweight things that the driver does. It can take hundreds of milliseconds to set up a connection correctly, even on a fast network. Thus, the driver tries to minimize the number of new connections created by reusing connections from a pool.

When a user creates a new instance of MongoClient, all necessary connections will be taken from their pools (replica sets may require multiple connections, one for each member of the set). When the MongoClient instance goes out of scope, the connections will be returned to the pool. When the PHP process exits, all connections in the pools will be closed.

"Why do I have so many open connections?"

Connection pools can generate a large number of connections. This is expected and, using a little arithmetic, you can figure out how many connections will be created. There are three factors in determining the total number of connections:

  • connections_per_pool

    Each connection pool will create, by default, an unlimited number of connections. One might assume that this is a problem: if it can create an unlimited number of connections, couldn't it create thousands and the server would run out of file descriptors? In practice, this is unlikely, as unused connections are returned to the pool to be used later, so future connections will use the same connection instead of creating a new one. Unless you create thousands of connections at once without letting any go out of scope, the number of connections open should stay at a reasonable number.

    You can see how many connections you have in a pool using the MongoPool::info() function. Add up the "in use" and "in pool" fields for a given server. That is the total number of connections for that pool.

  • pools_per_process

    Each MongoDB server address you're connecting to gets its own connection pool. For example, if your local hostname is "example.net", connecting to "example.net:27017", "localhost:27017", and "/tmp/mongodb-27017.sock" will create three connection pools. You can see how many connection pools you have open using MongoPool::info().

  • processes

    Each PHP process has a separate set of pools. PHP-FPM and Apache generally create between 6 and a couple of dozen PHP worker children. Check your settings to see what the max number of PHP processes is that can be spawned.

    If you are using PHP-FPM, estimating the number of connections can be tricky because it will spawn more PHP-FPM workers under heavy load. To be on the safe side, look at the max_children parameter or add up spare_servers + start_servers (choose whichever number is higher). That will indicate how many PHP processes (i.e. sets of pools) you should plan for.

The three variables above can be multiplied together to give the max number of connections expected: connections_per_pool * pools_per_process * processes. Note that connections_per_pool can be different for different pools, so connections_per_pool should be the max.

For example, suppose we're getting 30 connections per pool, 10 pools per PHP process, and 128 PHP processes. Then we can expect 38400 connections from this machine. Thus, we should set this machine's file descriptor limit to be high enough to handle all of these connections or it may run out of file descriptors.

See MongoPool for more information on connection pooling.


Manually Persistent Connections (version up to 1.1.4 *only*)

Nota:

This section is not relevant for 1.2.0+. In 1.2.0+, connections are always persistent and managed automatically by the driver. If you are using a 1.2.x release (but not 1.3.x or later), see MongoPool for more information on pooling.

Creating new connection to the database is very slow. To minimize the number of connections that you need to make, you can use persistent connections. A persistent connection is saved by PHP, so you can use the same connection for multiple requests.

For example, this simple program connects to the database 1000 times:

<?php

for ($i=0; $i<1000; $i++) {
  $m = new MongoClient();
}

?>

It takes approximately 18 seconds to execute. If we change it to use a persistent connection:

<?php

for ($i=0; $i<1000; $i++) {
  $m = new MongoClient("localhost:27017", array("persist" => "x"));
}

?>

...it takes less than .02 seconds to execute, as it only makes one database connection.

Persistent connections need an identifier string (which is "x" in the above example) to uniquely identify them. For a persistent connection to be used, the hostname, port, persist string, and authentication credentials (username, password and database, if given) must match an existing persistent connection. Otherwise, a new connection will be created with this identifying information.

Persistent connections are highly recommended and should always be used in production unless there is a compelling reason not to. Most of the reasons that they are not recommended for relational databases are irrelevant to MongoDB.


Stream Context Options

The PHP MongoDB extension provides Stream Context Support using the mongodb context.

A stream context must be created with stream_context_create() and passed to the MongoClient::__construct() before the actual connection to MongoDB is made. It is not possible to apply a stream context to already created streams.

Additional context options and parameters, such as ssl and notification parameters, are also supported.

The MongoDB context options provide a rich interface to log network traffic between the driver and the MongoDB servers. This interface can be used to provide query logging, profiler, debuggers, or anything that would need to inspect the underlaying commands and protocol options.

Veja Também

  • Opções de contexto de SSL
  • Opções de contexto de Socket
  • Parâmetros de contexto

Índice

  • log_cmd_delete — Callback When Deleting Documents
  • log_cmd_insert — Callback When Inserting Documents
  • log_cmd_update — Callback When Updating Documents
  • log_getmore — Callback When Retrieving Next Cursor Batch
  • log_killcursor — Callback When Executing KILLCURSOR operations
  • log_reply — Callback When Reading the MongoDB reply
  • log_write_batch — Callback When Writing Batches


Callback When Deleting Documents

  • « Stream Context Options
  • log_cmd_insert »
  • PHP Manual
  • Stream Context Options
  • Callback When Deleting Documents

log_cmd_delete

(PECL mongo >= 1.5.0)

log_cmd_delete — Callback When Deleting Documents

Descrição

log_cmd_delete ( array $server , array $writeOptions , array $deleteOptions , array $protocolOptions )

A callable function, used by the log_cmd_delete context option, when deleteing a document

Nota:

This is not a real function, only a prototype of how the function should be.

Parâmetros

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

writeOptions

key | value
ordered | boolean, if the operation (in case of batch operation) must be executed sequentually (ordered=true)
writeConcern | An array of writeConcern options (see below)
writeConcern array values
key | value
fsync | boolean, force flushing to disk before returning
j | boolean, force journal write before returning
wtimeout | integer, milliseconds, maximum time the primary is allowed to wait to verify replication
w | integer=server count, or string=replication-tag

deleteOptions

key | value
limit | integer, 1 or 0. If 0, delete all matching documents.
q | Array, the search criteria

protocolOptions

key | value
message_length | The total size (in bytes) of the encoded message being sent over the wire
request_id | The request identifier for this message: 42
namespace | The MongoDB namespace used for the protocol message dbname.collectionname

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Only available when connected to MongoDB 2.6.0+


Callback When Inserting Documents

  • « log_cmd_delete
  • log_cmd_update »
  • PHP Manual
  • Stream Context Options
  • Callback When Inserting Documents

log_cmd_insert

(PECL mongo >= 1.5.0)

log_cmd_insert — Callback When Inserting Documents

Descrição

log_cmd_insert ( array $server , array $document , array $writeOptions , array $protocolOptions )

A callable function, used by the log_cmd_insert context option, when inserting a document

Nota:

This is not a real function, only a prototype of how the function should be.

Parâmetros

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

document

The document that has been prepared to be inserted

writeOptions

key | value
ordered | boolean, if the operation (in case of batch operation) must be executed sequentually (ordered=true)
writeConcern | An array of writeConcern options (see below)
writeConcern array values
key | value
fsync | boolean, force flushing to disk before returning
j | boolean, force journal write before returning
wtimeout | integer, milliseconds, maximum time the primary is allowed to wait to verify replication
w | integer=server count, or string=replication-tag

protocolOptions

key | value
message_length | The total size (in bytes) of the encoded message being sent over the wire
request_id | The request identifier for this message: 42
namespace | The MongoDB namespace used for the protocol message dbname.collectionname

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Only available when connected to MongoDB 2.6.0+


Callback When Updating Documents

  • « log_cmd_insert
  • log_getmore »
  • PHP Manual
  • Stream Context Options
  • Callback When Updating Documents

log_cmd_update

(PECL mongo >= 1.5.0)

log_cmd_update — Callback When Updating Documents

Descrição

log_cmd_update ( array $server , array $writeOptions , array $updateOptions , array $protocolOptions )

A callable function, used by the log_cmd_update context option, when updateing a document

Nota:

This is not a real function, only a prototype of how the function should be.

Parâmetros

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

writeOptions

key | value
ordered | boolean, if the operation (in case of batch operation) must be executed sequentually (ordered=true)
writeConcern | An array of writeConcern options (see below)
writeConcern array values
key | value
fsync | boolean, force flushing to disk before returning
j | boolean, force journal write before returning
wtimeout | integer, milliseconds, maximum time the primary is allowed to wait to verify replication
w | integer=server count, or string=replication-tag

updateOptions

key | value
multi | Boolean, true if this update is allowed to update all matched criteria
upsert | Boolean, true if the document should be created if criteria does not match
q | Array, the search criteria
u | Array, the new object/modifications

protocolOptions

key | value
message_length | The total size (in bytes) of the encoded message being sent over the wire
request_id | The request identifier for this message: 42
namespace | The MongoDB namespace used for the protocol message dbname.collectionname

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Only available when connected to MongoDB 2.6.0+


Callback When Retrieving Next Cursor Batch

  • « log_cmd_update
  • log_killcursor »
  • PHP Manual
  • Stream Context Options
  • Callback When Retrieving Next Cursor Batch

log_getmore

(PECL mongo >= 1.5.0)

log_getmore — Callback When Retrieving Next Cursor Batch

Descrição

log_getmore ( array $server , array $info )

A callable function, used by the log_getmore context option, when executing a GET_MORE operation.

Nota:

This is not a real function, only a prototype of how the function should be.

Parâmetros

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

info

key | value
request_id | integer, the driver request identifier
cursor_id | integer, the cursor identifier being used to fetch more data
batch_size | integer, maximum number of documents being requested


Callback When Executing KILLCURSOR operations

  • « log_getmore
  • log_reply »
  • PHP Manual
  • Stream Context Options
  • Callback When Executing KILLCURSOR operations

log_killcursor

(PECL mongo >= 1.5.0)

log_killcursor — Callback When Executing KILLCURSOR operations

Descrição

log_killcursor ( array $server , array $info )

A callable function, used by the log_killcursor context option, when reading a killcursor from MongoDB.

Nota:

This is not a real function, only a prototype of how the function should be.

Parâmetros

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

info

key | value
cursor_id | integer, the cursor identifier to kill


Callback When Reading the MongoDB reply

  • « log_killcursor
  • log_write_batch »
  • PHP Manual
  • Stream Context Options
  • Callback When Reading the MongoDB reply

log_reply

(PECL mongo >= 1.5.0)

log_reply — Callback When Reading the MongoDB reply

Descrição

log_reply ( array $server , array $messageHeaders , array $operationHeaders )

A callable function, used by the log_reply context option, when reading a reply from MongoDB.

Nota:

This is not a real function, only a prototype of how the function should be.

Parâmetros

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

messageHeaders

key | value
length | integer, bytes, message reply length
request_id | integer, the server request identifier
response_id | integer, the driver request identifier this message is a response of
opcode | integer, the opcode id

operationHeaders

key | value
flags | integer, bitmask of protocol flags
cursor_id | integer, ID of the cursor created on the server (0 if none created, or its been exhausted)
start | The starting offset of this cursor
returned | integer, how many documents are returned in this trip

Veja Também

  • The » OP_REPLY definition in the Wire Protocol


Callback When Writing Batches

  • « log_reply
  • Writes »
  • PHP Manual
  • Stream Context Options
  • Callback When Writing Batches

log_write_batch

(PECL mongo >= 1.5.0)

log_write_batch — Callback When Writing Batches

Descrição

log_write_batch ( array $server , array $writeOptions , array $batch , array $protocolOptions )

A callable function, used by the log_write_batch context option, when executing a batch operation.

Nota:

This is not a real function, only a prototype of how the function should be.

Parâmetros

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

writeOptions

key | value
ordered | boolean, if the operation (in case of batch operation) must be executed sequentually (ordered=true)
writeConcern | An array of writeConcern options (see below)
writeConcern array values
key | value
fsync | boolean, force flushing to disk before returning
j | boolean, force journal write before returning
wtimeout | integer, milliseconds, maximum time the primary is allowed to wait to verify replication
w | integer=server count, or string=replication-tag

batch

Array, the actual batch operation.

protocolOptions

key | value
message_length | The total size (in bytes) of the encoded message being sent over the wire
request_id | The request identifier for this message: 42
namespace | The MongoDB namespace used for the protocol message dbname.collectionname

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Only available when connected to MongoDB 2.6.0+


Writes

Updating Nested Objects

Suppose we wish to change the name of a comment's author in this document:

{
    "_id" : ObjectId("4b06c282edb87a281e09dad9"),
    "content" : "this is a blog post.",
    "comments" :
    [
        {
            "author" : "Mike",
            "comment" : "I think that blah blah blah...",
        },
        {
            "author" : "John",
            "comment" : "I disagree."
        }
    ]
}
In order to change an inner field, we use $set (so that all of the other fields are not removed!) with the index of comment to change:
<?php

$blog->update($criteria, array('$set' => array("comments.1" => array("author" => "Jim"))));

?>

The Positional Operator

The positional operator $ is useful for updating objects that are in arrays. In the example above, for instance, suppose that we did not know the index of the comment that we needed to change, merely that we needed to change "John" to "Jim". We can use $ to do so.

<?php

$blog->update(
    array('comments.author' => 'John'),
    array('$set' => array('comments.$.author' => 'Jim')));

?>


Querying

Distributing queries to secondaries

All queries (reads and writes) are only sent to the primary member of a replica set by default. This is however easily configurable by using the Read Preferences which allow you to set some generic read preferences (such as allowing secondary reads of the nearest server), and also provide ways to specifically target a server in a specific country, datacenter, or even hardware, by the use of replica set tag sets.

Read preferences can be configured at every level of the driver:

  • As a query parameter or option to MongoClient::__construct()
  • Specifically by calling MongoClient::setReadPreference()
  • At the database level with MongoDB::setReadPreference()
  • At the collection level with MongoCollection::setReadPreference()
  • At the cursor level with MongoCursor::setReadPreference() or MongoCommandCursor::setReadPreference()
Each class inherits its read preference setting from the "parent" context.

Exemplo #1 Inheriting read preferences from the database level down to the cursor

<?php
$db->setReadPreference(MongoClient::RP_SECONDARY_PREFERRED);
$c = $db->myCollection;

$cursor = $c->find();
?>

In this example, the query will be executed against a secondary. The collection inherits MongoClient::RP_SECONDARY_PREFERRED from the database and the cursor inherits it from the collection.

How secondaries are chosen

Each instance of MongoClient chooses its own secondary using the available secondary with the lowest ping time. So, if we had a PHP client in Europe and one in Australia and we had one secondary in each of these data centers, we could do:

<?php
$options = array("replicaSet" => "setName", "readPreference" => MongoClient::RP_SECONDARY_PREFERRED);

// on the Australian client
$m = new MongoClient("mongodb://primary,australianhost.secondary,europeanhost.secondary", $options);
$cursor = $m->foo->bar->find();
$cursor->getNext();
echo "Reading from: ", $cursor->info()["server"], "\n";

// on the European client
$m = new MongoClient("mongodb://primary,australianhost.secondary,europeanhost.secondary", $options);
$cursor = $m->foo->bar->find();
$cursor->getNext();
echo "Reading from: ", $cursor->info()["server"], "\n";
?>

O exemplo acima irá imprimir algo similar à:

Reading from: australianHost
Reading from: europeanHost

Note that we have to do a query before a secondary is chosen: secondaries are chosen lazily by the driver, and for each query separately.

You can see what the driver thinks is the current status of the set members by running MongoClient::getHosts() or MongoClient::getConnections().

If no secondary is readable, the driver will send reads to the primary as we specified MongoClient::RP_SECONDARY_PREFERRED which will fallback to execute a query on a primary if no secondaries are available. A server is considered readable if its state is 2 (SECONDARY) and its health is 1. You can check this with MongoClient::getHosts() and MongoClient::getConnections().

Random notes

Writes are always sent to the primary—and by default all reads are sent to the primary too.

Querying by _id

Every object inserted is automatically assigned a unique _id field, which is often a useful field to use in queries. This works similarly to "get last insert ID" functionality, except that the _id is chosen by the client.

Suppose that we wish to find the document we just inserted. Inserting adds an _id field to the document, so we can query by that:

<?php
$person = array("name" => "joe");

$people->insert($person);

// now $joe has an _id field
$joe = $people->findOne(array("_id" => $person['_id']));
?>

Unless the user has specified otherwise, the _id field is a MongoId. The most common mistake is attempting to use a string to match a MongoId. Keep in mind that these are two different datatypes, and will not match each other in the same way that the string "array()" is not the same as an empty array. For example:

<?php
$person = array("name" => "joe");

$people->insert($person);

// convert the _id to a string
$pid = $person['_id'] . "";

// FAILS - $pid is a string, not a MongoId
$joe = $people->findOne(array("_id" => $pid));
?>

Arrays

Arrays are special in a couple ways. First, there are two types that MongoDB uses: "normal" arrays and associative arrays. Associative arrays can have any mix of key types and values. "Normal" arrays are defined as arrays with ascending numeric indexes starting at 0 and increasing by one for each element. These are, typically, just your usual PHP array.

For instance, if you want to save a list of awards in a document, you could say:

<?php

$collection->save(array("awards" => array("gold", "silver", "bronze")));

?>

Queries can reach into arrays to search for elements. Suppose that we wish to find all documents with an array element of a given value. For example, documents with a "gold" award, such as:

{ "_id" : ObjectId("4b06c282edb87a281e09dad9"), "awards" : ["gold", "silver", "bronze"]}

This can be done with a simple query, ignoring the fact that "awards" is an array:

<?php

  $cursor = $collection->find(array("awards" => "gold"));

?>

Suppose we are querying for a more complex object, if each element of the array were an object itself, such as:

{
     "_id" : ObjectId("4b06c282edb87a281e09dad9"),
     "awards" :
     [
        {
            "first place" : "gold"
        },
        {
            "second place" : "silver"
        },
        {
            "third place" :  "bronze"
        }
     ]
}

Still ignoring that this is an array, we can use dot notation to query the subobject:

<?php

$cursor = $collection->find(array("awards.first place" => "gold"));

?>

Notice that it doesn't matter that there is a space in the field name (although it may be best not to use spaces, just to make things more readable).

You can also use an array to query for a number of possible values. For instance, if we were looking for documents "gold" or "copper", we could do:

<?php

$cursor = $collection->find(array("awards" => array('$in' => array("gold", "copper"))));

?>

Changelog

Versão | Descrição
1.3.0 | Introduced the Read Preferences framework to allow more fine grained control over secondary reads.
1.3.0 | Deprecated slaveOkay usage, the alternative is Read Preferences.
1.1.0 | Introduced the possiblity of routing reads to secondaries of replica set members using Mongo::setSlaveOkay()


Updates

Updates can be one of the most complicated operation available with MongoDB. They combine a query with an action, modifying documents that match the criteria. They are also extremely powerful, allowing you to change documents quickly and replace them altogether. They are done in-place (when possible) with little overhead.

Modifying vs. replacing documents

There are two types of updates you can use: modifying updates and replacing updates. Modifying updates contain $-operators and change fields in a document: they might increment counters, push new elements onto an array, or change the type of a field.

For example, a modifying update could add a new field to a document.

<?php
/** suppose documents look like:
 * {"username" : "...", "password" : "...", "email" : "..."}
 */
$coll->update(array("username" => "joe"), array('$set' => array("twitter" => "@joe4153")));

/** now the document will look like:
 * {"username" : "joe", "password" : "...", "email" : "...", "twitter" : "@joe4153"}
 */
?>

Replacing updates replace the entire matching document with a new document. They are generally not as efficient as using $-modifiers, but can be very usefully for complex operations or updates that can't be expressed in terms of $-operators.

For example, a replacing update can completely change the structure of a document.

<?php
/** suppose documents look like:
 * {"username" : "...", "password" : "...", "email" : "..."}
 */
$coll->update(array("username" => "joe"), array("userId" => 12345, "info" => array(
    "name" => "joe", "twitter" => "@joe4153", "email" => "..."), "likes" => array()));

/** now the document will look like:
 * {
 *     "userId" : 12345,
 *     "info" : {
 *         "name" : "joe",
 *         "twitter" : "@joe4153",
 *         "email" : "..."
 *     },
 *     "likes" : []
 * }
 */
?>

Updating Nested Objects

Suppose we wish to change the name of a comment's author in this document:

{
    "_id" : ObjectId("4b06c282edb87a281e09dad9"),
    "content" : "this is a blog post.",
    "comments" :
    [
        {
            "author" : "Mike",
            "comment" : "I think that blah blah blah...",
        },
        {
            "author" : "John",
            "comment" : "I disagree."
        }
    ]
}
In order to change an inner field, we use $set (so that all of the other fields are not removed!) with the index of comment to change:
<?php

$blog->update($criteria, array('$set' => array("comments.1" => array("author" => "Jim"))));

?>

The Positional Operator

The positional operator $ is useful for updating objects that are in arrays. In the example above, for instance, suppose that we did not know the index of the comment that we needed to change, merely that we needed to change "John" to "Jim". We can use $ to do so.

<?php

$blog->update(
    array("comments.author" => "John"),
    array('$set' => array('comments.$.author' => "Jim")));

?>


Security

Request Injection Attacks

If you are passing $_GET (or $_POST) parameters to your queries, make sure that they are cast to strings first. Users can insert associative arrays in GET and POST requests, which could then become unwanted $-queries.

A fairly innocuous example: suppose you are looking up a user's information with the request http://www.example.com?username=bob. Your application does the query $collection->find(array("username" => $_GET['username'])).

Someone could subvert this by getting http://www.example.com?username[$ne]=foo, which PHP will magically turn into an associative array, turning your query into $collection->find(array("username" => array('$ne' => "foo"))), which will return all users not named "foo" (all of your users, probably).

This is a fairly easy attack to defend against: make sure $_GET and $_POST parameters are the type you expect before you send them to the database (cast them to strings, in this case).

Note that this type of attack can be used with any databases interation that locates a document, including updates, upserts, find-and-modifies, and removes.

Thanks to » Phil for pointing this out.

See » the main documentation for more information about SQL-injection-like issues with MongoDB.

Script Injection Attacks

If you are using JavaScript, make sure that any variables that cross the PHP- to-JavaScript boundry are passed in the scope field of MongoCode, not interpolated into the JavaScript string. This can come up when using MongoDB::execute(), $where clauses, MapReduces, group-bys, and any other time you may pass JavaScript into the database.

Nota:

MapReduce ignore the scope field of MongoCode, but there is a scope option on the command that can be used instead.

For example, suppose we have some JavaScript to greet a user in the database logs. We could do:

<?php

// don't do this!

$username = $_POST['username'];
$db->execute("print('Hello, $username!');");

?>

However, what if a malicious user passes in some JavaScript?

<?php

// don't do this!

// $username is set to "'); db.users.drop(); print('"
$db->execute("print('Hello, $username!');");

?>

Now MongoDB executes the JavaScript string "print('Hello, '); db.users.drop(); print('!');". This attack is easy to avoid: use scope to pass variables from PHP to JavaScript:

<?php

$scope = array("user" => $username);
$db->execute(new MongoCode("print('Hello, '+user+'!');", $scope));

?>

This adds a variable user to the JavaScript scope. Now if someone tries to send malicious code, MongoDB will harmlessly print Hello, '); db.dropDatabase(); print('!.

Using scope helps prevent malicious input from being executed by the database. However, you must make sure that your code does not turn around and execute the input anyway! For example, never use the JavaScript eval function on user input:

<?php

// don't do this!

// $jsShellInput is "db.users.drop();"
$scope = array("input" => $jsShellInput);
$db->execute(new MongoCode("eval(input);", $scope));

?>

Always use scope and never allow the database to execute user input as code.


Troubleshooting

If you're having trouble, there are lots of resources you can turn to.

  • IRC

    The official MongoDB IRC room is irc.freenode.net/#mongodb. This is the fastest way to get help.

  • Mailing List

    » MongoDB's mailing list is a good (and usually very fast) way to get answers to questions.

  • Bug Tracker

    Found a bug? Want a feature? Have a question? File it in the » PHP driver's bug tracker.

You can make the driver log all kinds of error messages as E_NOTICE level PHP error messages. Have a look at the MongoLog for an example.


Running the Driver's Tests

The PECL package does not come with the tests, but they are available at » Github.

.phpt Tests

.phpt tests are the standard way of testing PHP extensions. After compiling the MongoDB driver with "make" you can then issue "make test" to run the tests. These tests require MongoDB to be working, and hence, you need to configure the test suite itself.

There is more information on running the tests in the contributing guidelines on » GitHub.

Reporting Errors

Please report any failures or errors in the » bugtracker. There may be skipped tests, these are normal and can be ignored.

New tests are always welcome! Please feel free to contribute new tests of any type testing any functionality.


Core Classes

Índice

  • MongoClient
  • MongoDB
  • MongoCollection
  • MongoCursor
  • MongoCursorInterface
  • MongoCommandCursor
Aviso

Esta extensão está obsoleta. Alternativamente a extensão the MongoDB deve ser utilizada.

The core classes are the most important part of the driver.


The MongoClient class

(PECL mongo >=1.3.0)

Aviso

A extensão que define essa classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a essa classe incluem:

  • MongoDB\Driver\Manager

Introdução

A connection manager for PHP and MongoDB.

This class is used to create and manage connections. A typical use is:

Exemplo #1 MongoClient basic usage

<?php

$m = new MongoClient(); // connect
$db = $m->foo; // get the database named "foo"

?>

See MongoClient::__construct() and the section on connecting for more information about creating connections.

Sinopse da classe

MongoClient {
/* Constantes */
const string VERSION ;
const string DEFAULT_HOST = "localhost" ;
const int DEFAULT_PORT = 27017 ;
const string RP_PRIMARY = "primary" ;
const string RP_PRIMARY_PREFERRED = "primaryPreferred" ;
const string RP_SECONDARY = "secondary" ;
const string RP_SECONDARY_PREFERRED = "secondaryPreferred" ;
const string RP_NEAREST = "nearest" ;
/* Propriedades */
public bool $connected = false ;
public string $status = null ;
protected string $server = null ;
protected bool $persistent = null ;
/* Métodos */
public __construct ( string $server = "mongodb://localhost:27017" , array $options = array("connect" => true) , array $driver_options = ? )
public close ( bool|string $connection = ? ) : bool
public connect ( ) : bool
public dropDB ( mixed $db ) : array
public __get ( string $dbname ) : MongoDB
public static getConnections ( ) : array
public getHosts ( ) : array
public getReadPreference ( ) : array
public getWriteConcern ( ) : array
public killCursor ( string $server_hash , int|MongoInt64 $id ) : bool
public listDBs ( ) : array
public selectCollection ( string $db , string $collection ) : MongoCollection
public selectDB ( string $name ) : MongoDB
public setReadPreference ( string $read_preference , array $tags = ? ) : bool
public setWriteConcern ( mixed $w , int $wtimeout = ? ) : bool
public __toString ( ) : string
}

Constantes pré-definidas

MongoClient Constants

MongoClient::VERSION
PHP driver version. May be suffixed with "dev", "+" or "-" if it is in-between versions.
MongoClient::DEFAULT_HOST
Host to connect to if no host is given.
MongoClient::DEFAULT_PORT
Port to connect to if no port is given.
MongoClient::RP_PRIMARY
Read preference for the primary replica set member.
MongoClient::RP_PRIMARY_PREFERRED
Read preference for preferring the primary replica set member.
MongoClient::RP_SECONDARY
Read preference for a secondary replica set member.
MongoClient::RP_SECONDARY_PREFERRED
Read preference for preferring a secondary replica set member.
MongoClient::RP_NEAREST
Read preference for the nearest replica set member.

Fields

connected

This property will be set to true if we have a open connection to the database, false otherwise. If the connection is to a replica set, this property will only be true if the driver has a connection to a node matching the current read preference. This property does not take authentication into account.

This property is deprecated since version 1.5.0.

status

This property is no longer used and will be set to null In driver versions 1.1.x and earlier, this may be set to a string value (e.g. "recycled", "new") when persistent connections are used.

This property is deprecated since version 1.5.0.

Veja Também

  • Read Preferences
  • Write Concerns
  • Connecting
  • MongoDB core docs on » connecting

Índice

  • MongoClient::close — Closes this connection
  • MongoClient::connect — Connects to a database server
  • MongoClient::__construct — Creates a new database connection object
  • MongoClient::dropDB — Drops a database [deprecated]
  • MongoClient::__get — Gets a database
  • MongoClient::getConnections — Return info about all open connections
  • MongoClient::getHosts — Updates status for all associated hosts
  • MongoClient::getReadPreference — Get the read preference for this connection
  • MongoClient::getWriteConcern — Get the write concern for this connection
  • MongoClient::killCursor — Kills a specific cursor on the server
  • MongoClient::listDBs — Lists all of the databases available
  • MongoClient::selectCollection — Gets a database collection
  • MongoClient::selectDB — Gets a database
  • MongoClient::setReadPreference — Set the read preference for this connection
  • MongoClient::setWriteConcern — Set the write concern for this connection
  • MongoClient::__toString — String representation of this connection


Closes this connection

  • « MongoClient
  • MongoClient::connect »
  • PHP Manual
  • MongoClient
  • Closes this connection

MongoClient::close

(PECL mongo >=1.3.0)

MongoClient::close — Closes this connection

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public MongoClient::close ( bool|string $connection = ? ) : bool

The MongoClient::close() method forcefully closes a connection to the database, even if persistent connections are being used. You should never have to do this under normal circumstances.

Parâmetros

connection

If connection is not given, or false then connection that would be selected for writes would be closed. In a single-node configuration, that is then the whole connection, but if you are connected to a replica set, close() will only close the connection to the primary server.

If connection is true then all connections as known by the connection manager will be closed. This can include connections that are not referenced in the connection string used to create the object that you are calling close on.

If connection is a string argument, then it will only close the connection identified by this hash. Hashes are identifiers for a connection and can be obtained by calling MongoClient::getConnections().

Valor Retornado

Returns if the connection was successfully closed.

Exemplos

Exemplo #1 MongoClient::close() example

This example demonstrates how to selectively close all connections for secondaries only.

<?php
// Connect to a replicaset
$a = new MongoClient("mongodb://whisky:13000/?replicaset=seta");

$connections = $a->getConnections();

foreach ( $connections as $con )
{
    // Loop over all the connections, and when the type is "SECONDARY"
    // we close the connection
    if ( $con['connection']['connection_type_desc'] == "SECONDARY" )
    {
        echo "Closing '{$con['hash']}': ";
        $closed = $a->close( $con['hash'] );
        echo $closed ? "ok" : "failed", "\n";
    }
}
?>

O exemplo acima irá imprimir:

Closing 'whisky:13001;X;4948': ok

Changelog

Versão | Descrição
PECL mongo 1.3.0 | The connection parameter to this function was added in 1.3.0. Before that, only the write connection would be closed by this method.
PECL mongo 1.2.0 | Before version 1.2.0 the driver would not use persistent connections by default, and all connections would be closed as soon as a MongoDB connection went out if scope. Since version 1.2.0 this is no longer the case and it is a bad idea to call close as you might end up overloading the server with connections under high load.

Veja Também

  • MongoClient::getConnections() - Return info about all open connections


Connects to a database server

  • « MongoClient::close
  • MongoClient::__construct »
  • PHP Manual
  • MongoClient
  • Connects to a database server

MongoClient::connect

(PECL mongo >=1.3.0)

MongoClient::connect — Connects to a database server

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public MongoClient::connect ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

If the connection was successful.

Erros

Throws MongoConnectionException if it fails to connect to the database.


Creates a new database connection object

  • « MongoClient::connect
  • MongoClient::dropDB »
  • PHP Manual
  • MongoClient
  • Creates a new database connection object

MongoClient::__construct

(PECL mongo >=1.3.0)

MongoClient::__construct — Creates a new database connection object

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\Driver\Manager::__construct()

Descrição

public MongoClient::__construct
 ( string $server = "mongodb://localhost:27017"
, array $options = array("connect" => true)
, array $driver_options = ?
)

If no parameters are passed, this connects to "localhost:27017" (or whatever was specified in php.ini for mongo.default_host and mongo.default_port).

server should have the form:

mongodb://[username:password@]host1[:port1][,host2[:port2:],...]/db

The connection string always starts with mongodb://, to indicate it is a connection string in this form.

If username and password are specified, the constructor will attempt to authenticate the connection with the database before returning. Username and password are optional and must be followed by an @, if specified.

At least one host must be given (port optional, always defaulting to 27017) and as many hosts as desired may be connected to. Host names are comma-separated and the constructor will return successfully if it connected to at least one host. If it could not connect to any of the hosts, it will throw a MongoConnectionException. Please see the Replica Sets section for information on how to connect to Replica Sets.

If you specified a username and password, you may specify a database to authenticate with. If db is not specified, "admin" will be used.

An optional query string may be used to specify extra options. The same options are supported through the options array as well, and are therefore redescribed there. See the examples below on how to set those options.

One part of the options governs how the driver reads from secondary nodes in a replica set environment. Extra information on how these read preferences work is available as well through the read preferences documentation page.

Parâmetros

server

The server name.

options

An array of options for the connection. Currently available options include:

  • "authMechanism"

    Available mechanisms are:

    authMechanism | Description | Availability
    MONGODB-CR | Authenticate using Challenge Response mechanism. This is the default value. | All MongoDB versions
    MONGODB-X509 | Authenticates using X509 certificates | MongoDB 2.6. Only available when OpenSSL is enabled
    PLAIN | Authenticates using unencrypted plain username+password. Must be used over SSL connections. Generally used by MongoDB to login via 3rd party LDAP server | MongoDB Enterprise 2.4. The Driver must be compiled against CyrusSASL2
    GSSAPI | Authenticates via kerberos systems | MongoDB Enterprise 2.4. The Driver must be compiled against CyrusSASL2
    SCRAM-SHA-1 | Authenticates using SCRAM-SHA-1 | MongoDB 3.0.

  • "authSource"

    Should be set to the database name where the user is defined it.

  • "connect"

    If the constructor should connect before returning. Default is true. When set to false the driver will automatically connect to the server whenever it is necessary to do a query. Alternatively, you can run MongoClient::connect() manually.

    Aviso

    This option is not supported through the connection string.

  • "connectTimeoutMS"

    How long a connection can take to be opened before timing out in milliseconds. Defaults to 60000 (60 seconds).

    If -1 is specified, no connection timeout will be applied and PHP will use default_socket_timeout.

  • "db"

    The database to authenticate against can be specified here, instead of including it in the host list. This overrides a database given in the host list.

  • "fsync"

    When "fsync" is set, all write operations will block until the database has flushed the changes to disk. This makes the write operations slower, but it guarantees that writes have succeeded and that the operations can be recovered in case of total system failure.

    If the MongoDB server has journaling enabled, this option is identical to "journal". If journaling is not enabled, this option ensures that write operations will be synced to database files on disk.

    Nota: If journaling is enabled, users are strongly encouraged to use the "journal" option instead of "fsync". Do not use "fsync" and "journal" simultaneously, as that will result in an error.

  • "journal"

    When "journal" is set, all write operations will block until the database has flushed the changes to the journal on disk. This makes the write operations slower, but it guarantees that writes have succeeded and that the operations can be recovered in case of total system failure.

    Nota: If this option is used and journaling is disabled, MongoDB 2.6+ will raise an error and the write will fail; older server versions will simply ignore the option.

  • "gssapiServiceName"

    Sets the » Kerberos service principal. Only applicable when authMechanism=GSSAPI. Defaults to "mongodb".

  • "password"

    The password can be specified here, instead of including it in the host list. This is especially useful if a password has a "@" in it. This overrides a password set in the host list.

  • "readPreference"

    Specifies the read preference type. Read preferences provide you with control from which secondaries data can be read from.

    Allowed values are: MongoClient::RP_PRIMARY,
MongoClient::RP_PRIMARY_PREFERRED,
MongoClient::RP_SECONDARY,
MongoClient::RP_SECONDARY_PREFERRED and
MongoClient::RP_NEAREST.

    See the documentation on read preferences for more information.

  • "readPreferenceTags"

    Specifies the read preference tags as an array of strings. Tags can be used in combination with the readPreference option to further control which secondaries data might be read from.

    See the documentation on read preferences for more information.

  • "replicaSet"

    The name of the replica set to connect to. If this is given, the primary will be automatically be determined. This means that the driver may end up connecting to a server that was not even listed. See the replica set example below for details.

  • "secondaryAcceptableLatencyMS"

    When reading from a secondary (using ReadPreferences), do not read from secondaries known to be more then secondaryAcceptableLatencyMS away from us. Defaults to 15

  • "socketTimeoutMS"

    How long a socket operation (read or write) can take before timing out in milliseconds. Defaults to 30000 (30 seconds).

    If -1 is specified, socket operations may block indefinitely. This option may also be set on a per-operation basis using MongoCursor::timeout() for queries or the "socketTimeoutMS" option for write methods.

    Nota: This is a client-side timeout. If a write operation times out, there is no way to know if the server actually handled the write or not, as a MongoCursorTimeoutException will be thrown in lieu of returning a write result.

  • "ssl"

    A boolean to specify whether you want to enable SSL for the connections to MongoDB. Extra options such as certificates can be set with Opções de contexto de SSL.

  • "username"

    The username can be specified here, instead of including it in the host list. This is especially useful if a username has a ":" in it. This overrides a username set in the host list.

  • "w"

    The w option specifies the Write Concern for the driver, which determines how long the driver blocks when writing. The default value is 1.

    This option is applicable when connecting to both single servers and replica sets. A positive value controls how many nodes must acknowledge the write instruction before the driver continues. A value of 1 would require the single server or primary (in a replica set) to acknowledge the write operation. A value of 3 would cause the driver to block until the write has been applied to the primary as well as two secondary servers (in a replica set).

    A string value is used to control which tag sets are taken into account for write concerns. "majority" is special and ensures that the write operation has been applied to the majority (more than 50%) of the participating nodes.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable for write operations where "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "slaveOkay"

    Deprecated. Please use the read preference options.

  • "timeout"

    Deprecated alias for "connectTimeoutMS".

  • "wTimeout"

    Deprecated alias for "wTimeoutMS".

driver_options

An array of options for the MongoDB driver. Options include setting connection context options for SSL or logging callbacks.

  • "context"

    The Stream Context to attach to all new connections. This allows you for example to configure SSL certificates and are described at SSL context options. See the Connecting over SSL tutorial.

Valor Retornado

Returns a new database connection object.

Erros

Throws MongoConnectionException if it tries and fails to connect to the database for all hostnames given. It will also throw a MongoConnnectionException if an invalid username or password is given. See MongoConnectionException documentation for common exceptions and their causes.

Exemplos

Exemplo #1 MongoClient::__construct() replica set example

This example shows how to connect the driver to a replica set. It assumes that there is a set of three servers: sf1.example.com, sf2.example.com, and ny1.example.com. The primary could be any one of these servers.

<?php

// pass a comma-separated list of server names to the constructor
// Note that we don't need to pass in all the members of the replicaset, the driver
// will derive the full list.
$m1 = new MongoClient("mongodb://sf2.example.com,ny1.example.com", array("replicaSet" => "myReplSet"));

?>

If the current primary fails, the driver will figure out which secondary server became the new primary and automatically start using that connection. Automatic failover will not work correctly if replicaSet is not specified.

At least one seed in the seed list must be up for the driver to connect to the replica set.

If you include seeds from two separate replica sets, behavior is undefined.

See the » core documentation on replica sets for more information.

Exemplo #2 Connecting to a domain socket

In version 1.0.9+, you can use a UNIX domain socket to connect to an instance of MongoDB running locally. This should be slightly faster than using a network connection.

In version 1.5.0, the MongoDB server automatically opens a socket at /tmp/mongodb-<port>.sock. You can connect to this by specifying the path in your connection string:

<?php

// MongoDB server running locally on port 20000
$m = new MongoClient("mongodb:///tmp/mongodb-20000.sock");

?>

You can combine this with any other connections you'd like:

<?php

// try to connect to the domain socket, fall back to localhost connection
$m = new MongoClient("mongodb:///tmp/mongodb-27017.sock,localhost:27017");

?>

Exemplo #3 MongoClient::__construct() authentication example

A user must exist in the admin database before attempting to use authentication. You can create one with the Mongo shell by running:

> use admin
switched to db admin
> db.addUser("testUser", "testPass");
{
        "_id" : ObjectId("4b21272fd9ab21611d19095c"),
        "user" : "testUser",
        "pwd" : "03b9b27e0abf1865e2f6fcbd9845dd59"
}
>

After creating a user with, in this case, username "testUser" and password "testPass", you can create an authenticated connection:

<?php

$m = new MongoClient("mongodb://testUser:testPass@localhost");

?>

Exemplo #4 MongoClient::__construct() read preference example

<?php

// Prefer the nearest server in the "east" data center
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));
?>

See the read preferences section of this manual for further information.

Exemplo #5 MongoClient::__construct() options example

Options can be passed both through the query string in the connection string, or as an array passed as second argument to the constructor.

Here we set the journal option to true and readPreference to secondary preferred as default for all write operations:

<?php
$m = new MongoClient("mongodb://localhost/?journal=true&readPreference=secondary");
?>

And now we do the same, but as an options array:

<?php
$options = array(
    'journal' => true,
    'readPreference' => 'secondary',
);
$m = new MongoClient("mongodb://localhost/", $options);
?>

Exemplo #6 MongoClient::__construct() read preference example

<?php

// Prefer the nearest server in the "east" data center
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));
?>

See the read preferences section of this manual for further information.

Changelog

Versão | Descrição
PECL mongo 1.6.0

Added support for "SCRAM-SHA-1" in "authMechanism" option.

PECL mongo 1.5.0

Added "authMechanism", "gssapiServiceName", and "secondaryAcceptableLatencyMS".

PECL mongo 1.4.0

Added "ssl" option and support for connecting over SSL.

Added "wTimeoutMS" option, which replaces "wTimeout".

Emits E_DEPRECATED when "slaveOkay" or "timeout" is used.

PECL mongo 1.5.0

Added "authSource".

PECL mongo 1.3.4

Added "connectTimeoutMS" and "socketTimeoutMS" options.

PECL mongo 1.3.0

Added "readPreference", "readPreferenceTags", "w", and "wTimeout" options.

PECL mongo 1.2.0

Added "username" and "password" options.

Removed "persist" option, as all connections are now persistent. It can still be used, but it doesn't affect anything.

"persist"

If the connection should be persistent. If set, the connection will be persistent. The string representation of the value is used as an ID for the connection, so two instances of MongoClient that are initialized with array("persist" => "foobar") will share the same database connection, whereas an instance initialized with array("persist" => "barbaz") will use a different database connection.

The "replicaSet" option now takes a string, not a boolean.

PECL mongo 1.0.9 | Added "replicaSet" option.
PECL mongo 1.0.2

Changed constructor to take an array of options. Pre-1.0.2, the constructor took the following parameters:

server

The server name.

connect

Optional boolean parameter specifying if the constructor should connect to the database before returning. Defaults to true.

persistent

If the connection should be persistent.

paired

If the connection should be paired.


Drops a database [deprecated]

  • « MongoClient::__construct
  • MongoClient::__get »
  • PHP Manual
  • MongoClient
  • Drops a database [deprecated]

MongoClient::dropDB

(PECL mongo >=1.3.0)

MongoClient::dropDB — Drops a database [deprecated]

A extensão que define esse método está obsoleta. Alternativamente, a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão, mas exite uma alternativa nas bibliotecas PHP:

  • » MongoDB\Client::dropDatabase()

Descrição

public MongoClient::dropDB ( mixed $db ) : array
Aviso

Deprecated

Use MongoDB::drop() instead.

Parâmetros

db

The database to drop. Can be a MongoDB object or the name of the database.

Valor Retornado

Returns the database response.


Gets a database

  • « MongoClient::dropDB
  • MongoClient::getConnections »
  • PHP Manual
  • MongoClient
  • Gets a database

MongoClient::__get

(PECL mongo >=1.3.0)

MongoClient::__get — Gets a database

A extensão que define esse método está obsoleta. Alternativamente, a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão, mas exite uma alternativa nas bibliotecas PHP:

  • » MongoDB\Client::__get()

Descrição

public MongoClient::__get ( string $dbname ) : MongoDB

This is the cleanest way of getting a database. If the database name has any special characters, MongoClient::selectDB() will need to be used; however, this should be sufficient for most cases.

<?php

$mongo = new MongoClient();

// the following two lines are equivalent
$db = $mongo->selectDB("foo");
$db = $mongo->foo;

?>

Parâmetros

dbname

The database name.

Valor Retornado

Returns a new db object.

Erros

Throws a generic exception if the database name is invalid.


Return info about all open connections

  • « MongoClient::__get
  • MongoClient::getHosts »
  • PHP Manual
  • MongoClient
  • Return info about all open connections

MongoClient::getConnections

(PECL mongo >=1.3.0)

MongoClient::getConnections — Return info about all open connections

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public static MongoClient::getConnections ( ) : array

Returns an array of all open connections, and information about each of the servers

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of open connections.

Exemplos

Exemplo #1 MongoClient::getConnections() example

<?php
$m = new MongoClient;
var_dump($m->getConnections());
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  array(3) {
    ["hash"]=>
    string(26) "localhost:27017;-;X;56052"
    ["server"]=>
    array(3) {
      ["host"]=>
      string(10) "localhost"
      ["port"]=>
      int(27017)
      ["pid"]=>
      int(56052)
    }
    ["connection"]=>
    array(8) {
      ["last_ping"]=>
      int(1354076401)
      ["last_ismaster"]=>
      int(0)
      ["ping_ms"]=>
      int(0)
      ["connection_type"]=>
      int(1)
      ["connection_type_desc"]=>
      string(10) "STANDALONE"
      ["max_bson_size"]=>
      int(16777216)
      ["tag_count"]=>
      int(0)
      ["tags"]=>
      array(0) {
      }
    }
  }
}


Updates status for all associated hosts

  • « MongoClient::getConnections
  • MongoClient::getReadPreference »
  • PHP Manual
  • MongoClient
  • Updates status for all associated hosts

MongoClient::getHosts

(PECL mongo >=1.3.0)

MongoClient::getHosts — Updates status for all associated hosts

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\Driver\Manager::getServers()

Descrição

public MongoClient::getHosts ( ) : array

This method is only useful with a connection to a replica set. It returns the status of all of the hosts in the set. Without a replica set, it will just return an array with one element containing the host that you are connected to.

See the query section of this manual for information on distributing reads to secondaries.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array of information about the hosts in the set. Includes each host's hostname, its health (1 is healthy), its state (1 is primary, 2 is secondary, 0 is anything else), the amount of time it took to ping the server, and when the last ping occurred. For example, on a three-member replica set, it might look something like:

array(3) {
  ["A:27017"]=>
  array(4) {
    ["host"]=>
    "A"
    ["port"]=>
    27017
    ["health"]=>
    int(1)
    ["state"]=>
    int(2)
    ["ping"]=>
    int(369)
    ["lastPing"]=>
    int(1309470644)
  }
  ["B:27017"]=>
  array(4) {
    ["host"]=>
    "B"
    ["port"]=>
    27017
    ["health"]=>
    int(1)
    ["state"]=>
    int(1)
    ["ping"]=>
    int(139)
    ["lastPing"]=>
    int(1309470644)
  }
  ["C:27017"]=>
  array(4) {
    ["host"]=>
    "C"
    ["port"]=>
    27017
    ["health"]=>
    int(1)
    ["state"]=>
    int(2)
    ["ping"]=>
    int(1012)
    ["lastPing"]=>
    int(1309470644)
  }
}

Changelog

Versão | Descrição
PECL mongo 1.2.10 | Support for non-replicasets was added. The returned array elements now also include the hostname and port.

Veja Também

  • MongoClient::getConnections() - Return info about all open connections


Get the read preference for this connection

  • « MongoClient::getHosts
  • MongoClient::getWriteConcern »
  • PHP Manual
  • MongoClient
  • Get the read preference for this connection

MongoClient::getReadPreference

(PECL mongo >=1.3.0)

MongoClient::getReadPreference — Get the read preference for this connection

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public MongoClient::getReadPreference ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This function returns an array describing the read preference. The array contains the values type for the string read preference mode (corresponding to the MongoClient constants), and tagsets containing a list of all tag set criteria. If no tag sets were specified, tagsets will not be present in the array.

Changelog

Versão | Descrição
PECL mongo 1.3.3 | The return value has changed to be consistent with MongoClient::setReadPreference(). The type value was changed from a number to a string, type_string was removed, and tagsets now expresses tags as key/value pairs instead of colon-delimited strings.

Exemplos

Exemplo #1 MongoClient::getReadPreference() return value example

<?php

$m = new MongoClient();
$m->setReadPreference(MongoClient::RP_SECONDARY, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
    array(),
));
var_dump($m->getReadPreference());
?>

O exemplo acima irá imprimir:

array(2) {
  ["type"]=>
  string(9) "secondary"
  ["tagsets"]=>
  array(3) {
    [0]=>
    array(2) {
      ["dc"]=>
      string(4) "east"
      ["use"]=>
      string(9) "reporting"
    }
    [1]=>
    array(1) {
      ["dc"]=>
      string(7) "west"
    }
    [2]=>
    array(0) {
    }
  }
}

Veja Também

  • The read preferences documentation.
  • MongoClient::setReadPreference() - Set the read preference for this connection


Get the write concern for this connection

  • « MongoClient::getReadPreference
  • MongoClient::killCursor »
  • PHP Manual
  • MongoClient
  • Get the write concern for this connection

MongoClient::getWriteConcern

(PECL mongo >=1.5.0)

MongoClient::getWriteConcern — Get the write concern for this connection

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public MongoClient::getWriteConcern ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This function returns an array describing the write concern. The array contains the values w for an integer acknowledgement level or string mode, and wtimeout denoting the maximum number of milliseconds to wait for the server to satisfy the write concern.

Exemplos

Exemplo #1 MongoClient::getWriteConcern() return value example

<?php

$mc = new MongoClient('mongodb://localhost:27017', array('wTimeoutMS' => 500));
var_dump($mc->getWriteConcern());

$mc->setWriteConcern(1, 1000);
var_dump($mc->getWriteConcern());
?>

O exemplo acima irá imprimir:

array(2) {
  ["w"]=>
  int(1)
  ["wtimeout"]=>
  int(500)
}
array(2) {
  ["w"]=>
  int(1)
  ["wtimeout"]=>
  int(1000)
}

Veja Também

  • The write concern documentation.
  • MongoClient::setWriteConcern() - Set the write concern for this connection


Kills a specific cursor on the server

  • « MongoClient::getWriteConcern
  • MongoClient::listDBs »
  • PHP Manual
  • MongoClient
  • Kills a specific cursor on the server

MongoClient::killCursor

(PECL mongo >=1.5.0)

MongoClient::killCursor — Kills a specific cursor on the server

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public MongoClient::killCursor ( string $server_hash , int|MongoInt64 $id ) : bool

In certain situations it might be needed to kill a cursor on the server. Usually cursors time out after 10 minutes of inactivity, but it is possible to create an immortal cursor with MongoCursor::immortal() that never times out. In order to be able to kill such an immortal cursor, you can call this method with the information supplied by MongoCursor::info().

Parâmetros

server_hash

The server hash that has the cursor. This can be obtained through MongoCursor::info().

id

The ID of the cursor to kill. You can either supply an int containing the 64 bit cursor ID, or an object of the MongoInt64 class. The latter is necessary on 32 bit platforms (and Windows).

Valor Retornado

Returns true if the method attempted to kill a cursor, and false if there was something wrong with the arguments (such as a wrong server_hash). The return status does not reflect where the cursor was actually killed as the server does not provide that information.

Erros

This method displays a warning if the supplied server_hash does not match up with an existing connection. No attempt to kill a cursor is attempted in that case either.

Exemplos

Exemplo #1 MongoClient::killCursor() example

This example shows how to connect, do a query, obtain the cursor information and then kill the cursor.

<?php
$m = new MongoClient();
$c = $m->testdb->collection;
$cursor = $c->find();
$result = $cursor->next();

// Now the cursor is valid, so we can get the hash and ID out:
$info = $cursor->info();

// Kill the cursor
MongoClient::killCursor( $info['server'], $info['id'] );
?>


Lists all of the databases available

  • « MongoClient::killCursor
  • MongoClient::selectCollection »
  • PHP Manual
  • MongoClient
  • Lists all of the databases available

MongoClient::listDBs

(PECL mongo >=1.3.0)

MongoClient::listDBs — Lists all of the databases available

A extensão que define esse método está obsoleta. Alternativamente, a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão, mas exite uma alternativa nas bibliotecas PHP:

  • » MongoDB\Client::listDatabases()

Descrição

public MongoClient::listDBs ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an associative array containing three fields. The first field is databases, which in turn contains an array. Each element of the array is an associative array corresponding to a database, giving th database's name, size, and if it's empty. The other two fields are totalSize (in bytes) and ok, which is 1 if this method ran successfully.

Exemplos

Exemplo #1 MongoClient::listDBs() example

Example demonstrating how to use listDBs and the returned data structure.

<?php

$mongo = new MongoClient();
$dbs = $mongo->listDBs();
print_r($dbs);

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [databases] => Array
        (
            [0] => Array
                (
                    [name] => doctrine
                    [sizeOnDisk] => 218103808
                    [empty] =>
                )
        )

    [totalSize] => 218103808
    [ok] => 1
)


Gets a database collection

  • « MongoClient::listDBs
  • MongoClient::selectDB »
  • PHP Manual
  • MongoClient
  • Gets a database collection

MongoClient::selectCollection

(PECL mongo >=1.3.0)

MongoClient::selectCollection — Gets a database collection

A extensão que define esse método está obsoleta. Alternativamente, a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão, mas exite uma alternativa nas bibliotecas PHP:

  • » MongoDB\Client::selectCollection()

Descrição

public MongoClient::selectCollection ( string $db , string $collection ) : MongoCollection

Parâmetros

db

The database name.

collection

The collection name.

Valor Retornado

Returns a new collection object.

Erros

Throws Exception if the database or collection name is invalid.

Exemplos

Exemplo #1 MongoClient::selectCollection() example

<?php
$m = new MongoClient();

$c1 = $m->selectCollection("foo", "bar.baz");
// which is equivalent to
$c2 = $m->selectDB("foo")->selectCollection("bar.baz");

// $c1 and $c2 now represent the same collection
?>


Gets a database

  • « MongoClient::selectCollection
  • MongoClient::setReadPreference »
  • PHP Manual
  • MongoClient
  • Gets a database

MongoClient::selectDB

(PECL mongo >=1.3.0)

MongoClient::selectDB — Gets a database

A extensão que define esse método está obsoleta. Alternativamente, a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão, mas exite uma alternativa nas bibliotecas PHP:

  • » MongoDB\Client::selectDatabase()

Descrição

public MongoClient::selectDB ( string $name ) : MongoDB

Parâmetros

name

The database name.

Valor Retornado

Returns a new database object.

Erros

Throws Exception if the database name is invalid.


Set the read preference for this connection

  • « MongoClient::selectDB
  • MongoClient::setWriteConcern »
  • PHP Manual
  • MongoClient
  • Set the read preference for this connection

MongoClient::setReadPreference

(PECL mongo >=1.3.0)

MongoClient::setReadPreference — Set the read preference for this connection

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public MongoClient::setReadPreference ( string $read_preference , array $tags = ? ) : bool

Parâmetros

read_preference

The read preference mode: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, ou MongoClient::RP_NEAREST.

tags

An array of zero or more tag sets, where each tag set is itself an array of criteria used to match tags on replica set members.

Valor Retornado

Returns true on success, or false otherwise.

Erros

Emits E_WARNING if either parameter is invalid, or if one or more tag sets are provided with the MongoClient::RP_PRIMARY read preference mode.

Exemplos

Exemplo #1 MongoClient::setReadPreference() tag set array syntax example

<?php

$m = new MongoClient();

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$m->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));
?>

Veja Também

  • The read preferences documentation.
  • MongoClient::getReadPreference() - Get the read preference for this connection


Set the write concern for this connection

  • « MongoClient::setReadPreference
  • MongoClient::__toString »
  • PHP Manual
  • MongoClient
  • Set the write concern for this connection

MongoClient::setWriteConcern

(PECL mongo >=1.5.0)

MongoClient::setWriteConcern — Set the write concern for this connection

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public MongoClient::setWriteConcern ( mixed $w , int $wtimeout = ? ) : bool

Parâmetros

w

The write concern. This may be an integer denoting the number of servers required to acknowledge the write, or a string mode (e.g. "majority").

wtimeout

The maximum number of milliseconds to wait for the server to satisfy the write concern.

Valor Retornado

Returns true on success, or false otherwise.

Erros

Emits E_WARNING if the w parameter is not an integer or string value.

Exemplos

Exemplo #1 MongoClient::setWriteConcern() example

<?php

$mc = new MongoClient('mongodb://rs1.example.com,rs2.example.com');

// Require that the majority of servers in the replica set acknowledge writes
// within three seconds.
$mc->setWriteConcern('majority', 3000);
?>

Veja Também

  • The write concern documentation.
  • MongoClient::getWriteConcern() - Get the write concern for this connection


String representation of this connection

  • « MongoClient::setWriteConcern
  • MongoDB »
  • PHP Manual
  • MongoClient
  • String representation of this connection

MongoClient::__toString

(PECL mongo >=1.3.0)

MongoClient::__toString — String representation of this connection

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public MongoClient::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns hostname and port for this connection.


The MongoDB class

(PECL mongo >=0.9.0)

Introdução

Instances of this class are used to interact with a database. To get a database:

Exemplo #1 Selecting a database

<?php

$m = new MongoClient(); // connect
$db = $m->selectDB("example");

?>
Database names can use almost any character in the ASCII range. However, they cannot contain " ", "." or be the empty string. The name "system" is also reserved.

A few unusual, but valid, database names: "null", "[x,y]", "3", "\"", "/".

Unlike collection names, database names may contain "$".

Sinopse da classe

MongoDB {
/* Constantes */
const int PROFILING_OFF = 0 ;
const int PROFILING_SLOW = 1 ;
const int PROFILING_ON = 2 ;
/* Fields */
public int $w = 1 ;
public int $wtimeout = 10000 ;
/* Métodos */
public authenticate ( string $username , string $password ) : array
public command ( array $command , array $options = array() , string &$hash = ? ) : array
public __construct ( MongoClient $conn , string $name )
public createCollection ( string $name , array $options = ? ) : MongoCollection
public createDBRef ( string $collection , mixed $document_or_id ) : array
public drop ( ) : array
public dropCollection ( mixed $coll ) : array
public execute ( mixed $code , array $args = array() ) : array
public forceError ( ) : bool
public __get ( string $name ) : MongoCollection
public getCollectionInfo ( array $options = array() ) : array
public getCollectionNames ( array $options = array() ) : array
public getDBRef ( array $ref ) : array
public getGridFS ( string $prefix = "fs" ) : MongoGridFS
public getProfilingLevel ( ) : int
public getReadPreference ( ) : array
public getSlaveOkay ( ) : bool
public getWriteConcern ( ) : array
public lastError ( ) : array
public listCollections ( array $options = array() ) : array
public prevError ( ) : array
public repair ( bool $preserve_cloned_files = false , bool $backup_original_files = false ) : array
public resetError ( ) : array
public selectCollection ( string $name ) : MongoCollection
public setProfilingLevel ( int $level ) : int
public setReadPreference ( string $read_preference , array $tags = ? ) : bool
public setSlaveOkay ( bool $ok = true ) : bool
public setWriteConcern ( mixed $w , int $wtimeout = ? ) : bool
public __toString ( ) : string
}

Constantes pré-definidas

MongoDB Log Levels

MongoDB::PROFILING_OFF
Profiling is off.
MongoDB::PROFILING_SLOW
Profiling is on for slow operations (>100 ms).
MongoDB::PROFILING_ON
Profiling is on for all operations.

Fields

w
1

The number of servers to replicate a change to before returning success. Inherited by instances of MongoCollection derived from this. w functionality is only available in version 1.5.1+ of the MongoDB server and 1.0.8+ of the driver.

w is used whenever you need to adjust the acknowledgement level (MongoCollection::insert(), MongoCollection::update(), MongoCollection::remove(), MongoCollection::save(), and MongoCollection::ensureIndex() all support this option). With the default value (1), an acknowledged operation will return once the database server has the operation. If the server goes down before the operation has been replicated to a secondary, it is possible to lose the operation forever. Thus, you can specify w to be higher than one and guarantee that at least one secondary has the operation before it is considered successful.

For example, if w is 2, the primary and one secondary must have a record of the operation or the driver will throw a MongoCursorException. It is tempting to set w to the total number of secondaries + primary, but then if one secondary is down the operation will fail and an exception will be thrown, so usually w=2 is safest (primary and one secondary).

wtimeout
10000

The number of milliseconds to wait for MongoDB::$w replications to take place. Inherited by instances of MongoCollection derived from this. w functionality is only available in version 1.5.1+ of the MongoDB server and 1.0.8+ of the driver.

Unless wtimeout is set, the server waits forever for replicating to w servers to finish. The driver defaults to waiting for 10 seconds, you can change this value to alter its behavior.

Veja Também

MongoDB core docs on » databases.

Índice

  • MongoDB::authenticate — Log in to this database
  • MongoDB::command — Execute a database command
  • MongoDB::__construct — Creates a new database
  • MongoDB::createCollection — Creates a collection
  • MongoDB::createDBRef — Creates a database reference
  • MongoDB::drop — Drops this database
  • MongoDB::dropCollection — Drops a collection [deprecated]
  • MongoDB::execute — Runs JavaScript code on the database server [deprecated]
  • MongoDB::forceError — Creates a database error
  • MongoDB::__get — Gets a collection
  • MongoDB::getCollectionInfo — Returns information about collections in this database
  • MongoDB::getCollectionNames — Gets an array of names for all collections in this database
  • MongoDB::getDBRef — Fetches the document pointed to by a database reference
  • MongoDB::getGridFS — Fetches toolkit for dealing with files stored in this database
  • MongoDB::getProfilingLevel — Gets this database's profiling level
  • MongoDB::getReadPreference — Get the read preference for this database
  • MongoDB::getSlaveOkay — Get slaveOkay setting for this database
  • MongoDB::getWriteConcern — Get the write concern for this database
  • MongoDB::lastError — Check if there was an error on the most recent db operation performed
  • MongoDB::listCollections — Gets an array of MongoCollection objects for all collections in this database
  • MongoDB::prevError — Checks for the last error thrown during a database operation
  • MongoDB::repair — Repairs and compacts this database
  • MongoDB::resetError — Clears any flagged errors on the database
  • MongoDB::selectCollection — Gets a collection
  • MongoDB::setProfilingLevel — Sets this database's profiling level
  • MongoDB::setReadPreference — Set the read preference for this database
  • MongoDB::setSlaveOkay — Change slaveOkay setting for this database
  • MongoDB::setWriteConcern — Set the write concern for this database
  • MongoDB::__toString — The name of this database


Log in to this database

  • « MongoDB
  • MongoDB::command »
  • PHP Manual
  • MongoDB
  • Log in to this database

MongoDB::authenticate

(PECL mongo >=1.0.1)

MongoDB::authenticate — Log in to this database

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Instead, you need to provide credentials through the connection string.

Descrição

public MongoDB::authenticate ( string $username , string $password ) : array

This method causes its connection to be authenticated. If authentication is enabled for the database server (it's not, by default), you need to log in before the database will allow you to do anything.

In general, you should use the authenticate built into MongoClient::__construct() in preference to this method. If you authenticate on connection and the connection drops and reconnects during your session, you'll be reauthenticated. If you manually authenticated using this method and the connection drops, you'll have to call this method again once you're reconnected.

This method is identical to running:

<?php

$salted = "${username}:mongo:${password}";
$hash = md5($salted);

$nonce = $db->command(array("getnonce" => 1));

$saltedHash = md5($nonce["nonce"]."${username}${hash}");

$result = $db->command(array("authenticate" => 1,
    "user" => $username,
    "nonce" => $nonce["nonce"],
    "key" => $saltedHash
));

?>

Once a connection has been authenticated, it can only be un-authenticated by using the "logout" database command:

<?php

$db->command(array("logout" => 1));

?>

Parâmetros

username

The username.

password

The password (in plaintext).

Valor Retornado

Returns database response. If the login was successful, it will return

<?php
array("ok" => 1);
?>
If something went wrong, it will return
<?php
array("ok" => 0, "errmsg" => "auth fails");
?>
("auth fails" could be another message, depending on database version and what when wrong).

Veja Também

MongoDB core docs on » authenticate.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used. Please pass in the authentication details to the constructor.


Execute a database command

  • « MongoDB::authenticate
  • MongoDB::__construct »
  • PHP Manual
  • MongoDB
  • Execute a database command

MongoDB::command

(PECL mongo >=0.9.2)

MongoDB::command — Execute a database command

Descrição

public MongoDB::command ( array $command , array $options = array() , string &$hash = ? ) : array

Almost everything that is not a CRUD operation can be done with a database command. Need to know the database version? There's a command for that. Need to do aggregation? There's a command for that. Need to turn up logging? You get the idea.

This method is identical to:

<?php

public function command($data) {
    return $this->selectCollection('$cmd')->findOne($data);
}

?>

Parâmetros

command

The query to send.

options

An array of options for the index creation. Currently available options include:

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

The following options are deprecated and should no longer be used:

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

hash

Set to the connection hash of the server that executed the command. When the command result is suitable for creating a MongoCommandCursor, the hash is intended to be passed to MongoCommandCursor::createFromDocument().

The hash will also correspond to a connection returned from MongoClient::getConnections().

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Renamed the "timeout" option to "socketTimeoutMS". Emits E_DEPRECATED when "timeout" is used. Added hash by-reference parameter.
PECL mongo 1.2.0 | Added options parameter with a single option: "timeout".

Valor Retornado

Returns database response. Every database response is always maximum one document, which means that the result of a database command can never exceed 16MB. The resulting document's structure depends on the command, but most results will have the ok field to indicate success or failure and results containing an array of each of the resulting documents.

Exemplos

Exemplo #1 MongoDB::command() "distinct" example

Finding all of the distinct values for a key.

<?php

$people = $db->people;

$people->insert(array("name" => "Joe", "age" => 4));
$people->insert(array("name" => "Sally", "age" => 22));
$people->insert(array("name" => "Dave", "age" => 22));
$people->insert(array("name" => "Molly", "age" => 87));

$ages = $db->command(array("distinct" => "people", "key" => "age"));

foreach ($ages['values'] as $age) {
    echo "$age\n";
}

?>

O exemplo acima irá imprimir algo similar à:

4
22
87

Exemplo #2 MongoDB::command() "distinct" example

Finding all of the distinct values for a key, where the value is larger than or equal to 18.

<?php

$people = $db->people;

$people->insert(array("name" => "Joe", "age" => 4));
$people->insert(array("name" => "Sally", "age" => 22));
$people->insert(array("name" => "Dave", "age" => 22));
$people->insert(array("name" => "Molly", "age" => 87));

$ages = $db->command(
    array(
        "distinct" => "people",
        "key" => "age",
        "query" => array("age" => array('$gte' => 18))
    )
);

foreach ($ages['values'] as $age) {
    echo "$age\n";
}

?>

O exemplo acima irá imprimir algo similar à:

22
87

Exemplo #3 MongoDB::command() MapReduce example

Get all users with at least on "sale" event, and how many times each of these users has had a sale.

<?php

// sample event document
$events->insert(array("user_id" => $id,
    "type" => $type,
    "time" => new MongoDate(),
    "desc" => $description));

// construct map and reduce functions
$map = new MongoCode("function() { emit(this.user_id,1); }");
$reduce = new MongoCode("function(k, vals) { ".
    "var sum = 0;".
    "for (var i in vals) {".
        "sum += vals[i];".
    "}".
    "return sum; }");

$sales = $db->command(array(
    "mapreduce" => "events",
    "map" => $map,
    "reduce" => $reduce,
    "query" => array("type" => "sale"),
    "out" => array("merge" => "eventCounts")));

$users = $db->selectCollection($sales['result'])->find();

foreach ($users as $user) {
    echo "{$user['_id']} had {$user['value']} sale(s).\n";
}

?>

O exemplo acima irá imprimir algo similar à:

User 47cc67093475061e3d9536d2 had 3 sale(s).
User 49902cde5162504500b45c2c had 14 sale(s).
User 4af467e4fd543cce7b0ea8e2 had 1 sale(s).

Nota: Using MongoCode

This example uses MongoCode, which can also take a scope argument. However, at the moment, MongoDB does not support using scopes in MapReduce. If you would like to use client-side variables in the MapReduce functions, you can add them to the global scope by using the optional scope field with the database command. See the » MapReduce documentation for more information.

Nota: The out argument

Before 1.8.0, the out argument was optional. If you did not use it, MapReduce results would be written to a temporary collection, which would be deleted when your connection was closed. In 1.8.0+, the out argument is required. See the » MapReduce documentation for more information.

Exemplo #4 MongoDB::command() "geoNear" example

This example shows how to use the geoNear command.

<?php
$m = new MongoClient();
$d = $m->demo;
$c = $d->poiConcat;

$r = $d->command(array(
    'geoNear' => "poiConcat",      // Search in the poiConcat collection
    'near' => array(-0.08, 51.48), // Search near 51.48°N, 0.08°E
    'spherical' => true,           // Enable spherical search
    'num' => 5,                    // Maximum 5 returned documents
));
print_r($r);
?>

Veja Também

  • MongoCollection::aggregate() - Perform an aggregation using the aggregation framework
  • MongoCollection::findAndModify() - Update a document and return it
  • MongoCollection::group() - Performs an operation similar to SQL's GROUP BY command

MongoDB core docs on » database commands.


Creates a new database

  • « MongoDB::command
  • MongoDB::createCollection »
  • PHP Manual
  • MongoDB
  • Creates a new database

MongoDB::__construct

(PECL mongo >=0.9.0)

MongoDB::__construct — Creates a new database

Descrição

public MongoDB::__construct ( MongoClient $conn , string $name )

This method is not meant to be called directly. The preferred way to create an instance of MongoDB is through MongoClient::__get() or MongoClient::selectDB().

If you're ignoring the previous paragraph and want to call it directly you can do so:

<?php

$m = new MongoClient();
$db = new MongoDB($m, 'mydbname');

?>

But don't. Isn't this much nicer:

<?php

$m = new MongoClient();
$db = $m->mydbname;

// or, if the name contains weird characters:

$db = $m->selectDB('my,db:name');

?>

Parâmetros

MongoClient conn

Database connection.

name

Database name.

Valor Retornado

Returns the database.

Erros

Throws default exception if the database name is invalid.


Creates a collection

  • « MongoDB::__construct
  • MongoDB::createDBRef »
  • PHP Manual
  • MongoDB
  • Creates a collection

MongoDB::createCollection

(PECL mongo >=0.9.0)

MongoDB::createCollection — Creates a collection

Descrição

public MongoDB::createCollection ( string $name , array $options = ? ) : MongoCollection

This method is used to create capped collections and other collections requiring special options. It is identical to running:

<?php

$collection = $db->command(array(
    "create" => $name,
    "capped" => $options["capped"],
    "size" => $options["size"],
    "max" => $options["max"],
    "autoIndexId" => $options["autoIndexId"],
));

?>
See MongoDB::command() for more information about database commands.

Parâmetros

name

The name of the collection.

options

An array containing options for the collections. Each option is its own element in the options array, with the option name listed below being the key of the element. The supported options depend on the MongoDB server version and storage engine, and the driver passes any option that you give it straight to the server. A few of the supported options are, but you can find a full list in the MongoDB core docs on » createCollection:

capped

If the collection should be a fixed size.

size

If the collection is fixed size, its size in bytes.

max

If the collection is fixed size, the maximum number of elements to store in the collection.

autoIndexId

If capped is true you can specify false to disable the automatic index created on the _id field. Before MongoDB 2.2, the default value for autoIndexId was false.

Valor Retornado

Returns a collection object representing the new collection.

Exemplos

Exemplo #1 MongoDB::createCollection() capped collection example

A capped collection is a special type of collection that has either a fixed or a fixed number of elements. Once the collection is "full," the oldest elements will be removed when new elements are added. Capped collections can be very useful for applications like logging, where you may want to reserve a certain amount of space for logs and not worry about them getting too big.

This example creates a very tiny log collection that will keep a maximum of 10 documents.

<?php

$log = $db->createCollection(
    "logger",
    array(
        'capped' => true,
        'size' => 10*1024,
        'max' => 10
    )
);

for ($i = 0; $i < 100; $i++) {
    $log->insert(array("level" => WARN, "msg" => "sample log message #$i", "ts" => new MongoDate()));
}

$msgs = $log->find();

foreach ($msgs as $msg) {
    echo $msg['msg']."\n";
}

?>

O exemplo acima irá imprimir algo similar à:

sample log message #90
sample log message #91
sample log message #92
sample log message #93
sample log message #94
sample log message #95
sample log message #96
sample log message #97
sample log message #98
sample log message #99

Changelog

Versão Descrição
PECL mongo 1.4.0

In versions before 1.4.0, the options were all arguments to the method. The function synopsis in those older versions is:

public MongoDB::createCollection ( string $name , bool $capped = false , int $size = 0 , int $max = 0 ) : MongoCollection

The meaning of the options is the same as described under the options argument above.


Creates a database reference

  • « MongoDB::createCollection
  • MongoDB::drop »
  • PHP Manual
  • MongoDB
  • Creates a database reference

MongoDB::createDBRef

(PECL mongo >=0.9.0)

MongoDB::createDBRef — Creates a database reference

Descrição

public MongoDB::createDBRef ( string $collection , mixed $document_or_id ) : array

This method is a flexible interface for creating database refrences (see MongoDBRef).

Parâmetros

collection

The collection to which the database reference will point.

document_or_id

If an array or object is given, its _id field will be used as the reference ID. If a MongoId or scalar is given, it will be used as the reference ID.

Valor Retornado

Returns a database reference array.

If an array without an _id field was provided as the document_or_id parameter, null will be returned.

Exemplos

Exemplo #1 MongoDB::createDBRef() example

Example demonstrating how to programatically create a DB reference array from a document.

<?php

$articles = $db->articles;

$article = array(
 'title' => 'Test article',
 'description' => 'Test article description'
);

$articles->insert($article);
$ref = $db->createDBRef('articles', $article);

print_r($article);
print_r($ref);
?>

O exemplo acima irá imprimir algo similar à:

     Array
     (
         [title] => Test article
         [description] => Test article description
         [_id] => MongoId Object
             (
             )

     )
     Array
     (
         [$ref] => articles
         [$id] => MongoId Object
             (
             )

     )

Now the $ref can be stored on another document and retrieved later with MongoDB::getDBRef() or MongoCollection::getDBRef().

Exemplo #2 MongoDB::createDBRef() example

Example demonstrating how to programatically create a DB reference from just an id.

<?php

$id = new MongoId('47cc67093475061e3d9536d2');
$ref = $db->createDBRef('articles', $id);
?>


Drops this database

  • « MongoDB::createDBRef
  • MongoDB::dropCollection »
  • PHP Manual
  • MongoDB
  • Drops this database

MongoDB::drop

(PECL mongo >=0.9.0)

MongoDB::drop — Drops this database

Descrição

public MongoDB::drop ( ) : array

This drops the database currently being used.

This is identical to running:

<?php

public function drop() {
    $this->command(array("dropDatabase" => 1));
}

?>

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the database response.

Exemplos

Exemplo #1 MongoDB::drop() example

This example demonstrates how to drop a mongo database and the response to expect.

<?php

$db = $mongo->foo;
$response = $db->drop();
print_r($response);

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [dropped] => foo.$cmd
    [ok] => 1
)


Drops a collection [deprecated]

  • « MongoDB::drop
  • MongoDB::execute »
  • PHP Manual
  • MongoDB
  • Drops a collection [deprecated]

MongoDB::dropCollection

(PECL mongo >=0.9.0)

MongoDB::dropCollection — Drops a collection [deprecated]

Descrição

public MongoDB::dropCollection ( mixed $coll ) : array
Aviso

Deprecated

Use MongoCollection::drop() instead.

This function leaks memory in version 1.0.7 and earlier!

Parâmetros

coll

MongoCollection or name of collection to drop.

Valor Retornado

Returns the database response.


Runs JavaScript code on the database server [deprecated]

  • « MongoDB::dropCollection
  • MongoDB::forceError »
  • PHP Manual
  • MongoDB
  • Runs JavaScript code on the database server [deprecated]

MongoDB::execute

(PECL mongo >=0.9.3)

MongoDB::execute — Runs JavaScript code on the database server [deprecated]

Descrição

public MongoDB::execute ( mixed $code , array $args = array() ) : array
Aviso

The » eval command, which this method invokes, is deprecated in MongoDB 3.0+.

The Mongo database server runs a JavaScript engine. This method allows you to run arbitary JavaScript on the database. This can be useful if you want touch a number of collections lightly, or process some results on the database side to reduce the amount that has to be sent to the client.

Running JavaScript in the database takes a write lock, meaning it blocks other operations. Make sure you consider this before running a long script.

This is a wrapper for the » eval database command. This method is basically:

<?php

public function execute($code, $args) {
    return $this->command(array('eval' => $code, 'args' => $args));
}

?>

MongoDB implies a return statement if you have a single statement on a single line. This can cause some unintuitive behavior. For example, this returns "foo":

<?php

$db->execute('"foo";');

?>

However, these return null:

<?php

$db->execute('"bar"; "foo";'); // more than one statement

$db->execute('db.foo.count(
);'); // more than one line

?>

To avoid surprising behavior, it is best not to depend on MongoDB to decide what to return, but to explicitly state a return value. In the examples above, we can change them to:

<?php

$db->execute('"bar"; return "foo";');

$db->execute('return db.foo.count(
);');

?>

Now the first statement will return "foo" and the second statement will return a count of the "foo" collection.

Parâmetros

code

MongoCode or string to execute.

args

Arguments to be passed to code.

Valor Retornado

Returns the result of the evaluation.

Exemplos

Exemplo #1 Simple MongoDB::execute() example

<?php

$response = $db->execute("function() { return 'Hello, world!'; }");
echo $response['retval'];

?>

O exemplo acima irá imprimir algo similar à:

Hello, world!

Exemplo #2 Parameter MongoDB::execute() example

The optional array of parameters will be passed to the JavaScript function.

<?php

$response = $db->execute("function(greeting, name) { return greeting+', '+name+'!'; }", array("Good bye", "Joe"));
echo $response['retval'];

?>

O exemplo acima irá imprimir algo similar à:

Good bye, Joe!

Exemplo #3 Scope example

If a MongoCode object is used instead of a string for the first parameter, a scope can be passed in which the JavaScript will be executed.

<?php

$func =
    "function(greeting, name) { ".
        "return greeting+', '+name+', says '+greeter;".
    "}";
$scope = array("greeter" => "Fred");

$code = new MongoCode($func, $scope);

$response = $db->execute($code, array("Goodbye", "Joe"));
echo $response['retval'];

?>

O exemplo acima irá imprimir algo similar à:

Goodbye, Joe, says Fred

Veja Também

  • The MongoDB » eval command docs

Changelog

Versão | Descrição
PECL mongo 1.7.0 | This method has been deprecated as a result of the underlaying » eval command being deprecated in MongoDB 3.0+.


Creates a database error

  • « MongoDB::execute
  • MongoDB::__get »
  • PHP Manual
  • MongoDB
  • Creates a database error

MongoDB::forceError

(PECL mongo >=0.9.5)

MongoDB::forceError — Creates a database error

Descrição

public MongoDB::forceError ( ) : bool

This method is not very useful for normal MongoDB use. It forces a database error to occur. This means that MongoDB::lastError() will return a generic database error after running this command.

This command is identical to running:

<?php

public function forceError() {
    return $this->command(array('forceerror' => 1));
}

?>

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the database response.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.


Gets a collection

  • « MongoDB::forceError
  • MongoDB::getCollectionInfo »
  • PHP Manual
  • MongoDB
  • Gets a collection

MongoDB::__get

(PECL mongo >=1.0.2)

MongoDB::__get — Gets a collection

Descrição

public MongoDB::__get ( string $name ) : MongoCollection

This is the easiest way of getting a collection from a database object. If a collection name contains strange characters, you may have to use MongoDB::selectCollection() instead.

<?php

$mongo = new MongoClient();

// the following two lines are equivalent
$collection = $mongo->selectDB("foo")->selectCollection("bar");
$collection = $mongo->foo->bar;

?>

Parâmetros

name

The name of the collection.

Valor Retornado

Returns the collection.


Returns information about collections in this database

  • « MongoDB::__get
  • MongoDB::getCollectionNames »
  • PHP Manual
  • MongoDB
  • Returns information about collections in this database

MongoDB::getCollectionInfo

(PECL mongo >=1.6.0)

MongoDB::getCollectionInfo — Returns information about collections in this database

Descrição

public MongoDB::getCollectionInfo ( array $options = array() ) : array

Gets a list of all collections in the database and returns them as an array of documents, which contain their names and options.

Nota: This method will use the » listCollections database command when communicating with MongoDB 2.8+. For previous database versions, the method will query the special system.namespaces collection.

Parâmetros

options

An array of options for listing the collections. Currently available options include:

  • "filter"

    Optional query criteria. If provided, this criteria will be used to filter the collections included in the result.

    Relevant fields that may be queried include "name" (collection name as a string, without the database name prefix) and "options" (object containing options used to create the collection)..

    Nota: MongoDB 2.6 and earlier versions require the "name" criteria, if specified, to be a string value (i.e. equality match). This is because the driver must prefix the value with the database name in order to query the system.namespaces collection. Later versions of MongoDB do not have this limitation, as the driver will use the listCollections command.

  • "includeSystemCollections"

    Boolean, defaults to false. Determines whether system collections should be included in the result.

The following option may be used with MongoDB 2.8+:

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation on the server (does not include idle time). If the operation is not completed by the server within the timeout period, a MongoExecutionTimeoutException will be thrown.

Valor Retornado

This function returns an array where each element is an array describing a collection. Elements will contain a name key denoting the name of the collection, and optionally contain an options key denoting an array of objects used to create the collection. For example, capped collections will include capped and size options.

Erros

For MongoDB 2.6 and earlier, MongoException will be thrown if a non-string value was specified for the "filter" option's "name" criteria.

Exemplos

Exemplo #1 MongoDB::getCollectionInfo() example

<?php
$m = new MongoClient();
$db = $m->selectDB("demo");
var_dump($db->getCollectionInfo());
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  [0]=>
  array(2) {
    ["name"]=>
    string(4) "logs"
    ["options"]=>
    array(2) {
      ["capped"]=>
      bool(true)
      ["size"]=>
      int(10240)
    }
  }
  [1]=>
  array(2) {
    ["name"]=>
    string(5) "users"
    ["options"]=>
    array(1) {
      ["flags"]=>
      int(1)
    }
  }
}

Veja Também

  • MongoDB::getCollectionNames() - Gets an array of names for all collections in this database
  • MongoDB::listCollections() - Gets an array of MongoCollection objects for all collections in this database


Gets an array of names for all collections in this database

  • « MongoDB::getCollectionInfo
  • MongoDB::getDBRef »
  • PHP Manual
  • MongoDB
  • Gets an array of names for all collections in this database

MongoDB::getCollectionNames

(PECL mongo >=1.3.0)

MongoDB::getCollectionNames — Gets an array of names for all collections in this database

Descrição

public MongoDB::getCollectionNames ( array $options = array() ) : array

Gets a list of all collections in the database and returns their names as an array of strings.

Nota: This method will use the » listCollections database command when communicating with MongoDB 2.8+. For previous database versions, the method will query the special system.namespaces collection.

Parâmetros

options

An array of options for listing the collections. Currently available options include:

  • "filter"

    Optional query criteria. If provided, this criteria will be used to filter the collections included in the result.

    Relevant fields that may be queried include "name" (collection name as a string, without the database name prefix) and "options" (object containing options used to create the collection)..

    Nota: MongoDB 2.6 and earlier versions require the "name" criteria, if specified, to be a string value (i.e. equality match). This is because the driver must prefix the value with the database name in order to query the system.namespaces collection. Later versions of MongoDB do not have this limitation, as the driver will use the listCollections command.

  • "includeSystemCollections"

    Boolean, defaults to false. Determines whether system collections should be included in the result.

The following option may be used with MongoDB 2.8+:

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation on the server (does not include idle time). If the operation is not completed by the server within the timeout period, a MongoExecutionTimeoutException will be thrown.

Valor Retornado

Returns the collection names as an array of strings.

Erros

For MongoDB 2.6 and earlier, MongoException will be thrown if a non-string value was specified for the "filter" option's "name" criteria.

Changelog

Versão | Descrição
PECL mongo 1.6.0 | Changed first parameter to be an array of options. Pre-1.6.0, the first parameter was a boolean indicating the "includeSystemCollections" option.

Exemplos

Exemplo #1 MongoDB::getCollectionNames() example

<?php
$m = new MongoClient();
$db = $m->selectDB("demo");
$collections = $db->getCollectionNames();

foreach ($collections as $collectionName) {
    echo "Found collection: ", $collectionName, "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

...
Found collection: img
Found collection: beer
Found collection: collation
...

Veja Também

  • MongoDB::listCollections() - Gets an array of MongoCollection objects for all collections in this database
  • MongoDB::getCollectionInfo() - Returns information about collections in this database


Fetches the document pointed to by a database reference

  • « MongoDB::getCollectionNames
  • MongoDB::getGridFS »
  • PHP Manual
  • MongoDB
  • Fetches the document pointed to by a database reference

MongoDB::getDBRef

(PECL mongo >=0.9.0)

MongoDB::getDBRef — Fetches the document pointed to by a database reference

Descrição

public MongoDB::getDBRef ( array $ref ) : array

Parâmetros

ref

A database reference.

Valor Retornado

Returns the document pointed to by the reference.

Exemplos

Exemplo #1 MongoDB::getDBRef() example

Example demonstrating how to get a database reference and what the expected input is.

<?php

 $ref = array(
   '$ref' => 'profiles',
   '$id' => new MongoId('47cc67093475061e3d9536d2')
 );

 $profile = $db->getDBRef($ref);
 ?>

See MongoDB::createDBRef() for more information about how to programatically create DB references.


Fetches toolkit for dealing with files stored in this database

  • « MongoDB::getDBRef
  • MongoDB::getProfilingLevel »
  • PHP Manual
  • MongoDB
  • Fetches toolkit for dealing with files stored in this database

MongoDB::getGridFS

(PECL mongo >=0.9.0)

MongoDB::getGridFS — Fetches toolkit for dealing with files stored in this database

Descrição

public MongoDB::getGridFS ( string $prefix = "fs" ) : MongoGridFS

Parâmetros

prefix

The prefix for the files and chunks collections.

Valor Retornado

Returns a new gridfs object for this database.

Exemplos

Exemplo #1 MongoDB::getGridFS() example

This example demonstrates how get a MongoGridFS instance.

<?php

$db = $mongo->my_db;

$prefix = 'files';
$collection = $db->getGridFS($prefix);

?>

Read more about the MongoGridFS to learn how to store files with MongoDB.


Gets this database's profiling level

  • « MongoDB::getGridFS
  • MongoDB::getReadPreference »
  • PHP Manual
  • MongoDB
  • Gets this database's profiling level

MongoDB::getProfilingLevel

(PECL mongo >=0.9.0)

MongoDB::getProfilingLevel — Gets this database's profiling level

Descrição

public MongoDB::getProfilingLevel ( ) : int

This returns the current database profiling level.

The database profiler tracks query execution times. If you turn it on (say, using MongoDB::setProfilingLevel() or the shell), you can see how many queries took longer than a given number of milliseconds or the timing for all queries.

Note that profiling slows down queries, so it is better to use in development or testing than in a time-sensitive application.

This function is equivalent to running:

<?php

public function getProfilingLevel() {
    return $this->command(array('profile' => -1));
}

?>

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the profiling level.

Veja Também

  • MongoDB core docs on » profiling
  • MongoDB::setProfilingLevel() - Sets this database's profiling level


Get the read preference for this database

  • « MongoDB::getProfilingLevel
  • MongoDB::getSlaveOkay »
  • PHP Manual
  • MongoDB
  • Get the read preference for this database

MongoDB::getReadPreference

(PECL mongo >=1.3.0)

MongoDB::getReadPreference — Get the read preference for this database

Descrição

public MongoDB::getReadPreference ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This function returns an array describing the read preference. The array contains the values type for the string read preference mode (corresponding to the MongoClient constants), and tagsets containing a list of all tag set criteria. If no tag sets were specified, tagsets will not be present in the array.

Changelog

Versão | Descrição
PECL mongo 1.3.3 | The return value has changed to be consistent with MongoDB::setReadPreference(). The type value was changed from a number to a string, type_string was removed, and tagsets now expresses tags as key/value pairs instead of colon-delimited strings.

Exemplos

Exemplo #1 MongoDB::getReadPreference() return value example

<?php

$m = new MongoClient();
$db = $m->test;
$db->setReadPreference(MongoClient::RP_SECONDARY, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
    array(),
));
var_dump($db->getReadPreference());
?>

O exemplo acima irá imprimir:

array(2) {
  ["type"]=>
  string(9) "secondary"
  ["tagsets"]=>
  array(3) {
    [0]=>
    array(2) {
      ["dc"]=>
      string(4) "east"
      ["use"]=>
      string(9) "reporting"
    }
    [1]=>
    array(1) {
      ["dc"]=>
      string(7) "west"
    }
    [2]=>
    array(0) {
    }
  }
}

Veja Também

  • The read preferences documentation.
  • MongoDB::setReadPreference() - Set the read preference for this database


Get slaveOkay setting for this database

  • « MongoDB::getReadPreference
  • MongoDB::getWriteConcern »
  • PHP Manual
  • MongoDB
  • Get slaveOkay setting for this database

MongoDB::getSlaveOkay

(PECL mongo >=1.1.0)

MongoDB::getSlaveOkay — Get slaveOkay setting for this database

Descrição

public MongoDB::getSlaveOkay ( ) : bool

See the query section of this manual for information on distributing reads to secondaries.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the value of slaveOkay for this instance.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.

Veja Também

  • Read Preferences
  • MongoDB::getReadPreference() - Get the read preference for this database
  • MongoDB::setReadPreference() - Set the read preference for this database


Get the write concern for this database

  • « MongoDB::getSlaveOkay
  • MongoDB::lastError »
  • PHP Manual
  • MongoDB
  • Get the write concern for this database

MongoDB::getWriteConcern

(PECL mongo >=1.5.0)

MongoDB::getWriteConcern — Get the write concern for this database

Descrição

public MongoDB::getWriteConcern ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This function returns an array describing the write concern. The array contains the values w for an integer acknowledgement level or string mode, and wtimeout denoting the maximum number of milliseconds to wait for the server to satisfy the write concern.

Exemplos

Exemplo #1 MongoDB::getWriteConcern() return value example

<?php

$mc = new MongoClient('mongodb://localhost:27017', array('wTimeoutMS' => 500));
$db = $mc->selectDB('test');
var_dump($db->getWriteConcern());

$db->setWriteConcern(1, 1000);
var_dump($db->getWriteConcern());
?>

O exemplo acima irá imprimir:

array(2) {
  ["w"]=>
  int(1)
  ["wtimeout"]=>
  int(500)
}
array(2) {
  ["w"]=>
  int(1)
  ["wtimeout"]=>
  int(1000)
}

Veja Também

  • The write concern documentation.
  • MongoDB::setWriteConcern() - Set the write concern for this database


Check if there was an error on the most recent db operation performed

  • « MongoDB::getWriteConcern
  • MongoDB::listCollections »
  • PHP Manual
  • MongoDB
  • Check if there was an error on the most recent db operation performed

MongoDB::lastError

(PECL mongo >=0.9.5)

MongoDB::lastError — Check if there was an error on the most recent db operation performed

Descrição

public MongoDB::lastError ( ) : array

This method is equivalent to:

<?php

public function lastError() {
    return $this->command(array('getlasterror' => 1));
}

?>

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the error, if there was one.

Exemplos

Exemplo #1 MongoDB::lastError() null error example

<?php
$db->resetError();
var_dump($db->lastError());
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  ["err"]=>
  NULL
  ["n"]=>
  int(0)
  ["ok"]=>
  float(1)
}

Exemplo #2 MongoDB::lastError() duplicate key example

<?php
$c = $db->selectCollection("foo");

// insert two documents with the same _id
$c->insert(array("_id" => 1));
$c->insert(array("_id" => 1));

var_dump($db->lastError());
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  ["err"]=>
  string(64) "E11000 duplicate key errorindex: foo.foo.$_id_  dup key: { : 1 }"
  ["n"]=>
  int(0)
  ["ok"]=>
  float(1)
}


Gets an array of MongoCollection objects for all collections in this database

  • « MongoDB::lastError
  • MongoDB::prevError »
  • PHP Manual
  • MongoDB
  • Gets an array of MongoCollection objects for all collections in this database

MongoDB::listCollections

(PECL mongo >=0.9.0)

MongoDB::listCollections — Gets an array of MongoCollection objects for all collections in this database

Descrição

public MongoDB::listCollections ( array $options = array() ) : array

Gets a list of all collections in the database and returns them as an array of MongoCollection objects.

Nota: This method will use the » listCollections database command when communicating with MongoDB 2.8+. For previous database versions, the method will query the special system.namespaces collection.

Parâmetros

options

An array of options for listing the collections. Currently available options include:

  • "filter"

    Optional query criteria. If provided, this criteria will be used to filter the collections included in the result.

    Relevant fields that may be queried include "name" (collection name as a string, without the database name prefix) and "options" (object containing options used to create the collection)..

    Nota: MongoDB 2.6 and earlier versions require the "name" criteria, if specified, to be a string value (i.e. equality match). This is because the driver must prefix the value with the database name in order to query the system.namespaces collection. Later versions of MongoDB do not have this limitation, as the driver will use the listCollections command.

  • "includeSystemCollections"

    Boolean, defaults to false. Determines whether system collections should be included in the result.

The following option may be used with MongoDB 2.8+:

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation on the server (does not include idle time). If the operation is not completed by the server within the timeout period, a MongoExecutionTimeoutException will be thrown.

Valor Retornado

Returns an array of MongoCollection objects.

Erros

For MongoDB 2.6 and earlier, MongoException will be thrown if a non-string value was specified for the "filter" option's "name" criteria.

Changelog

Versão | Descrição
PECL mongo 1.6.0 | Changed first parameter to be an array of options. Pre-1.6.0, the first parameter was a boolean indicating the "includeSystemCollections" option.
PECL mongo 1.3.0 | Added the includeSystemCollections parameter.

Exemplos

Exemplo #1 MongoDB::listCollections() example

The following example demonstrates running count on each collection in a database.

<?php

$m = new MongoClient();
$db = $m->selectDB("demo");
$collections = $db->listCollections();

foreach ($collections as $collection) {
    echo "amount of documents in $collection: ";
    echo $collection->count(), "\n";
}

?>

O exemplo acima irá imprimir algo similar à:

...
amount of documents in demo.pubs: 4
amount of documents in demo.elephpants: 3
amount of documents in demo.cities: 22840
...

Veja Também

  • MongoDB::getCollectionNames() - Gets an array of names for all collections in this database
  • MongoDB::getCollectionInfo() - Returns information about collections in this database


Checks for the last error thrown during a database operation

  • « MongoDB::listCollections
  • MongoDB::repair »
  • PHP Manual
  • MongoDB
  • Checks for the last error thrown during a database operation

MongoDB::prevError

(PECL mongo >=0.9.5)

MongoDB::prevError — Checks for the last error thrown during a database operation

Descrição

public MongoDB::prevError ( ) : array

MongoDB::lastError() is usually preferred to this. This method returns the last database error that occurred and how many operations ago it occurred. It is mostly deprecated.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the error and the number of operations ago it occurred.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.


Repairs and compacts this database

  • « MongoDB::prevError
  • MongoDB::resetError »
  • PHP Manual
  • MongoDB
  • Repairs and compacts this database

MongoDB::repair

(PECL mongo >=0.9.0)

MongoDB::repair — Repairs and compacts this database

Descrição

public MongoDB::repair ( bool $preserve_cloned_files = false , bool $backup_original_files = false ) : array

This creates a fresh copy of all database data. It will remove any corrupt data and compact and large stretches of free space it finds. This is a very slow operation on a large database.

This is usually run from the shell or the command line, not the driver.

It is equivalent to the function:

<?php

public function repair() {
    return $this->command(array('repairDatabase' => 1));
}

?>

Parâmetros

preserve_cloned_files

If cloned files should be kept if the repair fails.

backup_original_files

If original files should be backed up.

Valor Retornado

Returns db response.

Veja Também

MongoDB core docs on » repairDatabase.

Exemplos

Exemplo #1 MongoDB::repair() example

This example demonstrates how to repare and compact a database.

<?php

$db = $mongo->foo;

$response = $db->repair();
print_r($response);

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [ok] => 1
)


Clears any flagged errors on the database

  • « MongoDB::repair
  • MongoDB::selectCollection »
  • PHP Manual
  • MongoDB
  • Clears any flagged errors on the database

MongoDB::resetError

(PECL mongo >=0.9.5)

MongoDB::resetError — Clears any flagged errors on the database

Descrição

public MongoDB::resetError ( ) : array

This method is not used in normal operations. It resets the database error tracker (which can be incremented with MongoDB::forceError(), also not normally used).

It is equivalent to running:

<?php

public function resetError() {
    return $this->command(array('reseterror' => 1));
}

?>

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the database response.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.


Gets a collection

  • « MongoDB::resetError
  • MongoDB::setProfilingLevel »
  • PHP Manual
  • MongoDB
  • Gets a collection

MongoDB::selectCollection

(PECL mongo >=0.9.0)

MongoDB::selectCollection — Gets a collection

Descrição

public MongoDB::selectCollection ( string $name ) : MongoCollection

Parâmetros

name

The collection name.

Valor Retornado

Returns a new collection object.

Erros

Throws Exception if the collection name is invalid.


Sets this database's profiling level

  • « MongoDB::selectCollection
  • MongoDB::setReadPreference »
  • PHP Manual
  • MongoDB
  • Sets this database's profiling level

MongoDB::setProfilingLevel

(PECL mongo >=0.9.0)

MongoDB::setProfilingLevel — Sets this database's profiling level

Descrição

public MongoDB::setProfilingLevel ( int $level ) : int

This changes the current database profiling level.

This function is equivalent to running:

<?php

public function setProfilingLevel($level) {
    return $this->command(array('profile' => $level));
}

?>

The options for level are 0 (off), 1 (queries > 100ms), and 2 (all queries). If you would like to profile queries that take longer than another time period, use the database command and pass it a second option, the number of milliseconds. For example, to profile all queries that take longer than one second, run:

<?php

$result = $this->command(array('profile' => 1, 'slowms' => 1000));

?>

Profiled queries will appear in the system.profile collection of this database.

Parâmetros

level

Profiling level.

Valor Retornado

Returns the previous profiling level.

Veja Também

  • MongoDB core docs on » profiling
  • MongoDB::getProfilingLevel() - Gets this database's profiling level


Set the read preference for this database

  • « MongoDB::setProfilingLevel
  • MongoDB::setSlaveOkay »
  • PHP Manual
  • MongoDB
  • Set the read preference for this database

MongoDB::setReadPreference

(PECL mongo >=1.3.0)

MongoDB::setReadPreference — Set the read preference for this database

Descrição

public MongoDB::setReadPreference ( string $read_preference , array $tags = ? ) : bool

Parâmetros

read_preference

The read preference mode: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, ou MongoClient::RP_NEAREST.

tags

An array of zero or more tag sets, where each tag set is itself an array of criteria used to match tags on replica set members.

Valor Retornado

Returns true on success, or false otherwise.

Erros

Emits E_WARNING if either parameter is invalid, or if one or more tag sets are provided with the MongoClient::RP_PRIMARY read preference mode.

Exemplos

Exemplo #1 MongoDB::setReadPreference() tag set array syntax example

<?php

$m = new MongoClient();
$db = $m->test;

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$db->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));
?>

Veja Também

  • The read preferences documentation.
  • MongoDB::getReadPreference() - Get the read preference for this database


Change slaveOkay setting for this database

  • « MongoDB::setReadPreference
  • MongoDB::setWriteConcern »
  • PHP Manual
  • MongoDB
  • Change slaveOkay setting for this database

MongoDB::setSlaveOkay

(PECL mongo >=1.1.0)

MongoDB::setSlaveOkay — Change slaveOkay setting for this database

Descrição

public MongoDB::setSlaveOkay ( bool $ok = true ) : bool

See the query section of this manual for information on distributing reads to secondaries.

Parâmetros

ok

If reads should be sent to secondary members of a replica set for all possible queries using this MongoDB instance.

Valor Retornado

Returns the former value of slaveOkay for this instance.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.

Veja Também

  • Read Preferences
  • MongoDB::setReadPreference() - Set the read preference for this database
  • MongoDB::getReadPreference() - Get the read preference for this database


Set the write concern for this database

  • « MongoDB::setSlaveOkay
  • MongoDB::__toString »
  • PHP Manual
  • MongoDB
  • Set the write concern for this database

MongoDB::setWriteConcern

(PECL mongo >=1.5.0)

MongoDB::setWriteConcern — Set the write concern for this database

Descrição

public MongoDB::setWriteConcern ( mixed $w , int $wtimeout = ? ) : bool

Parâmetros

w

The write concern. This may be an integer denoting the number of servers required to acknowledge the write, or a string mode (e.g. "majority").

wtimeout

The maximum number of milliseconds to wait for the server to satisfy the write concern.

Valor Retornado

Returns true on success, or false otherwise.

Erros

Emits E_WARNING if the w parameter is not an integer or string value.

Exemplos

Exemplo #1 MongoDB::setWriteConcern() example

<?php

$mc = new MongoClient('mongodb://rs1.example.com,rs2.example.com');
$db = $mc->selectDB('test');

// Require that the majority of servers in the replica set acknowledge writes
// within three seconds.
$db->setWriteConcern('majority', 3000);
?>

Veja Também

  • The write concern documentation.
  • MongoDB::getWriteConcern() - Get the write concern for this database


The name of this database

  • « MongoDB::setWriteConcern
  • MongoCollection »
  • PHP Manual
  • MongoDB
  • The name of this database

MongoDB::__toString

(PECL mongo >=0.9.0)

MongoDB::__toString — The name of this database

Descrição

public MongoDB::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns this database's name.


The MongoCollection class

(PECL mongo >=0.9.0)

Introdução

Represents a MongoDB collection.

Collection names can use any character in the ASCII set. Some valid collection names are "", "...", "my collection", and "*&#@".

User-defined collection names cannot contain the $ symbol. There are certain system collections which use a $ in their names (e.g., local.oplog.$main), but it is a reserved character. If you attempt to create and use a collection with a $ in the name, MongoDB will assert.

Sinopse da classe

MongoCollection {
/* Constantes */
const int ASCENDING = 1 ;
const int DESCENDING = -1 ;
/* Fields */
public MongoDB $db = null ;
public int $w ;
public int $wtimeout ;
/* Métodos */
public aggregate ( array $pipeline , array $options = ? ) : array
public aggregateCursor ( array $command , array $options = ? ) : MongoCommandCursor
public batchInsert ( array $a , array $options = array() ) : mixed
public __construct ( MongoDB $db , string $name )
public count ( array $query = array() , array $options = array() ) : int
public createDBRef ( mixed $document_or_id ) : array
public createIndex ( array $keys , array $options = array() ) : bool
public deleteIndex ( string|array $keys ) : array
public deleteIndexes ( ) : array
public distinct ( string $key , array $query = ? ) : array|false
public drop ( ) : array
public ensureIndex ( string|array $key|keys , array $options = array() ) : bool
public find ( array $query = array() , array $fields = array() ) : MongoCursor
public findAndModify ( array $query , array $update = ? , array $fields = ? , array $options = ? ) : array
public findOne
 ( array $query = array()
, array $fields = array()
, array $options = array()
) : array
public __get ( string $name ) : MongoCollection
public getDBRef ( array $ref ) : array
public getIndexInfo ( ) : array
public getName ( ) : string
public getReadPreference ( ) : array
public getSlaveOkay ( ) : bool
public getWriteConcern ( ) : array
public group ( mixed $keys , array $initial , MongoCode $reduce , array $options = array() ) : array
public insert ( array|object $document , array $options = array() ) : bool|array
public parallelCollectionScan ( int $num_cursors ) : array[MongoCommandCursor]
public remove ( array $criteria = array() , array $options = array() ) : bool|array
public save ( array|object $document , array $options = array() ) : mixed
public setReadPreference ( string $read_preference , array $tags = ? ) : bool
public setSlaveOkay ( bool $ok = true ) : bool
public setWriteConcern ( mixed $w , int $wtimeout = ? ) : bool
static protected toIndexString ( mixed $keys ) : string
public __toString ( ) : string
public update ( array $criteria , array $new_object , array $options = array() ) : bool|array
public validate ( bool $scan_data = false ) : array
}

Constantes pré-definidas

MongoCollection::ASCENDING
Ascending direction for sorts and index creation.
MongoCollection::DESCENDING
Descending direction for sorts and index creation.

Fields

db

The "parent" database for this collection.

w

The number of servers to replicate a change to before returning success. Value is inherited from the parent database. The MongoDB class has a more detailed description of how w works.

wtimeout

The number of milliseconds to wait for $this->w replications to take place. Value is inherited from the parent database. The MongoDB class has a more detailed description of how wtimeout works.

Veja Também

MongoDB core docs on » collections.

Índice

  • MongoCollection::aggregate — Perform an aggregation using the aggregation framework
  • MongoCollection::aggregateCursor — Execute an aggregation pipeline command and retrieve results through a cursor
  • MongoCollection::batchInsert — Inserts multiple documents into this collection
  • MongoCollection::__construct — Creates a new collection
  • MongoCollection::count — Counts the number of documents in this collection
  • MongoCollection::createDBRef — Creates a database reference
  • MongoCollection::createIndex — Creates an index on the specified field(s) if it does not already exist
  • MongoCollection::deleteIndex — Deletes an index from this collection
  • MongoCollection::deleteIndexes — Delete all indices for this collection
  • MongoCollection::distinct — Retrieve a list of distinct values for the given key across a collection
  • MongoCollection::drop — Drops this collection
  • MongoCollection::ensureIndex — Creates an index on the specified field(s) if it does not already exist
  • MongoCollection::find — Queries this collection, returning a MongoCursor for the result set
  • MongoCollection::findAndModify — Update a document and return it
  • MongoCollection::findOne — Queries this collection, returning a single element
  • MongoCollection::__get — Gets a collection
  • MongoCollection::getDBRef — Fetches the document pointed to by a database reference
  • MongoCollection::getIndexInfo — Returns information about indexes on this collection
  • MongoCollection::getName — Returns this collection's name
  • MongoCollection::getReadPreference — Get the read preference for this collection
  • MongoCollection::getSlaveOkay — Get slaveOkay setting for this collection
  • MongoCollection::getWriteConcern — Get the write concern for this collection
  • MongoCollection::group — Performs an operation similar to SQL's GROUP BY command
  • MongoCollection::insert — Inserts a document into the collection
  • MongoCollection::parallelCollectionScan — Returns an array of cursors to iterator over a full collection in parallel
  • MongoCollection::remove — Remove records from this collection
  • MongoCollection::save — Saves a document to this collection
  • MongoCollection::setReadPreference — Set the read preference for this collection
  • MongoCollection::setSlaveOkay — Change slaveOkay setting for this collection
  • MongoCollection::setWriteConcern — Set the write concern for this database
  • MongoCollection::toIndexString — Converts keys specifying an index to its identifying string
  • MongoCollection::__toString — String representation of this collection
  • MongoCollection::update — Update records based on a given criteria
  • MongoCollection::validate — Validates this collection


Perform an aggregation using the aggregation framework

  • « MongoCollection
  • MongoCollection::aggregateCursor »
  • PHP Manual
  • MongoCollection
  • Perform an aggregation using the aggregation framework

MongoCollection::aggregate

(PECL mongo >=1.3.0)

MongoCollection::aggregate — Perform an aggregation using the aggregation framework

Descrição

public MongoCollection::aggregate ( array $pipeline , array $options = ? ) : array
public MongoCollection::aggregate ( array $op , array ...$ops ) : array

The MongoDB » aggregation framework provides a means to calculate aggregated values without having to use MapReduce. While MapReduce is powerful, it is often more difficult than necessary for many simple aggregation tasks, such as totaling or averaging field values.

This method accepts either a variable amount of pipeline operators, or a single array of operators constituting the pipeline.

Parâmetros

pipeline

An array of pipeline operators.

options

Options for the aggregation command. Valid options include:

  • "allowDiskUse"

    Allow aggregation stages to write to temporary files

  • "cursor"

    Options controlling the creation of the cursor object. This option causes the command to return a result document suitable for constructing a MongoCommandCursor. If you need to use this option, you should consider using MongoCollection::aggregateCursor().

  • "explain"

    Return information on the processing of the pipeline.

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation on the server (does not include idle time). If the operation is not completed by the server within the timeout period, a MongoExecutionTimeoutException will be thrown.

Or

op

First pipeline operator.

ops

Additional pipeline operators.

Valor Retornado

The result of the aggregation as an array. The ok will be set to 1 on success, 0 on failure.

Erros

When an error occurs an array with the following keys will be returned:

  • errmsg - containing the reason for the failure
  • code - the errorcode of the failure
  • ok - will be set to 0.

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Added optional options argument

Exemplos

Exemplo #1 MongoCollection::aggregate() example

The following example aggregation operation pivots data to create a set of author names grouped by tags applied to an article. Call the aggregation framework by issuing the following command:

<?php
$m = new MongoClient("localhost");
$c = $m->selectDB("examples")->selectCollection("article");
$data = array (
    'title' => 'this is my title',
    'author' => 'bob',
    'posted' => new MongoDate,
    'pageViews' => 5,
    'tags' => array ( 'fun', 'good', 'fun' ),
    'comments' => array (
      array (
        'author' => 'joe',
        'text' => 'this is cool',
      ),
      array (
        'author' => 'sam',
        'text' => 'this is bad',
      ),
    ),
    'other' =>array (
      'foo' => 5,
    ),
);
$d = $c->insert($data, array("w" => 1));

$ops = array(
    array(
        '$project' => array(
            "author" => 1,
            "tags"   => 1,
        )
    ),
    array('$unwind' => '$tags'),
    array(
        '$group' => array(
            "_id" => array("tags" => '$tags'),
            "authors" => array('$addToSet' => '$author'),
        ),
    ),
);
$results = $c->aggregate($ops);
var_dump($results);
?>

O exemplo acima irá imprimir:

array(2) {
  ["result"]=>
  array(2) {
    [0]=>
    array(2) {
      ["_id"]=>
      array(1) {
        ["tags"]=>
        string(4) "good"
      }
      ["authors"]=>
      array(1) {
        [0]=>
        string(3) "bob"
      }
    }
    [1]=>
    array(2) {
      ["_id"]=>
      array(1) {
        ["tags"]=>
        string(3) "fun"
      }
      ["authors"]=>
      array(1) {
        [0]=>
        string(3) "bob"
      }
    }
  }
  ["ok"]=>
  float(1)
}

The following examples use the » zipcode data set. Use mongoimport to load this data set into your mongod instance.

Exemplo #2 MongoCollection::aggregate() example

To return all states with a population greater than 10 million, use the following aggregation operation:

<?php
$m = new MongoClient("localhost");
$c = $m->selectDB("test")->selectCollection("zips");

$pipeline = array(
    array(
        '$group' => array(
            '_id' => array('state' => '$state'),
            'totalPop' => array('$sum' => '$pop')
        )
    ),
    array(
        '$match' => array(
            'totalPop' => array('$gte' => 10 * 1000 * 1000)
        )
    ),
);
$out = $c->aggregate($pipeline);
var_dump($out);
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["result"]=>
  array(7) {
    [0]=>
    array(2) {
      ["_id"]=>
      string(2) "TX"
      ["totalPop"]=>
      int(16986510)
    }
    [1]=>
    array(2) {
      ["_id"]=>
      string(2) "PA"
      ["totalPop"]=>
      int(11881643)
    }
    [2]=>
    array(2) {
      ["_id"]=>
      string(2) "NY"
      ["totalPop"]=>
      int(17990455)
    }
    [3]=>
    array(2) {
      ["_id"]=>
      string(2) "IL"
      ["totalPop"]=>
      int(11430602)
    }
    [4]=>
    array(2) {
      ["_id"]=>
      string(2) "CA"
      ["totalPop"]=>
      int(29760021)
    }
    [5]=>
    array(2) {
      ["_id"]=>
      string(2) "OH"
      ["totalPop"]=>
      int(10847115)
    }
    [6]=>
    array(2) {
      ["_id"]=>
      string(2) "FL"
      ["totalPop"]=>
      int(12937926)
    }
  }
  ["ok"]=>
  float(1)
}

Exemplo #3 MongoCollection::aggregate() example

To return the average populations for cities in each state, use the following aggregation operation:

<?php
$m = new MongoClient;
$c = $m->selectDB("test")->selectCollection("zips");

$out = $c->aggregate(
    array(
        '$group' => array(
            '_id' => array('state' => '$state', 'city' => '$city' ),
            'pop' => array('$sum' => '$pop' )
        )
    ),
    array(
        '$group' => array(
            '_id' => '$_id.state',
            'avgCityPop' => array('$avg' => '$pop')
        )
    )
);

var_dump($out);
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["result"]=>
  array(51) {
    [0]=>
    array(2) {
      ["_id"]=>
      string(2) "DC"
      ["avgCityPop"]=>
      float(303450)
    }
    [1]=>
    array(2) {
      ["_id"]=>
      string(2) "DE"
      ["avgCityPop"]=>
      float(14481.913043478)
    }
...
    [49]=>
    array(2) {
      ["_id"]=>
      string(2) "WI"
      ["avgCityPop"]=>
      float(7323.0074850299)
    }
    [50]=>
    array(2) {
      ["_id"]=>
      string(2) "WV"
      ["avgCityPop"]=>
      float(2759.1953846154)
    }
  }
  ["ok"]=>
  float(1)
}

Exemplo #4 MongoCollection::aggregate() with command options

To return information on how the pipeline will be processed we use the explain command option:

<?php
$m = new MongoClient;
$c = $m->selectDB("test")->selectCollection("zips");

$pipeline = array(
    array(
        '$group' => array(
            '_id' => '$state',
           'totalPop' => array('$sum' => '$pop'),
        ),
    ),
    array(
        '$match' => array(
            'totalPop' => array('$gte' => 10 * 1000 * 1000)
        )
    ),
    array(
        '$sort' => array("totalPop" => -1),
    ),
);

$options = array("explain" => true);
$out = $c->aggregate($pipeline, $options);
var_dump($out);
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["stages"]=>
  array(4) {
    [0]=>
    array(1) {
      ["$cursor"]=>
      array(3) {
        ["query"]=>
        array(0) {
        }
        ["fields"]=>
        array(3) {
          ["pop"]=>
          int(1)
          ["state"]=>
          int(1)
          ["_id"]=>
          int(0)
        }
        ["plan"]=>
        array(4) {
          ["cursor"]=>
          string(11) "BasicCursor"
          ["isMultiKey"]=>
          bool(false)
          ["scanAndOrder"]=>
          bool(false)
          ["allPlans"]=>
          array(1) {
            [0]=>
            array(3) {
              ["cursor"]=>
              string(11) "BasicCursor"
              ["isMultiKey"]=>
              bool(false)
              ["scanAndOrder"]=>
              bool(false)
            }
          }
        }
      }
    }
    [1]=>
    array(1) {
      ["$group"]=>
      array(2) {
        ["_id"]=>
        string(6) "$state"
        ["totalPop"]=>
        array(1) {
          ["$sum"]=>
          string(4) "$pop"
        }
      }
    }
    [2]=>
    array(1) {
      ["$match"]=>
      array(1) {
        ["totalPop"]=>
        array(1) {
          ["$gte"]=>
          int(10000000)
        }
      }
    }
    [3]=>
    array(1) {
      ["$sort"]=>
      array(1) {
        ["sortKey"]=>
        array(1) {
          ["totalPop"]=>
          int(-1)
        }
      }
    }
  }
  ["ok"]=>
  float(1)
}

Veja Também

  • MongoCollection::aggregateCursor() - Execute an aggregation pipeline command and retrieve results through a cursor
  • The MongoDB » aggregation framework


Execute an aggregation pipeline command and retrieve results through a cursor

  • « MongoCollection::aggregate
  • MongoCollection::batchInsert »
  • PHP Manual
  • MongoCollection
  • Execute an aggregation pipeline command and retrieve results through a cursor

MongoCollection::aggregateCursor

(PECL mongo >=1.5.0)

MongoCollection::aggregateCursor — Execute an aggregation pipeline command and retrieve results through a cursor

Descrição

public MongoCollection::aggregateCursor ( array $command , array $options = ? ) : MongoCommandCursor

With this method you can execute Aggregation Framework pipelines and retrieve the results through a cursor, instead of getting just one document back as you would with MongoCollection::aggregate(). This method returns a MongoCommandCursor object. This cursor object implements the Iterator interface just like the MongoCursor objects that are returned by the MongoCollection::find() method.

Nota: The resulting MongoCommandCursor will inherit this collection's read preference. MongoCommandCursor::setReadPreference() may be used to change the read preference before iterating on the cursor.

Parâmetros

pipeline

The Aggregation Framework pipeline to execute.

options

Options for the aggregation command. Valid options include:

  • "allowDiskUse"

    Allow aggregation stages to write to temporary files

  • "cursor"

    It is possible to configure how many initial documents the server should return with the first result set. The default initial batch size is 101. You can change it by adding the batchSize option:

    <?php
    $collection    ->aggregateCursor(
            $pipeline,
        [     "cursor" => [ "batchSize" => 4 ] ]
    );

    This option only configures the size of the first batch. To configure the size of future batches, please use the MongoCommandCursor::batchSize() method on the returned MongoCommandCursor object.

  • "explain"

    Return information on the processing of the pipeline. This option may cause the command to return a result document that is unsuitable for constructing a MongoCommandCursor. If you need to use this option, you should consider using MongoCollection::aggregate().

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation on the server (does not include idle time). If the operation is not completed by the server within the timeout period, a MongoExecutionTimeoutException will be thrown.

Valor Retornado

Returns a MongoCommandCursor object. Because this implements the Iterator interface you can iterate over each of the results as returned by the command query. The MongoCommandCursor also implements the MongoCursorInterface interface which adds the MongoCommandCursor::batchSize(), MongoCommandCursor::dead(), MongoCommandCursor::info() methods.

Exemplos

Exemplo #1 MongoCollection::aggregateCursor() example

Finding all of the distinct values for a key.

<?php
$m = new MongoClient;
$db = $m->test;
$people = $db->people;
$people->drop();

$people->insert(array("name" => "Joe", "points" => 4));
$people->insert(array("name" => "Molly", "points" => 43));
$people->insert(array("name" => "Sally", "points" => 22));
$people->insert(array("name" => "Joe", "points" => 22));
$people->insert(array("name" => "Molly", "points" => 87));

$ages = $people->aggregateCursor( [
        [ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ],
        [ '$sort' => [ 'points' => -1 ] ],
] );

foreach ($ages as $person) {
    echo "{$person['_id']}: {$person['points']}\n";
}

?>

O exemplo acima irá imprimir algo similar à:

Molly: 130
Joe: 26
Sally: 22

Exemplo #2 MongoCollection::aggregateCursor() example with different initial batch size

Finding all of the distinct values for a key.

<?php
$m = new MongoClient;
$db = $m->test;
$people = $db->people;
$people->drop();

/* Insert some sample data */
$people->insert(array("name" => "Joe", "points" => 4));
$people->insert(array("name" => "Molly", "points" => 43));
$people->insert(array("name" => "Sally", "points" => 22));
$people->insert(array("name" => "Joe", "points" => 22));
$people->insert(array("name" => "Molly", "points" => 87));

/* Run the command cursor */
$ages = $people->aggregateCursor(
    [
        [ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ],
        [ '$sort' => [ 'points' => -1 ] ],
    ],
    [ "cursor" => [ "batchSize" => 4 ] ]
);

foreach ($ages as $person) {
    echo "{$person['_id']}: {$person['points']}\n";
}

?>

O exemplo acima irá imprimir algo similar à:

Molly: 130
Joe: 26
Sally: 22

Veja Também

  • MongoDB::command() - Execute a database command
  • MongoCommandCursor
  • MongoCommandCursor::batchSize() - Limits the number of elements returned in one batch
  • MongoCollection::aggregate() - Perform an aggregation using the aggregation framework
  • The MongoDB » aggregation framework


Inserts multiple documents into this collection

  • « MongoCollection::aggregateCursor
  • MongoCollection::__construct »
  • PHP Manual
  • MongoCollection
  • Inserts multiple documents into this collection

MongoCollection::batchInsert

(PECL mongo >=0.9.0)

MongoCollection::batchInsert — Inserts multiple documents into this collection

Descrição

public MongoCollection::batchInsert ( array $a , array $options = array() ) : mixed

Parâmetros

a

An array of arrays or objects. If any objects are used, they may not have protected or private properties.

Nota:

If the documents to insert do not have an _id key or property, a new MongoId instance will be created and assigned to it. See MongoCollection::insert() for additional information on this behavior.

options

An array of options for the batch of insert operations. Currently available options include:

  • "continueOnError"

    Boolean, defaults to false. If set, the database will not stop processing a bulk insert if one fails (eg due to duplicate IDs). This makes bulk insert behave similarly to a series of single inserts, except that calling MongoDB::lastError() will have an error set if any insert fails, not just the last one. If multiple errors occur, only the most recent will be reported by MongoDB::lastError().

    Nota:

    Please note that continueOnError affects errors on the database side only. If you try to insert a document that has errors (for example it contains a key with an empty name), then the document is not even transferred to the database as the driver detects this error and bails out. continueOnError has no effect on errors detected in the documents by the driver.

  • "fsync"

    Boolean, defaults to false. If journaling is enabled, it works exactly like "j". If journaling is not enabled, the write operation blocks until it is synced to database files on disk. If true, an acknowledged insert is implied and this option will override setting "w" to 0.

    Nota: If journaling is enabled, users are strongly encouraged to use the "j" option instead of "fsync". Do not use "fsync" and "j" simultaneously, as that will result in an error.

  • "j"

    Boolean, defaults to false. Forces the write operation to block until it is synced to the journal on disk. If true, an acknowledged write is implied and this option will override setting "w" to 0.

    Nota: If this option is used and journaling is disabled, MongoDB 2.6+ will raise an error and the write will fail; older server versions will simply ignore the option.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

Valor Retornado

If the w parameter is set to acknowledge the write, returns an associative array with the status of the inserts ("ok") and any error that may have occurred ("err"). Otherwise, returns true if the batch insert was successfully sent, false otherwise.

Erros

Throws MongoException if any inserted documents are empty or if they contains zero-length keys. Attempting to insert an object with protected and private properties will cause a zero-length key error.

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Added the "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added the "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
PECL mongo 1.3.4 | Added "wtimeout" option.
PECL mongo 1.3.0 | Added "w" option.
PECL mongo 1.2.7 | Added "continueOnError" option.
PECL mongo 1.0.9 | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option.
PECL mongo 1.0.5 | Added options parameter.

Exemplos

Exemplo #1 MongoCollection::batchInsert() example

Batch insertion is a quick way to add many elements to the database at once

<?php

$users = array();
for ($i = 0; $i<100; $i++) {
  $users[] = array('username' => 'user'.$i, 'i' => $i);
}

$mongo = new MongoClient();
$collection = $mongo->my_db->users;
$collection->drop();

$collection->batchInsert($users);

foreach ($users as $user) {
  echo $user['_id']."\n"; // populated with instanceof MongoId
}

$users = $collection->find()->sort(array('i' => 1));
foreach ($users as $user) {
    var_dump($user['username']);
}

?>

O exemplo acima irá imprimir algo similar à:

4bf43ac68ead0e1971000000
4bf43ac68ead0e1971010000
4bf43ac68ead0e1971020000
...
string(5) "user1"
string(5) "user2"
string(5) "user3"
...

Exemplo #2 MongoCollection::batchInsert() example with ignoring errors

<?php

$con = new Mongo;
$db = $con->demo;

$doc1 = array(
        '_id' => new MongoId('4cb4ab6d7addf98506010001'),
        'id' => 1,
        'desc' => "ONE",
);
$doc2 = array(
        '_id' => new MongoId('4cb4ab6d7addf98506010002'),
        'id' => 2,
        'desc' => "TWO",
);
$doc3 = array(
        '_id' => new MongoId('4cb4ab6d7addf98506010002'), // same _id as above
        'id' => 3,
        'desc' => "THREE",
);
$doc4 = array(
        '_id' => new MongoId('4cb4ab6d7addf98506010004'),
        'id' => 4,
        'desc' => "FOUR",
);

$c = $db->selectCollection('c');
$c->batchInsert(
    array($doc1, $doc2, $doc3, $doc4),
    array('continueOnError' => true)
);

$docs = $c->find();
foreach ($docs as $doc) {
    var_dump($doc['desc']);
}
?>

O exemplo acima irá imprimir algo similar à:

string(3) "ONE"
string(3) "TWO"
string(4) "FOUR"

Veja Também

  • MongoCollection::insert() - Inserts a document into the collection
  • MongoCollection::update() - Update records based on a given criteria
  • MongoCollection::find() - Queries this collection, returning a MongoCursor for the result set
  • MongoCollection::remove() - Remove records from this collection
  • MongoDB core docs on » insert.


Creates a new collection

  • « MongoCollection::batchInsert
  • MongoCollection::count »
  • PHP Manual
  • MongoCollection
  • Creates a new collection

MongoCollection::__construct

(PECL mongo >=0.9.0)

MongoCollection::__construct — Creates a new collection

Descrição

public MongoCollection::__construct ( MongoDB $db , string $name )

Parâmetros

MongoDB db

Parent database.

name

Name for this collection.

Valor Retornado

Returns a new collection object.

Erros

Throws default exception if the collection name is invalid.


Counts the number of documents in this collection

  • « MongoCollection::__construct
  • MongoCollection::createDBRef »
  • PHP Manual
  • MongoCollection
  • Counts the number of documents in this collection

MongoCollection::count

(PECL mongo >=0.9.0)

MongoCollection::count — Counts the number of documents in this collection

Descrição

public MongoCollection::count
 ( array $query = array()
, array $options = array()
) : int

Parâmetros

query

Associative array or object with fields to match.

options

An array of options for the index creation. Currently available options include:

Nome | Tipo | Descrição
hint mixed

Index to use for the query. If a string is passed, it should correspond to an index name. If an array or object is passed, it should correspond to the specification used to create the index (i.e. the first argument to MongoCollection::createIndex()).

This option is only supported in MongoDB 2.6+.
limit | int | The maximum number of matching documents to return.
maxTimeMS int

Specifies a cumulative time limit in milliseconds for processing the operation (does not include idle time). If the operation is not completed within the timeout period, a MongoExecutionTimeoutException will be thrown.

This option is only supported in MongoDB 2.6+.
skip | int | The number of matching documents to skip before returning results.

Valor Retornado

Returns the number of documents matching the query.

Erros

Throws MongoResultException if the server could not execute the command due to an error.

Throws MongoExecutionTimeoutException if command execution was terminated due to maxTimeMS.

Changelog

Versão | Descrição
PECL mongo 1.6.0 | The second parameter is now an options array. Passing limit and skip as the second and third parameters, respectively, is deprecated.
PECL mongo 1.0.7 | Added limit and skip as second and third parameters, respectively.

Exemplos

Exemplo #1 MongoCollection::count() example

<?php

$collection->insert(array('x'=>1));
$collection->insert(array('x'=>2));
$collection->insert(array('x'=>3));

var_dump($collection->count());
var_dump($collection->count(array('x'=>1)));

?>

O exemplo acima irá imprimir algo similar à:

int(3)
int(1)


Creates a database reference

  • « MongoCollection::count
  • MongoCollection::createIndex »
  • PHP Manual
  • MongoCollection
  • Creates a database reference

MongoCollection::createDBRef

(PECL mongo >=0.9.0)

MongoCollection::createDBRef — Creates a database reference

Descrição

public MongoCollection::createDBRef ( mixed $document_or_id ) : array

Parâmetros

document_or_id

If an array or object is given, its _id field will be used as the reference ID. If a MongoId or scalar is given, it will be used as the reference ID.

Valor Retornado

Returns a database reference array.

If an array without an _id field was provided as the document_or_id parameter, null will be returned.

Exemplos

Exemplo #1 MongoCollection::createDBRef() example

<?php

$songs = $db->songs;
$playlists = $db->playlists;

// create a reference to a song
$manamana = $songs->findOne(array('title' => 'Ma na ma na'));
$refToSong = $songs->createDBRef($manamana);

// add the reference to my playlist
$playlists->update(array('username' => 'me'), array('$push' => array('songlist' => $refToSong)));

?>

Veja Também

  • MongoCollection::getDBRef() - Fetches the document pointed to by a database reference


Creates an index on the specified field(s) if it does not already exist

  • « MongoCollection::createDBRef
  • MongoCollection::deleteIndex »
  • PHP Manual
  • MongoCollection
  • Creates an index on the specified field(s) if it does not already exist

MongoCollection::createIndex

(PECL mongo >=1.5.0)

MongoCollection::createIndex — Creates an index on the specified field(s) if it does not already exist

Descrição

public MongoCollection::createIndex ( array $keys , array $options = array() ) : bool

Creates an index on the specified field(s) if it does not already exist. Fields may be indexed with a direction (e.g. ascending or descending) or a special type (e.g. text, geospatial, hashed).

Nota:

This method will use the » createIndexes database command when communicating with MongoDB 2.6+. For previous database versions, the method will perform an insert operation on the special system.indexes collection.

Parâmetros

keys

An array specifying the index's fields as its keys. For each field, the value is either the index direction or » index type. If specifying direction, specify 1 for ascending or -1 for descending.

options

An array of options for the index creation. We pass all given options straight to the server, but a non-exhaustive list of currently available options include:

  • "unique"

    Specify true to create a unique index. The default value is false. This option applies only to ascending/descending indexes.

    Nota:

    When MongoDB indexes a field, if a document does not have a value for the field, a null value is indexed. If multiple documents do not contain a field, a unique index will reject all but the first of those documents. The "sparse" option may be used to overcome this, since it will prevent documents without the field from being indexed.

  • "sparse"

    Specify true to create a sparse index, which only indexes documents containing a specified field. The default value is false.

  • "expireAfterSeconds"

    The value of this option should specify the number of seconds after which a document should be considered expired and automatically removed from the collection. This option is only compatible with single-field indexes where the field will contain MongoDate values.

    Nota:

    This feature is available in MongoDB 2.2+. See » Expire Data from Collections by Setting TTL for more information.

  • "name"

    A optional name that uniquely identifies the index.

    Nota:

    By default, the driver will generate an index name based on the index's field(s) and ordering or type. For example, a compound index array("x" => 1, "y" => -1) would be named "x_1_y_-1" and a geospatial index array("loc" => "2dsphere") would be named "loc_2dsphere". For indexes with many fields, it is possible that the generated name might exceed MongoDB's » limit for index names. The "name" option may be used in that case to supply a shorter name.

  • "background"

    Builds the index in the background so that building an index does not block other database activities. Specify true to build in the background. The default value is false.

    Aviso

    Prior to MongoDB 2.6.0, index builds on secondaries were executed as foreground operations, irrespective of this option. See » Building Indexes with Replica Sets for more information.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

The following option may be used with MongoDB 2.6+:

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation on the server (does not include idle time). If the operation is not completed by the server within the timeout period, a MongoExecutionTimeoutException will be thrown.

The following options may be used with MongoDB versions before 2.8:

  • "dropDups"

    Specify true to force creation of a unique index where the collection may contain duplicate values for a key. MongoDB will index the first occurrence of a key and delete all subsequent documents from the collection that contain a duplicate value for that key. The default value is false.

    Aviso

    "dropDups" may delete data from your database. Use with extreme caution.

    Nota:

    This option is not supported on MongoDB 2.8+. Index creation will fail if the collection contains duplicate values.

The following options may be used with MongoDB versions before 2.6:

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

Valor Retornado

Returns an array containing the status of the index creation. The array contains whether the operation succeeded ("ok"), the number of indexes before and after the operation ("numIndexesBefore" and "numIndexesAfter"), and whether the collection that the index belongs to has been created ("createdCollectionAutomatically"). If the index already existed and did not need to be created, a "note" field may be present in lieu of "numIndexesAfter".

With MongoDB 2.4 and earlier, a status document is only returned if the write concern is at least 1. Otherwise, true is returned. The fields in the status document are different, except for the "ok" field, which signals whether the index creation was successful. Additional fields are described in the documentation for MongoCollection::insert().

Erros

Throws MongoException if the index name is longer than 128 bytes, or if the index specification is not an array.

Throws MongoDuplicateKeyException if the server could not create the unique index due to conflicting documents.

Throws MongoResultException if the server could not create the index due to an error.

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Exemplos

Exemplo #1 MongoCollection::createIndex() example

<?php

$c = new MongoCollection($db, 'foo');

// create an index on 'x' ascending
$c->createIndex(array('x' => 1));

// create a unique index on 'y'
$c->createIndex(array('y' => 1), array('unique' => true));

// create a compound index on 'za' ascending and 'zb' descending
$c->createIndex(array('za' => 1, 'zb' => -1));

?>

Exemplo #2 Geospatial Indexing

Mongo supports geospatial indexes, which allow you to search for documents near a given location or within a shape. The following example creates a geospatial index on the "loc" field:

<?php

$collection->createIndex(array('loc' => '2dsphere'));

?>

Exemplo #3 Drop duplicates example

<?php

$collection->insert(array('username' => 'joeschmoe'));
$collection->insert(array('username' => 'joeschmoe'));

/* Index creation fails, since you cannot create a unique index on a field when
 * duplicates exist.
 */
$collection->createIndex(array('username' => 1), array('unique' => 1));

/* MongoDB will one of the conflicting documents and allow the unique index to
 * be created.
 */
$collection->createIndex(array('username' => 1), array('unique' => 1, 'dropDups' => 1));

/* We now have a unique index and subsequent inserts with the same username will
 * fail.
 */
$collection->insert(array('username' => 'joeschmoe'));

?>

Veja Também

  • MongoCollection::deleteIndex() - Deletes an index from this collection
  • MongoCollection::deleteIndexes() - Delete all indices for this collection
  • The MongoDB » index and » index type documentation.


Deletes an index from this collection

  • « MongoCollection::createIndex
  • MongoCollection::deleteIndexes »
  • PHP Manual
  • MongoCollection
  • Deletes an index from this collection

MongoCollection::deleteIndex

(PECL mongo >=0.9.0)

MongoCollection::deleteIndex — Deletes an index from this collection

Descrição

public MongoCollection::deleteIndex ( string|array $keys ) : array

This method is identical to:

<?php

public function deleteIndexes($keys) {
  $indexName = $this->toIndexString($keys);

  return $this->db->command(array(
    "deleteIndexes" => $this->getName(),
    "index" => $indexName,
  ));
}

?>

Each index is given a unique name when it is created. This is often generated by the driver based on the index key(s) and order/type, but custom names may also be specified with MongoCollection::createIndex()'s "name" option).

Unfortunately, MongoCollection::deleteIndex() cannot delete custom-named indexes due to a backwards compatibility issue. When a string argument is provided, it is assumed to be the single field name in an ascending index (e.g. the name "x_1" would be used for the argument "x"). If an array or object is provided, an index name is generated just as if that argument was passed to MongoCollection::createIndex().

In order to delete a custom-named index with the PHP driver, the deleteIndexes database command must be used. For instance, an index named "myIndex" could be deleted with the PHP driver by running:

<?php

$db->command(array(
  "deleteIndexes" => $collection->getName(),
  "index" => "myIndex",
));

?>

To determine the name of an index with the PHP driver, you can query the system.indexes collection of a database and look for the "name" field of each result. The "ns" field will indicate the collection to which each index belongs.

Parâmetros

keys

An array specifying the index's fields as its keys. For each field, the value is either the index direction or » index type. If specifying direction, specify 1 for ascending or -1 for descending.

If a string is provided, it is assumed to be the single field name in an ascending index.

Valor Retornado

Returns the database response.

Exemplos

Exemplo #1 MongoCollection::deleteIndex() example

This example passes the function string and array parameters.

<?php

$m = new MongoClient();
$c = $m->example->indices;

// create and remove a simple index
$c->createIndex(array("i"=>1));
$c->deleteIndex("i");

// create and remove a multi-key index
$c->ensureIndex(array("j" => 1, "k" => 1));
$c->deleteIndex(array("j" => 1, "k" => 1));

?>

Veja Também

  • MongoCollection::createIndex() - Creates an index on the specified field(s) if it does not already exist
  • MongoCollection::deleteIndexes() - Delete all indices for this collection
  • MongoCollection::toIndexString() - Converts keys specifying an index to its identifying string
  • The MongoDB » index and » index type documentation.


Delete all indices for this collection

  • « MongoCollection::deleteIndex
  • MongoCollection::distinct »
  • PHP Manual
  • MongoCollection
  • Delete all indices for this collection

MongoCollection::deleteIndexes

(PECL mongo >=0.9.0)

MongoCollection::deleteIndexes — Delete all indices for this collection

Descrição

public MongoCollection::deleteIndexes ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the database response.

Exemplos

Exemplo #1 MongoCollection::deleteIndexes() example

This example demonstrates how to delete all indexes from a collection and the response to expect.

<?php

$collection = $mongo->my_db->articles;
$response = $collection->deleteIndexes();
print_r($response);

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [nIndexesWas] => 1
    [msg] => all indexes deleted for collection
    [ok] => 1
)

Veja Também

  • MongoCollection::createIndex() - Creates an index on the specified field(s) if it does not already exist
  • MongoCollection::deleteIndex() - Deletes an index from this collection


Retrieve a list of distinct values for the given key across a collection

  • « MongoCollection::deleteIndexes
  • MongoCollection::drop »
  • PHP Manual
  • MongoCollection
  • Retrieve a list of distinct values for the given key across a collection

MongoCollection::distinct

(PECL mongo >=1.2.11)

MongoCollection::distinct — Retrieve a list of distinct values for the given key across a collection

Descrição

public MongoCollection::distinct ( string $key , array $query = ? ) : array|false

The distinct command returns a list of distinct values for the given key across a collection.

Parâmetros

key

The key to use.

query

An optional query parameters

Valor Retornado

Returns an array of distinct values, ou false em caso de falha

Exemplos

Exemplo #1 MongoCollection::distinct() example

<?php
$m = new Mongo;
$db = $m->selectDB("test");
$db->dropCollection("distinct");
$c = $db->distinct;

$c->insert(array("stuff" => "bar", "zip-code" => 10010));
$c->insert(array("stuff" => "foo", "zip-code" => 10010));
$c->insert(array("stuff" => "bar", "zip-code" => 99701), array("w" => 1));

$retval = $c->distinct("zip-code");
var_dump($retval);

$retval = $c->distinct("zip-code", array("stuff" => "foo"));
var_dump($retval);

$retval = $c->distinct("zip-code", array("stuff" => "bar"));
var_dump($retval);

?>

O exemplo acima irá imprimir:

array(2) {
  [0]=>
  int(10010)
  [1]=>
  int(99701)
}
array(1) {
  [0]=>
  int(10010)
}
array(2) {
  [0]=>
  int(10010)
  [1]=>
  int(99701)
}

Exemplo #2 MongoCollection::distinct() example on a embedded document

<?php
$c->insert(array("user" => array("points" => 25)));
$c->insert(array("user" => array("points" => 31)));
$c->insert(array("user" => array("points" => 25)));

$retval = $c->distinct("user.points");
var_dump($retval);

$retval = $c->distinct("user.nonexisting");
var_dump($retval);
?>

O exemplo acima irá imprimir:

array(2) {
  [0]=>
  int(25)
  [1]=>
  int(31)
}
array(0) {
}


Drops this collection

  • « MongoCollection::distinct
  • MongoCollection::ensureIndex »
  • PHP Manual
  • MongoCollection
  • Drops this collection

MongoCollection::drop

(PECL mongo >=0.9.0)

MongoCollection::drop — Drops this collection

Descrição

public MongoCollection::drop ( ) : array

Drops this collection and deletes its indices.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the database response.

Exemplos

Exemplo #1 MongoCollection::drop() example

This example demonstrates how to drop a collection and the response to expect.

<?php

$collection = $mongo->my_db->articles;
$response = $collection->drop();
print_r($response);

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [nIndexesWas] => 1
    [msg] => all indexes deleted for collection
    [ns] => my_db.articles
    [ok] => 1
)


Creates an index on the specified field(s) if it does not already exist

  • « MongoCollection::drop
  • MongoCollection::find »
  • PHP Manual
  • MongoCollection
  • Creates an index on the specified field(s) if it does not already exist

MongoCollection::ensureIndex

(PECL mongo >=0.9.0)

MongoCollection::ensureIndex — Creates an index on the specified field(s) if it does not already exist

Descrição

public MongoCollection::ensureIndex ( string|array $key|keys , array $options = array() ) : bool
Aviso

This method is deprecated since version 1.5.0. Please use MongoCollection::createIndex() instead.

Creates an index on the specified field(s) if it does not already exist. Fields may be indexed with a direction (e.g. ascending or descending) or a special type (e.g. text, geospatial, hashed).

Nota:

This method will use the » createIndexes database command when communicating with MongoDB 2.6+. For previous database versions, the method will perform an insert operation on the special system.indexes collection.

Parâmetros

keys

An array specifying the index's fields as its keys. For each field, the value is either the index direction or » index type. If specifying direction, specify 1 for ascending or -1 for descending.

options

An array of options for the index creation. Currently available options include:

  • "unique"

    Specify true to create a unique index. The default value is false. This option applies only to ascending/descending indexes.

    Nota:

    When MongoDB indexes a field, if a document does not have a value for the field, a null value is indexed. If multiple documents do not contain a field, a unique index will reject all but the first of those documents. The "sparse" option may be used to overcome this, since it will prevent documents without the field from being indexed.

  • "sparse"

    Specify true to create a sparse index, which only indexes documents containing a specified field. The default value is false.

  • "expireAfterSeconds"

    The value of this option should specify the number of seconds after which a document should be considered expired and automatically removed from the collection. This option is only compatible with single-field indexes where the field will contain MongoDate values.

    Nota:

    This feature is available in MongoDB 2.2+. See » Expire Data from Collections by Setting TTL for more information.

  • "name"

    A optional name that uniquely identifies the index.

    Nota:

    By default, the driver will generate an index name based on the index's field(s) and ordering or type. For example, a compound index array("x" => 1, "y" => -1) would be named "x_1_y_-1" and a geospatial index array("loc" => "2dsphere") would be named "loc_2dsphere". For indexes with many fields, it is possible that the generated name might exceed MongoDB's » limit for index names. The "name" option may be used in that case to supply a shorter name.

  • "background"

    Builds the index in the background so that building an index does not block other database activities. Specify true to build in the background. The default value is false.

    Aviso

    Prior to MongoDB 2.6.0, index builds on secondaries were executed as foreground operations, irrespective of this option. See » Building Indexes with Replica Sets for more information.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

The following option may be used with MongoDB 2.6+:

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation on the server (does not include idle time). If the operation is not completed by the server within the timeout period, a MongoExecutionTimeoutException will be thrown.

The following options may be used with MongoDB versions before 2.8:

  • "dropDups"

    Specify true to force creation of a unique index where the collection may contain duplicate values for a key. MongoDB will index the first occurrence of a key and delete all subsequent documents from the collection that contain a duplicate value for that key. The default value is false.

    Aviso

    "dropDups" may delete data from your database. Use with extreme caution.

    Nota:

    This option is not supported on MongoDB 2.8+. Index creation will fail if the collection contains duplicate values.

The following options may be used with MongoDB versions before 2.6:

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

Valor Retornado

Returns an array containing the status of the index creation. The array contains whether the operation succeeded ("ok"), the number of indexes before and after the operation ("numIndexesBefore" and "numIndexesAfter"), and whether the collection that the index belongs to has been created ("createdCollectionAutomatically"). If the index already existed and did not need to be created, a "note" field may be present in lieu of "numIndexesAfter".

With MongoDB 2.4 and earlier, a status document is only returned if the write concern is at least 1. Otherwise, true is returned. The fields in the status document are different, except for the "ok" field, which signals whether the index creation was successful. Additional fields are described in the documentation for MongoCollection::insert().

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Renamed the "wtimeout" option to "wTimeoutMS". Emits E_DEPRECATED when "wtimeout" is used. Renamed the "timeout" option to "socketTimeoutMS". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
PECL mongo 1.3.4 | Added "wtimeout" option.
PECL mongo 1.3.0 | Added "w" option. The options parameter no longer accepts a boolean to signify a unique index. Instead, this now has to be done with array('unique' => true).
PECL mongo 1.2.11 | Emits E_DEPRECATED when options is scalar.
PECL mongo 1.2.0 | Added "timeout" option.
PECL mongo 1.0.11 | The "safe" option will trigger a primary failover, if necessary. MongoException will be thrown if the index name (either generated or set) is longer than 128 bytes.
PECL mongo 1.0.5 | Added the "name" option to override index name creation.
PECL mongo 1.0.2 | Changed options parameter from boolean to array. Pre-1.0.2, the second parameter was an optional boolean value specifying a unique index.

Erros

Throws MongoException if the index name is longer than 128 bytes, or if the index specification is not an array.

Throws MongoDuplicateKeyException if the server could not create the unique index due to conflicting documents.

Throws MongoResultException if the server could not create the index due to an error.

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Exemplos

Exemplo #1 MongoCollection::ensureIndex() example

<?php

$c = new MongoCollection($db, 'foo');

// create an index on 'x' ascending
$c->ensureIndex(array('x' => 1));

// create a unique index on 'y'
$c->ensureIndex(array('y' => 1), array('unique' => true));

// create a compound index on 'za' ascending and 'zb' descending
$c->ensureIndex(array('za' => 1, 'zb' => -1));

?>

Exemplo #2 Geospatial Indexing

Mongo supports geospatial indexes, which allow you to search for documents near a given location or within a shape. The following example creates a geospatial index on the "loc" field:

<?php

$collection->ensureIndex(array('loc' => '2dsphere'));

?>

Exemplo #3 Drop duplicates example

<?php

$collection->insert(array('username' => 'joeschmoe'));
$collection->insert(array('username' => 'joeschmoe'));

/* Index creation fails, since you cannot create a unique index on a field when
 * duplicates exist.
 */
$collection->ensureIndex(array('username' => 1), array('unique' => 1));

/* MongoDB will one of the conflicting documents and allow the unique index to
 * be created.
 */
$collection->ensureIndex(array('username' => 1), array('unique' => 1, 'dropDups' => 1));

/* We now have a unique index and subsequent inserts with the same username will
 * fail.
 */
$collection->insert(array('username' => 'joeschmoe'));

?>

Veja Também

  • MongoCollection::createIndex() - Creates an index on the specified field(s) if it does not already exist
  • MongoCollection::deleteIndex() - Deletes an index from this collection
  • MongoCollection::deleteIndexes() - Delete all indices for this collection
  • The MongoDB » index and » index type documentation.


Queries this collection, returning a MongoCursor for the result set

  • « MongoCollection::ensureIndex
  • MongoCollection::findAndModify »
  • PHP Manual
  • MongoCollection
  • Queries this collection, returning a MongoCursor for the result set

MongoCollection::find

(PECL mongo >=0.9.0)

MongoCollection::find — Queries this collection, returning a MongoCursor for the result set

Descrição

public MongoCollection::find
 ( array $query = array()
, array $fields = array()
) : MongoCursor

Parâmetros

query

The fields for which to search. MongoDB's query language is quite extensive. The PHP driver will in almost all cases pass the query straight through to the server, so reading the MongoDB core docs on » find is a good idea.

Aviso

Please make sure that for all special query operators (starting with $) you use single quotes so that PHP doesn't try to replace "$exists" with the value of the variable $exists.

fields

Fields of the results to return. The array is in the format array('fieldname' => true, 'fieldname2' => true). The _id field is always returned.

Valor Retornado

Returns a cursor for the search results.

Exemplos

Exemplo #1 MongoCollection::find() example

This example demonstrates basic search options.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'produce');

// search for fruits
$fruitQuery = array('Type' => 'Fruit');

$cursor = $collection->find($fruitQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

// search for produce that is sweet. Taste is a child of Details.
$sweetQuery = array('Details.Taste' => 'Sweet');
echo "Sweet\n";
$cursor = $collection->find($sweetQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

?>

O exemplo acima irá imprimir:

array(4) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "50a87dd084f045a19b220dd6"
  }
  ["Name"]=>
  string(5) "Apple"
  ["Type"]=>
  string(5) "Fruit"
  ["Details"]=>
  array(2) {
    ["Taste"]=>
    string(5) "Sweet"
    ["Colour"]=>
    string(3) "Red"
  }
}
array(4) {
  ["_id"]=>
  object(MongoId)#8 (1) {
    ["$id"]=>
    string(24) "50a87de084f045a19b220dd7"
  }
  ["Name"]=>
  string(5) "Lemon"
  ["Type"]=>
  string(5) "Fruit"
  ["Details"]=>
  array(2) {
    ["Taste"]=>
    string(4) "Sour"
    ["Colour"]=>
    string(5) "Green"
  }
}

Sweet:
array(4) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "50a87dd084f045a19b220dd6"
  }
  ["Name"]=>
  string(5) "Apple"
  ["Type"]=>
  string(5) "Fruit"
  ["Details"]=>
  array(2) {
    ["Taste"]=>
    string(5) "Sweet"
    ["Colour"]=>
    string(3) "Red"
  }
}

See MongoCursor for more information how to work with cursors.

Exemplo #2 MongoCollection::find() example

This example demonstrates how to search for a range.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'phpmanual');

// search for documents where 5 < x < 20
$rangeQuery = array('x' => array( '$gt' => 5, '$lt' => 20 ));

$cursor = $collection->find($rangeQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

?>

O exemplo acima irá imprimir:

array(2) {
  ["_id"]=>
  object(MongoId)#10 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000000"
  }
  ["x"]=>
  int(12)
}
array(2) {
  ["_id"]=>
  object(MongoId)#11 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000001"
  }
  ["x"]=>
  int(12)
}

See MongoCursor for more information how to work with cursors.

Exemplo #3 MongoCollection::find() example using $where

This example demonstrates how to search a collection using javascript code to reduce the resultset.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'phpmanual');

$js = "function() {
    return this.name == 'Joe' || this.age == 50;
}";
$cursor = $collection->find(array('$where' => $js));
foreach ($cursor as $doc) {
    var_dump($doc);
}

?>

O exemplo acima irá imprimir:

array(3) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000002"
  }
  ["name"]=>
  string(3) "Joe"
  ["age"]=>
  int(20)
}

Exemplo #4 MongoCollection::find() example using $in

This example demonstrates how to search a collection using the $in operator.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'phpmanual');

$cursor = $collection->find(array(
    'name' => array('$in' => array('Joe', 'Wendy'))
));

?>

O exemplo acima irá imprimir:

array(3) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000002"
  }
  ["name"]=>
  string(3) "Joe"
  ["age"]=>
  int(20)
}

Exemplo #5 Getting results as an array

This returns a MongoCursor. Often, when people are starting out, they are more comfortable using an array. To turn a cursor into an array, use the iterator_to_array() function.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'phpmanual');

$cursor = $collection->find();
$array = iterator_to_array($cursor);

?>

O exemplo acima irá imprimir:

array(3) {
  ["4ebc40af10b89f5149000000"]=>
  array(2) {
    ["_id"]=>
    object(MongoId)#6 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000000"
    }
    ["x"]=>
    int(12)
  }
  ["4ebc40af10b89f5149000001"]=>
  array(2) {
    ["_id"]=>
    object(MongoId)#11 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000001"
    }
    ["x"]=>
    int(12)
  }
  ["4ebc40af10b89f5149000002"]=>
  array(3) {
    ["_id"]=>
    object(MongoId)#12 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000002"
    }
    ["name"]=>
    string(3) "Joe"
    ["age"]=>
    int(20)
  }
}

Using iterator_to_array() forces the driver to load all of the results into memory, so do not do this for result sets that are larger than memory!

Also, certain system collections do not have an _id field. If you are dealing with a collection that might have documents without _ids, pass false as the second argument to iterator_to_array() (so that it will not try to use the non-existent _id values as keys).

Veja Também

  • MongoCollection::findOne() - Queries this collection, returning a single element
  • MongoCollection::insert() - Inserts a document into the collection
  • MongoDB core docs on » find.


Update a document and return it

  • « MongoCollection::find
  • MongoCollection::findOne »
  • PHP Manual
  • MongoCollection
  • Update a document and return it

MongoCollection::findAndModify

(PECL mongo >=1.3.0)

MongoCollection::findAndModify — Update a document and return it

Descrição

public MongoCollection::findAndModify ( array $query , array $update = ? , array $fields = ? , array $options = ? ) : array

The findAndModify command atomically modifies and returns a single document. By default, the returned document does not include the modifications made on the update. To return the document with the modifications made on the update, use the new option.

Parâmetros

query

The query criteria to search for.

update

The update criteria.

fields

Optionally only return these fields.

options

An array of options to apply, such as remove the match document from the DB and return it.

Option | Descrição
sort array | Determines which document the operation will modify if the query selects multiple documents. findAndModify will modify the first document in the sort order specified by this argument.
remove bool | Optional if update field exists. When true, removes the selected document. The default is false.
update array | Optional if remove field exists. Performs an update of the selected document.
new bool | Optional. When true, returns the modified document rather than the original. The findAndModify method ignores the new option for remove operations. The default is false.
upsert bool | Optional. Used in conjunction with the update field. When true, the findAndModify command creates a new document if the query returns no documents. The default is false. In MongoDB 2.2, the findAndModify command returns null when upsert is true.

Valor Retornado

Returns the original document, or the modified document when new is set.

Erros

Throws MongoResultException on failure.

Exemplos

Exemplo #1 MongoCollection::findAndModify() example

<?php
$m = new Mongo;
$col = $m->selectDB("test")->jobs;

$col->insert(array(
     "name" => "Next promo",
     "inprogress" => false,
     "priority" => 0,
     "tasks" => array( "select product", "add inventory", "do placement"),
) );

$col->insert(array(
     "name" => "Biz report",
     "inprogress" => false,
     "priority" => 1,
     "tasks" => array( "run sales report", "email report" )
) );

$col->insert(array(
     "name" => "Biz report",
     "inprogress" => false,
     "priority" => 2,
     "tasks" => array( "run marketing report", "email report" )
    ),
    array("w" => 1)
);

$retval = $col->findAndModify(
     array("inprogress" => false, "name" => "Biz report"),
     array('$set' => array('inprogress' => true, "started" => new MongoDate())),
     null,
     array(
        "sort" => array("priority" => -1),
        "new" => true,
    )
);

var_dump($retval);
?>

O exemplo acima irá imprimir algo similar à:

array(6) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "5091b5b244415e8cc3000002"
  }
  ["inprogress"]=>
  bool(true)
  ["name"]=>
  string(10) "Biz report"
  ["priority"]=>
  int(2)
  ["started"]=>
  object(MongoDate)#8 (2) {
    ["sec"]=>
    int(1351726514)
    ["usec"]=>
    int(925000)
  }
  ["tasks"]=>
  array(2) {
    [0]=>
    string(20) "run marketing report"
    [1]=>
    string(12) "email report"
  }
}

Exemplo #2 MongoCollection::findAndModify() error handling

<?php
$m = new Mongo;
$col = $m->selectDB("test")->jobs;
try {
    $retval = $col->findAndModify(
         array("inprogress" => false, "name" => "Next promo"),
         array('$pop' => array("tasks" => -1)),
         array("tasks" => array('$pop' => array("stuff"))),
         array("new" => true)
    );
} catch(MongoResultException $e) {
    echo $e->getCode(), " : ", $e->getMessage(), "\n";
    var_dump($e->getDocument());
}

?>

O exemplo acima irá imprimir algo similar à:

13097 : exception: Unsupported projection option: $pop
array(3) {
  ["errmsg"]=>
  string(46) "exception: Unsupported projection option: $pop"
  ["code"]=>
  int(13097)
  ["ok"]=>
  float(0)
}

Veja Também

  • The MongoDB » findAndModify command docs


Queries this collection, returning a single element

  • « MongoCollection::findAndModify
  • MongoCollection::__get »
  • PHP Manual
  • MongoCollection
  • Queries this collection, returning a single element

MongoCollection::findOne

(PECL mongo >=0.9.0)

MongoCollection::findOne — Queries this collection, returning a single element

Descrição

public MongoCollection::findOne
 ( array $query = array()
, array $fields = array()
, array $options = array()
) : array

As opposed to MongoCollection::find(), this method will return only the first result from the result set, and not a MongoCursor that can be iterated over.

Parâmetros

query

The fields for which to search. MongoDB's query language is quite extensive. The PHP driver will in almost all cases pass the query straight through to the server, so reading the MongoDB core docs on » find is a good idea.

Aviso

Please make sure that for all special query operaters (starting with $) you use single quotes so that PHP doesn't try to replace "$exists" with the value of the variable $exists.

fields

Fields of the results to return. The array is in the format array('fieldname' => true, 'fieldname2' => true). The _id field is always returned.

options

This parameter is an associative array of the form array("name" => <value>, ...). Currently supported options are:

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation on the server (does not include idle time). If the operation is not completed by the server within the timeout period, a MongoExecutionTimeoutException will be thrown.

Valor Retornado

Returns record matching the search or null.

Erros

Throws MongoConnectionException if it cannot reach the database.

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Added optional options argument.

Exemplos

Exemplo #1 MongoCollection::findOne() document by its id.

This example demonstrates how to find a single document in a collection by its id.

<?php

$articles = $mongo->my_db->articles;

$article = $articles->findOne(array('_id' => new MongoId('47cc67093475061e3d9536d2')));

?>

Exemplo #2 MongoCollection::findOne() document by some condition.

This example demonstrates how to find a single document in a collection by some condition and limiting the returned fields.

<?php

$users = $mongo->my_db->users;
$user = $users->findOne(array('username' => 'jwage'), array('password'));
print_r($user);

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [_id] => MongoId Object
        (
        )

    [password] => test
)

Notice how even though the document does have a username field, we limited the results to only contain the password field.

Veja Também

  • MongoCollection::find() - Queries this collection, returning a MongoCursor for the result set
  • MongoCollection::insert() - Inserts a document into the collection
  • MongoDB core docs on » find.


Gets a collection

  • « MongoCollection::findOne
  • MongoCollection::getDBRef »
  • PHP Manual
  • MongoCollection
  • Gets a collection

MongoCollection::__get

(PECL mongo >=1.0.2)

MongoCollection::__get — Gets a collection

Descrição

public MongoCollection::__get ( string $name ) : MongoCollection

A concise syntax for getting a collection with a dot-separated name. If a collection name contains strange characters, you may have to use MongoDB::selectCollection() instead.

<?php

$mongo = new MongoClient();

// the following two lines are equivalent
$collection = $mongo->selectDB("foo")->selectCollection("bar.baz");
$collection = $mongo->foo->bar->baz;

?>

Parâmetros

name

The next string in the collection name.

Valor Retornado

Returns the collection.


Fetches the document pointed to by a database reference

  • « MongoCollection::__get
  • MongoCollection::getIndexInfo »
  • PHP Manual
  • MongoCollection
  • Fetches the document pointed to by a database reference

MongoCollection::getDBRef

(PECL mongo >=0.9.0)

MongoCollection::getDBRef — Fetches the document pointed to by a database reference

Descrição

public MongoCollection::getDBRef ( array $ref ) : array

Parâmetros

ref

A database reference.

Valor Retornado

Returns the database document pointed to by the reference.

Exemplos

Exemplo #1 MongoCollection::getDBRef() example

<?php

$playlists = $db->playlists;

$myList = $playlists->findOne(array('username' => 'me'));

// fetch each song in the playlist
foreach ($myList['songlist'] as $songRef) {
    $song = $playlists->getDBRef($songRef);
    echo $song['title'] . "\n";
}

?>

O exemplo acima irá imprimir algo similar à:

Dazed and Confused
Ma na ma na
Bohemian Rhapsody

In the above example each $songRef looks something like the following:
    Array
    (
        [$ref] => songs
        [$id] => 49902cde5162504500b45c2c
    )

Veja Também

  • MongoCollection::createDBRef() - Creates a database reference


Returns information about indexes on this collection

  • « MongoCollection::getDBRef
  • MongoCollection::getName »
  • PHP Manual
  • MongoCollection
  • Returns information about indexes on this collection

MongoCollection::getIndexInfo

(PECL mongo >=0.9.0)

MongoCollection::getIndexInfo — Returns information about indexes on this collection

Descrição

public MongoCollection::getIndexInfo ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This function returns an array in which each element describes an index. Elements will contain the values name for the name of the index, ns for the namespace (a combination of the database and collection name), and key for a list of all fields in the index and their ordering. Additional values may be present for special indexes, such as unique or sparse.

Exemplos

Exemplo #1 MongoCollection::getIndexInfo() example

<?php

$m = new MongoClient();
$c = $m->selectCollection('test', 'venues');
var_dump($c->getIndexInfo());

?>

O exemplo acima irá imprimir algo similar à:

array(4) {
  [0]=>
  array(4) {
    ["v"]=>
    int(1)
    ["key"]=>
    array(1) {
      ["_id"]=>
      int(1)
    }
    ["name"]=>
    string(4) "_id_"
    ["ns"]=>
    string(11) "test.venues"
  }
  [1]=>
  array(4) {
    ["v"]=>
    int(1)
    ["key"]=>
    array(1) {
      ["name"]=>
      float(1)
    }
    ["name"]=>
    string(6) "name_1"
    ["ns"]=>
    string(11) "test.venues"
  }
  [2]=>
  array(4) {
    ["v"]=>
    int(1)
    ["key"]=>
    array(2) {
      ["type"]=>
      float(1)
      ["createdAt"]=>
      float(-1)
    }
    ["name"]=>
    string(19) "type_1_createdAt_-1"
    ["ns"]=>
    string(11) "test.venues"
  }
  [3]=>
  array(5) {
    ["v"]=>
    int(1)
    ["key"]=>
    array(1) {
      ["location"]=>
      string(8) "2dsphere"
    }
    ["name"]=>
    string(17) "location_2dsphere"
    ["ns"]=>
    string(11) "test.venues"
    ["2dsphereIndexVersion"]=>
    int(2)
  }
}

Veja Também

MongoDB core docs on » vanilla indexes and » geospatial indexes.


Returns this collection's name

  • « MongoCollection::getIndexInfo
  • MongoCollection::getReadPreference »
  • PHP Manual
  • MongoCollection
  • Returns this collection's name

MongoCollection::getName

(PECL mongo >=0.9.0)

MongoCollection::getName — Returns this collection's name

Descrição

public MongoCollection::getName ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the name of this collection.

Exemplos

Exemplo #1 MongoCollection::getName() example

<?php

$m = new MongoClient();
$c = $m->foo->bar->baz;

echo "Working with collection " . $c->getName() . ".\n";

// the full namespace is given by the MongoCollection::__toString() method
echo "Working in namespace $c.\n";

?>

O exemplo acima irá imprimir algo similar à:

Working with collection bar.baz.
Working in namespace foo.bar.baz.


Get the read preference for this collection

  • « MongoCollection::getName
  • MongoCollection::getSlaveOkay »
  • PHP Manual
  • MongoCollection
  • Get the read preference for this collection

MongoCollection::getReadPreference

(PECL mongo >=1.3.0)

MongoCollection::getReadPreference — Get the read preference for this collection

Descrição

public MongoCollection::getReadPreference ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This function returns an array describing the read preference. The array contains the values type for the string read preference mode (corresponding to the MongoClient constants), and tagsets containing a list of all tag set criteria. If no tag sets were specified, tagsets will not be present in the array.

Changelog

Versão | Descrição
PECL mongo 1.3.3 | The return value has changed to be consistent with MongoCollection::setReadPreference(). The type value was changed from a number to a string, type_string was removed, and tagsets now expresses tags as key/value pairs instead of colon-delimited strings.

Exemplos

Exemplo #1 MongoCollection::getReadPreference() return value example

<?php

$m = new MongoClient();
$c = $m->test->users;
$c->setReadPreference(MongoClient::RP_SECONDARY, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
    array(),
));
var_dump($c->getReadPreference());
?>

O exemplo acima irá imprimir:

array(2) {
  ["type"]=>
  string(9) "secondary"
  ["tagsets"]=>
  array(3) {
    [0]=>
    array(2) {
      ["dc"]=>
      string(4) "east"
      ["use"]=>
      string(9) "reporting"
    }
    [1]=>
    array(1) {
      ["dc"]=>
      string(7) "west"
    }
    [2]=>
    array(0) {
    }
  }
}

Veja Também

  • The read preferences documentation.
  • MongoCollection::setReadPreference() - Set the read preference for this collection


Get slaveOkay setting for this collection

  • « MongoCollection::getReadPreference
  • MongoCollection::getWriteConcern »
  • PHP Manual
  • MongoCollection
  • Get slaveOkay setting for this collection

MongoCollection::getSlaveOkay

(PECL mongo >=1.1.0)

MongoCollection::getSlaveOkay — Get slaveOkay setting for this collection

Descrição

public MongoCollection::getSlaveOkay ( ) : bool

See the query section of this manual for information on distributing reads to secondaries.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the value of slaveOkay for this instance.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.

Veja Também

  • Read Preferences
  • MongoCollection::getReadPreference() - Get the read preference for this collection


Get the write concern for this collection

  • « MongoCollection::getSlaveOkay
  • MongoCollection::group »
  • PHP Manual
  • MongoCollection
  • Get the write concern for this collection

MongoCollection::getWriteConcern

(PECL mongo >=1.5.0)

MongoCollection::getWriteConcern — Get the write concern for this collection

Descrição

public MongoCollection::getWriteConcern ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This function returns an array describing the write concern. The array contains the values w for an integer acknowledgement level or string mode, and wtimeout denoting the maximum number of milliseconds to wait for the server to satisfy the write concern.

Exemplos

Exemplo #1 MongoCollection::getWriteConcern() return value example

<?php

$mc = new MongoClient('mongodb://localhost:27017', array('wTimeoutMS' => 500));
$coll = $mc->selectCollection('test', 'foo');
var_dump($coll->getWriteConcern());

$coll->setWriteConcern(1, 1000);
var_dump($coll->getWriteConcern());
?>

O exemplo acima irá imprimir:

array(2) {
  ["w"]=>
  int(1)
  ["wtimeout"]=>
  int(500)
}
array(2) {
  ["w"]=>
  int(1)
  ["wtimeout"]=>
  int(1000)
}

Veja Também

  • The write concern documentation.
  • MongoCollection::setWriteConcern() - Set the write concern for this database


Performs an operation similar to SQL's GROUP BY command

  • « MongoCollection::getWriteConcern
  • MongoCollection::insert »
  • PHP Manual
  • MongoCollection
  • Performs an operation similar to SQL's GROUP BY command

MongoCollection::group

(PECL mongo >=0.9.2)

MongoCollection::group — Performs an operation similar to SQL's GROUP BY command

Descrição

public MongoCollection::group ( mixed $keys , array $initial , MongoCode $reduce , array $options = array() ) : array

Parâmetros

keys

Fields to group by. If an array or non-code object is passed, it will be the key used to group results.

1.0.4+: If keys is an instance of MongoCode, keys will be treated as a function that returns the key to group by (see the "Passing a keys function" example below).

initial

Initial value of the aggregation counter object.

reduce

A function that takes two arguments (the current document and the aggregation to this point) and does the aggregation.

options

Optional parameters to the group command. Valid options include:

  • "condition"

    Criteria for including a document in the aggregation.

  • "finalize"

    Function called once per unique key that takes the final output of the reduce function.

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation on the server (does not include idle time). If the operation is not completed by the server within the timeout period, a MongoExecutionTimeoutException will be thrown.

Valor Retornado

Returns an array containing the result.

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Added "maxTimeMS" option.
PECL mongo 1.2.11 | Emits E_DEPRECATED when options is scalar.

Exemplos

Exemplo #1 MongoCollection::group() example

This groups documents by category and creates a list of names within that category.

<?php

$collection->insert(array("category" => "fruit", "name" => "apple"));
$collection->insert(array("category" => "fruit", "name" => "peach"));
$collection->insert(array("category" => "fruit", "name" => "banana"));
$collection->insert(array("category" => "veggie", "name" => "corn"));
$collection->insert(array("category" => "veggie", "name" => "broccoli"));

$keys = array("category" => 1);

$initial = array("items" => array());

$reduce = "function (obj, prev) { prev.items.push(obj.name); }";

$g = $collection->group($keys, $initial, $reduce);

echo json_encode($g['retval']);

?>

O exemplo acima irá imprimir algo similar à:

[{"category":"fruit","items":["apple","peach","banana"]},{"category":"veggie","items":["corn","broccoli"]}]

Exemplo #2 MongoCollection::group() example

This example doesn't use any key, so every document will be its own group. It also uses a condition: only documents that match this condition will be processed by the grouping function.

<?php

$collection->save(array("a" => 2));
$collection->save(array("b" => 5));
$collection->save(array("a" => 1));

// use all fields
$keys = array();

// set intial values
$initial = array("count" => 0);

// JavaScript function to perform
$reduce = "function (obj, prev) { prev.count++; }";

// only use documents where the "a" field is greater than 1
$condition = array('condition' => array("a" => array( '$gt' => 1)));

$g = $collection->group($keys, $initial, $reduce, $condition);

var_dump($g);

?>

O exemplo acima irá imprimir algo similar à:

array(4) {
  ["retval"]=>
  array(1) {
    [0]=>
    array(1) {
      ["count"]=>
      float(1)
    }
  }
  ["count"]=>
  float(1)
  ["keys"]=>
  int(1)
  ["ok"]=>
  float(1)
}

Exemplo #3 Passing a keys function

If you want to group by something other than a field name, you can pass a function as the first parameter of MongoCollection::group() and it will be run against each document. The return value of the function will be used as its grouping value.

This example demonstrates grouping by the num field modulo 4.

<?php

$c->group(new MongoCode('function(doc) { return {mod : doc.num % 4}; }'),
     array("count" => 0),
     new MongoCode('function(current, total) { total.count++; }'));

?>


Inserts a document into the collection

  • « MongoCollection::group
  • MongoCollection::parallelCollectionScan »
  • PHP Manual
  • MongoCollection
  • Inserts a document into the collection

MongoCollection::insert

(PECL mongo >=0.9.0)

MongoCollection::insert — Inserts a document into the collection

Descrição

public MongoCollection::insert ( array|object $document , array $options = array() ) : bool|array

All strings sent to the database must be UTF-8. If a string is not UTF-8, a MongoException will be thrown. To insert (or query for) a non-UTF-8 string, use MongoBinData.

Parâmetros

document

An array or object. If an object is used, it may not have protected or private properties.

Nota:

If the parameter does not have an _id key or property, a new MongoId instance will be created and assigned to it. This special behavior does not mean that the parameter is passed by reference.

options

An array of options for the insert operation. Currently available options include:

  • "fsync"

    Boolean, defaults to false. If journaling is enabled, it works exactly like "j". If journaling is not enabled, the write operation blocks until it is synced to database files on disk. If true, an acknowledged insert is implied and this option will override setting "w" to 0.

    Nota: If journaling is enabled, users are strongly encouraged to use the "j" option instead of "fsync". Do not use "fsync" and "j" simultaneously, as that will result in an error.

  • "j"

    Boolean, defaults to false. Forces the write operation to block until it is synced to the journal on disk. If true, an acknowledged write is implied and this option will override setting "w" to 0.

    Nota: If this option is used and journaling is disabled, MongoDB 2.6+ will raise an error and the write will fail; older server versions will simply ignore the option.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

Valor Retornado

Returns an array containing the status of the insertion if the "w" option is set. Otherwise, returns true if the inserted array is not empty (a MongoException will be thrown if the inserted array is empty).

If an array is returned, the following keys may be present:

ok

This should almost always be 1 (unless last_error itself failed).

err

If this field is non-null, an error occurred on the previous operation. If this field is set, it will be a string describing the error that occurred.

code

If a database error occurred, the relevant error code will be passed back to the client.

errmsg

This field is set if something goes wrong with a database command. It is coupled with ok being 0. For example, if w is set and times out, errmsg will be set to "timed out waiting for slaves" and ok will be 0. If this field is set, it will be a string describing the error that occurred.

n

If the last operation was an update, upsert, or a remove, the number of documents affected will be returned. For insert operations, this value is always 0.

wtimeout

If the previous option timed out waiting for replication.

waited

How long the operation waited before timing out.

wtime

If w was set and the operation succeeded, how long it took to replicate to w servers.

upserted

If an upsert occurred, this field will contain the new record's _id field. For upserts, either this field or updatedExisting will be present (unless an error occurred).

updatedExisting

If an upsert updated an existing element, this field will be true. For upserts, either this field or upserted will be present (unless an error occurred).

Erros

Throws MongoException if the inserted document is empty or if it contains zero-length keys. Attempting to insert an object with protected and private properties will cause a zero-length key error.

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Added the "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added the "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
PECL mongo 1.3.4 | Added "wtimeout" option.
PECL mongo 1.3.0 | Added "w" option. The options parameter no longer accepts a boolean to signify an acknowledged write. Instead, this now has to be done with array('w' => 1) (the default behaviour of MongoClient).
PECL mongo 1.2.0 | Added "timeout" option.
PECL mongo 1.0.11 | Disconnects on "not master" errors if "safe" is set.
PECL mongo 1.0.9 | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option. The return type was changed to be an array containing error information if the "safe" option is used. Otherwise, a boolean is returned as before.
PECL mongo 1.0.2 | Changed second parameter to be an array of options. Pre-1.0.2, the second parameter was a boolean indicating the "safe" option.
PECL mongo 1.0.1 | Throw a MongoCursorException if the "safe" option is set and the insert fails.

Exemplos

Exemplo #1 MongoCollection::insert() _id example

An _id field will be added to the inserted document if not already present. Depending on how the parameter is passed, a generated _id may or may not be available to calling code.

<?php

$m = new MongoClient();
$collection = $m->selectCollection('test', 'phpmanual');

// If an array literal is used, there is no way to access the generated _id
$collection->insert(array('x' => 1));

// The _id is available on an array passed by value
$a = array('x' => 2);
$collection->insert($a);
var_dump($a);

// The _id is not available on an array passed by reference
$b = array('x' => 3);
$ref = &$b;
$collection->insert($ref);
var_dump($ref);

// The _id is available if a wrapping function does not trigger copy-on-write
function insert_no_cow($collection, $document)
{
    $collection->insert($document);
}

$c = array('x' => 4);
insert_no_cow($collection, $c);
var_dump($c);

// The _id is not available if a wrapping function triggers copy-on-write
function insert_cow($collection, $document)
{
    $document['y'] = 1;
    $collection->insert($document);
}

$d = array('x' => 5);
insert_cow($collection, $d);
var_dump($d);

?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["x"]=>
  int(2)
  ["_id"]=>
  object(MongoId)#4 (0) {
  }
}
array(1) {
  ["x"]=>
  int(3)
}
array(2) {
  ["x"]=>
  int(4)
  ["_id"]=>
  object(MongoId)#5 (0) {
  }
}
array(1) {
  ["x"]=>
  int(5)
}

Exemplo #2 MongoCollection::insert() acknowledged write example

This example shows inserting two elements with the same _id, which causes a MongoCursorException to be thrown, as w was set.

<?php

$person = array("name" => "Joe", "age" => 20);
$collection->insert($person);

// now $person has an _id field, so if we save it
// again, we will get an exception
try {
    $collection->insert($person, array("w" => 1));
} catch(MongoCursorException $e) {
    echo "Can't save the same person twice!\n";
}

?>

Veja Também

  • MongoCollection::batchInsert() - Inserts multiple documents into this collection
  • MongoCollection::update() - Update records based on a given criteria
  • MongoCollection::find() - Queries this collection, returning a MongoCursor for the result set
  • MongoCollection::remove() - Remove records from this collection
  • MongoDB core docs on » insert.


Returns an array of cursors to iterator over a full collection in parallel

  • « MongoCollection::insert
  • MongoCollection::remove »
  • PHP Manual
  • MongoCollection
  • Returns an array of cursors to iterator over a full collection in parallel

MongoCollection::parallelCollectionScan

(PECL mongo >=1.5.0)

MongoCollection::parallelCollectionScan — Returns an array of cursors to iterator over a full collection in parallel

Descrição

public MongoCollection::parallelCollectionScan ( int $num_cursors ) : array[MongoCommandCursor]

This method returns an array of a maximum of num_cursors cursors. An iteration over one of the returned cursors results in a partial set of documents for a collection. Iteration over all the returned cursors results in getting every document back from the collection.

This method is a wrapper for the parallelCollectionScan MongoDB command.

Parâmetros

num_cursors

The number of cursors to request from the server. Please note, that the server can return less cursors than you requested.

Valor Retornado

Returns an array of MongoCommandCursor objects.

Exemplos

Exemplo #1 MongoCollection::parallelCollectionScan() example

Returning all documents in a collection by using multiple cursors.

<?php
$m = new MongoClient;
$c = $m->demo->cities;

/* Request three cursors */
$cursors = $c->parallelCollectionScan( 3 );

/* Add all the cursors to the MultipleIterator */
$mi = new MultipleIterator( MultipleIterator::MIT_NEED_ANY );
foreach ( $cursors as $cursor )
{
    $mi->attachIterator( $cursor );
}

/* Iterate over all the associated cursors */
foreach ( $mi as $items )
{
    foreach ( $items as $item )
    {
        if ( $item !== NULL )
        {
            echo $item['name'], "\n";
        }
    }
}
?>

Veja Também

  • MultipleIterator
  • MongoCommandCursor
  • MongoDB::command() - Execute a database command


Remove records from this collection

  • « MongoCollection::parallelCollectionScan
  • MongoCollection::save »
  • PHP Manual
  • MongoCollection
  • Remove records from this collection

MongoCollection::remove

(PECL mongo >=0.9.0)

MongoCollection::remove — Remove records from this collection

Descrição

public MongoCollection::remove
 ( array $criteria = array()
, array $options = array()
) : bool|array

Parâmetros

criteria

Query criteria for the documents to delete.

options

An array of options for the remove operation. Currently available options include:

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "justOne"

    Specify true to limit deletion to just one document. If false or omitted, all documents matching the criteria will be deleted.

  • "fsync"

    Boolean, defaults to false. If journaling is enabled, it works exactly like "j". If journaling is not enabled, the write operation blocks until it is synced to database files on disk. If true, an acknowledged insert is implied and this option will override setting "w" to 0.

    Nota: If journaling is enabled, users are strongly encouraged to use the "j" option instead of "fsync". Do not use "fsync" and "j" simultaneously, as that will result in an error.

  • "j"

    Boolean, defaults to false. Forces the write operation to block until it is synced to the journal on disk. If true, an acknowledged write is implied and this option will override setting "w" to 0.

    Nota: If this option is used and journaling is disabled, MongoDB 2.6+ will raise an error and the write will fail; older server versions will simply ignore the option.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

Valor Retornado

Returns an array containing the status of the removal if the "w" option is set. Otherwise, returns true.

Fields in the status array are described in the documentation for MongoCollection::insert().

Erros

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Added "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
PECL mongo 1.3.4 | Added "wtimeout" option.
PECL mongo 1.3.0 | Added "w" option. The options parameter no longer accepts a boolean to signify "justOne". Instead, this now has to be done with array('justOne' => true).
PECL mongo 1.2.11 | Emits E_DEPRECATED when options is scalar.
PECL mongo 1.2.0 | Added "timeout" option.
PECL mongo 1.0.11 | Disconnects on "not master" errors if "safe" is set.
PECL mongo 1.0.9 | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option. The return type was changed to be an array containing error information if the "safe" option is used. Otherwise, a boolean is returned as before.
PECL mongo 1.0.5 | Changed second parameter to be an array of options. Pre-1.0.5, the second parameter was a boolean indicating the "safe" option.

Exemplos

Exemplo #1 MongoCollection::remove() with justOne example

<?php

$radioactive = $db->radioactive;

// count how much more plutonium there is
$remaining = $radioactive->count(array('type' => 94));

$halflife = $remaining/2;

// remove half of it
while ($halflife > 0) {
    $radioactive->remove(array('type' => 94), array("justOne" => true));
    $halflife--;
}

?>

Veja Também

  • MongoCollection::insert() - Inserts a document into the collection
  • MongoCollection::update() - Update records based on a given criteria
  • MongoDB core docs on » remove.


Saves a document to this collection

  • « MongoCollection::remove
  • MongoCollection::setReadPreference »
  • PHP Manual
  • MongoCollection
  • Saves a document to this collection

MongoCollection::save

(PECL mongo >=0.9.0)

MongoCollection::save — Saves a document to this collection

Descrição

public MongoCollection::save ( array|object $document , array $options = array() ) : mixed

If the object is from the database, update the existing database object, otherwise insert this object.

Parâmetros

document

Array or object to save. If an object is used, it may not have protected or private properties.

Nota:

If the parameter does not have an _id key or property, a new MongoId instance will be created and assigned to it. See MongoCollection::insert() for additional information on this behavior.

options

Options for the save.

  • "fsync"

    Boolean, defaults to false. If journaling is enabled, it works exactly like "j". If journaling is not enabled, the write operation blocks until it is synced to database files on disk. If true, an acknowledged insert is implied and this option will override setting "w" to 0.

    Nota: If journaling is enabled, users are strongly encouraged to use the "j" option instead of "fsync". Do not use "fsync" and "j" simultaneously, as that will result in an error.

  • "j"

    Boolean, defaults to false. Forces the write operation to block until it is synced to the journal on disk. If true, an acknowledged write is implied and this option will override setting "w" to 0.

    Nota: If this option is used and journaling is disabled, MongoDB 2.6+ will raise an error and the write will fail; older server versions will simply ignore the option.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

Valor Retornado

If w was set, returns an array containing the status of the save. Otherwise, returns a boolean representing if the array was not empty (an empty array will not be inserted).

Erros

Throws MongoException if the inserted document is empty or if it contains zero-length keys. Attempting to insert an object with protected and private properties will cause a zero-length key error.

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Added "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
PECL mongo 1.2.0 | Added "timeout" option.
PECL mongo 1.0.11 | Disconnects on "not master" errors if "safe" is set.
PECL mongo 1.0.9 | Added "fsync" option.
PECL mongo 1.0.5 | Added options parameter.

Exemplos

Exemplo #1 MongoCollection::save() example

<?php

$obj = array('x' => 1);

// insert $obj into the db
$collection->save($obj);
var_dump($obj);

// add another field
$obj['foo'] = 'bar';

// $obj cannot be inserted again, causes duplicate _id error
$collection->insert($obj);

// save updates $obj with the new field
$collection->save($obj);

?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["x"]=>
  int(1)
  ["_id"]=>
  object(MongoId)#4 (1) {
    ["$id"]=>
    string(24) "50b6afe544415ed606000000"
  }
}


Set the read preference for this collection

  • « MongoCollection::save
  • MongoCollection::setSlaveOkay »
  • PHP Manual
  • MongoCollection
  • Set the read preference for this collection

MongoCollection::setReadPreference

(PECL mongo >=1.3.0)

MongoCollection::setReadPreference — Set the read preference for this collection

Descrição

public MongoCollection::setReadPreference ( string $read_preference , array $tags = ? ) : bool

Parâmetros

read_preference

The read preference mode: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, ou MongoClient::RP_NEAREST.

tags

An array of zero or more tag sets, where each tag set is itself an array of criteria used to match tags on replica set members.

Valor Retornado

Returns true on success, or false otherwise.

Erros

Emits E_WARNING if either parameter is invalid, or if one or more tag sets are provided with the MongoClient::RP_PRIMARY read preference mode.

Exemplos

Exemplo #1 MongoCollection::setReadPreference() tag set array syntax example

<?php

$m = new MongoClient();
$c = $m->test->users;

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$c->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));
?>

Veja Também

  • The read preferences documentation.
  • MongoCollection::getReadPreference() - Get the read preference for this collection


Change slaveOkay setting for this collection

  • « MongoCollection::setReadPreference
  • MongoCollection::setWriteConcern »
  • PHP Manual
  • MongoCollection
  • Change slaveOkay setting for this collection

MongoCollection::setSlaveOkay

(PECL mongo >=1.1.0)

MongoCollection::setSlaveOkay — Change slaveOkay setting for this collection

Descrição

public MongoCollection::setSlaveOkay ( bool $ok = true ) : bool

See the query section of this manual for information on distributing reads to secondaries.

Parâmetros

ok

If reads should be sent to secondary members of a replica set for all possible queries using this MongoCollection instance.

Valor Retornado

Returns the former value of slaveOkay for this instance.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.

Veja Também

  • Read Preferences
  • MongoCollection::setReadPreference() - Set the read preference for this collection


Set the write concern for this database

  • « MongoCollection::setSlaveOkay
  • MongoCollection::toIndexString »
  • PHP Manual
  • MongoCollection
  • Set the write concern for this database

MongoCollection::setWriteConcern

(PECL mongo >=1.5.0)

MongoCollection::setWriteConcern — Set the write concern for this database

Descrição

public MongoCollection::setWriteConcern ( mixed $w , int $wtimeout = ? ) : bool

Parâmetros

w

The write concern. This may be an integer denoting the number of servers required to acknowledge the write, or a string mode (e.g. "majority").

wtimeout

The maximum number of milliseconds to wait for the server to satisfy the write concern.

Valor Retornado

Returns true on success, or false otherwise.

Erros

Emits E_WARNING if the w parameter is not an integer or string value.

Exemplos

Exemplo #1 MongoDB::setWriteConcern() example

<?php

$mc = new MongoClient('mongodb://rs1.example.com,rs2.example.com');
$coll = $mc->selectCollection('test', 'foo');

// Require that the majority of servers in the replica set acknowledge writes
// within three seconds.
$coll->setWriteConcern('majority', 3000);
?>

Veja Também

  • The write concern documentation.
  • MongoCollection::getWriteConcern() - Get the write concern for this collection


Converts keys specifying an index to its identifying string

  • « MongoCollection::setWriteConcern
  • MongoCollection::__toString »
  • PHP Manual
  • MongoCollection
  • Converts keys specifying an index to its identifying string

MongoCollection::toIndexString

(PECL mongo >=0.9.0)

MongoCollection::toIndexString — Converts keys specifying an index to its identifying string

Descrição

static protected MongoCollection::toIndexString ( mixed $keys ) : string
Aviso

This method is deprecated since version 1.5.0.

Parâmetros

keys

Field or fields to convert to the identifying string

Valor Retornado

Returns a string that describes the index.

Exemplos

Exemplo #1 MongoCollection::toIndexString() example

This example shows how you can create an index name out of keys. Because this is a protected (static) method, you need to overload it in a child class first.

<?php
// Create inherited class to make the method "public".
class MyCollection extends MongoCollection
{
    static public function toIndexString($a)
    {
        return parent::toIndexString($a);
    }
}

echo MyCollection::toIndexString("foo"), "\n";
// Outputs: foo_1

echo MyCollection::toIndexString(array('name' => 1, 'age' => -1)), "\n";
// Outputs: name_1_age_-1
?>

Veja Também

MongoDB core docs on » indexes.

Changelog

Versão | Descrição
PECL mongo 1.5.0 | This method has been deprecated.


String representation of this collection

  • « MongoCollection::toIndexString
  • MongoCollection::update »
  • PHP Manual
  • MongoCollection
  • String representation of this collection

MongoCollection::__toString

(PECL mongo >=0.9.0)

MongoCollection::__toString — String representation of this collection

Descrição

public MongoCollection::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the full name of this collection.

Exemplos

Exemplo #1 MongoCollection::__toString() example

<?php

$m = new MongoClient();

$c1 = $m->foo->bar->baz;
echo "Working with collection $c1.";

$c2 = $m->selectCollection('[]', '&');
echo "Working with collection $c2.";

?>

O exemplo acima irá imprimir algo similar à:

Working with collection foo.bar.baz.
Working with collection [].&.


Update records based on a given criteria

  • « MongoCollection::__toString
  • MongoCollection::validate »
  • PHP Manual
  • MongoCollection
  • Update records based on a given criteria

MongoCollection::update

(PECL mongo >=0.9.0)

MongoCollection::update — Update records based on a given criteria

Descrição

public MongoCollection::update ( array $criteria , array $new_object , array $options = array() ) : bool|array

Parâmetros

criteria

Query criteria for the documents to update.

new_object

The object used to update the matched documents. This may either contain update operators (for modifying specific fields) or be a replacement document.

options

An array of options for the update operation. Currently available options include:

  • "upsert"

    If no document matches $criteria, a new document will be inserted.

    If a new document would be inserted and $new_object contains atomic modifiers (i.e. $ operators), those operations will be applied to the $criteria parameter to create the new document. If $new_object does not contain atomic modifiers, it will be used as-is for the inserted document. See the upsert examples below for more information.

  • "multiple"

    All documents matching $criteria will be updated. MongoCollection::update() has exactly the opposite behavior of MongoCollection::remove(): it updates one document by default, not all matching documents. It is recommended that you always specify whether you want to update multiple documents or a single document, as the database may change its default behavior at some point in the future.

  • "fsync"

    Boolean, defaults to false. If journaling is enabled, it works exactly like "j". If journaling is not enabled, the write operation blocks until it is synced to database files on disk. If true, an acknowledged insert is implied and this option will override setting "w" to 0.

    Nota: If journaling is enabled, users are strongly encouraged to use the "j" option instead of "fsync". Do not use "fsync" and "j" simultaneously, as that will result in an error.

  • "j"

    Boolean, defaults to false. Forces the write operation to block until it is synced to the journal on disk. If true, an acknowledged write is implied and this option will override setting "w" to 0.

    Nota: If this option is used and journaling is disabled, MongoDB 2.6+ will raise an error and the write will fail; older server versions will simply ignore the option.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

Valor Retornado

Returns an array containing the status of the update if the "w" option is set. Otherwise, returns true.

Fields in the status array are described in the documentation for MongoCollection::insert().

Erros

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Changelog

Versão | Descrição
PECL mongo 1.5.0 | Added the "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added the "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
PECL mongo 1.3.4 | Added "wtimeout" option.
PECL mongo 1.3.0 | Added "w" option. The options parameter no longer accepts a boolean to signify an upsert. Instead, this now has to be done with array('upsert' => true).
PECL mongo 1.2.11 | Emits E_DEPRECATED when options is scalar.
PECL mongo 1.2.0 | Added "timeout" option.
PECL mongo 1.0.11 | Disconnects on "not master" errors if "safe" is set.
PECL mongo 1.0.9 | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option. The return type was changed to be an array containing error information if the "safe" option is used. Otherwise, a boolean is returned as before.
PECL mongo 1.0.5 | Added "safe" option.
PECL mongo 1.0.1 | Changed options parameter from boolean to array. Pre-1.0.1, the second parameter was an optional boolean value specifying an upsert.

Exemplos

Exemplo #1 MongoCollection::update()

Adding an address field to a document.

<?php

$c->insert(array("firstname" => "Bob", "lastname" => "Jones" ));
$newdata = array('$set' => array("address" => "1 Smith Lane"));
$c->update(array("firstname" => "Bob"), $newdata);

var_dump($c->findOne(array("firstname" => "Bob")));

?>

O exemplo acima irá imprimir algo similar à:

array(4) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["firstname"]=>
  string(3) "Bob"
  ["lastname"]=>
  string(5) "Jones"
  ["address"]=>
  string(12) "1 Smith Lane"
}

Exemplo #2 MongoCollection::update() upsert examples

Upserts can simplify code, as a single line can create the document if it does not exist (based on $criteria), or update an existing document if it matches.

In the following example, $new_object contains an atomic modifier. Since the collection is empty and upsert must insert a new document, it will apply those operations to the $criteria parameter in order to create the document.

<?php

$c->drop();
$c->update(
    array("uri" => "/summer_pics"),
    array('$inc' => array("page hits" => 1)),
    array("upsert" => true)
);
var_dump($c->findOne());

?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  ["_id"]=>
  object(MongoId)#9 (0) {
  }
  ["uri"]=>
  string(12) "/summer_pics"
  ["page hits"]=>
  int(1)
}

If $new_object does not contain atomic modifiers (i.e. $ operators), upsert will use $new_object as-is for the new document. This matches the behavior of a normal update, where not using atomic modifiers causes the document to be overwritten.

<?php

$c->drop();
$c->update(
    array("name" => "joe"),
    array("username" => "joe312", "createdAt" => new MongoDate()),
    array("upsert" => true)
);
var_dump($c->findOne());

?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  ["_id"]=>
  object(MongoId)#10 (0) {
  }
  ["username"]=>
  string(6) "joe312"
  ["createdAt"]=>
  object(MongoDate)#4 (0) {
  }
}

Exemplo #3 MongoCollection::update() multiple example

By default, MongoCollection::update() will only update the first document matching $criteria that it finds. Using the "multiple" option can override this behavior, if needed.

This example adds a "gift" field to every person whose birthday is in the next day.

<?php

$today = array('$gt' => new MongoDate(), '$lt' => new MongoDate(strtotime("+1 day")));
$people->update(
    array("birthday" => $today),
    array('$set' => array('gift' => $surprise)),
    array("multiple" => true)
);

?>

Veja Também

The PHP documentation on updates and the » MongoDB core docs.


Validates this collection

  • « MongoCollection::update
  • MongoCursor »
  • PHP Manual
  • MongoCollection
  • Validates this collection

MongoCollection::validate

(PECL mongo >=0.9.0)

MongoCollection::validate — Validates this collection

Descrição

public MongoCollection::validate ( bool $scan_data = false ) : array

Parâmetros

scan_data

Only validate indices, not the base collection.

Valor Retornado

Returns the database's evaluation of this object.


The MongoCursor class

(PECL mongo >=0.9.0)

Introdução

A cursor is used to iterate through the results of a database query. For example, to query the database and see all results, you could do:

Exemplo #1 MongoCursor basic usage

<?php

$cursor = $collection->find();
var_dump(iterator_to_array($cursor));

?>

You don't generally create cursors using the MongoCursor constructor, you get a new cursor by calling MongoCollection::find() (as shown above).

Suppose that, in the example above, $collection was a 50GB collection. We certainly wouldn't want to load that into memory all at once, which is what a cursor is for: allowing the client to access the collection in dribs and drabs.

If we have a large result set, we can iterate through it, loading a few megabytes of results into memory at a time. For example, we could do:

Exemplo #2 Iterating over MongoCursor

<?php

$cursor = $collection->find();

foreach ($cursor as $doc) {
    // do something to each document
}

?>
This will go through each document in the collection, loading and garbage collecting documents as needed.

Note that this means that a cursor does not "contain" the database results, it just manages them. Thus, if you print a cursor (with, say, var_dump() or print_r()), you'll just get the cursor object, not your documents. To get the documents themselves, you can use one of the methods shown above.

Cursor Stages

A MongoCursor has two "life stages": pre- and post- query. When a cursor is created, it has not yet contacted the database, so it is in its pre-query state. In this state, the client can further specify what they want the query to do, including adding limits, skips, sorts, and more advanced options.

When the client attempts to get a result (by calling MongoCursor::next(), directly or indirectly), the cursor moves into the post-query stage. At this point, the query has been executed by the database and cannot be modified anymore.

Exemplo #3 Adding options to MongoCursor

<?php

$cursor = $collection->find()->limit(10);

// database has not yet been queried, so more search options can be added
$cursor = $cursor->sort(array("a" => 1));

var_dump($cursor->getNext());
// now database has been queried and more options cannot be added

// so this will throw an exception:
$cursor->skip(4);
?>

Sinopse da classe

MongoCursor implements MongoCursorInterface , Iterator {
/* Static Fields */
static bool $slaveOkay = false ;
static int $timeout = 30000 ;
/* Métodos */
public addOption ( string $key , mixed $value ) : MongoCursor
public awaitData ( bool $wait = true ) : MongoCursor
public batchSize ( int $batchSize ) : MongoCursor
public __construct ( MongoClient $connection , string $ns , array $query = array() , array $fields = array() )
public count ( bool $foundOnly = false ) : int
public current ( ) : array
public dead ( ) : bool
protected doQuery ( ) : void
public explain ( ) : array
public fields ( array $f ) : MongoCursor
public getNext ( ) : array
public getReadPreference ( ) : array
public hasNext ( ) : bool
public hint ( mixed $index ) : MongoCursor
public immortal ( bool $liveForever = true ) : MongoCursor
public info ( ) : array
public key ( ) : string|int
public limit ( int $num ) : MongoCursor
public maxTimeMS ( int $ms ) : MongoCursor
public next ( ) : array
public partial ( bool $okay = true ) : MongoCursor
public reset ( ) : void
public rewind ( ) : void
public setFlag ( int $flag , bool $set = true ) : MongoCursor
public setReadPreference ( string $read_preference , array $tags = ? ) : MongoCursor
public skip ( int $num ) : MongoCursor
public slaveOkay ( bool $okay = true ) : MongoCursor
public snapshot ( ) : MongoCursor
public sort ( array $fields ) : MongoCursor
public tailable ( bool $tail = true ) : MongoCursor
public timeout ( int $ms ) : MongoCursor
public valid ( ) : bool
}

Static Variables

slaveOkay

If the query should have the "slaveOkay" flag set, which allows reads on the secondary (secondaries are, by default, just for backup and not queried). Can be overridden with MongoCursor::slaveOkay().

This functionality is deprecated. Please use Read Preferences instead.

timeout

Set timeout in milliseconds for all database responses. Use -1 to wait forever. Can be overridden with MongoCursor::timeout(). This does not cause the MongoDB server to cancel the operation; it only instructs the driver to stop waiting for a response and throw a MongoCursorTimeoutException after a set time.

Veja Também

MongoDB core docs on » cursors.

Índice

  • MongoCursor::addOption — Adds a top-level key/value pair to a query
  • MongoCursor::awaitData — Sets whether this cursor will wait for a while for a tailable cursor to return more data
  • MongoCursor::batchSize — Limits the number of elements returned in one batch
  • MongoCursor::__construct — Create a new cursor
  • MongoCursor::count — Counts the number of results for this query
  • MongoCursor::current — Returns the current element
  • MongoCursor::dead — Checks if there are results that have not yet been sent from the database
  • MongoCursor::doQuery — Execute the query
  • MongoCursor::explain — Return an explanation of the query, often useful for optimization and debugging
  • MongoCursor::fields — Sets the fields for a query
  • MongoCursor::getNext — Advances the cursor to the next result, and returns that result
  • MongoCursor::getReadPreference — Get the read preference for this query
  • MongoCursor::hasNext — Checks if there are any more elements in this cursor
  • MongoCursor::hint — Gives the database a hint about the query
  • MongoCursor::immortal — Sets whether this cursor will timeout
  • MongoCursor::info — Gets information about the cursor's creation and iteration
  • MongoCursor::key — Returns the current result's _id, or its index within the result set
  • MongoCursor::limit — Limits the number of results returned
  • MongoCursor::maxTimeMS — Sets a server-side timeout for this query
  • MongoCursor::next — Advances the cursor to the next result, and returns that result
  • MongoCursor::partial — If this query should fetch partial results from mongos if a shard is down
  • MongoCursor::reset — Clears the cursor
  • MongoCursor::rewind — Returns the cursor to the beginning of the result set
  • MongoCursor::setFlag — Sets arbitrary flags in case there is no method available the specific flag
  • MongoCursor::setReadPreference — Set the read preference for this query
  • MongoCursor::skip — Skips a number of results
  • MongoCursor::slaveOkay — Sets whether this query can be done on a secondary [deprecated]
  • MongoCursor::snapshot — Use snapshot mode for the query
  • MongoCursor::sort — Sorts the results by given fields
  • MongoCursor::tailable — Sets whether this cursor will be left open after fetching the last results
  • MongoCursor::timeout — Sets a client-side timeout for this query
  • MongoCursor::valid — Checks if the cursor is reading a valid result


Adds a top-level key/value pair to a query

  • « MongoCursor
  • MongoCursor::awaitData »
  • PHP Manual
  • MongoCursor
  • Adds a top-level key/value pair to a query

MongoCursor::addOption

(PECL mongo >=1.0.4)

MongoCursor::addOption — Adds a top-level key/value pair to a query

Descrição

public MongoCursor::addOption ( string $key , mixed $value ) : MongoCursor

This is an advanced function and should not be used unless you know what you're doing.

A query can optionally be nested in a "query" field if other options, such as a sort or hint, are given. For instance, adding a sort causes the query to become a subfield of a bigger query object, like:

<?php

$query = array("query" => $query, "orderby" => $sort);

?>

This method is for adding a top-level field to a query. It makes the query a subobject (if it isn't already) and adds the key/value pair of your chosing to the top level.

Aviso

It cannot be used to add extra criteria to a query on the fly. For instance, this will not work:

<?php

// NOT CORRECT
$cursor = $users->find()->addOption("name", "joe")->addOption("age", 20);

?>
This does not query for a user named "joe" with an age of 20.

Parâmetros

key

Fieldname to add.

value

Value to add.

Valor Retornado

Returns this cursor.

Erros

Throws MongoCursorException if this cursor has started iterating.

Exemplos

Exemplo #1 Adding a comment with MongoCursor::addOption() example

MongoDB supports special options to be send to the server. The shell uses the _addSpecial option to send a $comment to the server. This comment will show up in the profiling log (for slow queries f.e.). In the PHP driver, you use the MongoCursor::addOption() method.

<?php
$m = new MongoClient;
$c = $m->demo->demo;
$cursor = $c->find();
$cursor->addOption('$comment', "This comment will show up in the profiling log");

foreach ($cursor as $document) { /* empty */ }
?>

O exemplo acima irá imprimir algo similar à:

{
    "op" : "query",
    "ns" : "demo.demo",
    "query" : {
        "$query" : {

        },
        "$comment" : "This comment will show up in the profiling log"
    },
    "cursorid" : 168463566447,
    "ntoreturn" : 0,
    "ntoskip" : 0,
    "nscanned" : 101,
    "nscannedObjects" : 101,
    "keyUpdates" : 0,
    "numYield" : 0,
…

Exemplo #2 MongoCursor::addOption() example

Using MongoCursor::skip() to skip over millions of results can become slow. One way around this is to use $min or $max options for the query. These can be handy, but they require an index on exactly the fields being searched for. This is an example of how to use $min as an alternative to MongoCursor::skip().

<?php

// make sure we have an index
$c->ensureIndex(array("ts" => 1));

// you may have to modify this to run in a reasonable amount of time on slow
// machines (should take about 30 seconds on a good machine)
for ($i = 0; $i < 30000000; $i++) {
    $c->insert(array("ts" => new MongoDate(), "i" => $i));
}

$now = strtotime("now");

// find documents inserted in the last 2 seconds
$cursor = $c->find()->addOption('$min', array("ts" => $now-2));

?>


Sets whether this cursor will wait for a while for a tailable cursor to return more data

  • « MongoCursor::addOption
  • MongoCursor::batchSize »
  • PHP Manual
  • MongoCursor
  • Sets whether this cursor will wait for a while for a tailable cursor to return more data

MongoCursor::awaitData

(PECL mongo >=1.2.11)

MongoCursor::awaitData — Sets whether this cursor will wait for a while for a tailable cursor to return more data

Descrição

public MongoCursor::awaitData ( bool $wait = true ) : MongoCursor

This method is to be used with tailable cursors. If we are at the end of the data, block for a while rather than returning no data. After a timeout period, we do return as normal.

Parâmetros

wait

If the cursor should wait for more data to become available.

Valor Retornado

Returns this cursor.

Erros

Throws MongoCursorException if this cursor has started iterating.

Exemplos

Exemplo #1 MongoCursor::awaitData() example

In this example we tail the "oplog" and instead of sleeping during every iteration, we set the MongoCursor::awaitData() option. MongoCursor::hasNext() will now block until there is more data available.

<?php
$m = new MongoClient( 'mongodb://localhost:13000', array( 'replSet' => 'seta' ) );
$c = $m->local->selectCollection( 'oplog.rs' );
$cursor = $c->find( array( 'ns' => 'demo.article', 'op' => 'i' ) );
$cursor->tailable( true );
$cursor->awaitData( true );

while (true) {
    if (!$cursor->hasNext()) {
        // we've read all the results, exit
        if ($cursor->dead()) {
            break;
        }
    } else {
        var_dump( $cursor->getNext() );
    }
}
?>

Veja Também

MongoDB core docs on » tailable cursors.

  • MongoCursor::tailable() - Sets whether this cursor will be left open after fetching the last results


Limits the number of elements returned in one batch

  • « MongoCursor::awaitData
  • MongoCursor::__construct »
  • PHP Manual
  • MongoCursor
  • Limits the number of elements returned in one batch

MongoCursor::batchSize

(PECL mongo >=1.0.11)

MongoCursor::batchSize — Limits the number of elements returned in one batch

Descrição

public MongoCursor::batchSize ( int $batchSize ) : MongoCursor

A cursor typically fetches a batch of result objects and store them locally. This method sets the batchSize value to configure the amount of documents retrieved from the server in one round trip. However, it will never return more documents than fit in the max batch size limit (usually 4MB).

Parâmetros

batchSize

The number of results to return per batch. Each batch requires a round-trip to the server.

If batchSize is 2 or more, it represents the size of each batch of objects retrieved. It can be adjusted to optimize performance and limit data transfer.

If batchSize is 1 or negative, it will limit of number returned documents to the absolute value of batchSize, and the cursor will be closed. For example if batchSize is -10, then the server will return a maximum of 10 documents and as many as can fit in 4MB, then close the cursor.

Aviso

A batchSize of 1 is special, and means the same as -1, i.e. a value of 1 makes the cursor only capable of returning one document.

Note that this feature is different from MongoCursor::limit() in that documents must fit within a maximum size, and it removes the need to send a request to close the cursor server-side. The batch size can be changed even after a cursor is iterated, in which case the setting will apply on the next batch retrieval.

This cannot override MongoDB's limit on the amount of data it will return to the client (i.e., if you set batch size to 1,000,000,000, MongoDB will still only return 4-16MB of results per batch).

To ensure consistent behavior, the rules of MongoCursor::batchSize() and MongoCursor::limit() behave a little complex but work "as expected". The rules are: hard limits override soft limits with preference given to MongoCursor::limit() over MongoCursor::batchSize(). After that, whichever is set and lower than the other will take precedence. See below. section for some examples.

Valor Retornado

Returns this cursor.

Exemplos

Exemplo #1 MongoCursor::batchSize() and combinations with MongoCursor::limit()

<?php

// one batch, at most 10 items. The -10 makes the server to return 10 items,
// and then remove the cursor.
$cursor->limit(20)->batchSize(-10);

// first batch: at most 10 items
$cursor->limit(10);

// first batch: at most 10 items
$cursor->limit(10)->batchSize(20);

// results are fetched in batches of 10 each, with a maximum of 20 items
// returned (that means two batches of 10).
$cursor->limit(20)->batchSize(10);

// results are fetched in batches of 7 each, with a maximum of 30 items
// returned (that means that the driver requests 4 batches of 7, and one batch
// of 2).
$cursor->limit(30)->batchSize(7)
?>

Veja Também

MongoDB core docs on » batchSize.

  • MongoCursor::limit() - Limits the number of results returned
  • MongoCursorInterface::batchSize() - Limits the number of elements returned in one batch

Changelog

Versão | Descrição
PECL mongo 1.4.5 | Before 1.4.5, this method would throw an MongoCursorException if the cursor had already started iterating.


Create a new cursor

  • « MongoCursor::batchSize
  • MongoCursor::count »
  • PHP Manual
  • MongoCursor
  • Create a new cursor

MongoCursor::__construct

(PECL mongo >=0.9.0)

MongoCursor::__construct — Create a new cursor

Descrição

public MongoCursor::__construct ( MongoClient $connection , string $ns , array $query = array() , array $fields = array() )

Parâmetros

connection

Database connection.

ns

Full name of database and collection.

query

Database query.

fields

Fields to return.

Valor Retornado

Returns the new cursor.


Counts the number of results for this query

  • « MongoCursor::__construct
  • MongoCursor::current »
  • PHP Manual
  • MongoCursor
  • Counts the number of results for this query

MongoCursor::count

(PECL mongo >=0.9.2)

MongoCursor::count — Counts the number of results for this query

Descrição

public MongoCursor::count ( bool $foundOnly = false ) : int

This method does not affect the state of the cursor: if you haven't queried yet, you can still apply limits, skips, etc. If you have started iterating through results, it will not move the current position of the cursor. If you have exhausted the cursor, it will not reset it.

Parâmetros

foundOnly

Send cursor limit and skip information to the count function, if applicable.

Valor Retornado

The number of documents returned by this cursor's query.

Exemplos

Exemplo #1 MongoCursor::count() example

<?php

$collection->insert(array('x'=>1));
$collection->insert(array('x'=>2));
$collection->insert(array('x'=>3));

$cursor = $collection->find();

var_dump($cursor->count());
var_dump($cursor->count(true));

$cursor->limit(2);

var_dump($cursor->count());
var_dump($cursor->count(true));

?>

O exemplo acima irá imprimir algo similar à:

int(3)
int(3)
int(3)
int(2)

Erros

Throws MongoConnectionException if it cannot reach the database.


Returns the current element

  • « MongoCursor::count
  • MongoCursor::dead »
  • PHP Manual
  • MongoCursor
  • Returns the current element

MongoCursor::current

(PECL mongo >=0.9.0)

MongoCursor::current — Returns the current element

Descrição

public MongoCursor::current ( ) : array

This returns null until MongoCursor::next() is called.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current result document as an associative array. null will be returned if there is no result.

Veja Também

  • Iterator::current() - Return the current element


Checks if there are results that have not yet been sent from the database

  • « MongoCursor::current
  • MongoCursor::doQuery »
  • PHP Manual
  • MongoCursor
  • Checks if there are results that have not yet been sent from the database

MongoCursor::dead

(PECL mongo >=0.9.6)

MongoCursor::dead — Checks if there are results that have not yet been sent from the database

Descrição

public MongoCursor::dead ( ) : bool

The database sends responses in batches of documents, up to 4MB of documents per response. This method checks if the database has more batches or if the result set has been exhausted.

A cursor being "dead" does not mean that MongoCursor::hasNext() will return false, it only means that the database is done sending results to the client. The client should continue iterating through results until MongoCursor::hasNext() is false.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if there are more results that have not yet been sent to the client, and false otherwise.

Veja Também

  • MongoCursorInterface::dead() - Checks if there are results that have not yet been sent from the database


Execute the query

  • « MongoCursor::dead
  • MongoCursor::explain »
  • PHP Manual
  • MongoCursor
  • Execute the query

MongoCursor::doQuery

(PECL mongo >=0.9.0 <1.6.0)

MongoCursor::doQuery — Execute the query

Descrição

protected MongoCursor::doQuery ( ) : void
Aviso

Please do not use me.

This function actually queries the database. All queries and commands go through this function. Thus, this function can be overridden to provide custom query handling.

This handles serializing your query, sending it to the database, receiving a response, and deserializing it. Thus, if you are planning to override this, your code should probably call out to the original to use the existing functionality (see the example below).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

null.

Erros

Throws MongoConnectionException if it cannot reach the database.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.

Exemplos

Exemplo #1 MongoCursor::doQuery() example

You could override this function to attempt a query on a secondary and, if that fails, try it again on the primary.

<?php

class MyCursor extends MongoCursor {

    protected function doQuery() {

        $this->slaveOkay();

        try {
            MongoCursor::doQuery();
        }
        catch(MongoCursorException $e) {
            $this->slaveOkay(false);
            MongoCursor::doQuery();
        }
    }
}

?>


Return an explanation of the query, often useful for optimization and debugging

  • « MongoCursor::doQuery
  • MongoCursor::fields »
  • PHP Manual
  • MongoCursor
  • Return an explanation of the query, often useful for optimization and debugging

MongoCursor::explain

(PECL mongo >=0.9.2)

MongoCursor::explain — Return an explanation of the query, often useful for optimization and debugging

Descrição

public MongoCursor::explain ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an explanation of the query.

Exemplos

Exemplo #1 MongoCursor::explain() example

<?php

$cursor = $collection->find(array("x"=>1), array("y"));
$cursor->sort(array("z" => 1))->limit(4)->skip(5);

var_dump($cursor->explain());

?>

O exemplo acima irá imprimir algo similar à:

array(8) {
  ["cursor"]=>
  string(15) "BtreeCursor x_1"
  ["startKey"]=>
  array(1) {
    ["x"]=>
    int(1)
  }
  ["endKey"]=>
  array(1) {
    ["x"]=>
    int(1)
  }
  ["nscanned"]=>
  float(4)
  ["n"]=>
  int(4)
  ["scanAndOrder"]=>
  int(1)
  ["millis"]=>
  int(3)
  ["allPlans"]=>
  array(2) {
    [0]=>
    array(3) {
      ["cursor"]=>
      string(15) "BtreeCursor x_1"
      ["startKey"]=>
      array(1) {
        ["x"]=>
        int(1)
      }
      ["endKey"]=>
      array(1) {
        ["x"]=>
        int(1)
      }
    }
    [1]=>
    array(3) {
      ["cursor"]=>
      string(11) "BasicCursor"
      ["startKey"]=>
      array(0) {
      }
      ["endKey"]=>
      array(0) {
      }
    }
  }
}

Erros

Throws MongoConnectionException if it cannot reach the database.

Veja Também

MongoDB core docs on » explain.


Sets the fields for a query

  • « MongoCursor::explain
  • MongoCursor::getNext »
  • PHP Manual
  • MongoCursor
  • Sets the fields for a query

MongoCursor::fields

(PECL mongo >=1.0.6)

MongoCursor::fields — Sets the fields for a query

Descrição

public MongoCursor::fields ( array $f ) : MongoCursor

Fields are specified by "fieldname" : bool. true indicates that a field should be returned, false indicates that it should not be returned. You can also use 1 and 0 instead of true and false.

Thus, to return only the "summary" field, one could say:

<?php

$cursor->fields(array("summary" => true));

?>

To return all fields except the "hidden" field:

<?php

$cursor->fields(array("hidden" => false));

?>

Parâmetros

f

Fields to return (or not return).

Valor Retornado

Returns this cursor.

Erros

Throws MongoCursorException if this cursor has started iterating or a scalar argument is given.


Advances the cursor to the next result, and returns that result

  • « MongoCursor::fields
  • MongoCursor::getReadPreference »
  • PHP Manual
  • MongoCursor
  • Advances the cursor to the next result, and returns that result

MongoCursor::getNext

(PECL mongo >=0.9.0)

MongoCursor::getNext — Advances the cursor to the next result, and returns that result

Descrição

public MongoCursor::getNext ( ) : array

Nota:

MongoCursor::getNext() is an alias of MongoCursor::next().


Get the read preference for this query

  • « MongoCursor::getNext
  • MongoCursor::hasNext »
  • PHP Manual
  • MongoCursor
  • Get the read preference for this query

MongoCursor::getReadPreference

(PECL mongo >=1.3.3)

MongoCursor::getReadPreference — Get the read preference for this query

Descrição

public MongoCursor::getReadPreference ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This function returns an array describing the read preference. The array contains the values type for the string read preference mode (corresponding to the MongoClient constants), and tagsets containing a list of all tag set criteria. If no tag sets were specified, tagsets will not be present in the array.

Exemplos

Exemplo #1 MongoCursor::getReadPreference() return value example

<?php

$m = new MongoClient();
$cursor = $m->test->users->find();
$cursor->setReadPreference(MongoClient::RP_SECONDARY, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
    array(),
));
var_dump($cursor->getReadPreference());
?>

O exemplo acima irá imprimir:

array(2) {
  ["type"]=>
  string(9) "secondary"
  ["tagsets"]=>
  array(3) {
    [0]=>
    array(2) {
      ["dc"]=>
      string(4) "east"
      ["use"]=>
      string(9) "reporting"
    }
    [1]=>
    array(1) {
      ["dc"]=>
      string(7) "west"
    }
    [2]=>
    array(0) {
    }
  }
}

Veja Também

  • The read preferences documentation.
  • MongoCursor::setReadPreference() - Set the read preference for this query
  • MongoCursorInterface::getReadPreference() - Get the read preference for this query


Checks if there are any more elements in this cursor

  • « MongoCursor::getReadPreference
  • MongoCursor::hint »
  • PHP Manual
  • MongoCursor
  • Checks if there are any more elements in this cursor

MongoCursor::hasNext

(PECL mongo >=0.9.0)

MongoCursor::hasNext — Checks if there are any more elements in this cursor

Descrição

public MongoCursor::hasNext ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns if there is another element.

Erros

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.


Gives the database a hint about the query

  • « MongoCursor::hasNext
  • MongoCursor::immortal »
  • PHP Manual
  • MongoCursor
  • Gives the database a hint about the query

MongoCursor::hint

(PECL mongo >=0.9.0)

MongoCursor::hint — Gives the database a hint about the query

Descrição

public MongoCursor::hint ( mixed $index ) : MongoCursor

Parâmetros

index

Index to use for the query. If a string is passed, it should correspond to an index name. If an array or object is passed, it should correspond to the specification used to create the index (i.e. the first argument to MongoCollection::ensureIndex()).

Valor Retornado

Returns this cursor.

Erros

Throws MongoCursorException if this cursor has started iterating.

Changelog

Versão | Descrição
PECL mongo 1.4.0 | The index argument now supports index names as string values. In versions before 1.4.0, only array or object values were accepted.


Sets whether this cursor will timeout

  • « MongoCursor::hint
  • MongoCursor::info »
  • PHP Manual
  • MongoCursor
  • Sets whether this cursor will timeout

MongoCursor::immortal

(PECL mongo >=1.0.1)

MongoCursor::immortal — Sets whether this cursor will timeout

Descrição

public MongoCursor::immortal ( bool $liveForever = true ) : MongoCursor

After remaining idle on the server for some amount of time, cursors, by default, "die." This is generally the behavior one wants. The database cleans up a cursor once all of its results have been sent to the client, but if the client doesn't request all of the results, the cursor will languish there, taking up resources. Thus, after a few minutes, the cursor "times out" and the database assumes the client has gotten everything it needs and cleans up its the cursor's resources.

If, for some reason, you need a cursor to hang around for a long time, you can prevent the database from cleaning it up by using this method. However, if you make a cursor immortal, you need to iterate through all of its results (or at least until MongoCursor::dead() returns true) or the cursor will hang around the database forever, taking up resources.

Parâmetros

liveForever

If the cursor should be immortal.

Valor Retornado

Returns this cursor.

Erros

Throws MongoCursorException if this cursor has started iterating.


Gets information about the cursor's creation and iteration

  • « MongoCursor::immortal
  • MongoCursor::key »
  • PHP Manual
  • MongoCursor
  • Gets information about the cursor's creation and iteration

MongoCursor::info

(PECL mongo >=1.0.5)

MongoCursor::info — Gets information about the cursor's creation and iteration

Descrição

public MongoCursor::info ( ) : array

This can be called before or after the cursor has started iterating.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the namespace, batch size, limit, skip, flags, query, and projected fields for this cursor. If the cursor has started iterating, additional information about iteration and the connection will be included.

Changelog

Versão | Descrição
PECL mongo 1.1.0 | Added a number of other fields, including id (the cursor id), at (the driver's counter of which document is current), numReturned (the number returned by the server in the current batch), and server (which server the query was sent to—useful in conjunction with Read Preferences.
PECL mongo 1.0.10 | Added started_iterating field, a boolean indicating if cursor is pre- or post-query.

Exemplos

Exemplo #1 MongoCursor::info() example

<?php
$m = new MongoClient();

$cursor = $m->test->foo->find(array("x" => 4), array("y" => 0));

echo "Before iteration started:\n";
var_dump($cursor->info());

echo "\nAfter iteration started:\n";
$cursor->rewind();
var_dump($cursor->info());

?>

O exemplo acima irá imprimir algo similar à:

Before iteration started:
array(8) {
  ["ns"]=>
  string(8) "test.foo"
  ["limit"]=>
  int(0)
  ["batchSize"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["flags"]=>
  int(0)
  ["query"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["fields"]=>
  array(1) {
    ["y"]=>
    int(0)
  }
  ["started_iterating"]=>
  bool(false)
}

After iteration started:
array(15) {
  ["ns"]=>
  string(8) "test.foo"
  ["limit"]=>
  int(0)
  ["batchSize"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["flags"]=>
  int(0)
  ["query"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["fields"]=>
  array(1) {
    ["y"]=>
    int(0)
  }
  ["started_iterating"]=>
  bool(true)
  ["id"]=>
  int(0)
  ["at"]=>
  int(0)
  ["numReturned"]=>
  int(1)
  ["server"]=>
  string(25) "localhost:27017;-;.;26450"
  ["host"]=>
  string(9) "localhost"
  ["port"]=>
  int(27017)
  ["connection_type_desc"]=>
  string(10) "STANDALONE"
}

Veja Também

  • MongoCursorInterface::info() - Gets information about the cursor's creation and iteration


Returns the current result's _id, or its index within the result set

  • « MongoCursor::info
  • MongoCursor::limit »
  • PHP Manual
  • MongoCursor
  • Returns the current result's _id, or its index within the result set

MongoCursor::key

(PECL mongo >=0.9.0)

MongoCursor::key — Returns the current result's _id, or its index within the result set

Descrição

public MongoCursor::key ( ) : string|int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current result's _id as a string. If the result has no _id, its numeric index within the result set will be returned as an integer.

Veja Também

  • Iterator::key() - Return the key of the current element


Limits the number of results returned

  • « MongoCursor::key
  • MongoCursor::maxTimeMS »
  • PHP Manual
  • MongoCursor
  • Limits the number of results returned

MongoCursor::limit

(PECL mongo >=0.9.0)

MongoCursor::limit — Limits the number of results returned

Descrição

public MongoCursor::limit ( int $num ) : MongoCursor

Parâmetros

num

The number of results to return.

Valor Retornado

Returns this cursor.

Erros

Throws MongoCursorException if this cursor has started iterating.

Veja Também

  • MongoDB core docs on » limit.
  • MongoCursor::batchSize() - Limits the number of elements returned in one batch
  • MongoCursor::skip() - Skips a number of results


Sets a server-side timeout for this query

  • « MongoCursor::limit
  • MongoCursor::next »
  • PHP Manual
  • MongoCursor
  • Sets a server-side timeout for this query

MongoCursor::maxTimeMS

(PECL mongo >=1.5.0)

MongoCursor::maxTimeMS — Sets a server-side timeout for this query

Descrição

public MongoCursor::maxTimeMS ( int $ms ) : MongoCursor

Specifies a cumulative time limit in milliseconds to be allowed by the server for processing operations on the cursor.

Parâmetros

ms

Specifies a cumulative time limit in milliseconds to be allowed by the server for processing operations on the cursor.

Valor Retornado

This cursor.

Erros

Throws MongoCursorException if this cursor has started iterating.

Causes methods that fetch results to throw a MongoExecutionTimeoutException if the query takes longer than the specified number of milliseconds in processing time.

Exemplos

Exemplo #1 MongoCursor::maxTimeMS() example

In the following example, the server will abort the query if the cursor requires more than two seconds in processing time to return its results.

<?php

$cursor = $collection->find();
$cursor->maxTimeMS(2000);

try {
    $results = iterator_to_array($cursor);
} catch (MongoExecutionTimeoutException $e) {
    echo "query took too long!";
}

?>

Notas

Aviso

Unlike MongoCursor::timeout(), which specifies a client-side timeout, MongoCursor::maxTimeMS() can be used to cause the MongoDB server to abort long-running queries. This timeout is cumulative for the lifetime of the cursor (i.e. each batch will contribute to this time limit). The timeout only considers processing time; idle time is not considered.


Advances the cursor to the next result, and returns that result

  • « MongoCursor::maxTimeMS
  • MongoCursor::partial »
  • PHP Manual
  • MongoCursor
  • Advances the cursor to the next result, and returns that result

MongoCursor::next

(PECL mongo >=0.9.0)

MongoCursor::next — Advances the cursor to the next result, and returns that result

Descrição

public MongoCursor::next ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the next document.

Erros

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

Veja Também

  • Iterator::next() - Move forward to next element


If this query should fetch partial results from mongos if a shard is down

  • « MongoCursor::next
  • MongoCursor::reset »
  • PHP Manual
  • MongoCursor
  • If this query should fetch partial results from mongos if a shard is down

MongoCursor::partial

(PECL mongo >=1.2.0)

MongoCursor::partial — If this query should fetch partial results from mongos if a shard is down

Descrição

public MongoCursor::partial ( bool $okay = true ) : MongoCursor

This option allows mongos to send partial query results if a shard is unreachable. This is only applicable when running a sharded MongoDB cluster and connecting to a mongos.

If a shard goes down and a query needs to be sent to that shard, mongos will return the results (if any) from shards it already contacted, then an error message that it could not reach the shard (a MongoCursorException in PHP). If you would like to get whatever results mongos can provide and no exception, you can use this method. Note that this means that you won't have an indication that a shard is down in your query response.

This has no effect on the query if all shards are reachable. This flag was implemented in MongoDB version 1.7.5, so will only work with that version and higher.

Parâmetros

okay

If receiving partial results is okay.

Valor Retornado

Returns this cursor.

Erros

Throws MongoCursorException if this cursor has started iterating.


Clears the cursor

  • « MongoCursor::partial
  • MongoCursor::rewind »
  • PHP Manual
  • MongoCursor
  • Clears the cursor

MongoCursor::reset

(PECL mongo >=0.9.0)

MongoCursor::reset — Clears the cursor

Descrição

public MongoCursor::reset ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

null.


Returns the cursor to the beginning of the result set

  • « MongoCursor::reset
  • MongoCursor::setFlag »
  • PHP Manual
  • MongoCursor
  • Returns the cursor to the beginning of the result set

MongoCursor::rewind

(PECL mongo >=0.9.0)

MongoCursor::rewind — Returns the cursor to the beginning of the result set

Descrição

public MongoCursor::rewind ( ) : void

This is identical to the function:

<?php

public function rewind() {
    $this->reset();
    $this->next();
}

?>

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

null.

Erros

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

Veja Também

  • Iterator::rewind() - Rewind the Iterator to the first element


Sets arbitrary flags in case there is no method available the specific flag

  • « MongoCursor::rewind
  • MongoCursor::setReadPreference »
  • PHP Manual
  • MongoCursor
  • Sets arbitrary flags in case there is no method available the specific flag

MongoCursor::setFlag

(PECL mongo >=1.2.11)

MongoCursor::setFlag — Sets arbitrary flags in case there is no method available the specific flag

Descrição

public MongoCursor::setFlag ( int $flag , bool $set = true ) : MongoCursor

The MongoCursor class has several methods for setting flags on the query object. This method is available in case the MongoDB wire protocol has acquired a new flag, and the driver has not been updated with a method for this new flag. In all other cases, the method should be used. See the "See also" section for available methods.

Parâmetros

flag

Which flag to set. You can not set flag 6 (EXHAUST) as the driver does not know how to handle them. You will get a warning if you try to use this flag. For available flags, please refer to the wire protocol » documentation.

set

Whether the flag should be set (true) or unset (false).

Valor Retornado

Returns this cursor.

Erros

Shows a warning when an unsupport flag is attempted to be set.

Changelog

Versão | Descrição
PECL mongo 1.4.0 | Support for flag 3 (OPLOG_REPLAY) is added. Versions before 1.4.0 would throw a warning saying that the flag is unsupported.

Exemplos

Exemplo #1 MongoCursor::setFlag() example

<?php
$m = new MongoClient( 'mongodb://localhost:13000', array( 'replSet' => 'seta' ) );
$c = $m->local->selectCollection( 'oplog.rs' );
$cursor = $c->find( array( 'ns' => 'demo.article', 'op' => 'i' ) );
$cursor->setFlag( 1, true ); // sets the tailable flag
$cursor->setFlag( 5, true ); // sets the await data flag
?>

Veja Também

  • MongoCursor::tailable() - Sets whether this cursor will be left open after fetching the last results
  • MongoCursor::immortal() - Sets whether this cursor will timeout
  • MongoCursor::awaitData() - Sets whether this cursor will wait for a while for a tailable cursor to return more data
  • MongoCursor::partial() - If this query should fetch partial results from mongos if a shard is down
  • MongoDB core docs on» wire protocol query flags


Set the read preference for this query

  • « MongoCursor::setFlag
  • MongoCursor::skip »
  • PHP Manual
  • MongoCursor
  • Set the read preference for this query

MongoCursor::setReadPreference

(PECL mongo >=1.3.3)

MongoCursor::setReadPreference — Set the read preference for this query

Descrição

public MongoCursor::setReadPreference ( string $read_preference , array $tags = ? ) : MongoCursor

Parâmetros

read_preference

The read preference mode: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, ou MongoClient::RP_NEAREST.

tags

An array of zero or more tag sets, where each tag set is itself an array of criteria used to match tags on replica set members.

Valor Retornado

Returns this cursor.

Erros

Emits E_WARNING if either parameter is invalid, or if one or more tag sets are provided with the MongoClient::RP_PRIMARY read preference mode.

Exemplos

Exemplo #1 MongoCursor::setReadPreference() tag set array syntax example

<?php

$m = new MongoClient();
$cursor = $m->test->users->find();

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$cursor->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));
?>

Veja Também

  • The read preferences documentation.
  • MongoCursor::getReadPreference() - Get the read preference for this query
  • MongoCursorInterface::setReadPreference() - Set the read preference for this query


Skips a number of results

  • « MongoCursor::setReadPreference
  • MongoCursor::slaveOkay »
  • PHP Manual
  • MongoCursor
  • Skips a number of results

MongoCursor::skip

(PECL mongo >=0.9.0)

MongoCursor::skip — Skips a number of results

Descrição

public MongoCursor::skip ( int $num ) : MongoCursor

Parâmetros

num

The number of results to skip.

Valor Retornado

Returns this cursor.

Erros

Throws MongoCursorException if this cursor has started iterating.

Veja Também

  • MongoCursor::limit() - Limits the number of results returned


Sets whether this query can be done on a secondary [deprecated]

  • « MongoCursor::skip
  • MongoCursor::snapshot »
  • PHP Manual
  • MongoCursor
  • Sets whether this query can be done on a secondary [deprecated]

MongoCursor::slaveOkay

(PECL mongo >=0.9.4)

MongoCursor::slaveOkay — Sets whether this query can be done on a secondary [deprecated]

Descrição

public MongoCursor::slaveOkay ( bool $okay = true ) : MongoCursor
Aviso

This method is deprecated since version 1.5.0. Instead, please use MongoCursor::setReadPreference() and Read Preferences.

Calling this will make the driver route reads to secondaries if:

  • You are using a replica set, and
  • You created a MongoClient instance using the option "replicaSet" => "setName", and
  • There is a healthy secondary that can be reached by the driver.
You can check which server was used for this query by calling MongoCursor::info() after running the query. It's server field will show which server the query was sent to.

Note that you should use this function even if you do not use the automatic routing to secondaries. If you connect directly to a secondary in a replica set, you still need to call this function, which basically tells the database that you are aware that you might be getting older data and you're okay with that. If you do not call this, you'll get "not master" errors when you try to query.

This method will override the static class variable
MongoCursor::$slaveOkay.  It will also override
Mongo::setSlaveOkay(),
MongoDB::setSlaveOkay() and
MongoCollection::setSlaveOkay().

Parâmetros

okay

If it is okay to query the secondary.

Valor Retornado

Returns this cursor.

Erros

Throws MongoCursorException if this cursor has started iterating.

Exemplos

Exemplo #1 MongoCursor::slaveOkay() example

<?php

MongoCursor::$slaveOkay = false;

// cannot query secondary
$cursor = $collection->find();

// can query secondary
$cursor = $collection->find()->slaveOkay();

MongoCursor::$slaveOkay = true;

// can query secondary
$cursor = $collection->find();

// cannot query secondary
$cursor = $collection->find()->slaveOkay(false);

?>

Veja Também

  • Read Preferences
  • MongoCursor::setReadPreference() - Set the read preference for this query
  • MongoCursor::getReadPreference() - Get the read preference for this query

Changelog

Versão | Descrição
PECL mongo 1.5.0 | This method has been deprecated in favour of MongoCursor::setReadPreference() and Read Preferences.


Use snapshot mode for the query

  • « MongoCursor::slaveOkay
  • MongoCursor::sort »
  • PHP Manual
  • MongoCursor
  • Use snapshot mode for the query

MongoCursor::snapshot

(PECL mongo >=0.9.4)

MongoCursor::snapshot — Use snapshot mode for the query

Descrição

public MongoCursor::snapshot ( ) : MongoCursor

Use snapshot mode for the query. Snapshot mode ensures that a document will not be returned more than once because an intervening write operation results in a move of the document. Documents inserted or deleted during the lifetime of the cursor may or may not be returned, irrespective of snapshot mode.

Queries with short responses (less than 1MB) are always effectively snapshotted.

Snapshot mode may not be used with sorting, explicit hints, or queries on sharded collections.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns this cursor.

Erros

Throws MongoCursorException if this cursor has started iterating.

Veja Também

MongoDB core docs on » $snapshot operator.


Sorts the results by given fields

  • « MongoCursor::snapshot
  • MongoCursor::tailable »
  • PHP Manual
  • MongoCursor
  • Sorts the results by given fields

MongoCursor::sort

(PECL mongo >=0.9.0)

MongoCursor::sort — Sorts the results by given fields

Descrição

public MongoCursor::sort ( array $fields ) : MongoCursor

Parâmetros

fields

An array of fields by which to sort. Each element in the array has as key the field name, and as value either 1 for ascending sort, or -1 for descending sort.

Each result is first sorted on the first field in the array, then (if it exists) on the second field in the array, etc. This means that the order of the fields in the fields array is important. See also the examples section.

Valor Retornado

Returns the same cursor that this method was called on.

Erros

Throws MongoCursorException if this cursor has started iterating.

Exemplos

Exemplo #1 MongoCursor::sort() example

<?php
// Sort on field x, ascending
$cursor->sort(array('x' => 1));

// The order in the associative array is important. For instance, these two
// examples will yield different results:

// Sort on date ascending and age descending
$cursor->sort(array('date' => 1, 'age' => -1));

// Sort on age descending and date ascending
$cursor->sort(array('age' => -1, 'date' => 1));
?>


Sets whether this cursor will be left open after fetching the last results

  • « MongoCursor::sort
  • MongoCursor::timeout »
  • PHP Manual
  • MongoCursor
  • Sets whether this cursor will be left open after fetching the last results

MongoCursor::tailable

(PECL mongo >=0.9.4)

MongoCursor::tailable — Sets whether this cursor will be left open after fetching the last results

Descrição

public MongoCursor::tailable ( bool $tail = true ) : MongoCursor

Mongo has a feature known as tailable cursors which are similar to the Unix "tail -f" command.

Tailable means cursor is not closed when the last data is retrieved. Rather, the cursor marks the final object's position. you can resume using the cursor later, from where it was located, if more data were received.

Like any "latent cursor", the cursor may become invalid at some point -- for example if that final object it references were deleted. Thus, you should be prepared to requery if the cursor is MongoCursor::dead().

Parâmetros

tail

If the cursor should be tailable.

Valor Retornado

Returns this cursor.

Erros

Throws MongoCursorException if this cursor has started iterating.

Exemplos

Exemplo #1 MongoCursor::tailable() example

<?php

$cursor = $collection->find()->tailable();

$results = array();

while (1) {
    if (!$cursor->hasNext()) {
        // we've read all the results, exit
        if ($cursor->dead()) {
            break;
        }
        // read all results so far, wait for more
        sleep(10);
    }
    else {
        $results[] = $cursor->getNext();
    }
}

?>

Veja Também

MongoDB core docs on » tailable cursors.

  • MongoCursor::awaitData() - Sets whether this cursor will wait for a while for a tailable cursor to return more data


Sets a client-side timeout for this query

  • « MongoCursor::tailable
  • MongoCursor::valid »
  • PHP Manual
  • MongoCursor
  • Sets a client-side timeout for this query

MongoCursor::timeout

(PECL mongo >=1.0.3)

MongoCursor::timeout — Sets a client-side timeout for this query

Descrição

public MongoCursor::timeout ( int $ms ) : MongoCursor

A timeout can be set at any time and will affect subsequent queries on the cursor, including fetching more results from the database.

Parâmetros

ms

The number of milliseconds for the cursor to wait for a response. Use -1 to wait forever. By default, the cursor will wait 30000 milliseconds (30 seconds).

Valor Retornado

This cursor.

Erros

Causes methods that fetch results to throw a MongoCursorTimeoutException if the query takes longer than the specified number of milliseconds.

Exemplos

Exemplo #1 MongoCursor::timeout() example

In the following example, the driver will wait forever for the initial database response, and then wait 100ms for subsequent responses.

<?php

$cursor = $collection->find();
$cursor->timeout(-1);

/* $cursor->hasNext() executes the query. An infinite timeout has been set, so
 * the driver will wait as long as necessary for a response.
 */
while ($cursor->hasNext()) {
    $cursor->timeout(100);

    /* A timeout has now been set, so if the cursor needs to get more results
     * from the database, it will only wait 100ms for a response.
     */
    try {
        print_r($cursor->getNext());
    } catch (MongoCursorTimeoutException $e) {
        echo "query took too long!";
    }
}

?>

Notas

Aviso

This does not cause the MongoDB server to cancel long-running operations; it only instructs the driver to stop waiting for a response and throw a MongoCursorTimeoutException after a set time. If you need to specify a server-side timeout for a query, consider using MongoCursor::maxTimeMS().

Veja Também

  • MongoCursorInterface::timeout() - Sets a client-side timeout for this query
  • The socketTimeoutMS option for MongoClient::__construct()


Checks if the cursor is reading a valid result

  • « MongoCursor::timeout
  • MongoCursorInterface »
  • PHP Manual
  • MongoCursor
  • Checks if the cursor is reading a valid result

MongoCursor::valid

(PECL mongo >=0.9.0)

MongoCursor::valid — Checks if the cursor is reading a valid result

Descrição

public MongoCursor::valid ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the current result is not null, and false otherwise.

Veja Também

  • Iterator::valid() - Checks if current position is valid


The MongoCursorInterface interface

(PECL mongo >=1.5.0)

Introdução

Interface for cursors, which can be used to iterate through results of a database query or command. This interface is implemented by the MongoCursor and MongoCommandCursor classes.

Nota: Similar to Traversable, this interface cannot be implemented in PHP scripts.

Sinopse da classe

MongoCursorInterface extends Iterator {
/* Métodos */
abstract public batchSize ( int $batchSize ) : MongoCursorInterface
abstract public dead ( ) : bool
abstract public getReadPreference ( ) : array
abstract public info ( ) : array
abstract public setReadPreference ( string $read_preference , array $tags = ? ) : MongoCursorInterface
abstract public timeout ( int $ms ) : MongoCursorInterface
/* Métodos herdados */
abstract public Iterator::current ( ) : mixed
abstract public Iterator::key ( ) : scalar
abstract public Iterator::next ( ) : void
abstract public Iterator::rewind ( ) : void
abstract public Iterator::valid ( ) : bool
}

Índice

  • MongoCursorInterface::batchSize — Limits the number of elements returned in one batch
  • MongoCursorInterface::dead — Checks if there are results that have not yet been sent from the database
  • MongoCursorInterface::getReadPreference — Get the read preference for this query
  • MongoCursorInterface::info — Gets information about the cursor's creation and iteration
  • MongoCursorInterface::setReadPreference — Set the read preference for this query
  • MongoCursorInterface::timeout — Sets a client-side timeout for this query


Limits the number of elements returned in one batch

  • « MongoCursorInterface
  • MongoCursorInterface::dead »
  • PHP Manual
  • MongoCursorInterface
  • Limits the number of elements returned in one batch

MongoCursorInterface::batchSize

(PECL mongo >=1.5.0)

MongoCursorInterface::batchSize — Limits the number of elements returned in one batch

Descrição

abstract public MongoCursorInterface::batchSize ( int $batchSize ) : MongoCursorInterface

A cursor typically fetches a batch of result objects and stores them locally. This method sets the batch size value to configure the amount of documents retrieved from the server in one round trip.

Parâmetros

batchSize

The number of results to return per batch.

Valor Retornado

Returns this cursor.


Checks if there are results that have not yet been sent from the database

  • « MongoCursorInterface::batchSize
  • MongoCursorInterface::getReadPreference »
  • PHP Manual
  • MongoCursorInterface
  • Checks if there are results that have not yet been sent from the database

MongoCursorInterface::dead

(PECL mongo >=1.5.0)

MongoCursorInterface::dead — Checks if there are results that have not yet been sent from the database

Descrição

abstract public MongoCursorInterface::dead ( ) : bool

This method checks whether the cursor has been exhausted and the database has no more results to send to the client. A cursor being "dead" does not necessarily mean that there are no more results available for iteration.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if there are more results that have not yet been sent to the client, and false otherwise.


Get the read preference for this query

  • « MongoCursorInterface::dead
  • MongoCursorInterface::info »
  • PHP Manual
  • MongoCursorInterface
  • Get the read preference for this query

MongoCursorInterface::getReadPreference

(PECL mongo >=1.6.0)

MongoCursorInterface::getReadPreference — Get the read preference for this query

Descrição

abstract public MongoCursorInterface::getReadPreference ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This function returns an array describing the read preference. The array contains the values type for the string read preference mode (corresponding to the MongoClient constants), and tagsets containing a list of all tag set criteria. If no tag sets were specified, tagsets will not be present in the array.

Veja Também

  • The read preferences documentation.
  • MongoCursorInterface::setReadPreference() - Set the read preference for this query


Gets information about the cursor's creation and iteration

  • « MongoCursorInterface::getReadPreference
  • MongoCursorInterface::setReadPreference »
  • PHP Manual
  • MongoCursorInterface
  • Gets information about the cursor's creation and iteration

MongoCursorInterface::info

(PECL mongo >=1.5.0)

MongoCursorInterface::info — Gets information about the cursor's creation and iteration

Descrição

abstract public MongoCursorInterface::info ( ) : array

Returns information about the cursor's creation and iteration. This can be called before or after the cursor has started iterating.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the namespace, batch size, limit, skip, flags, query, and projected fields for this cursor. If the cursor has started iterating, additional information about iteration and the connection will be included.


Set the read preference for this query

  • « MongoCursorInterface::info
  • MongoCursorInterface::timeout »
  • PHP Manual
  • MongoCursorInterface
  • Set the read preference for this query

MongoCursorInterface::setReadPreference

(PECL mongo >=1.6.0)

MongoCursorInterface::setReadPreference — Set the read preference for this query

Descrição

abstract public MongoCursorInterface::setReadPreference ( string $read_preference , array $tags = ? ) : MongoCursorInterface

Parâmetros

read_preference

The read preference mode: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, ou MongoClient::RP_NEAREST.

tags

An array of zero or more tag sets, where each tag set is itself an array of criteria used to match tags on replica set members.

Valor Retornado

Returns this cursor.

Erros

Emits E_WARNING if either parameter is invalid, or if one or more tag sets are provided with the MongoClient::RP_PRIMARY read preference mode.

Veja Também

  • The read preferences documentation.
  • MongoCursorInterface::getReadPreference() - Get the read preference for this query


Sets a client-side timeout for this query

  • « MongoCursorInterface::setReadPreference
  • MongoCommandCursor »
  • PHP Manual
  • MongoCursorInterface
  • Sets a client-side timeout for this query

MongoCursorInterface::timeout

(PECL mongo >=1.5.0)

MongoCursorInterface::timeout — Sets a client-side timeout for this query

Descrição

abstract public MongoCursorInterface::timeout ( int $ms ) : MongoCursorInterface

A timeout can be set at any time and will affect subsequent data retrieval associated with this cursor, including fetching more results from the database.

Parâmetros

ms

The number of milliseconds for the cursor to wait for a response. Use -1 to wait forever. By default, the cursor will wait 30000 milliseconds (30 seconds).

Valor Retornado

Returns this cursor.

Erros

Causes methods that fetch results to throw a MongoCursorTimeoutException if the data fetch takes longer than the specified number of milliseconds.

Veja Também

  • The socketTimeoutMS option for MongoClient::__construct()


The MongoCommandCursor class

(PECL mongo >=1.5.0)

Introdução

A command cursor is similar to a MongoCursor except that you use it for iterating through the results of a database command instead of a normal query. Command cursors are useful for iterating over large result sets that might exceed the document size limit (currently 16MB) of a single MongoDB::command() response.

While you can create command cursors using MongoCommandCursor::__construct() or the MongoCommandCursor::createFromDocument() factory method, you will generally want to use command-specific helpers such as MongoCollection::aggregateCursor().

Note that the cursor does not "contain" the database command's results; it just manages iteration through them. Thus, if you print a cursor (f.e. with var_dump() or print_r()), you will see the cursor object but not the result documents.

Cursor Stages

A MongoCommandCursor has two "life stages": pre- and post- command. When a cursor is created, it has not yet contacted the database, so it is in its pre-command state. When the client first attempts to get a result (by calling MongoCommandCursor::rewind(), directly or indirectly), the cursor moves into the post-command state.

The command cursor's batch size and socket timeout may be configured in both the pre- and post- command states.

Exemplo #1 Adding options to MongoCommandCursor

<?php

$cursor = new MongoCommandCursor(...);

$cursor = $cursor->batchSize( 4 );

foreach ($cursor as $result) {
    var_dump($result);
}
?>

Sinopse da classe

MongoCommandCursor implements MongoCursorInterface , Iterator {
/* Métodos */
public batchSize ( int $batchSize ) : MongoCommandCursor
public __construct ( MongoClient $connection , string $ns , array $command = array() )
public static createFromDocument ( MongoClient $connection , string $hash , array $document ) : MongoCommandCursor
public current ( ) : array
public dead ( ) : bool
public getReadPreference ( ) : array
public info ( ) : array
public key ( ) : int
public next ( ) : void
public rewind ( ) : array
public setReadPreference ( string $read_preference , array $tags = ? ) : MongoCommandCursor
public timeout ( int $ms ) : MongoCommandCursor
public valid ( ) : bool
}

Veja Também

  • MongoDB::command()
  • MongoCollection::aggregateCursor()

Índice

  • MongoCommandCursor::batchSize — Limits the number of elements returned in one batch
  • MongoCommandCursor::__construct — Create a new command cursor
  • MongoCommandCursor::createFromDocument — Create a new command cursor from an existing command response document
  • MongoCommandCursor::current — Returns the current element
  • MongoCommandCursor::dead — Checks if there are results that have not yet been sent from the database
  • MongoCommandCursor::getReadPreference — Get the read preference for this command
  • MongoCommandCursor::info — Gets information about the cursor's creation and iteration
  • MongoCommandCursor::key — Returns the current result's index within the result set
  • MongoCommandCursor::next — Advances the cursor to the next result
  • MongoCommandCursor::rewind — Executes the command and resets the cursor to the start of the result set
  • MongoCommandCursor::setReadPreference — Set the read preference for this command
  • MongoCommandCursor::timeout — Sets a client-side timeout for this command
  • MongoCommandCursor::valid — Checks if the cursor is reading a valid result


Limits the number of elements returned in one batch

  • « MongoCommandCursor
  • MongoCommandCursor::__construct »
  • PHP Manual
  • MongoCommandCursor
  • Limits the number of elements returned in one batch

MongoCommandCursor::batchSize

(PECL mongo >=1.5.0)

MongoCommandCursor::batchSize — Limits the number of elements returned in one batch

Descrição

public MongoCommandCursor::batchSize ( int $batchSize ) : MongoCommandCursor

A cursor typically fetches a batch of result objects and store them locally. This method sets the batchSize value to configure the amount of documents retrieved from the server in one round trip.

Parâmetros

batchSize

The number of results to return per batch. Each batch requires a round-trip to the server.

This cannot override MongoDB's limit on the amount of data it will return to the client (i.e., if you set batch size to 1,000,000,000, MongoDB will still only return 4-16MB of results per batch).

Valor Retornado

Returns this cursor.

Exemplos

Exemplo #1 MongoCommandCursor::batchSize()

<?php
$commandCursor->batchSize(20);
?>

Veja Também

  • MongoCursorInterface::batchSize() - Limits the number of elements returned in one batch


Create a new command cursor

  • « MongoCommandCursor::batchSize
  • MongoCommandCursor::createFromDocument »
  • PHP Manual
  • MongoCommandCursor
  • Create a new command cursor

MongoCommandCursor::__construct

(PECL mongo >=1.5.0)

MongoCommandCursor::__construct — Create a new command cursor

Descrição

public MongoCommandCursor::__construct ( MongoClient $connection , string $ns , array $command = array() )

Generally, you should not have to construct a MongoCommandCursor manually, as there are helper functions such as MongoCollection::aggregateCursor() and MongoCollection::parallelCollectionScan(); however, if the server introduces new commands that can return cursors, this constructor will be useful in the absence of specific helper methods. You may also consider using MongoCommandCursor::createFromDocument().

Parâmetros

connection

Database connection.

ns

Full name of the database and collection (e.g. "test.foo")

command

Database command.

Valor Retornado

Returns the new cursor.

Exemplos

Exemplo #1 MongoCommandCursor example

<?php
$m = new MongoClient;

// Define the aggregation pipeline
$pipeline = [
    [ '$group' => [
        '_id' => '$country_code',
        'timezones' => [ '$addToSet' => '$timezone' ]
    ] ],
    [ '$sort' => [ '_id' => 1 ] ],
];

// Construct a MongoCommandCursor object
$cursor = new MongoCommandCursor(
    $m, // MongoClient object
    'demo.cities', // namespace
    [
        'aggregate' => 'cities',
        'pipeline' => $pipeline,
        'cursor' => [ 'batchSize' => 0 ],
    ]
);

foreach($cursor as $result) {
   …
}
?>

Veja Também

  • MongoCommandCursor::createFromDocument() - Create a new command cursor from an existing command response document
  • MongoCollection::aggregateCursor() - Execute an aggregation pipeline command and retrieve results through a cursor
  • MongoCollection::parallelCollectionScan() - Returns an array of cursors to iterator over a full collection in parallel


Create a new command cursor from an existing command response document

  • « MongoCommandCursor::__construct
  • MongoCommandCursor::current »
  • PHP Manual
  • MongoCommandCursor
  • Create a new command cursor from an existing command response document

MongoCommandCursor::createFromDocument

(PECL mongo >=1.5.0)

MongoCommandCursor::createFromDocument — Create a new command cursor from an existing command response document

Descrição

public static MongoCommandCursor::createFromDocument ( MongoClient $connection , string $hash , array $document ) : MongoCommandCursor

Use this method if you have a raw command result with cursor information in it. Note that cursors created with this method cannot be iterated multiple times, as they will lack the original command necessary for re-execution.

Parâmetros

connection

Database connection.

hash

The connection hash, as obtained through the third by-reference argument to MongoDB::command().

document

Document with cursor information in it. This document needs to contain the id, ns and firstBatch fields. Such a document is obtained by calling the MongoDB::command() with appropriate arguments to return a cursor, and not just an inline result. See the example below.

Valor Retornado

Returns the new cursor.

Exemplos

Exemplo #1 MongoCommandCursor::createFromDocument()

<?php
$m = new MongoClient;
$d = $m->demo;

// Define the aggregation pipeline
$pipeline = [
    [ '$group' => [
        '_id' => '$country_code',
        'timezones' => [ '$addToSet' => '$timezone' ]
    ] ],
    [ '$sort' => [ '_id' => 1 ] ],
];

// Execute the command. The "cursor" option instructs the server to return
// cursor information in the response instead of inline results.
$r = $d->command(
    [
        'aggregate' => 'cities',
        'pipeline' => $pipeline,
        'cursor' => [ 'batchSize' => 1 ],
    ],
    null,
    $hash
);

// Show result and hash
var_dump( $r, $hash );

// Construct the command cursor
$cursor = MongoCommandCursor::createFromDocument( $m, $hash, $r );
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["cursor"]=>
  array(3) {
    ["id"]=>
    object(MongoInt64)#5 (1) {
      ["value"]=>
      string(12) "392143983421"
    }
    ["ns"]=>
    string(11) "demo.cities"
    ["firstBatch"]=>
    array(1) {
      [0]=>
      array(2) {
        ["_id"]=>
        string(2) "AD"
        ["timezones"]=>
        array(1) {
          [0]=>
          string(14) "Europe/Andorra"
        }
      }
    }
  }
  ["ok"]=>
  float(1)
}
string(25) "localhost:27017;-;.;17617"

As you can see, the returned cursor information has the id, ns and firstBatch fields.

Veja Também

  • MongoCommandCursor::__construct() - Create a new command cursor


Returns the current element

  • « MongoCommandCursor::createFromDocument
  • MongoCommandCursor::dead »
  • PHP Manual
  • MongoCommandCursor
  • Returns the current element

MongoCommandCursor::current

(PECL mongo >=1.5.0)

MongoCommandCursor::current — Returns the current element

Descrição

public MongoCommandCursor::current ( ) : array

This returns null until MongoCommandCursor::rewind() is called.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current result document as an associative array. null will be returned if there is no result.

Veja Também

  • Iterator::current() - Return the current element


Checks if there are results that have not yet been sent from the database

  • « MongoCommandCursor::current
  • MongoCommandCursor::getReadPreference »
  • PHP Manual
  • MongoCommandCursor
  • Checks if there are results that have not yet been sent from the database

MongoCommandCursor::dead

(PECL mongo >=1.5.0)

MongoCommandCursor::dead — Checks if there are results that have not yet been sent from the database

Descrição

public MongoCommandCursor::dead ( ) : bool

This method checks whether the MongoCommandCursor cursor has been exhausted and the database has no more results to send to the client. A cursor being "dead" does not necessarily mean that there are no more results available for iteration.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if there are more results that have not yet been sent to the client, and false otherwise.

Veja Também

  • MongoCursorInterface::dead() - Checks if there are results that have not yet been sent from the database


Get the read preference for this command

  • « MongoCommandCursor::dead
  • MongoCommandCursor::info »
  • PHP Manual
  • MongoCommandCursor
  • Get the read preference for this command

MongoCommandCursor::getReadPreference

(PECL mongo >=1.6.0)

MongoCommandCursor::getReadPreference — Get the read preference for this command

Descrição

public MongoCommandCursor::getReadPreference ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This function returns an array describing the read preference. The array contains the values type for the string read preference mode (corresponding to the MongoClient constants), and tagsets containing a list of all tag set criteria. If no tag sets were specified, tagsets will not be present in the array.

Exemplos

Exemplo #1 MongoCommandCursor::getReadPreference() return value example

<?php

$m = new MongoClient('mongodb://rs1.example.com:27017', array('replicaSet' => 'myReplSetName'));
$collection = $m->selectCollection('test', 'people');

// If a MongoCommandCursor is constructed directly, it will inherit the read
// preference of the MongoClient instance passed to its constructor; however,
// MongoCollection::aggregateCursor() will have the MongoCommandCursor inherit
// the collection's read preference.
$collection->setReadPreference(MongoClient::RP_SECONDARY);

$cursor = $collection->aggregateCursor( [
    [ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ],
    [ '$sort' => [ 'points' => -1 ] ],
] );

var_dump($cursor->getReadPreference());

?>

O exemplo acima irá imprimir:

array(1) {
  ["type"]=>
  string(9) "secondary"
}

Veja Também

  • The read preferences documentation.
  • MongoCommandCursor::setReadPreference() - Set the read preference for this command
  • MongoCursorInterface::getReadPreference() - Get the read preference for this query


Gets information about the cursor's creation and iteration

  • « MongoCommandCursor::getReadPreference
  • MongoCommandCursor::key »
  • PHP Manual
  • MongoCommandCursor
  • Gets information about the cursor's creation and iteration

MongoCommandCursor::info

(PECL mongo >=1.5.0)

MongoCommandCursor::info — Gets information about the cursor's creation and iteration

Descrição

public MongoCommandCursor::info ( ) : array

This can be called before or after the cursor has started iterating.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the namespace, batch size, limit, skip, flags, query, and projected fields for this cursor. If the cursor has started iterating, additional information about iteration and the connection will be included.

Exemplos

Exemplo #1 MongoCommandCursor::info() example

<?php
$m = new MongoClient();

$cursor = new MongoCommandCursor(
    $m, // MongoClient object
    'demo.cities', // namespace
    [
        'aggregate' => 'cities',
        'pipeline' => [ [ '$match' => [ '_id' => [ '$exists' => true ] ] ] ],
        'cursor' => [ 'batchSize' => 1 ],
    ]
);

echo "Before iteration started:\n";
var_dump($cursor->info());

echo "\nAfter iteration started:\n";
$cursor->rewind();
var_dump($cursor->info());

?>

O exemplo acima irá imprimir algo similar à:

Before iteration started:
array(8) {
  ["ns"]=>
  string(11) "demo.cities"
  ["limit"]=>
  int(0)
  ["batchSize"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["flags"]=>
  int(0)
  ["query"]=>
  array(3) {
    ["aggregate"]=>
    string(6) "cities"
    ["pipeline"]=>
    array(1) {
      [0]=>
      array(1) {
        ["$match"]=>
        array(1) {
          ["_id"]=>
          array(1) {
            ["$exists"]=>
            bool(true)
          }
        }
      }
    }
    ["cursor"]=>
    array(1) {
      ["batchSize"]=>
      int(1)
    }
  }
  ["fields"]=>
  NULL
  ["started_iterating"]=>
  bool(false)
}

After iteration started:
array(17) {
  ["ns"]=>
  string(11) "demo.cities"
  ["limit"]=>
  int(0)
  ["batchSize"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["flags"]=>
  int(0)
  ["query"]=>
  array(3) {
    ["aggregate"]=>
    string(6) "cities"
    ["pipeline"]=>
    array(1) {
      [0]=>
      array(1) {
        ["$match"]=>
        array(1) {
          ["_id"]=>
          array(1) {
            ["$exists"]=>
            bool(true)
          }
        }
      }
    }
    ["cursor"]=>
    array(1) {
      ["batchSize"]=>
      int(1)
    }
  }
  ["fields"]=>
  NULL
  ["started_iterating"]=>
  bool(true)
  ["id"]=>
  int(185840310129)
  ["at"]=>
  int(0)
  ["numReturned"]=>
  int(0)
  ["server"]=>
  string(25) "localhost:27017;-;.;23991"
  ["host"]=>
  string(9) "localhost"
  ["port"]=>
  int(27017)
  ["connection_type_desc"]=>
  string(10) "STANDALONE"
  ["firstBatchAt"]=>
  int(0)
  ["firstBatchNumReturned"]=>
  int(1)
}

Veja Também

  • MongoCursorInterface::info() - Gets information about the cursor's creation and iteration


Returns the current result's index within the result set

  • « MongoCommandCursor::info
  • MongoCommandCursor::next »
  • PHP Manual
  • MongoCommandCursor
  • Returns the current result's index within the result set

MongoCommandCursor::key

(PECL mongo >=1.5.0)

MongoCommandCursor::key — Returns the current result's index within the result set

Descrição

public MongoCommandCursor::key ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current result's index within the result set.

Veja Também

  • Iterator::key() - Return the key of the current element


Advances the cursor to the next result

  • « MongoCommandCursor::key
  • MongoCommandCursor::rewind »
  • PHP Manual
  • MongoCommandCursor
  • Advances the cursor to the next result

MongoCommandCursor::next

(PECL mongo >=1.5.0)

MongoCommandCursor::next — Advances the cursor to the next result

Descrição

public MongoCommandCursor::next ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

null.

Erros

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

Veja Também

  • Iterator::next() - Move forward to next element


Executes the command and resets the cursor to the start of the result set

  • « MongoCommandCursor::next
  • MongoCommandCursor::setReadPreference »
  • PHP Manual
  • MongoCommandCursor
  • Executes the command and resets the cursor to the start of the result set

MongoCommandCursor::rewind

(PECL mongo >=1.5.0)

MongoCommandCursor::rewind — Executes the command and resets the cursor to the start of the result set

Descrição

public MongoCommandCursor::rewind ( ) : array

If the cursor has already started iteration, the command will be re-executed.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The raw server result document.

Erros

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

Throws MongoCursorException if the cursor was created with MongoCommandCursor::createFromDocument() and has already started iteration. Such cursors cannot be iterated multiple times, as they lack the original command necessary for re-execution.

Exemplos

Exemplo #1 MongoCommandCursor::rewind()

<?php
$rawResult = $commandCursor->rewind();

// Command cursor is now reset to the start of the result set

var_dump($rawResult);
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["cursor"]=>
  array(3) {
    ["id"]=>
    object(MongoInt64)#5 (1) {
      ["value"]=>
      string(12) "310050110216"
    }
    ["ns"]=>
    string(9) "demo.test"
    ["firstBatch"]=>
    array(1) {
      [0]=>
      array(2) {
        ["_id"]=>
        object(MongoId)#6 (1) {
          ["$id"]=>
          string(24) "52f5691544670a8077b0dc51"
        }
        ["value"]=>
        string(2) "42"
      }
    }
  }
  ["ok"]=>
  float(1)
}

Veja Também

  • Iterator::rewind() - Rewind the Iterator to the first element


Set the read preference for this command

  • « MongoCommandCursor::rewind
  • MongoCommandCursor::timeout »
  • PHP Manual
  • MongoCommandCursor
  • Set the read preference for this command

MongoCommandCursor::setReadPreference

(PECL mongo >=1.6.0)

MongoCommandCursor::setReadPreference — Set the read preference for this command

Descrição

public MongoCommandCursor::setReadPreference ( string $read_preference , array $tags = ? ) : MongoCommandCursor

Parâmetros

read_preference

The read preference mode: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, ou MongoClient::RP_NEAREST.

tags

An array of zero or more tag sets, where each tag set is itself an array of criteria used to match tags on replica set members.

Valor Retornado

Returns this cursor.

Erros

Emits E_WARNING if either parameter is invalid, or if one or more tag sets are provided with the MongoClient::RP_PRIMARY read preference mode.

Exemplos

Exemplo #1 MongoCommandCursor::setReadPreference() tag set array syntax example

<?php

$m = new MongoClient('mongodb://rs1.example.com:27017', array('replicaSet' => 'myReplSetName'));
$collection = $m->selectCollection('test', 'people');

$cursor = $collection->aggregateCursor( [
    [ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ],
    [ '$sort' => [ 'points' => -1 ] ],
] );

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$cursor->setReadPreference(MongoClient::RP_NEAREST, [
    [ 'dc' => 'east', 'use' => 'reporting' ],
    [ 'dc' => 'west' ],
] );

foreach ($cursor as $person) {
    // ...
}

// If the read preference is changed, it will be used the next time the cursor
// is rewound and the command is re-executed.
$cursor->setReadPreference(MongoClient::RP_PRIMARY);

foreach ($cursor as $person) {
    // ...
}

?>

Veja Também

  • The read preferences documentation.
  • MongoCommandCursor::getReadPreference() - Get the read preference for this command
  • MongoCursorInterface::setReadPreference() - Set the read preference for this query


Sets a client-side timeout for this command

  • « MongoCommandCursor::setReadPreference
  • MongoCommandCursor::valid »
  • PHP Manual
  • MongoCommandCursor
  • Sets a client-side timeout for this command

MongoCommandCursor::timeout

(PECL mongo >=1.6.0)

MongoCommandCursor::timeout — Sets a client-side timeout for this command

Descrição

public MongoCommandCursor::timeout ( int $ms ) : MongoCommandCursor

A timeout can be set at any time and will affect subsequent data retrieval associated with this cursor, including fetching more results from the database.

Parâmetros

ms

The number of milliseconds for the cursor to wait for a response. Use -1 to wait forever. By default, the cursor will wait 30000 milliseconds (30 seconds).

Valor Retornado

This cursor.

Erros

Causes methods that fetch results to throw a MongoCursorTimeoutException if the data fetch takes longer than the specified number of milliseconds.

Exemplos

Exemplo #1 MongoCommandCursor::timeout() example

In the following example, the driver will wait for 60 seconds for the first response from the aggregate command. It will also wait for 60 seconds each time the server needs to be polled for more information.

<?php

$m = new MongoClient;
$col = $m->database->collection;

$pipeline = [ … ];

$cursor = $col->aggregateCursor( $pipeline );
$cursor->timeout( 60000 ); // for 60 seconds

foreach ( $cursor as $result ) {
   …
}

?>

Notas

Aviso

This does not cause the MongoDB server to cancel long-running operations; it only instructs the driver to stop waiting for a response and throw a MongoCursorTimeoutException after a set time. If you need to specify a server-side timeout for a command, considering passing the maxTimeMS option to MongoCollection::aggregateCursor().

Veja Também

  • MongoCollection::aggregateCursor() - Execute an aggregation pipeline command and retrieve results through a cursor
  • MongoCursorInterface::timeout() - Sets a client-side timeout for this query
  • The socketTimeoutMS option for MongoClient::__construct()


Checks if the cursor is reading a valid result

  • « MongoCommandCursor::timeout
  • Types »
  • PHP Manual
  • MongoCommandCursor
  • Checks if the cursor is reading a valid result

MongoCommandCursor::valid

(PECL mongo >=1.5.0)

MongoCommandCursor::valid — Checks if the cursor is reading a valid result

Descrição

public MongoCommandCursor::valid ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the current result is not null, and false otherwise.

Veja Também

  • Iterator::valid() - Checks if current position is valid


Types

Índice

  • MongoId
  • MongoCode
  • MongoDate
  • MongoRegex
  • MongoBinData
  • MongoInt32
  • MongoInt64
  • MongoDBRef
  • MongoMinKey
  • MongoMaxKey
  • MongoTimestamp

MongoDB allows programmers to save and query for data expressed in all of the basic PHP types, compound types (arrays, associative arrays, and objects), and a half-dozen classes provided by the MongoDB PHP driver (for regular expressions, dates, and other specialized applications).

Booleans and null

true, false, and null can be used as-is.

Numbers

Numbers are distinct from strings in MongoDB: "123" does not match 123. Thus, if you want to make sure numbers are sorted and matched correctly, you must make sure that they are actually saved as numbers.

<?php

$doc = array("a" => 123, "b" => "123");
$collection->insert($doc);

$doc->find(array("a" => 123));   // matches
$doc->find(array("a" => "123")); // doesn't match
$doc->find(array("a" => 123.0)); // matches
$doc->find(array("b" => 123));   // doesn't match
$doc->find(array("b" => "123")); // matches

?>

As noted above, floating point numbers do compare with/match integer numbers as one would expect.

Large Numbers

By default, on a 32-bit system, numbers are sent to the database as 32-bit integers. On a 64-bit system, they are sent as 64-bit integers. For backwards compatibility, all systems deserialize 64-bit integers as floating point numbers. Floating point numbers are not exact. If you need exact values, you must tweak your php.ini settings.

On a 32-bit system, if mongo.long_as_object is set, 64-bit integers will be returns as MongoInt64 objects. The integer will be stored in the value field with perfect precision (as a string). You can also use MongoInt64 to save 64-bit integers on 32-bit machines.

On 64-bit systems, you can either set mongo.long_as_object or set mongo.native_long. mongo.native_long will return 64-bit integers and "normal" PHP integers. You can use MongoInt32 to save 32-bit integers on 64-bit machines.

You should set the mongo.long_as_object and mongo.native_long behavior that you plan to use, even if it is the default behavior (to protect against future changes to the defaults).

See also: php.ini Options, MongoInt32, MongoInt64.

Strings

Strings must be UTF-8. Non-UTF-8 strings must either be converted to UTF-8 before being sent to the database or saved as binary data.

Regular expressions can be used to match strings, and are expressed using the MongoRegex class.

Binary Data

Non-UTF-8 strings, images, and any other binary data should be sent to the database using the MongoBinData type.

Dates

Dates can be created using the MongoDate class. They are stored as milliseconds since the epoch.

MongoTimestamp is not for saving dates or timestamps, it is used internally by MongoDB. Unless you are creating a tool that interacts with the internals of replication or sharding, you should use MongoDate, not MongoTimestamp.

Unique Ids

The driver will automatically create an _id field before inserting a document (unless one is specified by the user). This field is an instance of MongoId (called "ObjectId" in most other languages).

These ids are 12 bytes long and composed of:

  • 4 bytes of timestamp

    No two records can have the same id if they were inserted at different times.

  • 3 bytes machine id

    No two records can have the same id if they were inserted on different machines

  • 2 bytes thread id

    No two records can have the same id if they were inserted by different threads running on the same machine.

  • 3 bytes incrementing value

    Each time an id is created, a global counter is incremented and used as the increment value of the next id.

Thus, no two records can have the same id unless a single process on a single machine managed to insert 256^3 (over 16 million) documents in one second, overflowing the increment field.

JavaScript

MongoDB comes with a JavaScript engine, so you can embed JavaScript in queries (using a $where clause), send it directly to the database to be executed, and use it to perform aggregations.

For security, use MongoCode's scope field to use PHP variables in JavaScript. Code that does not require external values can either use MongoCode or just be a string. See the section on security for more information about sending JavaScript to the database.

Arrays and Objects

Arrays and objects can also be saved to the database. An array with ascending numeric keys will be saved as a an array, anything else will be saved as an object.

<?php

// $scores will be saved as an array
$scores = array(98, 100, 73, 85);
$collection->insert(array("scores" => $scores));

// $scores will be saved as an object
$scores = array("quiz1" => 98, "midterm" => 100, "quiz2" => 73, "final" => 85);
$collection->insert(array("scores" => $scores));

?>

If you query for these objects using the database shell, they will look like:

> db.students.find()
{ "_id" : ObjectId("4b06beada9ad6390dab17c43"), "scores" : [ 98, 100, 73, 85 ] }
{ "_id" : ObjectId("4b06bebea9ad6390dab17c44"), "scores" : { "quiz1" : 98, "midterm" : 100, "quiz2" : 73, "final" : 85 } }

The database can also save arbitrary PHP objects (although they will be returned as associative arrays). The fields are used for the key/value pairs. For example, a blog post might look like:

<?php

  // the blog post class
  class Post {

  var $author;
  var $content;
  var $comments = array();
  var $date;

  public function __construct($author, $content) {
  $this->author = $author;
$this->content = $content;
    $this->date = new MongoDate();
  }

  public function setTitle($title) {
    $this->title = $title;
  }
}

// create a simple blog post and insert it into the database
$post1 = new Post("Adam", "This is a blog post");

$blog->insert($post1);

// there is nothing restricting the type of the "author" field, so we can make
// it a nested object
$author = array("name" => "Fred", "karma" => 42);
$post2 = new Post($author, "This is another blog post.");

// we create an extra field by setting the title
$post2->setTitle("Second Post");

$blog->insert($post2);

?>

From the database shell, this will look something like:

> db.blog.find()
{ "_id" : ObjectId("4b06c263edb87a281e09dad8"), "author" : "Adam", "content" : "This is a blog post", "comments" : [ ], "date" : "Fri Nov 20 2009 11:22:59 GMT-0500 (EST)" }
{ "_id" : ObjectId("4b06c282edb87a281e09dad9"), "author" : { "name" : "Fred", "karma" : 42 }, "content" : "This is a blog post", "comments" : [ ], "date" : "Fri Nov 20 2009 11:23:30 GMT-0500 (EST)", "title" : "Second Post" }

The driver will not detect reference loops in arrays and objects. For example, this will give a fatal error:

<?php

$collection->insert($GLOBALS);

?>
Fatal error: Nesting level too deep - recursive dependency?
If you need to insert documents that may have recursive dependency, you have to check for it yourself before passing it to the driver.


The MongoId class

(PECL mongo >=0.8.0)

Aviso

A extensão que define essa classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a essa classe incluem:

  • MongoDB\BSON\ObjectId

Introdução

A unique identifier created for database objects. If an object is inserted into the database without an _id field, an _id field will be added to it with a MongoId instance as its value. If the data has a naturally occuring unique field (e.g. username or timestamp) it is fine to use this as the _id field instead, and it will not be replaced with a MongoId.

Instances of the MongoId class fulfill the role that autoincrementing does in a relational database: to provide a unique key if the data does not naturally have one. Autoincrementing does not work well with a sharded database, as it is difficult to determine the next number in the sequence. This class fulfills the constraints of quickly generating a value that is unique across shards.

Each MongoId is 12 bytes (making its string form 24 hexadecimal characters). The first four bytes are a timestamp, the next three are a hash of the client machine's hostname, the next two are the two least significant bytes of the process id running the script, and the last three bytes are an incrementing value.

MongoIds are serializable/unserializable. Their serialized form is similar to their string form:

C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}

Sinopse da classe

MongoId {
public string $$id = null ;
/* Métodos */
public __construct ( string|MongoId $id = null )
public static getHostname ( ) : string
public getInc ( ) : int
public getPID ( ) : int
public getTimestamp ( ) : int
public static isValid ( mixed $value ) : bool
public static __set_state ( array $props ) : MongoId
public __toString ( ) : string
}

Fields

$id
This field contains the string representation of this object.

Nota: The property name begins with a $ character. It may be accessed using complex variable parsed syntax (e.g. $mongoId->{'$id'}).

Veja Também

MongoDB core docs on » ObjectIds.

Índice

  • MongoId::__construct — Creates a new id
  • MongoId::getHostname — Gets the hostname being used for this machine's ids
  • MongoId::getInc — Gets the incremented value to create this id
  • MongoId::getPID — Gets the process ID
  • MongoId::getTimestamp — Gets the number of seconds since the epoch that this id was created
  • MongoId::isValid — Check if a value is a valid ObjectId
  • MongoId::__set_state — Create a dummy MongoId
  • MongoId::__toString — Returns a hexidecimal representation of this id


Creates a new id

  • « MongoId
  • MongoId::getHostname »
  • PHP Manual
  • MongoId
  • Creates a new id

MongoId::__construct

(PECL mongo >= 0.8.0)

MongoId::__construct — Creates a new id

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\BSON\ObjectId::__construct()

Descrição

public MongoId::__construct ( string|MongoId $id = null )

Parâmetros

id

A string (must be 24 hexadecimal characters) or a MongoId instance.

Valor Retornado

Returns a new id.

Changelog

Versão | Descrição
PECL mongo 1.4.0 | An exception is thrown when passed invalid string

Exemplos

Exemplo #1 MongoId::__construct() example

This example shows how to create a new id. This is seldom necessary, as the driver adds an id to arrays automatically before storing them in the database.

<?php

  $id1 = new MongoId();
  echo "$id1\n";

  $id2 = new MongoId();
  echo "$id2\n";

  ?>

O exemplo acima irá imprimir algo similar à:

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d

Exemplo #2 Parameter example

This example shows how to use a string parameter to initialize a MongoId with a given value.

<?php
  $id1 = new MongoId();

  // create a new id from $id1
  $id2 = new MongoId("$id1");

  // show that $id1 and $id2 have the same hexidecimal value
  var_dump($id1 == $id2);
  ?>

O exemplo acima irá imprimir algo similar à:

bool(true)

Veja Também

  • MongoId::__toString() - Returns a hexidecimal representation of this id
  • MongoId::isvalid() - Check if a value is a valid ObjectId


Gets the hostname being used for this machine's ids

  • « MongoId::__construct
  • MongoId::getInc »
  • PHP Manual
  • MongoId
  • Gets the hostname being used for this machine's ids

MongoId::getHostname

(PECL mongo >= 1.0.8)

MongoId::getHostname — Gets the hostname being used for this machine's ids

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public static MongoId::getHostname ( ) : string

This returns the hostname MongoId is using to generate unique ids. This should be the same value gethostname() returns.

It is identical to the function:

<?php

public static function getHostname() {
    return gethostname();
}

?>

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the hostname.


Gets the incremented value to create this id

  • « MongoId::getHostname
  • MongoId::getPID »
  • PHP Manual
  • MongoId
  • Gets the incremented value to create this id

MongoId::getInc

(PECL mongo >= 1.0.11)

MongoId::getInc — Gets the incremented value to create this id

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public MongoId::getInc ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the incremented value used to create this MongoId.


Gets the process ID

  • « MongoId::getInc
  • MongoId::getTimestamp »
  • PHP Manual
  • MongoId
  • Gets the process ID

MongoId::getPID

(PECL mongo >= 1.0.11)

MongoId::getPID — Gets the process ID

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public MongoId::getPID ( ) : int

Extracts the pid from the Mongo ID

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the PID of the MongoId.


Gets the number of seconds since the epoch that this id was created

  • « MongoId::getPID
  • MongoId::isValid »
  • PHP Manual
  • MongoId
  • Gets the number of seconds since the epoch that this id was created

MongoId::getTimestamp

(PECL mongo >= 1.0.1)

MongoId::getTimestamp — Gets the number of seconds since the epoch that this id was created

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public MongoId::getTimestamp ( ) : int

This returns the same thing as running time() when the id is created.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of seconds since the epoch that this id was created. There are only four bytes of timestamp stored, so MongoDate is a better choice for storing exact or wide-ranging times.


Check if a value is a valid ObjectId

  • « MongoId::getTimestamp
  • MongoId::__set_state »
  • PHP Manual
  • MongoId
  • Check if a value is a valid ObjectId

MongoId::isValid

(PECL mongo >= 1.5.0)

MongoId::isValid — Check if a value is a valid ObjectId

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public static MongoId::isValid ( mixed $value ) : bool

This method may be used to check a variable before passing it as an argument to MongoId::__construct().

Parâmetros

value

The value to check for validity.

Valor Retornado

Returns true if value is a MongoId instance or a string consisting of exactly 24 hexadecimal characters; otherwise, false is returned.


Create a dummy MongoId

  • « MongoId::isValid
  • MongoId::__toString »
  • PHP Manual
  • MongoId
  • Create a dummy MongoId

MongoId::__set_state

(PECL mongo >= 1.0.8)

MongoId::__set_state — Create a dummy MongoId

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public static MongoId::__set_state ( array $props ) : MongoId

This function is only used by PHP internally, it shouldn't need to ever be called by the user.

It is identical to the function:

<?php

public static function __set_state($props) {
    return new MongoId("000000000000000000000000");
}

?>

Parâmetros

props

Theoretically, an array of properties used to create the new id. However, as MongoId instances have no properties, this is not used.

Valor Retornado

A new id with the value "000000000000000000000000".


Returns a hexidecimal representation of this id

  • « MongoId::__set_state
  • MongoCode »
  • PHP Manual
  • MongoId
  • Returns a hexidecimal representation of this id

MongoId::__toString

(PECL mongo >= 0.8.0)

MongoId::__toString — Returns a hexidecimal representation of this id

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\BSON\ObjectId::__toString()

Descrição

public MongoId::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This id.

Exemplos

Exemplo #1 MongoId::__toString() example

<?php

$m = new MongoClient();
$collection = $m->selectDB("foo")->selectCollection("bar");

$collection->insert(array( "x" => "y" ));
$collection->insert(array( "x" => "y" ));

$cursor = $collection->find();
$r1 = $cursor->next();
$r2 = $cursor->next();

echo $r1["_id"] . "\n";
echo $r2["_id"] . "\n";

?>

O exemplo acima irá imprimir algo similar à:

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d


The MongoCode class

(PECL mongo >=0.8.3)

Aviso

A extensão que define essa classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a essa classe incluem:

  • MongoDB\BSON\JavaScript

Introdução

Represents JavaScript code for the database.

MongoCode objects are composed of two parts: a string of code and an optional scope. The string of code must be valid JavaScript. The scope is a associative array of variable name/value pairs.

Sinopse da classe

MongoCode {
/* Métodos */
public __construct ( string $code , array $scope = array() )
public __toString ( ) : string
}

Índice

  • MongoCode::__construct — Creates a new code object
  • MongoCode::__toString — Returns this code as a string


Creates a new code object

  • « MongoCode
  • MongoCode::__toString »
  • PHP Manual
  • MongoCode
  • Creates a new code object

MongoCode::__construct

(PECL mongo >= 0.8.3)

MongoCode::__construct — Creates a new code object

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\BSON\JavaScript::__construct()

Descrição

public MongoCode::__construct ( string $code , array $scope = array() )

Parâmetros

code

A string of code.

scope

The scope to use for the code.

Valor Retornado

Returns a new code object.

Exemplos

Exemplo #1 MongoCode::__construct() example

<?php

$code = new MongoCode('function() { '.
    'for(i=0;i<10;i++) {'.
        'db.foo.update({z : i}, {z : x});'.
    '}'.
    'return x-1;'.
 '}', array("x" => 4));
var_dump($code);

?>

O exemplo acima irá imprimir algo similar à:

object(MongoCode)#1 (2) {
  ["scope"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["code"]=>
  string(80) "function() { for(i=0;i<10;i++) { db.foo.update({z : i}, {z : x}); } return x-1; }"
}

Exemplo #2 Using MongoCode with $where

This example queries a collection for elements where the 'x' fields is less than $y. Notice that PHP objects can be passed into the JavaScript scope and that the JavaScript function returns a boolean.

<?php

$cursor = $collection->find(array('$where' => new MongoCode('function() { return this.x < y; }', array('y'=>$y))));

?>


Returns this code as a string

  • « MongoCode::__construct
  • MongoDate »
  • PHP Manual
  • MongoCode
  • Returns this code as a string

MongoCode::__toString

(PECL mongo >= 0.8.3)

MongoCode::__toString — Returns this code as a string

A extensão que define esse método está obsoleta. Alternativamente a extensão MongoDB deve ser utilizada. Não há um equivalente deste método na nova extensão.

Descrição

public MongoCode::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This code, the scope is not returned.

Exemplos

Exemplo #1 MongoCode::__toString() example

<?php

$code = new MongoCode('return x;', array("x"=>"hi"));
echo "$code\n";

$code = new MongoCode('function() { for(i=0;i<10;i++) { db.foo.update({x:i}, {x:i+1}); } }');
echo "$code\n";

?>

O exemplo acima irá imprimir algo similar à:

return x;
function() { for(i=0;i<10;i++) { db.foo.update({x:i}, {x:i+1}); } }


The MongoDate class

(PECL mongo >=0.8.1)

Aviso

A extensão que define essa classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a essa classe incluem:

  • MongoDB\BSON\UTCDateTime

Introdução

Represent date objects for the database. This class should be used to save dates to the database and to query for dates. For example:

Exemplo #1 Storing dates with MongoDate

<?php

// save a date to the database
$collection->save(array("ts" => new MongoDate()));

$start = new MongoDate(strtotime("2010-01-15 00:00:00"));
$end = new MongoDate(strtotime("2010-01-30 00:00:00"));

// find dates between 1/15/2010 and 1/30/2010
$collection->find(array("ts" => array('$gt' => $start, '$lte' => $end)));

?>

MongoDB stores dates as milliseconds past the epoch. This means that dates do not contain timezone information. Timezones must be stored in a separate field if needed. Second, this means that any precision beyond milliseconds will be lost when the document is sent to/from the database.

Sinopse da classe

MongoDate {
/* Fields */
public int $sec ;
public int $usec ;
/* Métodos */
public __construct ( int $sec = time() , int $usec = 0 )
public toDateTime ( ) : DateTime
public __toString ( ) : string
}

Índice

  • MongoDate::__construct — Creates a new date
  • MongoDate::toDateTime — Returns a DateTime object representing this date
  • MongoDate::__toString — Returns a string representation of this date


Creates a new date

  • « MongoDate
  • MongoDate::toDateTime »
  • PHP Manual
  • MongoDate
  • Creates a new date

MongoDate::__construct

(PECL mongo >= 0.8.1)

MongoDate::__construct — Creates a new date

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\BSON\UTCDateTime::__construct()

Descrição

public MongoDate::__construct ( int $sec = time() , int $usec = 0 )

Creates a new date. If no parameters are given, the current time is used.

Parâmetros

sec

Number of seconds since the epoch (i.e. 1 Jan 1970 00:00:00.000 UTC).

usec

Microseconds. Please be aware though that MongoDB's resolution is milliseconds and not microseconds, which means this value will be truncated to millisecond resolution.

Valor Retornado

Returns this new date.

Exemplos

Exemplo #1 MongoDate::__construct() example

This example demonstrates creating a new date with the current time and a new date with a given time.

<?php

$d = new MongoDate();
echo "$d\n";
$d = new MongoDate(1234567890);
echo "$d\n";
$d = new MongoDate(strtotime("2009-05-01 00:00:01"));
echo "$d\n";

?>

O exemplo acima irá imprimir algo similar à:

0.23660600 1235685067
0.00000000 1234567890
0.00000000 1241150401

Veja Também

  • MongoDate::__toString() - Returns a string representation of this date


Returns a DateTime object representing this date

  • « MongoDate::__construct
  • MongoDate::__toString »
  • PHP Manual
  • MongoDate
  • Returns a DateTime object representing this date

MongoDate::toDateTime

(PECL mongo >= 1.6.0)

MongoDate::toDateTime — Returns a DateTime object representing this date

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\BSON\UTCDateTime::toDateTime()

Descrição

public MongoDate::toDateTime ( ) : DateTime

Returns the DateTime representation of this date. The returned DateTime will use the UTC time zone.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This date as a DateTime object.

Exemplos

Exemplo #1 MongoDate::toDateTime() example

This example demonstrates creating a DateTime object from a MongoDate object.

<?php
$d = new MongoDate(strtotime("2014-11-18 11:01:25"));
var_dump( $d->toDateTime() );
?>

O exemplo acima irá imprimir algo similar à:

class DateTime#2 (3) {
  public $date =>
  string(26) "2014-11-18 11:01:25.000000"
  public $timezone_type =>
  int(1)
  public $timezone =>
  string(6) "+00:00"
}


Returns a string representation of this date

  • « MongoDate::toDateTime
  • MongoRegex »
  • PHP Manual
  • MongoDate
  • Returns a string representation of this date

MongoDate::__toString

(PECL mongo >= 0.8.1)

MongoDate::__toString — Returns a string representation of this date

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\BSON\UTCDateTime::__toString()

Descrição

public MongoDate::__toString ( ) : string

Returns a string representation of this date, similar to the representation returned by microtime().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This date.


The MongoRegex class

(PECL mongo >=0.8.1)

Aviso

A extensão que define essa classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a essa classe incluem:

  • MongoDB\BSON\Regex

Introdução

This class can be used to create regular expressions. Typically, these expressions will be used to query the database and find matching strings. More unusually, they can be saved to the database and retrieved.

Regular expressions consist of four parts. First a / as starting delimiter, then the pattern, another / and finally a string containing flags.

Exemplo #1 Regular expression pattern

/pattern/flags

MongoDB recognizes six regular expression flags:

  • i: Case insensitive

  • m: Multiline

  • x: Can contain comments

  • l: locale

  • s: dotall, "." matches everything, including newlines

  • u: match unicode

Sinopse da classe

MongoRegex {
/* Fields */
public string $regex ;
public string $flags ;
/* Métodos */
public __construct ( string $regex )
public __toString ( ) : string
}

Índice

  • MongoRegex::__construct — Creates a new regular expression
  • MongoRegex::__toString — A string representation of this regular expression


Creates a new regular expression

  • « MongoRegex
  • MongoRegex::__toString »
  • PHP Manual
  • MongoRegex
  • Creates a new regular expression

MongoRegex::__construct

(PECL mongo >= 0.8.1)

MongoRegex::__construct — Creates a new regular expression

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\BSON\Regex::__construct()

Descrição

public MongoRegex::__construct ( string $regex )

Creates a new regular expression.

Parâmetros

regex

Regular expression string of the form /expr/flags.

Valor Retornado

Returns a new regular expression.

Exemplos

Exemplo #1 MongoRegex::__construct() example

This example uses a regular expression to query for all documents with a username field starting (^) with an l and a vowel ([aeiouy]), case-insensitive (/i).

<?php
$luke_search = new MongoRegex("/^l[aeiouy]/i");
$cursor = $collection->find(array("username" => $luke_search));
?>

Veja Também

  • MongoRegex::__toString() - A string representation of this regular expression


A string representation of this regular expression

  • « MongoRegex::__construct
  • MongoBinData »
  • PHP Manual
  • MongoRegex
  • A string representation of this regular expression

MongoRegex::__toString

(PECL mongo >= 0.8.1)

MongoRegex::__toString — A string representation of this regular expression

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\BSON\Regex::__toString()

Descrição

public MongoRegex::__toString ( ) : string

Returns a string representation of this regular expression.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This regular expression in the form "/expr/flags".

Exemplos

Exemplo #1 MongoRegex::__toString() example

<?php

$r = new MongoRegex( "/[a-fA-F0-9]{16}/g" );
echo $r->regex . "\n";
echo $r->flags . "\n";
echo "$r\n";

?>

O exemplo acima irá imprimir algo similar à:

[a-fA-F0-9]{16}
g
/[a-fA-F0-9]{16}/g


The MongoBinData class

(PECL mongo >= 0.8.1)

Aviso

A extensão que define essa classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a essa classe incluem:

  • MongoDB\BSON\Binary

Introdução

An object that can be used to store or retrieve binary data from the database.

The maximum size of a single object that can be inserted into the database is 16MB. For data that is larger than this (movies, music, Henry Kissinger's autobiography), use MongoGridFS. For data that is smaller than 16MB, you may find it easier to embed it within the document using MongoBinData.

For example, to embed an image in a document, one could write:

<?php

$profile = array(
    "username" => "foobity",
    "pic" => new MongoBinData(file_get_contents("gravatar.jpg"), MongoBinData::GENERIC),
);

$users->save($profile);

?>

This class contains a type field, which currently gives no additional functionality in the PHP driver or the database. There are seven predefined types, which are defined as class constants below. For backwards compatibility, the PHP driver uses MongoBinData::BYTE_ARRAY as the default; however, this may change to MongoBinData::GENERIC in the future. Users are encouraged to specify a type in MongoBinData::__construct().

Sinopse da classe

MongoBinData {
/* Constantes */
const int GENERIC = 0 ;
const int FUNC = 1 ;
const int BYTE_ARRAY = 2 ;
const int UUID = 3 ;
const int UUID_RFC4122 = 4 ;
const int MD5 = 5 ;
const int CUSTOM = 128 ;
/* Fields */
public string $bin ;
public int $type = 2 ;
/* Métodos */
public __construct ( string $data , int $type = 0 )
public __toString ( ) : string
}

Constantes pré-definidas

Binary Data Types

MongoBinData::GENERIC
Generic binary data.
MongoBinData::FUNC
Function.
MongoBinData::BYTE_ARRAY
Generic binary data (deprecated in favor of MongoBinData::GENERIC).
MongoBinData::UUID
Universally unique identifier (deprecated in favor of MongoBinData::UUID_RFC4122).
MongoBinData::UUID_RFC4122
Universally unique identifier (according to » RFC 4122).
MongoBinData::MD5
MD5.
MongoBinData::CUSTOM
User-defined type.

Changelog

Versão | Descrição
1.5.0 | Added MongoBinData::GENERIC and MongoBinData::UUID_RFC4122 constants.

Índice

  • MongoBinData::__construct — Creates a new binary data object
  • MongoBinData::__toString — The string representation of this binary data object


Creates a new binary data object

  • « MongoBinData
  • MongoBinData::__toString »
  • PHP Manual
  • MongoBinData
  • Creates a new binary data object

MongoBinData::__construct

(PECL mongo >= 0.8.1)

MongoBinData::__construct — Creates a new binary data object

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\BSON\Binary::__construct()

Descrição

public MongoBinData::__construct ( string $data , int $type = 0 )

Creates a new binary data object.

There are seven types of binary data currently recognized by the BSON spec, which are defined as class constants. For backwards compatibility, the PHP driver uses MongoBinData::BYTE_ARRAY as the default; however, this may change to MongoBinData::GENERIC in the future. Users are encouraged to specify a type instead of relying on the default.

Parâmetros

data

Binary data.

type

Data type.

Valor Retornado

Returns a new binary data object.

Changelog

Versão | Descrição
PECL mongo 1.5.0 | The default changed from 2 (MongoBinData::BYTE_ARRAY) to 0 (MongoBinData::GENERIC).
PECL mongo 1.2.11 | Emits E_DEPRECATED when the second argument is not used. The default value for type may change in the near future.


The string representation of this binary data object

  • « MongoBinData::__construct
  • MongoInt32 »
  • PHP Manual
  • MongoBinData
  • The string representation of this binary data object

MongoBinData::__toString

(PECL mongo >= 0.8.1)

MongoBinData::__toString — The string representation of this binary data object

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\BSON\Binary::getData()

Descrição

public MongoBinData::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string "<Mongo Binary Data>". To access the contents of a MongoBinData, use the bin field.


The MongoInt32 class

(PECL mongo >=1.0.9)

Aviso

A extensão que define esta classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Não há uma equivalente desta classe na nova extensão.

Instead, the new extension chooses the appropriate database type depending on the integer's value.

Introdução

The class can be used to save 32-bit integers to the database on a 64-bit system.

Sinopse da classe

MongoInt32 {
/* Fields */
public string $value ;
/* Métodos */
public __construct ( string $value )
public __toString ( ) : string
}

Fields

value
This is the string value of the 32-bit number. For instance, 123's value would be "123".

Índice

  • MongoInt32::__construct — Creates a new 32-bit integer
  • MongoInt32::__toString — Returns the string representation of this 32-bit integer


Creates a new 32-bit integer

  • « MongoInt32
  • MongoInt32::__toString »
  • PHP Manual
  • MongoInt32
  • Creates a new 32-bit integer

MongoInt32::__construct

(PECL mongo >= 1.0.9)

MongoInt32::__construct — Creates a new 32-bit integer

A extensão que define esta classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Não há uma equivalente desta classe na nova extensão.

Instead, the new extension chooses the appropriate database type depending on the integer's value.

Descrição

public MongoInt32::__construct ( string $value )

Creates a new 32-bit number with the given value.

Parâmetros

value

A number.

Valor Retornado

Returns a new integer.


Returns the string representation of this 32-bit integer

  • « MongoInt32::__construct
  • MongoInt64 »
  • PHP Manual
  • MongoInt32
  • Returns the string representation of this 32-bit integer

MongoInt32::__toString

(PECL mongo >= 1.0.9)

MongoInt32::__toString — Returns the string representation of this 32-bit integer

A extensão que define esta classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Não há uma equivalente desta classe na nova extensão.

Instead, the new extension chooses the appropriate database type depending on the integer's value.

Descrição

public MongoInt32::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of this integer.


The MongoInt64 class

(PECL mongo >=1.0.9)

Aviso

A extensão que define esta classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Não há uma equivalente desta classe na nova extensão.

Instead, the new extension chooses the appropriate database type depending on the integer's value.

Introdução

The class can be used to save 64-bit integers to the database on a 32-bit system.

Sinopse da classe

MongoInt64 {
/* Fields */
public string $value ;
/* Métodos */
public __construct ( string $value )
public __toString ( ) : string
}

Fields

value
This is the string value of the 64-bit number. For instance, 123's value would be "123".

Índice

  • MongoInt64::__construct — Creates a new 64-bit integer
  • MongoInt64::__toString — Returns the string representation of this 64-bit integer


Creates a new 64-bit integer

  • « MongoInt64
  • MongoInt64::__toString »
  • PHP Manual
  • MongoInt64
  • Creates a new 64-bit integer

MongoInt64::__construct

(PECL mongo >= 1.0.9)

MongoInt64::__construct — Creates a new 64-bit integer

A extensão que define esta classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Não há uma equivalente desta classe na nova extensão.

Instead, the new extension chooses the appropriate database type depending on the integer's value.

Descrição

public MongoInt64::__construct ( string $value )

Creates a new 64-bit number with the given value.

Parâmetros

value

A number.

Valor Retornado

Returns a new integer.


Returns the string representation of this 64-bit integer

  • « MongoInt64::__construct
  • MongoDBRef »
  • PHP Manual
  • MongoInt64
  • Returns the string representation of this 64-bit integer

MongoInt64::__toString

(PECL mongo >= 1.0.9)

MongoInt64::__toString — Returns the string representation of this 64-bit integer

A extensão que define esta classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Não há uma equivalente desta classe na nova extensão.

Instead, the new extension chooses the appropriate database type depending on the integer's value.

Descrição

public MongoInt64::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of this integer.


The MongoDBRef class

(PECL mongo >=0.9.0)

Aviso

A extensão que define esta classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Não há uma equivalente desta classe na nova extensão.

The concept of database references, and hence this class, has been deprecated in the database.

Introdução

This class can be used to create lightweight links between objects in different collections.

Motivation: Suppose we need to refer to a document in another collection. The easiest way is to create a field in the current document. For example, if we had a "people" collection and an "addresses" collection, we might want to create a link between each person document and an address document:

Exemplo #1 Linking documents

<?php

$people = $db->people;
$addresses = $db->addresses;

$myAddress = array("line 1" => "123 Main Street",
    "line 2" => null,
    "city" => "Springfield",
    "state" => "Vermont",
    "country" => "USA");

// save the address
$addresses->insert($myAddress);

// save a person with a reference to the address
$me = array("name" => "Fred", "address" => $myAddress['_id']);
$people->insert($me);

?>

Then, later on, we can find the person's address by querying the "addresses" collection with the MongoId we saved in the "people" collection.

Suppose now that we have a more general case, where we don't know which collection (or even which database) contains the referenced document. MongoDBRef is a good choice for this case, as it is a common format that all of the drivers and the database understand.

If each person had a list of things they liked which could come from multiple collections, such as "hobbies", "sports", "books", etc., we could use MongoDBRefs to keep track of what "like" went with what collection:

Exemplo #2 Creating MongoDBRef links

<?php

$people = $db->selectCollection("people");

// model trains are in the "hobbies" collection
$trainRef = MongoDBRef::create("hobbies", $modelTrains['_id']);
// soccer is in the "sports" collection
$soccerRef = MongoDBRef::create("sports", $soccer['_id']);

// now we'll know what collections the items in the "likes" array came from when
// we retrieve this document
$people->insert(array("name" => "Fred", "likes" => array($trainRef, $soccerRef)));

?>

Database references can be thought of as hyperlinks: they give the unique address of another document, but they do not load it or automatically follow the link/reference.

A database reference is just a normal associative array, not an instance of MongoDBRef, so this class is a little different than the other data type classes. This class contains exclusively static methods for manipulating database references.

Sinopse da classe

MongoDBRef {
/* Métodos */
public static create ( string $collection , mixed $id , string $database = ? ) : array
public static get ( MongoDB $db , array $ref ) : array
public static isRef ( mixed $ref ) : bool
}

Veja Também

MongoDB core docs on » databases references.

Índice

  • MongoDBRef::create — Creates a new database reference
  • MongoDBRef::get — Fetches the object pointed to by a reference
  • MongoDBRef::isRef — Checks if an array is a database reference


Creates a new database reference

  • « MongoDBRef
  • MongoDBRef::get »
  • PHP Manual
  • MongoDBRef
  • Creates a new database reference

MongoDBRef::create

(PECL mongo >= 0.9.0)

MongoDBRef::create — Creates a new database reference

A extensão que define esta classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Não há uma equivalente desta classe na nova extensão.

The concept of database references, and hence this class, has been deprecated.

Descrição

public static MongoDBRef::create ( string $collection , mixed $id , string $database = ? ) : array

If no database is given, the current database is used.

Parâmetros

collection

Collection name (without the database name).

id

The _id field of the object to which to link.

database

Database name.

Valor Retornado

Returns the reference.

Exemplos

Exemplo #1 MongoDBRef::create() example

This creates a database reference to a document in the addresses collection. The MongoCollection::getName() function returns the name of the collection (not including the database name).

<?php
$addresses = $db->addresses;
$people = $db->people;

// save $address so it has an _id
$addresses->insert($address);

// create a reference
$ref = MongoDBRef::create($addresses->getName(), $address['_id']);

// set the field in $person
$person['address'] = $ref;
$people->save($person);
?>

Veja Também

  • MongoDB::createDBRef() - Creates a database reference
  • MongoCollection::createDBRef() - Creates a database reference


Fetches the object pointed to by a reference

  • « MongoDBRef::create
  • MongoDBRef::isRef »
  • PHP Manual
  • MongoDBRef
  • Fetches the object pointed to by a reference

MongoDBRef::get

(PECL mongo >= 0.9.0)

MongoDBRef::get — Fetches the object pointed to by a reference

A extensão que define esta classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Não há uma equivalente desta classe na nova extensão.

The concept of database references, and hence this class, has been deprecated.

Descrição

public static MongoDBRef::get ( MongoDB $db , array $ref ) : array

Parâmetros

db

Database to use.

ref

Reference to fetch.

Valor Retornado

Returns the document to which the reference refers or null if the document does not exist (the reference is broken).

Exemplos

Exemplo #1 MongoCollection::createDBRef() example

<?php

// get $person out of the db
$person = $people->findOne();

// dereference the address
$address = MongoDBRef::get($people->db, $person['address']);

?>

Veja Também

  • MongoDB::getDBRef() - Fetches the document pointed to by a database reference
  • MongoCollection::getDBRef() - Fetches the document pointed to by a database reference


Checks if an array is a database reference

  • « MongoDBRef::get
  • MongoMinKey »
  • PHP Manual
  • MongoDBRef
  • Checks if an array is a database reference

MongoDBRef::isRef

(PECL mongo >= 0.9.0)

MongoDBRef::isRef — Checks if an array is a database reference

A extensão que define esta classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Não há uma equivalente desta classe na nova extensão.

The concept of database references, and hence this class, has been deprecated.

Descrição

public static MongoDBRef::isRef ( mixed $ref ) : bool

This method does not actually follow the reference, so it does not determine if it is broken or not. It merely checks that ref is in valid database reference format (in that it is an object or array with $ref and $id fields).

Parâmetros

ref

Array or object to check.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


The MongoMinKey class

(PECL mongo >= 1.0.2)

Aviso

A extensão que define essa classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a essa classe incluem:

  • MongoDB\BSON\MinKey

Introdução

MongoMinKey is an special type used by the database that compares less than all other possible BSON values. Thus, if a query is sorted by a given field in ascending order, any document with a MongoMinKey as its value will be returned first.

MongoMinKey has no associated fields, methods, or constants. It is merely the "smallest" value that can be represented in the database.

Nota: MongoMinKey is used internally by MongoDB for indexing and sharding. There is generally no reason to use this class in an application.

Sinopse da classe

MongoMinKey {
}

Using MongoMinKey as a value

<?php

$collection->insert(array("task" => "lunch", "doBy" => new MongoMinKey));
$collection->insert(array("task" => "staff meeting", "doBy" => new MongoDate(strtotime("+4 days"))));

$cursor = $collection->find()->sort(array("doBy" => 1));

?>

The cursor will return the lunch document followed by the staff meeting document. The lunch document will always be returned first, regardless of what else is added to the collection (unless other documents are added with MongoMinKey in their "doBy" field).

Veja Também

  • MongoMaxKey


The MongoMaxKey class

(PECL mongo >= 1.0.2)

Aviso

A extensão que define essa classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a essa classe incluem:

  • MongoDB\BSON\MaxKey

Introdução

MongoMaxKey is an special type used by the database that compares greater than all other possible BSON values. Thus, if a query is sorted by a given field in ascending order, any document with a MongoMaxKey as its value will be returned last.

MongoMaxKey has no associated fields, methods, or constants. It is merely the "greatest" value that can be represented in the database.

Nota: MongoMaxKey is used internally by MongoDB for indexing and sharding. There is generally no reason to use this class in an application.

Sinopse da classe

MongoMaxKey {
}

Using MongoMaxKey as a value

<?php

$collection->insert(array("task" => "dishes", "doBy" => new MongoMaxKey));
$collection->insert(array("task" => "staff meeting", "doBy" => new MongoDate(strtotime("+4 days"))));

$cursor = $collection->find()->sort(array("doBy" => 1));

?>

The cursor will return the staff meeting document followed by the dishes document. The dishes document will always be returned last, regardless of what else is added to the collection (unless other documents are added with MongoMaxKey in their "doBy" field).

Veja Também

  • MongoMinKey


The MongoTimestamp class

(PECL mongo >=1.0.1)

Aviso

A extensão que define essa classe está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a essa classe incluem:

  • MongoDB\BSON\Timestamp

Introdução

MongoTimestamp is an internal type used by MongoDB for replication and sharding. It consists of a 4-byte timestamp (i.e. seconds since the epoch) and a 4-byte increment. This type is not intended for storing time or date values (e.g. a "createdAt" field on a document).

Nota: Unless you are writing an application that interacts with MongoDB's replication oplog or sharding internals: stop, go directly to MongoDate, do not pass go, and do not collect 200 dollars. This is not the class you are looking for.

Sinopse da classe

MongoTimestamp {
/* Fields */
public int $sec = 0 ;
public int $inc = 0 ;
/* Métodos */
public __construct ( int $sec = time() , int $inc = ? )
public __toString ( ) : string
}

Índice

  • MongoTimestamp::__construct — Creates a new timestamp
  • MongoTimestamp::__toString — Returns a string representation of this timestamp


Creates a new timestamp

  • « MongoTimestamp
  • MongoTimestamp::__toString »
  • PHP Manual
  • MongoTimestamp
  • Creates a new timestamp

MongoTimestamp::__construct

(PECL mongo >= 1.0.1)

MongoTimestamp::__construct — Creates a new timestamp

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\BSON\Timestamp::__construct()

Descrição

public MongoTimestamp::__construct ( int $sec = time() , int $inc = ? )

Creates a new timestamp. If no parameters are given, the current time is used and the increment is automatically provided. The increment is set to 0 when the module is loaded and is incremented every time this constructor is called (without the $inc parameter passed in).

Parâmetros

sec

Number of seconds since the epoch (i.e. 1 Jan 1970 00:00:00.000 UTC).

inc

Increment.

Valor Retornado

Returns this new timestamp.

Veja Também

  • MongoTimestamp::__toString() - Returns a string representation of this timestamp


Returns a string representation of this timestamp

  • « MongoTimestamp::__construct
  • GridFS Classes »
  • PHP Manual
  • MongoTimestamp
  • Returns a string representation of this timestamp

MongoTimestamp::__toString

(PECL mongo >= 1.0.1)

MongoTimestamp::__toString — Returns a string representation of this timestamp

A extensão que define esse método está obsoleta. Alternativamente utilize a extensão MongoDB deve ser utilizada. Alternativas a esse método incluem:

  • MongoDB\BSON\Timestamp::__toString()

Descrição

public MongoTimestamp::__toString ( ) : string

Returns the "sec" field of this timestamp.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The seconds since epoch represented by this timestamp.


  • « MongoTimestamp::__toString
  • MongoGridFS »
  • PHP Manual
  • Mongo
  • GridFS Classes

GridFS Classes

Índice

  • MongoGridFS
  • MongoGridFSFile
  • MongoGridFSCursor


The MongoGridFS class

(PECL mongo >=0.9.0)

Introdução

Utilities for storing and retrieving files from the database.

GridFS is a storage specification all supported drivers implement. Basically, it defines two collections: files, for file metadata, and chunks, for file content. If the file is large, it will automatically be split into smaller chunks and each chunk will be saved as a document in the chunks collection.

Each document in the files collection contains the filename, upload date, and md5 hash. It also contains a unique _id field, which can be used to query the chunks collection for the file's content. Each document in the chunks collection contains a chunk of binary data, a files_id field that matches its file's _id, and the position of this chunk in the overall file.

For example, the files document is something like:

<?php
array("_id" => 123456789, "filename" => "foo.txt", "chunkSize" => 3, "length" => 12);
?>
and the chunks documents look like:
<?php
array("files_id" => 123456789, "n" => 0, "data" => new MongoBinData("abc"));
array("files_id" => 123456789, "n" => 1, "data" => new MongoBinData("def"));
array("files_id" => 123456789, "n" => 2, "data" => new MongoBinData("ghi"));
array("files_id" => 123456789, "n" => 3, "data" => new MongoBinData("jkl"));
?>
Of course, the default chunk size is thousands of bytes, but that makes an unwieldy example.

Inter-Language Compatibility

You should be able to use any files created by MongoGridFS with any other drivers, and vice versa. However, some drivers expect that all metadata associated with a file be in a "metadata" field. If you're going to be using other languages, it's a good idea to wrap info you might want them to see in a "metadata" field. For example, instead of:

<?php

$grid->storeFile("somefile.txt", array("date" => new MongoDate()));

?>

use something like:

<?php

$grid->storeFile("somefile.txt", array("metadata" => array("date" => new MongoDate())));

?>

The MongoGridFS Family

MongoGridFS represents the files and chunks collections. MongoGridFS extends MongoCollection, and an instance of MongoGridFS has access to all of MongoCollection methods, which act on the files collection:

<?php

$grid = $db->getGridFS();
$grid->update(array("filename" => "foo"), $newObj); // update on the files collection

?>

Another example of manipulating metadata:

<?php

// save a file
$id = $grid->storeFile("game.tgz");
$game = $grid->findOne();

// add a downloads counter
$game->file['downloads'] = 0;
$grid->save($game->file);

// increment the counter
$grid->update(array("_id" => $id), array('$inc' => array("downloads" => 1)));

?>

You can also access the chunks collection from an instance of MongoGridFS:

<?php

  $chunks = $grid->chunks; // $chunks is a normal MongoCollection
$chunks->insert(array("x" => 4));

?>

There are some methods for MongoGridFS with the same name as MongoCollection methods, that behave slightly differently. For example, MongoGridFS::remove() will remove any objects that match the criteria from the files collection and their content from the chunks collection.

To store something new in GridFS, there are a couple options. If you have a filename, you can say:

<?php

$grid->storeFile($filename, array("whatever" => "metadata", "you" => "want"));

?>

If you have a string of bytes that isn't a file, you can also store that using MongoGridFS::storeBytes():

<?php

$grid->storeBytes($bytes, array("whatever" => "metadata", "you" => "want"));

?>

Querying a MongoGridFS collection returns a MongoGridFSCursor, which behaves like a normal MongoCursor except that it returns MongoGridFSFiles instead of associative arrays.

MongoGridFSFiles can be written back to disc using MongoGridFSFile::write() or retrieved in memory using MongoGridFSFile::getBytes(). There is currently no method that automatically streams chunks, but it would be fairly easy to write by querying the $grid->chunks collection.

MongoGridFSFile objects contain a field file which contains any file metadata.

Sinopse da classe

extends MongoCollection {
/* Fields */
public MongoCollection $chunks = null ;
protected string $filesName = null ;
protected string $chunksName = null ;
/* Métodos */
public __construct ( MongoDB $db , string $prefix = "fs" , mixed $chunks = "fs" )
public delete ( mixed $id ) : bool|array
public drop ( ) : array
public find ( array $query = array() , array $fields = array() ) : MongoGridFSCursor
public findOne ( mixed $query = array() , mixed $fields = array() ) : MongoGridFSFile
public get ( mixed $id ) : MongoGridFSFile
public put ( string $filename , array $metadata = array() , array $options = array() ) : mixed
public remove ( array $criteria = array() , array $options = array() ) : bool|array
public storeBytes ( string $bytes , array $metadata = array() , array $options = array() ) : mixed
public storeFile ( string|resource $filename , array $metadata = array() , array $options = array() ) : mixed
public storeUpload ( string $name , array $metadata = ? ) : mixed
}

Veja Também

  • MongoDB core docs on » GridFS
  • LightCube Solutions blog post on » saving user uploads
  • LightCube Solutions blog post on » adding metadata to files

Índice

  • MongoGridFS::__construct — Creates new file collections
  • MongoGridFS::delete — Remove a file and its chunks from the database
  • MongoGridFS::drop — Drops the files and chunks collections
  • MongoGridFS::find — Queries for files
  • MongoGridFS::findOne — Returns a single file matching the criteria
  • MongoGridFS::get — Retrieve a file from the database
  • MongoGridFS::put — Stores a file in the database
  • MongoGridFS::remove — Remove files and their chunks from the database
  • MongoGridFS::storeBytes — Stores a string of bytes in the database
  • MongoGridFS::storeFile — Stores a file in the database
  • MongoGridFS::storeUpload — Stores an uploaded file in the database


Creates new file collections

  • « MongoGridFS
  • MongoGridFS::delete »
  • PHP Manual
  • MongoGridFS
  • Creates new file collections

MongoGridFS::__construct

(PECL mongo >=0.9.0)

MongoGridFS::__construct — Creates new file collections

Descrição

public MongoGridFS::__construct ( MongoDB $db , string $prefix = "fs" , mixed $chunks = "fs" )

Files as stored across two collections, the first containing file meta information, the second containing chunks of the actual file. By default, fs.files and fs.chunks are the collection names used.

Use one argument to specify a prefix other than "fs":

$fs = new MongoGridFS($db, "myfiles");
uses myfiles.files and myfiles.chunks collections.

Parâmetros

db

Database.

files

Optional collection name prefix.


Remove a file and its chunks from the database

  • « MongoGridFS::__construct
  • MongoGridFS::drop »
  • PHP Manual
  • MongoGridFS
  • Remove a file and its chunks from the database

MongoGridFS::delete

(PECL mongo >=1.0.8)

MongoGridFS::delete — Remove a file and its chunks from the database

Descrição

public MongoGridFS::delete ( mixed $id ) : bool|array

Nota:

MongoGridFS::delete() is a convenience method for calling MongoGridFS::remove() with specific criteria and default options parameters.

Parâmetros

id

_id of the file to remove.

Valor Retornado

Returns an array containing the status of the removal (with respect to the files collection) if a write concern is applied. Otherwise, returns true.

Fields in the status array are described in the documentation for MongoCollection::insert().

Erros

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.


Drops the files and chunks collections

  • « MongoGridFS::delete
  • MongoGridFS::find »
  • PHP Manual
  • MongoGridFS
  • Drops the files and chunks collections

MongoGridFS::drop

(PECL mongo >=0.9.0)

MongoGridFS::drop — Drops the files and chunks collections

Descrição

public MongoGridFS::drop ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The database response.


Queries for files

  • « MongoGridFS::drop
  • MongoGridFS::findOne »
  • PHP Manual
  • MongoGridFS
  • Queries for files

MongoGridFS::find

(PECL mongo >=0.9.0)

MongoGridFS::find — Queries for files

Descrição

public MongoGridFS::find
 ( array $query = array()
, array $fields = array()
) : MongoGridFSCursor

Parâmetros

query

The query.

fields

Fields to return.

Valor Retornado

A MongoGridFSCursor.


Returns a single file matching the criteria

  • « MongoGridFS::find
  • MongoGridFS::get »
  • PHP Manual
  • MongoGridFS
  • Returns a single file matching the criteria

MongoGridFS::findOne

(PECL mongo >=0.9.0)

MongoGridFS::findOne — Returns a single file matching the criteria

Descrição

public MongoGridFS::findOne
 ( mixed $query = array()
, mixed $fields = array()
) : MongoGridFSFile

Parâmetros

query

The filename or criteria for which to search.

Valor Retornado

Returns a MongoGridFSFile or null.

Exemplos

Exemplo #1 MongoGridFS::findOne() example

Example demonstrating how to find a single file from the MongoGridFS.

<?php

$downloads = $mongo->my_db->getGridFS('downloads');

$downloads->storeFile('filename.tgz');

$download = $downloads->findOne('filename.tgz'); // instance of MongoGridFSFile

print_r($download);
?>

See MongoGridFSFile for more information about how to work with files.

O exemplo acima irá imprimir algo similar à:

MongoGridFSFile Object
(
    [file] => Array
        (
            [_id] => MongoId Object
                (
                )

            [filename] => filename.tgz
            [uploadDate] => MongoDate Object
                (
                    [sec] => 1274288014
                    [usec] => 467000
                )

            [chunkSize] => 262144
            [md5] => d41d8cd98f00b204e9800998ecf8427e
        )

    [gridfs:protected] => MongoGridFS Object
        (
            [chunks] => MongoCollection Object
                (
                )

            [filesName:protected] => downloads.files
            [chunksName:protected] => downloads.chunks
        )

)


Retrieve a file from the database

  • « MongoGridFS::findOne
  • MongoGridFS::put »
  • PHP Manual
  • MongoGridFS
  • Retrieve a file from the database

MongoGridFS::get

(PECL mongo >=1.0.8)

MongoGridFS::get — Retrieve a file from the database

Descrição

public MongoGridFS::get ( mixed $id ) : MongoGridFSFile

Parâmetros

id

_id of the file to find.

Valor Retornado

Returns the file, if found, or null.


Stores a file in the database

  • « MongoGridFS::get
  • MongoGridFS::remove »
  • PHP Manual
  • MongoGridFS
  • Stores a file in the database

MongoGridFS::put

(PECL mongo >=1.0.8)

MongoGridFS::put — Stores a file in the database

Descrição

public MongoGridFS::put ( string $filename , array $metadata = array() , array $options = array() ) : mixed

Nota:

MongoGridFS::put() is an alias of MongoGridFS::storeFile().

Parâmetros

filename

Name of the file to store.

metadata

Other metadata fields to include in the file document.

Nota:

These fields may also overwrite those that would be created automatically by the driver, as described in the MongoDB core documentation for the » files collection. Some practical use cases for this behavior would be to specify a custom chunkSize or _id for the file.

options

An array of options for the insert operations executed against the chunks and files collections. See MongoCollection::insert() for documentation on these these options.

Valor Retornado

Returns the _id of the saved file document. This will be a generated MongoId unless an _id was explicitly specified in the metadata parameter.

Erros

Throws MongoGridFSException if there is an error reading filename or inserting into the chunks or files collections.

Veja Também

  • MongoGridFS::storeBytes() - Stores a string of bytes in the database
  • MongoGridFS::storeFile() - Stores a file in the database
  • MongoGridFS::storeUpload() - Stores an uploaded file in the database
  • MongoDB core docs on » GridFS


Remove files and their chunks from the database

  • « MongoGridFS::put
  • MongoGridFS::storeBytes »
  • PHP Manual
  • MongoGridFS
  • Remove files and their chunks from the database

MongoGridFS::remove

(PECL mongo >=0.9.0)

MongoGridFS::remove — Remove files and their chunks from the database

Descrição

public MongoGridFS::remove
 ( array $criteria = array()
, array $options = array()
) : bool|array

Parâmetros

criteria

The filename or criteria for which to search.

options

An array of options for the remove operations executed against the chunks and files collections. See MongoCollection::remove() for documentation on these options.

Valor Retornado

Returns an array containing the status of the removal (with respect to the files collection) if the "w" option is set. Otherwise, returns true.

Fields in the status array are described in the documentation for MongoCollection::insert().

Erros

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.


Stores a string of bytes in the database

  • « MongoGridFS::remove
  • MongoGridFS::storeFile »
  • PHP Manual
  • MongoGridFS
  • Stores a string of bytes in the database

MongoGridFS::storeBytes

(PECL mongo >=0.9.2)

MongoGridFS::storeBytes — Stores a string of bytes in the database

Descrição

public MongoGridFS::storeBytes ( string $bytes , array $metadata = array() , array $options = array() ) : mixed

Parâmetros

bytes

String of bytes to store.

metadata

Other metadata fields to include in the file document.

Nota:

These fields may also overwrite those that would be created automatically by the driver, as described in the MongoDB core documentation for the » files collection. Some practical use cases for this behavior would be to specify a custom chunkSize or _id for the file.

options

An array of options for the insert operations executed against the chunks and files collections. See MongoCollection::insert() for documentation on these these options.

Valor Retornado

Returns the _id of the saved file document. This will be a generated MongoId unless an _id was explicitly specified in the metadata parameter.

Erros

Throws MongoGridFSException if there is an error inserting into the chunks or files collections.

Exemplos

Exemplo #1 MongoGridFS::storeBytes() with additional metadata

<?php
$m = new MongoClient();
$gridfs = $m->selectDB('test')->getGridFS();

$bytes = 'abcdefghijklmnopqrstuvwxyz';
$id = $gridfs->storeBytes($bytes, array('_id' => 'alphabet'));
$gridfsFile = $gridfs->get($id);

var_dump($gridfsFile->file);
?>

O exemplo acima irá imprimir algo similar à:

array(7) {
  ["_id"]=>
  string(8) "alphabet"
  ["uploadDate"]=>
  object(MongoDate)#7 (0) {
  }
  ["length"]=>
  int(26)
  ["chunkSize"]=>
  int(262144)
  ["md5"]=>
  string(32) "c3fcd3d76192e4007dfb496cca67e13b"
}

Veja Também

  • MongoGridFS::put() - Stores a file in the database
  • MongoGridFS::storeFile() - Stores a file in the database
  • MongoGridFS::storeUpload() - Stores an uploaded file in the database
  • MongoDB core docs on » GridFS


Stores a file in the database

  • « MongoGridFS::storeBytes
  • MongoGridFS::storeUpload »
  • PHP Manual
  • MongoGridFS
  • Stores a file in the database

MongoGridFS::storeFile

(PECL mongo >=0.9.0)

MongoGridFS::storeFile — Stores a file in the database

Descrição

public MongoGridFS::storeFile ( string|resource $filename , array $metadata = array() , array $options = array() ) : mixed

Parâmetros

filename

Name of the file or a readable stream to store.

metadata

Other metadata fields to include in the file document.

Nota:

These fields may also overwrite those that would be created automatically by the driver, as described in the MongoDB core documentation for the » files collection. Some practical use cases for this behavior would be to specify a custom chunkSize or _id for the file.

options

An array of options for the insert operations executed against the chunks and files collections. See MongoCollection::insert() for documentation on these these options.

Valor Retornado

Returns the _id of the saved file document. This will be a generated MongoId unless an _id was explicitly specified in the metadata parameter.

Erros

Throws MongoGridFSException if there is an error reading filename or inserting into the chunks or files collections.

Exemplos

Exemplo #1 MongoGridFS::storeFile() with additional metadata

<?php
$m = new MongoClient();
$gridfs = $m->selectDB('test')->getGridFS();

$id = $gridfs->storeFile('example.txt', array('contentType' => 'plain/text'));
$gridfsFile = $gridfs->get($id);

var_dump($gridfsFile->file);
?>

O exemplo acima irá imprimir algo similar à:

array(7) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["contentType"]=>
  string(10) "plain/text"
  ["filename"]=>
  string(11) "example.txt"
  ["uploadDate"]=>
  object(MongoDate)#7 (0) {
  }
  ["length"]=>
  int(26)
  ["chunkSize"]=>
  int(262144)
  ["md5"]=>
  string(32) "c3fcd3d76192e4007dfb496cca67e13b"
}

Veja Também

  • MongoGridFS::put() - Stores a file in the database
  • MongoGridFS::storeBytes() - Stores a string of bytes in the database
  • MongoGridFS::storeUpload() - Stores an uploaded file in the database
  • MongoDB core docs on » GridFS


Stores an uploaded file in the database

  • « MongoGridFS::storeFile
  • MongoGridFSFile »
  • PHP Manual
  • MongoGridFS
  • Stores an uploaded file in the database

MongoGridFS::storeUpload

(PECL mongo >=0.9.0)

MongoGridFS::storeUpload — Stores an uploaded file in the database

Descrição

public MongoGridFS::storeUpload ( string $name , array $metadata = ? ) : mixed

Parâmetros

name

The name of the uploaded file(s) to store. This should correspond to the file field's name attribute in the HTML form.

metadata

Other metadata fields to include in the file document.

Nota:

These fields may also overwrite those that would be created automatically by the driver, as described in the MongoDB core documentation for the » files collection. Some practical use cases for this behavior would be to specify a custom chunkSize or _id for the file.

Nota:

The filename field will be populated with the client's filename (e.g. $_FILES['foo']['name']).

Valor Retornado

Returns the _id of the saved file document. This will be a generated MongoId unless an _id was explicitly specified in the metadata parameter.

Nota:

If multiple files are uploaded using the same field name, this method will not return anything; however, the files themselves will still be processed.

Erros

Throws MongoGridFSException if there is an error reading the uploaded file(s) or inserting into the chunks or files collections.

Changelog

Versão | Descrição
PECL mongo 1.2.5 | Changed second parameter to an array of metadata. Pre-1.2.5, the second parameter was an optional string overriding the filename.

Exemplos

Exemplo #1 MongoGridFS::storeUpload() HTML form example

Suppose you have the following HTML form:

<form method="POST" enctype="multipart/form-data">
    <label for="username">Username:</label>
    <input type="text" name="username" id="username" />

    <label for="pic">Please upload a profile picture:</label>
    <input type="file" name="pic" id="pic" />

    <input type="submit" />
</form>

If you wanted to store the uploaded image in MongoDB, you could do the following in the script handling the form submission:

<?php
$m = new MongoClient();
$gridfs = $m->selectDB('test')->getGridFS();

$gridfs->storeUpload('pic', array('username' => $_POST['username']));
?>

Veja Também

  • MongoGridFS::put() - Stores a file in the database
  • MongoGridFS::storeBytes() - Stores a string of bytes in the database
  • MongoGridFS::storeFile() - Stores a file in the database
  • MongoDB core docs on » GridFS


The MongoGridFSFile class

(PECL mongo >=0.9.0)

Introdução

A database file object.

Sinopse da classe

MongoGridFSFile {
/* Fields */
public array $file = null ;
protected MongoGridFS $gridfs = null ;
/* Métodos */
public MongoGridfsFile::__construct ( MongoGridFS $gridfs , array $file )
public getBytes ( ) : string
public getFilename ( ) : string
public getResource ( ) : resource
public getSize ( ) : int
public write ( string $filename = null ) : int
}

Índice

  • MongoGridfsFile::__construct — Create a new GridFS file
  • MongoGridFSFile::getBytes — Returns this file's contents as a string of bytes
  • MongoGridFSFile::getFilename — Returns this file's filename
  • MongoGridFSFile::getResource — Returns a resource that can be used to read the stored file
  • MongoGridFSFile::getSize — Returns this file's size
  • MongoGridFSFile::write — Writes this file to the filesystem


Create a new GridFS file

  • « MongoGridFSFile
  • MongoGridFSFile::getBytes »
  • PHP Manual
  • MongoGridFSFile
  • Create a new GridFS file

MongoGridfsFile::__construct

(PECL mongo >=0.9.0)

MongoGridfsFile::__construct — Create a new GridFS file

Descrição

public MongoGridfsFile::__construct ( MongoGridFS $gridfs , array $file )

Parâmetros

gridfs

The parent MongoGridFS instance.

file

A file from the database.

Valor Retornado

Returns a new MongoGridFSFile.


Returns this file's contents as a string of bytes

  • « MongoGridfsFile::__construct
  • MongoGridFSFile::getFilename »
  • PHP Manual
  • MongoGridFSFile
  • Returns this file's contents as a string of bytes

MongoGridFSFile::getBytes

(PECL mongo >=0.9.0)

MongoGridFSFile::getBytes — Returns this file's contents as a string of bytes

Descrição

public MongoGridFSFile::getBytes ( ) : string

Warning: this will load the file into memory. If the file is bigger than your memory, this will cause problems!

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string of the bytes in the file.

Exemplos

Exemplo #1 MongoGridFSFile::getBytes() example

<?php

$images = $db->my_db->getGridFS('images');

$image = $images->findOne('jwage.png');

header('Content-type: image/png;');
echo $image->getBytes();
?>


Returns this file's filename

  • « MongoGridFSFile::getBytes
  • MongoGridFSFile::getResource »
  • PHP Manual
  • MongoGridFSFile
  • Returns this file's filename

MongoGridFSFile::getFilename

(PECL mongo >=0.9.0)

MongoGridFSFile::getFilename — Returns this file's filename

Descrição

public MongoGridFSFile::getFilename ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the filename.


Returns a resource that can be used to read the stored file

  • « MongoGridFSFile::getFilename
  • MongoGridFSFile::getSize »
  • PHP Manual
  • MongoGridFSFile
  • Returns a resource that can be used to read the stored file

MongoGridFSFile::getResource

(PECL mongo >=1.3.0)

MongoGridFSFile::getResource — Returns a resource that can be used to read the stored file

Descrição

public MongoGridFSFile::getResource ( ) : resource

This method returns a stream resource that can be used with all file functions in PHP that deal with reading files. The contents of the file are pulled out of MongoDB on the fly, so that the whole file does not have to be loaded into memory first.

At most two GridFSFile chunks will be loaded in memory.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a resource that can be used to read the file with

Exemplos

Exemplo #1 MongoGridFSFile::getResource() example

<?php
$m = new Mongo;
$images = $m->my_db->getGridFS('images');

$image = $images->findOne('mongo.png');

header('Content-type: image/png;');
$stream = $image->getResource();

while (!feof($stream)) {
    echo fread($stream, 8192);
}
?>


Returns this file's size

  • « MongoGridFSFile::getResource
  • MongoGridFSFile::write »
  • PHP Manual
  • MongoGridFSFile
  • Returns this file's size

MongoGridFSFile::getSize

(PECL mongo >=0.9.0)

MongoGridFSFile::getSize — Returns this file's size

Descrição

public MongoGridFSFile::getSize ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns this file's size


Writes this file to the filesystem

  • « MongoGridFSFile::getSize
  • MongoGridFSCursor »
  • PHP Manual
  • MongoGridFSFile
  • Writes this file to the filesystem

MongoGridFSFile::write

(PECL mongo >=0.9.0)

MongoGridFSFile::write — Writes this file to the filesystem

Descrição

public MongoGridFSFile::write ( string $filename = null ) : int

Parâmetros

filename

The location to which to write the file. If none is given, the stored filename will be used.

Valor Retornado

Returns the number of bytes written.

Exemplos

Exemplo #1 MongoGridFSFile::write() example

<?php

$images = $db->my_db->getGridFS('images');

$image = $images->findOne('jwage.png');
$image->write('/path/to/write/jwage.png');
?>


The MongoGridFSCursor class

(PECL mongo >=0.9.0)

Introdução

Cursor for database file results.

Sinopse da classe

extends MongoCursor {
/* Fields */
protected MongoGridFS $gridfs = null ;
/* Métodos */
public __construct ( MongoGridFS $gridfs , resource $connection , string $ns , array $query , array $fields )
public current ( ) : MongoGridFSFile
public getNext ( ) : MongoGridFSFile
public key ( ) : string
}

Índice

  • MongoGridFSCursor::__construct — Create a new cursor
  • MongoGridFSCursor::current — Returns the current file
  • MongoGridFSCursor::getNext — Return the next file to which this cursor points, and advance the cursor
  • MongoGridFSCursor::key — Returns the current result's filename


Create a new cursor

  • « MongoGridFSCursor
  • MongoGridFSCursor::current »
  • PHP Manual
  • MongoGridFSCursor
  • Create a new cursor

MongoGridFSCursor::__construct

(PECL mongo >=0.9.0)

MongoGridFSCursor::__construct — Create a new cursor

Descrição

public MongoGridFSCursor::__construct ( MongoGridFS $gridfs , resource $connection , string $ns , array $query , array $fields )

Parâmetros

gridfs

Related GridFS collection.

connection

Database connection.

ns

Full name of database and collection.

query

Database query.

fields

Fields to return.

Valor Retornado

Returns the new cursor.


Returns the current file

  • « MongoGridFSCursor::__construct
  • MongoGridFSCursor::getNext »
  • PHP Manual
  • MongoGridFSCursor
  • Returns the current file

MongoGridFSCursor::current

(PECL mongo >=0.9.0)

MongoGridFSCursor::current — Returns the current file

Descrição

public MongoGridFSCursor::current ( ) : MongoGridFSFile

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current file.


Return the next file to which this cursor points, and advance the cursor

  • « MongoGridFSCursor::current
  • MongoGridFSCursor::key »
  • PHP Manual
  • MongoGridFSCursor
  • Return the next file to which this cursor points, and advance the cursor

MongoGridFSCursor::getNext

(PECL mongo >=0.9.0)

MongoGridFSCursor::getNext — Return the next file to which this cursor points, and advance the cursor

Descrição

public MongoGridFSCursor::getNext ( ) : MongoGridFSFile

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the next file.


Returns the current result's filename

  • « MongoGridFSCursor::getNext
  • Batch Classes »
  • PHP Manual
  • MongoGridFSCursor
  • Returns the current result's filename

MongoGridFSCursor::key

(PECL mongo >=0.9.0)

MongoGridFSCursor::key — Returns the current result's filename

Descrição

public MongoGridFSCursor::key ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current result's _id as a string.

Changelog

Versão | Descrição
PECL mongo 1.3.0 | The document's _id is returned as a string value, since the key should be unique. Pre-1.3.0, filename was returned.


Batch Classes

Índice

  • MongoWriteBatch
  • MongoInsertBatch
  • MongoUpdateBatch
  • MongoDeleteBatch


The MongoWriteBatch class

(PECL mongo >=1.5.0)

Introdução

MongoWriteBatch is the base class for the MongoInsertBatch, MongoUpdateBatch and MongoDeleteBatch classes.

MongoWriteBatch allows you to "batch up" multiple operations (of same type) and shipping them all to MongoDB at the same time. This can be especially useful when operating on many documents at the same time to reduce roundtrips.

Prior to version 1.5.0 of the driver it was possible to use MongoCollection::batchInsert(), however, as of 1.5.0 that method is now discouraged.

Note: This class is only available when talking to MongoDB 2.6.0 (and later) servers. It will throw MongoProtocolException if attempting to use it on older MongoDB servers.

Sinopse da classe

MongoWriteBatch {
/* Constantes */
const int COMMAND_INSERT = 1 ;
const int COMMAND_UPDATE = 2 ;
const int COMMAND_DELETE = 3 ;
/* Métodos */
protected __construct ( MongoCollection $collection , string $batch_type = ? , array $write_options = ? )
public add ( array $item ) : bool
final public execute ( array $write_options ) : array
}

MongoWriteBatch types

MongoWriteBatch::COMMAND_INSERT

Create an Insert Write Batch

MongoWriteBatch::COMMAND_UPDATE

Create an Update Write Batch

MongoWriteBatch::COMMAND_DELETE

Create an Delete Write Batch

Descrição

When executing a batch by calling MongoWriteBatch::execute(), MongoWriteBatch will send up to maxWriteBatchSize (defaults to 1000) documents or maxBsonObjectSize (defaults to 16777216 bytes), whichever comes first.

Nota:

Documents will never be partially transferred. When adding documents to the batch, that overflows the limit, a new batch will be created and the document put into the new batch.

Erros

  • Exception on parameter parsing failures
  • Exception on argument validation errors (e.g. missing keys)
  • MongoProtocolException when talking to MongoDB server older then 2.6.0.
  • MongoProtocolException on socket errors.
  • MongoWriteConcernException when a write fails due to WriteConcerns

Exemplos

Exemplo #1 MongoWriteBatch example

Adding documents to a Insert batch and then execute it

<?php
$mc = new MongoClient("localhost");

$collection = $mc->selectCollection("test", "test");

$docs = array();
$docs[] = array("my" => "demo");
$docs[] = array("is" => "working");
$docs[] = array("pretty" => "well");

$batch = new MongoInsertBatch($collection);
foreach($docs as $document) {
    $batch->add($document);
}
$retval = $batch->execute(array("w" => 1));
var_dump($retval);
?>

O exemplo acima irá imprimir:

array(2) {
  ["nInserted"]=>
  int(3)
  ["ok"]=>
  bool(true)
}

Índice

  • MongoWriteBatch::add — Adds a write operation to a batch
  • MongoWriteBatch::__construct — Creates a new batch of write operations
  • MongoWriteBatch::execute — Executes a batch of write operations


Adds a write operation to a batch

  • « MongoWriteBatch
  • MongoWriteBatch::__construct »
  • PHP Manual
  • MongoWriteBatch
  • Adds a write operation to a batch

MongoWriteBatch::add

(PECL mongo >= 1.5.0)

MongoWriteBatch::add — Adds a write operation to a batch

Descrição

public MongoWriteBatch::add ( array $item ) : bool

Adds a write operation to the batch.

If $item causes the batch to exceed the maxWriteBatchSize or maxBsonObjectSize limits, the driver will internally split the batches into multiple write commands upon calling MongoWriteBatch::execute().

Parâmetros

item

An array that describes a write operation. The structure of this value depends on the batch's operation type.

Batch type | Argument expectation
MongoWriteBatch::COMMAND_INSERT | The document to add.
MongoWriteBatch::COMMAND_UPDATE

Raw update operation.

Required keys are "q" and "u", which correspond to the $criteria and $new_object parameters of MongoCollection::update(), respectively.

Optional keys are "multi" and "upsert", which correspond to the "multiple" and "upsert" options for MongoCollection::update(), respectively. If unspecified, both options default to false.
MongoWriteBatch::COMMAND_DELETE

Raw delete operation.

Required keys are: "q" and "limit", which correspond to the $criteria parameter and "justOne" option of MongoCollection::remove(), respectively.

The "limit" option is an int; however, MongoDB only supports 0 (i.e. remove all matching documents) and 1 (i.e. remove at most one matching document) at this time.

Valor Retornado

Returns true on success and throws an exception on failure.

Erros

  • Exception on parameter parsing failures
  • Exception on argument validation errors (e.g. missing keys)

Exemplos

Exemplo #1 MongoWriteBatch::add() example

Batching up multiple insert operations

<?php
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");

$docs = array();
$docs[] = array("my" => "demo");
$docs[] = array("is" => "working");
$docs[] = array("pretty" => "well");

$batch = new MongoInsertBatch($collection);
foreach($docs as $document) {
    $batch->add($document);
}
$batch->execute(array("w" => 1));
?>

Exemplo #2 MongoWriteBatch::add() example

Batching up multiple update operations

<?php
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");

$item1 = array(
    "q" => array("my" => "demo"),
    "u" => array('$set' => array("try" => 1)),
    "multi"  => false, /* default value */
    "upsert" => false, /* default value */
);
$item2 = array(
    "q" => array("is" => "working"),
    "u" => array('$set' => array("try" => 2)),
    "multi" => true,
);
$item3 = array(
    "q" => array("created" => "new-document"),
    "u" => array('$set' => array("try" => 3)),
    "upsert" => true,
);

$batch = new MongoUpdateBatch($collection);
$batch->add($item1);
$batch->add($item2);
$batch->add($item3);
$batch->execute(array("w" => 1));

?>

Exemplo #3 MongoWriteBatch::add() example

Batching up multiple delete operations

<?php
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");

$item1 = array(
    "q" => array("my" => "demo"),
    "limit" => 1,
);
$item2 = array(
    "q" => array("try" => 3),
    "limit" => 1,
);

$batch = new MongoDeleteBatch($collection);
$batch->add($item1);
$batch->add($item2);
$batch->execute(array("w" => 1));
?>


Creates a new batch of write operations

  • « MongoWriteBatch::add
  • MongoWriteBatch::execute »
  • PHP Manual
  • MongoWriteBatch
  • Creates a new batch of write operations

MongoWriteBatch::__construct

(PECL mongo >= 1.5.0)

MongoWriteBatch::__construct — Creates a new batch of write operations

Descrição

protected MongoWriteBatch::__construct ( MongoCollection $collection , string $batch_type = ? , array $write_options = ? )

Constructs a new MongoWriteBatch.

Nota:

This is a protected constructor. Please use one of the classes inheriting MongoWriteBatch.

Parâmetros

collection

The MongoCollection to execute the batch on. Its write concern will be copied and used as the default write concern if none is given as $write_options or during MongoWriteBatch::execute().

batch_type

One of:

  • 0 - make an MongoWriteBatch::COMMAND_INSERT batch
  • 1 - make an MongoWriteBatch::COMMAND_UPDATE batch
  • 2 - make a MongoWriteBatch::COMMAND_DELETE batch

write_options

An array of Write Options.

key | value meaning
w (int|string) | Write concern value
wtimeout (int) | Maximum time to wait for replication
ordered | Determines if MongoDB must apply this batch in order. Ordered writes execute serially (i.e. one at a time) and execution will stop after the first error. Unordered writes may execute in parallel and execution will not stop after the first error. Defaults to true
j (bool) | Wait for journaling on the primary. This value is discouraged, use WriteConcern instead
fsync (bool) | Wait for fsync on the primary. This value is discouraged, use WriteConcern instead

Valor Retornado

A new MongoWriteBatch of type batch_type.

Veja Também

  • MongoInsertBatch
  • MongoUpdateBatch
  • MongoDeleteBatch


Executes a batch of write operations

  • « MongoWriteBatch::__construct
  • MongoInsertBatch »
  • PHP Manual
  • MongoWriteBatch
  • Executes a batch of write operations

MongoWriteBatch::execute

(PECL mongo >= 1.5.0)

MongoWriteBatch::execute — Executes a batch of write operations

Descrição

final public MongoWriteBatch::execute ( array $write_options ) : array

Executes the batch of write operations.

Parâmetros

write_options

See MongoWriteBatch::__construct.

Valor Retornado

Returns an array containing statistical information for the full batch. If the batch had to be split into multiple batches, the return value will aggregate the values from individual batches and return only the totals.

If the batch was empty, an array containing only the 'ok' field is returned (as true) although nothing will be shipped over the wire (NOOP).

Array key | Value meaning | Returned for batch type
nInserted | Number of inserted documents | MongoWriteBatch::COMMAND_INSERT batch
nMatched | Number of documents matching the query criteria | MongoWriteBatch::COMMAND_UPDATE batch
nModified | Number of documents actually needed to be modied | MongoWriteBatch::COMMAND_UPDATE batch
nUpserted | Number of upserted documents | MongoWriteBatch::COMMAND_UPDATE batch
nRemoved | Number of documents removed | MongoWriteBatch::COMMAND_DELETE batch
ok | Command success indicator | All

Erros

A MongoWriteConcernException exception is thrown on failure.

Exemplos

Exemplo #1 MongoWriteBatch::add() example

Batching up multiple insert operations

<?php
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");

$docs = array();
$docs[] = array("my" => "demo");
$docs[] = array("is" => "working");
$docs[] = array("pretty" => "well");

$batch = new MongoInsertBatch($collection);
foreach($docs as $document) {
    $batch->add($document);
}
$retval = $batch->execute(array("w" => 1));
var_dump($retval);
?>

O exemplo acima irá imprimir:

array(2) {
  ["nInserted"]=>
  int(3)
  ["ok"]=>
  bool(true)
}

Exemplo #2 MongoWriteBatch::add() example

Batching up multiple update operations

<?php
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");

$item1 = array(
    "q" => array("my" => "demo"),
    "u" => array('$set' => array("try" => 1)),
    "multi"  => false, /* default value */
    "upsert" => false, /* default value */
);
$item2 = array(
    "q" => array("is" => "working"),
    "u" => array('$set' => array("try" => 2)),
    "multi" => true,
);
$item3 = array(
    "q" => array("created" => "new-document"),
    "u" => array('$set' => array("try" => 3)),
    "upsert" => true,
);

$batch = new MongoUpdateBatch($collection);
$batch->add($item1);
$batch->add($item2);
$batch->add($item3);
$retval = $batch->execute(array("w" => 1));
var_dump($retval);

?>

O exemplo acima irá imprimir:

array(4) {
  ["nMatched"]=>
  int(18)
  ["nModified"]=>
  int(2)
  ["nUpserted"]=>
  int(0)
  ["ok"]=>
  bool(true)
}

Exemplo #3 MongoWriteBatch::add() example

Batching up multiple delete operations

<?php
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");

$item1 = array(
    "q" => array("my" => "demo"),
    "limit" => 1,
);
$item2 = array(
    "q" => array("try" => 3),
    "limit" => 1,
);

$batch = new MongoDeleteBatch($collection);
$batch->add($item1);
$batch->add($item2);
$retval = $batch->execute(array("w" => 1));
var_dump($retval);
?>

O exemplo acima irá imprimir:

array(2) {
  ["nRemoved"]=>
  int(1)
  ["ok"]=>
  bool(true)
}


The MongoInsertBatch class

(PECL mongo >=1.5.0)

Introdução

Constructs a batch of INSERT operations. See MongoWriteBatch.

Sinopse da classe

MongoInsertBatch extends MongoWriteBatch {
/* Métodos */
public __construct ( MongoCollection $collection , array $write_options = ? )
/* Métodos herdados */
public MongoWriteBatch::add ( array $item ) : bool
final public MongoWriteBatch::execute ( array $write_options ) : array
}

Índice

  • MongoInsertBatch::__construct — Description


Description

  • « MongoInsertBatch
  • MongoUpdateBatch »
  • PHP Manual
  • MongoInsertBatch
  • Description

MongoInsertBatch::__construct

(PECL mongo >= 1.5.0)

MongoInsertBatch::__construct — Description

Descrição

public MongoInsertBatch::__construct ( MongoCollection $collection , array $write_options = ? )

Constructs a batch of INSERT operations. See MongoWriteBatch.

Parâmetros

collection

The MongoCollection to execute the batch on. Its write concern will be copied and used as the default write concern if none is given as $write_options or during MongoWriteBatch::execute().

write_options

An array of Write Options.

key | value meaning
w (int|string) | Write concern value
wtimeout (int) | Maximum time to wait for replication
ordered | Determines if MongoDB must apply this batch in order. Ordered writes execute serially (i.e. one at a time) and execution will stop after the first error. Unordered writes may execute in parallel and execution will not stop after the first error. Defaults to true
j (bool) | Wait for journaling on the primary. This value is discouraged, use WriteConcern instead
fsync (bool) | Wait for fsync on the primary. This value is discouraged, use WriteConcern instead

Valor Retornado

A new MongoInsertBatch.


The MongoUpdateBatch class

(PECL mongo >=1.5.0)

Introdução

Constructs a batch of UPDATE operations. See MongoWriteBatch.

Sinopse da classe

MongoUpdateBatch extends MongoWriteBatch {
/* Métodos */
public __construct ( MongoCollection $collection , array $write_options = ? )
/* Métodos herdados */
public MongoWriteBatch::add ( array $item ) : bool
final public MongoWriteBatch::execute ( array $write_options ) : array
}

Índice

  • MongoUpdateBatch::__construct — Description


Description

  • « MongoUpdateBatch
  • MongoDeleteBatch »
  • PHP Manual
  • MongoUpdateBatch
  • Description

MongoUpdateBatch::__construct

(PECL mongo >= 1.5.0)

MongoUpdateBatch::__construct — Description

Descrição

public MongoUpdateBatch::__construct ( MongoCollection $collection , array $write_options = ? )

Constructs a batch of UPDATE operations. See MongoWriteBatch.

Parâmetros

collection

The MongoCollection to execute the batch on. Its write concern will be copied and used as the default write concern if none is given as $write_options or during MongoWriteBatch::execute().

write_options

An array of Write Options.

key | value meaning
w (int|string) | Write concern value
wtimeout (int) | Maximum time to wait for replication
ordered | Determines if MongoDB must apply this batch in order. Ordered writes execute serially (i.e. one at a time) and execution will stop after the first error. Unordered writes may execute in parallel and execution will not stop after the first error. Defaults to true
j (bool) | Wait for journaling on the primary. This value is discouraged, use WriteConcern instead
fsync (bool) | Wait for fsync on the primary. This value is discouraged, use WriteConcern instead

Valor Retornado

A new MongoUpdateBatch.


The MongoDeleteBatch class

(PECL mongo >=1.5.0)

Introdução

Constructs a batch of DELETE operations. See MongoWriteBatch.

Sinopse da classe

MongoDeleteBatch extends MongoWriteBatch {
/* Métodos */
public __construct ( MongoCollection $collection , array $write_options = ? )
/* Métodos herdados */
public MongoWriteBatch::add ( array $item ) : bool
final public MongoWriteBatch::execute ( array $write_options ) : array
}

Índice

  • MongoDeleteBatch::__construct — Description


Description

  • « MongoDeleteBatch
  • Miscellaneous »
  • PHP Manual
  • MongoDeleteBatch
  • Description

MongoDeleteBatch::__construct

(PECL mongo >= 1.5.0)

MongoDeleteBatch::__construct — Description

Descrição

public MongoDeleteBatch::__construct ( MongoCollection $collection , array $write_options = ? )

Constructs a batch of DELETE operations. See MongoWriteBatch.

Parâmetros

collection

The MongoCollection to execute the batch on. Its write concern will be copied and used as the default write concern if none is given as $write_options or during MongoWriteBatch::execute().

write_options

An array of Write Options.

key | value meaning
w (int|string) | Write concern value
wtimeout (int) | Maximum time to wait for replication
ordered | Determines if MongoDB must apply this batch in order. Ordered writes execute serially (i.e. one at a time) and execution will stop after the first error. Unordered writes may execute in parallel and execution will not stop after the first error. Defaults to true
j (bool) | Wait for journaling on the primary. This value is discouraged, use WriteConcern instead
fsync (bool) | Wait for fsync on the primary. This value is discouraged, use WriteConcern instead

Valor Retornado

A new MongoDeleteBatch.


  • « MongoDeleteBatch::__construct
  • MongoLog »
  • PHP Manual
  • Mongo
  • Miscellaneous

Miscellaneous

Índice

  • MongoLog
  • MongoPool
  • Mongo


The MongoLog class

(PECL mongo >=1.2.3)

Introdução

Logging can be used to get detailed information about what the driver is doing. Logging is disabled by default, but this class allows you to activate specific levels of logging for various parts of the driver. Some examples:

<?php

// print every log message possible
MongoLog::setLevel(MongoLog::ALL); // all log levels
MongoLog::setModule(MongoLog::ALL); // all parts of the driver

// print significant events about replica set failover
MongoLog::setLevel(MongoLog::INFO);
MongoLog::setModule(MongoLog::RS);

// print info- and diagnostic-level events for replica sets and connections
MongoLog::setLevel(MongoLog::INFO|MongoLog::FINE);
MongoLog::setModule(MongoLog::RS|MongoLog::CON);

?>

Nota:

By default, MongoLog emits all log messages as PHP notices. Depending on the SAPI you use, messages may be sent to stderr (for CLI) or the web server's error log. If, after configuring MongoLog, log messages are not appearing as expected, ensure that the E_NOTICE bit is included in error_reporting and that display_errors is on.

Sinopse da classe

MongoLog {
/* Constantes */
const int NONE = 0 ;
const int ALL = 31 ;
level constants {
const int WARNING = 1 ;
const int INFO = 2 ;
const int FINE = 4 ;
module constants {
const int RS = 1 ;
const int POOL = 1 ;
const int CON = 2 ;
const int IO = 4 ;
const int SERVER = 8 ;
const int PARSE = 16 ;
/* Fields */
private static int $callback ;
private static int $level ;
private static int $module ;
/* Métodos */
public static getCallback ( ) : callable
public static getLevel ( ) : int
public static getModule ( ) : int
public static setCallback ( callable $log_function ) : void
public static setLevel ( int $level ) : void
public static setModule ( int $module ) : void
}

Constantes pré-definidas

MongoLog Constants

These constants can be used by both MongoLog::setLevel() and MongoLog::setModule().

MongoLog::NONE
Log nothing.
MongoLog::ALL
Log everything.

MongoLog Level Constants

These constants can be used by MongoLog::setLevel().

MongoLog::WARNING
Log events that are somewhat exceptional, but not quite worthy of an actual exception (e.g. recoverable connection errors).
MongoLog::INFO
Log events that may be of interest to administrators, but are not particularly noteworthy (e.g. option parsing, authentication steps).
MongoLog::FINE
Log most events that the driver performs (e.g. server selection, socket communication). Depending on the module being logged, this can be extremely noisy and is primarily useful for debugging.

MongoLog Module Constants

These constants can be used by MongoLog::setModule().

MongoLog::CON
Log connection activity. Creating new connections, authentication, pinging, timeouts, etc.
MongoLog::IO
Log traffic to/from the database. Unless your program is trivial, this will create an enormous number of log messages.
MongoLog::PARSE
Log parsing of the connection string and options when constructing MongoClient.
MongoLog::POOL
Previously used to log connection pool activity. This option is now a deprecated alias of MongoLog::RS.
MongoLog::RS
Log replica set activity. Failovers, read preference selection, etc.
MongoLog::SERVER
Previously used to log server status changes. This option is deprecated in favor of MongoLog::RS.

Changelog

Versão | Descrição
PECL mongo 1.3.0 | Added MongoLog::CON and deprecated MongoLog::POOL and MongoLog::SERVER.

Índice

  • MongoLog::getCallback — Gets the previously set callback function
  • MongoLog::getLevel — Gets the level(s) currently being logged
  • MongoLog::getModule — Gets the module(s) currently being logged
  • MongoLog::setCallback — Sets a callback function to be invoked for events
  • MongoLog::setLevel — Sets the level(s) to be logged
  • MongoLog::setModule — Sets the module(s) to be logged


Gets the previously set callback function

  • « MongoLog
  • MongoLog::getLevel »
  • PHP Manual
  • MongoLog
  • Gets the previously set callback function

MongoLog::getCallback

(PECL mongo >= 1.3.0)

MongoLog::getCallback — Gets the previously set callback function

Descrição

public static MongoLog::getCallback ( ) : callable

Retrieves the callback function.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the callback function, or false if not set yet.

Notas

Cuidado

This function is only available with PHP 5.3.0 and later.


Gets the level(s) currently being logged

  • « MongoLog::getCallback
  • MongoLog::getModule »
  • PHP Manual
  • MongoLog
  • Gets the level(s) currently being logged

MongoLog::getLevel

(PECL mongo >= 1.2.3)

MongoLog::getLevel — Gets the level(s) currently being logged

Descrição

public static MongoLog::getLevel ( ) : int

This function can be used to see which log levels are currently enabled. The returned integer may be compared with the MongoLog level constants using bitwise operators to check for specific log levels.

<?php

if (MongoLog::getLevel() & MongoLog::FINE) {
    echo "lots of logs\n";
}

if (MongoLog::getLevel() ^ MongoLog::NONE) {
    echo "logging, at least a little\n";
}

if (MongoLog::getLevel() == MongoLog::ALL) {
    echo "logging at the highest levels\n";
}

?>

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the level(s) currently being logged.


Gets the module(s) currently being logged

  • « MongoLog::getLevel
  • MongoLog::setCallback »
  • PHP Manual
  • MongoLog
  • Gets the module(s) currently being logged

MongoLog::getModule

(PECL mongo >= 1.2.3)

MongoLog::getModule — Gets the module(s) currently being logged

Descrição

public static MongoLog::getModule ( ) : int

This function can be used to see which driver modules are currently being logged. The returned integer may be compared with the MongoLog module constants using bitwise operators to check if specific modules are being logged.

<?php

if (MongoLog::getModule() & MongoLog::RS) {
    echo "logging replica sets\n";
}

if (MongoLog::getModule() ^ MongoLog::NONE) {
    echo "logging something\n";
}

if ((MongoLog::getModule() & MongoLog::IO) == 0) {
    echo "not logging io\n";
}

?>

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the module(s) currently being logged.


Sets a callback function to be invoked for events

  • « MongoLog::getModule
  • MongoLog::setLevel »
  • PHP Manual
  • MongoLog
  • Sets a callback function to be invoked for events

MongoLog::setCallback

(PECL mongo >= 1.3.0)

MongoLog::setCallback — Sets a callback function to be invoked for events

Descrição

public static MongoLog::setCallback ( callable $log_function ) : void

This function will set a callback function to be invoked for events in lieu of emitting of PHP notice.

Parâmetros

log_function

The callback function to be invoked on events. It should have the following prototype:

log_function ( int $module , int $level , string $message )
module
One of the MongoLog module constants.
level
One of the MongoLog level constants.
message
The log message itself.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 MongoLog::setCallback() example

<?php

function module2string($module)
{
    switch ($module) {
        case MongoLog::RS: return "REPLSET";
        case MongoLog::CON: return "CON";
        case MongoLog::IO: return "IO";
        case MongoLog::SERVER: return "SERVER";
        case MongoLog::PARSE: return "PARSE";
        default: return "UNKNOWN";
    }
}

function level2string($level)
{
    switch ($level) {
        case MongoLog::WARNING: return "WARN";
        case MongoLog::INFO: return "INFO";
        case MongoLog::FINE: return "FINE";
        default: return "UNKNOWN";
    }
}

function callback($module, $level, $message)
{
    echo date("Y-m-d H:i:s - ");
    printf("%s (%s): %s\n", module2string($module), level2string($level), $message);
}

MongoLog::setLevel(MongoLog::ALL);
MongoLog::setModule(MongoLog::ALL);

// We specify the function name here, but any callable (e.g. anonymous function) will work
MongoLog::setCallback("callback");

new MongoClient();
?>

O exemplo acima irá imprimir algo similar à:

2013-07-09 09:41:42 - PARSE (INFO): Parsing localhost:27017
2013-07-09 09:41:42 - PARSE (INFO): - Found node: localhost:27017
2013-07-09 09:41:42 - PARSE (INFO): - Connection type: STANDALONE
2013-07-09 09:41:42 - CON (INFO): mongo_get_read_write_connection: finding a STANDALONE connection
2013-07-09 09:41:42 - CON (INFO): connection_create: creating new connection for localhost:27017
2013-07-09 09:41:42 - CON (INFO): stream_connect: Not establishing SSL for localhost:27017
2013-07-09 09:41:42 - CON (INFO): get_server_flags: start
2013-07-09 09:41:42 - CON (FINE): send_packet: read from header: 36
2013-07-09 09:41:42 - CON (FINE): send_packet: data_size: 95
2013-07-09 09:41:42 - CON (FINE): get_server_flags: setting maxBsonObjectSize to 16777216
2013-07-09 09:41:42 - CON (FINE): get_server_flags: setting maxMessageSizeBytes to 48000000
2013-07-09 09:41:42 - CON (INFO): is_ping: pinging localhost:27017;-;.;1543
2013-07-09 09:41:42 - CON (FINE): send_packet: read from header: 36
2013-07-09 09:41:42 - CON (FINE): send_packet: data_size: 17
2013-07-09 09:41:42 - CON (INFO): is_ping: last pinged at 1373359302; time: 0ms
2013-07-09 09:41:42 - REPLSET (FINE): finding candidate servers
2013-07-09 09:41:42 - REPLSET (FINE): - all servers
2013-07-09 09:41:42 - REPLSET (FINE): filter_connections: adding connections:
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): filter_connections: done
2013-07-09 09:41:42 - REPLSET (FINE): limiting by seeded/discovered servers
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): limiting by seeded/discovered servers: done
2013-07-09 09:41:42 - REPLSET (FINE): limiting by credentials
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): limiting by credentials: done
2013-07-09 09:41:42 - REPLSET (FINE): sorting servers by priority and ping time
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): sorting servers: done
2013-07-09 09:41:42 - REPLSET (FINE): selecting near servers
2013-07-09 09:41:42 - REPLSET (FINE): selecting near servers: nearest is 0ms
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): selecting near server: done
2013-07-09 09:41:42 - REPLSET (INFO): pick server: random element 0
2013-07-09 09:41:42 - REPLSET (INFO): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543

Notas

Cuidado

This function is only available with PHP 5.3.0 and later.


Sets the level(s) to be logged

  • « MongoLog::setCallback
  • MongoLog::setModule »
  • PHP Manual
  • MongoLog
  • Sets the level(s) to be logged

MongoLog::setLevel

(PECL mongo >= 1.2.3)

MongoLog::setLevel — Sets the level(s) to be logged

Descrição

public static MongoLog::setLevel ( int $level ) : void

This function can be used to control logging verbosity and the types of activities that should be logged. The MongoLog level constants may be used with bitwise operators to specify multiple levels.

<?php

// first, specify a logging module
MongoLog::setModule(MongoLog::CON);

// log messages for every level
MongoLog::setLevel(MongoLog::ALL);

// log warning and info messages only
MongoLog::setLevel(MongoLog::WARNING|MongoLog::INFO);

// log everything except fine activity
MongoLog::setLevel(MongoLog::ALL & (~MongoLog::FINE));

?>

Note that you must also call MongoLog::setModule() to specify which modules(s) of the driver should log.

Parâmetros

level

The level(s) you would like to log.


Sets the module(s) to be logged

  • « MongoLog::setLevel
  • MongoPool »
  • PHP Manual
  • MongoLog
  • Sets the module(s) to be logged

MongoLog::setModule

(PECL mongo >= 1.2.3)

MongoLog::setModule — Sets the module(s) to be logged

Descrição

public static MongoLog::setModule ( int $module ) : void

This function can be used to set which driver modules should be logged. The MongoLog module constants may be used with bitwise operators to specify multiple modules.

<?php

// first, specify a logging level
MongoLog::setLevel(MongoLog::ALL);

// log replica set activity
MongoLog::setModule(MongoLog::RS);

// log replica sets and connection activity
MongoLog::setModule(MongoLog::RS|MongoLog::CON);

// log everything except IO activity
MongoLog::setModule(MongoLog::ALL & (~MongoLog::IO));

?>

Note that you must also call MongoLog::setLevel() to enable logging.

Parâmetros

module

The module(s) you would like to log.


The MongoPool class

(PECL mongo >= 1.2.3)

Introdução

Aviso

The current (1.3.0+) releases of the driver no longer implements pooling. This class and its methods are therefore deprecated and should not be used.

Sinopse da classe

MongoPool {
/* Métodos */
public static getSize ( ) : int
public info ( ) : array
public static setSize ( int $size ) : bool
}

Changelog

Versão | Descrição
PECL mongo 1.3.0 | This functionality has been removed and no longer does anything other than emit deprecation warnings. This class is only kept around for backwards compatibility and will be removed in the near future.
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.

Índice

  • MongoPool::getSize — Get pool size for connection pools
  • MongoPool::info — Returns information about all connection pools
  • MongoPool::setSize — Set the size for future connection pools


Get pool size for connection pools

  • « MongoPool
  • MongoPool::info »
  • PHP Manual
  • MongoPool
  • Get pool size for connection pools

MongoPool::getSize

(PECL mongo >= 1.2.3)

MongoPool::getSize — Get pool size for connection pools

Descrição

public static MongoPool::getSize ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current pool size.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.

Exemplos

Exemplo #1 Changing pool size

This returns the default pool size, sets a new pool size, then prints the new pool size and the pool debugging information. Note that changing the pool size only affects new connection pools, it does not change old ones.

<?php

$connection = new Mongo("host1");

// pool size is -1
echo "pool size is: ".MongoPool::getSize()."\n";

echo "setting pool size to 200\n";

MongoPool::setSize(200);

// pool size is 200
echo "pool size is: ".MongoPool::getSize()."\n";

$conn2 = new Mongo("host2");

// remaining for host1 is -2
// remaining for host2 is 199
var_dump(Mongo::poolDebug());

?>

Veja Também

  • MongoPool::setSize() - Set the size for future connection pools
  • MongoPool::info() - Returns information about all connection pools
  • The connection documentation.


Returns information about all connection pools

  • « MongoPool::getSize
  • MongoPool::setSize »
  • PHP Manual
  • MongoPool
  • Returns information about all connection pools

MongoPool::info

(PECL mongo >= 1.2.3)

MongoPool::info — Returns information about all connection pools

Descrição

public MongoPool::info ( ) : array

Returns an array of information about all connection pools.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Each connection pool has an identifier, which starts with the host. For each pool, this function shows the following fields:

in use

The number of connections currently being used by Mongo instances.

in pool

The number of connections currently in the pool (not being used).

remaining

The number of connections that could be created by this pool. For example, suppose a pool had 5 connections remaining and 3 connections in the pool. We could create 8 new instances of MongoClient before we exhausted this pool (assuming no instances of MongoClient went out of scope, returning their connections to the pool).

A negative number means that this pool will spawn unlimited connections.

Before a pool is created, you can change the max number of connections by calling Mongo::setPoolSize(). Once a pool is showing up in the output of this function, its size cannot be changed.

total

The total number of connections allowed for this pool. This should be greater than or equal to "in use" + "in pool" (or -1).

timeout

The socket timeout for connections in this pool. This is how long connections in this pool will attempt to connect to a server before giving up.

waiting

If you have capped the pool size, workers requesting connections from the pool may block until other workers return their connections. This field shows how many milliseconds workers have blocked for connections to be released. If this number keeps increasing, you may want to use MongoPool::setSize() to add more connections to your pool.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.


Set the size for future connection pools

  • « MongoPool::info
  • Mongo »
  • PHP Manual
  • MongoPool
  • Set the size for future connection pools

MongoPool::setSize

(PECL mongo >= 1.2.3)

MongoPool::setSize — Set the size for future connection pools

Descrição

public static MongoPool::setSize ( int $size ) : bool

Sets the max number of connections new pools will be able to create.

Parâmetros

size

The max number of connections future pools will be able to create. Negative numbers mean that the pool will spawn an infinite number of connections.

Valor Retornado

Returns the former value of pool size.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.

Exemplos

Exemplo #1 Mongo::setPoolSize() example

If you set the pool size to n and then create n connections, attempting to create an n+1st connection will throw a MongoConnectionException.

<?php

// only allow one connection to a server
MongoPool::setSize(1);

// creates one connection to localhost:27017
$m1 = new Mongo();

// attempt to create a second connection to localhost:27017
// only one connection is allowed, so this will throw an exception
$m2 = new Mongo();

?>

O exemplo acima irá imprimir algo similar à:

Fatal error: Uncaught exception 'MongoConnectionException' with message 'no more connections in pool' in /path/to/php/script.php:10
Stack trace:
#0 /path/to/php/script.php(10): Mongo->__construct()
#1 {main}
  thrown in /path/to/php/script.php on line 10

Veja Também

  • MongoPool::getSize() - Get pool size for connection pools
  • MongoPool::info() - Returns information about all connection pools
  • The connection documentation.


The Mongo class [deprecated]

(PECL mongo >=0.9.0)

Introdução

A connection between PHP and MongoDB.

This class extends MongoClient and provides access to several deprecated methods.

For backwards compatibility, it also defaults the "w" option of its constructor argument to 0, which does not require write operations to be acknowledged by the server. See MongoClient::__construct() for more information.

Aviso

This class has been DEPRECATED as of version 1.3.0. Relying on this feature is highly discouraged. Please use MongoClient instead.

Sinopse da classe

Mongo extends MongoClient {
/* Métodos */
protected connectUtil ( ) : bool
public static getPoolSize ( ) : int
public getSlave ( ) : string
public getSlaveOkay ( ) : bool
public poolDebug ( ) : array
public static setPoolSize ( int $size ) : bool
public setSlaveOkay ( bool $ok = true ) : bool
public switchSlave ( ) : string
/* Métodos herdados */
public MongoClient::close ( bool|string $connection = ? ) : bool
public MongoClient::connect ( ) : bool
public MongoClient::dropDB ( mixed $db ) : array
public MongoClient::__get ( string $dbname ) : MongoDB
public static MongoClient::getConnections ( ) : array
public MongoClient::getHosts ( ) : array
public MongoClient::getReadPreference ( ) : array
public MongoClient::getWriteConcern ( ) : array
public MongoClient::killCursor ( string $server_hash , int|MongoInt64 $id ) : bool
public MongoClient::listDBs ( ) : array
public MongoClient::selectCollection ( string $db , string $collection ) : MongoCollection
public MongoClient::selectDB ( string $name ) : MongoDB
public MongoClient::setReadPreference ( string $read_preference , array $tags = ? ) : bool
public MongoClient::setWriteConcern ( mixed $w , int $wtimeout = ? ) : bool
public MongoClient::__toString ( ) : string
}

Índice

  • Mongo::connectUtil — Connects with a database server
  • Mongo::__construct — The __construct purpose
  • Mongo::getPoolSize — Get pool size for connection pools
  • Mongo::getSlave — Returns the address being used by this for slaveOkay reads
  • Mongo::getSlaveOkay — Get slaveOkay setting for this connection
  • Mongo::poolDebug — Returns information about all connection pools
  • Mongo::setPoolSize — Set the size for future connection pools
  • Mongo::setSlaveOkay — Change slaveOkay setting for this connection
  • Mongo::switchSlave — Choose a new secondary for slaveOkay reads


Connects with a database server

  • « Mongo
  • Mongo::__construct »
  • PHP Manual
  • Mongo
  • Connects with a database server

Mongo::connectUtil

(PECL mongo >=0.9.0)

Mongo::connectUtil — Connects with a database server

Descrição

protected Mongo::connectUtil ( ) : bool
Aviso

This is an internal function that you should never call yourself.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

If the connection was successful.

Erros

Throws MongoConnectionException if it fails to connect to the databases.


The __construct purpose

  • « Mongo::connectUtil
  • Mongo::getPoolSize »
  • PHP Manual
  • Mongo
  • The __construct purpose

Mongo::__construct

(PECL mongo >=0.9.0)

Mongo::__construct — The __construct purpose

Descrição

public Mongo::__construct ( string $server = ? , array $options = ? )

This method overwrites the MongoClient constructor and turns off acknowledged writes.

Please see MongoClient::__construct() for description of the parameters.

Valor Retornado

Aviso

Instanciating this class will emit E_DEPRECATED warning, and turn off acknowledged writes.

Please use the MongoClient instead.


Get pool size for connection pools

  • « Mongo::__construct
  • Mongo::getSlave »
  • PHP Manual
  • Mongo
  • Get pool size for connection pools

Mongo::getPoolSize

(PECL mongo >=1.2.0)

Mongo::getPoolSize — Get pool size for connection pools

Descrição

public static Mongo::getPoolSize ( ) : int
Aviso

This feature has been DEPRECATED as of version 1.2.3. Relying on this feature is highly discouraged. Please use MongoPool::getSize() instead.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current pool size.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.

Exemplos

Exemplo #1 Changing pool size

This returns the default pool size, sets a new pool size, then prints the new pool size and the pool debugging information. Note that changing the pool size only affects new connection pools, it does not change old ones.

<?php

$connection = new Mongo("host1");

// pool size is -1
echo "pool size is: ".Mongo::getPoolSize()."\n";

echo "setting pool size to 200\n";

Mongo::setPoolSize(200);

// pool size is 200
echo "pool size is: ".Mongo::getPoolSize()."\n";

$conn2 = new Mongo("host2");

// remaining for host1 is -2
// remaining for host2 is 199
var_dump(Mongo::poolDebug());

?>

Veja Também

  • Mongo::setPoolSize() - Set the size for future connection pools
  • Mongo::poolDebug() - Returns information about all connection pools
  • The connection documentation.


Returns the address being used by this for slaveOkay reads

  • « Mongo::getPoolSize
  • Mongo::getSlaveOkay »
  • PHP Manual
  • Mongo
  • Returns the address being used by this for slaveOkay reads

Mongo::getSlave

(PECL mongo >=1.1.0)

Mongo::getSlave — Returns the address being used by this for slaveOkay reads

Descrição

public Mongo::getSlave ( ) : string

This finds the address of the secondary currently being used for reads. It is a read-only method: it does not change anything about the internal state of the object.

When you create a connection to the database, the driver will not immediately decide on a secondary to use. Thus, after you connect, this function will return null even if there are secondaries available. When you first do a query with slaveOkay set, at that point the driver will choose a secondary for this connection. At that point, this function will return the chosen secondary.

See the query section of this manual for information on distributing reads to secondaries.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The address of the secondary this connection is using for reads.

This returns null if this is not connected to a replica set or not yet initialized.

Erros

Issues E_DEPRECATED warning

The returned results aren't really useful as the secondary selection process is done on each query and database command execution.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.

Veja Também

  • MongoCursor::info() - Gets information about the cursor's creation and iteration


Get slaveOkay setting for this connection

  • « Mongo::getSlave
  • Mongo::poolDebug »
  • PHP Manual
  • Mongo
  • Get slaveOkay setting for this connection

Mongo::getSlaveOkay

(PECL mongo >=1.1.0)

Mongo::getSlaveOkay — Get slaveOkay setting for this connection

Descrição

public Mongo::getSlaveOkay ( ) : bool

See the query section of this manual for information on distributing reads to secondaries.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the value of slaveOkay for this instance.

Erros

Issues E_DEPRECATED warning

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.

Veja Também

  • Read Preferences
  • MongoClient::getReadPreference() - Get the read preference for this connection


Returns information about all connection pools

  • « Mongo::getSlaveOkay
  • Mongo::setPoolSize »
  • PHP Manual
  • Mongo
  • Returns information about all connection pools

Mongo::poolDebug

(PECL mongo >=1.2.0)

Mongo::poolDebug — Returns information about all connection pools

Descrição

public Mongo::poolDebug ( ) : array
Aviso

This feature has been DEPRECATED as of version 1.2.3. Relying on this feature is highly discouraged. Please use MongoPool::info() instead.

Returns an array of information about all connection pools.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Each connection pool has an identifier, which starts with the host. For each pool, this function shows the following fields:

in use

The number of connections currently being used by MongoClient instances.

in pool

The number of connections currently in the pool (not being used).

remaining

The number of connections that could be created by this pool. For example, suppose a pool had 5 connections remaining and 3 connections in the pool. We could create 8 new instances of MongoClient before we exhausted this pool (assuming no instances of MongoClient went out of scope, returning their connections to the pool).

A negative number means that this pool will spawn unlimited connections.

Before a pool is created, you can change the max number of connections by calling Mongo::setPoolSize(). Once a pool is showing up in the output of this function, its size cannot be changed.

timeout

The socket timeout for connections in this pool. This is how long connections in this pool will attempt to connect to a server before giving up.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.


Set the size for future connection pools

  • « Mongo::poolDebug
  • Mongo::setSlaveOkay »
  • PHP Manual
  • Mongo
  • Set the size for future connection pools

Mongo::setPoolSize

(PECL mongo >=1.2.0)

Mongo::setPoolSize — Set the size for future connection pools

Descrição

public static Mongo::setPoolSize ( int $size ) : bool
Aviso

This method has been DEPRECATED as of version 1.2.3. Relying on this feature is highly discouraged. Please use MongoPool::setSize() instead.

Sets the max number of connections new pools will be able to create.

Parâmetros

size

The max number of connections future pools will be able to create. Negative numbers mean that the pool will spawn an infinite number of connections.

Valor Retornado

Returns the former value of pool size.

Exemplos

Exemplo #1 Mongo::setPoolSize() example

If you set the pool size to n and then create n connections, attempting to create an n+1st connection will throw a MongoConnectionException.

<?php

// only allow one connection to a server
Mongo::setPoolSize(1);

// creates one connection to localhost:27017
$m1 = new Mongo();

// attempt to create a second connection to localhost:27017
// only one connection is allowed, so this will throw an exception
$m2 = new Mongo();

?>

O exemplo acima irá imprimir algo similar à:

Fatal error: Uncaught exception 'MongoConnectionException' with message 'no more connections in pool' in /path/to/php/script.php:10
Stack trace:
#0 /path/to/php/script.php(10): Mongo->__construct()
#1 {main}
  thrown in /path/to/php/script.php on line 10

Veja Também

  • Mongo::getPoolSize() - Get pool size for connection pools
  • Mongo::poolDebug() - Returns information about all connection pools
  • The connection documentation.


Change slaveOkay setting for this connection

  • « Mongo::setPoolSize
  • Mongo::switchSlave »
  • PHP Manual
  • Mongo
  • Change slaveOkay setting for this connection

Mongo::setSlaveOkay

(PECL mongo >=1.1.0)

Mongo::setSlaveOkay — Change slaveOkay setting for this connection

Descrição

public Mongo::setSlaveOkay ( bool $ok = true ) : bool

See the query section of this manual for information on distributing reads to secondaries.

Parâmetros

ok

If reads should be sent to secondary members of a replica set for all possible queries using this MongoClient instance.

Valor Retornado

Returns the former value of slaveOkay for this instance.

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.

Veja Também

  • Read Preferences
  • MongoClient::setReadPreference() - Set the read preference for this connection


Choose a new secondary for slaveOkay reads

  • « Mongo::setSlaveOkay
  • Mongo Funções »
  • PHP Manual
  • Mongo
  • Choose a new secondary for slaveOkay reads

Mongo::switchSlave

(PECL mongo >=1.1.0)

Mongo::switchSlave — Choose a new secondary for slaveOkay reads

Descrição

public Mongo::switchSlave ( ) : string

This choses a random secondary for a connection to read from. It is called automatically by the driver and should not need to be used. It calls MongoClient::getHosts() (to refresh the status of hosts) and Mongo::getSlave() (to get the return value).

See the query section of this manual for information on distributing reads to secondaries.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The address of the secondary this connection is using for reads. This may be the same as the previous address as addresses are randomly chosen. It may return only one address if only one secondary (or only the primary) is available.

For example, if we had a three member replica set with a primary, secondary, and arbiter this method would always return the address of the secondary. If the secondary became unavailable, this method would always return the address of the primary. If the primary also became unavailable, this method would throw an exception, as an arbiter cannot handle reads.

Erros

Throws a MongoException (error code 15) if it is called on a non-replica-set connection. It will also throw MongoExceptions if it cannot find anyone (primary or secondary) to read from (error code 16).

Changelog

Versão | Descrição
PECL mongo 1.2.11 | Emits E_DEPRECATED when used.

Veja Também

  • Read Preferences


Mongo Funções

Índice

  • bson_decode — Deserializes a BSON object into a PHP array
  • bson_encode — Serializes a PHP variable into a BSON string


Deserializes a BSON object into a PHP array

  • « Mongo Funções
  • bson_encode »
  • PHP Manual
  • Mongo Funções
  • Deserializes a BSON object into a PHP array

bson_decode

(PECL mongo >=1.0.1)

bson_decode — Deserializes a BSON object into a PHP array

Descrição

bson_decode ( string $bson ) : array

This function is very beta and entirely useless for 99% of users. It is only useful if you're doing something weird, such as writing your own driver on top of the PHP driver.

Parâmetros

bson

The BSON to be deserialized.

Valor Retornado

Returns the deserialized BSON object.


Serializes a PHP variable into a BSON string

  • « bson_decode
  • Exceptions »
  • PHP Manual
  • Mongo Funções
  • Serializes a PHP variable into a BSON string

bson_encode

(PECL mongo >=1.0.1)

bson_encode — Serializes a PHP variable into a BSON string

Descrição

bson_encode ( mixed $anything ) : string

This function is very beta and entirely useless for 99% of users. It is only useful if you're doing something weird, such as writing your own driver on top of the PHP driver.

Parâmetros

anything

The variable to be serialized.

Valor Retornado

Returns the serialized string.


Exceptions

Índice

  • MongoException
  • MongoResultException
  • MongoCursorException
  • MongoCursorTimeoutException
  • MongoConnectionException
  • MongoGridFSException
  • MongoDuplicateKeyException
  • MongoProtocolException
  • MongoExecutionTimeoutException
  • MongoWriteConcernException

VMWare Oddities

If you are running VMWare on Windows and are using CIFS, pausing the VM will cause CIFS to go out of sync and cause weird errors on un-pausing it ("The Mongo object has not been correctly initialized by its constructor"). Permanently mounting the Windows shares will fix this and you'll be able to pause and unpause at will.

To permanently mount the Windows shares, run:

$ sudo update-rc.d -f umountnfs.sh remove
$ sudo update-rc.d umountnfs.sh stop 15 0 6 .

See » the Ubuntu docs for the most up-to-date instructions.


The MongoException class

(PECL mongo >= 1.0.0)

Introdução

Default Mongo exception.

This covers a bunch of different error conditions that may eventually be moved to more specific exceptions, but will always extend MongoException.

  • The MongoSomething object has not been correctly initialized by its constructor

    Code: 0

    Probably your Mongo object is not connected to a database server.

  • zero-length keys are not allowed, did you use $ with double quotes?

    Code: 1

    You tried to save "" as a key. You generally should not do this. "" can mess up subobject access and is used by MongoDB internally. However, if you really want, you can set mongo.allow_empty_keys to true in your php.ini file to override this sanity check. If you override this, it is highly recommended that you set error checking to strict to avoid string interpolation errors.

  • '.' not allowed in key: <key>

    Code: 2

    You attempted to write a key with '.' in it, which is prohibited.

  • insert too large: <size>, max: <max>

    Code: 3

    You're attempting to send too much data to the database at once: the database will only accept inserts up to a certain size (currently 16 MB).

  • no elements in doc

    Code: 4

    You're attempting to save a document with no fields.

  • size of BSON doc is <size> bytes, max <max>MB

    Code: 5

    You're attempting to save a document that is larger than MongoDB can save.

  • no documents given

    Code: 6

    You're attempting to batch insert an empty array of documents.

  • MongoCollection::group takes an array, object, or MongoCode key

    Code: 7

    Wrong type parameter send to MongoCollection::group().

  • field names must be strings

    Code: 8

    You should format field selectors as array("field1" => 1, "field2" => 1, ..., "fieldN" => 1).

  • invalid regex

    Code: 9

    The regex passed to MongoRegex is not of the correct form.

  • MongoDBRef::get: $ref field must be a string

    Code: 10

  • MongoDBRef::get: $db field must be a string

    Code: 11

  • non-utf8 string: <str>

    Code: 12

    This error occurs if you attempt to send a non-utf8 string to the database. All strings going into the database should be UTF8. See php.ini options for the transition option of quieting this exception.

  • mutex error: <err>

    Code: 13

    The driver uses mutexes for synchronizing requests and responses in multithreaded environments. This is a fairly serious error and may not have a stack trace. It's unusual and should be reported to maintainers with any system information and steps to reproduce that you can provide.

  • index name too long: <len>, max <max> characters

    Code: 14

    Indexes with names longer than 128 characters cannot be created. If you get this error, you should use MongoCollection::ensureIndex()'s "name" option to create a shorter name for your index.

Sinopse da classe

MongoException extends Exception {
}


The MongoResultException class

(PECL mongo >=1.3.0)

Introdução

The MongoResultException is thrown by several command helpers (such as MongoCollection::findAndModify()) in the event of failure. The original result document is available through MongoResultException::getDocument().

Sinopse da classe

MongoResultException extends MongoException {
/* Propriedades */
public $document ;
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
public getDocument ( ) : array
}

Propriedades

document

The raw result document as an array.

Índice

  • MongoResultException::getDocument — Retrieve the full result document


Retrieve the full result document

  • « MongoResultException
  • MongoCursorException »
  • PHP Manual
  • MongoResultException
  • Retrieve the full result document

MongoResultException::getDocument

(PECL mongo >=1.3.0)

MongoResultException::getDocument — Retrieve the full result document

Descrição

public MongoResultException::getDocument ( ) : array

Retrieves the full error result document.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The full result document as an array, including partial data if available and additional keys.

Exemplos

Exemplo #1 MongoResultException::getDocument() example

<?php
$mc = new MongoClient("localhost");
$c = $mc->selectCollection("test", "test");

$c->insert(array(
     "name" => "Next promo",
     "inprogress" => false,
     "priority" => 0,
     "tasks" => array( "select product", "add inventory", "do placement"),
) );

$c->insert(array(
     "name" => "Biz report",
     "inprogress" => false,
     "priority" => 1,
     "tasks" => array( "run sales report", "email report" )
) );

$c->insert(array(
     "name" => "Biz report",
     "inprogress" => false,
     "priority" => 2,
     "tasks" => array( "run marketing report", "email report" )
    ),
    array("w" => true)
);

try {
    $retval = $c->findAndModify(
         array("inprogress" => false, "name" => "Biz report"),
         array('$set' => array('$set' => array('inprogress' => true, "started" => new MongoDate()))),
         null,
         array(
            "sort" => array("priority" => -1),
            "new" => true,
        )
    );
} catch(MongoResultException $e) {
    echo $e->getMessage(), "\n";
    $res = $e->getDocument();
    var_dump($res);
}
?>

Os exemplos acima irão imprimir algo similar à:

$set is not valid for storage.
array(3) {
  ["lastErrorObject"]=>
  array(5) {
    ["connectionId"]=>
    int(6)
    ["err"]=>
    string(30) "$set is not valid for storage."
    ["code"]=>
    int(52)
    ["n"]=>
    int(0)
    ["ok"]=>
    float(1)
  }
  ["ok"]=>
  float(0)
  ["errmsg"]=>
  string(30) "$set is not valid for storage."
}


The MongoCursorException class

(PECL mongo >= 1.0.0)

Introdução

Caused by accessing a cursor incorrectly or a error receiving a reply. Note that this can be thrown by any database request that receives a reply, not just queries. Writes, commands, and any other operation that sends information to the database and waits for a response can throw a MongoCursorException. The only exception is new MongoClient() (creating a new connection), which will only throw MongoConnectionExceptions.

This returns a specific error message to help diagnose the problem and a numeric error code associated with the cause of the exception.

For example, suppose you tried to insert two documents with the same _id:

<?php

try {
    $collection->insert(array("_id" => 1), array("w" => 1));
    $collection->insert(array("_id" => 1), array("w" => 1));
}
catch (MongoCursorException $e) {
    echo "error message: ".$e->getMessage()."\n";
    echo "error code: ".$e->getCode()."\n";
}

?>
This would produce output like:
error message: E11000 duplicate key error index: foo.bar.$_id_  dup key: { : 1 }
error code: 11000
Note that the MongoDB error code (11000) is used for the PHP error code. The PHP driver uses the "native" error code wherever possible.

The following is a list of common errors, codes, and causes. Exact errors are in italics, errors where the message can vary are described in obliques.

  • cannot modify cursor after beginning iteration

    Code: 0

    You are calling a method that sets up the query after executing the query. Reset the cursor and try again.

    An example:

    <?php

    try {
            $cursor = $collection->find();
            var_dump($cursor->getNext());

            // getNext() queried the database, it's too late to set a limit
            $cursor->limit(1);
    }
    catch (    MongoCursorException $e) {
        echo     "error message: ".$e->getMessage()."\n";
        echo     "error code: ".$e->getCode()."\n";
    }

    // this will work, though:
    $cursor->getNext();
    $cursor->reset();
    $cursor->limit(1);

    ?>

  • Get next batch send errors

    Code: 1

    Could not send the query to the database. Make sure the database is still up and the network is okay.

  • cursor not found

    Code: 2

    The driver was trying to fetch more results from the database, but the database did not have a record of the query. This usually means that the cursor timed out on the server side: after a few minutes of inactivity, the database will kill a cursor (see MongoCursor::immortal() for information on preventing this).

    An example:

    <?php

    try {
            $cursor = $collection->find();
            $cursor->getNext();

            // sleep for 15 minutes
            sleep(60*15);

        while (    $cursor->hasNext()) {
                $cursor->getNext();
        }
    }
    catch (    MongoCursorException $e) {
        echo     "error message: ".$e->getMessage()."\n";
        echo     "error code: ".$e->getCode()."\n";
    }

    ?>

  • cursor->buf.pos is null

    Code: 3

    This may indicate you are out of RAM or some other extraordinary circumstance.

  • couldn't get response header

    Code: 4

    A common error if the database or network goes down. This means that the driver couldn't get a response from the connection.

  • no db response

    Code: 5

    This may not even be an error, for example, the database command "shutdown" returns no response. However, if you were expecting a response, this means the database didn't give one.

  • bad response length: %d, did the db assert?

    Code: 6

    This means that the database said that its response was less than 0. This error probably indicates a network error or database corruption.

  • incomplete header

    Code: 7

    Highly unusual. Occurs if the database response started out correctly, but broke off in the middle. Probably indicates a network problem.

  • incomplete response

    Code: 8

    Highly unusual. Occurs if the database response started out correctly, but broke off in the middle. Probably indicates a network problem.

  • couldn't find a response

    Code: 9

    If the response was cached and now cannot be located.

  • error getting socket

    Code: 10

    The socket was closed or encountered an error. The driver should automatically reconnect (if possible) on the next operation.

  • couldn't find reply, please try again

    Code: 11

    The driver saves any database responses it cannot immediately match with a request. This exception occurs if the driver has already passed your request's response and cannot find your response in its cache.

  • error getting database response: errstr

    WSA error getting database response: errstr

    "errstr" is an io error reported directly from the C socket subsystem. On Windows, the error message is prefixed with "WSA".

  • Timeout error

    Code: 13

    If there was an error while waiting for a query to complete.

  • couldn't send query: <various>

    Code: 14

    C socket error on send.

  • max number of retries exhausted, couldn't send query

    Code: 19

    The driver will automatically retry "plain" queries (not commands) a couple of times if the first attempt failed for certain reasons. This is to cause fewer exceptions during replica set failover (although you will probably still have to deal with some) and gloss over transient network issues.

    This can also be caused by the driver not being able to reconnect at all to the database (if, for example, the database is unreachable).

    Version 1.2.2+.

Errors passed through by the database

Database errors should always trigger MongoCursorExceptions on queries. Error messages and codes are sent directly from the database and you should be able to see matching errors in the database log.

A few common database errors are listed below:

  • E11000 duplicate key error index: foo.bar.$X dup key: { /* ... */ }

    Code: 11000

    Database error for duplicate keys.

  • not master

    Codes: 10107, 13435, and 10058

    Not master errors, piped through by the database. ach of these will cause the driver to disconnect and attempt to find a new primary. The actual error you get on failover may not be a "not master" error, depending on when the change in primary occurs.

Sinopse da classe

MongoCursorException extends MongoException {
}

Índice

  • MongoCursorException::getHost — The hostname of the server that encountered the error


The hostname of the server that encountered the error

  • « MongoCursorException
  • MongoCursorTimeoutException »
  • PHP Manual
  • MongoCursorException
  • The hostname of the server that encountered the error

MongoCursorException::getHost

(PECL mongo >= 1.0.0)

MongoCursorException::getHost — The hostname of the server that encountered the error

Descrição

public MongoCursorException::getHost ( ) : string

Returns the hostname of the server the query was sent too.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the hostname, or NULL if the hostname is unknown.


The MongoCursorTimeoutException class

(PECL mongo >= 1.0.0)

Introdução

Caused by a query timing out. You can set the length of time to wait before this exception is thrown by calling MongoCursor::timeout() on the cursor or setting MongoCursor::$timeout. The static variable is useful for queries such as database commands and MongoCollection::findOne(), both of which implicitly use cursors.

Sinopse da classe

MongoCursorTimeoutException extends MongoCursorException {
}


The MongoConnectionException class

(PECL mongo >= 1.0.0)

Introdução

Thrown when the driver fails to connect to the database.

There are a number of possible error messages to help you diagnose the connection problem. These are:

  • No candidate servers found

    Thrown when the driver cannot establish a connection to MongoDB (fulfilling the ReadPreferences, if specified).

  • No server name given.

    This error occurs if you pass in "" as the server name, probably because of an typo with string interpolation, e.g., "$servr" instead of "$server".

  • failed to get host [hostname] or port [portnum] from [server].

    This indicated that the server string was malformed. "[hostname]" and "[portnum]" will be as much as the driver could dicipher of it.

  • Operation in progress

    Connecting to the database timed out.

  • Transport endpoint is not connected

    Generally means that the connection string isn't correct, the driver couldn't even find the database server.

  • couldn't determine master

    No server in a replica set connection was identified as the primary.

  • couldn't get host info for [server]

    This indicated that DNS could not resolve the server address you gave. This could easily be caused by a typo, for example, "server" instead of "$server".

  • Invalid Argument

    This can be caused by attempting to connect to a machine that is up but that the database isn't actually running on. Make sure that you've started the database server before connecting.

  • Permission denied

    This means that the socket could not be opened due to permissions issues. On Red Hat variants, this can be caused by a default setting that does not allow Apache to create network connections. You can override this setting by running:

    $ /usr/sbin/setsebool -P httpd_can_network_connect 1
    then restarting Apache.

If the error message is not listed above, it is probably an error from the C socket, and you can search the web for its usual cause.

Sinopse da classe

MongoConnectionException extends MongoException {
}


The MongoGridFSException class

(PECL mongo >= 1.0.0)

Introdução

Thrown when there are errors reading or writing files to or from the database.

Sinopse da classe

MongoGridFSException extends MongoException {
}

Error codes

MongoGridFSException error codes
Code | Message | Reason
3 | Could not open file $filename | Attempting to store an invalid file, such as directory
4 | File $filename is too large: $filesize bytes | Maximum filesize in GridFS is 4GB
5 | could not find filehandle | Resource doesn't have a filehandle
6 | no file is associate with this filehandle | Resource isn't a file resource
7 | error setting up file: $filenames | Could not open file for reading
9 | error reading file $filenames | Failed reading file
10 | error reading filehandle | Failed reading from a resource
11 | could not find uploaded file %s | Filename doesn't seem to be uploaded file
12 | Couldn't find tmp_name in the $_FILES array. Are you sure the upload worked? | Uploaded filename probably failed
13 | tmp_name was not a string or an array | Invalid filename given
14 | couldn't find file size | The length property is missing
15 | Cannot find filename | No filename provided, and no filename property set
16 | could not open destination file %s | Destination filename not writable
17 | error reading chunk of file | Chunk corruption
18 | couldn't create a php_stream | Couldn't create a stream resource
19 | couldn't find property | Chunk corruption
20 | chunk number has wrong size (size) when the max is maxchunksize | Chunk larger then expected
21 | chunk has wrong format | Chunk corruption


The MongoDuplicateKeyException class

(PECL mongo >= 1.5.0)

Introdução

Thrown when attempting to insert a document into a collection which already contains the same values for the unique keys.

Sinopse da classe

MongoDuplicateKeyException extends MongoWriteConcernException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public MongoWriteConcernException::getDocument ( ) : array
}

Exemplos

Exemplo #1 Catching MongoDuplicateKeyException

<?php
$mc = new MongoClient("localhost");

$c = $mc->selectCollection("test", "test");

$c->insert(array('_id' => 1));
try {
    $c->insert(array('_id' => 1));
} catch (MongoWriteConcernException $e) {
    echo $e->getMessage(), "\n";
}
?>

Os exemplos acima irão imprimir algo similar à:

localhost:27017: insertDocument :: caused by :: 11000 E11000 duplicate key error index: test.test.$_id_  dup key: { : 1 }


The MongoProtocolException class

(PECL mongo >= 1.5.0)

Introdução

When talking to MongoDB 2.6.0, and later, certain operations (such as writes) may throw MongoProtocolException when the response from the server did not make sense - for example during network failure (we could read the entire response) or data corruption.

This exception is also thrown when attempting to talk newer protocols then the server supports, for example using the MongoWriteBatch when talking to a MongoDB server prior to 2.6.0.

Sinopse da classe

MongoProtocolException extends MongoException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
}

Exemplos

Exemplo #1 Catching MongoProtocolException

Running the following example against MongoDB prior to 2.6.0 will throw an MongoProtocolException

<?php
$mc = new MongoClient("localhost");
$c = $mc->selectCollection("test", "test");

try {
    $batch = new MongoInsertBatch($c);
} catch(MongoProtocolException $e) {
    echo $e->getMessage();
}
?>

Os exemplos acima irão imprimir algo similar à:

Current primary does not have a Write API


The MongoExecutionTimeoutException class

(PECL mongo >= 1.5.0)

Introdução

Thrown when a operation times out server side (i.e. in MongoDB).

To configure the operation timeout threshold, use MongoCursor::maxTimeMS() or the "maxTimeMS" command option.

Sinopse da classe

MongoExecutionTimeoutException extends MongoException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
}


The MongoWriteConcernException class

(PECL mongo >= 1.5.0)

Introdução

MongoWriteConcernException is thrown when a write fails. See Write Concerns for how to set failure thresholds.

Prior to MongoDB 2.6.0, the » getLastError command would determine whether a write failed.

Sinopse da classe

MongoWriteConcernException extends MongoCursorException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
public getDocument ( ) : array
/* Métodos herdados */
public MongoCursorException::getHost ( ) : string
}

Índice

  • MongoWriteConcernException::getDocument — Get the error document


Get the error document

  • « MongoWriteConcernException
  • Changelog »
  • PHP Manual
  • MongoWriteConcernException
  • Get the error document

MongoWriteConcernException::getDocument

(PECL mongo >= 1.5.0)

MongoWriteConcernException::getDocument — Get the error document

Descrição

public MongoWriteConcernException::getDocument ( ) : array

Returns the actual response from the server that was interperated as an error.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A MongoDB document, if available, as an array.


Changelog

As alterações a seguir foram feitas em classes/funções/métodos desta extensão.

MongoDB PHP Driver 1.5.0

It supports all new features for MongoDB 2.6, including:

  • Aggregate can now return a cursor
  • Aggregation pipelines can now be explained
  • Possible to set maxTimeMS for commands and queries
  • Transparent support for the new command-based MongoDB write API
  • New MongoWriteBatch classes (using the new MongoDB write API)
  • Support for MongoDB Enterprise features (e.g. Kerberos, LDAP, X509)
  • Option to tune acceptable server latency for secondary reads (secondaryAcceptableLatencyMS)

With this release, some driver functionality which was previously documented as deprecated will now formally raise deprecation notices. This includes:

  • Instantiating the Mongo class
  • Calling MongoCursor::slaveOkay()
  • "wtimeout" and "safe" options for MongoCollection write operations
  • Manipulating public properties on core classes (such as $collection->w)

Nota:

No previously deprecated features have been removed.

Changes in behaviour:

  • Setting the mongo.native_long INI setting now raises an error on 32-bit platforms, and now defaults to true for 64-bit platforms.

MongoDB PHP Driver 1.4.0

The 1.4 series introduced fundemental changes in how connections are created to the MongoDB servers. The driver now utilizes PHP native streams, so all normal PHP stream options apply. Furthermore, an experimental Stream Context Support was added.

The 1.4.x series also added support for MongoDB 2.4.x.

The most important improvements however deal with the handling of replica sets, especially nodes that timeout and nodes that are unreachable for various reasons. Besides the improvements to replica set handling, this release addresses issues with read preferences through mongos nodes. It also adds support for SSL enabled connections as well as journal and fsync connection string options.

MongoDB PHP Driver 1.3.0

The 1.3 series introduced several major changes to the extension such as completely rewritten connection handling (and removal of the pooling mechanism), support for ReadPreferences and change the default WriteConcerns to be acknowledged by introducing a new class MongoClient which serves as a replacement class for the now deprecated Mongo class.

The driver now also supports connecting to multiple mongos instances (the Mongo Shard router) for loadbalancing.

Other enhancements include improved logging for easier connection handling debugging with MongoLog and support for the » Aggregation Framework via the MongoCollection::aggregate() method.

Changes to existing methods

Following is a list of all improvements to existing methods since their inception.

Version | Function | Description
PECL mongo 1.7.0 | MongoDB::execute | This method has been deprecated as a result of the underlaying eval command being deprecated in MongoDB 3.0+.
PECL mongo 1.6.0 | MongoClient::__construct | Added support for "SCRAM-SHA-1" in "authMechanism" option.
 | MongoCollection::count | The second parameter is now an options array. Passing limit and skip as the second and third parameters, respectively, is deprecated.
 | MongoDB::getCollectionNames | Changed first parameter to be an array of options. Pre-1.6.0, the first parameter was a boolean indicating the "includeSystemCollections" option.
 | MongoDB::listCollections | Changed first parameter to be an array of options. Pre-1.6.0, the first parameter was a boolean indicating the "includeSystemCollections" option.
PECL mongo 1.5.0 | log_cmd_delete | Only available when connected to MongoDB 2.6.0+
 | log_cmd_insert | Only available when connected to MongoDB 2.6.0+
 | log_cmd_update | Only available when connected to MongoDB 2.6.0+
 | log_write_batch | Only available when connected to MongoDB 2.6.0+
 | MongoBinData::__construct | The default changed from 2 (MongoBinData::BYTE_ARRAY) to 0 (MongoBinData::GENERIC).
 | MongoClient::__construct | Added "authMechanism", "gssapiServiceName", and "secondaryAcceptableLatencyMS".
 | MongoClient::__construct | Added "authSource".
 | MongoCollection::aggregate | Added optional options argument
 | MongoCollection::batchInsert | Added the "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added the "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
 | MongoCollection::ensureIndex | Renamed the "wtimeout" option to "wTimeoutMS". Emits E_DEPRECATED when "wtimeout" is used. Renamed the "timeout" option to "socketTimeoutMS". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
 | MongoCollection::findOne | Added optional options argument.
 | MongoCollection::group | Added "maxTimeMS" option.
 | MongoCollection::insert | Added the "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added the "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
 | MongoCollection::remove | Added "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
 | MongoCollection::save | Added "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
 | MongoCollection::toIndexString | This method has been deprecated.
 | MongoCollection::update | Added the "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added the "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
 | MongoCursor::slaveOkay | This method has been deprecated in favour of MongoCursor::setReadPreference and .
 | MongoDB::command | Renamed the "timeout" option to "socketTimeoutMS". Emits E_DEPRECATED when "timeout" is used. Added hash by-reference parameter.
PECL mongo 1.4.5 | MongoCursor::batchSize | Before 1.4.5, this method would throw an MongoCursorException if the cursor had already started iterating.
PECL mongo 1.4.0 | MongoClient::__construct | Added "ssl" option and support for connecting over SSL. Added "wTimeoutMS" option, which replaces "wTimeout". Emits E_DEPRECATED when "slaveOkay" or "timeout" is used.
 | MongoCursor::hint | The index argument now supports index names as string values. In versions before 1.4.0, only array or object values were accepted.
 | MongoCursor::setFlag | Support for flag 3 (OPLOG_REPLAY) is added. Versions before 1.4.0 would throw a warning saying that the flag is unsupported.
 | MongoDB::createCollection | In versions before 1.4.0, the options were all arguments to the method. The function synopsis in those older versions is: public MongoCollectionMongoDB::createCollection stringname boolcappedfalse intsize0 intmax0 The meaning of the options is the same as described under the options argument above.
 | MongoId::__construct | An exception is thrown when passed invalid string
PECL mongo 1.3.4 | MongoClient::__construct | Added "connectTimeoutMS" and "socketTimeoutMS" options.
 | MongoCollection::batchInsert | Added "wtimeout" option.
 | MongoCollection::ensureIndex | Added "wtimeout" option.
 | MongoCollection::insert | Added "wtimeout" option.
 | MongoCollection::remove | Added "wtimeout" option.
 | MongoCollection::update | Added "wtimeout" option.
PECL mongo 1.3.3 | MongoClient::getReadPreference | The return value has changed to be consistent with MongoClient::setReadPreference. The type value was changed from a number to a string, type_string was removed, and tagsets now expresses tags as key/value pairs instead of colon-delimited strings.
 | MongoCollection::getReadPreference | The return value has changed to be consistent with MongoCollection::setReadPreference. The type value was changed from a number to a string, type_string was removed, and tagsets now expresses tags as key/value pairs instead of colon-delimited strings.
 | MongoDB::getReadPreference | The return value has changed to be consistent with MongoDB::setReadPreference. The type value was changed from a number to a string, type_string was removed, and tagsets now expresses tags as key/value pairs instead of colon-delimited strings.
PECL mongo 1.3.0 | MongoClient::close | The connection parameter to this function was added in 1.3.0. Before that, only the write connection would be closed by this method.
 | MongoClient::__construct | Added "readPreference", "readPreferenceTags", "w", and "wTimeout" options.
 | MongoCollection::batchInsert | Added "w" option.
 | MongoCollection::ensureIndex | Added "w" option. The options parameter no longer accepts a boolean to signify a unique index. Instead, this now has to be done with array('unique' => true).
 | MongoCollection::insert | Added "w" option. The options parameter no longer accepts a boolean to signify an acknowledged write. Instead, this now has to be done with array('w' => 1) (the default behaviour of MongoClient).
 | MongoCollection::remove | Added "w" option. The options parameter no longer accepts a boolean to signify "justOne". Instead, this now has to be done with array('justOne' => true).
 | MongoCollection::update | Added "w" option. The options parameter no longer accepts a boolean to signify an upsert. Instead, this now has to be done with array('upsert' => true).
 | MongoDB::listCollections | Added the includeSystemCollections parameter.
 | MongoGridFSCursor::key | The document's _id is returned as a string value, since the key should be unique. Pre-1.3.0, filename was returned.
PECL mongo 1.2.11 | Mongo::getPoolSize | Emits E_DEPRECATED when used.
 | Mongo::getSlave | Emits E_DEPRECATED when used.
 | Mongo::getSlaveOkay | Emits E_DEPRECATED when used.
 | Mongo::poolDebug | Emits E_DEPRECATED when used.
 | Mongo::setSlaveOkay | Emits E_DEPRECATED when used.
 | Mongo::switchSlave | Emits E_DEPRECATED when used.
 | MongoBinData::__construct | Emits E_DEPRECATED when the second argument is not used. The default value for type may change in the near future.
 | MongoCollection::ensureIndex | Emits E_DEPRECATED when options is scalar.
 | MongoCollection::getSlaveOkay | Emits E_DEPRECATED when used.
 | MongoCollection::group | Emits E_DEPRECATED when options is scalar.
 | MongoCollection::remove | Emits E_DEPRECATED when options is scalar.
 | MongoCollection::setSlaveOkay | Emits E_DEPRECATED when used.
 | MongoCollection::update | Emits E_DEPRECATED when options is scalar.
 | MongoCursor::doQuery | Emits E_DEPRECATED when used.
 | MongoDB::authenticate | Emits E_DEPRECATED when used. Please pass in the authentication details to the constructor.
 | MongoDB::forceError | Emits E_DEPRECATED when used.
 | MongoDB::getSlaveOkay | Emits E_DEPRECATED when used.
 | MongoDB::prevError | Emits E_DEPRECATED when used.
 | MongoDB::resetError | Emits E_DEPRECATED when used.
 | MongoDB::setSlaveOkay | Emits E_DEPRECATED when used.
 | MongoPool::getSize | Emits E_DEPRECATED when used.
 | MongoPool::info | Emits E_DEPRECATED when used.
 | MongoPool::setSize | Emits E_DEPRECATED when used.
PECL mongo 1.2.10 | MongoClient::getHosts | Support for non-replicasets was added. The returned array elements now also include the hostname and port.
PECL mongo 1.2.7 | MongoCollection::batchInsert | Added "continueOnError" option.
PECL mongo 1.2.5 | MongoGridFS::storeUpload | Changed second parameter to an array of metadata. Pre-1.2.5, the second parameter was an optional string overriding the filename.
PECL mongo 1.2.0 | MongoClient::close | Before version 1.2.0 the driver would not use persistent connections by default, and all connections would be closed as soon as a MongoDB connection went out if scope. Since version 1.2.0 this is no longer the case and it is a bad idea to call close as you might end up overloading the server with connections under high load.
 | MongoClient::__construct | Added "username" and "password" options. Removed "persist" option, as all connections are now persistent. It can still be used, but it doesn't affect anything. "persist" If the connection should be persistent. If set, the connection will be persistent. The string representation of the value is used as an ID for the connection, so two instances of MongoClient that are initialized with array("persist" => "foobar") will share the same database connection, whereas an instance initialized with array("persist" => "barbaz") will use a different database connection. The "replicaSet" option now takes a string, not a boolean.
 | MongoCollection::ensureIndex | Added "timeout" option.
 | MongoCollection::insert | Added "timeout" option.
 | MongoCollection::remove | Added "timeout" option.
 | MongoCollection::save | Added "timeout" option.
 | MongoCollection::update | Added "timeout" option.
 | MongoDB::command | Added options parameter with a single option: "timeout".
PECL mongo 1.1.0 | MongoCursor::info | Added a number of other fields, including id (the cursor id), at (the driver's counter of which document is current), numReturned (the number returned by the server in the current batch), and server (which server the query was sent to—useful in conjunction with .
PECL mongo 1.0.11 | MongoCollection::ensureIndex | The "safe" option will trigger a primary failover, if necessary. MongoException will be thrown if the index name (either generated or set) is longer than 128 bytes.
 | MongoCollection::insert | Disconnects on "not master" errors if "safe" is set.
 | MongoCollection::remove | Disconnects on "not master" errors if "safe" is set.
 | MongoCollection::save | Disconnects on "not master" errors if "safe" is set.
 | MongoCollection::update | Disconnects on "not master" errors if "safe" is set.
PECL mongo 1.0.10 | MongoCursor::info | Added started_iterating field, a boolean indicating if cursor is pre- or post-query.
PECL mongo 1.0.9 | MongoClient::__construct | Added "replicaSet" option.
 | MongoCollection::batchInsert | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option.
 | MongoCollection::insert | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option. The return type was changed to be an array containing error information if the "safe" option is used. Otherwise, a boolean is returned as before.
 | MongoCollection::remove | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option. The return type was changed to be an array containing error information if the "safe" option is used. Otherwise, a boolean is returned as before.
 | MongoCollection::save | Added "fsync" option.
 | MongoCollection::update | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option. The return type was changed to be an array containing error information if the "safe" option is used. Otherwise, a boolean is returned as before.
PECL mongo 1.0.7 | MongoCollection::count | Added limit and skip as second and third parameters, respectively.
PECL mongo 1.0.5 | MongoCollection::batchInsert | Added options parameter.
 | MongoCollection::ensureIndex | Added the "name" option to override index name creation.
 | MongoCollection::remove | Changed second parameter to be an array of options. Pre-1.0.5, the second parameter was a boolean indicating the "safe" option.
 | MongoCollection::save | Added options parameter.
 | MongoCollection::update | Added "safe" option.
PECL mongo 1.0.2 | MongoClient::__construct | Changed constructor to take an array of options. Pre-1.0.2, the constructor took the following parameters: server The server name. connect Optional boolean parameter specifying if the constructor should connect to the database before returning. Defaults to true. persistent If the connection should be persistent. paired If the connection should be paired.
 | MongoCollection::ensureIndex | Changed options parameter from boolean to array. Pre-1.0.2, the second parameter was an optional boolean value specifying a unique index.
 | MongoCollection::insert | Changed second parameter to be an array of options. Pre-1.0.2, the second parameter was a boolean indicating the "safe" option.
PECL mongo 1.0.1 | MongoCollection::insert | Throw a MongoCursorException if the "safe" option is set and the insert fails.
 | MongoCollection::update | Changed options parameter from boolean to array. Pre-1.0.1, the second parameter was an optional boolean value specifying an upsert.


MongoDB driver

Unlike the mongo extension, this extension is developed atop the » libmongoc and » libbson libraries. It provides a minimal API for core driver functionality: commands, queries, writes, connection management, and BSON serialization.

Userland PHP libraries that depend on this extension may provide higher level APIs, such as query builders, individual command helper methods, and GridFS. Application developers should consider using this extension in conjunction with the » MongoDB PHP library, which implements the same higher level APIs found in MongoDB drivers for other languages. This separation of concerns allows the driver to focus on essential features for which an extension implementation is paramount for performance.

  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Constantes pré-definidas
  • Tutorials
    • Using the PHP Library for MongoDB (PHPLIB)
    • Application Performance Monitoring (APM)
  • Driver Architecture and Internals — Explains the driver architecture, and special features
    • Architecture — Architecture Overview
    • Connections — Connection handling and persistence
    • Persisting Data — Serialization and deserialization of PHP variables into MongoDB
  • Security
    • Request Injection Attacks
    • Script Injection Attacks
  • MongoDB\Driver — MongoDB driver classes
    • MongoDB\Driver\Manager — The MongoDB\Driver\Manager class
    • MongoDB\Driver\Command — The MongoDB\Driver\Command class
    • MongoDB\Driver\Query — The MongoDB\Driver\Query class
    • MongoDB\Driver\BulkWrite — The MongoDB\Driver\BulkWrite class
    • MongoDB\Driver\Session — The MongoDB\Driver\Session class
    • MongoDB\Driver\ClientEncryption — The MongoDB\Driver\ClientEncryption class
    • MongoDB\Driver\WriteConcern — The MongoDB\Driver\WriteConcern class
    • MongoDB\Driver\ReadPreference — The MongoDB\Driver\ReadPreference class
    • MongoDB\Driver\ReadConcern — The MongoDB\Driver\ReadConcern class
    • MongoDB\Driver\Cursor — The MongoDB\Driver\Cursor class
    • MongoDB\Driver\CursorId — The MongoDB\Driver\CursorId class
    • MongoDB\Driver\CursorInterface — The MongoDB\Driver\CursorInterface interface
    • MongoDB\Driver\Server — The MongoDB\Driver\Server class
    • MongoDB\Driver\WriteConcernError — The MongoDB\Driver\WriteConcernError class
    • MongoDB\Driver\WriteError — The MongoDB\Driver\WriteError class
    • MongoDB\Driver\WriteResult — The MongoDB\Driver\WriteResult class
  • MongoDB\BSON — BSON type classes and serialization functions
    • Funções
    • MongoDB\BSON\Binary — The MongoDB\BSON\Binary class
    • MongoDB\BSON\Decimal128 — The MongoDB\BSON\Decimal128 class
    • MongoDB\BSON\Javascript — The MongoDB\BSON\Javascript class
    • MongoDB\BSON\MaxKey — The MongoDB\BSON\MaxKey class
    • MongoDB\BSON\MinKey — The MongoDB\BSON\MinKey class
    • MongoDB\BSON\ObjectId — The MongoDB\BSON\ObjectId class
    • MongoDB\BSON\Regex — The MongoDB\BSON\Regex class
    • MongoDB\BSON\Timestamp — The MongoDB\BSON\Timestamp class
    • MongoDB\BSON\UTCDateTime — The MongoDB\BSON\UTCDateTime class
    • MongoDB\BSON\Type — The MongoDB\BSON\Type interface
    • MongoDB\BSON\Persistable — The MongoDB\BSON\Persistable interface
    • MongoDB\BSON\Serializable — The MongoDB\BSON\Serializable interface
    • MongoDB\BSON\Unserializable — The MongoDB\BSON\Unserializable interface
    • MongoDB\BSON\BinaryInterface — The MongoDB\BSON\BinaryInterface interface
    • MongoDB\BSON\Decimal128Interface — The MongoDB\BSON\Decimal128Interface interface
    • MongoDB\BSON\JavascriptInterface — The MongoDB\BSON\JavascriptInterface interface
    • MongoDB\BSON\MaxKeyInterface — The MongoDB\BSON\MaxKeyInterface interface
    • MongoDB\BSON\MinKeyInterface — The MongoDB\BSON\MinKeyInterface interface
    • MongoDB\BSON\ObjectIdInterface — The MongoDB\BSON\ObjectIdInterface interface
    • MongoDB\BSON\RegexInterface — The MongoDB\BSON\RegexInterface interface
    • MongoDB\BSON\TimestampInterface — The MongoDB\BSON\TimestampInterface interface
    • MongoDB\BSON\UTCDateTimeInterface — The MongoDB\BSON\UTCDateTimeInterface interface
    • MongoDB\BSON\DBPointer — The MongoDB\BSON\DBPointer class (deprecated)
    • MongoDB\BSON\Int64 — The MongoDB\BSON\Int64 class
    • MongoDB\BSON\Symbol — The MongoDB\BSON\Symbol class (deprecated)
    • MongoDB\BSON\Undefined — The MongoDB\BSON\Undefined class (deprecated)
  • MongoDB\Driver\Monitoring — Monitoring classes and subscriber functions
    • Funções
    • MongoDB\Driver\Monitoring\CommandFailedEvent — The MongoDB\Driver\Monitoring\CommandFailedEvent class
    • MongoDB\Driver\Monitoring\CommandStartedEvent — The MongoDB\Driver\Monitoring\CommandStartedEvent class
    • MongoDB\Driver\Monitoring\CommandSucceededEvent — The MongoDB\Driver\Monitoring\CommandSucceededEvent class
    • MongoDB\Driver\Monitoring\CommandSubscriber — The MongoDB\Driver\Monitoring\CommandSubscriber interface
    • MongoDB\Driver\Monitoring\Subscriber — The MongoDB\Driver\Monitoring\Subscriber interface
  • MongoDB\Driver\Exception — Exception classes
    • MongoDB\Driver\Exception\AuthenticationException — The MongoDB\Driver\Exception\AuthenticationException class
    • MongoDB\Driver\Exception\BulkWriteException — The MongoDB\Driver\Exception\BulkWriteException class
    • MongoDB\Driver\Exception\CommandException — The MongoDB\Driver\Exception\CommandException class
    • MongoDB\Driver\Exception\ConnectionException — The MongoDB\Driver\Exception\ConnectionException class
    • MongoDB\Driver\Exception\ConnectionTimeoutException — The MongoDB\Driver\Exception\ConnectionTimeoutException class
    • MongoDB\Driver\Exception\EncryptionException — The MongoDB\Driver\Exception\EncryptionException class
    • MongoDB\Driver\Exception\Exception — The MongoDB\Driver\Exception\Exception interface
    • MongoDB\Driver\Exception\ExecutionTimeoutException — The MongoDB\Driver\Exception\ExecutionTimeoutException class
    • MongoDB\Driver\Exception\InvalidArgumentException — The MongoDB\Driver\Exception\InvalidArgumentException class
    • MongoDB\Driver\Exception\LogicException — The MongoDB\Driver\Exception\LogicException class
    • MongoDB\Driver\Exception\RuntimeException — The MongoDB\Driver\Exception\RuntimeException class
    • MongoDB\Driver\Exception\ServerException — The MongoDB\Driver\Exception\ServerException class
    • MongoDB\Driver\Exception\SSLConnectionException — The MongoDB\Driver\Exception\SSLConnectionException class (deprecated)
    • MongoDB\Driver\Exception\UnexpectedValueException — The MongoDB\Driver\Exception\UnexpectedValueException class
    • MongoDB\Driver\Exception\WriteException — The MongoDB\Driver\Exception\WriteException class
    • Class Tree — MongoDB Exception Class Tree


Instalação/Configuração

  • Dependências
  • Instalação
    • Installing the MongoDB PHP Driver with PECL
    • Installing the MongoDB PHP Driver on macOS with Homebrew
    • Installing the MongoDB PHP Driver on Windows
    • Building the MongoDB PHP Driver from source
  • Configurações em Execução
  • Constantes pré-definidas


Dependências

As of version 1.8.0, the driver requires PHP 7.0 or higher. Previous versions of the driver allow compatibility with older PHP versions.

The driver requires » libbson and » libmongoc, and will use bundled versions of both libraries by default. System libraries may also be used, as discussed in the manual installation documentation.

The driver, via libmongoc, optionally depends on a TLS library (e.g. OpenSSL) and will use it if available. If the build process fails to find a TLS library, users should check that the appropriate development package (e.g. libssl-dev) and » pkg-config are both installed. The process for detecting and configuring TLS libraries is discussed in more detail in the manual installation documentation.

» Cyrus SASL is an optional dependency to support Kerberos authentication and will be used if available.

Nota: Due to potential problems representing 64-bit integers on 32-bit platforms, users are advised to use 64-bit environments. When using a 32-bit platform, be aware that any 64-bit integer read from the database will be returned as a MongoDB\BSON\Int64 instance instead of a PHP integer type.


Instalação

Índice

  • Installing the MongoDB PHP Driver with PECL
  • Installing the MongoDB PHP Driver on macOS with Homebrew
  • Installing the MongoDB PHP Driver on Windows
  • Building the MongoDB PHP Driver from source


Installing the MongoDB PHP Driver with PECL

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/mongodb

Linux, Unix, and macOS users may run the following command to install the driver:

$ sudo pecl install mongodb

If your system has multiple version of PHP installed (e.g. macOS default, Homebrew, » XAMPP), note that that each version of PHP has its own pecl command and php.ini file.

Installing the driver via PECL will use bundled versions of » libbson and » libmongoc and attempt to automatically configure them.

Nota: If the build process fails to find an SSL library, check that the development packages (e.g. libssl-dev) and » pkg-config are both installed. If that does not resolve the problem, consider using the manual installation process.

Finally, add the following line to your php.ini file:

extension=mongodb.so


Installing the MongoDB PHP Driver on macOS with Homebrew

» Homebrew 1.5.0 deprecated the » Homebrew/php tap and removed formulae for individual PHP extensions. Going forward, macOS users are advised to install the » php formula and follow the standard PECL installation instructions using the pecl command provided by the Homebrew PHP installation.


Installing the MongoDB PHP Driver on Windows

Precompiled binaries for each release are available from » PECL for a variety of combinations of versions, thread safety, and VC libraries. Extract the archive and put php_mongodb.dll in your PHP extension directory ("ext" by default).

Add the following line to your php.ini file:

extension=php_mongodb.dll

Nota: Additional DLL dependencies for Windows Users

Para esta extensão funcionar, existem arquivos DLL que devem estar disponíveis no PATH do sistema Windows. Para saber como fazer isso, veja o FAQ intitulado "Como eu adiciono o meu diretório PHP no PATH no Windows". Embora copiando arquivos DLL da pasta do PHP no diretório system do Windows também funcione (porque o diretório system está por padrão no PATH do sistema), isto não é recomendado. Esta extensão requer que os seguintes arquivos estejam no PATH: libsasl.dll


Building the MongoDB PHP Driver from source

For driver developers and people interested in the latest bugfixes, you can compile the driver from the latest source code on » Github. Run the following commands to clone and build the project:

$ git clone https://github.com/mongodb/mongo-php-driver.git
$ cd mongo-php-driver
$ git submodule update --init
$ phpize
$ ./configure
$ make all
$ sudo make install

If your system has multiple version of PHP installed (e.g. macOS default and » XAMPP), note that each version of PHP has its own phpize command and php.ini file.

By default, the driver will use bundled versions of » libbson, » libmongoc, and » libmongocrypt and attempt to configure them on its own. If these libraries are already installed as system libraries, you can instruct the driver to utilize them by specifying --with-libbson=yes --with--libmongoc=yes as arguments to configure. Starting with version 1.7.0 of the extension, these arguments are deprecated and you should use --with-mongodb-system-libs=yes instead.

For a complete list of configure options, run configure --help.

When using bundled versions of libbson and libmongoc, the driver will also attempt to select an SSL library according to the --with-mongodb-ssl option for configure. The default value is --with-mongodb-ssl=auto, which will search for Secure Transport (macOS only), OpenSSL, and LibreSSL, in that order. Additionally, you may specify openssl, libressl, or darwin to force selection of a particular library, respectively.

Nota:

If the build process fails to find an SSL library, check that the development packages (e.g. libssl-dev) and » pkg-config are both installed.

When using Homebrew on macOS, it is common for a system to have multiple versions of OpenSSL installed. To ensure that the desired version of OpenSSL is selected, the PKG_CONFIG_PATH environment variable may be used to control the search path for pkg-config. If pkg-config is not used, configure also supports a --with-openssl-dir=DIR argument, which can be used to specify a manual search path (for OpenSSL only).

The final build step, make install, will report where mongodb.so has been installed, similar to:

Installing shared extensions:     /usr/lib/php/extensions/debug-non-zts-20151012/

Ensure that the extension_dir option in php.ini points to the directory where mongodb.so was installed. You can query for the option by running:

$ php -i | grep extension_dir
  extension_dir => /usr/lib/php/extensions/debug-non-zts-20151012 =>
                   /usr/lib/php/extensions/debug-non-zts-20151012

If the directories differ, either change extension_dir in php.ini or manually move mongodb.so to the correct directory.

Finally, add the following line to your php.ini file:

extension=mongodb.so


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

mongodb Opções de Configuração
Nome | Padrão | Modificável | Changelog | Comments
mongodb.debug | "" | PHP_INI_ALL |  |

Uma rápida explicação das diretivas de configuração.

mongodb.debug string

Store full activity debug log in this directory or stream. The special value "stderr" can be provided to write to STDERR.

Nota:

Please note that the debug log can contain sensitive information, such as credentials to the MongoDB server and full documents written to or read from the server. Please review any debug logs before sharing them with other people.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

MONGODB_VERSION (string)
x.y.z style version number of the extension
MONGODB_STABILITY (string)
Current stability (alpha/beta/stable)


Tutorials

In this section you will find several tutorials on how to use the MongoDB driver for PHP.

  • Using the PHP Library for MongoDB (PHPLIB)
  • Application Performance Monitoring (APM)


Using the PHP Library for MongoDB (PHPLIB)

After the initial driver set-up, we will continue explaining how to get started with the MongoDB driver and corresponding userland library to write our first project.

Installing the PHP Library with Composer

The last thing we still need to install to get started on the application itself, is the PHP library.

The library needs to be installed with » Composer, a package manager for PHP. Instructions for installing Composer on various platforms may be found on its website.

Install the library by running:

$ composer require mongodb/mongodb

It will output something akin to:

./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing mongodb/mongodb (1.0.0)
    Downloading: 100%

Writing lock file
Generating autoload files

Composer will create several files: composer.json, composer.lock, and a vendor directory that will contain the library and any other dependencies your project might require.

Using the PHP Library

In addition to managing your dependencies, Composer will also provide you with an autoloader (for those dependencies' classes). Ensure that it is included at the start of your script or in your application's bootstrap code:

<?php
// This path should point to Composer's autoloader
require 'vendor/autoload.php';

With this done, you can now use any of the functionality as described in the » library documentation.

If you have previously used the old driver (i.e. mongo extension), the library's API should look familiar. It contains a » Client class for connecting to MongoDB, and » Database class for database-level operations (e.g. commands, collection management) and a » Collection class for collection-level operations (e.g. » CRUD methods, index management). Various Collection methods have been renamed for clarity, and to be in accordance with a new language-agnostic » specification.

As an example, this is how you insert a document into the beers collection of the demo database:

<?php
require 'vendor/autoload.php'; // include Composer's autoloader

$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->demo->beers;

$result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );

echo "Inserted with Object ID '{$result->getInsertedId()}'";
?>

Instead of injecting the generated _id field into the input document (as was done in the old driver), it is now made available through the result object returned by the insertOne method.

After insertion, you can of course also query the data that you have just inserted. For that, you use the find method, which returns an iterable cursor:

<?php
require 'vendor/autoload.php'; // include Composer's autoloader

$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->demo->beers;

$result = $collection->find( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );

foreach ($result as $entry) {
    echo $entry['_id'], ': ', $entry['name'], "\n";
}
?>

While it may not be apparent in the examples, BSON documents and arrays are unserialized as type classes in the library by default. These classes ensure that values preserve their type when being serialized back into BSON, which avoids a caveat in the old driver where arrays might turn into documents, and vice versa. Additionally, the classes extend ArrayObject for enhanced usability. You can find more information on how serialization and deserialization between PHP variables and BSON is handled by the driver and library by reading the Persisting Data specification.


Application Performance Monitoring (APM)

Since version 1.3, the MongoDB driver contains an API for performance monitoring. This API allows you to find out how long specific operations take by setting up subscribers. Each subscriber is required to implement one or more interfaces under the MongoDB\Driver\Monitoring namespace. Currently, only the MongoDB\Driver\Monitoring\CommandSubscriber interface is available.

The MongoDB\Driver\Monitoring\CommandSubscriber interface defines three methods: commandStarted, commandSucceeded, and commandFailed. Each of these three methods accept a single event argument of a specific class for the respective event. For example, the commandSucceeded's $event argument is a MongoDB\Driver\Monitoring\CommandSucceededEvent object.

In this tutorial we will implement a subscriber that creates a list of all the query profiles and the average time they took.

Subscriber Class Scaffolding

We start with the framework for our subscriber:

<?php

class QueryTimeCollector implements \MongoDB\Driver\Monitoring\CommandSubscriber
{
    public function commandStarted( \MongoDB\Driver\Monitoring\CommandStartedEvent $event )
    {
    }

    public function commandSucceeded( \MongoDB\Driver\Monitoring\CommandSucceededEvent $event )
    {
    }

    public function commandFailed( \MongoDB\Driver\Monitoring\CommandFailedEvent $event )
    {
    }
}

?>

Registering the Subscriber

Once a subscriber object is instantiated, it needs to be registered with the driver's monitoring system. This is done by calling MongoDB\Driver\Monitoring\addSubscriber().

<?php

\MongoDB\Driver\Monitoring\addSubscriber( new QueryTimeCollector() );

?>

Implementing the Logic

With the object registered, the only thing left is to implement the logic in the subscriber class. To correlate the two events that make up a successfully executed command (commandStarted and commandSucceeded), each event object exposes a requestId field.

To record the average time per query shape, we will start by checking for a find command in the commandStarted event. We will then add an item to the pendingCommands property indexed by its requestId and with its value representing the query shape.

If we receive a corresponding commandSucceeded event with the same requestId, we add the duration of the event (from durationMicros) to the total time and increment the operation count.

If a corresponding commandFailed event is encountered, we just remove the entry from the pendingCommands property.

<?php

class QueryTimeCollector implements \MongoDB\Driver\Monitoring\CommandSubscriber
{
    private $pendingCommands = [];
    private $queryShapeStats = [];

    /* Creates a query shape out of the filter argument. Right now it only
     * takes the top level fields into account */
    private function createQueryShape( array $filter )
    {
        return json_encode( array_keys( $filter ) );
    }

    public function commandStarted( \MongoDB\Driver\Monitoring\CommandStartedEvent $event )
    {
        if ( array_key_exists( 'find', (array) $event->getCommand() ) )
        {
            $queryShape = $this->createQueryShape( (array) $event->getCommand()->filter );
            $this->pendingCommands[$event->getRequestId()] = $queryShape;
        }
    }

    public function commandSucceeded( \MongoDB\Driver\Monitoring\CommandSucceededEvent $event )
    {
        $requestId = $event->getRequestId();
        if ( array_key_exists( $requestId, $this->pendingCommands ) )
        {
            $this->queryShapeStats[$this->pendingCommands[$requestId]]['count']++;
            $this->queryShapeStats[$this->pendingCommands[$requestId]]['duration'] += $event->getDurationMicros();
            unset( $this->pendingCommands[$requestId] );
        }
    }

    public function commandFailed( \MongoDB\Driver\Monitoring\CommandFailedEvent $event )
    {
        if ( array_key_exists( $event->getRequestId(), $this->pendingCommands ) )
        {
            unset( $this->pendingCommands[$event->getRequestId()] );
        }
    }

    public function __destruct()
    {
        foreach( $this->queryShapeStats as $shape => $stats )
        {
            echo "Shape: ", $shape, " (", $stats['count'], ")\n  ",
                $stats['duration'] / $stats['count'], "µs\n\n";
        }
    }
}

$m = new \MongoDB\Driver\Manager( 'mongodb://localhost:27016' );

/* Add the subscriber */
\MongoDB\Driver\Monitoring\addSubscriber( new QueryTimeCollector() );

/* Do a bunch of queries */
$query = new \MongoDB\Driver\Query( [
    'region_slug' => 'scotland-highlands', 'age' => [ '$gte' => 20 ]
] );
$cursor = $m->executeQuery( 'dramio.whisky', $query );

$query = new \MongoDB\Driver\Query( [
    'region_slug' => 'scotland-lowlands', 'age' => [ '$gte' => 15 ]
] );
$cursor = $m->executeQuery( 'dramio.whisky', $query );

$query = new \MongoDB\Driver\Query( [ 'region_slug' => 'scotland-lowlands' ] );
$cursor = $m->executeQuery( 'dramio.whisky', $query );

?>


Explains the driver architecture, and special features

  • Architecture — Architecture Overview
  • Connections — Connection handling and persistence
  • Persisting Data — Serialization and deserialization of PHP variables into MongoDB
    • Serialization to BSON
    • Deserialization from BSON


Architecture Overview

This section explains how all the different parts of the driver fit together. From the different language runtimes, through the extension and to the PHP libraries on top. This new architecture has replaced the old mongo extension. We refer to the new one as the mongodb extension.

At the top of this stack sits a pure » PHP library, which we will distribute as a Composer package. This library will provide an API similar to what users have come to expect from the old mongo driver (e.g. CRUD methods, database and collection objects, command helpers) and we expect it to be a common dependency for most applications built with MongoDB. This library will also implement common » specifications, in the interest of improving API consistency across all of the » drivers maintained by MongoDB (and hopefully some community drivers, too).

Sitting below that library we have the lower level driver. This extension will effectively form the glue between PHP and our system libraries (» libmongoc and » libbson). This extension will expose an identical public API for the most essential and performance-sensitive functionality:

  • Connection management
  • BSON encoding and decoding
  • Object document serialization (to support ODM libraries)
  • Executing commands and write operations
  • Handling queries and cursors

By decoupling the driver internals and a high-level API into an extension and PHP libraries, respectively, we hope to reduce our maintainence burden and allow for faster iteration on new features. As a welcome side effect, this also makes it easier for anyone to contribute to the driver. Additionally, an identical public API will make it that much easier to port an application across PHP runtimes, whether the application uses the low-level driver directly or a higher-level PHP library.

» GridFS is a great example of why we chose this direction. Although we implemented GridFS in C for our old mongo driver, it is actually quite a high-level specification. Its API is just an abstraction for accessing two collections: files (i.e. metadata) and chunks (i.e. blocks of data). Likewise, all of the syntactic sugar found in the old mongo driver, such as processing uploaded files or exposing GridFS files as PHP streams, can be implemented in pure PHP. Provided we have performant methods for reading from and writing to GridFS' collections – and thanks to our low level extensions, we will – shifting this API to PHP is win-win.

Earlier I mentioned that we expect the PHP library to be a common dependency for most applications, but not all. Some users may prefer to stick to the no-frills API offered by the extensions, or create their own high-level abstraction (akin to » Doctrine MongoDB for the old mongo driver). Future libraries could include a PHP library geared for MongoDB administration, which provides an API for various user management and ops commands. The next major version of » Doctrine MongoDB ODM will likely also sit directly atop the extensions.

While we will continue to maintain and support the old mongo driver and its users for the foreseeable future, we invite everyone to use the next-generation driver and consider it for any new projects going forward. You can find all of the essential components across GitHub and JIRA:

Driver Source Code and JIRA Locations
Project | GitHub | JIRA
PHP Library | » mongodb/mongo-php-library | » PHPLIB
PHP 5 and PHP 7 Driver (phongo) | » mongodb/mongo-php-driver | » PHPC

The existing » PHP project in JIRA will remain open for reporting bugs against the old mongo driver, but we would ask that you use the new projects above for anything pertaining to our next-generation drivers.


Connection handling and persistence

Nota: On Unix platforms, the MongoDB driver is sensitive to scripts that use the fork() system call without also calling exec(). Users are advised not to re-use MongoDB\Driver\Manager instances in a forked child process.

Connection and topology persistence (PHP version since 1.2.0)

All versions of the driver since 1.2.0 persist the » libmongoc client object in the PHP worker process, which allows it to re-use database connections, authentication states, and topology information across multiple requests.

When MongoDB\Driver\Manager::__construct() is invoked, a hash is created from its arguments (i.e. URI string and array options). The driver will attempt to find a previously persisted » libmongoc client object for that hash. If an existing client cannot be found for the hash, a new client will be created (and persisted for future use).

Each client contains its own database connections and a view of the server topology (e.g. standalone, replica set, shard cluster). By persisting the client between PHP requests, the driver is able to re-use established database connections and remove the need for » discovering the server topology on each request.

Consider the following example:

<?php

$managers = [
    new MongoDB\Driver\Manager('mongodb://127.0.0.1'),
    new MongoDB\Driver\Manager('mongodb://127.0.0.1'),
    new MongoDB\Driver\Manager('mongodb://127.0.0.1:27017'),
    new MongoDB\Driver\Manager('mongodb://rs1.example.com,rs2.example.com/', ['replicaSet' => 'myReplicaSet']),
];

foreach ($managers as $manager) {
    $manager->executeCommand('test', new MongoDB\Driver\Command(['ping' => 1]));
}

?>

The first two Manager objects will share the same » libmongoc client since their constructor arguments are identical. The third and fourth objects will each use their own client. In total, three clients will be created and the PHP worker executing this script will open two connections to 127.0.0.1 and one connection to each of rs1.example.com and rs2.example.com. If the driver discovers additional members of the replica set after issuing isMaster commands, it will open additional connections to those servers as well.

If the same worker executes the script again in a second request, the three clients will be re-used and no new connections should be made. Depending on how long ago the previous request was served, the driver may need to issue additional isMaster commands to update its view of the topologies.

Socket persistence (PHP versions before 1.2.0)

Versions of the PHP driver before 1.2.0 utilize PHP's Streams API for database connections, using an API within » libmongoc to designate custom handlers for socket communication; however, a new libmongoc client is created for each MongoDB\Driver\Manager. As a result, the driver persists individual database connections but not authentication state or topology information. This means that the driver needs to issue commands at the start of each request to authenticate and » discover the server topology.

Database connections are persisted by a hash derived from the server's host, port, and the URI string used to construct the MongoDB\Driver\Manager. The constructor's array options are not included in this hash.

Nota: Versions of the driver >= 1.1.8 and < 1.2.0 do not persist sockets for SSL connections. See » PHPC-720 for additional information.

Despite its shortcomings with persisting SSL connections when and topology information, this version of the driver supports all SSL context options since it uses PHP's Streams API.


Serialization and deserialization of PHP variables into MongoDB

Índice

  • Serialization to BSON
  • Deserialization from BSON

This document discusses the methods how compound structures (documents, arrays, objects) are persisted through the drivers. And how they are brought back into PHP land.


Serialization to BSON

Arrays

If an array is a packed array — i.e. the keys start at 0 and are sequential without gaps: BSON array.

If the array is not packed — i.e. having associative (string) keys, the keys don't start at 0, or when there are gaps:: BSON object

A top-level (root) document, always serializes as a BSON document.

Examples

These serialize as a BSON array:

[ 8, 5, 2, 3 ] => [ 8, 5, 2, 3 ]
[ 0 => 4, 1 => 9 ] => [ 4, 9 ]

These serialize as a BSON document:

[ 0 => 1, 2 => 8, 3 => 12 ] => { "0" : 1, "2" : 8, "3" : 12 }
[ "foo" => 42 ] => { "foo" : 42 }
[ 1 => 9, 0 => 10 ] => { "1" : 9, "0" : 10 }

Note that the five examples are extracts of a full document, and represent only one value inside a document.

Objects

If an object is of the stdClass class, serialize as a BSON document.

If an object is a supported class that implements MongoDB\BSON\Type, then use the BSON serialization logic for that specific type. MongoDB\BSON\Type instances (excluding MongoDB\BSON\Serializable may only be serialized as a document field value. Attempting to serialize such an object as a root document will throw a MongoDB\Driver\Exception\UnexpectedValueException

If an object is of an unknown class implementing the MongoDB\BSON\Type interface, then throw a MongoDB\Driver\Exception\UnexpectedValueException

If an object is of any other class, without implementing any special interface, serialize as a BSON document. Keep only public properties, and ignore protected and private properties.

If an object is of a class that implements the MongoDB\BSON\Serializable interface, call MongoDB\BSON\Serializable::bsonSerialize() and use the returned array or stdClass to serialize as a BSON document or array. The BSON type will be determined by the following:

  1. Root documents must be serialized as a BSON document.

  2. MongoDB\BSON\Persistable objects must be serialized as a BSON document.

  3. If MongoDB\BSON\Serializable::bsonSerialize() returns a packed array, serialize as a BSON array.

  4. If MongoDB\BSON\Serializable::bsonSerialize() returns a non-packed array or stdClass, serialize as a BSON document.

  5. If MongoDB\BSON\Serializable::bsonSerialize() did not return an array or stdClass, throw an MongoDB\Driver\Exception\UnexpectedValueException exception.

If an object is of a class that implements the MongoDB\BSON\Persistable interface (which implies MongoDB\BSON\Serializable), obtain the properties in a similar way as in the previous paragraphs, but also add an additional property __pclass as a Binary value, with subtype 0x80 and data bearing the fully qualified class name of the object that is being serialized.

The __pclass property is added to the array or object returned by MongoDB\BSON\Serializable::bsonSerialize(), which means it will overwrite any __pclass key/property in the MongoDB\BSON\Serializable::bsonSerialize() return value. If you want to avoid this behaviour and set your own __pclass value, you must not implement MongoDB\BSON\Persistable and should instead implement MongoDB\BSON\Serializable directly.

Examples

<?php

class stdClass {
  public $foo = 42;
} // => { "foo" : 42 }

class MyClass {
  public $foo = 42;
  protected $prot = "wine";
  private $fpr = "cheese";
} // => { "foo" : 42 }

class AnotherClass1 implements MongoDB\BSON\Serializable {
  public $foo = 42;
  protected $prot = "wine";
  private $fpr = "cheese";
  function bsonSerialize() {
      return [ 'foo' => $this->foo, 'prot' => $this->prot ];
  }
} // => { "foo" : 42, "prot" : "wine" }

class AnotherClass2 implements MongoDB\BSON\Serializable {
  public $foo = 42;
  function bsonSerialize() {
      return $this;
  }
} // => MongoDB\Driver\Exception\UnexpectedValueException("bsonSerialize() did not return an array or stdClass")

class AnotherClass3 implements MongoDB\BSON\Serializable {
  private $elements = [ 'foo', 'bar' ];
  function bsonSerialize() {
      return $this->elements;
  }
} // => { "0" : "foo", "1" : "bar" }

class ContainerClass implements MongoDB\BSON\Serializable {
  public $things = AnotherClass4 implements MongoDB\BSON\Serializable {
    private $elements = [ 0 => 'foo', 2 => 'bar' ];
    function bsonSerialize() {
      return $this->elements;
    }
  }
  function bsonSerialize() {
      return [ 'things' => $this->things ];
  }
} // => { "things" : { "0" : "foo", "2" : "bar" } }

class ContainerClass implements MongoDB\BSON\Serializable {
  public $things = AnotherClass5 implements MongoDB\BSON\Serializable {
    private $elements = [ 0 => 'foo', 2 => 'bar' ];
    function bsonSerialize() {
      return array_values($this->elements);
    }
  }
  function bsonSerialize() {
      return [ 'things' => $this->things ];
  }
} // => { "things" : [ "foo", "bar" ] }

class ContainerClass implements MongoDB\BSON\Serializable {
  public $things = AnotherClass6 implements MongoDB\BSON\Serializable {
    private $elements = [ 'foo', 'bar' ];
    function bsonSerialize() {
      return (object) $this->elements;
    }
  }
  function bsonSerialize() {
      return [ 'things' => $this->things ];
  }
} // => { "things" : { "0" : "foo", "1" : "bar" } }

class UpperClass implements MongoDB\BSON\Persistable {
  public $foo = 42;
  protected $prot = "wine";
  private $fpr = "cheese";
  function bsonSerialize() {
      return [ 'foo' => $this->foo, 'prot' => $this->prot ];
  }
} // => { "foo" : 42, "prot" : "wine", "__pclass" : { "$type" : "80", "$binary" : "VXBwZXJDbGFzcw==" } }


Deserialization from BSON

The legacy mongo extension deserialized both BSON documents and arrays as PHP arrays. While PHP arrays are convenient to work with, this behavior was problematic because different BSON types could deserialize to the same PHP value (e.g. {"0": "foo"} and ["foo"]) and make it impossible to infer the original BSON type. By default, the current driver addresses this concern by ensuring that BSON arrays and documents are converted to PHP arrays and objects, respectively.

For compound types, there are three data types:

root

refers to the top-level BSON document only

document

refers to embedded BSON documents only

array

refers to a BSON array

Besides the three collective types, it is also possible to configure specific fields in your document to map to the data types mentioned below. As an example, the following type map allows you to map each embedded document within an "addresses" array to an Address class and each "city" field within those embedded address documents to a City class:

[
    'fieldPaths' => [
        'addresses.$' => 'MyProject\Address',
        'addresses.$.city' => 'MyProject\City',
    ],
]

Each of those three data types, as well as the field specific mappings, can be mapped against different PHP types. The possible mapping values are:

not set or NULL (default)

  • A BSON array will be deserialized as a PHP array.

  • A BSON document (root or embedded) without a __pclass property [1] becomes a PHP stdClass object, with each BSON document key set as a public stdClass property.

  • A BSON document (root or embedded) with a __pclass property [1] becomes a PHP object of the class name as defined by the __pclass property.

    If the named class implements the MongoDB\BSON\Persistable interface, then the properties of the BSON document, including the __pclass property, are sent as an associative array to the MongoDB\BSON\Unserializable::bsonUnserialize() function to initialise the object's properties.

    If the named class does not exist or does not implement the MongoDB\BSON\Persistable interface, stdClass will be used and each BSON document key (including __pclass) will be set as a public stdClass property.

    The __pclass functionality relies on the property being part of a retrieved MongoDB document. If you use a projection when querying for documents, you need to include the __pclass field in the projection for this functionality to work.

"array"

Turns a BSON array or BSON document into a PHP array. There will be no special treatment of a __pclass property [1], but it may be set as an element in the returned array if it was present in the BSON document.

"object" or "stdClass"

Turns a BSON array or BSON document into a stdClass object. There will be no special treatment of a __pclass property [1], but it may be set as a public property in the returned object if it was present in the BSON document.

any other string

Defines the class name that the BSON array or BSON object should be deserialized as. For BSON objects that include __pclass properties, that class will take priority.

If the named class does not exist, is not concrete (i.e. it is abstract or an interface), or does not implement MongoDB\BSON\Unserializable then an MongoDB\Driver\Exception\InvalidArgumentException exception is thrown.

If the BSON object has a __pclass property and that class exists and implements MongoDB\BSON\Persistable it will supersede the class provided in the type map.

The properties of the BSON document, including the __pclass property if it exists, will be sent as an associative array to the MongoDB\BSON\Unserializable::bsonUnserialize() function to initialise the object's properties.

TypeMaps

TypeMaps can be set through the MongoDB\Driver\Cursor::setTypeMap() method on a MongoDB\Driver\Cursor object, or the $typeMap argument of MongoDB\BSON\toPHP(). Each of the three classes (root, document, and array) can be individually set, in addition to the field specific types.

If the value in the map is NULL, it means the same as the default value for that item.

Examples

These examples use the following classes:

MyClass

which does not implement any interface

YourClass

which implements MongoDB\BSON\Unserializable

OurClass

which implements MongoDB\BSON\Persistable

TheirClass

which extends OurClass

The MongoDB\BSON\Unserializable::bsonUnserialize() method of YourClass, OurClass, TheirClass iterate over the array and set the properties without modifications. It also sets the $unserialized property to true:

<?php

function bsonUnserialize( array $map )
{
    foreach ( $map as $k => $value )
    {
        $this->$k = $value;
    }
    $this->unserialized = true;
}

/* typemap: [] (all defaults) */
{ "foo": "yes", "bar" : false }
  -> stdClass { $foo => 'yes', $bar => false }

{ "foo": "no", "array" : [ 5, 6 ] }
  -> stdClass { $foo => 'no', $array => [ 5, 6 ] }

{ "foo": "no", "obj" : { "embedded" : 3.14 } }
  -> stdClass { $foo => 'no', $obj => stdClass { $embedded => 3.14 } }

{ "foo": "yes", "__pclass": "MyClass" }
  -> stdClass { $foo => 'yes', $__pclass => 'MyClass' }

{ "foo": "yes", "__pclass": { "$type" : "80", "$binary" : "MyClass" } }
  -> stdClass { $foo => 'yes', $__pclass => Binary(0x80, 'MyClass') }

{ "foo": "yes", "__pclass": { "$type" : "80", "$binary" : "YourClass") }
  -> stdClass { $foo => 'yes', $__pclass => Binary(0x80, 'YourClass') }

{ "foo": "yes", "__pclass": { "$type" : "80", "$binary" : "OurClass") }
  -> OurClass { $foo => 'yes', $__pclass => Binary(0x80, 'OurClass'), $unserialized => true }

{ "foo": "yes", "__pclass": { "$type" : "44", "$binary" : "YourClass") }
  -> stdClass { $foo => 'yes', $__pclass => Binary(0x44, 'YourClass') }

/* typemap: [ "root" => "MissingClass" ] */
{ "foo": "yes" }
  -> MongoDB\Driver\Exception\InvalidArgumentException("MissingClass does not exist")

/* typemap: [ "root" => "MyClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "MyClass" } }
  -> MongoDB\Driver\Exception\InvalidArgumentException("MyClass does not implement Unserializable interface")

/* typemap: [ "root" => "MongoDB\BSON\Unserializable" ] */
{ "foo": "yes" }
  -> MongoDB\Driver\Exception\InvalidArgumentException("Unserializable is not a concrete class")

/* typemap: [ "root" => "YourClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "MongoDB\BSON\Unserializable" } }
  -> YourClass { $foo => "yes", $__pclass => Binary(0x80, "MongoDB\BSON\Unserializable"), $unserialized => true }

/* typemap: [ "root" => "YourClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "MyClass" } }
  -> YourClass { $foo => "yes", $__pclass => Binary(0x80, "MyClass"), $unserialized => true }

/* typemap: [ "root" => "YourClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "OurClass" } }
  -> OurClass { $foo => "yes", $__pclass => Binary(0x80, "OurClass"), $unserialized => true }

/* typemap: [ "root" => "YourClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "TheirClass" } }
  -> TheirClass { $foo => "yes", $__pclass => Binary(0x80, "TheirClass"), $unserialized => true }

/* typemap: [ "root" => "OurClass" ] */
{ foo: "yes", "__pclass" : { "$type": "80", "$binary": "TheirClass" } }
  -> TheirClass { $foo => "yes", $__pclass => Binary(0x80, "TheirClass"), $unserialized => true }

/* typemap: [ 'root' => 'YourClass' ] */
{ foo: "yes", "__pclass" : { "$type": "80", "$binary": "YourClass" } }
  -> YourClass { $foo => 'yes', $__pclass => Binary(0x80, 'YourClass'), $unserialized => true }

/* typemap: [ 'root' => 'array', 'document' => 'array' ] */
{ "foo": "yes", "bar" : false }
  -> [ "foo" => "yes", "bar" => false ]

{ "foo": "no", "array" : [ 5, 6 ] }
  -> [ "foo" => "no", "array" => [ 5, 6 ] ]

{ "foo": "no", "obj" : { "embedded" : 3.14 } }
  -> [ "foo" => "no", "obj" => [ "embedded => 3.14 ] ]

{ "foo": "yes", "__pclass": "MyClass" }
  -> [ "foo" => "yes", "__pclass" => "MyClass" ]

{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "MyClass" } }
  -> [ "foo" => "yes", "__pclass" => Binary(0x80, "MyClass") ]

{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "OurClass" } }
  -> [ "foo" => "yes", "__pclass" => Binary(0x80, "OurClass") ]

/* typemap: [ 'root' => 'object', 'document' => 'object' ] */
{ "foo": "yes", "__pclass": { "$type": "80", "$binary": "MyClass" } }
  -> stdClass { $foo => "yes", "__pclass" => Binary(0x80, "MyClass") }


  • « Deserialization from BSON
  • Request Injection Attacks »
  • PHP Manual
  • MongoDB
  • Security

Security

  • Request Injection Attacks
  • Script Injection Attacks


Request Injection Attacks

If you are passing $_GET (or $_POST) parameters to your queries, make sure that they are cast to strings first. Users can insert associative arrays in GET and POST requests, which could then become unwanted $-queries.

A fairly innocuous example: suppose you are looking up a user's information with the request http://www.example.com?username=bob. Your application creates the query $q = new \MongoDB\Driver\Query( [ 'username' => $_GET['username'] ]).

Someone could subvert this by getting http://www.example.com?username[$ne]=foo, which PHP will magically turn into an associative array, turning your query into $q = new \MongoDB\Driver\Query( [ 'username' => [ '$ne' => 'foo' ] ] ), which will return all users not named "foo" (all of your users, probably).

This is a fairly easy attack to defend against: make sure $_GET and $_POST parameters are the type you expect before you send them to the database. PHP has the filter_var() function to assist with this.

Note that this type of attack can be used with any database interaction that locates a document, including updates, upserts, deletes, and findAndModify commands.

See » the main documentation for more information about SQL-injection-like issues with MongoDB.


Script Injection Attacks

If you are using JavaScript, make sure that any variables that cross the PHP- to-JavaScript boundry are passed in the scope field of MongoDB\BSON\Javascript, not interpolated into the JavaScript string. This can come up when using $where clauses in queries, mapReduce and group commands, and any other time you may pass JavaScript into the database.

For example, suppose we have some JavaScript to greet a user in the database logs. We could do:

<?php
$m = new MongoDB\Driver\Manager;

// Don't do this!!!
$username = $_GET['field'];

$cmd = new \MongoDB\Driver\Command( [
    'eval' => "print('Hello, $username!');"
] );

$r = $m->executeCommand( 'dramio', $cmd );
?>

However, what if a malicious user passes in some JavaScript?

<?php
$m = new MongoDB\Driver\Manager;

// Don't do this!!!
$username = $_GET['field'];
// $username is set to "'); db.users.drop(); print('"

$cmd = new \MongoDB\Driver\Command( [
    'eval' => "print('Hello, $username!');"
] );

$r = $m->executeCommand( 'dramio', $cmd );
?>

Now MongoDB executes the JavaScript string "print('Hello, '); db.users.drop(); print('!');". This attack is easy to avoid: use args to pass variables from PHP to JavaScript:

<?php
$m = new MongoDB\Driver\Manager;

$_GET['field'] = 'derick';
$args = [ $_GET['field'] ];

$cmd = new \MongoDB\Driver\Command( [
    'eval' => "function greet(username) { print('Hello, ' + username + '!'); }",
    'args' => $args,
] );

$r = $m->executeCommand( 'dramio', $cmd );
?>

This adds an argument to the JavaScript scope, which gets used as argument for the greet function. Now if someone tries to send malicious code, MongoDB will harmlessly print Hello, '); db.dropDatabase(); print('!.

Using arguments helps to prevent malicious input from being executed by the database. However, you must make sure that your code does not turn around and execute the input anyway! It is best to avoid executing any JavaScript on the server in the first place.

You are strongly recommended to stay clear of the » $where clause with queries, as it impacts performance significantly. Where possible, use either normal query operators, or the » Aggregation Framework.

As alternative to » MapReduce, which uses JavaScript, consider using the » Aggregation Framework. Unlike Map/Reduce, it uses an idiomatic language to construct queries, without having to write, and use, the slower JavaScript approach that Map/Reduce requires.

The » eval command has been deprecated since MongoDB 3.0, and should also be avoided.


MongoDB driver classes

  • MongoDB\Driver\Manager — The MongoDB\Driver\Manager class
    • MongoDB\Driver\Manager::__construct — Create new MongoDB Manager
    • MongoDB\Driver\Manager::createClientEncryption — Create a new ClientEncryption object
    • MongoDB\Driver\Manager::executeBulkWrite — Execute one or more write operations
    • MongoDB\Driver\Manager::executeCommand — Execute a database command
    • MongoDB\Driver\Manager::executeQuery — Execute a database query
    • MongoDB\Driver\Manager::executeReadCommand — Execute a database command that reads
    • MongoDB\Driver\Manager::executeReadWriteCommand — Execute a database command that reads and writes
    • MongoDB\Driver\Manager::executeWriteCommand — Execute a database command that writes
    • MongoDB\Driver\Manager::getReadConcern — Return the ReadConcern for the Manager
    • MongoDB\Driver\Manager::getReadPreference — Return the ReadPreference for the Manager
    • MongoDB\Driver\Manager::getServers — Return the servers to which this manager is connected
    • MongoDB\Driver\Manager::getWriteConcern — Return the WriteConcern for the Manager
    • MongoDB\Driver\Manager::selectServer — Select a server matching a read preference
    • MongoDB\Driver\Manager::startSession — Start a new client session for use with this client
  • MongoDB\Driver\Command — The MongoDB\Driver\Command class
    • MongoDB\Driver\Command::__construct — Create a new Command
  • MongoDB\Driver\Query — The MongoDB\Driver\Query class
    • MongoDB\Driver\Query::__construct — Create a new Query
  • MongoDB\Driver\BulkWrite — The MongoDB\Driver\BulkWrite class
    • MongoDB\Driver\BulkWrite::__construct — Create a new BulkWrite
    • MongoDB\Driver\BulkWrite::count — Count number of write operations in the bulk
    • MongoDB\Driver\BulkWrite::delete — Add a delete operation to the bulk
    • MongoDB\Driver\BulkWrite::insert — Add an insert operation to the bulk
    • MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk
  • MongoDB\Driver\Session — The MongoDB\Driver\Session class
    • MongoDB\Driver\Session::abortTransaction — Aborts a transaction
    • MongoDB\Driver\Session::advanceClusterTime — Advances the cluster time for this session
    • MongoDB\Driver\Session::advanceOperationTime — Advances the operation time for this session
    • MongoDB\Driver\Session::commitTransaction — Commits a transaction
    • MongoDB\Driver\Session::__construct — Create a new Session (not used)
    • MongoDB\Driver\Session::endSession — Terminates a session
    • MongoDB\Driver\Session::getClusterTime — Returns the cluster time for this session
    • MongoDB\Driver\Session::getLogicalSessionId — Returns the logical session ID for this session
    • MongoDB\Driver\Session::getOperationTime — Returns the operation time for this session
    • MongoDB\Driver\Session::getServer — Returns the server to which this session is pinned
    • MongoDB\Driver\Session::getTransactionOptions — Returns options for the currently running transaction
    • MongoDB\Driver\Session::getTransactionState — Returns the current transaction state for this session
    • MongoDB\Driver\Session::isInTransaction — Returns whether a multi-document transaction is in progress
    • MongoDB\Driver\Session::startTransaction — Starts a transaction
  • MongoDB\Driver\ClientEncryption — The MongoDB\Driver\ClientEncryption class
    • MongoDB\Driver\ClientEncryption::createDataKey — Create a new encryption data key
    • MongoDB\Driver\ClientEncryption::decrypt — Decrypt a value
    • MongoDB\Driver\ClientEncryption::encrypt — Encrypt a value
  • MongoDB\Driver\WriteConcern — The MongoDB\Driver\WriteConcern class
    • MongoDB\Driver\WriteConcern::bsonSerialize — Returns an object for BSON serialization
    • MongoDB\Driver\WriteConcern::__construct — Create a new WriteConcern
    • MongoDB\Driver\WriteConcern::getJournal — Returns the WriteConcern's "journal" option
    • MongoDB\Driver\WriteConcern::getW — Returns the WriteConcern's "w" option
    • MongoDB\Driver\WriteConcern::getWtimeout — Returns the WriteConcern's "wtimeout" option
    • MongoDB\Driver\WriteConcern::isDefault — Checks if this is the default write concern
    • MongoDB\Driver\WriteConcern::serialize — Serialize a WriteConcern
    • MongoDB\Driver\WriteConcern::unserialize — Unserialize a WriteConcern
  • MongoDB\Driver\ReadPreference — The MongoDB\Driver\ReadPreference class
    • MongoDB\Driver\ReadPreference::bsonSerialize — Returns an object for BSON serialization
    • MongoDB\Driver\ReadPreference::__construct — Create a new ReadPreference
    • MongoDB\Driver\ReadPreference::getHedge — Returns the ReadPreference's "hedge" option
    • MongoDB\Driver\ReadPreference::getMaxStalenessSeconds — Returns the ReadPreference's "maxStalenessSeconds" option
    • MongoDB\Driver\ReadPreference::getMode — Returns the ReadPreference's "mode" option
    • MongoDB\Driver\ReadPreference::getModeString — Returns the ReadPreference's "mode" option as a string
    • MongoDB\Driver\ReadPreference::getTagSets — Returns the ReadPreference's "tagSets" option
    • MongoDB\Driver\ReadPreference::serialize — Serialize a ReadPreference
    • MongoDB\Driver\ReadPreference::unserialize — Unserialize a ReadPreference
  • MongoDB\Driver\ReadConcern — The MongoDB\Driver\ReadConcern class
    • MongoDB\Driver\ReadConcern::bsonSerialize — Returns an object for BSON serialization
    • MongoDB\Driver\ReadConcern::__construct — Create a new ReadConcern
    • MongoDB\Driver\ReadConcern::getLevel — Returns the ReadConcern's "level" option
    • MongoDB\Driver\ReadConcern::isDefault — Checks if this is the default read concern
    • MongoDB\Driver\ReadConcern::serialize — Serialize a ReadConcern
    • MongoDB\Driver\ReadConcern::unserialize — Unserialize a ReadConcern
  • MongoDB\Driver\Cursor — The MongoDB\Driver\Cursor class
    • MongoDB\Driver\Cursor::__construct — Create a new Cursor (not used)
    • MongoDB\Driver\Cursor::current — Returns the current element
    • MongoDB\Driver\Cursor::getId — Returns the ID for this cursor
    • MongoDB\Driver\Cursor::getServer — Returns the server associated with this cursor
    • MongoDB\Driver\Cursor::isDead — Checks if the cursor is exhausted or may have additional results
    • MongoDB\Driver\Cursor::key — Returns the current result's index within the cursor
    • MongoDB\Driver\Cursor::next — Advances the cursor to the next result
    • MongoDB\Driver\Cursor::rewind — Rewind the cursor to the first result
    • MongoDB\Driver\Cursor::setTypeMap — Sets a type map to use for BSON unserialization
    • MongoDB\Driver\Cursor::toArray — Returns an array containing all results for this cursor
    • MongoDB\Driver\Cursor::valid — Checks if the current position in the cursor is valid
  • MongoDB\Driver\CursorId — The MongoDB\Driver\CursorId class
    • MongoDB\Driver\CursorId::__construct — Create a new CursorId (not used)
    • MongoDB\Driver\CursorId::serialize — Serialize a CursorId
    • MongoDB\Driver\CursorId::__toString — String representation of the cursor ID
    • MongoDB\Driver\CursorId::unserialize — Unserialize a CursorId
  • MongoDB\Driver\CursorInterface — The MongoDB\Driver\CursorInterface interface
    • MongoDB\Driver\CursorInterface::getId — Returns the ID for this cursor
    • MongoDB\Driver\CursorInterface::getServer — Returns the server associated with this cursor
    • MongoDB\Driver\CursorInterface::isDead — Checks if the cursor may have additional results
    • MongoDB\Driver\CursorInterface::setTypeMap — Sets a type map to use for BSON unserialization
    • MongoDB\Driver\CursorInterface::toArray — Returns an array containing all results for this cursor
  • MongoDB\Driver\Server — The MongoDB\Driver\Server class
    • MongoDB\Driver\Server::__construct — Create a new Server (not used)
    • MongoDB\Driver\Server::executeBulkWrite — Execute one or more write operations on this server
    • MongoDB\Driver\Server::executeCommand — Execute a database command on this server
    • MongoDB\Driver\Server::executeQuery — Execute a database query on this server
    • MongoDB\Driver\Server::executeReadCommand — Execute a database command that reads on this server
    • MongoDB\Driver\Server::executeReadWriteCommand — Execute a database command that reads and writes on this server
    • MongoDB\Driver\Server::executeWriteCommand — Execute a database command that writes on this server
    • MongoDB\Driver\Server::getHost — Returns the hostname of this server
    • MongoDB\Driver\Server::getInfo — Returns an array of information about this server
    • MongoDB\Driver\Server::getLatency — Returns the latency of this server
    • MongoDB\Driver\Server::getPort — Returns the port on which this server is listening
    • MongoDB\Driver\Server::getTags — Returns an array of tags describing this server in a replica set
    • MongoDB\Driver\Server::getType — Returns an integer denoting the type of this server
    • MongoDB\Driver\Server::isArbiter — Checks if this server is an arbiter member of a replica set
    • MongoDB\Driver\Server::isHidden — Checks if this server is a hidden member of a replica set
    • MongoDB\Driver\Server::isPassive — Checks if this server is a passive member of a replica set
    • MongoDB\Driver\Server::isPrimary — Checks if this server is a primary member of a replica set
    • MongoDB\Driver\Server::isSecondary — Checks if this server is a secondary member of a replica set
  • MongoDB\Driver\WriteConcernError — The MongoDB\Driver\WriteConcernError class
    • MongoDB\Driver\WriteConcernError::getCode — Returns the WriteConcernError's error code
    • MongoDB\Driver\WriteConcernError::getInfo — Returns metadata document for the WriteConcernError
    • MongoDB\Driver\WriteConcernError::getMessage — Returns the WriteConcernError's error message
  • MongoDB\Driver\WriteError — The MongoDB\Driver\WriteError class
    • MongoDB\Driver\WriteError::getCode — Returns the WriteError's error code
    • MongoDB\Driver\WriteError::getIndex — Returns the index of the write operation corresponding to this WriteError
    • MongoDB\Driver\WriteError::getInfo — Returns metadata document for the WriteError
    • MongoDB\Driver\WriteError::getMessage — Returns the WriteError's error message
  • MongoDB\Driver\WriteResult — The MongoDB\Driver\WriteResult class
    • MongoDB\Driver\WriteResult::getDeletedCount — Returns the number of documents deleted
    • MongoDB\Driver\WriteResult::getInsertedCount — Returns the number of documents inserted (excluding upserts)
    • MongoDB\Driver\WriteResult::getMatchedCount — Returns the number of documents selected for update
    • MongoDB\Driver\WriteResult::getModifiedCount — Returns the number of existing documents updated
    • MongoDB\Driver\WriteResult::getServer — Returns the server associated with this write result
    • MongoDB\Driver\WriteResult::getUpsertedCount — Returns the number of documents inserted by an upsert
    • MongoDB\Driver\WriteResult::getUpsertedIds — Returns an array of identifiers for upserted documents
    • MongoDB\Driver\WriteResult::getWriteConcernError — Returns any write concern error that occurred
    • MongoDB\Driver\WriteResult::getWriteErrors — Returns any write errors that occurred
    • MongoDB\Driver\WriteResult::isAcknowledged — Returns whether the write was acknowledged


The MongoDB\Driver\Manager class

(mongodb >=1.0.0)

Introdução

The MongoDB\Driver\Manager is the main entry point to the extension. It is responsible for maintaining connections to MongoDB (be it standalone server, replica set, or sharded cluster).

No connection to MongoDB is made upon instantiating the Manager. This means the MongoDB\Driver\Manager can always be constructed, even though one or more MongoDB servers are down.

Any write or query can throw connection exceptions as connections are created lazily. A MongoDB server may also become unavailable during the life time of the script. It is therefore important that all actions on the Manager to be wrapped in try/catch statements.

Sinopse da classe

final MongoDB\Driver\Manager {
/* Métodos */
final public __construct
 ( string $uri = "mongodb://127.0.0.1/"
, array $uriOptions = array()
, array $driverOptions = array()
)
final public createClientEncryption ( array $options ) : MongoDB\Driver\ClientEncryption
final public executeBulkWrite ( string $namespace , MongoDB\Driver\BulkWrite $bulk , array $options = array() ) : MongoDB\Driver\WriteResult
final public executeCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor
final public executeQuery ( string $namespace , MongoDB\Driver\Query $query , array $options = array() ) : MongoDB\Driver\Cursor
final public executeReadCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor
final public executeReadWriteCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor
final public executeWriteCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor
final public getReadConcern ( ) : MongoDB\Driver\ReadConcern
final public getReadPreference ( ) : MongoDB\Driver\ReadPreference
final public getServers ( ) : array
final public getWriteConcern ( ) : MongoDB\Driver\WriteConcern
final public selectServer ( MongoDB\Driver\ReadPreference $readPreference ) : MongoDB\Driver\Server
final public startSession ( array $options = ? ) : MongoDB\Driver\Session
}

Exemplos

Exemplo #1 MongoDB\Driver\Manager::__construct() basic example

var_dump()ing a MongoDB\Driver\Manager will print out various details about the manager that are otherwise not normally exposed. This can be useful to debug how the driver views your MongoDB setup, and which options are used.

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
var_dump($manager);

?>

O exemplo acima irá imprimir algo similar à:

object(MongoDB\Driver\Manager)#1 (3) {
  ["request_id"]=>
  int(1714636915)
  ["uri"]=>
  string(25) "mongodb://localhost:27017"
  ["cluster"]=>
  array(13) {
    ["mode"]=>
    string(6) "direct"
    ["state"]=>
    string(4) "born"
    ["request_id"]=>
    int(0)
    ["sockettimeoutms"]=>
    int(300000)
    ["last_reconnect"]=>
    int(0)
    ["uri"]=>
    string(25) "mongodb://localhost:27017"
    ["requires_auth"]=>
    int(0)
    ["nodes"]=>
    array(...)
    ["max_bson_size"]=>
    int(16777216)
    ["max_msg_size"]=>
    int(50331648)
    ["sec_latency_ms"]=>
    int(15)
    ["peers"]=>
    array(0) {
    }
    ["replSet"]=>
    NULL
  }
}

Índice

  • MongoDB\Driver\Manager::__construct — Create new MongoDB Manager
  • MongoDB\Driver\Manager::createClientEncryption — Create a new ClientEncryption object
  • MongoDB\Driver\Manager::executeBulkWrite — Execute one or more write operations
  • MongoDB\Driver\Manager::executeCommand — Execute a database command
  • MongoDB\Driver\Manager::executeQuery — Execute a database query
  • MongoDB\Driver\Manager::executeReadCommand — Execute a database command that reads
  • MongoDB\Driver\Manager::executeReadWriteCommand — Execute a database command that reads and writes
  • MongoDB\Driver\Manager::executeWriteCommand — Execute a database command that writes
  • MongoDB\Driver\Manager::getReadConcern — Return the ReadConcern for the Manager
  • MongoDB\Driver\Manager::getReadPreference — Return the ReadPreference for the Manager
  • MongoDB\Driver\Manager::getServers — Return the servers to which this manager is connected
  • MongoDB\Driver\Manager::getWriteConcern — Return the WriteConcern for the Manager
  • MongoDB\Driver\Manager::selectServer — Select a server matching a read preference
  • MongoDB\Driver\Manager::startSession — Start a new client session for use with this client


Create new MongoDB Manager

  • « MongoDB\Driver\Manager
  • MongoDB\Driver\Manager::createClientEncryption »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Create new MongoDB Manager

MongoDB\Driver\Manager::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Manager::__construct — Create new MongoDB Manager

Descrição

final public MongoDB\Driver\Manager::__construct
 ( string $uri = "mongodb://127.0.0.1/"
, array $uriOptions = array()
, array $driverOptions = array()
)

Constructs a new MongoDB\Driver\Manager object with the specified options.

Nota: Per the » Server Discovery and Monitoring Specification, this constructor performs no I/O. Connections will be initialized on demand, when the first operation is executed.

Nota: When specifying any SSL or TLS URI options via the connection string or uriOptions parameter, the driver will implicitly enable TLS for its connections. To avoid this, either explicitly disable the tls option or don't specify any TLS options.

Nota: On Unix platforms, the MongoDB driver is sensitive to scripts that use the fork() system call without also calling exec(). Users are advised not to re-use MongoDB\Driver\Manager instances in a forked child process.

Parâmetros

uri

A » mongodb:// connection URI:

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[defaultAuthDb][?options]]

For details on supported URI options, see » Connection String Options in the MongoDB manual. » Connection pool options are not supported, as the PHP driver does not implement connection pools.

The uri is a URL, hence any special characters in its components need to be URL encoded according to » RFC 3986. This is particularly relevant to the username and password, which can often include special characters such as @, :, or %. When connecting via a Unix domain socket, the socket path may contain special characters such as slashes and must be encoded. The rawurlencode() function may be used to encode constituent parts of the URI.

The defaultAuthDb component may be used to specify the database name associated with the user's credentials; however the authSource URI option will take priority if specified. If neither defaultAuthDb nor authSource are specified, the admin database will be used by default. The defaultAuthDb component has no effect in the absence of user credentials.

uriOptions

Additional » connection string options, which will overwrite any options with the same name in the uri parameter.

uriOptions
Option | Type | Description
appname string

MongoDB 3.4+ has the ability to annotate connections with metadata provided by the connecting client. This metadata is included in the server's logs upon establishing a connection and also recorded in slow query logs when database profiling is enabled.

This option may be used to specify an application name, which will be included in the metadata. The value cannot exceed 128 characters in length.

authMechanism string

The authentication mechanism that MongoDB will use to authenticate the connection. For additional details and a list of supported values, see » Authentication Options in the MongoDB manual.

authMechanismProperties array

Properties for the selected authentication mechanism. For additional details and a list of supported properties, see the » Driver Authentication Specification.

Nota: When not specified in the URI string, this option is expressed as an array of key/value pairs. The keys and values in this array should be strings.

authSource string

The database name associated with the user's credentials. Defaults to the database component of the connection URI, or the admin database if both are unspecified.

For authentication mechanisms that delegate credential storage to other services (e.g. GSSAPI), this should be "$external".

canonicalizeHostname bool

If true, the driver will resolve the real hostname for the server IP address before authenticating via SASL. Some underlying GSSAPI layers already do this, but the functionality may be disabled in their config (e.g. krb.conf). Defaults to false.

This option is a deprecated alias for the "CANONICALIZE_HOST_NAME" property of the "authMechanismProperties" URI option.

compressors string

A prioritized, comma-delimited list of compressors that the client wants to use. Messages are only compressed if the client and server share any compressors in common, and the compressor used in each direction will depend on the individual configuration of the server or driver. See the » Driver Compression Specification for more information.

connectTimeoutMS int

The time in milliseconds to attempt a connection before timing out. Defaults to 10,000 milliseconds.

directConnection bool

This option can be used to control replica set discovery behavior when only a single host is provided in the connection string. By default, providing a single member in the connection string will establish a direct connection or discover additional members depending on whether the "replicaSet" URI option is omitted or present, respectively. Specify false to force discovery to occur (if "replicaSet" is omitted) or specify true to force a direct connection (if "replicaSet" is present).

gssapiServiceName string

Set the Kerberos service name when connecting to Kerberized MongoDB instances. This value must match the service name set on MongoDB instances (i.e. » saslServiceName server parameter). Defaults to "mongodb".

This option is a deprecated alias for the "SERVICE_NAME" property of the "authMechanismProperties" URI option.

heartbeatFrequencyMS int

Specifies the interval in milliseconds between the driver's checks of the MongoDB topology, counted from the end of the previous check until the beginning of the next one. Defaults to 60,000 milliseconds.

Per the » Server Discovery and Monitoring Specification, this value cannot be less than 500 milliseconds.

journal bool

Corresponds to the default write concern's journal parameter. If true, writes will require acknowledgement from MongoDB that the operation has been written to the journal. For details, see MongoDB\Driver\WriteConcern.

localThresholdMS int

The size in milliseconds of the latency window for selecting among multiple suitable MongoDB instances while resolving a read preference. Defaults to 15 milliseconds.

maxStalenessSeconds int

Corresponds to the read preference's "maxStalenessSeconds". Specifies, in seconds, how stale a secondary can be before the client stops using it for read operations. By default, there is no maximum staleness and clients will not consider a secondary’s lag when choosing where to direct a read operation. For details, see MongoDB\Driver\ReadPreference.

If specified, the max staleness must be a signed 32-bit integer greater than or equal to MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS (i.e. 90 seconds).

password | string | The password for the user being authenticated. This option is useful if the password contains special characters, which would otherwise need to be URL encoded for the connection URI.
readConcernLevel | string | Corresponds to the read concern's level parameter. Specifies the level of read isolation. For details, see MongoDB\Driver\ReadConcern.
readPreference string

Corresponds to the read preference's mode parameter. Defaults to "primary". For details, see MongoDB\Driver\ReadPreference.

readPreferenceTags array

Corresponds to the read preference's tagSets parameter. Tag sets allow you to target read operations to specific members of a replica set. For details, see MongoDB\Driver\ReadPreference.

Nota: When not specified in the URI string, this option is expressed as an array consistent with the format expected by MongoDB\Driver\ReadPreference::__construct().

replicaSet string

Specifies the name of the replica set.

retryReads bool

Specifies whether or not the driver should automatically retry certain read operations that fail due to transient network errors or replica set elections. This functionality requires MongoDB 3.6+. Defaults to true.

See the » Retryable Reads Specification for more information.

retryWrites bool

Specifies whether or not the driver should automatically retry certain write operations that fail due to transient network errors or replica set elections. This functionality requires MongoDB 3.6+. Defaults to true.

See » Retryable Writes in the MongoDB manual for more information.

safe bool

If true, specifies 1 for the default write concern's w parameter. If false, 0 is specified. For details, see MongoDB\Driver\WriteConcern.

This option is deprecated and should not be used.

serverSelectionTimeoutMS int

Specifies how long in milliseconds to block for server selection before throwing an exception. Defaults to 30,000 milliseconds.

serverSelectionTryOnce bool

When true, instructs the driver to scan the MongoDB deployment exactly once after server selection fails and then either select a server or raise an error. When false, the driver blocks and searches for a server up to the "serverSelectionTimeoutMS" value. Defaults to true.

slaveOk bool

Specifies "secondaryPreferred" for the read preference mode if true. For details, see MongoDB\Driver\ReadPreference.

This option is deprecated and should not be used.

socketCheckIntervalMS int

If a socket has not been used recently, the driver must check it via an isMaster command before using it for any operation. Defaults to 5,000 milliseconds.

socketTimeoutMS int

The time in milliseconds to attempt a send or receive on a socket before timing out. Defaults to 300,000 milliseconds (i.e. five minutes).

ssl bool

Initiates the connection with TLS/SSL if true. Defaults to false.

This option is a deprecated alias for the "tls" URI option.

tls bool

Initiates the connection with TLS/SSL if true. Defaults to false.

tlsAllowInvalidCertificates bool

Specifies whether or not the driver should error when the server's TLS certificate is invalid. Defaults to false.

Aviso

Disabling certificate validation creates a vulnerability.

tlsAllowInvalidHostnames bool

Specifies whether or not the driver should error when there is a mismatch between the server's hostname and the hostname specified by the TLS certificate. Defaults to false.

Aviso

Disabling certificate validation creates a vulnerability. Allowing invalid hostnames may expose the driver to a » man-in-the-middle attack.

tlsCAFile string

Path to file with either a single or bundle of certificate authorities to be considered trusted when making a TLS connection. The system certificate store will be used by default.

tlsCertificateKeyFile string

Path to the client certificate file or the client private key file; in the case that they both are needed, the files should be concatenated.

tlsCertificateKeyFilePassword string

Password to decrypt the client private key (i.e. "tlsCertificateKeyFile" URI option) to be used for TLS connections.

tlsDisableCertificateRevocationCheck bool

If true, the driver will not attempt to check certificate revocation status (e.g. OCSP, CRL). Defaults to false.

tlsDisableOCSPEndpointCheck bool

If true, the driver will not attempt to contact an OCSP responder endpoint if needed (i.e. an OCSP response is not stapled). Defaults to false.

tlsInsecure bool

Relax TLS constraints as much as possible. Specifying true for this option has the same effect as specifying true for both the "tlsAllowInvalidCertificates" and "tlsAllowInvalidHostnames" URI options. Defaults to false.

Aviso

Disabling certificate validation creates a vulnerability. Allowing invalid hostnames may expose the driver to a » man-in-the-middle attack.

username | string | The username for the user being authenticated. This option is useful if the username contains special characters, which would otherwise need to be URL encoded for the connection URI.
w int|string

Corresponds to the default write concern's w parameter. For details, see MongoDB\Driver\WriteConcern.

wTimeoutMS int|string

Corresponds to the default write concern's wtimeout parameter. Specifies a time limit, in milliseconds, for the write concern. For details, see MongoDB\Driver\WriteConcern.

If specified, wTimeoutMS must be a signed 32-bit integer greater than or equal to zero.

zlibCompressionLevel int

Specifies the compression level to use for the zlib compressor. This option has no effect if zlib is not included in the "compressors" URI option. See the » Driver Compression Specification for more information.

driverOptions

driverOptions
Option | Type | Description
allow_invalid_hostname bool

Disables hostname validation if true. Defaults to false.

Allowing invalid hostnames may expose the driver to a » man-in-the-middle attack.

This option is a deprecated alias for the "tlsAllowInvalidHostnames" URI option.

autoEncryption array

Provides options to enable automatic client-side field level encryption. The following options are supported:

Options for automatic encryption
Option | Type | Description
keyVaultClient | MongoDB\Driver\Manager | The Manager used to route data key queries to a separate MongoDB cluster. By default, the current Manager and cluster is used.
keyVaultNamespace | string | A fully qualified namespace (e.g. "databaseName.collectionName") denoting the collection that contains all data keys used for encryption and decryption.
kmsProviders array

A document containing the configuration for one or more KMS providers, which are used to encrypt data keys. Currently aws or local are supported and at least one must be specified.

The format for aws is as follows:

aws: {
    accessKeyId: <string>,
    secretAccessKey: <string>
}

The format for local is as follows:

local: {
    // The master key used to encrypt/decrypt data keys
    key: <96-byte MongoDB\BSON\Binary with subtype 0>
}
schemaMap array

Allows specifying a local JSON schema that is used to configure encryption.

Nota: Supplying a schemaMap provides more security than relying on JSON schemas obtained from the server. It protects against a malicious server advertising a false JSON schema, which could trick the client into sending unencrypted data that should be encrypted.

Nota: Schemas supplied in the schemaMap only apply to configuring automatic encryption for client side encryption. Other validation rules in the JSON schema will not be enforced by the driver and will result in an error.

bypassAutoEncryption | bool | With this option set to true, mongocryptd will not be spawned automatically. This is used to disable automatic encryption.
extraOptions | array | The extraOptions relate to the mongocryptd process. See the » Client-Side Encryption Specification for more information.

Nota: Automatic encryption is an enterprise only feature that only applies to operations on a collection. Automatic encryption is not supported for operations on a database or view, and operations that are not bypassed will result in error. To bypass automatic encryption for all operations, set bypassAutoEncryption=true in autoEncryption. For more information on whitelisted operations, see the » Client-Side Encryption Specification.

ca_dir string

Path to a correctly hashed certificate directory. The system certificate store will be used by default.

ca_file string

Path to file with either a single or bundle of certificate authorities to be considered trusted when making a TLS connection. The system certificate store will be used by default.

This option is a deprecated alias for the "tlsCAFile" URI option.

context resource

SSL context options to be used as fallbacks if a driver option or its equivalent URI option, if any, is not specified. Note that the driver does not consult the default stream context (i.e. stream_context_get_default()). The following context options are supported:

SSL context option fallbacks
Driver option | Context option (fallback)
ca_dir | capath
ca_file | cafile
pem_file | local_cert
pem_pwd | passphrase
weak_cert_validation | allow_self_signed

This option is supported for backwards compatibility, but should be considered deprecated.

crl_file | string | Path to a certificate revocation list file.
driver array

Allows custom drivers to append their own metadata to the server handshake. By default, the driver submits its own name, version, and platform (i.e. PHP version) in the handshake. Custom drivers can specify strings for the "name", "version", and "platform" keys of this array, which will be appended to the respective field(s) in the handshake document.

Nota: Handshake information is limited to 512 bytes. The driver will truncate handshake data to fit within this 512-byte string. Drivers and ODMs are encouraged to keep their own metadata concise.

pem_file string

Path to a PEM encoded certificate to use for client authentication.

This option is a deprecated alias for the "tlsCertificateKeyFile" URI option.

pem_pwd string

Passphrase for the PEM encoded certificate (if applicable).

This option is a deprecated alias for the "tlsCertificateKeyFilePassword" URI option.

weak_cert_validation bool

Disables certificate validation if true. Defaults to false

This option is a deprecated alias for the "tlsAllowInvalidHostnames" URI option.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\RuntimeException if the uri format is invalid

Changelog

Versão Descrição
PECL mongodb 1.8.0

Added the "directConnection", "tlsDisableCertificateRevocationCheck", and "tlsDisableOCSPEndpointCheck" URI options.

Added the "driver" driver option.

PECL mongodb 1.7.0

Added the "autoEncryption" driver option.

Specifying any SSL or TLS option via the driverOptions parameter will now implicitly enable TLS, as is done for the corresponding URI options.

PECL mongodb 1.6.0

Added the "retryReads", "tls", "tlsAllowInvalidCertificates", "tlsAllowInvalidHostnames", "tlsCAFile", "tlsCertificateKeyFile", "tlsCertificateKeyFilePassword", and "tlsInsecure" URI options.

The "retryWrites" URI option defaults to true.

Specifying any SSL or TLS URI option via the connection string or uriOptions parameter will now implicitly enable TLS unless ssl or tls is false. TLS is not implicitly enabled for any options in the driverOptions parameter, which is unchanged from previous versions.

PECL mongodb 1.5.0

"wtimeoutMS" is now always validated and applied to the write concern. Previously, the option was ignored if "w" was <= 1, since the timeout only applies to replication.

PECL mongodb 1.4.0

Added the "compressors", "retryWrites", and "zlibCompressionLevel" URI options.

PECL mongodb 1.3.0

The uriOptions argument now accepts "authMechanism" and "authMechanismProperties" options. Previously, these options were only supported in the uri argument.

PECL mongodb 1.2.0

The uri argument defaults to "mongodb://127.0.0.1/". The default port remains 27017.

Added the "appname" URI option.

Added the "allow_invalid_hostname", "ca_file", "ca_dir", "clr_file", "pem_file", "pem_pwd", and "weak_cert_validation" driver options.

The PHP Streams API is no longer used for socket communication. The "connectTimeoutMS" URI option now defaults to 10 seconds instead of default_socket_timeout in previous versions. Additionally, the driver no longer supports all SSL context options via the "context" driver option.

PECL mongodb 1.1.0

The uri argument is optional and defaults to "mongodb://localhost:27017/".

Exemplos

Exemplo #1 MongoDB\Driver\Manager::__construct() basic examples

Connecting to standalone MongoDB node:

<?php

$manager = new MongoDB\Driver\Manager("mongodb://example.com:27017");

?>

Connecting to standalone MongoDB node via a Unix domain socket. The socket path may include special characters such as slashes and should be encoded with rawurlencode().

<?php

$manager = new MongoDB\Driver\Manager("mongodb://" . rawurlencode("/tmp/mongodb-27017.sock"));

?>

Connecting to a replica set:

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

?>

Connecting to a sharded cluster (i.e. one or more mongos instances):

<?php

$manager = new MongoDB\Driver\Manager("mongodb://mongos1.example.com,mongos2.example.com/");

?>

Connecting to MongoDB with authentication credentials for a particular user and database:

<?php

$manager = new MongoDB\Driver\Manager("mongodb://myusername:mypassword@example.com/?authSource=databaseName");

?>

Connecting to MongoDB with authentication credentials for a particular user and database, where the username or password includes special characters (e.g. @, :, %). In the following example, the password string myp@ss:w%rd has been manually escaped; however, rawurlencode() may also be used to escape URI components that may contain special characters.

<?php

$manager = new MongoDB\Driver\Manager("mongodb://myusername:myp%40ss%3Aw%25rd@example.com/?authSource=databaseName");

?>

Connecting to MongoDB with X509 authentication:

<?php

$manager = new MongoDB\Driver\Manager(
    "mongodb://example.com/?ssl=true&authMechanism=MONGODB-X509",
    [],
    [
        "pem_file" => "/path/to/client.pem",
    ]
);
?>

Veja Também

  • Connection handling and persistence
  • » MongoDB Connection String Format


Create a new ClientEncryption object

  • « MongoDB\Driver\Manager::__construct
  • MongoDB\Driver\Manager::executeBulkWrite »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Create a new ClientEncryption object

MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

MongoDB\Driver\Manager::createClientEncryption — Create a new ClientEncryption object

Descrição

final public MongoDB\Driver\Manager::createClientEncryption ( array $options ) : MongoDB\Driver\ClientEncryption

Constructs a new MongoDB\Driver\ClientEncryption object with the specified options.

Parâmetros

options

options
Option | Type | Description
keyVaultClient | MongoDB\Driver\Manager | The Manager used to route data key queries to a separate MongoDB cluster. By default, the current Manager and cluster is used.
keyVaultNamespace | string | A fully qualified namespace (e.g. "databaseName.collectionName") denoting the collection that contains all data keys used for encryption and decryption.
kmsProviders array

A document containing the configuration for one or more KMS providers, which are used to encrypt data keys. Currently aws or local are supported and at least one must be specified.

The format for aws is as follows:

aws: {
    accessKeyId: <string>,
    secretAccessKey: <string>
}

The format for local is as follows:

local: {
    // The master key used to encrypt/decrypt data keys
    key: <96-byte MongoDB\BSON\Binary with subtype 0>
}

Valor Retornado

Returns a new MongoDB\Driver\ClientEncryption instance.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\RuntimeException if the extension was compiled without libmongocrypt support

Veja Também

  • MongoDB\Driver\ClientEncryption
  • » Explicit (Manual) Client-Side Field Level Encryption in the MongoDB manual


Execute one or more write operations

  • « MongoDB\Driver\Manager::createClientEncryption
  • MongoDB\Driver\Manager::executeCommand »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Execute one or more write operations

MongoDB\Driver\Manager::executeBulkWrite

(mongodb >=1.0.0)

MongoDB\Driver\Manager::executeBulkWrite — Execute one or more write operations

Descrição

final public MongoDB\Driver\Manager::executeBulkWrite ( string $namespace , MongoDB\Driver\BulkWrite $bulk , array $options = array() ) : MongoDB\Driver\WriteResult

Executes one or more write operations on the primary server.

A MongoDB\Driver\BulkWrite can be constructed with one or more write operations of varying types (e.g. updates, deletes, and inserts). The driver will attempt to send operations of the same type to the server in as few requests as possible to optimize round trips.

Parâmetros

namespace (string)

Um namespace completo (por exemplo "databaseName.collectionName").

bulk (MongoDB\Driver\BulkWrite)

O MongoDB\Driver\BulkWrite a executar.

options

options
Option Type Description
session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Valor Retornado

Retorna MongoDB\Driver\WriteResult no sucesso.

Erros

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if bulk does not contain any write operations.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if bulk has already been executed. MongoDB\Driver\BulkWrite objects may not be executed multiple times.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Lança MongoDB\Driver\Exception\BulkWriteException em qualquer erro de escrita (erro de escrita, falha ao aplicar um write concern)
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.

Changelog

Versão | Descrição
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.
PECL mongodb 1.4.0 | The third parameter is now an options array. For backwards compatibility, this paramater will still accept a MongoDB\Driver\WriteConcern object.
PECL mongodb 1.3.0 | MongoDB\Driver\Exception\InvalidArgumentException is now thrown if bulk does not contain any write operations. Previously, a MongoDB\Driver\Exception\BulkWriteException was thrown.

Exemplos

Exemplo #1 MongoDB\Driver\Manager::executeBulkWrite() example

<?php

$bulk = new MongoDB\Driver\BulkWrite();

$bulk->insert(['_id' => 1, 'x' => 1]);
$bulk->insert(['_id' => 2, 'x' => 2]);

$bulk->update(['x' => 2], ['$set' => ['x' => 1]], ['multi' => false, 'upsert' => false]);
$bulk->update(['x' => 3], ['$set' => ['x' => 3]], ['multi' => false, 'upsert' => true]);
$bulk->update(['_id' => 3], ['$set' => ['x' => 3]], ['multi' => false, 'upsert' => true]);

$bulk->insert(['_id' => 4, 'x' => 2]);

$bulk->delete(['x' => 1], ['limit' => 1]);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 100);
$result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);

printf("Inserted %d document(s)\n", $result->getInsertedCount());
printf("Matched  %d document(s)\n", $result->getMatchedCount());
printf("Updated  %d document(s)\n", $result->getModifiedCount());
printf("Upserted %d document(s)\n", $result->getUpsertedCount());
printf("Deleted  %d document(s)\n", $result->getDeletedCount());

foreach ($result->getUpsertedIds() as $index => $id) {
    printf('upsertedId[%d]: ', $index);
    var_dump($id);
}

/* If the WriteConcern could not be fulfilled */
if ($writeConcernError = $result->getWriteConcernError()) {
    printf("%s (%d): %s\n", $writeConcernError->getMessage(), $writeConcernError->getCode(), var_export($writeConcernError->getInfo(), true));
}

/* If a write could not happen at all */
foreach ($result->getWriteErrors() as $writeError) {
    printf("Operation#%d: %s (%d)\n", $writeError->getIndex(), $writeError->getMessage(), $writeError->getCode());
}
?>

O exemplo acima irá imprimir algo similar à:

Inserted 3 document(s)
Matched  1 document(s)
Updated  1 document(s)
Upserted 2 document(s)
Deleted  1 document(s)
upsertedId[3]: object(MongoDB\BSON\ObjectId)#5 (1) {
  ["oid"]=>
  string(24) "54d3adc3ce7a792f4d703756"
}
upsertedId[4]: int(3)

Veja Também

  • MongoDB\Driver\BulkWrite
  • MongoDB\Driver\WriteResult
  • MongoDB\Driver\WriteConcern
  • MongoDB\Driver\Server::executeBulkWrite() - Execute one or more write operations on this server


Execute a database command

  • « MongoDB\Driver\Manager::executeBulkWrite
  • MongoDB\Driver\Manager::executeQuery »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Execute a database command

MongoDB\Driver\Manager::executeCommand

(mongodb >=1.0.0)

MongoDB\Driver\Manager::executeCommand — Execute a database command

Descrição

final public MongoDB\Driver\Manager::executeCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor

Selects a server according to the "readPreference" option and executes the command on that server. By default, the read preference from the MongoDB Connection URI will be used.

This method applies no special logic to the command. Although this method accepts "readConcern" and "writeConcern" options, which will be incorporated into the command document, those options will not default to corresponding values from the MongoDB Connection URI nor will the MongoDB server version be taken into account. Users are therefore encouraged to use specific read and/or write command methods if possible.

Parâmetros

db (string)

O nome do banco a executar o comando.

command (MongoDB\Driver\Command)

O MongoDB\Driver\Command a executar.

options

options
Option Type Description
readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Aviso

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Valor Retornado

Retorna MongoDB\Driver\Cursor no sucesso.

Erros

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command, issuing a write command to a secondary).

Changelog

Versão | Descrição
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.
PECL mongodb 1.4.0 | The third parameter is now an options array. For backwards compatibility, this paramater will still accept a MongoDB\Driver\ReadPreference object.

Exemplos

Exemplo #1 MongoDB\Driver\Manager::executeCommand() with a command returning a single result document

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$command = new MongoDB\Driver\Command(['ping' => 1]);

try {
    $cursor = $manager->executeCommand('admin', $command);
} catch(MongoDB\Driver\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

/* The ping command returns a single result document, so we need to access the
 * first result in the cursor. */
$response = $cursor->toArray()[0];

var_dump($response);

?>

O exemplo acima irá imprimir:

array(1) {
  ["ok"]=>
  float(1)
}

Exemplo #2 MongoDB\Driver\Manager::executeCommand() with a command returning a cursor

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1, 'y' => 'foo']);
$bulk->insert(['x' => 2, 'y' => 'bar']);
$bulk->insert(['x' => 3, 'y' => 'bar']);
$manager->executeBulkWrite('db.collection', $bulk);

$command = new MongoDB\Driver\Command([
    'aggregate' => 'collection',
    'pipeline' => [
        ['$group' => ['_id' => '$y', 'sum' => ['$sum' => '$x']]],
    ],
    'cursor' => new stdClass,
]);
$cursor = $manager->executeCommand('db', $command);

/* The aggregate command can optionally return its results in a cursor instead
 * of a single result document. In this case, we can iterate on the cursor
 * directly to access those results. */
foreach ($cursor as $document) {
    var_dump($document);
}

?>

O exemplo acima irá imprimir:

object(stdClass)#6 (2) {
  ["_id"]=>
  string(3) "bar"
  ["sum"]=>
  int(10)
}
object(stdClass)#7 (2) {
  ["_id"]=>
  string(3) "foo"
  ["sum"]=>
  int(2)
}

Exemplo #3 Limiting execution time for a command

The execution time of a command may be limited by specifying a value for "maxTimeMS" in the MongoDB\Driver\Command document. Note that this time limit is enforced on the server side and does not take network latency into account. See » Terminate Running Operations in the MongoDB manual for more information.

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');

$command = new MongoDB\Driver\Command([
    'count' => 'collection',
    'query' => ['x' => ['$gt' => 1]],
    'maxTimeMS' => 1000,
]);

$cursor = $manager->executeCommand('db', $command);

var_dump($cursor->toArray()[0]);

?>

If the command fails to complete after one second of execution time on the server, a MongoDB\Driver\Exception\ExecutionTimeoutException will be thrown.

Notas

Nota: If a secondary readPreference is used, it is the caller's responsibility to ensure that the command can be executed on a secondary. No validation is done by the driver.

Veja Também

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Manager::executeReadCommand() - Execute a database command that reads
  • MongoDB\Driver\Manager::executeReadWriteCommand() - Execute a database command that reads and writes
  • MongoDB\Driver\Manager::executeWriteCommand() - Execute a database command that writes
  • MongoDB\Driver\Server::executeCommand() - Execute a database command on this server


Execute a database query

  • « MongoDB\Driver\Manager::executeCommand
  • MongoDB\Driver\Manager::executeReadCommand »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Execute a database query

MongoDB\Driver\Manager::executeQuery

(mongodb >=1.0.0)

MongoDB\Driver\Manager::executeQuery — Execute a database query

Descrição

final public MongoDB\Driver\Manager::executeQuery ( string $namespace , MongoDB\Driver\Query $query , array $options = array() ) : MongoDB\Driver\Cursor

Selects a server according to the "readPreference" option and executes the query on that server. By default, the read preference from the MongoDB Connection URI will be used.

Parâmetros

namespace (string)

Um namespace completo (por exemplo "databaseName.collectionName").

query (MongoDB\Driver\Query)

A MongoDB\Driver\Query a executar.

options

options
Option Type Description
readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

session MongoDB\Driver\Session

A session to associate with the operation.

Valor Retornado

Retorna MongoDB\Driver\Cursor no sucesso.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid query operators).

Changelog

Versão | Descrição
PECL mongodb 1.4.0 | The third parameter is now an options array. For backwards compatibility, this paramater will still accept a MongoDB\Driver\ReadPreference object.

Exemplos

Exemplo #1 MongoDB\Driver\Manager::executeQuery() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$filter = ['x' => ['$gt' => 1]];
$options = [
    'projection' => ['_id' => 0],
    'sort' => ['x' => -1],
];

$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('db.collection', $query);

foreach ($cursor as $document) {
    var_dump($document);
}

?>

O exemplo acima irá imprimir:

object(stdClass)#6 (1) {
  ["x"]=>
  int(3)
}
object(stdClass)#7 (1) {
  ["x"]=>
  int(2)
}

Exemplo #2 Limiting execution time for a query

The "maxTimeMS" MongoDB\Driver\Query option may be used to limit the execution time of a query. Note that this time limit is enforced on the server side and does not take network latency into account. See » Terminate Running Operations in the MongoDB manual for more information.

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');

$filter = ['x' => ['$gt' => 1]];
$options = [
    'maxTimeMS' => 1000,
];

$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('db.collection', $query);

foreach ($cursor as $document) {
    var_dump($document);
}

?>

If the query fails to complete after one second of execution time on the server, a MongoDB\Driver\Exception\ExecutionTimeoutException will be thrown.

Veja Também

  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Query
  • MongoDB\Driver\ReadPreference
  • MongoDB\Driver\Server::executeQuery() - Execute a database query on this server


Execute a database command that reads

  • « MongoDB\Driver\Manager::executeQuery
  • MongoDB\Driver\Manager::executeReadWriteCommand »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Execute a database command that reads

MongoDB\Driver\Manager::executeReadCommand

(mongodb >=1.4.0)

MongoDB\Driver\Manager::executeReadCommand — Execute a database command that reads

Descrição

final public MongoDB\Driver\Manager::executeReadCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor

Selects a server according to the "readPreference" option and executes the command on that server. By default, the read preference from the MongoDB Connection URI will be used.

This method will apply logic that is specific to commands that read (e.g. » count) and take the MongoDB server version into account. The "readConcern" option will default to the corresponding value from the MongoDB Connection URI.

Parâmetros

db (string)

O nome do banco a executar o comando.

command (MongoDB\Driver\Command)

O MongoDB\Driver\Command a executar.

options

options
Option Type Description
readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

session MongoDB\Driver\Session

A session to associate with the operation.

Aviso

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Valor Retornado

Retorna MongoDB\Driver\Cursor no sucesso.

Erros

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

Veja Também

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Manager::executeCommand() - Execute a database command
  • MongoDB\Driver\Manager::executeReadWriteCommand() - Execute a database command that reads and writes
  • MongoDB\Driver\Manager::executeWriteCommand() - Execute a database command that writes
  • MongoDB\Driver\Server::executeReadCommand() - Execute a database command that reads on this server


Execute a database command that reads and writes

  • « MongoDB\Driver\Manager::executeReadCommand
  • MongoDB\Driver\Manager::executeWriteCommand »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Execute a database command that reads and writes

MongoDB\Driver\Manager::executeReadWriteCommand

(mongodb >=1.4.0)

MongoDB\Driver\Manager::executeReadWriteCommand — Execute a database command that reads and writes

Descrição

final public MongoDB\Driver\Manager::executeReadWriteCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor

Executes the command on the primary server.

This method will apply logic that is specific to commands that read and write (e.g. » aggregate) and take the MongoDB server version into account. The "readConcern" and "writeConcern" options will default to the corresponding values from the MongoDB Connection URI.

Parâmetros

db (string)

O nome do banco a executar o comando.

command (MongoDB\Driver\Command)

O MongoDB\Driver\Command a executar.

options

options
Option Type Description
readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Aviso

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Valor Retornado

Retorna MongoDB\Driver\Cursor no sucesso.

Erros

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

Changelog

Versão | Descrição
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.

Veja Também

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Manager::executeCommand() - Execute a database command
  • MongoDB\Driver\Manager::executeReadCommand() - Execute a database command that reads
  • MongoDB\Driver\Manager::executeWriteCommand() - Execute a database command that writes
  • MongoDB\Driver\Server::executeReadWriteCommand() - Execute a database command that reads and writes on this server


Execute a database command that writes

  • « MongoDB\Driver\Manager::executeReadWriteCommand
  • MongoDB\Driver\Manager::getReadConcern »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Execute a database command that writes

MongoDB\Driver\Manager::executeWriteCommand

(mongodb >=1.4.0)

MongoDB\Driver\Manager::executeWriteCommand — Execute a database command that writes

Descrição

final public MongoDB\Driver\Manager::executeWriteCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor

Executes the command on the primary server.

This method will apply logic that is specific to commands that write (e.g. » drop) and take the MongoDB server version into account. The "writeConcern" option will default to the corresponding value from the MongoDB Connection URI.

Nota: This method is not intended to be used to execute » insert, » update, or » delete commands. Users are encouraged to use MongoDB\Driver\Manager::executeBulkWrite() for those commands.

Parâmetros

db (string)

O nome do banco a executar o comando.

command (MongoDB\Driver\Command)

O MongoDB\Driver\Command a executar.

options

options
Option Type Description
session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Aviso

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Valor Retornado

Retorna MongoDB\Driver\Cursor no sucesso.

Erros

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

Changelog

Versão | Descrição
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.

Veja Também

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Manager::executeCommand() - Execute a database command
  • MongoDB\Driver\Manager::executeReadCommand() - Execute a database command that reads
  • MongoDB\Driver\Manager::executeReadWriteCommand() - Execute a database command that reads and writes
  • MongoDB\Driver\Server::executeWriteCommand() - Execute a database command that writes on this server


Return the ReadConcern for the Manager

  • « MongoDB\Driver\Manager::executeWriteCommand
  • MongoDB\Driver\Manager::getReadPreference »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Return the ReadConcern for the Manager

MongoDB\Driver\Manager::getReadConcern

(mongodb >=1.1.0)

MongoDB\Driver\Manager::getReadConcern — Return the ReadConcern for the Manager

Descrição

final public MongoDB\Driver\Manager::getReadConcern ( ) : MongoDB\Driver\ReadConcern

Returns the MongoDB\Driver\ReadConcern for the Manager, which is derived from its URI options. This is the default read concern for queries and commands executed on the Manager.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The MongoDB\Driver\ReadConcern for the Manager.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\Manager::getReadConcern() example

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
var_dump($manager->getReadConcern());

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017/?readConcernLevel=local');
var_dump($manager->getReadConcern());

?>

O exemplo acima irá imprimir algo similar à:

object(MongoDB\Driver\ReadConcern)#2 (0) {
}
object(MongoDB\Driver\ReadConcern)#1 (1) {
  ["level"]=>
  string(5) "local"
}

Veja Também

  • MongoDB\Driver\ReadConcern
  • MongoDB\Driver\Manager::__construct() - Create new MongoDB Manager


Return the ReadPreference for the Manager

  • « MongoDB\Driver\Manager::getReadConcern
  • MongoDB\Driver\Manager::getServers »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Return the ReadPreference for the Manager

MongoDB\Driver\Manager::getReadPreference

(mongodb >=1.0.0)

MongoDB\Driver\Manager::getReadPreference — Return the ReadPreference for the Manager

Descrição

final public MongoDB\Driver\Manager::getReadPreference ( ) : MongoDB\Driver\ReadPreference

Returns the MongoDB\Driver\ReadPreference for the Manager, which is derived from its URI options. This is the default read preference for queries and commands executed on the Manager.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The MongoDB\Driver\ReadPreference for the Manager.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\Manager::getReadPreference() example

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
var_dump($manager->getReadPreference());

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017/?readPreference=secondaryPreferred&readPreferenceTags=dc:ny,rack:1&readPreferenceTags=dc:ny&readPreferenceTags=');
var_dump($manager->getReadPreference());

?>

O exemplo acima irá imprimir algo similar à:

object(MongoDB\Driver\ReadPreference)#2 (1) {
  ["mode"]=>
  string(7) "primary"
}
object(MongoDB\Driver\ReadPreference)#1 (2) {
  ["mode"]=>
  string(18) "secondaryPreferred"
  ["tags"]=>
  array(3) {
    [0]=>
    object(stdClass)#3 (2) {
      ["dc"]=>
      string(2) "ny"
      ["rack"]=>
      string(1) "1"
    }
    [1]=>
    object(stdClass)#4 (1) {
      ["dc"]=>
      string(2) "ny"
    }
    [2]=>
    object(stdClass)#5 (0) {
    }
  }
}

Veja Também

  • MongoDB\Driver\ReadPreference
  • MongoDB\Driver\Manager::__construct() - Create new MongoDB Manager


Return the servers to which this manager is connected

  • « MongoDB\Driver\Manager::getReadPreference
  • MongoDB\Driver\Manager::getWriteConcern »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Return the servers to which this manager is connected

MongoDB\Driver\Manager::getServers

(mongodb >=1.0.0)

MongoDB\Driver\Manager::getServers — Return the servers to which this manager is connected

Descrição

final public MongoDB\Driver\Manager::getServers ( ) : array

Returns an array of MongoDB\Driver\Server instances to which this manager is connected.

Nota: Since the driver connects to the database lazily, this method may return an empty array if called before executing an operation on the MongoDB\Driver\Manager.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array of MongoDB\Driver\Server instances to which this manager is connected.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\Manager::getServers() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

/* The driver connects to the database server lazily, so Manager::getServers()
 * may initially return an empty array. */
var_dump($manager->getServers());

$command = new MongoDB\Driver\Command(['ping' => 1]);
$manager->executeCommand('db', $command);

var_dump($manager->getServers());

?>

O exemplo acima irá imprimir algo similar à:

array(0) {
}
array(1) {
  [0]=>
  object(MongoDB\Driver\Server)#3 (10) {
    ["host"]=>
    string(9) "localhost"
    ["port"]=>
    int(27017)
    ["type"]=>
    int(1)
    ["is_primary"]=>
    bool(false)
    ["is_secondary"]=>
    bool(false)
    ["is_arbiter"]=>
    bool(false)
    ["is_hidden"]=>
    bool(false)
    ["is_passive"]=>
    bool(false)
    ["last_is_master"]=>
    array(8) {
      ["ismaster"]=>
      bool(true)
      ["maxBsonObjectSize"]=>
      int(16777216)
      ["maxMessageSizeBytes"]=>
      int(48000000)
      ["maxWriteBatchSize"]=>
      int(1000)
      ["localTime"]=>
      object(MongoDB\BSON\UTCDateTime)#4 (1) {
        ["milliseconds"]=>
        int(1447267964517)
      }
      ["maxWireVersion"]=>
      int(3)
      ["minWireVersion"]=>
      int(0)
      ["ok"]=>
      float(1)
    }
    ["round_trip_time"]=>
    int(554)
  }
}

Veja Também

  • MongoDB\Driver\Server
  • MongoDB\Driver\Manager::selectServer() - Select a server matching a read preference


Return the WriteConcern for the Manager

  • « MongoDB\Driver\Manager::getServers
  • MongoDB\Driver\Manager::selectServer »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Return the WriteConcern for the Manager

MongoDB\Driver\Manager::getWriteConcern

(mongodb >=1.0.0)

MongoDB\Driver\Manager::getWriteConcern — Return the WriteConcern for the Manager

Descrição

final public MongoDB\Driver\Manager::getWriteConcern ( ) : MongoDB\Driver\WriteConcern

Returns the MongoDB\Driver\WriteConcern for the Manager, which is derived from its URI options. This is the default write concern for writes and commands executed on the Manager.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The MongoDB\Driver\WriteConcern for the Manager.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\Manager::getWriteConcern() example

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
var_dump($manager->getWriteConcern());

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017/?w=majority&wtimeoutMS=2000');
var_dump($manager->getWriteConcern());

?>

O exemplo acima irá imprimir algo similar à:

object(MongoDB\Driver\WriteConcern)#2 (0) {
}
object(MongoDB\Driver\WriteConcern)#1 (2) {
  ["w"]=>
  string(8) "majority"
  ["wtimeout"]=>
  int(2000)
}

Veja Também

  • MongoDB\Driver\WriteConcern
  • MongoDB\Driver\Manager::__construct() - Create new MongoDB Manager


Select a server matching a read preference

  • « MongoDB\Driver\Manager::getWriteConcern
  • MongoDB\Driver\Manager::startSession »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Select a server matching a read preference

MongoDB\Driver\Manager::selectServer

(mongodb >=1.0.0)

MongoDB\Driver\Manager::selectServer — Select a server matching a read preference

Descrição

final public MongoDB\Driver\Manager::selectServer ( MongoDB\Driver\ReadPreference $readPreference ) : MongoDB\Driver\Server

Selects a MongoDB\Driver\Server matching readPreference. This may be used to preselect a server in order to perform version checking before executing an operation.

Nota: Unlike MongoDB\Driver\Manager::getServers(), this method will initialize database connections and perform server discovery if necessary. See the » Server Selection Specification for additional information.

Parâmetros

readPreference (MongoDB\Driver\ReadPreference)

The read preference to use for selecting a server.

Valor Retornado

Returns a MongoDB\Driver\Server matching the read preference.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Throws MongoDB\Driver\Exception\RuntimeException if a server matching the read preference could not be found.

Veja Também

  • MongoDB\Driver\Server
  • MongoDB\Driver\Manager::getServers() - Return the servers to which this manager is connected
  • » Server Selection Specification


Start a new client session for use with this client

  • « MongoDB\Driver\Manager::selectServer
  • MongoDB\Driver\Command »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Start a new client session for use with this client

MongoDB\Driver\Manager::startSession

(mongodb >=1.4.0)

MongoDB\Driver\Manager::startSession — Start a new client session for use with this client

Descrição

final public MongoDB\Driver\Manager::startSession ( array $options = ? ) : MongoDB\Driver\Session

Creates a MongoDB\Driver\Session for the given options. The session may then be specified when executing commands, queries, and write operations.

Nota: A MongoDB\Driver\Session can only be used with the MongoDB\Driver\Manager from which it was created.

Parâmetros

options

options
Option Type Description Default
causalConsistency bool

Configure causal consistency in a session. If true, each operation in the session will be causally ordered after the previous read or write operation. Set to false to disable causal consistency.

See » Casual Consistency in the MongoDB manual for more information.

true
defaultTransactionOptions array

Default options to apply to newly created transactions. These options are used unless they are overridden when a transaction is started with different value for each option.

options
Option Type Description
maxCommitTimeMS integer

The maximum amount of time in milliseconds to allow a single commitTransaction command to run.

If specified, maxCommitTimeMS must be a signed 32-bit integer greater than or equal to zero.

readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

This option is available in MongoDB 4.0+.

[]

Valor Retornado

Returns a MongoDB\Driver\Session.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\RuntimeException if the session could not be created (e.g. libmongoc does not support crypto).

Changelog

Versão | Descrição
PECL mongodb 1.6.0 | The "maxCommitTimeMS" option was added to "defaultTransactionOptions".
PECL mongodb 1.5.0 | The "defaultTransactionOptions" option was added.

Veja Também

  • MongoDB\Driver\Session
  • » Casual Consistency in the MongoDB manual


The MongoDB\Driver\Command class

(mongodb >=1.0.0)

Introdução

The MongoDB\Driver\Command class is a value object that represents a database command.

To provide Command Helpers the MongoDB\Driver\Command object should be composed.

Sinopse da classe

final MongoDB\Driver\Command {
/* Métodos */
final public __construct ( array|object $document , array $commandOptions = ? )
}

Exemplos

Exemplo #1 Composing MongoDB\Driver\Command to provide a helper to create collections

<?php
class CreateCollection {
    protected $cmd = array();

    function __construct($collectionName) {
        $this->cmd["create"] = (string)$collectionName;
    }
    function setCappedCollection($maxBytes, $maxDocuments = false) {
        $this->cmd["capped"] = true;
        $this->cmd["size"]   = (int)$maxBytes;

        if ($maxDocuments) {
            $this->cmd["max"] = (int)$maxDocuments;
        }
    }
    function usePowerOf2Sizes($bool) {
        if ($bool) {
            $this->cmd["flags"] = 1;
        } else {
            $this->cmd["flags"] = 0;
        }
    }
    function setFlags($flags) {
        $this->cmd["flags"] = (int)$flags;
    }
    function getCommand() {
        return new MongoDB\Driver\Command($this->cmd);
    }
    function getCollectionName() {
        return $this->cmd["create"];
    }
}

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$createCollection = new CreateCollection("cappedCollection");
$createCollection->setCappedCollection(64 * 1024);

try {
    $command = $createCollection->getCommand();
    $cursor = $manager->executeCommand("databaseName", $command);
    $response = $cursor->toArray()[0];
    var_dump($response);

    $collstats = ["collstats" => $createCollection->getCollectionName()];
    $cursor = $manager->executeCommand("databaseName", new MongoDB\Driver\Command($collstats));
    $response = $cursor->toArray()[0];
    var_dump($response);
} catch(MongoDB\Driver\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

?>

O exemplo acima irá imprimir:

object(MongoDB\Driver\Command)#3 (1) {
  ["command"]=>
  array(3) {
    ["create"]=>
    string(16) "cappedCollection"
    ["capped"]=>
    bool(true)
    ["size"]=>
    int(65536)
  }
}
array(1) {
  ["ok"]=>
  float(1)
}
array(16) {
  ["ns"]=>
  string(29) "databaseName.cappedCollection"
  ["count"]=>
  int(0)
  ["size"]=>
  int(0)
  ["numExtents"]=>
  int(1)
  ["storageSize"]=>
  int(65536)
  ["nindexes"]=>
  int(1)
  ["lastExtentSize"]=>
  float(65536)
  ["paddingFactor"]=>
  float(1)
  ["paddingFactorNote"]=>
  string(101) "paddingFactor is unused and unmaintained in 2.8. It remains hard coded to 1.0 for compatibility only."
  ["userFlags"]=>
  int(0)
  ["capped"]=>
  bool(true)
  ["max"]=>
  int(9223372036854775807)
  ["maxSize"]=>
  int(65536)
  ["totalIndexSize"]=>
  int(8176)
  ["indexSizes"]=>
  object(stdClass)#4 (1) {
    ["_id_"]=>
    int(8176)
  }
  ["ok"]=>
  float(1)
}

Índice

  • MongoDB\Driver\Command::__construct — Create a new Command


Create a new Command

  • « MongoDB\Driver\Command
  • MongoDB\Driver\Query »
  • PHP Manual
  • MongoDB\Driver\Command
  • Create a new Command

MongoDB\Driver\Command::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Command::__construct — Create a new Command

Descrição

final public MongoDB\Driver\Command::__construct ( array|object $document , array $commandOptions = ? )

Constructs a new MongoDB\Driver\Command, which is an immutable value object that represents a database command. The command may then be executed with MongoDB\Driver\Manager::executeCommand().

The complete command document, which includes the command name and its options, should be expressed in the document parameter. The commandOptions parameter is only used to specify options related to the execution of the command and the resulting MongoDB\Driver\Cursor.

Parâmetros

document

The complete command document, which will be sent to the server.

commandOptions

Nota: Do not use this parameter to specify options described in the command's reference in the MongoDB manual. This parameter should only be used for the options explicitly listed below.

commandOptions
Option Type Description
maxAwaitTimeMS int

Positive integer denoting the time limit in milliseconds for the server to block a getMore operation if no data is available. This option should only be used in conjunction with commands that return a tailable cursor (e.g. » Change Streams).

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Changelog

Versão | Descrição
PECL mongodb 1.4.0 | Added a second commandOptions argument, which supports the "maxAwaitTimeMS" option.

Exemplos

Exemplo #1 MongoDB\Driver\Command::__construct() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$command = new MongoDB\Driver\Command(array("buildinfo" => 1));

try {
    $cursor = $manager->executeCommand("admin", $command);
    $response = $cursor->toArray()[0];
} catch(MongoDB\Driver\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}
var_dump($response);

?>

O exemplo acima irá imprimir algo similar à:

array(13) {
  ["version"]=>
  string(14) "2.8.0-rc2-pre-"
  ["gitVersion"]=>
  string(62) "b743d7158f7642f4da6b7eac8320374b3b88dc2e modules: subscription"
  ["OpenSSLVersion"]=>
  string(25) "OpenSSL 1.0.1f 6 Jan 2014"
  ["sysInfo"]=>
  string(104) "Linux infant 3.16.0-24-generic #32-Ubuntu SMP Tue Oct 28 13:07:32 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49"
  ["loaderFlags"]=>
  string(91) "-fPIC -pthread -Wl,-z,now -rdynamic -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,-E"
  ["compilerFlags"]=>
  string(301) "-Wnon-virtual-dtor -Woverloaded-virtual -std=c++11 -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -pipe -Werror -O3 -Wno-unused-local-typedefs -Wno-unused-function -Wno-deprecated-declarations -Wno-unused-but-set-variable -fno-builtin-memcmp -std=c99"
  ["allocator"]=>
  string(8) "tcmalloc"
  ["versionArray"]=>
  array(4) {
    [0]=>
    int(2)
    [1]=>
    int(8)
    [2]=>
    int(0)
    [3]=>
    int(-8)
  }
  ["javascriptEngine"]=>
  string(2) "V8"
  ["bits"]=>
  int(64)
  ["debug"]=>
  bool(false)
  ["maxBsonObjectSize"]=>
  int(16777216)
  ["ok"]=>
  float(1)
}

Exemplo #2 MongoDB\Driver\Command::__construct() example

Commands can accept options as well, as part of the normal structure that you create to send to the server. For example, the maxTimeMS option can be passed with most commands to restrict the amount of time a specific command can run for on the server.

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$command = new MongoDB\Driver\Command(
    array(
        "distinct" => "beer",
        "key" => "beer_name",
        "maxTimeMS" => 10,
    )
);

try {
    $cursor = $manager->executeCommand("beerdb", $command);
    $response = $cursor->toArray()[0];
} catch(MongoDB\Driver\Exception\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}
var_dump($response);

?>

O exemplo acima irá imprimir algo similar à:

operation exceeded time limit

Veja Também

  • MongoDB\Driver\Manager::executeCommand() - Execute a database command
  • MongoDB\Driver\Cursor


The MongoDB\Driver\Query class

(mongodb >=1.0.0)

Introdução

The MongoDB\Driver\Query class is a value object that represents a database query.

Sinopse da classe

final MongoDB\Driver\Query {
/* Métodos */
final public __construct ( array|object $filter , array $queryOptions = ? )
}

Índice

  • MongoDB\Driver\Query::__construct — Create a new Query


Create a new Query

  • « MongoDB\Driver\Query
  • MongoDB\Driver\BulkWrite »
  • PHP Manual
  • MongoDB\Driver\Query
  • Create a new Query

MongoDB\Driver\Query::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Query::__construct — Create a new Query

Descrição

final public MongoDB\Driver\Query::__construct ( array|object $filter , array $queryOptions = ? )

Constructs a new MongoDB\Driver\Query, which is an immutable value object that represents a database query. The query may then be executed with MongoDB\Driver\Manager::executeQuery().

Parâmetros

filter (array|object)

O filtro de busca.

queryOptions

queryOptions
Option | Type | Description
allowDiskUse bool

Allows MongoDB to use temporary disk files to store data exceeding the 100 megabyte system memory limit while processing a blocking sort operation.

allowPartialResults bool

For queries against a sharded collection, returns partial results from the mongos if some shards are unavailable instead of throwing an error.

Falls back to the deprecated "partial" option if not specified.

awaitData | bool | Use in conjunction with the "tailable" option to block a getMore operation on the cursor temporarily if at the end of data rather than returning no data. After a timeout period, the query returns as normal.
batchSize int

The number of documents to return in the first batch. Defaults to 101. A batch size of 0 means that the cursor will be established, but no documents will be returned in the first batch.

In versions of MongoDB before 3.2, where queries use the legacy wire protocol OP_QUERY, a batch size of 1 will close the cursor irrespective of the number of matched documents.

collation array|object

» Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks. When specifying collation, the "locale" field is mandatory; all other collation fields are optional. For descriptions of the fields, see » Collation Document.

If the collation is unspecified but the collection has a default collation, the operation uses the collation specified for the collection. If no collation is specified for the collection or for the operation, MongoDB uses the simple binary comparison used in prior versions for string comparisons.

This option is available in MongoDB 3.4+ and will result in an exception at execution time if specified for an older server version.

comment string

A comment to attach to the query to help interpret and trace query profile data.

Falls back to the deprecated "$comment" modifier if not specified.

exhaust bool

Stream the data down full blast in multiple "more" packages, on the assumption that the client will fully read all data queried. Faster when you are pulling a lot of data and know you want to pull it all down. Note: the client is not allowed to not read all the data unless it closes the connection.

This option is not supported by the find command in MongoDB 3.2+ and will force the driver to use the legacy wire protocol version (i.e. OP_QUERY).

explain bool

If true, the returned MongoDB\Driver\Cursor will contain a single document that describes the process and indexes used to return the query.

Falls back to the deprecated "$explain" modifier if not specified.

This option is not supported by the find command in MongoDB 3.2+ and will only be respected when using the legacy wire protocol version (i.e. OP_QUERY). The » explain command should be used on MongoDB 3.0+.

hint string|array|object

Index specification. Specify either the index name as a string or the index key pattern. If specified, then the query system will only consider plans using the hinted index.

Falls back to the deprecated "hint" option if not specified.

limit int

The maximum number of documents to return. If unspecified, then defaults to no limit. A limit of 0 is equivalent to setting no limit.

A negative limit is will be interpreted as a positive limit with the "singleBatch" option set to true. This behavior is supported for backwards compatibility, but should be considered deprecated.

max array|object

The exclusive upper bound for a specific index.

Falls back to the deprecated "$max" modifier if not specified.

maxAwaitTimeMS int

Positive integer denoting the time limit in milliseconds for the server to block a getMore operation if no data is available. This option should only be used in conjunction with the "tailable" and "awaitData" options.

maxScan int
Aviso

This option is deprecated and should not be used.

Positive integer denoting the maximum number of documents or index keys to scan when executing the query.

Falls back to the deprecated "$maxScan" modifier if not specified.

maxTimeMS int

The cumulative time limit in milliseconds for processing operations on the cursor. MongoDB aborts the operation at the earliest following interrupt point.

Falls back to the deprecated "$maxTimeMS" modifier if not specified.

min array|object

The inclusive lower bound for a specific index.

Falls back to the deprecated "$min" modifier if not specified.

modifiers | array | » Meta operators modifying the output or behavior of a query. Use of these operators is deprecated in favor of named options.
noCursorTimeout | bool | Prevents the server from timing out idle cursors after an inactivity period (10 minutes).
oplogReplay bool

Internal use for replica sets. To use oplogReplay, you must include the following condition in the filter:

[ 'ts' => [ '$gte' => <timestamp> ] ]

Nota: This option is deprecated as of the 1.8.0 release.
projection array|object

The » projection specification to determine which fields to include in the returned documents.

If you are using the ODM functionality to deserialise documents as their original PHP class, make sure that you include the __pclass field in the projection. This is required for the deserialization to work and without it, the driver will return (by default) a stdClass object instead.

readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation. By default, the read concern from the MongoDB Connection URI will be used.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

returnKey bool

If true, returns only the index keys in the resulting documents. Default value is false. If true and the find command does not use an index, the returned documents will be empty.

Falls back to the deprecated "$returnKey" modifier if not specified.

showRecordId bool

Determines whether to return the record identifier for each document. If true, adds a top-level "$recordId" field to the returned documents.

Falls back to the deprecated "$showDiskLoc" modifier if not specified.

singleBatch | bool | Determines whether to close the cursor after the first batch. Defaults to false.
skip | int | Number of documents to skip. Defaults to 0.
slaveOk | bool | Allow query of replica set secondaries
snapshot bool
Aviso

This option is deprecated and should not be used.

Prevents the cursor from returning a document more than once because of an intervening write operation.

Falls back to the deprecated "$snapshot" modifier if not specified.

sort array|object

The sort specification for the ordering of the results.

Falls back to the deprecated "$orderby" modifier if not specified.

tailable | bool | Returns a tailable cursor for a capped collection.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Changelog

Versão | Descrição
PECL mongodb 1.8.0

Added the "allowDiskUse" option.

The "oplogReplay" option is deprecated.

PECL mongodb 1.5.0

The "maxScan" and "snapshot" options are deprecated.

PECL mongodb 1.3.0

Added the "maxAwaitTimeMS" option.

PECL mongodb 1.2.0

Added the "allowPartialResults", "collation", "comment", "hint", "max", "maxScan", "maxTimeMS", "min", "returnKey", "showRecordId", and "snapshot" options.

Renamed the "partial" option to "allowPartialResults". For backwards compatibility, "partial" will still be read if "allowPartialResults" is not specified.

Removed the "slaveOk" option, which is obsolete. For queries using the legacy wire protocol OP_QUERY, the driver will set the slaveOk bit as needed in accordance with the » Server Selection Specification.

PECL mongodb 1.1.0 | Added the "readConcern" option.

Exemplos

Exemplo #1 MongoDB\Driver\Query::__construct() example

<?php
/* Select only documents authord by "bjori" with at least 100 views */
$filter = [
    'author' => 'bjori',
    'views' => [
        '$gte' => 100,
    ],
];

$options = [
    /* Only return the following fields in the matching documents */
    'projection' => [
        'title' => 1,
        'article' => 1,
    ],
    /* Return the documents in descending order of views */
    'sort' => [
        'views' => -1
    ],
];

$query = new MongoDB\Driver\Query($filter, $options);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$readPreference = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$cursor = $manager->executeQuery('databaseName.collectionName', $query, $readPreference);

foreach($cursor as $document) {
    var_dump($document);
}

?>

Veja Também

  • MongoDB\Driver\Manager::executeQuery() - Execute a database query
  • MongoDB\Driver\Cursor


The MongoDB\Driver\BulkWrite class

(mongodb >=1.0.0)

Introdução

The MongoDB\Driver\BulkWrite collects one or more write operations that should be sent to the server. After adding any number of insert, update, and delete operations, the collection may be executed via MongoDB\Driver\Manager::executeBulkWrite().

Write operations may either be ordered (default) or unordered. Ordered write operations are sent to the server, in the order provided, for serial execution. If a write fails, any remaining operations will be aborted. Unordered operations are sent to the server in an arbitrary order where they may be executed in parallel. Any errors that occur are reported after all operations have been attempted.

Sinopse da classe

final MongoDB\Driver\BulkWrite implements Countable {
/* Métodos */
public __construct ( array $options = ? )
public count ( ) : int
public delete ( array|object $filter , array $deleteOptions = ? ) : void
public insert ( array|object $document ) : mixed
public update ( array|object $filter , array|object $newObj , array $updateOptions = ? ) : void
}

Exemplos

Exemplo #1 Mixed write operations are grouped by type

Mixed write operations (i.e. inserts, updates, and deletes) will be assembled into typed write commands to be sent sequentially to the server.

<?php

$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);
$bulk->insert(['_id' => 1, 'x' => 1]);
$bulk->insert(['_id' => 2, 'x' => 2]);
$bulk->update(['x' => 2], ['$set' => ['x' => 1]]);
$bulk->insert(['_id' => 3, 'x' => 3]);
$bulk->delete(['x' => 1]);

?>

Will result in four write commands (i.e. roundtrips) being executed. Since the operations are ordered, the third insertion cannot be sent until the preceding update is executed.

Exemplo #2 Ordered write operations causing an error

<?php

$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);
$bulk->delete([]);
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3, 'hello' => 'world']);
$bulk->update(['_id' => 3], ['$set' => ['hello' => 'earth']]);
$bulk->insert(['_id' => 4, 'hello' => 'pluto']);
$bulk->update(['_id' => 4], ['$set' => ['hello' => 'moon']]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 5]);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);

try {
    $result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
    $result = $e->getWriteResult();

    // Check if the write concern could not be fulfilled
    if ($writeConcernError = $result->getWriteConcernError()) {
        printf("%s (%d): %s\n",
            $writeConcernError->getMessage(),
            $writeConcernError->getCode(),
            var_export($writeConcernError->getInfo(), true)
        );
    }

    // Check if any write operations did not complete at all
    foreach ($result->getWriteErrors() as $writeError) {
        printf("Operation#%d: %s (%d)\n",
            $writeError->getIndex(),
            $writeError->getMessage(),
            $writeError->getCode()
        );
    }
} catch (MongoDB\Driver\Exception\Exception $e) {
    printf("Other error: %s\n", $e->getMessage());
    exit;
}

printf("Inserted %d document(s)\n", $result->getInsertedCount());
printf("Updated  %d document(s)\n", $result->getModifiedCount());

?>

O exemplo acima irá imprimir:

Operation#7: E11000 duplicate key error index: db.collection.$_id_ dup key: { : 3 } (11000)
Inserted 4 document(s)
Updated  2 document(s)

If the write concern could not be fullfilled, the example above would output something like:

waiting for replication timed out (64): array (
  'wtimeout' => true,
)
Operation#7: E11000 duplicate key error index: databaseName.collectionName.$_id_ dup key: { : 3 } (11000)
Inserted 4 document(s)
Updated  2 document(s)

If we execute the example above, but allow for unordered writes:

<?php

$bulk = new MongoDB\Driver\BulkWrite(['ordered' => false]);
/* ... */

?>

O exemplo acima irá imprimir:

Operation#7: E11000 duplicate key error index: db.collection.$_id_ dup key: { : 3 } (11000)
Operation#8: E11000 duplicate key error index: db.collection.$_id_ dup key: { : 4 } (11000)
Inserted 5 document(s)
Updated  2 document(s)

Veja Também

  • MongoDB\Driver\Manager::executeBulkWrite()
  • MongoDB\Driver\WriteResult
  • MongoDB\Driver\WriteConcern
  • MongoDB\Driver\WriteConcernError
  • MongoDB\Driver\WriteError

Índice

  • MongoDB\Driver\BulkWrite::__construct — Create a new BulkWrite
  • MongoDB\Driver\BulkWrite::count — Count number of write operations in the bulk
  • MongoDB\Driver\BulkWrite::delete — Add a delete operation to the bulk
  • MongoDB\Driver\BulkWrite::insert — Add an insert operation to the bulk
  • MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk


Create a new BulkWrite

  • « MongoDB\Driver\BulkWrite
  • MongoDB\Driver\BulkWrite::count »
  • PHP Manual
  • MongoDB\Driver\BulkWrite
  • Create a new BulkWrite

MongoDB\Driver\BulkWrite::__construct

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::__construct — Create a new BulkWrite

Descrição

public MongoDB\Driver\BulkWrite::__construct ( array $options = ? )

Constructs a new MongoDB\Driver\BulkWrite, which is a mutable object to which one or more write operations may be added. The write(s) may then be executed with MongoDB\Driver\Manager::executeBulkWrite().

Parâmetros

options (array)

options
Option | Type | Description | Default
bypassDocumentValidation bool

If true, allows insert and update operations to circumvent document level validation.

This option is available in MongoDB 3.2+ and is ignored for older server versions, which do not support document level validation.

false
ordered | bool | Ordered operations (true) are executed serially on the MongoDB server, while unordered operations (false) are sent to the server in an arbitrary order and may be executed in parallel. | true

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Changelog

Versão | Descrição
PECL mongodb 1.1.0 | Added the "bypassDocumentValidation" option.

Exemplos

Exemplo #1 MongoDB\Driver\BulkWrite::__construct() example

<?php

$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);
$bulk->delete([]);
$bulk->insert(['_id' => 1, 'x' => 1]);
$bulk->insert(['_id' => 2, 'x' => 2]);
$bulk->update(
    ['x' => 2],
    ['$set' => ['x' => 1]],
    ['limit' => 1, 'upsert' => false]
);
$bulk->delete(['x' => 1], ['limit' => 1]);
$bulk->update(
    ['_id' => 3],
    ['$set' => ['x' => 3]],
    ['limit' => 1, 'upsert' => true]
);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$writeConcern = new MongoDB\Driver\WriteConcern(1);

try {
    $result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
    $result = $e->getWriteResult();

    // Check if the write concern could not be fulfilled
    if ($writeConcernError = $result->getWriteConcernError()) {
        printf("%s (%d): %s\n",
            $writeConcernError->getMessage(),
            $writeConcernError->getCode(),
            var_export($writeConcernError->getInfo(), true)
        );
    }

    // Check if any write operations did not complete at all
    foreach ($result->getWriteErrors() as $writeError) {
        printf("Operation#%d: %s (%d)\n",
            $writeError->getIndex(),
            $writeError->getMessage(),
            $writeError->getCode()
        );
    }
} catch (MongoDB\Driver\Exception\Exception $e) {
    printf("Other error: %s\n", $e->getMessage());
    exit;
}

printf("Inserted %d document(s)\n", $result->getInsertedCount());
printf("Updated  %d document(s)\n", $result->getModifiedCount());
printf("Upserted %d document(s)\n", $result->getUpsertedCount());
printf("Deleted  %d document(s)\n", $result->getDeletedCount());

?>

O exemplo acima irá imprimir:

Inserted 2 document(s)
Updated  1 document(s)
Upserted 1 document(s)
Deleted  1 document(s)

Veja Também

  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
  • MongoDB\Driver\WriteResult


Count number of write operations in the bulk

  • « MongoDB\Driver\BulkWrite::__construct
  • MongoDB\Driver\BulkWrite::delete »
  • PHP Manual
  • MongoDB\Driver\BulkWrite
  • Count number of write operations in the bulk

MongoDB\Driver\BulkWrite::count

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::count — Count number of write operations in the bulk

Descrição

public MongoDB\Driver\BulkWrite::count ( ) : int

Returns the number of write operations added to the MongoDB\Driver\BulkWrite object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns number of write operations added to the MongoDB\Driver\BulkWrite object.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Changelog

Versão | Descrição
PECL mongodb 1.2.0 | Returns the number of write operations added to the MongoDB\Driver\BulkWrite object. Earlier versions returned the expected number of client-to-server roundtrips required to execute all write operations.

Exemplos

Exemplo #1 MongoDB\Driver\BulkWrite::count() example

<?php

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1, 'x' => 1]);
$bulk->insert(['_id' => 2, 'x' => 2]);
$bulk->update(['x' => 2], ['$set' => ['x' => 1]]);
$bulk->delete(['x' => 1]);

var_dump(count($bulk));

?>

O exemplo acima irá imprimir:

int(4)


Add a delete operation to the bulk

  • « MongoDB\Driver\BulkWrite::count
  • MongoDB\Driver\BulkWrite::insert »
  • PHP Manual
  • MongoDB\Driver\BulkWrite
  • Add a delete operation to the bulk

MongoDB\Driver\BulkWrite::delete

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::delete — Add a delete operation to the bulk

Descrição

public MongoDB\Driver\BulkWrite::delete ( array|object $filter , array $deleteOptions = ? ) : void

Adds a delete operation to the MongoDB\Driver\BulkWrite.

Parâmetros

filter (array|object)

O filtro de busca.

deleteOptions

deleteOptions
Option | Type | Description | Default
collation array|object

» Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks. When specifying collation, the "locale" field is mandatory; all other collation fields are optional. For descriptions of the fields, see » Collation Document.

If the collation is unspecified but the collection has a default collation, the operation uses the collation specified for the collection. If no collation is specified for the collection or for the operation, MongoDB uses the simple binary comparison used in prior versions for string comparisons.

This option is available in MongoDB 3.4+ and will result in an exception at execution time if specified for an older server version.

hint string|array|object

Index specification. Specify either the index name as a string or the index key pattern. If specified, then the query system will only consider plans using the hinted index.

This option is available in MongoDB 4.4+ and will result in an exception at execution time if specified for an older server version.

limit | bool | Delete all matching documents (false), or only the first matching document (true) | false

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Changelog

Versão | Descrição
PECL mongodb 1.8.0 | Added the "hint" option.
PECL mongodb 1.2.0 | Added the "collation" option.

Exemplos

Exemplo #1 MongoDB\Driver\BulkWrite::delete() example

<?php

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->delete(['x' => 1], ['limit' => 1]);
$bulk->delete(['x' => 2], ['limit' => 0]);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$result = $manager->executeBulkWrite('db.collection', $bulk);

?>

Veja Também

  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
  • MongoDB\Driver\WriteResult


Add an insert operation to the bulk

  • « MongoDB\Driver\BulkWrite::delete
  • MongoDB\Driver\BulkWrite::update »
  • PHP Manual
  • MongoDB\Driver\BulkWrite
  • Add an insert operation to the bulk

MongoDB\Driver\BulkWrite::insert

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::insert — Add an insert operation to the bulk

Descrição

public MongoDB\Driver\BulkWrite::insert ( array|object $document ) : mixed

Adds an insert operation to the MongoDB\Driver\BulkWrite.

Parâmetros

document (array|object)

A document to insert.

Valor Retornado

Returns the _id of the inserted document. If the document did not have an _id, the MongoDB\BSON\ObjectId generated for the insert will be returned.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Changelog

Versão | Descrição
PECL mongodb 1.3.0 | The _id of the inserted document is always returned. Previously, the method only returned a value if a MongoDB\BSON\ObjectId was generated.

Exemplos

Exemplo #1 MongoDB\Driver\BulkWrite::insert() example

<?php

$bulk = new MongoDB\Driver\BulkWrite;

$document1 = ['title' => 'one'];
$document2 = ['_id' => 'custom ID', 'title' => 'two'];
$document3 = ['_id' => new MongoDB\BSON\ObjectId, 'title' => 'three'];

$_id1 = $bulk->insert($document1);
$_id2 = $bulk->insert($document2);
$_id3 = $bulk->insert($document3);

var_dump($_id1, $_id2, $_id3);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$result = $manager->executeBulkWrite('db.collection', $bulk);

?>

O exemplo acima irá imprimir algo similar à:

object(MongoDB\BSON\ObjectId)#3 (1) {
  ["oid"]=>
  string(24) "54d51146bd21b91405401d92"
}
NULL
NULL

Veja Também

  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
  • MongoDB\Driver\WriteResult
  • MongoDB\BSON\ObjectId
  • MongoDB\BSON\Persistable


Add an update operation to the bulk

  • « MongoDB\Driver\BulkWrite::insert
  • MongoDB\Driver\Session »
  • PHP Manual
  • MongoDB\Driver\BulkWrite
  • Add an update operation to the bulk

MongoDB\Driver\BulkWrite::update

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk

Descrição

public MongoDB\Driver\BulkWrite::update ( array|object $filter , array|object $newObj , array $updateOptions = ? ) : void

Adds an update operation to the MongoDB\Driver\BulkWrite.

Parâmetros

filter (array|object)

O filtro de busca.

newObj (array|object)

A document containing either update operators (e.g. $set), a replacement document (i.e. only field:value expressions), or an » aggregation pipeline.

updateOptions

updateOptions
Option | Type | Description | Default
arrayFilters array

An array of filter documents that determines which array elements to modify for an update operation on an array field. See » Specify arrayFilters for Array Update Operations in the MongoDB manual for more information.

This option is available in MongoDB 3.6+ and will result in an exception at execution time if specified for an older server version.

collation array|object

» Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks. When specifying collation, the "locale" field is mandatory; all other collation fields are optional. For descriptions of the fields, see » Collation Document.

If the collation is unspecified but the collection has a default collation, the operation uses the collation specified for the collection. If no collation is specified for the collection or for the operation, MongoDB uses the simple binary comparison used in prior versions for string comparisons.

This option is available in MongoDB 3.4+ and will result in an exception at execution time if specified for an older server version.

hint string|array|object

Index specification. Specify either the index name as a string or the index key pattern. If specified, then the query system will only consider plans using the hinted index.

This option is available in MongoDB 4.2+ and will result in an exception at execution time if specified for an older server version.

multi | bool | Update only the first matching document if false, or all matching documents true. This option cannot be true if newObj is a replacement document. | false
upsert | bool | If filter does not match an existing document, insert a single document. The document will be created from newObj if it is a replacement document (i.e. no update operators); otherwise, the operators in newObj will be applied to filter to create the new document. | false

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Changelog

Versão | Descrição
PECL mongodb 1.7.0 | Added the "hint" option.
PECL mongodb 1.6.0 | The newObj parameter now accepts an aggregation pipeline. This feature requires MongoDB 4.2+ and will result in an exception at execution time if specified for an older server version.
PECL mongodb 1.5.0 | Using the "arrayFilters" option will result in an exception at execution time if unsupported by the server. Previously, no exception would be thrown and the option may have been ignored.
PECL mongodb 1.4.0 | Added the "arrayFilters" option.
PECL mongodb 1.2.0 | Added the "collation" option.

Exemplos

Exemplo #1 MongoDB\Driver\BulkWrite::update() example

<?php

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->update(
    ['x' => 2],
    ['$set' => ['y' => 3]],
    ['multi' => false, 'upsert' => false]
);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$result = $manager->executeBulkWrite('db.collection', $bulk);

?>

Veja Também

  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
  • MongoDB\Driver\WriteResult


The MongoDB\Driver\Session class

(mongodb >=1.4.0)

Introdução

The MongoDB\Driver\Session class represents a client session and is returned by MongoDB\Driver\Manager::startSession(). Commands, queries, and write operations may then be associated the session.

Sinopse da classe

final MongoDB\Driver\Session {
/* Constants */
const string TRANSACTION_NONE = none ;
const string TRANSACTION_STARTING = starting ;
const string TRANSACTION_IN_PROGRESS = in_progress ;
const string TRANSACTION_COMMITTED = committed ;
const string TRANSACTION_ABORTED = aborted ;
/* Métodos */
final public abortTransaction ( ) : void
final public advanceClusterTime ( array|object $clusterTime ) : void
final public advanceOperationTime ( MongoDB\BSON\TimestampInterface $operationTime ) : void
final public commitTransaction ( ) : void
final private __construct ( )
final public endSession ( ) : void
final public getClusterTime ( ) : object|null
final public getLogicalSessionId ( ) : object
final public getOperationTime ( ) : MongoDB\BSON\Timestamp|null
final public getServer ( ) : MongoDB\Driver\Server|null
final public getTransactionOptions ( ) : array|null
final public getTransactionState ( ) : string
final public isInTransaction ( ) : bool
final public startTransaction ( array $options = ? ) : void
}

Constantes pré-definidas

MongoDB\Driver\Session::TRANSACTION_NONE

There is no transaction in progress.

MongoDB\Driver\Session::TRANSACTION_STARTING

A transaction has been started, but no operation has been sent to the server.

MongoDB\Driver\Session::TRANSACTION_IN_PROGRESS

A transaction is in progress.

MongoDB\Driver\Session::TRANSACTION_COMMITTED

The transaction was committed.

MongoDB\Driver\Session::TRANSACTION_ABORTED

The transaction was aborted.

Índice

  • MongoDB\Driver\Session::abortTransaction — Aborts a transaction
  • MongoDB\Driver\Session::advanceClusterTime — Advances the cluster time for this session
  • MongoDB\Driver\Session::advanceOperationTime — Advances the operation time for this session
  • MongoDB\Driver\Session::commitTransaction — Commits a transaction
  • MongoDB\Driver\Session::__construct — Create a new Session (not used)
  • MongoDB\Driver\Session::endSession — Terminates a session
  • MongoDB\Driver\Session::getClusterTime — Returns the cluster time for this session
  • MongoDB\Driver\Session::getLogicalSessionId — Returns the logical session ID for this session
  • MongoDB\Driver\Session::getOperationTime — Returns the operation time for this session
  • MongoDB\Driver\Session::getServer — Returns the server to which this session is pinned
  • MongoDB\Driver\Session::getTransactionOptions — Returns options for the currently running transaction
  • MongoDB\Driver\Session::getTransactionState — Returns the current transaction state for this session
  • MongoDB\Driver\Session::isInTransaction — Returns whether a multi-document transaction is in progress
  • MongoDB\Driver\Session::startTransaction — Starts a transaction


Aborts a transaction

  • « MongoDB\Driver\Session
  • MongoDB\Driver\Session::advanceClusterTime »
  • PHP Manual
  • MongoDB\Driver\Session
  • Aborts a transaction

MongoDB\Driver\Session::abortTransaction

(mongodb >=1.5.0)

MongoDB\Driver\Session::abortTransaction — Aborts a transaction

Descrição

final public MongoDB\Driver\Session::abortTransaction ( ) : void

Terminates the multi-document transaction and rolls back any data changes made by the operations within the transaction. That is, the transaction ends without saving any of the changes made by the operations in the transaction.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\RuntimeException if the transaction could not be aborted (e.g. a transaction was not started).

Veja Também

  • MongoDB\Driver\Manager::startSession() - Start a new client session for use with this client
  • MongoDB\Driver\Session::commitTransaction() - Commits a transaction
  • MongoDB\Driver\Session::startTransaction() - Starts a transaction


Advances the cluster time for this session

  • « MongoDB\Driver\Session::abortTransaction
  • MongoDB\Driver\Session::advanceOperationTime »
  • PHP Manual
  • MongoDB\Driver\Session
  • Advances the cluster time for this session

MongoDB\Driver\Session::advanceClusterTime

(mongodb >=1.4.0)

MongoDB\Driver\Session::advanceClusterTime — Advances the cluster time for this session

Descrição

final public MongoDB\Driver\Session::advanceClusterTime ( array|object $clusterTime ) : void

Advances the cluster time for this session. If the cluster time is less than or equal to the session's current cluster time, this function is a no-op.

By using this method in conjunction with MongoDB\Driver\Session::advanceOperationTime() to copy the cluster and operation times from another session, you can ensure that operations in this session are causally consistent with the last operation in the other session.

Parâmetros

clusterTime

The cluster time is a document containing a logical timestamp and server signature. Typically, this value will be obtained by calling MongoDB\Driver\Session::getClusterTime() on another session object.

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Session::advanceOperationTime() - Advances the operation time for this session
  • MongoDB\Driver\Session::getClusterTime() - Returns the cluster time for this session


Advances the operation time for this session

  • « MongoDB\Driver\Session::advanceClusterTime
  • MongoDB\Driver\Session::commitTransaction »
  • PHP Manual
  • MongoDB\Driver\Session
  • Advances the operation time for this session

MongoDB\Driver\Session::advanceOperationTime

(mongodb >=1.4.0)

MongoDB\Driver\Session::advanceOperationTime — Advances the operation time for this session

Descrição

final public MongoDB\Driver\Session::advanceOperationTime ( MongoDB\BSON\TimestampInterface $operationTime ) : void

Advances the operation time for this session. If the operation time is less than or equal to the session's current operation time, this function is a no-op.

By using this method in conjunction with MongoDB\Driver\Session::advanceClusterTime() to copy the operation and cluster times from another session, you can ensure that operations in this session are causally consistent with the last operation in the other session.

Parâmetros

operationTime

The operation time is a logical timestamp. Typically, this value will be obtained by calling MongoDB\Driver\Session::getOperationTime() on another session object.

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Session::advanceClusterTime() - Advances the cluster time for this session
  • MongoDB\Driver\Session::getClusterTime() - Returns the cluster time for this session


Commits a transaction

  • « MongoDB\Driver\Session::advanceOperationTime
  • MongoDB\Driver\Session::__construct »
  • PHP Manual
  • MongoDB\Driver\Session
  • Commits a transaction

MongoDB\Driver\Session::commitTransaction

(mongodb >=1.5.0)

MongoDB\Driver\Session::commitTransaction — Commits a transaction

Descrição

final public MongoDB\Driver\Session::commitTransaction ( ) : void

Saves the changes made by the operations in the multi-document transaction and ends the transaction. Until the commit, none of the data changes made from within the transaction are visible outside the transaction.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\CommandException if the server could not commit the transaction (e.g. due to conflicts, network issues). In case the exception's MongoDB\Driver\Exception\CommandException::getResultDocument() has a "errorLabels" element, and this array contains a "TransientTransactionError" or "UnUnknownTransactionCommitResult" value, it is safe to re-try the whole transaction. In newer versions of the driver, MongoDB\Driver\Exception\RuntimeException::hasErrorLabel() should be used to test for this situation instead.
  • Throws MongoDB\Driver\Exception\RuntimeException if the transaction could not be commited (e.g. a transaction was not started).

Veja Também

  • MongoDB\Driver\Manager::startSession() - Start a new client session for use with this client
  • MongoDB\Driver\Session::abortTransaction() - Aborts a transaction
  • MongoDB\Driver\Session::startTransaction() - Starts a transaction
  • MongoDB\Driver\Exception\RuntimeException::hasErrorLabel() - Returns whether an error label is associated with an exception


Create a new Session (not used)

  • « MongoDB\Driver\Session::commitTransaction
  • MongoDB\Driver\Session::endSession »
  • PHP Manual
  • MongoDB\Driver\Session
  • Create a new Session (not used)

MongoDB\Driver\Session::__construct

(mongodb >=1.4.0)

MongoDB\Driver\Session::__construct — Create a new Session (not used)

Descrição

final private MongoDB\Driver\Session::__construct ( )

MongoDB\Driver\Session objects are returned by MongoDB\Driver\Manager::startSession() and cannot be constructed directly.

Parâmetros

Esta função não possui parâmetros.

Veja Também

  • MongoDB\Driver\Manager::startSession() - Start a new client session for use with this client


Terminates a session

  • « MongoDB\Driver\Session::__construct
  • MongoDB\Driver\Session::getClusterTime »
  • PHP Manual
  • MongoDB\Driver\Session
  • Terminates a session

MongoDB\Driver\Session::endSession

(mongodb >=1.5.0)

MongoDB\Driver\Session::endSession — Terminates a session

Descrição

final public MongoDB\Driver\Session::endSession ( ) : void

This method closes an existing session. If a transaction was associated with this session, the transaction will be aborted. After calling this method, applications should not invoke other methods on the session.

Nota: Sessions are also closed during garbage collection. It should not be necessary to call this method under normal circumstances.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Manager::startSession() - Start a new client session for use with this client
  • MongoDB\Driver\Session::abortTransaction() - Aborts a transaction
  • MongoDB\Driver\Session::commitTransaction() - Commits a transaction
  • MongoDB\Driver\Session::startTransaction() - Starts a transaction


Returns the cluster time for this session

  • « MongoDB\Driver\Session::endSession
  • MongoDB\Driver\Session::getLogicalSessionId »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns the cluster time for this session

MongoDB\Driver\Session::getClusterTime

(mongodb >=1.4.0)

MongoDB\Driver\Session::getClusterTime — Returns the cluster time for this session

Descrição

final public MongoDB\Driver\Session::getClusterTime ( ) : object|null

Returns the cluster time for this session. If the session has not been used for any operation and MongoDB\Driver\Session::advanceClusterTime() has not been called, the cluster time will be null.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the cluster time for this session, or null if the session has no cluster time.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Session::advanceClusterTime() - Advances the cluster time for this session


Returns the logical session ID for this session

  • « MongoDB\Driver\Session::getClusterTime
  • MongoDB\Driver\Session::getOperationTime »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns the logical session ID for this session

MongoDB\Driver\Session::getLogicalSessionId

(mongodb >=1.4.0)

MongoDB\Driver\Session::getLogicalSessionId — Returns the logical session ID for this session

Descrição

final public MongoDB\Driver\Session::getLogicalSessionId ( ) : object

Returns the logical session ID for this session, which may be used to identify this session's operations on the server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the logical session ID for this session.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.


Returns the operation time for this session

  • « MongoDB\Driver\Session::getLogicalSessionId
  • MongoDB\Driver\Session::getServer »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns the operation time for this session

MongoDB\Driver\Session::getOperationTime

(mongodb >=1.4.0)

MongoDB\Driver\Session::getOperationTime — Returns the operation time for this session

Descrição

final public MongoDB\Driver\Session::getOperationTime ( ) : MongoDB\BSON\Timestamp|null

Returns the operation time for this session. If the session has not been used for any operation and MongoDB\Driver\Session::advanceOperationTime() has not been called, the operation time will be null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the operation time for this session, or null if the session has no operation time.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Session::advanceOperationTime() - Advances the operation time for this session


Returns the server to which this session is pinned

  • « MongoDB\Driver\Session::getOperationTime
  • MongoDB\Driver\Session::getTransactionOptions »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns the server to which this session is pinned

MongoDB\Driver\Session::getServer

(mongodb >=1.6.0)

MongoDB\Driver\Session::getServer — Returns the server to which this session is pinned

Descrição

final public MongoDB\Driver\Session::getServer ( ) : MongoDB\Driver\Server|null

Returns the MongoDB\Driver\Server to which this session is pinned. If the session is not pinned to a server, null will be returned.

Session pinning is primarily used for sharded transactions, as all commands within a sharded transaction must be sent to the same mongos instance. This method is intended to be used by libraries built atop the extension to allow use of a pinned server instead of invoking server selection.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the MongoDB\Driver\Server to which this session is pinned, or null if the session is not pinned to any server.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.


Returns options for the currently running transaction

  • « MongoDB\Driver\Session::getServer
  • MongoDB\Driver\Session::getTransactionState »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns options for the currently running transaction

MongoDB\Driver\Session::getTransactionOptions

(mongodb >=1.7.0)

MongoDB\Driver\Session::getTransactionOptions — Returns options for the currently running transaction

Descrição

final public MongoDB\Driver\Session::getTransactionOptions ( ) : array|null

Returns options for the currently running transaction.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a array containing current transaction options, or null if no transaction is running.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Session::getTransactionState() - Returns the current transaction state for this session


Returns the current transaction state for this session

  • « MongoDB\Driver\Session::getTransactionOptions
  • MongoDB\Driver\Session::isInTransaction »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns the current transaction state for this session

MongoDB\Driver\Session::getTransactionState

(mongodb >=1.7.0)

MongoDB\Driver\Session::getTransactionState — Returns the current transaction state for this session

Descrição

final public MongoDB\Driver\Session::getTransactionState ( ) : string

Returns the transaction state for this session.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current transaction state for this session.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Session::isInTransaction() - Returns whether a multi-document transaction is in progress
  • MongoDB\Driver\Session::getTransactionOptions() - Returns options for the currently running transaction


Returns whether a multi-document transaction is in progress

  • « MongoDB\Driver\Session::getTransactionState
  • MongoDB\Driver\Session::startTransaction »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns whether a multi-document transaction is in progress

MongoDB\Driver\Session::isInTransaction

(mongodb >=1.6.0)

MongoDB\Driver\Session::isInTransaction — Returns whether a multi-document transaction is in progress

Descrição

final public MongoDB\Driver\Session::isInTransaction ( ) : bool

Returns whether a multi-document transaction is currently in progress for this session. A transaction is considered "in progress" if it has been started but has not been committed or aborted.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if a transaction is currently in progress for this session, and false otherwise.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Session::getTransactionState() - Returns the current transaction state for this session


Starts a transaction

  • « MongoDB\Driver\Session::isInTransaction
  • MongoDB\Driver\ClientEncryption »
  • PHP Manual
  • MongoDB\Driver\Session
  • Starts a transaction

MongoDB\Driver\Session::startTransaction

(mongodb >=1.5.0)

MongoDB\Driver\Session::startTransaction — Starts a transaction

Descrição

final public MongoDB\Driver\Session::startTransaction ( array $options = ? ) : void

Starts a multi-document transaction associated with the session. At any given time, you can have at most one open transaction for a session. After starting a transaction, the session object must be passed to each operation via the "session" option (e.g. MongoDB\Driver\Manager::executeBulkWrite()) in order to associate that operation with the transaction.

Transactions can be committed through MongoDB\Driver\Session::commitTransaction(), and aborted with MongoDB\Driver\Session::abortTransaction(). Transactions are also automatically aborted when the session is closed from garbage collection or by explicitly calling MongoDB\Driver\Session::endSession().

Parâmetros

options

Options can be passed as argument to this method. Each element in this options array overrides the corresponding option from the "defaultTransactionOptions" option, if set when starting the session with MongoDB\Driver\Manager::startSession().

options
Option Type Description
maxCommitTimeMS integer

The maximum amount of time in milliseconds to allow a single commitTransaction command to run.

If specified, maxCommitTimeMS must be a signed 32-bit integer greater than or equal to zero.

readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\CommandException if the transaction could not be started because of a server-side problem (e.g. a lock could not be obtained).
  • Throws MongoDB\Driver\Exception\RuntimeException if the transaction could not be started (e.g. a transaction was already started).

Changelog

Versão | Descrição
PECL mongodb 1.6.0 | The "maxCommitTimeMS" option was added.

Veja Também

  • MongoDB\Driver\Manager::startSession() - Start a new client session for use with this client
  • MongoDB\Driver\Session::commitTransaction() - Commits a transaction
  • MongoDB\Driver\Session::abortTransaction() - Aborts a transaction


The MongoDB\Driver\ClientEncryption class

(mongodb >=1.7.0)

Introdução

The MongoDB\Driver\ClientEncryption class handles creation of data keys for client-side encryption, as well as manually encrypting and decrypting values.

Sinopse da classe

final MongoDB\Driver\ClientEncryption {
/* Constants */
const string AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC = AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic ;
const string AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM = AEAD_AES_256_CBC_HMAC_SHA_512-Random ;
/* Métodos */
final public createDataKey ( string $kmsProvider , array $options = ? ) : MongoDB\BSON\Binary
final public decrypt ( MongoDB\BSON\Binary $value ) : mixed
final public encrypt ( mixed $value , array $options = ? ) : MongoDB\BSON\Binary
}

Constantes pré-definidas

MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC

Uses randomized encryption.

MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM

Uses deterministic (queryable) encryption.

Veja Também

  • MongoDB\Driver\Manager::createClientEncryption()

Índice

  • MongoDB\Driver\ClientEncryption::createDataKey — Create a new encryption data key
  • MongoDB\Driver\ClientEncryption::decrypt — Decrypt a value
  • MongoDB\Driver\ClientEncryption::encrypt — Encrypt a value


Create a new encryption data key

  • « MongoDB\Driver\ClientEncryption
  • MongoDB\Driver\ClientEncryption::decrypt »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Create a new encryption data key

MongoDB\Driver\ClientEncryption::createDataKey

(mongodb >=1.7.0)

MongoDB\Driver\ClientEncryption::createDataKey — Create a new encryption data key

Descrição

final public MongoDB\Driver\ClientEncryption::createDataKey ( string $kmsProvider , array $options = ? ) : MongoDB\BSON\Binary

Creates a new key document and inserts it into the key vault collection.

Parâmetros

kmsProvider

The KMS provider ("local" or "aws") that will be used to encrypt the new encryption key.

options

Data key options
Option Type Description
masterKey array

The masterKey identifies a KMS-specific key used to encrypt the new data key. If the kmsProvider is aws it is required and has the following fields:

AWS masterKey options
Option | Type | Description
region | string | Required.
key | string | Required. The Amazon Resource Name (ARN) to the AWS customer master key (CMK).
endpoint | string | Optional. An alternate host identifier to send KMS requests to. May include port number.

keyAltNames array

An optional list of string alternate names used to reference a key. If a key is created with alternate names, then encryption may refer to the key by the unique alternate name instead of by _id.

Valor Retornado

Returns the identifier of the new key as a MongoDB\BSON\Binary object with subtype 4 (UUID).

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\EncryptionException if an error occurs while creating the data key


Decrypt a value

  • « MongoDB\Driver\ClientEncryption::createDataKey
  • MongoDB\Driver\ClientEncryption::encrypt »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Decrypt a value

MongoDB\Driver\ClientEncryption::decrypt

(mongodb >=1.7.0)

MongoDB\Driver\ClientEncryption::decrypt — Decrypt a value

Descrição

final public MongoDB\Driver\ClientEncryption::decrypt ( MongoDB\BSON\Binary $value ) : mixed

Decrypts the value.

Parâmetros

value

A MongoDB\BSON\Binary instance with subtype 6 containing the encrypted value.

Valor Retornado

Returns the decrypted value as it was passed to MongoDB\Driver\ClientEncryption::encrypt().

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\EncryptionException if an error occurs while decrypting the value

Veja Também

  • MongoDB\Driver\ClientEncryption::encrypt() - Encrypt a value


Encrypt a value

  • « MongoDB\Driver\ClientEncryption::decrypt
  • MongoDB\Driver\WriteConcern »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Encrypt a value

MongoDB\Driver\ClientEncryption::encrypt

(mongodb >=1.7.0)

MongoDB\Driver\ClientEncryption::encrypt — Encrypt a value

Descrição

final public MongoDB\Driver\ClientEncryption::encrypt ( mixed $value , array $options = ? ) : MongoDB\BSON\Binary

Encrypts the value.

Parâmetros

value

The value to be encrypted. Any value that can be inserted into MongoDB can be encrypted using this method.

options

Encryption options
Option Type Description
algorithm string

The encryption algorithm to be used. Use the constants defined in MongoDB\Driver\ClientEncryption.

keyAltName string

Identifies a key vault collection document by keyAltName.

keyId MongoDB\BSON\Binary

Identifies a data key by _id. The value is a UUID (binary subtype 4).

Nota: Exactly one of keyId and keyAltName must be provided. The algorithm option is required.

Valor Retornado

Returns the encrypted value as MongoDB\BSON\Binary object with subtype 6.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\EncryptionException if an error occurs while encrypting the value

Veja Também

  • MongoDB\Driver\ClientEncryption::decrypt() - Decrypt a value


The MongoDB\Driver\WriteConcern class

(mongodb >=1.0.0)

Introdução

MongoDB\Driver\WriteConcern describes the level of acknowledgement requested from MongoDB for write operations to a standalone mongod or to replica sets or to sharded clusters. In sharded clusters, mongos instances will pass the write concern on to the shards.

Sinopse da classe

final MongoDB\Driver\WriteConcern implements MongoDB\BSON\Serializable , Serializable {
/* Constants */
const string MAJORITY = "majority" ;
/* Métodos */
final public bsonSerialize ( ) : object
final public __construct ( string|int $w , int $wtimeout = ? , bool $journal = ? )
final public getJournal ( ) : bool|null
final public getW ( ) : string|int|null
final public getWtimeout ( ) : int|MongoDB\BSON\Int64
final public isDefault ( ) : bool
final public serialize ( ) : string
final public unserialize ( string $serialized ) : void
}

Constantes pré-definidas

MongoDB\Driver\WriteConcern::MAJORITY

Majority of all the members in the set; arbiters, non-voting members, passive members, hidden members and delayed members are all included in the definition of majority write concern.

Changelog

Versão | Descrição
PECL mongodb 1.7.0 | Implements Serializable.
PECL mongodb 1.2.0 | Implements MongoDB\BSON\Serializable.

Índice

  • MongoDB\Driver\WriteConcern::bsonSerialize — Returns an object for BSON serialization
  • MongoDB\Driver\WriteConcern::__construct — Create a new WriteConcern
  • MongoDB\Driver\WriteConcern::getJournal — Returns the WriteConcern's "journal" option
  • MongoDB\Driver\WriteConcern::getW — Returns the WriteConcern's "w" option
  • MongoDB\Driver\WriteConcern::getWtimeout — Returns the WriteConcern's "wtimeout" option
  • MongoDB\Driver\WriteConcern::isDefault — Checks if this is the default write concern
  • MongoDB\Driver\WriteConcern::serialize — Serialize a WriteConcern
  • MongoDB\Driver\WriteConcern::unserialize — Unserialize a WriteConcern


Returns an object for BSON serialization

  • « MongoDB\Driver\WriteConcern
  • MongoDB\Driver\WriteConcern::__construct »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Returns an object for BSON serialization

MongoDB\Driver\WriteConcern::bsonSerialize

(mongodb >=1.2.0)

MongoDB\Driver\WriteConcern::bsonSerialize — Returns an object for BSON serialization

Descrição

final public MongoDB\Driver\WriteConcern::bsonSerialize ( ) : object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an object for serializing the WriteConcern as BSON.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteConcern::bsonSerialize() with majority write concern

<?php

$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY);
var_dump($wc->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($wc));

?>

O exemplo acima irá imprimir algo similar à:

object(stdClass)#2 (1) {
  ["w"]=>
  string(8) "majority"
}

{ "w" : "majority" }

Exemplo #2 MongoDB\Driver\WriteConcern::bsonSerialize() with wtimeout and journal

<?php

$wc = new MongoDB\Driver\WriteConcern(2, 1000, true);
var_dump($wc->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($wc));

?>

O exemplo acima irá imprimir algo similar à:

object(stdClass)#2 (3) {
  ["w"]=>
  int(2)
  ["j"]=>
  bool(true)
  ["wtimeout"]=>
  int(1000)
}

{ "w" : 2, "j" : true, "wtimeout" : 1000 }

Veja Também

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
  • » Write Concern reference


Create a new WriteConcern

  • « MongoDB\Driver\WriteConcern::bsonSerialize
  • MongoDB\Driver\WriteConcern::getJournal »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Create a new WriteConcern

MongoDB\Driver\WriteConcern::__construct

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::__construct — Create a new WriteConcern

Descrição

final public MongoDB\Driver\WriteConcern::__construct ( string|int $w , int $wtimeout = ? , bool $journal = ? )

Constructs a new MongoDB\Driver\WriteConcern, which is an immutable value object.

Parâmetros

w

Write concern
Value | Description
1 | Requests acknowledgement that the write operation has propagated to the standalone mongod or the primary in a replica set. This is the default write concern for MongoDB.
0 | Requests no acknowledgment of the write operation. However, this may return information about socket exceptions and networking errors to the application.
<integer greater than 1> | Numbers greater than 1 are valid only for replica sets to request acknowledgement from specified number of members, including the primary.
MongoDB\Driver\WriteConcern::MAJORITY

Requests acknowledgment that write operations have propagated to the majority of voting nodes, including the primary, and have been written to the on-disk journal for these nodes.

Prior to MongoDB 3.0, this refers to the majority of replica set members (not just voting nodes).

string | A string value is interpereted as a tag set. Requests acknowledgement that the write operations have propagated to a replica set member with the specified tag.

wtimeout

How long to wait (in milliseconds) for secondaries before failing.

wtimeout causes write operations to return with an error (WriteConcernError) after the specified limit, even if the required write concern will eventually succeed. When these write operations return, MongoDB does not undo successful data modifications performed before the write concern exceeded the wtimeout time limit.

If specified, wtimeout must be a signed 64-bit integer greater than or equal to zero.

Write concern timeout
Value | Description
0 | Block indefinitely. This is the default.
<integer greater than 0> | Milliseconds to wait until returning.

journal

Wait until mongod has applied the write to the journal.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if w is invalid or wtimeout is either negative or greater than the bounds of a signed 32-bit integer.

Changelog

Versão | Descrição
PECL mongodb 1.7.0 | The wTimeout parameter now accepts 64-bit values.

Exemplos

Exemplo #1 MongoDB\Driver\WriteConcern::__construct() example

<?php

/* Request write acknowledgement from the majority of the replica set nodes */
$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 500);

/* Request write acknowledgement from a node configured with the "MultipleDC" tag */
$wc = new MongoDB\Driver\WriteConcern("MultipleDC", 500);

?>

Veja Também

  • » Write Concern reference


Returns the WriteConcern's "journal" option

  • « MongoDB\Driver\WriteConcern::__construct
  • MongoDB\Driver\WriteConcern::getW »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Returns the WriteConcern's "journal" option

MongoDB\Driver\WriteConcern::getJournal

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::getJournal — Returns the WriteConcern's "journal" option

Descrição

final public MongoDB\Driver\WriteConcern::getJournal ( ) : bool|null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the WriteConcern's "journal" option.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteConcern::getJournal() example

<?php

$wc = new MongoDB\Driver\WriteConcern(1);
var_dump($wc->getJournal());

$wc = new MongoDB\Driver\WriteConcern(1, 0, true);
var_dump($wc->getJournal());

$wc = new MongoDB\Driver\WriteConcern(1, 0, false);
var_dump($wc->getJournal());

?>

O exemplo acima irá imprimir:

NULL
bool(true)
bool(false)

Veja Também

  • » Write Concern reference


Returns the WriteConcern's "w" option

  • « MongoDB\Driver\WriteConcern::getJournal
  • MongoDB\Driver\WriteConcern::getWtimeout »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Returns the WriteConcern's "w" option

MongoDB\Driver\WriteConcern::getW

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::getW — Returns the WriteConcern's "w" option

Descrição

final public MongoDB\Driver\WriteConcern::getW ( ) : string|int|null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the WriteConcern's "w" option.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteConcern::getW() example

<?php

$wc = new MongoDB\Driver\WriteConcern(1);
var_dump($wc->getW());

$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY);
var_dump($wc->getW());

?>

O exemplo acima irá imprimir:

int(1)
string(8) "majority"

Veja Também

  • » Write Concern reference


Returns the WriteConcern's "wtimeout" option

  • « MongoDB\Driver\WriteConcern::getW
  • MongoDB\Driver\WriteConcern::isDefault »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Returns the WriteConcern's "wtimeout" option

MongoDB\Driver\WriteConcern::getWtimeout

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::getWtimeout — Returns the WriteConcern's "wtimeout" option

Descrição

final public MongoDB\Driver\WriteConcern::getWtimeout ( ) : int|MongoDB\BSON\Int64

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the WriteConcern's "wtimeout" option.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Changelog

Versão | Descrição
PECL mongodb 1.7.0 | On 32-bit systems, this method will return a MongoDB\BSON\Int64 instance if the WriteConcern object was created with a wTimeout that exceeds the 32-bit range. On 64-bit systems, this method will always return an integer value.

Exemplos

Exemplo #1 MongoDB\Driver\WriteConcern::getWtimeout() example

<?php

$wc = new MongoDB\Driver\WriteConcern(1);
var_dump($wc->getWtimeout());

$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 3000);
var_dump($wc->getWtimeout());

?>

O exemplo acima irá imprimir:

int(0)
int(3000)

Veja Também

  • » Write Concern reference


Checks if this is the default write concern

  • « MongoDB\Driver\WriteConcern::getWtimeout
  • MongoDB\Driver\WriteConcern::serialize »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Checks if this is the default write concern

MongoDB\Driver\WriteConcern::isDefault

(mongodb >=1.3.0)

MongoDB\Driver\WriteConcern::isDefault — Checks if this is the default write concern

Descrição

final public MongoDB\Driver\WriteConcern::isDefault ( ) : bool

Returns whether this is the default write concern (i.e. no options are specified). This method is primarily intended to be used in conjunction with MongoDB\Driver\Manager::getWriteConcern() to determine whether the Manager has been constructed without any write concern options.

The driver will not include a default write concern in its write operations (e.g. MongoDB\Driver\Manager::executeBulkWrite()) in order to allow the server to apply its own default, which may have been » modified. Libraries that access the Manager's write concern to include it in their own write commands should use this method to ensure that default write concerns are left unset.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if this is the default write concern and false otherwise.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteConcern::isDefault() example

<?php

$wc = new MongoDB\Driver\WriteConcern(1);
var_dump($wc->isDefault());

$manager = new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w=majority');
$wc = $manager->getWriteConcern();
var_dump($wc->isDefault());

$manager = new MongoDB\Driver\Manager('mongodb://127.0.0.1/');
$wc = $manager->getWriteConcern();
var_dump($wc->isDefault());

?>

O exemplo acima irá imprimir:

bool(false)
bool(false)
bool(true)

Veja Também

  • MongoDB\Driver\Manager::getWriteConcern() - Return the WriteConcern for the Manager
  • » Modify Default Write Concern in the MongoDB manual
  • » Write Concern reference


Serialize a WriteConcern

  • « MongoDB\Driver\WriteConcern::isDefault
  • MongoDB\Driver\WriteConcern::unserialize »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Serialize a WriteConcern

MongoDB\Driver\WriteConcern::serialize

(mongodb >=1.7.0)

MongoDB\Driver\WriteConcern::serialize — Serialize a WriteConcern

Descrição

final public MongoDB\Driver\WriteConcern::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\Driver\WriteConcern.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\WriteConcern::unserialize() - Unserialize a WriteConcern
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Unserialize a WriteConcern

  • « MongoDB\Driver\WriteConcern::serialize
  • MongoDB\Driver\ReadPreference »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Unserialize a WriteConcern

MongoDB\Driver\WriteConcern::unserialize

(mongodb >=1.7.0)

MongoDB\Driver\WriteConcern::unserialize — Unserialize a WriteConcern

Descrição

final public MongoDB\Driver\WriteConcern::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\Driver\WriteConcern.

Valor Retornado

Returns the unserialized MongoDB\Driver\WriteConcern.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Veja Também

  • MongoDB\Driver\WriteConcern::serialize() - Serialize a WriteConcern
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\Driver\ReadPreference class

(mongodb >=1.0.0)

Introdução

Sinopse da classe

final MongoDB\Driver\ReadPreference implements MongoDB\BSON\Serializable , Serializable {
/* Constants */
const int RP_PRIMARY = 1 ;
const int RP_PRIMARY_PREFERRED = 5 ;
const int RP_SECONDARY = 2 ;
const int RP_SECONDARY_PREFERRED = 6 ;
const int RP_NEAREST = 10 ;
const string PRIMARY = primary ;
const string PRIMARY_PREFERRED = primaryPreferred ;
const string SECONDARY = secondary ;
const string SECONDARY_PREFERRED = secondaryPreferred ;
const string NEAREST = nearest ;
const int NO_MAX_STALENESS = -1 ;
const int SMALLEST_MAX_STALENESS_SECONDS = 90 ;
/* Métodos */
final public bsonSerialize ( ) : object
final public __construct ( string|int $mode , array $tagSets = null , array $options = array() )
final public getHedge ( ) : object|null
final public getMaxStalenessSeconds ( ) : int
final public getMode ( ) : int
final public getModeString ( ) : string
final public getTagSets ( ) : array
final public serialize ( ) : string
final public unserialize ( string $serialized ) : void
}

Constantes pré-definidas

MongoDB\Driver\ReadPreference::RP_PRIMARY

All operations read from the current replica set primary. This is the default read preference for MongoDB.

MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED

In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.

MongoDB\Driver\ReadPreference::RP_SECONDARY

All operations read from the secondary members of the replica set.

MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED

In most situations, operations read from secondary members but if no secondary members are available, operations read from the primary.

MongoDB\Driver\ReadPreference::RP_NEAREST

Operations read from member of the replica set with the least network latency, irrespective of the member's type.

MongoDB\Driver\ReadPreference::PRIMARY

All operations read from the current replica set primary. This is the default read preference for MongoDB.

MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED

In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.

MongoDB\Driver\ReadPreference::SECONDARY

All operations read from the secondary members of the replica set.

MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED

In most situations, operations read from secondary members but if no secondary members are available, operations read from the primary.

MongoDB\Driver\ReadPreference::NEAREST

Operations read from member of the replica set with the least network latency, irrespective of the member's type.

MongoDB\Driver\ReadPreference::NO_MAX_STALENESS

The default value for the "maxStalenessSeconds" option is to specify no limit on maximum staleness, which means that the driver will not consider a secondary's lag when choosing where to direct a read operation.

MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS

The minimum value for the "maxStalenessSeconds" option is 90 seconds. The driver estimates secondaries' staleness by periodically checking the latest write date of each replica set member. Since these checks are infrequent, the staleness estimate is coarse. Thus, the driver cannot enforce a max staleness value of less than 90 seconds.

Changelog

Versão | Descrição
PECL mongodb 1.7.0 | Added the MongoDB\Driver\ReadPreference::PRIMARY, MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED, MongoDB\Driver\ReadPreference::SECONDARY, MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED, MongoDB\Driver\ReadPreference::NEAREST constants. Implements Serializable.
PECL mongodb 1.2.0 | Added the MongoDB\Driver\ReadPreference::NO_MAX_STALENESS and MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS constants. Implements MongoDB\BSON\Serializable.

Índice

  • MongoDB\Driver\ReadPreference::bsonSerialize — Returns an object for BSON serialization
  • MongoDB\Driver\ReadPreference::__construct — Create a new ReadPreference
  • MongoDB\Driver\ReadPreference::getHedge — Returns the ReadPreference's "hedge" option
  • MongoDB\Driver\ReadPreference::getMaxStalenessSeconds — Returns the ReadPreference's "maxStalenessSeconds" option
  • MongoDB\Driver\ReadPreference::getMode — Returns the ReadPreference's "mode" option
  • MongoDB\Driver\ReadPreference::getModeString — Returns the ReadPreference's "mode" option as a string
  • MongoDB\Driver\ReadPreference::getTagSets — Returns the ReadPreference's "tagSets" option
  • MongoDB\Driver\ReadPreference::serialize — Serialize a ReadPreference
  • MongoDB\Driver\ReadPreference::unserialize — Unserialize a ReadPreference


Returns an object for BSON serialization

  • « MongoDB\Driver\ReadPreference
  • MongoDB\Driver\ReadPreference::__construct »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Returns an object for BSON serialization

MongoDB\Driver\ReadPreference::bsonSerialize

(mongodb >=1.2.0)

MongoDB\Driver\ReadPreference::bsonSerialize — Returns an object for BSON serialization

Descrição

final public MongoDB\Driver\ReadPreference::bsonSerialize ( ) : object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an object for serializing the ReadPreference as BSON.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\ReadPreference::bsonSerialize() with primary read preference

<?php

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
var_dump($rp->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rp));

?>

O exemplo acima irá imprimir algo similar à:

object(stdClass)#2 (1) {
  ["mode"]=>
  string(7) "primary"
}

{ "mode" : "primary" }

Exemplo #2 MongoDB\Driver\ReadPreference::bsonSerialize() with secondary read preference and tag sets

<?php

$rp = new MongoDB\Driver\ReadPreference(
    MongoDB\Driver\ReadPreference::RP_SECONDARY,
    [
        ['dc' => 'ny'],
        ['dc' => 'sf', 'use' => 'reporting'],
        []
    ]
);
var_dump($rp->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rp));

?>

O exemplo acima irá imprimir algo similar à:

object(stdClass)#2 (2) {
  ["mode"]=>
  string(9) "secondary"
  ["tags"]=>
  array(3) {
    [0]=>
    object(stdClass)#1 (1) {
      ["dc"]=>
      string(2) "ny"
    }
    [1]=>
    object(stdClass)#5 (2) {
      ["dc"]=>
      string(2) "sf"
      ["use"]=>
      string(9) "reporting"
    }
    [2]=>
    object(stdClass)#4 (0) {
    }
  }
}

{ "mode" : "secondary", "tags" : [ { "dc" : "ny" }, { "dc" : "sf", "use" : "reporting" }, {  } ] }

Exemplo #3 MongoDB\Driver\ReadPreference::bsonSerialize() with secondary read preference and max staleness

<?php

$rp = new MongoDB\Driver\ReadPreference(
    MongoDB\Driver\ReadPreference::RP_SECONDARY,
    null,
    ['maxStalenessSeconds' => 120]
);
var_dump($rp->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rp));

?>

O exemplo acima irá imprimir algo similar à:

object(stdClass)#2 (2) {
  ["mode"]=>
  string(9) "secondary"
  ["maxStalenessSeconds"]=>
  int(120)
}

{ "mode" : "secondary", "maxStalenessSeconds" : 120 }

Veja Também

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
  • » Read Preference reference


Create a new ReadPreference

  • « MongoDB\Driver\ReadPreference::bsonSerialize
  • MongoDB\Driver\ReadPreference::getHedge »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Create a new ReadPreference

MongoDB\Driver\ReadPreference::__construct

(mongodb >=1.0.0)

MongoDB\Driver\ReadPreference::__construct — Create a new ReadPreference

Descrição

final public MongoDB\Driver\ReadPreference::__construct ( string|int $mode , array $tagSets = null , array $options = array() )

Constructs a new MongoDB\Driver\ReadPreference, which is an immutable value object.

Parâmetros

mode

Read preference mode
Value Description
MongoDB\Driver\ReadPreference::RP_PRIMARY or "primary"

All operations read from the current replica set primary. This is the default read preference for MongoDB.

MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED or "primaryPreferred"

In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.

MongoDB\Driver\ReadPreference::RP_SECONDARY or "secondary"

All operations read from the secondary members of the replica set.

MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED or "secondaryPreferred"

In most situations, operations read from secondary members but if no secondary members are available, operations read from the primary.

MongoDB\Driver\ReadPreference::RP_NEAREST or "nearest"

Operations read from member of the replica set with the least network latency, irrespective of the member's type.

tagSets

Tag sets allow you to target read operations to specific members of a replica set. This parameter should be an array of associative arrays, each of which contain zero or more key/value pairs. When selecting a server for a read operation, the driver attempt to select a node having all tags in a set (i.e. the associative array of key/value pairs). If selection fails, the driver will attempt subsequent sets. An empty tag set (array()) will match any node and may be used as a fallback.

Tags are not compatible with the MongoDB\Driver\ReadPreference::RP_PRIMARY mode and, in general, only apply when selecting a secondary member of a set for a read operation. However, the MongoDB\Driver\ReadPreference::RP_NEAREST mode, when combined with a tag set, selects the matching member with the lowest network latency. This member may be a primary or secondary.

options

options
Option Type Description
hedge object|array

Specifies whether to use » hedged reads, which are supported by MongoDB 4.4+ for sharded queries.

Server hedged reads are available for all non-primary read preferences and are enabled by default when using the "nearest" mode. This option allows explicitly enabling server hedged reads for non-primary read preferences by specifying ['enabled' => true], or explicitly disabling server hedged reads for the "nearest" read preference by specifying ['enabled' => false].

maxStalenessSeconds int

Specifies a maximum replication lag, or "staleness", for reads from secondaries. When a secondary's estimated staleness exceeds this value, the driver stops using it for read operations.

If specified, the max staleness must be a signed 32-bit integer greater than or equal to MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS.

Defaults to MongoDB\Driver\ReadPreference::NO_MAX_STALENESS, which means that the driver will not consider a secondary's lag when choosing where to direct a read operation.

This option is not compatible with the MongoDB\Driver\ReadPreference::RP_PRIMARY mode. Specifying a max staleness also requires all MongoDB instances in the deployment to be using MongoDB 3.4+. An exception will be thrown at execution time if any MongoDB instances in the deployment are of an older server version.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if mode is invalid.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if tagSets is provided for a primary read preference or is malformed (i.e. not an array of zero or more documents).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "maxStalenessSeconds" option is provided for a primary read preference or is out of range.

Changelog

Versão | Descrição
PECL mongodb 1.8.0 | Added the "hedge" option.
PECL mongodb 1.3.0 | The mode argument now accepts a string value, which is consistent with the "readPreference" URI option for MongoDB\Driver\Manager::__construct().
PECL mongodb 1.2.0 | Added a third options argument, which supports the "maxStalenessSeconds" option.

Exemplos

Exemplo #1 MongoDB\Driver\ReadPreference::__construct() example

<?php

/* Prefer a secondary node but fall back to a primary. */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED));

/* Prefer a node in the New York data center with lowest latency. */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_NEAREST, [['dc' => 'ny']]));

/* Require a secondary node whose replication lag is within two minutes of the primary */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, ['maxStalenessSeconds' => 120]));

/* Explicitly enable server hedged reads */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, ['hedge' => ['enabled' => true]]));

?>

O exemplo acima irá imprimir:

object(MongoDB\Driver\ReadPreference)#1 (1) {
  ["mode"]=>
  string(18) "secondaryPreferred"
}
object(MongoDB\Driver\ReadPreference)#1 (2) {
  ["mode"]=>
  string(7) "nearest"
  ["tags"]=>
  array(1) {
    [0]=>
    object(stdClass)#2 (1) {
      ["dc"]=>
      string(2) "ny"
    }
  }
}
object(MongoDB\Driver\ReadPreference)#1 (2) {
  ["mode"]=>
  string(9) "secondary"
  ["maxStalenessSeconds"]=>
  int(120)
}
object(MongoDB\Driver\ReadPreference)#1 (2) {
  ["mode"]=>
  string(9) "secondary"
  ["hedge"]=>
  object(stdClass)#1 (1) {
    ["enabled"]=>
    bool(true)
  }
}

Veja Também

  • » Read Preference reference


Returns the ReadPreference's "hedge" option

  • « MongoDB\Driver\ReadPreference::__construct
  • MongoDB\Driver\ReadPreference::getMaxStalenessSeconds »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Returns the ReadPreference's "hedge" option

MongoDB\Driver\ReadPreference::getHedge

(mongodb >=1.8.0)

MongoDB\Driver\ReadPreference::getHedge — Returns the ReadPreference's "hedge" option

Descrição

final public MongoDB\Driver\ReadPreference::getHedge ( ) : object|null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the ReadPreference's "hedge" option.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • » Read Preference reference


Returns the ReadPreference's "maxStalenessSeconds" option

  • « MongoDB\Driver\ReadPreference::getHedge
  • MongoDB\Driver\ReadPreference::getMode »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Returns the ReadPreference's "maxStalenessSeconds" option

MongoDB\Driver\ReadPreference::getMaxStalenessSeconds

(mongodb >=1.2.0)

MongoDB\Driver\ReadPreference::getMaxStalenessSeconds — Returns the ReadPreference's "maxStalenessSeconds" option

Descrição

final public MongoDB\Driver\ReadPreference::getMaxStalenessSeconds ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the ReadPreference's "maxStalenessSeconds" option. If no max staleness has been specified, MongoDB\Driver\ReadPreference::NO_MAX_STALENESS will be returned.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\ReadPreference::getMaxStalenessSeconds() example

<?php

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY);
var_dump($rp->getMaxStalenessSeconds());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, [
    'maxStalenessSeconds' => MongoDB\Driver\ReadPreference::NO_MAX_STALENESS,
]);
var_dump($rp->getMaxStalenessSeconds());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, [
    'maxStalenessSeconds' => MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS,
]);
var_dump($rp->getMaxStalenessSeconds());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, [
    'maxStalenessSeconds' => 1000,
]);
var_dump($rp->getMaxStalenessSeconds());

?>

O exemplo acima irá imprimir:

int(-1)
int(-1)
int(90)
int(1000)

Veja Também

  • » Read Preference reference


Returns the ReadPreference's "mode" option

  • « MongoDB\Driver\ReadPreference::getMaxStalenessSeconds
  • MongoDB\Driver\ReadPreference::getModeString »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Returns the ReadPreference's "mode" option

MongoDB\Driver\ReadPreference::getMode

(mongodb >=1.0.0)

MongoDB\Driver\ReadPreference::getMode — Returns the ReadPreference's "mode" option

Descrição

final public MongoDB\Driver\ReadPreference::getMode ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the ReadPreference's "mode" option.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\ReadPreference::getMode() example

<?php

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
var_dump($rp->getMode());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED);
var_dump($rp->getMode());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY);
var_dump($rp->getMode());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED);
var_dump($rp->getMode());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_NEAREST);
var_dump($rp->getMode());

?>

O exemplo acima irá imprimir:

int(1)
int(5)
int(2)
int(6)
int(10)

Veja Também

  • MongoDB\Driver\ReadPreference::getModeString() - Returns the ReadPreference's "mode" option as a string
  • » Read Preference reference


Returns the ReadPreference's "mode" option as a string

  • « MongoDB\Driver\ReadPreference::getMode
  • MongoDB\Driver\ReadPreference::getTagSets »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Returns the ReadPreference's "mode" option as a string

MongoDB\Driver\ReadPreference::getModeString

(mongodb >=1.7.0)

MongoDB\Driver\ReadPreference::getModeString — Returns the ReadPreference's "mode" option as a string

Descrição

final public MongoDB\Driver\ReadPreference::getModeString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the ReadPreference's "mode" option as a string.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\ReadPreference::getModeString() example

<?php

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::PRIMARY);
var_dump($rp->getModeString());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED);
var_dump($rp->getModeString());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::SECONDARY);
var_dump($rp->getModeString());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED);
var_dump($rp->getModeString());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::NEAREST);
var_dump($rp->getModeString());

?>

O exemplo acima irá imprimir:

string(7) "primary"
string(16) "primaryPreferred"
string(9) "secondary"
string(18) "secondaryPreferred"
string(7) "nearest"

Veja Também

  • MongoDB\Driver\ReadPreference::getMode() - Returns the ReadPreference's "mode" option
  • » Read Preference reference


Returns the ReadPreference's "tagSets" option

  • « MongoDB\Driver\ReadPreference::getModeString
  • MongoDB\Driver\ReadPreference::serialize »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Returns the ReadPreference's "tagSets" option

MongoDB\Driver\ReadPreference::getTagSets

(mongodb >=1.0.0)

MongoDB\Driver\ReadPreference::getTagSets — Returns the ReadPreference's "tagSets" option

Descrição

final public MongoDB\Driver\ReadPreference::getTagSets ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the ReadPreference's "tagSets" option.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\ReadPreference::getTagSets() example

<?php

$mode = MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED;

/* Null and an empty array both denote no tag set preference. */
$rp = new MongoDB\Driver\ReadPreference($mode, null);
var_dump($rp->getTagSets());

$rp = new MongoDB\Driver\ReadPreference($mode, []);
var_dump($rp->getTagSets());

/* Prefer a node in New York, but fall back to any available node. */
$rp = new MongoDB\Driver\ReadPreference($mode, [['dc' => 'ny']]);
var_dump($rp->getTagSets());

/* Prefer a node in the New York, followed by a node in San Francisco that is
   labeled for reporting usage, and finally fall back to any available node. */
$rp = new MongoDB\Driver\ReadPreference($mode, [
  ['dc' => 'ny'],
  ['dc' => 'sf', 'use' => 'reporting'],
  [],
]);
var_dump($rp->getTagSets());

?>

O exemplo acima irá imprimir:

array(0) {
}
array(0) {
}
array(2) {
  [0]=>
  array(1) {
    ["dc"]=>
    string(2) "ny"
  }
  [1]=>
  array(0) {
  }
}
array(3) {
  [0]=>
  array(1) {
    ["dc"]=>
    string(2) "ny"
  }
  [1]=>
  array(2) {
    ["dc"]=>
    string(2) "sf"
    ["use"]=>
    string(9) "reporting"
  }
  [2]=>
  array(0) {
  }
}

Veja Também

  • » Read Preference reference


Serialize a ReadPreference

  • « MongoDB\Driver\ReadPreference::getTagSets
  • MongoDB\Driver\ReadPreference::unserialize »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Serialize a ReadPreference

MongoDB\Driver\ReadPreference::serialize

(mongodb >=1.7.0)

MongoDB\Driver\ReadPreference::serialize — Serialize a ReadPreference

Descrição

final public MongoDB\Driver\ReadPreference::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\Driver\ReadPreference.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\ReadPreference::unserialize() - Unserialize a ReadPreference
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Unserialize a ReadPreference

  • « MongoDB\Driver\ReadPreference::serialize
  • MongoDB\Driver\ReadConcern »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Unserialize a ReadPreference

MongoDB\Driver\ReadPreference::unserialize

(mongodb >=1.7.0)

MongoDB\Driver\ReadPreference::unserialize — Unserialize a ReadPreference

Descrição

final public MongoDB\Driver\ReadPreference::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\Driver\ReadPreference.

Valor Retornado

Returns the unserialized MongoDB\Driver\ReadPreference.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Veja Também

  • MongoDB\Driver\ReadPreference::serialize() - Serialize a ReadPreference
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\Driver\ReadConcern class

(mongodb >=1.1.0)

Introdução

MongoDB\Driver\ReadConcern controls the level of isolation for read operations for replica sets and replica set shards. This option requires MongoDB 3.2 or later.

Sinopse da classe

final MongoDB\Driver\ReadConcern implements MongoDB\BSON\Serializable , Serializable {
/* Constants */
const string AVAILABLE = "available" ;
const string LINEARIZABLE = "linearizable" ;
const string LOCAL = "local" ;
const string MAJORITY = "majority" ;
/* Métodos */
final public bsonSerialize ( ) : object
final public __construct ( string $level = ? )
final public getLevel ( ) : string|null
final public isDefault ( ) : bool
final public serialize ( ) : string
final public unserialize ( string $serialized ) : void
}

Constantes pré-definidas

MongoDB\Driver\ReadConcern::AVAILABLE

Default for reads against secondaries when afterClusterTimeand level are unspecified.

The query returns the instance's most recent data. Provides no guarantee that the data has been written to a majority of the replica set members (i.e. may be rolled back).

For unsharded collections (including collections in a standalone deployment or a replica set deployment), "local" and "available" read concerns behave identically.

For a sharded cluster, "available" read concern provides greater tolerance for partitions since it does not wait to ensure consistency guarantees. However, a query with "available" read concern may return orphan documents if the shard is undergoing chunk migrations since the "available" read concern, unlike "local" read concern, does not contact the shard's primary nor the config servers for updated metadata.

MongoDB\Driver\ReadConcern::LINEARIZABLE

The query returns data that reflects all successful writes issued with a write concern of "majority" and acknowledged prior to the start of the read operation. For replica sets that run with writeConcernMajorityJournalDefault set to true, linearizable read concern returns data that will never be rolled back.

With writeConcernMajorityJournalDefault set to false, MongoDB will not wait for w: "majority" writes to be durable before acknowledging the writes. As such, "majority" write operations could possibly roll back in the event of a loss of a replica set member.

You can specify linearizable read concern for read operations on the primary only.

Linearizable read concern guarantees only apply if read operations specify a query filter that uniquely identifies a single document.

Dica

Always use maxTimeMS with linearizable read concern in case a majority of data bearing members are unavailable. maxTimeMS ensures that the operation does not block indefinitely and instead ensures that the operation returns an error if the read concern cannot be fulfilled.

Linearizable read concern requires MongoDB 3.4.

MongoDB\Driver\ReadConcern::LOCAL

Default for reads against primary if level is unspecified and for reads against secondaries if level is unspecified but afterClusterTime is specified.

The query returns the instance's most recent data. Provides no guarantee that the data has been written to a majority of the replica set members (i.e. may be rolled back).

MongoDB\Driver\ReadConcern::MAJORITY

The query returns the instance's most recent data acknowledged as having been written to a majority of members in the replica set.

To use read concern level of "majority", replica sets must use WiredTiger storage engine and election protocol version 1.

Changelog

Versão | Descrição
PECL mongodb 1.7.0 | Implements Serializable.
PECL mongodb 1.4.0 | Added the MongoDB\Driver\ReadConcern::AVAILABLE constant.
PECL mongodb 1.2.0 | Added the MongoDB\Driver\ReadConcern::LINEARIZABLE constant. Implements MongoDB\BSON\Serializable.

Veja Também

  • » Read Concern reference

Índice

  • MongoDB\Driver\ReadConcern::bsonSerialize — Returns an object for BSON serialization
  • MongoDB\Driver\ReadConcern::__construct — Create a new ReadConcern
  • MongoDB\Driver\ReadConcern::getLevel — Returns the ReadConcern's "level" option
  • MongoDB\Driver\ReadConcern::isDefault — Checks if this is the default read concern
  • MongoDB\Driver\ReadConcern::serialize — Serialize a ReadConcern
  • MongoDB\Driver\ReadConcern::unserialize — Unserialize a ReadConcern


Returns an object for BSON serialization

  • « MongoDB\Driver\ReadConcern
  • MongoDB\Driver\ReadConcern::__construct »
  • PHP Manual
  • MongoDB\Driver\ReadConcern
  • Returns an object for BSON serialization

MongoDB\Driver\ReadConcern::bsonSerialize

(mongodb >=1.2.0)

MongoDB\Driver\ReadConcern::bsonSerialize — Returns an object for BSON serialization

Descrição

final public MongoDB\Driver\ReadConcern::bsonSerialize ( ) : object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an object for serializing the ReadConcern as BSON.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\ReadConcern::bsonSerialize() with empty read concern

<?php

$rc = new MongoDB\Driver\ReadConcern;
var_dump($rc->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rc));

?>

O exemplo acima irá imprimir algo similar à:

object(stdClass)#2 (0) {
}

{ }

Exemplo #2 MongoDB\Driver\ReadConcern::bsonSerialize() with local read concern

<?php

$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::LOCAL);
var_dump($rc->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rc));

?>

O exemplo acima irá imprimir algo similar à:

object(stdClass)#2 (1) {
  ["level"]=>
  string(5) "local"
}

{ "level" : "local" }

Veja Também

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
  • » Read Concern reference


Create a new ReadConcern

  • « MongoDB\Driver\ReadConcern::bsonSerialize
  • MongoDB\Driver\ReadConcern::getLevel »
  • PHP Manual
  • MongoDB\Driver\ReadConcern
  • Create a new ReadConcern

MongoDB\Driver\ReadConcern::__construct

(mongodb >=1.0.0)

MongoDB\Driver\ReadConcern::__construct — Create a new ReadConcern

Descrição

final public MongoDB\Driver\ReadConcern::__construct ( string $level = ? )

Constructs a new MongoDB\Driver\ReadConcern, which is an immutable value object.

Parâmetros

level

The » read concern level. You may use, but are not limited to, one of the class constants.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\ReadConcern::__construct() example

<?php

/* Unspecified read isolation level (uses the server's default behavior) */
$rc = new MongoDB\Driver\ReadConcern();

/* Request read isolation from a single replica set node */
$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::LOCAL);

/* Request read isolation from a majority of the replica set nodes */
$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::MAJORITY);

?>

Veja Também

  • » Read Concern reference


Returns the ReadConcern's "level" option

  • « MongoDB\Driver\ReadConcern::__construct
  • MongoDB\Driver\ReadConcern::isDefault »
  • PHP Manual
  • MongoDB\Driver\ReadConcern
  • Returns the ReadConcern's "level" option

MongoDB\Driver\ReadConcern::getLevel

(mongodb >=1.0.0)

MongoDB\Driver\ReadConcern::getLevel — Returns the ReadConcern's "level" option

Descrição

final public MongoDB\Driver\ReadConcern::getLevel ( ) : string|null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the ReadConcern's "level" option.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\ReadConcern::getLevel() example

<?php

$rc = new MongoDB\Driver\ReadConcern();
var_dump($rc->getLevel());

$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::LOCAL);
var_dump($rc->getLevel());

$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::MAJORITY);
var_dump($rc->getLevel());

?>

O exemplo acima irá imprimir:

NULL
string(5) "local"
string(8) "majority"

Veja Também

  • » Read Concern reference


Checks if this is the default read concern

  • « MongoDB\Driver\ReadConcern::getLevel
  • MongoDB\Driver\ReadConcern::serialize »
  • PHP Manual
  • MongoDB\Driver\ReadConcern
  • Checks if this is the default read concern

MongoDB\Driver\ReadConcern::isDefault

(mongodb >=1.3.0)

MongoDB\Driver\ReadConcern::isDefault — Checks if this is the default read concern

Descrição

final public MongoDB\Driver\ReadConcern::isDefault ( ) : bool

Returns whether this is the default read concern (i.e. no options are specified). This method is primarily intended to be used in conjunction with MongoDB\Driver\Manager::getReadConcern() to determine whether the Manager has been constructed without any read concern options.

The driver will not include a default read concern in its read operations (e.g. MongoDB\Driver\Manager::executeQuery()) in order order to allow the server to apply its own default. Libraries that access the Manager's read concern to include it in their own read commands should use this method to ensure that default read concerns are left unset.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if this is the default read concern and false otherwise.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\ReadConcern::isDefault() example

<?php

$rc = new MongoDB\Driver\ReadConcern(null);
var_dump($rc->isDefault());

$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::MAJORITY);
var_dump($rc->isDefault());

$manager = new MongoDB\Driver\Manager('mongodb://127.0.0.1/?readConcernLevel=majority');
$rc = $manager->getReadConcern();
var_dump($rc->isDefault());

$manager = new MongoDB\Driver\Manager('mongodb://127.0.0.1/');
$rc = $manager->getReadConcern();
var_dump($rc->isDefault());

?>

O exemplo acima irá imprimir:

bool(true)
bool(false)
bool(false)
bool(true)

Veja Também

  • MongoDB\Driver\Manager::getReadConcern() - Return the ReadConcern for the Manager
  • » Read Concern reference


Serialize a ReadConcern

  • « MongoDB\Driver\ReadConcern::isDefault
  • MongoDB\Driver\ReadConcern::unserialize »
  • PHP Manual
  • MongoDB\Driver\ReadConcern
  • Serialize a ReadConcern

MongoDB\Driver\ReadConcern::serialize

(mongodb >=1.7.0)

MongoDB\Driver\ReadConcern::serialize — Serialize a ReadConcern

Descrição

final public MongoDB\Driver\ReadConcern::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\Driver\ReadConcern.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\ReadConcern::unserialize() - Unserialize a ReadConcern
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Unserialize a ReadConcern

  • « MongoDB\Driver\ReadConcern::serialize
  • MongoDB\Driver\Cursor »
  • PHP Manual
  • MongoDB\Driver\ReadConcern
  • Unserialize a ReadConcern

MongoDB\Driver\ReadConcern::unserialize

(mongodb >=1.7.0)

MongoDB\Driver\ReadConcern::unserialize — Unserialize a ReadConcern

Descrição

final public MongoDB\Driver\ReadConcern::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\Driver\ReadConcern.

Valor Retornado

Returns the unserialized MongoDB\Driver\ReadConcern.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Veja Também

  • MongoDB\Driver\ReadConcern::serialize() - Serialize a ReadConcern
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\Driver\Cursor class

(mongodb >=1.0.0)

Introdução

The MongoDB\Driver\Cursor class encapsulates the results of a MongoDB command or query and may be returned by MongoDB\Driver\Manager::executeCommand() or MongoDB\Driver\Manager::executeQuery(), respectively.

Sinopse da classe

final MongoDB\Driver\Cursor implements MongoDB\Driver\CursorInterface , Iterator {
/* Métodos */
final private __construct ( )
public current ( ) : array|object
final public getId ( ) : MongoDB\Driver\CursorId
final public getServer ( ) : MongoDB\Driver\Server
final public isDead ( ) : bool
public key ( ) : int
public next ( ) : void
public rewind ( ) : void
final public setTypeMap ( array $typemap ) : void
final public toArray ( ) : array
public valid ( ) : bool
}

Changelog

Versão | Descrição
PECL mongodb 1.9.0 | Implements Iterator.
PECL mongodb 1.6.0 | Implements MongoDB\Driver\CursorInterface, which extends Traversable.

Exemplos

Exemplo #1 Reading a result set

MongoDB\Driver\Manager::executeCommand() and MongoDB\Driver\Manager::executeQuery() both return their result(s) as a MongoDB\Driver\Cursor object. This object can be used to iterate over the result set of the command or query.

Because MongoDB\Driver\Cursor implements the Traversable interface, you can simply iterate over the result set with foreach.

<?php

$manager = new MongoDB\Driver\Manager();

/* Insert some documents so that our query returns information */
$bulkWrite = new MongoDB\Driver\BulkWrite;
$bulkWrite->insert(['name' => 'Ceres', 'size' => 946, 'distance' => 2.766]);
$bulkWrite->insert(['name' => 'Vesta', 'size' => 525, 'distance' => 2.362]);
$manager->executeBulkWrite("test.asteroids", $bulkWrite);

/* Query for all the items in the collection */
$query = new MongoDB\Driver\Query( [] );

/* Query the "asteroids" collection of the "test" database */
$cursor = $manager->executeQuery("test.asteroids", $query);

/* $cursor now contains an object that wraps around the result set. Use
 * foreach() to iterate over all the result */
foreach($cursor as $document) {
    print_r($document);
}

?>

O exemplo acima irá imprimir algo similar à:

stdClass Object
(
    [_id] => MongoDB\BSON\ObjectId Object
        (
            [oid] => 5a4cff2f122d3321565d8cc2
        )

    [name] => Ceres
    [size] => 946
    [distance] => 2.766
)
stdClass Object
(
    [_id] => MongoDB\BSON\ObjectId Object
        (
            [oid] => 5a4cff2f122d3321565d8cc3
        )

    [name] => Vesta
    [size] => 525
    [distance] => 2.362
}

Exemplo #2 Reading a result set for a tailable cursor

» Tailable cursors are a special type of MongoDB cursor that allows the client to read some results and then wait until more documents become available. These cursors are primarily used with » Capped Collections and » Change Streams.

While normal cursors can be iterated once with foreach, that approach will not work with tailable cursors. When foreach is used with a tailable cursor, the loop will stop upon reaching the end of the initial result set. Attempting to continue iteration on the cursor with a second foreach would throw an exception, since PHP attempts to rewind the cursor. Similar to result objects in other database drivers, cursors in MongoDB only support forward iteration, which means they cannot be rewound.

In order to continuously read from a tailable cursor, the Cursor object must be wrapped with an IteratorIterator. This allows the application to directly control the cursor's iteration, avoid inadvertently rewinding the cursor, and decide when to wait for new results or stop iteration entirely.

In order to demonstrate a tailable cursor in action, two scripts will be used: a "producer" and a "consumer". The producer script will create a new capped collection using the » create command and proceed to insert a new document into that collection each second.

<?php

$manager = new MongoDB\Driver\Manager;

$manager->executeCommand('test', new MongoDB\Driver\Command([
    'create' => 'asteroids',
    'capped' => true,
    'size' => 1048576,
]));

while (true) {
    $bulkWrite = new MongoDB\Driver\BulkWrite;
    $bulkWrite->insert(['createdAt' => new MongoDB\BSON\UTCDateTime]);
    $manager->executeBulkWrite('test.asteroids', $bulkWrite);

    sleep(1);
}

?>

With the producer script still running, a second consumer script may be executed to read the inserted documents using a tailable cursor, indicated by the tailable and awaitData options to MongoDB\Driver\Query::__construct().

<?php

$manager = new MongoDB\Driver\Manager;

$query = new MongoDB\Driver\Query([], [
    'tailable' => true,
    'awaitData' => true,
]);

$cursor = $manager->executeQuery('test.asteroids', $query);

$iterator = new IteratorIterator($cursor);

$iterator->rewind();

while (true) {
    if ($iterator->valid()) {
        $document = $iterator->current();
        printf("Consumed document created at: %s\n", $document->createdAt);
    }

    $iterator->next();
}

?>

The consumer script will start by quickly printing all available documents in the capped collection (as if foreach had been used); however, it will not terminate upon reaching the end of the initial result set. Since the cursor is tailable, calling IteratorIterator::next() will block and wait for additional results. IteratorIterator::valid() is also used to check if there is actually data available to read at each step.

Nota: This example uses the awaitData query option to instruct the server to block for a short period (e.g. one second) at the end of the result set before returning a response to the driver. This is used to prevent the driver from aggressively polling the server when there are no results available. The maxAwaitTimeMS option may be used in conjunction with tailable and awaitData to specify the amount of time that the server should block when it reaches the end of the result set.

Erros

When iterating over the cursor object, BSON data is converted into PHP variables. This iteration can cause the following Exceptions:

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if a class in the type map cannot be instantiated or does not implement MongoDB\BSON\Unserializable.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected » libbson error.

Índice

  • MongoDB\Driver\Cursor::__construct — Create a new Cursor (not used)
  • MongoDB\Driver\Cursor::current — Returns the current element
  • MongoDB\Driver\Cursor::getId — Returns the ID for this cursor
  • MongoDB\Driver\Cursor::getServer — Returns the server associated with this cursor
  • MongoDB\Driver\Cursor::isDead — Checks if the cursor is exhausted or may have additional results
  • MongoDB\Driver\Cursor::key — Returns the current result's index within the cursor
  • MongoDB\Driver\Cursor::next — Advances the cursor to the next result
  • MongoDB\Driver\Cursor::rewind — Rewind the cursor to the first result
  • MongoDB\Driver\Cursor::setTypeMap — Sets a type map to use for BSON unserialization
  • MongoDB\Driver\Cursor::toArray — Returns an array containing all results for this cursor
  • MongoDB\Driver\Cursor::valid — Checks if the current position in the cursor is valid


Create a new Cursor (not used)

  • « MongoDB\Driver\Cursor
  • MongoDB\Driver\Cursor::current »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Create a new Cursor (not used)

MongoDB\Driver\Cursor::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::__construct — Create a new Cursor (not used)

Descrição

final private MongoDB\Driver\Cursor::__construct ( )

MongoDB\Driver\Cursor objects are returned as the result of an executed command or query and cannot be constructed directly.

Parâmetros

Esta função não possui parâmetros.

Veja Também

  • MongoDB\Driver\Manager::executeCommand() - Execute a database command
  • MongoDB\Driver\Manager::executeQuery() - Execute a database query
  • MongoDB\Driver\Server::executeCommand() - Execute a database command on this server
  • MongoDB\Driver\Server::executeQuery() - Execute a database query on this server


Returns the current element

  • « MongoDB\Driver\Cursor::__construct
  • MongoDB\Driver\Cursor::getId »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Returns the current element

MongoDB\Driver\Cursor::current

(mongodb >=1.9.0)

MongoDB\Driver\Cursor::current — Returns the current element

Descrição

public MongoDB\Driver\Cursor::current ( ) : array|object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current result document as an array or object, depending on the cursor's type map. If iteration has not started or the current position is not valid, null will be returned.

Veja Também

  • Iterator::current() - Return the current element


Returns the ID for this cursor

  • « MongoDB\Driver\Cursor::current
  • MongoDB\Driver\Cursor::getServer »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Returns the ID for this cursor

MongoDB\Driver\Cursor::getId

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::getId — Returns the ID for this cursor

Descrição

final public MongoDB\Driver\Cursor::getId ( ) : MongoDB\Driver\CursorId

Returns the MongoDB\Driver\CursorId associated with this cursor. A cursor ID uniquely identifies the cursor on the server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the MongoDB\Driver\CursorId for this cursor.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\Cursor::getId() example

<?php

/* In this example, we insert several documents into the collection and specify
 * a smaller batchSize to ensure that the first batch contains only a subset of
 * our results and the cursor remains open on the server. */
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([], ['batchSize' => 2]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$cursor = $manager->executeQuery('db.collection', $query);
var_dump($cursor->getId());

?>

O exemplo acima irá imprimir algo similar à:

object(MongoDB\Driver\CursorId)#5 (1) {
  ["id"]=>
  int(94810124093)
}

Veja Também

  • MongoDB\Driver\CursorId
  • MongoDB\Driver\CursorId::__toString() - String representation of the cursor ID


Returns the server associated with this cursor

  • « MongoDB\Driver\Cursor::getId
  • MongoDB\Driver\Cursor::isDead »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Returns the server associated with this cursor

MongoDB\Driver\Cursor::getServer

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::getServer — Returns the server associated with this cursor

Descrição

final public MongoDB\Driver\Cursor::getServer ( ) : MongoDB\Driver\Server

Returns the MongoDB\Driver\Server associated with this cursor. This is the server that executed the MongoDB\Driver\Query or MongoDB\Driver\Command.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the MongoDB\Driver\Server associated with this cursor.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\Cursor::getServer() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$manager->executeBulkWrite('db.collection', $bulk);

$cursor = $manager->executeQuery('db.collection', $query);
var_dump($cursor->getServer());

?>

O exemplo acima irá imprimir algo similar à:

object(MongoDB\Driver\Server)#5 (10) {
  ["host"]=>
  string(9) "localhost"
  ["port"]=>
  int(27017)
  ["type"]=>
  int(1)
  ["is_primary"]=>
  bool(false)
  ["is_secondary"]=>
  bool(false)
  ["is_arbiter"]=>
  bool(false)
  ["is_hidden"]=>
  bool(false)
  ["is_passive"]=>
  bool(false)
  ["last_is_master"]=>
  array(8) {
    ["ismaster"]=>
    bool(true)
    ["maxBsonObjectSize"]=>
    int(16777216)
    ["maxMessageSizeBytes"]=>
    int(48000000)
    ["maxWriteBatchSize"]=>
    int(1000)
    ["localTime"]=>
    object(MongoDB\BSON\UTCDateTime)#6 (1) {
      ["milliseconds"]=>
      int(1446505367907)
    }
    ["maxWireVersion"]=>
    int(3)
    ["minWireVersion"]=>
    int(0)
    ["ok"]=>
    float(1)
  }
  ["round_trip_time"]=>
  int(584)
}

Veja Também

  • MongoDB\Driver\Server


Checks if the cursor is exhausted or may have additional results

  • « MongoDB\Driver\Cursor::getServer
  • MongoDB\Driver\Cursor::key »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Checks if the cursor is exhausted or may have additional results

MongoDB\Driver\Cursor::isDead

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::isDead — Checks if the cursor is exhausted or may have additional results

Descrição

final public MongoDB\Driver\Cursor::isDead ( ) : bool

Checks whether there are definitely no additional results available on the cursor. This method is similar to the » cursor.isExhausted() method in the MongoDB shell and is primarily useful when iterating » tailable cursors.

A cursor has no additional results and is considered "dead" when one of the following is true:

  • The current batch has been fully iterated and the cursor ID is zero (i.e. a » getMore cannot be issued).
  • An error was encountered while iterating the cursor.
  • The cursor reached its configured limit.

By design, it is not possible to always determine whether a cursor has additional results. The cases where a cursor may have more data available is as follows:

  • There are additional documents in the current batch, which are buffered on the client side. Iterating will fetch a document from the local buffer.
  • There are no additional documents in the current batch (i.e. local buffer), but the cursor ID is non-zero. Iterating will request more documents from the server via a » getMore operation, which may or may not return additional results and/or indicate that the cursor has been closed on the server by returning zero for its ID.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if there are definitely no additional results available on the cursor, and false otherwise.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\Cursor::isDead() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$cursor = $manager->executeQuery('db.collection', $query);

$iterator = new IteratorIterator($cursor);

$iterator->rewind();
var_dump($cursor->isDead());

$iterator->next();
var_dump($cursor->isDead());

$iterator->next();
var_dump($cursor->isDead());

$iterator->next();
var_dump($cursor->isDead());

?>

O exemplo acima irá imprimir:

bool(false)
bool(false)
bool(false)
bool(true)

Veja Também

  • » Tailable Cursors in the MongoDB manual
  • » cursor.isExhausted() in the MongoDB manual


Returns the current result's index within the cursor

  • « MongoDB\Driver\Cursor::isDead
  • MongoDB\Driver\Cursor::next »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Returns the current result's index within the cursor

MongoDB\Driver\Cursor::key

(mongodb >=1.9.0)

MongoDB\Driver\Cursor::key — Returns the current result's index within the cursor

Descrição

public MongoDB\Driver\Cursor::key ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current result's numeric index within the cursor.

Veja Também

  • Iterator::key() - Return the key of the current element


Advances the cursor to the next result

  • « MongoDB\Driver\Cursor::key
  • MongoDB\Driver\Cursor::rewind »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Advances the cursor to the next result

MongoDB\Driver\Cursor::next

(mongodb >=1.9.0)

MongoDB\Driver\Cursor::next — Advances the cursor to the next result

Descrição

public MongoDB\Driver\Cursor::next ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Moves the current position to the next element in the cursor.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.

Veja Também

  • Iterator::next() - Move forward to next element


Rewind the cursor to the first result

  • « MongoDB\Driver\Cursor::next
  • MongoDB\Driver\Cursor::setTypeMap »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Rewind the cursor to the first result

MongoDB\Driver\Cursor::rewind

(mongodb >=1.9.0)

MongoDB\Driver\Cursor::rewind — Rewind the cursor to the first result

Descrição

public MongoDB\Driver\Cursor::rewind ( ) : void

If the cursor has advanced beyond its first position, it can no longer be rewound.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

null.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Throws MongoDB\Driver\Exception\LogicException if this method is called after the cursor has advanced beyond its first position.

Veja Também

  • Iterator::rewind() - Rewind the Iterator to the first element


Sets a type map to use for BSON unserialization

  • « MongoDB\Driver\Cursor::rewind
  • MongoDB\Driver\Cursor::toArray »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Sets a type map to use for BSON unserialization

MongoDB\Driver\Cursor::setTypeMap

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::setTypeMap — Sets a type map to use for BSON unserialization

Descrição

final public MongoDB\Driver\Cursor::setTypeMap ( array $typemap ) : void

Sets the type map configuration to use when unserializing the BSON results into PHP values.

Parâmetros

typeMap (array)

O mapeamento de tipos (Type).

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

When iterating over the cursor, the following exceptions can also be thrown due to an incorrect type map configuration:

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if a class in the type map cannot be instantiated or does not implement MongoDB\BSON\Unserializable.

Exemplos

Exemplo #1 MongoDB\Driver\Cursor::setTypeMap() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$id = $bulk->insert(['x' => 1]);
$manager->executeBulkWrite('db.collection', $bulk);

$query = new MongoDB\Driver\Query(['_id' => $id]);
$cursor = $manager->executeQuery('db.collection', $query);
$cursor->setTypeMap(['root' => 'array']);

foreach ($cursor as $document) {
    var_dump($document);
}

?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["_id"]=>
  object(MongoDB\BSON\ObjectId)#6 (1) {
    ["oid"]=>
    string(24) "56424fb76118fd3267180741"
  }
  ["x"]=>
  int(1)
}

Veja Também

  • Persisting Data


Returns an array containing all results for this cursor

  • « MongoDB\Driver\Cursor::setTypeMap
  • MongoDB\Driver\Cursor::valid »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Returns an array containing all results for this cursor

MongoDB\Driver\Cursor::toArray

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::toArray — Returns an array containing all results for this cursor

Descrição

final public MongoDB\Driver\Cursor::toArray ( ) : array

Iterates the cursor and returns its results in an array. MongoDB\Driver\Cursor::setTypeMap() may be used to control how documents are unserialized into PHP values.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array containing all results for this cursor.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\Cursor::toArray() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$query = new MongoDB\Driver\Query([]);
$cursor = $manager->executeQuery('db.collection', $query);

var_dump($cursor->toArray());

?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  [0]=>
  object(stdClass)#6 (2) {
    ["_id"]=>
    object(MongoDB\BSON\ObjectId)#5 (1) {
      ["oid"]=>
      string(24) "564259a96118fd40b41bcf61"
    }
    ["x"]=>
    int(1)
  }
  [1]=>
  object(stdClass)#8 (2) {
    ["_id"]=>
    object(MongoDB\BSON\ObjectId)#7 (1) {
      ["oid"]=>
      string(24) "564259a96118fd40b41bcf62"
    }
    ["x"]=>
    int(2)
  }
  [2]=>
  object(stdClass)#10 (2) {
    ["_id"]=>
    object(MongoDB\BSON\ObjectId)#9 (1) {
      ["oid"]=>
      string(24) "564259a96118fd40b41bcf63"
    }
    ["x"]=>
    int(3)
  }
}

Veja Também

  • MongoDB\Driver\Cursor::setTypeMap() - Sets a type map to use for BSON unserialization


Checks if the current position in the cursor is valid

  • « MongoDB\Driver\Cursor::toArray
  • MongoDB\Driver\CursorId »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Checks if the current position in the cursor is valid

MongoDB\Driver\Cursor::valid

(mongodb >=1.9.0)

MongoDB\Driver\Cursor::valid — Checks if the current position in the cursor is valid

Descrição

public MongoDB\Driver\Cursor::valid ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the current cursor position is valid, false otherwise.

Veja Também

  • Iterator::valid() - Checks if current position is valid


The MongoDB\Driver\CursorId class

(mongodb >=1.0.0)

Introdução

The MongoDB\Driver\CursorID class is a value object that represents a cursor ID. Instances of this class are returned by MongoDB\Driver\Cursor::getId().

Sinopse da classe

final MongoDB\Driver\CursorId implements Serializable {
/* Métodos */
final private __construct ( )
final public serialize ( ) : string
final public __toString ( ) : string
final public unserialize ( string $serialized ) : void
}

Changelog

Versão | Descrição
PECL mongodb 1.7.0 | Implements Serializable.

Índice

  • MongoDB\Driver\CursorId::__construct — Create a new CursorId (not used)
  • MongoDB\Driver\CursorId::serialize — Serialize a CursorId
  • MongoDB\Driver\CursorId::__toString — String representation of the cursor ID
  • MongoDB\Driver\CursorId::unserialize — Unserialize a CursorId


Create a new CursorId (not used)

  • « MongoDB\Driver\CursorId
  • MongoDB\Driver\CursorId::serialize »
  • PHP Manual
  • MongoDB\Driver\CursorId
  • Create a new CursorId (not used)

MongoDB\Driver\CursorId::__construct

(mongodb >=1.0.0)

MongoDB\Driver\CursorId::__construct — Create a new CursorId (not used)

Descrição

final private MongoDB\Driver\CursorId::__construct ( )

MongoDB\Driver\CursorId objects are returned from MongoDB\Driver\Cursor::getId() and cannot be constructed directly.

Parâmetros

Esta função não possui parâmetros.

Veja Também

  • MongoDB\Driver\Cursor::getId() - Returns the ID for this cursor


Serialize a CursorId

  • « MongoDB\Driver\CursorId::__construct
  • MongoDB\Driver\CursorId::__toString »
  • PHP Manual
  • MongoDB\Driver\CursorId
  • Serialize a CursorId

MongoDB\Driver\CursorId::serialize

(mongodb >=1.7.0)

MongoDB\Driver\CursorId::serialize — Serialize a CursorId

Descrição

final public MongoDB\Driver\CursorId::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\Driver\CursorId.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\CursorId::unserialize() - Unserialize a CursorId
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


String representation of the cursor ID

  • « MongoDB\Driver\CursorId::serialize
  • MongoDB\Driver\CursorId::unserialize »
  • PHP Manual
  • MongoDB\Driver\CursorId
  • String representation of the cursor ID

MongoDB\Driver\CursorId::__toString

(mongodb >=1.0.0)

MongoDB\Driver\CursorId::__toString — String representation of the cursor ID

Descrição

final public MongoDB\Driver\CursorId::__toString ( ) : string

Returns the string representation of the cursor ID.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of the cursor ID.

Exemplos

Exemplo #1 MongoDB\Driver\CursorId::__toString() example

<?php

/* In this example, we insert several documents into the collection and specify
 * a smaller batchSize to ensure that the first batch contains only a subset of
 * our results and the cursor remains open on the server. */
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([], ['batchSize' => 2]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$cursor = $manager->executeQuery('db.collection', $query);
var_dump((string) $cursor->getId());

?>

O exemplo acima irá imprimir algo similar à:

string(11) "98061641158"

Veja Também

  • MongoDB\Driver\Cursor::getId() - Returns the ID for this cursor


Unserialize a CursorId

  • « MongoDB\Driver\CursorId::__toString
  • MongoDB\Driver\CursorInterface »
  • PHP Manual
  • MongoDB\Driver\CursorId
  • Unserialize a CursorId

MongoDB\Driver\CursorId::unserialize

(mongodb >=1.7.0)

MongoDB\Driver\CursorId::unserialize — Unserialize a CursorId

Descrição

final public MongoDB\Driver\CursorId::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\Driver\CursorId.

Valor Retornado

Returns the unserialized MongoDB\Driver\CursorId.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Veja Também

  • MongoDB\Driver\CursorId::serialize() - Serialize a CursorId
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\Driver\CursorInterface interface

(mongodb >=1.6.0)

Introdução

This interface is implemented by MongoDB\Driver\Cursor but may also be used for type-hinting and userland classes.

Sinopse da classe

MongoDB\Driver\CursorInterface implements Traversable {
/* Métodos */
abstract public getId ( ) : MongoDB\Driver\CursorId
abstract public getServer ( ) : MongoDB\Driver\Server
abstract public isDead ( ) : bool
abstract public setTypeMap ( array $typemap ) : void
abstract public toArray ( ) : array
}

Índice

  • MongoDB\Driver\CursorInterface::getId — Returns the ID for this cursor
  • MongoDB\Driver\CursorInterface::getServer — Returns the server associated with this cursor
  • MongoDB\Driver\CursorInterface::isDead — Checks if the cursor may have additional results
  • MongoDB\Driver\CursorInterface::setTypeMap — Sets a type map to use for BSON unserialization
  • MongoDB\Driver\CursorInterface::toArray — Returns an array containing all results for this cursor


Returns the ID for this cursor

  • « MongoDB\Driver\CursorInterface
  • MongoDB\Driver\CursorInterface::getServer »
  • PHP Manual
  • MongoDB\Driver\CursorInterface
  • Returns the ID for this cursor

MongoDB\Driver\CursorInterface::getId

(mongodb >=1.6.0)

MongoDB\Driver\CursorInterface::getId — Returns the ID for this cursor

Descrição

abstract public MongoDB\Driver\CursorInterface::getId ( ) : MongoDB\Driver\CursorId

Returns the MongoDB\Driver\CursorId associated with this cursor. A cursor ID uniquely identifies the cursor on the server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the MongoDB\Driver\CursorId for this cursor.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Cursor::getId() - Returns the ID for this cursor
  • MongoDB\Driver\CursorId
  • MongoDB\Driver\CursorId::__toString() - String representation of the cursor ID


Returns the server associated with this cursor

  • « MongoDB\Driver\CursorInterface::getId
  • MongoDB\Driver\CursorInterface::isDead »
  • PHP Manual
  • MongoDB\Driver\CursorInterface
  • Returns the server associated with this cursor

MongoDB\Driver\CursorInterface::getServer

(mongodb >=1.6.0)

MongoDB\Driver\CursorInterface::getServer — Returns the server associated with this cursor

Descrição

abstract public MongoDB\Driver\CursorInterface::getServer ( ) : MongoDB\Driver\Server

Returns the MongoDB\Driver\Server associated with this cursor. This is the server that executed the MongoDB\Driver\Query or MongoDB\Driver\Command.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the MongoDB\Driver\Server associated with this cursor.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Cursor::getServer() - Returns the server associated with this cursor
  • MongoDB\Driver\Server


Checks if the cursor may have additional results

  • « MongoDB\Driver\CursorInterface::getServer
  • MongoDB\Driver\CursorInterface::setTypeMap »
  • PHP Manual
  • MongoDB\Driver\CursorInterface
  • Checks if the cursor may have additional results

MongoDB\Driver\CursorInterface::isDead

(mongodb >=1.6.0)

MongoDB\Driver\CursorInterface::isDead — Checks if the cursor may have additional results

Descrição

abstract public MongoDB\Driver\CursorInterface::isDead ( ) : bool

Checks whether the cursor may have additional results available to read. A cursor is initially "alive" but may become "dead" for any of the following reasons:

  • Advancing a non-tailable cursor did not return a document
  • The cursor encountered an error
  • The cursor read its last batch to completion
  • The cursor reached its configured limit
This is primarily useful with tailable cursors.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if additional results are not available, and false otherwise.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Cursor::isDead() - Checks if the cursor is exhausted or may have additional results


Sets a type map to use for BSON unserialization

  • « MongoDB\Driver\CursorInterface::isDead
  • MongoDB\Driver\CursorInterface::toArray »
  • PHP Manual
  • MongoDB\Driver\CursorInterface
  • Sets a type map to use for BSON unserialization

MongoDB\Driver\CursorInterface::setTypeMap

(mongodb >=1.6.0)

MongoDB\Driver\CursorInterface::setTypeMap — Sets a type map to use for BSON unserialization

Descrição

abstract public MongoDB\Driver\CursorInterface::setTypeMap ( array $typemap ) : void

Sets the type map configuration to use when unserializing the BSON results into PHP values.

Parâmetros

typeMap (array)

O mapeamento de tipos (Type).

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Cursor::setTypeMap() - Sets a type map to use for BSON unserialization
  • Persisting Data


Returns an array containing all results for this cursor

  • « MongoDB\Driver\CursorInterface::setTypeMap
  • MongoDB\Driver\Server »
  • PHP Manual
  • MongoDB\Driver\CursorInterface
  • Returns an array containing all results for this cursor

MongoDB\Driver\CursorInterface::toArray

(mongodb >=1.6.0)

MongoDB\Driver\CursorInterface::toArray — Returns an array containing all results for this cursor

Descrição

abstract public MongoDB\Driver\CursorInterface::toArray ( ) : array

Iterates the cursor and returns its results in an array. MongoDB\Driver\CursorInterface::setTypeMap() may be used to control how documents are unserialized into PHP values.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array containing all results for this cursor.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Cursor::toArray() - Returns an array containing all results for this cursor
  • MongoDB\Driver\CursorInterface::setTypeMap() - Sets a type map to use for BSON unserialization


The MongoDB\Driver\Server class

(mongodb >=1.0.0)

Introdução

Sinopse da classe

final MongoDB\Driver\Server {
/* Constants */
const int TYPE_UNKNOWN = 0 ;
const int TYPE_STANDALONE = 1 ;
const int TYPE_MONGOS = 2 ;
const int TYPE_POSSIBLE_PRIMARY = 3 ;
const int TYPE_RS_PRIMARY = 4 ;
const int TYPE_RS_SECONDARY = 5 ;
const int TYPE_RS_ARBITER = 6 ;
const int TYPE_RS_OTHER = 7 ;
const int TYPE_RS_GHOST = 8 ;
/* Métodos */
final private __construct ( )
final public executeBulkWrite ( string $namespace , MongoDB\Driver\BulkWrite $bulk , array $options = array() ) : MongoDB\Driver\WriteResult
final public executeCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor
final public executeQuery ( string $namespace , MongoDB\Driver\Query $query , array $options = array() ) : MongoDB\Driver\Cursor
final public executeReadCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor
final public executeReadWriteCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor
final public executeWriteCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor
final public getHost ( ) : string
final public getInfo ( ) : array
final public getLatency ( ) : string
final public getPort ( ) : int
final public getTags ( ) : array
final public getType ( ) : int
final public isArbiter ( ) : bool
final public isHidden ( ) : bool
final public isPassive ( ) : bool
final public isPrimary ( ) : bool
final public isSecondary ( ) : bool
}

Constantes pré-definidas

MongoDB\Driver\Server::TYPE_UNKNOWN

Unknown server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_STANDALONE

Standalone server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_MONGOS

Mongos server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_POSSIBLE_PRIMARY

Replica set possible primary server type, returned by MongoDB\Driver\Server::getType().

A server may be identified as a possible primary if it has not yet been checked but another memory of the replica set thinks it is the primary.

MongoDB\Driver\Server::TYPE_RS_PRIMARY

Replica set primary server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_RS_SECONDARY

Replica set secondary server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_RS_ARBITER

Replica set arbiter server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_RS_OTHER

Replica set other server type, returned by MongoDB\Driver\Server::getType().

Such servers may be hidden, starting up, or recovering. They cannot be queried, but their hosts lists are useful for discovering the current replica set configuration.

MongoDB\Driver\Server::TYPE_RS_GHOST

Replica set ghost server type, returned by MongoDB\Driver\Server::getType().

Servers may be identified as such in at least three situations: briefly during server startup; in an uninitialized replica set; or when the server is shunned (i.e. removed from the replica set config). They cannot be queried, nor can their host list be used to discover the current replica set configuration; however, the client may monitor this server in hope that it transitions to a more useful state.

Índice

  • MongoDB\Driver\Server::__construct — Create a new Server (not used)
  • MongoDB\Driver\Server::executeBulkWrite — Execute one or more write operations on this server
  • MongoDB\Driver\Server::executeCommand — Execute a database command on this server
  • MongoDB\Driver\Server::executeQuery — Execute a database query on this server
  • MongoDB\Driver\Server::executeReadCommand — Execute a database command that reads on this server
  • MongoDB\Driver\Server::executeReadWriteCommand — Execute a database command that reads and writes on this server
  • MongoDB\Driver\Server::executeWriteCommand — Execute a database command that writes on this server
  • MongoDB\Driver\Server::getHost — Returns the hostname of this server
  • MongoDB\Driver\Server::getInfo — Returns an array of information about this server
  • MongoDB\Driver\Server::getLatency — Returns the latency of this server
  • MongoDB\Driver\Server::getPort — Returns the port on which this server is listening
  • MongoDB\Driver\Server::getTags — Returns an array of tags describing this server in a replica set
  • MongoDB\Driver\Server::getType — Returns an integer denoting the type of this server
  • MongoDB\Driver\Server::isArbiter — Checks if this server is an arbiter member of a replica set
  • MongoDB\Driver\Server::isHidden — Checks if this server is a hidden member of a replica set
  • MongoDB\Driver\Server::isPassive — Checks if this server is a passive member of a replica set
  • MongoDB\Driver\Server::isPrimary — Checks if this server is a primary member of a replica set
  • MongoDB\Driver\Server::isSecondary — Checks if this server is a secondary member of a replica set


Create a new Server (not used)

  • « MongoDB\Driver\Server
  • MongoDB\Driver\Server::executeBulkWrite »
  • PHP Manual
  • MongoDB\Driver\Server
  • Create a new Server (not used)

MongoDB\Driver\Server::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Server::__construct — Create a new Server (not used)

Descrição

final private MongoDB\Driver\Server::__construct ( )

MongoDB\Driver\Server objects are created internally by MongoDB\Driver\Manager when a database connection is established and may be returned by MongoDB\Driver\Manager::getServers() and MongoDB\Driver\Manager::selectServer().

Parâmetros

Esta função não possui parâmetros.

Veja Também

  • MongoDB\Driver\Manager::getServers() - Return the servers to which this manager is connected
  • MongoDB\Driver\Manager::selectServer() - Select a server matching a read preference


Execute one or more write operations on this server

  • « MongoDB\Driver\Server::__construct
  • MongoDB\Driver\Server::executeCommand »
  • PHP Manual
  • MongoDB\Driver\Server
  • Execute one or more write operations on this server

MongoDB\Driver\Server::executeBulkWrite

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeBulkWrite — Execute one or more write operations on this server

Descrição

final public MongoDB\Driver\Server::executeBulkWrite ( string $namespace , MongoDB\Driver\BulkWrite $bulk , array $options = array() ) : MongoDB\Driver\WriteResult

Executes one or more write operations on this server.

A MongoDB\Driver\BulkWrite can be constructed with one or more write operations of varying types (e.g. updates, deletes, and inserts). The driver will attempt to send operations of the same type to the server in as few requests as possible to optimize round trips.

Parâmetros

namespace (string)

Um namespace completo (por exemplo "databaseName.collectionName").

bulk (MongoDB\Driver\BulkWrite)

O MongoDB\Driver\BulkWrite a executar.

options

options
Option Type Description
session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Valor Retornado

Retorna MongoDB\Driver\WriteResult no sucesso.

Erros

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if bulk does not contain any write operations.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if bulk has already been executed. MongoDB\Driver\BulkWrite objects may not be executed multiple times.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Lança MongoDB\Driver\Exception\BulkWriteException em qualquer erro de escrita (erro de escrita, falha ao aplicar um write concern)
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.

Changelog

Versão | Descrição
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.
PECL mongodb 1.4.0 | The third parameter is now an options array. For backwards compatibility, this paramater will still accept a MongoDB\Driver\WriteConcern object.
PECL mongodb 1.3.0 | MongoDB\Driver\Exception\InvalidArgumentException is now thrown if bulk does not contain any write operations. Previously, a MongoDB\Driver\Exception\BulkWriteException was thrown.

Notas

Nota: It is the caller's responsibility to ensure that the server is capable of executing the write operation. For example, executing a write operation on a secondary (excluding its "local" database) will fail.

Veja Também

  • MongoDB\Driver\BulkWrite
  • MongoDB\Driver\WriteResult
  • MongoDB\Driver\WriteConcern
  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations


Execute a database command on this server

  • « MongoDB\Driver\Server::executeBulkWrite
  • MongoDB\Driver\Server::executeQuery »
  • PHP Manual
  • MongoDB\Driver\Server
  • Execute a database command on this server

MongoDB\Driver\Server::executeCommand

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeCommand — Execute a database command on this server

Descrição

final public MongoDB\Driver\Server::executeCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor

Executes the command on this server.

This method applies no special logic to the command. Although this method accepts "readConcern" and "writeConcern" options, which will be incorporated into the command document, those options will not default to corresponding values from the MongoDB Connection URI nor will the MongoDB server version be taken into account. Users are therefore encouraged to use specific read and/or write command methods if possible.

Nota: The "readPreference" option does not control the server to which the driver issues the operation; it will always be executed on this server object. Instead, it may be used when issuing the operation to a secondary (from a replica set connection, not standalone) or mongos node to ensure that the driver sets the wire protocol accordingly or adds the read preference to the operation, respectively.

Parâmetros

db (string)

O nome do banco a executar o comando.

command (MongoDB\Driver\Command)

O MongoDB\Driver\Command a executar.

options

options
Option Type Description
readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Aviso

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Valor Retornado

Retorna MongoDB\Driver\Cursor no sucesso.

Erros

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command, issuing a write command to a secondary).

Changelog

Versão | Descrição
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.
PECL mongodb 1.4.0 | The third parameter is now an options array. For backwards compatibility, this paramater will still accept a MongoDB\Driver\ReadPreference object.

Notas

Nota: It is the caller's responsibility to ensure that the server is capable of executing the write operation. For example, executing a write operation on a secondary (excluding its "local" database) will fail.

Veja Também

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Server::executeReadCommand() - Execute a database command that reads on this server
  • MongoDB\Driver\Server::executeReadWriteCommand() - Execute a database command that reads and writes on this server
  • MongoDB\Driver\Server::executeWriteCommand() - Execute a database command that writes on this server
  • MongoDB\Driver\Manager::executeCommand() - Execute a database command


Execute a database query on this server

  • « MongoDB\Driver\Server::executeCommand
  • MongoDB\Driver\Server::executeReadCommand »
  • PHP Manual
  • MongoDB\Driver\Server
  • Execute a database query on this server

MongoDB\Driver\Server::executeQuery

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeQuery — Execute a database query on this server

Descrição

final public MongoDB\Driver\Server::executeQuery ( string $namespace , MongoDB\Driver\Query $query , array $options = array() ) : MongoDB\Driver\Cursor

Executes the query on this server.

Nota: The "readPreference" option does not control the server to which the driver issues the operation; it will always be executed on this server object. Instead, it may be used when issuing the operation to a secondary (from a replica set connection, not standalone) or mongos node to ensure that the driver sets the wire protocol accordingly or adds the read preference to the operation, respectively.

Parâmetros

namespace (string)

Um namespace completo (por exemplo "databaseName.collectionName").

query (MongoDB\Driver\Query)

A MongoDB\Driver\Query a executar.

options

options
Option Type Description
readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

session MongoDB\Driver\Session

A session to associate with the operation.

Valor Retornado

Retorna MongoDB\Driver\Cursor no sucesso.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid query operators).

Changelog

Versão | Descrição
PECL mongodb 1.4.0 | The third parameter is now an options array. For backwards compatibility, this paramater will still accept a MongoDB\Driver\ReadPreference object.

Veja Também

  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Query
  • MongoDB\Driver\ReadPreference
  • MongoDB\Driver\Manager::executeQuery() - Execute a database query


Execute a database command that reads on this server

  • « MongoDB\Driver\Server::executeQuery
  • MongoDB\Driver\Server::executeReadWriteCommand »
  • PHP Manual
  • MongoDB\Driver\Server
  • Execute a database command that reads on this server

MongoDB\Driver\Server::executeReadCommand

(mongodb >=1.4.0)

MongoDB\Driver\Server::executeReadCommand — Execute a database command that reads on this server

Descrição

final public MongoDB\Driver\Server::executeReadCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor

Executes the command on this server.

This method will apply logic that is specific to commands that read (e.g. » count) and take the MongoDB server version into account. The "readConcern" option will default to the corresponding value from the MongoDB Connection URI.

Nota: The "readPreference" option does not control the server to which the driver issues the operation; it will always be executed on this server object. Instead, it may be used when issuing the operation to a secondary (from a replica set connection, not standalone) or mongos node to ensure that the driver sets the wire protocol accordingly or adds the read preference to the operation, respectively.

Parâmetros

db (string)

O nome do banco a executar o comando.

command (MongoDB\Driver\Command)

O MongoDB\Driver\Command a executar.

options

options
Option Type Description
readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

session MongoDB\Driver\Session

A session to associate with the operation.

Aviso

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Valor Retornado

Retorna MongoDB\Driver\Cursor no sucesso.

Erros

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

Veja Também

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Server::executeCommand() - Execute a database command on this server
  • MongoDB\Driver\Server::executeReadWriteCommand() - Execute a database command that reads and writes on this server
  • MongoDB\Driver\Server::executeWriteCommand() - Execute a database command that writes on this server
  • MongoDB\Driver\Manager::executeReadCommand() - Execute a database command that reads


Execute a database command that reads and writes on this server

  • « MongoDB\Driver\Server::executeReadCommand
  • MongoDB\Driver\Server::executeWriteCommand »
  • PHP Manual
  • MongoDB\Driver\Server
  • Execute a database command that reads and writes on this server

MongoDB\Driver\Server::executeReadWriteCommand

(mongodb >=1.4.0)

MongoDB\Driver\Server::executeReadWriteCommand — Execute a database command that reads and writes on this server

Descrição

final public MongoDB\Driver\Server::executeReadWriteCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor

Executes the command on this server.

This method will apply logic that is specific to commands that read and write (e.g. » aggregate) and take the MongoDB server version into account. The "readConcern" and "writeConcern" options will default to the corresponding values from the MongoDB Connection URI.

Parâmetros

db (string)

O nome do banco a executar o comando.

command (MongoDB\Driver\Command)

O MongoDB\Driver\Command a executar.

options

options
Option Type Description
readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Aviso

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Valor Retornado

Retorna MongoDB\Driver\Cursor no sucesso.

Erros

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

Changelog

Versão | Descrição
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.

Notas

Nota: It is the caller's responsibility to ensure that the server is capable of executing the write operation. For example, executing a write operation on a secondary (excluding its "local" database) will fail.

Veja Também

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Server::executeCommand() - Execute a database command on this server
  • MongoDB\Driver\Server::executeReadCommand() - Execute a database command that reads on this server
  • MongoDB\Driver\Server::executeWriteCommand() - Execute a database command that writes on this server
  • MongoDB\Driver\Manager::executeReadWriteCommand() - Execute a database command that reads and writes


Execute a database command that writes on this server

  • « MongoDB\Driver\Server::executeReadWriteCommand
  • MongoDB\Driver\Server::getHost »
  • PHP Manual
  • MongoDB\Driver\Server
  • Execute a database command that writes on this server

MongoDB\Driver\Server::executeWriteCommand

(mongodb >=1.4.0)

MongoDB\Driver\Server::executeWriteCommand — Execute a database command that writes on this server

Descrição

final public MongoDB\Driver\Server::executeWriteCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor

Executes the command on this server.

This method will apply logic that is specific to commands that write (e.g. » drop) and take the MongoDB server version into account. The "writeConcern" option will default to the corresponding value from the MongoDB Connection URI.

Nota: This method is not intended to be used to execute » insert, » update, or » delete commands. Users are encouraged to use MongoDB\Driver\Server::executeBulkWrite() for those commands.

Parâmetros

db (string)

O nome do banco a executar o comando.

command (MongoDB\Driver\Command)

O MongoDB\Driver\Command a executar.

options

options
Option Type Description
session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Aviso

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Valor Retornado

Retorna MongoDB\Driver\Cursor no sucesso.

Erros

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Lança MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por razões outras que autenticação).
  • Lança MongoDB\Driver\Exception\AuthenticationException se a autenticação é necessária e falha.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

Changelog

Versão | Descrição
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.

Notas

Nota: It is the caller's responsibility to ensure that the server is capable of executing the write operation. For example, executing a write operation on a secondary (excluding its "local" database) will fail.

Veja Também

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Server::executeCommand() - Execute a database command on this server
  • MongoDB\Driver\Server::executeReadCommand() - Execute a database command that reads on this server
  • MongoDB\Driver\Server::executeReadWriteCommand() - Execute a database command that reads and writes on this server
  • MongoDB\Driver\Manager::executeWriteCommand() - Execute a database command that writes


Returns the hostname of this server

  • « MongoDB\Driver\Server::executeWriteCommand
  • MongoDB\Driver\Server::getInfo »
  • PHP Manual
  • MongoDB\Driver\Server
  • Returns the hostname of this server

MongoDB\Driver\Server::getHost

(mongodb >=1.0.0)

MongoDB\Driver\Server::getHost — Returns the hostname of this server

Descrição

final public MongoDB\Driver\Server::getHost ( ) : string

Returns the hostname of this server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the hostname of this server.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\Server::getHost() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017/");

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$server = $manager->selectServer($rp);

var_dump($server->getHost());

?>

O exemplo acima irá imprimir:

string(9) "localhost"

Veja Também

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server


Returns an array of information about this server

  • « MongoDB\Driver\Server::getHost
  • MongoDB\Driver\Server::getLatency »
  • PHP Manual
  • MongoDB\Driver\Server
  • Returns an array of information about this server

MongoDB\Driver\Server::getInfo

(mongodb >=1.0.0)

MongoDB\Driver\Server::getInfo — Returns an array of information about this server

Descrição

final public MongoDB\Driver\Server::getInfo ( ) : array

Returns an array of information about this server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array of information about this server.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\Server::getInfo() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017/");

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$server = $manager->selectServer($rp);

var_dump($server->getInfo());

?>

O exemplo acima irá imprimir algo similar à:

array(8) {
  ["ismaster"]=>
  bool(true)
  ["maxBsonObjectSize"]=>
  int(16777216)
  ["maxMessageSizeBytes"]=>
  int(48000000)
  ["maxWriteBatchSize"]=>
  int(1000)
  ["localTime"]=>
  object(MongoDB\BSON\UTCDateTime)#4 (1) {
    ["milliseconds"]=>
    int(1447276242774)
  }
  ["maxWireVersion"]=>
  int(3)
  ["minWireVersion"]=>
  int(0)
  ["ok"]=>
  float(1)
}


Returns the latency of this server

  • « MongoDB\Driver\Server::getInfo
  • MongoDB\Driver\Server::getPort »
  • PHP Manual
  • MongoDB\Driver\Server
  • Returns the latency of this server

MongoDB\Driver\Server::getLatency

(mongodb >=1.0.0)

MongoDB\Driver\Server::getLatency — Returns the latency of this server

Descrição

final public MongoDB\Driver\Server::getLatency ( ) : string

Returns the latency of this server (i.e. the client's measured » round trip time of an ismaster command).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the latency of this server.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\Server::getLatency() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017/");

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$server = $manager->selectServer($rp);

var_dump($server->getLatency());

?>

O exemplo acima irá imprimir algo similar à:

int(592)

Veja Também

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server
  • » Server Discovery and Monitoring Specification


Returns the port on which this server is listening

  • « MongoDB\Driver\Server::getLatency
  • MongoDB\Driver\Server::getTags »
  • PHP Manual
  • MongoDB\Driver\Server
  • Returns the port on which this server is listening

MongoDB\Driver\Server::getPort

(mongodb >=1.0.0)

MongoDB\Driver\Server::getPort — Returns the port on which this server is listening

Descrição

final public MongoDB\Driver\Server::getPort ( ) : int

Returns the port on which this server is listening.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the port on which this server is listening.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\Server::getPort() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017/");

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$server = $manager->selectServer($rp);

var_dump($server->getPort());

?>

O exemplo acima irá imprimir:

int(27017)

Veja Também

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server


Returns an array of tags describing this server in a replica set

  • « MongoDB\Driver\Server::getPort
  • MongoDB\Driver\Server::getType »
  • PHP Manual
  • MongoDB\Driver\Server
  • Returns an array of tags describing this server in a replica set

MongoDB\Driver\Server::getTags

(mongodb >=1.0.0)

MongoDB\Driver\Server::getTags — Returns an array of tags describing this server in a replica set

Descrição

final public MongoDB\Driver\Server::getTags ( ) : array

Returns an array of » tags used to describe this server in a replica set. The array will contain zero or more string key and value pairs.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array of tags used to describe this server in a replica set.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server


Returns an integer denoting the type of this server

  • « MongoDB\Driver\Server::getTags
  • MongoDB\Driver\Server::isArbiter »
  • PHP Manual
  • MongoDB\Driver\Server
  • Returns an integer denoting the type of this server

MongoDB\Driver\Server::getType

(mongodb >=1.0.0)

MongoDB\Driver\Server::getType — Returns an integer denoting the type of this server

Descrição

final public MongoDB\Driver\Server::getType ( ) : int

Returns an int denoting the type of this server. The value will correlate with a MongoDB\Driver\Server constant.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an int denoting the type of this server.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server


Checks if this server is an arbiter member of a replica set

  • « MongoDB\Driver\Server::getType
  • MongoDB\Driver\Server::isHidden »
  • PHP Manual
  • MongoDB\Driver\Server
  • Checks if this server is an arbiter member of a replica set

MongoDB\Driver\Server::isArbiter

(mongodb >=1.0.0)

MongoDB\Driver\Server::isArbiter — Checks if this server is an arbiter member of a replica set

Descrição

final public MongoDB\Driver\Server::isArbiter ( ) : bool

Returns whether this server is an » arbiter member of a replica set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if this server is an arbiter member of a replica set, and false otherwise.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server


Checks if this server is a hidden member of a replica set

  • « MongoDB\Driver\Server::isArbiter
  • MongoDB\Driver\Server::isPassive »
  • PHP Manual
  • MongoDB\Driver\Server
  • Checks if this server is a hidden member of a replica set

MongoDB\Driver\Server::isHidden

(mongodb >=1.0.0)

MongoDB\Driver\Server::isHidden — Checks if this server is a hidden member of a replica set

Descrição

final public MongoDB\Driver\Server::isHidden ( ) : bool

Returns whether this server is a » hidden member of a replica set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if this server is a hidden member of a replica set, and false otherwise.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server


Checks if this server is a passive member of a replica set

  • « MongoDB\Driver\Server::isHidden
  • MongoDB\Driver\Server::isPrimary »
  • PHP Manual
  • MongoDB\Driver\Server
  • Checks if this server is a passive member of a replica set

MongoDB\Driver\Server::isPassive

(mongodb >=1.0.0)

MongoDB\Driver\Server::isPassive — Checks if this server is a passive member of a replica set

Descrição

final public MongoDB\Driver\Server::isPassive ( ) : bool

Returns whether this server is a » passive member of a replica set (i.e. its priority is 0).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if this server is a passive member of a replica set, and false otherwise.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server


Checks if this server is a primary member of a replica set

  • « MongoDB\Driver\Server::isPassive
  • MongoDB\Driver\Server::isSecondary »
  • PHP Manual
  • MongoDB\Driver\Server
  • Checks if this server is a primary member of a replica set

MongoDB\Driver\Server::isPrimary

(mongodb >=1.0.0)

MongoDB\Driver\Server::isPrimary — Checks if this server is a primary member of a replica set

Descrição

final public MongoDB\Driver\Server::isPrimary ( ) : bool

Returns whether this server is a » primary member of a replica set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if this server is a primary member of a replica set, and false otherwise.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server


Checks if this server is a secondary member of a replica set

  • « MongoDB\Driver\Server::isPrimary
  • MongoDB\Driver\WriteConcernError »
  • PHP Manual
  • MongoDB\Driver\Server
  • Checks if this server is a secondary member of a replica set

MongoDB\Driver\Server::isSecondary

(mongodb >=1.0.0)

MongoDB\Driver\Server::isSecondary — Checks if this server is a secondary member of a replica set

Descrição

final public MongoDB\Driver\Server::isSecondary ( ) : bool

Returns whether this server is a » secondary member of a replica set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if this server is a secondary member of a replica set, and false otherwise.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server


The MongoDB\Driver\WriteConcernError class

(mongodb >=1.0.0)

Introdução

The MongoDB\Driver\WriteConcernError class encapsulates information about a write concern error and may be returned by MongoDB\Driver\WriteResult::getWriteConcernError().

Sinopse da classe

final MongoDB\Driver\WriteConcernError {
/* Métodos */
final public getCode ( ) : int
final public getInfo ( ) : object|null
final public getMessage ( ) : string
}

Índice

  • MongoDB\Driver\WriteConcernError::getCode — Returns the WriteConcernError's error code
  • MongoDB\Driver\WriteConcernError::getInfo — Returns metadata document for the WriteConcernError
  • MongoDB\Driver\WriteConcernError::getMessage — Returns the WriteConcernError's error message


Returns the WriteConcernError's error code

  • « MongoDB\Driver\WriteConcernError
  • MongoDB\Driver\WriteConcernError::getInfo »
  • PHP Manual
  • MongoDB\Driver\WriteConcernError
  • Returns the WriteConcernError's error code

MongoDB\Driver\WriteConcernError::getCode

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcernError::getCode — Returns the WriteConcernError's error code

Descrição

final public MongoDB\Driver\WriteConcernError::getCode ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the WriteConcernError's error code.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteConcernError::getCode() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$writeConcern = new MongoDB\Driver\WriteConcern(2, 1);

try {
    $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteConcernError()->getCode());
}

?>

O exemplo acima irá imprimir algo similar à:

int(64)

Veja Também

  • » Write Concern reference


Returns metadata document for the WriteConcernError

  • « MongoDB\Driver\WriteConcernError::getCode
  • MongoDB\Driver\WriteConcernError::getMessage »
  • PHP Manual
  • MongoDB\Driver\WriteConcernError
  • Returns metadata document for the WriteConcernError

MongoDB\Driver\WriteConcernError::getInfo

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcernError::getInfo — Returns metadata document for the WriteConcernError

Descrição

final public MongoDB\Driver\WriteConcernError::getInfo ( ) : object|null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the metadata document for the WriteConcernError, or null if no metadata is available.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteConcernError::getInfo() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$writeConcern = new MongoDB\Driver\WriteConcern(2, 1);

try {
    $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteConcernError()->getInfo());
}

?>

O exemplo acima irá imprimir algo similar à:

object(stdClass)#1 (1) {
  ["wtimeout"]=>
  bool(true)
}

Veja Também

  • » Write Concern reference


Returns the WriteConcernError's error message

  • « MongoDB\Driver\WriteConcernError::getInfo
  • MongoDB\Driver\WriteError »
  • PHP Manual
  • MongoDB\Driver\WriteConcernError
  • Returns the WriteConcernError's error message

MongoDB\Driver\WriteConcernError::getMessage

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcernError::getMessage — Returns the WriteConcernError's error message

Descrição

final public MongoDB\Driver\WriteConcernError::getMessage ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the WriteConcernError's error message.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteConcernError::getMessage() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$writeConcern = new MongoDB\Driver\WriteConcern(2, 1);

try {
    $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteConcernError()->getMessage());
}

?>

O exemplo acima irá imprimir algo similar à:

string(33) "waiting for replication timed out"

Veja Também

  • » Write Concern reference


The MongoDB\Driver\WriteError class

(mongodb >=1.0.0)

Introdução

The MongoDB\Driver\WriteError class encapsulates information about a write error and may be returned as an array element from MongoDB\Driver\WriteResult::getWriteErrors().

Sinopse da classe

final MongoDB\Driver\WriteError {
/* Métodos */
final public getCode ( ) : int
final public getIndex ( ) : int
final public getInfo ( ) : object|null
final public getMessage ( ) : string
}

Índice

  • MongoDB\Driver\WriteError::getCode — Returns the WriteError's error code
  • MongoDB\Driver\WriteError::getIndex — Returns the index of the write operation corresponding to this WriteError
  • MongoDB\Driver\WriteError::getInfo — Returns metadata document for the WriteError
  • MongoDB\Driver\WriteError::getMessage — Returns the WriteError's error message


Returns the WriteError's error code

  • « MongoDB\Driver\WriteError
  • MongoDB\Driver\WriteError::getIndex »
  • PHP Manual
  • MongoDB\Driver\WriteError
  • Returns the WriteError's error code

MongoDB\Driver\WriteError::getCode

(mongodb >=1.0.0)

MongoDB\Driver\WriteError::getCode — Returns the WriteError's error code

Descrição

final public MongoDB\Driver\WriteError::getCode ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the WriteError's error code.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteError::getCode() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);

try {
    $manager->executeBulkWrite('db.collection', $bulk);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteErrors()[0]->getCode());
}

?>

O exemplo acima irá imprimir algo similar à:

int(11000)


Returns the index of the write operation corresponding to this WriteError

  • « MongoDB\Driver\WriteError::getCode
  • MongoDB\Driver\WriteError::getInfo »
  • PHP Manual
  • MongoDB\Driver\WriteError
  • Returns the index of the write operation corresponding to this WriteError

MongoDB\Driver\WriteError::getIndex

(mongodb >=1.0.0)

MongoDB\Driver\WriteError::getIndex — Returns the index of the write operation corresponding to this WriteError

Descrição

final public MongoDB\Driver\WriteError::getIndex ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the index of the write operation (from MongoDB\Driver\BulkWrite) corresponding to this WriteError.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteError::getIndex() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);

try {
    $manager->executeBulkWrite('db.collection', $bulk);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteErrors()[0]->getIndex());
}

?>

O exemplo acima irá imprimir algo similar à:

int(1)

Veja Também

  • MongoDB\Driver\BulkWrite


Returns metadata document for the WriteError

  • « MongoDB\Driver\WriteError::getIndex
  • MongoDB\Driver\WriteError::getMessage »
  • PHP Manual
  • MongoDB\Driver\WriteError
  • Returns metadata document for the WriteError

MongoDB\Driver\WriteError::getInfo

(mongodb >=1.0.0)

MongoDB\Driver\WriteError::getInfo — Returns metadata document for the WriteError

Descrição

final public MongoDB\Driver\WriteError::getInfo ( ) : object|null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the metadata document for the WriteError, or null if no metadata is available.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.


Returns the WriteError's error message

  • « MongoDB\Driver\WriteError::getInfo
  • MongoDB\Driver\WriteResult »
  • PHP Manual
  • MongoDB\Driver\WriteError
  • Returns the WriteError's error message

MongoDB\Driver\WriteError::getMessage

(mongodb >=1.0.0)

MongoDB\Driver\WriteError::getMessage — Returns the WriteError's error message

Descrição

final public MongoDB\Driver\WriteError::getMessage ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the WriteError's error message.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteError::getMessage() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);

try {
    $manager->executeBulkWrite('db.collection', $bulk);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteErrors()[0]->getMessage());
}

?>

O exemplo acima irá imprimir algo similar à:

string(70) "E11000 duplicate key error index: db.collection.$_id_ dup key: { : 1 }"


The MongoDB\Driver\WriteResult class

(mongodb >=1.0.0)

Introdução

The MongoDB\Driver\WriteResult class encapsulates information about an executed MongoDB\Driver\BulkWrite and may be returned by MongoDB\Driver\Manager::executeBulkWrite().

Sinopse da classe

final MongoDB\Driver\WriteResult {
/* Métodos */
final public getDeletedCount ( ) : int|null
final public getInsertedCount ( ) : int|null
final public getMatchedCount ( ) : int|null
final public getModifiedCount ( ) : int|null
final public getServer ( ) : MongoDB\Driver\Server
final public getUpsertedCount ( ) : int|null
final public getUpsertedIds ( ) : array
final public getWriteConcernError ( ) : MongoDB\Driver\WriteConcernError|null
final public getWriteErrors ( ) : array
final public isAcknowledged ( ) : bool
}

Índice

  • MongoDB\Driver\WriteResult::getDeletedCount — Returns the number of documents deleted
  • MongoDB\Driver\WriteResult::getInsertedCount — Returns the number of documents inserted (excluding upserts)
  • MongoDB\Driver\WriteResult::getMatchedCount — Returns the number of documents selected for update
  • MongoDB\Driver\WriteResult::getModifiedCount — Returns the number of existing documents updated
  • MongoDB\Driver\WriteResult::getServer — Returns the server associated with this write result
  • MongoDB\Driver\WriteResult::getUpsertedCount — Returns the number of documents inserted by an upsert
  • MongoDB\Driver\WriteResult::getUpsertedIds — Returns an array of identifiers for upserted documents
  • MongoDB\Driver\WriteResult::getWriteConcernError — Returns any write concern error that occurred
  • MongoDB\Driver\WriteResult::getWriteErrors — Returns any write errors that occurred
  • MongoDB\Driver\WriteResult::isAcknowledged — Returns whether the write was acknowledged


Returns the number of documents deleted

  • « MongoDB\Driver\WriteResult
  • MongoDB\Driver\WriteResult::getInsertedCount »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns the number of documents deleted

MongoDB\Driver\WriteResult::getDeletedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getDeletedCount — Returns the number of documents deleted

Descrição

final public MongoDB\Driver\WriteResult::getDeletedCount ( ) : int|null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of documents deleted, or null if the write was not acknowledged.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteResult::getDeletedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getDeletedCount());

?>

O exemplo acima irá imprimir:

int(1)

Veja Também

  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged


Returns the number of documents inserted (excluding upserts)

  • « MongoDB\Driver\WriteResult::getDeletedCount
  • MongoDB\Driver\WriteResult::getMatchedCount »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns the number of documents inserted (excluding upserts)

MongoDB\Driver\WriteResult::getInsertedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getInsertedCount — Returns the number of documents inserted (excluding upserts)

Descrição

final public MongoDB\Driver\WriteResult::getInsertedCount ( ) : int|null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of documents inserted (excluding upserts), or null if the write was not acknowledged.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteResult::getInsertedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getInsertedCount());

?>

O exemplo acima irá imprimir:

int(1)

Veja Também

  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged


Returns the number of documents selected for update

  • « MongoDB\Driver\WriteResult::getInsertedCount
  • MongoDB\Driver\WriteResult::getModifiedCount »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns the number of documents selected for update

MongoDB\Driver\WriteResult::getMatchedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getMatchedCount — Returns the number of documents selected for update

Descrição

final public MongoDB\Driver\WriteResult::getMatchedCount ( ) : int|null

If the update operation results in no change to the document (e.g. setting the value of a field to its current value), the matched count may be greater than the value returned by MongoDB\Driver\WriteResult::getModifiedCount().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of documents selected for update, or null if the write was not acknowledged.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteResult::getMatchedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getMatchedCount());

?>

O exemplo acima irá imprimir:

int(1)

Veja Também

  • MongoDB\Driver\WriteResult::getModifiedCount() - Returns the number of existing documents updated
  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged


Returns the number of existing documents updated

  • « MongoDB\Driver\WriteResult::getMatchedCount
  • MongoDB\Driver\WriteResult::getServer »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns the number of existing documents updated

MongoDB\Driver\WriteResult::getModifiedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getModifiedCount — Returns the number of existing documents updated

Descrição

final public MongoDB\Driver\WriteResult::getModifiedCount ( ) : int|null

If the update operation results in no change to the document (e.g. setting the value of a field to its current value), the modified count may be less than the value returned by MongoDB\Driver\WriteResult::getMatchedCount().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of existing documents updated, or null if the write was not acknowledged.

The modified count is not available on versions of MongoDB before 2.6, which used the legacy wire protocol version (i.e. OP_UPDATE). If this is the case, the modified count will also be null.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteResult::getModifiedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getModifiedCount());

?>

O exemplo acima irá imprimir:

int(1)

Veja Também

  • MongoDB\Driver\WriteResult::getMatchedCount() - Returns the number of documents selected for update
  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged


Returns the server associated with this write result

  • « MongoDB\Driver\WriteResult::getModifiedCount
  • MongoDB\Driver\WriteResult::getUpsertedCount »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns the server associated with this write result

MongoDB\Driver\WriteResult::getServer

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getServer — Returns the server associated with this write result

Descrição

final public MongoDB\Driver\WriteResult::getServer ( ) : MongoDB\Driver\Server

Returns the MongoDB\Driver\Server associated with this write result. This is the server that executed the MongoDB\Driver\BulkWrite.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the MongoDB\Driver\Server associated with this write result.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteResult::getServer() example

<?php

$manager = new MongoDB\Driver\Manager;
$server = $manager->selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY));

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$result = $server->executeBulkWrite('db.collection', $bulk);

var_dump($result->getServer() == $server);

?>

O exemplo acima irá imprimir:

bool(true)

Veja Também

  • MongoDB\Driver\Server


Returns the number of documents inserted by an upsert

  • « MongoDB\Driver\WriteResult::getServer
  • MongoDB\Driver\WriteResult::getUpsertedIds »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns the number of documents inserted by an upsert

MongoDB\Driver\WriteResult::getUpsertedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getUpsertedCount — Returns the number of documents inserted by an upsert

Descrição

final public MongoDB\Driver\WriteResult::getUpsertedCount ( ) : int|null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of documents inserted by an upsert.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteResult::getUpsertedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getUpsertedCount());

?>

O exemplo acima irá imprimir:

int(2)

Veja Também

  • MongoDB\Driver\WriteResult::getUpsertedIds() - Returns an array of identifiers for upserted documents
  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged


Returns an array of identifiers for upserted documents

  • « MongoDB\Driver\WriteResult::getUpsertedCount
  • MongoDB\Driver\WriteResult::getWriteConcernError »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns an array of identifiers for upserted documents

MongoDB\Driver\WriteResult::getUpsertedIds

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getUpsertedIds — Returns an array of identifiers for upserted documents

Descrição

final public MongoDB\Driver\WriteResult::getUpsertedIds ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array of identifiers (i.e. "_id" field values) for upserted documents. The array keys will correspond to the index of the write operation (from MongoDB\Driver\BulkWrite) responsible for the upsert.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteResult::getUpsertedIds() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getUpsertedIds());

?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  [2]=>
  object(MongoDB\BSON\ObjectId)#4 (1) {
    ["oid"]=>
    string(24) "580e62a224f2302f191b880b"
  }
  [3]=>
  object(MongoDB\BSON\ObjectId)#5 (1) {
    ["oid"]=>
    string(24) "580e62a224f2302f191b880c"
  }
}

Veja Também

  • MongoDB\Driver\WriteResult::getUpsertedCount() - Returns the number of documents inserted by an upsert
  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged


Returns any write concern error that occurred

  • « MongoDB\Driver\WriteResult::getUpsertedIds
  • MongoDB\Driver\WriteResult::getWriteErrors »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns any write concern error that occurred

MongoDB\Driver\WriteResult::getWriteConcernError

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getWriteConcernError — Returns any write concern error that occurred

Descrição

final public MongoDB\Driver\WriteResult::getWriteConcernError ( ) : MongoDB\Driver\WriteConcernError|null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a MongoDB\Driver\WriteConcernError if a write concern error was encountered during the write operation, and null otherwise.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteResult::getWriteConcernError() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$writeConcern = new MongoDB\Driver\WriteConcern(2, 1);

try {
    $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteConcernError());
}

?>

O exemplo acima irá imprimir algo similar à:

object(MongoDB\Driver\WriteConcernError)#6 (3) {
  ["message"]=>
  string(33) "waiting for replication timed out"
  ["code"]=>
  int(64)
  ["info"]=>
  object(stdClass)#7 (1) {
    ["wtimeout"]=>
    bool(true)
  }
}

Veja Também

  • MongoDB\Driver\WriteConcern
  • » Write Concern reference


Returns any write errors that occurred

  • « MongoDB\Driver\WriteResult::getWriteConcernError
  • MongoDB\Driver\WriteResult::isAcknowledged »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns any write errors that occurred

MongoDB\Driver\WriteResult::getWriteErrors

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getWriteErrors — Returns any write errors that occurred

Descrição

final public MongoDB\Driver\WriteResult::getWriteErrors ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array of MongoDB\Driver\WriteError objects for any write errors encountered during the write operation. The array will be empty if no write errors occurred.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteResult::getWriteErrors() with a single error

<?php

$manager = new MongoDB\Driver\Manager;

/* By default, bulk write operations are executed serially in order and
 * execution will stop after the first error.
 */
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 4]);

try {
    $result = $manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteErrors());
}

?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  object(MongoDB\Driver\WriteError)#5 (4) {
    ["message"]=>
    string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 2 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(2)
    ["info"]=>
    NULL
  }
}

Exemplo #2 MongoDB\Driver\WriteResult::getWriteErrors() with multiple errors

<?php

$manager = new MongoDB\Driver\Manager;

/* The "ordered" option may be used to allow bulk write operations to continue
 * executing after the first error is encountered.
 */
$bulk = new MongoDB\Driver\BulkWrite(['ordered' => false]);
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 4]);

try {
    $result = $manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteErrors());
}

?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  [0]=>
  object(MongoDB\Driver\WriteError)#5 (4) {
    ["message"]=>
    string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 2 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(2)
    ["info"]=>
    NULL
  }
  [1]=>
  object(MongoDB\Driver\WriteError)#6 (4) {
    ["message"]=>
    string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 4 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(5)
    ["info"]=>
    NULL
  }
}

Veja Também

  • MongoDB\Driver\WriteError


Returns whether the write was acknowledged

  • « MongoDB\Driver\WriteResult::getWriteErrors
  • MongoDB\BSON »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns whether the write was acknowledged

MongoDB\Driver\WriteResult::isAcknowledged

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::isAcknowledged — Returns whether the write was acknowledged

Descrição

final public MongoDB\Driver\WriteResult::isAcknowledged ( ) : bool

If the write is acknowledged, other count fields will be available on the MongoDB\Driver\WriteResult object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the write was acknowledged, and false otherwise.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\Driver\WriteResult::isAcknowledged() with acknowledged write concern

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->isAcknowledged());

?>

O exemplo acima irá imprimir:

bool(true)

Exemplo #2 MongoDB\Driver\WriteResult::isAcknowledged() with unacknowledged write concern

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk, new MongoDB\Driver\WriteConcern(0));

var_dump($result->isAcknowledged());

?>

O exemplo acima irá imprimir:

bool(false)

Veja Também

  • MongoDB\Driver\WriteConcern
  • » Write Concern reference


BSON type classes and serialization functions

  • Funções
    • MongoDB\BSON\fromJSON — Returns the BSON representation of a JSON value
    • MongoDB\BSON\fromPHP — Returns the BSON representation of a PHP value
    • MongoDB\BSON\toCanonicalExtendedJSON — Returns the Canonical Extended JSON representation of a BSON value
    • MongoDB\BSON\toJSON — Returns the Legacy Extended JSON representation of a BSON value
    • MongoDB\BSON\toPHP — Returns the PHP representation of a BSON value
    • MongoDB\BSON\toRelaxedExtendedJSON — Returns the Relaxed Extended JSON representation of a BSON value
  • MongoDB\BSON\Binary — The MongoDB\BSON\Binary class
    • MongoDB\BSON\Binary::__construct — Construct a new Binary
    • MongoDB\BSON\Binary::getData — Returns the Binary's data
    • MongoDB\BSON\Binary::getType — Returns the Binary's type
    • MongoDB\BSON\Binary::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Binary::serialize — Serialize a Binary
    • MongoDB\BSON\Binary::__toString — Returns the Binary's data
    • MongoDB\BSON\Binary::unserialize — Unserialize a Binary
  • MongoDB\BSON\Decimal128 — The MongoDB\BSON\Decimal128 class
    • MongoDB\BSON\Decimal128::__construct — Construct a new Decimal128
    • MongoDB\BSON\Decimal128::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Decimal128::serialize — Serialize a Decimal128
    • MongoDB\BSON\Decimal128::__toString — Returns the string representation of this Decimal128
    • MongoDB\BSON\Decimal128::unserialize — Unserialize a Decimal128
  • MongoDB\BSON\Javascript — The MongoDB\BSON\Javascript class
    • MongoDB\BSON\Javascript::__construct — Construct a new Javascript
    • MongoDB\BSON\Javascript::getCode — Returns the Javascript's code
    • MongoDB\BSON\Javascript::getScope — Returns the Javascript's scope document
    • MongoDB\BSON\Javascript::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Javascript::serialize — Serialize a Javascript
    • MongoDB\BSON\Javascript::__toString — Returns the Javascript's code
    • MongoDB\BSON\Javascript::unserialize — Unserialize a Javascript
  • MongoDB\BSON\MaxKey — The MongoDB\BSON\MaxKey class
    • MongoDB\BSON\MaxKey::__construct — Construct a new MaxKey
    • MongoDB\BSON\MaxKey::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\MaxKey::serialize — Serialize a MaxKey
    • MongoDB\BSON\MaxKey::unserialize — Unserialize a MaxKey
  • MongoDB\BSON\MinKey — The MongoDB\BSON\MinKey class
    • MongoDB\BSON\MinKey::__construct — Construct a new MinKey
    • MongoDB\BSON\MinKey::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\MinKey::serialize — Serialize a MinKey
    • MongoDB\BSON\MinKey::unserialize — Unserialize a MinKey
  • MongoDB\BSON\ObjectId — The MongoDB\BSON\ObjectId class
    • MongoDB\BSON\ObjectId::__construct — Construct a new ObjectId
    • MongoDB\BSON\ObjectId::getTimestamp — Returns the timestamp component of this ObjectId
    • MongoDB\BSON\ObjectId::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\ObjectId::serialize — Serialize an ObjectId
    • MongoDB\BSON\ObjectId::__toString — Returns the hexidecimal representation of this ObjectId
    • MongoDB\BSON\ObjectId::unserialize — Unserialize an ObjectId
  • MongoDB\BSON\Regex — The MongoDB\BSON\Regex class
    • MongoDB\BSON\Regex::__construct — Construct a new Regex
    • MongoDB\BSON\Regex::getFlags — Returns the Regex's flags
    • MongoDB\BSON\Regex::getPattern — Returns the Regex's pattern
    • MongoDB\BSON\Regex::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Regex::serialize — Serialize a Regex
    • MongoDB\BSON\Regex::__toString — Returns the string representation of this Regex
    • MongoDB\BSON\Regex::unserialize — Unserialize a Regex
  • MongoDB\BSON\Timestamp — The MongoDB\BSON\Timestamp class
    • MongoDB\BSON\Timestamp::__construct — Construct a new Timestamp
    • MongoDB\BSON\Timestamp::getIncrement — Returns the increment component of this Timestamp
    • MongoDB\BSON\Timestamp::getTimestamp — Returns the timestamp component of this Timestamp
    • MongoDB\BSON\Timestamp::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Timestamp::serialize — Serialize a Timestamp
    • MongoDB\BSON\Timestamp::__toString — Returns the string representation of this Timestamp
    • MongoDB\BSON\Timestamp::unserialize — Unserialize a Timestamp
  • MongoDB\BSON\UTCDateTime — The MongoDB\BSON\UTCDateTime class
    • MongoDB\BSON\UTCDateTime::__construct — Construct a new UTCDateTime
    • MongoDB\BSON\UTCDateTime::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\UTCDateTime::serialize — Serialize a UTCDateTime
    • MongoDB\BSON\UTCDateTime::toDateTime — Returns the DateTime representation of this UTCDateTime
    • MongoDB\BSON\UTCDateTime::__toString — Returns the string representation of this UTCDateTime
    • MongoDB\BSON\UTCDateTime::unserialize — Unserialize a UTCDateTime
  • MongoDB\BSON\Type — The MongoDB\BSON\Type interface
  • MongoDB\BSON\Persistable — The MongoDB\BSON\Persistable interface
  • MongoDB\BSON\Serializable — The MongoDB\BSON\Serializable interface
    • MongoDB\BSON\Serializable::bsonSerialize — Provides an array or document to serialize as BSON
  • MongoDB\BSON\Unserializable — The MongoDB\BSON\Unserializable interface
    • MongoDB\BSON\Unserializable::bsonUnserialize — Constructs the object from a BSON array or document
  • MongoDB\BSON\BinaryInterface — The MongoDB\BSON\BinaryInterface interface
    • MongoDB\BSON\BinaryInterface::getData — Returns the BinaryInterface's data
    • MongoDB\BSON\BinaryInterface::getType — Returns the BinaryInterface's type
    • MongoDB\BSON\BinaryInterface::__toString — Returns the BinaryInterface's data
  • MongoDB\BSON\Decimal128Interface — The MongoDB\BSON\Decimal128Interface interface
    • MongoDB\BSON\Decimal128Interface::__toString — Returns the string representation of this Decimal128Interface
  • MongoDB\BSON\JavascriptInterface — The MongoDB\BSON\JavascriptInterface interface
    • MongoDB\BSON\JavascriptInterface::getCode — Returns the JavascriptInterface's code
    • MongoDB\BSON\JavascriptInterface::getScope — Returns the JavascriptInterface's scope document
    • MongoDB\BSON\JavascriptInterface::__toString — Returns the JavascriptInterface's code
  • MongoDB\BSON\MaxKeyInterface — The MongoDB\BSON\MaxKeyInterface interface
  • MongoDB\BSON\MinKeyInterface — The MongoDB\BSON\MinKeyInterface interface
  • MongoDB\BSON\ObjectIdInterface — The MongoDB\BSON\ObjectIdInterface interface
    • MongoDB\BSON\ObjectIdInterface::getTimestamp — Returns the timestamp component of this ObjectIdInterface
    • MongoDB\BSON\ObjectIdInterface::__toString — Returns the hexidecimal representation of this ObjectIdInterface
  • MongoDB\BSON\RegexInterface — The MongoDB\BSON\RegexInterface interface
    • MongoDB\BSON\RegexInterface::getFlags — Returns the RegexInterface's flags
    • MongoDB\BSON\RegexInterface::getPattern — Returns the RegexInterface's pattern
    • MongoDB\BSON\RegexInterface::__toString — Returns the string representation of this RegexInterface
  • MongoDB\BSON\TimestampInterface — The MongoDB\BSON\TimestampInterface interface
    • MongoDB\BSON\TimestampInterface::getIncrement — Returns the increment component of this TimestampInterface
    • MongoDB\BSON\TimestampInterface::getTimestamp — Returns the timestamp component of this TimestampInterface
    • MongoDB\BSON\TimestampInterface::__toString — Returns the string representation of this TimestampInterface
  • MongoDB\BSON\UTCDateTimeInterface — The MongoDB\BSON\UTCDateTimeInterface interface
    • MongoDB\BSON\UTCDateTimeInterface::toDateTime — Returns the DateTime representation of this UTCDateTimeInterface
    • MongoDB\BSON\UTCDateTimeInterface::__toString — Returns the string representation of this UTCDateTimeInterface
  • MongoDB\BSON\DBPointer — The MongoDB\BSON\DBPointer class (deprecated)
    • MongoDB\BSON\DBPointer::__construct — Construct a new DBPointer (unused)
    • MongoDB\BSON\DBPointer::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\DBPointer::serialize — Serialize a DBPointer
    • MongoDB\BSON\DBPointer::__toString — Returns an empty string
    • MongoDB\BSON\DBPointer::unserialize — Unserialize a DBPointer
  • MongoDB\BSON\Int64 — The MongoDB\BSON\Int64 class
    • MongoDB\BSON\Int64::__construct — Construct a new Int64 (unused)
    • MongoDB\BSON\Int64::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Int64::serialize — Serialize an Int64
    • MongoDB\BSON\Int64::__toString — Returns the string representation of this Int64
    • MongoDB\BSON\Int64::unserialize — Unserialize an Int64
  • MongoDB\BSON\Symbol — The MongoDB\BSON\Symbol class (deprecated)
    • MongoDB\BSON\Symbol::__construct — Construct a new Symbol (unused)
    • MongoDB\BSON\Symbol::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Symbol::serialize — Serialize a Symbol
    • MongoDB\BSON\Symbol::__toString — Returns the Symbol as a string
    • MongoDB\BSON\Symbol::unserialize — Unserialize a Symbol
  • MongoDB\BSON\Undefined — The MongoDB\BSON\Undefined class (deprecated)
    • MongoDB\BSON\Undefined::__construct — Construct a new Undefined (unused)
    • MongoDB\BSON\Undefined::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Undefined::serialize — Serialize a Undefined
    • MongoDB\BSON\Undefined::__toString — Returns an empty string
    • MongoDB\BSON\Undefined::unserialize — Unserialize a Undefined


Funções

Índice

  • MongoDB\BSON\fromJSON — Returns the BSON representation of a JSON value
  • MongoDB\BSON\fromPHP — Returns the BSON representation of a PHP value
  • MongoDB\BSON\toCanonicalExtendedJSON — Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toJSON — Returns the Legacy Extended JSON representation of a BSON value
  • MongoDB\BSON\toPHP — Returns the PHP representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON — Returns the Relaxed Extended JSON representation of a BSON value


Returns the BSON representation of a JSON value

  • « Funções
  • MongoDB\BSON\fromPHP »
  • PHP Manual
  • Funções
  • Returns the BSON representation of a JSON value

MongoDB\BSON\fromJSON

(mongodb >=1.0.0)

MongoDB\BSON\fromJSON — Returns the BSON representation of a JSON value

Descrição

MongoDB\BSON\fromJSON ( string $json ) : string

Converts an » extended JSON string to its BSON representation.

Parâmetros

json (string)

JSON value to be converted.

Valor Retornado

The serialized BSON document as a binary string.

Erros

  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the JSON value cannot be converted to BSON (e.g. due to a syntax error).

Exemplos

Exemplo #1 MongoDB\BSON\fromJSON() example

<?php

$json = '{ "_id": { "$oid": "563143b280d2387c91807965" } }';
$bson = MongoDB\BSON\fromJSON($json);
$value = MongoDB\BSON\toPHP($bson);
var_dump($value);

?>

O exemplo acima irá imprimir:

object(stdClass)#2 (1) {
  ["_id"]=>
  object(MongoDB\BSON\ObjectId)#1 (1) {
    ["oid"]=>
    string(24) "563143b280d2387c91807965"
  }
}

Veja Também

  • MongoDB\BSON\toJSON() - Returns the Legacy Extended JSON representation of a BSON value
  • » MongoDB Extended JSON
  • » MongoDB BSON


Returns the BSON representation of a PHP value

  • « MongoDB\BSON\fromJSON
  • MongoDB\BSON\toCanonicalExtendedJSON »
  • PHP Manual
  • Funções
  • Returns the BSON representation of a PHP value

MongoDB\BSON\fromPHP

(mongodb >=1.0.0)

MongoDB\BSON\fromPHP — Returns the BSON representation of a PHP value

Descrição

MongoDB\BSON\fromPHP ( array|object $value ) : string

Serializes a PHP array or object (e.g. document) to its » BSON representation. The returned binary string will describe a BSON document.

Parâmetros

value (array|object)

PHP value to be serialized.

Valor Retornado

The serialized BSON document as a binary string.

Erros

  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the PHP value cannot be converted to BSON. Possible reasons include, but are not limited to, encountering an unexpected MongoDB\BSON\Type instance or MongoDB\BSON\Serializable::bsonSerialize() failing to return an array or stdClass.

Exemplos

Exemplo #1 MongoDB\BSON\fromPHP() example

<?php

$bson = MongoDB\BSON\fromPHP(['foo' => 1]);
echo bin2hex($bson), "\n";

?>

O exemplo acima irá imprimir:

0e00000010666f6f000100000000cat

Veja Também

  • MongoDB\BSON\toPHP() - Returns the PHP representation of a BSON value
  • » MongoDB BSON
  • Persisting Data


Returns the Canonical Extended JSON representation of a BSON value

  • « MongoDB\BSON\fromPHP
  • MongoDB\BSON\toJSON »
  • PHP Manual
  • Funções
  • Returns the Canonical Extended JSON representation of a BSON value

MongoDB\BSON\toCanonicalExtendedJSON

(mongodb >=1.3.0)

MongoDB\BSON\toCanonicalExtendedJSON — Returns the Canonical Extended JSON representation of a BSON value

Descrição

MongoDB\BSON\toCanonicalExtendedJSON ( string $bson ) : string

Converts a BSON string to its » Canonical Extended JSON representation. The canonical format prefers type fidelity at the expense of concise output and is most suited for producing output that can be converted back to BSON without any loss of type information (e.g. numeric types will remain differentiated).

Parâmetros

bson (string)

BSON value to be converted.

Valor Retornado

The converted JSON value.

Erros

  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected » libbson error.

Exemplos

Exemplo #1 MongoDB\BSON\toCanonicalExtendedJSON() example

<?php

$documents = [
    [ 'null' => null ],
    [ 'boolean' => true ],
    [ 'string' => 'foo' ],
    [ 'int32' => 123 ],
    [ 'int64' => 4294967295 ],
    [ 'double' => 1.0, ],
    [ 'nan' => NAN ],
    [ 'pos_inf' => INF ],
    [ 'neg_inf' => -INF ],
    [ 'array' => [ 'foo', 'bar' ]],
    [ 'document' => [ 'foo' => 'bar' ]],
    [ 'oid' => new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1') ],
    [ 'dec128' => new MongoDB\BSON\Decimal128('1234.5678') ],
    [ 'binary' => new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC) ],
    [ 'date' => new MongoDB\BSON\UTCDateTime(1445990400000) ],
    [ 'timestamp' => new MongoDB\BSON\Timestamp(1234, 5678) ],
    [ 'regex' => new MongoDB\BSON\Regex('pattern', 'i') ],
    [ 'code' => new MongoDB\BSON\Javascript('function() { return 1; }') ],
    [ 'code_ws' => new MongoDB\BSON\Javascript('function() { return a; }', ['a' => 1]) ],
    [ 'minkey' => new MongoDB\BSON\MinKey ],
    [ 'maxkey' => new MongoDB\BSON\MaxKey ],
];

foreach ($documents as $document) {
    $bson = MongoDB\BSON\fromPHP($document);
    echo MongoDB\BSON\toCanonicalExtendedJSON($bson), "\n";
}

?>

O exemplo acima irá imprimir:

{ "null" : null }
{ "boolean" : true }
{ "string" : "foo" }
{ "int32" : { "$numberInt" : "123" } }
{ "int64" : { "$numberLong" : "4294967295"} }
{ "double" : { "$numberDouble" : "1.0" } }
{ "nan" : { "$numberDouble" : "NaN" } }
{ "pos_inf" : { "$numberDouble" : "Infinity" } }
{ "neg_inf" : { "$numberDouble" : "-Infinity" } }
{ "array" : [ "foo", "bar" ] }
{ "document" : { "foo" : "bar" } }
{ "oid" : { "$oid" : "56315a7c6118fd1b920270b1" } }
{ "dec128" : { "$numberDecimal" : "1234.5678" } }
{ "binary" : { "$binary" : { "base64": "Zm9v", "subType" : "00" } } }
{ "date" : { "$date" : { "$numberLong" : "1445990400000" } } }
{ "timestamp" : { "$timestamp" : { "t" : 5678, "i" : 1234 } } }
{ "regex" : { "$regularExpression" : { "pattern" : "pattern", "options" : "i" } } }
{ "code" : { "$code" : "function() { return 1; }" } }
{ "code_ws" : { "$code" : "function() { return a; }", "$scope" : { "a" : { "$numberInt" : "1" } } } }
{ "minkey" : { "$minKey" : 1 } }
{ "maxkey" : { "$maxKey" : 1 } }

Veja Também

  • MongoDB\BSON\fromJSON() - Returns the BSON representation of a JSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » Extended JSON Specification
  • » MongoDB BSON


Returns the Legacy Extended JSON representation of a BSON value

  • « MongoDB\BSON\toCanonicalExtendedJSON
  • MongoDB\BSON\toPHP »
  • PHP Manual
  • Funções
  • Returns the Legacy Extended JSON representation of a BSON value

MongoDB\BSON\toJSON

(mongodb >=1.0.0)

MongoDB\BSON\toJSON — Returns the Legacy Extended JSON representation of a BSON value

Descrição

MongoDB\BSON\toJSON ( string $bson ) : string

Converts a BSON string to its » Legacy Extended JSON representation.

Nota: There exist several JSON formats for representing BSON. This function implements the "strict mode" defined in » MongoDB Extended JSON, which has been superseded by the canonical and relaxed formats defined in the » Extended JSON Specification and implemented by MongoDB\BSON\toCanonicalExtendedJSON() and MongoDB\BSON\toRelaxedExtendedJSON(), respectively.

Aviso

» JSON does not support NAN and INF and MongoDB's Legacy Extended JSON format does not define an alternative representation for these values (» libbson will output nan and inf literals, which may not be parsed as valid JSON). If you are working with BSON that may contain non-finite numbers, please use MongoDB\BSON\toCanonicalExtendedJSON() or MongoDB\BSON\toRelaxedExtendedJSON().

Parâmetros

bson (string)

BSON value to be converted.

Valor Retornado

The converted JSON value.

Erros

  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected » libbson error.

Exemplos

Exemplo #1 MongoDB\BSON\toJSON() example

<?php

$documents = [
    [ 'null' => null ],
    [ 'boolean' => true ],
    [ 'string' => 'foo' ],
    [ 'int32' => 123 ],
    [ 'int64' => 4294967295 ],
    [ 'double' => 1.0, ],
    [ 'nan' => NAN ],
    [ 'pos_inf' => INF ],
    [ 'neg_inf' => -INF ],
    [ 'array' => [ 'foo', 'bar' ]],
    [ 'document' => [ 'foo' => 'bar' ]],
    [ 'oid' => new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1') ],
    [ 'dec128' => new MongoDB\BSON\Decimal128('1234.5678') ],
    [ 'binary' => new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC) ],
    [ 'date' => new MongoDB\BSON\UTCDateTime(1445990400000) ],
    [ 'timestamp' => new MongoDB\BSON\Timestamp(1234, 5678) ],
    [ 'regex' => new MongoDB\BSON\Regex('pattern', 'i') ],
    [ 'code' => new MongoDB\BSON\Javascript('function() { return 1; }') ],
    [ 'code_ws' => new MongoDB\BSON\Javascript('function() { return a; }', ['a' => 1]) ],
    [ 'minkey' => new MongoDB\BSON\MinKey ],
    [ 'maxkey' => new MongoDB\BSON\MaxKey ],
];

foreach ($documents as $document) {
    $bson = MongoDB\BSON\fromPHP($document);
    echo MongoDB\BSON\toJSON($bson), "\n";
}

?>

O exemplo acima irá imprimir:

{ "null" : null }
{ "boolean" : true }
{ "string" : "foo" }
{ "int32" : 123 }
{ "int64" : 4294967295 }
{ "double" : 1.0 }
{ "nan" : nan }
{ "pos_inf" : inf }
{ "neg_inf" : -inf }
{ "array" : [ "foo", "bar" ] }
{ "document" : { "foo" : "bar" } }
{ "oid" : { "$oid" : "56315a7c6118fd1b920270b1" } }
{ "dec128" : { "$numberDecimal" : "1234.5678" } }
{ "binary" : { "$binary" : "Zm9v", "$type" : "00" } }
{ "date" : { "$date" : 1445990400000 } }
{ "timestamp" : { "$timestamp" : { "t" : 5678, "i" : 1234 } } }
{ "regex" : { "$regex" : "pattern", "$options" : "i" } }
{ "code" : { "$code" : "function() { return 1; }" } }
{ "code_ws" : { "$code" : "function() { return a; }", "$scope" : { "a" : 1 } } }
{ "minkey" : { "$minKey" : 1 } }
{ "maxkey" : { "$maxKey" : 1 } }

Veja Também

  • MongoDB\BSON\fromJSON() - Returns the BSON representation of a JSON value
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON
  • » MongoDB BSON


Returns the PHP representation of a BSON value

  • « MongoDB\BSON\toJSON
  • MongoDB\BSON\toRelaxedExtendedJSON »
  • PHP Manual
  • Funções
  • Returns the PHP representation of a BSON value

MongoDB\BSON\toPHP

(mongodb >=1.0.0)

MongoDB\BSON\toPHP — Returns the PHP representation of a BSON value

Descrição

MongoDB\BSON\toPHP ( string $bson , array $typeMap = array() ) : array|object

Unserializes a BSON document (i.e. binary string) to its PHP representation. The typeMap paramater may be used to control the PHP types used for converting BSON arrays and documents (both root and embedded).

Aviso

Fields containing deprecated BSON types (i.e. undefined, symbol, DBPointer) are represented only by bare-bones objects of the classes MongoDB\BSON\Undefined, MongoDB\BSON\Symbol, and MongoDB\BSON\DBPointer, when converting BSON to PHP. These objects are created from BSON data and used for storing these types back into the database, but can not be instantiated as they have a private constructor.

Parâmetros

bson (string)

BSON value to be unserialized.

typeMap (array)

O mapeamento de tipos (Type).

Valor Retornado

The unserialized PHP value.

Erros

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if a class in the type map cannot be instantiated or does not implement MongoDB\BSON\Unserializable.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected » libbson error.

Changelog

Versão | Descrição
PECL mongodb 1.4.0 | If the input contains an unsupported, deprecated BSON type, the driver will now no longer log a warning to the debug log, but instead will create an object representing this type.
PECL mongodb 1.3.2 | MongoDB\Driver\Exception\UnexpectedValueException is no longer thrown if the input contains an unsupported, deprecated BSON type. Such types will be ignored (as they were in versions before 1.3.0), although the driver will now log a warning to the debug log (see: mongodb.debug).
PECL mongodb 1.3.0 | MongoDB\Driver\Exception\UnexpectedValueException is thrown if the input contains an unsupported, deprecated BSON type. Previously, such types were ignored.

Exemplos

Exemplo #1 MongoDB\BSON\toPHP() example

<?php

$bson = hex2bin('0e00000010666f6f000100000000');
$value = MongoDB\BSON\toPHP($bson);
var_dump($value);

?>

O exemplo acima irá imprimir:

object(stdClass)#1 (1) {
  ["foo"]=>
  int(1)
}

Veja Também

  • MongoDB\BSON\fromPHP() - Returns the BSON representation of a PHP value
  • » MongoDB BSON
  • Persisting Data


Returns the Relaxed Extended JSON representation of a BSON value

  • « MongoDB\BSON\toPHP
  • MongoDB\BSON\Binary »
  • PHP Manual
  • Funções
  • Returns the Relaxed Extended JSON representation of a BSON value

MongoDB\BSON\toRelaxedExtendedJSON

(mongodb >=1.3.0)

MongoDB\BSON\toRelaxedExtendedJSON — Returns the Relaxed Extended JSON representation of a BSON value

Descrição

MongoDB\BSON\toRelaxedExtendedJSON ( string $bson ) : string

Converts a BSON string to its » Relaxed Extended JSON representation. The relaxed format prefers use of JSON type primitives at the expense of type fidelity and is most suited for producing output that can be easily consumed by web APIs and humans.

Parâmetros

bson (string)

BSON value to be converted.

Valor Retornado

The converted JSON value.

Erros

  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected » libbson error.

Exemplos

Exemplo #1 MongoDB\BSON\toRelaxedExtendedJSON() example

<?php

$documents = [
    [ 'null' => null ],
    [ 'boolean' => true ],
    [ 'string' => 'foo' ],
    [ 'int32' => 123 ],
    [ 'int64' => 4294967295 ],
    [ 'double' => 1.0, ],
    [ 'nan' => NAN ],
    [ 'pos_inf' => INF ],
    [ 'neg_inf' => -INF ],
    [ 'array' => [ 'foo', 'bar' ]],
    [ 'document' => [ 'foo' => 'bar' ]],
    [ 'oid' => new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1') ],
    [ 'dec128' => new MongoDB\BSON\Decimal128('1234.5678') ],
    [ 'binary' => new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC) ],
    [ 'date' => new MongoDB\BSON\UTCDateTime(1445990400000) ],
    [ 'timestamp' => new MongoDB\BSON\Timestamp(1234, 5678) ],
    [ 'regex' => new MongoDB\BSON\Regex('pattern', 'i') ],
    [ 'code' => new MongoDB\BSON\Javascript('function() { return 1; }') ],
    [ 'code_ws' => new MongoDB\BSON\Javascript('function() { return a; }', ['a' => 1]) ],
    [ 'minkey' => new MongoDB\BSON\MinKey ],
    [ 'maxkey' => new MongoDB\BSON\MaxKey ],
];

foreach ($documents as $document) {
    $bson = MongoDB\BSON\fromPHP($document);
    echo MongoDB\BSON\toRelaxedExtendedJSON($bson), "\n";
}

?>

O exemplo acima irá imprimir:

{ "null" : null }
{ "boolean" : true }
{ "string" : "foo" }
{ "int32" : 123 }
{ "int64" : 4294967295 }
{ "double" : 1.0 }
{ "nan" : { "$numberDouble" : "NaN" } }
{ "pos_inf" : { "$numberDouble" : "Infinity" } }
{ "neg_inf" : { "$numberDouble" : "-Infinity" } }
{ "array" : [ "foo", "bar" ] }
{ "document" : { "foo" : "bar" } }
{ "oid" : { "$oid" : "56315a7c6118fd1b920270b1" } }
{ "dec128" : { "$numberDecimal" : "1234.5678" } }
{ "binary" : { "$binary" : { "base64": "Zm9v", "subType" : "00" } } }
{ "date" : { "$date" : "2015-10-28T00:00:00Z" } }
{ "timestamp" : { "$timestamp" : { "t" : 5678, "i" : 1234 } } }
{ "regex" : { "$regularExpression" : { "pattern" : "pattern", "options" : "i" } } }
{ "code" : { "$code" : "function() { return 1; }" } }
{ "code_ws" : { "$code" : "function() { return a; }", "$scope" : { "a" : 1 } } }
{ "minkey" : { "$minKey" : 1 } }
{ "maxkey" : { "$maxKey" : 1 } }

Veja Também

  • MongoDB\BSON\fromJSON() - Returns the BSON representation of a JSON value
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • » Extended JSON
  • » MongoDB BSON


The MongoDB\BSON\Binary class

(mongodb >=1.0.0)

Introdução

BSON type for binary data (i.e. array of bytes). Binary values also have a subtype, which is used to indicate what kind of data is in the byte array. Subtypes from zero to 127 are predefined or reserved. Subtypes from 128-255 are user-defined.

Sinopse da classe

final MongoDB\BSON\Binary implements MongoDB\BSON\BinaryInterface , MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Constants */
const int TYPE_GENERIC = 0 ;
const int TYPE_FUNCTION = 1 ;
const int TYPE_OLD_BINARY = 2 ;
const int TYPE_OLD_UUID = 3 ;
const int TYPE_UUID = 4 ;
const int TYPE_MD5 = 5 ;
const int TYPE_ENCRYPTED = 6 ;
const int TYPE_USER_DEFINED = 128 ;
/* Métodos */
final public __construct ( string $data , int $type )
final public getData ( ) : string
final public getType ( ) : int
final public jsonSerialize ( ) : mixed
final public serialize ( ) : string
final public __toString ( ) : string
final public unserialize ( string $serialized ) : void
}

Constantes pré-definidas

MongoDB\BSON\Binary::TYPE_GENERIC

Generic binary data.

MongoDB\BSON\Binary::TYPE_FUNCTION

Function.

MongoDB\BSON\Binary::TYPE_OLD_BINARY

Generic binary data (deprecated in favor of MongoDB\BSON\Binary::TYPE_GENERIC).

MongoDB\BSON\Binary::TYPE_OLD_UUID

Universally unique identifier (deprecated in favor of MongoDB\BSON\Binary::TYPE_UUID). When using this type, the Binary's data should be 16 bytes in length.

Historically, other drivers encoded values with this type based on their language conventions (e.g. varying endianness), which makes it non-portable. The PHP driver applies no special handling for encoding or decoding data with this type.

MongoDB\BSON\Binary::TYPE_UUID

Universally unique identifier. When using this type, the Binary's data should be 16 bytes in length and encoded according to » RFC 4122.

MongoDB\BSON\Binary::TYPE_MD5

MD5 hash. When using this type, the Binary's data should be 16 bytes in length.

MongoDB\BSON\Binary::TYPE_ENCRYPTED

Encrypted value. This subtype is used for client-side encryption.

MongoDB\BSON\Binary::TYPE_USER_DEFINED

User-defined type. While types between 0 and 127 are predefined or reserved, types between 128 and 255 are user-defined and may be used for anything.

Changelog

Versão | Descrição
PECL mongodb 1.3.0 | Implements MongoDB\BSON\BinaryInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

Índice

  • MongoDB\BSON\Binary::__construct — Construct a new Binary
  • MongoDB\BSON\Binary::getData — Returns the Binary's data
  • MongoDB\BSON\Binary::getType — Returns the Binary's type
  • MongoDB\BSON\Binary::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Binary::serialize — Serialize a Binary
  • MongoDB\BSON\Binary::__toString — Returns the Binary's data
  • MongoDB\BSON\Binary::unserialize — Unserialize a Binary


Construct a new Binary

  • « MongoDB\BSON\Binary
  • MongoDB\BSON\Binary::getData »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Construct a new Binary

MongoDB\BSON\Binary::__construct

(mongodb >=1.0.0)

MongoDB\BSON\Binary::__construct — Construct a new Binary

Descrição

final public MongoDB\BSON\Binary::__construct ( string $data , int $type )

Parâmetros

data (string)

Binary data.

type (int)

Unsigned 8-bit integer denoting the data's type.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if type is not an unsigned 8-bit integer.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if type is MongoDB\BSON\Binary::TYPE_UUID or MongoDB\BSON\Binary::TYPE_OLD_UUID and data is not exactly 16 bytes in length.

Changelog

Versão | Descrição
PECL mongodb 1.3.0 | MongoDB\Driver\Exception\InvalidArgumentException is thrown if type is MongoDB\BSON\Binary::TYPE_UUID or MongoDB\BSON\Binary::TYPE_OLD_UUID and data is not exactly 16 bytes in length.
PECL mongodb 1.1.3 | MongoDB\Driver\Exception\InvalidArgumentException is thrown if type is not an unsigned 8-bit integer.

Exemplos

Exemplo #1 MongoDB\BSON\Binary::__construct() example

<?php

$binary = new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC);
var_dump($binary);

?>

O exemplo acima irá imprimir:

object(MongoDB\BSON\Binary)#1 (2) {
  ["data"]=>
  string(3) "foo"
  ["type"]=>
  int(0)
}

Veja Também

  • » BSON Types


Returns the Binary's data

  • « MongoDB\BSON\Binary::__construct
  • MongoDB\BSON\Binary::getType »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Returns the Binary's data

MongoDB\BSON\Binary::getData

(mongodb >=1.0.0)

MongoDB\BSON\Binary::getData — Returns the Binary's data

Descrição

final public MongoDB\BSON\Binary::getData ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the Binary's data.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\BSON\Binary::getData() example

<?php

$binary = new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC);
var_dump($binary->getData());

?>

O exemplo acima irá imprimir:

string(3) "foo"

Veja Também

  • » BSON Types


Returns the Binary's type

  • « MongoDB\BSON\Binary::getData
  • MongoDB\BSON\Binary::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Returns the Binary's type

MongoDB\BSON\Binary::getType

(mongodb >=1.0.0)

MongoDB\BSON\Binary::getType — Returns the Binary's type

Descrição

final public MongoDB\BSON\Binary::getType ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the Binary's type.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\BSON\Binary::getType() example

<?php

$binary = new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC);
var_dump($binary->getType());

?>

O exemplo acima irá imprimir:

int(0)

Veja Também

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Binary::getType
  • MongoDB\BSON\Binary::serialize »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Binary::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Binary::jsonSerialize — Returns a representation that can be converted to JSON

Descrição

final public MongoDB\BSON\Binary::jsonSerialize ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Binary.

Nota: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • JsonSerializable::jsonSerialize() - Specify data which should be serialized to JSON
  • json_encode() - Retorna a representação JSON de um valor
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Binary

  • « MongoDB\BSON\Binary::jsonSerialize
  • MongoDB\BSON\Binary::__toString »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Serialize a Binary

MongoDB\BSON\Binary::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Binary::serialize — Serialize a Binary

Descrição

final public MongoDB\BSON\Binary::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\BSON\Binary.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\Binary::unserialize() - Unserialize a Binary
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Returns the Binary's data

  • « MongoDB\BSON\Binary::serialize
  • MongoDB\BSON\Binary::unserialize »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Returns the Binary's data

MongoDB\BSON\Binary::__toString

(mongodb >=1.2.0)

MongoDB\BSON\Binary::__toString — Returns the Binary's data

Descrição

final public MongoDB\BSON\Binary::__toString ( ) : string

Este método é um apelido para: MongoDB\BSON\Binary::getData().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the Binary's data.

Exemplos

Exemplo #1 MongoDB\BSON\Binary::__toString() example

<?php

var_dump((string) new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC));

?>

O exemplo acima irá imprimir:

string(3) "foo"

Veja Também

  • MongoDB\BSON\Binary::getData() - Returns the Binary's data
  • » BSON Types


Unserialize a Binary

  • « MongoDB\BSON\Binary::__toString
  • MongoDB\BSON\Decimal128 »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Unserialize a Binary

MongoDB\BSON\Binary::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Binary::unserialize — Unserialize a Binary

Descrição

final public MongoDB\BSON\Binary::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\BSON\Binary.

Valor Retornado

Returns the unserialized MongoDB\BSON\Binary.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Veja Também

  • MongoDB\BSON\Binary::serialize() - Serialize a Binary
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\BSON\Decimal128 class

(mongodb >=1.2.0)

Introdução

BSON type for the » Decimal128 floating-point format, which supports numbers with up to 34 decimal digits (i.e. significant digits) and an exponent range of -6143 to +6144.

Unlike the double BSON type (i.e. float in PHP), which only stores an approximation of the decimal values, the decimal data type stores the exact value. For example, MongoDB\BSON\Decimal128('9.99') has a precise value of 9.99 where as a double 9.99 would have an approximate value of 9.9900000000000002131628….

Nota: MongoDB\BSON\Decimal128 is only compatible with MongoDB 3.4+. Attempting to use the BSON type with an earlier version of MongoDB will result in an error.

Sinopse da classe

final MongoDB\BSON\Decimal128 implements MongoDB\BSON\Decimal128Interface , MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Métodos */
final public __construct ( string $value = ? )
final public jsonSerialize ( ) : mixed
final public serialize ( ) : string
final public __toString ( ) : string
final public unserialize ( string $serialized ) : void
}

Changelog

Versão | Descrição
PECL mongodb 1.3.0 | Implements MongoDB\BSON\Decimal128Interface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

Índice

  • MongoDB\BSON\Decimal128::__construct — Construct a new Decimal128
  • MongoDB\BSON\Decimal128::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Decimal128::serialize — Serialize a Decimal128
  • MongoDB\BSON\Decimal128::__toString — Returns the string representation of this Decimal128
  • MongoDB\BSON\Decimal128::unserialize — Unserialize a Decimal128


Construct a new Decimal128

  • « MongoDB\BSON\Decimal128
  • MongoDB\BSON\Decimal128::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Decimal128
  • Construct a new Decimal128

MongoDB\BSON\Decimal128::__construct

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::__construct — Construct a new Decimal128

Descrição

final public MongoDB\BSON\Decimal128::__construct ( string $value = ? )

Nota: MongoDB\BSON\Decimal128 is only compatible with MongoDB 3.4+. Attempting to use the BSON type with an earlier version of MongoDB will result in an error.

Parâmetros

value (string)

A decimal string.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if value is not a valid decimal string.

Exemplos

Exemplo #1 MongoDB\BSON\Decimal128::__construct() example

<?php

var_dump(new MongoDB\BSON\Decimal128(1234.5678));
var_dump(new MongoDB\BSON\Decimal128(NAN));
var_dump(new MongoDB\BSON\Decimal128(INF));

?>

O exemplo acima irá imprimir algo similar à:

object(MongoDB\BSON\Decimal128)#1 (1) {
  ["dec"]=>
  string(9) "1234.5678"
}
object(MongoDB\BSON\Decimal128)#1 (1) {
  ["dec"]=>
  string(3) "NaN"
}
object(MongoDB\BSON\Decimal128)#1 (1) {
  ["dec"]=>
  string(8) "Infinity"
}

Veja Também

  • » Decimal128 floating-point format
  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Decimal128::__construct
  • MongoDB\BSON\Decimal128::serialize »
  • PHP Manual
  • MongoDB\BSON\Decimal128
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Decimal128::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::jsonSerialize — Returns a representation that can be converted to JSON

Descrição

final public MongoDB\BSON\Decimal128::jsonSerialize ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Decimal128.

Nota: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • JsonSerializable::jsonSerialize() - Specify data which should be serialized to JSON
  • json_encode() - Retorna a representação JSON de um valor
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Decimal128

  • « MongoDB\BSON\Decimal128::jsonSerialize
  • MongoDB\BSON\Decimal128::__toString »
  • PHP Manual
  • MongoDB\BSON\Decimal128
  • Serialize a Decimal128

MongoDB\BSON\Decimal128::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::serialize — Serialize a Decimal128

Descrição

final public MongoDB\BSON\Decimal128::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\BSON\Decimal128.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\Decimal128::unserialize() - Unserialize a Decimal128
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Returns the string representation of this Decimal128

  • « MongoDB\BSON\Decimal128::serialize
  • MongoDB\BSON\Decimal128::unserialize »
  • PHP Manual
  • MongoDB\BSON\Decimal128
  • Returns the string representation of this Decimal128

MongoDB\BSON\Decimal128::__toString

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::__toString — Returns the string representation of this Decimal128

Descrição

final public MongoDB\BSON\Decimal128::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of this Decimal128.

Exemplos

Exemplo #1 MongoDB\BSON\Decimal128::__toString() example

<?php

var_dump((string) new MongoDB\BSON\Decimal128(1234.5678));
var_dump((string) new MongoDB\BSON\Decimal128(NAN));
var_dump((string) new MongoDB\BSON\Decimal128(INF));

?>

O exemplo acima irá imprimir algo similar à:

string(9) "1234.5678"
string(3) "NaN"
string(8) "Infinity"

Veja Também

  • » Decimal128 floating-point format
  • » BSON Types


Unserialize a Decimal128

  • « MongoDB\BSON\Decimal128::__toString
  • MongoDB\BSON\Javascript »
  • PHP Manual
  • MongoDB\BSON\Decimal128
  • Unserialize a Decimal128

MongoDB\BSON\Decimal128::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::unserialize — Unserialize a Decimal128

Descrição

final public MongoDB\BSON\Decimal128::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\BSON\Decimal128.

Valor Retornado

Returns the unserialized MongoDB\BSON\Decimal128.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Veja Também

  • MongoDB\BSON\Decimal128::serialize() - Serialize a Decimal128
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\BSON\Javascript class

(mongodb >=1.0.0)

Introdução

BSON type for Javascript code. An optional scope document may be specified that maps identifiers to values and defines the scope in which the code should be evaluated by the server.

Nota: This BSON type is mainly used when executing database commands that take a Javascript function as a parameter, such as » mapReduce.

Sinopse da classe

final MongoDB\BSON\Javascript implements MongoDB\BSON\JavascriptInterface , MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Métodos */
final public __construct ( string $code , array|object $scope = ? )
final public getCode ( ) : string
final public getScope ( ) : object|null
final public jsonSerialize ( ) : mixed
final public serialize ( ) : string
final public __toString ( ) : string
final public unserialize ( string $serialized ) : void
}

Changelog

Versão | Descrição
PECL mongodb 1.3.0 | Implements MongoDB\BSON\JavascriptInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

Índice

  • MongoDB\BSON\Javascript::__construct — Construct a new Javascript
  • MongoDB\BSON\Javascript::getCode — Returns the Javascript's code
  • MongoDB\BSON\Javascript::getScope — Returns the Javascript's scope document
  • MongoDB\BSON\Javascript::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Javascript::serialize — Serialize a Javascript
  • MongoDB\BSON\Javascript::__toString — Returns the Javascript's code
  • MongoDB\BSON\Javascript::unserialize — Unserialize a Javascript


Construct a new Javascript

  • « MongoDB\BSON\Javascript
  • MongoDB\BSON\Javascript::getCode »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Construct a new Javascript

MongoDB\BSON\Javascript::__construct

(mongodb >=1.0.0)

MongoDB\BSON\Javascript::__construct — Construct a new Javascript

Descrição

final public MongoDB\BSON\Javascript::__construct ( string $code , array|object $scope = ? )

Parâmetros

code (string)

Javascript code.

scope (array|object)

Javascript scope.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if code contains null bytes.

Changelog

Versão | Descrição
PECL mongodb 1.2.0 | MongoDB\Driver\Exception\InvalidArgumentException is thrown if code contains null bytes. Previously, values would be truncated at the first null byte.

Exemplos

Exemplo #1 MongoDB\BSON\Javascript::__construct() example

<?php

$code = new MongoDB\BSON\Javascript('function() { return 1; }');
var_dump($code);

$codews = new MongoDB\BSON\Javascript('function() { return foo; }', ['foo' => 'bar']);
var_dump($codews);

?>

O exemplo acima irá imprimir:

object(MongoDB\BSON\Javascript)#1 (2) {
  ["javascript"]=>
  string(24) "function() { return 1; }"
  ["scope"]=>
  object(stdClass)#2 (0) {
  }
}
object(MongoDB\BSON\Javascript)#2 (2) {
  ["javascript"]=>
  string(26) "function() { return foo; }"
  ["scope"]=>
  object(stdClass)#1 (1) {
    ["foo"]=>
    string(3) "bar"
  }
}

Veja Também

  • » BSON Types


Returns the Javascript's code

  • « MongoDB\BSON\Javascript::__construct
  • MongoDB\BSON\Javascript::getScope »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Returns the Javascript's code

MongoDB\BSON\Javascript::getCode

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::getCode — Returns the Javascript's code

Descrição

final public MongoDB\BSON\Javascript::getCode ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the Javascript's code.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\BSON\Javascript::getCode() example

<?php

$js = new MongoDB\BSON\Javascript('function foo(bar) { return bar; }');
var_dump($js->getCode());

?>

O exemplo acima irá imprimir:

string(33) "function foo(bar) { return bar; }"

Veja Também

  • » BSON Types


Returns the Javascript's scope document

  • « MongoDB\BSON\Javascript::getCode
  • MongoDB\BSON\Javascript::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Returns the Javascript's scope document

MongoDB\BSON\Javascript::getScope

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::getScope — Returns the Javascript's scope document

Descrição

final public MongoDB\BSON\Javascript::getScope ( ) : object|null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the Javascript's scope document, or null if the is no scope.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\BSON\Javascript::getScope() example

<?php

$js = new MongoDB\BSON\Javascript('function foo(bar) { return bar; }');
var_dump($js->getScope());

$js = new MongoDB\BSON\Javascript('function foo() { return foo; }', ['foo' => 42]);
var_dump($js->getScope());

?>

O exemplo acima irá imprimir:

NULL
object(stdClass)#1 (1) {
  ["foo"]=>
  int(42)
}

Veja Também

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Javascript::getScope
  • MongoDB\BSON\Javascript::serialize »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Javascript::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::jsonSerialize — Returns a representation that can be converted to JSON

Descrição

final public MongoDB\BSON\Javascript::jsonSerialize ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Javascript.

Nota: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • JsonSerializable::jsonSerialize() - Specify data which should be serialized to JSON
  • json_encode() - Retorna a representação JSON de um valor
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Javascript

  • « MongoDB\BSON\Javascript::jsonSerialize
  • MongoDB\BSON\Javascript::__toString »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Serialize a Javascript

MongoDB\BSON\Javascript::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::serialize — Serialize a Javascript

Descrição

final public MongoDB\BSON\Javascript::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\BSON\Javascript.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\Javascript::unserialize() - Unserialize a Javascript
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Returns the Javascript's code

  • « MongoDB\BSON\Javascript::serialize
  • MongoDB\BSON\Javascript::unserialize »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Returns the Javascript's code

MongoDB\BSON\Javascript::__toString

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::__toString — Returns the Javascript's code

Descrição

final public MongoDB\BSON\Javascript::__toString ( ) : string

Este método é um apelido para: MongoDB\BSON\Javascript::getCode().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the Javascript's code.

Exemplos

Exemplo #1 MongoDB\BSON\Javascript::__toString() example

<?php

var_dump((string) new MongoDB\BSON\Javascript('function foo(bar) { return bar; }'));

?>

O exemplo acima irá imprimir:

string(33) "function foo(bar) { return bar; }"

Veja Também

  • MongoDB\BSON\Javascript::getCode() - Returns the Javascript's code
  • » BSON Types


Unserialize a Javascript

  • « MongoDB\BSON\Javascript::__toString
  • MongoDB\BSON\MaxKey »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Unserialize a Javascript

MongoDB\BSON\Javascript::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::unserialize — Unserialize a Javascript

Descrição

final public MongoDB\BSON\Javascript::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\BSON\Javascript.

Valor Retornado

Returns the unserialized MongoDB\BSON\Javascript.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Veja Também

  • MongoDB\BSON\Javascript::serialize() - Serialize a Javascript
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\BSON\MaxKey class

(mongodb >=1.0.0)

Introdução

Special BSON type which compares higher than all other possible BSON element values.

Nota: This is an internal MongoDB type used for indexing and sharding.

Sinopse da classe

final MongoDB\BSON\MaxKey implements MongoDB\BSON\MaxKeyInterface , MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Métodos */
final public __construct ( )
final public jsonSerialize ( ) : mixed
final public serialize ( ) : string
final public unserialize ( string $serialized ) : void
}

Changelog

Versão | Descrição
PECL mongodb 1.3.0 | Implements MongoDB\BSON\MaxKeyInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

Índice

  • MongoDB\BSON\MaxKey::__construct — Construct a new MaxKey
  • MongoDB\BSON\MaxKey::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\MaxKey::serialize — Serialize a MaxKey
  • MongoDB\BSON\MaxKey::unserialize — Unserialize a MaxKey


Construct a new MaxKey

  • « MongoDB\BSON\MaxKey
  • MongoDB\BSON\MaxKey::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\MaxKey
  • Construct a new MaxKey

MongoDB\BSON\MaxKey::__construct

(mongodb >=1.0.0)

MongoDB\BSON\MaxKey::__construct — Construct a new MaxKey

Descrição

final public MongoDB\BSON\MaxKey::__construct ( )

Parâmetros

Esta função não possui parâmetros.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\BSON\MaxKey::__construct() example

<?php

var_dump(new MongoDB\BSON\MaxKey());

?>

O exemplo acima irá imprimir:

object(MongoDB\BSON\MaxKey)#1 (0) {
}

Veja Também

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\MaxKey::__construct
  • MongoDB\BSON\MaxKey::serialize »
  • PHP Manual
  • MongoDB\BSON\MaxKey
  • Returns a representation that can be converted to JSON

MongoDB\BSON\MaxKey::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\MaxKey::jsonSerialize — Returns a representation that can be converted to JSON

Descrição

final public MongoDB\BSON\MaxKey::jsonSerialize ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\MaxKey.

Nota: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • JsonSerializable::jsonSerialize() - Specify data which should be serialized to JSON
  • json_encode() - Retorna a representação JSON de um valor
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a MaxKey

  • « MongoDB\BSON\MaxKey::jsonSerialize
  • MongoDB\BSON\MaxKey::unserialize »
  • PHP Manual
  • MongoDB\BSON\MaxKey
  • Serialize a MaxKey

MongoDB\BSON\MaxKey::serialize

(mongodb >=1.2.0)

MongoDB\BSON\MaxKey::serialize — Serialize a MaxKey

Descrição

final public MongoDB\BSON\MaxKey::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\BSON\MaxKey.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\MaxKey::unserialize() - Unserialize a MaxKey
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Unserialize a MaxKey

  • « MongoDB\BSON\MaxKey::serialize
  • MongoDB\BSON\MinKey »
  • PHP Manual
  • MongoDB\BSON\MaxKey
  • Unserialize a MaxKey

MongoDB\BSON\MaxKey::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\MaxKey::unserialize — Unserialize a MaxKey

Descrição

final public MongoDB\BSON\MaxKey::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\BSON\MaxKey.

Valor Retornado

Returns the unserialized MongoDB\BSON\MaxKey.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\MaxKey::serialize() - Serialize a MaxKey
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\BSON\MinKey class

(mongodb >=1.0.0)

Introdução

Special BSON type which compares lower than all other possible BSON element values.

Nota: This is an internal MongoDB type used for indexing and sharding.

Sinopse da classe

final MongoDB\BSON\MinKey implements MongoDB\BSON\MinKeyInterface , MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Métodos */
final public __construct ( )
final public jsonSerialize ( ) : mixed
final public serialize ( ) : string
final public unserialize ( string $serialized ) : void
}

Changelog

Versão | Descrição
PECL mongodb 1.3.0 | Implements MongoDB\BSON\MinKeyInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

Índice

  • MongoDB\BSON\MinKey::__construct — Construct a new MinKey
  • MongoDB\BSON\MinKey::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\MinKey::serialize — Serialize a MinKey
  • MongoDB\BSON\MinKey::unserialize — Unserialize a MinKey


Construct a new MinKey

  • « MongoDB\BSON\MinKey
  • MongoDB\BSON\MinKey::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\MinKey
  • Construct a new MinKey

MongoDB\BSON\MinKey::__construct

(mongodb >=1.0.0)

MongoDB\BSON\MinKey::__construct — Construct a new MinKey

Descrição

final public MongoDB\BSON\MinKey::__construct ( )

Parâmetros

Esta função não possui parâmetros.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\BSON\MinKey::__construct() example

<?php

var_dump(new MongoDB\BSON\MinKey());

?>

O exemplo acima irá imprimir:

object(MongoDB\BSON\MinKey)#1 (0) {
}

Veja Também

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\MinKey::__construct
  • MongoDB\BSON\MinKey::serialize »
  • PHP Manual
  • MongoDB\BSON\MinKey
  • Returns a representation that can be converted to JSON

MongoDB\BSON\MinKey::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\MinKey::jsonSerialize — Returns a representation that can be converted to JSON

Descrição

final public MongoDB\BSON\MinKey::jsonSerialize ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\MinKey.

Nota: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • JsonSerializable::jsonSerialize() - Specify data which should be serialized to JSON
  • json_encode() - Retorna a representação JSON de um valor
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a MinKey

  • « MongoDB\BSON\MinKey::jsonSerialize
  • MongoDB\BSON\MinKey::unserialize »
  • PHP Manual
  • MongoDB\BSON\MinKey
  • Serialize a MinKey

MongoDB\BSON\MinKey::serialize

(mongodb >=1.2.0)

MongoDB\BSON\MinKey::serialize — Serialize a MinKey

Descrição

final public MongoDB\BSON\MinKey::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\BSON\MinKey.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\MinKey::unserialize() - Unserialize a MinKey
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Unserialize a MinKey

  • « MongoDB\BSON\MinKey::serialize
  • MongoDB\BSON\ObjectId »
  • PHP Manual
  • MongoDB\BSON\MinKey
  • Unserialize a MinKey

MongoDB\BSON\MinKey::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\MinKey::unserialize — Unserialize a MinKey

Descrição

final public MongoDB\BSON\MinKey::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\BSON\MinKey.

Valor Retornado

Returns the unserialized MongoDB\BSON\MinKey.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\MinKey::serialize() - Serialize a MinKey
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\BSON\ObjectId class

(mongodb >=1.0.0)

Introdução

BSON type for an » ObjectId. The value consists of 12 bytes, where the first four bytes are a timestamp that reflect the ObjectId's creation. Specifically, the value consists of:

  • a 4-byte value representing the seconds since the Unix epoch,
  • a 5-byte random number unique to a machine and process, and
  • a 3-byte counter, starting with a random value.

In MongoDB, each document stored in a collection requires a unique _id field that acts as a primary key. If an inserted document omits the _id field, the driver automatically generates an ObjectId for the _id field.

Using ObjectIds for the _id field provides the following additional benefits:

  • The creation time of the ObjectId may be accessed using the MongoDB\BSON\ObjectId::getTimestamp() method.
  • Sorting on an _id field that stores ObjectId values is roughly equivalent to sorting by creation time.

Sinopse da classe

final MongoDB\BSON\ObjectId implements MongoDB\BSON\ObjectIdInterface , MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Métodos */
final public __construct ( string $id = ? )
final public getTimestamp ( ) : int
final public jsonSerialize ( ) : mixed
final public serialize ( ) : string
final public __toString ( ) : string
final public unserialize ( string $serialized ) : void
}

Changelog

Versão | Descrição
PECL mongodb 1.3.0 | Renamed from MongoDB\BSON\ObjectID to MongoDB\BSON\ObjectId. Implements MongoDB\BSON\ObjectIdInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

Índice

  • MongoDB\BSON\ObjectId::__construct — Construct a new ObjectId
  • MongoDB\BSON\ObjectId::getTimestamp — Returns the timestamp component of this ObjectId
  • MongoDB\BSON\ObjectId::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\ObjectId::serialize — Serialize an ObjectId
  • MongoDB\BSON\ObjectId::__toString — Returns the hexidecimal representation of this ObjectId
  • MongoDB\BSON\ObjectId::unserialize — Unserialize an ObjectId


Construct a new ObjectId

  • « MongoDB\BSON\ObjectId
  • MongoDB\BSON\ObjectId::getTimestamp »
  • PHP Manual
  • MongoDB\BSON\ObjectId
  • Construct a new ObjectId

MongoDB\BSON\ObjectId::__construct

(mongodb >=1.0.0)

MongoDB\BSON\ObjectId::__construct — Construct a new ObjectId

Descrição

final public MongoDB\BSON\ObjectId::__construct ( string $id = ? )

Parâmetros

id (string)

A 24-character hexadecimal string. If not provided, the driver will generate an ObjectId.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if id is not a 24-character hexadecimal string.

Exemplos

Exemplo #1 MongoDB\BSON\ObjectId::__construct() example

<?php

var_dump(new MongoDB\BSON\ObjectId());

var_dump(new MongoDB\BSON\ObjectId('000000000000000000000001'));

?>

O exemplo acima irá imprimir algo similar à:

object(MongoDB\BSON\ObjectId)#1 (1) {
  ["oid"]=>
  string(24) "56732d3dda14d81214634921"
}
object(MongoDB\BSON\ObjectId)#1 (1) {
  ["oid"]=>
  string(24) "000000000000000000000001"
}

Veja Também

  • » ObjectId Reference
  • » BSON Types: ObjectId


Returns the timestamp component of this ObjectId

  • « MongoDB\BSON\ObjectId::__construct
  • MongoDB\BSON\ObjectId::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\ObjectId
  • Returns the timestamp component of this ObjectId

MongoDB\BSON\ObjectId::getTimestamp

(mongodb >=1.2.0)

MongoDB\BSON\ObjectId::getTimestamp — Returns the timestamp component of this ObjectId

Descrição

final public MongoDB\BSON\ObjectId::getTimestamp ( ) : int

The timestamp component of an ObjectId is its most significant 32 bits, which denotes the number of seconds since the Unix epoch. This value is read as an unsigned 32-bit integer with big-endian byte order.

Nota: Because PHP's integer type is signed, some values returned by this method may appear as negative integers on 32-bit platforms. The "%u" formatter of sprintf() may be used to obtain a string representation of the unsigned decimal value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the timestamp component of this ObjectId.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\BSON\ObjectId::getTimestamp() example

<?php

var_dump((new MongoDB\BSON\ObjectId())->getTimestamp());

var_dump((new MongoDB\BSON\ObjectId('0000002a0000000000000000'))->getTimestamp());

?>

O exemplo acima irá imprimir algo similar à:

integer(1484854719)
integer(42)

Veja Também

  • » ObjectId Reference
  • » BSON Types: ObjectId


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\ObjectId::getTimestamp
  • MongoDB\BSON\ObjectId::serialize »
  • PHP Manual
  • MongoDB\BSON\ObjectId
  • Returns a representation that can be converted to JSON

MongoDB\BSON\ObjectId::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\ObjectId::jsonSerialize — Returns a representation that can be converted to JSON

Descrição

final public MongoDB\BSON\ObjectId::jsonSerialize ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\ObjectId.

Nota: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • JsonSerializable::jsonSerialize() - Specify data which should be serialized to JSON
  • json_encode() - Retorna a representação JSON de um valor
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize an ObjectId

  • « MongoDB\BSON\ObjectId::jsonSerialize
  • MongoDB\BSON\ObjectId::__toString »
  • PHP Manual
  • MongoDB\BSON\ObjectId
  • Serialize an ObjectId

MongoDB\BSON\ObjectId::serialize

(mongodb >=1.2.0)

MongoDB\BSON\ObjectId::serialize — Serialize an ObjectId

Descrição

final public MongoDB\BSON\ObjectId::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\BSON\ObjectId.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\ObjectId::unserialize() - Unserialize an ObjectId
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Returns the hexidecimal representation of this ObjectId

  • « MongoDB\BSON\ObjectId::serialize
  • MongoDB\BSON\ObjectId::unserialize »
  • PHP Manual
  • MongoDB\BSON\ObjectId
  • Returns the hexidecimal representation of this ObjectId

MongoDB\BSON\ObjectId::__toString

(mongodb >=1.0.0)

MongoDB\BSON\ObjectId::__toString — Returns the hexidecimal representation of this ObjectId

Descrição

final public MongoDB\BSON\ObjectId::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the hexidecimal representation of this ObjectId.

Exemplos

Exemplo #1 MongoDB\BSON\ObjectId::__toString() example

<?php

var_dump((string) new MongoDB\BSON\ObjectId());
var_dump((string) new MongoDB\BSON\ObjectId('000000000000000000000001'));

?>

O exemplo acima irá imprimir algo similar à:

string(24) "56731b49da14d8747d701211"
string(24) "000000000000000000000001"

Veja Também

  • » ObjectId Reference
  • » BSON Types: ObjectId


Unserialize an ObjectId

  • « MongoDB\BSON\ObjectId::__toString
  • MongoDB\BSON\Regex »
  • PHP Manual
  • MongoDB\BSON\ObjectId
  • Unserialize an ObjectId

MongoDB\BSON\ObjectId::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\ObjectId::unserialize — Unserialize an ObjectId

Descrição

final public MongoDB\BSON\ObjectId::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\BSON\ObjectId.

Valor Retornado

Returns the unserialized MongoDB\BSON\ObjectId.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Veja Também

  • MongoDB\BSON\ObjectId::serialize() - Serialize an ObjectId
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\BSON\Regex class

(mongodb >=1.0.0)

Introdução

BSON type for a regular expression pattern and optional » flags.

Nota: This BSON type is mainly used when querying the database. Alternatively, the » $regex query operator may be used.

Sinopse da classe

final MongoDB\BSON\Regex implements MongoDB\BSON\RegexInterface , MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Métodos */
final public __construct ( string $pattern , string $flags = "" )
final public getFlags ( ) : string
final public getPattern ( ) : string
final public jsonSerialize ( ) : mixed
final public serialize ( ) : string
final public __toString ( ) : string
final public unserialize ( string $serialized ) : void
}

Changelog

Versão | Descrição
PECL mongodb 1.3.0 | Implements MongoDB\BSON\RegexInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

Índice

  • MongoDB\BSON\Regex::__construct — Construct a new Regex
  • MongoDB\BSON\Regex::getFlags — Returns the Regex's flags
  • MongoDB\BSON\Regex::getPattern — Returns the Regex's pattern
  • MongoDB\BSON\Regex::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Regex::serialize — Serialize a Regex
  • MongoDB\BSON\Regex::__toString — Returns the string representation of this Regex
  • MongoDB\BSON\Regex::unserialize — Unserialize a Regex


Construct a new Regex

  • « MongoDB\BSON\Regex
  • MongoDB\BSON\Regex::getFlags »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Construct a new Regex

MongoDB\BSON\Regex::__construct

(mongodb >=1.0.0)

MongoDB\BSON\Regex::__construct — Construct a new Regex

Descrição

final public MongoDB\BSON\Regex::__construct ( string $pattern , string $flags = "" )

Parâmetros

pattern (string)

The regular expression pattern.

Nota: The pattern should not be wrapped with delimiter characters.

flags (string)

The » regular expression flags. Characters in this argument will be sorted alphabetically.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if pattern or flags contain null bytes.

Changelog

Versão Descrição
PECL mongodb 1.2.0

The flags argument is optional and defaults to an empty string.

Characters in the flags argument will be sorted alphabetically when a Regex is constructed. Previously, the characters were stored in the order provided.

MongoDB\Driver\Exception\InvalidArgumentException is thrown if pattern or flags contain null bytes. Previously, values would be truncated at the first null byte.

Exemplos

Exemplo #1 MongoDB\BSON\Regex::__construct() example

<?php

$regex = new MongoDB\BSON\Regex('^foo', 'i');
var_dump($regex);

?>

O exemplo acima irá imprimir:

object(MongoDB\BSON\Regex)#1 (2) {
  ["pattern"]=>
  string(4) "^foo"
  ["flags"]=>
  string(1) "i"
}

Veja Também

  • » BSON Types
  • » Supported regular expression flags


Returns the Regex's flags

  • « MongoDB\BSON\Regex::__construct
  • MongoDB\BSON\Regex::getPattern »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Returns the Regex's flags

MongoDB\BSON\Regex::getFlags

(mongodb >=1.0.0)

MongoDB\BSON\Regex::getFlags — Returns the Regex's flags

Descrição

final public MongoDB\BSON\Regex::getFlags ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the Regex's flags.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\BSON\Regex::getFlags() example

<?php

$regex = new MongoDB\BSON\Regex('regex', 'i');
var_dump($regex->getFlags());

?>

O exemplo acima irá imprimir algo similar à:

string(1) "i"

Veja Também

  • » BSON Types
  • » Supported regular expression flags


Returns the Regex's pattern

  • « MongoDB\BSON\Regex::getFlags
  • MongoDB\BSON\Regex::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Returns the Regex's pattern

MongoDB\BSON\Regex::getPattern

(mongodb >=1.0.0)

MongoDB\BSON\Regex::getPattern — Returns the Regex's pattern

Descrição

final public MongoDB\BSON\Regex::getPattern ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the Regex's pattern.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\BSON\Regex::getPattern() example

<?php

$regex = new MongoDB\BSON\Regex('regex', 'i');
var_dump($regex->getPattern());

?>

O exemplo acima irá imprimir algo similar à:

string(5) "regex"

Veja Também

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Regex::getPattern
  • MongoDB\BSON\Regex::serialize »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Regex::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Regex::jsonSerialize — Returns a representation that can be converted to JSON

Descrição

final public MongoDB\BSON\Regex::jsonSerialize ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Regex.

Nota: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • JsonSerializable::jsonSerialize() - Specify data which should be serialized to JSON
  • json_encode() - Retorna a representação JSON de um valor
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Regex

  • « MongoDB\BSON\Regex::jsonSerialize
  • MongoDB\BSON\Regex::__toString »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Serialize a Regex

MongoDB\BSON\Regex::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Regex::serialize — Serialize a Regex

Descrição

final public MongoDB\BSON\Regex::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\BSON\Regex.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\Regex::unserialize() - Unserialize a Regex
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Returns the string representation of this Regex

  • « MongoDB\BSON\Regex::serialize
  • MongoDB\BSON\Regex::unserialize »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Returns the string representation of this Regex

MongoDB\BSON\Regex::__toString

(mongodb >=1.0.0)

MongoDB\BSON\Regex::__toString — Returns the string representation of this Regex

Descrição

final public MongoDB\BSON\Regex::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of this Regex.

Exemplos

Exemplo #1 MongoDB\BSON\Regex::__toString() example

<?php

$regex = new MongoDB\BSON\Regex('regex', 'i');
var_dump((string) $regex);

?>

O exemplo acima irá imprimir:

string(8) "/regex/i"

Veja Também

  • » BSON Types


Unserialize a Regex

  • « MongoDB\BSON\Regex::__toString
  • MongoDB\BSON\Timestamp »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Unserialize a Regex

MongoDB\BSON\Regex::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Regex::unserialize — Unserialize a Regex

Descrição

final public MongoDB\BSON\Regex::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\BSON\Regex.

Valor Retornado

Returns the unserialized MongoDB\BSON\Regex.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Veja Também

  • MongoDB\BSON\Regex::serialize() - Serialize a Regex
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\BSON\Timestamp class

(mongodb >=1.0.0)

Introdução

Represents a » BSON timestamp, The value consists of a 4-byte timestamp (i.e. seconds since the epoch) and a 4-byte increment.

Nota: This is an internal MongoDB type used for replication and sharding. It is not intended for general date storage (MongoDB\BSON\UTCDateTime should be used instead).

Sinopse da classe

final MongoDB\BSON\Timestamp implements MongoDB\BSON\TimestampInterface , MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Métodos */
final public __construct ( int $increment , int $timestamp )
final public getIncrement ( ) : int
final public getTimestamp ( ) : int
final public jsonSerialize ( ) : mixed
final public serialize ( ) : string
final public __toString ( ) : string
final public unserialize ( string $serialized ) : void
}

Changelog

Versão | Descrição
PECL mongodb 1.3.0 | Implements MongoDB\BSON\TimestampInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

Índice

  • MongoDB\BSON\Timestamp::__construct — Construct a new Timestamp
  • MongoDB\BSON\Timestamp::getIncrement — Returns the increment component of this Timestamp
  • MongoDB\BSON\Timestamp::getTimestamp — Returns the timestamp component of this Timestamp
  • MongoDB\BSON\Timestamp::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Timestamp::serialize — Serialize a Timestamp
  • MongoDB\BSON\Timestamp::__toString — Returns the string representation of this Timestamp
  • MongoDB\BSON\Timestamp::unserialize — Unserialize a Timestamp


Construct a new Timestamp

  • « MongoDB\BSON\Timestamp
  • MongoDB\BSON\Timestamp::getIncrement »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Construct a new Timestamp

MongoDB\BSON\Timestamp::__construct

(mongodb >=1.0.0)

MongoDB\BSON\Timestamp::__construct — Construct a new Timestamp

Descrição

final public MongoDB\BSON\Timestamp::__construct ( int $increment , int $timestamp )

Parâmetros

increment (int)

32-bit integer denoting the incrementing ordinal for operations within a given second.

timestamp (int)

32-bit integer denoting seconds since the Unix epoch.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\BSON\Timestamp::__construct() example

<?php

$timestamp = new MongoDB\BSON\Timestamp(1234, 5678);

?>

O exemplo acima irá imprimir:

object(MongoDB\BSON\Timestamp)#1 (2) {
  ["increment"]=>
  int(1234)
  ["timestamp"]=>
  int(5678)
}

Veja Também

  • » BSON Types: Timestamps


Returns the increment component of this Timestamp

  • « MongoDB\BSON\Timestamp::__construct
  • MongoDB\BSON\Timestamp::getTimestamp »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Returns the increment component of this Timestamp

MongoDB\BSON\Timestamp::getIncrement

(mongodb >=1.3.0)

MongoDB\BSON\Timestamp::getIncrement — Returns the increment component of this Timestamp

Descrição

final public MongoDB\BSON\Timestamp::getIncrement ( ) : int

The increment component of a Timestamp is its least significant 32 bits, whichs denotes the incrementing ordinal for operations within a given second. This value is read as an unsigned 32-bit integer with big-endian byte order.

Nota: Because PHP's integer type is signed, some values returned by this method may appear as negative integers on 32-bit platforms. The "%u" formatter of sprintf() may be used to obtain a string representation of the unsigned decimal value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the increment component of this Timestamp.

Aviso

On 32-bit systems this method may return a negative number. Although the increment and timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can not represent these on 32-bit platforms.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • » BSON Types: Timestamps


Returns the timestamp component of this Timestamp

  • « MongoDB\BSON\Timestamp::getIncrement
  • MongoDB\BSON\Timestamp::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Returns the timestamp component of this Timestamp

MongoDB\BSON\Timestamp::getTimestamp

(mongodb >=1.3.0)

MongoDB\BSON\Timestamp::getTimestamp — Returns the timestamp component of this Timestamp

Descrição

final public MongoDB\BSON\Timestamp::getTimestamp ( ) : int

The timestamp component of a Timestamp is its most significant 32 bits, which denotes the number of seconds since the Unix epoch. This value is read as an unsigned 32-bit integer with big-endian byte order.

Nota: Because PHP's integer type is signed, some values returned by this method may appear as negative integers on 32-bit platforms. The "%u" formatter of sprintf() may be used to obtain a string representation of the unsigned decimal value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the timestamp component of this Timestamp.

Aviso

On 32-bit systems this method may return a negative number. Although the increment and timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can not represent these on 32-bit platforms.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • » BSON Types: Timestamps


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Timestamp::getTimestamp
  • MongoDB\BSON\Timestamp::serialize »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Timestamp::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Timestamp::jsonSerialize — Returns a representation that can be converted to JSON

Descrição

final public MongoDB\BSON\Timestamp::jsonSerialize ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Timestamp.

Nota: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • JsonSerializable::jsonSerialize() - Specify data which should be serialized to JSON
  • json_encode() - Retorna a representação JSON de um valor
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Timestamp

  • « MongoDB\BSON\Timestamp::jsonSerialize
  • MongoDB\BSON\Timestamp::__toString »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Serialize a Timestamp

MongoDB\BSON\Timestamp::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Timestamp::serialize — Serialize a Timestamp

Descrição

final public MongoDB\BSON\Timestamp::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\BSON\Timestamp.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\Timestamp::unserialize() - Unserialize a Timestamp
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Returns the string representation of this Timestamp

  • « MongoDB\BSON\Timestamp::serialize
  • MongoDB\BSON\Timestamp::unserialize »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Returns the string representation of this Timestamp

MongoDB\BSON\Timestamp::__toString

(mongodb >=1.0.0)

MongoDB\BSON\Timestamp::__toString — Returns the string representation of this Timestamp

Descrição

final public MongoDB\BSON\Timestamp::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of this Timestamp.

Exemplos

Exemplo #1 MongoDB\BSON\Timestamp::__toString() example

<?php

$timestamp = new MongoDB\BSON\Timestamp(1234, 5678);
var_dump((string) $timestamp);

?>

O exemplo acima irá imprimir algo similar à:

string(11) "[1234:5678]"

Veja Também

  • » BSON Types: Timestamps


Unserialize a Timestamp

  • « MongoDB\BSON\Timestamp::__toString
  • MongoDB\BSON\UTCDateTime »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Unserialize a Timestamp

MongoDB\BSON\Timestamp::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Timestamp::unserialize — Unserialize a Timestamp

Descrição

final public MongoDB\BSON\Timestamp::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\BSON\Timestamp.

Valor Retornado

Returns the unserialized MongoDB\BSON\Timestamp.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Veja Também

  • MongoDB\BSON\Timestamp::serialize() - Serialize a Timestamp
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\BSON\UTCDateTime class

(mongodb >=1.0.0)

Introdução

Represents a » BSON date. The value is a 64-bit integer that represents the number of milliseconds since the Unix epoch (Jan 1, 1970). Negative values represent dates before 1970.

Sinopse da classe

final MongoDB\BSON\UTCDateTime implements MongoDB\BSON\UTCDateTimeInterface , MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Métodos */
final public __construct ( int|float|string|DateTimeInterface $milliseconds = null )
final public jsonSerialize ( ) : mixed
final public serialize ( ) : string
final public toDateTime ( ) : DateTime
final public __toString ( ) : string
final public unserialize ( string $serialized ) : void
}

Changelog

Versão | Descrição
PECL mongodb 1.3.0 | Implements MongoDB\BSON\UTCDateTimeInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

Índice

  • MongoDB\BSON\UTCDateTime::__construct — Construct a new UTCDateTime
  • MongoDB\BSON\UTCDateTime::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\UTCDateTime::serialize — Serialize a UTCDateTime
  • MongoDB\BSON\UTCDateTime::toDateTime — Returns the DateTime representation of this UTCDateTime
  • MongoDB\BSON\UTCDateTime::__toString — Returns the string representation of this UTCDateTime
  • MongoDB\BSON\UTCDateTime::unserialize — Unserialize a UTCDateTime


Construct a new UTCDateTime

  • « MongoDB\BSON\UTCDateTime
  • MongoDB\BSON\UTCDateTime::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\UTCDateTime
  • Construct a new UTCDateTime

MongoDB\BSON\UTCDateTime::__construct

(mongodb >=1.0.0)

MongoDB\BSON\UTCDateTime::__construct — Construct a new UTCDateTime

Descrição

final public MongoDB\BSON\UTCDateTime::__construct ( int|float|string|DateTimeInterface $milliseconds = null )

Parâmetros

milliseconds (int|float|string|DateTimeInterface)

Number of milliseconds since the Unix epoch (Jan 1, 1970). Negative values represent dates before 1970. This value may be provided as a 64-bit int. For compatibility on 32-bit systems, this parameter may also be provided as a float or string.

If the argument is a DateTimeInterface, the number of milliseconds since the Unix epoch will be derived from that value. Note that in versions of PHP versions before 7.1.0, DateTime and DateTimeImmutable objects constructed from the current time did not incorporate sub-second precision.

If this argument is null, the current time will be used by default.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Changelog

Versão | Descrição
PECL mongodb 1.2.0 | The milliseconds argument is optional and defaults to null (i.e. current time). The argument also accepts a DateTimeInterface, which may be used to derive the number of milliseconds since the Unix epoch. Previously, only int, float, and string types were accepted.

Exemplos

Exemplo #1 MongoDB\BSON\UTCDateTime::__construct() example

<?php

var_dump(new MongoDB\BSON\UTCDateTime);

var_dump(new MongoDB\BSON\UTCDateTime(new DateTime));

var_dump(new MongoDB\BSON\UTCDateTime(1416445411987));

?>

O exemplo acima irá imprimir algo similar à:

object(MongoDB\BSON\UTCDateTime)#1 (1) {
  ["milliseconds"]=>
  string(13) "1484852905560"
}
object(MongoDB\BSON\UTCDateTime)#1 (1) {
  ["milliseconds"]=>
  string(13) "1484852905560"
}
object(MongoDB\BSON\UTCDateTime)#1 (1) {
  ["milliseconds"]=>
  string(13) "1416445411987"
}

Veja Também

  • » BSON Types: Date


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\UTCDateTime::__construct
  • MongoDB\BSON\UTCDateTime::serialize »
  • PHP Manual
  • MongoDB\BSON\UTCDateTime
  • Returns a representation that can be converted to JSON

MongoDB\BSON\UTCDateTime::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\UTCDateTime::jsonSerialize — Returns a representation that can be converted to JSON

Descrição

final public MongoDB\BSON\UTCDateTime::jsonSerialize ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\UTCDateTime.

Nota: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • JsonSerializable::jsonSerialize() - Specify data which should be serialized to JSON
  • json_encode() - Retorna a representação JSON de um valor
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a UTCDateTime

  • « MongoDB\BSON\UTCDateTime::jsonSerialize
  • MongoDB\BSON\UTCDateTime::toDateTime »
  • PHP Manual
  • MongoDB\BSON\UTCDateTime
  • Serialize a UTCDateTime

MongoDB\BSON\UTCDateTime::serialize

(mongodb >=1.2.0)

MongoDB\BSON\UTCDateTime::serialize — Serialize a UTCDateTime

Descrição

final public MongoDB\BSON\UTCDateTime::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\BSON\UTCDateTime.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\UTCDateTime::unserialize() - Unserialize a UTCDateTime
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Returns the DateTime representation of this UTCDateTime

  • « MongoDB\BSON\UTCDateTime::serialize
  • MongoDB\BSON\UTCDateTime::__toString »
  • PHP Manual
  • MongoDB\BSON\UTCDateTime
  • Returns the DateTime representation of this UTCDateTime

MongoDB\BSON\UTCDateTime::toDateTime

(mongodb >=1.0.0)

MongoDB\BSON\UTCDateTime::toDateTime — Returns the DateTime representation of this UTCDateTime

Descrição

final public MongoDB\BSON\UTCDateTime::toDateTime ( ) : DateTime

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the DateTime representation of this UTCDateTime. The returned DateTime will use the UTC time zone.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Exemplos

Exemplo #1 MongoDB\BSON\UTCDatetime::toDateTime() example

<?php

$utcdatetime = new MongoDB\BSON\UTCDateTime(1416445411987);
$datetime = $utcdatetime->toDateTime();
var_dump($datetime->format('r'));
var_dump($datetime->format('U.u'));
var_dump($datetime->getTimezone());

?>

O exemplo acima irá imprimir algo similar à:

string(31) "Thu, 20 Nov 2014 01:03:31 +0000"
string(17) "1416445411.987000"
object(DateTimeZone)#3 (2) {
  ["timezone_type"]=>
  int(1)
  ["timezone"]=>
  string(6) "+00:00"
}

Veja Também

  • » BSON Types: Date


Returns the string representation of this UTCDateTime

  • « MongoDB\BSON\UTCDateTime::toDateTime
  • MongoDB\BSON\UTCDateTime::unserialize »
  • PHP Manual
  • MongoDB\BSON\UTCDateTime
  • Returns the string representation of this UTCDateTime

MongoDB\BSON\UTCDateTime::__toString

(mongodb >=1.0.0)

MongoDB\BSON\UTCDateTime::__toString — Returns the string representation of this UTCDateTime

Descrição

final public MongoDB\BSON\UTCDateTime::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of this UTCDateTime.

Exemplos

Exemplo #1 MongoDB\BSON\UTCDateTime::__toString() example

<?php

$utcdatetime = new MongoDB\BSON\UTCDateTime(1416445411987);
var_dump((string) $utcdatetime);

?>

O exemplo acima irá imprimir:

string(13) "1416445411987"

Veja Também

  • » BSON Types: Date


Unserialize a UTCDateTime

  • « MongoDB\BSON\UTCDateTime::__toString
  • MongoDB\BSON\Type »
  • PHP Manual
  • MongoDB\BSON\UTCDateTime
  • Unserialize a UTCDateTime

MongoDB\BSON\UTCDateTime::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\UTCDateTime::unserialize — Unserialize a UTCDateTime

Descrição

final public MongoDB\BSON\UTCDateTime::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\BSON\UTCDateTime.

Valor Retornado

Returns the unserialized MongoDB\BSON\UTCDateTime.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Veja Também

  • MongoDB\BSON\UTCDateTime::serialize() - Serialize a UTCDateTime
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\BSON\Type interface

(mongodb >=1.0.0)

Introdução

Abstract base interface that should not be implemented directly.

Resumo da Interface

MongoDB\BSON\Type {
}

This interface has no methods. Its only purpose is to be the base interface for all BSON type classes.


The MongoDB\BSON\Persistable interface

(mongodb >=1.0.0)

Introdução

Classes may implement this interface to take advantage of automatic ODM (object document mapping) behavior in the driver. During serialization, the driver will inject a __pclass property containing the PHP class name into the data returned by MongoDB\BSON\Serializable::bsonSerialize(). During unserialization, the same __pclass property will then be used to infer the PHP class (independent of any type map configuration) to be constructed before MongoDB\BSON\Unserializable::bsonUnserialize() is invoked. See Persisting Data for additional information.

Nota: Even if MongoDB\BSON\Serializable::bsonSerialize() would return a sequential array, injection of the __pclass property will cause the object to be serialized as a BSON document.

Resumo da Interface

MongoDB\BSON\Persistable implements MongoDB\BSON\Unserializable , MongoDB\BSON\Serializable {
/* Métodos herdados */
abstract public MongoDB\BSON\Serializable::bsonSerialize ( ) : array|object
abstract public MongoDB\BSON\Unserializable::bsonUnserialize ( array $data ) : void
}


The MongoDB\BSON\Serializable interface

(mongodb >=1.0.0)

Introdução

Classes that implement this interface may return data to be serialized as a BSON array or document in lieu of the object's public properties.

Resumo da Interface

MongoDB\BSON\Serializable implements MongoDB\BSON\Type {
/* Métodos */
abstract public bsonSerialize ( ) : array|object
}

Índice

  • MongoDB\BSON\Serializable::bsonSerialize — Provides an array or document to serialize as BSON


Provides an array or document to serialize as BSON

  • « MongoDB\BSON\Serializable
  • MongoDB\BSON\Unserializable »
  • PHP Manual
  • MongoDB\BSON\Serializable
  • Provides an array or document to serialize as BSON

MongoDB\BSON\Serializable::bsonSerialize

(mongodb >=1.0.0)

MongoDB\BSON\Serializable::bsonSerialize — Provides an array or document to serialize as BSON

Descrição

abstract public MongoDB\BSON\Serializable::bsonSerialize ( ) : array|object

Called during serialization of the object to BSON. The method must return an array or stdClass.

Root documents (e.g. a MongoDB\BSON\Serializable passed to MongoDB\BSON\fromPHP()) will always be serialized as a BSON document. For field values, associative arrays and stdClass instances will be serialized as a BSON document and sequential arrays (i.e. sequential, numeric indexes starting at 0) will be serialized as a BSON array.

Users are encouraged to include an _id property (e.g. a MongoDB\BSON\ObjectId initialized in your constructor) when returning data for a BSON root document; otherwise, the driver or database will need to generate a MongoDB\BSON\ObjectId when inserting or upserting the document, respectively.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array or stdClass to be serialized as a BSON array or document.

Exemplos

Exemplo #1 MongoDB\BSON\Serializable::bsonSerialize() returning an associative array for root document

<?php

class MyDocument implements MongoDB\BSON\Serializable
{
    private $id;

    function __construct()
    {
        $this->id = new MongoDB\BSON\ObjectId;
    }

    function bsonSerialize()
    {
        return ['_id' => $this->id, 'foo' => 'bar'];
    }
}

$bson = MongoDB\BSON\fromPHP(new MyDocument);
echo MongoDB\BSON\toJSON($bson), "\n";

?>

O exemplo acima irá imprimir algo similar à:

{ "_id" : { "$oid" : "56cccdcada14d8755a58c591" }, "foo" : "bar" }

Exemplo #2 MongoDB\BSON\Serializable::bsonSerialize() returning a sequential array for root document

<?php

class MyArray implements MongoDB\BSON\Serializable
{
    function bsonSerialize()
    {
        return [1, 2, 3];
    }
}

$bson = MongoDB\BSON\fromPHP(new MyArray);
echo MongoDB\BSON\toJSON($bson), "\n";

?>

O exemplo acima irá imprimir:

{ "0" : 1, "1" : 2, "2" : 3 }

Exemplo #3 MongoDB\BSON\Serializable::bsonSerialize() returning an associative array for document field

<?php

class MyDocument implements MongoDB\BSON\Serializable
{
    function bsonSerialize()
    {
        return ['foo' => 'bar'];
    }
}

$value = ['document' => new MyDocument];
$bson = MongoDB\BSON\fromPHP($value);
echo MongoDB\BSON\toJSON($bson), "\n";

?>

O exemplo acima irá imprimir:

{ "document" : { "foo" : "bar" } }

Exemplo #4 MongoDB\BSON\Serializable::bsonSerialize() returning a sequential array for document field

<?php

class MyArray implements MongoDB\BSON\Serializable
{
    function bsonSerialize()
    {
        return [1, 2, 3];
    }
}

$value = ['array' => new MyArray];
$bson = MongoDB\BSON\fromPHP($value);
echo MongoDB\BSON\toJSON($bson), "\n";

?>

O exemplo acima irá imprimir:

{ "array" : [ 1, 2, 3 ] }

Veja Também

  • MongoDB\BSON\Unserializable::bsonUnserialize() - Constructs the object from a BSON array or document
  • MongoDB\BSON\Persistable
  • Persisting Data


The MongoDB\BSON\Unserializable interface

(mongodb >=1.0.0)

Introdução

Classes that implement this interface may be specified in a type map for unserializing BSON arrays and documents (both root and embedded).

Resumo da Interface

MongoDB\BSON\Unserializable {
/* Métodos */
abstract public bsonUnserialize ( array $data ) : void
}

Índice

  • MongoDB\BSON\Unserializable::bsonUnserialize — Constructs the object from a BSON array or document


Constructs the object from a BSON array or document

  • « MongoDB\BSON\Unserializable
  • MongoDB\BSON\BinaryInterface »
  • PHP Manual
  • MongoDB\BSON\Unserializable
  • Constructs the object from a BSON array or document

MongoDB\BSON\Unserializable::bsonUnserialize

(mongodb >=1.0.0)

MongoDB\BSON\Unserializable::bsonUnserialize — Constructs the object from a BSON array or document

Descrição

abstract public MongoDB\BSON\Unserializable::bsonUnserialize ( array $data ) : void

Called during unserialization of the object from BSON. The properties of the BSON array or document will be passed to the method as an array.

Remember to check for an _id property when handling data from a BSON document.

Nota: This method acts as the constructor of the object. The __construct() method will not be called after this method.

Parâmetros

data (array)

Properties within the BSON array or document.

Valor Retornado

The return value from this method is ignored.

Exemplos

Exemplo #1 MongoDB\BSON\Unserializable::bsonUnserialize() example

<?php

class MyDocument implements MongoDB\BSON\Unserializable
{
    private $data = [];

    function bsonUnserialize(array $data)
    {
        $this->data = $data;
    }
}

$bson = MongoDB\BSON\fromJSON('{ "foo": "bar" }');
$value = MongoDB\BSON\toPHP($bson, ['root' => 'MyDocument']);
var_dump($value);

?>

O exemplo acima irá imprimir:

object(MyDocument)#1 (1) {
  ["data":"MyDocument":private]=>
  array(1) {
    ["foo"]=>
    string(3) "bar"
  }
}

Veja Também

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
  • MongoDB\BSON\Persistable
  • Persisting Data


The MongoDB\BSON\BinaryInterface interface

(mongodb >=1.3.0)

Introdução

This interface is implemented by MongoDB\BSON\Binary but may also be used for type-hinting and userland classes.

Sinopse da classe

MongoDB\BSON\BinaryInterface {
/* Métodos */
abstract public getData ( ) : string
abstract public getType ( ) : int
abstract public __toString ( ) : string
}

Índice

  • MongoDB\BSON\BinaryInterface::getData — Returns the BinaryInterface's data
  • MongoDB\BSON\BinaryInterface::getType — Returns the BinaryInterface's type
  • MongoDB\BSON\BinaryInterface::__toString — Returns the BinaryInterface's data


Returns the BinaryInterface's data

  • « MongoDB\BSON\BinaryInterface
  • MongoDB\BSON\BinaryInterface::getType »
  • PHP Manual
  • MongoDB\BSON\BinaryInterface
  • Returns the BinaryInterface's data

MongoDB\BSON\BinaryInterface::getData

(mongodb >=1.3.0)

MongoDB\BSON\BinaryInterface::getData — Returns the BinaryInterface's data

Descrição

abstract public MongoDB\BSON\BinaryInterface::getData ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the BinaryInterface's data.

Veja Também

  • MongoDB\BSON\Binary::getData() - Returns the Binary's data


Returns the BinaryInterface's type

  • « MongoDB\BSON\BinaryInterface::getData
  • MongoDB\BSON\BinaryInterface::__toString »
  • PHP Manual
  • MongoDB\BSON\BinaryInterface
  • Returns the BinaryInterface's type

MongoDB\BSON\BinaryInterface::getType

(mongodb >=1.3.0)

MongoDB\BSON\BinaryInterface::getType — Returns the BinaryInterface's type

Descrição

abstract public MongoDB\BSON\BinaryInterface::getType ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the BinaryInterface's type.

Veja Também

  • MongoDB\BSON\Binary::getType() - Returns the Binary's type


Returns the BinaryInterface's data

  • « MongoDB\BSON\BinaryInterface::getType
  • MongoDB\BSON\Decimal128Interface »
  • PHP Manual
  • MongoDB\BSON\BinaryInterface
  • Returns the BinaryInterface's data

MongoDB\BSON\BinaryInterface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\BinaryInterface::__toString — Returns the BinaryInterface's data

Descrição

abstract public MongoDB\BSON\BinaryInterface::__toString ( ) : string

Este método é um apelido para: MongoDB\BSON\BinaryInterface::getData().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the BinaryInterface's data.

Veja Também

  • MongoDB\BSON\BinaryInterface::getData() - Returns the BinaryInterface's data
  • MongoDB\BSON\Binary::__toString() - Returns the Binary's data


The MongoDB\BSON\Decimal128Interface interface

(mongodb >=1.3.0)

Introdução

This interface is implemented by MongoDB\BSON\Decimal128 but may also be used for type-hinting and userland classes.

Sinopse da classe

MongoDB\BSON\Decimal128Interface {
/* Métodos */
abstract public __toString ( ) : string
}

Índice

  • MongoDB\BSON\Decimal128Interface::__toString — Returns the string representation of this Decimal128Interface


Returns the string representation of this Decimal128Interface

  • « MongoDB\BSON\Decimal128Interface
  • MongoDB\BSON\JavascriptInterface »
  • PHP Manual
  • MongoDB\BSON\Decimal128Interface
  • Returns the string representation of this Decimal128Interface

MongoDB\BSON\Decimal128Interface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\Decimal128Interface::__toString — Returns the string representation of this Decimal128Interface

Descrição

abstract public MongoDB\BSON\Decimal128Interface::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of this Decimal128Interface.

Veja Também

  • MongoDB\BSON\Decimal128::__toString() - Returns the string representation of this Decimal128


The MongoDB\BSON\JavascriptInterface interface

(mongodb >=1.3.0)

Introdução

This interface is implemented by MongoDB\BSON\Javascript but may also be used for type-hinting and userland classes.

Sinopse da classe

MongoDB\BSON\JavascriptInterface {
/* Métodos */
abstract public getCode ( ) : string
abstract public getScope ( ) : object|null
abstract public __toString ( ) : string
}

Índice

  • MongoDB\BSON\JavascriptInterface::getCode — Returns the JavascriptInterface's code
  • MongoDB\BSON\JavascriptInterface::getScope — Returns the JavascriptInterface's scope document
  • MongoDB\BSON\JavascriptInterface::__toString — Returns the JavascriptInterface's code


Returns the JavascriptInterface's code

  • « MongoDB\BSON\JavascriptInterface
  • MongoDB\BSON\JavascriptInterface::getScope »
  • PHP Manual
  • MongoDB\BSON\JavascriptInterface
  • Returns the JavascriptInterface's code

MongoDB\BSON\JavascriptInterface::getCode

(mongodb >=1.3.0)

MongoDB\BSON\JavascriptInterface::getCode — Returns the JavascriptInterface's code

Descrição

abstract public MongoDB\BSON\JavascriptInterface::getCode ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the JavascriptInterface's code.

Veja Também

  • MongoDB\BSON\Javascript::getCode() - Returns the Javascript's code


Returns the JavascriptInterface's scope document

  • « MongoDB\BSON\JavascriptInterface::getCode
  • MongoDB\BSON\JavascriptInterface::__toString »
  • PHP Manual
  • MongoDB\BSON\JavascriptInterface
  • Returns the JavascriptInterface's scope document

MongoDB\BSON\JavascriptInterface::getScope

(mongodb >=1.3.0)

MongoDB\BSON\JavascriptInterface::getScope — Returns the JavascriptInterface's scope document

Descrição

abstract public MongoDB\BSON\JavascriptInterface::getScope ( ) : object|null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the JavascriptInterface's scope document.

Veja Também

  • MongoDB\BSON\Javascript::getScope() - Returns the Javascript's scope document


Returns the JavascriptInterface's code

  • « MongoDB\BSON\JavascriptInterface::getScope
  • MongoDB\BSON\MaxKeyInterface »
  • PHP Manual
  • MongoDB\BSON\JavascriptInterface
  • Returns the JavascriptInterface's code

MongoDB\BSON\JavascriptInterface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\JavascriptInterface::__toString — Returns the JavascriptInterface's code

Descrição

abstract public MongoDB\BSON\JavascriptInterface::__toString ( ) : string

Este método é um apelido para: MongoDB\BSON\JavascriptInterface::getCode().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the JavascriptInterface's code.

Veja Também

  • MongoDB\BSON\JavascriptInterface::getCode() - Returns the JavascriptInterface's code
  • MongoDB\BSON\Javascript::__toString() - Returns the Javascript's code


The MongoDB\BSON\MaxKeyInterface interface

(mongodb >=1.3.0)

Introdução

This interface is implemented by MongoDB\BSON\MaxKey but may also be used for type-hinting and userland classes.

Sinopse da classe

MongoDB\BSON\MaxKeyInterface {
}

This interface has no methods.


The MongoDB\BSON\MinKeyInterface interface

(mongodb >=1.3.0)

Introdução

This interface is implemented by MongoDB\BSON\MinKey but may also be used for type-hinting and userland classes.

Sinopse da classe

MongoDB\BSON\MinKeyInterface {
}

This interface has no methods.


The MongoDB\BSON\ObjectIdInterface interface

(mongodb >=1.3.0)

Introdução

This interface is implemented by MongoDB\BSON\ObjectId but may also be used for type-hinting and userland classes.

Sinopse da classe

MongoDB\BSON\ObjectIdInterface {
/* Métodos */
abstract public getTimestamp ( ) : int
abstract public __toString ( ) : string
}

Índice

  • MongoDB\BSON\ObjectIdInterface::getTimestamp — Returns the timestamp component of this ObjectIdInterface
  • MongoDB\BSON\ObjectIdInterface::__toString — Returns the hexidecimal representation of this ObjectIdInterface


Returns the timestamp component of this ObjectIdInterface

  • « MongoDB\BSON\ObjectIdInterface
  • MongoDB\BSON\ObjectIdInterface::__toString »
  • PHP Manual
  • MongoDB\BSON\ObjectIdInterface
  • Returns the timestamp component of this ObjectIdInterface

MongoDB\BSON\ObjectIdInterface::getTimestamp

(mongodb >=1.3.0)

MongoDB\BSON\ObjectIdInterface::getTimestamp — Returns the timestamp component of this ObjectIdInterface

Descrição

abstract public MongoDB\BSON\ObjectIdInterface::getTimestamp ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the timestamp component of this ObjectIdInterface.

Veja Também

  • MongoDB\BSON\ObjectId::getTimestamp() - Returns the timestamp component of this ObjectId


Returns the hexidecimal representation of this ObjectIdInterface

  • « MongoDB\BSON\ObjectIdInterface::getTimestamp
  • MongoDB\BSON\RegexInterface »
  • PHP Manual
  • MongoDB\BSON\ObjectIdInterface
  • Returns the hexidecimal representation of this ObjectIdInterface

MongoDB\BSON\ObjectIdInterface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\ObjectIdInterface::__toString — Returns the hexidecimal representation of this ObjectIdInterface

Descrição

abstract public MongoDB\BSON\ObjectIdInterface::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the hexidecimal representation of this ObjectIdInterface.

Veja Também

  • MongoDB\BSON\ObjectId::__toString() - Returns the hexidecimal representation of this ObjectId


The MongoDB\BSON\RegexInterface interface

(mongodb >=1.3.0)

Introdução

This interface is implemented by MongoDB\BSON\Regex but may also be used for type-hinting and userland classes.

Sinopse da classe

MongoDB\BSON\RegexInterface {
/* Métodos */
abstract public getFlags ( ) : string
abstract public getPattern ( ) : string
abstract public __toString ( ) : string
}

Índice

  • MongoDB\BSON\RegexInterface::getFlags — Returns the RegexInterface's flags
  • MongoDB\BSON\RegexInterface::getPattern — Returns the RegexInterface's pattern
  • MongoDB\BSON\RegexInterface::__toString — Returns the string representation of this RegexInterface


Returns the RegexInterface's flags

  • « MongoDB\BSON\RegexInterface
  • MongoDB\BSON\RegexInterface::getPattern »
  • PHP Manual
  • MongoDB\BSON\RegexInterface
  • Returns the RegexInterface's flags

MongoDB\BSON\RegexInterface::getFlags

(mongodb >=1.3.0)

MongoDB\BSON\RegexInterface::getFlags — Returns the RegexInterface's flags

Descrição

abstract public MongoDB\BSON\RegexInterface::getFlags ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the RegexInterface's flags.

Veja Também

  • MongoDB\BSON\Regex::getFlags() - Returns the Regex's flags


Returns the RegexInterface's pattern

  • « MongoDB\BSON\RegexInterface::getFlags
  • MongoDB\BSON\RegexInterface::__toString »
  • PHP Manual
  • MongoDB\BSON\RegexInterface
  • Returns the RegexInterface's pattern

MongoDB\BSON\RegexInterface::getPattern

(mongodb >=1.3.0)

MongoDB\BSON\RegexInterface::getPattern — Returns the RegexInterface's pattern

Descrição

abstract public MongoDB\BSON\RegexInterface::getPattern ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the RegexInterface's pattern.

Veja Também

  • MongoDB\BSON\Regex::getPattern() - Returns the Regex's pattern


Returns the string representation of this RegexInterface

  • « MongoDB\BSON\RegexInterface::getPattern
  • MongoDB\BSON\TimestampInterface »
  • PHP Manual
  • MongoDB\BSON\RegexInterface
  • Returns the string representation of this RegexInterface

MongoDB\BSON\RegexInterface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\RegexInterface::__toString — Returns the string representation of this RegexInterface

Descrição

abstract public MongoDB\BSON\RegexInterface::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of this RegexInterface.

Veja Também

  • MongoDB\BSON\Regex::__toString() - Returns the string representation of this Regex


The MongoDB\BSON\TimestampInterface interface

(mongodb >=1.3.0)

Introdução

This interface is implemented by MongoDB\BSON\Timestamp but may also be used for type-hinting and userland classes.

Sinopse da classe

MongoDB\BSON\TimestampInterface {
/* Métodos */
abstract public getIncrement ( ) : int
abstract public getTimestamp ( ) : int
abstract public __toString ( ) : string
}

Índice

  • MongoDB\BSON\TimestampInterface::getIncrement — Returns the increment component of this TimestampInterface
  • MongoDB\BSON\TimestampInterface::getTimestamp — Returns the timestamp component of this TimestampInterface
  • MongoDB\BSON\TimestampInterface::__toString — Returns the string representation of this TimestampInterface


Returns the increment component of this TimestampInterface

  • « MongoDB\BSON\TimestampInterface
  • MongoDB\BSON\TimestampInterface::getTimestamp »
  • PHP Manual
  • MongoDB\BSON\TimestampInterface
  • Returns the increment component of this TimestampInterface

MongoDB\BSON\TimestampInterface::getIncrement

(mongodb >=1.3.0)

MongoDB\BSON\TimestampInterface::getIncrement — Returns the increment component of this TimestampInterface

Descrição

abstract public MongoDB\BSON\TimestampInterface::getIncrement ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the increment component of this TimestampInterface.

Aviso

On 32-bit systems this method may return a negative number. Although the increment and timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can not represent these on 32-bit platforms.

Veja Também

  • MongoDB\BSON\Timestamp::getIncrement() - Returns the increment component of this Timestamp


Returns the timestamp component of this TimestampInterface

  • « MongoDB\BSON\TimestampInterface::getIncrement
  • MongoDB\BSON\TimestampInterface::__toString »
  • PHP Manual
  • MongoDB\BSON\TimestampInterface
  • Returns the timestamp component of this TimestampInterface

MongoDB\BSON\TimestampInterface::getTimestamp

(mongodb >=1.3.0)

MongoDB\BSON\TimestampInterface::getTimestamp — Returns the timestamp component of this TimestampInterface

Descrição

abstract public MongoDB\BSON\TimestampInterface::getTimestamp ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the timestamp component of this TimestampInterface.

Aviso

On 32-bit systems this method may return a negative number. Although the increment and timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can not represent these on 32-bit platforms.

Veja Também

  • MongoDB\BSON\Timestamp::getTimestamp() - Returns the timestamp component of this Timestamp


Returns the string representation of this TimestampInterface

  • « MongoDB\BSON\TimestampInterface::getTimestamp
  • MongoDB\BSON\UTCDateTimeInterface »
  • PHP Manual
  • MongoDB\BSON\TimestampInterface
  • Returns the string representation of this TimestampInterface

MongoDB\BSON\TimestampInterface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\TimestampInterface::__toString — Returns the string representation of this TimestampInterface

Descrição

abstract public MongoDB\BSON\TimestampInterface::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of this TimestampInterface.

Veja Também

  • MongoDB\BSON\Timestamp::__toString() - Returns the string representation of this Timestamp


The MongoDB\BSON\UTCDateTimeInterface interface

(mongodb >=1.3.0)

Introdução

This interface is implemented by MongoDB\BSON\UTCDateTime but may also be used for type-hinting and userland classes.

Sinopse da classe

MongoDB\BSON\UTCDateTimeInterface {
/* Métodos */
abstract public toDateTime ( ) : DateTime
abstract public __toString ( ) : string
}

Índice

  • MongoDB\BSON\UTCDateTimeInterface::toDateTime — Returns the DateTime representation of this UTCDateTimeInterface
  • MongoDB\BSON\UTCDateTimeInterface::__toString — Returns the string representation of this UTCDateTimeInterface


Returns the DateTime representation of this UTCDateTimeInterface

  • « MongoDB\BSON\UTCDateTimeInterface
  • MongoDB\BSON\UTCDateTimeInterface::__toString »
  • PHP Manual
  • MongoDB\BSON\UTCDateTimeInterface
  • Returns the DateTime representation of this UTCDateTimeInterface

MongoDB\BSON\UTCDateTimeInterface::toDateTime

(mongodb >=1.3.0)

MongoDB\BSON\UTCDateTimeInterface::toDateTime — Returns the DateTime representation of this UTCDateTimeInterface

Descrição

abstract public MongoDB\BSON\UTCDateTimeInterface::toDateTime ( ) : DateTime

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the DateTime representation of this UTCDateTimeInterface. The returned DateTime should use the UTC time zone.

Veja Também

  • MongoDB\BSON\UTCDateTime::toDateTime() - Returns the DateTime representation of this UTCDateTime


Returns the string representation of this UTCDateTimeInterface

  • « MongoDB\BSON\UTCDateTimeInterface::toDateTime
  • MongoDB\BSON\DBPointer »
  • PHP Manual
  • MongoDB\BSON\UTCDateTimeInterface
  • Returns the string representation of this UTCDateTimeInterface

MongoDB\BSON\UTCDateTimeInterface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\UTCDateTimeInterface::__toString — Returns the string representation of this UTCDateTimeInterface

Descrição

abstract public MongoDB\BSON\UTCDateTimeInterface::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of this UTCDateTimeInterface.

Veja Também

  • MongoDB\BSON\UTCDateTime::__toString() - Returns the string representation of this UTCDateTime


The MongoDB\BSON\DBPointer class (deprecated)

(mongodb >=1.4.0)

Introdução

BSON type for the "DBPointer" type. This BSON type is deprecated, and this class can not be instantiated. It will be created from a BSON DBPointer type while converting BSON to PHP, and can also be converted back into BSON while storing documents in the database.

Sinopse da classe

final MongoDB\BSON\DBPointer implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Métodos */
final private __construct ( )
final public jsonSerialize ( ) : mixed
final public serialize ( ) : string
final public __toString ( ) : string
final public unserialize ( string $serialized ) : void
}

Índice

  • MongoDB\BSON\DBPointer::__construct — Construct a new DBPointer (unused)
  • MongoDB\BSON\DBPointer::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\DBPointer::serialize — Serialize a DBPointer
  • MongoDB\BSON\DBPointer::__toString — Returns an empty string
  • MongoDB\BSON\DBPointer::unserialize — Unserialize a DBPointer


Construct a new DBPointer (unused)

  • « MongoDB\BSON\DBPointer
  • MongoDB\BSON\DBPointer::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\DBPointer
  • Construct a new DBPointer (unused)

MongoDB\BSON\DBPointer::__construct

(mongodb >=1.4.0)

MongoDB\BSON\DBPointer::__construct — Construct a new DBPointer (unused)

Descrição

final private MongoDB\BSON\DBPointer::__construct ( )

MongoDB\BSON\DBPointer objects are created through conversion from a deprecated BSON type and cannot be constructed directly.

Parâmetros

Esta função não possui parâmetros.

Veja Também

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\DBPointer::__construct
  • MongoDB\BSON\DBPointer::serialize »
  • PHP Manual
  • MongoDB\BSON\DBPointer
  • Returns a representation that can be converted to JSON

MongoDB\BSON\DBPointer::jsonSerialize

(mongodb >=1.4.0)

MongoDB\BSON\DBPointer::jsonSerialize — Returns a representation that can be converted to JSON

Descrição

final public MongoDB\BSON\DBPointer::jsonSerialize ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\DBPointer.

Nota: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • JsonSerializable::jsonSerialize() - Specify data which should be serialized to JSON
  • json_encode() - Retorna a representação JSON de um valor
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a DBPointer

  • « MongoDB\BSON\DBPointer::jsonSerialize
  • MongoDB\BSON\DBPointer::__toString »
  • PHP Manual
  • MongoDB\BSON\DBPointer
  • Serialize a DBPointer

MongoDB\BSON\DBPointer::serialize

(mongodb >=1.4.0)

MongoDB\BSON\DBPointer::serialize — Serialize a DBPointer

Descrição

final public MongoDB\BSON\DBPointer::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\BSON\DBPointer.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\DBPointer::unserialize() - Unserialize a DBPointer
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Returns an empty string

  • « MongoDB\BSON\DBPointer::serialize
  • MongoDB\BSON\DBPointer::unserialize »
  • PHP Manual
  • MongoDB\BSON\DBPointer
  • Returns an empty string

MongoDB\BSON\DBPointer::__toString

(mongodb >=1.4.0)

MongoDB\BSON\DBPointer::__toString — Returns an empty string

Descrição

final public MongoDB\BSON\DBPointer::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an empty string.

Veja Também

  • » BSON Types


Unserialize a DBPointer

  • « MongoDB\BSON\DBPointer::__toString
  • MongoDB\BSON\Int64 »
  • PHP Manual
  • MongoDB\BSON\DBPointer
  • Unserialize a DBPointer

MongoDB\BSON\DBPointer::unserialize

(mongodb >=1.4.0)

MongoDB\BSON\DBPointer::unserialize — Unserialize a DBPointer

Descrição

final public MongoDB\BSON\DBPointer::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\BSON\DBPointer.

Valor Retornado

Returns the unserialized MongoDB\BSON\DBPointer.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\DBPointer::serialize() - Serialize a DBPointer
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\BSON\Int64 class

(mongodb >=1.5.0)

Introdução

BSON type for a 64-bit integer. This class cannot be instantiated and is only created during BSON decoding when a 64-bit integer cannot be represented as a PHP integer on a 32-bit platform. Versions of the driver before 1.5.0 would throw an exception when attempting to decode a 64-bit integer on a 32-bit platform.

During BSON encoding, objects of this class will convert back to a 64-bit integer type. This allows 64-bit integers to be roundtripped through a 32-bit PHP environment without any loss of precision. The __toString() method allows the 64-bit integer value to be accessed as a string.

Nota: This class exists purely for 32-bit platforms. Applications on 64-bit platforms (i.e. PHP_INT_SIZE is 8) should never encounter this class during normal operation.

Sinopse da classe

final MongoDB\BSON\Int64 implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Métodos */
final private __construct ( )
final public jsonSerialize ( ) : mixed
final public serialize ( ) : string
final public __toString ( ) : string
final public unserialize ( string $serialized ) : void
}

Índice

  • MongoDB\BSON\Int64::__construct — Construct a new Int64 (unused)
  • MongoDB\BSON\Int64::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Int64::serialize — Serialize an Int64
  • MongoDB\BSON\Int64::__toString — Returns the string representation of this Int64
  • MongoDB\BSON\Int64::unserialize — Unserialize an Int64


Construct a new Int64 (unused)

  • « MongoDB\BSON\Int64
  • MongoDB\BSON\Int64::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Int64
  • Construct a new Int64 (unused)

MongoDB\BSON\Int64::__construct

(mongodb >=1.5.0)

MongoDB\BSON\Int64::__construct — Construct a new Int64 (unused)

Descrição

final private MongoDB\BSON\Int64::__construct ( )

MongoDB\BSON\Int64 objects are created through conversion from a 64-bit integer BSON type on a 32-bit platform and cannot be constructed directly.

Parâmetros

Esta função não possui parâmetros.

Veja Também

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Int64::__construct
  • MongoDB\BSON\Int64::serialize »
  • PHP Manual
  • MongoDB\BSON\Int64
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Int64::jsonSerialize

(mongodb >=1.5.0)

MongoDB\BSON\Int64::jsonSerialize — Returns a representation that can be converted to JSON

Descrição

final public MongoDB\BSON\Int64::jsonSerialize ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Int64.

Nota: The output is consistent with the MongoDB\BSON\toCanonicalExtendedJSON() function, which uses the » canonical extended JSON format. This differs from other BSON classes, which use the driver-specific legacy extended JSON format (MongoDB\BSON\toJSON()), in order to ensure that the 64-bit integer value is correctly represented on 32-bit platforms.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • JsonSerializable::jsonSerialize() - Specify data which should be serialized to JSON
  • json_encode() - Retorna a representação JSON de um valor
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize an Int64

  • « MongoDB\BSON\Int64::jsonSerialize
  • MongoDB\BSON\Int64::__toString »
  • PHP Manual
  • MongoDB\BSON\Int64
  • Serialize an Int64

MongoDB\BSON\Int64::serialize

(mongodb >=1.5.0)

MongoDB\BSON\Int64::serialize — Serialize an Int64

Descrição

final public MongoDB\BSON\Int64::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\BSON\Int64.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\Int64::unserialize() - Unserialize an Int64
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Returns the string representation of this Int64

  • « MongoDB\BSON\Int64::serialize
  • MongoDB\BSON\Int64::unserialize »
  • PHP Manual
  • MongoDB\BSON\Int64
  • Returns the string representation of this Int64

MongoDB\BSON\Int64::__toString

(mongodb >=1.5.0)

MongoDB\BSON\Int64::__toString — Returns the string representation of this Int64

Descrição

final public MongoDB\BSON\Int64::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of this Int64.

Exemplos

Exemplo #1 MongoDB\BSON\Int64::__toString() example

<?php

$int64 = unserialize('C:18:"MongoDB\BSON\Int64":47:{a:1:{s:7:"integer";s:19:"9223372036854775807";}}');

var_dump((string) $int64);

?>

O exemplo acima irá imprimir algo similar à:

string(19) "9223372036854775807"

Veja Também

  • » BSON Types


Unserialize an Int64

  • « MongoDB\BSON\Int64::__toString
  • MongoDB\BSON\Symbol »
  • PHP Manual
  • MongoDB\BSON\Int64
  • Unserialize an Int64

MongoDB\BSON\Int64::unserialize

(mongodb >=1.5.0)

MongoDB\BSON\Int64::unserialize — Unserialize an Int64

Descrição

final public MongoDB\BSON\Int64::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\BSON\Int64.

Valor Retornado

Returns the unserialized MongoDB\BSON\Int64.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Veja Também

  • MongoDB\BSON\Int64::serialize() - Serialize an Int64
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\BSON\Symbol class (deprecated)

(mongodb >=1.4.0)

Introdução

BSON type for the "Symbol" type. This BSON type is deprecated, and this class can not be instantiated. It will be created from a BSON symbol type while converting BSON to PHP, and can also be converted back into BSON while storing documents in the database.

Sinopse da classe

final MongoDB\BSON\Symbol implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Métodos */
final private __construct ( )
final public jsonSerialize ( ) : mixed
final public serialize ( ) : string
final public __toString ( ) : string
final public unserialize ( string $serialized ) : void
}

Índice

  • MongoDB\BSON\Symbol::__construct — Construct a new Symbol (unused)
  • MongoDB\BSON\Symbol::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Symbol::serialize — Serialize a Symbol
  • MongoDB\BSON\Symbol::__toString — Returns the Symbol as a string
  • MongoDB\BSON\Symbol::unserialize — Unserialize a Symbol


Construct a new Symbol (unused)

  • « MongoDB\BSON\Symbol
  • MongoDB\BSON\Symbol::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Symbol
  • Construct a new Symbol (unused)

MongoDB\BSON\Symbol::__construct

(mongodb >=1.4.0)

MongoDB\BSON\Symbol::__construct — Construct a new Symbol (unused)

Descrição

final private MongoDB\BSON\Symbol::__construct ( )

MongoDB\BSON\Symbol objects are created through conversion from a deprecated BSON type and cannot be constructed directly.

Parâmetros

Esta função não possui parâmetros.

Veja Também

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Symbol::__construct
  • MongoDB\BSON\Symbol::serialize »
  • PHP Manual
  • MongoDB\BSON\Symbol
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Symbol::jsonSerialize

(mongodb >=1.4.0)

MongoDB\BSON\Symbol::jsonSerialize — Returns a representation that can be converted to JSON

Descrição

final public MongoDB\BSON\Symbol::jsonSerialize ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Symbol.

Nota: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • JsonSerializable::jsonSerialize() - Specify data which should be serialized to JSON
  • json_encode() - Retorna a representação JSON de um valor
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Symbol

  • « MongoDB\BSON\Symbol::jsonSerialize
  • MongoDB\BSON\Symbol::__toString »
  • PHP Manual
  • MongoDB\BSON\Symbol
  • Serialize a Symbol

MongoDB\BSON\Symbol::serialize

(mongodb >=1.4.0)

MongoDB\BSON\Symbol::serialize — Serialize a Symbol

Descrição

final public MongoDB\BSON\Symbol::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\BSON\Symbol.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\Symbol::unserialize() - Unserialize a Symbol
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Returns the Symbol as a string

  • « MongoDB\BSON\Symbol::serialize
  • MongoDB\BSON\Symbol::unserialize »
  • PHP Manual
  • MongoDB\BSON\Symbol
  • Returns the Symbol as a string

MongoDB\BSON\Symbol::__toString

(mongodb >=1.4.0)

MongoDB\BSON\Symbol::__toString — Returns the Symbol as a string

Descrição

final public MongoDB\BSON\Symbol::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string representation of this Symbol.

Veja Também

  • » BSON Types


Unserialize a Symbol

  • « MongoDB\BSON\Symbol::__toString
  • MongoDB\BSON\Undefined »
  • PHP Manual
  • MongoDB\BSON\Symbol
  • Unserialize a Symbol

MongoDB\BSON\Symbol::unserialize

(mongodb >=1.4.0)

MongoDB\BSON\Symbol::unserialize — Unserialize a Symbol

Descrição

final public MongoDB\BSON\Symbol::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\BSON\Symbol.

Valor Retornado

Returns the unserialized MongoDB\BSON\Symbol.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\Symbol::serialize() - Serialize a Symbol
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The MongoDB\BSON\Undefined class (deprecated)

(mongodb >=1.4.0)

Introdução

BSON type for the "Undefined" type. This BSON type is deprecated, and this class can not be instantiated. It will be created from a BSON undefined type while converting BSON to PHP, and can also be converted back into BSON while storing documents in the database.

Sinopse da classe

final MongoDB\BSON\Undefined implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Métodos */
final private __construct ( )
final public jsonSerialize ( ) : mixed
final public serialize ( ) : string
final public __toString ( ) : string
final public unserialize ( string $serialized ) : void
}

Índice

  • MongoDB\BSON\Undefined::__construct — Construct a new Undefined (unused)
  • MongoDB\BSON\Undefined::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Undefined::serialize — Serialize a Undefined
  • MongoDB\BSON\Undefined::__toString — Returns an empty string
  • MongoDB\BSON\Undefined::unserialize — Unserialize a Undefined


Construct a new Undefined (unused)

  • « MongoDB\BSON\Undefined
  • MongoDB\BSON\Undefined::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Undefined
  • Construct a new Undefined (unused)

MongoDB\BSON\Undefined::__construct

(mongodb >=1.4.0)

MongoDB\BSON\Undefined::__construct — Construct a new Undefined (unused)

Descrição

final private MongoDB\BSON\Undefined::__construct ( )

MongoDB\BSON\Undefined objects are created through conversion from a deprecated BSON type and cannot be constructed directly.

Parâmetros

Esta função não possui parâmetros.

Veja Também

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Undefined::__construct
  • MongoDB\BSON\Undefined::serialize »
  • PHP Manual
  • MongoDB\BSON\Undefined
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Undefined::jsonSerialize

(mongodb >=1.4.0)

MongoDB\BSON\Undefined::jsonSerialize — Returns a representation that can be converted to JSON

Descrição

final public MongoDB\BSON\Undefined::jsonSerialize ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Undefined.

Nota: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • JsonSerializable::jsonSerialize() - Specify data which should be serialized to JSON
  • json_encode() - Retorna a representação JSON de um valor
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Undefined

  • « MongoDB\BSON\Undefined::jsonSerialize
  • MongoDB\BSON\Undefined::__toString »
  • PHP Manual
  • MongoDB\BSON\Undefined
  • Serialize a Undefined

MongoDB\BSON\Undefined::serialize

(mongodb >=1.4.0)

MongoDB\BSON\Undefined::serialize — Serialize a Undefined

Descrição

final public MongoDB\BSON\Undefined::serialize ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the serialized representation of the MongoDB\BSON\Undefined.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\Undefined::unserialize() - Unserialize a Undefined
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Returns an empty string

  • « MongoDB\BSON\Undefined::serialize
  • MongoDB\BSON\Undefined::unserialize »
  • PHP Manual
  • MongoDB\BSON\Undefined
  • Returns an empty string

MongoDB\BSON\Undefined::__toString

(mongodb >=1.4.0)

MongoDB\BSON\Undefined::__toString — Returns an empty string

Descrição

final public MongoDB\BSON\Undefined::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an empty string.

Veja Também

  • » BSON Types


Unserialize a Undefined

  • « MongoDB\BSON\Undefined::__toString
  • MongoDB\Driver\Monitoring »
  • PHP Manual
  • MongoDB\BSON\Undefined
  • Unserialize a Undefined

MongoDB\BSON\Undefined::unserialize

(mongodb >=1.4.0)

MongoDB\BSON\Undefined::unserialize — Unserialize a Undefined

Descrição

final public MongoDB\BSON\Undefined::unserialize ( string $serialized ) : void

Parâmetros

serialized

The serialized MongoDB\BSON\Undefined.

Valor Retornado

Returns the unserialized MongoDB\BSON\Undefined.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\BSON\Undefined::serialize() - Serialize a Undefined
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


Monitoring classes and subscriber functions

  • Funções
    • MongoDB\Driver\Monitoring\addSubscriber — Registers a new monitoring event subscriber
    • MongoDB\Driver\Monitoring\removeSubscriber — Unregisters an existing monitoring event subscriber
  • MongoDB\Driver\Monitoring\CommandFailedEvent — The MongoDB\Driver\Monitoring\CommandFailedEvent class
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName — Returns the command name
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros — Returns the command's duration in microseconds
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getError — Returns the Exception associated with the failed command
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId — Returns the command's operation ID
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getReply — Returns the command reply document
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId — Returns the command's request ID
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getServer — Returns the Server on which the command was executed
  • MongoDB\Driver\Monitoring\CommandStartedEvent — The MongoDB\Driver\Monitoring\CommandStartedEvent class
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand — Returns the command document
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName — Returns the command name
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName — Returns the database on which the command was executed
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId — Returns the command's operation ID
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId — Returns the command's request ID
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getServer — Returns the Server on which the command was executed
  • MongoDB\Driver\Monitoring\CommandSucceededEvent — The MongoDB\Driver\Monitoring\CommandSucceededEvent class
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName — Returns the command name
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros — Returns the command's duration in microseconds
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId — Returns the command's operation ID
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply — Returns the command reply document
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId — Returns the command's request ID
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer — Returns the Server on which the command was executed
  • MongoDB\Driver\Monitoring\CommandSubscriber — The MongoDB\Driver\Monitoring\CommandSubscriber interface
    • MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed — Notification method for a failed command
    • MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted — Notification method for a started command
    • MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded — Notification method for a successful command
  • MongoDB\Driver\Monitoring\Subscriber — The MongoDB\Driver\Monitoring\Subscriber interface


Funções

Índice

  • MongoDB\Driver\Monitoring\addSubscriber — Registers a new monitoring event subscriber
  • MongoDB\Driver\Monitoring\removeSubscriber — Unregisters an existing monitoring event subscriber


Registers a new monitoring event subscriber

  • « Funções
  • MongoDB\Driver\Monitoring\removeSubscriber »
  • PHP Manual
  • Funções
  • Registers a new monitoring event subscriber

MongoDB\Driver\Monitoring\addSubscriber

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\addSubscriber — Registers a new monitoring event subscriber

Descrição

MongoDB\Driver\Monitoring\addSubscriber ( MongoDB\Driver\Monitoring\Subscriber $subscriber ) : void

Registers a new monitoring event subscriber with the driver. Registered subscribers will be notified of monitoring events through specific methods.

Nota: If the object is already registered, this function is a no-op.

Parâmetros

subscriber (MongoDB\Driver\Monitoring\Subscriber)

A monitoring event subscriber object to register.

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\Subscriber
  • MongoDB\Driver\Monitoring\CommandSubscriber
  • MongoDB\Driver\Monitoring\removeSubscriber() - Unregisters an existing monitoring event subscriber
  • Application Performance Monitoring (APM)


Unregisters an existing monitoring event subscriber

  • « MongoDB\Driver\Monitoring\addSubscriber
  • MongoDB\Driver\Monitoring\CommandFailedEvent »
  • PHP Manual
  • Funções
  • Unregisters an existing monitoring event subscriber

MongoDB\Driver\Monitoring\removeSubscriber

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\removeSubscriber — Unregisters an existing monitoring event subscriber

Descrição

MongoDB\Driver\Monitoring\removeSubscriber ( MongoDB\Driver\Monitoring\Subscriber $subscriber ) : void

Unregisters an existing monitoring event subscriber from the driver. Unregistered subscribers will no longer be notified of monitoring events.

Nota: If the object is not registered, this function is a no-op.

Parâmetros

subscriber (MongoDB\Driver\Monitoring\Subscriber)

A monitoring event subscriber object to unregister.

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\Subscriber
  • MongoDB\Driver\Monitoring\CommandSubscriber
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a new monitoring event subscriber
  • Application Performance Monitoring (APM)


The MongoDB\Driver\Monitoring\CommandFailedEvent class

(mongodb >=1.3.0)

Introdução

The MongoDB\Driver\Monitoring\CommandFailedEvent class encapsulates information about a failed command.

Sinopse da classe

final MongoDB\Driver\Monitoring\CommandFailedEvent {
/* Métodos */
final public getCommandName ( ) : string
final public getDurationMicros ( ) : int
final public getError ( ) : Exception
final public getOperationId ( ) : string
final public getReply ( ) : object
final public getRequestId ( ) : string
final public getServer ( ) : MongoDB\Driver\Server
}

Índice

  • MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName — Returns the command name
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros — Returns the command's duration in microseconds
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getError — Returns the Exception associated with the failed command
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId — Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getReply — Returns the command reply document
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId — Returns the command's request ID
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getServer — Returns the Server on which the command was executed


Returns the command name

  • « MongoDB\Driver\Monitoring\CommandFailedEvent
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the command name

MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName — Returns the command name

Descrição

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName ( ) : string

Returns the command name (e.g. "find", "aggregate").

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command name.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • Application Performance Monitoring (APM)


Returns the command's duration in microseconds

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getError »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the command's duration in microseconds

MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros — Returns the command's duration in microseconds

Descrição

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros ( ) : int

The command's duration is a calculated value that includes the time to send the message and receive the reply from the server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command's duration in microseconds.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • Application Performance Monitoring (APM)


Returns the Exception associated with the failed command

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the Exception associated with the failed command

MongoDB\Driver\Monitoring\CommandFailedEvent::getError

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getError — Returns the Exception associated with the failed command

Descrição

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getError ( ) : Exception

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the Exception associated with the failed command.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • Application Performance Monitoring (APM)


Returns the command's operation ID

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getError
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getReply »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the command's operation ID

MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId — Returns the command's operation ID

Descrição

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId ( ) : string

The operation ID is generated by the driver and may be used to link events together such as bulk write operations, which may have been split across several commands at the protocol level.

Nota: Since multiple commands may share the same operation ID, it is not reliable to use this value to associate event objects with each other. The request ID returned by MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId() should be used instead.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command's operation ID.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId() - Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId() - Returns the command's request ID
  • Application Performance Monitoring (APM)


Returns the command reply document

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the command reply document

MongoDB\Driver\Monitoring\CommandFailedEvent::getReply

(mongodb >=1.5.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getReply — Returns the command reply document

Descrição

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getReply ( ) : object

The reply document will be converted from BSON to PHP using the default deserialization rules (e.g. BSON documents will be converted to stdClass).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command reply document as a stdClass object.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • Application Performance Monitoring (APM)
  • Persisting Data


Returns the command's request ID

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getReply
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getServer »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the command's request ID

MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId — Returns the command's request ID

Descrição

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId ( ) : string

The request ID is generated by the driver and may be used to associate this MongoDB\Driver\Monitoring\CommandFailedEvent with a previous MongoDB\Driver\Monitoring\CommandStartedEvent.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command's request ID.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId() - Returns the command's request ID
  • Application Performance Monitoring (APM)


Returns the Server on which the command was executed

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId
  • MongoDB\Driver\Monitoring\CommandStartedEvent »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the Server on which the command was executed

MongoDB\Driver\Monitoring\CommandFailedEvent::getServer

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getServer — Returns the Server on which the command was executed

Descrição

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getServer ( ) : MongoDB\Driver\Server

Returns the MongoDB\Driver\Server on which the command was executed.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the MongoDB\Driver\Server on which the command was executed.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getServer() - Returns the Server on which the command was executed
  • Application Performance Monitoring (APM)


The MongoDB\Driver\Monitoring\CommandStartedEvent class

(mongodb >=1.3.0)

Introdução

The MongoDB\Driver\Monitoring\CommandStartedEvent class encapsulates information about a started command.

Sinopse da classe

final MongoDB\Driver\Monitoring\CommandStartedEvent {
/* Métodos */
final public getCommand ( ) : object
final public getCommandName ( ) : string
final public getDatabaseName ( ) : string
final public getOperationId ( ) : string
final public getRequestId ( ) : string
final public getServer ( ) : MongoDB\Driver\Server
}

Índice

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand — Returns the command document
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName — Returns the command name
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName — Returns the database on which the command was executed
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId — Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId — Returns the command's request ID
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getServer — Returns the Server on which the command was executed


Returns the command document

  • « MongoDB\Driver\Monitoring\CommandStartedEvent
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the command document

MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand — Returns the command document

Descrição

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand ( ) : object

The reply document will be converted from BSON to PHP using the default deserialization rules (e.g. BSON documents will be converted to stdClass).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command document as a stdClass object.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • Application Performance Monitoring (APM)
  • Persisting Data


Returns the command name

  • « MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the command name

MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName — Returns the command name

Descrição

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName ( ) : string

Returns the command name (e.g. "find", "aggregate").

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command name.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • Application Performance Monitoring (APM)


Returns the database on which the command was executed

  • « MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the database on which the command was executed

MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName — Returns the database on which the command was executed

Descrição

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the database on which the command was executed.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • Application Performance Monitoring (APM)


Returns the command's operation ID

  • « MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the command's operation ID

MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId — Returns the command's operation ID

Descrição

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId ( ) : string

The operation ID is generated by the driver and may be used to link events together such as bulk write operations, which may have been split across several commands at the protocol level.

Nota: Since multiple commands may share the same operation ID, it is not reliable to use this value to associate event objects with each other. The request ID returned by MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId() should be used instead.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command's operation ID.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId() - Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId() - Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId() - Returns the command's request ID
  • Application Performance Monitoring (APM)


Returns the command's request ID

  • « MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getServer »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the command's request ID

MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId — Returns the command's request ID

Descrição

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId ( ) : string

The request ID is generated by the driver and may be used to associate this MongoDB\Driver\Monitoring\CommandStartedEvent with a later MongoDB\Driver\Monitoring\CommandFailedEvent or MongoDB\Driver\Monitoring\CommandSucceededEvent.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command's request ID.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId() - Returns the command's request ID
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId() - Returns the command's request ID
  • Application Performance Monitoring (APM)


Returns the Server on which the command was executed

  • « MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId
  • MongoDB\Driver\Monitoring\CommandSucceededEvent »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the Server on which the command was executed

MongoDB\Driver\Monitoring\CommandStartedEvent::getServer

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getServer — Returns the Server on which the command was executed

Descrição

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getServer ( ) : MongoDB\Driver\Server

Returns the MongoDB\Driver\Server on which the command was executed.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the MongoDB\Driver\Server on which the command was executed.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\CommandFailedEvent::getServer() - Returns the Server on which the command was executed
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer() - Returns the Server on which the command was executed
  • Application Performance Monitoring (APM)


The MongoDB\Driver\Monitoring\CommandSucceededEvent class

(mongodb >=1.3.0)

Introdução

The MongoDB\Driver\Monitoring\CommandSucceededEvent class encapsulates information about a successful command.

Sinopse da classe

final MongoDB\Driver\Monitoring\CommandSucceededEvent {
/* Métodos */
final public getCommandName ( ) : string
final public getDurationMicros ( ) : int
final public getOperationId ( ) : string
final public getReply ( ) : object
final public getRequestId ( ) : string
final public getServer ( ) : MongoDB\Driver\Server
}

Índice

  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName — Returns the command name
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros — Returns the command's duration in microseconds
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId — Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply — Returns the command reply document
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId — Returns the command's request ID
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer — Returns the Server on which the command was executed


Returns the command name

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the command name

MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName — Returns the command name

Descrição

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName ( ) : string

Returns the command name (e.g. "find", "aggregate").

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command name.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • Application Performance Monitoring (APM)


Returns the command's duration in microseconds

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the command's duration in microseconds

MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros — Returns the command's duration in microseconds

Descrição

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros ( ) : int

The command's duration is a calculated value that includes the time to send the message and receive the reply from the server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command's duration in microseconds.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • Application Performance Monitoring (APM)


Returns the command's operation ID

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the command's operation ID

MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId — Returns the command's operation ID

Descrição

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId ( ) : string

The operation ID is generated by the driver and may be used to link events together such as bulk write operations, which may have been split across several commands at the protocol level.

Nota: Since multiple commands may share the same operation ID, it is not reliable to use this value to associate event objects with each other. The request ID returned by MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId() should be used instead.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command's operation ID.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId() - Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId() - Returns the command's request ID
  • Application Performance Monitoring (APM)


Returns the command reply document

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the command reply document

MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply — Returns the command reply document

Descrição

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply ( ) : object

The reply document will be converted from BSON to PHP using the default deserialization rules (e.g. BSON documents will be converted to stdClass).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command reply document as a stdClass object.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • Application Performance Monitoring (APM)
  • Persisting Data


Returns the command's request ID

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the command's request ID

MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId — Returns the command's request ID

Descrição

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId ( ) : string

The request ID is generated by the driver and may be used to associate this MongoDB\Driver\Monitoring\CommandSucceededEvent with a previous MongoDB\Driver\Monitoring\CommandStartedEvent.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the command's request ID.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId() - Returns the command's request ID
  • Application Performance Monitoring (APM)


Returns the Server on which the command was executed

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId
  • MongoDB\Driver\Monitoring\CommandSubscriber »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the Server on which the command was executed

MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer — Returns the Server on which the command was executed

Descrição

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer ( ) : MongoDB\Driver\Server

Returns the MongoDB\Driver\Server on which the command was executed.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the MongoDB\Driver\Server on which the command was executed.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getServer() - Returns the Server on which the command was executed
  • MongoDB\Driver\Cursor::getServer() - Returns the server associated with this cursor
  • MongoDB\Driver\WriteResult::getServer() - Returns the server associated with this write result
  • Application Performance Monitoring (APM)


The MongoDB\Driver\Monitoring\CommandSubscriber interface

(mongodb >=1.3.0)

Introdução

Classes may implement this interface to register an event subscriber that is notified for each started, successful, and failed command event. See Application Performance Monitoring (APM) for additional information.

Resumo da Interface

MongoDB\Driver\Monitoring\CommandSubscriber implements MongoDB\Driver\Monitoring\Subscriber {
/* Métodos */
abstract public commandFailed ( MongoDB\Driver\Monitoring\CommandFailedEvent $event ) : void
abstract public commandStarted ( MongoDB\Driver\Monitoring\CommandStartedEvent $event ) : void
abstract public commandSucceeded ( MongoDB\Driver\Monitoring\CommandSucceededEvent $event ) : void
}

Índice

  • MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed — Notification method for a failed command
  • MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted — Notification method for a started command
  • MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded — Notification method for a successful command


Notification method for a failed command

  • « MongoDB\Driver\Monitoring\CommandSubscriber
  • MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSubscriber
  • Notification method for a failed command

MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed — Notification method for a failed command

Descrição

abstract public MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed ( MongoDB\Driver\Monitoring\CommandFailedEvent $event ) : void

If the subscriber has been registered with MongoDB\Driver\Monitoring\addSubscriber(), the driver will call this method when a command has failed.

Parâmetros

event (MongoDB\Driver\Monitoring\CommandFailedEvent)

An event object encapsulating information about the failed command.

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a new monitoring event subscriber
  • Application Performance Monitoring (APM)


Notification method for a started command

  • « MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed
  • MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSubscriber
  • Notification method for a started command

MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted — Notification method for a started command

Descrição

abstract public MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted ( MongoDB\Driver\Monitoring\CommandStartedEvent $event ) : void

If the subscriber has been registered with MongoDB\Driver\Monitoring\addSubscriber(), the driver will call this method when a command has started.

Parâmetros

event (MongoDB\Driver\Monitoring\CommandStartedEvent)

An event object encapsulating information about the started command.

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a new monitoring event subscriber
  • Application Performance Monitoring (APM)


Notification method for a successful command

  • « MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted
  • MongoDB\Driver\Monitoring\Subscriber »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSubscriber
  • Notification method for a successful command

MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded — Notification method for a successful command

Descrição

abstract public MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded ( MongoDB\Driver\Monitoring\CommandSucceededEvent $event ) : void

If the subscriber has been registered with MongoDB\Driver\Monitoring\addSubscriber(), the driver will call this method when a command has succeeded.

Parâmetros

event (MongoDB\Driver\Monitoring\CommandSucceededEvent)

An event object encapsulating information about the successful command.

Valor Retornado

Não há valor retornado.

Erros

  • Lança MongoDB\Driver\Exception\InvalidArgumentException no caso de erros ao interpretar parâmetros.

Veja Também

  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a new monitoring event subscriber
  • Application Performance Monitoring (APM)


The MongoDB\Driver\Monitoring\Subscriber interface

(mongodb >=1.3.0)

Introdução

Base interface for event subscribers. This is used for type-hinting MongoDB\Driver\Monitoring\addSubscriber() and MongoDB\Driver\Monitoring\removeSubscriber() and should not be implemented directly.

Resumo da Interface

MongoDB\Driver\Monitoring\Subscriber {
}

This interface has no methods. Its only purpose is to be the base interface for all event subscribers.


Exception classes

  • MongoDB\Driver\Exception\AuthenticationException — The MongoDB\Driver\Exception\AuthenticationException class
  • MongoDB\Driver\Exception\BulkWriteException — The MongoDB\Driver\Exception\BulkWriteException class
  • MongoDB\Driver\Exception\CommandException — The MongoDB\Driver\Exception\CommandException class
    • MongoDB\Driver\Exception\CommandException::getResultDocument — Returns the result document for the failed command
  • MongoDB\Driver\Exception\ConnectionException — The MongoDB\Driver\Exception\ConnectionException class
  • MongoDB\Driver\Exception\ConnectionTimeoutException — The MongoDB\Driver\Exception\ConnectionTimeoutException class
  • MongoDB\Driver\Exception\EncryptionException — The MongoDB\Driver\Exception\EncryptionException class
  • MongoDB\Driver\Exception\Exception — The MongoDB\Driver\Exception\Exception interface
  • MongoDB\Driver\Exception\ExecutionTimeoutException — The MongoDB\Driver\Exception\ExecutionTimeoutException class
  • MongoDB\Driver\Exception\InvalidArgumentException — The MongoDB\Driver\Exception\InvalidArgumentException class
  • MongoDB\Driver\Exception\LogicException — The MongoDB\Driver\Exception\LogicException class
  • MongoDB\Driver\Exception\RuntimeException — The MongoDB\Driver\Exception\RuntimeException class
    • MongoDB\Driver\Exception\RuntimeException::hasErrorLabel — Returns whether an error label is associated with an exception
  • MongoDB\Driver\Exception\ServerException — The MongoDB\Driver\Exception\ServerException class
  • MongoDB\Driver\Exception\SSLConnectionException — The MongoDB\Driver\Exception\SSLConnectionException class (deprecated)
  • MongoDB\Driver\Exception\UnexpectedValueException — The MongoDB\Driver\Exception\UnexpectedValueException class
  • MongoDB\Driver\Exception\WriteException — The MongoDB\Driver\Exception\WriteException class
    • MongoDB\Driver\Exception\WriteException::getWriteResult — Returns the WriteResult for the failed write operation
  • Class Tree — MongoDB Exception Class Tree


The MongoDB\Driver\Exception\AuthenticationException class

(mongodb >= 1.0.0)

Introdução

Thrown when the driver fails to authenticate with the server.

Sinopse da classe

MongoDB\Driver\Exception\AuthenticationException extends MongoDB\Driver\Exception\ConnectionException implements MongoDB\Driver\Exception\Exception {
/* Propriedades herdadas */
protected array|null $errorLabels ;
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel ( string $errorLabel ) : bool
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The MongoDB\Driver\Exception\BulkWriteException class

(mongodb >= 1.0.0)

Introdução

Thrown when a bulk write operation fails.

Sinopse da classe

MongoDB\Driver\Exception\BulkWriteException extends MongoDB\Driver\Exception\WriteException implements MongoDB\Driver\Exception\Exception {
/* Propriedades herdadas */
protected MongoDB\Driver\WriteResult $writeResult ;
protected array|null $errorLabels ;
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public MongoDB\Driver\Exception\WriteException::getWriteResult ( ) : MongoDB\Driver\WriteResult
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel ( string $errorLabel ) : bool
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The MongoDB\Driver\Exception\CommandException class

(mongodb >= 1.5.0)

Introdução

Thrown when a command fails.

Sinopse da classe

MongoDB\Driver\Exception\CommandException extends MongoDB\Driver\Exception\ServerException implements MongoDB\Driver\Exception\Exception {
/* Propriedades */
protected object $resultDocument ;
/* Propriedades herdadas */
protected array|null $errorLabels ;
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
final public getResultDocument ( ) : object
/* Métodos herdados */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel ( string $errorLabel ) : bool
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Propriedades

resultDocument

The result document associated with the failed command.

Índice

  • MongoDB\Driver\Exception\CommandException::getResultDocument — Returns the result document for the failed command


Returns the result document for the failed command

  • « MongoDB\Driver\Exception\CommandException
  • MongoDB\Driver\Exception\ConnectionException »
  • PHP Manual
  • MongoDB\Driver\Exception\CommandException
  • Returns the result document for the failed command

MongoDB\Driver\Exception\CommandException::getResultDocument

(mongodb >= 1.5.0)

MongoDB\Driver\Exception\CommandException::getResultDocument — Returns the result document for the failed command

Descrição

final public MongoDB\Driver\Exception\CommandException::getResultDocument ( ) : object

Returns the result document for the failed command.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The result document for the failed command.

Veja Também

  • MongoDB\Driver\Manager::executeCommand() - Execute a database command


The MongoDB\Driver\Exception\ConnectionException class

(mongodb >= 1.0.0)

Introdução

Base class for exceptions thrown when the driver fails to establish a database connection.

Sinopse da classe

MongoDB\Driver\Exception\ConnectionException extends MongoDB\Driver\Exception\RuntimeException implements MongoDB\Driver\Exception\Exception {
/* Propriedades herdadas */
protected array|null $errorLabels ;
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel ( string $errorLabel ) : bool
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The MongoDB\Driver\Exception\ConnectionTimeoutException class

(mongodb >= 1.0.0)

Introdução

Thrown when the driver fails to establish a database connection within a specified time limit (connectTimeoutMS) or server selection fails (serverSelectionTimeoutMS).

Sinopse da classe

final MongoDB\Driver\Exception\ConnectionTimeoutException extends MongoDB\Driver\Exception\ConnectionException implements MongoDB\Driver\Exception\Exception {
/* Propriedades herdadas */
protected array|null $errorLabels ;
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel ( string $errorLabel ) : bool
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The MongoDB\Driver\Exception\EncryptionException class

(mongodb >= 1.7.0)

Introdução

Base class for exceptions thrown during client-side encryption.

Sinopse da classe

MongoDB\Driver\Exception\EncryptionException extends MongoDB\Driver\Exception\RuntimeException implements MongoDB\Driver\Exception\Exception {
/* Propriedades herdadas */
protected array|null $errorLabels ;
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel ( string $errorLabel ) : bool
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The MongoDB\Driver\Exception\Exception interface

(mongodb >= 1.0.0)

Introdução

Common interface for all driver exceptions. This may be used to catch only exceptions originating from the driver itself.

Sinopse da classe

MongoDB\Driver\Exception\Exception {
}


The MongoDB\Driver\Exception\ExecutionTimeoutException class

(mongodb >= 1.0.0)

Introdução

Thrown when a query or command fails to complete within a specified time limit (e.g. » maxTimeMS).

Sinopse da classe

final MongoDB\Driver\Exception\ExecutionTimeoutException extends MongoDB\Driver\Exception\ServerException implements MongoDB\Driver\Exception\Exception {
/* Propriedades herdadas */
protected array|null $errorLabels ;
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel ( string $errorLabel ) : bool
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Changelog

Versão | Descrição
PECL mongodb 1.5.0 | This class now extends MongoDB\Driver\Exception\ServerException instead of MongoDB\Driver\Exception\RuntimeException.


The MongoDB\Driver\Exception\InvalidArgumentException class

(mongodb >= 1.0.0)

Introdução

Thrown when a driver method is given invalid arguments (e.g. invalid option types).

Sinopse da classe

MongoDB\Driver\Exception\InvalidArgumentException extends InvalidArgumentException implements MongoDB\Driver\Exception\Exception {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The MongoDB\Driver\Exception\LogicException class

(mongodb >= 1.0.0)

Introdução

Thrown when the driver is incorrectly used (e.g. rewinding a cursor).

Sinopse da classe

MongoDB\Driver\Exception\LogicException extends LogicException implements MongoDB\Driver\Exception\Exception {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The MongoDB\Driver\Exception\RuntimeException class

(mongodb >= 1.0.0)

Introdução

Thrown when the driver encounters a runtime error (e.g. internal error from » libmongoc).

Sinopse da classe

MongoDB\Driver\Exception\RuntimeException extends RuntimeException implements MongoDB\Driver\Exception\Exception {
/* Propriedades */
protected array|null $errorLabels ;
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
final public hasErrorLabel ( string $errorLabel ) : bool
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Propriedades

errorLabels

Contains an array of error labels to go with an exception. For example, error labels can be used to detect whether a transaction can be retried safely if the TransientTransactionError label is present. The existence of a specific error label should be tested for with the MongoDB\Driver\Exception\RuntimeException::hasErrorLabel(), instead of interpreting this errorLabels property manually.

Changelog

Versão | Descrição
PECL mongodb 1.6.0 | The MongoDB\Driver\Exception\RuntimeException::hasErrorLabel() method and MongoDB\Driver\Exception\RuntimeException::errorLabels property have been added.

Índice

  • MongoDB\Driver\Exception\RuntimeException::hasErrorLabel — Returns whether an error label is associated with an exception


Returns whether an error label is associated with an exception

  • « MongoDB\Driver\Exception\RuntimeException
  • MongoDB\Driver\Exception\ServerException »
  • PHP Manual
  • MongoDB\Driver\Exception\RuntimeException
  • Returns whether an error label is associated with an exception

MongoDB\Driver\Exception\RuntimeException::hasErrorLabel

(mongodb >= 1.6.0)

MongoDB\Driver\Exception\RuntimeException::hasErrorLabel — Returns whether an error label is associated with an exception

Descrição

final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel ( string $errorLabel ) : bool

Returns whether the errorLabel has been set for this exception. Error labels are set by either the server or the driver to indicated specific situations on which you might want to decide on how you want to handle a specific exception. A common situation might be to find out whether you can safely retry a transaction that failed due to a transient error (like a networking issue, or a transaction conflict). Examples of error labels are TransientTransactionError and UnknownTransactionCommitResult.

Parâmetros

errorLabel

The name of the errorLabel to test for.

Valor Retornado

Whether the given errorLabel is associated with this exception.

Veja Também

  • MongoDB\Driver\Session::commitTransaction() - Commits a transaction
  • » MongoDB documentation on transactions


The MongoDB\Driver\Exception\ServerException class

(mongodb >= 1.5.0)

Introdução

Base class for exceptions thrown by the server. The code of this exception and its subclasses will correspond to the original error code from the server.

Sinopse da classe

MongoDB\Driver\Exception\ServerException extends MongoDB\Driver\Exception\RuntimeException implements MongoDB\Driver\Exception\Exception {
/* Propriedades herdadas */
protected array|null $errorLabels ;
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel ( string $errorLabel ) : bool
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The MongoDB\Driver\Exception\SSLConnectionException class (deprecated)

(mongodb >= 1.0.0)

Aviso

This exception class is deprecated and may be removed in a future major version. The driver has never thrown this exception.

Introdução

Thrown when the driver fails to establish an SSL connection with the server.

Sinopse da classe

final MongoDB\Driver\Exception\SSLConnectionException extends MongoDB\Driver\Exception\ConnectionException implements MongoDB\Driver\Exception\Exception {
/* Propriedades herdadas */
protected array|null $errorLabels ;
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel ( string $errorLabel ) : bool
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The MongoDB\Driver\Exception\UnexpectedValueException class

(mongodb >= 1.0.0)

Introdução

Thrown when the driver encounters an unexpected value (e.g. during BSON serialization or deserialization).

Sinopse da classe

MongoDB\Driver\Exception\UnexpectedValueException extends UnexpectedValueException implements MongoDB\Driver\Exception\Exception {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The MongoDB\Driver\Exception\WriteException class

(mongodb >= 1.0.0)

Introdução

Base class for exceptions thrown by a failed write operation. The exception encapsulates a MongoDB\Driver\WriteResult object.

Sinopse da classe

abstract MongoDB\Driver\Exception\WriteException extends MongoDB\Driver\Exception\ServerException implements MongoDB\Driver\Exception\Exception {
/* Propriedades */
protected MongoDB\Driver\WriteResult $writeResult ;
/* Propriedades herdadas */
protected array|null $errorLabels ;
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
final public getWriteResult ( ) : MongoDB\Driver\WriteResult
/* Métodos herdados */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel ( string $errorLabel ) : bool
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Propriedades

writeResult

The MongoDB\Driver\WriteResult associated with the failed write operation.

Changelog

Versão | Descrição
PECL mongodb 1.5.0 | This class now extends MongoDB\Driver\Exception\ServerException instead of MongoDB\Driver\Exception\RuntimeException.

Índice

  • MongoDB\Driver\Exception\WriteException::getWriteResult — Returns the WriteResult for the failed write operation


Returns the WriteResult for the failed write operation

  • « MongoDB\Driver\Exception\WriteException
  • Class Tree »
  • PHP Manual
  • MongoDB\Driver\Exception\WriteException
  • Returns the WriteResult for the failed write operation

MongoDB\Driver\Exception\WriteException::getWriteResult

(mongodb >= 1.0.0)

MongoDB\Driver\Exception\WriteException::getWriteResult — Returns the WriteResult for the failed write operation

Descrição

final public MongoDB\Driver\Exception\WriteException::getWriteResult ( ) : MongoDB\Driver\WriteResult

Returns the MongoDB\Driver\WriteResult for the failed write operation. The MongoDB\Driver\WriteResult::getWriteErrors() and MongoDB\Driver\WriteResult::getWriteConcernError() methods may be used to get more details about the failure.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The MongoDB\Driver\WriteResult for the failed write operation.

Exemplos

Exemplo #1 MongoDB\Driver\Exception\WriteException::getWriteResult() example

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost');
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);

try {
    $manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\WriteException $e) {
    $writeResult = $e->getWriteResult();

    if ($writeConcernError = $writeResult->getWriteConcernError()) {
        var_dump($writeConcernError);
    }

    if ($writeErrors = $writeResult->getWriteErrors()) {
        var_dump($writeErrors);
    }
}

?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  object(MongoDB\Driver\WriteError)#5 (4) {
    ["message"]=>
    string(70) "E11000 duplicate key error index: db.collection.$_id_ dup key: { : 1 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(1)
    ["info"]=>
    NULL
  }
}

Veja Também

  • MongoDB\Driver\WriteResult
  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations


MongoDB Exception Class Tree

The class hierarchy for MongoDB exceptions is modeled after that of the SPL Exceptions. Base classes extend their SPL counterpart and all exception classes in the extension implement the MongoDB\Driver\Exception\Exception interface.

  • MongoDB\Driver\Exception\LogicException (extends LogicException)
  • MongoDB\Driver\Exception\InvalidArgumentException (extends InvalidArgumentException)
  • MongoDB\Driver\Exception\UnexpectedValueException (extends UnexpectedValueException)
  • MongoDB\Driver\Exception\RuntimeException (extends RuntimeException)
    • MongoDB\Driver\Exception\ConnectionException
      • MongoDB\Driver\Exception\AuthenticationException
      • MongoDB\Driver\Exception\ConnectionTimeoutException
      • MongoDB\Driver\Exception\SSLConnectionException (deprecated)
    • MongoDB\Driver\Exception\EncryptionException
    • MongoDB\Driver\Exception\ServerException
      • MongoDB\Driver\Exception\CommandException
      • MongoDB\Driver\Exception\ExecutionTimeoutException
      • MongoDB\Driver\Exception\WriteException
        • MongoDB\Driver\Exception\BulkWriteException


MySQL Drivers and Plugins

PHP offers several MySQL drivers and plugins for accessing and handling MySQL.

The differences and functionality of the MySQL extensions are described within the overview of this section.

  • Overview of the MySQL PHP drivers
    • Terminology overview
    • Choosing an API
    • Choosing a library
    • Concepts
  • MySQLi — Extensão MySQL Melhorada
    • Introdução
    • Overview
    • Quick start guide
    • Instalação/Configuração
    • The mysqli Extension and Persistent Connections
    • Constantes pré-definidas
    • Notes
    • The MySQLi Extension Function Summary
    • MySQLi — A classe MySQLi
    • MySQLi_STMT — A classe MySQLi_STMT
    • MySQLi_Result — A classe MySQLi_Result
    • mysqli_driver — The mysqli_driver class
    • mysqli_warning — The mysqli_warning class
    • mysqli_sql_exception — The mysqli_sql_exception class
    • Apelidos e Funções obsoletas da Mysqli
    • Changelog
  • Mysql_xdevapi
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Mysql_xdevapi Funções
    • mysql_xdevapi\BaseResult — BaseResult interface
    • mysql_xdevapi\Client — Client class
    • mysql_xdevapi\Collection — Collection class
    • mysql_xdevapi\CollectionAdd — CollectionAdd class
    • mysql_xdevapi\CollectionFind — CollectionFind class
    • mysql_xdevapi\CollectionModify — CollectionModify class
    • mysql_xdevapi\CollectionRemove — CollectionRemove class
    • mysql_xdevapi\ColumnResult — ColumnResult class
    • mysql_xdevapi\CrudOperationBindable — CrudOperationBindable interface
    • mysql_xdevapi\CrudOperationLimitable — CrudOperationLimitable interface
    • mysql_xdevapi\CrudOperationSkippable — CrudOperationSkippable interface
    • mysql_xdevapi\CrudOperationSortable — CrudOperationSortable interface
    • mysql_xdevapi\DatabaseObject — DatabaseObject interface
    • mysql_xdevapi\DocResult — DocResult class
    • mysql_xdevapi\Exception — Exception class
    • mysql_xdevapi\Executable — Executable interface
    • mysql_xdevapi\ExecutionStatus — ExecutionStatus class
    • mysql_xdevapi\Expression — Expression class
    • mysql_xdevapi\Result — Result class
    • mysql_xdevapi\RowResult — RowResult class
    • mysql_xdevapi\Schema — Schema class
    • mysql_xdevapi\SchemaObject — SchemaObject interface
    • mysql_xdevapi\Session — Session class
    • mysql_xdevapi\SqlStatement — SqlStatement class
    • mysql_xdevapi\SqlStatementResult — SqlStatementResult class
    • mysql_xdevapi\Statement — Statement class
    • mysql_xdevapi\Table — Table class
    • mysql_xdevapi\TableDelete — TableDelete class
    • mysql_xdevapi\TableInsert — TableInsert class
    • mysql_xdevapi\TableSelect — TableSelect class
    • mysql_xdevapi\TableUpdate — TableUpdate class
    • mysql_xdevapi\Warning — Warning class
  • MySQL
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções da MySQL
  • Mysqlnd — MySQL Native Driver
    • Introdução
    • Overview
    • Installation
    • Configurações em Execução
    • Incompatibilities
    • Persistent Connections
    • Statistics
    • Notes
    • Memory management
    • MySQL Native Driver Plugin API
  • mysqlnd_ms — Mysqlnd replication and load balancing plugin
    • Introdução
    • Quickstart and Examples
    • Concepts
    • Instalação/Configuração
    • Constantes pré-definidas
    • Mysqlnd_ms Funções
    • Change History
  • mysqlnd_qc — Mysqlnd query result cache plugin
    • Introdução
    • Quickstart and Examples
    • Instalação/Configuração
    • Constantes pré-definidas
    • mysqlnd_qc Funções
    • Change History
  • mysqlnd_uh — Mysqlnd user handler plugin
    • Introdução
    • Quickstart and Examples
    • Instalação/Configuração
    • Constantes pré-definidas
    • MysqlndUhConnection — The MysqlndUhConnection class
    • MysqlndUhPreparedStatement — The MysqlndUhPreparedStatement class
    • Mysqlnd_uh Funções
    • Change History
  • mysqlnd_mux — Mysqlnd connection multiplexing plugin
    • Introdução
    • Concepts
    • Instalação/Configuração
    • Constantes pré-definidas
    • Change History
  • mysqlnd_memcache — Mysqlnd Memcache plugin
    • Introdução
    • Quickstart and Examples
    • Instalação/Configuração
    • Constantes pré-definidas
    • Mysqlnd_memcache Funções
    • Change History


Overview of the MySQL PHP drivers

Introduction

There are several PHP APIs for accessing the MySQL database. Users can choose between the mysqli or PDO_MySQL extensions.

This guide explains the terminology used to describe each API, information about choosing which API to use, and also information to help choose which MySQL library to use with the API.

  • Terminology overview
  • Choosing an API
  • Choosing a library
  • Concepts
    • Buffered and Unbuffered queries
    • Character sets


Terminology overview

This section provides an introduction to the options available to you when developing a PHP application that needs to interact with a MySQL database.

What is an API?

An Application Programming Interface, or API, defines the classes, methods, functions and variables that your application will need to call in order to carry out its desired task. In the case of PHP applications that need to communicate with databases the necessary APIs are usually exposed via PHP extensions.

APIs can be procedural or object-oriented. With a procedural API you call functions to carry out tasks, with the object-oriented API you instantiate classes and then call methods on the resulting objects. Of the two, the latter is usually the preferred interface, as it is more modern and leads to better organized code.

When writing PHP applications that need to connect to the MySQL server there are several API options available. This document discusses what is available and how to select the best solution for your application.

What is a Connector?

In the MySQL documentation, the term connector refers to a piece of software that allows your application to connect to the MySQL database server. MySQL provides connectors for a variety of languages, including PHP.

If your PHP application needs to communicate with a database server you will need to write PHP code to perform such activities as connecting to the database server, querying the database and other database-related functions. Software is required to provide the API that your PHP application will use, and also handle the communication between your application and the database server, possibly using other intermediate libraries where necessary. This software is known generically as a connector, as it allows your application to connect to a database server.

What is a Driver?

A driver is a piece of software designed to communicate with a specific type of database server. The driver may also call a library, such as the MySQL Client Library or the MySQL Native Driver. These libraries implement the low-level protocol used to communicate with the MySQL database server.

By way of an example, the PHP Data Objects (PDO) database abstraction layer may use one of several database-specific drivers. One of the drivers it has available is the PDO MYSQL driver, which allows it to interface with the MySQL server.

Sometimes people use the terms connector and driver interchangeably, this can be confusing. In the MySQL-related documentation the term driver is reserved for software that provides the database-specific part of a connector package.

What is an Extension?

In the PHP documentation, you will come across another term - extension. The PHP code consists of a core, with optional extensions to the core functionality. PHP's MySQL-related extension, mysqli, is implemented using the PHP extension framework.

An extension typically exposes an API to the PHP programmer, to allow its facilities to be used programmatically. However, some extensions which use the PHP extension framework do not expose an API to the PHP programmer.

The PDO MySQL driver extension, for example, does not expose an API to the PHP programmer, but provides an interface to the PDO layer above it.

The terms API and extension should not be taken to mean the same thing, as an extension may not necessarily expose an API to the programmer.


Choosing an API

PHP offers different APIs to connect to MySQL. Below we show the APIs provided by the mysqli and PDO extensions. Each code snippet creates a connection to a MySQL server running on "example.com" using the username "user" and the password "password". And a query is run to greet the user.

Exemplo #1 Comparing the MySQL APIs

<?php
// mysqli
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $result->fetch_assoc();
echo htmlentities($row['_message']);

// PDO
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
$statement = $pdo->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['_message']);

Feature comparison

The overall performance of both extensions is considered to be about the same. Although the performance of the extension contributes only a fraction of the total run time of a PHP web request. Often, the impact is as low as 0.1%.

 | ext/mysqli | PDO_MySQL
PHP version introduced | 5.0 | 5.1
Included with PHP 7.x and 8.x | Yes | Yes
Development status | Active | Active
Lifecycle | Active | Active
Recommended for new projects | Yes | Yes
OOP Interface | Yes | Yes
Procedural Interface | Yes | No
API supports non-blocking, asynchronous queries with mysqlnd | Yes | No
Persistent Connections | Yes | Yes
API supports Charsets | Yes | Yes
API supports server-side Prepared Statements | Yes | Yes
API supports client-side Prepared Statements | No | Yes
API supports Stored Procedures | Yes | Yes
API supports Multiple Statements | Yes | Most
API supports Transactions | Yes | Yes
Transactions can be controlled with SQL | Yes | Yes
Supports all MySQL 5.1+ functionality | Yes | Most


Choosing a library

The mysqli and PDO_MySQL PHP extensions are lightweight wrappers on top of a C client library. The extensions can either use the mysqlnd library or the libmysqlclient library. Choosing a library is a compile time decision.

The mysqlnd library is part of the PHP distribution. It offers features like lazy connections and query caching, features that are not available with libmysqlclient, so using the built-in mysqlnd library is highly recommended. See the mysqlnd documentation for additional details, and a listing of features and functionality that it offers.

Exemplo #1 Configure commands for using mysqlnd or libmysqlclient

// Recommended, compiles with mysqlnd
$ ./configure --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd

// Alternatively recommended, compiles with mysqlnd
$ ./configure --with-mysqli --with-pdo-mysql

// Not recommended, compiles with libmysqlclient
$ ./configure --with-mysqli=/path/to/mysql_config --with-pdo-mysql=/path/to/mysql_config

Library feature comparison

It is recommended to use the mysqlnd library instead of the MySQL Client Server library (libmysqlclient). Both libraries are supported and constantly being improved.

 | MySQL native driver (mysqlnd) | MySQL client server library (libmysqlclient)
Part of the PHP distribution | Yes | No
PHP version introduced | 5.3.0 | N/A
License | PHP License 3.01 | Dual-License
Development status | Active | Active
Lifecycle | No end announced | No end announced
Compile default (for all MySQL extensions) | Yes | No
Compression protocol support | Yes | Yes
SSL support | Yes | Yes
Named pipe support | Yes | Yes
Non-blocking, asynchronous queries | Yes | No
Performance statistics | Yes | No
LOAD LOCAL INFILE respects the open_basedir directive | Yes | No
Uses PHP's native memory management system (e.g., follows PHP memory limits) | Yes | No
Return numeric column as double (COM_QUERY) | Yes | No
Return numeric column as string (COM_QUERY) | Yes | Yes
Plugin API | Yes | Limited
Read/Write splitting for MySQL Replication | Yes, with plugin | No
Load Balancing | Yes, with plugin | No
Fail over | Yes, with plugin | No
Lazy connections | Yes, with plugin | No
Query caching | Yes, with plugin | No
Transparent query manipulations (E.g., auto-EXPLAIN or monitoring) | Yes, with plugin | No
Automatic reconnect | No | Optional


  • « Choosing a library
  • Buffered and Unbuffered queries »
  • PHP Manual
  • Overview of the MySQL PHP drivers
  • Concepts

Concepts

Índice

  • Buffered and Unbuffered queries
  • Character sets

These concepts are specific to the MySQL drivers for PHP.


Buffered and Unbuffered queries

Queries are using the buffered mode by default. This means that query results are immediately transferred from the MySQL Server to PHP and then are kept in the memory of the PHP process. This allows additional operations like counting the number of rows, and moving (seeking) the current result pointer. It also allows issuing further queries on the same connection while working on the result set. The downside of the buffered mode is that larger result sets might require quite a lot memory. The memory will be kept occupied till all references to the result set are unset or the result set was explicitly freed, which will automatically happen during request end the latest. The terminology "store result" is also used for buffered mode, as the whole result set is stored at once.

Nota:

When using libmysqlclient as library PHP's memory limit won't count the memory used for result sets unless the data is fetched into PHP variables. With mysqlnd the memory accounted for will include the full result set.

Unbuffered MySQL queries execute the query and then return a resource while the data is still waiting on the MySQL server for being fetched. This uses less memory on the PHP-side, but can increase the load on the server. Unless the full result set was fetched from the server no further queries can be sent over the same connection. Unbuffered queries can also be referred to as "use result".

Following these characteristics buffered queries should be used in cases where you expect only a limited result set or need to know the amount of returned rows before reading all rows. Unbuffered mode should be used when you expect larger results.

Because buffered queries are the default, the examples below will demonstrate how to execute unbuffered queries with each API.

Exemplo #1 Unbuffered query example: mysqli

<?php
$mysqli  = new mysqli("localhost", "my_user", "my_password", "world");
$uresult = $mysqli->query("SELECT Name FROM City", MYSQLI_USE_RESULT);

if ($uresult) {
   while ($row = $uresult->fetch_assoc()) {
       echo $row['Name'] . PHP_EOL;
   }
}
?>

Exemplo #2 Unbuffered query example: pdo_mysql

<?php
$pdo = new PDO("mysql:host=localhost;dbname=world", 'my_user', 'my_pass');
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

$uresult = $pdo->query("SELECT Name FROM City");
if ($uresult) {
   while ($row = $uresult->fetch(PDO::FETCH_ASSOC)) {
       echo $row['Name'] . PHP_EOL;
   }
}
?>


Character sets

Ideally a proper character set will be set at the server level, and doing this is described within the » Character Set Configuration section of the MySQL Server manual. Alternatively, each MySQL API offers a method to set the character set at runtime.

Cuidado

The character set and character escaping

The character set should be understood and defined, as it has an affect on every action, and includes security implications. For example, the escaping mechanism (e.g., mysqli_real_escape_string() for mysqli and PDO::quote() for PDO_MySQL) will adhere to this setting. It is important to realize that these functions will not use the character set that is defined with a query, so for example the following will not have an effect on them:

Exemplo #1 Problems with setting the character set with SQL

<?php

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

// Will NOT affect $mysqli->real_escape_string();
$mysqli->query("SET NAMES utf8mb4");

// Will NOT affect $mysqli->real_escape_string();
$mysqli->query("SET CHARACTER SET utf8mb4");

// But, this will affect $mysqli->real_escape_string();
$mysqli->set_charset('utf8mb4');

// But, this will NOT affect it (UTF-8 vs utf8mb4) -- don't use dashes here
$mysqli->set_charset('UTF-8');
?>

Below are examples that demonstrate how to properly alter the character set at runtime using each API.

Nota: Possible UTF-8 confusion

Because character set names in MySQL do not contain dashes, the string "utf8" is valid in MySQL to set the character set to UTF-8 (up to 3 byte UTF-8 Unicode Encoding). The string "UTF-8" is not valid, as using "UTF-8" will fail to change the character set and will throw an error.

Exemplo #2 Setting the character set example: mysqli

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

echo 'Initial character set: ' . $mysqli->character_set_name() . "\n";

if (!$mysqli->set_charset('utf8mb4')) {
    printf("Error loading character set utf8mb4: %s\n", $mysqli->error);
    exit;
}

echo 'Your current character set is: ' . $mysqli->character_set_name() . "\n";
?>

Exemplo #3 Setting the character set example: pdo_mysql

<?php
$pdo = new PDO("mysql:host=localhost;dbname=world;charset=utf8mb4", 'my_user', 'my_pass');
?>


Extensão MySQL Melhorada

  • Introdução
  • Overview
  • Quick start guide
    • Dual procedural and object-oriented interface
    • Connections
    • Executing statements
    • Prepared Statements
    • Stored Procedures
    • Multiple Statements
    • API support for transactions
    • Metadata
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • The mysqli Extension and Persistent Connections
  • Constantes pré-definidas
  • Notes
  • The MySQLi Extension Function Summary
  • MySQLi — A classe MySQLi
    • mysqli->affected_rows — Retorna o número de linhas afetadas pela operação MySQL anterior
    • mysqli::autocommit — Ativa ou desativa o salvar automaticamente as modificações no banco de dados
    • mysqli::begin_transaction — Starts a transaction
    • mysqli::change_user — Modifica o usuário para a conexão com o banco de dados especificada
    • mysqli::character_set_name — Retorna o conjunto de caracteres padrão para a conexão com o banco de dados
    • mysqli_close — Fecha uma conexão aberta anteriormente com o banco de dados
    • mysqli::commit — Salva a transação atual
    • mysqli_connect_errno — Retorna o código de erro da ultima chamada a função connect
    • mysqli_connect_error — Retorna uma string descrevendo o ultimo erro da função connect
    • mysqli::__construct — Open a new connection to the MySQL server
    • mysqli_debug — Realiza operações de debug
    • mysqli::dump_debug_info — Descarrega informação de debug no log
    • mysqli->errno — Retorna o código de erro para a chamada de função mais recente
    • mysqli::$error_list — Returns a list of errors from the last command executed
    • mysqli->error — Retorna uma string descrevendo o ultimo erro
    • mysqli_field_count — Retorna o número de colunas para a consulta mais recente
    • mysqli::get_charset — Returns a character set object
    • mysqli::get_client_info — Retorna a versão do cliente MySQL como uma string
    • mysqli::get_client_version — Obtém informação sobre o cliente MySQL
    • mysqli::get_connection_stats — Returns statistics about the client connection
    • mysqli_get_host_info — Retorna uma string representando o tipo da conexão usada
    • mysqli->protocol_version — Retorna a versão do protocolo MySQL usada
    • mysqli->server_info — Retorna a versão do servidor MySQL
    • mysqli->server_version — Retorna a versão do servidor MySQL como um integer
    • mysqli::get_warnings — Get result of SHOW WARNINGS
    • mysqli_info — Recupera informação sobre a mais recente query executada
    • mysqli_init — Inicializa a MySQLi e retorna um resource para usar com mysqli_real_connect()
    • mysqli_insert_id — Retorna o id gerado automaticamente na última consulta
    • mysqli::kill — Solicita ao servidor o encerramento de um thread do MySQL
    • mysqli::more_results — Verifica se há mais algum resultado de uma multi query
    • mysqli::multi_query — Performs a query on the database
    • mysqli::next_result — Prepara o próximo resultado de multi_query
    • mysqli::options — Set options
    • mysqli::ping — Pings a server connection, or tries to reconnect if the connection has gone down
    • mysqli::poll — Poll connections
    • mysqli::prepare — Prepare an SQL statement for execution
    • mysqli::query — Performs a query on the database
    • mysqli::real_connect — Opens a connection to a mysql server
    • mysqli::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • mysqli::real_query — Execute an SQL query
    • mysqli::reap_async_query — Get result from async query
    • mysqli::refresh — Refreshes
    • mysqli::release_savepoint — Removes the named savepoint from the set of savepoints of the current transaction
    • mysqli::rollback — Rolls back current transaction
    • mysqli::savepoint — Set a named transaction savepoint
    • mysqli::select_db — Selects the default database for database queries
    • mysqli::set_charset — Sets the default client character set
    • mysqli::$sqlstate — Returns the SQLSTATE error from previous MySQL operation
    • mysqli::ssl_set — Used for establishing secure connections using SSL
    • mysqli::stat — Gets the current system status
    • mysqli::stmt_init — Initializes a statement and returns an object for use with mysqli_stmt_prepare
    • mysqli::store_result — Transfers a result set from the last query
    • mysqli::$thread_id — Returns the thread ID for the current connection
    • mysqli::thread_safe — Returns whether thread safety is given or not
    • mysqli::use_result — Initiate a result set retrieval
    • mysqli::$warning_count — Returns the number of warnings from the last query for the given link
  • MySQLi_STMT — A classe MySQLi_STMT
    • mysqli_stmt::$affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement
    • mysqli_stmt::attr_get — Used to get the current value of a statement attribute
    • mysqli_stmt::attr_set — Used to modify the behavior of a prepared statement
    • mysqli_stmt::bind_param — Passa variáveis para um preparado comando como parâmetros
    • mysqli_stmt::bind_result — Passa variáveis para um preparado comando por resultado armazenado
    • mysqli_stmt::close — Closes a prepared statement
    • mysqli_stmt::__construct — Constructs a new mysqli_stmt object
    • mysqli_stmt::data_seek — Seeks to an arbitrary row in statement result set
    • mysqli_stmt::$errno — Returns the error code for the most recent statement call
    • mysqli_stmt::$error_list — Returns a list of errors from the last statement executed
    • mysqli_stmt::$error — Returns a string description for last statement error
    • mysqli_stmt->execute — Executa uma preparada query
    • mysqli_stmt::fetch — Obtém resultados de um preparado comando e os coloca nas determinadas variáveis
    • mysqli_stmt::$field_count — Returns the number of columns in the given statement
    • mysqli_free_result — Libera a memória associada ao resultado
    • mysqli_stmt::get_result — Gets a result set from a prepared statement
    • mysqli_stmt::get_warnings — Get result of SHOW WARNINGS
    • mysqli_stmt::$insert_id — Get the ID generated from the previous INSERT operation
    • mysqli_stmt::more_results — Check if there are more query results from a multiple query
    • mysqli_stmt::next_result — Reads the next result from a multiple query
    • mysqli_stmt::$num_rows — Return the number of rows in statements result set
    • mysqli_stmt::$param_count — Returns the number of parameters for the given statement
    • mysqli_stmt::prepare — Prepara uma declaração SQL para execução
    • mysqli_stmt::reset — Resets a prepared statement
    • mysqli_stmt::result_metadata — Returns result set metadata from a prepared statement
    • mysqli_stmt::send_long_data — Send data in blocks
    • mysqli_stmt::$sqlstate — Returns SQLSTATE error from previous statement operation
    • mysqli_stmt::store_result — Transfers a result set from a prepared statement
  • MySQLi_Result — A classe MySQLi_Result
    • mysqli_result::$current_field — Get current field offset of a result pointer
    • mysqli_result::data_seek — Ajusta o ponteiro do resultado para uma linha arbritaria no conjunto de resutados
    • mysqli_result::fetch_all — Fetches all result rows as an associative array, a numeric array, or both
    • mysqli_fetch_array — Obtem uma linha do resultado como uma matriz associativa, numérica, ou ambas
    • mysqli_result::fetch_assoc — Obtem uma linha do conjunto de resultados como uma matriz associativa
    • mysqli_fetch_field_direct — Obtem meta dados para um único campo
    • mysqli_result::fetch_field — Retorna o próximo campo no conjunto de resultados
    • mysqli_result::fetch_fields — Retorna uma matriz de objetos representando os campos em um conjunto de resultados
    • mysqli_fetch_object — Retorna a linha atual do conjunto de resultados como um objeto
    • mysqli_result::fetch_row — Obtém uma linha do resultado como uma matriz numerada
    • mysqli_result::$field_count — Get the number of fields in a result
    • mysqli_field_seek — Move o ponteiro do resultado para um campo especificado
    • mysqli_result::free — Frees the memory associated with a result
    • mysqli_result::$lengths — Returns the lengths of the columns of the current row in the result set
    • mysqli_result::$num_rows — Gets the number of rows in a result
  • mysqli_driver — The mysqli_driver class
    • mysqli_driver::embedded_server_end — Stop embedded server
    • mysqli_driver::embedded_server_start — Initialize and start embedded server
    • mysqli_driver::$report_mode — Sets mysqli error reporting mode
  • mysqli_warning — The mysqli_warning class
    • mysqli_warning::next — Fetch next warning
  • mysqli_sql_exception — The mysqli_sql_exception class
  • Apelidos e Funções obsoletas da Mysqli
    • mysqli_connect — Sinônimo de mysqli::__construct
    • mysqli_escape_string — Apelido para mysqli_real_escape_string
    • mysqli_execute — Apelido para mysqli_stmt_execute
    • mysqli_get_client_stats — Returns client per-process statistics
    • mysqli_get_links_stats — Return information about open and cached links
    • mysqli_report — Sinônimo de mysqli_driver->report_mode
    • mysqli::set_opt — Alias of mysqli_options
  • Changelog


Introdução

A extensão mysqli permite a você acessar a funcionalidade provida pelo MySQL 4.1 e posterior. Maiores informações sobre o servidor de banco de dados MySQL podem ser encontradas em » http://www.mysql.com/

Uma visão geral de software disponível para usar MySQL através do PHP pode ser encontrada em Overview

Documentação para o MySQL pode ser encontrada em » http://dev.mysql.com/doc/.

Partes desta documentação foram incluídas do manual do MySQL com a permissão de Oracle Corporation.

Os exemplos usam tanto o banco de dados » world quanto o banco de dados » sakila, que estão disponíveis livremente.


Overview

This section provides an introduction to the options available to you when developing a PHP application that needs to interact with a MySQL database.

What is an API?

An Application Programming Interface, or API, defines the classes, methods, functions and variables that your application will need to call in order to carry out its desired task. In the case of PHP applications that need to communicate with databases the necessary APIs are usually exposed via PHP extensions.

APIs can be procedural or object-oriented. With a procedural API, you call functions to carry out tasks, with the object-oriented API you instantiate classes and then call methods on the resulting objects. Of the two, the latter is usually the preferred interface, as it is more modern and leads to better-organized code.

When writing PHP applications that need to connect to the MySQL server there are several API options available. This document discusses what is available and how to select the best solution for your application.

What is a Connector?

In the MySQL documentation, the term connector refers to a piece of software that allows your application to connect to the MySQL database server. MySQL provides connectors for a variety of languages, including PHP.

If your PHP application needs to communicate with a database server you will need to write PHP code to perform such activities as connecting to the database server, querying the database, and other database-related functions. Software is required to provide the API that your PHP application will use, and also handle the communication between your application and the database server, possibly using other intermediate libraries where necessary. This software is known generically as a connector, as it allows your application to connect to a database server.

What is a Driver?

A driver is a piece of software designed to communicate with a specific type of database server. The driver may also call a library, such as the MySQL Client Library or the MySQL Native Driver. These libraries implement the low-level protocol used to communicate with the MySQL database server.

By way of an example, the PHP Data Objects (PDO) database abstraction layer may use one of several database-specific drivers. One of the drivers it has available is the PDO MYSQL driver, which allows it to interface with the MySQL server.

Sometimes people use the terms connector and driver interchangeably, this can be confusing. In the MySQL-related documentation the term driver is reserved for software that provides the database-specific part of a connector package.

What is an Extension?

In the PHP documentation you will come across another term - extension. The PHP code consists of a core, with optional extensions to the core functionality. PHP's MySQL-related extensions, such as the mysqli extension, and the PDO MySQL driver extension, are implemented using the PHP extension framework.

An extension typically exposes an API to the PHP programmer, to allow its facilities to be used programmatically. However, some extensions which use the PHP extension framework do not expose an API to the PHP programmer.

The PDO MySQL driver extension, for example, does not expose an API to the PHP programmer, but provides an interface to the PDO layer above it.

The terms API and extension should not be taken to mean the same thing, as an extension may not necessarily expose an API to the programmer.

What are the main PHP API offerings for using MySQL?

There are two main API options when considering connecting to a MySQL database server:

  • PHP's mysqli Extension

  • PHP Data Objects (PDO)

Each has its own advantages and disadvantages. The following discussion aims to give a brief introduction to the key aspects of each API.

What is PHP's mysqli Extension?

The mysqli extension, or as it is sometimes known, the MySQL improved extension, was developed to take advantage of new features found in MySQL systems versions 4.1.3 and newer. The mysqli extension is included with PHP versions 5 and later.

The mysqli extension has a number of benefits, the key enhancements over the mysql extension being:

  • Object-oriented interface

  • Support for Prepared Statements

  • Support for Multiple Statements

  • Support for Transactions

  • Enhanced debugging capabilities

As well as the object-oriented interface the extension also provides a procedural interface.

The mysqli extension is built using the PHP extension framework, its source code is located in the directory ext/mysqli.

For further information on the mysqli extension, see MySQLi.

What is PDO?

PHP Data Objects, or PDO, is a database abstraction layer specifically for PHP applications. PDO provides a consistent API for your PHP application regardless of the type of database server your application will connect to. In theory, if you are using the PDO API, you could switch the database server you used, from say Firebird to MySQL, and only need to make minor changes to your PHP code.

Other examples of database abstraction layers include JDBC for Java applications and DBI for Perl.

While PDO has its advantages, such as a clean, simple, portable API, its main disadvantage is that it doesn't allow you to use all of the advanced features that are available in the latest versions of MySQL server. For example, PDO does not allow you to use MySQL's support for Multiple Statements.

PDO is implemented using the PHP extension framework, its source code is located in the directory ext/pdo.

For further information on PDO, see the PDO.

What is the PDO MYSQL driver?

The PDO MYSQL driver is not an API as such, at least from the PHP programmer's perspective. In fact, the PDO MYSQL driver sits in the layer below PDO itself and provides MySQL-specific functionality. The programmer still calls the PDO API, but PDO uses the PDO MYSQL driver to carry out communication with the MySQL server.

The PDO MYSQL driver is one of several available PDO drivers. Other PDO drivers available include those for the Firebird and PostgreSQL database servers.

The PDO MYSQL driver is implemented using the PHP extension framework. Its source code is located in the directory ext/pdo_mysql. It does not expose an API to the PHP programmer.

For further information on the PDO MYSQL driver, see MySQL (PDO).

What is PHP's MySQL Native Driver?

In order to communicate with the MySQL database server, mysqli and the PDO MYSQL driver each use a low-level library that implements the required protocol. In the past, the only available library was the MySQL Client Library, otherwise known as libmysqlclient.

However, the interface presented by libmysqlclient was not optimized for communication with PHP applications, as libmysqlclient was originally designed with C applications in mind. For this reason, the MySQL Native Driver, mysqlnd, was developed as an alternative to libmysqlclient for PHP applications.

Both, the mysqli extension and the PDO MySQL driver can each be individually configured to use either libmysqlclient or mysqlnd. As mysqlnd is designed specifically to be utilised in the PHP system it has numerous memory and speed enhancements over libmysqlclient. You are strongly encouraged to take advantage of these improvements.

The MySQL Native Driver is implemented using the PHP extension framework. The source code is located in ext/mysqlnd. It does not expose an API to the PHP programmer.

Comparison of Features

The following table compares the functionality of the main methods of connecting to MySQL from PHP:

Comparison of MySQL API options for PHP
 | PHP's mysqli Extension | PDO (Using PDO MySQL Driver and MySQL Native Driver)
PHP version introduced | 5.0 | 5.0
MySQL development status | Active development | Active development
API supports Charsets | Yes | Yes
API supports server-side Prepared Statements | Yes | Yes
API supports client-side Prepared Statements | No | Yes
API supports Stored Procedures | Yes | Yes
API supports Multiple Statements | Yes | Most
Supports all MySQL 4.1+ functionality | Yes | Most


Quick start guide

Índice

  • Dual procedural and object-oriented interface
  • Connections
  • Executing statements
  • Prepared Statements
  • Stored Procedures
  • Multiple Statements
  • API support for transactions
  • Metadata

This quick start guide will help with choosing and gaining familiarity with the PHP MySQL API.

This quick start gives an overview on the mysqli extension. Code examples are provided for all major aspects of the API. Database concepts are explained to the degree needed for presenting concepts specific to MySQL.

Required: A familiarity with the PHP programming language, the SQL language, and basic knowledge of the MySQL server.


Dual procedural and object-oriented interface

The mysqli extension features a dual interface. It supports the procedural and object-oriented programming paradigm.

Users migrating from the old mysql extension may prefer the procedural interface. The procedural interface is similar to that of the old mysql extension. In many cases, the function names differ only by prefix. Some mysqli functions take a connection handle as their first argument, whereas matching functions in the old mysql interface take it as an optional last argument.

Exemplo #1 Easy migration from the old mysql extension

<?php
$mysqli = mysqli_connect("example.com", "user", "password", "database");
$res = mysqli_query($mysqli, "SELECT 'Please, do not use ' AS _msg FROM DUAL");
$row = mysqli_fetch_assoc($res);
echo $row['_msg'];

$mysql = mysql_connect("example.com", "user", "password");
mysql_select_db("test");
$res = mysql_query("SELECT 'the mysql extension for new developments.' AS _msg FROM DUAL", $mysql);
$row = mysql_fetch_assoc($res);
echo $row['_msg'];
?>

O exemplo acima irá imprimir:

Please, do not use the mysql extension for new developments.

The object-oriented interface

In addition to the classical procedural interface, users can choose to use the object-oriented interface. The documentation is organized using the object-oriented interface. The object-oriented interface shows functions grouped by their purpose, making it easier to get started. The reference section gives examples for both syntax variants.

There are no significant performance differences between the two interfaces. Users can base their choice on personal preference.

Exemplo #2 Object-oriented and procedural interface

<?php
$mysqli = mysqli_connect("example.com", "user", "password", "database");
if (mysqli_connect_errno($mysqli)) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$res = mysqli_query($mysqli, "SELECT 'A world full of ' AS _msg FROM DUAL");
$row = mysqli_fetch_assoc($res);
echo $row['_msg'];

$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: " . $mysqli->connect_error;
}

$res = $mysqli->query("SELECT 'choices to please everybody.' AS _msg FROM DUAL");
$row = $res->fetch_assoc();
echo $row['_msg'];
?>

O exemplo acima irá imprimir:

A world full of choices to please everybody.

The object oriented interface is used for the quickstart because the reference section is organized that way.

Mixing styles

It is possible to switch between styles at any time. Mixing both styles is not recommended for code clarity and coding style reasons.

Exemplo #3 Bad coding style

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: " . $mysqli->connect_error;
}

$res = mysqli_query($mysqli, "SELECT 'Possible but bad style.' AS _msg FROM DUAL");
if (!$res) {
    echo "Failed to run query: (" . $mysqli->errno . ") " . $mysqli->error;
}

if ($row = $res->fetch_assoc()) {
    echo $row['_msg'];
}
?>

O exemplo acima irá imprimir:

Possible but bad style.

See also

  • mysqli::__construct()
  • mysqli::query()
  • mysqli_result::fetch_assoc()
  • $mysqli::connect_errno
  • $mysqli::connect_error
  • $mysqli::errno
  • $mysqli::error
  • The MySQLi Extension Function Summary


Connections

The MySQL server supports the use of different transport layers for connections. Connections use TCP/IP, Unix domain sockets or Windows named pipes.

The hostname localhost has a special meaning. It is bound to the use of Unix domain sockets. It is not possible to open a TCP/IP connection using the hostname localhost you must use 127.0.0.1 instead.

Exemplo #1 Special meaning of localhost

<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
echo $mysqli->host_info . "\n";

$mysqli = new mysqli("127.0.0.1", "user", "password", "database", 3306);
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

echo $mysqli->host_info . "\n";
?>

O exemplo acima irá imprimir:

Localhost via UNIX socket
127.0.0.1 via TCP/IP

Connection parameter defaults

Depending on the connection function used, assorted parameters can be omitted. If a parameter is not provided, then the extension attempts to use the default values that are set in the PHP configuration file.

Exemplo #2 Setting defaults

mysqli.default_host=192.168.2.27
mysqli.default_user=root
mysqli.default_pw=""
mysqli.default_port=3306
mysqli.default_socket=/tmp/mysql.sock

The resulting parameter values are then passed to the client library that is used by the extension. If the client library detects empty or unset parameters, then it may default to the library built-in values.

Built-in connection library defaults

If the host value is unset or empty, then the client library will default to a Unix socket connection on localhost. If socket is unset or empty, and a Unix socket connection is requested, then a connection to the default socket on /tmp/mysql.sock is attempted.

On Windows systems, the host name . is interpreted by the client library as an attempt to open a Windows named pipe based connection. In this case the socket parameter is interpreted as the pipe name. If not given or empty, then the socket (pipe name) defaults to \\.\pipe\MySQL.

If neither a Unix domain socket based not a Windows named pipe based connection is to be established and the port parameter value is unset, the library will default to port 3306.

The mysqlnd library and the MySQL Client Library (libmysqlclient) implement the same logic for determining defaults.

Connection options

Connection options are available to, for example, set init commands which are executed upon connect, or for requesting use of a certain charset. Connection options must be set before a network connection is established.

For setting a connection option, the connect operation has to be
performed in three steps: creating a connection handle with
mysqli_init(), setting the requested options using
mysqli_options(), and establishing the network
connection with mysqli_real_connect().

Connection pooling

The mysqli extension supports persistent database connections, which are a special kind of pooled connections. By default, every database connection opened by a script is either explicitly closed by the user during runtime or released automatically at the end of the script. A persistent connection is not. Instead it is put into a pool for later reuse, if a connection to the same server using the same username, password, socket, port and default database is opened. Reuse saves connection overhead.

Every PHP process is using its own mysqli connection pool. Depending on the web server deployment model, a PHP process may serve one or multiple requests. Therefore, a pooled connection may be used by one or more scripts subsequently.

Persistent connection

If a unused persistent connection for a given combination of host, username, password, socket, port and default database can not be found in the connection pool, then mysqli opens a new connection. The use of persistent connections can be enabled and disabled using the PHP directive mysqli.allow_persistent. The total number of connections opened by a script can be limited with mysqli.max_links. The maximum number of persistent connections per PHP process can be restricted with mysqli.max_persistent. Please note, that the web server may spawn many PHP processes.

A common complain about persistent connections is that their state is not reset before reuse. For example, open and unfinished transactions are not automatically rolled back. But also, authorization changes which happened in the time between putting the connection into the pool and reusing it are not reflected. This may be seen as an unwanted side-effect. On the contrary, the name persistent may be understood as a promise that the state is persisted.

The mysqli extension supports both interpretations of a persistent connection: state persisted, and state reset before reuse. The default is reset. Before a persistent connection is reused, the mysqli extension implicitly calls mysqli_change_user() to reset the state. The persistent connection appears to the user as if it was just opened. No artifacts from previous usages are visible.

The mysqli_change_user() function is an expensive operation. For best performance, users may want to recompile the extension with the compile flag MYSQLI_NO_CHANGE_USER_ON_PCONNECT being set.

It is left to the user to choose between safe behavior and best performance. Both are valid optimization goals. For ease of use, the safe behavior has been made the default at the expense of maximum performance.

See also

  • mysqli::__construct()
  • mysqli::init()
  • mysqli::options()
  • mysqli::real_connect()
  • mysqli::change_user()
  • $mysqli::host_info
  • MySQLi Configuration Options
  • Persistent Database Connections


Executing statements

Statements can be executed with the
mysqli_query(), mysqli_real_query()
and mysqli_multi_query() functions.
The mysqli_query() function is the most
common, and combines the executing statement with a
buffered fetch of its result set, if any, in one call.
Calling mysqli_query() is identical to
calling mysqli_real_query()
followed by mysqli_store_result().

Exemplo #1 Connecting to MySQL

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

Buffered result sets

After statement execution results can be retrieved at once to be buffered by the client or by read row by row. Client-side result set buffering allows the server to free resources associated with the statement results as early as possible. Generally speaking, clients are slow consuming result sets. Therefore, it is recommended to use buffered result sets. mysqli_query() combines statement execution and result set buffering.

PHP applications can navigate freely through buffered results. Navigation is fast because the result sets are held in client memory. Please, keep in mind that it is often easier to scale by client than it is to scale the server.

Exemplo #2 Navigation through buffered results

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$res = $mysqli->query("SELECT id FROM test ORDER BY id ASC");

echo "Reverse order...\n";
for ($row_no = $res->num_rows - 1; $row_no >= 0; $row_no--) {
    $res->data_seek($row_no);
    $row = $res->fetch_assoc();
    echo " id = " . $row['id'] . "\n";
}

echo "Result set order...\n";
$res->data_seek(0);
while ($row = $res->fetch_assoc()) {
    echo " id = " . $row['id'] . "\n";
}
?>

O exemplo acima irá imprimir:

Reverse order...
 id = 3
 id = 2
 id = 1
Result set order...
 id = 1
 id = 2
 id = 3

Unbuffered result sets

If client memory is a short resource and freeing server resources as early as possible to keep server load low is not needed, unbuffered results can be used. Scrolling through unbuffered results is not possible before all rows have been read.

Exemplo #3 Navigation through unbuffered results

<?php
$mysqli->real_query("SELECT id FROM test ORDER BY id ASC");
$res = $mysqli->use_result();

echo "Result set order...\n";
while ($row = $res->fetch_assoc()) {
    echo " id = " . $row['id'] . "\n";
}
?>

Result set values data types

The mysqli_query(), mysqli_real_query() and mysqli_multi_query() functions are used to execute non-prepared statements. At the level of the MySQL Client Server Protocol, the command COM_QUERY and the text protocol are used for statement execution. With the text protocol, the MySQL server converts all data of a result sets into strings before sending. This conversion is done regardless of the SQL result set column data type. The mysql client libraries receive all column values as strings. No further client-side casting is done to convert columns back to their native types. Instead, all values are provided as PHP strings.

Exemplo #4 Text protocol returns strings by default

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$res = $mysqli->query("SELECT id, label FROM test WHERE id = 1");
$row = $res->fetch_assoc();

printf("id = %s (%s)\n", $row['id'], gettype($row['id']));
printf("label = %s (%s)\n", $row['label'], gettype($row['label']));
?>

O exemplo acima irá imprimir:

id = 1 (string)
label = a (string)

It is possible to convert integer and float columns back to PHP numbers by setting the MYSQLI_OPT_INT_AND_FLOAT_NATIVE connection option, if using the mysqlnd library. If set, the mysqlnd library will check the result set meta data column types and convert numeric SQL columns to PHP numbers, if the PHP data type value range allows for it. This way, for example, SQL INT columns are returned as integers.

Exemplo #5 Native data types with mysqlnd and connection option

<?php
$mysqli = mysqli_init();
$mysqli->options(MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 1);
$mysqli->real_connect("example.com", "user", "password", "database");

if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$res = $mysqli->query("SELECT id, label FROM test WHERE id = 1");
$row = $res->fetch_assoc();

printf("id = %s (%s)\n", $row['id'], gettype($row['id']));
printf("label = %s (%s)\n", $row['label'], gettype($row['label']));
?>

O exemplo acima irá imprimir:

id = 1 (integer)
label = a (string)

See also

  • mysqli::__construct()
  • mysqli::init()
  • mysqli::options()
  • mysqli::real_connect()
  • mysqli::query()
  • mysqli::multi_query()
  • mysqli::use_result()
  • mysqli::store_result()
  • mysqli_result::free()


Prepared Statements

The MySQL database supports prepared statements. A prepared statement or a parameterized statement is used to execute the same statement repeatedly with high efficiency.

Basic workflow

The prepared statement execution consists of two stages: prepare and execute. At the prepare stage a statement template is sent to the database server. The server performs a syntax check and initializes server internal resources for later use.

The MySQL server supports using anonymous, positional placeholder with ?.

Exemplo #1 First stage: prepare

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

/* Non-prepared statement */
if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

/* Prepared statement, stage 1: prepare */
if (!($stmt = $mysqli->prepare("INSERT INTO test(id) VALUES (?)"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

Prepare is followed by execute. During execute the client binds parameter values and sends them to the server. The server creates a statement from the statement template and the bound values to execute it using the previously created internal resources.

Exemplo #2 Second stage: bind and execute

<?php
/* Prepared statement, stage 2: bind and execute */
$id = 1;
if (!$stmt->bind_param("i", $id)) {
    echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}

if (!$stmt->execute()) {
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}
?>

Repeated execution

A prepared statement can be executed repeatedly. Upon every execution the current value of the bound variable is evaluated and sent to the server. The statement is not parsed again. The statement template is not transferred to the server again.

Exemplo #3 INSERT prepared once, executed multiple times

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

/* Non-prepared statement */
if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

/* Prepared statement, stage 1: prepare */
if (!($stmt = $mysqli->prepare("INSERT INTO test(id) VALUES (?)"))) {
     echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

/* Prepared statement, stage 2: bind and execute */
$id = 1;
if (!$stmt->bind_param("i", $id)) {
    echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}

if (!$stmt->execute()) {
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}

/* Prepared statement: repeated execution, only data transferred from client to server */
for ($id = 2; $id < 5; $id++) {
    if (!$stmt->execute()) {
        echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
    }
}

/* explicit close recommended */
$stmt->close();

/* Non-prepared statement */
$res = $mysqli->query("SELECT id FROM test");
var_dump($res->fetch_all());
?>

O exemplo acima irá imprimir:

array(4) {
  [0]=>
  array(1) {
    [0]=>
    string(1) "1"
  }
  [1]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  [2]=>
  array(1) {
    [0]=>
    string(1) "3"
  }
  [3]=>
  array(1) {
    [0]=>
    string(1) "4"
  }
}

Every prepared statement occupies server resources. Statements should be closed explicitly immediately after use. If not done explicitly, the statement will be closed when the statement handle is freed by PHP.

Using a prepared statement is not always the most efficient way of executing a statement. A prepared statement executed only once causes more client-server round-trips than a non-prepared statement. This is why the SELECT is not run as a prepared statement above.

Also, consider the use of the MySQL multi-INSERT SQL syntax for INSERTs. For the example, multi-INSERT requires less round-trips between the server and client than the prepared statement shown above.

Exemplo #4 Less round trips using multi-INSERT SQL

<?php
if (!$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3), (4)")) {
    echo "Multi-INSERT failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

Result set values data types

The MySQL Client Server Protocol defines a different data transfer protocol for prepared statements and non-prepared statements. Prepared statements are using the so called binary protocol. The MySQL server sends result set data "as is" in binary format. Results are not serialized into strings before sending. The client libraries do not receive strings only. Instead, they will receive binary data and try to convert the values into appropriate PHP data types. For example, results from an SQL INT column will be provided as PHP integer variables.

Exemplo #5 Native datatypes

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$stmt = $mysqli->prepare("SELECT id, label FROM test WHERE id = 1");
$stmt->execute();
$res = $stmt->get_result();
$row = $res->fetch_assoc();

printf("id = %s (%s)\n", $row['id'], gettype($row['id']));
printf("label = %s (%s)\n", $row['label'], gettype($row['label']));
?>

O exemplo acima irá imprimir:

id = 1 (integer)
label = a (string)

This behavior differs from non-prepared statements. By default, non-prepared statements return all results as strings. This default can be changed using a connection option. If the connection option is used, there are no differences.

Fetching results using bound variables

Results from prepared statements can either be retrieved by binding output variables, or by requesting a mysqli_result object.

Output variables must be bound after statement execution. One variable must be bound for every column of the statements result set.

Exemplo #6 Output variable binding

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($stmt = $mysqli->prepare("SELECT id, label FROM test"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$stmt->execute()) {
    echo "Execute failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$out_id    = NULL;
$out_label = NULL;
if (!$stmt->bind_result($out_id, $out_label)) {
    echo "Binding output parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}

while ($stmt->fetch()) {
    printf("id = %s (%s), label = %s (%s)\n", $out_id, gettype($out_id), $out_label, gettype($out_label));
}
?>

O exemplo acima irá imprimir:

id = 1 (integer), label = a (string)

Prepared statements return unbuffered result sets by default. The results of the statement are not implicitly fetched and transferred from the server to the client for client-side buffering. The result set takes server resources until all results have been fetched by the client. Thus it is recommended to consume results timely. If a client fails to fetch all results or the client closes the statement before having fetched all data, the data has to be fetched implicitly by mysqli.

It is also possible to buffer the results of a prepared statement using mysqli_stmt_store_result().

Fetching results using mysqli_result interface

Instead of using bound results, results can also be retrieved through the mysqli_result interface. mysqli_stmt_get_result() returns a buffered result set.

Exemplo #7 Using mysqli_result to fetch results

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($stmt = $mysqli->prepare("SELECT id, label FROM test ORDER BY id ASC"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$stmt->execute()) {
     echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}

if (!($res = $stmt->get_result())) {
    echo "Getting result set failed: (" . $stmt->errno . ") " . $stmt->error;
}

var_dump($res->fetch_all());
?>

O exemplo acima irá imprimir:

array(1) {
  [0]=>
  array(2) {
    [0]=>
    int(1)
    [1]=>
    string(1) "a"
  }
}

Using the mysqli_result interface offers the additional benefit of flexible client-side result set navigation.

Exemplo #8 Buffered result set for flexible read out

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a'), (2, 'b'), (3, 'c')")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($stmt = $mysqli->prepare("SELECT id, label FROM test"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$stmt->execute()) {
     echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}

if (!($res = $stmt->get_result())) {
    echo "Getting result set failed: (" . $stmt->errno . ") " . $stmt->error;
}

for ($row_no = ($res->num_rows - 1); $row_no >= 0; $row_no--) {
    $res->data_seek($row_no);
    var_dump($res->fetch_assoc());
}
$res->close();
?>

O exemplo acima irá imprimir:

array(2) {
  ["id"]=>
  int(3)
  ["label"]=>
  string(1) "c"
}
array(2) {
  ["id"]=>
  int(2)
  ["label"]=>
  string(1) "b"
}
array(2) {
  ["id"]=>
  int(1)
  ["label"]=>
  string(1) "a"
}

Escaping and SQL injection

Bound variables are sent to the server separately from the query and thus cannot interfere with it. The server uses these values directly at the point of execution, after the statement template is parsed. Bound parameters do not need to be escaped as they are never substituted into the query string directly. A hint must be provided to the server for the type of bound variable, to create an appropriate conversion. See the mysqli_stmt_bind_param() function for more information.

Such a separation sometimes considered as the only security feature to prevent SQL injection, but the same degree of security can be achieved with non-prepared statements, if all the values are formatted correctly. It should be noted that correct formatting is not the same as escaping and involves more logic than simple escaping. Thus, prepared statements are simply a more convenient and less error-prone approach to this element of database security.

Client-side prepared statement emulation

The API does not include emulation for client-side prepared statement emulation.

Quick prepared - non-prepared statement comparison

The table below compares server-side prepared and non-prepared statements.

Comparison of prepared and non-prepared statements
 | Prepared Statement | Non-prepared statement
Client-server round trips, SELECT, single execution | 2 | 1
Statement string transferred from client to server | 1 | 1
Client-server round trips, SELECT, repeated (n) execution | 1 + n | n
Statement string transferred from client to server | 1 template, n times bound parameter, if any | n times together with parameter, if any
Input parameter binding API | Yes, automatic input escaping | No, manual input escaping
Output variable binding API | Yes | No
Supports use of mysqli_result API | Yes, use mysqli_stmt_get_result() | Yes
Buffered result sets | Yes, use mysqli_stmt_get_result() or binding with mysqli_stmt_store_result() | Yes, default of mysqli_query()
Unbuffered result sets | Yes, use output binding API | Yes, use mysqli_real_query() with mysqli_use_result()
MySQL Client Server protocol data transfer flavor | Binary protocol | Text protocol
Result set values SQL data types | Preserved when fetching | Converted to string or preserved when fetching
Supports all SQL statements | Recent MySQL versions support most but not all | Yes

See also

  • mysqli::__construct()
  • mysqli::query()
  • mysqli::prepare()
  • mysqli_stmt::prepare()
  • mysqli_stmt::execute()
  • mysqli_stmt::bind_param()
  • mysqli_stmt::bind_result()


Stored Procedures

The MySQL database supports stored procedures. A stored procedure is a subroutine stored in the database catalog. Applications can call and execute the stored procedure. The CALL SQL statement is used to execute a stored procedure.

Parameter

Stored procedures can have IN, INOUT and OUT parameters, depending on the MySQL version. The mysqli interface has no special notion for the different kinds of parameters.

IN parameter

Input parameters are provided with the CALL statement. Please, make sure values are escaped correctly.

Exemplo #1 Calling a stored procedure

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
    !$mysqli->query("CREATE PROCEDURE p(IN id_val INT) BEGIN INSERT INTO test(id) VALUES(id_val); END;")) {
    echo "Stored procedure creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("CALL p(1)")) {
    echo "CALL failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($res = $mysqli->query("SELECT id FROM test"))) {
    echo "SELECT failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

var_dump($res->fetch_assoc());
?>

O exemplo acima irá imprimir:

array(1) {
  ["id"]=>
  string(1) "1"
}

INOUT/OUT parameter

The values of INOUT/OUT parameters are accessed using session variables.

Exemplo #2 Using session variables

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
    !$mysqli->query('CREATE PROCEDURE p(OUT msg VARCHAR(50)) BEGIN SELECT "Hi!" INTO msg; END;')) {
    echo "Stored procedure creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("SET @msg = ''") || !$mysqli->query("CALL p(@msg)")) {
    echo "CALL failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($res = $mysqli->query("SELECT @msg as _p_out"))) {
    echo "Fetch failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$row = $res->fetch_assoc();
echo $row['_p_out'];
?>

O exemplo acima irá imprimir:

Hi!

Application and framework developers may be able to provide a more convenient API using a mix of session variables and databased catalog inspection. However, please note the possible performance impact of a custom solution based on catalog inspection.

Handling result sets

Stored procedures can return result sets. Result sets returned from a stored procedure cannot be fetched correctly using mysqli_query(). The mysqli_query() function combines statement execution and fetching the first result set into a buffered result set, if any. However, there are additional stored procedure result sets hidden from the user which cause mysqli_query() to fail returning the user expected result sets.

Result sets returned from a stored procedure are fetched using mysqli_real_query() or mysqli_multi_query(). Both functions allow fetching any number of result sets returned by a statement, such as CALL. Failing to fetch all result sets returned by a stored procedure causes an error.

Exemplo #3 Fetching results from stored procedures

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
    !$mysqli->query('CREATE PROCEDURE p() READS SQL DATA BEGIN SELECT id FROM test; SELECT id + 1 FROM test; END;')) {
    echo "Stored procedure creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->multi_query("CALL p()")) {
    echo "CALL failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

do {
    if ($res = $mysqli->store_result()) {
        printf("---\n");
        var_dump($res->fetch_all());
        $res->free();
    } else {
        if ($mysqli->errno) {
            echo "Store failed: (" . $mysqli->errno . ") " . $mysqli->error;
        }
    }
} while ($mysqli->more_results() && $mysqli->next_result());
?>

O exemplo acima irá imprimir:

---
array(3) {
  [0]=>
  array(1) {
    [0]=>
    string(1) "1"
  }
  [1]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  [2]=>
  array(1) {
    [0]=>
    string(1) "3"
  }
}
---
array(3) {
  [0]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  [1]=>
  array(1) {
    [0]=>
    string(1) "3"
  }
  [2]=>
  array(1) {
    [0]=>
    string(1) "4"
  }
}

Use of prepared statements

No special handling is required when using the prepared statement interface for fetching results from the same stored procedure as above. The prepared statement and non-prepared statement interfaces are similar. Please note, that not every MYSQL server version may support preparing the CALL SQL statement.

Exemplo #4 Stored Procedures and Prepared Statements

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
    !$mysqli->query('CREATE PROCEDURE p() READS SQL DATA BEGIN SELECT id FROM test; SELECT id + 1 FROM test; END;')) {
    echo "Stored procedure creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($stmt = $mysqli->prepare("CALL p()"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$stmt->execute()) {
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}

do {
    if ($res = $stmt->get_result()) {
        printf("---\n");
        var_dump(mysqli_fetch_all($res));
        mysqli_free_result($res);
    } else {
        if ($stmt->errno) {
            echo "Store failed: (" . $stmt->errno . ") " . $stmt->error;
        }
    }
} while ($stmt->more_results() && $stmt->next_result());
?>

Of course, use of the bind API for fetching is supported as well.

Exemplo #5 Stored Procedures and Prepared Statements using bind API

<?php
if (!($stmt = $mysqli->prepare("CALL p()"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$stmt->execute()) {
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}

do {

    $id_out = NULL;
    if (!$stmt->bind_result($id_out)) {
        echo "Bind failed: (" . $stmt->errno . ") " . $stmt->error;
    }

    while ($stmt->fetch()) {
        echo "id = $id_out\n";
    }
} while ($stmt->more_results() && $stmt->next_result());
?>

See also

  • mysqli::query()
  • mysqli::multi_query()
  • mysqli_result::next-result()
  • mysqli_result::more-results()


Multiple Statements

MySQL optionally allows having multiple statements in one statement string. Sending multiple statements at once reduces client-server round trips but requires special handling.

Multiple statements or multi queries must be executed with mysqli_multi_query(). The individual statements of the statement string are separated by semicolon. Then, all result sets returned by the executed statements must be fetched.

The MySQL server allows having statements that do return result sets and statements that do not return result sets in one multiple statement.

Exemplo #1 Multiple Statements

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$sql = "SELECT COUNT(*) AS _num FROM test; ";
$sql.= "INSERT INTO test(id) VALUES (1); ";
$sql.= "SELECT COUNT(*) AS _num FROM test; ";

if (!$mysqli->multi_query($sql)) {
    echo "Multi query failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

do {
    if ($res = $mysqli->store_result()) {
        var_dump($res->fetch_all(MYSQLI_ASSOC));
        $res->free();
    }
} while ($mysqli->more_results() && $mysqli->next_result());
?>

O exemplo acima irá imprimir:

array(1) {
  [0]=>
  array(1) {
    ["_num"]=>
    string(1) "0"
  }
}
array(1) {
  [0]=>
  array(1) {
    ["_num"]=>
    string(1) "1"
  }
}

Security considerations

The API functions mysqli_query() and mysqli_real_query() do not set a connection flag necessary for activating multi queries in the server. An extra API call is used for multiple statements to reduce the likeliness of accidental SQL injection attacks. An attacker may try to add statements such as ; DROP DATABASE mysql or ; SELECT SLEEP(999). If the attacker succeeds in adding SQL to the statement string but mysqli_multi_query is not used, the server will not execute the second, injected and malicious SQL statement.

Exemplo #2 SQL Injection

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
$res    = $mysqli->query("SELECT 1; DROP TABLE mysql.user");
if (!$res) {
    echo "Error executing query: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

O exemplo acima irá imprimir:

Error executing query: (1064) You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax
to use near 'DROP TABLE mysql.user' at line 1

Prepared statements

Use of the multiple statement with prepared statements is not supported.

See also

  • mysqli::query()
  • mysqli::multi_query()
  • mysqli_result::next-result()
  • mysqli_result::more-results()


API support for transactions

The MySQL server supports transactions depending on the storage engine used. Since MySQL 5.5, the default storage engine is InnoDB. InnoDB has full ACID transaction support.

Transactions can either be controlled using SQL or API calls. It is recommended to use API calls for enabling and disabling the auto commit mode and for committing and rolling back transactions.

Exemplo #1 Setting auto commit mode with SQL and through the API

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

/* Recommended: using API to control transactional settings */
$mysqli->autocommit(false);

/* Won't be monitored and recognized by the replication and the load balancing plugin */
if (!$mysqli->query('SET AUTOCOMMIT = 0')) {
    echo "Query failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

Optional feature packages, such as the replication and load balancing plugin, can easily monitor API calls. The replication plugin offers transaction aware load balancing, if transactions are controlled with API calls. Transaction aware load balancing is not available if SQL statements are used for setting auto commit mode, committing or rolling back a transaction.

Exemplo #2 Commit and rollback

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
$mysqli->autocommit(false);

$mysqli->query("INSERT INTO test(id) VALUES (1)");
$mysqli->rollback();

$mysqli->query("INSERT INTO test(id) VALUES (2)");
$mysqli->commit();
?>

Please note, that the MySQL server cannot roll back all statements. Some statements cause an implicit commit.

See also

  • mysqli::autocommit()
  • mysqli_result::commit()
  • mysqli_result::rollback()


Metadata

A MySQL result set contains metadata. The metadata describes the columns found in the result set. All metadata sent by MySQL is accessible through the mysqli interface. The extension performs no or negligible changes to the information it receives. Differences between MySQL server versions are not aligned.

Meta data is access through the mysqli_result interface.

Exemplo #1 Accessing result set meta data

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

$res = $mysqli->query("SELECT 1 AS _one, 'Hello' AS _two FROM DUAL");
var_dump($res->fetch_fields());
?>

O exemplo acima irá imprimir:

array(2) {
  [0]=>
  object(stdClass)#3 (13) {
    ["name"]=>
    string(4) "_one"
    ["orgname"]=>
    string(0) ""
    ["table"]=>
    string(0) ""
    ["orgtable"]=>
    string(0) ""
    ["def"]=>
    string(0) ""
    ["db"]=>
    string(0) ""
    ["catalog"]=>
    string(3) "def"
    ["max_length"]=>
    int(1)
    ["length"]=>
    int(1)
    ["charsetnr"]=>
    int(63)
    ["flags"]=>
    int(32897)
    ["type"]=>
    int(8)
    ["decimals"]=>
    int(0)
  }
  [1]=>
  object(stdClass)#4 (13) {
    ["name"]=>
    string(4) "_two"
    ["orgname"]=>
    string(0) ""
    ["table"]=>
    string(0) ""
    ["orgtable"]=>
    string(0) ""
    ["def"]=>
    string(0) ""
    ["db"]=>
    string(0) ""
    ["catalog"]=>
    string(3) "def"
    ["max_length"]=>
    int(5)
    ["length"]=>
    int(5)
    ["charsetnr"]=>
    int(8)
    ["flags"]=>
    int(1)
    ["type"]=>
    int(253)
    ["decimals"]=>
    int(31)
  }
}

Prepared statements

Meta data of result sets created using prepared statements are accessed the same way. A suitable mysqli_result handle is returned by mysqli_stmt_result_metadata().

Exemplo #2 Prepared statements metadata

<?php
$stmt = $mysqli->prepare("SELECT 1 AS _one, 'Hello' AS _two FROM DUAL");
$stmt->execute();
$res = $stmt->result_metadata();
var_dump($res->fetch_fields());
?>

See also

  • mysqli::query()
  • mysqli_result::fetch_fields()


Dependências

Para ter esta funções disponíveis, você deverá compilar o PHP com suporte para a extensão mysqli.

Nota:

A extensão mysqli foi criada para funcionar com a versão 4.1.3 ou posterior do MySQL. Para versões anteriores, por favor veja documentação da extensão MySQL.


Instalação

Para instalar a extensão mysqli para o PHP, use a opção de configuração --with-mysqli=mysql_config_path/mysql_config aonde mysql_config_path representa a localização do programa mysql_config que vem com versões do MySQL maiores do que 4.1.

Se você quiser instalar a extensão mysql junto com a extensão mysqli você tem que usar a mesma biblioteca de cliente para previnir quaisquer conflitos.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração do MySQLi
Nome | Padrão | Modificável | Changelog
mysqli.allow_local_infile | "0" | PHP_INI_SYSTEM | Disponível desde o PHP 5.2.4. Antes do PHP 7.2.16 e 7.3.3 o padrão era "1".
mysqli.local_infile_directory |  | PHP_INI_SYSTEM |
mysqli.allow_persistent | "1" | PHP_INI_SYSTEM | Disponível desde o PHP 5.3.0.
mysqli.max_persistent | "-1" | PHP_INI_SYSTEM | Disponível desde o PHP 5.3.0.
mysqli.max_links | "-1" | PHP_INI_SYSTEM |
mysqli.default_port | "3306" | PHP_INI_ALL |
mysqli.default_socket | NULL | PHP_INI_ALL |
mysqli.default_host | NULL | PHP_INI_ALL |
mysqli.default_user | NULL | PHP_INI_ALL |
mysqli.default_pw | NULL | PHP_INI_ALL |
mysqli.reconnect | "0" | PHP_INI_SYSTEM |
mysqli.rollback_on_cached_plink | TRUE | PHP_INI_SYSTEM | Disponível desde o PHP 5.6.0.

Para maiores detalhes e definições das constantes PHP_INI_* acima, veja o capitulo sobre mudanças de configuração.

Uma rápida explicação das diretivas de configuração.

mysqli.allow_local_infile integer

Permite acessar, direto do PHP, arquivos locais com comandos LOAD DATA

mysqli.local_infile_directory string

Permite restringir o carregamento de LOCAL DATA para arquivos localizados neste diretório.

mysqli.allow_persistent integer

Habilita a possibilidade de criar conexões persistentes usando mysqli_connect().

mysqli.max_persistent integer

Número máximo de conexões simultâneas que podem ser estabelecidas. Definir como 0 para ilimitadas.

mysqli.max_links integer

O número máximo de conexões MySQL por processo.

mysqli.default_port string

O número da porta TCP padrão para usar ao conectar ao servidor de banco de dados se não for especificada outra porta. Se não for especificado um padrão, então a porta será obtida da variável de ambiênte MYSQL_TCP_PORT, a entrada mysql-tcp em /etc/services ou a constante em tempo de compilação MYSQL_PORT, nesta ordem. Em Win32 será usada apenas a constante MYSQL_PORT.

mysqli.default_socket string

O nome padrão do socket para usar ao conectar com um servidor de banco de dados local, se não for especificado outro nome de socket.

mysqli.default_host string

O servidor padrão para usar ao conectar com o servidor de banco de dados se não for especificado um servidor. Não se aplica em

mysqli.default_user string

O nome de usuário padrão para usar ao conectar com o servidor de banco de dados. Não se aplica em

mysqli.default_pw string

A senha padrão para usar ao conectar ao servidor de banco de dados se não for especificado outra senha. Não se aplica em

mysqli.reconnect integer

Reconectar automaticamente ao perder a conexão.

Nota: Esta configuração do php.ini é ignorada pelo driver mysqlnd.

mysqli.rollback_on_cached_plink bool

Se essa opção for ativada, o fechamento de uma conexão persistente fará o rollback de todas as transações pendentes dessa conexão antes que ela seja colocada de volta no pool de conexão persistente. Caso contrário, as transações pendentes serão revertidas apenas quando a conexão for reutilizada ou quando for realmente fechada.

Usuários não podem modificar MYSQL_OPT_READ_TIMEOUT via chamada de API ou configuração em tempo de execução. Note que se fosse possível haveriam diferenças entre como a libmysqlclient e os streams iriam interpretar o valor de MYSQL_OPT_READ_TIMEOUT.


  • « Configurações em Execução
  • The mysqli Extension and Persistent Connections »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão não tem recursos definidos.


The mysqli Extension and Persistent Connections

The idea behind persistent connections is that a connection between a client process and a database can be reused by a client process, rather than being created and destroyed multiple times. This reduces the overhead of creating fresh connections every time one is required, as unused connections are cached and ready to be reused.

Unlike the mysql extension, mysqli does not provide a separate function for opening persistent connections. To open a persistent connection you must prepend p: to the hostname when connecting.

The problem with persistent connections is that they can be left in unpredictable states by clients. For example, a table lock might be activated before a client terminates unexpectedly. A new client process reusing this persistent connection will get the connection as is. Any cleanup would need to be done by the new client process before it could make good use of the persistent connection, increasing the burden on the programmer.

The persistent connection of the mysqli extension however provides built-in cleanup handling code. The cleanup carried out by mysqli includes:

  • Rollback active transactions

  • Close and drop temporary tables

  • Unlock tables

  • Reset session variables

  • Close prepared statements (always happens with PHP)

  • Close handler

  • Release locks acquired with GET_LOCK()

This ensures that persistent connections are in a clean state on return from the connection pool, before the client process uses them.

The mysqli extension does this cleanup by automatically calling the C-API function mysql_change_user().

The automatic cleanup feature has advantages and disadvantages though. The advantage is that the programmer no longer needs to worry about adding cleanup code, as it is called automatically. However, the disadvantage is that the code could potentially be a little slower, as the code to perform the cleanup needs to run each time a connection is returned from the connection pool.

It is possible to switch off the automatic cleanup code, by compiling PHP with MYSQLI_NO_CHANGE_USER_ON_PCONNECT defined.

Nota:

The mysqli extension supports persistent connections when using either MySQL Native Driver or MySQL Client Library.


Constantes pré-definidas

MYSQLI_READ_DEFAULT_GROUP

Lê opções do grupo especificado apartir do arquivo my.cnf ou do arquivo especificado por MYSQLI_READ_DEFAULT_FILE

MYSQLI_READ_DEFAULT_FILE

Lê opções apartir do arquivo indicado ao invés de my.cnf

MYSQLI_OPT_CONNECT_TIMEOUT

Limite de tempo para conectar em segundos

MYSQLI_OPT_LOCAL_INFILE

Ativa o comando LOAD LOCAL INFILE

MYSQLI_INIT_COMMAND

Comando para executar ao conectar no servidor MySQL. Será automaticamente executado novamente ao reconectar.

MYSQLI_CLIENT_SSL

Usar SSL (protocolo criptografado). Esta opção não deve ser definida por programas aplicativos; ela é definida internamente na biblioteca de cliente MySQL

MYSQLI_CLIENT_COMPRESS

Usar o protocolo de compressão

MYSQLI_CLIENT_INTERACTIVE

Permite interactive_timeout segundos (ao invés de wait_timeout segundo) de inatividade antes de fechar a conexão. A variável de sessão do cliente wait_timeout variable será definida com o valor da variável interactive_timeout.

MYSQLI_CLIENT_IGNORE_SPACE

Permite espaçoes após os nomes de função. Torna todos os nomes de função palavras reservadas.

MYSQLI_CLIENT_NO_SCHEMA

Não permite a sintaxe nome_bancodados.nome_tabela.nome_coluna.

MYSQLI_CLIENT_MULTI_QUERIES

Permite múltiplas queries delimitadas por ponto-e-vírgula em uma única chamadaies a mysqli_query().

MYSQLI_STORE_RESULT

Para usar conjuntos de resultados guardados em buffer

MYSQLI_USE_RESULT

Para usar conjuntos de resultados não guardados em buffer

MYSQLI_ASSOC

As colunas são retornadas em uma matriz tendo o nome dos campos como indices da matriz.

MYSQLI_NUM

As colunas são retornadas em uma matriz tendo os índices numerados.

MYSQLI_BOTH

As colunas são retornadas em uma matriz tendo ambos os índices, numérico e o nome do campo como índice associativo.

MYSQLI_NOT_NULL_FLAG

Indica que um campo é definido como NOT NULL

MYSQLI_PRI_KEY_FLAG

O campo é parte do índice primário

MYSQLI_UNIQUE_KEY_FLAG

O campo é parte de um índice único.

MYSQLI_MULTIPLE_KEY_FLAG

O campo é parte de um índice.

MYSQLI_BLOB_FLAG

O campo é definido como BLOB

MYSQLI_UNSIGNED_FLAG

O campo é definido como UNSIGNED

MYSQLI_ZEROFILL_FLAG

O campo é definido como ZEROFILL

MYSQLI_AUTO_INCREMENT_FLAG

O campo é definido como AUTO_INCREMENT

MYSQLI_TIMESTAMP_FLAG

O campo é definido como TIMESTAMP

MYSQLI_SET_FLAG

O campo é definido como SET

MYSQLI_NUM_FLAG

O campo é definido como NUMERIC

MYSQLI_PART_KEY_FLAG

O campo é parte de um índice múltiplo

MYSQLI_GROUP_FLAG

O campo é parte de GROUP BY

MYSQLI_TYPE_DECIMAL

O campo é definido como DECIMAL

MYSQLI_TYPE_NEWDECIMAL

Precisão matemática DECIMAL ou campo NUMERIC (MySQL 5.0.3 e superior)

MYSQLI_TYPE_BIT

O campo é definido como BIT (MySQL 5.0.3 e superior)

MYSQLI_TYPE_TINY

O campo é definido como TINYINT

MYSQLI_TYPE_SHORT

O campo é definido como INT

MYSQLI_TYPE_LONG

O campo é definido como INT

MYSQLI_TYPE_FLOAT

O campo é definido como FLOAT

MYSQLI_TYPE_DOUBLE

O campo é definido como DOUBLE

MYSQLI_TYPE_NULL

O campo é definido como DEFAULT NULL

MYSQLI_TYPE_TIMESTAMP

O campo é definido como TIMESTAMP

MYSQLI_TYPE_LONGLONG

O campo é definido como BIGINT

MYSQLI_TYPE_INT24

O campo é definido como MEDIUMINT

MYSQLI_TYPE_DATE

O campo é definido como DATE

MYSQLI_TYPE_TIME

O campo é definido como TIME

MYSQLI_TYPE_DATETIME

O campo é definido como DATETIME

MYSQLI_TYPE_YEAR

O campo é definido como YEAR

MYSQLI_TYPE_NEWDATE

O campo é definido como DATE

MYSQLI_TYPE_ENUM

O campo é definido como ENUM

MYSQLI_TYPE_SET

O campo é definido como SET

MYSQLI_TYPE_TINY_BLOB

O campo é definido como TINYBLOB

MYSQLI_TYPE_MEDIUM_BLOB

O campo é definido como MEDIUMBLOB

MYSQLI_TYPE_LONG_BLOB

O campo é definido como LONGBLOB

MYSQLI_TYPE_BLOB

O campo é definido como BLOB

MYSQLI_TYPE_VAR_STRING

O campo é definido como VARCHAR

MYSQLI_TYPE_STRING

O campo é definido como CHAR

MYSQLI_TYPE_GEOMETRY

O campo é definido como GEOMETRY

MYSQLI_NEED_DATA

Mais dados disponível para fazer bind com variável

MYSQLI_NO_DATA

Não há mais dados disponível para fazer bind com variável

MYSQLI_DATA_TRUNCATED

Dados foram truncados. Disponível desde o PHP 5.1.0 e MySQL 5.0.5.


Notes

Some implementation notes:

  1. Support was added for MYSQL_TYPE_GEOMETRY to the MySQLi extension in PHP 5.3.

  2. Note there are different internal implementations within libmysqlclient and mysqlnd for handling columns of type MYSQL_TYPE_GEOMETRY. Generally speaking, mysqlnd will allocate significantly less memory. For example, if there is a POINT column in a result set, libmysqlclient may pre-allocate up to 4GB of RAM although less than 50 bytes are needed for holding a POINT column in memory. Memory allocation is much lower, less than 50 bytes, if using mysqlnd.


The MySQLi Extension Function Summary

Summary of mysqli methods
mysqli Class
OOP Interface | Procedural Interface | Alias (Do not use) | Description
Properties
$mysqli::affected_rows | mysqli_affected_rows() | N/A | Gets the number of affected rows in a previous MySQL operation
$mysqli::client_info | mysqli_get_client_info() | N/A | Returns the MySQL client version as a string
$mysqli::client_version | mysqli_get_client_version() | N/A | Returns MySQL client version info as an integer
$mysqli::connect_errno | mysqli_connect_errno() | N/A | Returns the error code from last connect call
$mysqli::connect_error | mysqli_connect_error() | N/A | Returns a string description of the last connect error
$mysqli::errno | mysqli_errno() | N/A | Returns the error code for the most recent function call
$mysqli::error | mysqli_error() | N/A | Returns a string description of the last error
$mysqli::field_count | mysqli_field_count() | N/A | Returns the number of columns for the most recent query
$mysqli::host_info | mysqli_get_host_info() | N/A | Returns a string representing the type of connection used
$mysqli::protocol_version | mysqli_get_proto_info() | N/A | Returns the version of the MySQL protocol used
$mysqli::server_info | mysqli_get_server_info() | N/A | Returns the version of the MySQL server
$mysqli::server_version | mysqli_get_server_version() | N/A | Returns the version of the MySQL server as an integer
$mysqli::info | mysqli_info() | N/A | Retrieves information about the most recently executed query
$mysqli::insert_id | mysqli_insert_id() | N/A | Returns the auto generated id used in the last query
$mysqli::sqlstate | mysqli_sqlstate() | N/A | Returns the SQLSTATE error from previous MySQL operation
$mysqli::warning_count | mysqli_warning_count() | N/A | Returns the number of warnings from the last query for the given link
Methods
mysqli::autocommit() | mysqli_autocommit() | N/A | Turns on or off auto-committing database modifications
mysqli::change_user() | mysqli_change_user() | N/A | Changes the user of the specified database connection
mysqli::character_set_name(), mysqli::client_encoding | mysqli_character_set_name() | mysqli_client_encoding() | Returns the default character set for the database connection
mysqli::close() | mysqli_close() | N/A | Closes a previously opened database connection
mysqli::commit() | mysqli_commit() | N/A | Commits the current transaction
mysqli::__construct() | mysqli_connect() | N/A | Open a new connection to the MySQL server [Note: static (i.e. class) method]
mysqli::debug() | mysqli_debug() | N/A | Performs debugging operations
mysqli::dump_debug_info() | mysqli_dump_debug_info() | N/A | Dump debugging information into the log
mysqli::get_charset() | mysqli_get_charset() | N/A | Returns a character set object
mysqli::get_connection_stats() | mysqli_get_connection_stats() | N/A | Returns client connection statistics. Disponível apenas no mysqlnd.
mysqli::get_client_info() | mysqli_get_client_info() | N/A | Returns the MySQL client version as a string
mysqli::get_client_stats() | mysqli_get_client_stats() | N/A | Returns client per-process statistics. Disponível apenas no mysqlnd.
mysqli::get_server_info() | mysqli_get_server_info() | N/A | Returns a string representing the version of the MySQL server that the MySQLi extension is connected to
mysqli::get_warnings() | mysqli_get_warnings() | N/A | NOT DOCUMENTED
mysqli::init() | mysqli_init() | N/A | Initializes MySQLi and returns an object for use with mysqli_real_connect.
mysqli::kill() | mysqli_kill() | N/A | Asks the server to kill a MySQL thread
mysqli::more_results() | mysqli_more_results() | N/A | Check if there are any more query results from a multi query
mysqli::multi_query() | mysqli_multi_query() | N/A | Performs a query on the database
mysqli::next_result() | mysqli_next_result() | N/A | Prepare next result from multi_query
mysqli::options() | mysqli_options() | mysqli_set_opt() | Set options
mysqli::ping() | mysqli_ping() | N/A | Pings a server connection, or tries to reconnect if the connection has gone down
mysqli::prepare() | mysqli_prepare() | N/A | Prepare an SQL statement for execution
mysqli::query() | mysqli_query() | N/A | Performs a query on the database
mysqli::real_connect() | mysqli_real_connect() | N/A | Opens a connection to a mysql server
mysqli::real_escape_string(), mysqli::escape_string() | mysqli_real_escape_string() | mysqli_escape_string() | Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
mysqli::real_query() | mysqli_real_query() | N/A | Execute an SQL query
mysqli::refresh() | mysqli_refresh() | N/A | Flushes tables or caches, or resets the replication server information
mysqli::rollback() | mysqli_rollback() | N/A | Rolls back current transaction
mysqli::select_db() | mysqli_select_db() | N/A | Selects the default database for database queries
mysqli::set_charset() | mysqli_set_charset() | N/A | Sets the default client character set
mysqli::ssl_set() | mysqli_ssl_set() | N/A | Used for establishing secure connections using SSL
mysqli::stat() | mysqli_stat() | N/A | Gets the current system status
mysqli::stmt_init() | mysqli_stmt_init() | N/A | Initializes a statement and returns an object for use with mysqli_stmt_prepare
mysqli::store_result() | mysqli_store_result() | N/A | Transfers a result set from the last query
mysqli::thread_id() | mysqli_thread_id() | N/A | Returns the thread ID for the current connection
mysqli::thread_safe() | mysqli_thread_safe() | N/A | Returns whether thread safety is given or not
mysqli::use_result() | mysqli_use_result() | N/A | Initiate a result set retrieval
Summary of mysqli_stmt methods
MySQL_STMT
OOP Interface | Procedural Interface | Alias (Do not use) | Description
Properties
$mysqli_stmt::affected_rows | mysqli_stmt_affected_rows() | N/A | Returns the total number of rows changed, deleted, or inserted by the last executed statement
$mysqli_stmt::errno | mysqli_stmt_errno() | N/A | Returns the error code for the most recent statement call
$mysqli_stmt::error | mysqli_stmt_error() | N/A | Returns a string description for last statement error
$mysqli_stmt::field_count | mysqli_stmt_field_count() | N/A | Returns the number of field in the given statement - not documented
$mysqli_stmt::insert_id | mysqli_stmt_insert_id() | N/A | Get the ID generated from the previous INSERT operation
$mysqli_stmt::num_rows | mysqli_stmt_num_rows() | N/A | Return the number of rows in statements result set
$mysqli_stmt::param_count | mysqli_stmt_param_count() | mysqli_param_count() | Returns the number of parameter for the given statement
$mysqli_stmt::sqlstate | mysqli_stmt_sqlstate() | N/A | Returns SQLSTATE error from previous statement operation
Methods
mysqli_stmt::attr_get() | mysqli_stmt_attr_get() | N/A | Used to get the current value of a statement attribute
mysqli_stmt::attr_set() | mysqli_stmt_attr_set() | N/A | Used to modify the behavior of a prepared statement
mysqli_stmt::bind_param() | mysqli_stmt_bind_param() | mysqli_bind_param() | Binds variables to a prepared statement as parameters
mysqli_stmt::bind_result() | mysqli_stmt_bind_result() | mysqli_bind_result() | Binds variables to a prepared statement for result storage
mysqli_stmt::close() | mysqli_stmt_close() | N/A | Closes a prepared statement
mysqli_stmt::data_seek() | mysqli_stmt_data_seek() | N/A | Seeks to an arbitrary row in statement result set
mysqli_stmt::execute() | mysqli_stmt_execute() | mysqli_execute() | Executes a prepared Query
mysqli_stmt::fetch() | mysqli_stmt_fetch() | mysqli_fetch() | Fetch results from a prepared statement into the bound variables
mysqli_stmt::free_result() | mysqli_stmt_free_result() | N/A | Frees stored result memory for the given statement handle
mysqli_stmt::get_result() | mysqli_stmt_get_result() | N/A | Gets a result set from a prepared statement. Disponível apenas no mysqlnd.
mysqli_stmt::get_warnings() | mysqli_stmt_get_warnings() | N/A | NOT DOCUMENTED
mysqli_stmt::more_results() | mysqli_stmt_more_results() | N/A | Checks if there are more query results from a multiple query
mysqli_stmt::next_result() | mysqli_stmt_next_result() | N/A | Reads the next result from a multiple query
mysqli_stmt::num_rows() | mysqli_stmt_num_rows() | N/A | See also property $mysqli_stmt::num_rows
mysqli_stmt::prepare() | mysqli_stmt_prepare() | N/A | Prepare an SQL statement for execution
mysqli_stmt::reset() | mysqli_stmt_reset() | N/A | Resets a prepared statement
mysqli_stmt::result_metadata() | mysqli_stmt_result_metadata() | mysqli_get_metadata() | Returns result set metadata from a prepared statement
mysqli_stmt::send_long_data() | mysqli_stmt_send_long_data() | mysqli_send_long_data() | Send data in blocks
mysqli_stmt::store_result() | mysqli_stmt_store_result() | N/A | Transfers a result set from a prepared statement
Summary of mysqli_result methods
mysqli_result
OOP Interface | Procedural Interface | Alias (Do not use) | Description
Properties
$mysqli_result::current_field | mysqli_field_tell() | N/A | Get current field offset of a result pointer
$mysqli_result::field_count | mysqli_num_fields() | N/A | Get the number of fields in a result
$mysqli_result::lengths | mysqli_fetch_lengths() | N/A | Returns the lengths of the columns of the current row in the result set
$mysqli_result::num_rows | mysqli_num_rows() | N/A | Gets the number of rows in a result
Methods
mysqli_result::data_seek() | mysqli_data_seek() | N/A | Adjusts the result pointer to an arbitrary row in the result
mysqli_result::fetch_all() | mysqli_fetch_all() | N/A | Fetches all result rows and returns the result set as an associative array, a numeric array, or both. Disponível apenas no mysqlnd.
mysqli_result::fetch_array() | mysqli_fetch_array() | N/A | Fetch a result row as an associative, a numeric array, or both
mysqli_result::fetch_assoc() | mysqli_fetch_assoc() | N/A | Fetch a result row as an associative array
mysqli_result::fetch_field_direct() | mysqli_fetch_field_direct() | N/A | Fetch meta-data for a single field
mysqli_result::fetch_field() | mysqli_fetch_field() | N/A | Returns the next field in the result set
mysqli_result::fetch_fields() | mysqli_fetch_fields() | N/A | Returns an array of objects representing the fields in a result set
mysqli_result::fetch_object() | mysqli_fetch_object() | N/A | Returns the current row of a result set as an object
mysqli_result::fetch_row() | mysqli_fetch_row() | N/A | Get a result row as an enumerated array
mysqli_result::field_seek() | mysqli_field_seek() | N/A | Set result pointer to a specified field offset
mysqli_result::free(), mysqli_result::close, mysqli_result::free_result | mysqli_free_result() | N/A | Frees the memory associated with a result
Summary of mysqli_driver methods
MySQL_Driver
OOP Interface | Procedural Interface | Alias (Do not use) | Description
Properties
$mysqli_driver::mysqli_report | mysqli_report() | N/A | Sets mysqli error reporting mode
Methods
mysqli_driver::embedded_server_end() | mysqli_embedded_server_end() | N/A | NOT DOCUMENTED
mysqli_driver::embedded_server_start() | mysqli_embedded_server_start() | N/A | NOT DOCUMENTED

Nota:

Alias functions are provided for backward compatibility purposes only. Do not use them in new projects.


A classe MySQLi

Introdução

Representa uma conexão entre o PHP e um banco de dados MySQL.

Sinopse da classe

MySQLi {
/* Propriedades */
int $affected_rows;
int $errno;
array $mysqli->error_list;
string $error;
string $host_info;
string $protocol_version;
string $server_info;
int $server_version;
string $info;
int $insert_id;
string $mysqli->sqlstate;
int $mysqli->thread_id;
int $mysqli->warning_count;
/* Métodos */
mysqli_affected_rows ( mysqli $link ) : int
mysqli::autocommit ( bool $mode ) : bool
public mysqli::begin_transaction ( int $flags = 0 , string $name = ? ) : bool
mysqli::change_user ( string $user , string $password , string $database ) : bool
mysqli::character_set_name ( ) : string
mysqli::commit ( ) : bool
public mysqli::connect
 ( string $host = ini_get("mysqli.default_host")
, string $username = ini_get("mysqli.default_user")
, string $passwd = ini_get("mysqli.default_pw")
, string $dbname = ""
, int $port = ini_get("mysqli.default_port")
, string $socket = ini_get("mysqli.default_socket")
) : void
mysqli::dump_debug_info ( ) : bool
mysqli_errno ( mysqli $link ) : int
mysqli_error_list ( mysqli $link ) : array
mysqli_error ( mysqli $link ) : string
public mysqli::get_charset ( ) : object
mysqli::get_client_info ( ) : string
mysqli::get_client_version ( ) : int
public mysqli::get_connection_stats ( ) : bool
mysqli_get_host_info ( mysqli $link ) : string
mysqli_get_proto_info ( mysqli $link ) : int
mysqli_get_server_info ( mysqli $link ) : string
mysqli_get_server_version ( mysqli $link ) : int
public mysqli::get_warnings ( ) : mysqli_warning
mysqli_info ( mysqli $link ) : string
mysqli_init ( ) : mysqli
mysqli_insert_id ( mysqli $link ) : int
mysqli::kill ( int $processid ) : bool
mysqli::more_results ( ) : bool
mysqli::multi_query ( string $query ) : bool
mysqli::next_result ( ) : bool
public mysqli::options ( int $option , mixed $value ) : bool
public mysqli::ping ( ) : bool
public static mysqli::poll ( array &$read , array &$error , array &$reject , int $sec , int $usec = 0 ) : int
public mysqli::prepare ( string $query ) : mysqli_stmt
public mysqli::query ( string $query , int $resultmode = MYSQLI_STORE_RESULT ) : mixed
public mysqli::real_connect ( string $host = ? , string $username = ? , string $passwd = ? , string $dbname = ? , int $port = ? , string $socket = ? , int $flags = ? ) : bool
public mysqli::escape_string ( string $escapestr ) : string
public mysqli::real_query ( string $query ) : bool
public mysqli::reap_async_query ( ) : mysqli_result
public mysqli::refresh ( int $options ) : bool
public mysqli::release_savepoint ( string $name ) : bool
public mysqli::rollback ( int $flags = 0 , string $name = ? ) : bool
public mysqli::savepoint ( string $name ) : bool
public mysqli::select_db ( string $dbname ) : bool
public mysqli::set_charset ( string $charset ) : bool
mysqli_sqlstate ( mysqli $link ) : string
public mysqli::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher ) : bool
public mysqli::stat ( ) : string
public mysqli::stmt_init ( ) : mysqli_stmt
public mysqli::store_result ( int $option = ? ) : mysqli_result
mysqli_thread_id ( mysqli $link ) : int
public mysqli::thread_safe ( ) : void
public mysqli::use_result ( ) : mysqli_result
mysqli_warning_count ( mysqli $link ) : int
}

Índice

  • mysqli->affected_rows — Retorna o número de linhas afetadas pela operação MySQL anterior
  • mysqli::autocommit — Ativa ou desativa o salvar automaticamente as modificações no banco de dados
  • mysqli::begin_transaction — Starts a transaction
  • mysqli::change_user — Modifica o usuário para a conexão com o banco de dados especificada
  • mysqli::character_set_name — Retorna o conjunto de caracteres padrão para a conexão com o banco de dados
  • mysqli_close — Fecha uma conexão aberta anteriormente com o banco de dados
  • mysqli::commit — Salva a transação atual
  • mysqli_connect_errno — Retorna o código de erro da ultima chamada a função connect
  • mysqli_connect_error — Retorna uma string descrevendo o ultimo erro da função connect
  • mysqli::__construct — Open a new connection to the MySQL server
  • mysqli_debug — Realiza operações de debug
  • mysqli::dump_debug_info — Descarrega informação de debug no log
  • mysqli->errno — Retorna o código de erro para a chamada de função mais recente
  • mysqli::$error_list — Returns a list of errors from the last command executed
  • mysqli->error — Retorna uma string descrevendo o ultimo erro
  • mysqli_field_count — Retorna o número de colunas para a consulta mais recente
  • mysqli::get_charset — Returns a character set object
  • mysqli::get_client_info — Retorna a versão do cliente MySQL como uma string
  • mysqli::get_client_version — Obtém informação sobre o cliente MySQL
  • mysqli::get_connection_stats — Returns statistics about the client connection
  • mysqli_get_host_info — Retorna uma string representando o tipo da conexão usada
  • mysqli->protocol_version — Retorna a versão do protocolo MySQL usada
  • mysqli->server_info — Retorna a versão do servidor MySQL
  • mysqli->server_version — Retorna a versão do servidor MySQL como um integer
  • mysqli::get_warnings — Get result of SHOW WARNINGS
  • mysqli_info — Recupera informação sobre a mais recente query executada
  • mysqli_init — Inicializa a MySQLi e retorna um resource para usar com mysqli_real_connect()
  • mysqli_insert_id — Retorna o id gerado automaticamente na última consulta
  • mysqli::kill — Solicita ao servidor o encerramento de um thread do MySQL
  • mysqli::more_results — Verifica se há mais algum resultado de uma multi query
  • mysqli::multi_query — Performs a query on the database
  • mysqli::next_result — Prepara o próximo resultado de multi_query
  • mysqli::options — Set options
  • mysqli::ping — Pings a server connection, or tries to reconnect if the connection has gone down
  • mysqli::poll — Poll connections
  • mysqli::prepare — Prepare an SQL statement for execution
  • mysqli::query — Performs a query on the database
  • mysqli::real_connect — Opens a connection to a mysql server
  • mysqli::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • mysqli::real_query — Execute an SQL query
  • mysqli::reap_async_query — Get result from async query
  • mysqli::refresh — Refreshes
  • mysqli::release_savepoint — Removes the named savepoint from the set of savepoints of the current transaction
  • mysqli::rollback — Rolls back current transaction
  • mysqli::savepoint — Set a named transaction savepoint
  • mysqli::select_db — Selects the default database for database queries
  • mysqli::set_charset — Sets the default client character set
  • mysqli::$sqlstate — Returns the SQLSTATE error from previous MySQL operation
  • mysqli::ssl_set — Used for establishing secure connections using SSL
  • mysqli::stat — Gets the current system status
  • mysqli::stmt_init — Initializes a statement and returns an object for use with mysqli_stmt_prepare
  • mysqli::store_result — Transfers a result set from the last query
  • mysqli::$thread_id — Returns the thread ID for the current connection
  • mysqli::thread_safe — Returns whether thread safety is given or not
  • mysqli::use_result — Initiate a result set retrieval
  • mysqli::$warning_count — Returns the number of warnings from the last query for the given link


Retorna o número de linhas afetadas pela operação MySQL anterior

  • « MySQLi
  • mysqli::autocommit »
  • PHP Manual
  • MySQLi
  • Retorna o número de linhas afetadas pela operação MySQL anterior

mysqli->affected_rows

mysqli_affected_rows

(PHP 5, PHP 7)

mysqli->affected_rows -- mysqli_affected_rows — Retorna o número de linhas afetadas pela operação MySQL anterior

Descrição

Estilo orientado a objetos (propriedades):

int $affected_rows;

Estilo de procedimento:

mysqli_affected_rows ( mysqli $link ) : int

mysqli_affected_rows() retorna o número de linhas afetadas pela ultima consulta INSERT, UPDATE, REPLACE ou DELETE associada ao parâmetro link indicado. Se a ultima consulta foi invalida, esta função irá retornar -1.

Para comandos SELECT mysqli_affected_rows() funciona como mysqli_num_rows().

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Um inteiro maior do que zero indica o número de linhas afetadas ou obtidas. Zero indica que nenhum registro foi atualizado por um UPDATE, não foram encontradas linhas em uma claúsula WHERE na consulta ou que a consulta ainda não foi executada. -1 indica que a consulta retornou com erro.

Nota:

Se o número de linhas afetadas for maior do que o maior valor inteiro possível, o número de linhas afetadas será retornado como uma string.

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Insert rows */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", $mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");

/* update rows */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", $mysqli->affected_rows);

/* delete rows */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", $mysqli->affected_rows);

/* select all rows */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", $mysqli->affected_rows);

$result->close();

/* Delete table Language */
$mysqli->query("DROP TABLE Language");

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

if (!$link) {
    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
    exit();
}

/* Insert rows */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", mysqli_affected_rows($link));

mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");

/* update rows */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($link));

/* delete rows */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", mysqli_affected_rows($link));

/* select all rows */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", mysqli_affected_rows($link));

mysqli_free_result($result);

/* Delete table Language */
mysqli_query($link, "DROP TABLE Language");

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Affected rows (INSERT): 984
Affected rows (UPDATE): 168
Affected rows (DELETE): 815
Affected rows (SELECT): 169

Veja Também

  • mysqli_num_rows() - Gets the number of rows in a result
  • mysqli_info() - Recupera informação sobre a mais recente query executada


Ativa ou desativa o salvar automaticamente as modificações no banco de dados

  • « mysqli->affected_rows
  • mysqli::begin_transaction »
  • PHP Manual
  • MySQLi
  • Ativa ou desativa o salvar automaticamente as modificações no banco de dados

mysqli::autocommit

mysqli_autocommit

(PHP 5, PHP 7)

mysqli::autocommit -- mysqli_autocommit — Ativa ou desativa o salvar automaticamente as modificações no banco de dados

Descrição

Estilo orientado a objeto(metodo)

mysqli::autocommit ( bool $mode ) : bool

Estilo de procedimento:

mysqli_autocommit ( mysqli $link , bool $mode ) : bool

mysqli_autocommit() é usado para ativar ou desativar o modo de salvar automaticamente as consultas para a conexão com o banco dedados representado por link. object.

Nota:

Para determinar o estado do salvar automaticamente use o comando SQL 'SELECT @@autocommit'.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

mysqli_autocommit() Não funciona com tabelas de tipos não baseadas em transações (como MyISAM ou ISAM).

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* turn autocommit on */
$mysqli->autocommit(TRUE);

if ($result = $mysqli->query("SELECT @@autocommit")) {
    $row = $result->fetch_row();
    printf("Autocommit is %s\n", $row[0]);
    $result->free();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

if (!$link) {
    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
    exit();
}

/* turn autocommit on */
mysqli_autocommit($link, TRUE);

if ($result = mysqli_query($link, "SELECT @@autocommit")) {
    $row = mysqli_fetch_row($result);
    printf("Autocommit is %s\n", $row[0]);
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Autocommit is 1

Veja Também

  • mysqli_commit() - Salva a transação atual
  • mysqli_rollback() - Rolls back current transaction


Starts a transaction

  • « mysqli::autocommit
  • mysqli::change_user »
  • PHP Manual
  • MySQLi
  • Starts a transaction

mysqli::begin_transaction

mysqli_begin_transaction

(PHP 5 >= 5.5.0, PHP 7)

mysqli::begin_transaction -- mysqli_begin_transaction — Starts a transaction

Descrição

Estilo orientado à objeto

public mysqli::begin_transaction ( int $flags = 0 , string $name = ? ) : bool

Estilo procedural:

mysqli_begin_transaction ( mysqli $link , int $flags = 0 , string $name = ? ) : bool

Begins a transaction. Requires the InnoDB engine (it is enabled by default). For additional details about how MySQL transactions work, see » http://dev.mysql.com/doc/mysql/en/commit.html.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

flags

Valid flags are:

  • MYSQLI_TRANS_START_READ_ONLY: Start the transaction as "START TRANSACTION READ ONLY". Requires MySQL 5.6 and above.

  • MYSQLI_TRANS_START_READ_WRITE: Start the transaction as "START TRANSACTION READ WRITE". Requires MySQL 5.6 and above.

  • MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT: Start the transaction as "START TRANSACTION WITH CONSISTENT SNAPSHOT".

name

Savepoint name for the transaction.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

This function does not work with non transactional table types (like MyISAM or ISAM).

Exemplos

Exemplo #1 mysqli::begin_transaction() example

Estilo orientado à objeto

<?php

/* Tell mysqli to throw an exception if an error occurs */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* The table engine has to support transactions */
$mysqli->query("CREATE TABLE IF NOT EXISTS language (
    Code text NOT NULL,
    Speakers int(11) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");

/* Start transaction */
$mysqli->begin_transaction();

try {
    /* Insert some values */
    $mysqli->query("INSERT INTO language(Code, Speakers) VALUES ('DE', 42000123)");

    /* Try to insert invalid values */
    $language_code = 'FR';
    $native_speakers = 'Unknown';
    $stmt = $mysqli->prepare('INSERT INTO language(Code, Speakers) VALUES (?,?)');
    $stmt->bind_param('ss', $language_code, $native_speakers);
    $stmt->execute();

    /* If code reaches this point without errors then commit the data in the database */
    $mysqli->commit();
} catch (mysqli_sql_exception $exception) {
    $mysqli->rollback();

    throw $exception;
}

Estilo procedural

<?php

/* Tell mysqli to throw an exception if an error occurs */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

/* The table engine has to support transactions */
mysqli_query($mysqli, "CREATE TABLE IF NOT EXISTS language (
    Code text NOT NULL,
    Speakers int(11) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");

/* Start transaction */
mysqli_begin_transaction($mysqli);

try {
    /* Insert some values */
    mysqli_query($mysqli, "INSERT INTO language(Code, Speakers) VALUES ('DE', 42000123)");

    /* Try to insert invalid values */
    $language_code = 'FR';
    $native_speakers = 'Unknown';
    $stmt = mysqli_prepare($mysqli, 'INSERT INTO language(Code, Speakers) VALUES (?,?)');
    mysqli_stmt_bind_param($stmt, 'ss', $language_code, $native_speakers);
    mysqli_stmt_execute($stmt);

    /* If code reaches this point without errors then commit the data in the database */
    mysqli_commit($mysqli);
} catch (mysqli_sql_exception $exception) {
    mysqli_rollback($mysqli);

    throw $exception;
}

Veja Também

  • mysqli_autocommit() - Ativa ou desativa o salvar automaticamente as modificações no banco de dados
  • mysqli_commit() - Salva a transação atual
  • mysqli_rollback() - Rolls back current transaction


Modifica o usuário para a conexão com o banco de dados especificada

  • « mysqli::begin_transaction
  • mysqli::character_set_name »
  • PHP Manual
  • MySQLi
  • Modifica o usuário para a conexão com o banco de dados especificada

mysqli::change_user

mysqli_change_user

(PHP 5, PHP 7)

mysqli::change_user -- mysqli_change_user — Modifica o usuário para a conexão com o banco de dados especificada

Descrição

Estilo orientado a objeto (metodo):

mysqli::change_user ( string $user , string $password , string $database ) : bool

Estilo de procedimento:

mysqli_change_user ( mysqli $link , string $user , string $password , string $database ) : bool

mysqli_change_user() é usado para mudar o usuário na conexão com o banco de dados especificado como indicado pelo parâmetro link e definido para o banco de dados atual para o especificado pelo parâmetro database.

Se desejado, o valor null pode ser passado no lugar do parâmetro database fazendo com que seja apenas mudado o usuário e não seja escolhido também um banco de dados. Para escolher um banco de dados neste caso, use a função mysqli_select_db().

Para poder mudar usuários de maneira correta, os parâmetors username e password devem ser válidos e este usuário deve ter permissões suficinte para acessar o banco de dados desejado. Se por alguma razão a autenticação falhar, o usuário atualmente autenticado irá permanecer.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

Usar este comando fará sempre que a conexão atual com o banco de dados funcione como se fosse completamente uma nova conexão, não importando se a operação foi completada de maneira correta. Este reínicio incluí desfazer quaisquer transações ativas, fechar todas as tabelas temporarias e destravar todas as tabelas travadas.

Exemplos

Exemplo #1 Estilo orientado a objetos

<?php

/* connect database test */
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Set Variable a */
$mysqli->query("SET @a:=1");

/* reset all and select a new database */
$mysqli->change_user("my_user", "my_password", "world");

if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database: %s\n", $row[0]);
    $result->close();
}

if ($result = $mysqli->query("SELECT @a")) {
    $row = $result->fetch_row();
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimentos

<?php
/* connect database test */
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Set Variable a */
mysqli_query($link, "SET @a:=1");

/* reset all and select a new database */
mysqli_change_user($link, "my_user", "my_password", "world");

if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database: %s\n", $row[0]);
    mysqli_free_result($result);
}

if ($result = mysqli_query($link, "SELECT @a")) {
    $row = mysqli_fetch_row($result);
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Default database: world
Value of variable a is NULL

Veja Também

  • mysqli_connect() - Sinônimo de mysqli::__construct
  • mysqli_select_db() - Selects the default database for database queries


Retorna o conjunto de caracteres padrão para a conexão com o banco de dados

  • « mysqli::change_user
  • mysqli_close »
  • PHP Manual
  • MySQLi
  • Retorna o conjunto de caracteres padrão para a conexão com o banco de dados

mysqli::character_set_name

mysqli_character_set_name

(PHP 5, PHP 7)

mysqli::character_set_name -- mysqli_character_set_name — Retorna o conjunto de caracteres padrão para a conexão com o banco de dados

Descrição

Estilo orientado a objeto(metodo)

mysqli::character_set_name ( ) : string

Estilo de procedimento:

mysqli_character_set_name ( mysqli $link ) : string

Retorna o conjunto de caracteres para a conexão com o banco de dados especificada pelo parâmetro link.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

O conjunto de caracteres padrão para a conexão atual

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Print current character set */
$charset = $mysqli->character_set_name();
printf ("Current character set is %s\n", $charset);

$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Print current character set */
$charset = mysqli_character_set_name($link);
printf ("Current character set is %s\n",$charset);

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Current character set is latin1_swedish_ci

Veja Também

  • mysqli_client_encoding()
  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection


Fecha uma conexão aberta anteriormente com o banco de dados

  • « mysqli::character_set_name
  • mysqli::commit »
  • PHP Manual
  • MySQLi
  • Fecha uma conexão aberta anteriormente com o banco de dados

mysqli_close

mysqli->close

(PHP 5, PHP 7)

mysqli_close -- mysqli->close — Fecha uma conexão aberta anteriormente com o banco de dados

Descrição

Estilo de procedimento:

mysqli_close ( object $link ) : bool

Estilo orientado a objeto (metodo):

close ( ) : bool

A função mysqli_close() fecha uma conexão com um banco de dados aberto anteriormente especificado pelo parâmetro link.

Valores de retorno

Retorna true em caso de sucesso ou false em caso de falha.

Veja também

mysqli_connect(),
mysqli_init(),
mysqli_real_connect().


Salva a transação atual

  • « mysqli_close
  • mysqli_connect_errno »
  • PHP Manual
  • MySQLi
  • Salva a transação atual

mysqli::commit

mysqli_commit

(PHP 5, PHP 7)

mysqli::commit -- mysqli_commit — Salva a transação atual

Descrição

Estilo orientado a objeto (metodo)

mysqli::commit ( ) : bool

Estilo de procedimento:

mysqli_commit ( mysqli $link ) : bool

Grava a transação atual para a conexão com o banco de dados especificada pelo parâmetro link.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE Language LIKE CountryLanguage Type=InnoDB");

/* set autocommit to off */
$mysqli->autocommit(FALSE);

/* Insert some values */
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* commit transaction */
$mysqli->commit();

/* drop table */
$mysqli->query("DROP TABLE Language");

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* set autocommit to off */
mysqli_autocommit($link, FALSE);

mysqli_query($link, "CREATE TABLE Language LIKE CountryLanguage Type=InnoDB");

/* Insert some values */
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* commit transaction */
mysqli_commit($link);

/* close connection */
mysqli_close($link);
?>

Veja Também

  • mysqli_autocommit() - Ativa ou desativa o salvar automaticamente as modificações no banco de dados
  • mysqli_rollback() - Rolls back current transaction


Retorna o código de erro da ultima chamada a função connect

  • « mysqli::commit
  • mysqli_connect_error »
  • PHP Manual
  • MySQLi
  • Retorna o código de erro da ultima chamada a função connect

mysqli_connect_errno

(PHP 5, PHP 7)

mysqli_connect_errno — Retorna o código de erro da ultima chamada a função connect

Descrição

mysqli_connect_errno ( ) : int

A função mysqli_connect_errno() irá retornar o número do código de erro da ultima chamada a função mysqli_connect(). Se não houve erro, esta função irá retornar zero.

Nota:

As mensagens de erro do cliente são listados no arquivo de cabeçalho do MySQL errmsg.h, mensagens de erro do servidor são listadas em mysqld_error.h. Na distribuição da fonte do MySQL você pode encontrar uma lista completa das mensagens de erro e números de erro no arquivo Docs/mysqld_error.txt.

Valores de retorno

O valor do código de erro para a ultima chamada a função mysqli_connect(), se tiver falhado. Zero indica que não houve erro.

Veja também

mysqli_connect(),
mysqli_connect_error(),
mysqli_errno(),
mysqli_error(),
mysqli_sqlstate()

Examplo

Exemplo #1 mysqli_connect_errno sample

<?php

$link = @mysqli_connect("localhost", "nonexisting_user", "");

if (!$link) {
    printf("Can't connect to localhost. Errorcode: %d\n", mysqli_connect_errno());
}
?>


Retorna uma string descrevendo o ultimo erro da função connect

  • « mysqli_connect_errno
  • mysqli::__construct »
  • PHP Manual
  • MySQLi
  • Retorna uma string descrevendo o ultimo erro da função connect

mysqli_connect_error

(PHP 5, PHP 7)

mysqli_connect_error — Retorna uma string descrevendo o ultimo erro da função connect

Descrição

mysqli_connect_error ( ) : string

A função mysqli_connect_error() é identica a função correspondente mysqli_connect_errno() de todas as maneiras, exceto que ao invés de retornar um número inteiro como código de erro, a função mysqli_connect_error() irá retornar uma string representando o ultimo erro que aconteceu com a ultima chamada a função mysqli_connect(). Se não houve erro, esta função irá retornar uma string vazia.

Valores de retorno

Uma string que descreve o erro. Uma string vazia se não houve erro.

Veja também

mysqli_connect(),
mysqli_connect_errno(),
mysqli_errno(),
mysqli_error(),
mysqli_sqlstate()

Exemplo

Exemplo #1 mysqli_connect_error sample

<?php

$link = @mysqli_connect("localhost", "nonexisting_user", "");

if (!$link) {
    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
}
?>


Open a new connection to the MySQL server

  • « mysqli_connect_error
  • mysqli_debug »
  • PHP Manual
  • MySQLi
  • Open a new connection to the MySQL server

mysqli::__construct

mysqli::connect

mysqli_connect

(PHP 5, PHP 7)

mysqli::__construct -- mysqli::connect -- mysqli_connect — Open a new connection to the MySQL server

Descrição

Estilo orientado à objeto

public mysqli::__construct
 ( string $host = ini_get("mysqli.default_host")
, string $username = ini_get("mysqli.default_user")
, string $passwd = ini_get("mysqli.default_pw")
, string $dbname = ""
, int $port = ini_get("mysqli.default_port")
, string $socket = ini_get("mysqli.default_socket")
)
public mysqli::connect
 ( string $host = ini_get("mysqli.default_host")
, string $username = ini_get("mysqli.default_user")
, string $passwd = ini_get("mysqli.default_pw")
, string $dbname = ""
, int $port = ini_get("mysqli.default_port")
, string $socket = ini_get("mysqli.default_socket")
) : void

Estilo procedural

mysqli_connect
 ( string $host = ini_get("mysqli.default_host")
, string $username = ini_get("mysqli.default_user")
, string $passwd = ini_get("mysqli.default_pw")
, string $dbname = ""
, int $port = ini_get("mysqli.default_port")
, string $socket = ini_get("mysqli.default_socket")
) : mysqli|false

Opens a connection to the MySQL Server.

Parâmetros

host

Can be either a host name or an IP address. The local host is assumed when passing the null value or the string "localhost" to this parameter. When possible, pipes will be used instead of the TCP/IP protocol. The TCP/IP protocol is used if a host name and port number are provided together e.g. localhost:3308.

Prepending host by p: opens a persistent connection. mysqli_change_user() is automatically called on connections opened from the connection pool.

username

The MySQL user name.

passwd

If not provided or null, the MySQL server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password is provided or not).

dbname

If provided will specify the default database to be used when performing queries.

port

Specifies the port number to attempt to connect to the MySQL server.

socket

Specifies the socket or named pipe that should be used.

Nota:

Specifying the socket parameter will not explicitly determine the type of connection to be used when connecting to the MySQL server. How the connection is made to the MySQL database is determined by the host parameter.

Valor Retornado

mysqli::__construct() always returns an object which represents the connection to a MySQL Server, regardless of it being successful or not.

mysqli_connect() returns an object which represents the connection to a MySQL Server, ou false em caso de falha.

mysqli::connect() returns null on success ou false em caso de falha.

Erros

If MYSQLI_REPORT_STRICT is enabled and the attempt to connect to the requested database fails, a mysqli_sql_exception is thrown.

Exemplos

Exemplo #1 mysqli::__construct() example

Estilo orientado à objeto

<?php

/* You should enable error reporting for mysqli before attempting to make a connection */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

/* Set the desired charset after establishing a connection */
$mysqli->set_charset('utf8mb4');

printf("Success... %s\n", $mysqli->host_info);

Estilo procedural

<?php

/* You should enable error reporting for mysqli before attempting to make a connection */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$mysqli = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');

/* Set the desired charset after establishing a connection */
mysqli_set_charset($mysqli, 'utf8mb4');

printf("Success... %s\n", mysqli_get_host_info($mysqli));

Os exemplos acima irão imprimir algo similar à:

Success... localhost via TCP/IP

Exemplo #2 Extending mysqli class

<?php

class FooMysqli extends mysqli {
    public function __construct($host, $user, $pass, $db, $port, $socket, $charset) {
        mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
        parent::__construct($host, $user, $pass, $db, $port, $socket);
        $this->set_charset($charset);
    }
}

$db = new FooMysqli('localhost', 'my_user', 'my_password', 'my_db', 3306, null, 'utf8mb4');

Exemplo #3 Manual error handling

If error reporting is disabled, the developer is responsible for checking and handling failures

Estilo orientado à objeto

<?php

error_reporting(0);
mysqli_report(MYSQLI_REPORT_OFF);
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
if ($mysqli->connect_errno) {
    throw new RuntimeException('mysqli connection error: ' . $mysqli->connect_error);
}

/* Set the desired charset after establishing a connection */
$mysqli->set_charset('utf8mb4');
if ($mysqli->errno) {
    throw new RuntimeException('mysqli error: ' . $mysqli->error);
}

Estilo procedural

<?php

error_reporting(0);
mysqli_report(MYSQLI_REPORT_OFF);
$mysqli = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
if (mysqli_connect_errno()) {
    throw new RuntimeException('mysqli connection error: ' . mysqli_connect_error());
}

/* Set the desired charset after establishing a connection */
mysqli_set_charset($mysqli, 'utf8mb4');
if (mysqli_errno($mysqli)) {
    throw new RuntimeException('mysqli error: ' . mysqli_error($mysqli));
}

Notas

Nota:

MySQLnd sempre assume o charset padrão do banco de dados. Este charset é enviado durante a criação da conexão, e o mysqlnd usará a partir daí.

Libmysql utiliza o charset padrão configurado no arquivo my.cnf ou por uma chamada a mysqli_options() anterior a chamada de mysqli_real_connect() e depois de mysqli_init().

Nota:

Estilo orientado à objeto only: If the connection fails, an object is still returned. To check whether the connection failed, use either the mysqli_connect_error() function or the mysqli->connect_error property as in the preceding examples.

Nota:

If it is necessary to set options, such as the connection timeout, mysqli_real_connect() must be used instead.

Nota:

Calling the constructor with no parameters is the same as calling mysqli_init().

Nota:

Error "Can't create TCP/IP socket (10106)" usually means that the variables_order configure directive doesn't contain character E. On Windows, if the environment is not copied the SYSTEMROOT environment variable won't be available and PHP will have problems loading Winsock.

Veja Também

  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_options() - Set options
  • mysqli_connect_errno() - Retorna o código de erro da ultima chamada a função connect
  • mysqli_connect_error() - Retorna uma string descrevendo o ultimo erro da função connect
  • mysqli_close() - Fecha uma conexão aberta anteriormente com o banco de dados


Realiza operações de debug

  • « mysqli::__construct
  • mysqli::dump_debug_info »
  • PHP Manual
  • MySQLi
  • Realiza operações de debug

mysqli_debug

(PHP 5, PHP 7)

mysqli_debug — Realiza operações de debug

Descrição

mysqli_debug ( string $debug ) : void

A função mysqli_debug() é usada para realizar operações de debug usando a biblioteca de debug Fred Fish. O parâmetro debug é uma string representando a operação de debug a realizar.

Nota:

Para usar a função mysqli_debug() você deve compilar a biblioteca de cliente do MySQL para suportar debug.

Valores de retorno

mysqli_debug() não retorna nenhum valor.

Veja também

mysqli_dump_debug_info(), mysqli_report()

Exemplo

Exemplo #1 Gerando um arquivo de Trace

<?php

/* Create a trace file in '/tmp/client.trace' on the local (client) machine: */
mysqli_debug("d:t:0,/tmp/client.trace");

?>


Descarrega informação de debug no log

  • « mysqli_debug
  • mysqli->errno »
  • PHP Manual
  • MySQLi
  • Descarrega informação de debug no log

mysqli::dump_debug_info

mysqli_dump_debug_info

(PHP 5, PHP 7)

mysqli::dump_debug_info -- mysqli_dump_debug_info — Descarrega informação de debug no log

Descrição

Estilo orientado a objeto (metodo):

mysqli::dump_debug_info ( ) : bool

Estilo de procedimento:

mysqli_dump_debug_info ( mysqli $link ) : bool

Esta função foi criada para ser executada por um usuário com privilégio SUPER e é usada para descaregar informações no log para o servidor MySQL relacionado a conexão especificada pelo parâmetro link.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • mysqli_debug() - Realiza operações de debug


Retorna o código de erro para a chamada de função mais recente

  • « mysqli::dump_debug_info
  • mysqli::$error_list »
  • PHP Manual
  • MySQLi
  • Retorna o código de erro para a chamada de função mais recente

mysqli->errno

mysqli_errno

(PHP 5, PHP 7)

mysqli->errno -- mysqli_errno — Retorna o código de erro para a chamada de função mais recente

Descrição

Estilo orientado a objeto (propriedade):

int $errno;

Estilo de procedimento:

mysqli_errno ( mysqli $link ) : int

A função mysqli_errno() irá retornar o ultimo código de erro para a função mais recente do MySQLi usada que possa ser bem sucedida ou falhar com respeito a conexão com o banco de dados definido pelo parâmetro link. Se não houveram erros, esta função retorna zero.

Números de erros das mensagens do cliente são listados no arquivo de cabeçalho do MySQL errmsg.h, números de erros das mensagens do servidor são listados em mysqld_error.h. Na distribuição da fonte do MySQL você pode encontrar uma lista completa das mensagens de erros no arquivo Docs/mysqld_error.txt.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Um código de erro para a ultima chamada, se tiver falhado. Zero indica que não houve erro.

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Errorcode: %d\n", $mysqli->errno);
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errorcode: %d\n", mysqli_errno($link));
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Errorcode: 1193

Veja Também

  • mysqli_connect_errno() - Retorna o código de erro da ultima chamada a função connect
  • mysqli_connect_error() - Retorna uma string descrevendo o ultimo erro da função connect
  • mysqli_error() - Retorna uma string descrevendo o ultimo erro
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation


Returns a list of errors from the last command executed

  • « mysqli->errno
  • mysqli->error »
  • PHP Manual
  • MySQLi
  • Returns a list of errors from the last command executed

mysqli::$error_list

mysqli_error_list

(PHP 5 >= 5.4.0, PHP 7)

mysqli::$error_list -- mysqli_error_list — Returns a list of errors from the last command executed

Descrição

Estilo orientado à objeto

array $mysqli->error_list;

Estilo procedural

mysqli_error_list ( mysqli $link ) : array

Returns a array of errors for the most recent MySQLi function call that can succeed or fail.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

A list of errors, each as an associative array containing the errno, error, and sqlstate.

Exemplos

Exemplo #1 $mysqli->error_list example

Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "nobody", "");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!$mysqli->query("SET a=1")) {
    print_r($mysqli->error_list);
}

/* close connection */
$mysqli->close();
?>

Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    print_r(mysqli_error_list($link));
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Array
(
    [0] => Array
        (
            [errno] => 1193
            [sqlstate] => HY000
            [error] => Unknown system variable 'a'
        )

)

Veja Também

  • mysqli_connect_errno() - Retorna o código de erro da ultima chamada a função connect
  • mysqli_connect_error() - Retorna uma string descrevendo o ultimo erro da função connect
  • mysqli_error() - Retorna uma string descrevendo o ultimo erro
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation


Retorna uma string descrevendo o ultimo erro

  • « mysqli::$error_list
  • mysqli_field_count »
  • PHP Manual
  • MySQLi
  • Retorna uma string descrevendo o ultimo erro

mysqli->error

mysqli_error

(PHP 5, PHP 7)

mysqli->error -- mysqli_error — Retorna uma string descrevendo o ultimo erro

Descrição

Object oriented style (property)

string $error;

Estilo de procedimento:

mysqli_error ( mysqli $link ) : string

A função mysqli_error() é identica a função correspondente mysqli_errno() de todas as maneiras, exceto que ao invés de retornar um código de erro inteiro, a função mysqli_error() irá retornar uma string representando o ultimo erro que aconteceu na conexão com o banco de dados representado pelo parâmetro link. Se não houve erro, esta função irá retornar uma string vazia.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Uma string que descreve o erro. Uma string vazia se não houve erro.

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Errormessage: %s\n", $mysqli->error);
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errormessage: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Errormessage: Unknown system variable 'a'

Veja Também

  • mysqli_connect_errno() - Retorna o código de erro da ultima chamada a função connect
  • mysqli_connect_error() - Retorna uma string descrevendo o ultimo erro da função connect
  • mysqli_errno() - Retorna o código de erro para a chamada de função mais recente
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation


Retorna o número de colunas para a consulta mais recente

  • « mysqli->error
  • mysqli::get_charset »
  • PHP Manual
  • MySQLi
  • Retorna o número de colunas para a consulta mais recente

mysqli_field_count

mysqli->field_count

(PHP 5, PHP 7)

mysqli_field_count -- mysqli->field_count — Retorna o número de colunas para a consulta mais recente

Descrição

Estilo de procedimento:

mysqli_field_count ( object $link ) : int

Estilo orientado a objeto (metodo):

field_count ( ) : int

Retorna o número de colunas para a consulta mais recente na conexão representada pelo parâmetro link. Esta função pode ser útil ao usar a função mysqli_store_result() para determinar se a consulta produziu um conjunto de resultados vazio ou não sem conhecer a natureza da consulta.

Valores de retorno

Um inteiro representando o número de campos no conjunto de resultados

Exemplo

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query( "DROP TABLE IF EXISTS friends");
$mysqli->query( "CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query( "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$mysqli->real_query($HTTP_POST_VARS['query']);

if ($mysqli->field_count) {
    /* this was a select/show or describe query */
    $result = $mysqli->store_result();

    /* process resultset */
    $row = $result->fetch_row();

    /* free resultset */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

mysqli_real_query($link, $HTTP_POST_VARS['query']);

if (mysqli_field_count($link)) {
    /* this was a select/show or describe query */
    $result = mysqli_store_result($link);

    /* process resultset */
    $row = mysqli_fetch_row($result);

    /* free resultset */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>


Returns a character set object

  • « mysqli_field_count
  • mysqli::get_client_info »
  • PHP Manual
  • MySQLi
  • Returns a character set object

mysqli::get_charset

mysqli_get_charset

(PHP 5 >= 5.1.0, PHP 7)

mysqli::get_charset -- mysqli_get_charset — Returns a character set object

Descrição

Estilo orientado à objeto

public mysqli::get_charset ( ) : object

Estilo procedural

mysqli_get_charset ( mysqli $link ) : object

Returns a character set object providing several properties of the current active character set.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

The function returns a character set object with the following properties:

charset

Character set name

collation

Collation name

dir

Directory the charset description was fetched from (?) or "" for built-in character sets

min_length

Minimum character length in bytes

max_length

Maximum character length in bytes

number

Internal character set number

state

Character set status (?)

Exemplos

Exemplo #1 mysqli::get_charset() example

Estilo orientado à objeto

<?php
  $db = mysqli_init();
  $db->real_connect("localhost","root","","test");
  var_dump($db->get_charset());
?>

Estilo procedural

<?php
  $db = mysqli_init();
  mysqli_real_connect($db, "localhost","root","","test");
  var_dump(mysqli_get_charset($db));
?>

Os exemplos acima irão imprimir:

object(stdClass)#2 (7) {
  ["charset"]=>
  string(6) "latin1"
  ["collation"]=>
  string(17) "latin1_swedish_ci"
  ["dir"]=>
  string(0) ""
  ["min_length"]=>
  int(1)
  ["max_length"]=>
  int(1)
  ["number"]=>
  int(8)
  ["state"]=>
  int(801)
}

Veja Também

  • mysqli_character_set_name() - Retorna o conjunto de caracteres padrão para a conexão com o banco de dados
  • mysqli_set_charset() - Sets the default client character set


Retorna a versão do cliente MySQL como uma string

  • « mysqli::get_charset
  • mysqli::get_client_version »
  • PHP Manual
  • MySQLi
  • Retorna a versão do cliente MySQL como uma string

mysqli::get_client_info

mysqli_get_client_info

(PHP 5, PHP 7)

mysqli::get_client_info -- mysqli_get_client_info — Retorna a versão do cliente MySQL como uma string

Descrição

mysqli::get_client_info ( ) : string
mysqli_get_client_info ( ) : string

A função mysqli_get_client_info() é usada para retornar uma string representando a versão de cliente usada na extensão MySQLi.

Valor Retornado

Uma string que representa a versão da biblioteca de cliente do MySQL.

Exemplos

Exemplo #1 mysqli_get_client_info

<?php

/* We don't need a connection to determine
   the version of mysql client library */

printf("Client library version: %s\n", mysqli_get_client_info());
?>

Veja Também

  • mysqli_get_client_version() - Obtém informação sobre o cliente MySQL
  • mysqli_get_server_info() - Retorna a versão do servidor MySQL
  • mysqli_get_server_version() - Retorna a versão do servidor MySQL como um integer


Obtém informação sobre o cliente MySQL

  • « mysqli::get_client_info
  • mysqli::get_connection_stats »
  • PHP Manual
  • MySQLi
  • Obtém informação sobre o cliente MySQL

mysqli::get_client_version

mysqli_get_client_version

(PHP 5, PHP 7)

mysqli::get_client_version -- mysqli_get_client_version — Obtém informação sobre o cliente MySQL

Descrição

mysqli::get_client_version ( ) : int
mysqli_get_client_version ( ) : int

Retorna a versão do cliente como um inteiro.

Valor Retornado

Um número que representa a versão da biblioteca de cliente MySQL no formato: versão_principal*10000 + versão_menor *100 + sub_versão. Por exemplo, 4.1.0 é retornado como 40100.

Isto é útil para determinar rapidamente a versão da biblioteca de cliente para saber se alguma funcionalidade existe.

Exemplos

Exemplo #1 mysqli_get_client_version

<?php

/* We don't need a connection to determine
   the version of mysql client library */

printf("Client library version: %d\n", mysqli_get_client_version());
?>

Veja Também

  • mysqli_get_client_info() - Retorna a versão do cliente MySQL como uma string
  • mysqli_get_server_info() - Retorna a versão do servidor MySQL
  • mysqli_get_server_version() - Retorna a versão do servidor MySQL como um integer


Returns statistics about the client connection

  • « mysqli::get_client_version
  • mysqli_get_host_info »
  • PHP Manual
  • MySQLi
  • Returns statistics about the client connection

mysqli::get_connection_stats

mysqli_get_connection_stats

(PHP 5 >= 5.3.0, PHP 7)

mysqli::get_connection_stats -- mysqli_get_connection_stats — Returns statistics about the client connection

Descrição

Estilo orientado à objeto

public mysqli::get_connection_stats ( ) : bool

Estilo procedural

mysqli_get_connection_stats ( mysqli $link ) : array

Returns statistics about the client connection. Disponível apenas no mysqlnd.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Returns an array with connection stats if success, false otherwise.

Exemplos

Exemplo #1 A mysqli_get_connection_stats() example

<?php
$link = mysqli_connect();
print_r(mysqli_get_connection_stats($link));
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Veja Também

  • Stats description


Retorna uma string representando o tipo da conexão usada

  • « mysqli::get_connection_stats
  • mysqli->protocol_version »
  • PHP Manual
  • MySQLi
  • Retorna uma string representando o tipo da conexão usada

mysqli_get_host_info

mysqli->host_info

(PHP 5, PHP 7)

mysqli_get_host_info -- mysqli->host_info — Retorna uma string representando o tipo da conexão usada

Descrição

Estilo de procedimento:

mysqli_get_host_info ( mysqli $link ) : string

Estilo orientado a objeto (propriedade):

string $host_info;

A função mysqli_get_host_info() retorna uma string descrevendo a conexão representada pelo parâmetro link que esta sendo usada (incluindo o nome do servidor).

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Uma string de caracteres representando o nome do servidor e o tipo de conexão.

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print host information */
printf("Host info: %s\n", $mysqli->host_info);

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print host information */
printf("Host info: %s\n", mysqli_get_host_info($link));

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Host info: Localhost via UNIX socket

Veja Também

  • mysqli_get_proto_info() - Retorna a versão do protocolo MySQL usada


Retorna a versão do protocolo MySQL usada

  • « mysqli_get_host_info
  • mysqli->server_info »
  • PHP Manual
  • MySQLi
  • Retorna a versão do protocolo MySQL usada

mysqli->protocol_version

mysqli_get_proto_info

(PHP 5, PHP 7)

mysqli->protocol_version -- mysqli_get_proto_info — Retorna a versão do protocolo MySQL usada

Descrição

Estilo orientado a objeto (propriedade):

string $protocol_version;

Estilo de procedimento:

mysqli_get_proto_info ( mysqli $link ) : int

Retorna um integer representando a versão do protocolo MySQL usada pela conexão representada pelo parâmetro link.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Retorna um integer representando a versão do protocolo.

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print protocol version */
printf("Protocol version: %d\n", $mysqli->protocol_version);

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print protocol version */
printf("Protocol version: %d\n", mysqli_get_proto_info($link));

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Protocol version: 10

Veja Também

  • mysqli_get_host_info() - Retorna uma string representando o tipo da conexão usada


Retorna a versão do servidor MySQL

  • « mysqli->protocol_version
  • mysqli->server_version »
  • PHP Manual
  • MySQLi
  • Retorna a versão do servidor MySQL

mysqli->server_info

mysqli_get_server_info

(PHP 5, PHP 7)

mysqli->server_info -- mysqli_get_server_info — Retorna a versão do servidor MySQL

Descrição

Estilo orientado a objeto (propriedade):

string $server_info;

Estilo de procedimento:

mysqli_get_server_info ( mysqli $link ) : string

Retorna uma string representando a versão do servidor MySQL que a extensão MySQLi esta conectada (representado pelo parâmetro link).

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Ums string de caracteres representando a versão do servidor.

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %s\n", $mysqli->server_info);

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %s\n", mysqli_get_server_info($link));

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Server version: 4.1.2-alpha-debug

Veja Também

  • mysqli_get_client_info() - Retorna a versão do cliente MySQL como uma string
  • mysqli_get_client_version() - Obtém informação sobre o cliente MySQL
  • mysqli_get_server_version() - Retorna a versão do servidor MySQL como um integer


Retorna a versão do servidor MySQL como um integer

  • « mysqli->server_info
  • mysqli::get_warnings »
  • PHP Manual
  • MySQLi
  • Retorna a versão do servidor MySQL como um integer

mysqli->server_version

mysqli_get_server_version

(PHP 5, PHP 7)

mysqli->server_version -- mysqli_get_server_version — Retorna a versão do servidor MySQL como um integer

Descrição

Estilo orientado a objeto (propriedade):

int $server_version;

Estilo de procedimento:

mysqli_get_server_version ( mysqli $link ) : int

A função mysqli_get_server_version() retorna a versão do servidor a qual se esta conectado (representado pelo parâmetro link parameter) como um integer.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Um integer representando a versão do servidor.

A forma deste número de versão é versão_principal * 10000 + versão_menor * 100 + sub_versão (ex. a versão 4.1.0 é 40100).

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %d\n", $mysqli->server_version);

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %d\n", mysqli_get_server_version($link));

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Server version: 40102

Veja Também

  • mysqli_get_client_info() - Retorna a versão do cliente MySQL como uma string
  • mysqli_get_client_version() - Obtém informação sobre o cliente MySQL
  • mysqli_get_server_info() - Retorna a versão do servidor MySQL


Get result of SHOW WARNINGS

  • « mysqli->server_version
  • mysqli_info »
  • PHP Manual
  • MySQLi
  • Get result of SHOW WARNINGS

mysqli::get_warnings

mysqli_get_warnings

(PHP 5 >= 5.1.0, PHP 7)

mysqli::get_warnings -- mysqli_get_warnings — Get result of SHOW WARNINGS

Descrição

Estilo orientado à objeto

public mysqli::get_warnings ( ) : mysqli_warning

Estilo procedural

mysqli_get_warnings ( mysqli $link ) : mysqli_warning
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Recupera informação sobre a mais recente query executada

  • « mysqli::get_warnings
  • mysqli_init »
  • PHP Manual
  • MySQLi
  • Recupera informação sobre a mais recente query executada

mysqli_info

mysqli->info

(PHP 5, PHP 7)

mysqli_info -- mysqli->info — Recupera informação sobre a mais recente query executada

Descrição

Modo procedural:

mysqli_info ( mysqli $link ) : string

Modo orientado a objeto (propriedade)

string $info;

A função mysqli_info() retorna uma string contendo informação sobre a última query executada. Normalmente a informação é como visto abaixo:

Possíveis valores de retorno da mysqli_info
Tipo de query | Exemplo de resultado
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

Nota:

Queries que não dão um dos formatos acima não são suportadas. Nesta situação, mysqli_info() irá retornar uma string vazia.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Uma string representando informação adicional sobre a mais recente query executada.

Exemplos

Exemplo #1 Modo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
$mysqli->query("INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", $mysqli->info);

/* close connection */
$mysqli->close();
?>

Exemplo #2 Modo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
mysqli_query($link, "INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", mysqli_info($link));

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Records: 150  Duplicates: 0  Warnings: 0

Veja Também

  • mysqli_affected_rows() - Retorna o número de linhas afetadas pela operação MySQL anterior
  • mysqli_warning_count() - Returns the number of warnings from the last query for the given link
  • mysqli_num_rows() - Gets the number of rows in a result


Inicializa a MySQLi e retorna um resource para usar com mysqli_real_connect()

  • « mysqli_info
  • mysqli_insert_id »
  • PHP Manual
  • MySQLi
  • Inicializa a MySQLi e retorna um resource para usar com mysqli_real_connect()

mysqli_init

(PHP 5, PHP 7)

mysqli_init — Inicializa a MySQLi e retorna um resource para usar com mysqli_real_connect()

Descrição

Modo procedural:

mysqli_init ( ) : mysqli

Modo orientado a objeto (método):

init ( ) : mysqli

Aloca ou inicializa um objeto MYSQL destinado para mysqli_options() e mysqli_real_connect().

Nota:

Chamadas subseqüentes para alguma função mysqli (exceto mysqli_options()) irá falhar se mysqli_real_connect() não for chamado.

Valor Retornado

Retorna um objeto.

Veja Também

  • mysqli_options() - Set options
  • mysqli_close() - Fecha uma conexão aberta anteriormente com o banco de dados
  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_connect() - Sinônimo de mysqli::__construct


Retorna o id gerado automaticamente na última consulta

  • « mysqli_init
  • mysqli::kill »
  • PHP Manual
  • MySQLi
  • Retorna o id gerado automaticamente na última consulta

mysqli_insert_id

mysqli->insert_id

(PHP 5, PHP 7)

mysqli_insert_id -- mysqli->insert_id — Retorna o id gerado automaticamente na última consulta

Descrição

Modo procedural:

mysqli_insert_id ( mysqli $link ) : int

Modo orientado a objeto (propriedade):

int $insert_id;

A função mysqli_insert_id() retorna o ID gerado pela consulta em uma tabela com uma coluna com o atributo AUTO_INCREMENT. Se a última consulta não foi um INSERT ou UPDATE ou se a tabela modificada não tem uma coluna com o atributo AUTO_INCREMENT, esta função irá retornar zero.

Nota:

Executar uma consulta INSERT ou UPDATE usando a função LAST_INSERT_ID() irá também modificar o valor retornado pela função mysqli_insert_id().

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

O valor do campo AUTO_INCREMENT que foi atualizado pela consulta anterior. Retorna zero se não houve uma consulta anterior na conexão ou se a consulta não atualizou um valor AUTO_INCREMENT.

Nota:

Se o número for maior do que o maior valor inteiro possível, mysqli_insert_id() irá retornar uma string.

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

printf ("New Record has id %d.\n", $mysqli->insert_id);

/* drop table */
$mysqli->query("DROP TABLE myCity");

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link, $query);

printf ("New Record has id %d.\n", mysqli_insert_id($link));

/* drop table */
mysqli_query($link, "DROP TABLE myCity");

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

New Record has id 1.


Solicita ao servidor o encerramento de um thread do MySQL

  • « mysqli_insert_id
  • mysqli::more_results »
  • PHP Manual
  • MySQLi
  • Solicita ao servidor o encerramento de um thread do MySQL

mysqli::kill

mysqli_kill

(PHP 5, PHP 7)

mysqli::kill -- mysqli_kill — Solicita ao servidor o encerramento de um thread do MySQL

Descrição

Modo orientado a objeto (método)

mysqli::kill ( int $processid ) : bool

Modo procedural:

mysqli_kill ( mysqli $link , int $processid ) : bool

Esta função é usado para solicitar ao servidor o encerramento de uma específica thread do MySQL pelo parâmetro processid. Este valor precisa ser recuperado chamando a função mysqli_thread_id().

Para encerrar a execução de uma query, você deve usar o comando SQL KILL QUERY processid.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Modo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = $mysqli->thread_id;

/* Kill connection */
$mysqli->kill($thread_id);

/* This should produce an error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", $mysqli->error);
    exit;
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Modo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = mysqli_thread_id($link);

/* Kill connection */
mysqli_kill($link, $thread_id);

/* This should produce an error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", mysqli_error($link));
    exit;
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Error: MySQL server has gone away

Veja Também

  • mysqli_thread_id() - Returns the thread ID for the current connection


Verifica se há mais algum resultado de uma multi query

  • « mysqli::kill
  • mysqli::multi_query »
  • PHP Manual
  • MySQLi
  • Verifica se há mais algum resultado de uma multi query

mysqli::more_results

mysqli_more_results

(PHP 5, PHP 7)

mysqli::more_results -- mysqli_more_results — Verifica se há mais algum resultado de uma multi query

Descrição

mysqli::more_results ( ) : bool
mysqli_more_results ( mysqli $link ) : bool

Indica se um ou mais conjunto de resultados estão disponíveis de uma chamada anterior a mysqli_multi_query().

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Veja mysqli_multi_query().

Veja Também

  • mysqli_multi_query() - Performs a query on the database
  • mysqli_next_result() - Prepara o próximo resultado de multi_query
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval


Performs a query on the database

  • « mysqli::more_results
  • mysqli::next_result »
  • PHP Manual
  • MySQLi
  • Performs a query on the database

mysqli::multi_query

mysqli_multi_query

(PHP 5, PHP 7)

mysqli::multi_query -- mysqli_multi_query — Performs a query on the database

Descrição

Modo orientado a objeto (método):

mysqli::multi_query ( string $query ) : bool

Modo procedural:

mysqli_multi_query ( mysqli $link , string $query ) : bool

Executa um ou múltiplas queries que são concatenadas com ponto-e-vírgula.

Para recuperar o conjunto de resultado da primeira query, você pode usar mysqli_use_result() ou mysqli_store_result(). Todos os resultados de queries subseqüentes podem ser processados usando mysqli_more_results() e mysqli_next_result().

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

query

A query, como uma string.

Valor Retornado

Retorna false se o primeiro comando falhar. Para recuperar erros subseqüentes de outros comandos, você terá que chamar mysqli_next_result() primeiro.

Exemplos

Exemplo #1 Modo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->store_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->free();
        }
        /* print divider */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Modo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_store_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir algo similar à:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Veja Também

  • mysqli_use_result() - Initiate a result set retrieval
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_next_result() - Prepara o próximo resultado de multi_query
  • mysqli_more_results() - Verifica se há mais algum resultado de uma multi query


Prepara o próximo resultado de multi_query

  • « mysqli::multi_query
  • mysqli::options »
  • PHP Manual
  • MySQLi
  • Prepara o próximo resultado de multi_query

mysqli::next_result

mysqli_next_result

(PHP 5, PHP 7)

mysqli::next_result -- mysqli_next_result — Prepara o próximo resultado de multi_query

Descrição

mysqli::next_result ( ) : bool
mysqli_next_result ( mysqli $link ) : bool

Prepara o próximo conjunto de resultado de uma chamada anterior para
mysqli_multi_query() que pode ser recuperado por
mysqli_store_result() ou
mysqli_use_result().

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Veja mysqli_multi_query().

Veja Também

  • mysqli_multi_query() - Performs a query on the database
  • mysqli_more_results() - Verifica se há mais algum resultado de uma multi query
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval


Set options

  • « mysqli::next_result
  • mysqli::ping »
  • PHP Manual
  • MySQLi
  • Set options

mysqli::options

mysqli_options

(PHP 5, PHP 7)

mysqli::options -- mysqli_options — Set options

Descrição

Estilo orientado à objeto

public mysqli::options ( int $option , mixed $value ) : bool

Estilo procedural

mysqli_options ( mysqli $link , int $option , mixed $value ) : bool

Used to set extra connect options and affect behavior for a connection.

This function may be called multiple times to set several options.

mysqli_options() should be called after
mysqli_init() and before
mysqli_real_connect().

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

option

The option that you want to set. It can be one of the following values:

Valid options
Name | Description
MYSQLI_OPT_CONNECT_TIMEOUT | Connection timeout in seconds
MYSQLI_OPT_READ_TIMEOUT | Command execution result timeout in seconds. Available as of PHP 7.2.0.
MYSQLI_OPT_LOCAL_INFILE | Enable/disable use of LOAD LOCAL INFILE
MYSQLI_INIT_COMMAND | Command to execute after when connecting to MySQL server
MYSQLI_SET_CHARSET_NAME | The charset to be set as default.
MYSQLI_READ_DEFAULT_FILE | Read options from named option file instead of my.cnf Not supported by mysqlnd.
MYSQLI_READ_DEFAULT_GROUP | Read options from the named group from my.cnf or the file specified with MYSQL_READ_DEFAULT_FILE. Not supported by mysqlnd.
MYSQLI_SERVER_PUBLIC_KEY | RSA public key file used with the SHA-256 based authentication.
MYSQLI_OPT_NET_CMD_BUFFER_SIZE | The size of the internal command/network buffer. Only valid for mysqlnd.
MYSQLI_OPT_NET_READ_BUFFER_SIZE | Maximum read chunk size in bytes when reading the body of a MySQL command packet. Only valid for mysqlnd.
MYSQLI_OPT_INT_AND_FLOAT_NATIVE | Convert integer and float columns back to PHP numbers. Only valid for mysqlnd.
MYSQLI_OPT_SSL_VERIFY_SERVER_CERT | Whether to verify server certificate or not.

value

The value for the option.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

See mysqli_real_connect().

Notas

Nota:

MySQLnd sempre assume o charset padrão do banco de dados. Este charset é enviado durante a criação da conexão, e o mysqlnd usará a partir daí.

Libmysql utiliza o charset padrão configurado no arquivo my.cnf ou por uma chamada a mysqli_options() anterior a chamada de mysqli_real_connect() e depois de mysqli_init().

Veja Também

  • mysqli_init() - Inicializa a MySQLi e retorna um resource para usar com mysqli_real_connect()
  • mysqli_real_connect() - Opens a connection to a mysql server


Pings a server connection, or tries to reconnect if the connection has gone down

  • « mysqli::options
  • mysqli::poll »
  • PHP Manual
  • MySQLi
  • Pings a server connection, or tries to reconnect if the connection has gone down

mysqli::ping

mysqli_ping

(PHP 5, PHP 7)

mysqli::ping -- mysqli_ping — Pings a server connection, or tries to reconnect if the connection has gone down

Descrição

Estilo orientado à objeto

public mysqli::ping ( ) : bool

Estilo procedural

mysqli_ping ( mysqli $link ) : bool

Checks whether the connection to the server is working. If it has gone down and global option mysqli.reconnect is enabled, an automatic reconnection is attempted.

Nota: The php.ini setting mysqli.reconnect is ignored by the mysqlnd driver, so automatic reconnection is never attempted.

This function can be used by clients that remain idle for a long while, to check whether the server has closed the connection and reconnect if necessary.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 mysqli::ping() example

Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

/* check if server is alive */
if ($mysqli->ping()) {
    printf ("Our connection is ok!\n");
} else {
    printf ("Error: %s\n", $mysqli->error);
}

/* close connection */
$mysqli->close();
?>

Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* check if server is alive */
if (mysqli_ping($link)) {
    printf ("Our connection is ok!\n");
} else {
    printf ("Error: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Our connection is ok!


Poll connections

  • « mysqli::ping
  • mysqli::prepare »
  • PHP Manual
  • MySQLi
  • Poll connections

mysqli::poll

mysqli_poll

(PHP 5 >= 5.3.0, PHP 7)

mysqli::poll -- mysqli_poll — Poll connections

Descrição

Estilo orientado à objeto

public static mysqli::poll ( array &$read , array &$error , array &$reject , int $sec , int $usec = 0 ) : int

Estilo procedural

mysqli_poll ( array &$read , array &$error , array &$reject , int $sec , int $usec = 0 ) : int

Poll connections. Disponível apenas no mysqlnd. The method can be used as static.

Parâmetros

read

List of connections to check for outstanding results that can be read.

error

List of connections on which an error occurred, for example, query failure or lost connection.

reject

List of connections rejected because no asynchronous query has been run on for which the function could poll results.

sec

Maximum number of seconds to wait, must be non-negative.

usec

Maximum number of microseconds to wait, must be non-negative.

Valor Retornado

Returns number of ready connections upon success, false otherwise.

Exemplos

Exemplo #1 A mysqli_poll() example

<?php
$link1 = mysqli_connect();
$link1->query("SELECT 'test'", MYSQLI_ASYNC);
$all_links = array($link1);
$processed = 0;
do {
    $links = $errors = $reject = array();
    foreach ($all_links as $link) {
        $links[] = $errors[] = $reject[] = $link;
    }
    if (!mysqli_poll($links, $errors, $reject, 1)) {
        continue;
    }
    foreach ($links as $link) {
        if ($result = $link->reap_async_query()) {
            print_r($result->fetch_row());
            if (is_object($result))
                mysqli_free_result($result);
        } else die(sprintf("MySQLi Error: %s", mysqli_error($link)));
        $processed++;
    }
} while ($processed < count($all_links));
?>

O exemplo acima irá imprimir:

Array
(
    [0] => test
)

Veja Também

  • mysqli_query() - Performs a query on the database
  • mysqli_reap_async_query() - Get result from async query


Prepare an SQL statement for execution

  • « mysqli::poll
  • mysqli::query »
  • PHP Manual
  • MySQLi
  • Prepare an SQL statement for execution

mysqli::prepare

mysqli_prepare

(PHP 5, PHP 7)

mysqli::prepare -- mysqli_prepare — Prepare an SQL statement for execution

Descrição

Estilo orientado à objeto

public mysqli::prepare ( string $query ) : mysqli_stmt

Estilo procedural

mysqli_prepare ( mysqli $link , string $query ) : mysqli_stmt

Prepares the SQL query, and returns a statement handle to be used for further operations on the statement. The query must consist of a single SQL statement.

The parameter markers must be bound to application variables using mysqli_stmt_bind_param() and/or mysqli_stmt_bind_result() before executing the statement or fetching rows.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

query

The query, as a string.

Nota:

You should not add a terminating semicolon or \g to the statement.

This parameter can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

Nota:

The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement, or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. It's not allowed to compare marker with NULL by ? IS NULL too. In general, parameters are legal only in Data Manipulation Language (DML) statements, and not in Data Definition Language (DDL) statements.

Valor Retornado

mysqli_prepare() returns a statement object or false if an error occurred.

Exemplos

Exemplo #1 mysqli::prepare() example

Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    $stmt->bind_param("s", $city);

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($district);

    /* fetch value */
    $stmt->fetch();

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
if ($stmt = mysqli_prepare($link, "SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    mysqli_stmt_bind_param($stmt, "s", $city);

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $district);

    /* fetch value */
    mysqli_stmt_fetch($stmt);

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Amersfoort is in district Utrecht

Veja Também

  • mysqli_stmt_execute() - Executa uma preparada query
  • mysqli_stmt_fetch() - Obtém resultados de um preparado comando e os coloca nas determinadas variáveis
  • mysqli_stmt_bind_param() - Passa variáveis para um preparado comando como parâmetros
  • mysqli_stmt_bind_result() - Passa variáveis para um preparado comando por resultado armazenado
  • mysqli_stmt_close() - Closes a prepared statement


Performs a query on the database

  • « mysqli::prepare
  • mysqli::real_connect »
  • PHP Manual
  • MySQLi
  • Performs a query on the database

mysqli::query

mysqli_query

(PHP 5, PHP 7)

mysqli::query -- mysqli_query — Performs a query on the database

Descrição

Estilo orientado à objeto

public mysqli::query ( string $query , int $resultmode = MYSQLI_STORE_RESULT ) : mixed

Estilo procedural

mysqli_query ( mysqli $link , string $query , int $resultmode = MYSQLI_STORE_RESULT ) : mixed

Performs a query against the database.

For non-DML queries (not INSERT, UPDATE or DELETE),
this function is similar to calling
mysqli_real_query() followed by either
mysqli_use_result() or
mysqli_store_result().

Nota:

In the case where you pass a statement to mysqli_query() that is longer than max_allowed_packet of the server, the returned error codes are different depending on whether you are using MySQL Native Driver (mysqlnd) or MySQL Client Library (libmysqlclient). The behavior is as follows:

  • mysqlnd on Linux returns an error code of 1153. The error message means got a packet bigger than max_allowed_packet bytes.

  • mysqlnd on Windows returns an error code 2006. This error message means server has gone away.

  • libmysqlclient on all platforms returns an error code 2006. This error message means server has gone away.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

query

The query string.

Data inside the query should be properly escaped.

resultmode

Either the constant MYSQLI_USE_RESULT or MYSQLI_STORE_RESULT depending on the desired behavior. By default, MYSQLI_STORE_RESULT is used.

If you use MYSQLI_USE_RESULT all subsequent calls will return error Commands out of sync unless you call mysqli_free_result()

With MYSQLI_ASYNC (available with mysqlnd), it is possible to perform query asynchronously. mysqli_poll() is then used to get results from such queries.

Valor Retornado

Returns false on failure. For successful queries which produce a result set, such as SELECT, SHOW, DESCRIBE or EXPLAIN, mysqli_query() will return a mysqli_result object. For other successful queries, mysqli_query() will return true.

Exemplos

Exemplo #1 mysqli::query() example

Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

/* Create table doesn't return a resultset */
if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", $result->num_rows);

    /* free result set */
    $result->close();
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!$mysqli->query("SET @a:='this will not work'")) {
        printf("Error: %s\n", $mysqli->error);
    }
    $result->close();
}

$mysqli->close();
?>

Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Create table doesn't return a resultset */
if (mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", mysqli_num_rows($result));

    /* free result set */
    mysqli_free_result($result);
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = mysqli_query($link, "SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!mysqli_query($link, "SET @a:='this will not work'")) {
        printf("Error: %s\n", mysqli_error($link));
    }
    mysqli_free_result($result);
}

mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Table myCity successfully created.
Select returned 10 rows.
Error: Commands out of sync;  You can't run this command now

Veja Também

  • mysqli_real_query() - Execute an SQL query
  • mysqli_multi_query() - Performs a query on the database
  • mysqli_free_result() - Frees the memory associated with a result


Opens a connection to a mysql server

  • « mysqli::query
  • mysqli::real_escape_string »
  • PHP Manual
  • MySQLi
  • Opens a connection to a mysql server

mysqli::real_connect

mysqli_real_connect

(PHP 5, PHP 7)

mysqli::real_connect -- mysqli_real_connect — Opens a connection to a mysql server

Descrição

Estilo orientado à objeto

public mysqli::real_connect ( string $host = ? , string $username = ? , string $passwd = ? , string $dbname = ? , int $port = ? , string $socket = ? , int $flags = ? ) : bool

Estilo procedural

mysqli_real_connect ( mysqli $link , string $host = ? , string $username = ? , string $passwd = ? , string $dbname = ? , int $port = ? , string $socket = ? , int $flags = ? ) : bool

Establish a connection to a MySQL database engine.

This function differs from mysqli_connect():

  • mysqli_real_connect() needs a valid object which has to be created by function mysqli_init().

  • With the mysqli_options() function you can set various options for connection.

  • There is a flags parameter.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

host

Can be either a host name or an IP address. Passing the null value or the string "localhost" to this parameter, the local host is assumed. When possible, pipes will be used instead of the TCP/IP protocol.

username

The MySQL user name.

passwd

If provided or null, the MySQL server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password as provided or not).

dbname

If provided will specify the default database to be used when performing queries.

port

Specifies the port number to attempt to connect to the MySQL server.

socket

Specifies the socket or named pipe that should be used.

Nota:

Specifying the socket parameter will not explicitly determine the type of connection to be used when connecting to the MySQL server. How the connection is made to the MySQL database is determined by the host parameter.

flags

With the parameter flags you can set different connection options:

Supported flags
Name | Description
MYSQLI_CLIENT_COMPRESS | Use compression protocol
MYSQLI_CLIENT_FOUND_ROWS | return number of matched rows, not the number of affected rows
MYSQLI_CLIENT_IGNORE_SPACE | Allow spaces after function names. Makes all function names reserved words.
MYSQLI_CLIENT_INTERACTIVE | Allow interactive_timeout seconds (instead of wait_timeout seconds) of inactivity before closing the connection
MYSQLI_CLIENT_SSL | Use SSL (encryption)
MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT | Like MYSQLI_CLIENT_SSL, but disables validation of the provided SSL certificate. This is only for installations using MySQL Native Driver and MySQL 5.6 or later.

Nota:

For security reasons the MULTI_STATEMENT flag is not supported in PHP. If you want to execute multiple queries use the mysqli_multi_query() function.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 mysqli::real_connect() example

Estilo orientado à objeto

<?php

$mysqli = mysqli_init();
if (!$mysqli) {
    die('mysqli_init failed');
}

if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
    die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!$mysqli->real_connect('localhost', 'my_user', 'my_password', 'my_db')) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>

Estilo orientado à objeto when extending mysqli class

<?php

class foo_mysqli extends mysqli {
    public function __construct($host, $user, $pass, $db) {
        parent::init();

        if (!parent::options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
            die('Setting MYSQLI_INIT_COMMAND failed');
        }

        if (!parent::options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
            die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
        }

        if (!parent::real_connect($host, $user, $pass, $db)) {
            die('Connect Error (' . mysqli_connect_errno() . ') '
                    . mysqli_connect_error());
        }
    }
}

$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');

echo 'Success... ' . $db->host_info . "\n";

$db->close();
?>

Estilo procedural

<?php

$link = mysqli_init();
if (!$link) {
    die('mysqli_init failed');
}

if (!mysqli_options($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
    die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'my_db')) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Success... MySQL host info: localhost via TCP/IP

Notas

Nota:

MySQLnd sempre assume o charset padrão do banco de dados. Este charset é enviado durante a criação da conexão, e o mysqlnd usará a partir daí.

Libmysql utiliza o charset padrão configurado no arquivo my.cnf ou por uma chamada a mysqli_options() anterior a chamada de mysqli_real_connect() e depois de mysqli_init().

Veja Também

  • mysqli_connect() - Sinônimo de mysqli::__construct
  • mysqli_init() - Inicializa a MySQLi e retorna um resource para usar com mysqli_real_connect()
  • mysqli_options() - Set options
  • mysqli_ssl_set() - Used for establishing secure connections using SSL
  • mysqli_close() - Fecha uma conexão aberta anteriormente com o banco de dados


Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

  • « mysqli::real_connect
  • mysqli::real_query »
  • PHP Manual
  • MySQLi
  • Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

mysqli::real_escape_string

mysqli::escape_string

mysqli_real_escape_string

(PHP 5, PHP 7)

mysqli::real_escape_string -- mysqli::escape_string -- mysqli_real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

Descrição

Estilo orientado à objeto

public mysqli::escape_string ( string $escapestr ) : string
mysqli::real_escape_string ( string $escapestr ) : string

Estilo procedural

mysqli_real_escape_string ( mysqli $link , string $escapestr ) : string

This function is used to create a legal SQL string that you can use in an SQL statement. The given string is encoded to an escaped SQL string, taking into account the current character set of the connection.

Cuidado

Security: the default character set

The character set must be set either at the server level, or with the API function mysqli_set_charset() for it to affect mysqli_real_escape_string(). See the concepts section on character sets for more information.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

escapestr

The string to be escaped.

Characters encoded are NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.

Valor Retornado

Returns an escaped string.

Erros

Executing this function without a valid MySQLi connection passed in will return null and emit E_WARNING level errors.

Exemplos

Exemplo #1 mysqli::real_escape_string() example

Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!$mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    printf("Error: %s\n", $mysqli->sqlstate);
}

$city = $mysqli->real_escape_string($city);

/* this query with escaped $city will work */
if ($mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    printf("%d Row inserted.\n", $mysqli->affected_rows);
}

$mysqli->close();
?>

Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
    printf("Error: %s\n", mysqli_sqlstate($link));
}

$city = mysqli_real_escape_string($link, $city);

/* this query with escaped $city will work */
if (mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
    printf("%d Row inserted.\n", mysqli_affected_rows($link));
}

mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Error: 42000
1 Row inserted.

Notas

Nota:

For those accustomed to using mysql_real_escape_string(),
note that the arguments of mysqli_real_escape_string()
differ from what mysql_real_escape_string() expects.
The link identifier comes first in
mysqli_real_escape_string(), whereas the string to be escaped
comes first in mysql_real_escape_string().

Veja Também

  • mysqli_set_charset() - Sets the default client character set
  • mysqli_character_set_name() - Retorna o conjunto de caracteres padrão para a conexão com o banco de dados


Execute an SQL query

  • « mysqli::real_escape_string
  • mysqli::reap_async_query »
  • PHP Manual
  • MySQLi
  • Execute an SQL query

mysqli::real_query

mysqli_real_query

(PHP 5, PHP 7)

mysqli::real_query -- mysqli_real_query — Execute an SQL query

Descrição

Estilo orientado à objeto

public mysqli::real_query ( string $query ) : bool

Estilo procedural

mysqli_real_query ( mysqli $link , string $query ) : bool

Executes a single query against the database whose result can then be retrieved or stored using the mysqli_store_result() or mysqli_use_result() functions.

In order to determine if a given query should return a result set or not, see mysqli_field_count().

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

query

The query, as a string.

Data inside the query should be properly escaped.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • mysqli_query() - Performs a query on the database
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval


Get result from async query

  • « mysqli::real_query
  • mysqli::refresh »
  • PHP Manual
  • MySQLi
  • Get result from async query

mysqli::reap_async_query

mysqli_reap_async_query

(PHP 5 >= 5.3.0, PHP 7)

mysqli::reap_async_query -- mysqli_reap_async_query — Get result from async query

Descrição

Estilo orientado à objeto

public mysqli::reap_async_query ( ) : mysqli_result

Estilo procedural

mysqli_reap_async_query ( mysqli $link ) : mysqli_result

Get result from async query. Disponível apenas no mysqlnd.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Returns false on failure. For successful queries which produce a result set, such as SELECT, SHOW, DESCRIBE or EXPLAIN, mysqli_reap_async_query() will return a mysqli_result object. For other successful queries, mysqli_reap_async_query() will return true.

Veja Também

  • mysqli_poll() - Poll connections


Refreshes

  • « mysqli::reap_async_query
  • mysqli::release_savepoint »
  • PHP Manual
  • MySQLi
  • Refreshes

mysqli::refresh

mysqli_refresh

(PHP 5 >= 5.3.0, PHP 7)

mysqli::refresh -- mysqli_refresh — Refreshes

Descrição

Estilo orientado à objeto

public mysqli::refresh ( int $options ) : bool

Estilo procedural

mysqli_refresh ( mysqli $link , int $options ) : bool

Flushes tables or caches, or resets the replication server information.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

options

The options to refresh, using the MYSQLI_REFRESH_* constants as documented within the MySQLi constants documentation.

See also the official » MySQL Refresh documentation.

Valor Retornado

true if the refresh was a success, otherwise false

Veja Também

  • mysqli_poll() - Poll connections


Removes the named savepoint from the set of savepoints of the current transaction

  • « mysqli::refresh
  • mysqli::rollback »
  • PHP Manual
  • MySQLi
  • Removes the named savepoint from the set of savepoints of the current transaction

mysqli::release_savepoint

mysqli_release_savepoint

(PHP 5 >= 5.5.0, PHP 7)

mysqli::release_savepoint -- mysqli_release_savepoint — Removes the named savepoint from the set of savepoints of the current transaction

Descrição

Estilo orientado à objeto

public mysqli::release_savepoint ( string $name ) : bool

Estilo procedural:

mysqli_release_savepoint ( mysqli $link , string $name ) : bool

This function is identical to executing $mysqli->query("RELEASE SAVEPOINT `$name`");. This function does not trigger commit or rollback.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

name

The identifier of the savepoint.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • mysqli_savepoint() - Set a named transaction savepoint


Rolls back current transaction

  • « mysqli::release_savepoint
  • mysqli::savepoint »
  • PHP Manual
  • MySQLi
  • Rolls back current transaction

mysqli::rollback

mysqli_rollback

(PHP 5, PHP 7)

mysqli::rollback -- mysqli_rollback — Rolls back current transaction

Descrição

Estilo orientado à objeto

public mysqli::rollback ( int $flags = 0 , string $name = ? ) : bool

Estilo procedural

mysqli_rollback ( mysqli $link , int $flags = 0 , string $name = ? ) : bool

Rollbacks the current transaction for the database.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

flags

A bitmask of MYSQLI_TRANS_COR_* constants.

name

If provided then ROLLBACK/*name*/ is executed.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

This function does not work with non transactional table types (like MyISAM or ISAM).

Exemplos

See the mysqli::begin_transaction() example.

Veja Também

  • mysqli_begin_transaction() - Starts a transaction
  • mysqli_commit() - Salva a transação atual
  • mysqli_autocommit() - Ativa ou desativa o salvar automaticamente as modificações no banco de dados
  • mysqli_release_savepoint() - Removes the named savepoint from the set of savepoints of the current transaction


Set a named transaction savepoint

  • « mysqli::rollback
  • mysqli::select_db »
  • PHP Manual
  • MySQLi
  • Set a named transaction savepoint

mysqli::savepoint

mysqli_savepoint

(PHP 5 >= 5.5.0, PHP 7)

mysqli::savepoint -- mysqli_savepoint — Set a named transaction savepoint

Descrição

Estilo orientado à objeto

public mysqli::savepoint ( string $name ) : bool

Estilo procedural:

mysqli_savepoint ( mysqli $link , string $name ) : bool

This function is identical to executing $mysqli->query("SAVEPOINT `$name`");

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

name

The identifier of the savepoint.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • mysqli_release_savepoint() - Removes the named savepoint from the set of savepoints of the current transaction


Selects the default database for database queries

  • « mysqli::savepoint
  • mysqli::set_charset »
  • PHP Manual
  • MySQLi
  • Selects the default database for database queries

mysqli::select_db

mysqli_select_db

(PHP 5, PHP 7)

mysqli::select_db -- mysqli_select_db — Selects the default database for database queries

Descrição

Estilo orientado à objeto

public mysqli::select_db ( string $dbname ) : bool

Estilo procedural

mysqli_select_db ( mysqli $link , string $dbname ) : bool

Selects the default database to be used when performing queries against the database connection.

Nota:

This function should only be used to change the default database for the connection. You can select the default database with 4th parameter in mysqli_connect().

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

dbname

The database name.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 mysqli::select_db() example

Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* return name of current default database */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

/* change db to world db */
$mysqli->select_db("world");

/* return name of current default database */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

$mysqli->close();
?>

Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* return name of current default database */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

/* change db to world db */
mysqli_select_db($link, "world");

/* return name of current default database */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Default database is test.
Default database is world.

Veja Também

  • mysqli_connect() - Sinônimo de mysqli::__construct
  • mysqli_real_connect() - Opens a connection to a mysql server


Sets the default client character set

  • « mysqli::select_db
  • mysqli::$sqlstate »
  • PHP Manual
  • MySQLi
  • Sets the default client character set

mysqli::set_charset

mysqli_set_charset

(PHP 5 >= 5.0.5, PHP 7)

mysqli::set_charset -- mysqli_set_charset — Sets the default client character set

Descrição

Estilo orientado à objeto

public mysqli::set_charset ( string $charset ) : bool

Estilo procedural

mysqli_set_charset ( mysqli $link , string $charset ) : bool

Sets the default character set to be used when sending data from and to the database server.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

charset

The charset to be set as default.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

To use this function on a Windows platform you need MySQL client library version 4.1.11 or above (for MySQL 5.0 you need 5.0.6 or above).

Nota:

This is the preferred way to change the charset. Using mysqli_query() to set it (such as SET NAMES utf8) is not recommended. See the MySQL character set concepts section for more information.

Exemplos

Exemplo #1 mysqli::set_charset() example

Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("Initial character set: %s\n", $mysqli->character_set_name());

/* change character set to utf8mb4 */
if (!$mysqli->set_charset("utf8mb4")) {
    printf("Error loading character set utf8mb4: %s\n", $mysqli->error);
    exit();
} else {
    printf("Current character set: %s\n", $mysqli->character_set_name());
}

$mysqli->close();
?>

Estilo procedural

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("Initial character set: %s\n", mysqli_character_set_name($link));

/* change character set to utf8mb4 */
if (!mysqli_set_charset($link, "utf8mb4")) {
    printf("Error loading character set utf8mb4: %s\n", mysqli_error($link));
    exit();
} else {
    printf("Current character set: %s\n", mysqli_character_set_name($link));
}

mysqli_close($link);
?>

Os exemplos acima irão imprimir algo similar à:

Initial character set: latin1
Current character set: utf8mb4

Veja Também

  • mysqli_character_set_name() - Retorna o conjunto de caracteres padrão para a conexão com o banco de dados
  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • MySQL character set concepts
  • » List of character sets that MySQL supports


Returns the SQLSTATE error from previous MySQL operation

  • « mysqli::set_charset
  • mysqli::ssl_set »
  • PHP Manual
  • MySQLi
  • Returns the SQLSTATE error from previous MySQL operation

mysqli::$sqlstate

mysqli_sqlstate

(PHP 5, PHP 7)

mysqli::$sqlstate -- mysqli_sqlstate — Returns the SQLSTATE error from previous MySQL operation

Descrição

Estilo orientado à objeto

string $mysqli->sqlstate;

Estilo procedural

mysqli_sqlstate ( mysqli $link ) : string

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC. For a list of possible values, see » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Nota:

Note that not all MySQL errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

Exemplos

Exemplo #1 $mysqli->sqlstate example

Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Table City already exists, so we should get an error */
if (!$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Error - SQLSTATE %s.\n", $mysqli->sqlstate);
}

$mysqli->close();
?>

Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Table City already exists, so we should get an error */
if (!mysqli_query($link, "CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Error - SQLSTATE %s.\n", mysqli_sqlstate($link));
}

mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Error - SQLSTATE 42S01.

Veja Também

  • mysqli_errno() - Retorna o código de erro para a chamada de função mais recente
  • mysqli_error() - Retorna uma string descrevendo o ultimo erro


Used for establishing secure connections using SSL

  • « mysqli::$sqlstate
  • mysqli::stat »
  • PHP Manual
  • MySQLi
  • Used for establishing secure connections using SSL

mysqli::ssl_set

mysqli_ssl_set

(PHP 5, PHP 7)

mysqli::ssl_set -- mysqli_ssl_set — Used for establishing secure connections using SSL

Descrição

Estilo orientado à objeto

public mysqli::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher ) : bool

Estilo procedural

mysqli_ssl_set ( mysqli $link , string $key , string $cert , string $ca , string $capath , string $cipher ) : bool

Used for establishing secure connections using SSL. It must be called before mysqli_real_connect(). This function does nothing unless OpenSSL support is enabled.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

key

The path name to the key file.

cert

The path name to the certificate file.

ca

The path name to the certificate authority file.

capath

The pathname to a directory that contains trusted SSL CA certificates in PEM format.

cipher

A list of allowable ciphers to use for SSL encryption.

Valor Retornado

This function always returns true value. If SSL setup is incorrect mysqli_real_connect() will return an error when you attempt to connect.

Veja Também

  • mysqli_options() - Set options
  • mysqli_real_connect() - Opens a connection to a mysql server


Gets the current system status

  • « mysqli::ssl_set
  • mysqli::stmt_init »
  • PHP Manual
  • MySQLi
  • Gets the current system status

mysqli::stat

mysqli_stat

(PHP 5, PHP 7)

mysqli::stat -- mysqli_stat — Gets the current system status

Descrição

Estilo orientado à objeto

public mysqli::stat ( ) : string

Estilo procedural

mysqli_stat ( mysqli $link ) : string

mysqli_stat() returns a string containing information similar to that provided by the 'mysqladmin status' command. This includes uptime in seconds and the number of running threads, questions, reloads, and open tables.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

A string describing the server status. false if an error occurred.

Exemplos

Exemplo #1 mysqli::stat() example

Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf ("System status: %s\n", $mysqli->stat());

$mysqli->close();
?>

Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("System status: %s\n", mysqli_stat($link));

mysqli_close($link);
?>

Os exemplos acima irão imprimir:

System status: Uptime: 272  Threads: 1  Questions: 5340  Slow queries: 0
Opens: 13  Flush tables: 1  Open tables: 0  Queries per second avg: 19.632
Memory in use: 8496K  Max memory used: 8560K

Veja Também

  • mysqli_get_server_info() - Retorna a versão do servidor MySQL


Initializes a statement and returns an object for use with mysqli_stmt_prepare

  • « mysqli::stat
  • mysqli::store_result »
  • PHP Manual
  • MySQLi
  • Initializes a statement and returns an object for use with mysqli_stmt_prepare

mysqli::stmt_init

mysqli_stmt_init

(PHP 5, PHP 7)

mysqli::stmt_init -- mysqli_stmt_init — Initializes a statement and returns an object for use with mysqli_stmt_prepare

Descrição

Estilo orientado à objeto

public mysqli::stmt_init ( ) : mysqli_stmt

Estilo procedural

mysqli_stmt_init ( mysqli $link ) : mysqli_stmt

Allocates and initializes a statement object suitable for mysqli_stmt_prepare().

Nota:

Any subsequent calls to any mysqli_stmt function will fail until mysqli_stmt_prepare() was called.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Returns an object.

Veja Também

  • mysqli_stmt_prepare() - Prepara uma declaração SQL para execução


Transfers a result set from the last query

  • « mysqli::stmt_init
  • mysqli::$thread_id »
  • PHP Manual
  • MySQLi
  • Transfers a result set from the last query

mysqli::store_result

mysqli_store_result

(PHP 5, PHP 7)

mysqli::store_result -- mysqli_store_result — Transfers a result set from the last query

Descrição

Estilo orientado à objeto

public mysqli::store_result ( int $option = ? ) : mysqli_result

Estilo procedural

mysqli_store_result ( mysqli $link , int $option = ? ) : mysqli_result

Transfers the result set from the last query on the database connection represented by the link parameter to be used with the mysqli_data_seek() function.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

option

The option that you want to set. It can be one of the following values:

Valid options
Name | Description
MYSQLI_STORE_RESULT_COPY_DATA | Copy results from the internal mysqlnd buffer into the PHP variables fetched. By default, mysqlnd will use a reference logic to avoid copying and duplicating results held in memory. For certain result sets, for example, result sets with many small rows, the copy approach can reduce the overall memory usage because PHP variables holding results may be released earlier (available with mysqlnd only)

Valor Retornado

Returns a buffered result object or false if an error occurred.

Nota:

mysqli_store_result() returns false in case the query didn't return a result set (if the query was, for example an INSERT statement). This function also returns false if the reading of the result set failed. You can check if you have got an error by checking if mysqli_error() doesn't return an empty string, if mysqli_errno() returns a non zero value, or if mysqli_field_count() returns a non zero value. Also possible reason for this function returning false after successful call to mysqli_query() can be too large result set (memory for it cannot be allocated). If mysqli_field_count() returns a non-zero value, the statement should have produced a non-empty result set.

Notas

Nota:

Although it is always good practice to free the memory used by the result of a query using the mysqli_free_result() function, when transferring large result sets using the mysqli_store_result() this becomes particularly important.

Exemplos

See mysqli_multi_query().

Veja Também

  • mysqli_real_query() - Execute an SQL query
  • mysqli_use_result() - Initiate a result set retrieval


Returns the thread ID for the current connection

  • « mysqli::store_result
  • mysqli::thread_safe »
  • PHP Manual
  • MySQLi
  • Returns the thread ID for the current connection

mysqli::$thread_id

mysqli_thread_id

(PHP 5, PHP 7)

mysqli::$thread_id -- mysqli_thread_id — Returns the thread ID for the current connection

Descrição

Estilo orientado à objeto

int $mysqli->thread_id;

Estilo procedural

mysqli_thread_id ( mysqli $link ) : int

The mysqli_thread_id() function returns the thread ID for the current connection which can then be killed using the mysqli_kill() function. If the connection is lost and you reconnect with mysqli_ping(), the thread ID will be other. Therefore you should get the thread ID only when you need it.

Nota:

The thread ID is assigned on a connection-by-connection basis. Hence, if the connection is broken and then re-established a new thread ID will be assigned.

To kill a running query you can use the SQL command KILL QUERY processid.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Returns the Thread ID for the current connection.

Exemplos

Exemplo #1 $mysqli->thread_id example

Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = $mysqli->thread_id;

/* Kill connection */
$mysqli->kill($thread_id);

/* This should produce an error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", $mysqli->error);
    exit;
}

/* close connection */
$mysqli->close();
?>

Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = mysqli_thread_id($link);

/* Kill connection */
mysqli_kill($link, $thread_id);

/* This should produce an error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", mysqli_error($link));
    exit;
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Error: MySQL server has gone away

Veja Também

  • mysqli_kill() - Solicita ao servidor o encerramento de um thread do MySQL


Returns whether thread safety is given or not

  • « mysqli::$thread_id
  • mysqli::use_result »
  • PHP Manual
  • MySQLi
  • Returns whether thread safety is given or not

mysqli::thread_safe

mysqli_thread_safe

(PHP 5, PHP 7)

mysqli::thread_safe -- mysqli_thread_safe — Returns whether thread safety is given or not

Descrição

Estilo orientado à objeto

public mysqli::thread_safe ( ) : void

Estilo procedural

mysqli_thread_safe ( ) : bool

Tells whether the client library is compiled as thread-safe.

Valor Retornado

true if the client library is thread-safe, otherwise false.


Initiate a result set retrieval

  • « mysqli::thread_safe
  • mysqli::$warning_count »
  • PHP Manual
  • MySQLi
  • Initiate a result set retrieval

mysqli::use_result

mysqli_use_result

(PHP 5, PHP 7)

mysqli::use_result -- mysqli_use_result — Initiate a result set retrieval

Descrição

Estilo orientado à objeto

public mysqli::use_result ( ) : mysqli_result

Estilo procedural

mysqli_use_result ( mysqli $link ) : mysqli_result

Used to initiate the retrieval of a result set from the last query executed using the mysqli_real_query() function on the database connection.

Either this or the mysqli_store_result() function must be called before the results of a query can be retrieved, and one or the other must be called to prevent the next query on that database connection from failing.

Nota:

The mysqli_use_result() function does not transfer the entire result set from the database and hence cannot be used functions such as mysqli_data_seek() to move to a particular row within the set. To use this functionality, the result set must be stored using mysqli_store_result(). One should not use mysqli_use_result() if a lot of processing on the client side is performed, since this will tie up the server and prevent other threads from updating any tables from which the data is being fetched.

Valor Retornado

Returns an unbuffered result object or false if an error occurred.

Exemplos

Exemplo #1 mysqli::use_result() example

Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->use_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->close();
        }
        /* print divider */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_use_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Veja Também

  • mysqli_real_query() - Execute an SQL query
  • mysqli_store_result() - Transfers a result set from the last query


Returns the number of warnings from the last query for the given link

  • « mysqli::use_result
  • MySQLi_STMT »
  • PHP Manual
  • MySQLi
  • Returns the number of warnings from the last query for the given link

mysqli::$warning_count

mysqli_warning_count

(PHP 5, PHP 7)

mysqli::$warning_count -- mysqli_warning_count — Returns the number of warnings from the last query for the given link

Descrição

Estilo orientado à objeto

int $mysqli->warning_count;

Estilo procedural

mysqli_warning_count ( mysqli $link ) : int

Returns the number of warnings from the last query in the connection.

Nota:

For retrieving warning messages you can use the SQL command SHOW WARNINGS [limit row_count].

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

Number of warnings or zero if there are no warnings.

Exemplos

Exemplo #1 $mysqli->warning_count example

Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* a remarkable city in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$mysqli->query($query);

if ($mysqli->warning_count) {
    if ($result = $mysqli->query("SHOW WARNINGS")) {
        $row = $result->fetch_row();
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        $result->close();
    }
}

/* close connection */
$mysqli->close();
?>

Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* a remarkable long city name in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

mysqli_query($link, $query);

if (mysqli_warning_count($link)) {
    if ($result = mysqli_query($link, "SHOW WARNINGS")) {
        $row = mysqli_fetch_row($result);
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        mysqli_free_result($result);
    }
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Warning (1264): Data truncated for column 'Name' at row 1

Veja Também

  • mysqli_errno() - Retorna o código de erro para a chamada de função mais recente
  • mysqli_error() - Retorna uma string descrevendo o ultimo erro
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation


A classe MySQLi_STMT

Introdução

Representa um comando preparado.

Sinopse da classe

MySQLi_STMT {
/* Propriedades */
int $mysqli_stmt->affected_rows;
int $mysqli_stmt->errno;
array $mysqli_stmt->error_list;
string $mysqli_stmt->error;
int $mysqli_stmt->field_count;
int $mysqli_stmt->insert_id;
int $mysqli_stmt->num_rows;
int $mysqli_stmt->param_count;
string $mysqli_stmt->sqlstate;
/* Métodos */
mysqli_stmt_affected_rows ( mysqli_stmt $stmt ) : int
public mysqli_stmt::attr_get ( int $attr ) : int
public mysqli_stmt::attr_set ( int $attr , int $mode ) : bool
mysqli_stmt::bind_param ( string $types , mixed &$var1 , mixed &$... = ? ) : bool
mysqli_stmt::bind_result ( mixed &$var1 , mixed &$... = ? ) : bool
public mysqli_stmt::close ( ) : bool
public mysqli_stmt::data_seek ( int $offset ) : void
mysqli_stmt_errno ( mysqli_stmt $stmt ) : int
mysqli_stmt_error_list ( mysqli_stmt $stmt ) : array
mysqli_stmt_error ( mysqli_stmt $stmt ) : string
mysqli_stmt::execute ( ) : bool
mysqli_stmt::fetch ( ) : bool
mysqli_stmt_field_count ( mysqli_stmt $stmt ) : int
mysqli_stmt::free_result ( ) : void
public mysqli_stmt::get_result ( ) : mysqli_result
public mysqli_stmt::get_warnings ( ) : object
mysqli_stmt_insert_id ( mysqli_stmt $stmt ) : mixed
public mysqli_stmt::more_results ( ) : bool
public mysqli_stmt::next_result ( ) : bool
public mysqli_stmt::num_rows ( ) : int
mysqli_stmt_param_count ( mysqli_stmt $stmt ) : int
mysqli_stmt::prepare ( string $query ) : mixed
public mysqli_stmt::reset ( ) : bool
public mysqli_stmt::result_metadata ( ) : mysqli_result
public mysqli_stmt::send_long_data ( int $param_nr , string $data ) : bool
mysqli_stmt_sqlstate ( mysqli_stmt $stmt ) : string
public mysqli_stmt::store_result ( ) : bool
}

Índice

  • mysqli_stmt::$affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement
  • mysqli_stmt::attr_get — Used to get the current value of a statement attribute
  • mysqli_stmt::attr_set — Used to modify the behavior of a prepared statement
  • mysqli_stmt::bind_param — Passa variáveis para um preparado comando como parâmetros
  • mysqli_stmt::bind_result — Passa variáveis para um preparado comando por resultado armazenado
  • mysqli_stmt::close — Closes a prepared statement
  • mysqli_stmt::__construct — Constructs a new mysqli_stmt object
  • mysqli_stmt::data_seek — Seeks to an arbitrary row in statement result set
  • mysqli_stmt::$errno — Returns the error code for the most recent statement call
  • mysqli_stmt::$error_list — Returns a list of errors from the last statement executed
  • mysqli_stmt::$error — Returns a string description for last statement error
  • mysqli_stmt->execute — Executa uma preparada query
  • mysqli_stmt::fetch — Obtém resultados de um preparado comando e os coloca nas determinadas variáveis
  • mysqli_stmt::$field_count — Returns the number of columns in the given statement
  • mysqli_free_result — Libera a memória associada ao resultado
  • mysqli_stmt::get_result — Gets a result set from a prepared statement
  • mysqli_stmt::get_warnings — Get result of SHOW WARNINGS
  • mysqli_stmt::$insert_id — Get the ID generated from the previous INSERT operation
  • mysqli_stmt::more_results — Check if there are more query results from a multiple query
  • mysqli_stmt::next_result — Reads the next result from a multiple query
  • mysqli_stmt::$num_rows — Return the number of rows in statements result set
  • mysqli_stmt::$param_count — Returns the number of parameters for the given statement
  • mysqli_stmt::prepare — Prepara uma declaração SQL para execução
  • mysqli_stmt::reset — Resets a prepared statement
  • mysqli_stmt::result_metadata — Returns result set metadata from a prepared statement
  • mysqli_stmt::send_long_data — Send data in blocks
  • mysqli_stmt::$sqlstate — Returns SQLSTATE error from previous statement operation
  • mysqli_stmt::store_result — Transfers a result set from a prepared statement


Returns the total number of rows changed, deleted, or inserted by the last executed statement

  • « MySQLi_STMT
  • mysqli_stmt::attr_get »
  • PHP Manual
  • MySQLi_STMT
  • Returns the total number of rows changed, deleted, or inserted by the last executed statement

mysqli_stmt::$affected_rows

mysqli_stmt_affected_rows

(PHP 5, PHP 7)

mysqli_stmt::$affected_rows -- mysqli_stmt_affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement

Descrição

Estilo orientado à objeto

int $mysqli_stmt->affected_rows;

Estilo procedural

mysqli_stmt_affected_rows ( mysqli_stmt $stmt ) : int

Returns the number of rows affected by INSERT, UPDATE, or DELETE query.

This function only works with queries which update a table. In order to get the number of rows from a SELECT query, use mysqli_stmt_num_rows() instead.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE/DELETE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the query has returned an error. NULL indicates an invalid argument was supplied to the function.

Nota:

If the number of affected rows is greater than maximal PHP int value, the number of affected rows will be returned as a string value.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* create temp table */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* prepare statement */
if ($stmt = $mysqli->prepare($query)) {

    /* Bind variable for placeholder */
    $code = 'A%';
    $stmt->bind_param("s", $code);

    /* execute statement */
    $stmt->execute();

    printf("rows inserted: %d\n", $stmt->affected_rows);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* create temp table */
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* prepare statement */
if ($stmt = mysqli_prepare($link, $query)) {

    /* Bind variable for placeholder */
    $code = 'A%';
    mysqli_stmt_bind_param($stmt, "s", $code);

    /* execute statement */
    mysqli_stmt_execute($stmt);

    printf("rows inserted: %d\n", mysqli_stmt_affected_rows($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

rows inserted: 17

Veja Também

  • mysqli_stmt_num_rows() - Return the number of rows in statements result set
  • mysqli_prepare() - Prepare an SQL statement for execution


Used to get the current value of a statement attribute

  • « mysqli_stmt::$affected_rows
  • mysqli_stmt::attr_set »
  • PHP Manual
  • MySQLi_STMT
  • Used to get the current value of a statement attribute

mysqli_stmt::attr_get

mysqli_stmt_attr_get

(PHP 5, PHP 7)

mysqli_stmt::attr_get -- mysqli_stmt_attr_get — Used to get the current value of a statement attribute

Descrição

Estilo orientado à objeto

public mysqli_stmt::attr_get ( int $attr ) : int

Estilo procedural

mysqli_stmt_attr_get ( mysqli_stmt $stmt , int $attr ) : int

Gets the current value of a statement attribute.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

attr

The attribute that you want to get.

Valor Retornado

Returns false if the attribute is not found, otherwise returns the value of the attribute.


Used to modify the behavior of a prepared statement

  • « mysqli_stmt::attr_get
  • mysqli_stmt::bind_param »
  • PHP Manual
  • MySQLi_STMT
  • Used to modify the behavior of a prepared statement

mysqli_stmt::attr_set

mysqli_stmt_attr_set

(PHP 5, PHP 7)

mysqli_stmt::attr_set -- mysqli_stmt_attr_set — Used to modify the behavior of a prepared statement

Descrição

Estilo orientado à objeto

public mysqli_stmt::attr_set ( int $attr , int $mode ) : bool

Estilo procedural

mysqli_stmt_attr_set ( mysqli_stmt $stmt , int $attr , int $mode ) : bool

Used to modify the behavior of a prepared statement. This function may be called multiple times to set several attributes.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

attr

The attribute that you want to set. It can have one of the following values:

Attribute values
Character | Description
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH | Setting to true causes mysqli_stmt_store_result() to update the metadata MYSQL_FIELD->max_length value.
MYSQLI_STMT_ATTR_CURSOR_TYPE | Type of cursor to open for statement when mysqli_stmt_execute() is invoked. mode can be MYSQLI_CURSOR_TYPE_NO_CURSOR (the default) or MYSQLI_CURSOR_TYPE_READ_ONLY.
MYSQLI_STMT_ATTR_PREFETCH_ROWS | Number of rows to fetch from server at a time when using a cursor. mode can be in the range from 1 to the maximum value of unsigned long. The default is 1.

If you use the MYSQLI_STMT_ATTR_CURSOR_TYPE option with MYSQLI_CURSOR_TYPE_READ_ONLY, a cursor is opened for the statement when you invoke mysqli_stmt_execute(). If there is already an open cursor from a previous mysqli_stmt_execute() call, it closes the cursor before opening a new one. mysqli_stmt_reset() also closes any open cursor before preparing the statement for re-execution. mysqli_stmt_free_result() closes any open cursor.

If you open a cursor for a prepared statement, mysqli_stmt_store_result() is unnecessary.

mode

The value to assign to the attribute.

Veja Também

  • » Connector/MySQL mysql_stmt_attr_set()


Passa variáveis para um preparado comando como parâmetros

  • « mysqli_stmt::attr_set
  • mysqli_stmt::bind_result »
  • PHP Manual
  • MySQLi_STMT
  • Passa variáveis para um preparado comando como parâmetros

mysqli_stmt::bind_param

mysqli_stmt_bind_param

(PHP 5, PHP 7)

mysqli_stmt::bind_param -- mysqli_stmt_bind_param — Passa variáveis para um preparado comando como parâmetros

Descrição

Modo orientado a objeto (método):

mysqli_stmt::bind_param ( string $types , mixed &$var1 , mixed &$... = ? ) : bool

Modo procedural:

mysqli_stmt_bind_param ( mysqli_stmt $stmt , string $types , mixed &$var1 , mixed &$... = ? ) : bool

Passa variáveis para marcadores de parâmetros no comando SQL que foi passado para mysqli_prepare().

Nota:

Se o tamanho da informação da variáveis excede o máximo permitido do tamanho de pacote (max_allowed_packet), você deve especificar b no types e usar mysqli_stmt_send_long_data() para enviar a informação em pacotes.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

types

A string que contém um ou mais caracteres que especifica os tipos para as correspondente variáveis passadas:

Caracteres de especificação de tipo
Caractere | Descrição
i | corresponde a uma variável de tipo inteiro
d | corresponde a uma variável de tipo double
s | corresponde a uma variável de tipo string
b | corresponde a uma variável que contém dados para um blob e enviará em pacotes

var1

O número de variáveis e tamanho da string types precisa combinar com os parâmetros no comando.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Modo orientado a objeto

<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

/* Clean up table CountryLanguage */
$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", $mysqli->affected_rows);

/* close connection */
$mysqli->close();
?>

Exemplo #2 Modo procedural

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* execute prepared statement */
mysqli_stmt_execute($stmt);

printf("%d Row inserted.\n", mysqli_stmt_affected_rows($stmt));

/* close statement and connection */
mysqli_stmt_close($stmt);

/* Clean up table CountryLanguage */
mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", mysqli_affected_rows($link));

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

1 Row inserted.
1 Row deleted.

Veja Também

  • mysqli_stmt_bind_result() - Passa variáveis para um preparado comando por resultado armazenado
  • mysqli_stmt_execute() - Executa uma preparada query
  • mysqli_stmt_fetch() - Obtém resultados de um preparado comando e os coloca nas determinadas variáveis
  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_send_long_data() - Send data in blocks
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error


Passa variáveis para um preparado comando por resultado armazenado

  • « mysqli_stmt::bind_param
  • mysqli_stmt::close »
  • PHP Manual
  • MySQLi_STMT
  • Passa variáveis para um preparado comando por resultado armazenado

mysqli_stmt::bind_result

mysqli_stmt_bind_result

(PHP 5, PHP 7)

mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Passa variáveis para um preparado comando por resultado armazenado

Descrição

Modo orientado a objeto (método):

mysqli_stmt::bind_result ( mixed &$var1 , mixed &$... = ? ) : bool

Modo procedural:

mysqli_stmt_bind_result ( mysqli_stmt $stmt , mixed &$var1 , mixed &$... = ? ) : bool

Passa colunas em um conjunto de resultados para variáveis.

Quando mysqli_stmt_fetch() é chamada para obter dados, o MySQL client/server protocol coloca a informação das colunas nas especificadas variáveis var1, ....

Nota:

Note que todas as colunas precisam ser determinadas antes de mysqli_stmt_execute() e antes de chamar mysqli_stmt_fetch(). Dependendo do tipo da coluna de determinada variável pode silenciosamente mudar para o tipo do PHP correspondente.

Uma coluna pode ser especificada ou não especificada em dado tempo, até mesmo depois de um conjunto de resultado tem sido parcialmente recebido. A nova passagem pega o efeito da última chamada a mysqli_stmt_fetch().

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

var1

A variável a ser determinada.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Modo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* prepare statement */
if ($stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    $stmt->execute();

    /* bind variables to prepared statement */
    $stmt->bind_result($col1, $col2);

    /* fetch values */
    while ($stmt->fetch()) {
        printf("%s %s\n", $col1, $col2);
    }

    /* close statement */
    $stmt->close();
}
/* close connection */
$mysqli->close();

?>

Exemplo #2 Modo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* prepare statement */
if ($stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    mysqli_stmt_execute($stmt);

    /* bind variables to prepared statement */
    mysqli_stmt_bind_result($stmt, $col1, $col2);

    /* fetch values */
    while (mysqli_stmt_fetch($stmt)) {
        printf("%s %s\n", $col1, $col2);
    }

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

AFG Afghanistan
ALB Albania
DZA Algeria
ASM American Samoa
AND Andorra

Veja Também

  • mysqli_stmt_bind_param() - Passa variáveis para um preparado comando como parâmetros
  • mysqli_stmt_execute() - Executa uma preparada query
  • mysqli_stmt_fetch() - Obtém resultados de um preparado comando e os coloca nas determinadas variáveis
  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_prepare() - Prepara uma declaração SQL para execução
  • mysqli_stmt_init() - Initializes a statement and returns an object for use with mysqli_stmt_prepare
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error


Closes a prepared statement

  • « mysqli_stmt::bind_result
  • mysqli_stmt::__construct »
  • PHP Manual
  • MySQLi_STMT
  • Closes a prepared statement

mysqli_stmt::close

mysqli_stmt_close

(PHP 5, PHP 7)

mysqli_stmt::close -- mysqli_stmt_close — Closes a prepared statement

Descrição

Estilo orientado à objeto

public mysqli_stmt::close ( ) : bool

Estilo procedural

mysqli_stmt_close ( mysqli_stmt $stmt ) : bool

Closes a prepared statement. mysqli_stmt_close() also deallocates the statement handle. If the current statement has pending or unread results, this function cancels them so that the next query can be executed.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • mysqli_prepare() - Prepare an SQL statement for execution


Constructs a new mysqli_stmt object

  • « mysqli_stmt::close
  • mysqli_stmt::data_seek »
  • PHP Manual
  • MySQLi_STMT
  • Constructs a new mysqli_stmt object

mysqli_stmt::__construct

(PHP 5, PHP 7)

mysqli_stmt::__construct — Constructs a new mysqli_stmt object

Descrição

public mysqli_stmt::__construct ( mysqli $link , string $query = ? )

This method constructs a new mysqli_stmt object.

Parâmetros

link

Somente no estilo procedural: Um recurso link retornado por mysqli_connect() ou mysqli_init()

query

The query, as a string. If this parameter is omitted, then the constructor behaves identically to mysqli_stmt_init(), if provided, then it behaves as per mysqli_prepare().

Veja Também

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_init() - Initializes a statement and returns an object for use with mysqli_stmt_prepare


Seeks to an arbitrary row in statement result set

  • « mysqli_stmt::__construct
  • mysqli_stmt::$errno »
  • PHP Manual
  • MySQLi_STMT
  • Seeks to an arbitrary row in statement result set

mysqli_stmt::data_seek

mysqli_stmt_data_seek

(PHP 5, PHP 7)

mysqli_stmt::data_seek -- mysqli_stmt_data_seek — Seeks to an arbitrary row in statement result set

Descrição

Estilo orientado à objeto

public mysqli_stmt::data_seek ( int $offset ) : void

Estilo procedural

mysqli_stmt_data_seek ( mysqli_stmt $stmt , int $offset ) : void

Seeks to an arbitrary result pointer in the statement result set.

mysqli_stmt_store_result() must be called prior to mysqli_stmt_data_seek().

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

offset

Must be between zero and the total number of rows minus one (0.. mysqli_stmt_num_rows() - 1).

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($name, $code);

    /* store result */
    $stmt->store_result();

    /* seek to row no. 400 */
    $stmt->data_seek(399);

    /* fetch values */
    $stmt->fetch();

    printf ("City: %s  Countrycode: %s\n", $name, $code);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $name, $code);

    /* store result */
    mysqli_stmt_store_result($stmt);

    /* seek to row no. 400 */
    mysqli_stmt_data_seek($stmt, 399);

    /* fetch values */
    mysqli_stmt_fetch($stmt);

    printf ("City: %s  Countrycode: %s\n", $name, $code);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

City: Benin City  Countrycode: NGA

Veja Também

  • mysqli_prepare() - Prepare an SQL statement for execution


Returns the error code for the most recent statement call

  • « mysqli_stmt::data_seek
  • mysqli_stmt::$error_list »
  • PHP Manual
  • MySQLi_STMT
  • Returns the error code for the most recent statement call

mysqli_stmt::$errno

mysqli_stmt_errno

(PHP 5, PHP 7)

mysqli_stmt::$errno -- mysqli_stmt_errno — Returns the error code for the most recent statement call

Descrição

Estilo orientado à objeto

int $mysqli_stmt->errno;

Estilo procedural

mysqli_stmt_errno ( mysqli_stmt $stmt ) : int

Returns the error code for the most recently invoked statement function that can succeed or fail.

Client error message numbers are listed in the MySQL errmsg.h header file, server error message numbers are listed in mysqld_error.h. In the MySQL source distribution you can find a complete list of error messages and error numbers in the file Docs/mysqld_error.txt.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

An error code value. Zero means no error occurred.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %d.\n", $stmt->errno);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %d.\n", mysqli_stmt_errno($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Error: 1146.

Veja Também

  • mysqli_stmt_error() - Returns a string description for last statement error
  • mysqli_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation


Returns a list of errors from the last statement executed

  • « mysqli_stmt::$errno
  • mysqli_stmt::$error »
  • PHP Manual
  • MySQLi_STMT
  • Returns a list of errors from the last statement executed

mysqli_stmt::$error_list

mysqli_stmt_error_list

(PHP 5 >= 5.4.0, PHP 7)

mysqli_stmt::$error_list -- mysqli_stmt_error_list — Returns a list of errors from the last statement executed

Descrição

Estilo orientado à objeto

array $mysqli_stmt->error_list;

Estilo procedural

mysqli_stmt_error_list ( mysqli_stmt $stmt ) : array

Returns an array of errors for the most recently invoked statement function that can succeed or fail.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

A list of errors, each as an associative array containing the errno, error, and sqlstate.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    echo "Error:\n";
    print_r($stmt->error_list);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    echo "Error:\n";
    print_r(mysql_stmt_error_list($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Array
(
    [0] => Array
        (
            [errno] => 1146
            [sqlstate] => 42S02
            [error] => Table 'world.myCountry' doesn't exist
        )

)

Veja Também

  • mysqli_stmt_error() - Returns a string description for last statement error
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation


Returns a string description for last statement error

  • « mysqli_stmt::$error_list
  • mysqli_stmt->execute »
  • PHP Manual
  • MySQLi_STMT
  • Returns a string description for last statement error

mysqli_stmt::$error

mysqli_stmt_error

(PHP 5, PHP 7)

mysqli_stmt::$error -- mysqli_stmt_error — Returns a string description for last statement error

Descrição

Estilo orientado à objeto

string $mysqli_stmt->error;

Estilo procedural

mysqli_stmt_error ( mysqli_stmt $stmt ) : string

Returns a string containing the error message for the most recently invoked statement function that can succeed or fail.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

A string that describes the error. An empty string if no error occurred.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %s.\n", $stmt->error);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %s.\n", mysqli_stmt_error($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Error: Table 'world.myCountry' doesn't exist.

Veja Também

  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation


Executa uma preparada query

  • « mysqli_stmt::$error
  • mysqli_stmt::fetch »
  • PHP Manual
  • MySQLi_STMT
  • Executa uma preparada query

mysqli_stmt->execute

mysqli_stmt_execute

(PHP 5, PHP 7)

mysqli_stmt->execute -- mysqli_stmt_execute — Executa uma preparada query

Descrição

Modo orientado a objeto (método):

mysqli_stmt::execute ( ) : bool

Modo procedural:

mysqli_stmt_execute ( mysqli_stmt $stmt ) : bool

Executa uma query que foi previamente preparada usando a função mysqli_prepare(). Quando executada alguns parâmetros marcados que existem irão automaticamente ser substituido com a informação apropriada.

Se o comando é UPDATE, DELETE, ou INSERT, o número total de linhas afetadas pode ser determinado usando a função mysqli_stmt_affected_rows(). Da mesma forma, se a query produz um conjunto de resultado a função mysqli_stmt_fetch() é usada.

Nota:

Quando usando mysqli_stmt_execute(), a função mysqli_stmt_fetch() precisa ser usada para obter a informação antes de executar alguma query adicional.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Modo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* Prepare an insert statement */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = $mysqli->prepare($query);

$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Execute the statement */
$stmt->execute();

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Execute the statement */
$stmt->execute();

/* close statement */
$stmt->close();

/* retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* free result set */
    $result->close();
}

/* remove table */
$mysqli->query("DROP TABLE myCity");

/* close connection */
$mysqli->close();
?>

Exemplo #2 Modo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* Prepare an insert statement */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = mysqli_prepare($link, $query);

mysqli_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Execute the statement */
mysqli_stmt_execute($stmt);

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Execute the statement */
mysqli_stmt_execute($stmt);

/* close statement */
mysqli_stmt_close($stmt);

/* retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = mysqli_query($link, $query)) {
    while ($row = mysqli_fetch_row($result)) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* free result set */
    mysqli_free_result($result);
}

/* remove table */
mysqli_query($link, "DROP TABLE myCity");

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Stuttgart (DEU,Baden-Wuerttemberg)
Bordeaux (FRA,Aquitaine)

Veja Também

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_bind_param() - Passa variáveis para um preparado comando como parâmetros


Obtém resultados de um preparado comando e os coloca nas determinadas variáveis

  • « mysqli_stmt->execute
  • mysqli_stmt::$field_count »
  • PHP Manual
  • MySQLi_STMT
  • Obtém resultados de um preparado comando e os coloca nas determinadas variáveis

mysqli_stmt::fetch

mysqli_stmt_fetch

(PHP 5, PHP 7)

mysqli_stmt::fetch -- mysqli_stmt_fetch — Obtém resultados de um preparado comando e os coloca nas determinadas variáveis

Descrição

Modo orientado a objeto (método):

mysqli_stmt::fetch ( ) : bool

Modo procedural:

mysqli_stmt_fetch ( mysqli_stmt $stmt ) : bool

Obtém o resultado de um preparado comando e coloca nas variáveis determinadas por mysqli_stmt_bind_result().

Nota:

Note que todas as colunas precisam ser determinadas para aplicação antes de chamar a mysqli_stmt_fetch().

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

Valor Retornado
Valor | Descrição
true | Sucesso. Dados foram obtidos
false | Erro ocorrido
null | Não há mais linhas/não existe dados ou dados truncados

Exemplos

Exemplo #1 Modo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = $mysqli->prepare($query)) {

    /* execute statement */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($name, $code);

    /* fetch values */
    while ($stmt->fetch()) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Modo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = mysqli_prepare($link, $query)) {

    /* execute statement */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $name, $code);

    /* fetch values */
    while (mysqli_stmt_fetch($stmt)) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Rockford (USA)
Tallahassee (USA)
Salinas (USA)
Santa Clarita (USA)
Springfield (USA)

Veja Também

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error
  • mysqli_stmt_bind_result() - Passa variáveis para um preparado comando por resultado armazenado


Returns the number of columns in the given statement

  • « mysqli_stmt::fetch
  • mysqli_free_result »
  • PHP Manual
  • MySQLi_STMT
  • Returns the number of columns in the given statement

mysqli_stmt::$field_count

mysqli_stmt_field_count

(PHP 5, PHP 7)

mysqli_stmt::$field_count -- mysqli_stmt_field_count — Returns the number of columns in the given statement

Descrição

Estilo orientado à objeto

int $mysqli_stmt->field_count;

Estilo procedural

mysqli_stmt_field_count ( mysqli_stmt $stmt ) : int

Returns the number of columns in the prepared statement.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

Returns an integer representing the number of columns.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$code = 'FR';

$stmt = $mysqli->prepare("SELECT Name FROM Country WHERE Code=?");
$stmt->bind_param('s', $code);
$stmt->execute();
$row = $stmt->get_result()->fetch_row();
for ($i = 0; $i < $stmt->field_count; $i++) {
    printf("Value of column number %d is %s", $i, $row[$i]);
}

Exemplo #2 Estilo procedural

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$code = 'FR';

$stmt = mysqli_prepare($mysqli, "SELECT Name FROM Country WHERE Code=?");
mysqli_stmt_bind_param($stmt, 's', $code);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
$row = mysqli_fetch_row($result);
for ($i = 0; $i < mysqli_stmt_field_count($stmt); $i++) {
    printf("Value of column number %d is %s", $i, $row[$i]);
}

Os exemplos acima irão imprimir algo similar à:

Value of column number 0 is France

Veja Também

  • mysqli_stmt_num_rows() - Return the number of rows in statements result set


Libera a memória associada ao resultado

  • « mysqli_stmt::$field_count
  • mysqli_stmt::get_result »
  • PHP Manual
  • MySQLi_STMT
  • Libera a memória associada ao resultado

mysqli_free_result

result->free

(PHP 5, PHP 7)

mysqli_free_result -- result->free — Libera a memória associada ao resultado

Descrição

Orientado a objeto (método):

mysqli_stmt::free_result ( ) : void

Modo procedural:

mysqli_stmt_free_result ( mysqli_stmt $stmt ) : void

Libera o resultado da memória associado com o comando, que foi alocado por mysqli_stmt_store_result().

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

Não há valor retornado.

Veja Também

  • mysqli_stmt_store_result() - Transfers a result set from a prepared statement


Gets a result set from a prepared statement

  • « mysqli_free_result
  • mysqli_stmt::get_warnings »
  • PHP Manual
  • MySQLi_STMT
  • Gets a result set from a prepared statement

mysqli_stmt::get_result

mysqli_stmt_get_result

(PHP 5 >= 5.3.0, PHP 7)

mysqli_stmt::get_result -- mysqli_stmt_get_result — Gets a result set from a prepared statement

Descrição

Estilo orientado à objeto

public mysqli_stmt::get_result ( ) : mysqli_result

Estilo procedural

mysqli_stmt_get_result ( mysqli_stmt $stmt ) : mysqli_result

Call to return a result set from a prepared statement query.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

Returns false on failure. For successful queries which produce a result set, such as SELECT, SHOW, DESCRIBE or EXPLAIN, mysqli_stmt_get_result() will return a mysqli_result object. For other successful queries, mysqli_stmt_get_result() will return false. The mysqli_stmt_errno() function can be used to distinguish between the two reasons for false; due to a bug, prior to PHP 7.4.13, mysqli_errno() had to be used for this purpose.

Somente Driver Nativo MySQL

Disponível apenas no mysqlnd.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php

$mysqli = new mysqli("127.0.0.1", "user", "password", "world");

if($mysqli->connect_error)
{
    die("$mysqli->connect_errno: $mysqli->connect_error");
}

$query = "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";

$stmt = $mysqli->stmt_init();
if(!$stmt->prepare($query))
{
    print "Failed to prepare statement\n";
}
else
{
    $stmt->bind_param("s", $continent);

    $continent_array = array('Europe','Africa','Asia','North America');

    foreach($continent_array as $continent)
    {
        $stmt->execute();
        $result = $stmt->get_result();
        while ($row = $result->fetch_array(MYSQLI_NUM))
        {
            foreach ($row as $r)
            {
                print "$r ";
            }
            print "\n";
        }
    }
}

$stmt->close();
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php

$link = mysqli_connect("127.0.0.1", "user", "password", "world");

if (!$link)
{
    $error = mysqli_connect_error();
    $errno = mysqli_connect_errno();
    print "$errno: $error\n";
    exit();
}

$query = "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";

$stmt = mysqli_stmt_init($link);
if(!mysqli_stmt_prepare($stmt, $query))
{
    print "Failed to prepare statement\n";
}
else
{
    mysqli_stmt_bind_param($stmt, "s", $continent);

    $continent_array = array('Europe','Africa','Asia','North America');

    foreach($continent_array as $continent)
    {
        mysqli_stmt_execute($stmt);
        $result = mysqli_stmt_get_result($stmt);
        while ($row = mysqli_fetch_array($result, MYSQLI_NUM))
        {
            foreach ($row as $r)
            {
                print "$r ";
            }
            print "\n";
        }
    }
}
mysqli_stmt_close($stmt);
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Albania 3401200 Europe
Algeria 31471000 Africa
Afghanistan 22720000 Asia
Anguilla 8000 North America

Veja Também

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_result_metadata() - Returns result set metadata from a prepared statement
  • mysqli_stmt_fetch() - Obtém resultados de um preparado comando e os coloca nas determinadas variáveis
  • mysqli_fetch_array() - Obtem uma linha do resultado como uma matriz associativa, numérica, ou ambas
  • mysqli_stmt_store_result() - Transfers a result set from a prepared statement
  • mysqli_errno() - Retorna o código de erro para a chamada de função mais recente


Get result of SHOW WARNINGS

  • « mysqli_stmt::get_result
  • mysqli_stmt::$insert_id »
  • PHP Manual
  • MySQLi_STMT
  • Get result of SHOW WARNINGS

mysqli_stmt::get_warnings

mysqli_stmt_get_warnings

(PHP 5 >= 5.1.0, PHP 7)

mysqli_stmt::get_warnings -- mysqli_stmt_get_warnings — Get result of SHOW WARNINGS

Descrição

Estilo orientado à objeto

public mysqli_stmt::get_warnings ( ) : object

Estilo procedural

mysqli_stmt_get_warnings ( mysqli_stmt $stmt ) : object
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Get the ID generated from the previous INSERT operation

  • « mysqli_stmt::get_warnings
  • mysqli_stmt::more_results »
  • PHP Manual
  • MySQLi_STMT
  • Get the ID generated from the previous INSERT operation

mysqli_stmt::$insert_id

mysqli_stmt_insert_id

(PHP 5, PHP 7)

mysqli_stmt::$insert_id -- mysqli_stmt_insert_id — Get the ID generated from the previous INSERT operation

Descrição

Estilo orientado à objeto

int $mysqli_stmt->insert_id;

Estilo procedural

mysqli_stmt_insert_id ( mysqli_stmt $stmt ) : mixed
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Check if there are more query results from a multiple query

  • « mysqli_stmt::$insert_id
  • mysqli_stmt::next_result »
  • PHP Manual
  • MySQLi_STMT
  • Check if there are more query results from a multiple query

mysqli_stmt::more_results

mysqli_stmt_more_results

(PHP 5 >= 5.3.0, PHP 7)

mysqli_stmt::more_results -- mysqli_stmt_more_results — Check if there are more query results from a multiple query

Descrição

Estilo orientado à objeto

public mysqli_stmt::more_results ( ) : bool

Estilo procedural:

mysqli_stmt_more_results ( mysql_stmt $stmt ) : bool

Checks if there are more query results from a multiple query.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

Returns true if more results exist, otherwise false.

Somente Driver Nativo MySQL

Disponível apenas no mysqlnd.

Veja Também

  • mysqli_stmt::next_result() - Reads the next result from a multiple query
  • mysqli::multi_query() - Performs a query on the database


Reads the next result from a multiple query

  • « mysqli_stmt::more_results
  • mysqli_stmt::$num_rows »
  • PHP Manual
  • MySQLi_STMT
  • Reads the next result from a multiple query

mysqli_stmt::next_result

mysqli_stmt_next_result

(PHP 5 >= 5.3.0, PHP 7)

mysqli_stmt::next_result -- mysqli_stmt_next_result — Reads the next result from a multiple query

Descrição

Estilo orientado à objeto

public mysqli_stmt::next_result ( ) : bool

Estilo procedural:

mysqli_stmt_next_result ( mysql_stmt $stmt ) : bool

Reads the next result from a multiple query.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Emits an E_STRICT level error if a result set does not exist, and suggests using mysqli_stmt::more_results() in these cases, before calling mysqli_stmt::next_result().

Somente Driver Nativo MySQL

Disponível apenas no mysqlnd.

Veja Também

  • mysqli_stmt::more_results() - Check if there are more query results from a multiple query
  • mysqli::multi_query() - Performs a query on the database


Return the number of rows in statements result set

  • « mysqli_stmt::next_result
  • mysqli_stmt::$param_count »
  • PHP Manual
  • MySQLi_STMT
  • Return the number of rows in statements result set

mysqli_stmt::$num_rows

mysqli_stmt::num_rows

mysqli_stmt_num_rows

(PHP 5, PHP 7)

mysqli_stmt::$num_rows -- mysqli_stmt::num_rows -- mysqli_stmt_num_rows — Return the number of rows in statements result set

Descrição

Estilo orientado à objeto

int $mysqli_stmt->num_rows;
public mysqli_stmt::num_rows ( ) : int

Estilo procedural

mysqli_stmt_num_rows ( mysqli_stmt $stmt ) : int

Returns the number of rows in the result set. The use of mysqli_stmt_num_rows() depends on whether or not you used mysqli_stmt_store_result() to buffer the entire result set in the statement handle.

If you use mysqli_stmt_store_result(), mysqli_stmt_num_rows() may be called immediately.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

An integer representing the number of rows in result set.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = $mysqli->prepare($query)) {

    /* execute query */
    $stmt->execute();

    /* store result */
    $stmt->store_result();

    printf("Number of rows: %d.\n", $stmt->num_rows);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = mysqli_prepare($link, $query)) {

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* store result */
    mysqli_stmt_store_result($stmt);

    printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Number of rows: 20.

Veja Também

  • mysqli_stmt_affected_rows() - Returns the total number of rows changed, deleted, or inserted by the last executed statement
  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_store_result() - Transfers a result set from a prepared statement


Returns the number of parameters for the given statement

  • « mysqli_stmt::$num_rows
  • mysqli_stmt::prepare »
  • PHP Manual
  • MySQLi_STMT
  • Returns the number of parameters for the given statement

mysqli_stmt::$param_count

mysqli_stmt_param_count

(PHP 5, PHP 7)

mysqli_stmt::$param_count -- mysqli_stmt_param_count — Returns the number of parameters for the given statement

Descrição

Estilo orientado à objeto

int $mysqli_stmt->param_count;

Estilo procedural

mysqli_stmt_param_count ( mysqli_stmt $stmt ) : int

Returns the number of parameter markers present in the prepared statement.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

Returns an integer representing the number of parameters.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($stmt = $mysqli->prepare("SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marker = $stmt->param_count;
    printf("Statement has %d markers.\n", $marker);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($stmt = mysqli_prepare($link, "SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marker = mysqli_stmt_param_count($stmt);
    printf("Statement has %d markers.\n", $marker);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Statement has 2 markers.

Veja Também

  • mysqli_prepare() - Prepare an SQL statement for execution


Prepara uma declaração SQL para execução

  • « mysqli_stmt::$param_count
  • mysqli_stmt::reset »
  • PHP Manual
  • MySQLi_STMT
  • Prepara uma declaração SQL para execução

mysqli_stmt::prepare

mysqli_stmt_prepare

(PHP 5, PHP 7)

mysqli_stmt::prepare -- mysqli_stmt_prepare — Prepara uma declaração SQL para execução

Descrição

Estilo orientado à objeto

mysqli_stmt::prepare ( string $query ) : mixed

Estilo orientado à objeto

mysqli_stmt_prepare ( mysqli_stmt $stmt , string $query ) : bool

Prepares the SQL query pointed to by the null-terminated string query.

Os marcadores de parâmetros devem ser ligados as variáveis da aplicação utilizando-se mysqli_stmt_bind_param() e/ou mysqli_stmt_bind_result() antes de executar a declaração ou trazer os resultados.

Nota:

Se você passar uma instrução para mysqli_stmt_prepare() que é mais longa que o max_allowed_packet do servidor, os códigos de erro retornados são diferentes dependendo se você está utilizando o driver Nativo MySQL (mysqlnd) ou a biblioteca cliente do MySQL (libmysqlclient). O comportamento é o seguinte:

  • No Linux o mysqlnd retorna o código de erro 1153. A mensagem de erro diz got a packet bigger than max_allowed_packet bytes.

  • No Windows o mysqlnd retorna o código de erro 2006. Esta mensagem de erro diz server has gone away.

  • Em todas as plataformas a libmysqlclient retorna o código de erro 2006. Esta mensagem de erro diz server has gone away.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

query

A query, como uma string. Deve conter somente uma única declaração SQL.

Você pode incluir um ou mais marcadores de parâmetros na declaração SQL colocando a interrogação (?) nas posições apropriadas .

Nota:

Você não deve adicionar um ponto-e-virgula ou \g para terminar a declaração.

Nota:

Os marcadores são permitidos somente em alguns lugares das declarações SQL. Por exemplo, eles são permitidos na lista VALUES() de um INSERT (para especificar valores das colunas em uma linha), ou na comparação de uma coluna na cláusula WHERE para especificar um valor de comparação.

Entretanto, eles não são permitidos em identificadores (como nomes de tabela e coluna, na lista que nomeia os nomes das colunas a serem retornados por uma declaração SELECT), ou para especificar ambos os operandos de um operador binário como o = sinal de igual. A última restrição é necessária pois seria impossível determinar o tipo do parâmetro. No geral, os parâmetros são permitidos somente em declarações de Linguagem de Manipulação de Dados (no inglês DML), e não em Linguagem Definição de Dados (DDL).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* verifica coenxão */
if (mysqli_connect_errno()) {
    printf("Conexão falhou: %s\n", mysqli_connect_error());
    exit();
}

$cidade = "Curitiba";

/* cria uma declaração preparada */
$stmt =  $mysqli->stmt_init();
if ($stmt->prepare("SELECT Estado FROM Cidade WHERE Nome=?")) {

    /* atribui os parâmetros aos marcadores */
    $stmt->bind_param("s", $cidade);

    /* executa a query */
    $stmt->execute();

    /* atribui as variáveis de resultado */
    $stmt->bind_result($estado);

    /* busca o valor */
    $stmt->fetch();

    printf("%s está no estado %s\n", $cidade, $estado);

    /* fecha a declaração */
    $stmt->close();
}

/* fecha a conexão */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* verifica coenxão */
if (mysqli_connect_errno()) {
    printf("Conexão falhou: %s\n", mysqli_connect_error());
    exit();
}

$cidade = "Curitiba";

/* cria uma declaração preparada */
$stmt = mysqli_stmt_init($link);
if (mysqli_stmt_prepare($stmt, 'SELECT Estado FROM Cidade WHERE Nome=?')) {

    /* atribui os parâmetros aos marcadores */
    mysqli_stmt_bind_param($stmt, "s", $cidade);

    /* executa a query */
    mysqli_stmt_execute($stmt);

    /* atribui as variáveis de resultado */
    mysqli_stmt_bind_result($stmt, $estado);

    /* busca o valor */
    mysqli_stmt_fetch($stmt);

    printf("%s está no estado %s\n", $cidade, $estado);

    /* fecha a declaração */
    mysqli_stmt_close($stmt);
}

/* fecha a conexão */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Curitiba está no estado Paraná

Veja Também

  • mysqli_stmt_init() - Initializes a statement and returns an object for use with mysqli_stmt_prepare
  • mysqli_stmt_execute() - Executa uma preparada query
  • mysqli_stmt_fetch() - Obtém resultados de um preparado comando e os coloca nas determinadas variáveis
  • mysqli_stmt_bind_param() - Passa variáveis para um preparado comando como parâmetros
  • mysqli_stmt_bind_result() - Passa variáveis para um preparado comando por resultado armazenado
  • mysqli_stmt_get_result() - Gets a result set from a prepared statement
  • mysqli_stmt_close() - Closes a prepared statement


Resets a prepared statement

  • « mysqli_stmt::prepare
  • mysqli_stmt::result_metadata »
  • PHP Manual
  • MySQLi_STMT
  • Resets a prepared statement

mysqli_stmt::reset

mysqli_stmt_reset

(PHP 5, PHP 7)

mysqli_stmt::reset -- mysqli_stmt_reset — Resets a prepared statement

Descrição

Estilo orientado à objeto

public mysqli_stmt::reset ( ) : bool

Estilo procedural

mysqli_stmt_reset ( mysqli_stmt $stmt ) : bool

Resets a prepared statement on client and server to state after prepare.

It resets the statement on the server, data sent using mysqli_stmt_send_long_data(), unbuffered result sets and current errors. It does not clear bindings or stored result sets. Stored result sets will be cleared when executing the prepared statement (or closing it).

To prepare a statement with another query use function mysqli_stmt_prepare().

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • mysqli_prepare() - Prepare an SQL statement for execution


Returns result set metadata from a prepared statement

  • « mysqli_stmt::reset
  • mysqli_stmt::send_long_data »
  • PHP Manual
  • MySQLi_STMT
  • Returns result set metadata from a prepared statement

mysqli_stmt::result_metadata

mysqli_stmt_result_metadata

(PHP 5, PHP 7)

mysqli_stmt::result_metadata -- mysqli_stmt_result_metadata — Returns result set metadata from a prepared statement

Descrição

Estilo orientado à objeto

public mysqli_stmt::result_metadata ( ) : mysqli_result

Estilo procedural

mysqli_stmt_result_metadata ( mysqli_stmt $stmt ) : mysqli_result

If a statement passed to mysqli_prepare() is one that produces a result set, mysqli_stmt_result_metadata() returns the result object that can be used to process the meta information such as total number of fields and individual field information.

Nota:

This result set pointer can be passed as an argument to any of the field-based functions that process result set metadata, such as:

  • mysqli_num_fields()

  • mysqli_fetch_field()

  • mysqli_fetch_field_direct()

  • mysqli_fetch_fields()

  • mysqli_field_count()

  • mysqli_field_seek()

  • mysqli_field_tell()

  • mysqli_free_result()

The result set structure should be freed when you are done with it, which you can do by passing it to mysqli_free_result()

Nota:

The result set returned by mysqli_stmt_result_metadata() contains only metadata. It does not contain any row results. The rows are obtained by using the statement handle with mysqli_stmt_fetch().

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

Returns a result object or false if an error occurred.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query("DROP TABLE IF EXISTS friends");
$mysqli->query("CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query("INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = $mysqli->prepare("SELECT id, name FROM friends");
$stmt->execute();

/* get resultset for metadata */
$result = $stmt->result_metadata();

/* retrieve field information from metadata result set */
$field = $result->fetch_field();

printf("Fieldname: %s\n", $field->name);

/* close resultset */
$result->close();

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = mysqli_prepare($link, "SELECT id, name FROM friends");
mysqli_stmt_execute($stmt);

/* get resultset for metadata */
$result = mysqli_stmt_result_metadata($stmt);

/* retrieve field information from metadata result set */
$field = mysqli_fetch_field($result);

printf("Fieldname: %s\n", $field->name);

/* close resultset */
mysqli_free_result($result);

/* close connection */
mysqli_close($link);
?>

Veja Também

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_free_result() - Frees the memory associated with a result


Send data in blocks

  • « mysqli_stmt::result_metadata
  • mysqli_stmt::$sqlstate »
  • PHP Manual
  • MySQLi_STMT
  • Send data in blocks

mysqli_stmt::send_long_data

mysqli_stmt_send_long_data

(PHP 5, PHP 7)

mysqli_stmt::send_long_data -- mysqli_stmt_send_long_data — Send data in blocks

Descrição

Estilo orientado à objeto

public mysqli_stmt::send_long_data ( int $param_nr , string $data ) : bool

Estilo procedural

mysqli_stmt_send_long_data ( mysqli_stmt $stmt , int $param_nr , string $data ) : bool

Allows to send parameter data to the server in pieces (or chunks), e.g. if the size of a blob exceeds the size of max_allowed_packet. This function can be called multiple times to send the parts of a character or binary data value for a column, which must be one of the TEXT or BLOB datatypes.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

param_nr

Indicates which parameter to associate the data with. Parameters are numbered beginning with 0.

data

A string containing data to be sent.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$stmt = $mysqli->prepare("INSERT INTO messages (message) VALUES (?)");
$null = NULL;
$stmt->bind_param("b", $null);
$fp = fopen("messages.txt", "r");
while (!feof($fp)) {
    $stmt->send_long_data(0, fread($fp, 8192));
}
fclose($fp);
$stmt->execute();
?>

Veja Também

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_bind_param() - Passa variáveis para um preparado comando como parâmetros


Returns SQLSTATE error from previous statement operation

  • « mysqli_stmt::send_long_data
  • mysqli_stmt::store_result »
  • PHP Manual
  • MySQLi_STMT
  • Returns SQLSTATE error from previous statement operation

mysqli_stmt::$sqlstate

mysqli_stmt_sqlstate

(PHP 5, PHP 7)

mysqli_stmt::$sqlstate -- mysqli_stmt_sqlstate — Returns SQLSTATE error from previous statement operation

Descrição

Estilo orientado à objeto

string $mysqli_stmt->sqlstate;

Estilo procedural

mysqli_stmt_sqlstate ( mysqli_stmt $stmt ) : string

Returns a string containing the SQLSTATE error code for the most recently invoked prepared statement function that can succeed or fail. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC. For a list of possible values, see » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

Notas

Nota:

Note that not all MySQL errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %s.\n", $stmt->sqlstate);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %s.\n", mysqli_stmt_sqlstate($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Error: 42S02.

Veja Também

  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error


Transfers a result set from a prepared statement

  • « mysqli_stmt::$sqlstate
  • MySQLi_Result »
  • PHP Manual
  • MySQLi_STMT
  • Transfers a result set from a prepared statement

mysqli_stmt::store_result

mysqli_stmt_store_result

(PHP 5, PHP 7)

mysqli_stmt::store_result -- mysqli_stmt_store_result — Transfers a result set from a prepared statement

Descrição

Estilo orientado à objeto

public mysqli_stmt::store_result ( ) : bool

Estilo procedural

mysqli_stmt_store_result ( mysqli_stmt $stmt ) : bool

You must call mysqli_stmt_store_result() for every query that successfully produces a result set (SELECT, SHOW, DESCRIBE, EXPLAIN), if and only if you want to buffer the complete result set by the client, so that the subsequent mysqli_stmt_fetch() call returns buffered data.

Nota:

It is unnecessary to call mysqli_stmt_store_result() for other queries, but if you do, it will not harm or cause any notable performance loss in all cases. You can detect whether the query produced a result set by checking if mysqli_stmt_result_metadata() returns false.

Parâmetros

stmt

Somente no estilo procedural: Um recurso statement retornado por mysqli_stmt_init().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = $mysqli->prepare($query)) {

    /* execute query */
    $stmt->execute();

    /* store result */
    $stmt->store_result();

    printf("Number of rows: %d.\n", $stmt->num_rows);

    /* free result */
    $stmt->free_result();

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = mysqli_prepare($link, $query)) {

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* store result */
    mysqli_stmt_store_result($stmt);

    printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt));

    /* free result */
    mysqli_stmt_free_result($stmt);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Number of rows: 20.

Veja Também

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_result_metadata() - Returns result set metadata from a prepared statement
  • mysqli_stmt_fetch() - Obtém resultados de um preparado comando e os coloca nas determinadas variáveis


A classe MySQLi_Result

Introdução

Representa o conjunto de resultados da consulta feit ao banco de dados.

Sinopse da classe

MySQLi_Result {
/* Propriedades */
int $mysqli_result->current_field ;
int $mysqli_result->field_count;
array $mysqli_result->lengths;
int $mysqli_result->num_rows;
/* Métodos */
mysqli_field_tell ( mysqli_result $result ) : int
mysqli_result::data_seek ( int $offset ) : bool
public mysqli_result::fetch_all ( int $resulttype = MYSQLI_NUM ) : mixed
mysqli_result::fetch_assoc ( ) : array
mysqli_result::fetch_field ( ) : object
mysqli_result::fetch_fields ( ) : array
mysqli_result::fetch_row ( ) : mixed
mysqli_num_fields ( mysqli_result $result ) : int
mysqli_result::field_seek ( int $fieldnr ) : bool
public mysqli_result::free ( ) : void
mysqli_fetch_lengths ( mysqli_result $result ) : array
mysqli_num_rows ( mysqli_result $result ) : int
}

Índice

  • mysqli_result::$current_field — Get current field offset of a result pointer
  • mysqli_result::data_seek — Ajusta o ponteiro do resultado para uma linha arbritaria no conjunto de resutados
  • mysqli_result::fetch_all — Fetches all result rows as an associative array, a numeric array, or both
  • mysqli_fetch_array — Obtem uma linha do resultado como uma matriz associativa, numérica, ou ambas
  • mysqli_result::fetch_assoc — Obtem uma linha do conjunto de resultados como uma matriz associativa
  • mysqli_fetch_field_direct — Obtem meta dados para um único campo
  • mysqli_result::fetch_field — Retorna o próximo campo no conjunto de resultados
  • mysqli_result::fetch_fields — Retorna uma matriz de objetos representando os campos em um conjunto de resultados
  • mysqli_fetch_object — Retorna a linha atual do conjunto de resultados como um objeto
  • mysqli_result::fetch_row — Obtém uma linha do resultado como uma matriz numerada
  • mysqli_result::$field_count — Get the number of fields in a result
  • mysqli_field_seek — Move o ponteiro do resultado para um campo especificado
  • mysqli_result::free — Frees the memory associated with a result
  • mysqli_result::$lengths — Returns the lengths of the columns of the current row in the result set
  • mysqli_result::$num_rows — Gets the number of rows in a result


Get current field offset of a result pointer

  • « MySQLi_Result
  • mysqli_result::data_seek »
  • PHP Manual
  • MySQLi_Result
  • Get current field offset of a result pointer

mysqli_result::$current_field

mysqli_field_tell

(PHP 5, PHP 7)

mysqli_result::$current_field -- mysqli_field_tell — Get current field offset of a result pointer

Descrição

Estilo orientado à objeto

int $mysqli_result->current_field ;

Estilo procedural

mysqli_field_tell ( mysqli_result $result ) : int

Returns the position of the field cursor used for the last mysqli_fetch_field() call. This value can be used as an argument to mysqli_field_seek().

Parâmetros

result

Somente no estilo procedural: Um recurso result set retornado por mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valor Retornado

Returns current offset of field cursor.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    while ($finfo = $result->fetch_field()) {

        /* get fieldpointer offset */
        $currentfield = $result->current_field;

        printf("Column %d:\n", $currentfield);
        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for all fields */
    while ($finfo = mysqli_fetch_field($result)) {

        /* get fieldpointer offset */
        $currentfield = mysqli_field_tell($result);

        printf("Column %d:\n", $currentfield);
        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Column 1:
Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Column 2:
Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Veja Também

  • mysqli_fetch_field() - Retorna o próximo campo no conjunto de resultados
  • mysqli_field_seek() - Move o ponteiro do resultado para um campo especificado


Ajusta o ponteiro do resultado para uma linha arbritaria no conjunto de resutados

  • « mysqli_result::$current_field
  • mysqli_result::fetch_all »
  • PHP Manual
  • MySQLi_Result
  • Ajusta o ponteiro do resultado para uma linha arbritaria no conjunto de resutados

mysqli_result::data_seek

mysqli_data_seek

(PHP 5, PHP 7)

mysqli_result::data_seek -- mysqli_data_seek — Ajusta o ponteiro do resultado para uma linha arbritaria no conjunto de resutados

Descrição

Estilo orientado a objetos (metodo):

mysqli_result::data_seek ( int $offset ) : bool

Estilo de procedimento:

mysqli_data_seek ( mysqli_result $result , int $offset ) : bool

A função mysqli_data_seek() move para um resultado arbritario especificado por offset no conjunto de resultados especificado por result. O parâmetro offset deve estar entre zero e o número total de linhas menos uma (0..mysqli_num_rows() - 1).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

Esta função só pode ser usadas para consultas não guardadas em buffer guardadas com o uso de mysqli_store_result() ou mysqli_query().

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($result = $mysqli->query( $query)) {

    /* seek to row no. 400 */
    $result->data_seek(399);

    /* fetch row */
    $row = $result->fetch_row();

    printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);

    /* free result set*/
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";

if ($result = mysqli_query($link, $query)) {

    /* seek to row no. 400 */
    mysqli_data_seek($result, 399);

    /* fetch row */
    $row = mysqli_fetch_row($result);

    printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);

    /* free result set*/
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

City: Benin City  Countrycode: NGA

Veja Também

  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_fetch_row() - Obtém uma linha do resultado como uma matriz numerada
  • mysqli_fetch_array() - Obtem uma linha do resultado como uma matriz associativa, numérica, ou ambas
  • mysqli_fetch_assoc() - Obtem uma linha do conjunto de resultados como uma matriz associativa
  • mysqli_fetch_object() - Retorna a linha atual do conjunto de resultados como um objeto
  • mysqli_query() - Performs a query on the database
  • mysqli_num_rows() - Gets the number of rows in a result


Fetches all result rows as an associative array, a numeric array, or both

  • « mysqli_result::data_seek
  • mysqli_fetch_array »
  • PHP Manual
  • MySQLi_Result
  • Fetches all result rows as an associative array, a numeric array, or both

mysqli_result::fetch_all

mysqli_fetch_all

(PHP 5 >= 5.3.0, PHP 7)

mysqli_result::fetch_all -- mysqli_fetch_all — Fetches all result rows as an associative array, a numeric array, or both

Descrição

Estilo orientado à objeto

public mysqli_result::fetch_all ( int $resulttype = MYSQLI_NUM ) : mixed

Estilo procedural

mysqli_fetch_all ( mysqli_result $result , int $resulttype = MYSQLI_NUM ) : mixed

mysqli_fetch_all() fetches all result rows and returns the result set as an associative array, a numeric array, or both.

Parâmetros

result

Somente no estilo procedural: Um recurso result set retornado por mysqli_query(), mysqli_store_result() ou mysqli_use_result().

resulttype

This optional parameter is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH.

Valor Retornado

Returns an array of associative or numeric arrays holding result rows.

Somente Driver Nativo MySQL

Disponível apenas no mysqlnd.

As mysqli_fetch_all() returns all the rows as an array in a single step, it may consume more memory than some similar functions such as mysqli_fetch_array(), which only returns one row at a time from the result set. Further, if you need to iterate over the result set, you will need a looping construct that will further impact performance. For these reasons mysqli_fetch_all() should only be used in those situations where the fetched result set will be sent to another layer for processing.

Veja Também

  • mysqli_fetch_array() - Obtem uma linha do resultado como uma matriz associativa, numérica, ou ambas
  • mysqli_query() - Performs a query on the database


Obtem uma linha do resultado como uma matriz associativa, numérica, ou ambas

  • « mysqli_result::fetch_all
  • mysqli_result::fetch_assoc »
  • PHP Manual
  • MySQLi_Result
  • Obtem uma linha do resultado como uma matriz associativa, numérica, ou ambas

mysqli_fetch_array

result->fetch_array

(PHP 5, PHP 7)

mysqli_fetch_array -- result->fetch_array — Obtem uma linha do resultado como uma matriz associativa, numérica, ou ambas

Descrição

Estilo de procedimento:

mysqli_fetch_array ( object $result , int $resulttype = ? ) : mixed

Estilo orientado a objetos (metodo):

fetch_array ( int $resulttype = ? ) : mixed

Retorna uma matriz que corresponde a linha obtida ou null se não houverem mais linhas para o conjunto deresultados representado pelo parâmetro result.

mysqli_fetch_array() é uma versão extendida da função mysqli_fetch_row(). Alem de guardar os dados em índices numéricos na matriz do resultado, a função mysqli_fetch_array() pode também guardar os dados em índices associativos, usando os nomes dos campos do conjunto de resultado como chave.

Nota: Nomes de campos nesta função diferenciam maiúsculas e minusculas.

Nota: Esta função assimila campos NULL para o o null do PHP.

Se duas ou mais colunas do resultado tiverem o mesmo nome do campo, a ultima coluna terá precedencia e irá sobrescrever os dados anteriores. Para poder acessar múltiplas colunas com o mesmo nome, deve ser usada a versão com os índices numéricos.

O segundo arqumento, que é opcional, resulttype é uma constante indicando qual tipo de matriz deve ser produzido da linha atual do resultado. Os valores possíveis para este parâmetro são as constantes MYSQLI_ASSOC, MYSQLI_NUM, ou MYSQLI_BOTH. Pos padrão, a função mysqli_fetch_array() irá assumir MYSQLI_BOTH para este parâmetro.

Usando a constante MYSQLI_ASSOC esta função irá funcionar de modo identico a mysqli_fetch_assoc(), enquando MYSQLI_NUM irá funcionar de modo identico a função mysqli_fetch_row(). A opção final MYSQLI_BOTH irá criar uma única matriz com os atributos de ambas.

Valores de retorno

Retorna uma matriz que corresponde a linha obtida ou null se não houverem mais linhas no conjunto de resultados.

Veja também

mysqli_fetch_assoc(),
mysqli_fetch_row(),
mysqli_fetch_object().

Exemplo

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = $mysqli->query($query);

/* numeric array */
$row = $result->fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* associative and numeric array */
$row = $result->fetch_array(MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* free result set */
$result->close();

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = mysqli_query($link, $query);

/* numeric array */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* associative and numeric array */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* free result set */
mysqli_free_result($result);

/* close connection */
mysqli_close($link);
?>

Os exemplos acima devem produzir a seguinte saída:

Kabul (AFG)
Qandahar (AFG)
Herat (AFG)


Obtem uma linha do conjunto de resultados como uma matriz associativa

  • « mysqli_fetch_array
  • mysqli_fetch_field_direct »
  • PHP Manual
  • MySQLi_Result
  • Obtem uma linha do conjunto de resultados como uma matriz associativa

mysqli_result::fetch_assoc

mysqli_fetch_assoc

(PHP 5, PHP 7)

mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Obtem uma linha do conjunto de resultados como uma matriz associativa

Descrição

Estilo orientado a objeto (metodo):

mysqli_result::fetch_assoc ( ) : array

Estilo de procedimento:

mysqli_fetch_assoc ( mysqli_result $result ) : array

Retorna uma matriz associativa que corresponde a linha obtida, ou null se não houverem mais linhas.

A função mysqli_fetch_assoc() é usada para retornar uma matriz associativa representando a próxima linha no conjunto de resultados representado pelo parâmetro result, aonde cada chave representa o nome de uma coluna do conjunto de resultados.

Se duas ou mais colunas do resultado tiverem o mesmo nome do campo, a ultima coluna terá precedencia, Paa acessar as outra coluna(s) com o mesmo nome, você pode acessar o resultados com índices númericos usando a função mysqli_fetch_row() ou adicionar apelidos.

Nota: Nomes de campos nesta função diferenciam maiúsculas e minusculas.

Nota: Esta função assimila campos NULL para o o null do PHP.

Parâmetros

result

Somente no estilo procedural: Um recurso result set retornado por mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valor Retornado

Retorna uma matriz que corresponde a linha obtida null se não houverem mais linhas no conjunto de resultados.

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch associative array */
    while ($row = $result->fetch_assoc()) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Veja Também

  • mysqli_fetch_array() - Obtem uma linha do resultado como uma matriz associativa, numérica, ou ambas
  • mysqli_fetch_row() - Obtém uma linha do resultado como uma matriz numerada
  • mysqli_fetch_object() - Retorna a linha atual do conjunto de resultados como um objeto
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Ajusta o ponteiro do resultado para uma linha arbritaria no conjunto de resutados


Obtem meta dados para um único campo

  • « mysqli_result::fetch_assoc
  • mysqli_result::fetch_field »
  • PHP Manual
  • MySQLi_Result
  • Obtem meta dados para um único campo

mysqli_fetch_field_direct

result->fetch_field_direct

(PHP 5, PHP 7)

mysqli_fetch_field_direct -- result->fetch_field_direct — Obtem meta dados para um único campo

Descrição

Estilo de procedimento:

mysqli_fetch_field_direct ( object $result , int $fieldnr ) : mixed

Estilo orientado a objeto (metodo):

fetch_field_direct ( int $fieldnr ) : mixed

mysqli_fetch_field_direct() retorna um objeto o qual contém informações da definição de um campo do conjunto de resultados especificado. O valor de fieldnr deve estar no intervalo entre 0 e número de campos - 1.

Valores de retorno

Retorna um objeto o qual contém informações das definições de um campo ou false se não houver informações sobre o campo especificado com fieldnr disponíveis.

Atributos do objeto
Atibuto | Descrição
name | O nome da coluna
orgname | Nome original da coluna se foi especificado um alias
table | O nome da tabela a qual este campo pertence (se não for calculada)
orgtable | Nome da tabela original se foi especificado um alias
def | O valor padrão para este campo, representado por uma string
max_length | O limite de tamanho para o campo no conjunto de resultados.
flags | Um inteiro representando bit-flags para o campo.
type | O tipo de dados para este campo
decimals | O número de casas decimais usadas (para campos integer)

Veja também

mysqli_num_fields()
mysqli_fetch_field()
mysqli_fetch_fields()

Exemplo

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for column 'SurfaceArea' */
    $finfo = $result->fetch_field_direct(1);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n", $finfo->type);

    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for column 'SurfaceArea' */
    $finfo = mysqli_fetch_field_direct($result, 1);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n", $finfo->type);

    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima devem produzir a seguinte saída:

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4


Retorna o próximo campo no conjunto de resultados

  • « mysqli_fetch_field_direct
  • mysqli_result::fetch_fields »
  • PHP Manual
  • MySQLi_Result
  • Retorna o próximo campo no conjunto de resultados

mysqli_result::fetch_field

mysqli_fetch_field

(PHP 5, PHP 7)

mysqli_result::fetch_field -- mysqli_fetch_field — Retorna o próximo campo no conjunto de resultados

Descrição

Estilo orientado a objeto (metodo):

mysqli_result::fetch_field ( ) : object

Estilo de procedimento:

mysqli_fetch_field ( mysqli_result $result ) : object

A função mysqli_fetch_field() retorna a definição de uma coluna do conjunto de resultados como um objeto. Utilize esta função repetidamente para obter sobre todas as colunas no conjunto de resultados. mysqli_fetch_field() retorna false quando não houverem mais campos.

Parâmetros

result

Somente no estilo procedural: Um recurso result set retornado por mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valor Retornado

Retorna um objeto o qual contém informações sobre a definição do campoou false se não houver informação sobre campos disponível.

Propriedades do objeto
Propriedade | Descrição
name | O nome da coluna
orgname | Nome original da coluna se foi especificado um alias
table | O nome da tabela a qual este campo pertence (se não for calculada)
orgtable | Nome da tabela original se foi especificado um alias
def | O valor padrão para este campo, representando como uma string
max_length | O tamanho máximo do campo no conjunto de resultados.
flags | Um inteiro representando bit-flags para o campo.
type | O tipo de dados usado para este campo
decimals | O número de decimais usados (par campos integer)

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    while ($finfo = $result->fetch_field()) {

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for all fields */
    while ($finfo = mysqli_fetch_field($result)) {

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Veja Também

  • mysqli_num_fields() - Get the number of fields in a result
  • mysqli_fetch_field_direct() - Obtem meta dados para um único campo
  • mysqli_fetch_fields() - Retorna uma matriz de objetos representando os campos em um conjunto de resultados
  • mysqli_field_seek() - Move o ponteiro do resultado para um campo especificado


Retorna uma matriz de objetos representando os campos em um conjunto de resultados

  • « mysqli_result::fetch_field
  • mysqli_fetch_object »
  • PHP Manual
  • MySQLi_Result
  • Retorna uma matriz de objetos representando os campos em um conjunto de resultados

mysqli_result::fetch_fields

mysqli_fetch_fields

(PHP 5, PHP 7)

mysqli_result::fetch_fields -- mysqli_fetch_fields — Retorna uma matriz de objetos representando os campos em um conjunto de resultados

Descrição

Estilo orientado a objeto (metodo):

mysqli_result::fetch_fields ( ) : array

Estilo de procedimento:

mysqli_fetch_fields ( mysqli_result $result ) : array

Esta função serve para o mesmo propósito que a função mysqli_fetch_field() com uma simples diferença, ao invés de retornar um objeto de cada vez para cada campo, as colunas são retornadas como uma matriz de objetos.

Parâmetros

result

Somente no estilo procedural: Um recurso result set retornado por mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valor Retornado

Retorna uma matriz de objetos o quais contém informações sobre as definições dos campo ou false se não houver inforções dos campos disponíveis.

Propriedades dos objetos
Propriedade | Descrição
name | O nome da coluna
orgname | O nome original da coluna se foi especificado um alias
table | O nome da tabela a qual o campo pertence (se não for calculado)
orgtable | Nome da tabela original se foi especificado um alias
def | O valor padrão para este campo, representado como um string
max_length | A largura máxima do campo no conjunto de resultados.
length | O tamanho do campo, como específicado na definição da tabela.
charsetnr | O número do conjunto de caracteres do campo.
flags | Um inteiro representando bit-flags para o campo.
type | O tipo de dados usado para este campo
decimals | O número de decimais usados (para campos integer)

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    $finfo = $result->fetch_fields();

    foreach ($finfo as $val) {
        printf("Name:     %s\n", $val->name);
        printf("Table:    %s\n", $val->table);
        printf("max. Len: %d\n", $val->max_length);
        printf("Flags:    %d\n", $val->flags);
        printf("Type:     %d\n\n", $val->type);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for all columns */
    $finfo = mysqli_fetch_fields($result);

    foreach ($finfo as $val) {
        printf("Name:     %s\n", $val->name);
        printf("Table:    %s\n", $val->table);
        printf("max. Len: %d\n", $val->max_length);
        printf("Flags:    %d\n", $val->flags);
        printf("Type:     %d\n\n", $val->type);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Veja Também

  • mysqli_num_fields() - Get the number of fields in a result
  • mysqli_fetch_field_direct() - Obtem meta dados para um único campo
  • mysqli_fetch_field() - Retorna o próximo campo no conjunto de resultados


Retorna a linha atual do conjunto de resultados como um objeto

  • « mysqli_result::fetch_fields
  • mysqli_result::fetch_row »
  • PHP Manual
  • MySQLi_Result
  • Retorna a linha atual do conjunto de resultados como um objeto

mysqli_fetch_object

result->fetch_object

(PHP 5, PHP 7)

mysqli_fetch_object -- result->fetch_object — Retorna a linha atual do conjunto de resultados como um objeto

Descrição

Estilo de procedimento:

mysqli_fetch_object ( object $result ) : mixed

Estilo orientado a objeto (metodo):

fetch_object ( ) : mixed

A função mysqli_fetch_object() irá retornar a linha atual do conjunto de resultados como um objeto aonde os atributos do objeto representam os nomes dos campos encontrados no conjunto de resultados. Se não existirem mais linhas no conjunto de resultados atual, é retornado null.

Valores de retorno

Retorna um objeto que corresponde a linha obtida ou null se não houverem mais linhas no conjunto de resultados.

Nota: Nomes de campos nesta função diferenciam maiúsculas e minusculas.

Nota: Esta função assimila campos NULL para o o null do PHP.

Veja também

mysqli_fetch_array(),
mysqli_fetch_assoc(),
mysqli_fetch_row().

Exemplo

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch object array */
    while ($obj = $result->fetch_object()) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($obj = mysqli_fetch_object($result)) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima devem produzir a seguinte saída:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)


Obtém uma linha do resultado como uma matriz numerada

  • « mysqli_fetch_object
  • mysqli_result::$field_count »
  • PHP Manual
  • MySQLi_Result
  • Obtém uma linha do resultado como uma matriz numerada

mysqli_result::fetch_row

mysqli_fetch_row

(PHP 5, PHP 7)

mysqli_result::fetch_row -- mysqli_fetch_row — Obtém uma linha do resultado como uma matriz numerada

Descrição

Estilo orientado a objeto (metodo):

mysqli_result::fetch_row ( ) : mixed

Estilo de procedimento:

mysqli_fetch_row ( mysqli_result $result ) : mixed

Retorna uma matriz que corresponde a linha obtida, null se não houverem mais linhas.

mysqli_fetch_row() obtém uma linha de dados do conjunto de resultados representado pelo parâmetro result é retorna-a como uma matriz numerada, onde cada coluna é guardada em um índice da matriz começando de 0 (zero). Cada utilização subseqüente de mysqli_fetch_row() irá retornar a próxima linha do conjunto de resultados, ou false se não houverem mais linhas.

Parâmetros

result

Somente no estilo procedural: Um recurso result set retornado por mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valor Retornado

mysqli_fetch_row() retorna uma matriz que corresponde a linha obtida ou null se não houverem mais linhas no conjunto de resultados.

Nota: Esta função assimila campos NULL para o o null do PHP.

Exemplos

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch object array */
    while ($row = $result->fetch_row()) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_row($result)) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Veja Também

  • mysqli_fetch_array() - Obtem uma linha do resultado como uma matriz associativa, numérica, ou ambas
  • mysqli_fetch_assoc() - Obtem uma linha do conjunto de resultados como uma matriz associativa
  • mysqli_fetch_object() - Retorna a linha atual do conjunto de resultados como um objeto
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Ajusta o ponteiro do resultado para uma linha arbritaria no conjunto de resutados


Get the number of fields in a result

  • « mysqli_result::fetch_row
  • mysqli_field_seek »
  • PHP Manual
  • MySQLi_Result
  • Get the number of fields in a result

mysqli_result::$field_count

mysqli_num_fields

(PHP 5, PHP 7)

mysqli_result::$field_count -- mysqli_num_fields — Get the number of fields in a result

Descrição

Estilo orientado à objeto

int $mysqli_result->field_count;

Estilo procedural

mysqli_num_fields ( mysqli_result $result ) : int

Returns the number of fields from specified result set.

Parâmetros

result

Somente no estilo procedural: Um recurso result set retornado por mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valor Retornado

The number of fields from a result set.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* determine number of fields in result set */
    $field_cnt = $result->field_count;

    printf("Result set has %d fields.\n", $field_cnt);

    /* close result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* determine number of fields in result set */
    $field_cnt = mysqli_num_fields($result);

    printf("Result set has %d fields.\n", $field_cnt);

    /* close result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Result set has 5 fields.

Veja Também

  • mysqli_fetch_field() - Retorna o próximo campo no conjunto de resultados


Move o ponteiro do resultado para um campo especificado

  • « mysqli_result::$field_count
  • mysqli_result::free »
  • PHP Manual
  • MySQLi_Result
  • Move o ponteiro do resultado para um campo especificado

mysqli_field_seek

result->field_seek

(PHP 5, PHP 7)

mysqli_field_seek -- result->field_seek — Move o ponteiro do resultado para um campo especificado

Descrição

Modo orientado a objeto (método):

mysqli_result::field_seek ( int $fieldnr ) : bool

Modo procedural:

mysqli_field_seek ( mysqli_result $result , int $fieldnr ) : bool

Define o cursor dos campo para o índice indicado. A próxima chamada a mysqli_fetch_field() irá retornar as informações da definição do campo com este índice.

Nota:

Para mover para o início da linha, passe um índice de valor zero.

Parâmetros

result

Somente no estilo procedural: Um recurso result set retornado por mysqli_query(), mysqli_store_result() ou mysqli_use_result().

fieldnr

O número do campo. Este valor precisa estar num intervalo de 0 a numéro de campos - 1.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Modo orientado a objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for 2nd column */
    $result->field_seek(1);
    $finfo = $result->fetch_field();

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n\n", $finfo->type);

    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Modo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for 2nd column */
    mysqli_field_seek($result, 1);
    $finfo = mysqli_fetch_field($result);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n\n", $finfo->type);

    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

O exemplo acima irá imprimir:

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Veja Também

  • mysqli_fetch_field() - Retorna o próximo campo no conjunto de resultados


Frees the memory associated with a result

  • « mysqli_field_seek
  • mysqli_result::$lengths »
  • PHP Manual
  • MySQLi_Result
  • Frees the memory associated with a result

mysqli_result::free

mysqli_result::close

mysqli_result::free_result

mysqli_free_result

(PHP 5, PHP 7)

mysqli_result::free -- mysqli_result::close -- mysqli_result::free_result -- mysqli_free_result — Frees the memory associated with a result

Descrição

Estilo orientado à objeto

public mysqli_result::free ( ) : void
public mysqli_result::close ( ) : void
public mysqli_result::free_result ( ) : void

Estilo procedural

mysqli_free_result ( mysqli_result $result ) : void

Frees the memory associated with the result.

Parâmetros

result

Somente no estilo procedural: Um recurso result set retornado por mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valor Retornado

Não há valor retornado.

Veja Também

  • mysqli_query() - Performs a query on the database
  • mysqli_stmt_get_result() - Gets a result set from a prepared statement
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval


Returns the lengths of the columns of the current row in the result set

  • « mysqli_result::free
  • mysqli_result::$num_rows »
  • PHP Manual
  • MySQLi_Result
  • Returns the lengths of the columns of the current row in the result set

mysqli_result::$lengths

mysqli_fetch_lengths

(PHP 5, PHP 7)

mysqli_result::$lengths -- mysqli_fetch_lengths — Returns the lengths of the columns of the current row in the result set

Descrição

Estilo orientado à objeto

array $mysqli_result->lengths;

Estilo procedural

mysqli_fetch_lengths ( mysqli_result $result ) : array

The mysqli_fetch_lengths() function returns an array containing the lengths of every column of the current row within the result set.

Parâmetros

result

Somente no estilo procedural: Um recurso result set retornado por mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valor Retornado

An array of integers representing the size of each column (not including any terminating null characters). false if an error occurred.

mysqli_fetch_lengths() is valid only for the current row of the result set. It returns false if you call it before calling mysqli_fetch_row/array/object or after retrieving all rows in the result.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = $mysqli->query($query)) {

    $row = $result->fetch_row();

    /* display column lengths */
    foreach ($result->lengths as $i => $val) {
        printf("Field %2d has Length %2d\n", $i+1, $val);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = mysqli_query($link, $query)) {

    $row = mysqli_fetch_row($result);

    /* display column lengths */
    foreach (mysqli_fetch_lengths($result) as $i => $val) {
        printf("Field %2d has Length %2d\n", $i+1, $val);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Field  1 has Length  3
Field  2 has Length  5
Field  3 has Length 13
Field  4 has Length  9
Field  5 has Length  6
Field  6 has Length  1
Field  7 has Length  6
Field  8 has Length  4
Field  9 has Length  6
Field 10 has Length  6
Field 11 has Length  5
Field 12 has Length 44
Field 13 has Length  7
Field 14 has Length  3
Field 15 has Length  2


Gets the number of rows in a result

  • « mysqli_result::$lengths
  • mysqli_driver »
  • PHP Manual
  • MySQLi_Result
  • Gets the number of rows in a result

mysqli_result::$num_rows

mysqli_num_rows

(PHP 5, PHP 7)

mysqli_result::$num_rows -- mysqli_num_rows — Gets the number of rows in a result

Descrição

Estilo orientado à objeto

int $mysqli_result->num_rows;

Estilo procedural

mysqli_num_rows ( mysqli_result $result ) : int

Returns the number of rows in the result set.

The behaviour of mysqli_num_rows() depends on whether buffered or unbuffered result sets are being used. For unbuffered result sets, mysqli_num_rows() will not return the correct number of rows until all the rows in the result have been retrieved.

Parâmetros

result

Somente no estilo procedural: Um recurso result set retornado por mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valor Retornado

Returns number of rows in the result set.

Nota:

If the number of rows is greater than PHP_INT_MAX, the number will be returned as a string.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name")) {

    /* determine number of rows result set */
    $row_cnt = $result->num_rows;

    printf("Result set has %d rows.\n", $row_cnt);

    /* close result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo procedural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")) {

    /* determine number of rows result set */
    $row_cnt = mysqli_num_rows($result);

    printf("Result set has %d rows.\n", $row_cnt);

    /* close result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima irão imprimir:

Result set has 239 rows.

Veja Também

  • mysqli_affected_rows() - Retorna o número de linhas afetadas pela operação MySQL anterior
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval
  • mysqli_query() - Performs a query on the database


The mysqli_driver class

(PHP 5, PHP 7)

Introdução

The mysqli_driver class is an instance of the monostate pattern, i.e. there is only one driver which can be accessed though an arbitrary amount of mysqli_driver instances.

Sinopse da classe

mysqli_driver {
/* Propriedades */
public readonly string $client_info ;
public readonly string $client_version ;
public readonly string $driver_version ;
public readonly bool $embedded ;
public bool $reconnect ;
public int $report_mode ;
/* Métodos */
public embedded_server_end ( ) : void
public embedded_server_start ( int $start , array $arguments , array $groups ) : bool
}

Propriedades

client_info

The Client API header version

client_version

The Client version

driver_version

The MySQLi Driver version

embedded

Whether MySQLi Embedded support is enabled

reconnect

Allow or prevent reconnect (see the mysqli.reconnect INI directive)

report_mode

Set to MYSQLI_REPORT_OFF, MYSQLI_REPORT_ALL or any combination of MYSQLI_REPORT_STRICT (throw Exceptions for errors), MYSQLI_REPORT_ERROR (report errors) and MYSQLI_REPORT_INDEX (errors regarding indexes). See also mysqli_report().

Índice

  • mysqli_driver::embedded_server_end — Stop embedded server
  • mysqli_driver::embedded_server_start — Initialize and start embedded server
  • mysqli_driver::$report_mode — Sets mysqli error reporting mode


Stop embedded server

  • « mysqli_driver
  • mysqli_driver::embedded_server_start »
  • PHP Manual
  • mysqli_driver
  • Stop embedded server

mysqli_driver::embedded_server_end

mysqli_embedded_server_end

(PHP 5 >= 5.1.0, PHP 7 < 7.4.0)

mysqli_driver::embedded_server_end -- mysqli_embedded_server_end — Stop embedded server

Aviso

This function was REMOVED in PHP 7.4.0.

Descrição

Estilo orientado à objeto

public mysqli_driver::embedded_server_end ( ) : void

Estilo procedural

mysqli_embedded_server_end ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Initialize and start embedded server

  • « mysqli_driver::embedded_server_end
  • mysqli_driver::$report_mode »
  • PHP Manual
  • mysqli_driver
  • Initialize and start embedded server

mysqli_driver::embedded_server_start

mysqli_embedded_server_start

(PHP 5 >= 5.1.0, PHP 7 < 7.4.0)

mysqli_driver::embedded_server_start -- mysqli_embedded_server_start — Initialize and start embedded server

Aviso

This function was REMOVED in PHP 7.4.0.

Descrição

Estilo orientado à objeto

public mysqli_driver::embedded_server_start ( int $start , array $arguments , array $groups ) : bool

Estilo procedural

mysqli_embedded_server_start ( int $start , array $arguments , array $groups ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Sets mysqli error reporting mode

  • « mysqli_driver::embedded_server_start
  • mysqli_warning »
  • PHP Manual
  • mysqli_driver
  • Sets mysqli error reporting mode

mysqli_driver::$report_mode

mysqli_report

(PHP 5, PHP 7)

mysqli_driver::$report_mode -- mysqli_report — Sets mysqli error reporting mode

Descrição

Estilo orientado à objeto

int $mysqli_driver->report_mode ;

Estilo procedural

mysqli_report ( int $flags ) : bool

Depending on the flags, it sets mysqli error reporting mode to exception, warning or none. When set to MYSQLI_REPORT_ALL or MYSQLI_REPORT_INDEX it will also inform about queries that don't use an index (or use a bad index).

The default setting is MYSQLI_REPORT_OFF.

Parâmetros

flags

Supported flags
Name | Description
MYSQLI_REPORT_OFF | Turns reporting off (the default)
MYSQLI_REPORT_ERROR | Report errors from mysqli function calls
MYSQLI_REPORT_STRICT | Throw mysqli_sql_exception for errors instead of warnings
MYSQLI_REPORT_INDEX | Report if no index or bad index was used in a query
MYSQLI_REPORT_ALL | Set all options (report all)

Valor Retornado

Returns true.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php

/* activate reporting */
$driver = new mysqli_driver();
$driver->report_mode = MYSQLI_REPORT_ALL;

try {
    /* if the connection fails, a mysqli_sql_exception will be thrown */
    $mysqli = new mysqli("localhost", "my_user", "my_password", "my_db");

    /* this query should report an error */
    $result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");

    /* this query should report a bad index if the column population doesn't have an index */
    $result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
} catch (mysqli_sql_exception $e) {
    error_log($e->__toString());
}

Exemplo #2 Estilo procedural

<?php

/* activate reporting */
mysqli_report(MYSQLI_REPORT_ALL);

try {
    $link = mysqli_connect("localhost", "my_user", "my_password", "my_db");

    /* this query should report an error */
    $result = mysqli_query($link, "SELECT Name FROM Nonexistingtable WHERE population > 50000");

    /* this query should report a bad index if the column population doesn't have an index */
    $result = mysqli_query($link, "SELECT Name FROM City WHERE population > 50000");
} catch (mysqli_sql_exception $e) {
    error_log($e->__toString());
}

Exemplo #3 Error reporting except bad index errors

<?php

/* activate reporting */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

try {
    /* if the connection fails, a mysqli_sql_exception will be thrown */
    $mysqli = new mysqli("localhost", "my_user", "my_password", "my_db");

    /* this query should report an error */
    $result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");

    /* this WILL NOT report any errors even if index is not available */
    $result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
} catch (mysqli_sql_exception $e) {
    error_log($e->__toString());
}

Veja Também

  • mysqli_sql_exception
  • set_exception_handler() - Define uma função definida pelo usuário para tratamento de exceções
  • error_reporting() - Define quais erros serão reportados


The mysqli_warning class

(PHP 5, PHP 7)

Introdução

Represents a MySQL warning.

Sinopse da classe

final mysqli_warning {
/* Propriedades */
public $message ;
public $sqlstate ;
public $errno ;
/* Métodos */
public next ( ) : bool
}

Propriedades

message

Message string

sqlstate

SQL state

errno

Error number

Índice

  • mysqli_warning::next — Fetch next warning


Fetch next warning

  • « mysqli_warning
  • mysqli_sql_exception »
  • PHP Manual
  • mysqli_warning
  • Fetch next warning

mysqli_warning::next

(PHP 5, PHP 7)

mysqli_warning::next — Fetch next warning

Descrição

public mysqli_warning::next ( ) : bool

Change warning information to the next warning if possible.

Once the warning has been set to the next warning, new values of properties message, sqlstate and errno of mysqli_warning are available.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if next warning was fetched successfully. If there are no more warnings, it will return false


The mysqli_sql_exception class

(PHP 5, PHP 7)

Introdução

The mysqli exception handling class.

Sinopse da classe

mysqli_sql_exception extends RuntimeException {
/* Propriedades */
protected string $sqlstate ;
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
}

Propriedades

sqlstate

The sql state with the error.


Apelidos e Funções obsoletas da Mysqli

Índice

  • mysqli_connect — Sinônimo de mysqli::__construct
  • mysqli_escape_string — Apelido para mysqli_real_escape_string
  • mysqli_execute — Apelido para mysqli_stmt_execute
  • mysqli_get_client_stats — Returns client per-process statistics
  • mysqli_get_links_stats — Return information about open and cached links
  • mysqli_report — Sinônimo de mysqli_driver->report_mode
  • mysqli::set_opt — Alias of mysqli_options


Sinônimo de mysqli::__construct

  • « Apelidos e Funções obsoletas da Mysqli
  • mysqli_escape_string »
  • PHP Manual
  • Apelidos e Funções obsoletas da Mysqli
  • Sinônimo de mysqli::__construct

mysqli_connect

(PHP 5, PHP 7)

mysqli_connect — Sinônimo de mysqli::__construct()

Descrição

Esta função é um apelido para: mysqli::__construct()

Nota:

If mysqli exception mode is not enabled and a connection fails, then mysqli_connect() returns false instead of an object. The mysqli_connect_error() function can be used to fetch the connection error.


Apelido para mysqli_real_escape_string

  • « mysqli_connect
  • mysqli_execute »
  • PHP Manual
  • Apelidos e Funções obsoletas da Mysqli
  • Apelido para mysqli_real_escape_string

mysqli_escape_string

(PHP 5, PHP 7)

mysqli_escape_string — Apelido para mysqli_real_escape_string()

Descrição

Esta função é um apelido para mysqli_real_escape_string().

Veja Também

  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection


Apelido para mysqli_stmt_execute

  • « mysqli_escape_string
  • mysqli_get_client_stats »
  • PHP Manual
  • Apelidos e Funções obsoletas da Mysqli
  • Apelido para mysqli_stmt_execute

mysqli_execute

(PHP 5, PHP 7)

mysqli_execute — Apelido para mysqli_stmt_execute()

Descrição

Esta função é um apelido para mysqli_stmt_execute().

Notas

Nota:

mysqli_execute() esta obsoleta e será removida.

Veja Também

  • mysqli_stmt_execute() - Executa uma preparada query


Returns client per-process statistics

  • « mysqli_execute
  • mysqli_get_links_stats »
  • PHP Manual
  • Apelidos e Funções obsoletas da Mysqli
  • Returns client per-process statistics

mysqli_get_client_stats

(PHP 5 >= 5.3.0, PHP 7)

mysqli_get_client_stats — Returns client per-process statistics

Descrição

mysqli_get_client_stats ( ) : array

Returns client per-process statistics. Disponível apenas no mysqlnd.

Parâmetros

Valor Retornado

Returns an array with client stats if success, false otherwise.

Exemplos

Exemplo #1 A mysqli_get_client_stats() example

<?php
$link = mysqli_connect();
print_r(mysqli_get_client_stats());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Veja Também

  • Stats description


Return information about open and cached links

  • « mysqli_get_client_stats
  • mysqli_report »
  • PHP Manual
  • Apelidos e Funções obsoletas da Mysqli
  • Return information about open and cached links

mysqli_get_links_stats

(PHP 5 >= 5.6.0, PHP 7)

mysqli_get_links_stats — Return information about open and cached links

Descrição

mysqli_get_links_stats ( ) : array

mysqli_get_links_stats() returns information about open and cached MySQL links.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

mysqli_get_links_stats() returns an associative array with three elements, keyed as follows:

total

An int indicating the total number of open links in any state.

active_plinks

An int representing the number of active persistent connections.

cached_plinks

An int representing the number of inactive persistent connections.


Sinônimo de mysqli_driver->report_mode

  • « mysqli_get_links_stats
  • mysqli::set_opt »
  • PHP Manual
  • Apelidos e Funções obsoletas da Mysqli
  • Sinônimo de mysqli_driver->report_mode

mysqli_report

(PHP 5, PHP 7)

mysqli_report — Sinônimo de mysqli_driver->report_mode

Descrição

Esta função é um apelido para: mysqli_driver->report_mode


Alias of mysqli_options

  • « mysqli_report
  • Changelog »
  • PHP Manual
  • Apelidos e Funções obsoletas da Mysqli
  • Alias of mysqli_options

mysqli::set_opt

mysqli_set_opt

(PHP 5, PHP 7)

mysqli::set_opt -- mysqli_set_opt — Alias of mysqli_options()

Descrição

Esta função é um apelido para: mysqli_options().


Changelog

As alterações a seguir foram feitas em classes/funções/métodos desta extensão.

Version Function Description


Mysql_xdevapi

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Building / Compiling From Source
  • Constantes pré-definidas
  • Exemplos
  • Mysql_xdevapi Funções
    • expression — Bind prepared statement variables as parameters
    • getSession — Connect to a MySQL server
  • mysql_xdevapi\BaseResult — BaseResult interface
    • BaseResult::getWarnings — Fetch warnings from last operation
    • BaseResult::getWarningsCount — Fetch warning count from last operation
  • mysql_xdevapi\Client — Client class
    • mysql_xdevapi\Client::close — Close client
    • Client::__construct — Client constructor
    • Client::getClient — Get client session
  • mysql_xdevapi\Collection — Collection class
    • Collection::add — Add collection document
    • Collection::addOrReplaceOne — Add or replace collection document
    • Collection::__construct — Collection constructor
    • Collection::count — Get document count
    • Collection::createIndex — Create collection index
    • Collection::dropIndex — Drop collection index
    • Collection::existsInDatabase — Check if collection exists in database
    • Collection::find — Search for document
    • Collection::getName — Get collection name
    • Collection::getOne — Get one document
    • Collection::getSchema — Get schema object
    • Collection::getSession — Get session object
    • Collection::modify — Modify collection documents
    • Collection::remove — Remove collection documents
    • Collection::removeOne — Remove one collection document
    • Collection::replaceOne — Replace one collection document
  • mysql_xdevapi\CollectionAdd — CollectionAdd class
    • CollectionAdd::__construct — CollectionAdd constructor
    • CollectionAdd::execute — Execute the statement
  • mysql_xdevapi\CollectionFind — CollectionFind class
    • CollectionFind::bind — Bind value to query placeholder
    • CollectionFind::__construct — CollectionFind constructor
    • CollectionFind::execute — Execute the statement
    • CollectionFind::fields — Set document field filter
    • CollectionFind::groupBy — Set grouping criteria
    • CollectionFind::having — Set condition for aggregate functions
    • CollectionFind::limit — Limit number of returned documents
    • CollectionFind::lockExclusive — Execute operation with EXCLUSIVE LOCK
    • CollectionFind::lockShared — Execute operation with SHARED LOCK
    • CollectionFind::offset — Skip given number of elements to be returned
    • CollectionFind::sort — Set the sorting criteria
  • mysql_xdevapi\CollectionModify — CollectionModify class
    • CollectionModify::arrayAppend — Append element to an array field
    • CollectionModify::arrayInsert — Insert element into an array field
    • CollectionModify::bind — Bind value to query placeholder
    • CollectionModify::__construct — CollectionModify constructor
    • CollectionModify::execute — Execute modify operation
    • CollectionModify::limit — Limit number of modified documents
    • CollectionModify::patch — Patch document
    • CollectionModify::replace — Replace document field
    • CollectionModify::set — Set document attribute
    • CollectionModify::skip — Skip elements
    • CollectionModify::sort — Set the sorting criteria
    • CollectionModify::unset — Unset the value of document fields
  • mysql_xdevapi\CollectionRemove — CollectionRemove class
    • CollectionRemove::bind — Bind value to placeholder
    • CollectionRemove::__construct — CollectionRemove constructor
    • CollectionRemove::execute — Execute remove operation
    • CollectionRemove::limit — Limit number of documents to remove
    • CollectionRemove::sort — Set the sorting criteria
  • mysql_xdevapi\ColumnResult — ColumnResult class
    • ColumnResult::__construct — ColumnResult constructor
    • ColumnResult::getCharacterSetName — Get character set
    • ColumnResult::getCollationName — Get collation name
    • ColumnResult::getColumnLabel — Get column label
    • ColumnResult::getColumnName — Get column name
    • ColumnResult::getFractionalDigits — Get fractional digit length
    • ColumnResult::getLength — Get column field length
    • ColumnResult::getSchemaName — Get schema name
    • ColumnResult::getTableLabel — Get table label
    • ColumnResult::getTableName — Get table name
    • ColumnResult::getType — Get column type
    • ColumnResult::isNumberSigned — Check if signed type
    • ColumnResult::isPadded — Check if padded
  • mysql_xdevapi\CrudOperationBindable — CrudOperationBindable interface
    • CrudOperationBindable::bind — Bind value to placeholder
  • mysql_xdevapi\CrudOperationLimitable — CrudOperationLimitable interface
    • CrudOperationLimitable::limit — Set result limit
  • mysql_xdevapi\CrudOperationSkippable — CrudOperationSkippable interface
    • CrudOperationSkippable::skip — Number of operations to skip
  • mysql_xdevapi\CrudOperationSortable — CrudOperationSortable interface
    • CrudOperationSortable::sort — Sort results
  • mysql_xdevapi\DatabaseObject — DatabaseObject interface
    • DatabaseObject::existsInDatabase — Check if object exists in database
    • DatabaseObject::getName — Get object name
    • DatabaseObject::getSession — Get session name
  • mysql_xdevapi\DocResult — DocResult class
    • DocResult::__construct — DocResult constructor
    • DocResult::fetchAll — Get all rows
    • DocResult::fetchOne — Get one row
    • DocResult::getWarnings — Get warnings from last operation
    • DocResult::getWarningsCount — Get warning count from last operation
  • mysql_xdevapi\Exception — Exception class
  • mysql_xdevapi\Executable — Executable interface
    • Executable::execute — Execute statement
  • mysql_xdevapi\ExecutionStatus — ExecutionStatus class
    • ExecutionStatus::__construct — ExecutionStatus constructor
  • mysql_xdevapi\Expression — Expression class
    • Expression::__construct — Expression constructor
  • mysql_xdevapi\Result — Result class
    • Result::__construct — Result constructor
    • Result::getAffectedItemsCount — Get affected row count
    • Result::getAutoIncrementValue — Get autoincremented value
    • Result::getGeneratedIds — Get generated ids
    • Result::getWarnings — Get warnings from last operation
    • Result::getWarningsCount — Get warning count from last operation
  • mysql_xdevapi\RowResult — RowResult class
    • RowResult::__construct — RowResult constructor
    • RowResult::fetchAll — Get all rows from result
    • RowResult::fetchOne — Get row from result
    • RowResult::getColumnsCount — Get column count
    • RowResult::getColumnNames — Get all column names
    • RowResult::getColumns — Get column metadata
    • RowResult::getWarnings — Get warnings from last operation
    • RowResult::getWarningsCount — Get warning count from last operation
  • mysql_xdevapi\Schema — Schema class
    • Schema::__construct — constructor
    • Schema::createCollection — Add collection to schema
    • Schema::dropCollection — Drop collection from schema
    • Schema::existsInDatabase — Check if exists in database
    • Schema::getCollection — Get collection from schema
    • Schema::getCollectionAsTable — Get collection table object
    • Schema::getCollections — Get all schema collections
    • Schema::getName — Get schema name
    • Schema::getSession — Get schema session
    • Schema::getTable — Get schema table
    • Schema::getTables — Get schema tables
  • mysql_xdevapi\SchemaObject — SchemaObject interface
    • SchemaObject::getSchema — Get schema object
  • mysql_xdevapi\Session — Session class
    • Session::close — Close session
    • Session::commit — Commit transaction
    • Session::__construct — Description constructor
    • Session::createSchema — Create new schema
    • Session::dropSchema — Drop a schema
    • Session::generateUUID — Get new UUID
    • Session::getDefaultSchema — Get default schema name
    • Session::getSchema — Get a new schema object
    • Session::getSchemas — Get the schemas
    • Session::getServerVersion — Get server version
    • Session::listClients — Get client list
    • Session::quoteName — Add quotes
    • Session::releaseSavepoint — Release set savepoint
    • Session::rollback — Rollback transaction
    • Session::rollbackTo — Rollback transaction to savepoint
    • Session::setSavepoint — Create savepoint
    • Session::sql — Execute SQL query
    • Session::startTransaction — Start transaction
  • mysql_xdevapi\SqlStatement — SqlStatement class
    • SqlStatement::bind — Bind statement parameters
    • SqlStatement::__construct — Description constructor
    • SqlStatement::execute — Execute the operation
    • SqlStatement::getNextResult — Get next result
    • SqlStatement::getResult — Get result
    • SqlStatement::hasMoreResults — Check for more results
  • mysql_xdevapi\SqlStatementResult — SqlStatementResult class
    • SqlStatementResult::__construct — Description constructor
    • SqlStatementResult::fetchAll — Get all rows from result
    • SqlStatementResult::fetchOne — Get single row
    • SqlStatementResult::getAffectedItemsCount — Get affected row count
    • SqlStatementResult::getColumnsCount — Get column count
    • SqlStatementResult::getColumnNames — Get column names
    • SqlStatementResult::getColumns — Get columns
    • SqlStatementResult::getGeneratedIds — Get generated ids
    • SqlStatementResult::getLastInsertId — Get last insert id
    • SqlStatementResult::getWarnings — Get warnings from last operation
    • SqlStatementResult::getWarningsCount — Get warning count from last operation
    • SqlStatementResult::hasData — Check if result has data
    • SqlStatementResult::nextResult — Get next result
  • mysql_xdevapi\Statement — Statement class
    • Statement::__construct — Description constructor
    • Statement::getNextResult — Get next result
    • Statement::getResult — Get result
    • Statement::hasMoreResults — Check if more results
  • mysql_xdevapi\Table — Table class
    • Table::__construct — Table constructor
    • Table::count — Get row count
    • Table::delete — Delete rows from table
    • Table::existsInDatabase — Check if table exists in database
    • Table::getName — Get table name
    • Table::getSchema — Get table schema
    • Table::getSession — Get table session
    • Table::insert — Insert table rows
    • Table::isView — Check if table is view
    • Table::select — Select rows from table
    • Table::update — Update rows in table
  • mysql_xdevapi\TableDelete — TableDelete class
    • TableDelete::bind — Bind delete query parameters
    • TableDelete::__construct — TableDelete constructor
    • TableDelete::execute — Execute delete query
    • TableDelete::limit — Limit deleted rows
    • TableDelete::orderby — Set delete sort criteria
    • TableDelete::where — Set delete search condition
  • mysql_xdevapi\TableInsert — TableInsert class
    • TableInsert::__construct — TableInsert constructor
    • TableInsert::execute — Execute insert query
    • TableInsert::values — Add insert row values
  • mysql_xdevapi\TableSelect — TableSelect class
    • TableSelect::bind — Bind select query parameters
    • TableSelect::__construct — TableSelect constructor
    • TableSelect::execute — Execute select statement
    • TableSelect::groupBy — Set select grouping criteria
    • TableSelect::having — Set select having condition
    • TableSelect::limit — Limit selected rows
    • TableSelect::lockExclusive — Execute EXCLUSIVE LOCK
    • TableSelect::lockShared — Execute SHARED LOCK
    • TableSelect::offset — Set limit offset
    • TableSelect::orderby — Set select sort criteria
    • TableSelect::where — Set select search condition
  • mysql_xdevapi\TableUpdate — TableUpdate class
    • TableUpdate::bind — Bind update query parameters
    • TableUpdate::__construct — TableUpdate constructor
    • TableUpdate::execute — Execute update query
    • TableUpdate::limit — Limit update row count
    • TableUpdate::orderby — Set sorting criteria
    • TableUpdate::set — Add field to be updated
    • TableUpdate::where — Set search filter
  • mysql_xdevapi\Warning — Warning class
    • Warning::__construct — Warning constructor


Introdução

This extension provides access to the MySQL Document Store via the X DevAPI. The X DevAPI is a common API provided by multiple MySQL Connectors providing easy access to relational tables as well as collections of documents, which are represented in JSON, from a API with CRUD-style operations.

The X DevAPI uses the X Protocol, the new generation client-server protocol of the MySQL 8.0 server.

For general information about the MySQL Document Store, please refer to the » MySQL Document Store chapter in the MySQL manual.


Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução
  • Building / Compiling From Source


Dependências

This extension requires a MySQL 8+ server with the X plugin enabled (default).

Prerequisite libraries for compiling this extension are: Boost (1.53.0 or higher), OpenSSL, and Protobuf.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

An example installation procedure on Ubuntu 18.04 with PHP 7.2:

// Dependencies
$ apt install build-essential libprotobuf-dev libboost-dev openssl protobuf-compiler liblz4-tool zstd

// PHP with the desired extensions; php7.2-dev is required to compile
$ apt install php7.2-cli php7.2-dev php7.2-mysql php7.2-pdo php7.2-xml

// Compile the extension
$ pecl install mysql_xdevapi

The pecl install command does not enable PHP extensions (by default) and enabling PHP extensions can be done in several ways. Another PHP 7.2 on Ubuntu 18.04 example:

// Create its own ini file
$ echo "extension=mysql_xdevapi.so" > /etc/php/7.2/mods-available/mysql_xdevapi.ini

// Use the 'phpenmod' command (note: it's Debian/Ubuntu specific)
$ phpenmod -v 7.2 -s ALL mysql_xdevapi

// A 'phpenmod' alternative is to manually symlink it
// $ ln -s /etc/php/7.2/mods-available/mysql_xdevapi.ini /etc/php/7.2/cli/conf.d/20-mysql_xdevapi.ini

// Let's see which MySQL extensions are enabled now
$ php -m |grep mysql

mysql_xdevapi
mysqli
mysqlnd
pdo_mysql

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/mysql_xdevapi.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Mysql_xdevapi Opções de Configuração
Nome | Padrão | Modificável | Changelog
xmysqlnd.collect_memory_statistics | 0 | PHP_INI_SYSTEM |
xmysqlnd.collect_statistics | 1 | PHP_INI_ALL |
xmysqlnd.debug |  | PHP_INI_SYSTEM |
xmysqlnd.mempool_default_size | 16000 | PHP_INI_ALL |
xmysqlnd.net_read_timeout | 31536000 | PHP_INI_SYSTEM |
xmysqlnd.trace_alloc |  | PHP_INI_SYSTEM |

Uma rápida explicação das diretivas de configuração.

xmysqlnd.collect_memory_statistics int

xmysqlnd.collect_statistics int

xmysqlnd.debug string

xmysqlnd.mempool_default_size int

xmysqlnd.net_read_timeout int

xmysqlnd.trace_alloc string


Building / Compiling From Source

Considerations for compiling this extension from source.

  • The extension name is 'mysql_xdevapi', so use --enable-mysql-xdevapi.

  • Boost: required, optionally use the --with-boost=DIR configure option or set the MYSQL_XDEVAPI_BOOST_ROOT environment variable. Only the boost header files are required; not the binaries.

  • Google Protocol Buffers (protobuf): required, optionally use the --with-protobuf=DIR configure option or set the MYSQL_XDEVAPI_PROTOBUF_ROOT environment variable.

    Optionally use make protobufs to generate protobuf files (*.pb.cc/.h), and make clean-protobufs to delete generate protobuf files.

    Windows specific protobuf note: depending on your environment, the static library with a multi-threaded DLL runtime may be needed. To prepare, use the following options: -Dprotobuf_MSVC_STATIC_RUNTIME=OFF -Dprotobuf_BUILD_SHARED_LIBS=OFF

  • Google Protocol Buffers / protocol compiler (protoc): required, ensure that proper 'protoc' is available in the PATH while building. It is especially important as Windows PHP SDK batch scripts may overwrite the environment.

  • Bison: required, and available from the PATH.

    Windows specific bison note: we strongly recommended that bison delivered with the chosen PHP SDKis used else an error similar to "zend_globals_macros.h(39): error C2375: 'zendparse': redefinition; different linkage Zend/zend_language_parser.h(214): note: see declaration of 'zendparse'" may be the result. Also, Windows PHP SDK batch scripts may overwrite the environment.

  • Windows Specific Notes: To prepare the environment, see the official Windows build documentation for » the current SDK.

    We recommend using the backslash '\\' instead of a slash '/' for all paths.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

MYSQLX_CLIENT_SSL (int)
MYSQLX_TYPE_DECIMAL (int)
MYSQLX_TYPE_TINY (int)
MYSQLX_TYPE_SHORT (int)
MYSQLX_TYPE_SMALLINT (int)
MYSQLX_TYPE_MEDIUMINT (int)
MYSQLX_TYPE_INT (int)
MYSQLX_TYPE_BIGINT (int)
MYSQLX_TYPE_LONG (int)
MYSQLX_TYPE_FLOAT (int)
MYSQLX_TYPE_DOUBLE (int)
MYSQLX_TYPE_NULL (int)
MYSQLX_TYPE_TIMESTAMP (int)
MYSQLX_TYPE_LONGLONG (int)
MYSQLX_TYPE_INT24 (int)
MYSQLX_TYPE_DATE (int)
MYSQLX_TYPE_TIME (int)
MYSQLX_TYPE_DATETIME (int)
MYSQLX_TYPE_YEAR (int)
MYSQLX_TYPE_NEWDATE (int)
MYSQLX_TYPE_ENUM (int)
MYSQLX_TYPE_SET (int)
MYSQLX_TYPE_TINY_BLOB (int)
MYSQLX_TYPE_MEDIUM_BLOB (int)
MYSQLX_TYPE_LONG_BLOB (int)
MYSQLX_TYPE_BLOB (int)
MYSQLX_TYPE_VAR_STRING (int)
MYSQLX_TYPE_STRING (int)
MYSQLX_TYPE_CHAR (int)
MYSQLX_TYPE_BYTES (int)
MYSQLX_TYPE_INTERVAL (int)
MYSQLX_TYPE_GEOMETRY (int)
MYSQLX_TYPE_JSON (int)
MYSQLX_TYPE_NEWDECIMAL (int)
MYSQLX_TYPE_BIT (int)
MYSQLX_LOCK_DEFAULT (int)
MYSQLX_LOCK_NOWAIT (int)
MYSQLX_LOCK_SKIP_LOCKED (int)


Exemplos

The central entry point to the X DevAPI is the mysql_xdevapi\getSession() function, which receives a URI to a MySQL 8.0 Server and returns a mysql_xdevap\Session object.

Exemplo #1 Connecting to a MySQL Server

<?php
try {
    $session = mysql_xdevapi\getSession("mysqlx://user:password@host");
} catch(Exception $e) {
    die("Connection could not be established: " . $e->getMessage());
}

// ... use $session
?>

The session provides full access to the API. For a new MySQL Server installation, the first step is to create a database schema with a collection to store data:

Exemplo #2 Creating a Schema and Collection on the MySQL Server

<?php
$schema = $session->createSchema("test");
$collection = $schema->createCollection("example");
?>

When storing data, typically json_encode() is used to encode the data into JSON, which can then be stored inside a collection.

The following example stores data into the collection we created earlier, and then retrieve parts of it again.

Exemplo #3 Storing and Retrieving Data

<?php
$marco = [
  "name" => "Marco",
  "age"  => 19,
  "job"  => "Programmer"
];
$mike = [
  "name" => "Mike",
  "age"  => 39,
  "job"  => "Manager"
];

$schema = $session->getSchema("test");
$collection = $schema->getCollection("example");

$collection->add($marco, $mike)->execute();

var_dump($collection->find("name = 'Mike'")->execute()->fetchOne());
?>

O exemplo acima irá imprimir algo similar à:

array(4) {
  ["_id"]=>
  string(28) "00005ad66aaf0000000000000003"
  ["age"]=>
  int(39)
  ["job"]=>
  string(7) "Manager"
  ["name"]=>
  string(4) "Mike"
}

The example demonstrates that the MySQL Server adds an extra field named _id, which serves as primary key to the document.

The example also demonstrates that retrieved data is sorted alphabetically. That specific order comes from the efficient binary storage inside the MySQL server, but it should not be relied upon. Refer to the MySQL JSON datatype documentation for details.

Optionally use PHP's iterators fetch multiple documents:

Exemplo #4 Fetching and Iterating Multiple Documents

<?php
$result = $collection->find()->execute();
foreach ($result as $doc) {
  echo "${doc["name"]} is a ${doc["job"]}.\n";
}
?>

O exemplo acima irá imprimir algo similar à:

Marco is a Programmer.
Mike is a Manager.


Mysql_xdevapi Funções

Índice

  • expression — Bind prepared statement variables as parameters
  • getSession — Connect to a MySQL server


Bind prepared statement variables as parameters

  • « Mysql_xdevapi Funções
  • getSession »
  • PHP Manual
  • Mysql_xdevapi Funções
  • Bind prepared statement variables as parameters

expression

(Não há informação de versão disponível, talvez apenas no Git)

expression — Bind prepared statement variables as parameters

Descrição

mysql_xdevapi\expression ( string $expression ) : object

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

expression

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\Expression() example

<?php
$expression = mysql_xdevapi\Expression("[age,job]");

$res  = $coll->find("age > 30")->fields($expression)->limit(3)->execute();
$data = $res->fetchAll();

print_r($data);
?>

O exemplo acima irá imprimir algo similar à:

<?php


Connect to a MySQL server

  • « expression
  • mysql_xdevapi\BaseResult »
  • PHP Manual
  • Mysql_xdevapi Funções
  • Connect to a MySQL server

getSession

(Não há informação de versão disponível, talvez apenas no Git)

getSession — Connect to a MySQL server

Descrição

mysql_xdevapi\getSession ( string $uri ) : mysql_xdevapi\Session

Connects to the MySQL server.

Parâmetros

uri

The URI to the MySQL server, such as mysqlx://user:password@host.

URI format:

scheme://[user[:[password]]@]target[:port][?attribute1=value1&attribute2=value2...

  • scheme: required, the connection protocol

    In mysql_xdevapi it is always 'mysqlx' (for X Protocol)

  • user: optional, the MySQL user account for authentication

  • password: optional, the MySQL user's password for authentication

  • target: required, the server instance the connection refers to:

    * TCP connection (host name, IPv4 address, or IPv6 address)

    * Unix socket path (local file path)

    * Windows named-pipe (local file path)

  • port: optional, network port of MySQL server.

    by default port for X Protocol is 33060

  • ?attribute=value: this element is optional and specifies a data dictionary that contains different options, including:

    • The auth (authentication mechanism) attribute as it relates to encrypted connections. For additional information, see » Command Options for Encrypted Connections. The following 'auth' values are supported: plain, mysql41, external, and sha256_mem.

    • The connect-timeout attribute affects the connection and not subsequent operations. It is set per connection whether on a single or multiple hosts.

      Pass in a positive integer to define the connection timeout in seconds, or pass in 0 (zero) to disable the timeout (infinite). Not defining connect-timeout uses the default value of 10.

      Related, the MYSQLX_CONNECTION_TIMEOUT (timeout in seconds) and MYSQLX_TEST_CONNECTION_TIMEOUT (used while running tests) environment variables can be set and used instead of connect-timeout in the URI. The connect-timeout URI option has precedence over these environment variables.

    • The optional compression attribute accepts these values: preferred (client negotiates with server to find a supported algorithm; connection is uncompressed if a mutually supported algorithm is not found), required (like "preferred", but connection is terminated if a mutually supported algorithm is not found), or disabled (connection is uncompressed). Defaults to preferred.

      This option was added in version 8.0.20.

    • The optional compression-algorithms attribute defines the desired compression algorithms (and their preferred usage order): zstd_stream (alias: zstd), lz4_message (alias: lz4), or deflate_stream (aliases: deflate or zlib). By default, the order used (depending on system availability) is lz4_message, zstd_stream, then deflate_stream. For example, passing in compression-algorithms=[lz4,zstd_stream] uses lz4 if it's available, otherwise zstd_stream is used. If both are unavailable then behavior depends on the compression value e.g., if compression=required then it'll fail with an error.

      This option was added in version 8.0.22.

Exemplo #1 URI examples

mysqlx://foobar
mysqlx://root@localhost?socket=%2Ftmp%2Fmysqld.sock%2F
mysqlx://foo:bar@localhost:33060
mysqlx://foo:bar@localhost:33160?ssl-mode=disabled
mysqlx://foo:bar@localhost:33260?ssl-mode=required
mysqlx://foo:bar@localhost:33360?ssl-mode=required&auth=mysql41
mysqlx://foo:bar@(/path/to/socket)
mysqlx://foo:bar@(/path/to/socket)?auth=sha256_mem
mysqlx://foo:bar@[localhost:33060, 127.0.0.1:33061]
mysqlx://foobar?ssl-ca=(/path/to/ca.pem)&ssl-crl=(/path/to/crl.pem)
mysqlx://foo:bar@[localhost:33060, 127.0.0.1:33061]?ssl-mode=disabled
mysqlx://foo:bar@localhost:33160/?connect-timeout=0
mysqlx://foo:bar@localhost:33160/?connect-timeout=10&compression=required
mysqlx://foo:bar@localhost:33160/?connect-timeout=10&compression=required&compression-algorithms=[lz4,zstd_stream]

For related information, see MySQL Shell's » Connecting using a URI String.

Valor Retornado

A Session object.

Erros

A connection failure throws an Exception.

Exemplos

Exemplo #2 mysql_xdevapi\getSession() example

<?php
try {
    $session = mysql_xdevapi\getSession("mysqlx://user:password@host");
} catch(Exception $e) {
    die("Connection could not be established: " . $e->getMessage());
}

$schemas = $session->getSchemas();
print_r($schemas);

$mysql_version = $session->getServerVersion();
print_r($mysql_version);

var_dump($collection->find("name = 'Alfred'")->execute()->fetchOne());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => mysql_xdevapi\Schema Object
        (
            [name] => helloworld
        )
    [1] => mysql_xdevapi\Schema Object
        (
            [name] => information_schema
        )
    [2] => mysql_xdevapi\Schema Object
        (
            [name] => mysql
        )
    [3] => mysql_xdevapi\Schema Object
        (
            [name] => performance_schema
        )
    [4] => mysql_xdevapi\Schema Object
        (
            [name] => sys
        )
)

80012

array(4) {
  ["_id"]=>
  string(28) "00005ad66abf0001000400000003"
  ["age"]=>
  int(42)
  ["job"]=>
  string(7) "Butler"
  ["name"]=>
  string(4) "Alfred"
}


BaseResult interface

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\BaseResult {
/* Métodos */
abstract public getWarnings ( ) : array
abstract public getWarningsCount ( ) : int
}

Índice

  • BaseResult::getWarnings — Fetch warnings from last operation
  • BaseResult::getWarningsCount — Fetch warning count from last operation


Fetch warnings from last operation

  • « mysql_xdevapi\BaseResult
  • BaseResult::getWarningsCount »
  • PHP Manual
  • mysql_xdevapi\BaseResult
  • Fetch warnings from last operation

BaseResult::getWarnings

(Não há informação de versão disponível, talvez apenas no Git)

BaseResult::getWarnings — Fetch warnings from last operation

Descrição

abstract public mysql_xdevapi\BaseResult::getWarnings ( ) : array

Fetches warnings generated by MySQL server's last operation.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of Warning objects from the last operation. Each object defines an error 'message', error 'level', and error 'code'. An empty array is returned if no errors are present.

Exemplos

Exemplo #1 mysql_xdevapi\RowResult::getWarnings() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();

$schema = $session->getSchema("foo");
$table  = $schema->getTable("test_table");

$table->insert(['x'])->values([1])->values([2])->execute();

$res = $table->select(['x/0 as bad_x'])->execute();
$warnings = $res->getWarnings();

print_r($warnings);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => mysql_xdevapi\Warning Object
        (
            [message] => Division by 0
            [level] => 2
            [code] => 1365
        )
    [1] => mysql_xdevapi\Warning Object
        (
            [message] => Division by 0
            [level] => 2
            [code] => 1365
        )
)


Fetch warning count from last operation

  • « BaseResult::getWarnings
  • mysql_xdevapi\Client »
  • PHP Manual
  • mysql_xdevapi\BaseResult
  • Fetch warning count from last operation

BaseResult::getWarningsCount

(Não há informação de versão disponível, talvez apenas no Git)

BaseResult::getWarningsCount — Fetch warning count from last operation

Descrição

abstract public mysql_xdevapi\BaseResult::getWarningsCount ( ) : int

Returns the number of warnings raised by the last operation. Specifically, these warnings are raised by the MySQL server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of warnings from the last operation.

Exemplos

Exemplo #1 mysql_xdevapi\RowResult::getWarningsCount() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS foo")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();

$schema = $session->getSchema("foo");
$table  = $schema->getTable("test_table");

$table->insert(['x'])->values([1])->values([2])->execute();

$res = $table->select(['x/0 as bad_x'])->execute();

echo $res->getWarningsCount();
?>

O exemplo acima irá imprimir algo similar à:

2


Client class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

Provides access to the connection pool.

Sinopse da classe

mysql_xdevapi\Client {
/* Métodos */
public close ( ) : bool
public getSession ( ) : mysql_xdevapi\Session
}

Índice

  • mysql_xdevapi\Client::close — Close client
  • Client::__construct — Client constructor
  • Client::getClient — Get client session


Close client

  • « mysql_xdevapi\Client
  • Client::__construct »
  • PHP Manual
  • mysql_xdevapi\Client
  • Close client

mysql_xdevapi\Client::close

(Não há informação de versão disponível, talvez apenas no Git)

mysql_xdevapi\Client::close — Close client

Descrição

public mysql_xdevapi\Client::close ( ) : bool

Close all client connections with the server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if connections are closed.


Client constructor

  • « mysql_xdevapi\Client::close
  • Client::getClient »
  • PHP Manual
  • mysql_xdevapi\Client
  • Client constructor

Client::__construct

(Não há informação de versão disponível, talvez apenas no Git)

Client::__construct — Client constructor

Descrição

private mysql_xdevapi\Client::__construct ( )

Construct a client object.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\Client::__construct() example

<?php
$pooling_options = '{
  "enabled": true,
    "maxSize": 10,
    "maxIdleTime": 3600,
    "queueTimeOut": 1000
}';
$client = mysql_xdevapi\getClient($connection_uri, $pooling_options);
$session = $client->getSession();


Get client session

  • « Client::__construct
  • mysql_xdevapi\Collection »
  • PHP Manual
  • mysql_xdevapi\Client
  • Get client session

Client::getClient

(Não há informação de versão disponível, talvez apenas no Git)

Client::getClient — Get client session

Descrição

public mysql_xdevapi\Client::getSession ( ) : mysql_xdevapi\Session

Get session associated with the client.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A Session object.


Collection class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\Collection implements mysql_xdevapi\SchemaObject {
/* Propriedades */
public $name ;
/* Métodos */
public add ( mixed $document ) : mysql_xdevapi\CollectionAdd
public addOrReplaceOne ( string $id , string $doc ) : mysql_xdevapi\Result
public count ( ) : int
public createIndex ( string $index_name , string $index_desc_json ) : void
public dropIndex ( string $index_name ) : bool
public existsInDatabase ( ) : bool
public find ( string $search_condition = ? ) : mysql_xdevapi\CollectionFind
public getName ( ) : string
public getOne ( string $id ) : Document
public getSchema ( ) : Schema Object
public getSession ( ) : Session
public modify ( string $search_condition ) : mysql_xdevapi\CollectionModify
public remove ( string $search_condition ) : mysql_xdevapi\CollectionRemove
public removeOne ( string $id ) : mysql_xdevapi\Result
public replaceOne ( string $id , string $doc ) : mysql_xdevapi\Result
}

Propriedades

name

Índice

  • Collection::add — Add collection document
  • Collection::addOrReplaceOne — Add or replace collection document
  • Collection::__construct — Collection constructor
  • Collection::count — Get document count
  • Collection::createIndex — Create collection index
  • Collection::dropIndex — Drop collection index
  • Collection::existsInDatabase — Check if collection exists in database
  • Collection::find — Search for document
  • Collection::getName — Get collection name
  • Collection::getOne — Get one document
  • Collection::getSchema — Get schema object
  • Collection::getSession — Get session object
  • Collection::modify — Modify collection documents
  • Collection::remove — Remove collection documents
  • Collection::removeOne — Remove one collection document
  • Collection::replaceOne — Replace one collection document


Add collection document

  • « mysql_xdevapi\Collection
  • Collection::addOrReplaceOne »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Add collection document

Collection::add

(Não há informação de versão disponível, talvez apenas no Git)

Collection::add — Add collection document

Descrição

public mysql_xdevapi\Collection::add ( mixed $document ) : mysql_xdevapi\CollectionAdd

Triggers the insertion of the given document(s) into the collection, and multiple variants of this method are supported. Options include:

  1. Add a single document as a JSON string.

  2. Add a single document as an array as: [ 'field' => 'value', 'field2' => 'value2' ... ]

  3. A mix of both, and multiple documents can be added in the same operation.

Parâmetros

document

One or multiple documents, and this can be either JSON or an array of fields with their associated values. This cannot be an empty array.

The MySQL server automatically generates unique _id values for each document (recommended), although this can be manually added as well. This value must be unique as otherwise the add operation will fail.

Valor Retornado

A CollectionAdd object. Use execute() to return a Result that can be used to query the number of affected items, the number warnings generated by the operation, or to fetch a list of generated IDs for the inserted documents.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::add() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

// Add two documents
$collection->add('{"name": "Fred",  "age": 21, "job": "Construction"}')->execute();
$collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();

// Add two documents using a single JSON object
$result = $collection->add(
  '{"name": "Bernie",
    "jobs": [{"title":"Cat Herder","Salary":42000}, {"title":"Father","Salary":0}],
    "hobbies": ["Sports","Making cupcakes"]}',
  '{"name": "Jane",
    "jobs": [{"title":"Scientist","Salary":18000}, {"title":"Mother","Salary":0}],
    "hobbies": ["Walking","Making pies"]}')->execute();

// Fetch a list of generated ID's from the last add()
$ids = $result->getGeneratedIds();
print_r($ids);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => 00005b6b53610000000000000056
    [1] => 00005b6b53610000000000000057
)

Notas

Nota:

A unique _id is generated by MySQL Server 8.0 or higher, as demonstrated in the example. The _id field must be manually defined if using MySQL Server 5.7.


Add or replace collection document

  • « Collection::add
  • Collection::__construct »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Add or replace collection document

Collection::addOrReplaceOne

(Não há informação de versão disponível, talvez apenas no Git)

Collection::addOrReplaceOne — Add or replace collection document

Descrição

public mysql_xdevapi\Collection::addOrReplaceOne ( string $id , string $doc ) : mysql_xdevapi\Result

Add a new document, or replace a document if it already exists.

Here are several scenarios for this method:

  • If neither the id or any unique key values conflict with any document in the collection, then the document is added.

  • If the id does not match any document but one or more unique key values conflict with a document in the collection, then an error is raised.

  • If id matches an existing document and no unique keys are defined for the collection, then the document is replaced.

  • If id matches an existing document, and either all unique keys in the replacement document match that same document or they don't conflict with any other documents in the collection, then the document is replaced.

  • If id matches an existing document and one or more unique keys match a different document from the collection, then an error is raised.

Parâmetros

id

This is the filter id. If this id or any other field that has a unique index already exists in the collection, then it will update the matching document instead.

By default, this id is automatically generated by MySQL Server when the record was added, and is referenced as a field named '_id'.

doc

This is the document to add or replace, which is a JSON string.

Valor Retornado

A Result object.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::addOrReplaceOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

// Using add()
$result = $collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();

// Using addOrReplaceOne()
// Note: we're passing in a known _id value here
$result = $collection->addOrReplaceOne('00005b6b53610000000000000056', '{"name": "Fred",  "age": 21, "job": "Construction"}');

?>


Collection constructor

  • « Collection::addOrReplaceOne
  • Collection::count »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Collection constructor

Collection::__construct

(Não há informação de versão disponível, talvez apenas no Git)

Collection::__construct — Collection constructor

Descrição

private mysql_xdevapi\Collection::__construct ( )

Construct a Collection object.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::getOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection->add('{"name": "Alfred", "age": 42, "job": "Butler"}')->execute();

// A unique _id is (by default, and recommended) generated by MySQL Server
// This retrieves the generated _id's; only one in this example, so $ids[0]
$ids        = $result->getGeneratedIds();
$alfreds_id = $ids[0];

// ...

print_r($alfreds_id);
print_r($collection->getOne($alfreds_id));
?>

O exemplo acima irá imprimir algo similar à:

00005b6b536100000000000000b1

Array
(
    [_id] => 00005b6b536100000000000000b1
    [age] => 42
    [job] => Butler
    [name] => Alfred
)


Get document count

  • « Collection::__construct
  • Collection::createIndex »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Get document count

Collection::count

(Não há informação de versão disponível, talvez apenas no Git)

Collection::count — Get document count

Descrição

public mysql_xdevapi\Collection::count ( ) : int

This functionality is similar to a SELECT COUNT(*) SQL operation against the MySQL server for the current schema and collection. In other words, it counts the number of documents in the collection.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of documents in the collection.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::count() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

$result = $collection
  ->add(
  '{"name": "Bernie",
    "jobs": [
      {"title":"Cat Herder","Salary":42000},
      {"title":"Father","Salary":0}
    ],
    "hobbies": ["Sports","Making cupcakes"]}',
  '{"name": "Jane",
    "jobs": [
      {"title":"Scientist","Salary":18000},
      {"title":"Mother","Salary":0}
    ],
    "hobbies": ["Walking","Making pies"]}')
  ->execute();

var_dump($collection->count());
?>

O exemplo acima irá imprimir:

int(2)


Create collection index

  • « Collection::count
  • Collection::dropIndex »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Create collection index

Collection::createIndex

(Não há informação de versão disponível, talvez apenas no Git)

Collection::createIndex — Create collection index

Descrição

public mysql_xdevapi\Collection::createIndex ( string $index_name , string $index_desc_json ) : void

Creates an index on the collection.

An exception is thrown if an index with the same name already exists, or if index definition is not correctly formed.

Parâmetros

index_name

The name of the index that to create. This name must be a valid index name as accepted by the CREATE INDEX SQL query.

index_desc_json

Definition of the index to create. It contains an array of IndexField objects, and each object describes a single document member to include in the index, and an optional string for the type of index that might be INDEX (default) or SPATIAL.

A single IndexField description consists of the following fields:

  • field: string, the full document path to the document member or field to be indexed.

  • type: string, one of the supported SQL column types to map the field into. For numeric types, the optional UNSIGNED keyword may follow. For the TEXT type, the length to consider for indexing may be added.

  • required: bool, (optional) true if the field is required to exist in the document. Defaults to false, except for GEOJSON where it defaults to true.

  • options: integer, (optional) special option flags for use when decoding GEOJSON data.

  • srid: integer, (optional) srid value for use when decoding GEOJSON data.

It is an error to include other fields not described above in IndexDefinition or IndexField documents.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\Collection::createIndex() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

// Creating a text index
$collection->createIndex(
  'myindex1',
  '{"fields": [{
    "field": "$.name",
    "type": "TEXT(25)",
    "required": true}],
    "unique": false}'
);

// A spatial index
$collection->createIndex(
  'myindex2',
  '{"fields": [{
    "field": "$.home",
    "type": "GEOJSON",
    "required": true}],
    "type": "SPATIAL"}'
);

// Index with multiple fields
$collection->createIndex(
  'myindex3',
  '{"fields": [
    {
      "field": "$.name",
      "type": "TEXT(20)",
      "required": true
    },
    {
      "field": "$.age",
      "type": "INTEGER"
    },
    {
      "field": "$.job",
      "type": "TEXT(30)",
      "required": false
    }
  ],
  "unique": true
  }'
);


Drop collection index

  • « Collection::createIndex
  • Collection::existsInDatabase »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Drop collection index

Collection::dropIndex

(Não há informação de versão disponível, talvez apenas no Git)

Collection::dropIndex — Drop collection index

Descrição

public mysql_xdevapi\Collection::dropIndex ( string $index_name ) : bool

Drop a collection index.

This operation does not yield an error if the index does not exist, but false is returned in that case.

Parâmetros

index_name

Name of collection index to drop.

Valor Retornado

true if the DROP INDEX operation succeeded, otherwise false.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::dropIndex() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

// ...

$collection = $schema->getCollection("people");

$collection->createIndex(
  'myindex',
  '{"fields": [{"field": "$.name", "type": "TEXT(25)", "required": true}], "unique": false}'
);

// ...

if ($collection->dropIndex('myindex')) {
    echo 'An index named 'myindex' was found, and dropped.';
}
?>

O exemplo acima irá imprimir:

An index named 'myindex' was found, and dropped.


Check if collection exists in database

  • « Collection::dropIndex
  • Collection::find »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Check if collection exists in database

Collection::existsInDatabase

(Não há informação de versão disponível, talvez apenas no Git)

Collection::existsInDatabase — Check if collection exists in database

Descrição

public mysql_xdevapi\Collection::existsInDatabase ( ) : bool

Checks if the Collection object refers to a collection in the database (schema).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if collection exists in the database, else false if it does not.

A table defined with two columns (doc and _id) is considered a collection, and a third _json_schema column as of MySQL 8.0.21. Adding an additional column means existsInDatabase() will no longer see it as a collection.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::existsInDatabase() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

// ...

$collection = $schema->getCollection("people");

// ...

if (!$collection->existsInDatabase()) {
    echo "The collection no longer exists in the database named addressbook. What happened?";
}
?>


Search for document

  • « Collection::existsInDatabase
  • Collection::getName »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Search for document

Collection::find

(Não há informação de versão disponível, talvez apenas no Git)

Collection::find — Search for document

Descrição

public mysql_xdevapi\Collection::find ( string $search_condition = ? ) : mysql_xdevapi\CollectionFind

Search a database collection for a document or set of documents. The found documents are returned as a CollectionFind object is to further modify or fetch results from.

Parâmetros

search_condition

Although optional, normally a condition is defined to limit the results to a subset of documents.

Multiple elements might build the condition and the syntax supports parameter binding. The expression used as search condition must be a valid SQL expression. If no search condition is provided (field empty) then find('true') is assumed.

Valor Retornado

A CollectionFind object to verify the operation, or fetch the found documents.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::find() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$collection->add('{"name": "Alfred",     "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob",        "age": 19, "job": "Swimmer"}')->execute();
$collection->add('{"name": "Fred",       "age": 20, "job": "Construction"}')->execute();
$collection->add('{"name": "Wilma",      "age": 21, "job": "Teacher"}')->execute();
$collection->add('{"name": "Suki",       "age": 22, "job": "Teacher"}')->execute();

$find   = $collection->find('job LIKE :job AND age > :age');
$result = $find
  ->bind(['job' => 'Teacher', 'age' => 20])
  ->sort('age DESC')
  ->limit(2)
  ->execute();

print_r($result->fetchAll());
?>

O exemplo acima irá imprimir:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b536100000000000000a8
            [age] => 22
            [job] => Teacher
            [name] => Suki
        )
    [1] => Array
        (
            [_id] => 00005b6b536100000000000000a7
            [age] => 21
            [job] => Teacher
            [name] => Wilma
        )
)


Get collection name

  • « Collection::find
  • Collection::getOne »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Get collection name

Collection::getName

(Não há informação de versão disponível, talvez apenas no Git)

Collection::getName — Get collection name

Descrição

public mysql_xdevapi\Collection::getName ( ) : string

Retrieve the collection's name.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The collection name, as a string.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::getName() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

// ...

var_dump($collection->getName());
?>

O exemplo acima irá imprimir algo similar à:

string(6) "people"


Get one document

  • « Collection::getName
  • Collection::getSchema »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Get one document

Collection::getOne

(Não há informação de versão disponível, talvez apenas no Git)

Collection::getOne — Get one document

Descrição

public mysql_xdevapi\Collection::getOne ( string $id ) : Document

Fetches one document from the collection.

This is a shortcut for: Collection.find("_id = :id").bind("id", id).execute().fetchOne();

Parâmetros

id

The document _id in the collection.

Valor Retornado

The collection object, or null if the _id does not match a document.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::getOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection->add('{"name": "Alfred", "age": 42, "job": "Butler"}')->execute();

// A unique _id is (by default, and recommended) generated by MySQL Server
// This retrieves the generated _id's; only one in this example, so $ids[0]
$ids        = $result->getGeneratedIds();
$alfreds_id = $ids[0];

// ...

print_r($alfreds_id);
print_r($collection->getOne($alfreds_id));
?>

O exemplo acima irá imprimir algo similar à:

00005b6b536100000000000000b1

Array
(
    [_id] => 00005b6b536100000000000000b1
    [age] => 42
    [job] => Butler
    [name] => Alfred
)


Get schema object

  • « Collection::getOne
  • Collection::getSession »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Get schema object

Collection::getSchema

(Não há informação de versão disponível, talvez apenas no Git)

Collection::getSchema — Get schema object

Descrição

public mysql_xdevapi\Collection::getSchema ( ) : Schema Object

Retrieve the schema object that contains the collection.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The schema object on success, or null if the object cannot be retrieved for the given collection.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::getSchema() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

var_dump($collection->getSchema());
?>

O exemplo acima irá imprimir algo similar à:

object(mysql_xdevapi\Schema)#9 (1) {
  ["name"]=>
  string(11) "addressbook"
}


Get session object

  • « Collection::getSchema
  • Collection::modify »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Get session object

Collection::getSession

(Não há informação de versão disponível, talvez apenas no Git)

Collection::getSession — Get session object

Descrição

public mysql_xdevapi\Collection::getSession ( ) : Session

Get a new Session object from the Collection object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A Session object.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::getSession() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

// ...

$newsession = $collection->getSession();

var_dump($session);
var_dump($newsession);
?>

O exemplo acima irá imprimir algo similar à:

object(mysql_xdevapi\Session)#1 (0) {
}
object(mysql_xdevapi\Session)#4 (0) {
}


Modify collection documents

  • « Collection::getSession
  • Collection::remove »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Modify collection documents

Collection::modify

(Não há informação de versão disponível, talvez apenas no Git)

Collection::modify — Modify collection documents

Descrição

public mysql_xdevapi\Collection::modify ( string $search_condition ) : mysql_xdevapi\CollectionModify

Modify collections that meet specific search conditions. Multiple operations are allowed, and parameter binding is supported.

Parâmetros

search_condition

Must be a valid SQL expression used to match the documents to modify. This expression might be as simple as true, which matches all documents, or it might use functions and operators such as 'CAST(_id AS SIGNED) >= 10', 'age MOD 2 = 0 OR age MOD 3 = 0', or '_id IN ["2","5","7","10"]'.

Valor Retornado

If the operation is not executed, then the function will return a Modify object that can be used to add additional modify operations.

If the modify operation is executed, then the returned object will contain the result of the operation.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::modify() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob",    "age": 19, "job": "Painter"}')->execute();

// Add two new jobs for all Painters: Artist and Crafter
$collection
  ->modify("job in ('Butler', 'Painter')")
  ->arrayAppend('job', 'Artist')
  ->arrayAppend('job', 'Crafter')
  ->execute();

// Remove the 'beer' field from all documents with the age 21
$collection
  ->modify('age < 21')
  ->unset(['beer'])
  ->execute();
?>


Remove collection documents

  • « Collection::modify
  • Collection::removeOne »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Remove collection documents

Collection::remove

(Não há informação de versão disponível, talvez apenas no Git)

Collection::remove — Remove collection documents

Descrição

public mysql_xdevapi\Collection::remove ( string $search_condition ) : mysql_xdevapi\CollectionRemove

Remove collections that meet specific search conditions. Multiple operations are allowed, and parameter binding is supported.

Parâmetros

search_condition

Must be a valid SQL expression used to match the documents to modify. This expression might be as simple as true, which matches all documents, or it might use functions and operators such as 'CAST(_id AS SIGNED) >= 10', 'age MOD 2 = 0 OR age MOD 3 = 0', or '_id IN ["2","5","7","10"]'.

Valor Retornado

If the operation is not executed, then the function will return a Remove object that can be used to add additional remove operations.

If the remove operation is executed, then the returned object will contain the result of the operation.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::remove() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob",    "age": 19, "job": "Painter"}')->execute();

// Remove all painters
$collection
  ->remove("job in ('Painter')")
  ->execute();

// Remove the oldest butler
$collection
  ->remove("job in ('Butler')")
  ->sort('age desc')
  ->limit(1)
  ->execute();

// Remove record with lowest age
$collection
  ->remove('true')
  ->sort('age desc')
  ->limit(1)
  ->execute();
?>


Remove one collection document

  • « Collection::remove
  • Collection::replaceOne »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Remove one collection document

Collection::removeOne

(Não há informação de versão disponível, talvez apenas no Git)

Collection::removeOne — Remove one collection document

Descrição

public mysql_xdevapi\Collection::removeOne ( string $id ) : mysql_xdevapi\Result

Remove one document from the collection with the correspending ID. This is a shortcut for Collection.remove("_id = :id").bind("id", id).execute().

Parâmetros

id

The ID of the collection document to remove. Typically this is the _id that was generated by MySQL Server when the record was added.

Valor Retornado

A Result object that can be used to query the number of affected items or the number warnings generated by the operation.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::removeOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();

// Normally the _id is known by other means,
// but for this example let's fetch the generated id and use it
$ids       = $result->getGeneratedIds();
$alfred_id = $ids[0];

$result = $collection->removeOne($alfred_id);

if(!$result->getAffectedItemsCount()) {
    echo "Alfred with id $alfred_id was not removed.";
} else {
    echo "Goodbye, Alfred, you can take _id $alfred_id with you.";
}
?>

O exemplo acima irá imprimir algo similar à:

Goodbye, Alfred, you can take _id 00005b6b536100000000000000cb with you.


Replace one collection document

  • « Collection::removeOne
  • mysql_xdevapi\CollectionAdd »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Replace one collection document

Collection::replaceOne

(Não há informação de versão disponível, talvez apenas no Git)

Collection::replaceOne — Replace one collection document

Descrição

public mysql_xdevapi\Collection::replaceOne ( string $id , string $doc ) : mysql_xdevapi\Result

Updates (or replaces) the document identified by ID, if it exists.

Parâmetros

id

ID of the document to replace or update. Typically this is the _id that was generated by MySQL Server when the record was added.

doc

Collection document to update or replace the document matching the id parameter.

This document can be either a document object or a valid JSON string describing the new document.

Valor Retornado

A Result object that can be used to query the number of affected items and the number warnings generated by the operation.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::replaceOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();

// Normally the _id is known by other means,
// but for this example let's fetch the generated id and use it
$ids       = $result->getGeneratedIds();
$alfred_id = $ids[0];

// ...

$alfred = $collection->getOne($alfred_id);
$alfred['age'] = 81;
$alfred['job'] = 'Guru';

$collection->replaceOne($alfred_id, $alfred);

?>


CollectionAdd class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\CollectionAdd implements mysql_xdevapi\Executable {
/* Métodos */
public execute ( ) : mysql_xdevapi\Result
}

Índice

  • CollectionAdd::__construct — CollectionAdd constructor
  • CollectionAdd::execute — Execute the statement


CollectionAdd constructor

  • « mysql_xdevapi\CollectionAdd
  • CollectionAdd::execute »
  • PHP Manual
  • mysql_xdevapi\CollectionAdd
  • CollectionAdd constructor

CollectionAdd::__construct

(Não há informação de versão disponível, talvez apenas no Git)

CollectionAdd::__construct — CollectionAdd constructor

Descrição

private mysql_xdevapi\CollectionAdd::__construct ( )

Use to add a document to a collection; called from a Collection object.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionAdd::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

// Add two documents
$collection
  ->add('{"name": "Fred",  "age": 21, "job": "Construction"}')
  ->execute();

$collection
  ->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')
  ->execute();

// Add two documents using a single JSON object
$result = $collection
  ->add(
    '{"name": "Bernie",
      "jobs": [{"title":"Cat Herder","Salary":42000}, {"title":"Father","Salary":0}],
      "hobbies": ["Sports","Making cupcakes"]}',
    '{"name": "Jane",
      "jobs": [{"title":"Scientist","Salary":18000}, {"title":"Mother","Salary":0}],
      "hobbies": ["Walking","Making pies"]}')
  ->execute();

// Fetch a list of generated ID's from the last add()
$ids = $result->getGeneratedIds();
print_r($ids);

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => 00005b6b53610000000000000056
    [1] => 00005b6b53610000000000000057
)

Notas

Nota:

A unique _id is generated by MySQL Server 8.0 or higher, as demonstrated in the example. The _id field must be manually defined if using MySQL Server 5.7.


Execute the statement

  • « CollectionAdd::__construct
  • mysql_xdevapi\CollectionFind »
  • PHP Manual
  • mysql_xdevapi\CollectionAdd
  • Execute the statement

CollectionAdd::execute

(Não há informação de versão disponível, talvez apenas no Git)

CollectionAdd::execute — Execute the statement

Descrição

public mysql_xdevapi\CollectionAdd::execute ( ) : mysql_xdevapi\Result

The execute method is required to send the CRUD operation request to the MySQL server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A Result object that can be used to verify the status of the operation, such as the number of affected rows.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionAdd::execute() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

// Add two documents
$collection
  ->add('{"name": "Fred",  "age": 21, "job": "Construction"}')
  ->execute();

$collection
  ->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')
  ->execute();

// Add two documents using a single JSON object
$result = $collection
  ->add(
    '{"name": "Bernie",
      "jobs": [{"title":"Cat Herder","Salary":42000}, {"title":"Father","Salary":0}],
      "hobbies": ["Sports","Making cupcakes"]}',
    '{"name": "Jane",
      "jobs": [{"title":"Scientist","Salary":18000}, {"title":"Mother","Salary":0}],
      "hobbies": ["Walking","Making pies"]}')
  ->execute();

// Fetch a list of generated ID's from the last add()
$ids = $result->getGeneratedIds();
print_r($ids);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => 00005b6b53610000000000000056
    [1] => 00005b6b53610000000000000057
)


CollectionFind class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\CollectionFind implements mysql_xdevapi\Executable , mysql_xdevapi\CrudOperationBindable , mysql_xdevapi\CrudOperationLimitable , mysql_xdevapi\CrudOperationSortable {
/* Métodos */
public bind ( array $placeholder_values ) : mysql_xdevapi\CollectionFind
public execute ( ) : mysql_xdevapi\DocResult
public fields ( string $projection ) : mysql_xdevapi\CollectionFind
public groupBy ( string $sort_expr ) : mysql_xdevapi\CollectionFind
public having ( string $sort_expr ) : mysql_xdevapi\CollectionFind
public limit ( int $rows ) : mysql_xdevapi\CollectionFind
public lockExclusive ( int $lock_waiting_option = ? ) : mysql_xdevapi\CollectionFind
public lockShared ( int $lock_waiting_option = ? ) : mysql_xdevapi\CollectionFind
public offset ( int $position ) : mysql_xdevapi\CollectionFind
public sort ( string $sort_expr ) : mysql_xdevapi\CollectionFind
}

Índice

  • CollectionFind::bind — Bind value to query placeholder
  • CollectionFind::__construct — CollectionFind constructor
  • CollectionFind::execute — Execute the statement
  • CollectionFind::fields — Set document field filter
  • CollectionFind::groupBy — Set grouping criteria
  • CollectionFind::having — Set condition for aggregate functions
  • CollectionFind::limit — Limit number of returned documents
  • CollectionFind::lockExclusive — Execute operation with EXCLUSIVE LOCK
  • CollectionFind::lockShared — Execute operation with SHARED LOCK
  • CollectionFind::offset — Skip given number of elements to be returned
  • CollectionFind::sort — Set the sorting criteria


Bind value to query placeholder

  • « mysql_xdevapi\CollectionFind
  • CollectionFind::__construct »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Bind value to query placeholder

CollectionFind::bind

(Não há informação de versão disponível, talvez apenas no Git)

CollectionFind::bind — Bind value to query placeholder

Descrição

public mysql_xdevapi\CollectionFind::bind ( array $placeholder_values ) : mysql_xdevapi\CollectionFind

It allows the user to bind a parameter to the placeholder in the search condition of the find operation. The placeholder has the form of :NAME where ':' is a common prefix that must always exists before any NAME, NAME is the actual name of the placeholder. The bind function accepts a list of placeholders if multiple entities have to be substituted in the search condition.

Parâmetros

placeholder_values

Values to substitute in the search condition; multiple values are allowed and are passed as an array where "PLACEHOLDER_NAME => PLACEHOLDER_VALUE".

Valor Retornado

A CollectionFind object, or chain with execute() to return a Result object.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionFind::bind() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$result = $create
  ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
  ->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
  ->find('job like :job and age > :age')
  ->bind(['job' => 'Butler', 'age' => 16])
  ->execute();

var_dump($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000cf"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }
}


CollectionFind constructor

  • « CollectionFind::bind
  • CollectionFind::execute »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • CollectionFind constructor

CollectionFind::__construct

(Não há informação de versão disponível, talvez apenas no Git)

CollectionFind::__construct — CollectionFind constructor

Descrição

private mysql_xdevapi\CollectionFind::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 CollectionFind example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$result = $create
  ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
  ->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
  ->find('job like :job and age > :age')
  ->bind(['job' => 'Butler', 'age' => 16])
  ->execute();

var_dump($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000cf"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }
}


Execute the statement

  • « CollectionFind::__construct
  • CollectionFind::fields »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Execute the statement

CollectionFind::execute

(Não há informação de versão disponível, talvez apenas no Git)

CollectionFind::execute — Execute the statement

Descrição

public mysql_xdevapi\CollectionFind::execute ( ) : mysql_xdevapi\DocResult

Execute the find operation; this functionality allows for method chaining.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A DocResult object that to either fetch results from, or to query the status of the operation.

Exemplos

Exemplo #1 CollectionFind example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create
  ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
  ->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
  ->find('job like :job and age > :age')
  ->bind(['job' => 'Butler', 'age' => 16])
  ->execute();

var_dump($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000cf"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }
}


Set document field filter

  • « CollectionFind::execute
  • CollectionFind::groupBy »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Set document field filter

CollectionFind::fields

(Não há informação de versão disponível, talvez apenas no Git)

CollectionFind::fields — Set document field filter

Descrição

public mysql_xdevapi\CollectionFind::fields ( string $projection ) : mysql_xdevapi\CollectionFind

Defined the columns for the query to return. If not defined then all columns are used.

Parâmetros

projection

Can either be a single string or an array of string, those strings are identifying the columns that have to be returned for each document that match the search condition.

Valor Retornado

A CollectionFind object that can be used for further processing.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionFind::fields() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create
  ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
  ->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
  ->find('job like :job and age > :age')
  ->bind(['job' => 'Butler', 'age' => 16])
  ->fields('name')
  ->execute();

var_dump($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  array(1) {
    ["name"]=>
    string(6) "Alfred"
  }
}


Set grouping criteria

  • « CollectionFind::fields
  • CollectionFind::having »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Set grouping criteria

CollectionFind::groupBy

(Não há informação de versão disponível, talvez apenas no Git)

CollectionFind::groupBy — Set grouping criteria

Descrição

public mysql_xdevapi\CollectionFind::groupBy ( string $sort_expr ) : mysql_xdevapi\CollectionFind

This function can be used to group the result-set by one more columns, frequently this is used with aggregate functions like COUNT,MAX,MIN,SUM etc.

Parâmetros

sort_expr

The columns or columns that have to be used for the group operation, this can either be a single string or an array of string arguments, one for each column.

Valor Retornado

A CollectionFind that can be used for further processing

Exemplos

Exemplo #1 mysql_xdevapi\CollectionFind::groupBy() example

<?php

//Assuming $coll is a valid Collection object

//Extract all the documents from the Collection and group the results by the 'name' field
$res = $coll->find()->groupBy('name')->execute();

?>


Set condition for aggregate functions

  • « CollectionFind::groupBy
  • CollectionFind::limit »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Set condition for aggregate functions

CollectionFind::having

(Não há informação de versão disponível, talvez apenas no Git)

CollectionFind::having — Set condition for aggregate functions

Descrição

public mysql_xdevapi\CollectionFind::having ( string $sort_expr ) : mysql_xdevapi\CollectionFind

This function can be used after the 'field' operation in order to make a selection on the documents to extract.

Parâmetros

sort_expr

This must be a valid SQL expression, the use of aggreate functions is allowed

Valor Retornado

CollectionFind object that can be used for further processing

Exemplos

Exemplo #1 mysql_xdevapi\CollectionFind::having() example

<?php

//Assuming $coll is a valid Collection object

//Find all the documents for which the 'age' is greather than 40,
//Only the columns 'name' and 'age' are returned in the Result object
$res = $coll->find()->fields(['name','age'])->having('age > 40')->execute();

?>


Limit number of returned documents

  • « CollectionFind::having
  • CollectionFind::lockExclusive »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Limit number of returned documents

CollectionFind::limit

(Não há informação de versão disponível, talvez apenas no Git)

CollectionFind::limit — Limit number of returned documents

Descrição

public mysql_xdevapi\CollectionFind::limit ( int $rows ) : mysql_xdevapi\CollectionFind

Set the maximum number of documents to return.

Parâmetros

rows

Maximum number of documents.

Valor Retornado

A CollectionFind object that can be used for additional processing; chain with the execute() method to return a DocResult object.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionFind::limit() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create
  ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
  ->execute();
$create
  ->add('{"name": "Reginald", "age": 42, "job": "Butler"}')
  ->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
  ->find('job like :job and age > :age')
  ->bind(['job' => 'Butler', 'age' => 16])
  ->sort('age desc')
  ->limit(1)
  ->execute();

var_dump($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000f3"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }
}


Execute operation with EXCLUSIVE LOCK

  • « CollectionFind::limit
  • CollectionFind::lockShared »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Execute operation with EXCLUSIVE LOCK

CollectionFind::lockExclusive

(Não há informação de versão disponível, talvez apenas no Git)

CollectionFind::lockExclusive — Execute operation with EXCLUSIVE LOCK

Descrição

public mysql_xdevapi\CollectionFind::lockExclusive ( int $lock_waiting_option = ? ) : mysql_xdevapi\CollectionFind

Lock exclusively the document, other transactions are blocked from updating the document until the document is locked While the document is locked, other transactions are blocked from updating those docs, from doing SELECT ... LOCK IN SHARE MODE, or from reading the data in certain transaction isolation levels. Consistent reads ignore any locks set on the records that exist in the read view.

This feature is directly useful with the modify() command, to avoid concurrency problems. Basically, it serializes access to a row through row locking

Parâmetros

lock_waiting_option

Optional waiting option. By default it is MYSQLX_LOCK_DEFAULT. Valid values are these constants:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

Valor Retornado

Returns a CollectionFind object that can be used for further processing

Exemplos

Exemplo #1 mysql_xdevapi\CollectionFind::lockExclusive() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$session->startTransaction();

$result = $collection
  ->find("age > 50")
  ->lockExclusive()
  ->execute();

// ... do an operation on the object

// Complete the transaction and unlock the document
$session->commit();
?>


Execute operation with SHARED LOCK

  • « CollectionFind::lockExclusive
  • CollectionFind::offset »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Execute operation with SHARED LOCK

CollectionFind::lockShared

(Não há informação de versão disponível, talvez apenas no Git)

CollectionFind::lockShared — Execute operation with SHARED LOCK

Descrição

public mysql_xdevapi\CollectionFind::lockShared ( int $lock_waiting_option = ? ) : mysql_xdevapi\CollectionFind

Allows to share the documents between multiple transactions which are locking in shared mode.

Other sessions can read the rows, but cannot modify them until your transaction commits.

If any of these rows were changed by another transaction that has not yet committed,

your query waits until that transaction ends and then uses the latest values.

Parâmetros

lock_waiting_option

Optional waiting option. By default it is MYSQLX_LOCK_DEFAULT. Valid values are these constants:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

Valor Retornado

A CollectionFind object that can be used for further processing

Exemplos

Exemplo #1 mysql_xdevapi\CollectionFind::lockShared() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$session->startTransaction();

$result = $collection
  ->find("age > 50")
  ->lockShared()
  ->execute();

// ... read the object in shared mode

// Complete the transaction and unlock the document
$session->commit();
?>


Skip given number of elements to be returned

  • « CollectionFind::lockShared
  • CollectionFind::sort »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Skip given number of elements to be returned

CollectionFind::offset

(Não há informação de versão disponível, talvez apenas no Git)

CollectionFind::offset — Skip given number of elements to be returned

Descrição

public mysql_xdevapi\CollectionFind::offset ( int $position ) : mysql_xdevapi\CollectionFind

Skip (offset) these number of elements that otherwise would be returned by the find operation. Use with the limit() method.

Defining an offset larger than the result set size results in an empty set.

Parâmetros

position

Number of elements to skip for the limit() operation.

Valor Retornado

A CollectionFind object that can be used for additional processing.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionFind::offset() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create
  ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
  ->execute();
$create
  ->add('{"name": "Reginald", "age": 42, "job": "Butler"}')
  ->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
  ->find()
  ->sort('age asc')
  ->offset(1)
  ->limit(1)
  ->execute();

var_dump($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000f3"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }
}


Set the sorting criteria

  • « CollectionFind::offset
  • mysql_xdevapi\CollectionModify »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Set the sorting criteria

CollectionFind::sort

(Não há informação de versão disponível, talvez apenas no Git)

CollectionFind::sort — Set the sorting criteria

Descrição

public mysql_xdevapi\CollectionFind::sort ( string $sort_expr ) : mysql_xdevapi\CollectionFind

Sort the result set by the field selected in the sort_expr argument. The allowed orders are ASC (Ascending) or DESC (Descending). This operation is equivalent to the 'ORDER BY' SQL operation and it follows the same set of rules.

Parâmetros

sort_expr

One or more sorting expressions can be provided. The evaluation is from left to right, and each expression is separated by a comma.

Valor Retornado

A CollectionFind object that can be used to execute the command, or to add additional operations.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionFind::sort() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create
  ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
  ->execute();
$create
  ->add('{"name": "Reginald", "age": 42, "job": "Butler"}')
  ->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
  ->find()
  ->sort('job desc', 'age asc')
  ->execute();

var_dump($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b53610000000000000106"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }
  [1]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b53610000000000000107"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }
}


CollectionModify class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\CollectionModify implements mysql_xdevapi\Executable , mysql_xdevapi\CrudOperationBindable , mysql_xdevapi\CrudOperationLimitable , mysql_xdevapi\CrudOperationSkippable , mysql_xdevapi\CrudOperationSortable {
/* Métodos */
public arrayAppend ( string $collection_field , string $expression_or_literal ) : mysql_xdevapi\CollectionModify
public arrayInsert ( string $collection_field , string $expression_or_literal ) : mysql_xdevapi\CollectionModify
public bind ( array $placeholder_values ) : mysql_xdevapi\CollectionModify
public execute ( ) : mysql_xdevapi\Result
public limit ( int $rows ) : mysql_xdevapi\CollectionModify
public patch ( string $document ) : mysql_xdevapi\CollectionModify
public replace ( string $collection_field , string $expression_or_literal ) : mysql_xdevapi\CollectionModify
public set ( string $collection_field , string $expression_or_literal ) : mysql_xdevapi\CollectionModify
public skip ( int $position ) : mysql_xdevapi\CollectionModify
public sort ( string $sort_expr ) : mysql_xdevapi\CollectionModify
public unset ( array $fields ) : mysql_xdevapi\CollectionModify
}

Índice

  • CollectionModify::arrayAppend — Append element to an array field
  • CollectionModify::arrayInsert — Insert element into an array field
  • CollectionModify::bind — Bind value to query placeholder
  • CollectionModify::__construct — CollectionModify constructor
  • CollectionModify::execute — Execute modify operation
  • CollectionModify::limit — Limit number of modified documents
  • CollectionModify::patch — Patch document
  • CollectionModify::replace — Replace document field
  • CollectionModify::set — Set document attribute
  • CollectionModify::skip — Skip elements
  • CollectionModify::sort — Set the sorting criteria
  • CollectionModify::unset — Unset the value of document fields


Append element to an array field

  • « mysql_xdevapi\CollectionModify
  • CollectionModify::arrayInsert »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Append element to an array field

CollectionModify::arrayAppend

(Não há informação de versão disponível, talvez apenas no Git)

CollectionModify::arrayAppend — Append element to an array field

Descrição

public mysql_xdevapi\CollectionModify::arrayAppend ( string $collection_field , string $expression_or_literal ) : mysql_xdevapi\CollectionModify

Add an element to a document's field, as multiple elements of a field are represented as an array. Unlike arrayInsert(), arrayAppend() always appends the new element at the end of the array, whereas arrayInsert() can define the location.

Parâmetros

collection_field

The identifier of the field where the new element is inserted.

expression_or_literal

The new element to insert at the end of the document field array.

Valor Retornado

A CollectionModify object that can be used to execute the command, or to add additional operations.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionModify::arrayAppend() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection
  ->add(
  '{"name":   "Bernie",
    "traits": ["Friend", "Brother", "Human"]}')
  ->execute();

$collection
  ->modify("name in ('Bernie', 'Jane')")
  ->arrayAppend('traits', 'Happy')
  ->execute();

$result = $collection
  ->find()
  ->execute();

print_r($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b5361000000000000010c
            [name] => Bernie
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Brother
                    [2] => Human
                    [3] => Happy
                )
        )
)


Insert element into an array field

  • « CollectionModify::arrayAppend
  • CollectionModify::bind »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Insert element into an array field

CollectionModify::arrayInsert

(Não há informação de versão disponível, talvez apenas no Git)

CollectionModify::arrayInsert — Insert element into an array field

Descrição

public mysql_xdevapi\CollectionModify::arrayInsert ( string $collection_field , string $expression_or_literal ) : mysql_xdevapi\CollectionModify

Add an element to a document's field, as multiple elements of a field are represented as an array. Unlike arrayAppend(), arrayInsert() allows you to specify where the new element is inserted by defining which item it is after, whereas arrayAppend() always appends the new element at the end of the array.

Parâmetros

collection_field

Identify the item in the array that the new element is inserted after. The format of this parameter is FIELD_NAME[ INDEX ] where FIELD_NAME is the name of the document field to remove the element from, and INDEX is the INDEX of the element within the field.

The INDEX field is zero based, so the leftmost item from the array has an index of 0.

expression_or_literal

The new element to insert after FIELD_NAME[ INDEX ]

Valor Retornado

A CollectionModify object that can be used to execute the command, or to add additional operations

Exemplos

Exemplo #1 mysql_xdevapi\CollectionModify::arrayInsert() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection
  ->add(
  '{"name":   "Bernie",
    "traits": ["Friend", "Brother", "Human"]}')
  ->execute();

$collection
  ->modify("name in ('Bernie', 'Jane')")
  ->arrayInsert('traits[1]', 'Happy')
  ->execute();

$result = $collection
  ->find()
  ->execute();

print_r($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b5361000000000000010d
            [name] => Bernie
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Happy
                    [2] => Brother
                    [3] => Human
                )
        )
)


Bind value to query placeholder

  • « CollectionModify::arrayInsert
  • CollectionModify::__construct »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Bind value to query placeholder

CollectionModify::bind

(Não há informação de versão disponível, talvez apenas no Git)

CollectionModify::bind — Bind value to query placeholder

Descrição

public mysql_xdevapi\CollectionModify::bind ( array $placeholder_values ) : mysql_xdevapi\CollectionModify

Bind a parameter to the placeholder in the search condition of the modify operation.

The placeholder has the form of :NAME where ':' is a common prefix that must always exists before any NAME where NAME is the name of the placeholder. The bind method accepts a list of placeholders if multiple entities have to be substituted in the search condition of the modify operation.

Parâmetros

placeholder_values

Placeholder values to substitute in the search condition. Multiple values are allowed and have to be passed as an array of mappings PLACEHOLDER_NAME->PLACEHOLDER_VALUE.

Valor Retornado

A CollectionModify object that can be used to execute the command, or to add additional operations.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionModify::bind() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection
  ->add(
  '{"name":   "Bernie",
    "traits": ["Friend", "Brother", "Human"]}')
  ->execute();

$collection
  ->modify("name = :name")
  ->bind(['name' => 'Bernie'])
  ->arrayAppend('traits', 'Happy')
  ->execute();

$result = $collection
  ->find()
  ->execute();

print_r($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b53610000000000000110
            [name] => Bernie
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Brother
                    [2] => Human
                    [3] => Happy
                )
        )
)


CollectionModify constructor

  • « CollectionModify::bind
  • CollectionModify::execute »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • CollectionModify constructor

CollectionModify::__construct

(Não há informação de versão disponível, talvez apenas no Git)

CollectionModify::__construct — CollectionModify constructor

Descrição

private mysql_xdevapi\CollectionModify::__construct ( )

Modify (update) a collection, and is instantiated by the Collection::modify() method.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionModify::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection
  ->add(
  '{"name":   "Bernie",
    "traits": ["Friend", "Brother", "Human"]}')
  ->execute();

$collection
  ->modify("name in ('Bernie', 'Jane')")
  ->arrayAppend('traits', 'Happy')
  ->execute();

$result = $collection
  ->find()
  ->execute();

print_r($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b5361000000000000010c
            [name] => Bernie
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Brother
                    [2] => Human
                    [3] => Happy
                )
        )
)


Execute modify operation

  • « CollectionModify::__construct
  • CollectionModify::limit »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Execute modify operation

CollectionModify::execute

(Não há informação de versão disponível, talvez apenas no Git)

CollectionModify::execute — Execute modify operation

Descrição

public mysql_xdevapi\CollectionModify::execute ( ) : mysql_xdevapi\Result

The execute method is required to send the CRUD operation request to the MySQL server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A Result object that can be used to verify the status of the operation, such as the number of affected rows.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionModify::execute() example

<?php

/* ... */

?>


Limit number of modified documents

  • « CollectionModify::execute
  • CollectionModify::patch »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Limit number of modified documents

CollectionModify::limit

(Não há informação de versão disponível, talvez apenas no Git)

CollectionModify::limit — Limit number of modified documents

Descrição

public mysql_xdevapi\CollectionModify::limit ( int $rows ) : mysql_xdevapi\CollectionModify

Limit the number of documents modified by this operation. Optionally combine with skip() to define an offset value.

Parâmetros

rows

The maximum number of documents to modify.

Valor Retornado

A CollectionModify object.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionModify::limit() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$collection->add('{"name": "Fred",  "age": 21, "job": "Construction"}')->execute();
$collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
$collection->add('{"name": "Betty", "age": 24, "job": "Teacher"}')->execute();

$collection
  ->modify("job = :job")
  ->bind(['job' => 'Teacher'])
  ->set('job', 'Principal')
  ->limit(1)
  ->execute();

$result = $collection
  ->find()
  ->execute();

print_r($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b53610000000000000118
            [age] => 21
            [job] => Construction
            [name] => Fred
        )
    [1] => Array
        (
            [_id] => 00005b6b53610000000000000119
            [age] => 23
            [job] => Principal
            [name] => Wilma
        )
    [2] => Array
        (
            [_id] => 00005b6b5361000000000000011a
            [age] => 24
            [job] => Teacher
            [name] => Betty
        )
)


Patch document

  • « CollectionModify::limit
  • CollectionModify::replace »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Patch document

CollectionModify::patch

(Não há informação de versão disponível, talvez apenas no Git)

CollectionModify::patch — Patch document

Descrição

public mysql_xdevapi\CollectionModify::patch ( string $document ) : mysql_xdevapi\CollectionModify

Takes a patch object and applies it on one or more documents, and can update multiple document properties.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

document

A document with the properties to apply to the matching documents.

Valor Retornado

A CollectionModify object.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionModify::patch() example

<?php

$res = $coll->modify('"Programmatore" IN job')->patch('{"Hobby" : "Programmare"}')->execute();

?>


Replace document field

  • « CollectionModify::patch
  • CollectionModify::set »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Replace document field

CollectionModify::replace

(Não há informação de versão disponível, talvez apenas no Git)

CollectionModify::replace — Replace document field

Descrição

public mysql_xdevapi\CollectionModify::replace ( string $collection_field , string $expression_or_literal ) : mysql_xdevapi\CollectionModify

Replace (update) a given field value with a new one.

Parâmetros

collection_field

The document path of the item to set.

expression_or_literal

The value to set on the specified attribute.

Valor Retornado

A CollectionModify object.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionModify::replace() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection
  ->add(
  '{"name":   "Bernie",
    "traits": ["Friend", "Brother", "Human"]}')
  ->execute();

$collection
  ->modify("name = :name")
  ->bind(['name' => 'Bernie'])
  ->replace("name", "Bern")
  ->execute();

$result = $collection
  ->find()
  ->execute();

print_r($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b5361000000000000011b
            [name] => Bern
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Brother
                    [2] => Human
                )
        )
)


Set document attribute

  • « CollectionModify::replace
  • CollectionModify::skip »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Set document attribute

CollectionModify::set

(Não há informação de versão disponível, talvez apenas no Git)

CollectionModify::set — Set document attribute

Descrição

public mysql_xdevapi\CollectionModify::set ( string $collection_field , string $expression_or_literal ) : mysql_xdevapi\CollectionModify

Sets or updates attributes on documents in a collection.

Parâmetros

collection_field

The document path (name) of the item to set.

expression_or_literal

The value to set it to.

Valor Retornado

A CollectionModify object.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionModify::set() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection
  ->add(
  '{"name":   "Bernie",
    "traits": ["Friend", "Brother", "Human"]}')
  ->execute();

$collection
  ->modify("name = :name")
  ->bind(['name' => 'Bernie'])
  ->set("name", "Bern")
  ->execute();

$result = $collection
  ->find()
  ->execute();

print_r($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b53610000000000000111
            [name] => Bern
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Brother
                    [2] => Human
                )
        )
)


Skip elements

  • « CollectionModify::set
  • CollectionModify::sort »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Skip elements

CollectionModify::skip

(Não há informação de versão disponível, talvez apenas no Git)

CollectionModify::skip — Skip elements

Descrição

public mysql_xdevapi\CollectionModify::skip ( int $position ) : mysql_xdevapi\CollectionModify

Skip the first N elements that would otherwise be returned by a find operation. If the number of elements skipped is larger than the size of the result set, then the find operation returns an empty set.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

position

Number of elements to skip.

Valor Retornado

A CollectionModify object to use for further processing.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionModify::skip() example

<?php

$coll->modify('age > :age')->sort('age desc')->unset(['age'])->bind(['age' => 20])->limit(4)->skip(1)->execute();

?>


Set the sorting criteria

  • « CollectionModify::skip
  • CollectionModify::unset »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Set the sorting criteria

CollectionModify::sort

(Não há informação de versão disponível, talvez apenas no Git)

CollectionModify::sort — Set the sorting criteria

Descrição

public mysql_xdevapi\CollectionModify::sort ( string $sort_expr ) : mysql_xdevapi\CollectionModify

Sort the result set by the field selected in the sort_expr argument. The allowed orders are ASC (Ascending) or DESC (Descending). This operation is equivalent to the 'ORDER BY' SQL operation and it follows the same set of rules.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

sort_expr

One or more sorting expression can be provided, the evaluation of these will be from the leftmost to the rightmost, each expression must be separated by a comma.

Valor Retornado

CollectionModify object that can be used for further processing.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionModify::sort() example

<?php

$res = $coll->modify('true')->sort('name desc', 'age asc')->limit(4)->set('Married', 'NO')->execute();

?>


Unset the value of document fields

  • « CollectionModify::sort
  • mysql_xdevapi\CollectionRemove »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Unset the value of document fields

CollectionModify::unset

(Não há informação de versão disponível, talvez apenas no Git)

CollectionModify::unset — Unset the value of document fields

Descrição

public mysql_xdevapi\CollectionModify::unset ( array $fields ) : mysql_xdevapi\CollectionModify

Removes attributes from documents in a collection.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

fields

The attributes to remove from documents in a collection.

Valor Retornado

CollectionModify object that can be used for further processing.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionModify::unset() example

<?php

$res = $coll->modify('job like :job_name')->unset(["age", "name"])->bind(['job_name' => 'Plumber'])->execute();

?>


CollectionRemove class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\CollectionRemove implements mysql_xdevapi\Executable , mysql_xdevapi\CrudOperationBindable , mysql_xdevapi\CrudOperationLimitable , mysql_xdevapi\CrudOperationSortable {
/* Métodos */
public bind ( array $placeholder_values ) : mysql_xdevapi\CollectionRemove
public execute ( ) : mysql_xdevapi\Result
public limit ( int $rows ) : mysql_xdevapi\CollectionRemove
public sort ( string $sort_expr ) : mysql_xdevapi\CollectionRemove
}

Índice

  • CollectionRemove::bind — Bind value to placeholder
  • CollectionRemove::__construct — CollectionRemove constructor
  • CollectionRemove::execute — Execute remove operation
  • CollectionRemove::limit — Limit number of documents to remove
  • CollectionRemove::sort — Set the sorting criteria


Bind value to placeholder

  • « mysql_xdevapi\CollectionRemove
  • CollectionRemove::__construct »
  • PHP Manual
  • mysql_xdevapi\CollectionRemove
  • Bind value to placeholder

CollectionRemove::bind

(Não há informação de versão disponível, talvez apenas no Git)

CollectionRemove::bind — Bind value to placeholder

Descrição

public mysql_xdevapi\CollectionRemove::bind ( array $placeholder_values ) : mysql_xdevapi\CollectionRemove

Bind a parameter to the placeholder in the search condition of the remove operation.

The placeholder has the form of :NAME where ':' is a common prefix that must always exists before any NAME where NAME is the name of the placeholder. The bind method accepts a list of placeholders if multiple entities have to be substituted in the search condition of the remove operation.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

placeholder_values

Placeholder values to substitute in the search condition. Multiple values are allowed and have to be passed as an array of mappings PLACEHOLDER_NAME->PLACEHOLDER_VALUE.

Valor Retornado

A CollectionRemove object that can be used to execute the command, or to add additional operations.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionRemove::bind() example

<?php

$res = $coll->remove('age > :age_from and age < :age_to')->bind(['age_from' => 20, 'age_to' => 50])->limit(7)->execute();

?>


CollectionRemove constructor

  • « CollectionRemove::bind
  • CollectionRemove::execute »
  • PHP Manual
  • mysql_xdevapi\CollectionRemove
  • CollectionRemove constructor

CollectionRemove::__construct

(Não há informação de versão disponível, talvez apenas no Git)

CollectionRemove::__construct — CollectionRemove constructor

Descrição

private mysql_xdevapi\CollectionRemove::__construct ( )

Remove collection documents, and is instantiated by the Collection::remove() method.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\Collection::remove() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob",    "age": 19, "job": "Painter"}')->execute();

// Remove all painters
$collection
  ->remove("job in ('Painter')")
  ->execute();

// Remove the oldest butler
$collection
  ->remove("job in ('Butler')")
  ->sort('age desc')
  ->limit(1)
  ->execute();

// Remove record with lowest age
$collection
  ->remove('true')
  ->sort('age desc')
  ->limit(1)
  ->execute();
?>


Execute remove operation

  • « CollectionRemove::__construct
  • CollectionRemove::limit »
  • PHP Manual
  • mysql_xdevapi\CollectionRemove
  • Execute remove operation

CollectionRemove::execute

(Não há informação de versão disponível, talvez apenas no Git)

CollectionRemove::execute — Execute remove operation

Descrição

public mysql_xdevapi\CollectionRemove::execute ( ) : mysql_xdevapi\Result

The execute function needs to be invoked in order to trigger the client to send the CRUD operation request to the server.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Result object.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionRemove::execute() example

<?php

$res = $coll->remove('true')->sort('age desc')->limit(2)->execute();

?>


Limit number of documents to remove

  • « CollectionRemove::execute
  • CollectionRemove::sort »
  • PHP Manual
  • mysql_xdevapi\CollectionRemove
  • Limit number of documents to remove

CollectionRemove::limit

(Não há informação de versão disponível, talvez apenas no Git)

CollectionRemove::limit — Limit number of documents to remove

Descrição

public mysql_xdevapi\CollectionRemove::limit ( int $rows ) : mysql_xdevapi\CollectionRemove

Sets the maximum number of documents to remove.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

rows

The maximum number of documents to remove.

Valor Retornado

Returns a CollectionRemove object that can be used to execute the command, or to add additional operations.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionRemove::limit() example

<?php

$res = $coll->remove('job in (\'Barista\', \'Programmatore\', \'Ballerino\', \'Programmatrice\')')->limit(5)->sort(['age desc', 'name asc'])->execute();

?>


Set the sorting criteria

  • « CollectionRemove::limit
  • mysql_xdevapi\ColumnResult »
  • PHP Manual
  • mysql_xdevapi\CollectionRemove
  • Set the sorting criteria

CollectionRemove::sort

(Não há informação de versão disponível, talvez apenas no Git)

CollectionRemove::sort — Set the sorting criteria

Descrição

public mysql_xdevapi\CollectionRemove::sort ( string $sort_expr ) : mysql_xdevapi\CollectionRemove

Sort the result set by the field selected in the sort_expr argument. The allowed orders are ASC (Ascending) or DESC (Descending). This operation is equivalent to the 'ORDER BY' SQL operation and it follows the same set of rules.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

sort_expr

One or more sorting expressions can be provided. The evaluation is from left to right, and each expression is separated by a comma.

Valor Retornado

A CollectionRemove object that can be used to execute the command, or to add additional operations.

Exemplos

Exemplo #1 mysql_xdevapi\CollectionRemove::sort() example

<?php

$res = $coll->remove('true')->sort('age desc')->limit(2)->execute();

?>


ColumnResult class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\ColumnResult {
/* Métodos */
public getCharacterSetName ( ) : string
public getCollationName ( ) : string
public getColumnLabel ( ) : string
public getColumnName ( ) : string
public getFractionalDigits ( ) : int
public getLength ( ) : int
public getSchemaName ( ) : string
public getTableLabel ( ) : string
public getTableName ( ) : string
public getType ( ) : int
public isNumberSigned ( ) : int
public isPadded ( ) : int
}

Índice

  • ColumnResult::__construct — ColumnResult constructor
  • ColumnResult::getCharacterSetName — Get character set
  • ColumnResult::getCollationName — Get collation name
  • ColumnResult::getColumnLabel — Get column label
  • ColumnResult::getColumnName — Get column name
  • ColumnResult::getFractionalDigits — Get fractional digit length
  • ColumnResult::getLength — Get column field length
  • ColumnResult::getSchemaName — Get schema name
  • ColumnResult::getTableLabel — Get table label
  • ColumnResult::getTableName — Get table name
  • ColumnResult::getType — Get column type
  • ColumnResult::isNumberSigned — Check if signed type
  • ColumnResult::isPadded — Check if padded


ColumnResult constructor

  • « mysql_xdevapi\ColumnResult
  • ColumnResult::getCharacterSetName »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • ColumnResult constructor

ColumnResult::__construct

(Não há informação de versão disponível, talvez apenas no Git)

ColumnResult::__construct — ColumnResult constructor

Descrição

private mysql_xdevapi\ColumnResult::__construct ( )

Retrieve column metadata, such as its character set; this is instantiated by the RowResult::getColumns() method.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\ColumnResult::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS nonsense")->execute();
$session->sql("CREATE DATABASE nonsense")->execute();
$session->sql("CREATE TABLE nonsense.numbers (hello int, world float unsigned)")->execute();
$session->sql("INSERT INTO  nonsense.numbers values (42, 42)")->execute();

$schema = $session->getSchema("nonsense");
$table  = $schema->getTable("numbers");

$result1 = $table->select('hello','world')->execute();

// Returns an array of ColumnResult objects
$columns = $result1->getColumns();

foreach ($columns as $column) {
    echo "\nColumn label " , $column->getColumnLabel();
    echo " is type "       , $column->getType();
    echo " and is ", ($column->isNumberSigned() === 0) ? "Unsigned." : "Signed.";
}

// Alternatively
$result2 = $session->sql("SELECT * FROM nonsense.numbers")->execute();

// Returns an array of FieldMetadata objects
print_r($result2->getColumns());

O exemplo acima irá imprimir algo similar à:

Column label hello is type 19 and is Signed.
Column label world is type 4  and is Unsigned.

Array
(
    [0] => mysql_xdevapi\FieldMetadata Object
        (
            [type] => 1
            [type_name] => SINT
            [name] => hello
            [original_name] => hello
            [table] => numbers
            [original_table] => numbers
            [schema] => nonsense
            [catalog] => def
            [collation] => 0
            [fractional_digits] => 0
            [length] => 11
            [flags] => 0
            [content_type] => 0
        )
    [1] => mysql_xdevapi\FieldMetadata Object
        (
            [type] => 6
            [type_name] => FLOAT
            [name] => world
            [original_name] => world
            [table] => numbers
            [original_table] => numbers
            [schema] => nonsense
            [catalog] => def
            [collation] => 0
            [fractional_digits] => 31
            [length] => 12
            [flags] => 1
            [content_type] => 0
        )
)


Get character set

  • « ColumnResult::__construct
  • ColumnResult::getCollationName »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get character set

ColumnResult::getCharacterSetName

(Não há informação de versão disponível, talvez apenas no Git)

ColumnResult::getCharacterSetName — Get character set

Descrição

public mysql_xdevapi\ColumnResult::getCharacterSetName ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\ColumnResult::getCharacterSetName() example

<?php

/* ... */

?>


Get collation name

  • « ColumnResult::getCharacterSetName
  • ColumnResult::getColumnLabel »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get collation name

ColumnResult::getCollationName

(Não há informação de versão disponível, talvez apenas no Git)

ColumnResult::getCollationName — Get collation name

Descrição

public mysql_xdevapi\ColumnResult::getCollationName ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\ColumnResult::getCollationName() example

<?php

/* ... */

?>


Get column label

  • « ColumnResult::getCollationName
  • ColumnResult::getColumnName »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get column label

ColumnResult::getColumnLabel

(Não há informação de versão disponível, talvez apenas no Git)

ColumnResult::getColumnLabel — Get column label

Descrição

public mysql_xdevapi\ColumnResult::getColumnLabel ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\ColumnResult::getColumnLabel() example

<?php

/* ... */

?>


Get column name

  • « ColumnResult::getColumnLabel
  • ColumnResult::getFractionalDigits »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get column name

ColumnResult::getColumnName

(Não há informação de versão disponível, talvez apenas no Git)

ColumnResult::getColumnName — Get column name

Descrição

public mysql_xdevapi\ColumnResult::getColumnName ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\ColumnResult::getColumnName() example

<?php

/* ... */

?>


Get fractional digit length

  • « ColumnResult::getColumnName
  • ColumnResult::getLength »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get fractional digit length

ColumnResult::getFractionalDigits

(Não há informação de versão disponível, talvez apenas no Git)

ColumnResult::getFractionalDigits — Get fractional digit length

Descrição

public mysql_xdevapi\ColumnResult::getFractionalDigits ( ) : int

Fetch the number of fractional digits for column.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\ColumnResult::getFractionalDigits() example

<?php

/* ... */

?>


Get column field length

  • « ColumnResult::getFractionalDigits
  • ColumnResult::getSchemaName »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get column field length

ColumnResult::getLength

(Não há informação de versão disponível, talvez apenas no Git)

ColumnResult::getLength — Get column field length

Descrição

public mysql_xdevapi\ColumnResult::getLength ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\ColumnResult::getLength() example

<?php

/* ... */

?>


Get schema name

  • « ColumnResult::getLength
  • ColumnResult::getTableLabel »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get schema name

ColumnResult::getSchemaName

(Não há informação de versão disponível, talvez apenas no Git)

ColumnResult::getSchemaName — Get schema name

Descrição

public mysql_xdevapi\ColumnResult::getSchemaName ( ) : string

Fetch the schema name where the column is stored.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\ColumnResult::getSchemaName() example

<?php

/* ... */

?>


Get table label

  • « ColumnResult::getSchemaName
  • ColumnResult::getTableName »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get table label

ColumnResult::getTableLabel

(Não há informação de versão disponível, talvez apenas no Git)

ColumnResult::getTableLabel — Get table label

Descrição

public mysql_xdevapi\ColumnResult::getTableLabel ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\ColumnResult::getTableLabel() example

<?php

/* ... */

?>


Get table name

  • « ColumnResult::getTableLabel
  • ColumnResult::getType »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get table name

ColumnResult::getTableName

(Não há informação de versão disponível, talvez apenas no Git)

ColumnResult::getTableName — Get table name

Descrição

public mysql_xdevapi\ColumnResult::getTableName ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Name of the table for the column.

Exemplos

Exemplo #1 mysql_xdevapi\ColumnResult::getTableName() example

<?php

/* ... */

?>


Get column type

  • « ColumnResult::getTableName
  • ColumnResult::isNumberSigned »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get column type

ColumnResult::getType

(Não há informação de versão disponível, talvez apenas no Git)

ColumnResult::getType — Get column type

Descrição

public mysql_xdevapi\ColumnResult::getType ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\ColumnResult::getType() example

<?php

/* ... */

?>


Check if signed type

  • « ColumnResult::getType
  • ColumnResult::isPadded »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Check if signed type

ColumnResult::isNumberSigned

(Não há informação de versão disponível, talvez apenas no Git)

ColumnResult::isNumberSigned — Check if signed type

Descrição

public mysql_xdevapi\ColumnResult::isNumberSigned ( ) : int

Retrieve a table's column information, and is instantiated by the RowResult::getColumns() method.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if a given column as a signed type.

Exemplos

Exemplo #1 mysql_xdevapi\ColumnResult::isNumberSigned() example

<?php

/* ... */

?>


Check if padded

  • « ColumnResult::isNumberSigned
  • mysql_xdevapi\CrudOperationBindable »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Check if padded

ColumnResult::isPadded

(Não há informação de versão disponível, talvez apenas no Git)

ColumnResult::isPadded — Check if padded

Descrição

public mysql_xdevapi\ColumnResult::isPadded ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if a given column is padded.

Exemplos

Exemplo #1 mysql_xdevapi\ColumnResult::isPadded() example

<?php

/* ... */

?>


CrudOperationBindable interface

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\CrudOperationBindable {
/* Métodos */
abstract public bind ( array $placeholder_values ) : mysql_xdevapi\CrudOperationBindable
}

Índice

  • CrudOperationBindable::bind — Bind value to placeholder


Bind value to placeholder

  • « mysql_xdevapi\CrudOperationBindable
  • mysql_xdevapi\CrudOperationLimitable »
  • PHP Manual
  • mysql_xdevapi\CrudOperationBindable
  • Bind value to placeholder

CrudOperationBindable::bind

(Não há informação de versão disponível, talvez apenas no Git)

CrudOperationBindable::bind — Bind value to placeholder

Descrição

abstract public mysql_xdevapi\CrudOperationBindable::bind ( array $placeholder_values ) : mysql_xdevapi\CrudOperationBindable

Binds a value to a specific placeholder.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

placeholder_values

The name of the placeholders and the values to bind.

Valor Retornado

A CrudOperationBindable object.

Exemplos

Exemplo #1 mysql_xdevapi\CrudOperationBindable::bind() example

<?php

$res = $coll->modify('name like :name')->arrayInsert('job[0]', 'Calciatore')->bind(['name' => 'ENTITY'])->execute();
$res = $table->delete()->orderby('age desc')->where('age < 20 and age > 12 and name != :name')->bind(['name' => 'Tierney'])->limit(2)->execute();

?>


CrudOperationLimitable interface

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\CrudOperationLimitable {
/* Métodos */
abstract public limit ( int $rows ) : mysql_xdevapi\CrudOperationLimitable
}

Índice

  • CrudOperationLimitable::limit — Set result limit


Set result limit

  • « mysql_xdevapi\CrudOperationLimitable
  • mysql_xdevapi\CrudOperationSkippable »
  • PHP Manual
  • mysql_xdevapi\CrudOperationLimitable
  • Set result limit

CrudOperationLimitable::limit

(Não há informação de versão disponível, talvez apenas no Git)

CrudOperationLimitable::limit — Set result limit

Descrição

abstract public mysql_xdevapi\CrudOperationLimitable::limit ( int $rows ) : mysql_xdevapi\CrudOperationLimitable

Sets the maximum number of records or documents to return.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

rows

The maximum number of records or documents.

Valor Retornado

A CrudOperationLimitable object.

Exemplos

Exemplo #1 mysql_xdevapi\CrudOperationLimitable::limit() example

<?php

$res = $coll->find()->fields(['name as n','age as a','job as j'])->groupBy('j')->limit(11)->execute();
$res = $table->update()->set('age',69)->where('age > 15 and age < 22')->limit(4)->orderby(['age asc','name desc'])->execute();

?>


CrudOperationSkippable interface

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\CrudOperationSkippable {
/* Métodos */
abstract public skip ( int $skip ) : mysql_xdevapi\CrudOperationSkippable
}

Índice

  • CrudOperationSkippable::skip — Number of operations to skip


Number of operations to skip

  • « mysql_xdevapi\CrudOperationSkippable
  • mysql_xdevapi\CrudOperationSortable »
  • PHP Manual
  • mysql_xdevapi\CrudOperationSkippable
  • Number of operations to skip

CrudOperationSkippable::skip

(Não há informação de versão disponível, talvez apenas no Git)

CrudOperationSkippable::skip — Number of operations to skip

Descrição

abstract public mysql_xdevapi\CrudOperationSkippable::skip ( int $skip ) : mysql_xdevapi\CrudOperationSkippable

Skip this number of records in the returned operation.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

skip

Number of elements to skip.

Valor Retornado

A CrudOperationSkippable object.

Exemplos

Exemplo #1 mysql_xdevapi\CrudOperationSkippable::skip() example

<?php

$res = $coll->find('job like \'Programmatore\'')->limit(1)->skip(3)->sort('age asc')->execute();

?>


CrudOperationSortable interface

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\CrudOperationSortable {
/* Métodos */
abstract public sort ( string $sort_expr ) : mysql_xdevapi\CrudOperationSortable
}

Índice

  • CrudOperationSortable::sort — Sort results


Sort results

  • « mysql_xdevapi\CrudOperationSortable
  • mysql_xdevapi\DatabaseObject »
  • PHP Manual
  • mysql_xdevapi\CrudOperationSortable
  • Sort results

CrudOperationSortable::sort

(Não há informação de versão disponível, talvez apenas no Git)

CrudOperationSortable::sort — Sort results

Descrição

abstract public mysql_xdevapi\CrudOperationSortable::sort ( string $sort_expr ) : mysql_xdevapi\CrudOperationSortable

Sort the result set by the field selected in the sort_expr argument. The allowed orders are ASC (Ascending) or DESC (Descending). This operation is equivalent to the 'ORDER BY' SQL operation and it follows the same set of rules.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

sort_expr

One or more sorting expressions can be provided. The evaluation is from left to right, and each expression is separated by a comma.

Valor Retornado

A CrudOperationSortable object.

Exemplos

Exemplo #1 mysql_xdevapi\CrudOperationSortable::sort() example

<?php

$res = $coll->find('job like \'Cavia\'')->sort('age desc', '_id desc')->execute();

?>


DatabaseObject interface

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\DatabaseObject {
/* Métodos */
abstract public existsInDatabase ( ) : bool
abstract public getName ( ) : string
abstract public getSession ( ) : mysql_xdevapi\Session
}

Índice

  • DatabaseObject::existsInDatabase — Check if object exists in database
  • DatabaseObject::getName — Get object name
  • DatabaseObject::getSession — Get session name


Check if object exists in database

  • « mysql_xdevapi\DatabaseObject
  • DatabaseObject::getName »
  • PHP Manual
  • mysql_xdevapi\DatabaseObject
  • Check if object exists in database

DatabaseObject::existsInDatabase

(Não há informação de versão disponível, talvez apenas no Git)

DatabaseObject::existsInDatabase — Check if object exists in database

Descrição

abstract public mysql_xdevapi\DatabaseObject::existsInDatabase ( ) : bool

Verifies if the database object refers to an object that exists in the database.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if object exists in the database, else false if it does not.

Exemplos

Exemplo #1 mysql_xdevapi\DatabaseObject::existsInDatabase() example

<?php

$existInDb = $dbObj->existsInDatabase();

?>


Get object name

  • « DatabaseObject::existsInDatabase
  • DatabaseObject::getSession »
  • PHP Manual
  • mysql_xdevapi\DatabaseObject
  • Get object name

DatabaseObject::getName

(Não há informação de versão disponível, talvez apenas no Git)

DatabaseObject::getName — Get object name

Descrição

abstract public mysql_xdevapi\DatabaseObject::getName ( ) : string

Fetch name of this database object.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The name of this database object.

Exemplos

Exemplo #1 mysql_xdevapi\DatabaseObject::getName() example

<?php

$dbObjName = $dbObj->getName();

?>


Get session name

  • « DatabaseObject::getName
  • mysql_xdevapi\DocResult »
  • PHP Manual
  • mysql_xdevapi\DatabaseObject
  • Get session name

DatabaseObject::getSession

(Não há informação de versão disponível, talvez apenas no Git)

DatabaseObject::getSession — Get session name

Descrição

abstract public mysql_xdevapi\DatabaseObject::getSession ( ) : mysql_xdevapi\Session

Fetch session associated to the database object.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The Session object.

Exemplos

Exemplo #1 mysql_xdevapi\DatabaseObject::getSession() example

<?php

$session = $dbObj->getSession();

?>


DocResult class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\DocResult implements mysql_xdevapi\BaseResult , Traversable {
/* Métodos */
public fetchAll ( ) : array
public fetchOne ( ) : array
public getWarnings ( ) : Array
public getWarningsCount ( ) : int
}

Índice

  • DocResult::__construct — DocResult constructor
  • DocResult::fetchAll — Get all rows
  • DocResult::fetchOne — Get one row
  • DocResult::getWarnings — Get warnings from last operation
  • DocResult::getWarningsCount — Get warning count from last operation


DocResult constructor

  • « mysql_xdevapi\DocResult
  • DocResult::fetchAll »
  • PHP Manual
  • mysql_xdevapi\DocResult
  • DocResult constructor

DocResult::__construct

(Não há informação de versão disponível, talvez apenas no Git)

DocResult::__construct — DocResult constructor

Descrição

private mysql_xdevapi\DocResult::__construct ( )

Fetch document results and warnings, and is instantiated by CollectionFind.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 A DocResult example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();

// ...

$collection = $schema->getCollection("people");

// Yields a DocResult object
$result = $collection
  ->find('job like :job and age > :age')
  ->bind(['job' => 'Butler', 'age' => 16])
  ->sort('age desc')
  ->limit(1)
  ->execute();

var_dump($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000f3"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }
}


Get all rows

  • « DocResult::__construct
  • DocResult::fetchOne »
  • PHP Manual
  • mysql_xdevapi\DocResult
  • Get all rows

DocResult::fetchAll

(Não há informação de versão disponível, talvez apenas no Git)

DocResult::fetchAll — Get all rows

Descrição

public mysql_xdevapi\DocResult::fetchAll ( ) : array

Fetch all results from a result set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A numerical array with all results from the query; each result is an associative array. An empty array is returned if no rows are present.

Exemplos

Exemplo #1 mysql_xdevapi\DocResult::fetchAll() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();

// ...

$collection = $schema->getCollection("people");

// Yields a DocResult object
$result = $collection
  ->find('job like :job and age > :age')
  ->bind(['job' => 'Butler', 'age' => 16])
  ->sort('age desc')
  ->execute();

var_dump($result->fetchAll());
?>

O exemplo acima irá imprimir algo similar à:

array(2) {

  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b53610000000000000123"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }

  [1]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b53610000000000000122"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }

}


Get one row

  • « DocResult::fetchAll
  • DocResult::getWarnings »
  • PHP Manual
  • mysql_xdevapi\DocResult
  • Get one row

DocResult::fetchOne

(Não há informação de versão disponível, talvez apenas no Git)

DocResult::fetchOne — Get one row

Descrição

public mysql_xdevapi\DocResult::fetchOne ( ) : array

Fetch one result from a result set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The result, as an associative array or null if no results are present.

Exemplos

Exemplo #1 mysql_xdevapi\DocResult::fetchOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();

// ...

$collection = $schema->getCollection("people");

// Yields a DocResult object
$result = $collection
  ->find('job like :job and age > :age')
  ->bind(['job' => 'Butler', 'age' => 16])
  ->sort('age desc')
  ->execute();

var_dump($result->fetchOne());
?>

O exemplo acima irá imprimir algo similar à:

array(4) {
  ["_id"]=>
  string(28) "00005b6b53610000000000000125"
  ["age"]=>
  int(42)
  ["job"]=>
  string(6) "Butler"
  ["name"]=>
  string(8) "Reginald"
}


Get warnings from last operation

  • « DocResult::fetchOne
  • DocResult::getWarningsCount »
  • PHP Manual
  • mysql_xdevapi\DocResult
  • Get warnings from last operation

DocResult::getWarnings

(Não há informação de versão disponível, talvez apenas no Git)

DocResult::getWarnings — Get warnings from last operation

Descrição

public mysql_xdevapi\DocResult::getWarnings ( ) : Array

Fetches warnings generated by MySQL server's last operation.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of Warning objects from the last operation. Each object defines an error 'message', error 'level', and error 'code'. An empty array is returned if no errors are present.

Exemplos

Exemplo #1 mysql_xdevapi\DocResult::getWarnings() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();

// ...

$collection = $schema->getCollection("people");

// Yields a DocResult object
$result = $collection
  ->find('job like :job and age > :age')
  ->bind(['job' => 'Butler', 'age' => 16])
  ->sort('age desc')
  ->execute();

if (!$result->getWarningsCount()) {
    echo "There was an error:\n";
    print_r($result->getWarnings());
    exit;
}

var_dump($result->fetchOne());
?>

O exemplo acima irá imprimir algo similar à:

There was an error:

Array
(
    [0] => mysql_xdevapi\Warning Object
        (
            [message] => Something bad and so on
            [level] => 2
            [code] => 1365
        )
    [1] => mysql_xdevapi\Warning Object
        (
            [message] => Something bad and so on
            [level] => 2
            [code] => 1365
        )
)


Get warning count from last operation

  • « DocResult::getWarnings
  • mysql_xdevapi\Exception »
  • PHP Manual
  • mysql_xdevapi\DocResult
  • Get warning count from last operation

DocResult::getWarningsCount

(Não há informação de versão disponível, talvez apenas no Git)

DocResult::getWarningsCount — Get warning count from last operation

Descrição

public mysql_xdevapi\DocResult::getWarningsCount ( ) : int

Returns the number of warnings raised by the last operation. Specifically, these warnings are raised by the MySQL server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of warnings from the last operation.

Exemplos

Exemplo #1 mysql_xdevapi\DocResult::getWarningsCount() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();

// ...

$collection = $schema->getCollection("people");

// Yields a DocResult object
$result = $collection
  ->find('job like :job and age > :age')
  ->bind(['job' => 'Butler', 'age' => 16])
  ->sort('age desc')
  ->execute();

if (!$result->getWarningsCount()) {
    echo "There was an error:\n";
    print_r($result->getWarnings());
    exit;
}

var_dump($result->fetchOne());
?>

O exemplo acima irá imprimir algo similar à:

array(4) {
  ["_id"]=>
  string(28) "00005b6b53610000000000000135"
  ["age"]=>
  int(42)
  ["job"]=>
  string(6) "Butler"
  ["name"]=>
  string(8) "Reginald"
}


Exception class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\Exception extends RuntimeException implements Throwable {
}


Executable interface

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\Executable {
/* Métodos */
abstract public execute ( ) : mysql_xdevapi\Result
}

Índice

  • Executable::execute — Execute statement


Execute statement

  • « mysql_xdevapi\Executable
  • mysql_xdevapi\ExecutionStatus »
  • PHP Manual
  • mysql_xdevapi\Executable
  • Execute statement

Executable::execute

(Não há informação de versão disponível, talvez apenas no Git)

Executable::execute — Execute statement

Descrição

abstract public mysql_xdevapi\Executable::execute ( ) : mysql_xdevapi\Result

Execute the statement from either a collection operation or a table query; this functionality allows for method chaining.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

One of the Result objects, such as Result or SqlStatementResult.

Exemplos

Exemplo #1 execute() examples

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$result_sql = $session->sql("CREATE DATABASE addressbook")->execute();

var_dump($result_sql);

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("humans");

$result_collection = $collection->add(
  '{"name": "Jane",
    "jobs": [{"title":"Scientist","Salary":18000}, {"title":"Mother","Salary":0}],
    "hobbies": ["Walking","Making pies"]}');

$result_collection_executed = $result_collection->execute();

var_dump($result_collection);
var_dump($result_collection_executed);
?>

O exemplo acima irá imprimir algo similar à:

object(mysql_xdevapi\SqlStatementResult)#3 (0) {
}

object(mysql_xdevapi\CollectionAdd)#5 (0) {
}

object(mysql_xdevapi\Result)#7 (0) {
}


ExecutionStatus class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\ExecutionStatus {
/* Propriedades */
public $affectedItems ;
public $matchedItems ;
public $foundItems ;
public $lastInsertId ;
public $lastDocumentId ;
/* Constructor */
private __construct ( )
}

Propriedades

affectedItems

matchedItems

foundItems

lastInsertId

lastDocumentId

Índice

  • ExecutionStatus::__construct — ExecutionStatus constructor


ExecutionStatus constructor

  • « mysql_xdevapi\ExecutionStatus
  • mysql_xdevapi\Expression »
  • PHP Manual
  • mysql_xdevapi\ExecutionStatus
  • ExecutionStatus constructor

ExecutionStatus::__construct

(Não há informação de versão disponível, talvez apenas no Git)

ExecutionStatus::__construct — ExecutionStatus constructor

Descrição

private mysql_xdevapi\ExecutionStatus::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\ExecutionStatus::__construct() example

<?php

/* ... */

?>


Expression class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\Expression {
/* Propriedades */
public $name ;
/* Constructor */
public __construct ( string $expression )
}

Propriedades

name

Índice

  • Expression::__construct — Expression constructor


Expression constructor

  • « mysql_xdevapi\Expression
  • mysql_xdevapi\Result »
  • PHP Manual
  • mysql_xdevapi\Expression
  • Expression constructor

Expression::__construct

(Não há informação de versão disponível, talvez apenas no Git)

Expression::__construct — Expression constructor

Descrição

public mysql_xdevapi\Expression::__construct ( string $expression )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

expression

Exemplos

Exemplo #1 mysql_xdevapi\Expression::__construct() example

<?php

/* ... */

?>


Result class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\Result implements mysql_xdevapi\BaseResult , Traversable {
/* Métodos */
public getAffectedItemsCount ( ) : int
public getAutoIncrementValue ( ) : int
public getGeneratedIds ( ) : array
public getWarnings ( ) : array
public getWarningsCount ( ) : int
}

Índice

  • Result::__construct — Result constructor
  • Result::getAffectedItemsCount — Get affected row count
  • Result::getAutoIncrementValue — Get autoincremented value
  • Result::getGeneratedIds — Get generated ids
  • Result::getWarnings — Get warnings from last operation
  • Result::getWarningsCount — Get warning count from last operation


Result constructor

  • « mysql_xdevapi\Result
  • Result::getAffectedItemsCount »
  • PHP Manual
  • mysql_xdevapi\Result
  • Result constructor

Result::__construct

(Não há informação de versão disponível, talvez apenas no Git)

Result::__construct — Result constructor

Descrição

private mysql_xdevapi\Result::__construct ( )

An object that retrieves generated IDs, AUTO_INCREMENT values, and warnings, for a Result set.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\Result::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("
  CREATE TABLE addressbook.names
    (id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30), age INT, PRIMARY KEY (id))
  ")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$result = $table->insert("name", "age")->values(["Suzanne", 31],["Julie", 43])->execute();
$result = $table->insert("name", "age")->values(["Suki", 34])->execute();

$ai = $result->getAutoIncrementValue();
var_dump($ai);
?>

O exemplo acima irá imprimir:

int(3)


Get affected row count

  • « Result::__construct
  • Result::getAutoIncrementValue »
  • PHP Manual
  • mysql_xdevapi\Result
  • Get affected row count

Result::getAffectedItemsCount

(Não há informação de versão disponível, talvez apenas no Git)

Result::getAffectedItemsCount — Get affected row count

Descrição

public mysql_xdevapi\Result::getAffectedItemsCount ( ) : int

Get the number of affected rows by the previous operation.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number (as an integer) of affected rows.

Exemplos

Exemplo #1 mysql_xdevapi\Result::getAffectedItemsCount() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

$result = $collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();

var_dump( $res->getAffectedItemsCount() );
?>

O exemplo acima irá imprimir:

int(1)


Get autoincremented value

  • « Result::getAffectedItemsCount
  • Result::getGeneratedIds »
  • PHP Manual
  • mysql_xdevapi\Result
  • Get autoincremented value

Result::getAutoIncrementValue

(Não há informação de versão disponível, talvez apenas no Git)

Result::getAutoIncrementValue — Get autoincremented value

Descrição

public mysql_xdevapi\Result::getAutoIncrementValue ( ) : int

Get the last AUTO_INCREMENT value (last insert id).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The last AUTO_INCREMENT value.

Exemplos

Exemplo #1 mysql_xdevapi\Result::getAutoIncrementValue() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("
  CREATE TABLE addressbook.names
    (id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30), age INT, PRIMARY KEY (id))
  ")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$result = $table->insert("name", "age")->values(["Suzanne", 31],["Julie", 43])->execute();
$result = $table->insert("name", "age")->values(["Suki", 34])->execute();

$ai = $result->getAutoIncrementValue();
var_dump($ai);
?>

O exemplo acima irá imprimir:

int(3)


Get generated ids

  • « Result::getAutoIncrementValue
  • Result::getWarnings »
  • PHP Manual
  • mysql_xdevapi\Result
  • Get generated ids

Result::getGeneratedIds

(Não há informação de versão disponível, talvez apenas no Git)

Result::getGeneratedIds — Get generated ids

Descrição

public mysql_xdevapi\Result::getGeneratedIds ( ) : array

Fetch the generated _id values from the last operation. The unique _id field is generated by the MySQL server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of generated _id's from the last operation, or an empty array if there are none.

Exemplos

Exemplo #1 mysql_xdevapi\Result::getGeneratedIds() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

$result = $collection->add(
  '{"name": "Bernie",
    "jobs": [{"title":"Cat Herder","Salary":42000}, {"title":"Father","Salary":0}],
    "hobbies": ["Sports","Making cupcakes"]}',
  '{"name": "Jane",
    "jobs": [{"title":"Scientist","Salary":18000}, {"title":"Mother","Salary":0}],
    "hobbies": ["Walking","Making pies"]}')->execute();

$ids = $result->getGeneratedIds();
var_dump($ids);
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  [0]=>
  string(28) "00005b6b53610000000000000064"
  [1]=>
  string(28) "00005b6b53610000000000000065"
}


Get warnings from last operation

  • « Result::getGeneratedIds
  • Result::getWarningsCount »
  • PHP Manual
  • mysql_xdevapi\Result
  • Get warnings from last operation

Result::getWarnings

(Não há informação de versão disponível, talvez apenas no Git)

Result::getWarnings — Get warnings from last operation

Descrição

public mysql_xdevapi\Result::getWarnings ( ) : array

Retrieve warnings from the last Result operation.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of Warning objects from the last operation. Each object defines an error 'message', error 'level', and error 'code'. An empty array is returned if no errors are present.

Exemplos

Exemplo #1 mysql_xdevapi\RowResult::getWarnings() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();

$schema = $session->getSchema("foo");
$table  = $schema->getTable("test_table");

$table->insert(['x'])->values([1])->values([2])->execute();

$res = $table->select(['x/0 as bad_x'])->execute();
$warnings = $res->getWarnings();

print_r($warnings);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => mysql_xdevapi\Warning Object
        (
            [message] => Division by 0
            [level] => 2
            [code] => 1365
        )
    [1] => mysql_xdevapi\Warning Object
        (
            [message] => Division by 0
            [level] => 2
            [code] => 1365
        )
)


Get warning count from last operation

  • « Result::getWarnings
  • mysql_xdevapi\RowResult »
  • PHP Manual
  • mysql_xdevapi\Result
  • Get warning count from last operation

Result::getWarningsCount

(Não há informação de versão disponível, talvez apenas no Git)

Result::getWarningsCount — Get warning count from last operation

Descrição

public mysql_xdevapi\Result::getWarningsCount ( ) : int

Retrieve the number of warnings from the last Result operation.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of warnings generated by the last operation.

Exemplos

Exemplo #1 mysql_xdevapi\RowResult::getWarningsCount() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS foo")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();

$schema = $session->getSchema("foo");
$table  = $schema->getTable("test_table");

$table->insert(['x'])->values([1])->values([2])->execute();

$res = $table->select(['x/0 as bad_x'])->execute();

echo $res->getWarningsCount();
?>

O exemplo acima irá imprimir algo similar à:

2


RowResult class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\RowResult implements mysql_xdevapi\BaseResult , Traversable {
/* Métodos */
public fetchAll ( ) : array
public fetchOne ( ) : array
public getColumnsCount ( ) : int
public getColumnNames ( ) : array
public getColumns ( ) : array
public getWarnings ( ) : array
public getWarningsCount ( ) : int
}

Índice

  • RowResult::__construct — RowResult constructor
  • RowResult::fetchAll — Get all rows from result
  • RowResult::fetchOne — Get row from result
  • RowResult::getColumnsCount — Get column count
  • RowResult::getColumnNames — Get all column names
  • RowResult::getColumns — Get column metadata
  • RowResult::getWarnings — Get warnings from last operation
  • RowResult::getWarningsCount — Get warning count from last operation


RowResult constructor

  • « mysql_xdevapi\RowResult
  • RowResult::fetchAll »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • RowResult constructor

RowResult::__construct

(Não há informação de versão disponível, talvez apenas no Git)

RowResult::__construct — RowResult constructor

Descrição

private mysql_xdevapi\RowResult::__construct ( )

Represents the result set obtained from querying the database.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\RowResult::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$row = $table->select('name', 'age')->where('age > 18')->execute()->fetchAll();

print_r($row);

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 33
        )
)


Get all rows from result

  • « RowResult::__construct
  • RowResult::fetchOne »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get all rows from result

RowResult::fetchAll

(Não há informação de versão disponível, talvez apenas no Git)

RowResult::fetchAll — Get all rows from result

Descrição

public mysql_xdevapi\RowResult::fetchAll ( ) : array

Fetch all the rows from the result set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A numerical array with all results from the query; each result is an associative array. An empty array is returned if no rows are present.

Exemplos

Exemplo #1 mysql_xdevapi\RowResult::fetchAll() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$row = $table->select('name', 'age')->execute()->fetchAll();

print_r($row);

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 33
        )
)


Get row from result

  • « RowResult::fetchAll
  • RowResult::getColumnsCount »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get row from result

RowResult::fetchOne

(Não há informação de versão disponível, talvez apenas no Git)

RowResult::fetchOne — Get row from result

Descrição

public mysql_xdevapi\RowResult::fetchOne ( ) : array

Fetch one result from the result set.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The result, as an associative array or null if no results are present.

Exemplos

Exemplo #1 mysql_xdevapi\RowResult::fetchOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$row = $table->select('name', 'age')->where('age < 40')->execute()->fetchOne();

print_r($row);

O exemplo acima irá imprimir algo similar à:

Array
(
    [name] => Sam
    [age] => 33
)


Get column count

  • « RowResult::fetchOne
  • RowResult::getColumnNames »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get column count

RowResult::getColumnsCount

(Não há informação de versão disponível, talvez apenas no Git)

RowResult::getColumnsCount — Get column count

Descrição

public mysql_xdevapi\RowResult::getColumnsCount ( ) : int

Retrieve the column count for columns present in the result set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of columns; 0 if there are none.

Changelog

Versão | Descrição
8.0.14 | Method renamed from getColumnCount() to getColumnsCount().

Exemplos

Exemplo #1 mysql_xdevapi\RowResult::getColumnsCount() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$sql = $session->sql("SELECT * from addressbook.names")->execute();

echo $sql->getColumnsCount();

O exemplo acima irá imprimir algo similar à:

2


Get all column names

  • « RowResult::getColumnsCount
  • RowResult::getColumns »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get all column names

RowResult::getColumnNames

(Não há informação de versão disponível, talvez apenas no Git)

RowResult::getColumnNames — Get all column names

Descrição

public mysql_xdevapi\RowResult::getColumnNames ( ) : array

Retrieve column names for columns present in the result set.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A numerical array of table columns names, or an empty array if the result set is empty.

Exemplos

Exemplo #1 mysql_xdevapi\RowResult::getColumnNames() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$sql = $session->sql("SELECT * from addressbook.names")->execute();

$colnames = $sql->getColumnNames();

print_r($colnames);

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => name
    [1] => age
)


Get column metadata

  • « RowResult::getColumnNames
  • RowResult::getWarnings »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get column metadata

RowResult::getColumns

(Não há informação de versão disponível, talvez apenas no Git)

RowResult::getColumns — Get column metadata

Descrição

public mysql_xdevapi\RowResult::getColumns ( ) : array

Retrieve column metadata for columns present in the result set.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of FieldMetadata objects representing the columns in the result, or an empty array if the result set is empty.

Exemplos

Exemplo #1 mysql_xdevapi\RowResult::getColumns() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$sql = $session->sql("SELECT * from addressbook.names")->execute();

$cols = $sql->getColumns();

print_r($cols);

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => mysql_xdevapi\FieldMetadata Object
        (
            [type] => 7
            [type_name] => BYTES
            [name] => name
            [original_name] => name
            [table] => names
            [original_table] => names
            [schema] => addressbook
            [catalog] => def
            [collation] => 255
            [fractional_digits] => 0
            [length] => 65535
            [flags] => 0
            [content_type] => 0
        )
    [1] => mysql_xdevapi\FieldMetadata Object
        (
            [type] => 1
            [type_name] => SINT
            [name] => age
            [original_name] => age
            [table] => names
            [original_table] => names
            [schema] => addressbook
            [catalog] => def
            [collation] => 0
            [fractional_digits] => 0
            [length] => 11
            [flags] => 0
            [content_type] => 0
        )
)


Get warnings from last operation

  • « RowResult::getColumns
  • RowResult::getWarningsCount »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get warnings from last operation

RowResult::getWarnings

(Não há informação de versão disponível, talvez apenas no Git)

RowResult::getWarnings — Get warnings from last operation

Descrição

public mysql_xdevapi\RowResult::getWarnings ( ) : array

Retrieve warnings from the last RowResult operation.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of Warning objects from the last operation. Each object defines an error 'message', error 'level', and error 'code'. An empty array is returned if no errors are present.

Exemplos

Exemplo #1 mysql_xdevapi\RowResult::getWarnings() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();

$schema = $session->getSchema("foo");
$table  = $schema->getTable("test_table");

$table->insert(['x'])->values([1])->values([2])->execute();

$res = $table->select(['x/0 as bad_x'])->execute();
$warnings = $res->getWarnings();

print_r($warnings);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => mysql_xdevapi\Warning Object
        (
            [message] => Division by 0
            [level] => 2
            [code] => 1365
        )
    [1] => mysql_xdevapi\Warning Object
        (
            [message] => Division by 0
            [level] => 2
            [code] => 1365
        )
)


Get warning count from last operation

  • « RowResult::getWarnings
  • mysql_xdevapi\Schema »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get warning count from last operation

RowResult::getWarningsCount

(Não há informação de versão disponível, talvez apenas no Git)

RowResult::getWarningsCount — Get warning count from last operation

Descrição

public mysql_xdevapi\RowResult::getWarningsCount ( ) : int

Retrieve the number of warnings from the last RowResult operation.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of warnings generated by the last operation.

Exemplos

Exemplo #1 mysql_xdevapi\RowResult::getWarningsCount() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS foo")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();

$schema = $session->getSchema("foo");
$table  = $schema->getTable("test_table");

$table->insert(['x'])->values([1])->values([2])->execute();

$res = $table->select(['x/0 as bad_x'])->execute();

echo $res->getWarningsCount();
?>

O exemplo acima irá imprimir algo similar à:

2


Schema class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\Schema implements mysql_xdevapi\DatabaseObject {
/* Propriedades */
public $name ;
/* Métodos */
public createCollection ( string $name ) : mysql_xdevapi\Collection
public dropCollection ( string $collection_name ) : bool
public existsInDatabase ( ) : bool
public getCollection ( string $name ) : mysql_xdevapi\Collection
public getCollectionAsTable ( string $name ) : mysql_xdevapi\Table
public getCollections ( ) : array
public getName ( ) : string
public getSession ( ) : mysql_xdevapi\Session
public getTable ( string $name ) : mysql_xdevapi\Table
public getTables ( ) : array
}

Propriedades

name

Índice

  • Schema::__construct — constructor
  • Schema::createCollection — Add collection to schema
  • Schema::dropCollection — Drop collection from schema
  • Schema::existsInDatabase — Check if exists in database
  • Schema::getCollection — Get collection from schema
  • Schema::getCollectionAsTable — Get collection table object
  • Schema::getCollections — Get all schema collections
  • Schema::getName — Get schema name
  • Schema::getSession — Get schema session
  • Schema::getTable — Get schema table
  • Schema::getTables — Get schema tables


constructor

  • « mysql_xdevapi\Schema
  • Schema::createCollection »
  • PHP Manual
  • mysql_xdevapi\Schema
  • constructor

Schema::__construct

(Não há informação de versão disponível, talvez apenas no Git)

Schema::__construct — constructor

Descrição

private mysql_xdevapi\Schema::__construct ( )

The Schema object provides full access to the schema (database).

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 Schema::__construct example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();

$schema = $session->getSchema("food");
$schema->createCollection("trees");

print_r($schema->gettables());
print_r($schema->getcollections());

O exemplo acima irá imprimir algo similar à:

Array
(
    [fruit] => mysql_xdevapi\Table Object
        (
            [name] => fruit
        )
)
Array
(
    [trees] => mysql_xdevapi\Collection Object
        (
            [name] => trees
        )
)


Add collection to schema

  • « Schema::__construct
  • Schema::dropCollection »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Add collection to schema

Schema::createCollection

(Não há informação de versão disponível, talvez apenas no Git)

Schema::createCollection — Add collection to schema

Descrição

public mysql_xdevapi\Schema::createCollection ( string $name ) : mysql_xdevapi\Collection

Create a collection within the schema.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado

Exemplos

Exemplo #1 Schema::createCollection example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();

$schema = $session->getSchema("food");
$schema->createCollection("trees");

print_r($schema->gettables());
print_r($schema->getcollections());

O exemplo acima irá imprimir algo similar à:

Array
(
    [fruit] => mysql_xdevapi\Table Object
        (
            [name] => fruit
        )
)
Array
(
    [trees] => mysql_xdevapi\Collection Object
        (
            [name] => trees
        )
)


Drop collection from schema

  • « Schema::createCollection
  • Schema::existsInDatabase »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Drop collection from schema

Schema::dropCollection

(Não há informação de versão disponível, talvez apenas no Git)

Schema::dropCollection — Drop collection from schema

Descrição

public mysql_xdevapi\Schema::dropCollection ( string $collection_name ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

collection_name

Valor Retornado

Exemplos

Exemplo #1 Schema::dropCollection example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();

$schema = $session->getSchema("food");

$schema->createCollection("trees");
$schema->dropCollection("trees");
$schema->createCollection("buildings");

print_r($schema->gettables());
print_r($schema->getcollections());

O exemplo acima irá imprimir algo similar à:

Array
(
    [fruit] => mysql_xdevapi\Table Object
        (
            [name] => fruit
        )
)
Array
(
    [buildings] => mysql_xdevapi\Collection Object
        (
            [name] => buildings
        )
)


Check if exists in database

  • « Schema::dropCollection
  • Schema::getCollection »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Check if exists in database

Schema::existsInDatabase

(Não há informação de versão disponível, talvez apenas no Git)

Schema::existsInDatabase — Check if exists in database

Descrição

public mysql_xdevapi\Schema::existsInDatabase ( ) : bool

Checks if the current object (schema, table, collection, or view) exists in the schema object.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the schema, table, collection, or view still exists in the schema, else false.

Exemplos

Exemplo #1 Schema::existsInDatabase example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();

$schema = $session->getSchema("food");
$schema->createCollection("trees");

// ...

$trees = $schema->getCollection("trees");

// ...

// Is this collection still in the database (schema)?
if ($trees->existsInDatabase()) {
    echo "Yes, the 'trees' collection is still present.";
}

O exemplo acima irá imprimir algo similar à:

Yes, the 'trees' collection is still present.


Get collection from schema

  • « Schema::existsInDatabase
  • Schema::getCollectionAsTable »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get collection from schema

Schema::getCollection

(Não há informação de versão disponível, talvez apenas no Git)

Schema::getCollection — Get collection from schema

Descrição

public mysql_xdevapi\Schema::getCollection ( string $name ) : mysql_xdevapi\Collection

Get a collection from the schema.

Parâmetros

name

Collection name to retrieve.

Valor Retornado

The Collection object for the selected collection.

Exemplos

Exemplo #1 Schema::getCollection example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();

$schema = $session->getSchema("food");
$schema->createCollection("trees");

// ...

$trees = $schema->getCollection("trees");

var_dump($trees);

O exemplo acima irá imprimir algo similar à:

object(mysql_xdevapi\Collection)#3 (1) {
  ["name"]=>
  string(5) "trees"
}


Get collection table object

  • « Schema::getCollection
  • Schema::getCollections »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get collection table object

Schema::getCollectionAsTable

(Não há informação de versão disponível, talvez apenas no Git)

Schema::getCollectionAsTable — Get collection table object

Descrição

public mysql_xdevapi\Schema::getCollectionAsTable ( string $name ) : mysql_xdevapi\Table

Get a collection, but as a Table object instead of a Collection object.

Parâmetros

name

Name of the collection to instantiate a Table object from.

Valor Retornado

A table object for the collection.

Exemplos

Exemplo #1 Schema::getCollectionAsTable example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema  = $session->getSchema("addressbook");
$collect = $schema->createCollection("people");
$collect->add('{"name": "Fred",  "age": 21, "job": "Construction"}')->execute();
$collect->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();

$table      = $schema->getCollectionAsTable("people");
$collection = $schema->getCollection("people");

var_dump($table);
var_dump($collection);

O exemplo acima irá imprimir algo similar à:

object(mysql_xdevapi\Table)#4 (1) {
  ["name"]=>
  string(6) "people"
}

object(mysql_xdevapi\Collection)#5 (1) {
  ["name"]=>
  string(6) "people"
}


Get all schema collections

  • « Schema::getCollectionAsTable
  • Schema::getName »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get all schema collections

Schema::getCollections

(Não há informação de versão disponível, talvez apenas no Git)

Schema::getCollections — Get all schema collections

Descrição

public mysql_xdevapi\Schema::getCollections ( ) : array

Fetch a list of collections for this schema.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Array of all collections in this schema, where each array element value is a Collection object with the collection name as the key.

Exemplos

Exemplo #1 mysql_xdevapi\Schema::getCollections() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema  = $session->getSchema("addressbook");
$collect = $schema->createCollection("people");
$collect->add('{"name": "Fred",  "age": 21, "job": "Construction"}')->execute();
$collect->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();

$collections = $schema->getCollections();
var_dump($collections);
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  ["people"]=>
  object(mysql_xdevapi\Collection)#4 (1) {
    ["name"]=>
    string(6) "people"
  }
}


Get schema name

  • « Schema::getCollections
  • Schema::getSession »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get schema name

Schema::getName

(Não há informação de versão disponível, talvez apenas no Git)

Schema::getName — Get schema name

Descrição

public mysql_xdevapi\Schema::getName ( ) : string

Get the name of the schema.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The name of the schema connected to the schema object, as a string.

Exemplos

Exemplo #1 mysql_xdevapi\Schema::getName() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema  = $session->getSchema("addressbook");

// ...

var_dump($schema->getName());
?>

O exemplo acima irá imprimir algo similar à:

string(11) "addressbook"


Get schema session

  • « Schema::getName
  • Schema::getTable »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get schema session

Schema::getSession

(Não há informação de versão disponível, talvez apenas no Git)

Schema::getSession — Get schema session

Descrição

public mysql_xdevapi\Schema::getSession ( ) : mysql_xdevapi\Session

Get a new Session object from the Schema object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A Session object.

Exemplos

Exemplo #1 mysql_xdevapi\Schema::getSession() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema  = $session->getSchema("addressbook");

// ...

$newsession = $schema->getSession();

var_dump($session);
var_dump($newsession);
?>

O exemplo acima irá imprimir algo similar à:

object(mysql_xdevapi\Session)#1 (0) {
}

object(mysql_xdevapi\Session)#3 (0) {
}


Get schema table

  • « Schema::getSession
  • Schema::getTables »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get schema table

Schema::getTable

(Não há informação de versão disponível, talvez apenas no Git)

Schema::getTable — Get schema table

Descrição

public mysql_xdevapi\Schema::getTable ( string $name ) : mysql_xdevapi\Table

Fetch a Table object for the provided table in the schema.

Parâmetros

name

Name of the table.

Valor Retornado

A Table object.

Exemplos

Exemplo #1 mysql_xdevapi\Schema::getTable() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$row = $table->select('name', 'age')->execute()->fetchAll();

print_r($row);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 33
        )
)


Get schema tables

  • « Schema::getTable
  • mysql_xdevapi\SchemaObject »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get schema tables

Schema::getTables

(Não há informação de versão disponível, talvez apenas no Git)

Schema::getTables — Get schema tables

Descrição

public mysql_xdevapi\Schema::getTables ( ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Array of all tables in this schema, where each array element value is a Table object with the table name as the key.

Exemplos

Exemplo #1 mysql_xdevapi\Schema::getTables() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$session->sql("CREATE TABLE addressbook.cities(name text, population int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('Portland', 639863), ('Seattle', 704352)")->execute();

$schema = $session->getSchema("addressbook");
$tables = $schema->getTables();

var_dump($tables);
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["cities"]=>
  object(mysql_xdevapi\Table)#3 (1) {
    ["name"]=>
    string(6) "cities"
  }

  ["names"]=>
  object(mysql_xdevapi\Table)#4 (1) {
    ["name"]=>
    string(5) "names"
  }
}


SchemaObject interface

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\SchemaObject implements mysql_xdevapi\DatabaseObject {
/* Métodos */
abstract getSchema ( ) : mysql_xdevapi\Schema
}

Índice

  • SchemaObject::getSchema — Get schema object


Get schema object

  • « mysql_xdevapi\SchemaObject
  • mysql_xdevapi\Session »
  • PHP Manual
  • mysql_xdevapi\SchemaObject
  • Get schema object

SchemaObject::getSchema

(Não há informação de versão disponível, talvez apenas no Git)

SchemaObject::getSchema — Get schema object

Descrição

abstract mysql_xdevapi\SchemaObject::getSchema ( ) : mysql_xdevapi\Schema

Used by other objects to retrieve a schema object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current Schema object.

Exemplos

Exemplo #1 mysql_xdevapi\Session::getSchema() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema  = $session->getSchema("addressbook");

print_r($schema);

O exemplo acima irá imprimir algo similar à:

mysql_xdevapi\Schema Object
(
    [name] => addressbook
)


Session class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\Session {
/* Métodos */
public close ( ) : bool
public commit ( ) : Object
public createSchema ( string $schema_name ) : mysql_xdevapi\Schema
public dropSchema ( string $schema_name ) : bool
public generateUUID ( ) : string
public getDefaultSchema ( ) : string
public getSchema ( string $schema_name ) : mysql_xdevapi\Schema
public getSchemas ( ) : array
public getServerVersion ( ) : int
public listClients ( ) : array
public quoteName ( string $name ) : string
public releaseSavepoint ( string $name ) : void
public rollback ( ) : void
public rollbackTo ( string $name ) : void
public setSavepoint ( string $name = ? ) : string
public sql ( string $query ) : mysql_xdevapi\SqlStatement
public startTransaction ( ) : void
}

Índice

  • Session::close — Close session
  • Session::commit — Commit transaction
  • Session::__construct — Description constructor
  • Session::createSchema — Create new schema
  • Session::dropSchema — Drop a schema
  • Session::generateUUID — Get new UUID
  • Session::getDefaultSchema — Get default schema name
  • Session::getSchema — Get a new schema object
  • Session::getSchemas — Get the schemas
  • Session::getServerVersion — Get server version
  • Session::listClients — Get client list
  • Session::quoteName — Add quotes
  • Session::releaseSavepoint — Release set savepoint
  • Session::rollback — Rollback transaction
  • Session::rollbackTo — Rollback transaction to savepoint
  • Session::setSavepoint — Create savepoint
  • Session::sql — Execute SQL query
  • Session::startTransaction — Start transaction


Close session

  • « mysql_xdevapi\Session
  • Session::commit »
  • PHP Manual
  • mysql_xdevapi\Session
  • Close session

Session::close

(Não há informação de versão disponível, talvez apenas no Git)

Session::close — Close session

Descrição

public mysql_xdevapi\Session::close ( ) : bool

Close the session with the server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the session closed.

Exemplos

Exemplo #1 mysql_xdevapi\Session::close() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$session->close();


Commit transaction

  • « Session::close
  • Session::__construct »
  • PHP Manual
  • mysql_xdevapi\Session
  • Commit transaction

Session::commit

(PHP 4 >= 4.4.0, PHP 5, PHP 7, PHP 8)

Session::commit — Commit transaction

Descrição

public mysql_xdevapi\Session::commit ( ) : Object

Commit the transaction.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An SqlStatementResult object.

Exemplos

Exemplo #1 mysql_xdevapi\Session::commit() example

<?php
$session    = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("friends");

$session->startTransaction();

$collection->add('{"John":42, "Sam":33}')->execute();
$savepoint = $session->setSavepoint();

$session->commit();
$session->close();


Description constructor

  • « Session::commit
  • Session::createSchema »
  • PHP Manual
  • mysql_xdevapi\Session
  • Description constructor

Session::__construct

(Não há informação de versão disponível, talvez apenas no Git)

Session::__construct — Description constructor

Descrição

private mysql_xdevapi\Session::__construct ( )

A Session object, as initiated by getSession().

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\Session::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->close();
?>


Create new schema

  • « Session::__construct
  • Session::dropSchema »
  • PHP Manual
  • mysql_xdevapi\Session
  • Create new schema

Session::createSchema

(Não há informação de versão disponível, talvez apenas no Git)

Session::createSchema — Create new schema

Descrição

public mysql_xdevapi\Session::createSchema ( string $schema_name ) : mysql_xdevapi\Schema

Creates a new schema.

Parâmetros

schema_name

Name of the schema to create.

Valor Retornado

A Schema object on success, and emits an exception on failure.

Exemplos

Exemplo #1 mysql_xdevapi\Session::createSchema() example

<?php
$uri  = 'mysqlx://happyuser:password@127.0.0.1:33060/';
$sess = mysql_xdevapi\getSession($uri);

try {

    if ($schema = $sess->createSchema('fruit')) {
        echo "Info: I created a schema named 'fruit'\n";
    }

} catch (Exception $e) {

   echo $e->getMessage();

}
?>

O exemplo acima irá imprimir algo similar à:

Info: I created a schema named 'fruit'


Drop a schema

  • « Session::createSchema
  • Session::generateUUID »
  • PHP Manual
  • mysql_xdevapi\Session
  • Drop a schema

Session::dropSchema

(Não há informação de versão disponível, talvez apenas no Git)

Session::dropSchema — Drop a schema

Descrição

public mysql_xdevapi\Session::dropSchema ( string $schema_name ) : bool

Drop a schema (database).

Parâmetros

schema_name

Name of the schema to drop.

Valor Retornado

true if the schema is dropped, or false if it does not exist or can't be dropped.

An E_WARNING level error is generated if the schema does not exist.

Exemplos

Exemplo #1 mysql_xdevapi\Session::dropSchema() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->dropSchema("addressbook");

$session->close();
?>


Get new UUID

  • « Session::dropSchema
  • Session::getDefaultSchema »
  • PHP Manual
  • mysql_xdevapi\Session
  • Get new UUID

Session::generateUUID

(Não há informação de versão disponível, talvez apenas no Git)

Session::generateUUID — Get new UUID

Descrição

public mysql_xdevapi\Session::generateUUID ( ) : string

Generate a Universal Unique IDentifier (UUID) generated according to » RFC 4122.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The UUID; a string with a length of 32.

Exemplos

Exemplo #1 mysql_xdevapi\Session::generateUuid() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$uuid = $session->generateUuid();

var_dump($uuid);

O exemplo acima irá imprimir algo similar à:

string(32) "484B18AC7980F8D4FE84613CDA5EE84B"


Get default schema name

  • « Session::generateUUID
  • Session::getSchema »
  • PHP Manual
  • mysql_xdevapi\Session
  • Get default schema name

Session::getDefaultSchema

(Não há informação de versão disponível, talvez apenas no Git)

Session::getDefaultSchema — Get default schema name

Descrição

public mysql_xdevapi\Session::getDefaultSchema ( ) : string

Retrieve name of the default schema that's typically set in the connection URI.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Name of the default schema defined by the connection, or null if one was not set.

Exemplos

Exemplo #1 mysql_xdevapi\Session::getSchema() example

<?php
$uri = "mysqlx://testuser:testpasswd@localhost:33160/testx?ssl-mode=disabled";
$session = mysql_xdevapi\getSession($uri);

$schema = $session->getDefaultSchema();
echo $schema;
?>

O exemplo acima irá imprimir:

testx


Get a new schema object

  • « Session::getDefaultSchema
  • Session::getSchemas »
  • PHP Manual
  • mysql_xdevapi\Session
  • Get a new schema object

Session::getSchema

(Não há informação de versão disponível, talvez apenas no Git)

Session::getSchema — Get a new schema object

Descrição

public mysql_xdevapi\Session::getSchema ( string $schema_name ) : mysql_xdevapi\Schema

A new Schema object for the provided schema name.

Parâmetros

schema_name

Name of the schema (database) to fetch a Schema object for.

Valor Retornado

A Schema object.

Exemplos

Exemplo #1 mysql_xdevapi\Session::getSchema() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema  = $session->getSchema("addressbook");

print_r($schema);

O exemplo acima irá imprimir algo similar à:

mysql_xdevapi\Schema Object
(
    [name] => addressbook
)


Get the schemas

  • « Session::getSchema
  • Session::getServerVersion »
  • PHP Manual
  • mysql_xdevapi\Session
  • Get the schemas

Session::getSchemas

(Não há informação de versão disponível, talvez apenas no Git)

Session::getSchemas — Get the schemas

Descrição

public mysql_xdevapi\Session::getSchemas ( ) : array

Get schema objects for all schemas available to the session.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing objects that represent all of the schemas available to the session.

Exemplos

Exemplo #1 mysql_xdevapi\Session::getSchemas() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schemas  = $session->getSchemas();

print_r($schemas);

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => mysql_xdevapi\Schema Object
        (
            [name] => addressbook
        )
    [1] => mysql_xdevapi\Schema Object
        (
            [name] => information_schema
        )
    ...


Get server version

  • « Session::getSchemas
  • Session::listClients »
  • PHP Manual
  • mysql_xdevapi\Session
  • Get server version

Session::getServerVersion

(Não há informação de versão disponível, talvez apenas no Git)

Session::getServerVersion — Get server version

Descrição

public mysql_xdevapi\Session::getServerVersion ( ) : int

Retrieve the MySQL server version for the session.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The MySQL server version for the session, as an integer such as "80012".

Exemplos

Exemplo #1 mysql_xdevapi\Session::getServerVersion() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$version = $session->getServerVersion();

var_dump($version);

O exemplo acima irá imprimir algo similar à:

int(80012)


Get client list

  • « Session::getServerVersion
  • Session::quoteName »
  • PHP Manual
  • mysql_xdevapi\Session
  • Get client list

Session::listClients

(Não há informação de versão disponível, talvez apenas no Git)

Session::listClients — Get client list

Descrição

public mysql_xdevapi\Session::listClients ( ) : array

Get a list of client connections to the session's MySQL server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing the currently logged clients. The array elements are "client_id", "user", "host", and "sql_session".

Exemplos

Exemplo #1 mysql_xdevapi\Session::listClients() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$ids = $session->listClients();

var_dump($ids);
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  array(4) {
    ["client_id"]=>
    int(61)
    ["user"]=>
    string(4) "root"
    ["host"]=>
    string(9) "localhost"
    ["sql_session"]=>
    int(72)
  }
}


Add quotes

  • « Session::listClients
  • Session::releaseSavepoint »
  • PHP Manual
  • mysql_xdevapi\Session
  • Add quotes

Session::quoteName

(Não há informação de versão disponível, talvez apenas no Git)

Session::quoteName — Add quotes

Descrição

public mysql_xdevapi\Session::quoteName ( string $name ) : string

A quoting function to escape SQL names and identifiers. It escapes the identifier given in accordance to the settings of the current connection. This escape function should not be used to escape values.

Parâmetros

name

The string to quote.

Valor Retornado

The quoted string.

Exemplos

Exemplo #1 mysql_xdevapi\Session::quoteName() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$first = "MySQL's test";
var_dump($first);
var_dump($session->quoteName($first));

$second = 'Another `test` "like" `this`';
var_dump($second);
var_dump($session->quoteName($second));
?>

O exemplo acima irá imprimir algo similar à:

string(12) "MySQL's test"
string(14) "`MySQL's test`"

string(28) "Another `test` "like" `this`"
string(34) "`Another ``test`` "like" ``this```"


Release set savepoint

  • « Session::quoteName
  • Session::rollback »
  • PHP Manual
  • mysql_xdevapi\Session
  • Release set savepoint

Session::releaseSavepoint

(Não há informação de versão disponível, talvez apenas no Git)

Session::releaseSavepoint — Release set savepoint

Descrição

public mysql_xdevapi\Session::releaseSavepoint ( string $name ) : void

Release a previously set savepoint.

Parâmetros

name

Name of the savepoint to release.

Valor Retornado

An SqlStatementResult object.

Exemplos

Exemplo #1 mysql_xdevapi\Session::releaseSavepoint() example

<?php
$session    = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("friends");

$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();

$savepoint = $session->setSavepoint();

$collection->add( '{"test3":3, "test4":4}' )->execute();

$session->releaseSavepoint($savepoint);
$session->rollback();
?>


Rollback transaction

  • « Session::releaseSavepoint
  • Session::rollbackTo »
  • PHP Manual
  • mysql_xdevapi\Session
  • Rollback transaction

Session::rollback

(Não há informação de versão disponível, talvez apenas no Git)

Session::rollback — Rollback transaction

Descrição

public mysql_xdevapi\Session::rollback ( ) : void

Rollback the transaction.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An SqlStatementResult object.

Exemplos

Exemplo #1 mysql_xdevapi\Session::rollback() example

<?php
$session    = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("names");

$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();

$savepoint = $session->setSavepoint();

$collection->add( '{"test3":3, "test4":4}' )->execute();

$session->releaseSavepoint($savepoint);
$session->rollback();
?>


Rollback transaction to savepoint

  • « Session::rollback
  • Session::setSavepoint »
  • PHP Manual
  • mysql_xdevapi\Session
  • Rollback transaction to savepoint

Session::rollbackTo

(Não há informação de versão disponível, talvez apenas no Git)

Session::rollbackTo — Rollback transaction to savepoint

Descrição

public mysql_xdevapi\Session::rollbackTo ( string $name ) : void

Rollback the transaction back to the savepoint.

Parâmetros

name

Name of the savepoint to rollback to; case-insensitive.

Valor Retornado

An SqlStatementResult object.

Exemplos

Exemplo #1 mysql_xdevapi\Session::rollbackTo() example

<?php
$session    = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("names");

$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();

$savepoint1 = $session->setSavepoint();

$collection->add( '{"test3":3, "test4":4}' )->execute();

$savepoint2 = $session->setSavepoint();

$session->rollbackTo($savepoint1);
?>


Create savepoint

  • « Session::rollbackTo
  • Session::sql »
  • PHP Manual
  • mysql_xdevapi\Session
  • Create savepoint

Session::setSavepoint

(Não há informação de versão disponível, talvez apenas no Git)

Session::setSavepoint — Create savepoint

Descrição

public mysql_xdevapi\Session::setSavepoint ( string $name = ? ) : string

Create a new savepoint for the transaction.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

The name of the savepoint. The name is auto-generated if the optional name parameter is not defined as 'SAVEPOINT1', 'SAVEPOINT2', and so on.

Valor Retornado

The name of the save point.

Exemplos

Exemplo #1 mysql_xdevapi\Session::setSavepoint() example

<?php
$session    = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("names");

$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();

$savepoint = $session->setSavepoint();

$collection->add( '{"test3":3, "test4":4}' )->execute();

$session->releaseSavepoint($savepoint);
$session->rollback();
?>


Execute SQL query

  • « Session::setSavepoint
  • Session::startTransaction »
  • PHP Manual
  • mysql_xdevapi\Session
  • Execute SQL query

Session::sql

(Não há informação de versão disponível, talvez apenas no Git)

Session::sql — Execute SQL query

Descrição

public mysql_xdevapi\Session::sql ( string $query ) : mysql_xdevapi\SqlStatement

Create a native SQL statement. Placeholders are supported using the native "?" syntax. Use the execute method to execute the SQL statement.

Parâmetros

query

SQL statement to execute.

Valor Retornado

An SqlStatement object.

Exemplos

Exemplo #1 mysql_xdevapi\Session::sql() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("CREATE DATABASE addressbook")->execute();
?>


Start transaction

  • « Session::sql
  • mysql_xdevapi\SqlStatement »
  • PHP Manual
  • mysql_xdevapi\Session
  • Start transaction

Session::startTransaction

(Não há informação de versão disponível, talvez apenas no Git)

Session::startTransaction — Start transaction

Descrição

public mysql_xdevapi\Session::startTransaction ( ) : void

Start a new transaction.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An SqlStatementResult object.

Exemplos

Exemplo #1 mysql_xdevapi\Session::startTransaction() example

<?php
$session    = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("friends");

$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();

$savepoint = $session->setSavepoint();

$collection->add( '{"test3":3, "test4":4}' )->execute();

$session->releaseSavepoint($savepoint);
$session->rollback();
?>


SqlStatement class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\SqlStatement {
/* Constants */
const int EXECUTE_ASYNC = 1 ;
const int BUFFERED = 2 ;
/* Propriedades */
public $statement ;
/* Métodos */
public bind ( string $param ) : mysql_xdevapi\SqlStatement
public execute ( ) : mysql_xdevapi\Result
public getNextResult ( ) : mysql_xdevapi\Result
public getResult ( ) : mysql_xdevapi\Result
public hasMoreResults ( ) : bool
}

Propriedades

statement

Constantes pré-definidas

mysql_xdevapi\SqlStatement::EXECUTE_ASYNC

mysql_xdevapi\SqlStatement::BUFFERED

Índice

  • SqlStatement::bind — Bind statement parameters
  • SqlStatement::__construct — Description constructor
  • SqlStatement::execute — Execute the operation
  • SqlStatement::getNextResult — Get next result
  • SqlStatement::getResult — Get result
  • SqlStatement::hasMoreResults — Check for more results


Bind statement parameters

  • « mysql_xdevapi\SqlStatement
  • SqlStatement::__construct »
  • PHP Manual
  • mysql_xdevapi\SqlStatement
  • Bind statement parameters

SqlStatement::bind

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatement::bind — Bind statement parameters

Descrição

public mysql_xdevapi\SqlStatement::bind ( string $param ) : mysql_xdevapi\SqlStatement

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

param

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatement::bind() example

<?php

/* ... */

?>


Description constructor

  • « SqlStatement::bind
  • SqlStatement::execute »
  • PHP Manual
  • mysql_xdevapi\SqlStatement
  • Description constructor

SqlStatement::__construct

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatement::__construct — Description constructor

Descrição

private mysql_xdevapi\SqlStatement::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatement::__construct() example

<?php

/* ... */

?>


Execute the operation

  • « SqlStatement::__construct
  • SqlStatement::getNextResult »
  • PHP Manual
  • mysql_xdevapi\SqlStatement
  • Execute the operation

SqlStatement::execute

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatement::execute — Execute the operation

Descrição

public mysql_xdevapi\SqlStatement::execute ( ) : mysql_xdevapi\Result

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatement::execute() example

<?php

/* ... */

?>


Get next result

  • « SqlStatement::execute
  • SqlStatement::getResult »
  • PHP Manual
  • mysql_xdevapi\SqlStatement
  • Get next result

SqlStatement::getNextResult

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatement::getNextResult — Get next result

Descrição

public mysql_xdevapi\SqlStatement::getNextResult ( ) : mysql_xdevapi\Result

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatement::getNextResult() example

<?php

/* ... */

?>


Get result

  • « SqlStatement::getNextResult
  • SqlStatement::hasMoreResults »
  • PHP Manual
  • mysql_xdevapi\SqlStatement
  • Get result

SqlStatement::getResult

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatement::getResult — Get result

Descrição

public mysql_xdevapi\SqlStatement::getResult ( ) : mysql_xdevapi\Result

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatement::getResult() example

<?php

/* ... */

?>


Check for more results

  • « SqlStatement::getResult
  • mysql_xdevapi\SqlStatementResult »
  • PHP Manual
  • mysql_xdevapi\SqlStatement
  • Check for more results

SqlStatement::hasMoreResults

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatement::hasMoreResults — Check for more results

Descrição

public mysql_xdevapi\SqlStatement::hasMoreResults ( ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the result set has more objects to fetch.

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatement::hasMoreResults() example

<?php

/* ... */

?>


SqlStatementResult class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\SqlStatementResult implements mysql_xdevapi\BaseResult , Traversable {
/* Métodos */
public fetchAll ( ) : array
public fetchOne ( ) : array
public getAffectedItemsCount ( ) : int
public getColumnsCount ( ) : int
public getColumnNames ( ) : array
public getColumns ( ) : Array
public getGeneratedIds ( ) : array
public getLastInsertId ( ) : String
public getWarnings ( ) : array
public getWarningCounts ( ) : int
public hasData ( ) : bool
public nextResult ( ) : mysql_xdevapi\Result
}

Índice

  • SqlStatementResult::__construct — Description constructor
  • SqlStatementResult::fetchAll — Get all rows from result
  • SqlStatementResult::fetchOne — Get single row
  • SqlStatementResult::getAffectedItemsCount — Get affected row count
  • SqlStatementResult::getColumnsCount — Get column count
  • SqlStatementResult::getColumnNames — Get column names
  • SqlStatementResult::getColumns — Get columns
  • SqlStatementResult::getGeneratedIds — Get generated ids
  • SqlStatementResult::getLastInsertId — Get last insert id
  • SqlStatementResult::getWarnings — Get warnings from last operation
  • SqlStatementResult::getWarningsCount — Get warning count from last operation
  • SqlStatementResult::hasData — Check if result has data
  • SqlStatementResult::nextResult — Get next result


Description constructor

  • « mysql_xdevapi\SqlStatementResult
  • SqlStatementResult::fetchAll »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Description constructor

SqlStatementResult::__construct

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatementResult::__construct — Description constructor

Descrição

private mysql_xdevapi\SqlStatementResult::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatementResult::__construct() example

<?php

/* ... */

?>


Get all rows from result

  • « SqlStatementResult::__construct
  • SqlStatementResult::fetchOne »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get all rows from result

SqlStatementResult::fetchAll

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatementResult::fetchAll — Get all rows from result

Descrição

public mysql_xdevapi\SqlStatementResult::fetchAll ( ) : array

Fetch all the rows from the result set.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A numerical array with all results from the query; each result is an associative array. An empty array is returned if no rows are present.

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatementResult::fetchAll() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS dbtest")->execute();
$session->sql("CREATE DATABASE dbtest")->execute();
$session->sql("CREATE TABLE dbtest.workers(name text, age int, job text)")->execute();
$session->sql("INSERT INTO dbtest.workers values ('John', 42, 'bricklayer'), ('Sam', 33, 'carpenter')")->execute();

$schema = $session->getSchema("dbtest");
$table  = $schema->getTable("workers");

$rows = $session->sql("SELECT * FROM dbtest.workers")->execute()->fetchAll();

print_r($rows);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 33
        )
)


Get single row

  • « SqlStatementResult::fetchAll
  • SqlStatementResult::getAffectedItemsCount »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get single row

SqlStatementResult::fetchOne

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatementResult::fetchOne — Get single row

Descrição

public mysql_xdevapi\SqlStatementResult::fetchOne ( ) : array

Fetch one row from the result set.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The result, as an associative array. In case there is not any result, null will be returned.

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatementResult::fetchOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS dbtest")->execute();
$session->sql("CREATE DATABASE dbtest")->execute();
$session->sql("CREATE TABLE dbtest.workers(name text, age int, job text)")->execute();
$session->sql("INSERT INTO dbtest.workers values ('John', 42, 'bricklayer'), ('Sam', 33, 'carpenter')")->execute();

$schema = $session->getSchema("dbtest");
$table  = $schema->getTable("workers");

$rows = $session->sql("SELECT * FROM dbtest.workers")->execute()->fetchOne();

print_r($rows);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [name] => John
    [age] => 42
    [job] => bricklayer
)


Get affected row count

  • « SqlStatementResult::fetchOne
  • SqlStatementResult::getColumnsCount »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get affected row count

SqlStatementResult::getAffectedItemsCount

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatementResult::getAffectedItemsCount — Get affected row count

Descrição

public mysql_xdevapi\SqlStatementResult::getAffectedItemsCount ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatementResult::getAffectedItemsCount() example

<?php

/* ... */

?>


Get column count

  • « SqlStatementResult::getAffectedItemsCount
  • SqlStatementResult::getColumnNames »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get column count

SqlStatementResult::getColumnsCount

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatementResult::getColumnsCount — Get column count

Descrição

public mysql_xdevapi\SqlStatementResult::getColumnsCount ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of columns; 0 if there are none.

Changelog

Versão | Descrição
8.0.14 | Method renamed from getColumnCount() to getColumnsCount().

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatementResult::getColumnsCount() example

<?php

/* ... */

?>


Get column names

  • « SqlStatementResult::getColumnsCount
  • SqlStatementResult::getColumns »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get column names

SqlStatementResult::getColumnNames

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatementResult::getColumnNames — Get column names

Descrição

public mysql_xdevapi\SqlStatementResult::getColumnNames ( ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatementResult::getColumnNames() example

<?php

/* ... */

?>


Get columns

  • « SqlStatementResult::getColumnNames
  • SqlStatementResult::getGeneratedIds »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get columns

SqlStatementResult::getColumns

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatementResult::getColumns — Get columns

Descrição

public mysql_xdevapi\SqlStatementResult::getColumns ( ) : Array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatementResult::getColumns() example

<?php

/* ... */

?>


Get generated ids

  • « SqlStatementResult::getColumns
  • SqlStatementResult::getLastInsertId »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get generated ids

SqlStatementResult::getGeneratedIds

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatementResult::getGeneratedIds — Get generated ids

Descrição

public mysql_xdevapi\SqlStatementResult::getGeneratedIds ( ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of generated _id's from the last operation, or an empty array if there are none.

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatementResult::getGeneratedIds() example

<?php

/* ... */

?>


Get last insert id

  • « SqlStatementResult::getGeneratedIds
  • SqlStatementResult::getWarnings »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get last insert id

SqlStatementResult::getLastInsertId

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatementResult::getLastInsertId — Get last insert id

Descrição

public mysql_xdevapi\SqlStatementResult::getLastInsertId ( ) : String

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The ID for the last insert operation.

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatementResult::getLastInsertId() example

<?php

/* ... */

?>


Get warnings from last operation

  • « SqlStatementResult::getLastInsertId
  • SqlStatementResult::getWarningsCount »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get warnings from last operation

SqlStatementResult::getWarnings

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatementResult::getWarnings — Get warnings from last operation

Descrição

public mysql_xdevapi\SqlStatementResult::getWarnings ( ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of Warning objects from the last operation. Each object defines an error 'message', error 'level', and error 'code'. An empty array is returned if no errors are present.

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatementResult::getWarnings() example

<?php

/* ... */

?>


Get warning count from last operation

  • « SqlStatementResult::getWarnings
  • SqlStatementResult::hasData »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get warning count from last operation

SqlStatementResult::getWarningsCount

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatementResult::getWarningsCount — Get warning count from last operation

Descrição

public mysql_xdevapi\SqlStatementResult::getWarningCounts ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of warnings raised during the last CRUD operation.

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatementResult::getWarningsCount() example

<?php

/* ... */

?>


Check if result has data

  • « SqlStatementResult::getWarningsCount
  • SqlStatementResult::nextResult »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Check if result has data

SqlStatementResult::hasData

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatementResult::hasData — Check if result has data

Descrição

public mysql_xdevapi\SqlStatementResult::hasData ( ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the result set has data.

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatementResult::hasData() example

<?php

/* ... */

?>


Get next result

  • « SqlStatementResult::hasData
  • mysql_xdevapi\Statement »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get next result

SqlStatementResult::nextResult

(Não há informação de versão disponível, talvez apenas no Git)

SqlStatementResult::nextResult — Get next result

Descrição

public mysql_xdevapi\SqlStatementResult::nextResult ( ) : mysql_xdevapi\Result

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The next Result object from the result set.

Exemplos

Exemplo #1 mysql_xdevapi\SqlStatementResult::nextResult() example

<?php

/* ... */

?>


Statement class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\Statement {
/* Constants */
const int EXECUTE_ASYNC = 1 ;
const int BUFFERED = 2 ;
/* Métodos */
public getNextResult ( ) : mysql_xdevapi\Result
public getResult ( ) : mysql_xdevapi\Result
public hasMoreResults ( ) : bool
}

Constantes pré-definidas

mysql_xdevapi\Statement::EXECUTE_ASYNC

mysql_xdevapi\Statement::BUFFERED

Índice

  • Statement::__construct — Description constructor
  • Statement::getNextResult — Get next result
  • Statement::getResult — Get result
  • Statement::hasMoreResults — Check if more results


Description constructor

  • « mysql_xdevapi\Statement
  • Statement::getNextResult »
  • PHP Manual
  • mysql_xdevapi\Statement
  • Description constructor

Statement::__construct

(Não há informação de versão disponível, talvez apenas no Git)

Statement::__construct — Description constructor

Descrição

private mysql_xdevapi\Statement::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\Statement::__construct() example

<?php

/* ... */

?>


Get next result

  • « Statement::__construct
  • Statement::getResult »
  • PHP Manual
  • mysql_xdevapi\Statement
  • Get next result

Statement::getNextResult

(Não há informação de versão disponível, talvez apenas no Git)

Statement::getNextResult — Get next result

Descrição

public mysql_xdevapi\Statement::getNextResult ( ) : mysql_xdevapi\Result

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\Statement::getNextResult() example

<?php

/* ... */

?>


Get result

  • « Statement::getNextResult
  • Statement::hasMoreResults »
  • PHP Manual
  • mysql_xdevapi\Statement
  • Get result

Statement::getResult

(Não há informação de versão disponível, talvez apenas no Git)

Statement::getResult — Get result

Descrição

public mysql_xdevapi\Statement::getResult ( ) : mysql_xdevapi\Result

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\Statement::getResult() example

<?php

/* ... */

?>


Check if more results

  • « Statement::getResult
  • mysql_xdevapi\Table »
  • PHP Manual
  • mysql_xdevapi\Statement
  • Check if more results

Statement::hasMoreResults

(Não há informação de versão disponível, talvez apenas no Git)

Statement::hasMoreResults — Check if more results

Descrição

public mysql_xdevapi\Statement::hasMoreResults ( ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 mysql_xdevapi\Statement::hasMoreResults() example

<?php

/* ... */

?>


Table class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Provides access to the table through INSERT/SELECT/UPDATE/DELETE statements.

Sinopse da classe

mysql_xdevapi\Table implements mysql_xdevapi\SchemaObject {
/* Propriedades */
public $name ;
/* Métodos */
public count ( ) : int
public delete ( ) : mysql_xdevapi\TableDelete
public existsInDatabase ( ) : bool
public getName ( ) : string
public getSchema ( ) : mysql_xdevapi\Schema
public getSession ( ) : mysql_xdevapi\Session
public insert ( mixed $columns , mixed ...$more_columns ) : mysql_xdevapi\TableInsert
public isView ( ) : bool
public select ( mixed $columns , mixed ...$more_columns ) : mysql_xdevapi\TableSelect
public update ( ) : mysql_xdevapi\TableUpdate
}

Propriedades

name

Índice

  • Table::__construct — Table constructor
  • Table::count — Get row count
  • Table::delete — Delete rows from table
  • Table::existsInDatabase — Check if table exists in database
  • Table::getName — Get table name
  • Table::getSchema — Get table schema
  • Table::getSession — Get table session
  • Table::insert — Insert table rows
  • Table::isView — Check if table is view
  • Table::select — Select rows from table
  • Table::update — Update rows in table


Table constructor

  • « mysql_xdevapi\Table
  • Table::count »
  • PHP Manual
  • mysql_xdevapi\Table
  • Table constructor

Table::__construct

(Não há informação de versão disponível, talvez apenas no Git)

Table::__construct — Table constructor

Descrição

private mysql_xdevapi\Table::__construct ( )

Construct a table object.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\Table::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");
?>


Get row count

  • « Table::__construct
  • Table::delete »
  • PHP Manual
  • mysql_xdevapi\Table
  • Get row count

Table::count

(Não há informação de versão disponível, talvez apenas no Git)

Table::count — Get row count

Descrição

public mysql_xdevapi\Table::count ( ) : int

Fetch the number of rows in the table.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The total number of rows in the table.

Exemplos

Exemplo #1 mysql_xdevapi\Table::count() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

var_dump($table->count());
?>

O exemplo acima irá imprimir:

int(2)


Delete rows from table

  • « Table::count
  • Table::existsInDatabase »
  • PHP Manual
  • mysql_xdevapi\Table
  • Delete rows from table

Table::delete

(Não há informação de versão disponível, talvez apenas no Git)

Table::delete — Delete rows from table

Descrição

public mysql_xdevapi\Table::delete ( ) : mysql_xdevapi\TableDelete

Deletes rows from a table.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A TableDelete object; use the execute() method to execute the delete query.

Exemplos

Exemplo #1 mysql_xdevapi\Table::delete() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$table->delete()->where("name = :name")->orderby("age DESC")->limit(1)->bind(['name' => 'John'])->execute();
?>


Check if table exists in database

  • « Table::delete
  • Table::getName »
  • PHP Manual
  • mysql_xdevapi\Table
  • Check if table exists in database

Table::existsInDatabase

(Não há informação de versão disponível, talvez apenas no Git)

Table::existsInDatabase — Check if table exists in database

Descrição

public mysql_xdevapi\Table::existsInDatabase ( ) : bool

Verifies if this table exists in the database.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if table exists in the database, else false if it does not.

Exemplos

Exemplo #1 mysql_xdevapi\Table::existsInDatabase() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

if ($table->existsInDatabase()) {
  echo "Yes, this table still exists in the session's schema.";
}
?>

O exemplo acima irá imprimir algo similar à:

Yes, this table still exists in the session's schema.


Get table name

  • « Table::existsInDatabase
  • Table::getSchema »
  • PHP Manual
  • mysql_xdevapi\Table
  • Get table name

Table::getName

(Não há informação de versão disponível, talvez apenas no Git)

Table::getName — Get table name

Descrição

public mysql_xdevapi\Table::getName ( ) : string

Returns the name of this database object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The name of this database object.

Exemplos

Exemplo #1 mysql_xdevapi\Table::getName() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

var_dump($table->getName());
?>

O exemplo acima irá imprimir algo similar à:

string(5) "names"


Get table schema

  • « Table::getName
  • Table::getSession »
  • PHP Manual
  • mysql_xdevapi\Table
  • Get table schema

Table::getSchema

(Não há informação de versão disponível, talvez apenas no Git)

Table::getSchema — Get table schema

Descrição

public mysql_xdevapi\Table::getSchema ( ) : mysql_xdevapi\Schema

Fetch the schema associated with the table.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A Schema object.

Exemplos

Exemplo #1 mysql_xdevapi\Table::getSchema() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

var_dump($table->getSchema());
?>

O exemplo acima irá imprimir algo similar à:

object(mysql_xdevapi\Schema)#9 (1) {
  ["name"]=>
  string(11) "addressbook"
}


Get table session

  • « Table::getSchema
  • Table::insert »
  • PHP Manual
  • mysql_xdevapi\Table
  • Get table session

Table::getSession

(Não há informação de versão disponível, talvez apenas no Git)

Table::getSession — Get table session

Descrição

public mysql_xdevapi\Table::getSession ( ) : mysql_xdevapi\Session

Get session associated with the table.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A Session object.

Exemplos

Exemplo #1 mysql_xdevapi\Table::getSession() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

var_dump($table->getSession());
?>

O exemplo acima irá imprimir algo similar à:

object(mysql_xdevapi\Session)#9 (0) {
}


Insert table rows

  • « Table::getSession
  • Table::isView »
  • PHP Manual
  • mysql_xdevapi\Table
  • Insert table rows

Table::insert

(Não há informação de versão disponível, talvez apenas no Git)

Table::insert — Insert table rows

Descrição

public mysql_xdevapi\Table::insert ( mixed $columns , mixed ...$more_columns ) : mysql_xdevapi\TableInsert

Inserts rows into a table.

Parâmetros

columns

The columns to insert data into. Can be an array with one or more values, or a string.

more_columns

Additional columns definitions.

Valor Retornado

A TableInsert object; use the execute() method to execute the insert statement.

Exemplos

Exemplo #1 mysql_xdevapi\Table::insert() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$table ->insert("name", "age")
  ->values(["Suzanne", 31],["Julie", 43])
  ->execute();
?>


Check if table is view

  • « Table::insert
  • Table::select »
  • PHP Manual
  • mysql_xdevapi\Table
  • Check if table is view

Table::isView

(Não há informação de versão disponível, talvez apenas no Git)

Table::isView — Check if table is view

Descrição

public mysql_xdevapi\Table::isView ( ) : bool

Determine if the underlying object is a view or not.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the underlying object is a view, otherwise false.

Exemplos

Exemplo #1 mysql_xdevapi\Table::isView() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names

if ($table->isView()) {
    echo "This is a view.";
} else {
    echo "This is not a view.";
}
?>

O exemplo acima irá imprimir:

int(2)


Select rows from table

  • « Table::isView
  • Table::update »
  • PHP Manual
  • mysql_xdevapi\Table
  • Select rows from table

Table::select

(Não há informação de versão disponível, talvez apenas no Git)

Table::select — Select rows from table

Descrição

public mysql_xdevapi\Table::select ( mixed $columns , mixed ...$more_columns ) : mysql_xdevapi\TableSelect

Fetches data from a table.

Parâmetros

columns

The columns to select data from. Can be an array with one or more values, or a string.

more_columns

Additional columns parameter definitions.

Valor Retornado

A TableSelect object; use the execute() method to execute the select and return a RowResult object.

Exemplos

Exemplo #1 mysql_xdevapi\Table::count() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$row = $table->select('name', 'age')->execute()->fetchAll();

print_r($row);

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 33
        )
)


Update rows in table

  • « Table::select
  • mysql_xdevapi\TableDelete »
  • PHP Manual
  • mysql_xdevapi\Table
  • Update rows in table

Table::update

(Não há informação de versão disponível, talvez apenas no Git)

Table::update — Update rows in table

Descrição

public mysql_xdevapi\Table::update ( ) : mysql_xdevapi\TableUpdate

Updates columns in a table.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A TableUpdate object; use the execute() method to execute the update statement.

Exemplos

Exemplo #1 mysql_xdevapi\Table::update() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$table->update()->set('age',34)->where('name = "Sam"')->limit(1)->execute();
?>


TableDelete class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

A statement for delete operations on Table.

Sinopse da classe

mysql_xdevapi\TableDelete implements mysql_xdevapi\Executable {
/* Métodos */
public bind ( array $placeholder_values ) : mysql_xdevapi\TableDelete
public execute ( ) : mysql_xdevapi\Result
public limit ( int $rows ) : mysql_xdevapi\TableDelete
public orderby ( string $orderby_expr ) : mysql_xdevapi\TableDelete
public where ( string $where_expr ) : mysql_xdevapi\TableDelete
}

Índice

  • TableDelete::bind — Bind delete query parameters
  • TableDelete::__construct — TableDelete constructor
  • TableDelete::execute — Execute delete query
  • TableDelete::limit — Limit deleted rows
  • TableDelete::orderby — Set delete sort criteria
  • TableDelete::where — Set delete search condition


Bind delete query parameters

  • « mysql_xdevapi\TableDelete
  • TableDelete::__construct »
  • PHP Manual
  • mysql_xdevapi\TableDelete
  • Bind delete query parameters

TableDelete::bind

(Não há informação de versão disponível, talvez apenas no Git)

TableDelete::bind — Bind delete query parameters

Descrição

public mysql_xdevapi\TableDelete::bind ( array $placeholder_values ) : mysql_xdevapi\TableDelete

Binds a value to a specific placeholder.

Parâmetros

placeholder_values

The name of the placeholder and the value to bind.

Valor Retornado

A TableDelete object.

Exemplos

Exemplo #1 mysql_xdevapi\TableDelete::bind() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$table->delete()
  ->where("name = :name")
  ->bind(['name' => 'John'])
  ->orderby("age DESC")
  ->limit(1)
  ->execute();

?>


TableDelete constructor

  • « TableDelete::bind
  • TableDelete::execute »
  • PHP Manual
  • mysql_xdevapi\TableDelete
  • TableDelete constructor

TableDelete::__construct

(Não há informação de versão disponível, talvez apenas no Git)

TableDelete::__construct — TableDelete constructor

Descrição

private mysql_xdevapi\TableDelete::__construct ( )

Initiated by using the delete() method.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\TableDelete::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$table->delete()
  ->where("name = :name")
  ->bind(['name' => 'John'])
  ->orderby("age DESC")
  ->limit(1)
  ->execute();

?>


Execute delete query

  • « TableDelete::__construct
  • TableDelete::limit »
  • PHP Manual
  • mysql_xdevapi\TableDelete
  • Execute delete query

TableDelete::execute

(Não há informação de versão disponível, talvez apenas no Git)

TableDelete::execute — Execute delete query

Descrição

public mysql_xdevapi\TableDelete::execute ( ) : mysql_xdevapi\Result

Execute the delete query.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A Result object.

Exemplos

Exemplo #1 mysql_xdevapi\TableDelete::execute() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$table->delete()
  ->where("name = :name")
  ->bind(['name' => 'John'])
  ->orderby("age DESC")
  ->limit(1)
  ->execute();

?>


Limit deleted rows

  • « TableDelete::execute
  • TableDelete::orderby »
  • PHP Manual
  • mysql_xdevapi\TableDelete
  • Limit deleted rows

TableDelete::limit

(Não há informação de versão disponível, talvez apenas no Git)

TableDelete::limit — Limit deleted rows

Descrição

public mysql_xdevapi\TableDelete::limit ( int $rows ) : mysql_xdevapi\TableDelete

Sets the maximum number of records or documents to delete.

Parâmetros

rows

The maximum number of records or documents to delete.

Valor Retornado

TableDelete object.

Exemplos

Exemplo #1 mysql_xdevapi\TableDelete::limit() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$table->delete()
  ->where("name = :name")
  ->bind(['name' => 'John'])
  ->orderby("age DESC")
  ->limit(1)
  ->execute();

?>


Set delete sort criteria

  • « TableDelete::limit
  • TableDelete::where »
  • PHP Manual
  • mysql_xdevapi\TableDelete
  • Set delete sort criteria

TableDelete::orderby

(Não há informação de versão disponível, talvez apenas no Git)

TableDelete::orderby — Set delete sort criteria

Descrição

public mysql_xdevapi\TableDelete::orderby ( string $orderby_expr ) : mysql_xdevapi\TableDelete

Set the order options for a result set.

Parâmetros

orderby_expr

The sort definition.

Valor Retornado

A TableDelete object.

Exemplos

Exemplo #1 mysql_xdevapi\TableDelete::orderBy() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$table->delete()
  ->where("age = :age")
  ->bind(['age' => 42])
  ->orderby("name DESC")
  ->limit(1)
  ->execute();

?>


Set delete search condition

  • « TableDelete::orderby
  • mysql_xdevapi\TableInsert »
  • PHP Manual
  • mysql_xdevapi\TableDelete
  • Set delete search condition

TableDelete::where

(Não há informação de versão disponível, talvez apenas no Git)

TableDelete::where — Set delete search condition

Descrição

public mysql_xdevapi\TableDelete::where ( string $where_expr ) : mysql_xdevapi\TableDelete

Sets the search condition to filter.

Parâmetros

where_expr

Define the search condition to filter documents or records.

Valor Retornado

TableDelete object.

Exemplos

Exemplo #1 mysql_xdevapi\TableDelete::where() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$table->delete()
  ->where("id = :id")
  ->bind(['id' => 42])
  ->limit(1)
  ->execute();

?>


TableInsert class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

A statement for insert operations on Table.

Sinopse da classe

mysql_xdevapi\TableInsert implements mysql_xdevapi\Executable {
/* Métodos */
public execute ( ) : mysql_xdevapi\Result
public values ( array $row_values ) : mysql_xdevapi\TableInsert
}

Índice

  • TableInsert::__construct — TableInsert constructor
  • TableInsert::execute — Execute insert query
  • TableInsert::values — Add insert row values


TableInsert constructor

  • « mysql_xdevapi\TableInsert
  • TableInsert::execute »
  • PHP Manual
  • mysql_xdevapi\TableInsert
  • TableInsert constructor

TableInsert::__construct

(Não há informação de versão disponível, talvez apenas no Git)

TableInsert::__construct — TableInsert constructor

Descrição

private mysql_xdevapi\TableInsert::__construct ( )

Initiated by using the insert() method.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\TableInsert::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$table
  ->insert("name", "age")
  ->values(["Suzanne", 31],["Julie", 43])
  ->execute();
?>


Execute insert query

  • « TableInsert::__construct
  • TableInsert::values »
  • PHP Manual
  • mysql_xdevapi\TableInsert
  • Execute insert query

TableInsert::execute

(Não há informação de versão disponível, talvez apenas no Git)

TableInsert::execute — Execute insert query

Descrição

public mysql_xdevapi\TableInsert::execute ( ) : mysql_xdevapi\Result

Execute the statement.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A Result object.

Exemplos

Exemplo #1 mysql_xdevapi\TableInsert::execute() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$table
  ->insert("name", "age")
  ->values(["Suzanne", 31],["Julie", 43])
  ->execute();
?>


Add insert row values

  • « TableInsert::execute
  • mysql_xdevapi\TableSelect »
  • PHP Manual
  • mysql_xdevapi\TableInsert
  • Add insert row values

TableInsert::values

(Não há informação de versão disponível, talvez apenas no Git)

TableInsert::values — Add insert row values

Descrição

public mysql_xdevapi\TableInsert::values ( array $row_values ) : mysql_xdevapi\TableInsert

Set the values to be inserted.

Parâmetros

row_values

Values (an array) of columns to insert.

Valor Retornado

A TableInsert object.

Exemplos

Exemplo #1 mysql_xdevapi\TableInsert::values() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$table
  ->insert("name", "age")
  ->values(["Suzanne", 31],["Julie", 43])
  ->execute();
?>


TableSelect class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

A statement for record retrieval operations on a Table.

Sinopse da classe

mysql_xdevapi\TableSelect implements mysql_xdevapi\Executable {
/* Métodos */
public bind ( array $placeholder_values ) : mysql_xdevapi\TableSelect
public execute ( ) : mysql_xdevapi\RowResult
public groupBy ( mixed $sort_expr ) : mysql_xdevapi\TableSelect
public having ( string $sort_expr ) : mysql_xdevapi\TableSelect
public limit ( int $rows ) : mysql_xdevapi\TableSelect
public lockExclusive ( int $lock_waiting_option = ? ) : mysql_xdevapi\TableSelect
public lockShared ( int $lock_waiting_option = ? ) : mysql_xdevapi\TableSelect
public offset ( int $position ) : mysql_xdevapi\TableSelect
public orderby ( mixed $sort_expr , mixed ...$sort_exprs ) : mysql_xdevapi\TableSelect
public where ( string $where_expr ) : mysql_xdevapi\TableSelect
}

Índice

  • TableSelect::bind — Bind select query parameters
  • TableSelect::__construct — TableSelect constructor
  • TableSelect::execute — Execute select statement
  • TableSelect::groupBy — Set select grouping criteria
  • TableSelect::having — Set select having condition
  • TableSelect::limit — Limit selected rows
  • TableSelect::lockExclusive — Execute EXCLUSIVE LOCK
  • TableSelect::lockShared — Execute SHARED LOCK
  • TableSelect::offset — Set limit offset
  • TableSelect::orderby — Set select sort criteria
  • TableSelect::where — Set select search condition


Bind select query parameters

  • « mysql_xdevapi\TableSelect
  • TableSelect::__construct »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Bind select query parameters

TableSelect::bind

(Não há informação de versão disponível, talvez apenas no Git)

TableSelect::bind — Bind select query parameters

Descrição

public mysql_xdevapi\TableSelect::bind ( array $placeholder_values ) : mysql_xdevapi\TableSelect

Binds a value to a specific placeholder.

Parâmetros

placeholder_values

The name of the placeholder, and the value to bind.

Valor Retornado

A TableSelect object.

Exemplos

Exemplo #1 mysql_xdevapi\TableSelect::bind() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$result = $table->select('name','age')
  ->where('name like :name and age > :age')
  ->bind(['name' => 'John', 'age' => 42])
  ->execute();

$row = $result->fetchAll();
print_r($row);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
)


TableSelect constructor

  • « TableSelect::bind
  • TableSelect::execute »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • TableSelect constructor

TableSelect::__construct

(Não há informação de versão disponível, talvez apenas no Git)

TableSelect::__construct — TableSelect constructor

Descrição

private mysql_xdevapi\TableSelect::__construct ( )

An object returned by the select() method; use execute() to execute the query.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\TableSelect::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$result = $table->select('name','age')
  ->where('name like :name and age > :age')
  ->bind(['name' => 'John', 'age' => 42])
  ->orderBy('age desc')
  ->execute();

$row = $result->fetchAll();
print_r($row);

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
)


Execute select statement

  • « TableSelect::__construct
  • TableSelect::groupBy »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Execute select statement

TableSelect::execute

(Não há informação de versão disponível, talvez apenas no Git)

TableSelect::execute — Execute select statement

Descrição

public mysql_xdevapi\TableSelect::execute ( ) : mysql_xdevapi\RowResult

Execute the select statement by chaining it with the execute() method.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A RowResult object.

Exemplos

Exemplo #1 mysql_xdevapi\TableSelect::execute() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$result = $table->select('name','age')
  ->where('name like :name and age > :age')
  ->bind(['name' => 'John', 'age' => 42])
  ->orderBy('age desc')
  ->execute();

$row = $result->fetchAll();
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
)


Set select grouping criteria

  • « TableSelect::execute
  • TableSelect::having »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Set select grouping criteria

TableSelect::groupBy

(Não há informação de versão disponível, talvez apenas no Git)

TableSelect::groupBy — Set select grouping criteria

Descrição

public mysql_xdevapi\TableSelect::groupBy ( mixed $sort_expr ) : mysql_xdevapi\TableSelect

Sets a grouping criteria for the result set.

Parâmetros

sort_expr

The grouping criteria.

Valor Retornado

A TableSelect object.

Exemplos

Exemplo #1 mysql_xdevapi\TableSelect::groupBy() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 42)")->execute();
$session->sql("INSERT INTO addressbook.names values ('Suki', 31)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$result = $table->select('count(*) as count', 'age')
  ->groupBy('age')->orderBy('age asc')
  ->execute();

$row = $result->fetchAll();
print_r($row);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [count] => 1
            [age] => 31
        )
    [1] => Array
        (
            [count] => 2
            [age] => 42
        )
)


Set select having condition

  • « TableSelect::groupBy
  • TableSelect::limit »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Set select having condition

TableSelect::having

(Não há informação de versão disponível, talvez apenas no Git)

TableSelect::having — Set select having condition

Descrição

public mysql_xdevapi\TableSelect::having ( string $sort_expr ) : mysql_xdevapi\TableSelect

Sets a condition for records to consider in aggregate function operations.

Parâmetros

sort_expr

A condition on the aggregate functions used on the grouping criteria.

Valor Retornado

A TableSelect object.

Exemplos

Exemplo #1 mysql_xdevapi\TableSelect::having() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 42)")->execute();
$session->sql("INSERT INTO addressbook.names values ('Suki', 31)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$result = $table->select('count(*) as count', 'age')
  ->groupBy('age')->orderBy('age asc')
  ->having('count > 1')
  ->execute();

$row = $result->fetchAll();
print_r($row);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [count] => 2
            [age] => 42
        )
)


Limit selected rows

  • « TableSelect::having
  • TableSelect::lockExclusive »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Limit selected rows

TableSelect::limit

(Não há informação de versão disponível, talvez apenas no Git)

TableSelect::limit — Limit selected rows

Descrição

public mysql_xdevapi\TableSelect::limit ( int $rows ) : mysql_xdevapi\TableSelect

Sets the maximum number of records or documents to return.

Parâmetros

rows

The maximum number of records or documents.

Valor Retornado

A TableSelect object.

Exemplos

Exemplo #1 mysql_xdevapi\TableSelect::limit() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$result = $table->select('name', 'age')
  ->limit(1)
  ->execute();

$row = $result->fetchAll();
print_r($row);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
)


Execute EXCLUSIVE LOCK

  • « TableSelect::limit
  • TableSelect::lockShared »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Execute EXCLUSIVE LOCK

TableSelect::lockExclusive

(Não há informação de versão disponível, talvez apenas no Git)

TableSelect::lockExclusive — Execute EXCLUSIVE LOCK

Descrição

public mysql_xdevapi\TableSelect::lockExclusive ( int $lock_waiting_option = ? ) : mysql_xdevapi\TableSelect

Execute a read operation with EXCLUSIVE LOCK. Only one lock can be active at a time.

Parâmetros

lock_waiting_option

The optional waiting option that defaults to MYSQLX_LOCK_DEFAULT. Valid values are:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

Valor Retornado

TableSelect object.

Exemplos

Exemplo #1 mysql_xdevapi\TableSelect::lockExclusive() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$session->startTransaction();

$result = $table->select('name', 'age')
  ->lockExclusive(MYSQLX_LOCK_NOWAIT)
  ->execute();

$session->commit();

$row = $result->fetchAll();
print_r($row);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 42
        )
)


Execute SHARED LOCK

  • « TableSelect::lockExclusive
  • TableSelect::offset »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Execute SHARED LOCK

TableSelect::lockShared

(Não há informação de versão disponível, talvez apenas no Git)

TableSelect::lockShared — Execute SHARED LOCK

Descrição

public mysql_xdevapi\TableSelect::lockShared ( int $lock_waiting_option = ? ) : mysql_xdevapi\TableSelect

Execute a read operation with SHARED LOCK. Only one lock can be active at a time.

Parâmetros

lock_waiting_option

The optional waiting option that defaults to MYSQLX_LOCK_DEFAULT. Valid values are:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

Valor Retornado

A TableSelect object.

Exemplos

Exemplo #1 mysql_xdevapi\TableSelect::lockShared() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$session->startTransaction();

$result = $table->select('name', 'age')
  ->lockShared(MYSQLX_LOCK_NOWAIT)
  ->execute();

$session->commit();

$row = $result->fetchAll();
print_r($row);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 42
        )
)


Set limit offset

  • « TableSelect::lockShared
  • TableSelect::orderby »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Set limit offset

TableSelect::offset

(Não há informação de versão disponível, talvez apenas no Git)

TableSelect::offset — Set limit offset

Descrição

public mysql_xdevapi\TableSelect::offset ( int $position ) : mysql_xdevapi\TableSelect

Skip given number of rows in result.

Parâmetros

position

The limit offset.

Valor Retornado

A TableSelect object.

Exemplos

Exemplo #1 mysql_xdevapi\TableSelect::offset() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 42)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$result = $table->select('name', 'age')
  ->limit(1)
  ->offset(1)
  ->execute();

$row = $result->fetchAll();
print_r($row);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => Sam
            [age] => 42
        )
)


Set select sort criteria

  • « TableSelect::offset
  • TableSelect::where »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Set select sort criteria

TableSelect::orderby

(Não há informação de versão disponível, talvez apenas no Git)

TableSelect::orderby — Set select sort criteria

Descrição

public mysql_xdevapi\TableSelect::orderby ( mixed $sort_expr , mixed ...$sort_exprs ) : mysql_xdevapi\TableSelect

Sets the order by criteria.

Parâmetros

sort_expr

The expressions that define the order by criteria. Can be an array with one or more expressions, or a string.

sort_exprs

Additional sort_expr parameters.

Valor Retornado

A TableSelect object.

Exemplos

Exemplo #1 mysql_xdevapi\TableSelect::orderBy() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$result = $table->select('name', 'age')
  ->orderBy('name desc')
  ->execute();

$row = $result->fetchAll();
print_r($row);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => Sam
            [age] => 42
        )
    [1] => Array
        (
            [name] => John
            [age] => 42
        )
)


Set select search condition

  • « TableSelect::orderby
  • mysql_xdevapi\TableUpdate »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Set select search condition

TableSelect::where

(Não há informação de versão disponível, talvez apenas no Git)

TableSelect::where — Set select search condition

Descrição

public mysql_xdevapi\TableSelect::where ( string $where_expr ) : mysql_xdevapi\TableSelect

Sets the search condition to filter.

Parâmetros

where_expr

Define the search condition to filter documents or records.

Valor Retornado

A TableSelect object.

Exemplos

Exemplo #1 mysql_xdevapi\TableSelect::where() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$result = $table->select('name','age')
  ->where('name like :name and age > :age')
  ->bind(['name' => 'John', 'age' => 42])
  ->execute();

$row = $result->fetchAll();
print_r($row);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
)


TableUpdate class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

A statement for record update operations on a Table.

Sinopse da classe

mysql_xdevapi\TableUpdate implements mysql_xdevapi\Executable {
/* Métodos */
public bind ( array $placeholder_values ) : mysql_xdevapi\TableUpdate
public execute ( ) : mysql_xdevapi\TableUpdate
public limit ( int $rows ) : mysql_xdevapi\TableUpdate
public orderby ( mixed $orderby_expr , mixed ...$orderby_exprs ) : mysql_xdevapi\TableUpdate
public set ( string $table_field , string $expression_or_literal ) : mysql_xdevapi\TableUpdate
public where ( string $where_expr ) : mysql_xdevapi\TableUpdate
}

Índice

  • TableUpdate::bind — Bind update query parameters
  • TableUpdate::__construct — TableUpdate constructor
  • TableUpdate::execute — Execute update query
  • TableUpdate::limit — Limit update row count
  • TableUpdate::orderby — Set sorting criteria
  • TableUpdate::set — Add field to be updated
  • TableUpdate::where — Set search filter


Bind update query parameters

  • « mysql_xdevapi\TableUpdate
  • TableUpdate::__construct »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • Bind update query parameters

TableUpdate::bind

(Não há informação de versão disponível, talvez apenas no Git)

TableUpdate::bind — Bind update query parameters

Descrição

public mysql_xdevapi\TableUpdate::bind ( array $placeholder_values ) : mysql_xdevapi\TableUpdate

Binds a value to a specific placeholder.

Parâmetros

placeholder_values

The name of the placeholder, and the value to bind, defined as a JSON array.

Valor Retornado

A TableUpdate object.

Exemplos

Exemplo #1 mysql_xdevapi\TableUpdate::bind() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$table->update()
  ->set('status', 'admin')
  ->where('name = :name and age > :age')
  ->bind(['name' => 'Bernie', 'age' => 2000])
  ->execute();

?>


TableUpdate constructor

  • « TableUpdate::bind
  • TableUpdate::execute »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • TableUpdate constructor

TableUpdate::__construct

(Não há informação de versão disponível, talvez apenas no Git)

TableUpdate::__construct — TableUpdate constructor

Descrição

private mysql_xdevapi\TableUpdate::__construct ( )

Initiated by using the update() method.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\TableUpdate::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$res = $table->update()
  ->set('level', 3)
  ->where('age > 15 and age < 22')
  ->limit(4)
  ->orderby(['age asc','name desc'])
  ->execute();

?>


Execute update query

  • « TableUpdate::__construct
  • TableUpdate::limit »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • Execute update query

TableUpdate::execute

(Não há informação de versão disponível, talvez apenas no Git)

TableUpdate::execute — Execute update query

Descrição

public mysql_xdevapi\TableUpdate::execute ( ) : mysql_xdevapi\TableUpdate

Executes the update statement.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A TableUpdate object.

Exemplos

Exemplo #1 mysql_xdevapi\TableUpdate::execute() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$res = $table->update()
  ->set('level', 3)
  ->where('age > 15 and age < 22')
  ->limit(4)
  ->orderby(['age asc','name desc'])
  ->execute();

?>


Limit update row count

  • « TableUpdate::execute
  • TableUpdate::orderby »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • Limit update row count

TableUpdate::limit

(Não há informação de versão disponível, talvez apenas no Git)

TableUpdate::limit — Limit update row count

Descrição

public mysql_xdevapi\TableUpdate::limit ( int $rows ) : mysql_xdevapi\TableUpdate

Set the maximum number of records or documents update.

Parâmetros

rows

The maximum number of records or documents to update.

Valor Retornado

A TableUpdate object.

Exemplos

Exemplo #1 mysql_xdevapi\TableUpdate::limit() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$res = $table->update()
  ->set('level', 3)
  ->where('age > 15 and age < 22')
  ->limit(4)
  ->orderby(['age asc','name desc'])
  ->execute();

?>


Set sorting criteria

  • « TableUpdate::limit
  • TableUpdate::set »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • Set sorting criteria

TableUpdate::orderby

(Não há informação de versão disponível, talvez apenas no Git)

TableUpdate::orderby — Set sorting criteria

Descrição

public mysql_xdevapi\TableUpdate::orderby ( mixed $orderby_expr , mixed ...$orderby_exprs ) : mysql_xdevapi\TableUpdate

Sets the sorting criteria.

Parâmetros

orderby_expr

The expressions that define the order by criteria. Can be an array with one or more expressions, or a string.

orderby_exprs

Additional sort_expr parameters.

Valor Retornado

TableUpdate object.

Exemplos

Exemplo #1 mysql_xdevapi\TableUpdate::orderby() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$res = $table->update()
  ->set('level', 3)
  ->where('age > 15 and age < 22')
  ->limit(4)
  ->orderby(['age asc','name desc'])
  ->execute();
?>


Add field to be updated

  • « TableUpdate::orderby
  • TableUpdate::where »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • Add field to be updated

TableUpdate::set

(Não há informação de versão disponível, talvez apenas no Git)

TableUpdate::set — Add field to be updated

Descrição

public mysql_xdevapi\TableUpdate::set ( string $table_field , string $expression_or_literal ) : mysql_xdevapi\TableUpdate

Updates the column value on records in a table.

Parâmetros

table_field

The column name to be updated.

expression_or_literal

The value to be set on the specified column.

Valor Retornado

TableUpdate object.

Exemplos

Exemplo #1 mysql_xdevapi\TableUpdate::set() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$res = $table->update()
  ->set('level', 3)
  ->where('age > 15 and age < 22')
  ->limit(4)
  ->orderby(['age asc','name desc'])
  ->execute();

?>


Set search filter

  • « TableUpdate::set
  • mysql_xdevapi\Warning »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • Set search filter

TableUpdate::where

(Não há informação de versão disponível, talvez apenas no Git)

TableUpdate::where — Set search filter

Descrição

public mysql_xdevapi\TableUpdate::where ( string $where_expr ) : mysql_xdevapi\TableUpdate

Set the search condition to filter.

Parâmetros

where_expr

The search condition to filter documents or records.

Valor Retornado

A TableUpdate object.

Exemplos

Exemplo #1 mysql_xdevapi\TableUpdate::where() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$res = $table->update()
  ->set('level', 3)
  ->where('age > 15 and age < 22')
  ->limit(4)
  ->orderby(['age asc','name desc'])
  ->execute();

?>


Warning class

(PECL mysql-xdevapi >= 8.0.11)

Introdução

Sinopse da classe

mysql_xdevapi\Warning {
/* Propriedades */
public $message ;
public $level ;
public $code ;
/* Constructor */
private __construct ( )
}

Propriedades

message

level

code

Índice

  • Warning::__construct — Warning constructor


Warning constructor

  • « mysql_xdevapi\Warning
  • MySQL »
  • PHP Manual
  • mysql_xdevapi\Warning
  • Warning constructor

Warning::__construct

(Não há informação de versão disponível, talvez apenas no Git)

Warning::__construct — Warning constructor

Descrição

private mysql_xdevapi\Warning::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 mysql_xdevapi\Warning::__construct() example

<?php

/* ... */

?>


MySQL

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Exemplo de uso da extensão MySQL
  • Funções da MySQL
    • mysql_affected_rows — Obtém o número de linhas afetadas na operação anterior do MySQL
    • mysql_client_encoding — Retorna o nome do conjunto de caracteres
    • mysql_close — Fecha a conexão MySQL
    • mysql_connect — Abre uma conexão com um servidor MySQL
    • mysql_create_db — Cria um banco de dados MySQL
    • mysql_data_seek — Move o ponteiro interno do resultado
    • mysql_db_name — Obtém o nome do banco de dados a partir da chamada à mysql_list_dbs
    • mysql_db_query — Envia uma consulta MySQL
    • mysql_drop_db — Drop (exclui) um banco de dados MySQL
    • mysql_errno — Retorna o valor numérico da mensagem de erro da operação MySQL anterior
    • mysql_error — Retorna o texto da mensagem de erro da operação MySQL anterior
    • mysql_escape_string — Escapa uma string para usar em uma consulta MySQL
    • mysql_fetch_array — Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas
    • mysql_fetch_assoc — Obtém uma linha do resultado como um array associativo
    • mysql_fetch_field — Obtém informações sobre uma coluna de um resultado e retorna como um objeto
    • mysql_fetch_lengths — Obtém o tamanho de cada saída de um resultado
    • mysql_fetch_object — Obtém o resultado de uma linha como um objeto
    • mysql_fetch_row — Obtém uma linha como um array numérico
    • mysql_field_flags — Obtém as flags associadas ao campo especificado em um resultado
    • mysql_field_len — Retorna o tamanho do campo especificado
    • mysql_field_name — Obtém o nome do campo especificado em um resultado
    • mysql_field_seek — Define o ponteiro do resultado para o índice de campo especificado
    • mysql_field_table — Obtém o nome da tabela na qual o campo especificado esta
    • mysql_field_type — Obtém o tipo do campo especificado em um resultado
    • mysql_free_result — Libera um resultado da memória
    • mysql_get_client_info — Obtém informações do cliente MySQL
    • mysql_get_host_info — Obtém informações do servidor MySQL
    • mysql_get_proto_info — Obtém informações do protocolo MySQL
    • mysql_get_server_info — Obtém informações do servidor MySQL
    • mysql_info — Obtém informação sobre a consulta mais recente
    • mysql_insert_id — Obtém o ID gerado pela operação INSERT anterior
    • mysql_list_dbs — Lista os bancos de dados disponíveis em um servidor MySQL
    • mysql_list_fields — Lista os campos de uma tabela MySQL
    • mysql_list_processes — Lista os processos MySQL
    • mysql_list_tables — Lista as tabelas em um banco de dados MySQL
    • mysql_num_fields — Obtém o numero de campos em um resultado
    • mysql_num_rows — Obtém o número de linhas em um resultado
    • mysql_pconnect — Abre uma conexão persistente com um servidor MySQL
    • mysql_ping — Pinga uma conexão com o servidor ou reconecta se não houver conexão
    • mysql_query — Envia uma consulta MySQL
    • mysql_real_escape_string — Escapa os caracteres especiais numa string para usar em um comando SQL, levando em conta o conjunto atual de caracteres.
    • mysql_result — Retorna dados do resultado
    • mysql_select_db — Seleciona um banco de dados MySQL
    • mysql_set_charset — Sets the client character set
    • mysql_stat — Retorna o status atual do sistema
    • mysql_tablename — Retorna o nome da tabela do campo
    • mysql_thread_id — Returna o ID da thread atual
    • mysql_unbuffered_query — Envia uma query para o MySQL, sem retornar e colocar em buffer as linhas do resultado


Introdução

Estas funções permitem a você acessar os servidoes de banco de dados MySQL. maiores informações sobre o MySQL podem ser encontradas em » http://www.mysql.com/.

A documentação para o MySQL pode ser encontrada em » http://dev.mysql.com/doc/.


Dependências

Para ter estas funções disponíveis, você deve compilar o PHP com suporte ao MySQL.

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:


Instalação

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

Para compilar, simplesmente use a opção de configuração --with-mysql[=DIR] onde o parâmetro opcional [DIR] aponta para o diretório onde o MySQL está instalado.

Mesmo sendo esta extensão MySQL compatível com o MySQL 4.1.0 e posterior, ela não suporta a funcionalidade extra que estas versões fornecem. Para isto, use a extensão MySQLi.

Se você quiser instalar a extensão mysql junto com a extensão mysqli você deve usar a mesma biblioteca de cliente para evitar quaisquer conflitos.

Instalação em Sistemas Linux

Nota: [DIR] é o caminho para os arquivos da biblioteca de cliente MySQL (headers e bibliotecas), que podem ser baixados do site do » MySQL.

tabela de suporte em tempo de compilação da ext/mysql
Versão do PHP | Padrão | Opções de Configuração: mysqlnd | Opções de Configuração: libmysqlclient | Changelog
4.x.x | libmysqlclient | Não Disponível | --without-mysql para desabilitar | MySQL habilitado por padrão, bibliotecas de clientes MySQL vêm embutidas
5.0.x, 5.1.x, 5.2.x | libmysqlclient | Não Disponível | --with-mysql=[DIR] | O MySQL não é mais habilitado por padrão, e as bibliotecas de clientes MySQL não vêm mais embutidas
5.3.x | libmysqlclient | --with-mysql=mysqlnd | --with-mysql=[DIR] | mysqlnd agora está disponível
5.4.x | mysqlnd | --with-mysql | --with-mysql=[DIR] | mysqlnd agora é o padrão

Instalação em Sistemas Windows

PHP 5.0.x, 5.1.x, 5.2.x

O MySQL não é mais habilitado por padrão, então a DLL php_mysql.dll deve estar habilitada dentro do php.ini. Além disso, o PHP precisa de acesso à biblioteca de cliente MySQL. Um arquivo chamado libmysql.dll é incluído na distribuição PHP do Windows, e para que o PHP possa conversar com o MySQL este arquivo precisa estar disponível no PATH dos sistemas Windows. Veja a pergunta entitulada "Como adicionar meu diretório PHP ao PATH do Windows" para informações sobre como fazer isso. Embora copiar o arquivo libmysql.dll para o diretório de sistema do Windows também funcione (porque o diretório de sistema está por padrão no PATH do sistema), isto não é recomendado.

Assim como ao habilitar qualquer extensão PHP (como php_mysql.dll), a diretiva PHP extension_dir deve apontar para o diretório onde as extensões PHP estão localizadas. Veja também as Instruções para Instalação Manual no Windows. Um exemplo de valor para extension_dir no PHP 5 é c:\php\ext

Nota:

Se ao iniciar o servidor web um erro similar ao seguinte ocorrer: "Unable to load dynamic library './php_mysql.dll'", é porque o arquivo php_mysql.dll e/ou libmysql.dll não pode ser encontrado pelo sistema.

PHP 5.3.0+

O Driver Nativo MySQL está habilitado por padrão. Inclui php_mysql.dll, mas libmysql.dll não é mais necessário ou usado.

Notas de Instalação do MySQL

Aviso

Falhas e problemas de inicialização do PHP podem ocorrer ao carregar esta extensão em conjunto com a extensão recode. Veja a extensão recode para maiores informações.

Nota:

Se você precisar de charsets diferentes de latin (padrão), você terá que instalar uma libmysqlclient externa (não embutida) com o suporte compilado ao charset.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração do MySQL
Nome | Padrão | Modificável | Changelog
mysql.allow_local_infile | "1" | PHP_INI_SYSTEM |
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL | Disponível desde o PHP 4.3.0.
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | Disponível desde o PHP 4.0.1.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP_INI_SYSTEM no PHP <= 4.3.2. Disponível desde o PHP 4.3.0.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

mysql.allow_local_infile inteiro

Permite acessar, da perspectiva do PHP, arquivos locais com declarações LOAD DATA

mysql.allow_persistent booleano

Se deve permitir conexões persistentes para MySQL.

mysql.max_persistent integer

O número máximo de conexões persistentes com o MySQL por processo.

mysql.max_links integer

O número maximo de conexões com o MYSQL por processo, incluindo conexões persistentes.

mysql.trace_mode boolean

Trace mode. Quando mysql.trace_mode esta ativado, avisos para procuras table/index scans, conjuntos de resultados não liberados, e erros de SQL serão exibidos. (Introduzido no PHP 4.3.0)

mysql.default_port string

O número padrão da porta TCP a usar quando conectar com o servidor do banco de dados se nenhuma outra porta for especificada. Se nenhum padrão for especificado, a porta será obtida da variavel de ambiente MYSQL_TCP_PORT, da entrada mysql-tcp em /etc/services ou da constante da compilação MYSQL_PORT, nesta ordem. Windows irá usar somente a constante MYSQL_PORT.

mysql.default_socket string

O nome padrão do socket para usar quando conectar com um servidor de banco de dados local se outro nome de socket não for especificado.

mysql.default_host string

O servidor padrão para usar quando conectar com um servidor de banco de dados se outro servidor não for encontrado. Não se aplica em Modo seguro de SQL.

mysql.default_user string

O nome padrão de usuário para conectar ao servidor de banco de dados se outro nome não for especificado. Não se aplica em Modo seguro de SQL.

mysql.default_password string

A senha padrão para usar ao conectar ao servidor de banco de dados se outra senha não for especificada. Não se aplica em Modo seguro de SQL.

mysql.connect_timeout integer

Limite de tempo da conexão em segundos. No Linux este limite é também usado para a espera da primeira resposta do servidor.


Tipos de Recurso

Existem dois tipos de recursos usados no módulo MySQL. O primeiro é o identificador de conexão com o banco de dados, e o segundo é o recurso que guarda o resultado de uma consulta.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Desde PHP 4.3.0 é possivel especificar opções adicionais para as funções mysql_connect() and mysql_pconnect() As seguintes constantes são definidas:

Constante do cliente MySQL
Constante | Descrição
MYSQL_CLIENT_COMPRESS | Usa o protocolo de compressão
MYSQL_CLIENT_IGNORE_SPACE | Permite espaço após o nome de função
MYSQL_CLIENT_INTERACTIVE | Permite interactive_timeout segundos (ao inves de wait_timeout) de inatividade antes de fechar a conexão.
MYSQL_CLIENT_SSL | Usar encriptação SSL. Esta opção esta disponível apenas com a versão 4.x da biblioteca de cliente MySQL ou mais nova. A versão 3.23.x é distribuida com o PHP 4 e com os binários Windows do PHP 5.

A função mysql_fetch_array() usa uma constante para cada diferentes tipos de matrizes de resultado. As seguintes constantes são definidas:

Constantes de fetch do MySQL
Constante | Descrição
MYSQL_ASSOC | As colunas são retornadas na matriz tendo o nome do campo como índice da matriz.
MYSQL_BOTH | As colunas são retornadas na matriz tendo ambos os indices: um numérico e o um com o nome do campo.
MYSQL_NUM | As colunas são retornadas numa matriz tendo um indice numérico dos campos. Este indice começa com 0, o primeiro campo no resultado.


  • « Constantes pré-definidas
  • Exemplo de uso da extensão MySQL »
  • PHP Manual
  • MySQL
  • Exemplos

Exemplos

Índice

  • Exemplo de uso da extensão MySQL


Exemplo de uso da extensão MySQL

Este exemplo simples mostra como conectar, executar uma consulta, mostrar as linhas do resultado e disconectar de um banco de dados MySQL.

Exemplo #1 Exemplo de uso da extensão MySQL

<?php
// Connecting, selecting database
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('my_database') or die('Could not select database');

// Performing SQL query
$query = 'SELECT * FROM my_table';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

// Printing results in HTML
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Free resultset
mysql_free_result($result);

// Closing connection
mysql_close($link);
?>


Funções da MySQL

Notas

Nota:

A maioria das funções MySQL aceitam link_identifier como o último parâmetro opcional. Se este não for dados, a última conexão aberta é usada. Se não existir, é tentado estabelecer uma conexão com os valores padrão definidos no php.ini. Se não for possível, a função retornará false.

Índice

  • mysql_affected_rows — Obtém o número de linhas afetadas na operação anterior do MySQL
  • mysql_client_encoding — Retorna o nome do conjunto de caracteres
  • mysql_close — Fecha a conexão MySQL
  • mysql_connect — Abre uma conexão com um servidor MySQL
  • mysql_create_db — Cria um banco de dados MySQL
  • mysql_data_seek — Move o ponteiro interno do resultado
  • mysql_db_name — Obtém o nome do banco de dados a partir da chamada à mysql_list_dbs
  • mysql_db_query — Envia uma consulta MySQL
  • mysql_drop_db — Drop (exclui) um banco de dados MySQL
  • mysql_errno — Retorna o valor numérico da mensagem de erro da operação MySQL anterior
  • mysql_error — Retorna o texto da mensagem de erro da operação MySQL anterior
  • mysql_escape_string — Escapa uma string para usar em uma consulta MySQL
  • mysql_fetch_array — Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas
  • mysql_fetch_assoc — Obtém uma linha do resultado como um array associativo
  • mysql_fetch_field — Obtém informações sobre uma coluna de um resultado e retorna como um objeto
  • mysql_fetch_lengths — Obtém o tamanho de cada saída de um resultado
  • mysql_fetch_object — Obtém o resultado de uma linha como um objeto
  • mysql_fetch_row — Obtém uma linha como um array numérico
  • mysql_field_flags — Obtém as flags associadas ao campo especificado em um resultado
  • mysql_field_len — Retorna o tamanho do campo especificado
  • mysql_field_name — Obtém o nome do campo especificado em um resultado
  • mysql_field_seek — Define o ponteiro do resultado para o índice de campo especificado
  • mysql_field_table — Obtém o nome da tabela na qual o campo especificado esta
  • mysql_field_type — Obtém o tipo do campo especificado em um resultado
  • mysql_free_result — Libera um resultado da memória
  • mysql_get_client_info — Obtém informações do cliente MySQL
  • mysql_get_host_info — Obtém informações do servidor MySQL
  • mysql_get_proto_info — Obtém informações do protocolo MySQL
  • mysql_get_server_info — Obtém informações do servidor MySQL
  • mysql_info — Obtém informação sobre a consulta mais recente
  • mysql_insert_id — Obtém o ID gerado pela operação INSERT anterior
  • mysql_list_dbs — Lista os bancos de dados disponíveis em um servidor MySQL
  • mysql_list_fields — Lista os campos de uma tabela MySQL
  • mysql_list_processes — Lista os processos MySQL
  • mysql_list_tables — Lista as tabelas em um banco de dados MySQL
  • mysql_num_fields — Obtém o numero de campos em um resultado
  • mysql_num_rows — Obtém o número de linhas em um resultado
  • mysql_pconnect — Abre uma conexão persistente com um servidor MySQL
  • mysql_ping — Pinga uma conexão com o servidor ou reconecta se não houver conexão
  • mysql_query — Envia uma consulta MySQL
  • mysql_real_escape_string — Escapa os caracteres especiais numa string para usar em um comando SQL, levando em conta o conjunto atual de caracteres.
  • mysql_result — Retorna dados do resultado
  • mysql_select_db — Seleciona um banco de dados MySQL
  • mysql_set_charset — Sets the client character set
  • mysql_stat — Retorna o status atual do sistema
  • mysql_tablename — Retorna o nome da tabela do campo
  • mysql_thread_id — Returna o ID da thread atual
  • mysql_unbuffered_query — Envia uma query para o MySQL, sem retornar e colocar em buffer as linhas do resultado


Obtém o número de linhas afetadas na operação anterior do MySQL

  • « Funções da MySQL
  • mysql_client_encoding »
  • PHP Manual
  • Funções da MySQL
  • Obtém o número de linhas afetadas na operação anterior do MySQL

mysql_affected_rows

(PHP 4, PHP 5)

mysql_affected_rows — Obtém o número de linhas afetadas na operação anterior do MySQL

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_affected_rows()
  • PDOStatement::rowCount()

Descrição

mysql_affected_rows ( resource $link_identifier = NULL ) : int

Obtém o número de linhas afetadas pelo último INSERT, UPDATE, REPLACE ou DELETE associado ao link_identifier.

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retona o número de linas afetadas em caso de sucesso, e -1 se a última consulta falhou.

Se a última consulta foi um DELETE sem a claúsula WHERE, todos os registros terão sido excluídos da tabela mas esta função irá retornar zero em versões do MySQL anteriores a 4.1.2.

Ao usar UPDATE, o MySQL não irá atualizar colunas aonde o novo valor é o mesmo que o valor anterior. Isto cria a possibilidade de que mysql_affected_rows() possa não ser igual ao número de linhas encontradas, apenas o número de linhas que literalmente foram afetadas pela consulta.

O comando REPLACE primeiro exclui o registro com a mesma chave primária e então insere o novo registro. Esta função retorna o número de registros excluídos mais o número de registros inseridos.

No caso de consultas "INSERT ... ON DUPLICATE KEY UPDATE", o valor retornado será 1 se um insert foi executado, ou 2 para um update de uma linha existente.

Exemplos

Exemplo #1 Exemplo mysql_affected_rows()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

/* this should return the correct numbers of deleted records */
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Records deleted: %d\n", mysql_affected_rows());

/* with a where clause that is never true, it should return 0 */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Records deleted: %d\n", mysql_affected_rows());
?>

O exemplo acima irá imprimir algo similar à:

Records deleted: 10
Records deleted: 0

Exemplo #2 Exemplo de mysql_affected_rows() usando transações

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

/* Update records */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Updated records: %d\n", mysql_affected_rows());
mysql_query("COMMIT");
?>

O exemplo acima irá imprimir algo similar à:

Updated Records: 10

Notas

Nota: Transações

Se você estiver usando transações, você deve utilizar mysql_affected_rows() depois da sua consulta INSERT, UPDATE, ou DELETE, não depois de COMMIT.

Nota: Comandos SELECT

Para obter o número de linhas retornados por um SELECT, é possível usar mysql_num_rows().

Nota: Chaves estrangeiras em cascata

mysql_affected_rows() não conta linhas afetadas implicitamente pelo uso de ON DELETE CASCADE e/ou ON UPDATE CASCADE em chaves estrangeiras.

Veja Também

  • mysql_num_rows() - Obtém o número de linhas em um resultado
  • mysql_info() - Obtém informação sobre a consulta mais recente


Retorna o nome do conjunto de caracteres

  • « mysql_affected_rows
  • mysql_close »
  • PHP Manual
  • Funções da MySQL
  • Retorna o nome do conjunto de caracteres

mysql_client_encoding

(PHP 4 >= 4.3.0, PHP 5)

mysql_client_encoding — Retorna o nome do conjunto de caracteres

Descrição

mysql_client_encoding ( resource $link_identifier = ? ) : string

Obtém a variável character_set do MySQL.

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retorna o conjunto de caracteres padrão da conexão atual.

Exemplos

Exemplo #1 Exemplo mysql_client_encoding()

<?php
$link    = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$charset = mysql_client_encoding($link);

echo "O conjunto de caracteres atual é: $charset\n";
?>

O exemplo acima irá imprimir algo similar à:

O conjunto de caracteres atual é: latin1

Veja Também

  • mysql_real_escape_string() - Escapa os caracteres especiais numa string para usar em um comando SQL, levando em conta o conjunto atual de caracteres.


Fecha a conexão MySQL

  • « mysql_client_encoding
  • mysql_connect »
  • PHP Manual
  • Funções da MySQL
  • Fecha a conexão MySQL

mysql_close

(PHP 4, PHP 5)

mysql_close — Fecha a conexão MySQL

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_close()
  • PDO: Assign the value of null to the PDO object

Descrição

mysql_close ( resource $link_identifier = NULL ) : bool

mysql_close() fecha a conexão não persistente ao servidor MySQL que está associado ao identificador de conexão especificado. Se link_identifier não for especificado, a última conexão aberta é usada.

Conexões não persistentes ao MySQL e resultsets são automaticamente destruídos quando um script PHP finaliza. Fechar explicitamente conexões abertas e liberar resultsets é opcional, mas fazê-los é recomendado. Isto imediatamente devolve recursos ao PHP e MySQL, o que pode melhorar a performance. Para mais informações veja liberação de recursos

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir ou for estabelecida, um erre nível E_WARNING será gerado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo mysql_close()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

O exemplo acima irá imprimir:

Connected successfully

Notas

Nota:

mysql_close() não irá fechar conexões persistentes criadas por mysql_pconnect(). Para detalhes adicionais, veja o manual em persistent connections.

Veja Também

  • mysql_connect() - Abre uma conexão com um servidor MySQL
  • mysql_free_result() - Libera um resultado da memória


Abre uma conexão com um servidor MySQL

  • « mysql_close
  • mysql_create_db »
  • PHP Manual
  • Funções da MySQL
  • Abre uma conexão com um servidor MySQL

mysql_connect

(PHP 4, PHP 5)

mysql_connect — Abre uma conexão com um servidor MySQL

Descrição

mysql_connect ( string $server = ? , string $username = ? , string $password = ? , bool $new_link = ? , int $client_flags = ? ) : resource

Abre ou reutiliza uma conexão com um servidor MySQL.

Parâmetros

server

O servidor MySQL. Também pode incluir um número de porta, exemplo "servidor:porta" ou um caminho para um socket local, exemplo ":/caminho/para/socket" para o servidor local(localhost).

Se a diretiva do PHP mysql.default_host não estiver definida(padrão), então o valor padrão é 'localhost:3306'

username

O nome de usuário. O valor padrão é o nome do usuário que é o proprietário do processo do servidor.

password

A senha. O valor padrão é uma senha vazia.

new_link

Se uma segunda chamada é feita a mysql_connect() com os mesmos argumentos, não é estabelecida uma nova conexão, mas ao invés, o identificador da conexão que já esta aberta é retornado. O parâmetro new_link modifica este funcionamento e faz mysql_connect() sempre abrir uma nova conexão, mesmo que mysql_connect() seja chamado antes com os mesmos parâmetros.

client_flags

O parâmetro client_flags pode ser uma combinação das seguintes constantes: MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE ou MYSQL_CLIENT_INTERACTIVE. Leia a seção sobre Constante do cliente MySQL para maiores informações.

Valor Retornado

Retorna um identificador de conexão MySQL em caso de sucesso, ou false em caso de falha.

Changelog

Versão | Descrição
4.3.0 | Adicionado o parâmetro client_flags.
4.2.0 | Adicionado o parâmetro new_link.
3.0.10 | Adicionado o suporte para ":/caminho/para/socket" com server.
3.0.0 | Adicionado o suporte para ":porta" com server.

Exemplos

Exemplo #1 Exemplo mysql_connect()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Não foi possível conectar: ' . mysql_error());
}
echo 'Conexão bem sucedida';
mysql_close($link);
?>

Exemplo #2 Exemplo mysql_connect() usando a a sintaxe servidor:porta

<?php
// nós conectamos com example.com na porta 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Não foi possível conectar: ' . mysql_error());
}
echo 'Conexão bem sucedida';
mysql_close($link);

// nós conectamos com localhost na porta 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Não foi possível conectar: ' . mysql_error());
}
echo 'Conexão bem sucedida';
mysql_close($link);
?>

Exemplo #3 Exemplo mysql_connect() usando a sintaxe ":/caminho/para/socket"

<?php
// nós conectamos com localhost e socket exemplo /tmp/mysql.sock

//variação 1: omitindo localhost
$link = mysql_connect('/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Não foi possível conectar: ' . mysql_error());
}
echo 'Conexão bem sucedida';
mysql_close($link);

// variant 2: with localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Não foi possível conectar: ' . mysql_error());
}
echo 'Conexão bem sucedida';
mysql_close($link);
?>

Notas

Nota:

Em qualquer lugar que você especificar "localhost" ou "localhost:porta" como servidor, a biblioteca de cliente do MySQL irá sobrescrever isso e tentar conectar com um socket local (named pipe no Windows). Se você quiser usar TCP/IP, use "127.0.0.1" ao invés de "localhost". Se a biblioteca de cliente do MySQL tentar conectar com o socket local errado, você deverá definir o caminho correto como na sua configuração do PHP e deixar o campo servidor em branco.

Nota:

A conexão com o servidor será fechada assim que a execução do script terminar, a menos que tenha sido fechada anteriormente usando-se explicitamente mysql_close().

Nota:

Você pode suprimir a mensagem de erro em caso de falha adicionando ante do nome da função @.

Veja Também

  • mysql_pconnect() - Abre uma conexão persistente com um servidor MySQL
  • mysql_close() - Fecha a conexão MySQL


Cria um banco de dados MySQL

  • « mysql_connect
  • mysql_data_seek »
  • PHP Manual
  • Funções da MySQL
  • Cria um banco de dados MySQL

mysql_create_db

(PHP 4, PHP 5)

mysql_create_db — Cria um banco de dados MySQL

Aviso

Esta função está obsoleta desde o PHP 4.3.0 e toda a extensão MySQL original foi removida no PHP 7.0.0. Alternativamente utilize as extensões MySQLi ou PDO_MySQL. Veja também MySQL: escolhendo uma API e a FAQ relacionada para mais informações. Alternatives to this function include:

  • mysqli_query()
  • PDO::query()

Descrição

mysql_create_db ( string $database_name , resource $link_identifier = NULL ) : bool

mysql_create_db() tenta criar um novo banco de dados no servidor associado com o identificador de conexão especificado.

Parâmetros

database_name

O nome do banco de dados a ser criado.

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo alternativo de mysql_create_db()

A função mysql_create_db() está obsoleta. É preferível usar a função mysql_query() para executar o comando CREATE DATABASE.

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

$sql = 'CREATE DATABASE my_db';
if (mysql_query($sql, $link)) {
    echo "Database my_db created successfully\n";
} else {
    echo 'Error creating database: ' . mysql_error() . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

Database my_db created successfully

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_createdb()

Nota:

Esta função não estará disponível se a extensão MySQL foi compilada com a versão MySQL 4.x da biblioteca de cliente.

Veja Também

  • mysql_query() - Envia uma consulta MySQL
  • mysql_select_db() - Seleciona um banco de dados MySQL


Move o ponteiro interno do resultado

  • « mysql_create_db
  • mysql_db_name »
  • PHP Manual
  • Funções da MySQL
  • Move o ponteiro interno do resultado

mysql_data_seek

(PHP 4, PHP 5)

mysql_data_seek — Move o ponteiro interno do resultado

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_data_seek()
  • PDO::FETCH_ORI_ABS

Descrição

mysql_data_seek ( resource $result , int $row_number ) : bool

mysql_data_seek() move o ponteiro interno da linha de um resultado MySQL associado ao identificador de resultado informado para o número da linha especificada. A próxima chamada a uma função MySQL que retorna resultado, como mysql_fetch_assoc(), irá retornar esta linha.

row_number começa em 0. O row_number deve ser um valor no intervalo de 0 a mysql_num_rows() - 1. Entretanto, se o conjunto de reseultados for vazio (mysql_num_rows() == 0), uma busca para 0 irá falhar com um E_WARNING e mysql_data_seek() iá retornar false.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

row_number

O número de linha desejado para o ponteiro de resultado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo mysql_data_seek()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db('sample_db');
if (!$db_selected) {
    die('Could not select database: ' . mysql_error());
}
$query = 'SELECT last_name, first_name FROM friends';
$result = mysql_query($query);
if (!$result) {
    die('Query failed: ' . mysql_error());
}
/* fetch rows in reverse order */
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
    if (!mysql_data_seek($result, $i)) {
        echo "Cannot seek to row $i: " . mysql_error() . "\n";
        continue;
    }

    if (!($row = mysql_fetch_assoc($result))) {
        continue;
    }

    echo $row['last_name'] . ' ' . $row['first_name'] . "<br />\n";
}

mysql_free_result($result);
?>

Notas

Nota:

A função mysql_data_seek() pode ser usada apenas em conjunto com a função mysql_query(), não com mysql_unbuffered_query().

Veja Também

  • mysql_query() - Envia uma consulta MySQL
  • mysql_num_rows() - Obtém o número de linhas em um resultado
  • mysql_fetch_row() - Obtém uma linha como um array numérico
  • mysql_fetch_assoc() - Obtém uma linha do resultado como um array associativo
  • mysql_fetch_array() - Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas
  • mysql_fetch_object() - Obtém o resultado de uma linha como um objeto


Obtém o nome do banco de dados a partir da chamada à mysql_list_dbs

  • « mysql_data_seek
  • mysql_db_query »
  • PHP Manual
  • Funções da MySQL
  • Obtém o nome do banco de dados a partir da chamada à mysql_list_dbs

mysql_db_name

(PHP 4, PHP 5)

mysql_db_name — Obtém o nome do banco de dados a partir da chamada à mysql_list_dbs()

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • Query: SELECT DATABASE()

Descrição

mysql_db_name ( resource $result , int $row , mixed $field = NULL ) : string

Obtém o nome do banco de dados a partir de uma chamada à mysql_list_dbs().

Parâmetros

result

O ponteiro de resultado de uma chamada à mysql_list_dbs().

row

O índice dentro do conjunto de resultados.

field

O nome do campo.

Valor Retornado

Retorna o nome do banco de dados em caso de sucesso, e false em caso de falha. Se for retornado false, utilize mysql_error() para determinar a natureza do erro.

Changelog

Versão | Descrição
5.5.0 | A função mysql_list_dbs() está obsoleta e emite um aviso de nível E_DEPRECATED.

Exemplos

Exemplo #1 Exemplo mysql_db_name()

<?php
error_reporting(E_ALL);

$link = mysql_connect('dbhost', 'username', 'password');
$db_list = mysql_list_dbs($link);

$i = 0;
$cnt = mysql_num_rows($db_list);
while ($i < $cnt) {
    echo mysql_db_name($db_list, $i) . "\n";
    $i++;
}
?>

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_dbname()

Veja Também

  • mysql_list_dbs() - Lista os bancos de dados disponíveis em um servidor MySQL
  • mysql_tablename() - Retorna o nome da tabela do campo


Envia uma consulta MySQL

  • « mysql_db_name
  • mysql_drop_db »
  • PHP Manual
  • Funções da MySQL
  • Envia uma consulta MySQL

mysql_db_query

(PHP 4, PHP 5)

mysql_db_query — Envia uma consulta MySQL

Descrição

mysql_db_query ( string $database , string $query , resource $link_identifier = ? ) : resource

mysql_db_query() seleciona um banco de dados, e executa uma consulta nele.

Parâmetros

database

O nome do banco de dados que será selecionado.

query

A consulta MySQL.

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retorna um recurso de resultado MySQL com o resultado da consulta, ou false em caso de erro. A função também retorna true/false para consultas INSERT/UPDATE/DELETE para indicar sucesso/falha.

Changelog

Versão | Descrição
4.0.6 | Esta função é obsoleta, não use esta função. Use mysql_select_db() e mysql_query() ao invés.

Exemplos

Exemplo #1 Exemplo alternativo mysql_db_query()

<?php

if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Não foi possível conectar ao mysql';
    exit;
}

if (!mysql_select_db('mysql_dbname', $link)) {
    echo 'Não foi possível selecionar o banco de dados';
    exit;
}

$sql    = 'SELECT foo FROM bar WHERE id = 42';
$result = mysql_query($sql, $link);

if (!$result) {
    echo "Erro do banco de dados, não foi possível consultar o banco de dados\n";
    echo 'Erro MySQL: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_assoc($result)) {
    echo $row['foo'];
}

mysql_free_result($result);

?>

Notas

Nota:

Tenha cuidado que esta função NÃO muda de volta para o banco de dados que você estava conectado antes. Em outras palavras, você não pode usar esta função para temporariamente executar uma consulta sql em outro banco de dados, você deverá manualmente retornar ao banco de dados anterior. Aos usuários é fortemente recomendado usar a sintaxe bancodedados.tabela nas suas consultas ou mysql_select_db() ao invés desta função.

Veja Também

  • mysql_query() - Envia uma consulta MySQL
  • mysql_select_db() - Seleciona um banco de dados MySQL


Drop (exclui) um banco de dados MySQL

  • « mysql_db_query
  • mysql_errno »
  • PHP Manual
  • Funções da MySQL
  • Drop (exclui) um banco de dados MySQL

mysql_drop_db

(PHP 4, PHP 5)

mysql_drop_db — Drop (exclui) um banco de dados MySQL

Aviso

Esta função está obsoleta desde o PHP 4.3.0 e toda a extensão MySQL original foi removida no PHP 7.0.0. Alternativamente utilize as extensões MySQLi ou PDO_MySQL. Veja também MySQL: escolhendo uma API e a FAQ relacionada para mais informações. Alternatives to this function include:

  • Executa um query DROP DATABASE

Descrição

mysql_drop_db ( string $database_name , resource $link_identifier = NULL ) : bool

mysql_drop_db() tenta executar um drop (remover) todo um banco de dados do servidor associado ao identificador de conexão especificado. Esta função está obsoleta, é preferível usar mysql_query() para realilar um comando DROP DATABASE.

Parâmetros

database_name

O nome do banco de dados que será excluído.

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo alternativo de mysql_drop_db()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

$sql = 'DROP DATABASE my_db';
if (mysql_query($sql, $link)) {
    echo "Database my_db was successfully dropped\n";
} else {
    echo 'Error dropping database: ' . mysql_error() . "\n";
}
?>

Notas

Aviso

Esta função não estará disponível se a extensão MySQL foi compilada com a versão da biblioteca de cliente MySQL 4.x.

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_dropdb()

Veja Também

  • mysql_query() - Envia uma consulta MySQL


Retorna o valor numérico da mensagem de erro da operação MySQL anterior

  • « mysql_drop_db
  • mysql_error »
  • PHP Manual
  • Funções da MySQL
  • Retorna o valor numérico da mensagem de erro da operação MySQL anterior

mysql_errno

(PHP 4, PHP 5)

mysql_errno — Retorna o valor numérico da mensagem de erro da operação MySQL anterior

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_errno()
  • PDO::errorCode()

Descrição

mysql_errno ( resource $link_identifier = NULL ) : int

Retorna o número do erro da última função MySQL.

Erros vindos do banco de dados MySQL não geram mais avisos. Ao invés disso, use mysql_errno() para obter o código do erro. Note que esta função retorna o código apenas da função MySQL mais recentemente usada (não incluindo mysql_error() e mysql_errno()), assim se você quiser usá-la, tenha certeza de verificar o valor antes de executar outra função MySQL.

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retorna o número de erro da última função MySQL, ou 0 (zero) se não houve erro.

Exemplos

Exemplo #1 Exemplo mysql_errno()

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!mysql_select_db("nonexistentdb", $link)) {
    echo mysql_errno($link) . ": " . mysql_error($link). "\n";
}

mysql_select_db("kossu", $link);
if (!mysql_query("SELECT * FROM nonexistenttable", $link)) {
    echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Veja Também

  • mysql_error() - Retorna o texto da mensagem de erro da operação MySQL anterior
  • » códigos de erro MySQL


Retorna o texto da mensagem de erro da operação MySQL anterior

  • « mysql_errno
  • mysql_escape_string »
  • PHP Manual
  • Funções da MySQL
  • Retorna o texto da mensagem de erro da operação MySQL anterior

mysql_error

(PHP 4, PHP 5)

mysql_error — Retorna o texto da mensagem de erro da operação MySQL anterior

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_error()
  • PDO::errorInfo()

Descrição

mysql_error ( resource $link_identifier = NULL ) : string

Retorna o texto do último erro de funções MySQL. Erros vindos do banco de dados MySQL não geram mais avisos. Ao invés, use mysql_error() para obter o texto do erro. Note que esta função apenas retorna o texto do erro da função MySQL mais recentemente executada (não incluindo mysql_error() e mysql_errno()), assim se você quiser usa-la, tenha certeza de obter o valor antes de utilizar outra função MySQL.

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retorna o texto do erro da ultima função MySQL, ou '' (uma string vazia) se não houve erro.

Exemplos

Exemplo #1 Exemplo mysql_error()

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("nonexistentdb", $link);
echo mysql_errno($link) . ": " . mysql_error($link). "\n";

mysql_select_db("kossu", $link);
mysql_query("SELECT * FROM nonexistenttable", $link);
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
?>

O exemplo acima irá imprimir algo similar à:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Veja Também

  • mysql_errno() - Retorna o valor numérico da mensagem de erro da operação MySQL anterior
  • » códigos de erro MySQL


Escapa uma string para usar em uma consulta MySQL

  • « mysql_error
  • mysql_fetch_array »
  • PHP Manual
  • Funções da MySQL
  • Escapa uma string para usar em uma consulta MySQL

mysql_escape_string

(PHP 4 >= 4.0.3, PHP 5)

mysql_escape_string — Escapa uma string para usar em uma consulta MySQL

Descrição

mysql_escape_string ( string $unescaped_string ) : string

This function will escape the unescaped_string, so that it is safe to place it in a mysql_query(). This function is deprecated.

This function is identical to mysql_real_escape_string() except that mysql_real_escape_string() takes a connection handler and escapes the string according to the current character set. mysql_escape_string() does not take a connection argument and does not respect the current charset setting.

Parâmetros

unescaped_string

The string that is to be escaped.

Valor Retornado

Returns the escaped string.

Changelog

Versão | Descrição
4.3.0 | This function became deprecated, do not use this function. Instead, use mysql_real_escape_string().

Exemplos

Exemplo #1 mysql_escape_string() example

<?php
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf("Escaped string: %s\n", $escaped_item);
?>

O exemplo acima irá imprimir:

Escaped string: Zak\'s Laptop

Notas

Nota:

mysql_escape_string() does not escape % and _.

Veja Também

  • mysql_real_escape_string() - Escapa os caracteres especiais numa string para usar em um comando SQL, levando em conta o conjunto atual de caracteres.
  • addslashes() - Adiciona barras a uma string
  • The magic_quotes_gpc directive.


Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas

  • « mysql_escape_string
  • mysql_fetch_assoc »
  • PHP Manual
  • Funções da MySQL
  • Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas

mysql_fetch_array

(PHP 4, PHP 5)

mysql_fetch_array — Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas

Descrição

mysql_fetch_array ( resource $result , int $result_type = ? ) : array

Retorna uma matriz que corresponde a linha obtida e move o ponteiro interno dos dados adiante.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

result_type

O tipo de array que deve ser obtida. é uma constante e pode ter os seguintes valores: MYSQL_ASSOC, MYSQL_NUM, e o valor padrão de MYSQL_BOTH.

Valor Retornado

Retorna uma array que corresponde a linha obtida, ou false se não houver mais linhas. O tipo da array retornada depende de como result_type esta definido. Usando MYSQL_BOTH (padrão), você terá um array com ambos os índices, numérico e associativo. Usando MYSQL_ASSOC, você tem apenas os índices associativos (como mysql_fetch_assoc() funciona), usando MYSQL_NUM, você tem apenas os índices numéricos (como mysql_fetch_row() funciona).

Se duas ou mais colunas do resultado tiverem os mesmos nomes de campos, a ultima coluna terá precedencia. Para acessar a(s) outra(s) coluna(s) com o mesmo nome, você deverá usar o índice numérico da coluna ou fazer um alias para a coluna. Para colunas com alias, você não pode acessar os conteúdos com o nome original da coluna.

Exemplos

Exemplo #1 Consulta com nomes de campos duplicados usando alias

SELECT table1.field AS foo, table2.field AS bar FROM table1, table2

Exemplo #2 mysql_fetch_array() com MYSQL_NUM

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Não foi possível conectar: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);
}

mysql_free_result($result);
?>

Exemplo #3 mysql_fetch_array() com MYSQL_ASSOC

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Não foi possível conectar: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("ID: %s  Name: %s", $row["id"], $row["name"]);
}

mysql_free_result($result);
?>

Exemplo #4 mysql_fetch_array() com MYSQL_BOTH

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Não foi possível conectar: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
    printf ("ID: %s  Name: %s", $row[0], $row["name"]);
}

mysql_free_result($result);
?>

Notas

Nota: Performance

Uma coisa importante para notar que usar mysql_fetch_array() não é significativamente mais lento do que usar mysql_fetch_row(), enquanto provê um valor agregado significante.

Nota: Nomes de campos nesta função diferenciam maiúsculas e minusculas.

Nota: Esta função assimila campos NULL para o o null do PHP.

Veja Também

  • mysql_fetch_row() - Obtém uma linha como um array numérico
  • mysql_fetch_assoc() - Obtém uma linha do resultado como um array associativo
  • mysql_data_seek() - Move o ponteiro interno do resultado
  • mysql_query() - Envia uma consulta MySQL


Obtém uma linha do resultado como um array associativo

  • « mysql_fetch_array
  • mysql_fetch_field »
  • PHP Manual
  • Funções da MySQL
  • Obtém uma linha do resultado como um array associativo

mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc — Obtém uma linha do resultado como um array associativo

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_fetch_assoc()
  • PDOStatement::fetch(PDO::FETCH_ASSOC)

Descrição

mysql_fetch_assoc ( resource $result ) : array

Retorna uma matriz associativa que corresponde a linha obtida e move o ponteiro interno dos dados adiante. mysql_fetch_assoc() é equivalente a utilizar mysql_fetch_array() com MYSQL_ASSOC para o segunto parâmetro, que é opcional. Ela apenas retorna um array associativo.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

Valor Retornado

Retorna uma matriz associativa de strings que corresponde a linha obtida, ou false se não houverem mais linhas.

Se duas ou mais colunas do resultado tiverem o mesmo nome de campo, a ultima coluna terá precedencia. Para acessar as outras coluna(s) com o mesmo nome, você precisa acessar os outros resultados usando índices numéricos com mysql_fetch_row() ou adicionar alias (apelidos). Veja o exemplo em mysql_fetch_array() para uma descrição sobre alias.

Exemplos

Exemplo #1 Um exemplo expandido de mysql_fetch_assoc()

<?php

$conn = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!$conn) {
    echo "Unable to connect to DB: " . mysql_error();
    exit;
}

if (!mysql_select_db("mydbname")) {
    echo "Unable to select mydbname: " . mysql_error();
    exit;
}

$sql = "SELECT id as userid, fullname, userstatus
        FROM   sometable
        WHERE  userstatus = 1";

$result = mysql_query($sql);

if (!$result) {
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}

if (mysql_num_rows($result) == 0) {
    echo "No rows found, nothing to print so am exiting";
    exit;
}

// While a row of data exists, put that row in $row as an associative array
// Note: If you're expecting just one row, no need to use a loop
// Note: If you put extract($row); inside the following loop, you'll
//       then create $userid, $fullname, and $userstatus
while ($row = mysql_fetch_assoc($result)) {
    echo $row["userid"];
    echo $row["fullname"];
    echo $row["userstatus"];
}

mysql_free_result($result);

?>

Notas

Nota: Performance

Uma coisa importante para notar é que usar mysql_fetch_assoc() não é significativamente mais lento do que usar mysql_fetch_row(), enquanto provê um valor agregado significante.

Nota: Nomes de campos nesta função diferenciam maiúsculas e minusculas.

Nota: Esta função assimila campos NULL para o o null do PHP.

Veja Também

  • mysql_fetch_row() - Obtém uma linha como um array numérico
  • mysql_fetch_array() - Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas
  • mysql_data_seek() - Move o ponteiro interno do resultado
  • mysql_query() - Envia uma consulta MySQL
  • mysql_error() - Retorna o texto da mensagem de erro da operação MySQL anterior


Obtém informações sobre uma coluna de um resultado e retorna como um objeto

  • « mysql_fetch_assoc
  • mysql_fetch_lengths »
  • PHP Manual
  • Funções da MySQL
  • Obtém informações sobre uma coluna de um resultado e retorna como um objeto

mysql_fetch_field

(PHP 4, PHP 5)

mysql_fetch_field — Obtém informações sobre uma coluna de um resultado e retorna como um objeto

Descrição

mysql_fetch_field ( resource $result , int $field_offset = ? ) : object

Retorna um objeto contendo informações sobre o campo. Esta função pode ser usada para obter informações sobre os campos de um resultado de uma consulta.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

field_offset

O índice numérico do campo. Se o índice não for especificado, o próximo campo que não tenha sido obtido por esta função é retornado. O parâmetro field_offset começa em 0.

Valor Retornado

Retorna um object contendo a informação sobre o campo. As propriedades do objeto são:

  • name - nome da coluna
  • table - a tabela a qual o objeto pertence
  • def - o valor padrão da coluna
  • max_length - o limite de tamanho da coluna
  • not_null - 1 se a coluna não puder ser null
  • primary_key - 1 se a coluna é a chave primária
  • unique_key - 1 se a coluna é a chave única
  • multiple_key - 1 se a coluna é uma chave não-única
  • numeric - 1 se a coluna é numérica
  • blob - 1 se a coluna é um BLOB
  • type - o tipo da coluna
  • unsigned - 1 se a coluna é sem sinal
  • zerofill - 1 se a coluna é prenchida com zero

Exemplos

Exemplo #1 Exemplo mysql_fetch_field()

<?php
$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$conn) {
    die('Não foi possível conectar: ' . mysql_error());
}
mysql_select_db('database');
$result = mysql_query('select * from table');
if (!$result) {
    die('A consulta falhou: ' . mysql_error());
}
/* obtém as informações da coluna */
$i = 0;
while ($i < mysql_num_fields($result)) {
    echo "Informação para a coluna $i:<br />\n";
    $meta = mysql_fetch_field($result, $i);
    if (!$meta) {
        echo "Sem informação disponível<br />\n";
    }
    echo "<pre>
blob:         $meta->blob
max_length:   $meta->max_length
multiple_key: $meta->multiple_key
name:         $meta->name
not_null:     $meta->not_null
numeric:      $meta->numeric
primary_key:  $meta->primary_key
table:        $meta->table
type:         $meta->type
default:      $meta->def
unique_key:   $meta->unique_key
unsigned:     $meta->unsigned
zerofill:     $meta->zerofill
</pre>";
    $i++;
}
mysql_free_result($result);
?>

Notas

Nota: Nomes de campos nesta função diferenciam maiúsculas e minusculas.

Veja Também

  • mysql_field_seek() - Define o ponteiro do resultado para o índice de campo especificado


Obtém o tamanho de cada saída de um resultado

  • « mysql_fetch_field
  • mysql_fetch_object »
  • PHP Manual
  • Funções da MySQL
  • Obtém o tamanho de cada saída de um resultado

mysql_fetch_lengths

(PHP 4, PHP 5)

mysql_fetch_lengths — Obtém o tamanho de cada saída de um resultado

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_fetch_lengths()
  • PDOStatement::getColumnMeta()

Descrição

mysql_fetch_lengths ( resource $result ) : array

Retorna um array que corresponde aos tamanhos de cada campo na ultima linha obtida pelo MySQL.

mysql_fetch_lengths() guarda o tamanho de
cada coluna do resultado na última linha retornada por
mysql_fetch_row(),
mysql_fetch_assoc(),
mysql_fetch_array(), e
mysql_fetch_object() em um array, começando
no índice 0.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

Valor Retornado

Um array de tamanhos em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo mysql_fetch_lengths()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
$row     = mysql_fetch_assoc($result);
$lengths = mysql_fetch_lengths($result);

print_r($row);
print_r($lengths);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [id] => 42
    [email] => user@example.com
)
Array
(
    [0] => 2
    [1] => 16
)

Veja Também

  • mysql_field_len() - Retorna o tamanho do campo especificado
  • mysql_fetch_row() - Obtém uma linha como um array numérico
  • strlen() - Retorna o tamanho de uma string


Obtém o resultado de uma linha como um objeto

  • « mysql_fetch_lengths
  • mysql_fetch_row »
  • PHP Manual
  • Funções da MySQL
  • Obtém o resultado de uma linha como um objeto

mysql_fetch_object

(PHP 4, PHP 5)

mysql_fetch_object — Obtém o resultado de uma linha como um objeto

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_fetch_object()
  • PDOStatement::fetch(PDO::FETCH_OBJ)

Descrição

mysql_fetch_object ( resource $result , string $class_name = ? , array $params = ? ) : object

Retorna um objeto com propriedades que correspondem a linha obtida e move o ponteiro interno dos dados adiante.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

class_name

O nome de classe para instanciar, definir as propriedades e retornar. Se não for especificado, um objeto stdClass é retornado.

params

Um array opcional de parâmetros para passar para o construtor do objeto class_name.

Valor Retornado

Retorna um object com propriedades strings que correspondem a linha obtida, ou false se não houverem mais linhas.

Exemplos

Exemplo #1 Exemplo mysql_fetch_object()

<?php
mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");
$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
mysql_free_result($result);
?>

Exemplo #2 Exemplo mysql_fetch_object()

<?php
class foo {
    public $name;
}

mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");

$result = mysql_query("select name from mytable limit 1");
$obj = mysql_fetch_object($result, 'foo');
var_dump($obj);
?>

Notas

Nota: Performance

Em termos de velocidade, a função é idêntica a mysql_fetch_array(), e quase tão rápida quanto mysql_fetch_row() (a diferença é insignificante).

Nota:

mysql_fetch_object() é similar a mysql_fetch_array(), com uma diferença - um objeto é retornado, ao invés de um array. Indiretamente, isto significa que você pode acessar os dados apenas pelo nome dos campos, e não por seus índices (números são ilegais como nomes de propriedades).

Nota: Nomes de campos nesta função diferenciam maiúsculas e minusculas.

Nota: Esta função assimila campos NULL para o o null do PHP.

Veja Também

  • mysql_fetch_array() - Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas
  • mysql_fetch_assoc() - Obtém uma linha do resultado como um array associativo
  • mysql_fetch_row() - Obtém uma linha como um array numérico
  • mysql_data_seek() - Move o ponteiro interno do resultado
  • mysql_query() - Envia uma consulta MySQL


Obtém uma linha como um array numérico

  • « mysql_fetch_object
  • mysql_field_flags »
  • PHP Manual
  • Funções da MySQL
  • Obtém uma linha como um array numérico

mysql_fetch_row

(PHP 4, PHP 5)

mysql_fetch_row — Obtém uma linha como um array numérico

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_fetch_row()
  • PDOStatement::fetch(PDO::FETCH_NUM)

Descrição

mysql_fetch_row ( resource $result ) : array

Retorna um array numérico que corresponde a linha obtida e move o ponteiro interno dos dados adiante.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

Valor Retornado

Retorna um array numérico de strings que corresponde linha obtida, ou false se não houverem mais linhas.

mysql_fetch_row() obtém uma linha de dados do resultado associado ao identificador do resultado especificado. A linha é retornada como um array. Cada coluna do resultado é armazenado em um índice do array, começando no índice 0.

Exemplos

Exemplo #1 Obtendo uma linha com mysql_fetch_row()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
$row = mysql_fetch_row($result);

echo $row[0]; // 42
echo $row[1]; // the email value
?>

Notas

Nota: Esta função assimila campos NULL para o o null do PHP.

Veja Também

  • mysql_fetch_array() - Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas
  • mysql_fetch_assoc() - Obtém uma linha do resultado como um array associativo
  • mysql_fetch_object() - Obtém o resultado de uma linha como um objeto
  • mysql_data_seek() - Move o ponteiro interno do resultado
  • mysql_fetch_lengths() - Obtém o tamanho de cada saída de um resultado
  • mysql_result() - Retorna dados do resultado


Obtém as flags associadas ao campo especificado em um resultado

  • « mysql_fetch_row
  • mysql_field_len »
  • PHP Manual
  • Funções da MySQL
  • Obtém as flags associadas ao campo especificado em um resultado

mysql_field_flags

(PHP 4, PHP 5)

mysql_field_flags — Obtém as flags associadas ao campo especificado em um resultado

Descrição

mysql_field_flags ( resource $result , int $field_offset ) : string

mysql_field_flags() retorna as flags do campo especificado. As flags são mostradas como uma única palavra por flag separada por um único espaço, assim você pode dividir o valor retornado usando explode().

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

field_offset

A ordem posicional do campo. field_offset começa em 0. Se field_offset não existir, um erro nível E_WARNING é emitido.

Valor Retornado

Retorna uma string com as flags associadas ao resultado, ou false em caso de falha.

As seguintes flags são reportadas, se a sua versão do MySQL for atual o suficiente para suporta-las: "not_null", "primary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment" e "timestamp".

Exemplos

Exemplo #1 Um exemplo de mysql_field_flags()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Não foi possível executar a consulta: ' . mysql_error();
    exit;
}
$flags = mysql_field_flags($result, 0);

echo $flags;
print_r(explode(' ', $flags));
?>

O exemplo acima irá imprimir algo similar à:

not_null primary_key auto_increment
Array
(
    [0] => not_null
    [1] => primary_key
    [2] => auto_increment
)

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_fieldflags()


Retorna o tamanho do campo especificado

  • « mysql_field_flags
  • mysql_field_name »
  • PHP Manual
  • Funções da MySQL
  • Retorna o tamanho do campo especificado

mysql_field_len

(PHP 4, PHP 5)

mysql_field_len — Retorna o tamanho do campo especificado

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_fetch_field_direct() [length]
  • PDOStatement::getColumnMeta() [len]

Descrição

mysql_field_len ( resource $result , int $field_offset ) : int

mysql_field_len() retorna o tamanho do campo especificado.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

field_offset

A ordem posicional do campo. field_offset começa em 0. Se field_offset não existir, um erro nível E_WARNING é emitido.

Valor Retornado

O tamanho do campo especificado em sucesso ou false em caso de falha.

Exemplos

Exemplo #1 mysql_field_len() example

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}

// Will get the length of the id field as specified in the database
// schema.
$length = mysql_field_len($result, 0);
echo $length;
?>

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_fieldlen()

Veja Também

  • mysql_fetch_lengths() - Obtém o tamanho de cada saída de um resultado
  • strlen() - Retorna o tamanho de uma string


Obtém o nome do campo especificado em um resultado

  • « mysql_field_len
  • mysql_field_seek »
  • PHP Manual
  • Funções da MySQL
  • Obtém o nome do campo especificado em um resultado

mysql_field_name

(PHP 4, PHP 5)

mysql_field_name — Obtém o nome do campo especificado em um resultado

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_fetch_field_direct() [name] or [orgname]
  • PDOStatement::getColumnMeta() [name]

Descrição

mysql_field_name ( resource $result , int $field_offset ) : string

mysql_field_name() retorna o nome do campo do índice especificado.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

field_offset

A ordem posicional do campo. field_offset começa em 0. Se field_offset não existir, um erro nível E_WARNING é emitido.

Valor Retornado

O nome do campo do índice especificado emj caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo mysql_field_name()

<?php
/* The users table consists of three fields:
 *   user_id
 *   username
 *   password.
 */
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect to MySQL server: ' . mysql_error());
}
$dbname = 'mydb';
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) {
    die("Could not set $dbname: " . mysql_error());
}
$res = mysql_query('select * from users', $link);

echo mysql_field_name($res, 0) . "\n";
echo mysql_field_name($res, 2);
?>

O exemplo acima irá imprimir:

user_id
password

Notas

Nota: Nomes de campos nesta função diferenciam maiúsculas e minusculas.

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_fieldname()

Veja Também

  • mysql_field_type() - Obtém o tipo do campo especificado em um resultado
  • mysql_field_len() - Retorna o tamanho do campo especificado


Define o ponteiro do resultado para o índice de campo especificado

  • « mysql_field_name
  • mysql_field_table »
  • PHP Manual
  • Funções da MySQL
  • Define o ponteiro do resultado para o índice de campo especificado

mysql_field_seek

(PHP 4, PHP 5)

mysql_field_seek — Define o ponteiro do resultado para o índice de campo especificado

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_field_seek()
  • PDOStatement::fetch() usando os parâmetros cursor_orientation e offset

Descrição

mysql_field_seek ( resource $result , int $field_offset ) : bool

Move para o índice do campo especificado. Se a próxima chamada a mysql_fetch_field() não incluir um índice, o índice de campo especificado em mysql_field_seek() será retornado.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

field_offset

A ordem posicional do campo. field_offset começa em 0. Se field_offset não existir, um erro nível E_WARNING é emitido.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • mysql_fetch_field() - Obtém informações sobre uma coluna de um resultado e retorna como um objeto


Obtém o nome da tabela na qual o campo especificado esta

  • « mysql_field_seek
  • mysql_field_type »
  • PHP Manual
  • Funções da MySQL
  • Obtém o nome da tabela na qual o campo especificado esta

mysql_field_table

(PHP 4, PHP 5)

mysql_field_table — Obtém o nome da tabela na qual o campo especificado esta

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_fetch_field_direct() [table] or [orgtable]
  • PDOStatement::getColumnMeta() [table]

Descrição

mysql_field_table ( resource $result , int $field_offset ) : string

Retorna o nome da tabela na qual o campo especificado está.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

field_offset

A ordem posicional do campo. field_offset começa em 0. Se field_offset não existir, um erro nível E_WARNING é emitido.

Valor Retornado

O nome da tabela em caso de sucesso.

Exemplos

Exemplo #1 Exemplo mysql_field_table()

<?php

$query = "SELECT account.*, country.* FROM account, country WHERE country.name = 'Portugal' AND account.country_id = country.id";

// get the result from the DB
$result = mysql_query($query);

// Lists the table name and then the field name
for ($i = 0; $i < mysql_num_fields($result); ++$i) {
    $table = mysql_field_table($result, $i);
    $field = mysql_field_name($result, $i);

    echo  "$table: $field\n";
}

?>

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_fieldtable()

Veja Também

  • mysql_list_tables() - Lista as tabelas em um banco de dados MySQL


Obtém o tipo do campo especificado em um resultado

  • « mysql_field_table
  • mysql_free_result »
  • PHP Manual
  • Funções da MySQL
  • Obtém o tipo do campo especificado em um resultado

mysql_field_type

(PHP 4, PHP 5)

mysql_field_type — Obtém o tipo do campo especificado em um resultado

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_fetch_field_direct() [type]
  • PDOStatement::getColumnMeta() [driver:decl_type] ou [pdo_type]

Descrição

mysql_field_type ( resource $result , int $field_offset ) : string

mysql_field_type() é similar a função mysql_field_name(). Os argumentos são idênticos, mas é o tipo do campo que é retornado.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

field_offset

A ordem posicional do campo. field_offset começa em 0. Se field_offset não existir, um erro nível E_WARNING é emitido.

Valor Retornado

O tipo de campo retornado será um de "int", "real", "string", "blob" e outros como detalhado na » documentação do MySQL.

Exemplos

Exemplo #1 Exemplo mysql_field_type()

<?php
mysql_connect("localhost", "mysql_username", "mysql_password");
mysql_select_db("mysql");
$result = mysql_query("SELECT * FROM func");
$fields = mysql_num_fields($result);
$rows   = mysql_num_rows($result);
$table  = mysql_field_table($result, 0);
echo "Your '" . $table . "' table has " . $fields . " fields and " . $rows . " record(s)\n";
echo "The table has the following fields:\n";
for ($i=0; $i < $fields; $i++) {
    $type  = mysql_field_type($result, $i);
    $name  = mysql_field_name($result, $i);
    $len   = mysql_field_len($result, $i);
    $flags = mysql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "\n";
}
mysql_free_result($result);
mysql_close();
?>

O exemplo acima irá imprimir algo similar à:

Your 'func' table has 4 fields and 1 record(s)
The table has the following fields:
string name 64 not_null primary_key binary
int ret 1 not_null
string dl 128 not_null
string type 9 not_null enum

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_fieldtype()

Veja Também

  • mysql_field_name() - Obtém o nome do campo especificado em um resultado
  • mysql_field_len() - Retorna o tamanho do campo especificado


Libera um resultado da memória

  • « mysql_field_type
  • mysql_get_client_info »
  • PHP Manual
  • Funções da MySQL
  • Libera um resultado da memória

mysql_free_result

(PHP 4, PHP 5)

mysql_free_result — Libera um resultado da memória

Descrição

mysql_free_result ( resource $result ) : bool

mysql_free_result() irá liberar toda a memória associada ao identificador de resultado result.

mysql_free_result() apenas precisa ser chamada se você esta preocupado sobre quanta memória esta sendo usada em consultas que retornam grandes conjuntos de resultados. Toda a memória associada a um resultado é automaticamente liberada ao final da execução do script.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Se não for usado um recurso para result, um erro de nível E_WARNING será emitido. É importante notar que mysql_query() apena retorna um resource para consultas SELECT, SHOW, EXPLAIN, e DESCRIBE.

Exemplos

Exemplo #1 Um exemplo mysql_free_result()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Não foi possível executar a consulta: ' . mysql_error();
    exit;
}
/* Use the result, assuming we're done with it afterwords */
$row = mysql_fetch_assoc($result);

/* Now we free up the result and continue on with our script */
mysql_free_result($result);

echo $row['id'];
echo $row['email'];
?>

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_freeresult()

Veja Também

  • mysql_query() - Envia uma consulta MySQL
  • is_resource() - Informa se a variável é um resource


Obtém informações do cliente MySQL

  • « mysql_free_result
  • mysql_get_host_info »
  • PHP Manual
  • Funções da MySQL
  • Obtém informações do cliente MySQL

mysql_get_client_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_client_info — Obtém informações do cliente MySQL

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_get_client_info()
  • PDO::getAttribute(PDO::ATTR_CLIENT_VERSION)

Descrição

mysql_get_client_info ( ) : string

mysql_get_client_info() retorna uma string que representa a versão da biblioteca do cliente.

Valor Retornado

A versão do cliente MySQL.

Exemplos

Exemplo #1 Exemplo mysql_get_client_info()

<?php
printf("MySQL client info: %s\n", mysql_get_client_info());
?>

O exemplo acima irá imprimir algo similar à:

MySQL client info: 3.23.39

Veja Também

  • mysql_get_host_info() - Obtém informações do servidor MySQL
  • mysql_get_proto_info() - Obtém informações do protocolo MySQL
  • mysql_get_server_info() - Obtém informações do servidor MySQL


Obtém informações do servidor MySQL

  • « mysql_get_client_info
  • mysql_get_proto_info »
  • PHP Manual
  • Funções da MySQL
  • Obtém informações do servidor MySQL

mysql_get_host_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_host_info — Obtém informações do servidor MySQL

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_get_host_info()
  • PDO::getAttribute(PDO::ATTR_CONNECTION_STATUS)

Descrição

mysql_get_host_info ( resource $link_identifier = NULL ) : string

Descreve o tipo de conexão em uso para a conexão, incluindo o nome do servidor.

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retorna uma string descrevendo o tipo da conexão MySQL em uso para a conexão ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo mysql_get_host_info()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
printf("MySQL host info: %s\n", mysql_get_host_info());
?>

O exemplo acima irá imprimir algo similar à:

MySQL host info: Localhost via UNIX socket

Veja Também

  • mysql_get_client_info() - Obtém informações do cliente MySQL
  • mysql_get_proto_info() - Obtém informações do protocolo MySQL
  • mysql_get_server_info() - Obtém informações do servidor MySQL


Obtém informações do protocolo MySQL

  • « mysql_get_host_info
  • mysql_get_server_info »
  • PHP Manual
  • Funções da MySQL
  • Obtém informações do protocolo MySQL

mysql_get_proto_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_proto_info — Obtém informações do protocolo MySQL

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_get_proto_info()

Descrição

mysql_get_proto_info ( resource $link_identifier = NULL ) : int

Obtém o protocolo MySQL.

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retorna o protocolo MySQL em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo mysql_get_proto_info()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
printf("MySQL protocol version: %s\n", mysql_get_proto_info());
?>

O exemplo acima irá imprimir algo similar à:

MySQL protocol version: 10

Veja Também

  • mysql_get_client_info() - Obtém informações do cliente MySQL
  • mysql_get_host_info() - Obtém informações do servidor MySQL
  • mysql_get_server_info() - Obtém informações do servidor MySQL


Obtém informações do servidor MySQL

  • « mysql_get_proto_info
  • mysql_info »
  • PHP Manual
  • Funções da MySQL
  • Obtém informações do servidor MySQL

mysql_get_server_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_server_info — Obtém informações do servidor MySQL

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_get_server_info()
  • PDO::getAttribute(PDO::ATTR_SERVER_VERSION)

Descrição

mysql_get_server_info ( resource $link_identifier = NULL ) : string

Obtém a versão do servidor MySQL.

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retorna a versão do servidor MySQL em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo mysql_get_server_info()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
printf("MySQL server version: %s\n", mysql_get_server_info());
?>

O exemplo acima irá imprimir algo similar à:

MySQL server version: 4.0.1-alpha

Veja Também

  • mysql_get_client_info() - Obtém informações do cliente MySQL
  • mysql_get_host_info() - Obtém informações do servidor MySQL
  • mysql_get_proto_info() - Obtém informações do protocolo MySQL
  • phpversion() - Obtém a versão atual do PHP


Obtém informação sobre a consulta mais recente

  • « mysql_get_server_info
  • mysql_insert_id »
  • PHP Manual
  • Funções da MySQL
  • Obtém informação sobre a consulta mais recente

mysql_info

(PHP 4 >= 4.3.0, PHP 5)

mysql_info — Obtém informação sobre a consulta mais recente

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_info()

Descrição

mysql_info ( resource $link_identifier = NULL ) : string

Retorna informação detalhada sobre a última consulta.

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retorna informação sobre o comando em caso de sucesso, ou false em caso de falha. Confira o exemplo abaixo para ver quais comandos disponibilizam a informação e qual pode ser o valor retornado. Comandos que não estão listados irão retornar false.

Exemplos

Exemplo #1 Comandos MySQL relevantes

Comandos que retornam valores de string. Os números são apenas para proposito de ilustração; seus valores irão corresponder à consulta.

INSERT INTO ... SELECT ...
String format: Records: 23 Duplicates: 0 Warnings: 0
INSERT INTO ... VALUES (...),(...),(...)...
String format: Records: 37 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ...
String format: Records: 42 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE
String format: Records: 60 Duplicates: 0 Warnings: 0
UPDATE
String format: Rows matched: 65 Changed: 65 Warnings: 0

Notas

Nota:

mysql_info() retornará um valor diferente de false para comandos INSERT ... VALUES apenas se múltiplas listas de valores forem especificadas no comando.

Veja Também

  • mysql_affected_rows() - Obtém o número de linhas afetadas na operação anterior do MySQL
  • mysql_insert_id() - Obtém o ID gerado pela operação INSERT anterior
  • mysql_stat() - Retorna o status atual do sistema


Obtém o ID gerado pela operação INSERT anterior

  • « mysql_info
  • mysql_list_dbs »
  • PHP Manual
  • Funções da MySQL
  • Obtém o ID gerado pela operação INSERT anterior

mysql_insert_id

(PHP 4, PHP 5)

mysql_insert_id — Obtém o ID gerado pela operação INSERT anterior

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_insert_id()
  • PDO::lastInsertId()

Descrição

mysql_insert_id ( resource $link_identifier = NULL ) : int

Obtém o ID gerado para uma coluna AUTO_INCREMENT pela consulta anterior (normalmente INSERT).

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

O ID gerado para uma coluna AUTO_INCREMENT pela consulta anterior em caso de sucesso, 0 se a consulta anterior não gerou um valor AUTO_INCREMENT, ou false se não foi estabelecido conexão com o MySQL.

Exemplos

Exemplo #1 Exemplo mysql_insert_id()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>

Notas

Cuidado

mysql_insert_id() irá converter o tipo de retorno da API nativa em C do MySQL mysql_insert_id() para um tipo long (chamado int no PHP). Se a sua coluna AUTO_INCREMENT for uma coluna do tipo BIGINT (64 bits), a conversão pode resultar em um valor incorreto. Ao invés disto, use a função LAST_INSERT_ID() interna do MySQL em uma consulta SQL. Para mais informações sobre valores máximos de inteiros do PHP, visite a documentação integer.

Nota:

Devido mysql_insert_id() agir sobre a última consulta realizada, tenha certeza de chamar mysql_insert_id() imediatamente após a consulta que gerou o valor.

Nota:

O valor da função SQL do MySQL LAST_INSERT_ID() sempre contém o valor AUTO_INCREMENT mais recentemente gerado e não é reiniciado entre as consultas.

Veja Também

  • mysql_query() - Envia uma consulta MySQL
  • mysql_info() - Obtém informação sobre a consulta mais recente


Lista os bancos de dados disponíveis em um servidor MySQL

  • « mysql_insert_id
  • mysql_list_fields »
  • PHP Manual
  • Funções da MySQL
  • Lista os bancos de dados disponíveis em um servidor MySQL

mysql_list_dbs

(PHP 4, PHP 5)

mysql_list_dbs — Lista os bancos de dados disponíveis em um servidor MySQL

Aviso

Esta função está obsoleta desde o PHP 5.4.0 e toda a extensão MySQL original foi removida in PHP 7.0.0. Alternativamente utilize as extensões MySQLi ou PDO_MySQL. Veja também MySQL: escolhendo uma API e a FAQ relacionada para mais informações Alternatives to this function include:

  • SQL Query: SHOW DATABASES

Descrição

mysql_list_dbs ( resource $link_identifier = NULL ) : resource

Retorna um ponteiro de resultado contendo os bancos de dados disponíveis atualmente no servidor MySQL.

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retorna um ponteiro de resultado resource em caso de sucesso, ou false em caso de falha. Use a função mysql_tablename() para lidar com este ponteiro de resultado, ou qualquer função para tabelas com resultados, como mysql_fetch_array().

Exemplos

Exemplo #1 Exemplo mysql_list_dbs()

<?php
// Usage without mysql_list_dbs()
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$res = mysql_query("SHOW DATABASES");

while ($row = mysql_fetch_assoc($res)) {
    echo $row['Database'] . "\n";
}

// Deprecated as of PHP 5.4.0
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$db_list = mysql_list_dbs($link);

while ($row = mysql_fetch_object($db_list)) {
     echo $row->Database . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

database1
database2
database3

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_listdbs()

Veja Também

  • mysql_db_name() - Obtém o nome do banco de dados a partir da chamada à mysql_list_dbs
  • mysql_select_db() - Seleciona um banco de dados MySQL


Lista os campos de uma tabela MySQL

  • « mysql_list_dbs
  • mysql_list_processes »
  • PHP Manual
  • Funções da MySQL
  • Lista os campos de uma tabela MySQL

mysql_list_fields

(PHP 4, PHP 5)

mysql_list_fields — Lista os campos de uma tabela MySQL

Aviso

Esta função está obsoleta desde o PHP 5.4.0 e toda a extensão MySQL original foi removida in PHP 7.0.0. Alternativamente utilize as extensões MySQLi ou PDO_MySQL. Veja também MySQL: escolhendo uma API e a FAQ relacionada para mais informações Alternatives to this function include:

  • Consulta SQL: SHOW COLUMNS FROM algumatabela

Descrição

mysql_list_fields ( string $database_name , string $table_name , resource $link_identifier = NULL ) : resource

Obtém informações sobre a tabela informada.

Esta função está obsoleta. É preferrível usar mysql_query() para realizar uma consulta SQL SHOW COLUMNS FROM table [LIKE 'name'].

Parâmetros

database_name

O nome do banco de dados que está sendo consultado.

table_name

O nome da tabela que esta sendo consultada.

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Um ponteiro de recurso resource em caso de sucesso, ou false em caso de falha.

O ponteiro de resultado pode ser usado com mysql_field_flags(),
mysql_field_len(),
mysql_field_name() e
mysql_field_type().

Exemplos

Exemplo #1 Alternativa para a obsoleta mysql_list_fields()

<?php
$result = mysql_query("SHOW COLUMNS FROM sometable");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
if (mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_assoc($result)) {
        print_r($row);
    }
}
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [Field] => id
    [Type] => int(7)
    [Null] =>
    [Key] => PRI
    [Default] =>
    [Extra] => auto_increment
)
Array
(
    [Field] => email
    [Type] => varchar(100)
    [Null] =>
    [Key] =>
    [Default] =>
    [Extra] =>
)

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_listfields()

Veja Também

  • mysql_field_flags() - Obtém as flags associadas ao campo especificado em um resultado
  • mysql_info() - Obtém informação sobre a consulta mais recente


Lista os processos MySQL

  • « mysql_list_fields
  • mysql_list_tables »
  • PHP Manual
  • Funções da MySQL
  • Lista os processos MySQL

mysql_list_processes

(PHP 4 >= 4.3.0, PHP 5)

mysql_list_processes — Lista os processos MySQL

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_thread_id()

Descrição

mysql_list_processes ( resource $link_identifier = NULL ) : resource

Obtém as threads atuais do servidor MySQL.

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Um ponteiro de resultado resource em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo mysql_list_processes()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

$result = mysql_list_processes($link);
while ($row = mysql_fetch_assoc($result)){
    printf("%s %s %s %s %s\n", $row["Id"], $row["Host"], $row["db"],
        $row["Command"], $row["Time"]);
}
mysql_free_result($result);
?>

O exemplo acima irá imprimir algo similar à:

1 localhost test Processlist 0
4 localhost mysql sleep 5

Veja Também

  • mysql_thread_id() - Returna o ID da thread atual
  • mysql_stat() - Retorna o status atual do sistema


Lista as tabelas em um banco de dados MySQL

  • « mysql_list_processes
  • mysql_num_fields »
  • PHP Manual
  • Funções da MySQL
  • Lista as tabelas em um banco de dados MySQL

mysql_list_tables

(PHP 4, PHP 5)

mysql_list_tables — Lista as tabelas em um banco de dados MySQL

Descrição

mysql_list_tables ( string $database , resource $link_identifier = ? ) : resource

Obtém uma lista dos nomes das tabelas de um banco de dados MySQL.

Esta função esta obsoleta. É preferrível usar mysql_query() para fazer uma consulta SQL SHOW TABLES [FROM db_name] [LIKE 'pattern'] ao invés.

Parâmetros

database

O nome do banco de dados

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Um ponteiro do tipo resultado resource em caso de sucesso, ou false em caso de falha.

Use a função mysql_tablename() para lidar com este ponteiro de resultado, ou qualquer função para tabelas de resultado, como mysql_fetch_array().

Exemplos

Exemplo #1 Exemplo alternativo de mysql_list_tables()

<?php
$dbname = 'mysql_dbname';

if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Could not connect to mysql';
    exit;
}

$sql = "SHOW TABLES FROM $dbname";
$result = mysql_query($sql);

if (!$result) {
    echo "DB Error, could not list tables\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_row($result)) {
    echo "Table: {$row[0]}\n";
}

mysql_free_result($result);
?>

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_listtables()

Veja Também

  • mysql_list_dbs() - Lista os bancos de dados disponíveis em um servidor MySQL
  • mysql_tablename() - Retorna o nome da tabela do campo


Obtém o numero de campos em um resultado

  • « mysql_list_tables
  • mysql_num_rows »
  • PHP Manual
  • Funções da MySQL
  • Obtém o numero de campos em um resultado

mysql_num_fields

(PHP 4, PHP 5)

mysql_num_fields — Obtém o numero de campos em um resultado

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_num_fields()
  • PDOStatement::columnCount()

Descrição

mysql_num_fields ( resource $result ) : int

Obtém o numero de campos de uma consulta.

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

Valor Retornado

Retorna o numero de capos em um conjunto de resultados resource em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo mysql_num_fields()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}

/* returns 2 because id,email === two fields */
echo mysql_num_fields($result);
?>

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_numfields()

Veja Também

  • mysql_select_db() - Seleciona um banco de dados MySQL
  • mysql_query() - Envia uma consulta MySQL
  • mysql_fetch_field() - Obtém informações sobre uma coluna de um resultado e retorna como um objeto
  • mysql_num_rows() - Obtém o número de linhas em um resultado


Obtém o número de linhas em um resultado

  • « mysql_num_fields
  • mysql_pconnect »
  • PHP Manual
  • Funções da MySQL
  • Obtém o número de linhas em um resultado

mysql_num_rows

(PHP 4, PHP 5)

mysql_num_rows — Obtém o número de linhas em um resultado

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_num_rows()
  • mysqli_stmt_num_rows()
  • PDOStatement::rowCount()

Descrição

mysql_num_rows ( resource $result ) : int

Obtém o numero de linhas de um conjunto de resultados. Este comando é valido apenas para comandos como SELECT ou SHOW que realmente retornam um conjunto de resultados. Para obter o numero de linhas afetadas por uma consulta INSERT, UPDATE, REPLACE ou DELETE, use mysql_affected_rows().

Parâmetros

result

O resultado tipo resource que está sendo avaliado. Esse resultado é original de uma chamada a mysql_query().

Valor Retornado

O numero de linhas em um conjunto de resultados em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo mysql_num_rows()

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>

Notas

Nota:

Se você usar mysql_unbuffered_query(), mysql_num_rows() não irá retornar o valor correto até que todas as linhas no conjunto de resultado tenham sido obtidas.

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido obsoleto pode ser usado: mysql_numrows()

Veja Também

  • mysql_affected_rows() - Obtém o número de linhas afetadas na operação anterior do MySQL
  • mysql_connect() - Abre uma conexão com um servidor MySQL
  • mysql_data_seek() - Move o ponteiro interno do resultado
  • mysql_select_db() - Seleciona um banco de dados MySQL
  • mysql_query() - Envia uma consulta MySQL


Abre uma conexão persistente com um servidor MySQL

  • « mysql_num_rows
  • mysql_ping »
  • PHP Manual
  • Funções da MySQL
  • Abre uma conexão persistente com um servidor MySQL

mysql_pconnect

(PHP 4, PHP 5)

mysql_pconnect — Abre uma conexão persistente com um servidor MySQL

Descrição

mysql_pconnect ( string $server = ? , string $username = ? , string $password = ? , int $client_flags = ? ) : resource

Estabelece uma conexão persistente com o servidor MySQL.

mysql_pconnect() funciona muito parecido com mysql_connect() com duas maiores diferenças.

Primeiro, ao conectar,a função irá primeiro tentar encontrar uma conexão(persistente) que já esteja aberta com o mesmo servidor, nome de usuário e senha. Se uma for encontrada, um identificador para ela será retornado ao invés de abrir uma nova conexão.

Segundo, a conexão ao servidor SQL não será fechada quando a execução do script terminar. Ao invés, a conexão permanecerá aberta para uso futuro (mysql_close() não irá fechar conexões estabelecidas por mysql_pconnect()).

Este tipo de conexão portanto é chamada 'persistente'.

Parâmetros

server

O servidor MySQL. Também pode incluir um numero de porta. exemplo "hostname:port" ou um caminho para um socket local exemplo ":/path/to/socket" para o servidor local.

Se a diretiva do PHP mysql.default_host não estiver definida (padrão), então o valor padrão é 'localhost:3306'

username

O nome de usuário. O Valor padrão é o nome do usuário que é o proprietário do processo do servidor.

password

A senha. O valor padrão é uma senha vazia.

client_flags

O parâmetro client_flags pode ser uma combinação das seguintes constantes: 128 (habilita manuseador LOAD DATA LOCAL), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE ou MYSQL_CLIENT_INTERACTIVE.

Valor Retornado

Retorna um identificador de conexão persistente MySQL em caso de sucesso, ou false em caso de falha.

Changelog

Versão | Descrição
4.3.0 | Adicionado o parâmetro client_flags.
3.0.10 | Adicionado o suporte a ":/path/to/socket" com server.
3.0.0 | Adicionado o suporte a ":port" com server.

Notas

Nota:

Note que este tipo de conexão funciona somente se você estiver usando uma versão do PHP como módulo. Veja a sessão Conexões Persistentes com Banco de Dados para maiores informações.

Aviso

Usar conexões persistentes podem requerer alguns ajustes na suas configurações do Apache e do MySQL para ter certeza que você não exceda o limite de conexões permitidas pelo MySQL.

Nota:

Você pode suprimir a mensagem de erro em caso de falha adicionando @ ao nome da função.

Veja Também

  • mysql_connect() - Abre uma conexão com um servidor MySQL
  • Conexões Persistentes com Banco de Dados


Pinga uma conexão com o servidor ou reconecta se não houver conexão

  • « mysql_pconnect
  • mysql_query »
  • PHP Manual
  • Funções da MySQL
  • Pinga uma conexão com o servidor ou reconecta se não houver conexão

mysql_ping

(PHP 4 >= 4.3.0, PHP 5)

mysql_ping — Pinga uma conexão com o servidor ou reconecta se não houver conexão

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_ping()

Descrição

mysql_ping ( resource $link_identifier = NULL ) : bool

Confere se a conexão com o servidor está funcionando ou não. Se ela tiver caído, tenta realizar uma conexão automática. Esta função pode ser usada em scripts que permanecem inativos por um longo tempo, para verificar se o servidor fechou ou não a conexão e reconectar se necessário.

Nota:

A reconexão automática está desabilitada por padrão em versões do Mysql >= 5.0.3.

Parâmetros

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retorna true se a conexão com o servidor MySQL está funcionando, se não retorna false.

Exemplos

Exemplo #1 Exemplo mysql_ping()

<?php
set_time_limit(0);

$conn = mysql_connect('localhost', 'mysqluser', 'mypass');
$db   = mysql_select_db('mydb');

/* Assuming this query will take a long time */
$result = mysql_query($sql);
if (!$result) {
    echo 'Query #1 failed, exiting.';
    exit;
}

/* Make sure the connection is still alive, if not, try to reconnect */
if (!mysql_ping($conn)) {
    echo 'Lost connection, exiting after query #1';
    exit;
}
mysql_free_result($result);

/* So the connection is still alive, let's run another query */
$result2 = mysql_query($sql2);
?>

Veja Também

  • mysql_thread_id() - Returna o ID da thread atual
  • mysql_list_processes() - Lista os processos MySQL


Envia uma consulta MySQL

  • « mysql_ping
  • mysql_real_escape_string »
  • PHP Manual
  • Funções da MySQL
  • Envia uma consulta MySQL

mysql_query

(PHP 4, PHP 5)

mysql_query — Envia uma consulta MySQL

Descrição

mysql_query ( string $query , resource $link_identifier = ? ) : resource

mysql_query() envia uma consulta (para o banco de dados atualmente ativo no servidor associado ao link_identifier especificado).

Parâmetros

query

A consulta SQL.

A consulta não deve terminar com um ponto e vírgula.

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Para comandos SELECT, SHOW, DESCRIBE ou EXPLAIN, mysql_query() retorna um resource em caso de sucesso, ou false em caso de falha.

Para outros tipos de consultas SQL, UPDATE, DELETE, DROP, etc, mysql_query() retorna true em caso de sucesso ou false em caso de erro.

O recurso de resultado retornado pode ser passado para mysql_fetch_array(), e outras funções para manipular tabelas de resultados, para acessar os dados retornados.

Use mysql_num_rows() para obter quantas linhas foram retornadas para um comando SELECT ou mysql_affected_rows() para obter quantas linhas foram afetadas por um comando DELETE, INSERT, REPLACE, ou UPDATE.

mysql_query() irá também falhar e retornar false se o usuário não tiver permissões para acessar a tabela(s) referenciadas pela consulta.

Exemplos

Exemplo #1 Consulta Inválida

A seguinte consulta é sintaticamente inválida, assim mysql_query() falha e retorna false.

<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

?>

Exemplo #2 Consulta válida

A seguinte consulta é válida, assim mysql_query() retorna um resource.

<?php
// This could be supplied by a user, for example
$firstname = 'fred';
$lastname  = 'fox';

// Formulate Query
// This is the best way to perform a SQL query
// For more examples, see mysql_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
    mysql_real_escape_string($firstname),
    mysql_real_escape_string($lastname));

// Perform Query
$result = mysql_query($query);

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    $message .= 'Whole query: ' . $query;
    die($message);
}

// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['address'];
    echo $row['age'];
}

// Free the resources associated with the result set
// This is done automatically at the end of the script
mysql_free_result($result);
?>

Veja Também

  • mysql_connect() - Abre uma conexão com um servidor MySQL
  • mysql_error() - Retorna o texto da mensagem de erro da operação MySQL anterior
  • mysql_real_escape_string() - Escapa os caracteres especiais numa string para usar em um comando SQL, levando em conta o conjunto atual de caracteres.
  • mysql_result() - Retorna dados do resultado
  • mysql_fetch_assoc() - Obtém uma linha do resultado como um array associativo
  • mysql_unbuffered_query() - Envia uma query para o MySQL, sem retornar e colocar em buffer as linhas do resultado


Escapa os caracteres especiais numa string para usar em um comando SQL, levando em conta o conjunto atual de caracteres.

  • « mysql_query
  • mysql_result »
  • PHP Manual
  • Funções da MySQL
  • Escapa os caracteres especiais numa string para usar em um comando SQL, levando em conta o conjunto atual de caracteres.

mysql_real_escape_string

(PHP 4 >= 4.3.0, PHP 5)

mysql_real_escape_string — Escapa os caracteres especiais numa string para usar em um comando SQL, levando em conta o conjunto atual de caracteres.

Descrição

mysql_real_escape_string ( string $unescaped_string , resource $link_identifier = ? ) : string

Esta função irá escapar os caracteres especiais em unescaped_string, levando em conta o atual conjunto de caracteres da conexão, assim é seguro coloca-la em mysql_query().

Nota: mysql_real_escape_string() não escapa % e _.

Exemplo #1 Exemplo mysql_real_escape_string()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
$item = "Zak's and Derick's Laptop";
$escaped_item = mysql_real_escape_string($item, $link);
printf("Escaped string: %s\n", $escaped_item);
?>

O exemplo acima deve produzir a seguinte saída:

Escaped string: Zak\'s and Derick\'s Laptop

Veja também mysql_escape_string() e mysql_client_encoding().


Retorna dados do resultado

  • « mysql_real_escape_string
  • mysql_select_db »
  • PHP Manual
  • Funções da MySQL
  • Retorna dados do resultado

mysql_result

(PHP 4, PHP 5)

mysql_result — Retorna dados do resultado

Descrição

mysql_result ( resource $result , int $row , mixed $ field = ? ) : mixed

mysql_result() retorna o conteúdo de uma célula do resultado MySQL. O argumento field(campo) pode ser o índice do campo, o nome do campo, o a tabela ponto o nome do campo(tabela.campo). Se o nome da coluna usa apelido ('select foo as bar from...'), use o apelido ao invés do nome da coluna.

Quando trabalhando com um grande conjunto de resultado, você deve considerar o uso de uma das funções que retornam toda a linha(especificadas abaixo). Estas funções retornam o conteúdo de multiplas células em uma chamada de função, elas são MUITO mais rapidas do que mysql_result(). Também note que especificar um índice do campo é muito mais rapido do que especificar o nome do campo ou tabela.campo.

Chamadas a mysql_result() não devem ser misturadas com chamadas a outras funções que lidam com o conjunto de resultados.

Exemplo #1 Exemplo mysql_result()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
$result = mysql_query('SELECT name FROM work.employee');
if (!$result) {
    die('Could not query:' . mysql_error());
}
echo mysql_result($result, 2); // outputs third employee's name

mysql_close($link);
?>

Alternativas de alta performance recomendadas:
mysql_fetch_row(),
mysql_fetch_array(),
mysql_fetch_assoc() e
mysql_fetch_object().


Seleciona um banco de dados MySQL

  • « mysql_result
  • mysql_set_charset »
  • PHP Manual
  • Funções da MySQL
  • Seleciona um banco de dados MySQL

mysql_select_db

(PHP 4, PHP 5)

mysql_select_db — Seleciona um banco de dados MySQL

Descrição

mysql_select_db ( string $database_name , resource $ link_identifier = ? ) : bool

Retorna true em caso de sucesso ou false em caso de falha.

mysql_select_db() define o banco de dados ativo no servidor que é associado ao identificador de conexão(link_identifier) especificado. Se nenhum identificador de conexão é especificado, a ultima conexão aberta é assumida. Se nenhuma conexão esta aberta, a função irá tentar abrir uma conexão como se mysql_connect() fosse chamada sem argumentos e usa-la.

Todas as próximas chamadas a mysql_query() serão feitas no banco de dados ativo.

Exemplo #1 Exemplo mysql_select_db()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Not connected : ' . mysql_error());
}

// make foo the current db
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
    die ('Can\'t use foo : ' . mysql_error());
}
?>

Veja também
mysql_connect(),
mysql_pconnect() e
mysql_query().

Para compatibilidade com versões anteriores mysql_selectdb() também pode ser usada. Esta função esta obsoleta.


Sets the client character set

  • « mysql_select_db
  • mysql_stat »
  • PHP Manual
  • Funções da MySQL
  • Sets the client character set

mysql_set_charset

(PHP 5 >= 5.2.3)

mysql_set_charset — Sets the client character set

Aviso

Esta extensão está obsoleta desde o PHP 5.5.0 e foi removida no PHP 7.0.0. Utilize MySQLi ou PDO_MySQL alternativamente. Veja também MySQL: escolhendo uma API e FAQs relacionadas para mais informações. Alternativas a essa função incluem:

  • mysqli_set_charset()
  • PDO: Add charset to the connection string, such as charset=utf8

Descrição

mysql_set_charset ( string $charset , resource $link_identifier = NULL ) : bool

Sets the default character set for the current connection.

Parâmetros

charset

A valid character set name.

link_identifier

A conexão MySQL. Se o link identifier não for especificado, o último link aberto por mysql_connect() é utilizado. Se uma conexão anterior não existir será tentado criar um a partir de uma chadama a mysql_connect() sem nenhum argumento. Se nenhuma conexão for encontrada ou estabelecida, um erro nível E_WARNING é gerado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

This function requires MySQL 5.0.7 or later.

Nota:

This is the preferred way to change the charset. Using mysql_query() to set it (such as SET NAMES utf8) is not recommended. See the MySQL character set concepts section for more information.

Veja Também

  • Setting character sets in MySQL
  • » List of character sets that MySQL supports
  • mysql_client_encoding() - Retorna o nome do conjunto de caracteres


Retorna o status atual do sistema

  • « mysql_set_charset
  • mysql_tablename »
  • PHP Manual
  • Funções da MySQL
  • Retorna o status atual do sistema

mysql_stat

(PHP 4 >= 4.3.0, PHP 5)

mysql_stat — Retorna o status atual do sistema

Descrição

mysql_stat ( resource $link_identifier = ? ) : string

mysql_stat() returna o status atual do servidor.

Nota:

mysql_stat() atualmente retorna somente o satus para uptime, threads, queries, open tables, flush tables e queries por segundos. Para uma lista completa de outras variáveis de staus você tem que usar o comando SQL SHOW STATUS.

Exemplo #1 Exemplo mysql_stat()

<?php
$link = mysql_connect('localhost', "mysql_user", "mysql_password");
$status = explode('  ', mysql_stat($link));
print_r($status);
?>

O exemplo acima deve produzir a seguinte saída:

Array
(
    [0] => Uptime: 5380
    [1] => Threads: 2
    [2] => Questions: 1321299
    [3] => Slow queries: 0
    [4] => Opens: 26
    [5] => Flush tables: 1
    [6] => Open tables: 17
    [7] => Queries per second avg: 245.595
)


Retorna o nome da tabela do campo

  • « mysql_stat
  • mysql_thread_id »
  • PHP Manual
  • Funções da MySQL
  • Retorna o nome da tabela do campo

mysql_tablename

(PHP 4, PHP 5)

mysql_tablename — Retorna o nome da tabela do campo

Descrição

mysql_tablename ( resource $result , int $i ) : string

mysql_tablename() usa um ponteiro de resultado retornado por mysql_list_tables() ou um índice inteiro e retorna o nome da tabela A função mysql_num_rows() pode ser usada para determinar o número de tabelas no ponteiro do resultado. Use a função mysql_tablename() para transpor o resultado, ou qualquer função para pegar o resultado como mysql_fetch_array().

Exemplo #1 Exemplo mysql_tablename()

<?php
mysql_connect("localhost", "mysql_user", "mysql_password");
$result = mysql_list_tables("mydb");

for ($i = 0; $i < mysql_num_rows($result); $i++) {
    echo "Table: ", mysql_tablename($result, $i), "\n";
}

mysql_free_result($result);
?>

Veja também mysql_list_tables().


Returna o ID da thread atual

  • « mysql_tablename
  • mysql_unbuffered_query »
  • PHP Manual
  • Funções da MySQL
  • Returna o ID da thread atual

mysql_thread_id

(PHP 4 >= 4.3.0, PHP 5)

mysql_thread_id — Returna o ID da thread atual

Descrição

mysql_thread_id ( resource $link_identifier = ? ) : int

mysql_thread_id() retorna o ID da thread atual. Se a conexão for perdida e você reconectar com mysql_ping(), o ID da thread irá muda. Isto indica que você não deve guardar o pegar ID e guarda-lo para depois. Você deve pega-lo quando você precisar dele.

Exemplo #1 Exemplo mysql_thread_id()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$thread_id = mysql_thread_id($link);
if ($thread_id){
    printf("current thread id is %d\n", $thread_id);
}
?>

O exemplo acima deve produzir a seguinte saída:

current thread id is 73

Veja também mysql_ping() e mysql_list_processes().


Envia uma query para o MySQL, sem retornar e colocar em buffer as linhas do resultado

  • « mysql_thread_id
  • Mysqlnd »
  • PHP Manual
  • Funções da MySQL
  • Envia uma query para o MySQL, sem retornar e colocar em buffer as linhas do resultado

mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query — Envia uma query para o MySQL, sem retornar e colocar em buffer as linhas do resultado

Descrição

mysql_unbuffered_query ( string $query , resource $link_identifier = ? ) : resource

mysql_unbuffered_query() envia uma query SQL para MySQL, sem retornar e colocar em buffer as linhas do resultado automaticamente, como mysql_query() faz. por um lado, isto salva uma quantidade considerável de memória em query que produzem um resultado grandes. por outro lado, você pode começãr a trbalhar com o resultado imediatamente após a primeira linha ser retornada: você não tem que esperar que toda a query SQL seja realizada. Quando usar multiplas conexões com o banco de dados, você deve especificar o parametro opcional link_identifier.

Nota:

Os beneficios de mysql_unbuffered_query() vem com um custo: você não pode usar mysql_num_rows() e mysql_data_seek() no resultado retornado por mysql_unbuffered_query(). Você também tem que pegar todas as linhas de uma query SQL sem buffer antes de poder enviar uma nova query SQL para o MySQL.

Veja também mysql_query().


MySQL Native Driver

  • Introdução
  • Overview
  • Installation
  • Configurações em Execução
  • Incompatibilities
  • Persistent Connections
  • Statistics
  • Notes
  • Memory management
  • MySQL Native Driver Plugin API
    • A comparison of mysqlnd plugins with MySQL Proxy
    • Obtaining the mysqlnd plugin API
    • MySQL Native Driver Plugin Architecture
    • The mysqlnd plugin API
    • Getting started building a mysqlnd plugin


Introdução

MySQL Native Driver is a replacement for the MySQL Client Library (libmysqlclient). MySQL Native Driver is part of the official PHP sources as of PHP 5.3.0.

The MySQL database extensions MySQL extension, mysqli and PDO MYSQL all communicate with the MySQL server. In the past, this was done by the extension using the services provided by the MySQL Client Library. The extensions were compiled against the MySQL Client Library in order to use its client-server protocol.

With MySQL Native Driver there is now an alternative, as the MySQL database extensions can be compiled to use MySQL Native Driver instead of the MySQL Client Library.

MySQL Native Driver is written in C as a PHP extension.


Overview

What it is not

Although MySQL Native Driver is written as a PHP extension, it is important to note that it does not provide a new API to the PHP programmer. The programmer APIs for MySQL database connectivity are provided by the MySQL extension, mysqli and PDO MYSQL. These extensions can now use the services of MySQL Native Driver to communicate with the MySQL Server. Therefore, you should not think of MySQL Native Driver as an API.

Why use it?

Using the MySQL Native Driver offers a number of advantages over using the MySQL Client Library.

The older MySQL Client Library was written by MySQL AB (now Oracle Corporation) and so was released under the MySQL license. This ultimately led to MySQL support being disabled by default in PHP. However, the MySQL Native Driver has been developed as part of the PHP project, and is therefore released under the PHP license. This removes licensing issues that have been problematic in the past.

Also, in the past, you needed to build the MySQL database extensions against a copy of the MySQL Client Library. This typically meant you needed to have MySQL installed on a machine where you were building the PHP source code. Also, when your PHP application was running, the MySQL database extensions would call down to the MySQL Client library file at run time, so the file needed to be installed on your system. With MySQL Native Driver that is no longer the case as it is included as part of the standard distribution. So you do not need MySQL installed in order to build PHP or run PHP database applications.

Because MySQL Native Driver is written as a PHP extension, it is tightly coupled to the workings of PHP. This leads to gains in efficiency, especially when it comes to memory usage, as the driver uses the PHP memory management system. It also supports the PHP memory limit. Using MySQL Native Driver leads to comparable or better performance than using MySQL Client Library, it always ensures the most efficient use of memory. One example of the memory efficiency is the fact that when using the MySQL Client Library, each row is stored in memory twice, whereas with the MySQL Native Driver each row is only stored once in memory.

Nota: Reporting memory usage

Because MySQL Native Driver uses the PHP memory management system, its memory usage can be tracked with memory_get_usage(). This is not possible with libmysqlclient because it uses the C function malloc() instead.

Special features

MySQL Native Driver also provides some special features not available when the MySQL database extensions use MySQL Client Library. These special features are listed below:

  • Improved persistent connections

  • The special function mysqli_fetch_all()

  • Performance statistics calls: mysqli_get_client_stats(), mysqli_get_connection_stats()

The performance statistics facility can prove to be very useful in identifying performance bottlenecks.

MySQL Native Driver also allows for persistent connections when used with the mysqli extension.

SSL Support

MySQL Native Driver supports SSL.

Compressed Protocol Support

MySQL Native Driver supports the compressed client server protocol. Extension ext/mysqli, if configured to use MySQL Native Driver, can also take advantage of this feature. Note that PDO_MYSQL does NOT support compression when used together with mysqlnd.

Named Pipes Support

Named pipes can be used to connect on Windows environments.


Installation

Installation on Unix

The MySQL database extensions must be configured to use the MySQL Client Library. In order to use the MySQL Native Driver, PHP needs to be built specifying that the MySQL database extensions are compiled with MySQL Native Driver support. This is done through configuration options prior to building the PHP source code.

For example, to build the MySQL extension, mysqli and PDO MYSQL using the MySQL Native Driver, the following command would be given:

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
[other options]

Installation on Windows

In the official PHP Windows distributions, MySQL Native Driver is enabled by default, so no additional configuration is required to use it. All MySQL database extensions will use MySQL Native Driver in this case.

SHA-256 Authentication Plugin support

The MySQL Native Driver requires the OpenSSL functionality of PHP to be loaded and enabled to connect to MySQL through accounts that use the MySQL SHA-256 Authentication Plugin. For example, PHP could be configured using:

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl
[other options]


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

MySQL Native Driver Configuration Options
Nome | Padrão | Modificável | Changelog
mysqlnd.collect_statistics | "1" | PHP_INI_SYSTEM |
mysqlnd.collect_memory_statistics | "0" | PHP_INI_SYSTEM |
mysqlnd.debug | "" | PHP_INI_SYSTEM |
mysqlnd.log_mask | 0 | PHP_INI_ALL |
mysqlnd.mempool_default_size | 16000 | PHP_INI_ALL |
mysqlnd.net_read_timeout | "86400" | PHP_INI_ALL | Before PHP 7.2.0 the default value was "31536000" and the changeability was PHP_INI_SYSTEM
mysqlnd.net_cmd_buffer_size | "4096" | PHP_INI_SYSTEM |
mysqlnd.net_read_buffer_size | "32768" | PHP_INI_SYSTEM |
mysqlnd.sha256_server_public_key | "" | PHP_INI_PERDIR |
mysqlnd.trace_alloc | "" | PHP_INI_SYSTEM |
mysqlnd.fetch_data_copy | 0 | PHP_INI_ALL |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

mysqlnd.collect_statistics bool

Enables the collection of various client statistics which can be accessed through mysqli_get_client_stats(), mysqli_get_connection_stats(), and are shown in mysqlnd section of the output of the phpinfo() function as well.

This configuration setting enables all MySQL Native Driver statistics except those relating to memory management.

mysqlnd.collect_memory_statistics bool

Enable the collection of various memory statistics which can be accessed through mysqli_get_client_stats(), mysqli_get_connection_stats(), and are shown in mysqlnd section of the output of the phpinfo() function as well.

This configuration setting enables the memory management statistics within the overall set of MySQL Native Driver statistics.

mysqlnd.debug string

Records communication from all extensions using mysqlnd to the specified log file.

The format of the directive is mysqlnd.debug = "option1[,parameter_option1][:option2[,parameter_option2]]".

The options for the format string are as follows:

  • A[,file] - Appends trace output to specified file. Also ensures that data is written after each write. This is done by closing and reopening the trace file (this is slow). It helps ensure a complete log file should the application crash.

  • a[,file] - Appends trace output to the specified file.

  • d - Enables output from DBUG_<N> macros for the current state. May be followed by a list of keywords which selects output only for the DBUG macros with that keyword. An empty list of keywords implies output for all macros.

  • f[,functions] - Limits debugger actions to the specified list of functions. An empty list of functions implies that all functions are selected.

  • F - Marks each debugger output line with the name of the source file containing the macro causing the output.

  • i - Marks each debugger output line with the PID of the current process.

  • L - Marks each debugger output line with the name of the source file line number of the macro causing the output.

  • n - Marks each debugger output line with the current function nesting depth

  • o[,file] - Similar to a[,file] but overwrites old file, and does not append.

  • O[,file] - Similar to A[,file] but overwrites old file, and does not append.

  • t[,N] - Enables function control flow tracing. The maximum nesting depth is specified by N, and defaults to 200.

  • x - This option activates profiling.

  • m - Trace memory allocation and deallocation related calls.

Example:

d:t:x:O,/tmp/mysqlnd.trace

Nota:

This feature is only available with a debug build of PHP. Works on Microsoft Windows if using a debug build of PHP and PHP was built using Microsoft Visual C version 9 and above.

mysqlnd.log_mask int

Defines which queries will be logged. The default 0, which disables logging. Define using an integer, and not with PHP constants. For example, a value of 48 (16 + 32) will log slow queries which either use 'no good index' (SERVER_QUERY_NO_GOOD_INDEX_USED = 16) or no index at all (SERVER_QUERY_NO_INDEX_USED = 32). A value of 2043 (1 + 2 + 8 + ... + 1024) will log all slow query types.

The types are as follows: SERVER_STATUS_IN_TRANS=1, SERVER_STATUS_AUTOCOMMIT=2,
SERVER_MORE_RESULTS_EXISTS=8, SERVER_QUERY_NO_GOOD_INDEX_USED=16, SERVER_QUERY_NO_INDEX_USED=32,
SERVER_STATUS_CURSOR_EXISTS=64, SERVER_STATUS_LAST_ROW_SENT=128, SERVER_STATUS_DB_DROPPED=256,
SERVER_STATUS_NO_BACKSLASH_ESCAPES=512, and SERVER_QUERY_WAS_SLOW=1024.

mysqlnd.mempool_default_size int

Default size of the mysqlnd memory pool, which is used by result sets.

mysqlnd.net_read_timeout int

mysqlnd and the MySQL Client Library, libmysqlclient use different networking APIs. mysqlnd uses PHP streams, whereas libmysqlclient uses its own wrapper around the operating level network calls. PHP, by default, sets a read timeout of 60s for streams. This is set via php.ini, default_socket_timeout. This default applies to all streams that set no other timeout value. mysqlnd does not set any other value and therefore connections of long running queries can be disconnected after default_socket_timeout seconds resulting in an error message 2006 - MySQL Server has gone away. The MySQL Client Library sets a default timeout of 24 * 3600 seconds (1 day) and waits for other timeouts to occur, such as TCP/IP timeouts. mysqlnd now uses the same very long timeout. The value is configurable through a new php.ini setting: mysqlnd.net_read_timeout. mysqlnd.net_read_timeout gets used by any extension (ext/mysql, ext/mysqli, PDO_MySQL) that uses mysqlnd. mysqlnd tells PHP Streams to use mysqlnd.net_read_timeout. Please note that there may be subtle differences between MYSQL_OPT_READ_TIMEOUT from the MySQL Client Library and PHP Streams, for example MYSQL_OPT_READ_TIMEOUT is documented to work only for TCP/IP connections and, prior to MySQL 5.1.2, only for Windows. PHP streams may not have this limitation. Please check the streams documentation, if in doubt.

mysqlnd.net_cmd_buffer_size int

mysqlnd allocates an internal command/network buffer of mysqlnd.net_cmd_buffer_size (in php.ini) bytes for every connection. If a MySQL Client Server protocol command, for example, COM_QUERY (normal query), does not fit into the buffer, mysqlnd will grow the buffer to the size required for sending the command. Whenever the buffer gets extended for one connection, command_buffer_too_small will be incremented by one.

If mysqlnd has to grow the buffer beyond its initial size of mysqlnd.net_cmd_buffer_size bytes for almost every connection, you should consider increasing the default size to avoid re-allocations.

The default buffer size is 4096 bytes, which is the smallest value possible.

The value can also be set using mysqli_options(link, MYSQLI_OPT_NET_CMD_BUFFER_SIZE, size).

mysqlnd.net_read_buffer_size int

Maximum read chunk size in bytes when reading the body of a MySQL command packet. The MySQL client server protocol encapsulates all its commands in packets. The packets consist of a small header and a body with the actual payload. The size of the body is encoded in the header. mysqlnd reads the body in chunks of MIN(header.size, mysqlnd.net_read_buffer_size) bytes. If a packet body is larger than mysqlnd.net_read_buffer_size bytes, mysqlnd has to call read() multiple times.

The value can also be set using mysqli_options(link, MYSQLI_OPT_NET_READ_BUFFER_SIZE, size).

mysqlnd.sha256_server_public_key string

SHA-256 Authentication Plugin related. File with the MySQL server public RSA key.

Clients can either omit setting a public RSA key, specify the key through this PHP configuration setting or set the key at runtime using mysqli_options(). If not public RSA key file is given by the client, then the key will be exchanged as part of the standard SHA-256 Authentication Plugin authentication procedure.

mysqlnd.trace_alloc string

mysqlnd.fetch_data_copy int

Enforce copying result sets from the internal result set buffers into PHP variables instead of using the default reference and copy-on-write logic. Please, see the memory management implementation notes for further details.

Copying result sets instead of having PHP variables reference them allows releasing the memory occupied for the PHP variables earlier. Depending on the user API code, the actual database quries and the size of their result sets this may reduce the memory footprint of mysqlnd.

Do not set if using PDO_MySQL. PDO_MySQL has not yet been updated to support the new fetch mode.


Incompatibilities

MySQL Native Driver is in most cases compatible with MySQL Client Library (libmysql). This section documents incompatibilities between these libraries.

  • Values of bit data type are returned as binary strings (e.g. "\0" or "\x1F") with libmysql and as decimal strings (e.g. "0" or "31") with mysqlnd. If you want the code to be compatible with both libraries then always return bit fields as numbers from MySQL with a query like this: SELECT bit + 0 FROM table.


Persistent Connections

Using Persistent Connections

If mysqli is used with mysqlnd, when a persistent connection is created it generates a COM_CHANGE_USER (mysql_change_user()) call on the server. This ensures that re-authentication of the connection takes place.

As there is some overhead associated with the COM_CHANGE_USER call, it is possible to switch this off at compile time. Reusing a persistent connection will then generate a COM_PING (mysql_ping) call to simply test the connection is reusable.

Generation of COM_CHANGE_USER can be switched off with the compile flag MYSQLI_NO_CHANGE_USER_ON_PCONNECT. For example:

shell# CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT" ./configure --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --enable-debug && make clean && make -j6

Or alternatively:

shell# export CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT"
shell# configure --whatever-option
shell# make clean
shell# make

Note that only mysqli on mysqlnd uses COM_CHANGE_USER. Other extension-driver combinations use COM_PING on initial use of a persistent connection.


Statistics

Using Statistical Data

MySQL Native Driver contains support for gathering statistics on the communication between the client and the server. The statistics gathered are of two main types:

  • Client statistics

  • Connection statistics

If you are using the mysqli extension, these statistics can be obtained through two API calls:

  • mysqli_get_client_stats()

  • mysqli_get_connection_stats()

Nota:

Statistics are aggregated among all extensions that use MySQL Native Driver. For example, when compiling both ext/mysql and ext/mysqli against MySQL Native Driver, both function calls of ext/mysql and ext/mysqli will change the statistics. There is no way to find out how much a certain API call of any extension that has been compiled against MySQL Native Driver has impacted a certain statistic. You can configure the PDO MySQL Driver, ext/mysql and ext/mysqli to optionally use the MySQL Native Driver. When doing so, all three extensions will change the statistics.

Accessing Client Statistics

To access client statistics, you need to call mysqli_get_client_stats(). The function call does not require any parameters.

The function returns an associative array that contains the name of the statistic as the key and the statistical data as the value.

Client statistics can also be accessed by calling the phpinfo() function.

Accessing Connection Statistics

To access connection statistics call mysqli_get_connection_stats(). This takes the database connection handle as the parameter.

The function returns an associative array that contains the name of the statistic as the key and the statistical data as the value.

Buffered and Unbuffered Result Sets

Result sets can be buffered or unbuffered. Using default settings, ext/mysql and ext/mysqli work with buffered result sets for normal (non prepared statement) queries. Buffered result sets are cached on the client. After the query execution all results are fetched from the MySQL Server and stored in a cache on the client. The big advantage of buffered result sets is that they allow the server to free all resources allocated to a result set, once the results have been fetched by the client.

Unbuffered result sets on the other hand are kept much longer on the server. If you want to reduce memory consumption on the client, but increase load on the server, use unbuffered results. If you experience a high server load and the figures for unbuffered result sets are high, you should consider moving the load to the clients. Clients typically scale better than servers. Load does not only refer to memory buffers - the server also needs to keep other resources open, for example file handles and threads, before a result set can be freed.

Prepared Statements use unbuffered result sets by default. However, you can use mysqli_stmt_store_result() to enable buffered result sets.

Statistics returned by MySQL Native Driver

The following tables show a list of statistics returned by the mysqli_get_client_stats() and mysqli_get_connection_stats() functions.

Returned mysqlnd statistics: Network
Statistic | Scope | Description | Notes
bytes_sent | Connection | Number of bytes sent from PHP to the MySQL server | Can be used to check the efficiency of the compression protocol
bytes_received | Connection | Number of bytes received from MySQL server | Can be used to check the efficiency of the compression protocol
packets_sent | Connection | Number of MySQL Client Server protocol packets sent | Used for debugging Client Server protocol implementation
packets_received | Connection | Number of MySQL Client Server protocol packets received | Used for debugging Client Server protocol implementation
protocol_overhead_in | Connection | MySQL Client Server protocol overhead in bytes for incoming traffic. Currently only the Packet Header (4 bytes) is considered as overhead. protocol_overhead_in = packets_received * 4 | Used for debugging Client Server protocol implementation
protocol_overhead_out | Connection | MySQL Client Server protocol overhead in bytes for outgoing traffic. Currently only the Packet Header (4 bytes) is considered as overhead. protocol_overhead_out = packets_sent * 4 | Used for debugging Client Server protocol implementation
bytes_received_ok_packet | Connection | Total size of bytes of MySQL Client Server protocol OK packets received. OK packets can contain a status message. The length of the status message can vary and thus the size of an OK packet is not fixed. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_ok | Connection | Number of MySQL Client Server protocol OK packets received. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_eof_packet | Connection | Total size in bytes of MySQL Client Server protocol EOF packets received. EOF can vary in size depending on the server version. Also, EOF can transport an error message. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_eof | Connection | Number of MySQL Client Server protocol EOF packets. Like with other packet statistics the number of packets will be increased even if PHP does not receive the expected packet but, for example, an error message. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_rset_header_packet | Connection | Total size in bytes of MySQL Client Server protocol result set header packets. The size of the packets varies depending on the payload (LOAD LOCAL INFILE, INSERT, UPDATE, SELECT, error message). | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_rset_header | Connection | Number of MySQL Client Server protocol result set header packets. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_rset_field_meta_packet | Connection | Total size in bytes of MySQL Client Server protocol result set meta data (field information) packets. Of course the size varies with the fields in the result set. The packet may also transport an error or an EOF packet in case of COM_LIST_FIELDS. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_rset_field_meta | Connection | Number of MySQL Client Server protocol result set meta data (field information) packets. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_rset_row_packet | Connection | Total size in bytes of MySQL Client Server protocol result set row data packets. The packet may also transport an error or an EOF packet. You can reverse engineer the number of error and EOF packets by subtracting rows_fetched_from_server_normal and rows_fetched_from_server_ps from bytes_received_rset_row_packet. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_rset_row | Connection | Number of MySQL Client Server protocol result set row data packets and their total size in bytes. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_prepare_response_packet | Connection | Total size in bytes of MySQL Client Server protocol OK for Prepared Statement Initialization packets (prepared statement init packets). The packet may also transport an error. The packet size depends on the MySQL version: 9 bytes with MySQL 4.1 and 12 bytes from MySQL 5.0 on. There is no safe way to know how many errors happened. You may be able to guess that an error has occurred if, for example, you always connect to MySQL 5.0 or newer and, bytes_received_prepare_response_packet != packets_received_prepare_response * 12. See also ps_prepared_never_executed, ps_prepared_once_executed. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_prepare_response | Connection | Number of MySQL Client Server protocol OK for Prepared Statement Initialization packets (prepared statement init packets). | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_change_user_packet | Connection | Total size in bytes of MySQL Client Server protocol COM_CHANGE_USER packets. The packet may also transport an error or EOF. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_change_user | Connection | Number of MySQL Client Server protocol COM_CHANGE_USER packets | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_sent_command | Connection | Number of MySQL Client Server protocol commands sent from PHP to MySQL. There is no way to know which specific commands and how many of them have been sent. At its best you can use it to check if PHP has sent any commands to MySQL to know if you can consider to disable MySQL support in your PHP binary. There is also no way to reverse engineer the number of errors that may have occurred while sending data to MySQL. The only error that is recorded is command_buffer_too_small (see below). | Only useful for debugging CS protocol implementation.
bytes_received_real_data_normal Connection Number of bytes of payload fetched by the PHP client from mysqlnd using the text protocol. This is the size of the actual data contained in result sets that do not originate from prepared statements and which have been fetched by the PHP client. Note that although a full result set may have been pulled from MySQL by mysqlnd, this statistic only counts actual data pulled from mysqlnd by the PHP client. An example of a code sequence that will increase the value is as follows:
$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->fetch_assoc();
$res->close();

Every fetch operation will increase the value.

The statistic will not be increased if the result set is only buffered on the client, but not fetched, such as in the following example:

$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->close();
bytes_received_real_data_ps | Connection | Number of bytes of the payload fetched by the PHP client from mysqlnd using the prepared statement protocol. | This is the size of the actual data contained in result sets that originate from prepared statements and which has been fetched by the PHP client. The value will not be increased if the result set is not subsequently read by the PHP client. Note that although a full result set may have been pulled from MySQL by mysqlnd, this statistic only counts actual data pulled from mysqlnd by the PHP client. See also bytes_received_real_data_normal.

Result Set

Returned mysqlnd statistics: Result Set
Statistic | Scope | Description | Notes
result_set_queries | Connection | Number of queries that have generated a result set. Examples of queries that generate a result set: SELECT, SHOW. The statistic will not be incremented if there is an error reading the result set header packet from the line. | You may use it as an indirect measure for the number of queries PHP has sent to MySQL, for example, to identify a client that causes a high database load.
non_result_set_queries | Connection | Number of queries that did not generate a result set. Examples of queries that do not generate a result set: INSERT, UPDATE, LOAD DATA. The statistic will not be incremented if there is an error reading the result set header packet from the line. | You may use it as an indirect measure for the number of queries PHP has sent to MySQL, for example, to identify a client that causes a high database load.
no_index_used | Connection | Number of queries that have generated a result set but did not use an index (see also mysqld start option –log-queries-not-using-indexes). If you want these queries to be reported you can use mysqli_report(MYSQLI_REPORT_INDEX) to make ext/mysqli throw an exception. If you prefer a warning instead of an exception use mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT).
bad_index_used | Connection | Number of queries that have generated a result set and did not use a good index (see also mysqld start option –log-slow-queries). | If you want these queries to be reported you can use mysqli_report(MYSQLI_REPORT_INDEX) to make ext/mysqli throw an exception. If you prefer a warning instead of an exception use mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT)
slow_queries | Connection | SQL statements that took more than long_query_time seconds to execute and required at least min_examined_row_limit rows to be examined. | Not reported through mysqli_report()
buffered_sets | Connection | Number of buffered result sets returned by normal queries. Normal means not prepared statement in the following notes. | Examples of API calls that will buffer result sets on the client: mysql_query(), mysqli_query(), mysqli_store_result(), mysqli_stmt_get_result(). Buffering result sets on the client ensures that server resources are freed as soon as possible and it makes result set scrolling easier. The downside is the additional memory consumption on the client for buffering data. Note that mysqlnd (unlike the MySQL Client Library) respects the PHP memory limit because it uses PHP internal memory management functions to allocate memory. This is also the reason why memory_get_usage() reports a higher memory consumption when using mysqlnd instead of the MySQL Client Library. memory_get_usage() does not measure the memory consumption of the MySQL Client Library at all because the MySQL Client Library does not use PHP internal memory management functions monitored by the function!
unbuffered_sets | Connection | Number of unbuffered result sets returned by normal (non prepared statement) queries. | Examples of API calls that will not buffer result sets on the client: mysqli_use_result()
ps_buffered_sets | Connection | Number of buffered result sets returned by prepared statements. By default prepared statements are unbuffered. | Examples of API calls that will buffer result sets on the client: mysqli_stmt_store_result
ps_unbuffered_sets | Connection | Number of unbuffered result sets returned by prepared statements. | By default prepared statements are unbuffered.
flushed_normal_sets Connection Number of result sets from normal (non prepared statement) queries with unread data which have been flushed silently for you. Flushing happens only with unbuffered result sets. Unbuffered result sets must be fetched completely before a new query can be run on the connection otherwise MySQL will throw an error. If the application does not fetch all rows from an unbuffered result set, mysqlnd does implicitly fetch the result set to clear the line. See also rows_skipped_normal, rows_skipped_ps. Some possible causes for an implicit flush:

  • Faulty client application

  • Client stopped reading after it found what it was looking for but has made MySQL calculate more records than needed

  • Client application has stopped unexpectedly

flushed_ps_sets Connection Number of result sets from prepared statements with unread data which have been flushed silently for you. Flushing happens only with unbuffered result sets. Unbuffered result sets must be fetched completely before a new query can be run on the connection otherwise MySQL will throw an error. If the application does not fetch all rows from an unbuffered result set, mysqlnd does implicitly fetch the result set to clear the line. See also rows_skipped_normal, rows_skipped_ps. Some possible causes for an implicit flush:

  • Faulty client application

  • Client stopped reading after it found what it was looking for but has made MySQL calculate more records than needed

  • Client application has stopped unexpectedly

ps_prepared_never_executed | Connection | Number of statements prepared but never executed. | Prepared statements occupy server resources. You should not prepare a statement if you do not plan to execute it.
ps_prepared_once_executed | Connection | Number of prepared statements executed only one. | One of the ideas behind prepared statements is that the same query gets executed over and over again (with different parameters) and some parsing and other preparation work can be saved, if statement execution is split up in separate prepare and execute stages. The idea is to prepare once and cache results, for example, the parse tree to be reused during multiple statement executions. If you execute a prepared statement only once the two stage processing can be inefficient compared to normal queries because all the caching means extra work and it takes (limited) server resources to hold the cached information. Consequently, prepared statements that are executed only once may cause performance hurts.
rows_fetched_from_server_normal, rows_fetched_from_server_ps | Connection | Total number of result set rows successfully fetched from MySQL regardless if the client application has consumed them or not. Some of the rows may not have been fetched by the client application but have been flushed implicitly. | See also packets_received_rset_row
rows_buffered_from_client_normal, rows_buffered_from_client_ps | Connection | Total number of successfully buffered rows originating from a "normal" query or a prepared statement. This is the number of rows that have been fetched from MySQL and buffered on client. Note that there are two distinct statistics on rows that have been buffered (MySQL to mysqlnd internal buffer) and buffered rows that have been fetched by the client application (mysqlnd internal buffer to client application). If the number of buffered rows is higher than the number of fetched buffered rows it can mean that the client application runs queries that cause larger result sets than needed resulting in rows not read by the client. | Examples of queries that will buffer results: mysqli_query(), mysqli_store_result()
rows_fetched_from_client_normal_buffered, rows_fetched_from_client_ps_buffered | Connection | Total number of rows fetched by the client from a buffered result set created by a normal query or a prepared statement.
rows_fetched_from_client_normal_unbuffered, rows_fetched_from_client_ps_unbuffered | Connection | Total number of rows fetched by the client from a unbuffered result set created by a "normal" query or a prepared statement.
rows_fetched_from_client_ps_cursor | Connection | Total number of rows fetch by the client from a cursor created by a prepared statement.
rows_skipped_normal, rows_skipped_ps | Connection | Reserved for future use (currently not supported)
copy_on_write_saved, copy_on_write_performed | Process | With mysqlnd, variables returned by the extensions point into mysqlnd internal network result buffers. If you do not change the variables, fetched data will be kept only once in memory. If you change the variables, mysqlnd has to perform a copy-on-write to protect the internal network result buffers from being changed. With the MySQL Client Library you always hold fetched data twice in memory. Once in the internal MySQL Client Library buffers and once in the variables returned by the extensions. In theory mysqlnd can save up to 40% memory. However, note that the memory saving cannot be measured using memory_get_usage().
explicit_free_result, implicit_free_result | Connection, Process (only during prepared statement cleanup) | Total number of freed result sets. | The free is always considered explicit but for result sets created by an init command, for example, mysqli_options(MYSQLI_INIT_COMMAND , ...)
proto_text_fetched_null, proto_text_fetched_bit, proto_text_fetched_tinyint proto_text_fetched_short, proto_text_fetched_int24, proto_text_fetched_int proto_text_fetched_bigint, proto_text_fetched_decimal, proto_text_fetched_float proto_text_fetched_double, proto_text_fetched_date, proto_text_fetched_year proto_text_fetched_time, proto_text_fetched_datetime, proto_text_fetched_timestamp proto_text_fetched_string, proto_text_fetched_blob, proto_text_fetched_enum proto_text_fetched_set, proto_text_fetched_geometry, proto_text_fetched_other Connection Total number of columns of a certain type fetched from a normal query (MySQL text protocol). Mapping from C API / MySQL meta data type to statistics name:

  • MYSQL_TYPE_NULL - proto_text_fetched_null

  • MYSQL_TYPE_BIT - proto_text_fetched_bit

  • MYSQL_TYPE_TINY - proto_text_fetched_tinyint

  • MYSQL_TYPE_SHORT - proto_text_fetched_short

  • MYSQL_TYPE_INT24 - proto_text_fetched_int24

  • MYSQL_TYPE_LONG - proto_text_fetched_int

  • MYSQL_TYPE_LONGLONG - proto_text_fetched_bigint

  • MYSQL_TYPE_DECIMAL, MYSQL_TYPE_NEWDECIMAL - proto_text_fetched_decimal

  • MYSQL_TYPE_FLOAT - proto_text_fetched_float

  • MYSQL_TYPE_DOUBLE - proto_text_fetched_double

  • MYSQL_TYPE_DATE, MYSQL_TYPE_NEWDATE - proto_text_fetched_date

  • MYSQL_TYPE_YEAR - proto_text_fetched_year

  • MYSQL_TYPE_TIME - proto_text_fetched_time

  • MYSQL_TYPE_DATETIME - proto_text_fetched_datetime

  • MYSQL_TYPE_TIMESTAMP - proto_text_fetched_timestamp

  • MYSQL_TYPE_STRING, MYSQL_TYPE_VARSTRING, MYSQL_TYPE_VARCHAR - proto_text_fetched_string

  • MYSQL_TYPE_TINY_BLOB, MYSQL_TYPE_MEDIUM_BLOB, MYSQL_TYPE_LONG_BLOB, MYSQL_TYPE_BLOB - proto_text_fetched_blob

  • MYSQL_TYPE_ENUM - proto_text_fetched_enum

  • MYSQL_TYPE_SET - proto_text_fetched_set

  • MYSQL_TYPE_GEOMETRY - proto_text_fetched_geometry

  • Any MYSQL_TYPE_* not listed before (there should be none) - proto_text_fetched_other

Note that the MYSQL_*-type constants may not be associated with the very same SQL column types in every version of MySQL.

proto_binary_fetched_null, proto_binary_fetched_bit, proto_binary_fetched_tinyint proto_binary_fetched_short, proto_binary_fetched_int24, proto_binary_fetched_int, proto_binary_fetched_bigint, proto_binary_fetched_decimal, proto_binary_fetched_float, proto_binary_fetched_double, proto_binary_fetched_date, proto_binary_fetched_year, proto_binary_fetched_time, proto_binary_fetched_datetime, proto_binary_fetched_timestamp, proto_binary_fetched_string, proto_binary_fetched_blob, proto_binary_fetched_enum, proto_binary_fetched_set, proto_binary_fetched_geometry, proto_binary_fetched_other | Connection | Total number of columns of a certain type fetched from a prepared statement (MySQL binary protocol). | For type mapping see proto_text_* described in the preceding text.
Returned mysqlnd statistics: Connection
Statistic | Scope | Description | Notes
connect_success, connect_failure | Connection | Total number of successful / failed connection attempt. | Reused connections and all other kinds of connections are included.
reconnect | Process | Total number of (real_)connect attempts made on an already opened connection handle. | The code sequence $link = new mysqli(...); $link->real_connect(...) will cause a reconnect. But $link = new mysqli(...); $link->connect(...) will not because $link->connect(...) will explicitly close the existing connection before a new connection is established.
pconnect_success | Connection | Total number of successful persistent connection attempts. | Note that connect_success holds the sum of successful persistent and non-persistent connection attempts. The number of successful non-persistent connection attempts is connect_success - pconnect_success.
active_connections | Connection | Total number of active persistent and non-persistent connections.
active_persistent_connections | Connection | Total number of active persistent connections. | The total number of active non-persistent connections is active_connections - active_persistent_connections.
explicit_close Connection Total number of explicitly closed connections (ext/mysqli only). Examples of code snippets that cause an explicit close :
$link = new mysqli(...); $link->close(...)
$link = new mysqli(...); $link->connect(...)
implicit_close Connection Total number of implicitly closed connections (ext/mysqli only). Examples of code snippets that cause an implicit close :

  • $link = new mysqli(...); $link->real_connect(...)

  • unset($link)

  • Persistent connection: pooled connection has been created with real_connect and there may be unknown options set - close implicitly to avoid returning a connection with unknown options

  • Persistent connection: ping/change_user fails and ext/mysqli closes the connection

  • end of script execution: close connections that have not been closed by the user

disconnect_close | Connection | Connection failures indicated by the C API call mysql_real_connect() during an attempt to establish a connection. | It is called disconnect_close because the connection handle passed to the C API call will be closed.
in_middle_of_command_close | Process | A connection has been closed in the middle of a command execution (outstanding result sets not fetched, after sending a query and before retrieving an answer, while fetching data, while transferring data with LOAD DATA). | Unless you use asynchronous queries this should only happen if your script stops unexpectedly and PHP shuts down the connections for you.
init_command_executed_count | Connection | Total number of init command executions, for example, mysqli_options(MYSQLI_INIT_COMMAND , ...). | The number of successful executions is init_command_executed_count - init_command_failed_count.
init_command_failed_count | Connection | Total number of failed init commands.
Returned mysqlnd statistics: COM_* Command
Statistic Scope Description Notes
com_quit, com_init_db, com_query, com_field_list, com_create_db, com_drop_db, com_refresh, com_shutdown, com_statistics, com_process_info, com_connect, com_process_kill, com_debug, com_ping, com_time, com_delayed_insert, com_change_user, com_binlog_dump, com_table_dump, com_connect_out, com_register_slave, com_stmt_prepare, com_stmt_execute, com_stmt_send_long_data, com_stmt_close, com_stmt_reset, com_stmt_set_option, com_stmt_fetch, com_daemon Connection Total number of attempts to send a certain COM_* command from PHP to MySQL.

The statistics are incremented after checking the line and immediately before sending the corresponding MySQL client server protocol packet. If mysqlnd fails to send the packet over the wire the statistics will not be decremented. In case of a failure mysqlnd emits a PHP warning Error while sending %s packet. PID=%d.

Usage examples:

  • Check if PHP sends certain commands to MySQL, for example, check if a client sends COM_PROCESS_KILL

  • Calculate the average number of prepared statement executions by comparing COM_EXECUTE with COM_PREPARE

  • Check if PHP has run any non-prepared SQL statements by checking if COM_QUERY is zero

  • Identify PHP scripts that run an excessive number of SQL statements by checking COM_QUERY and COM_EXECUTE

Miscellaneous

Returned mysqlnd statistics: Miscellaneous
Statistic | Scope | Description | Notes
explicit_stmt_close, implicit_stmt_close | Process | Total number of close prepared statements. | A close is always considered explicit but for a failed prepare.
mem_emalloc_count, mem_emalloc_ammount, mem_ecalloc_count, mem_ecalloc_ammount, mem_erealloc_count, mem_erealloc_ammount, mem_efree_count, mem_malloc_count, mem_malloc_ammount, mem_calloc_count, mem_calloc_ammount, mem_realloc_count, mem_realloc_ammount, mem_free_count | Process | Memory management calls. | Development only.
command_buffer_too_small Connection Number of network command buffer extensions while sending commands from PHP to MySQL.

mysqlnd allocates an internal command/network buffer of mysqlnd.net_cmd_buffer_size (php.ini) bytes for every connection. If a MySQL Client Server protocol command, for example, COM_QUERY (normal query), does not fit into the buffer, mysqlnd will grow the buffer to what is needed for sending the command. Whenever the buffer gets extended for one connection command_buffer_too_small will be incremented by one.

If mysqlnd has to grow the buffer beyond its initial size of mysqlnd.net_cmd_buffer_size (php.ini) bytes for almost every connection, you should consider to increase the default size to avoid re-allocations.

The default buffer size is 4096 bytes, which is the smallest value possible. The default can changed either through the php.ini setting mysqlnd.net_cmd_buffer_size or using mysqli_options(MYSQLI_OPT_NET_CMD_BUFFER_SIZE, int size).

connection_reused


Notes

This section provides a collection of miscellaneous notes on MySQL Native Driver usage.

  • Using mysqlnd means using PHP streams for underlying connectivity. For mysqlnd, the PHP streams documentation (Streams) should be consulted on such details as timeout settings, not the documentation for the MySQL Client Library.


Memory management

Introduction

The MySQL Native Driver manages memory different than the MySQL Client Library. The libraries differ in the way memory is allocated and released, how memory is allocated in chunks while reading results from MySQL, which debug and development options exist, and how results read from MySQL are linked to PHP user variables.

The following notes are intended as an introduction and summary to users interested at understanding the MySQL Native Driver at the C code level.

Memory management functions used

All memory allocation and deallocation is done using the PHP memory management functions. Therefore, the memory consumption of mysqlnd can be tracked using PHP API calls, such as memory_get_usage(). Because memory is allocated and released using the PHP memory management, the changes may not immediately become visible at the operating system level. The PHP memory management acts as a proxy which may delay releasing memory towards the system. Due to this, comparing the memory usage of the MySQL Native Driver and the MySQL Client Library is difficult. The MySQL Client Library is using the operating system memory management calls directly, hence the effects can be observed immediately at the operating system level.

Any memory limit enforced by PHP also affects the MySQL Native Driver. This may cause out of memory errors when fetching large result sets that exceed the size of the remaining memory made available by PHP. Because the MySQL Client Library is not using PHP memory management functions, it does not comply to any PHP memory limit set. If using the MySQL Client Library, depending on the deployment model, the memory footprint of the PHP process may grow beyond the PHP memory limit. But also PHP scripts may be able to process larger result sets as parts of the memory allocated to hold the result sets are beyond the control of the PHP engine.

PHP memory management functions are invoked by the MySQL Native Driver through a lightweight wrapper. Among others, the wrapper makes debugging easier.

Handling of result sets

The various MySQL Server and the various client APIs differentiate between buffered and unbuffered result sets. Unbuffered result sets are transferred row-by-row from MySQL to the client as the client iterates over the results. Buffered results are fetched in their entirety by the client library before passing them on to the client.

The MySQL Native Driver is using PHP Streams for the network communication with the MySQL Server. Results sent by MySQL are fetched from the PHP Streams network buffers into the result buffer of mysqlnd. The result buffer is made of zvals. In a second step the results are made available to the PHP script. This final transfer from the result buffer into PHP variables impacts the memory consumption and is mostly noticeable when using buffered result sets.

By default the MySQL Native Driver tries to avoid holding buffered results twice in memory. Results are kept only once in the internal result buffers and their zvals. When results are fetched into PHP variables by the PHP script, the variables will reference the internal result buffers. Database query results are not copied and kept in memory only once. Should the user modify the contents of a variable holding the database results a copy-on-write must be performed to avoid changing the referenced internal result buffer. The contents of the buffer must not be modified because the user may decide to read the result set a second time. The copy-on-write mechanism is implemented using an additional reference management list and the use of standard zval reference counters. Copy-on-write must also be done if the user reads a result set into PHP variables and frees a result set before the variables are unset.

Generally speaking, this pattern works well for scripts that read a result set once and do not modify variables holding results. Its major drawback is the memory overhead caused by the additional reference management which comes primarily from the fact that user variables holding results cannot be entirely released until the mysqlnd reference management stops referencing them. The MySQL Native driver removes the reference to the user variables when the result set is freed or a copy-on-write is performed. An observer will see the total memory consumption grow until the result set is released. Use the statistics to check whether a script does release result sets explicitly or the driver is does implicit releases and thus memory is used for a time longer than necessary. Statistics also help to see how many copy-on-write operations happened.

A PHP script reading many small rows of a buffered result set using a code snippet equal or equivalent to while ($row = $res->fetch_assoc()) { ... } may optimize memory consumption by requesting copies instead of references. Albeit requesting copies means keeping results twice in memory, it allows PHP to free the copy contained in $row as the result set is being iterated and prior to releasing the result set itself. On a loaded server optimizing peak memory usage may help improving the overall system performance although for an individual script the copy approach may be slower due to additional allocations and memory copy operations.

The copy mode can be enforced by setting mysqlnd.fetch_data_copy=1.

Monitoring and debugging

There are multiple ways of tracking the memory usage of the MySQL Native Driver. If the goal is to get a quick high level overview or to verify the memory efficiency of PHP scripts, then check the statistics collected by the library. The statistics allow you, for example, to catch SQL statements which generate more results than are processed by a PHP script.

The debug trace log can be configured to record memory management calls. This helps to see when memory is allocated or free'd. However, the size of the requested memory chunks may not be listed.

Some, recent versions of the MySQL Native Driver feature the emulation of random out of memory situations. This feature is meant to be used by the C developers of the library or mysqlnd plugin authors only. Please, search the source code for corresponding PHP configuration settings and further details. The feature is considered private and may be modified at any time without prior notice.


MySQL Native Driver Plugin API

Índice

  • A comparison of mysqlnd plugins with MySQL Proxy
  • Obtaining the mysqlnd plugin API
  • MySQL Native Driver Plugin Architecture
  • The mysqlnd plugin API
  • Getting started building a mysqlnd plugin

The MySQL Native Driver Plugin API is a feature of MySQL Native Driver, or mysqlnd. Mysqlnd plugins operate in the layer between PHP applications and the MySQL server. This is comparable to MySQL Proxy. MySQL Proxy operates on a layer between any MySQL client application, for example, a PHP application and, the MySQL server. Mysqlnd plugins can undertake typical MySQL Proxy tasks such as load balancing, monitoring and performance optimizations. Due to the different architecture and location, mysqlnd plugins do not have some of MySQL Proxy's disadvantages. For example, with plugins, there is no single point of failure, no dedicated proxy server to deploy, and no new programming language to learn (Lua).

A mysqlnd plugin can be thought of as an extension to mysqlnd. Plugins can intercept the majority of mysqlnd functions. The mysqlnd functions are called by the PHP MySQL extensions such as ext/mysql, ext/mysqli, and PDO_MYSQL. As a result, it is possible for a mysqlnd plugin to intercept all calls made to these extensions from the client application.

Internal mysqlnd function calls can also be intercepted, or replaced. There are no restrictions on manipulating mysqlnd internal function tables. It is possible to set things up so that when certain mysqlnd functions are called by the extensions that use mysqlnd, the call is directed to the appropriate function in the mysqlnd plugin. The ability to manipulate mysqlnd internal function tables in this way allows maximum flexibility for plugins.

Mysqlnd plugins are in fact PHP Extensions, written in C, that use the mysqlnd plugin API (which is built into MySQL Native Driver, mysqlnd). Plugins can be made 100% transparent to PHP applications. No application changes are needed because plugins operate on a different layer. The mysqlnd plugin can be thought of as operating in a layer below mysqlnd.

The following list represents some possible applications of mysqlnd plugins.

  • Load Balancing

    • Read/Write Splitting. An example of this is the PECL/mysqlnd_ms (Master Slave) extension. This extension splits read/write queries for a replication setup.

    • Failover

    • Round-Robin, least loaded

  • Monitoring

    • Query Logging

    • Query Analysis

    • Query Auditing. An example of this is the PECL/mysqlnd_sip (SQL Injection Protection) extension. This extension inspects queries and executes only those that are allowed according to a ruleset.

  • Performance

    • Caching. An example of this is the PECL/mysqlnd_qc (Query Cache) extension.

    • Throttling

    • Sharding. An example of this is the PECL/mysqlnd_mc (Multi Connect) extension. This extension will attempt to split a SELECT statement into n-parts, using SELECT ... LIMIT part_1, SELECT LIMIT part_n. It sends the queries to distinct MySQL servers and merges the result at the client.

MySQL Native Driver Plugins Available

There are a number of mysqlnd plugins already available. These include:

  • PECL/mysqlnd_mc - Multi Connect plugin.

  • PECL/mysqlnd_ms - Master Slave plugin.

  • PECL/mysqlnd_qc - Query Cache plugin.

  • PECL/mysqlnd_pscache - Prepared Statement Handle Cache plugin.

  • PECL/mysqlnd_sip - SQL Injection Protection plugin.

  • PECL/mysqlnd_uh - User Handler plugin.


A comparison of mysqlnd plugins with MySQL Proxy

Mysqlnd plugins and MySQL Proxy are different technologies using different approaches. Both are valid tools for solving a variety of common tasks such as load balancing, monitoring, and performance enhancements. An important difference is that MySQL Proxy works with all MySQL clients, whereas mysqlnd plugins are specific to PHP applications.

As a PHP Extension, a mysqlnd plugin gets installed on the PHP application server, along with the rest of PHP. MySQL Proxy can either be run on the PHP application server or can be installed on a dedicated machine to handle multiple PHP application servers.

Deploying MySQL Proxy on the application server has two advantages:

  1. No single point of failure

  2. Easy to scale out (horizontal scale out, scale by client)

MySQL Proxy (and mysqlnd plugins) can solve problems easily which otherwise would have required changes to existing applications.

However, MySQL Proxy does have some disadvantages:

  • MySQL Proxy is a new component and technology to master and deploy.

  • MySQL Proxy requires knowledge of the Lua scripting language.

MySQL Proxy can be customized with C and Lua programming. Lua is the preferred scripting language of MySQL Proxy. For most PHP experts Lua is a new language to learn. A mysqlnd plugin can be written in C. It is also possible to write plugins in PHP using » PECL/mysqlnd_uh.

MySQL Proxy runs as a daemon - a background process. MySQL Proxy can recall earlier decisions, as all state can be retained. However, a mysqlnd plugin is bound to the request-based lifecycle of PHP. MySQL Proxy can also share one-time computed results among multiple application servers. A mysqlnd plugin would need to store data in a persistent medium to be able to do this. Another daemon would need to be used for this purpose, such as Memcache. This gives MySQL Proxy an advantage in this case.

MySQL Proxy works on top of the wire protocol. With MySQL Proxy you have to parse and reverse engineer the MySQL Client Server Protocol. Actions are limited to those that can be achieved by manipulating the communication protocol. If the wire protocol changes (which happens very rarely) MySQL Proxy scripts would need to be changed as well.

Mysqlnd plugins work on top of the C API, which mirrors the libmysqlclient client. This C API is basically a wrapper around the MySQL Client Server protocol, or wire protocol, as it is sometimes called. You can intercept all C API calls. PHP makes use of the C API, therefore you can hook all PHP calls, without the need to program at the level of the wire protocol.

Mysqlnd implements the wire protocol. Plugins can therefore parse, reverse engineer, manipulate and even replace the communication protocol. However, this is usually not required.

As plugins allow you to create implementations that use two levels (C API and wire protocol), they have greater flexibility than MySQL Proxy. If a mysqlnd plugin is implemented using the C API, any subsequent changes to the wire protocol do not require changes to the plugin itself.


Obtaining the mysqlnd plugin API

The mysqlnd plugin API is simply part of the MySQL Native Driver PHP extension, ext/mysqlnd. Development started on the mysqlnd plugin API in December 2009. It is developed as part of the PHP source repository, and as such is available to the public either via Git, or through source snapshot downloads.

Plugin developers can determine the mysqlnd version through accessing MYSQLND_VERSION, which is a string of the format mysqlnd 5.0.7-dev - 091210 - $Revision: 300535, or through MYSQLND_VERSION_ID, which is an integer such as 50007. Developers can calculate the version number as follows:

MYSQLND_VERSION_ID calculation table
Version (part) | Example
Major*10000 | 5*10000 = 50000
Minor*100 | 0*100 = 0
Patch | 7 = 7
MYSQLND_VERSION_ID | 50007

During development, developers should refer to the mysqlnd version number for compatibility and version tests, as several iterations of mysqlnd could occur during the lifetime of a PHP development branch with a single PHP version number.


MySQL Native Driver Plugin Architecture

This section provides an overview of the mysqlnd plugin architecture.

MySQL Native Driver Overview

Before developing mysqlnd plugins, it is useful to know a little of how mysqlnd itself is organized. Mysqlnd consists of the following modules:

The mysqlnd organization chart, per module
Modules Statistics | mysqlnd_statistics.c
Connection | mysqlnd.c
Resultset | mysqlnd_result.c
Resultset Metadata | mysqlnd_result_meta.c
Statement | mysqlnd_ps.c
Network | mysqlnd_net.c
Wire protocol | mysqlnd_wireprotocol.c

C Object Oriented Paradigm

At the code level, mysqlnd uses a C pattern for implementing object orientation.

In C you use a struct to represent an object. Members of the struct represent object properties. Struct members pointing to functions represent methods.

Unlike with other languages such as C++ or Java, there are no fixed rules on inheritance in the C object oriented paradigm. However, there are some conventions that need to be followed that will be discussed later.

The PHP Life Cycle

When considering the PHP life cycle there are two basic cycles:

  • PHP engine startup and shutdown cycle

  • Request cycle

When the PHP engine starts up it will call the module initialization (MINIT) function of each registered extension. This allows each module to setup variables and allocate resources that will exist for the lifetime of the PHP engine process. When the PHP engine shuts down it will call the module shutdown (MSHUTDOWN) function of each extension.

During the lifetime of the PHP engine it will receive a number of requests. Each request constitutes another life cycle. On each request the PHP engine will call the request initialization function of each extension. The extension can perform any variable setup and resource allocation required for request processing. As the request cycle ends the engine calls the request shutdown (RSHUTDOWN) function of each extension so the extension can perform any cleanup required.

How a plugin works

A mysqlnd plugin works by intercepting calls made to mysqlnd by extensions that use mysqlnd. This is achieved by obtaining the mysqlnd function table, backing it up, and replacing it by a custom function table, which calls the functions of the plugin as required.

The following code shows how the mysqlnd function table is replaced:

/* a place to store original function table */
struct st_mysqlnd_conn_methods org_methods;

void minit_register_hooks(TSRMLS_D) {
  /* active function table */
  struct st_mysqlnd_conn_methods * current_methods
    = mysqlnd_conn_get_methods();

  /* backup original function table */
  memcpy(&org_methods, current_methods,
    sizeof(struct st_mysqlnd_conn_methods);

  /* install new methods */
  current_methods->query = MYSQLND_METHOD(my_conn_class, query);
}

Connection function table manipulations must be done during Module Initialization (MINIT). The function table is a global shared resource. In an multi-threaded environment, with a TSRM build, the manipulation of a global shared resource during the request processing will almost certainly result in conflicts.

Nota:

Do not use any fixed-size logic when manipulating the mysqlnd function table: new methods may be added at the end of the function table. The function table may change at any time in the future.

Calling parent methods

If the original function table entries are backed up, it is still possible to call the original function table entries - the parent methods.

In some cases, such as for Connection::stmt_init(), it is vital to call the parent method prior to any other activity in the derived method.

MYSQLND_METHOD(my_conn_class, query)(MYSQLND *conn,
  const char *query, unsigned int query_len TSRMLS_DC) {

  php_printf("my_conn_class::query(query = %s)\n", query);

  query = "SELECT 'query rewritten' FROM DUAL";
  query_len = strlen(query);

  return org_methods.query(conn, query, query_len); /* return with call to parent */
}

Extending properties

A mysqlnd object is represented by a C struct. It is not possible to add a member to a C struct at run time. Users of mysqlnd objects cannot simply add properties to the objects.

Arbitrary data (properties) can be added to a mysqlnd objects using an appropriate function of the mysqlnd_plugin_get_plugin_<object>_data() family. When allocating an object mysqlnd reserves space at the end of the object to hold a void * pointer to arbitrary data. mysqlnd reserves space for one void * pointer per plugin.

The following table shows how to calculate the position of the pointer for a specific plugin:

Pointer calculations for mysqlnd
Memory address | Contents
0 | Beginning of the mysqlnd object C struct
n | End of the mysqlnd object C struct
n + (m x sizeof(void*)) | void* to object data of the m-th plugin

If you plan to subclass any of the mysqlnd object constructors, which is allowed, you must keep this in mind!

The following code shows extending properties:

/* any data we want to associate */
typedef struct my_conn_properties {
  unsigned long query_counter;
} MY_CONN_PROPERTIES;

/* plugin id */
unsigned int my_plugin_id;

void minit_register_hooks(TSRMLS_D) {
  /* obtain unique plugin ID */
  my_plugin_id = mysqlnd_plugin_register();
  /* snip - see Extending Connection: methods */
}

static MY_CONN_PROPERTIES** get_conn_properties(const MYSQLND *conn TSRMLS_DC) {
  MY_CONN_PROPERTIES** props;
  props = (MY_CONN_PROPERTIES**)mysqlnd_plugin_get_plugin_connection_data(
    conn, my_plugin_id);
  if (!props || !(*props)) {
    *props = mnd_pecalloc(1, sizeof(MY_CONN_PROPERTIES), conn->persistent);
    (*props)->query_counter = 0;
  }
  return props;
}

The plugin developer is responsible for the management of plugin data memory.

Use of the mysqlnd memory allocator is recommended for plugin data. These functions are named using the convention: mnd_*loc(). The mysqlnd allocator has some useful features, such as the ability to use a debug allocator in a non-debug build.

When and how to subclass
 | When to subclass? | Each instance has its own private function table? | How to subclass?
Connection (MYSQLND) | MINIT | No | mysqlnd_conn_get_methods()
Resultset (MYSQLND_RES) | MINIT or later | Yes | mysqlnd_result_get_methods() or object method function table manipulation
Resultset Meta (MYSQLND_RES_METADATA) | MINIT | No | mysqlnd_result_metadata_get_methods()
Statement (MYSQLND_STMT) | MINIT | No | mysqlnd_stmt_get_methods()
Network (MYSQLND_NET) | MINIT or later | Yes | mysqlnd_net_get_methods() or object method function table manipulation
Wire protocol (MYSQLND_PROTOCOL) | MINIT or later | Yes | mysqlnd_protocol_get_methods() or object method function table manipulation

You must not manipulate function tables at any time later than MINIT if it is not allowed according to the above table.

Some classes contain a pointer to the method function table. All instances of such a class will share the same function table. To avoid chaos, in particular in threaded environments, such function tables must only be manipulated during MINIT.

Other classes use copies of a globally shared function table. The class function table copy is created together with the object. Each object uses its own function table. This gives you two options: you can manipulate the default function table of an object at MINIT, and you can additionally refine methods of an object without impacting other instances of the same class.

The advantage of the shared function table approach is performance. There is no need to copy a function table for each and every object.

Constructor status
Type | Allocation, construction, reset | Can be modified? | Caller
Connection (MYSQLND) | mysqlnd_init() | No | mysqlnd_connect()
Resultset(MYSQLND_RES)

Allocation:

  • Connection::result_init()

Reset and re-initialized during:

  • Result::use_result()

  • Result::store_result

Yes, but call parent!

  • Connection::list_fields()

  • Statement::get_result()

  • Statement::prepare() (Metadata only)

  • Statement::resultMetaData()

Resultset Meta (MYSQLND_RES_METADATA) | Connection::result_meta_init() | Yes, but call parent! | Result::read_result_metadata()
Statement (MYSQLND_STMT) | Connection::stmt_init() | Yes, but call parent! | Connection::stmt_init()
Network (MYSQLND_NET) | mysqlnd_net_init() | No | Connection::init()
Wire protocol (MYSQLND_PROTOCOL) | mysqlnd_protocol_init() | No | Connection::init()

It is strongly recommended that you do not entirely replace a constructor. The constructors perform memory allocations. The memory allocations are vital for the mysqlnd plugin API and the object logic of mysqlnd. If you do not care about warnings and insist on hooking the constructors, you should at least call the parent constructor before doing anything in your constructor.

Regardless of all warnings, it can be useful to subclass constructors. Constructors are the perfect place for modifying the function tables of objects with non-shared object tables, such as Resultset, Network, Wire Protocol.

Destruction status
Type | Derived method must call parent? | Destructor
Connection | yes, after method execution | free_contents(), end_psession()
Resultset | yes, after method execution | free_result()
Resultset Meta | yes, after method execution | free()
Statement | yes, after method execution | dtor(), free_stmt_content()
Network | yes, after method execution | free()
Wire protocol | yes, after method execution | free()

The destructors are the appropriate place to free properties, mysqlnd_plugin_get_plugin_<object>_data().

The listed destructors may not be equivalent to the actual mysqlnd method freeing the object itself. However, they are the best possible place for you to hook in and free your plugin data. As with constructors you may replace the methods entirely but this is not recommended. If multiple methods are listed in the above table you will need to hook all of the listed methods and free your plugin data in whichever method is called first by mysqlnd.

The recommended method for plugins is to simply hook the methods, free your memory and call the parent implementation immediately following this.


The mysqlnd plugin API

The following is a list of functions provided in the mysqlnd plugin API:

  • mysqlnd_plugin_register()

  • mysqlnd_plugin_count()

  • mysqlnd_plugin_get_plugin_connection_data()

  • mysqlnd_plugin_get_plugin_result_data()

  • mysqlnd_plugin_get_plugin_stmt_data()

  • mysqlnd_plugin_get_plugin_net_data()

  • mysqlnd_plugin_get_plugin_protocol_data()

  • mysqlnd_conn_get_methods()

  • mysqlnd_result_get_methods()

  • mysqlnd_result_meta_get_methods()

  • mysqlnd_stmt_get_methods()

  • mysqlnd_net_get_methods()

  • mysqlnd_protocol_get_methods()

There is no formal definition of what a plugin is and how a plugin mechanism works.

Components often found in plugins mechanisms are:

  • A plugin manager

  • A plugin API

  • Application services (or modules)

  • Application service APIs (or module APIs)

The mysqlnd plugin concept employs these features, and additionally enjoys an open architecture.

No Restrictions

A plugin has full access to the inner workings of mysqlnd. There are no security limits or restrictions. Everything can be overwritten to implement friendly or hostile algorithms. It is recommended you only deploy plugins from a trusted source.

As discussed previously, plugins can use pointers freely. These pointers are not restricted in any way, and can point into another plugin's data. Simple offset arithmetic can be used to read another plugin's data.

It is recommended that you write cooperative plugins, and that you always call the parent method. The plugins should always cooperate with mysqlnd itself.

Issues: an example of chaining and cooperation
Extension | mysqlnd.query() pointer | call stack if calling parent
ext/mysqlnd | mysqlnd.query() | mysqlnd.query
ext/mysqlnd_cache mysqlnd_cache.query()

  1. mysqlnd_cache.query()

  2. mysqlnd.query

ext/mysqlnd_monitor mysqlnd_monitor.query()

  1. mysqlnd_monitor.query()

  2. mysqlnd_cache.query()

  3. mysqlnd.query

In this scenario, a cache (ext/mysqlnd_cache) and a monitor (ext/mysqlnd_monitor) plugin are loaded. Both subclass Connection::query(). Plugin registration happens at MINIT using the logic shown previously. PHP calls extensions in alphabetical order by default. Plugins are not aware of each other and do not set extension dependencies.

By default the plugins call the parent implementation of the query method in their derived version of the method.

PHP Extension Recap

This is a recap of what happens when using an example plugin, ext/mysqlnd_plugin, which exposes the mysqlnd C plugin API to PHP:

  • Any PHP MySQL application tries to establish a connection to 192.168.2.29

  • The PHP application will either use ext/mysql, ext/mysqli or PDO_MYSQL. All three PHP MySQL extensions use mysqlnd to establish the connection to 192.168.2.29.

  • Mysqlnd calls its connect method, which has been subclassed by ext/mysqlnd_plugin.

  • ext/mysqlnd_plugin calls the userspace hook proxy::connect() registered by the user.

  • The userspace hook changes the connection host IP from 192.168.2.29 to 127.0.0.1 and returns the connection established by parent::connect().

  • ext/mysqlnd_plugin performs the equivalent of parent::connect(127.0.0.1) by calling the original mysqlnd method for establishing a connection.

  • ext/mysqlnd establishes a connection and returns to ext/mysqlnd_plugin. ext/mysqlnd_plugin returns as well.

  • Whatever PHP MySQL extension had been used by the application, it receives a connection to 127.0.0.1. The PHP MySQL extension itself returns to the PHP application. The circle is closed.


Getting started building a mysqlnd plugin

It is important to remember that a mysqlnd plugin is itself a PHP extension.

The following code shows the basic structure of the MINIT function that will be used in the typical mysqlnd plugin:

/* my_php_mysqlnd_plugin.c */

 static PHP_MINIT_FUNCTION(mysqlnd_plugin) {
  /* globals, ini entries, resources, classes */

  /* register mysqlnd plugin */
  mysqlnd_plugin_id = mysqlnd_plugin_register();

  conn_m = mysqlnd_get_conn_methods();
  memcpy(org_conn_m, conn_m,
    sizeof(struct st_mysqlnd_conn_methods));

  conn_m->query = MYSQLND_METHOD(mysqlnd_plugin_conn, query);
  conn_m->connect = MYSQLND_METHOD(mysqlnd_plugin_conn, connect);
}

/* my_mysqlnd_plugin.c */

 enum_func_status MYSQLND_METHOD(mysqlnd_plugin_conn, query)(/* ... */) {
  /* ... */
}
enum_func_status MYSQLND_METHOD(mysqlnd_plugin_conn, connect)(/* ... */) {
  /* ... */
}

Task analysis: from C to userspace

 class proxy extends mysqlnd_plugin_connection {
  public function connect($host, ...) { .. }
}
mysqlnd_plugin_set_conn_proxy(new proxy());

Process:

  1. PHP: user registers plugin callback

  2. PHP: user calls any PHP MySQL API to connect to MySQL

  3. C: ext/*mysql* calls mysqlnd method

  4. C: mysqlnd ends up in ext/mysqlnd_plugin

  5. C: ext/mysqlnd_plugin

    1. Calls userspace callback

    2. Or original mysqlnd method, if userspace callback not set

You need to carry out the following:

  1. Write a class "mysqlnd_plugin_connection" in C

  2. Accept and register proxy object through "mysqlnd_plugin_set_conn_proxy()"

  3. Call userspace proxy methods from C (optimization - zend_interfaces.h)

Userspace object methods can either be called using call_user_function() or you can operate at a level closer to the Zend Engine and use zend_call_method().

Optimization: calling methods from C using zend_call_method

The following code snippet shows the prototype for the zend_call_method function, taken from zend_interfaces.h.

 ZEND_API zval* zend_call_method(
  zval **object_pp, zend_class_entry *obj_ce,
  zend_function **fn_proxy, char *function_name,
  int function_name_len, zval **retval_ptr_ptr,
  int param_count, zval* arg1, zval* arg2 TSRMLS_DC
);

Zend API supports only two arguments. You may need more, for example:

 enum_func_status (*func_mysqlnd_conn__connect)(
  MYSQLND *conn, const char *host,
  const char * user, const char * passwd,
  unsigned int passwd_len, const char * db,
  unsigned int db_len, unsigned int port,
  const char * socket, unsigned int mysql_flags TSRMLS_DC
);

To get around this problem you will need to make a copy of zend_call_method() and add a facility for additional parameters. You can do this by creating a set of MY_ZEND_CALL_METHOD_WRAPPER macros.

Calling PHP userspace

This code snippet shows the optimized method for calling a userspace function from C:

/* my_mysqlnd_plugin.c */

MYSQLND_METHOD(my_conn_class,connect)(
  MYSQLND *conn, const char *host /* ... */ TSRMLS_DC) {
  enum_func_status ret = FAIL;
  zval * global_user_conn_proxy = fetch_userspace_proxy();
  if (global_user_conn_proxy) {
    /* call userspace proxy */
    ret = MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, host, /*...*/);
  } else {
    /* or original mysqlnd method = do nothing, be transparent */
    ret = org_methods.connect(conn, host, user, passwd,
          passwd_len, db, db_len, port,
          socket, mysql_flags TSRMLS_CC);
  }
  return ret;
}

Calling userspace: simple arguments

/* my_mysqlnd_plugin.c */

 MYSQLND_METHOD(my_conn_class,connect)(
  /* ... */, const char *host, /* ...*/) {
  /* ... */
  if (global_user_conn_proxy) {
    /* ... */
    zval* zv_host;
    MAKE_STD_ZVAL(zv_host);
    ZVAL_STRING(zv_host, host, 1);
    MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, zv_retval, zv_host /*, ...*/);
    zval_ptr_dtor(&zv_host);
    /* ... */
  }
  /* ... */
}

Calling userspace: structs as arguments

/* my_mysqlnd_plugin.c */

MYSQLND_METHOD(my_conn_class, connect)(
  MYSQLND *conn, /* ...*/) {
  /* ... */
  if (global_user_conn_proxy) {
    /* ... */
    zval* zv_conn;
    ZEND_REGISTER_RESOURCE(zv_conn, (void *)conn, le_mysqlnd_plugin_conn);
    MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, zv_retval, zv_conn, zv_host /*, ...*/);
    zval_ptr_dtor(&zv_conn);
    /* ... */
  }
  /* ... */
}

The first argument of many mysqlnd methods is a C "object". For example, the first argument of the connect() method is a pointer to MYSQLND. The struct MYSQLND represents a mysqlnd connection object.

The mysqlnd connection object pointer can be compared to a standard I/O file handle. Like a standard I/O file handle a mysqlnd connection object shall be linked to the userspace using the PHP resource variable type.

From C to userspace and back

 class proxy extends mysqlnd_plugin_connection {
  public function connect($conn, $host, ...) {
    /* "pre" hook */
    printf("Connecting to host = '%s'\n", $host);
    debug_print_backtrace();
    return parent::connect($conn);
  }

  public function query($conn, $query) {
    /* "post" hook */
    $ret = parent::query($conn, $query);
    printf("Query = '%s'\n", $query);
    return $ret;
  }
}
mysqlnd_plugin_set_conn_proxy(new proxy());

PHP users must be able to call the parent implementation of an overwritten method.

As a result of subclassing it is possible to refine only selected methods and you can choose to have "pre" or "post" hooks.

Buildin class: mysqlnd_plugin_connection::connect()

/*  my_mysqlnd_plugin_classes.c */

 PHP_METHOD("mysqlnd_plugin_connection", connect) {
  /* ... simplified! ... */
  zval* mysqlnd_rsrc;
  MYSQLND* conn;
  char* host; int host_len;
  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs",
    &mysqlnd_rsrc, &host, &host_len) == FAILURE) {
    RETURN_NULL();
  }
  ZEND_FETCH_RESOURCE(conn, MYSQLND* conn, &mysqlnd_rsrc, -1,
    "Mysqlnd Connection", le_mysqlnd_plugin_conn);
  if (PASS == org_methods.connect(conn, host, /* simplified! */ TSRMLS_CC))
    RETVAL_TRUE;
  else
    RETVAL_FALSE;
}


Mysqlnd replication and load balancing plugin

  • Introdução
  • Quickstart and Examples
    • Setup
    • Running statements
    • Connection state
    • SQL Hints
    • Local transactions
    • XA/Distributed Transactions
    • Service level and consistency
    • Global transaction IDs
    • Cache integration
    • Failover
    • Partitioning and Sharding
    • MySQL Fabric
  • Concepts
    • Architecture
    • Connection pooling and switching
    • Local transaction handling
    • Error handling
    • Transient errors
    • Failover
    • Load balancing
    • Read-write splitting
    • Filter
    • Service level and consistency
    • Global transaction IDs
    • Cache integration
    • Supported clusters
    • XA/Distributed transactions
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Plugin configuration file (>=1.1.x)
  • Constantes pré-definidas
  • Mysqlnd_ms Funções
    • mysqlnd_ms_dump_servers — Returns a list of currently configured servers
    • mysqlnd_ms_fabric_select_global — Switch to global sharding server for a given table
    • mysqlnd_ms_fabric_select_shard — Switch to shard
    • mysqlnd_ms_get_last_gtid — Returns the latest global transaction ID
    • mysqlnd_ms_get_last_used_connection — Returns an array which describes the last used connection
    • mysqlnd_ms_get_stats — Returns query distribution and connection statistics
    • mysqlnd_ms_match_wild — Finds whether a table name matches a wildcard pattern or not
    • mysqlnd_ms_query_is_select — Find whether to send the query to the master, the slave or the last used MySQL server
    • mysqlnd_ms_set_qos — Sets the quality of service needed from the cluster
    • mysqlnd_ms_set_user_pick_server — Sets a callback for user-defined read/write splitting
    • mysqlnd_ms_xa_begin — Starts a distributed/XA transaction among MySQL servers
    • mysqlnd_ms_xa_commit — Commits a distributed/XA transaction among MySQL servers
    • mysqlnd_ms_xa_gc — Garbage collects unfinished XA transactions after severe errors
    • mysqlnd_ms_xa_rollback — Rolls back a distributed/XA transaction among MySQL servers
  • Change History
    • PECL/mysqlnd_ms 1.6 series
    • PECL/mysqlnd_ms 1.5 series
    • PECL/mysqlnd_ms 1.4 series
    • PECL/mysqlnd_ms 1.3 series
    • PECL/mysqlnd_ms 1.2 series
    • PECL/mysqlnd_ms 1.1 series
    • PECL/mysqlnd_ms 1.0 series


Introdução

The mysqlnd replication and load balancing plugin (mysqlnd_ms) adds easy to use MySQL replication support to all PHP MySQL extensions that use mysqlnd.

As of version PHP 5.3.3 the MySQL native driver for PHP (mysqlnd) features an internal plugin C API. C plugins, such as the replication and load balancing plugin, can extend the functionality of mysqlnd.

The MySQL native driver for PHP is a C library that ships together with PHP. It serves as a drop-in replacement for the MySQL Client Library (libmysqlclient). Using mysqlnd has several advantages: no extra downloads are required because it's bundled with PHP, it's under the PHP license, there is lower memory consumption in certain cases, and it contains new functionality such as asynchronous queries.

Mysqlnd plugins like mysqlnd_ms operate, for the most part, transparently from a user perspective. The replication and load balancing plugin supports all PHP applications, and all MySQL PHP extensions. It does not change existing APIs. Therefore, it can easily be used with existing PHP applications.

Key Features

The key features of PECL/mysqlnd_ms are as follows.

  • Transparent and therefore easy to use.

    • Supports all of the PHP MySQL extensions.

    • SSL support.

    • A consistent API.

    • Little to no application changes required, dependent on the required usage scenario.

    • Lazy connections: connections to master and slave servers are not opened before a SQL statement is executed.

    • Optional: automatic use of master after the first write in a web request, to lower the possible impact of replication lag.

  • Can be used with any MySQL clustering solution.

    • MySQL Replication: Read-write splitting is done by the plugin. Primary focus of the plugin.

    • MySQL Cluster: Read-write splitting can be disabled. Configuration of multiple masters possible

    • Third-party solutions: the plugin is optimized for MySQL Replication but can be used with any other kind of MySQL clustering solution.

  • Featured read-write split strategies

    • Automatic detection of SELECT.

    • Supports SQL hints to overrule automatism.

    • User-defined.

    • Can be disabled for, for example, when using synchronous clusters such as MySQL Cluster.

  • Featured load balancing strategies

    • Round Robin: choose a different slave in round-robin fashion for every slave request.

    • Random: choose a random slave for every slave request.

    • Random once (sticky): choose a random slave once to run all slave requests for the duration of a web request.

    • User-defined. The application can register callbacks with mysqlnd_ms.

    • PHP 5.4.0 or newer: transaction aware when using API calls only to control transactions.

    • Weighted load balancing: servers can be assigned different priorities, for example, to direct more requests to a powerful machine than to another less powerful machine. Or, to prefer nearby machines to reduce latency.

  • Global transaction ID

    • Client-side emulation. Makes manual master server failover and slave promotion easier with asynchronous clusters, such as MySQL Replication.

    • Support for built-in global transaction identifier feature of MySQL 5.6.5 or newer.

    • Supports using transaction ids to identify up-to-date asynchronous slaves for reading when session consistency is required. Please, note the restrictions mentioned in the manual.

    • Throttling: optionally, the plugin can wait for a slave to become "synchronous" before continuing.

  • Service and consistency levels

    • Applications can request eventual, session and strong consistency service levels for connections. Appropriate cluster nodes will be searched automatically.

    • Eventual consistent MySQL Replication slave accesses can be replaced with fast local cache accesses transparently to reduce server load.

  • Partitioning and sharding

    • Servers of a replication cluster can be organized into groups. SQL hints can be used to manually direct queries to a specific group. Grouping can be used to partition (shard) the data, or to cure the issue of hotspots with updates.

    • MySQL Replication filters are supported through the table filter.

  • MySQL Fabric

    • Experimental support for MySQL Fabric is included.

Limitations

The built-in read-write-split mechanism is very basic. Every query which starts with SELECT is considered a read request to be sent to a MySQL slave server. All other queries (such as SHOW statements) are considered as write requests that are sent to the MySQL master server. The build-in behavior can be overruled using SQL hints, or a user-defined callback function.

The read-write splitter is not aware of multi-statements. Multi-statements are considered as one statement. The decision of where to run the statement will be based on the beginning of the statement string. For example, if using mysqli_multi_query() to execute the multi-statement SELECT id FROM test ; INSERT INTO test(id) VALUES (1), the statement will be redirected to a slave server because it begins with SELECT. The INSERT statement, which is also part of the multi-statement, will not be redirected to a master server.

Nota:

Applications must be aware of the consequences of connection switches that are performed for load balancing purposes. Please check the documentation on connection pooling and switching, transaction handling, failover load balancing e read-write splitting.

On the name

The shortcut mysqlnd_ms stands for mysqlnd master slave plugin. The name was chosen for a quick-and-dirty proof-of-concept. In the beginning the developers did not expect to continue using the code base.


Quickstart and Examples

Índice

  • Setup
  • Running statements
  • Connection state
  • SQL Hints
  • Local transactions
  • XA/Distributed Transactions
  • Service level and consistency
  • Global transaction IDs
  • Cache integration
  • Failover
  • Partitioning and Sharding
  • MySQL Fabric

The mysqlnd replication load balancing plugin is easy to use. This quickstart will demo typical use-cases, and provide practical advice on getting started.

It is strongly recommended to read the reference sections in addition to the quickstart. The quickstart tries to avoid discussing theoretical concepts and limitations. Instead, it will link to the reference sections. It is safe to begin with the quickstart. However, before using the plugin in mission critical environments we urge you to read additionally the background information from the reference sections.

The focus is on using PECL mysqlnd_ms for work with an asynchronous MySQL cluster, namely MySQL replication. Generally speaking an asynchronous cluster is more difficult to use than a synchronous one. Thus, users of, for example, MySQL Cluster will find more information than needed.


Setup

The plugin is implemented as a PHP extension. See also the installation instructions to install the » PECL/mysqlnd_ms extension.

Compile or configure the PHP MySQL extension (API) (mysqli, PDO_MYSQL, mysql) that you plan to use with support for the mysqlnd library. PECL/mysqlnd_ms is a plugin for the mysqlnd library. To use the plugin with any of the PHP MySQL extensions, the extension has to use the mysqlnd library.

Then, load the extension into PHP and activate the plugin in the PHP configuration file using the PHP configuration directive named mysqlnd_ms.enable.

Exemplo #1 Enabling the plugin (php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/path/to/mysqlnd_ms_plugin.ini

The plugin uses its own configuration file. Use the PHP configuration directive mysqlnd_ms.config_file to set the full file path to the plugin-specific configuration file. This file must be readable by PHP (e.g., the web server user). Please note, the configuration directive mysqlnd_ms.config_file superseeds mysqlnd_ms.ini_file since 1.4.0. It is a common pitfall to use the old, no longer available configuration directive.

Create a plugin-specific configuration file. Save the file to the path set by the PHP configuration directive mysqlnd_ms.config_file.

The plugins configuration file is JSON based. It is divided into one or more sections. Each section has a name, for example, myapp. Every section makes its own set of configuration settings.

A section must, at a minimum, list the MySQL replication master server, and set a list of slaves. The plugin supports using only one master server per section. Multi-master MySQL replication setups are not yet fully supported. Use the configuration setting master to set the hostname, and the port or socket of the MySQL master server. MySQL slave servers are configured using the slave keyword.

Exemplo #2 Minimal plugin-specific configuration file (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": [

        ]
    }
}

Configuring a MySQL slave server list is required, although it may contain an empty list. It is recommended to always configure at least one slave server.

Server lists can use anonymous or non-anonymous syntax. Non-anonymous lists include alias names for the servers, such as master_0 for the master in the above example. The quickstart uses the more verbose non-anonymous syntax.

Exemplo #3 Recommended minimal plugin-specific config (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

If there are at least two servers in total, the plugin can start to load balance and switch connections. Switching connections is not always transparent and can cause issues in certain cases. The reference sections about connection pooling and switching, transaction handling, fail over load balancing and read-write splitting all provide more details. And potential pitfalls are described later in this guide.

It is the responsibility of the application to handle potential issues caused by connection switches, by configuring a master with at least one slave server, which allows switching to work therefore related problems can be found.

The MySQL master and MySQL slave servers, which you configure, do not need to be part of MySQL replication setup. For testing purpose you can use single MySQL server and make it known to the plugin as a master and slave server as shown below. This could help you to detect many potential issues with connection switches. However, such a setup will not be prone to the issues caused by replication lag.

Exemplo #4 Using one server as a master and as a slave (testing only!)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        }
    }
}

The plugin attempts to notify you of invalid configurations. Since 1.5.0 it will throw a warning during PHP startup if the configuration file cannot be read, is empty or parsing the JSON failed. Depending on your PHP settings those errors may appear in some log files only. Further validation is done when a connection is to be established and the configuration file is searched for valid sections. Setting mysqlnd_ms.force_config_usage may help debugging a faulty setup. Please, see also configuration file debugging notes.


Running statements

The plugin can be used with any PHP MySQL extension (mysqli, mysql, and PDO_MYSQL) that is compiled to use the mysqlnd library. PECL/mysqlnd_ms plugs into the mysqlnd library. It does not change the API or behavior of those extensions.

Whenever a connection to MySQL is being opened, the plugin compares the host parameter value of the connect call, with the section names from the plugin specific configuration file. If, for example, the plugin specific configuration file has a section myapp then the section should be referenced by opening a MySQL connection to the host myapp

Exemplo #1 Plugin specific configuration file (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Exemplo #2 Opening a load balanced connection

<?php
/* Load balanced following "myapp" section rules from the plugins config file */
$mysqli = new mysqli("myapp", "username", "password", "database");
$pdo = new PDO('mysql:host=myapp;dbname=database', 'username', 'password');
$mysql = mysql_connect("myapp", "username", "password");
?>

The connection examples above will be load balanced. The plugin will send read-only statements to the MySQL slave server with the IP 192.168.2.27 and will listen on port 3306 for the MySQL client connection. All other statements will be directed to the MySQL master server running on the host localhost. If on Unix like operating systems, the master on localhost will be accepting MySQL client connections on the Unix domain socket /tmp/mysql.sock, while TCP/IP is the default port on Windows. The plugin will use the user name username and the password password to connect to any of the MySQL servers listed in the section myapp of the plugins configuration file. Upon connect, the plugin will select database as the current schemata.

The username, password and schema name are taken from the connect API calls and used for all servers. In other words: you must use the same username and password for every MySQL server listed in a plugin configuration file section. The is not a general limitation. As of PECL/mysqlnd_ms 1.1.0, it is possible to set the username and password for any server in the plugins configuration file, to be used instead of the credentials passed to the API call.

The plugin does not change the API for running statements. Read-write splitting works out of the box. The following example assumes that there is no significant replication lag between the master and the slave.

Exemplo #3 Executing statements

<?php
/* Load balanced following "myapp" section rules from the plugins config file */
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno()) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Statements will be run on the master */
if (!$mysqli->query("DROP TABLE IF EXISTS test")) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
if (!$mysqli->query("CREATE TABLE test(id INT)")) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
if (!$mysqli->query("INSERT INTO test(id) VALUES (1)")) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* read-only: statement will be run on a slave */
if (!($res = $mysqli->query("SELECT id FROM test"))) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
    $row = $res->fetch_assoc();
    $res->close();
    printf("Slave returns id = '%s'\n", $row['id']);
}
$mysqli->close();
?>

O exemplo acima irá imprimir algo similar à:

Slave returns id = '1'


Connection state

The plugin changes the semantics of a PHP MySQL connection handle. A new connection handle represents a connection pool, instead of a single MySQL client-server network connection. The connection pool consists of a master connection, and optionally any number of slave connections.

Every connection from the connection pool has its own state. For example, SQL user variables, temporary tables and transactions are part of the state. For a complete list of items that belong to the state of a connection, see the connection pooling and switching concepts documentation. If the plugin decides to switch connections for load balancing, the application could be given a connection which has a different state. Applications must be made aware of this.

Exemplo #1 Plugin config with one slave and one master

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Exemplo #2 Pitfall: connection state and SQL user variables

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Connection 1, connection bound SQL user variable, no SELECT thus run on master */
if (!$mysqli->query("SET @myrole='master'")) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Connection 2, run on slave because SELECT */
if (!($res = $mysqli->query("SELECT @myrole AS _role"))) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
    $row = $res->fetch_assoc();
    $res->close();
    printf("@myrole = '%s'\n", $row['_role']);
}
$mysqli->close();
?>

O exemplo acima irá imprimir:

@myrole = ''

The example opens a load balanced connection and executes two statements. The first statement SET @myrole='master' does not begin with the string SELECT. Therefore the plugin does not recognize it as a read-only query which shall be run on a slave. The plugin runs the statement on the connection to the master. The statement sets a SQL user variable which is bound to the master connection. The state of the master connection has been changed.

The next statement is SELECT @myrole AS _role. The plugin does recognize it as a read-only query and sends it to the slave. The statement is run on a connection to the slave. This second connection does not have any SQL user variables bound to it. It has a different state than the first connection to the master. The requested SQL user variable is not set. The example script prints @myrole = ''.

It is the responsibility of the application developer to take care of the connection state. The plugin does not monitor all connection state changing activities. Monitoring all possible cases would be a very CPU intensive task, if it could be done at all.

The pitfalls can easily be worked around using SQL hints.


SQL Hints

SQL hints can force a query to choose a specific server from the connection pool. It gives the plugin a hint to use a designated server, which can solve issues caused by connection switches and connection state.

SQL hints are standard compliant SQL comments. Because SQL comments are supposed to be ignored by SQL processing systems, they do not interfere with other programs such as the MySQL Server, the MySQL Proxy, or a firewall.

Three SQL hints are supported by the plugin: The MYSQLND_MS_MASTER_SWITCH hint makes the plugin run a statement on the master, MYSQLND_MS_SLAVE_SWITCH enforces the use of the slave, and MYSQLND_MS_LAST_USED_SWITCH will run a statement on the same server that was used for the previous statement.

The plugin scans the beginning of a statement for the existence of an SQL hint. SQL hints are only recognized if they appear at the beginning of the statement.

Exemplo #1 Plugin config with one slave and one master

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Exemplo #2 SQL hints to prevent connection switches

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno()) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Connection 1, connection bound SQL user variable, no SELECT thus run on master */
if (!$mysqli->query("SET @myrole='master'")) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Connection 1, run on master because of SQL hint */
if (!($res = $mysqli->query(sprintf("/*%s*/SELECT @myrole AS _role", MYSQLND_MS_LAST_USED_SWITCH)))) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
    $row = $res->fetch_assoc();
    $res->close();
    printf("@myrole = '%s'\n", $row['_role']);
}
$mysqli->close();
?>

O exemplo acima irá imprimir:

@myrole = 'master'

In the above example, using MYSQLND_MS_LAST_USED_SWITCH prevents session switching from the master to a slave when running the SELECT statement.

SQL hints can also be used to run SELECT statements on the MySQL master server. This may be desired if the MySQL slave servers are typically behind the master, but you need current data from the cluster.

In version 1.2.0 the concept of a service level has been introduced to address cases when current data is required. Using a service level requires less attention and removes the need of using SQL hints for this use case. Please, find more information below in the service level and consistency section.

Exemplo #3 Fighting replication lag

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Force use of master, master has always fresh and current data */
if (!$mysqli->query(sprintf("/*%s*/SELECT critical_data FROM important_table", MYSQLND_MS_MASTER_SWITCH))) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
?>

A use case may include the creation of tables on a slave. If an SQL hint is not given, then the plugin will send CREATE and INSERT statements to the master. Use the SQL hint MYSQLND_MS_SLAVE_SWITCH if you want to run any such statement on a slave, for example, to build temporary reporting tables.

Exemplo #4 Table creation on a slave

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Force use of slave */
if (!$mysqli->query(sprintf("/*%s*/CREATE TABLE slave_reporting(id INT)", MYSQLND_MS_SLAVE_SWITCH))) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
/* Continue using this particular slave connection */
if (!$mysqli->query(sprintf("/*%s*/INSERT INTO slave_reporting(id) VALUES (1), (2), (3)", MYSQLND_MS_LAST_USED_SWITCH))) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
/* Don't use MYSQLND_MS_SLAVE_SWITCH which would allow switching to another slave! */
if ($res = $mysqli->query(sprintf("/*%s*/SELECT COUNT(*) AS _num FROM slave_reporting", MYSQLND_MS_LAST_USED_SWITCH))) {
    $row = $res->fetch_assoc();
    $res->close();
    printf("There are %d rows in the table 'slave_reporting'", $row['_num']);
} else {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
$mysqli->close();
?>

The SQL hint MYSQLND_MS_LAST_USED forbids switching a connection, and forces use of the previously used connection.


Local transactions

The current version of the plugin is not transaction safe by default, because it is not aware of running transactions in all cases. SQL transactions are units of work to be run on a single server. The plugin does not always know when the unit of work starts and when it ends. Therefore, the plugin may decide to switch connections in the middle of a transaction.

No kind of MySQL load balancer can detect transaction boundaries without any kind of hint from the application.

You can either use SQL hints to work around this limitation. Alternatively, you can activate transaction API call monitoring. In the latter case you must use API calls only to control transactions, see below.

Exemplo #1 Plugin config with one slave and one master

[myapp]
{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Exemplo #2 Using SQL hints for transactions

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Not a SELECT, will use master */
if (!$mysqli->query("START TRANSACTION")) {
    /* Please use better error handling in your code */
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Prevent connection switch! */
if (!$mysqli->query(sprintf("/*%s*/INSERT INTO test(id) VALUES (1)", MYSQLND_MS_LAST_USED_SWITCH))) {
    /* Please do proper ROLLBACK in your code, don't just die */
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if ($res = $mysqli->query(sprintf("/*%s*/SELECT COUNT(*) AS _num FROM test", MYSQLND_MS_LAST_USED_SWITCH))) {
    $row = $res->fetch_assoc();
    $res->close();
    if ($row['_num'] > 1000) {
        if (!$mysqli->query(sprintf("/*%s*/INSERT INTO events(task) VALUES ('cleanup')", MYSQLND_MS_LAST_USED_SWITCH))) {
            die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
        }
    }
} else {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->query(sprintf("/*%s*/UPDATE log SET last_update = NOW()", MYSQLND_MS_LAST_USED_SWITCH))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->query(sprintf("/*%s*/COMMIT", MYSQLND_MS_LAST_USED_SWITCH))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

$mysqli->close();
?>

Starting with PHP 5.4.0, the mysqlnd library allows the plugin to monitor the status of the autocommit mode, if the mode is set by API calls instead of using SQL statements such as SET AUTOCOMMIT=0. This makes it possible for the plugin to become transaction aware. In this case, you do not need to use SQL hints.

If using PHP 5.4.0 or newer, API calls that enable autocommit mode, and when setting the plugin configuration option trx_stickiness=master, the plugin can automatically disable load balancing and connection switches for SQL transactions. In this configuration, the plugin stops load balancing if autocommit is disabled and directs all statements to the master. This prevents connection switches in the middle of a transaction. Once autocommit is re-enabled, the plugin starts to load balance statements again.

API based transaction boundary detection has been improved with PHP 5.5.0 and PECL/mysqlnd_ms 1.5.0 to cover not only calls to mysqli_autocommit() but also mysqli_begin(), mysqli_commit() and mysqli_rollback().

Exemplo #3 Transaction aware load balancing: trx_stickiness setting

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "trx_stickiness": "master"
    }
}

Exemplo #4 Transaction aware

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Disable autocommit, plugin will run all statements on the master */
$mysqli->autocommit(false);

if (!$mysqli->query("INSERT INTO test(id) VALUES (1)")) {
    /* Please do proper ROLLBACK in your code, don't just die */
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if ($res = $mysqli->query("SELECT COUNT(*) AS _num FROM test")) {
    $row = $res->fetch_assoc();
    $res->close();
    if ($row['_num'] > 1000) {
        if (!$mysqli->query("INSERT INTO events(task) VALUES ('cleanup')")) {
            die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
        }
    }
} else {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->query("UPDATE log SET last_update = NOW()")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->commit()) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Plugin assumes that the transaction has ended and starts load balancing again */
$mysqli->autocommit(true);
$mysqli->close();
?>

Nota: Version requirement

The plugin configuration option trx_stickiness=master requires PHP 5.4.0 or newer.

Please note the restrictions outlined in the transaction handling concepts section.


XA/Distributed Transactions

Nota: Version requirement

XA related functions have been introduced in PECL mysqlnd_ms version 1.6.0-alpha.

Nota: Early adaptors wanted

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments, although early lab tests indicate reasonable quality.

Please, contact the development team if you are interested in this feature. We are looking for real life feedback to complement the feature.

XA transactions are a standardized method for executing transactions across multiple resources. Those resources can be databases or other transactional systems. The MySQL server supports XA SQL statements which allows users to carry out a distributed SQL transaction that spawns multiple database servers or any kind as long as they support the SQL statements too. In such a scenario it is in the responsibility of the user to coordinate the participating servers.

PECL/mysqlnd_ms can act as a transaction coordinator for a global (distributed, XA) transaction carried out on MySQL servers only. As a transaction coordinator, the plugin tracks all servers involved in a global transaction and transparently issues appropriate SQL statements on the participants. The global transactions are controlled with mysqlnd_ms_xa_begin(), mysqlnd_ms_xa_commit() and mysqlnd_ms_xa_rollback(). SQL details are mostly hidden from the application as is the need to track and coordinate participants.

Exemplo #1 General pattern for XA transactions

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* start a global transaction */
$gtrid_id = "12345";
if (!mysqlnd_ms_xa_begin($mysqli, $gtrid_id)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* run queries as usual: XA BEGIN will be injected upon running a query */
if (!$mysqli->query("INSERT INTO orders(order_id, item) VALUES (1, 'christmas tree, 1.8m')")) {
    /* Either INSERT failed or the injected XA BEGIN failed */
    if ('XA' == substr($mysqli->sqlstate, 0, 2)) {
        printf("Global transaction/XA related failure, [%d] %s\n", $mysqli->errno, $mysqli->error);
    } else {
        printf("INSERT failed, [%d] %s\n", $mysqli->errno, $mysqli->error);
    }
    /* rollback global transaction */
    mysqlnd_ms_xa_rollback($mysqli, $xid);
    die("Stopping.");
}

/* continue carrying out queries on other servers, e.g. other shards */

/* commit the global transaction */
if (!mysqlnd_ms_xa_commit($mysqli, $xa_id)) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
?>

Unlike with local transactions, which are carried out on a single server, XA transactions have an identifier (xid) associated with them. The XA transaction identifier is composed of a global transaction identifier (gtrid), a branch qualifier (bqual) a format identifier (formatID). Only the global transaction identifier can and must be given when calling any of the plugins XA functions.

Once a global transaction has been started, the plugin begins tracking servers until the global transaction ends. When a server is picked for query execution, the plugin injects the SQL statement XA BEGIN prior to executing the actual SQL statement on the server. XA BEGIN makes the server participate in the global transaction. If the injected SQL statement fails, the plugin will report the issue in reply to the query execution function that was used. In the above example, $mysqli->query("INSERT INTO orders(order_id, item) VALUES (1, 'christmas tree, 1.8m')") would indicate such an error. You may want to check the errors SQL state code to determine whether the actual query (here: INSERT) has failed or the error is related to the global transaction. It is up to you to ignore the failure to start the global transaction on a server and continue execution without having the server participate in the global transaction.

Exemplo #2 Local and global transactions are mutually exclusive

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* start a local transaction */
if (!$mysqli->begin_transaction()) {
    die(sprintf("[%d/%s] %s\n", $mysqli->errno, $mysqli->sqlstate, $mysqli->error));
}

/* cannot start global transaction now - must end local transaction first */
$gtrid_id = "12345";
if (!mysqlnd_ms_xa_begin($mysqli, $gtrid_id)) {
    die(sprintf("[%d/%s] %s\n", $mysqli->errno, $mysqli->sqlstate, $mysqli->error));
}
?>

O exemplo acima irá imprimir:

Warning: mysqlnd_ms_xa_begin(): (mysqlnd_ms) Some work is done outside global transaction. You must end the active local transaction first in ... on line ...
[1400/XAE09] (mysqlnd_ms) Some work is done outside global transaction. You must end the active local transaction first

A global transaction cannot be started when a local transaction is active. The plugin tries to detect this situation as early as possible, that is when mysqlnd_ms_xa_begin() is called. If using API calls only to control transactions, the plugin will know that a local transaction is open and return an error for mysqlnd_ms_xa_begin(). However, note the plugins limitations on detecting transaction boundaries.. In the worst case, if using direct SQL for local transactions (BEGIN, COMMIT, ...), it may happen that an error is delayed until some SQL is executed on a server.

To end a global transaction invoke mysqlnd_ms_xa_commit() or mysqlnd_ms_xa_rollback(). When a global transaction is ended all participants must be informed of the end. Therefore, PECL/mysqlnd_ms transparently issues appropriate XA related SQL statements on some or all of them. Any failure during this phase will cause an implicit rollback. The XA related API is intentionally kept simple here. A more complex API that gave more control would bare few, if any, advantages over a user implementation that issues all lower level XA SQL statements itself.

XA transactions use the two-phase commit protocol. The two-phase commit protocol is a blocking protocol. There are cases when no progress can be made, not even when using timeouts. Transaction coordinators should survive their own failure, be able to detect blockades and break ties. PECL/mysqlnd_ms takes the role of a transaction coordinator and can be configured to survive its own crash to avoid issues with blocked MySQL servers. Therefore, the plugin can and should be configured to use a persistent and crash-safe state to allow garbage collection of unfinished, aborted global transactions. A global transaction can be aborted in an open state if either the plugin fails (crashes) or a connection from the plugin to a global transaction participant fails.

Exemplo #3 Transaction coordinator state store

{
    "myapp": {
        "xa": {
            "state_store": {
                "participant_localhost_ip": "192.168.2.12",
                "mysql": {
                    "host": "192.168.2.13",
                    "user": "root",
                    "password": "",
                    "db": "test",
                    "port": "3312",
                    "socket": null
                }
            }
        },
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.14",
                "port": "3306"
            }
        }
    }
}

Currently, PECL/mysqlnd_ms supports only using MySQL database tables as a state store. The SQL definitions of the tables are given in the plugin configuration section. Please, make sure to use a transactional and crash-safe storage engine for the tables, such as InnoDB. InnoDB is the default table engine in recent versions of the MySQL server. Make also sure the database server itself is highly available.

If a state store has been configured, the plugin can perform a garbage collection. During garbage collection it may be necessary to connect to a participant of a failed global transaction. Thus, the state store holds a list of participants and, among others, their host names. If the garbage collection is run on another host but the one that has written a participant entry with the host name localhost, then localhost resolves to different machines. There are two solutions to the problem. Either you do not configure any servers with the host name localhost but configure an IP address (and port) or, you hint the garbage collection. In the above example, localhost is used for master_0, hence it may not resolve to the correct host during garbage collection. However, participant_localhost_ip is also set to hint the garbage collection that localhost stands for the IP 192.168.2.12.


Service level and consistency

Nota: Version requirement

Service levels have been introduced in PECL mysqlnd_ms version 1.2.0-alpha. mysqlnd_ms_set_qos() is available with PHP 5.4.0 or newer.

Different types of MySQL cluster solutions offer different service and data consistency levels to their users. An asynchronous MySQL replication cluster offers eventual consistency by default. A read executed on an asynchronous slave may return current, stale or no data at all, depending on whether the slave has replayed all changesets from the master or not.

Applications using an MySQL replication cluster need to be designed to work correctly with eventual consistent data. In some cases, however, stale data is not acceptable. In those cases only certain slaves or even only master accesses are allowed to achieve the required quality of service from the cluster.

As of PECL mysqlnd_ms 1.2.0 the plugin is capable of selecting MySQL replication nodes automatically that deliver session consistency or strong consistency. Session consistency means that one client can read its writes. Other clients may or may not see the clients' write. Strong consistency means that all clients will see all writes from the client.

Exemplo #1 Session consistency: read your writes

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        }
    }
}

Exemplo #2 Requesting session consistency

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* read-write splitting: master used */
if (!$mysqli->query("INSERT INTO orders(order_id, item) VALUES (1, 'christmas tree, 1.8m')")) {
    /* Please use better error handling in your code */
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Request session consistency: read your writes */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Plugin picks a node which has the changes, here: master */
if (!$res = $mysqli->query("SELECT item FROM orders WHERE order_id = 1")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

var_dump($res->fetch_assoc());

/* Back to eventual consistency: stale data allowed */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Plugin picks any slave, stale data is allowed */
if (!$res = $mysqli->query("SELECT item, price FROM specials")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
?>

Service levels can be set in the plugins configuration file and at runtime using mysqlnd_ms_set_qos(). In the example the function is used to enforce session consistency (read your writes) for all future statements until further notice. The SELECT statement on the orders table is run on the master to ensure the previous write can be seen by the client. Read-write splitting logic has been adapted to fulfill the service level.

After the application has read its changes from the orders table it returns to the default service level, which is eventual consistency. Eventual consistency puts no restrictions on choosing a node for statement execution. Thus, the SELECT statement on the specials table is executed on a slave.

The new functionality supersedes the use of SQL hints and the master_on_write configuration option. In many cases mysqlnd_ms_set_qos() is easier to use, more powerful improves portability.

Exemplo #3 Maximum age/slave lag

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "failover" : "master"
    }
}

Exemplo #4 Limiting slave lag

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Read from slaves lagging no more than four seconds */
$ret = mysqlnd_ms_set_qos(
    $mysqli,
    MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL,
    MYSQLND_MS_QOS_OPTION_AGE,
    4
);

if (!$ret) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Plugin picks any slave, which may or may not have the changes */
if (!$res = $mysqli->query("SELECT item, price FROM daytrade")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Back to default: use of all slaves and masters permitted */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
?>

The eventual consistency service level can be used with an optional parameter to set a maximum slave lag for choosing slaves. If set, the plugin checks SHOW SLAVE STATUS for all configured slaves. In case of the example, only slaves for which Slave_IO_Running=Yes, Slave_SQL_Running=Yes and Seconds_Behind_Master <= 4 is true are considered for executing the statement SELECT item, price FROM daytrade.

Checking SHOW SLAVE STATUS is done transparently from an applications perspective. Errors, if any, are reported as warnings. No error will be set on the connection handle. Even if all SHOW SLAVE STATUS SQL statements executed by the plugin fail, the execution of the users statement is not stopped, given that master fail over is enabled. Thus, no application changes are required.

Nota: Expensive and slow operation

Checking SHOW SLAVE STATUS for all slaves adds overhead to the application. It is an expensive and slow background operation. Try to minimize the use of it. Unfortunately, a MySQL replication cluster does not give clients the possibility to request a list of candidates from a central instance. Thus, a more efficient way of checking the slaves lag is not available.

Please, note the limitations and properties of SHOW SLAVE STATUS as explained in the MySQL reference manual.

To prevent mysqlnd_ms from emitting a warning if no slaves can be found that lag no more than the defined number of seconds behind the master, it is necessary to enable master fail over in the plugins configuration file. If no slaves can be found and fail over is turned on, the plugin picks a master for executing the statement.

If no slave can be found and fail over is turned off, the plugin emits a warning, it does not execute the statement and it sets an error on the connection.

Exemplo #5 Fail over not set

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        }
    }
}

Exemplo #6 No slave within time limit

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Read from slaves lagging no more than four seconds */
$ret = mysqlnd_ms_set_qos(
    $mysqli,
    MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL,
    MYSQLND_MS_QOS_OPTION_AGE,
    4
);

if (!$ret) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Plugin picks any slave, which may or may not have the changes */
if (!$res = $mysqli->query("SELECT item, price FROM daytrade")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Back to default: use of all slaves and masters permitted */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
?>

O exemplo acima irá imprimir:

PHP Warning:  mysqli::query(): (mysqlnd_ms) Couldn't find the appropriate slave connection. 0 slaves to choose from. Something is wrong in %s on line %d
PHP Warning:  mysqli::query(): (mysqlnd_ms) No connection selected by the last filter in %s on line %d
[2000] (mysqlnd_ms) No connection selected by the last filter


Global transaction IDs

Nota: Version requirement

A client-side global transaction ID injection has been introduced in mysqlnd_ms version 1.2.0-alpha. The feature is not required for synchronous clusters, such as MySQL Cluster. Use it with asynchronous clusters such as classical MySQL replication.

As of MySQL 5.6.5-m8 release candidate the MySQL server features built-in global transaction identifiers. The MySQL built-in global transaction ID feature is supported by PECL/mysqlnd_ms 1.3.0-alpha or later. However, the final feature set found in MySQL 5.6 production releases to date is not sufficient to support the ideas discussed below in all cases. Please, see also the concepts section.

PECL/mysqlnd_ms can either use its own global transaction ID emulation or the global transaction ID feature built-in to MySQL 5.6.5-m8 or later. From a developer perspective the client-side and server-side approach offer the same features with regards to service levels provided by PECL/mysqlnd_ms. Their differences are discussed in the concepts section.

The quickstart first demonstrates the use of the client-side global transaction ID emulation built-in to PECL/mysqlnd_ms before its show how to use the server-side counterpart. The order ensures that the underlying idea is discussed first.

Idea and client-side emulation

In its most basic form a global transaction ID (GTID) is a counter in a table on the master. The counter is incremented whenever a transaction is committed on the master. Slaves replicate the table. The counter serves two purposes. In case of a master failure, it helps the database administrator to identify the most recent slave for promoting it to the new master. The most recent slave is the one with the highest counter value. Applications can use the global transaction ID to search for slaves which have replicated a certain write (identified by a global transaction ID) already.

PECL/mysqlnd_ms can inject SQL for every committed transaction to increment a GTID counter. The so created GTID is accessible by the application to identify an applications write operation. This enables the plugin to deliver session consistency (read your writes) service level by not only querying masters but also slaves which have replicated the change already. Read load is taken away from the master.

Client-side global transaction ID emulation has some limitations. Please, read the concepts section carefully to fully understand the principles and ideas behind it, before using in production environments. The background knowledge is not required to continue with the quickstart.

First, create a counter table on your master server and insert a record into it. The plugin does not assist creating the table. Database administrators must make sure it exists. Depending on the error reporting mode, the plugin will silently ignore the lack of the table or bail out.

Exemplo #1 Create counter table on master

CREATE TABLE `trx` (
  `trx_id` int(11) DEFAULT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1
INSERT INTO `trx`(`trx_id`) VALUES (1);

In the plugins configuration file set the SQL to update the global transaction ID table using on_commit from the global_transaction_id_injection section. Make sure the table name used for the UPDATE statement is fully qualified. In the example, test.trx is used to refer to table trx in the schema (database) test. Use the table that was created in the previous step. It is important to set the fully qualified table name because the connection on which the injection is done may use a different default database. Make sure the user that opens the connection is allowed to execute the UPDATE.

Enable reporting of errors that may occur when mysqlnd_ms does global transaction ID injection.

Exemplo #2 Plugin config: SQL for client-side GTID injection

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "global_transaction_id_injection":{
            "on_commit":"UPDATE test.trx SET trx_id = trx_id + 1",
            "report_error":true
        }
    }
}

Exemplo #3 Transparent global transaction ID injection

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("DROP TABLE IF EXISTS test")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("CREATE TABLE test(id INT)")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("INSERT INTO test(id) VALUES (1)")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* auto commit mode, read on slave, no increment */
if (!($res = $mysqli->query("SELECT id FROM test"))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

var_dump($res->fetch_assoc());
?>

O exemplo acima irá imprimir:

array(1) {
  ["id"]=>
  string(1) "1"
}

The example runs three statements in auto commit mode on the master, causing three transactions on the master. For every such statement, the plugin will inject the configured UPDATE transparently before executing the users SQL statement. When the script ends the global transaction ID counter on the master has been incremented by three.

The fourth SQL statement executed in the example, a SELECT, does not trigger an increment. Only transactions (writes) executed on a master shall increment the GTID counter.

Nota: SQL for global transaction ID: efficient solution wanted!

The SQL used for the client-side global transaction ID emulation is inefficient. It is optimized for clearity not for performance. Do not use it for production environments. Please, help finding an efficient solution for inclusion in the manual. We appreciate your input.

Exemplo #4 Plugin config: SQL for fetching GTID

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "global_transaction_id_injection":{
            "on_commit":"UPDATE test.trx SET trx_id = trx_id + 1",
            "fetch_last_gtid" : "SELECT MAX(trx_id) FROM test.trx",
            "report_error":true
        }
    }
}

Exemplo #5 Obtaining GTID after injection

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("DROP TABLE IF EXISTS test")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

printf("GTID after transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli));

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("CREATE TABLE test(id INT)")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

printf("GTID after transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli));
?>

O exemplo acima irá imprimir:

GTID after transaction 7
GTID after transaction 8

Applications can ask PECL mysqlnd_ms for a global transaction ID which belongs to the last write operation performed by the application. The function mysqlnd_ms_get_last_gtid() returns the GTID obtained when executing the SQL statement from the fetch_last_gtid entry of the global_transaction_id_injection section from the plugins configuration file. The function may be called after the GTID has been incremented.

Applications are adviced not to run the SQL statement themselves as this bares the risk of accidentally causing an implicit GTID increment. Also, if the function is used, it is easy to migrate an application from one SQL statement for fetching a transaction ID to another, for example, if any MySQL server ever features built-in global transaction ID support.

The quickstart shows a SQL statement which will return a GTID equal or greater to that created for the previous statement. It is exactly the GTID created for the previous statement if no other clients have incremented the GTID in the time span between the statement execution and the SELECT to fetch the GTID. Otherwise, it is greater.

Exemplo #6 Plugin config: Checking for a certain GTID

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "global_transaction_id_injection":{
            "on_commit":"UPDATE test.trx SET trx_id = trx_id + 1",
            "fetch_last_gtid" : "SELECT MAX(trx_id) FROM test.trx",
            "check_for_gtid" : "SELECT trx_id FROM test.trx WHERE trx_id >= #GTID",
            "report_error":true
        }
    }
}

Exemplo #7 Session consistency service level and GTID combined

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* auto commit mode, transaction on master, GTID must be incremented */
if (   !$mysqli->query("DROP TABLE IF EXISTS test")
    || !$mysqli->query("CREATE TABLE test(id INT)")
    || !$mysqli->query("INSERT INTO test(id) VALUES (1)")
) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* GTID as an identifier for the last write */
$gtid = mysqlnd_ms_get_last_gtid($mysqli);

/* Session consistency (read your writes): try to read from slaves not only master */
if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION, MYSQLND_MS_QOS_OPTION_GTID, $gtid)) {
    die(sprintf("[006] [%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Either run on master or a slave which has replicated the INSERT */
if (!($res = $mysqli->query("SELECT id FROM test"))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

var_dump($res->fetch_assoc());
?>

A GTID returned from mysqlnd_ms_get_last_gtid() can be used as an option for the session consistency service level. Session consistency delivers read your writes. Session consistency can be requested by calling mysqlnd_ms_set_qos(). In the example, the plugin will execute the SELECT statement either on the master or on a slave which has replicated the previous INSERT already.

PECL mysqlnd_ms will transparently check every configured slave if it has replicated the INSERT by checking the slaves GTID table. The check is done running the SQL set with the check_for_gtid option from the global_transaction_id_injection section of the plugins configuration file. Please note, that this is a slow and expensive procedure. Applications should try to use it sparsely and only if read load on the master becomes to high otherwise.

Use of the server-side global transaction ID feature

Nota: Insufficient server support in MySQL 5.6

The plugin has been developed against a pre-production version of MySQL 5.6. It turns out that all released production versions of MySQL 5.6 do not provide clients with enough information to enforce session consistency based on GTIDs. Please, read the concepts section for details.

Starting with MySQL 5.6.5-m8 the MySQL Replication system features server-side global transaction IDs. Transaction identifiers are automatically generated and maintained by the server. Users do not need to take care of maintaining them. There is no need to setup any tables in advance, or for setting on_commit. A client-side emulation is no longer needed.

Clients can continue to use global transaction identifier to achieve session consistency when reading from MySQL Replication slaves in some cases but not all! The algorithm works as described above. Different SQL statements must be configured for fetch_last_gtid and check_for_gtid. The statements are given below. Please note, MySQL 5.6.5-m8 is a development version. Details of the server implementation may change in the future and require adoption of the SQL statements shown.

Using the following configuration any of the above described functionality can be used together with the server-side global transaction ID feature. mysqlnd_ms_get_last_gtid() and mysqlnd_ms_set_qos() continue to work as described above. The only difference is that the server does not use a simple sequence number but a string containing of a server identifier and a sequence number. Thus, users cannot easily derive an order from GTIDs returned by mysqlnd_ms_get_last_gtid().

Exemplo #8 Plugin config: using MySQL 5.6.5-m8 built-in GTID feature

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "global_transaction_id_injection":{
            "fetch_last_gtid" : "SELECT @@GLOBAL.GTID_DONE AS trx_id FROM DUAL",
            "check_for_gtid" : "SELECT GTID_SUBSET('#GTID', @@GLOBAL.GTID_DONE) AS trx_id FROM DUAL",
            "report_error":true
        }
    }
}


Cache integration

Nota: Version requirement, dependencies and status

Please, find more about version requirements, extension load order dependencies and the current status in the concepts section!

Databases clusters can deliver different levels of consistency. As of PECL/mysqlnd_ms 1.2.0 it is possible to advice the plugin to consider only cluster nodes that can deliver the consistency level requested. For example, if using asynchronous MySQL Replication with its cluster-wide eventual consistency, it is possible to request session consistency (read your writes) at any time using mysqlnd_ms_set_quos(). Please, see also the service level and consistency introduction.

Exemplo #1 Recap: quality of service to request read your writes

/* Request session consistency: read your writes */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

Assuming PECL/mysqlnd has been explicitly told to deliver no consistency level higher than eventual consistency, it is possible to replace a database node read access with a client-side cache using time-to-live (TTL) as its invalidation strategy. Both the database node and the cache may or may not serve current data as this is what eventual consistency defines.

Replacing a database node read access with a local cache access can improve overall performance and lower the database load. If the cache entry is every reused by other clients than the one creating the cache entry, a database access is saved and thus database load is lowered. Furthermore, system performance can become better if computation and delivery of a database query is slower than a local cache access.

Exemplo #2 Plugin config: no special entries for caching

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
    }
}

Exemplo #3 Caching a slave request

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

if (   !$mysqli->query("DROP TABLE IF EXISTS test")
    || !$mysqli->query("CREATE TABLE test(id INT)")
    || !$mysqli->query("INSERT INTO test(id) VALUES (1)")
) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Explicitly allow eventual consistency and caching (TTL <= 60 seconds) */
if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL, MYSQLND_MS_QOS_OPTION_CACHE, 60)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* To make this example work, we must wait for a slave to catch up. Brute force style. */
$attempts = 0;
do {
    /* check if slave has the table */
    if ($res = $mysqli->query("SELECT id FROM test")) {
        break;
    } else if ($mysqli->errno) {
        die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
    }
    /* wait for slave to catch up */
    usleep(200000);
} while ($attempts++ < 10);

/* Query has been run on a slave, result is in the cache */
assert($res);
var_dump($res->fetch_assoc());

/* Served from cache */
$res = $mysqli->query("SELECT id FROM test");
?>

The example shows how to use the cache feature. First, you have to set the quality of service to eventual consistency and explicitly allow for caching. This is done by calling mysqlnd_ms_set_qos(). Then, the result set of every read-only statement is cached for upto that many seconds as allowed with mysqlnd_ms_set_qos().

The actual TTL is lower or equal to the value set with mysqlnd_ms_set_qos(). The value passed to the function sets the maximum age (seconds) of the data delivered. To calculate the actual TTL value the replication lag on a slave is checked and subtracted from the given value. If, for example, the maximum age is set to 60 seconds and the slave reports a lag of 10 seconds the resulting TTL is 50 seconds. The TTL is calculated individually for every cached query.

Exemplo #4 Read your writes and caching combined

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

if (   !$mysqli->query("DROP TABLE IF EXISTS test")
    || !$mysqli->query("CREATE TABLE test(id INT)")
    || !$mysqli->query("INSERT INTO test(id) VALUES (1)")
) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Explicitly allow eventual consistency and caching (TTL <= 60 seconds) */
if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL, MYSQLND_MS_QOS_OPTION_CACHE, 60)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* To make this example work, we must wait for a slave to catch up. Brute force style. */
$attempts = 0;
do {
    /* check if slave has the table */
    if ($res = $mysqli->query("SELECT id FROM test")) {
        break;
    } else if ($mysqli->errno) {
        die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
    }
    /* wait for slave to catch up */
    usleep(200000);
} while ($attempts++ < 10);

assert($res);

/* Query has been run on a slave, result is in the cache */
var_dump($res->fetch_assoc());

/* Served from cache */
if (!($res = $mysqli->query("SELECT id FROM test"))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
var_dump($res->fetch_assoc());

/* Update on master */
if (!$mysqli->query("UPDATE test SET id = 2")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Read your writes */
if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Fetch latest data */
if (!($res = $mysqli->query("SELECT id FROM test"))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
var_dump($res->fetch_assoc());
?>

The quality of service can be changed at any time to avoid further cache usage. If needed, you can switch to read your writes (session consistency). In that case, the cache will not be used and fresh data is read.


Failover

By default, the plugin does not attempt to fail over if connecting to a host fails. This prevents pitfalls related to connection state. It is recommended to manually handle connection errors in a way similar to a failed transaction. You should catch the error, rebuild the connection state and rerun your query as shown below.

If connection state is no issue to you, you can alternatively enable automatic and silent failover. Depending on the configuration, the automatic and silent failover will either attempt to fail over to the master before issuing and error or, try to connect to other slaves, given the query allowes for it, before attempting to connect to a master. Because automatic failover is not fool-proof, it is not discussed in the quickstart. Instead, details are given in the concepts section below.

Exemplo #1 Manual failover, automatic optional

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "simulate_slave_failure",
                "port": "0"
            },
            "slave_1": {
                "host": "127.0.0.1",
                "port": 3311
            }
        },
       "filters": { "roundrobin": [] }
    }
 }

Exemplo #2 Manual failover

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

$sql = "SELECT 1 FROM DUAL";

/* error handling as it should be done regardless of the plugin */
if (!($res = $link->query($sql))) {
    /* plugin specific: check for connection error */
    switch ($link->errno) {
    case 2002:
    case 2003:
    case 2005:
        printf("Connection error - trying next slave!\n");
        /* load balancer will pick next slave */
        $res = $link->query($sql);
        break;
    default:
        /* no connection error, failover is unlikely to help */
        die(sprintf("SQL error: [%d] %s", $link->errno, $link->error));
        break;
    }
}
if ($res) {
    var_dump($res->fetch_assoc());
}
?>


Partitioning and Sharding

Database clustering is done for various reasons. Clusters can improve availability, fault tolerance, and increase performance by applying a divide and conquer approach as work is distributed over many machines. Clustering is sometimes combined with partitioning and sharding to further break up a large complex task into smaller, more manageable units.

The mysqlnd_ms plugin aims to support a wide variety of MySQL database clusters. Some flavors of MySQL database clusters have built-in methods for partitioning and sharding, which could be transparent to use. The plugin supports the two most common approaches: MySQL Replication table filtering, and Sharding (application based partitioning).

MySQL Replication supports partitioning as filters that allow you to create slaves that replicate all or specific databases of the master, or tables. It is then in the responsibility of the application to choose a slave according to the filter rules. You can either use the mysqlnd_ms node_groups filter to manually support this, or use the experimental table filter.

Manual partitioning or sharding is supported through the node grouping filter, and SQL hints as of 1.5.0. The node_groups filter lets you assign a symbolic name to a group of master and slave servers. In the example, the master master_0 and slave_0 form a group with the name Partition_A. It is entirely up to you to decide what makes up a group. For example, you may use node groups for sharding, and use the group names to address shards like Shard_A_Range_0_100.

Exemplo #1 Cluster node groups

{
  "myapp": {
       "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "simulate_slave_failure",
                "port": "0"
            },
            "slave_1": {
                "host": "127.0.0.1",
                "port": 3311
            }
        },
        "filters": {
            "node_groups": {
                "Partition_A" : {
                    "master": ["master_0"],
                    "slave": ["slave_0"]
                }
            },
           "roundrobin": []
        }
    }
}

Exemplo #2 Manual partitioning using SQL hints

<?php
function select($mysqli, $msg, $hint = '')
{
    /* Note: weak test, two connections to two servers may have the same thread id */
    $sql = sprintf("SELECT CONNECTION_ID() AS _thread, '%s' AS _hint FROM DUAL", $msg);
    if ($hint) {
        $sql = $hint . $sql;
    }
    if (!($res = $mysqli->query($sql))) {
        printf("[%d] %s", $mysqli->errno, $mysqli->error);
        return false;
    }
    $row =  $res->fetch_assoc();
    printf("%d - %s - %s\n", $row['_thread'], $row['_hint'], $sql);
    return true;
}

$mysqli = new mysqli("myapp", "user", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* All slaves allowed */
select($mysqli, "slave_0");
select($mysqli, "slave_1");

/* only servers of node group "Partition_A" allowed */
select($mysqli, "slave_1", "/*Partition_A*/");
select($mysqli, "slave_1", "/*Partition_A*/");
?>
6804 - slave_0 - SELECT CONNECTION_ID() AS _thread, 'slave1' AS _hint FROM DUAL
2442 - slave_1 - SELECT CONNECTION_ID() AS _thread, 'slave2' AS _hint FROM DUAL
6804 - slave_0 - /*Partition_A*/SELECT CONNECTION_ID() AS _thread, 'slave1' AS _hint FROM DUAL
6804 - slave_0 - /*Partition_A*/SELECT CONNECTION_ID() AS _thread, 'slave1' AS _hint FROM DUAL

By default, the plugin will use all configured master and slave servers for query execution. But if a query begins with a SQL hint like /*node_group*/, the plugin will only consider the servers listed in the node_group for query execution. Thus, SELECT queries prefixed with /*Partition_A*/ will only be executed on slave_0.


MySQL Fabric

Nota: Version requirement and status

Work on supporting MySQL Fabric started in version 1.6. Please, consider the support to be of pre-alpha quality. The manual may not list all features or feature limitations. This is work in progress.

Sharding is the only use case supported by the plugin to date.

Nota: MySQL Fabric concepts

Please, check the MySQL reference manual for more information about MySQL Fabric and how to set it up. The PHP manual assumes that you are familiar with the basic concepts and ideas of MySQL Fabric.

MySQL Fabric is a system for managing farms of MySQL servers to achive High Availability and optionally support sharding. Technically, it is a middleware to manage and monitor MySQL servers.

Clients query MySQL Fabric to obtain lists of MySQL servers, their state and their roles. For example, clients can request a list of slaves for a MySQL Replication group and whether they are ready to handle SQL requests. Another example is a cluster of sharded MySQL servers where the client seeks to know which shard to query for a given table and shard key. If configured to use Fabric, the plugin uses XML RCP over HTTP to obtain the list at runtime from a MySQL Fabric host. The XML remote procedure call itself is done in the background and transparent from a developers point of view.

Instead of listing MySQL servers directly in the plugins configuration file it contains a list of one or more MySQL Fabric hosts

Exemplo #1 Plugin config: Fabric hosts instead of MySQL servers

{
    "myapp": {
        "fabric": {
            "hosts": [
                {
                    "host" : "127.0.0.1",
                    "port" : 8080
                }
            ]
        }
    }
}

Users utilize the new functions mysqlnd_ms_fabric_select_shard() and mysqlnd_ms_fabric_select_global() to switch to the set of servers responsible for a given shard key. Then, the plugin picks an appropriate server for running queries on. When doing so, the plugin takes care of additional load balancing rules set.

The below example assumes that MySQL Fabric has been setup to shard the table test.fabrictest using the id column of the table as a shard key.

Exemplo #2 Manual partitioning using SQL hints

<?php
$mysqli = new mysqli("myapp", "user", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Create a global table - a table available on all shards */
mysqlnd_ms_fabric_select_global($mysqli, "test.fabrictest");
if (!$mysqli->query("CREATE TABLE test.fabrictest(id INT NOT NULL PRIMARY KEY)")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Switch connection to appropriate shard and insert record */
mysqlnd_ms_fabric_select_shard($mysqli, "test.fabrictest", 10);
if (!($res = $mysqli->query("INSERT INTO fabrictest(id) VALUES (10)"))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Try to read newly inserted record */
mysqlnd_ms_fabric_select_shard($mysqli, "test.fabrictest", 10);
if (!($res = $mysqli->query("SELECT id FROM test WHERE id = 10"))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
?>

The example creates the sharded table, inserts a record and reads the record thereafter. All SQL data definition language (DDL) operations on a sharded table must be applied to the so called global server group. Prior to creating or altering a sharded table, mysqlnd_ms_fabric_select_global() is called to switch the given connection to the corresponding servers of the global group. Data manipulation (DML) SQL statements must be sent to the shards directly. The mysqlnd_ms_fabric_select_shard() switches a connection to shards handling a certain shard key.


Concepts

Índice

  • Architecture
  • Connection pooling and switching
  • Local transaction handling
  • Error handling
  • Transient errors
  • Failover
  • Load balancing
  • Read-write splitting
  • Filter
  • Service level and consistency
  • Global transaction IDs
  • Cache integration
  • Supported clusters
  • XA/Distributed transactions

This explains the architecture and related concepts for this plugin, and describes the impact that MySQL replication and this plugin have on developmental tasks while using a database cluster. Reading and understanding these concepts is required, in order to use this plugin with success.


Architecture

The mysqlnd replication and load balancing plugin is implemented as a PHP extension. It is written in C and operates under the hood of PHP. During the startup of the PHP interpreter, in the module init phase of the PHP engine, it gets registered as a mysqlnd plugin to replace selected mysqlnd C methods.

At PHP runtime, it inspects queries sent from mysqlnd (PHP) to the MySQL server. If a query is recognized as read-only, it will be sent to one of the configured slave servers. Statements are considered read-only if they either start with SELECT, the SQL hint /*ms=slave*/ or a slave had been chosen for running the previous query, and the query started with the SQL hint /*ms=last_used*/. In all other cases, the query will be sent to the MySQL replication master server.

For better portability, applications should use the MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH, and MYSQLND_MS_LAST_USED_SWITCH predefined mysqlnd_ms constants, instead of their literal values, such as /*ms=slave*/.

The plugin handles the opening and closing of database connections to both master and slave servers. From an application point of view, there continues to be only one connection handle. However, internally, this one public connection handle represents a pool of network connections that are managed by the plugin. The plugin proxies queries to the master server, and to the slaves using multiple connections.

Database connections have a state consisting of, for example, transaction status, transaction settings, character set settings, and temporary tables. The plugin will try to maintain the same state among all internal connections, whenever this can be done in an automatic and transparent way. In cases where it is not easily possible to maintain state among all connections, such as when using BEGIN TRANSACTION, the plugin leaves it to the user to handle.


Connection pooling and switching

The replication and load balancing plugin changes the semantics of a PHP MySQL connection handle. The existing API of the PHP MySQL extensions (mysqli, mysql, and PDO_MYSQL) are not changed in a way that functions are added or removed. But their behavior changes when using the plugin. Existing applications do not need to be adapted to a new API, but they may need to be modified because of the behavior changes.

The plugin breaks the one-by-one relationship between a mysqli, mysql, and PDO_MYSQL connection handle and a MySQL network connection. And a mysqli, mysql, and PDO_MYSQL connection handle represents a local pool of connections to the configured MySQL replication master and MySQL replication slave servers. The plugin redirects queries to the master and slave servers. At some point in time one and the same PHP connection handle may point to the MySQL master server. Later on, it may point to one of the slave servers or still the master. Manipulating and replacing the network connection referenced by a PHP MySQL connection handle is not a transparent operation.

Every MySQL connection has a state. The state of the connections in the connection pool of the plugin can differ. Whenever the plugin switches from one wire connection to another, the current state of the user connection may change. The applications must be aware of this.

The following list shows what the connection state consists of. The list may not be complete.

  • Transaction status
  • Temporary tables
  • Table locks
  • Session system variables and session user variables
  • The current database set using USE and other state chaining SQL commands
  • Prepared statements
  • HANDLER variables
  • Locks acquired with GET_LOCK()

Connection switches happen right before queries are executed. The plugin does not switch the current connection until the next statement is executed.

Nota: Replication issues

See also the MySQL reference manual chapter about » replication features and related issues. Some restrictions may not be related to the PHP plugin, but are properties of the MySQL replication system.

Broadcasted messages

The plugins philosophy is to align the state of connections in the pool only if the state is under full control of the plugin, or if it is necessary for security reasons. Just a few actions that change the state of the connection fall into this category.

The following is a list of connection client library calls that change state, and are broadcasted to all open connections in the connection pool.

If any of the listed calls below are to be executed, the plugin loops over all open master and slave connections. The loop continues until all servers have been contacted, and the loop does not break if a server indicates a failure. If possible, the failure will propagate to the called user API function, which may be detected depending on which underlying library function was triggered.

Library call | Notes | Version
change_user() | Called by the mysqli_change_user() user API call. Also triggered upon reuse of a persistent mysqli connection. | Since 1.0.0.
select_db | Called by the following user API calls: mysql_select_db(), mysql_list_tables(), mysql_db_query(), mysql_list_fields(), mysqli_select_db(). Note, that SQL USE is not monitored. | Since 1.0.0.
set_charset() | Called by the following user API calls: mysql_set_charset(). mysqli_set_charset(). Note, that SQL SET NAMES is not monitored. | Since 1.0.0.
set_server_option() | Called by the following user API calls: mysqli_multi_query(), mysqli_real_query(), mysqli_query(), mysql_query(). | Since 1.0.0.
set_client_option() | Called by the following user API calls: mysqli_options(), mysqli_ssl_set(), mysqli_connect(), mysql_connect(), mysql_pconnect(). | Since 1.0.0.
set_autocommit() | Called by the following user API calls: mysqli_autocommit(), PDO::setAttribute(PDO::ATTR_AUTOCOMMIT). | Since 1.0.0. PHP >= 5.4.0.
ssl_set() | Called by the following user API calls: mysqli_ssl_set(). | Since 1.1.0.

Broadcasting and lazy connections

The plugin does not proxy or remember all settings to apply them on connections opened in the future. This is important to remember, if using lazy connections. Lazy connections are connections which are not opened before the client sends the first connection. Use of lazy connections is the default plugin action.

The following connection library calls each changed state, and their execution is recorded for later use when lazy connections are opened. This helps ensure that the connection state of all connections in the connection pool are comparable.

Library call | Notes | Version
change_user() | User, password and database recorded for future use. | Since 1.1.0.
select_db | Database recorded for future use. | Since 1.1.0.
set_charset() | Calls set_client_option(MYSQL_SET_CHARSET_NAME, charset) on lazy connection to ensure charset will be used upon opening the lazy connection. | Since 1.1.0.
set_autocommit() | Adds SET AUTOCOMMIT=0|1 to the list of init commands of a lazy connection using set_client_option(MYSQL_INIT_COMMAND, "SET AUTOCOMMIT=...%quot;). | Since 1.1.0. PHP >= 5.4.0.
Cuidado

Connection state

The connection state is not only changed by API calls. Thus, even if PECL mysqlnd_ms monitors all API calls, the application must still be aware. Ultimately, it is the applications responsibility to maintain the connection state, if needed.

Charsets and string escaping

Due to the use of lazy connections, which are a default, it can happen that an application tries to escape a string for use within SQL statements before a connection has been established. In this case string escaping is not possible. The string escape function does not know what charset to use before a connection has been established.

To overcome the problem a new configuration setting server_charset has been introduced in version 1.4.0.

Attention has to be paid on escaping strings with a certain charset but using the result on a connection that uses a different charset. Please note, that PECL/mysqlnd_ms manipulates connections and one application level connection represents a pool of multiple connections that all may have different default charsets. It is recommended to configure the servers involved to use the same default charsets. The configuration setting server_charset does help with this situation as well. If using server_charset, the plugin will set the given charset on all newly opened connections.


Local transaction handling

Transaction handling is fundamentally changed. An SQL transaction is a unit of work that is run on one database server. The unit of work consists of one or more SQL statements.

By default the plugin is not aware of SQL transactions. The plugin may switch connections for load balancing at any point in time. Connection switches may happen in the middle of a transaction. This is against the nature of an SQL transaction. By default, the plugin is not transaction safe.

Any kind of MySQL load balancer must be hinted about the begin and end of a transaction. Hinting can either be done implicitly by monitoring API calls or using SQL hints. Both options are supported by the plugin, depending on your PHP version. API monitoring requires PHP 5.4.0 or newer. The plugin, like any other MySQL load balancer, cannot detect transaction boundaries based on the MySQL Client Server Protocol. Thus, entirely transparent transaction aware load balancing is not possible. The least intrusive option is API monitoring, which requires little to no application changes, depending on your application.

Please, find examples of using SQL hints or the API monitoring in the examples section. The details behind the API monitoring, which makes the plugin transaction aware, are described below.

Beginning with PHP 5.4.0, the mysqlnd library allows this plugin to subclass the library C API call set_autocommit(), to detect the status of autocommit mode.

The PHP MySQL extensions either issue a query (such as SET AUTOCOMMIT=0|1), or use the mysqlnd library call set_autocommit() to control the autocommit setting. If an extension makes use of set_autocommit(), the plugin can be made transaction aware. Transaction awareness cannot be achieved if using SQL to set the autocommit mode. The library function set_autocommit() is called by the mysqli_autocommit() and PDO::setAttribute(PDO::ATTR_AUTOCOMMIT) user API calls.

The plugin configuration option trx_stickiness=master can be used to make the plugin transactional aware. In this mode, the plugin stops load balancing if autocommit becomes disabled, and directs all statements to the master until autocommit gets enabled.

An application that does not want to set SQL hints for transactions but wants to use the transparent API monitoring to avoid application changes must make sure that the autocommit settings is changed exclusively through the listed API calls.

API based transaction boundary detection has been improved with PHP 5.5.0 and PECL/mysqlnd_ms 1.5.0 to cover not only calls to mysqli_autocommit() but also mysqli_begin(), mysqli_commit() and mysqli_rollback().


Error handling

Applications using PECL/mysqlnd_ms should implement proper error handling for all user API calls. And because the plugin changes the semantics of a connection handle, API calls may return unexpected errors. If using the plugin on a connection handle that no longer represents an individual network connection, but a connection pool, an error code and error message will be set on the connection handle whenever an error occurs on any of the network connections behind.

If using lazy connections, which is the default, connections are not opened until they are needed for query execution. Therefore, an API call for a statement execution may return a connection error. In the example below, an error is provoked when trying to run a statement on a slave. Opening a slave connection fails because the plugin configuration file lists an invalid host name for the slave.

Exemplo #1 Provoking a connection error

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "invalid_host_name",
            }
        },
        "lazy_connections": 1
    }
}

The explicit activation of lazy connections is for demonstration purpose only.

Exemplo #2 Connection error on query execution

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno())
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Connection 1, connection bound SQL user variable, no SELECT thus run on master */
if (!$mysqli->query("SET @myrole='master'")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Connection 2, run on slave because SELECT, provoke connection error */
if (!($res = $mysqli->query("SELECT @myrole AS _role"))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
 $row = $res->fetch_assoc();
 $res->close();
 printf("@myrole = '%s'\n", $row['_role']);
}
$mysqli->close();
?>

O exemplo acima irá imprimir algo similar à:

PHP Warning:  mysqli::query(): php_network_getaddresses: getaddrinfo failed: Name or service not known in %s on line %d
PHP Warning:  mysqli::query(): [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known (trying to connect via tcp://invalid_host_name:3306) in %s on line %d
[2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

Applications are expected to handle possible connection errors by implementing proper error handling.

Depending on the use case, applications may want to handle connection errors differently from other errors. Typical connection errors are 2002 (CR_CONNECTION_ERROR) - Can't connect to local MySQL server through socket '%s' (%d), 2003 (CR_CONN_HOST_ERROR) - Can't connect to MySQL server on '%s' (%d) and 2005 (CR_UNKNOWN_HOST) - Unknown MySQL server host '%s' (%d). For example, the application may test for the error codes and manually perform a fail over. The plugins philosophy is not to offer automatic fail over, beyond master fail over, because fail over is not a transparent operation.

Exemplo #3 Provoking a connection error

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "invalid_host_name"
            },
            "slave_1": {
                "host": "192.168.78.136"
            }
        },
        "lazy_connections": 1,
        "filters": {
            "roundrobin": [

            ]
        }
    }
}

Explicitly activating lazy connections is done for demonstration purposes, as is round robin load balancing as opposed to the default random once type.

Exemplo #4 Most basic failover

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno())
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Connection 1, connection bound SQL user variable, no SELECT thus run on master */
if (!$mysqli->query("SET @myrole='master'")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Connection 2, first slave */
$res = $mysqli->query("SELECT VERSION() AS _version");
/* Hackish manual fail over */
if (2002 == $mysqli->errno || 2003 == $mysqli->errno || 2004 == $mysqli->errno) {
  /* Connection 3, first slave connection failed, trying next slave */
  $res = $mysqli->query("SELECT VERSION() AS _version");
}

if (!$res) {
  printf("ERROR, [%d] '%s'\n", $mysqli->errno, $mysqli->error);
} else {
 /* Error messages are taken from connection 3, thus no error */
 printf("SUCCESS, [%d] '%s'\n", $mysqli->errno, $mysqli->error);
 $row = $res->fetch_assoc();
 $res->close();
 printf("version = %s\n", $row['_version']);
}
$mysqli->close();
?>

O exemplo acima irá imprimir algo similar à:

[1045] Access denied for user 'username'@'localhost' (using password: YES)
PHP Warning:  mysqli::query(): php_network_getaddresses: getaddrinfo failed: Name or service not known in %s on line %d
PHP Warning:  mysqli::query(): [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known (trying to connect via tcp://invalid_host_name:3306) in %s on line %d
SUCCESS, [0] ''
version = 5.6.2-m5-log

In some cases, it may not be easily possible to retrieve all errors that occur on all network connections through a connection handle. For example, let's assume a connection handle represents a pool of three open connections. One connection to a master and two connections to the slaves. The application changes the current database using the user API call mysqli_select_db(), which then calls the mysqlnd library function to change the schemata. mysqlnd_ms monitors the function, and tries to change the current database on all connections to harmonize their state. Now, assume the master succeeds in changing the database, and both slaves fail. Upon the initial error from the first slave, the plugin will set an appropriate error on the connection handle. The same is done when the second slave fails to change the database. The error message from the first slave is lost.

Such cases can be debugged by either checking for errors of the type E_WARNING (see above) or, if no other option, investigation of the mysqlnd_ms debug and trace log.


Transient errors

Some distributed database clusters make use of transient errors. A transient error is a temporary error that is likely to disappear soon. By definition it is safe for a client to ignore a transient error and retry the failed operation on the same database server. The retry is free of side effects. Clients are not forced to abort their work or to fail over to another database server immediately. They may enter a retry loop before to wait for the error to disappear before giving up on the database server. Transient errors can be seen, for example, when using MySQL Cluster. But they are not bound to any specific clustering solution per se.

PECL/mysqlnd_ms can perform an automatic retry loop in case of a transient error. This increases distribution transparency and thus makes it easier to migrate an application running on a single database server to run on a cluster of database servers without having to change the source of the application.

The automatic retry loop will repeat the requested operation up to a user configurable number of times and pause between the attempts for a configurable amount of time. If the error disappears during the loop, the application will never see it. If not, the error is forwarded to the application for handling.

In the example below a duplicate key error is provoked to make the plugin retry the failing query two times before the error is passed to the application. Between the two attempts the plugin sleeps for 100 milliseconds.

Exemplo #1 Provoking a transient error

mysqlnd_ms.enable=1
mysqlnd_ms.collect_statistics=1
{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
       },
       "transient_error": {
          "mysql_error_codes": [
            1062
          ],
          "max_retries": 2,
          "usleep_retry": 100
       }
    }
}

Exemplo #2 Transient error retry loop

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno())
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT PRIMARY KEY)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1))")) {
  printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Retry loop is completely transparent. Checking statistics is
 the only way to know about implicit retries */
$stats = mysqlnd_ms_get_stats();
printf("Transient error retries before error: %d\n", $stats['transient_error_retries']);

/* Provoking duplicate key error to see statistics change */
if (!$mysqli->query("INSERT INTO test(id) VALUES (1))")) {
  printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

$stats = mysqlnd_ms_get_stats();
printf("Transient error retries after error: %d\n", $stats['transient_error_retries']);

$mysqli->close();
?>

O exemplo acima irá imprimir algo similar à:

Transient error retries before error: 0
[1062] Duplicate entry '1' for key 'PRIMARY'
Transient error retries before error: 2

Because the execution of the retry loop is transparent from a users point of view, the example checks the statistics provided by the plugin to learn about it.

As the example shows, the plugin can be instructed to consider any error transient regardless of the database servers error semantics. The only error that a stock MySQL server considers temporary has the error code 1297. When configuring other error codes but 1297 make sure your configuration reflects the semantics of your clusters error codes.

The following mysqlnd C API calls are monitored by the plugin to check
for transient errors: query(),
change_user(), select_db(),
set_charset(), set_server_option()
prepare(), execute(),
set_autocommit(),
tx_begin(), tx_commit(),
tx_rollback(), tx_commit_or_rollback().
The corresponding user API calls have similar names.

The maximum time the plugin may sleep during the retry loop depends on the function in question. The a retry loop for query(), prepare() or execute() will sleep for up to max_retries * usleep_retry milliseconds.

However, functions that control connection state are dispatched to all connections. The retry loop settings are applied to every connection on which the command is to be run. Thus, such a function may interrupt program execution for longer than a function that is run on one server only. For example, set_autocommit() is dispatched to connections and may sleep up to (max_retries * usleep_retry) * number_of_open_connections) milliseconds. Please, keep this in mind when setting long sleep times and large retry numbers. Using the default settings of max_retries=1, usleep_retry=100 and lazy_connections=1 it is unlikely that you will ever see a delay of more than 1 second.


Failover

By default, connection failover handling is left to the user. The application is responsible for checking return values of the database functions it calls and reacting to possible errors. If, for example, the plugin recognizes a query as a read-only query to be sent to the slave servers, and the slave server selected by the plugin is not available, the plugin will raise an error after not executing the statement.

Default: manual failover

It is up to the application to handle the error and, if required, re-issue the query to trigger the selection of another slave server for statement execution. The plugin will make no attempts to failover automatically, because the plugin cannot ensure that an automatic failover will not change the state of the connection. For example, the application may have issued a query which depends on SQL user variables which are bound to a specific connection. Such a query might return incorrect results if the plugin would switch the connection implicitly as part of automatic failover. To ensure correct results, the application must take care of the failover, and rebuild the required connection state. Therefore, by default, no automatic failover is performed by the plugin.

A user that does not change the connection state after opening a connection may activate automatic failover. Please note, that automatic failover logic is limited to connection attempts. Automatic failover is not used for already established connections. There is no way to instruct the plugin to attempt failover on a connection that has been connected to MySQL already in the past.

Automatic failover

The failover policy is configured in the plugins configuration file, by using the failover configuration directive.

Automatic and silent failover can be enabled through the failover configuration directive. Automatic failover can either be configured to try exactly one master after a slave failure or, alternatively, loop over slaves and masters before returning an error to the user. The number of connection attempts can be limited and failed hosts can be excluded from future load balancing attempts. Limiting the number of retries and remembering failed hosts are considered experimental features, albeit being reasonable stable. Syntax and semantics may change in future versions.

Please note, since version 1.5.0 automatic failover is disabled for the duration of a transaction if transaction stickiness is enabled and transaction boundaries have been detected. The plugin will not switch connections for the duration of a transaction. It will also not perform automatic and silent failover. Instead an error will be thrown. It is then left to the user to handle the failure of the transaction. Please check, the trx_stickiness documentation how to do this.

A basic manual failover example is provided within the error handling section.

Standby servers

Using weighted load balancing, introduced in PECL/mysqlnd 1.4.0, it is possible to configure standby servers that are sparsely used during normal operations. A standby server that is primarily used as a worst-case standby failover target can be assigned a very low weight/priority in relation to all other servers. As long as all servers are up and running the majority of the workload is assigned to the servers which have hight weight values. Few requests will be directed to the standby system which has a very low weight value.

Upon failure of the servers with a high priority, you can still failover to the standby, which has been given a low load balancing priority by assigning a low weight to it. Failover can be some manually or automatically. If done automatically, you may want to combine it with the remember_failed option.

At this point, it is not possible to instruct the load balancer to direct no requests at all to a standby. This may not be much of a limitation given that the highest weight you can assign to a server is 65535. Given two slaves, of which one shall act as a standby and has been assigned a weight of 1, the standby will have to handle far less than one percent of the overall workload.

Failover and primary copy

Please note, if using a primary copy cluster, such as MySQL Replication, it is difficult to do connection failover in case of a master failure. At any time there is only one master in the cluster for a given dataset. The master is a single point of failure. If the master fails, clients have no target to fail over write requests. In case of a master outage the database administrator must take care of the situation and update the client configurations, if need be.


Load balancing

Four load balancing strategies are supported to distribute statements over the configured MySQL slave servers:

random

Chooses a random server whenever a statement is executed.

random once (default)

Chooses a random server after the first statement is executed, and uses the decision for the rest of the PHP request.

It is the default, and the lowest impact on the connection state.

round robin

Iterates over the list of configured servers.

user-defined via callback

Is used to implement any other strategy.

The load balancing policy is configured in the plugins configuration file using the random, roundrobin, and user filters.

Servers can be prioritized assigning a weight. A server that has been given a weight of two will get twice as many requests as a server that has been given the default weight of one. Prioritization can be handy in heterogenous environments. For example, you may want to assign more requests to a powerful machine than to a less powerful. Or, you may have configured servers that are close or far from the client, thus expose different latencies.


Read-write splitting

The plugin executes read-only statements on the configured MySQL slaves, and all other queries on the MySQL master. Statements are considered read-only if they either start with SELECT, the SQL hint /*ms=slave*/, or if a slave had been chosen for running the previous query and the query starts with the SQL hint /*ms=last_used*/. In all other cases, the query will be sent to the MySQL replication master server. It is recommended to use the constants MYSQLND_MS_SLAVE_SWITCH, MYSQLND_MS_MASTER_SWITCH and MYSQLND_MS_LAST_USED_SWITCH instead of /*ms=slave*/. See also the list of mysqlnd_ms constants.

SQL hints are a special kind of standard compliant SQL comments. The plugin does check every statement for certain SQL hints. The SQL hints are described within the mysqlnd_ms constants documentation, constants that are exported by the extension. Other systems involved with the statement processing, such as the MySQL server, SQL firewalls, and SQL proxies, are unaffected by the SQL hints, because those systems are designed to ignore SQL comments.

The built-in read-write splitter can be replaced by a user-defined filter, see also the user filter documentation.

A user-defined read-write splitter can request the built-in logic to send a statement to a specific location, by invoking mysqlnd_ms_is_select().

Nota:

The built-in read-write splitter is not aware of multi-statements. Multi-statements are seen as one statement. The splitter will check the beginning of the statement to decide where to run the statement. If, for example, a multi-statement begins with SELECT 1 FROM DUAL; INSERT INTO test(id) VALUES (1); ... the plugin will run it on a slave although the statement is not read-only.


Filter

Nota: Version requirement

Filters exist as of mysqlnd_ms version 1.1.0-beta.

filters. PHP applications that implement a MySQL replication cluster must first identify a group of servers in the cluster which could execute a statement before the statement is executed by one of the candidates. In other words: a defined list of servers must be filtered until only one server is available.

The process of filtering may include using one or more filters, and filters can be chained. And they are executed in the order they are defined in the plugins configuration file.

Nota: Explanation: comparing filter chaining to pipes

The concept of chained filters can be compared to using pipes to connect command line utilities on an operating system command shell. For example, an input stream is passed to a processor, filtered, and then transferred to be output. Then, the output is passed as input to the next command, which is connected to the previous using the pipe operator.

Available filters:

  • Load balancing filters: random and roundrobin.
  • Selection filter: user, user_multi, quality_of_service.

The random filter implements the 'random' and 'random once' load balancing policies. The 'round robin' load balancing can be configured through the roundrobin filter. Setting a 'user defined callback' for server selection is possible with the user filter. The quality_of_service filter finds cluster nodes capable of delivering a certain service, for example, read-your-writes or, not lagging more seconds behind the master than allowed.

Filters can accept parameters to change their behavior. The random filter accepts an optional sticky parameter. If set to true, the filter changes load balancing from random to random once. Random picks a random server every time a statement is to be executed. Random once picks a random server when the first statement is to be executed and uses the same server for the rest of the PHP request.

One of the biggest strength of the filter concept is the possibility to chain filters. This strength does not become immediately visible because the random, roundrobin and user filters are supposed to output no more than one server. If a filter reduces the list of candidates for running a statement to only one server, it makes little sense to use that one server as input for another filter for further reduction of the list of candidates.

An example filter sequence that will fail:

  • Statement to be executed: SELECT 1 FROM DUAL. Passed to all filters.
  • All configured nodes are passed as input to the first filter. Master nodes: master_0. Slave nodes:slave_0, slave_1
  • Filter: random, argument sticky=1. Picks a random slave once to be used for the rest of the PHP request. Output: slave_0.
  • Output of slave_0 and the statement to be executed is passed as input to the next filter. Here: roundrobin, server list passed to filter is: slave_0.
  • Filter: roundrobin. Server list consists of one server only, round robin will always return the same server.
If trying to use such a filter sequence, the plugin may emit a warning like (mysqlnd_ms) Error while creating filter '%s' . Non-multi filter '%s' already created. Stopping in %s on line %d. Furthermore, an appropriate error on the connection handle may be set.

A second type of filter exists: multi filter. A multi filter emits zero, one or multiple servers after processing. The quality_of_service filter is an example. If the service quality requested sets an upper limit for the slave lag and more than one slave is lagging behind less than the allowed number of seconds, the filter returns more than one cluster node. A multi filter must be followed by other to further reduce the list of candidates for statement execution until a candidate is found.

A filter sequence with the quality_of_service multi filter followed by a load balancing filter.

  • Statement to be executed: SELECT sum(price) FROM orders WHERE order_id = 1. Passed to all filters.
  • All configured nodes are passed as input to the first filter. Master nodes: master_0. Slave nodes: slave_0, slave_1, slave_2, slave_3
  • Filter: quality_of_service, rule set: session_consistency (read-your-writes) Output: master_0
  • Output of master_0 and the statement to be executed is passed as input to the next filter, which is roundrobin.
  • Filter: roundrobin. Server list consists of one server. Round robin selects master_0.

A filter sequence must not end with a multi filter. If trying to use a filter sequence which ends with a multi filter the plugin may emit a warning like (mysqlnd_ms) Error in configuration. Last filter is multi filter. Needs to be non-multi one. Stopping in %s on line %d. Furthermore, an appropriate error on the connection handle may be set.

Nota: Speculation towards the future: MySQL replication filtering

In future versions, there may be additional multi filters. For example, there may be a table filter to support MySQL replication filtering. This would allow you to define rules for which database or table is to be replicated to which node of a replication cluster. Assume your replication cluster consists of four slaves (slave_0, slave_1, slave_2, slave_3) two of which replicate a database named sales (slave_0, slave_1). If the application queries the database slaves, the hypothetical table filter reduces the list of possible servers to slave_0 and slave_1. Because the output and list of candidates consists of more than one server, it is necessary and possible to add additional filters to the candidate list, for example, using a load balancing filter to identify a server for statement execution.


Service level and consistency

Nota: Version requirement

Service levels have been introduced in mysqlnd_ms version 1.2.0-alpha. mysqlnd_ms_set_qos() requires PHP 5.4.0 or newer.

The plugin can be used with different kinds of MySQL database clusters. Different clusters can deliver different levels of service to applications. The service levels can be grouped by the data consistency levels that can be achieved. The plugin knows about:

  • eventual consistency
  • session consistency
  • strong consistency

Depending how a cluster is used it may be possible to achieve higher service levels than the default one. For example, a read from an asynchronous MySQL replication slave is eventual consistent. Thus, one may say the default consistency level of a MySQL replication cluster is eventual consistency. However, if the master only is used by a client for reading and writing during a session, session consistency (read your writes) is given. PECL mysqlnd 1.2.0 abstracts the details of choosing an appropriate node for any of the above service levels from the user.

Service levels can be set through the qualify-of-service filter in the plugins configuration file and at runtime using the function mysqlnd_ms_set_qos().

The plugin defines the different service levels as follows.

Eventual consistency is the default service provided by an asynchronous cluster, such as classical MySQL replication. A read operation executed on an arbitrary node may or may not return stale data. The applications view of the data is eventual consistent.

Session consistency is given if a client can always read its own writes. An asynchronous MySQL replication cluster can deliver session consistency if clients always use the master after the first write or never query a slave which has not yet replicated the clients write operation.

The plugins understanding of strong consistency is that all clients always see the committed writes of all other clients. This is the default when using MySQL Cluster or any other cluster offering synchronous data distribution.

Service level parameters

Eventual consistency and session consistency service level accept parameters.

Eventual consistency is the service provided by classical MySQL replication. By default, all nodes qualify for read requests. An optional age parameter can be given to filter out nodes which lag more than a certain number of seconds behind the master. The plugin is using SHOW SLAVE STATUS to measure the lag. Please, see the MySQL reference manual to learn about accuracy and reliability of the SHOW SLAVE STATUS command.

Session consistency (read your writes) accepts an optional GTID parameter to consider reading not only from the master but also from slaves which already have replicated a certain write described by its transaction identifier. This way, when using asynchronous MySQL replication, read requests may be load balanced over slaves while still ensuring session consistency.

The latter requires the use of client-side global transaction id injection.

Advantages of the new approach

The new approach supersedes the use of SQL hints and the configuration option master_on_write in some respects. If an application running on top of an asynchronous MySQL replication cluster cannot accept stale data for certain reads, it is easier to tell the plugin to choose appropriate nodes than prefixing all read statements in question with the SQL hint to enforce the use of the master. Furthermore, the plugin may be able to use selected slaves for reading.

The master_on_write configuration option makes the plugin use the master after the first write (session consistency, read your writes). In some cases, session consistency may not be needed for the rest of the session but only for some, few read operations. Thus, master_on_write may result in more read load on the master than necessary. In those cases it is better to request a higher than default service level only for those reads that actually need it. Once the reads are done, the application can return to default service level. Switching between service levels is only possible using mysqlnd_ms_set_qos().

Performance considerations

A MySQL replication cluster cannot tell clients which slaves are capable of delivering which level of service. Thus, in some cases, clients need to query the slaves to check their status. PECL mysqlnd_ms transparently runs the necessary SQL in the background. However, this is an expensive and slow operation. SQL statements are run if eventual consistency is combined with an age (slave lag) limit and if session consistency is combined with a global transaction ID.

If eventual consistency is combined with an maximum age (slave lag), the plugin selects candidates for statement execution and load balancing for each statement as follows. If the statement is a write all masters are considered as candidates. Slaves are not checked and not considered as candidates. If the statement is a read, the plugin transparently executes SHOW SLAVE STATUS on every slaves connection. It will loop over all connections, send the statement and then start checking for results. Usually, this is slightly faster than a loop over all connections in which for every connection a query is send and the plugin waits for its results. A slave is considered a candidate if SHOW SLAVE STATUS reports Slave_IO_Running=Yes, Slave_SQL_Running=Yes and Seconds_Behind_Master is less or equal than the allowed maximum age. In case of an SQL error, the plugin emits a warning but does not set an error on the connection. The error is not set to make it possible to use the plugin as a drop-in.

If session consistency is combined with a global transaction ID, the plugin executes the SQL statement set with the fetch_last_gtid entry of the global_transaction_id_injection section from the plugins configuration file. Further details are identical to those described above.

In version 1.2.0 no additional optimizations are done for executing background queries. Future versions may contain optimizations, depending on user demand.

If no parameters and options are set, no SQL is needed. In that case, the plugin consider all nodes of the type shown below.

  • eventual consistency, no further options set: all masters, all slaves
  • session consistency, no further options set: all masters
  • strong consistency (no options allowed): all masters

Throttling

The quality of service filter can be combined with Global transaction IDs to throttle clients. Throttling does reduce the write load on the master by slowing down clients. If session consistency is requested and global transactions identifier are used to check the status of a slave, the check can be done in two ways. By default a slave is checked and skipped immediately if it does not match the criteria for session consistency. Alternatively, the plugin can wait for a slave to catch up to the master until session consistency is possible. To enable the throttling, you have to set wait_for_gtid_timeout configuration option.


Global transaction IDs

Nota: Version requirement

Client side global transaction ID injection exists as of mysqlnd_ms version 1.2.0-alpha. Transaction boundaries are detected by monitoring API calls. This is possible as of PHP 5.4.0. Please, see also Transaction handling.

As of MySQL 5.6.5-m8 the MySQL server features built-in global transaction identifiers. The MySQL built-in global transaction ID feature is supported by PECL/mysqlnd_ms 1.3.0-alpha or later. Neither are client-side transaction boundary monitoring nor any setup activities required if using the server feature.

Please note, all MySQL 5.6 production versions do not provide clients with enough information to use GTIDs for enforcing session consistency. In the worst case, the plugin will choose the master only.

Idea and client-side emulation

PECL/mysqlnd_ms can do client-side transparent global transaction ID injection. In its most basic form, a global transaction identifier is a counter which is incremented for every transaction executed on the master. The counter is held in a table on the master. Slaves replicate the counter table.

In case of a master failure a database administrator can easily identify the most recent slave for promoting it as a new master. The most recent slave has the highest transaction identifier.

Application developers can ask the plugin for the global transaction identifier (GTID) for their last successful write operation. The plugin will return an identifier that refers to an transaction no older than that of the clients last write operation. Then, the GTID can be passed as a parameter to the quality of service (QoS) filter as an option for session consistency. Session consistency ensures read your writes. The filter ensures that all reads are either directed to a master or a slave which has replicated the write referenced by the GTID.

When injection is done

The plugin transparently maintains the GTID table on the master. In autocommit mode the plugin injects an UPDATE statement before executing the users statement for every master use. In manual transaction mode, the injection is done before the application calls commit() to close a transaction. The configuration option report_error of the GTID section in the plugins configuration file is used to control whether a failed injection shall abort the current operation or be ignored silently (default).

Please note, the PHP version requirements for transaction boundary monitoring and their limits.

Limitations

Client-side global transaction ID injection has shortcomings. The potential issues are not specific to PECL/mysqlnd_ms but are rather of general nature.

  • Global transaction ID tables must be deployed on all masters and replicas.
  • The GTID can have holes. Only PHP clients using the plugin will maintain the table. Other clients will not.
  • Client-side transaction boundary detection is based on API calls only.
  • Client-side transaction boundary detection does not take implicit commit into account. Some MySQL SQL statements cause an implicit commit and cannot be rolled back.

Using server-side global transaction identifier

Starting with PECL/mysqlnd_ms 1.3.0-alpha the MySQL 5.6.5-m8 or newer built-in global transaction identifier feature is supported. Use of the server feature lifts all of the above listed limitations. Please, see the MySQL Reference Manual for limitations and preconditions for using server built-in global transaction identifiers.

Whether to use the client-side emulation or the server built-in functionality is a question not directly related to the plugin, thus it is not discussed in depth. There are no plans to remove the client-side emulation and you can continue to use it, if the server-side solution is no option. This may be the case in heterogenous environments with old MySQL server or, if any of the server-side solution limitations is not acceptable.

From an applications perspective there is hardly a difference in using one or the other approach. The following properties differ.

  • Client-side emulation, as shown in the manual, is using an easy to compare sequence number for global transactions. Multi-master is not handled to keep the manual examples easy. Server-side built-in feature is using a combination of a server identifier and a sequence number as a global transaction identifier. Comparison cannot use numeric algebra. Instead a SQL function must be used. Please, see the MySQL Reference Manual for details. Server-side built-in feature of MySQL 5.6 cannot be used to ensure session consistency under all circumstances. Do not use it for the quality-of-service feature. Here is a simple example why it will not give reliable results. There are more edge cases that cannot be covered with limited functionality exported by the server. Currently, clients can ask a MySQL replication master for a list of all executed global transaction IDs only. If a slave is configured not to replicate all transactions, for example, because replication filters are set, then the slave will never show the same set of executed global transaction IDs. Albeit the slave may have replicated a clients writes and it may be a candidate for a consistent read, it will never be considered by the plugin. Upon write the plugin learns from the master that the servers complete transaction history consists of GTID=1..3. There is no way for the plugin to ask for the GTID of the write transaction itself, say GTID=3. Assume that a slave does not replicate the transactions GTID=1..2 but only GTID=3 because of a replication feature. Then, the slaves transaction history is GTID=3. However, the plugin tries to find a node which has a transaction history of GITD=1...3. Albeit the slave has replicated the clients write and session consistency may be achieved when reading from the slave, it will not be considered by the plugin. This is not a fault of the plugin implementation but a feature gap on the server side. Please note, this is a trivial case to illustrate the issue there are other issues. In sum you are asked not to attempt using MySQL 5.6 built-in GTIDs for enforcing session consistency. Sooner or later the load balancing will stop working properly and the plugin will direct all session consistency requests to the master.
  • Plugin global transaction ID statistics are only available with client-side emulation because they monitor the emulation.

Nota: Global transaction identifiers in distributed systems

Global transaction identifiers can serve multiple purposes in the context of distributed systems, such as a database cluster. Global transaction identifiers can be used for, for example, system wide identification of transactions, global ordering of transactions, heartbeat mechanism and for checking the replication status of replicas. PECL/mysqlnd_ms, a clientside driver based software, does focus on using GTIDs for tasks that can be handled at the client, such as checking the replication status of replicas for asynchronous replication setups.


Cache integration

Nota: Version requirement

The feature requires use of PECL/mysqlnd_ms 1.3.0-beta or later, and PECL/mysqlnd_qc 1.1.0-alpha or newer. PECL/mysqlnd_ms must be compiled to support the feature. PHP 5.4.0 or newer is required.

Nota: Setup: extension load order

PECL/mysqlnd_ms must be loaded before PECL/mysqlnd_qc, when using shared extensions.

Nota: Feature stability

The cache integration is of beta quality.

Nota: Suitable MySQL clusters

The feature is targeted for use with MySQL Replication (primary copy). Currently, no other kinds of MySQL clusters are supported. Users of such cluster must control PECL/mysqlnd_qc manually if they are interested in client-side query caching.

Support for MySQL replication clusters (asynchronous primary copy) is the main focus of PECL/mysqlnd_ms. The slaves of a MySQL replication cluster may or may not reflect the latest updates from the master. Slaves are asynchronous and can lag behind the master. A read from a slave is eventual consistent from a cluster-wide perspective.

The same level of consistency is offered by a local cache using time-to-live (TTL) invalidation strategy. Current data or stale data may be served. Eventually, data searched for in the cache is not available and the source of the cache needs to be accessed.

Given that both a MySQL Replication slave (asynchronous secondary) and a local TTL-driven cache deliver the same level of service it is possible to transparently replace a remote database access with a local cache access to gain better possibility.

As of PECL/mysqlnd_ms 1.3.0-beta the plugin is capable of transparently controlling PECL/mysqlnd_ms 1.1.0-alpha or newer to cache a read-only query if explicitly allowed by setting an appropriate quality of service through mysqlnd_ms_set_qos(). P lease, see the quickstart for a code example. Both plugins must be installed, PECL/mysqlnd_ms must be compiled to support the cache feature and PHP 5.4.0 or newer has to be used.

Applications have full control of cache usage and can request fresh data at any time, if need be. The cache usage can be enabled and disabled time during the execution of a script. The cache will be used if mysqlnd_ms_set_qos() sets the quality of service to eventual consistency and enables cache usage. Cache usage is disabled by requesting higher consistency levels, for example, session consistency (read your writes). Once the quality of service has been relaxed to eventual consistency the cache can be used again.

If caching is enabled for a read-only statement, PECL/mysqlnd_ms may inject SQL hints to control caching by PECL/mysqlnd_qc. It may modify the SQL statement it got from the application. Subsequent SQL processors are supposed to ignore the SQL hints. A SQL hint is a SQL comment. Comments must not be ignored, for example, by the database server.

The TTL of a cache entry is computed on a per statement basis. Applications set an maximum age for the data they want to retrieve using mysqlnd_ms_set_qos(). The age sets an approximate upper limit of how many seconds the data returned may lag behind the master.

The following logic is used to compute the actual TTL if caching is enabled. The logic takes the estimated slave lag into account for choosing a TTL. If, for example, there are two slaves lagging 5 and 10 seconds behind and the maximum age allowed is 60 seconds, the TTL is set to 50 seconds. Please note, the age setting is no more than an estimated guess.

  • Check whether the statement is read-only. If not, don't cache.
  • If caching is enabled, check the slave lag of all configured slaves. Establish slave connections if none exist so far and lazy connections are used.
  • Send SHOW SLAVE STATUS to all slaves. Do not wait for the first slave to reply before sending to the second slave. Clients often wait long for replies, thus we send out all requests in a burst before fetching in a second stage.
  • Loop over all slaves. For every slave wait for its reply. Do not start checking another slave before the currently waited for slave has replied. Check for Slave_IO_Running=Yes and Slave_SQL_Running=Yes. If both conditions hold true, fetch the value of Seconds_Behind_Master. In case of any errors or if conditions fail, set an error on the slave connection. Skip any such slave connection for the rest of connection filtering.
  • Search for the maximum value of Seconds_Behind_Master from all slaves that passed the previous conditions. Subtract the value from the maximum age provided by the user with mysqlnd_ms_set_qos(). Use the result as a TTL.
  • The filtering may sort out all slaves. If so, the maximum age is used as TTL, because the maximum lag found equals zero. It is perfectly valid to sort out all slaves. In the following it is up to subsequent filter to decide what to do. The built-in load balancing filter will pick the master.
  • Inject the appropriate SQL hints to enable caching by PECL/mysqlnd_qc.
  • Proceed with the connection filtering, e.g. apply load balancing rules to pick a slave.
  • PECL/mysqlnd_qc is loaded after PECL/mysqlnd_ms by PHP. Thus, it will see all query modifications of PECL/mysqlnd_ms and cache the query if instructed to do so.

The algorithm may seem expensive. SHOW SLAVE STATUS is a very fast operation. Given a sufficient number of requests and cache hits per second the cost of checking the slaves lag can easily outweigh the costs of the cache decision.

Suggestions on a better algorithm are always welcome.


Supported clusters

Any application using any kind of MySQL cluster is faced with the same tasks:

  • Identify nodes capable of executing a given statement with the required service level
  • Load balance requests within the list of candidates
  • Automatic fail over within candidates, if needed

The plugin is optimized for fulfilling these tasks in the context of a classical asynchronous MySQL replication cluster consisting of a single master and many slaves (primary copy). When using classical, asynchronous MySQL replication all of the above listed tasks need to be mastered at the client side.

Other types of MySQL cluster may have lower requirements on the application side. For example, if all nodes in the cluster can answer read and write requests, no read-write splitting needs to be done (multi-master, update-all). If all nodes in the cluster are synchronous, they automatically provide the highest possible quality of service which makes choosing a node easier. In this case, the plugin may serve the application after some reconfiguration to disable certain features, such as built-in read-write splitting.

Nota: Documentation focus

The documentation focusses describing the use of the plugin with classical asynchronous MySQL replication clusters (primary copy). Support for this kind of cluster has been the original development goal. Use of other clusters is briefly described below. Please note, that this is still work in progress.

Primary copy (MySQL Replication)

This is the primary use case of the plugin. Follow the hints given in the descriptions of each feature.

  • Configure one master and one or more slaves. Server configuration details are given in the setup section.
  • Use random load balancing policy together with the sticky flag.
  • If you do not plan to use the service level API calls, add the master on write flag.
  • Please, make yourself aware of the properties of automatic failover before adding a failover directive.
  • Consider the use of trx_stickiness to execute transactions on the primary only. Please, read carefully how it works before you rely on it.

Exemplo #1 Enabling the plugin (php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/path/to/mysqlnd_ms_plugin.ini

Exemplo #2 Basic plugin configuration (mysqlnd_ms_plugin.ini) for MySQL Replication

{
  "myapp": {
    "master": {
      "master_1": {
        "host": "localhost",
        "socket": "\/tmp\/mysql57.sock"
      }
    },
    "slave": {
      "slave_0": {
        "host": "127.0.0.1",
        "port": 3308
      },
      "slave_1": {
        "host": "192.168.2.28",
        "port": 3306
      }
    },
    "filters": {
      "random": {
        "sticky": "1"
      }
    }
  }
}

Primary copy with multi primaries (MMM - MySQL Multi Master)

MySQL Replication allows you to create cluster topologies with multiple masters (primaries). Write-write conflicts are not handled by the replication system. This is no update anywhere setup. Thus, data must be partitioned manually and clients must redirected in accordance to the partitioning rules. The recommended setup is equal to the sharding setup below.

Manual sharding, possibly combined with primary copy and multiple primaries

Use SQL hints and the node group filter for clusters that use data partitioning but leave query redirection to the client. The example configuration shows a multi master setup with two shards.

Exemplo #3 Multiple primaries - multi master (php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/path/to/mysqlnd_ms_plugin.ini
mysqlnd_ms.multi_master=1

Exemplo #4 Primary copy with multiple primaries and paritioning

{
  "myapp": {
    "master": {
      "master_1": {
        "host": "localhost",
        "socket": "\/tmp\/mysql57.sock"
      }
      "master_2": {
        "host": "192.168.2.27",
        "socket": "3306"
      }
    },
    "slave": {
      "slave_1": {
        "host": "127.0.0.1",
        "port": 3308
      },
      "slave_2": {
        "host": "192.168.2.28",
        "port": 3306
      }
    },
    "filters": {
      "node_groups": {
        "Partition_A" : {
          "master": ["master_1"],
          "slave": ["slave_1"]
        },
        "Partition_B" : {
          "master": ["master_2"],
          "slave": ["slave_2"]
        }
      },
      "roundrobin": []
    }
  }
}

The plugin can also be used with a loose collection of unrelated shards. For such a cluster, configure masters only and disable read write splitting. The nodes of such a cluster are called masters in the plugin configuration as they accept both reads and writes for their partition.

Using synchronous update everywhere clusters such as MySQL Cluster

MySQL Cluster is a synchronous cluster solution. All cluster nodes accept read and write requests. In the context of the plugin, all nodes shall be considered as masters.

Use the load balancing and fail over features only.

  • Disable the plugins built-in read-write splitting.
  • Configure masters only.
  • Consider random once load balancing strategy, which is the plugins default. If random once is used, only masters are configured and no SQL hints are used to force using a certain node, no connection switches will happen for the duration of a web request. Thus, no special handling is required for transactions. The plugin will pick one master at the beginning of the PHP script and use it until the script terminates.
  • Do not set the quality of service. All nodes have all the data. This automatically gives you the highest possible service quality (strong consistency).
  • Do not enable client-side global transaction injection. It is neither required to help with server-side fail over nor to assist the quality of service filter choosing an appropriate node.

Disabling built-in read-write splitting.

  • Set mysqlnd_ms.disable_rw_split=1
  • Do not use SQL hints to enforce the use of slaves

Configure masters only.

  • Set mysqlnd_ms.multi_master=1.
  • Do not configure any slaves.
  • Set failover=loop_before_master in the plugins configuration file to avoid warnings about the empty slave list and to make the failover logic loop over all configured masters before emitting an error. Please, note the warnings about automatic failover given in the previous sections.

Exemplo #5 Multiple primaries - multi master (php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/path/to/mysqlnd_ms_plugin.ini
mysqlnd_ms.multi_master=1
mysqlnd_ms.disable_rw_split=1

Exemplo #6 Synchronous update anywhere cluster

"myapp": {
    "master": {
      "master_1": {
        "host": "localhost",
        "socket": "\/tmp\/mysql57.sock"
      },
      "master_2": {
        "host": "192.168.2.28",
        "port": 3306
      }
    },
    "slave": {
    },
    "filters": {
      "roundrobin": {
      }
    },
    "failover": {
      "strategy": "loop_before_master",
      "remember_failed": true
    }
  }
}

If running an update everywhere cluster that has no built-in partitioning to avoid hot spots and high collision rates, consider using the node groups filter to keep updates on a frequently accessed table on one of the nodes. This may help to reduce collision rates and thus improve performance.


XA/Distributed transactions

Nota: Version requirement

XA related functions have been introduced in PECL/mysqlnd_ms version 1.6.0-alpha.

Nota: Early adaptors wanted

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments, although early lab tests indicate reasonable quality.

Please, contact the development team if you are interested in this feature. We are looking for real life feedback to complement the feature.

Below is a list of some feature restrictions.

  • The feature is not yet compatible with the MySQL Fabric support . This limitation is soon to be lifted.

    XA transaction identifier are currently restricted to numbers. This limitation will be lifted upon request, it is a simplification used during the initial implementation.

Nota: MySQL server restrictions

The XA support by the MySQL server has some restrictions. Most noteably, the servers binary log may lack changes made by XA transactions in case of certain errors. Please, see the MySQL manual for details.

XA/Distributed transactions can spawn multiple MySQL servers. Thus, they may seem like a perfect tool for sharded MySQL clusters, for example, clusters managed with MySQL Fabric. PECL/mysqlnd_ms hides most of the SQL commands to control XA transactions and performs automatic administrative tasks in cases of errors, to provide the user with a comprehensive API. Users should setup the plugin carefully and be well aware of server restrictions prior to using the feature.

Exemplo #1 General pattern for XA transactions

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");

/* BEGIN */
mysqlnd_ms_xa_begin($mysqli, 1 /* xa id */);

/* run queries on various servers */
$mysqli->query("UPDATE some_table SET col_a = 1");
...

/* COMMIT */
mysqlnd_ms_xa_commit($link, 1);
?>

XA transactions use the two-phase commit protocol. The two-phase commit protocol is a blocking protocol. During the first phase participating servers begin a transaction and the client carries out its work. This phase is followed by a second voting phase. During voting, the servers first make a firm promise that they are ready to commit the work even in case of their possible unexpected failure. Should a server crash in this phase, it will still recall the aborted transaction after recover and wait for the client to decide on whether it shall be committed or rolled back.

Should a client that has initiated a global transaction crash after all the participating servers gave their promise to be ready to commit, then the servers must wait for a decision. The servers are not allowed to unilaterally decide on the transaction.

A client crash or disconnect from a participant, a server crash or server error during the fist phase of the protocol is uncritical. In most cases, the server will forget about the XA transaction and its work is rolled back. Additionally, the plugin tries to reach out to as many participants as it can to instruct the server to roll back the work immediately. It is not possible to disable this implicit rollback carried out by PECL/mysqlnd_ms in case of errors during the first phase of the protocol. This design decision has been made to keep the implementation simple.

An error during the second phase of the commit protocol can develop into a more severe situation. The servers will not forget about prepared but unfinished transactions in all cases. The plugin will not attempt to solve these cases immediately but waits for optional background garbage collection to ensure progress of the commit protocol. It is assumed that a solution will take significant time as it may include waiting for a participating server to recover from a crash. This time span may be longer than a developer and end user expects when trying to commit a global transaction with mysqlnd_ms_xa_commit(). Thus, the function returns with the unfinished global transaction still requiring attention. Please, be warned that at this point, it is not yet clear whether the global transaction will be committed or rolled back later on.

Errors during the second phase can be ignored, handled by yourself or solved by the build-int garbage collection logic. Ignoring them is not recommended as you may experience unfinished global transactions on your servers that block resources virtually indefinitely. Handling the errors requires knowing the participants, checking their state and issuing appropriate SQL commands on them. There are no user API calls to expose this very information. You will have to configure a state store and make the plugin record its actions in it to receive the desired facts.

Please, see the quickstart and related plugin configuration file settings for an example how to configure a state. In addition to configuring a state store, you have to setup some SQL tables. The table definitions are given in the description of the plugin configuration settings.

Setting up and configuring a state store is also a precondition for using the built-in garbage collection for XA transactions that fail during the second commit phase. Recording information about ongoing XA transactions is an unavoidable extra task. The extra task consists of updating the state store after each and every operation that changes the state of the global transaction itself (started, committed, rolled back, errors and aborts), the addition of participants (host, optionally user and password required to connect) and any changes to a participants state. Please note, depending on configuration and your security policies, these recordings may be considered sensitive. It is therefore recommended to restrict access to the state store. Unless the state store itself becomes overloaded, writing the state information may contribute noteworthy to the runtime but should overall be only a minor factor.

It is possible that the effort it takes to implement your own routines for handling XA transactions that failed during the second commit phase exceeds the benefits of using the XA feature of PECL/mysqlnd_ms in the first place. Thus, the manual focussed on using the built-on garbage collection only.

Garbage collection can be triggered manually or automatically in the background. You may want to call mysqlnd_ms_xa_gc() immediately after a commit failure to attempt to solve any failed but still open global transactions as soon as possible. You may also decide to disable the automatic background garbage collection, implement your own rule set for invoking the built-in garbage collection and trigger it when desired.

By default the plugin will start the garbage collection with a certain probability in the extensions internal RSHUTDOWN method. The request shutdown is called after your script finished. Whether the garbage collection will be triggered is determined by computing a random value between 1...1000 and comparing it with the configuration setting probability (default: 5). If the setting is greater or equal to the random value, the garbage collection will be triggered.

Once started, the garbage collection acts upon up to max_transactions_per_run (default: 100) global transactions recorded. Records include successfully finished but also unfinished XA transactions. Records for successful transactions are removed and unfinished transactions are attempted to be solved. There are no statistics that help you finding the right balance between keeping garbage collection runs short by limiting the number of transactions considered per run and preventing the garbage collection to fall behind, resulting in many records.

For each failed XA transaction the garbage collection makes max_retries (default: 5) attempts to finish it. After that PECL/mysqlnd_ms gives up. There are two possible reasons for this. Either a participating server crashed and has not become accessible again within max_retries invocations of the garbage collection, or there is a situation that the built-in garbage collection cannot cope with. Likely, the latter would be considered a bug. However, you can manually force more garbage collection runs calling mysqlnd_ms_xa_gc() with the appropriate parameter set. Should even those function runs fail to solve the situation, then the problem must be solved by an operator.

The function mysqlnd_ms_get_stats() provides some statistics on how many XA transactions have been started, committed, failed or rolled back.


Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução
  • Plugin configuration file (>=1.1.x)


Dependências

PHP 5.3.6 or newer. Some advanced functionality requires PHP 5.4.0 or newer.

The mysqlnd_ms replication and load balancing plugin supports all PHP applications and all available PHP MySQL extensions (mysqli, mysql, PDO_MYSQL). The PHP MySQL extension must be configured to use mysqlnd in order to be able to use the mysqlnd_ms plugin for mysqlnd.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/mysqlnd_ms

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Mysqlnd_ms Opções de Configuração
Nome | Padrão | Modificável | Changelog
mysqlnd_ms.enable | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.force_config_usage | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.ini_file | "" | PHP_INI_SYSTEM |
mysqlnd_ms.config_file | "" | PHP_INI_SYSTEM |
mysqlnd_ms.collect_statistics | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.multi_master | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.disable_rw_split | 0 | PHP_INI_SYSTEM |

Uma rápida explicação das diretivas de configuração.

mysqlnd_ms.enable int

Enables or disables the plugin. If disabled, the extension will not plug into mysqlnd to proxy internal mysqlnd C API calls.

mysqlnd_ms.force_config_usage int

If enabled, the plugin checks if the host (server) parameters value of any MySQL connection attempt, matches a section name from the plugin configuration file. If not, the connection attempt is blocked.

This setting is not only useful to restrict PHP to certain servers but also to debug configuration file problems. The configuration file validity is checked at two different stages. The first check is performed when PHP begins to handle a web request. At this point the plugin reads and decodes the configuration file. Errors thrown at this early stage in an extensions life cycle may not be shown properly to the user. Thus, the plugin buffers the errors, if any, and additionally displays them when establishing a connection to MySQL. By default a buffered startup error will emit an error of type E_WARNING. If force_config_usage is set, the error type used is E_RECOVERABLE_ERROR.

Please, see also configuration file debugging notes.

mysqlnd_ms.ini_file string

Plugin specific configuration file. This setting has been renamed to mysqlnd_ms.config_file in version 1.4.0.

mysqlnd_ms.config_file string

Plugin specific configuration file. This setting superseeds mysqlnd_ms.ini_file since 1.4.0.

mysqlnd_ms.collect_statistics int

Enables or disables the collection of statistics. The collection of statistics is disabled by default for performance reasons. Statistics are returned by the function mysqlnd_ms_get_stats().

mysqlnd_ms.multi_master int

Enables or disables support of MySQL multi master replication setups. Please, see also supported clusters.

mysqlnd_ms.disable_rw_split int

Enables or disables built-in read write splitting.

Controls whether load balancing and lazy connection functionality can be used independently of read write splitting. If read write splitting is disabled, only servers from the master list will be used for statement execution. All configured slave servers will be ignored.

The SQL hint MYSQLND_MS_USE_SLAVE will not be recognized. If found, the statement will be redirected to a master.

Disabling read write splitting impacts the return value of mysqlnd_ms_query_is_select(). The function will no longer propose query execution on slave servers.

Nota: Multiple master servers

Setting mysqlnd_ms.multi_master=1 allows the plugin to use multiple master servers, instead of only the first master server of the master list.

Please, see also supported clusters.


Plugin configuration file (>=1.1.x)

The following documentation applies to PECL/mysqlnd_ms >= 1.1.0-beta. It is not valid for prior versions. For documentation covering earlier versions, see the configuration documentation for mysqlnd_ms 1.0.x and below.

Introduction

Nota: Changelog: Feature was added in PECL/mysqlnd_ms 1.1.0-beta

The below description applies to PECL/mysqlnd_ms >= 1.1.0-beta. It is not valid for prior versions.

The plugin uses its own configuration file. The configuration file holds information about the MySQL replication master server, the MySQL replication slave servers, the server pick (load balancing) policy, the failover strategy, and the use of lazy connections.

The plugin loads its configuration file at the beginning of a web request. It is then cached in memory and used for the duration of the web request. This way, there is no need to restart PHP after deploying the configuration file. Configuration file changes will become active almost instantly.

The PHP configuration directive mysqlnd_ms.config_file is used to set the plugins configuration file. Please note, that the PHP configuration directive may not be evaluated for every web request. Therefore, changing the plugins configuration file name or location may require a PHP restart. However, no restart is required to read changes if an already existing plugin configuration file is updated.

Using and parsing JSON is efficient, and using JSON makes it easier to express hierarchical data structures than the standard php.ini format.

Exemplo #1 Converting a PHP array (hash) into JSON format

Or alternatively, a developer may be more familiar with the PHP array syntax, and prefer it. This example demonstrates how a developer might convert a PHP array to JSON.

<?php
$config = array(
  "myapp" => array(
    "master" => array(
      "master_0" => array(
        "host"   => "localhost",
        "socket" => "/tmp/mysql.sock",
      ),
    ),
    "slave" => array(),
  ),
);

file_put_contents("mysqlnd_ms.ini", json_encode($config, JSON_PRETTY_PRINT));
printf("mysqlnd_ms.ini file created...\n");
printf("Dumping file contents...\n");
printf("%s\n", str_repeat("-", 80));
echo file_get_contents("mysqlnd_ms.ini");
printf("\n%s\n", str_repeat("-", 80));
?>

O exemplo acima irá imprimir:

mysqlnd_ms.ini file created...
Dumping file contents...
--------------------------------------------------------------------------------
{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": [

        ]
    }
}
--------------------------------------------------------------------------------

A plugin configuration file consists of one or more sections. Sections are represented by the top-level object properties of the object encoded in the JSON file. Sections could also be called configuration names.

Applications reference sections by their name. Applications use section names as the host (server) parameter to the various connect methods of the mysqli, mysql and PDO_MYSQL extensions. Upon connect, the mysqlnd plugin compares the hostname with all of the section names from the plugin configuration file. If the hostname and section name match, then the plugin will load the settings for that section.

Exemplo #2 Using section names example

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27"
            },
            "slave_1": {
                "host": "192.168.2.27",
                "port": 3306
            }
        }
    },
    "localhost": {
        "master": [
            {
                "host": "localhost",
                "socket": "\/path\/to\/mysql.sock"
            }
        ],
        "slave": [
            {
                "host": "192.168.3.24",
                "port": "3305"
            },
            {
                "host": "192.168.3.65",
                "port": "3309"
            }
        ]
    }
}
<?php
/* All of the following connections will be load balanced */
$mysqli = new mysqli("myapp", "username", "password", "database");
$pdo = new PDO('mysql:host=myapp;dbname=database', 'username', 'password');
$mysql = mysql_connect("myapp", "username", "password");

$mysqli = new mysqli("localhost", "username", "password", "database");
?>

Section names are strings. It is valid to use a section name such as 192.168.2.1, 127.0.0.1 or localhost. If, for example, an application connects to localhost and a plugin configuration section localhost exists, the semantics of the connect operation are changed. The application will no longer only use the MySQL server running on the host localhost, but the plugin will start to load balance MySQL queries following the rules from the localhost configuration section. This way you can load balance queries from an application without changing the applications source code. Please keep in mind, that such a configuration may not contribute to overall readability of your applications source code. Using section names that can be mixed up with host names should be seen as a last resort.

Each configuration section contains, at a minimum, a list of master servers and a list of slave servers. The master list is configured with the keyword master, while the slave list is configured with the slave keyword. Failing to provide a slave list will result in a fatal E_ERROR level error, although a slave list may be empty. It is possible to allow no slaves. However, this is only recommended with synchronous clusters, please see also supported clusters. The main part of the documentation focusses on the use of asynchronous MySQL replication clusters.

The master and slave server lists can be optionally indexed by symbolic names for the servers they describe. Alternatively, an array of descriptions for slave and master servers may be used.

Exemplo #3 List of anonymous slaves

"slave": [
    {
        "host": "192.168.3.24",
        "port": "3305"
    },
    {
        "host": "192.168.3.65",
        "port": "3309"
    }
]

An anonymous server list is encoded by the JSON array type. Optionally, symbolic names may be used for indexing the slave or master servers of a server list, and done so using the JSON object type.

Exemplo #4 Master list using symbolic names

"master": {
    "master_0": {
        "host": "localhost"
    }
}

It is recommended to index the server lists with symbolic server names. The alias names will be shown in error messages.

The order of servers is preserved and taken into account by mysqlnd_ms. If, for example, you configure round robin load balancing strategy, the first SELECT statement will be executed on the slave that appears first in the slave server list.

A configured server can be described with the host, port, socket, db, user, password and connect_flags. It is mandatory to set the database server host using the host keyword. All other settings are optional.

Exemplo #5 Keywords to configure a server

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "db_server_host",
                "port": "db_server_port",
                "socket": "db_server_socket",
                "db": "database_resp_schema",
                "user": "user",
                "password": "password",
                "connect_flags": 0
            }
        },
        "slave": {
            "slave_0": {
                "host": "db_server_host",
                "port": "db_server_port",
                "socket": "db_server_socket"
            }
        }
    }
}

If a setting is omitted, the plugin will use the value provided by the user API call used to open a connection. Please, see the using section names example above.

The configuration file format has been changed in version 1.1.0-beta to allow for chained filters. Filters are responsible for filtering the configured list of servers to identify a server for execution of a given statement. Filters are configured with the filter keyword. Filters are executed by mysqlnd_ms in the order of their appearance. Defining filters is optional. A configuration section in the plugins configuration file does not need to have a filters entry.

Filters replace the pick[] setting from prior versions. The new random and roundrobin provide the same functionality.

Exemplo #6 New roundrobin filter, old functionality

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.137",
                "port": "3306"
            }
        },
        "filters": {
            "roundrobin": [

            ]
        }
    }
}

The function mysqlnd_ms_set_user_pick_server() has been removed. Setting a callback is now done with the user filter. Some filters accept parameters. The user filter requires and accepts a mandatory callback parameter to set the callback previously set through the function mysqlnd_ms_set_user_pick_server().

Exemplo #7 The user filter replaces mysqlnd_ms_set_user_pick_server()

"filters": {
    "user": {
        "callback": "pick_server"
    }
}

The validity of the configuration file is checked both when reading the configuration file and later when establishing a connection. The configuration file is read during PHP request startup. At this early stage a PHP extension may not display error messages properly. In the worst case, no error is shown and a connection attempt fails without an adequate error message. This problem has been cured in version 1.5.0.

Exemplo #8 Common error message in case of configuration file issues (upto version 1.5.0)

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
?>

O exemplo acima irá imprimir:

Warning: mysqli::mysqli(): (mysqlnd_ms) (mysqlnd_ms) Failed to parse config file [s1.json]. Please, verify the JSON in Command line code

Warning: mysqli::mysqli(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known in Command line code on line 1

Warning: mysqli::query(): Couldn't fetch mysqli in Command line code on line 1

Fatal error: Call to a member function fetch_assoc() on a non-object in Command line code on line 1

Since version 1.5.0 startup errors are additionally buffered and emitted when a connection attempt is made. Use the configuration directive mysqlnd_ms.force_config_usage to set the error type used to display buffered errors. By default an error of type E_WARNING will be emitted.

Exemplo #9 Improved configuration file validation since 1.5.0

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
?>

O exemplo acima irá imprimir:

Warning: mysqli::mysqli(): (mysqlnd_ms) (mysqlnd_ms) Failed to parse config file [s1.json]. Please, verify the JSON in Command line code on line 1

It can be useful to set mysqlnd_ms.force_config_usage = 1 when debugging potential configuration file errors. This will not only turn the type of buffered startup errors into E_RECOVERABLE_ERROR but also help detecting misspelled section names.

Exemplo #10 Possibly more precise error due to mysqlnd_ms.force_config_usage=1

mysqlnd_ms.force_config_usage=1
<?php
$mysqli = new mysqli("invalid_section", "username", "password", "database");
?>

O exemplo acima irá imprimir:

Warning: mysqli::mysqli(): (mysqlnd_ms) Exclusive usage of configuration enforced but did not find the correct INI file section (invalid_section) in Command line code on line 1 line 1

Configuration Directives

Here is a short explanation of the configuration directives that can be used.

master array or object

List of MySQL replication master servers. The list of either of the JSON type array to declare an anonymous list of servers or of the JSON type object. Please, see above for examples.

Setting at least one master server is mandatory. The plugin will issue an error of type E_ERROR if the user has failed to provide a master server list for a configuration section. The fatal error may read (mysqlnd_ms) Section [master] doesn't exist for host [name_of_a_config_section] in %s on line %d.

A server is described with the host, port, socket, db, user, password and connect_flags. It is mandatory to provide at a value for host. If any of the other values is not given, it will be taken from the user API connect call, please, see also: using section names example.

Table of server configuration keywords.

Keyword Description Version
host

Database server host. This is a mandatory setting. Failing to provide, will cause an error of type E_RECOVERABLE_ERROR when the plugin tries to connect to the server. The error message may read (mysqlnd_ms) Cannot find [host] in [%s] section in config in %s on line %d.

Since 1.1.0.
port

Database server TCP/IP port.

Since 1.1.0.
socket

Database server Unix domain socket.

Since 1.1.0.
db

Database (schemata).

Since 1.1.0.
user

MySQL database user.

Since 1.1.0.
password

MySQL database user password.

Since 1.1.0.
connect_flags

Connection flags.

Since 1.1.0.

The plugin supports using only one master server. An experimental setting exists to enable multi-master support. The details are not documented. The setting is meant for development only.

slave array or object

List of one or more MySQL replication slave servers. The syntax is identical to setting master servers, please, see master above for details.

The plugin supports using one or more slave servers.

Setting a list of slave servers is mandatory. The plugin will report an error of the type E_ERROR if slave is not given for a configuration section. The fatal error message may read (mysqlnd_ms) Section [slave] doesn't exist for host [%s] in %s on line %d. Note, that it is valid to use an empty slave server list. The error has been introduced to prevent accidentally setting no slaves by forgetting about the slave setting. A master-only setup is still possible using an empty slave server list.

If an empty slave list is configured and an attempt is made to execute a statement on a slave the plugin may emit a warning like mysqlnd_ms) Couldn't find the appropriate slave connection. 0 slaves to choose from. upon statement execution. It is possible that another warning follows such as (mysqlnd_ms) No connection selected by the last filter.

global_transaction_id_injection array or object

Global transaction identifier configuration related to both the use of the server built-in global transaction ID feature and the client-side emulation.

Keyword Description Version
fetch_last_gtid

SQL statement for accessing the latest global transaction identifier. The SQL statement is run if the plugin needs to know the most recent global transaction identifier. This can be the case, for example, when checking MySQL Replication slave status. Also used with mysqlnd_ms_get_last_gtid().

Since 1.2.0.
check_for_gtid

SQL statement for checking if a replica has replicated all transactions up to and including ones searched for. The SQL statement is run when searching for replicas which can offer a higher level of consistency than eventual consistency. The statement must contain a placeholder #GTID which is to be replaced with the global transaction identifier searched for by the plugin. Please, check the quickstart for examples.

Since 1.2.0.
report_errors

Whether to emit an error of type warning if an issue occurs while executing any of the configured SQL statements.

Since 1.2.0.
on_commit

Client-side global transaction ID emulation only. SQL statement to run when a transaction finished to update the global transaction identifier sequence number on the master. Please, see the quickstart for examples.

Since 1.2.0.
wait_for_gtid_timeout

Instructs the plugin to wait up to wait_for_gtid_timeout seconds for a slave to catch up when searching for slaves that can deliver session consistency. The setting limits the time spend for polling the slave status. If polling the status takes very long, the total clock time spend waiting may exceed wait_for_gtid_timeout. The plugin calls sleep(1) to sleep one second between each two polls.

The setting can be used both with the plugins client-side emulation and the server-side global transaction identifier feature of MySQL 5.6.

Waiting for a slave to replicate a certain GTID needed for session consistency also means throttling the client. By throttling the client the write load on the master is reduced indirectly. A primary copy based replication system, such as MySQL Replication, is given more time to reach a consistent state. This can be desired, for example, to increase the number of data copies for high availability considerations or to prevent the master from being overloaded.

Since 1.4.0.
fabric object

MySQL Fabric related settings. If the plugin is used together with MySQL Fabric, then the plugins configuration file no longer contains lists of MySQL servers. Instead, the plugin will ask MySQL Fabric which list of servers to use to perform a certain task.

A minimum plugin configuration for use with MySQL Fabric contains a list of one or more MySQL Fabric hosts that the plugin can query. If more than one MySQL Fabric host is configured, the plugin will use a roundrobin strategy to choose among them. Other strategies are currently not available.

Exemplo #11 Minimum pluging configuration for use with MySQL Fabric

{
    "myapp": {
        "fabric": {
            "hosts": [
                {
                    "host" : "127.0.0.1",
                    "port" : 8080
                }
            ]
        }
    }
}

Each MySQL Fabric host is described using a JSON object with the following members.

Keyword Description Version
host

Host name of the MySQL Fabric host.

Since 1.6.0.
port

The TCP/IP port on which the MySQL Fabric host listens for remote procedure calls sent by clients such as the plugin.

Since 1.6.0.

The plugin is using PHP streams to communicate with MySQL Fabric through XML RPC over HTTP. By default no timeouts are set for the network communication. Thus, the plugin defaults to PHP stream default timeouts. Those defaults are out of control of the plugin itself.

An optional timeout value can be set to overrule the PHP streams default timeout setting. Setting the timeout in the plugins configuration file has the same effect as setting a timeout for a PHP user space HTTP connection established through PHP streams.

The plugins Fabric timeout value unit is seconds. The allowed value range is from 0 to 65535. The setting exists since version 1.6.

Exemplo #12 Optional timeout for communication with Fabric

{
    "myapp": {
        "fabric": {
            "hosts": [
                {
                    "host" : "127.0.0.1",
                    "port" : 8080
                }
            ],
            "timeout": 2
        }
    }
}

Transaction stickiness and MySQL Fabric logic can collide. The stickiness option disables switching between servers for the duration of a transaction. When using Fabric and sharding the user may (erroneously) start a local transaction on one share and then attempt to switch to a different shard using either mysqlnd_ms_fabric_select_shard() or mysqlnd_ms_fabric_select_global(). In this case, the plugin will not reject the request to switch servers in the middle of a transaction but allow the user to switch to another server regardless of the transaction stickiness setting used. It is clearly a user error to write such code.

If transaction stickiness is enabled and you would like to get an error of type warning when calling mysqlnd_ms_fabric_select_shard() or mysqlnd_ms_fabric_select_global(), set the boolean flag trx_warn_server_list_changes.

Exemplo #13 Warnings about the violation of transaction boundaries

{
    "myapp": {
        "fabric": {
            "hosts": [
                {
                    "host" : "127.0.0.1",
                    "port" : 8080
                }
            ],
            "trx_warn_serverlist_changes": 1
        },
        "trx_stickiness": "on"
    }
}
<?php
$link = new mysqli("myapp", "root", "", "test");
/*
  For the demo the call may fail.
  Failed or not we get into the state
  needed for the example.
*/
@mysqlnd_ms_fabric_select_global($link, 1);
$link->begin_transaction();
@$link->query("DROP TABLE IF EXISTS test");
/*
  Switching servers/shards is a mistake due to open
  local transaction!
*/
mysqlnd_ms_select_global($link, 1);
?>

O exemplo acima irá imprimir:

PHP Warning: mysqlnd_ms_fabric_select_global(): (mysqlnd_ms) Fabric server exchange in the middle of a transaction in %s on line %d

Please, consider the feature experimental. Changes to syntax and semantics may happen.

filters object

List of filters. A filter is responsible to filter the list of available servers for executing a given statement. Filters can be chained. The random and roundrobin filter replace the pick[] directive used in prior version to select a load balancing policy. The user filter replaces the mysqlnd_ms_set_user_pick_server() function.

Filters may accept parameters to refine their actions.

If no load balancing policy is set, the plugin will default to random_once. The random_once policy picks a random slave server when running the first read-only statement. The slave server will be used for all read-only statements until the PHP script execution ends. No load balancing policy is set and thus, defaulting takes place, if neither the random nor the roundrobin are part of a configuration section.

If a filter chain is configured so that a filter which output no more than once server is used as input for a filter which should be given more than one server as input, the plugin may emit a warning upon opening a connection. The warning may read: (mysqlnd_ms) Error while creating filter '%s' . Non-multi filter '%s' already created. Stopping in %s on line %d. Furthermore, an error of the error code 2000, the sql state HY000 and an error message similar to the warning may be set on the connection handle.

Exemplo #14 Invalid filter sequence

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": [
            "roundrobin",
            "random"
        ]
    }
}
<?php
$link = new mysqli("myapp", "root", "", "test");
printf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
$link->query("SELECT 1 FROM DUAL");
?>

O exemplo acima irá imprimir:

PHP Warning:  mysqli::mysqli(): (HY000/2000): (mysqlnd_ms) Error while creating filter 'random' . Non-multi filter 'roundrobin' already created. Stopping in filter_warning.php on line 1
[2000] (mysqlnd_ms) Error while creating filter 'random' . Non-multi filter 'roundrobin' already created. Stopping
PHP Warning:  mysqli::query(): Couldn't fetch mysqli in filter_warning.php on line 3

Filter: random object

The random filter features the random and random once load balancing policies, set through the pick[] directive in older versions.

The random policy will pick a random server whenever a read-only statement is to be executed. The random once strategy picks a random slave server once and continues using the slave for the rest of the PHP web request. Random once is a default, if load balancing is not configured through a filter.

If the random filter is not given any arguments, it stands for random load balancing policy.

Exemplo #15 Random load balancing with random filter

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.137",
                "port": "3306"
            }
        },
        "filters": [
            "random"
        ]
    }
}

Optionally, the sticky argument can be passed to the filter. If the parameter sticky is set to the string 1, the filter follows the random once load balancing strategy.

Exemplo #16 Random once load balancing with random filter

{
    "filters": {
        "random": {
            "sticky": "1"
        }
    }
}

Both the random and roundrobin filters support setting a priority, a weight for a server, since PECL/mysqlnd_ms 1.4.0. If the weight argument is passed to the filter, it must assign a weight for all servers. Servers must be given an alias name in the slave respectively master server lists. The alias must be used to reference servers for assigning a priority with weight.

Exemplo #17 Referencing error

[E_RECOVERABLE_ERROR] mysqli_real_connect(): (mysqlnd_ms) Unknown server 'slave3' in 'random' filter configuration. Stopping in %s on line %d

Using a wrong alias name with weight may result in an error similar to the shown above.

If weight is omitted, the default weight of all servers is one.

Exemplo #18 Assigning a weight for load balancing

{
   "myapp": {
       "master": {
           "master1":{
               "host":"localhost",
               "socket":"\/var\/run\/mysql\/mysql.sock"
           }
       },
       "slave": {
           "slave1": {
               "host":"192.168.2.28",
               "port":3306
           },
           "slave2": {
               "host":"192.168.2.29",
               "port":3306
           },
           "slave3": {
               "host":"192.0.43.10",
               "port":3306
           },
       },
       "filters": {
           "random": {
               "weights": {
                   "slave1":8,
                   "slave2":4,
                   "slave3":1,
                   "master1":1
               }
           }
       }
   }
}

At the average a server assigned a weight of two will be selected twice as often as a server assigned a weight of one. Different weights can be assigned to reflect differently sized machines, to prefer co-located slaves which have a low network latency or, to configure a standby failover server. In the latter case, you may want to assign the standby server a very low weight in relation to the other servers. For example, given the configuration above slave3 will get only some eight percent of the requests in the average. As long as slave1 and slave2 are running, it will be used sparsely, similar to a standby failover server. Upon failure of slave1 and slave2, the usage of slave3 increases. Please, check the notes on failover before using weight this way.

Valid weight values range from 1 to 65535.

Unknown arguments are ignored by the filter. No warning or error is given.

The filter expects one or more servers as input. Outputs one server. A filter sequence such as random, roundrobin may cause a warning and an error message to be set on the connection handle when executing a statement.

List of filter arguments.

Keyword Description Version
sticky

Enables or disabled random once load balancing policy. See above.

Since 1.2.0.
weight

Assigns a load balancing weight/priority to a server. Please, see above for a description.

Since 1.4.0.
Filter: roundrobin object

If using the roundrobin filter, the plugin iterates over the list of configured slave servers to pick a server for statement execution. If the plugin reaches the end of the list, it wraps around to the beginning of the list and picks the first configured slave server.

Exemplo #19 roundrobin filter

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": [
            "roundrobin"
        ]
    }
}

Expects one or more servers as input. Outputs one server. A filter sequence such as roundrobin, random may cause a warning and an error message to be set on the connection handle when executing a statement.

List of filter arguments.

Keyword Description Version
weight

Assigns a load balancing weight/priority to a server. Please, find a description above.

Since 1.4.0.
Filter: user object

The user replaces mysqlnd_ms_set_user_pick_server() function, which was removed in 1.1.0-beta. The filter sets a callback for user-defined read/write splitting and server selection.

The plugins built-in read/write query split mechanism decisions can be overwritten in two ways. The easiest way is to prepend a query string with the SQL hints MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH or MYSQLND_MS_LAST_USED_SWITCH. Using SQL hints one can control, for example, whether a query shall be send to the MySQL replication master server or one of the slave servers. By help of SQL hints it is not possible to pick a certain slave server for query execution.

Full control on server selection can be gained using a callback function. Use of a callback is recommended to expert users only because the callback has to cover all cases otherwise handled by the plugin.

The plugin will invoke the callback function for selecting a server from the lists of configured master and slave servers. The callback function inspects the query to run and picks a server for query execution by returning the hosts URI, as found in the master and slave list.

If the lazy connections are enabled and the callback chooses a slave server for which no connection has been established so far and establishing the connection to the slave fails, the plugin will return an error upon the next action on the failed connection, for example, when running a query. It is the responsibility of the application developer to handle the error. For example, the application can re-run the query to trigger a new server selection and callback invocation. If so, the callback must make sure to select a different slave, or check slave availability, before returning to the plugin to prevent an endless loop.

Exemplo #20 Setting a callback

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": {
            "user": {
                "callback": "pick_server"
            }
        }
    }
}

The callback is supposed to return a host to run the query on. The host URI is to be taken from the master and slave connection lists passed to the callback function. If callback returns a value neither found in the master nor in the slave connection lists the plugin will emit an error of the type E_RECOVERABLE_ERROR The error may read like (mysqlnd_ms) User filter callback has returned an unknown server. The server 'server that is not in master or slave list' can neither be found in the master list nor in the slave list. If the application catches the error to ignore it, follow up errors may be set on the connection handle, for example, (mysqlnd_ms) No connection selected by the last filter with the error code 2000 and the sqlstate HY000. Furthermore a warning may be emitted.

Referencing a non-existing function as a callback will result in any error of the type E_RECOVERABLE_ERROR whenever the plugin tries to callback function. The error message may reads like: (mysqlnd_ms) Specified callback (pick_server) is not a valid callback. If the application catches the error to ignore it, follow up errors may be set on the connection handle, for example, (mysqlnd_ms) Specified callback (pick_server) is not a valid callback with the error code 2000 and the sqlstate HY000. Furthermore a warning may be emitted.

The following parameters are passed from the plugin to the callback.

Parameter Description Version
connected_host

URI of the currently connected database server.

Since 1.1.0.
query

Query string of the statement for which a server needs to be picked.

Since 1.1.0.
masters

List of master servers to choose from. Note, that the list of master servers may not be identical to the list of configured master servers if the filter is not the first in the filter chain. Previously run filters may have reduced the master list already.

Since 1.1.0.
slaves

List of slave servers to choose from. Note, that the list of slave servers may not be identical to the list of configured slave servers if the filter is not the first in the filter chain. Previously run filters may have reduced the slave list already.

Since 1.1.0.
last_used_connection

URI of the server of the connection used to execute the previous statement on.

Since 1.1.0.
in_transaction

Boolean flag indicating whether the statement is part of an open transaction. If autocommit mode is turned off, this will be set to true. Otherwise it is set to false.

Transaction detection is based on monitoring the mysqlnd library call set_autocommit. Monitoring is not possible before PHP 5.4.0. Please, see connection pooling and switching concepts discussion for further details.

Since 1.1.0.

Exemplo #21 Using a callback

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": {
            "user": {
                "callback": "pick_server"
            }
        }
    }
}
<?php
function pick_server($connected, $query, $masters, $slaves, $last_used_connection, $in_transaction)
{
 static $slave_idx = 0;
 static $num_slaves = NULL;
 if (is_null($num_slaves))
  $num_slaves = count($slaves);

 /* default: fallback to the plugins build-in logic */
 $ret = NULL;

 printf("User has connected to '%s'...\n", $connected);
 printf("... deciding where to run '%s'\n", $query);

 $where = mysqlnd_ms_query_is_select($query);
 switch ($where)
 {
  case MYSQLND_MS_QUERY_USE_MASTER:
   printf("... using master\n");
   $ret = $masters[0];
   break;
  case MYSQLND_MS_QUERY_USE_SLAVE:
   /* SELECT or SQL hint for using slave */
   if (stristr($query, "FROM table_on_slave_a_only"))
   {
    /* a table which is only on the first configured slave  */
    printf("... access to table available only on slave A detected\n");
    $ret = $slaves[0];
   }
   else
   {
    /* round robin */
    printf("... some read-only query for a slave\n");
    $ret = $slaves[$slave_idx++ % $num_slaves];
   }
   break;
  case MYSQLND_MS_QUERY_LAST_USED:
   printf("... using last used server\n");
   $ret = $last_used_connection;
   break;
 }

 printf("... ret = '%s'\n", $ret);
 return $ret;
}

$mysqli = new mysqli("myapp", "root", "", "test");

if (!($res = $mysqli->query("SELECT 1 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT 2 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT * FROM table_on_slave_a_only")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

$mysqli->close();
?>

O exemplo acima irá imprimir:

User has connected to 'myapp'...
... deciding where to run 'SELECT 1 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.2.27:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT 2 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.78.136:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT * FROM table_on_slave_a_only'
... access to table available only on slave A detected
... ret = 'tcp://192.168.2.27:3306'

Filter: user_multi object

The user_multi differs from the user only in one aspect. Otherwise, their syntax is identical. The user filter must pick and return exactly one node for statement execution. A filter chain usually ends with a filter that emits only one node. The filter chain shall reduce the list of candidates for statement execution down to one. This, only one node left, is the case after the user filter has been run.

The user_multi filter is a multi filter. It returns a list of slave and a list of master servers. This list needs further filtering to identify exactly one node for statement execution. A multi filter is typically placed at the top of the filter chain. The quality_of_service filter is another example of a multi filter.

The return value of the callback set for user_multi must be an array with two elements. The first element holds a list of selected master servers. The second element contains a list of selected slave servers. The lists shall contain the keys of the slave and master servers as found in the slave and master lists passed to the callback. The below example returns random master and slave lists extracted from the functions input.

Exemplo #22 Returning random masters and slaves

<?php
function pick_server($connected, $query, $masters, $slaves, $last_used_connection, $in_transaction)
{
  $picked_masters = array()
  foreach ($masters as $key => $value) {
    if (mt_rand(0, 2) > 1)
      $picked_masters[] = $key;
  }
  $picked_slaves = array()
  foreach ($slaves as $key => $value) {
    if (mt_rand(0, 2) > 1)
      $picked_slaves[] = $key;
  }
  return array($picked_masters, $picked_slaves);
}
?>

The plugin will issue an error of type E_RECOVERABLE if the callback fails to return a server list. The error may read (mysqlnd_ms) User multi filter callback has not returned a list of servers to use. The callback must return an array in %s on line %d. In case the server list is not empty but has invalid servers key/ids in it, an error of type E_RECOVERABLE will the thrown with an error message like (mysqlnd_ms) User multi filter callback has returned an invalid list of servers to use. Server id is negative in %s on line %d, or similar.

Whether an error is emitted in case of an empty slave or master list depends on the configuration. If an empty master list is returned for a write operation, it is likely that the plugin will emit a warning that may read (mysqlnd_ms) Couldn't find the appropriate master connection. 0 masters to choose from. Something is wrong in %s on line %d. Typically a follow up error of type E_ERROR will happen. In case of a read operation and an empty slave list the behavior depends on the fail over configuration. If fail over to master is enabled, no error should appear. If fail over to master is deactivated the plugin will emit a warning that may read (mysqlnd_ms) Couldn't find the appropriate slave connection. 0 slaves to choose from. Something is wrong in %s on line %d.

Filter: node_groups object

The node_groups filter lets you group cluster nodes and query selected groups, for example, to support data partitioning. Data partitioning can be required for manual sharding, primary copy based clusters running multiple masters, or to avoid hot spots in update everywhere clusters that have no built-in partitioning. The filter is a multi filter which returns zero, one or multiple of its input servers. Thus, it must be followed by other filters to reduce the number of candidates down to one for statement execution.

Keyword Description Version
user defined node group name

One or more node groups must be defined. A node group can have an arbitrary user defined name. The name is used in combination with a SQL hint to restrict query execution to the nodes listed for the node group. To run a query on any of the servers of a node group, the query must begin with the SQL hint /*user defined node group name*/. Please note, no white space is allowed around user defined node group name. Because user defined node group name is used as-is as part of a SQL hint, you should choose the name that is compliant with the SQL language.

Each node group entry must contain a list of master servers. Additional slave servers are allowed. Failing to provide a list of master for a node group name_of_group may cause an error of type E_RECOVERABLE_ERROR like (mysqlnd_ms) No masters configured in node group 'name_of_group' for 'node_groups' filter.

The list of master and slave servers must reference corresponding entries in the global master respectively slave server list. Referencing an unknown server in either of the both server lists may cause an E_RECOVERABLE_ERROR error like (mysqlnd_ms) Unknown master 'server_alias_name' (section 'name_of_group') in 'node_groups' filter configuration.

Exemplo #23 Manual partitioning

{
  "myapp": {
       "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.28",
                "port": 3306
            },
            "slave_1": {
                "host": "127.0.0.1",
                "port": 3311
            }
        },
        "filters": {
            "node_groups": {
                "Partition_A" : {
                    "master": ["master_0"],
                    "slave": ["slave_0"]
                }
            },
           "roundrobin": []
        }
    }
}

Please note, if a filter chain generates an empty slave list and the PHP configuration directive mysqlnd_ms.multi_master=0 is used, the plugin may emit a warning.

Since 1.5.0.
Filter: quality_of_service object

The quality_of_service identifies cluster nodes capable of delivering a certain quality of service. It is a multi filter which returns zero, one or multiple of its input servers. Thus, it must be followed by other filters to reduce the number of candidates down to one for statement execution.

The quality_of_service filter has been introduced in 1.2.0-alpha. In the 1.2 series the filters focus is on the consistency aspect of service quality. Different types of clusters offer different default data consistencies. For example, an asynchronous MySQL replication slave offers eventual consistency. The slave may not be able to deliver requested data because it has not replicated the write, it may serve stale database because its lagging behind or it may serve current information. Often, this is acceptable. In some cases higher consistency levels are needed for the application to work correct. In those cases, the quality_of_service can filter out cluster nodes which cannot deliver the necessary quality of service.

The quality_of_service filter can be replaced or created at runtime. A successful call to mysqlnd_ms_set_qos() removes all existing qos filter entries from the filter list and installs a new one at the very beginning. All settings that can be made through mysqlnd_ms_set_qos() can also be in the plugins configuration file. However, use of the function is by far the most common use case. Instead of setting session consistency and strong consistency service levels in the plugins configuration file it is recommended to define only masters and no slaves. Both service levels will force the use of masters only. Using an empty slave list shortens the configuration file, thus improving readability. The only service level for which there is a case of defining in the plugins configuration file is the combination of eventual consistency and maximum slave lag.

Keyword Description Version
eventual_consistency

Request eventual consistency. Allows the use of all master and slave servers. Data returned may or may not be current.

Eventual consistency accepts an optional age parameter. If age is given the plugin considers only slaves for reading for which MySQL replication reports a slave lag less or equal to age. The replication lag is measure using SHOW SLAVE STATUS. If the plugin fails to fetch the replication lag, the slave tested is skipped. Implementation details and tips are given in the quality of service concepts section.

Please note, if a filter chain generates an empty slave list and the PHP configuration directive mysqlnd_ms.multi_master=0 is used, the plugin may emit a warning.

Exemplo #24 Global limit on slave lag

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": {
            "quality_of_service": {
                "eventual_consistency": {
                    "age":123
                }
            }
        }
    }
}

 Since 1.2.0.
session_consistency

Request session consistency (read your writes). Allows use of all masters and all slaves which are in sync with the master. If no further parameters are given slaves are filtered out as there is no reliable way to test if a slave has caught up to the master or is lagging behind. Please note, if a filter chain generates an empty slave list and the PHP configuration directive mysqlnd_ms.multi_master=0 is used, the plugin may emit a warning.

Session consistency temporarily requested using mysqlnd_ms_set_qos() is a valuable alternative to using master_on_write. master_on_write is likely to send more statements to the master than needed. The application may be able to continue operation at a lower consistency level after it has done some critical reads.

Since 1.1.0.
strong_consistency

Request strong consistency. Only masters will be used.

Since 1.2.0.
failover Up to and including 1.3.x: string. Since 1.4.0: object.

Failover policy. Supported policies: disabled (default), master, loop_before_master (Since 1.4.0).

If no failover policy is set, the plugin will not do any automatic failover (failover=disabled). Whenever the plugin fails to connect a server it will emit a warning and set the connections error code and message. Thereafter it is up to the application to handle the error and, for example, resent the last statement to trigger the selection of another server.

Please note, the automatic failover logic is applied when opening connections only. Once a connection has been opened no automatic attempts are made to reopen it in case of an error. If, for example, the server a connection is connected to is shut down and the user attempts to run a statement on the connection, no automatic failover will be tried. Instead, an error will be reported.

If using failover=master the plugin will implicitly failover to a master, if available. Please check the concepts documentation to learn about potential pitfalls and risks of using failover=master.

Exemplo #25 Optional master failover when failing to connect to slave (PECL/mysqlnd_ms < 1.4.0)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "failover": "master"
    }
}

Since PECL/mysqlnd_ms 1.4.0 the failover configuration keyword refers to an object.

Exemplo #26 New syntax since 1.4.0

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "failover": {"strategy": "master" }
    }
}

Keyword Description Version
strategy

Failover policy. Possible values: disabled (default), master, loop_before_master

A value of disabled disables automatic failover.

Setting master instructs the plugin to try to connect to a master in case of a slave connection error. If the master connection attempt fails, the plugin exists the failover loop and returns an error to the user.

If using loop_before_master and a slave request is made, the plugin tries to connect to other slaves before failing over to a master. If multiple master are given and multi master is enabled, the plugin also loops over the list of masters and attempts to connect before returning an error to the user.

Since 1.4.0.
remember_failed

Remember failures for the duration of a web request. Default: false.

If set to true the plugin will remember failed hosts and skip the hosts in all future load balancing made for the duration of the current web request.

Since 1.4.0. The feature is only available together with the random and roundrobin load balancing filter. Use of the setting is recommended.
max_retries

Maximum number of connection attempts before skipping host. Default: 0 (no limit).

The setting is used to prevent hosts from being dropped of the host list upon the first failure. If set to n > 0, the plugin will keep the node in the node list even after a failed connection attempt. The node will not be removed immediately from the slave respectively master lists after the first connection failure but instead be tried to connect to up to n times in future load balancing rounds before being removed.

Since 1.4.0. The feature is only available together with the random and roundrobin load balancing filter.

Setting failover to any other value but disabled, master or loop_before_master will not emit any warning or error.

lazy_connections bool

Controls the use of lazy connections. Lazy connections are connections which are not opened before the client sends the first connection. Lazy connections are a default.

It is strongly recommended to use lazy connections. Lazy connections help to keep the number of open connections low. If you disable lazy connections and, for example, configure one MySQL replication master server and two MySQL replication slaves, the plugin will open three connections upon the first call to a connect function although the application might use the master connection only.

Lazy connections bare a risk if you make heavy use of actions which change the state of a connection. The plugin does not dispatch all state changing actions to all connections from the connection pool. The few dispatched actions are applied to already opened connections only. Lazy connections opened in the future are not affected. Only some settings are "remembered" and applied when lazy connections are opened.

Exemplo #27 Disabling lazy connection

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "lazy_connections": 0
    }
}

Please, see also server_charset to overcome potential problems with string escaping and servers using different default charsets.

server_charset string

The setting has been introduced in 1.4.0. It is recommended to set it if using lazy connections.

The server_charset setting serves two purposes. It acts as a fallback charset to be used for string escaping done before a connection has been established and it helps to avoid escaping pitfalls in heterogeneous environments which servers using different default charsets.

String escaping takes a connections charset into account. String escaping is not possible before a connection has been opened and the connections charset is known. The use of lazy connections delays the actual opening of connections until a statement is send.

An application using lazy connections may attempt to escape a string before sending a statement. In fact, this should be a common case as the statement string may contain the string that is to be escaped. However, due to the lazy connection feature no connection has been opened yet and escaping fails. The plugin may report an error of the type E_WARNING and a message like (mysqlnd_ms) string escaping doesn't work without established connection. Possible solution is to add server_charset to your configuration to inform you of the pitfall.

Setting server_charset makes the plugin use the given charset for string escaping done on lazy connection handles before establishing a network connection to MySQL. Furthermore, the plugin will enforce the use of the charset when the connection is established.

Enforcing the use of the configured charset used for escaping is done to prevent tapping into the pitfall of using a different charset for escaping than used later for the connection. This has the additional benefit of removing the need to align the charset configuration of all servers used. No matter what the default charset on any of the servers is, the plugin will set the configured one as a default.

The plugin does not stop the user from changing the charset at any time using the set_charset() call or corresponding SQL statements. Please, note that the use of SQL is not recommended as it cannot be monitored by the plugin. The user can, for example, change the charset on a lazy connection handle after escaping a string and before the actual connection is opened. The charset set by the user will be used for any subsequent escaping before the connection is established. The connection will be established using the configured charset, no matter what the server charset is or what the user has set before. Once a connection has been opened, set_charset is of no meaning anymore.

Exemplo #28 String escaping on a lazy connection handle

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "lazy_connections": 1,
        "server_charset" : "utf8mb4"
    }
}
<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
$mysqli->real_escape("this will be escaped using the server_charset setting - utf8mb4");
$mysqli->set_charset("latin1");
$mysqli->real_escape("this will be escaped using latin1");
/* server_charset implicitly set - utf8mb4 connection */
$mysqli->query("SELECT 'This connection will be set to server_charset upon establishing' AS _msg FROM DUAL");
/* latin1 used from now on */
$mysqli->set_charset("latin1");
?>

master_on_write bool

If set, the plugin will use the master server only after the first statement has been executed on the master. Applications can still send statements to the slaves using SQL hints to overrule the automatic decision.

The setting may help with replication lag. If an application runs an INSERT the plugin will, by default, use the master to execute all following statements, including SELECT statements. This helps to avoid problems with reads from slaves which have not replicated the INSERT yet.

Exemplo #29 Master on write for consistent reads

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "master_on_write": 1
    }
}

Please, note the quality_of_service filter introduced in version 1.2.0-alpha. It gives finer control, for example, for achieving read-your-writes and, it offers additional functionality introducing service levels.

All transaction stickiness settings, including trx_stickiness=on, are overruled by master_on_write=1.

trx_stickiness string

Transaction stickiness policy. Supported policies: disabled (default), master.

The setting requires 5.4.0 or newer. If used with PHP older than 5.4.0, the plugin will emit a warning like (mysqlnd_ms) trx_stickiness strategy is not supported before PHP 5.3.99.

If no transaction stickiness policy is set or, if setting trx_stickiness=disabled, the plugin is not transaction aware. Thus, the plugin may load balance connections and switch connections in the middle of a transaction. The plugin is not transaction safe. SQL hints must be used avoid connection switches during a transaction.

As of PHP 5.4.0 the mysqlnd library allows the plugin to monitor the autocommit mode set by calls to the libraries set_autocommit() function. If setting set_stickiness=master and autocommit gets disabled by a PHP MySQL extension invoking the mysqlnd library internal function call set_autocommit(), the plugin is made aware of the begin of a transaction. Then, the plugin stops load balancing and directs all statements to the master server until autocommit is enabled. Thus, no SQL hints are required.

An example of a PHP MySQL API function calling the mysqlnd library internal function call set_autocommit() is mysqli_autocommit().

Although setting trx_stickiness=master, the plugin cannot be made aware of autocommit mode changes caused by SQL statements such as SET AUTOCOMMIT=0 or BEGIN.

As of PHP 5.5.0, the mysqlnd library features additional C API calls to control transactions. The level of control matches the one offered by SQL statements. The mysqli API has been modified to use these calls. Since version 1.5.0, PECL/mysqlnd_ms can monitor not only mysqli_autocommit(), but also mysqli_begin(), mysqli_commit() and mysqli_rollback() to detect transaction boundaries and stop load balancing for the duration of a transaction.

Exemplo #30 Using master to execute transactions

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "trx_stickiness": "master"
    }
}

Since version 1.5.0 automatic and silent failover is disabled for the duration of a transaction. If the boundaries of a transaction have been properly detected, transaction stickiness is enabled and a server fails, the plugin will not attempt to fail over to the next server, if any, regardless of the failover policy configured. The user must handle the error manually. Depending on the configuration, the plugin may emit an error of type E_WARNING reading like (mysqlnd_ms) Automatic failover is not permitted in the middle of a transaction. This error may then be overwritten by follow up errors such as (mysqlnd_ms) No connection selected by the last filter. Those errors will be generated by the failing query function.

Exemplo #31 No automatic failover, error handling pitfall

<?php
/* assumption: automatic failover configured */
$mysqli = new mysqli("myapp", "username", "password", "database");

/* sets plugin internal state in_trx = 1 */
$mysqli->autocommit(false);

/* assumption: server fails */
if (!($res = $mysqli->query("SELECT 'Assume this query fails' AS _msg FROM DUAL"))) {
 /* handle failure of transaction, plugin internal state is still in_trx = 1 */
 printf("[%d] %s", $mysqli->errno, $mysqli->error);
 /*
  If using autocommit() based transaction detection it is a
  MUST to call autocommit(true). Otherwise the plugin assumes
  the current transaction continues and connection
  changes remain forbidden.
 */
 $mysqli->autocommit(true);
 /* Likewise, you'll want to start a new transaction */
 $mysqli->autocommit(false);
}
/* latin1 used from now on */
$mysqli->set_charset("latin1");
?>

If a server fails in the middle of a transaction the plugin continues to refuse to switch connections until the current transaction has been finished. Recall that the plugin monitors API calls to detect transaction boundaries. Thus, you have to, for example, enable auto commit mode to end the current transaction before the plugin continues load balancing and switches the server. Likewise, you will want to start a new transaction immediately thereafter and disable auto commit mode again.

Not handling failed queries and not ending a failed transaction using API calls may cause all following commands emit errors such as Commands out of sync; you can't run this command now. Thus, it is important to handle all errors.

transient_error object

The setting has been introduced in 1.6.0.

A database cluster node may reply a transient error to a client. The client can then repeat the operation on the same node, fail over to a different node or abort the operation. Per definition is it safe for a client to retry the same operation on the same node before giving up.

PECL/mysqlnd_ms can perform the retry loop on behalf of the application. By configuring transient_error the plugin can be instructed to repeat operations failing with a certain error code for a certain maximum number of times with a pause between the retries. If the transient error disappears during loop execution, it is hidden from the application. Otherwise, the error is forwarded to the application by the end of the loop.

Exemplo #32 Retry loop for transient errors

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
       },
       "transient_error": {
          "mysql_error_codes": [
            1297
          ],
          "max_retries": 2,
          "usleep_retry": 100
       }
    }
}

Keyword Description Version
mysql_error_codes

List of transient error codes. You may add any MySQL error code to the list. It is possible to consider any error as transient not only 1297 (HY000 (ER_GET_TEMPORARY_ERRMSG), Message: Got temporary error %d '%s' from %s). Before adding other codes but 1297 to the list, make sure your cluster supports a new attempt without impacting the state of your application.

Since 1.6.0.
max_retries

How often to retry an operation which fails with a transient error before forwarding the failure to the user.

Default: 1

Since 1.6.0.
usleep_retry

Milliseconds to sleep between transient error retries. The value is passed to the C function usleep(), hence the name.

Default: 100

Since 1.6.0.
xa object

The setting has been introduced in 1.6.0.

Nota: Experimental

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments.

state_store
record_participant_credentials

Whether to store the username and password of a global transaction participant in the participants table. If disabled, the garbage collection will use the default username and password when connecting to the participants. Unless you are using a different username and password for each of your MySQL servers, you can use the default and avoid storing the sensible information in state store.

Please note, username and password are stored in clear text when using the MySQL state store, which is the only one available. It is in your responsibility to protect this sensible information.

Default: false

participant_localhost_ip

During XA garbage collection the plugin may find a participant server for which the host localhost has been recorded. If the garbage collection takes place on another host but the host that has written the participant record to the state store, the host name localhost now resolves to a different host. Therefore, when recording a participant servers host name in the state store, a value of localhost must be replaced with the actual IP address of localhost.

Setting participant_localhost_ip should be considered only if using localhost cannot be avoided. From a garbage collection point of view only, it is preferrable not to configure any socket connection but to provide an IP address and port for a node.

mysql

The MySQL state store is the only state store available.

global_trx_table

Name of the MySQL table used to store the state of an ongoing or aborted global transaction. Use the below SQL statement to create the table. Make sure to edit the table name to match your configuration.

Default: mysqlnd_ms_xa_trx

Exemplo #33 SQL definition for the MySQL state store transaction table

CREATE TABLE mysqlnd_ms_xa_trx (
  store_trx_id int(11) NOT NULL AUTO_INCREMENT,
  gtrid int(11) NOT NULL,
  format_id int(10) unsigned NOT NULL DEFAULT '1',
  state enum('XA_NON_EXISTING','XA_ACTIVE','XA_IDLE','XA_PREPARED','XA_COMMIT','XA_ROLLBACK') NOT NULL DEFAULT 'XA_NON_EXISTING',
  intend enum('XA_NON_EXISTING','XA_ACTIVE','XA_IDLE','XA_PREPARED','XA_COMMIT','XA_ROLLBACK') DEFAULT 'XA_NON_EXISTING',
  finished enum('NO','SUCCESS','FAILURE') NOT NULL DEFAULT 'NO',
  modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  started datetime DEFAULT NULL,
  timeout datetime DEFAULT NULL,
  PRIMARY KEY (store_trx_id),
  KEY idx_xa_id (gtrid,format_id,finished),
  KEY idx_state (state)
) ENGINE=InnoDB

participant_table

Name of the MySQL table used to store participants of an ongoing or aborted global transaction. Use the below SQL statement to create the table. Make sure to edit the table name to match your configuration.

Storing credentials can be enabled and disabled using record_participant_credentials

Default: mysqlnd_ms_xa_participants

Exemplo #34 SQL definition for the MySQL state store transaction table

CREATE TABLE mysqlnd_ms_xa_participants (
  fk_store_trx_id int(11) NOT NULL,
  bqual varbinary(64) NOT NULL DEFAULT '',
  participant_id int(10) unsigned NOT NULL AUTO_INCREMENT,
  server_uuid varchar(127) DEFAULT NULL,
  scheme varchar(1024) NOT NULL,
  host varchar(127) DEFAULT NULL,
  port smallint(5) unsigned DEFAULT NULL,
  socket varchar(127) DEFAULT NULL,
  user varchar(127) DEFAULT NULL,
  password varchar(127) DEFAULT NULL,
  state enum('XA_NON_EXISTING','XA_ACTIVE','XA_IDLE','XA_PREPARED','XA_COMMIT','XA_ROLLBACK')
   NOT NULL DEFAULT 'XA_NON_EXISTING',
  health enum('OK','GC_DONE','CLIENT ERROR','SERVER ERROR') NOT NULL DEFAULT 'OK',
  connection_id int(10) unsigned DEFAULT NULL,
  client_errno smallint(5) unsigned DEFAULT NULL,
  client_error varchar(1024) DEFAULT NULL,
  modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (participant_id),
  KEY idx_xa_bqual (bqual),
  KEY idx_store_trx (fk_store_trx_id),
  CONSTRAINT mysqlnd_ms_xa_participants_ibfk_1 FOREIGN KEY (fk_store_trx_id)
    REFERENCES mysqlnd_ms_xa_trx (store_trx_id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB
garbage_collection_table

Name of the MySQL table used to track and synchronize garbage collection runs. Use the below SQL statement to create the table. Make sure to edit the table name to match your configuration.

Default: mysqlnd_ms_xa_gc

Exemplo #35 SQL definition for the MySQL state store garbage collection table

CREATE TABLE mysqlnd_ms_xa_gc (
  gc_id int(10) unsigned NOT NULL AUTO_INCREMENT,
  gtrid int(11) NOT NULL,
  format_id int(10) unsigned NOT NULL DEFAULT '1',
  fk_store_trx_id int(11) DEFAULT NULL,
  modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  attempts smallint(5) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (gc_id),
  KEY idx_store_trx (gtrid,format_id,fk_store_trx_id)
) ENGINE=InnoDB
host

Host name of the MySQL server.

user

Name of the user used to connect to the MySQL server.

password

Password for the MySQL server user.

db

Database that holds the garbage collection tables. Please note, you have to create the garbage collection tables prior to using the plugin. The tables will not be created implicitly during runtime but garbage collection will fail if the tables to not exist.

port

Port of the MySQL server.

socket

Unix domain socket of the MySQL server. Please note, if you have multiple PHP servers each of them will try to carry out garbage collection and need to be able to connect to the state store. In this case, you may prefer configuring an IP address and a port for the MySQL state store server to ensure all PHP servers can reach it.

rollback_on_close

Whether to automatically rollback an open global transaction when a connection is closed. If enabled, it mimics the default behaviour of local transactions. Should a client disconnect, the server rolls back any open and unfinished transactions.

Default: true

garbage_collection
max_retries

Maximum number of garbage collection runs before giving up. Allowed values are from 0 to 100. A setting of 0 means no limit, unless the state store enforces a limit. Should the state store enforce a limit, it can be supposed to be significantly higher than 100. Available since 1.6.0.

Please note, it is important to end failed XA transactions within reasonable time to make participating servers free resources bound to the transaction. The built-in garbage collection is not expected to fail for a long period as long as crashed servers become available again quickly. Still, a situation may arise where a human is required to act because the built-in garbage collection stopped or failed. In this case, you may first want to check if the transaction still cannot be fixed by forcing mysqlnd_ms_xa_gc() to ignore the setting, prior to handling it manually.

Default: 5

probability

Garbage collection probability. Allowed values are from 0 to 1000. A setting of 0 disables automatic background garbage collection. Despite a setting of 0 it is still possible to trigger garbage collection by calling mysqlnd_ms_gc(). Available since 1.6.0.

The automatic garbage collection of stalled XA transaction is only available if a state store have been configured. The state store is responsible to keep track of XA transactions. Based on its recordings it can find blocked XA transactions where the client has crashed, connect to the participants and rollback the unfinished transactions.

The garbage collection is triggered as part of PHP's request shutdown procedure at the end of a web request. That is after your PHP script has finished working. Do decide whether to run the garbage collection a random value between 0 and 1000 is computed. If the probability value is higher or equal to the random value, the state stores garbage collection routines are invoked.

Default: 5

max_transactions_per_run

Maximum number of unfinished XA transactions considered by the garbage collection during one run. Allowed values are from 1 to 32768. Available since 1.6.0.

Cleaning up an unfinished XA transaction takes considerable amounts of time and resources. The garbage collection routine may have to connect to several participants of a failed global transaction to issue the SQL commands for rolling back the unfinished tranaction.

Default: 100

Plugin configuration file (<= 1.0.x)

Nota:

The below description applies to PECL/mysqlnd_ms < 1.1.0-beta. It is not valid for later versions.

The plugin is using its own configuration file. The configuration file holds information on the MySQL replication master server, the MySQL replication slave servers, the server pick (load balancing) policy, the failover strategy and the use of lazy connections.

The PHP configuration directive mysqlnd_ms.ini_file is used to set the plugins configuration file.

The configuration file mimics standard the php.ini format. It consists of one or more sections. Every section defines its own unit of settings. There is no global section for setting defaults.

Applications reference sections by their name. Applications use section names as the host (server) parameter to the various connect methods of the mysqli, mysql and PDO_MYSQL extensions. Upon connect the mysqlnd plugin compares the hostname with all section names from the plugin configuration file. If hostname and section name match, the plugin will load the sections settings.

Exemplo #36 Using section names example

[myapp]
master[] = localhost
slave[] = 192.168.2.27
slave[] = 192.168.2.28:3306
[localhost]
master[] = localhost:/tmp/mysql/mysql.sock
slave[] = 192.168.3.24:3305
slave[] = 192.168.3.65:3309
<?php
/* All of the following connections will be load balanced */
$mysqli = new mysqli("myapp", "username", "password", "database");
$pdo = new PDO('mysql:host=myapp;dbname=database', 'username', 'password');
$mysql = mysql_connect("myapp", "username", "password");

$mysqli = new mysqli("localhost", "username", "password", "database");
?>

Section names are strings. It is valid to use a section name such as 192.168.2.1, 127.0.0.1 or localhost. If, for example, an application connects to localhost and a plugin configuration section [localhost] exists, the semantics of the connect operation are changed. The application will no longer only use the MySQL server running on the host localhost but the plugin will start to load balance MySQL queries following the rules from the [localhost] configuration section. This way you can load balance queries from an application without changing the applications source code.

The master[], slave[] and pick[] configuration directives use a list-like syntax. Configuration directives supporting list-like syntax may appear multiple times in a configuration section. The plugin maintains the order in which entries appear when interpreting them. For example, the below example shows two slave[] configuration directives in the configuration section [myapp]. If doing round-robin load balancing for read-only queries, the plugin will send the first read-only query to the MySQL server mysql_slave_1 because it is the first in the list. The second read-only query will be send to the MySQL server mysql_slave_2 because it is the second in the list. Configuration directives supporting list-like syntax result are ordered from top to bottom in accordance to their appearance within a configuration section.

Exemplo #37 List-like syntax

[myapp]
master[] = mysql_master_server
slave[] = mysql_slave_1
slave[] = mysql_slave_2

Here is a short explanation of the configuration directives that can be used.

master[] string

URI of a MySQL replication master server. The URI follows the syntax hostname[:port|unix_domain_socket].

The plugin supports using only one master server.

Setting a master server is mandatory. The plugin will report a warning upon connect if the user has failed to provide a master server for a configuration section. The warning may read (mysqlnd_ms) Cannot find master section in config. Furthermore the plugin may set an error code for the connection handle such as HY000/2000 (CR_UNKNOWN_ERROR). The corresponding error message depends on your language settings.

slave[] string

URI of one or more MySQL replication slave servers. The URI follows the syntax hostname[:port|unix_domain_socket].

The plugin supports using one or more slave servers.

Setting a slave server is mandatory. The plugin will report a warning upon connect if the user has failed to provide at least one slave server for a configuration section. The warning may read (mysqlnd_ms) Cannot find slaves section in config. Furthermore the plugin may set an error code for the connection handle such as HY000/2000 (CR_UNKNOWN_ERROR). The corresponding error message depends on your language settings.

pick[] string

Load balancing (server picking) policy. Supported policies: random, random_once (default), roundrobin, user.

If no load balancing policy is set, the plugin will default to random_once. The random_once policy picks a random slave server when running the first read-only statement. The slave server will be used for all read-only statements until the PHP script execution ends.

The random policy will pick a random server whenever a read-only statement is to be executed.

If using roundrobin the plugin iterates over the list of configured slave servers to pick a server for statement execution. If the plugin reaches the end of the list, it wraps around to the beginning of the list and picks the first configured slave server.

Setting more than one load balancing policy for a configuration section makes only sense in conjunction with user and mysqlnd_ms_set_user_pick_server(). If the user defined callback fails to pick a server, the plugin falls back to the second configured load balancing policy.

failover string

Failover policy. Supported policies: disabled (default), master.

If no failover policy is set, the plugin will not do any automatic failover (failover=disabled). Whenever the plugin fails to connect a server it will emit a warning and set the connections error code and message. Thereafter it is up to the application to handle the error and, for example, resent the last statement to trigger the selection of another server.

If using failover=master the plugin will implicitly failover to a slave, if available. Please check the concepts documentation to learn about potential pitfalls and risks of using failover=master.

lazy_connections bool

Controls the use of lazy connections. Lazy connections are connections which are not opened before the client sends the first connection.

It is strongly recommended to use lazy connections. Lazy connections help to keep the number of open connections low. If you disable lazy connections and, for example, configure one MySQL replication master server and two MySQL replication slaves, the plugin will open three connections upon the first call to a connect function although the application might use the master connection only.

Lazy connections bare a risk if you make heavy use of actions which change the state of a connection. The plugin does not dispatch all state changing actions to all connections from the connection pool. The few dispatched actions are applied to already opened connections only. Lazy connections opened in the future are not affected. If, for example, the connection character set is changed using a PHP MySQL API call, the plugin will change the character set of all currently opened connection. It will not remember the character set change to apply it on lazy connections opened in the future. As a result the internal connection pool would hold connections using different character sets. This is not desired. Remember that character sets are taken into account for escaping.

master_on_write bool

If set, the plugin will use the master server only after the first statement has been executed on the master. Applications can still send statements to the slaves using SQL hints to overrule the automatic decision.

The setting may help with replication lag. If an application runs an INSERT the plugin will, by default, use the master to execute all following statements, including SELECT statements. This helps to avoid problems with reads from slaves which have not replicated the INSERT yet.

trx_stickiness string

Transaction stickiness policy. Supported policies: disabled (default), master.

Experimental feature.

The setting requires 5.4.0 or newer. If used with PHP older than 5.4.0, the plugin will emit a warning like (mysqlnd_ms) trx_stickiness strategy is not supported before PHP 5.3.99.

If no transaction stickiness policy is set or, if setting trx_stickiness=disabled, the plugin is not transaction aware. Thus, the plugin may load balance connections and switch connections in the middle of a transaction. The plugin is not transaction safe. SQL hints must be used avoid connection switches during a transaction.

As of PHP 5.4.0 the mysqlnd library allows the plugin to monitor the autocommit mode set by calls to the libraries trx_autocommit() function. If setting trx_stickiness=master and autocommit gets disabled by a PHP MySQL extension invoking the mysqlnd library internal function call trx_autocommit(), the plugin is made aware of the begin of a transaction. Then, the plugin stops load balancing and directs all statements to the master server until autocommit is enabled. Thus, no SQL hints are required.

An example of a PHP MySQL API function calling the mysqlnd library internal function call trx_autocommit() is mysqli_autocommit().

Although setting trx_stickiness=master, the plugin cannot be made aware of autocommit mode changes caused by SQL statements such as SET AUTOCOMMIT=0.

Testing

Nota:

The section applies to mysqlnd_ms 1.1.0 or newer, not the 1.0 series.

The PECL/mysqlnd_ms test suite is in the tests/ directory of the source distribution. The test suite consists of standard phpt tests, which are described on the PHP Quality Assurance Teams website.

Running the tests requires setting up one to four MySQL servers. Some tests don't connect to MySQL at all. Others require one server for testing. Some require two distinct servers. In some cases two servers are used to emulate a replication setup. In other cases a master and a slave of an existing MySQL replication setup are required for testing. The tests will try to detect how many servers and what kind of servers are given. If the required servers are not found, the test will be skipped automatically.

Before running the tests, edit tests/config.inc to configure the MySQL servers to be used for testing.

The most basic configuration is as follows.

 putenv("MYSQL_TEST_HOST=localhost");
 putenv("MYSQL_TEST_PORT=3306");
 putenv("MYSQL_TEST_USER=root");
 putenv("MYSQL_TEST_PASSWD=");
 putenv("MYSQL_TEST_DB=test");
 putenv("MYSQL_TEST_ENGINE=MyISAM");
 putenv("MYSQL_TEST_SOCKET=");

 putenv("MYSQL_TEST_SKIP_CONNECT_FAILURE=1");
 putenv("MYSQL_TEST_CONNECT_FLAGS=0");
 putenv("MYSQL_TEST_EXPERIMENTAL=0");

 /* replication cluster emulation */
 putenv("MYSQL_TEST_EMULATED_MASTER_HOST=". getenv("MYSQL_TEST_HOST"));
 putenv("MYSQL_TEST_EMULATED_SLAVE_HOST=". getenv("MYSQL_TEST_HOST"));

 /* real replication cluster */
 putenv("MYSQL_TEST_MASTER_HOST=". getenv("MYSQL_TEST_EMULATED_MASTER_HOST"));
 putenv("MYSQL_TEST_SLAVE_HOST=". getenv("MYSQL_TEST_EMULATED_SLAVE_HOST"));

MYSQL_TEST_HOST, MYSQL_TEST_PORT and MYSQL_TEST_SOCKET define the hostname, TCP/IP port and Unix domain socket of the default database server. MYSQL_TEST_USER and MYSQL_TEST_PASSWD contain the user and password needed to connect to the database/schema configured with MYSQL_TEST_DB. All configured servers must have the same database user configured to give access to the test database.

Using host, host:port or host:/path/to/socket syntax one can set an alternate host, host and port or host and socket for any of the servers.

putenv("MYSQL_TEST_SLAVE_HOST=192.168.78.136:3307"));
putenv("MYSQL_TEST_MASTER_HOST=myserver_hostname:/path/to/socket"));

Debugging and Tracing

The mysqlnd debug log can be used to debug and trace the actitivities of PECL/mysqlnd_ms. As a mysqlnd PECL/mysqlnd_ms adds trace information to the mysqlnd library debug file. Please, see the mysqlnd.debug PHP configuration directive documentation for a detailed description on how to configure the debug log.

Configuration setting example to activate the debug log:

mysqlnd.debug=d:t:x:O,/tmp/mysqlnd.trace

Nota:

This feature is only available with a debug build of PHP. Works on Microsoft Windows if using a debug build of PHP and PHP was built using Microsoft Visual C version 9 and above.

The debug log shows mysqlnd library and PECL/mysqlnd_ms plugin function calls, similar to a trace log. Mysqlnd library calls are usually prefixed with mysqlnd_. PECL/mysqlnd internal calls begin with mysqlnd_ms.

Example excerpt from the debug log (connect):

[...]
>mysqlnd_connect
| info : host=myapp user=root db=test port=3306 flags=131072
| >mysqlnd_ms::connect
| | >mysqlnd_ms_config_json_section_exists
| | | info : section=[myapp] len=[5]
| | | >mysqlnd_ms_config_json_sub_section_exists
| | | | info : section=[myapp] len=[5]
| | | | info : ret=1
| | | <mysqlnd_ms_config_json_sub_section_exists
| | | info : ret=1
| | <mysqlnd_ms_config_json_section_exists
[...]

The debug log is not only useful for plugin developers but also to find the cause of user errors. For example, if your application does not do proper error handling and fails to record error messages, checking the debug and trace log may help finding the cause. Use of the debug log to debug application issues should be considered only if no other option is available. Writing the debug log to disk is a slow operation and may have negative impact on the application performance.

Example excerpt from the debug log (connection failure):

[...]
| | | | | | | info : adding error [Access denied for user 'root'@'localhost' (using password: YES)] to the list
| | | | | | | info : PACKET_FREE(0)
| | | | | | | info : PACKET_FREE(0x7f3ef6323f50)
| | | | | | | info : PACKET_FREE(0x7f3ef6324080)
| | | | | | <mysqlnd_auth_handshake
| | | | | | info : switch_to_auth_protocol=n/a
| | | | | | info : conn->error_info.error_no = 1045
| | | | | <mysqlnd_connect_run_authentication
| | | | | info : PACKET_FREE(0x7f3ef63236d8)
| | | | | >mysqlnd_conn::free_contents
| | | | | | >mysqlnd_net::free_contents
| | | | | | <mysqlnd_net::free_contents
| | | | | | info : Freeing memory of members
| | | | | | info : scheme=unix:///tmp/mysql.sock
| | | | | | >mysqlnd_error_list_pdtor
| | | | | | <mysqlnd_error_list_pdtor
| | | | | <mysqlnd_conn::free_contents
| | | | <mysqlnd_conn::connect
[...]

The trace log can also be used to verify correct behaviour of PECL/mysqlnd_ms itself, for example, to check which server has been selected for query execution and why.

Example excerpt from the debug log (plugin decision):

[...]
>mysqlnd_ms::query
| info : query=DROP TABLE IF EXISTS test
| >_mysqlnd_plugin_get_plugin_connection_data
| | info : plugin_id=5
| <_mysqlnd_plugin_get_plugin_connection_data
| >mysqlnd_ms_pick_server_ex
| | info : conn_data=0x7fb6a7d3e5a0 *conn_data=0x7fb6a7d410d0
| | >mysqlnd_ms_select_servers_all
| | <mysqlnd_ms_select_servers_all
| | >mysqlnd_ms_choose_connection_rr
| | | >mysqlnd_ms_query_is_select
[...]
| | | <mysqlnd_ms_query_is_select
[...]
| | | info : Init the master context
| | | info : list(0x7fb6a7d3f598) has 1
| | | info : Using master connection
| | | >mysqlnd_ms_advanced_connect
| | | | >mysqlnd_conn::connect
| | | | | info : host=localhost user=root db=test port=3306 flags=131072 persistent=0 state=0

In this case the statement DROP TABLE IF EXISTS test has been executed. Note that the statement string is shown in the log file. You may want to take measures to restrict access to the log for security considerations.

The statement has been load balanced using round robin policy, as you can easily guess from the functions name >mysqlnd_ms_choose_connection_rr. It has been sent to a master server running on host=localhost user=root db=test port=3306 flags=131072 persistent=0 state=0.

Monitoring

Plugin activity can be monitored using the mysqlnd trace log, mysqlnd statistics, mysqlnd_ms plugin statistics and external PHP debugging tools. Use of the trace log should be limited to debugging. It is recommended to use the plugins statistics for monitoring.

Writing a trace log is a slow operation. If using an external PHP debugging tool, please refer to the vendors manual about its performance impact and the type of information collected. In many cases, external debugging tools will provide call stacks. Often, a call stack or a trace log is more difficult to interpret than the statistics provided by the plugin.

Plugin statistics tell how often which kind of cluster node has been used (slave or master), why the node was used, if lazy connections have been used and if global transaction ID injection has been performed. The monitoring information provided enables user to verify plugin decisions and to plan their cluster resources based on usage pattern. The function mysqlnd_ms_get_stats() is used to access the statistics. Please, see the functions description for a list of available statistics.

Statistics are collected on a per PHP process basis. Their scope is a PHP process. Depending on the PHP deployment model a process may serve one or multiple web requests. If using CGI model, a PHP process serves one web request. If using FastCGI or pre-fork web server models, a PHP process usually serves multiple web requests. The same is the case with a threaded web server. Please, note that threads running in parallel can update the statistics in parallel. Thus, if using a threaded PHP deployment model, statistics can be changed by more than one script at a time. A script cannot rely on the fact that it sees only its own changes to statistics.

Exemplo #38 Verify plugin activity in a non-threaded deployment model

mysqlnd_ms.enable=1
mysqlnd_ms.collect_statistics=1
<?php
/* Load balanced following "myapp" section rules from the plugins config file (not shown) */
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno())
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

$stats_before = mysqlnd_ms_get_stats();
if ($res = $mysqli->query("SELECT 'Read request' FROM DUAL")) {
  var_dump($res->fetch_all());
}
$stats_after = mysqlnd_ms_get_stats();
if ($stats_after['use_slave'] <= $stats_before['use_slave']) {
  echo "According to the statistics the read request has not been run on a slave!";
}
?>

Statistics are aggregated for all plugin activities and all connections handled by the plugin. It is not possible to tell how much a certain connection handle has contributed to the overall statistics.

Utilizing PHPs register_shutdown_function() function or the auto_append_file PHP configuration directive it is easily possible to dump statistics into, for example, a log file when a script finishes. Instead of using a log file it is also possible to send the statistics to an external monitoring tool for recording and display.

Exemplo #39 Recording statistics during shutdown

mysqlnd_ms.enable=1
mysqlnd_ms.collect_statistics=1
error_log=/tmp/php_errors.log
<?php
function check_stats() {
  $msg = str_repeat("-", 80) . "\n";
  $msg .= var_export(mysqlnd_ms_get_stats(), true) . "\n";
  $msg .= str_repeat("-", 80) . "\n";
  error_log($msg);
}
register_shutdown_function("check_stats");
?>


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

SQL hint related

Exemplo #1 Example demonstrating the usage of mysqlnd_ms constants

The mysqlnd replication and load balancing plugin (mysqlnd_ms) performs read/write splitting. This directs write queries to a MySQL master server, and read-only queries to the MySQL slave servers. The plugin has a built-in read/write split logic. All queries which start with SELECT are considered read-only queries, which are then sent to a MySQL slave server that is listed in the plugin configuration file. All other queries are directed to the MySQL master server that is also specified in the plugin configuration file.

User supplied SQL hints can be used to overrule automatic read/write splitting, to gain full control on the process. SQL hints are standards compliant SQL comments. The plugin will scan the beginning of a query string for an SQL comment for certain commands, which then control query redirection. Other systems involved in the query processing are unaffected by the SQL hints because other systems will ignore the SQL comments.

The plugin supports three SQL hints to direct queries to either the MySQL slave servers, the MySQL master server, or the last used MySQL server. SQL hints must be placed at the beginning of a query to be recognized by the plugin.

For better portability, it is recommended to use the string constants MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH and MYSQLND_MS_LAST_USED_SWITCH instead of their literal values.

<?php
/* Use constants for maximum portability */
$master_query = "/*" . MYSQLND_MS_MASTER_SWITCH . "*/SELECT id FROM test";

/* Valid but less portable: using literal instead of constant */
$slave_query = "/*ms=slave*/SHOW TABLES";

printf("master_query = '%s'\n", $master_query);
printf("slave_query = '%s'\n", $slave_query);
?>

Os exemplos acima irão imprimir:

master_query = /*ms=master*/SELECT id FROM test
slave_query = /*ms=slave*/SHOW TABLES

MYSQLND_MS_MASTER_SWITCH (string)
SQL hint used to send a query to the MySQL replication master server.
MYSQLND_MS_SLAVE_SWITCH (string)
SQL hint used to send a query to one of the MySQL replication slave servers.
MYSQLND_MS_LAST_USED_SWITCH (string)
SQL hint used to send a query to the last used MySQL server. The last used MySQL server can either be a master or a slave server in a MySQL replication setup.

mysqlnd_ms_query_is_select() related

MYSQLND_MS_QUERY_USE_MASTER (int)
If mysqlnd_ms_is_select() returns MYSQLND_MS_QUERY_USE_MASTER for a given query, the built-in read/write split mechanism recommends sending the query to a MySQL replication master server.
MYSQLND_MS_QUERY_USE_SLAVE (int)
If mysqlnd_ms_is_select() returns MYSQLND_MS_QUERY_USE_SLAVE for a given query, the built-in read/write split mechanism recommends sending the query to a MySQL replication slave server.
MYSQLND_MS_QUERY_USE_LAST_USED (int)
If mysqlnd_ms_is_select() returns MYSQLND_MS_QUERY_USE_LAST_USED for a given query, the built-in read/write split mechanism recommends sending the query to the last used server.

mysqlnd_ms_set_qos(), quality of service filter and service level related

MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL (int)
Use to request the service level eventual consistency from the mysqlnd_ms_set_qos(). Eventual consistency is the default quality of service when reading from an asynchronous MySQL replication slave. Data returned in this service level may or may not be stale, depending on whether the selected slaves happen to have replicated the latest changes from the MySQL replication master or not.
MYSQLND_MS_QOS_CONSISTENCY_SESSION (int)
Use to request the service level session consistency from the mysqlnd_ms_set_qos(). Session consistency is defined as read your writes. The client is guaranteed to see his latest changes.
MYSQLND_MS_QOS_CONSISTENCY_STRONG (int)
Use to request the service level strong consistency from the mysqlnd_ms_set_qos(). Strong consistency is used to ensure all clients see each others changes.
MYSQLND_MS_QOS_OPTION_GTID (int)
Used as a service level option with mysqlnd_ms_set_qos() to parameterize session consistency.
MYSQLND_MS_QOS_OPTION_AGE (int)
Used as a service level option with mysqlnd_ms_set_qos() to parameterize eventual consistency.

Other

The plugins version number can be obtained using MYSQLND_MS_VERSION or MYSQLND_MS_VERSION_ID. MYSQLND_MS_VERSION is the string representation of the numerical version number MYSQLND_MS_VERSION_ID, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
MYSQLND_MS_VERSION_ID | 10000

MYSQLND_MS_VERSION (string)
Plugin version string, for example, 1.0.0-prototype.
MYSQLND_MS_VERSION_ID (int)
Plugin version number, for example, 10000.


Mysqlnd_ms Funções

Índice

  • mysqlnd_ms_dump_servers — Returns a list of currently configured servers
  • mysqlnd_ms_fabric_select_global — Switch to global sharding server for a given table
  • mysqlnd_ms_fabric_select_shard — Switch to shard
  • mysqlnd_ms_get_last_gtid — Returns the latest global transaction ID
  • mysqlnd_ms_get_last_used_connection — Returns an array which describes the last used connection
  • mysqlnd_ms_get_stats — Returns query distribution and connection statistics
  • mysqlnd_ms_match_wild — Finds whether a table name matches a wildcard pattern or not
  • mysqlnd_ms_query_is_select — Find whether to send the query to the master, the slave or the last used MySQL server
  • mysqlnd_ms_set_qos — Sets the quality of service needed from the cluster
  • mysqlnd_ms_set_user_pick_server — Sets a callback for user-defined read/write splitting
  • mysqlnd_ms_xa_begin — Starts a distributed/XA transaction among MySQL servers
  • mysqlnd_ms_xa_commit — Commits a distributed/XA transaction among MySQL servers
  • mysqlnd_ms_xa_gc — Garbage collects unfinished XA transactions after severe errors
  • mysqlnd_ms_xa_rollback — Rolls back a distributed/XA transaction among MySQL servers


Returns a list of currently configured servers

  • « Mysqlnd_ms Funções
  • mysqlnd_ms_fabric_select_global »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Returns a list of currently configured servers

mysqlnd_ms_dump_servers

(Não há informação de versão disponível, talvez apenas no Git)

mysqlnd_ms_dump_servers — Returns a list of currently configured servers

Descrição

mysqlnd_ms_dump_servers ( mixed $connection ) : array

Returns a list of currently configured servers.

Parâmetros

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

Valor Retornado

false on error. Otherwise, returns an array with two entries masters and slaves each of which contains an array listing all corresponding servers.

The function can be used to check and debug the list of servers currently used by the plugin. It is mostly useful when the list of servers changes at runtime, for example, when using MySQL Fabric.

masters and slaves server entries

Key | Description | Version
name_from_config | Server entry name from config, if appliciable. NULL if no configuration name is available. | Since 1.6.0.
hostname | Host name of the server. | Since 1.6.0.
user | Database user used to authenticate against the server. | Since 1.6.0.
port | TCP/IP port of the server. | Since 1.6.0.
socket | Unix domain socket of the server. | Since 1.6.0.

Notas

Nota:

mysqlnd_ms_dump_servers() requires PECL mysqlnd_ms >> 1.6.0.

Exemplos

Exemplo #1 mysqlnd_ms_dump_servers() example

{
    "myapp": {
        "master": {
            "master1": {
                "host":"master1_host",
                "port":"master1_port",
                "socket":"master1_socket",
                "db":"master1_db",
                "user":"master1_user",
                "password":"master1_pw"
            }
        },
        "slave": {
             "slave_0": {
                 "host":"slave0_host",
                 "port":"slave0_port",
                 "socket":"slave0_socket",
                 "db":"slave0_db",
                 "user":"slave0_user",
                 "password":"slave0_pw"
             },
             "slave_1": {
                 "host":"slave1_host"
             }
        }
    }
}
<?php
$link = mysqli_connect("myapp", "global_user", "global_pass", "global_db", 1234, "global_socket");
var_dump(mysqlnd_ms_dump_servers($link);
?>

O exemplo acima irá imprimir:

array(2) {
  ["masters"]=>
  array(1) {
    [0]=>
    array(5) {
      ["name_from_config"]=>
      string(7) "master1"
      ["hostname"]=>
      string(12) "master1_host"
      ["user"]=>
      string(12) "master1_user"
      ["port"]=>
      int(3306)
      ["socket"]=>
      string(14) "master1_socket"
    }
  }
  ["slaves"]=>
  array(2) {
    [0]=>
    array(5) {
      ["name_from_config"]=>
      string(7) "slave_0"
      ["hostname"]=>
      string(11) "slave0_host"
      ["user"]=>
      string(11) "slave0_user"
      ["port"]=>
      int(3306)
      ["socket"]=>
      string(13) "slave0_socket"
    }
    [1]=>
    array(5) {
      ["name_from_config"]=>
      string(7) "slave_1"
      ["hostname"]=>
      string(11) "slave1_host"
      ["user"]=>
      string(12) "gloabal_user"
      ["port"]=>
      int(1234)
      ["socket"]=>
      string(13) "global_socket"
    }
  }
}


Switch to global sharding server for a given table

  • « mysqlnd_ms_dump_servers
  • mysqlnd_ms_fabric_select_shard »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Switch to global sharding server for a given table

mysqlnd_ms_fabric_select_global

(Não há informação de versão disponível, talvez apenas no Git)

mysqlnd_ms_fabric_select_global — Switch to global sharding server for a given table

Descrição

mysqlnd_ms_fabric_select_global ( mixed $connection , mixed $table_name ) : array
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

MySQL Fabric related.

Switch the connection to the nodes handling global sharding queries for the given table name.

Parâmetros

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

table_name

The table name to ask Fabric about.

Valor Retornado

false on error. Otherwise, true

Notas

Nota:

mysqlnd_ms_fabric_select_global() requires PECL mysqlnd_ms >> 1.6.0.


Switch to shard

  • « mysqlnd_ms_fabric_select_global
  • mysqlnd_ms_get_last_gtid »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Switch to shard

mysqlnd_ms_fabric_select_shard

(Não há informação de versão disponível, talvez apenas no Git)

mysqlnd_ms_fabric_select_shard — Switch to shard

Descrição

mysqlnd_ms_fabric_select_shard ( mixed $connection , mixed $table_name , mixed $shard_key ) : array
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

MySQL Fabric related.

Switch the connection to the shards responsible for the given table name and shard key.

Parâmetros

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

table_name

The table name to ask Fabric about.

shard_key

The shard key to ask Fabric about.

Valor Retornado

false on error. Otherwise, true

Notas

Nota:

mysqlnd_ms_fabric_select_shard() requires PECL mysqlnd_ms >> 1.6.0.


Returns the latest global transaction ID

  • « mysqlnd_ms_fabric_select_shard
  • mysqlnd_ms_get_last_used_connection »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Returns the latest global transaction ID

mysqlnd_ms_get_last_gtid

(PECL mysqlnd_ms >= 1.2.0)

mysqlnd_ms_get_last_gtid — Returns the latest global transaction ID

Descrição

mysqlnd_ms_get_last_gtid ( mixed $connection ) : string

Returns a global transaction identifier which belongs to a write operation no older than the last write performed by the client. It is not guaranteed that the global transaction identifier is identical to that one created for the last write transaction performed by the client.

Parâmetros

connection

A PECL/mysqlnd_ms connection handle to a MySQL server of the type PDO_MYSQL, mysqli> or ext/mysql. The connection handle is obtained when opening a connection with a host name that matches a mysqlnd_ms configuration file entry using any of the above three MySQL driver extensions.

Valor Retornado

Returns a global transaction ID (GTID) on success. Otherwise, returns false.

The function mysqlnd_ms_get_last_gtid() returns the GTID obtained when executing the SQL statement from the fetch_last_gtid entry of the global_transaction_id_injection section from the plugins configuration file.

The function may be called after the GTID has been incremented.

Notas

Nota:

mysqlnd_ms_get_last_gtid() requires PHP >= 5.4.0 and PECL mysqlnd_ms >= 1.2.0. Internally, it is using a mysqlnd library C functionality not available with PHP 5.3.

Please note, all MySQL 5.6 production versions do not provide clients with enough information to use GTIDs for enforcing session consistency. In the worst case, the plugin will choose the master only.

Exemplos

Exemplo #1 mysqlnd_ms_get_last_gtid() example

<?php
/* Open mysqlnd_ms connection using mysqli, PDO_MySQL or mysql extension */
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli)
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("DROP TABLE IF EXISTS test"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

printf("GTID after transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli));

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("CREATE TABLE test(id INT)"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

printf("GTID after transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli));
?>

Veja Também

  • Global Transaction IDs


Returns an array which describes the last used connection

  • « mysqlnd_ms_get_last_gtid
  • mysqlnd_ms_get_stats »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Returns an array which describes the last used connection

mysqlnd_ms_get_last_used_connection

(PECL mysqlnd_ms >= 1.1.0)

mysqlnd_ms_get_last_used_connection — Returns an array which describes the last used connection

Descrição

mysqlnd_ms_get_last_used_connection ( mixed $connection ) : array

Returns an array which describes the last used connection from the plugins connection pool currently pointed to by the user connection handle. If using the plugin, a user connection handle represents a pool of database connections. It is not possible to tell from the user connection handles properties to which database server from the pool the user connection handle points.

The function can be used to debug or monitor PECL mysqlnd_ms.

Parâmetros

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

Valor Retornado

false on error. Otherwise, an array which describes the connection used to execute the last statement on.

Array which describes the connection.

Property | Description | Version
scheme | Connection scheme. Either tcp://host:port or unix://host:socket. If you want to distinguish connections from each other use a combination of scheme and thread_id as a unique key. Neither scheme nor thread_id alone are sufficient to distinguish two connections from each other. Two servers may assign the same thread_id to two different connections. Thus, connections in the pool may have the same thread_id. Also, do not rely on uniqueness of scheme in a pool. Your QA engineers may use the same MySQL server instance for two distinct logical roles and add it multiple times to the pool. This hack is used, for example, in the test suite. | Since 1.1.0.
host | Database server host used with the connection. The host is only set with TCP/IP connections. It is empty with Unix domain or Windows named pipe connections, | Since 1.1.0.
host_info | A character string representing the server hostname and the connection type. | Since 1.1.2.
port | Database server port used with the connection. | Since 1.1.0.
socket_or_pipe | Unix domain socket or Windows named pipe used with the connection. The value is empty for TCP/IP connections. | Since 1.1.2.
thread_id | Connection thread id. | Since 1.1.0.
last_message | Info message obtained from the MySQL C API function mysql_info(). Please, see mysqli_info() for a description. | Since 1.1.0.
errno | Error code. | Since 1.1.0.
error | Error message. | Since 1.1.0.
sqlstate | Error SQLstate code. | Since 1.1.0.

Notas

Nota:

mysqlnd_ms_get_last_used_connection() requires PHP >= 5.4.0 and PECL mysqlnd_ms >> 1.1.0. Internally, it is using a mysqlnd library C call not available with PHP 5.3.

Exemplos

The example assumes that myapp refers to a plugin configuration file section and represents a connection pool.

Exemplo #1 mysqlnd_ms_get_last_used_connection() example

<?php
$link = new mysqli("myapp", "user", "password", "database");
$res = $link->query("SELECT 1 FROM DUAL");
var_dump(mysqlnd_ms_get_last_used_connection($link));
?>

O exemplo acima irá imprimir:

array(10) {
  ["scheme"]=>
  string(22) "unix:///tmp/mysql.sock"
  ["host_info"]=>
  string(25) "Localhost via UNIX socket"
  ["host"]=>
  string(0) ""
  ["port"]=>
  int(3306)
  ["socket_or_pipe"]=>
  string(15) "/tmp/mysql.sock"
  ["thread_id"]=>
  int(46253)
  ["last_message"]=>
  string(0) ""
  ["errno"]=>
  int(0)
  ["error"]=>
  string(0) ""
  ["sqlstate"]=>
  string(5) "00000"
}


Returns query distribution and connection statistics

  • « mysqlnd_ms_get_last_used_connection
  • mysqlnd_ms_match_wild »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Returns query distribution and connection statistics

mysqlnd_ms_get_stats

(PECL mysqlnd_ms >= 1.0.0)

mysqlnd_ms_get_stats — Returns query distribution and connection statistics

Descrição

mysqlnd_ms_get_stats ( ) : array

Returns an array of statistics collected by the replication and load balancing plugin.

The PHP configuration setting mysqlnd_ms.collect_statistics controls the collection of statistics. The collection of statistics is disabled by default for performance reasons.

The scope of the statistics is the PHP process. Depending on your deployment model a PHP process may handle one or multiple requests.

Statistics are aggregated for all connections and all storage handler. It is not possible to tell how much queries originating from mysqli, PDO_MySQL or mysql API calls have contributed to the aggregated data values.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns null if the PHP configuration directive mysqlnd_ms.enable has disabled the plugin. Otherwise, returns array of statistics.

Array of statistics

Statistic | Description | Version
use_slave

The semantics of this statistic has changed between 1.0.1 - 1.1.0.

The meaning for version 1.0.1 is as follows. Number of statements considered as read-only by the built-in query analyzer. Neither statements which begin with a SQL hint to force use of slave nor statements directed to a slave by an user-defined callback are included. The total number of statements sent to the slaves is use_slave + use_slave_sql_hint + use_slave_callback.

PECL/mysqlnd_ms 1.1.0 introduces a new concept of chained filters. The statistics is now set by the internal load balancing filter. With version 1.1.0 the load balancing filter is always the last in the filter chain, if used. In future versions a load balancing filter may be followed by other filters causing another change in the meaning of the statistic. If, in the future, a load balancing filter is followed by another filter it is no longer guaranteed that the statement, which increments use_slave, will be executed on the slaves.

The meaning for version 1.1.0 is as follows. Number of statements sent to the slaves. Statements directed to a slave by the user filter (an user-defined callback) are not included. The latter are counted by use_slave_callback.

Since 1.0.0.
use_master

The semantics of this statistic has changed between 1.0.1 - 1.1.0.

The meaning for version 1.0.1 is as follows. Number of statements not considered as read-only by the built-in query analyzer. Neither statements which begin with a SQL hint to force use of master nor statements directed to a master by an user-defined callback are included. The total number of statements sent to the master is use_master + use_master_sql_hint + use_master_callback.

PECL/mysqlnd_ms 1.1.0 introduces a new concept of chained filters. The statictics is now set by the internal load balancing filter. With version 1.1.0 the load balancing filter is always the last in the filter chain, if used. In future versions a load balancing filter may be followed by other filters causing another change in the meaning of the statistic. If, in the future, a load balancing filter is followed by another filter it is no longer guaranteed that the statement, which increments use_master, will be executed on the slaves.

The meaning for version 1.1.0 is as follows. Number of statements sent to the masters. Statements directed to a master by the user filter (an user-defined callback) are not included. The latter are counted by use_master_callback.

Since 1.0.0.
use_slave_guess | Number of statements the built-in query analyzer recommends sending to a slave because they contain no SQL hint to force use of a certain server. The recommendation may be overruled in the following. It is not guaranteed whether the statement will be executed on a slave or not. This is how often the internal is_select function has guessed that a slave shall be used. Please, see also the user space function mysqlnd_ms_query_is_select(). | Since 1.1.0.
use_master_guess | Number of statements the built-in query analyzer recommends sending to a master because they contain no SQL hint to force use of a certain server. The recommendation may be overruled in the following. It is not guaranteed whether the statement will be executed on a slave or not. This is how often the internal is_select function has guessed that a master shall be used. Please, see also the user space function mysqlnd_ms_query_is_select(). | Since 1.1.0.
use_slave_sql_hint | Number of statements sent to a slave because statement begins with the SQL hint to force use of slave. | Since 1.0.0.
use_master_sql_hint | Number of statements sent to a master because statement begins with the SQL hint to force use of master. | Since 1.0.0.
use_last_used_sql_hint | Number of statements sent to server which has run the previous statement, because statement begins with the SQL hint to force use of previously used server. | Since 1.0.0.
use_slave_callback | Number of statements sent to a slave because an user-defined callback has chosen a slave server for statement execution. | Since 1.0.0.
use_master_callback | Number of statements sent to a master because an user-defined callback has chosen a master server for statement execution. | Since 1.0.0.
non_lazy_connections_slave_success | Number of successfully opened slave connections from configurations not using lazy connections. The total number of successfully opened slave connections is non_lazy_connections_slave_success + lazy_connections_slave_success | Since 1.0.0.
non_lazy_connections_slave_failure | Number of failed slave connection attempts from configurations not using lazy connections. The total number of failed slave connection attempts is non_lazy_connections_slave_failure + lazy_connections_slave_failure | Since 1.0.0.
non_lazy_connections_master_success | Number of successfully opened master connections from configurations not using lazy connections. The total number of successfully opened master connections is non_lazy_connections_master_success + lazy_connections_master_success | Since 1.0.0.
non_lazy_connections_master_failure | Number of failed master connection attempts from configurations not using lazy connections. The total number of failed master connection attempts is non_lazy_connections_master_failure + lazy_connections_master_failure | Since 1.0.0.
lazy_connections_slave_success | Number of successfully opened slave connections from configurations using lazy connections. | Since 1.0.0.
lazy_connections_slave_failure | Number of failed slave connection attempts from configurations using lazy connections. | Since 1.0.0.
lazy_connections_master_success | Number of successfully opened master connections from configurations using lazy connections. | Since 1.0.0.
lazy_connections_master_failure | Number of failed master connection attempts from configurations using lazy connections. | Since 1.0.0.
trx_autocommit_on | Number of autocommit mode activations via API calls. This figure may be used to monitor activity related to the plugin configuration setting trx_stickiness. If, for example, you want to know if a certain API call invokes the mysqlnd library function trx_autocommit(), which is a requirement for trx_stickiness, you may call the user API function in question and check if the statistic has changed. The statistic is modified only by the plugins internal subclassed trx_autocommit() method. | Since 1.0.0.
trx_autocommit_off | Number of autocommit mode deactivations via API calls. | Since 1.0.0.
trx_master_forced | Number of statements redirected to the master while trx_stickiness=master and autocommit mode is disabled. | Since 1.0.0.
gtid_autocommit_injections_success | Number of successful SQL injections in autocommit mode as part of the plugins client-side global transaction id emulation. | Since 1.2.0.
gtid_autocommit_injections_failure | Number of failed SQL injections in autocommit mode as part of the plugins client-side global transaction id emulation. | Since 1.2.0.
gtid_commit_injections_success | Number of successful SQL injections in commit mode as part of the plugins client-side global transaction id emulation. | Since 1.2.0.
gtid_commit_injections_failure | Number of failed SQL injections in commit mode as part of the plugins client-side global transaction id emulation. | Since 1.2.0.
gtid_implicit_commit_injections_success | Number of successful SQL injections when implicit commit is detected as part of the plugins client-side global transaction id emulation. Implicit commit happens, for example, when autocommit has been turned off, a query is executed and autocommit is enabled again. In that case, the statement will be committed by the server and SQL to maintain is injected before the autocommit is re-enabled. Another sequence causing an implicit commit is begin(), query(), begin(). The second call to begin() will implicitly commit the transaction started by the first call to begin(). begin() refers to internal library calls not actual PHP user API calls. | Since 1.2.0.
gtid_implicit_commit_injections_failure | Number of failed SQL injections when implicit commit is detected as part of the plugins client-side global transaction id emulation. Implicit commit happens, for example, when autocommit has been turned off, a query is executed and autocommit is enabled again. In that case, the statement will be committed by the server and SQL to maintain is injected before the autocommit is re-enabled. | Since 1.2.0.
transient_error_retries | How often an operation has been retried when a transient error was detected. See also, transient_error plugin configuration file setting. | Since 1.6.0.
fabric_sharding_lookup_servers_success | Number of successful sharding.lookup_servers remote procedure calls to MySQL Fabric. A call is considered successful if the plugin could reach MySQL Fabric and got any reply. The reply itself may or may not be understood by the plugin. Success refers to the network transport only. If the reply was not understood or indicates a valid error condition, fabric_sharding_lookup_servers_xml_failure gets incremented. | Since 1.6.0.
fabric_sharding_lookup_servers_failure | Number of failed sharding.lookup_servers remote procedure calls to MySQL Fabric. A remote procedure call is considered failed if there was a network error in connecting to, writing to or reading from MySQL Fabric. | Since 1.6.0.
fabric_sharding_lookup_servers_time_total | Time spent connecting to,writing to and reading from MySQL Fabrich during the sharding.lookup_servers remote procedure call. The value is aggregated for all calls. Time is measured in microseconds. | Since 1.6.0.
fabric_sharding_lookup_servers_bytes_total | Total number of bytes received from MySQL Fabric in reply to sharding.lookup_servers calls. | Since 1.6.0.
fabric_sharding_lookup_servers_xml_failure | How often a reply from MySQL Fabric to sharding.lookup_servers calls was not understood. Please note, the current experimental implementation does not distinguish between valid errors returned and malformed replies. | Since 1.6.0.
xa_begin | How many XA/distributed transactions have been started using mysqlnd_ms_xa_begin(). | Since 1.6.0.
xa_commit_success | How many XA/distributed transactions have been successfully committed using mysqlnd_ms_xa_commit(). | Since 1.6.0.
xa_commit_failure | How many XA/distributed transactions failed to commit during mysqlnd_ms_xa_commit(). | Since 1.6.0.
xa_rollback_success | How many XA/distributed transactions have been successfully rolled back using mysqlnd_ms_xa_rollback(). The figure does not include implict rollbacks performed as a result of mysqlnd_ms_xa_commit() failure. | Since 1.6.0.
xa_rollback_failure | How many XA/distributed transactions could not be rolled back. This includes failures of mysqlnd_ms_xa_rollback() but also failured during rollback when closing a connection, if rollback_on_close is set. Please, see also xa_rollback_on_close below. | Since 1.6.0.
xa_participants | Total number of participants in any XA transaction started with mysqlnd_ms_xa_begin(). | Since 1.6.0.
xa_rollback_on_close | How many XA transactions have been rolled back implicitly when a connection was close and rollback_on_close is set. Depending on your coding policies, this may hint a flaw in your code as you may prefer to explicitly clean up resources. | Since 1.6.0.
pool_masters_total | Number of master servers (connections) in the internal connection pool. | Since 1.6.0.
pool_slaves_total | Number of slave servers (connections) in the internal connection pool. | Since 1.6.0.
pool_masters_active | Number of master servers (connections) from the internal connection pool which are currently used for picking a connection. | Since 1.6.0.
pool_slaves_active | Number of slave servers (connections) from the internal connection pool which are currently used for picking a connection. | Since 1.6.0.
pool_updates | How often the active connection list has been replaced and a new set of master and slave servers had been installed. | Since 1.6.0.
pool_master_reactivated | How often a master connection has been reused after being flushed from the active list. | Since 1.6.0.
pool_slave_reactivated | How often a slave connection has been reused after being flushed from the active list. | Since 1.6.0.

Exemplos

Exemplo #1 mysqlnd_ms_get_stats() example

<?php
printf("mysqlnd_ms.enable = %d\n", ini_get("mysqlnd_ms.enable"));
printf("mysqlnd_ms.collect_statistics = %d\n", ini_get("mysqlnd_ms.collect_statistics"));
var_dump(mysqlnd_ms_get_stats());
?>

O exemplo acima irá imprimir:

mysqlnd_ms.enable = 1
mysqlnd_ms.collect_statistics = 1
array(26) {
  ["use_slave"]=>
  string(1) "0"
  ["use_master"]=>
  string(1) "0"
  ["use_slave_guess"]=>
  string(1) "0"
  ["use_master_guess"]=>
  string(1) "0"
  ["use_slave_sql_hint"]=>
  string(1) "0"
  ["use_master_sql_hint"]=>
  string(1) "0"
  ["use_last_used_sql_hint"]=>
  string(1) "0"
  ["use_slave_callback"]=>
  string(1) "0"
  ["use_master_callback"]=>
  string(1) "0"
  ["non_lazy_connections_slave_success"]=>
  string(1) "0"
  ["non_lazy_connections_slave_failure"]=>
  string(1) "0"
  ["non_lazy_connections_master_success"]=>
  string(1) "0"
  ["non_lazy_connections_master_failure"]=>
  string(1) "0"
  ["lazy_connections_slave_success"]=>
  string(1) "0"
  ["lazy_connections_slave_failure"]=>
  string(1) "0"
  ["lazy_connections_master_success"]=>
  string(1) "0"
  ["lazy_connections_master_failure"]=>
  string(1) "0"
  ["trx_autocommit_on"]=>
  string(1) "0"
  ["trx_autocommit_off"]=>
  string(1) "0"
  ["trx_master_forced"]=>
  string(1) "0"
  ["gtid_autocommit_injections_success"]=>
  string(1) "0"
  ["gtid_autocommit_injections_failure"]=>
  string(1) "0"
  ["gtid_commit_injections_success"]=>
  string(1) "0"
  ["gtid_commit_injections_failure"]=>
  string(1) "0"
  ["gtid_implicit_commit_injections_success"]=>
  string(1) "0"
  ["gtid_implicit_commit_injections_failure"]=>
  string(1) "0"
  ["transient_error_retries"]=>
  string(1) "0"
}

Veja Também

  • Runtime configuration
  • mysqlnd_ms.collect_statistics
  • mysqlnd_ms.enable
  • Monitoring


Finds whether a table name matches a wildcard pattern or not

  • « mysqlnd_ms_get_stats
  • mysqlnd_ms_query_is_select »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Finds whether a table name matches a wildcard pattern or not

mysqlnd_ms_match_wild

(PECL mysqlnd_ms >= 1.1.0)

mysqlnd_ms_match_wild — Finds whether a table name matches a wildcard pattern or not

Descrição

mysqlnd_ms_match_wild ( string $table_name , string $wildcard ) : bool

Finds whether a table name matches a wildcard pattern or not.

This function is not of much practical relevance with PECL mysqlnd_ms 1.1.0 because the plugin does not support MySQL replication table filtering yet.

Parâmetros

table_name

The table name to check if it is matched by the wildcard.

wildcard

The wildcard pattern to check against the table name. The wildcard pattern supports the same placeholders as MySQL replication filters do.

MySQL replication filters can be configured by using the MySQL Server configuration options --replicate-wild-do-table and --replicate-wild-do-db. Please, consult the MySQL Reference Manual to learn more about this MySQL Server feature.

The supported placeholders are:

  • % - zero or more literals
  • _ - one literal

Placeholders can be escaped using \.

Valor Retornado

Returns true table_name is matched by wildcard. Otherwise, returns false

Exemplos

Exemplo #1 mysqlnd_ms_match_wild() example

<?php
var_dump(mysqlnd_ms_match_wild("schema_name.table_name", "schema%"));
var_dump(mysqlnd_ms_match_wild("abc", "_"));
var_dump(mysqlnd_ms_match_wild("table1", "table_"));
var_dump(mysqlnd_ms_match_wild("asia_customers", "%customers"));
var_dump(mysqlnd_ms_match_wild("funny%table","funny\%table"));
var_dump(mysqlnd_ms_match_wild("funnytable", "funny%table"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)


Find whether to send the query to the master, the slave or the last used MySQL server

  • « mysqlnd_ms_match_wild
  • mysqlnd_ms_set_qos »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Find whether to send the query to the master, the slave or the last used MySQL server

mysqlnd_ms_query_is_select

(PECL mysqlnd_ms >= 1.0.0)

mysqlnd_ms_query_is_select — Find whether to send the query to the master, the slave or the last used MySQL server

Descrição

mysqlnd_ms_query_is_select ( string $query ) : int

Finds whether to send the query to the master, the slave or the last used MySQL server.

The plugins built-in read/write split mechanism will be used to analyze the query string to make a recommendation where to send the query. The built-in read/write split mechanism is very basic and simple. The plugin will recommend sending all queries to the MySQL replication master server but those which begin with SELECT, or begin with a SQL hint which enforces sending the query to a slave server. Due to the basic but fast algorithm the plugin may propose to run some read-only statements such as SHOW TABLES on the replication master.

Parâmetros

query

Query string to test.

Valor Retornado

A return value of MYSQLND_MS_QUERY_USE_MASTER indicates that the query should be send to the MySQL replication master server. The function returns a value of MYSQLND_MS_QUERY_USE_SLAVE if the query can be run on a slave because it is considered read-only. A value of MYSQLND_MS_QUERY_USE_LAST_USED is returned to recommend running the query on the last used server. This can either be a MySQL replication master server or a MySQL replication slave server.

If read write splitting has been disabled by setting mysqlnd_ms.disable_rw_split, the function will always return MYSQLND_MS_QUERY_USE_MASTER or MYSQLND_MS_QUERY_USE_LAST_USED.

Exemplos

Exemplo #1 mysqlnd_ms_query_is_select() example

<?php
function is_select($query)
{
 switch (mysqlnd_ms_query_is_select($query))
 {
  case MYSQLND_MS_QUERY_USE_MASTER:
   printf("'%s' should be run on the master.\n", $query);
   break;
  case MYSQLND_MS_QUERY_USE_SLAVE:
   printf("'%s' should be run on a slave.\n", $query);
   break;
  case MYSQLND_MS_QUERY_USE_LAST_USED:
   printf("'%s' should be run on the server that has run the previous query\n", $query);
   break;
  default:
   printf("No suggestion where to run the '%s', fallback to master recommended\n", $query);
   break;
 }
}

is_select("INSERT INTO test(id) VALUES (1)");
is_select("SELECT 1 FROM DUAL");
is_select("/*" . MYSQLND_MS_LAST_USED_SWITCH . "*/SELECT 2 FROM DUAL");
?>

O exemplo acima irá imprimir:

INSERT INTO test(id) VALUES (1) should be run on the master.
SELECT 1 FROM DUAL should be run on a slave.
/*ms=last_used*/SELECT 2 FROM DUAL should be run on the server that has run the previous query

Veja Também

  • Predefined Constants
  • user filter
  • Runtime configuration
  • mysqlnd_ms.disable_rw_split
  • mysqlnd_ms.enable


Sets the quality of service needed from the cluster

  • « mysqlnd_ms_query_is_select
  • mysqlnd_ms_set_user_pick_server »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Sets the quality of service needed from the cluster

mysqlnd_ms_set_qos

(PECL mysqlnd_ms < 1.2.0)

mysqlnd_ms_set_qos — Sets the quality of service needed from the cluster

Descrição

mysqlnd_ms_set_qos ( mixed $connection , int $service_level , int $service_level_option = ? , mixed $option_value = ? ) : bool

Sets the quality of service needed from the cluster. A database cluster delivers a certain quality of service to the user depending on its architecture. A major aspect of the quality of service is the consistency level the cluster can offer. An asynchronous MySQL replication cluster defaults to eventual consistency for slave reads: a slave may serve stale data, current data, or it may have not the requested data at all, because it is not synchronous to the master. In a MySQL replication cluster, only master accesses can give strong consistency, which promises that all clients see each others changes.

PECL/mysqlnd_ms hides the complexity of choosing appropriate nodes to achieve a certain level of service from the cluster. The "Quality of Service" filter implements the necessary logic. The filter can either be configured in the plugins configuration file, or at runtime using mysqlnd_ms_set_qos().

Similar results can be achieved with PECL mysqlnd_ms < 1.2.0, if using SQL hints to force the use of a certain type of node or using the master_on_write plugin configuration option. The first requires more code and causes more work on the application side. The latter is less refined than using the quality of service filter. Settings made through the function call can be reversed, as shown in the example below. The example temporarily switches to a higher service level (session consistency, read your writes) and returns back to the clusters default after it has performed all operations that require the better service. This way, read load on the master can be minimized compared to using master_on_write, which would continue using the master after the first write.

Since 1.5.0 calls will fail when done in the middle of a transaction if transaction stickiness is enabled and transaction boundaries have been detected. properly.

Parâmetros

connection

A PECL/mysqlnd_ms connection handle to a MySQL server of the type PDO_MYSQL, mysqli or ext/mysql for which a service level is to be set. The connection handle is obtained when opening a connection with a host name that matches a mysqlnd_ms configuration file entry using any of the above three MySQL driver extensions.

service_level

The requested service level: MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL, MYSQLND_MS_QOS_CONSISTENCY_SESSION or MYSQLND_MS_QOS_CONSISTENCY_STRONG.

service_level_option

An option to parameterize the requested service level. The option can either be MYSQLND_MS_QOS_OPTION_GTID or MYSQLND_MS_QOS_OPTION_AGE.

The option MYSQLND_MS_QOS_OPTION_GTID can be used to refine the service level MYSQLND_MS_QOS_CONSISTENCY_SESSION. It must be combined with a fourth function parameter, the option_value. The option_value shall be a global transaction ID obtained from mysqlnd_ms_get_last_gtid(). If set, the plugin considers both master servers and asynchronous slaves for session consistency (read your writes). Otherwise, only masters are used to achieve session consistency. A slave is considered up-to-date and checked if it has already replicated the global transaction ID from option_value. Please note, searching appropriate slaves is an expensive and slow operation. Use the feature sparsely, if the master cannot handle the read load alone.

The MYSQLND_MS_QOS_OPTION_AGE option can be combined with the MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL service level, to filter out asynchronous slaves that lag more seconds behind the master than option_value. If set, the plugin will only consider slaves for reading if SHOW SLAVE STATUS reports Slave_IO_Running=Yes, Slave_SQL_Running=Yes and Seconds_Behind_Master <= option_value. Please note, searching appropriate slaves is an expensive and slow operation. Use the feature sparsely in version 1.2.0. Future versions may improve the algorithm used to identify candidates. Please, see the MySQL reference manual about the precision, accuracy and limitations of the MySQL administrative command SHOW SLAVE STATUS.

option_value

Parameter value for the service level option. See also the service_level_option parameter.

Valor Retornado

Returns true if the connections service level has been switched to the requested. Otherwise, returns false

Notas

Nota:

mysqlnd_ms_set_qos() requires PHP >= 5.4.0 and PECL mysqlnd_ms >= 1.2.0. Internally, it is using a mysqlnd library C functionality not available with PHP 5.3.

Please note, all MySQL 5.6 production versions do not provide clients with enough information to use GTIDs for enforcing session consistency. In the worst case, the plugin will choose the master only.

Exemplos

Exemplo #1 mysqlnd_ms_set_qos() example

<?php
/* Open mysqlnd_ms connection using mysqli, PDO_MySQL or mysql extension */
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli)
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Session consistency: read your writes */
$ret = mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION);
if (!$ret)
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* Will use master and return fresh data, client can see his last write */
if (!$res = $mysqli->query("SELECT item, price FROM orders WHERE order_id = 1"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* Back to default: use of all slaves and masters permitted, stale data can happen */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
?>

Veja Também

  • mysqlnd_ms_get_last_gtid() - Returns the latest global transaction ID
  • Service level and consistency concept
  • Filter concept


Sets a callback for user-defined read/write splitting

  • « mysqlnd_ms_set_qos
  • mysqlnd_ms_xa_begin »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Sets a callback for user-defined read/write splitting

mysqlnd_ms_set_user_pick_server

(PECL mysqlnd_ms < 1.1.0)

mysqlnd_ms_set_user_pick_server — Sets a callback for user-defined read/write splitting

Descrição

mysqlnd_ms_set_user_pick_server ( string $function ) : bool

Sets a callback for user-defined read/write splitting. The plugin will call the callback only if pick[]=user is the default rule for server picking in the relevant section of the plugins configuration file.

The plugins built-in read/write query split mechanism decisions can be overwritten in two ways. The easiest way is to prepend the query string with the SQL hints MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH or MYSQLND_MS_LAST_USED_SWITCH. Using SQL hints one can control, for example, whether a query shall be send to the MySQL replication master server or one of the slave servers. By help of SQL hints it is not possible to pick a certain slave server for query execution.

Full control on server selection can be gained using a callback function. Use of a callback is recommended to expert users only because the callback has to cover all cases otherwise handled by the plugin.

The plugin will invoke the callback function for selecting a server from the lists of configured master and slave servers. The callback function inspects the query to run and picks a server for query execution by returning the hosts URI, as found in the master and slave list.

If the lazy connections are enabled and the callback chooses a slave server for which no connection has been established so far and establishing the connection to the slave fails, the plugin will return an error upon the next action on the failed connection, for example, when running a query. It is the responsibility of the application developer to handle the error. For example, the application can re-run the query to trigger a new server selection and callback invocation. If so, the callback must make sure to select a different slave, or check slave availability, before returning to the plugin to prevent an endless loop.

Parâmetros

function

The function to be called. Class methods may also be invoked statically using this function by passing array($classname, $methodname) to this parameter. Additionally class methods of an object instance may be called by passing array($objectinstance, $methodname) to this parameter.

Valor Retornado

Host to run the query on. The host URI is to be taken from the master and slave connection lists passed to the callback function. If callback returns a value neither found in the master nor in the slave connection lists the plugin will fallback to the second pick method configured via the pick[] setting in the plugin configuration file. If not second pick method is given, the plugin falls back to the build-in default pick method for server selection.

Notas

Nota:

mysqlnd_ms_set_user_pick_server() is available with PECL mysqlnd_ms < 1.1.0. It has been replaced by the user filter. Please, check the Change History for upgrade notes.

Exemplos

Exemplo #1 mysqlnd_ms_set_user_pick_server() example

[myapp]
master[] = localhost
slave[] = 192.168.2.27:3306
slave[] = 192.168.78.136:3306
pick[] = user
<?php

function pick_server($connected, $query, $master, $slaves, $last_used)
{
 static $slave_idx = 0;
 static $num_slaves = NULL;
 if (is_null($num_slaves))
  $num_slaves = count($slaves);

 /* default: fallback to the plugins build-in logic */
 $ret = NULL;

 printf("User has connected to '%s'...\n", $connected);
 printf("... deciding where to run '%s'\n", $query);

 $where = mysqlnd_ms_query_is_select($query);
 switch ($where)
 {
  case MYSQLND_MS_QUERY_USE_MASTER:
   printf("... using master\n");
   $ret = $master[0];
   break;
  case MYSQLND_MS_QUERY_USE_SLAVE:
   /* SELECT or SQL hint for using slave */
   if (stristr($query, "FROM table_on_slave_a_only"))
   {
    /* a table which is only on the first configured slave  */
    printf("... access to table available only on slave A detected\n");
    $ret = $slaves[0];
   }
   else
   {
    /* round robin */
    printf("... some read-only query for a slave\n");
    $ret = $slaves[$slave_idx++ % $num_slaves];
   }
   break;
  case MYSQLND_MS_QUERY_LAST_USED:
   printf("... using last used server\n");
   $ret = $last_used;
   break;
 }

 printf("... ret = '%s'\n", $ret);
 return $ret;
}

mysqlnd_ms_set_user_pick_server("pick_server");

$mysqli = new mysqli("myapp", "root", "root", "test");

if (!($res = $mysqli->query("SELECT 1 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT 2 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT * FROM table_on_slave_a_only")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

$mysqli->close();
?>

O exemplo acima irá imprimir:

User has connected to 'myapp'...
... deciding where to run 'SELECT 1 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.2.27:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT 2 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.78.136:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT * FROM table_on_slave_a_only'
... access to table available only on slave A detected
... ret = 'tcp://192.168.2.27:3306'

Veja Também

  • mysqlnd_ms_query_is_select() - Find whether to send the query to the master, the slave or the last used MySQL server
  • Filter concept
  • user filter


Starts a distributed/XA transaction among MySQL servers

  • « mysqlnd_ms_set_user_pick_server
  • mysqlnd_ms_xa_commit »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Starts a distributed/XA transaction among MySQL servers

mysqlnd_ms_xa_begin

(PECL mysqlnd_ms < 1.6.0)

mysqlnd_ms_xa_begin — Starts a distributed/XA transaction among MySQL servers

Descrição

mysqlnd_ms_xa_begin ( mixed $connection , string $gtrid , int $timeout = ? ) : int

Starts a XA transaction among MySQL servers. PECL/mysqlnd_ms acts as a transaction coordinator the distributed transaction.

Once a global transaction has been started, the plugin injects appropriate XA BEGIN SQL statements on all MySQL servers used in the following. The global transaction is either ended by calling mysqlnd_ms_xa_commit(), mysqlnd_ms_xa_rollback() or by an implicit rollback in case of an error.

During a global transaction, the plugin tracks all server switches, for example, when switching from one MySQL shard to another MySQL shard. Immediately before a query is run on a server that has not been participating in the global transaction yet, XA BEGIN is executed on the server. From a users perspective the injection happens during a call to a query execution function such as mysqli_query(). Should the injection fail an error is reported to the caller of the query execution function. The failing server does not become a participant in the global transaction. The user may retry executing a query on the server and hereby retry injecting XA BEGIN, abort the global transaction because not all required servers can participate, or ignore and continue the global without the failed server.

Reasons to fail executing XA BEGIN include but are not limited to a server being unreachable or the server having an open, concurrent XA transaction using the same xid.

Please note, global and local transactions are mutually exclusive. You cannot start a XA transaction when you have a local transaction open. The local transaction must be ended first. The plugin tries to detect this conflict as early as possible. It monitors API calls for controlling local transactions to learn about the current state. However, if using SQL statements for local transactions such as BEGIN, the plugin may not know the current state and the conflict is not detected before XA BEGIN is injected and executed.

The use of other XA resources but MySQL servers is not supported by the function. To carry out a global transaction among, for example, a MySQL server and another vendors database system, you should issue the systems SQL commands yourself.

Nota: Experimental

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments.

Parâmetros

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

gtrid

Global transaction identifier (gtrid). The gtrid is a binary string up to 64 bytes long. Please note, depending on your character set settings, 64 characters may require more than 64 bytes to store.

In accordance with the MySQL SQL syntax, XA transactions use identifiers made of three parts. An xid consists of a global transaction identifier (gtrid), a branch qualifier (bqual) and a format identifier (formatID). Only the global transaction identifier can and needs to be set.

The branch qualifier and format identifier are set automatically. The details should be considered implementation dependent, which may change without prior notice. In version 1.6 the branch qualifier is consecutive number which is incremented whenever a participant joins the global transaction.

timeout

Timeout in seconds. The default value is 60 seconds.

The timeout is a hint to the garbage collection. If a transaction is recorded to take longer than expected, the garbage collection begins checking the transactions status.

Setting a low value may make the garbage collection check the progress too often. Please note, checking the status of a global transaction may involve connecting to all recorded participants and possibly issuing queries on the servers.

Valor Retornado

Returns true if there is no open local or global transaction and a new global transaction can be started. Otherwise, returns false

Veja Também

  • Quickstart XA/Distributed transactions
  • Runtime configuration
  • mysqlnd_ms_get_stats() - Returns query distribution and connection statistics


Commits a distributed/XA transaction among MySQL servers

  • « mysqlnd_ms_xa_begin
  • mysqlnd_ms_xa_gc »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Commits a distributed/XA transaction among MySQL servers

mysqlnd_ms_xa_commit

(PECL mysqlnd_ms < 1.6.0)

mysqlnd_ms_xa_commit — Commits a distributed/XA transaction among MySQL servers

Descrição

mysqlnd_ms_xa_commit ( mixed $connection , string $gtrid ) : bool

Commits a global transaction among MySQL servers started by mysqlnd_ms_xa_begin().

If any of the global transaction participants fails to commit an implicit rollback is performed. It may happen that not all cases can be handled during the rollback. For example, no attempts will be made to reconnect to a participant after the connection to the participant has been lost. Solving cases that cannot easily be rolled back is left to the garbage collection.

Nota: Experimental

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments.

Parâmetros

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

gtrid

Global transaction identifier (gtrid).

Valor Retornado

Returns true if the global transaction has been committed. Otherwise, returns false

Veja Também

  • Quickstart XA/Distributed transactions
  • Runtime configuration
  • mysqlnd_ms_get_stats() - Returns query distribution and connection statistics


Garbage collects unfinished XA transactions after severe errors

  • « mysqlnd_ms_xa_commit
  • mysqlnd_ms_xa_rollback »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Garbage collects unfinished XA transactions after severe errors

mysqlnd_ms_xa_gc

(PECL mysqlnd_ms < 1.6.0)

mysqlnd_ms_xa_gc — Garbage collects unfinished XA transactions after severe errors

Descrição

mysqlnd_ms_xa_gc ( mixed $connection , string $gtrid = ? , bool $ignore_max_retries = ? ) : int

Garbage collects unfinished XA transactions.

The XA protocol is a blocking protocol. There exist cases when servers participating in a global transaction cannot make progress when the transaction coordinator crashes or disconnects. In such a case, the MySQL servers keep waiting for instructions to finish the XA transaction in question. Because transactions occupy resources, transactions should always be terminated properly.

Garbage collection requires configuring a state store to track global transactions. Should a PHP client crash in the middle of a transaction and a new PHP client be started, then the built-in garbage collection can learn about the aborted global transaction and terminate it. If you do not configure a state store, the garbage collection cannot perform any cleanup tasks.

The state store should be crash-safe and be highly available to survive its own crash. Currently, only MySQL is supported as a state store.

Garbage collection can also be performed automatically in the background. See the plugin configuration directive garbage_collection for details.

Nota: Experimental

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments.

Parâmetros

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

gtrid

Global transaction identifier (gtrid). If given, the garbage collection considers the transaction only. Otherwise, the state store is scanned for any unfinished transaction.

ignore_max_retries

Whether to ignore the plugin configuration max_retries setting. If garbage collection continuously fails and the max_retries limit is reached prior to finishing the failed global transaction, you can attempt further runs prior to investigating the cause and solving the issue manually by issuing appropriate SQL statements on the participants. Setting the parameter has the same effect as temporarily setting max_retries = 0.

Valor Retornado

Returns true if garbage collection was successful. Otherwise, returns false

Veja Também

  • Quickstart XA/Distributed transactions
  • Runtime configuration
  • State store configuration
  • mysqlnd_ms_get_stats() - Returns query distribution and connection statistics


Rolls back a distributed/XA transaction among MySQL servers

  • « mysqlnd_ms_xa_gc
  • Change History »
  • PHP Manual
  • Mysqlnd_ms Funções
  • Rolls back a distributed/XA transaction among MySQL servers

mysqlnd_ms_xa_rollback

(PECL mysqlnd_ms < 1.6.0)

mysqlnd_ms_xa_rollback — Rolls back a distributed/XA transaction among MySQL servers

Descrição

mysqlnd_ms_xa_rollback ( mixed $connection , string $gtrid ) : int

Rolls back a global transaction among MySQL servers started by mysqlnd_ms_xa_begin().

If any of the global transaction participants fails to rollback the situation is left to be solved by the garbage collection.

Nota: Experimental

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments.

Parâmetros

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

gtrid

Global transaction identifier (gtrid).

Valor Retornado

Returns true if the global transaction has been rolled back. Otherwise, returns false

Veja Também

  • Quickstart XA/Distributed transactions
  • Runtime configuration
  • mysqlnd_ms_get_stats() - Returns query distribution and connection statistics


Change History

Índice

  • PECL/mysqlnd_ms 1.6 series
  • PECL/mysqlnd_ms 1.5 series
  • PECL/mysqlnd_ms 1.4 series
  • PECL/mysqlnd_ms 1.3 series
  • PECL/mysqlnd_ms 1.2 series
  • PECL/mysqlnd_ms 1.1 series
  • PECL/mysqlnd_ms 1.0 series

This change history is a high level summary of selected changes that may impact applications and/or break backwards compatibility.

See also the CHANGES file in the source distribution for a complete list of changes.


PECL/mysqlnd_ms 1.6 series

1.6.0-alpha

  • Release date: TBD
  • Motto/theme: Maintenance and initial MySQL Fabric support

Nota:

This is the current development series. All features are at an early stage. Changes may happen at any time without prior notice. Please, do not use this version in production environments.

The documentation may not reflect all changes yet.

Bug fixes

  • Won't fix: #66616 R/W split fails: QOS with mysqlnd_get_last_gtid with built-in MySQL GTID

    This is not a bug in the plugins implementation but a server side feature limitation not considered and documented before. MySQL 5.6 built-in GTIDs cannot be used to ensure session consistency when reading from slaves in all cases. In the worst case the plugin will not consider using the slaves and fallback to using the master. There will be no wrong results but no benefit from doing GTID checks either.

  • Fixed #66064 - Random once load balancer ignoring weights

    Due to a config parsing bug random load balancing has ignored node weights if, and only if, the sticky flag was set (random once).

  • Fixed #65496 - Wrong check for slave delay

    The quality of service filter has erroneously ignored slaves that lag for zero (0) seconds if a any maximum lag had been set. Although a slave was not lagging behind, it was excluded from the load balancing list if a maximum age was set by the QoS filter. This was due to using the wrong comparison operator in the source of the filter.

  • Fixed #65408 - Compile failure with -Werror=format-security

Feature changes

  • Introduced an internal connection pool. When using Fabric and switching from shard group A to shard group B, we are replacing the entire list of masters and slaves. This troubles the connections state alignment logic and some filters. Some filters cache information on the master and slave lists. The new internal connection pool abstraction allows us to inform the filters of changes, hence they can update their caches.

    Later on, the pool can also be used to reduce connection overhead. Assume you are switching from a shard group to another and back again. Whenever the switch is done, the pool's active server (and connection) lists are replaced. However, no longer used connections are not necessarily closed immediately but can be kept in the pool for later reuse.

    Please note, the connection pool is internalat this point. There are some new statistics to monitor it. However, you cannot yet configure pool size of behaviour.

  • Added a basic distributed transaction abstraction. XA transactions can are supported ever since using standard SQL calls. This is inconvenient as XA participants must be managed manually. PECL/mysqlnd_ms introduces API calls to control XA transaction among MySQL servers. When using the new functions, PECL/mysqlnd_ms acts as a transaction coordinator. After starting a distributed transaction, the plugin tracks all servers involved until the transaction is ended and issues appropriate SQL statements on the XA participants.

    This is useful, for example, when using Fabric and sharding. When using Fabric the actual shard servers involved in a business transaction may not be known in advance. Thus, manually controlling a transaction that spawns multiple shards becomes difficult. Please, be warned about current limitations.

  • Introduced automatic retry loop for transient errors and corresponding statistic to count the number of implicit retries. Some distributed database clusters use transient errors to hint a client to retry its operation in a bit. Most often, the client is then supposed to halt execution (sleep) for a short moment before retrying the desired operation. Immediately failing over to another node is not necessary in response to the error. Instead, a retry loop can be performed. Common situation when using MySQL Cluster.

  • Introduced automatic retry loop for transient errors and corresponding statistic to count the number of implicit retries. Some distributed database clusters use transient errors to hint a client to retry its operation in a bit. Most often, the client is then supposed to halt execution (sleep) for a short moment before retrying the desired operation. Immediately failing over to another node is not necessary in response to the error. Instead, a retry loop can be performed. Common situation when using MySQL Cluster.

  • Introduced most basic support for the MySQL Fabric High Availability and sharding framework.

    Please, consider this pre-alpha quality. Both the server side framework and the client side code is supposed to work flawless considering the MySQL Fabric quickstart examples only. However, testing has not been performed to the level of prior plugin alpha releases. Either sides are moving targets, API changes may happen at any time without prior warning.

    As this is work in progress, the manual may not yet reflect allow feature limitations and known bugs.

  • New statistics to monitor the Fabric XML RPC call sharding.lookup_servers: fabric_sharding_lookup_servers_success, fabric_sharding_lookup_servers_failure, fabric_sharding_lookup_servers_time_total, fabric_sharding_lookup_servers_bytes_total, fabric_sharding_lookup_servers_xml_failure.

  • New functions related to MySQL Fabric:
mysqlnd_ms_fabric_select_shard(),
mysqlnd_ms_fabric_select_global(),
mysqlnd_ms_dump_servers().


PECL/mysqlnd_ms 1.5 series

1.5.1-stable

  • Release date: 06/2013
  • Motto/theme: Sharding support, improved transaction support

Nota:

This is the current stable series. Use this version in production environments.

The documentation is complete.

1.5.0-alpha

  • Release date: 03/2013
  • Motto/theme: Sharding support, improved transaction support

Bug fixes

  • Fixed #60605 PHP segmentation fault when mysqlnd_ms is enabled.

  • Setting transaction stickiness disables all load balancing, including automatic failover, for the duration of a transaction. So far connection switches could have happened in the middle of a transaction in multi-master configurations and during automatic failover although transaction monitoring had detected transaction boundaries properly.

  • BC break and bug fix. SQL hints enforcing the use of a specific kind of server (MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH, MYSQLND_MS_LAST_USED_SWITCH) are ignored for the duration of a transaction of transaction stickiness is enabled and transaction boundaries have been detected properly.

    This is a change in behaviour. However, it is also a bug fix and a step to align behaviour. If, in previous versions, transaction stickiness, one of the above listed SQL hints and the quality of service filtering was combined it could happened that the SQL hints got ignored. In some case the SQL hints did work, in other cases they did not. The new behaviour is more consistent. SQL hints will always be ignore for the duration of a transaction, if transaction stickiness is enabled.

    Please note, transaction boundary detection continues to be based on API call monitoring. SQL commands controlling transactions are not monitored.

  • BC break and bug fix. Calls to mysqlnd_ms_set_qos() will fail when done in the middle of a transaction if transaction stickiness is enabled. Connection switches are not allowed for the duration of a transaction. Changing the quality of service likely results on a different set of servers qualifying for query execution, possibly making it necessary to switch connections. Thus, the call is not allowed in during an active transaction. The quality of server can, however, be changed in between transactions.

Feature changes

  • Introduced the node_group filter. The filter lets you organize servers (master and slaves) into groups. Queries can be directed to a certain group of servers by prefixing the query statement with a SQL hint/comment that contains the groups configured name. Grouping can be used for partitioning and sharding, and also to optimize for local caching. In the case of sharding, a group name can be thought of like a shard key. All queries for a given shard key will be executed on the configured shard. Note: both the client and server must support sharding for sharding to function with mysqlnd_ms.

  • Extended configuration file validation during PHP startup (RINIT). An E_WARNING level error will be thrown if the configuration file can not be read (permissions), is empty, or the file (JSON) could not be parsed. Warnings may appear in log files, which depending on how PHP is configured.

    Distributions that aim to provide a pre-configured setup, including a configuration file stub, are asked to put {} into the configuration file to prevent this warning about an invalid configuration file.

    Further configuration file validation is done when parsing sections upon opening a connection. Please, note that there may still be situations when an invalid plugin configuration file does not lead to proper error messages but a failure to connect.

  • As of PHP 5.5.0, improved support for transaction boundaries detection was added for mysqli. The mysqli extension has been modified to use the new C API calls of the mysqlnd library to begin, commit, and rollback a transaction or savepoint. If trx_stickiness is used to enable transaction aware load balancing, the mysqli_begin(), mysqli_commit() and mysqli_rollback() functions will now be monitered by the plugin, to go along with the mysqli_autocommit() function that was already supported. All SQL features to control transactions are also available through the improved mysqli transaction control related functions. This means that it is not required to issue SQL statements instead of using API calls. Applications using the appropriate API calls can be load balanced by PECL/mysqlnd_ms in a completely transaction-aware way.

    Please note, PDO_MySQL has not been updated yet to utilize the new mysqlnd API calls. Thus, transaction boundary detection with PDO_MySQL continues to be limited to the monitoring by passing in PDO::ATTR_AUTOCOMMIT to PDO::setAttribute().

  • Introduced trx_stickiness=on. This trx_stickiness option differs from trx_stickiness=master as it tries to execute a read-only transaction on a slave, if quality of service (consistency level) allows the use of a slave. Read-only transactions were introduced in MySQL 5.6, and they offer performance gains.

  • Query cache support is considered beta if used with the mysqli API. It should work fine with primary copy based clusters. For all other APIs, this feature continues to be called experimental.

  • The code examples in the mysqlnd_ms source were updated.


PECL/mysqlnd_ms 1.4 series

1.4.2-stable

  • Release date: 08/2012
  • Motto/theme: Tweaking based on user feedback

1.4.1-beta

  • Release date: 08/2012
  • Motto/theme: Tweaking based on user feedback

Bug fixes

  • Fixed build with PHP 5.5

1.4.0-alpha

  • Release date: 07/2012
  • Motto/theme: Tweaking based on user feedback

Feature changes

  • BC break: Renamed plugin configuration setting ini_file to config_file. In early versions the plugin configuration file used ini style. Back then the configuration setting was named accordingly. It has now been renamed to reflect the newer file format and to distinguish it from PHP's own ini file (configuration directives file).

  • Introduced new default charset setting server_charset to allow proper escaping before a connection is opened. This is most useful when using lazy connections, which are a default.

  • Introduced wait_for_gtid_timeout setting to throttle slave reads that need session consistency. If global transaction identifier are used and the service level is set to session consistency, the plugin tries to find up-to-date slaves. The slave status check is done by a SQL statement. If nothing else is set, the slave status is checked only one can the search for more up-to-date slaves continues immediately thereafter. Setting wait_for_gtid_timeout instructs the plugin to poll a slaves status for wait_for_gtid_timeout seconds if the first execution of the SQL statement has shown that the slave is not up-to-date yet. The poll will be done once per second. This way, the plugin will wait for slaves to catch up and throttle the client.

  • New failover strategy loop_before_master. By default the plugin does no failover. It is possible to enable automatic failover if a connection attempt fails. Upto version 1.3 only master strategy existed to failover to a master if a slave connection fails. loop_before_master is similar but tries all other slaves before attempting to connect to the master if a slave connection fails.

    The number of attempts can be limited using the max_retries option. Failed hosts can be remembered and skipped in load balancing for the rest of the web request. max_retries and remember_failed are considered experimental although decent stability is given. Syntax and semantics may change in the future without prior notice.


PECL/mysqlnd_ms 1.3 series

1.3.2-stable

  • Release date: 04/2012
  • Motto/theme: see 1.3.0-alpha

Bug fixes

  • Fixed problem with multi-master where although in a transaction the queries to the master weren't sticky and were spread all over the masters (RR). Still not sticky for Random. Random_once is not affected.

1.3.1-beta

  • Release date: 04/2012
  • Motto/theme: see 1.3.0-alpha

Bug fixes

  • Fixed problem with building together with QC.

1.3.0-alpha

  • Release date: 04/2012
  • Motto/theme: Query caching through quality-of-service concept

The 1.3 series aims to improve the performance of applications and the overall load of an asynchronous MySQL cluster, for example, a MySQL cluster using MySQL Replication. This is done by transparently replacing a slave access with a local cache access, if the application allows it by setting an appropriate quality of service flag. When using MySQL replication a slave can serve stale data. An application using MySQL replication must continue to work correctly with stale data. Given that the application is know to work correctly with stale data, the slave access can transparently be replace with a local cache access.

PECL/mysqlnd_qc serves as a cache backend. PECL/mysqlnd_qc supports use of various storage locations, among others main memory, APC and MEMCACHE.

Feature changes

  • Added cache option to quality-of-service (QoS) filter.

    • New configure option enable-mysqlnd-ms-cache-support
    • New constant MYSQLND_MS_HAVE_CACHE_SUPPORT.
    • New constant MYSQLND_MS_QOS_OPTION_CACHE to be used with mysqlnd_ms_set_qos().

  • Support for built-in global transaction identifier feature of MySQL 5.6.5-m8 or newer.


PECL/mysqlnd_ms 1.2 series

1.2.1-beta

  • Release date: 01/2012
  • Motto/theme: see 1.2.0-alpha

Minor test changes.

1.2.0-alpha

  • Release date: 11/2011
  • Motto/theme: Global Transaction ID injection and quality-of-service concept

In version 1.2 the focus continues to be on supporting MySQL database clusters with asynchronous replication. The plugin tries to make using the cluster introducing a quality-of-service filter which applications can use to define what service quality they need from the cluster. Service levels provided are eventual consistency with optional maximum age/slave slag, session consistency and strong consistency.

Additionally the plugin can do client-side global transaction id injection to make manual master failover easier.

Feature changes

  • Introduced quality-of-service (QoS) filter. Service levels provided by QoS filter:

    • eventual consistency, optional option slave lag
    • session consistency, optional option GTID
    • strong consistency

  • Added the mysqlnd_ms_set_qos() function to set the required connection quality at runtime. The new constants related to mysqlnd_ms_set_qos() are:

    • MYSQLND_MS_QOS_CONSISTENCY_STRONG
    • MYSQLND_MS_QOS_CONSISTENCY_SESSION
    • MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL
    • MYSQLND_MS_QOS_OPTION_GTID
    • MYSQLND_MS_QOS_OPTION_AGE

  • Added client-side global transaction id injection (GTID).

  • New statistics related to GTID:

    • gtid_autocommit_injections_success
    • gtid_autocommit_injections_failure
    • gtid_commit_injections_success
    • gtid_commit_injections_failure
    • gtid_implicit_commit_injections_success
    • gtid_implicit_commit_injections_failure

  • Added mysqlnd_ms_get_last_gtid() to fetch the last global transaction id.

  • Enabled support for multi master without slaves.


PECL/mysqlnd_ms 1.1 series

1.1.0

  • Release date: 09/2011
  • Motto/theme: Cover replication basics with production quality

The 1.1 and 1.0 series expose a similar feature set. Internally, the 1.1 series has been refactored to plan for future feature additions. A new configuration file format has been introduced, and limitations have been lifted. And the code quality and quality assurance has been improved.

Feature changes

  • Added the (chainable) filter concept:

    • BC break: mysqlnd_ms_set_user_pick_server() has been removed. Thehttp://svn.php.net/viewvc/pecl/mysqlnd_ms/trunk/ user filter has been introduced to replace it. The filter offers similar functionality, but see below for an explanation of the differences.

  • New powerful JSON based configuration syntax.
  • Lazy connections improved: security relevant, and state changing commands are covered.
  • Support for (native) prepared statements.

  • New statistics: use_master_guess, use_slave_guess.

    • BC break: Semantics of statistics changed for use_slave, use_master. Future changes are likely. Please see, mysqlnd_ms_get_stats().

  • List of broadcasted messages extended by ssl_set.
  • Library calls now monitored to remember settings for lazy connections: change_user, select_db, set_charset, set_autocommit.
  • Introduced mysqlnd_ms.disable_rw_split. The configuration setting allows using the load balancing and lazy connection functionality independently of read write splitting.

Bug fixes

  • Fixed PECL #22724 - Server switching (mysqlnd_ms_query_is_select() case sensitive)
  • Fixed PECL #22784 - Using mysql_connect and mysql_select_db did not work
  • Fixed PECL #59982 - Unusable extension with --enable-mysqlnd-ms-table-filter. Use of the option is NOT supported. You must not used it. Added note to m4.
  • Fixed Bug #60119 - host="localhost" lost in mysqlnd_ms_get_last_used_connection()

The mysqlnd_ms_set_user_pick_server() function was removed, and replaced in favor of a new user filter. You can no longer set a callback function using mysqlnd_ms_set_user_pick_server() at runtime, but instead have to configure it in the plugins configuration file. The user filter will pass the same arguments to the callback as before. Therefore, you can continue to use the same procedural function as a callback.callback It is no longer possible to use static class methods, or class methods of an object instance, as a callback. Doing so will cause the function executing a statement handled by the plugin to emit an E_RECOVERABLE_ERROR level error, which might look like: "(mysqlnd_ms) Specified callback (picker) is not a valid callback." Note: this may halt your application.


PECL/mysqlnd_ms 1.0 series

1.0.1-alpha

  • Release date: 04/2011
  • Motto/theme: bug fix release

1.0.0-alpha

  • Release date: 04/2011
  • Motto/theme: Cover replication basics to test user feedback

The first release of practical use. It features basic automatic read-write splitting, SQL hints to overrule automatic redirection, load balancing of slave requests, lazy connections, and optional, automatic use of the master after the first write.

The public feature set is close to that of the 1.1 release.

1.0.0-pre-alpha

  • Release date: 09/2010
  • Motto/theme: Proof of concept

Initial check-in. Essentially a demo of the mysqlnd plugin API.


Mysqlnd query result cache plugin

  • Introdução
  • Quickstart and Examples
    • Architecture and Concepts
    • Setup
    • Caching queries
    • Setting the TTL
    • Pattern based caching
    • Slam defense
    • Finding cache candidates
    • Measuring cache efficiency
    • Beyond TTL: user-defined storage
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
  • Constantes pré-definidas
  • mysqlnd_qc Funções
    • mysqlnd_qc_clear_cache — Flush all cache contents
    • mysqlnd_qc_get_available_handlers — Returns a list of available storage handler
    • mysqlnd_qc_get_cache_info — Returns information on the current handler, the number of cache entries and cache entries, if available
    • mysqlnd_qc_get_core_stats — Statistics collected by the core of the query cache
    • mysqlnd_qc_get_normalized_query_trace_log — Returns a normalized query trace log for each query inspected by the query cache
    • mysqlnd_qc_get_query_trace_log — Returns a backtrace for each query inspected by the query cache
    • mysqlnd_qc_set_cache_condition — Set conditions for automatic caching
    • mysqlnd_qc_set_is_select — Installs a callback which decides whether a statement is cached
    • mysqlnd_qc_set_storage_handler — Change current storage handler
    • mysqlnd_qc_set_user_handlers — Sets the callback functions for a user-defined procedural storage handler
  • Change History
    • PECL/mysqlnd_qc 1.2 series
    • PECL/mysqlnd_qc 1.1 series
    • PECL/mysqlnd_qc 1.0 series


Introdução

The mysqlnd query result cache plugin adds easy to use client-side query caching to all PHP MySQL extensions using mysqlnd.

As of version PHP 5.3.3 the MySQL native driver for PHP ( mysqlnd) features an internal plugin C API. C plugins, such as the query cache plugin, can extend the functionality of mysqlnd.

Mysqlnd plugins such as the query cache plugin operate transparent from a user perspective. The cache plugin supports all PHP applications and all PHP MySQL extensions ( mysqli, mysql, PDO_MYSQL). It does not change existing APIs.

No significant application changes are required to cache a query. The cache has two operation modes. It will either cache all queries (not recommended) or only those queries marked with a certain SQL hint (recommended).

Key Features

  • Transparent and therefore easy to use

    • supports all PHP MySQL extensions

    • no API changes

    • very little application changes required

  • Flexible invalidation strategy

    • Time-to-Live (TTL)

    • user-defined

  • Storage with different scope and life-span

    • Default (Hash, process memory)

    • APC

    • MEMCACHE

    • sqlite

    • user-defined

  • Built-in slam defense to prevent cache stampeding.

Limitations

The current 1.0.1 release of PECL mysqlnd_qc does not support PHP 5.4. Version 1.1.0-alpha lifts this limitation.

Prepared statements and unbuffered queries are fully supported. Thus, the plugin is capable of caching all statements issued with mysqli or PDO_MySQL, which are the only two PHP MySQL APIs to offer prepared statement support.

On the name

The shortcut mysqlnd_qc stands for mysqlnd query cache plugin. The name was chosen for a quick-and-dirty proof-of-concept. In the beginning the developers did not expect to continue using the code base. Sometimes PECL/mysqlnd_qc has also been called client-side query result set cache.


Quickstart and Examples

Índice

  • Architecture and Concepts
  • Setup
  • Caching queries
  • Setting the TTL
  • Pattern based caching
  • Slam defense
  • Finding cache candidates
  • Measuring cache efficiency
  • Beyond TTL: user-defined storage

The mysqlnd query cache plugin is easy to use. This quickstart will demo typical use-cases, and provide practical advice on getting started.

It is strongly recommended to read the reference sections in addition to the quickstart. It is safe to begin with the quickstart. However, before using the plugin in mission critical environments we urge you to read additionally the background information from the reference sections.

Most of the examples use the mysqli extension because it is the most feature complete PHP MySQL extension. However, the plugin can be used with any PHP MySQL extension that is using the mysqlnd library.


Architecture and Concepts

The query cache plugin is implemented as a PHP extension. It is written in C and operates under the hood of PHP. During the startup of the PHP interpreter, it gets registered as a mysqlnd plugin to replace selected mysqlnd C methods. Hereby, it can change the behaviour of any PHP MySQL extension (mysqli, PDO_MYSQL, mysql) compiled to use the mysqlnd library without changing the extensions API. This makes the plugin compatible with each and every PHP MySQL application. Because existing APIs are not changed, it is almost transparent to use. Please, see the mysqlnd plugin API description for a discussion of the advantages of the plugin architecture and a comparison with proxy based solutions.

Transparent to use

At PHP run time PECL/mysqlnd_qc can proxy queries send from PHP (mysqlnd) to the MySQL server. It then inspects the statement string to find whether it shall cache its results. If so, result set is cached using a storage handler and further executions of the statement are served from the cache for a user-defined period. The Time to Live (TTL) of the cache entry can either be set globally or on a per statement basis.

A statement is either cached if the plugin is instructed to cache all statements globally using a or, if the query string starts with the SQL hint (/*qc=on*/). The plugin is capable of caching any query issued by calling appropriate API calls of any of the existing PHP MySQL extensions.

Flexible storage: various storage handler

Various storage handler are supported to offer different scopes for cache entries. Different scopes allow for different degrees in sharing cache entries among clients.

  • default (built-in): process memory, scope: process, one or more web requests depending on PHP deployment model used

  • APC: shared memory, scope: single server, multiple web requests

  • SQLite: memory or file, scope: single server, multiple web requests

  • MEMCACHE: main memory, scope: single or multiple server, multiple web requests

  • user (built-in): user-defined - any, scope: user-defined - any

Support for the APC, SQLite and MEMCACHE storage handler has to be enabled at compile time. The default and user handler are built-in. It is possible to switch between compiled-in storage handlers on a per query basis at run time. However, it is recommended to pick one storage handler and use it for all cache entries.

Built-in slam defense to avoid overloading

To avoid overload situations the cache plugin has a built-in slam defense mechanism. If a popular cache entries expires many clients using the cache entries will try to refresh the cache entry. For the duration of the refresh many clients may access the database server concurrently. In the worst case, the database server becomes overloaded and it takes more and more time to refresh the cache entry, which in turn lets more and more clients try to refresh the cache entry. To prevent this from happening the plugin has a slam defense mechanism. If slam defense is enabled and the plugin detects an expired cache entry it extends the life time of the cache entry before it refreshes the cache entry. This way other concurrent accesses to the expired cache entry are still served from the cache for a certain time. The other concurrent accesses to not trigger a concurrent refresh. Ideally, the cache entry gets refreshed by the client which extended the cache entries lifespan before other clients try to refresh the cache and potentially cause an overload situation.

Unique approach to caching

PECL/mysqlnd_qc has a unique approach to caching result sets that is superior to application based cache solutions. Application based solutions first fetch a result set into PHP variables. Then, the PHP variables are serialized for storage in a persistent cache, and then unserialized when fetching. The mysqlnd query cache stores the raw wire protocol data sent from MySQL to PHP in its cache and replays it, if still valid, on a cache hit. This way, it saves an extra serialization step for a cache put that all application based solutions have to do. It can store the raw wire protocol data in the cache without having to serialize into a PHP variable first and deserializing the PHP variable for storing in the cache again.


Setup

The plugin is implemented as a PHP extension. See also the installation instructions to install the » PECL/mysqlnd_qc extension.

Compile or configure the PHP MySQL extension (mysqli, PDO_MYSQL, mysql) that you plan to use with support for the mysqlnd library. PECL/mysqlnd_qc is a plugin for the mysqlnd library. To use the plugin with any of the existing PHP MySQL extensions (APIs), the extension has to use the mysqlnd library.

Then, load the extension into PHP and activate the plugin in the PHP configuration file using the PHP configuration directive named mysqlnd_qc.enable_qc.

Exemplo #1 Enabling the plugin (php.ini)

mysqlnd_qc.enable_qc=1


Caching queries

There are four ways to trigger caching of a query.

  • Use of SQL hints on a per query basis
  • User supplied callbacks to decide on a per query basis, for example, using mysqlnd_qc_is_select()
  • mysqlnd_set_cache_condition() for rule based automatic per query decisions
  • mysqlnd_qc.cache_by_default = 1 to cache all queries blindly

Use of SQL hints and mysqlnd_qc.cache_by_default = 1 are explained below. Please, refer to the function reference on mysqlnd_qc_is_select() for a description of using a callback and, mysqlnd_qc_set_cache_condition() on how to set rules for automatic caching.

A SQL hint is a SQL standards compliant comment. As a SQL comment it is ignored by the database. A statement is considered eligible for caching if it either begins with the SQL hint enabling caching or it is a SELECT statement.

An individual query which shall be cached must begin with the SQL hint /*qc=on*/. It is recommended to use the PHP constant MYSQLND_QC_ENABLE_SWITCH instead of using the string value.

  • not eligible for caching and not cached: INSERT INTO test(id) VALUES (1)

  • not eligible for caching and not cached: SHOW ENGINES

  • eligible for caching but uncached: SELECT id FROM test

  • eligible for caching and cached: /*qc=on*/SELECT id FROM test

The examples SELECT statement string is prefixed with the MYSQLND_QC_ENABLE_SWITCH SQL hint to enable caching of the statement. The SQL hint must be given at the very beginning of the statement string to enable caching.

Exemplo #1 Using the MYSQLND_QC_ENABLE_SWITCH SQL hint

mysqlnd_qc.enable_qc=1
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* Will be cached because of the SQL hint */
$start = microtime(true);
$res   = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 1");

var_dump($res->fetch_assoc());
$res->free();

printf("Total time uncached query: %.6fs\n", microtime(true) - $start);

/* Cache hit */
$start = microtime(true);
$res   = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 1");

var_dump($res->fetch_assoc());
$res->free();

printf("Total time cached query: %.6fs\n", microtime(true) - $start);
?>

Os exemplos acima irão imprimir algo similar à:

array(1) {
  ["id"]=>
  string(1) "1"
}
Total time uncached query: 0.000740s
array(1) {
  ["id"]=>
  string(1) "1"
}
Total time cached query: 0.000098s

If nothing else is configured, as it is the case in the quickstart example, the plugin will use the built-in default storage handler. The default storage handler uses process memory to hold a cache entry. Depending on the PHP deployment model, a PHP process may serve one or more web requests. Please, consult the web server manual for details. Details make no difference for the examples given in the quickstart.

The query cache plugin will cache all queries regardless if the query string begins with the SQL hint which enables caching or not, if the PHP configuration directive mysqlnd_qc.cache_by_default is set to 1. The setting mysqlnd_qc.cache_by_default is evaluated by the core of the query cache plugins. Neither the built-in nor user-defined storage handler can overrule the setting.

The SQL hint /*qc=off*/ can be used to disable caching of individual queries if mysqlnd_qc.cache_by_default = 1 It is recommended to use the PHP constant MYSQLND_QC_DISABLE_SWITCH instead of using the string value.

Exemplo #2 Using the MYSQLND_QC_DISABLE_SWITCH SQL hint

mysqlnd_qc.enable_qc=1
mysqlnd_qc.cache_by_default=1
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* Will be cached although no SQL hint is present because of mysqlnd_qc.cache_by_default = 1*/
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

$mysqli->query("DELETE FROM test WHERE id = 1");

/* Cache hit - no automatic invalidation and still valid! */
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* Cache miss - query must not be cached because of the SQL hint */
$res = $mysqli->query("/*" . MYSQLND_QC_DISABLE_SWITCH . "*/SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();
?>

Os exemplos acima irão imprimir:

array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "1"
}
NULL

PECL/mysqlnd_qc forbids caching of statements for which at least one column from the statements result set shows no table name in its meta data by default. This is usually the case for columns originating from SQL functions such as NOW() or LAST_INSERT_ID(). The policy aims to prevent pitfalls if caching by default is used.

Exemplo #3 Example showing which type of statements are not cached

mysqlnd_qc.enable_qc=1
mysqlnd_qc.cache_by_default=1
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1)");

for ($i = 0; $i < 3; $i++) {

    $start = microtime(true);

    /* Note: statement will not be cached because of NOW() use */
    $res = $mysqli->query("SELECT id, NOW() AS _time FROM test");
    $row = $res->fetch_assoc();

    /* dump results */
    var_dump($row);

    printf("Total time: %.6fs\n", microtime(true) - $start);

    /* pause one second */
    sleep(1);
}
?>

Os exemplos acima irão imprimir algo similar à:

array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:43:10"
}
Total time: 0.000540s
array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:43:11"
}
Total time: 0.000555s
array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:43:12"
}
Total time: 0.000549s

It is possible to enable caching for all statements including those which has columns in their result set for which MySQL reports no table, such as the statement from the example. Set mysqlnd_qc.cache_no_table = 1 to enable caching of such statements. Please, note the difference in the measured times for the above and below examples.

Exemplo #4 Enabling caching for all statements using the mysqlnd_qc.cache_no_table ini setting

mysqlnd_qc.enable_qc=1
mysqlnd_qc.cache_by_default=1
mysqlnd_qc.cache_no_table=1
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1)");

for ($i = 0; $i < 3; $i++) {

    $start = microtime(true);

    /* Note: statement will not be cached because of NOW() use */
    $res = $mysqli->query("SELECT id, NOW() AS _time FROM test");
    $row = $res->fetch_assoc();

    /* dump results */
    var_dump($row);

    printf("Total time: %.6fs\n", microtime(true) - $start);

    /* pause one second */
    sleep(1);
}
?>

Os exemplos acima irão imprimir algo similar à:

array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:47:45"
}
Total time: 0.000546s
array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:47:45"
}
Total time: 0.000187s
array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:47:45"
}
Total time: 0.000167s

Nota:

Although mysqlnd_qc.cache_no_table = 1 has been created for use with mysqlnd_qc.cache_by_default = 1 it is bound it. The plugin will evaluate the mysqlnd_qc.cache_no_table whenever a query is to be cached, no matter whether caching has been enabled using a SQL hint or any other measure.


Setting the TTL

The default invalidation strategy of the query cache plugin is Time to Live (TTL). The built-in storage handlers will use the default TTL defined by the PHP configuration value mysqlnd_qc.ttl unless the query string contains a hint for setting a different TTL. The TTL is specified in seconds. By default cache entries expire after 30 seconds

The example sets mysqlnd_qc.ttl=3 to cache statements for three seconds by default. Every second it updates a database table record to hold the current time and executes a SELECT statement to fetch the record from the database. The SELECT statement is cached for three seconds because it is prefixed with the SQL hint enabling caching. The output verifies that the query results are taken from the cache for the duration of three seconds before they are refreshed.

Exemplo #1 Setting the TTL with the mysqlnd_qc.ttl ini setting

mysqlnd_qc.enable_qc=1
mysqlnd_qc.ttl=3
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id VARCHAR(255))");

for ($i = 0; $i < 7; $i++) {

    /* update DB row  */
    if (!$mysqli->query("DELETE FROM test") ||
        !$mysqli->query("INSERT INTO test(id) VALUES (NOW())"))
      /* Of course, a real-life script should do better error handling */
      die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

    /* select latest row but cache results */
    $query  = "/*" . MYSQLND_QC_ENABLE_SWITCH . "*/";
    $query .= "SELECT id AS _time FROM test";
    if (!($res = $mysqli->query($query)) ||
        !($row = $res->fetch_assoc()))
    {
      printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
    }
    $res->free();
    printf("Wall time %s - DB row time %s\n", date("H:i:s"), $row['_time']);

    /* pause one second */
    sleep(1);
}
?>

Os exemplos acima irão imprimir algo similar à:

Wall time 14:55:59 - DB row time 2012-01-11 14:55:59
Wall time 14:56:00 - DB row time 2012-01-11 14:55:59
Wall time 14:56:01 - DB row time 2012-01-11 14:55:59
Wall time 14:56:02 - DB row time 2012-01-11 14:56:02
Wall time 14:56:03 - DB row time 2012-01-11 14:56:02
Wall time 14:56:04 - DB row time 2012-01-11 14:56:02
Wall time 14:56:05 - DB row time 2012-01-11 14:56:05

As can be seen from the example, any TTL based cache can serve stale data. Cache entries are not automatically invalidated, if underlying data changes. Applications using the default TTL invalidation strategy must be able to work correctly with stale data.

A user-defined cache storage handler can implement any invalidation strategy to work around this limitation.

The default TTL can be overruled using the SQL hint /*qc_tt=seconds*/. The SQL hint must be appear immediately after the SQL hint which enables caching. It is recommended to use the PHP constant MYSQLND_QC_TTL_SWITCH instead of using the string value.

Exemplo #2 Setting TTL with SQL hints

<?php
$start = microtime(true);

/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

printf("Default TTL\t: %d seconds\n", ini_get("mysqlnd_qc.ttl"));

/* Will be cached for 2 seconds */
$sql = sprintf("/*%s*//*%s%d*/SELECT id FROM test WHERE id = 1", MYSQLND_QC_ENABLE_SWITCH, MYSQLND_QC_TTL_SWITCH, 2);
$res = $mysqli->query($sql);

var_dump($res->fetch_assoc());
$res->free();

$mysqli->query("DELETE FROM test WHERE id = 1");
sleep(1);

/* Cache hit - no automatic invalidation and still valid! */
$res = $mysqli->query($sql);
var_dump($res->fetch_assoc());
$res->free();

sleep(2);

/* Cache miss - cache entry has expired */
$res = $mysqli->query($sql);
var_dump($res->fetch_assoc());
$res->free();

printf("Script runtime\t: %d seconds\n", microtime(true) - $start);
?>

Os exemplos acima irão imprimir algo similar à:

Default TTL     : 30 seconds
array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "1"
}
NULL
Script runtime  : 3 seconds


Pattern based caching

An application has three options for telling PECL/mysqlnd_qc whether a particular statement shall be used. The most basic approach is to cache all statements by setting mysqlnd_qc.cache_by_default = 1. This approach is often of little practical value. But it enables users to make a quick estimation about the maximum performance gains from caching. An application designed to use a cache may be able to prefix selected statements with the appropriate SQL hints. However, altering an applications source code may not always be possible or desired, for example, to avoid problems with software updates. Therefore, PECL/mysqlnd_qc allows setting a callback which decides if a query is to be cached.

The callback is installed with the mysqlnd_qc_set_is_select() function. The callback is given the statement string of every statement inspected by the plugin. Then, the callback can decide whether to cache the function. The callback is supposed to return false if the statement shall not be cached. A return value of true makes the plugin try to add the statement into the cache. The cache entry will be given the default TTL ( mysqlnd_qc.ttl). If the callback returns a numerical value it is used as the TTL instead of the global default.

Exemplo #1 Setting a callback with mysqlnd_qc_set_is_select()

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_statistics=1
<?php
/* callback which decides if query is cached */
function is_select($query) {
    static $patterns = array(
      /* true - use default from mysqlnd_qc.ttl */
      "@SELECT\s+.*\s+FROM\s+test@ismU" => true,
      /* 3 - use TTL = 3 seconds */
      "@SELECT\s+.*\s+FROM\s+news@ismU" => 3
    );

    /* check if query does match pattern */
    foreach ($patterns as $pattern => $ttl) {
        if (preg_match($pattern, $query)) {
            printf("is_select(%45s): cache\n", $query);
            return $ttl;
        }
    }
    printf("is_select(%45s): do not cache\n", $query);
    return false;
}
/* install callback */
mysqlnd_qc_set_is_select("is_select");

/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* cache put */
$mysqli->query("SELECT id FROM test WHERE id = 1");
/* cache hit */
$mysqli->query("SELECT id FROM test WHERE id = 1");
/* cache put */
$mysqli->query("SELECT * FROM test");

$stats = mysqlnd_qc_get_core_stats();
printf("Cache put: %d\n", $stats['cache_put']);
printf("Cache hit: %d\n", $stats['cache_hit']);
?>

Os exemplos acima irão imprimir algo similar à:

is_select(                    DROP TABLE IF EXISTS test): do not cache
is_select(                    CREATE TABLE test(id INT)): do not cache
is_select(    INSERT INTO test(id) VALUES (1), (2), (3)): do not cache
is_select(             SELECT id FROM test WHERE id = 1): cache
is_select(             SELECT id FROM test WHERE id = 1): cache
is_select(                           SELECT * FROM test): cache
Cache put: 2
Cache hit: 1

The examples callback tests if a statement string matches a pattern. If this is the case, it either returns true to cache the statement using the global default TTL or an alternative TTL.

To minimize application changes the callback can put into and registered in an auto prepend file.


Slam defense

A badly designed cache can do more harm than good. In the worst case a cache can increase database server load instead of minimizing it. An overload situation can occur if a highly shared cache entry expires (cache stampeding).

Cache entries are shared and reused to a different degree depending on the storage used. The default storage handler stores cache entries in process memory. Thus, a cache entry can be reused for the life-span of a process. Other PHP processes cannot access it. If Memcache is used, a cache entry can be shared among multiple PHP processes and even among multiple machines, depending on the set up being used.

If a highly shared cache entry stored, for example, in Memcache expires, many clients gets a cache miss. Many client requests can no longer be served from the cache but try to run the underlying query on the database server. Until the cache entry is refreshed, more and more clients contact the database server. In the worst case, a total lost of service is the result.

The overload can be avoided using a storage handler which limits the reuse of cache entries to few clients. Then, at the average, its likely that only a limited number of clients will try to refresh a cache entry concurrently.

Additionally, the built-in slam defense mechanism can and should be used. If slam defense is activated an expired cache entry is given an extended life time. The first client getting a cache miss for the expired cache entry tries to refresh the cache entry within the extended life time. All other clients requesting the cache entry are temporarily served from the cache although the original TTL of the cache entry has expired. The other clients will not experience a cache miss before the extended life time is over.

Exemplo #1 Enabling the slam defense mechanism

mysqlnd_qc.slam_defense=1
mysqlnd_qc.slam_defense_ttl=1

The slam defense mechanism is enabled with the PHP configuration directive mysqlnd_qc.slam_defense. The extended life time of a cache entry is set with mysqlnd_qc.slam_defense_ttl.

The function mysqlnd_qc_get_core_stats() returns an array of statistics. The statistics slam_stale_refresh and slam_stale_hit are incremented if slam defense takes place.

It is not possible to give a one-fits-all recommendation on the slam defense configuration. Users are advised to monitor and test their setup and derive settings accordingly.


Finding cache candidates

A statement should be considered for caching if it is executed often and has a long run time. Cache candidates are found by creating a list of statements sorted by the product of the number of executions multiplied by the statements run time. The function mysqlnd_qc_get_query_trace_log() returns a query log which help with the task.

Collecting a query trace is a slow operation. Thus, it is disabled by default. The PHP configuration directive mysqlnd_qc.collect_query_trace is used to enable it. The functions trace contains one entry for every query issued before the function is called.

Exemplo #1 Collecting a query trace

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_query_trace=1
<?php
/* connect to MySQL */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");

/* dummy queries to fill the query trace */
for ($i = 0; $i < 2; $i++) {
    $res = $mysqli->query("SELECT 1 AS _one FROM DUAL");
    $res->free();
}

/* dump trace */
var_dump(mysqlnd_qc_get_query_trace_log());
?>

Os exemplos acima irão imprimir:

array(2) {
  [0]=>
  array(8) {
    ["query"]=>
    string(26) "SELECT 1 AS _one FROM DUAL"
    ["origin"]=>
    string(102) "#0 qc.php(7): mysqli->query('SELECT 1 AS _on...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(25)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [1]=>
  array(8) {
    ["query"]=>
    string(26) "SELECT 1 AS _one FROM DUAL"
    ["origin"]=>
    string(102) "#0 qc.php(7): mysqli->query('SELECT 1 AS _on...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(8)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
}

Assorted information is given in the trace. Among them timings and the origin of the query call. The origin property holds a code backtrace to identify the source of the query. The depth of the backtrace can be limited with the PHP configuration directive mysqlnd_qc.query_trace_bt_depth. The default depth is 3.

Exemplo #2 Setting the backtrace depth with the mysqlnd_qc.query_trace_bt_depth ini setting

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_query_trace=1
<?php
/* connect to MySQL */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* dummy queries to fill the query trace */
for ($i = 0; $i < 3; $i++) {
    $res = $mysqli->query("SELECT id FROM test WHERE id = " . $mysqli->real_escape_string($i));
    $res->free();
}

$trace = mysqlnd_qc_get_query_trace_log();
$summary = array();
foreach ($trace as $entry) {
    if (!isset($summary[$entry['query']])) {
        $summary[$entry['query']] = array(
            "executions" => 1,
            "time"       => $entry['run_time'] + $entry['store_time'],
        );
    } else {
        $summary[$entry['query']]['executions']++;
        $summary[$entry['query']]['time'] += $entry['run_time'] + $entry['store_time'];
    }
}

foreach ($summary as $query => $details) {
    printf("%45s: %5dms (%dx)\n",
    $query, $details['time'], $details['executions']);
}
?>

Os exemplos acima irão imprimir algo similar à:

                    DROP TABLE IF EXISTS test:     0ms (1x)
                    CREATE TABLE test(id INT):     0ms (1x)
    INSERT INTO test(id) VALUES (1), (2), (3):     0ms (1x)
             SELECT id FROM test WHERE id = 0:    25ms (1x)
             SELECT id FROM test WHERE id = 1:    10ms (1x)
             SELECT id FROM test WHERE id = 2:     9ms (1x)


Measuring cache efficiency

PECL/mysqlnd_qc offers three ways to measure the cache efficiency. The function mysqlnd_qc_get_normalized_query_trace_log() returns statistics aggregated by the normalized query string, mysqlnd_qc_get_cache_info() gives storage handler specific information which includes a list of all cached items, depending on the storage handler. Additionally, the core of PECL/mysqlnd_qc collects high-level summary statistics aggregated per PHP process. The high-level statistics are returned by mysqlnd_qc_get_core_stats().

The functions mysqlnd_qc_get_normalized_query_trace_log() and mysqlnd_qc_get_core_stats() will not collect data unless data collection has been enabled through their corresponding PHP configuration directives. Data collection is disabled by default for performance considerations. It is configurable with the mysqlnd_qc.time_statistics option, which determines if timing information should be collected. Collection of time statistics is enabled by default but only performed if data collection as such has been enabled. Recording time statistics causes extra system calls. In most cases, the benefit of the monitoring outweighs any potential performance penalty of the additional system calls.

Exemplo #1 Collecting statistics data with the mysqlnd_qc.time_statistics ini setting

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_statistics=1
<?php
/* connect to MySQL */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* dummy queries */
for ($i = 1; $i <= 4; $i++) {
    $query = sprintf("/*%s*/SELECT id FROM test WHERE id = %d", MYSQLND_QC_ENABLE_SWITCH, $i % 2);
    $res   = $mysqli->query($query);

    $res->free();
}

var_dump(mysqlnd_qc_get_core_stats());
?>

Os exemplos acima irão imprimir algo similar à:

array(26) {
  ["cache_hit"]=>
  string(1) "2"
  ["cache_miss"]=>
  string(1) "2"
  ["cache_put"]=>
  string(1) "2"
  ["query_should_cache"]=>
  string(1) "4"
  ["query_should_not_cache"]=>
  string(1) "3"
  ["query_not_cached"]=>
  string(1) "3"
  ["query_could_cache"]=>
  string(1) "4"
  ["query_found_in_cache"]=>
  string(1) "2"
  ["query_uncached_other"]=>
  string(1) "0"
  ["query_uncached_no_table"]=>
  string(1) "0"
  ["query_uncached_no_result"]=>
  string(1) "0"
  ["query_uncached_use_result"]=>
  string(1) "0"
  ["query_aggr_run_time_cache_hit"]=>
  string(2) "28"
  ["query_aggr_run_time_cache_put"]=>
  string(3) "900"
  ["query_aggr_run_time_total"]=>
  string(3) "928"
  ["query_aggr_store_time_cache_hit"]=>
  string(2) "14"
  ["query_aggr_store_time_cache_put"]=>
  string(2) "40"
  ["query_aggr_store_time_total"]=>
  string(2) "54"
  ["receive_bytes_recorded"]=>
  string(3) "136"
  ["receive_bytes_replayed"]=>
  string(3) "136"
  ["send_bytes_recorded"]=>
  string(2) "84"
  ["send_bytes_replayed"]=>
  string(2) "84"
  ["slam_stale_refresh"]=>
  string(1) "0"
  ["slam_stale_hit"]=>
  string(1) "0"
  ["request_counter"]=>
  int(1)
  ["process_hash"]=>
  int(1929695233)
}

For a quick overview, call mysqlnd_qc_get_core_stats(). It delivers cache usage, cache timing and traffic related statistics. Values are aggregated on a per process basis for all queries issued by any PHP MySQL API call.

Some storage handler, such as the default handler, can report cache entries, statistics related to the entries and meta data for the underlying query through the mysqlnd_qc_get_cache_info() function. Please note, that the information returned depends on the storage handler. Values are aggregated on a per process basis.

Exemplo #2 Example mysqlnd_qc_get_cache_info() usage

mysqlnd_qc.enable_qc=1
<?php
/* connect to MySQL */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* dummy queries to fill the query trace */
for ($i = 1; $i <= 4; $i++) {
    $query = sprintf("/*%s*/SELECT id FROM test WHERE id = %d", MYSQLND_QC_ENABLE_SWITCH, $i % 2);
    $res   = $mysqli->query($query);

    $res->free();
}

var_dump(mysqlnd_qc_get_cache_info());
?>

Os exemplos acima irão imprimir algo similar à:

array(4) {
  ["num_entries"]=>
  int(2)
  ["handler"]=>
  string(7) "default"
  ["handler_version"]=>
  string(5) "1.0.0"
  ["data"]=>
  array(2) {
    ["Localhost via UNIX socket
3306
root
test|/*qc=on*/SELECT id FROM test WHERE id = 1"]=>
    array(2) {
      ["statistics"]=>
      array(11) {
        ["rows"]=>
        int(1)
        ["stored_size"]=>
        int(71)
        ["cache_hits"]=>
        int(1)
        ["run_time"]=>
        int(391)
        ["store_time"]=>
        int(27)
        ["min_run_time"]=>
        int(16)
        ["max_run_time"]=>
        int(16)
        ["min_store_time"]=>
        int(8)
        ["max_store_time"]=>
        int(8)
        ["avg_run_time"]=>
        int(8)
        ["avg_store_time"]=>
        int(4)
      }
      ["metadata"]=>
      array(1) {
        [0]=>
        array(8) {
          ["name"]=>
          string(2) "id"
          ["orig_name"]=>
          string(2) "id"
          ["table"]=>
          string(4) "test"
          ["orig_table"]=>
          string(4) "test"
          ["db"]=>
          string(4) "test"
          ["max_length"]=>
          int(1)
          ["length"]=>
          int(11)
          ["type"]=>
          int(3)
        }
      }
    }
    ["Localhost via UNIX socket
3306
root
test|/*qc=on*/SELECT id FROM test WHERE id = 0"]=>
    array(2) {
      ["statistics"]=>
      array(11) {
        ["rows"]=>
        int(0)
        ["stored_size"]=>
        int(65)
        ["cache_hits"]=>
        int(1)
        ["run_time"]=>
        int(299)
        ["store_time"]=>
        int(13)
        ["min_run_time"]=>
        int(11)
        ["max_run_time"]=>
        int(11)
        ["min_store_time"]=>
        int(6)
        ["max_store_time"]=>
        int(6)
        ["avg_run_time"]=>
        int(5)
        ["avg_store_time"]=>
        int(3)
      }
      ["metadata"]=>
      array(1) {
        [0]=>
        array(8) {
          ["name"]=>
          string(2) "id"
          ["orig_name"]=>
          string(2) "id"
          ["table"]=>
          string(4) "test"
          ["orig_table"]=>
          string(4) "test"
          ["db"]=>
          string(4) "test"
          ["max_length"]=>
          int(0)
          ["length"]=>
          int(11)
          ["type"]=>
          int(3)
        }
      }
    }
  }
}

It is possible to further break down the granularity of statistics to the level of the normalized statement string. The normalized statement string is the statements string with all parameters replaced with question marks. For example, the two statements SELECT id FROM test WHERE id = 0 and SELECT id FROM test WHERE id = 1 are normalized into SELECT id FROM test WHERE id = ?. Their both statistics are aggregated into one entry for SELECT id FROM test WHERE id = ?.

Exemplo #3 Example mysqlnd_qc_get_normalized_query_trace_log() usage

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_normalized_query_trace=1
<?php
/* connect to MySQL */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* dummy queries to fill the query trace */
for ($i = 1; $i <= 4; $i++) {
    $query = sprintf("/*%s*/SELECT id FROM test WHERE id = %d", MYSQLND_QC_ENABLE_SWITCH, $i % 2);
    $res   = $mysqli->query($query);

    $res->free();
}

var_dump(mysqlnd_qc_get_normalized_query_trace_log());
?>

Os exemplos acima irão imprimir algo similar à:

array(4) {
  [0]=>
  array(9) {
    ["query"]=>
    string(25) "DROP TABLE IF EXISTS test"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [1]=>
  array(9) {
    ["query"]=>
    string(27) "CREATE TABLE test (id INT )"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [2]=>
  array(9) {
    ["query"]=>
    string(46) "INSERT INTO test (id ) VALUES (? ), (? ), (? )"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [3]=>
  array(9) {
    ["query"]=>
    string(31) "SELECT id FROM test WHERE id =?"
    ["occurences"]=>
    int(4)
    ["eligible_for_caching"]=>
    bool(true)
    ["avg_run_time"]=>
    int(179)
    ["min_run_time"]=>
    int(11)
    ["max_run_time"]=>
    int(393)
    ["avg_store_time"]=>
    int(12)
    ["min_store_time"]=>
    int(7)
    ["max_store_time"]=>
    int(25)
  }
}

The source distribution of PECL/mysqlnd_qc contains a directory web/ in which web based monitoring scripts can be found which give an example how to write a cache monitor. Please, follow the instructions given in the source.

Since PECL/mysqlnd_qc 1.1.0 it is possible to write statistics into a log file. Please, see mysqlnd_qc.collect_statistics_log_file.


Beyond TTL: user-defined storage

The query cache plugin supports the use of user-defined storage handler. User-defined storage handler can use arbitrarily complex invalidation algorithms and support arbitrary storage media.

All user-defined storage handlers have to provide a certain interface. The functions of the user-defined storage handler will be called by the core of the cache plugin. The necessary interface consists of seven public functions. Both procedural and object oriented user-defined storage handler must implement the same set of functions.

Exemplo #1 Using a user-defined storage handler

<?php
/* Enable default caching of all statements */
ini_set("mysqlnd_qc.cache_by_default", 1);

/* Procedural user defined storage handler functions */

$__cache = array();

function get_hash($host_info, $port, $user, $db, $query) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    return md5(sprintf("%s%s%s%s%s", $host_info, $port, $user, $db, $query));
}

function find_query_in_cache($key) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    if (isset($__cache[$key])) {
        $tmp = $__cache[$key];
        if ($tmp["valid_until"] < time()) {
            unset($__cache[$key]);
            $ret = NULL;
        } else {
            $ret = $__cache[$key]["data"];
        }
    } else {
        $ret = NULL;
    }

    return $ret;
}

function return_to_cache($key) {
    /*
     Called on cache hit after cached data has been processed,
     may be used for reference counting
    */
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());
}

function add_query_to_cache_if_not_exists($key, $data, $ttl, $run_time, $store_time, $row_count) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    $__cache[$key] = array(
        "data"               => $data,
        "row_count"          => $row_count,
        "valid_until"        => time() + $ttl,
        "hits"               => 0,
        "run_time"           => $run_time,
        "store_time"         => $store_time,
        "cached_run_times"   => array(),
        "cached_store_times" => array(),
    );

    return TRUE;
}

function query_is_select($query) {
    printf("\t%s('%s'): ", __FUNCTION__, $query);

    $ret = FALSE;
    if (stristr($query, "SELECT") !== FALSE) {
        /* cache for 5 seconds */
        $ret = 5;
    }

    printf("%s\n", (FALSE === $ret) ? "FALSE" : $ret);
    return $ret;
}

function update_query_run_time_stats($key, $run_time, $store_time) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    if (isset($__cache[$key])) {
        $__cache[$key]['hits']++;
        $__cache[$key]["cached_run_times"][] = $run_time;
        $__cache[$key]["cached_store_times"][] = $store_time;
    }
}

function get_stats($key = NULL) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    if ($key && isset($__cache[$key])) {
        $stats = $__cache[$key];
    } else {
        $stats = array();
        foreach ($__cache as $key => $details) {
            $stats[$key] = array(
               'hits'              => $details['hits'],
               'bytes'             => strlen($details['data']),
               'uncached_run_time' => $details['run_time'],
               'cached_run_time'   => (count($details['cached_run_times']))
                                      ? array_sum($details['cached_run_times']) / count($details['cached_run_times'])
                                      : 0,
            );
        }
    }

    return $stats;
}

function clear_cache() {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    $__cache = array();
    return TRUE;
}

/* Install procedural user-defined storage handler */
if (!mysqlnd_qc_set_user_handlers("get_hash", "find_query_in_cache",
    "return_to_cache", "add_query_to_cache_if_not_exists",
    "query_is_select", "update_query_run_time_stats", "get_stats", "clear_cache")) {

        printf("Failed to install user-defined storage handler\n");
}

/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

printf("\nCache put/cache miss\n");

$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* Delete record to verify we get our data from the cache */
$mysqli->query("DELETE FROM test WHERE id = 1");

printf("\nCache hit\n");

$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

printf("\nDisplay cache statistics\n");
var_dump(mysqlnd_qc_get_cache_info());

printf("\nFlushing cache, cache put/cache miss");
var_dump(mysqlnd_qc_clear_cache());

$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();
?>

Os exemplos acima irão imprimir algo similar à:

        query_is_select('DROP TABLE IF EXISTS test'): FALSE
        query_is_select('CREATE TABLE test(id INT)'): FALSE
        query_is_select('INSERT INTO test(id) VALUES (1), (2)'): FALSE

Cache put/cache miss
        query_is_select('SELECT id FROM test WHERE id = 1'): 5
        get_hash(5)
        find_query_in_cache(1)
        add_query_to_cache_if_not_exists(6)
array(1) {
  ["id"]=>
  string(1) "1"
}
        query_is_select('DELETE FROM test WHERE id = 1'): FALSE

Cache hit
        query_is_select('SELECT id FROM test WHERE id = 1'): 5
        get_hash(5)
        find_query_in_cache(1)
        return_to_cache(1)
        update_query_run_time_stats(3)
array(1) {
  ["id"]=>
  string(1) "1"
}

Display cache statistics
        get_stats(0)
array(4) {
  ["num_entries"]=>
  int(1)
  ["handler"]=>
  string(4) "user"
  ["handler_version"]=>
  string(5) "1.0.0"
  ["data"]=>
  array(1) {
    ["18683c177dc89bb352b29965d112fdaa"]=>
    array(4) {
      ["hits"]=>
      int(1)
      ["bytes"]=>
      int(71)
      ["uncached_run_time"]=>
      int(398)
      ["cached_run_time"]=>
      int(4)
    }
  }
}

Flushing cache, cache put/cache miss    clear_cache(0)
bool(true)
        query_is_select('SELECT id FROM test WHERE id = 1'): 5
        get_hash(5)
        find_query_in_cache(1)
        add_query_to_cache_if_not_exists(6)
NULL


  • « Beyond TTL: user-defined storage
  • Dependências »
  • PHP Manual
  • mysqlnd_qc
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução


Dependências

PHP 5.3.3 or a newer version of PHP.

PECL/mysqlnd_qc is a mysqlnd plugin. It plugs into the mysqlnd library. To use you this plugin with a PHP MySQL extension, the extension (mysqli, mysql, or PDO_MYSQL) must enable the mysqlnd library.

For using MEMCACHE storage handler: Use libmemcache 0.38 or newer. PECL/mysqlnd_qc 1.2 has been tested with libmemcache 1.4.0.

For using sqlite storage handler: Use the sqlite3 extension that bundled with PHP.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/mysqlnd_qc

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

mysqlnd_qc Opções de Configuração
Nome | Padrão | Modificável | Changelog
mysqlnd_qc.enable_qc | 1 | PHP_INI_SYSTEM |
mysqlnd_qc.ttl | 30 | PHP_INI_ALL |
mysqlnd_qc.cache_by_default | 0 | PHP_INI_ALL |
mysqlnd_qc.cache_no_table | 0 | PHP_INI_ALL |
mysqlnd_qc.use_request_time | 0 | PHP_INI_ALL |
mysqlnd_qc.time_statistics | 1 | PHP_INI_ALL |
mysqlnd_qc.collect_statistics | 0 | PHP_INI_ALL |
mysqlnd_qc.collect_statistics_log_file | /tmp/mysqlnd_qc.stats | PHP_INI_SYSTEM |
mysqlnd_qc.collect_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.query_trace_bt_depth | 3 | PHP_INI_SYSTEM |
mysqlnd_qc.collect_normalized_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.ignore_sql_comments | 1 | PHP_INI_ALL |
mysqlnd_qc.slam_defense | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.slam_defense_ttl | 30 | PHP_INI_SYSTEM |
mysqlnd_qc.std_data_copy | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.apc_prefix | qc_ | PHP_INI_ALL |
mysqlnd_qc.memc_server | 127.0.0.1 | PHP_INI_ALL |
mysqlnd_qc.memc_port | 11211 | PHP_INI_ALL |
mysqlnd_qc.sqlite_data_file | :memory: | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

mysqlnd_qc.enable_qc int

Enables or disables the plugin. If disabled the extension will not plug into mysqlnd to proxy internal mysqlnd C API calls.

mysqlnd_qc.ttl int

Default Time-to-Live (TTL) for cache entries in seconds.

mysqlnd_qc.cache_by_default int

Cache all queries regardless if they begin with the SQL hint that enables caching of a query or not. Storage handler cannot overrule the setting. It is evaluated by the core of the plugin.

mysqlnd_qc.cache_no_table int

Whether to cache queries with no table name in any of columns meta data of their result set, for example, SELECT SLEEP(1), SELECT NOW(), SELECT SUBSTRING().

mysqlnd_qc.use_request_time int

Use PHP global request time to avoid gettimeofday() system calls? If using APC storage handler it should be set to the value of apc.use_request_time, if not warnings will be generated.

mysqlnd_qc.time_statistics int

Collect run time and store time statistics using gettimeofday() system call? Data will be collected only if you also set mysqlnd_qc.collect_statistics = 1,

mysqlnd_qc.collect_statistics int

Collect statistics for mysqlnd_qc_get_core_stats()? Does not influence storage handler statistics! Handler statistics can be an integral part of the handler internal storage format. Therefore, collection of some handler statistics cannot be disabled.

mysqlnd_qc.collect_statistics-log-file int

If mysqlnd_qc.collect_statistics and mysqlnd_qc.collect_statistics_log_file are set, the plugin will dump statistics into the specified log file at every 10th web request during PHP request shutdown. The log file needs to be writable by the web server user.

Since 1.1.0.

mysqlnd_qc.collect_query_trace int

Collect query back traces?

mysqlnd_qc.query_trace_bt_depth int

Maximum depth/level of a query code backtrace.

mysqlnd_qc.ignore_sql_comments int

Whether to remove SQL comments from a query string before hashing it to generate a cache key. Disable if you do not want two statemts such as SELECT /*my_source_ip=123*/ id FROM test and SELECT /*my_source_ip=456*/ id FROM test to refer to the same cache entry.

Since 1.1.0.

mysqlnd_qc.slam_defense int

Activates handler based slam defense (cache stampeding protection) if available. Supported by Default and APC storage handler

mysqlnd_qc.slam_defense_ttl int

TTL for stale cache entries which are served while another client updates the entries. Supported by APC storage handler.

mysqlnd_qc.collect_normalized_query_trace int

Collect aggregated normalized query traces? The setting has no effect by default. You compile the extension using the define NORM_QUERY_TRACE_LOG to make use of the setting.

mysqlnd_qc.std_data_copy int

Default storage handler: copy cached wire data? EXPERIMENTAL – use default setting!

mysqlnd_qc.apc_prefix string

The APC storage handler stores data in the APC user cache. The setting sets a prefix to be used for cache entries.

mysqlnd_qc.memc_server string

MEMCACHE storage handler: memcache server host.

mysqlnd_qc.memc_port int

MEMCACHE storage handler: memcached server port.

mysqlnd_qc.sqlite_data_file string

sqlite storage handler: data file. Any setting but :memory: may be of little practical value.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

SQL hint related

Exemplo #1 Using SQL hint constants

The query cache is controlled by SQL hints. SQL hints are used to enable and disable caching. SQL hints can be used to set the TTL of a query.

The SQL hints recognized by the query cache can be manually changed at compile time. This makes it possible to use mysqlnd_qc in environments in which the default SQL hints are already taken and interpreted by other systems. Therefore it is recommended to use the SQL hint string constants instead of manually adding the default SQL hints to the query string.

<?php
/* Use constants for maximum portability */
$query = "/*" . MYSQLND_QC_ENABLE_SWITCH . "*/SELECT id FROM test";

/* Valid but less portable: default TTL */
$query = "/*qc=on*/SELECT id FROM test";

/* Valid but less portable: per statement TTL */
$query = "/*qc=on*//*qc_ttl=5*/SELECT id FROM test";

printf("MYSQLND_QC_ENABLE_SWITCH: %s\n", MYSQLND_QC_ENABLE_SWITCH);
printf("MYSQLND_QC_DISABLE_SWITCH: %s\n", MYSQLND_QC_DISABLE_SWITCH);
printf("MYSQLND_QC_TTL_SWITCH: %s\n", MYSQLND_QC_TTL_SWITCH);
?>

Os exemplos acima irão imprimir:

MYSQLND_QC_ENABLE_SWITCH: qc=on
MYSQLND_QC_DISABLE_SWITCH: qc=off
MYSQLND_QC_TTL_SWITCH: qc_ttl=

MYSQLND_QC_ENABLE_SWITCH (string)
SQL hint used to enable caching of a query.
MYSQLND_QC_DISABLE_SWITCH (string)
SQL hint used to disable caching of a query if mysqlnd_qc.cache_by_default = 1.
MYSQLND_QC_TTL_SWITCH (string)
SQL hint used to set the TTL of a result set.
MYSQLND_QC_SERVER_ID_SWITCH (string)
This SQL hint should not be used in general. It is needed by PECL/mysqlnd_ms to group cache entries for one statement but originating from different physical connections. If the hint is used connection settings such as user, hostname and charset are not considered for generating a cache key of a query. Instead the given value and the query string are used as input to the hashing function that generates the key. PECL/mysqlnd_ms may, if instructed, cache results from MySQL Replication slaves. Because it can hold many connections to the slave the cache key shall not be formed from the user, hostname or other settings that may vary for the various slave connections. Instead, PECL/mysqlnd_ms provides an identifier which refers to the group of slave connections that shall be enabled to share cache entries no matter which physical slave connection was to generate the cache entry. Use of this feature outside of PECL/mysqlnd_ms is not recommended.

mysqlnd_qc_set_cache_condition() related

Exemplo #2 Example mysqlnd_qc_set_cache_condition() usage

The function mysqlnd_qc_set_cache_condition() allows setting conditions for automatic caching of statements which don't begin with the SQL hints necessary to manually enable caching.

<?php
/* Cache all accesses to tables with the name "new%" in schema/database "db_example" for 1 second */
if (!mysqlnd_qc_set_cache_condition(MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN, "db_example.new%", 1)) {
  die("Failed to set cache condition!");
}

$mysqli = new mysqli("host", "user", "password", "db_example", "port");
/* cached although no SQL hint given  */
$mysqli->query("SELECT id, title FROM news");

$pdo_mysql = new PDO("mysql:host=host;dbname=db_example;port=port", "user", "password");
/* not cached: no SQL hint, no pattern match */
$pdo_mysql->query("SELECT id, title FROM latest_news");
/* cached: TTL 1 second, pattern match */
$pdo_mysql->query("SELECT id, title FROM news");
?>

MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN (int)
Used as a parameter of mysqlnd_qc_set_cache_condition() to set conditions for schema based automatic caching.

Other

The plugin version number can be obtained using either MYSQLND_QC_VERSION, which is the string representation of the numerical version number, or MYSQLND_QC_VERSION_ID, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
MYSQLND_QC_VERSION_ID | 10000

MYSQLND_QC_VERSION (string)
Plugin version string, for example, 1.0.0-prototype.

MYSQLND_QC_VERSION_ID (int)
Plugin version number, for example, 10000.


mysqlnd_qc Funções

Índice

  • mysqlnd_qc_clear_cache — Flush all cache contents
  • mysqlnd_qc_get_available_handlers — Returns a list of available storage handler
  • mysqlnd_qc_get_cache_info — Returns information on the current handler, the number of cache entries and cache entries, if available
  • mysqlnd_qc_get_core_stats — Statistics collected by the core of the query cache
  • mysqlnd_qc_get_normalized_query_trace_log — Returns a normalized query trace log for each query inspected by the query cache
  • mysqlnd_qc_get_query_trace_log — Returns a backtrace for each query inspected by the query cache
  • mysqlnd_qc_set_cache_condition — Set conditions for automatic caching
  • mysqlnd_qc_set_is_select — Installs a callback which decides whether a statement is cached
  • mysqlnd_qc_set_storage_handler — Change current storage handler
  • mysqlnd_qc_set_user_handlers — Sets the callback functions for a user-defined procedural storage handler


Flush all cache contents

  • « mysqlnd_qc Funções
  • mysqlnd_qc_get_available_handlers »
  • PHP Manual
  • mysqlnd_qc Funções
  • Flush all cache contents

mysqlnd_qc_clear_cache

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_clear_cache — Flush all cache contents

Descrição

mysqlnd_qc_clear_cache ( ) : bool

Flush all cache contents.

Flushing the cache is a storage handler responsibility. All built-in storage handler but the memcache storage handler support flushing the cache. The memcache storage handler cannot flush its cache contents.

User-defined storage handler may or may not support the operation.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

A return value of false indicates that flushing all cache contents has failed or the operation is not supported by the active storage handler. Applications must not expect that calling the function will always flush the cache.


Returns a list of available storage handler

  • « mysqlnd_qc_clear_cache
  • mysqlnd_qc_get_cache_info »
  • PHP Manual
  • mysqlnd_qc Funções
  • Returns a list of available storage handler

mysqlnd_qc_get_available_handlers

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_available_handlers — Returns a list of available storage handler

Descrição

mysqlnd_qc_get_available_handlers ( ) : array

Which storage are available depends on the compile time configuration of the query cache plugin. The default storage handler is always available. All other storage handler must be enabled explicitly when building the extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array of available built-in storage handler. For each storage handler the version number and version string is given.

Exemplos

Exemplo #1 mysqlnd_qc_get_available_handlers() example

<?php
var_dump(mysqlnd_qc_get_available_handlers());
?>

Os exemplos acima irão imprimir:

array(5) {
  ["default"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["user"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["APC"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["MEMCACHE"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["sqlite"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
}

Veja Também

  • Installation
  • mysqlnd_qc_set_storage_handler() - Change current storage handler


Returns information on the current handler, the number of cache entries and cache entries, if available

  • « mysqlnd_qc_get_available_handlers
  • mysqlnd_qc_get_core_stats »
  • PHP Manual
  • mysqlnd_qc Funções
  • Returns information on the current handler, the number of cache entries and cache entries, if available

mysqlnd_qc_get_cache_info

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_cache_info — Returns information on the current handler, the number of cache entries and cache entries, if available

Descrição

mysqlnd_qc_get_cache_info ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns information on the current handler, the number of cache entries and cache entries, if available. If and what data will be returned for the cache entries is subject to the active storage handler. Storage handler are free to return any data. Storage handler are recommended to return at least the data provided by the default handler, if technically possible.

The scope of the information is the PHP process. Depending on the PHP deployment model a process may serve one or more web requests.

Values are aggregated for all cache activities on a per storage handler basis. It is not possible to tell how much queries originating from mysqli, PDO_MySQL or mysql.API calls have contributed to the aggregated data values. Use mysqlnd_qc_get_core_stats() to get timing data aggregated for all storage handlers.

Array of cache information

handler string

The active storage handler.

All storage handler. Since 1.0.0.

handler_version string

The version of the active storage handler.

All storage handler. Since 1.0.0.

num_entries int

The number of cache entries. The value depends on the storage handler in use.

The default, APC and SQLite storage handler provide the actual number of cache entries.

The MEMCACHE storage handler always returns 0. MEMCACHE does not support counting the number of cache entries.

If a user defined handler is used, the number of entries of the data property is reported.

Since 1.0.0.

data array

The version of the active storage handler.

Additional storage handler dependent data on the cache entries. Storage handler are requested to provide similar and comparable information. A user defined storage handler is free to return any data.

Since 1.0.0.

The following information is provided by the default storage handler for the data property.

The data property holds a hash. The hash is indexed by the internal cache entry identifier of the storage handler. The cache entry identifier is human-readable and contains the query string leading to the cache entry. Please, see also the example below. The following data is given for every cache entry.

statistics array

Statistics of the cache entry.

Since 1.0.0.

Property | Description | Version
rows | Number of rows of the cached result set. | Since 1.0.0.
stored_size | The size of the cached result set in bytes. This is the size of the payload. The value is not suited for calculating the total memory consumption of all cache entries including the administrative overhead of the cache entries. | Since 1.0.0.
cache_hits | How often the cached entry has been returned. | Since 1.0.0.
run_time | Run time of the statement to which the cache entry belongs. This is the run time of the uncached statement. It is the time between sending the statement to MySQL receiving a reply from MySQL. Run time saved by using the query cache plugin can be calculated like this: cache_hits * ((run_time - avg_run_time) + (store_time - avg_store_time)). | Since 1.0.0.
store_time | Store time of the statements result set to which the cache entry belongs. This is the time it took to fetch and store the results of the uncached statement. | Since 1.0.0.
min_run_time | Minimum run time of the cached statement. How long it took to find the statement in the cache. | Since 1.0.0.
min_store_time | Minimum store time of the cached statement. The time taken for fetching the cached result set from the storage medium and decoding | Since 1.0.0.
avg_run_time | Average run time of the cached statement. | Since 1.0.0.
avg_store_time | Average store time of the cached statement. | Since 1.0.0.
max_run_time | Average run time of the cached statement. | Since 1.0.0.
max_store_time | Average store time of the cached statement. | Since 1.0.0.
valid_until | Timestamp when the cache entry expires. | Since 1.1.0.
metadata array

Metadata of the cache entry. This is the metadata provided by MySQL together with the result set of the statement in question. Different versions of the MySQL server may return different metadata. Unlike with some of the PHP MySQL extensions no attempt is made to hide MySQL server version dependencies and version details from the caller. Please, refer to the MySQL C API documentation that belongs to the MySQL server in use for further details.

The metadata list contains one entry for every column.

Since 1.0.0.

Property | Description | Version
name | The field name. Depending on the MySQL version this may be the fields alias name. | Since 1.0.0.
org_name | The field name. | Since 1.0.0.
table | The table name. If an alias name was used for the table, this usually holds the alias name. | Since 1.0.0.
org_table | The table name. | Since 1.0.0.
db | The database/schema name. | Since 1.0.0.
max_length | The maximum width of the field. Details may vary by MySQL server version. | Since 1.0.0.
length | The width of the field. Details may vary by MySQL server version. | Since 1.0.0.
type | The data type of the field. Details may vary by the MySQL server in use. This is the MySQL C API type constants value. It is recommended to use type constants provided by the mysqli extension to test for its meaning. You should not test for certain type values by comparing with certain numbers. | Since 1.0.0.

The APC storage handler returns the same information for the data property but no metadata. The metadata of a cache entry is set to NULL.

The MEMCACHE storage handler does not fill the data property. Statistics are not available on a per cache entry basis with the MEMCACHE storage handler.

A user defined storage handler is free to provide any data.

Exemplos

Exemplo #1 mysqlnd_qc_get_cache_info() example

The example shows the output from the built-in default storage handler. Other storage handler may report different data.

<?php
/* Populate the cache, e.g. using mysqli */
$mysqli = new mysqli("host", "user", "password", "schema");
$mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/SELECT id FROM test");

/* Display cache information */
var_dump(mysqlnd_qc_get_cache_info());
?>

Os exemplos acima irão imprimir:

array(4) {
 ["num_entries"]=>
 int(1)
 ["handler"]=>
 string(7) "default"
 ["handler_version"]=>
 string(5) "1.0.0"
 ["data"]=>
 array(1) {
   ["Localhost via UNIX socket 3306 user schema|/*qc=on*/SELECT id FROM test"]=>
   array(2) {
     ["statistics"]=>
     array(11) {
       ["rows"]=>
       int(6)
       ["stored_size"]=>
       int(101)
       ["cache_hits"]=>
       int(0)
       ["run_time"]=>
       int(471)
       ["store_time"]=>
       int(27)
       ["min_run_time"]=>
       int(0)
       ["max_run_time"]=>
       int(0)
       ["min_store_time"]=>
       int(0)
       ["max_store_time"]=>
       int(0)
       ["avg_run_time"]=>
       int(0)
       ["avg_store_time"]=>
       int(0)
     }
     ["metadata"]=>
     array(1) {
       [0]=>
       array(8) {
         ["name"]=>
         string(2) "id"
         ["orig_name"]=>
         string(2) "id"
         ["table"]=>
         string(4) "test"
         ["orig_table"]=>
         string(4) "test"
         ["db"]=>
         string(4) "schema"
         ["max_length"]=>
         int(1)
         ["length"]=>
         int(11)
         ["type"]=>
         int(3)
       }
     }
   }
 }
}

Veja Também

  • mysqlnd_qc_get_core_stats() - Statistics collected by the core of the query cache


Statistics collected by the core of the query cache

  • « mysqlnd_qc_get_cache_info
  • mysqlnd_qc_get_normalized_query_trace_log »
  • PHP Manual
  • mysqlnd_qc Funções
  • Statistics collected by the core of the query cache

mysqlnd_qc_get_core_stats

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_core_stats — Statistics collected by the core of the query cache

Descrição

mysqlnd_qc_get_core_stats ( ) : array

Returns an array of statistics collected by the core of the cache plugin. The same data fields will be reported for any storage handler because the data is collected by the core.

The PHP configuration setting mysqlnd_qc.collect_statistics controls the collection of statistics. The collection of statistics is disabled by default for performance reasons. Disabling the collection of statistics will also disable the collection of time related statistics.

The PHP configuration setting mysqlnd_qc.collect_time_statistics controls the collection of time related statistics.

The scope of the core statistics is the PHP process. Depending on your deployment model a PHP process may handle one or multiple requests.

Statistics are aggregated for all cache entries and all storage handler. It is not possible to tell how much queries originating from mysqli, PDO_MySQL or mysql API calls have contributed to the aggregated data values.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Array of core statistics

Statistic | Description | Version
cache_hit | Statement is considered cacheable and cached data has been reused. Statement is considered cacheable and a cache miss happened but the statement got cached by someone else while we process it and thus we can fetch the result from the refreshed cache. | Since 1.0.0.
cache_miss Statement is considered cacheable...

  • ... and has been added to the cache

  • ... but the PHP configuration directive setting of mysqlnd_qc.cache_no_table = 1 has prevented caching.

  • ... but an unbuffered result set is requested.

  • ... but a buffered result set was empty.

Since 1.0.0.
cache_put | Statement is considered cacheable and has been added to the cache. Take care when calculating derived statistics. Storage handler with a storage life time beyond process scope may report cache_put = 0 together with cache_hit > 0, if another process has filled the cache. You may want to use num_entries from mysqlnd_qc_get_cache_info() if the handler supports it ( default, APC). | Since 1.0.0.
query_should_cache | Statement is considered cacheable based on query string analysis. The statement may or may not be added to the cache. See also cache_put. | Since 1.0.0.
query_should_not_cache | Statement is considered not cacheable based on query string analysis. | Since 1.0.0.
query_not_cached | Statement is considered not cacheable or it is considered cachable but the storage handler has not returned a hash key for it. | Since 1.0.0.
query_could_cache Statement is considered cacheable...

  • ... and statement has been run without errors

  • ... and meta data shows at least one column in the result set

The statement may or may not be in the cache already. It may or may not be added to the cache later on. 		Since 1.0.0.
query_found_in_cache | Statement is considered cacheable and we have found it in the cache but we have not replayed the cached data yet and we have not send the result set to the client yet. This is not considered a cache hit because the client might not fetch the result or the cached data may be faulty. | Since 1.0.0.
query_uncached_other | Statement is considered cacheable and it may or may not be in the cache already but either replaying cached data has failed, no result set is available or some other error has happened.
query_uncached_no_table | Statement has not been cached because the result set has at least one column which has no table name in its meta data. An example of such a query is SELECT SLEEP(1). To cache those statements you have to change default value of the PHP configuration directive mysqlnd_qc.cache_no_table and set mysqlnd_qc.cache_no_table = 1. Often, it is not desired to cache such statements. | Since 1.0.0.
query_uncached_use_result | Statement would have been cached if a buffered result set had been used. The situation is also considered as a cache miss and cache_miss will be incremented as well. | Since 1.0.0.
query_aggr_run_time_cache_hit | Aggregated run time (ms) of all cached queries. Cached queries are those which have incremented cache_hit. | Since 1.0.0.
query_aggr_run_time_cache_put | Aggregated run time (ms) of all uncached queries that have been put into the cache. See also cache_put. | Since 1.0.0.
query_aggr_run_time_total | Aggregated run time (ms) of all uncached and cached queries that have been inspected and executed by the query cache. | Since 1.0.0.
query_aggr_store_time_cache_hit | Aggregated store time (ms) of all cached queries. Cached queries are those which have incremented cache_hit. | Since 1.0.0.
query_aggr_store_time_cache_put | Aggregated store time ( ms) of all uncached queries that have been put into the cache. See also cache_put. | Since 1.0.0.
query_aggr_store_time_total | Aggregated store time (ms) of all uncached and cached queries that have been inspected and executed by the query cache. | Since 1.0.0.
receive_bytes_recorded | Recorded incoming network traffic ( bytes) send from MySQL to PHP. The traffic may or may not have been added to the cache. The traffic is the total for all queries regardless if cached or not. | Since 1.0.0.
receive_bytes_replayed | Network traffic replayed during cache. This is the total amount of incoming traffic saved because of the usage of the query cache plugin. | Since 1.0.0.
send_bytes_recorded | Recorded outgoing network traffic ( bytes) send from MySQL to PHP. The traffic may or may not have been added to the cache. The traffic is the total for all queries regardless if cached or not. | Since 1.0.0.
send_bytes_replayed | Network traffic replayed during cache. This is the total amount of outgoing traffic saved because of the usage of the query cache plugin. | Since 1.0.0.
slam_stale_refresh | Number of cache misses which triggered serving stale data until the client causing the cache miss has refreshed the cache entry. | Since 1.0.0.
slam_stale_hit | Number of cache hits while a stale cache entry gets refreshed. | Since 1.0.0.

Exemplos

Exemplo #1 mysqlnd_qc_get_core_stats() example

<?php
/* Enable collection of statistics - default: disabled */
ini_set("mysqlnd_qc.collect_statistics", 1);

/* Enable collection of all timing related statistics -
default: enabled but overruled by mysqlnd_qc.collect_statistics = 0 */
ini_set("mysqlnd_qc.collect_time_statistics", 1);

/* Populate the cache, e.g. using mysqli */
$mysqli = new mysqli('host', 'user', 'password', 'schema');

/* Cache miss and cache put */
$mysqli->query("/*qc=on*/SELECT id FROM test");
/* Cache hit */
$mysqli->query("/*qc=on*/SELECT id FROM test");

/* Display core statistics */
var_dump(mysqlnd_qc_get_core_stats());
?>

Os exemplos acima irão imprimir:

array(26) {
  ["cache_hit"]=>
  string(1) "1"
  ["cache_miss"]=>
  string(1) "1"
  ["cache_put"]=>
  string(1) "1"
  ["query_should_cache"]=>
  string(1) "2"
  ["query_should_not_cache"]=>
  string(1) "0"
  ["query_not_cached"]=>
  string(1) "0"
  ["query_could_cache"]=>
  string(1) "2"
  ["query_found_in_cache"]=>
  string(1) "1"
  ["query_uncached_other"]=>
  string(1) "0"
  ["query_uncached_no_table"]=>
  string(1) "0"
  ["query_uncached_no_result"]=>
  string(1) "0"
  ["query_uncached_use_result"]=>
  string(1) "0"
  ["query_aggr_run_time_cache_hit"]=>
  string(1) "4"
  ["query_aggr_run_time_cache_put"]=>
  string(3) "395"
  ["query_aggr_run_time_total"]=>
  string(3) "399"
  ["query_aggr_store_time_cache_hit"]=>
  string(1) "2"
  ["query_aggr_store_time_cache_put"]=>
  string(1) "8"
  ["query_aggr_store_time_total"]=>
  string(2) "10"
  ["receive_bytes_recorded"]=>
  string(2) "65"
  ["receive_bytes_replayed"]=>
  string(2) "65"
  ["send_bytes_recorded"]=>
  string(2) "29"
  ["send_bytes_replayed"]=>
  string(2) "29"
  ["slam_stale_refresh"]=>
  string(1) "0"
  ["slam_stale_hit"]=>
  string(1) "0"
  ["request_counter"]=>
  int(1)
  ["process_hash"]=>
  int(3547549858)
}

Veja Também

  • Runtime configuration
  • mysqlnd_qc.collect_statistics
  • mysqlnd_qc.time_statistics
  • mysqlnd_qc_get_cache_info() - Returns information on the current handler, the number of cache entries and cache entries, if available


Returns a normalized query trace log for each query inspected by the query cache

  • « mysqlnd_qc_get_core_stats
  • mysqlnd_qc_get_query_trace_log »
  • PHP Manual
  • mysqlnd_qc Funções
  • Returns a normalized query trace log for each query inspected by the query cache

mysqlnd_qc_get_normalized_query_trace_log

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_normalized_query_trace_log — Returns a normalized query trace log for each query inspected by the query cache

Descrição

mysqlnd_qc_get_normalized_query_trace_log ( ) : array

Returns a normalized query trace log for each query inspected by the query cache. The collection of the trace log is disabled by default. To collect the trace log you have to set the PHP configuration directive mysqlnd_qc.collect_normalized_query_trace to 1

Entries in the trace log are grouped by the normalized query statement. The normalized query statement is the query statement with all statement parameter values being replaced with a question mark. For example, the two statements SELECT id FROM test WHERE id = 1 and SELECT id FROM test WHERE id = 2 are normalized as SELECT id FROM test WHERE id = ?. Whenever a statement is inspected by the query cache which matches the normalized statement pattern, its statistics are grouped by the normalized statement string.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of query log. Every list entry contains the normalized query stringand further detail information.

Key | Description
query | Normalized statement string.
occurences | How many statements have matched the normalized statement string in addition to the one which has created the log entry. The value is zero if a statement has been normalized, its normalized representation has been added to the log but no further queries inspected by PECL/mysqlnd_qc have the same normalized statement string.
eligible_for_caching | Whether the statement could be cached. An statement eligible for caching has not necessarily been cached. It not possible to tell for sure if or how many cached statement have contributed to the aggregated normalized statement log entry. However, comparing the minimum and average run time one can make an educated guess.
avg_run_time | The average run time of all queries contributing to the query log entry. The run time is the time between sending the query statement to MySQL and receiving an answer from MySQL.
avg_store_time | The average store time of all queries contributing to the query log entry. The store time is the time needed to fetch a statements result set from the server to the client and, storing it on the client.
min_run_time | The minimum run time of all queries contributing to the query log entry.
min_store_time | The minimum store time of all queries contributing to the query log entry.
max_run_time | The maximum run time of all queries contributing to the query log entry.
max_store_time | The maximum store time of all queries contributing to the query log entry.

Exemplos

Exemplo #1 mysqlnd_qc_get_normalized_query_trace_log() example

mysqlnd_qc.collect_normalized_query_trace=1
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* not cached */
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* cache put */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

/* cache hit */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

var_dump(mysqlnd_qc_get_normalized_query_trace_log());
?>

Os exemplos acima irão imprimir:

array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(4) {
  [0]=>
  array(9) {
    ["query"]=>
    string(25) "DROP TABLE IF EXISTS test"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [1]=>
  array(9) {
    ["query"]=>
    string(27) "CREATE TABLE test (id INT )"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [2]=>
  array(9) {
    ["query"]=>
    string(40) "INSERT INTO test (id ) VALUES (? ), (? )"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [3]=>
  array(9) {
    ["query"]=>
    string(31) "SELECT id FROM test WHERE id =?"
    ["occurences"]=>
    int(2)
    ["eligible_for_caching"]=>
    bool(true)
    ["avg_run_time"]=>
    int(159)
    ["min_run_time"]=>
    int(12)
    ["max_run_time"]=>
    int(307)
    ["avg_store_time"]=>
    int(10)
    ["min_store_time"]=>
    int(8)
    ["max_store_time"]=>
    int(13)
  }
}

Veja Também

  • Runtime configuration
  • mysqlnd_qc.collect_normalized_query_trace
  • mysqlnd_qc.time_statistics
  • mysqlnd_qc_get_query_trace_log() - Returns a backtrace for each query inspected by the query cache


Returns a backtrace for each query inspected by the query cache

  • « mysqlnd_qc_get_normalized_query_trace_log
  • mysqlnd_qc_set_cache_condition »
  • PHP Manual
  • mysqlnd_qc Funções
  • Returns a backtrace for each query inspected by the query cache

mysqlnd_qc_get_query_trace_log

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_query_trace_log — Returns a backtrace for each query inspected by the query cache

Descrição

mysqlnd_qc_get_query_trace_log ( ) : array

Returns a backtrace for each query inspected by the query cache. The collection of the backtrace is disabled by default. To collect the backtrace you have to set the PHP configuration directive mysqlnd_qc.collect_query_trace to 1

The maximum depth of the backtrace is limited to the depth set with the PHP configuration directive mysqlnd_qc.query_trace_bt_depth.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of query backtrace. Every list entry contains the query string, a backtrace and further detail information.

Key | Description
query | Query string.
origin | Code backtrace.
run_time | Query run time in milliseconds. The collection of all times and the necessary gettimeofday system calls can be disabled by setting the PHP configuration directive mysqlnd_qc.time_statistics to 0
store_time | Query result set store time in milliseconds. The collection of all times and the necessary gettimeofday system calls can be disabled by setting the PHP configuration directive mysqlnd_qc.time_statistics to 0
eligible_for_caching | true if query is cacheable otherwise false.
no_table | true if the query has generated a result set and at least one column from the result set has no table name set in its metadata. This is usually the case with queries which one probably do not want to cache such as SELECT SLEEP(1). By default any such query will not be added to the cache. See also PHP configuration directive mysqlnd_qc.cache_no_table.
was_added | true if the query result has been put into the cache, otherwise false.
was_already_in_cache | true if the query result would have been added to the cache if it was not already in the cache (cache hit). Otherwise false.

Exemplos

Exemplo #1 mysqlnd_qc_get_query_trace_log() example

mysqlnd_qc.collect_query_trace=1
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* not cached */
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* cache put */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

/* cache hit */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

var_dump(mysqlnd_qc_get_query_trace_log());
?>

Os exemplos acima irão imprimir:

array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(6) {
  [0]=>
  array(8) {
    ["query"]=>
    string(25) "DROP TABLE IF EXISTS test"
    ["origin"]=>
    string(102) "#0 qc.php(4): mysqli->query('DROP TABLE IF E...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [1]=>
  array(8) {
    ["query"]=>
    string(25) "CREATE TABLE test(id INT)"
    ["origin"]=>
    string(102) "#0 qc.php(5): mysqli->query('CREATE TABLE te...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [2]=>
  array(8) {
    ["query"]=>
    string(36) "INSERT INTO test(id) VALUES (1), (2)"
    ["origin"]=>
    string(102) "#0 qc.php(6): mysqli->query('INSERT INTO tes...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [3]=>
  array(8) {
    ["query"]=>
    string(32) "SELECT id FROM test WHERE id = 1"
    ["origin"]=>
    string(102) "#0 qc.php(9): mysqli->query('SELECT id FROM ...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(25)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [4]=>
  array(8) {
    ["query"]=>
    string(41) "/*qc=on*/SELECT id FROM test WHERE id = 2"
    ["origin"]=>
    string(103) "#0 qc.php(14): mysqli->query('/*qc=on*/SELECT...')
#1 {main}"
    ["run_time"]=>
    int(311)
    ["store_time"]=>
    int(13)
    ["eligible_for_caching"]=>
    bool(true)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(true)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [5]=>
  array(8) {
    ["query"]=>
    string(41) "/*qc=on*/SELECT id FROM test WHERE id = 2"
    ["origin"]=>
    string(103) "#0 qc.php(19): mysqli->query('/*qc=on*/SELECT...')
#1 {main}"
    ["run_time"]=>
    int(13)
    ["store_time"]=>
    int(8)
    ["eligible_for_caching"]=>
    bool(true)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(true)
  }
}

Veja Também

  • Runtime configuration
  • mysqlnd_qc.collect_query_trace
  • mysqlnd_qc.query_trace_bt_depth
  • mysqlnd_qc.time_statistics
  • mysqlnd_qc.cache_no_table
  • mysqlnd_qc_get_normalized_query_trace_log() - Returns a normalized query trace log for each query inspected by the query cache


Set conditions for automatic caching

  • « mysqlnd_qc_get_query_trace_log
  • mysqlnd_qc_set_is_select »
  • PHP Manual
  • mysqlnd_qc Funções
  • Set conditions for automatic caching

mysqlnd_qc_set_cache_condition

(PECL mysqlnd_qc >= 1.1.0)

mysqlnd_qc_set_cache_condition — Set conditions for automatic caching

Descrição

mysqlnd_qc_set_cache_condition ( int $condition_type , mixed $condition , mixed $condition_option ) : bool

Sets a condition for automatic caching of statements which do not contain the necessary SQL hints to enable caching of them.

Parâmetros

condition_type

Type of the condition. The only allowed value is MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN.

condition

Parameter for the condition set with condition_type. Parameter type and structure depend on condition_type

If condition_type equals MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN condition must be a string. The string sets a pattern. Statements are cached if table and database meta data entry of their result sets match the pattern. The pattern is checked for a match with the db and org_table meta data entries provided by the underlying MySQL client server library. Please, check the MySQL Reference manual for details about the two entries. The db and org_table values are concatenated with a dot (.) before matched against condition. Pattern matching supports the wildcards % and _. The wildcard % will match one or many arbitrary characters. _ will match one arbitrary character. The escape symbol is backslash.

condition_option

Option for condition. Type and structure depend on condition_type.

If condition_type equals MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN condition_options is the TTL to be used.

Exemplos

Exemplo #1 mysqlnd_qc_set_cache_condition() example

<?php
/* Cache all accesses to tables with the name "new%" in schema/database "db_example" for 1 second */
if (!mysqlnd_qc_set_cache_condition(MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN, "db_example.new%", 1)) {
  die("Failed to set cache condition!");
}

$mysqli = new mysqli("host", "user", "password", "db_example", "port");
/* cached although no SQL hint given  */
$mysqli->query("SELECT id, title FROM news");

$pdo_mysql = new PDO("mysql:host=host;dbname=db_example;port=port", "user", "password");
/* not cached: no SQL hint, no pattern match */
$pdo_mysql->query("SELECT id, title FROM latest_news");
/* cached: TTL 1 second, pattern match */
$pdo_mysql->query("SELECT id, title FROM news");
?>

Valor Retornado

Returns TRUE on success or FALSE on FAILURE.

Veja Também

  • Quickstart: pattern based caching


Installs a callback which decides whether a statement is cached

  • « mysqlnd_qc_set_cache_condition
  • mysqlnd_qc_set_storage_handler »
  • PHP Manual
  • mysqlnd_qc Funções
  • Installs a callback which decides whether a statement is cached

mysqlnd_qc_set_is_select

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_set_is_select — Installs a callback which decides whether a statement is cached

Descrição

mysqlnd_qc_set_is_select ( string $callback ) : mixed

Installs a callback which decides whether a statement is cached.

There are several ways of hinting PELC/mysqlnd_qc to cache a query. By default, PECL/mysqlnd_qc attempts to cache a if caching of all statements is enabled or the query string begins with a certain SQL hint. The plugin internally calls a function named is_select() to find out. This internal function can be replaced with a user-defined callback. Then, the user-defined callback is responsible to decide whether the plugin attempts to cache a statement. Because the internal function is replaced with the callback, the callback gains full control. The callback is free to ignore the configuration setting mysqlnd_qc.cache_by_default and SQL hints.

The callback is invoked for every statement inspected by the plugin. It is given the statements string as a parameter. The callback returns false if the statement shall not be cached. It returns true to make the plugin attempt to cache the statements result set, if any. A so-created cache entry is given the default TTL set with the PHP configuration directive mysqlnd_qc.ttl. If a different TTL shall be used, the callback returns a numeric value to be used as the TTL.

The internal is_select function is part of the internal cache storage handler interface. Thus, a user-defined storage handler offers the same capabilities.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 mysqlnd_qc_set_is_select() example

<?php
/* callback which decides if query is cached */
function is_select($query) {
  static $patterns = array(
   /* true - use default from mysqlnd_qc.ttl */
   "@SELECT\s+.*\s+FROM\s+test@ismU" => true,
   /* 3 - use TTL = 3 seconds */
   "@SELECT\s+.*\s+FROM\s+news@ismU" => 3
  );
  /* check if query does match pattern */
  foreach ($patterns as $pattern => $ttl) {
    if (preg_match($pattern, $query)) {
      printf("is_select(%45s): cache\n", $query);
      return $ttl;
    }
  }
  printf("is_select(%45s): do not cache\n", $query);
  return false;
}
mysqlnd_qc_set_is_select("is_select");

/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* cache put */
$mysqli->query("SELECT id FROM test WHERE id = 1");
/* cache hit */
$mysqli->query("SELECT id FROM test WHERE id = 1");
/* cache put */
$mysqli->query("SELECT * FROM test");
?>

Os exemplos acima irão imprimir:

is_select(                    DROP TABLE IF EXISTS test): do not cache
is_select(                    CREATE TABLE test(id INT)): do not cache
is_select(    INSERT INTO test(id) VALUES (1), (2), (3)): do not cache
is_select(             SELECT id FROM test WHERE id = 1): cache
is_select(             SELECT id FROM test WHERE id = 1): cache
is_select(                           SELECT * FROM test): cache

Veja Também

  • Runtime configuration
  • mysqlnd_qc.ttl
  • mysqlnd_qc.cache_by_default
  • mysqlnd_qc_set_user_handlers() - Sets the callback functions for a user-defined procedural storage handler


Change current storage handler

  • « mysqlnd_qc_set_is_select
  • mysqlnd_qc_set_user_handlers »
  • PHP Manual
  • mysqlnd_qc Funções
  • Change current storage handler

mysqlnd_qc_set_storage_handler

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_set_storage_handler — Change current storage handler

Descrição

mysqlnd_qc_set_storage_handler ( string $handler ) : bool

Sets the storage handler used by the query cache. A list of available storage handler can be obtained from mysqlnd_qc_get_available_handlers(). Which storage are available depends on the compile time configuration of the query cache plugin. The default storage handler is always available. All other storage handler must be enabled explicitly when building the extension.

Parâmetros

handler

Handler can be of type string representing the name of a built-in storage handler or an object of type mysqlnd_qc_handler_default. The names of the built-in storage handler are default, APC, MEMCACHE, sqlite.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

If changing the storage handler fails a catchable fatal error will be thrown. The query cache cannot operate if the previous storage handler has been shutdown but no new storage handler has been installed.

Exemplos

Exemplo #1 mysqlnd_qc_set_storage_handler() example

The example shows the output from the built-in default storage handler. Other storage handler may report different data.

<?php
var_dump(mysqlnd_qc_set_storage_handler("memcache"));

if (true === mysqlnd_qc_set_storage_handler("default"))
  printf("Default storage handler activated");

/* Catchable fatal error */
var_dump(mysqlnd_qc_set_storage_handler("unknown"));
?>

Os exemplos acima irão imprimir:

bool(true)
Default storage handler activated
Catchable fatal error: mysqlnd_qc_set_storage_handler(): Unknown handler 'unknown' in (file) on line (line)

Veja Também

  • Installation
  • mysqlnd_qc_get_available_handlers() - Returns a list of available storage handler


Sets the callback functions for a user-defined procedural storage handler

  • « mysqlnd_qc_set_storage_handler
  • Change History »
  • PHP Manual
  • mysqlnd_qc Funções
  • Sets the callback functions for a user-defined procedural storage handler

mysqlnd_qc_set_user_handlers

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_set_user_handlers — Sets the callback functions for a user-defined procedural storage handler

Descrição

mysqlnd_qc_set_user_handlers ( string $get_hash , string $find_query_in_cache , string $return_to_cache , string $add_query_to_cache_if_not_exists , string $query_is_select , string $update_query_run_time_stats , string $get_stats , string $clear_cache ) : bool

Sets the callback functions for a user-defined procedural storage handler.

Parâmetros

get_hash

Name of the user function implementing the storage handler get_hash functionality.

find_query_in_cache

Name of the user function implementing the storage handler find_in_cache functionality.

return_to_cache

Name of the user function implementing the storage handler return_to_cache functionality.

add_query_to_cache_if_not_exists

Name of the user function implementing the storage handler add_query_to_cache_if_not_exists functionality.

query_is_select

Name of the user function implementing the storage handler query_is_select functionality.

update_query_run_time_stats

Name of the user function implementing the storage handler update_query_run_time_stats functionality.

get_stats

Name of the user function implementing the storage handler get_stats functionality.

clear_cache

Name of the user function implementing the storage handler clear_cache functionality.

Valor Retornado

Returns TRUE on success or FALSE on FAILURE.

Veja Também

  • Procedural user-defined storage handler example


Change History

Índice

  • PECL/mysqlnd_qc 1.2 series
  • PECL/mysqlnd_qc 1.1 series
  • PECL/mysqlnd_qc 1.0 series

This change history is a high level summary of selected changes that may impact applications and/or break backwards compatibility.

See also the CHANGES file in the source distribution for a complete list of changes.


PECL/mysqlnd_qc 1.2 series

1.2.0 - alpha

  • Release date: 03/2013
  • Motto/theme: PHP 5.5 compatibility

Feature changes

  • Update build for PHP 5.5 (Credits: Remi Collet)

  • APC storage handler update

    • Fix build for APC 3.1.13-beta and trunk

  • Introduced MYSQLND_QC_VERSION and MYSQLND_QC_VERSION_ID.


PECL/mysqlnd_qc 1.1 series

1.1.0 - stable

  • Release date: 04/2012
  • Motto/theme: PHP 5.4 compatibility, schema pattern based caching and mysqlnd_ms support

1.1.0 - beta

  • Release date: 04/2012
  • Motto/theme: PHP 5.4 compatibility, schema pattern based caching and mysqlnd_ms support

1.1.0 - alpha

  • Release date: 04/2012
  • Motto/theme: PHP 5.4 compatibility, schema pattern based caching and mysqlnd_ms support

Feature changes

  • APC storage handler update

    • Fix build for APC 3.1.9+
    • Note: Use of the APC storage handler is currently not recommended due to stability issues of APC itself.

  • New PHP configuration directives

    • mysqlnd_qc.collect_statistics_log_file. Aggregated cache statistics log file written after every 10th request served by the PHP process.
    • mysqlnd_qc.ignore_sql_comments. Control whether SQL comments are ignored for cache key hash generation.

  • New constants and SQL hints

    • MYSQLND_QC_SERVER_ID_SWITCH allows grouping of cache entries from different physical connections. This is needed by PECL/mysqlnd_ms.
    • MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN to be used with mysqlnd_qc_set_cache_condition().

  • New function mysqlnd_qc_set_cache_condition() for built-in schema pattern based caching. Likely to support a wider range of conditions in the future.

  • Report valid_until timestamp for cache entries of the default handler through mysqlnd_qc_get_cache_info().

  • Include charset number for cache entry hashing. This should prevent serving result sets which have the wrong charset.

    API change: get_hash_key expects new "charsetnr" (int) parameter after "port".

  • API change: changing is_select() signature from bool is_select() to mixed is_select(). Mixed can be either boolean or array(long ttl, string server_id). This is needed by PECL/mysqlnd_ms.

Other

  • Support acting as a cache backend for PECL/mysqlnd_ms 1.3.0-beta or later to transparently replace MySQL Replication slave reads with cache accesses, if the user explicitly allows.

Bug fixes

  • Fixed Bug #59959 (config.m4, wrong library - 64bit memcached handler builds) (Credits: Remi Collet)


PECL/mysqlnd_qc 1.0 series

1.0.1-stable

  • Release date: 12/2010
  • Motto/theme: Prepared statement support

Added support for Prepared statements and unbuffered queries.

1.0.0-beta

  • Release date: 07/2010
  • Motto/theme: TTL-based cache with various storage options (Memcache, APC, SQLite, user-defined)

Initial public release of the transparent TTL-based query result cache. Flexible storage of cached results. Various storage media supported.


Mysqlnd user handler plugin

  • Introdução
  • Quickstart and Examples
    • Setup
    • How it works
    • Installing a proxy
    • Basic query monitoring
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • MysqlndUhConnection — The MysqlndUhConnection class
    • MysqlndUhConnection::changeUser — Changes the user of the specified mysqlnd database connection
    • MysqlndUhConnection::charsetName — Returns the default character set for the database connection
    • MysqlndUhConnection::close — Closes a previously opened database connection
    • MysqlndUhConnection::connect — Open a new connection to the MySQL server
    • MysqlndUhConnection::__construct — The __construct purpose
    • MysqlndUhConnection::endPSession — End a persistent connection
    • MysqlndUhConnection::escapeString — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • MysqlndUhConnection::getAffectedRows — Gets the number of affected rows in a previous MySQL operation
    • MysqlndUhConnection::getErrorNumber — Returns the error code for the most recent function call
    • MysqlndUhConnection::getErrorString — Returns a string description of the last error
    • MysqlndUhConnection::getFieldCount — Returns the number of columns for the most recent query
    • MysqlndUhConnection::getHostInformation — Returns a string representing the type of connection used
    • MysqlndUhConnection::getLastInsertId — Returns the auto generated id used in the last query
    • MysqlndUhConnection::getLastMessage — Retrieves information about the most recently executed query
    • MysqlndUhConnection::getProtocolInformation — Returns the version of the MySQL protocol used
    • MysqlndUhConnection::getServerInformation — Returns the version of the MySQL server
    • MysqlndUhConnection::getServerStatistics — Gets the current system status
    • MysqlndUhConnection::getServerVersion — Returns the version of the MySQL server as an integer
    • MysqlndUhConnection::getSqlstate — Returns the SQLSTATE error from previous MySQL operation
    • MysqlndUhConnection::getStatistics — Returns statistics about the client connection
    • MysqlndUhConnection::getThreadId — Returns the thread ID for the current connection
    • MysqlndUhConnection::getWarningCount — Returns the number of warnings from the last query for the given link
    • MysqlndUhConnection::init — Initialize mysqlnd connection
    • MysqlndUhConnection::killConnection — Asks the server to kill a MySQL thread
    • MysqlndUhConnection::listFields — List MySQL table fields
    • MysqlndUhConnection::listMethod — Wrapper for assorted list commands
    • MysqlndUhConnection::moreResults — Check if there are any more query results from a multi query
    • MysqlndUhConnection::nextResult — Prepare next result from multi_query
    • MysqlndUhConnection::ping — Pings a server connection, or tries to reconnect if the connection has gone down
    • MysqlndUhConnection::query — Performs a query on the database
    • MysqlndUhConnection::queryReadResultsetHeader — Read a result set header
    • MysqlndUhConnection::reapQuery — Get result from async query
    • MysqlndUhConnection::refreshServer — Flush or reset tables and caches
    • MysqlndUhConnection::restartPSession — Restart a persistent mysqlnd connection
    • MysqlndUhConnection::selectDb — Selects the default database for database queries
    • MysqlndUhConnection::sendClose — Sends a close command to MySQL
    • MysqlndUhConnection::sendQuery — Sends a query to MySQL
    • MysqlndUhConnection::serverDumpDebugInformation — Dump debugging information into the log for the MySQL server
    • MysqlndUhConnection::setAutocommit — Turns on or off auto-committing database modifications
    • MysqlndUhConnection::setCharset — Sets the default client character set
    • MysqlndUhConnection::setClientOption — Sets a client option
    • MysqlndUhConnection::setServerOption — Sets a server option
    • MysqlndUhConnection::shutdownServer — The shutdownServer purpose
    • MysqlndUhConnection::simpleCommand — Sends a basic COM_* command
    • MysqlndUhConnection::simpleCommandHandleResponse — Process a response for a basic COM_* command send to the client
    • MysqlndUhConnection::sslSet — Used for establishing secure connections using SSL
    • MysqlndUhConnection::stmtInit — Initializes a statement and returns a resource for use with mysqli_statement::prepare
    • MysqlndUhConnection::storeResult — Transfers a result set from the last query
    • MysqlndUhConnection::txCommit — Commits the current transaction
    • MysqlndUhConnection::txRollback — Rolls back current transaction
    • MysqlndUhConnection::useResult — Initiate a result set retrieval
  • MysqlndUhPreparedStatement — The MysqlndUhPreparedStatement class
    • MysqlndUhPreparedStatement::__construct — The __construct purpose
    • MysqlndUhPreparedStatement::execute — Executes a prepared Query
    • MysqlndUhPreparedStatement::prepare — Prepare an SQL statement for execution
  • Mysqlnd_uh Funções
    • mysqlnd_uh_convert_to_mysqlnd — Converts a MySQL connection handle into a mysqlnd connection handle
    • mysqlnd_uh_set_connection_proxy — Installs a proxy for mysqlnd connections
    • mysqlnd_uh_set_statement_proxy — Installs a proxy for mysqlnd statements
  • Change History
    • PECL/mysqlnd_uh 1.0 series


Introdução

The mysqlnd user handler plugin (mysqlnd_uh) allows users to set hooks for most internal calls of the MySQL native driver for PHP (mysqlnd). Mysqlnd and its plugins, including PECL/mysqlnd_uh, operate on a layer beneath the PHP MySQL extensions. A mysqlnd plugin can be considered as a proxy between the PHP MySQL extensions and the MySQL server as part of the PHP executable on the client-side. Because the plugins operates on their own layer below the PHP MySQL extensions, they can monitor and change application actions without requiring application changes. If the PHP MySQL extensions (mysqli, mysql, PDO_MYSQL) are compiled to use mysqlnd this can be used for:

  • Monitoring

    • Queries executed by any of the PHP MySQL extensions

    • Prepared statements executing by any of the PHP MySQL extensions

  • Auditing

    • Detection of database usage

    • SQL injection protection using black and white lists

  • Assorted

    • Load Balancing connections

The MySQL native driver for PHP (mysqlnd) features an internal plugin C API. C plugins, such as the mysqlnd user handler plugin, can extend the functionality of mysqlnd. PECL/mysqlnd_uh makes parts of the internal plugin C API available to the PHP user for plugin development with PHP.

Nota: Status

The mysqlnd user handler plugin is in alpha status. Take appropriate care before using it in production environments.

Security considerations

PECL/mysqlnd_uh gives users access to MySQL user names, MySQL password used by any of the PHP MySQL extensions to connect to MySQL. It allows monitoring of all queries and prepared statements exposing the statement string to the user. Therefore, the extension should be installed with care. The PHP_INI_SYSTEM configuration setting mysqlnd_uh.enable can be used to prevent users from hooking mysqlnd calls.

Code obfuscators and similar technologies are not suitable to prevent monitoring of mysqlnd library activities if PECL/mysqlnd_uh is made available and the user can install a proxy, for example, using auto_prepend_file.

Documentation note

Many of the mysqlnd_uh functions are briefly described because the mysqli extension is a thin abstraction layer on top of the MySQL C API that the mysqlnd library provides. Therefore, the corresponding mysqli documentation (along with the MySQL reference manual) can be consulted to receive more information about a particular function.

On the name

The shortcut mysqlnd_uh stands for mysqlnd user handler, and has been the name since early development.


Quickstart and Examples

Índice

  • Setup
  • How it works
  • Installing a proxy
  • Basic query monitoring

The mysqlnd user handler plugin can be understood as a client-side proxy for all PHP MySQL extensions (mysqli, mysql, PDO_MYSQL), if they are compiled to use the mysqlnd library. The extensions use the mysqlnd library internally, at the C level, to communicate with the MySQL server. PECL/mysqlnd_uh allows it to hook many mysqlnd calls. Therefore, most activities of the PHP MySQL extensions can be monitored.

Because monitoring happens at the level of the library, at a layer below the application, it is possible to monitor applications without changing them.

On the C level, the mysqlnd library is structured in modules or classes. The extension hooks almost all methods of the mysqlnd internal connection class and exposes them through the user space class MysqlndUhConnection. Some few methods of the mysqlnd internal statement class are made available to the PHP user with the class MysqlndUhPreparedStatement. By subclassing the classes MysqlndUhConnection and MysqlndUhPreparedStatement users get access to mysqlnd internal function calls.

Nota:

The internal mysqlnd function calls are not designed to be exposed to the PHP user. Manipulating their activities may cause PHP to crash or leak memory. Often, this is not considered a bug. Please, keep in mind that you are accessing C library functions through PHP which are expected to take certain actions, which you may not be able to emulate in user space. Therefore, it is strongly recommended to always call the parent method implementation when subclassing MysqlndUhConnection or MysqlndUhPreparedStatement. To prevent the worst case, the extension performs some sanity checks. Please, see also the Mysqlnd_uh Opções de Configuração.


Setup

The plugin is implemented as a PHP extension. See the installation instructions to install the » PECL/mysqlnd_uh extension. Then, load the extension into PHP and activate the plugin in the PHP configuration file using the PHP configuration directive named mysqlnd_uh.enable. The below example shows the default settings of the extension.

Exemplo #1 Enabling the plugin (php.ini)

mysqlnd_uh.enable=1
mysqlnd_uh.report_wrong_types=1


How it works

This describes the background and inner workings of the mysqlnd_uh extension.

Two classes are provided by the extension: MysqlndUhConnection and MysqlndUhPreparedStatement. MysqlndUhConnection lets you access almost all methods of the mysqlnd internal connection class. The latter exposes some selected methods of the mysqlnd internal statement class. For example, MysqlndUhConnection::connect() maps to the mysqlnd library C function mysqlnd_conn__connect.

As a mysqlnd plugin, the PECL/mysqlnd_uh extension replaces mysqlnd library C functions with its own functions. Whenever a PHP MySQL extension compiled to use mysqlnd calls a mysqlnd function, the functions installed by the plugin are executed instead of the original mysqlnd ones. For example, mysqli_connect() invokes mysqlnd_conn__connect, so the connect function installed by PECL/mysqlnd_uh will be called. The functions installed by PECL/mysqlnd_uh are the methods of the built-in classes.

The built-in PHP classes and their methods do nothing but call their mysqlnd C library counterparts, to behave exactly like the original mysqlnd function they replace. The code below illustrates in pseudo-code what the extension does.

Exemplo #1 Pseudo-code: what a built-in class does

class MysqlndUhConnection {
  public function connect(($conn, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
    MYSQLND* c_mysqlnd_connection = convert_from_php_to_c($conn);
    ...
    return call_c_function(mysqlnd_conn__connect(c_mysqlnd_connection, ...));
  }
}

The build-in classes behave like a transparent proxy. It is possible for you to replace the proxy with your own. This is done by subclassing MysqlndUhConnection or MysqlndUhPreparedStatement to extend the functionality of the proxy, followed by registering a new proxy object. Proxy objects are installed by mysqlnd_uh_set_connection_proxy() and mysqlnd_uh_set_statement_proxy().

Exemplo #2 Installing a proxy

<?php
class proxy extends MysqlndUhConnection {
 public function connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
?>

O exemplo acima irá imprimir:

proxy::connect(array (
  0 => NULL,
  1 => 'localhost',
  2 => 'root',
  3 => '',
  4 => 'test',
  5 => 3306,
  6 => NULL,
  7 => 131072,
))
proxy::connect returns true


Installing a proxy

The extension provides two built-in classes: MysqlndUhConnection and MysqlndUhPreparedStatement. The classes are used for hooking mysqlnd library calls. Their methods correspond to mysqlnd internal functions. By default they act like a transparent proxy and do nothing but call their mysqlnd counterparts. By subclassing the classes you can install your own proxy to monitor mysqlnd.

See also the How it works guide to learn about the inner workings of this extension.

Connection proxies are objects of the type MysqlndUhConnection. Connection proxy objects are installed by mysqlnd_uh_set_connection_proxy(). If you install the built-in class MysqlndUhConnection as a proxy, nothing happens. It behaves like a transparent proxy.

Exemplo #1 Proxy registration, mysqlnd_uh.enable=1

<?php
mysqlnd_uh_set_connection_proxy(new MysqlndUhConnection());
$mysqli = new mysqli("localhost", "root", "", "test");
?>

The PHP_INI_SYSTEM configuration setting mysqlnd_uh.enable controls whether a proxy may be set. If disabled, the extension will throw errors of type E_WARNING

Exemplo #2 Proxy installation disabled

mysqlnd_uh.enable=0
<?php
mysqlnd_uh_set_connection_proxy(new MysqlndUhConnection());
$mysqli = new mysqli("localhost", "root", "", "test");
?>

O exemplo acima irá imprimir:

PHP Warning:  MysqlndUhConnection::__construct(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enabled = false.  You must not use any of the base classes in %s on line %d
PHP Warning:  mysqlnd_uh_set_connection_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed  in %s on line %d

To monitor mysqlnd, you have to write your own proxy object subclassing MysqlndUhConnection. Please, see the function reference for a the list of methods that can be subclassed. Alternatively, you can use reflection to inspect the built-in MysqlndUhConnection.

Create a new class proxy. Derive it from the built-in class MysqlndUhConnection. Replace the MysqlndUhConnection::connect(). method. Print out the host parameter value passed to the method. Make sure that you call the parent implementation of the connect method. Failing to do so may give unexpected and undesired results, including memory leaks and crashes.

Register your proxy and open three connections using the PHP MySQL extensions mysqli, mysql, PDO_MYSQL. If the extensions have been compiled to use the mysqlnd library, the proxy::connect method will be called three times, once for each connection opened.

Exemplo #3 Connection proxy

<?php
class proxy extends MysqlndUhConnection {
  public function connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
   printf("Connection opened to '%s'\n", $host);
   /* Always call the parent implementation! */
   return parent::connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags);
  }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysql = mysql_connect("localhost", "root", "");
$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "");
?>

O exemplo acima irá imprimir:

Connection opened to 'localhost'
Connection opened to 'localhost'
Connection opened to 'localhost'

The use of prepared statement proxies follows the same pattern: create a proxy object of the type MysqlndUhPreparedStatement and install the proxy using mysqlnd_uh_set_statement_proxy().

Exemplo #4 Prepared statement proxy

<?php
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function prepare($res, $query) {
  printf("%s(%s)\n", __METHOD__, $query);
  return parent::prepare($res, $query);
 }
}
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 'mysqlnd hacking made easy' AS _msg FROM DUAL");
?>

O exemplo acima irá imprimir:

stmt_proxy::prepare(SELECT 'mysqlnd hacking made easy' AS _msg FROM DUAL)


Basic query monitoring

Basic monitoring of a query statement is easy with PECL/mysqlnd_uh. Combined with debug_print_backtrace() it can become a powerful tool, for example, to find the origin of certain statement. This may be desired when searching for slow queries but also after database refactoring to find code still accessing deprecated databases or tables. The latter may be a complicated matter to do otherwise, especially if the application uses auto-generated queries.

Exemplo #1 Basic Monitoring

<?php
class conn_proxy extends MysqlndUhConnection {
 public function query($res, $query) {
  debug_print_backtrace();
  return parent::query($res, $query);
 }
}
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function prepare($res, $query) {
  debug_print_backtrace();
  return parent::prepare($res, $query);
 }
}
mysqlnd_uh_set_connection_proxy(new conn_proxy());
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

printf("Proxies installed...\n");
$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "");
var_dump($pdo->query("SELECT 1 AS _one FROM DUAL")->fetchAll(PDO::FETCH_ASSOC));

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->prepare("SELECT 1 AS _two FROM DUAL");
?>

O exemplo acima irá imprimir:

#0  conn_proxy->query(Resource id #19, SELECT 1 AS _one FROM DUAL)
#1  PDO->query(SELECT 1 AS _one FROM DUAL) called at [example.php:19]
array(1) {
  [0]=>
  array(1) {
    ["_one"]=>
    string(1) "1"
  }
}
#0  stmt_proxy->prepare(Resource id #753, SELECT 1 AS _two FROM DUAL)
#1  mysqli->prepare(SELECT 1 AS _two FROM DUAL) called at [example.php:22]

For basic query monitoring you should install a connection and a prepared statement proxy. The connection proxy should subclass MysqlndUhConnection::query(). All database queries not using native prepared statements will call this method. In the example the query function is invoked by a PDO call. By default, PDO_MySQL is using prepared statement emulation.

All native prepared statements are prepared with the prepare method of mysqlnd exported through MysqlndUhPreparedStatement::prepare(). Subclass MysqlndUhPreparedStatement and overwrite prepare for native prepared statement monitoring.


Dependências

PHP 5.3.3 or later. It is recommended to use PHP 5.4.0 or later to get access to the latest mysqlnd features.

The mysqlnd_uh user handler plugin supports all PHP applications and all available PHP MySQL extensions (mysqli, mysql, PDO_MYSQL). The PHP MySQL extension must be configured to use mysqlnd in order to be able to use the mysqlnd_uh plugin for mysqlnd.

The alpha versions makes use of some mysqli features. You must enable mysqli to compile the plugin. This requirement may be removed in the future. Note, that this requirement does not restrict you to use the plugin only with mysqli. You can use the plugin to monitor mysql, mysqli and PDO_MYSQL.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/mysqlnd-uh

PECL/mysqlnd_uh is currently not available on Windows. The source code of the extension makes use of C99 constructs not allowed with PHP Windows builds.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Mysqlnd_uh Opções de Configuração
Nome | Padrão | Modificável | Changelog
mysqlnd_uh.enable | 1 | PHP_INI_SYSTEM |
mysqlnd_uh.report_wrong_types | 1 | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

mysqlnd_uh.enable int

Enables or disables the plugin. If set to disabled, the extension will not allow users to plug into mysqlnd to hook mysqlnd calls.

mysqlnd_uh.report_wrong_types int

Whether to report wrong return value types of user hooks as E_WARNING level errors. This is recommended for detecting errors.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Most of the constants refer to details of the MySQL Client Server Protocol. Please, refer to the MySQL reference manual to learn about their meaning. To avoid content duplication, only short descriptions are given.

MysqlndUhConnection::simpleCommand() related

The following constants can be used to detect what command is to be send through MysqlndUhConnection::simpleCommand().

MYSQLND_UH_MYSQLND_COM_SLEEP (int)
MySQL Client Server protocol command: COM_SLEEP.
MYSQLND_UH_MYSQLND_COM_QUIT (int)
MySQL Client Server protocol command: COM_QUIT.
MYSQLND_UH_MYSQLND_COM_INIT_DB (int)
MySQL Client Server protocol command: COM_INIT_DB.
MYSQLND_UH_MYSQLND_COM_QUERY (int)
MySQL Client Server protocol command: COM_QUERY.
MYSQLND_UH_MYSQLND_COM_FIELD_LIST (int)
MySQL Client Server protocol command: COM_FIELD_LIST.
MYSQLND_UH_MYSQLND_COM_CREATE_DB (int)
MySQL Client Server protocol command: COM_CREATE_DB.
MYSQLND_UH_MYSQLND_COM_DROP_DB (int)
MySQL Client Server protocol command: COM_DROP_DB.
MYSQLND_UH_MYSQLND_COM_REFRESH (int)
MySQL Client Server protocol command: COM_REFRESH.
MYSQLND_UH_MYSQLND_COM_SHUTDOWN (int)
MySQL Client Server protocol command: COM_SHUTDOWN.
MYSQLND_UH_MYSQLND_COM_STATISTICS (int)
MySQL Client Server protocol command: COM_STATISTICS.
MYSQLND_UH_MYSQLND_COM_PROCESS_INFO (int)
MySQL Client Server protocol command: COM_PROCESS_INFO.
MYSQLND_UH_MYSQLND_COM_CONNECT (int)
MySQL Client Server protocol command: COM_CONNECT.
MYSQLND_UH_MYSQLND_COM_PROCESS_KILL (int)
MySQL Client Server protocol command: COM_PROCESS_KILL.
MYSQLND_UH_MYSQLND_COM_DEBUG (int)
MySQL Client Server protocol command: COM_DEBUG.
MYSQLND_UH_MYSQLND_COM_PING (int)
MySQL Client Server protocol command: COM_PING.
MYSQLND_UH_MYSQLND_COM_TIME (int)
MySQL Client Server protocol command: COM_TIME.
MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT (int)
MySQL Client Server protocol command: COM_DELAYED_INSERT.
MYSQLND_UH_MYSQLND_COM_CHANGE_USER (int)
MySQL Client Server protocol command: COM_CHANGE_USER.
MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP (int)
MySQL Client Server protocol command: COM_BINLOG_DUMP.
MYSQLND_UH_MYSQLND_COM_TABLE_DUMP (int)
MySQL Client Server protocol command: COM_TABLE_DUMP.
MYSQLND_UH_MYSQLND_COM_CONNECT_OUT (int)
MySQL Client Server protocol command: COM_CONNECT_OUT.
MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED (int)
MySQL Client Server protocol command: COM_REGISTER_SLAVED.
MYSQLND_UH_MYSQLND_COM_STMT_PREPARE (int)
MySQL Client Server protocol command: COM_STMT_PREPARE.
MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE (int)
MySQL Client Server protocol command: COM_STMT_EXECUTE.
MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA (int)
MySQL Client Server protocol command: COM_STMT_SEND_LONG_DATA.
MYSQLND_UH_MYSQLND_COM_STMT_CLOSE (int)
MySQL Client Server protocol command: COM_STMT_CLOSE.
MYSQLND_UH_MYSQLND_COM_STMT_RESET (int)
MySQL Client Server protocol command: COM_STMT_RESET.
MYSQLND_UH_MYSQLND_COM_SET_OPTION (int)
MySQL Client Server protocol command: COM_SET_OPTION.
MYSQLND_UH_MYSQLND_COM_STMT_FETCH (int)
MySQL Client Server protocol command: COM_STMT_FETCH.
MYSQLND_UH_MYSQLND_COM_DAEMON (int)
MySQL Client Server protocol command: COM_DAEMON.
MYSQLND_UH_MYSQLND_COM_END (int)
MySQL Client Server protocol command: COM_END.

The following constants can be used to analyze the ok_packet argument of MysqlndUhConnection::simpleCommand().

MYSQLND_UH_MYSQLND_PROT_GREET_PACKET (int)
MySQL Client Server protocol packet: greeting.
MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET (int)
MySQL Client Server protocol packet: authentication.
MYSQLND_UH_MYSQLND_PROT_OK_PACKET (int)
MySQL Client Server protocol packet: OK.
MYSQLND_UH_MYSQLND_PROT_EOF_PACKET (int)
MySQL Client Server protocol packet: EOF.
MYSQLND_UH_MYSQLND_PROT_CMD_PACKET (int)
MySQL Client Server protocol packet: command.
MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET (int)
MySQL Client Server protocol packet: result set header.
MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET (int)
MySQL Client Server protocol packet: resultset field.
MYSQLND_UH_MYSQLND_PROT_ROW_PACKET (int)
MySQL Client Server protocol packet: row.
MYSQLND_UH_MYSQLND_PROT_STATS_PACKET (int)
MySQL Client Server protocol packet: stats.
MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET (int)
MySQL Client Server protocol packet: prepare response.
MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET (int)
MySQL Client Server protocol packet: change user response.
MYSQLND_UH_MYSQLND_PROT_LAST (int)
No practical meaning. Last entry marker of internal C data structure list.

MysqlndUhConnection::close() related

The following constants can be used to detect why a connection has been closed through MysqlndUhConnection::close().

MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT (int)
User has called mysqlnd to close the connection.
MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT (int)
Implicitly closed, for example, during garbage connection.
MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED (int)
Connection error.
MYSQLND_UH_MYSQLND_CLOSE_LAST (int)
No practical meaning. Last entry marker of internal C data structure list.

MysqlndUhConnection::setServerOption() related

The following constants can be used to detect which option is set through MysqlndUhConnection::setServerOption().

MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON (int)
Option: enables multi statement support.
MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_OFF (int)
Option: disables multi statement support.

MysqlndUhConnection::setClientOption() related

The following constants can be used to detect which option is set through MysqlndUhConnection::setClientOption().

MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT (int)
Option: connection timeout.
MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS (int)
Option: whether the MySQL compressed protocol is to be used.
MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE (int)
Option: named pipe to use for connection (Windows).
MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND (int)
Option: init command to execute upon connect.
MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE (int)
Option: MySQL server default file to read upon connect.
MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP (int)
Option: MySQL server default file group to read upon connect.
MYSQLND_UH_MYSQLND_SET_CHARSET_DIR (int)
Option: charset description files directory.
MYSQLND_UH_MYSQLND_SET_CHARSET_NAME (int)
Option: charset name.
MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE (int)
Option: Whether to allow LOAD DATA LOCAL INFILE use.
MYSQLND_UH_MYSQLND_OPT_PROTOCOL (int)
Option: supported protocol version.
MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME (int)
Option: shared memory base name for shared memory connections.
MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT (int)
Option: connection read timeout.
MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT (int)
Option: connection write timeout.
MYSQLND_UH_MYSQLND_OPT_USE_RESULT (int)
Option: unbuffered result sets.
MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION (int)
Embedded server related.
MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION (int)
Embedded server related.
MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION (int)
TODO
MYSQLND_UH_MYSQLND_SET_CLIENT_IP (int)
TODO
MYSQLND_UH_MYSQLND_SECURE_AUTH (int)
TODO
MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION (int)
Option: Whether to report data truncation.
MYSQLND_UH_MYSQLND_OPT_RECONNECT (int)
Option: Whether to reconnect automatically.
MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT (int)
Option: TODO
MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE (int)
Option: mysqlnd network buffer size for commands.
MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE (int)
Option: mysqlnd network buffer size for reading from the server.
MYSQLND_UH_MYSQLND_OPT_SSL_KEY (int)
Option: SSL key.
MYSQLND_UH_MYSQLND_OPT_SSL_CERT (int)
Option: SSL certificate.
MYSQLND_UH_MYSQLND_OPT_SSL_CA (int)
Option: SSL CA.
MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH (int)
Option: Path to SSL CA.
MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER (int)
Option: SSL cipher.
MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE (int)
Option: SSL passphrase.
MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR (int)
Option: server plugin directory.
MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH (int)
Option: default authentication method.
MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP (int)
TODO
MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET (int)
Option: maximum allowed packet size. Available as of PHP 5.4.0.
MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL (int)
Option: TODO. Available as of PHP 5.4.0.
MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE (int)
Option: make mysqlnd return integer and float columns as long even when using the MySQL Client Server text protocol. Only available with a custom build of mysqlnd.

Other

The plugins version number can be obtained using MYSQLND_UH_VERSION or MYSQLND_UH_VERSION_ID. MYSQLND_UH_VERSION is the string representation of the numerical version number MYSQLND_UH_VERSION_ID, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
MYSQLND_UH_VERSION_ID | 10000

MYSQLND_UH_VERSION (string)
Plugin version string, for example, 1.0.0-alpha.
MYSQLND_UH_VERSION_ID (int)
Plugin version number, for example, 10000.


The MysqlndUhConnection class

(PECL mysqlnd-uh >= 1.0.0-alpha)

Introdução

Sinopse da classe

MysqlndUhConnection {
/* Métodos */
public changeUser ( mysqlnd_connection $connection , string $user , string $password , string $database , bool $silent , int $passwd_len ) : bool
public charsetName ( mysqlnd_connection $connection ) : string
public close ( mysqlnd_connection $connection , int $close_type ) : bool
public connect ( mysqlnd_connection $connection , string $host , string $use" , string $password , string $database , int $port , string $socket , int $mysql_flags ) : bool
public __construct ( )
public endPSession ( mysqlnd_connection $connection ) : bool
public escapeString ( mysqlnd_connection $connection , string $escape_string ) : string
public getAffectedRows ( mysqlnd_connection $connection ) : int
public getErrorNumber ( mysqlnd_connection $connection ) : int
public getErrorString ( mysqlnd_connection $connection ) : string
public getFieldCount ( mysqlnd_connection $connection ) : int
public getHostInformation ( mysqlnd_connection $connection ) : string
public getLastInsertId ( mysqlnd_connection $connection ) : int
public getLastMessage ( mysqlnd_connection $connection ) : void
public getProtocolInformation ( mysqlnd_connection $connection ) : string
public getServerInformation ( mysqlnd_connection $connection ) : string
public getServerStatistics ( mysqlnd_connection $connection ) : string
public getServerVersion ( mysqlnd_connection $connection ) : int
public getSqlstate ( mysqlnd_connection $connection ) : string
public getStatistics ( mysqlnd_connection $connection ) : array
public getThreadId ( mysqlnd_connection $connection ) : int
public getWarningCount ( mysqlnd_connection $connection ) : int
public init ( mysqlnd_connection $connection ) : bool
public killConnection ( mysqlnd_connection $connection , int $pid ) : bool
public listFields ( mysqlnd_connection $connection , string $table , string $achtung_wild ) : array
public listMethod ( mysqlnd_connection $connection , string $query , string $achtung_wild , string $par1 ) : void
public moreResults ( mysqlnd_connection $connection ) : bool
public nextResult ( mysqlnd_connection $connection ) : bool
public ping ( mysqlnd_connection $connection ) : bool
public query ( mysqlnd_connection $connection , string $query ) : bool
public queryReadResultsetHeader ( mysqlnd_connection $connection , mysqlnd_statement $mysqlnd_stmt ) : bool
public reapQuery ( mysqlnd_connection $connection ) : bool
public refreshServer ( mysqlnd_connection $connection , int $options ) : bool
public restartPSession ( mysqlnd_connection $connection ) : bool
public selectDb ( mysqlnd_connection $connection , string $database ) : bool
public sendClose ( mysqlnd_connection $connection ) : bool
public sendQuery ( mysqlnd_connection $connection , string $query ) : bool
public serverDumpDebugInformation ( mysqlnd_connection $connection ) : bool
public setAutocommit ( mysqlnd_connection $connection , int $mode ) : bool
public setCharset ( mysqlnd_connection $connection , string $charset ) : bool
public setClientOption ( mysqlnd_connection $connection , int $option , int $value ) : bool
public setServerOption ( mysqlnd_connection $connection , int $option ) : void
public shutdownServer ( string $MYSQLND_UH_RES_MYSQLND_NAME , string $level ) : void
public simpleCommand ( mysqlnd_connection $connection , int $command , string $arg , int $ok_packet , bool $silent , bool $ignore_upsert_status ) : bool
public simpleCommandHandleResponse ( mysqlnd_connection $connection , int $ok_packet , bool $silent , int $command , bool $ignore_upsert_status ) : bool
public sslSet ( mysqlnd_connection $connection , string $key , string $cert , string $ca , string $capath , string $cipher ) : bool
public stmtInit ( mysqlnd_connection $connection ) : resource
public storeResult ( mysqlnd_connection $connection ) : resource
public txCommit ( mysqlnd_connection $connection ) : bool
public txRollback ( mysqlnd_connection $connection ) : bool
public useResult ( mysqlnd_connection $connection ) : resource
}

Índice

  • MysqlndUhConnection::changeUser — Changes the user of the specified mysqlnd database connection
  • MysqlndUhConnection::charsetName — Returns the default character set for the database connection
  • MysqlndUhConnection::close — Closes a previously opened database connection
  • MysqlndUhConnection::connect — Open a new connection to the MySQL server
  • MysqlndUhConnection::__construct — The __construct purpose
  • MysqlndUhConnection::endPSession — End a persistent connection
  • MysqlndUhConnection::escapeString — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • MysqlndUhConnection::getAffectedRows — Gets the number of affected rows in a previous MySQL operation
  • MysqlndUhConnection::getErrorNumber — Returns the error code for the most recent function call
  • MysqlndUhConnection::getErrorString — Returns a string description of the last error
  • MysqlndUhConnection::getFieldCount — Returns the number of columns for the most recent query
  • MysqlndUhConnection::getHostInformation — Returns a string representing the type of connection used
  • MysqlndUhConnection::getLastInsertId — Returns the auto generated id used in the last query
  • MysqlndUhConnection::getLastMessage — Retrieves information about the most recently executed query
  • MysqlndUhConnection::getProtocolInformation — Returns the version of the MySQL protocol used
  • MysqlndUhConnection::getServerInformation — Returns the version of the MySQL server
  • MysqlndUhConnection::getServerStatistics — Gets the current system status
  • MysqlndUhConnection::getServerVersion — Returns the version of the MySQL server as an integer
  • MysqlndUhConnection::getSqlstate — Returns the SQLSTATE error from previous MySQL operation
  • MysqlndUhConnection::getStatistics — Returns statistics about the client connection
  • MysqlndUhConnection::getThreadId — Returns the thread ID for the current connection
  • MysqlndUhConnection::getWarningCount — Returns the number of warnings from the last query for the given link
  • MysqlndUhConnection::init — Initialize mysqlnd connection
  • MysqlndUhConnection::killConnection — Asks the server to kill a MySQL thread
  • MysqlndUhConnection::listFields — List MySQL table fields
  • MysqlndUhConnection::listMethod — Wrapper for assorted list commands
  • MysqlndUhConnection::moreResults — Check if there are any more query results from a multi query
  • MysqlndUhConnection::nextResult — Prepare next result from multi_query
  • MysqlndUhConnection::ping — Pings a server connection, or tries to reconnect if the connection has gone down
  • MysqlndUhConnection::query — Performs a query on the database
  • MysqlndUhConnection::queryReadResultsetHeader — Read a result set header
  • MysqlndUhConnection::reapQuery — Get result from async query
  • MysqlndUhConnection::refreshServer — Flush or reset tables and caches
  • MysqlndUhConnection::restartPSession — Restart a persistent mysqlnd connection
  • MysqlndUhConnection::selectDb — Selects the default database for database queries
  • MysqlndUhConnection::sendClose — Sends a close command to MySQL
  • MysqlndUhConnection::sendQuery — Sends a query to MySQL
  • MysqlndUhConnection::serverDumpDebugInformation — Dump debugging information into the log for the MySQL server
  • MysqlndUhConnection::setAutocommit — Turns on or off auto-committing database modifications
  • MysqlndUhConnection::setCharset — Sets the default client character set
  • MysqlndUhConnection::setClientOption — Sets a client option
  • MysqlndUhConnection::setServerOption — Sets a server option
  • MysqlndUhConnection::shutdownServer — The shutdownServer purpose
  • MysqlndUhConnection::simpleCommand — Sends a basic COM_* command
  • MysqlndUhConnection::simpleCommandHandleResponse — Process a response for a basic COM_* command send to the client
  • MysqlndUhConnection::sslSet — Used for establishing secure connections using SSL
  • MysqlndUhConnection::stmtInit — Initializes a statement and returns a resource for use with mysqli_statement::prepare
  • MysqlndUhConnection::storeResult — Transfers a result set from the last query
  • MysqlndUhConnection::txCommit — Commits the current transaction
  • MysqlndUhConnection::txRollback — Rolls back current transaction
  • MysqlndUhConnection::useResult — Initiate a result set retrieval


Changes the user of the specified mysqlnd database connection

  • « MysqlndUhConnection
  • MysqlndUhConnection::charsetName »
  • PHP Manual
  • MysqlndUhConnection
  • Changes the user of the specified mysqlnd database connection

MysqlndUhConnection::changeUser

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::changeUser — Changes the user of the specified mysqlnd database connection

Descrição

public MysqlndUhConnection::changeUser ( mysqlnd_connection $connection , string $user , string $password , string $database , bool $silent , int $passwd_len ) : bool

Changes the user of the specified mysqlnd database connection

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

user

The MySQL user name.

password

The MySQL password.

database

The MySQL database to change to.

silent

Controls if mysqlnd is allowed to emit errors or not.

passwd_len

Length of the MySQL password.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::changeUser() example

<?php
class proxy extends MysqlndUhConnection {
 /* Hook mysqlnd's connection::change_user call */
 public function changeUser($res, $user, $passwd, $db, $silent, $passwd_len) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::changeUser($res, $user, $passwd, $db, $silent, $passwd_len);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
/* Install proxy/hooks to be used with all future mysqlnd connection */
mysqlnd_uh_set_connection_proxy(new proxy());

/* Create mysqli connection which is using the mysqlnd library */
$mysqli = new mysqli("localhost", "root", "", "test");

/* Example of a user API call which triggers the hooked mysqlnd call */
var_dump($mysqli->change_user("root", "bar", "test"));
?>

O exemplo acima irá imprimir:

proxy::changeUser(array (
  0 => NULL,
  1 => 'root',
  2 => 'bar',
  3 => 'test',
  4 => false,
  5 => 3,
))
proxy::changeUser returns false
bool(false)

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_change_user() - Modifica o usuário para a conexão com o banco de dados especificada


Returns the default character set for the database connection

  • « MysqlndUhConnection::changeUser
  • MysqlndUhConnection::close »
  • PHP Manual
  • MysqlndUhConnection
  • Returns the default character set for the database connection

MysqlndUhConnection::charsetName

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::charsetName — Returns the default character set for the database connection

Descrição

public MysqlndUhConnection::charsetName ( mysqlnd_connection $connection ) : string

Returns the default character set for the database connection.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

The default character set.

Exemplos

Exemplo #1 MysqlndUhConnection::charsetName() example

<?php
class proxy extends MysqlndUhConnection {
  public function charsetName($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::charsetName($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump(mysqli_character_set_name($mysqli));
?>

O exemplo acima irá imprimir:

proxy::charsetName(array (
  0 => NULL,
))
proxy::charsetName returns 'latin1'
string(6) "latin1"

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_character_set_name() - Retorna o conjunto de caracteres padrão para a conexão com o banco de dados


Closes a previously opened database connection

  • « MysqlndUhConnection::charsetName
  • MysqlndUhConnection::connect »
  • PHP Manual
  • MysqlndUhConnection
  • Closes a previously opened database connection

MysqlndUhConnection::close

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::close — Closes a previously opened database connection

Descrição

public MysqlndUhConnection::close ( mysqlnd_connection $connection , int $close_type ) : bool

Closes a previously opened database connection.

Nota:

Failing to call the parent implementation may cause memory leaks or crash PHP. This is not considered a bug. Please, keep in mind that the mysqlnd library functions have never been designed to be exposed to the user space.

Parâmetros

connection

The connection to be closed. Do not modify!

close_type

Why the connection is to be closed. The value of close_type is one of MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT, MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT, MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED or MYSQLND_UH_MYSQLND_CLOSE_LAST. The latter should never be seen, unless the default behaviour of the mysqlnd library has been changed by a plugin.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::close() example

<?php
function close_type_to_string($close_type) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED => "MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED",
  MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT => "MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT",
  MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT => "MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT",
  MYSQLND_UH_MYSQLND_CLOSE_LAST => "MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT"
 );
 return (isset($mapping[$close_type])) ? $mapping[$close_type] : 'unknown';
}

class proxy extends MysqlndUhConnection {
  public function close($res, $close_type) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   printf("close_type = %s\n", close_type_to_string($close_type));
   /* WARNING: you must call the parent */
   $ret = parent::close($res, $close_type);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->close();
?>

O exemplo acima irá imprimir:

proxy::close(array (
  0 => NULL,
  1 => 0,
))
close_type = MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT
proxy::close returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_close() - Fecha uma conexão aberta anteriormente com o banco de dados
  • mysql_close() - Fecha a conexão MySQL


Open a new connection to the MySQL server

  • « MysqlndUhConnection::close
  • MysqlndUhConnection::__construct »
  • PHP Manual
  • MysqlndUhConnection
  • Open a new connection to the MySQL server

MysqlndUhConnection::connect

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::connect — Open a new connection to the MySQL server

Descrição

public MysqlndUhConnection::connect ( mysqlnd_connection $connection , string $host , string $use" , string $password , string $database , int $port , string $socket , int $mysql_flags ) : bool

Open a new connection to the MySQL server.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

host

Can be either a host name or an IP address. Passing the NULL value or the string "localhost" to this parameter, the local host is assumed. When possible, pipes will be used instead of the TCP/IP protocol.

user

The MySQL user name.

password

If not provided or null, the MySQL server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password as provided or not).

database

If provided will specify the default database to be used when performing queries.

port

Specifies the port number to attempt to connect to the MySQL server.

socket

Specifies the socket or named pipe that should be used. If null, mysqlnd will default to /tmp/mysql.sock.

mysql_flags

Connection options.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::connect() example

<?php
class proxy extends MysqlndUhConnection {
 public function connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
?>

O exemplo acima irá imprimir:

proxy::connect(array (
  0 => NULL,
  1 => 'localhost',
  2 => 'root',
  3 => '',
  4 => 'test',
  5 => 3306,
  6 => NULL,
  7 => 131072,
))
proxy::connect returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_connect() - Sinônimo de mysqli::__construct
  • mysql_connect() - Abre uma conexão com um servidor MySQL


The __construct purpose

  • « MysqlndUhConnection::connect
  • MysqlndUhConnection::endPSession »
  • PHP Manual
  • MysqlndUhConnection
  • The __construct purpose

MysqlndUhConnection::__construct

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::__construct — The __construct purpose

Descrição

public MysqlndUhConnection::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


End a persistent connection

  • « MysqlndUhConnection::__construct
  • MysqlndUhConnection::escapeString »
  • PHP Manual
  • MysqlndUhConnection
  • End a persistent connection

MysqlndUhConnection::endPSession

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::endPSession — End a persistent connection

Descrição

public MysqlndUhConnection::endPSession ( mysqlnd_connection $connection ) : bool

End a persistent connection

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::endPSession() example

<?php
class proxy extends MysqlndUhConnection {
 public function endPSession($conn) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::endPSession($conn);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("p:localhost", "root", "", "test");
$mysqli->close();
?>

O exemplo acima irá imprimir:

proxy::endPSession(array (
  0 => NULL,
))
proxy::endPSession returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections


Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

  • « MysqlndUhConnection::endPSession
  • MysqlndUhConnection::getAffectedRows »
  • PHP Manual
  • MysqlndUhConnection
  • Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

MysqlndUhConnection::escapeString

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::escapeString — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

Descrição

public MysqlndUhConnection::escapeString ( mysqlnd_connection $connection , string $escape_string ) : string

Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection.

Parâmetros

MYSQLND_UH_RES_MYSQLND_NAME

Mysqlnd connection handle. Do not modify!

escape_string

The string to be escaped.

Valor Retornado

The escaped string.

Exemplos

Exemplo #1 MysqlndUhConnection::escapeString() example

<?php
class proxy extends MysqlndUhConnection {
 public function escapeString($res, $string) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::escapeString($res, $string);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->set_charset("latin1");
$mysqli->real_escape_string("test0'test");
?>

O exemplo acima irá imprimir:

proxy::escapeString(array (
  0 => NULL,
  1 => 'test0\'test',
))
proxy::escapeString returns 'test0\\\'test'

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • mysql_real_escape_string() - Escapa os caracteres especiais numa string para usar em um comando SQL, levando em conta o conjunto atual de caracteres.


Gets the number of affected rows in a previous MySQL operation

  • « MysqlndUhConnection::escapeString
  • MysqlndUhConnection::getErrorNumber »
  • PHP Manual
  • MysqlndUhConnection
  • Gets the number of affected rows in a previous MySQL operation

MysqlndUhConnection::getAffectedRows

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getAffectedRows — Gets the number of affected rows in a previous MySQL operation

Descrição

public MysqlndUhConnection::getAffectedRows ( mysqlnd_connection $connection ) : int

Gets the number of affected rows in a previous MySQL operation.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Number of affected rows.

Exemplos

Exemplo #1 MysqlndUhConnection::getAffectedRows() example

<?php
class proxy extends MysqlndUhConnection {
 public function getAffectedRows($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getAffectedRows($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1)");
var_dump($mysqli->affected_rows);
?>

O exemplo acima irá imprimir:

proxy::getAffectedRows(array (
  0 => NULL,
))
proxy::getAffectedRows returns 1
int(1)

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_affected_rows() - Retorna o número de linhas afetadas pela operação MySQL anterior
  • mysql_affected_rows() - Obtém o número de linhas afetadas na operação anterior do MySQL


Returns the error code for the most recent function call

  • « MysqlndUhConnection::getAffectedRows
  • MysqlndUhConnection::getErrorString »
  • PHP Manual
  • MysqlndUhConnection
  • Returns the error code for the most recent function call

MysqlndUhConnection::getErrorNumber

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getErrorNumber — Returns the error code for the most recent function call

Descrição

public MysqlndUhConnection::getErrorNumber ( mysqlnd_connection $connection ) : int

Returns the error code for the most recent function call.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Error code for the most recent function call.

Exemplos

MysqlndUhConnection::getErrorNumber() is not only executed after the invocation of a user space API call which maps directly to it but also called internally.

Exemplo #1 MysqlndUhConnection::getErrorNumber() example

<?php
class proxy extends MysqlndUhConnection {
 public function getErrorNumber($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getErrorNumber($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

printf("connect...\n");
$mysqli = new mysqli("localhost", "root", "", "test");
printf("query...\n");
$mysqli->query("PLEASE_LET_THIS_BE_INVALID_SQL");
printf("errno...\n");
var_dump($mysqli->errno);
printf("close...\n");
$mysqli->close();
?>

O exemplo acima irá imprimir:

connect...
proxy::getErrorNumber(array (
  0 => NULL,
))
proxy::getErrorNumber returns 0
query...
errno...
proxy::getErrorNumber(array (
  0 => NULL,
))
proxy::getErrorNumber returns 1064
int(1064)
close...

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • MysqlndUhConnection::getErrorString() - Returns a string description of the last error
  • mysqli_errno() - Retorna o código de erro para a chamada de função mais recente
  • mysql_errno() - Retorna o valor numérico da mensagem de erro da operação MySQL anterior


Returns a string description of the last error

  • « MysqlndUhConnection::getErrorNumber
  • MysqlndUhConnection::getFieldCount »
  • PHP Manual
  • MysqlndUhConnection
  • Returns a string description of the last error

MysqlndUhConnection::getErrorString

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getErrorString — Returns a string description of the last error

Descrição

public MysqlndUhConnection::getErrorString ( mysqlnd_connection $connection ) : string

Returns a string description of the last error.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Error string for the most recent function call.

Exemplos

MysqlndUhConnection::getErrorString() is not only executed after the invocation of a user space API call which maps directly to it but also called internally.

Exemplo #1 MysqlndUhConnection::getErrorString() example

<?php
class proxy extends MysqlndUhConnection {
 public function getErrorString($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getErrorString($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

printf("connect...\n");
$mysqli = new mysqli("localhost", "root", "", "test");
printf("query...\n");
$mysqli->query("WILL_I_EVER_LEARN_SQL?");
printf("errno...\n");
var_dump($mysqli->error);
printf("close...\n");
$mysqli->close();
?>

O exemplo acima irá imprimir:

connect...
proxy::getErrorString(array (
  0 => NULL,
))
proxy::getErrorString returns ''
query...
errno...
proxy::getErrorString(array (
  0 => NULL,
))
proxy::getErrorString returns 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'WILL_I_EVER_LEARN_SQL?\' at line 1'
string(168) "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WILL_I_EVER_LEARN_SQL?' at line 1"
close...

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • MysqlndUhConnection::getErrorNumber() - Returns the error code for the most recent function call
  • mysqli_error() - Retorna uma string descrevendo o ultimo erro
  • mysql_error() - Retorna o texto da mensagem de erro da operação MySQL anterior


Returns the number of columns for the most recent query

  • « MysqlndUhConnection::getErrorString
  • MysqlndUhConnection::getHostInformation »
  • PHP Manual
  • MysqlndUhConnection
  • Returns the number of columns for the most recent query

MysqlndUhConnection::getFieldCount

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getFieldCount — Returns the number of columns for the most recent query

Descrição

public MysqlndUhConnection::getFieldCount ( mysqlnd_connection $connection ) : int

Returns the number of columns for the most recent query.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Number of columns.

Exemplos

MysqlndUhConnection::getFieldCount() is not only executed after the invocation of a user space API call which maps directly to it but also called internally.

Exemplo #1 MysqlndUhConnection::getFieldCount() example

<?php
class proxy extends MysqlndUhConnection {
 public function getFieldCount($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getFieldCount($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("WILL_I_EVER_LEARN_SQL?");
var_dump($mysqli->field_count);
$mysqli->query("SELECT 1, 2, 3 FROM DUAL");
var_dump($mysqli->field_count);
?>

O exemplo acima irá imprimir:

proxy::getFieldCount(array (
  0 => NULL,
))
proxy::getFieldCount returns 0
int(0)
proxy::getFieldCount(array (
  0 => NULL,
))
proxy::getFieldCount returns 3
proxy::getFieldCount(array (
  0 => NULL,
))
proxy::getFieldCount returns 3
int(3)

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_field_count() - Retorna o número de colunas para a consulta mais recente


Returns a string representing the type of connection used

  • « MysqlndUhConnection::getFieldCount
  • MysqlndUhConnection::getLastInsertId »
  • PHP Manual
  • MysqlndUhConnection
  • Returns a string representing the type of connection used

MysqlndUhConnection::getHostInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getHostInformation — Returns a string representing the type of connection used

Descrição

public MysqlndUhConnection::getHostInformation ( mysqlnd_connection $connection ) : string

Returns a string representing the type of connection used.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Connection description.

Exemplos

Exemplo #1 MysqlndUhConnection::getHostInformation() example

<?php
class proxy extends MysqlndUhConnection {
 public function getHostInformation($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getHostInformation($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->host_info);
?>

O exemplo acima irá imprimir:

proxy::getHostInformation(array (
  0 => NULL,
))
proxy::getHostInformation returns 'Localhost via UNIX socket'
string(25) "Localhost via UNIX socket"

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_host_info() - Retorna uma string representando o tipo da conexão usada
  • mysql_get_host_info() - Obtém informações do servidor MySQL


Returns the auto generated id used in the last query

  • « MysqlndUhConnection::getHostInformation
  • MysqlndUhConnection::getLastMessage »
  • PHP Manual
  • MysqlndUhConnection
  • Returns the auto generated id used in the last query

MysqlndUhConnection::getLastInsertId

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getLastInsertId — Returns the auto generated id used in the last query

Descrição

public MysqlndUhConnection::getLastInsertId ( mysqlnd_connection $connection ) : int

Returns the auto generated id used in the last query.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Last insert id.

Exemplos

Exemplo #1 MysqlndUhConnection::getLastInsertId() example

<?php
class proxy extends MysqlndUhConnection {
 public function getLastInsertId($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getLastInsertId($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT AUTO_INCREMENT PRIMARY KEY, col VARCHAR(255))");
$mysqli->query("INSERT INTO test(col) VALUES ('a')");
var_dump($mysqli->insert_id);
?>

O exemplo acima irá imprimir:

proxy::getLastInsertId(array (
  0 => NULL,
))
proxy::getLastInsertId returns 1
int(1)

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_insert_id() - Retorna o id gerado automaticamente na última consulta
  • mysql_insert_id() - Obtém o ID gerado pela operação INSERT anterior


Retrieves information about the most recently executed query

  • « MysqlndUhConnection::getLastInsertId
  • MysqlndUhConnection::getProtocolInformation »
  • PHP Manual
  • MysqlndUhConnection
  • Retrieves information about the most recently executed query

MysqlndUhConnection::getLastMessage

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getLastMessage — Retrieves information about the most recently executed query

Descrição

public MysqlndUhConnection::getLastMessage ( mysqlnd_connection $connection ) : void

Retrieves information about the most recently executed query.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Last message. Trying to return a string longer than 511 bytes will cause an error of the type E_WARNING and result in the string being truncated.

Exemplos

Exemplo #1 MysqlndUhConnection::getLastMessage() example

<?php
class proxy extends MysqlndUhConnection {
 public function getLastMessage($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getLastMessage($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->info);
$mysqli->query("DROP TABLE IF EXISTS test");
var_dump($mysqli->info);
?>

O exemplo acima irá imprimir:

proxy::getLastMessage(array (
  0 => NULL,
))
proxy::getLastMessage returns ''
string(0) ""
proxy::getLastMessage(array (
  0 => NULL,
))
proxy::getLastMessage returns ''
string(0) ""

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_info() - Recupera informação sobre a mais recente query executada
  • mysql_info() - Obtém informação sobre a consulta mais recente


Returns the version of the MySQL protocol used

  • « MysqlndUhConnection::getLastMessage
  • MysqlndUhConnection::getServerInformation »
  • PHP Manual
  • MysqlndUhConnection
  • Returns the version of the MySQL protocol used

MysqlndUhConnection::getProtocolInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getProtocolInformation — Returns the version of the MySQL protocol used

Descrição

public MysqlndUhConnection::getProtocolInformation ( mysqlnd_connection $connection ) : string

Returns the version of the MySQL protocol used.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

The protocol version.

Exemplos

Exemplo #1 MysqlndUhConnection::getProtocolInformation() example

<?php
class proxy extends MysqlndUhConnection {
 public function getProtocolInformation($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getProtocolInformation($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->protocol_version);
?>

O exemplo acima irá imprimir:

proxy::getProtocolInformation(array (
  0 => NULL,
))
proxy::getProtocolInformation returns 10
int(10)

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_proto_info() - Retorna a versão do protocolo MySQL usada
  • mysql_get_proto_info() - Obtém informações do protocolo MySQL


Returns the version of the MySQL server

  • « MysqlndUhConnection::getProtocolInformation
  • MysqlndUhConnection::getServerStatistics »
  • PHP Manual
  • MysqlndUhConnection
  • Returns the version of the MySQL server

MysqlndUhConnection::getServerInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getServerInformation — Returns the version of the MySQL server

Descrição

public MysqlndUhConnection::getServerInformation ( mysqlnd_connection $connection ) : string

Returns the version of the MySQL server.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

The server version.

Exemplos

Exemplo #1 MysqlndUhConnection::getServerInformation() example

<?php
class proxy extends MysqlndUhConnection {
 public function getServerInformation($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getServerInformation($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->server_info);
?>

O exemplo acima irá imprimir:

proxy::getServerInformation(array (
  0 => NULL,
))
proxy::getServerInformation returns '5.1.45-debug-log'
string(16) "5.1.45-debug-log"

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_server_info() - Retorna a versão do servidor MySQL
  • mysql_get_server_info() - Obtém informações do servidor MySQL


Gets the current system status

  • « MysqlndUhConnection::getServerInformation
  • MysqlndUhConnection::getServerVersion »
  • PHP Manual
  • MysqlndUhConnection
  • Gets the current system status

MysqlndUhConnection::getServerStatistics

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getServerStatistics — Gets the current system status

Descrição

public MysqlndUhConnection::getServerStatistics ( mysqlnd_connection $connection ) : string

Gets the current system status.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

The system status message.

Exemplos

Exemplo #1 MysqlndUhConnection::getServerStatistics() example

<?php
class proxy extends MysqlndUhConnection {
 public function getServerStatistics($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getServerStatistics($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump(mysqli_stat($mysqli));
?>

O exemplo acima irá imprimir:

proxy::getServerStatistics(array (
  0 => NULL,
))
proxy::getServerStatistics returns 'Uptime: 2059995  Threads: 1  Questions: 126157  Slow queries: 0  Opens: 6377  Flush tables: 1  Open tables: 18  Queries per second avg: 0.61'
string(140) "Uptime: 2059995  Threads: 1  Questions: 126157  Slow queries: 0  Opens: 6377  Flush tables: 1  Open tables: 18  Queries per second avg: 0.61"

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_stat() - Gets the current system status
  • mysql_stat() - Retorna o status atual do sistema


Returns the version of the MySQL server as an integer

  • « MysqlndUhConnection::getServerStatistics
  • MysqlndUhConnection::getSqlstate »
  • PHP Manual
  • MysqlndUhConnection
  • Returns the version of the MySQL server as an integer

MysqlndUhConnection::getServerVersion

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getServerVersion — Returns the version of the MySQL server as an integer

Descrição

public MysqlndUhConnection::getServerVersion ( mysqlnd_connection $connection ) : int

Returns the version of the MySQL server as an integer.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

The MySQL version.

Exemplos

Exemplo #1 MysqlndUhConnection::getServerVersion() example

<?php
class proxy extends MysqlndUhConnection {
 public function getServerVersion($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getServerVersion($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->server_version);
?>

O exemplo acima irá imprimir:

proxy::getServerVersion(array (
  0 => NULL,
))
proxy::getServerVersion returns 50145
int(50145)

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_server_version() - Retorna a versão do servidor MySQL como um integer
  • mysql_get_server_version()


Returns the SQLSTATE error from previous MySQL operation

  • « MysqlndUhConnection::getServerVersion
  • MysqlndUhConnection::getStatistics »
  • PHP Manual
  • MysqlndUhConnection
  • Returns the SQLSTATE error from previous MySQL operation

MysqlndUhConnection::getSqlstate

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getSqlstate — Returns the SQLSTATE error from previous MySQL operation

Descrição

public MysqlndUhConnection::getSqlstate ( mysqlnd_connection $connection ) : string

Returns the SQLSTATE error from previous MySQL operation.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

The SQLSTATE code.

Exemplos

Exemplo #1 MysqlndUhConnection::getSqlstate() example

<?php
class proxy extends MysqlndUhConnection {
 public function getSqlstate($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getSqlstate($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->sqlstate);
$mysqli->query("AN_INVALID_REQUEST_TO_PROVOKE_AN_ERROR");
var_dump($mysqli->sqlstate);
?>

O exemplo acima irá imprimir:

proxy::getSqlstate(array (
  0 => NULL,
))
proxy::getSqlstate returns '00000'
string(5) "00000"
proxy::getSqlstate(array (
  0 => NULL,
))
proxy::getSqlstate returns '42000'
string(5) "42000"

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_sql_state()


Returns statistics about the client connection

  • « MysqlndUhConnection::getSqlstate
  • MysqlndUhConnection::getThreadId »
  • PHP Manual
  • MysqlndUhConnection
  • Returns statistics about the client connection

MysqlndUhConnection::getStatistics

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getStatistics — Returns statistics about the client connection

Descrição

public MysqlndUhConnection::getStatistics ( mysqlnd_connection $connection ) : array

Returns statistics about the client connection.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Connection statistics collected by mysqlnd.

Exemplos

Exemplo #1 MysqlndUhConnection::getStatistics() example

<?php
class proxy extends MysqlndUhConnection {
 public function getStatistics($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getStatistics($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->get_connection_stats());
?>

O exemplo acima irá imprimir:

proxy::getStatistics(array (
  0 => NULL,
))
proxy::getStatistics returns array (
  'bytes_sent' => '73',
  'bytes_received' => '77',
  'packets_sent' => '2',
  'packets_received' => '2',
  'protocol_overhead_in' => '8',
  'protocol_overhead_out' => '8',
  'bytes_received_ok_packet' => '0',
  'bytes_received_eof_packet' => '0',
  'bytes_received_rset_header_packet' => '0',
  'bytes_received_rset_field_meta_packet' => '0',
  'bytes_received_rset_row_packet' => '0',
  'bytes_received_prepare_response_packet' => '0',
  'bytes_received_change_user_packet' => '0',
  'packets_sent_command' => '0',
  'packets_received_ok' => '0',
  'packets_received_eof' => '0',
  'packets_received_rset_header' => '0',
  'packets_received_rset_field_meta' => '0',
  'packets_received_rset_row' => '0',
  'packets_received_prepare_response' => '0',
  'packets_received_change_user' => '0',
  'result_set_queries' => '0',
  'non_result_set_queries' => '0',
  'no_index_used' => '0',
  'bad_index_used' => '0',
  'slow_queries' => '0',
  'buffered_sets' => '0',
  'unbuffered_sets' => '0',
  'ps_buffered_sets' => '0',
  'ps_unbuffered_sets' => '0',
  'flushed_normal_sets' => '0',
  'flushed_ps_sets' => '0',
  'ps_prepared_never_executed' => '0',
  'ps_prepared_once_executed' => '0',
  'rows_fetched_from_server_normal' => '0',
  'rows_fetched_from_server_ps' => '0',
  'rows_buffered_from_client_normal' => '0',
  'rows_buffered_from_client_ps' => '0',
  'rows_fetched_from_client_normal_buffered' => '0',
  'rows_fetched_from_client_normal_unbuffered' => '0',
  'rows_fetched_from_client_ps_buffered' => '0',
  'rows_fetched_from_client_ps_unbuffered' => '0',
  'rows_fetched_from_client_ps_cursor' => '0',
  'rows_affected_normal' => '0',
  'rows_affected_ps' => '0',
  'rows_skipped_normal' => '0',
  'rows_skipped_ps' => '0',
  'copy_on_write_saved' => '0',
  'copy_on_write_performed' => '0',
  'command_buffer_too_small' => '0',
  'connect_success' => '1',
  'connect_failure' => '0',
  'connection_reused' => '0',
  'reconnect' => '0',
  'pconnect_success' => '0',
  'active_connections' => '1',
  'active_persistent_connections' => '0',
  'explicit_close' => '0',
  'implicit_close' => '0',
  'disconnect_close' => '0',
  'in_middle_of_command_close' => '0',
  'explicit_free_result' => '0',
  'implicit_free_result' => '0',
  'explicit_stmt_close' => '0',
  'implicit_stmt_close' => '0',
  'mem_emalloc_count' => '0',
  'mem_emalloc_amount' => '0',
  'mem_ecalloc_count' => '0',
  'mem_ecalloc_amount' => '0',
  'mem_erealloc_count' => '0',
  'mem_erealloc_amount' => '0',
  'mem_efree_count' => '0',
  'mem_efree_amount' => '0',
  'mem_malloc_count' => '0',
  'mem_malloc_amount' => '0',
  'mem_calloc_count' => '0',
  'mem_calloc_amount' => '0',
  'mem_realloc_count' => '0',
  'mem_realloc_amount' => '0',
  'mem_free_count' => '0',
  'mem_free_amount' => '0',
  'mem_estrndup_count' => '0',
  'mem_strndup_count' => '0',
  'mem_estndup_count' => '0',
  'mem_strdup_count' => '0',
  'proto_text_fetched_null' => '0',
  'proto_text_fetched_bit' => '0',
  'proto_text_fetched_tinyint' => '0',
  'proto_text_fetched_short' => '0',
  'proto_text_fetched_int24' => '0',
  'proto_text_fetched_int' => '0',
  'proto_text_fetched_bigint' => '0',
  'proto_text_fetched_decimal' => '0',
  'proto_text_fetched_float' => '0',
  'proto_text_fetched_double' => '0',
  'proto_text_fetched_date' => '0',
  'proto_text_fetched_year' => '0',
  'proto_text_fetched_time' => '0',
  'proto_text_fetched_datetime' => '0',
  'proto_text_fetched_timestamp' => '0',
  'proto_text_fetched_string' => '0',
  'proto_text_fetched_blob' => '0',
  'proto_text_fetched_enum' => '0',
  'proto_text_fetched_set' => '0',
  'proto_text_fetched_geometry' => '0',
  'proto_text_fetched_other' => '0',
  'proto_binary_fetched_null' => '0',
  'proto_binary_fetched_bit' => '0',
  'proto_binary_fetched_tinyint' => '0',
  'proto_binary_fetched_short' => '0',
  'proto_binary_fetched_int24' => '0',
  'proto_binary_fetched_int' => '0',
  'proto_binary_fetched_bigint' => '0',
  'proto_binary_fetched_decimal' => '0',
  'proto_binary_fetched_float' => '0',
  'proto_binary_fetched_double' => '0',
  'proto_binary_fetched_date' => '0',
  'proto_binary_fetched_year' => '0',
  'proto_binary_fetched_time' => '0',
  'proto_binary_fetched_datetime' => '0',
  'proto_binary_fetched_timestamp' => '0',
  'proto_binary_fetched_string' => '0',
  'proto_binary_fetched_blob' => '0',
  'proto_binary_fetched_enum' => '0',
  'proto_binary_fetched_set' => '0',
  'proto_binary_fetched_geometry' => '0',
  'proto_binary_fetched_other' => '0',
  'init_command_executed_count' => '0',
  'init_command_failed_count' => '0',
  'com_quit' => '0',
  'com_init_db' => '0',
  'com_query' => '0',
  'com_field_list' => '0',
  'com_create_db' => '0',
  'com_drop_db' => '0',
  'com_refresh' => '0',
  'com_shutdown' => '0',
  'com_statistics' => '0',
  'com_process_info' => '0',
  'com_connect' => '0',
  'com_process_kill' => '0',
  'com_debug' => '0',
  'com_ping' => '0',
  'com_time' => '0',
  'com_delayed_insert' => '0',
  'com_change_user' => '0',
  'com_binlog_dump' => '0',
  'com_table_dump' => '0',
  'com_connect_out' => '0',
  'com_register_slave' => '0',
  'com_stmt_prepare' => '0',
  'com_stmt_execute' => '0',
  'com_stmt_send_long_data' => '0',
  'com_stmt_close' => '0',
  'com_stmt_reset' => '0',
  'com_stmt_set_option' => '0',
  'com_stmt_fetch' => '0',
  'com_deamon' => '0',
  'bytes_received_real_data_normal' => '0',
  'bytes_received_real_data_ps' => '0',
)
array(160) {
  ["bytes_sent"]=>
  string(2) "73"
  ["bytes_received"]=>
  string(2) "77"
  ["packets_sent"]=>
  string(1) "2"
  ["packets_received"]=>
  string(1) "2"
  ["protocol_overhead_in"]=>
  string(1) "8"
  ["protocol_overhead_out"]=>
  string(1) "8"
  ["bytes_received_ok_packet"]=>
  string(1) "0"
  ["bytes_received_eof_packet"]=>
  string(1) "0"
  ["bytes_received_rset_header_packet"]=>
  string(1) "0"
  ["bytes_received_rset_field_meta_packet"]=>
  string(1) "0"
  ["bytes_received_rset_row_packet"]=>
  string(1) "0"
  ["bytes_received_prepare_response_packet"]=>
  string(1) "0"
  ["bytes_received_change_user_packet"]=>
  string(1) "0"
  ["packets_sent_command"]=>
  string(1) "0"
  ["packets_received_ok"]=>
  string(1) "0"
  ["packets_received_eof"]=>
  string(1) "0"
  ["packets_received_rset_header"]=>
  string(1) "0"
  ["packets_received_rset_field_meta"]=>
  string(1) "0"
  ["packets_received_rset_row"]=>
  string(1) "0"
  ["packets_received_prepare_response"]=>
  string(1) "0"
  ["packets_received_change_user"]=>
  string(1) "0"
  ["result_set_queries"]=>
  string(1) "0"
  ["non_result_set_queries"]=>
  string(1) "0"
  ["no_index_used"]=>
  string(1) "0"
  ["bad_index_used"]=>
  string(1) "0"
  ["slow_queries"]=>
  string(1) "0"
  ["buffered_sets"]=>
  string(1) "0"
  ["unbuffered_sets"]=>
  string(1) "0"
  ["ps_buffered_sets"]=>
  string(1) "0"
  ["ps_unbuffered_sets"]=>
  string(1) "0"
  ["flushed_normal_sets"]=>
  string(1) "0"
  ["flushed_ps_sets"]=>
  string(1) "0"
  ["ps_prepared_never_executed"]=>
  string(1) "0"
  ["ps_prepared_once_executed"]=>
  string(1) "0"
  ["rows_fetched_from_server_normal"]=>
  string(1) "0"
  ["rows_fetched_from_server_ps"]=>
  string(1) "0"
  ["rows_buffered_from_client_normal"]=>
  string(1) "0"
  ["rows_buffered_from_client_ps"]=>
  string(1) "0"
  ["rows_fetched_from_client_normal_buffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_normal_unbuffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_ps_buffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_ps_unbuffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_ps_cursor"]=>
  string(1) "0"
  ["rows_affected_normal"]=>
  string(1) "0"
  ["rows_affected_ps"]=>
  string(1) "0"
  ["rows_skipped_normal"]=>
  string(1) "0"
  ["rows_skipped_ps"]=>
  string(1) "0"
  ["copy_on_write_saved"]=>
  string(1) "0"
  ["copy_on_write_performed"]=>
  string(1) "0"
  ["command_buffer_too_small"]=>
  string(1) "0"
  ["connect_success"]=>
  string(1) "1"
  ["connect_failure"]=>
  string(1) "0"
  ["connection_reused"]=>
  string(1) "0"
  ["reconnect"]=>
  string(1) "0"
  ["pconnect_success"]=>
  string(1) "0"
  ["active_connections"]=>
  string(1) "1"
  ["active_persistent_connections"]=>
  string(1) "0"
  ["explicit_close"]=>
  string(1) "0"
  ["implicit_close"]=>
  string(1) "0"
  ["disconnect_close"]=>
  string(1) "0"
  ["in_middle_of_command_close"]=>
  string(1) "0"
  ["explicit_free_result"]=>
  string(1) "0"
  ["implicit_free_result"]=>
  string(1) "0"
  ["explicit_stmt_close"]=>
  string(1) "0"
  ["implicit_stmt_close"]=>
  string(1) "0"
  ["mem_emalloc_count"]=>
  string(1) "0"
  ["mem_emalloc_amount"]=>
  string(1) "0"
  ["mem_ecalloc_count"]=>
  string(1) "0"
  ["mem_ecalloc_amount"]=>
  string(1) "0"
  ["mem_erealloc_count"]=>
  string(1) "0"
  ["mem_erealloc_amount"]=>
  string(1) "0"
  ["mem_efree_count"]=>
  string(1) "0"
  ["mem_efree_amount"]=>
  string(1) "0"
  ["mem_malloc_count"]=>
  string(1) "0"
  ["mem_malloc_amount"]=>
  string(1) "0"
  ["mem_calloc_count"]=>
  string(1) "0"
  ["mem_calloc_amount"]=>
  string(1) "0"
  ["mem_realloc_count"]=>
  string(1) "0"
  ["mem_realloc_amount"]=>
  string(1) "0"
  ["mem_free_count"]=>
  string(1) "0"
  ["mem_free_amount"]=>
  string(1) "0"
  ["mem_estrndup_count"]=>
  string(1) "0"
  ["mem_strndup_count"]=>
  string(1) "0"
  ["mem_estndup_count"]=>
  string(1) "0"
  ["mem_strdup_count"]=>
  string(1) "0"
  ["proto_text_fetched_null"]=>
  string(1) "0"
  ["proto_text_fetched_bit"]=>
  string(1) "0"
  ["proto_text_fetched_tinyint"]=>
  string(1) "0"
  ["proto_text_fetched_short"]=>
  string(1) "0"
  ["proto_text_fetched_int24"]=>
  string(1) "0"
  ["proto_text_fetched_int"]=>
  string(1) "0"
  ["proto_text_fetched_bigint"]=>
  string(1) "0"
  ["proto_text_fetched_decimal"]=>
  string(1) "0"
  ["proto_text_fetched_float"]=>
  string(1) "0"
  ["proto_text_fetched_double"]=>
  string(1) "0"
  ["proto_text_fetched_date"]=>
  string(1) "0"
  ["proto_text_fetched_year"]=>
  string(1) "0"
  ["proto_text_fetched_time"]=>
  string(1) "0"
  ["proto_text_fetched_datetime"]=>
  string(1) "0"
  ["proto_text_fetched_timestamp"]=>
  string(1) "0"
  ["proto_text_fetched_string"]=>
  string(1) "0"
  ["proto_text_fetched_blob"]=>
  string(1) "0"
  ["proto_text_fetched_enum"]=>
  string(1) "0"
  ["proto_text_fetched_set"]=>
  string(1) "0"
  ["proto_text_fetched_geometry"]=>
  string(1) "0"
  ["proto_text_fetched_other"]=>
  string(1) "0"
  ["proto_binary_fetched_null"]=>
  string(1) "0"
  ["proto_binary_fetched_bit"]=>
  string(1) "0"
  ["proto_binary_fetched_tinyint"]=>
  string(1) "0"
  ["proto_binary_fetched_short"]=>
  string(1) "0"
  ["proto_binary_fetched_int24"]=>
  string(1) "0"
  ["proto_binary_fetched_int"]=>
  string(1) "0"
  ["proto_binary_fetched_bigint"]=>
  string(1) "0"
  ["proto_binary_fetched_decimal"]=>
  string(1) "0"
  ["proto_binary_fetched_float"]=>
  string(1) "0"
  ["proto_binary_fetched_double"]=>
  string(1) "0"
  ["proto_binary_fetched_date"]=>
  string(1) "0"
  ["proto_binary_fetched_year"]=>
  string(1) "0"
  ["proto_binary_fetched_time"]=>
  string(1) "0"
  ["proto_binary_fetched_datetime"]=>
  string(1) "0"
  ["proto_binary_fetched_timestamp"]=>
  string(1) "0"
  ["proto_binary_fetched_string"]=>
  string(1) "0"
  ["proto_binary_fetched_blob"]=>
  string(1) "0"
  ["proto_binary_fetched_enum"]=>
  string(1) "0"
  ["proto_binary_fetched_set"]=>
  string(1) "0"
  ["proto_binary_fetched_geometry"]=>
  string(1) "0"
  ["proto_binary_fetched_other"]=>
  string(1) "0"
  ["init_command_executed_count"]=>
  string(1) "0"
  ["init_command_failed_count"]=>
  string(1) "0"
  ["com_quit"]=>
  string(1) "0"
  ["com_init_db"]=>
  string(1) "0"
  ["com_query"]=>
  string(1) "0"
  ["com_field_list"]=>
  string(1) "0"
  ["com_create_db"]=>
  string(1) "0"
  ["com_drop_db"]=>
  string(1) "0"
  ["com_refresh"]=>
  string(1) "0"
  ["com_shutdown"]=>
  string(1) "0"
  ["com_statistics"]=>
  string(1) "0"
  ["com_process_info"]=>
  string(1) "0"
  ["com_connect"]=>
  string(1) "0"
  ["com_process_kill"]=>
  string(1) "0"
  ["com_debug"]=>
  string(1) "0"
  ["com_ping"]=>
  string(1) "0"
  ["com_time"]=>
  string(1) "0"
  ["com_delayed_insert"]=>
  string(1) "0"
  ["com_change_user"]=>
  string(1) "0"
  ["com_binlog_dump"]=>
  string(1) "0"
  ["com_table_dump"]=>
  string(1) "0"
  ["com_connect_out"]=>
  string(1) "0"
  ["com_register_slave"]=>
  string(1) "0"
  ["com_stmt_prepare"]=>
  string(1) "0"
  ["com_stmt_execute"]=>
  string(1) "0"
  ["com_stmt_send_long_data"]=>
  string(1) "0"
  ["com_stmt_close"]=>
  string(1) "0"
  ["com_stmt_reset"]=>
  string(1) "0"
  ["com_stmt_set_option"]=>
  string(1) "0"
  ["com_stmt_fetch"]=>
  string(1) "0"
  ["com_deamon"]=>
  string(1) "0"
  ["bytes_received_real_data_normal"]=>
  string(1) "0"
  ["bytes_received_real_data_ps"]=>
  string(1) "0"
}

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_connection_stats() - Returns statistics about the client connection


Returns the thread ID for the current connection

  • « MysqlndUhConnection::getStatistics
  • MysqlndUhConnection::getWarningCount »
  • PHP Manual
  • MysqlndUhConnection
  • Returns the thread ID for the current connection

MysqlndUhConnection::getThreadId

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getThreadId — Returns the thread ID for the current connection

Descrição

public MysqlndUhConnection::getThreadId ( mysqlnd_connection $connection ) : int

Returns the thread ID for the current connection.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Connection thread id.

Exemplos

Exemplo #1 MysqlndUhConnection::getThreadId() example

<?php
class proxy extends MysqlndUhConnection {
 public function getThreadId($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getThreadId($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->thread_id);
?>

O exemplo acima irá imprimir:

proxy::getThreadId(array (
  0 => NULL,
))
proxy::getThreadId returns 27646
int(27646)

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_thread_id() - Returns the thread ID for the current connection
  • mysql_thread_id() - Returna o ID da thread atual


Returns the number of warnings from the last query for the given link

  • « MysqlndUhConnection::getThreadId
  • MysqlndUhConnection::init »
  • PHP Manual
  • MysqlndUhConnection
  • Returns the number of warnings from the last query for the given link

MysqlndUhConnection::getWarningCount

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getWarningCount — Returns the number of warnings from the last query for the given link

Descrição

public MysqlndUhConnection::getWarningCount ( mysqlnd_connection $connection ) : int

Returns the number of warnings from the last query for the given link.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Number of warnings.

Exemplos

Exemplo #1 MysqlndUhConnection::getWarningCount() example

<?php
class proxy extends MysqlndUhConnection {
 public function getWarningCount($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getWarningCount($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->warning_count);
?>

O exemplo acima irá imprimir:

proxy::getWarningCount(array (
  0 => NULL,
))
proxy::getWarningCount returns 0
int(0)

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_warning_count() - Returns the number of warnings from the last query for the given link


Initialize mysqlnd connection

  • « MysqlndUhConnection::getWarningCount
  • MysqlndUhConnection::killConnection »
  • PHP Manual
  • MysqlndUhConnection
  • Initialize mysqlnd connection

MysqlndUhConnection::init

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::init — Initialize mysqlnd connection

Descrição

public MysqlndUhConnection::init ( mysqlnd_connection $connection ) : bool

Initialize mysqlnd connection. This is an mysqlnd internal call to initialize the connection object.

Nota:

Failing to call the parent implementation may cause memory leaks or crash PHP. This is not considered a bug. Please, keep in mind that the mysqlnd library functions have never been designed to be exposed to the user space.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::init() example

<?php
class proxy extends MysqlndUhConnection {
 public function init($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::init($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
?>

O exemplo acima irá imprimir:

proxy::init(array (
  0 => NULL,
))
proxy::init returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections


Asks the server to kill a MySQL thread

  • « MysqlndUhConnection::init
  • MysqlndUhConnection::listFields »
  • PHP Manual
  • MysqlndUhConnection
  • Asks the server to kill a MySQL thread

MysqlndUhConnection::killConnection

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::killConnection — Asks the server to kill a MySQL thread

Descrição

public MysqlndUhConnection::killConnection ( mysqlnd_connection $connection , int $pid ) : bool

Asks the server to kill a MySQL thread.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

pid

Thread Id of the connection to be killed.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::kill() example

<?php
class proxy extends MysqlndUhConnection {
 public function killConnection($res, $pid) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::killConnection($res, $pid);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->kill($mysqli->thread_id);
?>

O exemplo acima irá imprimir:

proxy::killConnection(array (
  0 => NULL,
  1 => 27650,
))
proxy::killConnection returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_kill() - Solicita ao servidor o encerramento de um thread do MySQL


List MySQL table fields

  • « MysqlndUhConnection::killConnection
  • MysqlndUhConnection::listMethod »
  • PHP Manual
  • MysqlndUhConnection
  • List MySQL table fields

MysqlndUhConnection::listFields

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::listFields — List MySQL table fields

Descrição

public MysqlndUhConnection::listFields ( mysqlnd_connection $connection , string $table , string $achtung_wild ) : array

List MySQL table fields.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

table

The name of the table that's being queried.

pattern

Name pattern.

Valor Retornado

Exemplos

Exemplo #1 MysqlndUhConnection::listFields() example

<?php
class proxy extends MysqlndUhConnection {
 public function listFields($res, $table, $pattern) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::listFields($res, $table, $pattern);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysql = mysql_connect("localhost", "root", "");
mysql_select_db("test", $mysql);
mysql_query("DROP TABLE IF EXISTS test_a", $mysql);
mysql_query("CREATE TABLE test_a(id INT, col1 VARCHAR(255))", $mysql);
$res = mysql_list_fields("test", "test_a", $mysql);
printf("num_rows = %d\n", mysql_num_rows($res));
while ($row = mysql_fetch_assoc($res))
 var_dump($row);
?>

O exemplo acima irá imprimir:

proxy::listFields(array (
  0 => NULL,
  1 => 'test_a',
  2 => '',
))
proxy::listFields returns NULL
num_rows = 0

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysql_list_fields() - Lista os campos de uma tabela MySQL


Wrapper for assorted list commands

  • « MysqlndUhConnection::listFields
  • MysqlndUhConnection::moreResults »
  • PHP Manual
  • MysqlndUhConnection
  • Wrapper for assorted list commands

MysqlndUhConnection::listMethod

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::listMethod — Wrapper for assorted list commands

Descrição

public MysqlndUhConnection::listMethod ( mysqlnd_connection $connection , string $query , string $achtung_wild , string $par1 ) : void

Wrapper for assorted list commands.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

query

SHOW command to be executed.

achtung_wild

par1

Valor Retornado

Valor Retornado

TODO

Exemplos

Exemplo #1 MysqlndUhConnection::listMethod() example

<?php
class proxy extends MysqlndUhConnection {
 public function listMethod($res, $query, $pattern, $par1) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::listMethod($res, $query, $pattern, $par1);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysql = mysql_connect("localhost", "root", "");
$res = mysql_list_dbs($mysql);
printf("num_rows = %d\n", mysql_num_rows($res));
while ($row = mysql_fetch_assoc($res))
 var_dump($row);
?>

O exemplo acima irá imprimir:

proxy::listMethod(array (
  0 => NULL,
  1 => 'SHOW DATABASES',
  2 => '',
  3 => '',
))
proxy::listMethod returns NULL
num_rows = 6
array(1) {
  ["Database"]=>
  string(18) "information_schema"
}
array(1) {
  ["Database"]=>
  string(5) "mysql"
}
array(1) {
  ["Database"]=>
  string(8) "oxid_new"
}
array(1) {
  ["Database"]=>
  string(7) "phptest"
}
array(1) {
  ["Database"]=>
  string(7) "pushphp"
}
array(1) {
  ["Database"]=>
  string(4) "test"
}

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysql_list_dbs() - Lista os bancos de dados disponíveis em um servidor MySQL


Check if there are any more query results from a multi query

  • « MysqlndUhConnection::listMethod
  • MysqlndUhConnection::nextResult »
  • PHP Manual
  • MysqlndUhConnection
  • Check if there are any more query results from a multi query

MysqlndUhConnection::moreResults

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::moreResults — Check if there are any more query results from a multi query

Descrição

public MysqlndUhConnection::moreResults ( mysqlnd_connection $connection ) : bool

Check if there are any more query results from a multi query.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::moreResults() example

<?php
class proxy extends MysqlndUhConnection {
 public function moreResults($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::moreResults($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->multi_query("SELECT 1 AS _one; SELECT 2 AS _two");
do {
  $res = $mysqli->store_result();
  var_dump($res->fetch_assoc());
  printf("%s\n", str_repeat("-", 40));
} while ($mysqli->more_results() && $mysqli->next_result());
?>

O exemplo acima irá imprimir:

array(1) {
  ["_one"]=>
  string(1) "1"
}
----------------------------------------
proxy::moreResults(array (
  0 => NULL,
))
proxy::moreResults returns true
proxy::moreResults(array (
  0 => NULL,
))
proxy::moreResults returns true
array(1) {
  ["_two"]=>
  string(1) "2"
}
----------------------------------------
proxy::moreResults(array (
  0 => NULL,
))
proxy::moreResults returns false

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_more_results() - Verifica se há mais algum resultado de uma multi query


Prepare next result from multi_query

  • « MysqlndUhConnection::moreResults
  • MysqlndUhConnection::ping »
  • PHP Manual
  • MysqlndUhConnection
  • Prepare next result from multi_query

MysqlndUhConnection::nextResult

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::nextResult — Prepare next result from multi_query

Descrição

public MysqlndUhConnection::nextResult ( mysqlnd_connection $connection ) : bool

Prepare next result from multi_query.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::nextResult() example

<?php
class proxy extends MysqlndUhConnection {
 public function nextResult($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::nextResult($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->multi_query("SELECT 1 AS _one; SELECT 2 AS _two");
do {
  $res = $mysqli->store_result();
  var_dump($res->fetch_assoc());
  printf("%s\n", str_repeat("-", 40));
} while ($mysqli->more_results() && $mysqli->next_result());
?>

O exemplo acima irá imprimir:

array(1) {
  ["_one"]=>
  string(1) "1"
}
----------------------------------------
proxy::nextResult(array (
  0 => NULL,
))
proxy::nextResult returns true
array(1) {
  ["_two"]=>
  string(1) "2"
}
----------------------------------------

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_next_result() - Prepara o próximo resultado de multi_query


Pings a server connection, or tries to reconnect if the connection has gone down

  • « MysqlndUhConnection::nextResult
  • MysqlndUhConnection::query »
  • PHP Manual
  • MysqlndUhConnection
  • Pings a server connection, or tries to reconnect if the connection has gone down

MysqlndUhConnection::ping

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::ping — Pings a server connection, or tries to reconnect if the connection has gone down

Descrição

public MysqlndUhConnection::ping ( mysqlnd_connection $connection ) : bool

Pings a server connection, or tries to reconnect if the connection has gone down.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::ping() example

<?php
class proxy extends MysqlndUhConnection {
 public function ping($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::ping($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->ping();
?>

O exemplo acima irá imprimir:

proxy::ping(array (
  0 => NULL,
))
proxy::ping returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_ping() - Pings a server connection, or tries to reconnect if the connection has gone down
  • mysql_ping() - Pinga uma conexão com o servidor ou reconecta se não houver conexão


Performs a query on the database

  • « MysqlndUhConnection::ping
  • MysqlndUhConnection::queryReadResultsetHeader »
  • PHP Manual
  • MysqlndUhConnection
  • Performs a query on the database

MysqlndUhConnection::query

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::query — Performs a query on the database

Descrição

public MysqlndUhConnection::query ( mysqlnd_connection $connection , string $query ) : bool

Performs a query on the database (COM_QUERY).

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

query

The query string.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::query() example

<?php
class proxy extends MysqlndUhConnection {
 public function query($res, $query) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $query = "SELECT 'How about query rewriting?'";
  $ret = parent::query($res, $query);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$res = $mysqli->query("SELECT 'Welcome mysqlnd_uh!' FROM DUAL");
var_dump($res->fetch_assoc());
?>

O exemplo acima irá imprimir:

proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Welcome mysqlnd_uh!\' FROM DUAL',
))
proxy::query returns true
array(1) {
  ["How about query rewriting?"]=>
  string(26) "How about query rewriting?"
}

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_query() - Performs a query on the database
  • mysql_query() - Envia uma consulta MySQL


Read a result set header

  • « MysqlndUhConnection::query
  • MysqlndUhConnection::reapQuery »
  • PHP Manual
  • MysqlndUhConnection
  • Read a result set header

MysqlndUhConnection::queryReadResultsetHeader

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::queryReadResultsetHeader — Read a result set header

Descrição

public MysqlndUhConnection::queryReadResultsetHeader ( mysqlnd_connection $connection , mysqlnd_statement $mysqlnd_stmt ) : bool

Read a result set header.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

mysqlnd_stmt

Mysqlnd statement handle. Do not modify! Set to null, if function is not used in the context of a prepared statement.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::queryReadResultsetHeader() example

<?php
class proxy extends MysqlndUhConnection {
 public function queryReadResultsetHeader($res, $stmt) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::queryReadResultsetHeader($res, $stmt);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$res = $mysqli->query("SELECT 'Welcome mysqlnd_uh!' FROM DUAL");
var_dump($res->fetch_assoc());
?>

O exemplo acima irá imprimir:

proxy::queryReadResultsetHeader(array (
  0 => NULL,
  1 => NULL,
))
proxy::queryReadResultsetHeader returns true
array(1) {
  ["Welcome mysqlnd_uh!"]=>
  string(19) "Welcome mysqlnd_uh!"
}

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections


Get result from async query

  • « MysqlndUhConnection::queryReadResultsetHeader
  • MysqlndUhConnection::refreshServer »
  • PHP Manual
  • MysqlndUhConnection
  • Get result from async query

MysqlndUhConnection::reapQuery

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::reapQuery — Get result from async query

Descrição

public MysqlndUhConnection::reapQuery ( mysqlnd_connection $connection ) : bool

Get result from async query.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::reapQuery() example

<?php
class proxy extends MysqlndUhConnection {
 public function reapQuery($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::reapQuery($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$conn1 = new mysqli("localhost", "root", "", "test");
$conn2 = new mysqli("localhost", "root", "", "test");

$conn1->query("SELECT 1 as 'one', SLEEP(1) AS _sleep FROM DUAL", MYSQLI_ASYNC |  MYSQLI_USE_RESULT);
$conn2->query("SELECT 1.1 as 'one dot one' FROM DUAL", MYSQLI_ASYNC |  MYSQLI_USE_RESULT);

$links = array(
 $conn1->thread_id => array('link' => $conn1, 'processed' => false),
 $conn2->thread_id => array('link' => $conn2, 'processed' => false)
);

$saved_errors = array();
do {
 $poll_links = $poll_errors = $poll_reject = array();
 foreach ($links as $thread_id => $link) {
  if (!$link['processed']) {
   $poll_links[] = $link['link'];
   $poll_errors[] = $link['link'];
   $poll_reject[] = $link['link'];
  }
 }
 if (0 == count($poll_links))
  break;

 if (0 == ($num_ready = mysqli_poll($poll_links, $poll_errors, $poll_reject, 0, 200000)))
  continue;

 if (!empty($poll_errors)) {
  die(var_dump($poll_errors));
 }

 foreach ($poll_links as $link) {
  $thread_id = mysqli_thread_id($link);
  $links[$thread_id]['processed'] = true;

  if (is_object($res = mysqli_reap_async_query($link))) {
   // result set object
   while ($row = mysqli_fetch_assoc($res)) {
    // eat up all results
    var_dump($row);
   }
   mysqli_free_result($res);
  } else {
   // either there is no result (no SELECT) or there is an error
   if (mysqli_errno($link) > 0) {
    $saved_errors[$thread_id] = mysqli_errno($link);
    printf("'%s' caused %d\n", $links[$thread_id]['query'],     mysqli_errno($link));
   }
  }
 }
} while (true);
?>

O exemplo acima irá imprimir:

proxy::reapQuery(array (
  0 => NULL,
))
proxy::reapQuery returns true
array(1) {
  ["one dot one"]=>
  string(3) "1.1"
}
proxy::reapQuery(array (
  0 => NULL,
))
proxy::reapQuery returns true
array(2) {
  ["one"]=>
  string(1) "1"
  ["_sleep"]=>
  string(1) "0"
}

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_real_async_query()


Flush or reset tables and caches

  • « MysqlndUhConnection::reapQuery
  • MysqlndUhConnection::restartPSession »
  • PHP Manual
  • MysqlndUhConnection
  • Flush or reset tables and caches

MysqlndUhConnection::refreshServer

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::refreshServer — Flush or reset tables and caches

Descrição

public MysqlndUhConnection::refreshServer ( mysqlnd_connection $connection , int $options ) : bool

Flush or reset tables and caches.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

options

What to refresh.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::refreshServer() example

<?php
class proxy extends MysqlndUhConnection {
 public function refreshServer($res, $option) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::refreshServer($res, $option);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
mysqli_refresh($mysqli, 1);
?>

O exemplo acima irá imprimir:

proxy::refreshServer(array (
  0 => NULL,
  1 => 1,
))
proxy::refreshServer returns false

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections


Restart a persistent mysqlnd connection

  • « MysqlndUhConnection::refreshServer
  • MysqlndUhConnection::selectDb »
  • PHP Manual
  • MysqlndUhConnection
  • Restart a persistent mysqlnd connection

MysqlndUhConnection::restartPSession

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::restartPSession — Restart a persistent mysqlnd connection

Descrição

public MysqlndUhConnection::restartPSession ( mysqlnd_connection $connection ) : bool

Restart a persistent mysqlnd connection.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::restartPSession() example

<?php
class proxy extends MysqlndUhConnection {
 public function ping($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::ping($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->ping();
?>

O exemplo acima irá imprimir:

proxy::restartPSession(array (
  0 => NULL,
))
proxy::restartPSession returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections


Selects the default database for database queries

  • « MysqlndUhConnection::restartPSession
  • MysqlndUhConnection::sendClose »
  • PHP Manual
  • MysqlndUhConnection
  • Selects the default database for database queries

MysqlndUhConnection::selectDb

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::selectDb — Selects the default database for database queries

Descrição

public MysqlndUhConnection::selectDb ( mysqlnd_connection $connection , string $database ) : bool

Selects the default database for database queries.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

database

The database name.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::selectDb() example

<?php
class proxy extends MysqlndUhConnection {
 public function selectDb($res, $database) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::selectDb($res, $database);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->select_db("mysql");
?>

O exemplo acima irá imprimir:

proxy::selectDb(array (
  0 => NULL,
  1 => 'mysql',
))
proxy::selectDb returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_select_db() - Selects the default database for database queries
  • mysql_select_db() - Seleciona um banco de dados MySQL


Sends a close command to MySQL

  • « MysqlndUhConnection::selectDb
  • MysqlndUhConnection::sendQuery »
  • PHP Manual
  • MysqlndUhConnection
  • Sends a close command to MySQL

MysqlndUhConnection::sendClose

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::sendClose — Sends a close command to MySQL

Descrição

public MysqlndUhConnection::sendClose ( mysqlnd_connection $connection ) : bool

Sends a close command to MySQL.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::sendClose() example

<?php
class proxy extends MysqlndUhConnection {
 public function sendClose($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::sendClose($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->close();
?>

O exemplo acima irá imprimir:

proxy::sendClose(array (
  0 => NULL,
))
proxy::sendClose returns true
proxy::sendClose(array (
  0 => NULL,
))
proxy::sendClose returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections


Sends a query to MySQL

  • « MysqlndUhConnection::sendClose
  • MysqlndUhConnection::serverDumpDebugInformation »
  • PHP Manual
  • MysqlndUhConnection
  • Sends a query to MySQL

MysqlndUhConnection::sendQuery

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::sendQuery — Sends a query to MySQL

Descrição

public MysqlndUhConnection::sendQuery ( mysqlnd_connection $connection , string $query ) : bool

Sends a query to MySQL.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

query

The query string.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::sendQuery() example

<?php
class proxy extends MysqlndUhConnection {
 public function sendQuery($res, $query) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::sendQuery($res, $query);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("SELECT 1");
?>

O exemplo acima irá imprimir:

proxy::sendQuery(array (
  0 => NULL,
  1 => 'SELECT 1',
))
proxy::sendQuery returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections


Dump debugging information into the log for the MySQL server

  • « MysqlndUhConnection::sendQuery
  • MysqlndUhConnection::setAutocommit »
  • PHP Manual
  • MysqlndUhConnection
  • Dump debugging information into the log for the MySQL server

MysqlndUhConnection::serverDumpDebugInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::serverDumpDebugInformation — Dump debugging information into the log for the MySQL server

Descrição

public MysqlndUhConnection::serverDumpDebugInformation ( mysqlnd_connection $connection ) : bool

Dump debugging information into the log for the MySQL server.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::serverDumpDebugInformation() example

<?php
class proxy extends MysqlndUhConnection {
 public function serverDumpDebugInformation($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::serverDumpDebugInformation($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->dump_debug_info();
?>

O exemplo acima irá imprimir:

proxy::serverDumpDebugInformation(array (
  0 => NULL,
))
proxy::serverDumpDebugInformation returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_dump_debug_info() - Descarrega informação de debug no log


Turns on or off auto-committing database modifications

  • « MysqlndUhConnection::serverDumpDebugInformation
  • MysqlndUhConnection::setCharset »
  • PHP Manual
  • MysqlndUhConnection
  • Turns on or off auto-committing database modifications

MysqlndUhConnection::setAutocommit

(PECL mysqlnd-uh >= 1.0.1-alpha)

MysqlndUhConnection::setAutocommit — Turns on or off auto-committing database modifications

Descrição

public MysqlndUhConnection::setAutocommit ( mysqlnd_connection $connection , int $mode ) : bool

Turns on or off auto-committing database modifications

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

mode

Whether to turn on auto-commit or not.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::setAutocommit() example

<?php
class proxy extends MysqlndUhConnection {
 public function setAutocommit($res, $mode) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::setAutocommit($res, $mode);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->autocommit(false);
$mysqli->autocommit(true);
?>

O exemplo acima irá imprimir:

proxy::setAutocommit(array (
  0 => NULL,
  1 => 0,
))
proxy::setAutocommit returns true
proxy::setAutocommit(array (
  0 => NULL,
  1 => 1,
))
proxy::setAutocommit returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_autocommit() - Ativa ou desativa o salvar automaticamente as modificações no banco de dados


Sets the default client character set

  • « MysqlndUhConnection::setAutocommit
  • MysqlndUhConnection::setClientOption »
  • PHP Manual
  • MysqlndUhConnection
  • Sets the default client character set

MysqlndUhConnection::setCharset

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::setCharset — Sets the default client character set

Descrição

public MysqlndUhConnection::setCharset ( mysqlnd_connection $connection , string $charset ) : bool

Sets the default client character set.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

charset

The charset to be set as default.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::setCharset() example

<?php
class proxy extends MysqlndUhConnection {
 public function setCharset($res, $charset) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::setCharset($res, $charset);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->set_charset("latin1");
?>

O exemplo acima irá imprimir:

proxy::setCharset(array (
  0 => NULL,
  1 => 'latin1',
))
proxy::setCharset returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_set_charset() - Sets the default client character set


Sets a client option

  • « MysqlndUhConnection::setCharset
  • MysqlndUhConnection::setServerOption »
  • PHP Manual
  • MysqlndUhConnection
  • Sets a client option

MysqlndUhConnection::setClientOption

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::setClientOption — Sets a client option

Descrição

public MysqlndUhConnection::setClientOption ( mysqlnd_connection $connection , int $option , int $value ) : bool

Sets a client option.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

option

The option to be set.

value

Optional option value, if required.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::setClientOption() example

<?php
function client_option_to_string($option) {
 static $mapping = array(
  MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT => "MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT",
  MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS => "MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS",
  MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE => "MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE",
  MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND => "MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND",
  MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE => "MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE",
  MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP => "MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP",
  MYSQLND_UH_MYSQLND_SET_CHARSET_DIR => "MYSQLND_UH_MYSQLND_SET_CHARSET_DIR",
  MYSQLND_UH_MYSQLND_SET_CHARSET_NAME => "MYSQLND_UH_MYSQLND_SET_CHARSET_NAME",
  MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE => "MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE",
  MYSQLND_UH_MYSQLND_OPT_PROTOCOL => "MYSQLND_UH_MYSQLND_OPT_PROTOCOL",
  MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME => "MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME",
  MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT => "MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT",
  MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT => "MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT",
  MYSQLND_UH_MYSQLND_OPT_USE_RESULT => "MYSQLND_UH_MYSQLND_OPT_USE_RESULT",
  MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION",
  MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION",
  MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION",
  MYSQLND_UH_MYSQLND_SET_CLIENT_IP => "MYSQLND_UH_MYSQLND_SET_CLIENT_IP",
  MYSQLND_UH_MYSQLND_SECURE_AUTH => "MYSQLND_UH_MYSQLND_SECURE_AUTH",
  MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION => "MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION",
  MYSQLND_UH_MYSQLND_OPT_RECONNECT => "MYSQLND_UH_MYSQLND_OPT_RECONNECT",
  MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT => "MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT",
  MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE => "MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE",
  MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE => "MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE",
  MYSQLND_UH_MYSQLND_OPT_SSL_KEY => "MYSQLND_UH_MYSQLND_OPT_SSL_KEY",
  MYSQLND_UH_MYSQLND_OPT_SSL_CERT => "MYSQLND_UH_MYSQLND_OPT_SSL_CERT",
  MYSQLND_UH_MYSQLND_OPT_SSL_CA => "MYSQLND_UH_MYSQLND_OPT_SSL_CA",
  MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH => "MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH",
  MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER => "MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER",
  MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE => "MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE",
  MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR => "MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR",
  MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH => "MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH",
  MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP => "MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP"
 );
 if (version_compare(PHP_VERSION, '5.3.99-dev', '>')) {
  $mapping[MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET] = "MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET";
  $mapping[MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL] = "MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL";
 }
 if (defined("MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE")) {
  /* special mysqlnd build */
  $mapping["MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE"] = "MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE";
 }
 return (isset($mapping[$option])) ? $mapping[$option] : 'unknown';
}

class proxy extends MysqlndUhConnection {
 public function setClientOption($res, $option, $value) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Option '%s' set to %s\n", client_option_to_string($option), var_export($value, true));
  $ret = parent::setClientOption($res, $option, $value);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
?>

O exemplo acima irá imprimir:

proxy::setClientOption(array (
  0 => NULL,
  1 => 210,
  2 => 3221225472,
))
Option 'MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET' set to 3221225472
proxy::setClientOption returns true
proxy::setClientOption(array (
  0 => NULL,
  1 => 211,
  2 => 'mysql_native_password',
))
Option 'MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL' set to 'mysql_native_password'
proxy::setClientOption returns true
proxy::setClientOption(array (
  0 => NULL,
  1 => 8,
  2 => 1,
))
Option 'MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE' set to 1
proxy::setClientOption returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_options() - Set options


Sets a server option

  • « MysqlndUhConnection::setClientOption
  • MysqlndUhConnection::shutdownServer »
  • PHP Manual
  • MysqlndUhConnection
  • Sets a server option

MysqlndUhConnection::setServerOption

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::setServerOption — Sets a server option

Descrição

public MysqlndUhConnection::setServerOption ( mysqlnd_connection $connection , int $option ) : void

Sets a server option.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

option

The option to be set.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::setServerOption() example

<?php
function server_option_to_string($option) {
 $ret = 'unknown';
 switch ($option) {
  case MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON:
   $ret = 'MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON';
   break;
  case MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_OFF:
   $ret = 'MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON';
   break;
 }
 return $ret;
}

class proxy extends MysqlndUhConnection {
 public function setServerOption($res, $option) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Option '%s' set\n", server_option_to_string($option));
  $ret = parent::setServerOption($res, $option);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->multi_query("SELECT 1; SELECT 2");
?>

O exemplo acima irá imprimir:

proxy::setServerOption(array (
  0 => NULL,
  1 => 0,
))
Option 'MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON' set
proxy::setServerOption returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_options() - Set options
  • mysqli_multi_query() - Performs a query on the database


The shutdownServer purpose

  • « MysqlndUhConnection::setServerOption
  • MysqlndUhConnection::simpleCommand »
  • PHP Manual
  • MysqlndUhConnection
  • The shutdownServer purpose

MysqlndUhConnection::shutdownServer

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::shutdownServer — The shutdownServer purpose

Descrição

public MysqlndUhConnection::shutdownServer ( string $MYSQLND_UH_RES_MYSQLND_NAME , string $level ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

MYSQLND_UH_RES_MYSQLND_NAME

level

Valor Retornado


Sends a basic COM_* command

  • « MysqlndUhConnection::shutdownServer
  • MysqlndUhConnection::simpleCommandHandleResponse »
  • PHP Manual
  • MysqlndUhConnection
  • Sends a basic COM_* command

MysqlndUhConnection::simpleCommand

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::simpleCommand — Sends a basic COM_* command

Descrição

public MysqlndUhConnection::simpleCommand ( mysqlnd_connection $connection , int $command , string $arg , int $ok_packet , bool $silent , bool $ignore_upsert_status ) : bool

Sends a basic COM_* command to MySQL.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

command

The COM command to be send.

arg

Optional COM command arguments.

ok_packet

The OK packet type.

silent

Whether mysqlnd may emit errors.

ignore_upsert_status

Whether to ignore UPDATE/INSERT status.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::simpleCommand() example

<?php
function server_cmd_2_string($command) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_COM_SLEEP => "MYSQLND_UH_MYSQLND_COM_SLEEP",
  MYSQLND_UH_MYSQLND_COM_QUIT => "MYSQLND_UH_MYSQLND_COM_QUIT",
  MYSQLND_UH_MYSQLND_COM_INIT_DB => "MYSQLND_UH_MYSQLND_COM_INIT_DB",
  MYSQLND_UH_MYSQLND_COM_QUERY => "MYSQLND_UH_MYSQLND_COM_QUERY",
  MYSQLND_UH_MYSQLND_COM_FIELD_LIST => "MYSQLND_UH_MYSQLND_COM_FIELD_LIST",
  MYSQLND_UH_MYSQLND_COM_CREATE_DB => "MYSQLND_UH_MYSQLND_COM_CREATE_DB",
  MYSQLND_UH_MYSQLND_COM_DROP_DB => "MYSQLND_UH_MYSQLND_COM_DROP_DB",
  MYSQLND_UH_MYSQLND_COM_REFRESH => "MYSQLND_UH_MYSQLND_COM_REFRESH",
  MYSQLND_UH_MYSQLND_COM_SHUTDOWN => "MYSQLND_UH_MYSQLND_COM_SHUTDOWN",
  MYSQLND_UH_MYSQLND_COM_STATISTICS => "MYSQLND_UH_MYSQLND_COM_STATISTICS",
  MYSQLND_UH_MYSQLND_COM_PROCESS_INFO => "MYSQLND_UH_MYSQLND_COM_PROCESS_INFO",
  MYSQLND_UH_MYSQLND_COM_CONNECT => "MYSQLND_UH_MYSQLND_COM_CONNECT",
  MYSQLND_UH_MYSQLND_COM_PROCESS_KILL => "MYSQLND_UH_MYSQLND_COM_PROCESS_KILL",
  MYSQLND_UH_MYSQLND_COM_DEBUG => "MYSQLND_UH_MYSQLND_COM_DEBUG",
  MYSQLND_UH_MYSQLND_COM_PING => "MYSQLND_UH_MYSQLND_COM_PING",
  MYSQLND_UH_MYSQLND_COM_TIME => "MYSQLND_UH_MYSQLND_COM_TIME",
  MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT => "MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT",
  MYSQLND_UH_MYSQLND_COM_CHANGE_USER => "MYSQLND_UH_MYSQLND_COM_CHANGE_USER",
  MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP => "MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP",
  MYSQLND_UH_MYSQLND_COM_TABLE_DUMP => "MYSQLND_UH_MYSQLND_COM_TABLE_DUMP",
  MYSQLND_UH_MYSQLND_COM_CONNECT_OUT => "MYSQLND_UH_MYSQLND_COM_CONNECT_OUT",
  MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED => "MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED",
  MYSQLND_UH_MYSQLND_COM_STMT_PREPARE => "MYSQLND_UH_MYSQLND_COM_STMT_PREPARE",
  MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE => "MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE",
  MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA => "MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA",
  MYSQLND_UH_MYSQLND_COM_STMT_CLOSE => "MYSQLND_UH_MYSQLND_COM_STMT_CLOSE",
  MYSQLND_UH_MYSQLND_COM_STMT_RESET => "MYSQLND_UH_MYSQLND_COM_STMT_RESET",
  MYSQLND_UH_MYSQLND_COM_SET_OPTION => "MYSQLND_UH_MYSQLND_COM_SET_OPTION",
  MYSQLND_UH_MYSQLND_COM_STMT_FETCH => "MYSQLND_UH_MYSQLND_COM_STMT_FETCH",
  MYSQLND_UH_MYSQLND_COM_DAEMON => "MYSQLND_UH_MYSQLND_COM_DAEMON",
  MYSQLND_UH_MYSQLND_COM_END => "MYSQLND_UH_MYSQLND_COM_END",
 );
 return (isset($mapping[$command])) ? $mapping[$command] : 'unknown';
}

function ok_packet_2_string($ok_packet) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_PROT_GREET_PACKET => "MYSQLND_UH_MYSQLND_PROT_GREET_PACKET",
  MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET => "MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET",
  MYSQLND_UH_MYSQLND_PROT_OK_PACKET => "MYSQLND_UH_MYSQLND_PROT_OK_PACKET",
  MYSQLND_UH_MYSQLND_PROT_EOF_PACKET => "MYSQLND_UH_MYSQLND_PROT_EOF_PACKET",
  MYSQLND_UH_MYSQLND_PROT_CMD_PACKET => "MYSQLND_UH_MYSQLND_PROT_CMD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_ROW_PACKET => "MYSQLND_UH_MYSQLND_PROT_ROW_PACKET",
  MYSQLND_UH_MYSQLND_PROT_STATS_PACKET => "MYSQLND_UH_MYSQLND_PROT_STATS_PACKET",
  MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET => "MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET",
  MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET => "MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET",
  MYSQLND_UH_MYSQLND_PROT_LAST => "MYSQLND_UH_MYSQLND_PROT_LAST",
 );
 return (isset($mapping[$ok_packet])) ? $mapping[$ok_packet] : 'unknown';
}

class proxy extends MysqlndUhConnection {
 public function simpleCommand($conn, $command, $arg, $ok_packet, $silent, $ignore_upsert_status) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Command '%s'\n", server_cmd_2_string($command));
  printf("OK packet '%s'\n",  ok_packet_2_string($ok_packet));
  $ret = parent::simpleCommand($conn, $command, $arg, $ok_packet, $silent, $ignore_upsert_status);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("SELECT 1");
?>

O exemplo acima irá imprimir:

proxy::simpleCommand(array (
  0 => NULL,
  1 => 3,
  2 => 'SELECT 1',
  3 => 13,
  4 => false,
  5 => false,
))
Command 'MYSQLND_UH_MYSQLND_COM_QUERY'
OK packet 'MYSQLND_UH_MYSQLND_PROT_LAST'
proxy::simpleCommand returns true
:)proxy::simpleCommand(array (
  0 => NULL,
  1 => 1,
  2 => '',
  3 => 13,
  4 => true,
  5 => true,
))
Command 'MYSQLND_UH_MYSQLND_COM_QUIT'
OK packet 'MYSQLND_UH_MYSQLND_PROT_LAST'
proxy::simpleCommand returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections


Process a response for a basic COM_* command send to the client

  • « MysqlndUhConnection::simpleCommand
  • MysqlndUhConnection::sslSet »
  • PHP Manual
  • MysqlndUhConnection
  • Process a response for a basic COM_* command send to the client

MysqlndUhConnection::simpleCommandHandleResponse

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::simpleCommandHandleResponse — Process a response for a basic COM_* command send to the client

Descrição

public MysqlndUhConnection::simpleCommandHandleResponse ( mysqlnd_connection $connection , int $ok_packet , bool $silent , int $command , bool $ignore_upsert_status ) : bool

Process a response for a basic COM_* command send to the client.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

ok_packet

The OK packet type.

silent

Whether mysqlnd may emit errors.

command

The COM command to process results from.

ignore_upsert_status

Whether to ignore UPDATE/INSERT status.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::simpleCommandHandleResponse() example

<?php
function server_cmd_2_string($command) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_COM_SLEEP => "MYSQLND_UH_MYSQLND_COM_SLEEP",
  MYSQLND_UH_MYSQLND_COM_QUIT => "MYSQLND_UH_MYSQLND_COM_QUIT",
  MYSQLND_UH_MYSQLND_COM_INIT_DB => "MYSQLND_UH_MYSQLND_COM_INIT_DB",
  MYSQLND_UH_MYSQLND_COM_QUERY => "MYSQLND_UH_MYSQLND_COM_QUERY",
  MYSQLND_UH_MYSQLND_COM_FIELD_LIST => "MYSQLND_UH_MYSQLND_COM_FIELD_LIST",
  MYSQLND_UH_MYSQLND_COM_CREATE_DB => "MYSQLND_UH_MYSQLND_COM_CREATE_DB",
  MYSQLND_UH_MYSQLND_COM_DROP_DB => "MYSQLND_UH_MYSQLND_COM_DROP_DB",
  MYSQLND_UH_MYSQLND_COM_REFRESH => "MYSQLND_UH_MYSQLND_COM_REFRESH",
  MYSQLND_UH_MYSQLND_COM_SHUTDOWN => "MYSQLND_UH_MYSQLND_COM_SHUTDOWN",
  MYSQLND_UH_MYSQLND_COM_STATISTICS => "MYSQLND_UH_MYSQLND_COM_STATISTICS",
  MYSQLND_UH_MYSQLND_COM_PROCESS_INFO => "MYSQLND_UH_MYSQLND_COM_PROCESS_INFO",
  MYSQLND_UH_MYSQLND_COM_CONNECT => "MYSQLND_UH_MYSQLND_COM_CONNECT",
  MYSQLND_UH_MYSQLND_COM_PROCESS_KILL => "MYSQLND_UH_MYSQLND_COM_PROCESS_KILL",
  MYSQLND_UH_MYSQLND_COM_DEBUG => "MYSQLND_UH_MYSQLND_COM_DEBUG",
  MYSQLND_UH_MYSQLND_COM_PING => "MYSQLND_UH_MYSQLND_COM_PING",
  MYSQLND_UH_MYSQLND_COM_TIME => "MYSQLND_UH_MYSQLND_COM_TIME",
  MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT => "MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT",
  MYSQLND_UH_MYSQLND_COM_CHANGE_USER => "MYSQLND_UH_MYSQLND_COM_CHANGE_USER",
  MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP => "MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP",
  MYSQLND_UH_MYSQLND_COM_TABLE_DUMP => "MYSQLND_UH_MYSQLND_COM_TABLE_DUMP",
  MYSQLND_UH_MYSQLND_COM_CONNECT_OUT => "MYSQLND_UH_MYSQLND_COM_CONNECT_OUT",
  MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED => "MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED",
  MYSQLND_UH_MYSQLND_COM_STMT_PREPARE => "MYSQLND_UH_MYSQLND_COM_STMT_PREPARE",
  MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE => "MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE",
  MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA => "MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA",
  MYSQLND_UH_MYSQLND_COM_STMT_CLOSE => "MYSQLND_UH_MYSQLND_COM_STMT_CLOSE",
  MYSQLND_UH_MYSQLND_COM_STMT_RESET => "MYSQLND_UH_MYSQLND_COM_STMT_RESET",
  MYSQLND_UH_MYSQLND_COM_SET_OPTION => "MYSQLND_UH_MYSQLND_COM_SET_OPTION",
  MYSQLND_UH_MYSQLND_COM_STMT_FETCH => "MYSQLND_UH_MYSQLND_COM_STMT_FETCH",
  MYSQLND_UH_MYSQLND_COM_DAEMON => "MYSQLND_UH_MYSQLND_COM_DAEMON",
  MYSQLND_UH_MYSQLND_COM_END => "MYSQLND_UH_MYSQLND_COM_END",
 );
 return (isset($mapping[$command])) ? $mapping[$command] : 'unknown';
}

function ok_packet_2_string($ok_packet) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_PROT_GREET_PACKET => "MYSQLND_UH_MYSQLND_PROT_GREET_PACKET",
  MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET => "MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET",
  MYSQLND_UH_MYSQLND_PROT_OK_PACKET => "MYSQLND_UH_MYSQLND_PROT_OK_PACKET",
  MYSQLND_UH_MYSQLND_PROT_EOF_PACKET => "MYSQLND_UH_MYSQLND_PROT_EOF_PACKET",
  MYSQLND_UH_MYSQLND_PROT_CMD_PACKET => "MYSQLND_UH_MYSQLND_PROT_CMD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_ROW_PACKET => "MYSQLND_UH_MYSQLND_PROT_ROW_PACKET",
  MYSQLND_UH_MYSQLND_PROT_STATS_PACKET => "MYSQLND_UH_MYSQLND_PROT_STATS_PACKET",
  MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET => "MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET",
  MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET => "MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET",
  MYSQLND_UH_MYSQLND_PROT_LAST => "MYSQLND_UH_MYSQLND_PROT_LAST",
 );
 return (isset($mapping[$ok_packet])) ? $mapping[$ok_packet] : 'unknown';
}

class proxy extends MysqlndUhConnection {
 public function simpleCommandHandleResponse($conn, $ok_packet, $silent, $command, $ignore_upsert_status) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Command '%s'\n", server_cmd_2_string($command));
  printf("OK packet '%s'\n",  ok_packet_2_string($ok_packet));
  $ret = parent::simpleCommandHandleResponse($conn, $ok_packet, $silent, $command, $ignore_upsert_status);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysql = mysql_connect("localhost", "root", "");
mysql_query("SELECT 1 FROM DUAL", $mysql);
?>

O exemplo acima irá imprimir:

proxy::simpleCommandHandleResponse(array (
  0 => NULL,
  1 => 5,
  2 => false,
  3 => 27,
  4 => true,
))
Command 'MYSQLND_UH_MYSQLND_COM_SET_OPTION'
OK packet 'MYSQLND_UH_MYSQLND_PROT_EOF_PACKET'
proxy::simpleCommandHandleResponse returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections


Used for establishing secure connections using SSL

  • « MysqlndUhConnection::simpleCommandHandleResponse
  • MysqlndUhConnection::stmtInit »
  • PHP Manual
  • MysqlndUhConnection
  • Used for establishing secure connections using SSL

MysqlndUhConnection::sslSet

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::sslSet — Used for establishing secure connections using SSL

Descrição

public MysqlndUhConnection::sslSet ( mysqlnd_connection $connection , string $key , string $cert , string $ca , string $capath , string $cipher ) : bool

Used for establishing secure connections using SSL.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

key

The path name to the key file.

cert

The path name to the certificate file.

ca

The path name to the certificate authority file.

capath

The pathname to a directory that contains trusted SSL CA certificates in PEM format.

cipher

A list of allowable ciphers to use for SSL encryption.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::sslSet() example

<?php
class proxy extends MysqlndUhConnection {
 public function sslSet($conn, $key, $cert, $ca, $capath, $cipher) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::sslSet($conn, $key, $cert, $ca, $capath, $cipher);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->ssl_set("key", "cert", "ca", "capath", "cipher");
?>

O exemplo acima irá imprimir:

proxy::sslSet(array (
  0 => NULL,
  1 => 'key',
  2 => 'cert',
  3 => 'ca',
  4 => 'capath',
  5 => 'cipher',
))
proxy::sslSet returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_ssl_set() - Used for establishing secure connections using SSL


Initializes a statement and returns a resource for use with mysqli_statement::prepare

  • « MysqlndUhConnection::sslSet
  • MysqlndUhConnection::storeResult »
  • PHP Manual
  • MysqlndUhConnection
  • Initializes a statement and returns a resource for use with mysqli_statement::prepare

MysqlndUhConnection::stmtInit

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::stmtInit — Initializes a statement and returns a resource for use with mysqli_statement::prepare

Descrição

public MysqlndUhConnection::stmtInit ( mysqlnd_connection $connection ) : resource

Initializes a statement and returns a resource for use with mysqli_statement::prepare.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Resource of type Mysqlnd Prepared Statement (internal only - you must not modify it!). The documentation may also refer to such resources using the alias name mysqlnd_prepared_statement.

Exemplos

Exemplo #1 MysqlndUhConnection::stmtInit() example

<?php
class proxy extends MysqlndUhConnection {
 public function stmtInit($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  var_dump($res);
  $ret = parent::stmtInit($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 1 AS _one FROM DUAL");
$stmt->execute();
$one = NULL;
$stmt->bind_result($one);
$stmt->fetch();
var_dump($one);
?>

O exemplo acima irá imprimir:

proxy::stmtInit(array (
  0 => NULL,
))
resource(19) of type (Mysqlnd Connection)
proxy::stmtInit returns NULL
resource(246) of type (Mysqlnd Prepared Statement (internal only - you must not modify it!))
int(1)

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_stmt_init() - Initializes a statement and returns an object for use with mysqli_stmt_prepare


Transfers a result set from the last query

  • « MysqlndUhConnection::stmtInit
  • MysqlndUhConnection::txCommit »
  • PHP Manual
  • MysqlndUhConnection
  • Transfers a result set from the last query

MysqlndUhConnection::storeResult

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::storeResult — Transfers a result set from the last query

Descrição

public MysqlndUhConnection::storeResult ( mysqlnd_connection $connection ) : resource

Transfers a result set from the last query.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Resource of type Mysqlnd Resultset (internal only - you must not modify it!). The documentation may also refer to such resources using the alias name mysqlnd_resultset.

Exemplos

Exemplo #1 MysqlndUhConnection::storeResult() example

<?php
class proxy extends MysqlndUhConnection {
 public function storeResult($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::storeResult($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$res = $mysqli->query("SELECT 'Also called buffered result' AS _msg FROM DUAL");
var_dump($res->fetch_assoc());

$mysqli->real_query("SELECT 'Good morning!' AS _msg FROM DUAL");
$res = $mysqli->store_result();
var_dump($res->fetch_assoc());
?>

O exemplo acima irá imprimir:

proxy::storeResult(array (
  0 => NULL,
))
proxy::storeResult returns NULL
resource(475) of type (Mysqlnd Resultset (internal only - you must not modify it!))
array(1) {
  ["_msg"]=>
  string(27) "Also called buffered result"
}
proxy::storeResult(array (
  0 => NULL,
))
proxy::storeResult returns NULL
resource(730) of type (Mysqlnd Resultset (internal only - you must not modify it!))
array(1) {
  ["_msg"]=>
  string(13) "Good morning!"
}

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_real_query() - Execute an SQL query


Commits the current transaction

  • « MysqlndUhConnection::storeResult
  • MysqlndUhConnection::txRollback »
  • PHP Manual
  • MysqlndUhConnection
  • Commits the current transaction

MysqlndUhConnection::txCommit

(PECL mysqlnd-uh >= 1.0.1-alpha)

MysqlndUhConnection::txCommit — Commits the current transaction

Descrição

public MysqlndUhConnection::txCommit ( mysqlnd_connection $connection ) : bool

Commits the current transaction.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::txCommit() example

<?php
class proxy extends MysqlndUhConnection {
 public function txCommit($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::txCommit($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->commit();
?>

O exemplo acima irá imprimir:

proxy::txCommit(array (
  0 => NULL,
))
proxy::txCommit returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_commit() - Salva a transação atual


Rolls back current transaction

  • « MysqlndUhConnection::txCommit
  • MysqlndUhConnection::useResult »
  • PHP Manual
  • MysqlndUhConnection
  • Rolls back current transaction

MysqlndUhConnection::txRollback

(PECL mysqlnd-uh >= 1.0.1-alpha)

MysqlndUhConnection::txRollback — Rolls back current transaction

Descrição

public MysqlndUhConnection::txRollback ( mysqlnd_connection $connection ) : bool

Rolls back current transaction.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhConnection::txRollback() example

<?php
class proxy extends MysqlndUhConnection {
 public function txRollback($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::txRollback($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->rollback();
?>

O exemplo acima irá imprimir:

proxy::txRollback(array (
  0 => NULL,
))
proxy::txRollback returns true

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_commit() - Salva a transação atual


Initiate a result set retrieval

  • « MysqlndUhConnection::txRollback
  • MysqlndUhPreparedStatement »
  • PHP Manual
  • MysqlndUhConnection
  • Initiate a result set retrieval

MysqlndUhConnection::useResult

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::useResult — Initiate a result set retrieval

Descrição

public MysqlndUhConnection::useResult ( mysqlnd_connection $connection ) : resource

Initiate a result set retrieval.

Parâmetros

connection

Mysqlnd connection handle. Do not modify!

Valor Retornado

Resource of type Mysqlnd Resultset (internal only - you must not modify it!). The documentation may also refer to such resources using the alias name mysqlnd_resultset.

Exemplos

Exemplo #1 MysqlndUhConnection::useResult() example

<?php
class proxy extends MysqlndUhConnection {
 public function useResult($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::useResult($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->real_query("SELECT 'Good morning!' AS _msg FROM DUAL");
$res = $mysqli->use_result();
var_dump($res->fetch_assoc());
?>

O exemplo acima irá imprimir:

proxy::useResult(array (
  0 => NULL,
))
proxy::useResult returns NULL
resource(425) of type (Mysqlnd Resultset (internal only - you must not modify it!))
array(1) {
  ["_msg"]=>
  string(13) "Good morning!"
}

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_use_result() - Initiate a result set retrieval
  • mysqli_real_query() - Execute an SQL query


The MysqlndUhPreparedStatement class

(PECL mysqlnd-uh >= 1.0.0-alpha)

Introdução

Sinopse da classe

MysqlndUhPreparedStatement {
/* Métodos */
public __construct ( )
public execute ( mysqlnd_prepared_statement $statement ) : bool
public prepare ( mysqlnd_prepared_statement $statement , string $query ) : bool
}

Índice

  • MysqlndUhPreparedStatement::__construct — The __construct purpose
  • MysqlndUhPreparedStatement::execute — Executes a prepared Query
  • MysqlndUhPreparedStatement::prepare — Prepare an SQL statement for execution


The __construct purpose

  • « MysqlndUhPreparedStatement
  • MysqlndUhPreparedStatement::execute »
  • PHP Manual
  • MysqlndUhPreparedStatement
  • The __construct purpose

MysqlndUhPreparedStatement::__construct

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::__construct — The __construct purpose

Descrição

public MysqlndUhPreparedStatement::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Executes a prepared Query

  • « MysqlndUhPreparedStatement::__construct
  • MysqlndUhPreparedStatement::prepare »
  • PHP Manual
  • MysqlndUhPreparedStatement
  • Executes a prepared Query

MysqlndUhPreparedStatement::execute

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::execute — Executes a prepared Query

Descrição

public MysqlndUhPreparedStatement::execute ( mysqlnd_prepared_statement $statement ) : bool

Executes a prepared Query.

Parâmetros

statement

Mysqlnd prepared statement handle. Do not modify! Resource of type Mysqlnd Prepared Statement (internal only - you must not modify it!).

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhPreparedStatement::execute() example

<?php
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function execute($res) {
  printf("%s(", __METHOD__);
  var_dump($res);
  printf(")\n");
  $ret = parent::execute($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 'Labskaus' AS _msg FROM DUAL");
$stmt->execute();
$msg = NULL;
$stmt->bind_result($msg);
$stmt->fetch();
var_dump($msg);
?>

O exemplo acima irá imprimir:

stmt_proxy::execute(resource(256) of type (Mysqlnd Prepared Statement (internal only - you must not modify it!))
)
stmt_proxy::execute returns true
bool(true)
string(8) "Labskaus"

Veja Também

  • mysqlnd_uh_set_statement_proxy() - Installs a proxy for mysqlnd statements
  • mysqli_stmt_execute() - Executa uma preparada query


Prepare an SQL statement for execution

  • « MysqlndUhPreparedStatement::execute
  • Mysqlnd_uh Funções »
  • PHP Manual
  • MysqlndUhPreparedStatement
  • Prepare an SQL statement for execution

MysqlndUhPreparedStatement::prepare

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::prepare — Prepare an SQL statement for execution

Descrição

public MysqlndUhPreparedStatement::prepare ( mysqlnd_prepared_statement $statement , string $query ) : bool

Prepare an SQL statement for execution.

Parâmetros

statement

Mysqlnd prepared statement handle. Do not modify! Resource of type Mysqlnd Prepared Statement (internal only - you must not modify it!).

query

The query to be prepared.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 MysqlndUhPreparedStatement::prepare() example

<?php
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function prepare($res, $query) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $query = "SELECT 'No more you-know-what-I-mean for lunch, please' AS _msg FROM DUAL";
  $ret = parent::prepare($res, $query);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 'Labskaus' AS _msg FROM DUAL");
$stmt->execute();
$msg = NULL;
$stmt->bind_result($msg);
$stmt->fetch();
var_dump($msg);
?>

O exemplo acima irá imprimir:

stmt_proxy::prepare(array (
  0 => NULL,
  1 => 'SELECT \'Labskaus\' AS _msg FROM DUAL',
))
stmt_proxy::prepare returns true
bool(true)
string(46) "No more you-know-what-I-mean for lunch, please"

Veja Também

  • mysqlnd_uh_set_statement_proxy() - Installs a proxy for mysqlnd statements
  • mysqli_stmt_prepare() - Prepara uma declaração SQL para execução
  • mysqli_prepare() - Prepare an SQL statement for execution


Mysqlnd_uh Funções

Índice

  • mysqlnd_uh_convert_to_mysqlnd — Converts a MySQL connection handle into a mysqlnd connection handle
  • mysqlnd_uh_set_connection_proxy — Installs a proxy for mysqlnd connections
  • mysqlnd_uh_set_statement_proxy — Installs a proxy for mysqlnd statements


Converts a MySQL connection handle into a mysqlnd connection handle

  • « Mysqlnd_uh Funções
  • mysqlnd_uh_set_connection_proxy »
  • PHP Manual
  • Mysqlnd_uh Funções
  • Converts a MySQL connection handle into a mysqlnd connection handle

mysqlnd_uh_convert_to_mysqlnd

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_convert_to_mysqlnd — Converts a MySQL connection handle into a mysqlnd connection handle

Descrição

mysqlnd_uh_convert_to_mysqlnd ( mysqli &$mysql_connection ) : resource

Converts a MySQL connection handle into a mysqlnd connection handle. After conversion you can execute mysqlnd library calls on the connection handle. This can be used to access mysqlnd functionality not made available through user space API calls.

The function can be disabled with mysqlnd_uh.enable. If mysqlnd_uh.enable is set to false the function will not install the proxy and always return true. Additionally, an error of the type E_WARNING may be emitted. The error message may read like PHP Warning: mysqlnd_uh_convert_to_mysqlnd(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. You are not allowed to call this function [...].

Parâmetros

MySQL connection handle

A MySQL connection handle of type mysql, mysqli or PDO_MySQL.

Valor Retornado

A mysqlnd connection handle.

Changelog

Versão | Descrição
5.4.0 | The mysql_connection parameter can now be of type mysql, PDO_MySQL, or mysqli. Before, only the mysqli type was allowed.

Exemplos

Exemplo #1 mysqlnd_uh_convert_to_mysqlnd() example

<?php
/* PDO user API gives no access to connection thread id */
$mysql_connection = new PDO("mysql:host=localhost;dbname=test", "root", "");

/* Convert PDO MySQL handle to mysqlnd handle */
$mysqlnd = mysqlnd_uh_convert_to_mysqlnd($mysql_connection);

/* Create Proxy to call mysqlnd connection class methods */
$obj = new MySQLndUHConnection();
/* Call mysqlnd_conn::get_thread_id */
var_dump($obj->getThreadId($mysqlnd));

/* Use SQL to fetch connection thread id */
var_dump($mysql_connection->query("SELECT CONNECTION_ID()")->fetchAll());
?>

O exemplo acima irá imprimir:

int(27054)
array(1) {
  [0]=>
  array(2) {
    ["CONNECTION_ID()"]=>
    string(5) "27054"
    [0]=>
    string(5) "27054"
  }
}

Veja Também

  • mysqlnd_uh.enable


Installs a proxy for mysqlnd connections

  • « mysqlnd_uh_convert_to_mysqlnd
  • mysqlnd_uh_set_statement_proxy »
  • PHP Manual
  • Mysqlnd_uh Funções
  • Installs a proxy for mysqlnd connections

mysqlnd_uh_set_connection_proxy

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_set_connection_proxy — Installs a proxy for mysqlnd connections

Descrição

mysqlnd_uh_set_connection_proxy ( MysqlndUhConnection &$connection_proxy , mysqli &$mysqli_connection = ? ) : bool

Installs a proxy object to hook mysqlnd's connection objects methods. Once installed, the proxy will be used for all MySQL connections opened with mysqli, mysql or PDO_MYSQL, assuming that the listed extensions are compiled to use the mysqlnd library.

The function can be disabled with mysqlnd_uh.enable. If mysqlnd_uh.enable is set to false the function will not install the proxy and always return true. Additionally, an error of the type E_WARNING may be emitted. The error message may read like PHP Warning: mysqlnd_uh_set_connection_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed [...].

Parâmetros

connection_proxy

A proxy object of type MysqlndUhConnection.

mysqli_connection

Object of type mysqli. If given, the proxy will be set for this particular connection only.

Valor Retornado

Returns true on success. Otherwise, returns false

Exemplos

Exemplo #1 mysqlnd_uh_set_connection_proxy() example

<?php
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("SELECT 'No proxy installed, yet'");

class proxy extends MysqlndUhConnection {
 public function query($res, $query) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::query($res, $query);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli->query("SELECT 'mysqlnd rocks!'");

$mysql = mysql_connect("localhost", "root", "", "test");
mysql_query("SELECT 'Ahoy Andrey!'", $mysql);

$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "");
$pdo->query("SELECT 'Moin Johannes!'");
?>

O exemplo acima irá imprimir:

proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'mysqlnd rocks!\'',
))
proxy::query returns true
proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Ahoy Andrey!\'',
))
proxy::query returns true
proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Moin Johannes!\'',
))
proxy::query returns true

Veja Também

  • mysqlnd_uh_set_statement_proxy() - Installs a proxy for mysqlnd statements
  • mysqlnd_uh.enable


Installs a proxy for mysqlnd statements

  • « mysqlnd_uh_set_connection_proxy
  • Change History »
  • PHP Manual
  • Mysqlnd_uh Funções
  • Installs a proxy for mysqlnd statements

mysqlnd_uh_set_statement_proxy

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_set_statement_proxy — Installs a proxy for mysqlnd statements

Descrição

mysqlnd_uh_set_statement_proxy ( MysqlndUhStatement &$statement_proxy ) : bool

Installs a proxy for mysqlnd statements. The proxy object will be used for all mysqlnd prepared statement objects, regardless which PHP MySQL extension (mysqli, mysql, PDO_MYSQL) has created them as long as the extension is compiled to use the mysqlnd library.

The function can be disabled with mysqlnd_uh.enable. If mysqlnd_uh.enable is set to false the function will not install the proxy and always return true. Additionally, an error of the type E_WARNING may be emitted. The error message may read like PHP Warning: mysqlnd_uh_set_statement_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed [...].

Parâmetros

statement_proxy

The mysqlnd statement proxy object of type MysqlndUhStatement

Valor Retornado

Returns true on success. Otherwise, returns false

Veja Também

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqlnd_uh.enable


Change History

Índice

  • PECL/mysqlnd_uh 1.0 series

The Change History lists major changes users need to be aware if upgrading from one version to another. It is a high level summary of selected changes that may impact applications or might even break backwards compatibility. See also the CHANGES file contained in the source for additional changelog information. The commit history is also available.


PECL/mysqlnd_uh 1.0 series

1.0.1-alpha

  • Release date: TBD
  • Motto/theme: bug fix release

Feature changes

  • Support of PHP 5.4.0 or later.
  • BC break: MysqlndUhConnection::changeUser() requires additional passwd_len parameter.
  • BC break: MYSQLND_UH_VERSION_STR renamed to MYSQLND_UH_VERSION. MYSQLND_UH_VERSION renamed to MYSQLND_UH_VERSION_ID.
  • BC break: mysqlnd_uh.enabled configuration setting renamed to mysqlnd_uh.enable.

1.0.0-alpha

  • Release date: 08/2010
  • Motto/theme: Initial release


Mysqlnd connection multiplexing plugin

  • Introdução
  • Concepts
    • Architecture
    • Connection pool
    • Sharing connections
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
  • Constantes pré-definidas
  • Change History
    • PECL/mysqlnd_mux 1.0 series


Introdução

The mysqlnd multiplexing plugin (mysqlnd_mux) multiplexes MySQL connections established by all PHP MySQL extensions that use the MySQL native driver (mysqlnd) for PHP.

The MySQL native driver for PHP features an internal C API for plugins, such as the connection multiplexing plugin, which can extend the functionality of mysqlnd. See the mysqlnd for additional details about its benefits over the MySQL Client Library libmysqlclient.

Mysqlnd plugins like mysqlnd_mux operate, for the most part, transparently from a user perspective. The connection multiplexing plugin supports all PHP applications, and all MySQL PHP extensions. It does not change existing APIs. Therefore, it can easily be used with existing PHP applications.

Nota:

This is a proof-of-concept. All features are at an early stage. Not all kinds of queries are handled by the plugin yet. Thus, it cannot be used in a drop-in fashion at the moment.

Please, do not use this version in production environments.

Key Features

The key features of mysqlnd_mux are as follows:

  • Transparent and therefore easy to use:

    • Supports all of the PHP MySQL extensions.

    • Little to no application changes are required, dependent on the required usage scenario.

  • Reduces server load and connection establishment latency:

    • Opens less connections to the MySQL server.

    • Less connections to MySQL mean less work for the MySQL server. In a client-server environment scaling the server is often more difficult than scaling the client. Multiplexing helps with horizontal scale-out (scale-by-client).

    • Pooling saves connection time.

    • Multiplexed connection: multiple user handles share the same network connection. Once opened, a network connection is cached and shared among multiple user handles. There is a 1:n relationship between internal network connection and user connection handles.

    • Persistent connection: a network connection is kept open at the end of the web request, if the PHP deployment model allows. Thus, subsequently web requests can reuse a previously opened connection. Like other resources, network connections are bound to the scope of a process. Thus, they can be reused for all web requests served by a process.

Limitations

The proof-of-concept does not support unbuffered queries, prepared statements, and asynchronous queries.

The connection pool is using a combination of the transport method and hostname as keys. As a consequence, two connections to the same host using the same transport method (TCP/IP, Unix socket, Windows named pipe) will be linked to the same pooled connection even if username and password differ. Be aware of the possible security implications.

The proof-of-concept is transaction agnostic. It does not know about SQL transactions.

Nota:

Applications must be aware of the consequences of connection sharing connections.

About the name mysqlnd_mux

The shortcut mysqlnd_mux stands for mysqlnd connection multiplexing plugin.


Concepts

Índice

  • Architecture
  • Connection pool
  • Sharing connections

This explains the architecture and related concepts for this plugin. Reading and understanding these concepts is required to successfully use this plugin.


Architecture

The mysqlnd connection multiplexing plugin is implemented as a PHP extension. It is written in C and operates under the hood of PHP. During the startup of the PHP interpreter, in the module initialization phase of the PHP engine, it gets registered as a mysqlnd plugin to replace specific mysqlnd C methods.

The mysqlnd library uses PHP streams to communicate with the MySQL server. PHP streams are accessed by the mysqlnd library through its net module. The mysqlnd connection multiplexing plugin proxies methods of the mysqlnd library net module to control opening and closing of network streams.

Upon opening a user connection to MySQL using the appropriate connection functions of either mysqli, PDO_MYSQL or ext/mysql, the plugin will search its connection pool for an open network connection. If the pool contains a network connection to the host specified by the connect function using the transport method requested (TCP/IP, Unix domain socket, Windows named pipe), the pooled connection is linked to the user handle. Otherwise, a new network connection is opened, put into the poolm and associated with the user connection handle. This way, multiple user handles can be linked to the same network connection.


Connection pool

The plugins connection pool is created when PHP initializes its modules (MINIT) and free'd when PHP shuts down the modules (MSHUTDOWN). This is the same as for persistent MySQL connections.

Depending on the deployment model, the pool is used for the duration of one or multiple web requests. Network connections are bound to the lifespan of an operating system level process. If the PHP process serves multiple web requests as it is the case for Fast-CGI or threaded web server deployments, then the pooled connections can be reused over multiple connections. Because multiplexing means sharing connections, it can even happen with a threaded deployment that two threads or two distinct web requests are linked to one pooled network connections.

A pooled connection is explicitly closed once the last reference to it is released. An implicit close happens when PHP shuts down its modules.


Sharing connections

The PHP mysqlnd connection multiplexing plugin changes the relationship between a users connection handle and the underlying MySQL connection. Without the plugin, every MySQL connection belongs to exactly one user connection at a time. The multiplexing plugin changes. A MySQL connection is shared among multiple user handles. There no one-to-one relation if using the plugin.

Sharing pooled connections has an impact on the connection state. State changing operations from multiple user handles pointing to one MySQL connection are not isolated from each other. If, for example, a session variable is set through one user connection handle, the session variable becomes visible to all other user handles that reference the same underlying MySQL connection.

This is similar in concept to connection state related phenomens described for the PHP mysqlnd replication and load balancing plugin. Please, check the PECL/mysqlnd_ms documentation for more details on the state of a connection.

The proof-of-concept takes no measures to isolate multiplexed connections from each other.


  • « Sharing connections
  • Dependências »
  • PHP Manual
  • mysqlnd_mux
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução


Dependências

PHP 5.5.0 or newer. Some advanced functionality requires PHP 5.5.0 or newer.

The mysqlnd_mux replication and load balancing plugin supports all PHP applications and all available PHP MySQL extensions (mysqli, mysql, PDO_MYSQL). The PHP MySQL extension must be configured to use mysqlnd in order to be able to use the mysqlnd_mux plugin for mysqlnd.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/mysqlnd_mux


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Mysqlnd_mux Opções de Configuração
Nome | Padrão | Modificável | Changelog
mysqlnd_mux.enable | 0 | PHP_INI_SYSTEM |

Uma rápida explicação das diretivas de configuração.

mysqlnd_mux.enable int

Enables or disables the plugin. If disabled, the extension will not plug into mysqlnd to proxy internal mysqlnd C API calls.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Other

The plugins version number can be obtained using MYSQLND_MUX_VERSION or MYSQLND_MUX_VERSION_ID. MYSQLND_MUX_VERSION is the string representation of the numerical version number MYSQLND_MUX_VERSION_ID, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
MYSQLND_MUX_VERSION_ID | 10000

MYSQLND_MUX_VERSION (string)
Plugin version string, for example, 1.0.0-prototype.
MYSQLND_MUX_VERSION_ID (int)
Plugin version number, for example, 10000.


Change History

Índice

  • PECL/mysqlnd_mux 1.0 series

This change history is a high level summary of selected changes that may impact applications and/or break backwards compatibility.

See also the CHANGES file in the source distribution for a complete list of changes.


PECL/mysqlnd_mux 1.0 series

1.0.0-pre-alpha

  • Release date: no package released, initial check-in 09/2012
  • Motto/theme: Proof of concept

Initial check-in. Essentially a demo of the mysqlnd plugin API.

Nota:

This is the current development series. All features are at an early stage. Changes may happen at any time without prior notice. Please, do not use this version in production environments.

The documentation may not reflect all changes yet.


Mysqlnd Memcache plugin

  • Introdução
  • Quickstart and Examples
    • Setup
    • Usage
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
  • Constantes pré-definidas
  • Mysqlnd_memcache Funções
    • mysqlnd_memcache_get_config — Returns information about the plugin configuration
    • mysqlnd_memcache_set — Associate a MySQL connection with a Memcache connection
  • Change History
    • PECL/mysqlnd_memcache 1.0 series


Introdução

The mysqlnd memcache plugin (mysqlnd_memcache) is an PHP extension for transparently translating SQL into requests for the MySQL InnoDB Memcached Daemon Plugin (server plugin). It includes experimental support for the MySQL Cluster Memcached Daemon. The server plugin provides access to data stored inside MySQL InnoDB (respectively MySQL Cluster NDB) tables using the Memcache protocol. This PHP extension, which supports all PHP MySQL extensions that use mysqlnd, will identify tables exported in this way and will translate specific SELECT queries into Memcache requests.

mysqlnd_memcache data flow

Nota:

This plugin depends on the MySQL InnoDB Memcached Daemon Plugin. It is not provided to be used with a stand-alone Memcached. For a generic query cache using Memcached look at the mysqlnd query cache plugin. For direct Memcache access look at the memcache and memcached extensions.

The MySQL native driver for PHP is a C library that ships together with PHP. It serves as a drop-in replacement for the MySQL Client Library (libmysqlclient). Using mysqlnd has several advantages: no extra downloads are required because it's bundled with PHP, it's under the PHP license, there is lower memory consumption in certain cases, and it contains new functionality such as asynchronous queries.

The mysqlnd_mmemcache operates, for the most part, transparently from a user perspective. The mysqlnd memcache plugin supports all PHP applications, and all MySQL PHP extensions. It does not change existing APIs. Therefore, it can easily be used with existing PHP applications.

The MySQL Memcache plugins add key-value style access method for data stored in InnoDB resp. NDB (MySQL Cluster) SQL tables through the Memcache protocol. This type of key-value access if often faster than using SQL.

Key Features

The key features of PECL/mysqlnd_memcache are as follows.

  • Possible performance benefits

    • Client-side: light-weight protocol.

    • Server-side: no SQL parsing, direct access to the storage.

    • Please, run your own benchmarks! Actual performance results are highly dependent on setup and hardware used.

Limitations

The initial version is not binary safe. Due to the way the MySQL Memcache plugins works there are restrictions related to separators.

Prepared statements and asynchronous queries are not supported. Result set meta data support is limited.

The mapping information for tables accessible via Memcache is not cached in the plugin between requests but fetched from the MySQL server each time a MySQL connection is associated with a Memcache connection. See mysqlnd_memcache_set() for details.

On the name

The shortcut mysqlnd_memcache stands for mysqlnd memcache plugin. Memcache refers to support of the MySQL Memcache plugins for InnoDB and NDB (MySQL Cluster). The plugin is not related to the Memcached cache server.


Quickstart and Examples

Índice

  • Setup
  • Usage

The mysqlnd memcache plugin is easy to use. This quickstart will demo typical use-cases, and provide practical advice on getting started.

It is strongly recommended to read the reference sections in addition to the quickstart. The quickstart tries to avoid discussing theoretical concepts and limitations. Instead, it will link to the reference sections. It is safe to begin with the quickstart. However, before using the plugin in mission critical environments we urge you to read additionally the background information from the reference sections.


Setup

The plugin is implemented as a PHP extension. See also the installation instructions to install this extension.

Compile or configure the PHP MySQL extension (API) (mysqli, PDO_MYSQL, mysql). That extension must use the mysqlnd library as because mysqlnd_memcache is a plugin for the mysqlnd library. For additional information, refer to the mysqlnd_memcache installation instructions.

Then, load this extension into PHP and activate the plugin in the PHP configuration file using the PHP configuration directive named mysqlnd_memcache.enable.

Exemplo #1 Enabling the plugin (php.ini)

; On Windows the filename is php_mysqnd_memcache.dll
; Load the extension
extension=mysqlnd_memcache.so
; Enable it
mysqlnd_memcache.enable=1

Follow the instructions given in the » MySQL Reference Manual on installing the Memcache plugins for the MySQL server. Activate the plugins and configure Memcache access for SQL tables.

The examples in this quickguide assume that the following table exists, and that Memcache is configured with access to it.

Exemplo #2 SQL table used for the Quickstart

CREATE TABLE test(
  id CHAR(16),
  f1 VARCHAR(255),
  f2 VARCHAR(255),
  f3 VARCHAR(255),
  flags INT NOT NULL,
  cas_column INT,
  expire_time_column INT,
  PRIMARY KEY(id)
  ) ENGINE=InnoDB;

INSERT INTO test (id, f1, f2, f3) VALUES (1, 'Hello', 'World', '!');
INSERT INTO test (id, f1, f2, f3) VALUES (2, 'Lady', 'and', 'the tramp');

INSERT INTO innodb_memcache.containers(
  name, db_schema, db_table, key_columns, value_columns,
  flags, cas_column, expire_time_column, unique_idx_name_on_key)
VALUES (
  'plugin_test', 'test', 'test', 'id', 'f1,f2,f3',
  'flags', 'cas_column', 'expire_time_column', 'PRIMARY KEY');


Usage

After associating a MySQL connection with a Memcache connection using mysqnd_memcache_set() the plugin attempts to transparently replace SQL SELECT statements by a memcache access. For that purpose the plugin monitors all SQL statements executed and tries to match the statement string against MYSQLND_MEMCACHE_DEFAULT_REGEXP. In case of a match, the mysqlnd memcache plugin checks whether the SELECT is accessing only columns of a mapped table and the WHERE clause is limited to a single key lookup.

In case of the example SQL table, the plugin will use the Memcache interface of the MySQL server to fetch results for a SQL query like SELECT f1, f2, f3 WHERE id = n.

Exemplo #1 Basic example.

<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc);

/*
   This is a query which queries table test using id as key in the WHERE part
   and is accessing fields f1, f2 and f3. Therefore, mysqlnd_memcache
   will intercept it and route it via memcache.
*/
$result = $mysqli->query("SELECT f1, f2, f3 FROM test WHERE id = 1");
while ($row = $result->fetch_row()) {
    print_r($row);
}

/*
   This is a query which queries table test but using f1 in the WHERE clause.
   Therefore, mysqlnd_memcache can't intercept it. This will be executed
   using the MySQL protocol
*/
$mysqli->query("SELECT id FROM test WHERE f1 = 'Lady'");
while ($row = $result->fetch_row()) {
    print_r($row);
}
?>

O exemplo acima irá imprimir:

array(
    [f1] => Hello
    [f2] => World
    [f3] => !
)
array(
    [id] => 2
)


  • « Usage
  • Dependências »
  • PHP Manual
  • mysqlnd_memcache
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução


Dependências

PHP: this extension requires PHP 5.4+, version PHP 5.4.4 or never. The required PHP extensions are PCRE (enabled by default), and the memcached extension version 2.0.x.

The mysqlnd_memcache Memcache plugin supports all PHP applications and all available PHP MySQL extensions (mysqli, mysql, PDO_MYSQL). The PHP MySQL extension must be configured with mysqlnd support.

For accessing InnoDB tables, this PHP extension requires MySQL Server 5.6.6 or newer with the InnoDB Memcache Daemon Plugin enabled.

For accessing MySQL Cluster NDB tables, this PHP extension requires MySQL Cluster 7.2 or newer with the NDB Memcache API nodes enabled.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/mysqlnd_memcache

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Mysqlnd_memcache Opções de Configuração
Nome | Padrão | Modificável | Changelog
mysqlnd_memcache.enable | 1 | PHP_INI_SYSTEM | Available since 1.0.0

Uma rápida explicação das diretivas de configuração.

mysqlnd_memcache.enable int

Enables or disables the plugin. If disabled, the extension will not plug into mysqlnd to proxy internal mysqlnd C API calls.

Nota:

This option is mainly used by developers to build this extension statically into PHP. General users are encouraged to build this extension as a shared object, and to unload it completely when it is not needed.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

MySQL Memcache Plugin related

MYSQLND_MEMCACHE_DEFAULT_REGEXP (string)
Default regular expression (PCRE style) used for matching SELECT statements that will be mapped into a MySQL Memcache Plugin access point, if possible. It is also possible to use mysqlnd_memcache_set(), but the default approach is using this regular expression for pattern matching.

Assorted

The version number of this plugin can be obtained by using MYSQLND_MEMCACHE_VERSION or MYSQLND_MEMCACHE_VERSION_ID. MYSQLND_MEMCACHE_VERSION is the string representation of the numerical version number MYSQLND_MEMCACHE_VERSION_ID, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
MYSQLND_MEMCACHE_VERSION_ID | 10000

MYSQLND_MEMCACHE_VERSION (string)
Plugin version string, for example, 1.0.0-alpha.
MYSQLND_MEMCACHE_VERSION_ID (int)
Plugin version number, for example, 10000.


Mysqlnd_memcache Funções

Índice

  • mysqlnd_memcache_get_config — Returns information about the plugin configuration
  • mysqlnd_memcache_set — Associate a MySQL connection with a Memcache connection


Returns information about the plugin configuration

  • « Mysqlnd_memcache Funções
  • mysqlnd_memcache_set »
  • PHP Manual
  • Mysqlnd_memcache Funções
  • Returns information about the plugin configuration

mysqlnd_memcache_get_config

(PECL mysqlnd_memcache >= 1.0.0)

mysqlnd_memcache_get_config — Returns information about the plugin configuration

Descrição

mysqlnd_memcache_get_config ( mixed $connection ) : array

This function returns an array of all mysqlnd_memcache related configuration information that is attached to the MySQL connection. This includes MySQL, the Memcache object provided via mysqlnd_memcache_set(), and the table mapping configuration that was automatically collected from the MySQL Server.

Parâmetros

connection

A handle to a MySQL Server using one of the MySQL API extensions for PHP, which are PDO_MYSQL, mysqli or ext/mysql.

Valor Retornado

An array of mysqlnd_memcache configuration information on success, otherwise false.

The returned array has these elements:

mysqlnd_memcache_get_config() array structure
Array Key | Description
memcached | Instance of Memcached associated to this MySQL connection by mysqlnd_memcache_set(). You can use this to change settings of the memcache connection, or directly by querying the server on this connection.
pattern | The PCRE regular expression used to match the SQL query sent to the server. Queries matching this pattern will be further analyzed to decide whether the query can be intercepted and sent via the memcache interface or whether the query is sent using the general MySQL protocol to the server. The pattern is either the default pattern (MYSQLND_MEMCACHE_DEFAULT_REGEXP) or it is set via mysqlnd_memcache_set().
mappings | An associative array with a list of all configured containers as they were discovered by this plugin. The key for these elements is the name of the container in the MySQL configuration. The value is described below. The contents of this field is created by querying the MySQL Server during association to MySQL and a memcache connection using mysqlnd_memcache_set().
mapping_query | An SQL query used during mysqlnd_memcache_set() to identify the available containers and mappings. The result of that query is provided in the mappings element.
Mapping entry structure
Array Key | Description
prefix | A prefix used while accessing data via memcache. With the MySQL InnoDB Memcache Deamon plugin, this usually begins with @@ and ends with a configurable separator. This prefix is placed in front of the key value while using the memcache protocol.
schema_name | Name of the schema (database) which contains the table being accessed.
table_name | Name of the table which contains the data accessible via memcache protocol.
id_field_name | Name of the database field (column) with the id used as key when accessing the table via memcache. Often this is the database field having a primary key.
separator The separator used to split the different field values. This is needed as memcache only provides access to a single value while MySQL can map multiple columns to this value.

Nota:

The separator, which can be set in the MySQL Server configuration, should not be part of any value retrieved via memcache because proper mapping can't be guaranteed.

fields | An array with the name of all fields available for this mapping.

Exemplos

Exemplo #1 mysqlnd_memcache_get_config() example

<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc);

var_dump(mysqlnd_memcache_get_config($mysqli));
?>

O exemplo acima irá imprimir:

array(4) {
  ["memcached"]=>
  object(Memcached)#2 (0) {
  }
  ["pattern"]=>
  string(125) "/^\s*SELECT\s*(.+?)\s*FROM\s*`?([a-z0-9_]+)`?\s*WHERE\s*`?([a-z0-9_]+)`?\s*=\s*(?(?=["'])["']([^"']*)["']|([0-9e\.]*))\s*$/is"
  ["mappings"]=>
  array(1) {
    ["mymem_test"]=>
    array(6) {
      ["prefix"]=>
      string(13) "@@mymem_test."
      ["schema_name"]=>
      string(4) "test"
      ["table_name"]=>
      string(10) "mymem_test"
      ["id_field_name"]=>
      string(2) "id"
      ["separator"]=>
      string(1) "|"
      ["fields"]=>
      array(3) {
        [0]=>
        string(2) "f1"
        [1]=>
        string(2) "f2"
        [2]=>
        string(2) "f3"
      }
    }
  }
  ["mapping_query"]=>
  string(209) "    SELECT c.name,
                          CONCAT('@@', c.name, (SELECT value FROM innodb_memcache.config_options WHERE name = 'table_map_delimiter')) AS key_prefix,
                          c.db_schema,
                          c.db_table,
                          c.key_columns,
                          c.value_columns,
                          (SELECT value FROM innodb_memcache.config_options WHERE name = 'separator') AS sep
                     FROM innodb_memcache.containers c"
}

Veja Também

  • mysqlnd_memcache_set() - Associate a MySQL connection with a Memcache connection


Associate a MySQL connection with a Memcache connection

  • « mysqlnd_memcache_get_config
  • Change History »
  • PHP Manual
  • Mysqlnd_memcache Funções
  • Associate a MySQL connection with a Memcache connection

mysqlnd_memcache_set

(PECL mysqlnd_memcache >= 1.0.0)

mysqlnd_memcache_set — Associate a MySQL connection with a Memcache connection

Descrição

mysqlnd_memcache_set ( mixed $mysql_connection , Memcached $memcache_connection = ? , string $pattern = ? , callable $callback = ? ) : bool

Associate mysql_connection with memcache_connection using pattern as a PCRE regular expression, and callback as a notification callback or to unset the association of mysql_connection.

While associating a MySQL connection with a Memcache connection, this function will query the MySQL Server for its configuration. It will automatically detect whether the server is configured to use the InnoDB Memcache Daemon Plugin or MySQL Cluster NDB Memcache support. It will also query the server to automatically identify exported tables and other configuration options. The results of this automatic configuration can be retrieved using mysqlnd_memcache_get_config().

Parâmetros

mysql_connection

A handle to a MySQL Server using one of the MySQL API extensions for PHP, which are PDO_MYSQL, mysqli or ext/mysql.

memcache_connection

A Memcached instance with a connection to the MySQL Memcache Daemon plugin. If this parameter is omitted, then mysql_connection will be unassociated from any memcache connection. And if a previous association exists, then it will be replaced.

pattern

A regular expression in Perl Compatible Regular Expression syntax used to identify potential Memcache-queries. The query should have three sub patterns. The first subpattern contains the requested field list, the second the name of the ID column from the query and the third the requested value. If this parameter is omitted or os set to null, then a default pattern will be used.

callback

A callback which will be used whenever a query is being sent to MySQL. The callback will receive a single bool parameter telling if a query was sent via Memcache.

Valor Retornado

true if the association or disassociation is successful, otherwise false if there is an error.

Exemplos

Exemplo #1 mysqlnd_memcache_set() example with var_dump() as a simple debugging callback.

<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc, NULL, 'var_dump');

/* This query will be intercepted and executed via Memcache protocol */
echo "Sending query for id via Memcache: ";
$mysqli->query("SELECT f1, f2, f3 FROM test WHERE id = 1");

/* f1 is not configured as valid key field, this won't be sent via Memcache */
echo "Sending query for f1 via Memcache: ";
$mysqli->query("SELECT id FROM test WHERE f1 = 1");

mysqlnd_memcache_set($mysqli);

/* Now the regular MySQL protocol will be used */
echo "var_dump won't be invoked: ";
$mysqli->query("SELECT f1, f2, f3 WHERE id = 1");

?>

O exemplo acima irá imprimir:

Sending query for id via Memcache: bool(true)
Sending query for f1 via Memcache: bool(false)
var_dump won't be invoked:

Veja Também

  • mysqlnd_memcache_get_config() - Returns information about the plugin configuration


Change History

Índice

  • PECL/mysqlnd_memcache 1.0 series

This change history is a high level summary of selected changes that may impact applications and/or break backwards compatibility.

See also the CHANGES file in the source distribution for a complete list of changes.


PECL/mysqlnd_memcache 1.0 series

1.0.0-alpha

  • Release date: TBD
  • Motto/theme: Basic mapping of SQL SELECT to a MySQL Memcache plugin access.

The initial release does map basic SQL SELECT statements to a MySQL Memcache plugin access. This bares potential performance benefits as the direct key-value access to MySQL storage using the Memcache protocol is usually faster than using SQL access.


Oracle OCI8

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Testing
    • Configurações em Execução
  • Constantes pré-definidas
  • Exemplos
  • Connecting Handling
  • OCI8 Fast Application Notification (FAN) Support
  • OCI8 Transparent Application Failover (TAF) Support
  • OCI8 and DTrace Dynamic Tracing
  • Supported Datatypes
  • Funções OCI8
    • oci_bind_array_by_name — Binds a PHP array to an Oracle PL/SQL array parameter
    • oci_bind_by_name — Binds a PHP variable to an Oracle placeholder
    • oci_cancel — Cancels reading from cursor
    • oci_client_version — Returns the Oracle client library version
    • oci_close — Closes an Oracle connection
    • oci_commit — Commits the outstanding database transaction
    • oci_connect — Connect to an Oracle database
    • oci_define_by_name — Associates a PHP variable with a column for query fetches
    • oci_error — Returns the last error found
    • oci_execute — Executes a statement
    • oci_fetch_all — Fetches multiple rows from a query into a two-dimensional array
    • oci_fetch_array — Returns the next row from a query as an associative or numeric array
    • oci_fetch_assoc — Returns the next row from a query as an associative array
    • oci_fetch_object — Returns the next row from a query as an object
    • oci_fetch_row — Returns the next row from a query as a numeric array
    • oci_fetch — Fetches the next row from a query into internal buffers
    • oci_field_is_null — Checks if a field in the currently fetched row is null
    • oci_field_name — Returns the name of a field from the statement
    • oci_field_precision — Tell the precision of a field
    • oci_field_scale — Tell the scale of the field
    • oci_field_size — Returns field's size
    • oci_field_type_raw — Tell the raw Oracle data type of the field
    • oci_field_type — Returns a field's data type name
    • oci_free_descriptor — Frees a descriptor
    • oci_free_statement — Frees all resources associated with statement or cursor
    • oci_get_implicit_resultset — Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets
    • oci_lob_copy — Copies large object
    • oci_lob_is_equal — Compares two LOB/FILE locators for equality
    • oci_new_collection — Allocates new collection object
    • oci_new_connect — Connect to the Oracle server using a unique connection
    • oci_new_cursor — Allocates and returns a new cursor (statement handle)
    • oci_new_descriptor — Initializes a new empty LOB or FILE descriptor
    • oci_num_fields — Returns the number of result columns in a statement
    • oci_num_rows — Returns number of rows affected during statement execution
    • oci_parse — Prepares an Oracle statement for execution
    • oci_password_change — Changes password of Oracle's user
    • oci_pconnect — Connect to an Oracle database using a persistent connection
    • oci_register_taf_callback — Register a user-defined callback function for Oracle Database TAF
    • oci_result — Returns field's value from the fetched row
    • oci_rollback — Rolls back the outstanding database transaction
    • oci_server_version — Returns the Oracle Database version
    • oci_set_action — Sets the action name
    • oci_set_call_timeout — Sets a millisecond timeout for database calls
    • oci_set_client_identifier — Sets the client identifier
    • oci_set_client_info — Sets the client information
    • oci_set_db_operation — Sets the database operation
    • oci_set_edition — Sets the database edition
    • oci_set_module_name — Sets the module name
    • oci_set_prefetch — Sets number of rows to be prefetched by queries
    • oci_statement_type — Returns the type of a statement
    • oci_unregister_taf_callback — Unregister a user-defined callback function for Oracle Database TAF
  • OCI-Collection — A classe OCI-Collection
    • OCICollection::append — Appends element to the collection
    • OCICollection::assign — Assigns a value to the collection from another existing collection
    • OCICollection::assignElem — Assigns a value to the element of the collection
    • OCICollection::free — Frees the resources associated with the collection object
    • OCICollection::getElem — Returns value of the element
    • OCICollection::max — Returns the maximum number of elements in the collection
    • OCICollection::size — Returns size of the collection
    • OCICollection::trim — Trims elements from the end of the collection
  • OCI-Lob — A classe OCI-Lob
    • OCILob::append — Appends data from the large object to another large object
    • OCILob::close — Closes LOB descriptor
    • OCILob::eof — Tests for end-of-file on a large object's descriptor
    • OCILob::erase — Erases a specified portion of the internal LOB data
    • OCILob::export — Exports LOB's contents to a file
    • OCILob::flush — Flushes/writes buffer of the LOB to the server
    • OCILob::free — Frees resources associated with the LOB descriptor
    • OCILob::getBuffering — Returns current state of buffering for the large object
    • OCILob::import — Imports file data to the LOB
    • OCILob::load — Returns large object's contents
    • OCILob::read — Reads part of the large object
    • OCILob::rewind — Moves the internal pointer to the beginning of the large object
    • OCILob::save — Saves data to the large object
    • OCILob::saveFile — Sinônimo de OCILob::import
    • OCILob::seek — Sets the internal pointer of the large object
    • OCILob::setBuffering — Changes current state of buffering for the large object
    • OCILob::size — Returns size of large object
    • OCILob::tell — Returns the current position of internal pointer of large object
    • OCILob::truncate — Truncates large object
    • OCILob::write — Writes data to the large object
    • OCI-Lob::writeTemporary — Escreve um large object temporário
    • OCILob::writeToFile — Sinônimo de OCILob::export
  • Sinônimos e Funções Obsoletas do OCI8
    • oci_internal_debug — Enables or disables internal debug output
    • ocibindbyname — Sinônimo de oci_bind_by_name
    • ocicancel — Sinônimo de oci_cancel
    • ocicloselob — Sinônimo de OCI-Lob::close
    • ocicollappend — Sinônimo de OCI-Collection::append
    • ocicollassign — Sinônimo de OCI-Collection::assign
    • ocicollassignelem — Sinônimo de OCI-Collection::assignElem
    • ocicollgetelem — Sinônimo de OCI-Collection::getElem
    • ocicollmax — Sinônimo de OCI-Collection::max
    • ocicollsize — Sinônimo de OCI-Collection::size
    • ocicolltrim — Sinônimo de OCI-Collection::trim
    • ocicolumnisnull — Sinônimo de oci_field_is_null
    • ocicolumnname — Sinônimo de oci_field_name
    • ocicolumnprecision — Sinônimo de oci_field_precision
    • ocicolumnscale — Sinônimo de oci_field_scale
    • ocicolumnsize — Sinônimo de oci_field_size
    • ocicolumntype — Sinônimo de oci_field_type
    • ocicolumntyperaw — Sinônimo de oci_field_type_raw
    • ocicommit — Sinônimo de oci_commit
    • ocidefinebyname — Sinônimo de oci_define_by_name
    • ocierror — Sinônimo de oci_error
    • ociexecute — Sinônimo de oci_execute
    • ocifetch — Sinônimo de oci_fetch
    • ocifetchinto — Variante obsoleta de oci_fetch_array, oci_fetch_object, oci_fetch_assoc e oci_fetch_row
    • ocifetchstatement — Sinônimo de oci_fetch_all
    • ocifreecollection — Sinônimo de OCI-Collection::free
    • ocifreecursor — Sinônimo de oci_free_statement
    • ocifreedesc — Sinônimo de OCI-Lob::free
    • ocifreestatement — Sinônimo de oci_free_statement
    • ociinternaldebug — Sinônimo de oci_internal_debug
    • ociloadlob — Sinônimo de OCI-Lob::load
    • ocilogoff — Sinônimo de oci_close
    • ocilogon — Sinônimo de oci_connect
    • ocinewcollection — Sinônimo de oci_new_collection
    • ocinewcursor — Sinônimo de oci_new_cursor
    • ocinewdescriptor — Sinônimo de oci_new_descriptor
    • ocinlogon — Sinônimo de oci_new_connect
    • ocinumcols — Sinônimo de oci_num_fields
    • ociparse — Sinônimo de oci_parse
    • ociplogon — Sinônimo de oci_pconnect
    • ociresult — Sinônimo de oci_result
    • ocirollback — Sinônimo de oci_rollback
    • ocirowcount — Sinônimo de oci_num_rows
    • ocisavelob — Sinônimo de OCI-Lob::save
    • ocisavelobfile — Sinônimo de OCI-Lob::import
    • ociserverversion — Sinônimo de oci_server_version
    • ocisetprefetch — Sinônimo de oci_set_prefetch
    • ocistatementtype — Sinônimo de oci_statement_type
    • ociwritelobtofile — Sinônimo de OCI-Lob::export
    • ociwritetemporarylob — Sinônimo de OCI-Lob::writeTemporary


Introdução

Essas funções permitem acessar bancos de dados Oracle 12c, 11g, 10g, 9i e 8i. Suportam instruções SQL e PL/SQL. Recursos básicos incluem o controle de transações, vínculo de variáveis PHP em placeholders Oracle, além do suporte aos tipos de objetos grandes (LOB) e coleções. O recursos de escalabilidade da Oracle, como o Database Resident Connection Pooling (DRCP) e resultados em cache também são suportados.


Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Testing
  • Configurações em Execução


Dependências

OCI8 3.0 is included with PHP 8. It is also available from » PECL. For PHP 7, use OCI8 2.2 from » PECL. OCI8 requires Oracle 10g or later Oracle client libraries.

If the Oracle Database is on the same machine as PHP, the database software already contains the necessary libraries and header files. When PHP is on a different machine, use the free » Oracle Instant Client libraries.

To use Oracle Instant Client, install the Basic or Basic Light Oracle Instant Client ZIP file, RPM package, or DMG package. When building OCI8 from source code, also install the Instant Client SDK.

You must run PHP with the same, or a more recent, version of the Oracle libraries that OCI8 was built with.

Nota:

Oracle's standard client-server network interoperability allows connections between different versions of Oracle Client and Oracle Database. For certified configurations see Oracle Support's Doc ID 207303.1. In summary, Oracle Client 19, 18 and 12.2 can connect to Oracle Database 11.2 or greater. Oracle Client 12.1 can connect to Oracle Database 10.2 or greater. Oracle Client 11.2 can connect to Oracle Database 9.2 or greater.

Nota:

Full OCI8 feature support is only available when using the most recent versions of the Oracle client libraries and database.


Instalação

Você tem que compilar o PHP com a opção --with-oci8[=DIR], onde DIR é a variável de ambiente ORACLE_HOME.

Se você está usando » Oracle Instant Client, você precisa compilar o PHP com a opção --with-oci8=instantclient,/path/to/oic/lib. Note que suporte a Oracle Instant Client apareceu primeiro nas versões 4.3.11 e 5.0.4.

Nota:

Note que nas versões da OCI8 antes da 1.1, você tem que usar a opção --with-oci8-instant-client para configurar o PHP com Oracle Instant Client.


Testing

The OCI8 test suite is in ext/oci8/tests. After OCI8 tests are run this directory will also contain logs of any failures.

Before running PHP's tests, edit details.inc and set $user, $password and the $dbase connection string. The OCI8 test suite has been developed using the SYSTEM account. Some tests will fail if the test user does not have equivalent permissions.

If Oracle Database Resident Connection Pooling is being tested, set $test_drcp to true and ensure the connection string uses an appropriate DRCP pooled server.

An alternative to editing details.inc is the set environment variables, for example:

    $ export PHP_OCI8_TEST_USER=system
    $ export PHP_OCI8_TEST_PASS=oracle
    $ export PHP_OCI8_TEST_DB=localhost/XE
    $ export PHP_OCI8_TEST_DRCP=FALSE
Note in some shells these variables are not propagated correctly to the PHP process and tests will fail to connect if this method is used.

Next, set any necessary environment for the Oracle database. If you are running PHP on the same machines as Oracle Database, you can run:

    $ . /usr/local/bin/oraenv

With Oracle 11gR2 XE do:

    $ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh

Some shells require that php.ini has E in the variables_order parameter, for example:

    variables_order = "EGPCS"

Run all the PHP tests with:

    $ cd your_php_src_directory
    $ make test
or run only the OCI8 tests with
    $ cd your_php_src_directory
    $ make test TESTS=ext/oci8

When the tests have completed, review any test failures. On slow systems, some tests may take longer than the default test timeout in run-tests.php. To correct this, set the environment variable TEST_TIMEOUT to a larger number of seconds.

On fast machines with a local database configured for light load (e.g. Oracle 11gR2 XE) some tests might fail with ORA-12516 or ORA-12520 errors. To prevent this, increase the database PROCESSES parameter using the following steps:

Connect as the oracle software owner:

    $ su - oracle

Set the necessary Oracle environment with oracle_env.sh or oraenv, as described above.

Start the SQL*Plus command line tool and increase PROCESSES

    $ sqlplus / as sysdba
    SQL> alter system set processes=100 scope=spfile

Restart the database:

    SQL> startup force


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

OCI8 Configuration Options
Nome | Padrão | Modificável | Changelog
oci8.connection_class | "" | PHP_INI_ALL | Available since PHP 5.3 (PECL OCI8 1.3).
oci8.default_prefetch | "100" | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).
oci8.events | Off | PHP_INI_SYSTEM | Available since PHP 5.3 (PECL OCI8 1.3).
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).
oci8.old_oci_close_semantics | Off | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).
oci8.privileged_connect | Off | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).

Uma rápida explicação das diretivas de configuração.

oci8.connection_class string

This user defined text should always be set when using Oracle Database Resident Connection Pooling (DRCP). It allows sub-partitioning of the DRCP connection pool, allowing OCI8 persistent connections from an application to reuse database sessions from a previous PHP script, giving better scalability. When an application uses a database pooled process previously used with a different connection class, the session settings such as the default Oracle date format are reset. This prevents accidental sharing of information between different applications.

The value can be set at runtime with ini_set() prior to connecting.

To use DRCP, OCI8 must be linked with Oracle 11g (or later) libraries and the database must be Oracle 11g (or later). The DRCP connection pool must be enabled in the database, the oci8.connection_class should be set to the same string for all web servers running the same application, and the OCI8 connection string must specify to use a pooled server. The application should use persistent connections.

oci8.default_prefetch int

This option sets the default number of extra rows that will be fetched and cached automatically whenever a low-level request for data from the database is made. Setting a value of 0 turns off prefetching.

The prefetch value does not alter the number of rows that functions like oci_fetch_array() return to the user; the prefetching and caching of rows is handled internally in OCI8.

The value can be set per-statement with oci_set_prefetch() prior to statement execution.

In PHP 5.3 (PECL OCI8 1.3.4) the default value was increased from 10 to 100.

In PHP 5.3.2 (PECL OCI8 1.4) the minimum value settable was reduced from 1 to 0, allowing prefetching to be turned off.

When using Oracle Database 12c (or later), the prefetch value set by PHP can be overridden by Oracle's client oraaccess.xml configuration file. Refer to Oracle documentation for more detail.

Nota: A larger prefetch can result in improved performance, at the cost of some increased memory usage. For queries that return large amounts of data, the performance benefit can be significant.

oci8.events bool

Using On allows PHP to be notified of database Fast Application Notification (FAN) events.

Without FAN, when a database instance or machine node fails unexpectedly, PHP applications may be blocked waiting for a database response until a TCP timeout expires. With FAN events, PHP applications are quickly notified of failures that affect their established database connections. The OCI8 extension will clean up unusable connections in the persistent connection cache.

When using On, the database must also be configured to post FAN events.

FAN support is available when OCI8 is linked with Oracle 10gR2 (or later) libraries and connected to Oracle Database 10gR2 (or later).

oci8.max_persistent int

The maximum number of persistent OCI8 connections per PHP process. Setting this option to -1 means that there is no limit.

oci8.old_oci_close_semantics bool

This option controls oci_close() behaviour. Enabling it means that oci_close() will do nothing; the connection will not be closed until the end of the script. This is for backward compatibility only. If you find that you need to enable this setting, you are strongly encouraged to adjust the oci_close() calls in your application instead of enabling this option.

oci8.persistent_timeout int

The maximum number of seconds that a PHP process is allowed to keep an idle persistent connection open. Setting this option to -1 means that idle persistent connections will be retained until the PHP process terminates or the connection is explicitly closed with oci_close().

Nota: In PHP, the expiry of idle resources is not alarm-based. It occurs when PHP finishes processing a script and checks the last-used timestamp of resources. Hence there is a paradox that idle connections can only be closed when there is some activity (though not necessarily OCI8 related) in the PHP process. If there is more than one PHP process then each must individually be activated in order to trigger expiry of its idle resources. The introduction of Database Resident Connection Pooling (DRCP) in Oracle 11g resolves the memory and resource issues that oci8.max_persistent and oci8.persistent_timeout previously attempted to overcome.

Nota: In PHP 5.3 (PECL OCI8 1.3), persistent connections can be closed with oci_close().

oci8.ping_interval int

The number of seconds that must pass before issuing a ping during oci_pconnect(). A ping ensures that the database connection is valid. When set to 0, persistent connections will be pinged every time oci_pconnect() is called. To disable pings completely, set this option to -1.

Nota: Disabling pings allows oci_pconnect() to operate at the highest efficiency, but PHP may not be able to detect unusable connections, such as caused by network dropout, or if the Oracle database has gone down since PHP connected, until the connection is used later in the script. Consult the oci_pconnect() documentation for more information.

oci8.privileged_connect bool

This option allows connections to use the privileged external credentials OCI_SYSOPER or OCI_SYSDBA.

Nota: Seting this On can allow scripts on web servers running with the appropriate OS user privileges to connect as privileged database users without requiring a database password. This can be a security risk.

oci8.statement_cache_size int

This option enables statement caching, and specifies how many statements to cache. To disable statement caching just set this option to 0.

Statement caching removes the need to transmit the statement text to the database and removes the need to transmit any meta data about the statement back to PHP. This can significantly improve overall system performance in applications which reuse statements during the lifetime of a connection. Some extra database "cursors" may be held open under the assumption that statements will be reused.

Set this value to the size of the working set of statements used by your application. Setting too small a value can cause statements to be flushed from the cache before they are reused.

This option is of most use with persistent connections.

When using Oracle Database 12c (or later), this value can be overridden and automatically tuned by Oracle's client oraaccess.xml file. Refer to Oracle documentation for more detail.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Modos de função e métodos do OCI8
Constante | Descrição
OCI_ASSOC | Utilizado com oci_fetch_all() e oci_fetch_array() para obter os resultados em um array associativo.
OCI_BOTH | Utilizado com oci_fetch_all() e oci_fetch_array() para obter os resultados em um array com índices associativos e numéricos.
OCI_COMMIT_ON_SUCCESS | Modo de execução de instruções com oci_execute(). Automaticamente efetiva as alterações (commit) caso a instrução execute.
OCI_CRED_EXT | Utilizado com oci_connect() para ativar a autenticação Oracles' External ou do sistema operacional. Introduzido no PHP 5.3 e PECL OCI8 1.3.4.
OCI_DEFAULT | Veja OCI_NO_AUTO_COMMIT.
OCI_DESCRIBE_ONLY | Modo de execução de instruções para oci_execute(). Utilize esse modo se deseja meta dados como os nomes de colunas mas não deseja trazer as linhas da consulta.
OCI_EXACT_FETCH | Obsoleto. Modo de execução de instruções. Utilizado quando a aplicação conhece previamente quantas linhas serão lidas. Este modo desliga o prefetching a partir do Oracle release 8. O cursor é cancelado depois da quantidade deseja de linhas é lida o que pode resultar em uma menor quantidade de recursos consumidos no lado do servidor.
OCI_FETCHSTATEMENT_BY_COLUMN | Modo padrão do oci_fetch_all().
OCI_FETCHSTATEMENT_BY_ROW | Modo alternativo do oci_fetch_all().
OCI_LOB_BUFFER_FREE | Utilizado com OCILob::flush para liberar os buffers associados.
OCI_NO_AUTO_COMMIT | Modo de execução de instruções para oci_execute(). A instrução não é efetivada automaticamente nesse modo (modo sem commit). Para a legibilidade de em código, utilize esse valor ao invés da constante obsoleta OCI_DEFAULT. Introduzido no PHP 5.3.2 (PECL OCI8 1.4).
OCI_NUM | Utilizado com oci_fetch_all() e oci_fetch_array() para obter os resultados em um array enumerado.
OCI_RETURN_LOBS | Utilizado com oci_fetch_array() para obter o dado do LOB ao invés do descritor.
OCI_RETURN_NULLS | Utilizado com oci_fetch_array() para obter elementos vazios de array se o item da linha for null.
OCI_SEEK_CUR | Utilizado com OCILob::seek para configurar a posição de leitura.
OCI_SEEK_END | Utilizado com OCILob::seek para configurar a posição de leitura.
OCI_SEEK_SET | Utilizado com OCILob::seek para configurar a posição de leitura.
OCI_SYSDATE | Obsoleto.
OCI_SYSDBA | Utilizad com oci_connect() para conectar com o privilégio SYSDBA. A configuração php.ini oci8.privileged_connect precisa estar ativada.
OCI_SYSOPER | Utilizado com oci_connect() para conectar com o privilégio SYSOPER. A configuração php.ini oci8.privileged_connect precisa estar ativada.
OCI_TEMP_BLOB | Utilizada com OCI-Lob::writeTemporary para indicar que um BLOB temporário deve ser criado.
OCI_TEMP_CLOB | Utilizad com OCI-Lob::writeTemporary para indicar que um CLOB temporário deve ser criado.
Tipos Bind e Define para do OCI8
Constante | Descrição
OCI_B_BFILE | Utilizado com oci_bind_by_name() quando associando (binding) BFILEs.
OCI_B_BIN | Utilizado com oci_bind_by_name() para associar (bind) valores RAW.
OCI_B_BLOB | Utilizado com oci_bind_by_name() quando associando (binding) BLOBs.
OCI_B_BOL | Utilizado com oci_bind_by_name() para associar (bind) uma variável PL/SQL booleana.
OCI_B_CFILEE | Utilizado com oci_bind_by_name() quando associando (binding) CFILEs.
OCI_B_CLOB | Utilizado com oci_bind_by_name() quando associando (binding) CLOBs.
OCI_B_CURSOR | Utilizado com oci_bind_by_name() quando associando (binding) cursores, anteriormente alocados com oci_new_descriptor().
OCI_B_INT | Utilizado com oci_bind_array_by_name() para associar (bind) arrays de INTEGER.
OCI_B_NTY | Utilizado com oci_bind_by_name() quando associando (binding) tipos nomeados. Nota: no PHP < 5.0 era chamado de OCI_B_SQLT_NTY.
OCI_B_NUM | Utilizado com oci_bind_array_by_name() para associar (bind) arrays de NUMBER.
OCI_B_ROWID | Utilizado com oci_bind_by_name() quando associando (binding) ROWIDs.
SQLT_AFC | Utilizado com oci_bind_array_by_name() para associar (bind) arrays de CHAR.
SQLT_AVC | Utilizado com oci_bind_array_by_name() para associar (bind) arrays de VARCHAR2.
SQLT_BDOUBLE | Não suportado.
SQLT_BFILEE | O mesmo que OCI_B_BFILE.
SQLT_BFLOAT | Não suportado.
SQLT_BIN | O mesmo que OCI_B_BIN.
SQLT_BLOB | O mesmo que OCI_B_BLOB.
SQLT_BOL | O mesmo que OCI_B_BOL.
SQLT_CFILEE | O mesmo que OCI_B_CFILEE.
SQLT_CHR | Utilizado com oci_bind_array_by_name() para associar (bind) arrays de VARCHAR2. Também utilizado com oci_bind_by_name().
SQLT_CLOB | O mesmo que OCI_B_CLOB.
SQLT_FLT | Utilizado com oci_bind_array_by_name() para associar (bind) arrays de FLOAT.
SQLT_INT | O mesmo que OCI_B_INT.
SQLT_LBI | Utilizado com oci_bind_by_name() para associar (bind) valores LONG RAW.
SQLT_LNG | Utilizado com oci_bind_by_name() para associar (bind) valores LONG.
SQLT_LVC | Utilizado com oci_bind_array_by_name() para associar (bind) arrays de LONG VARCHAR.
SQLT_NTY | O mesmo que OCI_B_NTY.
SQLT_NUM | O mesmo que OCI_B_NUM.
SQLT_ODT | Utilizado com oci_bind_array_by_name() para associar (bind) arrays de LONG.
SQLT_RDD | O mesmo que OCI_B_ROWID.
SQLT_RSET | O mesmo que OCI_B_CURSOR.
SQLT_STR | Utilizado com oci_bind_array_by_name() para associar (bind) arrays de STRING.
SQLT_UIN | Não suportado.
SQLT_VCS | Utilizado com oci_bind_array_by_name() para associar (bind) arrays de VARCHAR.
Tipos de descritores do OCI8
Constante | Descrição
OCI_DTYPE_FILE | Esse indicador faz oci_new_descriptor() inicializar um descritor FILE.
OCI_DTYPE_LOB | Esse indicador faz oci_new_descriptor() inicializar um descritor LOB.
OCI_DTYPE_ROWID | Esse indicador faz oci_new_descriptor() inicializar um descritor ROWID.
OCI_D_FILE | O mesmo que OCI_DTYPE_FILE.
OCI_D_LOB | O mesmo que OCI_DTYPE_LOB.
OCI_D_ROWID | O mesmo que OCI_DTYPE_ROWID.


  • « Constantes pré-definidas
  • »
  • PHP Manual
  • OCI8
  • Exemplos

Exemplos

Índice


  • « Exemplos
  • Connecting Handling »
  • PHP Manual
  • Exemplos

Exemplo #1 Query básica

<?php

  $conn = oci_connect('hr', 'hr', 'orcl');
  if (!$conn) {
    $e = oci_error();
    print htmlentities($e['message']);
    exit;
  }

  $query = 'SELECT * FROM DEPARTMENTS';

  $stid = oci_parse($conn, $query);
  if (!$stid) {
    $e = oci_error($conn);
    print htmlentities($e['message']);
    exit;
  }

  $r = oci_execute($stid, OCI_DEFAULT);
  if (!$r) {
    $e = oci_error($stid);
    echo htmlentities($e['message']);
    exit;
  }

  print '<table border="1">';
  while ($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
    print '<tr>';
       foreach ($row as $item) {
         print '<td>'.($item?htmlentities($item):'&nbsp;').'</td>';
       }
       print '</tr>';
  }
  print '</table>';

  oci_close($conn);
?>

Exemplo #2 Inserindo usando bind com variáveis

<?php

  // Before running, create the table:
  //   CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));

  $conn = oci_connect('scott', 'tiger', 'orcl');

  $query = 'INSERT INTO MYTABLE VALUES(:myid, :mydata)';

  $stid = oci_parse($conn, $query);

  $id = 60;
  $data = 'Some data';

  oci_bind_by_name($stid, ':myid', $id);
  oci_bind_by_name($stid, ':mydata', $data);

  $r = oci_execute($stid);

  if ($r)
    print "One row inserted";

  oci_close($conn);

?>

Exemplo #3 Inserindo dados em uma coluna CLOB

<?php

// Before running, create the table:
//     CREATE TABLE MYTABLE (mykey NUMBER, myclob CLOB);

$conn = oci_connect('scott', 'tiger', 'orcl');

$mykey = 12343;  // arbitrary key for this example;

$sql = "INSERT INTO mytable (mykey, myclob)
        VALUES (:mykey, EMPTY_CLOB())
        RETURNING myclob INTO :myclob";

$stid = oci_parse($conn, $sql);
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);
oci_execute($stid, OCI_DEFAULT);
$clob->save("A very long string");

oci_commit($conn);

// Fetching CLOB data

$query = 'SELECT myclob FROM mytable WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid, OCI_DEFAULT);

print '<table border="1">';
while ($row = oci_fetch_array($stid, OCI_ASSOC)) {
  $result = $row['MYCLOB']->load();
  print '<tr><td>'.$result.'</td></tr>';
}
print '</table>';

?>

Você pode facilmente acessar stored procedures na mesma forma como você faz na linha de comando.

Exemplo #4 Usando Stored Procedures

<?php
// by webmaster at remoterealty dot com
$sth = oci_parse($dbh, "begin sp_newaddress( :address_id, '$firstname',
 '$lastname', '$company', '$address1', '$address2', '$city', '$state',
 '$postalcode', '$country', :error_code );end;");

// This calls stored procedure sp_newaddress, with :address_id being an
// in/out variable and :error_code being an out variable.
// Then you do the binding:

   oci_bind_by_name($sth, ":address_id", $addr_id, 10);
   oci_bind_by_name($sth, ":error_code", $errorcode, 10);
   oci_execute($sth);

?>


Connecting Handling

A extensão oci8 oferece a você 3 diferentes funções para conectar ao Oracle. Isto para você usar a mais apropriada função para sua aplicação, e a informação nesta seção tem objetivo de ajudar a fazer um boa escolha.

Conectar a um servidor Oracle é uma razoavelmente grande operação, em termos de tempo que isto leva para completar. A função oci_pconnect() usa uma cache persistente de conexões que pode ser reusado para diferentes requisições. Isto significa que você irá normalmente somente fazer a conexão uma vez por processo php (ou processo filho do apache).

Se sua aplicação conecta ao Oracle usando um diferente conjunto de credenciais para cada usuário web, o cache persistente empregado por oci_pconnect() será pouco útil como o número de usuários concorrentes aumenta, pelo o ponto onde ele pode iniciar um efeito inversamente ao da performance de seu servidor Oracle devido a muitas conexões ociosas. Se sua aplicação é estruturada desta forma, é recomendado que esteja usando as definições de configuração oci8.max_persistent e oci8.persistent_timeout (estas irão dar a você controle sobre o tamanho do cache e tempo de vida e conexões persistentes) ou usar oci_connect() ao invés.

Ambas oci_connect() e oci_pconnect() usando um cache de conexão; se você fiz múltiplas chamadas para oci_connect(), usando os mesmo parâmetros, em um dado script, o segundo e subseqüêntes chamadas retornam o existente manipulador de conexão. O cache usado por oci_connect() é limpado no final da execução do script, ou quando você explicitamente fecha um manipulador de conexão. oci_pconnect() tem um comportamento similar, embora o cache seja mantido separadamente e sobreviva entre requisições.

Este recurso de cache é importamente lembrar, porque ele dá a aparência que os dois manipuladores não são transacionalmente isolados (eles são de fato o mesmo manipulador de conexão, então não há nenhum tipo de isolamento). Se sua aplicação precisa ter dois separados, conexões transacionalmente isoladas, você precisa usar oci_new_connect().

oci_new_connect() sempre cria uma nova conexão para o servidor Oracle, desconsiderando que outras conexões possa já existir. Aplicações de bastante tráfego web devem tentar evitar usar oci_new_connect(), especialmente na parte de negócias da aplicação.


OCI8 Fast Application Notification (FAN) Support

FAN support gives fast connection failover, an Oracle Database high availability feature. This allows PHP OCI8 scripts to be notified when a database machine or database instance becomes unavailable. Without FAN, OCI8 can hang until a TCP timeout occurs and an error is returned, which might be several minutes. Enabling FAN in OCI8 can allow applications to detect errors and re-connect to an available database instance without the web user being aware of an outage.

FAN support is available when the Oracle client libraries that PHP links with and the Oracle Database are either version 10gR2 or later.

FAN benefits users of Oracle's clustering technology (RAC) because connections to surviving database instances can be immediately made. Users of Oracle's Data Guard with a broker will see the FAN events generated when the standby database goes online. Standalone databases will send FAN events when the database restarts.

For active connections, when a machine or database instance becomes unavailable, a connection failure error will be returned by the OCI8 extension function currently being called. On a subsequent PHP script re-connect, a connection to a surviving database instance will be established. The OCI8 extension also transparently cleans up any idle connections affected by a database machine or instance failure so PHP connect calls will establish a fresh connection without the script being aware of any service disruption.

When oci8.events is On, it is suggested to set oci8.ping_interval to -1 to disable pinging, since enabling FAN events provide pro-active connection management of idle connections made invalid by a service disruption.

To enable FAN support in PHP OCI8, build PHP OCI8 with Oracle 10gR2 or later libraries and then follow these steps:

  • As a privileged database administrator, use a program like SQL*Plus to enable the database service to post FAN events, for example:

        SQL> execute dbms_service.modify_service(
                   SERVICE_NAME        => 'sales',
                   AQ_HA_NOTIFICATIONS => TRUE);

  • Edit php.ini and add

        oci8.events = On

  • If the application does not already handle OCI8 error conditions, modify it to detect failures and take appropriate action. This may include re-connecting and re-executing statements.
  • Run the application, connecting to Oracle Database 10gR2 or later.


OCI8 Transparent Application Failover (TAF) Support

TAF is an Oracle Database feature that provides high availability. It enables PHP OCI8 applications to automatically reconnect to a preconfigured database when database connectivity fails due to instance or network failure.

In a configured Oracle Database system, TAF occurs when the PHP application detects that the database instance is down or unreachable. It establishes a connection to another node in an Oracle » RAC configuration, a hot standby database, or the same database instance itself. See » Oracle Call Interface Programmer's Guide for more information about OCI TAF.

An application callback can be registered with oci_register_taf_callback(). During failover, normal application processing stops and the registered callback is invoked. The callback notifies the application of the failover events. If the failover succeeds, normal processing will be resumed. If the failover aborts, any following database operations in the application will fail due to no connection being available.

When a connection fails over to another database, the callback can reset any necessary connection state, for example replaying any necessary ALTER SESSION commands if the database service did not have -failover_restore enabled.

An application callback can be removed by calling oci_unregister_taf_callback().

Configuring Transparent Application Failover

TAF can be configured on the PHP OCI8 side or in the database configuration. If both are configured, database-side settings take precedence.

Configure TAF in PHP OCI8 (the client side) by including the FAILOVER_MODE parameter in the CONNECT_DATA portion of a connect descriptor. See Configuring Transparent Application Failover in » Oracle Database Net Services Administrator's Guide for more information about client side configuration of TAF.

An example tnsnames.ora to configure TAF reconnecting to the same database instance:

    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
        (CONNECT_DATA =
          (SERVICE_NAME = orclpdb1)
          (FAILOVER_MODE =
            (TYPE = SELECT)
            (METHOD = BASIC)
            (RETRIES = 20)
            (DELAY = 15))))

Alternatively configure TAF on the database side by modifying the target service with » srvctl (for RAC) or the » DBMS_SERVICE.MODIFY_SERVICE packaged procedure (for single instance databases).

Using TAF Callbacks in OCI8

A TAF callback is an application function that can be registered to be called during failover. It is called several times while re-establishing the application's connection.

Callback first occurs when a loss of connection is detected. This allows the application to act accordingly for the upcoming delay of the failover. If the failover is successful, the callback is invoked after connection is re-established and usable. At this time, the application can resynchronize session settings and take actions such as informing the user that failover occurred. If failover is unsuccessful, a callback occurs to inform the application that a failover did not take place and the connection is unusable.

The interface of a TAF user-defined callback function is as follows:

userCallbackFn ( resource $connection , int $event , int $type ) : int

connection

The Oracle connection on which the TAF callback was registered via oci_register_taf_callback(). The connection is not valid until the failover completes successfully.

event

The failover event indicates the current status of the failover.

  • OCI_FO_BEGIN indicates that failover has detected a lost connection and failover is starting.

  • OCI_FO_END indicates successful completion of failover.

  • OCI_FO_ABORT indicates that failover was unsuccessful, and there is no option of retrying.

  • OCI_FO_ERROR also indicates that failover was unsuccessful, but it gives the application the opportunity to handle the error and return OCI_FO_RETRY to retry failover.

  • OCI_FO_REAUTH indicates that an Oracle user has been re-authenticated.

type

The failover type. This lets the callback know what type of failover the application has requested. The usual values are as follows:

  • OCI_FO_SESSION indicates that the user has requested only session failover. For example, if a user's connection is lost, then a new session is automatically created for the user on the backup. This type of failover does not attempt to recover SELECTs.

  • OCI_FO_SELECT indicates that the user has requested SELECT failover as well. It allows users with open cursors to continue fetching from them after failure.

return value

  • 0 indicates the failover steps should continue normally.

  • OCI_FO_RETRY indicates that the failover should be attempted again by Oracle. In case of an error while failing over to a new connection, TAF is able to retry the failover. Typically, the application code should sleep for a while before returning OCI_FO_RETRY.

The following example registers a TAF callback

<?php

// Define userspace callback
class MyClass {
    public static $retry_count;
    public static function TAFCallback($conn, $event, $type)
    {
        switch ($event) {
            case OCI_FO_BEGIN:
                printf(" Failing Over ... Please stand by\n");
                printf(" Failover type was found to be %s \n",
                       (($type==OCI_FO_SESSION) ? "SESSION"
                        :(($type==OCI_FO_SELECT) ? "SELECT" : "UNKNOWN!")));
                self::$retry_count = 0;
                break;
            case OCI_FO_ABORT:
                // The application cannot continue using the database
                printf(" Failover aborted. Failover will not take place.\n");
                break;
            case OCI_FO_END:
                // Failover completes successfully. Inform users a failover occurs.
                printf(" Failover ended ... resuming services\n");
                break;
            case OCI_FO_REAUTH:
                printf(" Failed over user ... resuming services\n");
                // Replay any ALTER SESSION commands associated with this connection
                // eg. oci_parse($conn, ‘ALTER SESSION …’) ;
                break;
            case OCI_FO_ERROR:
                // Stop retrying if we have already attempted for 20 times.
                if (self::$retry_count >= 20)
                    return 0;
                printf(" Failover error received. Sleeping...\n");
                sleep(10);
                self::$retry_count++;
                return OCI_FO_RETRY; // retry failover
                break;
            default:
                printf("Bad Failover Event: %d.\n", $event);
                break;
        }
        return 0;
    }
}

$fn_name = 'MyClass::TAFCallback';

$conn = oci_connect('hr', 'welcome', 'orcl');
$sysconn = oci_connect('system', 'oracle', 'orcl');

// Use a privileged connection to construct a SQL statement that will initiate failover
$sql = <<< 'END'
select unique 'alter system disconnect session '''||sid||','||serial#||''''
from v$session_connect_info
where sid = sys_context('USERENV', 'SID')
END;

$s = oci_parse($conn, $sql);
oci_execute($s);
$r = oci_fetch_array($s);
$disconnectssql = $r[0];

oci_register_taf_callback($conn, $fn_name); // Register TAFCallback to Oracle TAF

print("Parsing user query\n");
$sql = "select systimestamp from dual";
$stmt = oci_parse($conn, $sql);

// For example, if a connection loss occurs at this point, oci_execute() will
// detect the loss and failover begins. During failover, oci_execute() will
// invoke the TAF callback function several times. If the failover is successful,
// a new connection is transparently created and oci_execute() will continue as
// usual. The connection session settings can be reset in the TAF callback
// function. If the failover is aborted, oci_execute() will return an error
// because a valid connection is not available.

// Disconnect the user, which initiates failover
print("Disconnecting the user\n");
$discsql = oci_parse($sysconn, $disconnectssql);
oci_execute($discsql);

print("Executing user query\n");
$e = oci_execute($stmt);
if (!$e) {
    $m = oci_error($stmt);
    trigger_error("Could not execute statement: ". $m['message'], E_USER_ERROR);
}
$row = oci_fetch_array($stmt);
print($row[0] . "\n");

// do other SQL statements with the new connection, if it is valid
// $stmt = oci_parse($conn,  . . .);

?>

See Also

  • oci_register_taf_callback()
  • oci_unregister_taf_callback()


OCI8 and DTrace Dynamic Tracing

OCI8 2.0 introduced static DTrace probes that can be used on operating systems that support DTrace. See DTrace Dynamic Tracing for an overview of PHP and DTrace.

Installing OCI8 with DTrace Support

To enable DTrace support in PHP OCI8, build OCI8 as a shared extension after setting PHP_DTRACE.

$ export PHP_DTRACE=yes
$ pecl install oci8

Edit php.ini, set extension_dir to the directory with the created oci8.so and also enable the extension by adding:

extension=oci8.so

If you install PHP OCI8 from PECL using phpize and configure (instead of pecl), you will still need to set PHP_DTRACE=yes. This is because the --enable-dtrace option will be ignored by the limited configure script of a PECL bundle.

See Installation of PECL extensions for general PECL installation instructions.

DTrace Static Probes in PHP OCI8

The following static probes are available in PHP OCI8
Probe Name | Probe Description | Probe Arguments
oci8-connect-entry | Initiated by oci_connect(), oci_pconnect() and oci_new_connect(). Fires before database connection is established. | char *username, char *dbname, char *charset, long session_mode, int persistent, int exclusive
oci8-connect-return | Fires at the end of connection. | void *connection
oci8-check-connection | Fires if an Oracle error might have caused the connection to become invalid. | void *connection, char *client_id, int is_open, long errcode, unsigned long server_status
oci8-sqltext | Fires when oci_parse() is executed. | void *connection, char *client_id, void *statement, char *sql
oci8-connection-close | Fires when the connection to the database is completely destroyed. | void *connection
oci8-error | Fires if an Oracle error occurs. | int status, long errcode
oci8-execute-mode | Fires at oci_execute() to show the execution mode. | void *connection, char *client_id, void *statement, unsigned int mode

These probes are useful for tracing OCI8 scripts.

The connection and statement are the pointers to internal structures used for tracking PHP connections and executed statements.

The client_id is the value set by oci_set_client_identifier().

Core PHP also has static probes. See DTrace Static Probes in Core PHP.

Internal Debugging DTrace Probes in OCI8
Probe Name
oci8-connect-expiry
oci8-connect-lookup
oci8-connect-p-dtor-close
oci8-connect-p-dtor-release
oci8-connect-type
oci8-sesspool-create
oci8-sesspool-stats
oci8-sesspool-type

These probes are useful for OCI8 maintainers. Refer to the OCI8 source code for arguments and to see when the will fire.

Listing DTrace Static Probes in PHP OCI8

To list available probes, start a PHP process and then run:

# dtrace -l

The output will be similar to:

   ID   PROVIDER            MODULE                          FUNCTION NAME
   [ . . . ]
   17 phpoci22116           oci8.so   php_oci_dtrace_check_connection oci8-check-connection
   18 phpoci22116           oci8.so                php_oci_do_connect oci8-connect-entry
   19 phpoci22116           oci8.so         php_oci_persistent_helper oci8-connect-expiry
   20 phpoci22116           oci8.so             php_oci_do_connect_ex oci8-connect-lookup
   21 phpoci22116           oci8.so  php_oci_pconnection_list_np_dtor oci8-connect-p-dtor-close
   22 phpoci22116           oci8.so  php_oci_pconnection_list_np_dtor oci8-connect-p-dtor-release
   23 phpoci22116           oci8.so                php_oci_do_connect oci8-connect-return
   24 phpoci22116           oci8.so             php_oci_do_connect_ex oci8-connect-type
   25 phpoci22116           oci8.so          php_oci_connection_close oci8-connection-close
   26 phpoci22116           oci8.so                     php_oci_error oci8-error
   27 phpoci22116           oci8.so         php_oci_statement_execute oci8-execute-mode
   28 phpoci22116           oci8.so              php_oci_create_spool oci8-sesspool-create
   29 phpoci22116           oci8.so            php_oci_create_session oci8-sesspool-stats
   30 phpoci22116           oci8.so            php_oci_create_session oci8-sesspool-type
   31 phpoci22116           oci8.so          php_oci_statement_create oci8-sqltext

The Provider column values consist of phpoci and the process id of the currently running PHP process.

The Function column refers to PHP's internal C implementation function names where each provider is located.

If a PHP process is not running, then no PHP probes will be shown.

DTrace with PHP OCI8 Example

This example shows the basics of the DTrace D scripting language.

Exemplo #1 user_oci8_probes.d for tracing all user-level PHP OCI8 Static Probes with DTrace

#!/usr/sbin/dtrace -Zs

#pragma D option quiet

php*:::oci8-connect-entry
{
    printf("%lld: PHP connect-entry\n", walltimestamp);
    printf("  credentials=\"%s@%s\"\n", arg0 ? copyinstr(arg0) : "", arg1 ? copyinstr(arg1) : "");
    printf("  charset=\"%s\"\n", arg2 ? copyinstr(arg2) : "");
    printf("  session_mode=%ld\n", (long)arg3);
    printf("  persistent=%d\n", (int)arg4);
    printf("  exclusive=%d\n", (int)arg5);
}

php*:::oci8-connect-return
{
    printf("%lld: PHP oci8-connect-return\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
}

php*:::oci8-connection-close
{
    printf("%lld: PHP oci8-connect-close\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
}

php*:::oci8-error
{
    printf("%lld: PHP oci8-error\n", walltimestamp);
    printf("  status=%d\n", (int)arg0);
    printf("  errcode=%ld\n", (long)arg1);
}

php*:::oci8-check-connection
{
    printf("%lld: PHP oci8-check-connection\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
    printf("  client_id=\"%s\"\n", arg1 ? copyinstr(arg1) : "");
    printf("  is_open=%d\n", arg2);
    printf("  errcode=%ld\n", (long)arg3);
    printf("  server_status=%lu\n", (unsigned long)arg4);
}

php*:::oci8-sqltext
{
    printf("%lld: PHP oci8-sqltext\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
    printf("  client_id=\"%s\"\n", arg1 ? copyinstr(arg1) : "");
    printf("  statement=0x%p\n", (void *)arg2);
    printf("  sql=\"%s\"\n", arg3 ? copyinstr(arg3) : "");
}

php*:::oci8-execute-mode
{
    printf("%lld: PHP oci8-execute-mode\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
    printf("  client_id=\"%s\"\n", arg1 ? copyinstr(arg1) : "");
    printf("  statement=0x%p\n", (void *)arg2);
    printf("  mode=0x%x\n", arg3);
}

This script uses the -Z option to dtrace, allowing it to be run when there is no PHP process executing. If this option were omitted the script would immediately terminate when no PHP executable was running because it knows none of the probes to be monitored are in existence.

On multi-CPU machines the probe ordering might not appear to be sequential. This depends on which CPU was processing the probes, and how threads migrate across CPUs. Displaying probe time stamps helps reduce confusion.

The script traces all user-level PHP OCI8 static probe points throughout the duration of a running PHP script. Run the D script:

# ./user_oci8_probes.d

Run a PHP script or application. The monitoring D script will output each probe's arguments as it fires. For example, a simple PHP script that queries a table might produce the following trace output:

1381794982092854582: PHP connect-entry
  credentials="hr@localhost/pdborcl"
  charset=""
  session_mode=0
  persistent=0
  exclusive=0
1381794982183158766: PHP oci8-connect-return
  connection=0x7f4a7907bfb8
1381794982183594576: PHP oci8-sqltext
  connection=0x7f4a7907bfb8
  client_id="Chris"
  statement=0x7f4a7907c2a0
  sql="select * from employees"
1381794982183783706: PHP oci8-execute-mode
  connection=0x7f4a7907bfb8
  client_id="Chris"
  statement=0x7f4a7907c2a0
  mode=0x20
1381794982444344390: PHP oci8-connect-close
  connection=0x7f4a7907bfb8

When monitoring is complete, the D script can be terminated with a ^C.

See Also

  • DTrace Dynamic Tracing


Supported Datatypes

The driver supports the following types when binding parameters using the oci_bind_by_name() function:
Type | Mapping
SQLT_NTY | Maps a native collection type from a PHP collection object, such as those created by oci_new_collection().
SQLT_BFILEE | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_CFILEE | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_CLOB | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_BLOB | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_RDD | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_NUM | Converts the PHP parameter to a 'C' long type, and binds to that value.
SQLT_RSET | Maps a native statement handle, such as those created by oci_parse() or those retrieved from other OCI queries.
SQLT_BOL | Bind the PHP parameter to a PL/SQL BOOLEAN
SQLT_CHR and any other type | Converts the PHP parameter to a string type and binds as a string.
The following types are supported when retrieving columns from a result set:
Type | Mapping
SQLT_RSET | Creates an oci statement resource to represent the cursor.
SQLT_RDD | Creates a ROWID object.
SQLT_BLOB | Creates a LOB object.
SQLT_CLOB | Creates a LOB object.
SQLT_BFILE | Creates a LOB object.
SQLT_LNG | Bound as SQLT_CHR, returned as a string
SQLT_LBI | Bound as SQLT_BIN, returned as a string
Any other type | Bound as SQLT_CHR, returned as a string


Funções OCI8

Índice

  • oci_bind_array_by_name — Binds a PHP array to an Oracle PL/SQL array parameter
  • oci_bind_by_name — Binds a PHP variable to an Oracle placeholder
  • oci_cancel — Cancels reading from cursor
  • oci_client_version — Returns the Oracle client library version
  • oci_close — Closes an Oracle connection
  • oci_commit — Commits the outstanding database transaction
  • oci_connect — Connect to an Oracle database
  • oci_define_by_name — Associates a PHP variable with a column for query fetches
  • oci_error — Returns the last error found
  • oci_execute — Executes a statement
  • oci_fetch_all — Fetches multiple rows from a query into a two-dimensional array
  • oci_fetch_array — Returns the next row from a query as an associative or numeric array
  • oci_fetch_assoc — Returns the next row from a query as an associative array
  • oci_fetch_object — Returns the next row from a query as an object
  • oci_fetch_row — Returns the next row from a query as a numeric array
  • oci_fetch — Fetches the next row from a query into internal buffers
  • oci_field_is_null — Checks if a field in the currently fetched row is null
  • oci_field_name — Returns the name of a field from the statement
  • oci_field_precision — Tell the precision of a field
  • oci_field_scale — Tell the scale of the field
  • oci_field_size — Returns field's size
  • oci_field_type_raw — Tell the raw Oracle data type of the field
  • oci_field_type — Returns a field's data type name
  • oci_free_descriptor — Frees a descriptor
  • oci_free_statement — Frees all resources associated with statement or cursor
  • oci_get_implicit_resultset — Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets
  • oci_lob_copy — Copies large object
  • oci_lob_is_equal — Compares two LOB/FILE locators for equality
  • oci_new_collection — Allocates new collection object
  • oci_new_connect — Connect to the Oracle server using a unique connection
  • oci_new_cursor — Allocates and returns a new cursor (statement handle)
  • oci_new_descriptor — Initializes a new empty LOB or FILE descriptor
  • oci_num_fields — Returns the number of result columns in a statement
  • oci_num_rows — Returns number of rows affected during statement execution
  • oci_parse — Prepares an Oracle statement for execution
  • oci_password_change — Changes password of Oracle's user
  • oci_pconnect — Connect to an Oracle database using a persistent connection
  • oci_register_taf_callback — Register a user-defined callback function for Oracle Database TAF
  • oci_result — Returns field's value from the fetched row
  • oci_rollback — Rolls back the outstanding database transaction
  • oci_server_version — Returns the Oracle Database version
  • oci_set_action — Sets the action name
  • oci_set_call_timeout — Sets a millisecond timeout for database calls
  • oci_set_client_identifier — Sets the client identifier
  • oci_set_client_info — Sets the client information
  • oci_set_db_operation — Sets the database operation
  • oci_set_edition — Sets the database edition
  • oci_set_module_name — Sets the module name
  • oci_set_prefetch — Sets number of rows to be prefetched by queries
  • oci_statement_type — Returns the type of a statement
  • oci_unregister_taf_callback — Unregister a user-defined callback function for Oracle Database TAF


Binds a PHP array to an Oracle PL/SQL array parameter

  • « Funções OCI8
  • oci_bind_by_name »
  • PHP Manual
  • Funções OCI8
  • Binds a PHP array to an Oracle PL/SQL array parameter

oci_bind_array_by_name

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL OCI8 >= 1.2.0)

oci_bind_array_by_name — Binds a PHP array to an Oracle PL/SQL array parameter

Descrição

oci_bind_array_by_name ( resource $statement , string $name , array &$var_array , int $max_table_length , int $max_item_length = -1 , int $type = SQLT_AFC ) : bool

Binds the PHP array var_array to the Oracle placeholder name, which points to an Oracle PL/SQL array. Whether it will be used for input or output will be determined at run-time.

Parâmetros

statement

A valid OCI statement identifier.

name

The Oracle placeholder.

var_array

An array.

max_table_length

Sets the maximum length both for incoming and result arrays.

max_item_length

Sets maximum length for array items. If not specified or equals to -1, oci_bind_array_by_name() will find the longest element in the incoming array and will use it as the maximum length.

type

Should be used to set the type of PL/SQL array items. See list of available types below:

  • SQLT_NUM - for arrays of NUMBER.

  • SQLT_INT - for arrays of INTEGER (Note: INTEGER it is actually a synonym for NUMBER(38), but SQLT_NUM type won't work in this case even though they are synonyms).

  • SQLT_FLT - for arrays of FLOAT.

  • SQLT_AFC - for arrays of CHAR.

  • SQLT_CHR - for arrays of VARCHAR2.

  • SQLT_VCS - for arrays of VARCHAR.

  • SQLT_AVC - for arrays of CHARZ.

  • SQLT_STR - for arrays of STRING.

  • SQLT_LVC - for arrays of LONG VARCHAR.

  • SQLT_ODT - for arrays of DATE.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 oci_bind_array_by_name() example

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$create = "CREATE TABLE bind_example(name VARCHAR(20))";
$stid = oci_parse($conn, $create);
oci_execute($stid);

$create_pkg = "
CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS
  TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER;
  PROCEDURE iobind(c1 IN OUT ARRTYPE);
END ARRAYBINDPKG1;";
$stid = oci_parse($conn, $create_pkg);
oci_execute($stid);

$create_pkg_body = "
CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS
  CURSOR CUR IS SELECT name FROM bind_example;
  PROCEDURE iobind(c1 IN OUT ARRTYPE) IS
    BEGIN
    -- Bulk Insert
    FORALL i IN INDICES OF c1
      INSERT INTO bind_example VALUES (c1(i));

    -- Fetch and reverse
    IF NOT CUR%ISOPEN THEN
      OPEN CUR;
    END IF;
    FOR i IN REVERSE 1..5 LOOP
      FETCH CUR INTO c1(i);
      IF CUR%NOTFOUND THEN
        CLOSE CUR;
        EXIT;
      END IF;
    END LOOP;
  END iobind;
END ARRAYBINDPKG1;";
$stid = oci_parse($conn, $create_pkg_body);
oci_execute($stid);

$stid = oci_parse($conn, "BEGIN arraybindpkg1.iobind(:c1); END;");
$array = array("one", "two", "three", "four", "five");
oci_bind_array_by_name($stid, ":c1", $array, 5, -1, SQLT_CHR);
oci_execute($stid);

var_dump($array);

?>


Binds a PHP variable to an Oracle placeholder

  • « oci_bind_array_by_name
  • oci_cancel »
  • PHP Manual
  • Funções OCI8
  • Binds a PHP variable to an Oracle placeholder

oci_bind_by_name

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_bind_by_name — Binds a PHP variable to an Oracle placeholder

Descrição

oci_bind_by_name ( resource $statement , string $bv_name , mixed &$variable , int $maxlength = -1 , int $type = SQLT_CHR ) : bool

Binds a PHP variable variable to the Oracle bind variable placeholder bv_name. Binding is important for Oracle database performance and also as a way to avoid SQL Injection security issues.

Binding allows the database to reuse the statement context and caches from previous executions of the statement, even if another user or process originally executed it. Binding reduces SQL Injection concerns because the data associated with a bind variable is never treated as part of the SQL statement. It does not need quoting or escaping.

PHP variables that have been bound can be changed and the statement re-executed without needing to re-parse the statement or re-bind.

In Oracle, bind variables are commonly divided into IN binds for values that are passed into the database, and OUT binds for values that are returned to PHP. A bind variable may be both IN and OUT. Whether a bind variable will be used for input or output is determined at run-time.

You must specify maxlength when using an OUT bind so that PHP allocates enough memory to hold the returned value.

For IN binds it is recommended to set the maxlength length if the statement is re-executed multiple times with different values for the PHP variable. Otherwise Oracle may truncate data to the length of the initial PHP variable value. If you don't know what the maximum length will be, then re-call oci_bind_by_name() with the current data size prior to each oci_execute() call. Binding an unnecessarily large length will have an impact on process memory in the database.

A bind call tells Oracle which memory address to read data from. For IN binds that address needs to contain valid data when oci_execute() is called. This means that the variable bound must remain in scope until execution. If it doesn't, unexpected results or errors such as "ORA-01460: unimplemented or unreasonable conversion requested" may occur. For OUT binds one symptom is no value being set in the PHP variable.

For a statement that is repeatedly executed, binding values that never change may reduce the ability of the Oracle optimizer to choose the best statement execution plan. Long running statements that are rarely re-executed may not benefit from binding. However in both cases, binding might be safer than joining strings into a SQL statement, as this can be a security risk if unfiltered user text is concatenated.

Parâmetros

statement

A valid OCI8 statement identifer.

bv_name

The colon-prefixed bind variable placeholder used in the statement. The colon is optional in bv_name. Oracle does not use question marks for placeholders.

variable

The PHP variable to be associated with bv_name

maxlength

Sets the maximum length for the data. If you set it to -1, this function will use the current length of variable to set the maximum length. In this case the variable must exist and contain data when oci_bind_by_name() is called.

type

The datatype that Oracle will treat the data as. The default type used is SQLT_CHR. Oracle will convert the data between this type and the database column (or PL/SQL variable type), when possible.

If you need to bind an abstract datatype (LOB/ROWID/BFILE) you need to allocate it first using the oci_new_descriptor() function. The length is not used for abstract datatypes and should be set to -1.

Possible values for type are:

  • SQLT_BFILEE or OCI_B_BFILE - for BFILEs;

  • SQLT_CFILEE or OCI_B_CFILEE - for CFILEs;

  • SQLT_CLOB or OCI_B_CLOB - for CLOBs;

  • SQLT_BLOB or OCI_B_BLOB - for BLOBs;

  • SQLT_RDD or OCI_B_ROWID - for ROWIDs;

  • SQLT_NTY or OCI_B_NTY - for named datatypes;

  • SQLT_INT or OCI_B_INT - for integers;

  • SQLT_CHR - for VARCHARs;

  • SQLT_BIN or OCI_B_BIN - for RAW columns;

  • SQLT_LNG - for LONG columns;

  • SQLT_LBI - for LONG RAW columns;

  • SQLT_RSET - for cursors created with oci_new_cursor();

  • SQLT_BOL or OCI_B_BOL - for PL/SQL BOOLEANs (Requires OCI8 2.0.7 and Oracle Database 12c)

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Inserting data with oci_bind_by_name()

<?php

// Create the table with:
//   CREATE TABLE mytab (id NUMBER, text VARCHAR2(40));

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn,"INSERT INTO mytab (id, text) VALUES(:id_bv, :text_bv)");

$id = 1;
$text = "Data to insert     ";
oci_bind_by_name($stid, ":id_bv", $id);
oci_bind_by_name($stid, ":text_bv", $text);
oci_execute($stid);

// Table now contains: 1, 'Data to insert     '

?>

Exemplo #2 Binding once for multiple executions

<?php

// Create the table with:
//   CREATE TABLE mytab (id NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$a = array(1,3,5,7,11);  // data to insert

$stid = oci_parse($conn, 'INSERT INTO mytab (id) VALUES (:bv)');
oci_bind_by_name($stid, ':bv', $v, 20);
foreach ($a as $v) {
    $r = oci_execute($stid, OCI_DEFAULT);  // don't auto commit
}
oci_commit($conn); // commit everything at once

// Table contains five rows: 1, 3, 5, 7, 11

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #3 Binding with a foreach() loop

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT * FROM departments WHERE department_name = :dname AND location_id = :loc';
$stid = oci_parse($conn, $sql);

$ba = array(':dname' => 'IT Support', ':loc' => 1700);

foreach ($ba as $key => $val) {

    // oci_bind_by_name($stid, $key, $val) does not work
    // because it binds each placeholder to the same location: $val
    // instead use the actual location of the data: $ba[$key]
    oci_bind_by_name($stid, $key, $ba[$key]);
}

oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);
foreach ($row as $item) {
    print $item."<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #4 Binding in a WHERE clause

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT last_name FROM employees WHERE department_id = :didbv ORDER BY last_name';
$stid = oci_parse($conn, $sql);
$didbv = 60;
oci_bind_by_name($stid, ':didbv', $didbv);
oci_execute($stid);
while (($row = oci_fetch_array($stid, OCI_ASSOC)) != false) {
    echo $row['LAST_NAME'] ."<br>\n";
}

// Output is
//    Austin
//    Ernst
//    Hunold
//    Lorentz
//    Pataballa

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #5 Binding with a LIKE clause

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

// Find all cities that begin with 'South'
$stid = oci_parse($conn, "SELECT city FROM locations WHERE city LIKE :bv");
$city = 'South%';  // '%' is a wildcard in SQL
oci_bind_by_name($stid, ":bv", $city);
oci_execute($stid);
oci_fetch_all($stid, $res);

foreach ($res['CITY'] as $c) {
    print $c . "<br>\n";
}
// Output is
//   South Brunswick
//   South San Francisco
//   Southlake

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #6 Binding with REGEXP_LIKE

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

// Find all cities that contain 'ing'
$stid = oci_parse($conn, "SELECT city FROM locations WHERE REGEXP_LIKE(city, :bv)");
$city = '.*ing.*';
oci_bind_by_name($stid, ":bv", $city);
oci_execute($stid);
oci_fetch_all($stid, $res);

foreach ($res['CITY'] as $c) {
    print $c . "<br>\n";
}
// Output is
//   Beijing
//   Singapore

oci_free_statement($stid);
oci_close($conn);

?>

For a small, fixed number of IN clause conditions, use individual bind variables. Values unknown at run time can be set to NULL. This allows a single statement to be used by all application users, maximizing Oracle DB cache efficiency.

Exemplo #7 Binding Multiple Values in an IN Clause

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT last_name FROM employees WHERE employee_id in (:e1, :e2, :e3)';
$stid = oci_parse($conn, $sql);
$mye1 = 103;
$mye2 = 104;
$mye3 = NULL; // pretend we were not given this value
oci_bind_by_name($stid, ':e1', $mye1);
oci_bind_by_name($stid, ':e2', $mye2);
oci_bind_by_name($stid, ':e3', $mye3);
oci_execute($stid);
oci_fetch_all($stid, $res);
foreach ($res['LAST_NAME'] as $name) {
    print $name ."<br>\n";
}

// Output is
//   Ernst
//   Hunold

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #8 Binding a ROWID returned by a query

<?php

// Create the table with:
//   CREATE TABLE mytab (id NUMBER, salary NUMBER, name VARCHAR2(40));
//   INSERT INTO mytab (id, salary, name) VALUES (1, 100, 'Chris');
//   COMMIT;

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT ROWID, name FROM mytab WHERE id = :id_bv FOR UPDATE');
$id = 1;
oci_bind_by_name($stid, ':id_bv', $id);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);
$rid = $row['ROWID'];
$name = $row['NAME'];

// Change name to upper case & save the changes
$name = strtoupper($name);
$stid = oci_parse($conn, 'UPDATE mytab SET name = :n_bv WHERE ROWID = :r_bv');
oci_bind_by_name($stid, ':n_bv', $name);
oci_bind_by_name($stid, ':r_bv', $rid, -1, OCI_B_ROWID);
oci_execute($stid);

// The table now contains 1, 100, CHRIS

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #9 Binding a ROWID on INSERT

<?php

// This example inserts an id & name, and then updates the salary
// Create the table with:
//   CREATE TABLE mytab (id NUMBER, salary NUMBER, name VARCHAR2(40));
//
// Based on original ROWID example by thies at thieso dot net (980221)

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = "INSERT INTO mytab (id, name) VALUES(:id_bv, :name_bv)
        RETURNING ROWID INTO :rid";

$ins_stid = oci_parse($conn, $sql);

$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_bind_by_name($ins_stid, ":id_bv",   $id,    10);
oci_bind_by_name($ins_stid, ":name_bv", $name,  32);
oci_bind_by_name($ins_stid, ":rid",     $rowid, -1, OCI_B_ROWID);

$sql = "UPDATE mytab SET salary = :salary WHERE ROWID = :rid";
$upd_stid = oci_parse($conn, $sql);
oci_bind_by_name($upd_stid, ":rid", $rowid, -1, OCI_B_ROWID);
oci_bind_by_name($upd_stid, ":salary", $salary,   32);

// ids and names to insert
$data = array(1111 => "Larry",
              2222 => "Bill",
              3333 => "Jim");

// Salary of each person
$salary = 10000;

// Insert and immediately update each row
foreach ($data as $id => $name) {
    oci_execute($ins_stid);
    oci_execute($upd_stid);
}

$rowid->free();
oci_free_statement($upd_stid);
oci_free_statement($ins_stid);

// Show the new rows
$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid);
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    var_dump($row);
}

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #10 Binding for a PL/SQL stored function

<?php

//  Before running the PHP program, create a stored function in
//  SQL*Plus or SQL Developer:
//
//  CREATE OR REPLACE FUNCTION myfunc(p IN NUMBER) RETURN NUMBER AS
//  BEGIN
//      RETURN p * 3;
//  END;

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$p = 8;

$stid = oci_parse($conn, 'begin :r := myfunc(:p); end;');
oci_bind_by_name($stid, ':p', $p);

// The return value is an OUT bind. The default type will be a string
// type so binding a length 40 means that at most 40 digits will be
// returned.
oci_bind_by_name($stid, ':r', $r, 40);

oci_execute($stid);

print "$r\n";   // prints 24

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #11 Binding parameters for a PL/SQL stored procedure

<?php

//  Before running the PHP program, create a stored procedure in
//  SQL*Plus or SQL Developer:
//
//  CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
//  BEGIN
//      p2 := p1 * 2;
//  END;

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$p1 = 8;

$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);

// The second procedure parameter is an OUT bind. The default type
// will be a string type so binding a length 40 means that at most 40
// digits will be returned.
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n";   // prints 16

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #12 Binding a CLOB column

<?php

// Before running, create the table:
//     CREATE TABLE mytab (mykey NUMBER, myclob CLOB);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$mykey = 12343;  // arbitrary key for this example;

$sql = "INSERT INTO mytab (mykey, myclob)
        VALUES (:mykey, EMPTY_CLOB())
        RETURNING myclob INTO :myclob";

$stid = oci_parse($conn, $sql);
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);
oci_execute($stid, OCI_DEFAULT);
$clob->save("A very long string");

oci_commit($conn);

// Fetching CLOB data

$query = 'SELECT myclob FROM mytab WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid);

print '<table border="1">';
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_LOBS)) {
    print '<tr><td>'.$row['MYCLOB'].'</td></tr>';
    // In a loop, freeing the large variable before the 2nd fetch reduces PHP's peak memory usage
    unset($row);
}
print '</table>';

?>

Exemplo #13 Binding a PL/SQL BOOLEAN

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$plsql =
  "begin
    :output1 := true;
    :output2 := false;
   end;";

$s = oci_parse($c, $plsql);
oci_bind_by_name($s, ':output1', $output1, -1, OCI_B_BOL);
oci_bind_by_name($s, ':output2', $output2, -1, OCI_B_BOL);
oci_execute($s);
var_dump($output1);  // true
var_dump($output2);  // false

?>

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Aviso

Do not use magic_quotes_gpc or addslashes() and oci_bind_by_name() simultaneously as no quoting is needed. Any magically applied quotes will be written into your database because oci_bind_by_name() inserts data verbatim and does not remove quotes or escape characters.

Nota:

If you bind a string to a CHAR column in a WHERE clause, remember that Oracle uses blank-padded comparison semantics for CHAR columns. Your PHP variable should be blank padded to the same width as the column for the WHERE clause to succeed.

Nota:

The PHP variable argument is a reference. Some forms of loops do not work as expected:

<?php
foreach ($myarray as $key => $value)  {
    oci_bind_by_name($stid, $key, $value);
}
?>

This binds each key to the location of $value, so all bound variables end up pointing to the last loop iteration's value. Instead use the following:

<?php
foreach ($myarray as $key => $value) {
    oci_bind_by_name($stid, $key, $myarray[$key]);
}
?>

Veja Também

  • oci_bind_array_by_name() - Binds a PHP array to an Oracle PL/SQL array parameter
  • oci_parse() - Prepares an Oracle statement for execution


Cancels reading from cursor

  • « oci_bind_by_name
  • oci_client_version »
  • PHP Manual
  • Funções OCI8
  • Cancels reading from cursor

oci_cancel

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_cancel — Cancels reading from cursor

Descrição

oci_cancel ( resource $statement ) : bool

Invalidates a cursor, freeing all associated resources and cancels the ability to read from it.

Parâmetros

statement

An OCI statement.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Returns the Oracle client library version

  • « oci_cancel
  • oci_close »
  • PHP Manual
  • Funções OCI8
  • Returns the Oracle client library version

oci_client_version

(PHP 5 >= 5.3.7, PHP 7, PHP 8, PECL OCI8 >= 1.4.6)

oci_client_version — Returns the Oracle client library version

Descrição

oci_client_version ( ) : string

Returns a string containing the version number of the Oracle C client library that PHP is linked with.

Parâmetros

None

Valor Retornado

Returns the version number as a string.

Exemplos

Exemplo #1 oci_client_version() example

<?php
    echo "Client Version: " . oci_client_version(); // Client version: 19.9.0.0.0
?>

Notas

Nota:

Oracle libraries before 10gR2 do not have the underlying functionality to get the client library version number. The string "Unknown" will be returned in this case.

Veja Também

  • oci_server_version() - Returns the Oracle Database version


Closes an Oracle connection

  • « oci_client_version
  • oci_commit »
  • PHP Manual
  • Funções OCI8
  • Closes an Oracle connection

oci_close

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_close — Closes an Oracle connection

Descrição

oci_close ( resource $connection ) : bool

Unsets connection. The underlying database connection is closed if no other resources are using it and if it was created with oci_connect() or oci_new_connect().

It is recommended to close connections that are no longer needed because this makes database resources available for other users.

Parâmetros

connection

An Oracle connection identifier returned by oci_connect(), oci_pconnect(), or oci_new_connect().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Closing a connection

Resources associated with a connection should be closed to ensure the underlying database connection is properly terminated and the database resources are released.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM departments');
$r = oci_execute($stid);
oci_fetch_all($stid, $res);
var_dump($res);

// Free the statement identifier when closing the connection
oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #2 Database connections are not closed until all references are closed

The internal refcount of a connection identifier must be zero before the underlying connection to the database is closed.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM departments');  // this increases the refcount on $conn
oci_execute($stid);
oci_fetch_all($stid, $res);
var_dump($res);

oci_close($conn);

// $conn is no longer usable in the script but the underlying database
// connection is still held open until $stid is freed.
var_dump($conn);  // prints NULL

// While PHP sleeps, querying the Oracle V$SESSION view in a
// terminal window will show that the database user is still connected.
sleep(10);

// When $stid is freed, the database connection is physically closed
oci_free_statement($stid);

// While PHP sleeps, querying the Oracle V$SESSION view in a
// terminal window will show that the database user has disconnected.
sleep(10);

?>

Exemplo #3 Closing a connection opened more than once

When database credentials are reused, both connections must be closed before the underlying database connection is closed.

<?php

$conn1 = oci_connect('hr', 'welcome', 'localhost/XE');

// Using the same credentials reuses the same underlying database connection
// Any uncommitted changes done on $conn1 will be visible in $conn2
$conn2 = oci_connect('hr', 'welcome', 'localhost/XE');

// While PHP sleeps, querying the Oracle V$SESSION view in a
// terminal window will show that only one database user is connected.
sleep(10);

oci_close($conn1); // doesn't close the underlying database connection
var_dump($conn1);  // prints NULL because the variable $conn1 is no longer usable
var_dump($conn2);  // displays that $conn2 is still a valid connection resource

?>

Exemplo #4 Connections are closed when variables go out of scope

When all variables referencing a connection go out of scope and are freed by PHP, a rollback occurs (if necessary) and the underlying connection to the database is closed.

<?php

function myfunc() {
    $conn = oci_connect('hr', 'hrpwd', 'localhost/XE');
    if (!$conn) {
        $e = oci_error();
        trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    }

    $stid = oci_parse($conn, 'UPDATE mytab SET id = 100');
    oci_execute($stid, OCI_NO_AUTO_COMMIT);
    return "Finished";
}

$r = myfunc();
// At this point a rollback occurred and the underlying database connection was released.

print $r;  // displays the function return value "Finished"

?>

Notas

Nota:

Variables that have a dependency on the connection identifier, such as statement identifiers returned by oci_parse(), must also be freed before the underlying database connection is closed.

Nota:

Prior to version PHP 5.1.2 (PECL OCI8 1.1) oci_close() was a no-op. In more recent versions it correctly closes the Oracle connection. Use oci8.old_oci_close_semantics option to restore old behavior of this function.

Nota:

The oci_close() function does not close the underlying database connections created with oci_pconnect().

Veja Também

  • oci_connect() - Connect to an Oracle database
  • oci_free_statement() - Frees all resources associated with statement or cursor


Commits the outstanding database transaction

  • « oci_close
  • oci_connect »
  • PHP Manual
  • Funções OCI8
  • Commits the outstanding database transaction

oci_commit

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_commit — Commits the outstanding database transaction

Descrição

oci_commit ( resource $connection ) : bool

Commits the outstanding transaction for the Oracle connection. A commit ends the current transaction and makes permanent all changes. It releases all locks held.

A transaction begins when the first SQL statement that changes data is executed with oci_execute() using the OCI_NO_AUTO_COMMIT flag. Further data changes made by other statements become part of the same transaction. Data changes made in a transaction are temporary until the transaction is committed or rolled back. Other users of the database will not see the changes until they are committed.

When inserting or updating data, using transactions is recommended for relational data consistency and for performance reasons.

Parâmetros

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect(), or oci_new_connect().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 oci_commit() example

<?php

// Insert into several tables, rolling back the changes if an error occurs

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// The OCI_NO_AUTO_COMMIT flag tells Oracle not to commit the INSERT immediately
// Use OCI_DEFAULT as the flag for PHP <= 5.3.1.  The two flags are equivalent
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    oci_rollback($conn);  // rollback changes to both tables
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Commit the changes to both tables
$r = oci_commit($conn);
if (!$r) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>

Notas

Nota:

Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit() to commit the transaction.

Any call to oci_execute() that uses OCI_COMMIT_ON_SUCCESS mode explicitly or by default will commit any previous uncommitted transaction.

Any Oracle DDL statement such as CREATE or DROP will automatically commit any uncommitted transaction.

Veja Também

  • oci_execute() - Executes a statement
  • oci_rollback() - Rolls back the outstanding database transaction


Connect to an Oracle database

  • « oci_commit
  • oci_define_by_name »
  • PHP Manual
  • Funções OCI8
  • Connect to an Oracle database

oci_connect

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_connect — Connect to an Oracle database

Descrição

oci_connect ( string $username , string $password , string $connection_string = ? , string $character_set = ? , int $session_mode = ? ) : resource

Returns a connection identifier needed for most other OCI8 operations.

For performance, most applications should use persistent connections with oci_pconnect() instead of oci_connect(). See Connection Handling for general information on connection management and connection pooling.

From PHP 5.1.2 (PECL OCI8 1.1) oci_close() can be used to close the connection.

The second and subsequent calls to oci_connect() with the same parameters will return the connection handle returned from the first call. This means that transactions in one handle are also in the other handles, because they use the same underlying database connection. If two handles need to be transactionally isolated from each other, use oci_new_connect() instead.

Parâmetros

username

The Oracle user name.

password

The password for username.

connection_string

Contém uma Oracle instance a conectar. Isso pode ser uma » Easy Connect string ou num Connect Name de um arquivo tnsnames.ora, ou ainda o nome de uma instância local Oracle.

Se não especificado o PHP utilizará variáveis de ambiente como TWO_TASK (no Linux) ou LOCAL (no Windows) e ORACLE_SID para determinar a Oracle instance a conectar.

Para utilizar o método via Easy Connect, o PHP precisa ter sido compilado com as bibliotecas cliente Oracle 10g ou maiores. Uma string Easy Connect para o Oracle 10g tem a forma: [//]host_name[:port][/service_name]. Do Oracle 11g a sintaxe é: [//]host_name[:port][/service_name][:server_type][/instance_name]. Nomes de serviço podem ser encontrados ao rodar o utilitário Oracle lsnrctl status na máquina servidora do banco de dados.

O arquivo tnsnames.ora pode estar em um Oracle Net search path, que inclui $ORACLE_HOME/network/admin e /etc. Alternativamente é possível configurarTNS_ADMIN de forma que $TNS_ADMIN/tnsnames.ora seja encontrado. Tenha certeza que o servidor web tem acesso de escrita nesse arquivo.

character_set

Determina o conjunto de caracteres utilizado pelas bibliotecas Oracle Client. O conjunto de caracteres não precisa bater com o utilizado pelo banco de dados. Se eles não baterem, o Oracle fará a melhor conversão possível dos dados de e para o conjunto de caracteres do banco de dados. Dependendo dos charsets isso pode ocasionar dados não utilizáveis. Conversão também aumenta o processamento.

Se não especificado, as bibliotecas Oracle Client determinam o charset da variável de ambiente NLS_LANG.

Passar esse parâmetro pode reduzir o tempo necessário a conexão.

session_mode

Este parâmetro está disponível desde o PHP 5 (PECL OCI8 1.1) e aceita os seguintes valores: OCI_DEFAULT, OCI_SYSOPER e OCI_SYSDBA. Caso esteja especificado OCI_SYSOPER ou OCI_SYSDBA, esta função tentará estabelecer uma conexão privilegiada utilizando credenciais externas. Conexões privilegiadas estão desativadas por padrão. Para ativá-las é preciso configurar oci8.privileged_connect para On.

O PHP 5.3 (PECL OCI8 1.3.4) introduziu o valor OCI_CRED_EXT. Isso informa o Oracle para utilizar autenticação External ou OS, que precisa ser configurado no banco de dados. A flag OCI_CRED_EXT somente pode ser utilizado com o usuário "/" e uma senha em branco. oci8.privileged_connect pode estar On ou Off.

OCI_CRED_EXT pode ser combinado com OCI_SYSOPER ou OCI_SYSDBA.

OCI_CRED_EXT não é suportado no Windows por razões de segurança.

Valor Retornado

Returns a connection identifier or false on error.

Exemplos

Exemplo #1 Basic oci_connect() using Easy Connect syntax

<?php

// Connects to the XE service (i.e. database) on the "localhost" machine
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Exemplo #2 Basic oci_connect() using a Network Connect name

<?php

// Connects to the MYDB database described in tnsnames.ora file,
// One example tnsnames.ora entry for MYDB could be:
//   MYDB =
//     (DESCRIPTION =
//       (ADDRESS = (PROTOCOL = TCP)(HOST = mymachine.oracle.com)(PORT = 1521))
//       (CONNECT_DATA =
//         (SERVER = DEDICATED)
//         (SERVICE_NAME = XE)
//       )
//     )

$conn = oci_connect('hr', 'welcome', 'MYDB');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Exemplo #3 oci_connect() with an explicit character set

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE', 'AL32UTF8');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Exemplo #4 Using multiple calls to oci_connect()

<?php

$c1 = oci_connect("hr", "welcome", 'localhost/XE');
$c2 = oci_connect("hr", "welcome", 'localhost/XE');

// Both $c1 and $c2 show the same PHP resource id meaning they use the
// same underlying database connection
echo "c1 is $c1<br>\n";
echo "c2 is $c2<br>\n";

function create_table($conn)
{
    $stmt = oci_parse($conn, "create table hallo (test varchar2(64))");
    oci_execute($stmt);
    echo "Created table<br>\n";
}

function drop_table($conn)
{
    $stmt = oci_parse($conn, "drop table hallo");
    oci_execute($stmt);
    echo "Dropped table<br>\n";
}

function insert_data($connname, $conn)
{
    $stmt = oci_parse($conn, "insert into hallo
              values(to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
    oci_execute($stmt, OCI_DEFAULT);
    echo "$connname inserted row without committing<br>\n";
}

function rollback($connname, $conn)
{
    oci_rollback($conn);
    echo "$connname rollback<br>\n";
}

function select_data($connname, $conn)
{
    $stmt = oci_parse($conn, "select * from hallo");
    oci_execute($stmt, OCI_DEFAULT);
    echo "$connname ----selecting<br>\n";
    while (oci_fetch($stmt)) {
        echo "    " . oci_result($stmt, "TEST") . "<br>\n";
    }
    echo "$connname ----done<br>\n";
}

create_table($c1);

insert_data('c1', $c1);   // Insert a row using c1
sleep(2);                 // sleep to show a different timestamp for the 2nd row
insert_data('c2', $c2);   // Insert a row using c2

select_data('c1', $c1);   // Results of both inserts are returned
select_data('c2', $c2);   // Results of both inserts are returned

rollback('c1', $c1);      // Rollback using c1

select_data('c1', $c1);   // Both inserts have been rolled back
select_data('c2', $c2);

drop_table($c1);

// Closing one of the connections makes the PHP variable unusable, but
// the other could be used
oci_close($c1);
echo "c1 is $c1<br>\n";
echo "c2 is $c2<br>\n";

// Output is:
//    c1 is Resource id #5
//    c2 is Resource id #5
//    Created table
//    c1 inserted row without committing
//    c2 inserted row without committing
//    c1 ----selecting
//        09-DEC-09 12:14:43
//        09-DEC-09 12:14:45
//    c1 ----done
//    c2 ----selecting
//        09-DEC-09 12:14:43
//        09-DEC-09 12:14:45
//    c2 ----done
//    c1 rollback
//    c1 ----selecting
//    c1 ----done
//    c2 ----selecting
//    c2 ----done
//    Dropped table
//    c1 is
//    c2 is Resource id #5

?>

Notas

Nota:

An incorrectly installed or configured OCI8 extension will often manifest itself as a connection problem or error. See Installing/Configuring for troubleshooting information.

Veja Também

  • oci_pconnect() - Connect to an Oracle database using a persistent connection
  • oci_new_connect() - Connect to the Oracle server using a unique connection
  • oci_close() - Closes an Oracle connection


Associates a PHP variable with a column for query fetches

  • « oci_connect
  • oci_error »
  • PHP Manual
  • Funções OCI8
  • Associates a PHP variable with a column for query fetches

oci_define_by_name

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_define_by_name — Associates a PHP variable with a column for query fetches

Descrição

oci_define_by_name ( resource $statement , string $column_name , mixed &$variable , int $type = SQLT_CHR ) : bool

Associates a PHP variable with a column for query fetches using oci_fetch().

The oci_define_by_name() call must occur before executing oci_execute().

Parâmetros

statement

Uma identificação de instrução OCI8 válida, criada poroci_parse() e executada por oci_execute(), ou ainda um identificador de REF CURSOR.

column_name

The column name used in the query.

Use uppercase for Oracle's default, non-case sensitive column names. Use the exact column name case for case-sensitive column names.

variable

The PHP variable that will contain the returned column value.

type

The data type to be returned. Generally not needed. Note that Oracle-style data conversions are not performed. For example, SQLT_INT will be ignored and the returned data type will still be SQLT_CHR.

You can optionally use oci_new_descriptor() to allocate LOB/ROWID/BFILE descriptors.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 oci_define_by_name() example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);

// The defines MUST be done before executing
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);

oci_execute($stid);

// Each fetch populates the previously defined variables with the next row's data
while (oci_fetch($stid)) {
    echo "Location id $locid is $city<br>\n";
}

// Displays:
//   Location id 1000 is Roma
//   Location id 1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #2 oci_define_by_name() with case sensitive column names

<?php

/*
  Before running, create the table with a case sensitive column name:
    CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));
    INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// Use uppercase for non case-sensitive column names
oci_define_by_name($stid, 'ID', $id);

// Use the exact case for case-sensitive column names
oci_define_by_name($stid, 'MyDescription', $mydesc);

oci_execute($stid);

while (oci_fetch($stid)) {
    echo "id $id is $mydesc<br>\n";
}

// Displays:
//   id 1 is Iced Coffee

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #3 oci_define_by_name() with LOB columns

<?php

/*
  Before running, create the table:
    CREATE TABLE mytab (id NUMBER, fruit CLOB);
    INSERT INTO mytab (id, fruit) values (1, 'apple');
    INSERT INTO mytab (id, fruit) values (2, 'orange');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// The defines MUST be done before executing
oci_define_by_name($stid, 'ID', $id);
oci_define_by_name($stid, 'FRUIT', $fruit);  // $fruit will become a LOB descriptor

oci_execute($stid);

while (oci_fetch($stid)) {
    echo $id . " is " . $fruit->load(100) . "<br>\n";
}

// Displays:
//   1 is apple
//   2 is orange

$fruit->free();
oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #4 oci_define_by_name() with an explicit type

<?php

/*
  Before running, create the table:
    CREATE TABLE mytab (id NUMBER, fruit CLOB);
    INSERT INTO mytab (id, fruit) values (1, 'apple');
    INSERT INTO mytab (id, fruit) values (2, 'orange');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// The defines MUST be done before executing
oci_define_by_name($stid, 'ID', $id);

$fruit = oci_new_descriptor($conn, OCI_D_LOB);
oci_define_by_name($stid, 'FRUIT', $fruit, OCI_D_CLOB);

oci_execute($stid);

while (oci_fetch($stid)) {
    echo $id . " is " . $fruit->load(100) . "<br>\n";
}

// Displays:
//   1 is apple
//   2 is orange

$fruit->free();
oci_free_statement($stid);
oci_close($conn);

?>

Veja Também

  • oci_fetch() - Fetches the next row from a query into internal buffers
  • oci_new_descriptor() - Initializes a new empty LOB or FILE descriptor


Returns the last error found

  • « oci_define_by_name
  • oci_execute »
  • PHP Manual
  • Funções OCI8
  • Returns the last error found

oci_error

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_error — Returns the last error found

Descrição

oci_error ( resource $resource = ? ) : array

Returns the last error found.

The function should be called immediately after an error occurs. Errors are cleared by a successful statement.

Parâmetros

resource

For most errors, resource is the
resource handle that was passed to the failing function call.
For connection errors with oci_connect(),
oci_new_connect() or
oci_pconnect() do not pass resource.

Valor Retornado

If no error is found, oci_error() returns false. Otherwise, oci_error() returns the error information as an associative array.

oci_error() Array Description
Array key | Type | Descrição
code | int | The Oracle error number.
message | string | The Oracle error text.
offset | int | The byte position of an error in the SQL statement. If there was no statement, this is 0
sqltext | string | The SQL statement text. If there was no statement, this is an empty string.

Exemplos

Exemplo #1 Displaying the Oracle error message after a connection error

<?php
$conn = oci_connect("hr", "welcome", "localhost/XE");
if (!$conn) {
    $e = oci_error();   // For oci_connect errors do not pass a handle
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>

Exemplo #2 Displaying the Oracle error message after a parsing error

<?php
$stid = oci_parse($conn, "select ' from dual");  // note mismatched quote
if (!$stid) {
    $e = oci_error($conn);  // For oci_parse errors pass the connection handle
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>

Exemplo #3 Displaying the Oracle error message, the problematic statement, and the position of the problem of an execution error

<?php
$stid = oci_parse($conn, "select does_not_exist from dual");
$r = oci_execute($stid);
if (!$r) {
    $e = oci_error($stid);  // For oci_execute errors pass the statement handle
    print htmlentities($e['message']);
    print "\n<pre>\n";
    print htmlentities($e['sqltext']);
    printf("\n%".($e['offset']+1)."s", "^");
    print  "\n</pre>\n";
}
?>


Executes a statement

  • « oci_error
  • oci_fetch_all »
  • PHP Manual
  • Funções OCI8
  • Executes a statement

oci_execute

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_execute — Executes a statement

Descrição

oci_execute ( resource $statement , int $mode = OCI_COMMIT_ON_SUCCESS ) : bool

Executes a statement previously returned from oci_parse().

After execution, statements like INSERT will have data committed to the database by default. For statements like SELECT, execution performs the logic of the query. Query results can subsequently be fetched in PHP with functions like oci_fetch_array().

Each parsed statement may be executed multiple times, saving the cost of re-parsing. This is commonly used for INSERT statements when data is bound with oci_bind_by_name().

Parâmetros

statement

A valid OCI statement identifier.

mode

An optional second parameter can be one of the following constants:

Execution Modes
Constant | Description
OCI_COMMIT_ON_SUCCESS | Automatically commit all outstanding changes for this connection when the statement has succeeded. This is the default.
OCI_DESCRIBE_ONLY | Make query meta data available to functions like oci_field_name() but do not create a result set. Any subsequent fetch call such as oci_fetch_array() will fail.
OCI_NO_AUTO_COMMIT | Do not automatically commit changes. Prior to PHP 5.3.2 (PECL OCI8 1.4) use OCI_DEFAULT which is equivalent to OCI_NO_AUTO_COMMIT.

Using OCI_NO_AUTO_COMMIT mode starts or continues a transaction. Transactions are automatically rolled back when the connection is closed, or when the script ends. Explicitly call oci_commit() to commit a transaction, or oci_rollback() to abort it.

When inserting or updating data, using transactions is recommended for relational data consistency and for performance reasons.

If OCI_NO_AUTO_COMMIT mode is used for any statement including queries, and oci_commit() or oci_rollback() is not subsequently called, then OCI8 will perform a rollback at the end of the script even if no data was changed. To avoid an unnecessary rollback, many scripts do not use OCI_NO_AUTO_COMMIT mode for queries or PL/SQL. Be careful to ensure the appropriate transactional consistency for the application when using oci_execute() with different modes in the same script.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 oci_execute() for queries

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Exemplo #2 oci_execute() without specifying a mode example

<?php

// Before running, create the table:
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (123)');

oci_execute($stid); // The row is committed and immediately visible to other users

?>

Exemplo #3 oci_execute() with OCI_NO_AUTO_COMMIT example

<?php

// Before running, create the table:
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (:bv)');
oci_bind_by_name($stid, ':bv', $i, 10);
for ($i = 1; $i <= 5; ++$i) {
    oci_execute($stid, OCI_NO_AUTO_COMMIT);  // use OCI_DEFAULT for PHP <= 5.3.1
}
oci_commit($conn);  // commits all new values: 1, 2, 3, 4, 5

?>

Exemplo #4 oci_execute() with different commit modes example

<?php

// Before running, create the table:
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (123)');
oci_execute($stid, OCI_NO_AUTO_COMMIT);  // data not committed

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (456)');
oci_execute($stid);  // commits both 123 and 456 values

?>

Exemplo #5 oci_execute() with OCI_DESCRIBE_ONLY example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM locations');
oci_execute($s, OCI_DESCRIBE_ONLY);
for ($i = 1; $i <= oci_num_fields($stid); ++$i) {
    echo oci_field_name($stid, $i) . "<br>\n";
}

?>

Notas

Nota:

Transactions are automatically rolled back when connections are closed, or when the script ends, whichever is soonest. Explicitly call oci_commit() to commit a transaction.

Any call to oci_execute() that uses OCI_COMMIT_ON_SUCCESS mode explicitly or by default will commit any previous uncommitted transaction.

Any Oracle DDL statement such as CREATE or DROP will automatically commit any uncommitted transaction.

Nota:

Because the oci_execute() function generally sends the statement to the database, oci_execute() can identify some statement syntax errors that the lightweight, local oci_parse() function does not.

Veja Também

  • oci_parse() - Prepares an Oracle statement for execution


Fetches multiple rows from a query into a two-dimensional array

  • « oci_execute
  • oci_fetch_array »
  • PHP Manual
  • Funções OCI8
  • Fetches multiple rows from a query into a two-dimensional array

oci_fetch_all

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch_all — Fetches multiple rows from a query into a two-dimensional array

Descrição

oci_fetch_all ( resource $statement , array &$output , int $skip = 0 , int $maxrows = -1 , int $flags = OCI_FETCHSTATEMENT_BY_COLUMN + OCI_ASSOC ) : int|false

Fetches multiple rows from a query into a two-dimensional array. By default, all rows are returned.

This function can be called only once for each query executed with oci_execute().

Parâmetros

statement

Uma identificação de instrução OCI8 válida, criada poroci_parse() e executada por oci_execute(), ou ainda um identificador de REF CURSOR.

output

The variable to contain the returned rows.

LOB columns are returned as strings, where Oracle supports conversion.

See oci_fetch_array() for more information on how data and types are fetched.

skip

The number of initial rows to discard when fetching the result. The default value is 0, so the first row onwards is returned.

maxrows

The number of rows to return. The default is -1 meaning return all the rows from skip + 1 onwards.

flags

Parameter flags indicates the array structure and whether associative arrays should be used.

oci_fetch_all() Array Structure Modes
Constant | Description
OCI_FETCHSTATEMENT_BY_ROW | The outer array will contain one sub-array per query row.
OCI_FETCHSTATEMENT_BY_COLUMN | The outer array will contain one sub-array per query column. This is the default.

Arrays can be indexed either by column heading or numerically. Only one index mode will be returned.

oci_fetch_all() Array Index Modes
Constant | Description
OCI_NUM | Numeric indexes are used for each column's array.
OCI_ASSOC | Associative indexes are used for each column's array. This is the default.

Use the addition operator "+" to choose a combination of array structure and index modes.

Oracle's default, non-case sensitive column names will have uppercase array keys. Case-sensitive column names will have array keys using the exact column case. Use var_dump() on output to verify the appropriate case to use for each query.

Queries that have more than one column with the same name should use column aliases. Otherwise only one of the columns will appear in an associative array.

Valor Retornado

Returns the number of rows in output, which may be 0 or more, ou false em caso de falha.

Exemplos

Exemplo #1 oci_fetch_all() example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res);

echo "$nrows rows fetched<br>\n";
var_dump($res);

// var_dump output is:
//    2 rows fetched
//    array(2) {
//      ["POSTAL_CODE"]=>
//      array(2) {
//        [0]=>
//        string(6) "00989x"
//        [1]=>
//        string(6) "10934x"
//      }
//      ["CITY"]=>
//      array(2) {
//        [0]=>
//        string(4) "Roma"
//        [1]=>
//        string(6) "Venice"
//      }
//    }

// Pretty-print the results
echo "<table border='1'>\n";
foreach ($res as $col) {
    echo "<tr>\n";
    foreach ($col as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #2 oci_fetch_all() example with OCI_FETCHSTATEMENT_BY_ROW

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_ROW);

echo "$nrows rows fetched<br>\n";
var_dump($res);

// Output is:
//    2 rows fetched
//    array(2) {
//      [0]=>
//      array(2) {
//        ["POSTAL_CODE"]=>
//        string(6) "00989x"
//        ["CITY"]=>
//        string(4) "Roma"
//      }
//      [1]=>
//      array(2) {
//        ["POSTAL_CODE"]=>
//        string(6) "10934x"
//        ["CITY"]=>
//        string(6) "Venice"
//      }
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #3 oci_fetch_all() with OCI_NUM

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_ROW + OCI_NUM);

echo "$nrows rows fetched<br>\n";
var_dump($res);

// Output is:
//    2 rows fetched
//    array(2) {
//      [0]=>
//      array(2) {
//        [0]=>
//        string(6) "00989x"
//        [1]=>
//        string(4) "Roma"
//      }
//      [1]=>
//      array(2) {
//        [0]=>
//        string(6) "10934x"
//        [1]=>
//        string(6) "Venice"
//      }
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

Using skip is very inefficient. All the rows to be skipped are included in the result set that is returned from the database to PHP. They are then discarded. It is more efficient to use SQL to restrict the offset and range of rows in the query. See oci_fetch_array() for an example.

Nota:

Queries that return a large number of rows can be more memory efficient if a single-row fetching function like oci_fetch_array() is used.

Nota:

Para queries retornado um grande número de linhas a performance pode ser melhorada significantemente aumentando-se oci8.default_prefetch ou utilizando oci_set_prefetch().

Nota:

Will not return rows from Oracle Database 12c Implicit Result Sets. Use oci_fetch_array() instead.

Veja Também

  • oci_fetch() - Fetches the next row from a query into internal buffers
  • oci_fetch_array() - Returns the next row from a query as an associative or numeric array
  • oci_fetch_assoc() - Returns the next row from a query as an associative array
  • oci_fetch_object() - Returns the next row from a query as an object
  • oci_fetch_row() - Returns the next row from a query as a numeric array
  • oci_set_prefetch() - Sets number of rows to be prefetched by queries


Returns the next row from a query as an associative or numeric array

  • « oci_fetch_all
  • oci_fetch_assoc »
  • PHP Manual
  • Funções OCI8
  • Returns the next row from a query as an associative or numeric array

oci_fetch_array

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch_array — Returns the next row from a query as an associative or numeric array

Descrição

oci_fetch_array ( resource $statement , int $mode = ? ) : array

Returns an array containing the next result-set row of a query. Each array entry corresponds to a column of the row. This function is typically called in a loop until it returns false, indicating no more rows exist.

If statement corresponds to a PL/SQL block returning Oracle Database Implicit Result Sets, then rows from all sets are consecutively fetched. If statement is returned by oci_get_implicit_resultset(), then only the subset of rows for one child query are returned.

Para detalhes no mapeamento de dados realizado pela extenção OCI8 extension veja tipos suportados pelo driver.

Parâmetros

statement

Uma identificação de instrução OCI8 válida, criada poroci_parse() e executada por oci_execute(), ou ainda um identificador de REF CURSOR.

Can also be a statement identifier returned by oci_get_implicit_resultset().

mode

An optional second parameter can be any combination of the following constants:

oci_fetch_array() Modes
Constant | Description
OCI_BOTH | Returns an array with both associative and numeric indices. This is the same as OCI_ASSOC + OCI_NUM and is the default behavior.
OCI_ASSOC | Returns an associative array.
OCI_NUM | Returns a numeric array.
OCI_RETURN_NULLS | Creates elements for null fields. The element values will be a PHP null.
OCI_RETURN_LOBS | Returns the contents of LOBs instead of the LOB descriptors.

The default mode is OCI_BOTH.

Use the addition operator "+" to specify more than one mode at a time.

Valor Retornado

Returns an array with associative and/or numeric indices. If there are no more rows in the statement then false is returned.

By default, LOB columns are returned as LOB descriptors.

DATE columns are returned as strings formatted to the current date format. The default format can be changed with Oracle environment variables such as NLS_LANG or by a previously executed ALTER SESSION SET NLS_DATE_FORMAT command.

Oracle's default, non-case sensitive column names will have uppercase associative indices in the result array. Case-sensitive column names will have array indices using the exact column case. Use var_dump() on the result array to verify the appropriate case to use for each query.

The table name is not included in the array index. If your query contains two different columns with the same name, use OCI_NUM or add a column alias to the query to ensure name uniqueness, see example #7. Otherwise only one column will be returned via PHP.

Exemplos

Exemplo #1 oci_fetch_array() with OCI_BOTH

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT department_id, department_name FROM departments');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_BOTH)) != false) {
    // Use the uppercase column names for the associative array indices
    echo $row[0] . " and " . $row['DEPARTMENT_ID']   . " are the same<br>\n";
    echo $row[1] . " and " . $row['DEPARTMENT_NAME'] . " are the same<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #2 oci_fetch_array() with OCI_NUM

<?php

/*
  Before running, create the table:
      CREATE TABLE mytab (id NUMBER, description CLOB);
      INSERT INTO mytab (id, description) values (1, 'A very long string');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_NUM)) != false) {
    echo $row[0] . "<br>\n";
    echo $row[1]->read(11) . "<br>\n"; // this will output first 11 bytes from DESCRIPTION
}

// Output is:
//    1
//    A very long

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #3 oci_fetch_array() with OCI_ASSOC

<?php

/*
  Before running, create the table:
      CREATE TABLE mytab (id NUMBER, description CLOB);
      INSERT INTO mytab (id, description) values (1, 'A very long string');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC)) != false) {
    echo $row['ID'] . "<br>\n";
    echo $row['DESCRIPTION']->read(11) . "<br>\n"; // this will output first 11 bytes from DESCRIPTION
}

// Output is:
//    1
//    A very long

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #4 oci_fetch_array() with OCI_RETURN_NULLS

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT 1, null FROM dual');
oci_execute($stid);
while (($row = oci_fetch_array ($stid, OCI_ASSOC)) != false) { // Ignore NULLs
    var_dump($row);
}

/*
The above code prints:
  array(1) {
    [1]=>
    string(1) "1"
  }
*/

$stid = oci_parse($conn, 'SELECT 1, null FROM dual');
oci_execute($stid);
while (($row = oci_fetch_array ($stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) { // Fetch NULLs
    var_dump($row);
}

/*
The above code prints:
  array(2) {
    [1]=>
    string(1) "1"
    ["NULL"]=>
    NULL
  }
*/

?>

Exemplo #5 oci_fetch_array() with OCI_RETURN_LOBS

<?php

/*
  Before running, create the table:
      CREATE TABLE mytab (id NUMBER, description CLOB);
      INSERT INTO mytab (id, description) values (1, 'A very long string');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_LOBS)) != false) {
    echo $row['ID'] . "<br>\n";
    echo $row['DESCRIPTION'] . "<br>\n"; // this contains all of DESCRIPTION
    // In a loop, freeing the large variable before the 2nd fetch reduces PHP's peak memory usage
    unset($row);
}

// Output is:
//    1
//    A very long string

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #6 oci_fetch_array() with case sensitive column names

<?php

/*
   Before running, create the table:
      CREATE TABLE mytab ("Name" VARCHAR2(20), city VARCHAR2(20));
      INSERT INTO mytab ("Name", city) values ('Chris', 'Melbourne');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'select * from mytab');
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);

// Because 'Name' was created as a case-sensitive column, that same
// case is used for the array index.  However uppercase 'CITY' must
// be used for the case-insensitive column index
print $row['Name'] . "<br>\n";   //  prints Chris
print $row['CITY'] . "<br>\n";   //  prints Melbourne

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #7 oci_fetch_array() with columns having duplicate names

<?php

/*
  Before running, create the tables:
      CREATE TABLE mycity (id NUMBER, name VARCHAR2(20));
      INSERT INTO mycity (id, name) values (1, 'Melbourne');
      CREATE TABLE mycountry (id NUMBER, name VARCHAR2(20));
      INSERT INTO mycountry (id, name) values (1, 'Australia');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT mycity.name, mycountry.name
        FROM mycity, mycountry
        WHERE mycity.id = mycountry.id';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
var_dump($row);

// Output only contains one "NAME" entry:
//    array(1) {
//      ["NAME"]=>
//      string(9) "Australia"
//    }

// To query a repeated column name, use an SQL column alias like "AS ctnm":
$sql = 'SELECT mycity.name AS ctnm, mycountry.name
        FROM mycity, mycountry
        WHERE mycity.id = mycountry.id';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
var_dump($row);

// Output now contains both columns selected:
//    array(2) {
//      ["CTNM"]=>
//      string(9) "Melbourne"
//      ["NAME"]=>
//      string(9) "Australia"
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #8 oci_fetch_array() with DATE columns

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Set the date format for this connection.
// For performance reasons, consider changing the format
// in a trigger or with environment variables instead
$stid = oci_parse($conn, "ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD'");
oci_execute($stid);

$stid = oci_parse($conn, 'SELECT hire_date FROM employees WHERE employee_id = 188');
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
echo $row['HIRE_DATE'] . "<br>\n";  // prints 1997-06-14

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #9 oci_fetch_array() with REF CURSOR

<?php
/*
  Create the PL/SQL stored procedure as:

  CREATE OR REPLACE PROCEDURE myproc(p1 OUT SYS_REFCURSOR) AS
  BEGIN
    OPEN p1 FOR SELECT * FROM all_objects WHERE ROWNUM < 5000;
  END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'BEGIN myproc(:rc); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Execute the returned REF CURSOR and fetch from it like a statement identifier
oci_execute($refcur);
echo "<table border='1'>\n";
while (($row = oci_fetch_array($refcur, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($refcur);
oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #10 Pagination with oci_fetch_array() using a LIMIT-like query

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Find the version of the database
preg_match('/Release ([0-9]+)\./', oci_server_version($conn), $matches);
$oracleversion = $matches[1];

// This is the query you want to "page" through
$sql = 'SELECT city, postal_code FROM locations ORDER BY city';

if ($oracleversion >= 12) {
    // Make use of Oracle 12c OFFSET / FETCH NEXT syntax
    $sql = $sql . ' OFFSET :offset ROWS FETCH NEXT :numrows ROWS ONLY';
} else {
    // Older Oracle versions need a nested query selecting a subset
    // from $sql.  Or, if the SQL statement is known at development
    // time, consider using a row_number() function instead of this
    // nested solution.  In production environments, be careful to
    // avoid SQL Injection issues with concatenation.
    $sql = "SELECT * FROM (SELECT a.*, ROWNUM AS my_rnum
                           FROM ($sql) a
                           WHERE ROWNUM <= :offset + :numrows)
            WHERE my_rnum > :offset";
}

$offset  = 0;  // skip this many rows
$numrows = 5;  // return 5 rows
$stid = oci_parse($conn, $sql);
oci_bind_by_name($stid, ':numrows', $numrows);
oci_bind_by_name($stid, ':offset', $offset);
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC + OCI_RETURN_NULLS)) != false) {
    echo $row['CITY'] . " " . $row['POSTAL_CODE'] . "<br>\n";
}

// Output is:
//    Beijing 190518
//    Bern 3095
//    Bombay 490231
//    Geneva 1730
//    Hiroshima 6823

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #11 oci_fetch_array() with Oracle Database Implicit Result Sets

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Requires OCI8 2.0 (or later) and Oracle Database 12c (or later)
// Also see oci_get_implicit_resultset()
$sql = 'DECLARE
           c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
           OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

// Note: oci_fetch_all and oci_fetch() cannot be used in this manner
echo "<table>\n";
while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "  <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"&nbsp;")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

// Output is:
//    Beijing 190518
//    Bern    3095
//    Bombay  490231
//    CN
//    CH
//    IN

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

Associative array indices need to be in uppercase for standard Oracle columns that were created with case insensitive names.

Nota:

Para queries retornado um grande número de linhas a performance pode ser melhorada significantemente aumentando-se oci8.default_prefetch ou utilizando oci_set_prefetch().

Nota:

The function oci_fetch_array() is insignificantly slower than oci_fetch_assoc() or oci_fetch_row(), but is more flexible.

Veja Também

  • oci_fetch() - Fetches the next row from a query into internal buffers
  • oci_fetch_all() - Fetches multiple rows from a query into a two-dimensional array
  • oci_fetch_assoc() - Returns the next row from a query as an associative array
  • oci_fetch_object() - Returns the next row from a query as an object
  • oci_fetch_row() - Returns the next row from a query as a numeric array
  • oci_set_prefetch() - Sets number of rows to be prefetched by queries


Returns the next row from a query as an associative array

  • « oci_fetch_array
  • oci_fetch_object »
  • PHP Manual
  • Funções OCI8
  • Returns the next row from a query as an associative array

oci_fetch_assoc

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch_assoc — Returns the next row from a query as an associative array

Descrição

oci_fetch_assoc ( resource $statement ) : array

Returns an associative array containing the next result-set row of a query. Each array entry corresponds to a column of the row. This function is typically called in a loop until it returns false, indicating no more rows exist.

Calling oci_fetch_assoc() is identical to calling oci_fetch_array() with OCI_ASSOC + OCI_RETURN_NULLS.

Parâmetros

statement

Uma identificação de instrução OCI8 válida, criada poroci_parse() e executada por oci_execute(), ou ainda um identificador de REF CURSOR.

Valor Retornado

Returns an associative array. If there are no more rows in the statement then false is returned.

Exemplos

Exemplo #1 oci_fetch_assoc() Example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT department_id, department_name FROM departments');
oci_execute($stid);

while (($row = oci_fetch_assoc($stid)) != false) {
    echo $row['DEPARTMENT_ID'] . " " . $row['DEPARTMENT_NAME'] . "<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

See oci_fetch_array() for more examples of fetching rows.

Veja Também

  • oci_fetch() - Fetches the next row from a query into internal buffers
  • oci_fetch_all() - Fetches multiple rows from a query into a two-dimensional array
  • oci_fetch_array() - Returns the next row from a query as an associative or numeric array
  • oci_fetch_object() - Returns the next row from a query as an object
  • oci_fetch_row() - Returns the next row from a query as a numeric array


Returns the next row from a query as an object

  • « oci_fetch_assoc
  • oci_fetch_row »
  • PHP Manual
  • Funções OCI8
  • Returns the next row from a query as an object

oci_fetch_object

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch_object — Returns the next row from a query as an object

Descrição

oci_fetch_object ( resource $statement ) : object

Returns an object containing the next result-set row of a query. Each attribute of the object corresponds to a column of the row. This function is typically called in a loop until it returns false, indicating no more rows exist.

Para detalhes no mapeamento de dados realizado pela extenção OCI8 extension veja tipos suportados pelo driver.

Parâmetros

statement

Uma identificação de instrução OCI8 válida, criada poroci_parse() e executada por oci_execute(), ou ainda um identificador de REF CURSOR.

Valor Retornado

Returns an object. Each attribute of the object corresponds to a column of the row. If there are no more rows in the statement then false is returned.

Any LOB columns are returned as LOB descriptors.

DATE columns are returned as strings formatted to the current date format. The default format can be changed with Oracle environment variables such as NLS_LANG or by a previously executed ALTER SESSION SET NLS_DATE_FORMAT command.

Oracle's default, non-case sensitive column names will have uppercase attribute names. Case-sensitive column names will have attribute names using the exact column case. Use var_dump() on the result object to verify the appropriate case for attribute access.

Attribute values will be null for any NULL data fields.

Exemplos

Exemplo #1 oci_fetch_object() example

<?php

/*
  Before running, create the table:
    CREATE TABLE mytab (id NUMBER, description VARCHAR2(30));
    INSERT INTO mytab (id, description) values (1, 'Fish and Chips');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid)) != false) {
    // Use upper case attribute names for each standard Oracle column
    echo $row->ID . "<br>\n";
    echo $row->DESCRIPTION . "<br>\n";
}

// Output is:
//    1
//    Fish and Chips

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #2 oci_fetch_object() with case sensitive column names

<?php

/*
  Before running, create the table with a case sensitive column name:
    CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));
    INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, "MyDescription" FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid)) != false) {
    // Use upper case attribute names for each standard Oracle column
    echo $row->ID . "<br>\n";
    // Use the exact case for the case sensitive column name
    echo $row->MyDescription . "<br>\n";
}

// Output is:
//    1
//    Iced Coffee

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #3 oci_fetch_object() with LOBs

<?php

/*
  Before running, create the table:
    CREATE TABLE mytab (id NUMBER, description CLOB);
    INSERT INTO mytab (id, description) values (1, 'A very long string');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid)) != false) {
    echo $row->ID . "<br>\n";
    // The following will output the first 11 bytes from DESCRIPTION
    echo $row->DESCRIPTION->read(11) . "<br>\n";
}

// Output is:
//    1
//    A very long

oci_free_statement($stid);
oci_close($conn);

?>

Veja Também

  • oci_fetch() - Fetches the next row from a query into internal buffers
  • oci_fetch_all() - Fetches multiple rows from a query into a two-dimensional array
  • oci_fetch_assoc() - Returns the next row from a query as an associative array
  • oci_fetch_array() - Returns the next row from a query as an associative or numeric array
  • oci_fetch_row() - Returns the next row from a query as a numeric array


Returns the next row from a query as a numeric array

  • « oci_fetch_object
  • oci_fetch »
  • PHP Manual
  • Funções OCI8
  • Returns the next row from a query as a numeric array

oci_fetch_row

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch_row — Returns the next row from a query as a numeric array

Descrição

oci_fetch_row ( resource $statement ) : array

Returns a numerically indexed array containing the next result-set row of a query. Each array entry corresponds to a column of the row. This function is typically called in a loop until it returns false, indicating no more rows exist.

Calling oci_fetch_row() is identical to calling oci_fetch_array() with OCI_NUM + OCI_RETURN_NULLS.

Parâmetros

statement

Uma identificação de instrução OCI8 válida, criada poroci_parse() e executada por oci_execute(), ou ainda um identificador de REF CURSOR.

Valor Retornado

Returns a numerically indexed array. If there are no more rows in the statement then false is returned.

Exemplos

Exemplo #1 oci_fetch_row() Example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT department_id, department_name FROM departments');
oci_execute($stid);

while (($row = oci_fetch_row($stid)) != false) {
    echo $row[0] . " " . $row[1] . "<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

See oci_fetch_array() for more examples of fetching rows.

Veja Também

  • oci_fetch() - Fetches the next row from a query into internal buffers
  • oci_fetch_all() - Fetches multiple rows from a query into a two-dimensional array
  • oci_fetch_array() - Returns the next row from a query as an associative or numeric array
  • oci_fetch_assoc() - Returns the next row from a query as an associative array
  • oci_fetch_object() - Returns the next row from a query as an object


Fetches the next row from a query into internal buffers

  • « oci_fetch_row
  • oci_field_is_null »
  • PHP Manual
  • Funções OCI8
  • Fetches the next row from a query into internal buffers

oci_fetch

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch — Fetches the next row from a query into internal buffers

Descrição

oci_fetch ( resource $statement ) : bool

Fetches the next row from a query into internal buffers accessible either with oci_result(), or by using variables previously defined with oci_define_by_name().

See oci_fetch_array() for general information about fetching data.

Parâmetros

statement

Uma identificação de instrução OCI8 válida, criada poroci_parse() e executada por oci_execute(), ou ainda um identificador de REF CURSOR.

Valor Retornado

Returns true on success or false if there are no more rows in the statement.

Exemplos

Exemplo #1 oci_fetch() with defined variables

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);

// The defines MUST be done before executing
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);

oci_execute($stid);

// Each fetch populates the previously defined variables with the next row's data
while (oci_fetch($stid)) {
    echo "Location id $locid is $city<br>\n";
}

// Displays:
//   Location id 1000 is Roma
//   Location id 1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #2 oci_fetch() with oci_result()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);
oci_execute($stid);

while (oci_fetch($stid)) {
    echo oci_result($stid, 'LOCATION_ID') . " is ";
    echo oci_result($stid, 'CITY') . "<br>\n";
}

// Displays:
//   1000 is Roma
//   1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

Will not return rows from Oracle Database Implicit Result Sets. Use oci_fetch_array() instead.

Veja Também

  • oci_define_by_name() - Associates a PHP variable with a column for query fetches
  • oci_fetch_all() - Fetches multiple rows from a query into a two-dimensional array
  • oci_fetch_array() - Returns the next row from a query as an associative or numeric array
  • oci_fetch_assoc() - Returns the next row from a query as an associative array
  • oci_fetch_object() - Returns the next row from a query as an object
  • oci_fetch_row() - Returns the next row from a query as a numeric array
  • oci_result() - Returns field's value from the fetched row


Checks if a field in the currently fetched row is null

  • « oci_fetch
  • oci_field_name »
  • PHP Manual
  • Funções OCI8
  • Checks if a field in the currently fetched row is null

oci_field_is_null

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_is_null — Checks if a field in the currently fetched row is null

Descrição

oci_field_is_null ( resource $statement , mixed $field ) : bool

Checks if the given field from the current row of statement is null.

Parâmetros

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Valor Retornado

Returns true if field is null, false otherwise.

Exemplos

Exemplo #1 oci_field_name() example

<?php

// Create the table with:
//   CREATE TABLE mytab (c1 NUMBER);
//   INSERT INTO mytab VALUES (1);
//   INSERT INTO mytab VALUES (NULL);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) != false) {
    $ncols = oci_num_fields($stid);
    for ($col = 1; $col <= $ncols; $col++) {
        var_dump(oci_field_is_null($stid, $col));
    }
}

// Outputs:
//    bool(false)
//    bool(true)

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

In PHP versions before 5.0.0 you must use ocicolumnisnull() instead. This name still can be used, it was left as alias of oci_field_is_null() for downwards compatability. This, however, is deprecated and not recommended.


Returns the name of a field from the statement

  • « oci_field_is_null
  • oci_field_precision »
  • PHP Manual
  • Funções OCI8
  • Returns the name of a field from the statement

oci_field_name

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_name — Returns the name of a field from the statement

Descrição

oci_field_name ( resource $statement , mixed $field ) : string

Returns the name of the field.

Parâmetros

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Valor Retornado

Returns the name as a string, or false on errors.

Exemplos

Exemplo #1 oci_field_name() example

<?php

// Create the table with:
//   CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1),
//                       clob_col CLOB, date_col DATE);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

echo "<table border=\"1\">\n";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>\n";

$ncols = oci_num_fields($stid);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stid, $i);
    $column_type  = oci_field_type($stid, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "</tr>\n";
}

echo "</table>\n";

// Outputs:
//    Name           Type
//    NUMBER_COL    NUMBER
//    VARCHAR2_COL  VARCHAR2
//    CLOB_COL      CLOB
//    DATE_COL      DATE

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

In PHP versions before 5.0.0 you must use ocicolumnname() instead. This name still can be used, it was left as alias of oci_field_name() for downwards compatability. This, however, is deprecated and not recommended.

Veja Também

  • oci_num_fields() - Returns the number of result columns in a statement
  • oci_field_type() - Returns a field's data type name
  • oci_field_size() - Returns field's size


Tell the precision of a field

  • « oci_field_name
  • oci_field_scale »
  • PHP Manual
  • Funções OCI8
  • Tell the precision of a field

oci_field_precision

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_precision — Tell the precision of a field

Descrição

oci_field_precision ( resource $statement , mixed $field ) : int

Returns precision of the field.

For FLOAT columns, precision is nonzero and scale is -127. If precision is 0, then column is NUMBER. Else it's NUMBER(precision, scale).

Parâmetros

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Valor Retornado

Returns the precision as an integer, or false on errors.

Exemplos

Exemplo #1 oci_field_precision() Example

<?php

// Create the table with:
//   CREATE TABLE mytab (c1 NUMBER, c2 FLOAT, c3 NUMBER(4), c4 NUMBER(5,3));

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; $i++) {
    echo oci_field_name($stid, $i) . " "
        . oci_field_precision($stid, $i) . " "
        . oci_field_scale($stid, $i) . "<br>\n";
}

// Outputs:
//   C1    0 -127
//   C2  126 -127
//   C3    4    0
//   C4    5    3

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

In PHP versions before 5.0.0 you must use ocicolumnprecision() instead. This name still can be used, it was left as alias of oci_field_precision() for downwards compatability. This, however, is deprecated and not recommended.

Veja Também

  • oci_field_scale() - Tell the scale of the field
  • oci_field_type() - Returns a field's data type name


Tell the scale of the field

  • « oci_field_precision
  • oci_field_size »
  • PHP Manual
  • Funções OCI8
  • Tell the scale of the field

oci_field_scale

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_scale — Tell the scale of the field

Descrição

oci_field_scale ( resource $statement , mixed $field ) : int

Returns the scale of the column with field index.

For FLOAT columns, precision is nonzero and scale is -127. If precision is 0, then column is NUMBER. Else it's NUMBER(precision, scale).

Parâmetros

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Valor Retornado

Returns the scale as an integer, or false on errors.

Exemplos

Exemplo #1 oci_field_scale() Example

<?php

// Create the table with:
//   CREATE TABLE mytab (c1 NUMBER, c2 FLOAT, c3 NUMBER(4), c4 NUMBER(5,3));

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; $i++) {
    echo oci_field_name($stid, $i) . " "
        . oci_field_precision($stid, $i) . " "
        . oci_field_scale($stid, $i) . "<br>\n";
}

// Outputs:
//   C1    0 -127
//   C2  126 -127
//   C3    4    0
//   C4    5    3

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

In PHP versions before 5.0.0 you must use ocicolumnscale() instead. This name still can be used, it was left as alias of oci_field_scale() for downwards compatability. This, however, is deprecated and not recommended.

Veja Também

  • oci_field_precision() - Tell the precision of a field
  • oci_field_type() - Returns a field's data type name


Returns field's size

  • « oci_field_scale
  • oci_field_type_raw »
  • PHP Manual
  • Funções OCI8
  • Returns field's size

oci_field_size

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_size — Returns field's size

Descrição

oci_field_size ( resource $statement , mixed $field ) : int

Returns the size of a field.

Parâmetros

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Valor Retornado

Returns the size of a field in bytes, or false on errors.

Exemplos

Exemplo #1 oci_field_size() example

<?php

// Create the table with:
//   CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1),
//                       clob_col CLOB, date_col DATE);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

echo "<table border=\"1\">\n";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>\n";

$ncols = oci_num_fields($stid);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stid, $i);
    $column_type  = oci_field_type($stid, $i);
    $column_size  = oci_field_size($stid, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>\n";
}

echo "</table>\n";

// Outputs:
//    Name           Type       Length
//    NUMBER_COL    NUMBER        22
//    VARCHAR2_COL  VARCHAR2       1
//    CLOB_COL      CLOB        4000
//    DATE_COL      DATE           7

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

In PHP versions before 5.0.0 you must use ocicolumnsize() instead. This name still can be used, it was left as alias of oci_field_size() for downwards compatability. This, however, is deprecated and not recommended.

Veja Também

  • oci_num_fields() - Returns the number of result columns in a statement
  • oci_field_name() - Returns the name of a field from the statement


Tell the raw Oracle data type of the field

  • « oci_field_size
  • oci_field_type »
  • PHP Manual
  • Funções OCI8
  • Tell the raw Oracle data type of the field

oci_field_type_raw

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_type_raw — Tell the raw Oracle data type of the field

Descrição

oci_field_type_raw ( resource $statement , mixed $field ) : int

Returns Oracle's raw "SQLT" data type of the field.

If you want a field's type name, then use oci_field_type() instead.

Parâmetros

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Valor Retornado

Returns Oracle's raw data type as a number, or false on errors.

Exemplos

Exemplo #1 oci_field_type_raw() Example

<?php

// Create the table with:
//   CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1), clob_col CLOB, date_col DATE);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'select * from mytab');
oci_execute($stid, OCI_DESCRIBE_ONLY);  // Use OCI_DESCRIBE_ONLY if not fetching rows
$n = oci_num_fields($stid);
for ($i = 1; $i <= $n; ++$i) {
    echo oci_field_name($stid, $i) . " is raw type: " . oci_field_type_raw($stid, $i) . "<br>\n";
}

// Output is:
//    NUMBER_COL is raw type: 2
//    VARCHAR2_COL is raw type: 1
//    CLOB_COL is raw type: 112
//    DATE_COL is raw type: 12

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

In PHP versions before 5.0.0 you must use ocicolumntyperaw() instead. This name still can be used, it was left as alias of oci_field_type_raw() for downwards compatability. This, however, is deprecated and not recommended.


Returns a field's data type name

  • « oci_field_type_raw
  • oci_free_descriptor »
  • PHP Manual
  • Funções OCI8
  • Returns a field's data type name

oci_field_type

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_type — Returns a field's data type name

Descrição

oci_field_type ( resource $statement , mixed $field ) : mixed

Returns a field's data type name.

Parâmetros

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Valor Retornado

Returns the field data type as a string, or false on errors.

Exemplos

Exemplo #1 oci_field_type() example

<?php

// Create the table with:
//   CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1),
//                       clob_col CLOB, date_col DATE);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

echo "<table border=\"1\">\n";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>\n";

$ncols = oci_num_fields($stid);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stid, $i);
    $column_type  = oci_field_type($stid, $i);
    $column_size  = oci_field_size($stid, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>\n";
}

echo "</table>\n";

// Outputs:
//    Name           Type       Length
//    NUMBER_COL    NUMBER        22
//    VARCHAR2_COL  VARCHAR2       1
//    CLOB_COL      CLOB        4000
//    DATE_COL      DATE           7

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

In PHP versions before 5.0.0 you must use ocicolumntype() instead. This name still can be used, it was left as alias of oci_field_type() for downwards compatability. This, however, is deprecated and not recommended.

Veja Também

  • oci_num_fields() - Returns the number of result columns in a statement
  • oci_field_name() - Returns the name of a field from the statement
  • oci_field_size() - Returns field's size


Frees a descriptor

  • « oci_field_type
  • oci_free_statement »
  • PHP Manual
  • Funções OCI8
  • Frees a descriptor

oci_free_descriptor

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_free_descriptor — Frees a descriptor

Descrição

oci_free_descriptor ( resource $descriptor ) : bool

Frees a descriptor allocated by oci_new_descriptor().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

This function is commonly used as a method OCILOB::free.

Veja Também

  • OCILOB::free


Frees all resources associated with statement or cursor

  • « oci_free_descriptor
  • oci_get_implicit_resultset »
  • PHP Manual
  • Funções OCI8
  • Frees all resources associated with statement or cursor

oci_free_statement

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_free_statement — Frees all resources associated with statement or cursor

Descrição

oci_free_statement ( resource $statement ) : bool

Frees resources associated with Oracle's cursor or statement, which was received from as a result of oci_parse() or obtained from Oracle.

Parâmetros

statement

A valid OCI statement identifier.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets

  • « oci_free_statement
  • oci_lob_copy »
  • PHP Manual
  • Funções OCI8
  • Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets

oci_get_implicit_resultset

(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL OCI8 >= 2.0.0)

oci_get_implicit_resultset — Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets

Descrição

oci_get_implicit_resultset ( resource $statement ) : resource

Used to fetch consectutive sets of query results after the execution of a stored or anonymous Oracle PL/SQL block where that block returns query results with the Oracle Database 12 (or later) DBMS_SQL.RETURN_RESULT PL/SQL function. This allows PL/SQL blocks to easily return query results.

The child statement can be used with any of the OCI8 fetching
functions: oci_fetch(), oci_fetch_all(),
oci_fetch_array(), oci_fetch_object(),
oci_fetch_assoc() or oci_fetch_row()

Child statements inherit their parent statement's prefetch value, or it can be explicitly set with oci_set_prefetch().

Parâmetros

statement

A valid OCI8 statement identifier created by oci_parse() and executed by oci_execute(). The statement identifier may or may not be associated with a SQL statement that returns Implicit Result Sets.

Valor Retornado

Returns a statement handle for the next child statement available on statement. Returns false when child statements do not exist, or all child statements have been returned by previous calls to oci_get_implicit_resultset().

Exemplos

Exemplo #1 Fetching Implicit Result Sets in a loop

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
            c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
           OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

while (($stid_c = oci_get_implicit_resultset($stid))) {
    echo "<h2>New Implicit Result Set:</h2>\n";
    echo "<table>\n";
    while (($row = oci_fetch_array($stid_c, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
        echo "<tr>\n";
        foreach ($row as $item) {
            echo "  <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"&nbsp;")."</td>\n";
        }
        echo "</tr>\n";
    }
    echo "</table>\n";
}

// Output is:
//    New Implicit Result Set:
//     Beijing 190518
//     Bern    3095
//     Bombay  490231
//    New Implicit Result Set:
//     CN
//     CH
//     IN

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #2 Getting child statement handles individually

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
            c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
           OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

$stid_1 = oci_get_implicit_resultset($stid);
$stid_2 = oci_get_implicit_resultset($stid);

$row = oci_fetch_array($stid_1, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);
$row = oci_fetch_array($stid_2, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);
$row = oci_fetch_array($stid_1, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);
$row = oci_fetch_array($stid_2, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);

// Output is:
//    array(2) {
//      ["CITY"]=>
//      string(7) "Beijing"
//      ["POSTAL_CODE"]=>
//      string(6) "190518"
//    }
//    array(1) {
//      ["COUNTRY_ID"]=>
//      string(2) "CN"
//    }
//    array(2) {
//      ["CITY"]=>
//      string(4) "Bern"
//      ["POSTAL_CODE"]=>
//      string(4) "3095"
//    }
//    array(1) {
//      ["COUNTRY_ID"]=>
//      string(2) "CH"
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #3 Explicitly setting the Prefetch Count

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
            c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

$stid_c = oci_get_implicit_resultset($stid);
oci_set_prefetch($stid_c, 200);   // Set the prefetch before fetching from the child statement
echo "<table>\n";
while (($row = oci_fetch_array($stid_c, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "  <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"&nbsp;")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #4 Implicit Result Set example without using oci_get_implicit_resultset()

All results from all queries are returned consecutively.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
            c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
           OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

// Note: oci_fetch_all and oci_fetch() cannot be used in this manner
echo "<table>\n";
while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "  <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"&nbsp;")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

// Output is:
//    Beijing 190518
//    Bern 3095
//    Bombay 490231
//    CN
//    CH
//    IN

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

Para queries retornado um grande número de linhas a performance pode ser melhorada significantemente aumentando-se oci8.default_prefetch ou utilizando oci_set_prefetch().


Copies large object

  • « oci_get_implicit_resultset
  • oci_lob_is_equal »
  • PHP Manual
  • Funções OCI8
  • Copies large object

oci_lob_copy

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_lob_copy — Copies large object

Descrição

oci_lob_copy ( OCILob $lob_to , OCILob $lob_from , int $length = 0 ) : bool

Copies a large object or a part of a large object to another large object. Old LOB-recipient data will be overwritten.

If you need to copy a particular part of a LOB to a particular position of a LOB, use OCILob::seek() to move LOB internal pointers.

Parâmetros

lob_to

The destination LOB.

lob_from

The copied LOB.

length

Indicates the length of data to be copied.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

The OCILob class was called OCI-Lob prior to PHP 8 and PECL OCI8 3.0.0.


Compares two LOB/FILE locators for equality

  • « oci_lob_copy
  • oci_new_collection »
  • PHP Manual
  • Funções OCI8
  • Compares two LOB/FILE locators for equality

oci_lob_is_equal

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_lob_is_equal — Compares two LOB/FILE locators for equality

Descrição

oci_lob_is_equal ( OCI-Lob $lob1 , OCI-Lob $lob2 ) : bool

Compares two LOB/FILE locators.

Parâmetros

lob1

A LOB identifier.

lob2

A LOB identifier.

Valor Retornado

Returns true if these objects are equal, false otherwise.

Notas

Nota:

The OCILob class was called OCI-Lob prior to PHP 8 and PECL OCI8 3.0.0.


Allocates new collection object

  • « oci_lob_is_equal
  • oci_new_connect »
  • PHP Manual
  • Funções OCI8
  • Allocates new collection object

oci_new_collection

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_new_collection — Allocates new collection object

Descrição

oci_new_collection ( resource $connection , string $tdo , string $schema = null ) : OCICollection

Allocates a new collection object.

Parâmetros

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

tdo

Should be a valid named type (uppercase).

schema

Should point to the scheme, where the named type was created. The name of the current user is the default value.

Valor Retornado

Returns a new OCICollection object or false on error.

Notas

Nota:

The OCICollection class was called OCI-Collection prior to PHP 8 and OCI8 3.0.0.

Nota:

In PHP versions before 5.0.0 you must use ocinewcollection() instead. This name still can be used, it was left as alias of oci_new_collection() for downwards compatability. This, however, is deprecated and not recommended.


Connect to the Oracle server using a unique connection

  • « oci_new_collection
  • oci_new_cursor »
  • PHP Manual
  • Funções OCI8
  • Connect to the Oracle server using a unique connection

oci_new_connect

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_new_connect — Connect to the Oracle server using a unique connection

Descrição

oci_new_connect ( string $username , string $password , string $connection_string = ? , string $character_set = ? , int $session_mode = ? ) : resource

Establishes a new connection to an Oracle server and logs on.

Unlike oci_connect() and oci_pconnect(), oci_new_connect() does not cache connections and will always return a brand-new freshly opened connection handle. This is useful if your application needs transactional isolation between two sets of queries.

Parâmetros

username

The Oracle user name.

password

The password for username.

connection_string

Contém uma Oracle instance a conectar. Isso pode ser uma » Easy Connect string ou num Connect Name de um arquivo tnsnames.ora, ou ainda o nome de uma instância local Oracle.

Se não especificado o PHP utilizará variáveis de ambiente como TWO_TASK (no Linux) ou LOCAL (no Windows) e ORACLE_SID para determinar a Oracle instance a conectar.

Para utilizar o método via Easy Connect, o PHP precisa ter sido compilado com as bibliotecas cliente Oracle 10g ou maiores. Uma string Easy Connect para o Oracle 10g tem a forma: [//]host_name[:port][/service_name]. Do Oracle 11g a sintaxe é: [//]host_name[:port][/service_name][:server_type][/instance_name]. Nomes de serviço podem ser encontrados ao rodar o utilitário Oracle lsnrctl status na máquina servidora do banco de dados.

O arquivo tnsnames.ora pode estar em um Oracle Net search path, que inclui $ORACLE_HOME/network/admin e /etc. Alternativamente é possível configurarTNS_ADMIN de forma que $TNS_ADMIN/tnsnames.ora seja encontrado. Tenha certeza que o servidor web tem acesso de escrita nesse arquivo.

character_set

Determina o conjunto de caracteres utilizado pelas bibliotecas Oracle Client. O conjunto de caracteres não precisa bater com o utilizado pelo banco de dados. Se eles não baterem, o Oracle fará a melhor conversão possível dos dados de e para o conjunto de caracteres do banco de dados. Dependendo dos charsets isso pode ocasionar dados não utilizáveis. Conversão também aumenta o processamento.

Se não especificado, as bibliotecas Oracle Client determinam o charset da variável de ambiente NLS_LANG.

Passar esse parâmetro pode reduzir o tempo necessário a conexão.

session_mode

Este parâmetro está disponível desde o PHP 5 (PECL OCI8 1.1) e aceita os seguintes valores: OCI_DEFAULT, OCI_SYSOPER e OCI_SYSDBA. Caso esteja especificado OCI_SYSOPER ou OCI_SYSDBA, esta função tentará estabelecer uma conexão privilegiada utilizando credenciais externas. Conexões privilegiadas estão desativadas por padrão. Para ativá-las é preciso configurar oci8.privileged_connect para On.

O PHP 5.3 (PECL OCI8 1.3.4) introduziu o valor OCI_CRED_EXT. Isso informa o Oracle para utilizar autenticação External ou OS, que precisa ser configurado no banco de dados. A flag OCI_CRED_EXT somente pode ser utilizado com o usuário "/" e uma senha em branco. oci8.privileged_connect pode estar On ou Off.

OCI_CRED_EXT pode ser combinado com OCI_SYSOPER ou OCI_SYSDBA.

OCI_CRED_EXT não é suportado no Windows por razões de segurança.

Valor Retornado

Returns a connection identifier or false on error.

Exemplos

The following demonstrates how you can separate connections.

Exemplo #1 oci_new_connect() example

<?php

// create table mytab (mycol number);

function query($name, $c)
{
    echo "Querying $name\n";
    $s = oci_parse($c, "select * from mytab");
    oci_execute($s, OCI_NO_AUTO_COMMIT);
    $row = oci_fetch_array($s, OCI_ASSOC);
    if (!$row) {
        echo "No rows\n";
    } else {
        do {
            foreach ($row as $item)
                echo $item . " ";
            echo "\n";
        } while (($row = oci_fetch_array($s, OCI_ASSOC)) != false);
    }
}

$c1 = oci_connect("hr", "welcome", "localhost/orcl");
$c2 = oci_new_connect("hr", "welcome", "localhost/orcl");

$s = oci_parse($c1, "insert into mytab values(1234)");
oci_execute($s, OCI_NO_AUTO_COMMIT);

query("basic connection", $c1);
query("new connection", $c2);
oci_commit($c1);
query("new connection after commit", $c2);

// Output is:
//   Querying basic connection
//   1234
//   Querying new connection
//   No rows
//   Querying new connection after commit
//   1234

?>

See oci_connect() for further examples of parameter usage.

Veja Também

  • oci_connect() - Connect to an Oracle database
  • oci_pconnect() - Connect to an Oracle database using a persistent connection


Allocates and returns a new cursor (statement handle)

  • « oci_new_connect
  • oci_new_descriptor »
  • PHP Manual
  • Funções OCI8
  • Allocates and returns a new cursor (statement handle)

oci_new_cursor

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_new_cursor — Allocates and returns a new cursor (statement handle)

Descrição

oci_new_cursor ( resource $connection ) : resource

Allocates a new statement handle on the specified connection.

Parâmetros

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

Valor Retornado

Returns a new statement handle, or false on error.

Exemplos

Exemplo #1 Binding a REF CURSOR in an Oracle stored procedure call

<?php

// Precreate:
//   create or replace procedure myproc(myrc out sys_refcursor) as
//   begin
//     open myrc for select first_name from employees;
//   end;

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$curs = oci_new_cursor($conn);
$stid = oci_parse($conn, "begin myproc(:cursbv); end;");
oci_bind_by_name($stid, ":cursbv", $curs, -1, OCI_B_CURSOR);
oci_execute($stid);

oci_execute($curs);  // Execute the REF CURSOR like a normal statement id
while (($row = oci_fetch_array($curs, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    echo $row['FIRST_NAME'] . "<br />\n";
}

oci_free_statement($stid);
oci_free_statement($curs);
oci_close($conn);

?>

Notas

Nota:

In PHP versions before 5.0.0 you must use ocinewcursor() instead. This name still can be used, it was left as alias of oci_new_cursor() for downwards compatability. This, however, is deprecated and not recommended.


Initializes a new empty LOB or FILE descriptor

  • « oci_new_cursor
  • oci_num_fields »
  • PHP Manual
  • Funções OCI8
  • Initializes a new empty LOB or FILE descriptor

oci_new_descriptor

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_new_descriptor — Initializes a new empty LOB or FILE descriptor

Descrição

oci_new_descriptor ( resource $connection , int $type = OCI_DTYPE_LOB ) : OCI-Lob

Allocates resources to hold descriptor or LOB locator.

Parâmetros

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

type

Valid values for type are: OCI_DTYPE_FILE, OCI_DTYPE_LOB and OCI_DTYPE_ROWID.

Valor Retornado

Returns a new LOB or FILE descriptor on success, false on error.

Exemplos

Exemplo #1 oci_new_descriptor() example

<?php
/* This script is designed to be called from a HTML form.
 * It expects $user, $password, $table, $where, and $commitsize
 * to be passed in from the form.  The script then deletes
 * the selected rows using the ROWID and commits after each
 * set of $commitsize rows. (Use with care, there is no rollback)
 */
$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "select rowid from $table $where");
$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_define_by_name($stmt, "ROWID", $rowid);
oci_execute($stmt);
while (oci_fetch($stmt)) {
    $nrows = oci_num_rows($stmt);
    $delete = oci_parse($conn, "delete from $table where ROWID = :rid");
    oci_bind_by_name($delete, ":rid", $rowid, -1, OCI_B_ROWID);
    oci_execute($delete);
    echo "$nrows\n";
    if (($nrows % $commitsize) == 0) {
        oci_commit($conn);
    }
}
$nrows = oci_num_rows($stmt);
echo "$nrows deleted...\n";
oci_free_statement($stmt);
oci_close($conn);
?>
<?php
    /* This script demonstrates file upload to LOB columns
     * The formfield used for this example looks like this
     * <form action="upload.php" method="post" enctype="multipart/form-data">
     * <input type="file" name="lob_upload" />
     * ...
     */
  if (!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
Upload file: <input type="file" name="lob_upload" /><br />
<input type="submit" value="Upload" /> - <input type="reset" value="Reset" />
</form>
<?php
  } else {

     // $lob_upload contains the temporary filename of the uploaded file

     // see also the features section on file upload,
     // if you would like to use secure uploads

     $conn = oci_connect($user, $password);
     $lob = oci_new_descriptor($conn, OCI_D_LOB);
     $stmt = oci_parse($conn, "insert into $table (id, the_blob)
               values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob");
     oci_bind_by_name($stmt, ':the_blob', $lob, -1, OCI_B_BLOB);
     oci_execute($stmt, OCI_DEFAULT);
     if ($lob->savefile($lob_upload)){
        oci_commit($conn);
        echo "Blob successfully uploaded\n";
     }else{
        echo "Couldn't upload Blob\n";
     }
     $lob->free();
     oci_free_statement($stmt);
     oci_close($conn);
  }
?>

Exemplo #2 oci_new_descriptor() example

<?php
/* Calling PL/SQL stored procedures which contain clobs as input
 * parameters.
 * Example PL/SQL stored procedure signature is:
 *
 * PROCEDURE save_data
 *   Argument Name                  Type                    In/Out Default?
 *   ------------------------------ ----------------------- ------ --------
 *   KEY                            NUMBER(38)              IN
 *   DATA                           CLOB                    IN
 *
 */

$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "begin save_data(:key, :data); end;");
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stmt, ':key', $key);
oci_bind_by_name($stmt, ':data', $clob, -1, OCI_B_CLOB);
$clob->write($data);
oci_execute($stmt, OCI_DEFAULT);
oci_commit($conn);
$clob->free();
oci_free_statement($stmt);
?>

Notas

Nota:

In PHP versions before 5.0.0 you must use ocinewdescriptor() instead. This name still can be used, it was left as alias of oci_new_descriptor() for downwards compatability. This, however, is deprecated and not recommended.

Veja Também

  • oci_bind_by_name() - Binds a PHP variable to an Oracle placeholder


Returns the number of result columns in a statement

  • « oci_new_descriptor
  • oci_num_rows »
  • PHP Manual
  • Funções OCI8
  • Returns the number of result columns in a statement

oci_num_fields

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_num_fields — Returns the number of result columns in a statement

Descrição

oci_num_fields ( resource $statement ) : int

Gets the number of columns in the given statement.

Parâmetros

statement

A valid OCI statement identifier.

Valor Retornado

Returns the number of columns as an integer, or false on errors.

Exemplos

Exemplo #1 oci_num_fields() example

<?php

// Create the table with:
//   CREATE TABLE mytab (id NUMBER, quantity NUMBER);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; $i++) {
    echo oci_field_name($stid, $i) . " " . oci_field_type($stid, $i) . "<br>\n";
}

// Outputs:
//    ID NUMBER
//    QUANTITY NUMBER

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

In PHP versions before 5.0.0 you must use ocinumcols() instead. This name still can be used, it was left as alias of oci_num_fields() for downwards compatability. This, however, is deprecated and not recommended.


Returns number of rows affected during statement execution

  • « oci_num_fields
  • oci_parse »
  • PHP Manual
  • Funções OCI8
  • Returns number of rows affected during statement execution

oci_num_rows

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_num_rows — Returns number of rows affected during statement execution

Descrição

oci_num_rows ( resource $statement ) : int

Gets the number of rows affected during statement execution.

Parâmetros

statement

A valid OCI statement identifier.

Valor Retornado

Returns the number of rows affected as an integer, or false on errors.

Exemplos

Exemplo #1 oci_num_rows() example

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "create table emp2 as select * from employees");
oci_execute($stid);
echo oci_num_rows($stid) . " rows inserted.<br />\n";
oci_free_statement($stid);

$stid = oci_parse($conn, "delete from emp2");
oci_execute($stid, OCI_DEFAULT);
echo oci_num_rows($stid) . " rows deleted.<br />\n";
oci_commit($conn);
oci_free_statement($stid);

$stid = oci_parse($conn, "drop table emp2");
oci_execute($stid);
oci_free_statement($stid);

oci_close($conn);

?>

Notas

Nota:

This function does not return number of rows selected! For SELECT statements this function will return the number of rows, that were fetched to the buffer with oci_fetch*() functions.

Nota:

In PHP versions before 5.0.0 you must use ocirowcount() instead. This name still can be used, it was left as alias of oci_num_rows() for downwards compatability. This, however, is deprecated and not recommended.


Prepares an Oracle statement for execution

  • « oci_num_rows
  • oci_password_change »
  • PHP Manual
  • Funções OCI8
  • Prepares an Oracle statement for execution

oci_parse

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_parse — Prepares an Oracle statement for execution

Descrição

oci_parse ( resource $connection , string $sql_text ) : resource

Prepares sql_text using connection and returns the statement identifier, which can be used with oci_bind_by_name(), oci_execute() and other functions.

Statement identifiers can be freed with oci_free_statement() or by setting the variable to null.

Parâmetros

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect(), or oci_new_connect().

sql_text

The SQL or PL/SQL statement.

SQL statements should not end with a semi-colon (";"). PL/SQL statements should end with a semi-colon (";").

Valor Retornado

Returns a statement handle on success, or false on error.

Exemplos

Exemplo #1 oci_parse() example for SQL statements

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

// Parse the statement. Note there is no final semi-colon in the SQL statement
$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Exemplo #2 oci_parse() example for PL/SQL statements

<?php

/*
  Before running the PHP program, create a stored procedure in
  SQL*Plus or SQL Developer:

  CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
  BEGIN
      p2 := p1 * 2;
  END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p1 = 8;

// When parsing PL/SQL programs, there should be a final semi-colon in the string
$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n";   // prints 16

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

This function does not validate sql_text. The only way to find out if sql_text is a valid SQL or PL/SQL statement is to execute it.

Veja Também

  • oci_execute() - Executes a statement
  • oci_free_statement() - Frees all resources associated with statement or cursor


Changes password of Oracle's user

  • « oci_parse
  • oci_pconnect »
  • PHP Manual
  • Funções OCI8
  • Changes password of Oracle's user

oci_password_change

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_password_change — Changes password of Oracle's user

Descrição

oci_password_change ( resource $connection , string $username , string $old_password , string $new_password ) : bool
oci_password_change ( string $dbname , string $username , string $old_password , string $new_password ) : resource

Changes password for user with username.

The oci_password_change() function is most useful for PHP command-line scripts, or when non-persistent connections are used throughout the PHP application.

Parâmetros

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

username

The Oracle user name.

old_password

The old password.

new_password

The new password to be set.

dbname

The database name.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 oci_password_change() example changing the password of an already connected user

<?php

$dbase      = 'localhost/orcl';
$user       = 'cj';
$current_pw = 'welcome';
$new_pw     = 'geelong';

$c = oci_pconnect($user, $current_pw, $dbase);
oci_password_change($c, $user, $current_pw, $new_pw);
echo "New password is : " . $new_pw . "\n";

?>

Exemplo #2 oci_password_change() example of connecting and changing the password in one step

<?php

$dbase      = 'localhost/orcl';
$user       = 'cj';
$current_pw = 'welcome';
$new_pw     = 'geelong';

$c = oci_pconnect($user, $current_pw, $dbase);
if (!$c) {
    $m = oci_error();
    if ($m['code'] == 28001) { // "ORA-28001: the password has expired"
        // Login and reset password at the same time
        $c = oci_password_change($dbase, $user, $current_pw, $new_pw);
        if ($c) {
            echo "New password is : " . $new_pw . "\n";
        }
    }
}

if (!$c) {  // The original error wasn't 28001, or the password change failed
    $m = oci_error();
    trigger_error('Could not connect to database: '. $m['message'], E_USER_ERROR);
}

// Use the connection $c
...

?>

Notas

Nota:

Changing the password either with this function or directly in Oracle should be done carefully. This is because PHP applications may continue to successfully reuse persistent connections by authenticating with the old password. The best practice is to restart all web servers whenever the user password is changed.

Nota:

If upgrading the Oracle client libraries or the database from a release prior to 11.2.0.3 to version 11.2.0.3 or higher, oci_password_change() may give the error "ORA-1017: invalid username/password" unless both client and server versions are upgraded at the same time.

Nota:

The second oci_password_change() syntax is available since OCI8 version 1.1.

Nota:

In PHP versions before 5.0.0 you must use ocipasswordchange() instead. This name still can be used, it was left as alias of oci_password_change() for downwards compatability. This, however, is deprecated and not recommended.


Connect to an Oracle database using a persistent connection

  • « oci_password_change
  • oci_register_taf_callback »
  • PHP Manual
  • Funções OCI8
  • Connect to an Oracle database using a persistent connection

oci_pconnect

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_pconnect — Connect to an Oracle database using a persistent connection

Descrição

oci_pconnect ( string $username , string $password , string $connection_string = ? , string $character_set = ? , int $session_mode = ? ) : resource

Creates a persistent connection to an Oracle server and logs on.

Persistent connections are cached and re-used between requests, resulting in reduced overhead on each page load; a typical PHP application will have a single persistent connection open against an Oracle server per Apache child process (or PHP FPM process). See the OCI8 Connection Handling and Connection Pooling section for more information.

Parâmetros

username

The Oracle user name.

password

The password for username.

connection_string

Contém uma Oracle instance a conectar. Isso pode ser uma » Easy Connect string ou num Connect Name de um arquivo tnsnames.ora, ou ainda o nome de uma instância local Oracle.

Se não especificado o PHP utilizará variáveis de ambiente como TWO_TASK (no Linux) ou LOCAL (no Windows) e ORACLE_SID para determinar a Oracle instance a conectar.

Para utilizar o método via Easy Connect, o PHP precisa ter sido compilado com as bibliotecas cliente Oracle 10g ou maiores. Uma string Easy Connect para o Oracle 10g tem a forma: [//]host_name[:port][/service_name]. Do Oracle 11g a sintaxe é: [//]host_name[:port][/service_name][:server_type][/instance_name]. Nomes de serviço podem ser encontrados ao rodar o utilitário Oracle lsnrctl status na máquina servidora do banco de dados.

O arquivo tnsnames.ora pode estar em um Oracle Net search path, que inclui $ORACLE_HOME/network/admin e /etc. Alternativamente é possível configurarTNS_ADMIN de forma que $TNS_ADMIN/tnsnames.ora seja encontrado. Tenha certeza que o servidor web tem acesso de escrita nesse arquivo.

character_set

Determina o conjunto de caracteres utilizado pelas bibliotecas Oracle Client. O conjunto de caracteres não precisa bater com o utilizado pelo banco de dados. Se eles não baterem, o Oracle fará a melhor conversão possível dos dados de e para o conjunto de caracteres do banco de dados. Dependendo dos charsets isso pode ocasionar dados não utilizáveis. Conversão também aumenta o processamento.

Se não especificado, as bibliotecas Oracle Client determinam o charset da variável de ambiente NLS_LANG.

Passar esse parâmetro pode reduzir o tempo necessário a conexão.

session_mode

Este parâmetro está disponível desde o PHP 5 (PECL OCI8 1.1) e aceita os seguintes valores: OCI_DEFAULT, OCI_SYSOPER e OCI_SYSDBA. Caso esteja especificado OCI_SYSOPER ou OCI_SYSDBA, esta função tentará estabelecer uma conexão privilegiada utilizando credenciais externas. Conexões privilegiadas estão desativadas por padrão. Para ativá-las é preciso configurar oci8.privileged_connect para On.

O PHP 5.3 (PECL OCI8 1.3.4) introduziu o valor OCI_CRED_EXT. Isso informa o Oracle para utilizar autenticação External ou OS, que precisa ser configurado no banco de dados. A flag OCI_CRED_EXT somente pode ser utilizado com o usuário "/" e uma senha em branco. oci8.privileged_connect pode estar On ou Off.

OCI_CRED_EXT pode ser combinado com OCI_SYSOPER ou OCI_SYSDBA.

OCI_CRED_EXT não é suportado no Windows por razões de segurança.

Valor Retornado

Returns a connection identifier or false on error.

Exemplos

Exemplo #1 Basic oci_pconnect() Example using Easy Connect syntax

<?php

// Connects to the XE service (i.e. database) on the "localhost" machine
$conn = oci_pconnect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

See oci_connect() for further examples of parameter usage.

Notas

Nota: Starting with PHP 5.1.2 and PECL OCI8 1.1, the lifetime and maximum number of persistent Oracle connections per PHP process can be tuned by setting the following configuration values: oci8.persistent_timeout, oci8.ping_interval and oci8.max_persistent.

Veja Também

  • oci_connect() - Connect to an Oracle database
  • oci_new_connect() - Connect to the Oracle server using a unique connection


Register a user-defined callback function for Oracle Database TAF

  • « oci_pconnect
  • oci_result »
  • PHP Manual
  • Funções OCI8
  • Register a user-defined callback function for Oracle Database TAF

oci_register_taf_callback

(PHP 7.0 >= 7.0.21, PHP 8, PHP 7 >= 7.1.7, PHP 8, PECL OCI8 >= 2.1.7)

oci_register_taf_callback — Register a user-defined callback function for Oracle Database TAF

Descrição

oci_register_taf_callback ( resource $connection , mixed $callbackFn = ? ) : bool

Registers a user-defined callback function to connection. If connection fails due to instance or network failure, the registered callback function will be invoked for several times during failover. See OCI8 Transparent Application Failover (TAF) Support for information.

When oci_register_taf_callback() is called multiple times, each registration overwrites the previous one.

Use oci_unregister_taf_callback() to explicitly unregister a user-defined callback.

TAF callback registration will NOT be saved across persistent connections, therefore the callback needs to be re-registered for a new persistent connection.

Parâmetros

connection

An Oracle connection identifier.

callbackFn

A user-defined callback to register for Oracle TAF. It can be a string of the function name or a Closure (anonymous function).

The interface of a TAF user-defined callback function is as follows:

userCallbackFn ( resource $connection , int $event , int $type ) : int

See the parameter description and an example on OCI8 Transparent Application Failover (TAF) Support page.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • oci_unregister_taf_callback() - Unregister a user-defined callback function for Oracle Database TAF


Returns field's value from the fetched row

  • « oci_register_taf_callback
  • oci_rollback »
  • PHP Manual
  • Funções OCI8
  • Returns field's value from the fetched row

oci_result

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_result — Returns field's value from the fetched row

Descrição

oci_result ( resource $statement , mixed $field ) : mixed

Returns the data from field in the current row, fetched by oci_fetch().

Para detalhes no mapeamento de dados realizado pela extenção OCI8 extension veja tipos suportados pelo driver.

Parâmetros

statement

field

Can be either use the column number (1-based) or the column name. The case of the column name must be the case that Oracle meta data describes the column as, which is uppercase for columns created case insensitively.

Valor Retornado

Returns everything as strings except for abstract types (ROWIDs, LOBs and FILEs). Returns false on error.

Exemplos

Exemplo #1 oci_fetch() with oci_result()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);
oci_execute($stid);

while (oci_fetch($stid)) {
    echo oci_result($stid, 'LOCATION_ID') . " is ";
    echo oci_result($stid, 'CITY') . "<br>\n";
}

// Displays:
//   1000 is Roma
//   1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

In PHP versions before 5.0.0 you must use ociresult() instead. This name still can be used, it was left as alias of oci_result() for downwards compatability. This, however, is deprecated and not recommended.

Veja Também

  • oci_fetch_array() - Returns the next row from a query as an associative or numeric array
  • oci_fetch_assoc() - Returns the next row from a query as an associative array
  • oci_fetch_object() - Returns the next row from a query as an object
  • oci_fetch_row() - Returns the next row from a query as a numeric array
  • oci_fetch_all() - Fetches multiple rows from a query into a two-dimensional array


Rolls back the outstanding database transaction

  • « oci_result
  • oci_server_version »
  • PHP Manual
  • Funções OCI8
  • Rolls back the outstanding database transaction

oci_rollback

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_rollback — Rolls back the outstanding database transaction

Descrição

oci_rollback ( resource $connection ) : bool

Reverts all uncommitted changes for the Oracle connection and ends the transaction. It releases all locks held. All Oracle SAVEPOINTS are erased.

A transaction begins when the first SQL statement that changes data is executed with oci_execute() using the OCI_NO_AUTO_COMMIT flag. Further data changes made by other statements become part of the same transaction. Data changes made in a transaction are temporary until the transaction is committed or rolled back. Other users of the database will not see the changes until they are committed.

When inserting or updating data, using transactions is recommended for relational data consistency and for performance reasons.

Parâmetros

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect() or oci_new_connect().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 oci_rollback() example

<?php

// Insert into several tables, rolling back the changes if an error occurs

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// The OCI_NO_AUTO_COMMIT flag tells Oracle not to commit the INSERT immediately
// Use OCI_DEFAULT as the flag for PHP <= 5.3.1.  The two flags are equivalent
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    oci_rollback($conn);  // rollback changes to both tables
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Commit the changes to both tables
$r = oci_commit($conn);
if (!r) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>

Exemplo #2 Rolling back to a SAVEPOINT example

<?php
$stid = oci_parse($conn, 'UPDATE mytab SET id = 1111');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

// Create the savepoint
$stid = oci_parse($conn, 'SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

$stid = oci_parse($conn, 'UPDATE mytab SET id = 2222');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

// Use an explicit SQL statement to rollback to the savepoint
$stid = oci_parse($conn, 'ROLLBACK TO SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

oci_commit($conn);  // mytab now has id of 1111
?>

Notas

Nota:

Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit() to commit the transaction.

Any call to oci_execute() that uses OCI_COMMIT_ON_SUCCESS mode explicitly or by default will commit any previous uncommitted transaction.

Any Oracle DDL statement such as CREATE or DROP will automatically commit any uncommitted transaction.

Veja Também

  • oci_commit() - Commits the outstanding database transaction
  • oci_execute() - Executes a statement


Returns the Oracle Database version

  • « oci_rollback
  • oci_set_action »
  • PHP Manual
  • Funções OCI8
  • Returns the Oracle Database version

oci_server_version

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_server_version — Returns the Oracle Database version

Descrição

oci_server_version ( resource $connection ) : string

Returns a string with the Oracle Database version and available options

Parâmetros

connection

Valor Retornado

Returns the version information as a string or false on error.

Exemplos

Exemplo #1 oci_server_version() example

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
echo "Server Version: " . oci_server_version($conn);

// Displays:
// Server Version: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
// With the Partitioning, OLAP, Data Mining and Real Application Testing option

oci_close($conn);

?>

Notas

Nota:

In PHP versions before 5.0.0 you must use ociserverversion() instead. This old name still can be used. However it is deprecated and not recommended.

Veja Também

  • oci_client_version() - Returns the Oracle client library version


Sets the action name

  • « oci_server_version
  • oci_set_call_timeout »
  • PHP Manual
  • Funções OCI8
  • Sets the action name

oci_set_action

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_action — Sets the action name

Descrição

oci_set_action ( resource $connection , string $action_name ) : bool

Sets the action name for Oracle tracing.

The action name is registered with the database when the next 'round-trip' from PHP to the database occurs, typically when an SQL statement is executed.

The action name can subsequently be queried from database administration views such as V$SESSION. It can be used for tracing and monitoring such as with V$SQLAREA and DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.

The value may be retained across persistent connections.

Parâmetros

connection

Um indentificador de conexção Oracle, retornado por oci_connect(), oci_pconnect(), ou oci_new_connect().

action_name

User chosen string up to 32 bytes long.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Setting the action

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the action
oci_set_action($c, 'Friend Lookup');

// Code that causes a round-trip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// While the script is running, the administrator can see the actions
// being performed:

sqlplus system/welcome
SQL> select action from v$session;

Notas

Nota: Versão Oracle mínima

Esta função somente está disponível no PHP linkado com Oracle a partir da versão 10g em diante.

Dica

Performance

Com versões anteriores do OCI8 ou do Oracle Database, as informações do cliente podem ser configurados utilizando o pacote Oracle DBMS_APPLICATION_INFO. Isto é menos eficiente que utilizar oci_set_client_info().

Cuidado

Roundtrip Gotcha

Algumas funções OCI8 causam roundtrips. Roundtrips para o banco podem não ocorrer quando cache de resultados está ativado.

Veja Também

  • oci_set_module_name() - Sets the module name
  • oci_set_client_info() - Sets the client information
  • oci_set_client_identifier() - Sets the client identifier
  • oci_set_db_operation() - Sets the database operation


Sets a millisecond timeout for database calls

  • « oci_set_action
  • oci_set_client_identifier »
  • PHP Manual
  • Funções OCI8
  • Sets a millisecond timeout for database calls

oci_set_call_timeout

(PHP 7.2 >= 7.2.14, PHP 8, PHP 7 >= 7.3.1, PHP 8, PECL OCI8 >= 2.2.0)

oci_set_call_timeout — Sets a millisecond timeout for database calls

Descrição

oci_set_call_timeout ( resource $connection , int $time_out ) : bool

Sets a timeout limiting the maxium time a database round-trip using this connection may take.

Each OCI8 operation may make zero or more calls to Oracle's client library. These internal calls may then may make zero or more round-trips to Oracle Database. If any one of those round-trips takes more than time_out milliseconds, then the operation is cancelled and an error is returned to the application.

The time_out value applies to each round-trip individually, not to the sum of all round-trips. Time spent processing in PHP OCI8 before or after the completion of each round-trip is not counted.

When a call is interrupted, Oracle will attempt to clean up the connection for reuse. This operation is allowed to run for another time_out period. Depending on the outcome of the cleanup, the connection may or may not be reusable.

When persistent connections are used, the timeout value will be retained across PHP requests.

The oci_set_call_timeout() function is available when OCI8 uses Oracle 18 (or later) Client libraries.

Parâmetros

connection

Um indentificador de conexção Oracle, retornado por oci_connect(), oci_pconnect(), ou oci_new_connect().

time_out

The maximum time in milliseconds that any single round-trip between PHP and Oracle Database may take.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Setting the timeout

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
oci_set_call_timeout($conn, 5000);

?>


Sets the client identifier

  • « oci_set_call_timeout
  • oci_set_client_info »
  • PHP Manual
  • Funções OCI8
  • Sets the client identifier

oci_set_client_identifier

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_client_identifier — Sets the client identifier

Descrição

oci_set_client_identifier ( resource $connection , string $client_identifier ) : bool

Sets the client identifier used by various database components to identify lightweight application users who authenticate as the same database user.

The client identifier is registered with the database when the next 'round-trip' from PHP to the database occurs, typically when an SQL statement is executed.

The identifier can subsequently be queried, for example with SELECT SYS_CONTEXT('USERENV','CLIENT_IDENTIFIER') FROM DUAL. Database administration views such as V$SESSION will also contain the value. It can be used with DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE for tracing and can also be used for auditing.

The value may be retained across page requests that use the same persistent connection.

Parâmetros

connection

Um indentificador de conexção Oracle, retornado por oci_connect(), oci_pconnect(), ou oci_new_connect().

client_identifier

User chosen string up to 64 bytes long.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Setting the client identifier to the application user

<?php

// Find the application user's login name
session_start();
$un = my_validate_session($_SESSION['username']);
$c = oci_connect('myschema', 'welcome', 'localhost/XE');

// Tell Oracle who that user is
oci_set_client_identifier($c, $un);

// The next round-trip to the database will piggyback the identifier
$s = oci_parse($c, 'select mydata from mytable');
oci_execute($s);

// ...

?>

Notas

Cuidado

Roundtrip Gotcha

Algumas funções OCI8 causam roundtrips. Roundtrips para o banco podem não ocorrer quando cache de resultados está ativado.

Veja Também

  • oci_set_module_name() - Sets the module name
  • oci_set_action() - Sets the action name
  • oci_set_client_info() - Sets the client information
  • oci_set_db_operation() - Sets the database operation


Sets the client information

  • « oci_set_client_identifier
  • oci_set_db_operation »
  • PHP Manual
  • Funções OCI8
  • Sets the client information

oci_set_client_info

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_client_info — Sets the client information

Descrição

oci_set_client_info ( resource $connection , string $client_info ) : bool

Sets the client information for Oracle tracing.

The client information is registered with the database when the next 'round-trip' from PHP to the database occurs, typically when an SQL statement is executed.

The client information can subsequently be queried from database administration views such as V$SESSION.

The value may be retained across persistent connections.

Parâmetros

connection

Um indentificador de conexção Oracle, retornado por oci_connect(), oci_pconnect(), ou oci_new_connect().

client_info

User chosen string up to 64 bytes long.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Setting the client information

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the client information
oci_set_client_info($c, 'My Application Version 2');

// Code that causes a round-trip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// While the script is running, the administrator can see the client
// information:

sqlplus system/welcome
SQL> select client_info from v$session;

Notas

Nota: Versão Oracle mínima

Esta função somente está disponível no PHP linkado com Oracle a partir da versão 10g em diante.

Dica

Performance

Com versões anteriores do OCI8 ou do Oracle Database, as informações do cliente podem ser configurados utilizando o pacote Oracle DBMS_APPLICATION_INFO. Isto é menos eficiente que utilizar oci_set_client_info().

Cuidado

Roundtrip Gotcha

Algumas funções OCI8 causam roundtrips. Roundtrips para o banco podem não ocorrer quando cache de resultados está ativado.

Veja Também

  • oci_set_module_name() - Sets the module name
  • oci_set_action() - Sets the action name
  • oci_set_client_identifier() - Sets the client identifier
  • oci_set_db_operation() - Sets the database operation


Sets the database operation

  • « oci_set_client_info
  • oci_set_edition »
  • PHP Manual
  • Funções OCI8
  • Sets the database operation

oci_set_db_operation

(PHP 7 >= 7.2.14, PHP 8, PHP 7 >= 7.3.1, PHP 8, PECL OCI8 >= 2.2.0)

oci_set_db_operation — Sets the database operation

Descrição

oci_set_db_operation ( resource $connection , string $dbop ) : bool

Sets the DBOP for Oracle tracing.

The database operation name is registered with the database when the next 'round-trip' from PHP to the database occurs, typically when a SQL statement is executed.

The database operation can subsequently be queried from database administration views such as V$SQL_MONITOR.

The oci_set_db_operation() function is available when OCI8 uses Oracle 12 (or later) Client libraries and Oracle Database 12 (or later).

Parâmetros

connection

Um indentificador de conexção Oracle, retornado por oci_connect(), oci_pconnect(), ou oci_new_connect().

dbop

User chosen string.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Setting the DBOP

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the operation
oci_set_db_operation($c, 'main query');

// Code that causes a round-trip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// While the script is running, the administrator can see the database operations
// being performed:

sqlplus system/welcome
SQL> select dbop_name from v$sql_monitor;

Notas

Cuidado

Roundtrip Gotcha

Algumas funções OCI8 causam roundtrips. Roundtrips para o banco podem não ocorrer quando cache de resultados está ativado.

Veja Também

  • oci_set_action() - Sets the action name
  • oci_set_module_name() - Sets the module name
  • oci_set_client_info() - Sets the client information
  • oci_set_client_identifier() - Sets the client identifier


Sets the database edition

  • « oci_set_db_operation
  • oci_set_module_name »
  • PHP Manual
  • Funções OCI8
  • Sets the database edition

oci_set_edition

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_edition — Sets the database edition

Descrição

oci_set_edition ( string $edition ) : bool

Sets the database "edition" of objects to be used by a subsequent connections.

Oracle Editions allow concurrent versions of applications to run using the same schema and object names. This is useful for upgrading live systems.

Call oci_set_edition() before calling
oci_connect(), oci_pconnect()
or oci_new_connect().

If an edition is set that is not valid in the database, connection will fail even if oci_set_edition() returns success.

When using persistent connections, if a connection with the requested edition setting already exists, it is reused. Otherwise, a different persistent connection is created

Parâmetros

edition

Oracle Database edition name previously created with the SQL "CREATE EDITION" command.

Notas

Nota: Oracle version requirement

This function is available from Oracle 11gR2 onwards.

Cuidado

Persistent connections

To avoid inconsistencies and unexpected errors, do not use ALTER SESSION SET EDITION to change the edition on persistent connections.

Cuidado

DRCP Connection Pooling

To avoid inconsistencies and unexpected errors when using editions and DRCP with Oracle 11.2.0.1, keep a one-to-one correspondence between the oci8.connection_class and the edition name used by applications. Each pooled server of a given connection class should only be used with one edition. This restriction has been removed with Oracle 11.2.0.2.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Two scripts can use different versions of myfunc() at the same time

<?php

// File 1

echo "Version 1 of application\n";

oci_set_edition('ORA$BASE');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "The result is $r\n";

?>
<?php

// File 2

echo "Version 2 of application\n";

oci_set_edition('E1');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "The result is $r\n";

?>


Sets the module name

  • « oci_set_edition
  • oci_set_prefetch »
  • PHP Manual
  • Funções OCI8
  • Sets the module name

oci_set_module_name

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_module_name — Sets the module name

Descrição

oci_set_module_name ( resource $connection , string $module_name ) : bool

Sets the module name for Oracle tracing.

The module name is registered with the database when the next 'round-trip' from PHP to the database occurs, typically when an SQL statement is executed.

The name can subsequently be queried from database administration views such as V$SESSION. It can be used for tracing and monitoring such as with V$SQLAREA and DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.

The value may be retained across persistent connections.

Parâmetros

connection

Um indentificador de conexção Oracle, retornado por oci_connect(), oci_pconnect(), ou oci_new_connect().

module_name

User chosen string up to 48 bytes long.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota: Versão Oracle mínima

Esta função somente está disponível no PHP linkado com Oracle a partir da versão 10g em diante.

Dica

Performance

Com versões anteriores do OCI8 ou do Oracle Database, as informações do cliente podem ser configurados utilizando o pacote Oracle DBMS_APPLICATION_INFO. Isto é menos eficiente que utilizar oci_set_client_info().

Cuidado

Roundtrip Gotcha

Algumas funções OCI8 causam roundtrips. Roundtrips para o banco podem não ocorrer quando cache de resultados está ativado.

Exemplos

Exemplo #1 Setting the module name

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the module
oci_set_module_name($c, 'Home Page');

// Code that causes a round-trip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);
?>
// While the script is running, the administrator can see the
// modules in use:

sqlplus system/welcome
SQL> select module from v$session;

Veja Também

  • oci_set_action() - Sets the action name
  • oci_set_client_info() - Sets the client information
  • oci_set_client_identifier() - Sets the client identifier
  • oci_set_db_operation() - Sets the database operation


Sets number of rows to be prefetched by queries

  • « oci_set_module_name
  • oci_statement_type »
  • PHP Manual
  • Funções OCI8
  • Sets number of rows to be prefetched by queries

oci_set_prefetch

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_set_prefetch — Sets number of rows to be prefetched by queries

Descrição

oci_set_prefetch ( resource $statement , int $rows ) : bool

Sets the number of rows to be buffered by the Oracle Client libraries after a successful query call to oci_execute() and for each subsequent internal fetch request to the database. For queries returning a large number of rows, performance can be significantly improved by increasing the prefetch count above the default oci8.default_prefetch value.

Prefetching is Oracle's efficient way of returning more than one data row from the database in each network request. This can result in better network and CPU utilization. The buffering of rows is internal to OCI8 and the behavior of OCI8 fetching functions is unchanged regardless of the prefetch count. For example, oci_fetch_row() will always return one row. The prefetch buffer is per-statement and is not used by re-executed statements or by other connections.

Call oci_set_prefetch() before calling oci_execute().

A tuning goal is to set the prefetch value to a reasonable size for the network and database to handle. For queries returning a very large number of rows, overall system efficiency might be better if rows are retrieved from the database in several chunks (i.e set the prefetch value smaller than the number of rows). This allows the database to handle other users' statements while the PHP script is processing the current set of rows.

Query prefetching was introduced in Oracle 8i. REF CURSOR prefetching was introduced in Oracle 11gR2 and occurs when PHP is linked with Oracle 11gR2 (or later) Client libraries. Nested cursor prefetching was introduced in Oracle 11gR2 and requires both the Oracle Client libraries and the database to be version 11gR2 or greater.

Prefetching is not supported when queries contain LONG or LOB columns. The prefetch value is ignored and single-row fetches will be used in all the situations when prefetching is not supported.

When using Oracle Database 12c, the prefetch value set by PHP can be overridden by Oracle's client oraaccess.xml configuration file. Refer to Oracle documentation for more detail.

Parâmetros

statement

Uma identificação de instrução OCI8 válida, criada poroci_parse() e executada por oci_execute(), ou ainda um identificador de REF CURSOR.

rows

The number of rows to be prefetched, >= 0

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
PECL OCI8 1.4 | Before this release, rows must be >= 1.
PECL OCI8 1.3.4 | Before this release, prefetching was limited to the lesser of rows rows and 1024 * rows bytes. The byte size restriction has now been removed.

Exemplos

Exemplo #1 Changing the default prefetch value for a query

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM myverybigtable');
oci_set_prefetch($stid, 300);  // Set before calling oci_execute()
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Exemplo #2 Changing the default prefetch for a REF CURSOR fetch

<?php
/*
  Create the PL/SQL stored procedure as:

  CREATE OR REPLACE PROCEDURE myproc(p1 OUT SYS_REFCURSOR) AS
  BEGIN
    OPEN p1 FOR SELECT * FROM all_objects WHERE ROWNUM < 5000;
  END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'BEGIN myproc(:rc); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Change the prefetch before executing the cursor.
// REF CURSOR prefetching works when PHP is linked with Oracle 11gR2 or later Client libraries
oci_set_prefetch($refcur, 200);
oci_execute($refcur);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($refcur, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($refcur);
oci_free_statement($stid);
oci_close($conn);

?>

If PHP OCI8 fetches from a REF CURSOR and then passes the REF CURSOR back to a second PL/SQL procedure for further processing, then set the REF CURSOR prefetch count to 0 to avoid rows being "lost" from the result set. The prefetch value is the number of extra rows fetched in each OCI8 internal request to the database, so setting it to 0 means only fetch one row at a time.

Exemplo #3 Setting the prefetch value when passing a REF CURSOR back to Oracle

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/orcl');

// get the REF CURSOR
$stid = oci_parse($conn, 'BEGIN myproc(:rc_out); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc_out', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Display two rows, but don't prefetch any extra rows otherwise
// those extra rows would not be passed back to myproc_use_rc().
// A prefetch value of 0 is allowed in PHP 5.3.2 and PECL OCI8 1.4
oci_set_prefetch($refcur, 0);
oci_execute($refcur);
$row = oci_fetch_array($refcur);
var_dump($row);
$row = oci_fetch_array($refcur);
var_dump($row);

// pass the REF CURSOR to myproc_use_rc() to do more data processing
// with the result set
$stid = oci_parse($conn, 'begin myproc_use_rc(:rc_in); end;');
oci_bind_by_name($stid, ':rc_in', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

?>

Veja Também

  • oci8.default_prefetch ini option


Returns the type of a statement

  • « oci_set_prefetch
  • oci_unregister_taf_callback »
  • PHP Manual
  • Funções OCI8
  • Returns the type of a statement

oci_statement_type

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_statement_type — Returns the type of a statement

Descrição

oci_statement_type ( resource $statement ) : string

Returns a keyword identifying the type of the OCI8 statement.

Parâmetros

statement

A valid OCI8 statement identifier from oci_parse().

Valor Retornado

Returns the type of statement as one of the following strings.

Statement type
Return String | Notes
ALTER |
BEGIN |
CALL | Introduced in PHP 5.2.1 (PECL OCI8 1.2.3)
CREATE |
DECLARE |
DELETE |
DROP |
INSERT |
SELECT |
UPDATE |
UNKNOWN |

Returns false on error.

Exemplos

Exemplo #1 oci_statement_type() example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'DELETE FROM departments WHERE department_id = 130;');
if (oci_statement_type($stid) == "DELETE") {
    trigger_error('You are not allowed to delete from this table', E_USER_ERROR);
}
else {
    oci_execute($stid);  // delete the row
}

oci_free_statement($stid);
oci_close($conn);

?>


Unregister a user-defined callback function for Oracle Database TAF

  • « oci_statement_type
  • OCI-Collection »
  • PHP Manual
  • Funções OCI8
  • Unregister a user-defined callback function for Oracle Database TAF

oci_unregister_taf_callback

(PHP 7.0 >= 7.0.23, PHP 8, PHP 7 >= 7.1.9, PHP 8, PECL OCI8 >= 2.1.7)

oci_unregister_taf_callback — Unregister a user-defined callback function for Oracle Database TAF

Descrição

oci_unregister_taf_callback ( resource $connection ) : bool

Unregister the user-defined callback function registered to connection by oci_register_taf_callback(). See OCI8 Transparent Application Failover (TAF) Support for information.

Parâmetros

connection

An Oracle connection identifier.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • oci_register_taf_callback() - Register a user-defined callback function for Oracle Database TAF


A classe OCI-Collection

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

Funcionalidade Collection do OCI8.

Sinopse da classe

OCI-Collection {
/* Métodos */
OCICollection::append ( mixed $value ) : bool
OCICollection::assign ( OCICollection $from ) : bool
OCICollection::assignElem ( int $index , mixed $value ) : bool
OCICollection::free ( ) : bool
OCICollection::getElem ( int $index ) : mixed
OCICollection::max ( ) : int
OCICollection::size ( ) : int
OCICollection::trim ( int $num ) : bool
}

Índice

  • OCICollection::append — Appends element to the collection
  • OCICollection::assign — Assigns a value to the collection from another existing collection
  • OCICollection::assignElem — Assigns a value to the element of the collection
  • OCICollection::free — Frees the resources associated with the collection object
  • OCICollection::getElem — Returns value of the element
  • OCICollection::max — Returns the maximum number of elements in the collection
  • OCICollection::size — Returns size of the collection
  • OCICollection::trim — Trims elements from the end of the collection


Appends element to the collection

  • « OCI-Collection
  • OCICollection::assign »
  • PHP Manual
  • OCI-Collection
  • Appends element to the collection

OCICollection::append

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::append — Appends element to the collection

Descrição

OCICollection::append ( mixed $value ) : bool

Appends element to the end of the collection.

Parâmetros

value

The value to be added to the collection. Can be a string or a number.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Veja Também

  • OCICollection::assign


Assigns a value to the collection from another existing collection

  • « OCICollection::append
  • OCICollection::assignElem »
  • PHP Manual
  • OCI-Collection
  • Assigns a value to the collection from another existing collection

OCICollection::assign

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::assign — Assigns a value to the collection from another existing collection

Descrição

OCICollection::assign ( OCICollection $from ) : bool

Assigns a value to the collection from another, previously created collection. Both collections must be created with oci_new_collection() prior to using them.

Parâmetros

from

An instance of OCI-Collection.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Veja Também

  • OCICollection::append


Assigns a value to the element of the collection

  • « OCICollection::assign
  • OCICollection::free »
  • PHP Manual
  • OCI-Collection
  • Assigns a value to the element of the collection

OCICollection::assignElem

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::assignElem — Assigns a value to the element of the collection

Descrição

OCICollection::assignElem ( int $index , mixed $value ) : bool

Assigns a value to the element with index index.

Parâmetros

index

The element index. First index is 0.

value

Can be a string or a number.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Veja Também

  • OCICollection::getElem


Frees the resources associated with the collection object

  • « OCICollection::assignElem
  • OCICollection::getElem »
  • PHP Manual
  • OCI-Collection
  • Frees the resources associated with the collection object

OCICollection::free

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::free — Frees the resources associated with the collection object

Descrição

OCICollection::free ( ) : bool

Frees the resources associated with the collection object.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Veja Também

  • oci_new_collection


Returns value of the element

  • « OCICollection::free
  • OCICollection::max »
  • PHP Manual
  • OCI-Collection
  • Returns value of the element

OCICollection::getElem

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::getElem — Returns value of the element

Descrição

OCICollection::getElem ( int $index ) : mixed

Returns element's value with the index index (0-based).

Parâmetros

index

The element index. First index is 0.

Valor Retornado

Returns false if such element doesn't exist; null if element is null; string if element is column of a string datatype or number if element is numeric field.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Veja Também

  • OCICollection::assignElem


Returns the maximum number of elements in the collection

  • « OCICollection::getElem
  • OCICollection::size »
  • PHP Manual
  • OCI-Collection
  • Returns the maximum number of elements in the collection

OCICollection::max

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::max — Returns the maximum number of elements in the collection

Descrição

OCICollection::max ( ) : int

Returns the maximum number of elements in the collection.

Valor Retornado

Returns the maximum number as an integer, or false on errors.

If the returned value is 0, then the number of elements is not limited.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Veja Também

  • OCICollection::size


Returns size of the collection

  • « OCICollection::max
  • OCICollection::trim »
  • PHP Manual
  • OCI-Collection
  • Returns size of the collection

OCICollection::size

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::size — Returns size of the collection

Descrição

OCICollection::size ( ) : int

Returns the size of the collection.

Valor Retornado

Returns the number of elements in the collection or false on error.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Veja Também

  • OCICollection::max


Trims elements from the end of the collection

  • « OCICollection::size
  • OCI-Lob »
  • PHP Manual
  • OCI-Collection
  • Trims elements from the end of the collection

OCICollection::trim

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::trim — Trims elements from the end of the collection

Descrição

OCICollection::trim ( int $num ) : bool

Trims num of elements from the end of the collection.

Parâmetros

num

The number of elements to be trimmed.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Veja Também

  • OCICollection::size


A classe OCI-Lob

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

Funcionalidade LOB do OCI8 para binários grande (BLOB) e objetos de caracteres (CLOB).

Sinopse da classe

OCI-Lob {
/* Métodos */
OCILob::append ( OCILob $lob_from ) : bool
OCILob::close ( ) : bool
OCILob::eof ( ) : bool
OCILob::erase ( int $offset = ? , int $length = ? ) : int|false
OCILob::export ( string $filename , int $start = ? , int $length = ? ) : bool
OCILob::flush ( int $flag = ? ) : bool
OCILob::free ( ) : bool
OCILob::getBuffering ( ) : bool
OCILob::import ( string $filename ) : bool
OCILob::load ( ) : string
OCILob::read ( int $length ) : string|false
OCILob::rewind ( ) : bool
OCILob::save ( string $data , int $offset = ? ) : bool
OCILob::seek ( int $offset , int $whence = OCI_SEEK_SET ) : bool
OCILob::setBuffering ( bool $on_off ) : bool
OCILob::size ( ) : int|false
OCILob::tell ( ) : int
Lob::truncate ( int $length = 0 ) : bool
OCILob::write ( string $data , int $length = ? ) : int|false
writeTemporary ( string $data , int $lob_type = OCI_TEMP_CLOB ) : bool
}

Índice

  • OCILob::append — Appends data from the large object to another large object
  • OCILob::close — Closes LOB descriptor
  • OCILob::eof — Tests for end-of-file on a large object's descriptor
  • OCILob::erase — Erases a specified portion of the internal LOB data
  • OCILob::export — Exports LOB's contents to a file
  • OCILob::flush — Flushes/writes buffer of the LOB to the server
  • OCILob::free — Frees resources associated with the LOB descriptor
  • OCILob::getBuffering — Returns current state of buffering for the large object
  • OCILob::import — Imports file data to the LOB
  • OCILob::load — Returns large object's contents
  • OCILob::read — Reads part of the large object
  • OCILob::rewind — Moves the internal pointer to the beginning of the large object
  • OCILob::save — Saves data to the large object
  • OCILob::saveFile — Sinônimo de OCILob::import
  • OCILob::seek — Sets the internal pointer of the large object
  • OCILob::setBuffering — Changes current state of buffering for the large object
  • OCILob::size — Returns size of large object
  • OCILob::tell — Returns the current position of internal pointer of large object
  • OCILob::truncate — Truncates large object
  • OCILob::write — Writes data to the large object
  • OCI-Lob::writeTemporary — Escreve um large object temporário
  • OCILob::writeToFile — Sinônimo de OCILob::export


Appends data from the large object to another large object

  • « OCI-Lob
  • OCILob::close »
  • PHP Manual
  • OCI-Lob
  • Appends data from the large object to another large object

OCILob::append

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::append — Appends data from the large object to another large object

Descrição

OCILob::append ( OCILob $lob_from ) : bool

Appends data from the large object to the end of another large object.

Writing to the large object with this method will fail if buffering was previously enabled. You must disable buffering before appending. You may need to flush buffers with OCILob::flush before disabling buffering.

Parâmetros

lob_from

The copied LOB.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::flush
  • OCILob::setBuffering
  • OCILob::getBuffering


Closes LOB descriptor

  • « OCILob::append
  • OCILob::eof »
  • PHP Manual
  • OCI-Lob
  • Closes LOB descriptor

OCILob::close

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::close — Closes LOB descriptor

Descrição

OCILob::close ( ) : bool

Closes descriptor of LOB or FILE. This function should be used only with OCI-Lob::writeTemporary.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCI-Lob::writeTemporary


Tests for end-of-file on a large object's descriptor

  • « OCILob::close
  • OCILob::erase »
  • PHP Manual
  • OCI-Lob
  • Tests for end-of-file on a large object's descriptor

OCILob::eof

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::eof — Tests for end-of-file on a large object's descriptor

Descrição

OCILob::eof ( ) : bool

Tells whether the internal pointer of large object is at the end of LOB.

Valor Retornado

Returns true if internal pointer of large object is at the end of LOB. Otherwise returns false.

Notas

Nota:

This function will return an Oracle error if OCILob::setBuffering is enabled on the LOB.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::size


Erases a specified portion of the internal LOB data

  • « OCILob::eof
  • OCILob::export »
  • PHP Manual
  • OCI-Lob
  • Erases a specified portion of the internal LOB data

OCILob::erase

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::erase — Erases a specified portion of the internal LOB data

Descrição

OCILob::erase ( int $offset = ? , int $length = ? ) : int|false

Erases a specified portion of the internal LOB data starting at a specified offset. If called without parameters, it erases all LOB data.

For BLOBs, erasing means that the existing LOB value is overwritten with zero-bytes. For CLOBs, the existing LOB value is overwritten with spaces.

Parâmetros

offset

length

Valor Retornado

Returns the actual number of characters/bytes erased ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::truncate


Exports LOB's contents to a file

  • « OCILob::erase
  • OCILob::flush »
  • PHP Manual
  • OCI-Lob
  • Exports LOB's contents to a file

OCILob::export

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::export — Exports LOB's contents to a file

Descrição

OCILob::export ( string $filename , int $start = ? , int $length = ? ) : bool

Exports LOB contents to a file.

Parâmetros

filename

Path to the file.

start

Indicates from where to start exporting.

length

Indicates the length of data to be exported.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::import


Flushes/writes buffer of the LOB to the server

  • « OCILob::export
  • OCILob::free »
  • PHP Manual
  • OCI-Lob
  • Flushes/writes buffer of the LOB to the server

OCILob::flush

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::flush — Flushes/writes buffer of the LOB to the server

Descrição

OCILob::flush ( int $flag = ? ) : bool

OCILob::flush() actually writes data to the server.

Parâmetros

flag

By default, resources are not freed, but using flag OCI_LOB_BUFFER_FREE you can do it explicitly. Be sure you know what you're doing - next read/write operation to the same part of LOB will involve a round-trip to the server and initialize new buffer resources. It is recommended to use OCI_LOB_BUFFER_FREE flag only when you are not going to work with the LOB anymore.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Returns false if buffering was not enabled or an error occurred.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::getBuffering
  • OCILob::setBuffering


Frees resources associated with the LOB descriptor

  • « OCILob::flush
  • OCILob::getBuffering »
  • PHP Manual
  • OCI-Lob
  • Frees resources associated with the LOB descriptor

OCILob::free

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::free — Frees resources associated with the LOB descriptor

Descrição

OCILob::free ( ) : bool

Frees resources associated with the descriptor, previously allocated with oci_new_descriptor().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.


Returns current state of buffering for the large object

  • « OCILob::free
  • OCILob::import »
  • PHP Manual
  • OCI-Lob
  • Returns current state of buffering for the large object

OCILob::getBuffering

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::getBuffering — Returns current state of buffering for the large object

Descrição

OCILob::getBuffering ( ) : bool

Tells whether the buffering for the large object is on or off.

Valor Retornado

Returns false if buffering for the large object is off and true if buffering is used.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::setBuffering


Imports file data to the LOB

  • « OCILob::getBuffering
  • OCILob::load »
  • PHP Manual
  • OCI-Lob
  • Imports file data to the LOB

OCILob::import

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::import — Imports file data to the LOB

Descrição

OCILob::import ( string $filename ) : bool

Writes data from the filename in to the current position of large object.

Parâmetros

filename

Path to the file.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::export
  • OCILob::write


Returns large object's contents

  • « OCILob::import
  • OCILob::read »
  • PHP Manual
  • OCI-Lob
  • Returns large object's contents

OCILob::load

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::load — Returns large object's contents

Descrição

OCILob::load ( ) : string

Returns large object's contents. As script execution is terminated when the memory_limit is reached, ensure that the LOB does not exceed this limit. In most cases it's recommended to use OCILob::read instead.

Valor Retornado

Returns the contents of the object, or false on errors.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::read


Reads part of the large object

  • « OCILob::load
  • OCILob::rewind »
  • PHP Manual
  • OCI-Lob
  • Reads part of the large object

OCILob::read

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::read — Reads part of the large object

Descrição

OCILob::read ( int $length ) : string|false

Reads length bytes from the current position of LOB's internal pointer.

Reading stops when length bytes have been read or end of the large object is reached. Internal pointer of the large object will be shifted on the amount of bytes read.

Parâmetros

length

The length of data to read, in bytes. Large values will be rounded down to 1 MB.

Valor Retornado

Returns the contents as a string, ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::load
  • OCILob::write


Moves the internal pointer to the beginning of the large object

  • « OCILob::read
  • OCILob::save »
  • PHP Manual
  • OCI-Lob
  • Moves the internal pointer to the beginning of the large object

OCILob::rewind

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::rewind — Moves the internal pointer to the beginning of the large object

Descrição

OCILob::rewind ( ) : bool

Sets the internal pointer to the beginning of the large object.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::seek
  • OCILob::tell


Saves data to the large object

  • « OCILob::rewind
  • OCILob::saveFile »
  • PHP Manual
  • OCI-Lob
  • Saves data to the large object

OCILob::save

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::save — Saves data to the large object

Descrição

OCILob::save ( string $data , int $offset = ? ) : bool

Saves data to the large object.

Parâmetros

data

The data to be saved.

offset

Can be used to indicate offset from the beginning of the large object.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::write
  • OCILob::import


Sinônimo de OCILob::import

  • « OCILob::save
  • OCILob::seek »
  • PHP Manual
  • OCI-Lob
  • Sinônimo de OCILob::import

OCILob::saveFile

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::saveFile — Sinônimo de OCILob::import()

Descrição

Esta função é um apelido para: OCILob::import().

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.


Sets the internal pointer of the large object

  • « OCILob::saveFile
  • OCILob::setBuffering »
  • PHP Manual
  • OCI-Lob
  • Sets the internal pointer of the large object

OCILob::seek

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::seek — Sets the internal pointer of the large object

Descrição

OCILob::seek ( int $offset , int $whence = OCI_SEEK_SET ) : bool

Sets the internal pointer of the large object.

Parâmetros

offset

Indicates the amount of bytes, on which internal pointer should be moved from the position, pointed by whence.

whence

May be one of:

  • OCI_SEEK_SET - sets the position equal to offset
  • OCI_SEEK_CUR - adds offset bytes to the current position
  • OCI_SEEK_END - adds offset bytes to the end of large object (use negative value to move to a position before the end of large object)

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::rewind
  • OCILob::tell
  • OCILob::eof


Changes current state of buffering for the large object

  • « OCILob::seek
  • OCILob::size »
  • PHP Manual
  • OCI-Lob
  • Changes current state of buffering for the large object

OCILob::setBuffering

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::setBuffering — Changes current state of buffering for the large object

Descrição

OCILob::setBuffering ( bool $on_off ) : bool

Sets the buffering for the large object, depending on the value of the on_off parameter.

Use of this function may provide performance improvements by buffering small reads and writes of LOBs by reducing the number of network round-trips and LOB versions. OCILob::flush() should be used to flush buffers, when you have finished working with the large object.

Parâmetros

on_off

true for on and false for off.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Repeated calls to this method with the same flag will return true.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::getBuffering


Returns size of large object

  • « OCILob::setBuffering
  • OCILob::tell »
  • PHP Manual
  • OCI-Lob
  • Returns size of large object

OCILob::size

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::size — Returns size of large object

Descrição

OCILob::size ( ) : int|false

Gets the size of the large object.

Valor Retornado

Returns length of large object value ou false em caso de falha. Empty objects have zero length.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.


Returns the current position of internal pointer of large object

  • « OCILob::size
  • OCILob::truncate »
  • PHP Manual
  • OCI-Lob
  • Returns the current position of internal pointer of large object

OCILob::tell

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::tell — Returns the current position of internal pointer of large object

Descrição

OCILob::tell ( ) : int

Gets the current position of a LOB's internal pointer.

Valor Retornado

Returns current position of a LOB's internal pointer or false if an error occurred.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::rewind
  • OCILob::size
  • OCILob::eof


Truncates large object

  • « OCILob::tell
  • OCILob::write »
  • PHP Manual
  • OCI-Lob
  • Truncates large object

OCILob::truncate

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::truncate — Truncates large object

Descrição

Lob::truncate ( int $length = 0 ) : bool

Truncates the LOB.

Parâmetros

length

If provided, this method will truncate the LOB to length bytes. Otherwise, it will completely purge the LOB.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::erase


Writes data to the large object

  • « OCILob::truncate
  • OCI-Lob::writeTemporary »
  • PHP Manual
  • OCI-Lob
  • Writes data to the large object

OCILob::write

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::write — Writes data to the large object

Descrição

OCILob::write ( string $data , int $length = ? ) : int|false

Writes data from the parameter data into the current position of LOB's internal pointer.

Parâmetros

data

The data to write in the LOB.

length

If this parameter is given, writing will stop after length bytes have been written or the end of data is reached, whichever comes first.

Valor Retornado

Returns the number of bytes written ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Veja Também

  • OCILob::read


Escreve um large object temporário

  • « OCILob::write
  • OCILob::writeToFile »
  • PHP Manual
  • OCI-Lob
  • Escreve um large object temporário

OCI-Lob::writeTemporary

(Não há informação de versão disponível, talvez apenas no Git)

OCI-Lob::writeTemporary — Escreve um large object temporário

Descrição

OCI-Lob::writeTemporary ( string $data , int $lob_type = OCI_TEMP_CLOB ) : bool

Cria um large object temporário e escreve data nele.

Você deve usar OCILob::close quando tiver terminado com esse objeto.

Parâmetros

data

Os dados a escrever.

lob_type

Pode ser um dos seguintes:

  • OCI_TEMP_BLOB é utilizado para cirar BLOBs temporários
  • OCI_TEMP_CLOB é utilizado para criar CLOBs temporários

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • OCILob::close


Sinônimo de OCILob::export

  • « OCI-Lob::writeTemporary
  • Sinônimos e Funções Obsoletas do OCI8 »
  • PHP Manual
  • OCI-Lob
  • Sinônimo de OCILob::export

OCILob::writeToFile

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::writeToFile — Sinônimo de OCILob::export()

Descrição

Esta função é um apelido para: OCILob::export().

Changelog

Versão | Descrição
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.


Sinônimos e Funções Obsoletas do OCI8

Índice

  • oci_internal_debug — Enables or disables internal debug output
  • ocibindbyname — Sinônimo de oci_bind_by_name
  • ocicancel — Sinônimo de oci_cancel
  • ocicloselob — Sinônimo de OCI-Lob::close
  • ocicollappend — Sinônimo de OCI-Collection::append
  • ocicollassign — Sinônimo de OCI-Collection::assign
  • ocicollassignelem — Sinônimo de OCI-Collection::assignElem
  • ocicollgetelem — Sinônimo de OCI-Collection::getElem
  • ocicollmax — Sinônimo de OCI-Collection::max
  • ocicollsize — Sinônimo de OCI-Collection::size
  • ocicolltrim — Sinônimo de OCI-Collection::trim
  • ocicolumnisnull — Sinônimo de oci_field_is_null
  • ocicolumnname — Sinônimo de oci_field_name
  • ocicolumnprecision — Sinônimo de oci_field_precision
  • ocicolumnscale — Sinônimo de oci_field_scale
  • ocicolumnsize — Sinônimo de oci_field_size
  • ocicolumntype — Sinônimo de oci_field_type
  • ocicolumntyperaw — Sinônimo de oci_field_type_raw
  • ocicommit — Sinônimo de oci_commit
  • ocidefinebyname — Sinônimo de oci_define_by_name
  • ocierror — Sinônimo de oci_error
  • ociexecute — Sinônimo de oci_execute
  • ocifetch — Sinônimo de oci_fetch
  • ocifetchinto — Variante obsoleta de oci_fetch_array, oci_fetch_object, oci_fetch_assoc e oci_fetch_row
  • ocifetchstatement — Sinônimo de oci_fetch_all
  • ocifreecollection — Sinônimo de OCI-Collection::free
  • ocifreecursor — Sinônimo de oci_free_statement
  • ocifreedesc — Sinônimo de OCI-Lob::free
  • ocifreestatement — Sinônimo de oci_free_statement
  • ociinternaldebug — Sinônimo de oci_internal_debug
  • ociloadlob — Sinônimo de OCI-Lob::load
  • ocilogoff — Sinônimo de oci_close
  • ocilogon — Sinônimo de oci_connect
  • ocinewcollection — Sinônimo de oci_new_collection
  • ocinewcursor — Sinônimo de oci_new_cursor
  • ocinewdescriptor — Sinônimo de oci_new_descriptor
  • ocinlogon — Sinônimo de oci_new_connect
  • ocinumcols — Sinônimo de oci_num_fields
  • ociparse — Sinônimo de oci_parse
  • ociplogon — Sinônimo de oci_pconnect
  • ociresult — Sinônimo de oci_result
  • ocirollback — Sinônimo de oci_rollback
  • ocirowcount — Sinônimo de oci_num_rows
  • ocisavelob — Sinônimo de OCI-Lob::save
  • ocisavelobfile — Sinônimo de OCI-Lob::import
  • ociserverversion — Sinônimo de oci_server_version
  • ocisetprefetch — Sinônimo de oci_set_prefetch
  • ocistatementtype — Sinônimo de oci_statement_type
  • ociwritelobtofile — Sinônimo de OCI-Lob::export
  • ociwritetemporarylob — Sinônimo de OCI-Lob::writeTemporary


Enables or disables internal debug output

  • « Sinônimos e Funções Obsoletas do OCI8
  • ocibindbyname »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Enables or disables internal debug output

oci_internal_debug

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0, PECL OCI8 <= 2.2.0)

oci_internal_debug — Enables or disables internal debug output

Descrição

oci_internal_debug ( bool $onoff ) : void

Enables or disables internal debug output.

Parâmetros

onoff

Set this to false to turn debug output off or true to turn it on.

Valor Retornado

Não há valor retornado.

Notas

Nota:

This function was removed in PHP 8 and PECL OCI8 3.0.

Nota:

This function is a no-op in PHP 5.6 and PECL OCI8 2.0. Use DTrace instead.

Nota:

In PHP versions before 5.0.0 you must use ociinternaldebug() instead. This name still can be used, it was left as alias of oci_internal_debug() for downwards compatability. This, however, is deprecated and not recommended.


Sinônimo de oci_bind_by_name

  • « oci_internal_debug
  • ocicancel »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_bind_by_name

ocibindbyname

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocibindbyname — Sinônimo de oci_bind_by_name()

Descrição

Sinônimo de oci_bind_by_name()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_cancel

  • « ocibindbyname
  • ocicloselob »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_cancel

ocicancel

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicancel — Sinônimo de oci_cancel()

Descrição

Sinônimo de oci_cancel()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Lob::close

  • « ocicancel
  • ocicollappend »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Lob::close

ocicloselob

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PECL OCI8 1.0)

ocicloselob — Sinônimo de OCI-Lob::close()

Descrição

Sinônimo de OCI-Lob::close()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Collection::append

  • « ocicloselob
  • ocicollassign »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Collection::append

ocicollappend

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicollappend — Sinônimo de OCI-Collection::append()

Descrição

Sinônimo de OCI-Collection::append()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Collection::assign

  • « ocicollappend
  • ocicollassignelem »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Collection::assign

ocicollassign

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicollassign — Sinônimo de OCI-Collection::assign()

Descrição

Sinônimo de OCI-Collection::assign()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Collection::assignElem

  • « ocicollassign
  • ocicollgetelem »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Collection::assignElem

ocicollassignelem

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicollassignelem — Sinônimo de OCI-Collection::assignElem()

Descrição

Sinônimo de OCI-Collection::assignElem()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Collection::getElem

  • « ocicollassignelem
  • ocicollmax »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Collection::getElem

ocicollgetelem

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicollgetelem — Sinônimo de OCI-Collection::getElem()

Descrição

Sinônimo de OCI-Collection::getElem()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Collection::max

  • « ocicollgetelem
  • ocicollsize »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Collection::max

ocicollmax

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicollmax — Sinônimo de OCI-Collection::max()

Descrição

Sinônimo de OCI-Collection::max()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Collection::size

  • « ocicollmax
  • ocicolltrim »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Collection::size

ocicollsize

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicollsize — Sinônimo de OCI-Collection::size()

Descrição

Sinônimo de OCI-Collection::size()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Collection::trim

  • « ocicollsize
  • ocicolumnisnull »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Collection::trim

ocicolltrim

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolltrim — Sinônimo de OCI-Collection::trim()

Descrição

Sinônimo de OCI-Collection::trim()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_field_is_null

  • « ocicolltrim
  • ocicolumnname »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_field_is_null

ocicolumnisnull

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumnisnull — Sinônimo de oci_field_is_null()

Descrição

Sinônimo de oci_field_is_null()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_field_name

  • « ocicolumnisnull
  • ocicolumnprecision »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_field_name

ocicolumnname

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumnname — Sinônimo de oci_field_name()

Descrição

Sinônimo de oci_field_name()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_field_precision

  • « ocicolumnname
  • ocicolumnscale »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_field_precision

ocicolumnprecision

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumnprecision — Sinônimo de oci_field_precision()

Descrição

Sinônimo de oci_field_precision()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_field_scale

  • « ocicolumnprecision
  • ocicolumnsize »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_field_scale

ocicolumnscale

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumnscale — Sinônimo de oci_field_scale()

Descrição

Sinônimo de oci_field_scale()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_field_size

  • « ocicolumnscale
  • ocicolumntype »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_field_size

ocicolumnsize

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumnsize — Sinônimo de oci_field_size()

Descrição

Sinônimo de oci_field_size()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_field_type

  • « ocicolumnsize
  • ocicolumntyperaw »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_field_type

ocicolumntype

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumntype — Sinônimo de oci_field_type()

Descrição

Sinônimo de oci_field_type()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_field_type_raw

  • « ocicolumntype
  • ocicommit »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_field_type_raw

ocicolumntyperaw

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumntyperaw — Sinônimo de oci_field_type_raw()

Descrição

Sinônimo de oci_field_type_raw()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_commit

  • « ocicolumntyperaw
  • ocidefinebyname »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_commit

ocicommit

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicommit — Sinônimo de oci_commit()

Descrição

Sinônimo de oci_commit()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_define_by_name

  • « ocicommit
  • ocierror »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_define_by_name

ocidefinebyname

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocidefinebyname — Sinônimo de oci_define_by_name()

Descrição

Sinônimo de oci_define_by_name()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_error

  • « ocidefinebyname
  • ociexecute »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_error

ocierror

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocierror — Sinônimo de oci_error()

Descrição

Sinônimo de oci_error()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_execute

  • « ocierror
  • ocifetch »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_execute

ociexecute

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociexecute — Sinônimo de oci_execute()

Descrição

Sinônimo de oci_execute()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_fetch

  • « ociexecute
  • ocifetchinto »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_fetch

ocifetch

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifetch — Sinônimo de oci_fetch()

Descrição

Sinônimo de oci_fetch()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Variante obsoleta de oci_fetch_array, oci_fetch_object, oci_fetch_assoc e oci_fetch_row

  • « ocifetch
  • ocifetchstatement »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Variante obsoleta de oci_fetch_array, oci_fetch_object, oci_fetch_assoc e oci_fetch_row

ocifetchinto

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifetchinto — Variante obsoleta de oci_fetch_array(), oci_fetch_object(), oci_fetch_assoc() e oci_fetch_row()

Descrição

Variante obsoleta de oci_fetch_array(), oci_fetch_object(),
  oci_fetch_assoc() e
  oci_fetch_row()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_fetch_all

  • « ocifetchinto
  • ocifreecollection »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_fetch_all

ocifetchstatement

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifetchstatement — Sinônimo de oci_fetch_all()

Descrição

Sinônimo de oci_fetch_all()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Collection::free

  • « ocifetchstatement
  • ocifreecursor »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Collection::free

ocifreecollection

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifreecollection — Sinônimo de OCI-Collection::free()

Descrição

Sinônimo de OCI-Collection::free()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_free_statement

  • « ocifreecollection
  • ocifreedesc »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_free_statement

ocifreecursor

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifreecursor — Sinônimo de oci_free_statement()

Descrição

Sinônimo de oci_free_statement()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Lob::free

  • « ocifreecursor
  • ocifreestatement »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Lob::free

ocifreedesc

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifreedesc — Sinônimo de OCI-Lob::free()

Descrição

Sinônimo de OCI-Lob::free()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_free_statement

  • « ocifreedesc
  • ociinternaldebug »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_free_statement

ocifreestatement

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifreestatement — Sinônimo de oci_free_statement()

Descrição

Sinônimo de oci_free_statement()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_internal_debug

  • « ocifreestatement
  • ociloadlob »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_internal_debug

ociinternaldebug

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0, PECL OCI8 <= 2.2.0)

ociinternaldebug — Sinônimo de oci_internal_debug()

Descrição

Sinônimo de oci_internal_debug()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Lob::load

  • « ociinternaldebug
  • ocilogoff »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Lob::load

ociloadlob

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociloadlob — Sinônimo de OCI-Lob::load()

Descrição

Sinônimo de OCI-Lob::load()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_close

  • « ociloadlob
  • ocilogon »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_close

ocilogoff

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocilogoff — Sinônimo de oci_close()

Descrição

Sinônimo de oci_close()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_connect

  • « ocilogoff
  • ocinewcollection »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_connect

ocilogon

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocilogon — Sinônimo de oci_connect()

Descrição

Sinônimo de oci_connect()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_new_collection

  • « ocilogon
  • ocinewcursor »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_new_collection

ocinewcollection

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocinewcollection — Sinônimo de oci_new_collection()

Descrição

Sinônimo de oci_new_collection()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_new_cursor

  • « ocinewcollection
  • ocinewdescriptor »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_new_cursor

ocinewcursor

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocinewcursor — Sinônimo de oci_new_cursor()

Descrição

Sinônimo de oci_new_cursor()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_new_descriptor

  • « ocinewcursor
  • ocinlogon »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_new_descriptor

ocinewdescriptor

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocinewdescriptor — Sinônimo de oci_new_descriptor()

Descrição

Sinônimo de oci_new_descriptor()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_new_connect

  • « ocinewdescriptor
  • ocinumcols »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_new_connect

ocinlogon

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocinlogon — Sinônimo de oci_new_connect()

Descrição

Sinônimo de oci_new_connect()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_num_fields

  • « ocinlogon
  • ociparse »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_num_fields

ocinumcols

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocinumcols — Sinônimo de oci_num_fields()

Descrição

Sinônimo de oci_num_fields()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_parse

  • « ocinumcols
  • ociplogon »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_parse

ociparse

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociparse — Sinônimo de oci_parse()

Descrição

Sinônimo de oci_parse()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_pconnect

  • « ociparse
  • ociresult »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_pconnect

ociplogon

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociplogon — Sinônimo de oci_pconnect()

Descrição

Sinônimo de oci_pconnect()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_result

  • « ociplogon
  • ocirollback »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_result

ociresult

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociresult — Sinônimo de oci_result()

Descrição

Sinônimo de oci_result()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_rollback

  • « ociresult
  • ocirowcount »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_rollback

ocirollback

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocirollback — Sinônimo de oci_rollback()

Descrição

Sinônimo de oci_rollback()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_num_rows

  • « ocirollback
  • ocisavelob »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_num_rows

ocirowcount

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocirowcount — Sinônimo de oci_num_rows()

Descrição

Sinônimo de oci_num_rows()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Lob::save

  • « ocirowcount
  • ocisavelobfile »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Lob::save

ocisavelob

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocisavelob — Sinônimo de OCI-Lob::save()

Descrição

Sinônimo de OCI-Lob::save()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Lob::import

  • « ocisavelob
  • ociserverversion »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Lob::import

ocisavelobfile

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocisavelobfile — Sinônimo de OCI-Lob::import()

Descrição

Sinônimo de OCI-Lob::import()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_server_version

  • « ocisavelobfile
  • ocisetprefetch »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_server_version

ociserverversion

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociserverversion — Sinônimo de oci_server_version()

Descrição

Sinônimo de oci_server_version()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_set_prefetch

  • « ociserverversion
  • ocistatementtype »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_set_prefetch

ocisetprefetch

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocisetprefetch — Sinônimo de oci_set_prefetch()

Descrição

Sinônimo de oci_set_prefetch()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de oci_statement_type

  • « ocisetprefetch
  • ociwritelobtofile »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de oci_statement_type

ocistatementtype

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocistatementtype — Sinônimo de oci_statement_type()

Descrição

Sinônimo de oci_statement_type()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Lob::export

  • « ocistatementtype
  • ociwritetemporarylob »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Lob::export

ociwritelobtofile

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociwritelobtofile — Sinônimo de OCI-Lob::export()

Descrição

Sinônimo de OCI-Lob::export()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Sinônimo de OCI-Lob::writeTemporary

  • « ociwritelobtofile
  • Paradox »
  • PHP Manual
  • Sinônimos e Funções Obsoletas do OCI8
  • Sinônimo de OCI-Lob::writeTemporary

ociwritetemporarylob

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PECL OCI8 1.0)

ociwritetemporarylob — Sinônimo de OCI-Lob::writeTemporary()

Descrição

Sinônimo de OCI-Lob::writeTemporary()

Aviso

Este apelido tornou-se OBSOLETO desde o PHP 5.4.0. Confiar neste apelido é altamente não recomendado.


Paradox File Access

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Paradox Funções
    • px_close — Closes a paradox database
    • px_create_fp — Create a new paradox database
    • px_date2string — Converts a date into a string
    • px_delete_record — Deletes record from paradox database
    • px_delete — Deletes resource of paradox database
    • px_get_field — Returns the specification of a single field
    • px_get_info — Return lots of information about a paradox file
    • px_get_parameter — Gets a parameter
    • px_get_record — Returns record of paradox database
    • px_get_schema — Returns the database schema
    • px_get_value — Gets a value
    • px_insert_record — Inserts record into paradox database
    • px_new — Create a new paradox object
    • px_numfields — Returns number of fields in a database
    • px_numrecords — Returns number of records in a database
    • px_open_fp — Open paradox database
    • px_put_record — Stores record into paradox database
    • px_retrieve_record — Returns record of paradox database
    • px_set_blob_file — Sets the file where blobs are read from
    • px_set_parameter — Sets a parameter
    • px_set_tablename — Sets the name of a table (deprecated)
    • px_set_targetencoding — Sets the encoding for character fields (deprecated)
    • px_set_value — Sets a value
    • px_timestamp2string — Converts the timestamp into a string
    • px_update_record — Updates record in paradox database


Introdução

This module allows to read and write Paradox databases, primary index files and blob files. Write support has been proven to be quite reliable, though due to lack of documentation the produced files may not in any case be readable by other applications. Encrypted databases can be read without specifying a password if pxlib >= 0.5.0 is used.

Nota:

This module is also in development and may change, though major changes to the API are not expected.

Aviso

Esta extensão é EXPERIMENTAL. O comportamento desta extensão — incluindo o nome de suas funções e qualquer outra documentação sobre esta extensão — poderá mudar sem aviso em futuras versões do PHP. Esta extensão deve ser usada por sua própria conta e risco.


Dependências

You need at least PHP 5.0.0 and pxlib >= 0.4.4 for the basic set of functions. Some newer functions are only available with pxlib >= 0.6.0. Reading and writing of encrypted databases requires at least pxlib >= 0.5.0. The paradox library (pxlib) is available at » http://pxlib.sourceforge.net.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/paradox

Make sure you have pxlib installed before. If you install pxlib from an rpm or debian package, do not forget to install the development package as well.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

px_new() creates a new Paradox object required by all Paradox functions.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

The following two tables lists all constants defined by the paradox extension.

Contants for field types
Name | Meaning
PX_FIELD_ALPHA | Character data with fixed length
PX_FIELD_DATE | Date, number of days since 1.1.0000
PX_FIELD_SHORT | Short integer (2 Bytes)
PX_FIELD_LONG | Long integer (4 Bytes)
PX_FIELD_CURRENCY | same as PX_FIELD_NUMBER
PX_FIELD_NUMBER | Double
PX_FIELD_LOGICAL | Boolean
PX_FIELD_MEMOBLOB | Binary large object
PX_FIELD_BLOB | Binary large object (not supported)
PX_FIELD_FMTMEMOBLOB | Binary large object
PX_FIELD_OLE | OLE object (basically a blob, not supported)
PX_FIELD_GRAPHIC | Graphic (basically a blob, not supported)
PX_FIELD_TIME | time, number of milli seconds since midnight
PX_FIELD_TIMESTAMP | timestamp, number of milli seconds since 1.1.0000
PX_FIELD_AUTOINC | Auto incrementing interger (like PX_FIELD_LONG)
PX_FIELD_BCD | Decimal number stored in bcd format (not supported)
PX_FIELD_BYTES | Array of Bytes with not more than 255 bytes (not supported)
PX_KEYTOLOWER | Turn all field names into lower case
PX_KEYTOUPPER | Turn all field names into upper case
Contants for file types
Name | Meaning
PX_FILE_INDEX_DB | Indexed database
PX_FILE_PRIM_INDEX | Primary index
PX_FILE_NON_INDEX_DB | None indexed database
PX_FILE_NON_INC_SEC_INDEX | None incremental secondary index
PX_FILE_SEC_INDEX | Secondary index
PX_FILE_INC_SEC_INDEX | Incremental secondary index
PX_FILE_NON_INC_SEC_INDEX_G | Non incremental secondary index
PX_FILE_SEC_INDEX_G | Secondary index
PX_FILE_INC_SEC_INDEX_G | Non incremental secondary index


Paradox Funções

Object oriented API

The paradox extension provides also an object oriented API. It consists of only one class called paradox_db. Its methods only differ from the functions in its name and of course the missing first parameter. The following table will list all methods and its equivalent functions.

Methods of class paradox_db
Name of method | Equivalent function
Constructor | px_new()
Destructor | px_delete()
open_fp() | px_open_fp()
create_fp() | px_create_fp()
close() | px_close()
numrecords() | px_numrecords()
numfields() | px_numfields()
get_record() | px_get_record()
put_record() | px_put_record()
retrieve_record() | px_retrieve_record()
delete_record() | px_delete_record()
insert_record() | px_insert_record()
update_record() | px_update_record()
get_field() | px_get_field()
get_schema() | px_get_schema()
get_info() | px_get_info()
set_parameter() | px_set_parameter()
get_parameter() | px_get_parameter()
set_value() | px_set_value()
get_value() | px_get_value()
get_info() | px_get_info()
set_targetencoding() | px_set_targetencoding()
set_tablename() | px_set_tablename()
set_blob_file() | px_set_blob_file()
date2string() | px_date2string()
timestamp2string() | px_timestamp2string()

Índice

  • px_close — Closes a paradox database
  • px_create_fp — Create a new paradox database
  • px_date2string — Converts a date into a string
  • px_delete_record — Deletes record from paradox database
  • px_delete — Deletes resource of paradox database
  • px_get_field — Returns the specification of a single field
  • px_get_info — Return lots of information about a paradox file
  • px_get_parameter — Gets a parameter
  • px_get_record — Returns record of paradox database
  • px_get_schema — Returns the database schema
  • px_get_value — Gets a value
  • px_insert_record — Inserts record into paradox database
  • px_new — Create a new paradox object
  • px_numfields — Returns number of fields in a database
  • px_numrecords — Returns number of records in a database
  • px_open_fp — Open paradox database
  • px_put_record — Stores record into paradox database
  • px_retrieve_record — Returns record of paradox database
  • px_set_blob_file — Sets the file where blobs are read from
  • px_set_parameter — Sets a parameter
  • px_set_tablename — Sets the name of a table (deprecated)
  • px_set_targetencoding — Sets the encoding for character fields (deprecated)
  • px_set_value — Sets a value
  • px_timestamp2string — Converts the timestamp into a string
  • px_update_record — Updates record in paradox database


Closes a paradox database

  • « Paradox Funções
  • px_create_fp »
  • PHP Manual
  • Paradox Funções
  • Closes a paradox database

px_close

(PECL paradox >= 1.0.0)

px_close — Closes a paradox database

Descrição

px_close ( resource $pxdoc ) : bool

Closes the paradox database. This function will not close the file. You will have to call fclose() afterwards.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • px_open_fp() - Open paradox database
  • The example at px_new() - Create a new paradox object


Create a new paradox database

  • « px_close
  • px_date2string »
  • PHP Manual
  • Paradox Funções
  • Create a new paradox database

px_create_fp

(PECL paradox >= 1.0.0)

px_create_fp — Create a new paradox database

Descrição

px_create_fp ( resource $pxdoc , resource $file , array $fielddesc ) : bool

Create a new paradox database file. The actual file has to be opened before with fopen(). Make sure the file is writable.

Nota:

Calling this functions issues a warning about an empty tablename which can be safely ignored. Just set the tablename afterwards with px_set_parameter().

Nota:

This function is highly experimental, due to insufficient documentation of the paradox file format. Database files created with this function can be opened by px_open_fp() and has been successfully opened by the Paradox software, but your milage may vary.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

file

File handle as returned by fopen().

fielddesc

fielddesc is an array containing one element for each field specification. A field specification is an array itself with either two or three elements.The first element is always a string value used as the name of the field. It may not be larger than ten characters. The second element contains the field type which is one of the constants listed in the table Constants for field types. In the case of a character field or bcd field, you will have to provide a third element specifying the length respectively the precesion of the field. If your field specification contains blob fields, you will have to make sure to either make the field large enough for all field values to fit or specify a blob file with px_set_blob_file() for storing the blobs. If this is not done the field data is truncated.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Creating a Paradox database with two fields

<?php
if(!$pxdoc = px_new()) {
  /* Error handling */
}
$fp = fopen("test.db", "w+");
$fields = array(array("col1", "S"), array("col2", "I"));
if(!px_create_fp($pxdoc, $fp, $fields)) {
  /* Error handling */
}
px_set_parameter($pxdoc, "tablename", "testtable");
for($i=-50; $i<50; $i++) {
  $rec = array($i, -$i);
  px_put_record($pxdoc, $rec);
}
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

Veja Também

  • px_new() - Create a new paradox object
  • px_put_record() - Stores record into paradox database
  • fopen() - Abre um arquivo ou URL


Converts a date into a string

  • « px_create_fp
  • px_delete_record »
  • PHP Manual
  • Paradox Funções
  • Converts a date into a string

px_date2string

(PECL paradox >= 1.4.0)

px_date2string — Converts a date into a string

Descrição

px_date2string ( resource $pxdoc , int $value , string $format ) : string

Turns a date as it stored in the paradox file into human readable format. Paradox dates are the number of days since 1.1.0000. This function is just for convenience. It can be easily replaced by some math and the calendar functions as demonstrated in the example below.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

value

Value as stored in paradox database field of type PX_FIELD_DATE.

format

String format similar to the format used by date(). The placeholders support by this function is a subset of those supported by date() (Y, y, m, n, d, j, L).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Turn a paradox date into a human readable form

<?php
$px = px_new();

/* make up a date as it could be stored in */
/* a date field of a paradox db. */
/* 700000 days since 1.1.0000. */
$days = 700000;

/* Use the calendar functions to print a */
/* human readable format of the date */
echo jdtogregorian($days+1721425)."\n";
/* px_date2string() outputs the same */
echo px_date2string($px, $days, "n/d/Y")."\n";

px_delete($px);
?>

O exemplo acima irá imprimir:

7/15/1917
7/15/1917

Veja Também

  • px_timestamp2string() - Converts the timestamp into a string
  • jdtogregorian() - Converte uma data no formato "Julian Day Count" para o formato Gregoriano


Deletes record from paradox database

  • « px_date2string
  • px_delete »
  • PHP Manual
  • Paradox Funções
  • Deletes record from paradox database

px_delete_record

(PECL paradox >= 1.4.0)

px_delete_record — Deletes record from paradox database

Descrição

px_delete_record ( resource $pxdoc , int $num ) : bool

This function deletes a record from the database. It does not free the space in the database file but just marks it as deleted. Inserting a new record afterwards will reuse the space.

Nota:

This function is only available if pxlib >= 0.6.0 is used.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Deletes resource of paradox database

  • « px_delete_record
  • px_get_field »
  • PHP Manual
  • Paradox Funções
  • Deletes resource of paradox database

px_delete

(PECL paradox >= 1.0.0)

px_delete — Deletes resource of paradox database

Descrição

px_delete ( resource $pxdoc ) : bool

Deletes the resource of the paradox file and frees all memory.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Returns the specification of a single field

  • « px_delete
  • px_get_info »
  • PHP Manual
  • Paradox Funções
  • Returns the specification of a single field

px_get_field

(PECL paradox >= 1.0.0)

px_get_field — Returns the specification of a single field

Descrição

px_get_field ( resource $pxdoc , int $fieldno ) : array

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

fieldno

Number of the field. The first field has number 0. Specifying a field number less than 0 and greater or equal the number of fields will trigger an error.

Valor Retornado

Returns the specification of the fieldno'th database field as an associated array. The array contains three fields named name, type, and size.


Return lots of information about a paradox file

  • « px_get_field
  • px_get_parameter »
  • PHP Manual
  • Paradox Funções
  • Return lots of information about a paradox file

px_get_info

(PECL paradox >= 1.0.0)

px_get_info — Return lots of information about a paradox file

Descrição

px_get_info ( resource $pxdoc ) : array

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

Valor Retornado

Returns an associated array with lots of information about a paradox file. This array is likely to be extended in the future.

fileversion

Version of file multiplied by 10, e.g. 70.

tablename

Name of table as stored in the file. If the database was created by pxlib, then this will be the name of the file without the extension.

numrecords

Number of records in this table.

numfields

Number of fields in this table.

headersize

Number of bytes used for the header. This is usually 0x800.

recordsize

Number of bytes used for each record. This is the sum of all field sizes (available since version 1.4.2).

maxtablesize

This value multiplied by 0x400 is the size of a data block in bytes. The maximum number of records in a datablock is the integer part of (maxtablesize * 0x400 - 8) / recordsize.

numdatablocks

The number of data blocks in the file. Each data block contains a certain number of records which depends on the record size and the data block size (maxtablesize). Data blocks may not necessarily be completely filled.

numindexfields

Number of fields used for the primary index. The fields do always start with field number 1.

codepage

The DOS codepage which was used for encoding fields with character data. If the target encoding is not set with px_set_targetencoding() this will be the encoding for character fields when records are being accessed with px_get_record() or px_retrieve_record().

Veja Também

  • px_numfields() - Returns number of fields in a database
  • px_numrecords() - Returns number of records in a database


Gets a parameter

  • « px_get_info
  • px_get_record »
  • PHP Manual
  • Paradox Funções
  • Gets a parameter

px_get_parameter

(PECL paradox >= 1.1.0)

px_get_parameter — Gets a parameter

Descrição

px_get_parameter ( resource $pxdoc , string $name ) : string|false

Gets various parameters.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

The name can be one of the following:

tablename

The name of the table as it will be stored in the database header.

targetencoding

The encoding for the output. Data which is being read from character fields with px_get_record() or px_retrieve_record() is recoded into the targetencoding. If it is not set, then the data will be delivered as stored in the database file.

inputencoding

The encoding of the input data which is to be stored into the database. When storing data of character fields in the database, the data is expected to be delivered in this encoding.

Valor Retornado

Returns the value of the parameter ou false em caso de falha.


Returns record of paradox database

  • « px_get_parameter
  • px_get_schema »
  • PHP Manual
  • Paradox Funções
  • Returns record of paradox database

px_get_record

(PECL paradox >= 1.0.0)

px_get_record — Returns record of paradox database

Descrição

px_get_record ( resource $pxdoc , int $num , int $mode = 0 ) : array

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

mode

The optional mode can be PX_KEYTOLOWER or PX_KEYTOUPPER in order to convert the keys of the returned array into lower or upper case. If mode is not passed or is 0, then the key will be exactly like the field name. The element values will contain the field values. NULL values will be retained and are different from 0.0, 0 or the empty string. Fields of type PX_FIELD_TIME will be returned as an integer counting the number of milliseconds starting at midnight. A timestamp (PX_FIELD_TIMESTAMP) and date (PX_FIELD_DATE) are floating point respectively int values counting milliseconds respectively days starting at the beginning of julian calendar. Use the functions px-timestamp2string() and px-date2string() to convert them into a character representation.

Valor Retornado

Returns the num'th record from the paradox database. The record is returned as an associated array with its keys being the field names.

Veja Também

  • px_retrieve_record() - Returns record of paradox database


Returns the database schema

  • « px_get_record
  • px_get_value »
  • PHP Manual
  • Paradox Funções
  • Returns the database schema

px_get_schema

(PECL paradox >= 1.0.0)

px_get_schema — Returns the database schema

Descrição

px_get_schema ( resource $pxdoc , int $mode = 0 ) : array

px_get_schema() returns the database schema.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

mode

If the optional mode is PX_KEYTOLOWER or PX_KEYTOUPPER the keys of the returned array will be converted to lower or upper case. If mode is 0 or not passed at all, then the key name will be identical to the field name.

Valor Retornado

Returns the schema of a database file as an associated array. The key name is equal to the field name. Each array element is itself an associated array containing the two fields type and size. type is one of the constants in table Constants for field types. size is the number of bytes this field consumes in the record. The total of all field sizes is equal to the record size as it can be retrieved with px-get-info().


Gets a value

  • « px_get_schema
  • px_insert_record »
  • PHP Manual
  • Paradox Funções
  • Gets a value

px_get_value

(PECL paradox >= 1.1.0)

px_get_value — Gets a value

Descrição

px_get_value ( resource $pxdoc , string $name ) : float|false

Gets various values.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

name can be one of the following.

numprimkeys

The number of primary keys. Paradox databases always use the first numprimkeys fields for the primary index.

Valor Retornado

Returns the value of the parameter ou false em caso de falha.


Inserts record into paradox database

  • « px_get_value
  • px_new »
  • PHP Manual
  • Paradox Funções
  • Inserts record into paradox database

px_insert_record

(PECL paradox >= 1.4.0)

px_insert_record — Inserts record into paradox database

Descrição

px_insert_record ( resource $pxdoc , array $data ) : int

Inserts a new record into the database. The record is not necessarily inserted at the end of the database, but may be inserted at any position depending on where the first free slot is found.

The record data is passed as an array of field values. The elements in the array must correspond to the fields in the database. If the array has less elements than fields in the database, the remaining fields will be set to null.

Most field values can be passed as its equivalent php type e.g. a long value is used for fields of type PX_FIELD_LONG, PX_FIELD_SHORT and PX_FIELD_AUTOINC, a double values is used for fields of type PX_FIELD_CURRENCY and PX_FIELD_NUMBER. Field values for blob and alpha fields are passed as strings.

Fields of type PX_FIELD_TIME and PX_FIELD_DATE both require a long value. In the first case this is the number of milliseconds since midnight. In the second case this is the number of days since 1.1.0000. Below there are two examples to convert the current date or timestamp into a value suitable for one of paradox's date/time fields.

Nota:

This function is only available if pxlib >= 0.6.0 is used.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

data

Associated or indexed array containing the field values as e.g. returned by px_retrieve_record().

Valor Retornado

Returns false on failure or the record number in case of success.

Exemplos

Exemplo #1 Set the date/time fields in a paradox database to the current date/time

<?php
$px = px_new();
$fp = fopen("test.db", "w+");
px_create_fp($px, $fp, array(array("timestamp", "@"), array("time", "T"), array("date", "D")));

$curdate = getdate();
$jd = gregoriantojd($curdate["mon"], $curdate["mday"], $curdate["year"]);
$days = $jd - 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
$secs = $curdate["hours"]*3600 + $curdate["minutes"]*60 + $curdate["seconds"];
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));

$curtimestamp = microtime(true);
$days = (int) ($curtimestamp/86400);
$secs = $curtimestamp - ($days * 86400.0);
$days += 2440588; /* Number of days between 1.1.4714 b.c. and 1.1.1970 */
$days -= 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));
for($i=0; $i<2; $i++) {
    $rec = px_retrieve_record($px, $i);
    echo px_timestamp2string($px, $rec["timestamp"], "n/d/Y H:i:s")."\n";
    echo px_date2string($px, $rec["date"], "n/d/Y")."\n";
}
px_close($px);
px_delete($px);
?>

O exemplo acima irá imprimir:

2/21/2006 21:42:30
2/21/2006
2/21/2006 20:42:30
2/21/2006

The Julian day count as passed to jdtogregorian() has a different base of 1.1.4714 b.c. and must therefore be calculated by adding 1721425 to the day count used in the paradox file. Turning the day count into a timestamp is easily done by multiplying with 86400000.0 to obtain milli seconds.

Veja Também

px_update_record() - Updates record in paradox database


Create a new paradox object

  • « px_insert_record
  • px_numfields »
  • PHP Manual
  • Paradox Funções
  • Create a new paradox object

px_new

(PECL paradox >= 1.0.0)

px_new — Create a new paradox object

Descrição

px_new ( ) : resource

Create a new paradox object. You will have to call this function before any further functions. px_new() does not create any file on the disk, it just creates an instance of a paradox object. This function must not be called if the object oriented interface is used. Use new paradox_db() instead.

Valor Retornado

Returns false on failure.

Exemplos

Exemplo #1 Opening a Paradox database

<?php
if(!$pxdoc = px_new()) {
  /* Error handling */
}
$fp = fopen("test.db", "r");
if(!px_open_fp($pxdoc, $fp)) {
  /* Error handling */
}
// ...
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

If you prefer the object oriented API, then the above example will look like the following.

Exemplo #2 Opening a Paradox database

<?php
$fp = fopen("test.db", "r");
$pxdoc = new paradox_db();
if(!$pxdoc->open_fp($fp)) {
  /* Error handling */
}
// ...
$pxdoc->close();
fclose($fp);
?>

Veja Também

  • px_delete() - Deletes resource of paradox database
  • px_open_fp() - Open paradox database


Returns number of fields in a database

  • « px_new
  • px_numrecords »
  • PHP Manual
  • Paradox Funções
  • Returns number of fields in a database

px_numfields

(PECL paradox >= 1.0.0)

px_numfields — Returns number of fields in a database

Descrição

px_numfields ( resource $pxdoc ) : int

Get the number of fields in a database file.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

Valor Retornado

Returns the number of fields in a database file. The return value of this function is identical to the element numfields in the array returned by px_get_info().


Returns number of records in a database

  • « px_numfields
  • px_open_fp »
  • PHP Manual
  • Paradox Funções
  • Returns number of records in a database

px_numrecords

(PECL paradox >= 1.0.0)

px_numrecords — Returns number of records in a database

Descrição

px_numrecords ( resource $pxdoc ) : int

Get the number of records in a database file.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

Valor Retornado

Returns the number of records in a database file. The return value of this function is identical to the element numrecords in the array returned by px_get_info().


Open paradox database

  • « px_numrecords
  • px_put_record »
  • PHP Manual
  • Paradox Funções
  • Open paradox database

px_open_fp

(PECL paradox >= 1.0.0)

px_open_fp — Open paradox database

Descrição

px_open_fp ( resource $pxdoc , resource $file ) : bool

Open an existing paradox database file. The actual file has to be opened before with fopen(). This function can also be used to open primary index files and tread them like a paradox database. This is supported for those who would like to investigate a primary index. It cannot be used to accelerate access to a database file.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

file

file is the return value from fopen() with the actual database file as parameter. Make sure the database is writable if you plan to update or insert records.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fopen() - Abre um arquivo ou URL
  • The example at px_new() - Create a new paradox object


Stores record into paradox database

  • « px_open_fp
  • px_retrieve_record »
  • PHP Manual
  • Paradox Funções
  • Stores record into paradox database

px_put_record

(PECL paradox >= 1.0.0)

px_put_record — Stores record into paradox database

Descrição

px_put_record ( resource $pxdoc , array $record , int $recpos = -1 ) : bool

Stores a record into a paradox database. The record is always added at the end of the database, regardless of any free slots. Use px_insert_record() to add a new record into the first free slot found in the database.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

record

Associated or indexed array containing the field values as e.g. returned by px_retrieve_record().

recpos

This optional parameter may be used to specify a record number greater than the current number of records in the database. The function will add as many empty records as needed. There is hardly any need for this parameter.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Returns record of paradox database

  • « px_put_record
  • px_set_blob_file »
  • PHP Manual
  • Paradox Funções
  • Returns record of paradox database

px_retrieve_record

(PECL paradox >= 1.4.0)

px_retrieve_record — Returns record of paradox database

Descrição

px_retrieve_record ( resource $pxdoc , int $num , int $mode = 0 ) : array

This function is very similar to px_get_record() but uses internally a different approach to retrieve the data. It relies on pxlib for reading each single field value, which usually results in support for more field types.

Nota:

This function is only available if pxlib >= 0.6.0 is used.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

mode

The optional mode can be PX_KEYTOLOWER or PX_KEYTOUPPER in order to convert the keys into lower or upper case. If mode is not passed or is 0, then the key will be exactly like the field name. The element values will contain the field values. NULL values will be retained and are different from 0.0, 0 or the empty string. Fields of type PX_FIELD_TIME will be returned as an integer counting the number of milliseconds starting at midnight. A timestamp is a floating point value also counting milliseconds starting at the beginning of julian calendar.

Valor Retornado

Returns the num'th record from the paradox database. The record is returned as an associated array with its keys being the field names.

Veja Também

  • px_get_record() - Returns record of paradox database


Sets the file where blobs are read from

  • « px_retrieve_record
  • px_set_parameter »
  • PHP Manual
  • Paradox Funções
  • Sets the file where blobs are read from

px_set_blob_file

(PECL paradox >= 1.3.0)

px_set_blob_file — Sets the file where blobs are read from

Descrição

px_set_blob_file ( resource $pxdoc , string $filename ) : bool

Sets the name of the file where blobs are going to be read from or written into. Without calling this function, px_get_record() or px_retrieve_record() will only return data in blob fields if the data is part of the record and not stored in the blob file. Blob data is stored in the record if it is small enough to fit in the size of the blob field.

Calling px_put_record(),
px_insert_record(), or
px_update_record() without calling
px_set_blob_file() will result in truncated blob fields
unless the data fits into the database file.

Calling this function twice will close the first blob file and open the new one.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

filename

The name of the file. Its extension should be .MB.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Sets a parameter

  • « px_set_blob_file
  • px_set_tablename »
  • PHP Manual
  • Paradox Funções
  • Sets a parameter

px_set_parameter

(PECL paradox >= 1.1.0)

px_set_parameter — Sets a parameter

Descrição

px_set_parameter ( resource $pxdoc , string $name , string $value ) : bool

Sets various parameters.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

Depending on the parameter you want to set, name can be one of the following.

tablename

The name of the table as it will be stored in the database header.

targetencoding

The encoding for the output. Data which is being read from character fields is recoded into the targetencoding.

inputencoding

The encoding of the input data which is to be stored into the database.

value

The value of parameter to set. For inputencoding and targetencoding this must be the name of the encoding as understood by iconv or recode, e.g. iso-8859-1, utf-8, cp850.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • px_get_info() - Return lots of information about a paradox file to determine the DOS code page.


Sets the name of a table (deprecated)

  • « px_set_parameter
  • px_set_targetencoding »
  • PHP Manual
  • Paradox Funções
  • Sets the name of a table (deprecated)

px_set_tablename

(PECL paradox >= 1.0.0)

px_set_tablename — Sets the name of a table (deprecated)

Descrição

px_set_tablename ( resource $pxdoc , string $name ) : void|false

Sets the table name of a paradox database, which was created with px_create_fp(). This function is deprecated use px_set_parameter() instead.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

tablename

The name of the table. If it is not set explicitly it will be set to the name of the database file.

Valor Retornado

Returns null on success ou false em caso de falha.

Veja Também

px_set_parameter() - Sets a parameter


Sets the encoding for character fields (deprecated)

  • « px_set_tablename
  • px_set_value »
  • PHP Manual
  • Paradox Funções
  • Sets the encoding for character fields (deprecated)

px_set_targetencoding

(PECL paradox >= 1.0.0)

px_set_targetencoding — Sets the encoding for character fields (deprecated)

Descrição

px_set_targetencoding ( resource $pxdoc , string $encoding ) : bool

Set the encoding for data retrieved from a character field. All character fields will be recoded to the encoding set by this function. If the encoding is not set, the character data will be returned in the DOS code page encoding as specified in the database file. The encoding can be any string identifier known to iconv or recode. On Unix systems run iconv -l for a list of available encodings.

This function is deprecated and should be replaced by calling px_set_parameter().

See also px_get_info() to determine the DOS code page as stored in the database file.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

encoding

The encoding for the output. Data which is being read from character fields is recoded into the targetencoding.

Valor Retornado

Returns false if the encoding could not be set, e.g. the encoding is unknown, or pxlib does not support recoding at all. In the second case a warning will be issued.

Veja Também

px_set_parameter() - Sets a parameter


Sets a value

  • « px_set_targetencoding
  • px_timestamp2string »
  • PHP Manual
  • Paradox Funções
  • Sets a value

px_set_value

(PECL paradox >= 1.1.0)

px_set_value — Sets a value

Descrição

px_set_value ( resource $pxdoc , string $name , float $value ) : bool

Sets various values.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

name can be one of the following.

numprimkeys

The number of primary keys. Paradox databases always use the first numprimkeys fields for the primary index.

value

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

px_set_parameter() - Sets a parameter


Converts the timestamp into a string

  • « px_set_value
  • px_update_record »
  • PHP Manual
  • Paradox Funções
  • Converts the timestamp into a string

px_timestamp2string

(PECL paradox >= 1.4.0)

px_timestamp2string — Converts the timestamp into a string

Descrição

px_timestamp2string ( resource $pxdoc , float $value , string $format ) : string

Turns a timestamp as it stored in the paradox file into human readable format. Paradox timestamps are the number of miliseconds since 0001-01-02. This function is just for convenience. It can be easily replaced by some math and the calendar functions as demonstrated in the following example.

Parâmetros

pxdoc

Resource identifier of the paradox database.

value

Value as stored in paradox database field of type PX_FIELD_TIME, or PX_FIELD_TIMESTAMP.

format

String format similar to the format used by date(). The placeholders support by this function is a subset of those supported by date() (Y, y, m, n, d, j, H, h, G, g, i, s, A, a, L).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Turn a paradox timestamp into a human readable form

<?php
$px = px_new();

/* make up a date as it could be stored in */
/* a date field of a paradox db. */
/* 700000 days since 1.1.0000. */
$days = 700000;

/* Use the calendar functions to print a */
/* human readable format of the date */
echo jdtogregorian($days+1721425)."\n";

/* Turn it into a timestamp as it stored in a paradox database */
/* Timestamps are stored in miliseconds since 0001-01-02 */
$stamp = $days * 86400.0 * 1000.0;
/* Add one hour */
$stamp += 3600000.0;
/* The following will output '7/15/1917 01:00:00'. */
echo px_timestamp2string($px, $stamp, "n/d/Y H:i:s")."\n";

px_delete($px);
?>

O exemplo acima irá imprimir:

7/15/1917
7/15/1917 01:00:00

The Julian day count as passed to jdtogregorian() has a different base of 1.1.4714 b.c. and must therefore be calculated by adding 1721425 to the day count used in the paradox file. Turning the day count into a timestamp is easily done by multiplying with 86400000.0 to obtain miliseconds.

Veja Também

  • px_date2string() - Converts a date into a string
  • jdtogregorian() - Converte uma data no formato "Julian Day Count" para o formato Gregoriano


Updates record in paradox database

  • « px_timestamp2string
  • PostgreSQL »
  • PHP Manual
  • Paradox Funções
  • Updates record in paradox database

px_update_record

(PECL paradox >= 1.4.0)

px_update_record — Updates record in paradox database

Descrição

px_update_record ( resource $pxdoc , array $data , int $num ) : bool

Updates an exiting record in the database. The record starts at 0.

The record data is passed as an array of field values. The elements in the array must correspond to the fields in the database. If the array has less elements than fields in the database, the remaining fields will be set to null.

Nota:

This function is only available if pxlib >= 0.6.0 is used.

Parâmetros

pxdoc

Resource identifier of the paradox database as returned by px_new().

data

Associated array containing the field values as returned by px_retrieve_record().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

px_insert_record() - Inserts record into paradox database


PostgreSQL

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • PostgreSQL Funções
    • pg_affected_rows — Retorna o número de registros afetados (linhas)
    • pg_cancel_query — Cancela uma consulta (query) assíncrona
    • pg_client_encoding — Retorna a codificação do cliente
    • pg_close — Fecha uma conexão PostgreSQL
    • pg_connect_poll — Poll the status of an in-progress asynchronous PostgreSQL connection attempt
    • pg_connect — Abre uma conexão PostgreSQL
    • pg_connection_busy — Verifica se a conexão está ocupada ou não
    • pg_connection_reset — Reinicia uma conexão (reconecta)
    • pg_connection_status — Retorna o status da conexão
    • pg_consume_input — Reads input on the connection
    • pg_convert — Converte os valores de um array associativo em uma declaração SQL apropriada.
    • pg_copy_from — Insere registros em uma tabela a partir de um array
    • pg_copy_to — Copia uma tabela em um array
    • pg_dbname — Retorna o nome do banco de dados
    • pg_delete — Remove registros.
    • pg_end_copy — Sincroniza com o backend PostgreSQL
    • pg_escape_bytea — Gera binários para o tipo bytea
    • pg_escape_identifier — Escape a identifier for insertion into a text field
    • pg_escape_literal — Escape a literal for insertion into a text field
    • pg_escape_string — Gera string para o tipo text/char
    • pg_execute — Sends a request to execute a prepared statement with given parameters, and waits for the result
    • pg_fetch_all_columns — Fetches all rows in a particular result column as an array
    • pg_fetch_all — Retorna todas as linhas (registros) como um array
    • pg_fetch_array — Retorna uma linha (registro) como um array
    • pg_fetch_assoc — Retorna uma linha (registro) como uma matriz associativa
    • pg_fetch_object — Retorna uma linha (registro) como um objeto
    • pg_fetch_result — Retorna valores a partir de um recurso (resource) de resultado
    • pg_fetch_row — Retorna uma linha como um array enumerado
    • pg_field_is_null — Testa se o campo é null
    • pg_field_name — Retorna o nome de um campo
    • pg_field_num — Retorna o número do campo referido
    • pg_field_prtlen — Retorna o comprimento impresso
    • pg_field_size — Retorna o tamanho de armazenamento interno de um campo
    • pg_field_table — Returns the name or oid of the tables field
    • pg_field_type_oid — Returns the type ID (OID) for the corresponding field number
    • pg_field_type — Retorna o nome do tipo para o campo de nome correspondente
    • pg_flush — Flush outbound query data on the connection
    • pg_free_result — Libera a memória usada pelo resultado
    • pg_get_notify — Gets SQL NOTIFY message
    • pg_get_pid — Gets the backend's process ID
    • pg_get_result — Retorna o resultado de uma consulta (query) assíncrona
    • pg_host — Retorna o nome da máquina associada a uma conexão
    • pg_insert — Insere um array na tabela
    • pg_last_error — Retorna a string da última mensagem de erro de uma conexão
    • pg_last_notice — Retorna a última notificação do servidor PostgreSQL
    • pg_last_oid — Retorna o último oid do objeto
    • pg_lo_close — Fecha um objeto grande (large object)
    • pg_lo_create — Cria um objeto grande (large object)
    • pg_lo_export — Exporta um objeto grande (large object) para um arquivo
    • pg_lo_import — Importa um objeto grande (large object) a partir de um arquivo
    • pg_lo_open — Abre um objeto grande (large object)
    • pg_lo_read_all — Lê um objeto grande (large object) inteiro e o envia diretamente para o navegador
    • pg_lo_read — Lê um objeto grande (large object)
    • pg_lo_seek — Procura uma posição em um objeto grande (large object)
    • pg_lo_tell — Retorna a posição atual de um objeto grande (large object)
    • pg_lo_truncate — Truncates a large object
    • pg_lo_unlink — Remove um objeto grande (large object)
    • pg_lo_write — Escreve em um objeto grande (large object)
    • pg_meta_data — Retorna os metadados da tabela.
    • pg_num_fields — Retorna o número de campos
    • pg_num_rows — Retorna o número de linhas
    • pg_options — Retorna as opções associadas com a conexão
    • pg_parameter_status — Looks up a current parameter setting of the server
    • pg_pconnect — Abre uma conexão PostgreSQL persistente
    • pg_ping — Faz um ping na conexão com o banco de dados
    • pg_port — Retorna o número da porta associada com a conexão.
    • pg_prepare — Submits a request to create a prepared statement with the given parameters, and waits for completion
    • pg_put_line — Envia uma string terminada em NULL para o backend PostgreSQL
    • pg_query_params — Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text
    • pg_query — Executa uma consulta (query)
    • pg_result_error_field — Returns an individual field of an error report
    • pg_result_error — Retorna a mensagem de erro associada a um resultado
    • pg_result_seek — Altera a posição do ponteiro interno de um recurso (resource) de resultado
    • pg_result_status — Retorna o status do resultado da consulta (query)
    • pg_select — Seleciona registros.
    • pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)
    • pg_send_prepare — Sends a request to create a prepared statement with the given parameters, without waiting for completion
    • pg_send_query_params — Submits a command and separate parameters to the server without waiting for the result(s)
    • pg_send_query — Envia uma consulta (query) assincrona
    • pg_set_client_encoding — Define a codificação do cliente
    • pg_set_error_verbosity — Determines the verbosity of messages returned by pg_last_error and pg_result_error
    • pg_socket — Get a read only handle to the socket underlying a PostgreSQL connection
    • pg_trace — Habilita rastreamento em uma conexão PostgreSQL
    • pg_transaction_status — Returns the current in-transaction status of the server
    • pg_tty — Retorna o nome da tty associada com a conexão
    • pg_unescape_bytea — Faz escape binário para o tipo bytea
    • pg_untrace — Desabilita o rastreamento de uma conexão PostgreSQL
    • pg_update — Atualiza uma tabela.
    • pg_version — Returns an array with client, protocol and server version (when available)


Introdução

O banco de dados PostgreSQL é um produto de código aberto e disponível gratuitamente. O Postgres, desenvolvido originalmente no Departamento de Ciência de Computação da Universidade de Berkeley, foi pioneiro em muitos dos conceitos objeto-relacionais que agora estão disponíveis em alguns bancos de dados comerciais. Fornece suporte a linguagem SQL92/SQL99, integridade de transações e extensibilidade de tipos. O PostgreSQL é um descendente com código aberto do código original desenvolvido em Berkeley.


Dependências

Para usar usar as funções para PostgreSQL, você precisa do PostgreSQL 6.5 ou superior e PostgreSQL 7.0 ou superior para habilitar todos os recursos deste módulo. PostgreSQL suporta inúmeros tipos de codificação de caracteres incluindo a codificação de caracteres multibyte. A versão mais atual e mais informações sobre PostgreSQL estão disponíveis em » http://www.postgresql.org/ e » Documentação do PostgreSQL.


Instalação

In order to enable PostgreSQL support, --with-pgsql[=DIR] is required when you compile PHP. DIR is the PostgreSQL base install directory, defaults to /usr/local/pgsql. If shared object module is available, PostgreSQL module may be loaded using extension directive in php.ini or dl() function.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração do PostgreSQL
Nome | Padrão | Alterável | Changelog
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM | Disponível desde o PHP 4.2.0.
pgsql.ignore_notice | "0" | PHP_INI_ALL | Disponível desde o PHP 4.3.0.
pgsql.log_notice | "0" | PHP_INI_ALL | Disponível desde o PHP 4.3.0.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

pgsql.allow_persistent boolean

Se quer ou não permitir conexões persistentes com o PostgreSQL.

pgsql.max_persistent integer

O número máximo de conexões persistentes com PostgreSQL por processo.

pgsql.max_links integer

O número máximo de conexões PostgreSQL por processo, incluindo as persistentes.

pgsql.auto_reset_persistent integer

Detecta conexões permantentes quebradas pg_pconnect(). Causa uma pequena sobrecarga.

pgsql.ignore_notice integer

Quando ignorar ou não os avisos do PostgreSQL.

pgsql.log_notice integer

Quando ou não realizar ou não o log de avisos do PostgreSQL. A diretiva pgsql.ignore_notice deve estar em off para poder fazer o log dos avisos.


Tipos de Recurso

Há dois tipos de resource usados no módulo PostgreSQL. O primeiro é o identificador do link para a conexão com o banco de dados, o segundo um resource que guarda o resultado de uma query.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

PGSQL_ASSOC (integer)
Usada em pg_fetch_array(). Retorna um array associativo contendo nomes dos campos e valores.
PGSQL_NUM (integer)
Usada em pg_fetch_array(). Retorna um array com índice numérico contendo números dos campos e valores.
PGSQL_BOTH (integer)
Usada em pg_fetch_array(). Retorna um array dos valores do campos com índice numérico (por número do campo) e associativo (por nome do campo).
PGSQL_CONNECT_FORCE_NEW (integer)
Usado em pg_connect() para forçar a criação de nova conexão, ao invés de reutilizar um idêntica existente conexão.
PGSQL_CONNECTION_BAD (integer)
Retornado pela pg_connection_status() indicando que a conexão com o banco de dados está em um estado inválido.
PGSQL_CONNECTION_OK (integer)
Retornado pela pg_connection_status() indicando que a conexão com o banco de dados está em um estado válido.
PGSQL_SEEK_SET (integer)
Usada na pg_lo_seek(). Encontra a operação que foi iniciada no início do objeto.
PGSQL_SEEK_CUR (integer)
Usada na pg_lo_seek(). Encontra a operação que foi iniciada na posição atual.
PGSQL_SEEK_END (integer)
Usada na pg_lo_seek(). Encontra a operação que foi iniciada no final do objeto.
PGSQL_EMPTY_QUERY (integer)
Retornado pela pg_result_status(). A string enviada para o servidor como vazia.
PGSQL_COMMAND_OK (integer)
Retornado pela pg_result_status(). Sucesso completo de um comando não retornando dados.
PGSQL_TUPLES_OK (integer)
Retornado pela pg_result_status(). Sucesso completo de um comando retornando dados (como um SELECT ou SHOW).
PGSQL_COPY_OUT (integer)
Retornado pela pg_result_status(). Copia (do servidor) dados da transferência iniciada.
PGSQL_COPY_IN (integer)
Retornado pela pg_result_status(). Copia (para o servidor) dados da transferência iniciada.
PGSQL_BAD_RESPONSE (integer)
Retornado pela pg_result_status(). A resposta do servidor que não foi entendida.
PGSQL_NONFATAL_ERROR (integer)
Retornado pela pg_result_status(). Um erro não fatal (um notice ou warning) ocorrido.
PGSQL_FATAL_ERROR (integer)
Retornado pela pg_result_status(). Um erro fatal ocorrido.
PGSQL_TRANSACTION_IDLE (integer)
Retornado pela pg_transaction_status(). Conexão está atualmente sem resposta, não em uma transação.
PGSQL_TRANSACTION_ACTIVE (integer)
Retornado pela pg_transaction_status(). Um comando está em progresso na conexão. Um query foi enviada pela conexão e ainda não foi completada.
PGSQL_TRANSACTION_INTRANS (integer)
Retornado pela pg_transaction_status(). A conexão está sem resposta, em um bloco da transação.
PGSQL_TRANSACTION_INERROR (integer)
Retornado pela pg_transaction_status(). A conexão está sem resposta, em uma falha no bloco da transação.
PGSQL_TRANSACTION_UNKNOWN (integer)
Retornado pela pg_transaction_status(). A conexão está ruim.
PGSQL_DIAG_SEVERITY (integer)
Usada na pg_result_error_field(). O conteúdo dos campos são ERROR, FATAL, ou PANIC (em uma mensagem de erro), ou WARNING, NOTICE, DEBUG, INFO, ou LOG (em uma mensagem do tipo notice), ou uma certa tradução de uma dessas. Sempre presente.
PGSQL_DIAG_SQLSTATE (integer)
Usada na pg_result_error_field(). O código SQLSTATE do erro. O código SQLSTATE identifica o tipo do erro ocorrido; ele pode ser usado por aplicações front-end para executar específicas operações (como um manipulador de erro) em resposta para a um particular erro do banco de dados. Esta campo não é localizado, e está sempre presente.
PGSQL_DIAG_MESSAGE_PRIMARY (integer)
Usada pela pg_result_error_field(). A mensagem de erro primário legível (tipicamente em uma linha). Sempre presente.
PGSQL_DIAG_MESSAGE_DETAIL (integer)
Usada pela pg_result_error_field(). Detalhe: uma mensagem de erro secundário carregando mais detalhes sobre o problema. Pode executar múltiplas linhas.
PGSQL_DIAG_MESSAGE_HINT (integer)
Usada pela pg_result_error_field(). Dica: um sugestão opcional sobre o que fazer em relação ao problema. Tem a intenção de fornecer informações (potencialmente inadequadas) ao invés de fatos concretos. Pode retornar múltiplas linhas.
PGSQL_DIAG_STATEMENT_POSITION (integer)
Usado pela pg_result_error_field(). Uma string contendo um inteiro decimal indicando um erro na posição do cursor como um índice para a string do comando. O primeiro caractere tem o índice 1, e posições são medidas em caracteres, não em bytes.
PGSQL_DIAG_INTERNAL_POSITION (integer)
Usado pela pg_result_error_field(). Esta é definida da mesma forma que o campo PG_DIAG_STATEMENT_POSITION, mas ela é usado quando a posição do cursor refere-se a um comando internamente gerado melhor que o enviado pelo client. O campo PG_DIAG_INTERNAL_QUERY irá sempre aparecer quando este campo aparecer.
PGSQL_DIAG_INTERNAL_QUERY (integer)
Usado na pg_result_error_field(). O texto do comando que falhou gerado internamente. Poderá ser, por exemplo, uma query SQL emitindo por uma função PL/pgSQL.
PGSQL_DIAG_CONTEXT (integer)
Usada na pg_result_error_field(). Um indicador de contexto no qual o erro ocorreu. Atualmente isto inclui a call stack da ativa função da linguagem procedural e queries internamentes geradas. O trace é uma entrada por linha, mais recente primeiro.
PGSQL_DIAG_SOURCE_FILE (integer)
Usada na pg_result_error_field(). O nome do arquivo do código-fonte PostgreSQL localiazdo onde o erro foi reportado.
PGSQL_DIAG_SOURCE_LINE (integer)
Usado na pg_result_error_field(). O número da linha do código-fonte PostgreSQL source-code localizado onde o erro foi reportado.
PGSQL_DIAG_SOURCE_FUNCTION (integer)
Usado na pg_result_error_field(). O nome da função the PostgreSQL source-code que reportou o erro.
PGSQL_ERRORS_TERSE (integer)
Usada na pg_set_error_verbosity(). Especifica qual o tipo da mensagem incluida, texto primário, e posição somente; normalmente em uma única linha.
PGSQL_ERRORS_DEFAULT (integer)
Usada na pg_set_error_verbosity(). O modo padrão de mensagem incluidas acima mais alguns detalhe, sugestão, ou contexto do campo (estes podem ter múltiplas linhas).
PGSQL_ERRORS_VERBOSE (integer)
Usada na pg_set_error_verbosity(). O modo verbose inclui todos os campos disponíveis.
PGSQL_STATUS_LONG (integer)
Usada na pg_result_status(). Indica que código de resultado numério é desejado.
PGSQL_STATUS_STRING (integer)
Usada na pg_result_status(). Indica que resultado texto de comando é desejado.
PGSQL_CONV_IGNORE_DEFAULT (integer)
Usado na pg_convert(). Ignora valores padrão na tabela durante a conversão.
PGSQL_CONV_FORCE_NULL (integer)
Usada na pg_convert(). Usa NULL da SQL no lugar de uma string vazia.
PGSQL_CONV_IGNORE_DEFAULT (integer)
Usada na pg_convert(). Ignora conversão de null em colunas SQL NOT NULL.


  • « Constantes pré-definidas
  • »
  • PHP Manual
  • PostgreSQL
  • Exemplos

Exemplos

Índice


  • « Exemplos
  • PostgreSQL Funções »
  • PHP Manual
  • Exemplos

Este simples exemple mostra como conectar, executar uma query, mostrar linhas de resultado e desconectar de um banco de dados PostgreSQL.

Exemplo #1 Exemplo de visão geral da extensão PostgreSQL

<?php
// Connecting, selecting database
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
    or die('Could not connect: ' . pg_last_error());

// Performing SQL query
$query = 'SELECT * FROM authors';
$result = pg_query($query) or die('Query failed: ' . pg_last_error());

// Printing results in HTML
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Free resultset
pg_free_result($result);

// Closing connection
pg_close($dbconn);
?>


PostgreSQL Funções

Notas

Nota:

Nem todas as funções são suportadas por todas as compilações. Isso vai depender da versão da libpq (A interface cliente em C para PostgreSQL) e como esta foi compilada. Se há alguma função ausente, é porque a libpq não suporta a característica exigida por esta função.

Nota:

Muitas funções do PostgreSQL aceitam connection como o primeiro parâmetro opcional. Se ele não é fornecido, a última conexão aberta é usada. Se não existir, a função retorna false.

Nota:

PostgreSQL automaticamente converte todos identificadores (e.g. nomes de tabela/coluna) para minúsculo na criação do objeto e na query. Para força o uso misto de maiúsculo ou minúsculo, você precisa usar escape no identificador usando aspas dupla ("").

Nota:

PostgreSQL não tem comandos especiais para obter informação dos dados do banco de dados (dicionário de dados) (eg. todas as tabelas do banco de dados atual). Ao invés, há um schema padrão chamado information_schema no PostgreSQL 7.4 e superior contendo views do sistema com todas as informações necessárias, em um form fácil de acessá-las. Veja a » Documentação do PostgreSQL para maiores detalhes.

Índice

  • pg_affected_rows — Retorna o número de registros afetados (linhas)
  • pg_cancel_query — Cancela uma consulta (query) assíncrona
  • pg_client_encoding — Retorna a codificação do cliente
  • pg_close — Fecha uma conexão PostgreSQL
  • pg_connect_poll — Poll the status of an in-progress asynchronous PostgreSQL connection attempt
  • pg_connect — Abre uma conexão PostgreSQL
  • pg_connection_busy — Verifica se a conexão está ocupada ou não
  • pg_connection_reset — Reinicia uma conexão (reconecta)
  • pg_connection_status — Retorna o status da conexão
  • pg_consume_input — Reads input on the connection
  • pg_convert — Converte os valores de um array associativo em uma declaração SQL apropriada.
  • pg_copy_from — Insere registros em uma tabela a partir de um array
  • pg_copy_to — Copia uma tabela em um array
  • pg_dbname — Retorna o nome do banco de dados
  • pg_delete — Remove registros.
  • pg_end_copy — Sincroniza com o backend PostgreSQL
  • pg_escape_bytea — Gera binários para o tipo bytea
  • pg_escape_identifier — Escape a identifier for insertion into a text field
  • pg_escape_literal — Escape a literal for insertion into a text field
  • pg_escape_string — Gera string para o tipo text/char
  • pg_execute — Sends a request to execute a prepared statement with given parameters, and waits for the result
  • pg_fetch_all_columns — Fetches all rows in a particular result column as an array
  • pg_fetch_all — Retorna todas as linhas (registros) como um array
  • pg_fetch_array — Retorna uma linha (registro) como um array
  • pg_fetch_assoc — Retorna uma linha (registro) como uma matriz associativa
  • pg_fetch_object — Retorna uma linha (registro) como um objeto
  • pg_fetch_result — Retorna valores a partir de um recurso (resource) de resultado
  • pg_fetch_row — Retorna uma linha como um array enumerado
  • pg_field_is_null — Testa se o campo é null
  • pg_field_name — Retorna o nome de um campo
  • pg_field_num — Retorna o número do campo referido
  • pg_field_prtlen — Retorna o comprimento impresso
  • pg_field_size — Retorna o tamanho de armazenamento interno de um campo
  • pg_field_table — Returns the name or oid of the tables field
  • pg_field_type_oid — Returns the type ID (OID) for the corresponding field number
  • pg_field_type — Retorna o nome do tipo para o campo de nome correspondente
  • pg_flush — Flush outbound query data on the connection
  • pg_free_result — Libera a memória usada pelo resultado
  • pg_get_notify — Gets SQL NOTIFY message
  • pg_get_pid — Gets the backend's process ID
  • pg_get_result — Retorna o resultado de uma consulta (query) assíncrona
  • pg_host — Retorna o nome da máquina associada a uma conexão
  • pg_insert — Insere um array na tabela
  • pg_last_error — Retorna a string da última mensagem de erro de uma conexão
  • pg_last_notice — Retorna a última notificação do servidor PostgreSQL
  • pg_last_oid — Retorna o último oid do objeto
  • pg_lo_close — Fecha um objeto grande (large object)
  • pg_lo_create — Cria um objeto grande (large object)
  • pg_lo_export — Exporta um objeto grande (large object) para um arquivo
  • pg_lo_import — Importa um objeto grande (large object) a partir de um arquivo
  • pg_lo_open — Abre um objeto grande (large object)
  • pg_lo_read_all — Lê um objeto grande (large object) inteiro e o envia diretamente para o navegador
  • pg_lo_read — Lê um objeto grande (large object)
  • pg_lo_seek — Procura uma posição em um objeto grande (large object)
  • pg_lo_tell — Retorna a posição atual de um objeto grande (large object)
  • pg_lo_truncate — Truncates a large object
  • pg_lo_unlink — Remove um objeto grande (large object)
  • pg_lo_write — Escreve em um objeto grande (large object)
  • pg_meta_data — Retorna os metadados da tabela.
  • pg_num_fields — Retorna o número de campos
  • pg_num_rows — Retorna o número de linhas
  • pg_options — Retorna as opções associadas com a conexão
  • pg_parameter_status — Looks up a current parameter setting of the server
  • pg_pconnect — Abre uma conexão PostgreSQL persistente
  • pg_ping — Faz um ping na conexão com o banco de dados
  • pg_port — Retorna o número da porta associada com a conexão.
  • pg_prepare — Submits a request to create a prepared statement with the given parameters, and waits for completion
  • pg_put_line — Envia uma string terminada em NULL para o backend PostgreSQL
  • pg_query_params — Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text
  • pg_query — Executa uma consulta (query)
  • pg_result_error_field — Returns an individual field of an error report
  • pg_result_error — Retorna a mensagem de erro associada a um resultado
  • pg_result_seek — Altera a posição do ponteiro interno de um recurso (resource) de resultado
  • pg_result_status — Retorna o status do resultado da consulta (query)
  • pg_select — Seleciona registros.
  • pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)
  • pg_send_prepare — Sends a request to create a prepared statement with the given parameters, without waiting for completion
  • pg_send_query_params — Submits a command and separate parameters to the server without waiting for the result(s)
  • pg_send_query — Envia uma consulta (query) assincrona
  • pg_set_client_encoding — Define a codificação do cliente
  • pg_set_error_verbosity — Determines the verbosity of messages returned by pg_last_error and pg_result_error
  • pg_socket — Get a read only handle to the socket underlying a PostgreSQL connection
  • pg_trace — Habilita rastreamento em uma conexão PostgreSQL
  • pg_transaction_status — Returns the current in-transaction status of the server
  • pg_tty — Retorna o nome da tty associada com a conexão
  • pg_unescape_bytea — Faz escape binário para o tipo bytea
  • pg_untrace — Desabilita o rastreamento de uma conexão PostgreSQL
  • pg_update — Atualiza uma tabela.
  • pg_version — Returns an array with client, protocol and server version (when available)


Retorna o número de registros afetados (linhas)

  • « PostgreSQL Funções
  • pg_cancel_query »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o número de registros afetados (linhas)

pg_affected_rows

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_affected_rows — Retorna o número de registros afetados (linhas)

Descrição

pg_affected_rows ( resource $result ) : int

pg_affected_rows() retorna o número de linhas (instâncias/registros/linhas) afetados por consultas (queries) INSERT, UPDATE e DELETE executados por pg_query(). Se nenhuma linha foi afetada, ela retornará 0.

Exemplo #1 pg_affected_rows()

<?php
     $result = pg_query($conn, "INSERT INTO authors VALUES ('Orwell', 2002, 'Animal Farm')");
     $cmdtuples = pg_affected_rows($result);
     echo $cmdtuples . " tuples are affected.\n";
?>

Nota:

Esta função costumava ser chamada de pg_cmdtuples().

Veja também pg_query() e pg_num_rows().


Cancela uma consulta (query) assíncrona

  • « pg_affected_rows
  • pg_client_encoding »
  • PHP Manual
  • PostgreSQL Funções
  • Cancela uma consulta (query) assíncrona

pg_cancel_query

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_cancel_query — Cancela uma consulta (query) assíncrona

Descrição

pg_cancel_query ( resource $connection ) : bool

pg_cancel_query() cancela uma consulta (query) assíncrona enviada por pg_send_query(). Você não pode cancelar uma consulta executada por pg_query().

Veja também pg_send_query() e pg_connection_busy().


Retorna a codificação do cliente

  • « pg_cancel_query
  • pg_close »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna a codificação do cliente

pg_client_encoding

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

pg_client_encoding — Retorna a codificação do cliente

Descrição

pg_client_encoding ( resource $connection = ? ) : string

pg_client_encoding() retorna a codificação do cliente como uma string. A string de retorno pode ser SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5, WIN1250.

Nota:

Esta função requer PHP 4.0.3 ou maior e PostgreSQL 7.0 ou maior Se a libpq foi compilada sem suporte a codificação multibyte, pg_set_client_encoding() sempre retornará "SQL_ASCII". As codificações suportadas dependem da versão do PostgreSQL. Vide o manual do PostgreSQL para mais detalhes sobre como habilitar o suporte a multibyte e outras codificações.

Esta função costumava ser chamada pg_clientencoding().

Veja também pg_set_client_encoding().


Fecha uma conexão PostgreSQL

  • « pg_client_encoding
  • pg_connect_poll »
  • PHP Manual
  • PostgreSQL Funções
  • Fecha uma conexão PostgreSQL

pg_close

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_close — Fecha uma conexão PostgreSQL

Descrição

pg_close ( resource $connection ) : bool

pg_close() fecha a conexão não persistente com servidor de banco de dados PostgreSQL associado ao recurso (resource) connection dado. Retorna true em caso de sucesso ou false em caso de falha.

Nota:

Normalmente, o uso de pg_close() não é necessário já que conexões não persistentes abertas são automaticamente fechadas ao final do processamento do script.

Exemplo #1 pg_close() example

<?php
      $dbconn = pg_connect("host=localhost port=5432 dbname=mary")
          or die("Não foi possível conectar");
      print("Conexão bem sucedida");
      pg_close($dbconn);
  ?>

Se existem recursos (resource) de objetos grandes (large objects) abertos na conexão, não feche a conexão antes de fechar todos os recursos relacionados com estes objetos.


Poll the status of an in-progress asynchronous PostgreSQL connection attempt

  • « pg_close
  • pg_connect »
  • PHP Manual
  • PostgreSQL Funções
  • Poll the status of an in-progress asynchronous PostgreSQL connection attempt

pg_connect_poll

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

pg_connect_poll — Poll the status of an in-progress asynchronous PostgreSQL connection attempt

Descrição

pg_connect_poll ( resource $connection ) : int

pg_connect_poll() polls the status of a PostgreSQL connection created by calling pg_connect() with the PGSQL_CONNECT_ASYNC option.

Parâmetros

connection

PostgreSQL database connection resource.

Valor Retornado

Returns PGSQL_POLLING_FAILED, PGSQL_POLLING_READING, PGSQL_POLLING_WRITING, PGSQL_POLLING_OK, or PGSQL_POLLING_ACTIVE.


Abre uma conexão PostgreSQL

  • « pg_connect_poll
  • pg_connection_busy »
  • PHP Manual
  • PostgreSQL Funções
  • Abre uma conexão PostgreSQL

pg_connect

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_connect — Abre uma conexão PostgreSQL

Descrição

pg_connect ( string $connection_string ) : resource

pg_connect() retorna um recurso (resource) de conexão que é necessário para outras funções para PostgreSQL.

pg_connect() abre uma conexão com um servidor de banco de dados PostgreSQL especificado por connection_string. Retorna um recurso (resource) de conexão em caso de sucesso. Retorna false se a conexão não pôde ser estabelecida. connection_string deve ser uma string entre aspas duplas.

Exemplo #1 Usando pg_connect()

<?php
$bdcon = pg_connect("dbname=flavia");
//conecta a um banco de dados chamado "flavia"

$bdcon2 = pg_connect("host=localhost port=5432 dbname=flavia");
// conecta a um banco de dados chamado "flavia" em "localhost" na porta "5432"

$bdcon3 = pg_connect("host=ovelha port=5432 dbname=flavia user=ze password=buu");
//conecta a um banco de dados chamado "flavia" na máquina "ovelha" com um usuário e senha

$con_string = "host=ovelha port=5432 dbname=flavia user=ze password=buu";
$bdcon4 = pg_connect($con_string);
//coneta a um banco de dados chamado "flavia" na máquina "ovelha" com um usuário e senha
?>
Os argumentos disponíveis para connection_string incluem host, port, tty, options, dbname, user e password.

Se uma segunda chamada é feita para pg_connect() com a mesma connection_string, nenhuma nova conexão será estabelecida, ao invés disso, o recurso (resource) de conexão da conexão que já está aberta será retornado. Você pode ter multiplas conexões para o mesmo banco de dados se você usar diferentes strings de conexão.

A sintaxe antiga com parâmetros múltiplos $con = pg_connect("host", "port", "options", "tty", "dbname") se tornou obsoleta.

Veja também pg_pconnect(),
pg_close(), pg_host(),
pg_port(), pg_tty(),
pg_options() e pg_dbname().


Verifica se a conexão está ocupada ou não

  • « pg_connect
  • pg_connection_reset »
  • PHP Manual
  • PostgreSQL Funções
  • Verifica se a conexão está ocupada ou não

pg_connection_busy

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_connection_busy — Verifica se a conexão está ocupada ou não

Descrição

pg_connection_busy ( resource $connection ) : bool

pg_connection_busy() retorna true se a conexão está ocupada. Se estiver ocupada, significa que uma consulta (query) anterior ainda está sendo executada. Se pg_get_result() for chamada, será bloqueada.

Exemplo #1 pg_connection_busy() example

<?php
      $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
      $bs = pg_connection_busy($dbconn);
      if ($bs) {
          echo 'a conexão esta ocupada';
      }
      else {
         echo 'a conexão não esta ocupada';
      }
  ?>

Veja também pg_connection_status() e pg_get_result().


Reinicia uma conexão (reconecta)

  • « pg_connection_busy
  • pg_connection_status »
  • PHP Manual
  • PostgreSQL Funções
  • Reinicia uma conexão (reconecta)

pg_connection_reset

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_connection_reset — Reinicia uma conexão (reconecta)

Descrição

pg_connection_reset ( resource $connection ) : bool

pg_connection_reset() reinicia uma conexão. É útil para recuperação de erros. Retorna true em caso de sucesso ou false em caso de falha.

Exemplo #1 pg_connection_reset() example

<?php
      $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
      $dbconn2 = pg_connection_reset($dbconn);
      if ($dbconn2) {
          echo "reset successful\n";
      }
      else {
          echo "reset failed\n";
      }
  ?>

Veja também pg_connect(),
pg_pconnect() e
pg_connection_status().


Retorna o status da conexão

  • « pg_connection_reset
  • pg_consume_input »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o status da conexão

pg_connection_status

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_connection_status — Retorna o status da conexão

Descrição

pg_connection_status ( resource $connection ) : int

pg_connection_status() retorna o status da conexão. Os status possíveis são PGSQL_CONNECTION_OK e PGSQL_CONNECTION_BAD. O valor de retorno 0 inteiro indica uma conexão bem sucedida.

Exemplo #1 pg_connection_status() example

<?php
    $dbconn = pg_connect("dbname=publisher") or die("Não foi possível conectar");
    $stat = pg_connection_status($dbconn);
    if ($stat === 0) {
        echo 'Connection status ok';
    } else {
        echo 'Connection status bad';
    }
?>

Veja também pg_connection_busy().


Reads input on the connection

  • « pg_connection_status
  • pg_convert »
  • PHP Manual
  • PostgreSQL Funções
  • Reads input on the connection

pg_consume_input

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

pg_consume_input — Reads input on the connection

Descrição

pg_consume_input ( resource $connection ) : bool

pg_consume_input() consumes any input waiting to be read from the database server.

Parâmetros

connection

PostgreSQL database connection resource.

Valor Retornado

true if no error occurred, or false if there was an error. Note that true does not necessarily indicate that input was waiting to be read.


Converte os valores de um array associativo em uma declaração SQL apropriada.

  • « pg_consume_input
  • pg_copy_from »
  • PHP Manual
  • PostgreSQL Funções
  • Converte os valores de um array associativo em uma declaração SQL apropriada.

pg_convert

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_convert — Converte os valores de um array associativo em uma declaração SQL apropriada.

Descrição

pg_convert ( resource $connection , string $table_name , array $assoc_array , int $options = ? ) : array

pg_convert() checa e converte assoc_array em uma declaração SQL apropriada. Pré-condição para pg_convert() é a existencia de uma tabela table_name a qual teve ter tantos campos quantos os elementos em assoc_array. Os nomes dos campos em e os valores em table_name devem ser iguais aos índices e valores em assoc_array. Retorna uma matriz com os valores convertidos em caso de sucesso ou se não, false.

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja também pg_meta_data().


Insere registros em uma tabela a partir de um array

  • « pg_convert
  • pg_copy_to »
  • PHP Manual
  • PostgreSQL Funções
  • Insere registros em uma tabela a partir de um array

pg_copy_from

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_copy_from — Insere registros em uma tabela a partir de um array

Descrição

pg_copy_from ( resource $connection , string $table_name , array $rows , string $delimiter = ? , string $null_as = ? ) : bool

pg_copy_from() insere registros em uma tabela a partir de rows. Usa o comando interno COPY FROM para inserir registros. Retorna true em caso de sucesso ou false em caso de falha.

Veja também pg_copy_to().


Copia uma tabela em um array

  • « pg_copy_from
  • pg_dbname »
  • PHP Manual
  • PostgreSQL Funções
  • Copia uma tabela em um array

pg_copy_to

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_copy_to — Copia uma tabela em um array

Descrição

pg_copy_to ( resource $connection , string $table_name , string $delimiter = ? , string $null_as = ? ) : int

pg_copy_to() copia uma tabela em um array. Utiliza internamente o comando SQL COPY TO para inserir os registros. Seu retorno é o array resultante. Caso haja falhas, false é retornado.

Veja também pg_copy_from().


Retorna o nome do banco de dados

  • « pg_copy_to
  • pg_delete »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o nome do banco de dados

pg_dbname

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_dbname — Retorna o nome do banco de dados

Descrição

pg_dbname ( resource $connection ) : string

pg_dbname() retorna o nome do banco de dados para um dado recurso (resource) de conexão connection. Retorna false, se connection não é um recurso de conexão PostgreSQL válido.

Exemplo #1 pg_dbname() example

<?php
    error_reporting(E_ALL);

    pg_connect("host=localhost port=5432 dbname=mary");
    echo pg_dbname(); // mary
?>


Remove registros.

  • « pg_dbname
  • pg_end_copy »
  • PHP Manual
  • PostgreSQL Funções
  • Remove registros.

pg_delete

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_delete — Remove registros.

Descrição

pg_delete ( resource $connection , string $table_name , array $assoc_array , int $options = ? ) : mixed

pg_delete() remove registros que seguem a condição especificada por assoc_array que tem o formato campo => valor. Se options for especificado, pg_convert() é aplicada a assoc_array com a opção especificada.

Exemplo #1 pg_delete

<?php
    $db = pg_connect ('dbname=flavia');
    // Isto é seguro, já que $_POST é convertido automaticamente
    $res = pg_delete($db, 'post_log', $_POST);
    if ($res) {
        echo "Dados de POST foram removidos: $res\n";
    } else {
        echo "O usuário deve ter enviado parâmetros inválidos\n";
    }
?>

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja também pg_convert().


Sincroniza com o backend PostgreSQL

  • « pg_delete
  • pg_escape_bytea »
  • PHP Manual
  • PostgreSQL Funções
  • Sincroniza com o backend PostgreSQL

pg_end_copy

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

pg_end_copy — Sincroniza com o backend PostgreSQL

Descrição

pg_end_copy ( resource $connection = ? ) : bool

pg_end_copy() sincroniza o frontend PostgreSQL (geralmente um processo de servidor HTTP) com o servidor PostgreSQL depois de fazer uma operação de cópia usando pg_put_line(). pg_end_copy() deve ser chamada, caso contrário o servidor PostgreSQL pode perder a sincronia com o frontend fazendo com que o servidor gere um erro. Retorna true em caso de sucesso ou false em caso de falha.

Para maiores detalhes e um exemplo, veja também pg_put_line().


Gera binários para o tipo bytea

  • « pg_end_copy
  • pg_escape_identifier »
  • PHP Manual
  • PostgreSQL Funções
  • Gera binários para o tipo bytea

pg_escape_bytea

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_escape_bytea — Gera binários para o tipo bytea

Descrição

pg_escape_bytea ( string $data ) : string

pg_escape_bytea() gera uma string do tipo bytea. Retorna uma string com escapes.

Nota:

Quando você usa SELECT bytea type, o PostgreSQL retorna valores de byte octais prefixados por \ (ex.: \032). Usuários devem converter de volta para binários por si mesmos.

Esta função exige PostgreSQL 7.2 ou superior. Com PostgreSQL 7.2.0 e 7.2.1, o tipo de dados bytea deve ser criado quando você habilita o suporte a multi-byte. Por exemplo, INSERT INTO tabela_teste (imagem) VALUES ('$imagem_escaped'::bytea); PostgreSQL 7.2.2 ou superior não precisa de coerção (cast). A exceção é quando a codificação de caracteres do cliente e do backend não combinam, então pode haver erro de fluxo de multi-byte. O usuário deve fazer a coerção (cast) para bytea para evitar este erro.

Veja também: pg_unescape_bytea() e pg_escape_string().


Escape a identifier for insertion into a text field

  • « pg_escape_bytea
  • pg_escape_literal »
  • PHP Manual
  • PostgreSQL Funções
  • Escape a identifier for insertion into a text field

pg_escape_identifier

(PHP 5 >= 5.4.4, PHP 7, PHP 8)

pg_escape_identifier — Escape a identifier for insertion into a text field

Descrição

pg_escape_identifier ( resource $connection = ? , string $data ) : string

pg_escape_identifier() escapes a identifier (e.g. table, field names) for querying the database. It returns an escaped identifier string for PostgreSQL server. pg_escape_identifier() adds double quotes before and after data. Users should not add double quotes. Use of this function is recommended for identifier parameters in query. For SQL literals (i.e. parameters except bytea), pg_escape_literal() or pg_escape_string() must be used. For bytea type fields, pg_escape_bytea() must be used instead.

Nota:

This function has internal escape code and can also be used with PostgreSQL 8.4 or less.

Parâmetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

data

A string containing text to be escaped.

Valor Retornado

A string containing the escaped data.

Exemplos

Exemplo #1 pg_escape_identifier() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Escape the table name data
  $escaped = pg_escape_identifier($table_name);

  // Select rows from $table_name
  pg_query("SELECT * FROM {$escaped};");
?>

Veja Também

  • pg_escape_literal() - Escape a literal for insertion into a text field
  • pg_escape_bytea() - Gera binários para o tipo bytea
  • pg_escape_string() - Gera string para o tipo text/char


Escape a literal for insertion into a text field

  • « pg_escape_identifier
  • pg_escape_string »
  • PHP Manual
  • PostgreSQL Funções
  • Escape a literal for insertion into a text field

pg_escape_literal

(PHP 5 >= 5.4.4, PHP 7, PHP 8)

pg_escape_literal — Escape a literal for insertion into a text field

Descrição

pg_escape_literal ( resource $connection = ? , string $data ) : string

pg_escape_literal() escapes a literal for querying the PostgreSQL database. It returns an escaped literal in the PostgreSQL format. pg_escape_literal() adds quotes before and after data. Users should not add quotes. Use of this function is recommended instead of pg_escape_string(). If the type of the column is bytea, pg_escape_bytea() must be used instead. For escaping identifiers (e.g. table, field names), pg_escape_identifier() must be used.

Nota:

This function has internal escape code and can also be used with PostgreSQL 8.4 or less.

Parâmetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect(). When there is no default connection, it raises E_WARNING and returns false.

data

A string containing text to be escaped.

Valor Retornado

A string containing the escaped data.

Exemplos

Exemplo #1 pg_escape_literal() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Read in a text file (containing apostrophes and backslashes)
  $data = file_get_contents('letter.txt');

  // Escape the text data
  $escaped = pg_escape_literal($data);

  // Insert it into the database. Note that no quotes around {$escaped}
  pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', {$escaped})");
?>

Veja Também

  • pg_escape_identifier() - Escape a identifier for insertion into a text field
  • pg_escape_bytea() - Gera binários para o tipo bytea
  • pg_escape_string() - Gera string para o tipo text/char


Gera string para o tipo text/char

  • « pg_escape_literal
  • pg_execute »
  • PHP Manual
  • PostgreSQL Funções
  • Gera string para o tipo text/char

pg_escape_string

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_escape_string — Gera string para o tipo text/char

Descrição

pg_escape_string ( string $data ) : string

pg_escape_string() gera strings do tipo text/chat. Retorna uma string com escapes para PostgreSQL. O uso desta função é recomendado no lugar de addslashes().

Nota:

Esta função exige PostgreSQL 7.2 ou superior.

Veja também pg_escape_bytea()


Sends a request to execute a prepared statement with given parameters, and waits for the result

  • « pg_escape_string
  • pg_fetch_all_columns »
  • PHP Manual
  • PostgreSQL Funções
  • Sends a request to execute a prepared statement with given parameters, and waits for the result

pg_execute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_execute — Sends a request to execute a prepared statement with given parameters, and waits for the result

Descrição

pg_execute ( resource $connection = ? , string $stmtname , array $params ) : resource|false

Sends a request to execute a prepared statement with given parameters, and waits for the result.

pg_execute() is like pg_query_params(), but the command to be executed is specified by naming a previously-prepared statement, instead of giving a query string. This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. The statement must have been prepared previously in the current session. pg_execute() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

The parameters are identical to pg_query_params(), except that the name of a prepared statement is given instead of a query string.

Parâmetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name of the prepared statement to execute. if "" is specified, then the unnamed statement is executed. The name must have been previously prepared using pg_prepare(), pg_send_prepare() or a PREPARE SQL command.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Aviso

Elements are converted to strings by calling this function.

Valor Retornado

A query result resource on success ou false em caso de falha.

Exemplos

Exemplo #1 Using pg_execute()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Execute the prepared query.  Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Execute the same prepared query, this time with a different parameter
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Veja Também

  • pg_prepare() - Submits a request to create a prepared statement with the given parameters, and waits for completion
  • pg_send_prepare() - Sends a request to create a prepared statement with the given parameters, without waiting for completion
  • pg_query_params() - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text


Fetches all rows in a particular result column as an array

  • « pg_execute
  • pg_fetch_all »
  • PHP Manual
  • PostgreSQL Funções
  • Fetches all rows in a particular result column as an array

pg_fetch_all_columns

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_fetch_all_columns — Fetches all rows in a particular result column as an array

Descrição

pg_fetch_all_columns ( resource $result , int $column = 0 ) : array

pg_fetch_all_columns() returns an array that contains all rows (records) in a particular column of the result resource.

Nota: Esta função assimila campos NULL para o o null do PHP.

Parâmetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

column

Column number, zero-based, to be retrieved from the result resource. Defaults to the first column if not specified.

Valor Retornado

An array with all values in the result column.

false is returned if column is larger than the number of columns in the result, or on any other error.

Exemplos

Exemplo #1 pg_fetch_all_columns() example

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occurred.\n";
  exit;
}

$result = pg_query($conn, "SELECT title, name, address FROM authors");
if (!$result) {
  echo "An error occurred.\n";
  exit;
}

// Get an array of all author names
$arr = pg_fetch_all_columns($result, 1);

var_dump($arr);

?>

Veja Também

  • pg_fetch_all() - Retorna todas as linhas (registros) como um array


Retorna todas as linhas (registros) como um array

  • « pg_fetch_all_columns
  • pg_fetch_array »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna todas as linhas (registros) como um array

pg_fetch_all

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_fetch_all — Retorna todas as linhas (registros) como um array

Descrição

pg_fetch_all ( resource $result ) : array

pg_fetch_all() retorna uma array que contém todas as linhas (registros) do recurso (resourse) de resultado. Retorna false, se não existem mais registros.

Exemplo #1 Retornando linhas (registros) no PostgreSQL

<?php
$conn = pg_pconnect("dbname=escritor");
if (!$conn) {
    echo "Ocorreu um erro!\n";
    exit;
}

$result = pg_query($conn, "SELECT * FROM authors");
if (!$result) {
    echo "Ocorreu um erro!\n";
    exit;
}

$arr = pg_fetch_all($result);

var_dump($arr);

?>

 Veja também pg_fetch_row(),
pg_fetch_array(),
pg_fetch_object() e
pg_fetch_result().


Retorna uma linha (registro) como um array

  • « pg_fetch_all
  • pg_fetch_assoc »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna uma linha (registro) como um array

pg_fetch_array

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_fetch_array — Retorna uma linha (registro) como um array

Descrição

pg_fetch_array ( resource $result , int $row = ? , int $result_type = ? ) : array

pg_fetch_array() retorna um array que corresponde à linha (registro). Retorna false se não existem mais linhas.

pg_fetch_array() é uma versão extendida de pg_fetch_row(). Além de armazenar os dados em índices numéricos (índice) no array resultante, também armazena os dados em chaves associativas (nome do campo) por padrão.

row é o número da linha (registro) a ser recuperado. A primeira linha é 0.

result_type é um parâmetro opcional que controla como o valor de retorno é iniciado. result_type é uma constante e pode ter os seguintes valores: PGSQL_ASSOC, PGSQL_NUM, e PGSQL_BOTH. pg_fetch_array() retorna um array associativo que tem o nome de campo como chave para PGSQL_ASSOC. Índice de campo como chave com PGSQL_NUM e ambos nome/índice numérico como chave com PGSQL_BOTH. O valor padrão é PGSQL_BOTH.

Nota:

O parâmetro result_type foi adicionado no PHP 4.0.

pg_fetch_array() NÃO é significativamente mais lenta que pg_fetch_row(), e ainda fornece uma significativa facilidade de uso.

Exemplo #1 Retornando linhas (registros) no PostgreSQL

<?php
$conn = pg_pconnect("dbname=publicar");
if (!$conn) {
    echo "Um erro ocorreu.\n";
    exit;
}

$result = pg_query($conn, "SELECT * FROM autores");
if (!$result) {
    echo "Um erro ororreu.\n";
    exit;
}

$arr = pg_fetch_array($result, 0, PGSQL_NUM);
echo $arr[0] . " <- array\n";

$arr = pg_fetch_array($result, 1, PGSQL_ASSOC);
echo $arr["autor"] . " <- array\n";

?>

Nota:

A partir do PHP 4.1.0, row tornou-se opcional. A chamada pg_fetch_array() irá incrementar o contador de linha interno em 1.

Veja também pg_fetch_row(), pg_fetch_object() e pg_fetch_result().


Retorna uma linha (registro) como uma matriz associativa

  • « pg_fetch_array
  • pg_fetch_object »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna uma linha (registro) como uma matriz associativa

pg_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_fetch_assoc — Retorna uma linha (registro) como uma matriz associativa

Descrição

pg_fetch_assoc ( resource $result , int $row = ? ) : array

pg_fetch_assoc() retorna um array associativo que corresponde à linha (registro) recuperado. Retorna false, se não houver mais registros.

pg_fetch_assoc() é equivalente a usar pg_fetch_row() com PGSQL_ASSOC para o terceiro parâmetro. Ela guarda dados em matrizes com chaves associativas (nome do campo). Se você precisar utilizar os índices numéricos use pg_fetch_row().

row é o número da linha (registro) a ser recuperado. A primeira linha é 0.

pg_fetch_assoc() NÃO é significativamente mais lenta que pg_fetch_row(), e ainda fornece uma significativa facilidade de uso.

Exemplo #1 Retornando linhas (registros) no PostgreSQL

<?php
$conn = pg_pconnect("dbname=revista");
if (!$conn) {
    echo "Ocorreu um erro.\n";
    exit;
}

$result = pg_query($conn, "SELECT * FROM authors");
if (!$result) {
    echo "Ocorreu um erro.\n";
    exit;
}

while ($row = pg_fetch_assoc($result)) {
      echo $row['id'];
      echo $row['author'];
      echo $row['email'];
}

?>

Veja também pg_fetch_row(),
pg_fetch_array(),
pg_fetch_object() e
pg_fetch_result().


Retorna uma linha (registro) como um objeto

  • « pg_fetch_assoc
  • pg_fetch_result »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna uma linha (registro) como um objeto

pg_fetch_object

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_fetch_object — Retorna uma linha (registro) como um objeto

Descrição

pg_fetch_object ( resource $result , int $row , int $result_type = ? ) : objeto

pg_fetch_object() retorna um objeto com propriedades que correspondem à linha recuperada. Retorna false se não existem mais linhas ou no caso de erro.

pg_fetch_object() é similar a pg_fetch_array(), com uma diferença - um objeto é retornado, ao invés de um array. Indiretamente, isto significa que você pode acessar os dados somente através dos nomes de campos, e não por seus índices (números são nomes inválidos de propriedades).

row é o número da linha (registro) a ser recuperada. A primeira linha é 0.

Em termos de performance, a função é idêntica a pg_fetch_array(), e quase tão rápida quanto pg_fetch_row() (a diferença é insignificante).

Nota:

A partir do PHP 4.1.0, row é opcional.

A partir do PHP 4.3.0, result_type tem PGSQL_ASSOC como valor padrão, enquanto em outras versões mais antigas o padrão é PGSQL_BOTH. Não há utilidade para a propriedade numérica, já que nomes de propriedades numéricas são inválidas em PHP.

O parâmetro result_type deverá ser removido em versões futuras.

Exemplo #1 Postgres fetch object

<?php

$database = "store";

$db_conn = pg_connect("host=localhost port=5432 dbname=$database");
if (!$db_conn) {
    echo "Failed connecting to postgres database $database\n";
    exit;
}

$qu = pg_query($db_conn, "SELECT * FROM books ORDER BY author");

$row = 0; // postgres needs a row counter

while ($data = pg_fetch_object($qu, $row)) {
    echo $data->author . " (";
    echo $data->year . "): ";
    echo $data->title . "<br />";
    $row++;
}

pg_free_result ($qu);
pg_close ($db_conn);
?>

Nota:

A partir do PHP 4.1.0, row tornou-se opcional. Ao chamar pg_fetch_object() o contador de linhas interno será acrescentado de 1.

Veja também
pg_query(),
pg_fetch_array(),
pg_fetch_row() e
pg_fetch_result().


Retorna valores a partir de um recurso (resource) de resultado

  • « pg_fetch_object
  • pg_fetch_row »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna valores a partir de um recurso (resource) de resultado

pg_fetch_result

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_fetch_result — Retorna valores a partir de um recurso (resource) de resultado

Descrição

pg_fetch_result ( resource $result , int $row , mixed $field ) : misto

pg_fetch_result() retorna valores a partir de um recurso (resource) de resultado result criado por pg_query(). row é um inteiro. field é um nome de campo (string) ou um índice de campo (inteiro). row e field especificam que célula da tabela deve ser recuperada. A numeração de linhas começa de 0. Ao invés de nomear o campo, você pode usar o índice numérico de campo sem aspas. Índices de campo iniciam-se em 0.

PostgreSQL tem muitos tipos internos mas apenas os tipos básicos são suportados. Todas as formas de tipo integer são retornadas como valores integer. Todas as formas de tipos reais (ponto flutuante) são retornados como valores float. Boolean é retornado como "t" ou "f". Todos os outros tipos, incluindo arrays, são retornados como strings formatadas na mesma maneira padrão que o PostgreSQL retornaria com o programa psql.


Retorna uma linha como um array enumerado

  • « pg_fetch_result
  • pg_field_is_null »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna uma linha como um array enumerado

pg_fetch_row

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_fetch_row — Retorna uma linha como um array enumerado

Descrição

pg_fetch_row ( resource $result , int $row ) : array

pg_fetch_row() retorna uma linha de dados a partir do resultado associado com o recurso (resource) de resultado result. A linha (registro) é recuperada como um array. Cada coluna do resultado é armazenada em um índice do array, iniciando-se no índice 0.

Retorna um array que corresponde à linha carregada, ou false se não existem mais linhas.

Exemplo #1 Retornando linhas (registros) no PostgreSQL

<?php
$conn = pg_pconnect("dbname=editora");
if (!$conn) {
    echo "Um erro ocorreu.\n";
    exit;
}

$result = pg_query($conn, "SELECT * FROM autores");
if (!$result) {
    echo "Um erro ocorreu.\n";
    exit;
}

while ($row=pg_fetch_row($result,$i)) {
  for($j=0; $j < count($row); $j++) {
     echo $row[$j] . "&nbsp;";
  }

  echo "<br />\n";

}

?>

Nota:

A partir do PHP 4.1.0, row tornou-se opcional. Ao chamar pg_fetch_row(), o contador de linha interno será incrementado em 1.

Veja também pg_query(),
pg_fetch_array(),
pg_fetch_object() e
pg_fetch_result().


Testa se o campo é null

  • « pg_fetch_row
  • pg_field_name »
  • PHP Manual
  • PostgreSQL Funções
  • Testa se o campo é null

pg_field_is_null

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_field_is_null — Testa se o campo é null

Descrição

pg_field_is_null ( resource $result , int $row , mixed $field ) : int

pg_field_is_null() testa se um campo é null ou não. Retorna 1 se o campo na linha dada é null. Retorna 0 se o campo na linha dada NÃO é null. O campo pode ser especificado como um índice de coluna (número) ou como o nome de um campo (string). A numeração de linhas inicia-se em 0.

Exemplo #1 pg_field_is_null() example

<?php
    $dbconn = pg_connect("dbname=publisher") or die ("Não foi possível conectar");
    $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
    if ($res) {
        if (pg_field_is_null($res, 0, "ano") == 1) {
            echo "O valor do campo ano é null.\n";
        }
        if (pg_field_is_null($res, 0, "ano") == 0) {
            echo "O valor do campo ano não é null.\n";
      }
   }
?>

Nota:

Esta função era chamada pg_fieldisnull().


Retorna o nome de um campo

  • « pg_field_is_null
  • pg_field_num »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o nome de um campo

pg_field_name

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_field_name — Retorna o nome de um campo

Descrição

pg_field_name ( resource $result , int $field_number ) : string

pg_field_name() retorna o nome do campo ocupando o campo de número igual a field_number no recurso (resource) de resultado result. A numeração de campo inicia-se em 0.

Exemplo #1 Getting informations about fields

<?php
    $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

    $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
    $i = pg_num_fields($res);
    for ($j = 0; $j < $i; $j++) {
        echo "column $j\n";
        $fieldname = pg_field_name($res, $j);
        echo "fieldname: $fieldname\n";
        echo "printed length: ".pg_field_prtlen($res, $fieldname)." characters\n";
        echo "storage length: ".pg_field_size($res, $j)." bytes\n";
        echo "field type: ".pg_field_type($res, $j)." \n\n";
}
?>

The above example would produce the following output:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

Nota:

Esta função era chamada pg_fieldname().

Veja também pg_field_num().


Retorna o número do campo referido

  • « pg_field_name
  • pg_field_prtlen »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o número do campo referido

pg_field_num

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_field_num — Retorna o número do campo referido

Descrição

pg_field_num ( resource $result , string $field_name ) : int

pg_field_num() irá retornar o número da vaga (slot) da coluna (campo) que corresponde a field_name no recurso (resource) de resultado result. A numeração de campo inicia-se em 0. Esta função retornará -1 em caso de erro.

Veja o exemplo dado na pagina pg_field_name().

Nota:

Esta função era chamada pg_fieldnum().

Veja também pg_field_name().


Retorna o comprimento impresso

  • « pg_field_num
  • pg_field_size »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o comprimento impresso

pg_field_prtlen

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_field_prtlen — Retorna o comprimento impresso

Descrição

pg_field_prtlen ( resource $result , int $row_number , string $field_name ) : int

pg_field_prtlen() retorna o comprimento atual impresso (número de caracteres) de um valor especificado em um recurso (resource) de resultado result. A numeração de linha inicia-se em 0. Esta função retornará -1 em caso de erro.

Veja o exemplo dado na pagina pg_field_name().

Nota:

Esta função era chamada pg_fieldprtlen().

Veja também pg_field_size().


Retorna o tamanho de armazenamento interno de um campo

  • « pg_field_prtlen
  • pg_field_table »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o tamanho de armazenamento interno de um campo

pg_field_size

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_field_size — Retorna o tamanho de armazenamento interno de um campo

Descrição

pg_field_size ( resource $result , int $field_number ) : int

pg_field_size() retorna o tamanho de armazenamento interno (em bytes) do número de campo do recurso (resource) de resultado result. A numeração de campo inicia-se em 0. Um campo de tamanho -1 indica um campo de tamanho variável. Esta função retornará false em caso de erro.

Veja o exemplo dado na pagina pg_field_name().

Nota:

Esta função era chamada pg_fieldsize().

Veja também pg_field_prtlen() e pg_field_type().


Returns the name or oid of the tables field

  • « pg_field_size
  • pg_field_type_oid »
  • PHP Manual
  • PostgreSQL Funções
  • Returns the name or oid of the tables field

pg_field_table

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

pg_field_table — Returns the name or oid of the tables field

Descrição

pg_field_table ( resource $result , int $field_number , bool $oid_only = false ) : mixed

pg_field_table() returns the name of the table that field belongs to, or the table's oid if oid_only is true.

Parâmetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

oid_only

By default the tables name that field belongs to is returned but if oid_only is set to true, then the oid will instead be returned.

Valor Retornado

On success either the fields table name or oid. Or, false on failure.

Exemplos

Exemplo #1 Getting table information about a field

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

$res = pg_query($dbconn, "SELECT bar FROM foo");

echo pg_field_table($res, 0);
echo pg_field_table($res, 0, true);

$res = pg_query($dbconn, "SELECT version()");
var_dump(pg_field_table($res, 0));
?>

O exemplo acima irá imprimir algo similar à:

foo
14379580

bool(false)

Notas

Nota:

Returning the oid is much faster than returning the table name because fetching the table name requires a query to the database system table.

Veja Também

  • pg_field_name() - Retorna o nome de um campo
  • pg_field_type() - Retorna o nome do tipo para o campo de nome correspondente


Returns the type ID (OID) for the corresponding field number

  • « pg_field_table
  • pg_field_type »
  • PHP Manual
  • PostgreSQL Funções
  • Returns the type ID (OID) for the corresponding field number

pg_field_type_oid

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_field_type_oid — Returns the type ID (OID) for the corresponding field number

Descrição

pg_field_type_oid ( resource $result , int $field_number ) : int

pg_field_type_oid() returns an integer containing the OID of the base type of the given field_number in the given PostgreSQL result resource.

You can get more information about the field type by querying PostgreSQL's pg_type system table using the OID obtained with this function. The PostgreSQL format_type() function will convert a type OID into an SQL standard type name.

Nota:

If the field uses a PostgreSQL domain (rather than a basic type), it is the OID of the domain's underlying type that is returned, rather than the OID of the domain itself.

Parâmetros

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

Valor Retornado

The OID of the field's base type. false is returned on error.

Exemplos

Exemplo #1 Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Assume 'title' is a varchar type
  $res = pg_query($dbconn, "select title from authors where author = 'Orwell'");

  echo "Title field type OID: ", pg_field_type_oid($res, 0);
?>

O exemplo acima irá imprimir:

Title field type OID: 1043

Veja Também

  • pg_field_type() - Retorna o nome do tipo para o campo de nome correspondente
  • pg_field_prtlen() - Retorna o comprimento impresso
  • pg_field_name() - Retorna o nome de um campo


Retorna o nome do tipo para o campo de nome correspondente

  • « pg_field_type_oid
  • pg_flush »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o nome do tipo para o campo de nome correspondente

pg_field_type

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_field_type — Retorna o nome do tipo para o campo de nome correspondente

Descrição

pg_field_type ( resource $result , int $field_number ) : string

pg_field_type() retorna uma string contendo o nome do tipo do campo de número field_number dado no recurso (resource) de resultado result. A numeração de campo inicia-se em 0.

Veja o exemplo dado na pagina pg_field_name().

Nota:

Esta função era chamada pg_fieldtype().

Veja também pg_field_prtlen() e pg_field_type().


Flush outbound query data on the connection

  • « pg_field_type
  • pg_free_result »
  • PHP Manual
  • PostgreSQL Funções
  • Flush outbound query data on the connection

pg_flush

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

pg_flush — Flush outbound query data on the connection

Descrição

pg_flush ( resource $connection ) : mixed

pg_flush() flushes any outbound query data waiting to be sent on the connection.

Parâmetros

connection

PostgreSQL database connection resource.

Valor Retornado

Returns true if the flush was successful or no data was waiting to be flushed, 0 if part of the pending data was flushed but more remains ou false em caso de falha.


Libera a memória usada pelo resultado

  • « pg_flush
  • pg_get_notify »
  • PHP Manual
  • PostgreSQL Funções
  • Libera a memória usada pelo resultado

pg_free_result

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_free_result — Libera a memória usada pelo resultado

Descrição

pg_free_result ( resource $result ) : bool

pg_free_result() precisa ser usada apenas se você está preocupado em usar muita memória enquanto seu script está rodando. Todos os resultados serão liberados da memória automaticamente assim que o script terminar de executar. Mas, se você tem certeza que não precisará mais dos dados do resultado em um script, você pode chamar pg_free_result() com o recurso (resource) de resultado result como argumento e a memória ocupada pelo resultado associado será liberada. Retorna true em caso de sucesso ou false em caso de falha.

Nota:

Esta função era chamada pg_field_len().

Veja também pg_query().


Gets SQL NOTIFY message

  • « pg_free_result
  • pg_get_pid »
  • PHP Manual
  • PostgreSQL Funções
  • Gets SQL NOTIFY message

pg_get_notify

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_get_notify — Gets SQL NOTIFY message

Descrição

pg_get_notify ( resource $connection , int $result_type = ? ) : array

pg_get_notify() gets notifications generated by a NOTIFY SQL command. To receive notifications, the LISTEN SQL command must be issued.

Parâmetros

connection

PostgreSQL database connection resource.

result_type

An optional parameter that controls how the returned array is indexed. result_type is a constant and can take the following values: PGSQL_ASSOC, PGSQL_NUM and PGSQL_BOTH. Using PGSQL_NUM, pg_get_notify() will return an array with numerical indices, using PGSQL_ASSOC it will return only associative indices while PGSQL_BOTH, the default, will return both numerical and associative indices.

Valor Retornado

An array containing the NOTIFY message name and backend PID. As of PHP 5.4.0 and if supported by the server, the array also contains the server version and the payload. Otherwise if no NOTIFY is waiting, then false is returned.

Exemplos

Exemplo #1 PostgreSQL NOTIFY message

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occurred.\n";
  exit;
}

// Listen 'author_updated' message from other processes
pg_query($conn, 'LISTEN author_updated;');
$notify = pg_get_notify($conn);
if (!$notify) {
  echo "No messages\n";
} else {
  print_r($notify);
}
?>

Veja Também

  • pg_get_pid() - Gets the backend's process ID


Gets the backend's process ID

  • « pg_get_notify
  • pg_get_result »
  • PHP Manual
  • PostgreSQL Funções
  • Gets the backend's process ID

pg_get_pid

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_get_pid — Gets the backend's process ID

Descrição

pg_get_pid ( resource $connection ) : int

pg_get_pid() gets the backend's (database server process) PID. The PID is useful to determine whether or not a NOTIFY message received via pg_get_notify() is sent from another process or not.

Parâmetros

connection

PostgreSQL database connection resource.

Valor Retornado

The backend database process ID.

Exemplos

Exemplo #1 PostgreSQL backend PID

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occurred.\n";
  exit;
}

// Backend process PID. Use PID with pg_get_notify()
$pid = pg_get_pid($conn);
?>

Veja Também

  • pg_get_notify() - Gets SQL NOTIFY message


Retorna o resultado de uma consulta (query) assíncrona

  • « pg_get_pid
  • pg_host »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o resultado de uma consulta (query) assíncrona

pg_get_result

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_get_result — Retorna o resultado de uma consulta (query) assíncrona

Descrição

pg_get_result ( resource $connection = ? ) : resource

pg_get_result() retorna o recurso (resource) de resultado de uma consulta (query) executada por ps_send_query(). pg_send_query() pode enviar múltiplas consultas (queries) ao servidor PostgreSQL e pg_get_result() é usada para carregar os resultados das consultas, um por um. Retorna o recurso (resource) de resultado. Se não houverem mais resultados, retorna false.


Retorna o nome da máquina associada a uma conexão

  • « pg_get_result
  • pg_insert »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o nome da máquina associada a uma conexão

pg_host

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_host — Retorna o nome da máquina associada a uma conexão

Descrição

pg_host ( resource $connection ) : string

pg_host() retorna o nome da máquina com a qual o recurso (resource) de conexão connection está conectado.

Veja também pg_connect() e pg_pconnect().


Insere um array na tabela

  • « pg_host
  • pg_last_error »
  • PHP Manual
  • PostgreSQL Funções
  • Insere um array na tabela

pg_insert

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_insert — Insere um array na tabela

Descrição

pg_insert ( resource $connection , string $table_name , array $assoc_array , int $options = ? ) : bool

pg_insert() insere os valores de assoc_array na tabela especificada por table_name. table_name deve ter no mínimo tantas colunas quanto forem os elementos em assoc_array. Os nomes dos campos assim como os valores em table_name devem ser iguais aos índices e valores de assoc_array. Retorna true em caso de sucesso ou false em caso de falha. Se o parâmetro options for especificado, pg_insert() é aplicado em assoc_array com a opção especificada.

Exemplo #1 pg_insert

<?php
    $db = pg_connect ('dbname=meubanco');
    // Isto é seguro uma vez que $_POST é convertido automaticamente
    $res = pg_insert($db, 'post_log', $_POST);
    if ($res) {
        echo "Dados POST arquivados com sucesso\n";
    }
    else {
        echo "O usuário deve ter inserido entradas inválidas\n";
    }
?>

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja também pg_convert().


Retorna a string da última mensagem de erro de uma conexão

  • « pg_insert
  • pg_last_notice »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna a string da última mensagem de erro de uma conexão

pg_last_error

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_last_error — Retorna a string da última mensagem de erro de uma conexão

Descrição

pg_last_error ( resource $connection ) : string

pg_last_error() retorna a última mensagem de erro para a conexão representada por connection.

As mensagens de erro podem ser sobrescritas por chamadas internas ao PostgreSQL(libpq). Se múltiplos erros ocorrerem dentro de um módulo de função do PostgreSQL, pode não retornar a mensagem de erro correta.

Use pg_result_error(),
pg_result_status() e
pg_connection_status() para um melhor tratamento de
erros.

Nota:

Esta função era chamada pg_errormessage().

Veja também pg_result_error().


Retorna a última notificação do servidor PostgreSQL

  • « pg_last_error
  • pg_last_oid »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna a última notificação do servidor PostgreSQL

pg_last_notice

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

pg_last_notice — Retorna a última notificação do servidor PostgreSQL

Descrição

pg_last_notice ( resource $connection ) : string

pg_last_notice() retorna a última notificação do servidor PostgreSQL especificada por connection. O servidor PostgreSQL envia notificações em diversas situações, por exemplo, se as transações não puderem continuar. Com pg_last_notice() você pode evitar a chamada de consultas (queries) inúteis, checando quando a notificação está relacionada ou não com a transação.

Aviso

Esta função é EXPERIMENTAL e ainda não está completamente implementada. pg_last_notice() foi adicionada no PHP 4.0.6. Entretanto o PHP 4.0.6 tem problemas com a manipulação de mensagens. O uso do módulo PostgreSQL com o PHP 4.0.6 não é recomendada, mesmo se você não estiver usando pg_last_notice().

Esta função está totalmente implementada no PHP 4.3.0. Versões do PHP mais recentes que a 4.3.0 ignoram o parâmetro de conexão com o banco de dados.

O rastreamento de notificações pode ser definido como opcional definindo 1 para a diretiva pgsql.ignore_notice no php.ini do PHP 4.3.0.

O arquivamento (log) de mensagems pode ser pode ser definido como opcional mudando para 0 a diretiva pgsql.log_notice no php.ini do PHP 4.3.0. A não ser que pgsql.ignore_notice estiver definida para 0, notificações não podem ser arquivadas.

Veja também pg_query() e pg_last_error().


Retorna o último oid do objeto

  • « pg_last_notice
  • pg_lo_close »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o último oid do objeto

pg_last_oid

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_last_oid — Retorna o último oid do objeto

Descrição

pg_last_oid ( resource $result ) : int

pg_last_oid() é usado para recuperar o oid designado a uma linha (registro) se o recurso (resource) de resultado é usado a partir do último comando enviado através de pq_query() se este comando era um INSERT do SQL. Retorna um inteiro positivo se havia um oid válido. Retorna false se um erro ocorrer ou o último comando enviado através de pg_query() não foi INSERT ou se o INSERT falhou.

O campo OID tornou-se opcional a partir do PostgreSQL 7.2. Quando um campo OID não é definido em uma tabela, o programador deve usar pg_result_status() para checar se o registro foi inserido com sucesso ou não.

Nota:

Esta função era chamada pg_getlastoid().

Veja também pg_query() e pg_result_status()


Fecha um objeto grande (large object)

  • « pg_last_oid
  • pg_lo_create »
  • PHP Manual
  • PostgreSQL Funções
  • Fecha um objeto grande (large object)

pg_lo_close

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_close — Fecha um objeto grande (large object)

Descrição

pg_lo_close ( resource $large_object ) : bool

pg_lo_close() fecha um Objeto Grande (Large Object, daí vem o "lo" que integra o nome da função). large_object é um recurso (resource) para o objeto grande gerado a partir de pg_lo_open().

Para usar a interface de objetos grandes (lo), é necessário encapsulá-lo em um bloco de transação.

Nota:

Esta função era chamada pg_loclose().

Veja também pg_lo_open(),
pg_lo_create() e
pg_lo_import().


Cria um objeto grande (large object)

  • « pg_lo_close
  • pg_lo_export »
  • PHP Manual
  • PostgreSQL Funções
  • Cria um objeto grande (large object)

pg_lo_create

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_create — Cria um objeto grande (large object)

Descrição

pg_lo_create ( resource $connection ) : int

pg_lo_create() cria um Objeto Grande (Large Object) e retorna o seu oid. connection especifica uma conexão a um banco de dados válida aberta por pg_connect() ou pg_pconnect(). Os modos de acesso INV_READ, INV_WRITE e INV_ARCHIVE não são suportados, o objeto é criado sempre com acesso a leitura e escrita. INV_ARCHIVE foi removido do próprio PostgreSQL (a partir da 6.3). Retorna o oid do objeto. Retorna false se um erro ocorrer.

Para usar a interface de objetos grandes (lo), é necessário encapsulá-lo em um bloco de transação.

Nota:

Esta função era chamada pg_locreate().


Exporta um objeto grande (large object) para um arquivo

  • « pg_lo_create
  • pg_lo_import »
  • PHP Manual
  • PostgreSQL Funções
  • Exporta um objeto grande (large object) para um arquivo

pg_lo_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_export — Exporta um objeto grande (large object) para um arquivo

Descrição

pg_lo_export ( int $oid , string $pathname , resource $connection = ? ) : bool

O argumento oid especifica o oid do objeto grande (large object) a exportar e o argumento pathname especifica o caminho até o arquivo. Retorna false se um erro ocorrer, caso contrário retorna true.

Para usar a interface de objetos grandes (lo), é necessário encapsulá-lo em um bloco de transação.

Nota:

Esta função era chamada pg_loexport().

Veja também pg_lo_import().


Importa um objeto grande (large object) a partir de um arquivo

  • « pg_lo_export
  • pg_lo_open »
  • PHP Manual
  • PostgreSQL Funções
  • Importa um objeto grande (large object) a partir de um arquivo

pg_lo_import

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_import — Importa um objeto grande (large object) a partir de um arquivo

Descrição

pg_lo_import ( resource $connection = ? , string $pathname ) : int

Em versões anteriores a 4.2.0, a sintaxe desta função é diferente, veja a seguinte definição:

pg_lo_import ( string $pathname , resource $connection = ? ) : int

O argumento pathname especifica o caminho do arquivo a ser importado como um objeto grande (large object). Retorna false se um erro ocorrer, caso contrário, retorna o oid do objeto recém criado.

Para usar a interface de objetos grandes (lo) é necessário encapsulá-lo em um bloco de transação.

Nota: Quando o safe-mode está ativo, o PHP verifica se os arquivo(s) ou diretórios que estão usados na operação tem o mesmo UID (proprietário) do script que está sendo executado.

Nota:

Esta função era chamada pg_loimport().

Veja também pg_lo_export() e pg_lo_open().


Abre um objeto grande (large object)

  • « pg_lo_import
  • pg_lo_read_all »
  • PHP Manual
  • PostgreSQL Funções
  • Abre um objeto grande (large object)

pg_lo_open

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_open — Abre um objeto grande (large object)

Descrição

pg_lo_open ( resource $connection , int $oid , string $mode ) : resource

pg_lo_open() abre um Objeto Grande (Large Object em inglês, daí o "lo"). O recurso (resource) encapsula informações sobre a conexão. oid especifica um oid de objeto grande válido e o parâmetro mode pode ser "r", "w" ou "rw". A função retorna false se houver algum erro.

Aviso

Não feche a conexão com o banco de dados sem antes fechar a conexão com o objeto grande.

Para usar a interface de objetos grandes (lo) é necessário encapsulá-lo em um bloco de transação.

Nota:

Esta função era chamada pg_loopen().

Veja também pg_lo_close() e pg_lo_create().


Lê um objeto grande (large object) inteiro e o envia diretamente para o navegador

  • « pg_lo_open
  • pg_lo_read »
  • PHP Manual
  • PostgreSQL Funções
  • Lê um objeto grande (large object) inteiro e o envia diretamente para o navegador

pg_lo_read_all

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_read_all — Lê um objeto grande (large object) inteiro e o envia diretamente para o navegador

Descrição

pg_lo_read_all ( resource $large_object ) : int

pg_lo_read_all() lê um objeto grande (large object) e passa-o diretamente para o navegador depois de enviar todos os cabeçalhos pendentes. A intenção principal é enviar dados binários como imagens ou som. Retorna o número de bytes lidos ou false se ocorrer algum erro.

Para usar a interface de objetos grandes (lo) é necessário encapsulá-lo em um bloco de transação.

Nota:

Esta função era chamada pg_loreadall().

Veja também pg_lo_read().


Lê um objeto grande (large object)

  • « pg_lo_read_all
  • pg_lo_seek »
  • PHP Manual
  • PostgreSQL Funções
  • Lê um objeto grande (large object)

pg_lo_read

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_read — Lê um objeto grande (large object)

Descrição

pg_lo_read ( resource $large_object , int $len ) : string

pg_lo_read() lê o número de bytes equivalente ao valor de len de um objeto grande (large object) e retorna-o como uma string. large_object especifica um recurso (resource) válido de objeto e len especifica o tamanho máximo permitido do segmento do objeto grande. Retorna false se algum erro acontecer.

Para usar a interface de objetos grandes (lo) é necessário encapsulá-lo em um bloco de transação.

Nota:

Esta função era chamada pg_loread().

Veja também pg_lo_read_all().


Procura uma posição em um objeto grande (large object)

  • « pg_lo_read
  • pg_lo_tell »
  • PHP Manual
  • PostgreSQL Funções
  • Procura uma posição em um objeto grande (large object)

pg_lo_seek

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_seek — Procura uma posição em um objeto grande (large object)

Descrição

pg_lo_seek ( resource $large_object , int $offset , int $whence = ? ) : bool

pg_lo_seek() procura uma posição em um recurso (resource) de um objeto grande (large objet). whence pode ser PGSQL_SEEK_SET, PGSQL_SSEK_CUR ou PGSQL_SEEK_END.

Veja também pg_lo_tell().


Retorna a posição atual de um objeto grande (large object)

  • « pg_lo_seek
  • pg_lo_truncate »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna a posição atual de um objeto grande (large object)

pg_lo_tell

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_tell — Retorna a posição atual de um objeto grande (large object)

Descrição

pg_lo_tell ( resource $large_object ) : int

pg_lo_tell() retorna a posição atual (deslocamento a partir do início do objeto grande).

Veja também pg_lo_seek().


Truncates a large object

  • « pg_lo_tell
  • pg_lo_unlink »
  • PHP Manual
  • PostgreSQL Funções
  • Truncates a large object

pg_lo_truncate

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

pg_lo_truncate — Truncates a large object

Descrição

pg_lo_truncate ( resource $large_object , int $size ) : bool

pg_lo_truncate() truncates a large object resource.

To use the large object interface, it is necessary to enclose it within a transaction block.

Parâmetros

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

size

The number of bytes to truncate.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 pg_lo_truncate() example

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Truncate to 0
   pg_lo_truncate($handle, 0);
   pg_query($database, "commit");
   echo $data;
?>

Changelog

Versão | Descrição
5.6.0 | Added truncate function. It supports PostgreSQL 9.3's 64bit large object. Both client and server must support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.

Veja Também

  • pg_lo_tell() - Retorna a posição atual de um objeto grande (large object)


Remove um objeto grande (large object)

  • « pg_lo_truncate
  • pg_lo_write »
  • PHP Manual
  • PostgreSQL Funções
  • Remove um objeto grande (large object)

pg_lo_unlink

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_unlink — Remove um objeto grande (large object)

Descrição

pg_lo_unlink ( resource $connection , int $oid ) : bool

pg_lo_unlink() remove um objeto grande (large object) com um determinado oid. Retorna true em caso de sucesso ou false em caso de falha.

Para usar a interface de objetos grandes (lo) é necessário encapsulá-lo em um bloco de transação.

Nota:

Esta função era chamada pg_lo_unlink().

Veja também pg_lo_create() e pg_lo_import().


Escreve em um objeto grande (large object)

  • « pg_lo_unlink
  • pg_meta_data »
  • PHP Manual
  • PostgreSQL Funções
  • Escreve em um objeto grande (large object)

pg_lo_write

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_write — Escreve em um objeto grande (large object)

Descrição

pg_lo_write ( resource $large_object , string $data ) : int

pg_lo_write() escreve em um objeto grande (large object) a partir de uma variável data e retorna o número de bytes escritos, ou false em caso de erro. large_object é um recurso (resource) de objeto grande criado a partir de pg_lo_open().

Para usar a interface de objetos grandes (lo) é necessário encapsulá-lo em um bloco de transação.

Nota:

Esta função era chamada pg_lowrite().

Veja também pg_lo_create() e pg_lo_open().


Retorna os metadados da tabela.

  • « pg_lo_write
  • pg_num_fields »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna os metadados da tabela.

pg_meta_data

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_meta_data — Retorna os metadados da tabela.

Descrição

pg_meta_data ( resource $connection , string $table_name ) : array

pg_metadata() retorna a definição da tabela com o nome igual ao valor de table_name como um array. Se houver algum erro, retorna false.

Exemplo #1 Obtendo os dados da tabela

<?php
    $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

    $meta = pg_meta_data($dbconn,'authors');
    if (is_array ($meta)) {
        echo '<pre>';
        var_dump ($meta);
        echo '</pre>';
    }
?>

O exemplo acima irá mostar a seguinte saída:

array(3) {
  ["author"]=>
  array(5) {
    ["num"]=>
    int(1)
    ["type"]=>
    string(7) "varchar"
    ["len"]=>
    int(-1)
    ["not null"]=>
    bool(false)
    ["has default"]=>
    bool(false)
  }
  ["year"]=>
  array(5) {
    ["num"]=>
    int(2)
    ["type"]=>
    string(4) "int2"
    ["len"]=>
    int(2)
    ["not null"]=>
    bool(false)
    ["has default"]=>
    bool(false)
  }
  ["title"]=>
  array(5) {
    ["num"]=>
    int(3)
    ["type"]=>
    string(7) "varchar"
    ["len"]=>
    int(-1)
    ["not null"]=>
    bool(false)
    ["has default"]=>
    bool(false)
  }
}

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja também pg_convert()


Retorna o número de campos

  • « pg_meta_data
  • pg_num_rows »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o número de campos

pg_num_fields

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_num_fields — Retorna o número de campos

Descrição

pg_num_fields ( resource $result ) : int

pg_num_fields() retorna o número de campos (colunas) do recurso (resource) de resultado result. O argumento é um recurso (resource) de resultado criado a partir de pg_query(). Esta função irá retornar -1 em caso de erro.

Nota:

Esta função era chamada pg_numfields().

Veja também pg_num_rows() e pg_affected_rows().


Retorna o número de linhas

  • « pg_num_fields
  • pg_options »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o número de linhas

pg_num_rows

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_num_rows — Retorna o número de linhas

Descrição

pg_num_rows ( resource $result ) : int

pg_num_rows() irá retornar o número de linhas do recurso de resultado result. result é um recurso (resource) de resultado de consulta (query) feito por pg_query(). Esta função retornará -1 em caso de erro.

Nota:

Use pg_affected_rows() para obter o número de linhas afetadas por consultas do tipo INSERT, UPDATE e DELETE.

Nota:

Esta função era chamada pg_numrows().

Veja também pg_num_fields() e pg_affected_rows().


Retorna as opções associadas com a conexão

  • « pg_num_rows
  • pg_parameter_status »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna as opções associadas com a conexão

pg_options

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_options — Retorna as opções associadas com a conexão

Descrição

pg_options ( resource $connection ) : string

pg_options() retornará uma string contendo as opções especificadas no recurso (resource) de conexão PostgreSQL connection.


Looks up a current parameter setting of the server

  • « pg_options
  • pg_pconnect »
  • PHP Manual
  • PostgreSQL Funções
  • Looks up a current parameter setting of the server

pg_parameter_status

(PHP 5, PHP 7, PHP 8)

pg_parameter_status — Looks up a current parameter setting of the server

Descrição

pg_parameter_status ( resource $connection = ? , string $param_name ) : string

Looks up a current parameter setting of the server.

Certain parameter values are reported by the server automatically at connection startup or whenever their values change. pg_parameter_status() can be used to interrogate these settings. It returns the current value of a parameter if known, or false if the parameter is not known.

Parameters reported as of PostgreSQL 8.0 include server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone, and integer_datetimes. (server_encoding, TimeZone, and integer_datetimes were not reported by releases before 8.0.) Note that server_version, server_encoding and integer_datetimes cannot change after PostgreSQL startup.

PostgreSQL 7.3 or lower servers do not report parameter settings, pg_parameter_status() includes logic to obtain values for server_version and client_encoding anyway. Applications are encouraged to use pg_parameter_status() rather than ad hoc code to determine these values.

Cuidado

On a pre-7.4 PostgreSQL server, changing client_encoding via SET after connection startup will not be reflected by pg_parameter_status().

Parâmetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

param_name

Possible param_name values include server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone, and integer_datetimes. Note that this value is case-sensitive.

Valor Retornado

A string containing the value of the parameter, false on failure or invalid param_name.

Exemplos

Exemplo #1 pg_parameter_status() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  echo "Server encoding: ", pg_parameter_status($dbconn, "server_encoding");
?>

O exemplo acima irá imprimir:

Server encoding: SQL_ASCII


Abre uma conexão PostgreSQL persistente

  • « pg_parameter_status
  • pg_ping »
  • PHP Manual
  • PostgreSQL Funções
  • Abre uma conexão PostgreSQL persistente

pg_pconnect

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_pconnect — Abre uma conexão PostgreSQL persistente

Descrição

pg_pconnect ( string $connection_string ) : int

pg_pconnect() abre uma conexão a um banco de dados PostgreSQL. Retorna um recurso (resource) de conexão que é necessário para outras funções PostgreSQL.

Para uma descrição do parâmetro connection_string veja pg_connect().

Para habilitar uma conexão persistente, a diretiva pgsql.allow_persistent do php.ini deve ser definida como "On" (que é o padrão). O número máximo de conexões persistentes pode ser definida com a diretiva pgsql.max_persistent do php.ini (o padrão é -1 para sem limite). O número total de conexões pode ser definido com a diretiva pgsql.max_links do php.ini.

pg_close() não fechará links persistentes gerados por pg_pconnect().

Veja também pg_connect() e a seção sobre Conexões Persistentes para maiores informações.


Faz um ping na conexão com o banco de dados

  • « pg_pconnect
  • pg_port »
  • PHP Manual
  • PostgreSQL Funções
  • Faz um ping na conexão com o banco de dados

pg_ping

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_ping — Faz um ping na conexão com o banco de dados

Descrição

pg_ping ( resource $connection ) : bool

pg_ping() faz um ping na conexão com o banco de dados, tenta reconectar se a conexão foi quebrada. Retorna true se a conexão está ativa, do contrário, retorna false.

Exemplo #1 Exemplo pg_ping()

<?php
$conn = pg_pconnect ("dbname=publicacao");
if (!$conn) {
    echo "Ocorreu um erro.\n";
    exit;
}

if (!pg_ping($conn))
    die("Conexão quebrada\n");
?>

Veja também pg_connection_status() e pg_connection_reset().


Retorna o número da porta associada com a conexão.

  • « pg_ping
  • pg_prepare »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o número da porta associada com a conexão.

pg_port

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_port — Retorna o número da porta associada com a conexão.

Descrição

pg_port ( resource $connection ) : int

pg_port() retorna o número da porta a qual o recurso de conexão PostgreSQL connection está conectado.


Submits a request to create a prepared statement with the given parameters, and waits for completion

  • « pg_port
  • pg_put_line »
  • PHP Manual
  • PostgreSQL Funções
  • Submits a request to create a prepared statement with the given parameters, and waits for completion

pg_prepare

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_prepare — Submits a request to create a prepared statement with the given parameters, and waits for completion

Descrição

pg_prepare ( resource $connection = ? , string $stmtname , string $query ) : resource|false

pg_prepare() creates a prepared statement for later execution with pg_execute() or pg_send_execute(). This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. pg_prepare() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

The function creates a prepared statement named stmtname from the query string, which must contain a single SQL command. stmtname may be "" to create an unnamed statement, in which case any pre-existing unnamed statement is automatically replaced; otherwise it is an error if the statement name is already defined in the current session. If any parameters are used, they are referred to in the query as $1, $2, etc.

Prepared statements for use with pg_prepare() can also be created by executing SQL PREPARE statements. (But pg_prepare() is more flexible since it does not require parameter types to be pre-specified.) Also, although there is no PHP function for deleting a prepared statement, the SQL DEALLOCATE statement can be used for that purpose.

Parâmetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is created, overwriting any previously defined unnamed statement.

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

Valor Retornado

A query result resource on success ou false em caso de falha.

Exemplos

Exemplo #1 Using pg_prepare()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Execute the prepared query.  Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Execute the same prepared query, this time with a different parameter
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Veja Também

  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result
  • pg_send_execute() - Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)


Envia uma string terminada em NULL para o backend PostgreSQL

  • « pg_prepare
  • pg_query_params »
  • PHP Manual
  • PostgreSQL Funções
  • Envia uma string terminada em NULL para o backend PostgreSQL

pg_put_line

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

pg_put_line — Envia uma string terminada em NULL para o backend PostgreSQL

Descrição

pg_put_line ( resource $connection = ? , string $data ) : bool

pg_put_line() envia uma string terminada em NULL para o servidor backend PostgreSQL. Isso é útil, por exemplo, para a inserção de dados em uma tabela em alta velocidade, iniciada através de uma operação de cópia PostgreSQL. O caractere NULL final é adicionado automaticamente. Retorna true em caso de sucesso ou false em caso de falha.

Nota:

A aplicação deve enviar os dois caracteres "\." explicitamente na última linha para indicar ao backend que ela terminou de enviar seus dados.

Exemplo #1 Inserção de dados na tabela em alta velocidade

<?php
    $conn = pg_pconnect("nomebd=meubanco");
    pg_query($conn, "create table bar (a int4, b char(16), d float8)");
    pg_query($conn, "copy bar from stdin");
    pg_put_line($conn, "3\tola mundo\t4.5\n");
    pg_put_line($conn, "4\ttchau mundo\t7.11\n");
    pg_put_line($conn, "\\.\n");
    pg_end_copy($conn);
?>

Veja também pg_end_copy().


Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text

  • « pg_put_line
  • pg_query »
  • PHP Manual
  • PostgreSQL Funções
  • Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text

pg_query_params

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_query_params — Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text

Descrição

pg_query_params ( resource $connection = ? , string $query , array $params ) : resource|false

Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

pg_query_params() is like pg_query(), but offers additional functionality: parameter values can be specified separately from the command string proper. pg_query_params() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

If parameters are used, they are referred to in the query string as $1, $2, etc. The same parameter may appear more than once in the query; the same value will be used in that case. params specifies the actual values of the parameters. A null value in this array means the corresponding parameter is SQL NULL.

The primary advantage of pg_query_params() over pg_query() is that parameter values may be separated from the query string, thus avoiding the need for tedious and error-prone quoting and escaping. Unlike pg_query(), pg_query_params() allows at most one SQL command in the given string. (There can be semicolons in it, but not more than one nonempty command.)

Parâmetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

User-supplied values should always be passed as parameters, not interpolated into the query string, where they form possible SQL injection attack vectors and introduce bugs when handling data containing quotes. If for some reason you cannot use a parameter, ensure that interpolated values are properly escaped.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Values intended for bytea fields are not supported as parameters. Use pg_escape_bytea() instead, or use the large object functions.

Valor Retornado

A query result resource on success ou false em caso de falha.

Exemplos

Exemplo #1 Using pg_query_params()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Find all shops named Joe's Widgets.  Note that it is not necessary to
// escape "Joe's Widgets"
$result = pg_query_params($dbconn, 'SELECT * FROM shops WHERE name = $1', array("Joe's Widgets"));

// Compare against just using pg_query
$str = pg_escape_string("Joe's Widgets");
$result = pg_query($dbconn, "SELECT * FROM shops WHERE name = '{$str}'");

?>

Veja Também

  • pg_query() - Executa uma consulta (query)


Executa uma consulta (query)

  • « pg_query_params
  • pg_result_error_field »
  • PHP Manual
  • PostgreSQL Funções
  • Executa uma consulta (query)

pg_query

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_query — Executa uma consulta (query)

Descrição

pg_query ( resource $connection , string $query ) : resource

pg_query() retorna um recurso (resource) de resultado da consulta (query) se a consulta pôde ser executada. Retorna false em caso de falha ou se a conexão não é uma conexão válida. Detalhes sobre os erros podem ser recuperados usando a função pg_last_error() se a conexão é válida. pg_query() envia uma declaração SQL para o banco de dados PostgreSQL especificado pelo recurso de conexão connection. connection deve ser uma conexão válida que foi criado por pg_connect(). O valor de retorno dessa função é um recurso (resource) de resultado de consulta (query) para ser usado para acessar os resultados de outras funções PostgreSQL como pg_fetch_array().

Nota: connection é um parâmetro opcional para pg_query(). Se connection não for definido, a conexão padrão será usada. A conexão padrão é a última conexão feita por pg_connect() ou pg_pconnect(). Apesar de connection poder ser omitido, isso não é recomendado já que pode ser uma causa de erros difíceis de encontrar no seu script.

Nota:

Esta função era chamada pg_exec(). pg_exec() ainda está disponível por razões de compatibilidade, mas os usuários são encorajados a usar o novo nome.

Veja também pg_connect(),
pg_pconnect(),
pg_fetch_array(),
pg_fetch_object(),
pg_num_rows()
e pg_affected_rows().


Returns an individual field of an error report

  • « pg_query
  • pg_result_error »
  • PHP Manual
  • PostgreSQL Funções
  • Returns an individual field of an error report

pg_result_error_field

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_result_error_field — Returns an individual field of an error report

Descrição

pg_result_error_field ( resource $result , int $fieldcode ) : string

pg_result_error_field() returns one of the detailed error message fields associated with result resource. It is only available against a PostgreSQL 7.4 or above server. The error field is specified by the fieldcode.

Because pg_query() and pg_query_params() return false if the query fails, you must use pg_send_query() and pg_get_result() to get the result handle.

If you need to get additional error information from failed pg_query() queries, use pg_set_error_verbosity() and pg_last_error() and then parse the result.

Parâmetros

result

A PostgreSQL query result resource from a previously executed statement.

fieldcode

Possible fieldcode values are: PGSQL_DIAG_SEVERITY, PGSQL_DIAG_SQLSTATE, PGSQL_DIAG_MESSAGE_PRIMARY, PGSQL_DIAG_MESSAGE_DETAIL, PGSQL_DIAG_MESSAGE_HINT, PGSQL_DIAG_STATEMENT_POSITION, PGSQL_DIAG_INTERNAL_POSITION (PostgreSQL 8.0+ only), PGSQL_DIAG_INTERNAL_QUERY (PostgreSQL 8.0+ only), PGSQL_DIAG_CONTEXT, PGSQL_DIAG_SOURCE_FILE, PGSQL_DIAG_SOURCE_LINE or PGSQL_DIAG_SOURCE_FUNCTION.

Valor Retornado

A string containing the contents of the error field, null if the field does not exist or false on failure.

Exemplos

Exemplo #1 pg_result_error_field() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  $res1 = pg_get_result($dbconn);
  echo pg_result_error_field($res1, PGSQL_DIAG_SQLSTATE);
?>

Veja Também

  • pg_result_error() - Retorna a mensagem de erro associada a um resultado


Retorna a mensagem de erro associada a um resultado

  • « pg_result_error_field
  • pg_result_seek »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna a mensagem de erro associada a um resultado

pg_result_error

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_result_error — Retorna a mensagem de erro associada a um resultado

Descrição

pg_result_error ( resource $result ) : string

pg_result_error() retorna a mensagem de erro associada ao recurso (resource) de resultado result. Deste modo, o usuário tem melhores chances de ter uma mensagem de erro melhor que a retornada por pg_last_error().

Veja também pg_query(),
pg_send_query(),
pg_get_result(),
pg_last_error() e
pg_last_notice()


Altera a posição do ponteiro interno de um recurso (resource) de resultado

  • « pg_result_error
  • pg_result_status »
  • PHP Manual
  • PostgreSQL Funções
  • Altera a posição do ponteiro interno de um recurso (resource) de resultado

pg_result_seek

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_result_seek — Altera a posição do ponteiro interno de um recurso (resource) de resultado

Descrição

pg_result_seek ( resource $result , int $offset ) : array

pg_result_seek() altera a posição do ponteiro interno de um recurso (resource) de resultado. Retorna false em caso de erro.

 Veja também pg_fetch_row(),
pg_fetch_assoc(),
pg_fetch_array(),
pg_fetch_object() e
pg_fetch_result().


Retorna o status do resultado da consulta (query)

  • « pg_result_seek
  • pg_select »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o status do resultado da consulta (query)

pg_result_status

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_result_status — Retorna o status do resultado da consulta (query)

Descrição

pg_result_status ( resource $result ) : int

pg_result_status() retorna o status do recurso (resource) de resultado. Os valores de retorno possíveis são: PGSQL_EMPTY_QUERY, PGSQL_COMMAND_OK, PGSQL_TUPLES_OK, PGSQL_COPY_TO, PGSQL_COPY_FROM, PGSQL_BAD_RESPONSE, PGSQL_NONFATAL_ERROR e PGSQL_FATAL_ERROR.

Veja também pg_connection_status().


Seleciona registros.

  • « pg_result_status
  • pg_send_execute »
  • PHP Manual
  • PostgreSQL Funções
  • Seleciona registros.

pg_select

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_select — Seleciona registros.

Descrição

pg_select ( resource $connection , string $table_name , array $assoc_array , int $options = ? ) : array

pg_select() seleciona registros especificados por assoc_array, que contém pares do tipo campo=>valor. Para uma consulta (query) válida, retorna um array que contém todos os registros e campos que combinam com a condição especificada por assoc_array. Se options for especificado, pg_convert() será aplicada à assoc_array com as opções especificadas.

Exemplo #1 pg_select

<?php
    $db = pg_connect('nomebd=meubanco');
    // Isto é seguro já que $_POST é convertida automaticamente
    $rec = pg_select($bd, 'post_log', $_POST);
    if ($rec) {
        echo "Registros selecionados\n";
        var_dump($rec);
    }
    else {
    echo "O usuário deve ter inserido dados errados\n";
    }
?>

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja também pg_convert()


Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)

  • « pg_select
  • pg_send_prepare »
  • PHP Manual
  • PostgreSQL Funções
  • Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)

pg_send_execute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)

Descrição

pg_send_execute ( resource $connection , string $stmtname , array $params ) : bool

Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

This is similar to pg_send_query_params(), but the command to be executed is specified by naming a previously-prepared statement, instead of giving a query string. The function's parameters are handled identically to pg_execute(). Like pg_execute(), it will not work on pre-7.4 versions of PostgreSQL.

Parâmetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name of the prepared statement to execute. if "" is specified, then the unnamed statement is executed. The name must have been previously prepared using pg_prepare(), pg_send_prepare() or a PREPARE SQL command.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Valor Retornado

Returns true on success, false on failure. Use pg_get_result() to determine the query result.

Exemplos

Exemplo #1 Using pg_send_execute()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Prepare a query for execution
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Execute the prepared query.  Note that it is not necessary to escape
  // the string "Joe's Widgets" in any way
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Execute the same prepared query, this time with a different parameter
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

Veja Também

  • pg_prepare() - Submits a request to create a prepared statement with the given parameters, and waits for completion
  • pg_send_prepare() - Sends a request to create a prepared statement with the given parameters, without waiting for completion
  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result


Sends a request to create a prepared statement with the given parameters, without waiting for completion

  • « pg_send_execute
  • pg_send_query_params »
  • PHP Manual
  • PostgreSQL Funções
  • Sends a request to create a prepared statement with the given parameters, without waiting for completion

pg_send_prepare

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_send_prepare — Sends a request to create a prepared statement with the given parameters, without waiting for completion

Descrição

pg_send_prepare ( resource $connection , string $stmtname , string $query ) : bool

Sends a request to create a prepared statement with the given parameters, without waiting for completion.

This is an asynchronous version of pg_prepare(): it returns true if it was able to dispatch the request, and false if not. After a successful call, call pg_get_result() to determine whether the server successfully created the prepared statement. The function's parameters are handled identically to pg_prepare(). Like pg_prepare(), it will not work on pre-7.4 versions of PostgreSQL.

Parâmetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is created, overwriting any previously defined unnamed statement.

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

Valor Retornado

Returns true on success, false on failure. Use pg_get_result() to determine the query result.

Exemplos

Exemplo #1 Using pg_send_prepare()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Prepare a query for execution
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Execute the prepared query.  Note that it is not necessary to escape
  // the string "Joe's Widgets" in any way
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Execute the same prepared query, this time with a different parameter
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

Veja Também

  • pg_connect() - Abre uma conexão PostgreSQL
  • pg_pconnect() - Abre uma conexão PostgreSQL persistente
  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result
  • pg_send_execute() - Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)
  • pg_send_query_params() - Submits a command and separate parameters to the server without waiting for the result(s)


Submits a command and separate parameters to the server without waiting for the result(s)

  • « pg_send_prepare
  • pg_send_query »
  • PHP Manual
  • PostgreSQL Funções
  • Submits a command and separate parameters to the server without waiting for the result(s)

pg_send_query_params

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_send_query_params — Submits a command and separate parameters to the server without waiting for the result(s)

Descrição

pg_send_query_params ( resource $connection , string $query , array $params ) : bool

Submits a command and separate parameters to the server without waiting for the result(s).

This is equivalent to pg_send_query() except that query parameters can be specified separately from the query string. The function's parameters are handled identically to pg_query_params(). Like pg_query_params(), it will not work on pre-7.4 PostgreSQL connections, and it allows only one command in the query string.

Parâmetros

connection

PostgreSQL database connection resource.

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Use pg_get_result() to determine the query result.

Exemplos

Exemplo #1 Using pg_send_query_params()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Using parameters.  Note that it is not necessary to quote or escape
  // the parameter.
  pg_send_query_params($dbconn, 'select count(*) from authors where city = $1', array('Perth'));

  // Compare against basic pg_send_query usage
  $str = pg_escape_string('Perth');
  pg_send_query($dbconn, "select count(*) from authors where city = '${str}'");
?>

Veja Também

  • pg_send_query() - Envia uma consulta (query) assincrona


Envia uma consulta (query) assincrona

  • « pg_send_query_params
  • pg_set_client_encoding »
  • PHP Manual
  • PostgreSQL Funções
  • Envia uma consulta (query) assincrona

pg_send_query

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_send_query — Envia uma consulta (query) assincrona

Descrição

pg_send_query ( resource $connection , string $query ) : bool
pg_send_query ( string $query ) : bool

pg_send_query() envia uma consulta (query) assíncrona para connection. Diferente de pg_query(), ela pode enviar consultas múltiplas para o PostgreSQL e carregar os resultados, um por um, usando pg_get_result(). A execução do script não é bloqueada enquanto as consultas estão sendo executadas. Use pg_connection_busy() para checar se a conexão está ocupada. (por exemplo, se uma consulta está sendo executada). A consulta pode ser cancelada chamando pg_cancel_query().

Apesar de ser possível enviar multiplas consultas de uma vez, você não pode enviar múltiplas consultas para uma conexão ocupada. Se a consulta é enviada enquando a conexão está ocupada ela espera até que a última cosulta seja finalizada e descarta todos os resultados.

Exemplo #1 Asynchronous Queries

<?php
    $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
    if (!pg_connection_busy($dbconn)) {
        pg_send_query($dbconn,"select * from authors; select count(*) from authors;");
    }

    $res1 = pg_get_result($dbconn);
    echo "First call to pg_get_result(): $res1\n";
    $rows1 = pg_num_rows($res1);
    echo "$res1 has $rows1 records\n\n";

    $res2 = pg_get_result($dbconn);
    echo "second call to pg_get_result(): $res2\n";
    $rows2 = pg_num_rows($res2);
     echo "$res2 has $rows2 records\n";
?>

O exemplo acima deve mostrar a seguinte saída:

first call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

second call to pg_get_result(): Resource id #4
Resource id #4 has 1 records

Veja também pg_query(),
pg_cancel_query(),
pg_get_result() e
pg_connection_busy().


Define a codificação do cliente

  • « pg_send_query
  • pg_set_error_verbosity »
  • PHP Manual
  • PostgreSQL Funções
  • Define a codificação do cliente

pg_set_client_encoding

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

pg_set_client_encoding — Define a codificação do cliente

Descrição

pg_set_client_encoding ( resource $connection = ? , string $encoding ) : int

pg_set_client_encoding() define a codificação do cliente e retorna 0 caso haja sucesso e -1 se houver erro.

encoding é a codificação do cliente e pode ter os valores: SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5, WIN1250. As codificações disponíveis dependem da versão do PostgreSQL e libpq. Vide o manual PostgreSQL para saber das codificações disponíveis para o seu PostgreSQL.

Nota:

Esta função exige o PHP 4.0.3 ou maior e PostgreSQL 7.0 ou maior. As codificações suportadas dependem da versão do PostgreSQL. Vide o manual PostgreSQL para detalhes.

Esta função era chamada pg_setclientencoding()().

Veja também pg_client_encoding().


Determines the verbosity of messages returned by pg_last_error and pg_result_error

  • « pg_set_client_encoding
  • pg_socket »
  • PHP Manual
  • PostgreSQL Funções
  • Determines the verbosity of messages returned by pg_last_error and pg_result_error

pg_set_error_verbosity

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_set_error_verbosity — Determines the verbosity of messages returned by pg_last_error() and pg_result_error()

Descrição

pg_set_error_verbosity ( resource $connection = ? , int $verbosity ) : int

Determines the verbosity of messages returned by pg_last_error() and pg_result_error().

pg_set_error_verbosity() sets the verbosity mode, returning the connection's previous setting. In PGSQL_ERRORS_TERSE mode, returned messages include severity, primary text, and position only; this will normally fit on a single line. The default mode (PGSQL_ERRORS_DEFAULT) produces messages that include the above plus any detail, hint, or context fields (these may span multiple lines). The PGSQL_ERRORS_VERBOSE mode includes all available fields. Changing the verbosity does not affect the messages available from already-existing result objects, only subsequently-created ones.

Parâmetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

verbosity

The required verbosity: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.

Valor Retornado

The previous verbosity level: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.

Exemplos

Exemplo #1 pg_set_error_verbosity() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  pg_set_error_verbosity($dbconn, PGSQL_ERRORS_VERBOSE);
  $res1 = pg_get_result($dbconn);
  echo pg_result_error($res1);
?>

Veja Também

  • pg_last_error() - Retorna a string da última mensagem de erro de uma conexão
  • pg_result_error() - Retorna a mensagem de erro associada a um resultado


Get a read only handle to the socket underlying a PostgreSQL connection

  • « pg_set_error_verbosity
  • pg_trace »
  • PHP Manual
  • PostgreSQL Funções
  • Get a read only handle to the socket underlying a PostgreSQL connection

pg_socket

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

pg_socket — Get a read only handle to the socket underlying a PostgreSQL connection

Descrição

pg_socket ( resource $connection ) : resource|false

pg_socket() returns a read only resource corresponding to the socket underlying the given PostgreSQL connection.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

connection

PostgreSQL database connection resource.

Valor Retornado

A socket resource on success ou false em caso de falha.


Habilita rastreamento em uma conexão PostgreSQL

  • « pg_socket
  • pg_transaction_status »
  • PHP Manual
  • PostgreSQL Funções
  • Habilita rastreamento em uma conexão PostgreSQL

pg_trace

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

pg_trace — Habilita rastreamento em uma conexão PostgreSQL

Descrição

pg_trace ( string $pathname , string $mode = ? , resource $connection = ? ) : bool

pg_trace() habilita o rastreamento da comunicação frontend/backend do PostgreSQL para um arquivo de depuração especificado pelo parâmetro pathname. Para entender completamente estes resultados, você deve estar familiarizado com o protocolo de comunicação interno do PostgreSQL. Para aqueles que não estão, isso ainda pode ser útil para rastrear erros em consultas (queries) enviadas ao servidor, você poderia fazer por exemplo grep '^Para backend' rastro.log. Para maiores informações vide o manual PostgreSQL.

pathname e mode são os mesmos que na função fopen() (o mode padrão é 'w'), connection especifica a conexão a ser rastreada e seu padrão é a última conexão aberta.

Retorna true se o pathname pode ser aberto para escrita, false caso contrário.

Veja também fopen() e pg_untrace().


Returns the current in-transaction status of the server

  • « pg_trace
  • pg_tty »
  • PHP Manual
  • PostgreSQL Funções
  • Returns the current in-transaction status of the server

pg_transaction_status

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_transaction_status — Returns the current in-transaction status of the server

Descrição

pg_transaction_status ( resource $connection ) : int

Returns the current in-transaction status of the server.

Cuidado

pg_transaction_status() will give incorrect results when using a PostgreSQL 7.3 server that has the parameter autocommit set to off. The server-side autocommit feature has been deprecated and does not exist in later server versions.

Parâmetros

connection

PostgreSQL database connection resource.

Valor Retornado

The status can be PGSQL_TRANSACTION_IDLE (currently idle), PGSQL_TRANSACTION_ACTIVE (a command is in progress), PGSQL_TRANSACTION_INTRANS (idle, in a valid transaction block), or PGSQL_TRANSACTION_INERROR (idle, in a failed transaction block). PGSQL_TRANSACTION_UNKNOWN is reported if the connection is bad. PGSQL_TRANSACTION_ACTIVE is reported only when a query has been sent to the server and not yet completed.

Exemplos

Exemplo #1 pg_transaction_status() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $stat = pg_transaction_status($dbconn);
  if ($stat === PGSQL_TRANSACTION_UNKNOWN) {
      echo 'Connection is bad';
  } else if ($stat === PGSQL_TRANSACTION_IDLE) {
      echo 'Connection is currently idle';
  } else {
      echo 'Connection is in a transaction state';
  }
?>


Retorna o nome da tty associada com a conexão

  • « pg_transaction_status
  • pg_unescape_bytea »
  • PHP Manual
  • PostgreSQL Funções
  • Retorna o nome da tty associada com a conexão

pg_tty

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_tty — Retorna o nome da tty associada com a conexão

Descrição

pg_tty ( resource $connection ) : string

pg_tty() retorna o nome da tty que a saída do lado do servidor é enviada no recurso (resource) de conexão connection.


Faz escape binário para o tipo bytea

  • « pg_tty
  • pg_untrace »
  • PHP Manual
  • PostgreSQL Funções
  • Faz escape binário para o tipo bytea

pg_unescape_bytea

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_unescape_bytea — Faz escape binário para o tipo bytea

Descrição

pg_unescape_bytea ( string $data ) : string

pg_unescape_bytea() faz uma versão binária da string do tipo bytea. Retorna a string em binário(binary).

Nota:

Quando você faz SELECT bytea type, PostgreSQL returna um valor em octal prefixado por \ (por exemplo: \032). Usuários devem fazer a transformação em binário por si próprios.

Esta função exige PostgreSQL 7.2 ou superior. Com PostgreSQL 7.2.0 e 7.2.1, o tipo de dados bytea deve ser criado quando você habilita o suporte a multi-byte. Por exemplo, INSERT INTO tabela_teste (imagem) VALUES ('$imagem_escaped'::bytea); PostgreSQL 7.2.2 ou superior não precisa de coerção (cast). A exceção é quando a codificação de caracteres do cliente e do backend não combinam, então pode haver erro de fluxo de multi-byte. O usuário deve fazer a coerção (cast) para bytea para evitar este erro.

Veja também pg_escape_bytea() e pg_escape_string()


Desabilita o rastreamento de uma conexão PostgreSQL

  • « pg_unescape_bytea
  • pg_update »
  • PHP Manual
  • PostgreSQL Funções
  • Desabilita o rastreamento de uma conexão PostgreSQL

pg_untrace

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

pg_untrace — Desabilita o rastreamento de uma conexão PostgreSQL

Descrição

pg_untrace ( resource $connection = ? ) : bool

Pára o rastreamento iniciado por pg_trace(). connection especifica a conexão que está sendo rastreada e seu padrão é a última conexão aberta.

Sempre retorna true.

Veja também pg_trace().


Atualiza uma tabela.

  • « pg_untrace
  • pg_version »
  • PHP Manual
  • PostgreSQL Funções
  • Atualiza uma tabela.

pg_update

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_update — Atualiza uma tabela.

Descrição

pg_update ( resource $connection , string $table_name , array $data , array $condition , int $options = ? ) : mixed

pg_update() atualiza registros que combinam com a condição especificada pelo argumento condition com os dados do parâmetro data. Se options for especificado, pg_convert() será aplicada a data com as opções especificadas.

Exemplo #1 pg_update

<?php
    $bd = pg_connect('dbname=meubanco');
    $dados = array('campo1'=>'AA', 'campo2'=>'BB');
    // Isto é seguro já que $_POST é convertido automaticamente
    $res = pg_update($bd, 'post_log', $_POST, $dados);
    if ($res) {
        echo "Dados atualizados: $res\n";
    }
    else {
        echo "Usuário deve ter enviado entradas inválidas\n";
    }
?>

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja também pg_convert()


Returns an array with client, protocol and server version (when available)

  • « pg_update
  • SQLite3 »
  • PHP Manual
  • PostgreSQL Funções
  • Returns an array with client, protocol and server version (when available)

pg_version

(PHP 5, PHP 7, PHP 8)

pg_version — Returns an array with client, protocol and server version (when available)

Descrição

pg_version ( resource $connection = ? ) : array

pg_version() returns an array with the client, protocol and server version. Protocol and server versions are only available if PHP was compiled with PostgreSQL 7.4 or later.

For more detailed server information, use pg_parameter_status().

Parâmetros

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Valor Retornado

Returns an array with client, protocol and server keys and values (if available). Returns false on error or invalid connection.

Exemplos

Exemplo #1 pg_version() example

<?php
  $dbconn = pg_connect("host=localhost port=5432 dbname=mary")
     or die("Could not connect");

  $v = pg_version($dbconn);

  echo $v['client'];
?>

O exemplo acima irá imprimir:

7.4

Veja Também

  • pg_parameter_status() - Looks up a current parameter setting of the server


SQLite3

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • SQLite3 — The SQLite3 class
    • SQLite3::backup — Backup one database to another database
    • SQLite3::busyTimeout — Sets the busy connection handler
    • SQLite3::changes — Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement
    • SQLite3::close — Closes the database connection
    • SQLite3::__construct — Instantiates an SQLite3 object and opens an SQLite 3 database
    • SQLite3::createAggregate — Registers a PHP function for use as an SQL aggregate function
    • SQLite3::createCollation — Registers a PHP function for use as an SQL collating function
    • SQLite3::createFunction — Registers a PHP function for use as an SQL scalar function
    • SQLite3::enableExceptions — Enable throwing exceptions
    • SQLite3::escapeString — Returns a string that has been properly escaped
    • SQLite3::exec — Executes a result-less query against a given database
    • SQLite3::lastErrorCode — Returns the numeric result code of the most recent failed SQLite request
    • SQLite3::lastErrorMsg — Returns English text describing the most recent failed SQLite request
    • SQLite3::lastInsertRowID — Returns the row ID of the most recent INSERT into the database
    • SQLite3::loadExtension — Attempts to load an SQLite extension library
    • SQLite3::open — Opens an SQLite database
    • SQLite3::openBlob — Opens a stream resource to read a BLOB
    • SQLite3::prepare — Prepares an SQL statement for execution
    • SQLite3::query — Executes an SQL query
    • SQLite3::querySingle — Executes a query and returns a single result
    • SQLite3::setAuthorizer — Configures a callback to be used as an authorizer to limit what a statement can do
    • SQLite3::version — Returns the SQLite3 library version as a string constant and as a number
  • SQLite3Stmt — The SQLite3Stmt class
    • SQLite3Stmt::bindParam — Binds a parameter to a statement variable
    • SQLite3Stmt::bindValue — Binds the value of a parameter to a statement variable
    • SQLite3Stmt::clear — Clears all current bound parameters
    • SQLite3Stmt::close — Closes the prepared statement
    • SQLite3Stmt::execute — Executes a prepared statement and returns a result set object
    • SQLite3Stmt::getSQL — Get the SQL of the statement
    • SQLite3Stmt::paramCount — Returns the number of parameters within the prepared statement
    • SQLite3Stmt::readOnly — Returns whether a statement is definitely read only
    • SQLite3Stmt::reset — Resets the prepared statement
  • SQLite3Result — The SQLite3Result class
    • SQLite3Result::columnName — Returns the name of the nth column
    • SQLite3Result::columnType — Returns the type of the nth column
    • SQLite3Result::fetchArray — Fetches a result row as an associative or numerically indexed array or both
    • SQLite3Result::finalize — Closes the result set
    • SQLite3Result::numColumns — Returns the number of columns in the result set
    • SQLite3Result::reset — Resets the result set back to the first row


  • « SQLite3
  • Instalação/Configuração »
  • PHP Manual
  • SQLite3
  • Introdução

Introdução

Support for SQLite version 3 databases.


Dependências

As of PHP 7.4.0 » libsqlite = 3.7.4 is required. Formerly, the bundled libsqlite could have been used instead.


Instalação

The SQLite3 extension is enabled by default as of PHP 5.3.0. It's possible to disable it by using --without-sqlite3 at compile time.

Windows users must enable php_sqlite3.dll in order to use this extension. This DLL is included with Windows distributions of PHP as of PHP 5.3.0.

Nota: Additional setup on Windows as of PHP 7.4.0

Para esta extensão funcionar, existem arquivos DLL que devem estar disponíveis no PATH do sistema Windows. Para saber como fazer isso, veja o FAQ intitulado "Como eu adiciono o meu diretório PHP no PATH no Windows". Embora copiando arquivos DLL da pasta do PHP no diretório system do Windows também funcione (porque o diretório system está por padrão no PATH do sistema), isto não é recomendado. Esta extensão requer que os seguintes arquivos estejam no PATH: libsqlite3.dll.

Nota:

This extension was briefly a PECL extension but that version is only recommended for experimental use.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

SQLite3 Opções de Configuração
Nome | Padrão | Modificável | Changelog
sqlite3.extension_dir | "" | PHP_INI_SYSTEM | Available as of PHP 5.3.11.
sqlite3.defensive | 1 | PHP_INI_SYSTEM | Available as of PHP 7.2.17 and 7.3.4 for libsqlite = 3.26.0.

Uma rápida explicação das diretivas de configuração.

sqlite3.extension_dir string

Path to the directory where the loadable extensions for SQLite reside.

sqlite3.defensive bool

When the defensive flag is enabled, language features that allow ordinary SQL to deliberately corrupt the database file are disabled. This forbids writing directly to the schema, shadow tables (eg. FTS data tables), or the sqlite_dbpage virtual table. This php.ini setting is only effective for libsqlite = 3.26.0.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

SQLITE3_ASSOC (int)
Specifies that the Sqlite3Result::fetchArray() method shall return an array indexed by column name as returned in the corresponding result set.
SQLITE3_NUM (int)
Specifies that the Sqlite3Result::fetchArray() method shall return an array indexed by column number as returned in the corresponding result set, starting at column 0.
SQLITE3_BOTH (int)
Specifies that the Sqlite3Result::fetchArray() method shall return an array indexed by both column name and number as returned in the corresponding result set, starting at column 0.
SQLITE3_INTEGER (int)
Represents the SQLite3 INTEGER storage class.
SQLITE3_FLOAT (int)
Represents the SQLite3 REAL (FLOAT) storage class.
SQLITE3_TEXT (int)
Represents the SQLite3 TEXT storage class.
SQLITE3_BLOB (int)
Represents the SQLite3 BLOB storage class.
SQLITE3_NULL (int)
Represents the SQLite3 NULL storage class.
SQLITE3_OPEN_READONLY (int)
Specifies that the SQLite3 database be opened for reading only.
SQLITE3_OPEN_READWRITE (int)
Specifies that the SQLite3 database be opened for reading and writing.
SQLITE3_OPEN_CREATE (int)
Specifies that the SQLite3 database be created if it does not already exist.
SQLITE3_DETERMINISTIC (int)
Specifies that a function created with SQLite3::createFunction() is deterministic, i.e. it always returns the same result given the same inputs within a single SQL statement. (Available as of PHP 7.1.4.)


The SQLite3 class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Introdução

A class that interfaces SQLite 3 databases.

Sinopse da classe

SQLite3 {
/* Métodos */
public __construct ( string $filename , int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE , string $encryptionKey = "" )
public backup ( SQLite3 $destination , string $sourceDatabase = "main" , string $destinationDatabase = "main" ) : bool
public busyTimeout ( int $milliseconds ) : bool
public changes ( ) : int
public close ( ) : bool
public createAggregate ( string $name , callable $stepCallback , callable $finalCallback , int $argCount = -1 ) : bool
public createCollation ( string $name , callable $callback ) : bool
public createFunction ( string $name , callable $callback , int $argCount = -1 , int $flags = 0 ) : bool
public enableExceptions ( bool $enable = false ) : bool
public static escapeString ( string $string ) : string
public exec ( string $query ) : bool
public lastErrorCode ( ) : int
public lastErrorMsg ( ) : string
public lastInsertRowID ( ) : int
public loadExtension ( string $name ) : bool
public open ( string $filename , int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE , string $encryptionKey = "" ) : void
public openBlob ( string $table , string $column , int $rowid , string $database = "main" , int $flags = SQLITE3_OPEN_READONLY ) : resource|false
public prepare ( string $query ) : SQLite3Stmt|false
public query ( string $query ) : SQLite3Result|false
public querySingle ( string $query , bool $entireRow = false ) : mixed
public setAuthorizer ( callable|null $callback ) : bool
public static version ( ) : array
}

Índice

  • SQLite3::backup — Backup one database to another database
  • SQLite3::busyTimeout — Sets the busy connection handler
  • SQLite3::changes — Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement
  • SQLite3::close — Closes the database connection
  • SQLite3::__construct — Instantiates an SQLite3 object and opens an SQLite 3 database
  • SQLite3::createAggregate — Registers a PHP function for use as an SQL aggregate function
  • SQLite3::createCollation — Registers a PHP function for use as an SQL collating function
  • SQLite3::createFunction — Registers a PHP function for use as an SQL scalar function
  • SQLite3::enableExceptions — Enable throwing exceptions
  • SQLite3::escapeString — Returns a string that has been properly escaped
  • SQLite3::exec — Executes a result-less query against a given database
  • SQLite3::lastErrorCode — Returns the numeric result code of the most recent failed SQLite request
  • SQLite3::lastErrorMsg — Returns English text describing the most recent failed SQLite request
  • SQLite3::lastInsertRowID — Returns the row ID of the most recent INSERT into the database
  • SQLite3::loadExtension — Attempts to load an SQLite extension library
  • SQLite3::open — Opens an SQLite database
  • SQLite3::openBlob — Opens a stream resource to read a BLOB
  • SQLite3::prepare — Prepares an SQL statement for execution
  • SQLite3::query — Executes an SQL query
  • SQLite3::querySingle — Executes a query and returns a single result
  • SQLite3::setAuthorizer — Configures a callback to be used as an authorizer to limit what a statement can do
  • SQLite3::version — Returns the SQLite3 library version as a string constant and as a number


Backup one database to another database

  • « SQLite3
  • SQLite3::busyTimeout »
  • PHP Manual
  • SQLite3
  • Backup one database to another database

SQLite3::backup

(PHP 7 >= 7.4.0, PHP 8)

SQLite3::backup — Backup one database to another database

Descrição

public SQLite3::backup ( SQLite3 $destination , string $sourceDatabase = "main" , string $destinationDatabase = "main" ) : bool

SQLite3::backup() copies the contents of one database into another, overwriting the contents of the destination database. It is useful either for creating backups of databases or for copying in-memory databases to or from persistent files.

Parâmetros

destination

A database connection opened with SQLite3::open().

sourceDatabase

The database name is "main" for the main database, "temp" for the temporary database, or the name specified after the AS keyword in an ATTACH statement for an attached database.

destinationDatabase

Analogous to sourceDatabase but for the destination.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Backup an existing database

<?php
// $conn is a connection to an already opened sqlite3 database

$backup = new SQLite3('backup.sqlite');
$conn->backup($backup);
?>


Sets the busy connection handler

  • « SQLite3::backup
  • SQLite3::changes »
  • PHP Manual
  • SQLite3
  • Sets the busy connection handler

SQLite3::busyTimeout

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

SQLite3::busyTimeout — Sets the busy connection handler

Descrição

public SQLite3::busyTimeout ( int $milliseconds ) : bool

Sets a busy handler that will sleep until the database is not locked or the timeout is reached.

Parâmetros

milliseconds

The milliseconds to sleep. Setting this value to a value less than or equal to zero, will turn off an already set timeout handler.

Valor Retornado

Returns true on success, ou false em caso de falha.


Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement

  • « SQLite3::busyTimeout
  • SQLite3::close »
  • PHP Manual
  • SQLite3
  • Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement

SQLite3::changes

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::changes — Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement

Descrição

public SQLite3::changes ( ) : int

Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an int value corresponding to the number of database rows changed (or inserted or deleted) by the most recent SQL statement.

Exemplos

Exemplo #1 SQLite3::changes() example

<?php
$db = new SQLite3('mysqlitedb.db');

$query = $db->exec('UPDATE counter SET views=0 WHERE page="test"');
if ($query) {
    echo 'Number of rows modified: ', $db->changes();
}
?>


Closes the database connection

  • « SQLite3::changes
  • SQLite3::__construct »
  • PHP Manual
  • SQLite3
  • Closes the database connection

SQLite3::close

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::close — Closes the database connection

Descrição

public SQLite3::close ( ) : bool

Closes the database connection.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 SQLite3::close() example

<?php
$db = new SQLite3('mysqlitedb.db');
$db->close();
?>


Instantiates an SQLite3 object and opens an SQLite 3 database

  • « SQLite3::close
  • SQLite3::createAggregate »
  • PHP Manual
  • SQLite3
  • Instantiates an SQLite3 object and opens an SQLite 3 database

SQLite3::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::__construct — Instantiates an SQLite3 object and opens an SQLite 3 database

Descrição

public SQLite3::__construct ( string $filename , int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE , string $encryptionKey = "" )

Instantiates an SQLite3 object and opens a connection to an SQLite 3 database. If the build includes encryption, then it will attempt to use the key.

Parâmetros

filename

Path to the SQLite database, or :memory: to use in-memory database. If filename is an empty string, then a private, temporary on-disk database will be created. This private database will be automatically deleted as soon as the database connection is closed.

flags

Optional flags used to determine how to open the SQLite database. By default, open uses SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE.

  • SQLITE3_OPEN_READONLY: Open the database for reading only.

  • SQLITE3_OPEN_READWRITE: Open the database for reading and writing.

  • SQLITE3_OPEN_CREATE: Create the database if it does not exist.

encryptionKey

An optional encryption key used when encrypting and decrypting an SQLite database. If the SQLite encryption module is not installed, this parameter will have no effect.

Valor Retornado

Returns an SQLite3 object on success.

Erros

Throws an Exception on failure.

Changelog

Versão | Descrição
7.0.10 | The filename can now be empty to use a private, temporary on-disk database.

Exemplos

Exemplo #1 SQLite3::__construct() example

<?php
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (bar TEXT)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");

$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>


Registers a PHP function for use as an SQL aggregate function

  • « SQLite3::__construct
  • SQLite3::createCollation »
  • PHP Manual
  • SQLite3
  • Registers a PHP function for use as an SQL aggregate function

SQLite3::createAggregate

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::createAggregate — Registers a PHP function for use as an SQL aggregate function

Descrição

public SQLite3::createAggregate ( string $name , callable $stepCallback , callable $finalCallback , int $argCount = -1 ) : bool

Registers a PHP function or user-defined function for use as an SQL aggregate function for use within SQL statements.

Parâmetros

name

Name of the SQL aggregate to be created or redefined.

stepCallback

Callback function called for each row of the result set. Your PHP function should accumulate the result and store it in the aggregation context.

This function need to be defined as:

step ( mixed $context , int $rownumber , mixed $value , mixed ...$values ) : mixed
context

null for the first row; on subsequent rows it will have the value that was previously returned from the step function; you should use this to maintain the aggregate state.

rownumber

The current row number.

value

The first argument passed to the aggregate.

values

Further arguments passed to the aggregate.

The return value of this function will be used as the context argument in the next call of the step or finalize functions.

finalCallback

Callback function to aggregate the "stepped" data from each row. Once all the rows have been processed, this function will be called and it should then take the data from the aggregation context and return the result. This callback function should return a type understood by SQLite (i.e. scalar type).

This function need to be defined as:

fini ( mixed $context , int $rownumber ) : mixed
context

Holds the return value from the very last call to the step function.

rownumber

Always 0.

The return value of this function will be used as the return value for the aggregate.

argCount

The number of arguments that the SQL aggregate takes. If this parameter is negative, then the SQL aggregate may take any number of arguments.

Valor Retornado

Returns true upon successful creation of the aggregate, ou false em caso de falha.

Exemplos

Exemplo #1 max_length aggregation function example

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$db = new SQLite3(':memory:');
$db->exec("CREATE TABLE strings(a)");
$insert = $db->prepare('INSERT INTO strings VALUES (?)');
foreach ($data as $str) {
    $insert->bindValue(1, $str);
    $insert->execute();
}
$insert = null;

function max_len_step($context, $rownumber, $string)
{
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
    return $context;
}

function max_len_finalize($context, $rownumber)
{
    return $context === null ? 0 : $context;
}

$db->createAggregate('max_len', 'max_len_step', 'max_len_finalize');

var_dump($db->querySingle('SELECT max_len(a) from strings'));
?>

O exemplo acima irá imprimir:

int(5)

In this example, we are creating an aggregating function that will calculate the length of the longest string in one of the columns of the table. For each row, the max_len_step function is called and passed a $context parameter. The context parameter is just like any other PHP variable and be set to hold an array or even an object value. In this example, we are simply using it to hold the maximum length we have seen so far; if the $string has a length longer than the current maximum, we update the context to hold this new maximum length.

After all of the rows have been processed, SQLite calls the max_len_finalize function to determine the aggregate result. Here, we could perform some kind of calculation based on the data found in the $context. In our simple example though, we have been calculating the result as the query progressed, so we simply need to return the context value.

Dica

It is NOT recommended for you to store a copy of the values in the context and then process them at the end, as you would cause SQLite to use a lot of memory to process the query - just think of how much memory you would need if a million rows were stored in memory, each containing a string 32 bytes in length.

Dica

You can use SQLite3::createAggregate() to override SQLite native SQL functions.


Registers a PHP function for use as an SQL collating function

  • « SQLite3::createAggregate
  • SQLite3::createFunction »
  • PHP Manual
  • SQLite3
  • Registers a PHP function for use as an SQL collating function

SQLite3::createCollation

(PHP 5 >= 5.3.11, PHP 7, PHP 8)

SQLite3::createCollation — Registers a PHP function for use as an SQL collating function

Descrição

public SQLite3::createCollation ( string $name , callable $callback ) : bool

Registers a PHP function or user-defined function for use as a collating function within SQL statements.

Parâmetros

name

Name of the SQL collating function to be created or redefined

callback

The name of a PHP function or user-defined function to apply as a callback, defining the behavior of the collation. It should accept two values and return as strcmp() does, i.e. it should return -1, 1, or 0 if the first string sorts before, sorts after, or is equal to the second.

This function need to be defined as:

collation ( mixed $value1 , mixed $value2 ) : int

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 SQLite3::createCollation() example

Register the PHP function strnatcmp() as a collating sequence in the SQLite3 database.

<?php

$db = new SQLite3(":memory:");
$db->exec("CREATE TABLE test (col1 string)");
$db->exec("INSERT INTO test VALUES ('a1')");
$db->exec("INSERT INTO test VALUES ('a10')");
$db->exec("INSERT INTO test VALUES ('a2')");

$db->createCollation('NATURAL_CMP', 'strnatcmp');

$defaultSort = $db->query("SELECT col1 FROM test ORDER BY col1");
$naturalSort = $db->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP");

echo "default:\n";
while ($row = $defaultSort->fetchArray()){
    echo $row['col1'], "\n";
}

echo "\nnatural:\n";
while ($row = $naturalSort->fetchArray()){
    echo $row['col1'], "\n";
}

$db->close();

?>

O exemplo acima irá imprimir:

default:
a1
a10
a2

natural:
a1
a2
a10

Veja Também

  • The SQLite collation documentation: » http://sqlite.org/datatype3.html#collation


Registers a PHP function for use as an SQL scalar function

  • « SQLite3::createCollation
  • SQLite3::enableExceptions »
  • PHP Manual
  • SQLite3
  • Registers a PHP function for use as an SQL scalar function

SQLite3::createFunction

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::createFunction — Registers a PHP function for use as an SQL scalar function

Descrição

public SQLite3::createFunction ( string $name , callable $callback , int $argCount = -1 , int $flags = 0 ) : bool

Registers a PHP function or user-defined function for use as an SQL scalar function for use within SQL statements.

Parâmetros

name

Name of the SQL function to be created or redefined.

callback

The name of a PHP function or user-defined function to apply as a callback, defining the behavior of the SQL function.

This function need to be defined as:

callback ( mixed $value , mixed ...$values ) : mixed
value

The first argument passed to the SQL function.

values

Further arguments passed to the SQL function.

argCount

The number of arguments that the SQL function takes. If this parameter is -1, then the SQL function may take any number of arguments.

flags

A bitwise conjunction of flags. Currently, only SQLITE3_DETERMINISTIC is supported, which specifies that the function always returns the same result given the same inputs within a single SQL statement.

Valor Retornado

Returns true upon successful creation of the function, false on failure.

Changelog

Versão | Descrição
7.1.4 | The flags parameter has been added.

Exemplos

Exemplo #1 SQLite3::createFunction() example

<?php
function my_udf_md5($string) {
    return md5($string);
}

$db = new SQLite3('mysqlitedb.db');
$db->createFunction('my_udf_md5', 'my_udf_md5');

var_dump($db->querySingle('SELECT my_udf_md5("test")'));
?>

O exemplo acima irá imprimir algo similar à:

string(32) "098f6bcd4621d373cade4e832627b4f6"


Enable throwing exceptions

  • « SQLite3::createFunction
  • SQLite3::escapeString »
  • PHP Manual
  • SQLite3
  • Enable throwing exceptions

SQLite3::enableExceptions

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::enableExceptions — Enable throwing exceptions

Descrição

public SQLite3::enableExceptions ( bool $enable = false ) : bool

Controls whether the SQLite3 instance will throw exceptions or warnings on error.

Parâmetros

enable

When true, the SQLite3 instance, and SQLite3Stmt and SQLite3Result instances derived from it, will throw exceptions on error.

When false, the SQLite3 instance, and SQLite3Stmt and SQLite3Result instances derived from it, will raise warnings on error.

For either mode, the error code and message, if any, will be available via SQLite3::lastErrorCode() and SQLite3::lastErrorMsg() respectively.

Valor Retornado

Returns the old value; true if exceptions were enabled, false otherwise.

Exemplos

Exemplo #1 SQLite3::enableExceptions() example

<?php
$sqlite = new SQLite3(':memory:');
try {
    $sqlite->exec('create table foo');
    $sqlite->enableExceptions(true);
    $sqlite->exec('create table bar');
} catch (Exception $e) {
    echo 'Caught exception: ' . $e->getMessage();
}
?>

O exemplo acima irá imprimir algo similar à:

Warning: SQLite3::exec(): near "foo": syntax error in example.php on line 4
Caught exception: near "bar": syntax error


Returns a string that has been properly escaped

  • « SQLite3::enableExceptions
  • SQLite3::exec »
  • PHP Manual
  • SQLite3
  • Returns a string that has been properly escaped

SQLite3::escapeString

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::escapeString — Returns a string that has been properly escaped

Descrição

public static SQLite3::escapeString ( string $string ) : string

Returns a string that has been properly escaped for safe inclusion in an SQL statement.

Aviso

Esta função (ainda) não é compatível com dados binários!

To properly handle BLOB fields which may contain NUL characters, use SQLite3Stmt::bindParam() instead.

Parâmetros

string

The string to be escaped.

Valor Retornado

Returns a properly escaped string that may be used safely in an SQL statement.

Notas

Aviso

addslashes() should NOT be used to quote your strings for SQLite queries; it will lead to strange results when retrieving your data.


Executes a result-less query against a given database

  • « SQLite3::escapeString
  • SQLite3::lastErrorCode »
  • PHP Manual
  • SQLite3
  • Executes a result-less query against a given database

SQLite3::exec

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::exec — Executes a result-less query against a given database

Descrição

public SQLite3::exec ( string $query ) : bool

Executes a result-less query against a given database.

Nota: SQLite3 may need to create » temporary files during the execution of queries, so the respective directories may have to be writable.

Parâmetros

query

The SQL query to execute (typically an INSERT, UPDATE, or DELETE query).

Valor Retornado

Returns true if the query succeeded, false on failure.

Exemplos

Exemplo #1 SQLite3::exec() example

<?php
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE bar (bar STRING)');
?>


Returns the numeric result code of the most recent failed SQLite request

  • « SQLite3::exec
  • SQLite3::lastErrorMsg »
  • PHP Manual
  • SQLite3
  • Returns the numeric result code of the most recent failed SQLite request

SQLite3::lastErrorCode

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::lastErrorCode — Returns the numeric result code of the most recent failed SQLite request

Descrição

public SQLite3::lastErrorCode ( ) : int

Returns the numeric result code of the most recent failed SQLite request.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer value representing the numeric result code of the most recent failed SQLite request.


Returns English text describing the most recent failed SQLite request

  • « SQLite3::lastErrorCode
  • SQLite3::lastInsertRowID »
  • PHP Manual
  • SQLite3
  • Returns English text describing the most recent failed SQLite request

SQLite3::lastErrorMsg

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::lastErrorMsg — Returns English text describing the most recent failed SQLite request

Descrição

public SQLite3::lastErrorMsg ( ) : string

Returns English text describing the most recent failed SQLite request.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an English string describing the most recent failed SQLite request.


Returns the row ID of the most recent INSERT into the database

  • « SQLite3::lastErrorMsg
  • SQLite3::loadExtension »
  • PHP Manual
  • SQLite3
  • Returns the row ID of the most recent INSERT into the database

SQLite3::lastInsertRowID

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::lastInsertRowID — Returns the row ID of the most recent INSERT into the database

Descrição

public SQLite3::lastInsertRowID ( ) : int

Returns the row ID of the most recent INSERT into the database.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the row ID of the most recent INSERT into the database


Attempts to load an SQLite extension library

  • « SQLite3::lastInsertRowID
  • SQLite3::open »
  • PHP Manual
  • SQLite3
  • Attempts to load an SQLite extension library

SQLite3::loadExtension

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::loadExtension — Attempts to load an SQLite extension library

Descrição

public SQLite3::loadExtension ( string $name ) : bool

Attempts to load an SQLite extension library.

Parâmetros

name

The name of the library to load. The library must be located in the directory specified in the configure option sqlite3.extension_dir.

Valor Retornado

Returns true if the extension is successfully loaded, false on failure.

Exemplos

Exemplo #1 SQLite3::loadExtension() example

<?php
$db = new SQLite3('mysqlitedb.db');
$db->loadExtension('libagg.so');
?>


Opens an SQLite database

  • « SQLite3::loadExtension
  • SQLite3::openBlob »
  • PHP Manual
  • SQLite3
  • Opens an SQLite database

SQLite3::open

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::open — Opens an SQLite database

Descrição

public SQLite3::open ( string $filename , int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE , string $encryptionKey = "" ) : void

Opens an SQLite 3 Database. If the build includes encryption, then it will attempt to use the key.

Parâmetros

filename

Path to the SQLite database, or :memory: to use in-memory database.

flags

Optional flags used to determine how to open the SQLite database. By default, open uses SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE.

  • SQLITE3_OPEN_READONLY: Open the database for reading only.

  • SQLITE3_OPEN_READWRITE: Open the database for reading and writing.

  • SQLITE3_OPEN_CREATE: Create the database if it does not exist.

encryptionKey

An optional encryption key used when encrypting and decrypting an SQLite database. If the SQLite encryption module is not installed, this parameter will have no effect.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SQLite3::open() example

<?php
/**
 * Simple example of extending the SQLite3 class and changing the __construct
 * parameters, then using the open method to initialize the DB.
 */
class MyDB extends SQLite3
{
    function __construct()
    {
        $this->open('mysqlitedb.db');
    }
}

$db = new MyDB();

$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");

$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>


Opens a stream resource to read a BLOB

  • « SQLite3::open
  • SQLite3::prepare »
  • PHP Manual
  • SQLite3
  • Opens a stream resource to read a BLOB

SQLite3::openBlob

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::openBlob — Opens a stream resource to read a BLOB

Descrição

public SQLite3::openBlob ( string $table , string $column , int $rowid , string $database = "main" , int $flags = SQLITE3_OPEN_READONLY ) : resource|false

Opens a stream resource to read or write a BLOB, which would be selected by:

SELECT column FROM database.table WHERE rowid = rowid

Nota: It is not possible to change the size of a BLOB by writing to the stream. Instead, an UPDATE statement has to be executed, possibly using SQLite's zeroblob() function to set the desired BLOB size.

Parâmetros

table

The table name.

column

The column name.

rowid

The row ID.

database

The symbolic name of the DB

flags

Either SQLITE3_OPEN_READONLY or SQLITE3_OPEN_READWRITE to open the stream for reading only, or for reading and writing, respectively.

Valor Retornado

Returns a stream resource, ou false em caso de falha.

Changelog

Versão | Descrição
7.2.0 | The flags parameter has been added, allowing to write BLOBs; formerly only reading was supported.

Exemplos

Exemplo #1 SQLite3::openBlob() example

<?php
$conn = new SQLite3(':memory:');
$conn->exec('CREATE TABLE test (text text)');
$conn->exec("INSERT INTO test VALUES ('Lorem ipsum')");
$stream = $conn->openBlob('test', 'text', 1);
echo stream_get_contents($stream);
fclose($stream); // mandatory, otherwise the next line would fail
$conn->close();
?>

O exemplo acima irá imprimir:

Lorem ipsum

Exemplo #2 Incrementally writing a BLOB

<?php
$conn = new SQLite3(':memory:');
$conn->exec('CREATE TABLE test (text text)');
$conn->exec("INSERT INTO test VALUES (zeroblob(36))");
$stream = $conn->openBlob('test', 'text', 1, 'main', SQLITE3_OPEN_READWRITE);
for ($i = 0; $i < 3; $i++) {
    fwrite($stream,  "Lorem ipsum\n");
}
fclose($stream);
echo $conn->querySingle("SELECT text FROM test");
$conn->close();
?>

O exemplo acima irá imprimir:

Lorem ipsum
Lorem ipsum
Lorem ipsum


Prepares an SQL statement for execution

  • « SQLite3::openBlob
  • SQLite3::query »
  • PHP Manual
  • SQLite3
  • Prepares an SQL statement for execution

SQLite3::prepare

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::prepare — Prepares an SQL statement for execution

Descrição

public SQLite3::prepare ( string $query ) : SQLite3Stmt|false

Prepares an SQL statement for execution and returns an SQLite3Stmt object.

Parâmetros

query

The SQL query to prepare.

Valor Retornado

Returns an SQLite3Stmt object on success ou false em caso de falha.

Exemplos

Exemplo #1 SQLite3::prepare() example

<?php
unlink('mysqlitedb.db');
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$db->exec("INSERT INTO foo (id, bar) VALUES (1, 'This is a test')");

$stmt = $db->prepare('SELECT bar FROM foo WHERE id=:id');
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);

$result = $stmt->execute();
var_dump($result->fetchArray());
?>

Veja Também

  • SQLite3Stmt::paramCount() - Returns the number of parameters within the prepared statement
  • SQLite3Stmt::bindValue() - Binds the value of a parameter to a statement variable
  • SQLite3Stmt::bindParam() - Binds a parameter to a statement variable


Executes an SQL query

  • « SQLite3::prepare
  • SQLite3::querySingle »
  • PHP Manual
  • SQLite3
  • Executes an SQL query

SQLite3::query

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::query — Executes an SQL query

Descrição

public SQLite3::query ( string $query ) : SQLite3Result|false

Executes an SQL query, returning an SQLite3Result object. If the query does not yield a result (such as DML statements) the returned SQLite3Result object is not really usable. Use SQLite3::exec() for such queries instead.

Parâmetros

query

The SQL query to execute.

Valor Retornado

Returns an SQLite3Result object, ou false em caso de falha.

Exemplos

Exemplo #1 SQLite3::query() example

<?php
$db = new SQLite3('mysqlitedb.db');

$results = $db->query('SELECT bar FROM foo');
while ($row = $results->fetchArray()) {
    var_dump($row);
}
?>


Executes a query and returns a single result

  • « SQLite3::query
  • SQLite3::setAuthorizer »
  • PHP Manual
  • SQLite3
  • Executes a query and returns a single result

SQLite3::querySingle

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::querySingle — Executes a query and returns a single result

Descrição

public SQLite3::querySingle ( string $query , bool $entireRow = false ) : mixed

Executes a query and returns a single result.

Parâmetros

query

The SQL query to execute.

entireRow

By default, querySingle() returns the value of the first column returned by the query. If entireRow is true, then it returns an array of the entire first row.

Valor Retornado

Returns the value of the first column of results or an array of the entire first row (if entireRow is true).

If the query is valid but no results are returned, then null will be returned if entireRow is false, otherwise an empty array is returned.

Invalid or failing queries will return false.

Exemplos

Exemplo #1 SQLite3::querySingle() example

<?php
$db = new SQLite3('mysqlitedb.db');

var_dump($db->querySingle('SELECT username FROM user WHERE userid=1'));
print_r($db->querySingle('SELECT username, email FROM user WHERE userid=1', true));
?>

O exemplo acima irá imprimir algo similar à:

string(5) "Scott"
Array
(
    [username] => Scott
    [email] => scott@example.com
)


Configures a callback to be used as an authorizer to limit what a statement can do

  • « SQLite3::querySingle
  • SQLite3::version »
  • PHP Manual
  • SQLite3
  • Configures a callback to be used as an authorizer to limit what a statement can do

SQLite3::setAuthorizer

(PHP 8)

SQLite3::setAuthorizer — Configures a callback to be used as an authorizer to limit what a statement can do

Descrição

public SQLite3::setAuthorizer ( callable|null $callback ) : bool

Sets a callback that will be called by SQLite every time an action is performed (reading, deleting, updating, etc.). This is used when preparing a SQL statement from an untrusted source to ensure that the SQL statements do not try to access data they are not allowed to see, or that they do not try to execute malicious statements that damage the database. For example, an application may allow a user to enter arbitrary SQL queries for evaluation by a database. But the application does not want the user to be able to make arbitrary changes to the database. An authorizer could then be put in place while the user-entered SQL is being prepared that disallows everything except SELECT statements.

The authorizer callback may be called multiple times for each statement prepared by SQLite. A SELECT or UPDATE query will call the authorizer for every column that would be read or updated.

The authorizer is called with up to five parameters. The first parameter is always given, and is an int (action code) matching a constant from SQLite3. The other parameters are only passed for some actions. The following table describes the second and third parameters according to the action:

List of action codes and parameters
Action | Second parameter | Third parameter
SQLite3::CREATE_INDEX | Index Name | Table Name
SQLite3::CREATE_TABLE | Table Name | null
SQLite3::CREATE_TEMP_INDEX | Index Name | Table Name
SQLite3::CREATE_TEMP_TABLE | Table Name | null
SQLite3::CREATE_TEMP_TRIGGER | Trigger Name | Table Name
SQLite3::CREATE_TEMP_VIEW | View Name | null
SQLite3::CREATE_TRIGGER | Trigger Name | Table Name
SQLite3::CREATE_VIEW | View Name | null
SQLite3::DELETE | Table Name | null
SQLite3::DROP_INDEX | Index Name | Table Name
SQLite3::DROP_TABLE | Table Name | null
SQLite3::DROP_TEMP_INDEX | Index Name | Table Name
SQLite3::DROP_TEMP_TABLE | Table Name | null
SQLite3::DROP_TEMP_TRIGGER | Trigger Name | Table Name
SQLite3::DROP_TEMP_VIEW | View Name | null
SQLite3::DROP_TRIGGER | Trigger Name | Table Name
SQLite3::DROP_VIEW | View Name | null
SQLite3::INSERT | Table Name | null
SQLite3::PRAGMA | Pragma Name | First argument passed to the pragma, or null
SQLite3::READ | Table Name | Column Name
SQLite3::SELECT | null | null
SQLite3::TRANSACTION | Operation | null
SQLite3::UPDATE | Table Name | Column Name
SQLite3::ATTACH | Filename | null
SQLite3::DETACH | Database Name | null
SQLite3::ALTER_TABLE | Database Name | Table Name
SQLite3::REINDEX | Index Name | null
SQLite3::ANALYZE | Table Name | null
SQLite3::CREATE_VTABLE | Table Name | Module Name
SQLite3::DROP_VTABLE | Table Name | Module Name
SQLite3::FUNCTION | null | Function Name
SQLite3::SAVEPOINT | Operation | Savepoint Name
SQLite3::RECURSIVE | null | null

The 5th parameter will be the name of the database ("main", "temp", etc.) if applicable.

The 6th parameter to the authorizer callback is the name of the inner-most trigger or view that is responsible for the access attempt or null if this access attempt is directly from top-level SQL code.

When the callback returns SQLite3::OK, that means the operation requested is accepted. When the callback returns SQLite3::DENY, the call that triggered the authorizer will fail with an error message explaining that access is denied.

If the action code is SQLite3::READ and the callback returns SQLite3::IGNORE then the prepared statement statement is constructed to substitute a null value in place of the table column that would have been read if SQLite3::OK had been returned. The SQLite3::IGNORE return can be used to deny an untrusted user access to individual columns of a table.

When a table is referenced by a SELECT but no column values are extracted from that table (for example in a query like "SELECT count(*) FROM table") then the SQLite3::READ authorizer callback is invoked once for that table with a column name that is an empty string.

If the action code is SQLite3::DELETE and the callback returns SQLite3::IGNORE then the DELETE operation proceeds but the truncate optimization is disabled and all rows are deleted individually.

Only a single authorizer can be in place on a database connection at a time. Each call to SQLite3::setAuthorizer() overrides the previous call. Disable the authorizer by installing a null callback. The authorizer is disabled by default.

The authorizer callback must not do anything that will modify the database connection that invoked the authorizer callback.

Note that the authorizer is only called when a statement is prepared, not when it's executed.

More details can be found in the » SQLite3 documentation.

Parâmetros

callback

The callable to be called.

If null is passed instead, this will disable the current authorizer callback.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

This method doesn't throw any error, but if an authorizer is enabled and returns an invalid value, the statement preparation will throw an error (or exception, depending on the use of the SQLite3::enableExceptions() method).

Exemplos

Exemplo #1 SQLite3::setAuthorizer() example

This only allows access to reading, and only some columns of the users table will be returned. Other columns will be replaced with null.

<?php
$db = new SQLite3('data.sqlite');
$db->exec('CREATE TABLE users (id, name, password);');
$db->exec('INSERT INTO users VALUES (1, \'Pauline\', \'Snails4eva\');');

$allowed_columns = ['id', 'name'];

$db->setAuthorizer(function (int $action, ...$args) use ($allowed_columns) {
    if ($action === SQLite3::READ) {
        list($table, $column) = $args;

        if ($table === 'users' && in_array($column, $allowed_columns) {
            return SQLite3::OK;
        }

        return SQLite3::IGNORE;
    }

    return SQLite3::DENY;
});

print_r($db->querySingle('SELECT * FROM users WHERE id = 1;'));

O exemplo acima irá imprimir:

Array
(
    [id] => 1
    [name] => Pauline
    [password] =>
)


Returns the SQLite3 library version as a string constant and as a number

  • « SQLite3::setAuthorizer
  • SQLite3Stmt »
  • PHP Manual
  • SQLite3
  • Returns the SQLite3 library version as a string constant and as a number

SQLite3::version

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::version — Returns the SQLite3 library version as a string constant and as a number

Descrição

public static SQLite3::version ( ) : array

Returns the SQLite3 library version as a string constant and as a number.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an associative array with the keys "versionString" and "versionNumber".

Exemplos

Exemplo #1 SQLite3::version() example

<?php
print_r(SQLite3::version());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [versionString] => 3.5.9
    [versionNumber] => 3005009
)


The SQLite3Stmt class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Introdução

A class that handles prepared statements for the SQLite 3 extension.

Sinopse da classe

SQLite3Stmt {
/* Métodos */
public bindParam ( string|int $param , mixed &$var , int $type = SQLITE3_TEXT ) : bool
public bindValue ( string|int $param , mixed $value , int $type = SQLITE3_TEXT ) : bool
public clear ( ) : bool
public close ( ) : bool
public execute ( ) : SQLite3Result|false
public getSQL ( bool $expand = false ) : string|false
public paramCount ( ) : int
public readOnly ( ) : bool
public reset ( ) : bool
}

Índice

  • SQLite3Stmt::bindParam — Binds a parameter to a statement variable
  • SQLite3Stmt::bindValue — Binds the value of a parameter to a statement variable
  • SQLite3Stmt::clear — Clears all current bound parameters
  • SQLite3Stmt::close — Closes the prepared statement
  • SQLite3Stmt::execute — Executes a prepared statement and returns a result set object
  • SQLite3Stmt::getSQL — Get the SQL of the statement
  • SQLite3Stmt::paramCount — Returns the number of parameters within the prepared statement
  • SQLite3Stmt::readOnly — Returns whether a statement is definitely read only
  • SQLite3Stmt::reset — Resets the prepared statement


Binds a parameter to a statement variable

  • « SQLite3Stmt
  • SQLite3Stmt::bindValue »
  • PHP Manual
  • SQLite3Stmt
  • Binds a parameter to a statement variable

SQLite3Stmt::bindParam

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::bindParam — Binds a parameter to a statement variable

Descrição

public SQLite3Stmt::bindParam ( string|int $param , mixed &$var , int $type = SQLITE3_TEXT ) : bool

Binds a parameter to a statement variable.

Cuidado

Before PHP 7.2.14 and 7.3.0, respectively, SQLite3Stmt::reset() must be called after the first call to SQLite3Stmt::execute() if the bound value should be properly updated on following calls to SQLite3Stmt::execute(). If SQLite3Stmt::reset() is not called, the bound value will not change, even if the value assigned to the variable passed to SQLite3Stmt::bindParam() has changed, or SQLite3Stmt::bindParam() has been called again.

Parâmetros

param

Either a string (for named parameters) or an int (for positional parameters) identifying the statement variable to which the value should be bound. If a named parameter does not start with a colon (:) or an at sign (@), a colon (:) is automatically preprended. Positional parameters start with 1.

var

The parameter to bind to a statement variable.

type

The data type of the parameter to bind.

  • SQLITE3_INTEGER: The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.

  • SQLITE3_FLOAT: The value is a floating point value, stored as an 8-byte IEEE floating point number.

  • SQLITE3_TEXT: The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16-LE).

  • SQLITE3_BLOB: The value is a blob of data, stored exactly as it was input.

  • SQLITE3_NULL: The value is a NULL value.

As of PHP 7.0.7, if type is omitted, it is automatically detected from the type of the var: bool and int are treated as SQLITE3_INTEGER, float as SQLITE3_FLOAT, null as SQLITE3_NULL and all others as SQLITE3_TEXT. Formerly, if type has been omitted, it has defaulted to SQLITE3_TEXT.

Nota:

If var is null, it is always treated as SQLITE3_NULL, regardless of the given type.

Valor Retornado

Returns true if the parameter is bound to the statement variable, false on failure.

Changelog

Versão | Descrição
7.4.0 | param now also supports the @param notation.

Exemplos

Exemplo #1 SQLite3Stmt::bindParam() Usage

This example shows how a single prepared statement with a single parameter binding can be used to insert multiple rows with different values.

<?php
$db = new SQLite3(':memory:');
$db->exec("CREATE TABLE foo (bar TEXT)");

$stmt = $db->prepare("INSERT INTO foo VALUES (:bar)");
$stmt->bindParam(':bar', $bar, SQLITE3_TEXT);

$bar = 'baz';
$stmt->execute();

$bar = 42;
$stmt->execute();

$res = $db->query("SELECT * FROM foo");
while (($row = $res->fetchArray(SQLITE3_ASSOC))) {
    var_dump($row);
}
?>

O exemplo acima irá imprimir:

array(1) {
  ["bar"]=>
  string(3) "baz"
}
array(1) {
  ["bar"]=>
  string(2) "42"
}

Veja Também

  • SQLite3Stmt::bindValue() - Binds the value of a parameter to a statement variable
  • SQLite3::prepare() - Prepares an SQL statement for execution


Binds the value of a parameter to a statement variable

  • « SQLite3Stmt::bindParam
  • SQLite3Stmt::clear »
  • PHP Manual
  • SQLite3Stmt
  • Binds the value of a parameter to a statement variable

SQLite3Stmt::bindValue

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::bindValue — Binds the value of a parameter to a statement variable

Descrição

public SQLite3Stmt::bindValue ( string|int $param , mixed $value , int $type = SQLITE3_TEXT ) : bool

Binds the value of a parameter to a statement variable.

Cuidado

Before PHP 7.2.14 and 7.3.0, respectively, once the statement has been executed, SQLite3Stmt::reset() needs to be called to be able to change the value of bound parameters.

Parâmetros

param

Either a string (for named parameters) or an int (for positional parameters) identifying the statement variable to which the value should be bound. If a named parameter does not start with a colon (:) or an at sign (@), a colon (:) is automatically preprended. Positional parameters start with 1.

value

The value to bind to a statement variable.

type

The data type of the value to bind.

  • SQLITE3_INTEGER: The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.

  • SQLITE3_FLOAT: The value is a floating point value, stored as an 8-byte IEEE floating point number.

  • SQLITE3_TEXT: The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16-LE).

  • SQLITE3_BLOB: The value is a blob of data, stored exactly as it was input.

  • SQLITE3_NULL: The value is a NULL value.

As of PHP 7.0.7, if type is omitted, it is automatically detected from the type of the value: bool and int are treated as SQLITE3_INTEGER, float as SQLITE3_FLOAT, null as SQLITE3_NULL and all others as SQLITE3_TEXT. Formerly, if type has been omitted, it has defaulted to SQLITE3_TEXT.

Nota:

If value is null, it is always treated as SQLITE3_NULL, regardless of the given type.

Valor Retornado

Returns true if the value is bound to the statement variable, ou false em caso de falha.

Changelog

Versão | Descrição
7.4.0 | param now also supports the @param notation.

Exemplos

Exemplo #1 SQLite3Stmt::bindValue() example

<?php
$db = new SQLite3(':memory:');

$db->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$db->exec("INSERT INTO foo (id, bar) VALUES (1, 'This is a test')");

$stmt = $db->prepare('SELECT bar FROM foo WHERE id=:id');
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);

$result = $stmt->execute();
var_dump($result->fetchArray(SQLITE3_ASSOC));
?>

O exemplo acima irá imprimir:

array(1) {
  ["bar"]=>
  string(14) "This is a test"
}

Veja Também

  • SQLite3Stmt::bindParam() - Binds a parameter to a statement variable
  • SQLite3::prepare() - Prepares an SQL statement for execution


Clears all current bound parameters

  • « SQLite3Stmt::bindValue
  • SQLite3Stmt::close »
  • PHP Manual
  • SQLite3Stmt
  • Clears all current bound parameters

SQLite3Stmt::clear

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::clear — Clears all current bound parameters

Descrição

public SQLite3Stmt::clear ( ) : bool

Clears all current bound parameters (sets them to null).

Cuidado

This method needs to be used with SQLite3Stmt::reset(). If used alone, any call to SQLite3Stmt::bindValue() or SQLite3Stmt::bindParam() will be of no effect and all bound parameters will have the null value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true on successful clearing of bound parameters, false on failure.


Closes the prepared statement

  • « SQLite3Stmt::clear
  • SQLite3Stmt::execute »
  • PHP Manual
  • SQLite3Stmt
  • Closes the prepared statement

SQLite3Stmt::close

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::close — Closes the prepared statement

Descrição

public SQLite3Stmt::close ( ) : bool

Closes the prepared statement.

Nota: Note that all SQLite3Results that have been retrieved by executing this statement will be invalidated when the statement is closed.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true


Executes a prepared statement and returns a result set object

  • « SQLite3Stmt::close
  • SQLite3Stmt::getSQL »
  • PHP Manual
  • SQLite3Stmt
  • Executes a prepared statement and returns a result set object

SQLite3Stmt::execute

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::execute — Executes a prepared statement and returns a result set object

Descrição

public SQLite3Stmt::execute ( ) : SQLite3Result|false

Executes a prepared statement and returns a result set object.

Cuidado

Result set objects retrieved by calling this method on the same statement object are not independent, but rather share the same underlying structure. Therefore it is recommended to call SQLite3Result::finalize(), before calling SQLite3Stmt::execute() on the same statement object again.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an SQLite3Result object on successful execution of the prepared statement, false on failure.

Veja Também

  • SQLite3::prepare() - Prepares an SQL statement for execution
  • SQLite3Stmt::bindValue() - Binds the value of a parameter to a statement variable
  • SQLite3Stmt::bindParam() - Binds a parameter to a statement variable


Get the SQL of the statement

  • « SQLite3Stmt::execute
  • SQLite3Stmt::paramCount »
  • PHP Manual
  • SQLite3Stmt
  • Get the SQL of the statement

SQLite3Stmt::getSQL

(PHP 7 >= 7.4.0, PHP 8)

SQLite3Stmt::getSQL — Get the SQL of the statement

Descrição

public SQLite3Stmt::getSQL ( bool $expand = false ) : string|false

Retrieves the SQL of the prepared statement. If expand is false, the unmodified SQL is retrieved. If expand is true, all query parameters are replaced with their bound values, or with an SQL NULL, if not already bound.

Parâmetros

expand

Whether to retrieve the expanded SQL. Passing true is only supported as of libsqlite 3.14.

Valor Retornado

Returns the SQL of the prepared statement, ou false em caso de falha.

Erros

If expand is true, but the libsqlite version is less than 3.14, an error of level E_WARNING or an Exception is issued, according to SQLite3::enableExceptions().

Exemplos

Exemplo #1 Inspecting the expanded SQL

<?php
$db = new SQLite3(':memory:');
$stmt = $db->prepare("SELECT :a, ?, :c");
$stmt->bindValue(':a', 'foo');
$answer = 42;
$stmt->bindParam(2, $answer);
var_dump($stmt->getSQL(true));
?>

O exemplo acima irá imprimir algo similar à:

string(24) "SELECT 'foo', '42', NULL"


Returns the number of parameters within the prepared statement

  • « SQLite3Stmt::getSQL
  • SQLite3Stmt::readOnly »
  • PHP Manual
  • SQLite3Stmt
  • Returns the number of parameters within the prepared statement

SQLite3Stmt::paramCount

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::paramCount — Returns the number of parameters within the prepared statement

Descrição

public SQLite3Stmt::paramCount ( ) : int

Returns the number of parameters within the prepared statement.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of parameters within the prepared statement.

Veja Também

  • SQLite3::prepare() - Prepares an SQL statement for execution


Returns whether a statement is definitely read only

  • « SQLite3Stmt::paramCount
  • SQLite3Stmt::reset »
  • PHP Manual
  • SQLite3Stmt
  • Returns whether a statement is definitely read only

SQLite3Stmt::readOnly

(PHP 5 >= 5.3.6, PHP 7, PHP 8)

SQLite3Stmt::readOnly — Returns whether a statement is definitely read only

Descrição

public SQLite3Stmt::readOnly ( ) : bool

Returns whether a statement is definitely read only. A statement is considered read only, if it makes no direct changes to the content of the database file. Note that user defined SQL functions might change the database indirectly as a side effect.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if a statement is definitely read only, false otherwise.


Resets the prepared statement

  • « SQLite3Stmt::readOnly
  • SQLite3Result »
  • PHP Manual
  • SQLite3Stmt
  • Resets the prepared statement

SQLite3Stmt::reset

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::reset — Resets the prepared statement

Descrição

public SQLite3Stmt::reset ( ) : bool

Resets the prepared statement to its state prior to execution. All bindings remain intact after reset.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the statement is successfully reset, ou false em caso de falha.


The SQLite3Result class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Introdução

A class that handles result sets for the SQLite 3 extension.

Sinopse da classe

SQLite3Result {
/* Métodos */
public columnName ( int $column ) : string|false
public columnType ( int $column ) : int|false
public fetchArray ( int $mode = SQLITE3_BOTH ) : array|false
public finalize ( ) : bool
public numColumns ( ) : int
public reset ( ) : bool
}

Índice

  • SQLite3Result::columnName — Returns the name of the nth column
  • SQLite3Result::columnType — Returns the type of the nth column
  • SQLite3Result::fetchArray — Fetches a result row as an associative or numerically indexed array or both
  • SQLite3Result::finalize — Closes the result set
  • SQLite3Result::numColumns — Returns the number of columns in the result set
  • SQLite3Result::reset — Resets the result set back to the first row


Returns the name of the nth column

  • « SQLite3Result
  • SQLite3Result::columnType »
  • PHP Manual
  • SQLite3Result
  • Returns the name of the nth column

SQLite3Result::columnName

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Result::columnName — Returns the name of the nth column

Descrição

public SQLite3Result::columnName ( int $column ) : string|false

Returns the name of the column specified by the column. Note that the name of a result column is the value of the AS clause for that column, if there is an AS clause. If there is no AS clause then the name of the column is unspecified and may change from one release of libsqlite3 to the next.

Parâmetros

column

The numeric zero-based index of the column.

Valor Retornado

Returns the string name of the column identified by column, or false if the column does not exist.


Returns the type of the nth column

  • « SQLite3Result::columnName
  • SQLite3Result::fetchArray »
  • PHP Manual
  • SQLite3Result
  • Returns the type of the nth column

SQLite3Result::columnType

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Result::columnType — Returns the type of the nth column

Descrição

public SQLite3Result::columnType ( int $column ) : int|false

Returns the type of the column identified by column.

Parâmetros

column

The numeric zero-based index of the column.

Valor Retornado

Returns the data type index of the column identified by column (one of SQLITE3_INTEGER, SQLITE3_FLOAT, SQLITE3_TEXT, SQLITE3_BLOB, or SQLITE3_NULL), or false if the column does not exist.


Fetches a result row as an associative or numerically indexed array or both

  • « SQLite3Result::columnType
  • SQLite3Result::finalize »
  • PHP Manual
  • SQLite3Result
  • Fetches a result row as an associative or numerically indexed array or both

SQLite3Result::fetchArray

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Result::fetchArray — Fetches a result row as an associative or numerically indexed array or both

Descrição

public SQLite3Result::fetchArray ( int $mode = SQLITE3_BOTH ) : array|false

Fetches a result row as an associative or numerically indexed array or both. By default, fetches as both.

Parâmetros

mode

Controls how the next row will be returned to the caller. This value must be one of either SQLITE3_ASSOC, SQLITE3_NUM, or SQLITE3_BOTH.

  • SQLITE3_ASSOC: returns an array indexed by column name as returned in the corresponding result set

  • SQLITE3_NUM: returns an array indexed by column number as returned in the corresponding result set, starting at column 0

  • SQLITE3_BOTH: returns an array indexed by both column name and number as returned in the corresponding result set, starting at column 0

Valor Retornado

Returns a result row as an associatively or numerically indexed array or both. Alternately will return false if there are no more rows.

The types of the values of the returned array are mapped from SQLite3 types as follows: integers are mapped to int if they fit into the range PHP_INT_MIN..PHP_INT_MAX, and to string otherwise. Floats are mapped to float, NULL values are mapped to null, and strings and blobs are mapped to string.


Closes the result set

  • « SQLite3Result::fetchArray
  • SQLite3Result::numColumns »
  • PHP Manual
  • SQLite3Result
  • Closes the result set

SQLite3Result::finalize

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Result::finalize — Closes the result set

Descrição

public SQLite3Result::finalize ( ) : bool

Closes the result set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true.


Returns the number of columns in the result set

  • « SQLite3Result::finalize
  • SQLite3Result::reset »
  • PHP Manual
  • SQLite3Result
  • Returns the number of columns in the result set

SQLite3Result::numColumns

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Result::numColumns — Returns the number of columns in the result set

Descrição

public SQLite3Result::numColumns ( ) : int

Returns the number of columns in the result set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of columns in the result set.


Resets the result set back to the first row

  • « SQLite3Result::numColumns
  • SQLSRV »
  • PHP Manual
  • SQLite3Result
  • Resets the result set back to the first row

SQLite3Result::reset

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Result::reset — Resets the result set back to the first row

Descrição

public SQLite3Result::reset ( ) : bool

Resets the result set back to the first row.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the result set is successfully reset back to the first row, false on failure.


Microsoft SQL Server Driver for PHP

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • SQLSRV Funções
    • sqlsrv_begin_transaction — Begins a database transaction
    • sqlsrv_cancel — Cancels a statement
    • sqlsrv_client_info — Returns information about the client and specified connection
    • sqlsrv_close — Closes an open connection and releases resourses associated with the connection
    • sqlsrv_commit — Commits a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_configure — Changes the driver error handling and logging configurations
    • sqlsrv_connect — Opens a connection to a Microsoft SQL Server database
    • sqlsrv_errors — Returns error and warning information about the last SQLSRV operation performed
    • sqlsrv_execute — Executes a statement prepared with sqlsrv_prepare
    • sqlsrv_fetch_array — Returns a row as an array
    • sqlsrv_fetch_object — Retrieves the next row of data in a result set as an object
    • sqlsrv_fetch — Makes the next row in a result set available for reading
    • sqlsrv_field_metadata — Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
    • sqlsrv_free_stmt — Frees all resources for the specified statement
    • sqlsrv_get_config — Returns the value of the specified configuration setting
    • sqlsrv_get_field — Gets field data from the currently selected row
    • sqlsrv_has_rows — Indicates whether the specified statement has rows
    • sqlsrv_next_result — Makes the next result of the specified statement active
    • sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement
    • sqlsrv_num_rows — Retrieves the number of rows in a result set
    • sqlsrv_prepare — Prepares a query for execution
    • sqlsrv_query — Prepares and executes a query
    • sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
    • sqlsrv_send_stream_data — Sends data from parameter streams to the server
    • sqlsrv_server_info — Returns information about the server


Introdução

The SQLSRV extension allows you to access Microsoft SQL Server and SQL Azure databases. The 3.0 release of the driver supports SQL Server, beginning with SQL Server 2005, including SQL Server 2012 and SQL Server 2012 LocalDB. (For more information about LocalDB, see » PHP Driver for SQL Server Support for LocalDB and » SQL Server 2012 Express LocalDB.)

The SQLSRV extension is supported by Microsoft and available for download here: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx. SQL Server 2012 LocalDB can be downloaded here: » http://go.microsoft.com/fwlink/?LinkID=237665.


Dependências

The SQLSRV extension can be used on the following operating systems:

  • Windows Vista Service Pack 2 or later
  • Windows Server 2008 Service Pack 2 or later
  • Windows Server 2008 R2
  • Windows 7

The SQLSRV extension requires that the Microsoft SQL Server 2012 Native Client be installed on the same computer that is running PHP. If the Microsoft SQL Server 2012 Native Client is not already installed, click the appropriate link below to download it:

  • » Download the x86 package
  • » Download the x64 package

The SQLSRV download comes 8 driver files, four of which are for PDO support. If you are running non-thread-safe PHP (PHP 5.3), use the php_sqlsrv_53_nts.dll file. (You should use a non-thread-safe version if you are using IIS as your web server). If you are running thread-safe PHP, use the php_sqlsrv_53_ts.dll file. Similarly for PHP 5.4, use the php_sqlsrv_54_nts.dll or php_sqlsrv_54_ts.dll depending on whether your PHP installation is non-thread-safe or thread-safe.

The most recent version of the driver is available for download here: » SQLSRV 4.0 download. If you need support for PHP 5.2 and/or PHP compiled with VC6, use the 2.0 release of the driver: » SQLSRV 2.0 download.

For more information about SQLSRV requirements, see » SQLSRV System Requirements.


Instalação

The SQLSRV extension is enabled by adding appropriate DLL file to your PHP extension directory and the corresponding entry to the php.ini file. The SQLSRV download comes 8 driver files, four of which are for PDO support. If you are running non-thread-safe PHP (PHP 5.3), use the php_sqlsrv_53_nts.dll file. (You should use a non-thread-safe version if you are using IIS as your web server). If you are running thread-safe PHP, use the php_sqlsrv_53_ts.dll file. Similarly for PHP 5.4, use the php_sqlsrv_54_nts.dll or php_sqlsrv_54_ts.dll depending on whether your PHP installation is non-thread-safe or thread-safe.

The most recent version of the driver is available for download here: » SQLSRV 4.0 download. If you need support for PHP 5.2 and/or PHP compiled with VC6, use the 2.0 release of the driver: » SQLSRV 2.0 download.

For more information about SQLSRV requirements, see » SQLSRV System Requirements.

The SQLSRV extension is only compatible with PHP 5 running on Windows. Since version 4.0 the SQLSRV extension is compatilbe only with PHP 7.0 running on Linux or Windows.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

The following table lists the configuration options available in the SQLSRV extension. For more information about these options, see » Handling SQLSRV Warnings and Errors.

SQLSRV Opções de Configuração
Nome | Padrão | Modificável | Changelog
sqlsrv.WarningsReturnAsErrors | 1 (true) | PHP_INI_ALL | Available since SQLSRV 1.0
sqlsrv.LogSubsystems | 0 | PHP_INI_ALL | Available since SQLSRV 1.0
sqlsrv.LogSeverity | 1 | PHP_INI_ALL | Available since SQLSRV 1.0


Tipos de Recurso

Connection resource

A connection resource returned by sqlsrv_connect().

Statement resource

A statement resource returned by sqlsrv_query() or by sqlsrv_prepare().


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

SQLSRV_FETCH_ASSOC (int)
Forces sqlsrv_fetch_array() to return an associative array when passed as a parameter.
SQLSRV_FETCH_NUMERIC (int)
Forces sqlsrv_fetch_array() to return an array with numeric when passed as a parameter.
SQLSRV_FETCH_BOTH (int)
Forces sqlsrv_fetch_array() to return an array with both associative and numeric keys when passed as a parameter (the default behavior).
SQLSRV_ERR_ALL (int)
Forces sqlsrv_errors() to return both errors and warings when passed as a parameter (the default behavior).
SQLSRV_ERR_ERRORS (int)
Forces sqlsrv_errors() to return errors only (no warnings) when passed as a parameter.
SQLSRV_ERR_WARNINGS (int)
Forces sqlsrv_errors() to return warnings only (no errors) when passed as a parameter.
SQLSRV_LOG_SYSTEM_ALL (int)
Turns on logging of all subsystems when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_CONN (int)
Turns on logging of connection activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_INIT (int)
Turns on logging of initialization activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_OFF (int)
Turns off logging of all subsystems when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_STMT (int)
Turns on logging of statement activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_UTIL (int)
Turns on logging of error function activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_ALL (int)
Specifies that errors, warnings, and notices will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_ERROR (int)
Specifies that errors will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_NOTICE (int)
Specifies that notices will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_WARNING (int)
Specifies that warnings will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_NULLABLE_YES (int)
Indicates that a column is nullable.
SQLSRV_NULLABLE_NO (int)
Indicates that a column is not nullable.
SQLSRV_NULLABLE_UNKNOWN (int)
Indicates that it is not known if a column is nullable.
SQLSRV_PARAM_IN (int)
Indicates an input parameter when passed to sqlsrv_query() or sqlsrv_prepare().
SQLSRV_PARAM_INOUT (int)
Indicates a bidirectional parameter when passed to sqlsrv_query() or sqlsrv_prepare().
SQLSRV_PARAM_OUT (int)
Indicates an output parameter when passed to sqlsrv_query() or sqlsrv_prepare().
SQLSRV_PHPTYPE_INT (int)
Specifies an integer PHP data type. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_DATETIME (int)
Specifies a datetime PHP data type. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_FLOAT (int)
Specifies a float PHP data type. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_STREAM (int)
Specifies a PHP stream. This constant works like a function and accepts an encoding constant. See the SQLSRV_ENC_* constants. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_STRING (int)
Specifies a string PHP data type. This constant works like a function and accepts an encoding constant. See the SQLSRV_ENC_* constants. For usage information, see » How to: Specify PHP Types.
SQLSRV_ENC_BINARY (int)
Specifies that data is returned as a raw byte stream from the server without performing encoding or translation. For usage information, see » How to: Specify PHP Types.
SQLSRV_ENC_CHAR (int)
Data is returned in 8-bit characters as specified in the code page of the Windows locale that is set on the system. Any multi-byte characters or characters that do not map into this code page are substituted with a single byte question mark (?) character. This is the default encoding. For usage information, see » How to: Specify PHP Types.
UTF-8 (int)
Specifies that data is returned with UTF-8 encoding. For usage information, see » How to: Specify PHP Types.
SQLSRV_SQLTYPE_BIGINT (int)
Describes the bigint SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_BINARY (int)
Describes the binary SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_BIT (int)
Describes the bit SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_CHAR (int)
Describes the char SQL Server data type. This constant works like a function and accepts a parameter indicating the number characters. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATE (int)
Describes the date SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATETIME (int)
Describes the datetime SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATETIME2 (int)
Describes the datetime2 SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATETIMEOFFSET (int)
Describes the datetimeoffset SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DECIMAL (int)
Describes the decimal SQL Server data type. This constant works like a function and accepts two parameters indicating (in order) precision and scale. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_FLOAT (int)
Describes the float SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_IMAGE (int)
Describes the image SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_INT (int)
Describes the int SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_MONEY (int)
Describes the money SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NCHAR (int)
Describes the nchar SQL Server data type. This constant works like a function and accepts a single parameter indicating the character count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NUMERIC (int)
Describes the numeric SQL Server data type. This constant works like a function and accepts two parameter indicating (in order) precision and scale. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NVARCHAR (int)
Describes the nvarchar SQL Server data type. This constant works like a function and accepts a single parameter indicating the character count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NVARCHAR('max') (int)
Describes the nvarchar(MAX) SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NTEXT (int)
Describes the ntext SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_REAL (int)
Describes the real SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_SMALLDATETIME (int)
Describes the smalldatetime SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_SMALLINT (int)
Describes the smallint SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_SMALLMONEY (int)
Describes the smallmoney SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TEXT (int)
Describes the text SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TIME (int)
Describes the time SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TIMESTAMP (int)
Describes the timestamp SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TINYINT (int)
Describes the tinyint SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_UNIQUEIDENTIFIER (int)
Describes the uniqueidentifier SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_UDT (int)
Describes the UDT SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARBINARY (int)
Describes the varbinary SQL Server data type. This constant works like a function and accepts a single parameter indicating the byte count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARBINARY('max') (int)
Describes the varbinary(MAX) SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARCHAR (int)
Describes the varchar SQL Server data type. This constant works like a function and accepts a single parameter indicating the character count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARCHAR('max') (int)
Describes the varchar(MAX) SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_XML (int)
Describes the XML SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_TXN_READ_UNCOMMITTED (int)
Indicates a transaction isolation level of READ UNCOMMITTED. This value is used to set the TransactionIsolation level in the $connectionOptions array passed to sqlsrv_connect().
SQLSRV_TXN_READ_COMMITTED (int)
Indicates a transaction isolation level of READ COMMITTED. This value is used to set the TransactionIsolation level in the $connectionOptions array passed to sqlsrv_connect().
SQLSRV_TXN_REPEATABLE_READ (int)
Indicates a transaction isolation level of REPEATABLE READ. This value is used to set the TransactionIsolation level in the $connectionOptions array passed to sqlsrv_connect().
SQLSRV_TXN_SNAPSHOT (int)
Indicates a transaction isolation level of SNAPSHOT. This value is used to set the TransactionIsolation level in the $connectionOptions array passed to sqlsrv_connect().
SQLSRV_TXN_READ_SERIALIZABLE (int)
Indicates a transaction isolation level of SERIALIZABLE. This value is used to set the TransactionIsolation level in the $connectionOptions array passed to sqlsrv_connect().
SQLSRV_CURSOR_FORWARD (int)
Indicates a forward-only cursor. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_CURSOR_STATIC (int)
Indicates a static cursor. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_CURSOR_DYNAMIC (int)
Indicates a dynamic cursor. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_CURSOR_KEYSET (int)
Indicates a keyset cursor. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_CURSOR_BUFFERED (int)
Creates a client-side cursor query. Lets you access rows in any order. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_NEXT (int)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_PRIOR (int)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_FIRST (int)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_LAST (int)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_ABSOLUTE (int)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_RELATIVE (int)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.


SQLSRV Funções

Índice

  • sqlsrv_begin_transaction — Begins a database transaction
  • sqlsrv_cancel — Cancels a statement
  • sqlsrv_client_info — Returns information about the client and specified connection
  • sqlsrv_close — Closes an open connection and releases resourses associated with the connection
  • sqlsrv_commit — Commits a transaction that was begun with sqlsrv_begin_transaction
  • sqlsrv_configure — Changes the driver error handling and logging configurations
  • sqlsrv_connect — Opens a connection to a Microsoft SQL Server database
  • sqlsrv_errors — Returns error and warning information about the last SQLSRV operation performed
  • sqlsrv_execute — Executes a statement prepared with sqlsrv_prepare
  • sqlsrv_fetch_array — Returns a row as an array
  • sqlsrv_fetch_object — Retrieves the next row of data in a result set as an object
  • sqlsrv_fetch — Makes the next row in a result set available for reading
  • sqlsrv_field_metadata — Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
  • sqlsrv_free_stmt — Frees all resources for the specified statement
  • sqlsrv_get_config — Returns the value of the specified configuration setting
  • sqlsrv_get_field — Gets field data from the currently selected row
  • sqlsrv_has_rows — Indicates whether the specified statement has rows
  • sqlsrv_next_result — Makes the next result of the specified statement active
  • sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement
  • sqlsrv_num_rows — Retrieves the number of rows in a result set
  • sqlsrv_prepare — Prepares a query for execution
  • sqlsrv_query — Prepares and executes a query
  • sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction
  • sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
  • sqlsrv_send_stream_data — Sends data from parameter streams to the server
  • sqlsrv_server_info — Returns information about the server


Begins a database transaction

  • « SQLSRV Funções
  • sqlsrv_cancel »
  • PHP Manual
  • SQLSRV Funções
  • Begins a database transaction

sqlsrv_begin_transaction

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_begin_transaction — Begins a database transaction

Descrição

sqlsrv_begin_transaction ( resource $conn ) : bool

The transaction begun by sqlsrv_begin_transaction() includes all statements that were executed after the call to sqlsrv_begin_transaction() and before calls to sqlsrv_rollback() or sqlsrv_commit(). Explicit transactions should be started and committed or rolled back using these functions instead of executing SQL statements that begin and commit/roll back transactions. For more information, see » SQLSRV Transactions.

Parâmetros

conn

The connection resource returned by a call to sqlsrv_connect().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 sqlsrv_begin_transaction() example

The following example demonstrates how to use sqlsrv_begin_transaction() together with sqlsrv_commit() and sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true ));
}

/* Begin the transaction. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
     die( print_r( sqlsrv_errors(), true ));
}

/* Initialize parameter values. */
$orderId = 1; $qty = 10; $productId = 100;

/* Set up and execute the first query. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
          VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Set up and execute the second query. */
$sql2 = "UPDATE InventoryTable
          SET Quantity = (Quantity - ?)
          WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* If both queries were successful, commit the transaction. */
/* Otherwise, rollback the transaction. */
if( $stmt1 && $stmt2 ) {
     sqlsrv_commit( $conn );
     echo "Transaction committed.<br />";
} else {
     sqlsrv_rollback( $conn );
     echo "Transaction rolled back.<br />";
}
?>

O exemplo acima irá imprimir algo similar à:

Veja Também

  • sqlsrv_commit() - Commits a transaction that was begun with sqlsrv_begin_transaction
  • sqlsrv_rollback() - Rolls back a transaction that was begun with sqlsrv_begin_transaction


Cancels a statement

  • « sqlsrv_begin_transaction
  • sqlsrv_client_info »
  • PHP Manual
  • SQLSRV Funções
  • Cancels a statement

sqlsrv_cancel

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_cancel — Cancels a statement

Descrição

sqlsrv_cancel ( resource $stmt ) : bool

Cancels a statement. Any results associated with the statement that have not been consumed are deleted. After sqlsrv_cancel() has been called, the specified statement can be re-executed if it was created with sqlsrv_prepare(). Calling sqlsrv_cancel() is not necessary if all the results associated with the statement have been consumed.

Parâmetros

stmt

The statement resource to be cancelled.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 sqlsrv_cancel() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Sales FROM Table_1";

$stmt = sqlsrv_prepare( $conn, $sql);

if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

if( sqlsrv_execute( $stmt ) === false) {
     die( print_r( sqlsrv_errors(), true));
}

$salesTotal = 0;
$count = 0;

while( ($row = sqlsrv_fetch_array( $stmt)) && $salesTotal <=100000)
{
     $qty = $row[0];
     $price = $row[1];
     $salesTotal += ( $price * $qty);
     $count++;
}

echo "$count sales accounted for the first $$salesTotal in revenue.<br />";

// Cancel the pending results. The statement can be reused.
sqlsrv_cancel( $stmt);
?>

Notas

The main difference between sqlsrv_cancel() and sqlsrv_free_stmt() is that a statement resource cancelled with sqlsrv_cancel() can be re-executed if it was created with sqlsrv_prepare(). A statement resource cancelled with sqlsrv_free_statement() cannot be re-executed.

Veja Também

  • sqlsrv_free_stmt() - Frees all resources for the specified statement
  • sqlsrv_prepare() - Prepares a query for execution


Returns information about the client and specified connection

  • « sqlsrv_cancel
  • sqlsrv_close »
  • PHP Manual
  • SQLSRV Funções
  • Returns information about the client and specified connection

sqlsrv_client_info

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_client_info — Returns information about the client and specified connection

Descrição

sqlsrv_client_info ( resource $conn ) : array

Returns information about the client and specified connection

Parâmetros

conn

The connection about which information is returned.

Valor Retornado

Returns an associative array with keys described in the table below. Returns false otherwise.

Array returned by sqlsrv_client_info
Key | Description
DriverDllName | SQLNCLI10.DLL
DriverODBCVer | ODBC version (xx.yy)
DriverVer | SQL Server Native Client DLL version (10.5.xxx)
ExtensionVer | php_sqlsrv.dll version (2.0.xxx.x)

Exemplos

Exemplo #1 sqlsrv_client_info() example

<?php
$serverName = "serverName\sqlexpress";
$connOptions = array("UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connOptions );

if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true));
}

if( $client_info = sqlsrv_client_info( $conn)) {
    foreach( $client_info as $key => $value) {
        echo $key.": ".$value."<br />";
    }
} else {
    echo "Error in retrieving client info.<br />";
}
?>

Veja Também

  • sqlsrv_server_info() - Returns information about the server


Closes an open connection and releases resourses associated with the connection

  • « sqlsrv_client_info
  • sqlsrv_commit »
  • PHP Manual
  • SQLSRV Funções
  • Closes an open connection and releases resourses associated with the connection

sqlsrv_close

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_close — Closes an open connection and releases resourses associated with the connection

Descrição

sqlsrv_close ( resource $conn ) : bool

Closes an open connection and releases resourses associated with the connection.

Parâmetros

conn

The connection to be closed.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 sqlsrv_close() example

<?php
$serverName = "serverName\sqlexpres";
$connOptions = array("UID"=>"username", "PWD"=>"password", "Database"=>"dbname");
$conn = sqlsrv_connect( $serverName, $connOptions );
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

//-------------------------------------
// Perform database operations here.
//-------------------------------------

// Close the connection.
sqlsrv_close( $conn );
?>

Veja Também

  • sqlsrv_connect() - Opens a connection to a Microsoft SQL Server database


Commits a transaction that was begun with sqlsrv_begin_transaction

  • « sqlsrv_close
  • sqlsrv_configure »
  • PHP Manual
  • SQLSRV Funções
  • Commits a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_commit

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_commit — Commits a transaction that was begun with sqlsrv_begin_transaction()

Descrição

sqlsrv_commit ( resource $conn ) : bool

Commits a transaction that was begun with sqlsrv_begin_transaction(). The connection is returned to auto-commit mode after sqlsrv_commit() is called. The transaction that is committed includes all statements that were executed after the call to sqlsrv_begin_transaction(). Explicit transactions should be started and committed or rolled back using these functions instead of executing SQL statements that begin and commit/roll back transactions. For more information, see » SQLSRV Transactions.

Parâmetros

conn

The connection on which the transaction is to be committed.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 sqlsrv_commit() example

The following example demonstrates how to use sqlsrv_commit() together with sqlsrv_begin_transaction() and sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true ));
}

/* Begin the transaction. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
     die( print_r( sqlsrv_errors(), true ));
}

/* Initialize parameter values. */
$orderId = 1; $qty = 10; $productId = 100;

/* Set up and execute the first query. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
         VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Set up and execute the second query. */
$sql2 = "UPDATE InventoryTable
         SET Quantity = (Quantity - ?)
         WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* If both queries were successful, commit the transaction. */
/* Otherwise, rollback the transaction. */
if( $stmt1 && $stmt2 ) {
     sqlsrv_commit( $conn );
     echo "Transaction committed.<br />";
} else {
     sqlsrv_rollback( $conn );
     echo "Transaction rolled back.<br />";
}
?>

Veja Também

  • sqlsrv_begin_transaction() - Begins a database transaction
  • sqlsrv_rollback() - Rolls back a transaction that was begun with sqlsrv_begin_transaction


Changes the driver error handling and logging configurations

  • « sqlsrv_commit
  • sqlsrv_connect »
  • PHP Manual
  • SQLSRV Funções
  • Changes the driver error handling and logging configurations

sqlsrv_configure

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_configure — Changes the driver error handling and logging configurations

Descrição

sqlsrv_configure ( string $setting , mixed $value ) : bool

Changes the driver error handling and logging configurations.

Parâmetros

setting

The name of the setting to set. The possible values are "WarningsReturnAsErrors", "LogSubsystems", and "LogSeverity".

value

The value of the specified setting. The following table shows possible values:

Error and Logging Setting Options
Setting | Options
WarningsReturnAsErrors | 1 (true) or 0 (false)
LogSubsystems | SQLSRV_LOG_SYSTEM_ALL (-1) SQLSRV_LOG_SYSTEM_CONN (2) SQLSRV_LOG_SYSTEM_INIT (1) SQLSRV_LOG_SYSTEM_OFF (0) SQLSRV_LOG_SYSTEM_STMT (4) SQLSRV_LOG_SYSTEM_UTIL (8)
LogSeverity | SQLSRV_LOG_SEVERITY_ALL (-1) SQLSRV_LOG_SEVERITY_ERROR (1) SQLSRV_LOG_SEVERITY_NOTICE (4) SQLSRV_LOG_SEVERITY_WARNING (2)

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • » SQLSRV Error Handling.
  • » Logging SQLSRV Activity.


Opens a connection to a Microsoft SQL Server database

  • « sqlsrv_configure
  • sqlsrv_errors »
  • PHP Manual
  • SQLSRV Funções
  • Opens a connection to a Microsoft SQL Server database

sqlsrv_connect

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_connect — Opens a connection to a Microsoft SQL Server database

Descrição

sqlsrv_connect ( string $serverName , array $connectionInfo = ? ) : resource

Opens a connection to a Microsoft SQL Server database. By default, the connection is attempted using Windows Authentication. To connect using SQL Server Authentication, include "UID" and "PWD" in the connection options array.

Parâmetros

serverName

The name of the server to which a connection is established. To connect to a specific instance, follow the server name with a backward slash and the instance name (e.g. serverName\sqlexpress).

connectionInfo

An associative array that specifies options for connecting to the server. If values for the UID and PWD keys are not specified, the connection will be attempted using Windows Authentication. For a complete list of supported keys, see » SQLSRV Connection Options.

Valor Retornado

A connection resource. If a connection cannot be successfully opened, false is returned.

Exemplos

Exemplo #1 Connect using Windows Authentication.

<?php
$serverName = "serverName\\sqlexpress"; //serverName\instanceName

// Since UID and PWD are not specified in the $connectionInfo array,
// The connection will be attempted using Windows Authentication.
$connectionInfo = array( "Database"=>"dbName");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Exemplo #2 Connect by specifying a user name and password.

<?php
$serverName = "serverName\\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Exemplo #3 Connect on a specified port.

<?php
$serverName = "serverName\\sqlexpress, 1542"; //serverName\instanceName, portNumber (default is 1433)
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Notas

By default, the sqlsrv_connect() uses connection pooling to improve connection performance. To turn off connection pooling (i.e. force a new connection on each call), set the "ConnectionPooling" option in the $connectionOptions array to 0 (or false). For more information, see » SQLSRV Connection Pooling.

The SQLSRV extension does not have a dedicated function for changing which database is connected to. The target database is specified in the $connectionOptions array that is passed to sqlsrv_connect. To change the database on an open connection, execute the following query "USE dbName" (e.g. sqlsrv_query($conn, "USE dbName")).

Veja Também

  • sqlsrv_close() - Closes an open connection and releases resourses associated with the connection
  • sqlsrv_errors() - Returns error and warning information about the last SQLSRV operation performed
  • sqlsrv_query() - Prepares and executes a query


Returns error and warning information about the last SQLSRV operation performed

  • « sqlsrv_connect
  • sqlsrv_execute »
  • PHP Manual
  • SQLSRV Funções
  • Returns error and warning information about the last SQLSRV operation performed

sqlsrv_errors

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_errors — Returns error and warning information about the last SQLSRV operation performed

Descrição

sqlsrv_errors ( int $errorsOrWarnings = ? ) : mixed

Returns error and warning information about the last SQLSRV operation performed.

Parâmetros

errorsOrWarnings

Determines whether error information, warning information, or both are returned. If this parameter is not supplied, both error information and warning information are returned. The following are the supported values for this parameter: SQLSRV_ERR_ALL, SQLSRV_ERR_ERRORS, SQLSRV_ERR_WARNINGS.

Valor Retornado

If errors and/or warnings occurred on the last sqlsrv operation, an array of arrays containing error information is returned. If no errors and/or warnings occurred on the last sqlsrv operation, null is returned. The following table describes the structure of the returned arrays:

Array returned by sqlsrv_errors
Key | Description
SQLSTATE | For errors that originate from the ODBC driver, the SQLSTATE returned by ODBC. For errors that originate from the Microsoft Drivers for PHP for SQL Server, a SQLSTATE of IMSSP. For warnings that originate from the Microsoft Drivers for PHP for SQL Server, a SQLSTATE of 01SSP.
code | For errors that originate from SQL Server, the native SQL Server error code. For errors that originate from the ODBC driver, the error code returned by ODBC. For errors that originate from the Microsoft Drivers for PHP for SQL Server, the Microsoft Drivers for PHP for SQL Server error code.
message | A description of the error.

Exemplos

Exemplo #1 functionname() example

<?php
$serverName = "serverName/sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

/* Set up a query to select an invalid column name. */
$sql = "SELECT BadColumnName FROM Table_1";

/* Execution of the query will fail because of the bad column name. */
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false ) {
    if( ($errors = sqlsrv_errors() ) != null) {
        foreach( $errors as $error ) {
            echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
            echo "code: ".$error[ 'code']."<br />";
            echo "message: ".$error[ 'message']."<br />";
        }
    }
}
?>

Notas

By default, warnings generated on a call to any SQLSRV function are treated as errors. This means that if a warning occurs on a call to a SQLSRV function, the function returns false. However, warnings that correspond to SQLSTATE values 01000, 01001, 01003, and 01S02 are never treated as errors. For information about changing this behavior, see sqlsrv_configure() and the WarningsReturnAsErrors setting.

Veja Também

  • sqlsrv_configure() - Changes the driver error handling and logging configurations


Executes a statement prepared with sqlsrv_prepare

  • « sqlsrv_errors
  • sqlsrv_fetch_array »
  • PHP Manual
  • SQLSRV Funções
  • Executes a statement prepared with sqlsrv_prepare

sqlsrv_execute

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_execute — Executes a statement prepared with sqlsrv_prepare()

Descrição

sqlsrv_execute ( resource $stmt ) : bool

Executes a statement prepared with sqlsrv_prepare(). This function is ideal for executing a prepared statement multiple times with different parameter values.

Parâmetros

stmt

A statement resource returned by sqlsrv_prepare().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 sqlsrv_execute() example

This example demonstrates how to prepare a statement with sqlsrv_prepare() and re-execute it multiple times (with different parameter values) using sqlsrv_execute().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1
        SET OrderQty = ?
        WHERE SalesOrderID = ?";

// Initialize parameters and prepare the statement.
// Variables $qty and $id are bound to the statement, $stmt.
$qty = 0; $id = 0;
$stmt = sqlsrv_prepare( $conn, $sql, array( &$qty, &$id));
if( !$stmt ) {
    die( print_r( sqlsrv_errors(), true));
}

// Set up the SalesOrderDetailID and OrderQty information.
// This array maps the order ID to order quantity in key=>value pairs.
$orders = array( 1=>10, 2=>20, 3=>30);

// Execute the statement for each order.
foreach( $orders as $id => $qty) {
    // Because $id and $qty are bound to $stmt1, their updated
    // values are used with each execution of the statement.
    if( sqlsrv_execute( $stmt ) === false ) {
          die( print_r( sqlsrv_errors(), true));
    }
}
?>

Notas

When you prepare a statement that uses variables as parameters, the variables are bound to the statement. This means that if you update the values of the variables, the next time you execute the statement it will run with updated parameter values. For statements that you plan to execute only once, use sqlsrv_query().

Veja Também

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_query() - Prepares and executes a query


Returns a row as an array

  • « sqlsrv_execute
  • sqlsrv_fetch_object »
  • PHP Manual
  • SQLSRV Funções
  • Returns a row as an array

sqlsrv_fetch_array

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_fetch_array — Returns a row as an array

Descrição

sqlsrv_fetch_array ( resource $stmt , int $fetchType = ? , int $row = ? , int $offset = ? ) : array

Returns the next available row of data as an associative array, a numeric array, or both (the default).

Parâmetros

stmt

A statement resource returned by sqlsrv_query or sqlsrv_prepare.

fetchType

A predefined constant specifying the type of array to return. Possible values are SQLSRV_FETCH_ASSOC, SQLSRV_FETCH_NUMERIC, and SQLSRV_FETCH_BOTH (the default).

A fetch type of SQLSRV_FETCH_ASSOC should not be used when consuming a result set with multiple columns of the same name.

row

Specifies the row to access in a result set that uses a scrollable cursor. Possible values are SQLSRV_SCROLL_NEXT, SQLSRV_SCROLL_PRIOR, SQLSRV_SCROLL_FIRST, SQLSRV_SCROLL_LAST, SQLSRV_SCROLL_ABSOLUTE and, SQLSRV_SCROLL_RELATIVE (the default). When this parameter is specified, the fetchType must be explicitly defined.

offset

Specifies the row to be accessed if the row parameter is set to SQLSRV_SCROLL_ABSOLUTE or SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has index 0.

Valor Retornado

Returns an array on success, null if there are no more rows to return, and false if an error occurs.

Exemplos

Exemplo #1 Retrieving an associative array.

<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
      echo $row['LastName'].", ".$row['FirstName']."<br />";
}

sqlsrv_free_stmt( $stmt);
?>

Exemplo #2 Retrieving a numeric array.

<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) ) {
      echo $row[0].", ".$row[1]."<br />";
}

sqlsrv_free_stmt( $stmt);
?>

Notas

Not specifying the fetchType or explicitly using the SQLSRV_FETCH_TYPE constant in the examples above will return an array that has both associative and numeric keys.

If more than one column is returned with the same name, the last column will take precedence. To avoid field name collisions, use aliases.

If a column with no name is returned, the associative key for the array element will be an empty string ("").

Veja Também

  • sqlsrv_connect() - Opens a connection to a Microsoft SQL Server database
  • sqlsrv_query() - Prepares and executes a query
  • sqlsrv_errors() - Returns error and warning information about the last SQLSRV operation performed
  • sqlsrv_fetch() - Makes the next row in a result set available for reading


Retrieves the next row of data in a result set as an object

  • « sqlsrv_fetch_array
  • sqlsrv_fetch »
  • PHP Manual
  • SQLSRV Funções
  • Retrieves the next row of data in a result set as an object

sqlsrv_fetch_object

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_fetch_object — Retrieves the next row of data in a result set as an object

Descrição

sqlsrv_fetch_object ( resource $stmt , string $className = ? , array $ctorParams = ? , int $row = ? , int $offset = ? ) : mixed

Retrieves the next row of data in a result set as an instance of the specified class with properties that match the row field names and values that correspond to the row field values.

Parâmetros

stmt

A statement resource created by sqlsrv_query() or sqlsrv_execute().

className

The name of the class to instantiate. If no class name is specified, stdClass is instantiated.

ctorParams

Values passed to the constructor of the specified class. If the constructor of the specified class takes parameters, the ctorParams array must be supplied.

row

The row to be accessed. This parameter can only be used if the specified statement was prepared with a scrollable cursor. In that case, this parameter can take on one of the following values:

  • SQLSRV_SCROLL_NEXT
  • SQLSRV_SCROLL_PRIOR
  • SQLSRV_SCROLL_FIRST
  • SQLSRV_SCROLL_LAST
  • SQLSRV_SCROLL_ABSOLUTE
  • SQLSRV_SCROLL_RELATIVE

offset

Specifies the row to be accessed if the row parameter is set to SQLSRV_SCROLL_ABSOLUTE or SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has index 0.

Valor Retornado

Returns an object on success, null if there are no more rows to return, and false if an error occurs or if the specified class does not exist.

Exemplos

Exemplo #1 sqlsrv_fetch_object() example

The following example demonstrates how to retrieve a row as a stdClass object.

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT fName, lName FROM Table_1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

// Retrieve each row as an object.
// Because no class is specified, each row will be retrieved as a stdClass object.
// Property names correspond to field names.
while( $obj = sqlsrv_fetch_object( $stmt)) {
      echo $obj->fName.", ".$obj->lName."<br />";
}
?>

Notas

If a class name is specified with the optional $className parameter and the class has properties whose names match the result set field names, the corresponding result set values are applied to the properties. If a result set field name does not match a class property, a property with the result set field name is added to the object and the result set value is applied to the property. The following rules apply when using the $className parameter:

  • Field-property name matching is case-sensitive.
  • Field-property matching occurs regardless of access modifiers.
  • Class property data types are ignored when applying a field value to a property.
  • If the class does not exist, the function returns false and adds an error to the error collection.
Regardless of whether the $className parameter is supplied, if a field with no name is returned, the field value will be ignored and a warning will be added to the error collection.

When consuming a result set that has multiple columns with the same name, it may be better to use sqlsrv_fetch_array() or the combination of sqlsrv_fetch() and sqlsrv_get_field().

Veja Também

  • sqlsrv_fetch() - Makes the next row in a result set available for reading
  • sqlsrv_fetch_array() - Returns a row as an array


Makes the next row in a result set available for reading

  • « sqlsrv_fetch_object
  • sqlsrv_field_metadata »
  • PHP Manual
  • SQLSRV Funções
  • Makes the next row in a result set available for reading

sqlsrv_fetch

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_fetch — Makes the next row in a result set available for reading

Descrição

sqlsrv_fetch ( resource $stmt , int $row = ? , int $offset = ? ) : mixed

Makes the next row in a result set available for reading. Use sqlsrv_get_field() to read the fields of the row.

Parâmetros

stmt

A statement resource created by executing sqlsrv_query() or sqlsrv_execute().

row

The row to be accessed. This parameter can only be used if the specified statement was prepared with a scrollable cursor. In that case, this parameter can take on one of the following values:

  • SQLSRV_SCROLL_NEXT
  • SQLSRV_SCROLL_PRIOR
  • SQLSRV_SCROLL_FIRST
  • SQLSRV_SCROLL_LAST
  • SQLSRV_SCROLL_ABSOLUTE
  • SQLSRV_SCROLL_RELATIVE

offset

Specifies the row to be accessed if the row parameter is set to SQLSRV_SCROLL_ABSOLUTE or SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has index 0.

Valor Retornado

Returns true if the next row of a result set was successfully retrieved, false if an error occurs, and null if there are no more rows in the result set.

Exemplos

Exemplo #1 sqlsrv_fetch() example

The following example demonstrates how to retrieve a row with sqlsrv_fetch() and get the row fields with sqlsrv_get_field().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Name, Comment
        FROM Table_1
        WHERE ReviewID=1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

// Make the first (and in this case, only) row of the result set available for reading.
if( sqlsrv_fetch( $stmt ) === false) {
     die( print_r( sqlsrv_errors(), true));
}

// Get the row fields. Field indices start at 0 and must be retrieved in order.
// Retrieving row fields by name is not supported by sqlsrv_get_field.
$name = sqlsrv_get_field( $stmt, 0);
echo "$name: ";

$comment = sqlsrv_get_field( $stmt, 1);
echo $comment;
?>

Veja Também

  • sqlsrv_get_field() - Gets field data from the currently selected row
  • sqlsrv_fetch_array() - Returns a row as an array
  • sqlsrv_fetch_object() - Retrieves the next row of data in a result set as an object


Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query

  • « sqlsrv_fetch
  • sqlsrv_free_stmt »
  • PHP Manual
  • SQLSRV Funções
  • Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query

sqlsrv_field_metadata

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_field_metadata — Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare() or sqlsrv_query()

Descrição

sqlsrv_field_metadata ( resource $stmt ) : mixed

Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare() or sqlsrv_query(). sqlsrv_field_metadata() can be called on a statement before or after statement execution.

Parâmetros

stmt

The statement resource for which metadata is returned.

Valor Retornado

Returns an array of arrays on success. Otherwise, false is returned. Each returned array is described by the following table:

Array returned by sqlsrv_field_metadata
Key | Description
Name | The name of the field.
Type | The numeric value for the SQL type.
Size | The number of characters for fields of character type, the number of bytes for fields of binary type, or null for other types.
Precision | The precision for types of variable precision, null for other types.
Scale | The scale for types of variable scale, null for other types.
Nullable | An enumeration indicating whether the column is nullable, not nullable, or if it is not known.
For more information, see » sqlsrv_field_metadata in the Microsoft SQLSRV documentation.

Exemplos

Exemplo #1 sqlsrv_field_metadata() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"AdventureWorks", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
   die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT * FROM Table_1";
$stmt = sqlsrv_prepare( $conn, $sql );

foreach( sqlsrv_field_metadata( $stmt ) as $fieldMetadata ) {
    foreach( $fieldMetadata as $name => $value) {
       echo "$name: $value<br />";
    }
      echo "<br />";
}
?>

Veja Também

  • sqlsrv_client_info() - Returns information about the client and specified connection


Frees all resources for the specified statement

  • « sqlsrv_field_metadata
  • sqlsrv_get_config »
  • PHP Manual
  • SQLSRV Funções
  • Frees all resources for the specified statement

sqlsrv_free_stmt

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_free_stmt — Frees all resources for the specified statement

Descrição

sqlsrv_free_stmt ( resource $stmt ) : bool

Frees all resources for the specified statement. The statement cannot be used after sqlsrv_free_stmt() has been called on it. If sqlsrv_free_stmt() is called on an in-progress statement that alters server state, statement execution is terminated and the statement is rolled back.

Parâmetros

stmt

The statement for which resources are freed. Note that null is a valid parameter value. This allows the function to be called multiple times in a script.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 sqlsrv_free_stmt() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$stmt = sqlsrv_query( $conn, "SELECT * FROM Table_1");
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

/*-------------------------------
     Process query results here.
-------------------------------*/

/* Free the statement resources. */
sqlsrv_free_stmt( $stmt);

?>

Notas

The main difference between sqlsrv_free_stmt() and sqlsrv_cancel() is that a statement resource cancelled with sqlsrv_cancel() can be re-executed if it was created with sqlsrv_prepare(). A statement resource cancelled with sqlsrv_free_statement() cannot be re-executed.

Veja Também

  • sqlsrv_cancel() - Cancels a statement


Returns the value of the specified configuration setting

  • « sqlsrv_free_stmt
  • sqlsrv_get_field »
  • PHP Manual
  • SQLSRV Funções
  • Returns the value of the specified configuration setting

sqlsrv_get_config

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_get_config — Returns the value of the specified configuration setting

Descrição

sqlsrv_get_config ( string $setting ) : mixed

Returns the value of the specified configuration setting.

Parâmetros

setting

The name of the setting for which the value is returned. For a list of configurable settings, see sqlsrv_configure().

Valor Retornado

Returns the value of the specified setting. If an invalid setting is specified, false is returned.

Veja Também

  • sqlsrv_configure() - Changes the driver error handling and logging configurations


Gets field data from the currently selected row

  • « sqlsrv_get_config
  • sqlsrv_has_rows »
  • PHP Manual
  • SQLSRV Funções
  • Gets field data from the currently selected row

sqlsrv_get_field

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_get_field — Gets field data from the currently selected row

Descrição

sqlsrv_get_field ( resource $stmt , int $fieldIndex , int $getAsType = ? ) : mixed

Gets field data from the currently selected row. Fields must be accessed in order. Field indices start at 0.

Parâmetros

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

fieldIndex

The index of the field to be retrieved. Field indices start at 0. Fields must be accessed in order. i.e. If you access field index 1, then field index 0 will not be available.

getAsType

The PHP data type for the returned field data. If this parameter is not set, the field data will be returned as its default PHP data type. For information about default PHP data types, see » Default PHP Data Types in the Microsoft SQLSRV documentation.

Valor Retornado

Returns data from the specified field on success. Returns false otherwise.

Exemplos

Exemplo #1 sqlsrv_get_field() example

The following example demonstrates how to retrieve a row with sqlsrv_fetch() and get the row fields with sqlsrv_get_field().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Name, Comment
        FROM Table_1
        WHERE ReviewID=1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

// Make the first (and in this case, only) row of the result set available for reading.
if( sqlsrv_fetch( $stmt ) === false) {
     die( print_r( sqlsrv_errors(), true));
}

// Get the row fields. Field indices start at 0 and must be retrieved in order.
// Retrieving row fields by name is not supported by sqlsrv_get_field.
$name = sqlsrv_get_field( $stmt, 0);
echo "$name: ";

$comment = sqlsrv_get_field( $stmt, 1);
echo $comment;
?>

Veja Também

  • sqlsrv_fetch() - Makes the next row in a result set available for reading
  • sqlsrv_fetch_array() - Returns a row as an array
  • sqlsrv_fetch_object() - Retrieves the next row of data in a result set as an object


Indicates whether the specified statement has rows

  • « sqlsrv_get_field
  • sqlsrv_next_result »
  • PHP Manual
  • SQLSRV Funções
  • Indicates whether the specified statement has rows

sqlsrv_has_rows

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_has_rows — Indicates whether the specified statement has rows

Descrição

sqlsrv_has_rows ( resource $stmt ) : bool

Indicates whether the specified statement has rows.

Parâmetros

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

Valor Retornado

Returns true if the specified statement has rows and false if the statement does not have rows or if an error occurred.

Exemplos

Exemplo #1 sqlsrv_has_rows() example

<?php
$server = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" )
$conn = sqlsrv_connect( $server, $connectionInfo );

$stmt = sqlsrv_query( $conn, "SELECT * FROM Table_1");

if ($stmt) {
   $rows = sqlsrv_has_rows( $stmt );
   if ($rows === true)
      echo "There are rows. <br />";
   else
      echo "There are no rows. <br />";
}
?>

Veja Também

  • sqlsrv_num_rows() - Retrieves the number of rows in a result set
  • sqlsrv_query() - Prepares and executes a query


Makes the next result of the specified statement active

  • « sqlsrv_has_rows
  • sqlsrv_num_fields »
  • PHP Manual
  • SQLSRV Funções
  • Makes the next result of the specified statement active

sqlsrv_next_result

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_next_result — Makes the next result of the specified statement active

Descrição

sqlsrv_next_result ( resource $stmt ) : mixed

Makes the next result of the specified statement active. Results include result sets, row counts, and output parameters.

Parâmetros

stmt

The statement on which the next result is being called.

Valor Retornado

Returns true if the next result was successfully retrieved, false if an error occurred, and null if there are no more results to retrieve.

Exemplos

Exemplo #1 sqlsrv_next_result() example

The following example executes a batch query that inserts into a table and then selects from the table. This produces two results on the statement: one for the rows affected by the INSERT and one for the rows returned by the SELECT. To get to the rows returned by the SELECT, sqlsrv_next_result() must be called to move past the first result.

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array("Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

$query = "INSERT INTO Table_1 (id, data) VALUES (?,?); SELECT * FROM TABLE_1;";
$params = array(1, "some data");
$stmt = sqlsrv_query($conn, $query, $params);

// Consume the first result (rows affected by INSERT) without calling sqlsrv_next_result.
echo "Rows affected: ".sqlsrv_rows_affected($stmt)."<br />";

// Move to the next result and display results.
$next_result = sqlsrv_next_result($stmt);
if( $next_result ) {
   while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)){
      echo $row['id'].": ".$row['data']."<br />";
   }
} elseif( is_null($next_result)) {
     echo "No more results.<br />";
} else {
     die(print_r(sqlsrv_errors(), true));
}
?>

Veja Também

  • sqlsrv_query() - Prepares and executes a query
  • sqlsrv_fetch_array() - Returns a row as an array
  • sqlsrv_rows_affected() - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed


Retrieves the number of fields (columns) on a statement

  • « sqlsrv_next_result
  • sqlsrv_num_rows »
  • PHP Manual
  • SQLSRV Funções
  • Retrieves the number of fields (columns) on a statement

sqlsrv_num_fields

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement

Descrição

sqlsrv_num_fields ( resource $stmt ) : mixed

Retrieves the number of fields (columns) on a statement.

Parâmetros

stmt

The statement for which the number of fields is returned. sqlsrv_num_fields() can be called on a statement before or after statement execution.

Valor Retornado

Returns the number of fields on success. Returns false otherwise.

Exemplos

Exemplo #1 sqlsrv_num_fields() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
   die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT * FROM Table_1";
$stmt = sqlsrv_query($conn, $sql);
if( $stmt === false) {
   die( print_r( sqlsrv_errors(), true));
}

$numFields = sqlsrv_num_fields( $stmt );

while( sqlsrv_fetch( $stmt )) {
   // Iterate through the fields of each row.
   for($i = 0; $i < $numFields; $i++) {
      echo sqlsrv_get_field($stmt, $i)." ";
   }
   echo "<br />";
}
?>

Veja Também

  • sqlsrv_field_metadata() - Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
  • sqlsrv_fetch() - Makes the next row in a result set available for reading
  • sqlsrv_get_field() - Gets field data from the currently selected row


Retrieves the number of rows in a result set

  • « sqlsrv_num_fields
  • sqlsrv_prepare »
  • PHP Manual
  • SQLSRV Funções
  • Retrieves the number of rows in a result set

sqlsrv_num_rows

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_num_rows — Retrieves the number of rows in a result set

Descrição

sqlsrv_num_rows ( resource $stmt ) : mixed

Retrieves the number of rows in a result set. This function requires that the statement resource be created with a static or keyset cursor. For more information, see sqlsrv_query(), sqlsrv_prepare(), or » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Parâmetros

stmt

The statement for which the row count is returned. The statement resource must be created with a static or keyset cursor. For more information, see sqlsrv_query(), sqlsrv_prepare(), or » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Valor Retornado

Returns the number of rows retrieved on success and false if an error occurred. If a forward cursor (the default) or dynamic cursor is used, false is returned.

Exemplos

Exemplo #1 sqlsrv_num_rows() example

<?php
$server = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $server, $connectionInfo );

$sql = "SELECT * FROM Table_1";
$params = array();
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$stmt = sqlsrv_query( $conn, $sql , $params, $options );

$row_count = sqlsrv_num_rows( $stmt );

if ($row_count === false)
   echo "Error in retrieveing row count.";
else
   echo $row_count;
?>

Veja Também

  • sqlsrv_has_rows() - Indicates whether the specified statement has rows
  • sqlsrv_rows_affected() - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed


Prepares a query for execution

  • « sqlsrv_num_rows
  • sqlsrv_query »
  • PHP Manual
  • SQLSRV Funções
  • Prepares a query for execution

sqlsrv_prepare

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_prepare — Prepares a query for execution

Descrição

sqlsrv_prepare ( resource $conn , string $sql , array $params = ? , array $options = ? ) : mixed

Prepares a query for execution. This function is ideal for preparing a query that will be executed multiple times with different parameter values.

Parâmetros

conn

A connection resource returned by sqlsrv_connect().

sql

The string that defines the query to be prepared and executed.

params

An array specifying parameter information when executing a parameterized query. Array elements can be any of the following:

  • A literal value
  • A PHP variable
  • An array with this structure: array($value [, $direction [, $phpType [, $sqlType]]])
The following table describes the elements in the array structure above:

Array structure
Element | Description
$value | A literal value, a PHP variable, or a PHP by-reference variable.
$direction (optional) | One of the following SQLSRV constants used to indicate the parameter direction: SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT. The default value is SQLSRV_PARAM_IN.
$phpType (optional) | A SQLSRV_PHPTYPE_* constant that specifies PHP data type of the returned value.
$sqlType (optional) | A SQLSRV_SQLTYPE_* constant that specifies the SQL Server data type of the input value.
options

An array specifying query property options. The supported keys are described in the following table:

Query Options
Key | Values | Description
QueryTimeout | A positive integer value. | Sets the query timeout in seconds. By default, the driver will wait indefinitely for results.
SendStreamParamsAtExec | true or false (the default is true) | Configures the driver to send all stream data at execution (true), or to send stream data in chunks (false). By default, the value is set to true. For more information, see sqlsrv_send_stream_data().
Scrollable | SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_STATIC, SQLSRV_CURSOR_DYNAMIC, or SQLSRV_CURSOR_KEYSET | See » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Valor Retornado

Returns a statement resource on success and false if an error occurred.

Exemplos

Exemplo #1 sqlsrv_prepare() example

This example demonstrates how to prepare a statement with sqlsrv_prepare() and re-execute it multiple times (with different parameter values) using sqlsrv_execute().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1
        SET OrderQty = ?
        WHERE SalesOrderID = ?";

// Initialize parameters and prepare the statement.
// Variables $qty and $id are bound to the statement, $stmt.
$qty = 0; $id = 0;
$stmt = sqlsrv_prepare( $conn, $sql, array( &$qty, &$id));
if( !$stmt ) {
    die( print_r( sqlsrv_errors(), true));
}

// Set up the SalesOrderDetailID and OrderQty information.
// This array maps the order ID to order quantity in key=>value pairs.
$orders = array( 1=>10, 2=>20, 3=>30);

// Execute the statement for each order.
foreach( $orders as $id => $qty) {
    // Because $id and $qty are bound to $stmt1, their updated
    // values are used with each execution of the statement.
    if( sqlsrv_execute( $stmt ) === false ) {
          die( print_r( sqlsrv_errors(), true));
    }
}
?>

Notas

When you prepare a statement that uses variables as parameters, the variables are bound to the statement. This means that if you update the values of the variables, the next time you execute the statement it will run with updated parameter values. For statements that you plan to execute only once, use sqlsrv_query().

Veja Também

  • sqlsrv_execute() - Executes a statement prepared with sqlsrv_prepare
  • sqlsrv_query() - Prepares and executes a query


Prepares and executes a query

  • « sqlsrv_prepare
  • sqlsrv_rollback »
  • PHP Manual
  • SQLSRV Funções
  • Prepares and executes a query

sqlsrv_query

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_query — Prepares and executes a query

Descrição

sqlsrv_query ( resource $conn , string $sql , array $params = ? , array $options = ? ) : mixed

Prepares and executes a query.

Parâmetros

conn

A connection resource returned by sqlsrv_connect().

sql

The string that defines the query to be prepared and executed.

params

An array specifying parameter information when executing a parameterized query. Array elements can be any of the following:

  • A literal value
  • A PHP variable
  • An array with this structure: array($value [, $direction [, $phpType [, $sqlType]]])
The following table describes the elements in the array structure above:

Array structure
Element | Description
$value | A literal value, a PHP variable, or a PHP by-reference variable.
$direction (optional) | One of the following SQLSRV constants used to indicate the parameter direction: SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT. The default value is SQLSRV_PARAM_IN.
$phpType (optional) | A SQLSRV_PHPTYPE_* constant that specifies PHP data type of the returned value.
$sqlType (optional) | A SQLSRV_SQLTYPE_* constant that specifies the SQL Server data type of the input value.
options

An array specifying query property options. The supported keys are described in the following table:

Query Options
Key | Values | Description
QueryTimeout | A positive integer value. | Sets the query timeout in seconds. By default, the driver will wait indefinitely for results.
SendStreamParamsAtExec | true or false (the default is true) | Configures the driver to send all stream data at execution (true), or to send stream data in chunks (false). By default, the value is set to true. For more information, see sqlsrv_send_stream_data().
Scrollable | SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_STATIC, SQLSRV_CURSOR_DYNAMIC, or SQLSRV_CURSOR_KEYSET | See » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Valor Retornado

Returns a statement resource on success and false if an error occurred.

Exemplos

Exemplo #1 sqlsrv_query() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "INSERT INTO Table_1 (id, data) VALUES (?, ?)";
$params = array(1, "some data");

$stmt = sqlsrv_query( $conn, $sql, $params);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}
?>

Notas

For statements that you plan to execute only once, use sqlsrv_query(). If you intend to re-execute a statement with different parameter values, use the combination of sqlsrv_prepare() and sqlsrv_execute().

Veja Também

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_execute() - Executes a statement prepared with sqlsrv_prepare


Rolls back a transaction that was begun with sqlsrv_begin_transaction

  • « sqlsrv_query
  • sqlsrv_rows_affected »
  • PHP Manual
  • SQLSRV Funções
  • Rolls back a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_rollback

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction()

Descrição

sqlsrv_rollback ( resource $conn ) : bool

Rolls back a transaction that was begun with sqlsrv_begin_transaction() and returns the connection to auto-commit mode.

Parâmetros

conn

The connection resource returned by a call to sqlsrv_connect().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 sqlsrv_rollback() example

The following example demonstrates how to use sqlsrv_begin_transaction() together with sqlsrv_commit() and sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true ));
}

/* Begin the transaction. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
     die( print_r( sqlsrv_errors(), true ));
}

/* Initialize parameter values. */
$orderId = 1; $qty = 10; $productId = 100;

/* Set up and execute the first query. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
         VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Set up and execute the second query. */
$sql2 = "UPDATE InventoryTable
         SET Quantity = (Quantity - ?)
         WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* If both queries were successful, commit the transaction. */
/* Otherwise, rollback the transaction. */
if( $stmt1 && $stmt2 ) {
     sqlsrv_commit( $conn );
     echo "Transaction committed.<br />";
} else {
     sqlsrv_rollback( $conn );
     echo "Transaction rolled back.<br />";
}
?>

Veja Também

  • sqlsrv_begin_transaction() - Begins a database transaction
  • sqlsrv_commit() - Commits a transaction that was begun with sqlsrv_begin_transaction


Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

  • « sqlsrv_rollback
  • sqlsrv_send_stream_data »
  • PHP Manual
  • SQLSRV Funções
  • Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

sqlsrv_rows_affected

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

Descrição

sqlsrv_rows_affected ( resource $stmt ) : int

Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed. For information about the number of rows returned by a SELECT query, see sqlsrv_num_rows().

Parâmetros

stmt

The executed statement resource for which the number of affected rows is returned.

Valor Retornado

Returns the number of rows affected by the last INSERT, UPDATE, or DELETE query. If no rows were affected, 0 is returned. If the number of affected rows cannot be determined, -1 is returned. If an error occurred, false is returned.

Exemplos

Exemplo #1 sqlsrv_rows_affected() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1 SET data = ? WHERE id = ?";

$params = array("updated data", 1);

$stmt = sqlsrv_query( $conn, $sql, $params);

$rows_affected = sqlsrv_rows_affected( $stmt);
if( $rows_affected === false) {
     die( print_r( sqlsrv_errors(), true));
} elseif( $rows_affected == -1) {
      echo "No information available.<br />";
} else {
      echo $rows_affected." rows were updated.<br />";
}
?>

Veja Também

  • sqlsrv_num_rows() - Retrieves the number of rows in a result set


Sends data from parameter streams to the server

  • « sqlsrv_rows_affected
  • sqlsrv_server_info »
  • PHP Manual
  • SQLSRV Funções
  • Sends data from parameter streams to the server

sqlsrv_send_stream_data

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_send_stream_data — Sends data from parameter streams to the server

Descrição

sqlsrv_send_stream_data ( resource $stmt ) : bool

Send data from parameter streams to the server. Up to 8 KB of data is sent with each call.

Parâmetros

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

Valor Retornado

Returns true if there is more data to send and false if there is not.

Exemplos

Exemplo #1 sqlsrv_send_stream_data() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1 SET data = ( ?) WHERE id = 100";

// Open parameter data as a stream and put it in the $params array.
$data = fopen( "data://text/plain,[ Lengthy content here. ]", "r");
$params = array( &$data);

// Prepare the statement. Use the $options array to turn off the
// default behavior, which is to send all stream data at the time of query
// execution.
$options = array("SendStreamParamsAtExec"=>0);
$stmt = sqlsrv_prepare( $conn, $sql, $params, $options);

sqlsrv_execute( $stmt);

// Send up to 8K of parameter data to the server
// with each call to sqlsrv_send_stream_data.
$i = 1;
while( sqlsrv_send_stream_data( $stmt)) {
      $i++;
}
echo "$i calls were made.";
?>

Veja Também

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_query() - Prepares and executes a query


Returns information about the server

  • « sqlsrv_send_stream_data
  • tokyo_tyrant »
  • PHP Manual
  • SQLSRV Funções
  • Returns information about the server

sqlsrv_server_info

(Não há informação de versão disponível, talvez apenas no Git)

sqlsrv_server_info — Returns information about the server

Descrição

sqlsrv_server_info ( resource $conn ) : array

Returns information about the server.

Parâmetros

conn

The connection resource that connects the client and the server.

Valor Retornado

Returns an array as described in the following table:

Returned Array
CurrentDatabase | The connected-to database.
SQLServerVersion | The SQL Server version.
SQLServerName | The name of the server.

Exemplos

Exemplo #1 sqlsrv_server_info() example

<?php
$serverName = "serverName\sqlexpress";
$conn = sqlsrv_connect( $serverName);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$server_info = sqlsrv_server_info( $conn);
if( $server_info )
{
    foreach( $server_info as $key => $value) {
       echo $key.": ".$value."<br />";
    }
} else {
      die( print_r( sqlsrv_errors(), true));
}
?>

Veja Também

  • sqlsrv_client_info() - Returns information about the client and specified connection


tokyo_tyrant

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • TokyoTyrant — The TokyoTyrant class
    • TokyoTyrant::add — Adds to a numeric key
    • TokyoTyrant::connect — Connect to a database
    • TokyoTyrant::connectUri — Connects to a database
    • TokyoTyrant::__construct — Construct a new TokyoTyrant object
    • TokyoTyrant::copy — Copies the database
    • TokyoTyrant::ext — Execute a remote script
    • TokyoTyrant::fwmKeys — Returns the forward matching keys
    • TokyoTyrant::get — The get purpose
    • TokyoTyrant::getIterator — Get an iterator
    • TokyoTyrant::num — Number of records in the database
    • TokyoTyrant::out — Removes records
    • TokyoTyrant::put — Puts values
    • TokyoTyrant::putCat — Concatenates to a record
    • TokyoTyrant::putKeep — Puts a record
    • TokyoTyrant::putNr — Puts value
    • TokyoTyrant::putShl — Concatenates to a record
    • TokyoTyrant::restore — Restore the database
    • TokyoTyrant::setMaster — Set the replication master
    • TokyoTyrant::size — Returns the size of the value
    • TokyoTyrant::stat — Get statistics
    • TokyoTyrant::sync — Synchronize the database
    • TokyoTyrant::tune — Tunes connection values
    • TokyoTyrant::vanish — Empties the database
  • TokyoTyrantTable — The TokyoTyrantTable class
    • TokyoTyrantTable::add — Adds a record
    • TokyoTyrantTable::genUid — Generate unique id
    • TokyoTyrantTable::get — Get a row
    • TokyoTyrantTable::getIterator — Get an iterator
    • TokyoTyrantTable::getQuery — Get a query object
    • TokyoTyrantTable::out — Remove records
    • TokyoTyrantTable::put — Store a row
    • TokyoTyrantTable::putCat — Concatenates to a row
    • TokyoTyrantTable::putKeep — Put a new record
    • TokyoTyrantTable::putNr — Puts value
    • TokyoTyrantTable::putShl — Concatenates to a record
    • TokyoTyrantTable::setIndex — Sets index
  • TokyoTyrantQuery — The TokyoTyrantQuery class
    • TokyoTyrantQuery::addCond — Adds a condition to the query
    • TokyoTyrantQuery::__construct — Construct a new query
    • TokyoTyrantQuery::count — Counts records
    • TokyoTyrantQuery::current — Returns the current element
    • TokyoTyrantQuery::hint — Get the hint string of the query
    • TokyoTyrantQuery::key — Returns the current key
    • TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries
    • TokyoTyrantQuery::next — Moves the iterator to next entry
    • TokyoTyrantQuery::out — Removes records based on query
    • TokyoTyrantQuery::rewind — Rewinds the iterator
    • TokyoTyrantQuery::search — Searches records
    • TokyoTyrantQuery::setLimit — Limit results
    • TokyoTyrantQuery::setOrder — Orders results
    • TokyoTyrantQuery::valid — Checks the validity of current item
  • TokyoTyrantIterator — The TokyoTyrantIterator class
    • TokyoTyrantIterator::__construct — Construct an iterator
    • TokyoTyrantIterator::current — Get the current value
    • TokyoTyrantIterator::key — Returns the current key
    • TokyoTyrantIterator::next — Move to next key
    • TokyoTyrantIterator::rewind — Rewinds the iterator
    • TokyoTyrantIterator::valid — Rewinds the iterator
  • TokyoTyrantException — The TokyoTyrantException class


Introdução

tokyo_tyrant extension provides a wrapper for Tokyo Tyrant client libraries. The extension contains the normal key-value API and the table API.

"Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet. Though the DBM has high performance, you might bother in case that multiple processes share the same database, or remote processes access the database. Thus, Tokyo Tyrant is provided for concurrent and remote connections to Tokyo Cabinet. It is composed of the server process managing a database and its access library for client applications." --Tokyo Tyrant documentation

Tokyo Tyrant is written by Mikio Hirabayashi and is licensed under GNU Lesser General Public License.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

Before using this extension Tokyo Cabinet and Tokyo Tyrant must be installed.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/tokyo_tyrant

Configure options

  • --with-tokyo-tyrant[=DIR] DIR is the prefix to the Tokyo Tyrant installation
  • --with-tokyo-cabinet-dir[=DIR] DIR is the prefix to the Tokyo Cabinet installation
  • --disable-tokyo-tyrant-session Disable Tokyo Tyrant session handler support

Enabling the extension

The extension can be enabled by adding extension=tokyo_tyrant.so to the INI-configuration

Running Tokyo Tyrant for the session handler

ttserver -port 2000 -ext /path/to/expire.lua -extpc expire 30.0 '/tmp/sessions.tct#idx=ts:dec'

Nota: expire.lua is included in the tokyo_tyrant extension source distribution

Configuring session handler

  • tokyo_tyrant.session_salt="randomlongstring"
  • session.save_handler=tokyo_tyrant
  • session.save_path="tcp://hostname1:2000,tcp://hostname2:2000"

Nota: It is important to make sure that tokyo_tyrant.session_salt matches on all servers.

How it works?

The session handler creates a session id like the following: 8b0e27a823fa4a6cf7246945b82c1d51-a5eadbbed1f2075952900628456bfd6830541629-0-5460

The parts from left to right:

  • Session id - Generated session id
  • Checksum - Checksum of session salt, session id, node id and primary key
  • Node id - The id of the node where the session maps to
  • Primary key - The primary key of the row where the session is stored

The checksum contains SHA1 sum of the node id, primary key, session id and the salt which is known only on the server side. This allows quick mapping of session id to node and primary key since there is no need to do an additional search. During session id regeneration only the parts 1 and 2 change but the mapping to the node and primary key stays constant.

In case some of the nodes fail tokyo_tyrant.allow_failover, tokyo_tyrant.fail_threshold and tokyo_tyrant.health_check_divisor INI-settings control the behavior during failover. If failover is allowed the session handler will map the session to a healthy node and creates a new empty session.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

tokyo_tyrant Opções de Configuração
Nome | Padrão | Modificável | Changelog
tokyo_tyrant.default_timeout | 2.0 | PHP_INI_ALL |
tokyo_tyrant.session_salt | null | PHP_INI_ALL |
tokyo_tyrant.key_prefix | null | PHP_INI_ALL |
tokyo_tyrant.allow_failover | 1 | PHP_INI_ALL |
tokyo_tyrant.fail_threshold | 5 | PHP_INI_ALL |
tokyo_tyrant.health_check_divisor | 1000 | PHP_INI_ALL |
tokyo_tyrant.php_expiration | 0 | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

tokyo_tyrant.default_timeout int

Default timeout when connecting to databases

tokyo_tyrant.session_salt string

The secret that is used to salt session id

tokyo_tyrant.key_prefix string

Prefix all keys with this string. The prefix is transparent to the developer but helps making sure that keys won't collide if multiple applications are using the same database.

tokyo_tyrant.allow_failover int

Whether to allow session failover in case a server dies.

tokyo_tyrant.fail_threshold int

How many read/write or connection failures is allowed before server is marked as failed.

tokyo_tyrant.health_check_divisor int

Defines the divisor for the health check probability. If there are failed servers and the probability matches, the servers are health checked and in case the server seems healthy, it will be added back to the pool.

tokyo_tyrant.php_expiration int

Whether to use built in session expiration mechanism or delegate the expiration to a lua-script on the server-side.


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • tokyo_tyrant
  • Constantes pré-definidas

Constantes pré-definidas

TokyoTyrant constants


Exemplos

Basic usage

Exemplo #1 Putting and getting a key-value pair

<?php
$tt = new TokyoTyrant("localhost");
$tt->put("key", "value");
echo $tt->get("key");
?>

O exemplo acima irá imprimir:

value


The TokyoTyrant class

(PECL tokyo_tyrant >= 0.1.0)

Introdução

The main Tokyo Tyrant class

Sinopse da classe

TokyoTyrant {
/* Constantes */
const int RDBDEF_PORT = 1978 ;
const int RDBQC_STREQ = 0 ;
const int RDBQC_STRINC = 1 ;
const int RDBQC_STRBW = 2 ;
const int RDBQC_STREW = 3 ;
const int RDBQC_STRAND = 4 ;
const int RDBQC_STROR = 5 ;
const int RDBQC_STROREQ = 6 ;
const int RDBQC_STRRX = 7 ;
const int RDBQC_NUMEQ = 8 ;
const int RDBQC_NUMGT = 9 ;
const int RDBQC_NUMGE = 10 ;
const int RDBQC_NUMLT = 11 ;
const int RDBQC_NUMLE = 12 ;
const int RDBQC_NUMBT = 13 ;
const int RDBQC_NUMOREQ = 14 ;
const int RDBQC_NEGATE = 16777216 ;
const int RDBQC_NOIDX = 33554432 ;
const int RDBQO_STRASC = 0 ;
const int RDBQO_STRDESC = 1 ;
const int RDBQO_NUMASC = 2 ;
const int RDBQO_NUMDESC = 3 ;
const int RDBIT_LEXICAL = 0 ;
const int RDBIT_DECIMAL = 1 ;
const int RDBIT_TOKEN = 2 ;
const int RDBIT_QGRAM = 3 ;
const int RDBIT_OPT = 9998 ;
const int RDBIT_VOID = 9999 ;
const int RDBIT_KEEP = 16777216 ;
const int RDBQCFTS_PH = 15 ;
const int RDBQCFTS_AND = 16 ;
const int RDBQCFTS_OR = 17 ;
const int RDBQCFTS_EX = 18 ;
const int RDBXO_LCKREC = 1 ;
const int RDBXOLCK_GLB = 2 ;
const int RDBREC_INT = 1 ;
const int RDBREC_DBL = 2 ;
const int RDBMS_UNION = 0 ;
const int RDBMS_ISECT = 1 ;
const int RDBMS_DIFF = 2 ;
const int RDBT_RECON = 1 ;
/* Métodos */
public add ( string $key , int|float $increment , int $type = 0 ) : int|float
public connect ( string $host , int $port = TokyoTyrant::RDBDEF_PORT , array $options = ? ) : TokyoTyrant
public connectUri ( string $uri ) : TokyoTyrant
public __construct ( string $host = ? , int $port = TokyoTyrant::RDBDEF_PORT , array $options = ? )
public copy ( string $path ) : TokyoTyrant
public ext ( string $name , int $options , string $key , string $value ) : string
public fwmKeys ( string $prefix , int $max_recs ) : array
public get ( mixed $keys ) : mixed
public getIterator ( ) : TokyoTyrantIterator
public num ( ) : int
public out ( mixed $keys ) : TokyoTyrant
public put ( mixed $keys , string $value = NULL ) : TokyoTyrant
public putCat ( mixed $keys , string $value = ? ) : TokyoTyrant
public putKeep ( mixed $keys , string $value = ? ) : TokyoTyrant
public putNr ( mixed $keys , string $value = NULL ) : TokyoTyrant
public putShl ( string $key , string $value , int $width ) : mixed
public restore ( string $log_dir , int $timestamp , bool $check_consistency = true ) : mixed
public setMaster ( string $host , int $port , int $timestamp , bool $check_consistency = true ) : mixed
public size ( string $key ) : int
public stat ( ) : array
public sync ( ) : mixed
public tune ( float $timeout , int $options = TokyoTyrant::RDBT_RECON ) : TokyoTyrant
public vanish ( ) : mixed
}

Constantes pré-definidas

TokyoTyrant Constants

TokyoTyrant::RDBDEF_PORT

The default port of the Tokyo Tyrant database

TokyoTyrant::RDBQC_STREQ

string is equal to

TokyoTyrant::RDBQC_STRINC

string is included in

TokyoTyrant::RDBQC_STRBW

string begins with

TokyoTyrant::RDBQC_STREW

string ends with

TokyoTyrant::RDBQC_STRAND

string includes all tokens in

TokyoTyrant::RDBQC_STROR

string includes at least one token in

TokyoTyrant::RDBQC_STROREQ

string is equal to at least one token in

TokyoTyrant::RDBQC_STRRX

string matches regular expressions of

TokyoTyrant::RDBQC_NUMEQ

number is equal to

TokyoTyrant::RDBQC_NUMGT

number is greater than

TokyoTyrant::RDBQC_NUMGE

number is greater than or equal to

TokyoTyrant::RDBQC_NUMLT

number is less than

TokyoTyrant::RDBQC_NUMLE

number is less than or equal to

TokyoTyrant::RDBQC_NUMBT

number is between two tokens of

TokyoTyrant::RDBQC_NUMOREQ

number is equal to at least one token in

TokyoTyrant::RDBQC_NEGATE

negation flag

TokyoTyrant::RDBQC_NOIDX

no index flag

TokyoTyrant::RDBQO_STRASC

string ascending

TokyoTyrant::RDBQO_STRDESC

string descending

TokyoTyrant::RDBQO_NUMASC

number ascending

TokyoTyrant::RDBQO_NUMDESC

number descending

TokyoTyrant::RDBIT_LEXICAL

lexical string

TokyoTyrant::RDBIT_DECIMAL

decimal string

TokyoTyrant::RDBIT_TOKEN

token inverted index (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBIT_QGRAM

QGRAM inverted index (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBIT_OPT

optimize

TokyoTyrant::RDBIT_VOID

void

TokyoTyrant::RDBIT_KEEP

keep existing index

TokyoTyrant::RDBQCFTS_PH

full-text search with the phrase of (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_AND

full-text search with all tokens in (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_OR

full-text search with at least one token in (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_EX

full-text search with the compound expression of (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_AND

Metasearch union between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBQCFTS_OR

Metasearch intersection between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBQCFTS_EX

Metasearch difference between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBT_RECON

Whether to reconnect on connection failure. It is recommended to have this parameter on for persistent connections

TokyoTyrant::RDBXOLCK_REC

record locking

TokyoTyrant::RDBXOLCK_GLB

global locking

TokyoTyrant::RDBREC_INT

record type int

TokyoTyrant::RDBREC_DBL

record type float (double)

TokyoTyrant::TTE_SUCCESS

success

TokyoTyrant::TTE_INVALID

invalid operation

TokyoTyrant::TTE_NOHOST

host not found

TokyoTyrant::TTE_REFUSED

connection refused

TokyoTyrant::TTE_SEND

send error

TokyoTyrant::TTE_RECV

recv error

TokyoTyrant::TTE_KEEP

record exist

TokyoTyrant::TTE_NOREC

no record found

TokyoTyrant::TTE_MISC

miscellaneous error

Índice

  • TokyoTyrant::add — Adds to a numeric key
  • TokyoTyrant::connect — Connect to a database
  • TokyoTyrant::connectUri — Connects to a database
  • TokyoTyrant::__construct — Construct a new TokyoTyrant object
  • TokyoTyrant::copy — Copies the database
  • TokyoTyrant::ext — Execute a remote script
  • TokyoTyrant::fwmKeys — Returns the forward matching keys
  • TokyoTyrant::get — The get purpose
  • TokyoTyrant::getIterator — Get an iterator
  • TokyoTyrant::num — Number of records in the database
  • TokyoTyrant::out — Removes records
  • TokyoTyrant::put — Puts values
  • TokyoTyrant::putCat — Concatenates to a record
  • TokyoTyrant::putKeep — Puts a record
  • TokyoTyrant::putNr — Puts value
  • TokyoTyrant::putShl — Concatenates to a record
  • TokyoTyrant::restore — Restore the database
  • TokyoTyrant::setMaster — Set the replication master
  • TokyoTyrant::size — Returns the size of the value
  • TokyoTyrant::stat — Get statistics
  • TokyoTyrant::sync — Synchronize the database
  • TokyoTyrant::tune — Tunes connection values
  • TokyoTyrant::vanish — Empties the database


Adds to a numeric key

  • « TokyoTyrant
  • TokyoTyrant::connect »
  • PHP Manual
  • TokyoTyrant
  • Adds to a numeric key

TokyoTyrant::add

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::add — Adds to a numeric key

Descrição

public TokyoTyrant::add ( string $key , int|float $increment , int $type = 0 ) : int|float

Adds to an int or double value. This increments the value by the given amount and returns the new value. If the key does not exist a new key is created with initial value of the increment parameter.

Parâmetros

key

The string key

increment

The amount to increment

type

TokyoTyrant::RDBREC_INT or TokyoTyrant::RDBREC_DBL constant. If this parameter is omitted the type is guessed from the increment parameters type.

Valor Retornado

Returns the new value on success

Exemplos

Exemplo #1 TokyoTyrant::add() example

<?php
$tt = new TokyoTyrant("localhost", TokyoTyrant::RDBDEF_PORT);
/* Adds integer 3 to key and creates a new key */
$tt->add("test", 3);

/* String value is converted to double */
echo $tt->add("test", "3.5", TokyoTyrant::RDBREC_DBL);
?>

O exemplo acima irá imprimir algo similar à:

6.5

Veja Também

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putcat() - Concatenates to a record
  • TokyoTyrant::putkeep() - Puts a record


Connect to a database

  • « TokyoTyrant::add
  • TokyoTyrant::connectUri »
  • PHP Manual
  • TokyoTyrant
  • Connect to a database

TokyoTyrant::connect

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::connect — Connect to a database

Descrição

public TokyoTyrant::connect ( string $host , int $port = TokyoTyrant::RDBDEF_PORT , array $options = ? ) : TokyoTyrant

Connects to a remote database

Parâmetros

host

The hostname

port

The port. Default: 1978

options

Connection options: timeout (default: 5.0), reconnect (default: true) and persistent (default: true)

Valor Retornado

This method returns the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrant::connect() example

<?php
$tt = new TokyoTyrant();
$tt->connect("localhost", TokyoTyrant::RDBDEF_PORT)->put("test", "value");
?>

Veja Também

  • TokyoTyrant::connectUri() - Connects to a database


Connects to a database

  • « TokyoTyrant::connect
  • TokyoTyrant::__construct »
  • PHP Manual
  • TokyoTyrant
  • Connects to a database

TokyoTyrant::connectUri

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::connectUri — Connects to a database

Descrição

public TokyoTyrant::connectUri ( string $uri ) : TokyoTyrant

Connects to a database using an uri

Parâmetros

uri

An URI to the database. For example tcp://localhost:1979/

Valor Retornado

This method returns the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrant::connectUri() example

<?php
$tt = new TokyoTyrant();
$tt->connectUri("tcp://localhost:1978/")->put("test", "hi");
?>

Veja Também

  • TokyoTyrant::connect() - Connect to a database


Construct a new TokyoTyrant object

  • « TokyoTyrant::connectUri
  • TokyoTyrant::copy »
  • PHP Manual
  • TokyoTyrant
  • Construct a new TokyoTyrant object

TokyoTyrant::__construct

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::__construct — Construct a new TokyoTyrant object

Descrição

public TokyoTyrant::__construct ( string $host = ? , int $port = TokyoTyrant::RDBDEF_PORT , array $options = ? )

Constructs a new TokyoTyrant object and optionally connects to the database

Parâmetros

host

The hostname. Default: null

port

port number. Default: 1978

options

Connection options: timeout (default: 5.0), reconnect (default: true) and persistent (default: true)

Valor Retornado

Throws TokyoTyrantException if connection to database fails

Veja Também

  • TokyoTyrant::connect() - Connect to a database
  • TokyoTyrant::connectUri() - Connects to a database


Copies the database

  • « TokyoTyrant::__construct
  • TokyoTyrant::ext »
  • PHP Manual
  • TokyoTyrant
  • Copies the database

TokyoTyrant::copy

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::copy — Copies the database

Descrição

public TokyoTyrant::copy ( string $path ) : TokyoTyrant

Makes a copy of the current database

Parâmetros

path

Path to where to copy the database. The user running the remote database must have a write access to the directory.

Valor Retornado

This method returns the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrant::copy() example

<?php
$tt = new TokyoTyrant("localhost", 1978);
$tt->copy("/tmp/foobar.tct");
?>

Veja Também

  • TokyoTyrant::restore() - Restore the database


Execute a remote script

  • « TokyoTyrant::copy
  • TokyoTyrant::fwmKeys »
  • PHP Manual
  • TokyoTyrant
  • Execute a remote script

TokyoTyrant::ext

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::ext — Execute a remote script

Descrição

public TokyoTyrant::ext ( string $name , int $options , string $key , string $value ) : string

Executes a remote script extension.

Parâmetros

name

Name of the function to execute

options

Either TokyoTyrant::RDBXO_LCKREC for record locking and TokyoTyrant::RDBXO_LCKGLB for global locking.

key

The key to pass to the function

value

The value to pass to the function

Valor Retornado

Returns the result of the script function

Exemplos

Exemplo #1 TokyoTyrant::ext() example

<?php
$tt = new TokyoTyrant("localhost", 1978);
echo $tt->ext("somefunc", TokyoTyrant::RDBXO_LCKREC, "some_key", "some_value");
?>


Returns the forward matching keys

  • « TokyoTyrant::ext
  • TokyoTyrant::get »
  • PHP Manual
  • TokyoTyrant
  • Returns the forward matching keys

TokyoTyrant::fwmKeys

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::fwmKeys — Returns the forward matching keys

Descrição

public TokyoTyrant::fwmKeys ( string $prefix , int $max_recs ) : array

Returns the forward matching keys from the database

Parâmetros

prefix

Prefix of the keys

max_recs

Maximum records to return

Valor Retornado

Returns an array of matching keys. The values are not returned

Exemplos

Exemplo #1 TokyoTyrant::fwmKeys() example

<?php

$tt = new TokyoTyrant("localhost");

/* Create 20 macthing keys */
for ($i = 0; $i < 20; $i++) {
    $tt->put("key_" . $i, "value_" . $i);
}

/* Create 20 non-macthing keys */
for ($i = 0; $i < 20; $i++) {
    $tt->put("something_" . $i, "data_" . $i);
}

/* Get five matching keys */
var_dump($tt->fwmKeys("key_", 5));
?>

O exemplo acima irá imprimir algo similar à:

array(5) {
  [0]=>
  string(5) "key_5"
  [1]=>
  string(6) "key_14"
  [2]=>
  string(5) "key_6"
  [3]=>
  string(6) "key_15"
  [4]=>
  string(5) "key_7"
}


The get purpose

  • « TokyoTyrant::fwmKeys
  • TokyoTyrant::getIterator »
  • PHP Manual
  • TokyoTyrant
  • The get purpose

TokyoTyrant::get

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::get — The get purpose

Descrição

public TokyoTyrant::get ( mixed $keys ) : mixed

This method is used to return a value or multiple values. This method accepts a string or an array as a value.

Parâmetros

keys

A string key or an array of string keys

Valor Retornado

Returns a string or an array based on the given parameters. Throws a TokyoTyrantException on error. If string is passed null is returned if the key is not found. In case an array is given as an parameter only existing keys will be returned. It is not an error to pass a key that does not exist.

Exemplos

Exemplo #1 TokyoTyrant::get() example

<?php
$tt = new TokyoTyrant("localhost", 1978);
$tt->put("key1", "value1");
$tt->put("key2", "value2");
var_dump($tt->get(array("key1", "key2")));
var_dump($tt->get("key1"));
?>

O exemplo acima irá imprimir:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key2"]=>
  string(6) "value2"
}
string(6) "value1"

Veja Também

  • TokyoTyrant::put() - Puts values


Get an iterator

  • « TokyoTyrant::get
  • TokyoTyrant::num »
  • PHP Manual
  • TokyoTyrant
  • Get an iterator

TokyoTyrant::getIterator

(Não há informação de versão disponível, talvez apenas no Git)

TokyoTyrant::getIterator — Get an iterator

Descrição

public TokyoTyrant::getIterator ( ) : TokyoTyrantIterator

Gets an iterator for iterating all keys / values in the database.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This method returns TokyoTyrantIterator object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrant::getIterator() example

<?php
$tt = new TokyoTyrant("localhost");
$it = $tt->getIterator();

foreach ($it as $k => $v) {

}
?>

Veja Também

  • TokyoTyrantTable::getQuery() - Get a query object
  • TokyoTyrantTable::getIterator() - Get an iterator


Number of records in the database

  • « TokyoTyrant::getIterator
  • TokyoTyrant::out »
  • PHP Manual
  • TokyoTyrant
  • Number of records in the database

TokyoTyrant::num

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::num — Number of records in the database

Descrição

public TokyoTyrant::num ( ) : int

Returns the number of records in the database

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns number of records in the database

Exemplos

Exemplo #1 TokyoTyrant::num() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Echo the number of records */
echo $tt->num();
?>

O exemplo acima irá imprimir algo similar à:

1234

Veja Também

  • TokyoTyrant::stat() - Get statistics


Removes records

  • « TokyoTyrant::num
  • TokyoTyrant::put »
  • PHP Manual
  • TokyoTyrant
  • Removes records

TokyoTyrant::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::out — Removes records

Descrição

public TokyoTyrant::out ( mixed $keys ) : TokyoTyrant

Removes a record or multiple records. This method accepts a string for a single key or an array of keys for multiple records.

Parâmetros

keys

A string key or an array of string keys

Valor Retornado

This method returns the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrant::out() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

$tt->put("test1", "value1");
$tt->put("test2", "value2");

$tt->out(array("test1", "test2"));
?>

Veja Também

  • TokyoTyrant::put() - Puts values


Puts values

  • « TokyoTyrant::out
  • TokyoTyrant::putCat »
  • PHP Manual
  • TokyoTyrant
  • Puts values

TokyoTyrant::put

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::put — Puts values

Descrição

public TokyoTyrant::put ( mixed $keys , string $value = NULL ) : TokyoTyrant

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. If the key exists the value will be replaced with new value.

Parâmetros

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Valor Retornado

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrant::put() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Put single key-value pair */
$tt->put("key", "value");

/* Put key-value pairs, new value overwrites the old */
$tt->put(array("key1" => "value1", "key" => "value2"));

/* Get back one key */
echo $tt->get("key");
?>

O exemplo acima irá imprimir:

value2

Veja Também

  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record


Concatenates to a record

  • « TokyoTyrant::put
  • TokyoTyrant::putKeep »
  • PHP Manual
  • TokyoTyrant
  • Concatenates to a record

TokyoTyrant::putCat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putCat — Concatenates to a record

Descrição

public TokyoTyrant::putCat ( mixed $keys , string $value = ? ) : TokyoTyrant

Appends a value into existing key or multiple values if keys is an array. The second parameter is mandatory if keys is a string. If the record does not exist a new record is created.

Parâmetros

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Valor Retornado

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrant::putCat() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "value");

/* Concatenate single key-value pair */
$tt->putCat("key", " has more data");

/* Echo the key */
echo $tt->get("key");
?>

O exemplo acima irá imprimir:

value has more data

Veja Também

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putKeep() - Puts a record


Puts a record

  • « TokyoTyrant::putCat
  • TokyoTyrant::putNr »
  • PHP Manual
  • TokyoTyrant
  • Puts a record

TokyoTyrant::putKeep

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putKeep — Puts a record

Descrição

public TokyoTyrant::putKeep ( mixed $keys , string $value = ? ) : TokyoTyrant

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. If the key already exists this method throws an exception indicating that the records exists.

Parâmetros

keys

A string key or an array of key-value pairs

value

The string value

Valor Retornado

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 tokyotyrant::putKeep() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "value");

try {
    $tt->putKeep("key", "new value");
} catch (TokyoTyrantException $e) {
    if ($e->getCode() === TokyoTyrant::TTE_KEEP) {
        echo "Existing record! Not modified\n";
    } else {
        echo "Error: " , $e->getMessage() , "\n";
    }
}
echo $tt->get("key");
?>

O exemplo acima irá imprimir:

Existing record! Not modified
value

Veja Também

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putCat() - Concatenates to a record


Puts value

  • « TokyoTyrant::putKeep
  • TokyoTyrant::putShl »
  • PHP Manual
  • TokyoTyrant
  • Puts value

TokyoTyrant::putNr

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putNr — Puts value

Descrição

public TokyoTyrant::putNr ( mixed $keys , string $value = NULL ) : TokyoTyrant

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. This method does not wait for the response from the server.

Parâmetros

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Valor Retornado

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrant::putNr() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Put single key-value pair */
$tt->putNr("key", "value");

/* Put key-value pairs */
$tt->putNr(array("key1" => "value1", "key2" => "value2"));

/* Get back one key */
echo $tt->get("key1");
?>

O exemplo acima irá imprimir:

value1

Veja Também

  • TokyoTyrant::putNr()
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record


Concatenates to a record

  • « TokyoTyrant::putNr
  • TokyoTyrant::restore »
  • PHP Manual
  • TokyoTyrant
  • Concatenates to a record

TokyoTyrant::putShl

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putShl — Concatenates to a record

Descrição

public TokyoTyrant::putShl ( string $key , string $value , int $width ) : mixed

Concatenate to a record and shift to left.

Parâmetros

key

A string key

value

The value to concatenate

width

The width of the record

Valor Retornado

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrant::putShl() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "just a long piece of data");

/* Concatenate and shift to left */
$tt->putShl("key", " and string", 15);

/* Echo the key */
echo $tt->get("key");
?>

O exemplo acima irá imprimir:

data and string

Veja Também

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record


Restore the database

  • « TokyoTyrant::putShl
  • TokyoTyrant::setMaster »
  • PHP Manual
  • TokyoTyrant
  • Restore the database

TokyoTyrant::restore

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::restore — Restore the database

Descrição

public TokyoTyrant::restore ( string $log_dir , int $timestamp , bool $check_consistency = true ) : mixed

Restore the database from the update log.

Aviso

This method is not supported on 32bit platforms.

Parâmetros

log_dir

Directory where the log is

timestamp

Beginning timestamp with microseconds

check_consistency

Whether to check consistency: Default: true

Valor Retornado

This method returns the current object and throws TokyoTyrantException on failure.


Set the replication master

  • « TokyoTyrant::restore
  • TokyoTyrant::size »
  • PHP Manual
  • TokyoTyrant
  • Set the replication master

TokyoTyrant::setMaster

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::setMaster — Set the replication master

Descrição

public TokyoTyrant::setMaster ( string $host , int $port , int $timestamp , bool $check_consistency = true ) : mixed

Sets the replication master of the database

Aviso

This method is not supported on 32bit platforms.

Parâmetros

host

Hostname of the replication master. If null the replication is disabled.

port

Port of the replication master

timestamp

Beginning timestamp with microseconds

check_consistency

Whether to check consistency.

Valor Retornado

This method returns the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrant::setMaster() example

<?php
/* Connect to a database */
$tt = new TokyoTyrant("tokyotyrant.example.com");

/* Disable the replication */
$tt->setMaster(NULL, 0, 0);
?>

Veja Também

  • Classname::Method()


Returns the size of the value

  • « TokyoTyrant::setMaster
  • TokyoTyrant::stat »
  • PHP Manual
  • TokyoTyrant
  • Returns the size of the value

TokyoTyrant::size

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::size — Returns the size of the value

Descrição

public TokyoTyrant::size ( string $key ) : int

Returns the size of a value by key

Parâmetros

key

The key of which size to fetch

Valor Retornado

Returns the size of the key or throw TokyoTyrantException on error

Exemplos

Exemplo #1 TokyoTyrant::size() example

<?php
$tt = new TokyoTyrant("localhost");

$tt->put("test_key", "12345");

echo $tt->size("test_key");
?>

O exemplo acima irá imprimir:

5


Get statistics

  • « TokyoTyrant::size
  • TokyoTyrant::sync »
  • PHP Manual
  • TokyoTyrant
  • Get statistics

TokyoTyrant::stat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::stat — Get statistics

Descrição

public TokyoTyrant::stat ( ) : array

Returns statistics of the remote database

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array of key value pairs describing the statistics

Exemplos

Exemplo #1 TokyoTyrant::stat() example

<?php
$tt = new TokyoTyrant("localhost");

var_dump($tt->stat());
?>

O exemplo acima irá imprimir algo similar à:

array(19) {
  ["version"]=>
  string(6) "1.1.28"
  ["libver"]=>
  string(3) "311"
  ["protver"]=>
  string(4) "0.91"
  ["os"]=>
  string(5) "Linux"
  ["time"]=>
  string(17) "1247358357.665630"
  ["pid"]=>
  string(5) "14348"
  ["sid"]=>
  string(8) "59025947"
  ["type"]=>
  string(9) "on-memory"
  ["path"]=>
  string(1) "*"
  ["rnum"]=>
  string(1) "4"
  ["size"]=>
  string(6) "262856"
  ["bigend"]=>
  string(1) "0"
  ["fd"]=>
  string(1) "5"
  ["loadavg"]=>
  string(8) "0.000000"
  ["memsize"]=>
  string(8) "77328384"
  ["memrss"]=>
  string(7) "1183744"
  ["ru_real"]=>
  string(13) "162776.042152"
  ["ru_user"]=>
  string(8) "0.476029"
  ["ru_sys"]=>
  string(8) "8.652540"
}

Veja Também

  • Classname::Method()


Synchronize the database

  • « TokyoTyrant::stat
  • TokyoTyrant::tune »
  • PHP Manual
  • TokyoTyrant
  • Synchronize the database

TokyoTyrant::sync

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::sync — Synchronize the database

Descrição

public TokyoTyrant::sync ( ) : mixed

Synchronizes the database on to the physical device

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This method returns the current object and throws TokyoTyrantException on failure.


Tunes connection values

  • « TokyoTyrant::sync
  • TokyoTyrant::vanish »
  • PHP Manual
  • TokyoTyrant
  • Tunes connection values

TokyoTyrant::tune

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrant::tune — Tunes connection values

Descrição

public TokyoTyrant::tune ( float $timeout , int $options = TokyoTyrant::RDBT_RECON ) : TokyoTyrant

Tunes database connection options.

Parâmetros

timeout

The objects timeout value (default: 5.0)

options

Bitmask of options to tune. This can be either 0 or TokyoTyrant::RDBT_RECON. It is recommended not to change the second parameter.

Valor Retornado

This method returns a reference to the current object and throws TokyoTyrantException on failure.


Empties the database

  • « TokyoTyrant::tune
  • TokyoTyrantTable »
  • PHP Manual
  • TokyoTyrant
  • Empties the database

TokyoTyrant::vanish

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::vanish — Empties the database

Descrição

public TokyoTyrant::vanish ( ) : mixed

Empties a remote database

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This method returns the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrant::vanish() example

<?php
$tt = new TokyoTyrant("localhost");
$tt->vanish();
?>

Veja Também

  • TokyoTyrant::out() - Removes records


The TokyoTyrantTable class

(PECL tokyo_tyrant >= 0.1.0)

Introdução

Provides an API to the table databases. A table database can be create using the following command: ttserver -port 1979 /tmp/tt_table.tct. In Tokyo Tyrant the table API is a schemaless database which can store arbitrary amount of key-value pairs under a single primary key.

Sinopse da classe

TokyoTyrantTable extends TokyoTyrant {
/* Métodos */
public add ( string $key , mixed $increment , string $type = ? ) : void
public genUid ( ) : int
public get ( mixed $keys ) : array
public getIterator ( ) : TokyoTyrantIterator
public getQuery ( ) : TokyoTyrantQuery
public out ( mixed $keys ) : void
public put ( string $key , array $columns ) : int
public putCat ( string $key , array $columns ) : void
public putKeep ( string $key , array $columns ) : void
public putNr ( mixed $keys , string $value = ? ) : void
public putShl ( string $key , string $value , int $width ) : void
public setIndex ( string $column , int $type ) : mixed
/* Métodos herdados */
public TokyoTyrant::add ( string $key , int|float $increment , int $type = 0 ) : int|float
public TokyoTyrant::connect ( string $host , int $port = TokyoTyrant::RDBDEF_PORT , array $options = ? ) : TokyoTyrant
public TokyoTyrant::connectUri ( string $uri ) : TokyoTyrant
public TokyoTyrant::__construct ( string $host = ? , int $port = TokyoTyrant::RDBDEF_PORT , array $options = ? )
public TokyoTyrant::copy ( string $path ) : TokyoTyrant
public TokyoTyrant::ext ( string $name , int $options , string $key , string $value ) : string
public TokyoTyrant::fwmKeys ( string $prefix , int $max_recs ) : array
public TokyoTyrant::get ( mixed $keys ) : mixed
public TokyoTyrant::getIterator ( ) : TokyoTyrantIterator
public TokyoTyrant::num ( ) : int
public TokyoTyrant::out ( mixed $keys ) : TokyoTyrant
public TokyoTyrant::put ( mixed $keys , string $value = NULL ) : TokyoTyrant
public TokyoTyrant::putCat ( mixed $keys , string $value = ? ) : TokyoTyrant
public TokyoTyrant::putKeep ( mixed $keys , string $value = ? ) : TokyoTyrant
public TokyoTyrant::putNr ( mixed $keys , string $value = NULL ) : TokyoTyrant
public TokyoTyrant::putShl ( string $key , string $value , int $width ) : mixed
public TokyoTyrant::restore ( string $log_dir , int $timestamp , bool $check_consistency = true ) : mixed
public TokyoTyrant::setMaster ( string $host , int $port , int $timestamp , bool $check_consistency = true ) : mixed
public TokyoTyrant::size ( string $key ) : int
public TokyoTyrant::stat ( ) : array
public TokyoTyrant::sync ( ) : mixed
public TokyoTyrant::tune ( float $timeout , int $options = TokyoTyrant::RDBT_RECON ) : TokyoTyrant
public TokyoTyrant::vanish ( ) : mixed
}

Índice

  • TokyoTyrantTable::add — Adds a record
  • TokyoTyrantTable::genUid — Generate unique id
  • TokyoTyrantTable::get — Get a row
  • TokyoTyrantTable::getIterator — Get an iterator
  • TokyoTyrantTable::getQuery — Get a query object
  • TokyoTyrantTable::out — Remove records
  • TokyoTyrantTable::put — Store a row
  • TokyoTyrantTable::putCat — Concatenates to a row
  • TokyoTyrantTable::putKeep — Put a new record
  • TokyoTyrantTable::putNr — Puts value
  • TokyoTyrantTable::putShl — Concatenates to a record
  • TokyoTyrantTable::setIndex — Sets index


Adds a record

  • « TokyoTyrantTable
  • TokyoTyrantTable::genUid »
  • PHP Manual
  • TokyoTyrantTable
  • Adds a record

TokyoTyrantTable::add

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::add — Adds a record

Descrição

public TokyoTyrantTable::add ( string $key , mixed $increment , string $type = ? ) : void

This method is not supported with table databases.

Parâmetros

key

The string key

increment

The amount to increment

type

TokyoTyrant::RDB_RECINT or TokyoTyrant::RDB_RECDBL constant. If this parameter is omitted the type is guessed from the increment parameters type.

Valor Retornado

This method throws an TokyoTyrantException if used through this class.

Veja Também

  • TokyoTyrant::add() - Adds to a numeric key


Generate unique id

  • « TokyoTyrantTable::add
  • TokyoTyrantTable::get »
  • PHP Manual
  • TokyoTyrantTable
  • Generate unique id

TokyoTyrantTable::genUid

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::genUid — Generate unique id

Descrição

public TokyoTyrantTable::genUid ( ) : int

Generates an unique id inside the table database. In table databases rows are referenced using a numeric primary key.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an unique id or throws TokyoTyrantException on error

Exemplos

Exemplo #1 TokyoTyrantTable::genUid() example

<?php
$tt = new TokyoTyrantTable("localhost", 1122);

echo $tt->genUid();
?>

O exemplo acima irá imprimir algo similar à:

4

Veja Também

  • TokyoTyrantTable::put() - Store a row


Get a row

  • « TokyoTyrantTable::genUid
  • TokyoTyrantTable::getIterator »
  • PHP Manual
  • TokyoTyrantTable
  • Get a row

TokyoTyrantTable::get

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::get — Get a row

Descrição

public TokyoTyrantTable::get ( mixed $keys ) : array

Gets a row from table database. keys is a single integer for the primary key of the row or an array of integers for multiple rows.

Parâmetros

keys

The primary key, can be a string or an integer

Valor Retornado

Returns the row as an array

Exemplos

Exemplo #1 TokyoTyrantTable::get() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));
?>

O exemplo acima irá imprimir:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}

Notas

Nota:

Starting from version 0.3.0 this method accepts array as parameter. Please note that multi-get on tables is not binary-safe.

Veja Também

  • TokyoTyrantTable::put() - Store a row


Get an iterator

  • « TokyoTyrantTable::get
  • TokyoTyrantTable::getQuery »
  • PHP Manual
  • TokyoTyrantTable
  • Get an iterator

TokyoTyrantTable::getIterator

(Não há informação de versão disponível, talvez apenas no Git)

TokyoTyrantTable::getIterator — Get an iterator

Descrição

public TokyoTyrantTable::getIterator ( ) : TokyoTyrantIterator

Gets an iterator for iterating all keys / values in the database.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This method returns TokyoTyrantIterator object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrantTable::getIterator() example

<?php
$tt = new TokyoTyrantTable("localhost");
$it = $tt->getIterator();

foreach ($it as $k => $v) {
  var_dump($k, $v);
}
?>

Veja Também

  • TokyoTyrantTable::getQuery() - Get a query object
  • TokyoTyrant::getIterator() - Get an iterator


Get a query object

  • « TokyoTyrantTable::getIterator
  • TokyoTyrantTable::out »
  • PHP Manual
  • TokyoTyrantTable
  • Get a query object

TokyoTyrantTable::getQuery

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::getQuery — Get a query object

Descrição

public TokyoTyrantTable::getQuery ( ) : TokyoTyrantQuery

Get a query object to execute searches on the database

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns TokyoTyrantQuery on success and throws TokyoTyrantException on error

Exemplos

Exemplo #1 TokyoTyrantTable::getQuery() example

<?php
/* Connect to a table database */
$table = new TokyoTyrantTable("localhost", 1979);

/* Put a few rows */
$table->put(null, array("column1" => "some data", "column2" => "more data"));
$table->put(null, array("something" => "value", "data" => "good data"));

/* Get query object */
$query = $table->getQuery();

/* Add condition to query */
$query->addCond('data', TokyoTyrant::RDBQC_STREQ, 'good data');

/* Get matching rows */
var_dump($query->search());
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [11]=>
  array(2) {
    ["something"]=>
    string(5) "value"
    ["data"]=>
    string(9) "good data"
  }
}

Veja Também

  • TokyoTyrantQuery::search() - Searches records
  • TokyoTyrantQuery::out() - Removes records based on query


Remove records

  • « TokyoTyrantTable::getQuery
  • TokyoTyrantTable::put »
  • PHP Manual
  • TokyoTyrantTable
  • Remove records

TokyoTyrantTable::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::out — Remove records

Descrição

public TokyoTyrantTable::out ( mixed $keys ) : void

Removes records from a table database.

Parâmetros

keys

A single integer key or an array of integers

Valor Retornado

This method returns the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrantTable::out() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Delete the row */
$tt->out($index);
?>

Veja Também

  • TokyoTyrantTable::put() - Store a row


Store a row

  • « TokyoTyrantTable::out
  • TokyoTyrantTable::putCat »
  • PHP Manual
  • TokyoTyrantTable
  • Store a row

TokyoTyrantTable::put

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::put — Store a row

Descrição

public TokyoTyrantTable::put ( string $key , array $columns ) : int

Puts a new row into the database. This method parameters are key which is the primary key of the row, passing null will generate a new unique id. value is an array containing the row contents which is usually key value pairs.

Parâmetros

key

The primary key of the row

columns

The row contents

Valor Retornado

Returns the primary key on success and throws TokyoTyrantException on error

Exemplos

Exemplo #1 TokyoTyrantTable::put() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

/* Modify an existing row */
$tt->put($index, array("column1" => "other data", "column2" => "better data"));

/* Get the row back */
var_dump($tt->get($index));
?>

O exemplo acima irá imprimir:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
array(2) {
  ["column1"]=>
  string(10) "other data"
  ["column2"]=>
  string(11) "better data"
}

Veja Também

  • TokyoTyrantTable::get() - Get a row


Concatenates to a row

  • « TokyoTyrantTable::put
  • TokyoTyrantTable::putKeep »
  • PHP Manual
  • TokyoTyrantTable
  • Concatenates to a row

TokyoTyrantTable::putCat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putCat — Concatenates to a row

Descrição

public TokyoTyrantTable::putCat ( string $key , array $columns ) : void

This method can be used to add new columns to existing records. Existing keys will be left unmodified but any new columns will be appended to the row. Passing null as key will generate a new row.

Parâmetros

key

The primary key of the row or null

columns

Array of row contents

Valor Retornado

Returns the primary key and throws TokyoTyrantException on error.

Exemplos

Exemplo #1 TokyoTyrantTable::putCat() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

/* Modify an existing row */
$tt->putcat($index, array("column1" => "something new", "new_column" => "other data"));

/* Get the row back */
var_dump($tt->get($index));
?>

O exemplo acima irá imprimir:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
array(3) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
  ["new_column"]=>
  string(10) "other data"
}

Veja Também

  • TokyoTyrantTable::put() - Store a row


Put a new record

  • « TokyoTyrantTable::putCat
  • TokyoTyrantTable::putNr »
  • PHP Manual
  • TokyoTyrantTable
  • Put a new record

TokyoTyrantTable::putKeep

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putKeep — Put a new record

Descrição

public TokyoTyrantTable::putKeep ( string $key , array $columns ) : void

Puts a new record into the database. If the key already exists this method throws an exception indicating that the records exists.

Parâmetros

key

The primary key of the row or null

columns

Array of the row contents

Valor Retornado

Returns the primary key and throws TokyoTyrantException on error.

Exemplos

Exemplo #1 TokyoTyrantTable::putKeep() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

try {
    $tt->putKeep($index, array("column1" => "something new", "new_column" => "other data"));
} catch (TokyoTyrantException $e) {
    if ($e->getCode() === TokyoTyrant::TTE_KEEP) {
        echo "Existing record! Not modified\n";
    } else {
        echo "Error: " , $e->getMessage() , "\n";
    }
}

/* Get the row back */
var_dump($tt->get($index));
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
Existing record! Not modified
array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}

Veja Também

  • TokyoTyrantTable::put() - Store a row


Puts value

  • « TokyoTyrantTable::putKeep
  • TokyoTyrantTable::putShl »
  • PHP Manual
  • TokyoTyrantTable
  • Puts value

TokyoTyrantTable::putNr

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putNr — Puts value

Descrição

public TokyoTyrantTable::putNr ( mixed $keys , string $value = ? ) : void

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Parâmetros

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Valor Retornado

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Veja Também

  • TokyoTyrant::putNr() - Puts value
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record


Concatenates to a record

  • « TokyoTyrantTable::putNr
  • TokyoTyrantTable::setIndex »
  • PHP Manual
  • TokyoTyrantTable
  • Concatenates to a record

TokyoTyrantTable::putShl

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putShl — Concatenates to a record

Descrição

public TokyoTyrantTable::putShl ( string $key , string $value , int $width ) : void

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Parâmetros

key

A string key

value

The value to concatenate

width

The width of the record

Valor Retornado

This method is not supported on table databases.

Veja Também

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record
  • TokyoTyrantTable::put() - Store a row
  • TokyoTyrantTable::putKeep() - Put a new record
  • TokyoTyrantTable::putCat() - Concatenates to a row


Sets index

  • « TokyoTyrantTable::putShl
  • TokyoTyrantQuery »
  • PHP Manual
  • TokyoTyrantTable
  • Sets index

TokyoTyrantTable::setIndex

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::setIndex — Sets index

Descrição

public TokyoTyrantTable::setIndex ( string $column , int $type ) : mixed

Sets an index on a specified column. The index type is one of the TokyoTyrant::RDBIT_* constants. Passing TokyoTyrant::RDBIT_VOID removes the index.

Parâmetros

column

The name of the column

type

The index type

Valor Retornado

This method returns the current object and throws TokyoTyrantException on failure.


The TokyoTyrantQuery class

(PECL tokyo_tyrant >= 0.1.0)

Introdução

This class is used to query the table databases

Sinopse da classe

TokyoTyrantQuery implements Iterator {
/* Métodos */
public addCond ( string $name , int $op , string $expr ) : mixed
public __construct ( TokyoTyrantTable $table )
public count ( ) : int
public current ( ) : array
public hint ( ) : string
public key ( ) : string
public metaSearch ( array $queries , int $type ) : array
public next ( ) : array
public out ( ) : TokyoTyrantQuery
public rewind ( ) : bool
public search ( ) : array
public setLimit ( int $max = ? , int $skip = ? ) : mixed
public setOrder ( string $name , int $type ) : mixed
public valid ( ) : bool
}

Índice

  • TokyoTyrantQuery::addCond — Adds a condition to the query
  • TokyoTyrantQuery::__construct — Construct a new query
  • TokyoTyrantQuery::count — Counts records
  • TokyoTyrantQuery::current — Returns the current element
  • TokyoTyrantQuery::hint — Get the hint string of the query
  • TokyoTyrantQuery::key — Returns the current key
  • TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries
  • TokyoTyrantQuery::next — Moves the iterator to next entry
  • TokyoTyrantQuery::out — Removes records based on query
  • TokyoTyrantQuery::rewind — Rewinds the iterator
  • TokyoTyrantQuery::search — Searches records
  • TokyoTyrantQuery::setLimit — Limit results
  • TokyoTyrantQuery::setOrder — Orders results
  • TokyoTyrantQuery::valid — Checks the validity of current item


Adds a condition to the query

  • « TokyoTyrantQuery
  • TokyoTyrantQuery::__construct »
  • PHP Manual
  • TokyoTyrantQuery
  • Adds a condition to the query

TokyoTyrantQuery::addCond

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::addCond — Adds a condition to the query

Descrição

public TokyoTyrantQuery::addCond ( string $name , int $op , string $expr ) : mixed

Adds a condition to the query. Condition can be something like: get all keys which value matches expr.

Parâmetros

name

Name of the column in the condition

op

The operator. One of the TokyoTyrant::RDBQC_* constants

expr

The expression

Valor Retornado

This method returns the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrantQuery::addCond() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Dump the search results */
var_dump($query->search());
?>

O exemplo acima irá imprimir:

array(2) {
  [1]=>
  array(2) {
    ["column1"]=>
    string(9) "some data"
    ["column2"]=>
    string(14) "something here"
  }
  [4]=>
  array(2) {
    ["column45"]=>
    string(11) "random data"
    ["column2"]=>
    string(25) "something along the lines"
  }
}

Veja Também

  • Classname::Method()


Construct a new query

  • « TokyoTyrantQuery::addCond
  • TokyoTyrantQuery::count »
  • PHP Manual
  • TokyoTyrantQuery
  • Construct a new query

TokyoTyrantQuery::__construct

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::__construct — Construct a new query

Descrição

public TokyoTyrantQuery::__construct ( TokyoTyrantTable $table )

Construct a new query object

Parâmetros

table

TokyoTyrantTable object with active database connection

Valor Retornado

Returns a new TokyoTyrantQuery object and throws TokyoTyrantException on error

Exemplos

Exemplo #1 TokyoTyrantQuery::__construct() example

<?php
$tt = new TokyoTyrantTable("localhost", 1979);

$query = new TokyoTyrantQuery($tt);

/* Work with $query */
?>

Veja Também

  • TokyoTyrantTable::getQuery() - Get a query object


Counts records

  • « TokyoTyrantQuery::__construct
  • TokyoTyrantQuery::current »
  • PHP Manual
  • TokyoTyrantQuery
  • Counts records

TokyoTyrantQuery::count

(Não há informação de versão disponível, talvez apenas no Git)

TokyoTyrantQuery::count — Counts records

Descrição

public TokyoTyrantQuery::count ( ) : int

Returns a count of how many records a query returns.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a count of matching rows and throws TokyoTyrantException on error

Exemplos

Exemplo #1 TokyoTyrantQuery::count() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Count the results */
var_dump($query->count());
?>

O exemplo acima irá imprimir:

int(2)

Veja Também

  • TokyoTyrantQuery::out() - Removes records based on query
  • TokyoTyrantQuery::search() - Searches records
  • TokyoTyrantQuery::metaSearch() - Retrieve records with multiple queries


Returns the current element

  • « TokyoTyrantQuery::count
  • TokyoTyrantQuery::hint »
  • PHP Manual
  • TokyoTyrantQuery
  • Returns the current element

TokyoTyrantQuery::current

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::current — Returns the current element

Descrição

public TokyoTyrantQuery::current ( ) : array

Returns the current element. Part of Iterator interface

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current row

Exemplos

Exemplo #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

O exemplo acima irá imprimir algo similar à:

pk: 1, columns: 2
pk: 4, columns: 2

Veja Também

  • TokyoTyrantQuery::addCond() - Adds a condition to the query


Get the hint string of the query

  • « TokyoTyrantQuery::current
  • TokyoTyrantQuery::key »
  • PHP Manual
  • TokyoTyrantQuery
  • Get the hint string of the query

TokyoTyrantQuery::hint

(Não há informação de versão disponível, talvez apenas no Git)

TokyoTyrantQuery::hint — Get the hint string of the query

Descrição

public TokyoTyrantQuery::hint ( ) : string

Get the hint string of the query. The hint string contains information about an executed query and it could be compared to for example MySQL EXPLAIN statement.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This method always returns a string

Exemplos

Exemplo #1 TokyoTyrantQuery::hint example

<?php
$tt = new TokyoTyrantTable("localhost", 1979);
$tt->vanish();

for ($i = 0; $i < 11; $i++) {
     $tt->put(null, array('a_col' => 'a' . $i, 'b_col' => 'b' . $i));
}

$query = $tt->getQuery();
$query->addCond('a_col', TokyoTyrant::RDBQC_STRBW, 'a');

$query->search();
var_dump($query->hint());
?>

O exemplo acima irá imprimir algo similar à:

string(72) "
scanning the whole table
result set size: 11
leaving the natural order
"

Veja Também

  • TokyoTyrantQuery::addCond() - Adds a condition to the query


Returns the current key

  • « TokyoTyrantQuery::hint
  • TokyoTyrantQuery::metaSearch »
  • PHP Manual
  • TokyoTyrantQuery
  • Returns the current key

TokyoTyrantQuery::key

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::key — Returns the current key

Descrição

public TokyoTyrantQuery::key ( ) : string

Returns the current key. Part of the Iterator interface

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current key and throws TokyoTyrantException on error

Exemplos

Exemplo #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

O exemplo acima irá imprimir algo similar à:

pk: 1, columns: 2
pk: 4, columns: 2

Veja Também

  • TokyoTyrantQuery::addCond() - Adds a condition to the query


Retrieve records with multiple queries

  • « TokyoTyrantQuery::key
  • TokyoTyrantQuery::next »
  • PHP Manual
  • TokyoTyrantQuery
  • Retrieve records with multiple queries

TokyoTyrantQuery::metaSearch

(Não há informação de versão disponível, talvez apenas no Git)

TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries

Descrição

public TokyoTyrantQuery::metaSearch ( array $queries , int $type ) : array

Executes multiple queries on a database and returns matching records. The current object is always the left most object in the search.

Parâmetros

queries

Array of TokyoTyrantQuery objects

type

One of the TokyoTyrant::RDBMS_* constants

Valor Retornado

Returns the matching rows and throws TokyoTyrantException on error

Exemplos

Exemplo #1 TokyoTyrantQuery::metaSearch() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add test data */
$tt->put('cherry',     array('color' => 'red'));
$tt->put('strawberry', array('color' => 'red'));
$tt->put('apple',      array('color' => 'green'));
$tt->put('lemon',      array('color' => 'yellow'));

/* First query */
$query = $tt->getQuery();
$query->addCond('color', TokyoTyrant::RDBQC_STREQ, 'red')->setOrder('color', TokyoTyrant::RDBQO_STRASC);

/* Second query */
$query1 = $tt->getQuery();
$query1->addCond('color', TokyoTyrant::RDBQC_STREQ, 'yellow');

/* Get union between the queries */
var_dump($query->metaSearch(array($query1), TokyoTyrant::RDBMS_UNION));
?>

O exemplo acima irá imprimir:

array(3) {
  ["cherry"]=>
  array(1) {
    ["color"]=>
    string(3) "red"
  }
  ["strawberry"]=>
  array(1) {
    ["color"]=>
    string(3) "red"
  }
  ["lemon"]=>
  array(1) {
    ["color"]=>
    string(6) "yellow"
  }
}

Veja Também

  • TokyoTyrantQuery::search() - Searches records


Moves the iterator to next entry

  • « TokyoTyrantQuery::metaSearch
  • TokyoTyrantQuery::out »
  • PHP Manual
  • TokyoTyrantQuery
  • Moves the iterator to next entry

TokyoTyrantQuery::next

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::next — Moves the iterator to next entry

Descrição

public TokyoTyrantQuery::next ( ) : array

Returns the next result in the resultset. Part of the Iterator interface.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the next row and throws TokyoTyrantException on error.

Exemplos

Exemplo #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

O exemplo acima irá imprimir algo similar à:

pk: 1, columns: 2
pk: 4, columns: 2

Veja Também

  • TokyoTyrantQuery::addCond() - Adds a condition to the query


Removes records based on query

  • « TokyoTyrantQuery::next
  • TokyoTyrantQuery::rewind »
  • PHP Manual
  • TokyoTyrantQuery
  • Removes records based on query

TokyoTyrantQuery::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::out — Removes records based on query

Descrição

public TokyoTyrantQuery::out ( ) : TokyoTyrantQuery

Removes all records that match the query. Works exactly like search but removes the records instead of returning them.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This method returns the current object and throws TokyoTyrantException on failure.

Exemplos

Exemplo #1 TokyoTyrantQuery::out() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Remove matching records */
$query->out();
?>

Veja Também

  • TokyoTyrantQuery::addCond() - Adds a condition to the query


Rewinds the iterator

  • « TokyoTyrantQuery::out
  • TokyoTyrantQuery::search »
  • PHP Manual
  • TokyoTyrantQuery
  • Rewinds the iterator

TokyoTyrantQuery::rewind

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::rewind — Rewinds the iterator

Descrição

public TokyoTyrantQuery::rewind ( ) : bool

Rewind the resultset and executes the query if it has not been executed. Part of the Iterator interface.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true

Exemplos

Exemplo #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

O exemplo acima irá imprimir algo similar à:

pk: 1, columns: 2
pk: 4, columns: 2

Veja Também

  • TokyoTyrantQuery::addCond() - Adds a condition to the query


Searches records

  • « TokyoTyrantQuery::rewind
  • TokyoTyrantQuery::setLimit »
  • PHP Manual
  • TokyoTyrantQuery
  • Searches records

TokyoTyrantQuery::search

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::search — Searches records

Descrição

public TokyoTyrantQuery::search ( ) : array

Executes a search on the table database. Returns an array of arrays containing the matching records. In the returned array the first level is the primary key of the data and the second level is the row data.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the matching rows and throws TokyoTyrantException on error

Exemplos

Exemplo #1 TokyoTyrantQuery::search() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Dump the search results */
var_dump($query->search());
?>

O exemplo acima irá imprimir:

array(2) {
  [1]=>
  array(2) {
    ["column1"]=>
    string(9) "some data"
    ["column2"]=>
    string(14) "something here"
  }
  [4]=>
  array(2) {
    ["column45"]=>
    string(11) "random data"
    ["column2"]=>
    string(25) "something along the lines"
  }
}

Veja Também

  • TokyoTyrantQuery::out() - Removes records based on query
  • TokyoTyrantQuery::metaSearch() - Retrieve records with multiple queries


Limit results

  • « TokyoTyrantQuery::search
  • TokyoTyrantQuery::setOrder »
  • PHP Manual
  • TokyoTyrantQuery
  • Limit results

TokyoTyrantQuery::setLimit

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::setLimit — Limit results

Descrição

public TokyoTyrantQuery::setLimit ( int $max = ? , int $skip = ? ) : mixed

Set the maximum amount of records to return on a query.

Parâmetros

max

Maximum amount of records. Default: -1

skip

How many records to skip from the start. Default: -1

Valor Retornado

This method returns the current object and throws TokyoTyrantException on failure.


Orders results

  • « TokyoTyrantQuery::setLimit
  • TokyoTyrantQuery::valid »
  • PHP Manual
  • TokyoTyrantQuery
  • Orders results

TokyoTyrantQuery::setOrder

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::setOrder — Orders results

Descrição

public TokyoTyrantQuery::setOrder ( string $name , int $type ) : mixed

Sets the order of a query

Parâmetros

name

The column name to apply the ordering on.

type

The type can be one of the following constants:

  • TokyoTyrant::RDBQO_STRASC - String ascending
  • TokyoTyrant::RDBQO_STRDESC - String descending
  • TokyoTyrant::RDBQO_NUMASC - Numberic ascending
  • TokyoTyrant::RDBQO_NUMDESC - String descending

Valor Retornado

This method returns the current object.


Checks the validity of current item

  • « TokyoTyrantQuery::setOrder
  • TokyoTyrantIterator »
  • PHP Manual
  • TokyoTyrantQuery
  • Checks the validity of current item

TokyoTyrantQuery::valid

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::valid — Checks the validity of current item

Descrição

public TokyoTyrantQuery::valid ( ) : bool

Checks if the current item is valid. Part of the Iterator interface

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the current item is valid and false if not.

Exemplos

Exemplo #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

O exemplo acima irá imprimir algo similar à:

pk: 1, columns: 2
pk: 4, columns: 2

Veja Também

  • TokyoTyrantQuery::addCond() - Adds a condition to the query


The TokyoTyrantIterator class

(PECL tokyo_tyrant >= 0.2.0)

Introdução

Provides an iterator for TokyoTyrant and TokyoTyrantTable objects. The iterator iterates over all keys and values in the database. TokyoTyrantIterator was added in version 0.2.0.

Sinopse da classe

TokyoTyrantIterator implements Iterator {
/* Methods */
public __construct ( mixed $object )
public current ( ) : mixed
public key ( ) : mixed
public next ( ) : mixed
public rewind ( ) : void
public valid ( ) : bool
/* Inherited methods */
public TokyoTyrant::add ( string $key , int|float $increment , int $type = 0 ) : int|float
public TokyoTyrant::connect ( string $host , int $port = TokyoTyrant::RDBDEF_PORT , array $options = ? ) : TokyoTyrant
public TokyoTyrant::connectUri ( string $uri ) : TokyoTyrant
public TokyoTyrant::__construct ( string $host = ? , int $port = TokyoTyrant::RDBDEF_PORT , array $options = ? )
public TokyoTyrant::copy ( string $path ) : TokyoTyrant
public TokyoTyrant::ext ( string $name , int $options , string $key , string $value ) : string
public TokyoTyrant::fwmKeys ( string $prefix , int $max_recs ) : array
public TokyoTyrant::get ( mixed $keys ) : mixed
public TokyoTyrant::getIterator ( ) : TokyoTyrantIterator
public TokyoTyrant::num ( ) : int
public TokyoTyrant::out ( mixed $keys ) : TokyoTyrant
public TokyoTyrant::put ( mixed $keys , string $value = NULL ) : TokyoTyrant
public TokyoTyrant::putCat ( mixed $keys , string $value = ? ) : TokyoTyrant
public TokyoTyrant::putKeep ( mixed $keys , string $value = ? ) : TokyoTyrant
public TokyoTyrant::putNr ( mixed $keys , string $value = NULL ) : TokyoTyrant
public TokyoTyrant::putShl ( string $key , string $value , int $width ) : mixed
public TokyoTyrant::restore ( string $log_dir , int $timestamp , bool $check_consistency = true ) : mixed
public TokyoTyrant::setMaster ( string $host , int $port , int $timestamp , bool $check_consistency = true ) : mixed
public TokyoTyrant::size ( string $key ) : int
public TokyoTyrant::stat ( ) : array
public TokyoTyrant::sync ( ) : mixed
public TokyoTyrant::tune ( float $timeout , int $options = TokyoTyrant::RDBT_RECON ) : TokyoTyrant
public TokyoTyrant::vanish ( ) : mixed
}

Índice

  • TokyoTyrantIterator::__construct — Construct an iterator
  • TokyoTyrantIterator::current — Get the current value
  • TokyoTyrantIterator::key — Returns the current key
  • TokyoTyrantIterator::next — Move to next key
  • TokyoTyrantIterator::rewind — Rewinds the iterator
  • TokyoTyrantIterator::valid — Rewinds the iterator


Construct an iterator

  • « TokyoTyrantIterator
  • TokyoTyrantIterator::current »
  • PHP Manual
  • TokyoTyrantIterator
  • Construct an iterator

TokyoTyrantIterator::__construct

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::__construct — Construct an iterator

Descrição

public TokyoTyrantIterator::__construct ( mixed $object )

Construct a new TokyoTyrantIterator object. One connection can have multiple iterators but it is not quaranteed that all items are traversed in that case. object parameter can be either an of instance TokyoTyrant or TokyoTyrantTable.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Throws an exception if iterator initialization fails.

Exemplos

Exemplo #1 TokyoTyrantIterator::__construct() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Construct an iterator */
$it = new TokyoTyrantIterator($tt);

foreach ($it as $value) {
    var_dump($value);
}
?>

O exemplo acima irá imprimir:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}

Veja Também

  • TokyoTyrantIterator::key() - Returns the current key
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind() - Rewinds the iterator
  • TokyoTyrantIterator::key() - Returns the current key


Get the current value

  • « TokyoTyrantIterator::__construct
  • TokyoTyrantIterator::key »
  • PHP Manual
  • TokyoTyrantIterator
  • Get the current value

TokyoTyrantIterator::current

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::current — Get the current value

Descrição

public TokyoTyrantIterator::current ( ) : mixed

Returns the current value during iteration.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current value on success and false on failure.

Veja Também

  • TokyoTyrantIterator::valid() - Rewinds the iterator
  • TokyoTyrantIterator::key() - Returns the current key
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind() - Rewinds the iterator


Returns the current key

  • « TokyoTyrantIterator::current
  • TokyoTyrantIterator::next »
  • PHP Manual
  • TokyoTyrantIterator
  • Returns the current key

TokyoTyrantIterator::key

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::key — Returns the current key

Descrição

public TokyoTyrantIterator::key ( ) : mixed

Returns the current key.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current key on success and false on failure.

Veja Também

  • TokyoTyrantIterator::valid() - Rewinds the iterator
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind() - Rewinds the iterator


Move to next key

  • « TokyoTyrantIterator::key
  • TokyoTyrantIterator::rewind »
  • PHP Manual
  • TokyoTyrantIterator
  • Move to next key

TokyoTyrantIterator::next

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::next — Move to next key

Descrição

public TokyoTyrantIterator::next ( ) : mixed

Move to next key during iteration and return it's value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the next value on success and false on failure.

Veja Também

  • TokyoTyrantIterator::valid() - Rewinds the iterator
  • TokyoTyrantIterator::key() - Returns the current key
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::rewind() - Rewinds the iterator


Rewinds the iterator

  • « TokyoTyrantIterator::next
  • TokyoTyrantIterator::valid »
  • PHP Manual
  • TokyoTyrantIterator
  • Rewinds the iterator

TokyoTyrantIterator::rewind

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::rewind — Rewinds the iterator

Descrição

public TokyoTyrantIterator::rewind ( ) : void

Rewinds the iterator for new iteration. Called automatically at the beginning of foreach.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Throws TokyoTyrantException if iterator initialization fails.

Veja Também

  • TokyoTyrantIterator::valid() - Rewinds the iterator
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind()


Rewinds the iterator

  • « TokyoTyrantIterator::rewind
  • TokyoTyrantException »
  • PHP Manual
  • TokyoTyrantIterator
  • Rewinds the iterator

TokyoTyrantIterator::valid

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::valid — Rewinds the iterator

Descrição

public TokyoTyrantIterator::valid ( ) : bool

Checks whether the internal pointer points to valid element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the current item is valid and false if not.

Veja Também

  • TokyoTyrantIterator::key() - Returns the current key
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind() - Rewinds the iterator


The TokyoTyrantException class

(PECL tokyo_tyrant >= 0.1.0)

Introdução

TokyoTyrantException

Sinopse da classe

tokyotyrantexception extends Exception {
/* Propriedades */
protected int $code ;
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Propriedades

code

The exception code. This can be compared to TokyoTyrant::TTE_* constants


Extensões Relacionadas a Data e Hora

  • Calendário
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Calendário Funções
  • Data/Hora — Data e Hora
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • DateTime — A classe DateTime
    • DateTimeImmutable — A classe DateTimeImmutable
    • DateTimeInterface — A interface DateTimeInterface
    • DateTimeZone — A classe DateTimeZone
    • DateInterval — A classe DateInterval
    • DatePeriod — A classe DatePeriod
    • Funções de Data/Hora
    • Formatos de Data e Hora Suportados
    • Lista de Fusos Horários Suportados
  • HRTime — High resolution timing
    • Introdução
    • Instalação/Configuração
    • Exemplos
    • HRTime\PerformanceCounter — The HRTime\PerformanceCounter class
    • HRTime\StopWatch — The HRTime\StopWatch class
    • HRTime\Unit — The HRTime\Unit class


Calendário

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Calendário Funções
    • cal_days_in_month — Retorna o número de dias em um mês de um calendário e ano requisitado
    • cal_from_jd — Converte à partir do "Julian Day Count" para um outro calendário suportado
    • cal_info — Retorna informações sobre um calendário em particular
    • cal_to_jd — Converte um calendário (suportado) para o calendário "Julian Day Count"
    • easter_date — Retorna a data do sistema UNIX correspondente à meia-noite da Páscoa do ano especificado. Se nenhum ano tiver sido especificado, será assumido o ano atual.
    • easter_days — Obtém o número de dias entre 21 de Março e o dia da Páscoa em determinado ano.
    • FrenchToJD — Converte uma data do calendário Republicano da França para o calendário "Julian Day Count".
    • GregorianToJD — Converte uma data gregoriana para o "Julian Day Count"
    • JDDayOfWeek — Retorna o dia da semana
    • JDMonthName — Retorna o nome de um mês
    • JDToFrench — Converte do calendário "Julian Day Count" para o calendário Republicano Francês
    • JDToGregorian — Converte uma data no formato "Julian Day Count" para o formato Gregoriano
    • jdtojewish — Convete uma data do calendário "Julian Day Count" para o calendário Judaico
    • JDToJulian — Converte uma data do calendário "Julian Day Count" para o calendário "Julian"
    • jdtounix — Converte do formato de dada Juliana para Unix timestamp
    • JewishToJD — Converte uma data do calendário Judaico para o calendário "Julian Day Count"
    • JulianToJD — Converte datas no formato "Julian" para o formato "Julian Day Count"
    • unixtojd — Converte datas do sistema Unix para data Juliana


Introdução

A extensão de calendário contém uma série de funções para simplificar a conversão de diferentes formatos de calendários. O calendário padrão é baseado no formato "Julian Day Count". A contagem de dias do calendário "Julian Day Count" começa em 1º de Janeiro de 4713 B.C. Para converter um calendário para algum formato, você deve primeiro convertê-lo para o formato "Julian Day Count", então converter para o sistema de calendário de sua escolha. O formato de calendário "Julian Day Count" é muito diferente do "Julian Calendar"! Para mais informações sobre o calendário "Julian Day Count", visite » http://www.hermetic.ch/cal_stud/jdn.htm. Para mais informações sobre sistemas de calendários, visite: » http://www.fourmilab.ch/documents/calendar/. "Excerpts from this page are included in these instructions, and are in quotes".


Instalação

Para estas funções funcionarem, você precisa compilar o PHP com --enable-calendar.

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

CAL_GREGORIAN (integer)
CAL_JULIAN (integer)
CAL_JEWISH (integer)
CAL_FRENCH (integer)
CAL_NUM_CALS (integer)
CAL_DOW_DAYNO (integer)
CAL_DOW_SHORT (integer)
CAL_DOW_LONG (integer)
CAL_MONTH_GREGORIAN_SHORT (integer)
CAL_MONTH_GREGORIAN_LONG (integer)
CAL_MONTH_JULIAN_SHORT (integer)
CAL_MONTH_JULIAN_LONG (integer)
CAL_MONTH_JEWISH (integer)
CAL_MONTH_FRENCH (integer)

As constantes abaixo estão disponíveis à partir do PHP 4.3.0:

CAL_EASTER_DEFAULT (integer)
CAL_EASTER_ROMAN (integer)
CAL_EASTER_ALWAYS_GREGORIAN (integer)
CAL_EASTER_ALWAYS_JULIAN (integer)

As constantes abaixo estão disponíveis à partir do PHP 5.0.0:

CAL_JEWISH_ADD_ALAFIM_GERESH (integer)
CAL_JEWISH_ADD_ALAFIM (integer)
CAL_JEWISH_ADD_GERESHAYIM (integer)


Calendário Funções

Índice

  • cal_days_in_month — Retorna o número de dias em um mês de um calendário e ano requisitado
  • cal_from_jd — Converte à partir do "Julian Day Count" para um outro calendário suportado
  • cal_info — Retorna informações sobre um calendário em particular
  • cal_to_jd — Converte um calendário (suportado) para o calendário "Julian Day Count"
  • easter_date — Retorna a data do sistema UNIX correspondente à meia-noite da Páscoa do ano especificado. Se nenhum ano tiver sido especificado, será assumido o ano atual.
  • easter_days — Obtém o número de dias entre 21 de Março e o dia da Páscoa em determinado ano.
  • FrenchToJD — Converte uma data do calendário Republicano da França para o calendário "Julian Day Count".
  • GregorianToJD — Converte uma data gregoriana para o "Julian Day Count"
  • JDDayOfWeek — Retorna o dia da semana
  • JDMonthName — Retorna o nome de um mês
  • JDToFrench — Converte do calendário "Julian Day Count" para o calendário Republicano Francês
  • JDToGregorian — Converte uma data no formato "Julian Day Count" para o formato Gregoriano
  • jdtojewish — Convete uma data do calendário "Julian Day Count" para o calendário Judaico
  • JDToJulian — Converte uma data do calendário "Julian Day Count" para o calendário "Julian"
  • jdtounix — Converte do formato de dada Juliana para Unix timestamp
  • JewishToJD — Converte uma data do calendário Judaico para o calendário "Julian Day Count"
  • JulianToJD — Converte datas no formato "Julian" para o formato "Julian Day Count"
  • unixtojd — Converte datas do sistema Unix para data Juliana


Retorna o número de dias em um mês de um calendário e ano requisitado

  • « Calendário Funções
  • cal_from_jd »
  • PHP Manual
  • Calendário Funções
  • Retorna o número de dias em um mês de um calendário e ano requisitado

cal_days_in_month

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

cal_days_in_month — Retorna o número de dias em um mês de um calendário e ano requisitado

Descrição

cal_days_in_month ( int $calendar , int $month , int $year ) : int

Esta função irá retornar o número de dias em um month do year para o calendar especificado.

Parâmetros

calendar

Calendário para usar no cálculo

month

Mês a ser selecionado no calendário

year

Ano no selecionado calendário

Valor Retornado

A quantidade de dias do selecionado mês no dado calendário

Exemplos

Exemplo #1 Exemplo da cal_days_in_month()

<?php
$numero = cal_days_in_month(CAL_GREGORIAN, 8, 2003); // 31
echo "Houve {$numero} dias em Agosto de 2003";
?>


Converte à partir do "Julian Day Count" para um outro calendário suportado

  • « cal_days_in_month
  • cal_info »
  • PHP Manual
  • Calendário Funções
  • Converte à partir do "Julian Day Count" para um outro calendário suportado

cal_from_jd

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

cal_from_jd — Converte à partir do "Julian Day Count" para um outro calendário suportado

Descrição

cal_from_jd ( int $jd , int $calendário ) : array

cal_from_jd() converte do "Julian Day Count" ( jd) para uma data de um calendário especificado. Os valores dos calendários suportados são CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH e CAL_FRENCH.

Exemplo #1 cal_from_jd() exemplo

<?php
$hoje = unixtojd(mktime(0, 0, 0, 8, 16, 2003));
print_r(cal_from_jd($hoje, CAL_GREGORIAN));
?>

Este código retorna:

Array
(
    [date] => 8/16/2003
    [month] => 8
    [day] => 16
    [year] => 2003
    [dow] => 6
    [abbrevdayname] => Sat
    [dayname] => Saturday
    [abbrevmonth] => Aug
    [monthname] => August
)

Veja também cal_to_jd().


Retorna informações sobre um calendário em particular

  • « cal_from_jd
  • cal_to_jd »
  • PHP Manual
  • Calendário Funções
  • Retorna informações sobre um calendário em particular

cal_info

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

cal_info — Retorna informações sobre um calendário em particular

Descrição

cal_info ( int $calendar = ? ) : array

cal_info() retorna as informações de um calendar. Os nomes de diferentes calendários que podem ser usados como calendar são os seguintes:

  • 0 ou CAL_GREGORIAN - Gregorian Calendar
  • 1 ou CAL_JULIAN - Julian Calendar
  • 2 ou CAL_JEWISH - Jewish Calendar
  • 3 ou CAL_FRENCH - French Revolutionary Calendar

A informação do calendário especificado é retornada em um array contendo os elementos calname, calsymbol, month, abbrevmonth e maxdaysinmonth.

Se nenhum calendário foi especificado as informações de todos os calendários suportados são retornadas em um array.

Parâmetros

calendar

Calendário a ser retornado informação. Se nenhuma informação de calendário é especificada, todos calendários são retornados.

Valor Retornado

Changelog

Versão | Descrição
Desde o 5.0 | O parâmetro calendar é opcional e o padrão é "todos calendários" se omitido.

Exemplos

Exemplo #1 Exemplo de cal_info()

<?php
$info = cal_info(0);
print_r($info);
?>

O exemplo acima irá imprimir:

Array
(
    [months] => Array
        (
            [1] => January
            [2] => February
            [3] => March
            [4] => April
            [5] => May
            [6] => June
            [7] => July
            [8] => August
            [9] => September
            [10] => October
            [11] => November
            [12] => December
        )

    [abbrevmonths] => Array
        (
            [1] => Jan
            [2] => Feb
            [3] => Mar
            [4] => Apr
            [5] => May
            [6] => Jun
            [7] => Jul
            [8] => Aug
            [9] => Sep
            [10] => Oct
            [11] => Nov
            [12] => Dec
        )

    [maxdaysinmonth] => 31
    [calname] => Gregorian
    [calsymbol] => CAL_GREGORIAN
)


Converte um calendário (suportado) para o calendário "Julian Day Count"

  • « cal_info
  • easter_date »
  • PHP Manual
  • Calendário Funções
  • Converte um calendário (suportado) para o calendário "Julian Day Count"

cal_to_jd

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

cal_to_jd — Converte um calendário (suportado) para o calendário "Julian Day Count"

Descrição

cal_to_jd ( int $calendar , int $month , int $day , int $year ) : int

cal_to_jd() calcula uma data em formato "Julian Day Count" à partir de um calendar suportado especificado. Os calendar suportados são: CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH e CAL_FRENCH.

Parâmetros

calendar

Calendário para converter, um dos CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH ou CAL_FRENCH.

month

O mês como um número, o intervalo válido depende do calendar

day

O dia como um número, o intervalo válido depende do calendar

year

O ano como um número, o intervalo válido depende do calendar

Valor Retornado

Um número de data juliana.

Veja Também

  • cal_from_jd() - Converte à partir do "Julian Day Count" para um outro calendário suportado
  • frenchtojd() - Converte uma data do calendário Republicano da França para o calendário "Julian Day Count".
  • gregoriantojd() - Converte uma data gregoriana para o "Julian Day Count"
  • jewishtojd() - Converte uma data do calendário Judaico para o calendário "Julian Day Count"
  • juliantojd() - Converte datas no formato "Julian" para o formato "Julian Day Count"
  • unixtojd() - Converte datas do sistema Unix para data Juliana


Retorna a data do sistema UNIX correspondente à meia-noite da Páscoa do ano especificado. Se nenhum ano tiver sido especificado, será assumido o ano atual.

  • « cal_to_jd
  • easter_days »
  • PHP Manual
  • Calendário Funções
  • Retorna a data do sistema UNIX correspondente à meia-noite da Páscoa do ano especificado. Se nenhum ano tiver sido especificado, será assumido o ano atual.

easter_date

(PHP 4, PHP 5, PHP 7, PHP 8)

easter_date — Retorna a data do sistema UNIX correspondente à meia-noite da Páscoa do ano especificado. Se nenhum ano tiver sido especificado, será assumido o ano atual.

Descrição

easter_date ( int $ano = ? ) : int

Retorna a data do sistema UNIX correspondente à meia-noite da Páscoa do ano especificado. Se nenhum ano tiver sido especificado, será assumido o ano atual.

À partir da versão 4.3.0 PHP, e se omitido o parâmetro ano, o padrão assumido é o ano atual de acordo com a hora local.

Aviso Esta função irá gerar um aviso se o ano está fora do padrão de datas do sistema UNIX (i.e. antes de 1970 ou após 2037).

Exemplo #1 easter_date() exemplo

<?php

echo date ("M-d-Y", easter_date(1999));        // Apr-04-1999
echo date ("M-d-Y", easter_date(2000));        // Apr-23-2000
echo date ("M-d-Y", easter_date(2001));        // Apr-15-2001

?>

A data da Páscoa foi definida pelo Conselho de Nicaea em DC325 como sendo o primeiro domingo após a primeira lua cheia que cai no equinócio da primavera ou depois dele. O equinócio geralmente cai perto do 21º de Março, logo, o cálculo resume-se à determinar a data da lua cheia e a data do seguinte domingo. O algoritmo usado aqui foi feito no ano 532 por Dionysius Exiguus. De acordo com o calendário "Julian" (para anos anterioris à 1753) um simples ciclo de 19-anos é usado para seguir as fases da lua. De acordo com o Calendário Gregoriano (para antes após 1753 - planejado por Clavius e por Lilius, e feito por Pope Gregory XIII em Outubro de 1582, e na Grã Bretanha e suas colônias em Setembro de 1752), duas correções fatoriais foram adicionadas para fazer o ciclo mais exato.

(O código é baseado em um programa feito em C por Simon Kershaw, <webmaster@ely.anglican.org>)

Veja easter_days() para calcular a Páscoa antes de 1970 ou após 2037.


Obtém o número de dias entre 21 de Março e o dia da Páscoa em determinado ano.

  • « easter_date
  • FrenchToJD »
  • PHP Manual
  • Calendário Funções
  • Obtém o número de dias entre 21 de Março e o dia da Páscoa em determinado ano.

easter_days

(PHP 4, PHP 5, PHP 7, PHP 8)

easter_days — Obtém o número de dias entre 21 de Março e o dia da Páscoa em determinado ano.

Description

easter_days ( int $ano = ? , int $método = ? ) : int

Retorna o número de dias entre 21 de Março e o dia da Páscoa em determinado ano. Se nenhum ano tiver sido especificado, será assumido o ano atual.

À partir da versão 4.3.0 do PHP, o parâmetro ano é opcional e se for omitido o padrão assumido é o ano atual de acrodo com o hora local.

O parâmetro método está disponível à partir da versão 4.3.0 do PHP e perimite calcular as datas da Páscoa baseadas no calendário Gregoriano durante os anos 1582 - 1752 quando a constante CAL_EASTER_ROMAN está ligada. Veja as constantes de calendário para obter outras constantes válidas.

Ao invés de usar a função easter_date(), você pode usar esta função para calcular a Páscoa em anos que estão fora da escala de datas do sistema UNIX (i.e. antes de 1970 ou após 2037).

Exemplo #1 easter_days() exemplo

<?php

echo easter_days (1999);        // 14, i.e. April 4
echo easter_days (1492);        // 32, i.e. April 22
echo easter_days (1913);        //  2, i.e. March 23

?>

A data da Páscoa foi definida pelo Conselho de Nicaea em DC325 como sendo o primeiro domingo após a primeira lua cheia que cai no equinócio da primavera ou depois dele. O equinócio geralmente cai perto do 21º de Março, logo, o cálculo resume-se à determinar a data da lua cheia e a data do seguinte domingo. O algoritmo usado aqui foi feito no ano 532 por Dionysius Exiguus. De acordo com o calendário "Julian" (para anos anterioris à 1753) um simples ciclo de 19-anos é usado para seguir as fases da lua. De acordo com o Calendário Gregoriano (para antes após 1753 - planejado por Clavius e por Lilius, e feito por Pope Gregory XIII em Outubro de 1582, e na Grã Bretanha e suas colônias em Setembro de 1752), duas correções fatoriais foram adicionadas para fazer o ciclo mais exato.

(O código é baseado em um programa feito em C por Simon Kershaw, <webmaster@ely.anglican.org>)

Veja também easter_date().


Converte uma data do calendário Republicano da França para o calendário "Julian Day Count".

  • « easter_days
  • GregorianToJD »
  • PHP Manual
  • Calendário Funções
  • Converte uma data do calendário Republicano da França para o calendário "Julian Day Count".

FrenchToJD

(PHP 4, PHP 5, PHP 7, PHP 8)

FrenchToJD — Converte uma data do calendário Republicano da França para o calendário "Julian Day Count".

Descrição

frenchtojd ( int $mês , int $dia , int $ano ) : int

Converte uma data do calendário Republicano da França para o calendário "Julian Day Count".

Estas rotinas somente converte datas entre os anos de 1 até 14 (datas Gregorianas de 22 de Setembro de 1792 até 22 de Setembro de 1806). "This more than covers the period when the calendar was in use."


Converte uma data gregoriana para o "Julian Day Count"

  • « FrenchToJD
  • JDDayOfWeek »
  • PHP Manual
  • Calendário Funções
  • Converte uma data gregoriana para o "Julian Day Count"

GregorianToJD

(PHP 4, PHP 5, PHP 7, PHP 8)

GregorianToJD — Converte uma data gregoriana para o "Julian Day Count"

Descrição

gregoriantojd ( int $month , int $day , int $year ) : int

Escala válida para o Calendário Gregoriano: 4714 A.C. to 9999 D.C.

Entretanto esta função pode trabalhar com todas datas anteriores à, porém usá-la desta maneira não tem muito sentido. O Calendário Gregoriano não foi instituído até 15 de Outubro de 1582 (ou 5 de Outubro de 1582, no calendário JDC ("Julian Day Count")). Alguns países aceitaram este calendário um pouco mais tarde. Por exemplo, a Grã Bretanha converteu-se em 1752, a URSS em 1918 e a Grécia em 1923. A maioria dos países Europeus usaram o calendário "Julian" (JDC) antes do calendário Gregoriano.

Parâmetros

month

O mês como um número entre 1 (para janeiro) e 12 (para dezembro)

day

O dia como um número entre 1 e 31

year

O ano como um número entre -4714 e 9999

Valor Retornado

A data juliana para a dada data gregoriana como um inteiro.

Exemplos

Exemplo #1 Funções de Calendário

<?php
$jd = GregorianToJD (10,11,1970);
echo "$jd\n";
$gregorian = JDToGregorian ($jd);
echo "$gregorian\n";
?>

Veja Também

  • jdtogregorian() - Converte uma data no formato "Julian Day Count" para o formato Gregoriano
  • cal_to_jd() - Converte um calendário (suportado) para o calendário "Julian Day Count"


Retorna o dia da semana

  • « GregorianToJD
  • JDMonthName »
  • PHP Manual
  • Calendário Funções
  • Retorna o dia da semana

JDDayOfWeek

(PHP 4, PHP 5, PHP 7, PHP 8)

JDDayOfWeek — Retorna o dia da semana

Descrição

jddayofweek ( int $julianday , int $mode = ? ) : mixed

Retorna o dia da semana. Pode retornar uma "string" ou um inteiro dependendo do modo utilizado.

Parâmetros

julianday

Um número de data juliana como inteiro

mode
Calendários da semana (modos)
Modo | Significado
0 (Padrão) | Retorna o dia da semana como sendo um número inteiro (0=domingo, 1=segunda, etc.)
1 | Retorna uma string contendo o dia da semana (Inglês-gregoriano)
2 | Retorna uma "string" contendo a abreviação do dia da semana (Inglês-gregoriano)

Valor Retornado

Um dia da semana gregoriano com um inteiro ou string.


Retorna o nome de um mês

  • « JDDayOfWeek
  • JDToFrench »
  • PHP Manual
  • Calendário Funções
  • Retorna o nome de um mês

JDMonthName

(PHP 4, PHP 5, PHP 7, PHP 8)

JDMonthName — Retorna o nome de um mês

Descrição

jdmonthname ( int $julianday , int $mode ) : string

Retorna uma "string" contendo o nome do mês. O parâmetro mode diz à função qual calendário será convertido para o formato "Julian Day Count", e o tipo do nome do mês.

Calendário (modos)
Modo | Significado | Valores
0 | Gregoriano - abreviado | Jan, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez
1 | Gregoriano | Janeiro, Fevereiro, Março, Abril, Maio, Junho, Julho, Agosto, Setembro, Outubro, Novembro, Dezembro
2 | "Julian" - abreviado | Jan, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez
3 | "Julian" | Janeiro, Fevereiro, Março, Abril, Maio, Junho, Julho, Agosto, Setembro, Outubro, Novembro, Dezembro
4 | Judeu | Tishri, Heshvan, Kislev, Tevet, Shevat, AdarI, AdarII, Nisan, Iyyar, Sivan, Tammuz, Av, Elul
5 | Republicano Francês | Vendemiaire, Brumaire, Frimaire, Nivose, Pluviose, Ventose, Germinal, Floreal, Prairial, Messidor, Thermidor, Fructidor, Extra

Parâmetros

jday

A data juliana

calendar

O calendário para obter o nome do mês

Valor Retornado

O nome do mês para a dada data juliana e calendar.


Converte do calendário "Julian Day Count" para o calendário Republicano Francês

  • « JDMonthName
  • JDToGregorian »
  • PHP Manual
  • Calendário Funções
  • Converte do calendário "Julian Day Count" para o calendário Republicano Francês

JDToFrench

(PHP 4, PHP 5, PHP 7, PHP 8)

JDToFrench — Converte do calendário "Julian Day Count" para o calendário Republicano Francês

Descrição

jdtofrench ( int $juliandaycount ) : string

Converte do calendário "Julian Day Count" para o calendário Republicano Francês

Parâmetros

julianday

Um número de data Juliana como inteiro

Valor Retornado

A data republicana francesa como uma string no formato "mês/dia/ano"

Veja Também

  • frenchtojd() - Converte uma data do calendário Republicano da França para o calendário "Julian Day Count".
  • cal_from_jd() - Converte à partir do "Julian Day Count" para um outro calendário suportado


Converte uma data no formato "Julian Day Count" para o formato Gregoriano

  • « JDToFrench
  • jdtojewish »
  • PHP Manual
  • Calendário Funções
  • Converte uma data no formato "Julian Day Count" para o formato Gregoriano

JDToGregorian

(PHP 4, PHP 5, PHP 7, PHP 8)

JDToGregorian — Converte uma data no formato "Julian Day Count" para o formato Gregoriano

Descrição

jdtogregorian ( int $julianday ) : string

Converte "Julian Day Count" para uma "string" contendo a data em formato Gregoriano "mês/dia/ano".

Parâmetros

julianday

O número de uma data Juliana como inteiro

Valor Retornado

A data gregoriana no formato "mês/dia/ano"

Veja Também

  • gregoriantojd() - Converte uma data gregoriana para o "Julian Day Count"
  • cal_from_jd() - Converte à partir do "Julian Day Count" para um outro calendário suportado


Convete uma data do calendário "Julian Day Count" para o calendário Judaico

  • « JDToGregorian
  • JDToJulian »
  • PHP Manual
  • Calendário Funções
  • Convete uma data do calendário "Julian Day Count" para o calendário Judaico

jdtojewish

(PHP 4, PHP 5, PHP 7, PHP 8)

jdtojewish — Convete uma data do calendário "Julian Day Count" para o calendário Judaico

Descrição

jdtojewish ( int $juliandaycount , bool $hebrew = ? , int $fl = ? ) : string

Convete uma data do calendário "Julian Day Count" para o calendário Judaico

Os parâmetros hebrew e fl são opcionais e estarão disponíveis na versão do PHP 5.0.0

Se o parâmetro hebrew for true, o parâmetro fl a "string" de saída de dados é baseada no formato "hebrew". Os formatos disponíveis são: CAL_JEWISH_ADD_ALAFIM_GERESH, CAL_JEWISH_ADD_ALAFIM, CAL_JEWISH_ADD_GERESHAYIM.

Exemplo #1 jdtojewish() Exemplo

<?php
echo jdtojewish(gregoriantojd(10,8,2002), true,
       CAL_JEWISH_ADD_GERESHAYIM + CAL_JEWISH_ADD_ALAFIM + CAL_JEWISH_ADD_ALAFIM_GERESH);
?>


Converte uma data do calendário "Julian Day Count" para o calendário "Julian"

  • « jdtojewish
  • jdtounix »
  • PHP Manual
  • Calendário Funções
  • Converte uma data do calendário "Julian Day Count" para o calendário "Julian"

JDToJulian

(PHP 4, PHP 5, PHP 7, PHP 8)

JDToJulian — Converte uma data do calendário "Julian Day Count" para o calendário "Julian"

Descrição

jdtojulian ( int $julianday ) : string

Converte "Julian Day Count" para uma "string" contendo a data do calendário "Julian" no formato "mês/dia/ano".

Parâmetros

julianday

O número de uma data Juliana como inteiro

Valor Retornado

A data Juliana como uma string no formato "mês/dia/ano"

Veja Também

  • juliantojd() - Converte datas no formato "Julian" para o formato "Julian Day Count"
  • cal_from_jd() - Converte à partir do "Julian Day Count" para um outro calendário suportado


Converte do formato de dada Juliana para Unix timestamp

  • « JDToJulian
  • JewishToJD »
  • PHP Manual
  • Calendário Funções
  • Converte do formato de dada Juliana para Unix timestamp

jdtounix

(PHP 4, PHP 5, PHP 7, PHP 8)

jdtounix — Converte do formato de dada Juliana para Unix timestamp

Descrição

jdtounix ( int $jday ) : int

Esta função irá retorna a data do sistema Unix correspondente ao "Julian Day" especificado no parâmetro jday ou false se jday não está dentre a escala de datas Unix (Anos Gregorianos entre 1970 e 2037 ou 2440588 <= jday <= 2465342). A hora retornada é a hora local (e não a GMT).

Parâmetros

jday

O número de um data juliana entre 2440588 e 2465342.

Valor Retornado

O unix timestamp para o ínicio da dada data juliana.

Veja Também

  • unixtojd() - Converte datas do sistema Unix para data Juliana


Converte uma data do calendário Judaico para o calendário "Julian Day Count"

  • « jdtounix
  • JulianToJD »
  • PHP Manual
  • Calendário Funções
  • Converte uma data do calendário Judaico para o calendário "Julian Day Count"

JewishToJD

(PHP 4, PHP 5, PHP 7, PHP 8)

JewishToJD — Converte uma data do calendário Judaico para o calendário "Julian Day Count"

Descrição

jewishtojd ( int $month , int $day , int $year ) : int

Entretanto esta função suporta datas anteriores ao ano 1 (3761 A.C.), porém tal uso não faz sentido. O calendário Judaico vem sendo usado por centenas de anos, porém os primeiros dias não tem uma fórmula que determina qual é o começo do mês. Um novo mês começa quando uma lua nova é vista.

Parâmetros

month

O mês como um número entre 1 e 13

day

O dia como um número entre 1 e 30

year

O ano como um número entre 1 e 9999

Valor Retornado

A data juliana para a dada data judaica como um inteiro.

Veja Também

  • jdtojewish() - Convete uma data do calendário "Julian Day Count" para o calendário Judaico
  • cal_to_jd() - Converte um calendário (suportado) para o calendário "Julian Day Count"


Converte datas no formato "Julian" para o formato "Julian Day Count"

  • « JewishToJD
  • unixtojd »
  • PHP Manual
  • Calendário Funções
  • Converte datas no formato "Julian" para o formato "Julian Day Count"

JulianToJD

(PHP 4, PHP 5, PHP 7, PHP 8)

JulianToJD — Converte datas no formato "Julian" para o formato "Julian Day Count"

Descrição

juliantojd ( int $month , int $day , int $year ) : int

O Calendário "Julian" vai de 4713 A.C. até 9999 D.C.

Entretanto esta função trabalha com datas anteriores à 4713 A.C, porém tal uso não faz muito sentido. O calendário foi criado em 46 A.C., mas os detalhes não foram padronizados até o ano 8 D.C., e talvez mais tarde no 4º século. Além disso, o começo do ano variou de uma cultura para outra - nem todas aceitaram o Janeiro como sendo o primeiro mês.

Cuidado

Lembre-se, o sistema atual de calendário que é usado mundialmente é o Gregoriano. A função gregoriantojd() pode ser usada para converter datas no formato Gregoriano para o formato "Julian Day Count".

Parâmetros

month

O mês como um número entre 1 (para janeiro) a 12 (para dezembro)

day

O dia como um número entre 1 a 31

year

O ano como um número entre -4713 a 9999

Valor Retornado

A data Juliana para a dada data Juliana como um inteiro.

Veja Também

  • jdtojulian() - Converte uma data do calendário "Julian Day Count" para o calendário "Julian"
  • cal_to_jd() - Converte um calendário (suportado) para o calendário "Julian Day Count"


Converte datas do sistema Unix para data Juliana

  • « JulianToJD
  • Data/Hora »
  • PHP Manual
  • Calendário Funções
  • Converte datas do sistema Unix para data Juliana

unixtojd

(PHP 4, PHP 5, PHP 7, PHP 8)

unixtojd — Converte datas do sistema Unix para data Juliana

Descrição

unixtojd ( int $timestamp = ? ) : int

Retorna a data Juliana para um Unix timestamp (segundos desde 1.1.1970), ou para o dia atual se nenhum timestamp for especificado.

Parâmetros

timestamp

Um timestamp para converter.

Valor Retornado

Um número de data Juliana como inteiro.

Veja Também

  • jdtounix() - Converte do formato de dada Juliana para Unix timestamp


Data e Hora

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • DateTime — A classe DateTime
    • DateTime::add — Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime
    • DateTime::__construct — Retorna um novo objeto DateTime
    • DateTime::createFromFormat — Retorna um novo objeto DateTime formatado de acordo com um formato informado
    • DateTime::createFromImmutable — Returns new DateTime object encapsulating the given DateTimeImmutable object
    • DateTime::createFromInterface — Returns new DateTime object encapsulating the given DateTimeInterface object
    • DateTime::getLastErrors — Retorna os avisos e erros
    • DateTime::modify — Altera o timestamp
    • DateTime::__set_state — O manipulador __set_state
    • DateTime::setDate — Define a data
    • DateTime::setISODate — Define uma data ISO
    • DateTime::setTime — Define o horário
    • DateTime::setTimestamp — Define a data e hora baseada em um timestamp Unix
    • DateTime::setTimezone — Define o fuso horário de um objeto DateTime
    • DateTime::sub — Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime
  • DateTimeImmutable — A classe DateTimeImmutable
    • DateTimeImmutable::add — Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos
    • DateTimeImmutable::__construct — Retorna um novo objeto DateTimeImmutable
    • DateTimeImmutable::createFromFormat — Retorna um novo objeto DateTimeImmutable formatado de acordo com um formato informado
    • DateTimeImmutable::createFromInterface — Returns new DateTimeImmutable object encapsulating the given DateTimeInterface object
    • DateTimeImmutable::createFromMutable — Retorna um novo objeto DateTimeImmutable que encapsula um objeto DateTime informado
    • DateTimeImmutable::getLastErrors — Retorna os avisos e erros
    • DateTimeImmutable::modify — Cria um novo objeto com seu timestamp modificado
    • DateTimeImmutable::__set_state — O manipulador __set_state
    • DateTimeImmutable::setDate — Define a data
    • DateTimeImmutable::setISODate — Define a data ISO
    • DateTimeImmutable::setTime — Define um horário
    • DateTimeImmutable::setTimestamp — Define a data e ghora baseado em um timestamp Unix
    • DateTimeImmutable::setTimezone — Define o fuso horário
    • DateTimeImmutable::sub — Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos
  • DateTimeInterface — A interface DateTimeInterface
    • DateTime::diff — Retorna a diferença entre dois objetos DateTime
    • DateTime::format — Retorna a data formada de acordo com um formato informado
    • DateTime::getOffset — Retorna o deslocamento do fuso horário
    • DateTime::getTimestamp — Obtém o timestamp Unix
    • DateTime::getTimezone — Retorna o fuso horário corresponde a um DateTime informado
    • DateTime::__wakeup — O manipulador __wakeup
  • DateTimeZone — A classe DateTimeZone
    • DateTimeZone::__construct — Cria um novo objeto DateTimeZone
    • DateTimeZone::getLocation — Retorna informações da localização de um fuso horário
    • DateTimeZone::getName — Retorna o nome do fuso horário
    • DateTimeZone::getOffset — Retorna o deslocamento do fuso horário ao Horário de Greenwish (GMT)
    • DateTimeZone::getTransitions — Retorna todas as transições do fuso horário
    • DateTimeZone::listAbbreviations — Retorna um fuso horário contendo o indicativo do horário de verão(dst), o deslocamento e nome do fuso horário
    • DateTimeZone::listIdentifiers — Retorna um array numericamente indexado contendo todos os indenticadores de fuso horário
  • DateInterval — A classe DateInterval
    • DateInterval::__construct — Cria um novo objeto DateInterval
    • DateInterval::createFromDateString — Cria um DateInterval de porções relativas da string
    • DateInterval::format — Formata um intervalo
  • DatePeriod — A classe DatePeriod
    • DatePeriod::__construct — Cria um novo objeto DatePeriod
    • DatePeriod::getDateInterval — Gets the interval
    • DatePeriod::getEndDate — Gets the end date
    • DatePeriod::getRecurrences — Gets the number of recurrences
    • DatePeriod::getStartDate — Gets the start date
  • Funções de Data/Hora
    • checkdate — Valida uma data Gregoriana
    • date_add — Sinônimo de DateTime::add
    • date_create_from_format — Sinônimo de DateTime::createFromFormat
    • date_create_immutable_from_format — Sinônimo de DateTimeImmutable::createFromFormat
    • date_create_immutable — Sinônimo de DateTimeImmutable::__construct
    • date_create — Sinônimo de DateTime::__construct
    • date_date_set — Sinônimo de DateTime::setDate
    • date_default_timezone_get — Retorna o fuso horário padrão usado por todas as funções de data e tempo em um script
    • date_default_timezone_set — Configura o fuso horário padrão utilizado por todas as funções de data e hora em um script
    • date_diff — Sinônimo de DateTime::diff
    • date_format — Sinônimo de DateTime::format
    • date_get_last_errors — Sinônimo de DateTime::getLastErrors
    • date_interval_create_from_date_string — Sinônimo de DateInterval::createFromDateString
    • date_interval_format — Sinônimo de DateInterval::format
    • date_isodate_set — Sinônimo de DateTime::setISODate
    • date_modify — Sinônimo de DateTime::modify
    • date_offset_get — Sinônimo de DateTime::getOffset
    • date_parse_from_format — Retorna informações sobre uma data informada de acordo com um formato
    • date_parse — Retorna um array associativo com informações detalhadas da data informada
    • date_sub — Sinônimo de DateTime::sub
    • date_sun_info — Retorna um array com informações sobre pôr do sol/nascer do sol e o início/fim do dia
    • date_sunrise — Retorna a hora do nascer do sol de um dia e localicação informada
    • date_sunset — Retorna a hora do pôr do sol de um dia e localização informada.
    • date_time_set — Sinônimo de DateTime::setTime
    • date_timestamp_get — Sinônimo de DateTime::getTimestamp
    • date_timestamp_set — Sinônimo de DateTime::setTimestamp
    • date_timezone_get — Sinônimo de DateTime::getTimezone
    • date_timezone_set — Sinônimo de DateTime::setTimezone
    • date — Formata a data e a hora local
    • getdate — Recupera informações de data/hora
    • gettimeofday — Obtém a hora atual
    • gmdate — Formata uma data/hora GMT/CUT
    • gmmktime — Obtém um timestamp Unix para uma data GMT
    • gmstrftime — Formata uma hora/data GMT/CUT de acordo com as configurações de localidade
    • idate — Formata uma hora/data local como um inteiro
    • localtime — Obtém a hora local
    • microtime — Retorna um timestamp Unix em microsegundos
    • mktime — Obtém um timestamp Unix de uma data
    • strftime — Formata uma hora/data de acordo com as configurações locais
    • strptime — Interpreta uma hora/data gerada pela função strftime
    • strtotime — Interpreta qualquer descrição de data/hora em texto em inglês em timestamp Unix
    • time — Retorna o timestamp Unix atual
    • timezone_abbreviations_list — Sinônimo de DateTimeZone::listAbbreviations
    • timezone_identifiers_list — Sinônimo de DateTimeZone::listIdentifiers
    • timezone_location_get — Sinônimo de DateTimeZone::getLocation
    • timezone_name_from_abbr — Retorna o fuso horário a partir de uma abreviação
    • timezone_name_get — Sinônimo de DateTimeZone::getName
    • timezone_offset_get — Sinônimo de DateTimeZone::getOffset
    • timezone_open — Retorna um novo objeto DateTimeZone
    • timezone_transitions_get — Sinônimo de DateTimeZone::getTransitions
    • timezone_version_get — Recupera a versão do timezonedb
  • Formatos de Data e Hora Suportados
    • Formatos de Hora
    • Formatos de Data
    • Formatos Compostos
    • Formatos relativos
  • Lista de Fusos Horários Suportados
    • África
    • América
    • Antártica
    • Ártico
    • Asia
    • Atlântico
    • Australia
    • Europa
    • Indiano
    • Pacífico
    • Outros


Introdução

Estas funções permitem recuperar a data e hora do servidor onde o PHP está rodando. Pode-se usar estas funções para formatar a saída de data e hora de muitas maneiras diferentes.

As informações de data e hora são armazenadas internamente como números em 64-bit, sendo assim, todas as datas concebíveis (inclusive anos negativos) são suportadas. O intervalo vai de 292 bilhões de anos no passado até a mesma quantidade no futuro.

Nota: Por favor, tenha em mente que estas funções dependem das configurações locais do servidor. Considere especialmente o horário-de-verão (use, por exemplo, $date = strtotime('+7 days', $date) e não $date += 7*24*60*60), e anos bissextos quando trabalhar com estas funções.

Nota: Os fusos horários referenciados nesta seção podem ser encontrados em Lista de Fusos Horários Suportados.


Instalação

Esta extensão não necessita de instalação. Suas funções são parte do núcleo do PHP.

Nota: Recuperando o banco de dados atualizado de fusos horários

A versão mais recente do banco de dados de fusos horários pode ser instalada com o pacote PECL » timezonedb.

Nota: Suporte experimental ao DateTime no PHP 5.1.x

Apesar da classe DateTime (e funções relacionadas) estarem disponíveis por padrão desde o PHP 5.2.0, é possível adicionar o suporte experimental no PHP 5.1.x utilizando a seguinte flag antes de configurar/compilar: CFLAGS=-DEXPERIMENTAL_DATE_SUPPORT=1


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de Configuração de Data/Hora
Nome | Padrão | Modificável | Changelog
date.default_latitude | "31.7667" | PHP_INI_ALL | Disponível desde o PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Disponível desde o PHP 5.0.0.
date.sunrise_zenith | "90.583333" | PHP_INI_ALL | Disponível desde o PHP 5.0.0.
date.sunset_zenith | "90.583333" | PHP_INI_ALL | Disponível desde o PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Disponível desde o PHP 5.1.0.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

date.default_latitude float

A latitude padrão.

date.default_longitude float

A longitude padrão.

date.sunrise_zenith float

O ápice do nascer do sol padrão.

date.sunset_zenith float

O ápice do pôr-do-sol padrão.

date.timezone string

O fuso horário padrão utilizado por todas as funções de data/hora. Em versões anteriores ao PHP 5.4.0, isso só funcionaria se a variável de ambiente TZ não estive configurada. A ordem de precedência utilizada por cada fuso horário, se não for especificado explicitamente, é descrita na página da função date_default_timezone_get(). Veja Lista de Fusos Horários Suportados a lista de todos os fusos horários suportados.

Nota: As primeiras quatro opções de configuração são utilizadas somente pelas funções date_sunrise() e date_sunset().


Constantes pré-definidas

As constantes DATE_ estão definidas desde o PHP 5.1.1 e oferecem uma representação padrão de datas, que podem ser utilizadas em conjunto com funções de formatação de data (como a função date())

As seguintes contantes existem desde o PHP 5.1.2 e especificam o formato retornado pelas funções date_sunrise() e date_sunset().

SUNFUNCS_RET_TIMESTAMP (inteiro)
Timestamp
SUNFUNCS_RET_STRING (inteiro)
Horas:minutos (examplo: 08:02)
SUNFUNCS_RET_DOUBLE (inteiro)
Horas como número em ponto flutuante (exemplo 8.75)


A classe DateTime

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

Introdução

Representação de data e hora.

Sinopse da classe

DateTime implements DateTimeInterface {
/* Constantes */
const string ATOM = "Y-m-d\TH:i:sP" ;
const string COOKIE = "l, d-M-Y H:i:s T" ;
const string ISO8601 = "Y-m-d\TH:i:sO" ;
const string RFC822 = "D, d M y H:i:s O" ;
const string RFC850 = "l, d-M-y H:i:s T" ;
const string RFC1036 = "D, d M y H:i:s O" ;
const string RFC1123 = "D, d M Y H:i:s O" ;
const string RFC2822 = "D, d M Y H:i:s O" ;
const string RFC3339 = "Y-m-d\TH:i:sP" ;
const string RSS = "D, d M Y H:i:s O" ;
const string W3C = "Y-m-d\TH:i:sP" ;
/* Métodos */
public __construct ( string $time = "now" , DateTimeZone $timezone = null )
public add ( DateInterval $interval ) : DateTime
public static createFromFormat ( string $format , string $time , DateTimeZone $timezone = date_default_timezone_get() ) : DateTime
public static createFromImmutable ( DateTimeImmutable $object ) : DateTime
public static createFromInterface ( DateTimeInterface $object ) : DateTime
public static getLastErrors ( ) : array
public modify ( string $modify ) : DateTime
public static __set_state ( array $array ) : DateTime
public setDate ( int $year , int $month , int $day ) : DateTime
public setISODate ( int $year , int $week , int $day = 1 ) : DateTime
public setTime ( int $hour , int $minute , int $second = 0 ) : DateTime
public setTimestamp ( int $unixtimestamp ) : DateTime
public setTimezone ( DateTimeZone $timezone ) : DateTime
public sub ( DateInterval $interval ) : DateTime
public diff ( DateTimeInterface $datetime2 , bool $absolute = false ) : DateInterval
public format ( string $format ) : string
public getOffset ( ) : int
public getTimestamp ( ) : int
public getTimezone ( ) : DateTimeZone
public __wakeup ( )
}

Constantes pré-definidas

DateTime::ATOM
DATE_ATOM
Atom (exemplo: 2005-08-15T15:52:01+00:00)
DateTime::COOKIE
DATE_COOKIE
Cookies HTTP (exemplo: Monday, 15-Aug-2005 15:52:01 UTC)
DateTime::ISO8601
DATE_ISO8601
ISO-8601 (exemplo: 2005-08-15T15:52:01+0000)

Nota: Este formato não é compatível com a ISO-8601, mas foi deixado desta forma por razões relacionadas a retrocompatibilidade. Ao invés, use as constantes DateTime::ATOM ou DATE_ATOM para compatibilidade com a ISO-8601.

DateTime::RFC822
DATE_RFC822
RFC 822 (exemplo: Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC850
DATE_RFC850
RFC 850 (exemplo: Monday, 15-Aug-05 15:52:01 UTC)
DateTime::RFC1036
DATE_RFC1036
RFC 1036 (exemplo: Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC1123
DATE_RFC1123
RFC 1123 (exemplo: Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::RFC2822
DATE_RFC2822
RFC 2822 (exemplo: Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::RFC3339
DATE_RFC3339
Same as DATE_ATOM (since PHP 5.1.3)
DateTime::RSS
DATE_RSS
RSS (exemplo: Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::W3C
DATE_W3C
World Wide Web Consortium (exemplo: 2005-08-15T15:52:01+00:00)

Changelog

Versão | Descrição
5.5.0 | A classe passa a implementar a interface DateTimeInterface.
5.4.24 | A constante COOKIE foi modificada para refletir a RFC 1036 utilizando quatro digitos para o ano em contraposição aos dois digitos (RFC 850) em versões anteriores.
5.2.2 | Comparações entre objetos com os operadores de comparação foram modificados para funcionar como esperado. Anteriomente, todos os objetos DateTime eram considerados iguais (utilizando ==).

Índice

  • DateTime::add — Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime
  • DateTime::__construct — Retorna um novo objeto DateTime
  • DateTime::createFromFormat — Retorna um novo objeto DateTime formatado de acordo com um formato informado
  • DateTime::createFromImmutable — Returns new DateTime object encapsulating the given DateTimeImmutable object
  • DateTime::createFromInterface — Returns new DateTime object encapsulating the given DateTimeInterface object
  • DateTime::getLastErrors — Retorna os avisos e erros
  • DateTime::modify — Altera o timestamp
  • DateTime::__set_state — O manipulador __set_state
  • DateTime::setDate — Define a data
  • DateTime::setISODate — Define uma data ISO
  • DateTime::setTime — Define o horário
  • DateTime::setTimestamp — Define a data e hora baseada em um timestamp Unix
  • DateTime::setTimezone — Define o fuso horário de um objeto DateTime
  • DateTime::sub — Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime


Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime

  • « DateTime
  • DateTime::__construct »
  • PHP Manual
  • DateTime
  • Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime

DateTime::add

date_add

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::add -- date_add — Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime

Descrição

Estilo orientado à objeto

public DateTime::add ( DateInterval $interval ) : DateTime

Estilo procedural

date_add ( DateTime $object , DateInterval $interval ) : DateTime

Adiciona o objeto DateInterval informado a um objeto DateTime especificado.

Parâmetros

object

Somente estilo procedural: Um objeto DateTime returnado por date_create(). A função modifica esse objeto.

interval

Um objeto DateInterval

Valor Retornado

Retorna o objeto DateTime para o encadeamento de métodos ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo do método DateTime::add()

Estilo orientado à objeto

<?php
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>

Estilo procedural

<?php
$date = date_create('2000-01-01');
date_add($date, date_interval_create_from_date_string('10 days'));
echo date_format($date, 'Y-m-d');
?>

Os exemplos acima irão imprimir:

2000-01-11

Exemplo #2 Exemplos adicionais do método DateTime::add()

<?php
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('PT10H30S'));
echo $date->format('Y-m-d H:i:s') . "\n";

$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P7Y5M4DT4H3M2S'));
echo $date->format('Y-m-d H:i:s') . "\n";
?>

O exemplo acima irá imprimir:

2000-01-01 10:00:30
2007-06-05 04:03:02

Exemplo #3 Cuidados na adição de meses

<?php
$date = new DateTime('2000-12-31');
$interval = new DateInterval('P1M');

$date->add($interval);
echo $date->format('Y-m-d') . "\n";

$date->add($interval);
echo $date->format('Y-m-d') . "\n";
?>

O exemplo acima irá imprimir:

2001-01-31
2001-03-03

Notas

O método DateTime::modify() é uma altertiva quando utilizada a versão 5.2.

Veja Também

  • DateTime::sub() - Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime
  • DateTime::diff() - Retorna a diferença entre dois objetos DateTime
  • DateTime::modify() - Altera o timestamp


Retorna um novo objeto DateTime

  • « DateTime::add
  • DateTime::createFromFormat »
  • PHP Manual
  • DateTime
  • Retorna um novo objeto DateTime

DateTime::__construct

date_create

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::__construct -- date_create — Retorna um novo objeto DateTime

Descrição

Estilo orientado à objeto

public DateTime::__construct ( string $time = "now" , DateTimeZone $timezone = null )

Estilo procedural

date_create ( string $time = "now" , DateTimeZone $timezone = null ) : DateTime

Retorna um novo objeto DateTime.

Parâmetros

time

Uma string data/hora. Valores válidos são explicados em Formatos de Data e Hora.

Coloque null neste parâmetro para obter o horário atual quando utilizar o parâmetro $timezone

timezone

Um objeto DateTimeZone, representando o fuso horário do parâmetro $time.

Se $timezone for omitido, o fuso horário atual será utilizado.

Nota:

O parâmetro $timezone e o fuso horário atual são ignorados quando o parâmetro $time é um timestamp UNIX (exemplo, @946684800) ou quando o fuso horário é informado (exemplo. 2010-01-28T15:00:00+02:00).

Valor Retornado

Retorna uma nova instância de DateTime. Estilo procedural retorna false em caso de falha.

Erros

Emitirá uma Exception em caso de erro.

Changelog

Versão | Descrição
5.3.0 | Se o parâmetro time conter algum formato de data/hora inválida, uma exceção será lançada. Anteriormente, um erro era emitido.

Exemplos

Exemplo #1 Exemplos do construtor DateTime::__construct()

Estilo orientado à objeto

<?php
try {
    $date = new DateTime('2000-01-01');
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
?>

Estilo procedural

<?php
$date = date_create('2000-01-01');
if (!$date) {
    $e = date_get_last_errors();
    foreach ($e['errors'] as $error) {
        echo "$error\n";
    }
    exit(1);
}

echo date_format($date, 'Y-m-d');
?>

Os exemplos acima irão imprimir:

2000-01-01

Exemplo #2 Complexidades do construtor DateTime::__construct()

<?php
// Specified date/time in your computer's time zone.
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:sP') . "\n";

// Specified date/time in the specified time zone.
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// Current date/time in your computer's time zone.
$date = new DateTime();
echo $date->format('Y-m-d H:i:sP') . "\n";

// Current date/time in the specified time zone.
$date = new DateTime(null, new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// Using a UNIX timestamp.  Notice the result is in the UTC time zone.
$date = new DateTime('@946684800');
echo $date->format('Y-m-d H:i:sP') . "\n";

// Non-existent values roll over.
$date = new DateTime('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

O exemplo acima irá imprimir algo similar à:

2000-01-01 00:00:00-05:00
2000-01-01 00:00:00+12:00
2010-04-24 10:24:16-04:00
2010-04-25 02:24:16+12:00
2000-01-01 00:00:00+00:00
2000-03-01 00:00:00-05:00

Veja Também

  • DateTime::createFromFormat() - Retorna um novo objeto DateTime formatado de acordo com um formato informado
  • DateTimeZone::__construct() - Cria um novo objeto DateTimeZone
  • Date and Time Formats
  • date.timezone ini setting
  • date_default_timezone_set() - Configura o fuso horário padrão utilizado por todas as funções de data e hora em um script
  • DateTime::getLastErrors() - Retorna os avisos e erros
  • checkdate() - Valida uma data Gregoriana


Retorna um novo objeto DateTime formatado de acordo com um formato informado

  • « DateTime::__construct
  • DateTime::createFromImmutable »
  • PHP Manual
  • DateTime
  • Retorna um novo objeto DateTime formatado de acordo com um formato informado

DateTime::createFromFormat

date_create_from_format

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::createFromFormat -- date_create_from_format — Retorna um novo objeto DateTime formatado de acordo com um formato informado

Descrição

Estilo orientado à objeto

public static DateTime::createFromFormat ( string $format , string $time , DateTimeZone $timezone = date_default_timezone_get() ) : DateTime

Estilo procedural

date_create_from_format ( string $format , string $time , DateTimeZone $timezone = date_default_timezone_get() ) : DateTime

Retorna um novo objeto DateTime formatado de acordo com um formato informado.

Parâmetros

format

O formato passado como string. Veja opções de formatação abaixo. Na maioria dos casos, as mesmas letras utilizadas na função date() podem ser utilizadas.

Os seguintes caracteres são reconhecidos no parâmetro format
Caractere de format | Descrição | Exemplo de valores interpretados
Dia --- ---
d e j | Dia do mês, com 2 dígitos e zero à esquerda | 01 a 31 ou 1 a 31
D e l | Uma representação textual de um dia | Mon até Sun ou Sunday até Saturday
S | Sufixo ordinal inglês para o dia do mês, 2 caracteres. É ignorado no processamento. | st, nd, rd ou th.
z | O dia do ano (iniciando em 0) | 0 até 365
Mês --- ---
F e M | Um representação completa de um mês, como January ou Sept | January até December ou Jan até Dec
m e n | Representação numérica de um mês, com ou sem zero à esquerda | 01 até 12 ou 1 até 12
Ano --- ---
Y | Uma representação de ano completa, 4 dígitos | Exemplos: 1999 ou 2003
y | Uma representação do ano com dois dígitos (que se supõem estar no intervalo 1970-2069) | Exemplos: 99 ou 03 (que será interpretado como 1999 e 2003, respectivamente)
Tempo --- ---
a e A | Antes/Depois de meio-dia | am ou pm
g and h | Formato 12-horas de uma hora com e sem zero à esquerda | 1 até 12 ou 01 até 12
G and H | ormato 24-horas de uma hora com e sem zero à esquerda | 0 até 23 ou 00 até 23
i | Minutos com zero à esquerda | 00 a 59
s | Segundos, com zero à esquerda | 00 até 59
u | Microssegundos (até seis dígitos) | Exemplo: 45, 654321
Fuso Horário --- ---
e, O, P e T | Identificadores de fuso horário, ou diferença para UTC em horas, ou diferença para UTC com dois pontos entre horas e minutos, ou a abreviação do fuso horário | Exemplos: UTC, GMT, Atlantic/Azores ou +0200 ou +02:00 ou EST, MDT
Data/Hora completa --- ---
U | Segundos desde Unix Epoch (January 1 1970 00:00:00 GMT) | Exemplo: 1292177455
Espaço em branco e separadores --- ---
(espaço) | Um espaço ou um TAB | Exemplo:
# Um dos símbolos de separação a seguir: ;, :, /, ., ,, -, ( ou ) Exemplo: /
;, :, /, ., ,, -, ( or ) | O caractere informado. | Exemplo: -
? Um byte randômico Exemplo: ^ (Saiba que em caracteres UTF-8, será necessário mais que um ?. Neste caso, utilizar o * é a mais provável substituição desejada)
* Bytes aleatórios até o próximo separador ou dígito Exemplo: * em Y-*-d como a string 2009-aWord-08 que corresponderá a aWord
! Redefine todos os campo (ano, mês, dia, hora, minute, segundos, fações de segundo e informações do fuso horário) para Unix Epoch Sem !, todos os campos serão definidos para a data e hora atual.
| Redefine todos os campo (ano, mês, dia, hora, minute, segundos, fações de segundo e informações do fuso horário) para Unix Epoch se ainda não foram interpretados até o momento Y-m-d| definirá o ano, mês e dia para a informação encontrada na string analisada, e definirá as horas, minutos e segundos para 0.
+ Se este especificador de formato estiver presente, datas que excedem o limite na string não causarão um erro, mas sim um aviso Utilize o método DateTime::getLastErrors() para encontrar a existência de uma data que excede os limites.

Caracteres desconhecidos na string de formato causarão falhas em sua interpretação e uma mensagem de erro será acrescentada a estrutura retornada. Pode-se recuperar as mensagens de erro com o método DateTime::getLastErrors().

Para incluir caracteres literais no parâmetro format, deve-se escapá-los utilizando a barra invertida (\).

Se o parâmetro format não conter o caractere !, as porções de tempo gerado que não estão especificadas em format serão definidas como a hora atual do sistema.

Se o parâmetro format contiver o caracter !, as porções de tempo geradas que não estão informadas em format, assim como valores à esquerda!, serão definidos para valores correspondentes à Unix epoch.

Unix epoch é 1970-01-01 00:00:00 UTC.

time

String representando a hora.

timezone

Um objeto DateTimeZone representando o fuso horário desejado.

Se o parâmetro timezone for omitido, e o parâmetro time não contiver um fuso horário, o atual será utilizado.

Nota:

O parâmetro timezone e o fuso horário atual são ignorados quando o parâmetro time é um timestamp UNIX (exemplo, @946684800) ou quando o fuso horário é informado (exemplo. 2010-01-28T15:00:00+02:00).

Valor Retornado

Retorna uma nova instância de DateTime ou false em caso de falha.

Changelog

Versão | Descrição
5.3.9 | O especificador de format + foi adicionado.

Exemplos

Exemplo #1 Exemplo do método DateTime::createFromFormat()

Estilo orientado à objeto

<?php
$date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
?>

Estilo procedural

<?php
$date = date_create_from_format('j-M-Y', '15-Feb-2009');
echo date_format($date, 'Y-m-d');
?>

Os exemplos acima irão imprimir:

2009-02-15

Exemplo #2 Complexidades do método DateTime::createFromFormat()

<?php
echo 'Current time: ' . date('Y-m-d H:i:s') . "\n";

$format = 'Y-m-d';
$date = DateTime::createFromFormat($format, '2009-02-15');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = 'Y-m-d H:i:s';
$date = DateTime::createFromFormat($format, '2009-02-15 15:16:17');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = 'Y-m-!d H:i:s';
$date = DateTime::createFromFormat($format, '2009-02-15 15:16:17');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = '!d';
$date = DateTime::createFromFormat($format, '15');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";
?>

O exemplo acima irá imprimir algo similar à:

Current time: 2010-04-23 10:29:35
Format: Y-m-d; 2009-02-15 10:29:35
Format: Y-m-d H:i:s; 2009-02-15 15:16:17
Format: Y-m-!d H:i:s; 1970-01-15 15:16:17
Format: !d; 1970-01-15 00:00:00

Exemplo #3 String de formato com caracteres literais

<?php
echo DateTime::createFromFormat('H\h i\m s\s','23h 15m 03s')->format('H:i:s');
?>

O exemplo acima irá imprimir algo similar à:

23:15:03

Veja Também

  • DateTime::__construct() - Retorna um novo objeto DateTime
  • DateTime::getLastErrors() - Retorna os avisos e erros
  • checkdate() - Valida uma data Gregoriana
  • strptime() - Interpreta uma hora/data gerada pela função strftime


Returns new DateTime object encapsulating the given DateTimeImmutable object

  • « DateTime::createFromFormat
  • DateTime::createFromInterface »
  • PHP Manual
  • DateTime
  • Returns new DateTime object encapsulating the given DateTimeImmutable object

DateTime::createFromImmutable

(PHP 7 >= 7.3.0, PHP 8)

DateTime::createFromImmutable — Returns new DateTime object encapsulating the given DateTimeImmutable object

Descrição

public static DateTime::createFromImmutable ( DateTimeImmutable $object ) : DateTime

Parâmetros

object

The immutable DateTimeImmutable object that needs to be converted to a mutable version. This object is not modified, but instead a new DateTime object is created containing the same date, time, and timezone information.

Exemplos

Exemplo #1 Creating a mutable date time object

<?php
$date = new DateTimeImmutable("2014-06-20 11:45 Europe/London");

$mutable = DateTime::createFromImmutable( $date );
?>

Valor Retornado

Returns a new DateTime instance.


Returns new DateTime object encapsulating the given DateTimeInterface object

  • « DateTime::createFromImmutable
  • DateTime::getLastErrors »
  • PHP Manual
  • DateTime
  • Returns new DateTime object encapsulating the given DateTimeInterface object

DateTime::createFromInterface

(PHP 8)

DateTime::createFromInterface — Returns new DateTime object encapsulating the given DateTimeInterface object

Descrição

public static DateTime::createFromInterface ( DateTimeInterface $object ) : DateTime

Parâmetros

object

The DateTimeInterface object that needs to be converted to a mutable version. This object is not modified, but instead a new DateTime object is created containing the same date, time, and timezone information.

Valor Retornado

Returns a new DateTime instance.

Exemplos

Exemplo #1 Creating a mutable date time object

<?php
$date = new DateTimeImmutable("2014-06-20 11:45 Europe/London");

$mutable = DateTime::createFromInterface($date);

$date = new DateTime("2014-06-20 11:45 Europe/London");
$also_mutable = DateTime::createFromInterface($date);
?>


Retorna os avisos e erros

  • « DateTime::createFromInterface
  • DateTime::modify »
  • PHP Manual
  • DateTime
  • Retorna os avisos e erros

DateTime::getLastErrors

date_get_last_errors

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::getLastErrors -- date_get_last_errors — Retorna os avisos e erros

Descrição

Estilo orientado à objeto

public static DateTime::getLastErrors ( ) : array

Estilo procedural

date_get_last_errors ( ) : array

Retorna um array de avisos e erros encontrados na interpretação da string de data/hora.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um array contendo informações sobre avisos e erros.

Exemplos

Exemplo #1 Exemplo do método DateTime::getLastErrors()

Estilo orientado à objeto

<?php
try {
    $date = new DateTime('asdfasdf');
} catch (Exception $e) {
    // For demonstration purposes only...
    print_r(DateTime::getLastErrors());

    // The real object oriented way to do this is
    // echo $e->getMessage();
}
?>

Estilo procedural

<?php
$date = date_create('asdfasdf');
print_r(date_get_last_errors());
?>

Os exemplos acima irão imprimir:

Array
(
   [warning_count] => 1
   [warnings] => Array
       (
           [6] => Double timezone specification
       )

   [error_count] => 1
   [errors] => Array
       (
           [0] => The timezone could not be found in the database
       )

)

Os índices 6, e 0 na saída do exemplo, referem-se a posição do caractere na string onde o erro ocorreu.


Altera o timestamp

  • « DateTime::getLastErrors
  • DateTime::__set_state »
  • PHP Manual
  • DateTime
  • Altera o timestamp

DateTime::modify

date_modify

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::modify -- date_modify — Altera o timestamp

Descrição

Estilo orientado à objeto

public DateTime::modify ( string $modify ) : DateTime

Estilo procedural

date_modify ( DateTime $object , string $modify ) : DateTime

Altera o timestamp de um objeto DateTime, incrementando-o ou decrementando-o, em um formato aceito pela função strtotime().

Parâmetros

object

Somente estilo procedural: Um objeto DateTime returnado por date_create(). A função modifica esse objeto.

modify

Uma string data/hora. Valores válidos são explicados em Formatos de Data e Hora.

Valor Retornado

Retorna o objeto DateTime para o encadeamento de métodos ou false em caso de falha.

Changelog

Versão | Descrição
5.3.6 | Declarações absolutas de data/hora agora possuem efeito. Anteriormente, somente porções relativas eram utilizadas.
5.3.0 | Modificado o valor retornado de null para DateTime.

Exemplos

Exemplo #1 Exemplo do método DateTime::modify()

Estilo orientado à objeto

<?php
$date = new DateTime('2006-12-12');
$date->modify('+1 day');
echo $date->format('Y-m-d');
?>

Estilo procedural

<?php
$date = date_create('2006-12-12');
date_modify($date, '+1 day');
echo date_format($date, 'Y-m-d');
?>

Os exemplos acima irão imprimir:

2006-12-13

Exemplo #2 Cuidados na adição ou subtração de meses

<?php
$date = new DateTime('2000-12-31');

$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";

$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";
?>

O exemplo acima irá imprimir:

2001-01-31
2001-03-03

Veja Também

  • strtotime() - Interpreta qualquer descrição de data/hora em texto em inglês em timestamp Unix
  • DateTime::add() - Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime
  • DateTime::sub() - Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime
  • DateTime::setDate() - Define a data
  • DateTime::setISODate() - Define uma data ISO
  • DateTime::setTime() - Define o horário
  • DateTime::setTimestamp() - Define a data e hora baseada em um timestamp Unix


O manipulador __set_state

  • « DateTime::modify
  • DateTime::setDate »
  • PHP Manual
  • DateTime
  • O manipulador __set_state

DateTime::__set_state

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::__set_state — O manipulador __set_state

Descrição

public static DateTime::__set_state ( array $array ) : DateTime

O manipulador __set_state().

Parâmetros

array

Inicialização do array.

Valor Retornado

Retorna uma nova instância de um objeto DateTime.


Define a data

  • « DateTime::__set_state
  • DateTime::setISODate »
  • PHP Manual
  • DateTime
  • Define a data

DateTime::setDate

date_date_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::setDate -- date_date_set — Define a data

Descrição

Estilo orientado à objeto

public DateTime::setDate ( int $year , int $month , int $day ) : DateTime

Estilo procedural

date_date_set ( DateTime $object , int $year , int $month , int $day ) : DateTime

Redefine a data atual do objeto Datetime para uma diferente.

Parâmetros

object

Somente estilo procedural: Um objeto DateTime returnado por date_create(). A função modifica esse objeto.

year

Ano da data.

month

Mês da data.

day

Dia da data.

Valor Retornado

Retorna o objeto DateTime para o encadeamento de métodos ou false em caso de falha.

Changelog

Versão | Descrição
5.3.0 | Modificado o valor retornado de null para DateTime.

Exemplos

Exemplo #1 Exemplo do método DateTime::setDate()

Estilo orientado à objeto

<?php
$date = new DateTime();
$date->setDate(2001, 2, 3);
echo $date->format('Y-m-d');
?>

Estilo procedural

<?php
$date = date_create();
date_date_set($date, 2001, 2, 3);
echo date_format($date, 'Y-m-d');
?>

Os exemplos acima irão imprimir:

2001-02-03

Exemplo #2 VValores que excedem os limites são adicionados aos seus valores anteriores

<?php
$date = new DateTime();

$date->setDate(2001, 2, 28);
echo $date->format('Y-m-d') . "\n";

$date->setDate(2001, 2, 29);
echo $date->format('Y-m-d') . "\n";

$date->setDate(2001, 14, 3);
echo $date->format('Y-m-d') . "\n";
?>

O exemplo acima irá imprimir:

2001-02-28
2001-03-01
2002-02-03

Veja Também

  • DateTime::setISODate() - Define uma data ISO
  • DateTime::setTime() - Define o horário


Define uma data ISO

  • « DateTime::setDate
  • DateTime::setTime »
  • PHP Manual
  • DateTime
  • Define uma data ISO

DateTime::setISODate

date_isodate_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::setISODate -- date_isodate_set — Define uma data ISO

Descrição

Estilo orientado à objeto

public DateTime::setISODate ( int $year , int $week , int $day = 1 ) : DateTime

Estilo procedural

date_isodate_set ( DateTime $object , int $year , int $week , int $day = 1 ) : DateTime

Define uma data, de acordo com o padrão ISO 8601 - utilizando a diferença de semanas e dias em vez de datas específicas.

Parâmetros

object

Somente estilo procedural: Um objeto DateTime returnado por date_create(). A função modifica esse objeto.

year

Ano da data.

week

Semana da data.

day

Diferença do primeiro dia da semana.

Valor Retornado

Retorna o objeto DateTime para o encadeamento de métodos ou false em caso de falha.

Changelog

Versão | Descrição
5.3.0 | Modificado o valor retornado de null para DateTime.

Exemplos

Exemplo #1 Exemplo do método DateTime::setISODate()

Estilo orientado à objeto

<?php
$date = new DateTime();

$date->setISODate(2008, 2);
echo $date->format('Y-m-d') . "\n";

$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";
?>

Estilo procedural

<?php
$date = date_create();

date_isodate_set($date, 2008, 2);
echo date_format($date, 'Y-m-d') . "\n";

date_isodate_set($date, 2008, 2, 7);
echo date_format($date, 'Y-m-d') . "\n";
?>

Os exemplos acima irão imprimir:

2008-01-07
2008-01-13

Exemplo #2 Valores que excedem os limites são adicionados aos seus valores anteriores

<?php
$date = new DateTime();

$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";

$date->setISODate(2008, 2, 8);
echo $date->format('Y-m-d') . "\n";

$date->setISODate(2008, 53, 7);
echo $date->format('Y-m-d') . "\n";
?>

O exemplo acima irá imprimir:

2008-01-13
2008-01-14
2009-01-04

Exemplo #3 Encontrando o mês de uma determinada semana

<?php
$date = new DateTime();
$date->setISODate(2008, 14);
echo $date->format('n');
?>

Os exemplos acima irão imprimir:

3

Veja Também

  • DateTime::setDate() - Define a data
  • DateTime::setTime() - Define o horário


Define o horário

  • « DateTime::setISODate
  • DateTime::setTimestamp »
  • PHP Manual
  • DateTime
  • Define o horário

DateTime::setTime

date_time_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::setTime -- date_time_set — Define o horário

Descrição

Estilo orientado à objeto

public DateTime::setTime ( int $hour , int $minute , int $second = 0 ) : DateTime

Estilo procedural

date_time_set ( DateTime $object , int $hour , int $minute , int $second = 0 ) : DateTime

Redefine o horário atual do objeto DateTime para um diferente.

Parâmetros

object

Somente estilo procedural: Um objeto DateTime returnado por date_create(). A função modifica esse objeto.

hour

Hora do horário.

minute

Minuto do horário.

second

Segundos do horário.

Valor Retornado

Retorna o objeto DateTime para o encadeamento de métodos ou false em caso de falha.

Changelog

Versão | Descrição
5.3.0 | Modificado o valor retornado de null para DateTime.

Exemplos

Exemplo #1 Examplo do método DateTime::setTime()

Estilo orientado à objeto

<?php
$date = new DateTime('2001-01-01');

$date->setTime(14, 55);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(14, 55, 24);
echo $date->format('Y-m-d H:i:s') . "\n";
?>

Estilo procedural

<?php
$date = date_create('2001-01-01');

date_time_set($date, 14, 55);
echo date_format($date, 'Y-m-d H:i:s') . "\n";

date_time_set($date, 14, 55, 24);
echo date_format($date, 'Y-m-d H:i:s') . "\n";
?>

Os exemplos acima irão imprimir algo similar à:

2001-01-01 14:55:00
2001-01-01 14:55:24

Exemplo #2 Valores que excedem os limites são adicionados aos seus valores anteriores

<?php
$date = new DateTime('2001-01-01');

$date->setTime(14, 55, 24);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(14, 55, 65);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(14, 65, 24);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(25, 55, 24);
echo $date->format('Y-m-d H:i:s') . "\n";
?>

O exemplo acima irá imprimir:

2001-01-01 14:55:24
2001-01-01 14:56:05
2001-01-01 15:05:24
2001-01-02 01:55:24

Veja Também

  • DateTime::setDate() - Define a data
  • DateTime::setISODate() - Define uma data ISO


Define a data e hora baseada em um timestamp Unix

  • « DateTime::setTime
  • DateTime::setTimezone »
  • PHP Manual
  • DateTime
  • Define a data e hora baseada em um timestamp Unix

DateTime::setTimestamp

date_timestamp_set

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::setTimestamp -- date_timestamp_set — Define a data e hora baseada em um timestamp Unix

Descrição

Estilo orientado à objeto

public DateTime::setTimestamp ( int $unixtimestamp ) : DateTime

Estilo procedural

date_timestamp_set ( DateTime $object , int $unixtimestamp ) : DateTime

Define a data e hora baseada em um timestamp Unix.

Parâmetros

object

Somente estilo procedural: Um objeto DateTime returnado por date_create(). A função modifica esse objeto.

unixtimestamp

Representação, em timestamp Unix, da data.

Valor Retornado

Retorna o objeto DateTime para o encadeamento de métodos ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo do método DateTime::setTimestamp()

Estilo orientado à objeto

<?php
$date = new DateTime();
echo $date->format('U = Y-m-d H:i:s') . "\n";

$date->setTimestamp(1171502725);
echo $date->format('U = Y-m-d H:i:s') . "\n";
?>

Estilo procedural

<?php
$date = date_create();
echo date_format($date, 'U = Y-m-d H:i:s') . "\n";

date_timestamp_set($date, 1171502725);
echo date_format($date, 'U = Y-m-d H:i:s') . "\n";
?>

Os exemplos acima irão imprimir algo similar à:

1272508903 = 2010-04-28 22:41:43
1171502725 = 2007-02-14 20:25:25

Notas

Utilizar o formato timestamp Unix para construir um novo objeto DateTime é uma alternativa quando utilizar o PHP 5.2, como mostrado nos exemplos a seguir.

Exemplo #2 Alternativa ao DateTime::setTimestamp() no PHP 5.2

<?php
$ts = 1171502725;
$date = new DateTime("@$ts");
echo $date->format('U = Y-m-d H:i:s') . "\n";
?>

O exemplo acima irá imprimir algo similar à:

1171502725 = 2007-02-14 20:25:25

Veja Também

  • DateTime::getTimestamp() - Obtém o timestamp Unix


Define o fuso horário de um objeto DateTime

  • « DateTime::setTimestamp
  • DateTime::sub »
  • PHP Manual
  • DateTime
  • Define o fuso horário de um objeto DateTime

DateTime::setTimezone

date_timezone_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::setTimezone -- date_timezone_set — Define o fuso horário de um objeto DateTime

Descrição

Estilo orientado à objeto

public DateTime::setTimezone ( DateTimeZone $timezone ) : DateTime

Estilo procedural

date_timezone_set ( DateTime $object , DateTimeZone $timezone ) : DateTime

Define um novo fuso horário a um objeto DateTime.

Parâmetros

object

Somente estilo procedural: Um objeto DateTime returnado por date_create(). A função modifica esse objeto.

timezone

Um objeto DateTimeZone que representa o fuso horário desejado.

Valor Retornado

Retorna o objeto DateTime para o encadeamento de métodos ou false em caso de falha.

Changelog

Versão | Descrição
5.3.0 | Modificado o valor retornado de null para DateTime.

Exemplos

Exemplo #1 Exemplo do método DateTime::setTimeZone()

Estilo orientado à objeto

<?php
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

Estilo procedural

<?php
$date = date_create('2000-01-01', timezone_open('Pacific/Nauru'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";

date_timezone_set($date, timezone_open('Pacific/Chatham'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";
?>

Os exemplos acima irão imprimir:

2000-01-01 00:00:00+12:00
2000-01-01 01:45:00+13:45

Veja Também

  • DateTime::getTimezone() - Retorna o fuso horário corresponde a um DateTime informado
  • DateTimeZone::__construct() - Cria um novo objeto DateTimeZone


Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime

  • « DateTime::setTimezone
  • DateTimeImmutable »
  • PHP Manual
  • DateTime
  • Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime

DateTime::sub

date_sub

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::sub -- date_sub — Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime

Descrição

Estilo orientado à objeto

public DateTime::sub ( DateInterval $interval ) : DateTime

Estilo procedural

date_sub ( DateTime $object , DateInterval $interval ) : DateTime

Subtrair o objeto DateInterval informado de um objeto DateTime especificado.

Parâmetros

object

Somente estilo procedural: Um objeto DateTime returnado por date_create(). A função modifica esse objeto.

interval

Um objeto DateInterval

Valor Retornado

Retorna o objeto DateTime para o encadeamento de métodos ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo do método DateTime::sub()

Estilo orientado à objeto

<?php
$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>

Estilo procedural

<?php
$date = date_create('2000-01-20');
date_sub($date, date_interval_create_from_date_string('10 days'));
echo date_format($date, 'Y-m-d');
?>

Os exemplos acima irão imprimir:

2000-01-10

Exemplo #2 Exemplos adicionais do método DateTime::sub()

<?php
$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('PT10H30S'));
echo $date->format('Y-m-d H:i:s') . "\n";

$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('P7Y5M4DT4H3M2S'));
echo $date->format('Y-m-d H:i:s') . "\n";
?>

O exemplo acima irá imprimir:

2000-01-19 13:59:30
1992-08-15 19:56:58

Exemplo #3 Cuidados na subtração de meses

<?php
$date = new DateTime('2001-04-30');
$interval = new DateInterval('P1M');

$date->sub($interval);
echo $date->format('Y-m-d') . "\n";

$date->sub($interval);
echo $date->format('Y-m-d') . "\n";
?>

O exemplo acima irá imprimir:

2001-03-30
2001-03-02

Notas

O método DateTime::modify() é uma altertiva quanto utilizada a versão 5.2.

Veja Também

  • DateTime::add() - Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime
  • DateTime::diff() - Retorna a diferença entre dois objetos DateTime
  • DateTime::modify() - Altera o timestamp


A classe DateTimeImmutable

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Introdução

Essa classe têm o mesmo comportamento que DateTime, com exceção de nunca ser modificada, mas retornará um novo objeto.

Sinopse da classe

DateTimeImmutable implements DateTimeInterface {
/* Métodos */
public __construct ( string $time = "now" , DateTimeZone $timezone = null )
public add ( DateInterval $interval ) : DateTimeImmutable
public static createFromFormat ( string $format , string $time , DateTimeZone $timezone = ? ) : DateTimeImmutable
public static createFromInterface ( DateTimeInterface $object ) : DateTimeImmutable
public static createFromMutable ( DateTime $datetime ) : DateTimeImmutable
public static getLastErrors ( ) : array
public modify ( string $modify ) : DateTimeImmutable
public static __set_state ( array $array ) : DateTimeImmutable
public setDate ( int $year , int $month , int $day ) : DateTimeImmutable
public setISODate ( int $year , int $week , int $day = 1 ) : DateTimeImmutable
public setTime ( int $hour , int $minute , int $second = 0 ) : DateTimeImmutable
public setTimestamp ( int $unixtimestamp ) : DateTimeImmutable
public setTimezone ( DateTimeZone $timezone ) : DateTimeImmutable
public sub ( DateInterval $interval ) : DateTimeImmutable
public diff ( DateTimeInterface $datetime2 , bool $absolute = false ) : DateInterval
public format ( string $format ) : string
public getOffset ( ) : int
public getTimestamp ( ) : int
public getTimezone ( ) : DateTimeZone
public __wakeup ( )
}

Índice

  • DateTimeImmutable::add — Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos
  • DateTimeImmutable::__construct — Retorna um novo objeto DateTimeImmutable
  • DateTimeImmutable::createFromFormat — Retorna um novo objeto DateTimeImmutable formatado de acordo com um formato informado
  • DateTimeImmutable::createFromInterface — Returns new DateTimeImmutable object encapsulating the given DateTimeInterface object
  • DateTimeImmutable::createFromMutable — Retorna um novo objeto DateTimeImmutable que encapsula um objeto DateTime informado
  • DateTimeImmutable::getLastErrors — Retorna os avisos e erros
  • DateTimeImmutable::modify — Cria um novo objeto com seu timestamp modificado
  • DateTimeImmutable::__set_state — O manipulador __set_state
  • DateTimeImmutable::setDate — Define a data
  • DateTimeImmutable::setISODate — Define a data ISO
  • DateTimeImmutable::setTime — Define um horário
  • DateTimeImmutable::setTimestamp — Define a data e ghora baseado em um timestamp Unix
  • DateTimeImmutable::setTimezone — Define o fuso horário
  • DateTimeImmutable::sub — Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos


Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos

  • « DateTimeImmutable
  • DateTimeImmutable::__construct »
  • PHP Manual
  • DateTimeImmutable
  • Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos

DateTimeImmutable::add

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::add — Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos

Descrição

public DateTimeImmutable::add ( DateInterval $interval ) : DateTimeImmutable

Similar a DateTime::add(), mas lida com DateTimeImmutable.


Retorna um novo objeto DateTimeImmutable

  • « DateTimeImmutable::add
  • DateTimeImmutable::createFromFormat »
  • PHP Manual
  • DateTimeImmutable
  • Retorna um novo objeto DateTimeImmutable

DateTimeImmutable::__construct

date_create_immutable

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::__construct -- date_create_immutable — Retorna um novo objeto DateTimeImmutable

Descrição

Estilo orientado à objeto

public DateTimeImmutable::__construct ( string $time = "now" , DateTimeZone $timezone = null )

Estilo procedural

date_create_immutable ( string $time = "now" , DateTimeZone $timezone = null ) : DateTimeImmutable

Similar a DateTime::__construct(), mas lida com DateTimeImmutable.


Retorna um novo objeto DateTimeImmutable formatado de acordo com um formato informado

  • « DateTimeImmutable::__construct
  • DateTimeImmutable::createFromInterface »
  • PHP Manual
  • DateTimeImmutable
  • Retorna um novo objeto DateTimeImmutable formatado de acordo com um formato informado

DateTimeImmutable::createFromFormat

date_create_immutable_from_format

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::createFromFormat -- date_create_immutable_from_format — Retorna um novo objeto DateTimeImmutable formatado de acordo com um formato informado

Descrição

Estilo orientado à objeto

public static DateTimeImmutable::createFromFormat ( string $format , string $time , DateTimeZone $timezone = ? ) : DateTimeImmutable

Estilo procedural

date_create_immutable_from_format ( string $format , string $time , DateTimeZone $timezone = ? ) : DateTimeImmutable

Similar a DateTime::createFromFormat(), mas lida com DateTimeImmutable.


Returns new DateTimeImmutable object encapsulating the given DateTimeInterface object

  • « DateTimeImmutable::createFromFormat
  • DateTimeImmutable::createFromMutable »
  • PHP Manual
  • DateTimeImmutable
  • Returns new DateTimeImmutable object encapsulating the given DateTimeInterface object

DateTimeImmutable::createFromInterface

(PHP 8)

DateTimeImmutable::createFromInterface — Returns new DateTimeImmutable object encapsulating the given DateTimeInterface object

Descrição

public static DateTimeImmutable::createFromInterface ( DateTimeInterface $object ) : DateTimeImmutable

Parâmetros

object

The DateTimeInterface object that needs to be converted to an immutable version. This object is not modified, but instead a new DateTimeImmutable object is created containing the same date, time, and timezone information.

Valor Retornado

Returns a new DateTimeImmutable instance.

Exemplos

Exemplo #1 Creating an immutable date time object

<?php
$date = new DateTime("2014-06-20 11:45 Europe/London");

$immutable = DateTimeImmutable::createFromInterface($date);

$date = new DateTimeImmutable("2014-06-20 11:45 Europe/London");
$also_immutable = DateTimeImmutable::createFromInterface($date);
?>


Retorna um novo objeto DateTimeImmutable que encapsula um objeto DateTime informado

  • « DateTimeImmutable::createFromInterface
  • DateTimeImmutable::getLastErrors »
  • PHP Manual
  • DateTimeImmutable
  • Retorna um novo objeto DateTimeImmutable que encapsula um objeto DateTime informado

DateTimeImmutable::createFromMutable

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

DateTimeImmutable::createFromMutable — Retorna um novo objeto DateTimeImmutable que encapsula um objeto DateTime informado

Descrição

public static DateTimeImmutable::createFromMutable ( DateTime $datetime ) : DateTimeImmutable

Parâmetros

datetime

O objeto mutável DateTime que se deseja converter para uma versão imutável. Este objeto não é modificado, uma nova versão do objeto DateTimeImmutable é criado contendo a mesma data/hora e informação de fuso horário.

Exemplos

Exemplo #1 Criando um objeto DateTime imutável

<?php
$date = new DateTime("2014-06-20 11:45 Europe/London");

$immutable = DateTimeImmutable::createFromMutable( $date );
?>

Valor Retornado

Retorna uma nova instância de DateTimeImmutable.


Retorna os avisos e erros

  • « DateTimeImmutable::createFromMutable
  • DateTimeImmutable::modify »
  • PHP Manual
  • DateTimeImmutable
  • Retorna os avisos e erros

DateTimeImmutable::getLastErrors

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::getLastErrors — Retorna os avisos e erros

Descrição

public static DateTimeImmutable::getLastErrors ( ) : array

Similar a DateTime::getLastErrors(), mas lida com DateTimeImmutable.


Cria um novo objeto com seu timestamp modificado

  • « DateTimeImmutable::getLastErrors
  • DateTimeImmutable::__set_state »
  • PHP Manual
  • DateTimeImmutable
  • Cria um novo objeto com seu timestamp modificado

DateTimeImmutable::modify

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::modify — Cria um novo objeto com seu timestamp modificado

Descrição

public DateTimeImmutable::modify ( string $modify ) : DateTimeImmutable

Cria um novo objeto DateTimeImmutable com seu timestamp modificado. O objeto original não é modificado.

Parâmetros

object

Somente estilo procedural: Um objeto DateTime returnado por date_create(). A função modifica esse objeto.

modify

Uma string data/hora. Valores válidos são explicados em Formatos de Data e Hora.

Valor Retornado

Retorna um objeto recém criado ou false em caso de falha.


O manipulador __set_state

  • « DateTimeImmutable::modify
  • DateTimeImmutable::setDate »
  • PHP Manual
  • DateTimeImmutable
  • O manipulador __set_state

DateTimeImmutable::__set_state

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::__set_state — O manipulador __set_state

Descrição

public static DateTimeImmutable::__set_state ( array $array ) : DateTimeImmutable

Similar a DateTime::__set_state() mas lida com DateTimeImmutable.


Define a data

  • « DateTimeImmutable::__set_state
  • DateTimeImmutable::setISODate »
  • PHP Manual
  • DateTimeImmutable
  • Define a data

DateTimeImmutable::setDate

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setDate — Define a data

Descrição

public DateTimeImmutable::setDate ( int $year , int $month , int $day ) : DateTimeImmutable

Similar a DateTime::setDate() mas lida com DateTimeImmutable.


Define a data ISO

  • « DateTimeImmutable::setDate
  • DateTimeImmutable::setTime »
  • PHP Manual
  • DateTimeImmutable
  • Define a data ISO

DateTimeImmutable::setISODate

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setISODate — Define a data ISO

Descrição

public DateTimeImmutable::setISODate ( int $year , int $week , int $day = 1 ) : DateTimeImmutable

Similar a DateTime::setISODate(), mas lida com DateTimeImmutable.


Define um horário

  • « DateTimeImmutable::setISODate
  • DateTimeImmutable::setTimestamp »
  • PHP Manual
  • DateTimeImmutable
  • Define um horário

DateTimeImmutable::setTime

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setTime — Define um horário

Descrição

public DateTimeImmutable::setTime ( int $hour , int $minute , int $second = 0 ) : DateTimeImmutable

Similar a DateTime::setTime(), mas lida com DateTimeImmutable.


Define a data e ghora baseado em um timestamp Unix

  • « DateTimeImmutable::setTime
  • DateTimeImmutable::setTimezone »
  • PHP Manual
  • DateTimeImmutable
  • Define a data e ghora baseado em um timestamp Unix

DateTimeImmutable::setTimestamp

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setTimestamp — Define a data e ghora baseado em um timestamp Unix

Descrição

public DateTimeImmutable::setTimestamp ( int $unixtimestamp ) : DateTimeImmutable

Similar a DateTime::setTimestamp(), mas lida com DateTimeImmutable.


Define o fuso horário

  • « DateTimeImmutable::setTimestamp
  • DateTimeImmutable::sub »
  • PHP Manual
  • DateTimeImmutable
  • Define o fuso horário

DateTimeImmutable::setTimezone

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setTimezone — Define o fuso horário

Descrição

public DateTimeImmutable::setTimezone ( DateTimeZone $timezone ) : DateTimeImmutable

Similar a DateTime::setTimezone(), mas lida com DateTimeImmutable.


Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos

  • « DateTimeImmutable::setTimezone
  • DateTimeInterface »
  • PHP Manual
  • DateTimeImmutable
  • Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos

DateTimeImmutable::sub

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::sub — Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos

Descrição

public DateTimeImmutable::sub ( DateInterval $interval ) : DateTimeImmutable

Similar a DateTime::sub(), mas lida com DateTimeImmutable.


A interface DateTimeInterface

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Introdução

A interface DateTimeInterface é destinada para que DateTime e DateTimeImmutable possam fazer indução de tipo. Não é possível implementar essas interfaces em classes no espaço do usuário.

Sinopse da classe

DateTimeInterface {
/* Métodos */
public diff ( DateTimeInterface $datetime2 , bool $absolute = false ) : DateInterval
public format ( string $format ) : string
public getOffset ( ) : int
public getTimestamp ( ) : int
public getTimezone ( ) : DateTimeZone
public __wakeup ( )
}

Changelog

Versão | Descrição
5.5.8 | Tentar implementar DateTimeInterface, lançará um erro fatal. Anteriormente, implementar a interface não lançava erro, porém, o comportamento estava incorreto.

Índice

  • DateTime::diff — Retorna a diferença entre dois objetos DateTime
  • DateTime::format — Retorna a data formada de acordo com um formato informado
  • DateTime::getOffset — Retorna o deslocamento do fuso horário
  • DateTime::getTimestamp — Obtém o timestamp Unix
  • DateTime::getTimezone — Retorna o fuso horário corresponde a um DateTime informado
  • DateTime::__wakeup — O manipulador __wakeup


Retorna a diferença entre dois objetos DateTime

  • « DateTimeInterface
  • DateTime::format »
  • PHP Manual
  • DateTimeInterface
  • Retorna a diferença entre dois objetos DateTime

DateTime::diff

DateTimeImmutable::diff

DateTimeInterface::diff

date_diff

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::diff -- DateTimeImmutable::diff -- DateTimeInterface::diff -- date_diff — Retorna a diferença entre dois objetos DateTime

Descrição

Estilo orientado à objeto

public DateTime::diff ( DateTimeInterface $datetime2 , bool $absolute = false ) : DateInterval
public DateTimeImmutable::diff ( DateTimeInterface $datetime2 , bool $absolute = false ) : DateInterval
public DateTimeInterface::diff ( DateTimeInterface $datetime2 , bool $absolute = false ) : DateInterval

Estilo procedural

date_diff ( DateTimeInterface $datetime1 , DateTimeInterface $datetime2 , bool $absolute = false ) : DateInterval

Retorna a diferença entre dois objetos que implementam a classe DateTimeInterface.

Parâmetros

datetime

A data a ser comparada.

absolute

O intervalo deve ser forçado como positivo?

Valor Retornado

O objeto DateInterval representando a diferença entre as duas datas ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo do método DateTime::diff()

Estilo orientado à objeto

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>

Estilo procedural

<?php
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');
?>

Os exemplos acima irão imprimir:

+2 days

Exemplo #2 Comparação entre objetos DateTime

Nota:

A partir do PHP 5.2.2, objetos DateTime podem ser comparados utilizando os operadores de comparação.

<?php
$date1 = new DateTime("now");
$date2 = new DateTime("tomorrow");

var_dump($date1 == $date2);
var_dump($date1 < $date2);
var_dump($date1 > $date2);
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(false)

Veja Também

  • DateInterval::format() - Formata um intervalo
  • DateTime::add() - Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime
  • DateTime::sub() - Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime


Retorna a data formada de acordo com um formato informado

  • « DateTime::diff
  • DateTime::getOffset »
  • PHP Manual
  • DateTimeInterface
  • Retorna a data formada de acordo com um formato informado

DateTime::format

DateTimeImmutable::format

DateTimeInterface::format

date_format

(PHP 5 >= 5.2.1, PHP 7, PHP 8)

DateTime::format -- DateTimeImmutable::format -- DateTimeInterface::format -- date_format — Retorna a data formada de acordo com um formato informado

Descrição

Estilo orientado à objeto

public DateTime::format ( string $format ) : string
public DateTimeImmutable::format ( string $format ) : string
public DateTimeInterface::format ( string $format ) : string

Estilo procedural

date_format ( DateTimeInterface $object , string $format ) : string

Retorna a data formada de acordo com um formato informado.

Parâmetros

object

Somente estilo procedural: Um objeto DateTime retornado pela date_create()

format

Formato aceito pela função date().

Valor Retornado

Retorna a data formada em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo do método DateTime::format()

Estilo orientado à objeto

<?php
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:s');
?>

Estilo procedural

<?php
$date = date_create('2000-01-01');
echo date_format($date, 'Y-m-d H:i:s');
?>

O exemplo acima irá imprimir:

2000-01-01 00:00:00

Notas

Este método não utiliza configurações baseadas no idioma. Toda a saída será em Inglês.

Veja Também

  • date() - Formata a data e a hora local


Retorna o deslocamento do fuso horário

  • « DateTime::format
  • DateTime::getTimestamp »
  • PHP Manual
  • DateTimeInterface
  • Retorna o deslocamento do fuso horário

DateTime::getOffset

DateTimeImmutable::getOffset

DateTimeInterface::getOffset

date_offset_get

(PHP 5 >= 5.2.1, PHP 7, PHP 8)

DateTime::getOffset -- DateTimeImmutable::getOffset -- DateTimeInterface::getOffset -- date_offset_get — Retorna o deslocamento do fuso horário

Descrição

Estilo orientado à objeto

public DateTime::getOffset ( ) : int
public DateTimeImmutable::getOffset ( ) : int
public DateTimeInterface::getOffset ( ) : int

Estilo procedural

date_offset_get ( DateTimeInterface $object ) : int

Retorna o deslocamento do fuso horário.

Parâmetros

object

Somente estilo procedural: Um objeto DateTime retornado pela date_create()

Valor Retornado

Retorna o deslocamento, em segundos, do fuso horário para UTC, em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo do método DateTime::getOffset()

Estilo orientado à objeto

<?php
$winter = new DateTime('2010-12-21', new DateTimeZone('America/New_York'));
$summer = new DateTime('2008-06-21', new DateTimeZone('America/New_York'));

echo $winter->getOffset() . "\n";
echo $summer->getOffset() . "\n";
?>

Estilo procedural

<?php
$winter = date_create('2010-12-21', timezone_open('America/New_York'));
$summer = date_create('2008-06-21', timezone_open('America/New_York'));

echo date_offset_get($winter) . "\n";
echo date_offset_get($summer) . "\n";
?>

Os exemplos acima irão imprimir:

-18000
-14400

Nota: -18000 = -5 horas, -14400 = -4 horas.


Obtém o timestamp Unix

  • « DateTime::getOffset
  • DateTime::getTimezone »
  • PHP Manual
  • DateTimeInterface
  • Obtém o timestamp Unix

DateTime::getTimestamp

DateTimeImmutable::getTimestamp

DateTimeInterface::getTimestamp

date_timestamp_get

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::getTimestamp -- DateTimeImmutable::getTimestamp -- DateTimeInterface::getTimestamp -- date_timestamp_get — Obtém o timestamp Unix

Descrição

Estilo orientado à objeto

public DateTime::getTimestamp ( ) : int
public DateTimeImmutable::getTimestamp ( ) : int
public DateTimeInterface::getTimestamp ( ) : int

Estilo procedural

date_timestamp_get ( DateTimeInterface $object ) : int

Obtém o timestamp Unix.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o timestamp Unix que representa a data.

Exemplos

Exemplo #1 Exemplo do método DateTime::getTimestamp()

Estilo orientado à objeto

<?php
$date = new DateTime();
echo $date->getTimestamp();
?>

Estilo procedural

<?php
$date = date_create();
echo date_timestamp_get($date);
?>

Os exemplos acima irão imprimir algo similar à:

1272509157

Notas

Utilizar U como parâmetro do método DateTime::format() é uma maneira alternativa quando estiver utilizando a versão 5.2.

Veja Também

  • DateTime::setTimestamp() - Define a data e hora baseada em um timestamp Unix
  • DateTime::format() - Retorna a data formada de acordo com um formato informado


Retorna o fuso horário corresponde a um DateTime informado

  • « DateTime::getTimestamp
  • DateTime::__wakeup »
  • PHP Manual
  • DateTimeInterface
  • Retorna o fuso horário corresponde a um DateTime informado

DateTime::getTimezone

DateTimeImmutable::getTimezone

DateTimeInterface::getTimezone

date_timezone_get

(PHP 5 >= 5.2.1, PHP 7, PHP 8)

DateTime::getTimezone -- DateTimeImmutable::getTimezone -- DateTimeInterface::getTimezone -- date_timezone_get — Retorna o fuso horário corresponde a um DateTime informado

Descrição

Estilo orientado à objeto

public DateTime::getTimezone ( ) : DateTimeZone
public DateTimeImmutable::getTimezone ( ) : DateTimeZone
public DateTimeInterface::getTimezone ( ) : DateTimeZone

Estilo procedural

date_timezone_get ( DateTimeInterface $object ) : DateTimeZone

Retorna o fuso horário de um DateTime informado

Parâmetros

object

Somente estilo procedural: Um objeto DateTime retornado pela date_create()

Valor Retornado

Retorna um objeto DateTimeZone em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo do método DateTime::getTimezone()

Estilo orientado à objeto

<?php
$date = new DateTime(null, new DateTimeZone('Europe/London'));
$tz = $date->getTimezone();
echo $tz->getName();
?>

Estilo procedural

<?php
$date = date_create(null, timezone_open('Europe/London'));
$tz = date_timezone_get($date);
echo timezone_name_get($tz);
?>

Os exemplos acima irão imprimir:

Europe/London

Veja Também

  • DateTime::setTimezone() - Define o fuso horário de um objeto DateTime


O manipulador __wakeup

  • « DateTime::getTimezone
  • DateTimeZone »
  • PHP Manual
  • DateTimeInterface
  • O manipulador __wakeup

DateTime::__wakeup

DateTimeImmutable::__wakeup

DateTimeInterface::__wakeup

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::__wakeup -- DateTimeImmutable::__wakeup -- DateTimeInterface::__wakeup — O manipulador __wakeup

Descrição

public DateTime::__wakeup ( )
public DateTimeImmutable::__wakeup ( )
public DateTimeInterface::__wakeup ( )

O manipulador __wakeup().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Inicializa o objeto DateTime.


A classe DateTimeZone

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

Introdução

Representação de um fuso horário.

Sinopse da classe

DateTimeZone {
/* Constantes */
const integer AFRICA = 1 ;
const integer AMERICA = 2 ;
const integer ANTARCTICA = 4 ;
const integer ARCTIC = 8 ;
const integer ASIA = 16 ;
const integer ATLANTIC = 32 ;
const integer AUSTRALIA = 64 ;
const integer EUROPE = 128 ;
const integer INDIAN = 256 ;
const integer PACIFIC = 512 ;
const integer UTC = 1024 ;
const integer ALL = 2047 ;
const integer ALL_WITH_BC = 4095 ;
const integer PER_COUNTRY = 4096 ;
/* Métodos */
public __construct ( string $timezone )
public getLocation ( ) : array
public getName ( ) : string
public getOffset ( DateTime $datetime ) : int
public getTransitions ( int $timestamp_begin = ? , int $timestamp_end = ? ) : array
public static listAbbreviations ( ) : array
public static listIdentifiers ( int $what = DateTimeZone::ALL , string $country = null ) : array
}

Constantes pré-definidas

DateTimeZone::AFRICA

Fusos horários da África.

DateTimeZone::AMERICA

Fusos horários da América.

DateTimeZone::ANTARCTICA

Fusos horários da Antártica.

DateTimeZone::ARCTIC

Fusos horários do Ártico.

DateTimeZone::ASIA

Fusos horários da Ásia.

DateTimeZone::ATLANTIC

Fusos horários do Atlântico.

DateTimeZone::AUSTRALIA

Fusos horários da Austrália.

DateTimeZone::EUROPE

Fusos horários Europeus.

DateTimeZone::INDIAN

Fusos horários Indianos.

DateTimeZone::PACIFIC

Fusos horários do Pacífico.

DateTimeZone::UTC

Fusos horários UTC.

DateTimeZone::ALL

Todos os fusos horários.

DateTimeZone::ALL_WITH_BC

Todos os fusos horários, incluindo retrocompatíveis.

DateTimeZone::PER_COUNTRY

Fusos horários por país.

Índice

  • DateTimeZone::__construct — Cria um novo objeto DateTimeZone
  • DateTimeZone::getLocation — Retorna informações da localização de um fuso horário
  • DateTimeZone::getName — Retorna o nome do fuso horário
  • DateTimeZone::getOffset — Retorna o deslocamento do fuso horário ao Horário de Greenwish (GMT)
  • DateTimeZone::getTransitions — Retorna todas as transições do fuso horário
  • DateTimeZone::listAbbreviations — Retorna um fuso horário contendo o indicativo do horário de verão(dst), o deslocamento e nome do fuso horário
  • DateTimeZone::listIdentifiers — Retorna um array numericamente indexado contendo todos os indenticadores de fuso horário


Cria um novo objeto DateTimeZone

  • « DateTimeZone
  • DateTimeZone::getLocation »
  • PHP Manual
  • DateTimeZone
  • Cria um novo objeto DateTimeZone

DateTimeZone::__construct

timezone_open

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::__construct -- timezone_open — Cria um novo objeto DateTimeZone

Descrição

Estilo orientado à objeto

public DateTimeZone::__construct ( string $timezone )

Estilo procedural

timezone_open ( string $timezone ) : DateTimeZone

Cria um novo objeto DateTimeZone.

Parâmetros

timezone

Um dos nomes de fuso horário suportados.

Valor Retornado

Retorna um objeto DateTimeZone em sucesso. Estilo procedural retorna false em caso de falha.

Erros

Este método lança uma exceção Exception se o fuso horário informado não é reconhecido com um fuso horário válido.

Exemplos

Exemplo #1 Capturando erros na instanciação de DateTimeZone

<?php
// Error handling by catching exceptions
$timezones = array('Europe/London', 'Mars/Phobos', 'Jupiter/Europa');

foreach ($timezones as $tz) {
    try {
        $mars = new DateTimeZone($tz);
    } catch(Exception $e) {
        echo $e->getMessage() . '<br />';
    }
}
?>

O exemplo acima irá imprimir:

DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Mars/Phobos)
DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Jupiter/Europa)


Retorna informações da localização de um fuso horário

  • « DateTimeZone::__construct
  • DateTimeZone::getName »
  • PHP Manual
  • DateTimeZone
  • Retorna informações da localização de um fuso horário

DateTimeZone::getLocation

timezone_location_get

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTimeZone::getLocation -- timezone_location_get — Retorna informações da localização de um fuso horário

Descrição

Estilo orientado à objeto

public DateTimeZone::getLocation ( ) : array

Estilo procedural

timezone_location_get ( DateTimeZone $object ) : array

Retorna informações da localização de um fuso horário, incluindo o código do país, latitude/longitude e comentários.

Parâmetros

object

Somente no estilo procedural: Um objeto DateTimeZone retornado por timezone_open()

Valor Retornado

Array contendo informações da localização de um fuso horário.

Exemplos

Exemplo #1 Exemplo do método DateTimeZone::getLocation()

<?php
$tz = new DateTimeZone("Europe/Prague");
print_r($tz->getLocation());
print_r(timezone_location_get($tz));
?>

O exemplo acima irá imprimir:

Array
(
    [country_code] => CZ
    [latitude] => 50.08333
    [longitude] => 14.43333
    [comments] =>
)
Array
(
    [country_code] => CZ
    [latitude] => 50.08333
    [longitude] => 14.43333
    [comments] =>
)


Retorna o nome do fuso horário

  • « DateTimeZone::getLocation
  • DateTimeZone::getOffset »
  • PHP Manual
  • DateTimeZone
  • Retorna o nome do fuso horário

DateTimeZone::getName

timezone_name_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::getName -- timezone_name_get — Retorna o nome do fuso horário

Descrição

Estilo orientado à objeto

public DateTimeZone::getName ( ) : string

Estilo procedural

timezone_name_get ( DateTimeZone $object ) : string

Retorna o nome do fuso horário.

Parâmetros

object

O objeto DateTimeZone que se deseja capturar o nome.

Valor Retornado

Um dos nomes de fuso horário da lista de fusos horários


Retorna o deslocamento do fuso horário ao Horário de Greenwish (GMT)

  • « DateTimeZone::getName
  • DateTimeZone::getTransitions »
  • PHP Manual
  • DateTimeZone
  • Retorna o deslocamento do fuso horário ao Horário de Greenwish (GMT)

DateTimeZone::getOffset

timezone_offset_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::getOffset -- timezone_offset_get — Retorna o deslocamento do fuso horário ao Horário de Greenwish (GMT)

Descrição

Estilo orientado à objeto

public DateTimeZone::getOffset ( DateTime $datetime ) : int

Estilo procedural

timezone_offset_get ( DateTimeZone $object , DateTime $datetime ) : int

Esta função retorna o deslocamento do fuso horário ao Horário de Greenwish(GMT) para uma data/hora especificada no parâmetro datetime. O deslocamento ao GMT é calculado com informações do fuso horário contido no objeto DateTimeZone utilizado.

Parâmetros

object

Somente no estilo procedural: Um objeto DateTimeZone retornado por timezone_open()

datetime

DateTime que contêm a data/hora para computar o deslocamento.

Valor Retornado

Retorna o deslocamento do fuso horário em segundos em sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplos do método DateTimeZone::getOffset()

<?php
// Create two timezone objects, one for Taipei (Taiwan) and one for
// Tokyo (Japan)
$dateTimeZoneTaipei = new DateTimeZone("Asia/Taipei");
$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo");

// Create two DateTime objects that will contain the same Unix timestamp, but
// have different timezones attached to them.
$dateTimeTaipei = new DateTime("now", $dateTimeZoneTaipei);
$dateTimeJapan = new DateTime("now", $dateTimeZoneJapan);

// Calculate the GMT offset for the date/time contained in the $dateTimeTaipei
// object, but using the timezone rules as defined for Tokyo
// ($dateTimeZoneJapan).
$timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);

// Should show int(32400) (for dates after Sat Sep 8 01:00:00 1951 JST).
var_dump($timeOffset);
?>


Retorna todas as transições do fuso horário

  • « DateTimeZone::getOffset
  • DateTimeZone::listAbbreviations »
  • PHP Manual
  • DateTimeZone
  • Retorna todas as transições do fuso horário

DateTimeZone::getTransitions

timezone_transitions_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::getTransitions -- timezone_transitions_get — Retorna todas as transições do fuso horário

Descrição

Estilo orientado à objeto

public DateTimeZone::getTransitions ( int $timestamp_begin = ? , int $timestamp_end = ? ) : array

Estilo procedural

timezone_transitions_get ( DateTimeZone $object , int $timestamp_begin = ? , int $timestamp_end = ? ) : array

Parâmetros

object

Somente no estilo procedural: Um objeto DateTimeZone retornado por timezone_open()

timestamp_begin

Timestamp inicial.

timestamp_end

Timestamp final.

Valor Retornado

Retorna um array numericamente indexado contendo um array associativo com todas as transições, em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.3.0 | Os parâmetros opcionais timestamp_begin e timestamp_end foram adicionados.

Exemplos

Exemplo #1 Exemplo do método timezone_transitions_get()

<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions();
print_r(array_slice($transitions, 0, 3));
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [ts] => -9223372036854775808
            [time] => -292277022657-01-27T08:29:52+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

    [1] => Array
        (
            [ts] => -1691964000
            [time] => 1916-05-21T02:00:00+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

    [2] => Array
        (
            [ts] => -1680472800
            [time] => 1916-10-01T02:00:00+0000
            [offset] => 0
            [isdst] =>
            [abbr] => GMT
        )

)


Retorna um fuso horário contendo o indicativo do horário de verão(dst), o deslocamento e nome do fuso horário

  • « DateTimeZone::getTransitions
  • DateTimeZone::listIdentifiers »
  • PHP Manual
  • DateTimeZone
  • Retorna um fuso horário contendo o indicativo do horário de verão(dst), o deslocamento e nome do fuso horário

DateTimeZone::listAbbreviations

timezone_abbreviations_list

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::listAbbreviations -- timezone_abbreviations_list — Retorna um fuso horário contendo o indicativo do horário de verão(dst), o deslocamento e nome do fuso horário

Descrição

Estilo orientado à objeto

public static DateTimeZone::listAbbreviations ( ) : array

Estilo procedural

timezone_abbreviations_list ( ) : array

Valor Retornado

Retorna um array em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo do método timezone_abbreviations_list()

<?php
$timezone_abbreviations = DateTimeZone::listAbbreviations();
print_r($timezone_abbreviations["acst"]);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Porto_Acre
        )

    [1] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Eirunepe
        )

    [2] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Rio_Branco
        )

    [3] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => Brazil/Acre
        )

)

Veja Também

  • timezone_identifiers_list() - Sinônimo de DateTimeZone::listIdentifiers


Retorna um array numericamente indexado contendo todos os indenticadores de fuso horário

  • « DateTimeZone::listAbbreviations
  • DateInterval »
  • PHP Manual
  • DateTimeZone
  • Retorna um array numericamente indexado contendo todos os indenticadores de fuso horário

DateTimeZone::listIdentifiers

timezone_identifiers_list

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::listIdentifiers -- timezone_identifiers_list — Retorna um array numericamente indexado contendo todos os indenticadores de fuso horário

Descrição

Estilo orientado à objeto

public static DateTimeZone::listIdentifiers ( int $what = DateTimeZone::ALL , string $country = null ) : array

Estilo procedural

timezone_identifiers_list ( int $what = DateTimeZone::ALL , string $country = null ) : array

Parâmetros

what

Uma das constantes da classe DateTimeZone.

country

Um código de país, com duas letras, compatível com a ISO 3166-1.

Nota: Esta opção é utilizada somente quando o parâmetro what é configurado como DateTimeZone::PER_COUNTRY.

Valor Retornado

Retorna um array em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.3.0 | Adicionado os parâmetros opcionais what e country.

Exemplos

Exemplo #1 Exemplo do método timezone_identifiers_list()

<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
for ($i=0; $i < 5; $i++) {
    echo "$timezone_identifiers[$i]\n";
}
?>

O exemplo acima irá imprimir algo similar à:

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara

Veja Também

  • timezone_abbreviations_list() - Sinônimo de DateTimeZone::listAbbreviations


A classe DateInterval

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Introdução

Representa um intervalo entre datas.

Um intervalo de data armazena, tanto uma quantidade de tempo (em anos, meses, dias, horas, etc), quanto uma string de tempo relativo no formato que o construtor da classe DateTime possui suporte.

Sinopse da classe

DateInterval {
/* Propriedades */
public inteiro $y ;
public inteiro $m ;
public inteiro $d ;
public inteiro $h ;
public inteiro $i ;
public inteiro $s ;
public inteiro $invert ;
public mixto $days ;
/* Métodos */
public __construct ( string $interval_spec )
public static createFromDateString ( string $time ) : DateInterval
public format ( string $format ) : string
}

Propriedades

y

Número de anos.

m

Número de meses.

d

Número de dias.

h

Número de horas.

i

Número de minutos.

s

Número de segundos.

invert

Será 1 se o intervalo representa um período negativo de tempo e 0 caso contrário. Veja DateInterval::format().

days

Se o objeto DateInterval foi criado por DateTime::diff(), representará o número total de dias entre a data inicial e final. Caso contrário, days será false.

Em versões anteriores ao PHP 5.4.20/5.5.4 em vez de false, retornará -99999 ao acessar essa propriedade.

Índice

  • DateInterval::__construct — Cria um novo objeto DateInterval
  • DateInterval::createFromDateString — Cria um DateInterval de porções relativas da string
  • DateInterval::format — Formata um intervalo


Cria um novo objeto DateInterval

  • « DateInterval
  • DateInterval::createFromDateString »
  • PHP Manual
  • DateInterval
  • Cria um novo objeto DateInterval

DateInterval::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateInterval::__construct — Cria um novo objeto DateInterval

Descrição

public DateInterval::__construct ( string $interval_spec )

Cria um novo objeto DateInterval.

Parâmetros

interval_spec

Uma especificação de intervalo.

O formato inicia-se com a letra P, de período. Cada período de duração é representado por um valor inteiro seguido do designador de período. Se a duração conter elementos de tempo, essa porção da especificação é precedida pela letra T.

interval_spec Designadores de Período
Designador de Período | Descrição
Y | anos
M | meses
D | dias
W | semanas. Essa é convertida em dias, portanto não pode ser combinada com D.
H | horas
M | minutos
S | segundos

Alguns exemplos simples. Dois dias é representado com P2D. Dois segundos é representado com PT2S. Seis anos e cinco minutos é representado com P6YT5M.

Nota:

O tipo de unidade deve ser inserida da unidade de maior escala a esquerda da de menor escala, essa a direta. Então, anos antes de meses, meses antes de dias, dias antes de minutos, e etc. Assim, um ano e quatro dias deve ser representado com P1Y4D, e não P4D1Y.

A especificação também pode ser representada como data e hora. Um exemplo de um ano e quatro dias seria P0001-00-04T00:00:00. Porém, valores neste formato não podem exceder o tamanho máximo do período (por exemplo 25 horas é inválido).

Estes formatos são baseados na » ISO 8601 duration specification.

Erros

Lança uma exceção Exception quando o parâmetro interval_spec não conseguir ser interpretado como um intervalo.

Exemplos

Exemplo #1 Exemplo da classe DateInterval

<?php

$interval = new DateInterval('P2Y4DT6H8M');
var_dump($interval);

?>

O exemplo acima irá imprimir:

object(DateInterval)#1 (8) {
  ["y"]=>
  int(2)
  ["m"]=>
  int(0)
  ["d"]=>
  int(4)
  ["h"]=>
  int(6)
  ["i"]=>
  int(8)
  ["s"]=>
  int(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  bool(false)
}

Veja Também

  • DateInterval::format() - Formata um intervalo
  • DateTime::add() - Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime
  • DateTime::sub() - Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime
  • DateTime::diff() - Retorna a diferença entre dois objetos DateTime


Cria um DateInterval de porções relativas da string

  • « DateInterval::__construct
  • DateInterval::format »
  • PHP Manual
  • DateInterval
  • Cria um DateInterval de porções relativas da string

DateInterval::createFromDateString

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateInterval::createFromDateString — Cria um DateInterval de porções relativas da string

Descrição

public static DateInterval::createFromDateString ( string $time ) : DateInterval

Utiliza o interpretador de datas para criar um DateInterval a partir de porções relativas de uma string analisada.

Parâmetros

time

Uma data com porções relativas. Especificamente, os formatos relativos suportados pelo analisador utilizados em strtotime() e DateTime serão utilizados para construir o DateInterval.

Exemplos

Exemplo #1 Analisando intervalos de datas válidos

<?php
// Each set of intervals is equal.
$i = new DateInterval('P1D');
$i = DateInterval::createFromDateString('1 day');

$i = new DateInterval('P2W');
$i = DateInterval::createFromDateString('2 weeks');

$i = new DateInterval('P3M');
$i = DateInterval::createFromDateString('3 months');

$i = new DateInterval('P4Y');
$i = DateInterval::createFromDateString('4 years');

$i = new DateInterval('P1Y1D');
$i = DateInterval::createFromDateString('1 year + 1 day');

$i = new DateInterval('P1DT12H');
$i = DateInterval::createFromDateString('1 day + 12 hours');

$i = new DateInterval('PT3600S');
$i = DateInterval::createFromDateString('3600 seconds');
?>

Valor Retornado

Retorna uma nova instância de DateInterval.


Formata um intervalo

  • « DateInterval::createFromDateString
  • DatePeriod »
  • PHP Manual
  • DateInterval
  • Formata um intervalo

DateInterval::format

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateInterval::format — Formata um intervalo

Descrição

public DateInterval::format ( string $format ) : string

Formata um intervalo.

Parâmetros

format

Os caracteres a seguir são reconhecidos como string no parâmetro format. Cada um dos caracteres de formato deve ser precedidos com o sinal de porcento (%).
Caracter de format | Descrição | Exemplo de valores
% % literal %
Y | Anos, em representação numérica, com dois dígitos e zero à esquerda | Years, numeric, at least 2 digits with leading 0 | 01, 03
y | Anos, em representação numérica | 1, 3
M | Meses, em presentação numérica, com dois dígitos e zero à esquerda | 01, 03, 12
m | Meses, em presentação numérica | 1, 3, 12
D | Dias, em presentação numérica, com dois dígitos e zero à esquerda | 01, 03, 31
d | Dias, em presentação numérica | 1, 3, 31
a | Número total de dias resultante de DateTime::diff() ou (unknown), caso contrário | 4, 18, 8123
H | Horas, em presentação numérica, com dois dígitos e zero à esquerda | 01, 03, 23
h | Horas, em presentação numérica | 1, 3, 23
I | Minutos, em presentação numérica, com dois dígitos e zero à esquerda | 01, 03, 59
i | Minutos, em presentação numérica | 1, 3, 59
S | Segundos, em presentação numérica, com dois dígitos e zero à esquerda | 01, 03, 57
s | Segundos, em presentação numérica | 1, 3, 57
R Sinal "-" quando negativo, "+" quando positivo -, +
r Sinal "-" quando negativo, sem sinal quando positivo -,

Valor Retornado

Retorna o intervalo formatado.

Notas

Nota:

O método DateInterval::format() não recalcula os pontos de transferência em strings de tempo que não estejam no segmento da data. Isso é esperado por que não é possível extrapolar valores como em "32 dias" que pode ser interpretado como "1 mês e 4 dias" e até "1 mês e 1 dia".

Exemplos

Exemplo #1 Exemplo da classe DateInterval

<?php

$interval = new DateInterval('P2Y4DT6H8M');
echo $interval->format('%d days');

?>

O exemplo acima irá imprimir:

4 days

Exemplo #2 A classe DateInterval e os pontos de transferência

<?php

$interval = new DateInterval('P32D');
echo $interval->format('%d days');

?>

O exemplo acima irá imprimir:

32 days

Exemplo #3 DateInterval e DateTime::diff() com os modificadores %a e %d

<?php

$january = new DateTime('2010-01-01');
$february = new DateTime('2010-02-01');
$interval = $february->diff($january);

// %a will output the total number of days.
echo $interval->format('%a total days')."\n";

// While %d will only output the number of days not already covered by the
// month.
echo $interval->format('%m month, %d days');

?>

O exemplo acima irá imprimir:

31 total days
1 month, 0 days

Veja Também

  • DateTime::diff() - Retorna a diferença entre dois objetos DateTime


A classe DatePeriod

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Introdução

Representa um período entre datas.

O período entre datas permite a iteração entre um conjunto de datas e horários recorrentes a intervalos regulares, durante um determinado período.

Sinopse da classe

DatePeriod implements Traversable {
/* Constantes */
const integer EXCLUDE_START_DATE = 1 ;
/* Propriedades */
public integer $recurrences ;
public boolean $include_start_date ;
public DateTimeInterface $start ;
public DateTimeInterface $current ;
public DateTimeInterface $end ;
public DateInterval $interval ;
/* Métodos */
public __construct ( DateTimeInterface $start , DateInterval $interval , int $recurrences , int $options = ? )
public __construct ( DateTimeInterface $start , DateInterval $interval , DateTimeInterface $end , int $options = ? )
public __construct ( string $isostr , int $options = ? )
public getDateInterval ( ) : DateInterval
public getEndDate ( ) : DateTimeInterface|null
public getRecurrences ( ) : int|null
public getStartDate ( ) : DateTimeInterface
}

Constantes pré-definidas

DatePeriod::EXCLUDE_START_DATE

Exclui a data inicial, utilizada em DatePeriod::__construct().

Propriedades

recurrences

O número de recorrências, se a instância DatePeriod foi criada com o argumento $recurrences. Veja também DatePeriod::getRecurrences().

include_start_date

Se inclui a data inicial na recorrências.

start

A data inicial do período.

current

Contém a data atual dentro do período.

end

Data final do período.

interval

Uma especificação ISO 8601 do intervalo repetidor.

Changelog

Versão | Descrição
5.3.27, 5.4.17 | As propriedades recurrences, include_start_date, start, current, end e interval foram expostas.

Índice

  • DatePeriod::__construct — Cria um novo objeto DatePeriod
  • DatePeriod::getDateInterval — Gets the interval
  • DatePeriod::getEndDate — Gets the end date
  • DatePeriod::getRecurrences — Gets the number of recurrences
  • DatePeriod::getStartDate — Gets the start date


Cria um novo objeto DatePeriod

  • « DatePeriod
  • DatePeriod::getDateInterval »
  • PHP Manual
  • DatePeriod
  • Cria um novo objeto DatePeriod

DatePeriod::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DatePeriod::__construct — Cria um novo objeto DatePeriod

Descrição

public DatePeriod::__construct ( DateTimeInterface $start , DateInterval $interval , int $recurrences , int $options = ? )
public DatePeriod::__construct ( DateTimeInterface $start , DateInterval $interval , DateTimeInterface $end , int $options = ? )
public DatePeriod::__construct ( string $isostr , int $options = ? )

Cria um novo objeto DatePeriod.

Parâmetros

start

A data inicial do período.

interval

A recorrência de intervalos entre os períodos.

recurrences

Número de recorrências.

end

A data final do período.

isostr

Uma especificação de repetição de intervalos ISO 8601.

options

Pode ser configurado com DatePeriod::EXCLUDE_START_DATE para excluir a data inicial do conjunto de recorrências dentro do período.

Changelog

Versão | Descrição
5.5.8 | O tipo de end foi modificado para DateTimeImmutable. Anteriormente era DateTime.
5.5.0 | start foi modificado para DateTimeImmutable. Anteriormente era DateTime.

Exemplos

Exemplo #1 Exemplos de DatePeriod

<?php
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');
$recurrences = 4;
$iso = 'R4/2012-07-01T00:00:00Z/P7D';

// All of these periods are equivalent.
$period = new DatePeriod($start, $interval, $recurrences);
$period = new DatePeriod($start, $interval, $end);
$period = new DatePeriod($iso);

// By iterating over the DatePeriod object, all of the
// recurring dates within that period are printed.
foreach ($period as $date) {
    echo $date->format('Y-m-d')."\n";
}
?>

O exemplo acima irá imprimir:

2012-07-01
2012-07-08
2012-07-15
2012-07-22
2012-07-29

Exemplo #2 Exemplo de DatePeriod com DatePeriod::EXCLUDE_START_DATE

<?php
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');

$period = new DatePeriod($start, $interval, $end,
                         DatePeriod::EXCLUDE_START_DATE);

// By iterating over the DatePeriod object, all of the
// recurring dates within that period are printed.
// Note that, in this case, 2012-07-01 is not printed.
foreach ($period as $date) {
    echo $date->format('Y-m-d')."\n";
}
?>

O exemplo acima irá imprimir:

2012-07-08
2012-07-15
2012-07-22
2012-07-29


Gets the interval

  • « DatePeriod::__construct
  • DatePeriod::getEndDate »
  • PHP Manual
  • DatePeriod
  • Gets the interval

DatePeriod::getDateInterval

(PHP 5 >= 5.6.5, PHP 7, PHP 8)

DatePeriod::getDateInterval — Gets the interval

Descrição

Estilo orientado à objeto

public DatePeriod::getDateInterval ( ) : DateInterval

Gets a DateInterval object representing the interval used for the period.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a DateInterval object

Exemplos

Exemplo #1 DatePeriod::getDateInterval() example

<?php
$period = new DatePeriod('R7/2016-05-16T00:00:00Z/P1D');
$interval = $period->getDateInterval();
echo $interval->format('%d day');
?>

O exemplo acima irá imprimir:

1 day

Veja Também

  • DatePeriod::getStartDate() - Gets the start date
  • DatePeriod::getEndDate() - Gets the end date


Gets the end date

  • « DatePeriod::getDateInterval
  • DatePeriod::getRecurrences »
  • PHP Manual
  • DatePeriod
  • Gets the end date

DatePeriod::getEndDate

(PHP 5 >= 5.6.5, PHP 7, PHP 8)

DatePeriod::getEndDate — Gets the end date

Descrição

Estilo orientado à objeto

public DatePeriod::getEndDate ( ) : DateTimeInterface|null

Gets the end date of the period.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns null if the DatePeriod does not have an end date. For example, when initialized with the recurrences parameter, or the isostr parameter without an end date.

Returns a DateTimeImmutable object when the DatePeriod is initialized with a DateTimeImmutable object as the end parameter.

Returns a DateTime object otherwise.

Exemplos

Exemplo #1 DatePeriod::getEndDate() example

<?php
$period = new DatePeriod(
    new DateTime('2016-05-16T00:00:00Z'),
    new DateInterval('P1D'),
    new DateTime('2016-05-20T00:00:00Z')
);
$start = $period->getEndDate();
echo $start->format(DateTime::ISO8601);
?>

Os exemplos acima irão imprimir:

2016-05-20T00:00:00+0000

Exemplo #2 DatePeriod::getEndDate() without an end date

<?php
$period = new DatePeriod(
    new DateTime('2016-05-16T00:00:00Z'),
    new DateInterval('P1D'),
    7
);
var_dump($period->getEndDate());
?>

O exemplo acima irá imprimir:

NULL

Veja Também

  • DatePeriod::getStartDate() - Gets the start date
  • DatePeriod::getDateInterval() - Gets the interval


Gets the number of recurrences

  • « DatePeriod::getEndDate
  • DatePeriod::getStartDate »
  • PHP Manual
  • DatePeriod
  • Gets the number of recurrences

DatePeriod::getRecurrences

(PHP 7 >= 7.2.17/7.3.4, PHP 8)

DatePeriod::getRecurrences — Gets the number of recurrences

Descrição

Estilo orientado à objeto

public DatePeriod::getRecurrences ( ) : int|null

Get the number of recurrences.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of recurrences.

Veja Também

  • DatePeriod::$recurrences


Gets the start date

  • « DatePeriod::getRecurrences
  • Funções de Data/Hora »
  • PHP Manual
  • DatePeriod
  • Gets the start date

DatePeriod::getStartDate

(PHP 5 >= 5.6.5, PHP 7, PHP 8)

DatePeriod::getStartDate — Gets the start date

Descrição

Estilo orientado à objeto

public DatePeriod::getStartDate ( ) : DateTimeInterface

Gets the start date of the period.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a DateTimeImmutable object when the DatePeriod is initialized with a DateTimeImmutable object as the start parameter.

Returns a DateTime object otherwise.

Exemplos

Exemplo #1 DatePeriod::getStartDate() example

<?php
$period = new DatePeriod('R7/2016-05-16T00:00:00Z/P1D');
$start = $period->getStartDate();
echo $start->format(DateTime::ISO8601);
?>

O exemplo acima irá imprimir:

2016-05-16T00:00:00+0000

Veja Também

  • DatePeriod::getEndDate() - Gets the end date
  • DatePeriod::getDateInterval() - Gets the interval


Funções de Data/Hora

Índice

  • checkdate — Valida uma data Gregoriana
  • date_add — Sinônimo de DateTime::add
  • date_create_from_format — Sinônimo de DateTime::createFromFormat
  • date_create_immutable_from_format — Sinônimo de DateTimeImmutable::createFromFormat
  • date_create_immutable — Sinônimo de DateTimeImmutable::__construct
  • date_create — Sinônimo de DateTime::__construct
  • date_date_set — Sinônimo de DateTime::setDate
  • date_default_timezone_get — Retorna o fuso horário padrão usado por todas as funções de data e tempo em um script
  • date_default_timezone_set — Configura o fuso horário padrão utilizado por todas as funções de data e hora em um script
  • date_diff — Sinônimo de DateTime::diff
  • date_format — Sinônimo de DateTime::format
  • date_get_last_errors — Sinônimo de DateTime::getLastErrors
  • date_interval_create_from_date_string — Sinônimo de DateInterval::createFromDateString
  • date_interval_format — Sinônimo de DateInterval::format
  • date_isodate_set — Sinônimo de DateTime::setISODate
  • date_modify — Sinônimo de DateTime::modify
  • date_offset_get — Sinônimo de DateTime::getOffset
  • date_parse_from_format — Retorna informações sobre uma data informada de acordo com um formato
  • date_parse — Retorna um array associativo com informações detalhadas da data informada
  • date_sub — Sinônimo de DateTime::sub
  • date_sun_info — Retorna um array com informações sobre pôr do sol/nascer do sol e o início/fim do dia
  • date_sunrise — Retorna a hora do nascer do sol de um dia e localicação informada
  • date_sunset — Retorna a hora do pôr do sol de um dia e localização informada.
  • date_time_set — Sinônimo de DateTime::setTime
  • date_timestamp_get — Sinônimo de DateTime::getTimestamp
  • date_timestamp_set — Sinônimo de DateTime::setTimestamp
  • date_timezone_get — Sinônimo de DateTime::getTimezone
  • date_timezone_set — Sinônimo de DateTime::setTimezone
  • date — Formata a data e a hora local
  • getdate — Recupera informações de data/hora
  • gettimeofday — Obtém a hora atual
  • gmdate — Formata uma data/hora GMT/CUT
  • gmmktime — Obtém um timestamp Unix para uma data GMT
  • gmstrftime — Formata uma hora/data GMT/CUT de acordo com as configurações de localidade
  • idate — Formata uma hora/data local como um inteiro
  • localtime — Obtém a hora local
  • microtime — Retorna um timestamp Unix em microsegundos
  • mktime — Obtém um timestamp Unix de uma data
  • strftime — Formata uma hora/data de acordo com as configurações locais
  • strptime — Interpreta uma hora/data gerada pela função strftime
  • strtotime — Interpreta qualquer descrição de data/hora em texto em inglês em timestamp Unix
  • time — Retorna o timestamp Unix atual
  • timezone_abbreviations_list — Sinônimo de DateTimeZone::listAbbreviations
  • timezone_identifiers_list — Sinônimo de DateTimeZone::listIdentifiers
  • timezone_location_get — Sinônimo de DateTimeZone::getLocation
  • timezone_name_from_abbr — Retorna o fuso horário a partir de uma abreviação
  • timezone_name_get — Sinônimo de DateTimeZone::getName
  • timezone_offset_get — Sinônimo de DateTimeZone::getOffset
  • timezone_open — Retorna um novo objeto DateTimeZone
  • timezone_transitions_get — Sinônimo de DateTimeZone::getTransitions
  • timezone_version_get — Recupera a versão do timezonedb


Valida uma data Gregoriana

  • « Funções de Data/Hora
  • date_add »
  • PHP Manual
  • Funções de Data/Hora
  • Valida uma data Gregoriana

checkdate

(PHP 4, PHP 5, PHP 7, PHP 8)

checkdate — Valida uma data Gregoriana

Descrição

checkdate ( int $month , int $day , int $year ) : bool

Checa a validade da data formada pelos argumentos. Uma data é considerada válida se cada parâmetro é adequadamente definido.

Parâmetros

month

O mês entre 1 e 12.

day

O dia está dentro do número permitido de dias para um month. Anos bissexto são levados em consideração.

year

O ano está entre 1 e 32767, incluso.

Valor Retornado

Retorna true se a data informada é valida; caso contrário retorna false.

Exemplos

Exemplo #1 Exemplo da checkdate()

<?php
 var_dump(checkdate(12, 31, 2000));
 var_dump(checkdate(2, 29, 2001));
 ?>

O exemplo acima irá imprimir:

bool(true)
bool(false)

Veja Também

  • mktime() - Obtém um timestamp Unix de uma data
  • strtotime() - Interpreta qualquer descrição de data/hora em texto em inglês em timestamp Unix


Sinônimo de DateTime::add

  • « checkdate
  • date_create_from_format »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::add

date_add

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_add — Sinônimo de DateTime::add()

Descrição

Esta função é um apelido para: DateTime::add()


Sinônimo de DateTime::createFromFormat

  • « date_add
  • date_create_immutable_from_format »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::createFromFormat

date_create_from_format

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_create_from_format — Sinônimo de DateTime::createFromFormat()

Descrição

Esta função é um apelido para: DateTime::createFromFormat()


Sinônimo de DateTimeImmutable::createFromFormat

  • « date_create_from_format
  • date_create_immutable »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTimeImmutable::createFromFormat

date_create_immutable_from_format

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

date_create_immutable_from_format — Sinônimo de DateTimeImmutable::createFromFormat()

Descrição

Esta função é um apelido para: DateTimeImmutable::createFromFormat()


Sinônimo de DateTimeImmutable::__construct

  • « date_create_immutable_from_format
  • date_create »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTimeImmutable::__construct

date_create_immutable

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

date_create_immutable — Sinônimo de DateTimeImmutable::__construct()

Descrição

Esta função é um apelido para: DateTimeImmutable::__construct()


Sinônimo de DateTime::__construct

  • « date_create_immutable
  • date_date_set »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::__construct

date_create

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_create — Sinônimo de DateTime::__construct()

Descrição

Esta função é um apelido para: DateTime::__construct()


Sinônimo de DateTime::setDate

  • « date_create
  • date_default_timezone_get »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::setDate

date_date_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_date_set — Sinônimo de DateTime::setDate()

Descrição

Esta função é um apelido para: DateTime::setDate()


Retorna o fuso horário padrão usado por todas as funções de data e tempo em um script

  • « date_date_set
  • date_default_timezone_set »
  • PHP Manual
  • Funções de Data/Hora
  • Retorna o fuso horário padrão usado por todas as funções de data e tempo em um script

date_default_timezone_get

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

date_default_timezone_get — Retorna o fuso horário padrão usado por todas as funções de data e tempo em um script

Descrição

date_default_timezone_get ( ) : string

Em ordem de preferência, essa função retorna o fuso horário padrão:

  • Lendo o fuso horário configurado utilizando a função date_default_timezone_set() (se existir)

  • Até o PHP 5.4.0 somente: Lendo a variável de ambiente TZ (se não estiver vazia)

  • Lendo o valor de date.timezone do ini (se configurada)

  • Até o PHP 5.4.0 somente: Requisitando o sistema operacional (se suportado e permitido pelo SO). Usa um algoritmo que tenta adivinhar o fuso horário. De modo algum, funcionará corretamente em qualquer situação. Um aviso será mostrado quando esse estágio é alcançado. Não confie que ele será adivinhado corretamente, e configure date.timezone para o fuso correto.

Se nenhuma das opções acima obter êxito, a função date_default_timezone_get() retornará o fuso horário padrão UTC

Valor Retornado

Retorna uma string.

Changelog

Versão | Descrição
5.4.0 | A variável de ambiente TZ não é mais utilizada para adivinhar o fuso horário.
5.4.0 | O fuso horário não é mais suposto por informações disponíveis no sistema operacional, já que o fuso horário adivinhado não é confiável.

Exemplos

Exemplo #1 Lendo o fuso horário padrão

<?php
date_default_timezone_set('Europe/London');

if (date_default_timezone_get()) {
    echo 'date_default_timezone_set: ' . date_default_timezone_get() . '<br />';
}

if (ini_get('date.timezone')) {
    echo 'date.timezone: ' . ini_get('date.timezone');
}

?>

O exemplo acima irá imprimir algo similar à:

date_default_timezone_set: Europe/London
date.timezone: Europe/London

Exemplo #2 Lendo a abreviação de um fuso horário

<?php
date_default_timezone_set('America/Los_Angeles');
echo date_default_timezone_get() . ' => ' . date('e') . ' => ' . date('T');
?>

O exemplo acima irá imprimir:

America/Los_Angeles => America/Los_Angeles => PST

Veja Também

  • date_default_timezone_set() - Configura o fuso horário padrão utilizado por todas as funções de data e hora em um script
  • Lista de Fusos Horários Suportados


Configura o fuso horário padrão utilizado por todas as funções de data e hora em um script

  • « date_default_timezone_get
  • date_diff »
  • PHP Manual
  • Funções de Data/Hora
  • Configura o fuso horário padrão utilizado por todas as funções de data e hora em um script

date_default_timezone_set

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

date_default_timezone_set — Configura o fuso horário padrão utilizado por todas as funções de data e hora em um script

Descrição

date_default_timezone_set ( string $timezone_identifier ) : bool

date_default_timezone_set() configura o fuso horário padrão utilizado por todas as funções de data e hora.

Nota:

Desde o PHP 5.1.0 (quando as funções de data e tempo foram reescritas), toda chamada a esse tipo de função irá gerar um E_NOTICE se o fuso horário não é válido, e/ou uma mensagem E_WARNING se estiver utilizando as configurações do sistema ou a variável de ambiente TZ.

Em vez de utilizar essa função para setar o fuso horário padrão no seu script, você pode também utilizar a configuração INI date.timezone para configurar o fuso horário padrão.

Parâmetros

timezone_identifier

O identificador do fuso horário, como UTC ou Europe/Lisbon. A lista de identificadores válidos está disponível em Lista de Fusos Horários Suportados.

Valor Retornado

A função retorna false se o timezone_identifier não é válido, ou true caso contrário.

Exemplos

Exemplo #1 Lendo o fuso horário padrão

<?php
date_default_timezone_set('America/Los_Angeles');

$script_tz = date_default_timezone_get();

if (strcmp($script_tz, ini_get('date.timezone'))){
    echo 'Script timezone differs from ini-set timezone.';
} else {
    echo 'Script timezone and ini-set timezone match.';
}
?>

Changelog

Versão | Descrição
5.3.0 | Agora retorna E_WARNING ao invés de E_STRICT.
5.1.2 | A função passou a validar o parâmetro timezone_identifier.

Veja Também

  • date_default_timezone_get() - Retorna o fuso horário padrão usado por todas as funções de data e tempo em um script
  • Lista de Fusos Horários Suportados


Sinônimo de DateTime::diff

  • « date_default_timezone_set
  • date_format »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::diff

date_diff

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_diff — Sinônimo de DateTime::diff()

Descrição

Esta função é um apelido para: DateTime::diff()


Sinônimo de DateTime::format

  • « date_diff
  • date_get_last_errors »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::format

date_format

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_format — Sinônimo de DateTime::format()

Descrição

Esta função é um apelido para: DateTime::format()


Sinônimo de DateTime::getLastErrors

  • « date_format
  • date_interval_create_from_date_string »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::getLastErrors

date_get_last_errors

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_get_last_errors — Sinônimo de DateTime::getLastErrors()

Descrição

Esta função é um apelido para: DateTime::getLastErrors()


Sinônimo de DateInterval::createFromDateString

  • « date_get_last_errors
  • date_interval_format »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateInterval::createFromDateString

date_interval_create_from_date_string

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_interval_create_from_date_string — Sinônimo de DateInterval::createFromDateString()

Descrição

Esta função é um apelido para: DateInterval::createFromDateString()


Sinônimo de DateInterval::format

  • « date_interval_create_from_date_string
  • date_isodate_set »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateInterval::format

date_interval_format

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_interval_format — Sinônimo de DateInterval::format()

Descrição

Esta função é um apelido para: DateInterval::format()


Sinônimo de DateTime::setISODate

  • « date_interval_format
  • date_modify »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::setISODate

date_isodate_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_isodate_set — Sinônimo de DateTime::setISODate()

Descrição

Esta função é um apelido para: DateTime::setISODate()


Sinônimo de DateTime::modify

  • « date_isodate_set
  • date_offset_get »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::modify

date_modify

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_modify — Sinônimo de DateTime::modify()

Descrição

Esta função é um apelido para: DateTime::modify()


Sinônimo de DateTime::getOffset

  • « date_modify
  • date_parse_from_format »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::getOffset

date_offset_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_offset_get — Sinônimo de DateTime::getOffset()

Descrição

Esta função é um apelido para: DateTime::getOffset()


Retorna informações sobre uma data informada de acordo com um formato

  • « date_offset_get
  • date_parse »
  • PHP Manual
  • Funções de Data/Hora
  • Retorna informações sobre uma data informada de acordo com um formato

date_parse_from_format

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_parse_from_format — Retorna informações sobre uma data informada de acordo com um formato

Descrição

date_parse_from_format ( string $format , string $date ) : array

Retorna um array associativo com informações da data informada.

Parâmetros

format

Formato aceito pelo método DateTime::createFromFormat().

date

String que representa a data.

Valor Retornado

Retorna um array associativo com informações da data informada.

Exemplos

Exemplo #1 Exemplo da função date_parse_from_format()

<?php
$date = "6.1.2009 13:00+01:00";
print_r(date_parse_from_format("j.n.Y H:iP", $date));
?>

O exemplo acima irá imprimir:

Array
(
    [year] => 2009
    [month] => 1
    [day] => 6
    [hour] => 13
    [minute] => 0
    [second] => 0
    [fraction] =>
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 0
    [errors] => Array
        (
        )

    [is_localtime] => 1
    [zone_type] => 1
    [zone] => -60
    [is_dst] =>
)

Veja Também

  • DateTime::createFromFormat() - Retorna um novo objeto DateTime formatado de acordo com um formato informado
  • checkdate() - Valida uma data Gregoriana


Retorna um array associativo com informações detalhadas da data informada

  • « date_parse_from_format
  • date_sub »
  • PHP Manual
  • Funções de Data/Hora
  • Retorna um array associativo com informações detalhadas da data informada

date_parse

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_parse — Retorna um array associativo com informações detalhadas da data informada

Descrição

date_parse ( string $date ) : array

Parâmetros

date

Data no formato aceito pela função strtotime().

Valor Retornado

Retorna um array com informações da data analisada em caso de sucesso ou false em caso de falha

Erros

No caso do formato da data conter erro, o elemento 'errors' conterá as mensagens de erro.

Exemplos

Exemplo #1 Um exemplo da função date_parse()

<?php
print_r(date_parse("2006-12-12 10:00:00.5"));
?>

O exemplo acima irá imprimir:

Array
(
    [year] => 2006
    [month] => 12
    [day] => 12
    [hour] => 10
    [minute] => 0
    [second] => 0
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array()
    [error_count] => 0
    [errors] => Array()
    [is_localtime] =>
)

Formatos relativos não influenciam valores interpretados de formatos absolutos, mas são analisados no elemento "relative".

Exemplo #2 date_parse() com formatos relativos

<?php
print_r(date_parse("2006-12-12 10:00:00.5 +1 week +1 hour"));
?>

O exemplo acima irá imprimir:

Array
(
    [year] => 2006
    [month] => 12
    [day] => 12
    [hour] => 10
    [minute] => 0
    [second] => 0
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 0
    [errors] => Array
        (
        )

    [is_localtime] =>
    [relative] => Array
        (
            [year] => 0
            [month] => 0
            [day] => 7
            [hour] => 1
            [minute] => 0
            [second] => 0
        )

)

Veja Também

  • checkdate() - Valida uma data Gregoriana
  • getdate() - Recupera informações de data/hora


Sinônimo de DateTime::sub

  • « date_parse
  • date_sun_info »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::sub

date_sub

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_sub — Sinônimo de DateTime::sub()

Descrição

Esta função é um apelido para: DateTime::sub()


Retorna um array com informações sobre pôr do sol/nascer do sol e o início/fim do dia

  • « date_sub
  • date_sunrise »
  • PHP Manual
  • Funções de Data/Hora
  • Retorna um array com informações sobre pôr do sol/nascer do sol e o início/fim do dia

date_sun_info

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

date_sun_info — Retorna um array com informações sobre pôr do sol/nascer do sol e o início/fim do dia

Descrição

date_sun_info ( int $time , float $latitude , float $longitude ) : array

Parâmetros

time

Timestamp.

latitude

Latitude em graus.

longitude

Longitude em graus.

Valor Retornado

Retorna um array em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Um exemplo de date_sun_info()

<?php
$sun_info = date_sun_info(strtotime("2006-12-12"), 31.7667, 35.2333);
foreach ($sun_info as $key => $val) {
    echo "$key: " . date("H:i:s", $val) . "\n";
}
?>

O exemplo acima irá imprimir:

sunrise: 05:52:11
sunset: 15:41:21
transit: 10:46:46
civil_twilight_begin: 05:24:08
civil_twilight_end: 16:09:24
nautical_twilight_begin: 04:52:25
nautical_twilight_end: 16:41:06
astronomical_twilight_begin: 04:21:32
astronomical_twilight_end: 17:12:00

Veja Também

  • date_sunrise() - Retorna a hora do nascer do sol de um dia e localicação informada
  • date_sunset() - Retorna a hora do pôr do sol de um dia e localização informada.


Retorna a hora do nascer do sol de um dia e localicação informada

  • « date_sun_info
  • date_sunset »
  • PHP Manual
  • Funções de Data/Hora
  • Retorna a hora do nascer do sol de um dia e localicação informada

date_sunrise

(PHP 5, PHP 7, PHP 8)

date_sunrise — Retorna a hora do nascer do sol de um dia e localicação informada

Descrição

date_sunrise ( int $timestamp , int $format = SUNFUNCS_RET_STRING , float $latitude = ini_get("date.default_latitude") , float $longitude = ini_get("date.default_longitude") , float $zenith = ini_get("date.sunrise_zenith") , float $gmt_offset = 0 ) : mixed

A função date_sunrise() retorna a hora do nascer do sol de um dia (especificado como um timestamp) e localização informada.

Parâmetros

timestamp

O timestamp do nascer do sol do dia desejado.

format

constantes de format
constante | descrição | exemplo
SUNFUNCS_RET_STRING | retorna o resultado como uma string | 16:46
SUNFUNCS_RET_DOUBLE | retorna o resultado como um float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | retorna o resultado como um integer (timestamp) | 1095034606

latitude

Padronizado ao Norte, passe o valor negativado para Sul. Veja também: date.default_latitude

longitude

Padronizado a Leste, passe o valor negativado para Oeste. Veja também: date.default_longitude

zenith

Padrão: date.sunrise_zenith

gmtoffset

Especificado em horas.

Valor Retornado

Retorna a hora do nascer do sol no format especificado em caso de sucesso ou false em caso de falha.

Erros

Todas as chamadas a funções de data/hora gerarão um E_NOTICE se o fuso horário não for válido, e/ou uma mensagem E_STRICT ou E_WARNING se utilizar as configurações do sistema ou a variável de ambiente TZ. Veja também date_default_timezone_set()

Changelog

Versão | Descrição
5.1.0 | Agora lança erros E_STRICT e E_NOTICE .

Exemplos

Exemplo #1 Exemplo da função date_sunrise()

<?php

/* calculate the sunrise time for Lisbon, Portugal
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', sunrise time : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

O exemplo acima irá imprimir algo similar à:

Mon Dec 20 2004, sunrise time : 08:54

Veja Também

  • date_sunset() - Retorna a hora do pôr do sol de um dia e localização informada.


Retorna a hora do pôr do sol de um dia e localização informada.

  • « date_sunrise
  • date_time_set »
  • PHP Manual
  • Funções de Data/Hora
  • Retorna a hora do pôr do sol de um dia e localização informada.

date_sunset

(PHP 5, PHP 7, PHP 8)

date_sunset — Retorna a hora do pôr do sol de um dia e localização informada.

Descrição

date_sunset ( int $timestamp , int $format = SUNFUNCS_RET_STRING , float $latitude = ini_get("date.default_latitude") , float $longitude = ini_get("date.default_longitude") , float $zenith = ini_get("date.sunset_zenith") , float $gmt_offset = 0 ) : mixed

A função date_sunrise() retorna a hora do pôr do sol de um dia (especificado como um timestamp) e localização informada.

Parâmetros

timestamp

O timestamp do dia do pôr do sol desejado.

format

format constants
constante | descrição | exemplo
SUNFUNCS_RET_STRING | retorna o resultado como uma string | 16:46
SUNFUNCS_RET_DOUBLE | retorna o resultado como um float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | retorna o resultado como um integer (timestamp) | 1095034606

latitude

Padronizado ao Norte, passe o valor negativado para Sul. Veja também: date.default_latitude

longitude

Padronizado a Leste, passe o valor negativado para Oeste. Veja também: date.default_longitude

zenith

Default: date.sunset_zenith

gmtoffset

Especificado em horas.

Erros

Todas as chamadas a funções de data/hora gerarão um E_NOTICE se o fuso horário não for válido, e/ou uma mensagem E_STRICT ou E_WARNING se utilizar as configurações do sistema ou a variável de ambiente TZ. Veja também date_default_timezone_set()

Changelog

Versão | Descrição
5.1.0 | Agora lança erros E_STRICT e E_NOTICE .

Valor Retornado

Retorna a hora do pôr do sol no format especificado em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da função date_sunset()

<?php

/* calculate the sunset time for Lisbon, Portugal
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', sunset time : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

O exemplo acima irá imprimir algo similar à:

Mon Dec 20 2004, sunset time : 18:13

Veja Também

  • date_sunrise() - Retorna a hora do nascer do sol de um dia e localicação informada


Sinônimo de DateTime::setTime

  • « date_sunset
  • date_timestamp_get »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::setTime

date_time_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_time_set — Sinônimo de DateTime::setTime()

Descrição

Esta função é um apelido para: DateTime::setTime()


Sinônimo de DateTime::getTimestamp

  • « date_time_set
  • date_timestamp_set »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::getTimestamp

date_timestamp_get

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_timestamp_get — Sinônimo de DateTime::getTimestamp()

Descrição

Esta função é um apelido para: DateTime::getTimestamp()


Sinônimo de DateTime::setTimestamp

  • « date_timestamp_get
  • date_timezone_get »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::setTimestamp

date_timestamp_set

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_timestamp_set — Sinônimo de DateTime::setTimestamp()

Descrição

Esta função é um apelido para: DateTime::setTimestamp()


Sinônimo de DateTime::getTimezone

  • « date_timestamp_set
  • date_timezone_set »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::getTimezone

date_timezone_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_timezone_get — Sinônimo de DateTime::getTimezone()

Descrição

Esta função é um apelido para: DateTime::getTimezone()


Sinônimo de DateTime::setTimezone

  • « date_timezone_get
  • date »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTime::setTimezone

date_timezone_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_timezone_set — Sinônimo de DateTime::setTimezone()

Descrição

Esta função é um apelido para: DateTime::setTimezone()


Formata a data e a hora local

  • « date_timezone_set
  • getdate »
  • PHP Manual
  • Funções de Data/Hora
  • Formata a data e a hora local

date

(PHP 4, PHP 5, PHP 7, PHP 8)

date — Formata a data e a hora local

Descrição

date ( string $format , int $timestamp = ? ) : string

Retorna uma string de acordo com a string de formato informada usando o inteiro timestamp informado, ou a hora atual local se nenhum timestamp for informado. Em outras palavras, o parâmetro timestamp é opcional e padronizado para o valor de time().

Parâmetros

format

A string de formatação da data a ser mostrada. Veja as opções de formatação abaixo. Também existem diversas constantes predefinidas de data que podem ser utilizadas em substituição, por exemplo, a constante DATE_RSS contêm a string de formatação 'D, d M Y H:i:s'.

Os seguintes caracteres são reconhecidos na string do parâmetro format
Caractere de format | Descrição | Exemplo de valores retornados
Dia --- ---
d | Dia do mês, 2 dígitos com zero à esquerda | 01 até 31
D | Uma representação textual de um dia, três letras | Mon até Sun
j | Dia do mês sem zero à esquerda | 1 até 31
l ('L' minúsculo) | A representação textual completa do dia da semana | Sunday até Saturday
N | Representação numérica ISO-8601 do dia da semana (adicionado no PHP 5.1.0) | 1 (para Segunda) até 7 (para Domingo)
S | Sufixo ordinal inglês para o dia do mês, 2 caracteres | st, nd, rd ou th. Funciona bem com j
w | Representação numérica do dia da semana | 0 (para domingo) até 6 (para sábado)
z | O dia do ano (iniciando em 0) | 0 até 365
Semana --- ---
W | Número do ano da semana ISO-8601, começa na Segunda (adicionado no PHP 4.1.0) | Exemplo: 42 (a 42ª semana do ano)
Mês --- ---
F | Um representação completa de um mês, como January ou March | January até December
m | Representação numérica de um mês, com zero à esquerda | 01 a 12
M | Uma representação textual curta de um mês, três letras | Jan a Dec
n | Representação numérica de um mês, sem zero à esquerda | 1 a 12
t | Número de dias de um dado mês | 28 até 31
Ano --- ---
L | Se está em um ano bissexto | 1 se está em ano bissexto, 0, caso contrário.
o | Número do ano ISO-8601. Este tem o mesmo valor como Y, exceto que se o número da semana ISO (W) pertence ao anterior ou próximo ano, o ano é usado ao invés. (adicionado no PHP 5.1.0) | Exemplos: 1999 ou 2003
Y | Uma representação de ano completa, 4 dígitos | Exemplos: 1999 ou 2003
y | Uma representação do ano com dois dígitos | Exemplos: 99 ou 03
Tempo --- ---
a | Antes/Depois de meio-dia em minúsculo | am or pm
A | Antes/Depois de meio-dia em maiúsculo | AM or PM
B | Swatch Internet time | 000 até 999
g | Formato 12-horas de uma hora sem zero à esquerda | 1 até 12
G | Formato 24-horas de uma hora sem zero à esquerda | 0 até 23
h | Formato 12-horas de uma hora com zero à esquerda | 01 até 12
H | Formato 24-horas de uma hora com zero à esquerda | 00 até 23
i | Minutos com zero à esquerda | 00 até 59
s | Segundos, com zero à esquerda | 00 até 59
u | Microssegundos (adicionado no PHP 5.2.2). Note que a função date() sempre gerará 000000, já que aceita um parâmetro integer, enquanto que DateTime::format() possui suporte a microssegundos se DateTime foi criado com microssegundos. | Example: 654321
Fuso horário --- ---
e | Identificador do fuso horário (adicionado no PHP 5.1.0) | Exemplos: UTC, GMT, Atlantic/Azores
I (i maiúsculo) | Se a data está ou não no horário de verão | 1 se horário de verão, 0, caso contrário.
O | Deslocamento ao Horário de Greenwish (GMT) em horas | Exemplo: +0200
P | Deslocamento ao Horário de Greenwish (GMT) com dois pontos entre horas e minutos (adicionado no PHP 5.1.3) | Exemplo: +02:00
T | Abreviação do fuso horário | Exemplos: EST, MDT ...
Z | Deslocamento, em segundos, do fuso horário. O deslocamento para fusos horários a oeste de UTC sempre será negativa, e para aqueles à leste de UTC sempre será positiva. | -43200 até 50400
Data/Hora completa --- ---
c | Data ISO 8601 (adicionado no PHP 5) | 2004-02-12T15:19:21+00:00
r | » RFC 2822 formatted date | Exemplo: Thu, 21 Dec 2000 16:01:07 +0200
U | Segundos desde Unix Epoch (January 1 1970 00:00:00 GMT) | Veja também time()

Caracteres não reconhecidos na string de formatação serão impressos como são. O formato Z será sempre retornará 0 quando usar gmdate().

Nota:

Sabendo que esta função aceita somente timestamps integer o caractere de formatação u é útil somente quando utilizado com a função date_format() com um timestamp do usuário criado com date_create().

timestamp

O parâmetro opcional timestamp é um integer Unix timestamp cujo padrão é a hora local se timestamp não for informado. Em outras palavras, o padrão é o valor da função time().

Valor Retornado

Retorna uma string da data formatada. Se um valor não-numérico é usado para timestamp, false é retornado e um erro de nível E_WARNING é emitido.

Erros

Todas as chamadas a funções de data/hora gerarão um E_NOTICE se o fuso horário não for válido, e/ou uma mensagem E_STRICT ou E_WARNING se utilizar as configurações do sistema ou a variável de ambiente TZ. Veja também date_default_timezone_set()

Changelog

Versão | Descrição
5.1.0 | O intervalo válido de um timestamp é tipicamente de Sex, 13 Dez 1901 20:45:54 GMT até Ter, 19 Jan 2038 03:14:07 GMT. (Estas são as datas que correspondem ao valor mínimo e máximo para um inteiro com sinal de 32-bit). Contudo, em versões anteriores ao PHP 5.1.0 este intervalo era limitado de 01-01-1970 para 19-01-2038 em alguns sistemas (e.g. Windows).
5.1.0 | Agora lança erros E_STRICT e E_NOTICE .
5.1.1 | Há constantes úteis do padrão de formato de data/hora que podem ser usados para especificar o parâmetro format.

Exemplos

Exemplo #1 Exemplos da função date()

<?php
// Modifica a zona de tempo a ser utilizada. Disnovível desde o PHP 5.1
date_default_timezone_set('UTC');

// Exibe alguma coisa como: Monday
echo date("l");

// Exibe alguma coisa como: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');

// Exibe: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

/* utiliza as constantes do parâmetro de formato */
// Exibe alguma coisa como: Mon, 15 Aug 2005 15:12:46 UTC
echo date(DATE_RFC822);

// Exibe alguma coisa como: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>

Para prevenir que um caractere reconhecido na string de formatação seja expandido, escape-o, precedendo-o com uma barra invertida. Se o caractere com a barra invertida já é uma sequência especial, você pode precisar também escapar a barra invertida.

Exemplo #2 Caracteres de escape em date()

<?php
// exibe algo como: Wednesday the 15th
echo date("l \\t\h\e jS");
?>

É possível utilizar as funções date() e mktime() juntas para encontrar datas no futuro ou no passado.

Exemplo #3 Exemplo da date() e mktime()

<?php
$tomorrow  = mktime (0, 0, 0, date("m")  , date("d")+1, date("Y"));
$lastmonth = mktime (0, 0, 0, date("m")-1, date("d"),  date("Y"));
$nextyear  = mktime (0, 0, 0, date("m"),  date("d"),  date("Y")+1);
?>

Nota:

Isso pode ser mais confiável do que simplesmente adicionar ou subtrair o número de segundos em um dia ou mês para um timestamp, devido o horário de verão.

Alguns exemplos de formatação de date(). Note que você deve escapar qualquer outro caractere, pois qualquer um que possua um significado especial produzirá resultados indesejáveis, e outros caracteres podem assumir significado em futuras versões do PHP. Quando usar escape, certifique-se de usar aspas simples para evitar que caracteres como \n virem novas linhas.

Exemplo #4 Formatação com a função date()

<?php
// Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
// Mountain Standard Time (MST) Time Zone

$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
$today = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (the MySQL DATETIME format)
?>

Para formatar datas em outros idiomas, você deve utilizar as funções setlocale() e strftime() em vez de date().

Notas

Nota:

Para gerar um timestamp de uma string da representação da data, pode-se utilizar as funções strtotime(). Adicionalmente, alguns banco de dados tem funções para converter os formatos de data para timestamps (como a função » UNIX_TIMESTAMP do MySQL).

Dica

O timestamp do início da requisição está disponível na variável $_SERVER['REQUEST_TIME'] desde o PHP 5.1.

Veja Também

  • gmdate() - Formata uma data/hora GMT/CUT
  • idate() - Formata uma hora/data local como um inteiro
  • getdate() - Recupera informações de data/hora
  • getlastmod() - Obtém o tempo da última modificação na pagina
  • mktime() - Obtém um timestamp Unix de uma data
  • strftime() - Formata uma hora/data de acordo com as configurações locais
  • time() - Retorna o timestamp Unix atual
  • strtotime() - Interpreta qualquer descrição de data/hora em texto em inglês em timestamp Unix
  • Constantes Predefinidas da Classe DateTime


Recupera informações de data/hora

  • « date
  • gettimeofday »
  • PHP Manual
  • Funções de Data/Hora
  • Recupera informações de data/hora

getdate

(PHP 4, PHP 5, PHP 7, PHP 8)

getdate — Recupera informações de data/hora

Descrição

getdate ( int $timestamp = time() ) : array

Retorna um array associativo contendo a informação da data do timestamp, ou a hora corrente local se nenhum timestamp for informado.

Parâmetros

timestamp

O parâmetro opcional timestamp é um integer Unix timestamp cujo padrão é a hora local se timestamp não for informado. Em outras palavras, o padrão é o valor da função time().

Valor Retornado

Retorna um array associativo de informação sobre o timestamp. Os elementos do array associativo são os seguintes:

Elementos chave de retorno do array associativo
Chave | Descrição | Exemplo dos valores retornados
"seconds" | Representação numérica dos segundos | 0 a 59
"minutes" | Representação numérica dos minutos | 0 a 59
"hours" | Representação numérica das horas | 0 a 23
"mday" | Representação numérica do dia do mês | 1 a 31
"wday" | Representação numérica do dia da semana | 0 (para Sunday) a 6 (para Saturday)
"mon" | Representação numérica de um mês | 1 a 12
"year" | Representação numérica completa do ano, 4 dígitos | Exemplos: 1999 ou 2003
"yday" | Representação numérica do dia do ano | 0 a 366
"weekday" | Representação textual completa do dia da semana | Sunday a Saturday
"month" | Representação textual completa de um mês, tal como January ou March | January a December
0 | Segundos desde a época UNIX, similar ao valor retornados pela função time() e utilizado pela função date(). | Dependente do sistema, tipicamente -2147483648 à 2147483647.

Exemplos

Exemplo #1 Exemplo da função getdate()

<?php
$today = getdate();
print_r($today);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [seconds] => 40
    [minutes] => 58
    [hours]   => 21
    [mday]    => 17
    [wday]    => 2
    [mon]     => 6
    [year]    => 2003
    [yday]    => 167
    [weekday] => Tuesday
    [month]   => June
    [0]       => 1055901520
)

Veja Também

  • date() - Formata a data e a hora local
  • idate() - Formata uma hora/data local como um inteiro
  • localtime() - Obtém a hora local
  • time() - Retorna o timestamp Unix atual
  • setlocale() - Define informações locais


Obtém a hora atual

  • « getdate
  • gmdate »
  • PHP Manual
  • Funções de Data/Hora
  • Obtém a hora atual

gettimeofday

(PHP 4, PHP 5, PHP 7, PHP 8)

gettimeofday — Obtém a hora atual

Descrição

gettimeofday ( bool $return_float = ? ) : mixed

Esta é uma interface para gettimeofday(2). Retorna um array contendo os dados retornado a chamada ao sistema.

Parâmetros

return_float

Quando definido como true, um float, ao invés de array, é retornado.

Valor Retornado

Por padrão, um array é retornado. Se o parâmetro return_float é definido, então um float é retornado.

Array keys:

  • "sec" - segundos desde a época Unix
  • "usec" - microsegundos
  • "minuteswest" - minutos a oeste de Greenwich
  • "dsttime" - tipo de correção dst

Changelog

Versão | Descrição
5.1.0 | O parâmetro return_float foi adicionado.

Exemplos

Exemplo #1 Exemplo da função gettimeofday()

<?php
 print_r(gettimeofday());

 echo gettimeofday(true);
 ?>

O exemplo acima irá imprimir algo similar à:

 Array
 (
     [sec] => 1073504408
     [usec] => 238215
     [minuteswest] => 0
     [dsttime] => 1
 )

 1073504408.23910


Formata uma data/hora GMT/CUT

  • « gettimeofday
  • gmmktime »
  • PHP Manual
  • Funções de Data/Hora
  • Formata uma data/hora GMT/CUT

gmdate

(PHP 4, PHP 5, PHP 7, PHP 8)

gmdate — Formata uma data/hora GMT/CUT

Descrição

gmdate ( string $format , int $timestamp = time() ) : string

Idêntica a função date(), exceto que a hora retornada será baseada no Horário de Greenwich (GMT).

Parâmetros

format

O formato da saída da string da data. Veja as opções de formatação para a função date().

timestamp

O parâmetro opcional timestamp é um integer Unix timestamp cujo padrão é a hora local se timestamp não for informado. Em outras palavras, o padrão é o valor da função time().

Valor Retornado

Retorna uma string da data formatada. Se um valor não-numérico é usado para timestamp, false é retornado e um erro de nível E_WARNING é emitido.

Changelog

Versão | Descrição
5.1.0 | O intervalo válido de um timestamp é normalmente de Fri, 13 Dec 1901 20:45:54 GMT a Tue, 19 Jan 2038 03:14:07 GMT. (Estas são as datas que correspondem aos valores máximo e mínimo para um inteiro 32-bit com sinal). Contudo, antes do PHP 5.1.0 este intervalo foi limitado para 01-01-1970 a 19-01-2038 em alguns sistemas (e.g. Windows).
5.1.1 | Há constantes úteis do padrão de formato data/hora que podem ser usadas para especificar o parâmetro format.

Exemplos

Exemplo #1 Exemplo da gmdate()

Quando executado na Finlândia (GMT +0200), a primeira linha abaixo imprime "Jan 01 1998 00:00:00", enquando a segunda imprime "Dec 31 1997 22:00:00".

<?php
echo date("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
echo gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
?>

Veja Também

  • date() - Formata a data e a hora local
  • mktime() - Obtém um timestamp Unix de uma data
  • gmmktime() - Obtém um timestamp Unix para uma data GMT
  • strftime() - Formata uma hora/data de acordo com as configurações locais


Obtém um timestamp Unix para uma data GMT

  • « gmdate
  • gmstrftime »
  • PHP Manual
  • Funções de Data/Hora
  • Obtém um timestamp Unix para uma data GMT

gmmktime

(PHP 4, PHP 5, PHP 7, PHP 8)

gmmktime — Obtém um timestamp Unix para uma data GMT

Descrição

gmmktime
 ( int $hour = gmdate("H")
, int $minute = gmdate("i")
, int $second = gmdate("s")
, int $month = gmdate("n")
, int $day = gmdate("j")
, int $year = gmdate("Y")
, int $is_dst = -1
) : int

Idêntico ao mktime() exceto que os parâmetros representam uma data GMT. A função gmmktime() usa internamente a função mktime(), significando que somente horários válidos derivadas de horários locais podem ser utiliados.

Como em mktime(), os argumentos podem ser omitidos da direita para esquerda, com qualquer argumento omitido sendo definido para o valor GMT correspondente.

Parâmetros

hour

O número de horas relativas ao início do dia determinadas pelos parâmetros month, day and year. Valores negativos são referenciados à horas antes da meia noite do dia em questão. Valores maiores que 23 referenciam horas correspondentes ao(s) próximo(s) dia(s).

minute

O número de minutos relativos ao início da hour. Valores negativos referenciam minutos da hora anterior. Valores maiores que 23 referenciam os minutos correspondentes a(s) próxima(s) horas(s).

second

O número de segundos relativos ao início do minute. Valores negativos referenciam segundos do minuto anterior. Valores maiores que 23 referenciam os segundos correspondentes ao(s) próximo(s) minuto(s).

month

O número do mês relativo ao fim do anterior. Valores de 1 a 12 referenciam o calendário normal de meses do ano em questão. Valores menores que 1 (valores negativos, incluso) referenciam meses do ano anterior em ordem reversa, então 0 é Dezembro, -1 Novembro, e etc. Valores maiores que 12 referenciam meses correspondentes ao(s) próximo(s) ano(s).

day

O número do dia relativo ao final do mês anterior. Valores de 1 a 28, 29, 30 e 31 (dependendo do mês) corresponde a dias normais no mês. Valores menores que 1 (valores negativos, incluso) corresponde a dias no mês anterior, então 0 é o último dia do mês anterior, -1 é o dia anterior a este, e etc. Valores maiores que o número de dias do mês, referenciam dias correspondentes ao(s) próximo(s) mês(es).

year

O ano

is_dst

Parâmetros sempre representam uma data GMT, sendo assim, is_dst não influenciará o resultado.

Nota:

Este parâmetro foi removido no PHP 7.0.0.

Valor Retornado

Retorna um integer Unix timestamp.

Changelog

Versão | Descrição
7.0.0 | O parâmetro is_dst foi removido.
5.1.0 | A partir do PHP 5.1.0, o parâmetro is_dst foi depreciado. Como resultado, a nova funcionalidade de manipulação de fusos horário deve ser utilizada.

Exemplos

Exemplo #1 A função gmmktime() no Windows

<?php
// Prints: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", gmmktime(0, 0, 0, 7, 1, 2000));
?>

Veja Também

  • mktime() - Obtém um timestamp Unix de uma data
  • date() - Formata a data e a hora local
  • time() - Retorna o timestamp Unix atual


Formata uma hora/data GMT/CUT de acordo com as configurações de localidade

  • « gmmktime
  • idate »
  • PHP Manual
  • Funções de Data/Hora
  • Formata uma hora/data GMT/CUT de acordo com as configurações de localidade

gmstrftime

(PHP 4, PHP 5, PHP 7, PHP 8)

gmstrftime — Formata uma hora/data GMT/CUT de acordo com as configurações de localidade

Descrição

gmstrftime ( string $format , int $timestamp = time() ) : string

Possui o mesmo comportamento que a função strftime() exceto que o tempo retornado será no Horário de Greenwish (GMT). Por exemplo, quando executada no Padrão de tempo Oriental (GMT -0500), a primeira linha abaixo imprime "Dec 31 1998 20:00:00", enquanto a segunda linha imprime "Jan 01 1999 01:00:00".

Parâmetros

format

Veja a descrição em strftime().

timestamp

O parâmetro opcional timestamp é um integer Unix timestamp cujo padrão é a hora local se timestamp não for informado. Em outras palavras, o padrão é o valor da função time().

Valor Retornado

Retorna uma string formatada de acordo com a string de formatação, usando o timestamp informado, ou o horário local se nenhum timestamp é informado. Nomes de meses, dias da semana e outras strings que dependem do idioma respeitam o locale atual definido com a função setlocale().

Exemplos

Exemplo #1 Exemplo da função gmstrftime()

<?php
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
echo gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
?>

Veja Também

  • strftime() - Formata uma hora/data de acordo com as configurações locais


Formata uma hora/data local como um inteiro

  • « gmstrftime
  • localtime »
  • PHP Manual
  • Funções de Data/Hora
  • Formata uma hora/data local como um inteiro

idate

(PHP 5, PHP 7, PHP 8)

idate — Formata uma hora/data local como um inteiro

Descrição

idate ( string $format , int $timestamp = time() ) : int

Retorna um número formatado de acordo com um formato informado utilizando o inteiro timestamp, ou a hora local corrente se nenhum timestamp foi informado. Em outras palavras, timestamp é opcional e têm como padrão o valor da função time().

Ao contrário da função date(), a idate(), aceita apenas um caractere no parâmetro format.

Parâmetros

format

Os caracteres a seguir são reconhecidos como válidos no parâmetro format
Caractere format | Descrição
B | Swatch Beat/Horário da Internet
d | Dia do mês
h | Hora (no formato de 12 horas)
H | Hora (no formato de 24 horas)
i | Minutos
I (i maiúsculo) | retorna 1 se o horário de verão está ativo, 0, caso contrário
L (l maiúsculo) | retorna 1 para anos bissextos, 0, caso contrário
m | Número do mês
s | Segundos
t | Dias do mês atual
U | Segundos desde Unix Epoch - January 1 1970 00:00:00 UTC - isso é o mesmo que a função time()
w | dia da semana (0 como Domingo)
W | Semana do ano, baseado na ISO-8601, com a semana começando na Segunda
y | Ano (1 ou 2 dígitos - veja a nota abaixo)
Y | Ano (4 dígitos)
z | Dia do ano
Z | Deslocamento do fuso horário em segundos

timestamp

O parâmetro opcional timestamp é um integer Unix timestamp cujo padrão é a hora local se timestamp não for informado. Em outras palavras, o padrão é o valor da função time().

Valor Retornado

Retorna um integer.

Como a função idate() sempre retorna um integer e como ela não começa com um "0", idate() pode retornar menos dígitos que se espera. Veja o exemplo abaixo.

Erros

Todas as chamadas a funções de data/hora gerarão um E_NOTICE se o fuso horário não for válido, e/ou uma mensagem E_STRICT ou E_WARNING se utilizar as configurações do sistema ou a variável de ambiente TZ. Veja também date_default_timezone_set()

Changelog

Versão | Descrição
5.1.0 | Agora lança erros E_STRICT e E_NOTICE .

Exemplos

Exemplo #1 Exemplo da função idate()

<?php
$timestamp = strtotime('1st January 2004'); //1072915200

// this prints the year in a two digit format
// however, as this would start with a "0", it
// only prints "4"
echo idate('y', $timestamp);
?>

Veja Também

  • date() - Formata a data e a hora local
  • getdate() - Recupera informações de data/hora
  • time() - Retorna o timestamp Unix atual


Obtém a hora local

  • « idate
  • microtime »
  • PHP Manual
  • Funções de Data/Hora
  • Obtém a hora local

localtime

(PHP 4, PHP 5, PHP 7, PHP 8)

localtime — Obtém a hora local

Descrição

localtime ( int $timestamp = ? , bool $is_associative = ? ) : array

A função localtime() retorna um array idêntico a estrutura retornada pela chamada de uma função em C.

Parâmetros

timestamp

O parâmetro opcional timestamp é um integer Unix timestamp cujo padrão é a hora local se timestamp não for informado. Em outras palavras, o padrão é o valor da função time().

is_associative

Se definido para false ou não fornecido, um array normal é retornado, um array numericamente indexado. Se o argumento é definido para true, localtime() retornará um array associativo contendo todos os diferentes elementos da estrutura retornados pela chamada da função C para o localtime. Os nomes das chaves do array associativo são as seguintes:

  • "tm_sec" - segundos, 0 a 59
  • "tm_min" - minutos, 0 a 59
  • "tm_hour" - horas, 0 a 23
  • "tm_mday" - dia do mês, 1 a 31
  • "tm_mon" - mês do ano, 0 (Jan) a 11 (Dec)
  • "tm_year" - anos desde 1900
  • "tm_wday" - dia da semana, 0 (Sun) a 6 (Sat)
  • "tm_yday" - dia do ano, 0 a 365
  • "tm_isdst" - Se está em horário de verão Positivo se sim, 0 se não, negative se é desconhecido.

Erros

Todas as chamadas a funções de data/hora gerarão um E_NOTICE se o fuso horário não for válido, e/ou uma mensagem E_STRICT ou E_WARNING se utilizar as configurações do sistema ou a variável de ambiente TZ. Veja também date_default_timezone_set()

Changelog

Versão | Descrição
5.1.0 | Agora lança erros E_STRICT e E_NOTICE .

Exemplos

Exemplo #1 Exemplo da função localtime()

<?php
$localtime = localtime();
$localtime_assoc = localtime(time(), true);
print_r($localtime);
print_r($localtime_assoc);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => 24
    [1] => 3
    [2] => 19
    [3] => 3
    [4] => 3
    [5] => 105
    [6] => 0
    [7] => 92
    [8] => 1
)

Array
(
    [tm_sec] => 24
    [tm_min] => 3
    [tm_hour] => 19
    [tm_mday] => 3
    [tm_mon] => 3
    [tm_year] => 105
    [tm_wday] => 0
    [tm_yday] => 92
    [tm_isdst] => 1
)


Retorna um timestamp Unix em microsegundos

  • « localtime
  • mktime »
  • PHP Manual
  • Funções de Data/Hora
  • Retorna um timestamp Unix em microsegundos

microtime

(PHP 4, PHP 5, PHP 7, PHP 8)

microtime — Retorna um timestamp Unix em microsegundos

Descrição

microtime ( bool $get_as_float = ? ) : mixed

A função microtime() retorna o timestamp atual em microssegundos. Esta função está disponível apenas em sistemas operacionais que suportam o chamada de sistema gettimeofday().

Parâmetros

get_as_float

Se utilizada e definida como true, a função microtime() retornará um float em vez de uma string, como descrito na seção de valores de retorno a seguir.

Valor Retornado

Por padrão, a função microtime() retorna uma string no formato "msec sec", onde sec é o número de segundos desde a Unix epoch (0:00:00 January 1,1970 GMT), e msec mensura os microssegundos que se passaram desde sec e também é expressada em segundos.

Se o parâmetro opcional get_as_float for definido para true então a função microtime() retornará um float, que representa a hora atual em segundos desde Unix epoch com precisão de microssegundos.

Exemplos

Exemplo #1 Cronometrando a execução do script com microtime()

<?php
/**
 * Simple function to replicate PHP 5 behaviour
 */
function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = microtime_float();

// Sleep for a while
usleep(100);

$time_end = microtime_float();
$time = $time_end - $time_start;

echo "Did nothing in $time seconds\n";
?>

Exemplo #2 Cronometrando a execução do script no PHP 5

<?php
$time_start = microtime(true);

// Sleep for a while
usleep(100);

$time_end = microtime(true);
$time = $time_end - $time_start;

echo "Did nothing in $time seconds\n";
?>

Exemplo #3 microtime() e REQUEST_TIME_FLOAT (a partir do PHP 5.4.0)

<?php
// Randomize sleeping time
usleep(mt_rand(100, 10000));

// As of PHP 5.4.0, REQUEST_TIME_FLOAT is available in the $_SERVER superglobal array.
// It contains the timestamp of the start of the request with microsecond precision.
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];

echo "Did nothing in $time seconds\n";
?>

Veja Também

  • time() - Retorna o timestamp Unix atual


Obtém um timestamp Unix de uma data

  • « microtime
  • strftime »
  • PHP Manual
  • Funções de Data/Hora
  • Obtém um timestamp Unix de uma data

mktime

(PHP 4, PHP 5, PHP 7, PHP 8)

mktime — Obtém um timestamp Unix de uma data

Descrição

mktime
 ( int $hour = date("H")
, int $minute = date("i")
, int $second = date("s")
, int $month = date("n")
, int $day = date("j")
, int $year = date("Y")
, int $is_dst = -1
) : int

Retorna o timestamp Unix correspondente aos argumentos informados. Este timestamp é um inteiro longo contendo o número de segundos entre a Era Unix (January 1 1970 00:00:00 GMT), e o tempo especificado.

Argumentos podem ser omitidos da direita para esquerda; quaisquer argumentos omitidos serão definidos para o valor atual de acordo com a data e a hora local.

Notas

Nota:

A partir do PHP 5.1, chamar a função sem argumentos fará com que a função mktime() lance um aviso E_STRICT: utilize a função time() em substistituição.

Parâmetros

hour

O número da hora relativa ao início de determinado dia do month, day e year. Valores negativos referenciam a hora anterior a meia noite do dia em questão. Valores maiores que 23 referenciam a hora correspondente no(s) próximo(s) dia(s).

minute

O número de minutos relativos ao início da hour. Valores negativos referenciam minutos da hora anterior. Valores maiores que 23 referenciam os minutos correspondentes a(s) próxima(s) horas(s).

second

O número de segundos relativos ao início do minute. Valores negativos referenciam segundos do minuto anterior. Valores maiores que 23 referenciam os segundos correspondentes ao(s) próximo(s) minuto(s).

month

O número do mês relativo ao fim do anterior. Valores de 1 a 12 referenciam o calendário normal de meses do ano em questão. Valores menores que 1 (valores negativos, inclusos) referenciam meses do ano anterior em ordem reversa, então 0 é Dezembro, -1 Novembro, e etc. Valores maiores que 12 referenciam meses correspondentes ao(s) próximo(s) ano(s).

day

O número do dia relativo ao final do mês anterior. Valores de 1 a 28, 29, 30 e 31 (dependendo do mês) corresponde a dias normais no mês. Valores menores que 1 (valores negativos, inclusos) corresponde a dias no mês anterior, então 0 é o último dia do mês anterior, -1 é o dia anterior a este, e etc. Valores maiores que o número de dias do mês, referenciam dias correspondentes ao(s) próximo(s) mês(es).

year

O número do ano. Pode conter dois ou quatro dígitos, com os valores entre 0-69 significando 2000-2069 e 70-100 para 1970-2000. Em sistemas aonde o time_t é um inteiro assinado de 32 bit, como é mais comum, o alcance do ano é algo entre 1901 e 2038. Entretanto, antes do PHP 5.1.0 esse range era limitado para 1970 até 2038 em alguns sistemas (ex. Windows).

is_dst

Este parâmetro pode ser definido para 1 se está no horário de verão (DST), 0 se não está, ou -1 (o padrão) se não se sabe se a hora está dentro do horário de verão ou não. Se é desconhecido, o PHP tentará compreender por si mesmo. Isto pode causar resultados inesperados (mas não incorretos). As vezes será inválido se DST estiver habilitado no sistema em que o PHP está executando ou is_dst estiver definido para 1. Se DST estiver habilitado em e.g. 2:00, todos o período de tempo entre 2:00 e 3:00 será inválido e a função mktime() retornará um valor indefinido (normalmente negativo). Alguns sistemas (e.g. Solaris 8) habilitam DST na meia-noite, então a hora 0:30 do dia, quando DST está habilitado, é interpretada como 23:30 do dia anterior.

Nota:

No PHP 5.1.0, este parâmetro tornou-se obsoleto. Como resultado, o novo recurso de manipulação de fuso horário deve ser usado em substituição.

Nota:

Este parâmetro foi removido no PHP 7.0.0.

Valor Retornado

A função mktime() retorna o timestamp Unix dos argumentos informados. Se os argumentos são inválidos, a função retornará false (em versões anteriores ao PHP 5.1, -1 era retornado).

Erros

Todas as chamadas a funções de data/hora gerarão um E_NOTICE se o fuso horário não for válido, e/ou uma mensagem E_STRICT ou E_WARNING se utilizar as configurações do sistema ou a variável de ambiente TZ. Veja também date_default_timezone_set()

Changelog

Versão | Descrição
7.0.0 | O parâmetro is_dst foi removido.
5.3.0 | mktime() agora lançará um aviso E_DEPRECATED se o parâmetro is_dst for utilizado.
5.1.0 | O parâmetro is_dst tornou-se obsoleto. Fazendo a função retornar false em erro, em vez de -1. Reparada a função para aceitar ano, mês e dia passados como zero.
5.1.0 | Quando chamada sem argumentos, a função mktime() lançará um aviso E_STRICT. Utilize a função time() em substituição.
5.1.0 | Agora lança erros E_STRICT e E_NOTICE .

Exemplos

Exemplo #1 Exemplo básico da função mktime()

<?php
// Configura o fuso horário a ser utilizado. Disponível desde o PHP 5.1
date_default_timezone_set('UTC');

// Imprime: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

// Imprime algo como: 2006-04-05T01:02:03+00:00
echo date('c', mktime(1, 2, 3, 4, 5, 2006));
?>

Exemplo #2 Exemplo da mktime()

mktime() é útil para a aritmética e validação de data, já que calculará automaticamente o valor correto para a entrada fora do intervalo. Por exemplo, cada uma das seguintes linhas produzirá a string "Jan-01-1998".

<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>

Exemplo #3 Último dia do próximo mês

O último dia de um mês informado pode ser expressado como o dia "0" do mês seguinte, não o dia -1. Os dois exemplos seguintes produzirão a string "The last day in Feb 2000 is: 29".

<?php
$lastday = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
?>

Notas

Cuidado

Em versões anteriores a PHP 5.1.0, timestamps negativos não eram suportados em nenhuma versão conhecida do Windows e em alguns outros sistemas também. Portanto o intervalo válido de anos foi limitado para 1970 até 2038.

Veja Também

  • checkdate() - Valida uma data Gregoriana
  • gmmktime() - Obtém um timestamp Unix para uma data GMT
  • date() - Formata a data e a hora local
  • time() - Retorna o timestamp Unix atual


Formata uma hora/data de acordo com as configurações locais

  • « mktime
  • strptime »
  • PHP Manual
  • Funções de Data/Hora
  • Formata uma hora/data de acordo com as configurações locais

strftime

(PHP 4, PHP 5, PHP 7, PHP 8)

strftime — Formata uma hora/data de acordo com as configurações locais

Descrição

strftime ( string $format , int $timestamp = ? ) : string

Formata uma hora/data local de acordo com a configuração do idioma. Nome do mês e dia da semana e outras strings respeitam o idioma corrente definido com a função setlocale().

Note que nem todas as conversões especificadas pela sua biblioteca C, serão suportadas pela função do PHP strftime(). Além disso, nem todas as plataformas suportam timestamps negativos, então sua faixa de datas pode ser limitada a um valor menor que a época Unix. Isto significa e.g. %e, %T, %R e %D (e outras mais) e datas anteriores a Jan 1, 1970 não funcionarão no Windows, algumas distribuições Linux, e outros sistemas operacionais. Para sistemas Windows, um resumo completo dos especificadores de conversão suportados podem ser encontrados em » MSDN .

Parâmetros

format

Os seguintes caracteres são reconhecidos no string do parâmetro format
format | Descrição | Exemplo de valores retornados
Dia --- ---
%a | Representação textual abreviada do dia | Sun até Sat
%A | Representação textual completa do dia | Sunday até Saturday
%d | Dia do mês, com dois dígitos (com zeros à esquerda) | 01 a 31
%e | Dia do mês com um dígito, precedido com um espaço. Não implementado como descrito no Windows. Veja abaixo para mais informações. | 1 a 31
%j | Dia do ano, com 3 dígitos e zeros à esquerda | 001 a 366
%u | Representação numérica, do dia da semana, compatível com a ISO-8601 | 1 (para Monday) até 7 (para Sunday)
%w | Representação numérica do dia da semana | 0 (para Sunday) até 6 (para Saturday)
Semana --- ---
%U | Número da semana de um dado ano, iniciado com o primeiro Domingo sendo a primeira semana | 13 (como a 13ª semana completa do ano)
%V | Número da semana, compatível com a ISO-8601:1988 de um dado ano, iniciada com a primeira semana do ano com pelo menos 4 finais de semana, sendo a Segunda-feira como o início da semana. | 01 até 53 (onde 53 é responsável por uma sobreposição)
%W | Representação numérica da semana do ano, começando pela primeira Segunda-feira como primeira semana | 46 (como a 46ª semana do do ano iniciando na Segunda-feira)
Mês --- ---
%b | Nome do mês abreviado, baseado no idioma | Jan até Dez
%B | Nome completo do mês, baseado no idioma | Janeiro até Dezembro
%h | Nome do mês abreviado, baseado no idioma (sinônimo de %b) | Jan até Dez
%m | Representação com dois dígitos do mês | 01 (para January) through 12 (para December)
Ano --- ---
%C | Representação, com dois dígitos, do século (ano dividido por 100, truncado como inteiro) | 19 para o século 20
%g | Representação do ano, com dois dígitos, seguindo o padrão ISO-8601:1988 (veja %V) | Exemplo: 09 de January 6, 2009
%G | Versão de 4 dígitos de %g | Exemplo: 2008 de January 3, 2009
%y | Representação, com dois dígitos, do ano | Exemplo: 09 de 2009, 79 de 1979
%Y | Representação, com quatro dígitos, do ano | Exemplo: 2038
Hora --- ---
%H | Representação, com dois dígitos, da hora no formato 24 horas | 00 até 23
%k | Representação, com dois dígitos, da hora no formato 24 horas, com um espaço precedendo aqueles com somente um dígito | 0 até 23
%I | Representação, com dois dígitos, da hora no formato 12 horas | 01 até 12
%l ('L' minúsculo) | Representação, com dois dígitos, da hora no formato 12 horas, com um espaço precedendo aqueles com somente um dígito | 1 até 12
%M | Representação, com dois dígitos, do minuto | 00 até 59
%p | 'AM' ou 'PM' maiúsculo baseado na hora informada | Exemplo: AM para 00:31, PM para 22:23
%P | 'am' ou 'pm' maiúsculo baseado na hora informada | Exemplo: am para 00:31, pm para 22:23
%r | O mesmo que "%I:%M:%S %p" | Exemplo: 09:34:17 PM de 21:34:17
%R | O mesmo que "%H:%M" | Exemplo: 00:35 de 12:35 AM, 16:44 de 4:44 PM
%S | Representação, com dois dígitos, do segundo | 00 até 59
%T | O mesmo que "%H:%M:%S" | Exemplo: 21:34:17 para 09:34:17 PM
%X | Representação escolhida baseada no idioma, sem a data | Exemplo: 03:59:16 ou 15:59:16
%z | O deslocamento do fuso horário. Não implementado como descrito no Windows. Veja mais informações a seguir. | Exemplo: -0500 para hora à leste dos EUA
%Z | A abreviação do fuso horário. Não implementado como descrito no Windows. Veja mais informações a seguir. | Exemplo: EST para Eastern Time
Carimbos de Data e Hora --- ---
%c | Carimbo escolhido de data e hora baseado no idioma | Exemplo: Ter Fev 5 00:45:10 2009 de February 5, 2009 at 12:45:10 AM
%D | O mesmo que "%m/%d/%y" | Exemplo: 02/05/09 de February 5, 2009
%F | O mesmo que "%Y-%m-%d" (geralmente utilizado em carimbos de data em bancos de dados) | Exemplo: 2009-02-05 de February 5, 2009
%s | Timestamp Unix Epoch Time (o mesmo que a função time() function) | Exemplo: 305815200 de September 10, 1979 08:40:00 AM
%x | Carimbo escolhido de data e hora baseado no idioma, sem a hora | Exemplo: 02/05/09 de February 5, 2009
Miscelânea --- ---
%n Uma nova linha ("\n") ---
%t Um caractere TAB ("\t") ---
%% Um caractere literal de porcento ("%") ---

Tamanho máximo deste parâmetro é 1023 caracteres.

Aviso

Contrário a ISO-9899:1999, o sistema Sun Solaris começa a semana no Domingo, como 1. Resultando em %u não funcionando como descrito neste manual.

Aviso

Somente no Windows:

O modificador %e não possui suporte a implementação desta função no Windows. Para conseguir este valor, o modificador %#d pode ser utilizado em substituição. O exemplo a seguir ilustra como escrever uma função com compatibilidade multiplataforma.

Os modificadores %z e %Z retornam o nome do fuso horário em vez do deslocamento ou abreviação do mesmo.

Aviso

Somente Mac OS X: O modificador %P não têm suporte a implementação desta função no Mac OS X.

timestamp

O parâmetro opcional timestamp é um integer Unix timestamp cujo padrão é a hora local se timestamp não for informado. Em outras palavras, o padrão é o valor da função time().

Valor Retornado

Retorna uma string formatada de acordo com o format informado em timestamp ou o horário local atual se nenhum timestamp foi informado. Nomes de meses e dia da semana, e outras strings dependentes de linguagens respeitam o idioma definido com a função setlocale().

Erros

Todas as chamadas a funções de data/hora gerarão um E_NOTICE se o fuso horário não for válido, e/ou uma mensagem E_STRICT ou E_WARNING se utilizar as configurações do sistema ou a variável de ambiente TZ. Veja também date_default_timezone_set()

Como a saída depende da biblioteca C disponível, alguns especificadores de conversão não possuem suporte. No Windows, informar especificadores de conversão desconhecidos resultará em mensagens E_WARNING e retornará false. Em outros sistemas operacionais você pode não receber nenhuma mensagem E_WARNING e a saída poderá conter os especificadores de conversão não convertidos.

Changelog

Versão | Descrição
5.1.0 | Agora lança erros E_STRICT e E_NOTICE .

Exemplos

Este exemplo funciona se você tem os respectivos idiomas instalados em seu sistema.

Exemplo #1 Exemplo da função strftime() com idiomas

<?php
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" in Finnish is %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" in French %A and");
setlocale(LC_TIME, "de_DE");
echo strftime(" in German %A.\n");
?>

Exemplo #2 Exemplo do número de semana ISO 8601:1988

<?php
/*     December 2002 / January 2003
ISOWk  M   Tu  W   Thu F   Sa  Su
----- ----------------------------
51     16  17  18  19  20  21  22
52     23  24  25  26  27  28  29
1      30  31   1   2   3   4   5
2       6   7   8   9  10  11  12
3      13  14  15  16  17  18  19   */

// Outputs: 12/28/2002 - %V,%G,%Y = 52,2002,2002
echo "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/28/2002")) . "\n";

// Outputs: 12/30/2002 - %V,%G,%Y = 1,2003,2002
echo "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/30/2002")) . "\n";

// Outputs: 1/3/2003 - %V,%G,%Y = 1,2003,2003
echo "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";

// Outputs: 1/10/2003 - %V,%G,%Y = 2,2003,2003
echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";

/*     December 2004 / January 2005
ISOWk  M   Tu  W   Thu F   Sa  Su
----- ----------------------------
51     13  14  15  16  17  18  19
52     20  21  22  23  24  25  26
53     27  28  29  30  31   1   2
1       3   4   5   6   7   8   9
2      10  11  12  13  14  15  16   */

// Outputs: 12/23/2004 - %V,%G,%Y = 52,2004,2004
echo "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";

// Outputs: 12/31/2004 - %V,%G,%Y = 53,2004,2004
echo "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";

// Outputs: 1/2/2005 - %V,%G,%Y = 53,2004,2005
echo "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";

// Outputs: 1/3/2005 - %V,%G,%Y = 1,2005,2005
echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";

?>

Exemplo #3 Exemplo do uso do modificador %e compatível com múltiplas plataformas

<?php

// Jan 1: results in: '%e%1%' (%%, e, %%, %e, %%)
$format = '%%e%%%e%%';

// Check for Windows to find and replace the %e
// modifier correctly
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
    $format = preg_replace('#(?<!%)((?:%%)*)%e#', '\1%#d', $format);
}

echo strftime($format);
?>

Exemplo #4 Mostra os formatos conhecidos e desconhecidos

<?php
// Describe the formats.
$strftimeFormats = array(
    'A' => 'A full textual representation of the day',
    'B' => 'Full month name, based on the locale',
    'C' => 'Two digit representation of the century (year divided by 100, truncated to an integer)',
    'D' => 'Same as "%m/%d/%y"',
    'E' => '',
    'F' => 'Same as "%Y-%m-%d"',
    'G' => 'The full four-digit version of %g',
    'H' => 'Two digit representation of the hour in 24-hour format',
    'I' => 'Two digit representation of the hour in 12-hour format',
    'J' => '',
    'K' => '',
    'L' => '',
    'M' => 'Two digit representation of the minute',
    'N' => '',
    'O' => '',
    'P' => 'lower-case "am" or "pm" based on the given time',
    'Q' => '',
    'R' => 'Same as "%H:%M"',
    'S' => 'Two digit representation of the second',
    'T' => 'Same as "%H:%M:%S"',
    'U' => 'Week number of the given year, starting with the first Sunday as the first week',
    'V' => 'ISO-8601:1988 week number of the given year, starting with the first week of the year with at least 4 weekdays, with Monday being the start of the week',
    'W' => 'A numeric representation of the week of the year, starting with the first Monday as the first week',
    'X' => 'Preferred time representation based on locale, without the date',
    'Y' => 'Four digit representation for the year',
    'Z' => 'The time zone offset/abbreviation option NOT given by %z (depends on operating system)',
    'a' => 'An abbreviated textual representation of the day',
    'b' => 'Abbreviated month name, based on the locale',
    'c' => 'Preferred date and time stamp based on local',
    'd' => 'Two-digit day of the month (with leading zeros)',
    'e' => 'Day of the month, with a space preceding single digits',
    'f' => '',
    'g' => 'Two digit representation of the year going by ISO-8601:1988 standards (see %V)',
    'h' => 'Abbreviated month name, based on the locale (an alias of %b)',
    'i' => '',
    'j' => 'Day of the year, 3 digits with leading zeros',
    'k' => 'Hour in 24-hour format, with a space preceding single digits',
    'l' => 'Hour in 12-hour format, with a space preceding single digits',
    'm' => 'Two digit representation of the month',
    'n' => 'A newline character ("\n")',
    'o' => '',
    'p' => 'UPPER-CASE "AM" or "PM" based on the given time',
    'q' => '',
    'r' => 'Same as "%I:%M:%S %p"',
    's' => 'Unix Epoch Time timestamp',
    't' => 'A Tab character ("\t")',
    'u' => 'ISO-8601 numeric representation of the day of the week',
    'v' => '',
    'w' => 'Numeric representation of the day of the week',
    'x' => 'Preferred date representation based on locale, without the time',
    'y' => 'Two digit representation of the year',
    'z' => 'Either the time zone offset from UTC or the abbreviation (depends on operating system)',
    '%' => 'A literal percentage character ("%")',
);

// Results.
$strftimeValues = array();

// Evaluate the formats whilst suppressing any errors.
foreach($strftimeFormats as $format => $description){
    if (False !== ($value = @strftime("%{$format}"))){
        $strftimeValues[$format] = $value;
    }
}

// Find the longest value.
$maxValueLength = 2 + max(array_map('strlen', $strftimeValues));

// Report known formats.
foreach($strftimeValues as $format => $value){
    echo "Known format   : '{$format}' = ", str_pad("'{$value}'", $maxValueLength), " ( {$strftimeFormats[$format]} )\n";
}

// Report unknown formats.
foreach(array_diff_key($strftimeFormats, $strftimeValues) as $format => $description){
    echo "Unknown format : '{$format}'   ", str_pad(' ', $maxValueLength), ($description ? " ( {$description} )" : ''), "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

Known format   : 'A' = 'Friday'            ( A full textual representation of the day )
Known format   : 'B' = 'December'          ( Full month name, based on the locale )
Known format   : 'H' = '11'                ( Two digit representation of the hour in 24-hour format )
Known format   : 'I' = '11'                ( Two digit representation of the hour in 12-hour format )
Known format   : 'M' = '24'                ( Two digit representation of the minute )
Known format   : 'S' = '44'                ( Two digit representation of the second )
Known format   : 'U' = '48'                ( Week number of the given year, starting with the first Sunday as the first week )
Known format   : 'W' = '48'                ( A numeric representation of the week of the year, starting with the first Monday as the first week )
Known format   : 'X' = '11:24:44'          ( Preferred time representation based on locale, without the date )
Known format   : 'Y' = '2010'              ( Four digit representation for the year )
Known format   : 'Z' = 'GMT Standard Time' ( The time zone offset/abbreviation option NOT given by %z (depends on operating system) )
Known format   : 'a' = 'Fri'               ( An abbreviated textual representation of the day )
Known format   : 'b' = 'Dec'               ( Abbreviated month name, based on the locale )
Known format   : 'c' = '12/03/10 11:24:44' ( Preferred date and time stamp based on local )
Known format   : 'd' = '03'                ( Two-digit day of the month (with leading zeros) )
Known format   : 'j' = '337'               ( Day of the year, 3 digits with leading zeros )
Known format   : 'm' = '12'                ( Two digit representation of the month )
Known format   : 'p' = 'AM'                ( UPPER-CASE "AM" or "PM" based on the given time )
Known format   : 'w' = '5'                 ( Numeric representation of the day of the week )
Known format   : 'x' = '12/03/10'          ( Preferred date representation based on locale, without the time )
Known format   : 'y' = '10'                ( Two digit representation of the year )
Known format   : 'z' = 'GMT Standard Time' ( Either the time zone offset from UTC or the abbreviation (depends on operating system) )
Known format   : '%' = '%'                 ( A literal percentage character ("%") )
Unknown format : 'C'                       ( Two digit representation of the century (year divided by 100, truncated to an integer) )
Unknown format : 'D'                       ( Same as "%m/%d/%y" )
Unknown format : 'E'
Unknown format : 'F'                       ( Same as "%Y-%m-%d" )
Unknown format : 'G'                       ( The full four-digit version of %g )
Unknown format : 'J'
Unknown format : 'K'
Unknown format : 'L'
Unknown format : 'N'
Unknown format : 'O'
Unknown format : 'P'                       ( lower-case "am" or "pm" based on the given time )
Unknown format : 'Q'
Unknown format : 'R'                       ( Same as "%H:%M" )
Unknown format : 'T'                       ( Same as "%H:%M:%S" )
Unknown format : 'V'                       ( ISO-8601:1988 week number of the given year, starting with the first week of the year with at least 4 weekdays, with Monday being the start of the week )
Unknown format : 'e'                       ( Day of the month, with a space preceding single digits )
Unknown format : 'f'
Unknown format : 'g'                       ( Two digit representation of the year going by ISO-8601:1988 standards (see %V) )
Unknown format : 'h'                       ( Abbreviated month name, based on the locale (an alias of %b) )
Unknown format : 'i'
Unknown format : 'k'                       ( Hour in 24-hour format, with a space preceding single digits )
Unknown format : 'l'                       ( Hour in 12-hour format, with a space preceding single digits )
Unknown format : 'n'                       ( A newline character ("\n") )
Unknown format : 'o'
Unknown format : 'q'
Unknown format : 'r'                       ( Same as "%I:%M:%S %p" )
Unknown format : 's'                       ( Unix Epoch Time timestamp )
Unknown format : 't'                       ( A Tab character ("\t") )
Unknown format : 'u'                       ( ISO-8601 numeric representation of the day of the week )
Unknown format : 'v'

Notas

Nota: %G e %V, que são baseadas nos números de semana da ISO 8601:1988, podem dar resultados inesperados (embora corretos), se o sistema numérico não for reconhecido perfeitamente. Veja exemplos da %V nesta página do manual.

Veja Também

  • » Ferramenta online para criação de formatos compatíveis com o strftime()
  • setlocale() - Define informações locais
  • mktime() - Obtém um timestamp Unix de uma data
  • strptime() - Interpreta uma hora/data gerada pela função strftime
  • gmstrftime() - Formata uma hora/data GMT/CUT de acordo com as configurações de localidade
  • » Especificação Open Group da strftime()


Interpreta uma hora/data gerada pela função strftime

  • « strftime
  • strtotime »
  • PHP Manual
  • Funções de Data/Hora
  • Interpreta uma hora/data gerada pela função strftime

strptime

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

strptime — Interpreta uma hora/data gerada pela função strftime()

Descrição

strptime ( string $date , string $format ) : array

strptime() retorna um array com a interpretação de date , ou false em caso de erro.

Nomes de meses e semanas, e outras strings que dependem do idioma, respeitam o idioma corrente definido com a função setlocale() (LC_TIME).

Parâmetros

date (string)

A string a ser interpretada (retornada da função strftime()).

format (string)

O formato utilizado em date (o mesmo utilizado na função strftime()). Note que algumas opções de formato disponíveis na função strftime() podem não ter nenhum efeito com strptime(); o subconjunto exato que é suportado vai variar por ser baseado no sistema operacional e biblioteca C em uso.

Para mais informações sobre as opções de formato, veja a página da função strftime().

Valor Retornado

Retorna um array ou false em caso de falha.

Os seguintes parâmetros são retornados no array
Parâmetro | Descrição
"tm_sec" | Segundos após o minuto (0-61)
"tm_min" | Minutos após a hora (0-59)
"tm_hour" | Horas passadas desde a meia-noite (0-23)
"tm_mday" | Dia do mês (1-31)
"tm_mon" | Meses passados desde janeiro (0-11)
"tm_year" | Anos passados desde 1900
"tm_wday" | Dias passados desde Sunday (0-6)
"tm_yday" | Dias passados desde January 1 (0-365)
"unparsed" | A parte date que não foi reconhecida usando o format especificado

Exemplos

Exemplo #1 Exemplo da função strptime()

<?php
$format = '%d/%m/%Y %H:%M:%S';
$strf = strftime($format);

echo "$strf\n";

print_r(strptime($strf, $format));
?>

O exemplo acima irá imprimir algo similar à:

03/10/2004 15:54:19

Array
(
    [tm_sec] => 19
    [tm_min] => 54
    [tm_hour] => 15
    [tm_mday] => 3
    [tm_mon] => 9
    [tm_year] => 104
    [tm_wday] => 0
    [tm_yday] => 276
    [unparsed] =>
)

Notas

Nota: esta função não é implementada na plataforma Windows

Nota:

Internamente, esta função chama a função strptime() presente na biblioteca C do sistema. Esta função pode apresentar um comportamento diferente entre diferentes sistemas operacionais. A utilização da função date_parse_from_format(), que não é afetada por esta questão, é recomendada em versões do PHP 5.3.0 e superiores.

Nota:

"tm_sec" inclui todos os segundos do ano bissexto (atualmente 2 por ano). Para mais informações sobre segundos do ano bissexto, veja o » o artigo da Wikipedia sobre segundos Bissexto.

Nota:

Em versões anteriores ao PHP 5.2.0, a função poderia ter um comportamento inesperado. Excepcionalmente, as entradas "tm_sec", "tm_min" e "tm_hour" poderiam ser retornadas como valores indefinidos.

Veja Também

  • checkdate() - Valida uma data Gregoriana
  • strftime() - Formata uma hora/data de acordo com as configurações locais
  • date_parse_from_format() - Retorna informações sobre uma data informada de acordo com um formato
  • DateTime::createFromFormat() - Retorna um novo objeto DateTime formatado de acordo com um formato informado


Interpreta qualquer descrição de data/hora em texto em inglês em timestamp Unix

  • « strptime
  • time »
  • PHP Manual
  • Funções de Data/Hora
  • Interpreta qualquer descrição de data/hora em texto em inglês em timestamp Unix

strtotime

(PHP 4, PHP 5, PHP 7, PHP 8)

strtotime — Interpreta qualquer descrição de data/hora em texto em inglês em timestamp Unix

Descrição

strtotime ( string $time , int $now = ? ) : int

A função espera que seja informada uma string contendo um formato de data em inglês US, e tentará interpretá-lo para um timestamp Unix (o número de segundos desde January 1 1970 00:00:00 GMT), relativo ao timestamp dado em now, ou a hora atual se now não é fornecido.

Cada parâmetro desta função utiliza o fuso horário padrão, a não ser que um fuso horário seja especificado neste parâmetro. Tome cuidado para não utilizar fusos horários diferentes em cada um dos parâmetros a não ser que seja o pretendido. Veja a função date_default_timezone_get() para verificar as diversas formas de definir um fuso horário padrão.

Parâmetros

time

Uma string data/hora. Valores válidos são explicados em Formatos de Data e Hora.

now

O timestamp que será utilizado como base no cálculo das datas relativas.

Valor Retornado

Retorna um timestamp em sucesso, false caso contrário. Antes do PHP 5.1.0, esta função podia retornar -1 em falha.

Erros

Todas as chamadas a funções de data/hora gerarão um E_NOTICE se o fuso horário não for válido, e/ou uma mensagem E_STRICT ou E_WARNING se utilizar as configurações do sistema ou a variável de ambiente TZ. Veja também date_default_timezone_set()

Exemplos

Exemplo #1 Exemplo da função strtotime()

<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>

Exemplo #2 Checando por falha

<?php
$str = 'Not Good';

// em versões antes do PHP 5.1.0 você compararia com -1, ao invés de false
if (($timestamp = strtotime($str)) === false) {
    echo "The string ($str) is bogus";
} else {
    echo "$str == " . date('l dS \o\f F Y h:i:s A', $timestamp);
}
?>

Notas

Nota:

Se o número do ano for especificado no formato com dois dígitos, o valor entre 00-60 será mapeado para 2000-2069 e 70-99 para 1970-1999. Veja as notas a seguir para possíveis diferenças em sistemas 32bit (as datas possíveis acabam em 2038-01-19 03:14:07),

Nota:

O intervalo válido de um timestamp é tipicamente de Fri, 13 Dec 1901 20:45:54 GMT até Tue, 19 Jan 2038 03:14:07 GMT. (Estas são datas que correspondem aos valores máximos e mínimos para um inteiro sem sinal em sistemas 32-bit.)

Em versões anteriores ao PHP 5.1.0, nem todas as plataformas suportam timestamps negativos, então a faixa de sua data pode ser limitada a valores inferiores a Era Unix. Isto significa que datas antes de Jan 1, 1970 não funcionam no Windows, algumas distribuições do Linux, e outros sistemas operacionais.

Em versões do PHP em 64-bit, a faixa válida de um timestamp é praticamente infinita, já que 64 bits pode representar aproximadamente 293 bilhões de anos em ambas direções.

Nota:

Datas nos formatos m/d/y e d-m-y são diferenciadas observando o separador entre os vários componentes: se o separador é uma barra (/), o formato Americano m/d/y é utilizado; enquanto que, se o separador for um traço (-) ou um ponto (.), o formato Europeu d-m-y será utilizado. Entretanto, se o ano foi informado no formato de dois dígitos e o separador for um traço (-, a string de data será interpretada como y-m-d.

Para evitar uma ambiguidade em potencial, o melhor é utilizar datas que seguem a ISO 8601 (YYYY-MM-DD) ou o método DateTime::createFromFormat() sempre que possível.

Nota:

O uso desta função para operações matemáticas não é recomendado. É melhor a utilização dos métodos DateTime::add() e DateTime::sub() no PHP 5.3 e superior, ou o método DateTime::modify() no PHP 5.2.

Veja Também

  • Formatos de Data e Hora
  • DateTime::createFromFormat() - Retorna um novo objeto DateTime formatado de acordo com um formato informado
  • checkdate() - Valida uma data Gregoriana
  • strptime() - Interpreta uma hora/data gerada pela função strftime


Retorna o timestamp Unix atual

  • « strtotime
  • timezone_abbreviations_list »
  • PHP Manual
  • Funções de Data/Hora
  • Retorna o timestamp Unix atual

time

(PHP 4, PHP 5, PHP 7, PHP 8)

time — Retorna o timestamp Unix atual

Descrição

time ( ) : int

Retorna a hora atual medida no número de segundos desde a Era Unix (January 1 1970 00:00:00 GMT).

Exemplos

Exemplo #1 time() example

<?php
$nextWeek = time() + (7 * 24 * 60 * 60);
                   // 7 days; 24 hours; 60 mins; 60secs
echo 'Now:       '. date('Y-m-d') ."\n";
echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";
// or using strtotime():
echo 'Next Week: '. date('Y-m-d', strtotime('+1 week')) ."\n";
?>

O exemplo acima irá imprimir algo similar à:

Now:       2005-03-30
Next Week: 2005-04-06
Next Week: 2005-04-06

Notas

Dica

O timestamp do início da requisição está disponível na variável $_SERVER['REQUEST_TIME'] desde o PHP 5.1.

Veja Também

  • date() - Formata a data e a hora local
  • microtime() - Retorna um timestamp Unix em microsegundos


Sinônimo de DateTimeZone::listAbbreviations

  • « time
  • timezone_identifiers_list »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTimeZone::listAbbreviations

timezone_abbreviations_list

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

timezone_abbreviations_list — Sinônimo de DateTimeZone::listAbbreviations()

Descrição

Esta função é um apelido para: DateTimeZone::listAbbreviations()


Sinônimo de DateTimeZone::listIdentifiers

  • « timezone_abbreviations_list
  • timezone_location_get »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTimeZone::listIdentifiers

timezone_identifiers_list

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

timezone_identifiers_list — Sinônimo de DateTimeZone::listIdentifiers()

Descrição

Esta função é um apelido para: DateTimeZone::listIdentifiers()


Sinônimo de DateTimeZone::getLocation

  • « timezone_identifiers_list
  • timezone_name_from_abbr »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTimeZone::getLocation

timezone_location_get

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

timezone_location_get — Sinônimo de DateTimeZone::getLocation()

Descrição

Esta função é um apelido para: DateTimeZone::getLocation()


Retorna o fuso horário a partir de uma abreviação

  • « timezone_location_get
  • timezone_name_get »
  • PHP Manual
  • Funções de Data/Hora
  • Retorna o fuso horário a partir de uma abreviação

timezone_name_from_abbr

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

timezone_name_from_abbr — Retorna o fuso horário a partir de uma abreviação

Descrição

timezone_name_from_abbr ( string $abbr , int $gmtOffset = -1 , int $isdst = -1 ) : string

Parâmetros

abbr

A abreviação do fuso horário.

gmtOffset

Deslocamento ao Horário de Greenwish(GMT) em segundos. Sendo -1 o padrão, que significa que o primeiro fuso horário correspondente encontrado com abbr é retornado. Caso contrário o deslocamento é buscao, e caso não encontrado, o o primeiro fuso horário, com qualquer deslocamento, é retornado.

isdst

Indicador do horário de verão. O padrão é -1, e informa que tendo o fuso horário horário de verão, ou não, este não será levado em consideração na busca. Se configurado para 1, então gmtOffset é utilizado como diferença no horário de verão; se 0, então gmtOffset é utilizado sem a diferença do horário de verão. Se abbr não existir, o fuso horário será buscado exclusivamente pelo gmtOffset e isdst.

Valor Retornado

Retorna o fuso horário em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Um exemplo da função timezone_name_from_abbr()

<?php
echo timezone_name_from_abbr("CET") . "\n";
echo timezone_name_from_abbr("", 3600, 0) . "\n";
?>

O exemplo acima irá imprimir algo similar à:

Europe/Berlin
Europe/Paris

Veja Também

  • timezone_abbreviations_list() - Sinônimo de DateTimeZone::listAbbreviations


Sinônimo de DateTimeZone::getName

  • « timezone_name_from_abbr
  • timezone_offset_get »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTimeZone::getName

timezone_name_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

timezone_name_get — Sinônimo de DateTimeZone::getName()

Descrição

Esta função é um apelido para: DateTimeZone::getName()


Sinônimo de DateTimeZone::getOffset

  • « timezone_name_get
  • timezone_open »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTimeZone::getOffset

timezone_offset_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

timezone_offset_get — Sinônimo de DateTimeZone::getOffset()

Descrição

Esta função é um apelido para: DateTimeZone::getOffset()


Retorna um novo objeto DateTimeZone

  • « timezone_offset_get
  • timezone_transitions_get »
  • PHP Manual
  • Funções de Data/Hora
  • Retorna um novo objeto DateTimeZone

timezone_open

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

timezone_open — Retorna um novo objeto DateTimeZone

Descrição

Esta função é um apelido para: DateTimeZone::__construct()


Sinônimo de DateTimeZone::getTransitions

  • « timezone_open
  • timezone_version_get »
  • PHP Manual
  • Funções de Data/Hora
  • Sinônimo de DateTimeZone::getTransitions

timezone_transitions_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

timezone_transitions_get — Sinônimo de DateTimeZone::getTransitions()

Descrição

Esta função é um apelido para: DateTimeZone::getTransitions()


Recupera a versão do timezonedb

  • « timezone_transitions_get
  • Formatos de Data e Hora Suportados »
  • PHP Manual
  • Funções de Data/Hora
  • Recupera a versão do timezonedb

timezone_version_get

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

timezone_version_get — Recupera a versão do timezonedb

Descrição

timezone_version_get ( ) : string

Recupera a versão atual do timezonedb.

Valor Retornado

Retorna uma string.

Exemplos

Exemplo #1 Recuperando a versão do timezonedb

<?php
echo timezone_version_get();
?>

O exemplo acima irá imprimir algo similar à:

2009.7

Veja Também

  • Lista de fusos horários suportados


Formatos de Data e Hora Suportados

Índice

  • Formatos de Hora
  • Formatos de Data
  • Formatos Compostos
  • Formatos relativos

Esta seção descreve todos os diferentes formatos que os interpretadores strtotime(), DateTime e date_create() entendem. Os formatos estão agrupados por seção. Na maioria dos casos, formatos de diferentes seções podem ser utilizados com a mesma string data/hora. Para cada um dos formatos suportados, um ou mais exemplos estão disponíveis, assim como a descrição do formato. Nos formatos, caracteres entre aspas simples são case-insensitive ('t' pode ser t ou T), caracteres entre aspas duplas são case-sensitive ("T" só pode ser T).


Formatos de Hora

Esta página descreve os diferentes formatos de tempo que os interpretadores strtotime(), DateTime e date_create() entendem.

Símbolos utilizados
Descrição | Formatos | Examplos
frac | . [0-9]+ | ".21342", ".85"
hh | "0"?[1-9] | "1"[0-2] | "04", "7", "12"
HH | [01][0-9] | "2"[0-4] | "04", "7", "19"
meridiano | [AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am."
MM | [0-5][0-9] | "00", "12", "59"
II | [0-5][0-9] | "00", "12", "59"
espaço | [ \t] |
tz | "("? [A-Za-z]{1,6} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+ | "CEST", "Europe/Amsterdam", "America/Indiana/Knox"
tzcorrection | "GMT"? [+-] hh ":"? MM? | "+0400", "GMT-07:00", "-07:00"
Notação de 12 Horas
Descrição | Formatos | Examplos
Somente as horas, com o meridiano | hh space? meridian | "4 am", "5PM"
Horas e minutos, com o meridiano | hh [.:] MM space? meridian | "4:08 am", "7:19P.M."
Horas, minutos e segundos, com o meridiano | hh [.:] MM [.:] II space? meridian | "4:08:37 am", "7:19:19P.M."
MS SQL (Horas, minutos, segundos e a fração com o meridiano), somente em versões superiores ou iguais a PHP 5.3 | hh ":" MM ":" II [.:] [0-9]+ meridian | "4:08:39:12313am"
Notação de 24 Horas
Descrição | Formato | Exemplos
Horas e minutos | 't'? HH [.:] MM | "04:08", "19.19", "T23:43"
Horas e minutos, sem dois-pontos | 't'? HH MM | "0408", "t1919", "T2343"
Horas, minutos e segundos | 't'? HH [.:] MM [.:] II | "04.08.37", "t19:19:19"
Horas, minutos e segundos, sem dois-pontos | 't'? HH MM II | "040837", "T191919"
Horas, minutos, segundos e fuso horário | 't'? HH [.:] MM [.:] II space? ( tzcorrection | tz ) | "040837CEST", "T191919-0700"
Horas, minutos, segundos e fração | 't'? HH [.:] MM [.:] II frac | "04.08.37.81412", "19:19:19.532453"
Informações do fuso horário | tz | tzcorrection | "CEST", "Europe/Amsterdam", "+0430", "GMT-06:00"


Formatos de Data

Esta página descreve os diferentes formatos de data que os interpretadores strtotime(), DateTime e date_create() entendem.

Simbolos Utilizados
Descrição | Formato | Exemplos
daysuf | "st" | "nd" | "rd" | "th" |
dd | ([0-2]?[0-9] | "3"[01]) daysuf? | "7th", "22nd", "31"
DD | "0" [0-9] | [1-2][0-9] | "3" [01] | "07", "31"
m | 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december' | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' | "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII" |
M | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' |
mm | "0"? [0-9] | "1"[0-2] | "0", "04", "7", "12"
MM | "0" [0-9] | "1"[0-2] | "00", "04", "07", "12"
y | [0-9]{1,4} | "00", "78", "08", "8", "2008"
yy | [0-9]{2} | "00", "08", "78"
YY | [0-9]{4} | "2000", "2008", "1978"
Notações Localizadas
Descrição | Formato | Exemplos
Dia e mês americano | mm "/" dd | "5/12", "10/27"
Dia, mês e ano americano | mm "/" dd "/" y | "12/22/78", "1/17/2006", "1/17/6"
Ano com quatro dígitos, mês e dia com barras | YY "/" mm "/" dd | "2008/6/30", "1978/12/22"
Ano com quatro dígitos e mês (GNU) | YY "-" mm | "2008-6", "2008-06", "1978-12"
Ano, mês e dia com traços | y "-" mm "-" dd | "2008-6-30", "78-12-22", "8-6-21"
Dia, mês e ano, com quatro dígitos, com pontos, tabulações ou traços | dd [.\t-] mm [.-] YY | "30-6-2008", "22.12.1978"
Dia, mês e ano, com dois dígitos, com pontos ou tabulações | dd [.\t] mm "." yy | "30.6.08", "22\t12.78"
Dia, mês textual e ano | dd ([ \t.-])* m ([ \t.-])* y | "30-June 2008", "22DEC78", "14 III 1879"
Mês textual e ano com quatro dígitos (O dia é redefinido para 1) | m ([ \t.-])* YY | "June 2008", "DEC1978", "March 1879"
Ano com quatro dígitos e mês textual (O dia é redefinido para 1) | YY ([ \t.-])* m | "2008 June", "1978-XII", "1879.MArCH"
Mês textual, dia e ano | m ([ .\t-])* dd [,.stndrh\t ]+ y | "July 1st, 2008", "April 17, 1790", "May.9,78"
Mês textual e dia | m ([ .\t-])* dd [,.stndrh\t ]* | "July 1st,", "Apr 17", "May.9"
Dia e mês textual | d ([ .\t-])* m | "1 July", "17 Apr", "9.May"
Mês abreviado, dia e ano | M "-" DD "-" y | "May-09-78", "Apr-17-1790"
Ano, mês abreviado e dia | y "-" M "-" DD | "78-Dec-22", "1814-MAY-17"
Ano (somente o ano) | YY | "1978", "2008"
Mês textual (somente o mês) | m | "March", "jun", "DEC"
Notação ISO8601
Descrição | Formato | Exemplos
Ano com oito dígitos, mês e dia | YY MM DD | "15810726", "19780417", "18140517"
Ano com quatro dígitos, mês e dia com barras | YY "/" MM "/" DD | "2008/06/30", "1978/12/22"
Ano com dois dígitos, mês e dia com traços | yy "-" MM "-" DD | "08-06-30", "78-12-22"
Ano com quatro dígitos, com sinal opcional, mês e dia | [+-]? YY "-" MM "-" DD | "-0002-07-26", "+1978-04-17", "1814-05-17"

Nota:

Para os formatos y e yy, anos abaixo de 100 são manipulados de maneira especial quando os símbolos y ou yy são utilizados. Se o ano cair no período de 0 (incluso) a 69 (incluso), 2000 anos são adicionados. Se o ano cair no período de 70 (incluso) a 99 (incluso), então 1900 são adicionados. Isso significa que "00-01-01" será interpretado como "2000-01-01".

Nota:

O formato "Dia, mês e ano com dois dígitos, com pontos ou tabulações" (dd [.\t] mm "." yy) somente funciona para valores de ano que variam 61 (incluso) até 99 (incluso) - fora destes anos, o formato de tempo "HH [.:] MM [.:] SS" possui precedência.

Nota:

O formato "Ano (somente o ano)", somente funcionará se uma string de tempo já foi encontrada -- caso contrário o formato será reconhecida como HH MM.

Nota:

É possível exceder positivamente e negativamente os formatos dd e DD. Dia 0 corresponde a último dia do mês anterior, assim como excedências positivas contam no próximo mês. Isso faz com que "2008-08-00" seja equivalente a "2008-07-31" e "2008-07-31" seja equivalente a "2008-07-01" (Junho possui somente 30 dias).

É possível exceder negativamente os formatos mm and MM com o valor 0. O valor de mês 0 corresponde a Dezembro do mês anterior. Como exemplo, "2008-00-22" é equivalente a "2007-12-22".

Se você combinar os dois fatos e exceder negativamente o dia e o mês, o que segue acontece: "2008-00-00" primeiro será convertido para "2007-12-00" que então será convertido para "2007-11-30". Isso também acontece com a string "0000-00-00", que é transformada em "-0001-11-30" (o ano -1 ano calendário ISO 8601, que é 2 anos DC no calendário que antecede o calendário Gregoriano).


Formatos Compostos

Esta página descreve os diferentes formatos de data e tempo compostos que os interpretadores strtotime(), DateTime e date_create() entendem.

Símbolos Utilizados
Descrição | Formato | Exemplos
DD | "0" [0-9] | [1-2][0-9] | "3" [01] | "02", "12", "31"
doy | "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6] | "001", "012", "180", "350", "366"
frac | . [0-9]+ | ".21342", ".85"
hh | "0"?[1-9] | "1"[0-2] | "04", "7", "12"
HH | [01][0-9] | "2"[0-4] | "04", "7", "19"
meridian | [AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am."
ii | [0-5][0-9] | "04", "8", "59"
II | [0-5][0-9] | "04", "08", "59"
M | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' |
MM | [0-1][0-9] | "00", "12"
space | [ \t] |
ss | [0-5][0-9] | "04", "8", "59"
SS | [0-5][0-9] | "04", "08", "59"
W | "0"[1-9] | [1-4][0-9] | "5"[0-3] | "05", "17", "53"
tzcorrection | "GMT"? [+-] hh ":"? II? | "+0400", "GMT-07:00", "-07:00"
YY | [0-9]{4} | "2000", "2008", "1978"
Notações Localizadas
Descrição | Formato | Exemplos
Formato de Log Popular | dd "/" M "/" YY : HH ":" II ":" SS space tzcorrection | "10/Oct/2000:13:55:36 -0700"
EXIF | YY ":" MM ":" DD " " HH ":" II ":" SS | "2008:08:07 18:11:31"
Ano ISO com Semana ISO | YY "-"? "W" W | "2008W27", "2008-W28"
Ano ISO com Semana ISO e dia | YY "-"? "W" W "-"? [0-7] | "2008W273", "2008-W28-3"
MySQL | YY "-" MM "-" DD " " HH ":" II ":" SS | "2008-08-07 18:11:31"
PostgreSQL: Ano com dia do ano | YY "."? doy | "2008.197", "2008197"
SOAP | YY "-" MM "-" DD "T" HH ":" II ":" SS frac tzcorrection? | "2008-07-01T22:35:17.02", "2008-07-01T22:35:17.03+08:00"
Timestamp Unix | "@" "-"? [0-9]+ | "@1215282385"
XMLRPC | YY MM DD "T" hh ":" II ":" SS | "20080701T22:38:07", "20080701T9:38:07"
XMLRPC (Compacto) | YY MM DD 't' hh II SS | "20080701t223807", "20080701T093807"
WDDX | YY "-" mm "-" dd "T" hh ":" ii ":" ss | "2008-7-1T9:3:37"

Nota:

O "W" nos formatos "Ano ISO com semana ISO" e "Ano ISO com semana ISO e dia" são case-sensitive, você só pode usar o "W" maiúsculo.

O "T", nos formatos SOAP, XMRPC e WDDX é case-sensitive, só se pode utilizar o "T" maiúsculo.

O formato "Timestamp Unix" define o fuso horário para UTC.


Formatos relativos

Esta página descreve os diferentes formatos de data e tempo relativos que os interpretadores strtotime(), DateTime e date_create() entendem.

Símbolos Utilizados
Descrição | Formato
dayname | 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
daytext | 'weekday' | 'weekdays'
number | [+-]?[0-9]+
ordinal | 'first' | 'second' | 'third' | 'fourth' | 'fifth' | 'sixth' | 'seventh' | 'eighth' | 'ninth' | 'tenth' | 'eleventh' | 'twelfth' | 'next' | 'last' | 'previous' | 'this'
reltext | 'next' | 'last' | 'previous' | 'this'
space | [ \t]+
unit | (('sec' | 'second' | 'min' | 'minute' | 'hour' | 'day' | 'fortnight' | 'forthnight' | 'month' | 'year') 's'?) | 'weeks' | daytext
Notação baseada no dia
Formato | Descrição | Examplos
'yesterday' | Meia-noite de ontem | "yesterday 14:00"
'midnight' | A hora é configurada para 00:00:00 |
'today' | A hora é configurada para 00:00:00 |
'now' | Agora - isto é simplesmente ignorado |
'noon' | A hora é configurada para 12:00:00 | "yesterday noon"
'tomorrow' | Meia-noite de amanhã |
'back of' hour | 15 minutos após a hora informada | "back of 7pm", "back of 15"
'front of' hour | 15 minutos antes da hora informada | "front of 5am", "front of 23"
'first day of' | Define o dia para o primeiro dia do mês atual. Essa frase é usada de melhor forma, junto com um nome de mês. | "first day of January 2008"
'last day of' | Define o dia para o último do mês corrente. Essa frase é usada de melhor forma, junto com um nome de mês. | "last day of next month"
ordinal space dayname space 'of' | Calcula o número ordinal x-th da semana do mês corrente. | "first sat of July 2008"
'last' space dayname space 'of' | Calcular o último dia da semana do mês corrente. | "last sat of July 2008"
number space? (unit | 'week') | Manipula porções de tempo relativas onde o valor seja um número. | "+5 weeks", "12 day", "-7 weekdays"
ordinal space unit | Manipula porções de tempo relativas onde o valor seja um texto. | "fifth day", "second month"
'ago' | Nega todos os valores das porções de tempo relativas anteriores. | "2 days ago", "8 days ago 14:00", "2 months 5 days ago", "2 months ago 5 days", "2 days ago"
dayname | Move para o próximo dia deste nome. | "Monday"
reltext space 'week' | Manipula o formato especial "weekday + last/this/next week". | "Monday next week"

Nota:

Declarações relativas são sempre processadas depois de declarações não relativas. Isso faz com que "+1 week july 2008" e "july 2008 +1 week" sejam equivalentes.

As exceções desta regra são "yesterday", "midnight", "today", "noon" e "tomorrow". Observe que "tomorrow 11:00" e "11:00 tomorrow" são diferentes. Considerando que a data hoje como "July 23rd, 2008", o primeiro produzirá "2008-07-24 11:00" assim como o segundo produzirá "2008-07-24 00:00". Isso acontece por que as cinco declarações influenciam diretamente o tempo corrente.

Nota:

Observe as seguintes considerações quando o dia da semana corrente é o mesmo que o dia da semana utilizada na string date/hora. O dia da semana corrente pode ser (re-)calculado para porções não relativas de strings de data/hora.

  1. "dayname" não avança para outro dia. (Examplo: "Wed July 23rd, 2008" referencia "2008-07-23").
  2. "number dayname" não avança para outro dia. (Exemplo: "1 wednesday july 23rd, 2008" referencia "2008-07-23").
  3. "number week dayname" adicionará primeiro o dia da semana, mas not avançará para outro dia. Neste caso, "number week" e "dayname" são dois blocos distintos. (Exemplo: "+1 week wednesday july 23rd, 2008" referencia "2008-07-30").
  4. "ordinal dayname" avançarápara outro dia. (Exemplo "first wednesday july 23rd, 2008" referencia "2008-07-30").
  5. "number week ordinal dayname" adicionará primeiro o número de semanas, e então avançará para outro dia. Neste caso "number week" e "ordinal dayname são dois blocos distintos. (Exemplo: "+1 week first wednesday july 23rd, 2008" referencia "2008-08-06").
  6. "ordinal dayname 'of' " não avança para outro dia. (Exemplo: "first wednesday of july 23rd, 2008" referencia "2008-07-02" porque a frase específica com 'of' redefine o dia do mês para '1' e o '23rd' é ignorado).

Também observe que o "of" em "ordinal space dayname space 'of' " e "'last' space dayname space 'of' " fazem coisas especiais.

  1. Ele definirá o dia do mês para 1.
  2. "ordinal dayname 'of' " não avançará para outro dia. (Exemplo: "first tuesday of july 2008" referencia "2008-07-01").
  3. "ordinal dayname " avançará para outro dia. (Exemplo: "first tuesday july 2008" referencia "2008-07-08", veja também o item 4 na lista acima).
  4. "'last' dayname 'of' " captura o último dayname do mês corrente. (Exemplo: "last wed of july 2008" referencia "2008-07-30")
  5. "'last' dayname" captura o último dayname do mês corrente. (Exemplo: "last wed july 2008" referencia "2008-06-25"; "july 2008" primeiro definirá a data corrente para "2008-07-01" e então "last wed" moverá para a última Quarta-feira que será "2008-06-25").

Nota:

Meses com valores relativos são calculados baseados no tamanho do mês passado. Um exemplo seria "+2 month 2011-11-30",que produziria "2012-01-30". Isso é devido a Novembro tendo 30 dias como tamanho, e Dezembro tendo 31, produzindo um total de 61 dias.

Changelog

Versão | Descrição
5.3.3 | "first day" e "last day" foi modificado para ter o comportamento de "+1 day" e "-1 day", respectivamente. Anteriormente, o comportamento era como "first day of" e "last day of".


Lista de Fusos Horários Suportados

Índice

  • África
  • América
  • Antártica
  • Ártico
  • Asia
  • Atlântico
  • Australia
  • Europa
  • Indiano
  • Pacífico
  • Outros

Aqui você encontrará a lista completa de timezones suportados no PHP, os quais poder ser utilizados em date_default_timezone_set() e afins.

Cuidado

O comportamento dos timezones não listados aqui é indefinido.

Nota: A versão mais recente do banco de timezones pode ser instalado através do pacote PECL » timezonedb.

Nota: Esta lista depende da versão do banco de dados de fusos horários 2021.1.


África

África
Africa/Abidjan | Africa/Accra | Africa/Addis_Ababa | Africa/Algiers
Africa/Asmara | Africa/Bamako | Africa/Bangui | Africa/Banjul
Africa/Bissau | Africa/Blantyre | Africa/Brazzaville | Africa/Bujumbura
Africa/Cairo | Africa/Casablanca | Africa/Ceuta | Africa/Conakry
Africa/Dakar | Africa/Dar_es_Salaam | Africa/Djibouti | Africa/Douala
Africa/El_Aaiun | Africa/Freetown | Africa/Gaborone | Africa/Harare
Africa/Johannesburg | Africa/Juba | Africa/Kampala | Africa/Khartoum
Africa/Kigali | Africa/Kinshasa | Africa/Lagos | Africa/Libreville
Africa/Lome | Africa/Luanda | Africa/Lubumbashi | Africa/Lusaka
Africa/Malabo | Africa/Maputo | Africa/Maseru | Africa/Mbabane
Africa/Mogadishu | Africa/Monrovia | Africa/Nairobi | Africa/Ndjamena
Africa/Niamey | Africa/Nouakchott | Africa/Ouagadougou | Africa/Porto-Novo
Africa/Sao_Tome | Africa/Tripoli | Africa/Tunis | Africa/Windhoek


América

América
America/Adak | America/Anchorage | America/Anguilla | America/Antigua
America/Araguaina | America/Argentina/Buenos_Aires | America/Argentina/Catamarca | America/Argentina/Cordoba
America/Argentina/Jujuy | America/Argentina/La_Rioja | America/Argentina/Mendoza | America/Argentina/Rio_Gallegos
America/Argentina/Salta | America/Argentina/San_Juan | America/Argentina/San_Luis | America/Argentina/Tucuman
America/Argentina/Ushuaia | America/Aruba | America/Asuncion | America/Atikokan
America/Bahia | America/Bahia_Banderas | America/Barbados | America/Belem
America/Belize | America/Blanc-Sablon | America/Boa_Vista | America/Bogota
America/Boise | America/Cambridge_Bay | America/Campo_Grande | America/Cancun
America/Caracas | America/Cayenne | America/Cayman | America/Chicago
America/Chihuahua | America/Costa_Rica | America/Creston | America/Cuiaba
America/Curacao | America/Danmarkshavn | America/Dawson | America/Dawson_Creek
America/Denver | America/Detroit | America/Dominica | America/Edmonton
America/Eirunepe | America/El_Salvador | America/Fort_Nelson | America/Fortaleza
America/Glace_Bay | America/Goose_Bay | America/Grand_Turk | America/Grenada
America/Guadeloupe | America/Guatemala | America/Guayaquil | America/Guyana
America/Halifax | America/Havana | America/Hermosillo | America/Indiana/Indianapolis
America/Indiana/Knox | America/Indiana/Marengo | America/Indiana/Petersburg | America/Indiana/Tell_City
America/Indiana/Vevay | America/Indiana/Vincennes | America/Indiana/Winamac | America/Inuvik
America/Iqaluit | America/Jamaica | America/Juneau | America/Kentucky/Louisville
America/Kentucky/Monticello | America/Kralendijk | America/La_Paz | America/Lima
America/Los_Angeles | America/Lower_Princes | America/Maceio | America/Managua
America/Manaus | America/Marigot | America/Martinique | America/Matamoros
America/Mazatlan | America/Menominee | America/Merida | America/Metlakatla
America/Mexico_City | America/Miquelon | America/Moncton | America/Monterrey
America/Montevideo | America/Montserrat | America/Nassau | America/New_York
America/Nipigon | America/Nome | America/Noronha | America/North_Dakota/Beulah
America/North_Dakota/Center | America/North_Dakota/New_Salem | America/Nuuk | America/Ojinaga
America/Panama | America/Pangnirtung | America/Paramaribo | America/Phoenix
America/Port-au-Prince | America/Port_of_Spain | America/Porto_Velho | America/Puerto_Rico
America/Punta_Arenas | America/Rainy_River | America/Rankin_Inlet | America/Recife
America/Regina | America/Resolute | America/Rio_Branco | America/Santarem
America/Santiago | America/Santo_Domingo | America/Sao_Paulo | America/Scoresbysund
America/Sitka | America/St_Barthelemy | America/St_Johns | America/St_Kitts
America/St_Lucia | America/St_Thomas | America/St_Vincent | America/Swift_Current
America/Tegucigalpa | America/Thule | America/Thunder_Bay | America/Tijuana
America/Toronto | America/Tortola | America/Vancouver | America/Whitehorse
America/Winnipeg | America/Yakutat | America/Yellowknife |


Antártica

Antártica
Antarctica/Casey | Antarctica/Davis | Antarctica/DumontDUrville | Antarctica/Macquarie
Antarctica/Mawson | Antarctica/McMurdo | Antarctica/Palmer | Antarctica/Rothera
Antarctica/Syowa | Antarctica/Troll | Antarctica/Vostok |


  • « Antártica
  • Asia »
  • PHP Manual
  • Lista de Fusos Horários Suportados
  • Ártico

Ártico

Ártico
Arctic/Longyearbyen


Asia

Asia
Asia/Aden | Asia/Almaty | Asia/Amman | Asia/Anadyr
Asia/Aqtau | Asia/Aqtobe | Asia/Ashgabat | Asia/Atyrau
Asia/Baghdad | Asia/Bahrain | Asia/Baku | Asia/Bangkok
Asia/Barnaul | Asia/Beirut | Asia/Bishkek | Asia/Brunei
Asia/Chita | Asia/Choibalsan | Asia/Colombo | Asia/Damascus
Asia/Dhaka | Asia/Dili | Asia/Dubai | Asia/Dushanbe
Asia/Famagusta | Asia/Gaza | Asia/Hebron | Asia/Ho_Chi_Minh
Asia/Hong_Kong | Asia/Hovd | Asia/Irkutsk | Asia/Jakarta
Asia/Jayapura | Asia/Jerusalem | Asia/Kabul | Asia/Kamchatka
Asia/Karachi | Asia/Kathmandu | Asia/Khandyga | Asia/Kolkata
Asia/Krasnoyarsk | Asia/Kuala_Lumpur | Asia/Kuching | Asia/Kuwait
Asia/Macau | Asia/Magadan | Asia/Makassar | Asia/Manila
Asia/Muscat | Asia/Nicosia | Asia/Novokuznetsk | Asia/Novosibirsk
Asia/Omsk | Asia/Oral | Asia/Phnom_Penh | Asia/Pontianak
Asia/Pyongyang | Asia/Qatar | Asia/Qostanay | Asia/Qyzylorda
Asia/Riyadh | Asia/Sakhalin | Asia/Samarkand | Asia/Seoul
Asia/Shanghai | Asia/Singapore | Asia/Srednekolymsk | Asia/Taipei
Asia/Tashkent | Asia/Tbilisi | Asia/Tehran | Asia/Thimphu
Asia/Tokyo | Asia/Tomsk | Asia/Ulaanbaatar | Asia/Urumqi
Asia/Ust-Nera | Asia/Vientiane | Asia/Vladivostok | Asia/Yakutsk
Asia/Yangon | Asia/Yekaterinburg | Asia/Yerevan |


Atlântico

Atlântico
Atlantic/Azores | Atlantic/Bermuda | Atlantic/Canary | Atlantic/Cape_Verde
Atlantic/Faroe | Atlantic/Madeira | Atlantic/Reykjavik | Atlantic/South_Georgia
Atlantic/St_Helena | Atlantic/Stanley |  |


Australia

Australia
Australia/Adelaide | Australia/Brisbane | Australia/Broken_Hill | Australia/Darwin
Australia/Eucla | Australia/Hobart | Australia/Lindeman | Australia/Lord_Howe
Australia/Melbourne | Australia/Perth | Australia/Sydney |


Europa

Europa
Europe/Amsterdam | Europe/Andorra | Europe/Astrakhan | Europe/Athens
Europe/Belgrade | Europe/Berlin | Europe/Bratislava | Europe/Brussels
Europe/Bucharest | Europe/Budapest | Europe/Busingen | Europe/Chisinau
Europe/Copenhagen | Europe/Dublin | Europe/Gibraltar | Europe/Guernsey
Europe/Helsinki | Europe/Isle_of_Man | Europe/Istanbul | Europe/Jersey
Europe/Kaliningrad | Europe/Kiev | Europe/Kirov | Europe/Lisbon
Europe/Ljubljana | Europe/London | Europe/Luxembourg | Europe/Madrid
Europe/Malta | Europe/Mariehamn | Europe/Minsk | Europe/Monaco
Europe/Moscow | Europe/Oslo | Europe/Paris | Europe/Podgorica
Europe/Prague | Europe/Riga | Europe/Rome | Europe/Samara
Europe/San_Marino | Europe/Sarajevo | Europe/Saratov | Europe/Simferopol
Europe/Skopje | Europe/Sofia | Europe/Stockholm | Europe/Tallinn
Europe/Tirane | Europe/Ulyanovsk | Europe/Uzhgorod | Europe/Vaduz
Europe/Vatican | Europe/Vienna | Europe/Vilnius | Europe/Volgograd
Europe/Warsaw | Europe/Zagreb | Europe/Zaporozhye | Europe/Zurich


Indiano

Indiano
Indian/Antananarivo | Indian/Chagos | Indian/Christmas | Indian/Cocos
Indian/Comoro | Indian/Kerguelen | Indian/Mahe | Indian/Maldives
Indian/Mauritius | Indian/Mayotte | Indian/Reunion |


Pacífico

Pacífico
Pacific/Apia | Pacific/Auckland | Pacific/Bougainville | Pacific/Chatham
Pacific/Chuuk | Pacific/Easter | Pacific/Efate | Pacific/Enderbury
Pacific/Fakaofo | Pacific/Fiji | Pacific/Funafuti | Pacific/Galapagos
Pacific/Gambier | Pacific/Guadalcanal | Pacific/Guam | Pacific/Honolulu
Pacific/Kiritimati | Pacific/Kosrae | Pacific/Kwajalein | Pacific/Majuro
Pacific/Marquesas | Pacific/Midway | Pacific/Nauru | Pacific/Niue
Pacific/Norfolk | Pacific/Noumea | Pacific/Pago_Pago | Pacific/Palau
Pacific/Pitcairn | Pacific/Pohnpei | Pacific/Port_Moresby | Pacific/Rarotonga
Pacific/Saipan | Pacific/Tahiti | Pacific/Tarawa | Pacific/Tongatapu
Pacific/Wake | Pacific/Wallis |  |


Outros

Aviso

Por favor não use nenhuma dos fusos horários listados aqui (exceto o UTC), pois elas existem apenas para compatibilidade retroativa, e podem ter comportamento errôneo.

Aviso

Se você desconsiderar o aviso acima note que o banco de dados fusos horários IANA que o PHP fornece utiliza sinais estilo POSIX, que resulta nas time zones Etc/GMT+n Etc/GMT-n acabarem invertidas do uso comum.

Por exemplo, fusos horários 8 horas a frente do GMT, utilizada na China e Austrália Oeste (entre outros lugares) está marcada como Etc/GMT-8 no banco de dados, e não como Etc/GMT+8 normalmente se espera.

Novamente, é fortemente recomendado que você utilizae a time zone correta da sua locação, como Asia/Shanghai ou Australia/Perth nos exemplos acima.

Outros
Africa/Asmera | Africa/Timbuktu | America/Argentina/ComodRivadavia | America/Atka
America/Buenos_Aires | America/Catamarca | America/Coral_Harbour | America/Cordoba
America/Ensenada | America/Fort_Wayne | America/Godthab | America/Indianapolis
America/Jujuy | America/Knox_IN | America/Louisville | America/Mendoza
America/Montreal | America/Porto_Acre | America/Rosario | America/Santa_Isabel
America/Shiprock | America/Virgin | Antarctica/South_Pole | Asia/Ashkhabad
Asia/Calcutta | Asia/Chongqing | Asia/Chungking | Asia/Dacca
Asia/Harbin | Asia/Istanbul | Asia/Kashgar | Asia/Katmandu
Asia/Macao | Asia/Rangoon | Asia/Saigon | Asia/Tel_Aviv
Asia/Thimbu | Asia/Ujung_Pandang | Asia/Ulan_Bator | Atlantic/Faeroe
Atlantic/Jan_Mayen | Australia/ACT | Australia/Canberra | Australia/Currie
Australia/LHI | Australia/North | Australia/NSW | Australia/Queensland
Australia/South | Australia/Tasmania | Australia/Victoria | Australia/West
Australia/Yancowinna | Brazil/Acre | Brazil/DeNoronha | Brazil/East
Brazil/West | Canada/Atlantic | Canada/Central | Canada/Eastern
Canada/Mountain | Canada/Newfoundland | Canada/Pacific | Canada/Saskatchewan
Canada/Yukon | CET | Chile/Continental | Chile/EasterIsland
CST6CDT | Cuba | EET | Egypt
Eire | EST | EST5EDT | Etc/GMT
Etc/GMT+0 | Etc/GMT+1 | Etc/GMT+10 | Etc/GMT+11
Etc/GMT+12 | Etc/GMT+2 | Etc/GMT+3 | Etc/GMT+4
Etc/GMT+5 | Etc/GMT+6 | Etc/GMT+7 | Etc/GMT+8
Etc/GMT+9 | Etc/GMT-0 | Etc/GMT-1 | Etc/GMT-10
Etc/GMT-11 | Etc/GMT-12 | Etc/GMT-13 | Etc/GMT-14
Etc/GMT-2 | Etc/GMT-3 | Etc/GMT-4 | Etc/GMT-5
Etc/GMT-6 | Etc/GMT-7 | Etc/GMT-8 | Etc/GMT-9
Etc/GMT0 | Etc/Greenwich | Etc/UCT | Etc/Universal
Etc/UTC | Etc/Zulu | Europe/Belfast | Europe/Nicosia
Europe/Tiraspol | Factory | GB | GB-Eire
GMT | GMT+0 | GMT-0 | GMT0
Greenwich | Hongkong | HST | Iceland
Iran | Israel | Jamaica | Japan
Kwajalein | Libya | MET | Mexico/BajaNorte
Mexico/BajaSur | Mexico/General | MST | MST7MDT
Navajo | NZ | NZ-CHAT | Pacific/Johnston
Pacific/Ponape | Pacific/Samoa | Pacific/Truk | Pacific/Yap
Poland | Portugal | PRC | PST8PDT
ROC | ROK | Singapore | Turkey
UCT | Universal | US/Alaska | US/Aleutian
US/Arizona | US/Central | US/East-Indiana | US/Eastern
US/Hawaii | US/Indiana-Starke | US/Michigan | US/Mountain
US/Pacific | US/Samoa | UTC | W-SU
WET | Zulu |  |


High resolution timing

  • Introdução
  • Instalação/Configuração
    • Instalação
  • Exemplos
    • Basic usage
  • HRTime\PerformanceCounter — The HRTime\PerformanceCounter class
    • HRTime\PerformanceCounter::getFrequency — Timer frequency in ticks per second
    • HRTime\PerformanceCounter::getTicks — Current ticks from the system
    • HRTime\PerformanceCounter::getTicksSince — Ticks elapsed since the given value
  • HRTime\StopWatch — The HRTime\StopWatch class
    • HRTime\StopWatch::getElapsedTicks — Get elapsed ticks for all intervals
    • HRTime\StopWatch::getElapsedTime — Get elapsed time for all intervals
    • HRTime\StopWatch::getLastElapsedTicks — Get elapsed ticks for the last interval
    • HRTime\StopWatch::getLastElapsedTime — Get elapsed time for the last interval
    • HRTime\StopWatch::isRunning — Whether the measurement is running
    • HRTime\StopWatch::start — Start time measurement
    • HRTime\StopWatch::stop — Stop time measurement
  • HRTime\Unit — The HRTime\Unit class


Introdução

The HRTime extension implements a high resolution StopWatch class. It uses the best possible APIs on different platforms which brings resolution up to nanoseconds. It also makes possible to implement a custom stopwatch using low level ticks delivered by the underlaying APIs.

Nota: As of PHP 7.3.0 the related function hrtime() is part of the core.


  • « Introdução
  • Instalação »
  • PHP Manual
  • HRTime
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Instalação


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/hrtime.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/hrtime/.


  • « Instalação
  • Basic usage »
  • PHP Manual
  • HRTime
  • Exemplos

Exemplos

Índice

  • Basic usage


Basic usage

The example illustrates the basic StopWatch class usage

Exemplo #1 Measure several code blocks execution and get the total

<?php

$c = new HRTime\StopWatch;

$c->start();
/* measure this code block execution */
for ($i = 0; $i < 1024*1024; $i++);
$c->stop();
$elapsed0 = $c->getLastElapsedTime(HRTime\Unit::NANOSECOND);

/* measurement is not running here*/
for ($i = 0; $i < 1024*1024; $i++);

$c->start();
/* measure this code block execution */
for ($i = 0; $i < 1024*1024; $i++);
$c->stop();
$elapsed1 = $c->getLastElapsedTime(HRTime\Unit::NANOSECOND);

$elapsed_total = $c->getElapsedTime(HRTime\Unit::NANOSECOND);

?>


The HRTime\PerformanceCounter class

(PECL hrtime >= 0.4.3)

Introdução

Sinopse da classe

HRTime\PerformanceCounter {
/* Métodos */
public static getFrequency ( ) : int
public static getTicks ( ) : int
public static getTicksSince ( int $start ) : int
}

Índice

  • HRTime\PerformanceCounter::getFrequency — Timer frequency in ticks per second
  • HRTime\PerformanceCounter::getTicks — Current ticks from the system
  • HRTime\PerformanceCounter::getTicksSince — Ticks elapsed since the given value


Timer frequency in ticks per second

  • « HRTime\PerformanceCounter
  • HRTime\PerformanceCounter::getTicks »
  • PHP Manual
  • HRTime\PerformanceCounter
  • Timer frequency in ticks per second

HRTime\PerformanceCounter::getFrequency

(PECL hrtime >= 0.4.3)

HRTime\PerformanceCounter::getFrequency — Timer frequency in ticks per second

Descrição

public static HRTime\PerformanceCounter::getFrequency ( ) : int

Returns the timer frequency in ticks per second. This value is constant after the system start on almost any operating system.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns int indicating the timer frequency.


Current ticks from the system

  • « HRTime\PerformanceCounter::getFrequency
  • HRTime\PerformanceCounter::getTicksSince »
  • PHP Manual
  • HRTime\PerformanceCounter
  • Current ticks from the system

HRTime\PerformanceCounter::getTicks

(PECL hrtime >= 0.6.0)

HRTime\PerformanceCounter::getTicks — Current ticks from the system

Descrição

public static HRTime\PerformanceCounter::getTicks ( ) : int

Returns the ticks count.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns int indicating the ticks count.


Ticks elapsed since the given value

  • « HRTime\PerformanceCounter::getTicks
  • HRTime\StopWatch »
  • PHP Manual
  • HRTime\PerformanceCounter
  • Ticks elapsed since the given value

HRTime\PerformanceCounter::getTicksSince

(PECL hrtime >= 0.6.0)

HRTime\PerformanceCounter::getTicksSince — Ticks elapsed since the given value

Descrição

public static HRTime\PerformanceCounter::getTicksSince ( int $start ) : int

Returns the ticks count elapsed since the given start value.

Parâmetros

start

Starting ticks value.

Valor Retornado

Returns int indicating the ticks count.


The HRTime\StopWatch class

(PECL hrtime >= 0.4.3)

Introdução

Sinopse da classe

HRTime\StopWatch extends HRTime\PerformanceCounter {
/* Métodos */
public getElapsedTicks ( ) : int
public getElapsedTime ( int $unit = ? ) : float
public getLastElapsedTicks ( ) : int
public getLastElapsedTime ( int $unit = ? ) : float
public isRunning ( ) : bool
public start ( ) : void
public stop ( ) : void
/* Métodos herdados */
public static HRTime\PerformanceCounter::getFrequency ( ) : int
public static HRTime\PerformanceCounter::getTicks ( ) : int
public static HRTime\PerformanceCounter::getTicksSince ( int $start ) : int
}

Índice

  • HRTime\StopWatch::getElapsedTicks — Get elapsed ticks for all intervals
  • HRTime\StopWatch::getElapsedTime — Get elapsed time for all intervals
  • HRTime\StopWatch::getLastElapsedTicks — Get elapsed ticks for the last interval
  • HRTime\StopWatch::getLastElapsedTime — Get elapsed time for the last interval
  • HRTime\StopWatch::isRunning — Whether the measurement is running
  • HRTime\StopWatch::start — Start time measurement
  • HRTime\StopWatch::stop — Stop time measurement


Get elapsed ticks for all intervals

  • « HRTime\StopWatch
  • HRTime\StopWatch::getElapsedTime »
  • PHP Manual
  • HRTime\StopWatch
  • Get elapsed ticks for all intervals

HRTime\StopWatch::getElapsedTicks

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::getElapsedTicks — Get elapsed ticks for all intervals

Descrição

public HRTime\StopWatch::getElapsedTicks ( ) : int

Get elapsed ticks for all the previously closed intervals.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns int indicating elapsed ticks.


Get elapsed time for all intervals

  • « HRTime\StopWatch::getElapsedTicks
  • HRTime\StopWatch::getLastElapsedTicks »
  • PHP Manual
  • HRTime\StopWatch
  • Get elapsed time for all intervals

HRTime\StopWatch::getElapsedTime

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::getElapsedTime — Get elapsed time for all intervals

Descrição

public HRTime\StopWatch::getElapsedTime ( int $unit = ? ) : float

Get elapsed time for all the previously closed intervals.

Parâmetros

unit

Time unit represented by a HRTime\Unit constant. Default is HRTime\Unit::SECOND.

Valor Retornado

Returns float indicating elapsed time.


Get elapsed ticks for the last interval

  • « HRTime\StopWatch::getElapsedTime
  • HRTime\StopWatch::getLastElapsedTime »
  • PHP Manual
  • HRTime\StopWatch
  • Get elapsed ticks for the last interval

HRTime\StopWatch::getLastElapsedTicks

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::getLastElapsedTicks — Get elapsed ticks for the last interval

Descrição

public HRTime\StopWatch::getLastElapsedTicks ( ) : int

Get elapsed ticks for the previously closed interval.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns int indicating elapsed ticks.


Get elapsed time for the last interval

  • « HRTime\StopWatch::getLastElapsedTicks
  • HRTime\StopWatch::isRunning »
  • PHP Manual
  • HRTime\StopWatch
  • Get elapsed time for the last interval

HRTime\StopWatch::getLastElapsedTime

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::getLastElapsedTime — Get elapsed time for the last interval

Descrição

public HRTime\StopWatch::getLastElapsedTime ( int $unit = ? ) : float

Get elapsed time for the previously closed interval.

Parâmetros

unit

Time unit represented by a HRTime\Unit constant. Default is HRTime\Unit::SECOND.

Valor Retornado

Returns float indicating elapsed time.


Whether the measurement is running

  • « HRTime\StopWatch::getLastElapsedTime
  • HRTime\StopWatch::start »
  • PHP Manual
  • HRTime\StopWatch
  • Whether the measurement is running

HRTime\StopWatch::isRunning

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::isRunning — Whether the measurement is running

Descrição

public HRTime\StopWatch::isRunning ( ) : bool

Reveals whether the measurement was started.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns bool indicating whetehr the measurement is running.


Start time measurement

  • « HRTime\StopWatch::isRunning
  • HRTime\StopWatch::stop »
  • PHP Manual
  • HRTime\StopWatch
  • Start time measurement

HRTime\StopWatch::start

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::start — Start time measurement

Descrição

public HRTime\StopWatch::start ( ) : void

Starts the time measurement. It has no effect if the measurement was already started. The measurement will be continued if it was previously stopped.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns void.


Stop time measurement

  • « HRTime\StopWatch::start
  • HRTime\Unit »
  • PHP Manual
  • HRTime\StopWatch
  • Stop time measurement

HRTime\StopWatch::stop

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::stop — Stop time measurement

Descrição

public HRTime\StopWatch::stop ( ) : void

Stop the time measurement for the previously started interval.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns void.


The HRTime\Unit class

(PECL hrtime >= 0.4.3)

Introdução

Sinopse da classe

HRTime\Unit {
/* Constants */
const int SECOND = 0 ;
const int MILLISECOND = 1 ;
const int MICROSECOND = 2 ;
const int NANOSECOND = 3 ;
/* Métodos */
}

Constantes pré-definidas

HRTime\Unit::SECOND

HRTime\Unit::MILLISECOND

HRTime\Unit::MICROSECOND

HRTime\Unit::NANOSECOND


Extensões Relacionadas a Sistema de Arquivo

  • Direct IO
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Direct IO Funções
  • Diretórios
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções de Diretórios
  • Fileinfo — File Information
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Fileinfo Funções
    • finfo — The finfo class
  • Filesystem
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções para Sistema de arquivo
  • Inotify
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Inotify Funções
  • Proctitle
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Proctitle Funções
  • xattr
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções da xattr
  • xdiff
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • xdiff Funções


Direct IO

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Direct IO Funções
    • dio_close — Closes the file descriptor given by fd
    • dio_fcntl — Performs a c library fcntl on fd
    • dio_open — Opens a file (creating it if necessary) at a lower level than the C library input/ouput stream functions allow
    • dio_read — Reads bytes from a file descriptor
    • dio_seek — Seeks to pos on fd from whence
    • dio_stat — Gets stat information about the file descriptor fd
    • dio_tcsetattr — Sets terminal attributes and baud rate for a serial port
    • dio_truncate — Truncates file descriptor fd to offset bytes
    • dio_write — Writes data to fd with optional truncation at length


Introdução

PHP supports the direct io functions as described in the Posix Standard (Section 6) for performing I/O functions at a lower level than the C-Language stream I/O functions (fopen(), fread(),..). The use of the DIO functions should be considered only when direct control of a device is needed. In all other cases, the standard filesystem functions are more than adequate.

Nota:

Esta extensão foi movida para o repositório » PECL e não é mais incluída como parte do PHP.5.1.0.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/dio.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

One resource type is defined by this extension: a file descriptor returned by dio_open().


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

F_DUPFD (int)

F_GETFD (int)

F_GETFL (int)

F_GETLK (int)

F_GETOWN (int)

F_RDLCK (int)

F_SETFL (int)

F_SETLK (int)

F_SETLKW (int)

F_SETOWN (int)

F_UNLCK (int)

F_WRLCK (int)

O_APPEND (int)

O_ASYNC (int)

O_CREAT (int)

O_EXCL (int)

O_NDELAY (int)

O_NOCTTY (int)

O_NONBLOCK (int)

O_RDONLY (int)

O_RDWR (int)

O_SYNC (int)

O_TRUNC (int)

O_WRONLY (int)

S_IRGRP (int)

S_IROTH (int)

S_IRUSR (int)

S_IRWXG (int)

S_IRWXO (int)

S_IRWXU (int)

S_IWGRP (int)

S_IWOTH (int)

S_IWUSR (int)

S_IXGRP (int)

S_IXOTH (int)

S_IXUSR (int)


Direct IO Funções

Índice

  • dio_close — Closes the file descriptor given by fd
  • dio_fcntl — Performs a c library fcntl on fd
  • dio_open — Opens a file (creating it if necessary) at a lower level than the C library input/ouput stream functions allow
  • dio_read — Reads bytes from a file descriptor
  • dio_seek — Seeks to pos on fd from whence
  • dio_stat — Gets stat information about the file descriptor fd
  • dio_tcsetattr — Sets terminal attributes and baud rate for a serial port
  • dio_truncate — Truncates file descriptor fd to offset bytes
  • dio_write — Writes data to fd with optional truncation at length


Closes the file descriptor given by fd

  • « Direct IO Funções
  • dio_fcntl »
  • PHP Manual
  • Direct IO Funções
  • Closes the file descriptor given by fd

dio_close

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_close — Closes the file descriptor given by fd

Descrição

dio_close ( resource $fd ) : void

The function dio_close() closes the file descriptor fd.

Parâmetros

fd

The file descriptor returned by dio_open().

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Closing an open file descriptor

<?php
$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_close($fd);
?>

Veja Também

  • dio_open() - Opens a file (creating it if necessary) at a lower level than the C library input/ouput stream functions allow


Performs a c library fcntl on fd

  • « dio_close
  • dio_open »
  • PHP Manual
  • Direct IO Funções
  • Performs a c library fcntl on fd

dio_fcntl

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_fcntl — Performs a c library fcntl on fd

Descrição

dio_fcntl ( resource $fd , int $cmd , mixed $args = ? ) : mixed

The dio_fcntl() function performs the operation specified by cmd on the file descriptor fd. Some commands require additional arguments args to be supplied.

Parâmetros

fd

The file descriptor returned by dio_open().

cmd

Can be one of the following operations:

  • F_SETLK - Lock is set or cleared. If the lock is held by someone else dio_fcntl() returns -1.

  • F_SETLKW - like F_SETLK, but in case the lock is held by someone else, dio_fcntl() waits until the lock is released.

  • F_GETLK - dio_fcntl() returns an associative array (as described below) if someone else prevents lock. If there is no obstruction key "type" will set to F_UNLCK.

  • F_DUPFD - finds the lowest numbered available file descriptor greater than or equal to args and returns them.

  • F_SETFL - Sets the file descriptors flags to the value specified by args, which can be O_APPEND, O_NONBLOCK or O_ASYNC. To use O_ASYNC you will need to use the PCNTL extension.

args

args is an associative array, when cmd is F_SETLK or F_SETLLW, with the following keys:

  • start - offset where lock begins

  • length - size of locked area. zero means to end of file

  • whence - Where l_start is relative to: can be SEEK_SET, SEEK_END and SEEK_CUR

  • type - type of lock: can be F_RDLCK (read lock), F_WRLCK (write lock) or F_UNLCK (unlock)

Valor Retornado

Returns the result of the C call.

Exemplos

Exemplo #1 Setting and clearing a lock

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

if (dio_fcntl($fd, F_SETLK, Array("type"=>F_WRLCK)) == -1) {
   // the file descriptor appears locked
   echo "The lock can not be cleared. It is held by someone else.";
} else {
   echo "Lock successfully set/cleared";
}

dio_close($fd);
?>

Notas

Nota: esta função não é implementada na plataforma Windows


Opens a file (creating it if necessary) at a lower level than the C library input/ouput stream functions allow

  • « dio_fcntl
  • dio_read »
  • PHP Manual
  • Direct IO Funções
  • Opens a file (creating it if necessary) at a lower level than the C library input/ouput stream functions allow

dio_open

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_open — Opens a file (creating it if necessary) at a lower level than the C library input/ouput stream functions allow

Descrição

dio_open ( string $filename , int $flags , int $mode = 0 ) : resource

dio_open() opens a file and returns a new file descriptor for it.

Parâmetros

filename

The pathname of the file to open.

flags

The flags parameter is a bitwise-ORed value comprising flags from the following list. This value must include one of O_RDONLY, O_WRONLY, or O_RDWR. Additionally, it may include any combination of the other flags from this list.

  • O_RDONLY - opens the file for read access.

  • O_WRONLY - opens the file for write access.

  • O_RDWR - opens the file for both reading and writing.

  • O_CREAT - creates the file, if it doesn't already exist.

  • O_EXCL - if both O_CREAT and O_EXCL are set and the file already exists, dio_open() will fail.

  • O_TRUNC - if the file exists and is opened for write access, the file will be truncated to zero length.

  • O_APPEND - write operations write data at the end of the file.

  • O_NONBLOCK - sets non blocking mode.

  • O_NOCTTY - prevent the OS from assigning the opened file as the process's controlling terminal when opening a TTY device file.

mode

If flags contains O_CREAT, mode will set the permissions of the file (creation permissions). mode is required for correct operation when O_CREAT is specified in flags and is ignored otherwise.

The actual permissions assigned to the created file will be affected by the process's umask setting as per usual.

Valor Retornado

A file descriptor or false on error.

Exemplos

Exemplo #1 Opening a file descriptor

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_close($fd);
?>

Veja Também

  • dio_close() - Closes the file descriptor given by fd


Reads bytes from a file descriptor

  • « dio_open
  • dio_seek »
  • PHP Manual
  • Direct IO Funções
  • Reads bytes from a file descriptor

dio_read

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_read — Reads bytes from a file descriptor

Descrição

dio_read ( resource $fd , int $len = 1024 ) : string

The function dio_read() reads and returns len bytes from file with descriptor fd.

Parâmetros

fd

The file descriptor returned by dio_open().

len

The number of bytes to read. If not specified, dio_read() reads 1K sized block.

Valor Retornado

The bytes read from fd.

Veja Também

  • dio_write() - Writes data to fd with optional truncation at length


Seeks to pos on fd from whence

  • « dio_read
  • dio_stat »
  • PHP Manual
  • Direct IO Funções
  • Seeks to pos on fd from whence

dio_seek

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_seek — Seeks to pos on fd from whence

Descrição

dio_seek ( resource $fd , int $pos , int $whence = SEEK_SET ) : int

The function dio_seek() is used to change the file position of the given file descriptor.

Parâmetros

fd

The file descriptor returned by dio_open().

pos

The new position.

whence

Specifies how the position pos should be interpreted:

  • SEEK_SET (default) - specifies that pos is specified from the beginning of the file.

  • SEEK_CUR - Specifies that pos is a count of characters from the current file position. This count may be positive or negative.

  • SEEK_END - Specifies that pos is a count of characters from the end of the file. A negative count specifies a position within the current extent of the file; a positive count specifies a position past the current end. If you set the position past the current end, and actually write data, you will extend the file with zeros up to that position.

Valor Retornado

Exemplos

Exemplo #1 Positioning in a file

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_seek($fd, 10, SEEK_SET);
// position is now at 10 characters from the start of the file

dio_seek($fd, -2, SEEK_CUR);
// position is now at 8 characters from the start of the file

dio_seek($fd, -5, SEEK_END);
// position is now at 5 characters from the end of the file

dio_seek($fd, 10, SEEK_END);
// position is now at 10 characters past the end of the file.
// The 10 characters between the end of the file and the current
// position are filled with zeros.

dio_close($fd);
?>


Gets stat information about the file descriptor fd

  • « dio_seek
  • dio_tcsetattr »
  • PHP Manual
  • Direct IO Funções
  • Gets stat information about the file descriptor fd

dio_stat

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_stat — Gets stat information about the file descriptor fd

Descrição

dio_stat ( resource $fd ) : array

dio_stat() returns information about the given file descriptor.

Parâmetros

fd

The file descriptor returned by dio_open().

Valor Retornado

Returns an associative array with the following keys:

  • "device" - device

  • "inode" - inode

  • "mode" - mode

  • "nlink" - number of hard links

  • "uid" - user id

  • "gid" - group id

  • "device_type" - device type (if inode device)

  • "size" - total size in bytes

  • "blocksize" - blocksize

  • "blocks" - number of blocks allocated

  • "atime" - time of last access

  • "mtime" - time of last modification

  • "ctime" - time of last change

On error dio_stat() returns null.


Sets terminal attributes and baud rate for a serial port

  • « dio_stat
  • dio_truncate »
  • PHP Manual
  • Direct IO Funções
  • Sets terminal attributes and baud rate for a serial port

dio_tcsetattr

(PHP 4 >= 4.3.0, PHP 5 < 5.1.0)

dio_tcsetattr — Sets terminal attributes and baud rate for a serial port

Descrição

dio_tcsetattr ( resource $fd , array $options ) : bool

dio_tcsetattr() sets the terminal attributes and baud rate of the open fd.

Parâmetros

fd

The file descriptor returned by dio_open().

options

The currently available options are:

  • 'baud' - baud rate of the port - can be 38400,19200,9600,4800,2400,1800, 1200,600,300,200,150,134,110,75 or 50, default value is 9600.

  • 'bits' - data bits - can be 8,7,6 or 5. Default value is 8.

  • 'stop' - stop bits - can be 1 or 2. Default value is 1.

  • 'parity' - can be 0,1 or 2. Default value is 0.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Setting the baud rate on a serial port

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_fcntl($fd, F_SETFL, O_SYNC);

dio_tcsetattr($fd, array(
  'baud' => 9600,
  'bits' => 8,
  'stop'  => 1,
  'parity' => 0
));

while (1) {

  $data = dio_read($fd, 256);

  if ($data) {
      echo $data;
  }
}

?>

Notas

Nota: esta função não é implementada na plataforma Windows


Truncates file descriptor fd to offset bytes

  • « dio_tcsetattr
  • dio_write »
  • PHP Manual
  • Direct IO Funções
  • Truncates file descriptor fd to offset bytes

dio_truncate

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_truncate — Truncates file descriptor fd to offset bytes

Descrição

dio_truncate ( resource $fd , int $offset ) : bool

dio_truncate() truncates a file to at most offset bytes in size.

If the file previously was larger than this size, the extra data is lost. If the file previously was shorter, it is unspecified whether the file is left unchanged or is extended. In the latter case the extended part reads as zero bytes.

Parâmetros

fd

The file descriptor returned by dio_open().

offset

The offset in bytes.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota: esta função não é implementada na plataforma Windows


Writes data to fd with optional truncation at length

  • « dio_truncate
  • Diretórios »
  • PHP Manual
  • Direct IO Funções
  • Writes data to fd with optional truncation at length

dio_write

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_write — Writes data to fd with optional truncation at length

Descrição

dio_write ( resource $fd , string $data , int $len = 0 ) : int

dio_write() writes up to len bytes from data to file fd.

Parâmetros

fd

The file descriptor returned by dio_open().

data

The written data.

len

The length of data to write in bytes. If not specified, the function writes all the data to the specified file.

Valor Retornado

Returns the number of bytes written to fd.

Veja Também

  • dio_read() - Reads bytes from a file descriptor


Diretórios

  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções de Diretórios
    • chdir — Muda o diretório
    • chroot — Muda o diretório raiz (root)
    • closedir — Fecha o manipulador do diretório
    • dir — Retorna uma instância da classe Diretório
    • getcwd — Obtém o diretório atual
    • opendir — Abre um manipulador de diretório
    • readdir — Lê os campos do manipulador do diretório
    • rewinddir — Voltar (rewind) o manipulador de diretório
    • scandir — Lista os arquivos e diretórios que estão no caminho especificado


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

DIRECTORY_SEPARATOR (string)
PATH_SEPARATOR (string)

Nota: A PATH_SEPARATOR foi introduzida com PHP 4.3.0-RC2.


Funções de Diretórios

Veja Também

Para funções relacionadas como dirname(),
is_dir(), mkdir() e
rmdir(), veja a seção
Filesystem.

Índice

  • chdir — Muda o diretório
  • chroot — Muda o diretório raiz (root)
  • closedir — Fecha o manipulador do diretório
  • dir — Retorna uma instância da classe Diretório
  • getcwd — Obtém o diretório atual
  • opendir — Abre um manipulador de diretório
  • readdir — Lê os campos do manipulador do diretório
  • rewinddir — Voltar (rewind) o manipulador de diretório
  • scandir — Lista os arquivos e diretórios que estão no caminho especificado


Muda o diretório

  • « Funções de Diretórios
  • chroot »
  • PHP Manual
  • Funções de Diretórios
  • Muda o diretório

chdir

(PHP 4, PHP 5, PHP 7, PHP 8)

chdir — Muda o diretório

Descrição

chdir ( string $directory ) : bool

Muda o diretório atual do PHP para diretorio.

Parâmetros

directory

The new current directory

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 chdir() example

<?php

// diretório atual
echo getcwd() . "\n";

chdir('public_html');

// diretório atual
echo getcwd() . "\n";

?>

O exemplo acima irá imprimir algo similar à:

/home/vincent
/home/vincent/public_html

Notas

Nota: Quando o safe-mode está ativo, o PHP verifica se o diretório no qual o script está em operação tem o mesmo UID (proprietário) do script que está sendo executado.

Veja Também

  • getcwd() - Obtém o diretório atual


Muda o diretório raiz (root)

  • « chdir
  • closedir »
  • PHP Manual
  • Funções de Diretórios
  • Muda o diretório raiz (root)

chroot

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

chroot — Muda o diretório raiz (root)

Descrição

chroot ( string $directory ) : bool

Muda o diretório raiz (root) do processo atual para o diretorio.

Esta função somente está disponível se seu sistema suportá-la e se você estiver utilizando o modo CLI, CGI ou SAPI Embutida. Também, esta função requer privilégio root.

Parâmetros

directory

O novo diretório

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota: esta função não é implementada na plataforma Windows


Fecha o manipulador do diretório

  • « chroot
  • dir »
  • PHP Manual
  • Funções de Diretórios
  • Fecha o manipulador do diretório

closedir

(PHP 4, PHP 5, PHP 7, PHP 8)

closedir — Fecha o manipulador do diretório

Descrição

closedir ( resource $dir_handle ) : void

Fecha o stream do diretório indicado por dir_handle. O stream deve ter sido previamente aberto por opendir().

Parâmetros

dir_handle

O manipulador de diretório resource aberto com opendir().

Exemplos

Exemplo #1 Exemplo da closedir()

<?php
$dir = "/etc/php5/";

// Open a known directory, read directory into variable and then close
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        $directory = readdir($dh);
        closedir($dh);
    }
}
?>


Retorna uma instância da classe Diretório

  • « closedir
  • getcwd »
  • PHP Manual
  • Funções de Diretórios
  • Retorna uma instância da classe Diretório

dir

(PHP 4, PHP 5, PHP 7, PHP 8)

dir — Retorna uma instância da classe Diretório

Descrição

dir ( string $directory , resource $context = ? ) : Directory

Um mecanismo pseudo-orientado a objeto para ler um diretório. O parâmetro dado directory é aberto.

Parâmetros

directory

Diretório para abrir

context

Nota: O suporte ao contexto foi adicionado no PHP 5.0.0. Para uma descrição de contextos, veja Streams.

Valor Retornado

Retorna uma instância de Directory, ou null com os parâmetros errados, ou false caso haja outro erro.

Exemplos

Exemplo #1 Exemplo da dir()

Repare nos detalhes de como o valor retornado de Directory::read() é verificado no exemplo abaixo. Nós explicitamente testamos se o valor de retorno é idêntico (igual e do mesmo tipo que - veja operadores de comparação para mais detalhes) a false, desde que, de outra forma, qualquer entrada de diretório que seja avaliada para false fará parar o loop.

<?php
$d = dir("/etc/php5");
echo "Handle: " . $d->handle . "\n";
echo "Caminho: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
   echo $entry."\n";
}
$d->close();
?>

O exemplo acima irá imprimir algo similar à:

Handle: Resource id #2
Caminho: /etc/php5
.
..
apache
cgi
cli

Notas

Nota:

A ordem em que os diretórios são retornadas pelo método é dependente do sistema.


Obtém o diretório atual

  • « dir
  • opendir »
  • PHP Manual
  • Funções de Diretórios
  • Obtém o diretório atual

getcwd

(PHP 4, PHP 5, PHP 7, PHP 8)

getcwd — Obtém o diretório atual

Descrição

getcwd ( ) : string

Obtém o diretório atual.

Valor Retornado

Retorna o diretório atual em sucesso, ou false em falha.

Em alguns variantes Unix, getcwd() irá retornar false se um dos diretórios pai não for legível ou no modo busca, até mesmo se o diretório atual for. Veja chmod() para mais informação sobre modos e permissões.

Exemplos

Exemplo #1 Exemplo da getcwd()

<?php

// current directory
echo getcwd() . "\n";

chdir('cvs');

// current directory
echo getcwd() . "\n";

?>

O exemplo acima irá imprimir algo similar à:

/home/didou
/home/didou/cvs

Veja Também

  • chdir() - Muda o diretório
  • chmod() - Modifica as permissões do arquivo


Abre um manipulador de diretório

  • « getcwd
  • readdir »
  • PHP Manual
  • Funções de Diretórios
  • Abre um manipulador de diretório

opendir

(PHP 4, PHP 5, PHP 7, PHP 8)

opendir — Abre um manipulador de diretório

Descrição

opendir ( string $path , resource $context = ? ) : resource

Abre um manipulador de diretório para ser usado em chamadas subsequentes a closedir(), readdir(), e rewinddir().

Parâmetros

path

O caminho do diretório a ser aberto

context

Para descrição do parâmetro context, consulte a seção sobre streams do manual.

Valor Retornado

Retorna um manipulador de diretório resource em sucesso, ou false em falha.

Se path não é um diretório válido ou se o diretório não pode ser aberto devi a restrições de permissões ou ainda por erro no sistema de arquivos, opendir() retorna false e gera um erro PHP de nível E_WARNING. Você pode suprimir a exibição da mensagem de erro de opendir() acrecentando um '@' na frente do nome da função.

Changelog

Versão | Descrição
5.0.0 | path suporta ftp:// URL wrapper.
4.3.0 | path pode também ser uma URL que suporte listagem de diretório, contudo somente o file:// URL wrapper suporta isto no PHP 4

Exemplos

Exemplo #1 exemplo de opendir()

<?php
$dir = "/etc/php5/";

// Abre um diretorio conhecido, e faz a leitura de seu conteudo
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
}
?>

O exemplo acima irá imprimir algo similar à:

filename: . : filetype: dir
filename: .. : filetype: dir
filename: apache : filetype: dir
filename: cgi : filetype: dir
filename: cli : filetype: dir

Veja Também

  • is_dir() - Diz se o caminho é um diretório
  • readdir() - Lê os campos do manipulador do diretório
  • dir() - Retorna uma instância da classe Diretório


Lê os campos do manipulador do diretório

  • « opendir
  • rewinddir »
  • PHP Manual
  • Funções de Diretórios
  • Lê os campos do manipulador do diretório

readdir

(PHP 4, PHP 5, PHP 7, PHP 8)

readdir — Lê os campos do manipulador do diretório

Descrição

readdir ( resource $dir_handle ) : string

Retorna o nome de arquivo do próximo arquivo do diretório. Os nomes de arquivos são retornados na ordem informada pelo sistema de arquivos.

Parâmetros

dir_handle

O manipulador de diretório resource previamente aberto com opendir().

Valor Retornado

Retorna o nome do arquivo em sucesso, ou false em falha.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Exemplos

Exemplo #1 Listando todos os arquivos de um diretório

Verifique cuidadosamente o estilo de checagem dos valores retornados por readdir() nos exemplos abaixo. Nós explicitamente testamos se o valor retornado é idêntico a (igual e do mesmo tipo que false --- veja Operadores de Comparação para maiores detalhes). De outra forma, qualquer entrada de diretório que seja avaliada para false irá parar o loop (por exemplo, um diretório nomeado "0").

<?php
// Note que !== não existia antes do PHP 4.0.0-RC2

if ($handle = opendir('/path/to/files')) {
    echo "Manipulador de diretório: $handle\n";
    echo "Arquivos:\n";

    /* Esta é a forma correta de varrer o diretório */
    while (false !== ($file = readdir($handle))) {
        echo "$file\n";
    }

    /* Esta é a forma INCORRETA de varrer o diretório */
    while ($file = readdir($handle)) {
        echo "$file\n";
    }

    closedir($handle);
}
?>

Exemplo #2 Listar todos os arquivos no diretório atual e retirar . e ..

<?php
if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            echo "$file\n";
        }
    }
    closedir($handle);
}
?>

Veja Também

  • is_dir() - Diz se o caminho é um diretório
  • glob() - Acha caminhos que combinam com um padrão


Voltar (rewind) o manipulador de diretório

  • « readdir
  • scandir »
  • PHP Manual
  • Funções de Diretórios
  • Voltar (rewind) o manipulador de diretório

rewinddir

(PHP 4, PHP 5, PHP 7, PHP 8)

rewinddir — Voltar (rewind) o manipulador de diretório

Descrição

rewinddir ( resource $dir_handle ) : void

Reinicia o stream do diretório indicado por dir_handle para o início do diretório.

Parâmetros

dir_handle

O manipulador de diretório resource aberto com opendir().


Lista os arquivos e diretórios que estão no caminho especificado

  • « rewinddir
  • Fileinfo »
  • PHP Manual
  • Funções de Diretórios
  • Lista os arquivos e diretórios que estão no caminho especificado

scandir

(PHP 5, PHP 7, PHP 8)

scandir — Lista os arquivos e diretórios que estão no caminho especificado

Descrição

scandir ( string $directory , int $sorting_order = ? , resource $context = ? ) : array

Retorna um array de arquivos e diretórios dentro de directory.

Parâmetros

directory

O diretório que será pesquisado.

sorting_order

Por padrão, a lista está em ordem alfabética ascendente (menor para maior). Se o parâmetro opcional sorting_order for usado (com o valor 1), então a lista será ordenada de maneira descendente.

context

Para uma descrição do parâmetro context veja a seção de streams do manual.

Valor Retornado

Retorna umarray com nomes de arquivos se tiver sucesso, ou false em caso de erro. Se directory não for um diretório, então false é retornado e um erro de nível E_WARNING é gerado.

Exemplos

Exemplo #1 Um exemplo simples de scandir()

<?php
$dir    = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);

print_r($files1);
print_r($files2);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

Exemplo #2 Alternativas do PHP 4 para scandir()

<?php
$dir = "/tmp";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
}

sort($files);

print_r($files);

rsort($files);

print_r($files);

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

Notas

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Veja Também

  • opendir() - Abre um manipulador de diretório
  • readdir() - Lê os campos do manipulador do diretório
  • glob() - Acha caminhos que combinam com um padrão
  • is_dir() - Diz se o caminho é um diretório
  • sort() - Ordena um array


File Information

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Fileinfo Funções
    • finfo_buffer — Return information about a string buffer
    • finfo_close — Close fileinfo resource
    • finfo_file — Return information about a file
    • finfo_open — Create a new fileinfo resource
    • finfo_set_flags — Set libmagic configuration options
    • mime_content_type — Detecta o tipo MIME de um arquivo
  • finfo — The finfo class
    • finfo::buffer — Sinônimo de finfo_buffer()
    • finfo::__construct — Sinônimo de finfo_open
    • finfo::file — Sinônimo de finfo_file()
    • finfo::set_flags — Sinônimo de finfo_set_flags()


Introdução

The functions in this module try to guess the content type and encoding of a file by looking for certain magic byte sequences at specific positions within the file. While this is not a bullet proof approach the heuristics used do a very good job.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

Before PHP 5.3.0, the magic_open library is needed to build this extension.


Instalação

This extension is enabled by default as of PHP 5.3.0. Before this time, fileinfo was a PECL extension but is no longer maintained there. However, versions prior to 5.3+ may use the » discontinued PECL extension.

Windows users must include the bundled php_fileinfo.dll DLL file in php.ini to enable this extension.

The libmagic library is bundled with PHP, but includes PHP specific changes. A patch against libmagic named libmagic.patch is maintained and may be found within the PHP fileinfo extensions source.

Upgrade history of the bundled libmagic library
PHP Versão | Updated libmagic Versão | Notes
5.3.2 | 5.03 |
5.3.0 | 5.02 |


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

There is one resource used in Fileinfo extension: a magic database descriptor returned by finfo_open().


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

FILEINFO_NONE (int)
No special handling.
FILEINFO_SYMLINK (int)
Follow symlinks.
FILEINFO_MIME_TYPE (int)
Return the mime type. Available since PHP 5.3.0.
FILEINFO_MIME_ENCODING (int)
Return the mime encoding of the file. Available since PHP 5.3.0.
FILEINFO_MIME (int)
Return the mime type and mime encoding as defined by RFC 2045.
FILEINFO_COMPRESS (int)
Decompress compressed files. Disabled since PHP 5.3.0 due to thread safety issues.
FILEINFO_DEVICES (int)
Look at the contents of blocks or character special devices.
FILEINFO_CONTINUE (int)
Return all matches, not just the first.
FILEINFO_PRESERVE_ATIME (int)
If possible preserve the original access time.
FILEINFO_RAW (int)
Don't translate unprintable characters to a \ooo octal representation.
FILEINFO_EXTENSION (int)
Returns the file extension appropriate for the MIME type detected in the file. For types that commonly have multiple file extensions, such as JPEG images, then the return value is multiple extensions separated by a forward slash e.g.: "jpeg/jpg/jpe/jfif". For unknown types not available in the magic.mime database, then return value is "???". Available since PHP 7.2.0.


Fileinfo Funções

Índice

  • finfo_buffer — Return information about a string buffer
  • finfo_close — Close fileinfo resource
  • finfo_file — Return information about a file
  • finfo_open — Create a new fileinfo resource
  • finfo_set_flags — Set libmagic configuration options
  • mime_content_type — Detecta o tipo MIME de um arquivo


Return information about a string buffer

  • « Fileinfo Funções
  • finfo_close »
  • PHP Manual
  • Fileinfo Funções
  • Return information about a string buffer

finfo_buffer

finfo::buffer

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo_buffer -- finfo::buffer — Return information about a string buffer

Descrição

Estilo procedural

finfo_buffer ( resource $finfo , string $string , int $flags = FILEINFO_NONE , resource|null $context = null ) : string|false

Estilo orientado à objeto

public finfo::buffer ( string $string , int $flags = FILEINFO_NONE , resource|null $context = null ) : string|false

This function is used to get information about binary data in a string.

Parâmetros

finfo

Fileinfo resource returned by finfo_open().

string

Content of a file to be checked.

flags

One or disjunction of more Fileinfo constants.

context

Valor Retornado

Returns a textual description of the string argument, or false if an error occurred.

Changelog

Versão | Descrição
8.0.0 | context is nullable now.

Exemplos

Exemplo #1 A finfo_buffer() example

<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($_POST["script"]) . "\n";
?>

O exemplo acima irá imprimir algo similar à:

application/x-sh; charset=us-ascii

Veja Também

  • finfo_file() - Sinônimo de finfo_file()


Close fileinfo resource

  • « finfo_buffer
  • finfo_file »
  • PHP Manual
  • Fileinfo Funções
  • Close fileinfo resource

finfo_close

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo_close — Close fileinfo resource

Descrição

finfo_close ( resource $finfo ) : bool

This function closes the resource opened by finfo_open().

Parâmetros

finfo

Fileinfo resource returned by finfo_open().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Return information about a file

  • « finfo_close
  • finfo_open »
  • PHP Manual
  • Fileinfo Funções
  • Return information about a file

finfo_file

finfo::file

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo_file -- finfo::file — Return information about a file

Descrição

Estilo procedural

finfo_file ( resource $finfo , string $filename , int $flags = FILEINFO_NONE , resource|null $context = null ) : string|false

Estilo orientado à objeto

public finfo::file ( string $filename , int $flags = FILEINFO_NONE , resource|null $context = null ) : string|false

This function is used to get information about a file.

Parâmetros

finfo

Fileinfo resource returned by finfo_open().

filename

Name of a file to be checked.

flags

One or disjunction of more Fileinfo constants.

context

For a description of contexts, refer to Stream Funções.

Valor Retornado

Returns a textual description of the contents of the filename argument, or false if an error occurred.

Changelog

Versão | Descrição
8.0.0 | context is nullable now.

Exemplos

Exemplo #1 A finfo_file() example

<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension
foreach (glob("*") as $filename) {
    echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>

O exemplo acima irá imprimir algo similar à:

text/html
image/gif
application/vnd.ms-excel

Veja Também

  • finfo_buffer() - Sinônimo de finfo_buffer()


Create a new fileinfo resource

  • « finfo_file
  • finfo_set_flags »
  • PHP Manual
  • Fileinfo Funções
  • Create a new fileinfo resource

finfo_open

finfo::__construct

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo_open -- finfo::__construct — Create a new fileinfo resource

Descrição

Estilo procedural

finfo_open ( int $flags = FILEINFO_NONE , string $magic_database = "" ) : resource|false

Estilo orientado à objeto (constructor):

public finfo::__construct ( int $flags = FILEINFO_NONE , string $magic_database = "" )

This function opens a magic database and returns its resource.

Parâmetros

flags

One or disjunction of more Fileinfo constants.

magic_database

Name of a magic database file, usually something like /path/to/magic.mime. If not specified, the MAGIC environment variable is used. If the environment variable isn't set, then PHP's bundled magic database will be used.

Passing null or an empty string will be equivalent to the default value.

Valor Retornado

(Procedural style only) Returns a magic database resource on success ou false em caso de falha.

Notas

Aviso

The expected magic database format changed in PHP 5.3.11 and 5.4.1. Due to this, the internal magic database was upgraded. This mostly effects code where an external magic database is used: reading an older magic file will now fail. Also, some textual representations of the mime types has changed, for instance for PHP would be "PHP script, ASCII text" instead of "PHP script text" returned.

Nota:

Generally, using the bundled magic database (by leaving magic_database and the MAGIC environment variables unset) is the best course of action unless you specifically need a custom magic database.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // return mime type ala mimetype extension

/* get mime-type for a specific file */
$filename = "/usr/local/something.txt";
echo $finfo->file($filename);

?>

Exemplo #2 Estilo procedural

<?php
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // return mime type ala mimetype extension

if (!$finfo) {
    echo "Opening fileinfo database failed";
    exit();
}

/* get mime-type for a specific file */
$filename = "/usr/local/something.txt";
echo finfo_file($finfo, $filename);

/* close connection */
finfo_close($finfo);
?>

O exemplo acima irá imprimir:

text/plain; charset=us-ascii

Veja Também

  • finfo_close() - Close fileinfo resource


Set libmagic configuration options

  • « finfo_open
  • mime_content_type »
  • PHP Manual
  • Fileinfo Funções
  • Set libmagic configuration options

finfo_set_flags

finfo::set_flags

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo_set_flags -- finfo::set_flags — Set libmagic configuration options

Descrição

Estilo procedural

finfo_set_flags ( resource $finfo , int $flags ) : bool

Estilo orientado à objeto

public finfo::set_flags ( int $flags ) : bool

This function sets various Fileinfo options. Options can be set also directly in finfo_open() or other Fileinfo functions.

Parâmetros

finfo

Fileinfo resource returned by finfo_open().

flags

One or disjunction of more Fileinfo constants.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Detecta o tipo MIME de um arquivo

  • « finfo_set_flags
  • finfo »
  • PHP Manual
  • Fileinfo Funções
  • Detecta o tipo MIME de um arquivo

mime_content_type

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mime_content_type — Detecta o tipo MIME de um arquivo

Descrição

mime_content_type ( string $filename ) : string

Retorna o tipo MIME de um arquivo como determinado usando a informação de do arquivo magic.mime.

Parâmetros

filename

Caminho para o arquivo.

Valor Retornado

Retorna o tipo de conteúdo no formato MIME, como text/plain ou application/octet-stream.

Exemplos

Exemplo #1 Exemplo da mime_content_type()

<?php
echo mime_content_type('php.gif') . "\n";
echo mime_content_type('test.php');
?>

O exemplo acima irá imprimir:

image/gif
text/plain

Veja Também

  • finfo_file() - Sinônimo de finfo_file()
  • finfo_buffer() - Sinônimo de finfo_buffer()


The finfo class

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

Introdução

This class provides an object oriented interface into the fileinfo functions.

Sinopse da classe

finfo {
public __construct ( int $flags = FILEINFO_NONE , string $magic_database = "" )
public buffer ( string $string , int $flags = FILEINFO_NONE , resource|null $context = null ) : string|false
public file ( string $filename , int $flags = FILEINFO_NONE , resource|null $context = null ) : string|false
public set_flags ( int $flags ) : bool
}

Índice

  • finfo::buffer — Sinônimo de finfo_buffer()
  • finfo::__construct — Sinônimo de finfo_open
  • finfo::file — Sinônimo de finfo_file()
  • finfo::set_flags — Sinônimo de finfo_set_flags()


Sinônimo de finfo_buffer()

  • « finfo
  • finfo::__construct »
  • PHP Manual
  • finfo
  • Sinônimo de finfo_buffer()

finfo::buffer

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo::buffer — Sinônimo de finfo_buffer()

Descrição

public finfo::buffer ( string $string , int $flags = FILEINFO_NONE , resource|null $context = null ) : string|false

Esta função é um apelido para: finfo_buffer()


Sinônimo de finfo_open

  • « finfo::buffer
  • finfo::file »
  • PHP Manual
  • finfo
  • Sinônimo de finfo_open

finfo::__construct

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo::__construct — Sinônimo de finfo_open()

Descrição

public finfo::__construct ( int $flags = FILEINFO_NONE , string $magic_database = "" )

Esta função é um apelido para: finfo_open()


Sinônimo de finfo_file()

  • « finfo::__construct
  • finfo::set_flags »
  • PHP Manual
  • finfo
  • Sinônimo de finfo_file()

finfo::file

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo::file — Sinônimo de finfo_file()

Descrição

public finfo::file ( string $filename , int $flags = FILEINFO_NONE , resource|null $context = null ) : string|false

Esta função é um apelido para: finfo_file()


Sinônimo de finfo_set_flags()

  • « finfo::file
  • Filesystem »
  • PHP Manual
  • finfo
  • Sinônimo de finfo_set_flags()

finfo::set_flags

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo::set_flags — Sinônimo de finfo_set_flags()

Descrição

public finfo::set_flags ( int $flags ) : bool

Esta função é um apelido para: finfo_set_flags()


Filesystem

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções para Sistema de arquivo
    • basename — Retorna apenas a parte que corresponde ao nome do arquivo de um caminho/path
    • chgrp — Modifica o grupo do arquivo
    • chmod — Modifica as permissões do arquivo
    • chown — Modifica o dono do arquivo
    • clearstatcache — Limpa as informações em cache sobre arquivos
    • copy — Copia arquivo
    • delete — Veja unlink ou unset
    • dirname — Retorna o caminho/path do diretório pai
    • disk_free_space — Retorna o espaço disponível no sistema de arquivos ou partição de disco
    • disk_total_space — Retorna o tamanho total de um sistema de arquivos ou partição de disco
    • diskfreespace — Sinônimo de disk_free_space
    • fclose — Fecha um ponteiro de arquivo aberto
    • feof — Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo
    • fflush — Força a liberação do buffer para um arquivo
    • fgetc — Lê um caracter do ponteiro de arquivo
    • fgetcsv — Lê uma linha do ponteiro de arquivos e a interpreta como campos CSV
    • fgets — Lê uma linha de um ponteiro de arquivo
    • fgetss — Ler uma linha de um ponteiro de arquivo e retira as tags HTML
    • file_exists — Verifica se um arquivo ou diretório existe
    • file_get_contents — Lê todo o conteúdo de um arquivo para uma string
    • file_put_contents — Escreve uma string para um arquivo
    • file — Lê todo o arquivo para um array
    • fileatime — Obtém o último horário de acesso do arquivo
    • filectime — Obtém o tempo de modificação do inode do arquivo
    • filegroup — Lê o grupo do arquivo
    • fileinode — Lê o inode do arquivo
    • filemtime — Obtém o tempo de modificação do arquivo
    • fileowner — Lê o dono (owner) do arquivo
    • fileperms — Lê as permissões do arquivo
    • filesize — Obtém o tamanho do arquivo
    • filetype — Lê o tipo do arquivo
    • flock — Monitor de travamento de arquivos portátil
    • fnmatch — Compara nome de arquivo com um padrão
    • fopen — Abre um arquivo ou URL
    • fpassthru — Imprime todo os dados restantes de um ponteiro de arquivo
    • fputcsv — Formata a linha como CSV e a escreve em um ponteiro de arquivo
    • fputs — Sinônimo de fwrite
    • fread — Leitura binary-safe de arquivo
    • fscanf — Interpreta a leitura de um arquivo de acordo com um formato
    • fseek — Procura (seeks) em um ponteiro de arquivo
    • fstat — Lê informações sobre um arquivo usando um ponteiro de arquivo aberto
    • ftell — Retorna a posição de leitura/gravação do ponteiro do arquivo
    • ftruncate — Reduz um arquivo a um tamanho especificado
    • fwrite — Escrita binary-safe em arquivos
    • glob — Acha caminhos que combinam com um padrão
    • is_dir — Diz se o caminho é um diretório
    • is_executable — Diz se um arquivo é executável
    • is_file — Informa se o arquivo é um arquivo comum
    • is_link — Diz se o arquivo é um link simbólico (symbolic link)
    • is_readable — Diz se o arquivo existe e se ele pode ser lido
    • is_uploaded_file — Diz se o arquivo foi enviado por POST HTTP
    • is_writable — Diz se o arquivo pode ser modificado
    • is_writeable — Sinônimo de is_writable
    • lchgrp — Modifica o grupo do link simbólico
    • lchown — Modifica o proprietário do link simbólico
    • link — Criando um hard link
    • linkinfo — Ler informações sobre um link
    • lstat — Obtém informações sobre um arquivo ou link simbólico
    • mkdir — Cria um diretório
    • move_uploaded_file — Move um arquivo enviado para uma nova localização
    • parse_ini_file — Interpreta um arquivo de configuração
    • parse_ini_string — Interpreta uma string de configuração
    • pathinfo — Retorna informações sobre um caminho de arquivo
    • pclose — Fecha um processo de um ponteiro de arquivo
    • popen — Abre um processo como ponteiro de arquivo
    • readfile — Lê e exibe o conteúdo de um arquivo
    • readlink — Retornar o alvo de um link simbólico
    • realpath_cache_get — Obter entradas de cache do caminho absoluto
    • realpath_cache_size — Obter o tamanho do cache do caminho absoluto
    • realpath — Retorna o path absoluto canonicalizado
    • rename — Renomeia um arquivo ou diretório
    • rewind — Reinicializa a posição do ponteiro de arquivos para o início
    • rmdir — Remove um diretório
    • set_file_buffer — Sinônimo de stream_set_write_buffer
    • stat — Obtem informações sobre um arquivo
    • symlink — Cria um link simbólico
    • tempnam — Cria um nome de arquivo único
    • tmpfile — Cria um arquivo temporário
    • touch — Muda o tempo de modificação do arquivo
    • umask — Modificar a umask atual
    • unlink — Apaga um arquivo


Introdução

Não são necessárias bibliotecas externas para compilar esta extensão, mas se você quer que o PHP suporte LFS (Arquivos Grandes) no Linux, então você precisa ter uma versão recente da glibc e você precisa compilar o PHP com as seguintes flags: -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração do Filesystem e Streams
Nome | Padrão | Modificável | Changelog
allow_url_fopen | "1" | PHP_INI_ALL | PHP_INI_ALL no PHP <= 4.3.4. PHP_INI_SYSTEM no PHP < 6. Disponível desde o PHP 4.0.4.
allow_url_include | "0" | PHP_INI_ALL | PHP_INI_SYSTEM no PHP 5. Disponível desde o PHP 5.2.0.
user_agent | NULL | PHP_INI_ALL | Disponível desde o PHP 4.3.0.
default_socket_timeout | "60" | PHP_INI_ALL | Disponível desde o PHP 4.3.0.
from | "" | PHP_INI_ALL |
auto_detect_line_endings | "0" | PHP_INI_ALL | Disponível desde o PHP 4.3.0.

Uma rápida explicação das diretivas de configuração.

allow_url_fopen boolean

Esta opção ativa o dispositivo URL fopen wrappers que permite o acesso a objetos URL como arquivos. São disponibilizados por padrão wrappers para acesso de arquivos remotos utilizando os protocolos FTP ou HTTP, e algumas estensões como a zlib podem registar wrappers adicionais.

Nota:

Esta definição pode ser definida apenas no php.ini devido a motivos de segurança.

Nota:

Esta opção foi introduzida imediatamente antes da liberação da versão 4.0.3. Até essa versão e incluindo a 4.0.3, você somente podia desabilitar este recurso na compilação, usando a opção --disable-url-fopen-wrapper.

Aviso

Nas versões Windows anterioes a PHP 4.3.0, as funções seguintes não suportavam acesso de arquivos remotos: include, include_once, require, require_once e as funções imagecreatefromXXX da extensão Funções da GD.

allow_url_include boolean

Esta função permite o uso de wrappers URL com as seguintes funções include, include_once, require, require_once.

Nota:

Esta definição requer que allow_url_fopen esteja on.

user_agent string

Define o user agent que o PHP irá enviar.

default_socket_timeout integer

Timeout padrão (em segundos) para streams baseados em socket.

Nota: Esta opção de configuração foi incluida no PHP 4.3.0.

from string

Define a senha do FTP anonimo (seu endereço de e-mail).

auto_detect_line_endings boolean

Quando ativo, o PHP irá examinar os dados lidos por fgets() e file() para verificar se está sendo utilizado a convensão de fim de linha Unix, MS-DOS ou Macintosh.

Isto ativa a interoperabilidade do PHP com sistemas Macintosh, mas seu padrão é Off, porque isso causa uma pequena perda de performance na detecção da convenção de fim de linha num primeiro momento e porque as pessoas que utilizam o fim de linha como separadores de itens sob sistemas Unix podem experimentar problemas de falta de compatibilidade.

Nota: Esta opção de configuração foi introduzida no PHP 4.3.0.


Tipos de Recurso

O sistema de arquivos utiliza streams como tipo de recurso (resource). Streams possuem sua própria documentação, Streams.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

GLOB_BRACE (integer)
GLOB_ONLYDIR (integer)
GLOB_MARK (integer)
GLOB_NOSORT (integer)
GLOB_NOCHECK (integer)
GLOB_NOESCAPE (integer)
PATHINFO_DIRNAME (integer)
PATHINFO_BASENAME (integer)
PATHINFO_EXTENSION (integer)
PATHINFO_FILENAME (integer)
Desde o PHP 5.2.0.
FILE_USE_INCLUDE_PATH (integer)
Procura por filename em include_path (desde o PHP 5).
FILE_APPEND (integer)
Adiciona conteúdo ao arquivo existente.
FILE_IGNORE_NEW_LINES (integer)
Remove caracteres EOL (desde o PHP 5).
FILE_SKIP_EMPTY_LINES (integer)
Pula linhas em branco (desde o PHP 5).
FILE_BINARY (integer)
Modo binário (desde o PHP 6).
FILE_TEXT (integer)
Modo texto (desde o PHP 6).


Funções para Sistema de arquivo

Veja Também

Para funções relacionadas, veja também as seções Deritório e Execução de Programas.

Para uma lista e descrição dos vários wrappers URL que podem ser utilizados como arquivos remotos, veja em Protocolos e Wrappers suportados.

Índice

  • basename — Retorna apenas a parte que corresponde ao nome do arquivo de um caminho/path
  • chgrp — Modifica o grupo do arquivo
  • chmod — Modifica as permissões do arquivo
  • chown — Modifica o dono do arquivo
  • clearstatcache — Limpa as informações em cache sobre arquivos
  • copy — Copia arquivo
  • delete — Veja unlink ou unset
  • dirname — Retorna o caminho/path do diretório pai
  • disk_free_space — Retorna o espaço disponível no sistema de arquivos ou partição de disco
  • disk_total_space — Retorna o tamanho total de um sistema de arquivos ou partição de disco
  • diskfreespace — Sinônimo de disk_free_space
  • fclose — Fecha um ponteiro de arquivo aberto
  • feof — Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo
  • fflush — Força a liberação do buffer para um arquivo
  • fgetc — Lê um caracter do ponteiro de arquivo
  • fgetcsv — Lê uma linha do ponteiro de arquivos e a interpreta como campos CSV
  • fgets — Lê uma linha de um ponteiro de arquivo
  • fgetss — Ler uma linha de um ponteiro de arquivo e retira as tags HTML
  • file_exists — Verifica se um arquivo ou diretório existe
  • file_get_contents — Lê todo o conteúdo de um arquivo para uma string
  • file_put_contents — Escreve uma string para um arquivo
  • file — Lê todo o arquivo para um array
  • fileatime — Obtém o último horário de acesso do arquivo
  • filectime — Obtém o tempo de modificação do inode do arquivo
  • filegroup — Lê o grupo do arquivo
  • fileinode — Lê o inode do arquivo
  • filemtime — Obtém o tempo de modificação do arquivo
  • fileowner — Lê o dono (owner) do arquivo
  • fileperms — Lê as permissões do arquivo
  • filesize — Obtém o tamanho do arquivo
  • filetype — Lê o tipo do arquivo
  • flock — Monitor de travamento de arquivos portátil
  • fnmatch — Compara nome de arquivo com um padrão
  • fopen — Abre um arquivo ou URL
  • fpassthru — Imprime todo os dados restantes de um ponteiro de arquivo
  • fputcsv — Formata a linha como CSV e a escreve em um ponteiro de arquivo
  • fputs — Sinônimo de fwrite
  • fread — Leitura binary-safe de arquivo
  • fscanf — Interpreta a leitura de um arquivo de acordo com um formato
  • fseek — Procura (seeks) em um ponteiro de arquivo
  • fstat — Lê informações sobre um arquivo usando um ponteiro de arquivo aberto
  • ftell — Retorna a posição de leitura/gravação do ponteiro do arquivo
  • ftruncate — Reduz um arquivo a um tamanho especificado
  • fwrite — Escrita binary-safe em arquivos
  • glob — Acha caminhos que combinam com um padrão
  • is_dir — Diz se o caminho é um diretório
  • is_executable — Diz se um arquivo é executável
  • is_file — Informa se o arquivo é um arquivo comum
  • is_link — Diz se o arquivo é um link simbólico (symbolic link)
  • is_readable — Diz se o arquivo existe e se ele pode ser lido
  • is_uploaded_file — Diz se o arquivo foi enviado por POST HTTP
  • is_writable — Diz se o arquivo pode ser modificado
  • is_writeable — Sinônimo de is_writable
  • lchgrp — Modifica o grupo do link simbólico
  • lchown — Modifica o proprietário do link simbólico
  • link — Criando um hard link
  • linkinfo — Ler informações sobre um link
  • lstat — Obtém informações sobre um arquivo ou link simbólico
  • mkdir — Cria um diretório
  • move_uploaded_file — Move um arquivo enviado para uma nova localização
  • parse_ini_file — Interpreta um arquivo de configuração
  • parse_ini_string — Interpreta uma string de configuração
  • pathinfo — Retorna informações sobre um caminho de arquivo
  • pclose — Fecha um processo de um ponteiro de arquivo
  • popen — Abre um processo como ponteiro de arquivo
  • readfile — Lê e exibe o conteúdo de um arquivo
  • readlink — Retornar o alvo de um link simbólico
  • realpath_cache_get — Obter entradas de cache do caminho absoluto
  • realpath_cache_size — Obter o tamanho do cache do caminho absoluto
  • realpath — Retorna o path absoluto canonicalizado
  • rename — Renomeia um arquivo ou diretório
  • rewind — Reinicializa a posição do ponteiro de arquivos para o início
  • rmdir — Remove um diretório
  • set_file_buffer — Sinônimo de stream_set_write_buffer
  • stat — Obtem informações sobre um arquivo
  • symlink — Cria um link simbólico
  • tempnam — Cria um nome de arquivo único
  • tmpfile — Cria um arquivo temporário
  • touch — Muda o tempo de modificação do arquivo
  • umask — Modificar a umask atual
  • unlink — Apaga um arquivo


Retorna apenas a parte que corresponde ao nome do arquivo de um caminho/path

  • « Funções para Sistema de arquivo
  • chgrp »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Retorna apenas a parte que corresponde ao nome do arquivo de um caminho/path

basename

(PHP 4, PHP 5, PHP 7, PHP 8)

basename — Retorna apenas a parte que corresponde ao nome do arquivo de um caminho/path

Descrição

basename ( string $path , string $suffix = ? ) : string

Dado uma string contendo um caminho para um arquivo ou diretório, essa função irá retornar apenas a parte que corresponde ao nome do arquivo.

Nota:

basename() trabalha de forma básica na string fornecida não interpretando o caminho no sistema de arquivos ou componentes de caminho como "..".

Cuidado

basename() depende do locale, então para obter o basename correto para caminhos com caracteres multibytes, o locale correspondente deve estar configurado com a função setlocale().

Parâmetros

path

Um caminho.

No Windows, tanto a barra (/) quanto a barra invertida (\) são usadas como caracteres separadores de caminho. Mas em outros ambientes, apenas a barra (/).

suffix

Se o nome do arquivo termina em suffix, o sufixo será removido.

Valor Retornado

Retorna o nome do arquivo de um dado path.

Exemplos

Exemplo #1 Exemplo da basename()

<?php
echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL;
echo "2) ".basename("/etc/sudoers.d").PHP_EOL;
echo "3) ".basename("/etc/passwd").PHP_EOL;
echo "4) ".basename("/etc/").PHP_EOL;
echo "5) ".basename(".").PHP_EOL;
echo "6) ".basename("/");
?>

O exemplo acima irá imprimir:

1) sudoers
2) sudoers.d
3) passwd
4) etc
5) .
6)

Veja Também

  • dirname() - Retorna o caminho/path do diretório pai
  • pathinfo() - Retorna informações sobre um caminho de arquivo


Modifica o grupo do arquivo

  • « basename
  • chmod »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Modifica o grupo do arquivo

chgrp

(PHP 4, PHP 5, PHP 7, PHP 8)

chgrp — Modifica o grupo do arquivo

Descrição

chgrp ( string $filename , mixed $group ) : bool

Tenta modificar o grupo do arquivo para o grupo.

Somente o superusuário pode mudar o grupo de um arquivo arbitrário; outros usuários somente podem mudar o grupo de um arquivo para qualquer grupo qual o usuário pertença.

Parâmetros

filename

Caminho para o arquivo.

group

O nome do grupo ou número.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota: Esta função não funcionar com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.

Nota: Quando o safe-mode está ativo, o PHP verifica se os arquivo(s) ou diretórios que estão usados na operação tem o mesmo UID (proprietário) do script que está sendo executado.

Veja Também

  • chown() - Modifica o dono do arquivo
  • chmod() - Modifica as permissões do arquivo


Modifica as permissões do arquivo

  • « chgrp
  • chown »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Modifica as permissões do arquivo

chmod

(PHP 4, PHP 5, PHP 7, PHP 8)

chmod — Modifica as permissões do arquivo

Descrição

chmod ( string $filename , int $mode ) : bool

Tenta mudar as permissões do arquivo especificado do arquivo para o dado em modo.

Parâmetros

filename

O caminho para o arquivo.

mode

Note que modo não é necessariamente um número octal, então strings (como "g+w") não funcionarão. Para garantir que a operação seja bem sucedida é necessário prefixar modo com zero (0):

<?php
chmod ("/arquivo/diretorio", 755);   // decimal; provavelmente incorreto
chmod ("/arquivo/diretorio", "u+rwx,go+rx"); // string; incorreto
chmod ("/arquivo/diretorio", 0755);  // octal; representação correta do modo
?>

O parâmetro modo consiste em três números em octal especificando as restrições de acesso para o proprietário, grupo de usuário do proprietário e finalmente qualquer outro, nessa ordem. Cada número pode ser calculado pela adição das permissões necessárias para o alvo. O número 1 significa direito de execução, 2 significa direito de escrita, 4 significa direito de leitura. Some esses números para ter os direitos desejados. Você pode ler mais sobre os modos em sistemas UNIX com 'man 1 chmod' e 'man 2 chmod'.

<?php
// Escrita e leitura para o proprietario, nada ninguem mais
chmod ("/somedir/somefile", 0600);

// Escrita e leitura para o proprietario, leitura para todos os outros
chmod ("/somedir/somefile", 0644);

// Tudo para o proprietario, leitura e execucao para os outros
chmod ("/somedir/somefile", 0755);

// Tudo para o proprietario, leitura e execucao para o grupo do prop
chmod ("/somedir/somefile", 0750);
?>

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

O usuário atual é aquela sob o qual o PHP é executado. Provavelmente não é o mesmo usuário que você normalmente usa quande acessa uma conta shell ou FTP. O modo pode ser modificado apenas pelo usuário dono do arquivo na maioria dos sistemas.

Nota: Esta função não funcionar com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.

Nota:

Quando safe mode esta ativado, o PHP confere se os arquivos e diretórios os quais você vai operar tem o mesmo UID (proprietário) do que o script que esta sendo executado. Em adição, você não pode definir SUID, SGID e sticky bits.

Veja Também

  • chown() - Modifica o dono do arquivo
  • chgrp() - Modifica o grupo do arquivo


Modifica o dono do arquivo

  • « chmod
  • clearstatcache »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Modifica o dono do arquivo

chown

(PHP 4, PHP 5, PHP 7, PHP 8)

chown — Modifica o dono do arquivo

Descrição

chown ( string $arquivo , mixed $usuario ) : bool

Tenta modificar o dono do arquivo para o usuario. Somente o superusuário pode modificar o dono de um arquivo.

Parâmetros

filename

Caminho para o arquivo.

user

O nome do usuário ou número.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota: Esta função não funcionar com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.

Nota: Quando o safe-mode está ativo, o PHP verifica se os arquivo(s) ou diretórios que estão usados na operação tem o mesmo UID (proprietário) do script que está sendo executado.

Veja Também

  • chmod() - Modifica as permissões do arquivo


Limpa as informações em cache sobre arquivos

  • « chown
  • copy »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Limpa as informações em cache sobre arquivos

clearstatcache

(PHP 4, PHP 5, PHP 7, PHP 8)

clearstatcache — Limpa as informações em cache sobre arquivos

Descrição

clearstatcache ( ) : void

Quando você chama stat(), lstat() ou qualquer uma das funções afetadas (listadas abaixo), o PHP mantém em cache as informações que essas funções retornam para melhoria de performance. Entretanto, em certos casos você pode precisar limpar as informações cacheadas. Por exemplo, se um mesmo arquivo é verificado várias vezes em um único script, e esse arquivo corre o risco de ser apagado ou modificado durante a operação do script, você precisa limpar os dados do cache. Nesses casos, você pode utilizar a função clearstatcache() para limpar todas as informações que o PHP mantém sobre um arquivo.

Você deve notar também que o PHP não guarda informação de cache sobre arquivos que não existem. Assim, se você chamar file_exists() em um arquivo que não existe, ele irá retornar false até que você crie o arquivo. Se você criar o arquivo, ele irá retornar true mesmo que você exclua o arquivo. Entretanto, unlink() limpa o cache automaticamente.

Nota:

Esta função guarda infomações sobre arquivos específicos, de forma que você somente precisa chamar clearstatcache() se você estiver realizando várias operações sobre o mesmo arquivo e necessita que a informação sobre esse arquivo em particular não seja cacheada.

As funções afetadas são stat(),
lstat(),
file_exists(),
is_writable(),
is_readable(),
is_executable(),
is_file(),
is_dir(),
is_link(),
filectime(),
fileatime(),
filemtime(),
fileinode(),
filegroup(),
fileowner(),
filesize(),
filetype(), e
fileperms().

Valor Retornado

Não há valor retornado.


Copia arquivo

  • « clearstatcache
  • delete »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Copia arquivo

copy

(PHP 4, PHP 5, PHP 7, PHP 8)

copy — Copia arquivo

Descrição

copy ( string $source , string $dest , resource $context = ? ) : bool

Faz uma cópia do arquivo source para dest.

Se você quiser mover um arquivo, utilize a função rename().

Parâmetros

source

Caminho para o arquivo de origem.

dest

O caminho de destino. Se o dest for uma URL, a cópia pode falhar se o wrapper não suportar a sobrescrita de arquivos existentes.

Aviso

Se o arquivo de destino já existir, ele será sobrescrito.

context

Um válido resource de contexto criado com stream_context_create().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.3.4 | Alterado o parâmetro context para ele realmente ter algum efeito. Anteriormente, qualquer context era ignorado.
5.3.0 | Adicionado suporte à contexto.
4.3.0 | Ambos source e dest podem ser URLs se "fopen wrappers" tenham sido habilitados. Veja fopen() para mais detalhes.

Exemplos

Exemplo #1 exemplo do copy()

<?php
$file = 'example.txt';
$newfile = 'example.txt.bak';

if (!copy($file, $newfile)) {
    echo "falha ao copiar $file...\n";
}
?>

Veja Também

  • move_uploaded_file() - Move um arquivo enviado para uma nova localização
  • rename() - Renomeia um arquivo ou diretório
  • A seção do manual sobre Gerenciar o upload de arquivos


Veja unlink ou unset

  • « copy
  • dirname »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Veja unlink ou unset

delete

delete — Veja unlink() ou unset()

Descrição

Não existe função ou instrução delete em PHP. Se você chegou nesta página procurando por deletar arquivos, veja unlink(). Para deletar uma variável de um escopo local, veja unset().

Veja Também

  • unlink() - Apaga um arquivo
  • unset() - Destrói a variável especificada


Retorna o caminho/path do diretório pai

  • « delete
  • disk_free_space »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Retorna o caminho/path do diretório pai

dirname

(PHP 4, PHP 5, PHP 7, PHP 8)

dirname — Retorna o caminho/path do diretório pai

Descrição

dirname ( string $path , int $levels = 1 ) : string

Dada uma string contendo um caminho para um arquivo ou diretório, esta função irá retornar o caminho do diretório pai que é levels acima do diretório atual.

Parâmetros

path

Um caminho.

No Windows, tanto barra (/) quanto a barra invertida (\) são usadas como caracter separador no path. Em outros ambientes é utilizado a barra (/).

levels

O número de diretórios pai para subir.

Deve ser um inteiro maior que 0.

Valor Retornado

Retorna o caminho do diretório pai. Se não houver nenhuma barra no path, um ponto ('.') é retornado, indicando o diretório atual. Do contrário, a string retornada é o path com qualquer /componente adjacente removido.

Changelog

Versão | Descrição
7.0.0 | Adicionado o parâmetro opcional levels.
5.0.0 | dirname() passou a ser segura para binários

Exemplos

Exemplo #1 exemplo do dirname()

<?php
 echo dirname("/etc/passwd") . PHP_EOL;
 echo dirname("/etc/") . PHP_EOL;
 echo dirname(".") . PHP_EOL;
 echo dirname("/usr/local/lib", 2);

O exemplo acima irá imprimir algo similar à:

 /etc
 / (ou \ no Windows)
 .
 /usr

Notas

Nota:

A dirname() opera inocentemente com a string de entrada, e não conhece o filesystem, ou componentes de caminho (path) como o "..".

Nota:

A dirname() é ciente do local (locale), então para que ela veja corretamente o nome do diretório que contenha caracteres multibytes no caminho, o locale certo deve ser definido usando setlocale().

Nota:

A partir do PHP 4.3.0, você receberá frequentemente uma barra ou um ponto da dirname() em situações onde a funcionalidade anterior devolveria uma string vazia.

Confira o exemplo da mudança a seguir:

<?php

//antes do PHP 4.3.0
dirname('c:/'); // retornava '.'

//a partir do PHP 4.3.0
dirname('c:/'); // retorna 'c:'
dirname('c:/Temp/x'); // retorna 'c:/Temp'
dirname('/x'); // retorna '\'

?>

Veja Também

  • basename() - Retorna apenas a parte que corresponde ao nome do arquivo de um caminho/path
  • pathinfo() - Retorna informações sobre um caminho de arquivo
  • realpath() - Retorna o path absoluto canonicalizado


Retorna o espaço disponível no sistema de arquivos ou partição de disco

  • « dirname
  • disk_total_space »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Retorna o espaço disponível no sistema de arquivos ou partição de disco

disk_free_space

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

disk_free_space — Retorna o espaço disponível no sistema de arquivos ou partição de disco

Descrição

disk_free_space ( string $directory ) : float

Dado uma string contendo um diretório, esta função retornará o número de bytes disponíveis no sistema de arquivos ou partição de disco.

Parâmetros

directory

Um diretório do sistema de arquivos ou partição de disco.

Nota:

Dado um nome de arquivo ao invés de um diretório, o comportamento da função não é especificado e pode ser diferente entre sistemas operacionais e versões do PHP.

Valor Retornado

Retorna o número de bytes disponíveis como um float ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da disk_free_space()

<?php
// $df contém o número de bytes disponíveis em "/"
$df = disk_free_space("/");

// No Windows:
$df_c = disk_free_space("C:");
$df_d = disk_free_space("D:");
?>

Notas

Nota: Esta função não funcionar com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.

Veja Também

  • disk_total_space() - Retorna o tamanho total de um sistema de arquivos ou partição de disco


Retorna o tamanho total de um sistema de arquivos ou partição de disco

  • « disk_free_space
  • diskfreespace »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Retorna o tamanho total de um sistema de arquivos ou partição de disco

disk_total_space

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

disk_total_space — Retorna o tamanho total de um sistema de arquivos ou partição de disco

Descrição

disk_total_space ( string $directory ) : float

Dado uma string contendo um diretório, esta função retornará o número total de bytes do sistema de arquivos ou da partição de disco.

Parâmetros

directory

Um diretório do sistema de arquivos ou da partição de disco.

Valor Retornado

Retorna o número total de bytes como um float ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da disk_total_space()

<?php
// $ds contém o numero total de bytes disponíveis em "/"
$ds = disk_total_space("/");

// No Windows:
disk_total_space("C:");
disk_total_space("D:");
?>

Notas

Nota: Esta função não funcionar com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.

Veja Também

  • disk_free_space() - Retorna o espaço disponível no sistema de arquivos ou partição de disco


Sinônimo de disk_free_space

  • « disk_total_space
  • fclose »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Sinônimo de disk_free_space

diskfreespace

(PHP 4, PHP 5, PHP 7, PHP 8)

diskfreespace — Sinônimo de disk_free_space()

Descrição

Esta função é um apelido para: disk_free_space().


Fecha um ponteiro de arquivo aberto

  • « diskfreespace
  • feof »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Fecha um ponteiro de arquivo aberto

fclose

(PHP 4, PHP 5, PHP 7, PHP 8)

fclose — Fecha um ponteiro de arquivo aberto

Descrição

fclose ( resource $handle ) : bool

O arquivo apontado por handle é fechado.

Parâmetros

handle

O ponteiro para o arquivo tem que ser válido e tem que apontar para um arquivo aberto por fopen() ou fsockopen().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da fclose()

<?php

  $handle = fopen('qualquerarquivo.txt', 'r');

  fclose($handle);

?>

Veja Também

  • fopen() - Abre um arquivo ou URL
  • fsockopen() - Abre um socket de conexão Internet ou de domínio Unix


Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo

  • « fclose
  • fflush »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo

feof

(PHP 4, PHP 5, PHP 7, PHP 8)

feof — Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo

Descrição

feof ( resource $handle ) : bool

Testa pelo fim-do-arquivo em um ponteiro de arquivo.

Parâmetros

handle

O ponteiro de arquivo precisa ser válido, e apontar para
um arquivo aberto por fopen() ou
fsockopen() (e ainda não fechado por
fclose()).

Valor Retornado

Retorna true se o ponteiro estiver no fim do arquivo (eof) ou um erro ocorrer (incluindo um limite de tempo de socket). Caso contrário retorna false.

Notas

Aviso

Se uma conexão aberta por fsockopen() não foi fechada pelo servidor, feof() irá esperar até que seja atingido o limite de tempo para retornar true. O limite de tempo padrão é 60 segundos. Você pode usar stream_set_timeout() para mudar este valor.

Aviso

Se o ponteiro de arquivo passado não for valido você pode ter um loop infinito, porque EOF irá falhar em retornar TRUE.

Exemplo #1 Exemplo de feof() com um ponteiro de arquivo inválido

<?php
// se o arquivo não pode ser lido ou nao existe a função fopen retorna FALSE
$file = @fopen("no_such_file", "r");

// FALSE a partir do fopen irá causar um warning(aviso) e resultar em um loop infinito aqui
while (!feof($file)) {
}

fclose($file);
?>


Força a liberação do buffer para um arquivo

  • « feof
  • fgetc »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Força a liberação do buffer para um arquivo

fflush

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

fflush — Força a liberação do buffer para um arquivo

Descrição

fflush ( resource $handle ) : bool

Esta função força a escrita de toda saída cacheada no buffer do arquivo apontado pelo recurso handle.

Parâmetros

handle

O ponteiro de arquivo precisa ser válido, e apontar para
um arquivo aberto por fopen() ou
fsockopen() (e ainda não fechado por
fclose()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Lê um caracter do ponteiro de arquivo

  • « fflush
  • fgetcsv »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Lê um caracter do ponteiro de arquivo

fgetc

(PHP 4, PHP 5, PHP 7, PHP 8)

fgetc — Lê um caracter do ponteiro de arquivo

Descrição

fgetc ( resource $handle ) : string

Obtém um caractere de um dado ponteiro de arquivo.

Parâmetros

handle

O ponteiro de arquivo precisa ser válido, e apontar para
um arquivo aberto por fopen() ou
fsockopen() (e ainda não fechado por
fclose()).

Valor Retornado

Retorna uma string contendo um único caractere lido do ponteiro do arquivo passado por handle. Retorna false em EOF.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Exemplos

Exemplo #1 Um exemplo da fgetc()

<?php
$fp = fopen('algumarquivo.txt', 'r');
if (!$fp) {
    echo 'Não é possivel abrir algumarquivo.txt';
}
while (false !== ($char = fgetc($fp))) {
    echo "$char\n";
}
?>

Notas

Nota: Esta função é binary-safe.

Veja Também

  • fread() - Leitura binary-safe de arquivo
  • fopen() - Abre um arquivo ou URL
  • popen() - Abre um processo como ponteiro de arquivo
  • fsockopen() - Abre um socket de conexão Internet ou de domínio Unix
  • fgets() - Lê uma linha de um ponteiro de arquivo


Lê uma linha do ponteiro de arquivos e a interpreta como campos CSV

  • « fgetc
  • fgets »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Lê uma linha do ponteiro de arquivos e a interpreta como campos CSV

fgetcsv

(PHP 4, PHP 5, PHP 7, PHP 8)

fgetcsv — Lê uma linha do ponteiro de arquivos e a interpreta como campos CSV

Descrição

fgetcsv ( resource $handle , int $length = 0 , string $delimiter = "," , string $enclosure = '"' , string $escape = "\" ) : array

Similar à função fgets(), exceto que a fgetcsv() interpreta a linha em busca de campos no formato CSV e retorna um array contendo os campos lidos.

Parâmetros

handle

Um ponteiro de arquivo válido para um arquivo aberto com sucesso por fopen(), popen() ou fsockopen().

length

Deve ser maior do que a maior linha (em caracteres) a ser encontrada no arquivo CSV (considerando também os caracteres de fim-de-linha). Caso contrário a linha é dividida em partes de length caracteres, a não ser que a divisão ocorra dentro de um caractere que cerca os campos (enclosure).

Se omitir este parâmetro (ou configurá-lo como 0 no PHP 5.1.0 e posterior), o tamanho máximo das linhas não é limitado, o que é levemente mais lento.

delimiter

O parâmetro opcional delimiter define o delimitador de campo (somente um caractere).

enclosure

O parâmetro opctional enclosure define o caractere que cerca um campo (somente um caractere).

escape

O parâmetro opcional escape define o caractere de escape (somente um caractere).

Valor Retornado

Retorna um array numérico contendo os campos lidos.

Nota:

Uma linha em branco em um arquivo CSV será retornada como um array contendo um único campo nulo (null) e não será tratada como um erro.

Nota: Se PHP não está reconhecendo apropriadamente o separador de linha quando lendo ou criando arquivos em um computador Macintosh, habilitando a opção auto_detect_line_endings pode ajudar a resolver o problema.

fgetcsv() retorna null se um parâmetro handle inválido for fornecido ou false para outros erros, inclusive para fim de arquivo (end of file).

Changelog

Versão | Descrição
5.3.0 | O parâmetro escape foi adicionado
5.1.0 | Agora length é opcional. O padrão é 0, que significa sem limite de comprimento.
4.3.5 | fgetcsv() passou a ser segura para binários (binary-safe)

Exemplos

Exemplo #1 Lê e imprime todo o conteúdo de um arquivo CSV

<?php
$row = 1;
if (($handle = fopen("teste.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num campos na linha $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}
?>

Notas

Nota:

A definição de localidade (locale) é levada em conta por esta função. Se LANG é, por exemplo, en_US.UTF-8, arquivos em codificação de um byte são lidos de maneira errada por esta função.

Veja Também

  • str_getcsv() - Analisa uma string CSV e retorna os dados em um array
  • explode() - Divide uma string em strings
  • file() - Lê todo o arquivo para um array
  • pack() - Pack data into binary string
  • fputcsv() - Formata a linha como CSV e a escreve em um ponteiro de arquivo


Lê uma linha de um ponteiro de arquivo

  • « fgetcsv
  • fgetss »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Lê uma linha de um ponteiro de arquivo

fgets

(PHP 4, PHP 5, PHP 7, PHP 8)

fgets — Lê uma linha de um ponteiro de arquivo

Descrição

fgets ( resource $handle , int $length = ? ) : string

Retorna uma linha do ponteiro do arquivo.

Parâmetros

handle

O ponteiro de arquivo precisa ser válido, e apontar para
um arquivo aberto por fopen() ou
fsockopen() (e ainda não fechado por
fclose()).

length

A leitura termina quando length - 1 bytes tenham sido lidos, ou uma quebra de linha (que é incluída no retorno), ou no final do arquivo (EOF), o que acontecer primeiro. Se nenhum comprimento for especificado, a leitura do stream continuará até chegar ao final da linha.

Nota:

Até o PHP 4.3.0, era assumido 1024 como o comprimento da linha, quando omitido. Se a maioria das linhas no arquivo for maior que 8KB, é mais eficiente para seu script especificar o comprimento máximo de linha.

Valor Retornado

Retorna uma string de até length - 1 bytes lida do arquivo apontado por handle. Se não tiver mais dados para ler no ponteiro do arquivo, então retorna false.

Se um erro ocorrer, é retornado false.

Changelog

Versão | Descrição
4.3.0 | fgets() passou a ser segura para binários

Exemplos

Exemplo #1 Lendo um arquivo linha por linha

<?php
$handle = @fopen("/tmp/arquivodeentrada.txt", "r");
if ($handle) {
    while (($buffer = fgets($handle, 4096)) !== false) {
        echo $buffer;
    }
    if (!feof($handle)) {
        echo "Erro: falha inexperada de fgets()\n";
    }

    fclose($handle);
}
?>

Notas

Nota: Se PHP não está reconhecendo apropriadamente o separador de linha quando lendo ou criando arquivos em um computador Macintosh, habilitando a opção auto_detect_line_endings pode ajudar a resolver o problema.

Nota:

Pessoas acostumadas à semântica do fgets em 'C' devem notar a diferença em como o fim do arquivo (EOF) é retornado.

Veja Também

  • fgetss() - Ler uma linha de um ponteiro de arquivo e retira as tags HTML
  • fread() - Leitura binary-safe de arquivo
  • fgetc() - Lê um caracter do ponteiro de arquivo
  • stream_get_line() - Gets line from stream resource up to a given delimiter
  • fopen() - Abre um arquivo ou URL
  • popen() - Abre um processo como ponteiro de arquivo
  • fsockopen() - Abre um socket de conexão Internet ou de domínio Unix
  • stream_set_timeout() - Set timeout period on a stream


Ler uma linha de um ponteiro de arquivo e retira as tags HTML

  • « fgets
  • file_exists »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Ler uma linha de um ponteiro de arquivo e retira as tags HTML

fgetss

(PHP 4, PHP 5, PHP 7)

fgetss — Ler uma linha de um ponteiro de arquivo e retira as tags HTML

Descrição

fgetss ( resource $handle , int $length = ? , string $allowable_tags = ? ) : string

Idêntico a fgets(), exceto que fgetss() tenta retirar qualquer tag HTML ou PHP do texto que ele lê.

Parâmetros

handle

O ponteiro de arquivo precisa ser válido, e apontar para
um arquivo aberto por fopen() ou
fsockopen() (e ainda não fechado por
fclose()).

length

Tamanho da informação a ser recebida.

allowable_tags

Você pode usar o terceiro parâmetro opcional para especificar as tags que não devem ser removidas.

Valor Retornado

Retorna uma stirng de até length - 1 bytes lidos do ponteiro do arquivo por handle, com todo HTML e código PHP removidos.

Se um erro ocorrer, retorna false.

Changelog

Versão | Descrição
5.0.0 | O parâmetro length é opcional.
3.0.13 e 4.0.0 | O parâmetro allowable_tags foi adicionado.

Notas

Nota: Se PHP não está reconhecendo apropriadamente o separador de linha quando lendo ou criando arquivos em um computador Macintosh, habilitando a opção auto_detect_line_endings pode ajudar a resolver o problema.

Veja Também

  • fgets() - Lê uma linha de um ponteiro de arquivo
  • fopen() - Abre um arquivo ou URL
  • popen() - Abre um processo como ponteiro de arquivo
  • fsockopen() - Abre um socket de conexão Internet ou de domínio Unix
  • strip_tags() - Retira as tags HTML e PHP de uma string


Verifica se um arquivo ou diretório existe

  • « fgetss
  • file_get_contents »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Verifica se um arquivo ou diretório existe

file_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

file_exists — Verifica se um arquivo ou diretório existe

Descrição

file_exists ( string $filename ) : bool

Verifica se um arquivo ou diretório existe.

Parâmetros

filename

Caminho para o arquivo ou diretório.

No Windows, use //computername/share/filename ou \\computername\share\filename para checar arquivos em compartilhamentos de rede.

Valor Retornado

Retorna true se o arquivo ou diretório especificado por filename existe; false caso contrário.

Nota:

Esta função retornará false para links simbólicos apontando para arquivos inexistentes.

Nota:

O teste é realizado utilizando o UID/GIF real, em vez de outro valor efetivo.

Nota: Por conta do tipo inteiro do PHP ser sinalizado em muitas plataformas de 32bits, algumas funções de arquivos podem retornar resultados inesperados para arquivos maiores que 2GB.

Exemplos

Exemplo #1 Testando se um arquivo existe

<?php
$filename = '/caminho/para/arquivo.txt';

if (file_exists($filename)) {
    echo "O arquivo $filename existe";
} else {
    echo "O arquivo $filename não existe";
}
?>

Erros

Em caso de falha um E_WARNING será emitido.

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • is_readable() - Diz se o arquivo existe e se ele pode ser lido
  • is_writable() - Diz se o arquivo pode ser modificado
  • is_file() - Informa se o arquivo é um arquivo comum
  • file() - Lê todo o arquivo para um array


Lê todo o conteúdo de um arquivo para uma string

  • « file_exists
  • file_put_contents »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Lê todo o conteúdo de um arquivo para uma string

file_get_contents

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

file_get_contents — Lê todo o conteúdo de um arquivo para uma string

Descrição

file_get_contents ( string $filename , int $flags = ? , resource $context = ? , int $offset = ? , int $maxlen = ? ) : string

Esta função é semelhante à file(), exceto que file_get_contents() retorna o arquivo em uma string, começando a partir de offset até maxlen bytes. Em caso de falha, file_get_contents() retornará false.

file_get_contents() é o método preferível para ler o conteúdo de um arquivo em uma string. Ela usa técnicas de mapeamento de memória suportadas pelo seu SO para melhorar a performance.

Nota:

Se você estiver abrindo uma URI com caracteres especiais, como espaços, você precisa codificar a URI com urlencode().

Parâmetros

filename

Nome do arquivo para ler.

flags
Aviso

Para todas as versões anteriores ao PHP 6, este parâmetro é chamado use_include_path e é um bool. O parâmetro flags está disponível somente a partir do PHP 6. Se você estiver usando uma versão anterior e quiser buscar o arquivo filename no include_path, este parâmetro deve ser true. A partir do PHP 6, você deve usar a flag FILE_USE_INCLUDE_PATH.

O valor de flags pode ser qualquer combinação das seguintes flags (com algumas restrições), unidas com o operador binário OR (|).

Flags disponíveis
Flag | Descrição
FILE_USE_INCLUDE_PATH | Procura o arquivo filename nos diretórios de include. Veja include_path para mais informações.
FILE_TEXT | Se a semântica unicode estiver habilitada, o encoding padrão dos dados lidos é UTF-8. Você pode especificar um encoding diferente criando um contexto personalizado ou alterando o encoding padrão utilizando stream_default_encoding(). Esta flag não pode ser usada com FILE_BINARY.
FILE_BINARY | Com esta flag, o arquivo é lido em modo binário. Esta é a opção padrão e não pode ser usada com FILE_TEXT.

context

Um recurso de contexto válido, criado com stream_context_create(). Se você não precisa usar um contexto personalizado, você pode ignorar este parâmetro passando null.

offset

O ponto onde a leitura deve começar.

maxlen

Comprimento máximo dos dados lidos.

Valor Retornado

A função retorna os dados lidos ou false em caso de falha.

Changelog

Versão | Descrição
5.0.0 | Adicionado suporte a contexto.
5.1.0 | Adicionados os parâmetros offset e maxlen.
6.0.0 | O parâmetro use_include_path foi substituído pelo parâmetro flags.

Notas

Nota: Esta função é binary-safe.

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Aviso

Quando usando SSL, o Microsoft IIS irá violar o protocolo fechando a conexão sem enviar uma notificação close_notify. O PHP acusará isso como sendo "SSL: Fatal Protocol Error" quando tentar ler os dados. Para prevenir isso, o valor de error_reporting deve ser reduzido para um nível que não inclui avisos. para o nível que não emita warnings. O PHP 4.3.7 e seguintes conseguem detectar servidores IIS defeituosos quando você abre um stream utilizando o wrapper https:// e suprimirá os avisos. Se você está usando fsockopen() para criar um socket ssl://, a responsabilidade de detectar e suprimir esse aviso passa para você.

Veja Também

  • file() - Lê todo o arquivo para um array
  • fgets() - Lê uma linha de um ponteiro de arquivo
  • fread() - Leitura binary-safe de arquivo
  • readfile() - Lê e exibe o conteúdo de um arquivo
  • file_put_contents() - Escreve uma string para um arquivo
  • stream_get_contents() - Reads remainder of a stream into a string
  • stream_context_create() - Creates a stream context


Escreve uma string para um arquivo

  • « file_get_contents
  • file »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Escreve uma string para um arquivo

file_put_contents

(PHP 5, PHP 7, PHP 8)

file_put_contents — Escreve uma string para um arquivo

Descrição

file_put_contents ( string $filename , mixed $data , int $flags = ? , resource $context = ? ) : int

Esta função é idêntica à chamar fopen(), fwrite() e fclose() sucessivamente para escrever dados em um arquivo.

Se filename não existir, o arquivo é criado. Do contrário, o arquivo existente é sobrescrito, a não ser que a flag FILE_APPEND seja definida.

Parâmetros

filename

O caminho para o arquivo onde escrever os dados.

data

Os dados a serem escritos. Pode ser uma string, um array ou um recurso stream (explicado abaixo).

Se data for um recurso stream, o buffer restante desse stream será copiado para o arquivo especificado, semelhante à utilização da stream_copy_to_stream().

Você também pode especificar o parâmetro data como um array unidimensional. Isso é equivalente a file_put_contents($filename, implode('', $array)).

flags

O valor de flags pode ser qualquer combinação das seguintes flags (com algumas restrições), unidas com o operador binário OR (|).

Flags disponíveis
Flag | Descrição
FILE_USE_INCLUDE_PATH | Procura o arquivo filename nos diretórios de include. Veja include_path para mais informações.
FILE_APPEND | Se o arquivo filename já existir, acrescenta os dados ao arquivo ao invés de sobrescrevê-lo.
LOCK_EX | Adquire um bloqueio exclusivo enquanto estiver escrevendo.
FILE_TEXT | Os dados de data são escritos em modo texto. Se a semântica unicode estiver habilitada, o encoding padrão é UTF-8. Você pode especificar um encoding diferente criando um contexto personalizado ou alterando o encoding padrão utilizando stream_default_encoding(). Esta flag não pode ser usada com FILE_BINARY e está disponível apenas a partir do PHP 6.
FILE_BINARY | Os dados de data serão escritos em modo binário. Esta é a opção padrão e não pode ser utilizada com FILE_TEXT. Esta flag está disponível apenas a partir do PHP 6.

context

Um recurso de contexto válido criado com stream_context_create().

Valor Retornado

A função retorna a quantidade de bytes que foi escrita no arquivo ou false em caso de falha.

Changelog

Versão | Descrição
5.0.0 | Adicionado suporte a contexto
5.1.0 | Adicionado suporte a LOCK_EX e a possibilidade de passar um recurso de stream para o parâmetro data
6.0.0 | Adicionado suporte às flags FILE_TEXT e FILE_BINARY

Notas

Nota: Esta função é binary-safe.

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Veja Também

  • fopen() - Abre um arquivo ou URL
  • fwrite() - Escrita binary-safe em arquivos
  • file_get_contents() - Lê todo o conteúdo de um arquivo para uma string
  • stream_context_create() - Creates a stream context


Lê todo o arquivo para um array

  • « file_put_contents
  • fileatime »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Lê todo o arquivo para um array

file

(PHP 4, PHP 5, PHP 7, PHP 8)

file — Lê todo o arquivo para um array

Descrição

file ( string $filename , int $flags = ? , resource $context = ? ) : array

Carrega todo um arquivo em um array.

Nota:

Você pode utilizar file_get_contents() para ler o conteúdo de um arquivo como string.

Parâmetros

filename

Caminho até o arquivo

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

flags

O parâmetro opcional flags pode ser uma ou mais das seguintes constantes:

FILE_USE_INCLUDE_PATH
Procurar pelo arquivo no include_path.
FILE_IGNORE_NEW_LINES
Não acrescentar a quebra de linha no final de cada elemento do array
FILE_SKIP_EMPTY_LINES
Ignorar linhas vazias
FILE_TEXT
O arquivo é retornado na codificação UTF-8. Você pode especificar uma codificação diferente criando um contexto personalizado. Esta constante não pode ser utilizada com FILE_BINARY. Esta flag está disponível apenas a partir do PHP 6.
FILE_BINARY
O conteúdo é lido como binário. Esta é a opção padrão e não pode ser utilizada com FILE_TEXT. Esta flag está disponível apenas a partir do PHP 6.

context

Um recurso de contexto criado com a função stream_context_create().

Nota: O suporte ao contexto foi adicionado no PHP 5.0.0. Para uma descrição de contextos, veja Streams.

Valor Retornado

Retorna o arquivo em um array. Cada elemento do array corresponde a uma linha no arquivo, ainda com a quebra de linha. Em caso de falha, file() retorna false

Nota:

Cada linha no array incluirá a quebra de linha, a não ser que FILE_IGNORE_NEW_LINES seja usado, então você ainda deve usar rtrim() se não desejar ter as quebras de linha presentes.

Nota: Se PHP não está reconhecendo apropriadamente o separador de linha quando lendo ou criando arquivos em um computador Macintosh, habilitando a opção auto_detect_line_endings pode ajudar a resolver o problema.

Changelog

Versão | Descrição
6.0.0 | Adicionado suporte às flags FILE_TEXT e FILE_BINARY.
5.0.0 | O parâmetro context foi adicionado
5.0.0 | Até o PHP 5.0.0, o parâmetro flags suportava apenas include_path e era habilitado com 1
4.3.0 | file() tornou-se segura para binários

Exemplos

Exemplo #1 Exemplo de file()

<?php
// Lê um arquivo em um array.  Nesse exemplo nós obteremos o código fonte de
// uma URL via HTTP
$lines = file ('http://www.example.com/');

// Percorre o array, mostrando o fonte HTML com numeração de linhas.
foreach ($lines as $line_num => $line) {
    echo "Linha #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";
}

// Outro exemplo, onde obtemos a página web inteira como uma string. Veja também file_get_contents().
$html = implode ('', file ('http://www.example.com/'));

// Usando o parâmetro de flags opcionais disponíveis desde o PHP 5
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>

Notas

Aviso

Quando usando SSL, o Microsoft IIS irá violar o protocolo fechando a conexão sem enviar uma notificação close_notify. O PHP acusará isso como sendo "SSL: Fatal Protocol Error" quando tentar ler os dados. Para prevenir isso, o valor de error_reporting deve ser reduzido para um nível que não inclui avisos. para o nível que não emita warnings. O PHP 4.3.7 e seguintes conseguem detectar servidores IIS defeituosos quando você abre um stream utilizando o wrapper https:// e suprimirá os avisos. Se você está usando fsockopen() para criar um socket ssl://, a responsabilidade de detectar e suprimir esse aviso passa para você.

Veja Também

  • readfile() - Lê e exibe o conteúdo de um arquivo
  • fopen() - Abre um arquivo ou URL
  • fsockopen() - Abre um socket de conexão Internet ou de domínio Unix
  • popen() - Abre um processo como ponteiro de arquivo
  • file_get_contents() - Lê todo o conteúdo de um arquivo para uma string
  • include - include
  • stream_context_create() - Creates a stream context


Obtém o último horário de acesso do arquivo

  • « file
  • filectime »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Obtém o último horário de acesso do arquivo

fileatime

(PHP 4, PHP 5, PHP 7, PHP 8)

fileatime — Obtém o último horário de acesso do arquivo

Descrição

fileatime ( string $nomedoarquivo ) : int

Obtém o último horário de acesso de um dado arquivo.

Parâmetros

filename

Path to the file.

Valor Retornado

Returns the time the file was last accessed, or false in case of an error. The time is returned as a Unix timestamp.

Exemplos

Exemplo #1 Exemplo de fileatime()

<?php

// Exibe algo como: arquivo.txt teve o ultimo acesso em: December 29 2002 22:16:23.

$filename = 'arquivo.txt';
if (file_exists($filename)) {
    echo "$filename teve o ultimo acesso em: " . date ("F d Y H:i:s.", fileatime($filename));
}

?>

Notas

Nota:

O atime de um arquivo é modificado sempre que blocos de dados de um arquivo são lidos. Isto pode ser performance custosa quando uma aplicação regularmente acessa um grande número de arquivos ou diretórios.

Alguns sistemas de arquivos Unix podem ser montados com atualização de atime desabilitada para aumentar a peformance de cada aplicação; USENET news spools é um exemplo comum. Nestes sistemas de arquivos esta função é inútil.

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • filemtime() - Obtém o tempo de modificação do arquivo
  • fileinode() - Lê o inode do arquivo
  • date() - Formata a data e a hora local


Obtém o tempo de modificação do inode do arquivo

  • « fileatime
  • filegroup »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Obtém o tempo de modificação do inode do arquivo

filectime

(PHP 4, PHP 5, PHP 7, PHP 8)

filectime — Obtém o tempo de modificação do inode do arquivo

Descrição

filectime ( string $nomedoarquivo ) : int

Obtém o tempo de modificação do inode do arquivo.

Parâmetros

filename

Caminho para o arquivo.

Valor Retornado

Retorna o tempo que o arquivo foi modificado, ou false no caso de um erro. O tempo é retornado como um Unix timestamp.

Exemplos

Exemplo #1 Exemplo da filectime()

<?php

// Exibe algo como: arquivo.txt foi modificado em: December 29 2002 22:16:23.

$filename = 'arquivo.txt';
if (file_exists($filename)) {
    echo "$filename foi modificado em: " . date ("F d Y H:i:s.", filectime($filename));
}

?>

Notas

Nota:

Nota: Em muitos sistemas de arquivos Unix, um arquivo é considerado modificado quando seus dados de inode é modificado; isto é, quando as permissões, proprietário, grupo ou outras metadata do inode é atualizada. Veja também filemtime() (que é o que você quer usar quando você quer criar rodapé "Last Modified" em páginas web) e fileatime().

Nota:

Note também que em alguns textos de Unix o ctime de um arquivo é referenciado como sendo o tempo de criação do arquivo. Isto é errado. Não há tempo de criação para arquivos Unix em muitos sistemas de arquivos Unix.

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • filemtime() - Obtém o tempo de modificação do arquivo


Lê o grupo do arquivo

  • « filectime
  • fileinode »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Lê o grupo do arquivo

filegroup

(PHP 4, PHP 5, PHP 7, PHP 8)

filegroup — Lê o grupo do arquivo

Descrição

filegroup ( string $nomedoarquivo ) : int

Obtém o grupo do arquivo. O ID do grupo é retornado no formato numérico, use posix_getgrgid() para resolvê-lo para um nome do grupo.

Parâmetros

filename

Caminho do arquivo.

Valor Retornado

Retorna o group ID do arquivo, ou false no caso de um erro. O group ID é retornado em um formato numérico. Use posix_getgrgid() para resolver para o nome do grupo. Em caso de falha, false é retornado.

Exemplos

Exemplo #1 Descobrindo o grupo de um arquivo

<?php
$filename = 'index.php';
print_r(posix_getgrgid(filegroup($filename)));
?>

Erros

Em caso de falha. um E_WARNING é emitido.

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • fileowner() - Lê o dono (owner) do arquivo
  • posix_getgrgid() - Return info about a group by group id


Lê o inode do arquivo

  • « filegroup
  • filemtime »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Lê o inode do arquivo

fileinode

(PHP 4, PHP 5, PHP 7, PHP 8)

fileinode — Lê o inode do arquivo

Descrição

fileinode ( string $nomedoarquivo ) : int

Obtém o inode do arquivo.

Parâmetros

filename

Caminho para o arquivo.

Valor Retornado

Retorna o número do inode do arquivo, ou false em caso de um erro.

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • stat() - Obtem informações sobre um arquivo


Obtém o tempo de modificação do arquivo

  • « fileinode
  • fileowner »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Obtém o tempo de modificação do arquivo

filemtime

(PHP 4, PHP 5, PHP 7, PHP 8)

filemtime — Obtém o tempo de modificação do arquivo

Descrição

filemtime ( string $nomedoarquivo ) : int

Esta função retorna o tempo quando o bloco de informação de um arquivo foi inicialmente escrito, isto é, o tempo quando o conteúdo do arquivo foi modificado.

Parâmetros

filename

Caminho para o arquivo.

Valor Retornado

Retorna o tempo da última modificação do arquivo, ou false em caso de um erro. O tempo é retornado como um Unix timestamp, que é apropriado para função date().

Exemplos

Exemplo #1 Exemplo da filemtime()

<?php
// exibe algo como: arquivo.txt foi modificado em December 29 2002 22:16:23.

$filename = 'arquivo.txt';
if (file_exists($filename)) {
    echo "$filename foi modificado em " . date ("F d Y H:i:s.", filemtime($filename));
}
?>

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • filectime() - Obtém o tempo de modificação do inode do arquivo
  • stat() - Obtem informações sobre um arquivo
  • touch() - Muda o tempo de modificação do arquivo
  • getlastmod() - Obtém o tempo da última modificação na pagina


Lê o dono (owner) do arquivo

  • « filemtime
  • fileperms »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Lê o dono (owner) do arquivo

fileowner

(PHP 4, PHP 5, PHP 7, PHP 8)

fileowner — Lê o dono (owner) do arquivo

Descrição

fileowner ( string $nomedoarquivo ) : int

Obtém o proprietário do arquivo.

Parâmetros

filename

Caminho para o arquivo.

Valor Retornado

Retorna o ID do usuário (user ID) do dono (owner) do arquivo, ou false caso um erro. O ID do usuário é retornado no formato numérico, use posix_getpwuid() para obter o username do usuário.

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • stat() - Obtem informações sobre um arquivo


Lê as permissões do arquivo

  • « fileowner
  • filesize »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Lê as permissões do arquivo

fileperms

(PHP 4, PHP 5, PHP 7, PHP 8)

fileperms — Lê as permissões do arquivo

Descrição

fileperms ( string $filename ) : int

Retorna as permissões do arquivo.

Parâmetros

filename

Caminho até o arquivo.

Valor Retornado

Retornas as permissões do arquivo, ou false em caso de erro.

Exemplos

Exemplo #1 Mostra as permissões na forma octal

<?php
echo substr(sprintf('%o', fileperms('/tmp')), -4);
echo substr(sprintf('%o', fileperms('/etc/passwd')), -4);
?>

O exemplo acima irá imprimir:

1777
0644

Exemplo #2 Mostra as permissões completas

<?php
$perms = fileperms('/etc/passwd');

if (($perms & 0xC000) == 0xC000) {
    // Socket
    $info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
    // Link simbólico
    $info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
    // Regular
    $info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
    // Bloco especial
    $info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
    // Diretório
    $info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
    // Caractere especial
    $info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
    // FIFO pipe
    $info = 'p';
} else {
    // Desconhecido
    $info = 'u';
}

// Proprietário
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
            (($perms & 0x0800) ? 's' : 'x' ) :
            (($perms & 0x0800) ? 'S' : '-'));

// Grupo
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
            (($perms & 0x0400) ? 's' : 'x' ) :
            (($perms & 0x0400) ? 'S' : '-'));

// Outros
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
            (($perms & 0x0200) ? 't' : 'x' ) :
            (($perms & 0x0200) ? 'T' : '-'));

echo $info;
?>

O exemplo acima irá imprimir:

-rw-r--r--

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • is_readable() - Diz se o arquivo existe e se ele pode ser lido
  • stat() - Obtem informações sobre um arquivo


Obtém o tamanho do arquivo

  • « fileperms
  • filetype »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Obtém o tamanho do arquivo

filesize

(PHP 4, PHP 5, PHP 7, PHP 8)

filesize — Obtém o tamanho do arquivo

Descrição

filesize ( string $filename ) : int

Obtém o tamanho do arquivo.

Parâmetros

filename

Caminho para o arquivo.

Valor Retornado

Retorna o tamanho do arquivo em bytes, ou false (e gera um erro de nível E_WARNING) em caso de erro.

Nota: Por conta do tipo inteiro do PHP ser sinalizado em muitas plataformas de 32bits, algumas funções de arquivos podem retornar resultados inesperados para arquivos maiores que 2GB.

Exemplos

Exemplo #1 Exemplo de filesize()

<?php

// Exibe algo como: arquivo.txt: 1024 bytes

$filename = 'arquivo.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';

?>

Erros

Em caso de falha um E_WARNING será emitido.

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • file_exists() - Verifica se um arquivo ou diretório existe


Lê o tipo do arquivo

  • « filesize
  • flock »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Lê o tipo do arquivo

filetype

(PHP 4, PHP 5, PHP 7, PHP 8)

filetype — Lê o tipo do arquivo

Descrição

filetype ( string $filename ) : string

Retorna o tipo do arquivo.

Parâmetros

filename

Caminho até o arquivo.

Valor Retornado

Retorna o tipo do arquivo. Os valores possíveis são fifo, char, dir, block, link, file, socket e unknown (desconhecido).

Retorna false se ocorrer algum erro. filetype() também produzirá uma mensagem E_NOTICE se a chamada stat falhar ou se o tipo do arquivo for desconhecido.

Exemplos

Exemplo #1 Exemplo de filetype()

<?php

echo filetype('/etc/passwd');  // file
echo filetype('/etc/');        // dir

?>

Erros

Em caso de falha um E_WARNING será emitido.

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • is_dir() - Diz se o caminho é um diretório
  • is_file() - Informa se o arquivo é um arquivo comum
  • is_link() - Diz se o arquivo é um link simbólico (symbolic link)
  • file_exists() - Verifica se um arquivo ou diretório existe
  • mime_content_type() - Detecta o tipo MIME de um arquivo
  • pathinfo() - Retorna informações sobre um caminho de arquivo
  • stat() - Obtem informações sobre um arquivo


Monitor de travamento de arquivos portátil

  • « filetype
  • fnmatch »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Monitor de travamento de arquivos portátil

flock

(PHP 4, PHP 5, PHP 7, PHP 8)

flock — Monitor de travamento de arquivos portátil

Descrição

flock ( resource $handle , int $operation , int &$wouldblock = ? ) : bool

flock() permite você executar um simples modelo reader/writer que pode ser usado virtualmente cada plataforma (incluindo muitos derivados do Unix e até mesmo Windows).

A trava é liberada também por fclose() (que é também chamada automaticamente quando o script é finalizado).

PHP suporta uma maneira portável de travamento completo de arquivos de forma consultiva (que significa que todos programas acessados tem que usar a mesma forma de travamento ou não irá funcionar).

Parâmetros

handle

Um ponteiro de arquivo aberto.

operation

operation é uma das seguintes:

  • LOCK_SH para obter trava compartilhada (reader).
  • LOCK_EX para obter trava exclusiva (writer).
  • LOCK_UN para liberar uma trava (compartilhada ou exclusiva).
  • LOCK_NB se você não quer flock() para bloquear quando está travando. (não suportado em Windows)

wouldblock

O terceiro argumento opcional é usado como true se a lock irá bloquear (EWOULDBLOCK errno condition).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
4.0.1 | As constantes LOCK_XXX foram adicionadas. Ao invés de você precisa usar 1 para LOCK_SH, 2 LOCK_EX, 3 para LOCK_UN e 4 para LOCK_NB

Exemplos

Exemplo #1 Exemplo da flock()

<?php

$fp = fopen("/tmp/lock.txt", "w+");

if (flock($fp, LOCK_EX)) { // faca um lock exclusivo
    fwrite($fp, "escrevemos algo aqui\n");
    flock($fp, LOCK_UN); // libera o lock
} else {
    echo "Não pude travar o arquivo !";
}

fclose($fp);

?>

Notas

Nota:

flock() trava obrigatoriamente em Windows.

Nota:

Uma vez que flock() requer um ponteiro de arquivo, você precisa utilizar um lock de arquivo especial para proteger i acessi a um arquivo ao qual você pretende truncar quando abrindo no modo de escrita (com um argumento "w" ou "w+" em fopen()).

Aviso

flock() não funcionará em NFS ou em qualquer outro sistema de arquivos em rede. Verifique a documentação do seu sistema operacional para mais detalhes.

Na maior parte dos sistemas operacionais flock() é implementada no nível do processo. Quando utilizando um servidor com uma API de multiprocessamento (como ISAPI), você não pode confiar em flock() para proteger os arquivos contra outros scripts PHP rodando em threads paralelas da mesma instância do servidor!

flock() não é suportado em sistemas de arquivos antiquados como a FAT e seus derivados, e sempre retornará false sob esses ambientes (especialmente para usuários do Windows 98).


Compara nome de arquivo com um padrão

  • « flock
  • fopen »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Compara nome de arquivo com um padrão

fnmatch

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

fnmatch — Compara nome de arquivo com um padrão

Descrição

fnmatch ( string $pattern , string $string , int $flags = ? ) : bool

fnmatch() verifica se a string passada combina com o padrão de curingas shell pattern.

Parâmetros

pattern

Padrão de curingas shell

string

A string testada. Esta função é especialmente útil para nomes de arquivo, mas também pode ser usada em strings normais.

O usuário comum pode estar acostumado com padrões shell ou pelo menos, na sua forma mais simples, aos curingas '?' e '*'. Então usar fnmatch() ao invés de ereg() ou preg_match() para pesquisas pela interface pode ser muito mais conveniente para usuários não programadores.

flags

Veja a manpage Unix de fnmatch(3) para nomes de flags (contanto que não estejam documentadas aqui).

Valor Retornado

Retorna true se combinar, false do contrário.

Exemplos

Exemplo #1 Comparando uma cor com um padrão de curingas shell

<?php
if (fnmatch("*gr[ae]y", $color)) {
  echo "alguma forma da cor gray (cinza) ...";
}
?>

Notas

Aviso

Por enquanto esta função não está disponível no Windows ou outros sistemas não POSIX.

Veja Também

  • glob() - Acha caminhos que combinam com um padrão
  • ereg() - Casando expressões regulares
  • preg_match() - Perform a regular expression match
  • sscanf() - Interpreta a entrada de uma string de acordo com um formato
  • printf() - Mostra uma string formatada
  • sprintf() - Retorna a string formatada


Abre um arquivo ou URL

  • « fnmatch
  • fpassthru »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Abre um arquivo ou URL

fopen

(PHP 4, PHP 5, PHP 7, PHP 8)

fopen — Abre um arquivo ou URL

Descrição

fopen ( string $filename , string $mode , bool $use_include_path = ? , resource $context = ? ) : resource

fopen() conecta um recurso nomeado, especificado por filename, a um stream.

Parâmetros

filename

Se filename estiver na forma de "scheme://...", é assumido que seja uma URL, e o PHP buscará por um manipulador de protocolo (também conhecido como wrapper) para aquele scheme. Se nenhum wrapper para aquele protocolo estiver registrado, o PHP emitirá um aviso para ajudá-lo a rastrear potenciais problemas no seu script, e então continuará presumindo que filename especifica um nome de arquivo.

Se o PHP decidiu que filename se refere a um arquivo local, então ele tentará abrir um stream para aquele arquivo. O arquivo precisa ser acessível pelo PHP, então você precisa assegurar que as permissões de acesso do arquivo permitem este acesso. Se você tiver ativado safe mode ou open_basedir, outras restrições podem se aplicar.

Se o PHP decidiu que filename se refere a um protocolo registrado e esse protocolo estiver registrado como um protocolo de rede, o PHP irá verificar para ter certeza que allow_url_fopen está ativado. Se estiver desligado, o PHP emitirá um alerta e a chamada ao fopen irá falhar.

Nota:

A lista de protocolos suportados pode ser encontrada em Protocolos e Wrappers suportados. Alguns protocolos (também mencionados como wrappers) suportam context e/ou opções do php.ini. Recorra à página específica do protocolo em uso para uma lista das opções que podem ser definidas. (ex.: o valor php.ini user_agent utilizado pelo wrapper http).

Na plataforma Windows, tenha cuidado de escapar qualquer barra invertida usada no caminho do arquivo, ou use barras normais.

<?php
$handle = fopen("c:\\data\\info.txt", "r");
?>

mode

O parâmetro mode especifica o tipo de acesso que você precisa ao stream. Pode ser um dos seguintes:

Lista dos possíveis modos de fopen() utilizando mode
mode | Descrição
'r' | Abre somente para leitura; coloca o ponteiro do arquivo no começo do arquivo.
'r+' | Abre para leitura e escrita; coloca o ponteiro do arquivo no começo do arquivo.
'w' | Abre somente para escrita; coloca o ponteiro do arquivo no começo do arquivo e reduz o comprimento do arquivo para zero. Se o arquivo não existir, tenta criá-lo.
'w+' | Abre para leitura e escrita; coloca o ponteiro do arquivo no começo do arquivo e reduz o comprimento do arquivo para zero. Se o arquivo não existir, tenta criá-lo.
'a' | Abre somente para escrita; coloca o ponteiro do arquivo no final do arquivo. Se o arquivo não existir, tenta criá-lo.
'a+' | Abre para leitura e escrita; coloca o ponteiro do arquivo no final do arquivo. Se o arquivo não existir, tenta criá-lo.
'x' | Cria e abre o arquivo somente para escrita; coloca o ponteiro no começo do arquivo. Se o arquivo já existir, a chamada a fopen() falhará, retornando false e gerando um erro de nível E_WARNING. Se o arquivo não existir, tenta criá-lo. Isto é equivalente a especificar as flags O_EXCL|O_CREAT para a chamada de sistema open(2).
'x+' | Cria e abre o arquivo para leitura e escrita; coloca o ponteiro no começo do arquivo. Se o arquivo já existir, a chamada a fopen() falhará, retornando false e gerando um erro de nível E_WARNING. Se o arquivo não existir, tenta criá-lo. Isto é equivalente a especificar as flags O_EXCL|O_CREAT para a chamada de sistema open(2).

Nota:

Famílias de sistemas operacionais diferentes têm convenções de delimitação de linhas diferentes. Quando você escreve um arquivo texto e quer inserir uma quebra de linha, você precisa utilizar o(s) caractere(s) de fim de linha adequado(s) ao seu sistema operacional. Sistemas baseados no Unix utilizam \n como caractere de final de linha, sistemas baseados no Windows utilizam \r\n e sistemas baseados no Macintosh utilizam \r.

Se escrever caracteres de fim de linha inadequados em seus arquivos, eles deverão "parecer engraçados" quando você os abrir em outras aplicações.

O Windows oferece uma flag de tradução do modo texto ('t') que traduz, transparentemente, \n para \r\n quando trabalhando no arquivo. Em contraste, você também pode utilizar 'b' para forçar o modo binário, que não irá traduzir o arquivo. Para usar essas flags, informe ou 'b' ou 't' como o último caractere no parâmetro mode.

O modo de tradução padrão depende da SAPI e da versão do PHP que você estiver usando, então você é encorajado a sempre utilizar a flag apropriada por razões de portabilidade. Você deve usar o modo 't' se estiver trabalhando em arquivos texto simples e utilizar \n para delimitar as linhas em seu script, de forma que você pode esperar que eles sejam lidos em outras aplicações como o Notepad. Você deve usar 'b' em todos os outros casos.

Se você não especificar a flag 'b' quando trabalhar com arquivos binários, você pode passar por problemas estranhos com seus dados, incluindo arquivos de imagens danificados e problemas estranhos com os caracteres \r\n.

Nota:

Para portabilidade, é fortemente recomendado que você sempre utilize a flag 'b' quando abrir arquivos com fopen().

Nota:

Novamente para portabilidade, também é fortemente recomendado que você reescreva códigos que utilizem ou confiem no modo 't', de forma que passem a utilizar os fins de linha corretos e o modo 'b'.

use_include_path

O terceiro parâmetro opcional use_include_path pode ser definido para '1' ou true se você quiser buscar o arquivo também no include_path.

context

Nota: O suporte ao contexto foi adicionado no PHP 5.0.0. Para uma descrição de contextos, veja Streams.

Valor Retornado

Retorna um recurso de ponteiro de arquivo em caso de sucesso, ou false em caso de erro.

Erros

Se a abertura falhar, um erro nível E_WARNING é gerado. Você pode utilizar @ para suprimir esse alerta.

Changelog

Versão | Descrição
4.3.2 | A partir do PHP 4.3.2, o modo padrão é definido para binário em todas as plataformas que distinguem entre modo texto e binário. Se você estiver tendo problemas com seus scripts depois de uma atualização, tente acrescentar a flag 't' como um paliativo até que você tenha tornado seus scripts portáveis como mencionado acima.
4.3.2 | As opções 'x' e 'x+' foram adicionadas

Exemplos

Exemplo #1 Exemplos de fopen()

<?php
$handle = fopen("/home/rasmus/file.txt", "r");
$handle = fopen("/home/rasmus/file.gif", "wb");
$handle = fopen("http://www.example.com/", "r");
$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
?>

Notas

Aviso

Quando usando SSL, o Microsoft IIS irá violar o protocolo fechando a conexão sem enviar uma notificação close_notify. O PHP acusará isso como sendo "SSL: Fatal Protocol Error" quando tentar ler os dados. Para prevenir isso, o valor de error_reporting deve ser reduzido para um nível que não inclui avisos. para o nível que não emita warnings. O PHP 4.3.7 e seguintes conseguem detectar servidores IIS defeituosos quando você abre um stream utilizando o wrapper https:// e suprimirá os avisos. Se você está usando fsockopen() para criar um socket ssl://, a responsabilidade de detectar e suprimir esse aviso passa para você.

Nota: Quando o safe-mode está ativo, o PHP verifica se o diretório no qual o script está em operação tem o mesmo UID (proprietário) do script que está sendo executado.

Se você está tendo problemas com a leitura e gravação para arquivos e você está usando a versão de módulo de servidor do PHP, lembre-se de que os arquivos e diretórios que você está usando precisam ser acessíveis ao processo do servidor HTTP.

Veja Também

  • Protocolos e Wrappers suportados
  • fclose() - Fecha um ponteiro de arquivo aberto
  • fgets() - Lê uma linha de um ponteiro de arquivo
  • fread() - Leitura binary-safe de arquivo
  • fwrite() - Escrita binary-safe em arquivos
  • fsockopen() - Abre um socket de conexão Internet ou de domínio Unix
  • file() - Lê todo o arquivo para um array
  • file_exists() - Verifica se um arquivo ou diretório existe
  • is_readable() - Diz se o arquivo existe e se ele pode ser lido
  • stream_set_timeout() - Set timeout period on a stream
  • popen() - Abre um processo como ponteiro de arquivo
  • stream_context_create() - Creates a stream context


Imprime todo os dados restantes de um ponteiro de arquivo

  • « fopen
  • fputcsv »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Imprime todo os dados restantes de um ponteiro de arquivo

fpassthru

(PHP 4, PHP 5, PHP 7, PHP 8)

fpassthru — Imprime todo os dados restantes de um ponteiro de arquivo

Descrição

fpassthru ( resource $handle ) : int

Lê até o fim do arquivo (EOF) do ponteiro de arquivo dado e imprime os resultados para a buffer de saída.

Se você precisa chamar rewind() para resetar o ponteiro do arquivo para início do arquivo se você já escreveu dados para o arquivo.

Se você somente quiser jogar o conteúdo de um arquivo para o buffer de saída, sem primeiro modificar ou procurar por um detalhe qualquer, você pode querer usar a função readfile(), que vai economizar uma chamada a função fopen().

Parâmetros

handle

O ponteiro de arquivo precisa ser válido, e apontar para
um arquivo aberto por fopen() ou
fsockopen() (e ainda não fechado por
fclose()).

Valor Retornado

Se um error ocorrer, a função fpassthru() retorna false. No sucesso, fpassthru() retorna o número de caracteres lidos do handle e passado para a exibição.

Exemplos

Exemplo #1 Usando fpassthru() com arquivo binário

<?php

// abre o arquivo em modo binário
$name = './img/ok.png';
$fp = fopen($name, 'rb');

// envia os headers
header("Content-Type: image/png");
header("Content-Length: ".filesize($name));

// manda a imagem e pára o script
fpassthru($fp);
exit;

?>

Notas

Nota:

Quando utilizando fpassthru() em um arquivo binário em sistemas Windows, você precisa verificar se abriu o arquivo em modo binário, acrescentando um b no modo informado na chamada de fopen().

Você é encorajado a utilizar o modo b quando trabalhando com arquivos binários, mesmo que seu sistema não requira isso, de forma que seus scripts se tornem mais portáveis.

Veja Também

  • readfile() - Lê e exibe o conteúdo de um arquivo
  • fopen() - Abre um arquivo ou URL
  • popen() - Abre um processo como ponteiro de arquivo
  • fsockopen() - Abre um socket de conexão Internet ou de domínio Unix


Formata a linha como CSV e a escreve em um ponteiro de arquivo

  • « fpassthru
  • fputs »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Formata a linha como CSV e a escreve em um ponteiro de arquivo

fputcsv

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

fputcsv — Formata a linha como CSV e a escreve em um ponteiro de arquivo

Descrição

fputcsv ( resource $handle , array $fields , string $delimiter = "," , string $enclosure = '"' , string $escape_char = "\" ) : int

fputcsv() formata uma linha (passada como um array de campos fields) como CSV e a escreve (terminando com uma nova linha) no manipulador de arquivo especificado por handle.

Parâmetros

handle

O ponteiro de arquivo precisa ser válido, e apontar para
um arquivo aberto por fopen() ou
fsockopen() (e ainda não fechado por
fclose()).

fields

Um array de valores.

delimiter

O parâmetro opcional delimiter configura o caractere delimitador (apenas um caractere).

enclosure

O parâmetro opcional enclosure configura o caractere que envolve os dados (apenas um caractere).

escape_char

O parâmetro opcional escape_char configura o caractere de escape (apenas um caractere).

Valor Retornado

Retorna o comprimento da string escrita ou false em caso de falha.

Changelog

Versão | Descrição
5.5.4 | O parâmetro escape_char foi adicionado.

Exemplos

Exemplo #1 Exemplo da fputcsv()

<?php

$lista = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$fp = fopen('arquivo.csv', 'w');

foreach ($lista as $linha) {
    fputcsv($fp, $linha);
}

fclose($fp);
?>

O exemplo acima irá escrever o seguinte no arquivo arquivo.csv:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

Notas

Nota: Se PHP não está reconhecendo apropriadamente o separador de linha quando lendo ou criando arquivos em um computador Macintosh, habilitando a opção auto_detect_line_endings pode ajudar a resolver o problema.

Veja Também

  • fgetcsv() - Lê uma linha do ponteiro de arquivos e a interpreta como campos CSV


Sinônimo de fwrite

  • « fputcsv
  • fread »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Sinônimo de fwrite

fputs

(PHP 4, PHP 5, PHP 7, PHP 8)

fputs — Sinônimo de fwrite()

Descrição

Esta função é um apelido para: fwrite().


Leitura binary-safe de arquivo

  • « fputs
  • fscanf »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Leitura binary-safe de arquivo

fread

(PHP 4, PHP 5, PHP 7, PHP 8)

fread — Leitura binary-safe de arquivo

Descrição

fread ( resource $handle , int $length ) : string

fread() lê até length bytes do ponteiro de arquivo informado em handle. A leitura é interrompida quando uma das seguintes condições são satisfeitas:

  • length bytes foram lidos
  • EOF (end of file - final do arquivo) é alcançado
  • um pacote tornou-se disponível (para network streams)
  • 8192 bytes foram lidos (depois de abrir um stream)

Parâmetros

handle

Um ponteiro de arquivo tipo resource tipicamente criado por fopen().

length

Até length número de bytes lidos.

Valor Retornado

Retorna a string lida ou false em caso de erro.

Exemplos

Exemplo #1 Um simples exemplo de fread()

<?php
// lê o conteúdo do arquivo para uma string
$filename = "/usr/local/qualquer.txt";
$handle = fopen ($filename, "r");
$conteudo = fread ($handle, filesize ($filename));
fclose ($handle);
?>

Exemplo #2 Exemplo de fread() binário

Aviso

Em sistemas que diferenciam entre arquivos binários e texto (por exemplo Windows) o arquivo tem que ser aberto com 'b' incluído no parâmetro 'mode' na fopen().

<?php
$filename = "c:\\files\\figura.gif";
$handle = fopen ($filename, "rb");
$conteudo = fread ($handle, filesize ($filename));
fclose ($handle);
?>

Exemplo #3 Exemplos de fread() remoto

Aviso

Ao ler de qualquer coisa que não seja um arquivo local comum, tal como de streams retornados ao ler arquivos remotos, ou de popen() e fsockopen(), a leitura irá parar depois que um pacote esteja disponível. Isto significa que você deve juntar os dados em blocos como demonstrado nos exemplos abaixo.

<?php
// Para o PHP 5 e superior
$handle = fopen("http://www.example.com/", "rb");
$contents = stream_get_contents($handle);
fclose($handle);
?>
<?php
$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
  $contents .= fread($handle, 8192);
}
fclose($handle);
?>

Notas

Nota:

Se você quer apenas pegar o conteúdo de um arquivo para uma string, utilize file_get_contents() que tem uma performance ainda melhor que o código acima.

Veja Também

  • fwrite() - Escrita binary-safe em arquivos
  • fopen() - Abre um arquivo ou URL
  • fsockopen() - Abre um socket de conexão Internet ou de domínio Unix
  • popen() - Abre um processo como ponteiro de arquivo
  • fgets() - Lê uma linha de um ponteiro de arquivo
  • fgetss() - Ler uma linha de um ponteiro de arquivo e retira as tags HTML
  • fscanf() - Interpreta a leitura de um arquivo de acordo com um formato
  • file() - Lê todo o arquivo para um array
  • fpassthru() - Imprime todo os dados restantes de um ponteiro de arquivo


Interpreta a leitura de um arquivo de acordo com um formato

  • « fread
  • fseek »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Interpreta a leitura de um arquivo de acordo com um formato

fscanf

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

fscanf — Interpreta a leitura de um arquivo de acordo com um formato

Descrição

fscanf ( resource $handle , string $formato , mixed &$... = ? ) : mixed

A função fscanf() é semelhante à sscanf(), mas usa como entrada um arquivo associado com o handle e interpreta a entrada de acordo com o formato especificado, o qual é descrito na documentação da sprintf().

Qualquer espaço em branco na string do formato combina com quaisquer outros espaços no stream de entrada. Isto significa que até uma tabulação \t na string do formato combina com um caracter de espaço simples no stream de entrada.

Parâmetros

handle

Um ponteiro de arquivo tipo resource tipicamente criado por fopen().

formato

O formato especificado como descrito na documentação de sprintf().

...

Variáveis opcionais onde definir os valores.

Valor Retornado

Se somente dois parâmetros forem passados pra essa função, os valores interpretados serão retornados como um array. Do contrário, se parâmetros opcionais forem passados, a função retornará o número de valores definidos. Os parâmetros opcionais devem ser passados por referência.

Changelog

Versão | Descrição
4.3.0 | Antes do PHP 4.3.0, o maior número de caracteres lidos do arquivo era 512 (ou o primeiro \n, o que viesse primeiro). Agora, linhas de qualquer comprimento são lidas e interpretadas.

Exemplos

Exemplo #1 Exemplo de fscanf()

<?php
$handle = fopen("users.txt", "r");
while ($userinfo = fscanf($handle, "%s\t%s\t%s\n")) {
    list ($name, $profession, $countrycode) = $userinfo;
    //... fazer algo com os valores
}
fclose($handle);
?>

Exemplo #2 Conteúdo de users.txt

javier  argonaut        pe
hiroshi sculptor        jp
robert  slacker us
luigi   florist it

Veja Também

  • fread() - Leitura binary-safe de arquivo
  • fgets() - Lê uma linha de um ponteiro de arquivo
  • fgetss() - Ler uma linha de um ponteiro de arquivo e retira as tags HTML
  • sscanf() - Interpreta a entrada de uma string de acordo com um formato
  • printf() - Mostra uma string formatada
  • sprintf() - Retorna a string formatada


Procura (seeks) em um ponteiro de arquivo

  • « fscanf
  • fstat »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Procura (seeks) em um ponteiro de arquivo

fseek

(PHP 4, PHP 5, PHP 7, PHP 8)

fseek — Procura (seeks) em um ponteiro de arquivo

Descrição

fseek ( resource $handle , int $offset , int $whence = SEEK_SET ) : int

Modifica o indicador de posição do arquivo referenciado por handle. A nova posição, medida em bytes a partir do início do arquivo, é obtida ao adicionar offset à posição especificada por whence.

Geralmente é permitido procurar (seek) além do fim-do-arquivo; se algum dado for então escrito, leituras além de qualquer região escrita entre o fim-do-arquivo e a região desejada irão trazer bytes com valor 0. Entretanto, alguns fluxos (streams) podem não suportar esse comportamento, especialmente quando têm definido um tamanho de armazenamento fixo.

Parâmetros

handle

Um ponteiro de arquivo tipo resource tipicamente criado por fopen().

offset

A posição.

Para mover até uma posição anterior ao fim-do-arquivo, você precisa passar um valor negativo no offset e definir o parâmetro whence para SEEK_END.

whence

Valores de whence são:

  • SEEK_SET - Define a posição igual ao offset bytes.
  • SEEK_CUR - Define a posição para a atual localização mais offset.
  • SEEK_END - Define a posição para o final do arquivo mais offset.

Valor Retornado

Em caso de sucesso, retorna 0; caso contrário, retorna -1.

Exemplos

Exemplo #1 Exemplo de fseek()

<?php

$fp = fopen('arquivo.txt');

// lê alguns dados
$data = fgets($fp, 4096);

// move de volta para o inicio do arquivo
// o mesmo que rewind($fp);
fseek($fp, 0);

?>

Notas

Nota:

Se você abriu o arquivo em modo de adição (a ou a+), quaisquer dados que você escreva no arquivo serão sempre acrescentados ao final, independente da posição do arquivo, e o resultado da chamada de fseek() será undefined.

Nota:

Nem todos os fluxos (streams) suportam procura (seek). Para aqueles que não suportam, procuras além da posição atual podem ser feitas através da leitura e descarte de dados; outras formas de procura vão falhar.

Veja Também

  • ftell() - Retorna a posição de leitura/gravação do ponteiro do arquivo
  • rewind() - Reinicializa a posição do ponteiro de arquivos para o início


Lê informações sobre um arquivo usando um ponteiro de arquivo aberto

  • « fseek
  • ftell »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Lê informações sobre um arquivo usando um ponteiro de arquivo aberto

fstat

(PHP 4, PHP 5, PHP 7, PHP 8)

fstat — Lê informações sobre um arquivo usando um ponteiro de arquivo aberto

Descrição

fstat ( resource $handle ) : array|false

Obtêm estatísticas do arquivo aberto pelo ponteiro de arquivos handle. Esta função é similar à função stat() exceto que ela opera em um ponteiro de arquivo aberto ao invés de um nome de arquivo.

Parâmetros

handle

Um ponteiro de arquivo tipo resource tipicamente criado por fopen().

Valor Retornado

Retorna um array com as estatísticas de um arquivo. O formato do array é descrito em detalhes na página do manual sobre stat(). Em caso de erro, fstat() retorna false.

Exemplos

Exemplo #1 Exemplo fstat()

<?php

// abre um arquivo
$fp = fopen("/etc/passwd", "r");

// colhe as estatísticas
$fstat = fstat($fp);

// fecha o arquivo
fclose($fp);

// imprime somente a parte de índices associativos
print_r(array_slice($fstat, 13));

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Notas

Nota: Esta função não funcionar com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.


Retorna a posição de leitura/gravação do ponteiro do arquivo

  • « fstat
  • ftruncate »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Retorna a posição de leitura/gravação do ponteiro do arquivo

ftell

(PHP 4, PHP 5, PHP 7, PHP 8)

ftell — Retorna a posição de leitura/gravação do ponteiro do arquivo

Descrição

ftell ( resource $handle ) : int

Informa a posição do ponteiro do arquivo de leitura/escrita.

Parâmetros

handle

O ponteiro de arquivo precisa ser válido, e precisa apontar para um arquivo aberto com sucesso por fopen() ou popen(). ftell() dá resultados indefinidos para streams no modo append (aberto com flag "a").

Valor Retornado

Retorna a posição do ponteiro do arquivo referenciado por handle; i.e., sua posição no stream do arquivo.

Se um erro ocorrer, retorna false.

Exemplos

Exemplo #1 Exemplo da ftell()

<?php

// abre o arquivo e lê alguns dados
$fp = fopen("/etc/passwd", "r");
$data = fgets($fp, 12);

// onde nós estamos ?
echo ftell($fp); // 11

fclose($fp);

?>

Veja Também

  • fopen() - Abre um arquivo ou URL
  • popen() - Abre um processo como ponteiro de arquivo
  • fseek() - Procura (seeks) em um ponteiro de arquivo
  • rewind() - Reinicializa a posição do ponteiro de arquivos para o início


Reduz um arquivo a um tamanho especificado

  • « ftell
  • fwrite »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Reduz um arquivo a um tamanho especificado

ftruncate

(PHP 4, PHP 5, PHP 7, PHP 8)

ftruncate — Reduz um arquivo a um tamanho especificado

Descrição

ftruncate ( resource $handle , int $size ) : bool

Pega o ponteiro de arquivo handle e reduz o arquivo ao comprimento size.

Parâmetros

handle

O ponteiro do arquivo.

Nota:

O ponteiro handle deve estar aberto para escrita.

size

O tamanho pro qual reduzir.

Nota:

Se size for maior que o arquivo, o arquivo será estendido com bytes nulos.

Se size for menor, os dados extras serão perdidos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
PHP 4.3.3 | Antes desta versão, ftruncate() retornava integer no valor 1 no caso de sucesso, ao invés de boolean true.

Notas

Nota:

O ponteiro do arquivo não é alterado.

Veja Também

  • fopen() - Abre um arquivo ou URL
  • fseek() - Procura (seeks) em um ponteiro de arquivo


Escrita binary-safe em arquivos

  • « ftruncate
  • glob »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Escrita binary-safe em arquivos

fwrite

(PHP 4, PHP 5, PHP 7, PHP 8)

fwrite — Escrita binary-safe em arquivos

Descrição

fwrite ( resource $handle , string $string , int $length = ? ) : int

fwrite() escreve o conteúdo da string para o stream de arquivo apontado por handle.

Parâmetros

handle

Um ponteiro de arquivo tipo resource tipicamente criado por fopen().

string

A string a ser escrita.

length

Se o argumento comprimento for dado, a escrita irá parar depois que comprimento bytes tenham sido escritos ou o final da string seja alcançado, o que vier primeiro.

Observe que se o argumento comprimento for dado, a opção de configuração magic_quotes_runtime será ignorada e nenhuma barra será removida da string.

Valor Retornado

fwrite() retorna o número de bytes escritos, ou false em caso de erro.

Notas

Nota:

Em sistemas que diferenciam entre arquivos binários e texto (por exemplo Windows) o arquivo tem que ser aberto com 'b' incluído no parâmetro 'mode' na fopen().

Nota:

Se o handle foi aberto com fopen() em modo de adição, escritas com fwrite() são atômicas (a não ser que o tamanho da string exceda o tamanho de bloco do sistema de arquivos, em algumas plataformas, e contanto que o arquivo esteja em um sistema de arquivos local). Sendo assim, não há necessidade de bloquear um recurso com flock() antes de chamar fwrite(); todos os dados serão escritos sem interrupção.

Nota:

Se escrevendo duas vezes para o ponteiro do arquivo, então a informação será adicionado ao final do contéudo do arquivo, significando que o exemplo abaixo não funcionaria como esperado:

<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);

// o conteúdo de 'data.txt' agora é 123 e não 23!
?>

Exemplos

Exemplo #1 Um simples exemplo de fwrite()

<?php
$filename = 'teste.txt';
$conteudo = "Acrescentar isso ao arquivo\n";

// Primeiro vamos ter certeza de que o arquivo existe e pode ser alterado
if (is_writable($filename)) {

 // Em nosso exemplo, nós vamos abrir o arquivo $filename
 // em modo de adição. O ponteiro do arquivo estará no final
 // do arquivo, e é pra lá que $conteudo irá quando o
 // escrevermos com fwrite().
    if (!$handle = fopen($filename, 'a')) {
         echo "Não foi possível abrir o arquivo ($filename)";
         exit;
    }

    // Escreve $conteudo no nosso arquivo aberto.
    if (fwrite($handle, $conteudo) === FALSE) {
        echo "Não foi possível escrever no arquivo ($filename)";
        exit;
    }

    echo "Sucesso: Escrito ($conteudo) no arquivo ($filename)";

    fclose($handle);

} else {
    echo "O arquivo $filename não pode ser alterado";
}
?>

Veja Também

  • fread() - Leitura binary-safe de arquivo
  • fopen() - Abre um arquivo ou URL
  • fsockopen() - Abre um socket de conexão Internet ou de domínio Unix
  • popen() - Abre um processo como ponteiro de arquivo
  • file_get_contents() - Lê todo o conteúdo de um arquivo para uma string


Acha caminhos que combinam com um padrão

  • « fwrite
  • is_dir »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Acha caminhos que combinam com um padrão

glob

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

glob — Acha caminhos que combinam com um padrão

Descrição

glob ( string $pattern , int $flags = 0 ) : array

A função glob() procura por todos os caminhos que combinem com o padrão pattern de acordo com as regras usadas pela função glob() da libc, que é semelhante às regras usadas por shells comuns.

Parâmetros

pattern

O padrão. Não é feita nenhuma expansão de til ou substituição de parâmetros.

flags

Flags válidas:

  • GLOB_MARK - Acrescenta uma barra a cada diretório retornado
  • GLOB_NOSORT - Retorna os arquivos conforme eles aparecem no diretório (sem ordenação). Quando esta flag não é utilizada os caminhos são ordenados alfabeticamente.
  • GLOB_NOCHECK - Retorna o padrão da busca se nenhuma combinação de arquivo for encontrada
  • GLOB_NOESCAPE - Barras invertidas não escapam metacaracteres.
  • GLOB_BRACE - Expande {a,b,c} para combinar com 'a', 'b' ou 'c'
  • GLOB_ONLYDIR - Retorna apenas diretórios que combinem com o padrão
  • GLOB_ERR - Pára em erros de leitura (como diretórios que não podem ser lidos), por padrão os erros são ignorados.

Valor Retornado

Retorna um array contendo os arquivos/diretórios que combinaram, um array vazio se nenhum arquivo combinou ou false em caso de erro.

Nota:

Em alguns sistemas é impossível distinguir entre resultado vazio ou um errro.

Changelog

Versão | Descrição
5.1.0 | GLOB_ERR foi adicionado

Exemplos

Exemplo #1 Modo conveniente de como glob() pode susbstituir opendir() e companhia.

<?php
foreach (glob("*.txt") as $arquivo) {
    echo "tamanho de $arquivo " . filesize($arquivo) . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

tamanho de funclist.txt 44686
tamanho de funcsummary.txt 267625
tamanho de quickref.txt 137820

Notas

Nota: Esta função não funcionar com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.

Nota: Esta função não está disponível em alguns sistemas (ex.: antigo Sun OS).

Nota: A flag GLOB_BRACE não está disponível em alguns sistemas não GNU, como Solaris.

Veja Também

  • opendir() - Abre um manipulador de diretório
  • readdir() - Lê os campos do manipulador do diretório
  • closedir() - Fecha o manipulador do diretório
  • fnmatch() - Compara nome de arquivo com um padrão


Diz se o caminho é um diretório

  • « glob
  • is_executable »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Diz se o caminho é um diretório

is_dir

(PHP 4, PHP 5, PHP 7, PHP 8)

is_dir — Diz se o caminho é um diretório

Descrição

is_dir ( string $filename ) : bool

Informa se o dado nome de arquivo é um diretório.

Parâmetros

filename

Caminho para o arquivo. Se filename é um nome de arquivo relativo, irá ser verificado relativamente ao atual diretório. Se filename é um link simbólico ou hard link então o link será resolvido e validado. Se o safe mode estiver habilitado ou o open_basedir, podem ser aplicadas mais restrições.

Valor Retornado

Retorna true se o nome do arquivo existe e é um diretório, false caso contrário.

Exemplos

Exemplo #1 Exemplo da is_dir()

<?php
var_dump(is_dir('a_file.txt'));
var_dump(is_dir('bogus_dir/abc'));

var_dump(is_dir('..')); // um diretório acima
?>

O exemplo acima irá imprimir:

bool(false)
bool(false)
bool(true)

Erros

Em caso de falha um E_WARNING será emitido.

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • chdir() - Muda o diretório
  • dir() - Retorna uma instância da classe Diretório
  • opendir() - Abre um manipulador de diretório
  • is_file() - Informa se o arquivo é um arquivo comum
  • is_link() - Diz se o arquivo é um link simbólico (symbolic link)


Diz se um arquivo é executável

  • « is_dir
  • is_file »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Diz se um arquivo é executável

is_executable

(PHP 4, PHP 5, PHP 7, PHP 8)

is_executable — Diz se um arquivo é executável

Descrição

is_executable ( string $filename ) : bool

Diz se um arquivo é executável.

Parâmetros

filename

Caminho para o arquivo.

Valor Retornado

Retorna true se o arquivo existe e é executável, ou false em caso de erro.

Exemplos

Exemplo #1 Exemplo da is_executable()

<?php

$file = '/home/vincent/arquivo.sh';

if (is_executable($file)) {
    echo $file.' é executável';
} else {
    echo $file.' não é executável';
}

?>

Erros

Em caso de falha um E_WARNING será emitido.

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • is_file() - Informa se o arquivo é um arquivo comum
  • is_link() - Diz se o arquivo é um link simbólico (symbolic link)


Informa se o arquivo é um arquivo comum

  • « is_executable
  • is_link »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Informa se o arquivo é um arquivo comum

is_file

(PHP 4, PHP 5, PHP 7, PHP 8)

is_file — Informa se o arquivo é um arquivo comum

Descrição

is_file ( string $filename ) : bool

Informa se o arquivo é um arquivo comum.

Parâmetros

filename

Caminho para o arquivo.

Valor Retornado

Retorna true se o arquivo existe e é um arquivo comum, false caso contrário.

Nota: Por conta do tipo inteiro do PHP ser sinalizado em muitas plataformas de 32bits, algumas funções de arquivos podem retornar resultados inesperados para arquivos maiores que 2GB.

Exemplos

Exemplo #1 Exemplo da is_file()

<?php
var_dump(is_file('a_file.txt')) . "\n";
var_dump(is_file('/usr/bin/')) . "\n";
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)

Erros

Em caso de falha um E_WARNING será emitido.

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • is_dir() - Diz se o caminho é um diretório
  • is_link() - Diz se o arquivo é um link simbólico (symbolic link)


Diz se o arquivo é um link simbólico (symbolic link)

  • « is_file
  • is_readable »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Diz se o arquivo é um link simbólico (symbolic link)

is_link

(PHP 4, PHP 5, PHP 7, PHP 8)

is_link — Diz se o arquivo é um link simbólico (symbolic link)

Descrição

is_link ( string $arquivo ) : bool

Informa se um dado arquivo é um link simbólico (symbolic link).

Parâmetros

filename

O caminho para o arquivo.

Valor Retornado

Retorna true se o nome do arquivo existe e se é um link simbólico, false caso contrário.

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • is_dir() - Diz se o caminho é um diretório
  • is_file() - Informa se o arquivo é um arquivo comum
  • readlink() - Retornar o alvo de um link simbólico


Diz se o arquivo existe e se ele pode ser lido

  • « is_link
  • is_uploaded_file »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Diz se o arquivo existe e se ele pode ser lido

is_readable

(PHP 4, PHP 5, PHP 7, PHP 8)

is_readable — Diz se o arquivo existe e se ele pode ser lido

Descrição

is_readable ( string $filename ) : bool

Diz se o arquivo existe e se ele pode ser lido

Parâmetros

filename

Caminho do arquivo.

Valor Retornado

Retorna true se o arquivo ou diretório especificado por filename existe e pode ser lido, false do contrário.

Exemplos

Exemplo #1 Exemplo de is_readable()

<?php
$filename = 'teste.txt';
if (is_readable($filename)) {
    echo 'O arquivo pode ser lido.';
} else {
    echo 'O arquivo não pode ser lido.';
}
?>

Erros

Em caso de falha um E_WARNING será emitido.

Notas

Lembre-se que o PHP pode acessar o arquivo como o usuário com o qual o servidor web é executado (geralmente 'nobody'). Limitações de Safe Mode não são levadas em conta antes do PHP 5.1.5.

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Nota:

A verificação é feita usando os UID/GID reais ao invés dos efetivos.

Essa função pode retornar true para diretórios. Use a is_dir() para diferenciar entre arquivo e diretório.

Veja Também

  • is_writable() - Diz se o arquivo pode ser modificado
  • file_exists() - Verifica se um arquivo ou diretório existe
  • fgets() - Lê uma linha de um ponteiro de arquivo


Diz se o arquivo foi enviado por POST HTTP

  • « is_readable
  • is_writable »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Diz se o arquivo foi enviado por POST HTTP

is_uploaded_file

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

is_uploaded_file — Diz se o arquivo foi enviado por POST HTTP

Descrição

is_uploaded_file ( string $filename ) : bool

Retorna true se o arquivo com o nome filename foi enviado por POST HTTP. Isto é útil para ter certeza que um usuário malicioso não está tentando levar o script a trabalhar em arquivos que não deve estar trabalhando --- por exemplo, /etc/passwd.

Este tipo de confirmação é importante principalmente se existe alguma chance que qualquer coisa feita com os arquivos carregados possa revelar seu conteúdo para o usuário, ou mesmo para outros usuários no mesmo sistema.

Para o funcionamento apropriado, a função is_uploaded_file() precisa de um argumento como $_FILES['userfile']['tmp_name'], - o nome do arquivo enviado na máquina do cliente $_FILES['userfile']['name'] não funciona.

Parâmetros

filename

O nome do arquivo sendo checado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de is_uploaded_file()

<?php

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
   echo "O arquivo ". $_FILES['userfile']['name'] ." foi enviado com sucesso.\n";
   echo "Mostrando o conteúdo\n";
   readfile($_FILES['userfile']['tmp_name']);
} else {
   echo "Possível ataque de envio de arquivo: ";
   echo "nome do arquivo '". $_FILES['userfile']['tmp_name'] . "'.";
}

?>

Veja Também

  • move_uploaded_file() - Move um arquivo enviado para uma nova localização
  • Veja Gerenciar upload de arquivo para um simples exemplo de uso.


Diz se o arquivo pode ser modificado

  • « is_uploaded_file
  • is_writeable »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Diz se o arquivo pode ser modificado

is_writable

(PHP 4, PHP 5, PHP 7, PHP 8)

is_writable — Diz se o arquivo pode ser modificado

Descrição

is_writable ( string $filename ) : bool

Retorna true se o arquivo em filename existe e pode ser modificado. O argumento filename pode ser um diretório, permitindo que você verifique se o diretório tem permissão de escrita.

Lembre-se que o PHP pode acessar o arquivo como o usuário com o qual o servidor web é executado (geralmente 'nobody'). Limitações de Safe Mode não são levadas em conta antes do PHP 5.1.5.

Parâmetros

filename

O arquivo sendo verificado.

Valor Retornado

Retorna true se o arquivo em filename existe e pode ser modificado.

Exemplos

Exemplo #1 Exemplo de is_writable()

<?php
$filename = 'teste.txt';
if (is_writable($filename)) {
    echo 'O arquivo possui permissão de escrita';
} else {
    echo 'O arquivo não possui permissão de escrita';
}
?>

Erros

Em caso de falha um E_WARNING será emitido.

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • is_readable() - Diz se o arquivo existe e se ele pode ser lido
  • file_exists() - Verifica se um arquivo ou diretório existe
  • fwrite() - Escrita binary-safe em arquivos


Sinônimo de is_writable

  • « is_writable
  • lchgrp »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Sinônimo de is_writable

is_writeable

(PHP 4, PHP 5, PHP 7, PHP 8)

is_writeable — Sinônimo de is_writable()

Descrição

Esta função é um apelido para: is_writable().


Modifica o grupo do link simbólico

  • « is_writeable
  • lchown »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Modifica o grupo do link simbólico

lchgrp

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

lchgrp — Modifica o grupo do link simbólico

Descrição

lchgrp ( string $filename , mixed $group ) : bool

Tenta modificar o grupo do link simbólico arquivo para o grupo.

Somente o superusuário pode alterar arbitrariamente o grupo de um link simbólico; outros usuários podem alterar o grupo de um link simbólico para qualquer grupo do qual esse usuário seja um membro.

Parâmetros

filename

Caminho para o link simbólico.

group

O nome do grupo ou número.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Alterando um grupo de um link simbólico

<?php
$target = 'output.php';
$link = 'output.html';
symlink($target, $link);

lchgrp($link, 8);
?>

Notas

Nota: Esta função não funcionar com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.

Nota: Quando o safe-mode está ativo, o PHP verifica se os arquivo(s) ou diretórios que estão usados na operação tem o mesmo UID (proprietário) do script que está sendo executado.

Nota: esta função não é implementada na plataforma Windows

Veja Também

  • chgrp() - Modifica o grupo do arquivo
  • lchown() - Modifica o proprietário do link simbólico
  • chown() - Modifica o dono do arquivo
  • chmod() - Modifica as permissões do arquivo


Modifica o proprietário do link simbólico

  • « lchgrp
  • link »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Modifica o proprietário do link simbólico

lchown

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

lchown — Modifica o proprietário do link simbólico

Descrição

lchown ( string $filename , mixed $user ) : bool

Tenta modificar o proprietário do link simbólico filename para o usuário user.

Somente o superusuário pode mudar o proprietário de um link simbólico.

Parâmetros

filename

Caminho para o arquivo.

user

O nome do usuário ou número.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Alterando o proprietário de um link simbólico

<?php
$target = 'output.php';
$link = 'output.html';
symlink($target, $link);

lchown($link, 8);
?>

Notas

Nota: Esta função não funcionar com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.

Nota: Quando o safe-mode está ativo, o PHP verifica se os arquivo(s) ou diretórios que estão usados na operação tem o mesmo UID (proprietário) do script que está sendo executado.

Nota: esta função não é implementada na plataforma Windows

Veja Também

  • chown() - Modifica o dono do arquivo
  • lchgrp() - Modifica o grupo do link simbólico
  • chgrp() - Modifica o grupo do arquivo
  • chmod() - Modifica as permissões do arquivo


Criando um hard link

  • « lchown
  • linkinfo »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Criando um hard link

link

(PHP 4, PHP 5, PHP 7, PHP 8)

link — Criando um hard link

Descrição

link ( string $target , string $link ) : bool

link() cria um link físico.

Parâmetros

target

Alvo do link.

link

O nome do link.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.3.0 | A função fica disponível em plataformas Windows (Vista, Server 2008 or greater).

Exemplos

Exemplo #1 Creating a simple hard link

<?php
$target = 'source.ext'; // Esse arquivo já existe
$link = 'newfile.ext'; // Esse é o nome do link

link($target, $link);
?>

Notas

Nota: Esta função não funcionar com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.

Nota: Windows: Essa função requer o PHP rodando em nível elevado de privilégios ou com o UAC desabilitado.

Veja Também

  • symlink() - Cria um link simbólico
  • readlink() - Retornar o alvo de um link simbólico
  • linkinfo() - Ler informações sobre um link


Ler informações sobre um link

  • « link
  • lstat »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Ler informações sobre um link

linkinfo

(PHP 4, PHP 5, PHP 7, PHP 8)

linkinfo — Ler informações sobre um link

Descrição

linkinfo ( string $path ) : int

Obtém informação sobre um link.

Esta função é usada para verificar se um link (apontado por path) realmente existe (usando o mesmo método como a macro S_ISLNK definida em stat.h).

Parâmetros

path

Caminho para o link.

Valor Retornado

linkinfo() retorna o campo st_dev da estrutura stat do Unix C retornado pela chamada do sistema (system call) lstat. Retorna 0 ou false em caso de erro.

Exemplos

Exemplo #1 Exemplo da linkinfo()

<?php

echo linkinfo('/vmlinuz'); // 835

?>

Notas

Nota: esta função não é implementada na plataforma Windows

Veja Também

  • symlink() - Cria um link simbólico
  • link() - Criando um hard link
  • readlink() - Retornar o alvo de um link simbólico


Obtém informações sobre um arquivo ou link simbólico

  • « linkinfo
  • mkdir »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Obtém informações sobre um arquivo ou link simbólico

lstat

(PHP 4, PHP 5, PHP 7, PHP 8)

lstat — Obtém informações sobre um arquivo ou link simbólico

Descrição

lstat ( string $filename ) : array

Obtém estatísticas do arquivo ou link simbólico com o nome de filename.

Parâmetros

filename

Path to a file or a symbolic link.

Valor Retornado

Veja a página do manual para stat() para informações sobre a estrutura do array retornado que lstat() retorna. Esta função é identica a stat() exceto que se o parâmetro filename é um link simbólico, e o status do link simbólico é retornado e não o status do arquivo apontando pelo link simbólico.

Exemplos

Exemplo #1 Comparação de stat() e lstat()

<?php
symlink('uploads.php', 'uploads');

// Contraste a informação de uploads.php e uploads
array_diff(stat('uploads'), lstat('uploads'));
?>

O exemplo acima irá imprimir algo similar à:

Informação que diferece entre os dois arquivos:

Array
(
    [ino] => 97236376
    [mode] => 33188
    [size] => 34
    [atime] => 1223580003
    [mtime] => 1223581848
    [ctime] => 1223581848
    [blocks] => 8
)

Erros

Em caso de falha um E_WARNING será emitido.

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • stat() - Obtem informações sobre um arquivo


Cria um diretório

  • « lstat
  • move_uploaded_file »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Cria um diretório

mkdir

(PHP 4, PHP 5, PHP 7, PHP 8)

mkdir — Cria um diretório

Descrição

mkdir ( string $pathname , int $mode = ? , bool $recursive = ? , resource $context = ? ) : bool

Tenta criar o diretório especificado pelo caminho pathname.

Parâmetros

pathname

O caminho do diretório.

mode

O modo padrão é 0777, que significa o acesso mais abrangente possível. Para mais informações sobre os modos, leia os detalhes na página da chmod().

Nota:

O parâmetro mode é ignorado no Windows.

Note que você provavelmente quer especificar o mode como um número octal, o que significa que ele deve ter o zero inicial. O mode é também modificado pela umaks atual, que você pode mudar usando umask().

recursive

O padrão é false.

context

Nota: O suporte ao contexto foi adicionado no PHP 5.0.0. Para uma descrição de contextos, veja Streams.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.0.0 | O parâmetro recursive foi adicionado
5.0.0 | A partir do PHP 5.0.0, mkdir() também pode ser usada com alguns wrappers de URL. Veja em Protocolos e Wrappers suportados uma lista de quais wrappers suportam mkdir()
4.2.0 | O parâmetro mode tornou-se opcional.

Exemplos

Exemplo #1 Exemplo de mkdir()

<?php
mkdir("/path/to/my/dir", 0700);
?>

Notas

Nota: Quando o safe-mode está ativo, o PHP verifica se o diretório no qual o script está em operação tem o mesmo UID (proprietário) do script que está sendo executado.

Veja Também

  • rmdir() - Remove um diretório


Move um arquivo enviado para uma nova localização

  • « mkdir
  • parse_ini_file »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Move um arquivo enviado para uma nova localização

move_uploaded_file

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

move_uploaded_file — Move um arquivo enviado para uma nova localização

Descrição

move_uploaded_file ( string $filename , string $destination ) : bool

Esta função verifica para ter certeza de que o arquivo designado por filename é um arquivo de upload válido (que tenha sido enviado pelo mecanismo PHP de envio por POST HTTP). Se o arquivo for válido, ele será movido para o nome de arquivo dado por destination.

Este tipo de verificação é especialmente imporante se existir alguma change que qualquer coisa feita com os arquivos enviados possa revelar seu conteúdo ao usuário, ou mesmo para outros usuários no memo sistema.

Parâmetros

filename

O nome do arquivo enviado.

destination

O destino do arquivo movido.

Valor Retornado

Se filename não for um arquivo enviado válido, então nenhuma ação ocorrerá e move_uploaded_file() retornará false.

Se filename for um arquivo enviado válido, mas não puder ser movido por alguma razão, nenhuma ação ocorrerá e move_uploaded_file() retornará false. Adicionalmente, um alerta será emitido.

Notas

Nota:

move_uploaded_file() é afetado tanto por safe mode quanto por open_basedir. Entretanto, restrições são aplicadas apenas no caminho de destination para permitir que arquivos onde filename venha a conflitar com tais restrições possam ser movidos. move_uploaded_file() assegura a segurança desta operação permitindo que apenas arquivos carregados pelo PHP possam ser movidos.

Aviso

Se o arquivo de destino já existir, ele será sobrescrito.

Veja Também

  • is_uploaded_file() - Diz se o arquivo foi enviado por POST HTTP
  • Veja Gerenciar o upload de arquivos para um exemplo de uso simples


Interpreta um arquivo de configuração

  • « move_uploaded_file
  • parse_ini_string »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Interpreta um arquivo de configuração

parse_ini_file

(PHP 4, PHP 5, PHP 7, PHP 8)

parse_ini_file — Interpreta um arquivo de configuração

Descrição

parse_ini_file ( string $filename , bool $process_sections = ? ) : array

parse_ini_file() carrega o arquivo INI especificado em filename e retorna as configurações contidas nele em um array associativo.

A estrutura do arquivo INI é a mesma do php.ini.

Parâmetros

filename

O nome do arquivo INI sendo interpretado.

process_sections

Definindo o último parâmetro process_sections como true, você recupera um array multidimensional com o nome das seções e configurações inclusas. O padrão para process_sections é false

Valor Retornado

As configurações são retornadas como um array associativo.

Changelog

Versão | Descrição
5.2.4 | Chaves e nomes de seção que consistem de números, agora são interpretados como inteiros, de forma que números iniciados por 0 são interpretados como octais e números iniciados por 0x são interpretados como hexadecimais.
5.0.0 | Valores envolvidos em aspas duplas podem conter novas linhas.
4.2.1 | Esta função agora é afetada por safe mode e open_basedir.

Exemplos

Exemplo #1 Conteúdo de sample.ini

; Este é um arquivo de configuração de exemplo
; Comentários iniciam com ';', como no php.ini

[primeira_secao]
um = 1
cinco = 5
animal = PASSARO

[segunda_secao]
path = "/usr/local/bin"
URL = "http://www.example.com/~username"

Exemplo #2 Exemplo de parse_ini_file()

Constantes também podem ser interpretadas no arquivo INI, então se você definir uma constante como um valor INI antes de executar parse_ini_file(), ela será integrada ao resultado. Somente valores INI são avaliados. Por exemplo:

<?php

define('PASSARO', 'Pássaro Dodo');

// Interpreta sem as seções
$ini_array = parse_ini_file("sample.ini");
print_r($ini_array);

// Interpreta com as seções
$ini_array = parse_ini_file("sample.ini", true);
print_r($ini_array);

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [um] => 1
    [cinco] => 5
    [animal] => Pássaro Dodo
    [path] => /usr/local/bin
    [URL] => http://www.example.com/~username
)
Array
(
    [primeira_secao] => Array
        (
            [um] => 1
            [cinco] => 5
            [animal] = Dodo bird
        )

    [segunda_secao] => Array
        (
            [path] => /usr/local/bin
            [URL] => http://www.example.com/~username
        )

)

Notas

Nota:

Essa função não tem nada a ver com o arquivo php.ini. Ele já está processado no momento em que você executa seu script. Esta função pode ser usada para ler os arquivos de configuração da sua própria aplicação.

Nota:

Se um valor no arquivo INI tiver algum caractere não alfanumérico, ele precisará ser envolvido em aspas duplas (").

Nota: Existem algumas palavras reservadas que não podem ser usadas como chaves em arquivos INI. Elas incluem: null, yes, no, true e false. Valores null, no e false retornam como "", yes e true retormam como "1". Os caracteres {}|&~![()" não podem ser usados em lugar algum na chave e têm significado especial no valor.


Interpreta uma string de configuração

  • « parse_ini_file
  • pathinfo »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Interpreta uma string de configuração

parse_ini_string

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

parse_ini_string — Interpreta uma string de configuração

Descrição

parse_ini_string ( string $ini , bool $process_sections = false , int $scanner_mode = INI_SCANNER_NORMAL ) : array

parse_ini_string() retorna as configurações da string ini em um array associativo.

A estrutura da string INI é a mesma dos php.ini's.

Parâmetros

ini

O conteúdo do arquivo ini sendo interpretado.

process_sections

Definindo o último parâmetro process_sections como true, você recupera um array multidimensional com o nome das seções e configurações inclusas. O padrão para process_sections é false

scanner_mode

O parâmetro pode ser INI_SCANNER_NORMAL (default) ou INI_SCANNER_RAW. Se INI_SCANNER_RAW for fornecido, então os valores das opçoes não serão analisados.

A partir do PHP 5.6.1 também pode ser especificado INI_SCANNER_TYPED. Nesse modo os tipos boolean, null e inteiro são preservados quando possível. Valores string "true", "on" e "yes" são convertidos para true. "false", "off", "no" e "none" são considerados false. "null" é convertido para null no modo tipado. Além disso todas as strings numéricas são convertidas para inteiros, se possível.

Valor Retornado

As configurações são retornadas como um array associativo, se sucesso e false caso falhe.

Notas

Nota: Existem algumas palavras reservadas que não podem ser usadas como chaves em arquivos INI. Elas incluem: null, yes, no, true e false, on, off, none. Valores null, off, no e false retornam como "", e valores on, yes e true resultam em "1", a menos que o modo INI_SCANNER_TYPED seja usado. Os caracteres {}|&~![()" não podem ser usados em lugar algum na chave e têm significado especial no valor.

Veja Também

  • parse_ini_file() - Interpreta um arquivo de configuração


Retorna informações sobre um caminho de arquivo

  • « parse_ini_string
  • pclose »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Retorna informações sobre um caminho de arquivo

pathinfo

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

pathinfo — Retorna informações sobre um caminho de arquivo

Descrição

pathinfo ( string $path , int $options = ? ) : mixed

pathinfo() retorna um array associativo contendo inforamações sobre o caminho em path.

Parâmetros

path

O caminho sendo verificado.

options

Você pode especificar quais elementos são retornados com o parâmetro opcional options. Ele é composto de PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION e PATHINFO_FILENAME. O padrão é retornar todos os elementos.

Valor Retornado

Os seguintes elementos do array associativo são retornados: dirname, basename, extension (se alguma) e filename.

Se options for utilizada, esta função retornará uma string se todos os elementos não forem solicitados.

Changelog

Versão | Descrição
5.2.0 | A constante PATHINFO_FILENAME foi adicionada.

Exemplos

Exemplo #1 Exemplo de pathinfo()

<?php
$path_parts = pathinfo('/www/htdocs/index.html');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // desde o PHP 5.2.0
?>

O exemplo acima irá imprimir:

/www/htdocs
index.html
html
index

Notas

Nota:

Para informações de como resgatar informações do caminho atual, leia a seção de varíaveis reservadas pré-definidas.

Veja Também

  • dirname() - Retorna o caminho/path do diretório pai
  • basename() - Retorna apenas a parte que corresponde ao nome do arquivo de um caminho/path
  • parse_url() - Interpreta uma URL e retorna os seus componentes
  • realpath() - Retorna o path absoluto canonicalizado


Fecha um processo de um ponteiro de arquivo

  • « pathinfo
  • popen »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Fecha um processo de um ponteiro de arquivo

pclose

(PHP 4, PHP 5, PHP 7, PHP 8)

pclose — Fecha um processo de um ponteiro de arquivo

Descrição

pclose ( resource $handle ) : int

Fecha um ponteiro de arquivo a uma pipe aberta por popen().

Parâmetros

handle

O ponteiro de arquivo tem que ser válido e tem que ser retornado por uma chamada bem sucedida a função popen().

Valor Retornado

Retorna o status da finalização do processo que estava executando.

Veja Também

  • popen() - Abre um processo como ponteiro de arquivo


Abre um processo como ponteiro de arquivo

  • « pclose
  • readfile »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Abre um processo como ponteiro de arquivo

popen

(PHP 4, PHP 5, PHP 7, PHP 8)

popen — Abre um processo como ponteiro de arquivo

Descrição

popen ( string $command , string $mode ) : resource

Abre uma pipe para um processo executado ao se dar um fork para o comando dado por command.

Parâmetros

command

O comando

mode

O modo

Valor Retornado

Retorna um ponteiro de arquivo idêntico ao retornado por fopen(), exceto que ele é unidirecional (pode ser usado somente para leitura ou gravação) e tem que ser fechado com pclose(). Este ponteiro pode ser usado com fgets(), fgetss() e fwrite(). Quando o modo é 'r', o ponteiro de arquivo retornado é igual ao STDOUT do comando; quando o modo é 'w', o ponteiro de arquivo é igual ao STDIN do comando.

Se um erro ocorrer, retorna false.

Exemplos

Exemplo #1 Exemplo da popen()

<?php
$handle = popen("/bin/ls", "r");
?>

Se o comando a ser executado não for encontrado, um resource válido é retornado. Isso pode parecer estranho, mas tem sentido: permite que você acesse qualquer mensagem de erro retornado pelo sistema operacional.

Exemplo #2 Exemplo da popen()

<?php
error_reporting(E_ALL);

/* Add redirection so we can get stderr. */
$handle = popen('/path/to/executable 2>&1', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
?>

Notas

Nota:

Se você precisa de suporte bidirecional (dois caminhos), use proc_open().

Nota: When safe mode is enabled, you can only execute files within the safe_mode_exec_dir. For practical reasons, it is currently not allowed to have .. components in the path to the executable.

Aviso

With safe mode enabled, the command string is escaped with escapeshellcmd(). Thus, echo y | echo x becomes echo y \| echo x.

Veja Também

  • pclose() - Fecha um processo de um ponteiro de arquivo
  • fopen() - Abre um arquivo ou URL
  • proc_open() - Executa um comando e abre ponteiros para entrada e saída


Lê e exibe o conteúdo de um arquivo

  • « popen
  • readlink »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Lê e exibe o conteúdo de um arquivo

readfile

(PHP 4, PHP 5, PHP 7, PHP 8)

readfile — Lê e exibe o conteúdo de um arquivo

Descrição

readfile ( string $nomedoarquivo , bool $use_include_path = ? , resource $context = ? ) : int

Lê um arquivo e escreve o seu conteúdo para o buffer de saída (output buffer).

Parâmetros

filename

O nome do arquivo a ser lido.

use_include_path

Você pode usar o segundo parâmetro opcional e o configurar para true, se você quiser procurar o arquivo no include_path também.

context

A context stream resource.

Valor Retornado

Retorna o número de bytes lidos do arquivo. Se um erro ocorrer, false é retornado a menos que a função seja chamada com @readfile(), um erro é imprimido.

Notas

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Nota: O suporte ao contexto foi adicionado no PHP 5.0.0. Para uma descrição de contextos, veja Streams.

Veja Também

  • fpassthru() - Imprime todo os dados restantes de um ponteiro de arquivo
  • file() - Lê todo o arquivo para um array
  • fopen() - Abre um arquivo ou URL
  • include - include
  • require - require
  • virtual() - Realiza uma sub-requisição Apache
  • file_get_contents() - Lê todo o conteúdo de um arquivo para uma string
  • Protocolos e Wrappers suportados


Retornar o alvo de um link simbólico

  • « readfile
  • realpath_cache_get »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Retornar o alvo de um link simbólico

readlink

(PHP 4, PHP 5, PHP 7, PHP 8)

readlink — Retornar o alvo de um link simbólico

Descrição

readlink ( string $path ) : string

readlink() faz o mesmo que a função do C.

Parâmetros

path

O caminho para o link simbólico.

Changelog

Versão | Descrição
5.3.0 | Esta função fica disponível na plataforma Windows (Vista, Server 2008 e superiores).

Valor Retornado

Retorna o conteúdo do caminho do link simbólico ou false em erro.

Exemplos

Exemplo #1 Exemplo de readlink()

<?php

// Exibe algo como /boot/vmlinux-2.4.20-xfs
echo readlink('/vmlinuz');

?>

Veja Também

  • is_link() - Diz se o arquivo é um link simbólico (symbolic link)
  • symlink() - Cria um link simbólico
  • linkinfo() - Ler informações sobre um link


Obter entradas de cache do caminho absoluto

  • « readlink
  • realpath_cache_size »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Obter entradas de cache do caminho absoluto

realpath_cache_get

(PHP 5 >= 5.3.2, PHP 7, PHP 8)

realpath_cache_get — Obter entradas de cache do caminho absoluto

Descrição

realpath_cache_get ( ) : array

Obtém o conteúdo do cache do caminho absoluto.

Valor Retornado

Retorna um array com as entradas do caminho absoluto. As chaves são o caminho absoluto, e os valores são arrays de informações dos dados, contendo o caminho absoluto, data de expiração, e outras informações mantidas no cache.

Exemplos

Exemplo #1 realpath_cache_get() exemplo

<?php
var_dump(realpath_cache_get());
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["/test"]=>
  array(4) {
    ["key"]=>
    int(123456789)
    ["is_dir"]=>
    bool(true)
    ["realpath"]=>
    string(5) "/test"
    ["expires"]=>
    int(1260318939)
  }
  ["/test/test.php"]=>
  array(4) {
    ["key"]=>
    int(987654321)
    ["is_dir"]=>
    bool(false)
    ["realpath"]=>
    string(12) "/root/test.php"
    ["expires"]=>
    int(1260318939)
  }
}

Veja Também

  • realpath_cache_size() - Obter o tamanho do cache do caminho absoluto


Obter o tamanho do cache do caminho absoluto

  • « realpath_cache_get
  • realpath »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Obter o tamanho do cache do caminho absoluto

realpath_cache_size

(PHP 5 >= 5.3.2, PHP 7, PHP 8)

realpath_cache_size — Obter o tamanho do cache do caminho absoluto

Descrição

realpath_cache_size ( ) : int

Obtém a quantidade de memória utilizada pelo cache do caminho absoluto.

Valor Retornado

Retorna quanta memória o cache do caminho absoluto está utilizando.

Exemplos

Exemplo #1 Exemplo de realpath_cache_size()

<?php
var_dump(realpath_cache_size());
?>

O exemplo acima irá imprimir algo similar à:

int(412)

Veja Também

  • realpath_cache_get() - Obter entradas de cache do caminho absoluto
  • As opções de configurações de realpath_cache_size


Retorna o path absoluto canonicalizado

  • « realpath_cache_size
  • rename »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Retorna o path absoluto canonicalizado

realpath

(PHP 4, PHP 5, PHP 7, PHP 8)

realpath — Retorna o path absoluto canonicalizado

Descrição

realpath ( string $path ) : string

realpath() expande todos os links simbólicos e resolve referências para '/./', '/../' e extra caracteres '/' na entrada pelo path, e retorna o path absoluto canonicalizado.

Parâmetros

path

O caminho a ser verificado.

Valor Retornado

Retorna o path absoluto em sucesso. O path resultante não conterá nenhum link simbólico ou componentes '/./' e '/../'.

realpath() retorna false em caso de falha, por exemplo, se o caminho não existir. Em sistemas BSD realpath() não falha se somente o último componente do path não existe, quando em outro sistema irá retornar false.

Exemplos

Exemplo #1 Exemplo da realpath()

<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd');
?>

O exemplo acima irá imprimir:

/etc/passwd

Exemplo #2 realpath() em Windows

Em Windows, realpath() modificará o estilo unix de diretórios para o estilo Windows.

<?php
echo realpath('/windows/system32');
?>

O exemplo acima irá imprimir:

C:\WINDOWS\System32

Veja Também

  • basename() - Retorna apenas a parte que corresponde ao nome do arquivo de um caminho/path
  • dirname() - Retorna o caminho/path do diretório pai
  • pathinfo() - Retorna informações sobre um caminho de arquivo


Renomeia um arquivo ou diretório

  • « realpath
  • rewind »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Renomeia um arquivo ou diretório

rename

(PHP 4, PHP 5, PHP 7, PHP 8)

rename — Renomeia um arquivo ou diretório

Descrição

rename ( string $oldname , string $newname , resource $context = ? ) : bool

Tenta renomear oldname para newname, movendo entre diretórios se necessário. se newname existe ele será sobrescrito.

Parâmetros

oldname

Nota:

O nome antigo. O wrapper usado em oldname precisa combinar com o wrapper usado em newname.

newname

O novo nome.

context

Nota: O suporte ao contexto foi adicionado no PHP 5.0.0. Para uma descrição de contextos, veja Streams.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.3.1 | rename() agora consegue mover arquivos entre drivers do Windows.
5.0.0 | rename() pode agora também ser usada com algum URL wrappers. Consulte Protocolos e Wrappers suportados para uma lista de wrappers que rename() suporta.
4.3.3 | rename() agora pode renomear arquivos de diferente partições em sistemas baseados em *nix, desde que as permissões possam ser preservadas. Warnings são emitidos se o filesytem destino não permite chamadas chown() ou chmod() nos arquivos — por exemplo, se a destinação é um filesystem FAT.

Exemplos

Exemplo #1 Exemplo da rename()

<?php
rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");
?>

Veja Também

  • copy() - Copia arquivo
  • unlink() - Apaga um arquivo
  • move_uploaded_file() - Move um arquivo enviado para uma nova localização


Reinicializa a posição do ponteiro de arquivos para o início

  • « rename
  • rmdir »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Reinicializa a posição do ponteiro de arquivos para o início

rewind

(PHP 4, PHP 5, PHP 7, PHP 8)

rewind — Reinicializa a posição do ponteiro de arquivos para o início

Descrição

rewind ( resource $handle ) : bool

Muda o indicador de ponteiro de arquivo handle para o início do stream do arquivo.

Nota:

Se você abriu arquivo no modo append ("a" ou "a+"), qualquer informação que você escrever para o arquivo será sempre adicionada, desconsiderando a posição no arquivo.

Parâmetros

handle

O ponteiro de arquivo tem que ser válido e tem que apontar para um arquivo aberto com sucesso por fopen().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fseek() - Procura (seeks) em um ponteiro de arquivo
  • ftell() - Retorna a posição de leitura/gravação do ponteiro do arquivo


Remove um diretório

  • « rewind
  • set_file_buffer »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Remove um diretório

rmdir

(PHP 4, PHP 5, PHP 7, PHP 8)

rmdir — Remove um diretório

Descrição

rmdir ( string $dirname , resource $context = ? ) : bool

Tenta remover o diretório com o nome de dirname. O diretório tem que estar vazio e as permissões relevantes autorizarem a esta operação.

Parâmetros

dirname

Caminho para o diretório.

context

Nota: O suporte ao contexto foi adicionado no PHP 5.0.0. Para uma descrição de contextos, veja Streams.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.0.0 | No PHP 5.0.0 rmdir() pode também ser usada com alguns URL wrappers. Consulte Protocolos e Wrappers suportados para uma listagem de wrappers suportados pela rmdir().

Notas

Nota: Quando o safe-mode está ativo, o PHP verifica se o diretório no qual o script está em operação tem o mesmo UID (proprietário) do script que está sendo executado.

Veja Também

  • mkdir() - Cria um diretório
  • unlink() - Apaga um arquivo


Sinônimo de stream_set_write_buffer

  • « rmdir
  • stat »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Sinônimo de stream_set_write_buffer

set_file_buffer

(PHP 4, PHP 5, PHP 7, PHP 8)

set_file_buffer — Sinônimo de stream_set_write_buffer()

Descrição

Esta função é um apelido para: stream_set_write_buffer().


Obtem informações sobre um arquivo

  • « set_file_buffer
  • symlink »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Obtem informações sobre um arquivo

stat

(PHP 4, PHP 5, PHP 7, PHP 8)

stat — Obtem informações sobre um arquivo

Descrição

stat ( string $filename ) : array

Coleta estatísticas do arquivo informado em filename. Se filename for um link simbólico, estatísticas serão do próprio arquivo, não do link.

lstat() é idêntica a stat() exceto que ela foi baseada no status de links simbólicos.

Parâmetros

filename

Caminho para o arquivo.

Valor Retornado

Formato de retorno de stat() e fstat()
Índice Numérico | Índice Associativo (desde o PHP 4.0.6) | Descrição
0 | dev | número do dispositivo
1 | ino | número do inode
2 | mode | modo de proteção do inode
3 | nlink | número de links
4 | uid | userid do proprietário
5 | gid | groupid do proprietário
6 | rdev | tipo de dispositivo
7 | size | tamanho em bytes
8 | atime | hora do último acesso (Unix timestamp)
9 | mtime | hora da última modificação (Unix timestamp)
10 | ctime | hora da última modificação do inode (Unix timestamp)
11 | blksize | tamanho do bloco no sistema de arquivos
12 | blocks | número de blocos alocados
* Somente válido em sistemas suportando o tipo st_blksize - outros sistemas (e.g. Windows) retorna -1.

Em caso de erro, stat() retorna false.

Erros

Em caso de falha, um E_WARNING é emitido.

Changelog

Versão | Descrição
4.0.6 | Além de retornar estes atributos em um array numérico, eles podem ser acessados com índices associativos, como notado para cada parâmetro

Notas

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Protocolos e Wrappers suportados para uma lista de quais wrappers são suportados pela família de funções stat().

Veja Também

  • lstat() - Obtém informações sobre um arquivo ou link simbólico
  • fstat() - Lê informações sobre um arquivo usando um ponteiro de arquivo aberto
  • filemtime() - Obtém o tempo de modificação do arquivo
  • filegroup() - Lê o grupo do arquivo


Cria um link simbólico

  • « stat
  • tempnam »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Cria um link simbólico

symlink

(PHP 4, PHP 5, PHP 7, PHP 8)

symlink — Cria um link simbólico

Descrição

symlink ( string $alvo , string $link ) : bool

symlink() cria um link simbólico do alvo existente com o nome especificado em link.

Parâmetros

target

Alvo do link.

link

O nome do link.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota: esta função não é implementada na plataforma Windows

Veja Também

  • link() - Criando um hard link para criar links físicos
  • readlink() - Retornar o alvo de um link simbólico de acordo com linkinfo() - Ler informações sobre um link


Cria um nome de arquivo único

  • « symlink
  • tmpfile »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Cria um nome de arquivo único

tempnam

(PHP 4, PHP 5, PHP 7, PHP 8)

tempnam — Cria um nome de arquivo único

Descrição

tempnam ( string $dir , string $prefix ) : string

Cria um arquivo, com permissão de acesso definida para 0600, no diretório especificado. Se o diretório não existe, tempnam() pode gerar o nome de arquivo no diretório temporário do sistema. Retorna o nome gerado.

Parâmetros

dir

O diretório onde o arquivo temporário será criado.

prefix

O prefixo do nome do arquivo temporário gerado.

Valor Retornado

Retorna o novo nome do arquivo temporário, ou false em falha.

Changelog

Versão | Descrição
4.0.6 | Antes do PHP 4.0.6 o comportamento da função tempnam() era dependente do sistema. No Windows a váriavel de ambiente do sistema TMP irá sobreescrever o parâmetro dir; no Linux a váriavel de ambiente TMPDIR tem precedência, enquanto SVR4 irá sempre usar o parâmetro dir se o diretório para o qual ele aponta existe. Consulte a documentação do seu sistema para a função tempnam(3) na dúvida.
4.0.3 | O comportamento desta função mudou na versão 4.0.3. O arquivo temporário é também criado para evitar uma condição de corrida (race) onde o arquivo pode aparecer no filesystem entre o tempo que a string foi gerada e antes que o script tem tempo para criar o arquivo. Note que você precisa remover o arquivo caso não vá mais utilizá-lo, pois isso não é feito automaticamente.

Exemplos

Exemplo #1 Exemplo da tempnam()

<?php
$tmpfname = tempnam ("/tmp", "FOO");

$handle = fopen($tmpfname, "w");
fwrite($handle, "writing to tempfile");
fclose($handle);

// fazer alguma coisa

unlink($tmpfname);
?>

Notas

Nota: Se o PHP não conseguir criar um arquivo informado em dir, deve ser por causa de um erro no default do sistema.

Veja Também

  • tmpfile() - Cria um arquivo temporário
  • sys_get_temp_dir() - Returns directory path used for temporary files
  • unlink() - Apaga um arquivo


Cria um arquivo temporário

  • « tempnam
  • touch »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Cria um arquivo temporário

tmpfile

(PHP 4, PHP 5, PHP 7, PHP 8)

tmpfile — Cria um arquivo temporário

Descrição

tmpfile ( ) : resource

Cria um arquivo temporário com um nome único em modo de leitura-gravação (w+) e retorna o manipulador do arquivo.

O arquivo é automaticamente removido quando ele é fechado (por exemplo, ao chamar fclose(), ou quando não há mais referências para o manipulador do arquivo retornado por tmpfile()), ou quando o script finalizar.

Para detalhes, consulte a documentação do seu sistema para a função tmpfile(3), assim como o header stdio.h.

Valor Retornado

Retorna o manipulador de arquivo, similar ao que é retornado por fopen(), para o novo arquivo ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da tmpfile()

<?php
$temp = tmpfile();
fwrite($temp, "escrevendo no arquivo temporario");
fseek($temp, 0);
echo fread($temp, 1024);
fclose($temp); // isto remove o arquivo
?>

O exemplo acima irá imprimir:

writing to tempfile

Veja Também

  • tempnam() - Cria um nome de arquivo único
  • sys_get_temp_dir() - Returns directory path used for temporary files


Muda o tempo de modificação do arquivo

  • « tmpfile
  • umask »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Muda o tempo de modificação do arquivo

touch

(PHP 4, PHP 5, PHP 7, PHP 8)

touch — Muda o tempo de modificação do arquivo

Descrição

touch ( string $filename , int $time = ? , int $atime = ? ) : bool

Tenta mudar o tempo de acesso e modificação do arquivo filename para o valor informado em time. Note que a data/hora do último acesso do arquivo sempre é alterado, independentemente do número de parâmetros.

Se o arquivo não existe, ele será criado.

Parâmetros

filename

O nome do arquivo a ser atualizado.

time

Hora da atualização. Se time não é fornecido, o tempo atual do sistema é usado.

atime

Se informado, o tempo do acesso do dado arquivo é definido para o valor de atime

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da função touch()

<?php
if (touch ($nomedoarquivo)) {
    print "o tempo do $nomedoarquivo foi modificado para o dia e hora atual";
} else {
    print "Desculpe, não foi possivel modificar o tempo de $nomedoarquivo";
}
?>

Notas

Aviso

Não é atualmente possível modificar a hora de modificação de um diretório com esta função no Windows.


Modificar a umask atual

  • « touch
  • unlink »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Modificar a umask atual

umask

(PHP 4, PHP 5, PHP 7, PHP 8)

umask — Modificar a umask atual

Descrição

umask ( int $mask = ? ) : int

umask() modifica o umask do PHP para a mask & 0777 e retorna o umask antigo. Quando o PHP está sendo usado como um módulo de servidor, o umask é restaurado ao final de cada requisição.

Parâmetros

mask

A nova máscara.

Valor Retornado

umask() sem argumentos simplesmente retorna o umask atual, caso contrário a umask antiga é retornada.

Exemplos

Exemplo #1 Exemplo da umask()

<?php
$umaskAntigo = umask(0);
chmod("/caminho/diretorio/arquivo.txt", 0755);
umask($umaskAntigo);

// Checking
if ($umaskAntigo != umask()) {
    die('Ocorreu um erro ao voltar para o umask antigo');
}
?>

Notas

Nota:

Evite usar esta função em servidores web multithreaded. É melhor modificar as permissões do arquivo com chmod() depois de criar o arquivo. Usando umask() pode levar a comportamento inesperado de scripts executados concorrentemente e do próprio webserver porque todos eles usam a mesma umask.


Apaga um arquivo

  • « umask
  • Inotify »
  • PHP Manual
  • Funções para Sistema de arquivo
  • Apaga um arquivo

unlink

(PHP 4, PHP 5, PHP 7, PHP 8)

unlink — Apaga um arquivo

Descrição

unlink ( string $filename , resource $context = ? ) : int

Deleta filename. Similar a função do C no Unix unlink().

Parâmetros

filename

Caminho para o arquivo.

context

Nota: O suporte ao contexto foi adicionado no PHP 5.0.0. Para uma descrição de contextos, veja Streams.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.0.0 | No PHP 5.0.0 unlink() pode também ser usada com alguns URL wrappers. Consulte Protocolos e Wrappers suportados para uma listagem de wrappers que são suportados na unlink().

Veja Também

  • rmdir() - Remove um diretório for removing directories


Inotify

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação/Configuração
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Inotify Funções
    • inotify_add_watch — Add a watch to an initialized inotify instance
    • inotify_init — Initialize an inotify instance
    • inotify_queue_len — Return a number upper than zero if there are pending events
    • inotify_read — Read events from an inotify instance
    • inotify_rm_watch — Remove an existing watch from an inotify instance


Introdução

The inotify extension exposes the inotify functions inotify_init(), inotify_add_watch() and inotify_rm_watch().

As the C inotify_init() function returns a file descriptor, PHP's inotify_init() returns a stream resource, usable with standard stream functions, like stream_select(), stream_set_blocking() and fclose(). inotify_read() replaces the C way of reading inotify events.


Instalação/Configuração

Índice

  • Dependências
  • Instalação/Configuração
  • Configurações em Execução
  • Tipos de Recurso


  • « Instalação/Configuração
  • Instalação/Configuração »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

This extension requires Linux 2.6.13 or newer, and a recent libC.


Instalação/Configuração

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/inotify.


  • « Instalação/Configuração
  • Tipos de Recurso »
  • PHP Manual
  • Instalação/Configuração
  • Configurações em Execução

Configurações em Execução

Esta extensão não possui diretivas de configuração definíveis no php.ini.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

This extension defines a stream resource returned by inotify_init().


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Inotify constants usable with inotify_add_watch() and/or returned by inotify_read()
IN_ACCESS (int)
File was accessed (read) (*)
IN_MODIFY (int)
File was modified (*)
IN_ATTRIB (int)
Metadata changed (e.g. permissions, mtime, etc.) (*)
IN_CLOSE_WRITE (int)
File opened for writing was closed (*)
IN_CLOSE_NOWRITE (int)
File not opened for writing was closed (*)
IN_OPEN (int)
File was opened (*)
IN_MOVED_TO (int)
File moved into watched directory (*)
IN_MOVED_FROM (int)
File moved out of watched directory (*)
IN_CREATE (int)
File or directory created in watched directory (*)
IN_DELETE (int)
File or directory deleted in watched directory (*)
IN_DELETE_SELF (int)
Watched file or directory was deleted
IN_MOVE_SELF (int)
Watch file or directory was moved
IN_CLOSE (int)
Equals to IN_CLOSE_WRITE | IN_CLOSE_NOWRITE
IN_MOVE (int)
Equals to IN_MOVED_FROM | IN_MOVED_TO
IN_ALL_EVENTS (int)
Bitmask of all the above constants
IN_UNMOUNT (int)
File system containing watched object was unmounted
IN_Q_OVERFLOW (int)
Event queue overflowed (wd is -1 for this event)
IN_IGNORED (int)
Watch was removed (explicitly by inotify_rm_watch() or because file was removed or filesystem unmounted
IN_ISDIR (int)
Subject of this event is a directory
IN_ONLYDIR (int)
Only watch pathname if it is a directory (Since Linux 2.6.15)
IN_DONT_FOLLOW (int)
Do not dereference pathname if it is a symlink (Since Linux 2.6.15)
IN_MASK_ADD (int)
Add events to watch mask for this pathname if it already exists (instead of replacing mask).
IN_ONESHOT (int)
Monitor pathname for one event, then remove from watch list.

Nota: The events marked with an asterisk (*) above can occur for files in watched directories.


Inotify Funções

Índice

  • inotify_add_watch — Add a watch to an initialized inotify instance
  • inotify_init — Initialize an inotify instance
  • inotify_queue_len — Return a number upper than zero if there are pending events
  • inotify_read — Read events from an inotify instance
  • inotify_rm_watch — Remove an existing watch from an inotify instance


Add a watch to an initialized inotify instance

  • « Inotify Funções
  • inotify_init »
  • PHP Manual
  • Inotify Funções
  • Add a watch to an initialized inotify instance

inotify_add_watch

(PECL inotify >= 0.1.2)

inotify_add_watch — Add a watch to an initialized inotify instance

Descrição

inotify_add_watch ( resource $inotify_instance , string $pathname , int $mask ) : int

inotify_add_watch() adds a new watch or modify an existing watch for the file or directory specified in pathname.

Using inotify_add_watch() on a watched object replaces the existing watch. Using the IN_MASK_ADD constant adds (OR) events to the existing watch.

Parâmetros

inotify_instance

Um resource retornado por inotify_init()

pathname

File or directory to watch

mask

Events to watch for. See Constantes Pré-definidas.

Valor Retornado

The return value is a unique (inotify instance wide) watch descriptor.

Veja Também

  • inotify_init() - Initialize an inotify instance


Initialize an inotify instance

  • « inotify_add_watch
  • inotify_queue_len »
  • PHP Manual
  • Inotify Funções
  • Initialize an inotify instance

inotify_init

(PECL inotify >= 0.1.2)

inotify_init — Initialize an inotify instance

Descrição

inotify_init ( ) : resource

Initialize an inotify instance for use with inotify_add_watch()

Valor Retornado

A stream resource or false on error.

Exemplos

Exemplo #1 Example usage of inotify

<?php
// Open an inotify instance
$fd = inotify_init();

// Watch __FILE__ for metadata changes (e.g. mtime)
$watch_descriptor = inotify_add_watch($fd, __FILE__, IN_ATTRIB);

// generate an event
touch(__FILE__);

// Read events
$events = inotify_read($fd);
print_r($events);

// The following methods allows to use inotify functions without blocking on inotify_read():

// - Using stream_select() on $fd:
$read = array($fd);
$write = null;
$except = null;
stream_select($read,$write,$except,0);

// - Using stream_set_blocking() on $fd
stream_set_blocking($fd, 0);
inotify_read($fd); // Does no block, and return false if no events are pending

// - Using inotify_queue_len() to check if event queue is not empty
$queue_len = inotify_queue_len($fd); // If > 0, inotify_read() will not block

// Stop watching __FILE__ for metadata changes
inotify_rm_watch($fd, $watch_descriptor);

// Close the inotify instance
// This may have closed all watches if this was not already done
fclose($fd);

?>

O exemplo acima irá imprimir algo similar à:

array(
  array(
    'wd' => 1,     // Equals $watch_descriptor
    'mask' => 4,   // IN_ATTRIB bit is set
    'cookie' => 0, // unique id to connect related events (e.g.
                   // IN_MOVE_FROM and IN_MOVE_TO events)
    'name' => '',  // the name of a file (e.g. if we monitored changes
                   // in a directory)
  ),
);

Veja Também

  • inotify_add_watch() - Add a watch to an initialized inotify instance
  • inotify_rm_watch() - Remove an existing watch from an inotify instance
  • inotify_queue_len() - Return a number upper than zero if there are pending events
  • inotify_read() - Read events from an inotify instance
  • fclose() - Fecha um ponteiro de arquivo aberto


Return a number upper than zero if there are pending events

  • « inotify_init
  • inotify_read »
  • PHP Manual
  • Inotify Funções
  • Return a number upper than zero if there are pending events

inotify_queue_len

(PECL inotify >= 0.1.2)

inotify_queue_len — Return a number upper than zero if there are pending events

Descrição

inotify_queue_len ( resource $inotify_instance ) : int

This function allows to know if inotify_read() will block or not. If a number upper than zero is returned, there are pending events and inotify_read() will not block.

Parâmetros

inotify_instance

Um resource retornado por inotify_init()

Valor Retornado

Returns a number upper than zero if there are pending events.

Veja Também

  • inotify_init() - Initialize an inotify instance
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream


Read events from an inotify instance

  • « inotify_queue_len
  • inotify_rm_watch »
  • PHP Manual
  • Inotify Funções
  • Read events from an inotify instance

inotify_read

(PECL inotify >= 0.1.2)

inotify_read — Read events from an inotify instance

Descrição

inotify_read ( resource $inotify_instance ) : array

Read inotify events from an inotify instance.

Parâmetros

inotify_instance

Um resource retornado por inotify_init()

Valor Retornado

An array of inotify events or false if no events was pending and inotify_instance is non-blocking. Each event is an array with the following keys:

  • wd is a watch descriptor returned by inotify_add_watch()
  • mask is a bit mask of events
  • cookie is a unique id to connect related events (e.g. IN_MOVE_FROM and IN_MOVE_TO)
  • name is the name of a file (e.g. if a file was modified in a watched directory)

Veja Também

  • inotify_init() - Initialize an inotify instance
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • inotify_queue_len() - Return a number upper than zero if there are pending events


Remove an existing watch from an inotify instance

  • « inotify_read
  • Proctitle »
  • PHP Manual
  • Inotify Funções
  • Remove an existing watch from an inotify instance

inotify_rm_watch

(PECL inotify >= 0.1.2)

inotify_rm_watch — Remove an existing watch from an inotify instance

Descrição

inotify_rm_watch ( resource $inotify_instance , int $watch_descriptor ) : bool

inotify_rm_watch() removes the watch watch_descriptor from the inotify instance inotify_instance.

Parâmetros

inotify_instance

Um resource retornado por inotify_init()

watch_descriptor

Watch to remove from the instance

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • inotify_init() - Initialize an inotify instance


Proctitle

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Proctitle Funções
    • setproctitle — Set the process title
    • setthreadtitle — Set the thread title


Introdução

This extension allows changing the current process', and thread, name on Linux and *BSD systems. This is useful when using pcntl_fork() to identify running processes in process list


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

Nothing special.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/proctitle.


  • « Tipos de Recurso
  • Proctitle Funções »
  • PHP Manual
  • Proctitle
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Proctitle Funções

Índice

  • setproctitle — Set the process title
  • setthreadtitle — Set the thread title


Set the process title

  • « Proctitle Funções
  • setthreadtitle »
  • PHP Manual
  • Proctitle Funções
  • Set the process title

setproctitle

(PECL proctitle >= 0.1.0)

setproctitle — Set the process title

Descrição

setproctitle ( string $title ) : void

Sets the process title of the current process.

Parâmetros

title

The title to use as the process title.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 setproctitle() example

Running the example below will change the process title (visible with ps a for example).

<?php
setproctitle("myscript");
?>

O exemplo acima irá imprimir algo similar à:

$ ps a
  PID TTY      STAT   TIME COMMAND
 1168 pts/3    S      0:00 myscript

Veja Também

  • cli_set_process_title() - Sets the process title
  • pcntl_fork() - Forks the currently running process
  • setthreadtitle() - Set the thread title


Set the thread title

  • « setproctitle
  • xattr »
  • PHP Manual
  • Proctitle Funções
  • Set the thread title

setthreadtitle

(PECL proctitle >= 0.1.2)

setthreadtitle — Set the thread title

Descrição

setthreadtitle ( string $title ) : bool

Sets the thread title.

Parâmetros

title

The title to use as the thread title.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 setthreadtitle() example

Running the example below will change the thread title (visible with ps c for example).

<?php
setthreadtitle("myscript");
?>

O exemplo acima irá imprimir algo similar à:

$ ps c
  PID TTY      STAT   TIME COMMAND
 1178 pts/3    S      0:00 myscript

Veja Também

  • pcntl_fork() - Forks the currently running process
  • setproctitle() - Set the process title


xattr

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções da xattr
    • xattr_get — Retorna um atributo extendido
    • xattr_list — Retorna uma lista dos atributos extendidos
    • xattr_remove — Remove um atributo extendido
    • xattr_set — Edita um atributo extendido
    • xattr_supported — Checa se o sistema de arquivos suporta atributos extendidos.


Introdução

A extensão xattr permite a manipulação de atributos extendidos em um sistema de arquivos.


Dependências

Para usar xattr, você precisará ter a biblioteca libattr instalada no seu sistema. Ela está disponível em » http://savannah.nongnu.org/projects/attr/.

Nota:

Essas funções só funcionarão em sistemas de arquivos que suportam atributos extendidos, e os quais tenham esses atributos habilitados no momento da montagem. Alguns sistemas de arquivos que suportam atributos extendidos são ext2, ext3, reiserfs, jfs, e xfs.


Instalação

xattr está atualmente disponível através da PECL » https://pecl.php.net/package/xattr.

Se » PEAR estiver disponível no seu sistema *nix-like (Linux, BSDs, etc), você pode usar o instalador do PEAR para instalar a extensão xattr, pelo seguinte comando: pear -v install xattr.

Você sempre pode baixar o pacote tar.gz e instalar o xatter manualmente:

Exemplo #1 Instalação manuao do xattr

gunzip xattr-xxx.tgz
tar -xvf xattr-xxx.tar
cd xattr-xxx
phpize
./configure && make && make install


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

XATTR_ROOT (integer)
Edita atributo no namespace do administrador. Requer privilégios de root.
XATTR_DONTFOLLOW (integer)
Não segue o link simbólico mas opera no link em si.
XATTR_CREATE (integer)
Função falhará se o atributo extendido já existir.
XATTR_REPLACE (integer)
Função falhará se atributo extendido não existir.


Funções da xattr

Índice

  • xattr_get — Retorna um atributo extendido
  • xattr_list — Retorna uma lista dos atributos extendidos
  • xattr_remove — Remove um atributo extendido
  • xattr_set — Edita um atributo extendido
  • xattr_supported — Checa se o sistema de arquivos suporta atributos extendidos.


Retorna um atributo extendido

  • « Funções da xattr
  • xattr_list »
  • PHP Manual
  • Funções da xattr
  • Retorna um atributo extendido

xattr_get

(PECL xattr >= 0.9.0)

xattr_get — Retorna um atributo extendido

Descrição

xattr_get ( string $filename , string $name , int $flags = ? ) : string

Essa função retorna o valor de um atributo extendido de um arquivo.

Atributos estendidos tem dois namespaces diferentes: usuário e root. O namespace de usuário esta disponível para todos os usuários enquanto o namespace de root esta disponível apenas para o usuario com privilégios de root. xattr opera no namespace de usuário por padrão, mas você pode mudar isso usando o argumento flags.

Parâmetros

filename

O arquivo do qual será pego o atributo.

name

O nome do atributo.

flags

Opções (flags) suportadas por xattr
XATTR_DONTFOLLOW | Não segue o link simbólico mas opera no link em si.
XATTR_ROOT | Edita o atributo no namespace do administrador. Requer privilégios de root.

Valor Retornado

Retorna uma string contento o valor ou false se o atributo não existir.

Exemplos

Exemplo #1 Checa se o adminitrador dos sistema assinou o arquivo

<?php
$file = '/usr/local/sbin/some_binary';
$signature = xattr_get($file, 'Root signature', XATTR_ROOT);

/* ... checa se $signature é válida ... */

?>

Veja Também

  • xattr_list() - Retorna uma lista dos atributos extendidos
  • xattr_set() - Edita um atributo extendido
  • xattr_remove() - Remove um atributo extendido


Retorna uma lista dos atributos extendidos

  • « xattr_get
  • xattr_remove »
  • PHP Manual
  • Funções da xattr
  • Retorna uma lista dos atributos extendidos

xattr_list

(PECL xattr >= 0.9.0)

xattr_list — Retorna uma lista dos atributos extendidos

Descrição

xattr_list ( string $filename , int $flags = ? ) : array

Essa função retorna uma lista de nomes dos atributos extendidos de um arquivo.

Atributos estendidos tem dois namespaces diferentes: usuário e root. O namespace de usuário esta disponível para todos os usuários enquanto o namespace de root esta disponível apenas para o usuario com privilégios de root. xattr opera no namespace de usuário por padrão, mas você pode mudar isso usando o argumento flags.

Parâmetros

filename

O caminho do arquivo.

flags

Opções (flags) suportadas por xattr
XATTR_DONTFOLLOW | Não segue o link simbólico mas opera no link em si.
XATTR_ROOT | Trabalho no namespace do adminitrador. Requer privilégios de root.

Valor Retornado

Essa função retorna um array com os nomes do atributos extendidos.

Exemplos

Exemplo #1 Imprime o nome de todos os atributos extendidos do arquivo

<?php
$arquivo = 'algum_arquivo';
$atributos_de_root = xattr_list($arquivo, XATTR_ROOT);
$atributos_de_usuario = xattr_list($arquivo);

echo "Atributos de Root: \n";
foreach ($atributos_de_usuario as $nome_do_atributo) {
    printf("%s\n", $nome_do_atributo);
}

echo "\nAtributos de Usuário: \n";
foreach ($atributos_de_usuario as $nome_do_atributo) {
    printf("%s\n", $nome_do_atributo);
}

?>

Veja Também

  • xattr_get() - Retorna um atributo extendido


Remove um atributo extendido

  • « xattr_list
  • xattr_set »
  • PHP Manual
  • Funções da xattr
  • Remove um atributo extendido

xattr_remove

(PECL xattr >= 0.9.0)

xattr_remove — Remove um atributo extendido

Descrição

xattr_remove ( string $filename , string $name , int $flags = ? ) : bool

Essa função remove um atributo extendido de um arquivo.

Atributos estendidos tem dois namespaces diferentes: usuário e root. O namespace de usuário esta disponível para todos os usuários enquanto o namespace de root esta disponível apenas para o usuario com privilégios de root. xattr opera no namespace de usuário por padrão, mas você pode mudar isso usando o argumento flags.

Parâmetros

filename

O arquivo do qual será removido o atributo.

name

O nome do atributo a ser removido.

flags

Opções (flags) Suportadas por xattr
XATTR_DONTFOLLOW | Não segue o link simbólico mas opera no link simbólico em si.
XATTR_ROOT | Muda no namespace para o namespace de root. Requer privilégio de administrador (root).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Remove todos os atributos extendidos de um arquivo

<?php
$arquivo = 'algum_arquivo';
$atributos = xattr_list($arquivo);

foreach ($atributos as $nome_do_atributo) {
    xattr_remove($arquivo, $nome_do_atributo);
}
?>

Veja Também

  • xattr_list() - Retorna uma lista dos atributos extendidos
  • xattr_set() - Edita um atributo extendido
  • xattr_get() - Retorna um atributo extendido


Edita um atributo extendido

  • « xattr_remove
  • xattr_supported »
  • PHP Manual
  • Funções da xattr
  • Edita um atributo extendido

xattr_set

(PECL xattr >= 0.9.0)

xattr_set — Edita um atributo extendido

Descrição

xattr_set ( string $filename , string $name , string $value , int $flags = ? ) : bool

Essa função edita o valor de um atributo extendido de um arquivo.

Atributos estendidos tem dois namespaces diferentes: usuário e root. O namespace de usuário esta disponível para todos os usuários enquanto o namespace de root esta disponível apenas para o usuario com privilégios de root. xattr opera no namespace de usuário por padrão, mas você pode mudar isso usando o argumento flags.

Parâmetros

filename

O arquivo no qual o atributo será editado.

name

O nome do atributo extendido. Esse atributo será criado se não existir ou substituído caso contrário. Você pode mudar esse comportamento usando o parâmetro flags.

value

O valor do atributo.

flags

Opções (flags) Suportadas por xattr
XATTR_CREATE | Função falhará se o atributo extendido já existir.
XATTR_REPLACE | Função falhará se atributo extendido não existir.
XATTR_DONTFOLLOW | Não segue o link simbólico mas opera no link em si.
XATTR_ROOT | Edita atributo no namespace do administrador. Requer privilégios de root.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Edita atributos extendidos em um arquivo .wav

<?php
$arquivo = 'minha_música_favorita.wav';
xattr_set($arquivo, 'Artista', 'Alguém');
xattr_set($arquivo, 'Minha avaliação', 'Boa');
xattr_set($arquivo, 'Escutei quantas vezes', '34');

/* ... outro código ... */

printf("Você ouviu essa música %d vezes", xattr_get($arquivo, 'Escutei quantas vezes'));
?>

Veja Também

  • xattr_get() - Retorna um atributo extendido
  • xattr_remove() - Remove um atributo extendido


Checa se o sistema de arquivos suporta atributos extendidos.

  • « xattr_set
  • xdiff »
  • PHP Manual
  • Funções da xattr
  • Checa se o sistema de arquivos suporta atributos extendidos.

xattr_supported

(PECL xattr >= 1.0.0)

xattr_supported — Checa se o sistema de arquivos suporta atributos extendidos.

Descrição

xattr_supported ( string $filename , int $flags = ? ) : bool

Essa função checa se o sistema de arquivos que guarda o arquivo passado por parâmetro suporta atributos extendidos. Permissão de leitura ao arquivo é necessária.

Parâmetros

filename

Caminho para o arquivo testado.

flags

Opções (Flags) Suportadas por xattr
XATTR_DONTFOLLOW Não segue o link simbólico mas opera no link em si.

Valor Retornado

Essa função retorna true se o sistema de arquivos suporta atributos extendidos, false se não suporta e null se não poder ser determinado (por exemplo caminho incorreto ou falta de permissão de leitura para o arquivo).

Exemplos

Exemplo #1 Exemplo de chamada de xattr_supported()

O código a seguir checa se pode usar atributos extendidos.

<?php
$arquivo = "algum_arquivo";

if (xattr_supported($arquivo)) {
    /* ... Aproveite e use as outras funções xattr_* ... */
}

?>

Veja Também

  • xattr_get() - Retorna um atributo extendido
  • xattr_list() - Retorna uma lista dos atributos extendidos


xdiff

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • xdiff Funções
    • xdiff_file_bdiff_size — Read a size of file created by applying a binary diff
    • xdiff_file_bdiff — Make binary diff of two files
    • xdiff_file_bpatch — Patch a file with a binary diff
    • xdiff_file_diff_binary — Alias of xdiff_file_bdiff
    • xdiff_file_diff — Make unified diff of two files
    • xdiff_file_merge3 — Merge 3 files into one
    • xdiff_file_patch_binary — Alias of xdiff_file_bpatch
    • xdiff_file_patch — Patch a file with an unified diff
    • xdiff_file_rabdiff — Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm
    • xdiff_string_bdiff_size — Read a size of file created by applying a binary diff
    • xdiff_string_bdiff — Make binary diff of two strings
    • xdiff_string_bpatch — Patch a string with a binary diff
    • xdiff_string_diff_binary — Alias of xdiff_string_bdiff
    • xdiff_string_diff — Make unified diff of two strings
    • xdiff_string_merge3 — Merge 3 strings into one
    • xdiff_string_patch_binary — Alias of xdiff_string_bpatch
    • xdiff_string_patch — Patch a string with an unified diff
    • xdiff_string_rabdiff — Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm


Introdução

xdiff extension enables you to create and apply patch files containing differences between different revisions of files.

This extension supports two modes of operation - on strings and on files, as well as two different patch formats - unified and binary. Unified patches are excellent for text files as they are human-readable and easy to review. For binary files like archives or images, binary patches will be adequate choice as they are binary safe and handle non-printable characters well.

Starting from version 1.5.0 there are two different sets of functions for generating binary patches. New functions - xdiff_string_rabdiff() and xdiff_file_rabdiff() generate output compatible with older functions but are typically faster and generate smaller results. For more details about methods of generating binary patches and differences between them, please check » libxdiff website.

This extension uses libxdiff to implement these functions. Please see » http://www.xmailserver.org/xdiff-lib.html for more information.


Dependências

To use xdiff, you will need libxdiff installed, available on the libxdiff homepage » http://www.xmailserver.org/xdiff-lib.html.

Nota:

You'll need at least libxdiff 0.7 for these functions to be aware of memory_limit.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/xdiff.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

XDIFF_PATCH_NORMAL (int)
This flag indicates that xdiff_string_patch() and xdiff_file_patch() functions should create result by applying patch to original content thus creating newer version of file. This is the default mode of operation.
XDIFF_PATCH_REVERSE (int)
This flag indicated that xdiff_string_patch() and xdiff_file_patch() functions should create result by reversing patch changed from newer content thus creating original version.


xdiff Funções

Índice

  • xdiff_file_bdiff_size — Read a size of file created by applying a binary diff
  • xdiff_file_bdiff — Make binary diff of two files
  • xdiff_file_bpatch — Patch a file with a binary diff
  • xdiff_file_diff_binary — Alias of xdiff_file_bdiff
  • xdiff_file_diff — Make unified diff of two files
  • xdiff_file_merge3 — Merge 3 files into one
  • xdiff_file_patch_binary — Alias of xdiff_file_bpatch
  • xdiff_file_patch — Patch a file with an unified diff
  • xdiff_file_rabdiff — Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm
  • xdiff_string_bdiff_size — Read a size of file created by applying a binary diff
  • xdiff_string_bdiff — Make binary diff of two strings
  • xdiff_string_bpatch — Patch a string with a binary diff
  • xdiff_string_diff_binary — Alias of xdiff_string_bdiff
  • xdiff_string_diff — Make unified diff of two strings
  • xdiff_string_merge3 — Merge 3 strings into one
  • xdiff_string_patch_binary — Alias of xdiff_string_bpatch
  • xdiff_string_patch — Patch a string with an unified diff
  • xdiff_string_rabdiff — Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm


Read a size of file created by applying a binary diff

  • « xdiff Funções
  • xdiff_file_bdiff »
  • PHP Manual
  • xdiff Funções
  • Read a size of file created by applying a binary diff

xdiff_file_bdiff_size

(PECL xdiff >= 1.5.0)

xdiff_file_bdiff_size — Read a size of file created by applying a binary diff

Descrição

xdiff_file_bdiff_size ( string $file ) : int

Returns a size of a result file that would be created after applying binary patch from file file to the original file.

Parâmetros

file

The path to the binary patch created by xdiff_string_bdiff() or xdiff_string_rabdiff() function.

Valor Retornado

Returns the size of file that would be created.

Exemplos

Exemplo #1 xdiff_file_bdiff_size() example

The following code applies reads a size of file that would be created after applying a binary diff.

<?php
$length = xdiff_string_bdiff_size('file.bdiff');
echo "Resulting file will be $length bytes long";
?>

Veja Também

  • xdiff_file_bdiff() - Make binary diff of two files
  • xdiff_file_rabdiff() - Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm
  • xdiff_file_bpatch() - Patch a file with a binary diff


Make binary diff of two files

  • « xdiff_file_bdiff_size
  • xdiff_file_bpatch »
  • PHP Manual
  • xdiff Funções
  • Make binary diff of two files

xdiff_file_bdiff

(PECL xdiff >= 1.5.0)

xdiff_file_bdiff — Make binary diff of two files

Descrição

xdiff_file_bdiff ( string $old_file , string $new_file , string $dest ) : bool

Makes a binary diff of two files and stores the result in a patch file. This function works with both text and binary files. Resulting patch file can be later applied using xdiff_file_bpatch()/xdiff_string_bpatch().

Parâmetros

old_file

Path to the first file. This file acts as "old" file.

new_file

Path to the second file. This file acts as "new" file.

dest

Path of the resulting patch file. Resulting file contains differences between "old" and "new" files. It is in binary format and is human-unreadable.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 xdiff_file_bdiff() example

The following code makes binary diff of two archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_bdiff($old_version, $new_version, 'my_script.bdiff');
?>

Notas

Nota:

Both files will be loaded into memory so ensure that your memory_limit is set high enough.

Veja Também

  • xdiff_file_bpatch() - Patch a file with a binary diff


Patch a file with a binary diff

  • « xdiff_file_bdiff
  • xdiff_file_diff_binary »
  • PHP Manual
  • xdiff Funções
  • Patch a file with a binary diff

xdiff_file_bpatch

(PECL xdiff >= 1.5.0)

xdiff_file_bpatch — Patch a file with a binary diff

Descrição

xdiff_file_bpatch ( string $file , string $patch , string $dest ) : bool

Patches a file with a binary patch and stores the result in a file dest. This function accepts patches created both via xdiff_file_bdiff() and xdiff_file_rabdiff() functions or their string counterparts.

Parâmetros

file

The original file.

patch

The binary patch file.

dest

Path of the resulting file.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 xdiff_file_bpatch() example

The following code applies binary diff to a file.

<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';

$result = xdiff_file_bpatch($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
   echo "File patched";
} else {
   echo "File couldn't be patched";
}

?>

Notas

Nota:

Both files (file and patch) will be loaded into memory so ensure that your memory_limit is set high enough.

Veja Também

  • xdiff_file_bdiff() - Make binary diff of two files
  • xdiff_file_rabdiff() - Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm


Alias of xdiff_file_bdiff

  • « xdiff_file_bpatch
  • xdiff_file_diff »
  • PHP Manual
  • xdiff Funções
  • Alias of xdiff_file_bdiff

xdiff_file_diff_binary

(PECL xdiff >= 0.2.0)

xdiff_file_diff_binary — Alias of xdiff_file_bdiff

Descrição

xdiff_file_diff_binary ( string $old_file , string $new_file , string $dest ) : bool

Makes a binary diff of two files and stores the result in a patch file. This function works with both text and binary files. Resulting patch file can be later applied using xdiff_file_bpatch().

Starting with version 1.5.0 this function is an alias of xdiff_file_bdiff().

Parâmetros

old_file

Path to the first file. This file acts as "old" file.

new_file

Path to the second file. This file acts as "new" file.

dest

Path of the resulting patch file. Resulting file contains differences between "old" and "new" files. It is in binary format and is human-unreadable.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 xdiff_file_diff_binary() example

The following code makes binary diff of two archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_diff_binary($old_version, $new_version, 'my_script.bdiff');
?>

Notas

Nota:

Both files will be loaded into memory so ensure that your memory_limit is set high enough.

Veja Também

  • xdiff_file_bdiff() - Make binary diff of two files
  • xdiff_file_bpatch() - Patch a file with a binary diff


Make unified diff of two files

  • « xdiff_file_diff_binary
  • xdiff_file_merge3 »
  • PHP Manual
  • xdiff Funções
  • Make unified diff of two files

xdiff_file_diff

(PECL xdiff >= 0.2.0)

xdiff_file_diff — Make unified diff of two files

Descrição

xdiff_file_diff ( string $old_file , string $new_file , string $dest , int $context = 3 , bool $minimal = false ) : bool

Makes an unified diff containing differences between old_file and new_file and stores it in dest file. The resulting file is human-readable. An optional context parameter specifies how many lines of context should be added around each change. Setting minimal parameter to true will result in outputting the shortest patch file possible (can take a long time).

Parâmetros

old_file

Path to the first file. This file acts as "old" file.

new_file

Path to the second file. This file acts as "new" file.

dest

Path of the resulting patch file.

context

Indicates how many lines of context you want to include in diff result.

minimal

Set this parameter to true if you want to minimalize size of the result (can take a long time).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 xdiff_file_diff() example

The following code makes unified diff of two php files with context length of 2.

<?php
$old_version = 'my_script.php';
$new_version = 'my_new_script.php';

xdiff_file_diff($old_version, $new_version, 'my_script.diff', 2);
?>

Notas

Nota:

This function doesn't work well with binary files. To make diff of binary files use xdiff_file_bdiff()/xdiff_file_rabdiff() function.

Veja Também

  • xdiff_file_patch() - Patch a file with an unified diff


Merge 3 files into one

  • « xdiff_file_diff
  • xdiff_file_patch_binary »
  • PHP Manual
  • xdiff Funções
  • Merge 3 files into one

xdiff_file_merge3

(PECL xdiff >= 0.2.0)

xdiff_file_merge3 — Merge 3 files into one

Descrição

xdiff_file_merge3 ( string $old_file , string $new_file1 , string $new_file2 , string $dest ) : mixed

Merges three files into one and stores the result in a file dest. The old_file is an original version while new_file1 and new_file2 are modified versions of an original.

Parâmetros

old_file

Path to the first file. It acts as "old" file.

new_file1

Path to the second file. It acts as modified version of old_file.

new_file2

Path to the third file. It acts as modified version of old_file.

dest

Path of the resulting file, containing merged changed from both new_file1 and new_file2.

Valor Retornado

Returns true if merge was successful, string with rejected chunks if it was not or false if an internal error happened.

Exemplos

Exemplo #1 xdiff_file_merge3() example

The following code merges three files into one.

<?php
$old_version = 'original_script.php';
$fix1 = 'script_with_fix1.php';
$fix2 = 'script_with_fix2.php';

$errors = xdiff_file_merge3($old_version, $fix1, $fix2, 'fixed_script.php');
if (is_string($errors)) {
    echo "Rejects:\n";
    echo $errors;
}
?>

Veja Também

  • xdiff_string_merge3() - Merge 3 strings into one


Alias of xdiff_file_bpatch

  • « xdiff_file_merge3
  • xdiff_file_patch »
  • PHP Manual
  • xdiff Funções
  • Alias of xdiff_file_bpatch

xdiff_file_patch_binary

(PECL xdiff >= 0.2.0)

xdiff_file_patch_binary — Alias of xdiff_file_bpatch

Descrição

xdiff_file_patch_binary ( string $file , string $patch , string $dest ) : bool

Patches a file with a binary patch and stores the result in a file dest. This function accepts patches created both via xdiff_file_bdiff() or xdiff_file_rabdiff() functions or their string counterparts.

Starting with version 1.5.0 this function is an alias of xdiff_file_bpatch().

Parâmetros

file

The original file.

patch

The binary patch file.

dest

Path of the resulting file.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 xdiff_file_patch_binary() example

The following code applies binary diff to a file.

<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';

$result = xdiff_file_patch_binary($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
   echo "File patched";
} else {
   echo "File couldn't be patched";
}

?>

Notas

Nota:

Both files (file and patch) will be loaded into memory so ensure that your memory_limit is set high enough.

Veja Também

  • xdiff_string_patch_binary() - Alias of xdiff_string_bpatch


Patch a file with an unified diff

  • « xdiff_file_patch_binary
  • xdiff_file_rabdiff »
  • PHP Manual
  • xdiff Funções
  • Patch a file with an unified diff

xdiff_file_patch

(PECL xdiff >= 0.2.0)

xdiff_file_patch — Patch a file with an unified diff

Descrição

xdiff_file_patch ( string $file , string $patch , string $dest , int $flags = DIFF_PATCH_NORMAL ) : mixed

Patches a file with a patch and stores the result in a file. patch has to be an unified diff created by xdiff_file_diff()/xdiff_string_diff() function. An optional flags parameter specifies mode of operation.

Parâmetros

file

The original file.

patch

The unified patch file. It has to be created using xdiff_string_diff(), xdiff_file_diff() functions or compatible tools.

dest

Path of the resulting file.

flags

Can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch).

Starting from version 1.5.0, you can also use binary OR to enable XDIFF_PATCH_IGNORESPACE flag.

Valor Retornado

Returns false if an internal error happened, string with rejected chunks if patch couldn't be applied or true if patch has been successfully applied.

Exemplos

Exemplo #1 xdiff_file_patch() example

The following code applies unified diff to a file.

<?php
$old_version = 'my_script-1.0.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($old_version, $patch, 'my_script-1.1.php');
if (is_string($errors)) {
   echo "Rejects:\n";
   echo $errors;
}

?>

Exemplo #2 Patch reversing example

The following code reverses a patch.

<?php
$new_version = 'my_script-1.1.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($new_version, $patch, 'my_script-1.0.php', XDIFF_PATCH_REVERSE);
if (is_string($errors)) {
   echo "Rejects:\n";
   echo $errors;
}

?>

Veja Também

  • xdiff_file_diff() - Make unified diff of two files


Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm

  • « xdiff_file_patch
  • xdiff_string_bdiff_size »
  • PHP Manual
  • xdiff Funções
  • Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm

xdiff_file_rabdiff

(PECL xdiff >= 1.5.0)

xdiff_file_rabdiff — Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm

Descrição

xdiff_file_rabdiff ( string $old_file , string $new_file , string $dest ) : bool

Makes a binary diff of two files and stores the result in a patch file. The difference between this function and xdiff_file_bdiff() is different algorithm used which should result in faster execution and smaller diff produced. This function works with both text and binary files. Resulting patch file can be later applied using xdiff_file_bpatch()/xdiff_string_bpatch().

For more details about differences between algorithm used please check » libxdiff website.

Parâmetros

old_file

Path to the first file. This file acts as "old" file.

new_file

Path to the second file. This file acts as "new" file.

dest

Path of the resulting patch file. Resulting file contains differences between "old" and "new" files. It is in binary format and is human-unreadable.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 xdiff_file_rabdiff() example

The following code makes binary diff of two archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_rabdiff($old_version, $new_version, 'my_script.bdiff');
?>

Notas

Nota:

Both files will be loaded into memory so ensure that your memory_limit is set high enough.

Veja Também

  • xdiff_file_bpatch() - Patch a file with a binary diff


Read a size of file created by applying a binary diff

  • « xdiff_file_rabdiff
  • xdiff_string_bdiff »
  • PHP Manual
  • xdiff Funções
  • Read a size of file created by applying a binary diff

xdiff_string_bdiff_size

(PECL xdiff >= 1.5.0)

xdiff_string_bdiff_size — Read a size of file created by applying a binary diff

Descrição

xdiff_string_bdiff_size ( string $patch ) : int

Returns a size of a result file that would be created after applying binary patch to the original file.

Parâmetros

patch

The binary patch created by xdiff_string_bdiff() or xdiff_string_rabdiff() function.

Valor Retornado

Returns the size of file that would be created.

Exemplos

Exemplo #1 xdiff_string_bdiff_size() example

The following code applies reads a size of file that would be created after applying a binary diff.

<?php
$binary_patch = file_get_contents('file.bdiff');
$length = xdiff_string_bdiff_size($binary_patch);
echo "Resulting file will be $length bytes long";
?>

Veja Também

  • xdiff_string_bdiff() - Make binary diff of two strings
  • xdiff_string_rabdiff() - Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm
  • xdiff_string_bpatch() - Patch a string with a binary diff


Make binary diff of two strings

  • « xdiff_string_bdiff_size
  • xdiff_string_bpatch »
  • PHP Manual
  • xdiff Funções
  • Make binary diff of two strings

xdiff_string_bdiff

(PECL xdiff >= 1.5.0)

xdiff_string_bdiff — Make binary diff of two strings

Descrição

xdiff_string_bdiff ( string $old_data , string $new_data ) : string

Makes a binary diff of two strings and returns the result. This function works with both text and binary data. Resulting patch can be later applied using xdiff_string_bpatch()/xdiff_file_bpatch().

Parâmetros

old_data

First string with binary data. It acts as "old" data.

new_data

Second string with binary data. It acts as "new" data.

Valor Retornado

Returns string with binary diff containing differences between "old" and "new" data or false if an internal error occurred.

Veja Também

  • xdiff_string_bpatch() - Patch a string with a binary diff


Patch a string with a binary diff

  • « xdiff_string_bdiff
  • xdiff_string_diff_binary »
  • PHP Manual
  • xdiff Funções
  • Patch a string with a binary diff

xdiff_string_bpatch

(PECL xdiff >= 1.5.0)

xdiff_string_bpatch — Patch a string with a binary diff

Descrição

xdiff_string_bpatch ( string $str , string $patch ) : string

Patches a string str with a binary patch. This function accepts patches created both via xdiff_string_bdiff() and xdiff_string_rabdiff() functions or their file counterparts.

Parâmetros

str

The original binary string.

patch

The binary patch string.

Valor Retornado

Returns the patched string, or false on error.

Veja Também

  • xdiff_string_bdiff() - Make binary diff of two strings
  • xdiff_string_rabdiff() - Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm


Alias of xdiff_string_bdiff

  • « xdiff_string_bpatch
  • xdiff_string_diff »
  • PHP Manual
  • xdiff Funções
  • Alias of xdiff_string_bdiff

xdiff_string_diff_binary

(PECL xdiff >= 0.2.0)

xdiff_string_diff_binary — Alias of xdiff_string_bdiff

Descrição

xdiff_string_bdiff ( string $old_data , string $new_data ) : string

Makes a binary diff of two strings and returns the result. This function works with both text and binary data. Resulting patch can be later applied using xdiff_string_bpatch()/xdiff_file_bpatch().

Starting with version 1.5.0 this function is an alias of xdiff_string_bdiff().

Parâmetros

old_data

First string with binary data. It acts as "old" data.

new_data

Second string with binary data. It acts as "new" data.

Valor Retornado

Returns string with result or false if an internal error happened.

Veja Também

  • xdiff_string_bdiff() - Make binary diff of two strings
  • xdiff_string_bpatch() - Patch a string with a binary diff


Make unified diff of two strings

  • « xdiff_string_diff_binary
  • xdiff_string_merge3 »
  • PHP Manual
  • xdiff Funções
  • Make unified diff of two strings

xdiff_string_diff

(PECL xdiff >= 0.2.0)

xdiff_string_diff — Make unified diff of two strings

Descrição

xdiff_string_diff ( string $old_data , string $new_data , int $context = 3 , bool $minimal = false ) : string

Makes an unified diff containing differences between old_data string and new_data string and returns it. The resulting diff is human-readable. An optional context parameter specifies how many lines of context should be added around each change. Setting minimal parameter to true will result in outputting the shortest patch file possible (can take a long time).

Parâmetros

old_data

First string with data. It acts as "old" data.

new_data

Second string with data. It acts as "new" data.

context

Indicates how many lines of context you want to include in the diff result.

minimal

Set this parameter to true if you want to minimalize the size of the result (can take a long time).

Valor Retornado

Returns string with resulting diff or false if an internal error happened.

Exemplos

Exemplo #1 xdiff_string_diff() example

The following code makes unified diff of two articles.

<?php
$old_article = file_get_contents('./old_article.txt');
$new_article = $_REQUEST['article']; /* Let's say that someone pasted a new article to html form */

$diff = xdiff_string_diff($old_article, $new_article, 1);
if (is_string($diff)) {
    echo "Differences between two articles:\n";
    echo $diff;
}

?>

Notas

Nota:

This function doesn't work well with binary strings. To make diff of binary strings use xdiff_string_bdiff()/xdiff_string_rabdiff().

Veja Também

  • xdiff_string_patch() - Patch a string with an unified diff


Merge 3 strings into one

  • « xdiff_string_diff
  • xdiff_string_patch_binary »
  • PHP Manual
  • xdiff Funções
  • Merge 3 strings into one

xdiff_string_merge3

(PECL xdiff >= 0.2.0)

xdiff_string_merge3 — Merge 3 strings into one

Descrição

xdiff_string_merge3 ( string $old_data , string $new_data1 , string $new_data2 , string &$error = ? ) : mixed

Merges three strings into one and returns the result. The old_data is an original version of data while new_data1 and new_data2 are modified versions of an original. An optional error is used to pass any rejected parts during merging process.

Parâmetros

old_data

First string with data. It acts as "old" data.

new_data1

Second string with data. It acts as modified version of old_data.

new_data2

Third string with data. It acts as modified version of old_data.

error

If provided then rejected parts are stored inside this variable.

Valor Retornado

Returns the merged string, false if an internal error happened, or true if merged string is empty.

Veja Também

  • xdiff_file_merge3() - Merge 3 files into one


Alias of xdiff_string_bpatch

  • « xdiff_string_merge3
  • xdiff_string_patch »
  • PHP Manual
  • xdiff Funções
  • Alias of xdiff_string_bpatch

xdiff_string_patch_binary

(PECL xdiff >= 0.2.0)

xdiff_string_patch_binary — Alias of xdiff_string_bpatch

Descrição

xdiff_string_patch_binary ( string $str , string $patch ) : string

Patches a string str with a binary patch. This function accepts patches created both via xdiff_string_bdiff() and xdiff_string_rabdiff() functions or their file counterparts.

Starting with version 1.5.0 this function is an alias of xdiff_string_bpatch().

Parâmetros

str

The original binary string.

patch

The binary patch string.

Valor Retornado

Returns the patched string, or false on error.

Veja Também

  • xdiff_string_bpatch() - Patch a string with a binary diff
  • xdiff_string_bdiff() - Make binary diff of two strings
  • xdiff_string_rabdiff() - Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm


Patch a string with an unified diff

  • « xdiff_string_patch_binary
  • xdiff_string_rabdiff »
  • PHP Manual
  • xdiff Funções
  • Patch a string with an unified diff

xdiff_string_patch

(PECL xdiff >= 0.2.0)

xdiff_string_patch — Patch a string with an unified diff

Descrição

xdiff_string_patch ( string $str , string $patch , int $flags = ? , string &$error = ? ) : string

Patches a str string with an unified patch in patch parameter and returns the result. patch has to be an unified diff created by xdiff_file_diff()/xdiff_string_diff() function. An optional flags parameter specifies mode of operation. Any rejected parts of the patch will be stored inside error variable if it is provided.

Parâmetros

str

The original string.

patch

The unified patch string. It has to be created using xdiff_string_diff(), xdiff_file_diff() functions or compatible tools.

flags

flags can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch).

Starting from version 1.5.0, you can also use binary OR to enable XDIFF_PATCH_IGNORESPACE flag.

error

If provided then rejected parts are stored inside this variable.

Valor Retornado

Returns the patched string, or false on error.

Exemplos

Exemplo #1 xdiff_string_patch() example

The following code applies changes to some article.

<?php
$old_article = file_get_contents('./old_article.txt');
$diff = $_SERVER['patch']; /* Let's say that someone pasted a patch to html form */

$errors = '';

$new_article = xdiff_string_patch($old_article, $diff, XDIFF_PATCH_NORMAL, $errors);
if (is_string($new_article)) {
    echo "New article:\n";
    echo $new_article;
}

if (strlen($errors)) {
    echo "Rejects: \n";
    echo $errors;
}

?>

Veja Também

  • xdiff_string_diff() - Make unified diff of two strings


Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm

  • « xdiff_string_patch
  • Linguagem Humana e Suporte a Codificação de Caracteres »
  • PHP Manual
  • xdiff Funções
  • Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm

xdiff_string_rabdiff

(PECL xdiff >= 1.5.0)

xdiff_string_rabdiff — Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm

Descrição

xdiff_string_bdiff ( string $old_data , string $new_data ) : string

Makes a binary diff of two strings and returns the result. The difference between this function and xdiff_string_bdiff() is different algorithm used which should result in faster execution and smaller diff produced. This function works with both text and binary data. Resulting patch can be later applied using xdiff_string_bpatch()/xdiff_file_bpatch().

For more details about differences between algorithm used please check » libxdiff website.

Parâmetros

old_data

First string with binary data. It acts as "old" data.

new_data

Second string with binary data. It acts as "new" data.

Valor Retornado

Returns string with binary diff containing differences between "old" and "new" data or false if an internal error occurred.

Veja Também

  • xdiff_string_bpatch() - Patch a string with a binary diff


Linguagem Humana e Suporte a Codificação de Caracteres

  • Enchant — Enchant spelling library
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Enchant Funções
    • EnchantBroker — The EnchantBroker class
    • EnchantDictionary — The EnchantDictionary class
  • Gender — Determine gender of firstnames
    • Introdução
    • Instalação/Configuração
    • Exemplos
    • Gender\Gender — The Gender\Gender class
  • Gettext
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções da Gettext
  • iconv
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • iconv Funções
  • intl — Internationalization Functions
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Collator — The Collator class
    • NumberFormatter — The NumberFormatter class
    • Locale — The Locale class
    • Normalizer — The Normalizer class
    • MessageFormatter — The MessageFormatter class
    • IntlCalendar — The IntlCalendar class
    • IntlGregorianCalendar — The IntlGregorianCalendar class
    • IntlTimeZone — The IntlTimeZone class
    • IntlDateFormatter — The IntlDateFormatter class
    • ResourceBundle — The ResourceBundle class
    • Spoofchecker — The Spoofchecker class
    • Transliterator — The Transliterator class
    • IntlBreakIterator — The IntlBreakIterator class
    • IntlRuleBasedBreakIterator — The IntlRuleBasedBreakIterator class
    • IntlCodePointBreakIterator — The IntlCodePointBreakIterator class
    • IntlPartsIterator — The IntlPartsIterator class
    • UConverter — The UConverter class
    • Grapheme Funções
    • IDN Funções
    • IntlChar
    • IntlException — Exception class for intl errors
    • IntlIterator — A classe IntlIterator
    • intl Funções
  • Multibyte String
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Summaries of supported encodings
    • Noções Básicas de Codificações Multibyte Japonesas
    • HTTP Input and Output
    • Supported Character Encodings
    • Function Overloading Feature
    • PHP Character Encoding Requirements
    • Multibyte String Funções
  • Pspell
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Pspell Funções
  • Recode — GNU Recode
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Recode Funções


Enchant spelling library

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Enchant Funções
    • enchant_broker_describe — Enumerates the Enchant providers
    • enchant_broker_dict_exists — Whether a dictionary exists or not. Using non-empty tag
    • enchant_broker_free_dict — Free a dictionary resource
    • enchant_broker_free — Free the broker resource and its dictionaries
    • enchant_broker_get_dict_path — Get the directory path for a given backend
    • enchant_broker_get_error — Returns the last error of the broker
    • enchant_broker_init — Create a new broker object capable of requesting
    • enchant_broker_list_dicts — Returns a list of available dictionaries
    • enchant_broker_request_dict — Create a new dictionary using a tag
    • enchant_broker_request_pwl_dict — Creates a dictionary using a PWL file
    • enchant_broker_set_dict_path — Set the directory path for a given backend
    • enchant_broker_set_ordering — Declares a preference of dictionaries to use for the language
    • enchant_dict_add_to_personal — Sinônimo de enchant_dict_add
    • enchant_dict_add_to_session — Add 'word' to this spell-checking session
    • enchant_dict_add — Add a word to personal word list
    • enchant_dict_check — Check whether a word is correctly spelled or not
    • enchant_dict_describe — Describes an individual dictionary
    • enchant_dict_get_error — Returns the last error of the current spelling-session
    • enchant_dict_is_added — Whether or not 'word' exists in this spelling-session
    • enchant_dict_is_in_session — Sinônimo de enchant_dict_is_added
    • enchant_dict_quick_check — Check the word is correctly spelled and provide suggestions
    • enchant_dict_store_replacement — Add a correction for a word
    • enchant_dict_suggest — Will return a list of values if any of those pre-conditions are not met
  • EnchantBroker — The EnchantBroker class
  • EnchantDictionary — The EnchantDictionary class


Introdução

Enchant is the PHP binding for the » Enchant library. Enchant steps in to provide uniformity and conformity on top of all spelling libraries, and implement certain features that may be lacking in any individual provider library. Everything should "just work" for any and every definition of "just working."

Enchant supports the following backends:

  • Aspell/Pspell (intends to replace Ispell)

  • Ispell (old as sin, could be interpreted as a defacto standard)

  • MySpell/Hunspell (an OOo projects, also used by Mozilla)

  • Uspell (primarily Yiddish, Hebrew, and Eastern European languages - hosted in AbiWord's CVS under the module "uspell")

  • Hspell (Hebrew)

  • AppleSpell (Mac OSX)


Dependências

This version uses the functions of the » Enchant library by Dom Lachowicz. You need Enchant 1.2.4 or later. Enchant 2.0.0 or later is only supported as of PHP 8.0.0.

Enchant also requires » Glib 2.6 or greater. Pre-compiled Windows libraries are available from » http://ftp.gnome.org/pub/gnome/binaries/win32/glib/.


Instalação

This extension is bundled with PHP as of PHP 5.3.0. Before this time, enchant was a PECL extension. Users of versions prior to 5.3.0 may use the » PECL extension.

Provided the required libraries are installed, users of PHP 5.3.0 or later may enable enchant by adding the --with-enchant[=dir] option when compiling PHP.


Tipos de Recurso

Prior to PHP 8.0.0, there are two types of resources in this extension. The first one is the broker (backends manager) and the second is for the dictionary.


Constantes pré-definidas

LIBENCHANT_VERSION (string)
The version of libenchant. Available as of PHP 8.0.0.
ENCHANT_MYSPELL (int)
Dictionary type for MySpell. Used with enchant_broker_get_dict_path() and enchant_broker_set_dict_path(). Deprecated as of PHP 8.0.0.
ENCHANT_ISPELL (int)
Dictionary type for Ispell. Used with enchant_broker_get_dict_path() and enchant_broker_set_dict_path(). Deprecated as of PHP 8.0.0.


Exemplos

Exemplo #1 Enchant Usage Example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Current broker provides the following backend(s):\n";
print_r($bprovides);

$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);
    $dprovides = enchant_dict_describe($d);
    echo "dictionary $tag provides:\n";
    $wordcorrect = enchant_dict_check($d, "soong");
    print_r($dprovides);
    if (!$wordcorrect) {
        $suggs = enchant_dict_suggest($d, "soong");
        echo "Suggestions for 'soong':";
        print_r($suggs);
    }
    enchant_broker_free_dict($d);
} else {
}
enchant_broker_free($r);
?>


Enchant Funções

Índice

  • enchant_broker_describe — Enumerates the Enchant providers
  • enchant_broker_dict_exists — Whether a dictionary exists or not. Using non-empty tag
  • enchant_broker_free_dict — Free a dictionary resource
  • enchant_broker_free — Free the broker resource and its dictionaries
  • enchant_broker_get_dict_path — Get the directory path for a given backend
  • enchant_broker_get_error — Returns the last error of the broker
  • enchant_broker_init — Create a new broker object capable of requesting
  • enchant_broker_list_dicts — Returns a list of available dictionaries
  • enchant_broker_request_dict — Create a new dictionary using a tag
  • enchant_broker_request_pwl_dict — Creates a dictionary using a PWL file
  • enchant_broker_set_dict_path — Set the directory path for a given backend
  • enchant_broker_set_ordering — Declares a preference of dictionaries to use for the language
  • enchant_dict_add_to_personal — Sinônimo de enchant_dict_add
  • enchant_dict_add_to_session — Add 'word' to this spell-checking session
  • enchant_dict_add — Add a word to personal word list
  • enchant_dict_check — Check whether a word is correctly spelled or not
  • enchant_dict_describe — Describes an individual dictionary
  • enchant_dict_get_error — Returns the last error of the current spelling-session
  • enchant_dict_is_added — Whether or not 'word' exists in this spelling-session
  • enchant_dict_is_in_session — Sinônimo de enchant_dict_is_added
  • enchant_dict_quick_check — Check the word is correctly spelled and provide suggestions
  • enchant_dict_store_replacement — Add a correction for a word
  • enchant_dict_suggest — Will return a list of values if any of those pre-conditions are not met


Enumerates the Enchant providers

  • « Enchant Funções
  • enchant_broker_dict_exists »
  • PHP Manual
  • Enchant Funções
  • Enumerates the Enchant providers

enchant_broker_describe

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0)

enchant_broker_describe — Enumerates the Enchant providers

Descrição

enchant_broker_describe ( EnchantBroker $broker ) : array

Enumerates the Enchant providers and tells you some rudimentary information about them. The same info is provided through phpinfo().

Parâmetros

broker

An Enchant broker returned by enchant_broker_init().

Valor Retornado

Returns an array of available Enchant providers with their details.

Changelog

Versão | Descrição
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
8.0.0 | Prior to this version, the function returned false on failure.

Exemplos

Exemplo #1 List the backends provided by the given broker

<?php
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Current broker provides the following backend(s):\n";
print_r($bprovides);

?>

O exemplo acima irá imprimir algo similar à:

Current broker provides the following backend(s):
Array
(
    [0] => Array
        (
            [name] => aspell
            [desc] => Aspell Provider
            [file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [name] => hspell
            [desc] => Hspell Provider
            [file] => /usr/lib/enchant/libenchant_hspell.so
        )

    [2] => Array
        (
            [name] => ispell
            [desc] => Ispell Provider
            [file] => /usr/lib/enchant/libenchant_ispell.so
        )

    [3] => Array
        (
            [name] => myspell
            [desc] => Myspell Provider
            [file] => /usr/lib/enchant/libenchant_myspell.so
        )

)


Whether a dictionary exists or not. Using non-empty tag

  • « enchant_broker_describe
  • enchant_broker_free_dict »
  • PHP Manual
  • Enchant Funções
  • Whether a dictionary exists or not. Using non-empty tag

enchant_broker_dict_exists

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_dict_exists — Whether a dictionary exists or not. Using non-empty tag

Descrição

enchant_broker_dict_exists ( EnchantBroker $broker , string $tag ) : bool

Tells if a dictionary exists or not, using a non-empty tags

Parâmetros

broker

An Enchant broker returned by enchant_broker_init().

tag

non-empty tag in the LOCALE format, ex: us_US, ch_DE, etc.

Valor Retornado

Returns true when the tag exist or false when not.

Changelog

Versão | Descrição
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.

Exemplos

Exemplo #1 A enchant_broker_dict_exists() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
    echo $tag . " dictionary found.\n";
}
?>

Veja Também

  • enchant_broker_describe() - Enumerates the Enchant providers


Free a dictionary resource

  • « enchant_broker_dict_exists
  • enchant_broker_free »
  • PHP Manual
  • Enchant Funções
  • Free a dictionary resource

enchant_broker_free_dict

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_free_dict — Free a dictionary resource

Aviso

This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

enchant_broker_free_dict ( EnchantDictionary $dictionary ) : bool

Free a dictionary. As of PHP 8.0.0, it is recommended to unset the object instead of calling this function.

Parâmetros

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | dictionary expects a EnchantDictionary now; previoulsy, a resource was expected.

Veja Também

  • enchant_broker_request_dict() - Create a new dictionary using a tag
  • enchant_broker_request_pwl_dict() - Creates a dictionary using a PWL file


Free the broker resource and its dictionaries

  • « enchant_broker_free_dict
  • enchant_broker_get_dict_path »
  • PHP Manual
  • Enchant Funções
  • Free the broker resource and its dictionaries

enchant_broker_free

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_free — Free the broker resource and its dictionaries

Aviso

This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

enchant_broker_free ( EnchantBroker $broker ) : bool

Free a broker with all its dictionaries. As of PHP 8.0.0, it is recommended to unset the object instead of calling this function.

Parâmetros

broker

An Enchant broker returned by enchant_broker_init().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.

Veja Também

  • enchant_broker_init() - Create a new broker object capable of requesting


Get the directory path for a given backend

  • « enchant_broker_free
  • enchant_broker_get_error »
  • PHP Manual
  • Enchant Funções
  • Get the directory path for a given backend

enchant_broker_get_dict_path

(PHP 5 >= 5.3.1, PHP 7, PHP 8, PECL enchant >= 1.0.1)

enchant_broker_get_dict_path — Get the directory path for a given backend

Aviso

This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

enchant_broker_get_dict_path ( EnchantBroker $broker , int $type ) : string|false

Get the directory path for a given backend.

Parâmetros

broker

An Enchant broker returned by enchant_broker_init().

type

The type of the dictionaries, i.e. ENCHANT_MYSPELL or ENCHANT_ISPELL.

Valor Retornado

Returns the path of the dictionary directory on success ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.

Notas

Nota:

This function is only available if the extension has been compiled with Enchant v1.

Veja Também

  • enchant_broker_set_dict_path() - Set the directory path for a given backend


Returns the last error of the broker

  • « enchant_broker_get_dict_path
  • enchant_broker_init »
  • PHP Manual
  • Enchant Funções
  • Returns the last error of the broker

enchant_broker_get_error

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_get_error — Returns the last error of the broker

Descrição

enchant_broker_get_error ( EnchantBroker $broker ) : string|false

Returns the last error which occurred in this broker.

Parâmetros

broker

An Enchant broker returned by enchant_broker_init().

Valor Retornado

Return the msg string if an error was found or false

Changelog

Versão | Descrição
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.


Create a new broker object capable of requesting

  • « enchant_broker_get_error
  • enchant_broker_list_dicts »
  • PHP Manual
  • Enchant Funções
  • Create a new broker object capable of requesting

enchant_broker_init

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_init — Create a new broker object capable of requesting

Descrição

enchant_broker_init ( ) : EnchantBroker|false

Parâmetros

Valor Retornado

Returns a broker resource on success or false.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns an EnchantBroker instance now; previoulsy, a resource was retured.

Veja Também

  • enchant_broker_free() - Free the broker resource and its dictionaries


Returns a list of available dictionaries

  • « enchant_broker_init
  • enchant_broker_request_dict »
  • PHP Manual
  • Enchant Funções
  • Returns a list of available dictionaries

enchant_broker_list_dicts

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 1.0.1)

enchant_broker_list_dicts — Returns a list of available dictionaries

Descrição

enchant_broker_list_dicts ( EnchantBroker $broker ) : array

Returns a list of available dictionaries with their details.

Parâmetros

broker

An Enchant broker returned by enchant_broker_init().

Valor Retornado

Returns an array of available dictionaries with their details.

Changelog

Versão | Descrição
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
8.0.0 | Prior to this version, the function returned false on failure.

Exemplos

Exemplo #1 List all available dictionaries for one broker

<?php
$r = enchant_broker_init();
$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [lang_tag] => de
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [lang_tag] => de_DE
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [3] => Array
        (
            [lang_tag] => en
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [4] => Array
        (
            [lang_tag] => en_GB
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [5] => Array
        (
            [lang_tag] => en_US
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [6] => Array
        (
            [lang_tag] => hi_IN
            [provider_name] => myspell
            [provider_desc] => Myspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

Veja Também

  • enchant_broker_describe() - Enumerates the Enchant providers


Create a new dictionary using a tag

  • « enchant_broker_list_dicts
  • enchant_broker_request_pwl_dict »
  • PHP Manual
  • Enchant Funções
  • Create a new dictionary using a tag

enchant_broker_request_dict

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_request_dict — Create a new dictionary using a tag

Descrição

enchant_broker_request_dict ( EnchantBroker $broker , string $tag ) : EnchantDictionary|false

create a new dictionary using tag, the non-empty language tag you wish to request a dictionary for ("en_US", "de_DE", ...)

Parâmetros

broker

An Enchant broker returned by enchant_broker_init().

tag

A tag describing the locale, for example en_US, de_DE

Valor Retornado

Returns a dictionary resource on success ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
8.0.0 | On success, this function returns an EnchantDictionary instance now; previoulsy, a resource was retured.

Exemplos

Exemplo #1 A enchant_broker_request_dict() example

Check if a dictionary exists using enchant_broker_dict_exists() and request it.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
    $dict = enchant_broker_request_dict($r, $tag);
}
?>

Veja Também

  • enchant_dict_describe() - Describes an individual dictionary
  • enchant_broker_dict_exists() - Whether a dictionary exists or not. Using non-empty tag
  • enchant_broker_free_dict() - Free a dictionary resource


Creates a dictionary using a PWL file

  • « enchant_broker_request_dict
  • enchant_broker_set_dict_path »
  • PHP Manual
  • Enchant Funções
  • Creates a dictionary using a PWL file

enchant_broker_request_pwl_dict

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_request_pwl_dict — Creates a dictionary using a PWL file

Descrição

enchant_broker_request_pwl_dict ( EnchantBroker $broker , string $filename ) : EnchantDictionary|false

Creates a dictionary using a PWL file. A PWL file is personal word file one word per line.

Parâmetros

broker

An Enchant broker returned by enchant_broker_init().

filename

Path to the PWL file. If there is no such file, a new one will be created if possible.

Valor Retornado

Returns a dictionary resource on success ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
8.0.0 | On success, this function returns an EnchantDictionary instance now; previoulsy, a resource was retured.

Veja Também

  • enchant_dict_describe() - Describes an individual dictionary
  • enchant_broker_dict_exists() - Whether a dictionary exists or not. Using non-empty tag
  • enchant_broker_free_dict() - Free a dictionary resource


Set the directory path for a given backend

  • « enchant_broker_request_pwl_dict
  • enchant_broker_set_ordering »
  • PHP Manual
  • Enchant Funções
  • Set the directory path for a given backend

enchant_broker_set_dict_path

(PHP 5 >= 5.3.1, PHP 7, PHP 8, PECL enchant >= 1.0.1)

enchant_broker_set_dict_path — Set the directory path for a given backend

Aviso

This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

enchant_broker_set_dict_path ( EnchantBroker $broker , int $type , string $path ) : bool

Set the directory path for a given backend.

Parâmetros

broker

An Enchant broker returned by enchant_broker_init().

type

The type of the dictionaries, i.e. ENCHANT_MYSPELL or ENCHANT_ISPELL.

path

The path of the dictionary directory.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.

Notas

Nota:

This function is only available if the extension has been compiled with Enchant v1.

Veja Também

  • enchant_broker_get_dict_path() - Get the directory path for a given backend


Declares a preference of dictionaries to use for the language

  • « enchant_broker_set_dict_path
  • enchant_dict_add_to_personal »
  • PHP Manual
  • Enchant Funções
  • Declares a preference of dictionaries to use for the language

enchant_broker_set_ordering

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_set_ordering — Declares a preference of dictionaries to use for the language

Descrição

enchant_broker_set_ordering ( EnchantBroker $broker , string $tag , string $ordering ) : bool

Declares a preference of dictionaries to use for the language described/referred to by 'tag'. The ordering is a comma delimited list of provider names. As a special exception, the "*" tag can be used as a language tag to declare a default ordering for any language that does not explicitly declare an ordering.

Parâmetros

broker

An Enchant broker returned by enchant_broker_init().

tag

Language tag. The special "*" tag can be used as a language tag to declare a default ordering for any language that does not explicitly declare an ordering.

ordering

Comma delimited list of provider names

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.


Sinônimo de enchant_dict_add

  • « enchant_broker_set_ordering
  • enchant_dict_add_to_session »
  • PHP Manual
  • Enchant Funções
  • Sinônimo de enchant_dict_add

enchant_dict_add_to_personal

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_add_to_personal — Sinônimo de enchant_dict_add()

Aviso

This alias is DEPRECATED as of PHP 8.0.0.

Descrição

Esta função é um apelido para: enchant_dict_add().


Add 'word' to this spell-checking session

  • « enchant_dict_add_to_personal
  • enchant_dict_add »
  • PHP Manual
  • Enchant Funções
  • Add 'word' to this spell-checking session

enchant_dict_add_to_session

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_add_to_session — Add 'word' to this spell-checking session

Descrição

enchant_dict_add_to_session ( EnchantDictionary $dictionary , string $word ) : void

Add a word to the given dictionary. It will be added only for the active spell-checking session.

Parâmetros

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

word

The word to add

Valor Retornado

Não há valor retornado.

Changelog

Versão | Descrição
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.

Veja Também

  • enchant_broker_request_dict() - Create a new dictionary using a tag


Add a word to personal word list

  • « enchant_dict_add_to_session
  • enchant_dict_check »
  • PHP Manual
  • Enchant Funções
  • Add a word to personal word list

enchant_dict_add

(PHP 8)

enchant_dict_add — Add a word to personal word list

Descrição

enchant_dict_add ( EnchantDictionary $dictionary , string $word ) : void

Add a word to personal word list of the given dictionary.

Parâmetros

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

word

The word to add

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.

Exemplo #1 Adding a word to a PWL

<?php

$filename = './my_word_list.pwl';
$word = 'Supercalifragilisticexpialidocious';

$broker = enchant_broker_init();
$dict = enchant_broker_request_pwl_dict($broker, $filename);

enchant_dict_add($dict, $word);

enchant_broker_free($broker);

?>

Veja Também

  • enchant_broker_request_pwl_dict() - Creates a dictionary using a PWL file
  • enchant_broker_request_dict() - Create a new dictionary using a tag


Check whether a word is correctly spelled or not

  • « enchant_dict_add
  • enchant_dict_describe »
  • PHP Manual
  • Enchant Funções
  • Check whether a word is correctly spelled or not

enchant_dict_check

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_check — Check whether a word is correctly spelled or not

Descrição

enchant_dict_check ( EnchantDictionary $dictionary , string $word ) : bool

If the word is correctly spelled return true, otherwise return false

Parâmetros

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

word

The word to check

Valor Retornado

Returns true if the word is spelled correctly, false if not.

Changelog

Versão | Descrição
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.


Describes an individual dictionary

  • « enchant_dict_check
  • enchant_dict_get_error »
  • PHP Manual
  • Enchant Funções
  • Describes an individual dictionary

enchant_dict_describe

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_describe — Describes an individual dictionary

Descrição

enchant_dict_describe ( EnchantDictionary $dictionary ) : array

Returns the details of the dictionary.

Parâmetros

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
8.0.0 | Prior to this version, the function returned false on failure.

Exemplos

Exemplo #1 A enchant_dict_describe() example

Check if a dictionary exists using enchant_broker_dict_exists() and show the detail of it.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
    $dict = enchant_broker_request_dict($r, $tag);
    $dict_details = enchant_dict_describe($dict);
    print_r($dict_details);
}
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [lang] => en_US
    [name] => aspell
    [desc] => Aspell Provider
    [file] => /usr/lib/enchant/libenchant_aspell.so
)


Returns the last error of the current spelling-session

  • « enchant_dict_describe
  • enchant_dict_is_added »
  • PHP Manual
  • Enchant Funções
  • Returns the last error of the current spelling-session

enchant_dict_get_error

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_get_error — Returns the last error of the current spelling-session

Descrição

enchant_dict_get_error ( EnchantDictionary $dictionary ) : string|false

Returns the last error of the current spelling-session

Parâmetros

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

Valor Retornado

Returns the error message as string or false if no error occurred.

Changelog

Versão | Descrição
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.


Whether or not 'word' exists in this spelling-session

  • « enchant_dict_get_error
  • enchant_dict_is_in_session »
  • PHP Manual
  • Enchant Funções
  • Whether or not 'word' exists in this spelling-session

enchant_dict_is_added

(PHP 8)

enchant_dict_is_added — Whether or not 'word' exists in this spelling-session

Descrição

enchant_dict_is_added ( EnchantDictionary $dictionary , string $word ) : bool

Tells whether or not a word already exists in the current session.

Parâmetros

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

word

The word to lookup

Valor Retornado

Returns true if the word exists or false

Changelog

Versão | Descrição
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.

Veja Também

  • enchant_dict_add_to_session() - Add 'word' to this spell-checking session


Sinônimo de enchant_dict_is_added

  • « enchant_dict_is_added
  • enchant_dict_quick_check »
  • PHP Manual
  • Enchant Funções
  • Sinônimo de enchant_dict_is_added

enchant_dict_is_in_session

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_is_in_session — Sinônimo de enchant_dict_is_added()

Aviso

This alias is DEPRECATED as of PHP 8.0.0.

Descrição

Esta função é um apelido para: enchant_dict_is_added().


Check the word is correctly spelled and provide suggestions

  • « enchant_dict_is_in_session
  • enchant_dict_store_replacement »
  • PHP Manual
  • Enchant Funções
  • Check the word is correctly spelled and provide suggestions

enchant_dict_quick_check

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant:0.2.0-1.0.1)

enchant_dict_quick_check — Check the word is correctly spelled and provide suggestions

Descrição

enchant_dict_quick_check ( EnchantDictionary $dictionary , string $word , array &$suggestions = null ) : bool

If the word is correctly spelled return true, otherwise return false, if suggestions variable is provided, fill it with spelling alternatives.

Parâmetros

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

word

The word to check

suggestions

If the word is not correctly spelled, this variable will contain an array of suggestions.

Valor Retornado

Returns true if the word is correctly spelled or false

Changelog

Versão | Descrição
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.

Exemplos

Exemplo #1 A enchant_dict_quick_check() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();

if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);
    enchant_dict_quick_check($d, 'soong', $suggs);
    print_r($suggs);
}
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => song
    [1] => snog
    [2] => soon
    [3] => Sang
    [4] => Sung
    [5] => sang
    [6] => sung
    [7] => sponge
    [8] => spongy
    [9] => snag
    [10] => snug
    [11] => sonic
    [12] => sing
    [13] => songs
    [14] => Son
    [15] => Sonja
    [16] => Synge
    [17] => son
    [18] => Sejong
    [19] => sarong
    [20] => sooner
    [21] => Sony
    [22] => sown
    [23] => scone
    [24] => song's
)

Veja Também

  • enchant_dict_check() - Check whether a word is correctly spelled or not
  • enchant_dict_suggest() - Will return a list of values if any of those pre-conditions are not met


Add a correction for a word

  • « enchant_dict_quick_check
  • enchant_dict_suggest »
  • PHP Manual
  • Enchant Funções
  • Add a correction for a word

enchant_dict_store_replacement

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_store_replacement — Add a correction for a word

Descrição

enchant_dict_store_replacement ( EnchantDictionary $dictionary , string $misspelled , string $correct ) : void

Add a correction for 'mis' using 'cor'. Notes that you replaced @mis with @cor, so it's possibly more likely that future occurrences of @mis will be replaced with @cor. So it might bump @cor up in the suggestion list.

Parâmetros

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

misspelled

The work to fix

correct

The correct word

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.


Will return a list of values if any of those pre-conditions are not met

  • « enchant_dict_store_replacement
  • EnchantBroker »
  • PHP Manual
  • Enchant Funções
  • Will return a list of values if any of those pre-conditions are not met

enchant_dict_suggest

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_suggest — Will return a list of values if any of those pre-conditions are not met

Descrição

enchant_dict_suggest ( EnchantDictionary $dictionary , string $word ) : array

Parâmetros

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

word

Word to use for the suggestions.

Valor Retornado

Will returns an array of suggestions if the word is bad spelled.

Changelog

Versão | Descrição
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.

Exemplos

Exemplo #1 A enchant_dict_suggest() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);

    $wordcorrect = enchant_dict_check($d, "soong");
    if (!$wordcorrect) {
        $suggs = enchant_dict_suggest($d, "soong");
        echo "Suggestions for 'soong':";
        print_r($suggs);
    }
    enchant_broker_free_dict($d);
}
enchant_broker_free($r);
?>

Veja Também

  • enchant_dict_check() - Check whether a word is correctly spelled or not
  • enchant_dict_quick_check() - Check the word is correctly spelled and provide suggestions


The EnchantBroker class

(PHP 8)

Introdução

A fully opaque class which replaces enchant_broker resources as of PHP 8.0.0.

Sinopse da classe

final EnchantBroker {
}


The EnchantDictionary class

(PHP 8)

Introdução

A fully opaque class which replaces enchant_dict resources as of PHP 8.0.0.

Sinopse da classe

final EnchantDictionary {
}


Determine gender of firstnames

  • Introdução
  • Instalação/Configuração
    • Instalação
  • Exemplos
    • Usage example.
  • Gender\Gender — The Gender\Gender class
    • Gender\Gender::connect — Connect to an external name dictionary
    • Gender\Gender::__construct — Construct the Gender object
    • Gender\Gender::country — Get textual country representation
    • Gender\Gender::get — Get gender of a name
    • Gender\Gender::isNick — Check if the name0 is an alias of the name1
    • Gender\Gender::similarNames — Get similar names


Introdução

Gender PHP extension is a port of the gender.c program originally written by Joerg Michael. The main purpose is to find out the gender of firstnames. The current database contains >40000 firstnames from 54 countries.


  • « Introdução
  • Instalação »
  • PHP Manual
  • Gender
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Instalação


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/gender.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/gender/.


  • « Instalação
  • Usage example. »
  • PHP Manual
  • Gender
  • Exemplos

Exemplos

Índice

  • Usage example.


Usage example.

Gender class usage example.

Exemplo #1 Usage example.

<?php

namespace Gender;

$gender = new Gender;

$name = "Milene";
$country = Gender::FRANCE;

$result = $gender->get($name, $country);

$data = $gender->country($country);

switch($result) {
    case Gender::IS_FEMALE:
        printf("The name %s is female in %s\n", $name, $data['country']);
    break;

    case Gender::IS_MOSTLY_FEMALE:
        printf("The name %s is mostly female in %s\n", $name, $data['country']);
    break;

    case Gender::IS_MALE:
        printf("The name %s is male in %s\n", $name, $data['country']);
    break;

    case Gender::IS_MOSTLY_MALE:
        printf("The name %s is mostly male in %s\n", $name, $data['country']);
    break;

    case Gender::IS_UNISEX_NAME:
        printf("The name %s is unisex in %s\n", $name, $data['country']);
    break;

    case Gender::IS_A_COUPLE:
        printf("The name %s is both male and female in %s\n", $name, $data['country']);
    break;

    case Gender::NAME_NOT_FOUND:
        printf("The name %s was not found for %s\n", $name, $data['country']);
    break;

    case Gender::ERROR_IN_NAME:
        echo "There is an error in the given name!\n";
    break;

    default:
        echo "An error occurred!\n";
    break;

}


The Gender\Gender class

(PECL gender >= 0.6.0)

Introdução

Sinopse da classe

Gender\Gender {
/* Constants */
const int IS_FEMALE = 70 ;
const int IS_MOSTLY_FEMALE = 102 ;
const int IS_MALE = 77 ;
const int IS_MOSTLY_MALE = 109 ;
const int IS_UNISEX_NAME = 63 ;
const int IS_A_COUPLE = 67 ;
const int NAME_NOT_FOUND = 32 ;
const int ERROR_IN_NAME = 69 ;
const int ANY_COUNTRY = 0 ;
const int BRITAIN = 1 ;
const int IRELAND = 2 ;
const int USA = 3 ;
const int SPAIN = 4 ;
const int PORTUGAL = 5 ;
const int ITALY = 6 ;
const int MALTA = 7 ;
const int FRANCE = 8 ;
const int BELGIUM = 9 ;
const int LUXEMBOURG = 10 ;
const int NETHERLANDS = 11 ;
const int GERMANY = 12 ;
const int EAST_FRISIA = 13 ;
const int AUSTRIA = 14 ;
const int SWISS = 15 ;
const int ICELAND = 16 ;
const int DENMARK = 17 ;
const int NORWAY = 18 ;
const int SWEDEN = 19 ;
const int FINLAND = 20 ;
const int ESTONIA = 21 ;
const int LATVIA = 22 ;
const int LITHUANIA = 23 ;
const int POLAND = 24 ;
const int CZECH_REP = 25 ;
const int SLOVAKIA = 26 ;
const int HUNGARY = 27 ;
const int ROMANIA = 28 ;
const int BULGARIA = 29 ;
const int BOSNIA = 30 ;
const int CROATIA = 31 ;
const int KOSOVO = 32 ;
const int MACEDONIA = 33 ;
const int MONTENEGRO = 34 ;
const int SERBIA = 35 ;
const int SLOVENIA = 36 ;
const int ALBANIA = 37 ;
const int GREECE = 38 ;
const int RUSSIA = 39 ;
const int BELARUS = 40 ;
const int MOLDOVA = 41 ;
const int UKRAINE = 42 ;
const int ARMENIA = 43 ;
const int AZERBAIJAN = 44 ;
const int GEORGIA = 45 ;
const int KAZAKH_UZBEK = 46 ;
const int TURKEY = 47 ;
const int ARABIA = 48 ;
const int ISRAEL = 49 ;
const int CHINA = 50 ;
const int INDIA = 51 ;
const int JAPAN = 52 ;
const int KOREA = 53 ;
/* Métodos */
public connect ( string $dsn ) : bool
public __construct ( string $dsn = ? )
public country ( int $country ) : array|false
public get ( string $name , int $country = ? ) : int
public isNick ( string $name0 , string $name1 , int $country = ? ) : array
public similarNames ( string $name , int $country = ? ) : array
}

Constantes pré-definidas

Gender\Gender::IS_FEMALE

Gender\Gender::IS_MOSTLY_FEMALE

Gender\Gender::IS_MALE

Gender\Gender::IS_MOSTLY_MALE

Gender\Gender::IS_UNISEX_NAME

Gender\Gender::IS_A_COUPLE

Gender\Gender::NAME_NOT_FOUND

Gender\Gender::ERROR_IN_NAME

Gender\Gender::ANY_COUNTRY

Gender\Gender::BRITAIN

Gender\Gender::IRELAND

Gender\Gender::USA

Gender\Gender::SPAIN

Gender\Gender::PORTUGAL

Gender\Gender::ITALY

Gender\Gender::MALTA

Gender\Gender::FRANCE

Gender\Gender::BELGIUM

Gender\Gender::LUXEMBOURG

Gender\Gender::NETHERLANDS

Gender\Gender::GERMANY

Gender\Gender::EAST_FRISIA

Gender\Gender::AUSTRIA

Gender\Gender::SWISS

Gender\Gender::ICELAND

Gender\Gender::DENMARK

Gender\Gender::NORWAY

Gender\Gender::SWEDEN

Gender\Gender::FINLAND

Gender\Gender::ESTONIA

Gender\Gender::LATVIA

Gender\Gender::LITHUANIA

Gender\Gender::POLAND

Gender\Gender::CZECH_REP

Gender\Gender::SLOVAKIA

Gender\Gender::HUNGARY

Gender\Gender::ROMANIA

Gender\Gender::BULGARIA

Gender\Gender::BOSNIA

Gender\Gender::CROATIA

Gender\Gender::KOSOVO

Gender\Gender::MACEDONIA

Gender\Gender::MONTENEGRO

Gender\Gender::SERBIA

Gender\Gender::SLOVENIA

Gender\Gender::ALBANIA

Gender\Gender::GREECE

Gender\Gender::RUSSIA

Gender\Gender::BELARUS

Gender\Gender::MOLDOVA

Gender\Gender::UKRAINE

Gender\Gender::ARMENIA

Gender\Gender::AZERBAIJAN

Gender\Gender::GEORGIA

Gender\Gender::KAZAKH_UZBEK

Gender\Gender::TURKEY

Gender\Gender::ARABIA

Gender\Gender::ISRAEL

Gender\Gender::CHINA

Gender\Gender::INDIA

Gender\Gender::JAPAN

Gender\Gender::KOREA

Índice

  • Gender\Gender::connect — Connect to an external name dictionary
  • Gender\Gender::__construct — Construct the Gender object
  • Gender\Gender::country — Get textual country representation
  • Gender\Gender::get — Get gender of a name
  • Gender\Gender::isNick — Check if the name0 is an alias of the name1
  • Gender\Gender::similarNames — Get similar names


Connect to an external name dictionary

  • « Gender\Gender
  • Gender\Gender::__construct »
  • PHP Manual
  • Gender\Gender
  • Connect to an external name dictionary

Gender\Gender::connect

(PECL gender >= 0.6.0)

Gender\Gender::connect — Connect to an external name dictionary

Descrição

public Gender\Gender::connect ( string $dsn ) : bool

Connect to an external name dictionary. Currently only streams are supported.

Parâmetros

dsn

DSN to open.

Valor Retornado

Boolean as success of failure.


Construct the Gender object

  • « Gender\Gender::connect
  • Gender\Gender::country »
  • PHP Manual
  • Gender\Gender
  • Construct the Gender object

Gender\Gender::__construct

(PECL gender >= 0.6.0)

Gender\Gender::__construct — Construct the Gender object

Descrição

public Gender\Gender::__construct ( string $dsn = ? )

Create a Gender object optionally connecting to an external name dictionary. When no external database was given, compiled in data will be used.

Parâmetros

dsn

DSN to open.

Valor Retornado


Get textual country representation

  • « Gender\Gender::__construct
  • Gender\Gender::get »
  • PHP Manual
  • Gender\Gender
  • Get textual country representation

Gender\Gender::country

(PECL gender >= 0.8.0)

Gender\Gender::country — Get textual country representation

Descrição

public Gender\Gender::country ( int $country ) : array|false

Returns the textual representation of a country from a Gender class constant.

Parâmetros

country

A country ID specified by a Gender\Gender class constant.

Valor Retornado

Returns an array with the short and full names of the country on success ou false em caso de falha.

Exemplos

Exemplo #1 Using Gender\Gender::country()

$gender = new Gender\Gender;
var_dump($gender->country(Gender\Gender::BRITAIN));

O exemplo acima irá imprimir:

array(2) {
  'country_short' =>
  string(2) "UK"
  'country' =>
  string(13) "Great Britain"
}


Get gender of a name

  • « Gender\Gender::country
  • Gender\Gender::isNick »
  • PHP Manual
  • Gender\Gender
  • Get gender of a name

Gender\Gender::get

(PECL gender >= 0.6.0)

Gender\Gender::get — Get gender of a name

Descrição

public Gender\Gender::get ( string $name , int $country = ? ) : int

Get the gender of the name in a particular country.

Parâmetros

name

Name to check.

country

Country id identified by Gender class constant.

Valor Retornado

Returns gender of the name.


Check if the name0 is an alias of the name1

  • « Gender\Gender::get
  • Gender\Gender::similarNames »
  • PHP Manual
  • Gender\Gender
  • Check if the name0 is an alias of the name1

Gender\Gender::isNick

(PECL gender >= 0.9.0)

Gender\Gender::isNick — Check if the name0 is an alias of the name1

Descrição

public Gender\Gender::isNick ( string $name0 , string $name1 , int $country = ? ) : array

Check whether the name0 is a nick of the name1.

Parâmetros

name0

Name to check.

name1

Name to check.

country

Country id identified by Gender class constant. If ommited ANY_COUNTRY is used.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Get similar names

  • « Gender\Gender::isNick
  • Gettext »
  • PHP Manual
  • Gender\Gender
  • Get similar names

Gender\Gender::similarNames

(PECL gender >= 0.9.0)

Gender\Gender::similarNames — Get similar names

Descrição

public Gender\Gender::similarNames ( string $name , int $country = ? ) : array

Get similar names for the given name and country.

Parâmetros

name

Name to check.

country

Country id identified by Gender class constant. If ommited ANY_COUNTRY is used.

Valor Retornado

Returns an array with the similar names found.


Gettext

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções da Gettext
    • bind_textdomain_codeset — Define qual codificação de caractere será retornado pelas mensagens do catálogo do DOMÍNIO especificado.
    • bindtextdomain — Configura o caminho para um domínio
    • dcgettext — Substitui o domínio por um lookup
    • dcngettext — O mesmo que dcgettext, porém permite que você especifique mais de uma mensagem
    • dgettext — Sobreescreve o domínio atual
    • dngettext — O mesmo que dgettext, porém você pode escrever mais de uma mensagem
    • gettext — Procura por uma mensagem no domínio atual
    • ngettext — Versão plural de gettext
    • textdomain — Seta o domínio padrão


Introdução

As funções gettext implementa uma API NLS (Native Language Support) que pode ser usada para internacionalizar suas aplicações PHP. Veja a documentação da gettext para seu sistema para uma maior explicação destas funções ou veja a documentação em » http://www.gnu.org/software/gettext/manual/gettext.html.


Dependências

Para usar estas funções você precisa fazer download e instalar o pacote GNU gettext de » http://www.gnu.org/software/gettext/gettext.html


Instalação

Para incluir o suporte ao GNU gettext na sua instalação PHP você deve adicionar a opção --with-gettext[=DIR] onde DIR é o diretório de instalação do gettext, o diretório padrão é /usr/local.


  • « Tipos de Recurso
  • Funções da Gettext »
  • PHP Manual
  • Gettext
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Funções da Gettext

Índice

  • bind_textdomain_codeset — Define qual codificação de caractere será retornado pelas mensagens do catálogo do DOMÍNIO especificado.
  • bindtextdomain — Configura o caminho para um domínio
  • dcgettext — Substitui o domínio por um lookup
  • dcngettext — O mesmo que dcgettext, porém permite que você especifique mais de uma mensagem
  • dgettext — Sobreescreve o domínio atual
  • dngettext — O mesmo que dgettext, porém você pode escrever mais de uma mensagem
  • gettext — Procura por uma mensagem no domínio atual
  • ngettext — Versão plural de gettext
  • textdomain — Seta o domínio padrão


Define qual codificação de caractere será retornado pelas mensagens do catálogo do DOMÍNIO especificado.

  • « Funções da Gettext
  • bindtextdomain »
  • PHP Manual
  • Funções da Gettext
  • Define qual codificação de caractere será retornado pelas mensagens do catálogo do DOMÍNIO especificado.

bind_textdomain_codeset

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

bind_textdomain_codeset — Define qual codificação de caractere será retornado pelas mensagens do catálogo do DOMÍNIO especificado.

Descrição

bind_textdomain_codeset ( string $domain , string $codeset ) : string

Com bind_textdomain_codeset(), você pode definir em qual codificação será retornado a mensagem domain pela gettext() e funções similares.

Parâmetros

domain

O domínio

codeset

O conjunto de caracteres

Valor Retornado

Uma string em sucesso.


Configura o caminho para um domínio

  • « bind_textdomain_codeset
  • dcgettext »
  • PHP Manual
  • Funções da Gettext
  • Configura o caminho para um domínio

bindtextdomain

(PHP 4, PHP 5, PHP 7, PHP 8)

bindtextdomain — Configura o caminho para um domínio

Descrição

bindtextdomain ( string $domain , string $directory ) : string

A função bindtextdomain() configura um caminho para um domínio.

Parâmetros

domain

O domínio

directory

O caminho do diretório

Valor Retornado

O caminho completo para o domain que foi definido.

Exemplos

Exemplo #1 Exemplo da bindtextdomain()

<?php

$domain = 'myapp';
echo bindtextdomain($domain, '/usr/share/myapp/locale');

?>

O exemplo acima irá imprimir:

/usr/share/myapp/locale


Substitui o domínio por um lookup

  • « bindtextdomain
  • dcngettext »
  • PHP Manual
  • Funções da Gettext
  • Substitui o domínio por um lookup

dcgettext

(PHP 4, PHP 5, PHP 7, PHP 8)

dcgettext — Substitui o domínio por um lookup

Descrição

dcgettext ( string $domain , string $message , int $category ) : string

Esta função permite que você sobreescreva o domínio atual por uma simples mensagem de lookup.

Parâmetros

domain

O domínio

message

A mensagem

category

A categoria

Valor Retornado

Uma string em sucesso.

Veja Também

  • gettext() - Procura por uma mensagem no domínio atual


O mesmo que dcgettext, porém permite que você especifique mais de uma mensagem

  • « dcgettext
  • dgettext »
  • PHP Manual
  • Funções da Gettext
  • O mesmo que dcgettext, porém permite que você especifique mais de uma mensagem

dcngettext

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

dcngettext — O mesmo que dcgettext, porém permite que você especifique mais de uma mensagem

Descrição

dcngettext ( string $domínio , string $msgid1 , string $msgid2 , int $n , int $categoria ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Sobreescreve o domínio atual

  • « dcngettext
  • dngettext »
  • PHP Manual
  • Funções da Gettext
  • Sobreescreve o domínio atual

dgettext

(PHP 4, PHP 5, PHP 7, PHP 8)

dgettext — Sobreescreve o domínio atual

Descrição

dgettext ( string $domínio , string $mensagem ) : string

A função dgettext() permite que você sobreescreva o domínio atual por uma simples mensagem de lookup.


O mesmo que dgettext, porém você pode escrever mais de uma mensagem

  • « dgettext
  • gettext »
  • PHP Manual
  • Funções da Gettext
  • O mesmo que dgettext, porém você pode escrever mais de uma mensagem

dngettext

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

dngettext — O mesmo que dgettext, porém você pode escrever mais de uma mensagem

Descrição

dngettext ( string $domínio , string $msgid1 , string $msgid2 , int $n ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Procura por uma mensagem no domínio atual

  • « dngettext
  • ngettext »
  • PHP Manual
  • Funções da Gettext
  • Procura por uma mensagem no domínio atual

gettext

(PHP 4, PHP 5, PHP 7, PHP 8)

gettext — Procura por uma mensagem no domínio atual

Descrição

gettext ( string $mensagem ) : string

Esta função retorna uma string traduzida se ela for encontrada na tabela de traduções, ou envia uma mensagem se a string não for encontrada. Você pode usar o caracter '_' como um alias para esta função.

Exemplo #1 gettext()-checa

<?php
// Seta o local para Português
setlocale(LC_ALL, 'pt');

// Especifica o local onde estão as tabelas de traduções
bindtextdomain("meuAplicativoPHP", "./diretorio");

// Escolhe um domínio
textdomain("meuAplicativoPHP");

// Envia uma mensagem de teste
print gettext("Bem vindo ao meu Aplicativo PHP");

// Ou use o alias _() do gettext()
print _("Tenha um bom dia");
?>


Versão plural de gettext

  • « gettext
  • textdomain »
  • PHP Manual
  • Funções da Gettext
  • Versão plural de gettext

ngettext

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ngettext — Versão plural de gettext

Descrição

ngettext ( string $msgid1 , string $msgid2 , int $n ) : string

A versão de plural da gettext(). Algumas linguagens tem mais de uma forma para mensagens no plural dependendo da quantidade.

Parâmetros

msgid1

msgid2

n

Valor Retornado

Retorna a forma plural da mensagem identificada por msgid1 e msgid2 para quantidade n.

Exemplos

Exemplo #1 Exemplo da ngettext()

<?php

setlocale(LC_ALL, 'cs_CZ');
printf(ngettext("%d window", "%d windows", 1), 1); // 1 okno
printf(ngettext("%d window", "%d windows", 2), 2); // 2 okna
printf(ngettext("%d window", "%d windows", 5), 5); // 5 oken

?>


Seta o domínio padrão

  • « ngettext
  • iconv »
  • PHP Manual
  • Funções da Gettext
  • Seta o domínio padrão

textdomain

(PHP 4, PHP 5, PHP 7, PHP 8)

textdomain — Seta o domínio padrão

Descrição

textdomain ( string $text_domain ) : string

Esta função permite à você confiugrar o domínio padrão pelo qual as chamadas são feitas usando a função gettext(), geralmente o nomeado após a aplicação. O domínio padrão é retornado. Chame ela com o parâmetro null para pegar as configurações atuais sem alterar isto.


iconv

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • iconv Funções
    • iconv_get_encoding — Retrieve internal configuration variables of iconv extension
    • iconv_mime_decode_headers — Decodes multiple MIME header fields at once
    • iconv_mime_decode — Decodes a MIME header field
    • iconv_mime_encode — Composes a MIME header field
    • iconv_set_encoding — Set current setting for character encoding conversion
    • iconv_strlen — Returns the character count of string
    • iconv_strpos — Finds position of first occurrence of a needle within a haystack
    • iconv_strrpos — Finds the last occurrence of a needle within a haystack
    • iconv_substr — Cut out part of a string
    • iconv — Convert string to requested character encoding
    • ob_iconv_handler — Convert character encoding as output buffer handler


Introdução

This module contains an interface to iconv character set conversion facility. With this module, you can turn a string represented by a local character set into the one represented by another character set, which may be the Unicode character set. Supported character sets depend on the iconv implementation of your system. Note that the iconv function on some systems may not work as you expect. In such case, it'd be a good idea to install the » GNU libiconv library. It will most likely end up with more consistent results.

This extension comes with various utility functions that help you to write multilingual scripts. Let's have a look at the following sections to explore the new features.


Dependências

You will need nothing if the system you are using is one of the recent POSIX-compliant systems because standard C libraries that are supplied in them must provide iconv facility. Otherwise, you have to get the » libiconv library installed in your system.


Instalação

This extension is enabled by default, although it may be disabled by compiling with --without-iconv.

The optional --with-iconv[=DIR] directive is used to specify the location of iconv on the system that PHP is being compiled on, otherwise only the default locations are scanned.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Iconv Opções de Configuração
Nome | Padrão | Modificável | Changelog
iconv.input_encoding | "" | PHP_INI_ALL | Deprecated in PHP 5.6.0.
iconv.output_encoding | "" | PHP_INI_ALL | Deprecated in PHP 5.6.0.
iconv.internal_encoding | "" | PHP_INI_ALL | Deprecated in PHP 5.6.0.

Uma rápida explicação das diretivas de configuração.

Aviso

Some systems (like IBM AIX) use "ISO8859-1" instead of "ISO-8859-1" so this value has to be used in configuration options and function parameters.

iconv.input_encoding string
Aviso

Este recurso está OBSOLETO desde o PHP 5.6.0. Confiar nesta funcionalidade é altamente não recomendado.

PHP 5.6 and later users should leave this empty and set input_encoding instead.

iconv.output_encoding string
Aviso

Este recurso está OBSOLETO desde o PHP 5.6.0. Confiar nesta funcionalidade é altamente não recomendado.

PHP 5.6 and later users should leave this empty and set output_encoding instead.

iconv.internal_encoding string
Aviso

Este recurso está OBSOLETO desde o PHP 5.6.0. Confiar nesta funcionalidade é altamente não recomendado.

PHP 5.6 and later users should leave this empty and set default_charset instead.


Constantes pré-definidas

It is possible to identify at runtime which iconv implementation is adopted by this extension.

iconv implementation constants
Name | Type | Description
ICONV_IMPL | string | The implementation name
ICONV_VERSION | string | The implementation version

Nota:

Writing implementation-dependent scripts with these constants is strongly discouraged.

The following constants are also available:

Other iconv constants
Name | Type | Description
ICONV_MIME_DECODE_STRICT | int | A bitmask used for iconv_mime_decode()
ICONV_MIME_DECODE_CONTINUE_ON_ERROR | int | A bitmask used for iconv_mime_decode()


iconv Funções

Veja Também

See also GNU Recode functions.

Índice

  • iconv_get_encoding — Retrieve internal configuration variables of iconv extension
  • iconv_mime_decode_headers — Decodes multiple MIME header fields at once
  • iconv_mime_decode — Decodes a MIME header field
  • iconv_mime_encode — Composes a MIME header field
  • iconv_set_encoding — Set current setting for character encoding conversion
  • iconv_strlen — Returns the character count of string
  • iconv_strpos — Finds position of first occurrence of a needle within a haystack
  • iconv_strrpos — Finds the last occurrence of a needle within a haystack
  • iconv_substr — Cut out part of a string
  • iconv — Convert string to requested character encoding
  • ob_iconv_handler — Convert character encoding as output buffer handler


Retrieve internal configuration variables of iconv extension

  • « iconv Funções
  • iconv_mime_decode_headers »
  • PHP Manual
  • iconv Funções
  • Retrieve internal configuration variables of iconv extension

iconv_get_encoding

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

iconv_get_encoding — Retrieve internal configuration variables of iconv extension

Descrição

iconv_get_encoding ( string $type = "all" ) : array|string|false

Retrieve internal configuration variables of iconv extension.

Parâmetros

type

The value of the optional type can be:

  • all
  • input_encoding
  • output_encoding
  • internal_encoding

Valor Retornado

Returns the current value of the internal configuration variable if successful ou false em caso de falha.

If type is omitted or set to "all", iconv_get_encoding() returns an array that stores all these variables.

Exemplos

Exemplo #1 iconv_get_encoding() example

<pre>
<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
var_dump(iconv_get_encoding('all'));
?>
</pre>

O exemplo acima irá imprimir:

Array
(
    [input_encoding] => ISO-8859-1
    [output_encoding] => ISO-8859-1
    [internal_encoding] => UTF-8
)

Veja Também

  • iconv_set_encoding() - Set current setting for character encoding conversion
  • ob_iconv_handler() - Convert character encoding as output buffer handler


Decodes multiple MIME header fields at once

  • « iconv_get_encoding
  • iconv_mime_decode »
  • PHP Manual
  • iconv Funções
  • Decodes multiple MIME header fields at once

iconv_mime_decode_headers

(PHP 5, PHP 7, PHP 8)

iconv_mime_decode_headers — Decodes multiple MIME header fields at once

Descrição

iconv_mime_decode_headers ( string $headers , int $mode = 0 , string|null $encoding = null ) : array|false

Decodes multiple MIME header fields at once.

Parâmetros

headers

The encoded headers, as a string.

mode

mode determines the behaviour in the event iconv_mime_decode_headers() encounters a malformed MIME header field. You can specify any combination of the following bitmasks.

Bitmasks acceptable to iconv_mime_decode_headers()
Value | Constant | Description
1 | ICONV_MIME_DECODE_STRICT | If set, the given header is decoded in full conformance with the standards defined in » RFC2047. This option is disabled by default because there are a lot of broken mail user agents that don't follow the specification and don't produce correct MIME headers.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | If set, iconv_mime_decode_headers() attempts to ignore any grammatical errors and continue to process a given header.

encoding

The optional encoding parameter specifies the character set to represent the result by. If omitted or null, iconv.internal_encoding will be used.

Valor Retornado

Returns an associative array that holds a whole set of MIME header fields specified by headers on success, or false if an error occurs during the decoding.

Each key of the return value represents an individual field name and the corresponding element represents a field value. If more than one field of the same name are present, iconv_mime_decode_headers() automatically incorporates them into a numerically indexed array in the order of occurrence.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Exemplos

Exemplo #1 iconv_mime_decode_headers() example

<?php
$headers_string = <<<EOF
Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=
To: example@example.com
Date: Thu, 1 Jan 1970 00:00:00 +0000
Message-Id: <example@example.com>
Received: from localhost (localhost [127.0.0.1]) by localhost
    with SMTP id example for <example@example.com>;
    Thu, 1 Jan 1970 00:00:00 +0000 (UTC)
    (envelope-from example-return-0000-example=example.com@example.com)
Received: (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000

EOF;

$headers =  iconv_mime_decode_headers($headers_string, 0, "ISO-8859-1");
print_r($headers);
?>

O exemplo acima irá imprimir:

Array
(
    [Subject] => Prüfung Prüfung
    [To] => example@example.com
    [Date] => Thu, 1 Jan 1970 00:00:00 +0000
    [Message-Id] => <example@example.com>
    [Received] => Array
        (
            [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)
            [1] => (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
        )

)

Veja Também

  • iconv_mime_decode() - Decodes a MIME header field
  • mb_decode_mimeheader() - Decode string in MIME header field
  • imap_mime_header_decode() - Decode MIME header elements
  • imap_base64() - Decode BASE64 encoded text
  • imap_qprint() - Convert a quoted-printable string to an 8 bit string


Decodes a MIME header field

  • « iconv_mime_decode_headers
  • iconv_mime_encode »
  • PHP Manual
  • iconv Funções
  • Decodes a MIME header field

iconv_mime_decode

(PHP 5, PHP 7, PHP 8)

iconv_mime_decode — Decodes a MIME header field

Descrição

iconv_mime_decode ( string $string , int $mode = 0 , string|null $encoding = null ) : string|false

Decodes a MIME header field.

Parâmetros

string

The encoded header, as a string.

mode

mode determines the behaviour in the event iconv_mime_decode() encounters a malformed MIME header field. You can specify any combination of the following bitmasks.

Bitmasks acceptable to iconv_mime_decode()
Value | Constant | Description
1 | ICONV_MIME_DECODE_STRICT | If set, the given header is decoded in full conformance with the standards defined in » RFC2047. This option is disabled by default because there are a lot of broken mail user agents that don't follow the specification and don't produce correct MIME headers.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | If set, iconv_mime_decode_headers() attempts to ignore any grammatical errors and continue to process a given header.

encoding

The optional encoding parameter specifies the character set to represent the result by. If omitted or null, iconv.internal_encoding will be used.

Valor Retornado

Returns a decoded MIME field on success, or false if an error occurs during the decoding.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Exemplos

Exemplo #1 iconv_mime_decode() example

<?php
// This yields "Subject: Prüfung Prüfung"
echo iconv_mime_decode("Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=",
                       0, "ISO-8859-1");
?>

Veja Também

  • iconv_mime_decode_headers() - Decodes multiple MIME header fields at once
  • mb_decode_mimeheader() - Decode string in MIME header field
  • imap_mime_header_decode() - Decode MIME header elements
  • imap_base64() - Decode BASE64 encoded text
  • imap_qprint() - Convert a quoted-printable string to an 8 bit string


Composes a MIME header field

  • « iconv_mime_decode
  • iconv_set_encoding »
  • PHP Manual
  • iconv Funções
  • Composes a MIME header field

iconv_mime_encode

(PHP 5, PHP 7, PHP 8)

iconv_mime_encode — Composes a MIME header field

Descrição

iconv_mime_encode ( string $field_name , string $field_value , array $options = [] ) : string|false

Composes and returns a string that represents a valid MIME header field, which looks like the following:

Subject: =?ISO-8859-1?Q?Pr=FCfung_f=FCr?= Entwerfen von einer MIME kopfzeile
In the above example, "Subject" is the field name and the portion that begins with "=?ISO-8859-1?..." is the field value.

Parâmetros

field_name

The field name.

field_value

The field value.

options

You can control the behaviour of iconv_mime_encode() by specifying an associative array that contains configuration items to the optional third parameter options. The items supported by iconv_mime_encode() are listed below. Note that item names are treated case-sensitive.

Configuration items supported by iconv_mime_encode()
Item | Type | Description | Default value | Example
scheme | string | Specifies the method to encode a field value by. The value of this item may be either "B" or "Q", where "B" stands for base64 encoding scheme and "Q" stands for quoted-printable encoding scheme. | B | B
input-charset | string | Specifies the character set in which the first parameter field_name and the second parameter field_value are presented. If not given, iconv_mime_encode() assumes those parameters are presented to it in the iconv.internal_encoding ini setting. | iconv.internal_encoding | ISO-8859-1
output-charset | string | Specifies the character set to use to compose the MIME header. | iconv.internal_encoding | UTF-8
line-length | int | Specifies the maximum length of the header lines. The resulting header is "folded" to a set of multiple lines in case the resulting header field would be longer than the value of this parameter, according to » RFC2822 - Internet Message Format. If not given, the length will be limited to 76 characters. | 76 | 996
line-break-chars | string | Specifies the sequence of characters to append to each line as an end-of-line sign when "folding" is performed on a long header field. If not given, this defaults to "\r\n" (CR LF). Note that this parameter is always treated as an ASCII string regardless of the value of input-charset. | \r\n | \n

Valor Retornado

Returns an encoded MIME field on success, or false if an error occurs during the encoding.

Exemplos

Exemplo #1 iconv_mime_encode() example

<?php
$preferences = array(
    "input-charset" => "ISO-8859-1",
    "output-charset" => "UTF-8",
    "line-length" => 76,
    "line-break-chars" => "\n"
);
$preferences["scheme"] = "Q";
// This yields "Subject: =?UTF-8?Q?Pr=C3=BCfung=20Pr=C3=BCfung?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);

$preferences["scheme"] = "B";
// This yields "Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);
?>

Veja Também

  • imap_binary() - Convert an 8bit string to a base64 string
  • mb_encode_mimeheader() - Encode string for MIME header
  • imap_8bit() - Convert an 8bit string to a quoted-printable string
  • quoted_printable_encode() - Converte uma string de 8 bits em uma string quoted-printable


Set current setting for character encoding conversion

  • « iconv_mime_encode
  • iconv_strlen »
  • PHP Manual
  • iconv Funções
  • Set current setting for character encoding conversion

iconv_set_encoding

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

iconv_set_encoding — Set current setting for character encoding conversion

Descrição

iconv_set_encoding ( string $type , string $encoding ) : bool

Changes the value of the internal configuration variable specified by type to encoding.

Parâmetros

type

The value of type can be any one of these:

  • input_encoding
  • output_encoding
  • internal_encoding

encoding

The character set.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 iconv_set_encoding() example

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
?>

Veja Também

  • iconv_get_encoding() - Retrieve internal configuration variables of iconv extension
  • ob_iconv_handler() - Convert character encoding as output buffer handler


Returns the character count of string

  • « iconv_set_encoding
  • iconv_strpos »
  • PHP Manual
  • iconv Funções
  • Returns the character count of string

iconv_strlen

(PHP 5, PHP 7, PHP 8)

iconv_strlen — Returns the character count of string

Descrição

iconv_strlen ( string $string , string|null $encoding = null ) : int|false

In contrast to strlen(), iconv_strlen() counts the occurrences of characters in the given byte sequence string on the basis of the specified character set, the result of which is not necessarily identical to the length of the string in byte.

Parâmetros

string

The string.

encoding

If encoding parameter is omitted or null, string is assumed to be encoded in iconv.internal_encoding.

Valor Retornado

Returns the character count of string, as an integer, or false if an error occurs during the encoding.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • grapheme_strlen() - Get string length in grapheme units
  • mb_strlen() - Get string length
  • strlen() - Retorna o tamanho de uma string


Finds position of first occurrence of a needle within a haystack

  • « iconv_strlen
  • iconv_strrpos »
  • PHP Manual
  • iconv Funções
  • Finds position of first occurrence of a needle within a haystack

iconv_strpos

(PHP 5, PHP 7, PHP 8)

iconv_strpos — Finds position of first occurrence of a needle within a haystack

Descrição

iconv_strpos ( string $haystack , string $needle , int $offset = 0 , string|null $encoding = null ) : int|false

Finds position of first occurrence of a needle within a haystack.

In contrast to strpos(), the return value of iconv_strpos() is the number of characters that appear before the needle, rather than the offset in bytes to the position where the needle has been found. The characters are counted on the basis of the specified character set encoding.

Parâmetros

haystack

The entire string.

needle

The searched substring.

offset

The optional offset parameter specifies the position from which the search should be performed. If the offset is negative, it is counted from the end of the string.

encoding

If encoding parameter is omitted or null, string are assumed to be encoded in iconv.internal_encoding.

If haystack or needle is not a string, it is converted to a string and applied as the ordinal value of a character.

Valor Retornado

Returns the numeric position of the first occurrence of needle in haystack.

If needle is not found, iconv_strpos() will return false.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.
7.1.0 | Support for negative offsets has been added.

Veja Também

  • strpos() - Encontra a posição da primeira ocorrência de uma string
  • iconv_strrpos() - Finds the last occurrence of a needle within a haystack
  • mb_strpos() - Find position of first occurrence of string in a string


Finds the last occurrence of a needle within a haystack

  • « iconv_strpos
  • iconv_substr »
  • PHP Manual
  • iconv Funções
  • Finds the last occurrence of a needle within a haystack

iconv_strrpos

(PHP 5, PHP 7, PHP 8)

iconv_strrpos — Finds the last occurrence of a needle within a haystack

Descrição

iconv_strrpos ( string $haystack , string $needle , string|null $encoding = null ) : int|false

Finds the last occurrence of a needle within a haystack.

In contrast to strrpos(), the return value of iconv_strrpos() is the number of characters that appear before the needle, rather than the offset in bytes to the position where the needle has been found. The characters are counted on the basis of the specified character set encoding.

Parâmetros

haystack

The entire string.

needle

The searched substring.

encoding

If encoding parameter is omitted or null, string are assumed to be encoded in iconv.internal_encoding.

If haystack or needle is not a string, it is converted to a string and applied as the ordinal value of a character.

Valor Retornado

Returns the numeric position of the last occurrence of needle in haystack.

If needle is not found, iconv_strrpos() will return false.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • strrpos() - Encontra a posição da última ocorrência de um caractere em uma string
  • iconv_strpos() - Finds position of first occurrence of a needle within a haystack
  • mb_strrpos() - Find position of last occurrence of a string in a string


Cut out part of a string

  • « iconv_strrpos
  • iconv »
  • PHP Manual
  • iconv Funções
  • Cut out part of a string

iconv_substr

(PHP 5, PHP 7, PHP 8)

iconv_substr — Cut out part of a string

Descrição

iconv_substr ( string $string , int $offset , int|null $length = null , string|null $encoding = null ) : string|false

Cuts a portion of string specified by the offset and length parameters.

Parâmetros

string

The original string.

offset

If offset is non-negative, iconv_substr() cuts the portion out of string beginning at offset'th character, counting from zero.

If offset is negative, iconv_substr() cuts out the portion beginning at the position, offset characters away from the end of string.

length

If length is given and is positive, the return value will contain at most length characters of the portion that begins at offset (depending on the length of string).

If negative length is passed, iconv_substr() cuts the portion out of string from the offset'th character up to the character that is length characters away from the end of the string. In case offset is also negative, the start position is calculated beforehand according to the rule explained above.

encoding

If encoding parameter is omitted or null, string are assumed to be encoded in iconv.internal_encoding.

Note that offset and length parameters are always deemed to represent offsets that are calculated on the basis of the character set determined by encoding, whilst the counterpart substr() always takes these for byte offsets.

Valor Retornado

Returns the portion of string specified by the offset and length parameters.

If string is shorter than offset characters long, false will be returned. If string is exactly offset characters long, an empty string will be returned.

Changelog

Versão | Descrição
8.0.0 | length and encoding are nullable now.
7.0.11 | If string is equal to offset characters long, an empty string will be returned. Prior to this version, false was returned in this case.

Veja Também

  • substr() - Retorna uma parte de uma string
  • mb_substr() - Get part of string
  • mb_strcut() - Get part of string


Convert string to requested character encoding

  • « iconv_substr
  • ob_iconv_handler »
  • PHP Manual
  • iconv Funções
  • Convert string to requested character encoding

iconv

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

iconv — Convert string to requested character encoding

Descrição

iconv ( string $from_encoding , string $to_encoding , string $string ) : string|false

Performs a character set conversion on the string string from from_encoding to to_encoding.

Parâmetros

from_encoding

The input charset.

to_encoding

The output charset.

If you append the string //TRANSLIT to to_encoding transliteration is activated. This means that when a character can't be represented in the target charset, it can be approximated through one or several similarly looking characters. If you append the string //IGNORE, characters that cannot be represented in the target charset are silently discarded. Otherwise, E_NOTICE is generated and the function will return false.

Cuidado

If and how //TRANSLIT works exactly depends on the system's iconv() implementation (cf. ICONV_IMPL). Some implementations are known to ignore //TRANSLIT, so the conversion is likely to fail for characters which are illegal for the to_encoding.

string

The string to be converted.

Valor Retornado

Returns the converted string ou false em caso de falha.

Exemplos

Exemplo #1 iconv() example

<?php
$text = "This is the Euro symbol '€'.";

echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE   : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Plain    : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

Original : This is the Euro symbol '€'.
TRANSLIT : This is the Euro symbol 'EUR'.
IGNORE   : This is the Euro symbol ''.
Plain    :
Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7


Convert character encoding as output buffer handler

  • « iconv
  • intl »
  • PHP Manual
  • iconv Funções
  • Convert character encoding as output buffer handler

ob_iconv_handler

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

ob_iconv_handler — Convert character encoding as output buffer handler

Descrição

ob_iconv_handler ( string $contents , int $status ) : string

Converts the string encoded in internal_encoding to output_encoding.

internal_encoding and output_encoding should be defined in the php.ini file or in iconv_set_encoding().

Parâmetros

See ob_start() for information about this handler parameters.

Valor Retornado

See ob_start() for information about this handler return values.

Exemplos

Exemplo #1 ob_iconv_handler() example:

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
ob_start("ob_iconv_handler"); // start output buffering
?>

Veja Também

  • iconv_get_encoding() - Retrieve internal configuration variables of iconv extension
  • iconv_set_encoding() - Set current setting for character encoding conversion
  • output-control functions


Internationalization Functions

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Basic usage of this extension
  • Collator — The Collator class
    • Collator::asort — Sort array maintaining index association
    • Collator::compare — Compare two Unicode strings
    • Collator::__construct — Create a collator
    • Collator::create — Create a collator
    • Collator::getAttribute — Get collation attribute value
    • Collator::getErrorCode — Get collator's last error code
    • Collator::getErrorMessage — Get text for collator's last error code
    • Collator::getLocale — Get the locale name of the collator
    • Collator::getSortKey — Get sorting key for a string
    • Collator::getStrength — Get current collation strength
    • Collator::setAttribute — Set collation attribute
    • Collator::setStrength — Set collation strength
    • Collator::sortWithSortKeys — Sort array using specified collator and sort keys
    • Collator::sort — Sort array using specified collator
  • NumberFormatter — The NumberFormatter class
    • NumberFormatter::create — Create a number formatter
    • NumberFormatter::formatCurrency — Format a currency value
    • NumberFormatter::format — Format a number
    • NumberFormatter::getAttribute — Get an attribute
    • NumberFormatter::getErrorCode — Get formatter's last error code
    • NumberFormatter::getErrorMessage — Get formatter's last error message
    • NumberFormatter::getLocale — Get formatter locale
    • NumberFormatter::getPattern — Get formatter pattern
    • NumberFormatter::getSymbol — Get a symbol value
    • NumberFormatter::getTextAttribute — Get a text attribute
    • NumberFormatter::parseCurrency — Parse a currency number
    • NumberFormatter::parse — Parse a number
    • NumberFormatter::setAttribute — Set an attribute
    • NumberFormatter::setPattern — Set formatter pattern
    • NumberFormatter::setSymbol — Set a symbol value
    • NumberFormatter::setTextAttribute — Set a text attribute
  • Locale — The Locale class
    • Locale::acceptFromHttp — Tries to find out best available locale based on HTTP "Accept-Language" header
    • Locale::canonicalize — Canonicalize the locale string
    • Locale::composeLocale — Returns a correctly ordered and delimited locale ID
    • Locale::filterMatches — Checks if a language tag filter matches with locale
    • Locale::getAllVariants — Gets the variants for the input locale
    • Locale::getDefault — Gets the default locale value from the INTL global 'default_locale'
    • Locale::getDisplayLanguage — Returns an appropriately localized display name for language of the inputlocale
    • Locale::getDisplayName — Returns an appropriately localized display name for the input locale
    • Locale::getDisplayRegion — Returns an appropriately localized display name for region of the input locale
    • Locale::getDisplayScript — Returns an appropriately localized display name for script of the input locale
    • Locale::getDisplayVariant — Returns an appropriately localized display name for variants of the input locale
    • Locale::getKeywords — Gets the keywords for the input locale
    • Locale::getPrimaryLanguage — Gets the primary language for the input locale
    • Locale::getRegion — Gets the region for the input locale
    • Locale::getScript — Gets the script for the input locale
    • Locale::lookup — Searches the language tag list for the best match to the language
    • Locale::parseLocale — Returns a key-value array of locale ID subtag elements
    • Locale::setDefault — Sets the default runtime locale
  • Normalizer — The Normalizer class
    • Normalizer::getRawDecomposition — Gets the Decomposition_Mapping property for the given UTF-8 encoded code point
    • Normalizer::isNormalized — Verifica se a string fornecida já está na forma normalizada especificada.
    • Normalizer::normalize — Normaliza a entrada fornecida e retorna a string normalizada
  • MessageFormatter — The MessageFormatter class
    • MessageFormatter::create — Constructs a new Message Formatter
    • MessageFormatter::formatMessage — Quick format message
    • MessageFormatter::format — Format the message
    • MessageFormatter::getErrorCode — Get the error code from last operation
    • MessageFormatter::getErrorMessage — Get the error text from the last operation
    • MessageFormatter::getLocale — Get the locale for which the formatter was created
    • MessageFormatter::getPattern — Get the pattern used by the formatter
    • MessageFormatter::parseMessage — Quick parse input string
    • MessageFormatter::parse — Parse input string according to pattern
    • MessageFormatter::setPattern — Set the pattern used by the formatter
  • IntlCalendar — The IntlCalendar class
    • IntlCalendar::add — Add a (signed) amount of time to a field
    • IntlCalendar::after — Whether this object's time is after that of the passed object
    • IntlCalendar::before — Whether this object's time is before that of the passed object
    • IntlCalendar::clear — Clear a field or all fields
    • IntlCalendar::__construct — Private constructor for disallowing instantiation
    • IntlCalendar::createInstance — Create a new IntlCalendar
    • IntlCalendar::equals — Compare time of two IntlCalendar objects for equality
    • IntlCalendar::fieldDifference — Calculate difference between given time and this object's time
    • IntlCalendar::fromDateTime — Create an IntlCalendar from a DateTime object or string
    • IntlCalendar::get — Get the value for a field
    • IntlCalendar::getActualMaximum — The maximum value for a field, considering the object's current time
    • IntlCalendar::getActualMinimum — The minimum value for a field, considering the object's current time
    • IntlCalendar::getAvailableLocales — Get array of locales for which there is data
    • IntlCalendar::getDayOfWeekType — Tell whether a day is a weekday, weekend or a day that has a transition between the two
    • IntlCalendar::getErrorCode — Get last error code on the object
    • IntlCalendar::getErrorMessage — Get last error message on the object
    • IntlCalendar::getFirstDayOfWeek — Get the first day of the week for the calendar's locale
    • IntlCalendar::getGreatestMinimum — Get the largest local minimum value for a field
    • IntlCalendar::getKeywordValuesForLocale — Get set of locale keyword values
    • IntlCalendar::getLeastMaximum — Get the smallest local maximum for a field
    • IntlCalendar::getLocale — Get the locale associated with the object
    • IntlCalendar::getMaximum — Get the global maximum value for a field
    • IntlCalendar::getMinimalDaysInFirstWeek — Get minimal number of days the first week in a year or month can have
    • IntlCalendar::getMinimum — Get the global minimum value for a field
    • IntlCalendar::getNow — Get number representing the current time
    • IntlCalendar::getRepeatedWallTimeOption — Get behavior for handling repeating wall time
    • IntlCalendar::getSkippedWallTimeOption — Get behavior for handling skipped wall time
    • IntlCalendar::getTime — Get time currently represented by the object
    • IntlCalendar::getTimeZone — Get the object's timezone
    • IntlCalendar::getType — Get the calendar type
    • IntlCalendar::getWeekendTransition — Get time of the day at which weekend begins or ends
    • IntlCalendar::inDaylightTime — Whether the object's time is in Daylight Savings Time
    • IntlCalendar::isEquivalentTo — Whether another calendar is equal but for a different time
    • IntlCalendar::isLenient — Whether date/time interpretation is in lenient mode
    • IntlCalendar::isSet — Whether a field is set
    • IntlCalendar::isWeekend — Whether a certain date/time is in the weekend
    • IntlCalendar::roll — Add value to field without carrying into more significant fields
    • IntlCalendar::set — Set a time field or several common fields at once
    • IntlCalendar::setFirstDayOfWeek — Set the day on which the week is deemed to start
    • IntlCalendar::setLenient — Set whether date/time interpretation is to be lenient
    • IntlCalendar::setMinimalDaysInFirstWeek — Set minimal number of days the first week in a year or month can have
    • IntlCalendar::setRepeatedWallTimeOption — Set behavior for handling repeating wall times at negative timezone offset transitions
    • IntlCalendar::setSkippedWallTimeOption — Set behavior for handling skipped wall times at positive timezone offset transitions
    • IntlCalendar::setTime — Set the calendar time in milliseconds since the epoch
    • IntlCalendar::setTimeZone — Set the timezone used by this calendar
    • IntlCalendar::toDateTime — Convert an IntlCalendar into a DateTime object
  • IntlGregorianCalendar — The IntlGregorianCalendar class
    • IntlGregorianCalendar::__construct — Create the Gregorian Calendar class
    • IntlGregorianCalendar::getGregorianChange — Get the Gregorian Calendar change date
    • IntlGregorianCalendar::isLeapYear — Determine if the given year is a leap year
    • IntlGregorianCalendar::setGregorianChange — Set the Gregorian Calendar the change date
  • IntlTimeZone — The IntlTimeZone class
    • IntlTimeZone::countEquivalentIDs — Get the number of IDs in the equivalency group that includes the given ID
    • IntlTimeZone::createDefault — Create a new copy of the default timezone for this host
    • IntlTimeZone::createEnumeration — Get an enumeration over time zone IDs associated with the given country or offset
    • IntlTimeZone::createTimeZone — Create a timezone object for the given ID
    • IntlTimeZone::createTimeZoneIDEnumeration — Get an enumeration over system time zone IDs with the given filter conditions
    • IntlTimeZone::fromDateTimeZone — Create a timezone object from DateTimeZone
    • IntlTimeZone::getCanonicalID — Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
    • IntlTimeZone::getDisplayName — Get a name of this time zone suitable for presentation to the user
    • IntlTimeZone::getDSTSavings — Get the amount of time to be added to local standard time to get local wall clock time
    • IntlTimeZone::getEquivalentID — Get an ID in the equivalency group that includes the given ID
    • IntlTimeZone::getErrorCode — Get last error code on the object
    • IntlTimeZone::getErrorMessage — Get last error message on the object
    • IntlTimeZone::getGMT — Create GMT (UTC) timezone
    • IntlTimeZone::getID — Get timezone ID
    • IntlTimeZone::getIDForWindowsID — Translate a Windows timezone into a system timezone
    • IntlTimeZone::getOffset — Get the time zone raw and GMT offset for the given moment in time
    • IntlTimeZone::getRawOffset — Get the raw GMT offset (before taking daylight savings time into account
    • IntlTimeZone::getRegion — Get the region code associated with the given system time zone ID
    • IntlTimeZone::getTZDataVersion — Get the timezone data version currently used by ICU
    • IntlTimeZone::getUnknown — Get the "unknown" time zone
    • IntlTimeZone::getWindowsID — Translate a system timezone into a Windows timezone
    • IntlTimeZone::hasSameRules — Check if this zone has the same rules and offset as another zone
    • IntlTimeZone::toDateTimeZone — Convert to DateTimeZone object
    • IntlTimeZone::useDaylightTime — Check if this time zone uses daylight savings time
  • IntlDateFormatter — The IntlDateFormatter class
    • IntlDateFormatter::create — Create a date formatter
    • IntlDateFormatter::format — Format the date/time value as a string
    • IntlDateFormatter::formatObject — Formats an object
    • IntlDateFormatter::getCalendar — Get the calendar type used for the IntlDateFormatter
    • IntlDateFormatter::getDateType — Get the datetype used for the IntlDateFormatter
    • IntlDateFormatter::getErrorCode — Get the error code from last operation
    • IntlDateFormatter::getErrorMessage — Get the error text from the last operation
    • IntlDateFormatter::getLocale — Get the locale used by formatter
    • IntlDateFormatter::getPattern — Get the pattern used for the IntlDateFormatter
    • IntlDateFormatter::getTimeType — Get the timetype used for the IntlDateFormatter
    • IntlDateFormatter::getTimeZoneId — Get the timezone-id used for the IntlDateFormatter
    • IntlDateFormatter::getCalendarObject — Get copy of formatter's calendar object
    • IntlDateFormatter::getTimeZone — Get formatter's timezone
    • IntlDateFormatter::isLenient — Get the lenient used for the IntlDateFormatter
    • IntlDateFormatter::localtime — Parse string to a field-based time value
    • IntlDateFormatter::parse — Parse string to a timestamp value
    • IntlDateFormatter::setCalendar — Sets the calendar type used by the formatter
    • IntlDateFormatter::setLenient — Set the leniency of the parser
    • IntlDateFormatter::setPattern — Set the pattern used for the IntlDateFormatter
    • IntlDateFormatter::setTimeZone — Sets formatter's timezone
  • ResourceBundle — The ResourceBundle class
    • ResourceBundle::count — Obtém o número de elementos no pacote
    • ResourceBundle::create — Cria um pacote de recursos
    • ResourceBundle::getErrorCode — Obtém o código do último erro gerado pelo pacote.
    • ResourceBundle::getErrorMessage — Obtém a mensagem do último erro gerado pelo pacote.
    • ResourceBundle::get — Obtém os dados do pacote
    • ResourceBundle::getLocales — Obtém as localidades suportadas
  • Spoofchecker — The Spoofchecker class
    • Spoofchecker::areConfusable — Checks if given strings can be confused
    • Spoofchecker::__construct — Constructor
    • Spoofchecker::isSuspicious — Checks if a given text contains any suspicious characters
    • Spoofchecker::setAllowedLocales — Locales to use when running checks
    • Spoofchecker::setChecks — Set the checks to run
  • Transliterator — The Transliterator class
    • Transliterator::__construct — Private constructor to deny instantiation
    • Transliterator::create — Create a transliterator
    • Transliterator::createFromRules — Create transliterator from rules
    • Transliterator::createInverse — Create an inverse transliterator
    • Transliterator::getErrorCode — Get last error code
    • Transliterator::getErrorMessage — Get last error message
    • Transliterator::listIDs — Get transliterator IDs
    • Transliterator::transliterate — Transliterate a string
  • IntlBreakIterator — The IntlBreakIterator class
    • IntlBreakIterator::__construct — Private constructor for disallowing instantiation
    • IntlBreakIterator::createCharacterInstance — Create break iterator for boundaries of combining character sequences
    • IntlBreakIterator::createCodePointInstance — Create break iterator for boundaries of code points
    • IntlBreakIterator::createLineInstance — Create break iterator for logically possible line breaks
    • IntlBreakIterator::createSentenceInstance — Create break iterator for sentence breaks
    • IntlBreakIterator::createTitleInstance — Create break iterator for title-casing breaks
    • IntlBreakIterator::createWordInstance — Create break iterator for word breaks
    • IntlBreakIterator::current — Get index of current position
    • IntlBreakIterator::first — Set position to the first character in the text
    • IntlBreakIterator::following — Advance the iterator to the first boundary following specified offset
    • IntlBreakIterator::getErrorCode — Get last error code on the object
    • IntlBreakIterator::getErrorMessage — Get last error message on the object
    • IntlBreakIterator::getLocale — Get the locale associated with the object
    • IntlBreakIterator::getPartsIterator — Create iterator for navigating fragments between boundaries
    • IntlBreakIterator::getText — Get the text being scanned
    • IntlBreakIterator::isBoundary — Tell whether an offset is a boundary's offset
    • IntlBreakIterator::last — Set the iterator position to index beyond the last character
    • IntlBreakIterator::next — Advance the iterator the next boundary
    • IntlBreakIterator::preceding — Set the iterator position to the first boundary before an offset
    • IntlBreakIterator::previous — Set the iterator position to the boundary immediately before the current
    • IntlBreakIterator::setText — Set the text being scanned
  • IntlRuleBasedBreakIterator — The IntlRuleBasedBreakIterator class
    • IntlRuleBasedBreakIterator::__construct — Create iterator from ruleset
    • IntlRuleBasedBreakIterator::getBinaryRules — Get the binary form of compiled rules
    • IntlRuleBasedBreakIterator::getRules — Get the rule set used to create this object
    • IntlRuleBasedBreakIterator::getRuleStatus — Get the largest status value from the break rules that determined the current break position
    • IntlRuleBasedBreakIterator::getRuleStatusVec — Get the status values from the break rules that determined the current break position
  • IntlCodePointBreakIterator — The IntlCodePointBreakIterator class
    • IntlCodePointBreakIterator::getLastCodePoint — Obtém o último code point passado após avançar ou retroceder o iterador
  • IntlPartsIterator — The IntlPartsIterator class
    • IntlPartsIterator::getBreakIterator — Obtém o IntlBreakIterator que é utilizado pelo iterador
  • UConverter — The UConverter class
    • UConverter::__construct — Cria um objeto UConverter
    • UConverter::convert — Converte uma string de um conjunto de caracteres (charset) para outro
    • UConverter::fromUCallback — Função de retorno de origem padrão
    • UConverter::getAliases — Obtém o pseudônimo de um dado nome
    • UConverter::getAvailable — Obtém os nomes dos conversores canônicos disponíveis
    • UConverter::getDestinationEncoding — Obtém a codificação de destino
    • UConverter::getDestinationType — Obtém o tipo do conversor de destino
    • UConverter::getErrorCode — Obtém o código do último erro gerado pelo objeto
    • UConverter::getErrorMessage — Obtém a mensagem do último erro gerado pelo objeto
    • UConverter::getSourceEncoding — Obtém a codificação de origem
    • UConverter::getSourceType — Obtém o tipo do conversor de origem
    • UConverter::getStandards — Obtém os nomes dos conversores padrão associados
    • UConverter::getSubstChars — Obtém os caracteres de substituição
    • UConverter::reasonText — Obtém uma representação de string da razão de retorno
    • UConverter::setDestinationEncoding — Define a codificação de destino
    • UConverter::setSourceEncoding — Define a codificação de origem
    • UConverter::setSubstChars — Define os caracteres de substituição
    • UConverter::toUCallback — Função de retorno padrão de destino
    • UConverter::transcode — Converte uma string de um conjunto de caracteres (charset) para outro
  • Grapheme Funções
    • grapheme_extract — Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8
    • grapheme_stripos — Find position (in grapheme units) of first occurrence of a case-insensitive string
    • grapheme_stristr — Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack
    • grapheme_strlen — Get string length in grapheme units
    • grapheme_strpos — Find position (in grapheme units) of first occurrence of a string
    • grapheme_strripos — Find position (in grapheme units) of last occurrence of a case-insensitive string
    • grapheme_strrpos — Find position (in grapheme units) of last occurrence of a string
    • grapheme_strstr — Returns part of haystack string from the first occurrence of needle to the end of haystack
    • grapheme_substr — Return part of a string
  • IDN Funções
    • idn_to_ascii — Convert domain name to IDNA ASCII form
    • idn_to_utf8 — Convert domain name from IDNA ASCII to Unicode
  • IntlChar
    • IntlChar::charAge — Get the "age" of the code point
    • IntlChar::charDigitValue — Get the decimal digit value of a decimal digit character
    • IntlChar::charDirection — Get bidirectional category value for a code point
    • IntlChar::charFromName — Find Unicode character by name and return its code point value
    • IntlChar::charMirror — Get the "mirror-image" character for a code point
    • IntlChar::charName — Retrieve the name of a Unicode character
    • IntlChar::charType — Get the general category value for a code point
    • IntlChar::chr — Return Unicode character by code point value
    • IntlChar::digit — Get the decimal digit value of a code point for a given radix
    • IntlChar::enumCharNames — Enumerate all assigned Unicode characters within a range
    • IntlChar::enumCharTypes — Enumerate all code points with their Unicode general categories
    • IntlChar::foldCase — Perform case folding on a code point
    • IntlChar::forDigit — Get character representation for a given digit and radix
    • IntlChar::getBidiPairedBracket — Get the paired bracket character for a code point
    • IntlChar::getBlockCode — Get the Unicode allocation block containing a code point
    • IntlChar::getCombiningClass — Get the combining class of a code point
    • IntlChar::getFC_NFKC_Closure — Get the FC_NFKC_Closure property for a code point
    • IntlChar::getIntPropertyMaxValue — Get the max value for a Unicode property
    • IntlChar::getIntPropertyMinValue — Get the min value for a Unicode property
    • IntlChar::getIntPropertyValue — Get the value for a Unicode property for a code point
    • IntlChar::getNumericValue — Get the numeric value for a Unicode code point
    • IntlChar::getPropertyEnum — Get the property constant value for a given property name
    • IntlChar::getPropertyName — Get the Unicode name for a property
    • IntlChar::getPropertyValueEnum — Get the property value for a given value name
    • IntlChar::getPropertyValueName — Get the Unicode name for a property value
    • IntlChar::getUnicodeVersion — Get the Unicode version
    • IntlChar::hasBinaryProperty — Check a binary Unicode property for a code point
    • IntlChar::isalnum — Check if code point is an alphanumeric character
    • IntlChar::isalpha — Check if code point is a letter character
    • IntlChar::isbase — Check if code point is a base character
    • IntlChar::isblank — Check if code point is a "blank" or "horizontal space" character
    • IntlChar::iscntrl — Check if code point is a control character
    • IntlChar::isdefined — Check whether the code point is defined
    • IntlChar::isdigit — Check if code point is a digit character
    • IntlChar::isgraph — Check if code point is a graphic character
    • IntlChar::isIDIgnorable — Check if code point is an ignorable character
    • IntlChar::isIDPart — Check if code point is permissible in an identifier
    • IntlChar::isIDStart — Check if code point is permissible as the first character in an identifier
    • IntlChar::isISOControl — Check if code point is an ISO control code
    • IntlChar::isJavaIDPart — Check if code point is permissible in a Java identifier
    • IntlChar::isJavaIDStart — Check if code point is permissible as the first character in a Java identifier
    • IntlChar::isJavaSpaceChar — Check if code point is a space character according to Java
    • IntlChar::islower — Check if code point is a lowercase letter
    • IntlChar::isMirrored — Check if code point has the Bidi_Mirrored property
    • IntlChar::isprint — Check if code point is a printable character
    • IntlChar::ispunct — Check if code point is punctuation character
    • IntlChar::isspace — Check if code point is a space character
    • IntlChar::istitle — Check if code point is a titlecase letter
    • IntlChar::isUAlphabetic — Check if code point has the Alphabetic Unicode property
    • IntlChar::isULowercase — Check if code point has the Lowercase Unicode property
    • IntlChar::isupper — Check if code point has the general category "Lu" (uppercase letter)
    • IntlChar::isUUppercase — Check if code point has the Uppercase Unicode property
    • IntlChar::isUWhiteSpace — Check if code point has the White_Space Unicode property
    • IntlChar::isWhitespace — Check if code point is a whitespace character according to ICU
    • IntlChar::isxdigit — Check if code point is a hexadecimal digit
    • IntlChar::ord — Return Unicode code point value of character
    • IntlChar::tolower — Make Unicode character lowercase
    • IntlChar::totitle — Make Unicode character titlecase
    • IntlChar::toupper — Make Unicode character uppercase
  • IntlException — Exception class for intl errors
  • IntlIterator — A classe IntlIterator
    • IntlIterator::current — Retorna o elemento atual
    • IntlIterator::key — Retorna a chave do elemento atual
    • IntlIterator::next — Avança para o próximo elemento
    • IntlIterator::rewind — Rebobina o iterador para o primeiro elemento
    • IntlIterator::valid — Verifica se a posição atual é válida
  • intl Funções
    • intl_error_name — Get symbolic name for a given error code
    • intl_get_error_code — Get the last error code
    • intl_get_error_message — Get description of the last error
    • intl_is_failure — Check whether the given error code indicates failure


Introdução

Internationalization extension (further is referred as Intl) is a wrapper for » ICU library, enabling PHP programmers to perform various locale-aware operations including but not limited to formatting, transliteration, encoding conversion, calendar operations, » UCA-conformant collation, locating text boundaries and working with locale identifiers, timezones and graphemes,

It tends to closely follow ICU APIs, so that people having experience working with ICU in either C/C++ or Java could easily use the PHP API. Also, this way ICU documentation would be useful to understand various ICU functions.

Intl consists of several modules, each of them exposes the corresponding ICU API:

  • Collator: provides string comparison capability with support for appropriate locale-sensitive sort orderings.
  • Number Formatter: allows to display number according to the localized format or given pattern or set of rules, and to parse strings into numbers.
  • Message Formatter: allows to create messages incorporating data (such as numbers or dates) formatted according to given pattern and locale rules, and parse messages extracting data from them. It can handle plurals, locale-aware numbers, currencies, conditions and much more.
  • Normalizer: provides a function to transform text into one of the Unicode normalization forms, and provides a routine to test if a given string is already normalized.
  • Locale: provides interaction with locale identifiers in the form of functions to get subtags from locale identifier; parse, compose, match(lookup and filter) locale identifiers.
  • Calendar: provides a class which could be used for locale-aware calendar operations and getting various information such as timezone for locale chosen, first day of week or if it's daylight saving time now.
  • Timezone: provides a wrapper around the » "Olson" database which has information about all the timezones around the world.
  • Date formatter: allows to display date and time according to the localized format or given pattern or set of rules, and to parse strings into date and time.
  • Transliterator: allows getting latin representation of strings in various languages.

Links

  • » Miscellaneous ICU docs

  • » ICU User Guide

  • » Unicode Collation Algorithm


Dependências

To build the extension you need to install the » ICU library, version 4.0.0 or newer is required. As of PHP 7.4.0 ICU 50.1 or newer is required.

This extension is bundled with PHP as of PHP version 5.3.0. Alternatively, the PECL version of this extension may be used with all PHP versions greater than 5.2.0 (5.2.4+ recommended).


Instalação

This extension may be installed using the bundled version as of PHP 5.3.0, or as a PECL extension as of PHP 5.2.0. In other words, there are two methods to install the intl extension.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/intl.

Alternatively, --enable-intl will enable the bundled version while compiling PHP.

If your ICU is installed to a non-standard directory then you might want to specify its location in LD_LIBRARY_PATH environment variable so that dynamic linker can find it:

$ export LD_LIBRARY_PATH=/opt/icu/lib

Otherwise, if PHP and ICU are installed to their default locations, then the additional options to `configure' are not needed.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Intl Opções de Configuração
Nome | Padrão | Modificável | Changelog
intl.default_locale |  | PHP_INI_ALL |
intl.error_level | 0 | PHP_INI_ALL |
intl.use_exceptions | 0 | PHP_INI_ALL | Available since PHP 5.5 and PECL 3.0.0a1

Uma rápida explicação das diretivas de configuração.

intl.default_locale string

The locale that will be used in intl functions when none is specified (either by omitting the corresponding argument or by passing NULL). These are ICU locales, not system locales. The built-in ICU locales and their data can be explored at » http://demo.icu-project.org/icu-bin/locexp.

The default value is empty, which forces the usage of ICU's default locale. Once set, the ini setting cannot be reset to this default value. It is not recommended that this default be relied on, as its effective value depends on the server's environment.

intl.error_level int

The level of the error messages generated when an error occurs in ICU functions. This is a PHP error level, such as E_WARNING. It can be set to 0 in order to inhibit the messages. This does not affect the return values indicating error or the values returned by intl_get_error_code() or by the class specific methods for retrieving error codes and messages. Choosing E_ERROR will terminate the script whenever an error condition is found on intl classes.

The default value is 0.

intl.use_exceptions int

If set to true, an exception will be raised whenever an error occurs in an intl function. The exception will be of type IntlException. This is possibly in addition to the error message generated due to intl.error_level.

The default value is false.


Constantes pré-definidas

INTL_ICU_VERSION (string)
The current ICU library version as a dotted-decimal string.
INTL_MAX_LOCALE_LEN (int)
Limit on locale length, set to 80 in PHP code. Locale names longer than this limit will not be accepted.
IDNA_DEFAULT (int)
Prohibit processing of unassigned codepoints in the input for IDN functions and do not check if the input conforms to domain name ASCII rules.
IDNA_ALLOW_UNASSIGNED (int)
Allow processing of unassigned codepoints in the input for IDN functions.
IDNA_USE_STD3_RULES (int)
Check if the input for IDN functions conforms to domain name ASCII rules.
IDNA_CHECK_BIDI (int)
Check whether the input conforms to the BiDi rules. Ignored by the IDNA2003 implementation, which always performs this check.
IDNA_CHECK_CONTEXTJ (int)
Check whether the input conforms to the CONTEXTJ rules. Ignored by the IDNA2003 implementation, as this check is new in IDNA2008.
IDNA_NONTRANSITIONAL_TO_ASCII (int)
Option for nontransitional processing in idn_to_ascii(). Transitional processing is activated by default. This option is ignored by the IDNA2003 implementation.
IDNA_NONTRANSITIONAL_TO_UNICODE (int)
Option for nontransitional processing in idn_to_utf8(). Transitional processing is activated by default. This option is ignored by the IDNA2003 implementation.
INTL_IDNA_VARIANT_2003 (int)
Use IDNA 2003 algorithm in idn_to_utf8() and idn_to_ascii(). This is the default. This constant and using the default has been deprecated as of PHP 7.2.0.
INTL_IDNA_VARIANT_UTS46 (int)
Use UTS #46 algorithm in idn_to_utf8() and idn_to_ascii(). Available as of ICU 4.6.
IDNA_ERROR_EMPTY_LABEL (int)
IDNA_ERROR_LABEL_TOO_LONG (int)
IDNA_ERROR_DOMAIN_NAME_TOO_LONG (int)
IDNA_ERROR_LEADING_HYPHEN (int)
IDNA_ERROR_TRAILING_HYPHEN (int)
IDNA_ERROR_HYPHEN_3_4 (int)
IDNA_ERROR_LEADING_COMBINING_MARK (int)
IDNA_ERROR_DISALLOWED (int)
IDNA_ERROR_PUNYCODE (int)
IDNA_ERROR_LABEL_HAS_DOT (int)
IDNA_ERROR_INVALID_ACE_LABEL (int)
IDNA_ERROR_BIDI (int)
IDNA_ERROR_CONTEXTJ (int)
Errors reported in a bitset returned by the UTS #46 algorithm in idn_to_utf8() and idn_to_ascii().


  • « Constantes pré-definidas
  • Basic usage of this extension »
  • PHP Manual
  • intl
  • Exemplos

Exemplos

Índice

  • Basic usage of this extension


Basic usage of this extension

Each module provides two kind of APIs: a procedural one and an object oriented one. Both are actually identical and described in the corresponding document.

Nota:

All input strings must be in UTF-8 encoding. All output strings are also in UTF-8.

Exemplo #1 Example of using the procedural API

<?php
$coll  = collator_create('en_US');
$result = collator_compare($coll, "string#1", "string#2");
?>

Exemplo #2 Example of using the object-oriented API

<?php
$coll = new Collator('en_US');
$al   = $coll->getLocale(Locale::ACTUAL_LOCALE);
echo "Actual locale: $al\n";

$formatter = new NumberFormatter('en_US', NumberFormatter::DECIMAL);
echo $formatter->format(1234567);
?>


The Collator class

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Introdução

Provides string comparison capability with support for appropriate locale-sensitive sort orderings.

Sinopse da classe

Collator {
/* Métodos */
public __construct ( string $locale )
public asort ( array &$array , int $flags = Collator::SORT_REGULAR ) : bool
public compare ( string $string1 , string $string2 ) : int|false
public static create ( string $locale ) : Collator|null
public getAttribute ( int $attribute ) : int|false
public getErrorCode ( ) : int|false
public getErrorMessage ( ) : string|false
public getLocale ( int $type ) : string|false
public getSortKey ( string $string ) : string|false
public getStrength ( ) : int
public setAttribute ( int $attribute , int $value ) : bool
public setStrength ( int $strength ) : bool
public sortWithSortKeys ( array &$array ) : bool
public sort ( array &$array , int $flags = Collator::SORT_REGULAR ) : bool
}

Constantes pré-definidas

Collator::FRENCH_COLLATION (int)

Sort strings with different accents from the back of the string. This attribute is automatically set to On for the French locales and a few others. Users normally would not need to explicitly set this attribute. There is a string comparison performance cost when it is set On, but sort key length is unaffected. Possible values are:

  • Collator::ON
  • Collator::OFF(default)
  • Collator::DEFAULT_VALUE

Exemplo #1 FRENCH_COLLATION rules

  • F=OFF cote < coté < côte < côté
  • F=ON cote < côte < coté < côté

Collator::ALTERNATE_HANDLING (int)

The Alternate attribute is used to control the handling of the so called variable characters in the UCA: whitespace, punctuation and symbols. If Alternate is set to NonIgnorable (N), then differences among these characters are of the same importance as differences among letters. If Alternate is set to Shifted (S), then these characters are of only minor importance. The Shifted value is often used in combination with Strength set to Quaternary. In such a case, whitespace, punctuation, and symbols are considered when comparing strings, but only if all other aspects of the strings (base letters, accents, and case) are identical. If Alternate is not set to Shifted, then there is no difference between a Strength of 3 and a Strength of 4. For more information and examples, see Variable_Weighting in the » UCA. The reason the Alternate values are not simply On and Off is that additional Alternate values may be added in the future. The UCA option Blanked is expressed with Strength set to 3, and Alternate set to Shifted. The default for most locales is NonIgnorable. If Shifted is selected, it may be slower if there are many strings that are the same except for punctuation; sort key length will not be affected unless the strength level is also increased.

Possible values are:

  • Collator::NON_IGNORABLE(default)
  • Collator::SHIFTED
  • Collator::DEFAULT_VALUE

Exemplo #2 ALTERNATE_HANDLING rules

  • S=3, A=N di Silva < Di Silva < diSilva < U.S.A. < USA
  • S=3, A=S di Silva = diSilva < Di Silva < U.S.A. = USA
  • S=4, A=S di Silva < diSilva < Di Silva < U.S.A. < USA

Collator::CASE_FIRST (int)

The Case_First attribute is used to control whether uppercase letters come before lowercase letters or vice versa, in the absence of other differences in the strings. The possible values are Uppercase_First (U) and Lowercase_First (L), plus the standard Default and Off. There is almost no difference between the Off and Lowercase_First options in terms of results, so typically users will not use Lowercase_First: only Off or Uppercase_First. (People interested in the detailed differences between X and L should consult the Collation Customization). Specifying either L or U won't affect string comparison performance, but will affect the sort key length.

Possible values are:

  • Collator::OFF(default)
  • Collator::LOWER_FIRST
  • Collator::UPPER_FIRST
  • Collator:DEFAULT

Exemplo #3 CASE_FIRST rules

  • C=X or C=L "china" < "China" < "denmark" < "Denmark"
  • C=U "China" < "china" < "Denmark" < "denmark"

Collator::CASE_LEVEL (int)

The Case_Level attribute is used when ignoring accents but not case. In such a situation, set Strength to be Primary, and Case_Level to be On. In most locales, this setting is Off by default. There is a small string comparison performance and sort key impact if this attribute is set to be On.

Possible values are:

  • Collator::OFF(default)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Exemplo #4 CASE_LEVEL rules

  • S=1, E=X role = Role = rôle
  • S=1, E=O role = rôle < Role

Collator::NORMALIZATION_MODE (int)

The Normalization setting determines whether text is thoroughly normalized or not in comparison. Even if the setting is off (which is the default for many locales), text as represented in common usage will compare correctly (for details, see UTN #5). Only if the accent marks are in noncanonical order will there be a problem. If the setting is On, then the best results are guaranteed for all possible text input. There is a medium string comparison performance cost if this attribute is On, depending on the frequency of sequences that require normalization. There is no significant effect on sort key length. If the input text is known to be in NFD or NFKD normalization forms, there is no need to enable this Normalization option.

Possible values are:

  • Collator::OFF(default)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::STRENGTH (int)

The ICU Collation Service supports many levels of comparison (named "Levels", but also known as "Strengths"). Having these categories enables ICU to sort strings precisely according to local conventions. However, by allowing the levels to be selectively employed, searching for a string in text can be performed with various matching conditions. For more detailed information, see collator_set_strength() chapter.

Possible values are:

  • Collator::PRIMARY
  • Collator::SECONDARY
  • Collator::TERTIARY(default)
  • Collator::QUATERNARY
  • Collator::IDENTICAL
  • Collator::DEFAULT_VALUE

Collator::HIRAGANA_QUATERNARY_MODE (int)

Compatibility with JIS x 4061 requires the introduction of an additional level to distinguish Hiragana and Katakana characters. If compatibility with that standard is required, then this attribute should be set On, and the strength set to Quaternary. This will affect sort key length and string comparison string comparison performance.

Possible values are:

  • Collator::OFF(default)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::NUMERIC_COLLATION (int)

When turned on, this attribute generates a collation key for the numeric value of substrings of digits. This is a way to get '100' to sort AFTER '2'.

Possible values are:

  • Collator::OFF(default)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::DEFAULT_VALUE (int)
Collator::PRIMARY (int)
Collator::SECONDARY (int)
Collator::TERTIARY (int)
Collator::DEFAULT_STRENGTH (int)
Collator::QUATERNARY (int)
Collator::IDENTICAL (int)
Collator::OFF (int)
Collator::ON (int)
Collator::SHIFTED (int)
Collator::NON_IGNORABLE (int)
Collator::LOWER_FIRST (int)
Collator::UPPER_FIRST (int)

Índice

  • Collator::asort — Sort array maintaining index association
  • Collator::compare — Compare two Unicode strings
  • Collator::__construct — Create a collator
  • Collator::create — Create a collator
  • Collator::getAttribute — Get collation attribute value
  • Collator::getErrorCode — Get collator's last error code
  • Collator::getErrorMessage — Get text for collator's last error code
  • Collator::getLocale — Get the locale name of the collator
  • Collator::getSortKey — Get sorting key for a string
  • Collator::getStrength — Get current collation strength
  • Collator::setAttribute — Set collation attribute
  • Collator::setStrength — Set collation strength
  • Collator::sortWithSortKeys — Sort array using specified collator and sort keys
  • Collator::sort — Sort array using specified collator


Sort array maintaining index association

  • « Collator
  • Collator::compare »
  • PHP Manual
  • Collator
  • Sort array maintaining index association

Collator::asort

collator_asort

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::asort -- collator_asort — Sort array maintaining index association

Descrição

Estilo orientado à objeto

public Collator::asort ( array &$array , int $flags = Collator::SORT_REGULAR ) : bool

Estilo procedural

collator_asort ( Collator $object , array &$array , int $flags = Collator::SORT_REGULAR ) : bool

This function sorts an array such that array indices maintain their correlation with the array elements they are associated with. This is used mainly when sorting associative arrays where the actual element order is significant. Array elements will have sort order according to current locale rules.

Equivalent to standard PHP asort().

Parâmetros

object

Collator object.

array

Array of strings to sort.

flags

Optional sorting type, one of the following:

  • Collator::SORT_REGULAR - compare items normally (don't change types)

  • Collator::SORT_NUMERIC - compare items numerically

  • Collator::SORT_STRING - compare items as strings

Default $sort_flag value is Collator::SORT_REGULAR. It is also used if an invalid $sort_flag value has been specified.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 collator_asort()example

<?php
$coll = collator_create( 'en_US' );
$arr = array(
     'a' => '100',
     'b' => '50',
     'c' => '7'
);
collator_asort( $coll, $arr, Collator::SORT_NUMERIC );
var_export( $arr );

collator_asort( $coll, $arr, Collator::SORT_STRING );
var_export( $arr );
?>

O exemplo acima irá imprimir:

array (
  'c' => '7',
  'b' => '50',
  'a' => '100',
)array (
  'a' => '100',
  'b' => '50',
  'c' => '7',
)

Veja Também

  • Collator constants
  • collator_sort() - Sort array using specified collator
  • collator_sort_with_sort_keys() - Sort array using specified collator and sort keys


Compare two Unicode strings

  • « Collator::asort
  • Collator::__construct »
  • PHP Manual
  • Collator
  • Compare two Unicode strings

Collator::compare

collator_compare

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::compare -- collator_compare — Compare two Unicode strings

Descrição

Estilo orientado à objeto

public Collator::compare ( string $string1 , string $string2 ) : int|false

Estilo procedural

collator_compare ( Collator $object , string $string1 , string $string2 ) : int|false

Compare two Unicode strings according to collation rules.

Parâmetros

object

Collator object.

string1

The first string to compare.

string2

The second string to compare.

Valor Retornado

Return comparison result:

  • 1 if string1 is greater than string2 ;

  • 0 if string1 is equal to string2;

  • -1 if string1 is less than string2 .

On error bool false is returned.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Exemplos

Exemplo #1 collator_compare()example

<?php
$s1 = 'Hello';
$s2 = 'hello';

$coll = collator_create( 'en_US' );
$res  = collator_compare( $coll, $s1, $s2 );

if ($res === false) {
    echo collator_get_error_message( $coll );
} else if( $res > 0 ) {
    echo "s1 is greater than s2\n";
} else if( $res < 0 ) {
    echo "s1 is less than s2\n";
} else {
    echo "s1 is equal to s2\n";
}
?>

O exemplo acima irá imprimir:

s1 is greater than s2

Veja Também

  • collator_sort() - Sort array using specified collator


Create a collator

  • « Collator::compare
  • Collator::create »
  • PHP Manual
  • Collator
  • Create a collator

Collator::__construct

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::__construct — Create a collator

Descrição

public Collator::__construct ( string $locale )

Creates a new instance of Collator.

Parâmetros

locale

The locale whose collation rules should be used. Special values for locales can be passed in - if null is passed for the locale, the default locale's collation rules will be used. If "root" is passed, UCA rules will be used.

The Locale attribute is typically the most important attribute for correct sorting and matching, according to the user expectations in different countries and regions. The default » UCA ordering will only sort a few languages such as Dutch and Portuguese correctly ("correctly" meaning according to the normal expectations for users of the languages). Otherwise, you need to supply the locale to UCA in order to properly collate text for a given language. Thus a locale needs to be supplied so as to choose a collator that is correctly tailored for that locale. The choice of a locale will automatically preset the values for all of the attributes to something that is reasonable for that locale. Thus most of the time the other attributes do not need to be explicitly set. In some cases, the choice of locale will make a difference in string comparison performance and/or sort key length.

Valor Retornado

Returns Collator instance.

Erros

Returns an "empty" object on error. You can use intl_get_error_code() and/or intl_get_error_message() to know what happened.

Exemplos

Exemplo #1 Collator::__construct() example

<?php
$coll = new Collator( 'en_CA' );
?>

Veja Também

  • Collator::create() - Create a collator
  • collator_create() - Create a collator


Create a collator

  • « Collator::__construct
  • Collator::getAttribute »
  • PHP Manual
  • Collator
  • Create a collator

Collator::create

collator_create

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::create -- collator_create — Create a collator

Descrição

Estilo orientado à objeto

public static Collator::create ( string $locale ) : Collator|null

Estilo procedural

collator_create ( string $locale ) : Collator|null

The strings will be compared using the options already specified.

Parâmetros

locale

The locale containing the required collation rules. Special values for locales can be passed in - if null is passed for the locale, the default locale collation rules will be used. If empty string ("") or "root" are passed, » UCA rules will be used.

Valor Retornado

Return new instance of Collator object, or null on error.

Exemplos

Exemplo #1 collator_create() example

<?php
$coll = collator_create( 'en_US' );

if( !isset( $coll ) ) {
    printf( "Collator creation failed: %s\n", intl_get_error_message() );
    exit( 1 );
}
?>

Veja Também

  • Collator::__construct() - Create a collator


Get collation attribute value

  • « Collator::create
  • Collator::getErrorCode »
  • PHP Manual
  • Collator
  • Get collation attribute value

Collator::getAttribute

collator_get_attribute

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::getAttribute -- collator_get_attribute — Get collation attribute value

Descrição

Estilo orientado à objeto

public Collator::getAttribute ( int $attribute ) : int|false

Estilo procedural

collator_get_attribute ( Collator $object , int $attribute ) : int|false

Get a value of an integer collator attribute.

Parâmetros

object

Collator object.

attribute

Attribute to get value for.

Valor Retornado

Attribute value, or bool false on error.

Exemplos

Exemplo #1 collator_get_attribute() example

<?php
$coll = collator_create( 'en_CA' );
$val = collator_get_attribute( $coll, Collator::NUMERIC_COLLATION );
if( $val === false )
{
    // Handle error.
}
?>

Veja Também

  • Collator constants
  • collator_set_attribute() - Set collation attribute
  • collator_get_strength() - Get current collation strength


Get collator's last error code

  • « Collator::getAttribute
  • Collator::getErrorMessage »
  • PHP Manual
  • Collator
  • Get collator's last error code

Collator::getErrorCode

collator_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::getErrorCode -- collator_get_error_code — Get collator's last error code

Descrição

Estilo orientado à objeto

public Collator::getErrorCode ( ) : int|false

Estilo procedural

collator_get_error_code ( Collator $object ) : int|false

Parâmetros

object

Collator object.

Valor Retornado

Error code returned by the last Collator API function call, ou false em caso de falha.

Exemplos

Exemplo #1 collator_get_error_code() example

<?php
$coll = collator_create( 'en_US' );
if( collator_get_attribute( $coll, Collator::FRENCH_COLLATION ) === false )
        handle_error( collator_get_error_code() );
?>

Veja Também

  • collator_get_error_message() - Get text for collator's last error code


Get text for collator's last error code

  • « Collator::getErrorCode
  • Collator::getLocale »
  • PHP Manual
  • Collator
  • Get text for collator's last error code

Collator::getErrorMessage

collator_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::getErrorMessage -- collator_get_error_message — Get text for collator's last error code

Descrição

Estilo orientado à objeto

public Collator::getErrorMessage ( ) : string|false

Estilo procedural

collator_get_error_message ( Collator $object ) : string|false

Retrieves the message for the last error.

Parâmetros

object

Collator object.

Valor Retornado

Description of an error occurred in the last Collator API function call, ou false em caso de falha.

Exemplos

Exemplo #1 collator_get_error_message() example

<?php
$coll = collator_create( 'lt' );
if( collator_compare( $coll, 'y', 'k' ) === false ) {
    echo collator_get_error_message( $coll );
}
?>

Veja Também

  • collator_get_error_code() - Get collator's last error code


Get the locale name of the collator

  • « Collator::getErrorMessage
  • Collator::getSortKey »
  • PHP Manual
  • Collator
  • Get the locale name of the collator

Collator::getLocale

collator_get_locale

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::getLocale -- collator_get_locale — Get the locale name of the collator

Descrição

Estilo orientado à objeto

public Collator::getLocale ( int $type ) : string|false

Estilo procedural

collator_get_locale ( Collator $object , int $type ) : string|false

Get collector locale name.

Parâmetros

object

Collator object.

type

You can choose between valid and actual locale ( Locale::VALID_LOCALE and Locale::ACTUAL_LOCALE, respectively).

Valor Retornado

Real locale name from which the collation data comes. If the collator was instantiated from rules or an error occurred, returns bool false.

Exemplos

Exemplo #1 collator_get_locale() example

<?php
$coll    = collator_create( 'en_US_California' );
$res_val = collator_get_locale( $coll, Locale::VALID_LOCALE );
$res_act = collator_get_locale( $coll, Locale::ACTUAL_LOCALE );
printf( "Valid locale name: %s\nActual locale name: %s\n",
         $res_val, $res_act );
?>

O exemplo acima irá imprimir:

Requested locale name: en_US_California
Valid locale name: en_US
Actual locale name: en

Veja Também

  • collator_create() - Create a collator


Get sorting key for a string

  • « Collator::getLocale
  • Collator::getStrength »
  • PHP Manual
  • Collator
  • Get sorting key for a string

Collator::getSortKey

collator_get_sort_key

(PHP 5 >= 5.3.2, PHP 7, PECL intl >= 1.0.3)

Collator::getSortKey -- collator_get_sort_key — Get sorting key for a string

Descrição

Estilo orientado à objeto

public Collator::getSortKey ( string $string ) : string|false

Estilo procedural

collator_get_sort_key ( Collator $object , string $string ) : string|false

Return collation key for a string. Collation keys can be compared directly instead of strings, though are implementation specific and may change between ICU library versions. Sort keys are generally only useful in databases or other circumstances where function calls are extremely expensive.

Parâmetros

object

Collator object.

string

The string to produce the key from.

Valor Retornado

Returns the collation key for the string, ou false em caso de falha.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Changelog

Versão | Descrição
5.3.15, 5.4.5 | Sort keys do no longer contain any NUL bytes.

Exemplos

Exemplo #1 collator_get_sort_key()example

<?php
$s1 = 'Hello';

$coll = collator_create('en_US');
$res  = collator_get_sort_key($coll, $s1);

echo bin2hex($res);
?>

O exemplo acima irá imprimir algo similar à:

3832404046010901dc08

Veja Também

  • collator_sort() - Sort array using specified collator
  • collator_sort_with_sort_keys() - Sort array using specified collator and sort keys


Get current collation strength

  • « Collator::getSortKey
  • Collator::setAttribute »
  • PHP Manual
  • Collator
  • Get current collation strength

Collator::getStrength

collator_get_strength

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::getStrength -- collator_get_strength — Get current collation strength

Descrição

Estilo orientado à objeto

public Collator::getStrength ( ) : int

Estilo procedural

collator_get_strength ( Collator $object ) : int

Parâmetros

object

Collator object.

Valor Retornado

Returns current collation strength, or bool false on error.

Exemplos

Exemplo #1 collator_get_strength() example

<?php
$coll     = collator_create( 'en_US' );
$strength = collator_get_strength( $coll );
?>

Veja Também

  • Collator constants
  • collator_set_strength() - Set collation strength
  • collator_get_attribute() - Get collation attribute value


Set collation attribute

  • « Collator::getStrength
  • Collator::setStrength »
  • PHP Manual
  • Collator
  • Set collation attribute

Collator::setAttribute

collator_set_attribute

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::setAttribute -- collator_set_attribute — Set collation attribute

Descrição

Estilo orientado à objeto

public Collator::setAttribute ( int $attribute , int $value ) : bool

Estilo procedural

collator_set_attribute ( Collator $object , int $attribute , int $value ) : bool

Parâmetros

object

Collator object.

attribute

Attribute.

value

Attribute value.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 collator_set_attribute() example

<?php
$coll = collator_create( 'en_CA' );
$val  = collator_get_attribute( $coll, Collator::NUMERIC_COLLATION );
if ($val === false) {
    // Handle error.
} elseif ($val === Collator::ON) {
    // Do something useful.
}
?>

Veja Também

  • Collator constants
  • collator_get_attribute() - Get collation attribute value
  • collator_set_strength() - Set collation strength


Set collation strength

  • « Collator::setAttribute
  • Collator::sortWithSortKeys »
  • PHP Manual
  • Collator
  • Set collation strength

Collator::setStrength

collator_set_strength

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::setStrength -- collator_set_strength — Set collation strength

Descrição

Estilo orientado à objeto

public Collator::setStrength ( int $strength ) : bool

Estilo procedural

collator_set_strength ( Collator $object , int $strength ) : bool

The » ICU Collation Service supports many levels of comparison (named "Levels", but also known as "Strengths"). Having these categories enables ICU to sort strings precisely according to local conventions. However, by allowing the levels to be selectively employed, searching for a string in text can be performed with various matching conditions.

  1. Primary Level: Typically, this is used to denote differences between base characters (for example, "a" < "b"). It is the strongest difference. For example, dictionaries are divided into different sections by base character. This is also called the level1 strength.

  2. Secondary Level: Accents in the characters are considered secondary differences (for example, "as" < "às" < "at"). Other differences between letters can also be considered secondary differences, depending on the language. A secondary difference is ignored when there is a primary difference anywhere in the strings. This is also called the level2 strength.

    Nota:

    Note: In some languages (such as Danish), certain accented letters are considered to be separate base characters. In most languages, however, an accented letter only has a secondary difference from the unaccented version of that letter.

  3. Tertiary Level: Upper and lower case differences in characters are distinguished at the tertiary level (for example, "ao" < "Ao" < "aò"). In addition, a variant of a letter differs from the base form on the tertiary level (such as "A" and " "). Another example is the difference between large and small Kana. A tertiary difference is ignored when there is a primary or secondary difference anywhere in the strings. This is also called the level3 strength.

  4. Quaternary Level: When punctuation is ignored (see Ignoring Punctuations ) at level 13, an additional level can be used to distinguish words with and without punctuation (for example, "ab" < "a-b" < "aB"). This difference is ignored when there is a primary, secondary or tertiary difference. This is also known as the level4 strength. The quaternary level should only be used if ignoring punctuation is required or when processing Japanese text (see Hiragana processing).

  5. Identical Level: When all other levels are equal, the identical level is used as a tiebreaker. The Unicode code point values of the NFD form of each string are compared at this level, just in case there is no difference at levels 14. For example, Hebrew cantillation marks are only distinguished at this level. This level should be used sparingly, as only code point values differences between two strings is an extremely rare occurrence. Using this level substantially decreases the performance for both incremental comparison and sort key generation (as well as increasing the sort key length). It is also known as level 5 strength.

For example, people may choose to ignore accents or ignore accents and case when searching for text. Almost all characters are distinguished by the first three levels, and in most locales the default value is thus Tertiary. However, if Alternate is set to be Shifted, then the Quaternary strength can be used to break ties among whitespace, punctuation, and symbols that would otherwise be ignored. If very fine distinctions among characters are required, then the Identical strength can be used (for example, Identical Strength distinguishes between the Mathematical Bold Small A and the Mathematical Italic Small A.). However, using levels higher than Tertiary the Identical strength result in significantly longer sort keys, and slower string comparison performance for equal strings.

Parâmetros

object

Collator object.

strength

Strength to set.

Possible values are:

  • Collator::PRIMARY

  • Collator::SECONDARY

  • Collator::TERTIARY

  • Collator::QUATERNARY

  • Collator::IDENTICAL

  • Collator::DEFAULT_STRENGTH

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 collator_set_strength() example

<?php
$arr  = array( 'aò', 'Ao', 'ao' );
$coll = collator_create( 'en_US' );

// Sort array using default strength.
collator_sort( $coll, $arr );
var_export( $arr );

// Sort array using primary strength.
collator_set_strength( $coll, Collator::PRIMARY );
collator_sort( $coll, $arr );
var_export( $arr );
?>

O exemplo acima irá imprimir:

array (
  0 => 'ao',
  1 => 'Ao',
  2 => 'aò',
)
array (
  0 => 'aò',
  1 => 'Ao',
  2 => 'ao',
)

Veja Também

  • Collator constants
  • collator_get_strength() - Get current collation strength


Sort array using specified collator and sort keys

  • « Collator::setStrength
  • Collator::sort »
  • PHP Manual
  • Collator
  • Sort array using specified collator and sort keys

Collator::sortWithSortKeys

collator_sort_with_sort_keys

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::sortWithSortKeys -- collator_sort_with_sort_keys — Sort array using specified collator and sort keys

Descrição

Estilo orientado à objeto

public Collator::sortWithSortKeys ( array &$array ) : bool

Estilo procedural

collator_sort_with_sort_keys ( Collator $object , array &$array ) : bool

Similar to collator_sort() but uses ICU sorting keys produced by ucol_getSortKey() to gain more speed on large arrays.

Parâmetros

object

Collator object.

array

Array of strings to sort

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 collator_sort_with_sort_keys() example

<?php
$arr  = array( 'Köpfe', 'Kypper', 'Kopfe' );
$coll = collator_create( 'sv' );

collator_sort_with_sort_keys( $coll, $arr );
var_export( $arr );
?>

O exemplo acima irá imprimir:

array (
  0 => 'Kopfe',
  1 => 'Kypper',
  2 => 'Köpfe',
)

Veja Também

  • Collator constants
  • collator_sort() - Sort array using specified collator
  • collator_asort() - Sort array maintaining index association


Sort array using specified collator

  • « Collator::sortWithSortKeys
  • NumberFormatter »
  • PHP Manual
  • Collator
  • Sort array using specified collator

Collator::sort

collator_sort

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::sort -- collator_sort — Sort array using specified collator

Descrição

Estilo orientado à objeto

public Collator::sort ( array &$array , int $flags = Collator::SORT_REGULAR ) : bool

Estilo procedural

collator_sort ( Collator $object , array &$array , int $flags = Collator::SORT_REGULAR ) : bool

This function sorts an array according to current locale rules.

Equivalent to standard PHP sort() .

Parâmetros

object

Collator object.

array

Array of strings to sort.

flags

Optional sorting type, one of the following:

  • Collator::SORT_REGULAR - compare items normally (don't change types)

  • Collator::SORT_NUMERIC - compare items numerically

  • Collator::SORT_STRING - compare items as strings

Default sorting type is Collator::SORT_REGULAR. It is also used if an invalid flags value has been specified.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 collator_sort() example

<?php
$coll = collator_create( 'en_US' );
$arr  = array( 'at', 'às', 'as' );

var_export( $arr );
collator_sort( $coll, $arr );
var_export( $arr );
?>

O exemplo acima irá imprimir:

array (
  0 => 'at',
  1 => 'às',
  2 => 'as',
)array (
  0 => 'as',
  1 => 'às',
  2 => 'at',
)

Veja Também

  • Collator constants
  • collator_asort() - Sort array maintaining index association
  • collator_sort_with_sort_keys() - Sort array using specified collator and sort keys


The NumberFormatter class

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Introdução

Programs store and operate on numbers using a locale-independent binary representation. When displaying or printing a number it is converted to a locale-specific string. For example, the number 12345.67 is "12,345.67" in the US, "12 345,67" in France and "12.345,67" in Germany.

By invoking the methods provided by the NumberFormatter class, you can format numbers, currencies, and percentages according to the specified or default locale. NumberFormatter is locale-sensitive so you need to create a new NumberFormatter for each locale. NumberFormatter methods format primitive-type numbers, such as double and output the number as a locale-specific string.

For currencies you can use currency format type to create a formatter that returns a string with the formatted number and the appropriate currency sign. Of course, the NumberFormatter class is unaware of exchange rates so, the number output is the same regardless of the specified currency. This means that the same number has different monetary values depending on the currency locale. If the number is 9988776.65 the results will be:

  • 9 988 776,65 € in France
  • 9.988.776,65 € in Germany
  • $9,988,776.65 in the United States

In order to format percentages, create a locale-specific formatter with percentage format type. With this formatter, a decimal fraction such as 0.75 is displayed as 75%.

For more complex formatting, like spelled-out numbers, the rule-based number formatters are used.

Sinopse da classe

NumberFormatter {
/* Métodos */
public __construct ( string $locale , int $style , string $pattern = ? )
public static create ( string $locale , int $style , string $pattern = ? ) : NumberFormatter
public formatCurrency ( float $value , string $currency ) : string|false
public format ( int|float $value , int $type = ? ) : string
public getAttribute ( int $attr ) : int
public getErrorCode ( ) : int
public getErrorMessage ( ) : string
public getLocale ( int $type = ? ) : string
public getPattern ( ) : string
public getSymbol ( int $attr ) : string
public getTextAttribute ( int $attr ) : string
public parseCurrency ( string $value , string &$currency , int &$position = ? ) : float
public parse ( string $value , int $type = ? , int &$position = ? ) : mixed
public setAttribute ( int $attr , int $value ) : bool
public setPattern ( string $pattern ) : bool
public setSymbol ( int $attr , string $value ) : bool
public setTextAttribute ( int $attr , string $value ) : bool
}

Constantes pré-definidas

These styles are used by the numfmt_create() to define the type of the formatter.

NumberFormatter::PATTERN_DECIMAL (int)
Decimal format defined by pattern
NumberFormatter::DECIMAL (int)
Decimal format
NumberFormatter::CURRENCY (int)
Currency format
NumberFormatter::PERCENT (int)
Percent format
NumberFormatter::SCIENTIFIC (int)
Scientific format
NumberFormatter::SPELLOUT (int)
Spellout rule-based format
NumberFormatter::ORDINAL (int)
Ordinal rule-based format
NumberFormatter::DURATION (int)
Duration rule-based format
NumberFormatter::PATTERN_RULEBASED (int)
Rule-based format defined by pattern
NumberFormatter::CURRENCY_ACCOUNTING (int)
Currency format for accounting, e.g., ($3.00) for negative currency amount instead of -$3.00. Available as of PHP 7.4.1 and ICU 53.
NumberFormatter::DEFAULT_STYLE (int)
Default format for the locale
NumberFormatter::IGNORE (int)
Alias for PATTERN_DECIMAL

These constants define how the numbers are parsed or formatted. They should be used as arguments to numfmt_format() and numfmt_parse().

NumberFormatter::TYPE_DEFAULT (int)
Derive the type from variable type
NumberFormatter::TYPE_INT32 (int)
Format/parse as 32-bit integer
NumberFormatter::TYPE_INT64 (int)
Format/parse as 64-bit integer
NumberFormatter::TYPE_DOUBLE (int)
Format/parse as floating point value
NumberFormatter::TYPE_CURRENCY (int)
Format/parse as currency value

Number format attribute used by numfmt_get_attribute() and numfmt_set_attribute().

NumberFormatter::PARSE_INT_ONLY (int)
Parse integers only.
NumberFormatter::GROUPING_USED (int)
Use grouping separator.
NumberFormatter::DECIMAL_ALWAYS_SHOWN (int)
Always show decimal point.
NumberFormatter::MAX_INTEGER_DIGITS (int)
Maximum integer digits.
NumberFormatter::MIN_INTEGER_DIGITS (int)
Minimum integer digits.
NumberFormatter::INTEGER_DIGITS (int)
Integer digits.
NumberFormatter::MAX_FRACTION_DIGITS (int)
Maximum fraction digits.
NumberFormatter::MIN_FRACTION_DIGITS (int)
Minimum fraction digits.
NumberFormatter::FRACTION_DIGITS (int)
Fraction digits.
NumberFormatter::MULTIPLIER (int)
Multiplier.
NumberFormatter::GROUPING_SIZE (int)
Grouping size.
NumberFormatter::ROUNDING_MODE (int)
Rounding Mode.
NumberFormatter::ROUNDING_INCREMENT (int)
Rounding increment.
NumberFormatter::FORMAT_WIDTH (int)
The width to which the output of format() is padded.
NumberFormatter::PADDING_POSITION (int)
The position at which padding will take place. See pad position constants for possible argument values.
NumberFormatter::SECONDARY_GROUPING_SIZE (int)
Secondary grouping size.
NumberFormatter::SIGNIFICANT_DIGITS_USED (int)
Use significant digits.
NumberFormatter::MIN_SIGNIFICANT_DIGITS (int)
Minimum significant digits.
NumberFormatter::MAX_SIGNIFICANT_DIGITS (int)
Maximum significant digits.
NumberFormatter::LENIENT_PARSE (int)
Lenient parse mode used by rule-based formats.

Number format text attribute used by numfmt_get_text_attribute() and numfmt_set_text_attribute().

NumberFormatter::POSITIVE_PREFIX (int)
Positive prefix.
NumberFormatter::POSITIVE_SUFFIX (int)
Positive suffix.
NumberFormatter::NEGATIVE_PREFIX (int)
Negative prefix.
NumberFormatter::NEGATIVE_SUFFIX (int)
Negative suffix.
NumberFormatter::PADDING_CHARACTER (int)
The character used to pad to the format width.
NumberFormatter::CURRENCY_CODE (int)
The ISO currency code.
NumberFormatter::DEFAULT_RULESET (int)
The default rule set. This is only available with rule-based formatters.
NumberFormatter::PUBLIC_RULESETS (int)
The public rule sets. This is only available with rule-based formatters. This is a read-only attribute. The public rulesets are returned as a single string, with each ruleset name delimited by ';' (semicolon).

Number format symbols used by numfmt_get_symbol() and numfmt_set_symbol().

NumberFormatter::DECIMAL_SEPARATOR_SYMBOL (int)
The decimal separator.
NumberFormatter::GROUPING_SEPARATOR_SYMBOL (int)
The grouping separator.
NumberFormatter::PATTERN_SEPARATOR_SYMBOL (int)
The pattern separator.
NumberFormatter::PERCENT_SYMBOL (int)
The percent sign.
NumberFormatter::ZERO_DIGIT_SYMBOL (int)
Zero.
NumberFormatter::DIGIT_SYMBOL (int)
Character representing a digit in the pattern.
NumberFormatter::MINUS_SIGN_SYMBOL (int)
The minus sign.
NumberFormatter::PLUS_SIGN_SYMBOL (int)
The plus sign.
NumberFormatter::CURRENCY_SYMBOL (int)
The currency symbol.
NumberFormatter::INTL_CURRENCY_SYMBOL (int)
The international currency symbol.
NumberFormatter::MONETARY_SEPARATOR_SYMBOL (int)
The monetary separator.
NumberFormatter::EXPONENTIAL_SYMBOL (int)
The exponential symbol.
NumberFormatter::PERMILL_SYMBOL (int)
Per mill symbol.
NumberFormatter::PAD_ESCAPE_SYMBOL (int)
Escape padding character.
NumberFormatter::INFINITY_SYMBOL (int)
Infinity symbol.
NumberFormatter::NAN_SYMBOL (int)
Not-a-number symbol.
NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL (int)
Significant digit symbol.
NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL (int)
The monetary grouping separator.

Rounding mode values used by numfmt_get_attribute()
and numfmt_set_attribute() with
NumberFormatter::ROUNDING_MODE attribute.

NumberFormatter::ROUND_CEILING (int)
Rounding mode to round towards positive infinity.
NumberFormatter::ROUND_DOWN (int)
Rounding mode to round towards zero.
NumberFormatter::ROUND_FLOOR (int)
Rounding mode to round towards negative infinity.
NumberFormatter::ROUND_HALFDOWN (int)
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down.
NumberFormatter::ROUND_HALFEVEN (int)
Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor.
NumberFormatter::ROUND_HALFUP (int)
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up.
NumberFormatter::ROUND_UP (int)
Rounding mode to round away from zero.

Pad position values used by numfmt_get_attribute()
and numfmt_set_attribute() with
NumberFormatter::PADDING_POSITION attribute.

NumberFormatter::PAD_AFTER_PREFIX (int)
Pad characters inserted after the prefix.
NumberFormatter::PAD_AFTER_SUFFIX (int)
Pad characters inserted after the suffix.
NumberFormatter::PAD_BEFORE_PREFIX (int)
Pad characters inserted before the prefix.
NumberFormatter::PAD_BEFORE_SUFFIX (int)
Pad characters inserted before the suffix.

Veja Também

  • » ICU formatting documentation
  • » ICU number formatters
  • » ICU decimal formatters
  • » ICU rule-based number formatters

Índice

  • NumberFormatter::create — Create a number formatter
  • NumberFormatter::formatCurrency — Format a currency value
  • NumberFormatter::format — Format a number
  • NumberFormatter::getAttribute — Get an attribute
  • NumberFormatter::getErrorCode — Get formatter's last error code
  • NumberFormatter::getErrorMessage — Get formatter's last error message
  • NumberFormatter::getLocale — Get formatter locale
  • NumberFormatter::getPattern — Get formatter pattern
  • NumberFormatter::getSymbol — Get a symbol value
  • NumberFormatter::getTextAttribute — Get a text attribute
  • NumberFormatter::parseCurrency — Parse a currency number
  • NumberFormatter::parse — Parse a number
  • NumberFormatter::setAttribute — Set an attribute
  • NumberFormatter::setPattern — Set formatter pattern
  • NumberFormatter::setSymbol — Set a symbol value
  • NumberFormatter::setTextAttribute — Set a text attribute


Create a number formatter

  • « NumberFormatter
  • NumberFormatter::formatCurrency »
  • PHP Manual
  • NumberFormatter
  • Create a number formatter

NumberFormatter::create

numfmt_create

NumberFormatter::__construct

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::create -- numfmt_create -- NumberFormatter::__construct — Create a number formatter

Descrição

Estilo orientado à objeto (method)

public static NumberFormatter::create ( string $locale , int $style , string $pattern = ? ) : NumberFormatter

Estilo procedural

numfmt_create ( string $locale , int $style , string $pattern = ? ) : NumberFormatter

Estilo orientado à objeto (constructor):

public NumberFormatter::__construct ( string $locale , int $style , string $pattern = ? )

Creates a number formatter.

Parâmetros

locale

Locale in which the number would be formatted (locale name, e.g. en_CA).

style

Style of the formatting, one of the format style constants. If NumberFormatter::PATTERN_DECIMAL or NumberFormatter::PATTERN_RULEBASED is passed then the number format is opened using the given pattern, which must conform to the syntax described in » ICU DecimalFormat documentation or » ICU RuleBasedNumberFormat documentation, respectively.

pattern

Pattern string if the chosen style requires a pattern.

Valor Retornado

Returns NumberFormatter object or false on error.

Exemplos

Exemplo #1 numfmt_create() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
$fmt = numfmt_create( 'it', NumberFormatter::SPELLOUT );
echo numfmt_format($fmt, 1142)."\n";
?>

Exemplo #2 NumberFormatter::create() example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo $fmt->format(1234567.891234567890000)."\n";
$fmt = new NumberFormatter( 'it', NumberFormatter::SPELLOUT );
echo $fmt->format(1142)."\n";
?>

O exemplo acima irá imprimir:

1.234.567,891
millicentoquarantadue

Veja Também

  • numfmt_format() - Format a number
  • numfmt_parse() - Parse a number


Format a currency value

  • « NumberFormatter::create
  • NumberFormatter::format »
  • PHP Manual
  • NumberFormatter
  • Format a currency value

NumberFormatter::formatCurrency

numfmt_format_currency

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::formatCurrency -- numfmt_format_currency — Format a currency value

Descrição

Estilo orientado à objeto

public NumberFormatter::formatCurrency ( float $value , string $currency ) : string|false

Estilo procedural

numfmt_format_currency ( NumberFormatter $fmt , float $value , string $currency ) : string|false

Format the currency value according to the formatter rules.

Parâmetros

fmt

NumberFormatter object.

value

The numeric currency value.

currency

The 3-letter ISO 4217 currency code indicating the currency to use.

Valor Retornado

String representing the formatted currency value, ou false em caso de falha.

Exemplos

Exemplo #1 numfmt_format_currency() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "RUR")."\n";
$fmt = numfmt_create( 'ru_RU', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "RUR")."\n";
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
$fmt = new NumberFormatter( 'ru_RU', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
?>

O exemplo acima irá imprimir:

1.234.567,89 €
1.234.567,89 RUR
1 234 567,89€
1 234 567,89?.

Veja Também

  • numfmt_get_error_code() - Get formatter's last error code
  • numfmt_format() - Format a number
  • numfmt_parse_currency() - Parse a currency number


Format a number

  • « NumberFormatter::formatCurrency
  • NumberFormatter::getAttribute »
  • PHP Manual
  • NumberFormatter
  • Format a number

NumberFormatter::format

numfmt_format

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::format -- numfmt_format — Format a number

Descrição

Estilo orientado à objeto

public NumberFormatter::format ( int|float $value , int $type = ? ) : string

Estilo procedural

numfmt_format ( NumberFormatter $fmt , int|float $value , int $type = ? ) : string

Format a numeric value according to the formatter rules.

Parâmetros

fmt

NumberFormatter object.

value

The value to format. Can be int or float, other values will be converted to a numeric value.

type

The formatting type to use.

Valor Retornado

Returns the string containing formatted value, or false on error.

Exemplos

Exemplo #1 numfmt_format() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_format($fmt))) {
    report_error("Formatter error");
}
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Formatter error");
}
?>

O exemplo acima irá imprimir:

1.234.567,891

Veja Também

  • numfmt_get_error_code() - Get formatter's last error code
  • numfmt_format_currency() - Format a currency value
  • numfmt_parse() - Parse a number


Get an attribute

  • « NumberFormatter::format
  • NumberFormatter::getErrorCode »
  • PHP Manual
  • NumberFormatter
  • Get an attribute

NumberFormatter::getAttribute

numfmt_get_attribute

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getAttribute -- numfmt_get_attribute — Get an attribute

Descrição

Estilo orientado à objeto

public NumberFormatter::getAttribute ( int $attr ) : int

Estilo procedural

numfmt_get_attribute ( NumberFormatter $fmt , int $attr ) : int

Get a numeric attribute associated with the formatter. An example of a numeric attribute is the number of integer digits the formatter will produce.

Parâmetros

fmt

NumberFormatter object.

attr

Attribute specifier - one of the numeric attribute constants.

Valor Retornado

Return attribute value on success, or false on error.

Exemplos

Exemplo #1 numfmt_get_attribute() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

O exemplo acima irá imprimir:

Digits: 3
1.234.567,891
Digits: 2
1.234.567,89

Veja Também

  • numfmt_get_error_code() - Get formatter's last error code
  • numfmt_get_text_attribute() - Get a text attribute
  • numfmt_set_attribute() - Set an attribute


Get formatter's last error code

  • « NumberFormatter::getAttribute
  • NumberFormatter::getErrorMessage »
  • PHP Manual
  • NumberFormatter
  • Get formatter's last error code

NumberFormatter::getErrorCode

numfmt_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getErrorCode -- numfmt_get_error_code — Get formatter's last error code

Descrição

Estilo orientado à objeto

public NumberFormatter::getErrorCode ( ) : int

Estilo procedural

numfmt_get_error_code ( NumberFormatter $fmt ) : int

Get error code from the last function performed by the formatter.

Parâmetros

fmt

NumberFormatter object.

Valor Retornado

Returns error code from last formatter call.

Exemplos

Exemplo #1 numfmt_get_error_code() example

<?php
$fmt  = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_get_error_code($fmt))) {
    report_error("Formatter error");
}
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Formatter error");
}
?>

Veja Também

  • numfmt_get_error_message() - Get formatter's last error message
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure


Get formatter's last error message

  • « NumberFormatter::getErrorCode
  • NumberFormatter::getLocale »
  • PHP Manual
  • NumberFormatter
  • Get formatter's last error message

NumberFormatter::getErrorMessage

numfmt_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getErrorMessage -- numfmt_get_error_message — Get formatter's last error message

Descrição

Estilo orientado à objeto

public NumberFormatter::getErrorMessage ( ) : string

Estilo procedural

numfmt_get_error_message ( NumberFormatter $fmt ) : string

Get error message from the last function performed by the formatter.

Parâmetros

fmt

NumberFormatter object.

Valor Retornado

Returns error message from last formatter call.

Exemplos

Exemplo #1 numfmt_get_error_message() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
var_dump(numfmt_get_error_message($fmt));
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
var_dump(numfmt_get_error_message($fmt));
?>

Veja Também

  • numfmt_get_error_code() - Get formatter's last error code
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure


Get formatter locale

  • « NumberFormatter::getErrorMessage
  • NumberFormatter::getPattern »
  • PHP Manual
  • NumberFormatter
  • Get formatter locale

NumberFormatter::getLocale

numfmt_get_locale

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getLocale -- numfmt_get_locale — Get formatter locale

Descrição

Estilo orientado à objeto

public NumberFormatter::getLocale ( int $type = ? ) : string

Estilo procedural

numfmt_get_locale ( NumberFormatter $fmt , int $type = ? ) : string

Get formatter locale name.

Parâmetros

fmt

NumberFormatter object.

type

You can choose between valid and actual locale ( Locale::VALID_LOCALE, Locale::ACTUAL_LOCALE, respectively). The default is the actual locale.

Valor Retornado

The locale name used to create the formatter.

Exemplos

Exemplo #1 numfmt_get_locale() example

<?php
$req     = 'fr_FR_PARIS';
$fmt     = numfmt_create( $req,  NumberFormatter::DECIMAL);
$res_val = numfmt_get_locale( $fmt, Locale::VALID_LOCALE );
$res_act = numfmt_get_locale( $fmt, Locale::ACTUAL_LOCALE );
printf( "Requested locale name: %s\nValid locale name: %s\nActual locale name: %s\n",
         $req, $res_val, $res_act );
?>

O exemplo acima irá imprimir:

Requested locale name: fr_FR_PARIS
Valid locale name: fr_FR
Actual locale name: fr

Veja Também

  • numfmt_create() - Create a number formatter
  • numfmt_get_error_code() - Get formatter's last error code


Get formatter pattern

  • « NumberFormatter::getLocale
  • NumberFormatter::getSymbol »
  • PHP Manual
  • NumberFormatter
  • Get formatter pattern

NumberFormatter::getPattern

numfmt_get_pattern

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getPattern -- numfmt_get_pattern — Get formatter pattern

Descrição

Estilo orientado à objeto

public NumberFormatter::getPattern ( ) : string

Estilo procedural

numfmt_get_pattern ( NumberFormatter $fmt ) : string

Extract pattern used by the formatter.

Parâmetros

fmt

NumberFormatter object.

Valor Retornado

Pattern string that is used by the formatter, or false if an error happens.

Exemplos

Exemplo #1 numfmt_get_pattern() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Pattern: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_pattern($fmt, "#0.# kg");
echo "Pattern: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Pattern: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setPattern("#0.# kg");
echo "Pattern: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

O exemplo acima irá imprimir:

Pattern: #,##0.###
1.234.567,891
Pattern: #0.# kg
1234567,9 kg

Veja Também

  • numfmt_get_error_code() - Get formatter's last error code
  • numfmt_set_pattern() - Set formatter pattern
  • numfmt_create() - Create a number formatter


Get a symbol value

  • « NumberFormatter::getPattern
  • NumberFormatter::getTextAttribute »
  • PHP Manual
  • NumberFormatter
  • Get a symbol value

NumberFormatter::getSymbol

numfmt_get_symbol

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getSymbol -- numfmt_get_symbol — Get a symbol value

Descrição

Estilo orientado à objeto

public NumberFormatter::getSymbol ( int $attr ) : string

Estilo procedural

numfmt_get_symbol ( NumberFormatter $fmt , int $attr ) : string

Get a symbol associated with the formatter. The formatter uses symbols to represent the special locale-dependent characters in a number, for example the percent sign. This API is not supported for rule-based formatters.

Parâmetros

fmt

NumberFormatter object.

attr

Symbol specifier, one of the format symbol constants.

Valor Retornado

The symbol string or false on error.

Exemplos

Exemplo #1 numfmt_get_symbol() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

O exemplo acima irá imprimir:

Sep: .
1.234.567,891
Sep: *
1*234*567,891

Veja Também

  • numfmt_get_error_code() - Get formatter's last error code
  • numfmt_set_symbol() - Set a symbol value


Get a text attribute

  • « NumberFormatter::getSymbol
  • NumberFormatter::parseCurrency »
  • PHP Manual
  • NumberFormatter
  • Get a text attribute

NumberFormatter::getTextAttribute

numfmt_get_text_attribute

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getTextAttribute -- numfmt_get_text_attribute — Get a text attribute

Descrição

Estilo orientado à objeto

public NumberFormatter::getTextAttribute ( int $attr ) : string

Estilo procedural

numfmt_get_text_attribute ( NumberFormatter $fmt , int $attr ) : string

Get a text attribute associated with the formatter. An example of a text attribute is the suffix for positive numbers. If the formatter does not understand the attribute, U_UNSUPPORTED_ERROR error is produced. Rule-based formatters only understand NumberFormatter::DEFAULT_RULESET and NumberFormatter::PUBLIC_RULESETS.

Parâmetros

fmt

NumberFormatter object.

attr

Attribute specifier - one of the text attribute constants.

Valor Retornado

Return attribute value on success, or false on error.

Exemplos

Exemplo #1 numfmt_get_text_attribute() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
numfmt_set_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
$fmt->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
?>

O exemplo acima irá imprimir:

Prefix: -
-1.234.567,891
Prefix: MINUS
MINUS1.234.567,891

Veja Também

  • numfmt_get_error_code() - Get formatter's last error code
  • numfmt_get_attribute() - Get an attribute
  • numfmt_set_text_attribute() - Set a text attribute


Parse a currency number

  • « NumberFormatter::getTextAttribute
  • NumberFormatter::parse »
  • PHP Manual
  • NumberFormatter
  • Parse a currency number

NumberFormatter::parseCurrency

numfmt_parse_currency

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::parseCurrency -- numfmt_parse_currency — Parse a currency number

Descrição

Estilo orientado à objeto

public NumberFormatter::parseCurrency ( string $value , string &$currency , int &$position = ? ) : float

Estilo procedural

numfmt_parse_currency ( NumberFormatter $fmt , string $value , string &$currency , int &$position = ? ) : float

Parse a string into a double and a currency using the current formatter.

Parâmetros

fmt

NumberFormatter object.

currency

Parameter to receive the currency name (3-letter ISO 4217 currency code).

position

Offset in the string at which to begin parsing. On return, this value will hold the offset at which parsing ended.

Valor Retornado

The parsed numeric value or false on error.

Exemplos

Exemplo #1 numfmt_parse_currency() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY );
$num = "1.234.567,89\xc2\xa0$";
echo "We have ".numfmt_parse_currency($fmt, $num, $curr)." in $curr\n";
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
$num = "1.234.567,89\xc2\xa0$";
echo "We have ".$fmt->parseCurrency($num, $curr)." in $curr\n";
?>

O exemplo acima irá imprimir:

We have 1234567.89 in USD

Veja Também

  • numfmt_get_error_code() - Get formatter's last error code
  • numfmt_parse() - Parse a number
  • numfmt_format_currency() - Format a currency value


Parse a number

  • « NumberFormatter::parseCurrency
  • NumberFormatter::setAttribute »
  • PHP Manual
  • NumberFormatter
  • Parse a number

NumberFormatter::parse

numfmt_parse

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::parse -- numfmt_parse — Parse a number

Descrição

Estilo orientado à objeto

public NumberFormatter::parse ( string $value , int $type = ? , int &$position = ? ) : mixed

Estilo procedural

numfmt_parse ( NumberFormatter $fmt , string $value , int $type = ? , int &$position = ? ) : mixed

Parse a string into a number using the current formatter rules.

Parâmetros

fmt

NumberFormatter object.

type

The formatting type to use. By default, NumberFormatter::TYPE_DOUBLE is used.

position

Offset in the string at which to begin parsing. On return, this value will hold the offset at which parsing ended.

Valor Retornado

The value of the parsed number or false on error.

Exemplos

Exemplo #1 numfmt_parse() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo numfmt_parse($fmt, $num)."\n";
echo numfmt_parse($fmt, $num, NumberFormatter::TYPE_INT32)."\n";
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo $fmt->parse($num)."\n";
echo $fmt->parse($num, NumberFormatter::TYPE_INT32)."\n";
?>

O exemplo acima irá imprimir:

1234567.891
1234567

Veja Também

  • numfmt_get_error_code() - Get formatter's last error code
  • numfmt_format() - Format a number
  • numfmt_parse_currency() - Parse a currency number


Set an attribute

  • « NumberFormatter::parse
  • NumberFormatter::setPattern »
  • PHP Manual
  • NumberFormatter
  • Set an attribute

NumberFormatter::setAttribute

numfmt_set_attribute

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::setAttribute -- numfmt_set_attribute — Set an attribute

Descrição

Estilo orientado à objeto

public NumberFormatter::setAttribute ( int $attr , int $value ) : bool

Estilo procedural

numfmt_set_attribute ( NumberFormatter $fmt , int $attr , int $value ) : bool

Set a numeric attribute associated with the formatter. An example of a numeric attribute is the number of integer digits the formatter will produce.

Parâmetros

fmt

NumberFormatter object.

attr

Attribute specifier - one of the numeric attribute constants.

value

The attribute value.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 numfmt_set_attribute() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

O exemplo acima irá imprimir:

Digits: 3
1.234.567,891
Digits: 2
1.234.567,89

Veja Também

  • numfmt_get_error_code() - Get formatter's last error code
  • numfmt_get_attribute() - Get an attribute
  • numfmt_set_text_attribute() - Set a text attribute


Set formatter pattern

  • « NumberFormatter::setAttribute
  • NumberFormatter::setSymbol »
  • PHP Manual
  • NumberFormatter
  • Set formatter pattern

NumberFormatter::setPattern

numfmt_set_pattern

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::setPattern -- numfmt_set_pattern — Set formatter pattern

Descrição

Estilo orientado à objeto

public NumberFormatter::setPattern ( string $pattern ) : bool

Estilo procedural

numfmt_set_pattern ( NumberFormatter $fmt , string $pattern ) : bool

Set the pattern used by the formatter. Can not be used on a rule-based formatter.

Parâmetros

fmt

NumberFormatter object.

pattern

Pattern in syntax described in » ICU DecimalFormat documentation.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 numfmt_set_pattern() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Pattern: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_pattern($fmt, "#0.# kg");
echo "Pattern: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Pattern: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setPattern("#0.# kg");
echo "Pattern: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

O exemplo acima irá imprimir:

Pattern: #,##0.###
1.234.567,891
Pattern: #0.# kg
1234567,9 kg

Veja Também

  • numfmt_get_error_code() - Get formatter's last error code
  • numfmt_create() - Create a number formatter
  • numfmt_get_pattern() - Get formatter pattern


Set a symbol value

  • « NumberFormatter::setPattern
  • NumberFormatter::setTextAttribute »
  • PHP Manual
  • NumberFormatter
  • Set a symbol value

NumberFormatter::setSymbol

numfmt_set_symbol

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::setSymbol -- numfmt_set_symbol — Set a symbol value

Descrição

Estilo orientado à objeto

public NumberFormatter::setSymbol ( int $attr , string $value ) : bool

Estilo procedural

numfmt_set_symbol ( NumberFormatter $fmt , int $attr , string $value ) : bool

Set a symbol associated with the formatter. The formatter uses symbols to represent the special locale-dependent characters in a number, for example the percent sign. This API is not supported for rule-based formatters.

Parâmetros

fmt

NumberFormatter object.

attr

Symbol specifier, one of the format symbol constants.

value

Text for the symbol.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 numfmt_set_symbol() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

O exemplo acima irá imprimir:

Sep: .
1.234.567,891
Sep: *
1*234*567,891

Veja Também

  • numfmt_get_error_code() - Get formatter's last error code
  • numfmt_get_symbol() - Get a symbol value


Set a text attribute

  • « NumberFormatter::setSymbol
  • Locale »
  • PHP Manual
  • NumberFormatter
  • Set a text attribute

NumberFormatter::setTextAttribute

numfmt_set_text_attribute

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::setTextAttribute -- numfmt_set_text_attribute — Set a text attribute

Descrição

Estilo orientado à objeto

public NumberFormatter::setTextAttribute ( int $attr , string $value ) : bool

Estilo procedural

numfmt_set_text_attribute ( NumberFormatter $fmt , int $attr , string $value ) : bool

Set a text attribute associated with the formatter. An example of a text attribute is the suffix for positive numbers. If the formatter does not understand the attribute, U_UNSUPPORTED_ERROR error is produced. Rule-based formatters only understand NumberFormatter::DEFAULT_RULESET and NumberFormatter::PUBLIC_RULESETS.

Parâmetros

fmt

NumberFormatter object.

attr

Attribute specifier - one of the text attribute constants.

value

Text for the attribute value.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 numfmt_set_text_attribute() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
numfmt_set_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
?>

Exemplo #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
$fmt->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
?>

O exemplo acima irá imprimir:

Prefix: -
-1.234.567,891
Prefix: MINUS
MINUS1.234.567,891

Veja Também

  • numfmt_get_error_code() - Get formatter's last error code
  • numfmt_get_text_attribute() - Get a text attribute
  • numfmt_set_attribute() - Set an attribute


The Locale class

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Introdução

A "Locale" is an identifier used to get language, culture, or regionally-specific behavior from an API. PHP locales are organized and identified the same way that the CLDR locales used by ICU (and many vendors of Unix-like operating systems, the Mac, Java, and so forth) use. Locales are identified using RFC 4646 language tags (which use hyphen, not underscore) in addition to the more traditional underscore-using identifiers. Unless otherwise noted the functions in this class are tolerant of both formats.

Examples of identifiers include:

  • en-US (English, United States)
  • zh-Hant-TW (Chinese, Traditional Script, Taiwan)
  • fr-CA, fr-FR (French for Canada and France respectively)

The Locale class (and related procedural functions) are used to interact with locale identifiers--to verify that an ID is well-formed, valid, etc. The extensions used by CLDR in UAX #35 (and inherited by ICU) are valid and used wherever they would be in ICU normally.

Locales cannot be instantiated as objects. All of the functions/methods provided are static.

The null or empty string obtains the "root" locale. The "root" locale is equivalent to "en_US_POSIX" in CLDR. Language tags (and thus locale identifiers) are case insensitive. There exists a canonicalization function to make case match the specification.

Sinopse da classe

Locale {
/* Métodos */
public static acceptFromHttp ( string $header ) : string
public static canonicalize ( string $locale ) : string
public static composeLocale ( array $subtags ) : string
public static filterMatches ( string $langtag , string $locale , bool $canonicalize = false ) : bool
public static getAllVariants ( string $locale ) : array
public static getDefault ( ) : string
public static getDisplayLanguage ( string $locale , string $in_locale = ? ) : string
public static getDisplayName ( string $locale , string $in_locale = ? ) : string
public static getDisplayRegion ( string $locale , string $in_locale = ? ) : string
public static getDisplayScript ( string $locale , string $in_locale = ? ) : string
public static getDisplayVariant ( string $locale , string $in_locale = ? ) : string
public static getKeywords ( string $locale ) : array
public static getPrimaryLanguage ( string $locale ) : string
public static getRegion ( string $locale ) : string
public static getScript ( string $locale ) : string
public static lookup ( array $langtag , string $locale , bool $canonicalize = false , string $default = ? ) : string
public static parseLocale ( string $locale ) : array
public static setDefault ( string $locale ) : bool
}

Constantes pré-definidas

Locale::DEFAULT_LOCALE (null)
Used as locale parameter with the methods of the various locale affected classes, such as NumberFormatter. This constant would make the methods to use default locale.

These constants describe the choice of the locale for the getLocale method of different classes.

Locale::ACTUAL_LOCALE (string)
This is locale the data actually comes from.
Locale::VALID_LOCALE (string)
This is the most specific locale supported by ICU.

These constants define how the Locales are parsed or composed. They should be used as keys in the argument array to locale_compose() and are returned from locale_parse() as keys of the returned associative array.

Locale::LANG_TAG (string)
Language subtag
Locale::EXTLANG_TAG (string)
Extended language subtag
Locale::SCRIPT_TAG (string)
Script subtag
Locale::REGION_TAG (string)
Region subtag
Locale::VARIANT_TAG (string)
Variant subtag
Locale::GRANDFATHERED_LANG_TAG (string)
Grandfathered Language subtag
Locale::PRIVATE_TAG (string)
Private subtag

Veja Também

  • » RFC 4646 - Tags for Identifying Languages
  • » RFC 4647 - Matching of Language Tags
  • » Unicode CLDR Project:Common Locale Data Repository
  • » IANA Language Subtags Registry
  • » ICU User Guide - Locale
  • » ICU Locale api

Índice

  • Locale::acceptFromHttp — Tries to find out best available locale based on HTTP "Accept-Language" header
  • Locale::canonicalize — Canonicalize the locale string
  • Locale::composeLocale — Returns a correctly ordered and delimited locale ID
  • Locale::filterMatches — Checks if a language tag filter matches with locale
  • Locale::getAllVariants — Gets the variants for the input locale
  • Locale::getDefault — Gets the default locale value from the INTL global 'default_locale'
  • Locale::getDisplayLanguage — Returns an appropriately localized display name for language of the inputlocale
  • Locale::getDisplayName — Returns an appropriately localized display name for the input locale
  • Locale::getDisplayRegion — Returns an appropriately localized display name for region of the input locale
  • Locale::getDisplayScript — Returns an appropriately localized display name for script of the input locale
  • Locale::getDisplayVariant — Returns an appropriately localized display name for variants of the input locale
  • Locale::getKeywords — Gets the keywords for the input locale
  • Locale::getPrimaryLanguage — Gets the primary language for the input locale
  • Locale::getRegion — Gets the region for the input locale
  • Locale::getScript — Gets the script for the input locale
  • Locale::lookup — Searches the language tag list for the best match to the language
  • Locale::parseLocale — Returns a key-value array of locale ID subtag elements
  • Locale::setDefault — Sets the default runtime locale


Tries to find out best available locale based on HTTP "Accept-Language" header

  • « Locale
  • Locale::canonicalize »
  • PHP Manual
  • Locale
  • Tries to find out best available locale based on HTTP "Accept-Language" header

Locale::acceptFromHttp

locale_accept_from_http

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::acceptFromHttp -- locale_accept_from_http — Tries to find out best available locale based on HTTP "Accept-Language" header

Descrição

Estilo orientado à objeto

public static Locale::acceptFromHttp ( string $header ) : string

Estilo procedural

locale_accept_from_http ( string $header ) : string

Tries to find locale that can satisfy the language list that is requested by the HTTP "Accept-Language" header.

Parâmetros

header

The string containing the "Accept-Language" header according to format in RFC 2616.

Valor Retornado

The corresponding locale identifier.

Exemplos

Exemplo #1 locale_accept_from_http() example

<?php
$locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;
?>

Exemplo #2 OO example

<?php
$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;
?>

O exemplo acima irá imprimir:

en_US

Veja Também

  • locale_lookup() - Searches the language tag list for the best match to the language


Canonicalize the locale string

  • « Locale::acceptFromHttp
  • Locale::composeLocale »
  • PHP Manual
  • Locale
  • Canonicalize the locale string

Locale::canonicalize

locale_canonicalize

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::canonicalize -- locale_canonicalize — Canonicalize the locale string

Descrição

public static Locale::canonicalize ( string $locale ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

locale

Valor Retornado


Returns a correctly ordered and delimited locale ID

  • « Locale::canonicalize
  • Locale::filterMatches »
  • PHP Manual
  • Locale
  • Returns a correctly ordered and delimited locale ID

Locale::composeLocale

locale_compose

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::composeLocale -- locale_compose — Returns a correctly ordered and delimited locale ID

Descrição

Estilo orientado à objeto

public static Locale::composeLocale ( array $subtags ) : string

Estilo procedural

locale_compose ( array $subtags ) : string

Returns a correctly ordered and delimited locale ID the keys identify the particular locale ID subtags, and the values are the associated subtag values.

Parâmetros

subtags

an array containing a list of key-value pairs, where the keys identify the particular locale ID subtags, and the values are the associated subtag values.

Nota:

The 'variant' and 'private' subtags can take maximum 15 values whereas 'extlang' can take maximum 3 values.e.g. Variants are allowed with the suffix ranging from 0-14. Hence the keys for the input array can be variant0, variant1, ...,variant14. In the returned locale id, the subtag is ordered by suffix resulting in variant0 followed by variant1 followed by variant2 and so on.

The 'variant', 'private' and 'extlang' multiple values can be specified both as array under specific key (e.g. 'variant') and as multiple numbered keys (e.g. 'variant0', 'variant1', etc.).

Valor Retornado

The corresponding locale identifier.

Exemplos

Exemplo #1 locale_compose() example

<?php
$arr = array(
    'language'=>'en' ,
    'script'  =>'Hans' ,
    'region'  =>'CN',
    'variant2'=>'rozaj' ,
    'variant1'=>'nedis' ,
    'private1'=>'prv1' ,
    'private2'=>'prv2'
);
echo locale_compose( $arr );
?>

Exemplo #2 OO example

<?php
$arr = array(
    'language'=>'en' ,
    'script'  =>'Hans' ,
    'region'  =>'CN',
    'variant2'=>'rozaj' ,
    'variant1'=>'nedis' ,
    'private1'=>'prv1' ,
    'private2'=>'prv2'
);
echo Locale::composeLocale( $arr );
?>

O exemplo acima irá imprimir:

Locale: en_Hans_CN_nedis_rozaj_x_prv1_prv2

Veja Também

  • locale_parse() - Returns a key-value array of locale ID subtag elements


Checks if a language tag filter matches with locale

  • « Locale::composeLocale
  • Locale::getAllVariants »
  • PHP Manual
  • Locale
  • Checks if a language tag filter matches with locale

Locale::filterMatches

locale_filter_matches

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::filterMatches -- locale_filter_matches — Checks if a language tag filter matches with locale

Descrição

Estilo orientado à objeto

public static Locale::filterMatches ( string $langtag , string $locale , bool $canonicalize = false ) : bool

Estilo procedural

locale_filter_matches ( string $langtag , string $locale , bool $canonicalize = false ) : bool

Checks if a $langtag filter matches with $locale according to RFC 4647's basic filtering algorithm

Parâmetros

langtag

The language tag to check

locale

The language range to check against

canonicalize

If true, the arguments will be converted to canonical form before matching.

Valor Retornado

true if $locale matches $langtag false otherwise.

Exemplos

Exemplo #1 locale_filter_matches() example

<?php
echo (locale_filter_matches('de-DEVA','de-DE', false)) ? "Matches" : "Does not match";
echo '; ';
echo (locale_filter_matches('de-DE_1996','de-DE', false)) ? "Matches" : "Does not match";
?>

Exemplo #2 OO example

<?php
echo (Locale::filterMatches('de-DEVA','de-DE', false)) ? "Matches" : "Does not match";
echo '; ';
echo (Locale::filterMatches('de-DE-1996','de-DE', false)) ? "Matches" : "Does not match";
?>

O exemplo acima irá imprimir:

Does not match; Matches

Veja Também

  • locale_lookup() - Searches the language tag list for the best match to the language


Gets the variants for the input locale

  • « Locale::filterMatches
  • Locale::getDefault »
  • PHP Manual
  • Locale
  • Gets the variants for the input locale

Locale::getAllVariants

locale_get_all_variants

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getAllVariants -- locale_get_all_variants — Gets the variants for the input locale

Descrição

Estilo orientado à objeto

public static Locale::getAllVariants ( string $locale ) : array

Estilo procedural

locale_get_all_variants ( string $locale ) : array

Gets the variants for the input locale

Parâmetros

locale

The locale to extract the variants from

Valor Retornado

The array containing the list of all variants subtag for the locale or null if not present

Exemplos

Exemplo #1 locale_get_all_variants() example

<?php
$arr = locale_get_all_variants('sl_IT_NEDIS_ROJAZ_1901');
var_export( $arr );
?>

Exemplo #2 OO example

<?php
 $arr = Locale::getAllVariants('sl_IT_NEDIS_ROJAZ_1901');
 var_export( $arr );
?>

O exemplo acima irá imprimir:

array (
    0 => 'NEDIS',
    1 => 'ROJAZ',
    2 => '1901',
)

Veja Também

  • locale_get_primary_language() - Gets the primary language for the input locale
  • locale_get_script() - Gets the script for the input locale
  • locale_get_region() - Gets the region for the input locale


Gets the default locale value from the INTL global 'default_locale'

  • « Locale::getAllVariants
  • Locale::getDisplayLanguage »
  • PHP Manual
  • Locale
  • Gets the default locale value from the INTL global 'default_locale'

Locale::getDefault

locale_get_default

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getDefault -- locale_get_default — Gets the default locale value from the INTL global 'default_locale'

Descrição

Estilo orientado à objeto

public static Locale::getDefault ( ) : string

Estilo procedural

locale_get_default ( ) : string

Gets the default locale value. At the PHP initialization this value is set to 'intl.default_locale' value from php.ini if that value exists or from ICU's function uloc_getDefault().

Parâmetros

Valor Retornado

The current runtime locale

Exemplos

Exemplo #1 locale_get_default() example

<?php
ini_set('intl.default_locale', 'de-DE');
echo locale_get_default();
echo '; ';
locale_set_default('fr');
echo locale_get_default();
?>

Exemplo #2 OO example

<?php
ini_set('intl.default_locale', 'de-DE');
echo Locale::getDefault();
echo '; ';
Locale::setDefault('fr');
echo Locale::getDefault();
?>

O exemplo acima irá imprimir:

de-DE; fr

Veja Também

  • locale_set_default() - Sets the default runtime locale


Returns an appropriately localized display name for language of the inputlocale

  • « Locale::getDefault
  • Locale::getDisplayName »
  • PHP Manual
  • Locale
  • Returns an appropriately localized display name for language of the inputlocale

Locale::getDisplayLanguage

locale_get_display_language

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getDisplayLanguage -- locale_get_display_language — Returns an appropriately localized display name for language of the inputlocale

Descrição

Estilo orientado à objeto

public static Locale::getDisplayLanguage ( string $locale , string $in_locale = ? ) : string

Estilo procedural

locale_get_display_language ( string $locale , string $in_locale = ? ) : string

Returns an appropriately localized display name for language of the input locale. If is null then the default locale is used.

Parâmetros

locale

The locale to return a display language for

in_locale

Optional format locale to use to display the language name

Valor Retornado

display name of the language for the $locale in the format appropriate for $in_locale.

Exemplos

Exemplo #1 locale_get_display_language() example

<?php
echo locale_get_display_language('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_language('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_language('sl-Latn-IT-nedis', 'de');
?>

Exemplo #2 OO example

<?php
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'de');
?>

O exemplo acima irá imprimir:

Slovenian;
slov\xc3\xa8ne;
Slowenisch

Veja Também

  • locale_get_display_name() - Returns an appropriately localized display name for the input locale
  • locale_get_display_script() - Returns an appropriately localized display name for script of the input locale
  • locale_get_display_region() - Returns an appropriately localized display name for region of the input locale
  • locale_get_display_variant() - Returns an appropriately localized display name for variants of the input locale


Returns an appropriately localized display name for the input locale

  • « Locale::getDisplayLanguage
  • Locale::getDisplayRegion »
  • PHP Manual
  • Locale
  • Returns an appropriately localized display name for the input locale

Locale::getDisplayName

locale_get_display_name

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getDisplayName -- locale_get_display_name — Returns an appropriately localized display name for the input locale

Descrição

Estilo orientado à objeto

public static Locale::getDisplayName ( string $locale , string $in_locale = ? ) : string

Estilo procedural

locale_get_display_name ( string $locale , string $in_locale = ? ) : string

Returns an appropriately localized display name for the input locale. If $locale is null then the default locale is used.

Parâmetros

locale

The locale to return a display name for.

in_locale

optional format locale

Valor Retornado

Display name of the locale in the format appropriate for $in_locale.

Exemplos

Exemplo #1 locale_get_display_name() example

<?php
echo locale_get_display_name('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_name('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_name('sl-Latn-IT-nedis', 'de');
?>

Exemplo #2 OO example

<?php
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'de');
?>

O exemplo acima irá imprimir:

Slovenian (Latin, Italy, Natisone dialect);
slov\xc3\xa8ne (latin, Italie, dialecte de Natisone;
Slowenisch (Lateinisch, Italien, NEDIS)

Veja Também

  • locale_get_display_language() - Returns an appropriately localized display name for language of the inputlocale
  • locale_get_display_script() - Returns an appropriately localized display name for script of the input locale
  • locale_get_display_region() - Returns an appropriately localized display name for region of the input locale
  • locale_get_display_variant() - Returns an appropriately localized display name for variants of the input locale


Returns an appropriately localized display name for region of the input locale

  • « Locale::getDisplayName
  • Locale::getDisplayScript »
  • PHP Manual
  • Locale
  • Returns an appropriately localized display name for region of the input locale

Locale::getDisplayRegion

locale_get_display_region

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getDisplayRegion -- locale_get_display_region — Returns an appropriately localized display name for region of the input locale

Descrição

Estilo orientado à objeto

public static Locale::getDisplayRegion ( string $locale , string $in_locale = ? ) : string

Estilo procedural

locale_get_display_region ( string $locale , string $in_locale = ? ) : string

Returns an appropriately localized display name for region of the input locale. If is null then the default locale is used.

Parâmetros

locale

The locale to return a display region for.

in_locale

Optional format locale to use to display the region name

Valor Retornado

display name of the region for the $locale in the format appropriate for $in_locale.

Exemplos

Exemplo #1 locale_get_display_region() example

<?php
echo locale_get_display_region('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_region('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_region('sl-Latn-IT-nedis', 'de');
?>

Exemplo #2 OO example

<?php
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'de');
?>

O exemplo acima irá imprimir:

Italy;
Italie;
Italien

Veja Também

  • locale_get_display_name() - Returns an appropriately localized display name for the input locale
  • locale_get_display_language() - Returns an appropriately localized display name for language of the inputlocale
  • locale_get_display_script() - Returns an appropriately localized display name for script of the input locale
  • locale_get_display_variant() - Returns an appropriately localized display name for variants of the input locale


Returns an appropriately localized display name for script of the input locale

  • « Locale::getDisplayRegion
  • Locale::getDisplayVariant »
  • PHP Manual
  • Locale
  • Returns an appropriately localized display name for script of the input locale

Locale::getDisplayScript

locale_get_display_script

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getDisplayScript -- locale_get_display_script — Returns an appropriately localized display name for script of the input locale

Descrição

Estilo orientado à objeto

public static Locale::getDisplayScript ( string $locale , string $in_locale = ? ) : string

Estilo procedural

locale_get_display_script ( string $locale , string $in_locale = ? ) : string

Returns an appropriately localized display name for script of the input locale. If is null then the default locale is used.

Parâmetros

locale

The locale to return a display script for

in_locale

Optional format locale to use to display the script name

Valor Retornado

Display name of the script for the $locale in the format appropriate for $in_locale.

Exemplos

Exemplo #1 locale_get_display_script() example

<?php
echo locale_get_display_script('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_script('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_script('sl-Latn-IT-nedis', 'de');
?>

Exemplo #2 OO example

<?php
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'de');
?>

O exemplo acima irá imprimir:

Latin;
latin;
Lateinisch

Veja Também

  • locale_get_display_name() - Returns an appropriately localized display name for the input locale
  • locale_get_display_language() - Returns an appropriately localized display name for language of the inputlocale
  • locale_get_display_region() - Returns an appropriately localized display name for region of the input locale
  • locale_get_display_variant() - Returns an appropriately localized display name for variants of the input locale


Returns an appropriately localized display name for variants of the input locale

  • « Locale::getDisplayScript
  • Locale::getKeywords »
  • PHP Manual
  • Locale
  • Returns an appropriately localized display name for variants of the input locale

Locale::getDisplayVariant

locale_get_display_variant

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getDisplayVariant -- locale_get_display_variant — Returns an appropriately localized display name for variants of the input locale

Descrição

Estilo orientado à objeto

public static Locale::getDisplayVariant ( string $locale , string $in_locale = ? ) : string

Estilo procedural

locale_get_display_variant ( string $locale , string $in_locale = ? ) : string

Returns an appropriately localized display name for variants of the input locale. If is null then the default locale is used.

Parâmetros

locale

The locale to return a display variant for

in_locale

Optional format locale to use to display the variant name

Valor Retornado

Display name of the variant for the $locale in the format appropriate for $in_locale.

Exemplos

Exemplo #1 locale_get_display_variant() example

<?php
echo locale_get_display_variant('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_variant('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_variant('sl-Latn-IT-nedis', 'de');
?>

Exemplo #2 OO example

<?php
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'de');
?>

O exemplo acima irá imprimir:

Natisone dialect;
dialecte de Natisone;
NEDIS

Veja Também

  • locale_get_display_name() - Returns an appropriately localized display name for the input locale
  • locale_get_display_language() - Returns an appropriately localized display name for language of the inputlocale
  • locale_get_display_script() - Returns an appropriately localized display name for script of the input locale
  • locale_get_display_region() - Returns an appropriately localized display name for region of the input locale


Gets the keywords for the input locale

  • « Locale::getDisplayVariant
  • Locale::getPrimaryLanguage »
  • PHP Manual
  • Locale
  • Gets the keywords for the input locale

Locale::getKeywords

locale_get_keywords

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getKeywords -- locale_get_keywords — Gets the keywords for the input locale

Descrição

Estilo orientado à objeto

public static Locale::getKeywords ( string $locale ) : array

Estilo procedural

locale_get_keywords ( string $locale ) : array

Gets the keywords for the input locale.

Parâmetros

locale

The locale to extract the keywords from

Valor Retornado

Associative array containing the keyword-value pairs for this locale

Exemplos

Exemplo #1 locale_get_keywords() example

<?php
$keywords_arr = locale_get_keywords('de_DE@currency=EUR;collation=PHONEBOOK');
if ($keywords_arr) {
    foreach ($keywords_arr as $key => $value) {
        echo "$key = $value\n";
    }
}
?>

Exemplo #2 OO example

<?php
$keywords_arr = Locale::getKeywords('de_DE@currency=EUR;collation=PHONEBOOK');
if ($keywords_arr) {
    foreach ($keywords_arr as $key => $value) {
        echo "$key = $value\n";
    }
}
?>

O exemplo acima irá imprimir:

collation = PHONEBOOK
currency = EUR

Veja Também

  • locale_get_all_variants() - Gets the variants for the input locale


Gets the primary language for the input locale

  • « Locale::getKeywords
  • Locale::getRegion »
  • PHP Manual
  • Locale
  • Gets the primary language for the input locale

Locale::getPrimaryLanguage

locale_get_primary_language

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getPrimaryLanguage -- locale_get_primary_language — Gets the primary language for the input locale

Descrição

Estilo orientado à objeto

public static Locale::getPrimaryLanguage ( string $locale ) : string

Estilo procedural

locale_get_primary_language ( string $locale ) : string

Gets the primary language for the input locale

Parâmetros

locale

The locale to extract the primary language code from

Valor Retornado

The language code associated with the language or null in case of error.

Exemplos

Exemplo #1 locale_get_primary_language() example

<?php
echo locale_get_primary_language('zh-Hant');
?>

Exemplo #2 OO example

<?php
echo Locale::getPrimaryLanguage('zh-Hant');
?>

O exemplo acima irá imprimir:

zh

Veja Também

  • locale_get_script() - Gets the script for the input locale
  • locale_get_region() - Gets the region for the input locale
  • locale_get_all_variants() - Gets the variants for the input locale


Gets the region for the input locale

  • « Locale::getPrimaryLanguage
  • Locale::getScript »
  • PHP Manual
  • Locale
  • Gets the region for the input locale

Locale::getRegion

locale_get_region

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getRegion -- locale_get_region — Gets the region for the input locale

Descrição

Estilo orientado à objeto

public static Locale::getRegion ( string $locale ) : string

Estilo procedural

locale_get_region ( string $locale ) : string

Gets the region for the input locale.

Parâmetros

locale

The locale to extract the region code from

Valor Retornado

The region subtag for the locale or null if not present

Exemplos

Exemplo #1 locale_get_region() example

<?php
echo locale_get_region('de-CH-1901');
?>

Exemplo #2 OO example

<?php
echo Locale::getRegion('de-CH-1901');
?>

O exemplo acima irá imprimir:

CH

Veja Também

  • locale_get_primary_language() - Gets the primary language for the input locale
  • locale_get_script() - Gets the script for the input locale
  • locale_get_all_variants() - Gets the variants for the input locale


Gets the script for the input locale

  • « Locale::getRegion
  • Locale::lookup »
  • PHP Manual
  • Locale
  • Gets the script for the input locale

Locale::getScript

locale_get_script

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getScript -- locale_get_script — Gets the script for the input locale

Descrição

Estilo orientado à objeto

public static Locale::getScript ( string $locale ) : string

Estilo procedural

locale_get_script ( string $locale ) : string

Gets the script for the input locale.

Parâmetros

locale

The locale to extract the script code from

Valor Retornado

The script subtag for the locale or null if not present

Exemplos

Exemplo #1 locale_get_script() example

<?php
echo locale_get_script('sr-Cyrl');
?>

Exemplo #2 OO example

<?php
echo Locale::getScript('sr-Cyrl');
?>

O exemplo acima irá imprimir:

Cyrl

Veja Também

  • locale_get_primary_language() - Gets the primary language for the input locale
  • locale_get_region() - Gets the region for the input locale
  • locale_get_all_variants() - Gets the variants for the input locale


Searches the language tag list for the best match to the language

  • « Locale::getScript
  • Locale::parseLocale »
  • PHP Manual
  • Locale
  • Searches the language tag list for the best match to the language

Locale::lookup

locale_lookup

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::lookup -- locale_lookup — Searches the language tag list for the best match to the language

Descrição

Estilo orientado à objeto

public static Locale::lookup ( array $langtag , string $locale , bool $canonicalize = false , string $default = ? ) : string

Estilo procedural

locale_lookup ( array $langtag , string $locale , bool $canonicalize = false , string $default = ? ) : string

Searches the items in langtag for the best match to the language range specified in locale according to RFC 4647's lookup algorithm.

Parâmetros

langtag

An array containing a list of language tags to compare to locale. Maximum 100 items allowed.

locale

The locale to use as the language range when matching.

canonicalize

If true, the arguments will be converted to canonical form before matching.

default

The locale to use if no match is found.

Valor Retornado

The closest matching language tag or default value.

Exemplos

Exemplo #1 locale_lookup() example

<?php
$arr = array(
    'de-DEVA',
    'de-DE-1996',
    'de',
    'de-De'
);
echo locale_lookup($arr, 'de-DE-1996-x-prv1-prv2', true, 'en_US');
?>

Exemplo #2 OO example

<?php
$arr = array(
    'de-DEVA',
    'de-DE-1996',
    'de',
    'de-De'
);
echo Locale::lookup($arr, 'de-DE-1996-x-prv1-prv2', true, 'en_US');
?>

O exemplo acima irá imprimir:

de_de_1996

Veja Também

  • locale_filter_matches() - Checks if a language tag filter matches with locale


Returns a key-value array of locale ID subtag elements

  • « Locale::lookup
  • Locale::setDefault »
  • PHP Manual
  • Locale
  • Returns a key-value array of locale ID subtag elements

Locale::parseLocale

locale_parse

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::parseLocale -- locale_parse — Returns a key-value array of locale ID subtag elements

Descrição

Estilo orientado à objeto

public static Locale::parseLocale ( string $locale ) : array

Estilo procedural

locale_parse ( string $locale ) : array

Returns a key-value array of locale ID subtag elements.

Parâmetros

locale

The locale to extract the subtag array from. Note: The 'variant' and 'private' subtags can take maximum 15 values whereas 'extlang' can take maximum 3 values.

Valor Retornado

Returns an array containing a list of key-value pairs, where the keys identify the particular locale ID subtags, and the values are the associated subtag values. The array will be ordered as the locale id subtags e.g. in the locale id if variants are '-varX-varY-varZ' then the returned array will have variant0=>varX , variant1=>varY , variant2=>varZ

Returns null when the length of locale exceeds INTL_MAX_LOCALE_LEN.

Exemplos

Exemplo #1 locale_parse() example

<?php
$arr = locale_parse('sl-Latn-IT-nedis');
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}
?>

Exemplo #2 OO example

<?php
$arr = Locale::parseLocale('sl-Latn-IT-nedis');
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}
?>

O exemplo acima irá imprimir:

language : sl , script : Latn , region : IT , variant0 : NEDIS ,

Veja Também

  • locale_compose() - Returns a correctly ordered and delimited locale ID


Sets the default runtime locale

  • « Locale::parseLocale
  • Normalizer »
  • PHP Manual
  • Locale
  • Sets the default runtime locale

Locale::setDefault

locale_set_default

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::setDefault -- locale_set_default — Sets the default runtime locale

Descrição

Estilo orientado à objeto

public static Locale::setDefault ( string $locale ) : bool

Estilo procedural

locale_set_default ( string $locale ) : bool

Sets the default runtime locale to $locale. This changes the value of INTL global 'default_locale' locale identifier. UAX #35 extensions are accepted.

Parâmetros

locale

Is a BCP 47 compliant language tag.

Valor Retornado

Returns true.

Exemplos

Exemplo #1 locale_set_default() example

<?php
locale_set_default('de-DE');
echo locale_get_default();
?>

Exemplo #2 OO example

<?php
Locale::setDefault('de-DE');
echo Locale::getDefault();
?>

O exemplo acima irá imprimir:

de-DE

Veja Também

  • locale_get_default() - Gets the default locale value from the INTL global 'default_locale'


The Normalizer class

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Introdução

Normalization is a process that involves transforming characters and sequences of characters into a formally-defined underlying representation. This process is most important when text needs to be compared for sorting and searching, but it is also used when storing text to ensure that the text is stored in a consistent representation.

The Unicode Consortium has defined a number of normalization forms reflecting the various needs of applications:

  • Normalization Form D (NFD) - Canonical Decomposition
  • Normalization Form C (NFC) - Canonical Decomposition followed by Canonical Composition
  • Normalization Form KD (NFKD) - Compatibility Decomposition
  • Normalization Form KC (NFKC) - Compatibility Decomposition followed by Canonical Composition
The different forms are defined in terms of a set of transformations on the text, transformations that are expressed by both an algorithm and a set of data files.

Sinopse da classe

Normalizer {
/* Métodos */
public static getRawDecomposition ( string $input ) : string
public static isNormalized ( string $input , int $form = Normalizer::FORM_C ) : bool
public static normalize ( string $input , int $form = Normalizer::FORM_C ) : string
}

Constantes pré-definidas

The following constants define the normalization form used by the normalizer:

Normalizer::FORM_C (int)
Normalization Form C (NFC) - Canonical Decomposition followed by Canonical Composition
Normalizer::FORM_D (int)
Normalization Form D (NFD) - Canonical Decomposition
Normalizer::FORM_KC (int)
Normalization Form KC (NFKC) - Compatibility Decomposition, followed by Canonical Composition
Normalizer::FORM_KD (int)
Normalization Form KD (NFKD) - Compatibility Decomposition
Normalizer::NONE (int)
No decomposition/composition
Normalizer::OPTION_DEFAULT (int)
Default normalization options

Veja Também

  • » Unicode Normalization
  • » Unicode Normalization FAQ
  • » ICU User Guide - Normalization
  • » ICU API Reference - Normalization

Índice

  • Normalizer::getRawDecomposition — Gets the Decomposition_Mapping property for the given UTF-8 encoded code point
  • Normalizer::isNormalized — Verifica se a string fornecida já está na forma normalizada especificada.
  • Normalizer::normalize — Normaliza a entrada fornecida e retorna a string normalizada


Gets the Decomposition_Mapping property for the given UTF-8 encoded code point

  • « Normalizer
  • Normalizer::isNormalized »
  • PHP Manual
  • Normalizer
  • Gets the Decomposition_Mapping property for the given UTF-8 encoded code point

Normalizer::getRawDecomposition

normalizer_get_raw_decomposition

(PHP 7 >= 7.3)

Normalizer::getRawDecomposition -- normalizer_get_raw_decomposition — Gets the Decomposition_Mapping property for the given UTF-8 encoded code point

Descrição

Estilo orientado à objeto

public static Normalizer::getRawDecomposition ( string $input ) : string

Estilo procedural

normalizer_get_raw_decomposition ( string $input ) : string

Gets the Decomposition_Mapping property, as specified in the Unicode Character Database (UCD), for the given UTF-8 encoded code point.

Parâmetros

input

The input string, which should be a single, UTF-8 encoded, code point.

Valor Retornado

Returns a string containing the Decomposition_Mapping property, if present in the UCD.

Returns null if there is no Decomposition_Mapping property for the character.

Exemplos

Exemplo #1 Normalizer::getRawDecomposition() example

<?php

$result = "";
$strings = [
    "a",
    "\u{FFDA}",
    "\u{FDFA}",
    "",
    "aa",
    "\xF5",
];

foreach ($strings as $string) {
    $decomposition = Normalizer::getRawDecomposition($string);
    // $decomposition = normalizer_get_raw_decomposition($string); Procedural way

    $error_code = intl_get_error_code();
    $error_message = intl_get_error_message();

    $string_hex = bin2hex($string);
    $result .= "---------------------\n";

    if ($decomposition === null) {
        $result .= "'$string_hex' has no decomposition mapping\n" ;
    } else {
        $result .= "'$string_hex' has the decomposition mapping '" . bin2hex($decomposition) . "'\n" ;
    }

    $result .= "error info: '$error_message' ($error_code)\n";
}

echo $result;
?>

O exemplo acima irá imprimir:

---------------------
'61' has no decomposition mapping
error info: 'U_ZERO_ERROR' (0)
---------------------
'efbf9a' has the decomposition mapping 'e385a1'
error info: 'U_ZERO_ERROR' (0)
---------------------
'efb7ba' has the decomposition mapping 'd8b5d984d98920d8a7d984d984d98720d8b9d984d98ad98720d988d8b3d984d985'
error info: 'U_ZERO_ERROR' (0)
---------------------
'' has no decomposition mapping
error info: 'Input string must be exactly one UTF-8 encoded code point long.: U_ILLEGAL_ARGUMENT_ERROR' (1)
---------------------
'6161' has no decomposition mapping
error info: 'Input string must be exactly one UTF-8 encoded code point long.: U_ILLEGAL_ARGUMENT_ERROR' (1)
---------------------
'f5' has no decomposition mapping
error info: 'Code point out of range: U_ILLEGAL_ARGUMENT_ERROR' (1)

Veja Também

  • Normalizer::normalize() - Normaliza a entrada fornecida e retorna a string normalizada
  • Normalizer::isNormalized() - Verifica se a string fornecida já está na forma normalizada especificada.


Verifica se a string fornecida já está na forma normalizada especificada.

  • « Normalizer::getRawDecomposition
  • Normalizer::normalize »
  • PHP Manual
  • Normalizer
  • Verifica se a string fornecida já está na forma normalizada especificada.

Normalizer::isNormalized

normalizer_is_normalized

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Normalizer::isNormalized -- normalizer_is_normalized — Verifica se a string fornecida já está na forma normalizada especificada.

Descrição

Estilo orientado à objeto

public static Normalizer::isNormalized ( string $input , int $form = Normalizer::FORM_C ) : bool

Estilo procedural

normalizer_is_normalized ( string $input , int $form = Normalizer::FORM_C ) : bool

Verifica se a string fornecida já está na forma normalizada especificada.

Parâmetros

input

A string de entrada para verificar a normalização

form

Uma das formas de normalização.

Valor Retornado

true se a string estiver normalizada, false caso contrário ou se houver um erro

Exemplos

Exemplo #1 Exemplo de normalizer_is_normalized()

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_orig = 'A' . $char_combining_ring_above;
$char_norm = normalizer_normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo ( normalizer_is_normalized($char_orig, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
echo '; ';
echo ( normalizer_is_normalized($char_norm, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
?>

Exemplo #2 Exemplo Orientado a Objetos

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_orig = 'A' . $char_combining_ring_above;
$char_norm = Normalizer::normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo ( Normalizer::isNormalized($char_orig, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
echo '; ';
echo ( Normalizer::isNormalized($char_norm, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
?>

O exemplo acima irá imprimir:

not normalized; normalized

Veja Também

  • normalizer_normalize() - Normaliza a entrada fornecida e retorna a string normalizada


Normaliza a entrada fornecida e retorna a string normalizada

  • « Normalizer::isNormalized
  • MessageFormatter »
  • PHP Manual
  • Normalizer
  • Normaliza a entrada fornecida e retorna a string normalizada

Normalizer::normalize

normalizer_normalize

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Normalizer::normalize -- normalizer_normalize — Normaliza a entrada fornecida e retorna a string normalizada

Descrição

Estilo orientado à objeto

public static Normalizer::normalize ( string $input , int $form = Normalizer::FORM_C ) : string

Estilo procedural

normalizer_normalize ( string $input , int $form = Normalizer::FORM_C ) : string

Normaliza a entrada fornecida e retorna a string normalizada

Parâmetros

input

A string de entrada a ser normalizada

form

Uma das formas de normalização.

Valor Retornado

A string normalizada ou false se ocorrer um erro.

Exemplos

Exemplo #1 Exemplo de normalizer_normalize()

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_1 = normalizer_normalize( $char_A_ring, Normalizer::FORM_C );
$char_2 = normalizer_normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo urlencode($char_1);
echo ' ';
echo urlencode($char_2);
?>

Exemplo #2 Exemplo Orientado a Objetos

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_1 = Normalizer::normalize( $char_A_ring, Normalizer::FORM_C );
$char_2 = Normalizer::normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo urlencode($char_1);
echo ' ';
echo urlencode($char_2);
?>

O exemplo acima irá imprimir:

%C3%85 %C3%85

Veja Também

  • normalizer_is_normalized() - Verifica se a string fornecida já está na forma normalizada especificada.


The MessageFormatter class

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Introdução

MessageFormatter is a concrete class that enables users to produce concatenated, language-neutral messages. The methods supplied in this class are used to build all the messages that are seen by end users.

The MessageFormatter class assembles messages from various fragments (such as text fragments, numbers, and dates) supplied by the program. Because of the MessageFormatter class, the program does not need to know the order of the fragments. The class uses the formatting specifications for the fragments to assemble them into a message that is contained in a single string within a resource bundle. For example, MessageFormatter enables you to print the phrase "Finished printing x out of y files..." in a manner that still allows for flexibility in translation.

Previously, an end user message was created as a sentence and handled as a string. This procedure created problems for localizers because the sentence structure, word order, number format and so on are very different from language to language. The language-neutral way to create messages keeps each part of the message separate and provides keys to the data. Using these keys, the MessageFormatter class can concatenate the parts of the message, localize them, and display a well-formed string to the end user.

MessageFormatter takes a set of objects, formats them, and then inserts the formatted strings into the pattern at the appropriate places. Choice formats can be used in conjunction with MessageFormatter to handle plurals, match numbers, and select from an array of items. Typically, the message format will come from resources and the arguments will be dynamically set at runtime.

Sinopse da classe

MessageFormatter {
/* Métodos */
public __construct ( string $locale , string $pattern )
public static create ( string $locale , string $pattern ) : MessageFormatter
public static formatMessage ( string $locale , string $pattern , array $args ) : string
public format ( array $args ) : string
public getErrorCode ( ) : int
public getErrorMessage ( ) : string
public getLocale ( ) : string
public getPattern ( ) : string
public static parseMessage ( string $locale , string $pattern , string $source ) : array
public parse ( string $value ) : array
public setPattern ( string $pattern ) : bool
}

Veja Também

  • » ICU formatting documentation
  • » ICU message formatting description
  • » ICU message formatters
  • » ICU choice formatters

Índice

  • MessageFormatter::create — Constructs a new Message Formatter
  • MessageFormatter::formatMessage — Quick format message
  • MessageFormatter::format — Format the message
  • MessageFormatter::getErrorCode — Get the error code from last operation
  • MessageFormatter::getErrorMessage — Get the error text from the last operation
  • MessageFormatter::getLocale — Get the locale for which the formatter was created
  • MessageFormatter::getPattern — Get the pattern used by the formatter
  • MessageFormatter::parseMessage — Quick parse input string
  • MessageFormatter::parse — Parse input string according to pattern
  • MessageFormatter::setPattern — Set the pattern used by the formatter


Constructs a new Message Formatter

  • « MessageFormatter
  • MessageFormatter::formatMessage »
  • PHP Manual
  • MessageFormatter
  • Constructs a new Message Formatter

MessageFormatter::create

MessageFormatter::__construct

msgfmt_create

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::create -- MessageFormatter::__construct -- msgfmt_create — Constructs a new Message Formatter

Descrição

Estilo orientado à objeto (method)

public static MessageFormatter::create ( string $locale , string $pattern ) : MessageFormatter

Estilo orientado à objeto (constructor):

public MessageFormatter::__construct ( string $locale , string $pattern )

Estilo procedural

msgfmt_create ( string $locale , string $pattern ) : MessageFormatter

Constructs a new Message Formatter

Parâmetros

locale

The locale to use when formatting arguments

pattern

The pattern string to stick arguments into. The pattern uses an 'apostrophe-friendly' syntax; it is run through » umsg_autoQuoteApostrophe before being interpreted.

Valor Retornado

The formatter object

Erros

When invoked as constructor, on failure an IntlException is thrown.

Exemplos

Exemplo #1 msgfmt_create() example

<?php
$fmt = msgfmt_create("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
$fmt = msgfmt_create("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
?>

Exemplo #2 OO example

<?php
$fmt = new MessageFormatter("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo $fmt->format(array(4560, 123, 4560/123));
$fmt = new MessageFormatter("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo $fmt->format(array(4560, 123, 4560/123));
?>

O exemplo acima irá imprimir:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum

Veja Também

  • msgfmt_format() - Format the message
  • msgfmt_parse() - Parse input string according to pattern
  • msgfmt_get_error_code() - Get the error code from last operation
  • msgfmt_get_error_message() - Get the error text from the last operation


Quick format message

  • « MessageFormatter::create
  • MessageFormatter::format »
  • PHP Manual
  • MessageFormatter
  • Quick format message

MessageFormatter::formatMessage

msgfmt_format_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::formatMessage -- msgfmt_format_message — Quick format message

Descrição

Estilo orientado à objeto

public static MessageFormatter::formatMessage ( string $locale , string $pattern , array $args ) : string

Estilo procedural

msgfmt_format_message ( string $locale , string $pattern , array $args ) : string

Quick formatting function that formats the string without having to explicitly create the formatter object. Use this function when the format operation is done only once and does not need and parameters or state to be kept.

Parâmetros

locale

The locale to use for formatting locale-dependent parts

pattern

The pattern string to insert things into. The pattern uses an 'apostrophe-friendly' syntax; it is run through » umsg_autoQuoteApostrophe before being interpreted.

args

The array of values to insert into the format string

Valor Retornado

The formatted pattern string or false if an error occurred

Exemplos

Exemplo #1 msgfmt_format_message() example

<?php
echo msgfmt_format_message("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree\n", array(4560, 123, 4560/123));
echo msgfmt_format_message("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", array(4560, 123, 4560/123));
?>

Exemplo #2 OO example

<?php
echo MessageFormatter::formatMessage("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree\n", array(4560, 123, 4560/123));
echo MessageFormatter::formatMessage("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", array(4560, 123, 4560/123));
?>

O exemplo acima irá imprimir:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum

Veja Também

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_parse() - Parse input string according to pattern
  • msgfmt_get_error_code() - Get the error code from last operation
  • msgfmt_get_error_message() - Get the error text from the last operation


Format the message

  • « MessageFormatter::formatMessage
  • MessageFormatter::getErrorCode »
  • PHP Manual
  • MessageFormatter
  • Format the message

MessageFormatter::format

msgfmt_format

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::format -- msgfmt_format — Format the message

Descrição

Estilo orientado à objeto

public MessageFormatter::format ( array $args ) : string

Estilo procedural

msgfmt_format ( MessageFormatter $fmt , array $args ) : string

Format the message by substituting the data into the format string according to the locale rules

Parâmetros

fmt

The message formatter

args

Arguments to insert into the format string

Valor Retornado

The formatted string, or false if an error occurred

Exemplos

Exemplo #1 msgfmt_format() example

<?php
$fmt = msgfmt_create("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
$fmt = msgfmt_create("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
?>

Exemplo #2 OO example

<?php
$fmt = new MessageFormatter("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo $fmt->format(array(4560, 123, 4560/123));
$fmt = new MessageFormatter("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo $fmt->format(array(4560, 123, 4560/123));
?>

O exemplo acima irá imprimir:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum

Veja Também

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_parse() - Parse input string according to pattern
  • msgfmt_format_message() - Quick format message
  • msgfmt_get_error_code() - Get the error code from last operation
  • msgfmt_get_error_message() - Get the error text from the last operation


Get the error code from last operation

  • « MessageFormatter::format
  • MessageFormatter::getErrorMessage »
  • PHP Manual
  • MessageFormatter
  • Get the error code from last operation

MessageFormatter::getErrorCode

msgfmt_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::getErrorCode -- msgfmt_get_error_code — Get the error code from last operation

Descrição

Estilo orientado à objeto

public MessageFormatter::getErrorCode ( ) : int

Estilo procedural

msgfmt_get_error_code ( MessageFormatter $fmt ) : int

Get the error code from last operation.

Parâmetros

fmt

The message formatter

Valor Retornado

The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR.

Veja Também

  • msgfmt_get_error_message() - Get the error text from the last operation
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure


Get the error text from the last operation

  • « MessageFormatter::getErrorCode
  • MessageFormatter::getLocale »
  • PHP Manual
  • MessageFormatter
  • Get the error text from the last operation

MessageFormatter::getErrorMessage

msgfmt_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::getErrorMessage -- msgfmt_get_error_message — Get the error text from the last operation

Descrição

Estilo orientado à objeto

public MessageFormatter::getErrorMessage ( ) : string

Estilo procedural

msgfmt_get_error_message ( MessageFormatter $fmt ) : string

Get the error text from the last operation.

Parâmetros

fmt

The message formatter

Valor Retornado

Description of the last error.

Exemplos

Exemplo #1 msgfmt_get_error_message() example

<?php
$fmt = msgfmt_create("en_US", "{0, number} monkeys on {1, number} trees");
$str = msgfmt_format($fmt, array());
if(!$str) {
    echo "ERROR: ".msgfmt_get_error_message($fmt) . " (" . msgfmt_get_error_code($fmt) . ")\n";
}
?>

Exemplo #2 OO example

<?php
$fmt = new MessageFormatter("en_US", "{0, number} monkeys on {1, number} trees");
$str = $fmt->format(array());
if(!$str) {
    echo "ERROR: ".$fmt->getErrorMessage() . " (" . $fmt->getErrorCode() . ")\n";
}
?>

O exemplo acima irá imprimir:

ERROR: msgfmt_format: not enough parameters: U_ILLEGAL_ARGUMENT_ERROR (1)

Veja Também

  • msgfmt_get_error_code() - Get the error code from last operation
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure


Get the locale for which the formatter was created

  • « MessageFormatter::getErrorMessage
  • MessageFormatter::getPattern »
  • PHP Manual
  • MessageFormatter
  • Get the locale for which the formatter was created

MessageFormatter::getLocale

msgfmt_get_locale

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::getLocale -- msgfmt_get_locale — Get the locale for which the formatter was created

Descrição

Estilo orientado à objeto

public MessageFormatter::getLocale ( ) : string

Estilo procedural

msgfmt_get_locale ( NumberFormatter $formatter ) : string

Get the locale for which the formatter was created.

Parâmetros

formatter

The formatter resource

Valor Retornado

The locale name

Exemplos

Exemplo #1 msgfmt_get_locale() example

<?php
$fmt = msgfmt_create('en_US', "Number {0,number}");
echo msgfmt_get_locale($fmt);
?>

Exemplo #2 OO example

<?php
$fmt = new MessageFormatter('en_US', "Number {0,number}");
echo $fmt->getLocale();
?>

O exemplo acima irá imprimir:

en_US

Veja Também

  • msgfmt_create() - Constructs a new Message Formatter


Get the pattern used by the formatter

  • « MessageFormatter::getLocale
  • MessageFormatter::parseMessage »
  • PHP Manual
  • MessageFormatter
  • Get the pattern used by the formatter

MessageFormatter::getPattern

msgfmt_get_pattern

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::getPattern -- msgfmt_get_pattern — Get the pattern used by the formatter

Descrição

Estilo orientado à objeto

public MessageFormatter::getPattern ( ) : string

Estilo procedural

msgfmt_get_pattern ( MessageFormatter $fmt ) : string

Get the pattern used by the formatter

Parâmetros

fmt

The message formatter

Valor Retornado

The pattern string for this message formatter

Exemplos

Exemplo #1 msgfmt_get_pattern() example

<?php
$fmt = msgfmt_create( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatting result: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";

msgfmt_set_pattern( $fmt, "{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatted number: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";
?>

Exemplo #2 OO example

<?php
$fmt = new MessageFormatter( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatting result: " . $fmt->format(array(123, 456)) . "\n";

$fmt->setPattern("{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatted number: " . $fmt->format(array(123, 456)) . "\n";
?>

O exemplo acima irá imprimir:

Default pattern: '{0,number} monkeys on {1,number} trees'
Formatting result: 123 monkeys on 456 trees
New pattern: '{0,number} trees hosting {1,number} monkeys'
Formatted number: 123 trees hosting 456 monkeys

Veja Também

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_set_pattern() - Set the pattern used by the formatter


Quick parse input string

  • « MessageFormatter::getPattern
  • MessageFormatter::parse »
  • PHP Manual
  • MessageFormatter
  • Quick parse input string

MessageFormatter::parseMessage

msgfmt_parse_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::parseMessage -- msgfmt_parse_message — Quick parse input string

Descrição

Estilo orientado à objeto

public static MessageFormatter::parseMessage ( string $locale , string $pattern , string $source ) : array

Estilo procedural

msgfmt_parse_message ( string $locale , string $pattern , string $value ) : array

Parses input string without explicitly creating the formatter object. Use this function when the format operation is done only once and does not need and parameters or state to be kept.

Parâmetros

locale

The locale to use for parsing locale-dependent parts

pattern

The pattern with which to parse the value.

source

The string to parse, conforming to the pattern.

Valor Retornado

An array containing items extracted, or false on error

Exemplos

Exemplo #1 msgfmt_parse_message() example

<?php
$fmt = msgfmt_parse_message('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree",
                            "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($fmt);

$fmt = msgfmt_parse_message('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum",
                            "4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($fmt);
?>

Exemplo #2 OO example

<?php
$fmt = MessageFormatter::parseMessage('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree",
                            "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($fmt);

$fmt = MessageFormatter::parseMessage('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum",
                            "4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($fmt);
?>

O exemplo acima irá imprimir:

array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)
array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)

Veja Também

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_format_message() - Quick format message
  • msgfmt_parse() - Parse input string according to pattern


Parse input string according to pattern

  • « MessageFormatter::parseMessage
  • MessageFormatter::setPattern »
  • PHP Manual
  • MessageFormatter
  • Parse input string according to pattern

MessageFormatter::parse

msgfmt_parse

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::parse -- msgfmt_parse — Parse input string according to pattern

Descrição

Estilo orientado à objeto

public MessageFormatter::parse ( string $value ) : array

Estilo procedural

msgfmt_parse ( MessageFormatter $fmt , string $value ) : array

Parses input string and return any extracted items as an array.

Parâmetros

fmt

The message formatter

value

The string to parse

Valor Retornado

An array containing the items extracted, or false on error

Exemplos

Exemplo #1 msgfmt_parse() example

<?php
$fmt = msgfmt_create('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
$res = msgfmt_parse($fmt, "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$fmt = msgfmt_create('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
$res = msgfmt_parse($fmt, "4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($res);
?>

Exemplo #2 OO example

<?php
$fmt = new MessageFormatter('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
$res = $fmt->parse("4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$fmt = new MessageFormatter('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
$res = $fmt->parse("4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($res);
?>

O exemplo acima irá imprimir:

array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)
array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)

Veja Também

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_format() - Format the message
  • msgfmt_parse_message() - Quick parse input string


Set the pattern used by the formatter

  • « MessageFormatter::parse
  • IntlCalendar »
  • PHP Manual
  • MessageFormatter
  • Set the pattern used by the formatter

MessageFormatter::setPattern

msgfmt_set_pattern

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::setPattern -- msgfmt_set_pattern — Set the pattern used by the formatter

Descrição

Estilo orientado à objeto

public MessageFormatter::setPattern ( string $pattern ) : bool

Estilo procedural

msgfmt_set_pattern ( MessageFormatter $fmt , string $pattern ) : bool

Set the pattern used by the formatter

Parâmetros

fmt

The message formatter

pattern

The pattern string to use in this message formatter. The pattern uses an 'apostrophe-friendly' syntax; it is run through » umsg_autoQuoteApostrophe before being interpreted.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 msgfmt_set_pattern() example

<?php
$fmt = msgfmt_create( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatting result: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";

msgfmt_set_pattern( $fmt, "{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatted number: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";
?>

Exemplo #2 OO example

<?php
$fmt = new MessageFormatter( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatting result: " . $fmt->format(array(123, 456)) . "\n";

$fmt->setPattern("{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatted number: " . $fmt->format(array(123, 456)) . "\n";
?>

O exemplo acima irá imprimir:

Default pattern: '{0,number} monkeys on {1,number} trees'
Formatting result: 123 monkeys on 456 trees
New pattern: '{0,number} trees hosting {1,number} monkeys'
Formatted number: 123 trees hosting 456 monkeys

Veja Também

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_get_pattern() - Get the pattern used by the formatter


The IntlCalendar class

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

Introdução

Sinopse da classe

IntlCalendar {
/* Constantes */
const int FIELD_ERA = 0 ;
const int FIELD_YEAR = 1 ;
const int FIELD_MONTH = 2 ;
const int FIELD_WEEK_OF_YEAR = 3 ;
const int FIELD_WEEK_OF_MONTH = 4 ;
const int FIELD_DATE = 5 ;
const int FIELD_DAY_OF_YEAR = 6 ;
const int FIELD_DAY_OF_WEEK = 7 ;
const int FIELD_DAY_OF_WEEK_IN_MONTH = 8 ;
const int FIELD_AM_PM = 9 ;
const int FIELD_HOUR = 10 ;
const int FIELD_HOUR_OF_DAY = 11 ;
const int FIELD_MINUTE = 12 ;
const int FIELD_SECOND = 13 ;
const int FIELD_MILLISECOND = 14 ;
const int FIELD_ZONE_OFFSET = 15 ;
const int FIELD_DST_OFFSET = 16 ;
const int FIELD_YEAR_WOY = 17 ;
const int FIELD_DOW_LOCAL = 18 ;
const int FIELD_EXTENDED_YEAR = 19 ;
const int FIELD_JULIAN_DAY = 20 ;
const int FIELD_MILLISECONDS_IN_DAY = 21 ;
const int FIELD_IS_LEAP_MONTH = 22 ;
const int FIELD_FIELD_COUNT = 23 ;
const int FIELD_DAY_OF_MONTH = 5 ;
const int DOW_SUNDAY = 1 ;
const int DOW_MONDAY = 2 ;
const int DOW_TUESDAY = 3 ;
const int DOW_WEDNESDAY = 4 ;
const int DOW_THURSDAY = 5 ;
const int DOW_FRIDAY = 6 ;
const int DOW_SATURDAY = 7 ;
const int DOW_TYPE_WEEKDAY = 0 ;
const int DOW_TYPE_WEEKEND = 1 ;
const int DOW_TYPE_WEEKEND_OFFSET = 2 ;
const int DOW_TYPE_WEEKEND_CEASE = 3 ;
const int WALLTIME_FIRST = 1 ;
const int WALLTIME_LAST = 0 ;
const int WALLTIME_NEXT_VALID = 2 ;
/* Métodos */
public add ( int $field , int $amount ) : bool
public after ( IntlCalendar $other ) : bool
public before ( IntlCalendar $other ) : bool
public clear ( int $field = NULL ) : bool
private __construct ( )
public static createInstance ( mixed $timeZone = NULL , string $locale = "" ) : IntlCalendar
public equals ( IntlCalendar $other ) : bool
public fieldDifference ( float $when , int $field ) : int|false
public static fromDateTime ( mixed $dateTime ) : IntlCalendar
public get ( int $field ) : int
public getActualMaximum ( int $field ) : int|false
public getActualMinimum ( int $field ) : int|false
public static getAvailableLocales ( ) : array
public getDayOfWeekType ( int $dayOfWeek ) : int|false
public getErrorCode ( ) : int
public getErrorMessage ( ) : string
public getFirstDayOfWeek ( ) : int|false
public getGreatestMinimum ( int $field ) : int|false
public static getKeywordValuesForLocale ( string $key , string $locale , bool $commonlyUsed ) : Iterator|false
public getLeastMaximum ( int $field ) : int|false
public getLocale ( int $localeType ) : string|false
public getMaximum ( int $field ) : int|false
public getMinimalDaysInFirstWeek ( ) : int|false
public getMinimum ( int $field ) : int|false
public static getNow ( ) : float
public getRepeatedWallTimeOption ( ) : int
public getSkippedWallTimeOption ( ) : int
public getTime ( ) : float
public getTimeZone ( ) : IntlTimeZone
public getType ( ) : string
public getWeekendTransition ( string $dayOfWeek ) : int|false
public inDaylightTime ( ) : bool
public isEquivalentTo ( IntlCalendar $other ) : bool
public isLenient ( ) : bool
public isSet ( int $field ) : bool
public isWeekend ( float $date = NULL ) : bool
public roll ( int $field , mixed $amountOrUpOrDown ) : bool
public set ( int $field , int $value ) : bool
public set ( int $year , int $month , int $dayOfMonth = NULL , int $hour = NULL , int $minute = NULL , int $second = NULL ) : bool
public setFirstDayOfWeek ( int $dayOfWeek ) : bool
public setLenient ( bool $isLenient ) : bool
public setMinimalDaysInFirstWeek ( int $minimalDays ) : bool
public setRepeatedWallTimeOption ( int $wallTimeOption ) : bool
public setSkippedWallTimeOption ( int $wallTimeOption ) : bool
public setTime ( float $date ) : bool
public setTimeZone ( mixed $timeZone ) : bool
public toDateTime ( ) : DateTime
}

Constantes pré-definidas

IntlCalendar::FIELD_ERA

Calendar field numerically representing an era, for instance 1 for AD and 0 for BC in the Gregorian/Julian calendars and 235 for the Heisei (??) era in the Japanese calendar. Not all calendars have more than one era.

IntlCalendar::FIELD_YEAR

Calendar field for the year. This is not unique across eras. If the calendar type has more than one era, generally the minimum value for this field will be 1.

IntlCalendar::FIELD_MONTH

Calendar field for the month. The month sequence is zero-based, so January (here used to signify the first month of the calendar; this may be called another name, such as Muharram in the Islamic calendar) is represented by 0, February by 1, …, December by 11 and, for calendars that have it, the 13th or leap month by 12.

IntlCalendar::FIELD_WEEK_OF_YEAR

Calendar field for the number of the week of the year. This depends on which day of the week is deemed to start the week and the minimal number of days in a week.

IntlCalendar::FIELD_WEEK_OF_MONTH

Calendar field for the number of the week of the month. This depends on which day of the week is deemed to start the week and the minimal number of days in a week.

IntlCalendar::FIELD_DATE

Calendar field for the day of the month. The same as IntlCalendar::FIELD_DAY_OF_MONTH, which has a clearer name.

IntlCalendar::FIELD_DAY_OF_YEAR

Calendar field for the day of the year. For the Gregorian calendar, starts with 1 and ends with 365 or 366.

IntlCalendar::FIELD_DAY_OF_WEEK

Calendar field for the day of the week. Its values start with 1 (Sunday, see IntlCalendar::DOW_SUNDAY and subsequent constants) and the last valid value is 7 (Saturday).

IntlCalendar::FIELD_DAY_OF_WEEK_IN_MONTH

Given a day of the week (Sunday, Monday, …), this calendar field assigns an ordinal to such a day of the week in a specific month. Thus, if the value of this field is 1 and the value of the day of the week is 2 (Monday), then the set day of the month is the 1st Monday of the month; the maximum value is 5.

Additionally, the value 0 and negative values are also allowed. The value 0 encompasses the seven days that occur immediately before the first seven days of a month (which therefore have a ‘day of week in month’ with value 1). Negative values starts counting from the end of the month – -1 points to the last occurrence of a day of the week in a month, -2 to the second last, and so on.

Unlike IntlCalendar::FIELD_WEEK_OF_MONTH and IntlCalendar::FIELD_WEEK_OF_YEAR, this value does not depend on IntlCalendar::getFirstDayOfWeek() or on IntlCalendar::getMinimalDaysInFirstWeek(). The first Monday is the first Monday, even if it occurs in a week that belongs to the previous month.

IntlCalendar::FIELD_AM_PM

Calendar field indicating whether a time is before noon (value 0, AM) or after (1). Midnight is AM, noon is PM.

IntlCalendar::FIELD_HOUR

Calendar field for the hour, without specifying whether it's in the morning or in the afternoon. Valid values are 0 to 11.

IntlCalendar::FIELD_HOUR_OF_DAY

Calendar field for the full (24h) hour of the day. Valid values are 0 to 23.

IntlCalendar::FIELD_MINUTE

Calendar field for the minutes component of the time.

IntlCalendar::FIELD_SECOND

Calendar field for the seconds component of the time.

IntlCalendar::FIELD_MILLISECOND

Calendar field the milliseconds component of the time.

IntlCalendar::FIELD_ZONE_OFFSET

Calendar field indicating the raw offset of the timezone, in milliseconds. The raw offset is the timezone offset, excluding any offset due to daylight saving time.

IntlCalendar::FIELD_DST_OFFSET

Calendar field for the daylight saving time offset of the calendar's timezone, in milliseconds, if active for calendar's time.

IntlCalendar::FIELD_YEAR_WOY

Calendar field representing the year for week of year purposes.

IntlCalendar::FIELD_DOW_LOCAL

Calendar field for the localized day of the week. This is a value between 1 and 7, 1 being used for the day of the week that matches the value returned by IntlCalendar::getFirstDayOfWeek().

IntlCalendar::FIELD_EXTENDED_YEAR

Calendar field for a year number representation that is continuous across eras. For the Gregorian calendar, the value of this field matches that of IntlCalendar::FIELD_YEAR for AD years; a BC year y is represented by -y + 1.

IntlCalendar::FIELD_JULIAN_DAY

Calendar field for a modified Julian day number. It is different from a conventional Julian day number in that its transitions occur at local zone midnight rather than at noon UTC. It uniquely identifies a date.

IntlCalendar::FIELD_MILLISECONDS_IN_DAY

Calendar field encompassing the information in IntlCalendar::FIELD_HOUR_OF_DAY, IntlCalendar::FIELD_MINUTE, IntlCalendar::FIELD_SECOND and IntlCalendar::FIELD_MILLISECOND. Range is from the 0 to 24 * 3600 * 1000 - 1. It is not the amount of milliseconds elapsed in the day since on DST transitions it will have discontinuities analog to those of the wall time.

IntlCalendar::FIELD_IS_LEAP_MONTH

Calendar field whose value is 1 for indicating a leap month and 0 otherwise.

IntlCalendar::FIELD_FIELD_COUNT

The total number of fields.

IntlCalendar::FIELD_DAY_OF_MONTH

Alias for IntlCalendar::FIELD_DATE.

IntlCalendar::DOW_SUNDAY

Sunday.

IntlCalendar::DOW_MONDAY

Monday.

IntlCalendar::DOW_TUESDAY

Tuesday.

IntlCalendar::DOW_WEDNESDAY

Wednesday.

IntlCalendar::DOW_THURSDAY

Thursday.

IntlCalendar::DOW_FRIDAY

Friday.

IntlCalendar::DOW_SATURDAY

Saturday.

IntlCalendar::DOW_TYPE_WEEKDAY

Output of IntlCalendar::getDayOfWeekType() indicating a day of week is a weekday.

IntlCalendar::DOW_TYPE_WEEKEND

Output of IntlCalendar::getDayOfWeekType() indicating a day of week belongs to the weekend.

IntlCalendar::DOW_TYPE_WEEKEND_OFFSET

Output of IntlCalendar::getDayOfWeekType() indicating the weekend begins during the given day of week.

IntlCalendar::DOW_TYPE_WEEKEND_CEASE

Output of IntlCalendar::getDayOfWeekType() indicating the weekend ends during the given day of week.

IntlCalendar::WALLTIME_FIRST

Output of IntlCalendar::getSkippedWallTimeOption() indicating that wall times in the skipped range should refer to the same instant as wall times with one hour less and of IntlCalendar::getRepeatedWallTimeOption() indicating the wall times in the repeated range should refer to the instant of the first occurrence of such wall time.

IntlCalendar::WALLTIME_LAST

Output of IntlCalendar::getSkippedWallTimeOption() indicating that wall times in the skipped range should refer to the same instant as wall times with one hour after and of IntlCalendar::getRepeatedWallTimeOption() indicating the wall times in the repeated range should refer to the instant of the second occurrence of such wall time.

IntlCalendar::WALLTIME_NEXT_VALID

Output of IntlCalendar::getSkippedWallTimeOption() indicating that wall times in the skipped range should refer to the instant when the daylight saving time transition occurs (begins).

Índice

  • IntlCalendar::add — Add a (signed) amount of time to a field
  • IntlCalendar::after — Whether this object's time is after that of the passed object
  • IntlCalendar::before — Whether this object's time is before that of the passed object
  • IntlCalendar::clear — Clear a field or all fields
  • IntlCalendar::__construct — Private constructor for disallowing instantiation
  • IntlCalendar::createInstance — Create a new IntlCalendar
  • IntlCalendar::equals — Compare time of two IntlCalendar objects for equality
  • IntlCalendar::fieldDifference — Calculate difference between given time and this object's time
  • IntlCalendar::fromDateTime — Create an IntlCalendar from a DateTime object or string
  • IntlCalendar::get — Get the value for a field
  • IntlCalendar::getActualMaximum — The maximum value for a field, considering the object's current time
  • IntlCalendar::getActualMinimum — The minimum value for a field, considering the object's current time
  • IntlCalendar::getAvailableLocales — Get array of locales for which there is data
  • IntlCalendar::getDayOfWeekType — Tell whether a day is a weekday, weekend or a day that has a transition between the two
  • IntlCalendar::getErrorCode — Get last error code on the object
  • IntlCalendar::getErrorMessage — Get last error message on the object
  • IntlCalendar::getFirstDayOfWeek — Get the first day of the week for the calendar's locale
  • IntlCalendar::getGreatestMinimum — Get the largest local minimum value for a field
  • IntlCalendar::getKeywordValuesForLocale — Get set of locale keyword values
  • IntlCalendar::getLeastMaximum — Get the smallest local maximum for a field
  • IntlCalendar::getLocale — Get the locale associated with the object
  • IntlCalendar::getMaximum — Get the global maximum value for a field
  • IntlCalendar::getMinimalDaysInFirstWeek — Get minimal number of days the first week in a year or month can have
  • IntlCalendar::getMinimum — Get the global minimum value for a field
  • IntlCalendar::getNow — Get number representing the current time
  • IntlCalendar::getRepeatedWallTimeOption — Get behavior for handling repeating wall time
  • IntlCalendar::getSkippedWallTimeOption — Get behavior for handling skipped wall time
  • IntlCalendar::getTime — Get time currently represented by the object
  • IntlCalendar::getTimeZone — Get the object's timezone
  • IntlCalendar::getType — Get the calendar type
  • IntlCalendar::getWeekendTransition — Get time of the day at which weekend begins or ends
  • IntlCalendar::inDaylightTime — Whether the object's time is in Daylight Savings Time
  • IntlCalendar::isEquivalentTo — Whether another calendar is equal but for a different time
  • IntlCalendar::isLenient — Whether date/time interpretation is in lenient mode
  • IntlCalendar::isSet — Whether a field is set
  • IntlCalendar::isWeekend — Whether a certain date/time is in the weekend
  • IntlCalendar::roll — Add value to field without carrying into more significant fields
  • IntlCalendar::set — Set a time field or several common fields at once
  • IntlCalendar::setFirstDayOfWeek — Set the day on which the week is deemed to start
  • IntlCalendar::setLenient — Set whether date/time interpretation is to be lenient
  • IntlCalendar::setMinimalDaysInFirstWeek — Set minimal number of days the first week in a year or month can have
  • IntlCalendar::setRepeatedWallTimeOption — Set behavior for handling repeating wall times at negative timezone offset transitions
  • IntlCalendar::setSkippedWallTimeOption — Set behavior for handling skipped wall times at positive timezone offset transitions
  • IntlCalendar::setTime — Set the calendar time in milliseconds since the epoch
  • IntlCalendar::setTimeZone — Set the timezone used by this calendar
  • IntlCalendar::toDateTime — Convert an IntlCalendar into a DateTime object


Add a (signed) amount of time to a field

  • « IntlCalendar
  • IntlCalendar::after »
  • PHP Manual
  • IntlCalendar
  • Add a (signed) amount of time to a field

IntlCalendar::add

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::add — Add a (signed) amount of time to a field

Descrição

Estilo orientado à objeto

public IntlCalendar::add ( int $field , int $amount ) : bool

Estilo procedural

intlcal_add ( IntlCalendar $cal , int $field , int $amount ) : bool

Add a signed amount to a field. Adding a positive amount allows advances in time, even if the numeric value of the field decreases (e.g. when working with years in BC dates).

Other fields may need to adjusted – for instance, adding a month to the 31st of January will result in the 28th (or 29th) of February. Contrary to IntlCalendar::roll(), when a value wraps around, more significant fields may change. For instance, adding a day to the 31st of January will result in the 1st of February, not the 1st of January.

Parâmetros

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

amount

The signed amount to add to the current field. If the amount is positive, the instant will be moved forward; if it is negative, the instant will be moved into the past. The unit is implicit to the field type. For instance, hours for IntlCalendar::FIELD_HOUR_OF_DAY.

Valor Retornado

Returns true on success ou false em caso de falha.

Exemplos

Exemplo #1 IntlCalendar::add()

<?php
ini_set('intl.default_locale', 'fr_FR');
ini_set('date.timezone', 'UTC');

$cal = new IntlGregorianCalendar(2012, 0 /* January */, 31);
echo IntlDateFormatter::formatObject($cal), "\n";

$cal->add(IntlCalendar::FIELD_MONTH, 1);
echo IntlDateFormatter::formatObject($cal), "\n";

$cal->add(IntlCalendar::FIELD_DAY_OF_MONTH, 1);
echo IntlDateFormatter::formatObject($cal), "\n";

O exemplo acima irá imprimir:

31 janv. 2012 00:00:00
29 févr. 2012 00:00:00
1 mars 2012 00:00:00


Whether this object's time is after that of the passed object

  • « IntlCalendar::add
  • IntlCalendar::before »
  • PHP Manual
  • IntlCalendar
  • Whether this object's time is after that of the passed object

IntlCalendar::after

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::after — Whether this object's time is after that of the passed object

Descrição

Estilo orientado à objeto

public IntlCalendar::after ( IntlCalendar $other ) : bool

Estilo procedural

intlcal_after ( IntlCalendar $cal , IntlCalendar $other ) : bool

Returns whether this object's time succeeds the argument's time.

Parâmetros

cal

The IntlCalendar resource.

other

The calendar whose time will be checked against the primary object's time.

Valor Retornado

Returns true if this object's current time is after that of the calendar argument's time. Returns false otherwise. Also returns false on failure. You can use exceptions or intl_get_error_code() to detect error conditions.

Exemplos

Exemplo #1 IntlCalendar::after()

<?php
$cal1 = IntlCalendar::createInstance();
$cal2 = clone $cal1;

var_dump($cal1->after($cal2), //false
        $cal2->after($cal1)); //false

$cal1->roll(IntlCalendar::FIELD_MILLISECOND, true);

var_dump($cal1->after($cal2), //true
        $cal2->after($cal1)); //false


Whether this object's time is before that of the passed object

  • « IntlCalendar::after
  • IntlCalendar::clear »
  • PHP Manual
  • IntlCalendar
  • Whether this object's time is before that of the passed object

IntlCalendar::before

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::before — Whether this object's time is before that of the passed object

Descrição

Estilo orientado à objeto

public IntlCalendar::before ( IntlCalendar $other ) : bool

Estilo procedural

intlcal_before ( IntlCalendar $cal , IntlCalendar $other ) : bool

Returns whether this object's time precedes the argument's time.

Parâmetros

cal

The IntlCalendar resource.

other

The calendar whose time will be checked against the primary object's time.

Valor Retornado

Returns true if this object's current time is before that of the calendar argument's time. Returns false otherwise. Also returns false on failure. You can use exceptions or intl_get_error_code() to detect error conditions.


Clear a field or all fields

  • « IntlCalendar::before
  • IntlCalendar::__construct »
  • PHP Manual
  • IntlCalendar
  • Clear a field or all fields

IntlCalendar::clear

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::clear — Clear a field or all fields

Descrição

Estilo orientado à objeto

public IntlCalendar::clear ( int $field = NULL ) : bool

Estilo procedural

intlcal_clear ( IntlCalendar $cal , int $field = NULL ) : bool

Clears either all of the fields or a specific field. A cleared field is marked as unset, giving it the lowest priority against overlapping fields or even default values when calculating the time. Additionally, its value is set to 0, though given the field's low priority, its value may have been internally set to another value by the time the field has finished been queried.

Parâmetros

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Valor Retornado

Returns true on success ou false em caso de falha. Failure can only occur is invalid arguments are provided.

Exemplos

Exemplo #1 IntlCalendar::clear() examples

<?php
ini_set('intl.default_locale', 'es_ES');
ini_set('date.timezone', 'UTC');

$fields = array(
    'FIELD_ERA'                  => 0,
    'FIELD_YEAR'                 => 1,
    'FIELD_MONTH'                => 2,
    'FIELD_WEEK_OF_YEAR'         => 3,
    'FIELD_WEEK_OF_MONTH'        => 4,
    'FIELD_DATE'                 => 5,
    'FIELD_DAY_OF_YEAR'          => 6,
    'FIELD_DAY_OF_WEEK'          => 7,
    'FIELD_DAY_OF_WEEK_IN_MONTH' => 8,
    'FIELD_AM_PM'                => 9,
    'FIELD_HOUR'                 => 10,
    'FIELD_HOUR_OF_DAY'          => 11,
    'FIELD_MINUTE'               => 12,
    'FIELD_SECOND'               => 13,
    'FIELD_MILLISECOND'          => 14,
    'FIELD_ZONE_OFFSET'          => 15,
    'FIELD_DST_OFFSET'           => 16,
    'FIELD_YEAR_WOY'             => 17,
    'FIELD_DOW_LOCAL'            => 18,
    'FIELD_EXTENDED_YEAR'        => 19,
    'FIELD_JULIAN_DAY'           => 20,
    'FIELD_MILLISECONDS_IN_DAY'  => 21,
    'FIELD_IS_LEAP_MONTH'        => 22,
    'FIELD_FIELD_COUNT'          => 23,
);
function getSetFields(IntlCalendar $cal) {
    global $fields;
    $ret = array();
    foreach ($fields as $name => $value) {
        if ($cal->isSet($value)) {
            $ret[] = $name;
        }
    }
    return $ret;
}

$cal = new IntlGregorianCalendar(2013, 2 /* March */, 15);
echo "After GregorianCalendar creation\n";
print_r(getSetFields($cal));
echo "\n";

echo IntlDateFormatter::formatObject($cal), "\n";
echo "After the formatter requested the extended year\n";
print_r(getSetFields($cal));
echo "\n";

$cal->clear(IntlCalendar::FIELD_YEAR);
echo "After the year has been cleared, the date stays the same\n";
echo IntlDateFormatter::formatObject($cal), "\n";
echo "because FIELD_EXTENDED_YEAR is still set\n";
print_r(getSetFields($cal));
echo "\n";

var_dump($cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR));
echo "After the extended year has been cleared\n";
print_r(getSetFields($cal));
echo IntlDateFormatter::formatObject($cal), "\n";
echo "\n";

echo "After the fields are recalculated,\n"
        . " extended year is set again (to 1970)\n";
print_r(getSetFields($cal));
echo "\n";

$cal->clear();
echo "After calling variant with no arguments\n";
print_r(getSetFields($cal));
echo IntlDateFormatter::formatObject($cal), "\n";

O exemplo acima irá imprimir:

After GregorianCalendar creation
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_YEAR
    [2] => FIELD_MONTH
    [3] => FIELD_DATE
)

15/03/2013 00:00:00
After the formatter requested the extended year
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_YEAR
    [2] => FIELD_MONTH
    [3] => FIELD_DATE
    [4] => FIELD_EXTENDED_YEAR
)

After the year has been cleared, the date stays the same
15/03/2013 00:00:00
because FIELD_EXTENDED_YEAR is still set
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_MONTH
    [2] => FIELD_DATE
    [3] => FIELD_EXTENDED_YEAR
)

bool(true)
After the extended year has been cleared
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_MONTH
    [2] => FIELD_DATE
)
15/03/1970 00:00:00

After the fields are recalculated,
 extended year is set again (to 1970)
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_MONTH
    [2] => FIELD_DATE
    [3] => FIELD_EXTENDED_YEAR
)

After calling variant with no arguments
Array
(
)
01/01/1970 00:00:00


Private constructor for disallowing instantiation

  • « IntlCalendar::clear
  • IntlCalendar::createInstance »
  • PHP Manual
  • IntlCalendar
  • Private constructor for disallowing instantiation

IntlCalendar::__construct

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::__construct — Private constructor for disallowing instantiation

Descrição

private IntlCalendar::__construct ( )

A private constructor for disallowing instantiation with the new operator.

Call IntlCalendar::createInstance() instead.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Create a new IntlCalendar

  • « IntlCalendar::__construct
  • IntlCalendar::equals »
  • PHP Manual
  • IntlCalendar
  • Create a new IntlCalendar

IntlCalendar::createInstance

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::createInstance — Create a new IntlCalendar

Descrição

Estilo orientado à objeto

public static IntlCalendar::createInstance ( mixed $timeZone = NULL , string $locale = "" ) : IntlCalendar

Estilo procedural

intlcal_create_instance ( mixed $timeZone = NULL , string $locale = "" ) : IntlCalendar

Given a timezone and locale, this method creates an IntlCalendar object. This factory method may return a subclass of IntlCalendar.

The calendar created will represent the time instance at which it was created, based on the system time. The fields can all be cleared by calling IntCalendar::clear() with no arguments. See also IntlGregorianCalendar::__construct().

Parâmetros

timeZone

The timezone to use.

  • null, in which case the default timezone will be used, as specified in the ini setting date.timezone or through the function date_default_timezone_set() and as returned by date_default_timezone_get().

  • An IntlTimeZone, which will be used directly.

  • A DateTimeZone. Its identifier will be extracted and an ICU timezone object will be created; the timezone will be backed by ICU's database, not PHP's.

  • A string, which should be a valid ICU timezone identifier. See IntlTimeZone::createTimeZoneIDEnumeration(). Raw offsets such as "GMT+08:30" are also accepted.

locale

A locale to use or null to use the default locale.

Valor Retornado

The created IntlCalendar instance or null on failure.

Exemplos

Exemplo #1 IntlCalendar::createInstance()

<?php
ini_set('intl.default_locale', 'es_ES');
ini_set('date.timezone', 'Europe/Madrid');

$cal = IntlCalendar::createInstance();
echo "No arguments\n";
var_dump(get_class($cal),
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
echo "\n";

echo "Explicit timezone\n";
$cal = IntlCalendar::createInstance(IntlTimeZone::getGMT());
var_dump(get_class($cal),
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
echo "\n";

echo "Explicit locale (with calendar)\n";
$cal = IntlCalendar::createInstance(NULL, 'es_ES@calendar=persian');
var_dump(get_class($cal),
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));

O exemplo acima irá imprimir:

No arguments
string(21) "IntlGregorianCalendar"
string(68) "martes 18 de junio de 2013 14:11:02 Hora de verano de Europa Central"

Explicit timezone
string(21) "IntlGregorianCalendar"
string(45) "martes 18 de junio de 2013 12:11:02 GMT+00:00"

Explicit locale (with calendar)
string(12) "IntlCalendar"
string(70) "martes 28 de Khordad de 1392 14:11:02 Hora de verano de Europa Central"

Veja Também

  • IntlGregorianCalendar::__construct() - Create the Gregorian Calendar class


Compare time of two IntlCalendar objects for equality

  • « IntlCalendar::createInstance
  • IntlCalendar::fieldDifference »
  • PHP Manual
  • IntlCalendar
  • Compare time of two IntlCalendar objects for equality

IntlCalendar::equals

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::equals — Compare time of two IntlCalendar objects for equality

Descrição

Estilo orientado à objeto

public IntlCalendar::equals ( IntlCalendar $other ) : bool

Estilo procedural

intlcal_equals ( IntlCalendar $cal , IntlCalendar $other ) : bool

Returns true if this calendar and the given calendar have the same time. The settings, calendar types and field states do not have to be the same.

Parâmetros

cal

The IntlCalendar resource.

other

The calendar to compare with the primary object.

Valor Retornado

Returns true if the current time of both this and the passed in IntlCalendar object are the same, or false otherwise. The value false can also be returned on failure. This can only happen if bad arguments are passed in. In any case, the two cases can be distinguished by calling intl_get_error_code().

Exemplos

Exemplo #1 IntlCalendar::equals()

<?php
ini_set('date.timezone', 'UTC');

$cal1 = IntlCalendar::createInstance(NULL, 'es_ES');
$cal2 = clone $cal1;

var_dump($cal1->equals($cal2)); //TRUE

//The locale is not included in the comparison
$cal2 = IntlCalendar::createInstance(NULL, 'pt_PT');
$cal2->setTime($cal1->getTime());
var_dump($cal1->equals($cal2)); //TRUE

//And set fields state is not included as well
$cal2->clear(IntlCalendar::FIELD_YEAR);
var_dump($cal1->isSet(IntlCalendar::FIELD_YEAR) ==
        $cal2->isSet(IntlCalendar::FIELD_YEAR)); //FALSE
var_dump($cal1->equals($cal2)); //TRUE

//Neither is the calendar type
$cal2 = IntlCalendar::createInstance(NULL, 'es_ES@calendar=islamic');
$cal2->setTime($cal1->getTime());
var_dump($cal1->equals($cal2)); //TRUE

//Only the time is
$cal2 = clone $cal1;
$cal2->setTime($cal1->getTime() + 1.);
var_dump($cal1->equals($cal2)); //FALSE


Calculate difference between given time and this object's time

  • « IntlCalendar::equals
  • IntlCalendar::fromDateTime »
  • PHP Manual
  • IntlCalendar
  • Calculate difference between given time and this object's time

IntlCalendar::fieldDifference

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::fieldDifference — Calculate difference between given time and this object's time

Descrição

Estilo orientado à objeto

public IntlCalendar::fieldDifference ( float $when , int $field ) : int|false

Estilo procedural

intlcal_field_difference ( IntlCalendar $cal , float $when , int $field ) : int|false

Return the difference between the given time and the time this object is set to, with respect to the quantity specified the field parameter.

This method is meant to be called successively, first with the most significant field of interest down to the least significant field. To this end, as a side effect, this calendar's value for the field specified is advanced by the amount returned.

Parâmetros

cal

The IntlCalendar resource.

when

The time against which to compare the quantity represented by the field. For the result to be positive, the time given for this parameter must be ahead of the time of the object the method is being invoked on.

field

The field that represents the quantity being compared.

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Valor Retornado

Returns a (signed) difference of time in the unit associated with the specified field ou false em caso de falha.

Exemplos

Exemplo #1 IntlCalendar::fieldDifference()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'fr_FR');

$cal1 = IntlCalendar::fromDateTime('2012-02-29 09:00:11');
$cal2 = IntlCalendar::fromDateTime('2013-03-01 09:19:29');
$time = $cal2->getTime();

echo "Time before: ", IntlDateFormatter::formatObject($cal1), "\n";

printf(
    "The difference in time is %d year(s), %d month(s), "
  . "%d day(s), %d hour(s) and %d minute(s)\n",
    $cal1->fieldDifference($time, IntlCalendar::FIELD_YEAR),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_MONTH),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_DAY_OF_MONTH),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_HOUR_OF_DAY),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_MINUTE)
);

//now it was advanced to the target time, exception for the seconds,
//for which we did not measure the difference
echo "Time after: ", IntlDateFormatter::formatObject($cal1), "\n";

O exemplo acima irá imprimir:

Time before: 29 févr. 2012 09:00:11
The difference in time is 1 year(s), 0 month(s), 1 day(s), 0 hour(s) and 19 minute(s)
Time after: 1 mars 2013 09:19:11


Create an IntlCalendar from a DateTime object or string

  • « IntlCalendar::fieldDifference
  • IntlCalendar::get »
  • PHP Manual
  • IntlCalendar
  • Create an IntlCalendar from a DateTime object or string

IntlCalendar::fromDateTime

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a2)

IntlCalendar::fromDateTime — Create an IntlCalendar from a DateTime object or string

Descrição

Estilo orientado à objeto

public static IntlCalendar::fromDateTime ( mixed $dateTime ) : IntlCalendar

Estilo procedural

intlcal_from_date_time ( mixed $dateTime ) : IntlCalendar

Creates an IntlCalendar object either from a DateTime object or from a string from which a DateTime object can be built.

The new calendar will represent not only the same instant as the given DateTime (subject to precision loss for dates very far into the past or future), but also the same timezone (subject to the caveat that different timezone databases will be used, and therefore the results may differ).

Parâmetros

dateTime

A DateTime object or a string that can be passed to DateTime::__construct().

Valor Retornado

The created IntlCalendar object or null in case of failure. If a string is passed, any exception that occurs inside the DateTime constructor is propagated.

Exemplos

Exemplo #1 IntlCalendar::fromDateTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');

//same as IntlCalendar::fromDateTime(new DateTime(...))
$cal1 = IntlCalendar::fromDateTime('2013-02-28 00:01:02 Europe/Berlin');

//Note the timezone is Europe/Berlin, not the default Europe/Lisbon
echo IntlDateFormatter::formatObject($cal1, 'yyyy MMMM d HH:mm:ss VVVV', 'de_DE'), "\n";

O exemplo acima irá imprimir:

2013 Februar 28 00:01:02 Deutschland Zeit


Get the value for a field

  • « IntlCalendar::fromDateTime
  • IntlCalendar::getActualMaximum »
  • PHP Manual
  • IntlCalendar
  • Get the value for a field

IntlCalendar::get

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::get — Get the value for a field

Descrição

Estilo orientado à objeto

public IntlCalendar::get ( int $field ) : int

Estilo procedural

intlcal_get ( IntlCalendar $cal , int $field ) : int

Gets the value for a specific field.

Parâmetros

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Valor Retornado

An integer with the value of the time field.

Exemplos

Exemplo #1 IntlCalendar::get()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$class = new ReflectionClass('IntlCalendar');
$fields = array();
foreach ($class->getConstants() as $name => $val) {
    if (strpos($name, 'FIELD_') !== 0 || $val > 22)
        continue;
    $fields[$val] = $name;
}

$cal = IntlCalendar::createInstance(); // current time
var_dump(IntlDateFormatter::formatObject($cal));
foreach ($fields as $val => $name) {
    echo "$val ($name)", "\n    ", $cal->get($val), "\n";
}

O exemplo acima irá imprimir:

string(23) "Jul 1, 2013, 4:44:44 AM"
0 (FIELD_ERA)
    1
1 (FIELD_YEAR)
    2013
2 (FIELD_MONTH)
    6
3 (FIELD_WEEK_OF_YEAR)
    27
4 (FIELD_WEEK_OF_MONTH)
    1
5 (FIELD_DAY_OF_MONTH)
    1
6 (FIELD_DAY_OF_YEAR)
    182
7 (FIELD_DAY_OF_WEEK)
    2
8 (FIELD_DAY_OF_WEEK_IN_MONTH)
    1
9 (FIELD_AM_PM)
    0
10 (FIELD_HOUR)
    4
11 (FIELD_HOUR_OF_DAY)
    4
12 (FIELD_MINUTE)
    44
13 (FIELD_SECOND)
    44
14 (FIELD_MILLISECOND)
    551
15 (FIELD_ZONE_OFFSET)
    0
16 (FIELD_DST_OFFSET)
    3600000
17 (FIELD_YEAR_WOY)
    2013
18 (FIELD_DOW_LOCAL)
    2
19 (FIELD_EXTENDED_YEAR)
    2013
20 (FIELD_JULIAN_DAY)
    2456475
21 (FIELD_MILLISECONDS_IN_DAY)
    17084551
22 (FIELD_IS_LEAP_MONTH)
    0


The maximum value for a field, considering the object's current time

  • « IntlCalendar::get
  • IntlCalendar::getActualMinimum »
  • PHP Manual
  • IntlCalendar
  • The maximum value for a field, considering the object's current time

IntlCalendar::getActualMaximum

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getActualMaximum — The maximum value for a field, considering the object's current time

Descrição

Estilo orientado à objeto

public IntlCalendar::getActualMaximum ( int $field ) : int|false

Estilo procedural

intlcal_get_actual_maximum ( IntlCalendar $cal , int $field ) : int|false

Returns a field's relative maximum value around the current time. The exact semantics vary by field, but in the general case this is the value that would be obtained if one would set the field value into the smallest relative maximum for the field and would increment it until reaching the global maximum or the field value wraps around, in which the value returned would be the global maximum or the value before the wrapping, respectively.

For instance, in the gregorian calendar, the actual maximum value for the day of month would vary between 28 and 31, depending on the month and year of the current time.

Parâmetros

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Valor Retornado

An int representing the maximum value in the units associated with the given field ou false em caso de falha.

Exemplos

Exemplo #1 IntlCalendar::getActualMaximum()

<?php
ini_set('date.timezone', 'Europe/Lisbon');

$cal = IntlCalendar::fromDateTime('2013-02-15');
var_dump($cal->getActualMaximum(IntlCalendar::FIELD_DAY_OF_MONTH)); //28

$cal->add(IntlCalendar::FIELD_EXTENDED_YEAR, -1);
var_dump($cal->getActualMaximum(IntlCalendar::FIELD_DAY_OF_MONTH)); //29

O exemplo acima irá imprimir:

int(28)
int(29)

Veja Também

  • IntlCalendar::getMaximum() - Get the global maximum value for a field
  • IntlCalendar::getLeastMaximum() - Get the smallest local maximum for a field
  • IntlCalendar::getActualMinimum() - The minimum value for a field, considering the object's current time


The minimum value for a field, considering the object's current time

  • « IntlCalendar::getActualMaximum
  • IntlCalendar::getAvailableLocales »
  • PHP Manual
  • IntlCalendar
  • The minimum value for a field, considering the object's current time

IntlCalendar::getActualMinimum

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getActualMinimum — The minimum value for a field, considering the object's current time

Descrição

Estilo orientado à objeto

public IntlCalendar::getActualMinimum ( int $field ) : int|false

Estilo procedural

intlcal_get_actual_minimum ( IntlCalendar $cal , int $field ) : int|false

Returns a field's relative minimum value around the current time. The exact semantics vary by field, but in the general case this is the value that would be obtained if one would set the field value into the greatest relative minimum for the field and would decrement it until reaching the global minimum or the field value wraps around, in which the value returned would be the global minimum or the value before the wrapping, respectively.

For the Gregorian calendar, this is always the same as IntlCalendar::getMinimum().

Parâmetros

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Valor Retornado

An int representing the minimum value in the field's unit ou false em caso de falha.

Veja Também

  • IntlCalendar::getMinimum() - Get the global minimum value for a field
  • IntlCalendar::getGreatestMinimum() - Get the largest local minimum value for a field
  • IntlCalendar::getActualMaximum() - The maximum value for a field, considering the object's current time


Get array of locales for which there is data

  • « IntlCalendar::getActualMinimum
  • IntlCalendar::getDayOfWeekType »
  • PHP Manual
  • IntlCalendar
  • Get array of locales for which there is data

IntlCalendar::getAvailableLocales

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getAvailableLocales — Get array of locales for which there is data

Descrição

Estilo orientado à objeto

public static IntlCalendar::getAvailableLocales ( ) : array

Estilo procedural

intlcal_get_available_locales ( ) : array

Gives the list of locales for which calendars are installed. As of ICU 51, this is the list of all installed ICU locales.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of strings, one for which locale.

Exemplos

Exemplo #1 IntlCalendar::getAvailableLocales()

<?php
print_r(IntlCalendar::getAvailableLocales());

O exemplo acima irá imprimir:

Array
(
    [0] => af
    [1] => af_NA
    [2] => af_ZA
    [3] => agq
    [4] => agq_CM
    [5] => ak
    [6] => ak_GH
    [7] => am
    [8] => am_ET
    [9] => ar
    [10] => ar_001
    [11] => ar_AE
    [12] => ar_BH
    [13] => ar_DJ
    … output abbreviated …
    [595] => zh_Hant_HK
    [596] => zh_Hant_MO
    [597] => zh_Hant_TW
    [598] => zu
    [599] => zu_ZA
)


Tell whether a day is a weekday, weekend or a day that has a transition between the two

  • « IntlCalendar::getAvailableLocales
  • IntlCalendar::getErrorCode »
  • PHP Manual
  • IntlCalendar
  • Tell whether a day is a weekday, weekend or a day that has a transition between the two

IntlCalendar::getDayOfWeekType

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getDayOfWeekType — Tell whether a day is a weekday, weekend or a day that has a transition between the two

Descrição

Estilo orientado à objeto

public IntlCalendar::getDayOfWeekType ( int $dayOfWeek ) : int|false

Estilo procedural

intlcal_get_day_of_week_type ( IntlCalendar $cal , int $dayOfWeek ) : int|false

Returns whether the passed day is a weekday (IntlCalendar::DOW_TYPE_WEEKDAY), a weekend day (IntlCalendar::DOW_TYPE_WEEKEND), a day during which a transition occurs into the weekend (IntlCalendar::DOW_TYPE_WEEKEND_OFFSET) or a day during which the weekend ceases (IntlCalendar::DOW_TYPE_WEEKEND_CEASE).

If the return is either
IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
IntlCalendar::DOW_TYPE_WEEKEND_CEASE, then
IntlCalendar::getWeekendTransition() can be called to
obtain the time of the transition.

This function requires ICU 4.4 or later.

Parâmetros

cal

The IntlCalendar resource.

dayOfWeek

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, …,
IntlCalendar::DOW_SATURDAY.

Valor Retornado

Returns one of the constants
IntlCalendar::DOW_TYPE_WEEKDAY,
IntlCalendar::DOW_TYPE_WEEKEND,
IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
IntlCalendar::DOW_TYPE_WEEKEND_CEASE ou false em caso de falha.

Exemplos

Exemplo #1 IntlCalendar::getDayOfWeekType()

<?php
foreach (array('en_US', 'ar_SA') as $locale) {
    echo "Locale: ", Locale::getDisplayName($locale, "en_US"), "\n";

    $cal = IntlCalendar::createInstance('UTC', $locale);

    for ($i = IntlCalendar::DOW_SUNDAY; $i <= IntlCalendar::DOW_SATURDAY; $i++) {
        $type = $cal->getDayOfWeekType($i);
        $transition = ($type !== IntlCalendar::DOW_TYPE_WEEKDAY)
            ? $cal->getWeekendTransition($i)
            : '';
        echo $i, " ", $type, " ", $transition, "\n";
    }
    echo "\n";
}
?>

O exemplo acima irá imprimir:

Locale: English (United States)
1 1 86400000
2 0
3 0
4 0
5 0
6 0
7 1 0

Locale: Arabic (Saudi Arabia)
1 0
2 0
3 0
4 0
5 0
6 1 0
7 1 86400000


Get last error code on the object

  • « IntlCalendar::getDayOfWeekType
  • IntlCalendar::getErrorMessage »
  • PHP Manual
  • IntlCalendar
  • Get last error code on the object

IntlCalendar::getErrorCode

intlcal_get_error_code

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getErrorCode -- intlcal_get_error_code — Get last error code on the object

Descrição

Estilo orientado à objeto (method):

public IntlCalendar::getErrorCode ( ) : int

Estilo procedural:

intlcal_get_error_code ( IntlCalendar $calendar ) : int

Returns the numeric ICU error code for the last call on this object (including cloning) or the IntlCalendar given for the calendar parameter (in the procedural?style version). This may indicate only a warning (negative error code) or no error at all (U_ZERO_ERROR). The actual presence of an error can be tested with intl_is_failure().

Invalid arguments detected on the PHP side (before invoking functions of the ICU library) are not recorded for the purposes of this function.

The last error that occurred in any call to a function of the intl extension, including early argument errors, can be obtained with intl_get_error_code(). This function resets the global error code, but not the object's error code.

Parâmetros

calendar

The calendar object, on the procedural style interface.

Valor Retornado

An ICU error code indicating either success, failure or a warning.

Exemplos

Exemplo #1 IntlCalendar::getErrorCode() and IntlCalendar::getErrorMessage()

<?php
ini_set("intl.error_level", E_WARNING);
ini_set("intl.default_locale", "nl");

$intlcal = new IntlGregorianCalendar(2012, 1, 29);
var_dump(
    $intlcal->getErrorCode(),
    $intlcal->getErrorMessage()
);
$intlcal->fieldDifference(-1e100, IntlCalendar::FIELD_SECOND);

var_dump(
    $intlcal->getErrorCode(),
    $intlcal->getErrorMessage()
);

O exemplo acima irá imprimir:

int(0)
string(12) "U_ZERO_ERROR"

Warning: IntlCalendar::fieldDifference(): intlcal_field_difference: Call to ICU method has failed in /home/glopes/php/ws/example.php on line 10
int(1)
string(81) "intlcal_field_difference: Call to ICU method has failed: U_ILLEGAL_ARGUMENT_ERROR"

Veja Também

  • IntlCalendar::getErrorMessage() - Get last error message on the object
  • intl_is_failure() - Check whether the given error code indicates failure
  • intl_error_name() - Get symbolic name for a given error code
  • intl_get_error_code() - Get the last error code
  • intl_get_error_message() - Get description of the last error


Get last error message on the object

  • « IntlCalendar::getErrorCode
  • IntlCalendar::getFirstDayOfWeek »
  • PHP Manual
  • IntlCalendar
  • Get last error message on the object

IntlCalendar::getErrorMessage

intlcal_get_error_message

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getErrorMessage -- intlcal_get_error_message — Get last error message on the object

Descrição

Estilo orientado à objeto (method):

public IntlCalendar::getErrorMessage ( ) : string

Estilo procedural:

intlcal_get_error_message ( IntlCalendar $calendar ) : string

Returns the error message (if any) associated with the error reported by IntlCalendar::getErrorCode() or intlcal_get_error_code(). If there is no associated error message, only the string representation of the name of the error constant will be returned. Otherwise, the message also includes a message set on the side of the PHP binding.

Parâmetros

calendar

The calendar object, on the procedural style interface.

Valor Retornado

The error message associated with last error that occurred in a function call on this object, or a string indicating the non-existance of an error.

Exemplos

Exemplo #1 IntlCalendar::getErrorMessage()

<?php
$cal = IntlCalendar::createInstance('UTC', 'en_US');
var_dump($cal->getErrorMessage());

$cal->getWeekendTransition(IntlCalendar::DOW_WEDNESDAY);
var_dump($cal->getErrorMessage());

O exemplo acima irá imprimir:

string(12) "U_ZERO_ERROR"
string(82) "intlcal_get_weekend_transition: Error calling ICU method: U_ILLEGAL_ARGUMENT_ERROR"


Get the first day of the week for the calendar's locale

  • « IntlCalendar::getErrorMessage
  • IntlCalendar::getGreatestMinimum »
  • PHP Manual
  • IntlCalendar
  • Get the first day of the week for the calendar's locale

IntlCalendar::getFirstDayOfWeek

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getFirstDayOfWeek — Get the first day of the week for the calendar's locale

Descrição

Estilo orientado à objeto

public IntlCalendar::getFirstDayOfWeek ( ) : int|false

Estilo procedural

intlcal_get_first_day_of_week ( IntlCalendar $cal ) : int|false

The week day deemed to start a week, either the default value for this locale or the value set with IntlCalendar::setFirstDayOfWeek().

Parâmetros

cal

The IntlCalendar resource.

Valor Retornado

One of the constants IntlCalendar::DOW_SUNDAY, IntlCalendar::DOW_MONDAY, …, IntlCalendar::DOW_SATURDAY ou false em caso de falha.

Exemplos

Exemplo #1 IntlCalendar::getFirstDayOfWeek()

<?php
ini_set('date.timezone', 'UTC');

$cal1 = IntlCalendar::createInstance(NULL, 'es_ES');
var_dump($cal1->getFirstDayOfWeek()); // Monday
$cal1->set(2013, 1 /* February */, 3); // a Sunday
var_dump($cal1->get(IntlCalendar::FIELD_WEEK_OF_YEAR)); // 5

$cal2 = IntlCalendar::createInstance(NULL, 'en_US');
var_dump($cal2->getFirstDayOfWeek()); // Sunday
$cal2->set(2013, 1 /* February */, 3); // a Sunday
var_dump($cal2->get(IntlCalendar::FIELD_WEEK_OF_YEAR)); // 6

O exemplo acima irá imprimir:

int(2)
int(5)
int(1)
int(6)

Veja Também

  • IntlCalendar::setFirstDayOfWeek() - Set the day on which the week is deemed to start


Get the largest local minimum value for a field

  • « IntlCalendar::getFirstDayOfWeek
  • IntlCalendar::getKeywordValuesForLocale »
  • PHP Manual
  • IntlCalendar
  • Get the largest local minimum value for a field

IntlCalendar::getGreatestMinimum

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getGreatestMinimum — Get the largest local minimum value for a field

Descrição

Estilo orientado à objeto

public IntlCalendar::getGreatestMinimum ( int $field ) : int|false

Estilo procedural

intlcal_get_greatest_minimum ( IntlCalendar $cal , int $field ) : int|false

Returns the largest local minimum for a field. This should be a value larger or equal to that returned by IntlCalendar::getActualMinimum(), which is in its turn larger or equal to that returned by IntlCalendar::getMinimum(). All these three functions return the same value for the Gregorian calendar.

Parâmetros

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Valor Retornado

An int representing a field value, in the field's unit, ou false em caso de falha.


Get set of locale keyword values

  • « IntlCalendar::getGreatestMinimum
  • IntlCalendar::getLeastMaximum »
  • PHP Manual
  • IntlCalendar
  • Get set of locale keyword values

IntlCalendar::getKeywordValuesForLocale

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getKeywordValuesForLocale — Get set of locale keyword values

Descrição

Estilo orientado à objeto

public static IntlCalendar::getKeywordValuesForLocale ( string $key , string $locale , bool $commonlyUsed ) : Iterator|false

Estilo procedural

static intlcal_get_keyword_values_for_locale ( string $key , string $locale , bool $commonlyUsed ) : Iterator|false

For a given locale key, get the set of values for that key that would result in a different behavior. For now, only the 'calendar' keyword is supported.

This function requires ICU 4.2 or later.

Parâmetros

key

The locale keyword for which relevant values are to be queried. Only 'calendar' is supported.

locale

The locale onto which the keyword/value pair are to be appended.

commonlyUsed

Whether to show only the values commonly used for the specified locale.

Valor Retornado

An iterator that yields strings with the locale keyword values ou false em caso de falha.

Exemplos

Exemplo #1 IntlCalendar::getKeyworkValuesForLocale()

<?php
print_r(
        iterator_to_array(
                IntlCalendar::getKeywordValuesForLocale(
                        'calendar', 'fa_IR', true)));
print_r(
        iterator_to_array(
                IntlCalendar::getKeywordValuesForLocale(
                        'calendar', 'fa_IR', false)));

O exemplo acima irá imprimir:

Array
(
    [0] => persian
    [1] => gregorian
    [2] => islamic
    [3] => islamic-civil
)
Array
(
    [0] => persian
    [1] => gregorian
    [2] => islamic
    [3] => islamic-civil
    [4] => japanese
    [5] => buddhist
    [6] => roc
    [7] => hebrew
    [8] => chinese
    [9] => indian
    [10] => coptic
    [11] => ethiopic
    [12] => ethiopic-amete-alem
)


Get the smallest local maximum for a field

  • « IntlCalendar::getKeywordValuesForLocale
  • IntlCalendar::getLocale »
  • PHP Manual
  • IntlCalendar
  • Get the smallest local maximum for a field

IntlCalendar::getLeastMaximum

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getLeastMaximum — Get the smallest local maximum for a field

Descrição

Estilo orientado à objeto

public IntlCalendar::getLeastMaximum ( int $field ) : int|false

Estilo procedural

intlcal_get_least_maximum ( IntlCalendar $cal , int $field ) : int|false

Returns the smallest local maximumw for a field. This should be a value smaller or equal to that returned by IntlCalendar::getActualMaxmimum(), which is in its turn smaller or equal to that returned by IntlCalendar::getMaximum().

Parâmetros

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Valor Retornado

An int representing a field value in the field's unit ou false em caso de falha.

Exemplos

Exemplo #1 Maxima examples

<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'it_IT');

$cal = new IntlGregorianCalendar(2013, 3 /* April */, 6);
var_dump(
    $cal->getLeastMaximum(IntlCalendar::FIELD_DAY_OF_MONTH),  // 28
    $cal->getActualMaximum(IntlCalendar::FIELD_DAY_OF_MONTH), // 30
    $cal->getMaximum(IntlCalendar::FIELD_DAY_OF_MONTH)        // 31
);

O exemplo acima irá imprimir:

int(28)
int(30)
int(31)

Veja Também

  • IntlCalendar::getActualMaximum() - The maximum value for a field, considering the object's current time
  • IntlCalendar::getMaximum() - Get the global maximum value for a field
  • IntlCalendar::getGreatestMinimum() - Get the largest local minimum value for a field


Get the locale associated with the object

  • « IntlCalendar::getLeastMaximum
  • IntlCalendar::getMaximum »
  • PHP Manual
  • IntlCalendar
  • Get the locale associated with the object

IntlCalendar::getLocale

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getLocale — Get the locale associated with the object

Descrição

Estilo orientado à objeto

public IntlCalendar::getLocale ( int $localeType ) : string|false

Estilo procedural

intlcal_get_locale ( IntlCalendar $cal , int $localeType ) : string|false

Returns the locale used by this calendar object.

Parâmetros

cal

The IntlCalendar resource.

localeType

Whether to fetch the actual locale (the locale from which the calendar data originates, with Locale::ACTUAL_LOCALE) or the valid locale, i.e., the most specific locale supported by ICU relatively to the requested locale – see Locale::VALID_LOCALE. From the most general to the most specific, the locales are ordered in this fashion – actual locale, valid locale, requested locale.

Valor Retornado

A locale string ou false em caso de falha.

Exemplos

Exemplo #1 IntlCalendar::getLocale()

<?php
$cal = IntlCalendar::createInstance(IntlTimeZone::getGMT(), 'en_US_CALIFORNIA');
var_dump(
    $cal->getLocale(Locale::ACTUAL_LOCALE),
    $cal->getLocale(Locale::VALID_LOCALE)
);

O exemplo acima irá imprimir:

string(2) "en"
string(5) "en_US"


Get the global maximum value for a field

  • « IntlCalendar::getLocale
  • IntlCalendar::getMinimalDaysInFirstWeek »
  • PHP Manual
  • IntlCalendar
  • Get the global maximum value for a field

IntlCalendar::getMaximum

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getMaximum — Get the global maximum value for a field

Descrição

Estilo orientado à objeto

public IntlCalendar::getMaximum ( int $field ) : int|false

Estilo procedural

intlcal_get_maximum ( IntlCalendar $cal , int $field ) : int|false

Gets the global maximum for a field, in this specific calendar. This value is larger or equal to that returned by IntlCalendar::getActualMaximum(), which is in its turn larger or equal to that returned by IntlCalendar::getLeastMaximum().

Parâmetros

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Valor Retornado

An int representing a field value in the field's unit ou false em caso de falha.

Veja Também

  • IntlCalendar::getActualMaximum() - The maximum value for a field, considering the object's current time
  • IntlCalendar::getLeastMaximum() - Get the smallest local maximum for a field
  • IntlCalendar::getMinimum() - Get the global minimum value for a field


Get minimal number of days the first week in a year or month can have

  • « IntlCalendar::getMaximum
  • IntlCalendar::getMinimum »
  • PHP Manual
  • IntlCalendar
  • Get minimal number of days the first week in a year or month can have

IntlCalendar::getMinimalDaysInFirstWeek

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getMinimalDaysInFirstWeek — Get minimal number of days the first week in a year or month can have

Descrição

Estilo orientado à objeto

public IntlCalendar::getMinimalDaysInFirstWeek ( ) : int|false

Estilo procedural

intlcal_get_minimal_days_in_first_week ( IntlCalendar $cal ) : int|false

Returns the smallest number of days the first week of a year or month must have in the new year or month. For instance, in the Gregorian calendar, if this value is 1, then the first week of the year will necessarily include January 1st, while if this value is 7, then the week with January 1st will be the first week of the year only if the day of the week for January 1st matches the day of the week returned by IntlCalendar::getFirstDayOfWeek(); otherwise it will be the previous year's last week.

Parâmetros

cal

The IntlCalendar resource.

Valor Retornado

An int representing a number of days ou false em caso de falha.

Exemplos

Exemplo #1 IntlCalendar::getMinimalDaysInFirstWeek()

<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'en_US');

$cal = new IntlGregorianCalendar(2013, 0 /* January */, 2);
var_dump(IntlDateFormatter::formatObject($cal, 'cccc')); // Wednesday

var_dump($cal->getMinimalDaysInFirstWeek(), // 1
$cal->getFirstDayofWeek()); // 1 (Sunday)

// Week 1 of 2013
var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y"));

$cal->setMinimalDaysInFirstWeek(4);
// Still Week 1 of 2013 (1st week has 5 days in the new year)
var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y"));

$cal->setMinimalDaysInFirstWeek(6);
// Week 53 of 2012
var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y"));

O exemplo acima irá imprimir:

string(9) "Wednesday"
int(1)
int(1)
string(14) "Week 1 of 2013"
string(14) "Week 1 of 2013"
string(15) "Week 53 of 2012"


Get the global minimum value for a field

  • « IntlCalendar::getMinimalDaysInFirstWeek
  • IntlCalendar::getNow »
  • PHP Manual
  • IntlCalendar
  • Get the global minimum value for a field

IntlCalendar::getMinimum

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getMinimum — Get the global minimum value for a field

Descrição

Estilo orientado à objeto

public IntlCalendar::getMinimum ( int $field ) : int|false

Estilo procedural

intlcal_get_minimum ( IntlCalendar $cal , int $field ) : int|false

Gets the global minimum for a field, in this specific calendar. This value is smaller or equal to that returned by IntlCalendar::getActualMinimum(), which is in its turn smaller or equal to that returned by IntlCalendar::getGreatestMinimum(). For the Gregorian calendar, these three functions always return the same value (for each field).

Parâmetros

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Valor Retornado

An int representing a value for the given field in the field's unit ou false em caso de falha.


Get number representing the current time

  • « IntlCalendar::getMinimum
  • IntlCalendar::getRepeatedWallTimeOption »
  • PHP Manual
  • IntlCalendar
  • Get number representing the current time

IntlCalendar::getNow

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getNow — Get number representing the current time

Descrição

Estilo orientado à objeto

public static IntlCalendar::getNow ( ) : float

Estilo procedural

intlcal_get_now ( ) : float

The number of milliseconds that have passed since the reference date. This number is derived from the system time.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A float representing a number of milliseconds since the epoch, not counting leap seconds.

Exemplos

Exemplo #1 IntlCalendar::getNow()

<?php
$formatter = IntlDateFormatter::create('es_ES',
        IntlDateFormatter::FULL,
        IntlDateFormatter::FULL,
        'Europe/Madrid');

$val = IntlCalendar::getNow();

var_dump($val);
echo $formatter->format(IntlCalendar::getNow() / 1000.), "\n";

O exemplo acima irá imprimir:

float(1371425814666)
lunes, 17 de junio de 2013 01:36:54 Hora de verano de Europa central


Get behavior for handling repeating wall time

  • « IntlCalendar::getNow
  • IntlCalendar::getSkippedWallTimeOption »
  • PHP Manual
  • IntlCalendar
  • Get behavior for handling repeating wall time

IntlCalendar::getRepeatedWallTimeOption

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getRepeatedWallTimeOption — Get behavior for handling repeating wall time

Descrição

Estilo orientado à objeto

public IntlCalendar::getRepeatedWallTimeOption ( ) : int

Estilo procedural

intlcal_get_repeated_wall_time_option ( IntlCalendar $cal ) : int

Gets the current strategy for dealing with wall times that are repeated whenever the clock is set back during dailight saving time end transitions. The default value is IntlCalendar::WALLTIME_LAST.

This function requires ICU 4.9 or later.

Parâmetros

cal

The IntlCalendar resource.

Valor Retornado

One of the constants IntlCalendar::WALLTIME_FIRST or IntlCalendar::WALLTIME_LAST.

Exemplos

Exemplo #1 IntlCalendar::getRepeatedWallTimeOption()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');
ini_set('intl.error_level', E_WARNING);

//On October 27th at 0200, the clock goes back 1 hour and from GMT+01 to GMT+00
$cal = new IntlGregorianCalendar(2013, 9 /* October */, 27, 1, 30);

var_dump($cal->getRepeatedWalltimeOption()); // 0 WALLTIME_LAST

$formatter = IntlDateFormatter::create(
    NULL,
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'UTC'
);
var_dump($formatter->format($cal->getTime() / 1000.));

$cal->setRepeatedWalltimeOption(IntlCalendar::WALLTIME_FIRST);
var_dump($cal->getRepeatedWalltimeOption()); // 1 WALLTIME_FIRST
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);

var_dump($formatter->format($cal->getTime() / 1000.));

O exemplo acima irá imprimir:

int(0)
string(42) "Sunday, October 27, 2013 at 1:30:00 AM GMT"
int(1)
string(43) "Sunday, October 27, 2013 at 12:30:00 AM GMT"

Veja Também

  • IntlCalendar::getSkippedWallTimeOption() - Get behavior for handling skipped wall time
  • IntlCalendar::setSkippedWallTimeOption() - Set behavior for handling skipped wall times at positive timezone offset transitions
  • IntlCalendar::setRepeatedWallTimeOption() - Set behavior for handling repeating wall times at negative timezone offset transitions


Get behavior for handling skipped wall time

  • « IntlCalendar::getRepeatedWallTimeOption
  • IntlCalendar::getTime »
  • PHP Manual
  • IntlCalendar
  • Get behavior for handling skipped wall time

IntlCalendar::getSkippedWallTimeOption

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getSkippedWallTimeOption — Get behavior for handling skipped wall time

Descrição

Estilo orientado à objeto

public IntlCalendar::getSkippedWallTimeOption ( ) : int

Estilo procedural

intlcal_get_skipped_wall_time_option ( IntlCalendar $cal ) : int

Gets the current strategy for dealing with wall times that are skipped whenever the clock is forwarded during dailight saving time start transitions. The default value is IntlCalendar::WALLTIME_LAST.

The calendar must be lenient for this option to have any effect, otherwise attempting to set a non-existing time will cause an error.

This function requires ICU 4.9 or later.

Parâmetros

cal

The IntlCalendar resource.

Valor Retornado

One of the constants IntlCalendar::WALLTIME_FIRST,
IntlCalendar::WALLTIME_LAST or
IntlCalendar::WALLTIME_NEXT_VALID.

Exemplos

Exemplo #1 IntlCalendar::getSkippedWallTimeOption()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');
ini_set('intl.error_level', E_WARNING);

//On March 31st at 0100, the clock goes forward 1 hour and from GMT+00 to GMT+01
$cal = new IntlGregorianCalendar(2013, 2 /* March */, 31, 1, 30);

var_dump(
    $cal->isLenient(),               // true
    $cal->getSkippedWalltimeOption() // 0 WALLTIME_LAST
);

$formatter = IntlDateFormatter::create(
    NULL,
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'UTC'
);
var_dump($formatter->format($cal->getTime() / 1000));

$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
var_dump($cal->getSkippedWalltimeOption()); // 1 WALLTIME_FIRST
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);

var_dump($formatter->format($cal->getTime() / 1000));

$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_NEXT_VALID);
var_dump($cal->getSkippedWalltimeOption()); // 2 WALLTIME_NEXT_VALID
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);

var_dump($formatter->format($cal->getTime() / 1000));

O exemplo acima irá imprimir:

bool(true)
int(0)
string(40) "Sunday, March 31, 2013 at 1:30:00 AM GMT"
int(1)
string(41) "Sunday, March 31, 2013 at 12:30:00 AM GMT"
int(2)
string(40) "Sunday, March 31, 2013 at 1:00:00 AM GMT"

Veja Também

  • IntlCalendar::getRepeatedWallTimeOption() - Get behavior for handling repeating wall time
  • IntlCalendar::setSkippedWallTimeOption() - Set behavior for handling skipped wall times at positive timezone offset transitions
  • IntlCalendar::setRepeatedWallTimeOption() - Set behavior for handling repeating wall times at negative timezone offset transitions


Get time currently represented by the object

  • « IntlCalendar::getSkippedWallTimeOption
  • IntlCalendar::getTimeZone »
  • PHP Manual
  • IntlCalendar
  • Get time currently represented by the object

IntlCalendar::getTime

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getTime — Get time currently represented by the object

Descrição

Estilo orientado à objeto

public IntlCalendar::getTime ( ) : float

Estilo procedural

intlcal_get_time ( IntlCalendar $cal ) : float

Returns the time associated with this object, expressed as the number of milliseconds since the epoch.

Parâmetros

cal

The IntlCalendar resource.

Valor Retornado

A float representing the number of milliseconds elapsed since the reference time (1 Jan 1970 00:00:00 UTC).

Exemplos

Exemplo #1 IntlCalendar::getTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$cal = new IntlGregorianCalendar(2013, 4 /* May */, 1, 0, 0, 0);
$time = $cal->getTime();
var_dump($time, $time / 1000 == strtotime('2013-05-01 00:00:00')); //true

O exemplo acima irá imprimir:

float(1367362800000)
bool(true)

Veja Também

  • IntlCalendar::getNow() - Get number representing the current time


Get the object's timezone

  • « IntlCalendar::getTime
  • IntlCalendar::getType »
  • PHP Manual
  • IntlCalendar
  • Get the object's timezone

IntlCalendar::getTimeZone

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getTimeZone — Get the object's timezone

Descrição

Estilo orientado à objeto

public IntlCalendar::getTimeZone ( ) : IntlTimeZone

Estilo procedural

intlcal_get_time_zone ( IntlCalendar $cal ) : IntlTimeZone

Returns the IntlTimeZone object associated with this calendar.

Parâmetros

cal

The IntlCalendar resource.

Valor Retornado

An IntlTimeZone object corresponding to the one used internally in this object.

Exemplos

Exemplo #1 IntlCalendar::getTimeZone()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$cal = IntlCalendar::createInstance();
print_r($cal->getTimeZone());

$cal->setTimeZone('UTC');
print_r($cal->getTimeZone());

$cal = IntlCalendar::fromDateTime('2012-01-01 00:00:00 GMT+03:33');
print_r($cal->getTimeZone());

O exemplo acima irá imprimir:

IntlTimeZone Object
(
    [valid] => 1
    [id] => Europe/Lisbon
    [rawOffset] => 0
    [currentOffset] => 3600000
)
IntlTimeZone Object
(
    [valid] => 1
    [id] => UTC
    [rawOffset] => 0
    [currentOffset] => 0
)
IntlTimeZone Object
(
    [valid] => 1
    [id] => GMT+03:33
    [rawOffset] => 12780000
    [currentOffset] => 12780000
)

Veja Também

  • IntlCalendar::setTimeZone() - Set the timezone used by this calendar
  • IntlCalendar::createInstance() - Create a new IntlCalendar
  • IntlGregorianCalendar::__construct() - Create the Gregorian Calendar class


Get the calendar type

  • « IntlCalendar::getTimeZone
  • IntlCalendar::getWeekendTransition »
  • PHP Manual
  • IntlCalendar
  • Get the calendar type

IntlCalendar::getType

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getType — Get the calendar type

Descrição

Estilo orientado à objeto

public IntlCalendar::getType ( ) : string

Estilo procedural

intlcal_get_type ( IntlCalendar $cal ) : string

A string describing the type of this calendar. This is one of the valid values for the calendar keyword value 'calendar'.

Parâmetros

cal

The IntlCalendar resource.

Valor Retornado

A string representing the calendar type, such as 'gregorian', 'islamic', etc.

Exemplos

Exemplo #1 IntlCalendar::getType()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$cal = IntlCalendar::createInstance(NULL, '@calendar=ethiopic-amete-alem');
var_dump($cal->getType());

$cal = new IntlGregorianCalendar();
var_dump($cal->getType());

O exemplo acima irá imprimir:

string(19) "ethiopic-amete-alem"
string(9) "gregorian"


Get time of the day at which weekend begins or ends

  • « IntlCalendar::getType
  • IntlCalendar::inDaylightTime »
  • PHP Manual
  • IntlCalendar
  • Get time of the day at which weekend begins or ends

IntlCalendar::getWeekendTransition

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getWeekendTransition — Get time of the day at which weekend begins or ends

Descrição

Estilo orientado à objeto

public IntlCalendar::getWeekendTransition ( string $dayOfWeek ) : int|false

Estilo procedural

intlcal_get_weekend_transition ( IntlCalendar $cal , string $dayOfWeek ) : int|false

Returns the number of milliseconds after midnight at which the weekend begins or ends.

This is only applicable for days of the week for which
IntlCalendar::getDayOfWeekType() returns either
IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
IntlCalendar::DOW_TYPE_WEEKEND_CEASE. Calling this
function for other days of the week is an error condition.

This function requires ICU 4.4 or later.

Parâmetros

cal

The IntlCalendar resource.

dayOfWeek

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, …,
IntlCalendar::DOW_SATURDAY.

Valor Retornado

The number of milliseconds into the day at which the weekend begins or ends ou false em caso de falha.

Exemplos

See example on IntlCalendar::getDayOfWeekType().


Whether the object's time is in Daylight Savings Time

  • « IntlCalendar::getWeekendTransition
  • IntlCalendar::isEquivalentTo »
  • PHP Manual
  • IntlCalendar
  • Whether the object's time is in Daylight Savings Time

IntlCalendar::inDaylightTime

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::inDaylightTime — Whether the object's time is in Daylight Savings Time

Descrição

Estilo orientado à objeto

public IntlCalendar::inDaylightTime ( ) : bool

Estilo procedural

intlcal_in_daylight_time ( IntlCalendar $cal ) : bool

Whether, for the instant represented by this object and for this object's timezone, daylight saving time is in place.

Parâmetros

cal

The IntlCalendar resource.

Valor Retornado

Returns true if the date is in Daylight Savings Time, false otherwise. The value false may also be returned on failure, for instance after specifying invalid field values on non-lenient mode; use exceptions or query intl_get_error_code() to disambiguate.

Exemplos

Exemplo #1 IntlCalendar::inDaylightTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1, 4, 56, 31);
var_dump($cal->inDaylightTime()); // true
$cal->set(IntlCalendar::FIELD_MONTH, 11 /* December */);
var_dump($cal->inDaylightTime()); // false

//DST end transition on 2013-10-27 at 0200 (wall time back 1 hour)
$cal = new IntlGregorianCalendar(2013, 9 /* October */, 27, 1, 30, 0);

var_dump($cal->inDaylightTime()); // false (default WALLTIME_LAST)

$cal->setRepeatedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1); // force time recalculation
var_dump($cal->inDaylightTime()); // true


Whether another calendar is equal but for a different time

  • « IntlCalendar::inDaylightTime
  • IntlCalendar::isLenient »
  • PHP Manual
  • IntlCalendar
  • Whether another calendar is equal but for a different time

IntlCalendar::isEquivalentTo

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::isEquivalentTo — Whether another calendar is equal but for a different time

Descrição

Estilo orientado à objeto

public IntlCalendar::isEquivalentTo ( IntlCalendar $other ) : bool

Estilo procedural

intlcal_is_equivalent_to ( IntlCalendar $cal , IntlCalendar $other ) : bool

Returns whether this and the given object are equivalent for all purposes except as to the time they have set. The locales do not have to match, as long as no change in behavior results from such mismatch. This includes the timezone, whether the lenient mode is set, the repeated and skipped wall time settings, the days of the week when the weekend starts and ceases and the times where such transitions occur. It may also include other calendar specific settings, such as the Gregorian/Julian transition instant.

Parâmetros

cal

The IntlCalendar resource.

other

The other calendar against which the comparison is to be made.

Valor Retornado

Assuming there are no argument errors, returns true if the calendars are equivalent except possibly for their set time.

Exemplos

Exemplo #1 IntlCalendar::isEquivalentTo()

<?php
$cal1 = IntlCalendar::createInstance('Europe/Lisbon', 'pt_PT');
$cal2 = IntlCalendar::createInstance('Europe/Lisbon', 'es_ES');
$cal2->clear();

var_dump($cal1->isEquivalentTo($cal2)); // true

$cal3 = IntlCalendar::createInstance('Europe/Lisbon', 'en_US');
var_dump($cal1->isEquivalentTo($cal3)); // false
var_dump($cal1->getFirstDayOfWeek(),    // 2 (Monday)
$cal3->getFirstDayOfWeek());            // 1 (Sunday)

O exemplo acima irá imprimir:

bool(true)
bool(false)
int(2)
int(1)

Veja Também

  • IntlCalendar::equals() - Compare time of two IntlCalendar objects for equality


Whether date/time interpretation is in lenient mode

  • « IntlCalendar::isEquivalentTo
  • IntlCalendar::isSet »
  • PHP Manual
  • IntlCalendar
  • Whether date/time interpretation is in lenient mode

IntlCalendar::isLenient

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::isLenient — Whether date/time interpretation is in lenient mode

Descrição

Estilo orientado à objeto

public IntlCalendar::isLenient ( ) : bool

Estilo procedural

intlcal_is_lenient ( IntlCalendar $cal ) : bool

Returns whether the current date/time interpretations is lenient (the default). If that is case, some out of range values for fields will be accepted instead of raising an error.

Parâmetros

cal

The IntlCalendar resource.

Valor Retornado

A bool representing whether the calendar is set to lenient mode.

Exemplos

Exemplo #1 IntlCalendar::isLenient()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
ini_set('intl.use_exceptions', '1');

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
var_dump(IntlDateFormatter::formatObject($cal), // 01/07/2013, 00:00:00
$cal->isLenient()); // true

$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 33);
var_dump(IntlDateFormatter::formatObject($cal)); // 02/08/2013, 00:00:00

$cal->setLenient(false);
var_dump($cal->isLenient()); // false
$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 33);
var_dump(IntlDateFormatter::formatObject($cal)); // error

O exemplo acima irá imprimir:

string(20) "01/07/2013, 00:00:00"
bool(true)
string(20) "02/08/2013, 00:00:00"
bool(false)

Fatal error: Uncaught exception 'IntlException' with message 'datefmt_format_object: error obtaining instant from IntlCalendar' in /home/foobar/example.php:16
Stack trace:
#0 /home/foobar/example.php(16): IntlDateFormatter::formatObject(Object(IntlGregorianCalendar))
#1 {main}
  thrown in /home/foobar/example.php on line 16


Whether a field is set

  • « IntlCalendar::isLenient
  • IntlCalendar::isWeekend »
  • PHP Manual
  • IntlCalendar
  • Whether a field is set

IntlCalendar::isSet

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::isSet — Whether a field is set

Descrição

Estilo orientado à objeto

public IntlCalendar::isSet ( int $field ) : bool

Estilo procedural

intlcal_is_set ( IntlCalendar $cal , int $field ) : bool

Returns whether a field is set (as opposed to clear). Set fields take priority over unset fields and their default values when the date/time is being calculated. Fields set later take priority over fields set earlier.

Parâmetros

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Valor Retornado

Assuming there are no argument errors, returns true if the field is set.

Exemplos

See the example on IntlCalendar::clear().

Veja Também

  • IntlCalendar::clear() - Clear a field or all fields
  • IntlCalendar::set() - Set a time field or several common fields at once


Whether a certain date/time is in the weekend

  • « IntlCalendar::isSet
  • IntlCalendar::roll »
  • PHP Manual
  • IntlCalendar
  • Whether a certain date/time is in the weekend

IntlCalendar::isWeekend

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::isWeekend — Whether a certain date/time is in the weekend

Descrição

Estilo orientado à objeto

public IntlCalendar::isWeekend ( float $date = NULL ) : bool

Estilo procedural

intlcal_is_weekend ( IntlCalendar $cal , float $date = NULL ) : bool

Returns whether either the obejct's current time or the provided timestamp occur during a weekend in this object's calendar system.

This function requires ICU 4.4 or later.

Parâmetros

cal

The IntlCalendar resource.

date

An optional timestamp representing the number of milliseconds since the epoch, excluding leap seconds. If null, this object's current time is used instead.

Valor Retornado

A bool indicating whether the given or this object's time occurs in a weekend.

The value false may also be returned on failure, for instance after giving a date out of bounds on non-lenient mode; use exceptions or query intl_get_error_code() to disambiguate.

Exemplos

Exemplo #1 IntlCalendar::isWeekend()

<?php
ini_set('date.timezone', 'Europe/Lisbon');

$cal = new IntlGregorianCalendar(NULL, 'en_US');
$cal->set(2013, 6 /* July */, 7); // a Sunday

var_dump($cal->isWeekend()); // true
var_dump($cal->isWeekend(strtotime('2013-07-01 00:00:00'))); // false, Monday

$cal = new IntlGregorianCalendar(NULL, 'ar_SA');
$cal->set(2013, 6 /* July */, 7); // a Sunday
var_dump($cal->isWeekend()); // false, Sunday not in weekend in this calendar

Veja Também

  • IntlCalendar::getDayOfWeekType() - Tell whether a day is a weekday, weekend or a day that has a transition between the two
  • IntlCalendar::getWeekendTransition() - Get time of the day at which weekend begins or ends


Add value to field without carrying into more significant fields

  • « IntlCalendar::isWeekend
  • IntlCalendar::set »
  • PHP Manual
  • IntlCalendar
  • Add value to field without carrying into more significant fields

IntlCalendar::roll

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::roll — Add value to field without carrying into more significant fields

Descrição

Estilo orientado à objeto

public IntlCalendar::roll ( int $field , mixed $amountOrUpOrDown ) : bool

Estilo procedural

intlcal_roll ( IntlCalendar $cal , int $field , mixed $amountOrUpOrDown ) : bool

Adds a (signed) amount to a field. The difference with respect to IntlCalendar::add() is that when the field value overflows, it does not carry into more significant fields.

Parâmetros

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

amountOrUpOrDown

The (signed) amount to add to the field, true for rolling up (adding 1), or false for rolling down (subtracting 1).

Valor Retornado

Returns true on success or false on failure.

Exemplos

Exemplo #1 IntlCalendar::roll()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');

$cal = new IntlGregorianCalendar(2013, 5 /* June */, 30);

$cal->add(IntlCalendar::FIELD_DAY_OF_MONTH, 1);
var_dump(IntlDateFormatter::formatObject($cal)); // "01/07/2013, 00:00:00"

$cal->set(2013, 5 /* June */, 30);
$cal->roll(IntlCalendar::FIELD_DAY_OF_MONTH, true); // roll up, same as rolling +1
var_dump(IntlDateFormatter::formatObject($cal)); // "01/06/2013, 00:00:00"

O exemplo acima irá imprimir:

string(20) "01/07/2013, 00:00:00"
string(20) "01/06/2013, 00:00:00"

Veja Também

  • IntlCalendar::add() - Add a (signed) amount of time to a field
  • IntlCalendar::set() - Set a time field or several common fields at once


Set a time field or several common fields at once

  • « IntlCalendar::roll
  • IntlCalendar::setFirstDayOfWeek »
  • PHP Manual
  • IntlCalendar
  • Set a time field or several common fields at once

IntlCalendar::set

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::set — Set a time field or several common fields at once

Descrição

Estilo orientado à objeto

public IntlCalendar::set ( int $field , int $value ) : bool
public IntlCalendar::set ( int $year , int $month , int $dayOfMonth = NULL , int $hour = NULL , int $minute = NULL , int $second = NULL ) : bool

Estilo procedural

intlcal_set ( IntlCalendar $cal , int $field , int $value ) : bool
intlcal_set ( IntlCalendar $cal , int $year , int $month , int $dayOfMonth = NULL , int $hour = NULL , int $minute = NULL , int $second = NULL ) : bool

Sets either a specific field to the given value, or sets at once several common fields. The range of values that are accepted depend on whether the calendar is using the lenient mode.

For fields that conflict, the fields that are set later have priority.

This method cannot be called with exactly four arguments.

Parâmetros

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

value

The new value of the given field.

year

The new value for IntlCalendar::FIELD_YEAR.

month

The new value for IntlCalendar::FIELD_MONTH. The month sequence is zero-based, i.e., January is represented by 0, February by 1, …, December is 11 and Undecember (if the calendar has it) is 12.

dayOfMonth

The new value for IntlCalendar::FIELD_DAY_OF_MONTH.

hour

The new value for IntlCalendar::FIELD_HOUR_OF_DAY.

minute

The new value for IntlCalendar::FIELD_MINUTE.

second

The new value for IntlCalendar::FIELD_SECOND.

Valor Retornado

Returns true on success and false on failure.

Exemplos

Exemplo #1 IntlCalendar::set()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');

//Calls made later have priority
$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
var_dump(IntlDateFormatter::formatObject($cal));

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
//the time has not been recalculated yet. If we clear the extended year,
//the year set before will be used
$cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR);
var_dump(IntlDateFormatter::formatObject($cal));

O exemplo acima irá imprimir:

string(20) "01/07/2011, 00:00:00"
string(20) "01/07/2012, 00:00:00"

Veja Também

  • IntlCalendar::get() - Get the value for a field
  • IntlCalendar::add() - Add a (signed) amount of time to a field
  • IntlCalendar::roll() - Add value to field without carrying into more significant fields


Set the day on which the week is deemed to start

  • « IntlCalendar::set
  • IntlCalendar::setLenient »
  • PHP Manual
  • IntlCalendar
  • Set the day on which the week is deemed to start

IntlCalendar::setFirstDayOfWeek

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::setFirstDayOfWeek — Set the day on which the week is deemed to start

Descrição

Estilo orientado à objeto

public IntlCalendar::setFirstDayOfWeek ( int $dayOfWeek ) : bool

Estilo procedural

intlcal_set_first_day_of_week ( IntlCalendar $cal , int $dayOfWeek ) : bool

Defines the day of week deemed to start the week. This affects the behavior of fields that depend on the concept of week start and end such as IntlCalendar::FIELD_WEEK_OF_YEAR and IntlCalendar::FIELD_YEAR_WOY.

Parâmetros

cal

The IntlCalendar resource.

dayOfWeek

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, …,
IntlCalendar::DOW_SATURDAY.

Valor Retornado

Returns true on success. Failure can only happen due to invalid parameters.

Exemplos

Exemplo #1 IntlCalendar::setFirstDayOfWeek()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'es_ES');

$cal = IntlCalendar::createInstance();
$cal->set(2013, 5 /* June */, 30); // A Sunday

var_dump($cal->getFirstDayOfWeek()); // 2 (Monday)

echo IntlDateFormatter::formatObject($cal, <<<EOD
'local day of week: 'cc'
week of month    : 'W'
week of year     : 'ww
EOD
), "\n";

$cal->setFirstDayOfWeek(IntlCalendar::DOW_SUNDAY);

echo IntlDateFormatter::formatObject($cal, <<<EOD
'local day of week: 'cc'
week of month    : 'W'
week of year     : 'ww
EOD
), "\n";

O exemplo acima irá imprimir:

int(2)
local day of week: 7
week of month    : 4
week of year     : 26
local day of week: 1
week of month    : 5
week of year     : 27


Set whether date/time interpretation is to be lenient

  • « IntlCalendar::setFirstDayOfWeek
  • IntlCalendar::setMinimalDaysInFirstWeek »
  • PHP Manual
  • IntlCalendar
  • Set whether date/time interpretation is to be lenient

IntlCalendar::setLenient

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::setLenient — Set whether date/time interpretation is to be lenient

Descrição

Estilo orientado à objeto

public IntlCalendar::setLenient ( bool $isLenient ) : bool

Estilo procedural

intlcal_set_lenient ( IntlCalendar $cal , bool $isLenient ) : bool

Defines whether the calendar is ‘lenient mode’. In such a mode, some of out-of-bounds values for some fields are accepted, the behavior being similar to that of IntlCalendar::add() (i.e., the value wraps around, carrying into more significant fields each time). If the lenient mode is off, then such values will generate an error.

Parâmetros

cal

The IntlCalendar resource.

isLenient

Use true to activate the lenient mode; false otherwise.

Valor Retornado

Returns true on success. Failure can only happen due to invalid parameters.

Exemplos

See the example in IntlCalendar::isLenient().


Set minimal number of days the first week in a year or month can have

  • « IntlCalendar::setLenient
  • IntlCalendar::setRepeatedWallTimeOption »
  • PHP Manual
  • IntlCalendar
  • Set minimal number of days the first week in a year or month can have

IntlCalendar::setMinimalDaysInFirstWeek

(PHP 5 >= 5.5.1, PHP 7)

IntlCalendar::setMinimalDaysInFirstWeek — Set minimal number of days the first week in a year or month can have

Descrição

Estilo orientado à objeto

public IntlCalendar::setMinimalDaysInFirstWeek ( int $minimalDays ) : bool

Estilo procedural

intlcal_set_minimal_days_in_first_week ( IntlCalendar $cal , int $minimalDays ) : bool

Sets the smallest number of days the first week of a year or month must have in the new year or month. For instance, in the Gregorian calendar, if this value is 1, then the first week of the year will necessarily include January 1st, while if this value is 7, then the week with January 1st will be the first week of the year only if the day of the week for January 1st matches the day of the week returned by IntlCalendar::getFirstDayOfWeek(); otherwise it will be the previous year's last week.

Parâmetros

cal

The IntlCalendar resource.

minimalDays

The number of minimal days to set.

Valor Retornado

true on success, false on failure.


Set behavior for handling repeating wall times at negative timezone offset transitions

  • « IntlCalendar::setMinimalDaysInFirstWeek
  • IntlCalendar::setSkippedWallTimeOption »
  • PHP Manual
  • IntlCalendar
  • Set behavior for handling repeating wall times at negative timezone offset transitions

IntlCalendar::setRepeatedWallTimeOption

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::setRepeatedWallTimeOption — Set behavior for handling repeating wall times at negative timezone offset transitions

Descrição

Estilo orientado à objeto

public IntlCalendar::setRepeatedWallTimeOption ( int $wallTimeOption ) : bool

Estilo procedural

intlcal_set_repeated_wall_time_option ( IntlCalendar $cal , int $wallTimeOption ) : bool

Sets the current strategy for dealing with wall times that are repeated whenever the clock is set back during dailight saving time end transitions. The default value is IntlCalendar::WALLTIME_LAST (take the post-DST instant). The other possible value is IntlCalendar::WALLTIME_FIRST (take the instant that occurs during DST).

This function requires ICU 4.9 or later.

Parâmetros

cal

The IntlCalendar resource.

wallTimeOption

One of the constants IntlCalendar::WALLTIME_FIRST or IntlCalendar::WALLTIME_LAST.

Valor Retornado

Returns true on success. Failure can only happen due to invalid parameters.

Exemplos

See the example on IntlCalendar::getRepeatedWallTimeOption().

Veja Também

  • intlCalendar::getRepeatedWallTimeOption() - Get behavior for handling repeating wall time
  • intlCalendar::setSkippedWallTimeOption() - Set behavior for handling skipped wall times at positive timezone offset transitions
  • intlCalendar::getSkippedWallTimeOption() - Get behavior for handling skipped wall time


Set behavior for handling skipped wall times at positive timezone offset transitions

  • « IntlCalendar::setRepeatedWallTimeOption
  • IntlCalendar::setTime »
  • PHP Manual
  • IntlCalendar
  • Set behavior for handling skipped wall times at positive timezone offset transitions

IntlCalendar::setSkippedWallTimeOption

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::setSkippedWallTimeOption — Set behavior for handling skipped wall times at positive timezone offset transitions

Descrição

Estilo orientado à objeto

public IntlCalendar::setSkippedWallTimeOption ( int $wallTimeOption ) : bool

Estilo procedural

intlcal_set_skipped_wall_time_option ( IntlCalendar $cal , int $wallTimeOption ) : bool

Sets the current strategy for dealing with wall times that are skipped whenever the clock is forwarded during dailight saving time start transitions. The default value is IntlCalendar::WALLTIME_LAST (take it as being the same instant as the one when the wall time is one hour more). Alternative values are IntlCalendar::WALLTIME_FIRST (same instant as the one with a wall time of one hour less) and IntlCalendar::WALLTIME_NEXT_VALID (same instant as when DST begins).

This affects only the instant represented by the calendar (as reported by IntlCalendar::getTime()), the field values will not be rewritten accordingly.

The calendar must be lenient for this option to have any effect, otherwise attempting to set a non-existing time will cause an error.

This function requires ICU 4.9 or later.

Parâmetros

cal

The IntlCalendar resource.

wallTimeOption

One of the constants IntlCalendar::WALLTIME_FIRST,
IntlCalendar::WALLTIME_LAST or
IntlCalendar::WALLTIME_NEXT_VALID.

Valor Retornado

Returns true on success. Failure can only happen due to invalid parameters.

Exemplos

See the example on IntlCalendar::getSkippedWallTimeOption().

Veja Também

  • intlCalendar::getSkippedWallTimeOption() - Get behavior for handling skipped wall time
  • intlCalendar::setRepeatedWallTimeOption() - Set behavior for handling repeating wall times at negative timezone offset transitions
  • intlCalendar::getRepeatedWallTimeOption() - Get behavior for handling repeating wall time


Set the calendar time in milliseconds since the epoch

  • « IntlCalendar::setSkippedWallTimeOption
  • IntlCalendar::setTimeZone »
  • PHP Manual
  • IntlCalendar
  • Set the calendar time in milliseconds since the epoch

IntlCalendar::setTime

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::setTime — Set the calendar time in milliseconds since the epoch

Descrição

Estilo orientado à objeto

public IntlCalendar::setTime ( float $date ) : bool

Estilo procedural

intlcal_set_time ( IntlCalendar $cal , float $date ) : bool

Sets the instant represented by this object. The instant is represented by a float whose value should be an integer number of milliseconds since the epoch (1 Jan 1970 00:00:00.000 UTC), ignoring leap seconds. All the field values will be recalculated accordingly.

Parâmetros

cal

The IntlCalendar resource.

date

An instant represented by the number of number of milliseconds between such instant and the epoch, ignoring leap seconds.

Valor Retornado

Returns true on success and false on failure.

Exemplos

Exemplo #1 IntlCalendar::setTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'fr_FR');

$cal = new IntlGregorianCalendar(2013, 5 /* May */, 1, 12, 0, 0);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";

/* In Europe/Lisbon, on 2013-10-27 at 0200, the clock goes back one hour and
   the timezone from UTC+01 to UTC+00 */

$cal->setTime(strtotime('2013-10-27 00:30:00 UTC') * 1000.);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";

$cal->setTime(strtotime('2013-10-27 01:30:00 UTC') * 1000.);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";

O exemplo acima irá imprimir:

samedi 1 juin 2013 12:00:00 heure avancée d’Europe de l’Ouest
dimanche 27 octobre 2013 01:30:00 heure avancée d’Europe de l’Ouest
dimanche 27 octobre 2013 01:30:00 heure normale d’Europe de l’Ouest


Set the timezone used by this calendar

  • « IntlCalendar::setTime
  • IntlCalendar::toDateTime »
  • PHP Manual
  • IntlCalendar
  • Set the timezone used by this calendar

IntlCalendar::setTimeZone

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::setTimeZone — Set the timezone used by this calendar

Descrição

Estilo orientado à objeto

public IntlCalendar::setTimeZone ( mixed $timeZone ) : bool

Estilo procedural

intlcal_set_time_zone ( IntlCalendar $cal , mixed $timeZone ) : bool

Defines a new timezone for this calendar. The time represented by the object is preserved to the detriment of the field values.

Parâmetros

cal

The IntlCalendar resource.

timeZone

The new timezone to be used by this calendar. It can be specified in the following ways:

  • null, in which case the default timezone will be used, as specified in the ini setting date.timezone or through the function date_default_timezone_set() and as returned by date_default_timezone_get().

  • An IntlTimeZone, which will be used directly.

  • A DateTimeZone. Its identifier will be extracted and an ICU timezone object will be created; the timezone will be backed by ICU's database, not PHP's.

  • A string, which should be a valid ICU timezone identifier. See IntlTimeZone::createTimeZoneIDEnumeration(). Raw offsets such as "GMT+08:30" are also accepted.

Valor Retornado

Returns true on success and false on failure.

Exemplos

Exemplo #1 IntlCalendar::setTimeZone()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'es_ES');

$cal = new IntlGregorianCalendar(2013, 5 /* May */, 1, 12, 0, 0);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";

$cal->setTimeZone(IntlTimeZone::getGMT());
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";

$cal->setTimeZone('GMT+03:33');
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";

O exemplo acima irá imprimir:

sábado, 1 de junio de 2013 12:00:00 Hora de verano de Europa occidental
(instant 1370084400000)
sábado, 1 de junio de 2013 11:00:00 GMT
(instant 1370084400000)
sábado, 1 de junio de 2013 14:33:00 GMT+03:33
(instant 1370084400000)


Convert an IntlCalendar into a DateTime object

  • « IntlCalendar::setTimeZone
  • IntlGregorianCalendar »
  • PHP Manual
  • IntlCalendar
  • Convert an IntlCalendar into a DateTime object

IntlCalendar::toDateTime

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a2)

IntlCalendar::toDateTime — Convert an IntlCalendar into a DateTime object

Descrição

Estilo orientado à objeto

public IntlCalendar::toDateTime ( ) : DateTime

Estilo procedural

intlcal_to_date_time ( IntlCalendar $cal ) : DateTime

Create a DateTime object that represents the same instant (up to second precision, with a rounding error of less than 1 second) and has an analog timezone to this object (the difference being DateTime's timezone will be backed by PHP's timezone while IntlCalendar's timezone is backed by ICU's).

Parâmetros

cal

The IntlCalendar resource.

Valor Retornado

A DateTime object with the same timezone as this object (though using PHP's database instead of ICU's) and the same time, except for the smaller precision (second precision instead of millisecond). Returns false on failure.

Exemplos

Exemplo #1 IntlCalendar::toDateTime()

<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'pt_PT');

$cal = IntlCalendar::createInstance('Europe/Lisbon'); //current time

$dt = $cal->toDateTime();
print_r($dt);

O exemplo acima irá imprimir:

DateTime Object
(
    [date] => 2013-07-02 00:29:13
    [timezone_type] => 3
    [timezone] => Europe/Lisbon
)

Veja Também

  • IntlCalendar::fromDateTime() - Create an IntlCalendar from a DateTime object or string
  • IntlCalendar::getTime() - Get time currently represented by the object
  • IntlCalendar::createInstance() - Create a new IntlCalendar
  • DateTime:__construct()


The IntlGregorianCalendar class

(PHP 5 >= 5.5.0, PHP 7)

Introdução

Sinopse da classe

IntlGregorianCalendar extends IntlCalendar {
/* Constantes herdadas */
const int IntlCalendar::FIELD_ERA = 0 ;
const int IntlCalendar::FIELD_YEAR = 1 ;
const int IntlCalendar::FIELD_MONTH = 2 ;
const int IntlCalendar::FIELD_WEEK_OF_YEAR = 3 ;
const int IntlCalendar::FIELD_WEEK_OF_MONTH = 4 ;
const int IntlCalendar::FIELD_DATE = 5 ;
const int IntlCalendar::FIELD_DAY_OF_YEAR = 6 ;
const int IntlCalendar::FIELD_DAY_OF_WEEK = 7 ;
const int IntlCalendar::FIELD_DAY_OF_WEEK_IN_MONTH = 8 ;
const int IntlCalendar::FIELD_AM_PM = 9 ;
const int IntlCalendar::FIELD_HOUR = 10 ;
const int IntlCalendar::FIELD_HOUR_OF_DAY = 11 ;
const int IntlCalendar::FIELD_MINUTE = 12 ;
const int IntlCalendar::FIELD_SECOND = 13 ;
const int IntlCalendar::FIELD_MILLISECOND = 14 ;
const int IntlCalendar::FIELD_ZONE_OFFSET = 15 ;
const int IntlCalendar::FIELD_DST_OFFSET = 16 ;
const int IntlCalendar::FIELD_YEAR_WOY = 17 ;
const int IntlCalendar::FIELD_DOW_LOCAL = 18 ;
const int IntlCalendar::FIELD_EXTENDED_YEAR = 19 ;
const int IntlCalendar::FIELD_JULIAN_DAY = 20 ;
const int IntlCalendar::FIELD_MILLISECONDS_IN_DAY = 21 ;
const int IntlCalendar::FIELD_IS_LEAP_MONTH = 22 ;
const int IntlCalendar::FIELD_FIELD_COUNT = 23 ;
const int IntlCalendar::FIELD_DAY_OF_MONTH = 5 ;
const int IntlCalendar::DOW_SUNDAY = 1 ;
const int IntlCalendar::DOW_MONDAY = 2 ;
const int IntlCalendar::DOW_TUESDAY = 3 ;
const int IntlCalendar::DOW_WEDNESDAY = 4 ;
const int IntlCalendar::DOW_THURSDAY = 5 ;
const int IntlCalendar::DOW_FRIDAY = 6 ;
const int IntlCalendar::DOW_SATURDAY = 7 ;
const int IntlCalendar::DOW_TYPE_WEEKDAY = 0 ;
const int IntlCalendar::DOW_TYPE_WEEKEND = 1 ;
const int IntlCalendar::DOW_TYPE_WEEKEND_OFFSET = 2 ;
const int IntlCalendar::DOW_TYPE_WEEKEND_CEASE = 3 ;
const int IntlCalendar::WALLTIME_FIRST = 1 ;
const int IntlCalendar::WALLTIME_LAST = 0 ;
const int IntlCalendar::WALLTIME_NEXT_VALID = 2 ;
/* Métodos */
public __construct ( IntlTimeZone $tz = ? , string $locale = ? )
public getGregorianChange ( ) : float|false
public isLeapYear ( int $year ) : bool
public setGregorianChange ( float $date ) : bool
/* Métodos herdados */
public IntlCalendar::add ( int $field , int $amount ) : bool
public IntlCalendar::after ( IntlCalendar $other ) : bool
public IntlCalendar::before ( IntlCalendar $other ) : bool
public IntlCalendar::clear ( int $field = NULL ) : bool
private IntlCalendar::__construct ( )
public static IntlCalendar::createInstance ( mixed $timeZone = NULL , string $locale = "" ) : IntlCalendar
public IntlCalendar::equals ( IntlCalendar $other ) : bool
public IntlCalendar::fieldDifference ( float $when , int $field ) : int|false
public static IntlCalendar::fromDateTime ( mixed $dateTime ) : IntlCalendar
public IntlCalendar::get ( int $field ) : int
public IntlCalendar::getActualMaximum ( int $field ) : int|false
public IntlCalendar::getActualMinimum ( int $field ) : int|false
public static IntlCalendar::getAvailableLocales ( ) : array
public IntlCalendar::getDayOfWeekType ( int $dayOfWeek ) : int|false
public IntlCalendar::getErrorCode ( ) : int
public IntlCalendar::getErrorMessage ( ) : string
public IntlCalendar::getFirstDayOfWeek ( ) : int|false
public IntlCalendar::getGreatestMinimum ( int $field ) : int|false
public static IntlCalendar::getKeywordValuesForLocale ( string $key , string $locale , bool $commonlyUsed ) : Iterator|false
public IntlCalendar::getLeastMaximum ( int $field ) : int|false
public IntlCalendar::getLocale ( int $localeType ) : string|false
public IntlCalendar::getMaximum ( int $field ) : int|false
public IntlCalendar::getMinimalDaysInFirstWeek ( ) : int|false
public IntlCalendar::getMinimum ( int $field ) : int|false
public static IntlCalendar::getNow ( ) : float
public IntlCalendar::getRepeatedWallTimeOption ( ) : int
public IntlCalendar::getSkippedWallTimeOption ( ) : int
public IntlCalendar::getTime ( ) : float
public IntlCalendar::getTimeZone ( ) : IntlTimeZone
public IntlCalendar::getType ( ) : string
public IntlCalendar::getWeekendTransition ( string $dayOfWeek ) : int|false
public IntlCalendar::inDaylightTime ( ) : bool
public IntlCalendar::isEquivalentTo ( IntlCalendar $other ) : bool
public IntlCalendar::isLenient ( ) : bool
public IntlCalendar::isSet ( int $field ) : bool
public IntlCalendar::isWeekend ( float $date = NULL ) : bool
public IntlCalendar::roll ( int $field , mixed $amountOrUpOrDown ) : bool
public IntlCalendar::set ( int $field , int $value ) : bool
public IntlCalendar::set ( int $year , int $month , int $dayOfMonth = NULL , int $hour = NULL , int $minute = NULL , int $second = NULL ) : bool
public IntlCalendar::setFirstDayOfWeek ( int $dayOfWeek ) : bool
public IntlCalendar::setLenient ( bool $isLenient ) : bool
public IntlCalendar::setMinimalDaysInFirstWeek ( int $minimalDays ) : bool
public IntlCalendar::setRepeatedWallTimeOption ( int $wallTimeOption ) : bool
public IntlCalendar::setSkippedWallTimeOption ( int $wallTimeOption ) : bool
public IntlCalendar::setTime ( float $date ) : bool
public IntlCalendar::setTimeZone ( mixed $timeZone ) : bool
public IntlCalendar::toDateTime ( ) : DateTime
}

Índice

  • IntlGregorianCalendar::__construct — Create the Gregorian Calendar class
  • IntlGregorianCalendar::getGregorianChange — Get the Gregorian Calendar change date
  • IntlGregorianCalendar::isLeapYear — Determine if the given year is a leap year
  • IntlGregorianCalendar::setGregorianChange — Set the Gregorian Calendar the change date


Create the Gregorian Calendar class

  • « IntlGregorianCalendar
  • IntlGregorianCalendar::getGregorianChange »
  • PHP Manual
  • IntlGregorianCalendar
  • Create the Gregorian Calendar class

IntlGregorianCalendar::__construct

(PHP 5 >= 5.5.0, PHP 7)

IntlGregorianCalendar::__construct — Create the Gregorian Calendar class

Descrição

public IntlGregorianCalendar::__construct ( IntlTimeZone $tz = ? , string $locale = ? )
public IntlGregorianCalendar::__construct ( int $timeZoneOrYear , int $localeOrMonth , int $dayOfMonth )
public IntlGregorianCalendar::__construct ( int $timeZoneOrYear , int $localeOrMonth , int $dayOfMonth , int $hour , int $minute , int $second = ? )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

tz

locale

timeZoneOrYear

localeOrMonth

dayOfMonth

hour

minute

second


Get the Gregorian Calendar change date

  • « IntlGregorianCalendar::__construct
  • IntlGregorianCalendar::isLeapYear »
  • PHP Manual
  • IntlGregorianCalendar
  • Get the Gregorian Calendar change date

IntlGregorianCalendar::getGregorianChange

(PHP 5 >= 5.5.0, PHP 7)

IntlGregorianCalendar::getGregorianChange — Get the Gregorian Calendar change date

Descrição

public IntlGregorianCalendar::getGregorianChange ( ) : float|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the change date ou false em caso de falha.


Determine if the given year is a leap year

  • « IntlGregorianCalendar::getGregorianChange
  • IntlGregorianCalendar::setGregorianChange »
  • PHP Manual
  • IntlGregorianCalendar
  • Determine if the given year is a leap year

IntlGregorianCalendar::isLeapYear

(PHP 5 >= 5.5.0, PHP 7)

IntlGregorianCalendar::isLeapYear — Determine if the given year is a leap year

Descrição

public IntlGregorianCalendar::isLeapYear ( int $year ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

year

Valor Retornado

Returns true for leap years, false otherwise and on failure.


Set the Gregorian Calendar the change date

  • « IntlGregorianCalendar::isLeapYear
  • IntlTimeZone »
  • PHP Manual
  • IntlGregorianCalendar
  • Set the Gregorian Calendar the change date

IntlGregorianCalendar::setGregorianChange

(PHP 5 >= 5.5.0, PHP 7)

IntlGregorianCalendar::setGregorianChange — Set the Gregorian Calendar the change date

Descrição

public IntlGregorianCalendar::setGregorianChange ( float $date ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

date

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


The IntlTimeZone class

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

Introdução

Sinopse da classe

IntlTimeZone {
/* Constants */
const int DISPLAY_SHORT = 1 ;
const int DISPLAY_LONG = 2 ;
/* Métodos */
public static countEquivalentIDs ( string $zoneId ) : int
public static createDefault ( ) : IntlTimeZone
public static createEnumeration ( mixed $countryOrRawOffset = ? ) : IntlIterator
public static createTimeZone ( string $zoneId ) : IntlTimeZone
public static createTimeZoneIDEnumeration ( int $zoneType , string $region = ? , int $rawOffset = ? ) : IntlIterator|false
public static fromDateTimeZone ( DateTimeZone $zoneId ) : IntlTimeZone
public static getCanonicalID ( string $zoneId , bool &$isSystemID = ? ) : string
public getDisplayName ( bool $isDaylight = ? , int $style = ? , string $locale = ? ) : string
public getDSTSavings ( ) : int
public static getEquivalentID ( string $zoneId , int $index ) : string
public getErrorCode ( ) : int
public getErrorMessage ( ) : string
public static getGMT ( ) : IntlTimeZone
public getID ( ) : string
public static getIDForWindowsID ( string $timezone , string $region = ? ) : string|false
public getOffset ( float $date , bool $local , int &$rawOffset , int &$dstOffset ) : bool
public getRawOffset ( ) : int
public static getRegion ( string $zoneId ) : string|false
public static getTZDataVersion ( ) : string
public static getUnknown ( ) : IntlTimeZone
public static getWindowsID ( string $timezone ) : string|false
public hasSameRules ( IntlTimeZone $otherTimeZone ) : bool
public toDateTimeZone ( ) : DateTimeZone
public useDaylightTime ( ) : bool
}

Constantes pré-definidas

IntlTimeZone::DISPLAY_SHORT

IntlTimeZone::DISPLAY_LONG

Índice

  • IntlTimeZone::countEquivalentIDs — Get the number of IDs in the equivalency group that includes the given ID
  • IntlTimeZone::createDefault — Create a new copy of the default timezone for this host
  • IntlTimeZone::createEnumeration — Get an enumeration over time zone IDs associated with the given country or offset
  • IntlTimeZone::createTimeZone — Create a timezone object for the given ID
  • IntlTimeZone::createTimeZoneIDEnumeration — Get an enumeration over system time zone IDs with the given filter conditions
  • IntlTimeZone::fromDateTimeZone — Create a timezone object from DateTimeZone
  • IntlTimeZone::getCanonicalID — Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
  • IntlTimeZone::getDisplayName — Get a name of this time zone suitable for presentation to the user
  • IntlTimeZone::getDSTSavings — Get the amount of time to be added to local standard time to get local wall clock time
  • IntlTimeZone::getEquivalentID — Get an ID in the equivalency group that includes the given ID
  • IntlTimeZone::getErrorCode — Get last error code on the object
  • IntlTimeZone::getErrorMessage — Get last error message on the object
  • IntlTimeZone::getGMT — Create GMT (UTC) timezone
  • IntlTimeZone::getID — Get timezone ID
  • IntlTimeZone::getIDForWindowsID — Translate a Windows timezone into a system timezone
  • IntlTimeZone::getOffset — Get the time zone raw and GMT offset for the given moment in time
  • IntlTimeZone::getRawOffset — Get the raw GMT offset (before taking daylight savings time into account
  • IntlTimeZone::getRegion — Get the region code associated with the given system time zone ID
  • IntlTimeZone::getTZDataVersion — Get the timezone data version currently used by ICU
  • IntlTimeZone::getUnknown — Get the "unknown" time zone
  • IntlTimeZone::getWindowsID — Translate a system timezone into a Windows timezone
  • IntlTimeZone::hasSameRules — Check if this zone has the same rules and offset as another zone
  • IntlTimeZone::toDateTimeZone — Convert to DateTimeZone object
  • IntlTimeZone::useDaylightTime — Check if this time zone uses daylight savings time


Get the number of IDs in the equivalency group that includes the given ID

  • « IntlTimeZone
  • IntlTimeZone::createDefault »
  • PHP Manual
  • IntlTimeZone
  • Get the number of IDs in the equivalency group that includes the given ID

IntlTimeZone::countEquivalentIDs

intltz_count_equivalent_ids

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::countEquivalentIDs -- intltz_count_equivalent_ids — Get the number of IDs in the equivalency group that includes the given ID

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::countEquivalentIDs ( string $zoneId ) : int

Estilo procedural:

intltz_count_equivalent_ids ( string $zoneId ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

zoneId

Valor Retornado


Create a new copy of the default timezone for this host

  • « IntlTimeZone::countEquivalentIDs
  • IntlTimeZone::createEnumeration »
  • PHP Manual
  • IntlTimeZone
  • Create a new copy of the default timezone for this host

IntlTimeZone::createDefault

intltz_create_default

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::createDefault -- intltz_create_default — Create a new copy of the default timezone for this host

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::createDefault ( ) : IntlTimeZone

Estilo procedural:

intltz_create_default ( ) : IntlTimeZone

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get an enumeration over time zone IDs associated with the given country or offset

  • « IntlTimeZone::createDefault
  • IntlTimeZone::createTimeZone »
  • PHP Manual
  • IntlTimeZone
  • Get an enumeration over time zone IDs associated with the given country or offset

IntlTimeZone::createEnumeration

intltz_create_enumeration

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::createEnumeration -- intltz_create_enumeration — Get an enumeration over time zone IDs associated with the given country or offset

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::createEnumeration ( mixed $countryOrRawOffset = ? ) : IntlIterator

Estilo procedural:

intltz_create_enumeration ( mixed $countryOrRawOffset = ? ) : IntlIterator

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

countryOrRawOffset

Valor Retornado


Create a timezone object for the given ID

  • « IntlTimeZone::createEnumeration
  • IntlTimeZone::createTimeZoneIDEnumeration »
  • PHP Manual
  • IntlTimeZone
  • Create a timezone object for the given ID

IntlTimeZone::createTimeZone

intltz_create_time_zone

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::createTimeZone -- intltz_create_time_zone — Create a timezone object for the given ID

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::createTimeZone ( string $zoneId ) : IntlTimeZone

Estilo procedural:

intltz_create_time_zone ( string $zoneId ) : IntlTimeZone

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

zoneId

Valor Retornado


Get an enumeration over system time zone IDs with the given filter conditions

  • « IntlTimeZone::createTimeZone
  • IntlTimeZone::fromDateTimeZone »
  • PHP Manual
  • IntlTimeZone
  • Get an enumeration over system time zone IDs with the given filter conditions

IntlTimeZone::createTimeZoneIDEnumeration

intltz_create_time_zone_id_enumeration

(PHP 5 >= 5.5.0, PHP 7)

IntlTimeZone::createTimeZoneIDEnumeration -- intltz_create_time_zone_id_enumeration — Get an enumeration over system time zone IDs with the given filter conditions

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::createTimeZoneIDEnumeration ( int $zoneType , string $region = ? , int $rawOffset = ? ) : IntlIterator|false

Estilo procedural:

intltz_create_time_zone_id_enumeration ( int $zoneType , string $region = ? , int $rawOffset = ? ) : IntlIterator|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

zoneType

region

rawOffset

Valor Retornado

Returns IntlIterator ou false em caso de falha.


Create a timezone object from DateTimeZone

  • « IntlTimeZone::createTimeZoneIDEnumeration
  • IntlTimeZone::getCanonicalID »
  • PHP Manual
  • IntlTimeZone
  • Create a timezone object from DateTimeZone

IntlTimeZone::fromDateTimeZone

intltz_from_date_time_zone

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::fromDateTimeZone -- intltz_from_date_time_zone — Create a timezone object from DateTimeZone

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::fromDateTimeZone ( DateTimeZone $zoneId ) : IntlTimeZone

Estilo procedural:

intltz_from_date_time_zone ( DateTimeZone $zoneId ) : IntlTimeZone

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

zoneId

Valor Retornado


Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID

  • « IntlTimeZone::fromDateTimeZone
  • IntlTimeZone::getDisplayName »
  • PHP Manual
  • IntlTimeZone
  • Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID

IntlTimeZone::getCanonicalID

intltz_get_canonical_id

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getCanonicalID -- intltz_get_canonical_id — Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::getCanonicalID ( string $zoneId , bool &$isSystemID = ? ) : string

Estilo procedural:

intltz_get_canonical_id ( string $zoneId , bool &$isSystemID = ? ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

zoneId

isSystemID

Valor Retornado


Get a name of this time zone suitable for presentation to the user

  • « IntlTimeZone::getCanonicalID
  • IntlTimeZone::getDSTSavings »
  • PHP Manual
  • IntlTimeZone
  • Get a name of this time zone suitable for presentation to the user

IntlTimeZone::getDisplayName

intltz_get_display_name

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getDisplayName -- intltz_get_display_name — Get a name of this time zone suitable for presentation to the user

Descrição

Estilo orientado à objeto (method):

public IntlTimeZone::getDisplayName ( bool $isDaylight = ? , int $style = ? , string $locale = ? ) : string

Estilo procedural:

intltz_get_display_name ( IntlTimeZone $timezone , bool $isDaylight = ? , int $style = ? , string $locale = ? ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

isDaylight

style

locale

Valor Retornado


Get the amount of time to be added to local standard time to get local wall clock time

  • « IntlTimeZone::getDisplayName
  • IntlTimeZone::getEquivalentID »
  • PHP Manual
  • IntlTimeZone
  • Get the amount of time to be added to local standard time to get local wall clock time

IntlTimeZone::getDSTSavings

intltz_get_dst_savings

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getDSTSavings -- intltz_get_dst_savings — Get the amount of time to be added to local standard time to get local wall clock time

Descrição

Estilo orientado à objeto (method):

public IntlTimeZone::getDSTSavings ( ) : int

Estilo procedural:

intltz_get_dst_savings ( IntlTimeZone $timezone ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get an ID in the equivalency group that includes the given ID

  • « IntlTimeZone::getDSTSavings
  • IntlTimeZone::getErrorCode »
  • PHP Manual
  • IntlTimeZone
  • Get an ID in the equivalency group that includes the given ID

IntlTimeZone::getEquivalentID

intltz_get_equivalent_id

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getEquivalentID -- intltz_get_equivalent_id — Get an ID in the equivalency group that includes the given ID

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::getEquivalentID ( string $zoneId , int $index ) : string

Estilo procedural:

intltz_get_equivalent_id ( string $zoneId , int $index ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

zoneId

index

Valor Retornado


Get last error code on the object

  • « IntlTimeZone::getEquivalentID
  • IntlTimeZone::getErrorMessage »
  • PHP Manual
  • IntlTimeZone
  • Get last error code on the object

IntlTimeZone::getErrorCode

intltz_get_error_code

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getErrorCode -- intltz_get_error_code — Get last error code on the object

Descrição

Estilo orientado à objeto (method):

public IntlTimeZone::getErrorCode ( ) : int

Estilo procedural:

intltz_get_error_code ( IntlTimeZone $timezone ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get last error message on the object

  • « IntlTimeZone::getErrorCode
  • IntlTimeZone::getGMT »
  • PHP Manual
  • IntlTimeZone
  • Get last error message on the object

IntlTimeZone::getErrorMessage

intltz_get_error_message

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getErrorMessage -- intltz_get_error_message — Get last error message on the object

Descrição

Estilo orientado à objeto (method):

public IntlTimeZone::getErrorMessage ( ) : string

Estilo procedural:

intltz_get_error_message ( IntlTimeZone $timezone ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Create GMT (UTC) timezone

  • « IntlTimeZone::getErrorMessage
  • IntlTimeZone::getID »
  • PHP Manual
  • IntlTimeZone
  • Create GMT (UTC) timezone

IntlTimeZone::getGMT

intltz_get_gmt

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getGMT -- intltz_get_gmt — Create GMT (UTC) timezone

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::getGMT ( ) : IntlTimeZone

Estilo procedural:

intltz_get_gmt ( ) : IntlTimeZone

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get timezone ID

  • « IntlTimeZone::getGMT
  • IntlTimeZone::getIDForWindowsID »
  • PHP Manual
  • IntlTimeZone
  • Get timezone ID

IntlTimeZone::getID

intltz_get_id

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getID -- intltz_get_id — Get timezone ID

Descrição

Estilo orientado à objeto (method):

public IntlTimeZone::getID ( ) : string

Estilo procedural:

intltz_get_id ( IntlTimeZone $timezone ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Translate a Windows timezone into a system timezone

  • « IntlTimeZone::getID
  • IntlTimeZone::getOffset »
  • PHP Manual
  • IntlTimeZone
  • Translate a Windows timezone into a system timezone

IntlTimeZone::getIDForWindowsID

intltz_get_id_for_windows_id

(PHP 7 >= 7.1.0)

IntlTimeZone::getIDForWindowsID -- intltz_get_id_for_windows_id — Translate a Windows timezone into a system timezone

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::getIDForWindowsID ( string $timezone , string $region = ? ) : string|false

Estilo procedural:

intltz_get_id_for_windows_id ( string $timezone , string $region = ? ) : string|false

Translates a Windows timezone (e.g. "Pacific Standard Time") into a system timezone (e.g. "America/Los_Angeles").

Nota: This function requires ICU version = 52.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

timezone

region

Valor Retornado

Returns the system timezone ou false em caso de falha.

Veja Também

  • IntlTimeZone::getWindowsID() - Translate a system timezone into a Windows timezone


Get the time zone raw and GMT offset for the given moment in time

  • « IntlTimeZone::getIDForWindowsID
  • IntlTimeZone::getRawOffset »
  • PHP Manual
  • IntlTimeZone
  • Get the time zone raw and GMT offset for the given moment in time

IntlTimeZone::getOffset

intltz_get_offset

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getOffset -- intltz_get_offset — Get the time zone raw and GMT offset for the given moment in time

Descrição

Estilo orientado à objeto (method):

public IntlTimeZone::getOffset ( float $date , bool $local , int &$rawOffset , int &$dstOffset ) : bool

Estilo procedural:

intltz_get_offset ( IntlTimeZone $timezone , float $date , bool $local , int &$rawOffset , int &$dstOffset ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

date

local

rawOffset

dstOffset

Valor Retornado


Get the raw GMT offset (before taking daylight savings time into account

  • « IntlTimeZone::getOffset
  • IntlTimeZone::getRegion »
  • PHP Manual
  • IntlTimeZone
  • Get the raw GMT offset (before taking daylight savings time into account

IntlTimeZone::getRawOffset

intltz_get_raw_offset

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getRawOffset -- intltz_get_raw_offset — Get the raw GMT offset (before taking daylight savings time into account

Descrição

Estilo orientado à objeto (method):

public IntlTimeZone::getRawOffset ( ) : int

Estilo procedural:

intltz_get_raw_offset ( IntlTimeZone $timezone ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get the region code associated with the given system time zone ID

  • « IntlTimeZone::getRawOffset
  • IntlTimeZone::getTZDataVersion »
  • PHP Manual
  • IntlTimeZone
  • Get the region code associated with the given system time zone ID

IntlTimeZone::getRegion

intltz_get_region

(PHP 5 >= 5.5.0, PHP 7)

IntlTimeZone::getRegion -- intltz_get_region — Get the region code associated with the given system time zone ID

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::getRegion ( string $zoneId ) : string|false

Estilo procedural:

intltz_get_region ( string $zoneId ) : string|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

zoneId

Valor Retornado

Return region ou false em caso de falha.


Get the timezone data version currently used by ICU

  • « IntlTimeZone::getRegion
  • IntlTimeZone::getUnknown »
  • PHP Manual
  • IntlTimeZone
  • Get the timezone data version currently used by ICU

IntlTimeZone::getTZDataVersion

intltz_get_tz_data_version

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getTZDataVersion -- intltz_get_tz_data_version — Get the timezone data version currently used by ICU

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::getTZDataVersion ( ) : string

Estilo procedural:

intltz_get_tz_data_version ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get the "unknown" time zone

  • « IntlTimeZone::getTZDataVersion
  • IntlTimeZone::getWindowsID »
  • PHP Manual
  • IntlTimeZone
  • Get the "unknown" time zone

IntlTimeZone::getUnknown

intltz_get_unknown

(PHP 5 >= 5.5.0, PHP 7)

IntlTimeZone::getUnknown -- intltz_get_unknown — Get the "unknown" time zone

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::getUnknown ( ) : IntlTimeZone

Estilo procedural:

intltz_get_unknown ( ) : IntlTimeZone

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns IntlTimeZone or null on failure.


Translate a system timezone into a Windows timezone

  • « IntlTimeZone::getUnknown
  • IntlTimeZone::hasSameRules »
  • PHP Manual
  • IntlTimeZone
  • Translate a system timezone into a Windows timezone

IntlTimeZone::getWindowsID

intltz_get_windows_id

(PHP 7 >= 7.1.0)

IntlTimeZone::getWindowsID -- intltz_get_windows_id — Translate a system timezone into a Windows timezone

Descrição

Estilo orientado à objeto (method):

public static IntlTimeZone::getWindowsID ( string $timezone ) : string|false

Estilo procedural:

intltz_get_windows_id ( string $timezone ) : string|false

Translates a system timezone (e.g. "America/Los_Angeles") into a Windows timezone (e.g. "Pacific Standard Time").

Nota: This function requires ICU version = 52.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

timezone

Valor Retornado

Returns the Windows timezone ou false em caso de falha.

Veja Também

  • IntlTimeZone::getIDForWindowsID() - Translate a Windows timezone into a system timezone


Check if this zone has the same rules and offset as another zone

  • « IntlTimeZone::getWindowsID
  • IntlTimeZone::toDateTimeZone »
  • PHP Manual
  • IntlTimeZone
  • Check if this zone has the same rules and offset as another zone

IntlTimeZone::hasSameRules

intltz_has_same_rules

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::hasSameRules -- intltz_has_same_rules — Check if this zone has the same rules and offset as another zone

Descrição

Estilo orientado à objeto (method):

public IntlTimeZone::hasSameRules ( IntlTimeZone $otherTimeZone ) : bool

Estilo procedural:

intltz_has_same_rules ( IntlTimeZone $timezone , IntlTimeZone $otherTimeZone ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

otherTimeZone

Valor Retornado


Convert to DateTimeZone object

  • « IntlTimeZone::hasSameRules
  • IntlTimeZone::useDaylightTime »
  • PHP Manual
  • IntlTimeZone
  • Convert to DateTimeZone object

IntlTimeZone::toDateTimeZone

intltz_to_date_time_zone

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::toDateTimeZone -- intltz_to_date_time_zone — Convert to DateTimeZone object

Descrição

Estilo orientado à objeto (method):

public IntlTimeZone::toDateTimeZone ( ) : DateTimeZone

Estilo procedural:

intltz_to_date_time_zone ( IntlTimeZone $timezone ) : DateTimeZone

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Check if this time zone uses daylight savings time

  • « IntlTimeZone::toDateTimeZone
  • IntlDateFormatter »
  • PHP Manual
  • IntlTimeZone
  • Check if this time zone uses daylight savings time

IntlTimeZone::useDaylightTime

intltz_use_daylight_time

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::useDaylightTime -- intltz_use_daylight_time — Check if this time zone uses daylight savings time

Descrição

Estilo orientado à objeto (method):

public IntlTimeZone::useDaylightTime ( ) : bool

Estilo procedural:

intltz_use_daylight_time ( IntlTimeZone $timezone ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The IntlDateFormatter class

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Introdução

Date Formatter is a concrete class that enables locale-dependent formatting/parsing of dates using pattern strings and/or canned patterns.

This class represents the ICU date formatting functionality. It allows users to display dates in a localized format or to parse strings into PHP date values using pattern strings and/or canned patterns.

Class synopsis

IntlDateFormatter {
/* Métodos */
public __construct ( string|null $locale , int $dateType , int $timeType , IntlTimeZone|DateTimeZone|string|null $timezone = null , IntlCalendar|int|null $calendar = null , string $pattern = "" )
public static create ( string|null $locale , int $dateType , int $timeType , IntlTimeZone|DateTimeZone|string|null $timezone = null , IntlCalendar|int|null $calendar = null , string $pattern = "" ) : IntlDateFormatter|null
public format ( IntlCalendar|DateTimeInterface|array|string|int|float $datetime ) : string|false
public static formatObject ( IntlCalendar|DateTime $datetime , array|int|string|null $format = null , string|null $locale = null ) : string|false
public getCalendar ( ) : int|false
public getDateType ( ) : int|false
public getErrorCode ( ) : int
public getErrorMessage ( ) : string
public getLocale ( int $type = ULOC_ACTUAL_LOCALE ) : string|false
public getPattern ( ) : string|false
public getTimeType ( ) : int|false
public getTimeZoneId ( ) : string|false
public getCalendarObject ( ) : IntlCalendar|false|null
public getTimeZone ( ) : IntlTimeZone|false
public isLenient ( ) : bool
public localtime ( string $string , int &$offset = null ) : array|false
public parse ( string $string , int &$offset = null ) : int|float|false
public setCalendar ( IntlCalendar|int|null $calendar ) : bool
public setLenient ( bool $lenient ) : void
public setPattern ( string $pattern ) : bool
public setTimeZone ( IntlTimeZone|DateTimeZone|string|null $timezone ) : bool|null
}

Veja Também

  • » ICU Date formatter
  • » ICU Date formats

Constantes pré-definidas

These constants are used to specify different formats in the constructor for DateType and TimeType.

IntlDateFormatter::NONE (int)
Do not include this element
IntlDateFormatter::FULL (int)
Completely specified style (Tuesday, April 12, 1952 AD or 3:30:42pm PST)
IntlDateFormatter::LONG (int)
Long style (January 12, 1952 or 3:30:32pm)
IntlDateFormatter::MEDIUM (int)
Medium style (Jan 12, 1952)
IntlDateFormatter::SHORT (int)
Most abbreviated style, only essential data (12/13/52 or 3:30pm)
IntlDateFormatter::RELATIVE_FULL (int)
The same as IntlDateFormatter::FULL, but yesterday, today, and tomorrow show as yesterday, today, and tomorrow, respectively. Available as of PHP 8.0.0, for dateType only.
IntlDateFormatter::RELATIVE_LONG (int)
The same as IntlDateFormatter::LONG, but yesterday, today, and tomorrow show as yesterday, today, and tomorrow, respectively. Available as of PHP 8.0.0, for dateType only.
IntlDateFormatter::RELATIVE_MEDIUM (int)
The same as IntlDateFormatter::MEDIUM, but yesterday, today, and tomorrow show as yesterday, today, and tomorrow, respectively. Available as of PHP 8.0.0, for dateType only.
IntlDateFormatter::RELATIVE_SHORT (int)
The same as IntlDateFormatter::SHORT, but yesterday, today, and tomorrow show as yesterday, today, and tomorrow, respectively. Available as of PHP 8.0.0, for dateType only.

The following int constants are used to specify the calendar. These calendars are all based directly on the Gregorian calendar. Non-Gregorian calendars need to be specified in locale. Examples might include locale="hi@calendar=BUDDHIST".

IntlDateFormatter::TRADITIONAL (int)
Non-Gregorian Calendar
IntlDateFormatter::GREGORIAN (int)
Gregorian Calendar

Índice

  • IntlDateFormatter::create — Create a date formatter
  • IntlDateFormatter::format — Format the date/time value as a string
  • IntlDateFormatter::formatObject — Formats an object
  • IntlDateFormatter::getCalendar — Get the calendar type used for the IntlDateFormatter
  • IntlDateFormatter::getDateType — Get the datetype used for the IntlDateFormatter
  • IntlDateFormatter::getErrorCode — Get the error code from last operation
  • IntlDateFormatter::getErrorMessage — Get the error text from the last operation
  • IntlDateFormatter::getLocale — Get the locale used by formatter
  • IntlDateFormatter::getPattern — Get the pattern used for the IntlDateFormatter
  • IntlDateFormatter::getTimeType — Get the timetype used for the IntlDateFormatter
  • IntlDateFormatter::getTimeZoneId — Get the timezone-id used for the IntlDateFormatter
  • IntlDateFormatter::getCalendarObject — Get copy of formatter's calendar object
  • IntlDateFormatter::getTimeZone — Get formatter's timezone
  • IntlDateFormatter::isLenient — Get the lenient used for the IntlDateFormatter
  • IntlDateFormatter::localtime — Parse string to a field-based time value
  • IntlDateFormatter::parse — Parse string to a timestamp value
  • IntlDateFormatter::setCalendar — Sets the calendar type used by the formatter
  • IntlDateFormatter::setLenient — Set the leniency of the parser
  • IntlDateFormatter::setPattern — Set the pattern used for the IntlDateFormatter
  • IntlDateFormatter::setTimeZone — Sets formatter's timezone


Create a date formatter

  • « IntlDateFormatter
  • IntlDateFormatter::format »
  • PHP Manual
  • IntlDateFormatter
  • Create a date formatter

IntlDateFormatter::create

datefmt_create

IntlDateFormatter::__construct

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Create a date formatter

Descrição

Estilo orientado à objeto

public static IntlDateFormatter::create ( string|null $locale , int $dateType , int $timeType , IntlTimeZone|DateTimeZone|string|null $timezone = null , IntlCalendar|int|null $calendar = null , string $pattern = "" ) : IntlDateFormatter|null

Estilo orientado à objeto (constructor)

public IntlDateFormatter::__construct ( string|null $locale , int $dateType , int $timeType , IntlTimeZone|DateTimeZone|string|null $timezone = null , IntlCalendar|int|null $calendar = null , string $pattern = "" )

Estilo procedural

datefmt_create ( string|null $locale , int $dateType , int $timeType , IntlTimeZone|DateTimeZone|string|null $timezone = null , IntlCalendar|int|null $calendar = null , string $pattern = "" ) : IntlDateFormatter|null

Create a date formatter.

Parâmetros

locale

Locale to use when formatting or parsing or null to use the value specified in the ini setting intl.default_locale.

dateType

Date type to use (none, short, medium, long, full). This is one of the IntlDateFormatter constants. It can also be null, in which case ICU's default date type will be used.

timeType

Time type to use (none, short, medium, long, full). This is one of the IntlDateFormatter constants. It can also be null, in which case ICU's default time type will be used.

timezone

Time zone ID. The default (and the one used if null is given) is the one returned by date_default_timezone_get() or, if applicable, that of the IntlCalendar object passed for the calendar parameter. This ID must be a valid identifier on ICU's database or an ID representing an explicit offset, such as GMT-05:30.

This can also be an IntlTimeZone or a DateTimeZone object.

calendar

Calendar to use for formatting or parsing. The default value is null, which corresponds to IntlDateFormatter::GREGORIAN. This can either be one of the IntlDateFormatter calendar constants or an IntlCalendar. Any IntlCalendar object passed will be clone; it will not be changed by the IntlDateFormatter. This will determine the calendar type used (gregorian, islamic, persian, etc.) and, if null is given for the timezone parameter, also the timezone used.

pattern

Optional pattern to use when formatting or parsing. Possible patterns are documented at » https://unicode-org.github.io/icu/userguide/format_parse/datetime/.

Valor Retornado

The created IntlDateFormatter or null in case of failure.

Changelog

Versão | Descrição
5.5.0/PECL 3.0.0 | An IntlCalendar object is allowed for calendar. Objects of type IntlTimeZone and DateTimeZone are allowed for timezone. Invalid timezone identifiers (including empty strings) are no longer allowed for timezone. If null is given for timezone, the timezone identifier given by date_default_timezone_get() will be used instead of ICU's default.

Exemplos

Exemplo #1 datefmt_create() example

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles', IntlDateFormatter::GREGORIAN  );
echo "First Formatted output is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Second Formatted output is ".datefmt_format( $fmt , 0);

$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "First Formatted output with pattern is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Second Formatted output with pattern is ".datefmt_format( $fmt , 0);
?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "First Formatted output is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Second Formatted output is ".$fmt->format(0);

$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "First Formatted output with pattern is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
      'America/Los_Angeles',IntlDateFormatter::GREGORIAN , "MM/dd/yyyy");
echo "Second Formatted output with pattern is ".$fmt->format(0);
?>

O exemplo acima irá imprimir:

First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Second Formatted output is Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00
First Formatted output with pattern is 12/31/1969
Second Formatted output with pattern is 12/31/1969

Veja Também

  • datefmt_format() - Format the date/time value as a string
  • datefmt_parse() - Parse string to a timestamp value
  • datefmt_get_error_code() - Get the error code from last operation
  • datefmt_get_error_message() - Get the error text from the last operation


Format the date/time value as a string

  • « IntlDateFormatter::create
  • IntlDateFormatter::formatObject »
  • PHP Manual
  • IntlDateFormatter
  • Format the date/time value as a string

IntlDateFormatter::format

datefmt_format

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::format -- datefmt_format — Format the date/time value as a string

Descrição

Estilo orientado à objeto

public IntlDateFormatter::format ( IntlCalendar|DateTimeInterface|array|string|int|float $datetime ) : string|false

Estilo procedural

datefmt_format ( IntlDateFormatter $formatter , IntlCalendar|DateTimeInterface|array|string|int|float $datetime ) : string|false

Formats the time value as a string.

Parâmetros

formatter

The date formatter resource.

datetime

Value to format. This may be a DateTimeInterface object, an IntlCalendar object, a numeric type representing a (possibly fractional) number of seconds since epoch or an array in the format output by localtime().

If a DateTime or an IntlCalendar object is passed, its timezone is not considered. The object will be formatted using the formater's configured timezone. If one wants to use the timezone of the object to be formatted, IntlDateFormatter::setTimeZone() must be called before with the object's timezone. Alternatively, the static function IntlDateFormatter::formatObject() may be used instead.

Valor Retornado

The formatted string or, if an error occurred, false.

Changelog

Versão | Descrição
7.1.5 | Support for providing general DateTimeInterface objects to the datetime parameter was added. Formerly, only proper DateTime objects were supported.
PECL 3.0.0 | Support for providing IntlCalendar objects to the datetime parameter was added.

Exemplos

Exemplo #1 datefmt_format() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'First Formatted output is ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Second Formatted output is ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'First Formatted output with pattern is ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo "Second Formatted output with pattern is " . datefmt_format($fmt, 0);
?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'First Formatted output is ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Second Formatted output is ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'First Formatted output with pattern is ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'Second Formatted output with pattern is ' . $fmt->format(0);
?>

O exemplo acima irá imprimir:

First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Second Formatted output is Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00
First Formatted output with pattern is 12/31/1969
Second Formatted output with pattern is 12/31/1969

Exemplo #3 With IntlCalendar object

<?php
$tz = reset(iterator_to_array(IntlTimeZone::createEnumeration('FR')));
$formatter = IntlDateFormatter::create(
    'fr_FR',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    $tz,
    IntlDateFormatter::GREGORIAN
);

$cal = IntlCalendar::createInstance($tz, '@calendar=islamic-civil');
$cal->set(IntlCalendar::FIELD_MONTH, 8); //9th month, Ramadan
$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 1); //1st day
$cal->clear(IntlCalendar::FIELD_HOUR_OF_DAY);
$cal->clear(IntlCalendar::FIELD_MINUTE);
$cal->clear(IntlCalendar::FIELD_SECOND);
$cal->clear(IntlCalendar::FIELD_MILLISECOND);

echo "In this islamic year, Ramadan started/will start on:\n\t",
        $formatter->format($cal), "\n";

//It's the formatter's timezone that is used:
$formatter->setTimeZone('Asia/Tokyo');
echo "After changing timezone:\n\t",
        $formatter->format($cal), "\n";

O exemplo acima irá imprimir:

In this islamic year, Ramadan started/will start on:
    mardi 9 juillet 2013 19:00:00 heure avancée d’Europe centrale
After changing timezone:
    mercredi 10 juillet 2013 02:00:00 heure normale du Japon

Veja Também

  • datefmt_create() - Create a date formatter
  • datefmt_parse() - Parse string to a timestamp value
  • datefmt_get_error_code() - Get the error code from last operation
  • datefmt_get_error_message() - Get the error text from the last operation
  • datefmt_format_object() - Formats an object


Formats an object

  • « IntlDateFormatter::format
  • IntlDateFormatter::getCalendar »
  • PHP Manual
  • IntlDateFormatter
  • Formats an object

IntlDateFormatter::formatObject

datefmt_format_object

(PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0)

IntlDateFormatter::formatObject -- datefmt_format_object — Formats an object

Descrição

Estilo orientado à objeto

public static IntlDateFormatter::formatObject ( IntlCalendar|DateTime $datetime , array|int|string|null $format = null , string|null $locale = null ) : string|false

Estilo procedural

datefmt_format_object ( IntlCalendar|DateTimeInterface $datetime , array|int|string|null $format = null , string|null $locale = null ) : string|false

This function allows formatting an IntlCalendar or DateTime object without first explicitly creating a IntlDateFormatter object.

The temporary IntlDateFormatter that will be created will take the timezone from the passed in object. The timezone database bundled with PHP will not be used – ICU's will be used instead. The timezone identifier used in DateTime objects must therefore also exist in ICU's database.

Parâmetros

datetime

An object of type IntlCalendar or DateTime. The timezone information in the object will be used.

format

How to format the date/time. This can either be an array with two elements (first the date style, then the time style, these being one of the constants IntlDateFormatter::NONE, IntlDateFormatter::SHORT, IntlDateFormatter::MEDIUM, IntlDateFormatter::LONG, IntlDateFormatter::FULL), an int with the value of one of these constants (in which case it will be used both for the time and the date) or a string with the format described in » the ICU documentation. If null, the default style will be used.

locale

The locale to use, or null to use the default one.

Valor Retornado

A string with result ou false em caso de falha.

Exemplos

Exemplo #1 IntlDateFormatter::formatObject() examples

<?php
/* default timezone is irrelevant; timezone taken from the object */
ini_set('date.timezone', 'UTC');
/* default locale is taken from this ini setting */
ini_set('intl.default_locale', 'fr_FR');

$cal = IntlCalendar::fromDateTime("2013-06-06 17:05:06 Europe/Dublin");
echo "default:\n\t",
        IntlDateFormatter::formatObject($cal),
        "\n";

echo "long \$format (full):\n\t",
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL),
        "\n";

echo "array \$format (none, full):\n\t",
        IntlDateFormatter::formatObject($cal, array(
                IntlDateFormatter::NONE,
                IntlDateFormatter::FULL)),
        "\n";

echo "string \$format (d 'of' MMMM y):\n\t",
        IntlDateFormatter::formatObject($cal, "d 'of' MMMM y", 'en_US'),
        "\n";

echo "with DateTime:\n\t",
        IntlDateFormatter::formatObject(
                new DateTime("2013-09-09 09:09:09 Europe/Madrid"),
                IntlDateFormatter::FULL,
                'es_ES'),
        "\n";

O exemplo acima irá imprimir:

default:
    6 juin 2013 17:05:06
long $format (full):
    jeudi 6 juin 2013 17:05:06 heure d’été irlandaise
array $format (none, full):
    17:05:06 heure d’été irlandaise
string $format (d 'of' MMMM y):
    6 of June 2013
with DateTime:
    lunes, 9 de septiembre de 2013 09:09:09 Hora de verano de Europa central


Get the calendar type used for the IntlDateFormatter

  • « IntlDateFormatter::formatObject
  • IntlDateFormatter::getDateType »
  • PHP Manual
  • IntlDateFormatter
  • Get the calendar type used for the IntlDateFormatter

IntlDateFormatter::getCalendar

datefmt_get_calendar

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getCalendar -- datefmt_get_calendar — Get the calendar type used for the IntlDateFormatter

Descrição

Estilo orientado à objeto

public IntlDateFormatter::getCalendar ( ) : int|false

Estilo procedural

datefmt_get_calendar ( IntlDateFormatter $formatter ) : int|false

Parâmetros

formatter

The formatter resource

Valor Retornado

The calendar type being used by the formatter. Either IntlDateFormatter::TRADITIONAL or IntlDateFormatter::GREGORIAN. Returns false on failure.

Exemplos

Exemplo #1 datefmt_get_calendar() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'calendar of the formatter is : ' . datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt, IntlDateFormatter::TRADITIONAL);
echo 'Now calendar of the formatter is : ' . datefmt_get_calendar($fmt);
?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'calendar of the formatter is : ' . $fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo 'Now calendar of the formatter is : ' . $fmt->getCalendar();

?>

O exemplo acima irá imprimir:

calendar of the formatter is : 1
Now calendar of the formatter is : 0

Veja Também

  • datefmt_get_calendar_object() - Get copy of formatter's calendar object
  • datefmt_set_calendar() - Sets the calendar type used by the formatter
  • datefmt_create() - Create a date formatter


Get the datetype used for the IntlDateFormatter

  • « IntlDateFormatter::getCalendar
  • IntlDateFormatter::getErrorCode »
  • PHP Manual
  • IntlDateFormatter
  • Get the datetype used for the IntlDateFormatter

IntlDateFormatter::getDateType

datefmt_get_datetype

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getDateType -- datefmt_get_datetype — Get the datetype used for the IntlDateFormatter

Descrição

Estilo orientado à objeto

public IntlDateFormatter::getDateType ( ) : int|false

Estilo procedural

datefmt_get_datetype ( IntlDateFormatter $formatter ) : int|false

Returns date type used by the formatter.

Parâmetros

formatter

The formatter resource.

Valor Retornado

The current date type value of the formatter, ou false em caso de falha.

Exemplos

Exemplo #1 datefmt_get_datetype() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'datetype of the formatter is : ' . datefmt_get_datetype($fmt);
echo 'First Formatted output with datetype is ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::SHORT,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Now datetype of the formatter is : ' . datefmt_get_datetype($fmt);
echo 'Second Formatted output with datetype is ' . datefmt_format($fmt, 0);

?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'datetype of the formatter is : ' . $fmt->getDateType();
echo 'First Formatted output is ' . $fmt->format(0);
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::SHORT,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Now datetype of the formatter is : ' . $fmt->getDateType();
echo 'Second Formatted output is ' . $fmt->format(0);

?>

O exemplo acima irá imprimir:

datetype of the formatter is : 0
First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Now datetype of the formatter is : 2
Second Formatted output is 12/31/69 4:00:00 PM PT

Veja Também

  • datefmt_get_timetype() - Get the timetype used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter


Get the error code from last operation

  • « IntlDateFormatter::getDateType
  • IntlDateFormatter::getErrorMessage »
  • PHP Manual
  • IntlDateFormatter
  • Get the error code from last operation

IntlDateFormatter::getErrorCode

datefmt_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getErrorCode -- datefmt_get_error_code — Get the error code from last operation

Descrição

Estilo orientado à objeto

public IntlDateFormatter::getErrorCode ( ) : int

Estilo procedural

datefmt_get_error_code ( IntlDateFormatter $formatter ) : int

Get the error code from last operation. Returns error code from the last number formatting operation.

Parâmetros

formatter

The formatter resource.

Valor Retornado

The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR.

Exemplos

Exemplo #1 datefmt_get_error_code() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$str = datefmt_format($fmt);
if (!$str) {
    printf(
        "ERROR: %s (%d)\n",
        datefmt_get_error_message($fmt),
        datefmt_get_error_code($fmt)
    );
}
?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$str = $fmt->format();
if (!$str) {
    printf(
        "ERROR: %s (%d)\n",
        $fmt->getErrorMessage(),
        $fmt->getErrorCode()
    );
}
?>

O exemplo acima irá imprimir:

ERROR: U_ZERO_ERROR (0)

Veja Também

  • datefmt_get_error_message() - Get the error text from the last operation
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure


Get the error text from the last operation

  • « IntlDateFormatter::getErrorCode
  • IntlDateFormatter::getLocale »
  • PHP Manual
  • IntlDateFormatter
  • Get the error text from the last operation

IntlDateFormatter::getErrorMessage

datefmt_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getErrorMessage -- datefmt_get_error_message — Get the error text from the last operation

Descrição

Estilo orientado à objeto

public IntlDateFormatter::getErrorMessage ( ) : string

Estilo procedural

datefmt_get_error_message ( IntlDateFormatter $formatter ) : string

Get the error text from the last operation.

Parâmetros

formatter

The formatter resource.

Valor Retornado

Description of the last error.

Exemplos

Exemplo #1 datefmt_get_error_message() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$str = datefmt_format($fmt);
if (!$str) {
    printf(
        "ERROR: %s (%d)\n",
        datefmt_get_error_message($fmt),
        datefmt_get_error_code($fmt)
    );
}
?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$str = $fmt->format();
if(!$str) {
    printf(
        "ERROR: %s (%d)\n",
        $fmt->getErrorMessage(),
        $fmt->getErrorCode()
    );
}

?>

O exemplo acima irá imprimir:

ERROR: U_ZERO_ERROR (0)

Veja Também

  • datefmt_get_error_code() - Get the error code from last operation
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure


Get the locale used by formatter

  • « IntlDateFormatter::getErrorMessage
  • IntlDateFormatter::getPattern »
  • PHP Manual
  • IntlDateFormatter
  • Get the locale used by formatter

IntlDateFormatter::getLocale

datefmt_get_locale

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getLocale -- datefmt_get_locale — Get the locale used by formatter

Descrição

Estilo orientado à objeto

public IntlDateFormatter::getLocale ( int $type = ULOC_ACTUAL_LOCALE ) : string|false

Estilo procedural

datefmt_get_locale ( IntlDateFormatter $formatter , int $type = ULOC_ACTUAL_LOCALE ) : string|false

Get locale used by the formatter.

Parâmetros

formatter

The formatter resource

type

You can choose between valid and actual locale ( Locale::VALID_LOCALE, Locale::ACTUAL_LOCALE, respectively). The default is the actual locale.

Valor Retornado

The locale of this formatter, ou false em caso de falha.

Exemplos

Exemplo #1 datefmt_get_locale() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'locale of the formatter is : ' . datefmt_get_locale($fmt);
echo 'First Formatted output is ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'locale of the formatter is : ' . datefmt_get_locale($fmt);
echo 'Second Formatted output is ' . datefmt_format($fmt, 0);

?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'locale of the formatter is : ' . $fmt->getLocale();
echo 'First Formatted output is ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'locale of the formatter is : ' . $fmt->getLocale();
echo 'Second Formatted output is ' . $fmt->format(0);

?>

O exemplo acima irá imprimir:

locale of the formatter is : en
First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
locale of the formatter is : de
Second Formatted output is Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00

Veja Também

  • datefmt_create() - Create a date formatter


Get the pattern used for the IntlDateFormatter

  • « IntlDateFormatter::getLocale
  • IntlDateFormatter::getTimeType »
  • PHP Manual
  • IntlDateFormatter
  • Get the pattern used for the IntlDateFormatter

IntlDateFormatter::getPattern

datefmt_get_pattern

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getPattern -- datefmt_get_pattern — Get the pattern used for the IntlDateFormatter

Descrição

Estilo orientado à objeto

public IntlDateFormatter::getPattern ( ) : string|false

Estilo procedural

datefmt_get_pattern ( IntlDateFormatter $formatter ) : string|false

Get pattern used by the formatter.

Parâmetros

formatter

The formatter resource.

Valor Retornado

The pattern string being used to format/parse, ou false em caso de falha.

Exemplos

Exemplo #1 datefmt_get_pattern() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'pattern of the formatter is : ' . datefmt_get_pattern($fmt);
echo 'First Formatted output with pattern is ' . datefmt_format($fmt, 0);
datefmt_set_pattern($fmt,'yyyymmdd hh:mm:ss z');
echo 'Now pattern of the formatter is : ' . datefmt_get_pattern($fmt);
echo 'Second Formatted output with pattern is ' . datefmt_format($fmt, 0);

?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'pattern of the formatter is : ' . $fmt->getPattern();
echo 'First Formatted output is ' . $fmt->format(0);
$fmt->setPattern('yyyymmdd hh:mm:ss z');
echo 'Now pattern of the formatter is : ' . $fmt->getPattern();
echo 'Second Formatted output is ' . $fmt->format(0);
?>

O exemplo acima irá imprimir:

pattern of the formatter is : MM/dd/yyyy
First Formatted output is 12/31/1969
Now pattern of the formatter is : yyyymmdd hh:mm:ss z
Second Formatted output is 19690031 04:00:00 PST

Veja Também

  • datefmt_set_pattern() - Set the pattern used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter


Get the timetype used for the IntlDateFormatter

  • « IntlDateFormatter::getPattern
  • IntlDateFormatter::getTimeZoneId »
  • PHP Manual
  • IntlDateFormatter
  • Get the timetype used for the IntlDateFormatter

IntlDateFormatter::getTimeType

datefmt_get_timetype

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getTimeType -- datefmt_get_timetype — Get the timetype used for the IntlDateFormatter

Descrição

Estilo orientado à objeto

public IntlDateFormatter::getTimeType ( ) : int|false

Estilo procedural

datefmt_get_timetype ( IntlDateFormatter $formatter ) : int|false

Return time type used by the formatter.

Parâmetros

formatter

The formatter resource.

Valor Retornado

The current date type value of the formatter, ou false em caso de falha.

Exemplos

Exemplo #1 datefmt_get_timetype() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'timetype of the formatter is : ' . datefmt_get_timetype($fmt);
echo 'First Formatted output with timetype is ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::SHORT,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Now timetype of the formatter is : ' . datefmt_get_timetype($fmt);
echo 'Second Formatted output with timetype is ' . datefmt_format($fmt, 0);

?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'timetype of the formatter is : ' . $fmt->getTimeType();
echo 'First Formatted output is ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::SHORT,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Now timetype of the formatter is : ' . $fmt->getTimeType();
echo 'Second Formatted output is ' . $fmt->format(0);

?>

O exemplo acima irá imprimir:

timetype of the formatter is : 0
First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Now timetype of the formatter is : 3
Second Formatted output is Wednesday, December 31, 1969 4:00 PM

Veja Também

  • datefmt_get_datetype() - Get the datetype used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter


Get the timezone-id used for the IntlDateFormatter

  • « IntlDateFormatter::getTimeType
  • IntlDateFormatter::getCalendarObject »
  • PHP Manual
  • IntlDateFormatter
  • Get the timezone-id used for the IntlDateFormatter

IntlDateFormatter::getTimeZoneId

datefmt_get_timezone_id

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getTimeZoneId -- datefmt_get_timezone_id — Get the timezone-id used for the IntlDateFormatter

Descrição

Estilo orientado à objeto

public IntlDateFormatter::getTimeZoneId ( ) : string|false

Estilo procedural

datefmt_get_timezone_id ( IntlDateFormatter $formatter ) : string|false

Get the timezone-id used for the IntlDateFormatter.

Parâmetros

formatter

The formatter resource.

Valor Retornado

ID string for the time zone used by this formatter, ou false em caso de falha.

Exemplos

Exemplo #1 datefmt_get_timezone_id() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'timezone_id of the formatter is : ' . datefmt_get_timezone_id($fmt);
datefmt_set_timezone_id($fmt, 'CN');
echo 'Now timezone_id of the formatter is : ' . datefmt_get_timezone_id($fmt);

?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'timezone_id of the formatter is : ' . $fmt->getTimezoneId();
$fmt->setTimezoneId('CN');
echo 'Now timezone_id of the formatter is : ' . $fmt->getTimezoneId();

?>

O exemplo acima irá imprimir:

timezone_id of the formatter is : America/Los_Angeles
Now timezone_id of the formatter is : CN

Veja Também

  • datefmt_set_timezone_id()
  • datefmt_create() - Create a date formatter


Get copy of formatter's calendar object

  • « IntlDateFormatter::getTimeZoneId
  • IntlDateFormatter::getTimeZone »
  • PHP Manual
  • IntlDateFormatter
  • Get copy of formatter's calendar object

IntlDateFormatter::getCalendarObject

datefmt_get_calendar_object

(PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0)

IntlDateFormatter::getCalendarObject -- datefmt_get_calendar_object — Get copy of formatter's calendar object

Descrição

Estilo orientado à objeto

public IntlDateFormatter::getCalendarObject ( ) : IntlCalendar|false|null

Estilo procedural

datefmt_get_calendar_object ( IntlDateFormatter $formatter ) : IntlCalendar|false|null

Obtain a copy of the calendar object used internally by this formatter. This calendar will have a type (as in gregorian, japanese, buddhist, roc, persian, islamic, etc.) and a timezone that match the type and timezone used by the formatter. The date/time of the object is unspecified.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A copy of the internal calendar object used by this formatter, or null if none has been set, ou false em caso de falha.

Exemplos

Exemplo #1 IntlDateFormatter::getCalendarObject() example

<?php
$formatter = IntlDateFormatter::create(
    "fr_FR@calendar=islamic",
    NULL,
    NULL,
    "GMT-01:00",
    IntlDateFormatter::TRADITIONAL
);

$cal = $formatter->getCalendarObject();

var_dump(
    $cal->getType(),
    $cal->getTimeZone(),
    $cal->getLocale(Locale::VALID_LOCALE)
);

O exemplo acima irá imprimir:

string(7) "islamic"
object(IntlTimeZone)#3 (4) {
  ["valid"]=>
  bool(true)
  ["id"]=>
  string(9) "GMT-01:00"
  ["rawOffset"]=>
  int(-3600000)
  ["currentOffset"]=>
  int(-3600000)
}
string(5) "fr_FR"

Veja Também

  • IntlDateFormatter::getCalendar() - Get the calendar type used for the IntlDateFormatter
  • IntlDateFormatter::setCalendar() - Sets the calendar type used by the formatter
  • IntlCalendar


Get formatter's timezone

  • « IntlDateFormatter::getCalendarObject
  • IntlDateFormatter::isLenient »
  • PHP Manual
  • IntlDateFormatter
  • Get formatter's timezone

IntlDateFormatter::getTimeZone

datefmt_get_timezone

(PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0)

IntlDateFormatter::getTimeZone -- datefmt_get_timezone — Get formatter's timezone

Descrição

Estilo orientado à objeto

public IntlDateFormatter::getTimeZone ( ) : IntlTimeZone|false

Estilo procedural

datefmt_get_timezone ( IntlDateFormatter $formatter ) : IntlTimeZone|false

Returns an IntlTimeZone object representing the timezone that will be used by this object to format dates and times. When formatting IntlCalendar and DateTime objects with this IntlDateFormatter, the timezone used will be the one returned by this method, not the one associated with the objects being formatted.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The associated IntlTimeZone object ou false em caso de falha.

Exemplos

Exemplo #1 IntlDateFormatter::getTimeZone() examples

<?php

$madrid = IntlDateFormatter::create(NULL, NULL, NULL, 'Europe/Madrid');
$lisbon = IntlDateFormatter::create(NULL, NULL, NULL, 'Europe/Lisbon');

var_dump($madrid->getTimezone());
echo $madrid->getTimezone()->getDisplayName(
        false, IntlTimeZone::DISPLAY_GENERIC_LOCATION, "en_US"), "\n";
echo $lisbon->getTimeZone()->getId(), "\n";
//The id can also be retrieved with ->getTimezoneId()
echo $lisbon->getTimeZoneId(), "\n";

O exemplo acima irá imprimir:

object(IntlTimeZone)#4 (4) {
  ["valid"]=>
  bool(true)
  ["id"]=>
  string(13) "Europe/Madrid"
  ["rawOffset"]=>
  int(3600000)
  ["currentOffset"]=>
  int(7200000)
}
Spain Time
Europe/Lisbon
Europe/Lisbon

Veja Também

  • IntlDateFormatter::getTimeZoneId() - Get the timezone-id used for the IntlDateFormatter
  • IntlDateFormatter::setTimeZone() - Sets formatter's timezone
  • IntlTimeZone


Get the lenient used for the IntlDateFormatter

  • « IntlDateFormatter::getTimeZone
  • IntlDateFormatter::localtime »
  • PHP Manual
  • IntlDateFormatter
  • Get the lenient used for the IntlDateFormatter

IntlDateFormatter::isLenient

datefmt_is_lenient

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::isLenient -- datefmt_is_lenient — Get the lenient used for the IntlDateFormatter

Descrição

Estilo orientado à objeto

public IntlDateFormatter::isLenient ( ) : bool

Estilo procedural

datefmt_is_lenient ( IntlDateFormatter $formatter ) : bool

Check if the parser is strict or lenient in interpreting inputs that do not match the pattern exactly.

Parâmetros

formatter

The formatter resource.

Valor Retornado

true if parser is lenient, false if parser is strict. By default the parser is lenient.

Exemplos

Exemplo #1 datefmt_is_lenient() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'dd/mm/yyyy'
);
echo 'lenient of the formatter is : ';
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
datefmt_parse($fmt, '35/13/1971');
echo "\n Trying to do parse('35/13/1971').\nResult is : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}
datefmt_set_lenient($fmt,false);
echo 'Now lenient of the formatter is : ';
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
datefmt_parse($fmt, '35/13/1971');
echo "\n Trying to do parse('35/13/1971').Result is : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}

?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    "dd/mm/yyyy"
);
echo "lenient of the formatter is : ";
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
$fmt->parse('35/13/1971');
echo "\n Trying to do parse('35/13/1971').\nResult is : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0){
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo 'Now lenient of the formatter is : ';
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
$fmt->parse('35/13/1971');
echo "\n Trying to do parse('35/13/1971').\nResult is : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}

?>

O exemplo acima irá imprimir:

lenient of the formatter is : TRUE
Trying to do parse('35/13/1971').
Result is : -2147483
Now lenient of the formatter is : FALSE
Trying to do parse('35/13/1971').
Result is :
Error_msg is : Date parsing failed: U_PARSE_ERROR
Error_code is : 9

Veja Também

  • datefmt_set_lenient() - Set the leniency of the parser
  • datefmt_create() - Create a date formatter


Parse string to a field-based time value

  • « IntlDateFormatter::isLenient
  • IntlDateFormatter::parse »
  • PHP Manual
  • IntlDateFormatter
  • Parse string to a field-based time value

IntlDateFormatter::localtime

datefmt_localtime

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::localtime -- datefmt_localtime — Parse string to a field-based time value

Descrição

Estilo orientado à objeto

public IntlDateFormatter::localtime ( string $string , int &$offset = null ) : array|false

Estilo procedural

datefmt_localtime ( IntlDateFormatter $formatter , string $string , int &$offset = null ) : array|false

Converts string $value to a field-based time value ( an array of various fields), starting at $parse_pos and consuming as much of the input value as possible.

Parâmetros

formatter

The formatter resource

string

string to convert to a time

offset

Position at which to start the parsing in $value (zero-based). If no error occurs before $value is consumed, $parse_pos will contain -1 otherwise it will contain the position at which parsing ended . If $parse_pos > strlen($value), the parse fails immediately.

Valor Retornado

Localtime compatible array of integers : contains 24 hour clock value in tm_hour field, ou false em caso de falha.

Exemplos

Exemplo #1 datefmt_localtime() example

<?php

$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$arr = datefmt_localtime($fmt, 'Wednesday, December 31, 1969 4:00:00 PM PT', 0);
echo 'First parsed output is ';
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}

?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$arr = $fmt->localtime('Wednesday, December 31, 1969 4:00:00 PM PT', 0);
echo 'First parsed output is ';
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}

?>

O exemplo acima irá imprimir:

First parsed output is tm_sec : 0 , tm_min : 0 , tm_hour : 16 , tm_year : 1969 ,
tm_mday : 31 , tm_wday : 4 , tm_yday : 365 , tm_mon : 11 , tm_isdst : 0 ,

Veja Também

  • datefmt_create() - Create a date formatter
  • datefmt_format() - Format the date/time value as a string
  • datefmt_parse() - Parse string to a timestamp value
  • datefmt_get_error_code() - Get the error code from last operation
  • datefmt_get_error_message() - Get the error text from the last operation


Parse string to a timestamp value

  • « IntlDateFormatter::localtime
  • IntlDateFormatter::setCalendar »
  • PHP Manual
  • IntlDateFormatter
  • Parse string to a timestamp value

IntlDateFormatter::parse

datefmt_parse

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::parse -- datefmt_parse — Parse string to a timestamp value

Descrição

Estilo orientado à objeto

public IntlDateFormatter::parse ( string $string , int &$offset = null ) : int|float|false

Estilo procedural

datefmt_parse ( IntlDateFormatter $formatter , string $string , int &$offset = null ) : int|float|false

Converts string to an incremental time value, starting at offset and consuming as much of the input value as possible.

Parâmetros

formatter

The formatter resource

string

string to convert to a time

offset

Position at which to start the parsing in string (zero-based). If no error occurs before string is consumed, offset will contain -1 otherwise it will contain the position at which parsing ended (and the error occurred). This variable will contain the end position if the parse fails. If offset > strlen($string), the parse fails immediately.

Valor Retornado

Timestamp of parsed value, or false if value cannot be parsed.

Exemplos

Exemplo #1 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'First parsed output is ' . $fmt->parse('Wednesday, December 20, 1989 4:00:00 PM PT');
$fmt = new IntlDateFormatter(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
?>

Exemplo #2 datefmt_parse() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'First parsed output is ' . datefmt_parse($fmt, 'Wednesday, December 20, 1989 4:00:00 PM PT');
$fmt = datefmt_create(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Second parsed output is ' . datefmt_parse($fmt, 'Mittwoch, 20. Dezember 1989 16:00 Uhr GMT-08:00');
?

O exemplo acima irá imprimir:

First parsed output is 630201600
Second parsed output is 630201600

Veja Também

  • datefmt_create() - Create a date formatter
  • datefmt_format() - Format the date/time value as a string
  • datefmt_localtime() - Parse string to a field-based time value
  • datefmt_get_error_code() - Get the error code from last operation
  • datefmt_get_error_message() - Get the error text from the last operation


Sets the calendar type used by the formatter

  • « IntlDateFormatter::parse
  • IntlDateFormatter::setLenient »
  • PHP Manual
  • IntlDateFormatter
  • Sets the calendar type used by the formatter

IntlDateFormatter::setCalendar

datefmt_set_calendar

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::setCalendar -- datefmt_set_calendar — Sets the calendar type used by the formatter

Descrição

Estilo orientado à objeto

public IntlDateFormatter::setCalendar ( IntlCalendar|int|null $calendar ) : bool

Estilo procedural

datefmt_set_calendar ( IntlDateFormatter $formatter , IntlCalendar|int|null $calendar ) : bool

Sets the calendar or calendar type used by the formatter.

Parâmetros

formatter

The formatter resource.

calendar

This can either be: the calendar type to use (default is IntlDateFormatter::GREGORIAN, which is also used if null is specified) or an IntlCalendar object.

Any IntlCalendar object passed in will be cloned; no modifications will be made to the argument object.

The timezone of the formatter will only be kept if an IntlCalendar object is not passed, otherwise the new timezone will be that of the passed object.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.5.0/PECL 3.0.0 | It became possible to pass an IntlCalendar object.

Exemplos

Exemplo #1 datefmt_set_calendar() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'calendar of the formatter is : ' . datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt, IntlDateFormatter::TRADITIONAL);
echo 'Now calendar of the formatter is : ' . datefmt_get_calendar($fmt);
?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'calendar of the formatter is : ' . $fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo 'Now calendar of the formatter is : ' . $fmt->getCalendar();
?>

O exemplo acima irá imprimir:

calendar of the formatter is : 1
Now calendar of the formatter is : 0

Exemplo #3 Example with IntlCalendar argument

<?php
$time = strtotime("2013-03-03 00:00:00 UTC");
$formatter = IntlDateFormatter::create("en_US", NULL, NULL, "Europe/Amsterdam");

echo "before: ", $formatter->format($time), "\n";

/* note that the calendar's locale is not used! */
$formatter->setCalendar(IntlCalendar::createInstance(
               "America/New_York", "pt_PT@calendar=islamic"));

echo "after:  ", $formatter->format($time), "\n";

O exemplo acima irá imprimir:

before: Sunday, March 3, 2013 at 1:00:00 AM Central European Standard Time
after:  Saturday, Rabi? II 20, 1434 at 7:00:00 PM Eastern Standard Time

Veja Também

  • datefmt_get_calendar() - Get the calendar type used for the IntlDateFormatter
  • datefmt_get_calendar_object() - Get copy of formatter's calendar object
  • datefmt_create() - Create a date formatter


Set the leniency of the parser

  • « IntlDateFormatter::setCalendar
  • IntlDateFormatter::setPattern »
  • PHP Manual
  • IntlDateFormatter
  • Set the leniency of the parser

IntlDateFormatter::setLenient

datefmt_set_lenient

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::setLenient -- datefmt_set_lenient — Set the leniency of the parser

Descrição

Estilo orientado à objeto

public IntlDateFormatter::setLenient ( bool $lenient ) : void

Estilo procedural

datefmt_set_lenient ( IntlDateFormatter $formatter , bool $lenient ) : void

Define if the parser is strict or lenient in interpreting inputs that do not match the pattern exactly. Enabling lenient parsing allows the parser to accept otherwise flawed date or time patterns, parsing as much as possible to obtain a value. Extra space, unrecognized tokens, or invalid values ("February 30th") are not accepted.

Parâmetros

formatter

The formatter resource

lenient

Sets whether the parser is lenient or not, default is true (lenient).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 datefmt_set_lenient() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'dd/MM/yyyy'
);
echo 'lenient of the formatter is : ';
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
datefmt_parse($fmt, '35/13/1971');
echo "\n Trying to do parse('35/13/1971').\nResult is : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}
datefmt_set_lenient($fmt, false);
echo "\nNow lenient of the formatter is : ";
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
datefmt_parse($fmt, '35/13/1971');
echo "\nTrying to do parse('35/13/1971').\nResult is : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : ".intl_get_error_message();
    echo "\nError_code is : ".intl_get_error_code();
}

?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'dd/MM/yyyy'
);
echo 'lenient of the formatter is : ';
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
$fmt->parse('35/13/1971');
echo "\n Trying to do parse('35/13/1971').\nResult is : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo "\nNow lenient of the formatter is : ";
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
$fmt->parse('35/13/1971');
echo "\n Trying to do parse('35/13/1971').\nResult is : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}

?>

O exemplo acima irá imprimir:

lenient of the formatter is : TRUE
Trying to do parse('35/13/1971').
Result is : 66038400
Now lenient of the formatter is : FALSE
Trying to do parse('35/13/1971').
Result is :
Error_msg is : Date parsing failed: U_PARSE_ERROR
Error_code is : 9

Veja Também

  • datefmt_is_lenient() - Get the lenient used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter


Set the pattern used for the IntlDateFormatter

  • « IntlDateFormatter::setLenient
  • IntlDateFormatter::setTimeZone »
  • PHP Manual
  • IntlDateFormatter
  • Set the pattern used for the IntlDateFormatter

IntlDateFormatter::setPattern

datefmt_set_pattern

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::setPattern -- datefmt_set_pattern — Set the pattern used for the IntlDateFormatter

Descrição

Estilo orientado à objeto

public IntlDateFormatter::setPattern ( string $pattern ) : bool

Estilo procedural

datefmt_set_pattern ( IntlDateFormatter $formatter , string $pattern ) : bool

Set the pattern used for the IntlDateFormatter.

Parâmetros

formatter

The formatter resource.

pattern

New pattern string to use. Possible patterns are documented at » https://unicode-org.github.io/icu/userguide/format_parse/datetime/.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Bad formatstrings are usually the cause of the failure.

Exemplos

Exemplo #1 datefmt_set_pattern() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'pattern of the formatter is : ' . datefmt_get_pattern($fmt);
echo 'First Formatted output with pattern is ' . datefmt_format($fmt, 0);
datefmt_set_pattern($fmt, 'yyyymmdd hh:mm:ss z');
echo 'Now pattern of the formatter is : ' . datefmt_get_pattern($fmt);
echo 'Second Formatted output with pattern is ' . datefmt_format($fmt, 0);

?>

Exemplo #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'pattern of the formatter is : ' . $fmt->getPattern();
echo 'First Formatted output is ' . $fmt->format(0);
$fmt->setPattern('yyyymmdd hh:mm:ss z');
echo 'Now pattern of the formatter is : ' . $fmt->getPattern();
echo 'Second Formatted output is ' . $fmt->format(0);

?>

O exemplo acima irá imprimir:

pattern of the formatter is : MM/dd/yyyy
First Formatted output with pattern is 12/31/1969
Now pattern of the formatter is : yyyymmdd hh:mm:ss z
Second Formatted output with pattern is 19690031 04:00:00 PST

Veja Também

  • datefmt_get_pattern() - Get the pattern used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter


Sets formatter's timezone

  • « IntlDateFormatter::setPattern
  • ResourceBundle »
  • PHP Manual
  • IntlDateFormatter
  • Sets formatter's timezone

IntlDateFormatter::setTimeZone

datefmt_set_timezone

(PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0)

IntlDateFormatter::setTimeZone -- datefmt_set_timezone — Sets formatter's timezone

Descrição

Estilo orientado à objeto

public IntlDateFormatter::setTimeZone ( IntlTimeZone|DateTimeZone|string|null $timezone ) : bool|null

Estilo procedural

datefmt_set_timezone ( IntlDateFormatter $formatter , IntlTimeZone|DateTimeZone|string|null $timezone ) : bool|null

Sets the timezone used for the IntlDateFormatter. object.

Parâmetros

formatter

The formatter resource.

timezone

The timezone to use for this formatter. This can be specified in the following forms:

  • null, in which case the default timezone will be used, as specified in the ini setting date.timezone or through the function date_default_timezone_set() and as returned by date_default_timezone_get().

  • An IntlTimeZone, which will be used directly.

  • A DateTimeZone. Its identifier will be extracted and an ICU timezone object will be created; the timezone will be backed by ICU's database, not PHP's.

  • A string, which should be a valid ICU timezone identifier. See IntlTimeZone::createTimeZoneIDEnumeration(). Raw offsets such as "GMT+08:30" are also accepted.

Valor Retornado

Returns null on success and false on failure.

Exemplos

Exemplo #1 IntlDateFormatter::setTimeZone() examples

<?php
ini_set('date.timezone', 'Europe/Amsterdam');

$formatter = IntlDateFormatter::create(NULL, NULL, NULL, "UTC");

$formatter->setTimeZone(NULL);
echo "NULL\n    ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone(IntlTimeZone::createTimeZone('Europe/Lisbon'));
echo "IntlTimeZone\n    ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone(new DateTimeZone('Europe/Paris'));
echo "DateTimeZone\n    ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone('Europe/Rome');
echo "String\n    ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone('GMT+00:30');
print_r($formatter->getTimeZone());

O exemplo acima irá imprimir:

NULL
    Europe/Amsterdam
IntlTimeZone
    Europe/Lisbon
DateTimeZone
    Europe/Paris
String
    Europe/Rome
IntlTimeZone Object
(
    [valid] => 1
    [id] => GMT+00:30
    [rawOffset] => 1800000
    [currentOffset] => 1800000
)

Veja Também

  • IntlDateFormatter::getTimeZone() - Get formatter's timezone


The ResourceBundle class

(PHP 5 >= 5.3.2, PHP 7, PECL intl >= 2.0.0)

Introdução

Localized software products often require sets of data that are to be customized depending on current locale, e.g.: messages, labels, formatting patterns. ICU resource mechanism allows to define sets of resources that the application can load on locale basis, while accessing them in unified locale-independent fashion.

This class implements access to ICU resource data files. These files are binary data arrays which ICU uses to store the localized data.

ICU resource bundle can hold simple resources and complex resources. Complex resources are containers which can be either integer-indexed or string-indexed (just like PHP arrays). Simple resources can be of the following types: string, integer, binary data field or integer array.

ResourceBundle supports direct access to the data through array access pattern and iteration via foreach, as well as access via class methods. The result will be PHP value for simple resources and ResourceBundle object for complex ones. All resources are read-only.

Sinopse da classe

ResourceBundle {
/* Methods */
public __construct ( string $locale , string $bundlename , bool $fallback = ? )
public count ( ) : int
public static create ( string $locale , string $bundlename , bool $fallback = ? ) : ResourceBundle
public getErrorCode ( ) : int
public getErrorMessage ( ) : string
public get ( string|int $index ) : mixed
public getLocales ( string $bundlename ) : array
}

Veja Também

  • » ICU Resource Management
  • » ICU Data

Índice

  • ResourceBundle::count — Obtém o número de elementos no pacote
  • ResourceBundle::create — Cria um pacote de recursos
  • ResourceBundle::getErrorCode — Obtém o código do último erro gerado pelo pacote.
  • ResourceBundle::getErrorMessage — Obtém a mensagem do último erro gerado pelo pacote.
  • ResourceBundle::get — Obtém os dados do pacote
  • ResourceBundle::getLocales — Obtém as localidades suportadas


Obtém o número de elementos no pacote

  • « ResourceBundle
  • ResourceBundle::create »
  • PHP Manual
  • ResourceBundle
  • Obtém o número de elementos no pacote

ResourceBundle::count

resourcebundle_count

(PHP 5 >= 5.3.2, PHP 7, PECL intl >= 2.0.0)

ResourceBundle::count -- resourcebundle_count — Obtém o número de elementos no pacote

Descrição

Estilo orientado à objeto

public ResourceBundle::count ( ) : int

Estilo procedural

resourcebundle_count ( ResourceBundle $r ) : int

Obtém o número de elementos no pacote.

Parâmetros

r

Um objeto ResourceBundle.

Valor Retornado

Retorna o número de elementos no pacote.

Exemplos

Exemplo #1 Exempo da função resourcebundle_count()

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/meuapp");
echo resourcebundle_count($r);
?>

Exemplo #2 Exemplo usando OO

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/meuapp");
echo $r->count();
?>

O exemplo acima irá imprimir:

42

Veja Também

  • resourcebundle_get() - Obtém os dados do pacote


Cria um pacote de recursos

  • « ResourceBundle::count
  • ResourceBundle::getErrorCode »
  • PHP Manual
  • ResourceBundle
  • Cria um pacote de recursos

ResourceBundle::create

resourcebundle_create

ResourceBundle::__construct

(PHP 5 >= 5.3.2, PHP 7, PECL intl >= 2.0.0)

ResourceBundle::create -- resourcebundle_create -- ResourceBundle::__construct — Cria um pacote de recursos

Descrição

Estilo orientado à objeto (method)

public static ResourceBundle::create ( string $locale , string $bundlename , bool $fallback = ? ) : ResourceBundle

Estilo procedural

resourcebundle_create ( string $locale , string $bundlename , bool $fallback = ? ) : ResourceBundle

Estilo orientado à objeto (constructor):

public ResourceBundle::__construct ( string $locale , string $bundlename , bool $fallback = ? )

Cria um pacote de recursos.

Parâmetros

locale

Localidade para a qual os recursos devem ser carregados (nome da localidade, ex. en_CA).

bundlename

O diretório onde os dados estão armazenados ou o nome do arquivo .dat.

fallback

Indica se a localidade deve ser uma correspondência exata ou se a retroação para a localidade base é permitida.

Valor Retornado

Retorna um objeto ResourceBundle ou null caso haja erro.

Exemplos

Exemplo #1 Exemplo de resourcebundle_create()

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/meuapp");
echo $r['stringteste'];
?>

Exemplo #2 Exemplo de ResourceBundle::create()

<?php
$r = ResourceBundle::create( 'es', "/usr/share/data/meuapp");
echo $r['stringteste'];
?>

O exemplo acima irá imprimir:

¡Hola, mundo!

Veja Também

  • resourcebundle_get() - Obtém os dados do pacote


Obtém o código do último erro gerado pelo pacote.

  • « ResourceBundle::create
  • ResourceBundle::getErrorMessage »
  • PHP Manual
  • ResourceBundle
  • Obtém o código do último erro gerado pelo pacote.

ResourceBundle::getErrorCode

resourcebundle_get_error_code

(PHP 5 >= 5.3.2, PHP 7, PECL intl >= 2.0.0)

ResourceBundle::getErrorCode -- resourcebundle_get_error_code — Obtém o código do último erro gerado pelo pacote.

Descrição

Estilo orientado à objeto

public ResourceBundle::getErrorCode ( ) : int

Estilo procedural

resourcebundle_get_error_code ( ResourceBundle $r ) : int

Obtém o código do erro gerado pela última função realizada pelo objeto pacote.

Parâmetros

r

Um objeto ResourceBundle.

Valor Retornado

Retorna o código de erro da última chamada do objeto pacote.

Exemplos

Exemplo #1 Exemplo da função resourcebundle_get_error_code()

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/meuapp");
echo $r['umastring'];
if(intl_is_failure(resourcebundle_get_error_code($r))) {
    report_error("Erro no pacote");
}
?>

Exemplo #2 Exemplo usando OO

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/meuapp");
echo $r['umastring'];
if(intl_is_failure(ResourceBundle::getErrorCode($r))) {
    report_error("Erro no pacote");
}
?>

Veja Também

  • resourcebundle_get_error_message() - Obtém a mensagem do último erro gerado pelo pacote.
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure


Obtém a mensagem do último erro gerado pelo pacote.

  • « ResourceBundle::getErrorCode
  • ResourceBundle::get »
  • PHP Manual
  • ResourceBundle
  • Obtém a mensagem do último erro gerado pelo pacote.

ResourceBundle::getErrorMessage

resourcebundle_get_error_message

(PHP 5 >= 5.3.2, PHP 7, PECL intl >= 2.0.0)

ResourceBundle::getErrorMessage -- resourcebundle_get_error_message — Obtém a mensagem do último erro gerado pelo pacote.

Descrição

Estilo orientado à objeto

public ResourceBundle::getErrorMessage ( ) : string

Estilo procedural

resourcebundle_get_error_message ( ResourceBundle $r ) : string

Obtém a mensagem do erro gerado pela última função realizada pelo objeto pacote.

Parâmetros

r

Um objeto ResourceBundle.

Valor Retornado

Retorna a mensagem de erro da última chamada do objeto pacote.

Exemplos

Exemplo #1 Exemplo da função resourcebundle_get_error_message()

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/meuapp");
echo $r['umastring'];
if(intl_is_failure(resourcebundle_get_error_code($r))) {
    report_error("Erro no pacote: ".resourcebundle_get_error_message($r));
}
?>

Exemplo #2 Exemplo usando OO

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/meuapp");
echo $r['umastring'];
if(intl_is_failure(ResourceBundle::getErrorCode($r))) {
    report_error("Bundle error: ".ResourceBundle::getErrorMessage($r));
}
?>

Veja Também

  • resourcebundle_get_error_code() - Obtém o código do último erro gerado pelo pacote.
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure


Obtém os dados do pacote

  • « ResourceBundle::getErrorMessage
  • ResourceBundle::getLocales »
  • PHP Manual
  • ResourceBundle
  • Obtém os dados do pacote

ResourceBundle::get

resourcebundle_get

(PHP 5 >= 5.3.2, PHP 7, PECL intl >= 2.0.0)

ResourceBundle::get -- resourcebundle_get — Obtém os dados do pacote

Descrição

Estilo orientado à objeto

public ResourceBundle::get ( string|int $index ) : mixed

Estilo procedural

resourcebundle_get ( ResourceBundle $r , string|int $index ) : mixed

Obtém os dados do pacote através de um índice ou de uma string chave.

Parâmetros

r

Um objeto ResourceBundle.

index

O índice onde os dados estão. Pode ser uma string ou um intero.

Valor Retornado

Retorna os dados localizados no índice informado ou null caso haja erro. Strings, inteiros e dados em binário são retornados como seus tipo correspondentes em PHP. Um array de inteiros é retornado como um array PHP. Tipos complexos são retornados como objetos ResourceBundle.

Exemplos

Exemplo #1 Exemplo da função resourcebundle_get()

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/meuapp");
echo resourcebundle_get($r, 'umastring');
?>

Exemplo #2 Exemplo usando OO

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/meuapp");
echo $r->get('umastring');
?>

O exemplo acima irá imprimir:

?Hola, mundo!

Veja Também

  • resourcebundle_count() - Obtém o número de elementos no pacote


Obtém as localidades suportadas

  • « ResourceBundle::get
  • Spoofchecker »
  • PHP Manual
  • ResourceBundle
  • Obtém as localidades suportadas

ResourceBundle::getLocales

resourcebundle_locales

(PHP 5 >= 5.3.2, PHP 7, PECL intl >= 2.0.0)

ResourceBundle::getLocales -- resourcebundle_locales — Obtém as localidades suportadas

Descrição

Estilo orientado à objeto

public ResourceBundle::getLocales ( string $bundlename ) : array

Estilo procedural

resourcebundle_locales ( string $bundlename ) : array

Obtém as localidades disponíveis a partir do pacote informado.

Parâmetros

bundlename

Caminho do ResourceBundle de onde se obterão as localidades disponíveis, ou uma string vazia para a lista padrão de localidades.

Valor Retornado

Retorna a lista de localidades suportadas pelo pacote.

Exemplos

Exemplo #1 Exemplo da função resourcebundle_locales()

<?php
$bundle = "/user/share/data/meuapp";
echo join(PHP_EOL, resourcebundle_locales($bundle));
?>

O exemplo acima irá imprimir algo similar à:

es
root

Exemplo #2 Exemplo usando OO

<?php
$bundle = "/usr/share/data/meuapp";
$r = new ResourceBundle( 'es', $bundle);
echo join("\n", $r->getLocales($bundle));
?>

O exemplo acima irá imprimir algo similar à:

es
root

Veja Também

  • resourcebundle_get() - Obtém os dados do pacote


The Spoofchecker class

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Introdução

This class is provided because Unicode contains large number of characters and incorporates the varied writing systems of the world and their incorrect usage can expose programs or systems to possible security attacks using characters similarity.

Provided methods allow to check whether an individual string is likely an attempt at confusing the reader (spoof detection), such as "p?yp?l" spelled with Cyrillic '?' characters.

Sinopse da classe

Spoofchecker {
/* Constants */
const int|float ASCII = 0x10000000 ;
const int|float HIGHLY_RESTRICTIVE = 0x30000000 ;
const int|float MODERATELY_RESTRICTIVE = 0x40000000 ;
const int|float MINIMALLY_RESTRICTIVE = 0x50000000 ;
const int|float UNRESTRICTIVE = 0x60000000 ;
const int|float SINGLE_SCRIPT_RESTRICTIVE = 0x20000000 ;
const int SINGLE_SCRIPT_CONFUSABLE = 1 ;
const int MIXED_SCRIPT_CONFUSABLE = 2 ;
const int WHOLE_SCRIPT_CONFUSABLE = 4 ;
const int ANY_CASE = 8 ;
const int SINGLE_SCRIPT = 16 ;
const int INVISIBLE = 32 ;
const int CHAR_LIMIT = 64 ;
/* Métodos */
public areConfusable ( string $str1 , string $str2 , string &$error = ? ) : bool
public __construct ( )
public isSuspicious ( string $text , string &$error = ? ) : bool
public setAllowedLocales ( string $locale_list ) : void
public setChecks ( int $checks ) : void
}

Constantes pré-definidas

Spoofchecker::ASCII

Spoofchecker::HIGHLY_RESTRICTIVE

Spoofchecker::MODERATELY_RESTRICTIVE

Spoofchecker::MINIMALLY_RESTRICTIVE

Spoofchecker::UNRESTRICTIVE

Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE

Spoofchecker::SINGLE_SCRIPT_CONFUSABLE

Spoofchecker::MIXED_SCRIPT_CONFUSABLE

Spoofchecker::WHOLE_SCRIPT_CONFUSABLE

Spoofchecker::ANY_CASE

Spoofchecker::SINGLE_SCRIPT

Spoofchecker::INVISIBLE

Spoofchecker::CHAR_LIMIT

Changelog

Versão | Descrição
7.3.0 | Class constants used by Spoofchecker::setRestrictionLevel() such as Spoofchecker::ASCII, Spoofchecker::HIGHLY_RESTRICTIVE, Spoofchecker::MODERATELY_RESTRICTIVE, Spoofchecker::MINIMALLY_RESTRICTIVE, Spoofchecker::UNRESTRICTIVE, Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE has been added.

Índice

  • Spoofchecker::areConfusable — Checks if given strings can be confused
  • Spoofchecker::__construct — Constructor
  • Spoofchecker::isSuspicious — Checks if a given text contains any suspicious characters
  • Spoofchecker::setAllowedLocales — Locales to use when running checks
  • Spoofchecker::setChecks — Set the checks to run


Checks if given strings can be confused

  • « Spoofchecker
  • Spoofchecker::__construct »
  • PHP Manual
  • Spoofchecker
  • Checks if given strings can be confused

Spoofchecker::areConfusable

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Spoofchecker::areConfusable — Checks if given strings can be confused

Descrição

public Spoofchecker::areConfusable ( string $str1 , string $str2 , string &$error = ? ) : bool

Checks whether two given strings can easily be mistaken.

Parâmetros

str1

First string to check.

str2

Second string to check.

error

This variable is set by-reference to string containing an error, if there were any.

Valor Retornado

Returns true if two given strings can be confused, false otherwise.

Exemplos

Exemplo #1 Spoofchecker::areConfusable() example

<?php
$checker = new Spoofchecker();

$checker->areConfusable('google.com', 'goog1e.com'); // true
// Lower l can be confused with digit one

$checker->areConfusable('google.com', 'g00g1e.com'); // false
// Zero (0) cannot be easily confused with "o" letter


Constructor

  • « Spoofchecker::areConfusable
  • Spoofchecker::isSuspicious »
  • PHP Manual
  • Spoofchecker
  • Constructor

Spoofchecker::__construct

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Spoofchecker::__construct — Constructor

Descrição

public Spoofchecker::__construct ( )

Creates new instance of Spoofchecker.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns Spoofchecker instance.


Checks if a given text contains any suspicious characters

  • « Spoofchecker::__construct
  • Spoofchecker::setAllowedLocales »
  • PHP Manual
  • Spoofchecker
  • Checks if a given text contains any suspicious characters

Spoofchecker::isSuspicious

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Spoofchecker::isSuspicious — Checks if a given text contains any suspicious characters

Descrição

public Spoofchecker::isSuspicious ( string $text , string &$error = ? ) : bool

Checks if given string contains any suspicious characters like letters which are almost identical visually, but are Unicode characters from different sets.

Parâmetros

text

String to test.

error

This variable is set by-reference to string containing an error, if there were any.

Valor Retornado

Returns true if there are suspicious characters, false otherwise.

Exemplos

Exemplo #1 Spoofchecker::isSuspicious() example

<?php
$checker = new Spoofchecker();

$checker->isSuspicious('google.com'); // FALSE: only ASCII characters

$checker->isSuspicious('?aypal.com'); // TRUE
// The first letter is from Cyrylic, not a regular latin "P"


Locales to use when running checks

  • « Spoofchecker::isSuspicious
  • Spoofchecker::setChecks »
  • PHP Manual
  • Spoofchecker
  • Locales to use when running checks

Spoofchecker::setAllowedLocales

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Spoofchecker::setAllowedLocales — Locales to use when running checks

Descrição

public Spoofchecker::setAllowedLocales ( string $locale_list ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

locale_list

Valor Retornado


Set the checks to run

  • « Spoofchecker::setAllowedLocales
  • Transliterator »
  • PHP Manual
  • Spoofchecker
  • Set the checks to run

Spoofchecker::setChecks

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Spoofchecker::setChecks — Set the checks to run

Descrição

public Spoofchecker::setChecks ( int $checks ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

checks

Valor Retornado


The Transliterator class

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Introdução

Transliterator provides transliteration of strings.

Sinopse da classe

Transliterator {
/* Constantes */
const int FORWARD = 0 ;
const int REVERSE = 1 ;
/* Propriedades */
public $id ;
/* Métodos */
private __construct ( )
public static create ( string $id , int $direction = ? ) : Transliterator
public static createFromRules ( string $rules , string $direction = ? ) : Transliterator
public createInverse ( ) : Transliterator
public getErrorCode ( ) : int
public getErrorMessage ( ) : string
public static listIDs ( ) : array|false
public transliterate ( string $subject , int $start = ? , int $end = ? ) : string|false
}

Propriedades

id

Constantes pré-definidas

Transliterator::FORWARD

Transliterator::REVERSE

Índice

  • Transliterator::__construct — Private constructor to deny instantiation
  • Transliterator::create — Create a transliterator
  • Transliterator::createFromRules — Create transliterator from rules
  • Transliterator::createInverse — Create an inverse transliterator
  • Transliterator::getErrorCode — Get last error code
  • Transliterator::getErrorMessage — Get last error message
  • Transliterator::listIDs — Get transliterator IDs
  • Transliterator::transliterate — Transliterate a string


Private constructor to deny instantiation

  • « Transliterator
  • Transliterator::create »
  • PHP Manual
  • Transliterator
  • Private constructor to deny instantiation

Transliterator::__construct

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Transliterator::__construct — Private constructor to deny instantiation

Descrição

private Transliterator::__construct ( )

This method should not be called. Its only purpose is to deny instantiation with the new operator.

Use the factory methods Transliterator::create() or Transliterator::createFromRules() instead.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This method should not be executed. If it is (e.g. through reflection), then its return value is unspecified.

Veja Também

  • Transliterator::create() - Create a transliterator
  • Transliterator::createFromRules() - Create transliterator from rules


Create a transliterator

  • « Transliterator::__construct
  • Transliterator::createFromRules »
  • PHP Manual
  • Transliterator
  • Create a transliterator

Transliterator::create

transliterator_create

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Transliterator::create -- transliterator_create — Create a transliterator

Descrição

Estilo orientado à objeto

public static Transliterator::create ( string $id , int $direction = ? ) : Transliterator

Estilo procedural

transliterator_create ( string $id , int $direction = ? ) : Transliterator

Opens a Transliterator by ID.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

id

The ID. A list of all registered transliterator IDs can be retrieved by using Transliterator::listIDs().

direction

The direction, defaults to Transliterator::FORWARD. May also be set to Transliterator::REVERSE.

Valor Retornado

Returns a Transliterator object on success, or null on failure.

Veja Também

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::__construct() - Private constructor to deny instantiation


Create transliterator from rules

  • « Transliterator::create
  • Transliterator::createInverse »
  • PHP Manual
  • Transliterator
  • Create transliterator from rules

Transliterator::createFromRules

transliterator_create_from_rules

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Transliterator::createFromRules -- transliterator_create_from_rules — Create transliterator from rules

Descrição

Estilo orientado à objeto

public static Transliterator::createFromRules ( string $rules , string $direction = ? ) : Transliterator

Estilo procedural

transliterator_create_from_rules ( string $id , int $direction = ? ) : Transliterator

Creates a Transliterator from rules.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

rules

The rules as defined in Transform Rules Syntax of UTS #35: Unicode LDML.

direction

The direction, defaults to >Transliterator::FORWARD. May also be set to Transliterator::REVERSE.

Valor Retornado

Returns a Transliterator object on success, or null on failure.

Veja Também

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::create() - Create a transliterator


Create an inverse transliterator

  • « Transliterator::createFromRules
  • Transliterator::getErrorCode »
  • PHP Manual
  • Transliterator
  • Create an inverse transliterator

Transliterator::createInverse

transliterator_create_inverse

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Transliterator::createInverse -- transliterator_create_inverse — Create an inverse transliterator

Descrição

Estilo orientado à objeto

public Transliterator::createInverse ( ) : Transliterator

Estilo procedural

transliterator_create_inverse ( ) : Transliterator

Opens the inverse transliterator.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a Transliterator object on success, or null on failure

Veja Também

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::create() - Create a transliterator


Get last error code

  • « Transliterator::createInverse
  • Transliterator::getErrorMessage »
  • PHP Manual
  • Transliterator
  • Get last error code

Transliterator::getErrorCode

transliterator_get_error_code

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Transliterator::getErrorCode -- transliterator_get_error_code — Get last error code

Descrição

Estilo orientado à objeto

public Transliterator::getErrorCode ( ) : int

Estilo procedural

transliterator_get_error_code ( Transliterator $trans ) : int

Gets the last error code for this transliterator.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

trans

Valor Retornado

The error code on success, or false if none exists, or on failure.

Veja Também

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::listIDs() - Get transliterator IDs


Get last error message

  • « Transliterator::getErrorCode
  • Transliterator::listIDs »
  • PHP Manual
  • Transliterator
  • Get last error message

Transliterator::getErrorMessage

transliterator_get_error_message

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Transliterator::getErrorMessage -- transliterator_get_error_message — Get last error message

Descrição

Estilo orientado à objeto

public Transliterator::getErrorMessage ( ) : string

Estilo procedural

transliterator_get_error_message ( Transliterator $trans ) : string

Gets the last error message for this transliterator.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

trans

Valor Retornado

The error message on success, or false if none exists, or on failure.

Veja Também

  • Transliterator::getErrorCode() - Get last error code
  • Transliterator::listIDs() - Get transliterator IDs


Get transliterator IDs

  • « Transliterator::getErrorMessage
  • Transliterator::transliterate »
  • PHP Manual
  • Transliterator
  • Get transliterator IDs

Transliterator::listIDs

transliterator_list_ids

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Transliterator::listIDs -- transliterator_list_ids — Get transliterator IDs

Descrição

Estilo orientado à objeto

public static Transliterator::listIDs ( ) : array|false

Estilo procedural

transliterator_list_ids ( ) : array|false

Returns an array with the registered transliterator IDs.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of registered transliterator IDs on success, ou false em caso de falha.

Exemplos

Exemplo #1 Retrieving the registered transliterator IDs

<?php
print_r(Transliterator::listIDs());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => ASCII-Latin
    [1] => Accents-Any
    [2] => Amharic-Latin/BGN
    [3] => Any-Accents
    [4] => Any-Publishing
...
    [650] => Any-ps_Latn/BGN
    [651] => Any-tk/BGN
    [652] => Any-ch_FONIPA
    [653] => Any-cs_FONIPA
    [654] => Any-cy_FONIPA
)

Veja Também

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::transliterate() - Transliterate a string


Transliterate a string

  • « Transliterator::listIDs
  • IntlBreakIterator »
  • PHP Manual
  • Transliterator
  • Transliterate a string

Transliterator::transliterate

transliterator_transliterate

(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)

Transliterator::transliterate -- transliterator_transliterate — Transliterate a string

Descrição

Estilo orientado à objeto

public Transliterator::transliterate ( string $subject , int $start = ? , int $end = ? ) : string|false

Estilo procedural

transliterator_transliterate ( mixed $transliterator , string $subject , int $start = ? , int $end = ? )

Transforms a string or part thereof using an ICU transliterator.

Parâmetros

transliterator

In the procedural version, either a Transliterator or a string from which a Transliterator can be built.

subject

The string to be transformed.

start

The start index (in UTF-16 code units) from which the string will start to be transformed, inclusive. Indexing starts at 0. The text before will be left as is.

end

The end index (in UTF-16 code units) until which the string will be transformed, exclusive. Indexing starts at 0. The text after will be left as is.

Valor Retornado

The transformed string on success, ou false em caso de falha.

Exemplos

Exemplo #1 Converting escaped UTF-16 code units

<?php
$s = "\u304A\u65E9\u3046\u3054\u3056\u3044\u307E\u3059";
echo transliterator_transliterate("Hex-Any/Java", $s), "\n";

//now the reverse operation with a supplementary character
$supplChar = html_entity_decode('&#x1D11E;');
echo mb_strlen($supplChar, "UTF-8"), "\n";
$encSupplChar = transliterator_transliterate("Any-Hex/Java", $supplChar);
//echoes two encoded UTF-16 code units
echo $encSupplChar, "\n";
//and back
echo transliterator_transliterate("Hex-Any/Java", $encSupplChar), "\n";
?>

O exemplo acima irá imprimir algo similar à:

????????
1
\uD834\uDD1E
??

Veja Também

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::__construct() - Private constructor to deny instantiation


The IntlBreakIterator class

(PHP 5 >= 5.5.0, PHP 7)

Introdução

A “break iterator” is an ICU object that exposes methods for locating boundaries in text (e.g. word or sentence boundaries). The PHP IntlBreakIterator serves as the base class for all types of ICU break iterators. Where extra functionality is available, the intl extension may expose the ICU break iterator with suitable subclasses, such as IntlRuleBasedBreakIterator or IntlCodePointBreakIterator.

This class implements Traversable. Traversing an IntlBreakIterator yields non-negative integer values representing the successive locations of the text boundaries, expressed as UTF-8 code units (byte) counts, taken from the beginning of the text (which has the location 0). The keys yielded by the iterator simply form the sequence of natural numbers {0, 1, 2, …}.

Sinopse da classe

IntlBreakIterator implements Traversable {
/* Constantes */
const int DONE = -1 ;
const int WORD_NONE = 0 ;
const int WORD_NONE_LIMIT = 100 ;
const int WORD_NUMBER = 100 ;
const int WORD_NUMBER_LIMIT = 200 ;
const int WORD_LETTER = 200 ;
const int WORD_LETTER_LIMIT = 300 ;
const int WORD_KANA = 300 ;
const int WORD_KANA_LIMIT = 400 ;
const int WORD_IDEO = 400 ;
const int WORD_IDEO_LIMIT = 500 ;
const int LINE_SOFT = 0 ;
const int LINE_SOFT_LIMIT = 100 ;
const int LINE_HARD = 100 ;
const int LINE_HARD_LIMIT = 200 ;
const int SENTENCE_TERM = 0 ;
const int SENTENCE_TERM_LIMIT = 100 ;
const int SENTENCE_SEP = 100 ;
const int SENTENCE_SEP_LIMIT = 200 ;
/* Métodos */
private __construct ( )
public static createCharacterInstance ( string $locale = ? ) : IntlBreakIterator
public static createCodePointInstance ( ) : IntlBreakIterator
public static createLineInstance ( string $locale = ? ) : IntlBreakIterator
public static createSentenceInstance ( string $locale = ? ) : IntlBreakIterator
public static createTitleInstance ( string $locale = ? ) : IntlBreakIterator
public static createWordInstance ( string $locale = ? ) : IntlBreakIterator
public current ( ) : int
public first ( ) : int
public following ( int $offset ) : int
public getErrorCode ( ) : int
intl_get_error_code ( ) : int
public getErrorMessage ( ) : string
intl_get_error_message ( ) : string
public getLocale ( string $locale_type ) : string
public getPartsIterator ( int $key_type = IntlPartsIterator::KEY_SEQUENTIAL ) : IntlPartsIterator
public getText ( ) : string
public isBoundary ( int $offset ) : bool
public last ( ) : int
public next ( int $offset = ? ) : int
public preceding ( int $offset ) : int
public previous ( ) : int
public setText ( string $text ) : bool
}

Constantes pré-definidas

IntlBreakIterator::DONE

IntlBreakIterator::WORD_NONE

IntlBreakIterator::WORD_NONE_LIMIT

IntlBreakIterator::WORD_NUMBER

IntlBreakIterator::WORD_NUMBER_LIMIT

IntlBreakIterator::WORD_LETTER

IntlBreakIterator::WORD_LETTER_LIMIT

IntlBreakIterator::WORD_KANA

IntlBreakIterator::WORD_KANA_LIMIT

IntlBreakIterator::WORD_IDEO

IntlBreakIterator::WORD_IDEO_LIMIT

IntlBreakIterator::LINE_SOFT

IntlBreakIterator::LINE_SOFT_LIMIT

IntlBreakIterator::LINE_HARD

IntlBreakIterator::LINE_HARD_LIMIT

IntlBreakIterator::SENTENCE_TERM

IntlBreakIterator::SENTENCE_TERM_LIMIT

IntlBreakIterator::SENTENCE_SEP

IntlBreakIterator::SENTENCE_SEP_LIMIT

Índice

  • IntlBreakIterator::__construct — Private constructor for disallowing instantiation
  • IntlBreakIterator::createCharacterInstance — Create break iterator for boundaries of combining character sequences
  • IntlBreakIterator::createCodePointInstance — Create break iterator for boundaries of code points
  • IntlBreakIterator::createLineInstance — Create break iterator for logically possible line breaks
  • IntlBreakIterator::createSentenceInstance — Create break iterator for sentence breaks
  • IntlBreakIterator::createTitleInstance — Create break iterator for title-casing breaks
  • IntlBreakIterator::createWordInstance — Create break iterator for word breaks
  • IntlBreakIterator::current — Get index of current position
  • IntlBreakIterator::first — Set position to the first character in the text
  • IntlBreakIterator::following — Advance the iterator to the first boundary following specified offset
  • IntlBreakIterator::getErrorCode — Get last error code on the object
  • IntlBreakIterator::getErrorMessage — Get last error message on the object
  • IntlBreakIterator::getLocale — Get the locale associated with the object
  • IntlBreakIterator::getPartsIterator — Create iterator for navigating fragments between boundaries
  • IntlBreakIterator::getText — Get the text being scanned
  • IntlBreakIterator::isBoundary — Tell whether an offset is a boundary's offset
  • IntlBreakIterator::last — Set the iterator position to index beyond the last character
  • IntlBreakIterator::next — Advance the iterator the next boundary
  • IntlBreakIterator::preceding — Set the iterator position to the first boundary before an offset
  • IntlBreakIterator::previous — Set the iterator position to the boundary immediately before the current
  • IntlBreakIterator::setText — Set the text being scanned


Private constructor for disallowing instantiation

  • « IntlBreakIterator
  • IntlBreakIterator::createCharacterInstance »
  • PHP Manual
  • IntlBreakIterator
  • Private constructor for disallowing instantiation

IntlBreakIterator::__construct

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::__construct — Private constructor for disallowing instantiation

Descrição

private IntlBreakIterator::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Create break iterator for boundaries of combining character sequences

  • « IntlBreakIterator::__construct
  • IntlBreakIterator::createCodePointInstance »
  • PHP Manual
  • IntlBreakIterator
  • Create break iterator for boundaries of combining character sequences

IntlBreakIterator::createCharacterInstance

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::createCharacterInstance — Create break iterator for boundaries of combining character sequences

Descrição

public static IntlBreakIterator::createCharacterInstance ( string $locale = ? ) : IntlBreakIterator

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

locale

Valor Retornado


Create break iterator for boundaries of code points

  • « IntlBreakIterator::createCharacterInstance
  • IntlBreakIterator::createLineInstance »
  • PHP Manual
  • IntlBreakIterator
  • Create break iterator for boundaries of code points

IntlBreakIterator::createCodePointInstance

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::createCodePointInstance — Create break iterator for boundaries of code points

Descrição

public static IntlBreakIterator::createCodePointInstance ( ) : IntlBreakIterator

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Create break iterator for logically possible line breaks

  • « IntlBreakIterator::createCodePointInstance
  • IntlBreakIterator::createSentenceInstance »
  • PHP Manual
  • IntlBreakIterator
  • Create break iterator for logically possible line breaks

IntlBreakIterator::createLineInstance

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::createLineInstance — Create break iterator for logically possible line breaks

Descrição

public static IntlBreakIterator::createLineInstance ( string $locale = ? ) : IntlBreakIterator

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

locale

Valor Retornado


Create break iterator for sentence breaks

  • « IntlBreakIterator::createLineInstance
  • IntlBreakIterator::createTitleInstance »
  • PHP Manual
  • IntlBreakIterator
  • Create break iterator for sentence breaks

IntlBreakIterator::createSentenceInstance

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::createSentenceInstance — Create break iterator for sentence breaks

Descrição

public static IntlBreakIterator::createSentenceInstance ( string $locale = ? ) : IntlBreakIterator

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

locale

Valor Retornado


Create break iterator for title-casing breaks

  • « IntlBreakIterator::createSentenceInstance
  • IntlBreakIterator::createWordInstance »
  • PHP Manual
  • IntlBreakIterator
  • Create break iterator for title-casing breaks

IntlBreakIterator::createTitleInstance

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::createTitleInstance — Create break iterator for title-casing breaks

Descrição

public static IntlBreakIterator::createTitleInstance ( string $locale = ? ) : IntlBreakIterator

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

locale

Valor Retornado


Create break iterator for word breaks

  • « IntlBreakIterator::createTitleInstance
  • IntlBreakIterator::current »
  • PHP Manual
  • IntlBreakIterator
  • Create break iterator for word breaks

IntlBreakIterator::createWordInstance

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::createWordInstance — Create break iterator for word breaks

Descrição

public static IntlBreakIterator::createWordInstance ( string $locale = ? ) : IntlBreakIterator

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

locale

Valor Retornado


Get index of current position

  • « IntlBreakIterator::createWordInstance
  • IntlBreakIterator::first »
  • PHP Manual
  • IntlBreakIterator
  • Get index of current position

IntlBreakIterator::current

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::current — Get index of current position

Descrição

public IntlBreakIterator::current ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Set position to the first character in the text

  • « IntlBreakIterator::current
  • IntlBreakIterator::following »
  • PHP Manual
  • IntlBreakIterator
  • Set position to the first character in the text

IntlBreakIterator::first

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::first — Set position to the first character in the text

Descrição

public IntlBreakIterator::first ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Advance the iterator to the first boundary following specified offset

  • « IntlBreakIterator::first
  • IntlBreakIterator::getErrorCode »
  • PHP Manual
  • IntlBreakIterator
  • Advance the iterator to the first boundary following specified offset

IntlBreakIterator::following

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::following — Advance the iterator to the first boundary following specified offset

Descrição

public IntlBreakIterator::following ( int $offset ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

offset

Valor Retornado


Get last error code on the object

  • « IntlBreakIterator::following
  • IntlBreakIterator::getErrorMessage »
  • PHP Manual
  • IntlBreakIterator
  • Get last error code on the object

IntlBreakIterator::getErrorCode

intl_get_error_code

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::getErrorCode -- intl_get_error_code — Get last error code on the object

Descrição

Estilo orientado à objeto (method):

public IntlBreakIterator::getErrorCode ( ) : int

Estilo procedural:

intl_get_error_code ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get last error message on the object

  • « IntlBreakIterator::getErrorCode
  • IntlBreakIterator::getLocale »
  • PHP Manual
  • IntlBreakIterator
  • Get last error message on the object

IntlBreakIterator::getErrorMessage

intl_get_error_message

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::getErrorMessage -- intl_get_error_message — Get last error message on the object

Descrição

Estilo orientado à objeto (method):

public IntlBreakIterator::getErrorMessage ( ) : string

Estilo procedural:

intl_get_error_message ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get the locale associated with the object

  • « IntlBreakIterator::getErrorMessage
  • IntlBreakIterator::getPartsIterator »
  • PHP Manual
  • IntlBreakIterator
  • Get the locale associated with the object

IntlBreakIterator::getLocale

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::getLocale — Get the locale associated with the object

Descrição

public IntlBreakIterator::getLocale ( string $locale_type ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

locale_type

Valor Retornado


Create iterator for navigating fragments between boundaries

  • « IntlBreakIterator::getLocale
  • IntlBreakIterator::getText »
  • PHP Manual
  • IntlBreakIterator
  • Create iterator for navigating fragments between boundaries

IntlBreakIterator::getPartsIterator

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::getPartsIterator — Create iterator for navigating fragments between boundaries

Descrição

public IntlBreakIterator::getPartsIterator ( int $key_type = IntlPartsIterator::KEY_SEQUENTIAL ) : IntlPartsIterator

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

key_type

Optional key type. Possible values are:

  • IntlPartsIterator::KEY_SEQUENTIAL - The default. Sequentially increasing integers used as key.
  • IntlPartsIterator::KEY_LEFT - Byte offset left of current part used as key.
  • IntlPartsIterator::KEY_RIGHT - Byte offset right of current part used as key.

Valor Retornado


Get the text being scanned

  • « IntlBreakIterator::getPartsIterator
  • IntlBreakIterator::isBoundary »
  • PHP Manual
  • IntlBreakIterator
  • Get the text being scanned

IntlBreakIterator::getText

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::getText — Get the text being scanned

Descrição

public IntlBreakIterator::getText ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Tell whether an offset is a boundary's offset

  • « IntlBreakIterator::getText
  • IntlBreakIterator::last »
  • PHP Manual
  • IntlBreakIterator
  • Tell whether an offset is a boundary's offset

IntlBreakIterator::isBoundary

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::isBoundary — Tell whether an offset is a boundary's offset

Descrição

public IntlBreakIterator::isBoundary ( int $offset ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

offset

Valor Retornado


Set the iterator position to index beyond the last character

  • « IntlBreakIterator::isBoundary
  • IntlBreakIterator::next »
  • PHP Manual
  • IntlBreakIterator
  • Set the iterator position to index beyond the last character

IntlBreakIterator::last

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::last — Set the iterator position to index beyond the last character

Descrição

public IntlBreakIterator::last ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Advance the iterator the next boundary

  • « IntlBreakIterator::last
  • IntlBreakIterator::preceding »
  • PHP Manual
  • IntlBreakIterator
  • Advance the iterator the next boundary

IntlBreakIterator::next

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::next — Advance the iterator the next boundary

Descrição

public IntlBreakIterator::next ( int $offset = ? ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

offset

Valor Retornado


Set the iterator position to the first boundary before an offset

  • « IntlBreakIterator::next
  • IntlBreakIterator::previous »
  • PHP Manual
  • IntlBreakIterator
  • Set the iterator position to the first boundary before an offset

IntlBreakIterator::preceding

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::preceding — Set the iterator position to the first boundary before an offset

Descrição

public IntlBreakIterator::preceding ( int $offset ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

offset

Valor Retornado


Set the iterator position to the boundary immediately before the current

  • « IntlBreakIterator::preceding
  • IntlBreakIterator::setText »
  • PHP Manual
  • IntlBreakIterator
  • Set the iterator position to the boundary immediately before the current

IntlBreakIterator::previous

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::previous — Set the iterator position to the boundary immediately before the current

Descrição

public IntlBreakIterator::previous ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Set the text being scanned

  • « IntlBreakIterator::previous
  • IntlRuleBasedBreakIterator »
  • PHP Manual
  • IntlBreakIterator
  • Set the text being scanned

IntlBreakIterator::setText

(PHP 5 >= 5.5.0, PHP 7)

IntlBreakIterator::setText — Set the text being scanned

Descrição

public IntlBreakIterator::setText ( string $text ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

text

Valor Retornado


The IntlRuleBasedBreakIterator class

(PHP 5 >= 5.5.0, PHP 7)

Introdução

A subclass of IntlBreakIterator that encapsulates ICU break iterators whose behavior is specified using a set of rules. This is the most common kind of break iterators.

These rules are described in the » ICU Boundary Analysis User Guide.

Sinopse da classe

IntlRuleBasedBreakIterator extends IntlBreakIterator implements Traversable {
/* Constantes herdadas */
const int IntlBreakIterator::DONE = -1 ;
const int IntlBreakIterator::WORD_NONE = 0 ;
const int IntlBreakIterator::WORD_NONE_LIMIT = 100 ;
const int IntlBreakIterator::WORD_NUMBER = 100 ;
const int IntlBreakIterator::WORD_NUMBER_LIMIT = 200 ;
const int IntlBreakIterator::WORD_LETTER = 200 ;
const int IntlBreakIterator::WORD_LETTER_LIMIT = 300 ;
const int IntlBreakIterator::WORD_KANA = 300 ;
const int IntlBreakIterator::WORD_KANA_LIMIT = 400 ;
const int IntlBreakIterator::WORD_IDEO = 400 ;
const int IntlBreakIterator::WORD_IDEO_LIMIT = 500 ;
const int IntlBreakIterator::LINE_SOFT = 0 ;
const int IntlBreakIterator::LINE_SOFT_LIMIT = 100 ;
const int IntlBreakIterator::LINE_HARD = 100 ;
const int IntlBreakIterator::LINE_HARD_LIMIT = 200 ;
const int IntlBreakIterator::SENTENCE_TERM = 0 ;
const int IntlBreakIterator::SENTENCE_TERM_LIMIT = 100 ;
const int IntlBreakIterator::SENTENCE_SEP = 100 ;
const int IntlBreakIterator::SENTENCE_SEP_LIMIT = 200 ;
/* Métodos */
public __construct ( string $rules , string $areCompiled = ? )
public getBinaryRules ( ) : string
public getRules ( ) : string
public getRuleStatus ( ) : int
public getRuleStatusVec ( ) : array
/* Métodos herdados */
private IntlBreakIterator::__construct ( )
public static IntlBreakIterator::createCharacterInstance ( string $locale = ? ) : IntlBreakIterator
public static IntlBreakIterator::createCodePointInstance ( ) : IntlBreakIterator
public static IntlBreakIterator::createLineInstance ( string $locale = ? ) : IntlBreakIterator
public static IntlBreakIterator::createSentenceInstance ( string $locale = ? ) : IntlBreakIterator
public static IntlBreakIterator::createTitleInstance ( string $locale = ? ) : IntlBreakIterator
public static IntlBreakIterator::createWordInstance ( string $locale = ? ) : IntlBreakIterator
public IntlBreakIterator::current ( ) : int
public IntlBreakIterator::first ( ) : int
public IntlBreakIterator::following ( int $offset ) : int
public IntlBreakIterator::getErrorCode ( ) : int
intl_get_error_code ( ) : int
public IntlBreakIterator::getErrorMessage ( ) : string
intl_get_error_message ( ) : string
public IntlBreakIterator::getLocale ( string $locale_type ) : string
public IntlBreakIterator::getPartsIterator ( int $key_type = IntlPartsIterator::KEY_SEQUENTIAL ) : IntlPartsIterator
public IntlBreakIterator::getText ( ) : string
public IntlBreakIterator::isBoundary ( int $offset ) : bool
public IntlBreakIterator::last ( ) : int
public IntlBreakIterator::next ( int $offset = ? ) : int
public IntlBreakIterator::preceding ( int $offset ) : int
public IntlBreakIterator::previous ( ) : int
public IntlBreakIterator::setText ( string $text ) : bool
}

Índice

  • IntlRuleBasedBreakIterator::__construct — Create iterator from ruleset
  • IntlRuleBasedBreakIterator::getBinaryRules — Get the binary form of compiled rules
  • IntlRuleBasedBreakIterator::getRules — Get the rule set used to create this object
  • IntlRuleBasedBreakIterator::getRuleStatus — Get the largest status value from the break rules that determined the current break position
  • IntlRuleBasedBreakIterator::getRuleStatusVec — Get the status values from the break rules that determined the current break position


Create iterator from ruleset

  • « IntlRuleBasedBreakIterator
  • IntlRuleBasedBreakIterator::getBinaryRules »
  • PHP Manual
  • IntlRuleBasedBreakIterator
  • Create iterator from ruleset

IntlRuleBasedBreakIterator::__construct

(PHP 5 >= 5.5.0, PHP 7)

IntlRuleBasedBreakIterator::__construct — Create iterator from ruleset

Descrição

public IntlRuleBasedBreakIterator::__construct ( string $rules , string $areCompiled = ? )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

rules

areCompiled

Valor Retornado


Get the binary form of compiled rules

  • « IntlRuleBasedBreakIterator::__construct
  • IntlRuleBasedBreakIterator::getRules »
  • PHP Manual
  • IntlRuleBasedBreakIterator
  • Get the binary form of compiled rules

IntlRuleBasedBreakIterator::getBinaryRules

(PHP 5 >= 5.5.0, PHP 7)

IntlRuleBasedBreakIterator::getBinaryRules — Get the binary form of compiled rules

Descrição

public IntlRuleBasedBreakIterator::getBinaryRules ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get the rule set used to create this object

  • « IntlRuleBasedBreakIterator::getBinaryRules
  • IntlRuleBasedBreakIterator::getRuleStatus »
  • PHP Manual
  • IntlRuleBasedBreakIterator
  • Get the rule set used to create this object

IntlRuleBasedBreakIterator::getRules

(PHP 5 >= 5.5.0, PHP 7)

IntlRuleBasedBreakIterator::getRules — Get the rule set used to create this object

Descrição

public IntlRuleBasedBreakIterator::getRules ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get the largest status value from the break rules that determined the current break position

  • « IntlRuleBasedBreakIterator::getRules
  • IntlRuleBasedBreakIterator::getRuleStatusVec »
  • PHP Manual
  • IntlRuleBasedBreakIterator
  • Get the largest status value from the break rules that determined the current break position

IntlRuleBasedBreakIterator::getRuleStatus

(PHP 5 >= 5.5.0, PHP 7)

IntlRuleBasedBreakIterator::getRuleStatus — Get the largest status value from the break rules that determined the current break position

Descrição

public IntlRuleBasedBreakIterator::getRuleStatus ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get the status values from the break rules that determined the current break position

  • « IntlRuleBasedBreakIterator::getRuleStatus
  • IntlCodePointBreakIterator »
  • PHP Manual
  • IntlRuleBasedBreakIterator
  • Get the status values from the break rules that determined the current break position

IntlRuleBasedBreakIterator::getRuleStatusVec

(PHP 5 >= 5.5.0, PHP 7)

IntlRuleBasedBreakIterator::getRuleStatusVec — Get the status values from the break rules that determined the current break position

Descrição

public IntlRuleBasedBreakIterator::getRuleStatusVec ( ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The IntlCodePointBreakIterator class

(PHP 5 >= 5.5.0, PHP 7)

Introdução

This break iterator identifies the boundaries between UTF-8 code points.

Sinopse da classe

IntlCodePointBreakIterator extends IntlBreakIterator implements Traversable {
/* Constantes herdadas */
const int IntlBreakIterator::DONE = -1 ;
const int IntlBreakIterator::WORD_NONE = 0 ;
const int IntlBreakIterator::WORD_NONE_LIMIT = 100 ;
const int IntlBreakIterator::WORD_NUMBER = 100 ;
const int IntlBreakIterator::WORD_NUMBER_LIMIT = 200 ;
const int IntlBreakIterator::WORD_LETTER = 200 ;
const int IntlBreakIterator::WORD_LETTER_LIMIT = 300 ;
const int IntlBreakIterator::WORD_KANA = 300 ;
const int IntlBreakIterator::WORD_KANA_LIMIT = 400 ;
const int IntlBreakIterator::WORD_IDEO = 400 ;
const int IntlBreakIterator::WORD_IDEO_LIMIT = 500 ;
const int IntlBreakIterator::LINE_SOFT = 0 ;
const int IntlBreakIterator::LINE_SOFT_LIMIT = 100 ;
const int IntlBreakIterator::LINE_HARD = 100 ;
const int IntlBreakIterator::LINE_HARD_LIMIT = 200 ;
const int IntlBreakIterator::SENTENCE_TERM = 0 ;
const int IntlBreakIterator::SENTENCE_TERM_LIMIT = 100 ;
const int IntlBreakIterator::SENTENCE_SEP = 100 ;
const int IntlBreakIterator::SENTENCE_SEP_LIMIT = 200 ;
/* Métodos */
public getLastCodePoint ( ) : ReturnType
/* Métodos herdados */
private IntlBreakIterator::__construct ( )
public static IntlBreakIterator::createCharacterInstance ( string $locale = ? ) : IntlBreakIterator
public static IntlBreakIterator::createCodePointInstance ( ) : IntlBreakIterator
public static IntlBreakIterator::createLineInstance ( string $locale = ? ) : IntlBreakIterator
public static IntlBreakIterator::createSentenceInstance ( string $locale = ? ) : IntlBreakIterator
public static IntlBreakIterator::createTitleInstance ( string $locale = ? ) : IntlBreakIterator
public static IntlBreakIterator::createWordInstance ( string $locale = ? ) : IntlBreakIterator
public IntlBreakIterator::current ( ) : int
public IntlBreakIterator::first ( ) : int
public IntlBreakIterator::following ( int $offset ) : int
public IntlBreakIterator::getErrorCode ( ) : int
intl_get_error_code ( ) : int
public IntlBreakIterator::getErrorMessage ( ) : string
intl_get_error_message ( ) : string
public IntlBreakIterator::getLocale ( string $locale_type ) : string
public IntlBreakIterator::getPartsIterator ( int $key_type = IntlPartsIterator::KEY_SEQUENTIAL ) : IntlPartsIterator
public IntlBreakIterator::getText ( ) : string
public IntlBreakIterator::isBoundary ( int $offset ) : bool
public IntlBreakIterator::last ( ) : int
public IntlBreakIterator::next ( int $offset = ? ) : int
public IntlBreakIterator::preceding ( int $offset ) : int
public IntlBreakIterator::previous ( ) : int
public IntlBreakIterator::setText ( string $text ) : bool
}

Índice

  • IntlCodePointBreakIterator::getLastCodePoint — Obtém o último code point passado após avançar ou retroceder o iterador


Obtém o último code point passado após avançar ou retroceder o iterador

  • « IntlCodePointBreakIterator
  • IntlPartsIterator »
  • PHP Manual
  • IntlCodePointBreakIterator
  • Obtém o último code point passado após avançar ou retroceder o iterador

IntlCodePointBreakIterator::getLastCodePoint

(PHP 5 >= 5.5.0, PHP 7)

IntlCodePointBreakIterator::getLastCodePoint — Obtém o último code point passado após avançar ou retroceder o iterador

Descrição

public IntlCodePointBreakIterator::getLastCodePoint ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The IntlPartsIterator class

(PHP 5 >= 5.5.0, PHP 7)

Introdução

Objects of this class can be obtained from IntlBreakIterator objects. While the break iterators provide a sequence of boundary positions when iterated, IntlPartsIterator objects provide, as a convenience, the text fragments comprehended between two successive boundaries.

The keys may represent the offset of the left boundary, right boundary, or they may just the sequence of non-negative integers. See IntlBreakIterator::getPartsIterator().

Sinopse da classe

IntlPartsIterator extends IntlIterator implements Iterator {
/* Constants */
const int KEY_SEQUENTIAL = 0 ;
const int KEY_LEFT = 1 ;
const int KEY_RIGHT = 2 ;
/* Métodos */
public getBreakIterator ( ) : ReturnType
/* Métodos herdados */
public IntlIterator::current ( ) : ReturnType
public IntlIterator::key ( ) : ReturnType
public IntlIterator::next ( ) : ReturnType
public IntlIterator::rewind ( ) : ReturnType
public IntlIterator::valid ( ) : ReturnType
}

Constantes pré-definidas

IntlPartsIterator::KEY_SEQUENTIAL

IntlPartsIterator::KEY_LEFT

IntlPartsIterator::KEY_RIGHT

Índice

  • IntlPartsIterator::getBreakIterator — Obtém o IntlBreakIterator que é utilizado pelo iterador


Obtém o IntlBreakIterator que é utilizado pelo iterador

  • « IntlPartsIterator
  • UConverter »
  • PHP Manual
  • IntlPartsIterator
  • Obtém o IntlBreakIterator que é utilizado pelo iterador

IntlPartsIterator::getBreakIterator

(PHP 5 >= 5.5.0, PHP 7)

IntlPartsIterator::getBreakIterator — Obtém o IntlBreakIterator que é utilizado pelo iterador

Descrição

public IntlPartsIterator::getBreakIterator ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The UConverter class

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

Introdução

Sinopse da classe

UConverter {
/* Constants */
const int REASON_UNASSIGNED = 0 ;
const int REASON_ILLEGAL = 1 ;
const int REASON_IRREGULAR = 2 ;
const int REASON_RESET = 3 ;
const int REASON_CLOSE = 4 ;
const int REASON_CLONE = 5 ;
const int UNSUPPORTED_CONVERTER = -1 ;
const int SBCS = 0 ;
const int DBCS = 1 ;
const int MBCS = 2 ;
const int LATIN_1 = 3 ;
const int UTF8 = 4 ;
const int UTF16_BigEndian = 5 ;
const int UTF16_LittleEndian = 6 ;
const int UTF32_BigEndian = 7 ;
const int UTF32_LittleEndian = 8 ;
const int EBCDIC_STATEFUL = 9 ;
const int ISO_2022 = 10 ;
const int LMBCS_1 = 11 ;
const int LMBCS_2 = 12 ;
const int LMBCS_3 = 13 ;
const int LMBCS_4 = 14 ;
const int LMBCS_5 = 15 ;
const int LMBCS_6 = 16 ;
const int LMBCS_8 = 17 ;
const int LMBCS_11 = 18 ;
const int LMBCS_16 = 19 ;
const int LMBCS_17 = 20 ;
const int LMBCS_18 = 21 ;
const int LMBCS_19 = 22 ;
const int LMBCS_LAST = 22 ;
const int HZ = 23 ;
const int SCSU = 24 ;
const int ISCII = 25 ;
const int US_ASCII = 26 ;
const int UTF7 = 27 ;
const int BOCU1 = 28 ;
const int UTF16 = 29 ;
const int UTF32 = 30 ;
const int CESU8 = 31 ;
const int IMAP_MAILBOX = 32 ;
/* Métodos */
public __construct ( string $codificacao_destino = ? , string $codificacao_origem = ? )
public convert ( string $str , bool $reverse = ? ) : string
public fromUCallback ( integer $razao , string $origem , string $codePoint , integer &$erro ) : mixed
public static getAliases ( string $nome = ? ) : array
public static getAvailable ( ) : array
public getDestinationEncoding ( ) : string
public getDestinationType ( ) : integer
public getErrorCode ( ) : integer
public getErrorMessage ( ) : string
public getSourceEncoding ( ) : string
public getSourceType ( ) : integer
public static getStandards ( ) : array
public getSubstChars ( ) : string
public static reasonText ( integer $razao = ? ) : string
public setDestinationEncoding ( string $encoding ) : void
public setSourceEncoding ( string $encoding ) : void
public setSubstChars ( string $chars ) : void
public toUCallback ( integer $razao , string $origem , string $codeUnits , integer &$erro ) : mixed
public static transcode ( string $str , string $toEncoding , string $fromEncoding , array $options = ? ) : string
}

Constantes pré-definidas

UConverter::REASON_UNASSIGNED

UConverter::REASON_ILLEGAL

UConverter::REASON_IRREGULAR

UConverter::REASON_RESET

UConverter::REASON_CLOSE

UConverter::REASON_CLONE

UConverter::UNSUPPORTED_CONVERTER

UConverter::SBCS

UConverter::DBCS

UConverter::MBCS

UConverter::LATIN_1

UConverter::UTF8

UConverter::UTF16_BigEndian

UConverter::UTF16_LittleEndian

UConverter::UTF32_BigEndian

UConverter::UTF32_LittleEndian

UConverter::EBCDIC_STATEFUL

UConverter::ISO_2022

UConverter::LMBCS_1

UConverter::LMBCS_2

UConverter::LMBCS_3

UConverter::LMBCS_4

UConverter::LMBCS_5

UConverter::LMBCS_6

UConverter::LMBCS_8

UConverter::LMBCS_11

UConverter::LMBCS_16

UConverter::LMBCS_17

UConverter::LMBCS_18

UConverter::LMBCS_19

UConverter::LMBCS_LAST

UConverter::HZ

UConverter::SCSU

UConverter::ISCII

UConverter::US_ASCII

UConverter::UTF7

UConverter::BOCU1

UConverter::UTF16

UConverter::UTF32

UConverter::CESU8

UConverter::IMAP_MAILBOX

Índice

  • UConverter::__construct — Cria um objeto UConverter
  • UConverter::convert — Converte uma string de um conjunto de caracteres (charset) para outro
  • UConverter::fromUCallback — Função de retorno de origem padrão
  • UConverter::getAliases — Obtém o pseudônimo de um dado nome
  • UConverter::getAvailable — Obtém os nomes dos conversores canônicos disponíveis
  • UConverter::getDestinationEncoding — Obtém a codificação de destino
  • UConverter::getDestinationType — Obtém o tipo do conversor de destino
  • UConverter::getErrorCode — Obtém o código do último erro gerado pelo objeto
  • UConverter::getErrorMessage — Obtém a mensagem do último erro gerado pelo objeto
  • UConverter::getSourceEncoding — Obtém a codificação de origem
  • UConverter::getSourceType — Obtém o tipo do conversor de origem
  • UConverter::getStandards — Obtém os nomes dos conversores padrão associados
  • UConverter::getSubstChars — Obtém os caracteres de substituição
  • UConverter::reasonText — Obtém uma representação de string da razão de retorno
  • UConverter::setDestinationEncoding — Define a codificação de destino
  • UConverter::setSourceEncoding — Define a codificação de origem
  • UConverter::setSubstChars — Define os caracteres de substituição
  • UConverter::toUCallback — Função de retorno padrão de destino
  • UConverter::transcode — Converte uma string de um conjunto de caracteres (charset) para outro


Cria um objeto UConverter

  • « UConverter
  • UConverter::convert »
  • PHP Manual
  • UConverter
  • Cria um objeto UConverter

UConverter::__construct

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::__construct — Cria um objeto UConverter

Descrição

public UConverter::__construct ( string $codificacao_destino = ? , string $codificacao_origem = ? )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

codificacao_destino

codificacao_origem

Valor Retornado


Converte uma string de um conjunto de caracteres (charset) para outro

  • « UConverter::__construct
  • UConverter::fromUCallback »
  • PHP Manual
  • UConverter
  • Converte uma string de um conjunto de caracteres (charset) para outro

UConverter::convert

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::convert — Converte uma string de um conjunto de caracteres (charset) para outro

Descrição

public UConverter::convert ( string $str , bool $reverse = ? ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

str

reverse

Valor Retornado


Função de retorno de origem padrão

  • « UConverter::convert
  • UConverter::getAliases »
  • PHP Manual
  • UConverter
  • Função de retorno de origem padrão

UConverter::fromUCallback

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::fromUCallback — Função de retorno de origem padrão

Descrição

public UConverter::fromUCallback ( integer $razao , string $origem , string $codePoint , integer &$erro ) : mixed

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

razao

origem

codePoint

erro

Valor Retornado


Obtém o pseudônimo de um dado nome

  • « UConverter::fromUCallback
  • UConverter::getAvailable »
  • PHP Manual
  • UConverter
  • Obtém o pseudônimo de um dado nome

UConverter::getAliases

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getAliases — Obtém o pseudônimo de um dado nome

Descrição

public static UConverter::getAliases ( string $nome = ? ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

nome

Valor Retornado


Obtém os nomes dos conversores canônicos disponíveis

  • « UConverter::getAliases
  • UConverter::getDestinationEncoding »
  • PHP Manual
  • UConverter
  • Obtém os nomes dos conversores canônicos disponíveis

UConverter::getAvailable

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getAvailable — Obtém os nomes dos conversores canônicos disponíveis

Descrição

public static UConverter::getAvailable ( ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Obtém a codificação de destino

  • « UConverter::getAvailable
  • UConverter::getDestinationType »
  • PHP Manual
  • UConverter
  • Obtém a codificação de destino

UConverter::getDestinationEncoding

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getDestinationEncoding — Obtém a codificação de destino

Descrição

public UConverter::getDestinationEncoding ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Obtém o tipo do conversor de destino

  • « UConverter::getDestinationEncoding
  • UConverter::getErrorCode »
  • PHP Manual
  • UConverter
  • Obtém o tipo do conversor de destino

UConverter::getDestinationType

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getDestinationType — Obtém o tipo do conversor de destino

Descrição

public UConverter::getDestinationType ( ) : integer

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Obtém o código do último erro gerado pelo objeto

  • « UConverter::getDestinationType
  • UConverter::getErrorMessage »
  • PHP Manual
  • UConverter
  • Obtém o código do último erro gerado pelo objeto

UConverter::getErrorCode

intl_get_error_code

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getErrorCode -- intl_get_error_code — Obtém o código do último erro gerado pelo objeto

Descrição

public UConverter::getErrorCode ( ) : integer

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Obtém a mensagem do último erro gerado pelo objeto

  • « UConverter::getErrorCode
  • UConverter::getSourceEncoding »
  • PHP Manual
  • UConverter
  • Obtém a mensagem do último erro gerado pelo objeto

UConverter::getErrorMessage

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getErrorMessage — Obtém a mensagem do último erro gerado pelo objeto

Descrição

public UConverter::getErrorMessage ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Obtém a codificação de origem

  • « UConverter::getErrorMessage
  • UConverter::getSourceType »
  • PHP Manual
  • UConverter
  • Obtém a codificação de origem

UConverter::getSourceEncoding

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getSourceEncoding — Obtém a codificação de origem

Descrição

public UConverter::getSourceEncoding ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Obtém o tipo do conversor de origem

  • « UConverter::getSourceEncoding
  • UConverter::getStandards »
  • PHP Manual
  • UConverter
  • Obtém o tipo do conversor de origem

UConverter::getSourceType

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getSourceType — Obtém o tipo do conversor de origem

Descrição

public UConverter::getSourceType ( ) : integer

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Obtém os nomes dos conversores padrão associados

  • « UConverter::getSourceType
  • UConverter::getSubstChars »
  • PHP Manual
  • UConverter
  • Obtém os nomes dos conversores padrão associados

UConverter::getStandards

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getStandards — Obtém os nomes dos conversores padrão associados

Descrição

public static UConverter::getStandards ( ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Obtém os caracteres de substituição

  • « UConverter::getStandards
  • UConverter::reasonText »
  • PHP Manual
  • UConverter
  • Obtém os caracteres de substituição

UConverter::getSubstChars

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getSubstChars — Obtém os caracteres de substituição

Descrição

public UConverter::getSubstChars ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Obtém uma representação de string da razão de retorno

  • « UConverter::getSubstChars
  • UConverter::setDestinationEncoding »
  • PHP Manual
  • UConverter
  • Obtém uma representação de string da razão de retorno

UConverter::reasonText

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::reasonText — Obtém uma representação de string da razão de retorno

Descrição

public static UConverter::reasonText ( integer $razao = ? ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

razao

Valor Retornado


Define a codificação de destino

  • « UConverter::reasonText
  • UConverter::setSourceEncoding »
  • PHP Manual
  • UConverter
  • Define a codificação de destino

UConverter::setDestinationEncoding

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::setDestinationEncoding — Define a codificação de destino

Descrição

public UConverter::setDestinationEncoding ( string $encoding ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

encoding

Valor Retornado


Define a codificação de origem

  • « UConverter::setDestinationEncoding
  • UConverter::setSubstChars »
  • PHP Manual
  • UConverter
  • Define a codificação de origem

UConverter::setSourceEncoding

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::setSourceEncoding — Define a codificação de origem

Descrição

public UConverter::setSourceEncoding ( string $encoding ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

encoding

Valor Retornado


Define os caracteres de substituição

  • « UConverter::setSourceEncoding
  • UConverter::toUCallback »
  • PHP Manual
  • UConverter
  • Define os caracteres de substituição

UConverter::setSubstChars

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::setSubstChars — Define os caracteres de substituição

Descrição

public UConverter::setSubstChars ( string $chars ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

chars

Valor Retornado


Função de retorno padrão de destino

  • « UConverter::setSubstChars
  • UConverter::transcode »
  • PHP Manual
  • UConverter
  • Função de retorno padrão de destino

UConverter::toUCallback

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::toUCallback — Função de retorno padrão de destino

Descrição

public UConverter::toUCallback ( integer $razao , string $origem , string $codeUnits , integer &$erro ) : mixed

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

razao

origem

codeUnits

erro

Valor Retornado


Converte uma string de um conjunto de caracteres (charset) para outro

  • « UConverter::toUCallback
  • Grapheme Funções »
  • PHP Manual
  • UConverter
  • Converte uma string de um conjunto de caracteres (charset) para outro

UConverter::transcode

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::transcode — Converte uma string de um conjunto de caracteres (charset) para outro

Descrição

public static UConverter::transcode ( string $str , string $toEncoding , string $fromEncoding , array $options = ? ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

str

toEncoding

fromEncoding

options

Valor Retornado


Grapheme Funções

Índice

  • grapheme_extract — Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8
  • grapheme_stripos — Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_stristr — Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack
  • grapheme_strlen — Get string length in grapheme units
  • grapheme_strpos — Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos — Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos — Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr — Returns part of haystack string from the first occurrence of needle to the end of haystack
  • grapheme_substr — Return part of a string


Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8

  • « Grapheme Funções
  • grapheme_stripos »
  • PHP Manual
  • Grapheme Funções
  • Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8

grapheme_extract

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_extract — Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8

Descrição

Estilo procedural

grapheme_extract ( string $haystack , int $size , int $type = GRAPHEME_EXTR_COUNT , int $offset = 0 , int &$next = null ) : string|false

Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.

Parâmetros

haystack

String to search.

size

Maximum number items - based on the $extract_type - to return.

type

Defines the type of units referred to by the $size parameter:

  • GRAPHEME_EXTR_COUNT (default) - $size is the number of default grapheme clusters to extract.
  • GRAPHEME_EXTR_MAXBYTES - $size is the maximum number of bytes returned.
  • GRAPHEME_EXTR_MAXCHARS - $size is the maximum number of UTF-8 characters returned.

offset

Starting position in $haystack in bytes - if given, it must be zero or a positive value that is less than or equal to the length of $haystack in bytes, or a negative value that counts from the end of $haystack. If $start does not point to the first byte of a UTF-8 character, the start position is moved to the next character boundary.

next

Reference to a value that will be set to the next starting position. When the call returns, this may point to the first byte position past the end of the string.

Valor Retornado

A string starting at offset $start and ending on a default grapheme cluster boundary that conforms to the $size and $extract_type specified, ou false em caso de falha.

Changelog

Versão | Descrição
7.1.0 | Support for negative offsets has been added.

Exemplos

Exemplo #1 grapheme_extract() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_extract( $char_a_ring_nfd . $char_o_diaeresis_nfd, 1, GRAPHEME_EXTR_COUNT, 2));

?>

O exemplo acima irá imprimir:

o%CC%88

Veja Também

  • grapheme_substr() - Return part of a string
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Find position (in grapheme units) of first occurrence of a case-insensitive string

  • « grapheme_extract
  • grapheme_stristr »
  • PHP Manual
  • Grapheme Funções
  • Find position (in grapheme units) of first occurrence of a case-insensitive string

grapheme_stripos

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_stripos — Find position (in grapheme units) of first occurrence of a case-insensitive string

Descrição

Estilo procedural

grapheme_stripos ( string $haystack , string $needle , int $offset = 0 ) : int|false

Find position (in grapheme units) of first occurrence of a case-insensitive string

Parâmetros

haystack

The string to look in. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

offset

The optional $offset parameter allows you to specify where in haystack to start searching as an offset in grapheme units (not bytes or characters). If the offset is negative, it is treated relative to the end of the string. The position returned is still relative to the beginning of haystack regardless of the value of $offset.

Valor Retornado

Returns the position as an integer. If needle is not found, grapheme_stripos() will return false.

Changelog

Versão | Descrição
7.1.0 | Support for negative offsets has been added.

Exemplos

Exemplo #1 grapheme_stripos() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) normalization form "D"

print grapheme_stripos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_O_diaeresis_nfd);

?>

O exemplo acima irá imprimir:

2

Veja Também

  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack

  • « grapheme_stripos
  • grapheme_strlen »
  • PHP Manual
  • Grapheme Funções
  • Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack

grapheme_stristr

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_stristr — Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack

Descrição

Estilo procedural

grapheme_stristr ( string $haystack , string $needle , bool $beforeNeedle = false ) : string|false

Returns part of haystack string starting from and including the first occurrence of case-insensitive needle to the end of haystack.

Parâmetros

haystack

The input string. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

beforeNeedle

If true, grapheme_strstr() returns the part of the haystack before the first occurrence of the needle (excluding needle).

Valor Retornado

Returns the portion of $haystack, or false if $needle is not found.

Exemplos

Exemplo #1 grapheme_stristr() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) normalization form "D"

print urlencode(grapheme_stristr( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd, $char_O_diaeresis_nfd));

?>

O exemplo acima irá imprimir:

o%CC%88a%CC%8A

Veja Também

  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Get string length in grapheme units

  • « grapheme_stristr
  • grapheme_strpos »
  • PHP Manual
  • Grapheme Funções
  • Get string length in grapheme units

grapheme_strlen

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_strlen — Get string length in grapheme units

Descrição

Estilo procedural

grapheme_strlen ( string $string ) : int|false|null

Get string length in grapheme units (not bytes or characters)

Parâmetros

string

The string being measured for length. It must be a valid UTF-8 string.

Valor Retornado

The length of the string on success, ou false em caso de falha.

Exemplos

Exemplo #1 grapheme_strlen() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print grapheme_strlen( 'abc' . $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd);

?>

O exemplo acima irá imprimir:

6

Veja Também

  • » Unicode Text Segmentation: Grapheme Cluster Boundaries
  • iconv_strlen() - Returns the character count of string
  • mb_strlen() - Get string length
  • strlen() - Retorna o tamanho de uma string


Find position (in grapheme units) of first occurrence of a string

  • « grapheme_strlen
  • grapheme_strripos »
  • PHP Manual
  • Grapheme Funções
  • Find position (in grapheme units) of first occurrence of a string

grapheme_strpos

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_strpos — Find position (in grapheme units) of first occurrence of a string

Descrição

Estilo procedural

grapheme_strpos ( string $haystack , string $needle , int $offset = 0 ) : int|false

Find position (in grapheme units) of first occurrence of a string

Parâmetros

haystack

The string to look in. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

offset

The optional $offset parameter allows you to specify where in $haystack to start searching as an offset in grapheme units (not bytes or characters). If the offset is negative, it is treated relative to the end of the string. The position returned is still relative to the beginning of haystack regardless of the value of $offset.

Valor Retornado

Returns the position as an integer. If needle is not found, grapheme_strpos() will return false.

Changelog

Versão | Descrição
7.1.0 | Support for negative offsets has been added.

Exemplos

Exemplo #1 grapheme_strpos() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print grapheme_strpos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_o_diaeresis_nfd);

?>

O exemplo acima irá imprimir:

2

Veja Também

  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Find position (in grapheme units) of last occurrence of a case-insensitive string

  • « grapheme_strpos
  • grapheme_strrpos »
  • PHP Manual
  • Grapheme Funções
  • Find position (in grapheme units) of last occurrence of a case-insensitive string

grapheme_strripos

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_strripos — Find position (in grapheme units) of last occurrence of a case-insensitive string

Descrição

Estilo procedural

grapheme_strripos ( string $haystack , string $needle , int $offset = 0 ) : int|false

Find position (in grapheme units) of last occurrence of a case-insensitive string

Parâmetros

haystack

The string to look in. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

offset

The optional $offset parameter allows you to specify where in $haystack to start searching as an offset in grapheme units (not bytes or characters). The position returned is still relative to the beginning of haystack regardless of the value of $offset.

Valor Retornado

Returns the position as an integer. If needle is not found, grapheme_strripos() will return false.

Exemplos

Exemplo #1 grapheme_strripos() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) normalization form "D"

print grapheme_strripos( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_o_diaeresis_nfd, $char_O_diaeresis_nfd);

?>

O exemplo acima irá imprimir:

2

Veja Também

  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Find position (in grapheme units) of last occurrence of a string

  • « grapheme_strripos
  • grapheme_strstr »
  • PHP Manual
  • Grapheme Funções
  • Find position (in grapheme units) of last occurrence of a string

grapheme_strrpos

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_strrpos — Find position (in grapheme units) of last occurrence of a string

Descrição

Estilo procedural

grapheme_strrpos ( string $haystack , string $needle , int $offset = 0 ) : int|false

Find position (in grapheme units) of last occurrence of a string

Parâmetros

haystack

The string to look in. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

offset

The optional $offset parameter allows you to specify where in $haystack to start searching as an offset in grapheme units (not bytes or characters). The position returned is still relative to the beginning of haystack regardless of the value of $offset.

Valor Retornado

Returns the position as an integer. If needle is not found, grapheme_strrpos() will return false.

Exemplos

Exemplo #1 grapheme_strrpos() example

<?php
$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print grapheme_strrpos( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_o_diaeresis_nfd, $char_o_diaeresis_nfd);
?>

O exemplo acima irá imprimir:

2

Veja Também

  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Returns part of haystack string from the first occurrence of needle to the end of haystack

  • « grapheme_strrpos
  • grapheme_substr »
  • PHP Manual
  • Grapheme Funções
  • Returns part of haystack string from the first occurrence of needle to the end of haystack

grapheme_strstr

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_strstr — Returns part of haystack string from the first occurrence of needle to the end of haystack

Descrição

Estilo procedural

grapheme_strstr ( string $haystack , string $needle , bool $beforeNeedle = false ) : string|false

Returns part of haystack string from the first occurrence of needle to the end of haystack (including the needle).

Parâmetros

haystack

The input string. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

beforeNeedle

If true, grapheme_strstr() returns the part of the haystack before the first occurrence of the needle (excluding the needle).

Valor Retornado

Returns the portion of string, or false if needle is not found.

Exemplos

Exemplo #1 grapheme_strstr() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_stristr( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd, $char_o_diaeresis_nfd));

?>

O exemplo acima irá imprimir:

o%CC%88a%CC%8A

Veja Também

  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack
  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Return part of a string

  • « grapheme_strstr
  • IDN Funções »
  • PHP Manual
  • Grapheme Funções
  • Return part of a string

grapheme_substr

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_substr — Return part of a string

Descrição

Estilo procedural

grapheme_substr ( string $string , int $offset , int|null $length = null ) : string|false

Return part of a string

Parâmetros

string

The input string. Must be valid UTF-8.

offset

Start position in default grapheme units. If $start is non-negative, the returned string will start at the $start'th position in $string, counting from zero. If $start is negative, the returned string will start at the $start'th grapheme unit from the end of string.

length

Length in grapheme units. If $length is given and is positive, the string returned will contain at most $length grapheme units beginning from $start (depending on the length of string). If $length is given and is negative, then that many grapheme units will be omitted from the end of string (after the start position has been calculated when a start is negative). If $start denotes a position beyond this truncation, false will be returned.

Valor Retornado

Returns the extracted part of string, ou false em caso de falha.

Exemplos

Exemplo #1 grapheme_substr() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_substr( "ao" . $char_a_ring_nfd . "bc" . $char_o_diaeresis_nfd . "O", 2, -1 ));
?>

O exemplo acima irá imprimir:

a%CC%8Abco%CC%88

Veja Também

  • grapheme_extract() - Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


IDN Funções

Índice

  • idn_to_ascii — Convert domain name to IDNA ASCII form
  • idn_to_utf8 — Convert domain name from IDNA ASCII to Unicode


Convert domain name to IDNA ASCII form

  • « IDN Funções
  • idn_to_utf8 »
  • PHP Manual
  • IDN Funções
  • Convert domain name to IDNA ASCII form

idn_to_ascii

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.2, PECL idn >= 0.1)

idn_to_ascii — Convert domain name to IDNA ASCII form

Descrição

Estilo procedural

idn_to_ascii ( string $domain , int $flags = IDNA_DEFAULT , int $variant = INTL_IDNA_VARIANT_UTS46 , array &$idna_info = null ) : string|false

This function converts a Unicode domain name to an IDNA ASCII-compatible format.

Parâmetros

domain

The domain to convert, which must be UTF-8 encoded.

flags

Conversion options - combination of IDNA_* constants (except IDNA_ERROR_* constants).

variant

Either INTL_IDNA_VARIANT_2003 (deprecated as of PHP 7.2.0) for IDNA 2003 or INTL_IDNA_VARIANT_UTS46 (only available as of ICU 4.6) for UTS #46.

idna_info

This parameter can be used only if INTL_IDNA_VARIANT_UTS46 was used for variant. In that case, it will be filled with an array with the keys 'result', the possibly illegal result of the transformation, 'isTransitionalDifferent', a boolean indicating whether the usage of the transitional mechanisms of UTS #46 either has or would have changed the result and 'errors', which is an int representing a bitset of the error constants IDNA_ERROR_*.

Valor Retornado

The domain name encoded in ASCII-compatible form, ou false em caso de falha

Changelog

Versão | Descrição
7.4.0 | The default value of variant is now INTL_IDNA_VARIANT_UTS46 instead of the deprecated INTL_IDNA_VARIANT_2003.
7.2.0 | INTL_IDNA_VARIANT_2003 has been deprecated; use INTL_IDNA_VARIANT_UTS46 instead.

Exemplos

Exemplo #1 idn_to_ascii() example

<?php

echo idn_to_ascii('täst.de');

?>

O exemplo acima irá imprimir:

xn--tst-qla.de

Veja Também

  • idn_to_utf8() - Convert domain name from IDNA ASCII to Unicode


Convert domain name from IDNA ASCII to Unicode

  • « idn_to_ascii
  • IntlChar »
  • PHP Manual
  • IDN Funções
  • Convert domain name from IDNA ASCII to Unicode

idn_to_utf8

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.2, PECL idn >= 0.1)

idn_to_utf8 — Convert domain name from IDNA ASCII to Unicode

Descrição

Estilo procedural

idn_to_utf8 ( string $domain , int $flags = 0 , int $variant = INTL_IDNA_VARIANT_UTS46 , array &$idna_info = null ) : string|false

This function converts a Unicode domain name from an IDNA ASCII-compatible format to plain Unicode, encoded in UTF-8.

Parâmetros

domain

Domain to convert in an IDNA ASCII-compatible format.

flags

Conversion options - combination of IDNA_* constants (except IDNA_ERROR_* constants).

variant

Either INTL_IDNA_VARIANT_2003 (deprecated as of PHP 7.2.0) for IDNA 2003 or INTL_IDNA_VARIANT_UTS46 (only available as of ICU 4.6) for UTS #46.

idna_info

This parameter can be used only if INTL_IDNA_VARIANT_UTS46 was used for variant. In that case, it will be filled with an array with the keys 'result', the possibly illegal result of the transformation, 'isTransitionalDifferent', a boolean indicating whether the usage of the transitional mechanisms of UTS #46 either has or would have changed the result and 'errors', which is an int representing a bitset of the error constants IDNA_ERROR_*.

Valor Retornado

The domain name in Unicode, encoded in UTF-8, ou false em caso de falha

Changelog

Versão | Descrição
7.4.0 | The default value of variant is now INTL_IDNA_VARIANT_UTS46 instead of the deprecated INTL_IDNA_VARIANT_2003.
7.2.0 | INTL_IDNA_VARIANT_2003 has been deprecated; use INTL_IDNA_VARIANT_UTS46 instead.

Exemplos

Exemplo #1 idn_to_utf8() example

<?php

echo idn_to_utf8('xn--tst-qla.de');

?>

O exemplo acima irá imprimir:

täst.de

Veja Também

  • idn_to_ascii() - Convert domain name to IDNA ASCII form


IntlChar

(PHP 7)

Introdução

IntlChar provides access to a number of utility methods that can be used to access information about Unicode characters.

The methods and constants adhere closely to the names and behavior used by the underlying ICU library.

Sinopse da classe

IntlChar {
/* Constants */
const string UNICODE_VERSION = 6.3 ;
const int CODEPOINT_MIN = 0 ;
const int CODEPOINT_MAX = 1114111 ;
const float NO_NUMERIC_VALUE = -123456789 ;
const int PROPERTY_ALPHABETIC = 0 ;
const int PROPERTY_BINARY_START = 0 ;
const int PROPERTY_ASCII_HEX_DIGIT = 1 ;
const int PROPERTY_BIDI_CONTROL = 2 ;
const int PROPERTY_BIDI_MIRRORED = 3 ;
const int PROPERTY_DASH = 4 ;
const int PROPERTY_DEFAULT_IGNORABLE_CODE_POINT = 5 ;
const int PROPERTY_DEPRECATED = 6 ;
const int PROPERTY_DIACRITIC = 7 ;
const int PROPERTY_EXTENDER = 8 ;
const int PROPERTY_FULL_COMPOSITION_EXCLUSION = 9 ;
const int PROPERTY_GRAPHEME_BASE = 10 ;
const int PROPERTY_GRAPHEME_EXTEND = 11 ;
const int PROPERTY_GRAPHEME_LINK = 12 ;
const int PROPERTY_HEX_DIGIT = 13 ;
const int PROPERTY_HYPHEN = 14 ;
const int PROPERTY_ID_CONTINUE = 15 ;
const int PROPERTY_ID_START = 16 ;
const int PROPERTY_IDEOGRAPHIC = 17 ;
const int PROPERTY_IDS_BINARY_OPERATOR = 18 ;
const int PROPERTY_IDS_TRINARY_OPERATOR = 19 ;
const int PROPERTY_JOIN_CONTROL = 20 ;
const int PROPERTY_LOGICAL_ORDER_EXCEPTION = 21 ;
const int PROPERTY_LOWERCASE = 22 ;
const int PROPERTY_MATH = 23 ;
const int PROPERTY_NONCHARACTER_CODE_POINT = 24 ;
const int PROPERTY_QUOTATION_MARK = 25 ;
const int PROPERTY_RADICAL = 26 ;
const int PROPERTY_SOFT_DOTTED = 27 ;
const int PROPERTY_TERMINAL_PUNCTUATION = 28 ;
const int PROPERTY_UNIFIED_IDEOGRAPH = 29 ;
const int PROPERTY_UPPERCASE = 30 ;
const int PROPERTY_WHITE_SPACE = 31 ;
const int PROPERTY_XID_CONTINUE = 32 ;
const int PROPERTY_XID_START = 33 ;
const int PROPERTY_CASE_SENSITIVE = 34 ;
const int PROPERTY_S_TERM = 35 ;
const int PROPERTY_VARIATION_SELECTOR = 36 ;
const int PROPERTY_NFD_INERT = 37 ;
const int PROPERTY_NFKD_INERT = 38 ;
const int PROPERTY_NFC_INERT = 39 ;
const int PROPERTY_NFKC_INERT = 40 ;
const int PROPERTY_SEGMENT_STARTER = 41 ;
const int PROPERTY_PATTERN_SYNTAX = 42 ;
const int PROPERTY_PATTERN_WHITE_SPACE = 43 ;
const int PROPERTY_POSIX_ALNUM = 44 ;
const int PROPERTY_POSIX_BLANK = 45 ;
const int PROPERTY_POSIX_GRAPH = 46 ;
const int PROPERTY_POSIX_PRINT = 47 ;
const int PROPERTY_POSIX_XDIGIT = 48 ;
const int PROPERTY_CASED = 49 ;
const int PROPERTY_CASE_IGNORABLE = 50 ;
const int PROPERTY_CHANGES_WHEN_LOWERCASED = 51 ;
const int PROPERTY_CHANGES_WHEN_UPPERCASED = 52 ;
const int PROPERTY_CHANGES_WHEN_TITLECASED = 53 ;
const int PROPERTY_CHANGES_WHEN_CASEFOLDED = 54 ;
const int PROPERTY_CHANGES_WHEN_CASEMAPPED = 55 ;
const int PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED = 56 ;
const int PROPERTY_BINARY_LIMIT = 57 ;
const int PROPERTY_BIDI_CLASS = 4096 ;
const int PROPERTY_INT_START = 4096 ;
const int PROPERTY_BLOCK = 4097 ;
const int PROPERTY_CANONICAL_COMBINING_CLASS = 4098 ;
const int PROPERTY_DECOMPOSITION_TYPE = 4099 ;
const int PROPERTY_EAST_ASIAN_WIDTH = 4100 ;
const int PROPERTY_GENERAL_CATEGORY = 4101 ;
const int PROPERTY_JOINING_GROUP = 4102 ;
const int PROPERTY_JOINING_TYPE = 4103 ;
const int PROPERTY_LINE_BREAK = 4104 ;
const int PROPERTY_NUMERIC_TYPE = 4105 ;
const int PROPERTY_SCRIPT = 4106 ;
const int PROPERTY_HANGUL_SYLLABLE_TYPE = 4107 ;
const int PROPERTY_NFD_QUICK_CHECK = 4108 ;
const int PROPERTY_NFKD_QUICK_CHECK = 4109 ;
const int PROPERTY_NFC_QUICK_CHECK = 4110 ;
const int PROPERTY_NFKC_QUICK_CHECK = 4111 ;
const int PROPERTY_LEAD_CANONICAL_COMBINING_CLASS = 4112 ;
const int PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS = 4113 ;
const int PROPERTY_GRAPHEME_CLUSTER_BREAK = 4114 ;
const int PROPERTY_SENTENCE_BREAK = 4115 ;
const int PROPERTY_WORD_BREAK = 4116 ;
const int PROPERTY_BIDI_PAIRED_BRACKET_TYPE = 4117 ;
const int PROPERTY_INT_LIMIT = 4118 ;
const int PROPERTY_GENERAL_CATEGORY_MASK = 8192 ;
const int PROPERTY_MASK_START = 8192 ;
const int PROPERTY_MASK_LIMIT = 8193 ;
const int PROPERTY_NUMERIC_VALUE = 12288 ;
const int PROPERTY_DOUBLE_START = 12288 ;
const int PROPERTY_DOUBLE_LIMIT = 12289 ;
const int PROPERTY_AGE = 16384 ;
const int PROPERTY_STRING_START = 16384 ;
const int PROPERTY_BIDI_MIRRORING_GLYPH = 16385 ;
const int PROPERTY_CASE_FOLDING = 16386 ;
const int PROPERTY_ISO_COMMENT = 16387 ;
const int PROPERTY_LOWERCASE_MAPPING = 16388 ;
const int PROPERTY_NAME = 16389 ;
const int PROPERTY_SIMPLE_CASE_FOLDING = 16390 ;
const int PROPERTY_SIMPLE_LOWERCASE_MAPPING = 16391 ;
const int PROPERTY_SIMPLE_TITLECASE_MAPPING = 16392 ;
const int PROPERTY_SIMPLE_UPPERCASE_MAPPING = 16393 ;
const int PROPERTY_TITLECASE_MAPPING = 16394 ;
const int PROPERTY_UNICODE_1_NAME = 16395 ;
const int PROPERTY_UPPERCASE_MAPPING = 16396 ;
const int PROPERTY_BIDI_PAIRED_BRACKET = 16397 ;
const int PROPERTY_STRING_LIMIT = 16398 ;
const int PROPERTY_SCRIPT_EXTENSIONS = 28672 ;
const int PROPERTY_OTHER_PROPERTY_START = 28672 ;
const int PROPERTY_OTHER_PROPERTY_LIMIT = 28673 ;
const int PROPERTY_INVALID_CODE = -1 ;
const int CHAR_CATEGORY_UNASSIGNED = 0 ;
const int CHAR_CATEGORY_GENERAL_OTHER_TYPES = 0 ;
const int CHAR_CATEGORY_UPPERCASE_LETTER = 1 ;
const int CHAR_CATEGORY_LOWERCASE_LETTER = 2 ;
const int CHAR_CATEGORY_TITLECASE_LETTER = 3 ;
const int CHAR_CATEGORY_MODIFIER_LETTER = 4 ;
const int CHAR_CATEGORY_OTHER_LETTER = 5 ;
const int CHAR_CATEGORY_NON_SPACING_MARK = 6 ;
const int CHAR_CATEGORY_ENCLOSING_MARK = 7 ;
const int CHAR_CATEGORY_COMBINING_SPACING_MARK = 8 ;
const int CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER = 9 ;
const int CHAR_CATEGORY_LETTER_NUMBER = 10 ;
const int CHAR_CATEGORY_OTHER_NUMBER = 11 ;
const int CHAR_CATEGORY_SPACE_SEPARATOR = 12 ;
const int CHAR_CATEGORY_LINE_SEPARATOR = 13 ;
const int CHAR_CATEGORY_PARAGRAPH_SEPARATOR = 14 ;
const int CHAR_CATEGORY_CONTROL_CHAR = 15 ;
const int CHAR_CATEGORY_FORMAT_CHAR = 16 ;
const int CHAR_CATEGORY_PRIVATE_USE_CHAR = 17 ;
const int CHAR_CATEGORY_SURROGATE = 18 ;
const int CHAR_CATEGORY_DASH_PUNCTUATION = 19 ;
const int CHAR_CATEGORY_START_PUNCTUATION = 20 ;
const int CHAR_CATEGORY_END_PUNCTUATION = 21 ;
const int CHAR_CATEGORY_CONNECTOR_PUNCTUATION = 22 ;
const int CHAR_CATEGORY_OTHER_PUNCTUATION = 23 ;
const int CHAR_CATEGORY_MATH_SYMBOL = 24 ;
const int CHAR_CATEGORY_CURRENCY_SYMBOL = 25 ;
const int CHAR_CATEGORY_MODIFIER_SYMBOL = 26 ;
const int CHAR_CATEGORY_OTHER_SYMBOL = 27 ;
const int CHAR_CATEGORY_INITIAL_PUNCTUATION = 28 ;
const int CHAR_CATEGORY_FINAL_PUNCTUATION = 29 ;
const int CHAR_CATEGORY_CHAR_CATEGORY_COUNT = 30 ;
const int CHAR_DIRECTION_LEFT_TO_RIGHT = 0 ;
const int CHAR_DIRECTION_RIGHT_TO_LEFT = 1 ;
const int CHAR_DIRECTION_EUROPEAN_NUMBER = 2 ;
const int CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR = 3 ;
const int CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR = 4 ;
const int CHAR_DIRECTION_ARABIC_NUMBER = 5 ;
const int CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR = 6 ;
const int CHAR_DIRECTION_BLOCK_SEPARATOR = 7 ;
const int CHAR_DIRECTION_SEGMENT_SEPARATOR = 8 ;
const int CHAR_DIRECTION_WHITE_SPACE_NEUTRAL = 9 ;
const int CHAR_DIRECTION_OTHER_NEUTRAL = 10 ;
const int CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING = 11 ;
const int CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE = 12 ;
const int CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC = 13 ;
const int CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING = 14 ;
const int CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE = 15 ;
const int CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT = 16 ;
const int CHAR_DIRECTION_DIR_NON_SPACING_MARK = 17 ;
const int CHAR_DIRECTION_BOUNDARY_NEUTRAL = 18 ;
const int CHAR_DIRECTION_FIRST_STRONG_ISOLATE = 19 ;
const int CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE = 20 ;
const int CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE = 21 ;
const int CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE = 22 ;
const int CHAR_DIRECTION_CHAR_DIRECTION_COUNT = 23 ;
const int BLOCK_CODE_NO_BLOCK = 0 ;
const int BLOCK_CODE_BASIC_LATIN = 1 ;
const int BLOCK_CODE_LATIN_1_SUPPLEMENT = 2 ;
const int BLOCK_CODE_LATIN_EXTENDED_A = 3 ;
const int BLOCK_CODE_LATIN_EXTENDED_B = 4 ;
const int BLOCK_CODE_IPA_EXTENSIONS = 5 ;
const int BLOCK_CODE_SPACING_MODIFIER_LETTERS = 6 ;
const int BLOCK_CODE_COMBINING_DIACRITICAL_MARKS = 7 ;
const int BLOCK_CODE_GREEK = 8 ;
const int BLOCK_CODE_CYRILLIC = 9 ;
const int BLOCK_CODE_ARMENIAN = 10 ;
const int BLOCK_CODE_HEBREW = 11 ;
const int BLOCK_CODE_ARABIC = 12 ;
const int BLOCK_CODE_SYRIAC = 13 ;
const int BLOCK_CODE_THAANA = 14 ;
const int BLOCK_CODE_DEVANAGARI = 15 ;
const int BLOCK_CODE_BENGALI = 16 ;
const int BLOCK_CODE_GURMUKHI = 17 ;
const int BLOCK_CODE_GUJARATI = 18 ;
const int BLOCK_CODE_ORIYA = 19 ;
const int BLOCK_CODE_TAMIL = 20 ;
const int BLOCK_CODE_TELUGU = 21 ;
const int BLOCK_CODE_KANNADA = 22 ;
const int BLOCK_CODE_MALAYALAM = 23 ;
const int BLOCK_CODE_SINHALA = 24 ;
const int BLOCK_CODE_THAI = 25 ;
const int BLOCK_CODE_LAO = 26 ;
const int BLOCK_CODE_TIBETAN = 27 ;
const int BLOCK_CODE_MYANMAR = 28 ;
const int BLOCK_CODE_GEORGIAN = 29 ;
const int BLOCK_CODE_HANGUL_JAMO = 30 ;
const int BLOCK_CODE_ETHIOPIC = 31 ;
const int BLOCK_CODE_CHEROKEE = 32 ;
const int BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS = 33 ;
const int BLOCK_CODE_OGHAM = 34 ;
const int BLOCK_CODE_RUNIC = 35 ;
const int BLOCK_CODE_KHMER = 36 ;
const int BLOCK_CODE_MONGOLIAN = 37 ;
const int BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL = 38 ;
const int BLOCK_CODE_GREEK_EXTENDED = 39 ;
const int BLOCK_CODE_GENERAL_PUNCTUATION = 40 ;
const int BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS = 41 ;
const int BLOCK_CODE_CURRENCY_SYMBOLS = 42 ;
const int BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS = 43 ;
const int BLOCK_CODE_LETTERLIKE_SYMBOLS = 44 ;
const int BLOCK_CODE_NUMBER_FORMS = 45 ;
const int BLOCK_CODE_ARROWS = 46 ;
const int BLOCK_CODE_MATHEMATICAL_OPERATORS = 47 ;
const int BLOCK_CODE_MISCELLANEOUS_TECHNICAL = 48 ;
const int BLOCK_CODE_CONTROL_PICTURES = 49 ;
const int BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION = 50 ;
const int BLOCK_CODE_ENCLOSED_ALPHANUMERICS = 51 ;
const int BLOCK_CODE_BOX_DRAWING = 52 ;
const int BLOCK_CODE_BLOCK_ELEMENTS = 53 ;
const int BLOCK_CODE_GEOMETRIC_SHAPES = 54 ;
const int BLOCK_CODE_MISCELLANEOUS_SYMBOLS = 55 ;
const int BLOCK_CODE_DINGBATS = 56 ;
const int BLOCK_CODE_BRAILLE_PATTERNS = 57 ;
const int BLOCK_CODE_CJK_RADICALS_SUPPLEMENT = 58 ;
const int BLOCK_CODE_KANGXI_RADICALS = 59 ;
const int BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS = 60 ;
const int BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION = 61 ;
const int BLOCK_CODE_HIRAGANA = 62 ;
const int BLOCK_CODE_KATAKANA = 63 ;
const int BLOCK_CODE_BOPOMOFO = 64 ;
const int BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO = 65 ;
const int BLOCK_CODE_KANBUN = 66 ;
const int BLOCK_CODE_BOPOMOFO_EXTENDED = 67 ;
const int BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS = 68 ;
const int BLOCK_CODE_CJK_COMPATIBILITY = 69 ;
const int BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A = 70 ;
const int BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS = 71 ;
const int BLOCK_CODE_YI_SYLLABLES = 72 ;
const int BLOCK_CODE_YI_RADICALS = 73 ;
const int BLOCK_CODE_HANGUL_SYLLABLES = 74 ;
const int BLOCK_CODE_HIGH_SURROGATES = 75 ;
const int BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES = 76 ;
const int BLOCK_CODE_LOW_SURROGATES = 77 ;
const int BLOCK_CODE_PRIVATE_USE_AREA = 78 ;
const int BLOCK_CODE_PRIVATE_USE = 78 ;
const int BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS = 79 ;
const int BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS = 80 ;
const int BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A = 81 ;
const int BLOCK_CODE_COMBINING_HALF_MARKS = 82 ;
const int BLOCK_CODE_CJK_COMPATIBILITY_FORMS = 83 ;
const int BLOCK_CODE_SMALL_FORM_VARIANTS = 84 ;
const int BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B = 85 ;
const int BLOCK_CODE_SPECIALS = 86 ;
const int BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS = 87 ;
const int BLOCK_CODE_OLD_ITALIC = 88 ;
const int BLOCK_CODE_GOTHIC = 89 ;
const int BLOCK_CODE_DESERET = 90 ;
const int BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS = 91 ;
const int BLOCK_CODE_MUSICAL_SYMBOLS = 92 ;
const int BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93 ;
const int BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94 ;
const int BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95 ;
const int BLOCK_CODE_TAGS = 96 ;
const int BLOCK_CODE_CYRILLIC_SUPPLEMENT = 97 ;
const int BLOCK_CODE_CYRILLIC_SUPPLEMENTARY = 97 ;
const int BLOCK_CODE_TAGALOG = 98 ;
const int BLOCK_CODE_HANUNOO = 99 ;
const int BLOCK_CODE_BUHID = 100 ;
const int BLOCK_CODE_TAGBANWA = 101 ;
const int BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102 ;
const int BLOCK_CODE_SUPPLEMENTAL_ARROWS_A = 103 ;
const int BLOCK_CODE_SUPPLEMENTAL_ARROWS_B = 104 ;
const int BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105 ;
const int BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106 ;
const int BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS = 107 ;
const int BLOCK_CODE_VARIATION_SELECTORS = 108 ;
const int BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109 ;
const int BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110 ;
const int BLOCK_CODE_LIMBU = 111 ;
const int BLOCK_CODE_TAI_LE = 112 ;
const int BLOCK_CODE_KHMER_SYMBOLS = 113 ;
const int BLOCK_CODE_PHONETIC_EXTENSIONS = 114 ;
const int BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115 ;
const int BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS = 116 ;
const int BLOCK_CODE_LINEAR_B_SYLLABARY = 117 ;
const int BLOCK_CODE_LINEAR_B_IDEOGRAMS = 118 ;
const int BLOCK_CODE_AEGEAN_NUMBERS = 119 ;
const int BLOCK_CODE_UGARITIC = 120 ;
const int BLOCK_CODE_SHAVIAN = 121 ;
const int BLOCK_CODE_OSMANYA = 122 ;
const int BLOCK_CODE_CYPRIOT_SYLLABARY = 123 ;
const int BLOCK_CODE_TAI_XUAN_JING_SYMBOLS = 124 ;
const int BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT = 125 ;
const int BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION = 126 ;
const int BLOCK_CODE_ANCIENT_GREEK_NUMBERS = 127 ;
const int BLOCK_CODE_ARABIC_SUPPLEMENT = 128 ;
const int BLOCK_CODE_BUGINESE = 129 ;
const int BLOCK_CODE_CJK_STROKES = 130 ;
const int BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131 ;
const int BLOCK_CODE_COPTIC = 132 ;
const int BLOCK_CODE_ETHIOPIC_EXTENDED = 133 ;
const int BLOCK_CODE_ETHIOPIC_SUPPLEMENT = 134 ;
const int BLOCK_CODE_GEORGIAN_SUPPLEMENT = 135 ;
const int BLOCK_CODE_GLAGOLITIC = 136 ;
const int BLOCK_CODE_KHAROSHTHI = 137 ;
const int BLOCK_CODE_MODIFIER_TONE_LETTERS = 138 ;
const int BLOCK_CODE_NEW_TAI_LUE = 139 ;
const int BLOCK_CODE_OLD_PERSIAN = 140 ;
const int BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT = 141 ;
const int BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION = 142 ;
const int BLOCK_CODE_SYLOTI_NAGRI = 143 ;
const int BLOCK_CODE_TIFINAGH = 144 ;
const int BLOCK_CODE_VERTICAL_FORMS = 145 ;
const int BLOCK_CODE_NKO = 146 ;
const int BLOCK_CODE_BALINESE = 147 ;
const int BLOCK_CODE_LATIN_EXTENDED_C = 148 ;
const int BLOCK_CODE_LATIN_EXTENDED_D = 149 ;
const int BLOCK_CODE_PHAGS_PA = 150 ;
const int BLOCK_CODE_PHOENICIAN = 151 ;
const int BLOCK_CODE_CUNEIFORM = 152 ;
const int BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153 ;
const int BLOCK_CODE_COUNTING_ROD_NUMERALS = 154 ;
const int BLOCK_CODE_SUNDANESE = 155 ;
const int BLOCK_CODE_LEPCHA = 156 ;
const int BLOCK_CODE_OL_CHIKI = 157 ;
const int BLOCK_CODE_CYRILLIC_EXTENDED_A = 158 ;
const int BLOCK_CODE_VAI = 159 ;
const int BLOCK_CODE_CYRILLIC_EXTENDED_B = 160 ;
const int BLOCK_CODE_SAURASHTRA = 161 ;
const int BLOCK_CODE_KAYAH_LI = 162 ;
const int BLOCK_CODE_REJANG = 163 ;
const int BLOCK_CODE_CHAM = 164 ;
const int BLOCK_CODE_ANCIENT_SYMBOLS = 165 ;
const int BLOCK_CODE_PHAISTOS_DISC = 166 ;
const int BLOCK_CODE_LYCIAN = 167 ;
const int BLOCK_CODE_CARIAN = 168 ;
const int BLOCK_CODE_LYDIAN = 169 ;
const int BLOCK_CODE_MAHJONG_TILES = 170 ;
const int BLOCK_CODE_DOMINO_TILES = 171 ;
const int BLOCK_CODE_SAMARITAN = 172 ;
const int BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173 ;
const int BLOCK_CODE_TAI_THAM = 174 ;
const int BLOCK_CODE_VEDIC_EXTENSIONS = 175 ;
const int BLOCK_CODE_LISU = 176 ;
const int BLOCK_CODE_BAMUM = 177 ;
const int BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS = 178 ;
const int BLOCK_CODE_DEVANAGARI_EXTENDED = 179 ;
const int BLOCK_CODE_HANGUL_JAMO_EXTENDED_A = 180 ;
const int BLOCK_CODE_JAVANESE = 181 ;
const int BLOCK_CODE_MYANMAR_EXTENDED_A = 182 ;
const int BLOCK_CODE_TAI_VIET = 183 ;
const int BLOCK_CODE_MEETEI_MAYEK = 184 ;
const int BLOCK_CODE_HANGUL_JAMO_EXTENDED_B = 185 ;
const int BLOCK_CODE_IMPERIAL_ARAMAIC = 186 ;
const int BLOCK_CODE_OLD_SOUTH_ARABIAN = 187 ;
const int BLOCK_CODE_AVESTAN = 188 ;
const int BLOCK_CODE_INSCRIPTIONAL_PARTHIAN = 189 ;
const int BLOCK_CODE_INSCRIPTIONAL_PAHLAVI = 190 ;
const int BLOCK_CODE_OLD_TURKIC = 191 ;
const int BLOCK_CODE_RUMI_NUMERAL_SYMBOLS = 192 ;
const int BLOCK_CODE_KAITHI = 193 ;
const int BLOCK_CODE_EGYPTIAN_HIEROGLYPHS = 194 ;
const int BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195 ;
const int BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196 ;
const int BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197 ;
const int BLOCK_CODE_MANDAIC = 198 ;
const int BLOCK_CODE_BATAK = 199 ;
const int BLOCK_CODE_ETHIOPIC_EXTENDED_A = 200 ;
const int BLOCK_CODE_BRAHMI = 201 ;
const int BLOCK_CODE_BAMUM_SUPPLEMENT = 202 ;
const int BLOCK_CODE_KANA_SUPPLEMENT = 203 ;
const int BLOCK_CODE_PLAYING_CARDS = 204 ;
const int BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205 ;
const int BLOCK_CODE_EMOTICONS = 206 ;
const int BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS = 207 ;
const int BLOCK_CODE_ALCHEMICAL_SYMBOLS = 208 ;
const int BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209 ;
const int BLOCK_CODE_ARABIC_EXTENDED_A = 210 ;
const int BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211 ;
const int BLOCK_CODE_CHAKMA = 212 ;
const int BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS = 213 ;
const int BLOCK_CODE_MEROITIC_CURSIVE = 214 ;
const int BLOCK_CODE_MEROITIC_HIEROGLYPHS = 215 ;
const int BLOCK_CODE_MIAO = 216 ;
const int BLOCK_CODE_SHARADA = 217 ;
const int BLOCK_CODE_SORA_SOMPENG = 218 ;
const int BLOCK_CODE_SUNDANESE_SUPPLEMENT = 219 ;
const int BLOCK_CODE_TAKRI = 220 ;
const int BLOCK_CODE_COUNT = 221 ;
const int BLOCK_CODE_INVALID_CODE = -1 ;
const int BPT_NONE = 0 ;
const int BPT_OPEN = 1 ;
const int BPT_CLOSE = 2 ;
const int BPT_COUNT = 3 ;
const int EA_NEUTRAL = 0 ;
const int EA_AMBIGUOUS = 1 ;
const int EA_HALFWIDTH = 2 ;
const int EA_FULLWIDTH = 3 ;
const int EA_NARROW = 4 ;
const int EA_WIDE = 5 ;
const int EA_COUNT = 6 ;
const int UNICODE_CHAR_NAME = 0 ;
const int UNICODE_10_CHAR_NAME = 1 ;
const int EXTENDED_CHAR_NAME = 2 ;
const int CHAR_NAME_ALIAS = 3 ;
const int CHAR_NAME_CHOICE_COUNT = 4 ;
const int SHORT_PROPERTY_NAME = 0 ;
const int LONG_PROPERTY_NAME = 1 ;
const int PROPERTY_NAME_CHOICE_COUNT = 2 ;
const int DT_NONE = 0 ;
const int DT_CANONICAL = 1 ;
const int DT_COMPAT = 2 ;
const int DT_CIRCLE = 3 ;
const int DT_FINAL = 4 ;
const int DT_FONT = 5 ;
const int DT_FRACTION = 6 ;
const int DT_INITIAL = 7 ;
const int DT_ISOLATED = 8 ;
const int DT_MEDIAL = 9 ;
const int DT_NARROW = 10 ;
const int DT_NOBREAK = 11 ;
const int DT_SMALL = 12 ;
const int DT_SQUARE = 13 ;
const int DT_SUB = 14 ;
const int DT_SUPER = 15 ;
const int DT_VERTICAL = 16 ;
const int DT_WIDE = 17 ;
const int DT_COUNT = 18 ;
const int JT_NON_JOINING = 0 ;
const int JT_JOIN_CAUSING = 1 ;
const int JT_DUAL_JOINING = 2 ;
const int JT_LEFT_JOINING = 3 ;
const int JT_RIGHT_JOINING = 4 ;
const int JT_TRANSPARENT = 5 ;
const int JT_COUNT = 6 ;
const int JG_NO_JOINING_GROUP = 0 ;
const int JG_AIN = 1 ;
const int JG_ALAPH = 2 ;
const int JG_ALEF = 3 ;
const int JG_BEH = 4 ;
const int JG_BETH = 5 ;
const int JG_DAL = 6 ;
const int JG_DALATH_RISH = 7 ;
const int JG_E = 8 ;
const int JG_FEH = 9 ;
const int JG_FINAL_SEMKATH = 10 ;
const int JG_GAF = 11 ;
const int JG_GAMAL = 12 ;
const int JG_HAH = 13 ;
const int JG_TEH_MARBUTA_GOAL = 14 ;
const int JG_HAMZA_ON_HEH_GOAL = 14 ;
const int JG_HE = 15 ;
const int JG_HEH = 16 ;
const int JG_HEH_GOAL = 17 ;
const int JG_HETH = 18 ;
const int JG_KAF = 19 ;
const int JG_KAPH = 20 ;
const int JG_KNOTTED_HEH = 21 ;
const int JG_LAM = 22 ;
const int JG_LAMADH = 23 ;
const int JG_MEEM = 24 ;
const int JG_MIM = 25 ;
const int JG_NOON = 26 ;
const int JG_NUN = 27 ;
const int JG_PE = 28 ;
const int JG_QAF = 29 ;
const int JG_QAPH = 30 ;
const int JG_REH = 31 ;
const int JG_REVERSED_PE = 32 ;
const int JG_SAD = 33 ;
const int JG_SADHE = 34 ;
const int JG_SEEN = 35 ;
const int JG_SEMKATH = 36 ;
const int JG_SHIN = 37 ;
const int JG_SWASH_KAF = 38 ;
const int JG_SYRIAC_WAW = 39 ;
const int JG_TAH = 40 ;
const int JG_TAW = 41 ;
const int JG_TEH_MARBUTA = 42 ;
const int JG_TETH = 43 ;
const int JG_WAW = 44 ;
const int JG_YEH = 45 ;
const int JG_YEH_BARREE = 46 ;
const int JG_YEH_WITH_TAIL = 47 ;
const int JG_YUDH = 48 ;
const int JG_YUDH_HE = 49 ;
const int JG_ZAIN = 50 ;
const int JG_FE = 51 ;
const int JG_KHAPH = 52 ;
const int JG_ZHAIN = 53 ;
const int JG_BURUSHASKI_YEH_BARREE = 54 ;
const int JG_FARSI_YEH = 55 ;
const int JG_NYA = 56 ;
const int JG_ROHINGYA_YEH = 57 ;
const int JG_COUNT = 58 ;
const int GCB_OTHER = 0 ;
const int GCB_CONTROL = 1 ;
const int GCB_CR = 2 ;
const int GCB_EXTEND = 3 ;
const int GCB_L = 4 ;
const int GCB_LF = 5 ;
const int GCB_LV = 6 ;
const int GCB_LVT = 7 ;
const int GCB_T = 8 ;
const int GCB_V = 9 ;
const int GCB_SPACING_MARK = 10 ;
const int GCB_PREPEND = 11 ;
const int GCB_REGIONAL_INDICATOR = 12 ;
const int GCB_COUNT = 13 ;
const int WB_OTHER = 0 ;
const int WB_ALETTER = 1 ;
const int WB_FORMAT = 2 ;
const int WB_KATAKANA = 3 ;
const int WB_MIDLETTER = 4 ;
const int WB_MIDNUM = 5 ;
const int WB_NUMERIC = 6 ;
const int WB_EXTENDNUMLET = 7 ;
const int WB_CR = 8 ;
const int WB_EXTEND = 9 ;
const int WB_LF = 10 ;
const int WB_MIDNUMLET = 11 ;
const int WB_NEWLINE = 12 ;
const int WB_REGIONAL_INDICATOR = 13 ;
const int WB_HEBREW_LETTER = 14 ;
const int WB_SINGLE_QUOTE = 15 ;
const int WB_DOUBLE_QUOTE = 16 ;
const int WB_COUNT = 17 ;
const int SB_OTHER = 0 ;
const int SB_ATERM = 1 ;
const int SB_CLOSE = 2 ;
const int SB_FORMAT = 3 ;
const int SB_LOWER = 4 ;
const int SB_NUMERIC = 5 ;
const int SB_OLETTER = 6 ;
const int SB_SEP = 7 ;
const int SB_SP = 8 ;
const int SB_STERM = 9 ;
const int SB_UPPER = 10 ;
const int SB_CR = 11 ;
const int SB_EXTEND = 12 ;
const int SB_LF = 13 ;
const int SB_SCONTINUE = 14 ;
const int SB_COUNT = 15 ;
const int LB_UNKNOWN = 0 ;
const int LB_AMBIGUOUS = 1 ;
const int LB_ALPHABETIC = 2 ;
const int LB_BREAK_BOTH = 3 ;
const int LB_BREAK_AFTER = 4 ;
const int LB_BREAK_BEFORE = 5 ;
const int LB_MANDATORY_BREAK = 6 ;
const int LB_CONTINGENT_BREAK = 7 ;
const int LB_CLOSE_PUNCTUATION = 8 ;
const int LB_COMBINING_MARK = 9 ;
const int LB_CARRIAGE_RETURN = 10 ;
const int LB_EXCLAMATION = 11 ;
const int LB_GLUE = 12 ;
const int LB_HYPHEN = 13 ;
const int LB_IDEOGRAPHIC = 14 ;
const int LB_INSEPARABLE = 15 ;
const int LB_INSEPERABLE = 15 ;
const int LB_INFIX_NUMERIC = 16 ;
const int LB_LINE_FEED = 17 ;
const int LB_NONSTARTER = 18 ;
const int LB_NUMERIC = 19 ;
const int LB_OPEN_PUNCTUATION = 20 ;
const int LB_POSTFIX_NUMERIC = 21 ;
const int LB_PREFIX_NUMERIC = 22 ;
const int LB_QUOTATION = 23 ;
const int LB_COMPLEX_CONTEXT = 24 ;
const int LB_SURROGATE = 25 ;
const int LB_SPACE = 26 ;
const int LB_BREAK_SYMBOLS = 27 ;
const int LB_ZWSPACE = 28 ;
const int LB_NEXT_LINE = 29 ;
const int LB_WORD_JOINER = 30 ;
const int LB_H2 = 31 ;
const int LB_H3 = 32 ;
const int LB_JL = 33 ;
const int LB_JT = 34 ;
const int LB_JV = 35 ;
const int LB_CLOSE_PARENTHESIS = 36 ;
const int LB_CONDITIONAL_JAPANESE_STARTER = 37 ;
const int LB_HEBREW_LETTER = 38 ;
const int LB_REGIONAL_INDICATOR = 39 ;
const int LB_COUNT = 40 ;
const int NT_NONE = 0 ;
const int NT_DECIMAL = 1 ;
const int NT_DIGIT = 2 ;
const int NT_NUMERIC = 3 ;
const int NT_COUNT = 4 ;
const int HST_NOT_APPLICABLE = 0 ;
const int HST_LEADING_JAMO = 1 ;
const int HST_VOWEL_JAMO = 2 ;
const int HST_TRAILING_JAMO = 3 ;
const int HST_LV_SYLLABLE = 4 ;
const int HST_LVT_SYLLABLE = 5 ;
const int HST_COUNT = 6 ;
/* Métodos */
public static charAge ( mixed $codepoint ) : array
public static charDigitValue ( mixed $codepoint ) : int
public static charDirection ( mixed $codepoint ) : int
public static charFromName ( string $characterName , int $nameChoice = IntlChar::UNICODE_CHAR_NAME ) : int
public static charMirror ( mixed $codepoint ) : mixed
public static charName ( mixed $codepoint , int $nameChoice = IntlChar::UNICODE_CHAR_NAME ) : string
public static charType ( mixed $codepoint ) : int
public static chr ( mixed $codepoint ) : string
public static digit ( string $codepoint , int $radix = 10 ) : int
public static enumCharNames ( mixed $start , mixed $limit , callable $callback , int $nameChoice = IntlChar::UNICODE_CHAR_NAME ) : void
public static enumCharTypes ( callable $callback ) : void
public static foldCase ( mixed $codepoint , int $options = IntlChar::FOLD_CASE_DEFAULT ) : mixed
public static forDigit ( int $digit , int $radix = 10 ) : int
public static getBidiPairedBracket ( mixed $codepoint ) : mixed
public static getBlockCode ( mixed $codepoint ) : int
public static getCombiningClass ( mixed $codepoint ) : int
public static getFC_NFKC_Closure ( mixed $codepoint ) : string
public static getIntPropertyMaxValue ( int $property ) : int
public static getIntPropertyMinValue ( int $property ) : int
public static getIntPropertyValue ( mixed $codepoint , int $property ) : int
public static getNumericValue ( mixed $codepoint ) : float
public static getPropertyEnum ( string $alias ) : int
public static getPropertyName ( int $property , int $nameChoice = IntlChar::LONG_PROPERTY_NAME ) : string
public static getPropertyValueEnum ( int $property , string $name ) : int
public static getPropertyValueName ( int $property , int $value , int $nameChoice = IntlChar::LONG_PROPERTY_NAME ) : string
public static getUnicodeVersion ( ) : array
public static hasBinaryProperty ( mixed $codepoint , int $property ) : bool
public static isalnum ( mixed $codepoint ) : bool
public static isalpha ( mixed $codepoint ) : bool
public static isbase ( mixed $codepoint ) : bool
public static isblank ( mixed $codepoint ) : bool
public static iscntrl ( mixed $codepoint ) : bool
public static isdefined ( mixed $codepoint ) : bool
public static isdigit ( mixed $codepoint ) : bool
public static isgraph ( mixed $codepoint ) : bool
public static isIDIgnorable ( mixed $codepoint ) : bool
public static isIDPart ( mixed $codepoint ) : bool
public static isIDStart ( mixed $codepoint ) : bool
public static isISOControl ( mixed $codepoint ) : bool
public static isJavaIDPart ( mixed $codepoint ) : bool
public static isJavaIDStart ( mixed $codepoint ) : bool
public static isJavaSpaceChar ( mixed $codepoint ) : bool
public static islower ( mixed $codepoint ) : bool
public static isMirrored ( mixed $codepoint ) : bool
public static isprint ( mixed $codepoint ) : bool
public static ispunct ( mixed $codepoint ) : bool
public static isspace ( mixed $codepoint ) : bool
public static istitle ( mixed $codepoint ) : bool
public static isUAlphabetic ( mixed $codepoint ) : bool
public static isULowercase ( mixed $codepoint ) : bool
public static isupper ( mixed $codepoint ) : bool
public static isUUppercase ( mixed $codepoint ) : bool
public static isUWhiteSpace ( mixed $codepoint ) : bool
public static isWhitespace ( mixed $codepoint ) : bool
public static isxdigit ( mixed $codepoint ) : bool
public static ord ( mixed $character ) : int
public static tolower ( mixed $codepoint ) : mixed
public static totitle ( mixed $codepoint ) : mixed
public static toupper ( mixed $codepoint ) : mixed
}

Constantes pré-definidas

IntlChar::UNICODE_VERSION

IntlChar::CODEPOINT_MIN

IntlChar::CODEPOINT_MAX

IntlChar::NO_NUMERIC_VALUE

Special value that is returned by IntlChar::getNumericValue() when no numeric value is defined for a code point.

IntlChar::PROPERTY_ALPHABETIC

IntlChar::PROPERTY_BINARY_START

IntlChar::PROPERTY_ASCII_HEX_DIGIT

IntlChar::PROPERTY_BIDI_CONTROL

IntlChar::PROPERTY_BIDI_MIRRORED

IntlChar::PROPERTY_DASH

IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT

IntlChar::PROPERTY_DEPRECATED

IntlChar::PROPERTY_DIACRITIC

IntlChar::PROPERTY_EXTENDER

IntlChar::PROPERTY_FULL_COMPOSITION_EXCLUSION

IntlChar::PROPERTY_GRAPHEME_BASE

IntlChar::PROPERTY_GRAPHEME_EXTEND

IntlChar::PROPERTY_GRAPHEME_LINK

IntlChar::PROPERTY_HEX_DIGIT

IntlChar::PROPERTY_HYPHEN

IntlChar::PROPERTY_ID_CONTINUE

IntlChar::PROPERTY_ID_START

IntlChar::PROPERTY_IDEOGRAPHIC

IntlChar::PROPERTY_IDS_BINARY_OPERATOR

IntlChar::PROPERTY_IDS_TRINARY_OPERATOR

IntlChar::PROPERTY_JOIN_CONTROL

IntlChar::PROPERTY_LOGICAL_ORDER_EXCEPTION

IntlChar::PROPERTY_LOWERCASE

IntlChar::PROPERTY_MATH

IntlChar::PROPERTY_NONCHARACTER_CODE_POINT

IntlChar::PROPERTY_QUOTATION_MARK

IntlChar::PROPERTY_RADICAL

IntlChar::PROPERTY_SOFT_DOTTED

IntlChar::PROPERTY_TERMINAL_PUNCTUATION

IntlChar::PROPERTY_UNIFIED_IDEOGRAPH

IntlChar::PROPERTY_UPPERCASE

IntlChar::PROPERTY_WHITE_SPACE

IntlChar::PROPERTY_XID_CONTINUE

IntlChar::PROPERTY_XID_START

IntlChar::PROPERTY_CASE_SENSITIVE

IntlChar::PROPERTY_S_TERM

IntlChar::PROPERTY_VARIATION_SELECTOR

IntlChar::PROPERTY_NFD_INERT

IntlChar::PROPERTY_NFKD_INERT

IntlChar::PROPERTY_NFC_INERT

IntlChar::PROPERTY_NFKC_INERT

IntlChar::PROPERTY_SEGMENT_STARTER

IntlChar::PROPERTY_PATTERN_SYNTAX

IntlChar::PROPERTY_PATTERN_WHITE_SPACE

IntlChar::PROPERTY_POSIX_ALNUM

IntlChar::PROPERTY_POSIX_BLANK

IntlChar::PROPERTY_POSIX_GRAPH

IntlChar::PROPERTY_POSIX_PRINT

IntlChar::PROPERTY_POSIX_XDIGIT

IntlChar::PROPERTY_CASED

IntlChar::PROPERTY_CASE_IGNORABLE

IntlChar::PROPERTY_CHANGES_WHEN_LOWERCASED

IntlChar::PROPERTY_CHANGES_WHEN_UPPERCASED

IntlChar::PROPERTY_CHANGES_WHEN_TITLECASED

IntlChar::PROPERTY_CHANGES_WHEN_CASEFOLDED

IntlChar::PROPERTY_CHANGES_WHEN_CASEMAPPED

IntlChar::PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED

IntlChar::PROPERTY_BINARY_LIMIT

IntlChar::PROPERTY_BIDI_CLASS

IntlChar::PROPERTY_INT_START

IntlChar::PROPERTY_BLOCK

IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS

IntlChar::PROPERTY_DECOMPOSITION_TYPE

IntlChar::PROPERTY_EAST_ASIAN_WIDTH

IntlChar::PROPERTY_GENERAL_CATEGORY

IntlChar::PROPERTY_JOINING_GROUP

IntlChar::PROPERTY_JOINING_TYPE

IntlChar::PROPERTY_LINE_BREAK

IntlChar::PROPERTY_NUMERIC_TYPE

IntlChar::PROPERTY_SCRIPT

IntlChar::PROPERTY_HANGUL_SYLLABLE_TYPE

IntlChar::PROPERTY_NFD_QUICK_CHECK

IntlChar::PROPERTY_NFKD_QUICK_CHECK

IntlChar::PROPERTY_NFC_QUICK_CHECK

IntlChar::PROPERTY_NFKC_QUICK_CHECK

IntlChar::PROPERTY_LEAD_CANONICAL_COMBINING_CLASS

IntlChar::PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS

IntlChar::PROPERTY_GRAPHEME_CLUSTER_BREAK

IntlChar::PROPERTY_SENTENCE_BREAK

IntlChar::PROPERTY_WORD_BREAK

IntlChar::PROPERTY_BIDI_PAIRED_BRACKET_TYPE

IntlChar::PROPERTY_INT_LIMIT

IntlChar::PROPERTY_GENERAL_CATEGORY_MASK

IntlChar::PROPERTY_MASK_START

IntlChar::PROPERTY_MASK_LIMIT

IntlChar::PROPERTY_NUMERIC_VALUE

IntlChar::PROPERTY_DOUBLE_START

IntlChar::PROPERTY_DOUBLE_LIMIT

IntlChar::PROPERTY_AGE

IntlChar::PROPERTY_STRING_START

IntlChar::PROPERTY_BIDI_MIRRORING_GLYPH

IntlChar::PROPERTY_CASE_FOLDING

IntlChar::PROPERTY_ISO_COMMENT

IntlChar::PROPERTY_LOWERCASE_MAPPING

IntlChar::PROPERTY_NAME

IntlChar::PROPERTY_SIMPLE_CASE_FOLDING

IntlChar::PROPERTY_SIMPLE_LOWERCASE_MAPPING

IntlChar::PROPERTY_SIMPLE_TITLECASE_MAPPING

IntlChar::PROPERTY_SIMPLE_UPPERCASE_MAPPING

IntlChar::PROPERTY_TITLECASE_MAPPING

IntlChar::PROPERTY_UNICODE_1_NAME

IntlChar::PROPERTY_UPPERCASE_MAPPING

IntlChar::PROPERTY_BIDI_PAIRED_BRACKET

IntlChar::PROPERTY_STRING_LIMIT

IntlChar::PROPERTY_SCRIPT_EXTENSIONS

IntlChar::PROPERTY_OTHER_PROPERTY_START

IntlChar::PROPERTY_OTHER_PROPERTY_LIMIT

IntlChar::PROPERTY_INVALID_CODE

IntlChar::CHAR_CATEGORY_UNASSIGNED

IntlChar::CHAR_CATEGORY_GENERAL_OTHER_TYPES

IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER

IntlChar::CHAR_CATEGORY_LOWERCASE_LETTER

IntlChar::CHAR_CATEGORY_TITLECASE_LETTER

IntlChar::CHAR_CATEGORY_MODIFIER_LETTER

IntlChar::CHAR_CATEGORY_OTHER_LETTER

IntlChar::CHAR_CATEGORY_NON_SPACING_MARK

IntlChar::CHAR_CATEGORY_ENCLOSING_MARK

IntlChar::CHAR_CATEGORY_COMBINING_SPACING_MARK

IntlChar::CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER

IntlChar::CHAR_CATEGORY_LETTER_NUMBER

IntlChar::CHAR_CATEGORY_OTHER_NUMBER

IntlChar::CHAR_CATEGORY_SPACE_SEPARATOR

IntlChar::CHAR_CATEGORY_LINE_SEPARATOR

IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR

IntlChar::CHAR_CATEGORY_CONTROL_CHAR

IntlChar::CHAR_CATEGORY_FORMAT_CHAR

IntlChar::CHAR_CATEGORY_PRIVATE_USE_CHAR

IntlChar::CHAR_CATEGORY_SURROGATE

IntlChar::CHAR_CATEGORY_DASH_PUNCTUATION

IntlChar::CHAR_CATEGORY_START_PUNCTUATION

IntlChar::CHAR_CATEGORY_END_PUNCTUATION

IntlChar::CHAR_CATEGORY_CONNECTOR_PUNCTUATION

IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION

IntlChar::CHAR_CATEGORY_MATH_SYMBOL

IntlChar::CHAR_CATEGORY_CURRENCY_SYMBOL

IntlChar::CHAR_CATEGORY_MODIFIER_SYMBOL

IntlChar::CHAR_CATEGORY_OTHER_SYMBOL

IntlChar::CHAR_CATEGORY_INITIAL_PUNCTUATION

IntlChar::CHAR_CATEGORY_FINAL_PUNCTUATION

IntlChar::CHAR_CATEGORY_CHAR_CATEGORY_COUNT

IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT

IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER

IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR

IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR

IntlChar::CHAR_DIRECTION_ARABIC_NUMBER

IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR

IntlChar::CHAR_DIRECTION_BLOCK_SEPARATOR

IntlChar::CHAR_DIRECTION_SEGMENT_SEPARATOR

IntlChar::CHAR_DIRECTION_WHITE_SPACE_NEUTRAL

IntlChar::CHAR_DIRECTION_OTHER_NEUTRAL

IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING

IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE

IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT

IntlChar::CHAR_DIRECTION_DIR_NON_SPACING_MARK

IntlChar::CHAR_DIRECTION_BOUNDARY_NEUTRAL

IntlChar::CHAR_DIRECTION_FIRST_STRONG_ISOLATE

IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE

IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE

IntlChar::CHAR_DIRECTION_CHAR_DIRECTION_COUNT

IntlChar::BLOCK_CODE_NO_BLOCK

IntlChar::BLOCK_CODE_BASIC_LATIN

IntlChar::BLOCK_CODE_LATIN_1_SUPPLEMENT

IntlChar::BLOCK_CODE_LATIN_EXTENDED_A

IntlChar::BLOCK_CODE_LATIN_EXTENDED_B

IntlChar::BLOCK_CODE_IPA_EXTENSIONS

IntlChar::BLOCK_CODE_SPACING_MODIFIER_LETTERS

IntlChar::BLOCK_CODE_COMBINING_DIACRITICAL_MARKS

IntlChar::BLOCK_CODE_GREEK

IntlChar::BLOCK_CODE_CYRILLIC

IntlChar::BLOCK_CODE_ARMENIAN

IntlChar::BLOCK_CODE_HEBREW

IntlChar::BLOCK_CODE_ARABIC

IntlChar::BLOCK_CODE_SYRIAC

IntlChar::BLOCK_CODE_THAANA

IntlChar::BLOCK_CODE_DEVANAGARI

IntlChar::BLOCK_CODE_BENGALI

IntlChar::BLOCK_CODE_GURMUKHI

IntlChar::BLOCK_CODE_GUJARATI

IntlChar::BLOCK_CODE_ORIYA

IntlChar::BLOCK_CODE_TAMIL

IntlChar::BLOCK_CODE_TELUGU

IntlChar::BLOCK_CODE_KANNADA

IntlChar::BLOCK_CODE_MALAYALAM

IntlChar::BLOCK_CODE_SINHALA

IntlChar::BLOCK_CODE_THAI

IntlChar::BLOCK_CODE_LAO

IntlChar::BLOCK_CODE_TIBETAN

IntlChar::BLOCK_CODE_MYANMAR

IntlChar::BLOCK_CODE_GEORGIAN

IntlChar::BLOCK_CODE_HANGUL_JAMO

IntlChar::BLOCK_CODE_ETHIOPIC

IntlChar::BLOCK_CODE_CHEROKEE

IntlChar::BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS

IntlChar::BLOCK_CODE_OGHAM

IntlChar::BLOCK_CODE_RUNIC

IntlChar::BLOCK_CODE_KHMER

IntlChar::BLOCK_CODE_MONGOLIAN

IntlChar::BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL

IntlChar::BLOCK_CODE_GREEK_EXTENDED

IntlChar::BLOCK_CODE_GENERAL_PUNCTUATION

IntlChar::BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS

IntlChar::BLOCK_CODE_CURRENCY_SYMBOLS

IntlChar::BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS

IntlChar::BLOCK_CODE_LETTERLIKE_SYMBOLS

IntlChar::BLOCK_CODE_NUMBER_FORMS

IntlChar::BLOCK_CODE_ARROWS

IntlChar::BLOCK_CODE_MATHEMATICAL_OPERATORS

IntlChar::BLOCK_CODE_MISCELLANEOUS_TECHNICAL

IntlChar::BLOCK_CODE_CONTROL_PICTURES

IntlChar::BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION

IntlChar::BLOCK_CODE_ENCLOSED_ALPHANUMERICS

IntlChar::BLOCK_CODE_BOX_DRAWING

IntlChar::BLOCK_CODE_BLOCK_ELEMENTS

IntlChar::BLOCK_CODE_GEOMETRIC_SHAPES

IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS

IntlChar::BLOCK_CODE_DINGBATS

IntlChar::BLOCK_CODE_BRAILLE_PATTERNS

IntlChar::BLOCK_CODE_CJK_RADICALS_SUPPLEMENT

IntlChar::BLOCK_CODE_KANGXI_RADICALS

IntlChar::BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS

IntlChar::BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION

IntlChar::BLOCK_CODE_HIRAGANA

IntlChar::BLOCK_CODE_KATAKANA

IntlChar::BLOCK_CODE_BOPOMOFO

IntlChar::BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO

IntlChar::BLOCK_CODE_KANBUN

IntlChar::BLOCK_CODE_BOPOMOFO_EXTENDED

IntlChar::BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS

IntlChar::BLOCK_CODE_CJK_COMPATIBILITY

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS

IntlChar::BLOCK_CODE_YI_SYLLABLES

IntlChar::BLOCK_CODE_YI_RADICALS

IntlChar::BLOCK_CODE_HANGUL_SYLLABLES

IntlChar::BLOCK_CODE_HIGH_SURROGATES

IntlChar::BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES

IntlChar::BLOCK_CODE_LOW_SURROGATES

IntlChar::BLOCK_CODE_PRIVATE_USE_AREA

IntlChar::BLOCK_CODE_PRIVATE_USE

IntlChar::BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS

IntlChar::BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS

IntlChar::BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A

IntlChar::BLOCK_CODE_COMBINING_HALF_MARKS

IntlChar::BLOCK_CODE_CJK_COMPATIBILITY_FORMS

IntlChar::BLOCK_CODE_SMALL_FORM_VARIANTS

IntlChar::BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B

IntlChar::BLOCK_CODE_SPECIALS

IntlChar::BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS

IntlChar::BLOCK_CODE_OLD_ITALIC

IntlChar::BLOCK_CODE_GOTHIC

IntlChar::BLOCK_CODE_DESERET

IntlChar::BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS

IntlChar::BLOCK_CODE_MUSICAL_SYMBOLS

IntlChar::BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B

IntlChar::BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT

IntlChar::BLOCK_CODE_TAGS

IntlChar::BLOCK_CODE_CYRILLIC_SUPPLEMENT

IntlChar::BLOCK_CODE_CYRILLIC_SUPPLEMENTARY

IntlChar::BLOCK_CODE_TAGALOG

IntlChar::BLOCK_CODE_HANUNOO

IntlChar::BLOCK_CODE_BUHID

IntlChar::BLOCK_CODE_TAGBANWA

IntlChar::BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A

IntlChar::BLOCK_CODE_SUPPLEMENTAL_ARROWS_A

IntlChar::BLOCK_CODE_SUPPLEMENTAL_ARROWS_B

IntlChar::BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B

IntlChar::BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS

IntlChar::BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS

IntlChar::BLOCK_CODE_VARIATION_SELECTORS

IntlChar::BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A

IntlChar::BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B

IntlChar::BLOCK_CODE_LIMBU

IntlChar::BLOCK_CODE_TAI_LE

IntlChar::BLOCK_CODE_KHMER_SYMBOLS

IntlChar::BLOCK_CODE_PHONETIC_EXTENSIONS

IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS

IntlChar::BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS

IntlChar::BLOCK_CODE_LINEAR_B_SYLLABARY

IntlChar::BLOCK_CODE_LINEAR_B_IDEOGRAMS

IntlChar::BLOCK_CODE_AEGEAN_NUMBERS

IntlChar::BLOCK_CODE_UGARITIC

IntlChar::BLOCK_CODE_SHAVIAN

IntlChar::BLOCK_CODE_OSMANYA

IntlChar::BLOCK_CODE_CYPRIOT_SYLLABARY

IntlChar::BLOCK_CODE_TAI_XUAN_JING_SYMBOLS

IntlChar::BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT

IntlChar::BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION

IntlChar::BLOCK_CODE_ANCIENT_GREEK_NUMBERS

IntlChar::BLOCK_CODE_ARABIC_SUPPLEMENT

IntlChar::BLOCK_CODE_BUGINESE

IntlChar::BLOCK_CODE_CJK_STROKES

IntlChar::BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT

IntlChar::BLOCK_CODE_COPTIC

IntlChar::BLOCK_CODE_ETHIOPIC_EXTENDED

IntlChar::BLOCK_CODE_ETHIOPIC_SUPPLEMENT

IntlChar::BLOCK_CODE_GEORGIAN_SUPPLEMENT

IntlChar::BLOCK_CODE_GLAGOLITIC

IntlChar::BLOCK_CODE_KHAROSHTHI

IntlChar::BLOCK_CODE_MODIFIER_TONE_LETTERS

IntlChar::BLOCK_CODE_NEW_TAI_LUE

IntlChar::BLOCK_CODE_OLD_PERSIAN

IntlChar::BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT

IntlChar::BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION

IntlChar::BLOCK_CODE_SYLOTI_NAGRI

IntlChar::BLOCK_CODE_TIFINAGH

IntlChar::BLOCK_CODE_VERTICAL_FORMS

IntlChar::BLOCK_CODE_NKO

IntlChar::BLOCK_CODE_BALINESE

IntlChar::BLOCK_CODE_LATIN_EXTENDED_C

IntlChar::BLOCK_CODE_LATIN_EXTENDED_D

IntlChar::BLOCK_CODE_PHAGS_PA

IntlChar::BLOCK_CODE_PHOENICIAN

IntlChar::BLOCK_CODE_CUNEIFORM

IntlChar::BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION

IntlChar::BLOCK_CODE_COUNTING_ROD_NUMERALS

IntlChar::BLOCK_CODE_SUNDANESE

IntlChar::BLOCK_CODE_LEPCHA

IntlChar::BLOCK_CODE_OL_CHIKI

IntlChar::BLOCK_CODE_CYRILLIC_EXTENDED_A

IntlChar::BLOCK_CODE_VAI

IntlChar::BLOCK_CODE_CYRILLIC_EXTENDED_B

IntlChar::BLOCK_CODE_SAURASHTRA

IntlChar::BLOCK_CODE_KAYAH_LI

IntlChar::BLOCK_CODE_REJANG

IntlChar::BLOCK_CODE_CHAM

IntlChar::BLOCK_CODE_ANCIENT_SYMBOLS

IntlChar::BLOCK_CODE_PHAISTOS_DISC

IntlChar::BLOCK_CODE_LYCIAN

IntlChar::BLOCK_CODE_CARIAN

IntlChar::BLOCK_CODE_LYDIAN

IntlChar::BLOCK_CODE_MAHJONG_TILES

IntlChar::BLOCK_CODE_DOMINO_TILES

IntlChar::BLOCK_CODE_SAMARITAN

IntlChar::BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED

IntlChar::BLOCK_CODE_TAI_THAM

IntlChar::BLOCK_CODE_VEDIC_EXTENSIONS

IntlChar::BLOCK_CODE_LISU

IntlChar::BLOCK_CODE_BAMUM

IntlChar::BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS

IntlChar::BLOCK_CODE_DEVANAGARI_EXTENDED

IntlChar::BLOCK_CODE_HANGUL_JAMO_EXTENDED_A

IntlChar::BLOCK_CODE_JAVANESE

IntlChar::BLOCK_CODE_MYANMAR_EXTENDED_A

IntlChar::BLOCK_CODE_TAI_VIET

IntlChar::BLOCK_CODE_MEETEI_MAYEK

IntlChar::BLOCK_CODE_HANGUL_JAMO_EXTENDED_B

IntlChar::BLOCK_CODE_IMPERIAL_ARAMAIC

IntlChar::BLOCK_CODE_OLD_SOUTH_ARABIAN

IntlChar::BLOCK_CODE_AVESTAN

IntlChar::BLOCK_CODE_INSCRIPTIONAL_PARTHIAN

IntlChar::BLOCK_CODE_INSCRIPTIONAL_PAHLAVI

IntlChar::BLOCK_CODE_OLD_TURKIC

IntlChar::BLOCK_CODE_RUMI_NUMERAL_SYMBOLS

IntlChar::BLOCK_CODE_KAITHI

IntlChar::BLOCK_CODE_EGYPTIAN_HIEROGLYPHS

IntlChar::BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT

IntlChar::BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C

IntlChar::BLOCK_CODE_MANDAIC

IntlChar::BLOCK_CODE_BATAK

IntlChar::BLOCK_CODE_ETHIOPIC_EXTENDED_A

IntlChar::BLOCK_CODE_BRAHMI

IntlChar::BLOCK_CODE_BAMUM_SUPPLEMENT

IntlChar::BLOCK_CODE_KANA_SUPPLEMENT

IntlChar::BLOCK_CODE_PLAYING_CARDS

IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS

IntlChar::BLOCK_CODE_EMOTICONS

IntlChar::BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS

IntlChar::BLOCK_CODE_ALCHEMICAL_SYMBOLS

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D

IntlChar::BLOCK_CODE_ARABIC_EXTENDED_A

IntlChar::BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS

IntlChar::BLOCK_CODE_CHAKMA

IntlChar::BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS

IntlChar::BLOCK_CODE_MEROITIC_CURSIVE

IntlChar::BLOCK_CODE_MEROITIC_HIEROGLYPHS

IntlChar::BLOCK_CODE_MIAO

IntlChar::BLOCK_CODE_SHARADA

IntlChar::BLOCK_CODE_SORA_SOMPENG

IntlChar::BLOCK_CODE_SUNDANESE_SUPPLEMENT

IntlChar::BLOCK_CODE_TAKRI

IntlChar::BLOCK_CODE_COUNT

IntlChar::BLOCK_CODE_INVALID_CODE

IntlChar::BPT_NONE

IntlChar::BPT_OPEN

IntlChar::BPT_CLOSE

IntlChar::BPT_COUNT

IntlChar::EA_NEUTRAL

IntlChar::EA_AMBIGUOUS

IntlChar::EA_HALFWIDTH

IntlChar::EA_FULLWIDTH

IntlChar::EA_NARROW

IntlChar::EA_WIDE

IntlChar::EA_COUNT

IntlChar::UNICODE_CHAR_NAME

IntlChar::UNICODE_10_CHAR_NAME

IntlChar::EXTENDED_CHAR_NAME

IntlChar::CHAR_NAME_ALIAS

IntlChar::CHAR_NAME_CHOICE_COUNT

IntlChar::SHORT_PROPERTY_NAME

IntlChar::LONG_PROPERTY_NAME

IntlChar::PROPERTY_NAME_CHOICE_COUNT

IntlChar::DT_NONE

IntlChar::DT_CANONICAL

IntlChar::DT_COMPAT

IntlChar::DT_CIRCLE

IntlChar::DT_FINAL

IntlChar::DT_FONT

IntlChar::DT_FRACTION

IntlChar::DT_INITIAL

IntlChar::DT_ISOLATED

IntlChar::DT_MEDIAL

IntlChar::DT_NARROW

IntlChar::DT_NOBREAK

IntlChar::DT_SMALL

IntlChar::DT_SQUARE

IntlChar::DT_SUB

IntlChar::DT_SUPER

IntlChar::DT_VERTICAL

IntlChar::DT_WIDE

IntlChar::DT_COUNT

IntlChar::JT_NON_JOINING

IntlChar::JT_JOIN_CAUSING

IntlChar::JT_DUAL_JOINING

IntlChar::JT_LEFT_JOINING

IntlChar::JT_RIGHT_JOINING

IntlChar::JT_TRANSPARENT

IntlChar::JT_COUNT

IntlChar::JG_NO_JOINING_GROUP

IntlChar::JG_AIN

IntlChar::JG_ALAPH

IntlChar::JG_ALEF

IntlChar::JG_BEH

IntlChar::JG_BETH

IntlChar::JG_DAL

IntlChar::JG_DALATH_RISH

IntlChar::JG_E

IntlChar::JG_FEH

IntlChar::JG_FINAL_SEMKATH

IntlChar::JG_GAF

IntlChar::JG_GAMAL

IntlChar::JG_HAH

IntlChar::JG_TEH_MARBUTA_GOAL

IntlChar::JG_HAMZA_ON_HEH_GOAL

IntlChar::JG_HE

IntlChar::JG_HEH

IntlChar::JG_HEH_GOAL

IntlChar::JG_HETH

IntlChar::JG_KAF

IntlChar::JG_KAPH

IntlChar::JG_KNOTTED_HEH

IntlChar::JG_LAM

IntlChar::JG_LAMADH

IntlChar::JG_MEEM

IntlChar::JG_MIM

IntlChar::JG_NOON

IntlChar::JG_NUN

IntlChar::JG_PE

IntlChar::JG_QAF

IntlChar::JG_QAPH

IntlChar::JG_REH

IntlChar::JG_REVERSED_PE

IntlChar::JG_SAD

IntlChar::JG_SADHE

IntlChar::JG_SEEN

IntlChar::JG_SEMKATH

IntlChar::JG_SHIN

IntlChar::JG_SWASH_KAF

IntlChar::JG_SYRIAC_WAW

IntlChar::JG_TAH

IntlChar::JG_TAW

IntlChar::JG_TEH_MARBUTA

IntlChar::JG_TETH

IntlChar::JG_WAW

IntlChar::JG_YEH

IntlChar::JG_YEH_BARREE

IntlChar::JG_YEH_WITH_TAIL

IntlChar::JG_YUDH

IntlChar::JG_YUDH_HE

IntlChar::JG_ZAIN

IntlChar::JG_FE

IntlChar::JG_KHAPH

IntlChar::JG_ZHAIN

IntlChar::JG_BURUSHASKI_YEH_BARREE

IntlChar::JG_FARSI_YEH

IntlChar::JG_NYA

IntlChar::JG_ROHINGYA_YEH

IntlChar::JG_COUNT

IntlChar::GCB_OTHER

IntlChar::GCB_CONTROL

IntlChar::GCB_CR

IntlChar::GCB_EXTEND

IntlChar::GCB_L

IntlChar::GCB_LF

IntlChar::GCB_LV

IntlChar::GCB_LVT

IntlChar::GCB_T

IntlChar::GCB_V

IntlChar::GCB_SPACING_MARK

IntlChar::GCB_PREPEND

IntlChar::GCB_REGIONAL_INDICATOR

IntlChar::GCB_COUNT

IntlChar::WB_OTHER

IntlChar::WB_ALETTER

IntlChar::WB_FORMAT

IntlChar::WB_KATAKANA

IntlChar::WB_MIDLETTER

IntlChar::WB_MIDNUM

IntlChar::WB_NUMERIC

IntlChar::WB_EXTENDNUMLET

IntlChar::WB_CR

IntlChar::WB_EXTEND

IntlChar::WB_LF

IntlChar::WB_MIDNUMLET

IntlChar::WB_NEWLINE

IntlChar::WB_REGIONAL_INDICATOR

IntlChar::WB_HEBREW_LETTER

IntlChar::WB_SINGLE_QUOTE

IntlChar::WB_DOUBLE_QUOTE

IntlChar::WB_COUNT

IntlChar::SB_OTHER

IntlChar::SB_ATERM

IntlChar::SB_CLOSE

IntlChar::SB_FORMAT

IntlChar::SB_LOWER

IntlChar::SB_NUMERIC

IntlChar::SB_OLETTER

IntlChar::SB_SEP

IntlChar::SB_SP

IntlChar::SB_STERM

IntlChar::SB_UPPER

IntlChar::SB_CR

IntlChar::SB_EXTEND

IntlChar::SB_LF

IntlChar::SB_SCONTINUE

IntlChar::SB_COUNT

IntlChar::LB_UNKNOWN

IntlChar::LB_AMBIGUOUS

IntlChar::LB_ALPHABETIC

IntlChar::LB_BREAK_BOTH

IntlChar::LB_BREAK_AFTER

IntlChar::LB_BREAK_BEFORE

IntlChar::LB_MANDATORY_BREAK

IntlChar::LB_CONTINGENT_BREAK

IntlChar::LB_CLOSE_PUNCTUATION

IntlChar::LB_COMBINING_MARK

IntlChar::LB_CARRIAGE_RETURN

IntlChar::LB_EXCLAMATION

IntlChar::LB_GLUE

IntlChar::LB_HYPHEN

IntlChar::LB_IDEOGRAPHIC

IntlChar::LB_INSEPARABLE

IntlChar::LB_INSEPERABLE

IntlChar::LB_INFIX_NUMERIC

IntlChar::LB_LINE_FEED

IntlChar::LB_NONSTARTER

IntlChar::LB_NUMERIC

IntlChar::LB_OPEN_PUNCTUATION

IntlChar::LB_POSTFIX_NUMERIC

IntlChar::LB_PREFIX_NUMERIC

IntlChar::LB_QUOTATION

IntlChar::LB_COMPLEX_CONTEXT

IntlChar::LB_SURROGATE

IntlChar::LB_SPACE

IntlChar::LB_BREAK_SYMBOLS

IntlChar::LB_ZWSPACE

IntlChar::LB_NEXT_LINE

IntlChar::LB_WORD_JOINER

IntlChar::LB_H2

IntlChar::LB_H3

IntlChar::LB_JL

IntlChar::LB_JT

IntlChar::LB_JV

IntlChar::LB_CLOSE_PARENTHESIS

IntlChar::LB_CONDITIONAL_JAPANESE_STARTER

IntlChar::LB_HEBREW_LETTER

IntlChar::LB_REGIONAL_INDICATOR

IntlChar::LB_COUNT

IntlChar::NT_NONE

IntlChar::NT_DECIMAL

IntlChar::NT_DIGIT

IntlChar::NT_NUMERIC

IntlChar::NT_COUNT

IntlChar::HST_NOT_APPLICABLE

IntlChar::HST_LEADING_JAMO

IntlChar::HST_VOWEL_JAMO

IntlChar::HST_TRAILING_JAMO

IntlChar::HST_LV_SYLLABLE

IntlChar::HST_LVT_SYLLABLE

IntlChar::HST_COUNT

IntlChar::FOLD_CASE_DEFAULT

IntlChar::FOLD_CASE_EXCLUDE_SPECIAL_I

Changelog

Versão | Descrição
7.0.6 | The IntlChar::NO_NUMERIC_VALUE constant was added.

Índice

  • IntlChar::charAge — Get the "age" of the code point
  • IntlChar::charDigitValue — Get the decimal digit value of a decimal digit character
  • IntlChar::charDirection — Get bidirectional category value for a code point
  • IntlChar::charFromName — Find Unicode character by name and return its code point value
  • IntlChar::charMirror — Get the "mirror-image" character for a code point
  • IntlChar::charName — Retrieve the name of a Unicode character
  • IntlChar::charType — Get the general category value for a code point
  • IntlChar::chr — Return Unicode character by code point value
  • IntlChar::digit — Get the decimal digit value of a code point for a given radix
  • IntlChar::enumCharNames — Enumerate all assigned Unicode characters within a range
  • IntlChar::enumCharTypes — Enumerate all code points with their Unicode general categories
  • IntlChar::foldCase — Perform case folding on a code point
  • IntlChar::forDigit — Get character representation for a given digit and radix
  • IntlChar::getBidiPairedBracket — Get the paired bracket character for a code point
  • IntlChar::getBlockCode — Get the Unicode allocation block containing a code point
  • IntlChar::getCombiningClass — Get the combining class of a code point
  • IntlChar::getFC_NFKC_Closure — Get the FC_NFKC_Closure property for a code point
  • IntlChar::getIntPropertyMaxValue — Get the max value for a Unicode property
  • IntlChar::getIntPropertyMinValue — Get the min value for a Unicode property
  • IntlChar::getIntPropertyValue — Get the value for a Unicode property for a code point
  • IntlChar::getNumericValue — Get the numeric value for a Unicode code point
  • IntlChar::getPropertyEnum — Get the property constant value for a given property name
  • IntlChar::getPropertyName — Get the Unicode name for a property
  • IntlChar::getPropertyValueEnum — Get the property value for a given value name
  • IntlChar::getPropertyValueName — Get the Unicode name for a property value
  • IntlChar::getUnicodeVersion — Get the Unicode version
  • IntlChar::hasBinaryProperty — Check a binary Unicode property for a code point
  • IntlChar::isalnum — Check if code point is an alphanumeric character
  • IntlChar::isalpha — Check if code point is a letter character
  • IntlChar::isbase — Check if code point is a base character
  • IntlChar::isblank — Check if code point is a "blank" or "horizontal space" character
  • IntlChar::iscntrl — Check if code point is a control character
  • IntlChar::isdefined — Check whether the code point is defined
  • IntlChar::isdigit — Check if code point is a digit character
  • IntlChar::isgraph — Check if code point is a graphic character
  • IntlChar::isIDIgnorable — Check if code point is an ignorable character
  • IntlChar::isIDPart — Check if code point is permissible in an identifier
  • IntlChar::isIDStart — Check if code point is permissible as the first character in an identifier
  • IntlChar::isISOControl — Check if code point is an ISO control code
  • IntlChar::isJavaIDPart — Check if code point is permissible in a Java identifier
  • IntlChar::isJavaIDStart — Check if code point is permissible as the first character in a Java identifier
  • IntlChar::isJavaSpaceChar — Check if code point is a space character according to Java
  • IntlChar::islower — Check if code point is a lowercase letter
  • IntlChar::isMirrored — Check if code point has the Bidi_Mirrored property
  • IntlChar::isprint — Check if code point is a printable character
  • IntlChar::ispunct — Check if code point is punctuation character
  • IntlChar::isspace — Check if code point is a space character
  • IntlChar::istitle — Check if code point is a titlecase letter
  • IntlChar::isUAlphabetic — Check if code point has the Alphabetic Unicode property
  • IntlChar::isULowercase — Check if code point has the Lowercase Unicode property
  • IntlChar::isupper — Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::isUUppercase — Check if code point has the Uppercase Unicode property
  • IntlChar::isUWhiteSpace — Check if code point has the White_Space Unicode property
  • IntlChar::isWhitespace — Check if code point is a whitespace character according to ICU
  • IntlChar::isxdigit — Check if code point is a hexadecimal digit
  • IntlChar::ord — Return Unicode code point value of character
  • IntlChar::tolower — Make Unicode character lowercase
  • IntlChar::totitle — Make Unicode character titlecase
  • IntlChar::toupper — Make Unicode character uppercase


Get the "age" of the code point

  • « IntlChar
  • IntlChar::charDigitValue »
  • PHP Manual
  • IntlChar
  • Get the "age" of the code point

IntlChar::charAge

(PHP 7)

IntlChar::charAge — Get the "age" of the code point

Descrição

public static IntlChar::charAge ( mixed $codepoint ) : array

Gets the "age" of the code point.

The "age" is the Unicode version when the code point was first designated (as a non-character or for Private Use) or assigned a character. This can be useful to avoid emitting code points to receiving processes that do not accept newer characters.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

The Unicode version number, as an array. For example, version 1.3.31.2 would be represented as [1, 3, 31, 2].

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::charage("\u{2603}"));
var_dump(IntlChar::charage("\u{1F576}"));
?>

O exemplo acima irá imprimir:

array(4) {
  [0]=>
  int(1)
  [1]=>
  int(1)
  [2]=>
  int(0)
  [3]=>
  int(0)
}
array(4) {
  [0]=>
  int(7)
  [1]=>
  int(0)
  [2]=>
  int(0)
  [3]=>
  int(0)
}

Veja Também

  • IntlChar::getUnicodeVersion() - Get the Unicode version
  • IntlChar::getIntPropertyMinValue() - Get the min value for a Unicode property
  • IntlChar::getIntPropertyValue() - Get the value for a Unicode property for a code point


Get the decimal digit value of a decimal digit character

  • « IntlChar::charAge
  • IntlChar::charDirection »
  • PHP Manual
  • IntlChar
  • Get the decimal digit value of a decimal digit character

IntlChar::charDigitValue

(PHP 7)

IntlChar::charDigitValue — Get the decimal digit value of a decimal digit character

Descrição

public static IntlChar::charDigitValue ( mixed $codepoint ) : int

Returns the decimal digit value of a decimal digit character.

Such characters have the general category "Nd" (decimal digit numbers) and a Numeric_Type of Decimal.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

The decimal digit value of codepoint, or -1 if it is not a decimal digit character.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::charDigitValue("1"));
var_dump(IntlChar::charDigitValue("\u{0662}"));
var_dump(IntlChar::charDigitValue("\u{0E53}"));
?>

O exemplo acima irá imprimir:

int(1)
int(2)
int(3)

Veja Também

  • IntlChar::getNumericValue() - Get the numeric value for a Unicode code point


Get bidirectional category value for a code point

  • « IntlChar::charDigitValue
  • IntlChar::charFromName »
  • PHP Manual
  • IntlChar
  • Get bidirectional category value for a code point

IntlChar::charDirection

(PHP 7)

IntlChar::charDirection — Get bidirectional category value for a code point

Descrição

public static IntlChar::charDirection ( mixed $codepoint ) : int

Returns the bidirectional category value for the code point, which is used in the » Unicode bidirectional algorithm (UAX #9).

Nota:

Some unassigned code points have bidi values of R or AL because they are in blocks that are reserved for Right-To-Left scripts.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

The bidirectional category value; one of the following constants:

  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT
  • IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER
  • IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR
  • IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR
  • IntlChar::CHAR_DIRECTION_ARABIC_NUMBER
  • IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR
  • IntlChar::CHAR_DIRECTION_BLOCK_SEPARATOR
  • IntlChar::CHAR_DIRECTION_SEGMENT_SEPARATOR
  • IntlChar::CHAR_DIRECTION_WHITE_SPACE_NEUTRAL
  • IntlChar::CHAR_DIRECTION_OTHER_NEUTRAL
  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING
  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE
  • IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT
  • IntlChar::CHAR_DIRECTION_DIR_NON_SPACING_MARK
  • IntlChar::CHAR_DIRECTION_BOUNDARY_NEUTRAL
  • IntlChar::CHAR_DIRECTION_FIRST_STRONG_ISOLATE
  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE
  • IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE
  • IntlChar::CHAR_DIRECTION_CHAR_DIRECTION_COUNT

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::charDirection("A") === IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT);
var_dump(IntlChar::charDirection("\u{05E9}") === IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT);
var_dump(IntlChar::charDirection("+") === IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR);
var_dump(IntlChar::charDirection(".") === IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR);
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(true)
bool(true)


Find Unicode character by name and return its code point value

  • « IntlChar::charDirection
  • IntlChar::charMirror »
  • PHP Manual
  • IntlChar
  • Find Unicode character by name and return its code point value

IntlChar::charFromName

(PHP 7)

IntlChar::charFromName — Find Unicode character by name and return its code point value

Descrição

public static IntlChar::charFromName ( string $characterName , int $nameChoice = IntlChar::UNICODE_CHAR_NAME ) : int

Finds a Unicode character by its name and returns its code point value.

The name is matched exactly and completely. If the name does not correspond to a code point, null is returned.

A Unicode 1.0 name is matched only if it differs from the modern name. Unicode names are all uppercase. Extended names are lowercase followed by an uppercase hexadecimal number, and within angle brackets.

Parâmetros

characterName

Full name of the Unicode character.

nameChoice

Which set of names to use for the lookup. Can be any of these constants:

  • IntlChar::UNICODE_CHAR_NAME (default)
  • IntlChar::UNICODE_10_CHAR_NAME
  • IntlChar::EXTENDED_CHAR_NAME
  • IntlChar::CHAR_NAME_ALIAS
  • IntlChar::CHAR_NAME_CHOICE_COUNT

Valor Retornado

The Unicode value of the code point with the given name (as an int), or null if there is no such code point.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::charFromName("LATIN CAPITAL LETTER A"));
var_dump(IntlChar::charFromName("SNOWMAN"));
var_dump(IntlChar::charFromName("RECYCLING SYMBOL FOR TYPE-1 PLASTICS"));
var_dump(IntlChar::charFromName("A RANDOM STRING WHICH DOESN'T CORRESPOND TO ANY UNICODE CHARACTER"));
?>

O exemplo acima irá imprimir:

int(65)
int(9731)
int(9843)
bool(false)

Veja Também

  • IntlChar::charName() - Retrieve the name of a Unicode character
  • IntlChar::enumCharNames() - Enumerate all assigned Unicode characters within a range


Get the "mirror-image" character for a code point

  • « IntlChar::charFromName
  • IntlChar::charName »
  • PHP Manual
  • IntlChar
  • Get the "mirror-image" character for a code point

IntlChar::charMirror

(PHP 7)

IntlChar::charMirror — Get the "mirror-image" character for a code point

Descrição

public static IntlChar::charMirror ( mixed $codepoint ) : mixed

Maps the specified character to a "mirror-image" character.

For characters with the Bidi_Mirrored property, implementations sometimes need a "poor man's" mapping to another Unicode character (code point) such that the default glyph may serve as the mirror-image of the default glyph of the specified character. This is useful for text conversion to and from codepages with visual order, and for displays without glyph selection capabilities.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns another Unicode code point that may serve as a mirror-image substitute, or codepoint itself if there is no such mapping or codepoint does not have the Bidi_Mirrored property.

O tipo retornado será integer a não ser que o codepoint seja passado como uma string UTF-8, e nesse caso uma string será retornada.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::charMirror("A"));
var_dump(IntlChar::charMirror("<"));
var_dump(IntlChar::charMirror("("));
?>

O exemplo acima irá imprimir:

string(1) "A"
string(1) ">"
string(2) ")"

Veja Também

  • IntlChar::isMirrored() - Check if code point has the Bidi_Mirrored property
  • IntlChar::PROPERTY_BIDI_MIRRORED


Retrieve the name of a Unicode character

  • « IntlChar::charMirror
  • IntlChar::charType »
  • PHP Manual
  • IntlChar
  • Retrieve the name of a Unicode character

IntlChar::charName

(PHP 7)

IntlChar::charName — Retrieve the name of a Unicode character

Descrição

public static IntlChar::charName ( mixed $codepoint , int $nameChoice = IntlChar::UNICODE_CHAR_NAME ) : string

Retrieves the name of a Unicode character.

Depending on nameChoice, the resulting character name is the "modern" name or the name that was defined in Unicode version 1.0. The name contains only "invariant" characters like A-Z, 0-9, space, and '-'. Unicode 1.0 names are only retrieved if they are different from the modern names and if ICU contains the data for them.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

nameChoice

Which set of names to use for the lookup. Can be any of these constants:

  • IntlChar::UNICODE_CHAR_NAME (default)
  • IntlChar::UNICODE_10_CHAR_NAME
  • IntlChar::EXTENDED_CHAR_NAME
  • IntlChar::CHAR_NAME_ALIAS
  • IntlChar::CHAR_NAME_CHOICE_COUNT

Valor Retornado

The corresponding name, or an empty string if there is no name for this character, or null if there is no such code point.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::charName("."));
var_dump(IntlChar::charName(".", IntlChar::UNICODE_CHAR_NAME));
var_dump(IntlChar::charName("\u{2603}"));
var_dump(IntlChar::charName("\u{0000}"));
?>

O exemplo acima irá imprimir:

string(9) "FULL STOP"
string(9) "FULL STOP"
string(7) "SNOWMAN"
string(0) ""

Veja Também

  • IntlChar::charFromName() - Find Unicode character by name and return its code point value
  • IntlChar::enumCharNames() - Enumerate all assigned Unicode characters within a range


Get the general category value for a code point

  • « IntlChar::charName
  • IntlChar::chr »
  • PHP Manual
  • IntlChar
  • Get the general category value for a code point

IntlChar::charType

(PHP 7)

IntlChar::charType — Get the general category value for a code point

Descrição

public static IntlChar::charType ( mixed $codepoint ) : int

Returns the general category value for the code point.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns the general category type, which may be one of the following constants:

  • IntlChar::CHAR_CATEGORY_UNASSIGNED
  • IntlChar::CHAR_CATEGORY_GENERAL_OTHER_TYPES
  • IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER
  • IntlChar::CHAR_CATEGORY_LOWERCASE_LETTER
  • IntlChar::CHAR_CATEGORY_TITLECASE_LETTER
  • IntlChar::CHAR_CATEGORY_MODIFIER_LETTER
  • IntlChar::CHAR_CATEGORY_OTHER_LETTER
  • IntlChar::CHAR_CATEGORY_NON_SPACING_MARK
  • IntlChar::CHAR_CATEGORY_ENCLOSING_MARK
  • IntlChar::CHAR_CATEGORY_COMBINING_SPACING_MARK
  • IntlChar::CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER
  • IntlChar::CHAR_CATEGORY_LETTER_NUMBER
  • IntlChar::CHAR_CATEGORY_OTHER_NUMBER
  • IntlChar::CHAR_CATEGORY_SPACE_SEPARATOR
  • IntlChar::CHAR_CATEGORY_LINE_SEPARATOR
  • IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR
  • IntlChar::CHAR_CATEGORY_CONTROL_CHAR
  • IntlChar::CHAR_CATEGORY_FORMAT_CHAR
  • IntlChar::CHAR_CATEGORY_PRIVATE_USE_CHAR
  • IntlChar::CHAR_CATEGORY_SURROGATE
  • IntlChar::CHAR_CATEGORY_DASH_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_START_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_END_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_CONNECTOR_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_MATH_SYMBOL
  • IntlChar::CHAR_CATEGORY_CURRENCY_SYMBOL
  • IntlChar::CHAR_CATEGORY_MODIFIER_SYMBOL
  • IntlChar::CHAR_CATEGORY_OTHER_SYMBOL
  • IntlChar::CHAR_CATEGORY_INITIAL_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_FINAL_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_CHAR_CATEGORY_COUNT

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::charType("A") === IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER);
var_dump(IntlChar::charType(".") === IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION);
var_dump(IntlChar::charType("\t") === IntlChar::CHAR_CATEGORY_CONTROL_CHAR);
var_dump(IntlChar::charType("\u{2603}") === IntlChar::CHAR_CATEGORY_OTHER_SYMBOL);
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(true)
bool(true)


Return Unicode character by code point value

  • « IntlChar::charType
  • IntlChar::digit »
  • PHP Manual
  • IntlChar
  • Return Unicode character by code point value

IntlChar::chr

(PHP 7)

IntlChar::chr — Return Unicode character by code point value

Descrição

public static IntlChar::chr ( mixed $codepoint ) : string

Returns a string containing the character specified by the Unicode code point value.

This function compliments IntlChar::ord().

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

A string containing the single character specified by the Unicode code point value.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
$values = ["A", 63, 123, 9731];
foreach ($values as $value) {
    var_dump(IntlChar::chr($value));
}
?>

O exemplo acima irá imprimir:

string(1) "A"
string(1) "?"
string(1) "{"
string(3) "?"

Veja Também

  • IntlChar::ord() - Return Unicode code point value of character
  • chr() - Retorna um caracter específico


Get the decimal digit value of a code point for a given radix

  • « IntlChar::chr
  • IntlChar::enumCharNames »
  • PHP Manual
  • IntlChar
  • Get the decimal digit value of a code point for a given radix

IntlChar::digit

(PHP 7)

IntlChar::digit — Get the decimal digit value of a code point for a given radix

Descrição

public static IntlChar::digit ( string $codepoint , int $radix = 10 ) : int

Returns the decimal digit value of the code point in the specified radix.

If the radix is not in the range 2<=radix<=36 or if the value of codepoint is not a valid digit in the specified radix, false is returned. A character is a valid digit if at least one of the following is true:

  • The character has a decimal digit value. Such characters have the general category "Nd" (decimal digit numbers) and a Numeric_Type of Decimal. In this case the value is the character's decimal digit value.
  • The character is one of the uppercase Latin letters 'A' through 'Z'. In this case the value is c-'A'+10.
  • The character is one of the lowercase Latin letters 'a' through 'z'. In this case the value is ch-'a'+10.
  • Latin letters from both the ASCII range (0061..007A, 0041..005A) as well as from the Fullwidth ASCII range (FF41..FF5A, FF21..FF3A) are recognized.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

radix

The radix (defaults to 10).

Valor Retornado

Returns the numeric value represented by the character in the specified radix, or false if there is no value or if the value exceeds the radix.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::digit("0"));
var_dump(IntlChar::digit("3"));
var_dump(IntlChar::digit("A"));
var_dump(IntlChar::digit("A", 16));
?>

O exemplo acima irá imprimir:

int(0)
int(3)
bool(false)
int(10)

Veja Também

  • IntlChar::forDigit() - Get character representation for a given digit and radix
  • IntlChar::charDigitValue() - Get the decimal digit value of a decimal digit character
  • IntlChar::isdigit() - Check if code point is a digit character
  • IntlChar::PROPERTY_NUMERIC_TYPE


Enumerate all assigned Unicode characters within a range

  • « IntlChar::digit
  • IntlChar::enumCharTypes »
  • PHP Manual
  • IntlChar
  • Enumerate all assigned Unicode characters within a range

IntlChar::enumCharNames

(PHP 7)

IntlChar::enumCharNames — Enumerate all assigned Unicode characters within a range

Descrição

public static IntlChar::enumCharNames ( mixed $start , mixed $limit , callable $callback , int $nameChoice = IntlChar::UNICODE_CHAR_NAME ) : void

Enumerate all assigned Unicode characters between the start and limit code points (start inclusive, limit exclusive) and call a function for each, passing the code point value and the character name.

For Unicode 1.0 names, only those are enumerated that differ from the modern names.

Parâmetros

start

The first code point in the enumeration range.

limit

One more than the last code point in the enumeration range (the first one after the range).

callback

The function that is to be called for each character name. The following three arguments will be passed into it:

  • int $codepoint - The numeric code point value
  • int $nameChoice - The same value as the nameChoice parameter below
  • string $name - The name of the character

nameChoice

Selector for which kind of names to enumerate. Can be any of these constants:

  • IntlChar::UNICODE_CHAR_NAME (default)
  • IntlChar::UNICODE_10_CHAR_NAME
  • IntlChar::EXTENDED_CHAR_NAME
  • IntlChar::CHAR_NAME_ALIAS
  • IntlChar::CHAR_NAME_CHOICE_COUNT

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Enumerating over a sample range of code points

<?php
IntlChar::enumCharNames(0x2600, 0x2610, function($codepoint, $nameChoice, $name) {
    printf("U+%04x %s\n", $codepoint, $name);
});
?>

O exemplo acima irá imprimir:

U+2600 BLACK SUN WITH RAYS
U+2601 CLOUD
U+2602 UMBRELLA
U+2603 SNOWMAN
U+2604 COMET
U+2605 BLACK STAR
U+2606 WHITE STAR
U+2607 LIGHTNING
U+2608 THUNDERSTORM
U+2609 SUN
U+260a ASCENDING NODE
U+260b DESCENDING NODE
U+260c CONJUNCTION
U+260d OPPOSITION
U+260e BLACK TELEPHONE
U+260f WHITE TELEPHONE

Veja Também

  • IntlChar::charName() - Retrieve the name of a Unicode character
  • IntlChar::charFromName() - Find Unicode character by name and return its code point value


Enumerate all code points with their Unicode general categories

  • « IntlChar::enumCharNames
  • IntlChar::foldCase »
  • PHP Manual
  • IntlChar
  • Enumerate all code points with their Unicode general categories

IntlChar::enumCharTypes

(PHP 7)

IntlChar::enumCharTypes — Enumerate all code points with their Unicode general categories

Descrição

public static IntlChar::enumCharTypes ( callable $callback ) : void

Enumerates efficiently all code points with their Unicode general categories. This is useful for building data structures, for enumerating all assigned code points, etc.

For each contiguous range of code points with a given general category ("character type"), the callback function is called. Adjacent ranges have different types. The Unicode Standard guarantees that the numeric value of the type is 0..31.

Parâmetros

callback

The function that is to be called for each contiguous range of code points with the same general category. The following three arguments will be passed into it:

  • int $start - The starting code point of the range
  • int $end - The ending code point of the range
  • int $name - The category type (one of the IntlChar::CHAR_CATEGORY_* constants)

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Enumerating over a sample range of code points

<?php
IntlChar::enumCharTypes(function($start, $end, $type) {
    printf("U+%04x through U+%04x are in category %d\n", $start, $end, $type);
});
?>

O exemplo acima irá imprimir:

U+0000 through U+0020 are in category 15
U+0020 through U+0021 are in category 12
U+0021 through U+0024 are in category 23
U+0024 through U+0025 are in category 25
U+0025 through U+0028 are in category 23
U+0028 through U+0029 are in category 20
U+0029 through U+002a are in category 21
U+002a through U+002b are in category 23
U+002b through U+002c are in category 24
U+002c through U+002d are in category 23
U+002d through U+002e are in category 19
U+002e through U+0030 are in category 23
U+0030 through U+003a are in category 9
...


Perform case folding on a code point

  • « IntlChar::enumCharTypes
  • IntlChar::forDigit »
  • PHP Manual
  • IntlChar
  • Perform case folding on a code point

IntlChar::foldCase

(PHP 7)

IntlChar::foldCase — Perform case folding on a code point

Descrição

public static IntlChar::foldCase ( mixed $codepoint , int $options = IntlChar::FOLD_CASE_DEFAULT ) : mixed

The given character is mapped to its case folding equivalent; if the character has no case folding equivalent, the character itself is returned.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

options

Either IntlChar::FOLD_CASE_DEFAULT (default) or IntlChar::FOLD_CASE_EXCLUDE_SPECIAL_I.

Valor Retornado

Returns the Simple_Case_Folding of the code point, if any; otherwise the code point itself.


Get character representation for a given digit and radix

  • « IntlChar::foldCase
  • IntlChar::getBidiPairedBracket »
  • PHP Manual
  • IntlChar
  • Get character representation for a given digit and radix

IntlChar::forDigit

(PHP 7)

IntlChar::forDigit — Get character representation for a given digit and radix

Descrição

public static IntlChar::forDigit ( int $digit , int $radix = 10 ) : int

Determines the character representation for a specific digit in the specified radix.

If the value of radix is not a valid radix, or the value of digit is not a valid digit in the specified radix, the null character (U+0000) is returned.

The radix argument is valid if it is greater than or equal to 2 and less than or equal to 36. The digit argument is valid if 0 <= digit < radix.

If the digit is less than 10, then '0' + digit is returned. Otherwise, the value 'a' + digit - 10 is returned.

Parâmetros

digit

The number to convert to a character.

radix

The radix (defaults to 10).

Valor Retornado

The character representation (as a string) of the specified digit in the specified radix.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::forDigit(0));
var_dump(IntlChar::forDigit(3));
var_dump(IntlChar::forDigit(3, 10));
var_dump(IntlChar::forDigit(10));
var_dump(IntlChar::forDigit(10, 16));
?>

O exemplo acima irá imprimir:

int(48)
int(51)
int(51)
int(0)
int(97)

Veja Também

  • IntlChar::digit() - Get the decimal digit value of a code point for a given radix
  • IntlChar::charDigitValue() - Get the decimal digit value of a decimal digit character
  • IntlChar::isdigit() - Check if code point is a digit character
  • IntlChar::PROPERTY_NUMERIC_TYPE


Get the paired bracket character for a code point

  • « IntlChar::forDigit
  • IntlChar::getBlockCode »
  • PHP Manual
  • IntlChar
  • Get the paired bracket character for a code point

IntlChar::getBidiPairedBracket

(PHP 7)

IntlChar::getBidiPairedBracket — Get the paired bracket character for a code point

Descrição

public static IntlChar::getBidiPairedBracket ( mixed $codepoint ) : mixed

Maps the specified character to its paired bracket character.

For Bidi_Paired_Bracket_Type!=None, this is the same as IntlChar::charMirror(). Otherwise codepoint itself is returned.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns the paired bracket code point, or codepoint itself if there is no such mapping.

O tipo retornado será integer a não ser que o codepoint seja passado como uma string UTF-8, e nesse caso uma string será retornada.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::getBidiPairedBracket(91));
var_dump(IntlChar::getBidiPairedBracket('['));
?>

O exemplo acima irá imprimir:

int(93)
string(1) "]"

Veja Também

  • IntlChar::charMirror() - Get the "mirror-image" character for a code point
  • IntlChar::PROPERTY_BIDI_PAIRED_BRACKET
  • IntlChar::PROPERTY_BIDI_PAIRED_BRACKET_TYPE


Get the Unicode allocation block containing a code point

  • « IntlChar::getBidiPairedBracket
  • IntlChar::getCombiningClass »
  • PHP Manual
  • IntlChar
  • Get the Unicode allocation block containing a code point

IntlChar::getBlockCode

(PHP 7)

IntlChar::getBlockCode — Get the Unicode allocation block containing a code point

Descrição

public static IntlChar::getBlockCode ( mixed $codepoint ) : int

Returns the Unicode allocation block that contains the character.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns the block value for codepoint. See the IntlChar::BLOCK_CODE_* constants for possible return values.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::getBlockCode("A") === IntlChar::BLOCK_CODE_BASIC_LATIN);
var_dump(IntlChar::getBlockCode("F") === IntlChar::BLOCK_CODE_GREEK);
var_dump(IntlChar::getBlockCode("\u{2603}") === IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS);
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(true)


Get the combining class of a code point

  • « IntlChar::getBlockCode
  • IntlChar::getFC_NFKC_Closure »
  • PHP Manual
  • IntlChar
  • Get the combining class of a code point

IntlChar::getCombiningClass

(PHP 7)

IntlChar::getCombiningClass — Get the combining class of a code point

Descrição

public static IntlChar::getCombiningClass ( mixed $codepoint ) : int

Returns the combining class of the code point.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns the combining class of the character.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::getCombiningClass("A"));
var_dump(IntlChar::getCombiningClass("\u{0334}"));
var_dump(IntlChar::getCombiningClass("\u{0358}"));
?>

O exemplo acima irá imprimir:

int(0)
int(1)
int(232)


Get the FC_NFKC_Closure property for a code point

  • « IntlChar::getCombiningClass
  • IntlChar::getIntPropertyMaxValue »
  • PHP Manual
  • IntlChar
  • Get the FC_NFKC_Closure property for a code point

IntlChar::getFC_NFKC_Closure

(PHP 7)

IntlChar::getFC_NFKC_Closure — Get the FC_NFKC_Closure property for a code point

Descrição

public static IntlChar::getFC_NFKC_Closure ( mixed $codepoint ) : string

Gets the FC_NFKC_Closure property string for a character.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns the FC_NFKC_Closure property string for the codepoint, or an empty string if there is none.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::getFC_NFKC_Closure("\u{2121}"));
var_dump(IntlChar::getFC_NFKC_Closure("\u{1D2D}"));
?>

O exemplo acima irá imprimir:

string(3) "tel"
string(2) "æ"


Get the max value for a Unicode property

  • « IntlChar::getFC_NFKC_Closure
  • IntlChar::getIntPropertyMinValue »
  • PHP Manual
  • IntlChar
  • Get the max value for a Unicode property

IntlChar::getIntPropertyMaxValue

(PHP 7)

IntlChar::getIntPropertyMaxValue — Get the max value for a Unicode property

Descrição

public static IntlChar::getIntPropertyMaxValue ( int $property ) : int

Gets the maximum value for an enumerated/integer/binary Unicode property.

Parâmetros

property

A propriedade Unicode a inspecionar (constantes IntlChar::PROPERTY_*).

Valor Retornado

The maximum value returned by IntlChar::getIntPropertyValue() for a Unicode property. <=0 if the property selector is out of range.

Exemplos

Exemplo #1 Testando propriedades diferentes

<?php
var_dump(IntlChar::getIntPropertyMaxValue(IntlChar::PROPERTY_BIDI_CLASS));
var_dump(IntlChar::getIntPropertyMaxValue(IntlChar::PROPERTY_SCRIPT));
var_dump(IntlChar::getIntPropertyMaxValue(IntlChar::PROPERTY_IDEOGRAPHIC));
var_dump(IntlChar::getIntPropertyMaxValue(999999999)); // Some made-up value
?>

O exemplo acima irá imprimir:

int(22)
int(166)
int(1)
int(-1)

Veja Também

  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::getIntPropertyMinValue() - Get the min value for a Unicode property
  • IntlChar::getIntPropertyValue() - Get the value for a Unicode property for a code point
  • IntlChar::getUnicodeVersion() - Get the Unicode version


Get the min value for a Unicode property

  • « IntlChar::getIntPropertyMaxValue
  • IntlChar::getIntPropertyValue »
  • PHP Manual
  • IntlChar
  • Get the min value for a Unicode property

IntlChar::getIntPropertyMinValue

(PHP 7)

IntlChar::getIntPropertyMinValue — Get the min value for a Unicode property

Descrição

public static IntlChar::getIntPropertyMinValue ( int $property ) : int

Gets the minimum value for an enumerated/integer/binary Unicode property.

Parâmetros

property

A propriedade Unicode a inspecionar (constantes IntlChar::PROPERTY_*).

Valor Retornado

The minimum value returned by IntlChar::getIntPropertyValue() for a Unicode property. 0 if the property selector is out of range.

Exemplos

Exemplo #1 Testando propriedades diferentes

<?php
var_dump(IntlChar::getIntPropertyMinValue(IntlChar::PROPERTY_BIDI_CLASS));
var_dump(IntlChar::getIntPropertyMinValue(IntlChar::PROPERTY_SCRIPT));
var_dump(IntlChar::getIntPropertyMinValue(IntlChar::PROPERTY_IDEOGRAPHIC));
var_dump(IntlChar::getIntPropertyMinValue(999999999)); // Some made-up value
?>

O exemplo acima irá imprimir:

int(0)
int(0)
int(0)
int(0)

Veja Também

  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::getIntPropertyMaxValue() - Get the max value for a Unicode property
  • IntlChar::getIntPropertyValue() - Get the value for a Unicode property for a code point
  • IntlChar::getUnicodeVersion() - Get the Unicode version


Get the value for a Unicode property for a code point

  • « IntlChar::getIntPropertyMinValue
  • IntlChar::getNumericValue »
  • PHP Manual
  • IntlChar
  • Get the value for a Unicode property for a code point

IntlChar::getIntPropertyValue

(PHP 7)

IntlChar::getIntPropertyValue — Get the value for a Unicode property for a code point

Descrição

public static IntlChar::getIntPropertyValue ( mixed $codepoint , int $property ) : int

Gets the property value for an enumerated or integer Unicode property for a code point. Also returns binary and mask property values.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

property

A propriedade Unicode a inspecionar (constantes IntlChar::PROPERTY_*).

Valor Retornado

Returns the numeric value that is directly the property value or, for enumerated properties, corresponds to the numeric value of the enumerated constant of the respective property value enumeration type.

Returns 0 or 1 (for false/true) for binary Unicode properties.

Returns a bit-mask for mask properties.

Returns 0 if property is out of bounds or if the Unicode version does not have data for the property at all, or not for this code point.

Exemplos

Exemplo #1 Testando propriedades diferentes

<?php
var_dump(IntlChar::getIntPropertyValue("A", IntlChar::PROPERTY_ALPHABETIC) === 1);
var_dump(IntlChar::getIntPropertyValue("[", IntlChar::PROPERTY_BIDI_MIRRORED) === 1);
var_dump(IntlChar::getIntPropertyValue("F", IntlChar::PROPERTY_BLOCK) === IntlChar::BLOCK_CODE_GREEK);
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(true)

Veja Também

  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::getIntPropertyMinValue() - Get the min value for a Unicode property
  • IntlChar::getIntPropertyMaxValue() - Get the max value for a Unicode property
  • IntlChar::getUnicodeVersion() - Get the Unicode version


Get the numeric value for a Unicode code point

  • « IntlChar::getIntPropertyValue
  • IntlChar::getPropertyEnum »
  • PHP Manual
  • IntlChar
  • Get the numeric value for a Unicode code point

IntlChar::getNumericValue

(PHP 7)

IntlChar::getNumericValue — Get the numeric value for a Unicode code point

Descrição

public static IntlChar::getNumericValue ( mixed $codepoint ) : float

Gets the numeric value for a Unicode code point as defined in the Unicode Character Database.

For characters without any numeric values in the Unicode Character Database, this function will return IntlChar::NO_NUMERIC_VALUE.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Numeric value of codepoint, or IntlChar::NO_NUMERIC_VALUE if none is defined. This constant was added in PHP 7.0.6, prior to this version the literal value (float)-123456789 may be used instead.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::getNumericValue("4"));
var_dump(IntlChar::getNumericValue("x"));
var_dump(IntlChar::getNumericValue("\u{216C}"));
?>

O exemplo acima irá imprimir:

float(4)
float(-123456789)
float(50)


Get the property constant value for a given property name

  • « IntlChar::getNumericValue
  • IntlChar::getPropertyName »
  • PHP Manual
  • IntlChar
  • Get the property constant value for a given property name

IntlChar::getPropertyEnum

(PHP 7)

IntlChar::getPropertyEnum — Get the property constant value for a given property name

Descrição

public static IntlChar::getPropertyEnum ( string $alias ) : int

Returns the property constant value for a given property name, as specified in the Unicode database file PropertyAliases.txt. Short, long, and any other variants are recognized.

In addition, this function maps the synthetic names "gcm" / "General_Category_Mask" to the property IntlChar::PROPERTY_GENERAL_CATEGORY_MASK. These names are not in PropertyAliases.txt.

This function compliments IntlChar::getPropertyName().

Parâmetros

alias

The property name to be matched. The name is compared using "loose matching" as described in PropertyAliases.txt.

Valor Retornado

Returns an IntlChar::PROPERTY_ constant value, or IntlChar::PROPERTY_INVALID_CODE if the given name does not match any property.

Exemplos

Exemplo #1 Testando propriedades diferentes

<?php
var_dump(IntlChar::getPropertyEnum('Bidi_Class') === IntlChar::PROPERTY_BIDI_CLASS);
var_dump(IntlChar::getPropertyEnum('script') === IntlChar::PROPERTY_SCRIPT);
var_dump(IntlChar::getPropertyEnum('IDEOGRAPHIC') === IntlChar::PROPERTY_IDEOGRAPHIC);
var_dump(IntlChar::getPropertyEnum('Some made-up string') === IntlChar::PROPERTY_INVALID_CODE);
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(true)
bool(true)

Veja Também

  • IntlChar::getPropertyName() - Get the Unicode name for a property


Get the Unicode name for a property

  • « IntlChar::getPropertyEnum
  • IntlChar::getPropertyValueEnum »
  • PHP Manual
  • IntlChar
  • Get the Unicode name for a property

IntlChar::getPropertyName

(PHP 7)

IntlChar::getPropertyName — Get the Unicode name for a property

Descrição

public static IntlChar::getPropertyName ( int $property , int $nameChoice = IntlChar::LONG_PROPERTY_NAME ) : string

Returns the Unicode name for a given property, as given in the Unicode database file PropertyAliases.txt.

In addition, this function maps the property IntlChar::PROPERTY_GENERAL_CATEGORY_MASK to the synthetic names "gcm" / "General_Category_Mask". These names are not in PropertyAliases.txt.

This function compliments IntlChar::getPropertyEnum().

Parâmetros

property

A propriedade Unicode a inspecionar (constantes IntlChar::PROPERTY_*).

IntlChar::PROPERTY_INVALID_CODE should not be used. Also, if property is out of range, false is returned.

nameChoice

Selector for which name to get. If out of range, false is returned.

All properties have a long name. Most have a short name, but some do not. Unicode allows for additional names; if present these will be returned by adding 1, 2, etc. to IntlChar::LONG_PROPERTY_NAME.

Valor Retornado

Returns the name, or false if either the property or the nameChoice is out of range.

If a given nameChoice returns false, then all larger values of nameChoice will return false, with one exception: if false is returned for IntlChar::SHORT_PROPERTY_NAME, then IntlChar::LONG_PROPERTY_NAME (and higher) may still return a non-false value.

Exemplos

Exemplo #1 Testando propriedades diferentes

<?php
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASS));
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASS, IntlChar::SHORT_PROPERTY_NAME));
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASS, IntlChar::LONG_PROPERTY_NAME));
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASS, IntlChar::LONG_PROPERTY_NAME + 1));
?>

O exemplo acima irá imprimir:

string(10) "Bidi_Class"
string(2) "bc"
string(10) "Bidi_Class"
bool(false)

Veja Também

  • IntlChar::getPropertyEnum() - Get the property constant value for a given property name


Get the property value for a given value name

  • « IntlChar::getPropertyName
  • IntlChar::getPropertyValueName »
  • PHP Manual
  • IntlChar
  • Get the property value for a given value name

IntlChar::getPropertyValueEnum

(PHP 7)

IntlChar::getPropertyValueEnum — Get the property value for a given value name

Descrição

public static IntlChar::getPropertyValueEnum ( int $property , string $name ) : int

Returns the property value integer for a given value name, as specified in the Unicode database file PropertyValueAliases.txt. Short, long, and any other variants are recognized.

Nota:

Some of the names in PropertyValueAliases.txt will only be recognized with IntlChar::PROPERTY_GENERAL_CATEGORY_MASK, not IntlChar::PROPERTY_GENERAL_CATEGORY. These include:

  • "C" / "Other"
  • "L" / "Letter"
  • "LC" / "Cased_Letter"
  • "M" / "Mark"
  • "N" / "Number"
  • "P" / "Punctuation"
  • "S" / "Symbol"
  • "Z" / "Separator"

Parâmetros

property

A propriedade Unicode a inspecionar (constantes IntlChar::PROPERTY_*).

If out of range, or this method doesn't work with the given value, IntlChar::PROPERTY_INVALID_CODE is returned.

name

The value name to be matched. The name is compared using "loose matching" as described in PropertyValueAliases.txt.

Valor Retornado

Returns the corresponding value integer, or IntlChar::PROPERTY_INVALID_CODE if the given name does not match any value of the given property, or if the property is invalid.

Exemplos

Exemplo #1 Testando propriedades diferentes

<?php
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BLOCK, 'greek') === IntlChar::BLOCK_CODE_GREEK);
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BIDI_CLASS, 'RIGHT_TO_LEFT') === IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT);
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BIDI_CLASS, 'some made-up string') === IntlChar::PROPERTY_INVALID_CODE);
var_dump(IntlChar::getPropertyValueEnum(123456789, 'RIGHT_TO_LEFT') === IntlChar::PROPERTY_INVALID_CODE);
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(true)
bool(true)


Get the Unicode name for a property value

  • « IntlChar::getPropertyValueEnum
  • IntlChar::getUnicodeVersion »
  • PHP Manual
  • IntlChar
  • Get the Unicode name for a property value

IntlChar::getPropertyValueName

(PHP 7)

IntlChar::getPropertyValueName — Get the Unicode name for a property value

Descrição

public static IntlChar::getPropertyValueName ( int $property , int $value , int $nameChoice = IntlChar::LONG_PROPERTY_NAME ) : string

Returns the Unicode name for a given property value, as given in the Unicode database file PropertyValueAliases.txt.

Nota:

Some of the names in PropertyValueAliases.txt can only be retrieved using IntlChar::PROPERTY_GENERAL_CATEGORY_MASK, not IntlChar::PROPERTY_GENERAL_CATEGORY. These include:

  • "C" / "Other"
  • "L" / "Letter"
  • "LC" / "Cased_Letter"
  • "M" / "Mark"
  • "N" / "Number"
  • "P" / "Punctuation"
  • "S" / "Symbol"
  • "Z" / "Separator"

Parâmetros

property

A propriedade Unicode a inspecionar (constantes IntlChar::PROPERTY_*).

If out of range, or this method doesn't work with the given value, false is returned.

value

Selector for a value for the given property. If out of range, false is returned.

In general, valid values range from 0 up to some maximum. There are a couple exceptions:

  • IntlChar::PROPERTY_BLOCK values begin at the non-zero value IntlChar::BLOCK_CODE_BASIC_LATIN
  • IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS values are not contiguous and range from 0..240.

nameChoice

Selector for which name to get. If out of range, false is returned.

All values have a long name. Most have a short name, but some do not. Unicode allows for additional names; if present these will be returned by adding 1, 2, etc. to IntlChar::LONG_PROPERTY_NAME.

Valor Retornado

Returns the name, or false if either the property or the nameChoice is out of range.

If a given nameChoice returns false, then all larger values of nameChoice will return false, with one exception: if false is returned for IntlChar::SHORT_PROPERTY_NAME, then IntlChar::LONG_PROPERTY_NAME (and higher) may still return a non-false value.

Exemplos

Exemplo #1 Testando propriedades diferentes

<?php
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::SHORT_PROPERTY_NAME));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::LONG_PROPERTY_NAME));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::LONG_PROPERTY_NAME + 1));
?>

O exemplo acima irá imprimir:

string(16) "Greek_And_Coptic"
string(5) "Greek"
string(16) "Greek_And_Coptic"
bool(false)


Get the Unicode version

  • « IntlChar::getPropertyValueName
  • IntlChar::hasBinaryProperty »
  • PHP Manual
  • IntlChar
  • Get the Unicode version

IntlChar::getUnicodeVersion

(PHP 7)

IntlChar::getUnicodeVersion — Get the Unicode version

Descrição

public static IntlChar::getUnicodeVersion ( ) : array

Gets the Unicode version information.

The version array is filled in with the version information for the Unicode standard that is currently used by ICU. For example, Unicode version 3.1.1 is represented as an array with the values [3, 1, 1, 0].

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing the Unicode version number.

Exemplos

Exemplo #1 Testando propriedades diferentes

<?php
var_dump(IntlChar::getUnicodeVersion());
?>

O exemplo acima irá imprimir:

array(4) {
  [0]=>
  int(7)
  [1]=>
  int(0)
  [2]=>
  int(0)
  [3]=>
  int(0)
}

Veja Também

  • IntlChar::charAge() - Get the "age" of the code point


Check a binary Unicode property for a code point

  • « IntlChar::getUnicodeVersion
  • IntlChar::isalnum »
  • PHP Manual
  • IntlChar
  • Check a binary Unicode property for a code point

IntlChar::hasBinaryProperty

(PHP 7)

IntlChar::hasBinaryProperty — Check a binary Unicode property for a code point

Descrição

public static IntlChar::hasBinaryProperty ( mixed $codepoint , int $property ) : bool

Checks a binary Unicode property for a code point.

Unicode, especially in version 3.2, defines many more properties than the original set in UnicodeData.txt.

The properties APIs are intended to reflect Unicode properties as defined in the Unicode Character Database (UCD) and Unicode Technical Reports (UTR). For details about the properties see » http://www.unicode.org/ucd/. For names of Unicode properties see the UCD file PropertyAliases.txt.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

property

A propriedade Unicode a inspecionar (constantes IntlChar::PROPERTY_*).

Valor Retornado

Returns true or false according to the binary Unicode property value for codepoint. Also false if property is out of bounds or if the Unicode version does not have data for the property at all, or not for this code point.

Exemplos

Exemplo #1 Testando propriedades diferentes

<?php
var_dump(IntlChar::hasBinaryProperty("A", IntlChar::PROPERTY_ALPHABETIC));
var_dump(IntlChar::hasBinaryProperty("A", IntlChar::PROPERTY_CASE_SENSITIVE));
var_dump(IntlChar::hasBinaryProperty("A", IntlChar::PROPERTY_BIDI_MIRRORED));
var_dump(IntlChar::hasBinaryProperty("[", IntlChar::PROPERTY_ALPHABETIC));
var_dump(IntlChar::hasBinaryProperty("[", IntlChar::PROPERTY_CASE_SENSITIVE));
var_dump(IntlChar::hasBinaryProperty("[", IntlChar::PROPERTY_BIDI_MIRRORED));
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(true)

Veja Também

  • IntlChar::getIntPropertyValue() - Get the value for a Unicode property for a code point
  • IntlChar::getUnicodeVersion() - Get the Unicode version


Check if code point is an alphanumeric character

  • « IntlChar::hasBinaryProperty
  • IntlChar::isalpha »
  • PHP Manual
  • IntlChar
  • Check if code point is an alphanumeric character

IntlChar::isalnum

(PHP 7)

IntlChar::isalnum — Check if code point is an alphanumeric character

Descrição

public static IntlChar::isalnum ( mixed $codepoint ) : bool

Determines whether the specified code point is an alphanumeric character (letter or digit). true for characters with general categories "L" (letters) and "Nd" (decimal digit numbers).

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is an alphanumeric character, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isalnum("A"));
var_dump(IntlChar::isalnum("1"));
var_dump(IntlChar::isalnum("\u{2603}"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(false)

Veja Também

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isdigit() - Check if code point is a digit character


Check if code point is a letter character

  • « IntlChar::isalnum
  • IntlChar::isbase »
  • PHP Manual
  • IntlChar
  • Check if code point is a letter character

IntlChar::isalpha

(PHP 7)

IntlChar::isalpha — Check if code point is a letter character

Descrição

public static IntlChar::isalpha ( mixed $codepoint ) : bool

Determines whether the specified code point is a letter character. true for general categories "L" (letters).

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is a letter character, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isalpha("A"));
var_dump(IntlChar::isalpha("1"));
var_dump(IntlChar::isalpha("\u{2603}"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)
bool(false)

Veja Também

  • IntlChar::isalnum() - Check if code point is an alphanumeric character
  • IntlChar::isdigit() - Check if code point is a digit character


Check if code point is a base character

  • « IntlChar::isalpha
  • IntlChar::isblank »
  • PHP Manual
  • IntlChar
  • Check if code point is a base character

IntlChar::isbase

(PHP 7)

IntlChar::isbase — Check if code point is a base character

Descrição

public static IntlChar::isbase ( mixed $codepoint ) : bool

Determines whether the specified code point is a base character. true for general categories "L" (letters), "N" (numbers), "Mc" (spacing combining marks), and "Me" (enclosing marks).

Nota:

This is different from the Unicode definition in chapter 3.5, conformance clause D13, which defines base characters to be all characters (not Cn) that do not graphically combine with preceding characters (M) and that are neither control (Cc) or format (Cf) characters.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is a base character, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isbase("A"));
var_dump(IntlChar::isbase("1"));
var_dump(IntlChar::isbase("\u{2603}"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(false)

Veja Também

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isdigit() - Check if code point is a digit character


Check if code point is a "blank" or "horizontal space" character

  • « IntlChar::isbase
  • IntlChar::iscntrl »
  • PHP Manual
  • IntlChar
  • Check if code point is a "blank" or "horizontal space" character

IntlChar::isblank

(PHP 7)

IntlChar::isblank — Check if code point is a "blank" or "horizontal space" character

Descrição

public static IntlChar::isblank ( mixed $codepoint ) : bool

Determines whether the specified code point is a "blank" or "horizontal space", a character that visibly separates words on a line.

The following are equivalent definitions:

  • true for Unicode White_Space characters except for "vertical space controls" where "vertical space controls" are the following characters: U+000A (LF) U+000B (VT) U+000C (FF) U+000D (CR) U+0085 (NEL) U+2028 (LS) U+2029 (PS)
  • true for U+0009 (TAB) and characters with general category "Zs" (space separators) except Zero Width Space (ZWSP, U+200B).

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is either a "blank" or "horizontal space" character, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isblank("A"));
var_dump(IntlChar::isblank(" "));
var_dump(IntlChar::isblank("\t"));
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(true)

Veja Também

  • IntlChar::isspace() - Check if code point is a space character
  • IntlChar::isJavaSpaceChar() - Check if code point is a space character according to Java
  • IntlChar::isUWhiteSpace() - Check if code point has the White_Space Unicode property
  • IntlChar::isWhitespace() - Check if code point is a whitespace character according to ICU


Check if code point is a control character

  • « IntlChar::isblank
  • IntlChar::isdefined »
  • PHP Manual
  • IntlChar
  • Check if code point is a control character

IntlChar::iscntrl

(PHP 7)

IntlChar::iscntrl — Check if code point is a control character

Descrição

public static IntlChar::iscntrl ( mixed $codepoint ) : bool

Determines whether the specified code point is a control character.

A control character is one of the following:

  • ISO 8-bit control character (U+0000..U+001f and U+007f..U+009f)
  • IntlChar::CHAR_CATEGORY_CONTROL_CHAR (Cc)
  • IntlChar::CHAR_CATEGORY_FORMAT_CHAR (Cf)
  • IntlChar::CHAR_CATEGORY_LINE_SEPARATOR (Zl)
  • IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR (Zp)

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is a control character, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::iscntrl("A"));
var_dump(IntlChar::iscntrl(" "));
var_dump(IntlChar::iscntrl("\n"));
var_dump(IntlChar::iscntrl("\u{200e}"));
?>

O exemplo acima irá imprimir:

bool(false)
bool(false)
bool(true)
bool(true)

Veja Também

  • IntlChar::isprint() - Check if code point is a printable character
  • IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT


Check whether the code point is defined

  • « IntlChar::iscntrl
  • IntlChar::isdigit »
  • PHP Manual
  • IntlChar
  • Check whether the code point is defined

IntlChar::isdefined

(PHP 7)

IntlChar::isdefined — Check whether the code point is defined

Descrição

public static IntlChar::isdefined ( mixed $codepoint ) : bool

Determines whether the specified code point is "defined", which usually means that it is assigned a character.

true for general categories other than "Cn" (other, not assigned).

Nota:

Note that non-character code points (e.g., U+FDD0) are not "defined" (they are Cn), but surrogate code points are "defined" (Cs).

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is a defined character, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isdefined("A"));
var_dump(IntlChar::isdefined(" "));
var_dump(IntlChar::isdefined("\u{FDD0}"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(false)

Veja Também

  • IntlChar::isdigit() - Check if code point is a digit character
  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isalnum() - Check if code point is an alphanumeric character
  • IntlChar::isupper() - Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::islower() - Check if code point is a lowercase letter
  • IntlChar::istitle() - Check if code point is a titlecase letter


Check if code point is a digit character

  • « IntlChar::isdefined
  • IntlChar::isgraph »
  • PHP Manual
  • IntlChar
  • Check if code point is a digit character

IntlChar::isdigit

(PHP 7)

IntlChar::isdigit — Check if code point is a digit character

Descrição

public static IntlChar::isdigit ( mixed $codepoint ) : bool

Determines whether the specified code point is a digit character.

true for characters with general category "Nd" (decimal digit numbers). Beginning with Unicode 4, this is the same as testing for the Numeric_Type of Decimal.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is a digit character, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isdigit("A"));
var_dump(IntlChar::isdigit("1"));
var_dump(IntlChar::isdigit("\t"));
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(false)

Veja Também

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isalnum() - Check if code point is an alphanumeric character
  • IntlChar::isxdigit() - Check if code point is a hexadecimal digit


Check if code point is a graphic character

  • « IntlChar::isdigit
  • IntlChar::isIDIgnorable »
  • PHP Manual
  • IntlChar
  • Check if code point is a graphic character

IntlChar::isgraph

(PHP 7)

IntlChar::isgraph — Check if code point is a graphic character

Descrição

public static IntlChar::isgraph ( mixed $codepoint ) : bool

Determines whether the specified code point is a "graphic" character (printable, excluding spaces).

true for all characters except those with general categories "Cc" (control codes), "Cf" (format controls), "Cs" (surrogates), "Cn" (unassigned), and "Z" (separators).

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is a "graphic" character, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isgraph("A"));
var_dump(IntlChar::isgraph("1"));
var_dump(IntlChar::isgraph("\u{2603}"));
var_dump(IntlChar::isgraph("\n"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(true)
bool(false)


Check if code point is an ignorable character

  • « IntlChar::isgraph
  • IntlChar::isIDPart »
  • PHP Manual
  • IntlChar
  • Check if code point is an ignorable character

IntlChar::isIDIgnorable

(PHP 7)

IntlChar::isIDIgnorable — Check if code point is an ignorable character

Descrição

public static IntlChar::isIDIgnorable ( mixed $codepoint ) : bool

Determines if the specified character should be regarded as an ignorable character in an identifier.

true for characters with general category "Cf" (format controls) as well as non-whitespace ISO controls (U+0000..U+0008, U+000E..U+001B, U+007F..U+009F).

Nota:

Note that Unicode just recommends to ignore Cf (format controls).

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is ignorable in identifiers, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isIDIgnorable("A"));
var_dump(IntlChar::isIDIgnorable(" "));
var_dump(IntlChar::isIDIgnorable("\u{007F}"));
?>

O exemplo acima irá imprimir:

bool(false)
bool(false)
bool(true)

Veja Também

  • IntlChar::isIDStart() - Check if code point is permissible as the first character in an identifier
  • IntlChar::isIDPart() - Check if code point is permissible in an identifier
  • IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT


Check if code point is permissible in an identifier

  • « IntlChar::isIDIgnorable
  • IntlChar::isIDStart »
  • PHP Manual
  • IntlChar
  • Check if code point is permissible in an identifier

IntlChar::isIDPart

(PHP 7)

IntlChar::isIDPart — Check if code point is permissible in an identifier

Descrição

public static IntlChar::isIDPart ( mixed $codepoint ) : bool

Determines if the specified character is permissible in an identifier.

true for characters with general categories "L" (letters), "Nl" (letter numbers), "Nd" (decimal digits), "Mc" and "Mn" (combining marks), "Pc" (connecting punctuation), and u_isIDIgnorable(c).

Nota:

This is almost the same as Unicode's ID_Continue (IntlChar::PROPERTY_ID_CONTINUE) except that Unicode recommends to ignore Cf which is less than IntlChar::isIDIgnorable().

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is the code point may occur in an identifier, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isIDPart("A"));
var_dump(IntlChar::isIDPart("$"));
var_dump(IntlChar::isIDPart("\n"));
var_dump(IntlChar::isIDPart("\u{2603}"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)
bool(false)
bool(false)

Veja Também

  • IntlChar::isIDIgnorable() - Check if code point is an ignorable character
  • IntlChar::isIDStart() - Check if code point is permissible as the first character in an identifier
  • IntlChar::PROPERTY_ID_CONTINUE


Check if code point is permissible as the first character in an identifier

  • « IntlChar::isIDPart
  • IntlChar::isISOControl »
  • PHP Manual
  • IntlChar
  • Check if code point is permissible as the first character in an identifier

IntlChar::isIDStart

(PHP 7)

IntlChar::isIDStart — Check if code point is permissible as the first character in an identifier

Descrição

public static IntlChar::isIDStart ( mixed $codepoint ) : bool

Determines if the specified character is permissible as the first character in an identifier according to Unicode (The Unicode Standard, Version 3.0, chapter 5.16 Identifiers).

true for characters with general categories "L" (letters) and "Nl" (letter numbers).

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint may start an identifier, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isIDStart("A"));
var_dump(IntlChar::isIDStart("$"));
var_dump(IntlChar::isIDStart("\n"));
var_dump(IntlChar::isIDStart("\u{2603}"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)
bool(false)
bool(false)

Veja Também

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isIDPart() - Check if code point is permissible in an identifier
  • IntlChar::PROPERTY_ID_START


Check if code point is an ISO control code

  • « IntlChar::isIDStart
  • IntlChar::isJavaIDPart »
  • PHP Manual
  • IntlChar
  • Check if code point is an ISO control code

IntlChar::isISOControl

(PHP 7)

IntlChar::isISOControl — Check if code point is an ISO control code

Descrição

public static IntlChar::isISOControl ( mixed $codepoint ) : bool

Determines whether the specified code point is an ISO control code.

true for U+0000..U+001f and U+007f..U+009f (general category "Cc").

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is an ISO control code, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isISOControl(" "));
var_dump(IntlChar::isISOControl("\n"));
var_dump(IntlChar::isISOControl("\u{200e}"));
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(false)

Veja Também

  • IntlChar::iscntrl() - Check if code point is a control character


Check if code point is permissible in a Java identifier

  • « IntlChar::isISOControl
  • IntlChar::isJavaIDStart »
  • PHP Manual
  • IntlChar
  • Check if code point is permissible in a Java identifier

IntlChar::isJavaIDPart

(PHP 7)

IntlChar::isJavaIDPart — Check if code point is permissible in a Java identifier

Descrição

public static IntlChar::isJavaIDPart ( mixed $codepoint ) : bool

Determines if the specified character is permissible in a Java identifier.

In addition to IntlChar::isIDPart(), true for characters with general category "Sc" (currency symbols).

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint may occur in a Java identifier, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isJavaIDPart("A"));
var_dump(IntlChar::isJavaIDPart("$"));
var_dump(IntlChar::isJavaIDPart("\n"));
var_dump(IntlChar::isJavaIDPart("\u{2603}"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(false)
bool(false)

Veja Também

  • IntlChar::isIDIgnorable() - Check if code point is an ignorable character
  • IntlChar::isIDPart() - Check if code point is permissible in an identifier
  • IntlChar::isJavaIDStart() - Check if code point is permissible as the first character in a Java identifier
  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isdigit() - Check if code point is a digit character


Check if code point is permissible as the first character in a Java identifier

  • « IntlChar::isJavaIDPart
  • IntlChar::isJavaSpaceChar »
  • PHP Manual
  • IntlChar
  • Check if code point is permissible as the first character in a Java identifier

IntlChar::isJavaIDStart

(PHP 7)

IntlChar::isJavaIDStart — Check if code point is permissible as the first character in a Java identifier

Descrição

public static IntlChar::isJavaIDStart ( mixed $codepoint ) : bool

Determines if the specified character is permissible as the start of a Java identifier.

In addition to IntlChar::isIDStart(), true for characters with general categories "Sc" (currency symbols) and "Pc" (connecting punctuation).

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint may start a Java identifier, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isJavaIDStart("A"));
var_dump(IntlChar::isJavaIDStart("$"));
var_dump(IntlChar::isJavaIDStart("\n"));
var_dump(IntlChar::isJavaIDStart("\u{2603}"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(false)
bool(false)

Veja Também

  • IntlChar::isIDStart() - Check if code point is permissible as the first character in an identifier
  • IntlChar::isJavaIDPart() - Check if code point is permissible in a Java identifier
  • IntlChar::isalpha() - Check if code point is a letter character


Check if code point is a space character according to Java

  • « IntlChar::isJavaIDStart
  • IntlChar::islower »
  • PHP Manual
  • IntlChar
  • Check if code point is a space character according to Java

IntlChar::isJavaSpaceChar

(PHP 7)

IntlChar::isJavaSpaceChar — Check if code point is a space character according to Java

Descrição

public static IntlChar::isJavaSpaceChar ( mixed $codepoint ) : bool

Determine if the specified code point is a space character according to Java.

true for characters with general categories "Z" (separators), which does not include control codes (e.g., TAB or Line Feed).

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is a space character according to Java, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isJavaSpaceChar("A"));
var_dump(IntlChar::isJavaSpaceChar(" "));
var_dump(IntlChar::isJavaSpaceChar("\n"));
var_dump(IntlChar::isJavaSpaceChar("\t"));
var_dump(IntlChar::isJavaSpaceChar("\u{00A0}"));
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(false)
bool(false)
bool(true)

Veja Também

  • IntlChar::isspace() - Check if code point is a space character
  • IntlChar::isWhitespace() - Check if code point is a whitespace character according to ICU
  • IntlChar::isUWhiteSpace() - Check if code point has the White_Space Unicode property


Check if code point is a lowercase letter

  • « IntlChar::isJavaSpaceChar
  • IntlChar::isMirrored »
  • PHP Manual
  • IntlChar
  • Check if code point is a lowercase letter

IntlChar::islower

(PHP 7)

IntlChar::islower — Check if code point is a lowercase letter

Descrição

public static IntlChar::islower ( mixed $codepoint ) : bool

Determines whether the specified code point has the general category "Ll" (lowercase letter).

Nota:

This misses some characters that are also lowercase but have a different general category value. In order to include those, use IntlChar::isULowercase().

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is an Ll lowercase letter, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::islower("A"));
var_dump(IntlChar::islower("a"));
var_dump(IntlChar::islower("F"));
var_dump(IntlChar::islower("f"));
var_dump(IntlChar::islower("1"));
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)

Veja Também

  • IntlChar::isupper() - Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::istitle() - Check if code point is a titlecase letter
  • IntlChar::tolower() - Make Unicode character lowercase
  • IntlChar::toupper() - Make Unicode character uppercase
  • IntlChar::PROPERTY_LOWERCASE


Check if code point has the Bidi_Mirrored property

  • « IntlChar::islower
  • IntlChar::isprint »
  • PHP Manual
  • IntlChar
  • Check if code point has the Bidi_Mirrored property

IntlChar::isMirrored

(PHP 7)

IntlChar::isMirrored — Check if code point has the Bidi_Mirrored property

Descrição

public static IntlChar::isMirrored ( mixed $codepoint ) : bool

Determines whether the code point has the Bidi_Mirrored property.

This property is set for characters that are commonly used in Right-To-Left contexts and need to be displayed with a "mirrored" glyph.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint has the Bidi_Mirrored property, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isMirrored("A"));
var_dump(IntlChar::isMirrored("<"));
var_dump(IntlChar::isMirrored("("));
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(true)

Veja Também

  • IntlChar::charMirror() - Get the "mirror-image" character for a code point
  • IntlChar::PROPERTY_BIDI_MIRRORED


Check if code point is a printable character

  • « IntlChar::isMirrored
  • IntlChar::ispunct »
  • PHP Manual
  • IntlChar
  • Check if code point is a printable character

IntlChar::isprint

(PHP 7)

IntlChar::isprint — Check if code point is a printable character

Descrição

public static IntlChar::isprint ( mixed $codepoint ) : bool

Determines whether the specified code point is a printable character.

true for general categories other than "C" (controls).

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is a printable character, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isprint("A"));
var_dump(IntlChar::isprint(" "));
var_dump(IntlChar::isprint("\n"));
var_dump(IntlChar::isprint("\u{200e}"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(false)
bool(false)

Veja Também

  • IntlChar::iscntrl() - Check if code point is a control character
  • IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT


Check if code point is punctuation character

  • « IntlChar::isprint
  • IntlChar::isspace »
  • PHP Manual
  • IntlChar
  • Check if code point is punctuation character

IntlChar::ispunct

(PHP 7)

IntlChar::ispunct — Check if code point is punctuation character

Descrição

public static IntlChar::ispunct ( mixed $codepoint ) : bool

Determines whether the specified code point is a punctuation character.

true for characters with general categories "P" (punctuation).

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is a punctuation character, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::ispunct("."));
var_dump(IntlChar::ispunct(","));
var_dump(IntlChar::ispunct("\n"));
var_dump(IntlChar::ispunct("$"));

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(false)
bool(false)


Check if code point is a space character

  • « IntlChar::ispunct
  • IntlChar::istitle »
  • PHP Manual
  • IntlChar
  • Check if code point is a space character

IntlChar::isspace

(PHP 7)

IntlChar::isspace — Check if code point is a space character

Descrição

public static IntlChar::isspace ( mixed $codepoint ) : bool

Determines if the specified character is a space character or not.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is a space character, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isspace("A"));
var_dump(IntlChar::isspace(" "));
var_dump(IntlChar::isspace("\n"));
var_dump(IntlChar::isspace("\t"));
var_dump(IntlChar::isspace("\u{00A0}"));
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(true)
bool(true)
bool(true)

Veja Também

  • IntlChar::isJavaSpaceChar() - Check if code point is a space character according to Java
  • IntlChar::isWhitespace() - Check if code point is a whitespace character according to ICU
  • IntlChar::isUWhiteSpace() - Check if code point has the White_Space Unicode property


Check if code point is a titlecase letter

  • « IntlChar::isspace
  • IntlChar::isUAlphabetic »
  • PHP Manual
  • IntlChar
  • Check if code point is a titlecase letter

IntlChar::istitle

(PHP 7)

IntlChar::istitle — Check if code point is a titlecase letter

Descrição

public static IntlChar::istitle ( mixed $codepoint ) : bool

Determines whether the specified code point is a titlecase letter.

true for general category "Lt" (titlecase letter).

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is a titlecase letter, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::istitle("A"));
var_dump(IntlChar::istitle("a"));
var_dump(IntlChar::istitle("F"));
var_dump(IntlChar::istitle("f"));
var_dump(IntlChar::istitle("1"));
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)

Veja Também

  • IntlChar::isupper() - Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::islower() - Check if code point is a lowercase letter
  • IntlChar::totitle() - Make Unicode character titlecase


Check if code point has the Alphabetic Unicode property

  • « IntlChar::istitle
  • IntlChar::isULowercase »
  • PHP Manual
  • IntlChar
  • Check if code point has the Alphabetic Unicode property

IntlChar::isUAlphabetic

(PHP 7)

IntlChar::isUAlphabetic — Check if code point has the Alphabetic Unicode property

Descrição

public static IntlChar::isUAlphabetic ( mixed $codepoint ) : bool

Check if a code point has the Alphabetic Unicode property.

This is the same as IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_ALPHABETIC)

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint has the Alphabetic Unicode property, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isUAlphabetic("A"));
var_dump(IntlChar::isUAlphabetic("1"));
var_dump(IntlChar::isUAlphabetic("\u{2603}"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)
bool(false)

Veja Também

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::PROPERTY_ALPHABETIC


Check if code point has the Lowercase Unicode property

  • « IntlChar::isUAlphabetic
  • IntlChar::isupper »
  • PHP Manual
  • IntlChar
  • Check if code point has the Lowercase Unicode property

IntlChar::isULowercase

(PHP 7)

IntlChar::isULowercase — Check if code point has the Lowercase Unicode property

Descrição

public static IntlChar::isULowercase ( mixed $codepoint ) : bool

Check if a code point has the Lowercase Unicode property.

This is the same as IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_LOWERCASE)

Nota:

This is different than IntlChar::islower() and will return true for more characters.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint has the Lowercase Unicode property, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isULowercase("A"));
var_dump(IntlChar::isULowercase("a"));
var_dump(IntlChar::isULowercase("F"));
var_dump(IntlChar::isULowercase("f"));
var_dump(IntlChar::isULowercase("1"));
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)

Veja Também

  • IntlChar::islower() - Check if code point is a lowercase letter
  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::PROPERTY_LOWERCASE


Check if code point has the general category "Lu" (uppercase letter)

  • « IntlChar::isULowercase
  • IntlChar::isUUppercase »
  • PHP Manual
  • IntlChar
  • Check if code point has the general category "Lu" (uppercase letter)

IntlChar::isupper

(PHP 7)

IntlChar::isupper — Check if code point has the general category "Lu" (uppercase letter)

Descrição

public static IntlChar::isupper ( mixed $codepoint ) : bool

Determines whether the specified code point has the general category "Lu" (uppercase letter).

Nota:

This misses some characters that are also uppercase but have a different general category value. In order to include those, use IntlChar::isUUppercase().

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is an Lu uppercase letter, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isupper("A"));
var_dump(IntlChar::isupper("a"));
var_dump(IntlChar::isupper("F"));
var_dump(IntlChar::isupper("f"));
var_dump(IntlChar::isupper("1"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Veja Também

  • IntlChar::islower() - Check if code point is a lowercase letter
  • IntlChar::istitle() - Check if code point is a titlecase letter
  • IntlChar::tolower() - Make Unicode character lowercase
  • IntlChar::toupper() - Make Unicode character uppercase
  • IntlChar::PROPERTY_UPPERCASE


Check if code point has the Uppercase Unicode property

  • « IntlChar::isupper
  • IntlChar::isUWhiteSpace »
  • PHP Manual
  • IntlChar
  • Check if code point has the Uppercase Unicode property

IntlChar::isUUppercase

(PHP 7)

IntlChar::isUUppercase — Check if code point has the Uppercase Unicode property

Descrição

public static IntlChar::isUUppercase ( mixed $codepoint ) : bool

Check if a code point has the Uppercase Unicode property.

This is the same as IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_UPPERCASE)

Nota:

This is different than IntlChar::isupper() and will return true for more characters.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint has the Uppercase Unicode property, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isUUppercase("A"));
var_dump(IntlChar::isUUppercase("a"));
var_dump(IntlChar::isUUppercase("F"));
var_dump(IntlChar::isUUppercase("f"));
var_dump(IntlChar::isUUppercase("1"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Veja Também

  • IntlChar::isupper() - Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::PROPERTY_UPPERCASE


Check if code point has the White_Space Unicode property

  • « IntlChar::isUUppercase
  • IntlChar::isWhitespace »
  • PHP Manual
  • IntlChar
  • Check if code point has the White_Space Unicode property

IntlChar::isUWhiteSpace

(PHP 7)

IntlChar::isUWhiteSpace — Check if code point has the White_Space Unicode property

Descrição

public static IntlChar::isUWhiteSpace ( mixed $codepoint ) : bool

Check if a code point has the White_Space Unicode property.

This is the same as IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_WHITE_SPACE)

Nota:

This is different from both IntlChar::isspace() and IntlChar::isWhitespace().

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint has the White_Space Unicode property, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isUWhiteSpace("A"));
var_dump(IntlChar::isUWhiteSpace(" "));
var_dump(IntlChar::isUWhiteSpace("\n"));
var_dump(IntlChar::isUWhiteSpace("\t"));
var_dump(IntlChar::isUWhiteSpace("\u{00A0}"));
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(true)
bool(true)
bool(true)

Veja Também

  • IntlChar::isspace() - Check if code point is a space character
  • IntlChar::isWhitespace() - Check if code point is a whitespace character according to ICU
  • IntlChar::isJavaSpaceChar() - Check if code point is a space character according to Java
  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::PROPERTY_WHITE_SPACE


Check if code point is a whitespace character according to ICU

  • « IntlChar::isUWhiteSpace
  • IntlChar::isxdigit »
  • PHP Manual
  • IntlChar
  • Check if code point is a whitespace character according to ICU

IntlChar::isWhitespace

(PHP 7)

IntlChar::isWhitespace — Check if code point is a whitespace character according to ICU

Descrição

public static IntlChar::isWhitespace ( mixed $codepoint ) : bool

Determines if the specified code point is a whitespace character according to ICU.

A character is considered to be a ICU whitespace character if and only if it satisfies one of the following criteria:

  • It is a Unicode Separator character (categories "Z" = "Zs" or "Zl" or "Zp"), but is not also a non-breaking space (U+00A0 NBSP or U+2007 Figure Space or U+202F Narrow NBSP).
  • It is U+0009 HORIZONTAL TABULATION.
  • It is U+000A LINE FEED.
  • It is U+000B VERTICAL TABULATION.
  • It is U+000C FORM FEED.
  • It is U+000D CARRIAGE RETURN.
  • It is U+001C FILE SEPARATOR.
  • It is U+001D GROUP SEPARATOR.
  • It is U+001E RECORD SEPARATOR.
  • It is U+001F UNIT SEPARATOR.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is a whitespace character according to ICU, false if not.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::iswhitespace("A"));
var_dump(IntlChar::iswhitespace(" "));
var_dump(IntlChar::iswhitespace("\n"));
var_dump(IntlChar::iswhitespace("\t"));
var_dump(IntlChar::iswhitespace("\u{00A0}"));
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
bool(true)
bool(true)
bool(false)

Veja Também

  • IntlChar::isspace() - Check if code point is a space character
  • IntlChar::isJavaSpaceChar() - Check if code point is a space character according to Java
  • IntlChar::isUWhiteSpace() - Check if code point has the White_Space Unicode property


Check if code point is a hexadecimal digit

  • « IntlChar::isWhitespace
  • IntlChar::ord »
  • PHP Manual
  • IntlChar
  • Check if code point is a hexadecimal digit

IntlChar::isxdigit

(PHP 7)

IntlChar::isxdigit — Check if code point is a hexadecimal digit

Descrição

public static IntlChar::isxdigit ( mixed $codepoint ) : bool

Determines whether the specified code point is a hexadecimal digit.

true for characters with general category "Nd" (decimal digit numbers) as well as Latin letters a-f and A-F in both ASCII and Fullwidth ASCII. (That is, for letters with code points 0041..0046, 0061..0066, FF21..FF26, FF41..FF46.)

This is equivalent to IntlChar::digit($codepoint, 16) >= 0.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns true if codepoint is a hexadecimal character, false if not.

Notas

Nota:

In order to narrow the definition of hexadecimal digits to only ASCII characters use:

<?php
$isASCIIHexadecimal = IntlChar::ord($codepoint) <= 0x7F && IntlChar::isxdigit($codepoint);
?>

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::isxdigit("A"));
var_dump(IntlChar::isxdigit("1"));
var_dump(IntlChar::isxdigit("\u{2603}"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(false)

Veja Também

  • IntlChar::isdigit() - Check if code point is a digit character


Return Unicode code point value of character

  • « IntlChar::isxdigit
  • IntlChar::tolower »
  • PHP Manual
  • IntlChar
  • Return Unicode code point value of character

IntlChar::ord

(PHP 7)

IntlChar::ord — Return Unicode code point value of character

Descrição

public static IntlChar::ord ( mixed $character ) : int

Returns the Unicode code point value of the given character.

This function compliments IntlChar::chr().

Parâmetros

character

A Unicode character.

Valor Retornado

Returns the Unicode code point value as an integer.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::ord("A"));
var_dump(IntlChar::ord(" "));
var_dump(IntlChar::ord("\u{2603}"));
?>

O exemplo acima irá imprimir:

int(65)
int(32)
int(9731)

Veja Também

  • IntlChar::isalnum() - Check if code point is an alphanumeric character
  • IntlChar::isdigit() - Check if code point is a digit character
  • IntlChar::chr() - Return Unicode character by code point value
  • ord() - Retorna o valor ASCII do caractere


Make Unicode character lowercase

  • « IntlChar::ord
  • IntlChar::totitle »
  • PHP Manual
  • IntlChar
  • Make Unicode character lowercase

IntlChar::tolower

(PHP 7)

IntlChar::tolower — Make Unicode character lowercase

Descrição

public static IntlChar::tolower ( mixed $codepoint ) : mixed

The given character is mapped to its lowercase equivalent. If the character has no lowercase equivalent, the original character itself is returned.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns the Simple_Lowercase_Mapping of the code point, if any; otherwise the code point itself.

O tipo retornado será integer a não ser que o codepoint seja passado como uma string UTF-8, e nesse caso uma string será retornada.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::tolower("A"));
var_dump(IntlChar::tolower("a"));
var_dump(IntlChar::tolower("F"));
var_dump(IntlChar::tolower("f"));
var_dump(IntlChar::tolower("1"));
var_dump(IntlChar::tolower(ord("A")));
var_dump(IntlChar::tolower(ord("a")));
?>

O exemplo acima irá imprimir:

string(1) "a"
string(1) "a"
string(2) "f"
string(2) "f"
string(1) "1"
int(97)
int(97)

Veja Também

  • IntlChar::totitle() - Make Unicode character titlecase
  • IntlChar::toupper() - Make Unicode character uppercase
  • mb_strtolower() - Torna uma string minúscula


Make Unicode character titlecase

  • « IntlChar::tolower
  • IntlChar::toupper »
  • PHP Manual
  • IntlChar
  • Make Unicode character titlecase

IntlChar::totitle

(PHP 7)

IntlChar::totitle — Make Unicode character titlecase

Descrição

public static IntlChar::totitle ( mixed $codepoint ) : mixed

The given character is mapped to its titlecase equivalent. If the character has no titlecase equivalent, the original character itself is returned.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns the Simple_Titlecase_Mapping of the code point, if any; otherwise the code point itself.

O tipo retornado será integer a não ser que o codepoint seja passado como uma string UTF-8, e nesse caso uma string será retornada.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::totitle("A"));
var_dump(IntlChar::totitle("a"));
var_dump(IntlChar::totitle("F"));
var_dump(IntlChar::totitle("f"));
var_dump(IntlChar::totitle("1"));
var_dump(IntlChar::totitle(ord("A")));
var_dump(IntlChar::totitle(ord("a")));
?>

O exemplo acima irá imprimir:

string(1) "A"
string(1) "A"
string(2) "F"
string(2) "F"
string(1) "1"
int(65)
int(65)

Veja Também

  • IntlChar::tolower() - Make Unicode character lowercase
  • IntlChar::toupper() - Make Unicode character uppercase
  • mb_convert_case() - Perform case folding on a string


Make Unicode character uppercase

  • « IntlChar::totitle
  • IntlException »
  • PHP Manual
  • IntlChar
  • Make Unicode character uppercase

IntlChar::toupper

(PHP 7)

IntlChar::toupper — Make Unicode character uppercase

Descrição

public static IntlChar::toupper ( mixed $codepoint ) : mixed

The given character is mapped to its uppercase equivalent. If the character has no uppercase equivalent, the character itself is returned.

Parâmetros

codepoint

Um codepoint integer (por exemplo 0x2603 para U+2603 SNOWMAN), ou um caracter codificado como uma string UTF-8 (exemplo "\u{2603}")

Valor Retornado

Returns the Simple_Uppercase_Mapping of the code point, if any; otherwise the code point itself.

O tipo retornado será integer a não ser que o codepoint seja passado como uma string UTF-8, e nesse caso uma string será retornada.

Exemplos

Exemplo #1 Testando codepoints diferentes

<?php
var_dump(IntlChar::toupper("A"));
var_dump(IntlChar::toupper("a"));
var_dump(IntlChar::toupper("F"));
var_dump(IntlChar::toupper("f"));
var_dump(IntlChar::toupper("1"));
var_dump(IntlChar::toupper(ord("A")));
var_dump(IntlChar::toupper(ord("a")));
?>

O exemplo acima irá imprimir:

string(1) "A"
string(1) "A"
string(2) "F"
string(2) "F"
string(1) "1"
int(65)
int(65)

Veja Também

  • IntlChar::tolower() - Make Unicode character lowercase
  • IntlChar::totitle() - Make Unicode character titlecase
  • mb_strtoupper() - Make a string uppercase


Exception class for intl errors

(PHP 5 > 5.5.0, PHP 7, PECL intl > 3.0.0a1)

Introdução

This class is used for generating exceptions when errors occur inside intl functions. Such exceptions are only generated when intl.use_exceptions is enabled.

Sinopse da classe

IntlException extends Exception {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


A classe IntlIterator

(PHP 5 >= 5.5.0, PHP 7)

Introdução

Essa classe representa objetos iteradores em toda extensão intl sempre que o iterador não puder ser identificado com qualquer outro objeto fornecido pela extensão. O objeto iterador distinto usado internamente pelo construtor foreach só pode ser obtido (na parte relevante aqui) a partir de objetos, então objetos dessa classe tem o propósito de fornecer o gancho através da qual este objeto interno pode ser obtido. Como uma conveniência, essa classe também implementa a interface Iterator, permitindo que a coleção de valores sejam navegados usando os métodos definidos nessa interface. Ambos os métodos e objetos iteradores internos fornecidos pelo foreach são apoiados pelo mesmo estado (ex. a posição do iterador e o seu valor atual).

As subclasses podem fornecer funcionalidades mais valiosas.

Sinopse da classe

IntlIterator implements Iterator {
/* Métodos */
public current ( ) : ReturnType
public key ( ) : ReturnType
public next ( ) : ReturnType
public rewind ( ) : ReturnType
public valid ( ) : ReturnType
}

Índice

  • IntlIterator::current — Retorna o elemento atual
  • IntlIterator::key — Retorna a chave do elemento atual
  • IntlIterator::next — Avança para o próximo elemento
  • IntlIterator::rewind — Rebobina o iterador para o primeiro elemento
  • IntlIterator::valid — Verifica se a posição atual é válida


Retorna o elemento atual

  • « IntlIterator
  • IntlIterator::key »
  • PHP Manual
  • IntlIterator
  • Retorna o elemento atual

IntlIterator::current

(PHP 5 >= 5.5.0, PHP 7)

IntlIterator::current — Retorna o elemento atual

Descrição

public IntlIterator::current ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retorna a chave do elemento atual

  • « IntlIterator::current
  • IntlIterator::next »
  • PHP Manual
  • IntlIterator
  • Retorna a chave do elemento atual

IntlIterator::key

(PHP 5 >= 5.5.0, PHP 7)

IntlIterator::key — Retorna a chave do elemento atual

Descrição

public IntlIterator::key ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Avança para o próximo elemento

  • « IntlIterator::key
  • IntlIterator::rewind »
  • PHP Manual
  • IntlIterator
  • Avança para o próximo elemento

IntlIterator::next

(PHP 5 >= 5.5.0, PHP 7)

IntlIterator::next — Avança para o próximo elemento

Descrição

public IntlIterator::next ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Rebobina o iterador para o primeiro elemento

  • « IntlIterator::next
  • IntlIterator::valid »
  • PHP Manual
  • IntlIterator
  • Rebobina o iterador para o primeiro elemento

IntlIterator::rewind

(PHP 5 >= 5.5.0, PHP 7)

IntlIterator::rewind — Rebobina o iterador para o primeiro elemento

Descrição

public IntlIterator::rewind ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Verifica se a posição atual é válida

  • « IntlIterator::rewind
  • intl Funções »
  • PHP Manual
  • IntlIterator
  • Verifica se a posição atual é válida

IntlIterator::valid

(PHP 5 >= 5.5.0, PHP 7)

IntlIterator::valid — Verifica se a posição atual é válida

Descrição

public IntlIterator::valid ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


intl Funções

Índice

  • intl_error_name — Get symbolic name for a given error code
  • intl_get_error_code — Get the last error code
  • intl_get_error_message — Get description of the last error
  • intl_is_failure — Check whether the given error code indicates failure


Get symbolic name for a given error code

  • « intl Funções
  • intl_get_error_code »
  • PHP Manual
  • intl Funções
  • Get symbolic name for a given error code

intl_error_name

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

intl_error_name — Get symbolic name for a given error code

Descrição

intl_error_name ( int $errorCode ) : string

Return ICU error code name.

Parâmetros

errorCode

ICU error code.

Valor Retornado

The returned string will be the same as the name of the error code constant.

Exemplos

Exemplo #1 intl_error_name() example

<?php
$coll     = collator_create( 'en_RU' );
$err_code = collator_get_error_code( $coll );

printf( "Symbolic name for %d is %s\n.", $err_code, intl_error_name( $err_code ) );
?>

O exemplo acima irá imprimir algo similar à:

Symbolic name for -128 is U_USING_FALLBACK_WARNING.

Veja Também

  • intl_is_failure() - Check whether the given error code indicates failure
  • intl_get_error_code() - Get the last error code
  • intl_get_error_message() - Get description of the last error


Get the last error code

  • « intl_error_name
  • intl_get_error_message »
  • PHP Manual
  • intl Funções
  • Get the last error code

intl_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

intl_get_error_code — Get the last error code

Descrição

intl_get_error_code ( ) : int

Useful to handle errors occurred in static methods when there's no object to get error code from.

Valor Retornado

Error code returned by the last API function call.

Exemplos

Exemplo #1 intl_get_error_code() example

<?php
$coll = collator_create( '<bad_param>' );
if( !$coll ) {
    handle_error( intl_get_error_code() );
}
?>

Veja Também

  • intl_is_failure() - Check whether the given error code indicates failure
  • intl_error_name() - Get symbolic name for a given error code
  • intl_get_error_message() - Get description of the last error
  • collator_get_error_code() - Get collator's last error code
  • numfmt_get_error_code() - Get formatter's last error code


Get description of the last error

  • « intl_get_error_code
  • intl_is_failure »
  • PHP Manual
  • intl Funções
  • Get description of the last error

intl_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

intl_get_error_message — Get description of the last error

Descrição

intl_get_error_message ( ) : string

Get error message from last internationalization function called.

Valor Retornado

Description of an error occurred in the last API function call.

Exemplos

Exemplo #1 intl_get_error_message() example

<?php
if( Collator::getAvailableLocales() === false ) {
    show_error( intl_get_error_message() );
}
?>

Veja Também

  • intl_error_name() - Get symbolic name for a given error code
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure
  • collator_get_error_message() - Get text for collator's last error code
  • numfmt_get_error_message() - Get formatter's last error message


Check whether the given error code indicates failure

  • « intl_get_error_message
  • Multibyte String »
  • PHP Manual
  • intl Funções
  • Check whether the given error code indicates failure

intl_is_failure

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

intl_is_failure — Check whether the given error code indicates failure

Descrição

intl_is_failure ( int $errorCode ) : bool

Parâmetros

errorCode

is a value that returned by functions: intl_get_error_code(), collator_get_error_code() .

Valor Retornado

true if it the code indicates some failure, and false in case of success or a warning.

Exemplos

Exemplo #1 intl_is_failure() example

<?php
function check( $err_code )
{
    var_export( intl_is_failure( $err_code ) );
    echo "\n";
}

check( U_ZERO_ERROR );
check( U_USING_FALLBACK_WARNING );
check( U_ILLEGAL_ARGUMENT_ERROR );
?>

O exemplo acima irá imprimir algo similar à:

false
false
true

Veja Também

  • intl_get_error_code() - Get the last error code
  • collator_get_error_code() - Get collator's last error code
  • Collator-getErrorCode() - Get collator's last error code


Multibyte String

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Summaries of supported encodings
  • Noções Básicas de Codificações Multibyte Japonesas
  • HTTP Input and Output
  • Supported Character Encodings
  • Function Overloading Feature
  • PHP Character Encoding Requirements
  • Multibyte String Funções
    • mb_check_encoding — Check if strings are valid for the specified encoding
    • mb_chr — Get a specific character
    • mb_convert_case — Perform case folding on a string
    • mb_convert_encoding — Convert character encoding
    • mb_convert_kana — Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
    • mb_convert_variables — Convert character code in variable(s)
    • mb_decode_mimeheader — Decode string in MIME header field
    • mb_decode_numericentity — Decode HTML numeric string reference to character
    • mb_detect_encoding — Detect character encoding
    • mb_detect_order — Set/Get character encoding detection order
    • mb_encode_mimeheader — Encode string for MIME header
    • mb_encode_numericentity — Encode character to HTML numeric string reference
    • mb_encoding_aliases — Get aliases of a known encoding type
    • mb_ereg_match — Regular expression match for multibyte string
    • mb_ereg_replace_callback — Perform a regular expression search and replace with multibyte support using a callback
    • mb_ereg_replace — Replace regular expression with multibyte support
    • mb_ereg_search_getpos — Returns start point for next regular expression match
    • mb_ereg_search_getregs — Retrieve the result from the last multibyte regular expression match
    • mb_ereg_search_init — Setup string and regular expression for a multibyte regular expression match
    • mb_ereg_search_pos — Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string
    • mb_ereg_search_regs — Returns the matched part of a multibyte regular expression
    • mb_ereg_search_setpos — Set start point of next regular expression match
    • mb_ereg_search — Multibyte regular expression match for predefined multibyte string
    • mb_ereg — Regular expression match with multibyte support
    • mb_eregi_replace — Replace regular expression with multibyte support ignoring case
    • mb_eregi — Regular expression match ignoring case with multibyte support
    • mb_get_info — Get internal settings of mbstring
    • mb_http_input — Detect HTTP input character encoding
    • mb_http_output — Set/Get HTTP output character encoding
    • mb_internal_encoding — Set/Get internal character encoding
    • mb_language — Set/Get current language
    • mb_list_encodings — Returns an array of all supported encodings
    • mb_ord — Get code point of character
    • mb_output_handler — Callback function converts character encoding in output buffer
    • mb_parse_str — Parse GET/POST/COOKIE data and set global variable
    • mb_preferred_mime_name — Get MIME charset string
    • mb_regex_encoding — Set/Get character encoding for multibyte regex
    • mb_regex_set_options — Set/Get the default options for mbregex functions
    • mb_scrub — Description
    • mb_send_mail — Send encoded mail
    • mb_split — Split multibyte string using regular expression
    • mb_str_split — Given a multibyte string, return an array of its characters
    • mb_strcut — Get part of string
    • mb_strimwidth — Get truncated string with specified width
    • mb_stripos — Finds position of first occurrence of a string within another, case insensitive
    • mb_stristr — Finds first occurrence of a string within another, case insensitive
    • mb_strlen — Get string length
    • mb_strpos — Find position of first occurrence of string in a string
    • mb_strrchr — Finds the last occurrence of a character in a string within another
    • mb_strrichr — Finds the last occurrence of a character in a string within another, case insensitive
    • mb_strripos — Finds position of last occurrence of a string within another, case insensitive
    • mb_strrpos — Find position of last occurrence of a string in a string
    • mb_strstr — Finds first occurrence of a string within another
    • mb_strtolower — Torna uma string minúscula
    • mb_strtoupper — Make a string uppercase
    • mb_strwidth — Return width of string
    • mb_substitute_character — Set/Get substitution character
    • mb_substr_count — Count the number of substring occurrences
    • mb_substr — Get part of string


Introdução

While there are many languages in which every necessary character can be represented by a one-to-one mapping to an 8-bit value, there are also several languages which require so many characters for written communication that they cannot be contained within the range a mere byte can code (A byte is made up of eight bits. Each bit can contain only two distinct values, one or zero. Because of this, a byte can only represent 256 unique values (two to the power of eight)). Multibyte character encoding schemes were developed to express more than 256 characters in the regular bytewise coding system.

When you manipulate (trim, split, splice, etc.) strings encoded in a multibyte encoding, you need to use special functions since two or more consecutive bytes may represent a single character in such encoding schemes. Otherwise, if you apply a non-multibyte-aware string function to the string, it probably fails to detect the beginning or ending of the multibyte character and ends up with a corrupted garbage string that most likely loses its original meaning.

mbstring provides multibyte specific string functions that help you deal with multibyte encodings in PHP. In addition to that, mbstring handles character encoding conversion between the possible encoding pairs. mbstring is designed to handle Unicode-based encodings such as UTF-8 and UCS-2 and many single-byte encodings for convenience (listed below).


Instalação

mbstring is a non-default extension. This means it is not enabled by default. You must explicitly enable the module with the configure option. See the Install section for details.

The following configure options are related to the mbstring module.

  • --enable-mbstring: Enable mbstring functions. This option is required to use mbstring functions.

    libmbfl is necessary for mbstring. libmbfl is bundled with mbstring. Prior to PHP 7.3.0, if libmbfl is already installed on the system, --with-libmbfl[=DIR] can be specified to use the installed library.

  • --disable-mbregex: Disable regular expression functions with multibyte character support.

    Oniguruma is necessary for the regular expression functions with multibyte character support. As of PHP 7.4.0, pkg-config is used to detect the libonig library. Prior to PHP 7.4.0, Oniguruma was bundled with mbstring, but it was possible to build against an already installed libonig by passing --with-onig[=DIR].

    It is possible to disable the multibyte regex backtrack check by specifying --disable-mbregex-backtrack.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

mbstring configuration options
Nome | Padrão | Modificável | Changelog
mbstring.language | "neutral" | PHP_INI_ALL | PHP_INI_PERDIR in PHP <= 5.2.6.
mbstring.detect_order | NULL | PHP_INI_ALL |
mbstring.http_input | "pass" | PHP_INI_ALL | Deprecated in PHP 5.6.0.
mbstring.http_output | "pass" | PHP_INI_ALL | Deprecated in PHP 5.6.0.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Deprecated in PHP 5.6.0.
mbstring.script_encoding | NULL | PHP_INI_ALL | Removed in PHP 5.4.0. Use zend.script_encoding instead.
mbstring.substitute_character | NULL | PHP_INI_ALL |
mbstring.func_overload | "0" | PHP_INI_SYSTEM | PHP_INI_PERDIR in PHP <= 5.2.6. Deprecated as of PHP 7.2.0; removed as of PHP 8.0.0.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR |
mbstring.http_output_conv_mimetypes | "^(text/|application/xhtml\+xml)" | PHP_INI_ALL | Available as of PHP 5.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Available as of PHP 5.1.2.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

mbstring.language string

The default national language setting (NLS) used in mbstring. Note that this option automagically defines mbstring.internal_encoding and mbstring.internal_encoding should be placed after mbstring.language in php.ini

mbstring.encoding_translation bool

Enables the transparent character encoding filter for the incoming HTTP queries, which performs detection and conversion of the input encoding to the internal character encoding.

mbstring.internal_encoding string
Aviso

Este recurso está OBSOLETO desde o PHP 5.6.0. Confiar nesta funcionalidade é altamente não recomendado.

Defines the default internal character encoding.

PHP 5.6 and later users should leave this empty and set default_charset instead.

mbstring.http_input string
Aviso

Este recurso está OBSOLETO desde o PHP 5.6.0. Confiar nesta funcionalidade é altamente não recomendado.

Defines the default HTTP input character encoding.

PHP 5.6 and later users should leave this empty and set default_charset instead.

mbstring.http_output string
Aviso

Este recurso está OBSOLETO desde o PHP 5.6.0. Confiar nesta funcionalidade é altamente não recomendado.

Defines the default HTTP output character encoding (output will be converted from the internal encoding to the HTTP output encoding upon output).

PHP 5.6 and later users should leave this empty and set default_charset instead.

mbstring.detect_order string

Defines default character code detection order. See also mb_detect_order().

mbstring.substitute_character string

Defines character to substitute for invalid character encoding. See mb_substitute_character() for supported values.

mbstring.func_overload string
Aviso

This feature has been DEPRECATED as of PHP 7.2.0, and REMOVED as of PHP 8.0.0. Relying on this feature is highly discouraged.

Overloads a set of single byte functions by the mbstring counterparts. See Function overloading for more information.

This setting can only be changed from the php.ini file.

mbstring.http_output_conv_mimetypes string

mbstring.strict_detection bool

Enables the strict encoding detection.

According to the » HTML 4.01 specification, Web browsers are allowed to encode a form being submitted with a character encoding different from the one used for the page. See mb_http_input() to detect character encoding used by browsers.

Although popular browsers are capable of giving a reasonably accurate guess to the character encoding of a given HTML document, it would be better to set the charset parameter in the Content-Type HTTP header to the appropriate value by header() or default_charset ini setting.

Exemplo #1 php.ini setting examples

; Set default language
mbstring.language        = Neutral; Set default language to Neutral(UTF-8) (default)
mbstring.language        = English; Set default language to English
mbstring.language        = Japanese; Set default language to Japanese

;; Set default internal encoding
;; Note: Make sure to use character encoding works with PHP
mbstring.internal_encoding    = UTF-8  ; Set internal encoding to UTF-8

;; HTTP input encoding translation is enabled.
mbstring.encoding_translation = On

;; Set default HTTP input character encoding
;; Note: Script cannot change http_input setting.
mbstring.http_input           = pass    ; No conversion.
mbstring.http_input           = auto    ; Set HTTP input to auto
                                ; "auto" is expanded according to mbstring.language
mbstring.http_input           = SJIS    ; Set HTTP input to SJIS
mbstring.http_input           = UTF-8,SJIS,EUC-JP ; Specify order

;; Set default HTTP output character encoding
mbstring.http_output          = pass    ; No conversion
mbstring.http_output          = UTF-8   ; Set HTTP output encoding to UTF-8

;; Set default character encoding detection order
mbstring.detect_order         = auto    ; Set detect order to auto
mbstring.detect_order         = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Specify order

;; Set default substitute character
mbstring.substitute_character = 12307   ; Specify Unicode value
mbstring.substitute_character = none    ; Do not print character
mbstring.substitute_character = long    ; Long Example: U+3000,JIS+7E7E

Exemplo #2 php.ini setting for EUC-JP users

;; Disable Output Buffering
output_buffering      = Off

;; Set HTTP header charset
default_charset       = EUC-JP

;; Set default language to Japanese
mbstring.language = Japanese

;; HTTP input encoding translation is enabled.
mbstring.encoding_translation = On

;; Set HTTP input encoding conversion to auto
mbstring.http_input   = auto

;; Convert HTTP output to EUC-JP
mbstring.http_output  = EUC-JP

;; Set internal encoding to EUC-JP
mbstring.internal_encoding = EUC-JP

;; Do not print invalid characters
mbstring.substitute_character = none

Exemplo #3 php.ini setting for SJIS users

;; Enable Output Buffering
output_buffering     = On

;; Set mb_output_handler to enable output conversion
output_handler       = mb_output_handler

;; Set HTTP header charset
default_charset      = Shift_JIS

;; Set default language to Japanese
mbstring.language = Japanese

;; Set http input encoding conversion to auto
mbstring.http_input  = auto

;; Convert to SJIS
mbstring.http_output = SJIS

;; Set internal encoding to EUC-JP
mbstring.internal_encoding = EUC-JP

;; Do not print invalid characters
mbstring.substitute_character = none


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

MB_OVERLOAD_MAIL (int)
Removed as of PHP 8.0.0.
MB_OVERLOAD_STRING (int)
Removed as of PHP 8.0.0.
MB_OVERLOAD_REGEX (int)
Removed as of PHP 8.0.0.
MB_CASE_UPPER (int)
Performs a full upper-case folding. This may change the length of the string. This is the mode used by mb_strtoupper().
MB_CASE_LOWER (int)
Performs a full lower-case folding. This may change the length of the string. This is the mode used by mb_strtolower().
MB_CASE_TITLE (int)
Performs a full title-case conversion based on the Cased and CaseIgnorable derived Unicode properties. In particular this improves handling of quotes and apostrophes. This may change the length of the string.
MB_CASE_FOLD (int)
Performs a full case fold conversion which removes case distinctions present in the string. This is used for caseless matching. This may change the length of the string. Available since PHP 7.3.
MB_CASE_LOWER_SIMPLE (int)
Performs a simple lower-case fold conversion. This does not change the length of the string. Available as of PHP 7.3.
MB_CASE_UPPER_SIMPLE (int)
Performs simple upper-case fold conversion. This does not change the length of the string. Available as of PHP 7.3.
MB_CASE_TITLE_SIMPLE (int)
Performs simple title-case fold conversion. This does not change the length of the string. Available as of PHP 7.3.
MB_CASE_FOLD_SIMPLE (int)
Performs a simple case fold conversion which removes case distinctions present in the string. This is used for caseless matching. This does not change the length of the string. Used by case-insensitive operations internally by the MBString extension. Available as of PHP 7.3.
MB_ONIGURUMA_VERSION (string)
The Oniguruma version, e.g. 6.9.4. Available as of PHP 7.4.


Summaries of supported encodings

Summaries of supported encodings
Name in the IANA character set registry | Underlying character set | Description | Additional note
ISO-10646-UCS-4 | ISO 10646 | The Universal Character Set with 31-bit code space, standardized as UCS-4 by ISO/IEC 10646. It is kept synchronized with the latest version of the Unicode code map. | If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
ISO-10646-UCS-4 | UCS-4 | See above. | In contrast to UCS-4, strings are always assumed to be in big endian form.
ISO-10646-UCS-4 | UCS-4 | See above. | In contrast to UCS-4, strings are always assumed to be in little endian form.
ISO-10646-UCS-2 | UCS-2 | The Universal Character Set with 16-bit code space, standardized as UCS-2 by ISO/IEC 10646. It is kept synchronized with the latest version of the unicode code map. | If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
ISO-10646-UCS-2 | UCS-2 | See above. | In contrast to UCS-2, strings are always assumed to be in big endian form.
ISO-10646-UCS-2 | UCS-2 | See above. | In contrast to UCS-2, strings are always assumed to be in little endian form.
UTF-32 | Unicode | Unicode Transformation Format of 32-bit unit width, whose encoding space refers to the Unicode's codeset standard. This encoding scheme wasn't identical to UCS-4 because the code space of Unicode were limited to a 21-bit value. | If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
UTF-32BE | Unicode | See above | In contrast to UTF-32, strings are always assumed to be in big endian form.
UTF-32LE | Unicode | See above | In contrast to UTF-32, strings are always assumed to be in little endian form.
UTF-16 | Unicode | Unicode Transformation Format of 16-bit unit width. It's worth a note that UTF-16 is no longer the same specification as UCS-2 because the surrogate mechanism has been introduced since Unicode 2.0 and UTF-16 now refers to a 21-bit code space. | If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
UTF-16BE | Unicode | See above. | In contrast to UTF-16, strings are always assumed to be in big endian form.
UTF-16LE | Unicode | See above. | In contrast to UTF-16, strings are always assumed to be in little endian form.
UTF-8 | Unicode / UCS | Unicode Transformation Format of 8-bit unit width. | none
UTF-7 | Unicode | A mail-safe transformation format of Unicode, specified in » RFC2152. | none
(none) | Unicode | A variant of UTF-7 which is specialized for use in the » IMAP protocol. | none
US-ASCII (preferred MIME name) / iso-ir-6 / ANSI_X3.4-1986 / ISO_646.irv:1991 / ASCII / ISO646-US / us / IBM367 / CP367 / csASCII | ASCII / ISO 646 | American Standard Code for Information Interchange is a commonly-used 7-bit encoding. Also standardized as an international standard, ISO 646. | (none)
EUC-JP (preferred MIME name) / Extended_UNIX_Code_Packed_Format_for_Japanese / csEUCPkdFmtJapanese | Compound of US-ASCII / JIS X0201:1997 (hankaku kana part) / JIS X0208:1990 / JIS X0212:1990 | As you see the name is derived from an abbreviation of Extended UNIX Code Packed Format for Japanese, this encoding is mostly used on UNIX or alike platforms. The original encoding scheme, Extended UNIX Code, is designed on the basis of ISO 2022. | The character set referred to by EUC-JP is different to IBM932 / CP932, which are used by OS/2® and Microsoft® Windows®. For information interchange with those platforms, use EUCJP-WIN instead.
Shift_JIS (preferred MIME name) / MS_Kanji / csShift_JIS | Compound of JIS X0201:1997 / JIS X0208:1997 | Shift_JIS was developed in early 80's, at the time personal Japanese word processors were brought into the market, in order to maintain compatibilities with the legacy encoding scheme JIS X 0201:1976. According to the IANA definition the codeset of Shift_JIS is slightly different to IBM932 / CP932. However, the names "SJIS" / "Shift_JIS" are often wrongly used to refer to these codesets. | For the CP932 codemap, use SJIS-WIN instead.
(none) | Compound of JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions | While this "encoding" uses the same encoding scheme as EUC-JP, the underlying character set is different. That is, some code points map to different characters than EUC-JP. | none
Windows-31J / csWindows31J | Compound of JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions | While this "encoding" uses the same encoding scheme as Shift_JIS, the underlying character set is different. That means some code points map to different characters than Shift_JIS. | (none)
ISO-2022-JP (preferred MIME name) / csISO2022JP | US-ASCII / JIS X0201:1976 / JIS X0208:1978 / JIS X0208:1983 | » RFC1468 | (none)
JIS |  |  |
ISO-8859-1 |  |  |
ISO-8859-2 |  |  |
ISO-8859-3 |  |  |
ISO-8859-4 |  |  |
ISO-8859-5 |  |  |
ISO-8859-6 |  |  |
ISO-8859-7 |  |  |
ISO-8859-8 |  |  |
ISO-8859-9 |  |  |
ISO-8859-10 |  |  |
ISO-8859-13 |  |  |
ISO-8859-14 |  |  |
ISO-8859-15 |  |  |
ISO-8859-16 |  |  |
byte2be |  |  |
byte2le |  |  |
byte4be |  |  |
byte4le |  |  |
BASE64 |  |  |
HTML-ENTITIES |  |  |
7bit |  |  |
8bit |  |  |
EUC-CN |  |  |
CP936 |  |  |
HZ |  |  |
EUC-TW |  |  |
CP950 |  |  |
BIG-5 |  |  |
EUC-KR |  |  |
UHC (CP949) |  |  |
ISO-2022-KR |  |  |
Windows-1251 (CP1251) |  |  |
Windows-1252 (CP1252) |  |  |
CP866 (IBM866) |  |  |
KOI8-R |  |  |
KOI8-U |  |  |


Noções Básicas de Codificações Multibyte Japonesas

Os caracteres japoneses só podem ser representados por codificações multibyte, e vários padrões de codificação são usados dependendo da plataforma e da finalidade do texto. Para piorar, esses padrões de codificação diferem um pouco um do outro. Para criar uma aplicação web que possa ser usada em um ambiente japonês, um desenvolvedor deve manter essas complexidades em mente para garantir que as codificações de caracteres apropriadas sejam usadas.

  • O armazenamento para um caractere pode ter até seis bytes
  • A maioria dos caracteres multibyte japoneses aparece com o dobro da largura dos caracteres de byte único. Esses caracteres são chamados "zen-kaku" em japonês, que significa "largura total". Outros caracteres, mais estreitos, são chamados "han-kaku", que significa "meia largura". As propriedades gráficas dos caracteres, no entanto, dependem dos tipos das fontes usadas para exibi-los.
  • Algumas codificações de caracteres usam sequências com shift (escape) definidas na ISO-2022 para alternar o mapa de código da área de código específica (00h a 7fh).
  • A ISO-2022-JP deve ser usada no SMTP/NNTP e os cabeçalhos e entidades devem ser redefinidos de acordo com as exigências da RFC. Embora esses não sejam requisitos, isso ainda é uma boa idéia pois vários agentes de usuários populares não podem reconhecer nenhum outro método de codificação.
  • As páginas web criadas para serviços de telefonia móvel como » i-mode ou » EZweb devem usar Shift_JIS.
  • A partir do PHP 5.4.0, os caracteres de pictograma usados em serviços de telefonia móvel como » i-mode ou » EZweb são suportados.


HTTP Input and Output

HTTP input/output character encoding conversion may convert binary data also. Users are supposed to control character encoding conversion if binary data is used for HTTP input/output.

Nota:

If enctype for HTML form is set to multipart/form-data and mbstring.encoding_translation is set to On in php.ini the POST'ed variables and the names of uploaded files will be converted to the internal character encoding as well. However, the conversion isn't applied to the query keys.

  • HTTP Input

    There is no way to control HTTP input character conversion from a PHP script. To disable HTTP input character conversion, it has to be done in php.ini.

    Exemplo #1 Disable HTTP input conversion in php.ini

    ;; Disable HTTP Input conversion
mbstring.http_input = pass
;; Disable HTTP Input conversion
mbstring.encoding_translation = Off

    When using PHP as an Apache module, it is possible to override those settings in each Virtual Host directive in httpd.conf or per directory with .htaccess. Refer to the Configuration section and Apache Manual for details.

  • HTTP Output

    There are several ways to enable output character encoding conversion. One is using php.ini, another is using ob_start() with mb_output_handler() as the ob_start callback function.

Exemplo #2 php.ini setting example

;; Enable output character encoding conversion for all PHP pages

;; Enable Output Buffering
output_buffering    = On

;; Set mb_output_handler to enable output conversion
output_handler      = mb_output_handler

Exemplo #3 Script example

<?php

// Enable output character encoding conversion only for this page

// Set HTTP output character encoding to SJIS
mb_http_output('SJIS');

// Start buffering and specify "mb_output_handler" as
// callback function
ob_start('mb_output_handler');

?>


Supported Character Encodings

Currently the following character encodings are supported by the mbstring module. Any of those Character encodings can be specified in the encoding parameter of mbstring functions.

The following character encodings are supported in this PHP extension:

  • UCS-4*
  • UCS-4BE
  • UCS-4LE*
  • UCS-2
  • UCS-2BE
  • UCS-2LE
  • UTF-32*
  • UTF-32BE*
  • UTF-32LE*
  • UTF-16*
  • UTF-16BE*
  • UTF-16LE*
  • UTF-7
  • UTF7-IMAP
  • UTF-8*
  • ASCII*
  • EUC-JP*
  • SJIS*
  • eucJP-win*
  • SJIS-win*
  • ISO-2022-JP
  • ISO-2022-JP-MS
  • CP932
  • CP51932
  • SJIS-mac** (alias: MacJapanese)
  • SJIS-Mobile#DOCOMO** (alias: SJIS-DOCOMO)
  • SJIS-Mobile#KDDI** (alias: SJIS-KDDI)
  • SJIS-Mobile#SOFTBANK** (alias: SJIS-SOFTBANK)
  • UTF-8-Mobile#DOCOMO** (alias: UTF-8-DOCOMO)
  • UTF-8-Mobile#KDDI-A**
  • UTF-8-Mobile#KDDI-B** (alias: UTF-8-KDDI)
  • UTF-8-Mobile#SOFTBANK** (alias: UTF-8-SOFTBANK)
  • ISO-2022-JP-MOBILE#KDDI** (alias: ISO-2022-JP-KDDI)
  • JIS
  • JIS-ms
  • CP50220
  • CP50220raw
  • CP50221
  • CP50222
  • ISO-8859-1*
  • ISO-8859-2*
  • ISO-8859-3*
  • ISO-8859-4*
  • ISO-8859-5*
  • ISO-8859-6*
  • ISO-8859-7*
  • ISO-8859-8*
  • ISO-8859-9*
  • ISO-8859-10*
  • ISO-8859-13*
  • ISO-8859-14*
  • ISO-8859-15*
  • ISO-8859-16*
  • byte2be
  • byte2le
  • byte4be
  • byte4le
  • BASE64
  • HTML-ENTITIES (alias: HTML)
  • 7bit
  • 8bit
  • EUC-CN*
  • CP936
  • GB18030**
  • HZ
  • EUC-TW*
  • CP950
  • BIG-5*
  • EUC-KR*
  • UHC (alias: CP949)
  • ISO-2022-KR
  • Windows-1251 (alias: CP1251)
  • Windows-1252 (alias: CP1252)
  • CP866 (alias: IBM866)
  • KOI8-R*
  • KOI8-U*
  • ArmSCII-8 (alias: ArmSCII8)

* denotes encodings usable also in regular expressions.

** denotes encodings available since PHP 5.4.0.

Any php.ini entry which accepts an encoding name can also use the values "auto" and "pass". mbstring functions which accept an encoding name can also use the value "auto".

If "pass" is set, no character encoding conversion is performed.

If "auto" is set, it is expanded to the list of encodings defined per the NLS. For instance, if the NLS is set to Japanese, the value is assumed to be "ASCII,JIS,UTF-8,EUC-JP,SJIS".

See also mb_detect_order()


Function Overloading Feature

Aviso

This feature has been DEPRECATED as of PHP 7.2.0. Relying on this feature is highly discouraged.

You might often find it difficult to get an existing PHP application to work in a given multibyte environment. This happens because most PHP applications out there are written with the standard string functions such as substr(), which are known to not properly handle multibyte-encoded strings.

mbstring supports a 'function overloading' feature which enables you to add multibyte awareness to such an application without code modification by overloading multibyte counterparts on the standard string functions. For example, mb_substr() is called instead of substr() if function overloading is enabled. This feature makes it easy to port applications that only support single-byte encodings to a multibyte environment in many cases.

To use function overloading, set mbstring.func_overload in php.ini to a positive value that represents a combination of bitmasks specifying the categories of functions to be overloaded. It should be set to 1 to overload the mail() function. 2 for string functions, 4 for regular expression functions. For example, if it is set to 7, mail, strings and regular expression functions will be overloaded. The list of overloaded functions are shown below.

Functions to be overloaded
value of mbstring.func_overload | original function | overloaded function
1 | mail() | mb_send_mail()
2 | strlen() | mb_strlen()
2 | strpos() | mb_strpos()
2 | strrpos() | mb_strrpos()
2 | substr() | mb_substr()
2 | strtolower() | mb_strtolower()
2 | strtoupper() | mb_strtoupper()
2 | stripos() | mb_stripos()
2 | strripos() | mb_strripos()
2 | strstr() | mb_strstr()
2 | stristr() | mb_stristr()
2 | strrchr() | mb_strrchr()
2 | substr_count() | mb_substr_count()
4 | ereg() | mb_ereg()
4 | eregi() | mb_eregi()
4 | ereg_replace() | mb_ereg_replace()
4 | eregi_replace() | mb_eregi_replace()
4 | split() | mb_split()

Nota:

It is not recommended to use the function overloading option in the per-directory context, because it's not confirmed yet to be stable enough in a production environment and may lead to undefined behaviour.


PHP Character Encoding Requirements

Encodings of the following types are safely used with PHP.

  • A singlebyte encoding,

    • which has ASCII-compatible (ISO646 compatible) mappings for the characters in range of 00h to 7fh.

  • A multibyte encoding,

    • which has ASCII-compatible mappings for the characters in range of 00h to 7fh.
    • which don't use ISO2022 escape sequences.
    • which don't use a value from 00h to 7fh in any of the compounded bytes that represents a single character.

These are examples of character encodings that are unlikely to work with PHP.

JIS, SJIS, ISO-2022-JP, BIG-5

Although PHP scripts written in any of those encodings might not work, especially in the case where encoded strings appear as identifiers or literals in the script, you can almost avoid using these encodings by setting up the mbstring's transparent encoding filter function for incoming HTTP queries.

Nota:

It's highly discouraged to use SJIS, BIG5, CP936, CP949 and GB18030 for the internal encoding unless you are familiar with the parser, the scanner and the character encoding.

Nota:

If you are connecting to a database with PHP, it is recommended that you use the same character encoding for both the database and the internal encoding for ease of use and better performance.

If you are using PostgreSQL, the character encoding used in the database and the one used in PHP may differ as it supports automatic character set conversion between the backend and the frontend.


Multibyte String Funções

References

Multibyte character encoding schemes and their related issues are fairly complicated, and are beyond the scope of this documentation. Please refer to the following URLs and other resources for further information regarding these topics.

  • Unicode materials

    » http://www.unicode.org/

  • Japanese/Korean/Chinese character information

    » https://resources.oreilly.com/examples/9781565922242/blob/master/doc/cjk.inf

Índice

  • mb_check_encoding — Check if strings are valid for the specified encoding
  • mb_chr — Get a specific character
  • mb_convert_case — Perform case folding on a string
  • mb_convert_encoding — Convert character encoding
  • mb_convert_kana — Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
  • mb_convert_variables — Convert character code in variable(s)
  • mb_decode_mimeheader — Decode string in MIME header field
  • mb_decode_numericentity — Decode HTML numeric string reference to character
  • mb_detect_encoding — Detect character encoding
  • mb_detect_order — Set/Get character encoding detection order
  • mb_encode_mimeheader — Encode string for MIME header
  • mb_encode_numericentity — Encode character to HTML numeric string reference
  • mb_encoding_aliases — Get aliases of a known encoding type
  • mb_ereg_match — Regular expression match for multibyte string
  • mb_ereg_replace_callback — Perform a regular expression search and replace with multibyte support using a callback
  • mb_ereg_replace — Replace regular expression with multibyte support
  • mb_ereg_search_getpos — Returns start point for next regular expression match
  • mb_ereg_search_getregs — Retrieve the result from the last multibyte regular expression match
  • mb_ereg_search_init — Setup string and regular expression for a multibyte regular expression match
  • mb_ereg_search_pos — Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string
  • mb_ereg_search_regs — Returns the matched part of a multibyte regular expression
  • mb_ereg_search_setpos — Set start point of next regular expression match
  • mb_ereg_search — Multibyte regular expression match for predefined multibyte string
  • mb_ereg — Regular expression match with multibyte support
  • mb_eregi_replace — Replace regular expression with multibyte support ignoring case
  • mb_eregi — Regular expression match ignoring case with multibyte support
  • mb_get_info — Get internal settings of mbstring
  • mb_http_input — Detect HTTP input character encoding
  • mb_http_output — Set/Get HTTP output character encoding
  • mb_internal_encoding — Set/Get internal character encoding
  • mb_language — Set/Get current language
  • mb_list_encodings — Returns an array of all supported encodings
  • mb_ord — Get code point of character
  • mb_output_handler — Callback function converts character encoding in output buffer
  • mb_parse_str — Parse GET/POST/COOKIE data and set global variable
  • mb_preferred_mime_name — Get MIME charset string
  • mb_regex_encoding — Set/Get character encoding for multibyte regex
  • mb_regex_set_options — Set/Get the default options for mbregex functions
  • mb_scrub — Description
  • mb_send_mail — Send encoded mail
  • mb_split — Split multibyte string using regular expression
  • mb_str_split — Given a multibyte string, return an array of its characters
  • mb_strcut — Get part of string
  • mb_strimwidth — Get truncated string with specified width
  • mb_stripos — Finds position of first occurrence of a string within another, case insensitive
  • mb_stristr — Finds first occurrence of a string within another, case insensitive
  • mb_strlen — Get string length
  • mb_strpos — Find position of first occurrence of string in a string
  • mb_strrchr — Finds the last occurrence of a character in a string within another
  • mb_strrichr — Finds the last occurrence of a character in a string within another, case insensitive
  • mb_strripos — Finds position of last occurrence of a string within another, case insensitive
  • mb_strrpos — Find position of last occurrence of a string in a string
  • mb_strstr — Finds first occurrence of a string within another
  • mb_strtolower — Torna uma string minúscula
  • mb_strtoupper — Make a string uppercase
  • mb_strwidth — Return width of string
  • mb_substitute_character — Set/Get substitution character
  • mb_substr_count — Count the number of substring occurrences
  • mb_substr — Get part of string


Check if strings are valid for the specified encoding

  • « Multibyte String Funções
  • mb_chr »
  • PHP Manual
  • Multibyte String Funções
  • Check if strings are valid for the specified encoding

mb_check_encoding

(PHP 4 >= 4.4.3, PHP 5 >= 5.1.3, PHP 7, PHP 8)

mb_check_encoding — Check if strings are valid for the specified encoding

Descrição

mb_check_encoding ( array|string|null $value = null , string|null $encoding = null ) : bool

Checks if the specified byte stream is valid for the specified encoding. If value is of type array, all keys and values are validated recursively. It is useful to prevent so-called "Invalid Encoding Attack".

Parâmetros

value

The byte stream or array to check. If it is omitted, this function checks all the input from the beginning of the request.

encoding

The expected encoding.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | value and encoding are nullable now.
7.2.0 | This function now also accepts an array as value. Formerly, only strings have been supported.


Get a specific character

  • « mb_check_encoding
  • mb_convert_case »
  • PHP Manual
  • Multibyte String Funções
  • Get a specific character

mb_chr

(PHP 7 >= 7.2.0, PHP 8)

mb_chr — Get a specific character

Descrição

mb_chr ( int $codepoint , string|null $encoding = null ) : string|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

codepoint

encoding

Valor Retornado

Returns a specific character ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • mb_ord() - Get code point of character
  • chr() - Retorna um caracter específico


Perform case folding on a string

  • « mb_chr
  • mb_convert_encoding »
  • PHP Manual
  • Multibyte String Funções
  • Perform case folding on a string

mb_convert_case

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_convert_case — Perform case folding on a string

Descrição

mb_convert_case ( string $string , int $mode , string|null $encoding = null ) : string

Performs case folding on a string, converted in the way specified by mode.

Parâmetros

string

The string being converted.

mode

The mode of the conversion. It can be one of MB_CASE_UPPER, MB_CASE_LOWER, MB_CASE_TITLE, MB_CASE_FOLD, MB_CASE_UPPER_SIMPLE, MB_CASE_LOWER_SIMPLE, MB_CASE_TITLE_SIMPLE, MB_CASE_FOLD_SIMPLE.

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

Valor Retornado

A case folded version of string converted in the way specified by mode.

Unicode

By contrast to the standard case folding functions such as strtolower() and strtoupper(), case folding is performed on the basis of the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as A-umlaut (Ä).

For more information about the Unicode properties, please see » http://www.unicode.org/reports/tr21/.

Changelog

Versão | Descrição
7.3.0 | Added support for MB_CASE_FOLD, MB_CASE_UPPER_SIMPLE, MB_CASE_LOWER_SIMPLE, MB_CASE_TITLE_SIMPLE, and MB_CASE_FOLD_SIMPLE as mode.

Exemplos

Exemplo #1 mb_convert_case() example

<?php
$str = "mary had a Little lamb and she loved it so";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Prints Mary Had A Little Lamb And She Loved It So
?>

Exemplo #2 mb_convert_case() example with non-Latin UTF-8 text

<?php
$str = "????st? a??p?? ßaf?? ??µ??? ??, d?as?e???e? ?p?? ?????? ?????";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // Prints ????S?? ?????? ??F?S ?????? G?, ???S??????? ???? ?OT??? ????S
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Prints ????st? ???p?? ?af?s ??µ??? G?, ??as?e???e? ?p?? ?????? ????s
?>

Veja Também

  • mb_strtolower() - Torna uma string minúscula
  • mb_strtoupper() - Make a string uppercase
  • strtolower() - Converte uma string para minúsculas
  • strtoupper() - Converte uma string para maiúsculas
  • ucfirst() - Converte para maiúscula o primeiro caractere de uma string
  • ucwords() - Converte para maiúsculas o primeiro caractere de cada palavra


Convert character encoding

  • « mb_convert_case
  • mb_convert_kana »
  • PHP Manual
  • Multibyte String Funções
  • Convert character encoding

mb_convert_encoding

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_convert_encoding — Convert character encoding

Descrição

mb_convert_encoding ( array|string $string , string $to_encoding , array|string|null $from_encoding = null ) : array|string|false

Converts the character encoding of string to to_encoding from optionally from_encoding. If string is an array, all its string values will be converted recursively.

Parâmetros

string

The string or array being encoded.

to_encoding

The type of encoding that string is being converted to.

from_encoding

Is specified by character code names before conversion. It is either an array, or a comma separated enumerated list. If from_encoding is not specified, the internal encoding will be used.

See supported encodings.

Valor Retornado

The encoded string or array on success, ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | from_encoding is nullable now.
7.2.0 | This function now also accepts an array as string. Formerly, only strings have been supported.

Exemplos

Exemplo #1 mb_convert_encoding() example

<?php
/* Convert internal character encoding to SJIS */
$str = mb_convert_encoding($str, "SJIS");

/* Convert EUC-JP to UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");

/* Auto detect encoding from JIS, eucjp-win, sjis-win, then convert str to UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");

/* "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>

Veja Também

  • mb_detect_order() - Set/Get character encoding detection order


Convert "kana" one from another ("zen-kaku", "han-kaku" and more)

  • « mb_convert_encoding
  • mb_convert_variables »
  • PHP Manual
  • Multibyte String Funções
  • Convert "kana" one from another ("zen-kaku", "han-kaku" and more)

mb_convert_kana

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_convert_kana — Convert "kana" one from another ("zen-kaku", "han-kaku" and more)

Descrição

mb_convert_kana ( string $string , string $mode = "KV" , string|null $encoding = null ) : string

Performs a "han-kaku" - "zen-kaku" conversion for string string. This function is only useful for Japanese.

Parâmetros

string

The string being converted.

mode

The conversion option.

Specify with a combination of following options.

Applicable Conversion Options
Option | Meaning
r | Convert "zen-kaku" alphabets to "han-kaku"
R | Convert "han-kaku" alphabets to "zen-kaku"
n | Convert "zen-kaku" numbers to "han-kaku"
N | Convert "han-kaku" numbers to "zen-kaku"
a | Convert "zen-kaku" alphabets and numbers to "han-kaku"
A | Convert "han-kaku" alphabets and numbers to "zen-kaku" (Characters included in "a", "A" options are U+0021 - U+007E excluding U+0022, U+0027, U+005C, U+007E)
s | Convert "zen-kaku" space to "han-kaku" (U+3000 -> U+0020)
S | Convert "han-kaku" space to "zen-kaku" (U+0020 -> U+3000)
k | Convert "zen-kaku kata-kana" to "han-kaku kata-kana"
K | Convert "han-kaku kata-kana" to "zen-kaku kata-kana"
h | Convert "zen-kaku hira-gana" to "han-kaku kata-kana"
H | Convert "han-kaku kata-kana" to "zen-kaku hira-gana"
c | Convert "zen-kaku kata-kana" to "zen-kaku hira-gana"
C | Convert "zen-kaku hira-gana" to "zen-kaku kata-kana"
V | Collapse voiced sound notation and convert them into a character. Use with "K","H"

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

Valor Retornado

The converted string.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Exemplos

Exemplo #1 mb_convert_kana() example

<?php
/* Convert all "kana" to "zen-kaku" "kata-kana" */
$str = mb_convert_kana($str, "KVC");

/* Convert "han-kaku" "kata-kana" to "zen-kaku" "kata-kana"
   and "zen-kaku" alphanumeric to "han-kaku" */
$str = mb_convert_kana($str, "KVa");
?>


Convert character code in variable(s)

  • « mb_convert_kana
  • mb_decode_mimeheader »
  • PHP Manual
  • Multibyte String Funções
  • Convert character code in variable(s)

mb_convert_variables

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_convert_variables — Convert character code in variable(s)

Descrição

mb_convert_variables ( string $to_encoding , array|string $from_encoding , mixed &$var , mixed &...$vars ) : string|false

Converts character encoding of variables var and vars in encoding from_encoding to encoding to_encoding.

mb_convert_variables() join strings in Array or Object to detect encoding, since encoding detection tends to fail for short strings. Therefore, it is impossible to mix encoding in single array or object.

Parâmetros

to_encoding

The encoding that the string is being converted to.

from_encoding

from_encoding is specified as an array or comma separated string, it tries to detect encoding from from-coding. When from_encoding is omitted, detect_order is used.

var

var is the reference to the variable being converted. String, Array and Object are accepted. mb_convert_variables() assumes all parameters have the same encoding.

vars

Additional vars.

Valor Retornado

The character encoding before conversion for success, or false for failure.

Exemplos

Exemplo #1 mb_convert_variables() example

<?php
/* Convert variables $post1, $post2 to internal encoding */
$interenc = mb_internal_encoding();
$inputenc = mb_convert_variables($interenc, "ASCII,UTF-8,SJIS-win", $post1, $post2);
?>


Decode string in MIME header field

  • « mb_convert_variables
  • mb_decode_numericentity »
  • PHP Manual
  • Multibyte String Funções
  • Decode string in MIME header field

mb_decode_mimeheader

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_decode_mimeheader — Decode string in MIME header field

Descrição

mb_decode_mimeheader ( string $string ) : string

Decodes encoded-word string string in MIME header.

Parâmetros

string

The string being decoded.

Valor Retornado

The decoded string in internal character encoding.

Veja Também

  • mb_encode_mimeheader() - Encode string for MIME header


Decode HTML numeric string reference to character

  • « mb_decode_mimeheader
  • mb_detect_encoding »
  • PHP Manual
  • Multibyte String Funções
  • Decode HTML numeric string reference to character

mb_decode_numericentity

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_decode_numericentity — Decode HTML numeric string reference to character

Descrição

mb_decode_numericentity ( string $string , array $map , string|null $encoding = null ) : string

Convert numeric string reference of string string in a specified block to character.

Parâmetros

string

The string being decoded.

map

map is an array that specifies the code area to convert.

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

is_hex

This parameter is not used.

Valor Retornado

The converted string.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Exemplos

Exemplo #1 map example

<?php
$convmap = array (
   int start_code1, int end_code1, int offset1, int mask1,
   int start_code2, int end_code2, int offset2, int mask2,
   ........
   int start_codeN, int end_codeN, int offsetN, int maskN );
// Specify Unicode value for start_codeN and end_codeN
// Add offsetN to value and take bit-wise 'AND' with maskN,
// then convert value to numeric string reference.
?>

Exemplo #2 map example escapes JavaScript string

<?php
function escape_javascript_string($str) {
  $map = [
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,0,0, // 49
          0,0,0,0,0,0,0,0,1,1,
          1,1,1,1,1,0,0,0,0,0,
          0,0,0,0,0,0,0,0,0,0,
          0,0,0,0,0,0,0,0,0,0,
          0,1,1,1,1,1,1,0,0,0, // 99
          0,0,0,0,0,0,0,0,0,0,
          0,0,0,0,0,0,0,0,0,0,
          0,0,0,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1, // 149
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1, // 199
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1, // 249
          1,1,1,1,1,1,1, // 255
          ];
  // Char encoding is UTF-8
  $mblen = mb_strlen($str, 'UTF-8');
  $utf32 = bin2hex(mb_convert_encoding($str, 'UTF-32', 'UTF-8'));
  for ($i=0, $encoded=''; $i < $mblen; $i++) {
      $u = substr($utf32, $i*8, 8);
      $v = base_convert($u, 16, 10);
      if ($v < 256 && $map[$v]) {
        $encoded .= '\\x'.substr($u, 6,2);
      } else if ($v == 2028) {
        $encoded .= '\\u2028';
      } else if ($v == 2029) {
        $encoded .= '\\u2029';
      } else {
        $encoded .= mb_convert_encoding(hex2bin($u), 'UTF-8', 'UTF-32');
      }
   }
   return $encoded;
}

// Test data
$convmap = [ 0x0, 0xffff, 0, 0xffff ];
$msg = '';
for ($i=0; $i < 1000; $i++) {
  // chr() cannot generate correct UTF-8 data larger value than 128, use mb_decode_numericentity().
  $msg .= mb_decode_numericentity('&#'.$i.';', $convmap, 'UTF-8');
}

// var_dump($msg);
var_dump(escape_javascript_string($msg));

Veja Também

  • mb_encode_numericentity() - Encode character to HTML numeric string reference


Detect character encoding

  • « mb_decode_numericentity
  • mb_detect_order »
  • PHP Manual
  • Multibyte String Funções
  • Detect character encoding

mb_detect_encoding

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_detect_encoding — Detect character encoding

Descrição

mb_detect_encoding ( string $string , array|string|null $encodings = null , bool $strict = false ) : string|false

Detects character encoding in string string.

Parâmetros

string

The string being detected.

encodings

encodings is list of character encoding. Encoding order may be specified by array or comma separated list string.

If encodings is omitted or null, detect_order is used.

strict

strict specifies whether to use the strict encoding detection or not. Default is false.

Valor Retornado

The detected character encoding or false if the encoding cannot be detected from the given string.

Exemplos

Exemplo #1 mb_detect_encoding() example

<?php
/* Detect character encoding with current detect_order */
echo mb_detect_encoding($str);

/* "auto" is expanded according to mbstring.language */
echo mb_detect_encoding($str, "auto");

/* Specify "encodings" parameter by list separated by comma */
echo mb_detect_encoding($str, "JIS, eucjp-win, sjis-win");

/* Use array to specify "encodings" parameter  */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
echo mb_detect_encoding($str, $ary);
?>

Veja Também

  • mb_detect_order() - Set/Get character encoding detection order


Set/Get character encoding detection order

  • « mb_detect_encoding
  • mb_encode_mimeheader »
  • PHP Manual
  • Multibyte String Funções
  • Set/Get character encoding detection order

mb_detect_order

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_detect_order — Set/Get character encoding detection order

Descrição

mb_detect_order ( array|string|null $encoding = null ) : array|bool

Sets the automatic character encoding detection order to encoding.

Parâmetros

encoding

encoding is an array or comma separated list of character encoding. See supported encodings.

If encoding is omitted or null, it returns the current character encoding detection order as array.

This setting affects mb_detect_encoding() and mb_send_mail().

mbstring currently implements the following encoding detection filters. If there is an invalid byte sequence for the following encodings, encoding detection will fail.

UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP

For ISO-8859-*, mbstring always detects as ISO-8859-*.

For UTF-16, UTF-32, UCS2 and UCS4, encoding detection will fail always.

Valor Retornado

When setting the encoding detection order, true is returned on success or false on failure.

When getting the encoding detection order, an ordered array of the encodings is returned.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Exemplos

Exemplo #1 mb_detect_order() examples

<?php
/* Set detection order by enumerated list */
mb_detect_order("eucjp-win,sjis-win,UTF-8");

/* Set detection order by array */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);

/* Display current detection order */
echo implode(", ", mb_detect_order());
?>

Exemplo #2 Example showing useless detect orders

; Always detect as ISO-8859-1
detect_order = ISO-8859-1, UTF-8

; Always detect as UTF-8, since ASCII/UTF-7 values are
; valid for UTF-8
detect_order = UTF-8, ASCII, UTF-7

Veja Também

  • mb_internal_encoding() - Set/Get internal character encoding
  • mb_http_input() - Detect HTTP input character encoding
  • mb_http_output() - Set/Get HTTP output character encoding
  • mb_send_mail() - Send encoded mail


Encode string for MIME header

  • « mb_detect_order
  • mb_encode_numericentity »
  • PHP Manual
  • Multibyte String Funções
  • Encode string for MIME header

mb_encode_mimeheader

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_encode_mimeheader — Encode string for MIME header

Descrição

mb_encode_mimeheader ( string $string , string|null $charset = null , string|null $transfer_encoding = null , string $newline = "\r\n" , int $indent = 0 ) : string

Encodes a given string string by the MIME header encoding scheme.

Parâmetros

string

The string being encoded. Its encoding should be same as mb_internal_encoding().

charset

charset specifies the name of the character set in which string is represented in. The default value is determined by the current NLS setting (mbstring.language).

transfer_encoding

transfer_encoding specifies the scheme of MIME encoding. It should be either "B" (Base64) or "Q" (Quoted-Printable). Falls back to "B" if not given.

newline

newline specifies the EOL (end-of-line) marker with which mb_encode_mimeheader() performs line-folding (a » RFC term, the act of breaking a line longer than a certain length into multiple lines. The length is currently hard-coded to 74 characters). Falls back to "\r\n" (CRLF) if not given.

indent

Indentation of the first line (number of characters in the header before string).

Valor Retornado

A converted version of the string represented in ASCII.

Changelog

Versão | Descrição
8.0.0 | charset and transfer_encoding are nullable now.

Exemplos

Exemplo #1 mb_encode_mimeheader() example

<?php
$name = ""; // kanji
$mbox = "kru";
$doma = "gtinn.mon";
$addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">";
echo $addr;
?>

Notas

Nota:

This function isn't designed to break lines at higher-level contextual break points (word boundaries, etc.). This behaviour may clutter up the original string with unexpected spaces.

Veja Também

  • mb_decode_mimeheader() - Decode string in MIME header field


Encode character to HTML numeric string reference

  • « mb_encode_mimeheader
  • mb_encoding_aliases »
  • PHP Manual
  • Multibyte String Funções
  • Encode character to HTML numeric string reference

mb_encode_numericentity

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_encode_numericentity — Encode character to HTML numeric string reference

Descrição

mb_encode_numericentity ( string $string , array $map , string|null $encoding = null , bool $hex = false ) : string

Converts specified character codes in string string from character code to HTML numeric character reference.

Parâmetros

string

The string being encoded.

map

map is array specifies code area to convert.

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

hex

Whether the returned entity reference should be in hexadecimal notation (otherwise it is in decimal notation).

Valor Retornado

The converted string.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Exemplos

Exemplo #1 map example

<?php
$convmap = array (
 int start_code1, int end_code1, int offset1, int mask1,
 int start_code2, int end_code2, int offset2, int mask2,
 ........
 int start_codeN, int end_codeN, int offsetN, int maskN );
// Specify Unicode value for start_codeN and end_codeN
// Add offsetN to value and take bit-wise 'AND' with maskN, then
// it converts value to numeric string reference.
?>

Exemplo #2 mb_encode_numericentity() example

<?php
/* Convert Left side of ISO-8859-1 to HTML numeric character reference */
$convmap = array(0x80, 0xff, 0, 0xff);
$str = mb_encode_numericentity($str, $convmap, "ISO-8859-1");

/* Convert user defined SJIS-win code in block 95-104 to numeric
   string reference */
$convmap = array(
       0xe000, 0xe03e, 0x1040, 0xffff,
       0xe03f, 0xe0bb, 0x1041, 0xffff,
       0xe0bc, 0xe0fa, 0x1084, 0xffff,
       0xe0fb, 0xe177, 0x1085, 0xffff,
       0xe178, 0xe1b6, 0x10c8, 0xffff,
       0xe1b7, 0xe233, 0x10c9, 0xffff,
       0xe234, 0xe272, 0x110c, 0xffff,
       0xe273, 0xe2ef, 0x110d, 0xffff,
       0xe2f0, 0xe32e, 0x1150, 0xffff,
       0xe32f, 0xe3ab, 0x1151, 0xffff );
$str = mb_encode_numericentity($str, $convmap, "sjis-win");
?>

Veja Também

  • mb_decode_numericentity() - Decode HTML numeric string reference to character


Get aliases of a known encoding type

  • « mb_encode_numericentity
  • mb_ereg_match »
  • PHP Manual
  • Multibyte String Funções
  • Get aliases of a known encoding type

mb_encoding_aliases

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

mb_encoding_aliases — Get aliases of a known encoding type

Descrição

mb_encoding_aliases ( string $encoding ) : array

Returns an array of aliases for a known encoding type.

Parâmetros

encoding

The encoding type being checked, for aliases.

Valor Retornado

Returns a numerically indexed array of encoding aliases on success, ou false em caso de falha

Erros

Emits an E_WARNING level error if encoding is unknown.

Exemplos

Exemplo #1 mb_encoding_aliases() example

<?php
$encoding        = 'ASCII';
$known_encodings = mb_list_encodings();

if (in_array($encoding, $known_encodings)) {

    $aliases = mb_encoding_aliases($encoding);
    print_r($aliases);

} else {

    echo "Unknown ($encoding) encoding.\n";

}
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => ANSI_X3.4-1968
    [1] => iso-ir-6
    [2] => ANSI_X3.4-1986
    [3] => ISO_646.irv:1991
    [4] => US-ASCII
    [5] => ISO646-US
    [6] => us
    [7] => IBM367
    [8] => cp367
    [9] => csASCII
)

Veja Também

  • mb_list_encodings() - Returns an array of all supported encodings


Regular expression match for multibyte string

  • « mb_encoding_aliases
  • mb_ereg_replace_callback »
  • PHP Manual
  • Multibyte String Funções
  • Regular expression match for multibyte string

mb_ereg_match

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_match — Regular expression match for multibyte string

Descrição

mb_ereg_match ( string $pattern , string $string , string|null $options = null ) : bool

A regular expression match for a multibyte string

Parâmetros

pattern

The regular expression pattern.

string

The string being evaluated.

options

The search option. See mb_regex_set_options() for explanation.

Valor Retornado

Returns true if string matches the regular expression pattern, false if not.

Changelog

Versão | Descrição
8.0.0 | options is nullable now.

Notas

Nota:

A codificação interna ou a codificação de caractere especificado por mb_regex_encoding() será usado como a codificação de caractere para esta função.

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg() - Regular expression match with multibyte support


Perform a regular expression search and replace with multibyte support using a callback

  • « mb_ereg_match
  • mb_ereg_replace »
  • PHP Manual
  • Multibyte String Funções
  • Perform a regular expression search and replace with multibyte support using a callback

mb_ereg_replace_callback

(PHP 5 >= 5.4.1, PHP 7, PHP 8)

mb_ereg_replace_callback — Perform a regular expression search and replace with multibyte support using a callback

Descrição

mb_ereg_replace_callback ( string $pattern , callable $callback , string $string , string|null $options = null ) : string|false|null

Scans string for matches to pattern, then replaces the matched text with the output of callback function.

The behavior of this function is almost identical to mb_ereg_replace(), except for the fact that instead of replacement parameter, one should specify a callback.

Parâmetros

pattern

The regular expression pattern.

Multibyte characters may be used in pattern.

callback

A callback that will be called and passed an array of matched elements in the subject string. The callback should return the replacement string.

You'll often need the callback function for a mb_ereg_replace_callback() in just one place. In this case you can use an anonymous function to declare the callback within the call to mb_ereg_replace_callback(). By doing it this way you have all information for the call in one place and do not clutter the function namespace with a callback function's name not used anywhere else.

string

The string being checked.

options

The search option. See mb_regex_set_options() for explanation.

Valor Retornado

The resultant string on success, or false on error. If string is not valid for the current encoding, null is returned.

Notas

Nota:

A codificação interna ou a codificação de caractere especificado por mb_regex_encoding() será usado como a codificação de caractere para esta função.

Changelog

Versão | Descrição
8.0.0 | options is nullable now.
7.1.0 | The function checks whether string is valid for the current encoding.

Exemplos

Exemplo #1 mb_ereg_replace_callback() example

<?php
// this text was used in 2002
// we want to get this up to date for 2003
$text = "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";
// the callback function
function next_year($matches)
{
  // as usual: $matches[0] is the complete match
  // $matches[1] the match for the first subpattern
  // enclosed in '(...)' and so on
  return $matches[1].($matches[2]+1);
}
echo mb_ereg_replace_callback(
            "(\d{2}/\d{2}/)(\d{4})",
            "next_year",
            $text);

?>

O exemplo acima irá imprimir:

April fools day is 04/01/2003
Last christmas was 12/24/2002

Exemplo #2 mb_ereg_replace_callback() using anonymous function supported in PHP 5.3.0 or later

<?php
// this text was used in 2002
// we want to get this up to date for 2003
$text = "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";

echo mb_ereg_replace_callback(
            "(\d{2}/\d{2}/)(\d{4})",
            function ($matches) {
               return $matches[1].($matches[2]+1);
            },
            $text);
?>

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_replace() - Replace regular expression with multibyte support
  • Anonymous functions


Replace regular expression with multibyte support

  • « mb_ereg_replace_callback
  • mb_ereg_search_getpos »
  • PHP Manual
  • Multibyte String Funções
  • Replace regular expression with multibyte support

mb_ereg_replace

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_replace — Replace regular expression with multibyte support

Descrição

mb_ereg_replace ( string $pattern , string $replacement , string $string , string|null $options = null ) : string|false|null

Scans string for matches to pattern, then replaces the matched text with replacement

Parâmetros

pattern

The regular expression pattern.

Multibyte characters may be used in pattern.

replacement

The replacement text.

string

The string being checked.

options
The search option. See mb_regex_set_options() for explanation.

Valor Retornado

The resultant string on success, or false on error. If string is not valid for the current encoding, null is returned.

Changelog

Versão | Descrição
8.0.0 | options is nullable now.
7.1.0 | The function checks whether string is valid for the current encoding.
7.1.0 | The e modifier has been deprecated.

Notas

Nota:

A codificação interna ou a codificação de caractere especificado por mb_regex_encoding() será usado como a codificação de caractere para esta função.

Aviso

Jamais use o modificador e ao usar com entrada não confiavel. Não será escapado automaticamente (como conhecido da função preg_replace()). Não ter cuidado com isso irá provavelmente criar vulnerabilidades de execução remota de código na sua aplicação.

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_eregi_replace() - Replace regular expression with multibyte support ignoring case


Returns start point for next regular expression match

  • « mb_ereg_replace
  • mb_ereg_search_getregs »
  • PHP Manual
  • Multibyte String Funções
  • Returns start point for next regular expression match

mb_ereg_search_getpos

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search_getpos — Returns start point for next regular expression match

Descrição

mb_ereg_search_getpos ( ) : int

Returns the start point for the next regular expression match.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

mb_ereg_search_getpos() returns
the point to start regular expression match for
mb_ereg_search(),
mb_ereg_search_pos(),
mb_ereg_search_regs(). The position is
represented by bytes from the head of string.

Notas

Nota:

A codificação interna ou a codificação de caractere especificado por mb_regex_encoding() será usado como a codificação de caractere para esta função.

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_setpos() - Set start point of next regular expression match


Retrieve the result from the last multibyte regular expression match

  • « mb_ereg_search_getpos
  • mb_ereg_search_init »
  • PHP Manual
  • Multibyte String Funções
  • Retrieve the result from the last multibyte regular expression match

mb_ereg_search_getregs

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search_getregs — Retrieve the result from the last multibyte regular expression match

Descrição

mb_ereg_search_getregs ( ) : array|false

Retrieve the result from the last multibyte regular expression match

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array including the sub-string of matched part by last mb_ereg_search(), mb_ereg_search_pos(), mb_ereg_search_regs(). If there are some matches, the first element will have the matched sub-string, the second element will have the first part grouped with brackets, the third element will have the second part grouped with brackets, and so on. It returns false on error.

Notas

Nota:

A codificação interna ou a codificação de caractere especificado por mb_regex_encoding() será usado como a codificação de caractere para esta função.

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match


Setup string and regular expression for a multibyte regular expression match

  • « mb_ereg_search_getregs
  • mb_ereg_search_pos »
  • PHP Manual
  • Multibyte String Funções
  • Setup string and regular expression for a multibyte regular expression match

mb_ereg_search_init

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search_init — Setup string and regular expression for a multibyte regular expression match

Descrição

mb_ereg_search_init ( string $string , string|null $pattern = null , string|null $options = null ) : bool

mb_ereg_search_init() sets
string and pattern
for a multibyte regular expression. These values are used for
mb_ereg_search(),
mb_ereg_search_pos(), and
mb_ereg_search_regs().

Parâmetros

string

The search string.

pattern

The search pattern.

options

The search option. See mb_regex_set_options() for explanation.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | pattern and options are nullable now.

Notas

Nota:

A codificação interna ou a codificação de caractere especificado por mb_regex_encoding() será usado como a codificação de caractere para esta função.

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_regs() - Returns the matched part of a multibyte regular expression


Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string

  • « mb_ereg_search_init
  • mb_ereg_search_regs »
  • PHP Manual
  • Multibyte String Funções
  • Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string

mb_ereg_search_pos

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search_pos — Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string

Descrição

mb_ereg_search_pos ( string|null $pattern = null , string|null $options = null ) : array|false

Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string

The string for match is specified by mb_ereg_search_init(). If it is not specified, the previous one will be used.

Parâmetros

pattern

The search pattern.

options

The search option. See mb_regex_set_options() for explanation.

Valor Retornado

An array containing two elements. The first element is the offset, in bytes, where the match begins relative to the start of the search string, and the second element is the length in bytes of the match.

If an error occurs, false is returned.

Changelog

Versão | Descrição
8.0.0 | pattern and options are nullable now.

Notas

Nota:

A codificação interna ou a codificação de caractere especificado por mb_regex_encoding() será usado como a codificação de caractere para esta função.

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match


Returns the matched part of a multibyte regular expression

  • « mb_ereg_search_pos
  • mb_ereg_search_setpos »
  • PHP Manual
  • Multibyte String Funções
  • Returns the matched part of a multibyte regular expression

mb_ereg_search_regs

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search_regs — Returns the matched part of a multibyte regular expression

Descrição

mb_ereg_search_regs ( string|null $pattern = null , string|null $options = null ) : array|false

Returns the matched part of a multibyte regular expression.

Parâmetros

pattern

The search pattern.

options

The search option. See mb_regex_set_options() for explanation.

Valor Retornado

mb_ereg_search_regs() executes the multibyte regular expression match, and if there are some matched part, it returns an array including substring of matched part as first element, the first grouped part with brackets as second element, the second grouped part as third element, and so on. It returns false on error.

Changelog

Versão | Descrição
8.0.0 | pattern and options are nullable now.

Notas

Nota:

A codificação interna ou a codificação de caractere especificado por mb_regex_encoding() será usado como a codificação de caractere para esta função.

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match


Set start point of next regular expression match

  • « mb_ereg_search_regs
  • mb_ereg_search »
  • PHP Manual
  • Multibyte String Funções
  • Set start point of next regular expression match

mb_ereg_search_setpos

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search_setpos — Set start point of next regular expression match

Descrição

mb_ereg_search_setpos ( int $offset ) : bool

mb_ereg_search_setpos() sets the starting point of a match for mb_ereg_search().

Parâmetros

offset

The position to set. If it is negative, it counts from the end of the string.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.1.0 | Support for negative offsets has been added.

Notas

Nota:

A codificação interna ou a codificação de caractere especificado por mb_regex_encoding() será usado como a codificação de caractere para esta função.

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match


Multibyte regular expression match for predefined multibyte string

  • « mb_ereg_search_setpos
  • mb_ereg »
  • PHP Manual
  • Multibyte String Funções
  • Multibyte regular expression match for predefined multibyte string

mb_ereg_search

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search — Multibyte regular expression match for predefined multibyte string

Descrição

mb_ereg_search ( string|null $pattern = null , string|null $options = null ) : bool

Performs a multibyte regular expression match for a predefined multibyte string.

Parâmetros

pattern

The search pattern.

options

The search option. See mb_regex_set_options() for explanation.

Valor Retornado

mb_ereg_search() returns true if the multibyte string matches with the regular expression, or false otherwise. The string for matching is set by mb_ereg_search_init(). If pattern is not specified, the previous one is used.

Changelog

Versão | Descrição
8.0.0 | pattern and options are nullable now.

Notas

Nota:

A codificação interna ou a codificação de caractere especificado por mb_regex_encoding() será usado como a codificação de caractere para esta função.

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match


Regular expression match with multibyte support

  • « mb_ereg_search
  • mb_eregi_replace »
  • PHP Manual
  • Multibyte String Funções
  • Regular expression match with multibyte support

mb_ereg

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg — Regular expression match with multibyte support

Descrição

mb_ereg ( string $pattern , string $string , array &$matches = null ) : bool

Executes the regular expression match with multibyte support.

Parâmetros

pattern

The search pattern.

string

The search string.

matches

If matches are found for parenthesized substrings of pattern and the function is called with the third argument matches, the matches will be stored in the elements of the array matches. If no matches are found, matches is set to an empty array.

$matches[1] will contain the substring which starts at the first left parenthesis; $matches[2] will contain the substring starting at the second, and so on. $matches[0] will contain a copy of the complete string matched.

Valor Retornado

Returns whether pattern matches string.

Changelog

Versão | Descrição
8.0.0 | This function returns true on success now. Previously, it returned the byte length of the matched string if a match for pattern was found in string and matches was passed. If the optional parameter matches was not passed or the length of the matched string was 0, this function returned 1.
7.1.0 | mb_ereg() will now set matches to an empty array, if nothing matched. Formerly, matches was not modified in that case.

Notas

Nota:

A codificação interna ou a codificação de caractere especificado por mb_regex_encoding() será usado como a codificação de caractere para esta função.

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_eregi() - Regular expression match ignoring case with multibyte support


Replace regular expression with multibyte support ignoring case

  • « mb_ereg
  • mb_eregi »
  • PHP Manual
  • Multibyte String Funções
  • Replace regular expression with multibyte support ignoring case

mb_eregi_replace

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_eregi_replace — Replace regular expression with multibyte support ignoring case

Descrição

mb_eregi_replace ( string $pattern , string $replacement , string $string , string|null $options = null ) : string|false|null

Scans string for matches to pattern, then replaces the matched text with replacement.

Parâmetros

pattern

The regular expression pattern. Multibyte characters may be used. The case will be ignored.

replacement

The replacement text.

string

The searched string.

options
The search option. See mb_regex_set_options() for explanation.

Valor Retornado

The resultant string or false on error. If string is not valid for the current encoding, null is returned.

Changelog

Versão | Descrição
8.0.0 | options is nullable now.
7.1.0 | The function checks whether string is valid for the current encoding.
7.1.0 | The e modifier has been deprecated.

Notas

Nota:

A codificação interna ou a codificação de caractere especificado por mb_regex_encoding() será usado como a codificação de caractere para esta função.

Aviso

Jamais use o modificador e ao usar com entrada não confiavel. Não será escapado automaticamente (como conhecido da função preg_replace()). Não ter cuidado com isso irá provavelmente criar vulnerabilidades de execução remota de código na sua aplicação.

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_replace() - Replace regular expression with multibyte support


Regular expression match ignoring case with multibyte support

  • « mb_eregi_replace
  • mb_get_info »
  • PHP Manual
  • Multibyte String Funções
  • Regular expression match ignoring case with multibyte support

mb_eregi

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_eregi — Regular expression match ignoring case with multibyte support

Descrição

mb_eregi ( string $pattern , string $string , array &$matches = null ) : bool

Executes the case insensitive regular expression match with multibyte support.

Parâmetros

pattern

The regular expression pattern.

string

The string being searched.

matches

If matches are found for parenthesized substrings of pattern and the function is called with the third argument matches, the matches will be stored in the elements of the array matches. If no matches are found, matches is set to an empty array.

$matches[1] will contain the substring which starts at the first left parenthesis; $matches[2] will contain the substring starting at the second, and so on. $matches[0] will contain a copy of the complete string matched.

Valor Retornado

Returns whether pattern matches string.

Changelog

Versão | Descrição
8.0.0 | This function returns true on success now. Previously, it returned the byte length of the matched string if a match for pattern was found in string and matches was passed. If the optional parameter matches was not passed or the length of the matched string was 0, this function returned 1.
7.1.0 | mb_eregi() will now set matches to an empty array, if nothing matched. Formerly, matches was not modified in that case.

Notas

Nota:

A codificação interna ou a codificação de caractere especificado por mb_regex_encoding() será usado como a codificação de caractere para esta função.

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg() - Regular expression match with multibyte support


Get internal settings of mbstring

  • « mb_eregi
  • mb_http_input »
  • PHP Manual
  • Multibyte String Funções
  • Get internal settings of mbstring

mb_get_info

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_get_info — Get internal settings of mbstring

Descrição

mb_get_info ( string $type = "all" ) : array|string|int|false

mb_get_info() returns the internal setting parameters of mbstring.

Parâmetros

type

If type is not specified or is specified as "all", "internal_encoding", "http_input", "http_output", "http_output_conv_mimetypes", "mail_charset", "mail_header_encoding", "mail_body_encoding", "illegal_chars", "encoding_translation", "language", "detect_order", "substitute_character" and "strict_detection" will be returned.

If type is specified as "internal_encoding", "http_input", "http_output", "http_output_conv_mimetypes", "mail_charset", "mail_header_encoding", "mail_body_encoding", "illegal_chars", "encoding_translation", "language", "detect_order", "substitute_character" or "strict_detection" the specified setting parameter will be returned.

Valor Retornado

An array of type information if type is not specified, otherwise a specific type, ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | The types "func_overload" and "func_overload_list" are no longer supported.

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_http_output() - Set/Get HTTP output character encoding


Detect HTTP input character encoding

  • « mb_get_info
  • mb_http_output »
  • PHP Manual
  • Multibyte String Funções
  • Detect HTTP input character encoding

mb_http_input

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_http_input — Detect HTTP input character encoding

Descrição

mb_http_input ( string|null $type = null ) : array|string|false

Detects the HTTP input character encoding.

Parâmetros

type

Input string specifies the input type. "G" for GET, "P" for POST, "C" for COOKIE, "S" for string, "L" for list, and "I" for the whole list (will return array). If type is omitted, it returns the last input type processed.

Valor Retornado

The character encoding name, as per the type, or an array of character encoding names, if type is "I". If mb_http_input() does not process specified HTTP input, it returns false.

Changelog

Versão | Descrição
8.0.0 | type is nullable now.

Veja Também

  • mb_internal_encoding() - Set/Get internal character encoding
  • mb_http_output() - Set/Get HTTP output character encoding
  • mb_detect_order() - Set/Get character encoding detection order


Set/Get HTTP output character encoding

  • « mb_http_input
  • mb_internal_encoding »
  • PHP Manual
  • Multibyte String Funções
  • Set/Get HTTP output character encoding

mb_http_output

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_http_output — Set/Get HTTP output character encoding

Descrição

mb_http_output ( string|null $encoding = null ) : string|bool

Set/Get the HTTP output character encoding. Output after this function is called will be converted from the set internal encoding to encoding.

Parâmetros

encoding

If encoding is set, mb_http_output() sets the HTTP output character encoding to encoding.

If encoding is omitted, mb_http_output() returns the current HTTP output character encoding.

Valor Retornado

If encoding is omitted, mb_http_output() returns the current HTTP output character encoding. Otherwise, Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • mb_internal_encoding() - Set/Get internal character encoding
  • mb_http_input() - Detect HTTP input character encoding
  • mb_detect_order() - Set/Get character encoding detection order


Set/Get internal character encoding

  • « mb_http_output
  • mb_language »
  • PHP Manual
  • Multibyte String Funções
  • Set/Get internal character encoding

mb_internal_encoding

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_internal_encoding — Set/Get internal character encoding

Descrição

mb_internal_encoding ( string|null $encoding = null ) : string|bool

Set/Get the internal character encoding

Parâmetros

encoding

encoding is the character encoding name used for the HTTP input character encoding conversion, HTTP output character encoding conversion, and the default character encoding for string functions defined by the mbstring module. You should notice that the internal encoding is totally different from the one for multibyte regex.

Valor Retornado

If encoding is set, then Retorna true em caso de sucesso ou false em caso de falha. In this case, the character encoding for multibyte regex is NOT changed. If encoding is omitted, then the current character encoding name is returned.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Exemplos

Exemplo #1 mb_internal_encoding() example

<?php
/* Set internal character encoding to UTF-8 */
mb_internal_encoding("UTF-8");

/* Display current internal character encoding */
echo mb_internal_encoding();
?>

Veja Também

  • mb_http_input() - Detect HTTP input character encoding
  • mb_http_output() - Set/Get HTTP output character encoding
  • mb_detect_order() - Set/Get character encoding detection order
  • mb_regex_encoding() - Set/Get character encoding for multibyte regex


Set/Get current language

  • « mb_internal_encoding
  • mb_list_encodings »
  • PHP Manual
  • Multibyte String Funções
  • Set/Get current language

mb_language

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_language — Set/Get current language

Descrição

mb_language ( string|null $language = null ) : string|bool

Set/Get the current language.

Parâmetros

language

Used for encoding e-mail messages. The valid languages are listed in the following table. mb_send_mail() uses this setting to encode e-mail.

Language | Charset | Encoding | Alias
German/de | ISO-8859-15 | Quoted-Printable | Deutsch
English/en | ISO-8859-1 | Quoted-Printable
Armenian/hy | ArmSCII-8 | Quoted-Printable
Japanese/ja | ISO-2022-JP | BASE64
Korean/ko | ISO-2022-KR | BASE64
neutral | UTF-8 | BASE64
Russian/ru | KOI8-R | Quoted-Printable
Turkish/tr | ISO-8859-9 | Quoted-Printable
Ukrainian/ua | KOI8-U | Quoted-Printable
uni | UTF-8 | BASE64 | universal
Simplified Chinese/zh-cn | HZ | BASE64
Traditional Chinese/zh-tw | BIG-5 | BASE64

Valor Retornado

If language is set and language is valid, it returns true. Otherwise, it returns false. When language is omitted or null, it returns the language name as a string.

Changelog

Versão | Descrição
8.0.0 | language is nullable now.

Veja Também

  • mb_send_mail() - Send encoded mail


Returns an array of all supported encodings

  • « mb_language
  • mb_ord »
  • PHP Manual
  • Multibyte String Funções
  • Returns an array of all supported encodings

mb_list_encodings

(PHP 5, PHP 7, PHP 8)

mb_list_encodings — Returns an array of all supported encodings

Descrição

mb_list_encodings ( ) : array

Returns an array containing all supported encodings.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a numerically indexed array.

Erros

This function does not emit any errors.

Exemplos

Exemplo #1 mb_list_encodings() example

<?php

print_r(mb_list_encodings());

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => pass
    [1] => auto
    [2] => wchar
    [3] => byte2be
    [4] => byte2le
    [5] => byte4be
    [6] => byte4le
    [7] => BASE64
    [8] => UUENCODE
    [9] => HTML-ENTITIES
    [10] => Quoted-Printable
    [11] => 7bit
    [12] => 8bit
    [13] => UCS-4
    [14] => UCS-4BE
    [15] => UCS-4LE
    [16] => UCS-2
    [17] => UCS-2BE
    [18] => UCS-2LE
    [19] => UTF-32
    [20] => UTF-32BE
    [21] => UTF-32LE
    [22] => UTF-16
    [23] => UTF-16BE
    [24] => UTF-16LE
    [25] => UTF-8
    [26] => UTF-7
    [27] => UTF7-IMAP
    [28] => ASCII
    [29] => EUC-JP
    [30] => SJIS
    [31] => eucJP-win
    [32] => SJIS-win
    [33] => JIS
    [34] => ISO-2022-JP
    [35] => Windows-1252
    [36] => ISO-8859-1
    [37] => ISO-8859-2
    [38] => ISO-8859-3
    [39] => ISO-8859-4
    [40] => ISO-8859-5
    [41] => ISO-8859-6
    [42] => ISO-8859-7
    [43] => ISO-8859-8
    [44] => ISO-8859-9
    [45] => ISO-8859-10
    [46] => ISO-8859-13
    [47] => ISO-8859-14
    [48] => ISO-8859-15
    [49] => EUC-CN
    [50] => CP936
    [51] => HZ
    [52] => EUC-TW
    [53] => BIG-5
    [54] => EUC-KR
    [55] => UHC
    [56] => ISO-2022-KR
    [57] => Windows-1251
    [58] => CP866
    [59] => KOI8-R
)


Get code point of character

  • « mb_list_encodings
  • mb_output_handler »
  • PHP Manual
  • Multibyte String Funções
  • Get code point of character

mb_ord

(PHP 7 >= 7.2.0, PHP 8)

mb_ord — Get code point of character

Descrição

mb_ord ( string $string , string|null $encoding = null ) : int|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

string

encoding

Valor Retornado

Returns a code point of character ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • mb_chr() - Get a specific character
  • ord() - Retorna o valor ASCII do caractere


Callback function converts character encoding in output buffer

  • « mb_ord
  • mb_parse_str »
  • PHP Manual
  • Multibyte String Funções
  • Callback function converts character encoding in output buffer

mb_output_handler

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_output_handler — Callback function converts character encoding in output buffer

Descrição

mb_output_handler ( string $string , int $status ) : string

mb_output_handler() is
ob_start() callback
function. mb_output_handler() converts
characters in the output buffer from internal character encoding to
HTTP output character encoding.

Parâmetros

string

The contents of the output buffer.

status

The status of the output buffer.

Valor Retornado

The converted string.

Exemplos

Exemplo #1 mb_output_handler() example

<?php
mb_http_output("UTF-8");
ob_start("mb_output_handler");
?>

Notas

Nota:

If you want to output binary data, such as an image, a Content-Type: header must be set using header() before any binary data is sent to the client (e.g. header("Content-Type: image/png")). If Content-Type: header is sent, output character encoding conversion will not be performed.

Note that if 'Content-Type: text/*' is sent, the content body is regarded as text; conversion will take place.

Veja Também

  • ob_start() - Ativa o buffer de saída


Parse GET/POST/COOKIE data and set global variable

  • « mb_output_handler
  • mb_preferred_mime_name »
  • PHP Manual
  • Multibyte String Funções
  • Parse GET/POST/COOKIE data and set global variable

mb_parse_str

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_parse_str — Parse GET/POST/COOKIE data and set global variable

Descrição

mb_parse_str ( string $string , array &$result ) : bool

Parses GET/POST/COOKIE data and sets global variables. Since PHP does not provide raw POST/COOKIE data, it can only be used for GET data for now. It parses URL encoded data, detects encoding, converts coding to internal encoding and set values to the result array or global variables.

Parâmetros

string

The URL encoded data.

result

An array containing decoded and character encoded converted values.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | The second parameter was no longer optional.
7.2.0 | Calling mb_parse_str() without the second parameter was deprecated.

Veja Também

  • mb_detect_order() - Set/Get character encoding detection order
  • mb_internal_encoding() - Set/Get internal character encoding


Get MIME charset string

  • « mb_parse_str
  • mb_regex_encoding »
  • PHP Manual
  • Multibyte String Funções
  • Get MIME charset string

mb_preferred_mime_name

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_preferred_mime_name — Get MIME charset string

Descrição

mb_preferred_mime_name ( string $encoding ) : string|false

Get a MIME charset string for a specific encoding.

Parâmetros

encoding

The encoding being checked.

Valor Retornado

The MIME charset string for character encoding encoding, or false if no charset is preferred for the given encoding.

Exemplos

Exemplo #1 mb_preferred_mime_name() example

<?php
$outputenc = "sjis-win";
mb_http_output($outputenc);
ob_start("mb_output_handler");
header("Content-Type: text/html; charset=" . mb_preferred_mime_name($outputenc));
?>


Set/Get character encoding for multibyte regex

  • « mb_preferred_mime_name
  • mb_regex_set_options »
  • PHP Manual
  • Multibyte String Funções
  • Set/Get character encoding for multibyte regex

mb_regex_encoding

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_regex_encoding — Set/Get character encoding for multibyte regex

Descrição

mb_regex_encoding ( string|null $encoding = null ) : string|bool

Set/Get character encoding for a multibyte regex.

Parâmetros

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

Valor Retornado

If encoding is set, then Retorna true em caso de sucesso ou false em caso de falha. In this case, the internal character encoding is NOT changed. If encoding is omitted, then the current character encoding name for a multibyte regex is returned.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.
5.6.0 | Default encoding is changed to UTF-8. It was EUC-JP Previously.

Veja Também

  • mb_internal_encoding() - Set/Get internal character encoding
  • mb_ereg() - Regular expression match with multibyte support


Set/Get the default options for mbregex functions

  • « mb_regex_encoding
  • mb_scrub »
  • PHP Manual
  • Multibyte String Funções
  • Set/Get the default options for mbregex functions

mb_regex_set_options

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_regex_set_options — Set/Get the default options for mbregex functions

Descrição

mb_regex_set_options ( string|null $options = null ) : string

Sets the default options described by options for multibyte regex functions.

Parâmetros

options

The options to set. This is a string where each character is an option. To set a mode, the mode character must be the last one set, however there can only be set one mode but multiple options.

Regex options
Option | Meaning
i | Ambiguity match on
x | Enables extended pattern form
m | '.' matches with newlines
s | '^' -> '\A', '$' -> '\Z'
p | Same as both the m and s options
l | Finds longest matches
n | Ignores empty matches
e | eval() resulting code
Regex syntax modes
Mode | Meaning
j | Java (Sun java.util.regex)
u | GNU regex
g | grep
c | Emacs
r | Ruby
z | Perl
b | POSIX Basic regex
d | POSIX Extended regex

Valor Retornado

The previous options. If options is omitted or null, it returns the string that describes the current options.

Changelog

Versão | Descrição
8.0.0 | If the parameter options is given and not null, the previous options are returned. Formerly, the current options have been returned.
8.0.0 | options is nullable now.

Veja Também

  • mb_split() - Split multibyte string using regular expression
  • mb_ereg() - Regular expression match with multibyte support
  • mb_eregi() - Regular expression match ignoring case with multibyte support


Description

  • « mb_regex_set_options
  • mb_send_mail »
  • PHP Manual
  • Multibyte String Funções
  • Description

mb_scrub

(PHP 7 >= 7.2.0, PHP 8)

mb_scrub — Description

Descrição

mb_scrub ( string $string , string|null $encoding = null ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

string

encoding

Valor Retornado

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.


Send encoded mail

  • « mb_scrub
  • mb_split »
  • PHP Manual
  • Multibyte String Funções
  • Send encoded mail

mb_send_mail

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_send_mail — Send encoded mail

Descrição

mb_send_mail ( string $to , string $subject , string $message , array|string $additional_headers = [] , string|null $additional_params = null ) : bool

Sends email. Headers and messages are converted and encoded according to the mb_language() setting. It's a wrapper function for mail(), so see also mail() for details.

Parâmetros

to

The mail addresses being sent to. Multiple recipients may be specified by putting a comma between each address in to. This parameter is not automatically encoded.

subject

The subject of the mail.

message

The message of the mail.

additional_headers (optional)

String or array to be inserted at the end of the email header.

This is typically used to add extra headers (From, Cc, and Bcc). Multiple extra headers should be separated with a CRLF (\r\n). Validate parameter not to be injected unwanted headers by attackers.

If an array is passed, its keys are the header names and its values are the respective header values.

Nota:

When sending mail, the mail must contain a From header. This can be set with the additional_headers parameter, or a default can be set in php.ini.

Failing to do this will result in an error message similar to Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing. The From header sets also Return-Path under Windows.

Nota:

If messages are not received, try using a LF (\n) only. Some Unix mail transfer agents (most notably » qmail) replace LF by CRLF automatically (which leads to doubling CR if CRLF is used). This should be a last resort, as it does not comply with » RFC 2822.

additional_params

additional_params is a MTA command line parameter. It is useful when setting the correct Return-Path header when using sendmail.

This parameter is escaped by escapeshellcmd() internally to prevent command execution. escapeshellcmd() prevents command execution, but allows to add additional parameters. For security reason, this parameter should be validated.

Since escapeshellcmd() is applied automatically, some characters that are allowed as email addresses by internet RFCs cannot be used. Programs that are required to use these characters mail() cannot be used.

The user that the webserver runs as should be added as a trusted user to the sendmail configuration to prevent a 'X-Warning' header from being added to the message when the envelope sender (-f) is set using this method. For sendmail users, this file is /etc/mail/trusted-users.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | additional_params is nullable now.
7.2.0 | The additional_headers parameter now also accepts an array.

Veja Também

  • mail() - Envia email
  • mb_encode_mimeheader() - Encode string for MIME header
  • mb_language() - Set/Get current language


Split multibyte string using regular expression

  • « mb_send_mail
  • mb_str_split »
  • PHP Manual
  • Multibyte String Funções
  • Split multibyte string using regular expression

mb_split

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_split — Split multibyte string using regular expression

Descrição

mb_split ( string $pattern , string $string , int $limit = -1 ) : array|false

Split a multibyte string using regular expression pattern and returns the result as an array.

Parâmetros

pattern

The regular expression pattern.

string

The string being split.

limit
If optional parameter limit is specified, it will be split in limit elements as maximum.

Valor Retornado

The result as an array, ou false em caso de falha.

Notas

Nota:

A codificação de caracteres especificada por mb_regex_encoding() será utilizada como a codificação de caracter por essa função automaticamente..

Veja Também

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg() - Regular expression match with multibyte support


Given a multibyte string, return an array of its characters

  • « mb_split
  • mb_strcut »
  • PHP Manual
  • Multibyte String Funções
  • Given a multibyte string, return an array of its characters

mb_str_split

(PHP 7 >= 7.4.0, PHP 8)

mb_str_split — Given a multibyte string, return an array of its characters

Descrição

mb_str_split ( string $string , int $length = 1 , string|null $encoding = null ) : array

This function will return an array of strings, it is a version of str_split() with support for encodings of variable character size as well as fixed-size encodings of 1,2 or 4 byte characters. If the length parameter is specified, the string is broken down into chunks of the specified length in characters (not bytes). The encoding parameter can be optionally specified and it is good practice to do so.

Parâmetros

string

The string to split into characters or chunks.

length

If specified, each element of the returned array will be composed of multiple characters instead of a single character.

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

A string specifying one of the supported encodings.

Valor Retornado

mb_str_split() returns an array of strings.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.
8.0.0 | This function no longer returns false on failure.

Veja Também

  • str_split() - Converte uma string para um array


Get part of string

  • « mb_str_split
  • mb_strimwidth »
  • PHP Manual
  • Multibyte String Funções
  • Get part of string

mb_strcut

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strcut — Get part of string

Descrição

mb_strcut ( string $string , int $start , int|null $length = null , string|null $encoding = null ) : string

mb_strcut() extracts a substring from a string similarly to mb_substr(), but operates on bytes instead of characters. If the cut position happens to be between two bytes of a multi-byte character, the cut is performed starting from the first byte of that character. This is also the difference to the substr() function, which would simply cut the string between the bytes and thus result in a malformed byte sequence.

Parâmetros

string

The string being cut.

start

If start is non-negative, the returned string will start at the start'th byte position in string, counting from zero. For instance, in the string 'abcdef', the byte at position 0 is 'a', the byte at position 2 is 'c', and so forth.

If start is negative, the returned string will start at the start'th byte counting back from the end of string. However, if the magnitude of a negative start is greater than the length of the string, the returned portion will start from the beginning of string.

length

Length in bytes. If omitted or NULL is passed, extract all bytes to the end of the string.

If length is negative, the returned string will end at the length'th byte counting back from the end of string. However, if the magnitude of a negative length is greater than the number of characters after the start position, an empty string will be returned.

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

Valor Retornado

mb_strcut() returns the portion of string specified by the start and length parameters.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • mb_substr() - Get part of string
  • mb_internal_encoding() - Set/Get internal character encoding


Get truncated string with specified width

  • « mb_strcut
  • mb_stripos »
  • PHP Manual
  • Multibyte String Funções
  • Get truncated string with specified width

mb_strimwidth

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strimwidth — Get truncated string with specified width

Descrição

mb_strimwidth ( string $string , int $start , int $width , string $trim_marker = "" , string|null $encoding = null ) : string

Truncates string string to specified width, where halfwidth characters count as 1, and fullwidth characters count as 2. See » http://www.unicode.org/reports/tr11/ for details regarding East Asian character widths.

Parâmetros

string

The string being decoded.

start

The start position offset. Number of characters from the beginning of string (first character is 0), or if start is negative, number of characters from the end of the string.

width

The width of the desired trim. Negative widths count from the end of the string.

trim_marker

A string that is added to the end of string when string is truncated.

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

Valor Retornado

The truncated string. If trim_marker is set, trim_marker replaces the last chars to match the width.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.
7.1.0 | Support for negative starts and widths has been added.

Exemplos

Exemplo #1 mb_strimwidth() example

<?php
echo mb_strimwidth("Hello World", 0, 10, "...");
// output: "Hello W..."
?>

Veja Também

  • mb_strwidth() - Return width of string
  • mb_internal_encoding() - Set/Get internal character encoding


Finds position of first occurrence of a string within another, case insensitive

  • « mb_strimwidth
  • mb_stristr »
  • PHP Manual
  • Multibyte String Funções
  • Finds position of first occurrence of a string within another, case insensitive

mb_stripos

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_stripos — Finds position of first occurrence of a string within another, case insensitive

Descrição

mb_stripos ( string $haystack , string $needle , int $offset = 0 , string|null $encoding = null ) : int|false

mb_stripos() returns the numeric position of the first occurrence of needle in the haystack string. Unlike mb_strpos(), mb_stripos() is case-insensitive. If needle is not found, it returns false.

Parâmetros

haystack

The string from which to get the position of the first occurrence of needle

needle

The string to find in haystack

offset

The position in haystack to start searching. A negative offset counts from the end of the string.

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Valor Retornado

Return the numeric position of the first occurrence of needle in the haystack string, or false if needle is not found.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.
7.1.0 | Support for negative offsets has been added.

Veja Também

  • stripos() - Encontra a primeira ocorrencia de uma string sem diferenciar maiúsculas e minúsculas
  • strpos() - Encontra a posição da primeira ocorrência de uma string
  • mb_strpos() - Find position of first occurrence of string in a string


Finds first occurrence of a string within another, case insensitive

  • « mb_stripos
  • mb_strlen »
  • PHP Manual
  • Multibyte String Funções
  • Finds first occurrence of a string within another, case insensitive

mb_stristr

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_stristr — Finds first occurrence of a string within another, case insensitive

Descrição

mb_stristr ( string $haystack , string $needle , bool $before_needle = false , string|null $encoding = null ) : string|false

mb_stristr() finds the first occurrence of needle in haystack and returns the portion of haystack. Unlike mb_strstr(), mb_stristr() is case-insensitive. If needle is not found, it returns false.

Parâmetros

haystack

The string from which to get the first occurrence of needle

needle

The string to find in haystack

before_needle

Determines which portion of haystack this function returns. If set to true, it returns all of haystack from the beginning to the first occurrence of needle (excluding needle). If set to false, it returns all of haystack from the first occurrence of needle to the end (including needle).

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Valor Retornado

Returns the portion of haystack, or false if needle is not found.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • stristr() - strstr sem diferenciar maiúsculas e minúsculas
  • strstr() - Encontra a primeira ocorrencia de uma string
  • mb_strstr() - Finds first occurrence of a string within another


Get string length

  • « mb_stristr
  • mb_strpos »
  • PHP Manual
  • Multibyte String Funções
  • Get string length

mb_strlen

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strlen — Get string length

Descrição

mb_strlen ( string $string , string|null $encoding = null ) : int

Gets the length of a string.

Parâmetros

string

The string being checked for length.

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

Valor Retornado

Returns the number of characters in string string having character encoding encoding. A multi-byte character is counted as 1.

Erros

If the encoding is unknown, an error of level E_WARNING is generated.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • mb_internal_encoding() - Set/Get internal character encoding
  • grapheme_strlen() - Get string length in grapheme units
  • iconv_strlen() - Returns the character count of string
  • strlen() - Retorna o tamanho de uma string


Find position of first occurrence of string in a string

  • « mb_strlen
  • mb_strrchr »
  • PHP Manual
  • Multibyte String Funções
  • Find position of first occurrence of string in a string

mb_strpos

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strpos — Find position of first occurrence of string in a string

Descrição

mb_strpos ( string $haystack , string $needle , int $offset = 0 , string|null $encoding = null ) : int|false

Finds position of the first occurrence of a string in a string.

Performs a multi-byte safe strpos() operation based on number of characters. The first character's position is 0, the second character position is 1, and so on.

Parâmetros

haystack

The string being checked.

needle

The string to find in haystack. In contrast with strpos(), numeric values are not applied as the ordinal value of a character.

offset

The search offset. If it is not specified, 0 is used. A negative offset counts from the end of the string.

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

Valor Retornado

Returns the numeric position of the first occurrence of needle in the haystack string. If needle is not found, it returns false.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.
7.1.0 | Support for negative offsets has been added.

Veja Também

  • mb_internal_encoding() - Set/Get internal character encoding
  • strpos() - Encontra a posição da primeira ocorrência de uma string


Finds the last occurrence of a character in a string within another

  • « mb_strpos
  • mb_strrichr »
  • PHP Manual
  • Multibyte String Funções
  • Finds the last occurrence of a character in a string within another

mb_strrchr

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_strrchr — Finds the last occurrence of a character in a string within another

Descrição

mb_strrchr ( string $haystack , string $needle , bool $before_needle = false , string|null $encoding = null ) : string|false

mb_strrchr() finds the last occurrence of needle in haystack and returns the portion of haystack. If needle is not found, it returns false.

Parâmetros

haystack

The string from which to get the last occurrence of needle

needle

The string to find in haystack

before_needle

Determines which portion of haystack this function returns. If set to true, it returns all of haystack from the beginning to the last occurrence of needle. If set to false, it returns all of haystack from the last occurrence of needle to the end,

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Valor Retornado

Returns the portion of haystack. or false if needle is not found.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • strrchr() - Encontra a ultima ocorrência de um caractere em uma string
  • mb_strstr() - Finds first occurrence of a string within another
  • mb_strrichr() - Finds the last occurrence of a character in a string within another, case insensitive


Finds the last occurrence of a character in a string within another, case insensitive

  • « mb_strrchr
  • mb_strripos »
  • PHP Manual
  • Multibyte String Funções
  • Finds the last occurrence of a character in a string within another, case insensitive

mb_strrichr

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_strrichr — Finds the last occurrence of a character in a string within another, case insensitive

Descrição

mb_strrichr ( string $haystack , string $needle , bool $before_needle = false , string|null $encoding = null ) : string|false

mb_strrichr() finds the last occurrence of needle in haystack and returns the portion of haystack. Unlike mb_strrchr(), mb_strrichr() is case-insensitive. If needle is not found, it returns false.

Parâmetros

haystack

The string from which to get the last occurrence of needle

needle

The string to find in haystack

before_needle

Determines which portion of haystack this function returns. If set to true, it returns all of haystack from the beginning to the last occurrence of needle. If set to false, it returns all of haystack from the last occurrence of needle to the end,

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Valor Retornado

Returns the portion of haystack. or false if needle is not found.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • mb_stristr() - Finds first occurrence of a string within another, case insensitive
  • mb_strrchr() - Finds the last occurrence of a character in a string within another


Finds position of last occurrence of a string within another, case insensitive

  • « mb_strrichr
  • mb_strrpos »
  • PHP Manual
  • Multibyte String Funções
  • Finds position of last occurrence of a string within another, case insensitive

mb_strripos

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_strripos — Finds position of last occurrence of a string within another, case insensitive

Descrição

mb_strripos ( string $haystack , string $needle , int $offset = 0 , string|null $encoding = null ) : int|false

mb_strripos() performs multi-byte safe strripos() operation based on number of characters. needle position is counted from the beginning of haystack. First character's position is 0. Second character position is 1. Unlike mb_strrpos(), mb_strripos() is case-insensitive.

Parâmetros

haystack

The string from which to get the position of the last occurrence of needle

needle

The string to find in haystack

offset

The position in haystack to start searching

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Valor Retornado

Return the numeric position of the last occurrence of needle in the haystack string, or false if needle is not found.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • strripos() - Encontra a posição da última ocorrência de uma string case-insensitive em uma string
  • strrpos() - Encontra a posição da última ocorrência de um caractere em uma string
  • mb_strrpos() - Find position of last occurrence of a string in a string


Find position of last occurrence of a string in a string

  • « mb_strripos
  • mb_strstr »
  • PHP Manual
  • Multibyte String Funções
  • Find position of last occurrence of a string in a string

mb_strrpos

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strrpos — Find position of last occurrence of a string in a string

Descrição

mb_strrpos ( string $haystack , string $needle , int $offset = 0 , string|null $encoding = null ) : int|false

Performs a multibyte safe strrpos() operation based on the number of characters. needle position is counted from the beginning of haystack. First character's position is 0. Second character position is 1.

Parâmetros

haystack

The string being checked, for the last occurrence of needle

needle

The string to find in haystack.

offset
May be specified to begin searching an arbitrary number of characters into the string. Negative values will stop searching at an arbitrary point prior to the end of the string.
encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

Valor Retornado

Returns the numeric position of the last occurrence of needle in the haystack string. If needle is not found, it returns false.

Notas

Nota: The encoding parameter was moved from the third position to the fourth in PHP 5.2.0. For backward compatibility, encoding can be specified as the third parameter, but doing so is deprecated and will be removed in the future.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • mb_strpos() - Find position of first occurrence of string in a string
  • mb_internal_encoding() - Set/Get internal character encoding
  • strrpos() - Encontra a posição da última ocorrência de um caractere em uma string


Finds first occurrence of a string within another

  • « mb_strrpos
  • mb_strtolower »
  • PHP Manual
  • Multibyte String Funções
  • Finds first occurrence of a string within another

mb_strstr

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_strstr — Finds first occurrence of a string within another

Descrição

mb_strstr ( string $haystack , string $needle , bool $before_needle = false , string|null $encoding = null ) : string|false

mb_strstr() finds the first occurrence of needle in haystack and returns the portion of haystack. If needle is not found, it returns false.

Parâmetros

haystack

The string from which to get the first occurrence of needle

needle

The string to find in haystack

before_needle

Determines which portion of haystack this function returns. If set to true, it returns all of haystack from the beginning to the first occurrence of needle (excluding needle). If set to false, it returns all of haystack from the first occurrence of needle to the end (including needle).

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Valor Retornado

Returns the portion of haystack, or false if needle is not found.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • stristr() - strstr sem diferenciar maiúsculas e minúsculas
  • strstr() - Encontra a primeira ocorrencia de uma string
  • mb_stristr() - Finds first occurrence of a string within another, case insensitive


Torna uma string minúscula

  • « mb_strstr
  • mb_strtoupper »
  • PHP Manual
  • Multibyte String Funções
  • Torna uma string minúscula

mb_strtolower

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_strtolower — Torna uma string minúscula

Descrição

mb_strtolower ( string $str , string $encoding = mb_internal_encoding() ) : string

Retorna string com todos os caracteres alfabéticos convertidos em minúsculas.

Parâmetros

string

A string a ser convertida em minúsculas.

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

Valor Retornado

string com todos os caracteres alfabéticos convertidos em minúsculas.

Unicode

Para mais informações sobre as propriedades Unicode, consulte » http://www.unicode.org/reports/tr21/.

Ao contrário de strtolower(), 'alfabético' é determinado pelas propriedades de caracteres Unicode. Portanto, o comportamento desta função não é afetado por configurações de localidade e ela pode converter qualquer caractere que possui a propriedade 'alfabético', como A-trema (Ä).

Exemplos

Exemplo #1 Exemplo de mb_strtolower()

<?php
$str = "Maria Tinha Um Cordeirinho e Ela O AMAVA";
$str = mb_strtolower($str);
echo $str; // Imprime maria tinha um cordeirinho e ela o amava
?>

Exemplo #2 Exemplo de mb_strtolower() com texto UTF-8 não-Latin

<?php
$str = "????st? a??p?? ßaf?? ??µ??? ??, d?as?e???e? ?p?? ?????? ?????";
$str = mb_strtolower($str, 'UTF-8');
echo $str; // Imprime t???st? a??p?? ßaf?? ??µ??? ??, d?as?e???e? ?p?? ?????? ?????
?>

Veja Também

  • mb_strtoupper() - Make a string uppercase
  • mb_convert_case() - Perform case folding on a string
  • strtolower() - Converte uma string para minúsculas


Make a string uppercase

  • « mb_strtolower
  • mb_strwidth »
  • PHP Manual
  • Multibyte String Funções
  • Make a string uppercase

mb_strtoupper

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_strtoupper — Make a string uppercase

Descrição

mb_strtoupper ( string $string , string|null $encoding = null ) : string

Returns string with all alphabetic characters converted to uppercase.

Parâmetros

string

The string being uppercased.

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

Valor Retornado

string with all alphabetic characters converted to uppercase.

Unicode

For more information about the Unicode properties, please see » http://www.unicode.org/reports/tr21/.

By contrast to strtoupper(), 'alphabetic' is determined by the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as a-umlaut (ä).

Exemplos

Exemplo #1 mb_strtoupper() example

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = mb_strtoupper($str);
echo $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>

Exemplo #2 mb_strtoupper() example with non-Latin UTF-8 text

<?php
$str = "????st? a??p?? ßaf?? ??µ??? ??, d?as?e???e? ?p?? ?????? ?????";
$str = mb_strtoupper($str, 'UTF-8');
echo $str; // Prints ????S?? ?????? ??F?S ?????? G?, ???S??????? ???? ?OT??? ????S
?>

Veja Também

  • mb_strtolower() - Torna uma string minúscula
  • mb_convert_case() - Perform case folding on a string
  • strtoupper() - Converte uma string para maiúsculas


Return width of string

  • « mb_strtoupper
  • mb_substitute_character »
  • PHP Manual
  • Multibyte String Funções
  • Return width of string

mb_strwidth

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strwidth — Return width of string

Descrição

mb_strwidth ( string $string , string|null $encoding = null ) : int

Returns the width of string string, where halfwidth characters count as 1, and fullwidth characters count as 2. See » http://www.unicode.org/reports/tr11/ for details regarding East Asian character widths.

The fullwidth characters are: U+1100-U+115F, U+11A3-U+11A7, U+11FA-U+11FF, U+2329-U+232A, U+2E80-U+2E99, U+2E9B-U+2EF3, U+2F00-U+2FD5, U+2FF0-U+2FFB, U+3000-U+303E, U+3041-U+3096, U+3099-U+30FF, U+3105-U+312D, U+3131-U+318E, U+3190-U+31BA, U+31C0-U+31E3, U+31F0-U+321E, U+3220-U+3247, U+3250-U+32FE, U+3300-U+4DBF, U+4E00-U+A48C, U+A490-U+A4C6, U+A960-U+A97C, U+AC00-U+D7A3, U+D7B0-U+D7C6, U+D7CB-U+D7FB, U+F900-U+FAFF, U+FE10-U+FE19, U+FE30-U+FE52, U+FE54-U+FE66, U+FE68-U+FE6B, U+FF01-U+FF60, U+FFE0-U+FFE6, U+1B000-U+1B001, U+1F200-U+1F202, U+1F210-U+1F23A, U+1F240-U+1F248, U+1F250-U+1F251, U+20000-U+2FFFD, U+30000-U+3FFFD. All other characters are halfwidth characters.

Parâmetros

string

The string being decoded.

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

Valor Retornado

The width of string string.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Exemplos

Exemplo #1 mb_strwidth() example

<?php
var_dump(
    mb_strwidth('a'),       // LATIN SMALL LETTER A
    mb_strwidth("\u{ff41}") // FULLWIDTH LATIN SMALL LETTER A
);
?>

O exemplo acima irá imprimir:

int(1)
int(2)

Veja Também

  • mb_strimwidth() - Get truncated string with specified width
  • mb_internal_encoding() - Set/Get internal character encoding


Set/Get substitution character

  • « mb_strwidth
  • mb_substr_count »
  • PHP Manual
  • Multibyte String Funções
  • Set/Get substitution character

mb_substitute_character

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_substitute_character — Set/Get substitution character

Descrição

mb_substitute_character ( string|int|null $substitute_character = null ) : string|int|bool

Specifies a substitution character when input character encoding is invalid or character code does not exist in output character encoding. Invalid characters may be substituted "none" (no output), string or int value (Unicode character code value).

This setting affects mb_convert_encoding(),
mb_convert_variables(),
mb_output_handler(),
and mb_send_mail().

Parâmetros

substitute_character

Specify the Unicode value as an int, or as one of the following strings:

  • "none": no output
  • "long": Output character code value (Example: U+3000, JIS+7E7E)
  • "entity": Output character entity (Example: &#x200;)

Valor Retornado

If substitute_character is set, it returns true for success, otherwise returns false. If substitute_character is not set, it returns the current setting.

Changelog

Versão | Descrição
8.0.0 | Passing an empty string to substitute_character is no longer supported; "none" should be passed instead.
8.0.0 | encoding is nullable now.

Exemplos

Exemplo #1 mb_substitute_character() example

<?php
/* Set with Unicode U+3013 (GETA MARK) */
mb_substitute_character(0x3013);

/* Set hex format */
mb_substitute_character("long");

/* Display current setting */
echo mb_substitute_character();
?>


Count the number of substring occurrences

  • « mb_substitute_character
  • mb_substr »
  • PHP Manual
  • Multibyte String Funções
  • Count the number of substring occurrences

mb_substr_count

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_substr_count — Count the number of substring occurrences

Descrição

mb_substr_count ( string $haystack , string $needle , string|null $encoding = null ) : int

Counts the number of times the needle substring occurs in the haystack string.

Parâmetros

haystack

The string being checked.

needle

The string being found.

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

Valor Retornado

The number of times the needle substring occurs in the haystack string.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Exemplos

Exemplo #1 mb_substr_count() example

<?php
echo mb_substr_count("This is a test", "is"); // prints out 2
?>

Veja Também

  • mb_strpos() - Find position of first occurrence of string in a string
  • mb_substr() - Get part of string
  • substr_count() - Conta o número de ocorrências de uma substring


Get part of string

  • « mb_substr_count
  • Pspell »
  • PHP Manual
  • Multibyte String Funções
  • Get part of string

mb_substr

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_substr — Get part of string

Descrição

mb_substr ( string $string , int $start , int|null $length = null , string|null $encoding = null ) : string

Performs a multi-byte safe substr() operation based on number of characters. Position is counted from the beginning of string. First character's position is 0. Second character position is 1, and so on.

Parâmetros

string

The string to extract the substring from.

start

If start is non-negative, the returned string will start at the start'th position in string, counting from zero. For instance, in the string 'abcdef', the character at position 0 is 'a', the character at position 2 is 'c', and so forth.

If start is negative, the returned string will start at the start'th character from the end of string.

length

Maximum number of characters to use from string. If omitted or NULL is passed, extract all characters to the end of the string.

encoding

O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.

Valor Retornado

mb_substr() returns the portion of string specified by the start and length parameters.

Changelog

Versão | Descrição
8.0.0 | encoding is nullable now.

Veja Também

  • mb_strcut() - Get part of string
  • mb_internal_encoding() - Set/Get internal character encoding


Pspell

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Pspell Funções
    • pspell_add_to_personal — Add the word to a personal wordlist
    • pspell_add_to_session — Add the word to the wordlist in the current session
    • pspell_check — Check a word
    • pspell_clear_session — Clear the current session
    • pspell_config_create — Create a config used to open a dictionary
    • pspell_config_data_dir — Location of language data files
    • pspell_config_dict_dir — Location of the main word list
    • pspell_config_ignore — Ignore words less than N characters long
    • pspell_config_mode — Change the mode number of suggestions returned
    • pspell_config_personal — Set a file that contains personal wordlist
    • pspell_config_repl — Set a file that contains replacement pairs
    • pspell_config_runtogether — Consider run-together words as valid compounds
    • pspell_config_save_repl — Determine whether to save a replacement pairs list along with the wordlist
    • pspell_new_config — Load a new dictionary with settings based on a given config
    • pspell_new_personal — Load a new dictionary with personal wordlist
    • pspell_new — Load a new dictionary
    • pspell_save_wordlist — Save the personal wordlist to a file
    • pspell_store_replacement — Store a replacement pair for a word
    • pspell_suggest — Suggest spellings of a word


Introdução

These functions allow you to check the spelling of a word and offer suggestions.


Dependências

To compile PHP with pspell support, you need the aspell library, available from » http://aspell.net/.


Instalação

If you have the libraries needed add the --with-pspell[=dir] option when compiling PHP.

Nota: Note to Win32 Users

Para esta extensão funcionar, existem arquivos DLL que devem estar disponíveis no PATH do sistema Windows. Para saber como fazer isso, veja o FAQ intitulado "Como eu adiciono o meu diretório PHP no PATH no Windows". Embora copiando arquivos DLL da pasta do PHP no diretório system do Windows também funcione (porque o diretório system está por padrão no PATH do sistema), isto não é recomendado. Esta extensão requer que os seguintes arquivos estejam no PATH: aspell-15.dll from the bin folder of the aspell installation.

Win32 support requires at least aspell version 0.50.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

PSPELL_FAST (int)
PSPELL_NORMAL (int)
PSPELL_BAD_SPELLERS (int)
PSPELL_RUN_TOGETHER (int)


Pspell Funções

Índice

  • pspell_add_to_personal — Add the word to a personal wordlist
  • pspell_add_to_session — Add the word to the wordlist in the current session
  • pspell_check — Check a word
  • pspell_clear_session — Clear the current session
  • pspell_config_create — Create a config used to open a dictionary
  • pspell_config_data_dir — Location of language data files
  • pspell_config_dict_dir — Location of the main word list
  • pspell_config_ignore — Ignore words less than N characters long
  • pspell_config_mode — Change the mode number of suggestions returned
  • pspell_config_personal — Set a file that contains personal wordlist
  • pspell_config_repl — Set a file that contains replacement pairs
  • pspell_config_runtogether — Consider run-together words as valid compounds
  • pspell_config_save_repl — Determine whether to save a replacement pairs list along with the wordlist
  • pspell_new_config — Load a new dictionary with settings based on a given config
  • pspell_new_personal — Load a new dictionary with personal wordlist
  • pspell_new — Load a new dictionary
  • pspell_save_wordlist — Save the personal wordlist to a file
  • pspell_store_replacement — Store a replacement pair for a word
  • pspell_suggest — Suggest spellings of a word


Add the word to a personal wordlist

  • « Pspell Funções
  • pspell_add_to_session »
  • PHP Manual
  • Pspell Funções
  • Add the word to a personal wordlist

pspell_add_to_personal

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_add_to_personal — Add the word to a personal wordlist

Descrição

pspell_add_to_personal ( int $dictionary , string $word ) : bool

pspell_add_to_personal() adds a word to the personal wordlist. If you used pspell_new_config() with pspell_config_personal() to open the dictionary, you can save the wordlist later with pspell_save_wordlist().

Parâmetros

dictionary

word

The added word.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 pspell_add_to_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_save_wordlist($pspell_link);
?>

Notas

Nota:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.


Add the word to the wordlist in the current session

  • « pspell_add_to_personal
  • pspell_check »
  • PHP Manual
  • Pspell Funções
  • Add the word to the wordlist in the current session

pspell_add_to_session

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_add_to_session — Add the word to the wordlist in the current session

Descrição

pspell_add_to_session ( int $dictionary , string $word ) : bool

pspell_add_to_session() adds a word to the wordlist associated with the current session. It is very similar to pspell_add_to_personal()

Parâmetros

dictionary

word

The added word.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Check a word

  • « pspell_add_to_session
  • pspell_clear_session »
  • PHP Manual
  • Pspell Funções
  • Check a word

pspell_check

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_check — Check a word

Descrição

pspell_check ( int $dictionary , string $word ) : bool

pspell_check() checks the spelling of a word.

Parâmetros

dictionary

word

The tested word.

Valor Retornado

Returns true if the spelling is correct, false if not.

Exemplos

Exemplo #1 pspell_check() Example

<?php
$pspell_link = pspell_new("en");

if (pspell_check($pspell_link, "testt")) {
    echo "This is a valid spelling";
} else {
    echo "Sorry, wrong spelling";
}
?>


Clear the current session

  • « pspell_check
  • pspell_config_create »
  • PHP Manual
  • Pspell Funções
  • Clear the current session

pspell_clear_session

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_clear_session — Clear the current session

Descrição

pspell_clear_session ( int $dictionary ) : bool

pspell_clear_session() clears the current session. The current wordlist becomes blank, and, for example, if you try to save it with pspell_save_wordlist(), nothing happens.

Parâmetros

dictionary

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 pspell_add_to_personal() Example

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_clear_session($pspell_link);
pspell_save_wordlist($pspell_link);    //"Vlad" will not be saved
?>


Create a config used to open a dictionary

  • « pspell_clear_session
  • pspell_config_data_dir »
  • PHP Manual
  • Pspell Funções
  • Create a config used to open a dictionary

pspell_config_create

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_create — Create a config used to open a dictionary

Descrição

pspell_config_create ( string $language , string $spelling = "" , string $jargon = "" , string $encoding = "" ) : int

Create a config used to open a dictionary.

pspell_config_create() has a very similar syntax to pspell_new(). In fact, using pspell_config_create() immediately followed by pspell_new_config() will produce the exact same result. However, after creating a new config, you can also use pspell_config_*() functions before calling pspell_new_config() to take advantage of some advanced functionality.

For more information and examples, check out inline manual pspell website:» http://aspell.net/.

Parâmetros

language

The language parameter is the language code which consists of the two letter ISO 639 language code and an optional two letter ISO 3166 country code after a dash or underscore.

spelling

The spelling parameter is the requested spelling for languages with more than one spelling such as English. Known values are 'american', 'british', and 'canadian'.

jargon

The jargon parameter contains extra information to distinguish two different words lists that have the same language and spelling parameters.

encoding

The encoding parameter is the encoding that words are expected to be in. Valid values are 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. This parameter is largely untested, so be careful when using.

Valor Retornado

Returns a pspell config identifier, or false on error.

Exemplos

Exemplo #1 pspell_config_create()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_personal($pspell_config, "en");
?>


Location of language data files

  • « pspell_config_create
  • pspell_config_dict_dir »
  • PHP Manual
  • Pspell Funções
  • Location of language data files

pspell_config_data_dir

(PHP 5, PHP 7, PHP 8)

pspell_config_data_dir — Location of language data files

Descrição

pspell_config_data_dir ( int $config , string $directory ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Location of the main word list

  • « pspell_config_data_dir
  • pspell_config_ignore »
  • PHP Manual
  • Pspell Funções
  • Location of the main word list

pspell_config_dict_dir

(PHP 5, PHP 7, PHP 8)

pspell_config_dict_dir — Location of the main word list

Descrição

pspell_config_dict_dir ( int $config , string $directory ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Ignore words less than N characters long

  • « pspell_config_dict_dir
  • pspell_config_mode »
  • PHP Manual
  • Pspell Funções
  • Ignore words less than N characters long

pspell_config_ignore

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_ignore — Ignore words less than N characters long

Descrição

pspell_config_ignore ( int $config , int $min_length ) : bool

pspell_config_ignore() should be used on a config before calling pspell_new_config(). This function allows short words to be skipped by the spell checker.

Parâmetros

config

min_length

Words less than min_length characters will be skipped.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 pspell_config_ignore()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_ignore($pspell_config, 5);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "abcd");    //will not result in an error
?>


Change the mode number of suggestions returned

  • « pspell_config_ignore
  • pspell_config_personal »
  • PHP Manual
  • Pspell Funções
  • Change the mode number of suggestions returned

pspell_config_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_mode — Change the mode number of suggestions returned

Descrição

pspell_config_mode ( int $config , int $mode ) : bool

pspell_config_mode() should be used on a config before calling pspell_new_config(). This function determines how many suggestions will be returned by pspell_suggest().

Parâmetros

config

mode

The mode parameter is the mode in which spellchecker will work. There are several modes available:

  • PSPELL_FAST - Fast mode (least number of suggestions)
  • PSPELL_NORMAL - Normal mode (more suggestions)
  • PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 pspell_config_mode() Example

<?php
$pspell_config = pspell_config_create("en");
pspell_config_mode($pspell_config, PSPELL_FAST);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>


Set a file that contains personal wordlist

  • « pspell_config_mode
  • pspell_config_repl »
  • PHP Manual
  • Pspell Funções
  • Set a file that contains personal wordlist

pspell_config_personal

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_personal — Set a file that contains personal wordlist

Descrição

pspell_config_personal ( int $config , string $filename ) : bool

Set a file that contains personal wordlist. The personal wordlist will be loaded and used in addition to the standard one after you call pspell_new_config(). The file is also the file where pspell_save_wordlist() will save personal wordlist to.

pspell_config_personal() should be used on a config before calling pspell_new_config().

Parâmetros

config

filename

The personal wordlist. If the file does not exist, it will be created. The file should be writable by whoever PHP runs as (e.g. nobody).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 pspell_config_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

Notas

Nota:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.


Set a file that contains replacement pairs

  • « pspell_config_personal
  • pspell_config_runtogether »
  • PHP Manual
  • Pspell Funções
  • Set a file that contains replacement pairs

pspell_config_repl

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_repl — Set a file that contains replacement pairs

Descrição

pspell_config_repl ( int $config , string $filename ) : bool

Set a file that contains replacement pairs.

The replacement pairs improve the quality of the spellchecker. When a word is misspelled, and a proper suggestion was not found in the list, pspell_store_replacement() can be used to store a replacement pair and then pspell_save_wordlist() to save the wordlist along with the replacement pairs.

pspell_config_repl() should be used on a config before calling pspell_new_config().

Parâmetros

config

filename

The file should be writable by whoever PHP runs as (e.g. nobody).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 pspell_config_repl()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

Notas

Nota:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.


Consider run-together words as valid compounds

  • « pspell_config_repl
  • pspell_config_save_repl »
  • PHP Manual
  • Pspell Funções
  • Consider run-together words as valid compounds

pspell_config_runtogether

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_runtogether — Consider run-together words as valid compounds

Descrição

pspell_config_runtogether ( int $config , bool $allow ) : bool

This function determines whether run-together words will be treated as legal compounds. That is, "thecat" will be a legal compound, although there should be a space between the two words. Changing this setting only affects the results returned by pspell_check(); pspell_suggest() will still return suggestions.

pspell_config_runtogether() should be used on a config before calling pspell_new_config().

Parâmetros

config

allow

true if run-together words should be treated as legal compounds, false otherwise.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 pspell_config_runtogether()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_runtogether($pspell_config, true);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>


Determine whether to save a replacement pairs list along with the wordlist

  • « pspell_config_runtogether
  • pspell_new_config »
  • PHP Manual
  • Pspell Funções
  • Determine whether to save a replacement pairs list along with the wordlist

pspell_config_save_repl

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_save_repl — Determine whether to save a replacement pairs list along with the wordlist

Descrição

pspell_config_save_repl ( int $config , bool $save ) : bool

pspell_config_save_repl() determines whether pspell_save_wordlist() will save the replacement pairs along with the wordlist. Usually there is no need to use this function because if pspell_config_repl() is used, the replacement pairs will be saved by pspell_save_wordlist() anyway, and if it is not, the replacement pairs will not be saved.

pspell_config_save_repl() should be used on a config before calling pspell_new_config().

Parâmetros

config

save

true if replacement pairs should be saved, false otherwise.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.


Load a new dictionary with settings based on a given config

  • « pspell_config_save_repl
  • pspell_new_personal »
  • PHP Manual
  • Pspell Funções
  • Load a new dictionary with settings based on a given config

pspell_new_config

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_new_config — Load a new dictionary with settings based on a given config

Descrição

pspell_new_config ( int $config ) : int|false

pspell_new_config() opens up a new dictionary with settings specified in a config, created with pspell_config_create() and modified with pspell_config_*() functions. This method provides you with the most flexibility and has all the functionality provided by pspell_new() and pspell_new_personal().

Parâmetros

config

The config parameter is the one returned by pspell_config_create() when the config was created.

Valor Retornado

Returns a dictionary link identifier on success, ou false em caso de falha.

Exemplos

Exemplo #1 pspell_new_config()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);
?>


Load a new dictionary with personal wordlist

  • « pspell_new_config
  • pspell_new »
  • PHP Manual
  • Pspell Funções
  • Load a new dictionary with personal wordlist

pspell_new_personal

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_new_personal — Load a new dictionary with personal wordlist

Descrição

pspell_new_personal ( string $filename , string $language , string $spelling = "" , string $jargon = "" , string $encoding = "" , int $mode = 0 ) : int|false

pspell_new_personal() opens up a new dictionary with a personal wordlist. The wordlist can be modified and saved with pspell_save_wordlist(), if desired. However, the replacement pairs are not saved. In order to save replacement pairs, you should create a config using pspell_config_create(), set the personal wordlist file with pspell_config_personal(), set the file for replacement pairs with pspell_config_repl(), and open a new dictionary with pspell_new_config().

For more information and examples, check out inline manual pspell website:» http://aspell.net/.

Parâmetros

filename

The file where words added to the personal list will be stored. It should be an absolute filename beginning with '/' because otherwise it will be relative to $HOME, which is "/root" for most systems, and is probably not what you want.

language

The language code which consists of the two letter ISO 639 language code and an optional two letter ISO 3166 country code after a dash or underscore.

spelling

The requested spelling for languages with more than one spelling such as English. Known values are 'american', 'british', and 'canadian'.

jargon

Extra information to distinguish two different words lists that have the same language and spelling parameters.

encoding

The encoding that words are expected to be in. Valid values are utf-8, iso8859-*, koi8-r, viscii, cp1252, machine unsigned 16, machine unsigned 32.

mode

The mode in which spellchecker will work. There are several modes available:

  • PSPELL_FAST - Fast mode (least number of suggestions)
  • PSPELL_NORMAL - Normal mode (more suggestions)
  • PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)
  • PSPELL_RUN_TOGETHER - Consider run-together words as legal compounds. That is, "thecat" will be a legal compound, although there should be a space between the two words. Changing this setting only affects the results returned by pspell_check(); pspell_suggest() will still return suggestions.
Mode is a bitmask constructed from different constants listed above. However, PSPELL_FAST, PSPELL_NORMAL and PSPELL_BAD_SPELLERS are mutually exclusive, so you should select only one of them.

Valor Retornado

Returns the dictionary link identifier for use in other pspell functions.

Exemplos

Exemplo #1 pspell_new_personal()

<?php
$pspell_link = pspell_new_personal ("/var/dictionaries/custom.pws",
        "en", "", "", "", PSPELL_FAST|PSPELL_RUN_TOGETHER);
?>


Load a new dictionary

  • « pspell_new_personal
  • pspell_save_wordlist »
  • PHP Manual
  • Pspell Funções
  • Load a new dictionary

pspell_new

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_new — Load a new dictionary

Descrição

pspell_new ( string $language , string $spelling = "" , string $jargon = "" , string $encoding = "" , int $mode = 0 ) : int|false

pspell_new() opens up a new dictionary and returns the dictionary link identifier for use in other pspell functions.

For more information and examples, check out inline manual pspell website:» http://aspell.net/.

Parâmetros

language

The language parameter is the language code which consists of the two letter ISO 639 language code and an optional two letter ISO 3166 country code after a dash or underscore.

spelling

The spelling parameter is the requested spelling for languages with more than one spelling such as English. Known values are 'american', 'british', and 'canadian'.

jargon

The jargon parameter contains extra information to distinguish two different words lists that have the same language and spelling parameters.

encoding

The encoding parameter is the encoding that words are expected to be in. Valid values are 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. This parameter is largely untested, so be careful when using.

mode

The mode parameter is the mode in which spellchecker will work. There are several modes available:

  • PSPELL_FAST - Fast mode (least number of suggestions)
  • PSPELL_NORMAL - Normal mode (more suggestions)
  • PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)
  • PSPELL_RUN_TOGETHER - Consider run-together words as legal compounds. That is, "thecat" will be a legal compound, although there should be a space between the two words. Changing this setting only affects the results returned by pspell_check(); pspell_suggest() will still return suggestions.
Mode is a bitmask constructed from different constants listed above. However, PSPELL_FAST, PSPELL_NORMAL and PSPELL_BAD_SPELLERS are mutually exclusive, so you should select only one of them.

Valor Retornado

Returns the dictionary link identifier on success ou false em caso de falha.

Exemplos

Exemplo #1 pspell_new()

<?php
$pspell_link = pspell_new("en", "", "", "",
                           (PSPELL_FAST|PSPELL_RUN_TOGETHER));
?>


Save the personal wordlist to a file

  • « pspell_new
  • pspell_store_replacement »
  • PHP Manual
  • Pspell Funções
  • Save the personal wordlist to a file

pspell_save_wordlist

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_save_wordlist — Save the personal wordlist to a file

Descrição

pspell_save_wordlist ( int $dictionary ) : bool

pspell_save_wordlist() saves the personal wordlist from the current session. The location of files to be saved specified with pspell_config_personal() and (optionally) pspell_config_repl().

Parâmetros

dictionary

A dictionary link identifier opened with pspell_new_personal().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 pspell_add_to_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/tmp/dicts/newdict");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_save_wordlist($pspell_link);
?>

Notas

Nota:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.


Store a replacement pair for a word

  • « pspell_save_wordlist
  • pspell_suggest »
  • PHP Manual
  • Pspell Funções
  • Store a replacement pair for a word

pspell_store_replacement

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_store_replacement — Store a replacement pair for a word

Descrição

pspell_store_replacement ( int $dictionary , string $misspelled , string $correct ) : bool

pspell_store_replacement() stores a replacement pair for a word, so that replacement can be returned by pspell_suggest() later. In order to be able to take advantage of this function, you have to use pspell_new_personal() to open the dictionary. In order to permanently save the replacement pair, you have to use pspell_config_personal() and pspell_config_repl() to set the path where to save your custom wordlists, and then use pspell_save_wordlist() for the changes to be written to disk.

Parâmetros

dictionary

A dictionary link identifier, opened with pspell_new_personal()

misspelled

The misspelled word.

correct

The fixed spelling for the misspelled word.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 pspell_store_replacement()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);

pspell_store_replacement($pspell_link, $misspelled, $correct);
pspell_save_wordlist($pspell_link);
?>

Notas

Nota:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.


Suggest spellings of a word

  • « pspell_store_replacement
  • Recode »
  • PHP Manual
  • Pspell Funções
  • Suggest spellings of a word

pspell_suggest

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_suggest — Suggest spellings of a word

Descrição

pspell_suggest ( int $dictionary , string $word ) : array|false

pspell_suggest() returns an array of possible spellings for the given word.

Parâmetros

dictionary

word

The tested word.

Valor Retornado

Returns an array of possible spellings.

Exemplos

Exemplo #1 pspell_suggest() example

<?php
$pspell_link = pspell_new("en");

if (!pspell_check($pspell_link, "testt")) {
    $suggestions = pspell_suggest($pspell_link, "testt");

    foreach ($suggestions as $suggestion) {
        echo "Possible spelling: $suggestion<br />";
    }
}
?>


GNU Recode

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Recode Funções
    • recode_file — Recode from file to file according to recode request
    • recode_string — Recode a string according to a recode request
    • recode — Sinônimo de recode_string


Introdução

This module contains an interface to the GNU Recode library. The GNU Recode library converts files between various coded character sets and surface encodings. When this cannot be achieved exactly, it may get rid of the offending characters or fall back on approximations. The library recognises or produces nearly 150 different character sets and is able to convert files between almost any pair. Most » RFC 1345 character sets are supported.

Nota: This extension is unbundled and moved to » PECL as of PHP 7.4.0. Consider to use the Multibyte String or iconv extensions instead.

Nota: Esta extensão não está disponível na plataforma Windows.


Dependências

You must have GNU Recode 3.5 or higher installed on your system. You can download the package from » http://directory.fsf.org/All_GNU_Packages/recode.html.

Aviso

The Recode library version 3.6 adds weird characters behind converted strings under certain circumstances. Thus it's safer to use Recode v3.5 or one of the available alternatives like the iconv or mbstring extension.


Instalação

PHP 7.4

Esta extensão foi movida para o repositório » PECL e não é mais incluída como parte do PHP.7.4.0

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/recode.

PHP < 7.4

To be able to use the functions defined in this module you must compile your PHP interpreter using the --with-recode[=DIR] option.

Aviso

Crashes and startup problems of PHP may be encountered when loading the recode as extension after loading any extension of mysql or imap. Loading the recode before those extension has proved to fix the problem. This is due a technical problem that both the c-client library used by imap and recode have their own hash_lookup() function and both mysql and recode have their own hash_insert function.

Aviso

As extensões IMAP, recode e YAZ não podem ser utilizadas em paralelo por conterem símbolos internos de mesmo nome. Yaz 2.0 e superiores não sofrem deste problema.


  • « Tipos de Recurso
  • Recode Funções »
  • PHP Manual
  • Recode
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Recode Funções

Índice

  • recode_file — Recode from file to file according to recode request
  • recode_string — Recode a string according to a recode request
  • recode — Sinônimo de recode_string


Recode from file to file according to recode request

  • « Recode Funções
  • recode_string »
  • PHP Manual
  • Recode Funções
  • Recode from file to file according to recode request

recode_file

(PHP 4, PHP 5, PHP 7 < 7.4.0)

recode_file — Recode from file to file according to recode request

Descrição

recode_file ( string $request , resource $input , resource $output ) : bool

Recode the file referenced by file handle input into the file referenced by file handle output according to the recode request.

Parâmetros

request

The desired recode request type

input

A local file handle resource for the input

output

A local file handle resource for the output

Valor Retornado

Returns false, if unable to comply, true otherwise.

Exemplos

Exemplo #1 Basic recode_file() example

<?php
$input = fopen('input.txt', 'r');
$output = fopen('output.txt', 'w');
recode_file("us..flat", $input, $output);
?>

Notas

This function does not currently process file handles referencing remote files (URLs). Both file handles must refer to local files.

Veja Também

  • fopen() - Abre um arquivo ou URL


Recode a string according to a recode request

  • « recode_file
  • recode »
  • PHP Manual
  • Recode Funções
  • Recode a string according to a recode request

recode_string

(PHP 4, PHP 5, PHP 7 < 7.4.0)

recode_string — Recode a string according to a recode request

Descrição

recode_string ( string $request , string $string ) : string

Recode the string string according to the recode request request.

Parâmetros

request

The desired recode request type

string

The string to be recoded

Valor Retornado

Returns the recoded string or false, if unable to perform the recode request.

Exemplos

Exemplo #1 Basic recode_string() example

<?php
echo recode_string("us..flat", "The following character has a diacritical mark: á");
?>

Notas

A simple recode request may be "lat1..iso646-de".

Veja Também

  • The GNU Recode documentation of your installation for detailed instructions about recode requests.


Sinônimo de recode_string

  • « recode_string
  • Processamento e Geração de Imagem »
  • PHP Manual
  • Recode Funções
  • Sinônimo de recode_string

recode

(PHP 4, PHP 5, PHP 7 < 7.4.0)

recode — Sinônimo de recode_string()

Descrição

Esta função é um apelido para: recode_string().


Processamento e Geração de Imagem

  • Exif — Exchangeable image information
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções da Exif
  • GD — Processamento de Imagem (GD)
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções da GD
  • Gmagick
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Gmagick — The Gmagick class
    • GmagickDraw — The GmagickDraw class
    • GmagickPixel — The GmagickPixel class
  • ImageMagick — Image Processing (ImageMagick)
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Imagick — The Imagick class
    • ImagickDraw — The ImagickDraw class
    • ImagickPixel — The ImagickPixel class
    • ImagickPixelIterator — The ImagickPixelIterator class
    • ImagickKernel — The ImagickKernel class


Exchangeable image information

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções da Exif
    • exif_imagetype — Verifica o tipo de uma imagem
    • exif_read_data — Lê os cabeçalhos EXIF de imagens JPEG ou TIFF. Deste modo você poderá ler meta dados gerados por camêras digitais.
    • exif_tagname — Obtém o nome do cabeçalho para um índice
    • exif_thumbnail — Recupera a miniatura embutida de uma imagem TIFF ou JPEG
    • read_exif_data — Sinônimo de exif_read_data


Introdução

Com a extensão exif você pode trabalhar com meta dados de imagem. Por exemplo, você pode usar funçõe exif para ler meta dados de figuras obtendo a câmera digital com informações armazenadas no cabeçalho de imagens JPEG e TIFF.


Dependências

Seu PHP precisa ser compilado com --enable-exif. PHP não requer biblioteca adicional para o módulo exif. Usuários Windows precisam também ter a extensão mbstring habilitada.


Instalação

Para habilitar suporte a exif configure o PHP com --enable-exif

Usuários Windows precisam habilitar as DLLs php_mbstring.dll e php_exif.dll no php.ini. A DLL php_mbstring.dll precisa ser carregada antes da php_exif.dll então ajuste seu php.ini corretamente.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Exif supports automatically conversion for Unicode and JIS character encodings of user comments when module mbstring is available. This is done by first decoding the comment using the specified characterset. The result is then encoded with another characterset which should match your HTTP output.

Exif configuration options
Nome | Padrão | Modificável | Changelog
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL |
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL |
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL |
exif.encode_jis | "" | PHP_INI_ALL |
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL |
exif.decode_jis_intel | "JIS" | PHP_INI_ALL |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

exif.encode_unicode string

exif.encode_unicode defines the characterset UNICODE user comments are handled. This defaults to ISO-8859-15 which should work for most non Asian countries. The setting can be empty or must be an encoding supported by mbstring. If it is empty the current internal encoding of mbstring is used.

exif.decode_unicode_motorola string

exif.decode_unicode_motorola defines the image internal characterset for Unicode encoded user comments if image is in motorola byte order (big-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is UCS-2BE.

exif.decode_unicode_intel string

exif.decode_unicode_intel defines the image internal characterset for Unicode encoded user comments if image is in intel byte order (little-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is UCS-2LE.

exif.encode_jis string

exif.encode_jis defines the characterset JIS user comments are handled. This defaults to an empty value which forces the functions to use the current internal encoding of mbstring.

exif.decode_jis_motorola string

exif.decode_jis_motorola defines the image internal characterset for JIS encoded user comments if image is in motorola byte order (big-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is JIS.

exif.decode_jis_intel string

exif.decode_jis_intel defines the image internal characterset for JIS encoded user comments if image is in intel byte order (little-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is JIS.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

EXIF_USE_MBSTRING (integer)

A exif_imagetype() lista várias contantes internas relacionadas.


Funções da Exif

Índice

  • exif_imagetype — Verifica o tipo de uma imagem
  • exif_read_data — Lê os cabeçalhos EXIF de imagens JPEG ou TIFF. Deste modo você poderá ler meta dados gerados por camêras digitais.
  • exif_tagname — Obtém o nome do cabeçalho para um índice
  • exif_thumbnail — Recupera a miniatura embutida de uma imagem TIFF ou JPEG
  • read_exif_data — Sinônimo de exif_read_data


Verifica o tipo de uma imagem

  • « Funções da Exif
  • exif_read_data »
  • PHP Manual
  • Funções da Exif
  • Verifica o tipo de uma imagem

exif_imagetype

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

exif_imagetype — Verifica o tipo de uma imagem

Descrição

exif_imagetype ( string $filename ) : int

exif_imagetype() lê os primeiros bytes de uma imagem e verifica sua assinatura.

exif_imagetype() pode ser usada para evitar chamadas para outra função exif que não tem suporte a tipos de arquivos ou um conjunção cin $_SERVER['HTTP_ACCEPT'] para verificar se pode ou não visualizar uma específica imagem no browser.

Parâmetros

filename
A imagem a ser verificada.

Valor Retornado

Quando uma correta assinatura é encontrada, o valor da constante apropriada será retornado caso contrário é retornado false. O valor retornado é o mesmo valor que getimagesize() retorna no índice 2, mas exif_imagetype() é mais rápida.

Changelog

Versão | Descrição
4.3.2 | Suporte para JPC, JP2, JPX, JB2, XBM, e WBMP
4.3.0 | Suporte para SWC

Constantes pré-definidas

As seguintes constantes são definidas, e representam um possível valor retornado pela exif_imagetype():

Constantes Imagetype
Valor | Constante
1 | IMAGETYPE_GIF
2 | IMAGETYPE_JPEG
3 | IMAGETYPE_PNG
4 | IMAGETYPE_SWF
5 | IMAGETYPE_PSD
6 | IMAGETYPE_BMP
7 | IMAGETYPE_TIFF_II (intel byte order)
8 | IMAGETYPE_TIFF_MM (motorola byte order)
9 | IMAGETYPE_JPC
10 | IMAGETYPE_JP2
11 | IMAGETYPE_JPX
12 | IMAGETYPE_JB2
13 | IMAGETYPE_SWC
14 | IMAGETYPE_IFF
15 | IMAGETYPE_WBMP
16 | IMAGETYPE_XBM

Exemplos

Exemplo #1 Exemplo da exif_imagetype()

<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
    echo 'The picture is not a gif';
}
?>

Veja Também

  • getimagesize() - Obtém o tamanho de uma imagem


Lê os cabeçalhos EXIF de imagens JPEG ou TIFF. Deste modo você poderá ler meta dados gerados por camêras digitais.

  • « exif_imagetype
  • exif_tagname »
  • PHP Manual
  • Funções da Exif
  • Lê os cabeçalhos EXIF de imagens JPEG ou TIFF. Deste modo você poderá ler meta dados gerados por camêras digitais.

exif_read_data

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

exif_read_data — Lê os cabeçalhos EXIF de imagens JPEG ou TIFF. Deste modo você poderá ler meta dados gerados por camêras digitais.

Descrição

exif_read_data ( string $filename , string $sections = ? , bool $arrays = ? , bool $thumbnail = ? ) : array

A função exif_read_data() lê os cabeçalhos EXIF de um arquivo de imagem JPEG ou TIFF. Retorna uma matriz associativa aonde os índices são os nomes dos cabeçalhos e os valores são os valores associados a estes cabeçalhos. Se nenhum dado puder ser retornado, então o resultado é false.

filename é o nome do arquivo a ser lido. Este não pode ser um URL.

sections é uma lista das seções separadas por vírgula que devem estar presentes em um arquivo para produzir a matriz com os resultados. Se nenhuma das seções não puder ser encontradas, o valor de retorno será false.

FILE | FileName, FileSize, FileDateTime, SectionsFound
COMPUTED | html, Width, Height, IsColor e algo mais se disponível.
ANY_TAG | Qualquer informação que tenha uma Tag ex. IFD0, EXIF, ...
IFD0 | Todas as informações marcadas de IFD0. Em arquivos de imagens normais isto contém o tamanho e assim por diante.
THUMBNAIL | Supostamente um arquivo contém uma miniatura de tver um segundo IFD. Toda a informação marcada sobre esta miniatura embutida é guardada nesta seção.
COMMENT | Cabeçalhos de comentários de imagens JPEG.
EXIF | A seção EXIF é uma subseção de IFD0. Ela contém informação mais detalhada sobre uma imagem. A maioria destas é relacionada a camêras digitais.

arrays especifica quando cada seção se torna ou não uma matriz. As seções COMPUTED, THUMBNAIL e COMMENT sempre se tornam matrizes já que podem conter valores os quais os nomes conflitem com outras seções.

thumbnail quando ler ou não a miniatura em sí ou apenas os dados marcados.

Nota:

Cabeçalhos Exif tendem a estar presentes em imagens JPEG/TIFF geradas por camêras digitais, mas infelizmente, cada fabricante de camêra digital tem uma idéia diferente de como marcar as suas imagens, então você não pode confiar em um cabeçalho EXIF especifico estar presente.

Windows ME/XP podem limpar os cabeçalhos Exif quando estiverem conectados a uma camêra. Maiores informações estão disponíveis em [broken link].

Exemplo #1 Exemplo exif_read_data()

<?php

echo "test1.jpg:<br />\n";
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />";

$exif = exif_read_data('tests/test2.jpg', 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
    foreach ($section as $name => $val) {
        echo "$key.$name: $val<br />\n";
    }
}
?>

A primeira chamada falha porque a imagem não tem informações no cabeçalho.

test1.jpg:
No header data found.
test2.jpg:
FILE.FileName: test2.jpg
FILE.FileDateTime: 1017666176
FILE.FileSize: 1240
FILE.FileType: 2
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, COMMENT
COMPUTED.html: width="1" height="1"
COMPUTED.Height: 1
COMPUTED.Width: 1
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 1
COMPUTED.UserComment: Exif test image.
COMPUTED.UserCommentEncoding: ASCII
COMPUTED.Copyright: Photo (c) M.Boerger, Edited by M.Boerger.
COMPUTED.Copyright.Photographer: Photo (c) M.Boerger
COMPUTED.Copyright.Editor: Edited by M.Boerger.
IFD0.Copyright: Photo (c) M.Boerger
IFD0.UserComment: ASCII
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.JPEGInterchangeFormatLength: 523
COMMENT.0: Comment #1.
COMMENT.1: Comment #2.
COMMENT.2: Comment #3end
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.Thumbnail.Height: 1
THUMBNAIL.Thumbnail.Height: 1

Nota:

Se a imagem conter qualquer dado IFDO então COMPUTED contém a entrada ByteOrderMotorola a qual é 0 para little-endian (intel) e 1 para big-endian (motorola), relativo a ordem dos byte. Isto foi adicionado no PHP 4.3.

Quando um cabeçalho Exif contém uma nota de Copyright pode conter dois valores. Como a solução é inconsistente no padrão Exif 2.10 a seção COMPUTED irá retornar ambas as entradas Copyright.Photographer e Copyright.Editor enquando as seções IFD0 contém uma matriz de byte onde o caractere NULL separa as duas entradas. Ou apenas a primeira entrada se o tipo de dados estiver errado (funcionamento normal do Exif). O COMPUTED irá conter também uma entrada Copyright a qual será a string original do copyright ou uma lista separada por vírgula da foto e do copyright do editor.

Nota:

A tag UserComment tem o mesmo problema que a tag de Copyright. Ela pode guardar dois valores, primeiro a codificação usada e em segundo o valor em sí. Então a seção IFD contém somente a codificação ou uma matriz de byte. A seção COMPUTED irá guardar ambos nas entradas UserCommentEncoding e UserComment. A entrada UserComment esta disponível em ambos os casos então deve ser usada em preferencia ao valor da seção IFD0.

Se o comentário do usuário usar Unicode ou codificação JIS e o módulo mbstring estiver disponível esta codificação será automaticamente modificada de acordo com a definição do exif que estiver no php.ini. Isto foi adicionado no PHP 4.3.

Nota:

Height e Width(altura e largura) são compudados da mesma maneira que getimagesize() faz, então seus valores não devem ser parte de nenhum cabeçalhor retornado. Também html é uma height/width de textopara ser usado dentro de um HTML normal.

Nota:

A partir do PHP 4.3 a função pode ler dodos os dados IFD embutidos, incluindo matrizes (retornadas assim). Também o tamanho da miniatura embutida retornada na submatriz THUMBNAIL e a função exif_read_data() pode retornar miniaturas no formato TIFF. Último, mas não menos importante, não existe limite de tamanho para os valores retornados (não enquanto o limite de memória não é atingido).

Nota: Esta função esta disponível apenas no PHP 4 compilado usando --enable-exif. Sua funcionalidade e comportamento mudou no PHP 4.2. Versões anteriores são muito instaveis. A partir do PHP 4.3 comentários do usuário podem mudar a codificação automaticamente se o PHP 4 foi compilado usando --enable-mbstring. Esta função não requer a biblioteca de imagem GD. Veja também exif_thumbnail() e getimagesize().


Obtém o nome do cabeçalho para um índice

  • « exif_read_data
  • exif_thumbnail »
  • PHP Manual
  • Funções da Exif
  • Obtém o nome do cabeçalho para um índice

exif_tagname

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

exif_tagname — Obtém o nome do cabeçalho para um índice

Descrição

exif_tagname ( string $index ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

index

O índice da imagem

Valor Retornado

Retorna o nome do cabeçalho, ou false se index é indefinido.

Veja Também

  • exif_imagetype() - Verifica o tipo de uma imagem


Recupera a miniatura embutida de uma imagem TIFF ou JPEG

  • « exif_tagname
  • read_exif_data »
  • PHP Manual
  • Funções da Exif
  • Recupera a miniatura embutida de uma imagem TIFF ou JPEG

exif_thumbnail

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

exif_thumbnail — Recupera a miniatura embutida de uma imagem TIFF ou JPEG

Descrição

exif_thumbnail ( string $filename , int &$width = ? , int &$height = ? , int &$imagetype = ? ) : string

exif_thumbnail() lê a miniatura embutida de uma imagem TIFF ou JPEG.

Se você quer exibir miniaturas através desta função, você pode enviar a informação do mimetype usando a função header().

É possível que exif_thumbnail() não crie uma imagem mas pode terminar o tamanho. Neste caso, o valor retornado é false mas width e height são definidos.

Parâmetros

filename

O nome do arquivo da imagem a ser lido. Esta imagem contém uma miniatura embutida.

width

A largura da miniatura retornada.

height

A altura da miniatura retornada.

imagetype

O tipo da imagem da miniatura retornada. Pode ser TIFF ou JPEG.

Valor Retornado

Retorna a miniatura embutida, our false se a imagem não contém miniatura.

Changelog

Versão | Descrição
4.3.0 | O parâmetro opcional width, height, e imagetype tornaram-se disponíveis.
4.3.0 | Pode retornar miniatura no formato TIFF.

Exemplos

Exemplo #1 Exemplo da exif_thumbnail()

<?php
if (array_key_exists('file', $_REQUEST)) {
    $image = exif_thumbnail($_REQUEST['file'], $width, $height, $type);
} else {
    $image = false;
}
if ($image!==false) {
    header('Content-type: ' .image_type_to_mime_type($type));
    echo $image;
    exit;
} else {
    // no thumbnail available, handle the error here
    echo 'No thumbnail available';
}
?>

Veja Também

  • exif_read_data() - Lê os cabeçalhos EXIF de imagens JPEG ou TIFF. Deste modo você poderá ler meta dados gerados por camêras digitais.
  • image_type_to_mime_type() - Obtém o Mime-Type para um tipo de imagem retornado por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype


Sinônimo de exif_read_data

  • « exif_thumbnail
  • GD »
  • PHP Manual
  • Funções da Exif
  • Sinônimo de exif_read_data

read_exif_data

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

read_exif_data — Sinônimo de exif_read_data()

Descrição

Esta função é um apelido para: exif_read_data().


Processamento de Imagem (GD)

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Funções da GD
    • gd_info — Obtém informações sobre a biblioteca GD instalada atualmente
    • getimagesize — Obtém o tamanho de uma imagem
    • getimagesizefromstring — Get the size of an image from a string
    • image_type_to_extension — Get file extension for image type
    • image_type_to_mime_type — Obtém o Mime-Type para um tipo de imagem retornado por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
    • image2wbmp — Envia uma imagem para o browser ou arquivo
    • imageaffine — Return an image containing the affine transformed src image, using an optional clipping area
    • imageaffinematrixconcat — Concatenate two affine transformation matrices
    • imageaffinematrixget — Get an affine transformation matrix
    • imagealphablending — Set the blending mode for an image
    • imageantialias — Indica se as funções de antialias devem ser usadas ou não
    • imagearc — Desenha um elipse parcial
    • imagebmp — Output a BMP image to browser or file
    • imagechar — Desenha um caractere horizontalmente
    • imagecharup — Desenha um caractere verticalmente
    • imagecolorallocate — Aloca uma cor para uma imagem
    • imagecolorallocatealpha — Aloca cor para uma imagem
    • imagecolorat — Retorna o índice da cor de um pixel
    • imagecolorclosest — Retorna o índice da cor mais próxima da cor especificada
    • imagecolorclosestalpha — Retorna o índice da cor mais próxima da cor especificada + transparencia
    • imagecolorclosesthwb — Get the index of the color which has the hue, white and blackness
    • imagecolordeallocate — Desaloca uma cor para uma imagem
    • imagecolorexact — Retorna o índice da cor especificada
    • imagecolorexactalpha — Retorna o índice da cor especificada + transparencia
    • imagecolormatch — Faz com que a versão das cores da paleta sejam mais próximas da versão truecolor
    • imagecolorresolve — Retorna o índice da cor especificada ou a alternativa mais próxima possível
    • imagecolorresolvealpha — Retorna o índice da cor especificada + transparência ou a sua alternativa mais próxima
    • imagecolorset — Set the color for the specified palette index
    • imagecolorsforindex — Retorna as cores de um índice
    • imagecolorstotal — Retorna o número de cores na paleta de uma imagem
    • imagecolortransparent — Define uma cor como tansparente
    • imageconvolution — Apply a 3x3 convolution matrix, using coefficient and offset
    • imagecopy — Copia parte de uma imagem
    • imagecopymerge — Copia e combina uma parte de uma imagem
    • imagecopymergegray — Copy and merge part of an image with gray scale
    • imagecopyresampled — Copy and resize part of an image with resampling
    • imagecopyresized — Copy and resize part of an image
    • imagecreate — Cria uma nova imagem baseada em paleta
    • imagecreatefrombmp — Cria uma nova imagem a partir de arquivo ou URL
    • imagecreatefromgd2 — Cria uma nova imagem apartir de um arquivo GD2 ou URL
    • imagecreatefromgd2part — Cria uma nova imagem apartir de uma parte de um arquivo GD ou URL
    • imagecreatefromgd — Cria uma nova imagem apartir de um arquivo GD ou URL
    • imagecreatefromgif — Cria uma nova imagem a partir de um arquivo ou URL
    • imagecreatefromjpeg — Cria uma nova imagem a a partir de um arquivo ou URL
    • imagecreatefrompng — Cria uma nova imagem a partir de um arquivo ou URL
    • imagecreatefromstring — Cria uma nova imagem a apartir da imagem na string
    • imagecreatefromwbmp — Cria uma nova imagem a apratir de um arquivo ou URL
    • imagecreatefromwebp — Cria uma nova imagem a partir de arquivo ou URL
    • imagecreatefromxbm — Cria uma nova imagem a a partir de um arquivo ou URL
    • imagecreatefromxpm — Cria uma nova imagem a apratir de um arquivo ou URL
    • imagecreatetruecolor — Cria uma nova imagem true color
    • imagecrop — Crop an image to the given rectangle
    • imagecropauto — Crop an image automatically using one of the available modes
    • imagedashedline — Desenha uma linha pontilhada
    • imagedestroy — Destrói uma imagem
    • imageellipse — Desenha um elipse
    • imagefill — Flood fill
    • imagefilledarc — Draw a partial arc and fill it
    • imagefilledellipse — Desenha um elipse prenchido
    • imagefilledpolygon — Desenha um poligono prenchido
    • imagefilledrectangle — Desenha um retângulo prenchido
    • imagefilltoborder — Flood fill to specific color
    • imagefilter — Applies a filter to an image
    • imageflip — Flips an image using a given mode
    • imagefontheight — Retorna a altura da fonte
    • imagefontwidth — Retorna a largura da fonte
    • imageftbbox — Give the bounding box of a text using fonts via freetype2
    • imagefttext — Escreve texto na imagem usando fontes FreeType 2
    • imagegammacorrect — Apply a gamma correction to a GD image
    • imagegd2 — Envia uma imagem GD2
    • imagegd — Envia a imagem GD para o browser ou um arquivo
    • imagegetclip — Get the clipping rectangle
    • imagegetinterpolation — Get the interpolation method
    • imagegif — Envia uma imagem para o browser ou arquivo
    • imagegrabscreen — Captures the whole screen
    • imagegrabwindow — Captures a window
    • imageinterlace — Ativa ou desativa o entrelaçamento
    • imageistruecolor — Indica quando uma imagem é uma imagem truecolor
    • imagejpeg — Envia a imagem para o borwser ou arquivo
    • imagelayereffect — Set the alpha blending flag to use layering effects
    • imageline — Desenha uma linha
    • imageloadfont — Carrega uma nova fonte
    • imageopenpolygon — Draws an open polygon
    • imagepalettecopy — Copia a paleta de uma imagem para a outra
    • imagepalettetotruecolor — Converts a palette based image to true color
    • imagepng — Emite uma imagem PNG para o navegador ou arquivo
    • imagepolygon — Desenha um poligono
    • imagerectangle — Desenha um retângulo
    • imageresolution — Get or set the resolution of the image
    • imagerotate — Gira uma imagem com o ângulo dado
    • imagesavealpha — Define a opção para salvar a informação completa do alpha channel (ao invés de a transparencia de uma cor só) quando estiver salvando imagens PNG.
    • imagescale — Scale an image using the given new width and height
    • imagesetbrush — Set the brush image for line drawing
    • imagesetclip — Set the clipping rectangle
    • imagesetinterpolation — Set the interpolation method
    • imagesetpixel — Define um único pixel
    • imagesetstyle — Set the style for line drawing
    • imagesetthickness — Define a espessura para o desenho de linhas
    • imagesettile — Set the tile image for filling
    • imagestring — Desenha uma string horizontalmente
    • imagestringup — Desenha uma string verticalmente
    • imagesx — Obtem a largura da imagem
    • imagesy — Obtém a altura da imagem
    • imagetruecolortopalette — Converte uma imagem true color para uma imagem de paleta
    • imagettfbbox — Retorna uma caixa com o limites de um texto usando fontes TrueType
    • imagettftext — Escreve texto na imagem usando fontes TrueType
    • imagetypes — Retorna os tipos de imagens suportados por esta instalação do PHP
    • imagewbmp — Envia uma imagem para o browser ou arquivo
    • imagewebp — Output a WebP image to browser or file
    • imagexbm — Output an XBM image to browser or file
    • iptcembed — Embute dados binários IPTC em uma imagem JPEG
    • iptcparse — Analisa um bloco binário IPTC em tags simples.
    • jpeg2wbmp — Converte um arquivo de imagem JPEG para um arquivo de imagem WBMP
    • png2wbmp — Converte um arquivo de imagem PNG para um arquivo de imagem WBMP


Introdução

O PHP não esta limitado a criar apenas saída em HTML. Ele também pode ser usado para criar e manipular arquivos de imagem em uma diversidade de formatos, incluindo gif, png, jpg, wbmp, e xpm. E ainda mais convenietemente, o PHP pode enviar streams de saída de imagem diretamente para o browser. Você precisará compilar o PHP com a biblioteca GD de imagens de funções para isto funcionar. O PHP e GD também podem requerer outras bibliotecas, dependendo dos formatos de imagens com os quais você queira trabalhar.

Você pode usar as funções de imagem no PHP para obter o tamanho de imagens JPEG, GIF, PNG, SWF, TIFF and JPEG2000.

Com a extensão exif, você estará hábil para trabalhar com informações armazenadas nos cabeçalhos de imagens JPEG e TIFF. Desta forma você pode ler meta data gerada por câmeras digitais. As funções exif não requerem a biblioteca GD.

Nota: Leia a seção de requerimentos sobre como expandir a capacidade de leitura, escrita e modificação de imagens. Para ler meta data de imagens de uma câmera digital você precisa da acima mencionada, extensão exif.


Dependências

Se você tiver a biblioteca GD (disponível em » http://www.libgd.org/) você poderá também criar e manipular imagens.

O formato das imagens que você pode manipilar dependem da versão da GD que você instalou, e de quaisquer outras bibliotecas que o GD possa precisar para acessar estes formatos de imagens. Versões do GD anteriores a gd-1.6 suportam imagens GIF, e não suportam PNG, enquanto versões posteriores a gd-1.6 e menor que gd-2.0.28 suportam PNG, não GIF. Suporte a GIF foi reabilitado na gd-2.0.28.

Nota: Apartir do PHP 4.3 existe uma versão empacotada da biblioteca GD. Esta versão empacotada tem algumas melhorias como alpha blending, e deve ser usada em preferência da biblioteca externa, já que seu código-fonte é melhor mantido e mais estável.

Nota:

Support for GD 1.x has been removed as of PHP 6.0.0, which requires GD 2.0.33 or later.

You may wish to enhance GD to handle more image formats.

Supported image formats
Formato de imagem | Bibliotece para download | Notas
gif |  | Suportado apenas em versões do GD anteriores a gd-1.6. Suporte Apenas para leitura esta disponível com o PHP 4.3.0 e a biblioteca GD empacotada. Suporte para Escrita esta disponível desde o PHP 4.3.9 e PHP 5.0.1.
jpeg-6b | » http://www.ijg.org/ | Quando compilando a biblioteca jpeg-v6b (antes de compilar o PHP) você precisa usar a opção --enable-shared no passo de configuração. Se você não fizer, irá receber um erro dizendo libjpeg.(a|so) not found quando você estiver no passo de configuração para compilar o PHP.
png | » http://www.libpng.org/pub/png/libpng.html | Apenas suportados em versões do GD maiores do que gd-1.6.
xpm | » ftp://metalab.unc.edu/pub/Linux/libs/X/!INDEX.html | É provavel que você já tenha esta biblioteca disponível, se o seu sistema tiver um ambiênte X instalado.

Voce pode querer melhorar o GD para lidar com fontes diferentes. As seguintes bibliotecas de fontes são suportadas:

Bibliotes de fontes suportadas
Biblioteca de fonte | Download | Notas
FreeType 1.x | » http://www.freetype.org/ | Suporte removido no PHP 6.0.0
FreeType 2 | » http://www.freetype.org/ |
T1lib | » ftp://sunsite.unc.edu/pub/Linux/libs/graphics/) | Suporte para fontes Postscript Type 1.


Instalação

Para ativar suporte ao GD, configure o PHP com --with-gd[=DIR], aonde DIR é o diretório de instalação. Para usar a versão recomendada da biblioteca GD que acompanha o PHP (a qual foi embutida pela primeira vez no PHP 4.3.0), use a opção de configuração --with-gd. Biblioteca GD requer libpng e libjpeg para compilar.

No Windows, você irá incluir a DLL do GD2 php_gd2.dll como uma extensão no php.ini. A DLL GD1 php_gd.dll foi removida a partir do PHP 4.3.2. Também note que as funções de imagens truecolor, como imagecreatetruecolor(), requerem GD2.

Melhore as capacidades do GD para manipular mais formatos de imagens especificando a opção --with-XXXX na sua linha de configuração do PHP.

Formatos de imagens suportados
Formato de Imagem | Opção de Configuração
jpeg-6b | Para ativar suporte a jpeg-6b adicione --with-jpeg-dir=DIR.
png | Para ativar suporte para png adicione --with-png-dir=DIR. Note que, libpng precisa de zlib library, portanto adicione a opção --with-zlib-dir[=DIR] na sua linha de configuração.
xpm | Para ativar suporte a xpm adicione --with-xpm-dir=DIR. Se o configure não for capaz de encontrar as bibliotecas necessárias, você deverá adicionar o caminho até as suas bibliotecas X11.

Nota: Ao compilar o PHP com a libpng, você deve usar a mesma versão que foi ligada com a biblioteca GD.

Melhore as capacidades do GD para lidar com fontes diferentes especificando a opção de configuração --with-XXXX na linha de configuração do PHP.

Bibliotecas de Fontes Suportadas
Biblioteca de Fonte | Opção de Configuração
FreeType 1.x | Para ativar suporte a FreeType 1.x adicione --with-ttf[=DIR].
FreeType 2 | Para ativar suporte a FreeType 2 adicione --with-freetype-dir=DIR.
T1lib | Para ativar suporte a T1lib (Postscript Type 1 fonts) adicione --with-t1lib[=DIR].
Native TrueType string function | Para ativar suporte a native TrueType string function adicione --enable-gd-native-ttf.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Image Opções de Configuração
Nome | Padrão | Modificável | Changelog
gd.jpeg_ignore_warning | "1" | PHP_INI_ALL | Disponível a partir do PHP 5.1.3.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

gd.jpeg_ignore_warning bool

Ignora os avisos (mas não os erros) criado por libjpeg(-turbo).

Changelog para gd.jpeg_ignore_warning
Versão | Descrição
7.1.0 | O padrão de gd.jpeg_ignore_warning foi alterado de 0 para 1.

Veja também as diretivas de configuração exif.

Aviso

As funções para imagem usam bastante memória. Certifique-se de definir memory_limit grande o bastante, se você estiver usando a versão em pacote da biblioteca GD.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão define dois tipos de resource: um identificador de imagem e um identificador de fonte.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

GD_VERSION (string)
A versão da biblioteca GD que foi compilada com o PHP. (Disponível no PHP 5.2.4)
GD_MAJOR_VERSION (integer)
A maior versão da biblioteca GD compilada com o PHP. (Disponível no PHP 5.2.4)
GD_MINOR_VERSION (integer)
A menor versão da biblioteca GD compilada com o PHP. (Disponível no PHP 5.2.4)
GD_RELEASE_VERSION (integer)
A versão release da biblioteca GD compilada com o PHP. (Disponível no PHP 5.2.4)
GD_EXTRA_VERSION (string)
A versão "extra" da biblioteca GD (beta/rc..) compilada com o PHP. (Disponível no PHP 5.2.4)
GD_BUNDLED (integer)
1 quando for uma versão incorporada do GD e 0 nos demais casos.
IMG_BMP (integer)
Used as a return value by imagetypes()
IMG_GIF (integer)
Used as a return value by imagetypes()
IMG_JPG (integer)
Used as a return value by imagetypes()
IMG_JPEG (integer)
Used as a return value by imagetypes()

Nota:

Esta constante tem o mesmo valor que IMG_JPG

IMG_PNG (integer)
Used as a return value by imagetypes()
IMG_WBMP (integer)
Used as a return value by imagetypes()
IMG_XPM (integer)
Used as a return value by imagetypes()
IMG_WEBP (integer)
Used as a return value by imagetypes() Disponível no PHP 5.6.25 e PHP 7.0.10.
IMG_COLOR_TILED (integer)
Special color option which can be used instead of a color allocated with imagecolorallocate() or imagecolorallocatealpha().
IMG_COLOR_STYLED (integer)
Special color option which can be used instead of a color allocated with imagecolorallocate() or imagecolorallocatealpha().
IMG_COLOR_BRUSHED (integer)
Special color option which can be used instead of a color allocated with imagecolorallocate() or imagecolorallocatealpha().
IMG_COLOR_STYLEDBRUSHED (integer)
Special color option which can be used instead of a color allocated with imagecolorallocate() or imagecolorallocatealpha().
IMG_COLOR_TRANSPARENT (integer)
Special color option which can be used instead of a color allocated with imagecolorallocate() or imagecolorallocatealpha().
IMG_AFFINE_TRANSLATE (integer)
An affine transformation type constant used by the imageaffinematrixget() function.
IMG_AFFINE_SCALE (integer)
An affine transformation type constant used by the imageaffinematrixget() function.
IMG_AFFINE_ROTATE (integer)
An affine transformation type constant used by the imageaffinematrixget() function.
IMG_AFFINE_SHEAR_HORIZONTAL (integer)
An affine transformation type constant used by the imageaffinematrixget() function.
IMG_AFFINE_SHEAR_VERTICAL (integer)
An affine transformation type constant used by the imageaffinematrixget() function.
IMG_ARC_ROUNDED (integer)
A style constant used by the imagefilledarc() function.

Nota:

Esta constante tem o mesmo valor de IMG_ARC_PIE

IMG_ARC_PIE (integer)
A style constant used by the imagefilledarc() function.
IMG_ARC_CHORD (integer)
A style constant used by the imagefilledarc() function.
IMG_ARC_NOFILL (integer)
A style constant used by the imagefilledarc() function.
IMG_ARC_EDGED (integer)
A style constant used by the imagefilledarc() function.
IMG_GD2_RAW (integer)
A type constant used by the imagegd2() function.
IMG_GD2_COMPRESSED (integer)
A type constant used by the imagegd2() function.
IMG_EFFECT_REPLACE (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_ALPHABLEND (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_NORMAL (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_OVERLAY (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_MULTIPLY (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_FILTER_NEGATE (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_GRAYSCALE (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_BRIGHTNESS (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_CONTRAST (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_COLORIZE (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_EDGEDETECT (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_GAUSSIAN_BLUR (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_SELECTIVE_BLUR (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_EMBOSS (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_MEAN_REMOVAL (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_SMOOTH (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_PIXELATE (integer)
Special GD filter used by the imagefilter() function. (Disponível no PHP 5.3.0)
IMAGETYPE_GIF (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPEG (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPEG2000 (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_PNG (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_SWF (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_PSD (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_BMP (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_WBMP (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_XBM (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_TIFF_II (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_TIFF_MM (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_IFF (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JB2 (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPC (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JP2 (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPX (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_SWC (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_ICO (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions. (Disponível no PHP 5.3.0)
IMAGETYPE_WEBP (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions. (Diponível no PHP 7.1.0)
PNG_NO_FILTER (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_NONE (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_SUB (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_UP (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_AVG (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_PAETH (integer)
A special PNG filter, used by the imagepng() function.
PNG_ALL_FILTERS (integer)
A special PNG filter, used by the imagepng() function.
IMG_FLIP_VERTICAL (int)
Used together with imageflip(), available as of PHP 5.5.0.
IMG_FLIP_HORIZONTAL (int)
Used together with imageflip(), available as of PHP 5.5.0.
IMG_FLIP_BOTH (int)
Used together with imageflip(), available as of PHP 5.5.0.
IMG_BELL (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BESSEL (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BILINEAR_FIXED (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BICUBIC (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BICUBIC_FIXED (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BLACKMAN (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BOX (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BSPLINE (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_CATMULLROM (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_GAUSSIAN (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_GENERALIZED_CUBIC (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_HERMITE (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_HAMMING (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_HANNING (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_MITCHELL (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_POWER (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_QUADRATIC (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_SINC (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_NEAREST_NEIGHBOUR (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_WEIGHTED4 (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_TRIANGLE (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.


  • « Constantes pré-definidas
  • »
  • PHP Manual
  • GD
  • Exemplos

Exemplos

Índice


  • « Exemplos
  • Funções da GD »
  • PHP Manual
  • Exemplos

Exemplo #1 Criação de PNG com PHP

<?php

header("Content-type: image/png");
$string = $_GET['text'];
$im     = imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);

?>
Este exemplo podia ser chamada por uma página com uma tag como: <img src="button.php?text=text">. O script button.php acima então tem esta string "text" e coloca-a por cima da base da imagem que no caso é "images/button1.png" a saída resultante da imagem. Esta é uma forma muito comum para evitar ter que desenhar um nova imagem de botão cada vez que você quer modificar o texto de um botão. Com este método teremos ele dinamicamente gerado.


Funções da GD

Índice

  • gd_info — Obtém informações sobre a biblioteca GD instalada atualmente
  • getimagesize — Obtém o tamanho de uma imagem
  • getimagesizefromstring — Get the size of an image from a string
  • image_type_to_extension — Get file extension for image type
  • image_type_to_mime_type — Obtém o Mime-Type para um tipo de imagem retornado por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
  • image2wbmp — Envia uma imagem para o browser ou arquivo
  • imageaffine — Return an image containing the affine transformed src image, using an optional clipping area
  • imageaffinematrixconcat — Concatenate two affine transformation matrices
  • imageaffinematrixget — Get an affine transformation matrix
  • imagealphablending — Set the blending mode for an image
  • imageantialias — Indica se as funções de antialias devem ser usadas ou não
  • imagearc — Desenha um elipse parcial
  • imagebmp — Output a BMP image to browser or file
  • imagechar — Desenha um caractere horizontalmente
  • imagecharup — Desenha um caractere verticalmente
  • imagecolorallocate — Aloca uma cor para uma imagem
  • imagecolorallocatealpha — Aloca cor para uma imagem
  • imagecolorat — Retorna o índice da cor de um pixel
  • imagecolorclosest — Retorna o índice da cor mais próxima da cor especificada
  • imagecolorclosestalpha — Retorna o índice da cor mais próxima da cor especificada + transparencia
  • imagecolorclosesthwb — Get the index of the color which has the hue, white and blackness
  • imagecolordeallocate — Desaloca uma cor para uma imagem
  • imagecolorexact — Retorna o índice da cor especificada
  • imagecolorexactalpha — Retorna o índice da cor especificada + transparencia
  • imagecolormatch — Faz com que a versão das cores da paleta sejam mais próximas da versão truecolor
  • imagecolorresolve — Retorna o índice da cor especificada ou a alternativa mais próxima possível
  • imagecolorresolvealpha — Retorna o índice da cor especificada + transparência ou a sua alternativa mais próxima
  • imagecolorset — Set the color for the specified palette index
  • imagecolorsforindex — Retorna as cores de um índice
  • imagecolorstotal — Retorna o número de cores na paleta de uma imagem
  • imagecolortransparent — Define uma cor como tansparente
  • imageconvolution — Apply a 3x3 convolution matrix, using coefficient and offset
  • imagecopy — Copia parte de uma imagem
  • imagecopymerge — Copia e combina uma parte de uma imagem
  • imagecopymergegray — Copy and merge part of an image with gray scale
  • imagecopyresampled — Copy and resize part of an image with resampling
  • imagecopyresized — Copy and resize part of an image
  • imagecreate — Cria uma nova imagem baseada em paleta
  • imagecreatefrombmp — Cria uma nova imagem a partir de arquivo ou URL
  • imagecreatefromgd2 — Cria uma nova imagem apartir de um arquivo GD2 ou URL
  • imagecreatefromgd2part — Cria uma nova imagem apartir de uma parte de um arquivo GD ou URL
  • imagecreatefromgd — Cria uma nova imagem apartir de um arquivo GD ou URL
  • imagecreatefromgif — Cria uma nova imagem a partir de um arquivo ou URL
  • imagecreatefromjpeg — Cria uma nova imagem a a partir de um arquivo ou URL
  • imagecreatefrompng — Cria uma nova imagem a partir de um arquivo ou URL
  • imagecreatefromstring — Cria uma nova imagem a apartir da imagem na string
  • imagecreatefromwbmp — Cria uma nova imagem a apratir de um arquivo ou URL
  • imagecreatefromwebp — Cria uma nova imagem a partir de arquivo ou URL
  • imagecreatefromxbm — Cria uma nova imagem a a partir de um arquivo ou URL
  • imagecreatefromxpm — Cria uma nova imagem a apratir de um arquivo ou URL
  • imagecreatetruecolor — Cria uma nova imagem true color
  • imagecrop — Crop an image to the given rectangle
  • imagecropauto — Crop an image automatically using one of the available modes
  • imagedashedline — Desenha uma linha pontilhada
  • imagedestroy — Destrói uma imagem
  • imageellipse — Desenha um elipse
  • imagefill — Flood fill
  • imagefilledarc — Draw a partial arc and fill it
  • imagefilledellipse — Desenha um elipse prenchido
  • imagefilledpolygon — Desenha um poligono prenchido
  • imagefilledrectangle — Desenha um retângulo prenchido
  • imagefilltoborder — Flood fill to specific color
  • imagefilter — Applies a filter to an image
  • imageflip — Flips an image using a given mode
  • imagefontheight — Retorna a altura da fonte
  • imagefontwidth — Retorna a largura da fonte
  • imageftbbox — Give the bounding box of a text using fonts via freetype2
  • imagefttext — Escreve texto na imagem usando fontes FreeType 2
  • imagegammacorrect — Apply a gamma correction to a GD image
  • imagegd2 — Envia uma imagem GD2
  • imagegd — Envia a imagem GD para o browser ou um arquivo
  • imagegetclip — Get the clipping rectangle
  • imagegetinterpolation — Get the interpolation method
  • imagegif — Envia uma imagem para o browser ou arquivo
  • imagegrabscreen — Captures the whole screen
  • imagegrabwindow — Captures a window
  • imageinterlace — Ativa ou desativa o entrelaçamento
  • imageistruecolor — Indica quando uma imagem é uma imagem truecolor
  • imagejpeg — Envia a imagem para o borwser ou arquivo
  • imagelayereffect — Set the alpha blending flag to use layering effects
  • imageline — Desenha uma linha
  • imageloadfont — Carrega uma nova fonte
  • imageopenpolygon — Draws an open polygon
  • imagepalettecopy — Copia a paleta de uma imagem para a outra
  • imagepalettetotruecolor — Converts a palette based image to true color
  • imagepng — Emite uma imagem PNG para o navegador ou arquivo
  • imagepolygon — Desenha um poligono
  • imagerectangle — Desenha um retângulo
  • imageresolution — Get or set the resolution of the image
  • imagerotate — Gira uma imagem com o ângulo dado
  • imagesavealpha — Define a opção para salvar a informação completa do alpha channel (ao invés de a transparencia de uma cor só) quando estiver salvando imagens PNG.
  • imagescale — Scale an image using the given new width and height
  • imagesetbrush — Set the brush image for line drawing
  • imagesetclip — Set the clipping rectangle
  • imagesetinterpolation — Set the interpolation method
  • imagesetpixel — Define um único pixel
  • imagesetstyle — Set the style for line drawing
  • imagesetthickness — Define a espessura para o desenho de linhas
  • imagesettile — Set the tile image for filling
  • imagestring — Desenha uma string horizontalmente
  • imagestringup — Desenha uma string verticalmente
  • imagesx — Obtem a largura da imagem
  • imagesy — Obtém a altura da imagem
  • imagetruecolortopalette — Converte uma imagem true color para uma imagem de paleta
  • imagettfbbox — Retorna uma caixa com o limites de um texto usando fontes TrueType
  • imagettftext — Escreve texto na imagem usando fontes TrueType
  • imagetypes — Retorna os tipos de imagens suportados por esta instalação do PHP
  • imagewbmp — Envia uma imagem para o browser ou arquivo
  • imagewebp — Output a WebP image to browser or file
  • imagexbm — Output an XBM image to browser or file
  • iptcembed — Embute dados binários IPTC em uma imagem JPEG
  • iptcparse — Analisa um bloco binário IPTC em tags simples.
  • jpeg2wbmp — Converte um arquivo de imagem JPEG para um arquivo de imagem WBMP
  • png2wbmp — Converte um arquivo de imagem PNG para um arquivo de imagem WBMP


Obtém informações sobre a biblioteca GD instalada atualmente

  • « Funções da GD
  • getimagesize »
  • PHP Manual
  • Funções da GD
  • Obtém informações sobre a biblioteca GD instalada atualmente

gd_info

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

gd_info — Obtém informações sobre a biblioteca GD instalada atualmente

Descrição

gd_info ( ) : array

Obtém informação sobre a versão e as capacidades da biblioteca GD instalada.

Valor Retornado

Retorna um array associativo.

Elementos da matriz retornados por gd_info()
Atributo | Significado
GD Version | Valor string descrevendo a versão da libgd instalada.
Freetype Support | Valor boolean. true se o suporte Freetype esta instalado.
Freetype Linkage | Valor string dewscrevendo a maneira que Freetype foi linkado. Os valores esperados são: 'with freetype', 'with TTF library', e 'with unknown library'. Este elemento será definido apenas se Freetype Support for true.
T1Lib Support | Valor boolean. true se o suporte a T1Lib estiver incluso.
GIF Read Support | Valor boolean. true se o suporte para ler imagens GIF estiver incluso.
GIF Create Support | Valor boolean. true se o suporte para criação de imagens GIF estiver incluso.
JPG Support | Valor boolean. true se o suporte a JPG estiver incluso.
PNG Support | Valor boolean. true se o suporte a PNG estiver incluso.
WBMP Support | Valor boolean. true se o suporte a WBMP estiver incluso.
XBM Support | Valor boolean. true se o suporte a XBM estiver incluso.

Exemplos

Exemplo #1 Usando a gd_info()

<?php
var_dump(gd_info());
?>

O exemplo acima irá imprimir algo similar à:

array(9) {
  ["GD Version"]=>
  string(24) "bundled (2.0 compatible)"
  ["FreeType Support"]=>
  bool(false)
  ["T1Lib Support"]=>
  bool(false)
  ["GIF Read Support"]=>
  bool(true)
  ["GIF Create Support"]=>
  bool(false)
  ["JPG Support"]=>
  bool(false)
  ["PNG Support"]=>
  bool(true)
  ["WBMP Support"]=>
  bool(true)
  ["XBM Support"]=>
  bool(false)
}

Veja Também

  • imagepng() - Emite uma imagem PNG para o navegador ou arquivo
  • imagejpeg() - Envia a imagem para o borwser ou arquivo
  • imagegif() - Envia uma imagem para o browser ou arquivo
  • imagewbmp() - Envia uma imagem para o browser ou arquivo
  • imagetypes() - Retorna os tipos de imagens suportados por esta instalação do PHP


Obtém o tamanho de uma imagem

  • « gd_info
  • getimagesizefromstring »
  • PHP Manual
  • Funções da GD
  • Obtém o tamanho de uma imagem

getimagesize

(PHP 4, PHP 5, PHP 7, PHP 8)

getimagesize — Obtém o tamanho de uma imagem

Descrição

getimagesize ( string $filename , array $&imageinfo = ? ) : array

A função getimagesize() irá determinar o tamanho de qualquer arquivo de imagem GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, ou WBMP e retornar as dimensões juntamente com o tipo de arquivo e a altura/largura para usar dentro de uma tag HTML IMG.

Se for impossível acessar a imagem filename, ou se não for uma imagem válida, getimagesize() irá retornar false e gerar um erro de nível E_WARNING.

Nota:

Suporte para JPC, JP2, JPX, JB2, XBM, e WBMP tornou-se disponível no PHP 4.3.2. Supporte para SWC a partir do PHP 4.3.0 e o suporte a TIFF foi adicionado no PHP 4.2.0

Nota: Suporte a JPEG 2000 foi adicionado no PHP 4.3.2. Note que JPC e JP2 são capazes de ter componentes com profundidades diferentes de bit. Neste caso o valor para 'bits' é a maior profundidade de bits encontrada. Também, arquivos JP2 podem conter múltiplos JPEG 2000 codestreams. Neste caso, getimagesize() retorna o valor para o primeiro codestream que encontrar na raíz do arquivo.

Nota: A função getimagesize() não requer a biblioteca de imagem GD.

Retorna uma matriz com 4 elementos. O índice 0 contém a largura da imagem em pixels. O índice 1 contém a altura. O índice 2 é uma indicação do tipo de imagem: 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM. Estes valores correspondem as constantes IMAGETYPE que foram adicionadas no PHP 4.3. O índice 3 é uma string com o height="yyy" width="xxx" correto que pode ser usado diretamente numa tag IMG.

Exemplo #1 getimagesize (file)

<?php
list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
echo "<img src=\"img/flag.jpg\" $attr alt=\"getimagesize() example\" />";
?>

Suporte para URL foi adicionado PHP 4.0.5

Exemplo #2 getimagesize (URL)

<?php
$size = getimagesize("http://www.example.com/gifs/logo.gif");

// se o nome do arquivo tiver um espaço, codifique-o corretamente
$size = getimagesize("http://www.example.com/gifs/lo%20go.gif");

?>

Com imagens JPG dois indices extras são retornados: channels e bits. channels será 3 para imagens RGB e 4 para imagens CMYK. bits é o número de bits para cada cor.

Começando no PHP 4.3.0, bits e channels estão presentes para outros tipos de imagens também. Entretanto, a presença desses valores pode ser um pouco confusa. Por exemplo, GIF sempre usa 3 channels por pixel, mas o número de bits por pixel não pode ser calculado para um GIF animado com uma tabela de cores global.

Alguns formatos podem não conter imagens ou conter múltiplas imagens. Nestes casos, getimagesize() não será capaz de determinar o tamanho da imagem. getimagesize() retornará zero para a altura e largura nestes casos.

Começando no PHP 4.3.0, getimagesize() também retorna um parâmetro adicional, mime, que corresponde ao tipo MIME da imagem. Esta informação pode ser usada para enviar imagens com o cabeçalho HTTP Content-type correto:

Exemplo #3 getimagesize() e tipos MIME

<?php
$size = getimagesize($filename);
$fp=fopen($filename, "rb");
if ($size && $fp) {
  header("Content-type: {$size['mime']}");
  fpassthru($fp);
  exit;
} else {
  // error
}
?>

O parâmetro opcional imageinfo permite a você extrair alguma informação extendida do arquivo de imagem. Atualmente, irá retornar os diferentes JPG APP markers como uma matriz associativa. Alguns programas usam estes APP markers para embutir textos com informações na imagem. Um uso muito comum é embutir informação IPTC » http://www.iptc.org/ no APP13 marker. Você poderá usar a função iptcparse() para interpretar o binário APP13 marker em algo legível.

Exemplo #4 getimagesize() retornando IPTC

<?php
$size = getimagesize("testimg.jpg", $info);
if (isset($info["APP13"])) {
    $iptc = iptcparse($info["APP13"]);
    var_dump($iptc);
}
?>

Veja também image_type_to_mime_type(),
exif_imagetype(),
exif_read_data() e
exif_thumbnail().


Get the size of an image from a string

  • « getimagesize
  • image_type_to_extension »
  • PHP Manual
  • Funções da GD
  • Get the size of an image from a string

getimagesizefromstring

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

getimagesizefromstring — Get the size of an image from a string

Descrição

getimagesizefromstring ( string $string , array &$image_info = null ) : array|false

Identical to getimagesize() except that getimagesizefromstring() accepts a string instead of a file name as the first parameter.

See the getimagesize() documentation for details on how this function works.

Parâmetros

string

The image data, as a string.

image_info

See getimagesize().

Valor Retornado

See getimagesize().

Exemplos

Exemplo #1 getimagesizefromstring() example

<?php
$img = '/path/to/test.png';

// Open as a file
$size_info1 = getimagesize($img);

// Or open as a string
$data       = file_get_contents($img);
$size_info2 = getimagesizefromstring($data);
?>

Veja Também

  • getimagesize() - Obtém o tamanho de uma imagem


Get file extension for image type

  • « getimagesizefromstring
  • image_type_to_mime_type »
  • PHP Manual
  • Funções da GD
  • Get file extension for image type

image_type_to_extension

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

image_type_to_extension — Get file extension for image type

Descrição

image_type_to_extension ( int $image_type , bool $include_dot = true ) : string|false

Returns the extension for the given IMAGETYPE_XXX constant.

Parâmetros

image_type

One of the IMAGETYPE_XXX constant.

include_dot

Whether to prepend a dot to the extension or not. Default to true.

Valor Retornado

A string with the extension corresponding to the given image type, ou false em caso de falha.

Exemplos

Exemplo #1 image_type_to_extension() example

<?php
// Create image instance
$im = imagecreatetruecolor(100, 100);

// Save image
imagepng($im, './test' . image_type_to_extension(IMAGETYPE_PNG));
imagedestroy($im);
?>

Notas

Nota:

Esta função não requer a biblioteca GD.


Obtém o Mime-Type para um tipo de imagem retornado por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

  • « image_type_to_extension
  • image2wbmp »
  • PHP Manual
  • Funções da GD
  • Obtém o Mime-Type para um tipo de imagem retornado por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

image_type_to_mime_type

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

image_type_to_mime_type — Obtém o Mime-Type para um tipo de imagem retornado por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

Descrição

image_type_to_mime_type ( int $imagetype ) : string

A função image_type_to_mime_type() irá determinar o tipo Mime para uma constante IMAGETYPE.

Parâmetros

imagetype

Uma das constantes IMAGETYPE_XXX

Valor Retornado

Os valores retornado são como a seguir

Constantes de valores retornados
imagetype | Returned value
IMAGETYPE_GIF | image/gif
IMAGETYPE_JPEG | image/jpeg
IMAGETYPE_PNG | image/png
IMAGETYPE_SWF | application/x-shockwave-flash
IMAGETYPE_PSD | image/psd
IMAGETYPE_BMP | image/bmp
IMAGETYPE_TIFF_II (intel byte order) | image/tiff
IMAGETYPE_TIFF_MM (motorola byte order) | image/tiff
IMAGETYPE_JPC | application/octet-stream
IMAGETYPE_JP2 | image/jp2
IMAGETYPE_JPX | application/octet-stream
IMAGETYPE_JB2 | application/octet-stream
IMAGETYPE_SWC | application/x-shockwave-flash
IMAGETYPE_IFF | image/iff
IMAGETYPE_WBMP | image/vnd.wap.wbmp
IMAGETYPE_XBM | image/xbm
IMAGETYPE_ICO | image/vnd.microsoft.icon

Exemplos

Exemplo #1 image_type_to_mime_type (arquivo)

<?php
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));
?>

Notas

Nota:

Esta função não precisa da biblioteca de imagem GD.

Veja Também

  • getimagesize() - Obtém o tamanho de uma imagem
  • exif_imagetype() - Verifica o tipo de uma imagem
  • exif_read_data() - Lê os cabeçalhos EXIF de imagens JPEG ou TIFF. Deste modo você poderá ler meta dados gerados por camêras digitais.
  • exif_thumbnail() - Recupera a miniatura embutida de uma imagem TIFF ou JPEG


Envia uma imagem para o browser ou arquivo

  • « image_type_to_mime_type
  • imageaffine »
  • PHP Manual
  • Funções da GD
  • Envia uma imagem para o browser ou arquivo

image2wbmp

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

image2wbmp — Envia uma imagem para o browser ou arquivo

Descrição

image2wbmp ( resource $image , string $filename = ? , int $threshold = ? ) : bool

image2wbmp() mostra ou salva uma versão WBMP de uma dada image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

filename

Caminho para salvar o arquivo. Se não informado, a imagem será mostrada diretamente.

threshold

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo image2wbmp()

<?php

$file = 'php.png';
$image = imagecreatefrompng($file);

header('Content-type: ' . image_type_to_mime_type(IMAGETYPE_WBMP));
image2wbmp($image); // output the stream directly

?>

Notas

Nota:

Suporte a WBMP esta disponível somente se o PHP foi compilado com a GD-1.8 ou posterior.

Veja Também

  • imagewbmp() - Envia uma imagem para o browser ou arquivo


Return an image containing the affine transformed src image, using an optional clipping area

  • « image2wbmp
  • imageaffinematrixconcat »
  • PHP Manual
  • Funções da GD
  • Return an image containing the affine transformed src image, using an optional clipping area

imageaffine

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imageaffine — Return an image containing the affine transformed src image, using an optional clipping area

Descrição

imageaffine ( resource $image , array $affine , array $clip = ? ) : resource|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

affine

Array with keys 0 to 5.

clip

Array with keys "x", "y", "width" and "height".

Valor Retornado

Return affined image resource on success ou false em caso de falha.


Concatenate two affine transformation matrices

  • « imageaffine
  • imageaffinematrixget »
  • PHP Manual
  • Funções da GD
  • Concatenate two affine transformation matrices

imageaffinematrixconcat

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imageaffinematrixconcat — Concatenate two affine transformation matrices

Descrição

imageaffinematrixconcat ( array $m1 , array $m2 ) : array|false

Returns the concatenation of two affine transformation matrices, what is useful if multiple transformations should be applied to the same image in one go.

Parâmetros

m1

An affine transformation matrix (an array with keys 0 to 5 and float values).

m2

An affine transformation matrix (an array with keys 0 to 5 and float values).

Valor Retornado

An affine transformation matrix (an array with keys 0 to 5 and float values) ou false em caso de falha.

Exemplos

Exemplo #1 imageaffinematrixconcat() example

<?php
$m1 = imageaffinematrixget(IMG_AFFINE_TRANSLATE, array('x' = 2, 'y' => 3));
$m2 = imageaffinematrixget(IMG_AFFINE_SCALE, array('x' = 4, 'y' => 5));
$matrix = imageaffinematrixconcat($m1, $m2);
print_r($matrix);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => 4
    [1] => 0
    [2] => 0
    [3] => 5
    [4] => 8
    [5] => 15
)

Veja Também

  • imageaffine() - Return an image containing the affine transformed src image, using an optional clipping area
  • imageaffinematrixget() - Get an affine transformation matrix


Get an affine transformation matrix

  • « imageaffinematrixconcat
  • imagealphablending »
  • PHP Manual
  • Funções da GD
  • Get an affine transformation matrix

imageaffinematrixget

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imageaffinematrixget — Get an affine transformation matrix

Descrição

imageaffinematrixget ( int $type , mixed $options = ? ) : array|false

Returns an affine transformation matrix.

Parâmetros

type

One of the IMG_AFFINE_* constants.

options

If type is IMG_AFFINE_TRANSLATE or IMG_AFFINE_SCALE, options has to be an array with keys x and y, both having float values.

If type is IMG_AFFINE_ROTATE, IMG_AFFINE_SHEAR_HORIZONTAL or IMG_AFFINE_SHEAR_VERTICAL, options has to be a float specifying the angle.

Valor Retornado

An affine transformation matrix (an array with keys 0 to 5 and float values) ou false em caso de falha.

Exemplos

Exemplo #1 imageaffinematrixget() example

<?php
$matrix = imageaffinematrixget(IMG_AFFINE_TRANSLATE, array('x' => 2, 'y' => 3));
print_r($matrix);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => 1
    [1] => 0
    [2] => 0
    [3] => 1
    [4] => 2
    [5] => 3
)

Veja Também

  • imageaffine() - Return an image containing the affine transformed src image, using an optional clipping area
  • imageaffinematrixconcat() - Concatenate two affine transformation matrices


Set the blending mode for an image

  • « imageaffinematrixget
  • imageantialias »
  • PHP Manual
  • Funções da GD
  • Set the blending mode for an image

imagealphablending

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagealphablending — Set the blending mode for an image

Descrição

imagealphablending ( resource $image , bool $blendmode ) : bool

imagealphablending() allows for two different modes of drawing on truecolor images. In blending mode, the alpha channel component of the color supplied to all drawing function, such as imagesetpixel() determines how much of the underlying color should be allowed to shine through. As a result, gd automatically blends the existing color at that point with the drawing color, and stores the result in the image. The resulting pixel is opaque. In non-blending mode, the drawing color is copied literally with its alpha channel information, replacing the destination pixel. Blending mode is not available when drawing on palette images.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

blendmode

Whether to enable the blending mode or not. On true color images the default value is true otherwise the default value is false

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 imagealphablending() usage example

<?php
// Create image
$im = imagecreatetruecolor(100, 100);

// Set alphablending to on
imagealphablending($im, true);

// Draw a square
imagefilledrectangle($im, 30, 30, 70, 70, imagecolorallocate($im, 255, 0, 0));

// Output
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>


Indica se as funções de antialias devem ser usadas ou não

  • « imagealphablending
  • imagearc »
  • PHP Manual
  • Funções da GD
  • Indica se as funções de antialias devem ser usadas ou não

imageantialias

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

imageantialias — Indica se as funções de antialias devem ser usadas ou não

Description

imageantialias ( resource $im , bool $on ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Veja também imagecreatetruecolor().


Desenha um elipse parcial

  • « imageantialias
  • imagebmp »
  • PHP Manual
  • Funções da GD
  • Desenha um elipse parcial

imagearc

(PHP 4, PHP 5, PHP 7, PHP 8)

imagearc — Desenha um elipse parcial

Descrição

imagearc ( resource $image , int $cx , int $cy , int $w , int $h , int $s , int $e , int $color ) : int

imagearc() desenha um elipse parcial centrado em cx, cy (o canto superior esquerdo é 0, 0) na imagem representada por image. W e h representa respectivamente a largura e altura enquanto os pontos de início e final são representados em graus pelos parâmetros s e e. 0° esta localizado na posição de três horas, e o arco é desenhado no sentido horário.

Exemplo #1 Desenhando um círculo com imagearc()

<?php

// cria uma imagem de 200 * 200
$img = imagecreate(200, 200);

// aloca algumas cores
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
// desenha um círculo preto
imagearc($img, 100, 100, 150, 150, 0, 360, $black);

// envia a imagem para o browser
header("Content-type: image/png");
imagepng($img);

// libera a mémoria
imagedestroy($img);

?>

Veja também imageellipse(),
imagefilledellipse(), e
imagefilledarc().


Output a BMP image to browser or file

  • « imagearc
  • imagechar »
  • PHP Manual
  • Funções da GD
  • Output a BMP image to browser or file

imagebmp

(PHP 7 >= 7.2.0, PHP 8)

imagebmp — Output a BMP image to browser or file

Descrição

imagebmp ( resource $image , mixed $to = null , bool $compressed = true ) : bool

Outputs or saves a BMP version of the given image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

to

O caminho ou um resource stream aberto (o qual será automaticamente fechado quando a função retorna) para gravar o arquivo. Se não informado ou null, os bytes da imagem serão impressos diretamente.

Nota:

null is invalid if the compressed arguments is not used.

compressed

Whether the BMP should be compressed with run-length encoding (RLE), or not.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Cuidado

However, if libgd fails to output the image, this function returns true.

Exemplos

Exemplo #1 Saving a BMP file

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);

imagestring($im, 1, 5, 5,  'BMP with PHP', $text_color);

// Save the image
imagebmp($im, 'php.bmp');

// Free up memory
imagedestroy($im);
?>


Desenha um caractere horizontalmente

  • « imagebmp
  • imagecharup »
  • PHP Manual
  • Funções da GD
  • Desenha um caractere horizontalmente

imagechar

(PHP 4, PHP 5, PHP 7, PHP 8)

imagechar — Desenha um caractere horizontalmente

Descrição

imagechar ( resource $image , int $font , int $x , int $y , string $c , int $color ) : int

imagechar() desenha o primeiro caractere de c na imagem identificada por image com o canto superior esquerdo em x,y (em cima a esquerda é 0, 0) com a cor color. Se font for 1, 2, 3, 4 or 5, uma fonte interna é usada (onde os números mais altos correspondem a fonter maiores).

Exemplo #1 Exemplo imagechar()

<?php

$im = imagecreate(100, 100);

$string = 'PHP';

$bg = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// mostra um "P" preto no canto superior esquerdo
imagechar($im, 1, 0, 0, $string, $black);

header('Content-type: image/png');
imagepng($im);

?>

Veja também imagecharup() e imageloadfont().


Desenha um caractere verticalmente

  • « imagechar
  • imagecolorallocate »
  • PHP Manual
  • Funções da GD
  • Desenha um caractere verticalmente

imagecharup

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecharup — Desenha um caractere verticalmente

Descrição

imagecharup ( resource $image , int $font , int $x , int $y , string $c , int $color ) : int

imagecharup() desenha o caractere c verticalmente na imagem identificada por image nas coordenadas x, y (em cima na esquerda é 0, 0) com a cor color. Se font for 1, 2, 3, 4 ou 5, uam fonte interna é usada.

Exemplo #1 Exemplo imagecharup()

<?php

$im = imagecreate(100, 100);

$string = 'Note that the first letter is a N';

$bg = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// mostra um "Z" preto num fundo branco
// na realidade um "N" de lado
imagecharup($im, 3, 10, 10, $string, $black);

header('Content-type: image/png');
imagepng($im);

?>

Veja também imagechar() e imageloadfont().


Aloca uma cor para uma imagem

  • « imagecharup
  • imagecolorallocatealpha »
  • PHP Manual
  • Funções da GD
  • Aloca uma cor para uma imagem

imagecolorallocate

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorallocate — Aloca uma cor para uma imagem

Descrição

imagecolorallocate ( resource $image , int $red , int $green , int $blue ) : int

imagecolorallocate() retorna um identificador de cor representando a cor composta pelos componentes RGB. Os argumentos image é o retorno da função imagecreate(). red, green and blue são os valores de vermelho, azul e verde, respectivamente da cor solicitada. Estes parâmetros são inteiros entre 0 e 255 ou hexadecimais entre 0x00 e 0xFF. imagecolorallocate() deve ser utilizada para cada cor que será usada na imagem representada por image.

Nota:

A primeira utilização da função imagecolorallocate() prenche a cor do fundo.

<?php

// define o fundo como vermelho
$background = imagecolorallocate($im, 255, 0, 0);

// define algumas cores
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// do jeito hexadecimal
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

?>

Retorna -1 se falhar.

Veja também imagecolorallocatealpha() e imagecolordeallocate().


Aloca cor para uma imagem

  • « imagecolorallocate
  • imagecolorat »
  • PHP Manual
  • Funções da GD
  • Aloca cor para uma imagem

imagecolorallocatealpha

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

imagecolorallocatealpha — Aloca cor para uma imagem

Descrição

imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha ) : int

imagecolorallocatealpha() funciona identicamente a imagecolorallocate() com a adição do parâmetro de transparencia alpha o qual deve ter um valor entre 0 e 127. 0 indica completamente opaco enquanto 127 indica completamente transparente.

Retorna false se falhar.

Exemplo #1 Exemplo de uso de imagecolorallocatealpha()

<?php
$size = 300;
$image=imagecreatetruecolor($size, $size);

// something to get a white background with black border
$back = imagecolorallocate($image, 255, 255, 255);
$border = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, $size - 1, $size - 1, $back);
imagerectangle($image, 0, 0, $size - 1, $size - 1, $border);

$yellow_x = 100;
$yellow_y = 75;
$red_x    = 120;
$red_y    = 165;
$blue_x   = 187;
$blue_y   = 125;
$radius   = 150;

// allocate colors with alpha values
$yellow = imagecolorallocatealpha($image, 255, 255, 0, 75);
$red    = imagecolorallocatealpha($image, 255, 0, 0, 75);
$blue   = imagecolorallocatealpha($image, 0, 0, 255, 75);

// drawing 3 overlapped circle
imagefilledellipse($image, $yellow_x, $yellow_y, $radius, $radius, $yellow);
imagefilledellipse($image, $red_x, $red_y, $radius, $radius, $red);
imagefilledellipse($image, $blue_x, $blue_y, $radius, $radius, $blue);

// don't forget to output a correct header!
header('Content-type: image/png');

// and finally, output the result
imagepng($image);
imagedestroy($image);
?>

Veja também imagecolorallocate() e imagecolordeallocate().


Retorna o índice da cor de um pixel

  • « imagecolorallocatealpha
  • imagecolorclosest »
  • PHP Manual
  • Funções da GD
  • Retorna o índice da cor de um pixel

imagecolorat

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorat — Retorna o índice da cor de um pixel

Descrição

imagecolorat ( resource $image , int $x , int $y ) : int

Retorna o índice da cor de um pixel no local especificado da imagem image.

Se o PHP foi compilado com a biblioteca GD 2.0 ou superior e a imagem for truecolor, esta função retorna o valor RGB deste pixel como um inteiro. Use bitshifting e masking para acessar os valores distintos dos componentes vermelho, verde e azul:

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

x

Coordenada x do ponto

y

Coordenada y do ponto

Valor Retornado

Returns the index of the color.

Exemplos

Exemplo #1 Acessando os valores RGB distintos

<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
?>

O exemplo acima irá imprimir algo similar à:

int(119)
int(123)
int(180)

Veja Também

  • imagecolorset() - Set the color for the specified palette index
  • imagecolorsforindex() - Retorna as cores de um índice


Retorna o índice da cor mais próxima da cor especificada

  • « imagecolorat
  • imagecolorclosestalpha »
  • PHP Manual
  • Funções da GD
  • Retorna o índice da cor mais próxima da cor especificada

imagecolorclosest

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorclosest — Retorna o índice da cor mais próxima da cor especificada

Descrição

imagecolorclosest ( resource $image , int $red , int $green , int $blue ) : int

Retorna o índice da cor na paleta da imagem que seja mais "próxima" do valor RGB especificado.

A "distancia" entre a cor desejada e cada cor da paleta é calculada como se os valores RGB representassem pontos em um espaço tridimencional.

Se você criou a imagem a partir de um arquivo, apenas as cores usadas na imagem são resolvidas. Cores presentes apenas na paleta não são resolvidas.

Veja também imagecolorexact().


Retorna o índice da cor mais próxima da cor especificada + transparencia

  • « imagecolorclosest
  • imagecolorclosesthwb »
  • PHP Manual
  • Funções da GD
  • Retorna o índice da cor mais próxima da cor especificada + transparencia

imagecolorclosestalpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecolorclosestalpha — Retorna o índice da cor mais próxima da cor especificada + transparencia

Descrição

imagecolorclosestalpha ( resource $image , int $red , int $green , int $blue , int $alpha ) : int

Retorna o índice da cor da paleta da imagem o qual seja mais "próximo" do valor RGB e de alpha level.

Veja também imagecolorexactalpha().


Get the index of the color which has the hue, white and blackness

  • « imagecolorclosestalpha
  • imagecolordeallocate »
  • PHP Manual
  • Funções da GD
  • Get the index of the color which has the hue, white and blackness

imagecolorclosesthwb

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagecolorclosesthwb — Get the index of the color which has the hue, white and blackness

Descrição

imagecolorclosesthwb ( resource $image , int $red , int $green , int $blue ) : int

Get the index of the color which has the hue, white and blackness nearest the given color.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

red

Valor do componente vermelho.

green

Valor do componente verde.

blue

Valor do componente azul.

Valor Retornado

Returns an integer with the index of the color which has the hue, white and blackness nearest the given color.

Exemplos

Exemplo #1 Example of using imagecolorclosesthwb()

<?php
$im = imagecreatefromgif('php.gif');

echo 'HWB: ' . imagecolorclosesthwb($im, 116, 115, 152);

imagedestroy($im);
?>

O exemplo acima irá imprimir algo similar à:

HWB: 33

Veja Também

  • imagecolorclosest() - Retorna o índice da cor mais próxima da cor especificada


Desaloca uma cor para uma imagem

  • « imagecolorclosesthwb
  • imagecolorexact »
  • PHP Manual
  • Funções da GD
  • Desaloca uma cor para uma imagem

imagecolordeallocate

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolordeallocate — Desaloca uma cor para uma imagem

Descrição

imagecolordeallocate ( resource $image , int $color ) : int

A função imagecolordeallocate() desaloca uma cor previamente alocada com imagecolorallocate() ou imagecolorallocatealpha().

<?php
$white = imagecolorallocate($im, 255, 255, 255);
imagecolordeallocate($im, $white);
?>

Veja também imagecolorallocate() e imagecolorallocatealpha().


Retorna o índice da cor especificada

  • « imagecolordeallocate
  • imagecolorexactalpha »
  • PHP Manual
  • Funções da GD
  • Retorna o índice da cor especificada

imagecolorexact

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorexact — Retorna o índice da cor especificada

Descrição

imagecolorexact ( resource $image , int $red , int $green , int $blue ) : int

Retorna o índice da cor especificada na paleta da imagem.

Se a cor não existir na paleta de imagem, é retornado -1.

Se você criou a imagem a partir de um arquivo, apenas as cores usadas na imagem são resolvidas. Cores presentes apenas na paleta não são resolvidas.

Veja também imagecolorclosest().


Retorna o índice da cor especificada + transparencia

  • « imagecolorexact
  • imagecolormatch »
  • PHP Manual
  • Funções da GD
  • Retorna o índice da cor especificada + transparencia

imagecolorexactalpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecolorexactalpha — Retorna o índice da cor especificada + transparencia

Descrição

imagecolorexactalpha ( resource $image , int $red , int $green , int $blue , int $alpha ) : int

Retorna o índice da cor especificada + transparencia na paleta da imagem especificada.

Se a cor não existir na paleta de imagem, é retornado -1.

Veja também imagecolorclosestalpha().


Faz com que a versão das cores da paleta sejam mais próximas da versão truecolor

  • « imagecolorexactalpha
  • imagecolorresolve »
  • PHP Manual
  • Funções da GD
  • Faz com que a versão das cores da paleta sejam mais próximas da versão truecolor

imagecolormatch

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

imagecolormatch — Faz com que a versão das cores da paleta sejam mais próximas da versão truecolor

Descrição

imagecolormatch ( resource $image1 , resource $image2 ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

image1 deve ser Truecolor, image2 deve ser uma paleta, e ambas image1 e image2 devem ter o mesmo tamanho.

Retorna true em caso de sucesso ou false em caso de falha.

Veja também imagecreatetruecolor().


Retorna o índice da cor especificada ou a alternativa mais próxima possível

  • « imagecolormatch
  • imagecolorresolvealpha »
  • PHP Manual
  • Funções da GD
  • Retorna o índice da cor especificada ou a alternativa mais próxima possível

imagecolorresolve

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorresolve — Retorna o índice da cor especificada ou a alternativa mais próxima possível

Descrição

imagecolorresolve ( resource $image , int $red , int $green , int $blue ) : int

Esta função é garantida para retornar um índice de cor para a cor solicitada, ou a cor exata, ou a alternativa mais próxima possível.

Se você criou a imagem a partir de um arquivo, apenas as cores usadas na imagem são resolvidas. Cores presentes apenas na paleta não são resolvidas.

Veja também imagecolorclosest().


Retorna o índice da cor especificada + transparência ou a sua alternativa mais próxima

  • « imagecolorresolve
  • imagecolorset »
  • PHP Manual
  • Funções da GD
  • Retorna o índice da cor especificada + transparência ou a sua alternativa mais próxima

imagecolorresolvealpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecolorresolvealpha — Retorna o índice da cor especificada + transparência ou a sua alternativa mais próxima

Descrição

imagecolorresolvealpha ( resource $image , int $red , int $green , int $blue , int $alpha ) : int

Esta função é garantida para retornar um índice de cor para a cor solicitada, ou a cor exata, ou a alternativa mais próxima possível.

Veja também imagecolorclosestalpha().


Set the color for the specified palette index

  • « imagecolorresolvealpha
  • imagecolorsforindex »
  • PHP Manual
  • Funções da GD
  • Set the color for the specified palette index

imagecolorset

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorset — Set the color for the specified palette index

Descrição

imagecolorset ( resource $image , int $index , int $red , int $green , int $blue , int $alpha = 0 ) : void

This sets the specified index in the palette to the specified color. This is useful for creating flood-fill-like effects in palleted images without the overhead of performing the actual flood-fill.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

index

An index in the palette.

red

Valor do componente vermelho.

green

Valor do componente verde.

blue

Valor do componente azul.

alpha

Value of alpha component.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 imagecolorset() example

<?php
// Create a 300x100 image
$im = imagecreate(300, 100);

// Set the background to be red
imagecolorallocate($im, 255, 0, 0);

// Get the color index for the background
$bg = imagecolorat($im, 0, 0);

// Set the backgrund to be blue
imagecolorset($im, $bg, 0, 0, 255);

// Output the image to the browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Veja Também

  • imagecolorat() - Retorna o índice da cor de um pixel


Retorna as cores de um índice

  • « imagecolorset
  • imagecolorstotal »
  • PHP Manual
  • Funções da GD
  • Retorna as cores de um índice

imagecolorsforindex

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorsforindex — Retorna as cores de um índice

Descrição

imagecolorsforindex ( resource $image , int $index ) : array

Obtém a cor de um especificado índice.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

index

Valor Retornado

Retorna um array associativo com as chaves vermelho, verde, azul e alpha que contém os apropriados valores para o especificado índice de cor.

Exemplos

Exemplo #1 Exemplo imagecolorsforindex()

<?php

// abre uma imagem
$im = imagecreatefrompng('nexen.png');

// obtém uma cor
$start_x = 40;
$start_y = 50;
$color_index = imagecolorat($im, $start_x, $start_y);

// torna legível
$color_tran = imagecolorsforindex($im, $color_index);

// Qual é?
print_r($color_tran);

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [red] => 226
    [green] => 222
    [blue] => 252
    [alpha] => 0
)

Veja Também

  • imagecolorat() - Retorna o índice da cor de um pixel
  • imagecolorexact() - Retorna o índice da cor especificada


Retorna o número de cores na paleta de uma imagem

  • « imagecolorsforindex
  • imagecolortransparent »
  • PHP Manual
  • Funções da GD
  • Retorna o número de cores na paleta de uma imagem

imagecolorstotal

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorstotal — Retorna o número de cores na paleta de uma imagem

Descrição

imagecolorstotal ( resource $image ) : int

Retorna o número de cores na paleta da imagem.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

Valor Retornado

Retorna o número de cores na especificada paleta da imagem ou 0 para imagens truecolor.

Veja Também

  • imagecolorat() - Retorna o índice da cor de um pixel
  • imagecolorsforindex() - Retorna as cores de um índice
  • imageistruecolor() - Indica quando uma imagem é uma imagem truecolor


Define uma cor como tansparente

  • « imagecolorstotal
  • imageconvolution »
  • PHP Manual
  • Funções da GD
  • Define uma cor como tansparente

imagecolortransparent

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolortransparent — Define uma cor como tansparente

Descrição

imagecolortransparent ( resource $image , int $color = ? ) : int

Define a cor transparente na dada image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

color

Um identificador de cor criado com imagecolorallocate()

Valor Retornado

O identificador da nova (ou atual, se nenhuma for especificada) cor transparente é retornado.

Notas

Nota:

A transparência é copiada apenas com imagecopymerged() e imagens true color, não com imagecopy() ou imagens de paleta.

Nota:

A cor transparente é uma propriedade da imagem, a transparencia não é uma propriedade da cor. Uma vez que você definiu uma cor para ser a cor de transparência, todas as regiões da imagem que eram desenhadas com esta cor anteriormente serão transparentes.


Apply a 3x3 convolution matrix, using coefficient and offset

  • « imagecolortransparent
  • imagecopy »
  • PHP Manual
  • Funções da GD
  • Apply a 3x3 convolution matrix, using coefficient and offset

imageconvolution

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

imageconvolution — Apply a 3x3 convolution matrix, using coefficient and offset

Descrição

imageconvolution ( resource $image , array $matrix , float $div , float $offset ) : bool

Applies a convolution matrix on the image, using the given coefficient and offset.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

matrix

A 3x3 matrix: an array of three arrays of three floats.

div

The divisor of the result of the convolution, used for normalization.

offset

Color offset.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Embossing the PHP.net logo

<?php
$image = imagecreatefromgif('http://www.php.net/images/php.gif');

$emboss = array(array(2, 0, 0), array(0, -1, 0), array(0, 0, -1));
imageconvolution($image, $emboss, 1, 127);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

O exemplo acima irá imprimir:

Output of example : Embossing the PHP.net logo

Exemplo #2 Gaussian blur

<?php
$image = imagecreatetruecolor(180,40);

// Writes the text and apply a gaussian blur on the image
imagestring($image, 5, 10, 8, 'Gaussian Blur Text', 0x00ff00);
$gaussian = array(array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0));
imageconvolution($image, $gaussian, 16, 0);

// Rewrites the text for comparison
imagestring($image, 5, 10, 18, 'Gaussian Blur Text', 0x00ff00);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

O exemplo acima irá imprimir:

Output of example : Gaussian blur

Notas

This function requires GD 2.1.0 or higher.

Veja Também

  • imagefilter() - Applies a filter to an image


Copia parte de uma imagem

  • « imageconvolution
  • imagecopymerge »
  • PHP Manual
  • Funções da GD
  • Copia parte de uma imagem

imagecopy

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecopy — Copia parte de uma imagem

Descrição

imagecopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h ) : int

Copia parte de src_im em dst_im começando nas coordenadas x,y src_x, src_y com a largura de src_w e altura de src_h. A porção definida será copiada nas coordenadas x,y, dst_x e dst_y.


Copia e combina uma parte de uma imagem

  • « imagecopy
  • imagecopymergegray »
  • PHP Manual
  • Funções da GD
  • Copia e combina uma parte de uma imagem

imagecopymerge

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagecopymerge — Copia e combina uma parte de uma imagem

Descrição

imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct ) : int

Copia parte de src_im em dst_im começando nas coordenadas src_x, src_y com a largura de src_w e altura de src_h. A porção definida será copiada nas coordenadas x,y, dst_x e dst_y. As duas imagens serão combinadas de acordo com pct o qual pode variar de 0 a 100. Quando pct = 0, não haverá modificação, quando 100 esta função funciona de modo identico a imagecopy() para imagens de paleta, enquanto implemente transparencia alpha para imagens true colour.

Nota:

Esta função foi adicionada no PHP 4.0.6


Copy and merge part of an image with gray scale

  • « imagecopymerge
  • imagecopyresampled »
  • PHP Manual
  • Funções da GD
  • Copy and merge part of an image with gray scale

imagecopymergegray

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecopymergegray — Copy and merge part of an image with gray scale

Descrição

imagecopymergegray ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct ) : bool

imagecopymergegray() copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y.

This function is identical to imagecopymerge() except that when merging it preserves the hue of the source by converting the destination pixels to gray scale before the copy operation.

Parâmetros

dst_im

Recurso da imagem destino.

src_im

Recurso imagem origem.

dst_x

x-coordinate of destination point.

dst_y

y-coordinate of destination point.

src_x

x-coordinate of source point.

src_y

y-coordinate of source point.

src_w

Largura da origem.

src_h

Altura da origem.

pct

The src_im will be changed to grayscale according to pct where 0 is fully grayscale and 100 is unchanged. When pct = 100 this function behaves identically to imagecopy() for pallete images, except for ignoring alpha components, while it implements alpha transparency for true colour images.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 imagecopymergegray() usage

<?php
// Create image instances
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');

// Copy and merge - Gray = 20%
imagecopymergegray($dest, $src, 10, 10, 0, 0, 100, 47, 20);

// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>


Copy and resize part of an image with resampling

  • « imagecopymergegray
  • imagecopyresized »
  • PHP Manual
  • Funções da GD
  • Copy and resize part of an image with resampling

imagecopyresampled

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecopyresampled — Copy and resize part of an image with resampling

Descrição

imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h ) : bool

imagecopyresampled() copies a rectangular portion of one image to another image, smoothly interpolating pixel values so that, in particular, reducing the size of an image still retains a great deal of clarity.

In other words, imagecopyresampled() will take a rectangular area from src_image of width src_w and height src_h at position (src_x,src_y) and place it in a rectangular area of dst_image of width dst_w and height dst_h at position (dst_x,dst_y).

If the source and destination coordinates and width and heights differ, appropriate stretching or shrinking of the image fragment will be performed. The coordinates refer to the upper left corner. This function can be used to copy regions within the same image (if dst_image is the same as src_image) but if the regions overlap the results will be unpredictable.

Parâmetros

dst_image

Recurso da imagem destino.

src_image

Recurso imagem origem.

dst_x

x-coordinate of destination point.

dst_y

y-coordinate of destination point.

src_x

x-coordinate of source point.

src_y

y-coordinate of source point.

dst_w

Destination width.

dst_h

Destination height.

src_w

Largura da origem.

src_h

Altura da origem.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Simple example

This example will resample an image to half its original size.

<?php
// The file
$filename = 'test.jpg';
$percent = 0.5;

// Content type
header('Content-Type: image/jpeg');

// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Output
imagejpeg($image_p, null, 100);
?>

O exemplo acima irá imprimir algo similar à:

Output of example : Simple example

Exemplo #2 Resampling an image proportionally

This example will display an image with the maximum width, or height, of 200 pixels.

<?php
// The file
$filename = 'test.jpg';

// Set a maximum height and width
$width = 200;
$height = 200;

// Content type
header('Content-Type: image/jpeg');

// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
   $width = $height*$ratio_orig;
} else {
   $height = $width/$ratio_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p, null, 100);
?>

O exemplo acima irá imprimir algo similar à:

Output of example : Resampling an image proportionally

Notas

Nota:

There is a problem due to palette image limitations (255+1 colors). Resampling or filtering an image commonly needs more colors than 255, a kind of approximation is used to calculate the new resampled pixel and its color. With a palette image we try to allocate a new color, if that failed, we choose the closest (in theory) computed color. This is not always the closest visual color. That may produce a weird result, like blank (or visually blank) images. To skip this problem, please use a truecolor image as a destination image, such as one created by imagecreatetruecolor().

Veja Também

  • imagecopyresized() - Copy and resize part of an image
  • imagescale() - Scale an image using the given new width and height
  • imagecrop() - Crop an image to the given rectangle


Copy and resize part of an image

  • « imagecopyresampled
  • imagecreate »
  • PHP Manual
  • Funções da GD
  • Copy and resize part of an image

imagecopyresized

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecopyresized — Copy and resize part of an image

Descrição

imagecopyresized ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h ) : bool

imagecopyresized() copies a rectangular portion of one image to another image. dst_image is the destination image, src_image is the source image identifier.

In other words, imagecopyresized() will take a rectangular area from src_image of width src_w and height src_h at position (src_x,src_y) and place it in a rectangular area of dst_image of width dst_w and height dst_h at position (dst_x,dst_y).

If the source and destination coordinates and width and heights differ, appropriate stretching or shrinking of the image fragment will be performed. The coordinates refer to the upper left corner. This function can be used to copy regions within the same image (if dst_image is the same as src_image) but if the regions overlap the results will be unpredictable.

Parâmetros

dst_image

Recurso da imagem destino.

src_image

Recurso imagem origem.

dst_x

x-coordinate of destination point.

dst_y

y-coordinate of destination point.

src_x

x-coordinate of source point.

src_y

y-coordinate of source point.

dst_w

Destination width.

dst_h

Destination height.

src_w

Largura da origem.

src_h

Altura da origem.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Resizing an image

This example will display the image at half size.

<?php
// File and new size
$filename = 'test.jpg';
$percent = 0.5;

// Content type
header('Content-Type: image/jpeg');

// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

// Output
imagejpeg($thumb);
?>

O exemplo acima irá imprimir algo similar à:

Output of example : Resizing an image

The image will be output at half size, though better quality could be obtained using imagecopyresampled().

Notas

Nota:

There is a problem due to palette image limitations (255+1 colors). Resampling or filtering an image commonly needs more colors than 255, a kind of approximation is used to calculate the new resampled pixel and its color. With a palette image we try to allocate a new color, if that failed, we choose the closest (in theory) computed color. This is not always the closest visual color. That may produce a weird result, like blank (or visually blank) images. To skip this problem, please use a truecolor image as a destination image, such as one created by imagecreatetruecolor().

Veja Também

  • imagecopyresampled() - Copy and resize part of an image with resampling
  • imagescale() - Scale an image using the given new width and height
  • imagecrop() - Crop an image to the given rectangle


Cria uma nova imagem baseada em paleta

  • « imagecopyresized
  • imagecreatefrombmp »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem baseada em paleta

imagecreate

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecreate — Cria uma nova imagem baseada em paleta

Descrição

imagecreate ( int $width , int $height ) : resource

imagecreate() retorna um identificadir de imagem representando uma imagem em branco do tamanho especificado.

Nós recomendamos o uso de imagecreatetruecolor().

Parâmetros

width

A largura da imagem

height

A altura da imagem

Valor Retornado

Retorna um resource identificador da imagem em sucesso, false em erros.

Exemplos

Exemplo #1 Criando um novo stream de imagem GD e mostrando uma imagem.

<?php
header("Content-type: image/png");
$im = @imagecreate(110, 20)
    or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>

O exemplo acima irá imprimir algo similar à:

Veja Também

  • imagedestroy() - Destrói uma imagem
  • imagecreatetruecolor() - Cria uma nova imagem true color


Cria uma nova imagem a partir de arquivo ou URL

  • « imagecreate
  • imagecreatefromgd2 »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem a partir de arquivo ou URL

imagecreatefrombmp

(PHP 7 >= 7.2.0, PHP 8)

imagecreatefrombmp — Cria uma nova imagem a partir de arquivo ou URL

Descrição

imagecreatefrombmp ( string $filename ) : resource

imagecreatefrombmp() returns an image identifier representing the image obtained from the given filename.

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Parâmetros

filename

Path to the BMP image.

Valor Retornado

Retorna um resource de imagem no sucesso, false em erros.

Exemplos

Exemplo #1 Convert an BMP image to a PNG image using imagecreatefrombmp()

<?php
// Load the BMP file
$im = imagecreatefrombmp('./example.bmp');

// Convert it to a PNG file with default settings
imagepng($im, './example.png');
imagedestroy($im);
?>


Cria uma nova imagem apartir de um arquivo GD2 ou URL

  • « imagecreatefrombmp
  • imagecreatefromgd2part »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem apartir de um arquivo GD2 ou URL

imagecreatefromgd2

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagecreatefromgd2 — Cria uma nova imagem apartir de um arquivo GD2 ou URL

Descrição

imagecreatefromgd2 ( string $filename ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Parâmetros

filename

Notas


Cria uma nova imagem apartir de uma parte de um arquivo GD ou URL

  • « imagecreatefromgd2
  • imagecreatefromgd »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem apartir de uma parte de um arquivo GD ou URL

imagecreatefromgd2part

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagecreatefromgd2part — Cria uma nova imagem apartir de uma parte de um arquivo GD ou URL

Descrição

imagecreatefromgd2part ( string $filename , int $srcX , int $srcY , int $width , int $height ) : resource

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.


Cria uma nova imagem apartir de um arquivo GD ou URL

  • « imagecreatefromgd2part
  • imagecreatefromgif »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem apartir de um arquivo GD ou URL

imagecreatefromgd

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagecreatefromgd — Cria uma nova imagem apartir de um arquivo GD ou URL

Descrição

imagecreatefromgd ( string $filename ) : resource

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Parâmetros

filename

Notas


Cria uma nova imagem a partir de um arquivo ou URL

  • « imagecreatefromgd
  • imagecreatefromjpeg »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem a partir de um arquivo ou URL

imagecreatefromgif

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecreatefromgif — Cria uma nova imagem a partir de um arquivo ou URL

Descrição

imagecreatefromgif ( string $filename ) : resource

imagecreatefromgif() retorna um identificador de imagem representando a imagem obtida a partir de um nome de arquivo dado.

Para facilmente debugar o seguinte exemplo irá produzir um GIF errado:

Exemplo #1 Exemplo de como manipular um erro durante a criação

<?php
function LoadGif ($imgname)
{
    $im = @imagecreatefromgif ($imgname); /* Attempt to open */
    if (!$im) { /* See if it failed */
        $im = imagecreatetruecolor (150, 30); /* Create a blank image */
        $bgc = imagecolorallocate ($im, 255, 255, 255);
        $tc = imagecolorallocate ($im, 0, 0, 0);
        imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring ($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}
header("Content-Type: image/gif");
$img = LoadGif("bogus.image");
imagegif($img);
?>

O exemplo acima irá imprimir algo similar à:

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Parâmetros

filename

Caminho para a imagem GIF

Valor Retornado

Retorna um resource identificador da imagem em sucesso, false em erro.

Notas

Nota:

O suporte a GIF foi removido da biblioteca GD na versão 1.6, e adicionado novamente na versão 2.0.28. Esta função não está disponível entre essas versões.


Cria uma nova imagem a a partir de um arquivo ou URL

  • « imagecreatefromgif
  • imagecreatefrompng »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem a a partir de um arquivo ou URL

imagecreatefromjpeg

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecreatefromjpeg — Cria uma nova imagem a a partir de um arquivo ou URL

Descrição

imagecreatefromjpeg ( string $filename ) : resource

imagecreatefromjpeg() retorna um identificador de imagem representando a imagem obtida através do nome de arquivo dado.

Em falha imagecreatefromjpeg() exibe mensagem de erro. A qual infelizmente aparece como um link quebrado no browser. Para facilitar o debug, o exemplo asseguir irá prodizir um JPEG de erro:

Exemplo #1 Exemplo de como manipular um erro durante a criação

<?php
function LoadJpeg($imgname)
{
    $im = @imagecreatefromjpeg($imgname); /* Attempt to open */
    if (!$im) { /* See if it failed */
        $im  = imagecreate(150, 30); /* Create a black image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}
header("Content-Type: image/jpeg");
$img = LoadJpeg("bogus.image");
imagejpeg($img);
?>

O exemplo acima irá imprimir algo similar à:

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Parâmetros

filename

Caminho da imagem JPEG

Valor Retornado

Retorna um resource identificador da imagem em sucesso, false em erros.

Notas


Cria uma nova imagem a partir de um arquivo ou URL

  • « imagecreatefromjpeg
  • imagecreatefromstring »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem a partir de um arquivo ou URL

imagecreatefrompng

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecreatefrompng — Cria uma nova imagem a partir de um arquivo ou URL

Descrição

imagecreatefrompng ( string $filename ) : resource

imagecreatefrompng() retorna um identificador de imagem representando a imagem obtida através do nome de arquivo dado.

imagecreatefrompng() retorna uma string vazia em caso de falha. Também mostra uma mensagem de erro, a qual infelizmente aparece como um link quebrado no browser. Para facilitar o debug, o exemplo asseguir irá prodizir um PNG de erro:

Exemplo #1 Exemplo de como manipular um erro durante a criação

<?php
function LoadPNG($imgname)
{
    $im = @imagecreatefrompng($imgname); /* Attempt to open */
    if (!$im) { /* See if it failed */
        $im  = imagecreatetruecolor(150, 30); /* Create a blank image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}
header("Content-Type: image/png");
$img = LoadPNG("bogus.image");
imagepng($img);
?>

O exemplo acima irá imprimir algo similar à:

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Parâmetros

filename

Caminho para a imagem PNG

Valor Retornado

Retorna um identificador de resource de imagem em sucesso, false em erros.

Notas


Cria uma nova imagem a apartir da imagem na string

  • « imagecreatefrompng
  • imagecreatefromwbmp »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem a apartir da imagem na string

imagecreatefromstring

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

imagecreatefromstring — Cria uma nova imagem a apartir da imagem na string

Descrição

imagecreatefromstring ( string $image ) : resource

imagecreatefromstring() retorna um identificador de imagem representando a imagem obtida a apartir da string dada.


Cria uma nova imagem a apratir de um arquivo ou URL

  • « imagecreatefromstring
  • imagecreatefromwebp »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem a apratir de um arquivo ou URL

imagecreatefromwbmp

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagecreatefromwbmp — Cria uma nova imagem a apratir de um arquivo ou URL

Descrição

imagecreatefromwbmp ( string $filename ) : resource

imagecreatefromwbmp() retorna um identificador de imagem representando a imagem obtida através do nome de arquivo dado.

imagecreatefromwbmp() retorna uma string vazia em caso de falha. Também mostra uma mensagem de erro, a qual infelizmente aparece como um link quebrado no browser. Para facilitar o debug, o exemplo asseguir irá prodizir um WBMP de erro:

Exemplo #1 Exemplo de como manipular um erro durante a criação

<?php
function LoadWBMP($imgname)
{
    $im = @imagecreatefromwbmp($imgname); /* Attempt to open */
    if (!$im) { /* See if it failed */
        $im  = imagecreatetruecolor (20, 20); /* Create a blank image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 10, 10, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}
?>

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Parâmetros

filename

Caminho para imagem WBMP

Valor Retornado

Retorna um resource identificador da imagem em sucesso, false em erros.

Notas


Cria uma nova imagem a partir de arquivo ou URL

  • « imagecreatefromwbmp
  • imagecreatefromxbm »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem a partir de arquivo ou URL

imagecreatefromwebp

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

imagecreatefromwebp — Cria uma nova imagem a partir de arquivo ou URL

Descrição

imagecreatefromwebp ( string $filename ) : resource

imagecreatefromwebp() returns an image identifier representing the image obtained from the given filename.

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Parâmetros

filename

Path to the WebP image.

Valor Retornado

Retorna um resource de imagem no sucesso, false em erros.

Exemplos

Exemplo #1 Convert an WebP image to a jpeg image using imagecreatefromwebp()

<?php
// Load the WebP file
$im = imagecreatefromwebp('./example.webp');

// Convert it to a jpeg file with 100% quality
imagejpeg($im, './example.jpeg', 100);
imagedestroy($im);
?>


Cria uma nova imagem a a partir de um arquivo ou URL

  • « imagecreatefromwebp
  • imagecreatefromxpm »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem a a partir de um arquivo ou URL

imagecreatefromxbm

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagecreatefromxbm — Cria uma nova imagem a a partir de um arquivo ou URL

Descrição

imagecreatefromxbm ( string $filename ) : resource

imagecreatefromxbm() retorna um identificador de imagem representando a imagem obtida através do nome de arquivo dado.

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Parâmetros

filename

Caminho para imagem XBM

Valor Retornado

Retorna um resource identificador da imagem em sucesso, false em erros.


Cria uma nova imagem a apratir de um arquivo ou URL

  • « imagecreatefromxbm
  • imagecreatetruecolor »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem a apratir de um arquivo ou URL

imagecreatefromxpm

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagecreatefromxpm — Cria uma nova imagem a apratir de um arquivo ou URL

Descrição

imagecreatefromxpm ( string $filename ) : resource

imagecreatefromxpm() retorna um identificador de imagem representando a imagem obtida através do nome de arquivo dado.

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

Parâmetros

filename

Caminho para imagem XPM

Valor Retornado

Retorna um resource identificador da imagem em sucesso, false em erros.

Valor Retornado


Cria uma nova imagem true color

  • « imagecreatefromxpm
  • imagecrop »
  • PHP Manual
  • Funções da GD
  • Cria uma nova imagem true color

imagecreatetruecolor

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecreatetruecolor — Cria uma nova imagem true color

Descrição

imagecreatetruecolor ( int $x_size , int $y_size ) : resource

imagecreatetruecolor() retorna um identificador de imagem representando uma imagem preta de tamanho x_size por y_size.

Exemplo #1 Criando um novo stream de imagem GD e enviando a imagem.

<?php
header ("Content-type: image/png");
$im = @imagecreatetruecolor(50, 100)
      or die("Cannot Initialize new GD image stream");
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>

Nota:

Esta função não funcionará com arquivos de formato GIF.

Veja também imagedestroy() e imagecreate().


Crop an image to the given rectangle

  • « imagecreatetruecolor
  • imagecropauto »
  • PHP Manual
  • Funções da GD
  • Crop an image to the given rectangle

imagecrop

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagecrop — Crop an image to the given rectangle

Descrição

imagecrop ( resource $image , array $rect ) : resource|false

Crops an image to the given rectangular area and returns the resulting image. The given image is not modified.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

rect

The cropping rectangle as array with keys x, y, width and height.

Valor Retornado

Return cropped image resource on success ou false em caso de falha.

Exemplos

Exemplo #1 imagecrop() example

This example shows how to crop an image to a square area.

<?php
$im = imagecreatefrompng('example.png');
$size = min(imagesx($im), imagesy($im));
$im2 = imagecrop($im, ['x' => 0, 'y' => 0, 'width' => $size, 'height' => $size]);
if ($im2 !== FALSE) {
    imagepng($im2, 'example-cropped.png');
    imagedestroy($im2);
}
imagedestroy($im);
?>

Veja Também

  • imagecropauto() - Crop an image automatically using one of the available modes


Crop an image automatically using one of the available modes

  • « imagecrop
  • imagedashedline »
  • PHP Manual
  • Funções da GD
  • Crop an image automatically using one of the available modes

imagecropauto

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagecropauto — Crop an image automatically using one of the available modes

Descrição

imagecropauto ( resource $image , int $mode = IMG_CROP_DEFAULT , float $threshold = .5 , int $color = -1 ) : resource|false

Automatically crops an image according to the given mode.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

mode

One of the following constants:

IMG_CROP_DEFAULT
Same as IMG_CROP_TRANSPARENT. Before PHP 7.4.0, the bundled libgd fell back to IMG_CROP_SIDES, if the image had no transparent color.
IMG_CROP_TRANSPARENT
Crops out a transparent background.
IMG_CROP_BLACK
Crops out a black background.
IMG_CROP_WHITE
Crops out a white background.
IMG_CROP_SIDES
Uses the 4 corners of the image to attempt to detect the background to crop.
IMG_CROP_THRESHOLD
Crops an image using the given threshold and color.
threshold

Specifies the tolerance in percent to be used while comparing the image color and the color to crop. The method used to calculate the color difference is based on the color distance in the RGB(a) cube.

Used only in IMG_CROP_THRESHOLD mode.

Nota: Before PHP 7.4.0, the bundled libgd used a somewhat different algorithm, so the same threshold yielded different results for system and bundled libgd.

color

Either an RGB color value or a palette index.

Used only in IMG_CROP_THRESHOLD mode.

Valor Retornado

Returns a cropped image resource on success ou false em caso de falha. If the complete image was cropped, imagecrop() returns false.

Changelog

Versão | Descrição
7.4.0 | The behavior of imagecropauto() in the bundled libgd has been synced with that of system libgd: IMG_CROP_DEFAULT no longer falls back to IMG_CROP_SIDES and threshold-cropping now uses the same algorithm as system libgd.
7.4.0 | The default value of mode has been changed to IMG_CROP_AUTO. Formerly, the default value has been -1 which corresponds to IMG_CROP_DEFAULT, but passing -1 is now deprecated.

Exemplos

Exemplo #1 Proper handling of auto-cropping

As noted in the return value section, imagecropauto() returns false if the whole image was cropped. In this example we have an image resource $im which should be automatically cropped only if there is something to crop; otherwise we want to proceed with the original image.

<?php
$cropped = imagecropauto($im, IMG_CROP_DEFAULT);
if ($cropped !== false) { // in case a new image resource was returned
    imagedestroy($im);    // we destroy the original image
    $im = $cropped;       // and assign the cropped image to $im
}
?>

Veja Também

  • imagecrop() - Crop an image to the given rectangle


Desenha uma linha pontilhada

  • « imagecropauto
  • imagedestroy »
  • PHP Manual
  • Funções da GD
  • Desenha uma linha pontilhada

imagedashedline

(PHP 4, PHP 5, PHP 7, PHP 8)

imagedashedline — Desenha uma linha pontilhada

Descrição

imagedashedline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color ) : bool

Esta função está obsoleta. Ao invés use uma combinação de imagesetstyle() e imageline().


Destrói uma imagem

  • « imagedashedline
  • imageellipse »
  • PHP Manual
  • Funções da GD
  • Destrói uma imagem

imagedestroy

(PHP 4, PHP 5, PHP 7, PHP 8)

imagedestroy — Destrói uma imagem

Descrição

imagedestroy ( resource $image ) : bool

imagedestroy() libera qualquer memória associada com a imagem image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Desenha um elipse

  • « imagedestroy
  • imagefill »
  • PHP Manual
  • Funções da GD
  • Desenha um elipse

imageellipse

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imageellipse — Desenha um elipse

Descrição

imageellipse ( resource $image , int $cx , int $cy , int $w , int $h , int $color ) : int

imageellipse() desenha um elipse centrado na posição cx, cy (em cima a esquerda é 0, 0) na imagem representada por image. W e h especifica a largura e altura do elipse, respectivamente. A cor do elipse é especificada por color.

Nota:

Esta função foi adicionada no PHP 4.0.6 e requer GD 2.0.2 ou posterior que pode ser obtida em » http://www.libgd.org/

Exemplo #1 Exemplo imageellipse()

<?php

// cria uma imagem em branco
$image = imagecreate(400, 300);

// prenche a cor do fundo
$bg = imagecolorallocate($image, 0, 0, 0);

// escolhe uma cor para o elipse
$col_ellipse = imagecolorallocate($image, 255, 255, 255);

// desenha o elipse
imageellipse($image, 200, 150, 300, 200, $col_ellipse);

// mostra a imagem
header("Content-type: image/png");
imagepng($image);

?>

Veja também imagefilledellipse() e imagearc().


Flood fill

  • « imageellipse
  • imagefilledarc »
  • PHP Manual
  • Funções da GD
  • Flood fill

imagefill

(PHP 4, PHP 5, PHP 7, PHP 8)

imagefill — Flood fill

Descrição

imagefill ( resource $image , int $x , int $y , int $color ) : bool

Performs a flood fill starting at the given coordinate (top left is 0, 0) with the given color in the image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

x

x-coordinate of start point.

y

y-coordinate of start point.

color

The fill color. A color identifier created with imagecolorallocate().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 imagefill() example

<?php

$im = imagecreatetruecolor(100, 100);

// sets background to red
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $red);

header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

O exemplo acima irá imprimir algo similar à:

Output of example : imagefill()

Veja Também

  • imagecolorallocate() - Aloca uma cor para uma imagem


Draw a partial arc and fill it

  • « imagefill
  • imagefilledellipse »
  • PHP Manual
  • Funções da GD
  • Draw a partial arc and fill it

imagefilledarc

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagefilledarc — Draw a partial arc and fill it

Descrição

imagefilledarc ( resource $image , int $cx , int $cy , int $width , int $height , int $start , int $end , int $color , int $style ) : bool

Draws a partial arc centered at the specified coordinate in the given image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

cx

x-coordinate of the center.

cy

y-coordinate of the center.

width

The arc width.

height

The arc height.

start

The arc start angle, in degrees.

end

The arc end angle, in degrees. 0° is located at the three-o'clock position, and the arc is drawn clockwise.

color

A color identifier created with imagecolorallocate().

style

A bitwise OR of the following possibilities:

  1. IMG_ARC_PIE
  2. IMG_ARC_CHORD
  3. IMG_ARC_NOFILL
  4. IMG_ARC_EDGED
IMG_ARC_PIE and IMG_ARC_CHORD are mutually exclusive; IMG_ARC_CHORD just connects the starting and ending angles with a straight line, while IMG_ARC_PIE produces a rounded edge. IMG_ARC_NOFILL indicates that the arc or chord should be outlined, not filled. IMG_ARC_EDGED, used together with IMG_ARC_NOFILL, indicates that the beginning and ending angles should be connected to the center - this is a good way to outline (rather than fill) a 'pie slice'.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Creating a 3D looking pie

<?php

// create image
$image = imagecreatetruecolor(100, 100);

// allocate some colors
$white    = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$gray     = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
$darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);
$navy     = imagecolorallocate($image, 0x00, 0x00, 0x80);
$darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);
$red      = imagecolorallocate($image, 0xFF, 0x00, 0x00);
$darkred  = imagecolorallocate($image, 0x90, 0x00, 0x00);

// make the 3D effect
for ($i = 60; $i > 50; $i--) {
   imagefilledarc($image, 50, $i, 100, 50, 0, 45, $darknavy, IMG_ARC_PIE);
   imagefilledarc($image, 50, $i, 100, 50, 45, 75 , $darkgray, IMG_ARC_PIE);
   imagefilledarc($image, 50, $i, 100, 50, 75, 360 , $darkred, IMG_ARC_PIE);
}

imagefilledarc($image, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 45, 75 , $gray, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 75, 360 , $red, IMG_ARC_PIE);

// flush image
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

O exemplo acima irá imprimir algo similar à:

Output of example : Creating a 3D looking pie


Desenha um elipse prenchido

  • « imagefilledarc
  • imagefilledpolygon »
  • PHP Manual
  • Funções da GD
  • Desenha um elipse prenchido

imagefilledellipse

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagefilledellipse — Desenha um elipse prenchido

Descrição

imagefilledellipse ( resource $image , int $cx , int $cy , int $w , int $h , int $color ) : bool

imagefilledellipse() desenha um elipse centrado em cx, cy (em cima na esquerda é 0, 0) na imagem representada por image. W e h especifica a largura e altura do elipse respectivamente. O elipse é prenchido com a cor color. Retorna true em caso de sucesso ou false em caso de falha.

Nota:

Esta função foi adicionada no PHP 4.0.6 e precisa da GD 2.0.1 ou posterior.

Exemplo #1 Exemplo imagefilledellipse()

<?php

// cria uma imagem em branco
$image = imagecreate(400, 300);

// prenche a cor do fundo
$bg = imagecolorallocate($image, 0, 0, 0);

// escolhe uma cor para o elipse
$col_ellipse = imagecolorallocate($image, 255, 255, 255);

// desenha o elipse branco
imagefilledellipse($image, 200, 150, 300, 200, $col_ellipse);

// mostra a imagem
header("Content-type: image/png");
imagepng($image);

?>

Veja também imageellipse() e imagefilledarc().


Desenha um poligono prenchido

  • « imagefilledellipse
  • imagefilledrectangle »
  • PHP Manual
  • Funções da GD
  • Desenha um poligono prenchido

imagefilledpolygon

(PHP 4, PHP 5, PHP 7, PHP 8)

imagefilledpolygon — Desenha um poligono prenchido

Descrição

imagefilledpolygon ( resource $image , array $points , int $num_points , int $color ) : int

imagefilledpolygon() cria um poligono prenchido na imagem image. points é uma matriz PHP contendo os vertives do poligono, ex. points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, etc. num_points é o número total de vertices.

Exemplo #1 Exemplo imagefilledpolygon()

<?php

// este exemplo foi dado por ecofarm at mullum dot com dot au

// define uma matriz de pontos para o poligono
$values = array(
  0  => 40,    // x1
  1  => 50,    // y1
  2  => 20,    // x2
  3  => 240,   // y2
  4  => 60,    // x3
  5  => 60,    // y3
  6  => 240,   // x4
  7  => 20,    // y4
  8  => 50,    // x5
  9  => 40,    // y5
  10 => 10,    // x6
  11 => 10,    // y6
);

// cria a imagem
$im = imagecreate(250, 250);

// algumas cores
$bg   = imagecolorallocate($im, 255, 255, 255);
$blue = imagecolorallocate($im, 0, 0, 255);

// desenha um poligono
imagefilledpolygon($im, $values, 6, $blue );

// envia a imagem
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);

?>


Desenha um retângulo prenchido

  • « imagefilledpolygon
  • imagefilltoborder »
  • PHP Manual
  • Funções da GD
  • Desenha um retângulo prenchido

imagefilledrectangle

(PHP 4, PHP 5, PHP 7, PHP 8)

imagefilledrectangle — Desenha um retângulo prenchido

Descrição

imagefilledrectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color ) : int

imagefilledrectangle() cria um retângulo prenchido da cor color na imagem image começando nas coordenadas de cima aesquerda x1, y1 e terminando nas coordenadas de baixo a direita x2, y2. 0, 0 é o canto superior esquerdo da imagem.


Flood fill to specific color

  • « imagefilledrectangle
  • imagefilter »
  • PHP Manual
  • Funções da GD
  • Flood fill to specific color

imagefilltoborder

(PHP 4, PHP 5, PHP 7, PHP 8)

imagefilltoborder — Flood fill to specific color

Descrição

imagefilltoborder ( resource $image , int $x , int $y , int $border , int $color ) : bool

imagefilltoborder() performs a flood fill whose border color is defined by border. The starting point for the fill is x, y (top left is 0, 0) and the region is filled with color color.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

x

x-coordinate of start.

y

y-coordinate of start.

border

The border color. A color identifier created with imagecolorallocate().

color

The fill color. A color identifier created with imagecolorallocate().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Filling an ellipse with a color

<?php
// Create the image handle, set the background to white
$im = imagecreatetruecolor(100, 100);
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 255, 255, 255));

// Draw an ellipse to fill with a black border
imageellipse($im, 50, 50, 50, 50, imagecolorallocate($im, 0, 0, 0));

// Set the border and fill colors
$border = imagecolorallocate($im, 0, 0, 0);
$fill = imagecolorallocate($im, 255, 0, 0);

// Fill the selection
imagefilltoborder($im, 50, 50, $border, $fill);

// Output and free memory
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

O exemplo acima irá imprimir algo similar à:

Output of example : Filling an ellipse with a color

Notas

The algorithm does not explicitly remember which pixels have already been set, but rather infers that from the color of the pixel, so it cannot distinguish between freshly set pixels and pixels that are already there. That means chosing any fill color that is already used in the image may yield undesired results.


Applies a filter to an image

  • « imagefilltoborder
  • imageflip »
  • PHP Manual
  • Funções da GD
  • Applies a filter to an image

imagefilter

(PHP 5, PHP 7, PHP 8)

imagefilter — Applies a filter to an image

Descrição

imagefilter ( resource $image , int $filtertype , int $arg1 = ? , int $arg2 = ? , int $arg3 = ? , int $arg4 = ? ) : bool

imagefilter() applies the given filter filtertype on the image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

filtertype

filtertype can be one of the following:

  • IMG_FILTER_NEGATE: Reverses all colors of the image.
  • IMG_FILTER_GRAYSCALE: Converts the image into grayscale by changing the red, green and blue components to their weighted sum using the same coefficients as the REC.601 luma (Y') calculation. The alpha components are retained. For palette images the result may differ due to palette limitations.
  • IMG_FILTER_BRIGHTNESS: Changes the brightness of the image. Use arg1 to set the level of brightness. The range for the brightness is -255 to 255.
  • IMG_FILTER_CONTRAST: Changes the contrast of the image. Use arg1 to set the level of contrast.
  • IMG_FILTER_COLORIZE: Like IMG_FILTER_GRAYSCALE, except you can specify the color. Use arg1, arg2 and arg3 in the form of red, green, blue and arg4 for the alpha channel. The range for each color is 0 to 255.
  • IMG_FILTER_EDGEDETECT: Uses edge detection to highlight the edges in the image.
  • IMG_FILTER_EMBOSS: Embosses the image.
  • IMG_FILTER_GAUSSIAN_BLUR: Blurs the image using the Gaussian method.
  • IMG_FILTER_SELECTIVE_BLUR: Blurs the image.
  • IMG_FILTER_MEAN_REMOVAL: Uses mean removal to achieve a "sketchy" effect.
  • IMG_FILTER_SMOOTH: Makes the image smoother. Use arg1 to set the level of smoothness.
  • IMG_FILTER_PIXELATE: Applies pixelation effect to the image, use arg1 to set the block size and arg2 to set the pixelation effect mode.
  • IMG_FILTER_SCATTER: Applies scatter effect to the image, use arg1 and arg2 to define the effect strength and additionally arg3 to only apply the on select pixel colors.

arg1

  • IMG_FILTER_BRIGHTNESS: Brightness level.
  • IMG_FILTER_CONTRAST: Contrast level.
  • IMG_FILTER_COLORIZE: Valor do componente vermelho.
  • IMG_FILTER_SMOOTH: Smoothness level.
  • IMG_FILTER_PIXELATE: Block size in pixels.
  • IMG_FILTER_SCATTER: Effect substraction level. This must not be higher or equal to the addition level set with arg2.

arg2

  • IMG_FILTER_COLORIZE: Valor do componente verde.
  • IMG_FILTER_PIXELATE: Whether to use advanced pixelation effect or not (defaults to false).
  • IMG_FILTER_SCATTER: Effect addition level.

arg3

  • IMG_FILTER_COLORIZE: Valor do componente azul.
  • IMG_FILTER_SCATTER: Optional array indexed color values to apply effect at.

arg4

  • IMG_FILTER_COLORIZE: Alpha channel, A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.4.0 | Scatter support (IMG_FILTER_SCATTER) was added.

Exemplos

Exemplo #1 imagefilter() grayscale example

<?php
$im = imagecreatefrompng('dave.png');

if($im && imagefilter($im, IMG_FILTER_GRAYSCALE))
{
    echo 'Image converted to grayscale.';

    imagepng($im, 'dave.png');
}
else
{
    echo 'Conversion to grayscale failed.';
}

imagedestroy($im);
?>

Exemplo #2 imagefilter() brightness example

<?php
$im = imagecreatefrompng('sean.png');

if($im && imagefilter($im, IMG_FILTER_BRIGHTNESS, 20))
{
    echo 'Image brightness changed.';

    imagepng($im, 'sean.png');
    imagedestroy($im);
}
else
{
    echo 'Image brightness change failed.';
}
?>

Exemplo #3 imagefilter() colorize example

<?php
$im = imagecreatefrompng('philip.png');

/* R, G, B, so 0, 255, 0 is green */
if($im && imagefilter($im, IMG_FILTER_COLORIZE, 0, 255, 0))
{
    echo 'Image successfully shaded green.';

    imagepng($im, 'philip.png');
    imagedestroy($im);
}
else
{
    echo 'Green shading failed.';
}
?>

Exemplo #4 imagefilter() negate example

<?php
// Define our negate function so its portable for
// php versions without imagefilter()
function negate($im)
{
    if(function_exists('imagefilter'))
    {
        return imagefilter($im, IMG_FILTER_NEGATE);
    }

    for($x = 0; $x < imagesx($im); ++$x)
    {
        for($y = 0; $y < imagesy($im); ++$y)
        {
            $index = imagecolorat($im, $x, $y);
            $rgb = imagecolorsforindex($index);
            $color = imagecolorallocate($im, 255 - $rgb['red'], 255 - $rgb['green'], 255 - $rgb['blue']);

            imagesetpixel($im, $x, $y, $color);
        }
    }

    return(true);
}

$im = imagecreatefromjpeg('kalle.jpg');

if($im && negate($im))
{
    echo 'Image successfully converted to negative colors.';

    imagejpeg($im, 'kalle.jpg', 100);
    imagedestroy($im);
}
else
{
    echo 'Converting to negative colors failed.';
}
?>

Exemplo #5 imagefilter() pixelate example

<?php
// Load the PHP logo, we need to create two instances
// to show the differences
$logo1 = imagecreatefrompng('./php.png');
$logo2 = imagecreatefrompng('./php.png');

// Create the image instance we want to show the
// differences on
$output = imagecreatetruecolor(imagesx($logo1) * 2, imagesy($logo1));

// Apply pixelation to each instance, with a block
// size of 3
imagefilter($logo1, IMG_FILTER_PIXELATE, 3);
imagefilter($logo2, IMG_FILTER_PIXELATE, 3, true);

// Merge the differences onto the output image
imagecopy($output, $logo1, 0, 0, 0, 0, imagesx($logo1) - 1, imagesy($logo1) - 1);
imagecopy($output, $logo2, imagesx($logo2), 0, 0, 0, imagesx($logo2) - 1, imagesy($logo2) - 1);
imagedestroy($logo1);
imagedestroy($logo2);

// Output the differences
header('Content-Type: image/png');
imagepng($output);
imagedestroy($output);
?>

O exemplo acima irá imprimir algo similar à:

Output of example : imagefilter() pixelate

Exemplo #6 imagefilter() scatter example

<?php
// Load the image
$logo = imagecreatefrompng('./php.png');

// Apply a very soft scatter effect to the image
imagefilter($logo, IMG_FILTER_SCATTER, 3, 5);

// Output the image with the scatter effect
header('Content-Type: image/png');
imagepng($logo);
imagedestroy($logo);
?>

O exemplo acima irá imprimir algo similar à:

Output of example : imagefilter() scatter

Notas

Nota: The result of IMG_FILTER_SCATTER is always random.

Veja Também

  • imageconvolution() - Apply a 3x3 convolution matrix, using coefficient and offset


Flips an image using a given mode

  • « imagefilter
  • imagefontheight »
  • PHP Manual
  • Funções da GD
  • Flips an image using a given mode

imageflip

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imageflip — Flips an image using a given mode

Descrição

imageflip ( resource $image , int $mode ) : bool

Flips the image image using the given mode.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

mode

Flip mode, this can be one of the IMG_FLIP_* constants:

Constant | Meaning
IMG_FLIP_HORIZONTAL | Flips the image horizontally.
IMG_FLIP_VERTICAL | Flips the image vertically.
IMG_FLIP_BOTH | Flips the image both horizontally and vertically.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Flips an image vertically

This example uses the IMG_FLIP_VERTICAL constant.

<?php
// File
$filename = 'phplogo.png';

// Content type
header('Content-type: image/png');

// Load
$im = imagecreatefrompng($filename);

// Flip it vertically
imageflip($im, IMG_FLIP_VERTICAL);

// Output
imagejpeg($im);
imagedestroy($im);
?>

O exemplo acima irá imprimir algo similar à:

Output of example: Vertically flipped image

Exemplo #2 Flips the image horizontally

This example uses the IMG_FLIP_HORIZONTAL constant.

<?php
// File
$filename = 'phplogo.png';

// Content type
header('Content-type: image/png');

// Load
$im = imagecreatefrompng($filename);

// Flip it horizontally
imageflip($im, IMG_FLIP_HORIZONTAL);

// Output
imagejpeg($im);
imagedestroy($im);
?>

O exemplo acima irá imprimir algo similar à:

Output of example: Horizontally flipped image


Retorna a altura da fonte

  • « imageflip
  • imagefontwidth »
  • PHP Manual
  • Funções da GD
  • Retorna a altura da fonte

imagefontheight

(PHP 4, PHP 5, PHP 7, PHP 8)

imagefontheight — Retorna a altura da fonte

Descrição

imagefontheight ( int $font ) : int

Retorna a altura em pixel de um caractere na fonte especificada.

Parâmetros

font

Pode ser 1, 2, 3, 4, 5 para as fontes embutidas na codificação latin2 (aonde números maiores correspondem a fontes mais largas) ou qualquer um dos seus própios identificadores de fonte registrado com imageloadfont().

Valor Retornado

Retorna a altura do pixel.

Veja Também

  • imagefontwidth() - Retorna a largura da fonte
  • imageloadfont() - Carrega uma nova fonte


Retorna a largura da fonte

  • « imagefontheight
  • imageftbbox »
  • PHP Manual
  • Funções da GD
  • Retorna a largura da fonte

imagefontwidth

(PHP 4, PHP 5, PHP 7, PHP 8)

imagefontwidth — Retorna a largura da fonte

Descrição

imagefontwidth ( int $font ) : int

Retorna a largura em pixel de um caractere da fonte.

Parâmetros

font

Pode ser 1, 2, 3, 4, 5 para as fontes embutidas na codificação latin2 (aonde números maiores correspondem a fontes mais largas) ou qualquer um dos seus própios identificadores de fonte registrado com imageloadfont().

Valor Retornado

Retorna a largura do pixel.

Veja Também

  • imagefontheight() - Retorna a altura da fonte
  • imageloadfont() - Carrega uma nova fonte


Give the bounding box of a text using fonts via freetype2

  • « imagefontwidth
  • imagefttext »
  • PHP Manual
  • Funções da GD
  • Give the bounding box of a text using fonts via freetype2

imageftbbox

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imageftbbox — Give the bounding box of a text using fonts via freetype2

Descrição

imageftbbox ( float $size , float $angle , string $fontfile , string $text , array $extrainfo = ? ) : array

This function calculates and returns the bounding box in pixels for a FreeType text.

Nota:

imageftbbox() is an extended variant of imagettfbbox() which additionally supports the extrainfo.

Parâmetros

size

O tamanho da fonte. Dependendo da sua versão do GD, isto pode ser especificado em pixel (GD1) ou pontos (GD2).

angle

Angle in degrees in which text will be measured.

fontfile

The name of the TrueType font file (can be a URL). Depending on which version of the GD library that PHP is using, it may attempt to search for files that do not begin with a leading '/' by appending '.ttf' to the filename and searching along a library-defined font path.

text

The string to be measured.

extrainfo

Possible array indexes for extrainfo
Key | Type | Meaning
linespacing | float | Defines drawing linespacing

Valor Retornado

imageftbbox() returns an array with 8 elements representing four points making the bounding box of the text:

0 | lower left corner, X position
1 | lower left corner, Y position
2 | lower right corner, X position
3 | lower right corner, Y position
4 | upper right corner, X position
5 | upper right corner, Y position
6 | upper left corner, X position
7 | upper left corner, Y position

The points are relative to the text regardless of the angle, so "upper left" means in the top left-hand corner seeing the text horizontally.

Exemplos

Exemplo #1 imageftbbox() example

<?php
// Create a 300x150 image
$im = imagecreatetruecolor(300, 150);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Set the background to be white
imagefilledrectangle($im, 0, 0, 299, 299, $white);

// Path to our font file
$font = './arial.ttf';

// First we create our bounding box
$bbox = imageftbbox(10, 0, $font, 'The PHP Documentation Group');

// This is our cordinates for X and Y
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 5;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

imagefttext($im, 10, 0, $x, $y, $black, $font, 'The PHP Documentation Group');

// Output to browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notas

Nota: Esta função somente está disponível se o PHP estiver compilado com suporte ao freetype (--with-freetype-dir=DIR)

Veja Também

  • imagefttext() - Escreve texto na imagem usando fontes FreeType 2
  • imagettfbbox() - Retorna uma caixa com o limites de um texto usando fontes TrueType


Escreve texto na imagem usando fontes FreeType 2

  • « imageftbbox
  • imagegammacorrect »
  • PHP Manual
  • Funções da GD
  • Escreve texto na imagem usando fontes FreeType 2

imagefttext

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagefttext — Escreve texto na imagem usando fontes FreeType 2

Descrição

imagefttext ( resource $image , float $size , float $angle , int $x , int $y , int $col , string $font_file , string $text , array $extrainfo = ? ) : array
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

size

angle

x

y

col

font_file

text

extrainfo

Valor Retornado

Esta função retorna um array contendo os seguintes elementos:

0 | coordenada x inferior à esquerda
1 | coordenada y inferior à esquerda
2 | coordenada x inferior à direita
3 | coordenada y inferior à direita
4 | coordenada x superior à direita
5 | coordenada y superior à direita
6 | coordenada x superior à esquerda
7 | coordenada y superior à esquerda

Notas

Nota: Esta função somente está disponível se o PHP estiver compilado com suporte ao freetype (--with-freetype-dir=DIR)

Changelog

Versão | Descrição
4.3.5 | extrainfo tornou-se opcional.


Apply a gamma correction to a GD image

  • « imagefttext
  • imagegd2 »
  • PHP Manual
  • Funções da GD
  • Apply a gamma correction to a GD image

imagegammacorrect

(PHP 4, PHP 5, PHP 7, PHP 8)

imagegammacorrect — Apply a gamma correction to a GD image

Descrição

imagegammacorrect ( resource $image , float $inputgamma , float $outputgamma ) : bool

Applies gamma correction to the given gd image given an input and an output gamma.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

inputgamma

The input gamma.

outputgamma

The output gamma.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 imagegammacorrect() usage

<?php
// Create image instance
$im = imagecreatefromgif('php.gif');

// Correct gamma, out = 1.537
imagegammacorrect($im, 1.0, 1.537);

// Save and free image
imagegif($im, './php_gamma_corrected.gif');
imagedestroy($im);
?>


Envia uma imagem GD2

  • « imagegammacorrect
  • imagegd »
  • PHP Manual
  • Funções da GD
  • Envia uma imagem GD2

imagegd2

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagegd2 — Envia uma imagem GD2

Descrição

imagegd2 ( resource $image , string $filename = ? , int $chunk_size = ? , int $type = ? ) : bool

imagegd2() envia uma imagem GD2 para o browser ou um arquivo.

O parâmetro opcional type pode ser IMG_GD2_RAW ou IMG_GD2_COMPRESSED. O padrão é IMG_GD2_RAW.

Nota:

Os parâmetros opcionais chunk_size e type tornaram-se disponíveis no PHP 4.3.2.


Envia a imagem GD para o browser ou um arquivo

  • « imagegd2
  • imagegetclip »
  • PHP Manual
  • Funções da GD
  • Envia a imagem GD para o browser ou um arquivo

imagegd

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagegd — Envia a imagem GD para o browser ou um arquivo

Descrição

imagegd ( resource $image , string $filename = ? ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Get the clipping rectangle

  • « imagegd
  • imagegetinterpolation »
  • PHP Manual
  • Funções da GD
  • Get the clipping rectangle

imagegetclip

(PHP 7 >= 7.2.0, PHP 8)

imagegetclip — Get the clipping rectangle

Descrição

imagegetclip ( resource $im ) : array

imagegetclip() retrieves the current clipping rectangle, i.e. the area beyond which no pixels will be drawn.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

Valor Retornado

The function returns an indexed array with the coordinates of the clipping rectangle which has the following entries:

  • x-coordinate of the upper left corner
  • y-coordinate of the upper left corner
  • x-coordinate of the lower right corner
  • y-coordinate of the lower right corner

Exemplos

Exemplo #1 imagegetclip() example

Setting and retrieving the clipping rectangle.

<?php
$im = imagecreate(100, 100);
imagesetclip($im, 10,10, 89,89);
print_r(imagegetclip($im));

O exemplo acima irá imprimir:

Array
(
    [0] => 10
    [1] => 10
    [2] => 89
    [3] => 89
)

Veja Também

  • imagesetclip() - Set the clipping rectangle


Get the interpolation method

  • « imagegetclip
  • imagegif »
  • PHP Manual
  • Funções da GD
  • Get the interpolation method

imagegetinterpolation

(PHP 8)

imagegetinterpolation — Get the interpolation method

Descrição

imagegetinterpolation ( GdImage $image ) : int

Gets the currently set interpolation method of the image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

Valor Retornado

Returns the interpolation method.

Veja Também

  • imagesetinterpolation() - Set the interpolation method


Envia uma imagem para o browser ou arquivo

  • « imagegetinterpolation
  • imagegrabscreen »
  • PHP Manual
  • Funções da GD
  • Envia uma imagem para o browser ou arquivo

imagegif

(PHP 4, PHP 5, PHP 7, PHP 8)

imagegif — Envia uma imagem para o browser ou arquivo

Descrição

imagegif ( resource $image , string $filename = ? ) : bool

imagegif() cria um arquivo GIF em filename a partir da imagem image. O parâmetro image é o retorno da função imagecreate() ou imagecreatefrom*.

O formato da imagem será GIF87a a menos que a imagem tenha sido feita transparente com imagecolortransparent(), neste caso o formato da imagem será GIF89a.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

filename

O caminho para salvar o arquivo. Se não definido ou null, o stream da imagem será mostrado diretamente.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

Já que todo o suporte GIF foi removido da biblioteca GD na versão 1.6, esta função não esta disponível se você esta usando esta versão da biblioteca GD. O suporte é esperado para retornar em uma versão subsequente ao lançamento do suporte GIF na biblioteca GD no meio de 2004. Para maiores informações veja o site do projeto » GD Project.

O seguinte pedaço de código permite a você criar aplicações PHP mais portáveis auto-detectando o tipo de suporte GD que esta disponível. Substitua a sequencia header ("Content-type: image/gif"); imagegif ($im); por uma sequencia mais flexível:

<?php
if (function_exists("imagegif")) {
    header("Content-type: image/gif");
    imagegif($im);
} elseif (function_exists("imagejpeg")) {
    header("Content-type: image/jpeg");
    imagejpeg($im, "", 0.5);
} elseif (function_exists("imagepng")) {
    header("Content-type: image/png");
    imagepng($im);
} elseif (function_exists("imagewbmp")) {
    header("Content-type: image/vnd.wap.wbmp");
    imagewbmp($im);
} else {
    die("No image support in this PHP server");
}
?>

Nota:

A partir das versões 3.0.18 e 4.0.2 você pode usar a função imagetypes() no lugar de function_exists() para conferir a presença dos vários formatos de imagem suportados:

<?php
if (imagetypes() & IMG_GIF) {
    header ("Content-type: image/gif");
    imagegif ($im);
} elseif (imagetypes() & IMG_JPG) {
    /* ... etc. */
}
?>

Veja Também

  • imagepng() - Emite uma imagem PNG para o navegador ou arquivo
  • imagewbmp() - Envia uma imagem para o browser ou arquivo
  • imagejpeg() - Envia a imagem para o borwser ou arquivo
  • imagetypes() - Retorna os tipos de imagens suportados por esta instalação do PHP


Captures the whole screen

  • « imagegif
  • imagegrabwindow »
  • PHP Manual
  • Funções da GD
  • Captures the whole screen

imagegrabscreen

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

imagegrabscreen — Captures the whole screen

Descrição

imagegrabscreen ( ) : resource

Grabs a screenshot of the whole screen.

Nota:

This function is only available on Windows.

Valor Retornado

Returns an image resource identifier on success, false on failure.

Exemplos

Exemplo #1 imagegrabscreen() example

This example demonstrates how to take a screenshot of the current screen and save it as a png image.

<?php
$im = imagegrabscreen();
imagepng($im, "myscreenshot.png");
imagedestroy($im);
?>

Veja Também

  • imagegrabwindow() - Captures a window


Captures a window

  • « imagegrabscreen
  • imageinterlace »
  • PHP Manual
  • Funções da GD
  • Captures a window

imagegrabwindow

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

imagegrabwindow — Captures a window

Descrição

imagegrabwindow ( int $window_handle , int $client_area = 0 ) : resource

Grabs a window or its client area using a windows handle (HWND property in COM instance)

Nota:

This function is only available on Windows.

Parâmetros

window_handle

The HWND window ID.

client_area

Include the client area of the application window.

Valor Retornado

Returns an image resource identifier on success, false on failure.

Erros

E_NOTICE is issued if window_handle is invalid window handle. E_WARNING is issued if the Windows API is too old.

Exemplos

Exemplo #1 imagegrabwindow() example

Capture a window (IE for example)

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$im = imagegrabwindow($handle);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Capture a window (IE for example) but with its content

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://www.libgd.org");

/* Still working? */
while ($browser->Busy) {
    com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Veja Também

  • imagegrabscreen() - Captures the whole screen


Ativa ou desativa o entrelaçamento

  • « imagegrabwindow
  • imageistruecolor »
  • PHP Manual
  • Funções da GD
  • Ativa ou desativa o entrelaçamento

imageinterlace

(PHP 4, PHP 5, PHP 7, PHP 8)

imageinterlace — Ativa ou desativa o entrelaçamento

Descrição

imageinterlace ( resource $image , int $interlace = ? ) : int

imageinterlace() muda o bit de entrelaçamento para on ou off.

Se o bit de entrelace for definido e a imagem usada for uma imagem JPEG, a imagem será criada como um JPEG progressivo.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

interlace

Se diferente de zero, a imagem será entrelaçada, então o bit de entrelace é desativado.

Valor Retornado

Retorna 1 se o bit de entrelace é definido para a imagem, 0 caso contrário.


Indica quando uma imagem é uma imagem truecolor

  • « imageinterlace
  • imagejpeg »
  • PHP Manual
  • Funções da GD
  • Indica quando uma imagem é uma imagem truecolor

imageistruecolor

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

imageistruecolor — Indica quando uma imagem é uma imagem truecolor

Descrição

imageistruecolor ( resource $image ) : bool

imageistruecolor() indica quando a imagem image é uma imagem truecolor.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

Valor Retornado

Retorna true se o image é truecolor, false caso contrário.

Notas

Veja Também

  • imagecreatetruecolor() - Cria uma nova imagem true color


Envia a imagem para o borwser ou arquivo

  • « imageistruecolor
  • imagelayereffect »
  • PHP Manual
  • Funções da GD
  • Envia a imagem para o borwser ou arquivo

imagejpeg

(PHP 4, PHP 5, PHP 7, PHP 8)

imagejpeg — Envia a imagem para o borwser ou arquivo

Descrição

imagejpeg ( resource $image , string $filename = ? , int $quality = ? ) : bool

imagejpeg() cria um arquivo JPEG em a partir da image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

filename

O caminho para salvar o arquivo. Se não definido ou null, o stream da imagem será mostrado diretamente.

Para pular este argumento para fornecer o parâmetro quality, use null.

quality

quality é opcional, e vai de 0 (pior qualidade, menor arquivo) a 100 (melhor qualidade, maior arquivo). O padrão é a qualidade IJG (aproximadamente 75).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

Se você quiser criar JPEGs progressivos, voce precisa definir o interlace com a função imageinterlace().

Veja Também

  • imagepng() - Emite uma imagem PNG para o navegador ou arquivo
  • imagegif() - Envia uma imagem para o browser ou arquivo
  • imagewbmp() - Envia uma imagem para o browser ou arquivo
  • imageinterlace() - Ativa ou desativa o entrelaçamento
  • imagetypes() - Retorna os tipos de imagens suportados por esta instalação do PHP


Set the alpha blending flag to use layering effects

  • « imagejpeg
  • imageline »
  • PHP Manual
  • Funções da GD
  • Set the alpha blending flag to use layering effects

imagelayereffect

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

imagelayereffect — Set the alpha blending flag to use layering effects

Descrição

imagelayereffect ( resource $image , int $effect ) : bool

Set the alpha blending flag to use layering effects.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

effect

One of the following constants:

IMG_EFFECT_REPLACE
Use pixel replacement (equivalent of passing true to imagealphablending())
IMG_EFFECT_ALPHABLEND
Use normal pixel blending (equivalent of passing false to imagealphablending())
IMG_EFFECT_NORMAL
Same as IMG_EFFECT_ALPHABLEND.
IMG_EFFECT_OVERLAY
Overlay has the effect that black background pixels will remain black, white background pixels will remain white, but grey background pixels will take the colour of the foreground pixel.
IMG_EFFECT_MULTIPLY
Overlays with a multiply effect.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.2.0 | Added IMG_EFFECT_MULTIPLY (requires system libgd >= 2.1.1 or the bundled libgd).

Exemplos

Exemplo #1 imagelayereffect() example

<?php
// Setup an image
$im = imagecreatetruecolor(100, 100);

// Set a background
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 220, 220, 220));

// Apply the overlay alpha blending flag
imagelayereffect($im, IMG_EFFECT_OVERLAY);

// Draw two grey ellipses
imagefilledellipse($im, 50, 50, 40, 40, imagecolorallocate($im, 100, 255, 100));
imagefilledellipse($im, 50, 50, 50, 80, imagecolorallocate($im, 100, 100, 255));
imagefilledellipse($im, 50, 50, 80, 50, imagecolorallocate($im, 255, 100, 100));

// Output
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

O exemplo acima irá imprimir algo similar à:

Output of example : imagelayereffect()


Desenha uma linha

  • « imagelayereffect
  • imageloadfont »
  • PHP Manual
  • Funções da GD
  • Desenha uma linha

imageline

(PHP 4, PHP 5, PHP 7, PHP 8)

imageline — Desenha uma linha

Descrição

imageline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color ) : int

imageline() desenha uma linha de x1, y1 até x2, y2 (o canto superior esquerdo é 0, 0) na imagem image de cor color.

Exemplo #1 Desenhando uma linha

<?php

function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)
{
    /* this way it works well only for orthogonal lines
    imagesetthickness($image, $thick);
    return imageline($image, $x1, $y1, $x2, $y2, $color);
    */
    if ($thick == 1) {
        return imageline($image, $x1, $y1, $x2, $y2, $color);
    }
    $t = $thick / 2 - 0.5;
    if ($x1 == $x2 || $y1 == $y2) {
        return imagefilledrectangle($image, round(min($x1, $x2) - $t), round(min($y1, $y2) - $t), round(max($x1, $x2) + $t), round(max($y1, $y2) + $t), $color);
    }
    $k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q
    $a = $t / sqrt(1 + pow($k, 2));
    $points = array(
        round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a),
        round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a),
        round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a),
        round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a),
    );
    imagefilledpolygon($image, $points, 4, $color);
    return imagepolygon($image, $points, 4, $color);
}

?>

veja também imagecreate() e imagecolorallocate().


Carrega uma nova fonte

  • « imageline
  • imageopenpolygon »
  • PHP Manual
  • Funções da GD
  • Carrega uma nova fonte

imageloadfont

(PHP 4, PHP 5, PHP 7, PHP 8)

imageloadfont — Carrega uma nova fonte

Descrição

imageloadfont ( string $file ) : int

imageloadfont() carrega uma fonte bitmap do usuário e retorna um identificador.

Parâmetros

file

O formato do arquivo de fonte é atualmente binário e dependente da arquitetura. Isto indica que você deverá gerar os arquivos de fonte no mesmo tipo de CPU no qual esta executando o PHP.

Formato do arquivo de fonte
Posição do byte | Tipo de dados C | Descrição
byte 0-3 | int | Número de caracteres na fonte
byte 4-7 | int | Valor do primeiro caractere na fonte (normalmente 32 para o espaço)
byte 8-11 | int | A largura em pixel de cada caractere
byte 12-15 | int | A altura em pixel de cada caractere
byte 16- | char | Matriz com os dados dos caracteres, um byte por pixel em cada caractere para um total de (caracteres*largura*altura).

Valor Retornado

The font identifier which is always bigger than 5 to avoid conflicts with built-in fonts or false on errors.

Exemplos

Exemplo #1 Usando imageloadfont

<?php
header("Content-type: image/png");
$im = imagecreatetruecolor(50, 20);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 49, 19, $white);
$font = imageloadfont("04b.gdf");
imagestring($im, $font, 0, 0, "Hello", $black);
imagepng($im);
?>

Veja Também

  • imagefontwidth() - Retorna a largura da fonte
  • imagefontheight() - Retorna a altura da fonte


Draws an open polygon

  • « imageloadfont
  • imagepalettecopy »
  • PHP Manual
  • Funções da GD
  • Draws an open polygon

imageopenpolygon

(PHP 7 >= 7.2.0, PHP 8)

imageopenpolygon — Draws an open polygon

Descrição

imageopenpolygon ( resource $image , array $points , int $num_points , int $color ) : bool

Alternative signature (as of PHP 8.0.0)

imageopenpolygon ( resource $image , array $points , int $color ) : bool

imageopenpolygon() draws an open polygon on the given image. Contrary to imagepolygon(), no line is drawn between the last and the first point.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

points

An array containing the polygon's vertices, e.g.:

points[0] | = x0
points[1] | = y0
points[2] | = x1
points[3] | = y1

num_points

Total number of points (vertices), which must be at least 3.

If this parameter is omitted as per the second signature, points must have an even number of elements, and num_points is assumed to be count($points)/2.
color

A color identifier created with imagecolorallocate().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 imageopenpolygon() example

<?php
// Create a blank image
$image = imagecreatetruecolor(400, 300);

// Allocate a color for the polygon
$col_poly = imagecolorallocate($image, 255, 255, 255);

// Draw the polygon
imageopenpolygon($image, array(
        0,   0,
        100, 200,
        300, 200
    ),
    3,
    $col_poly);

// Output the picture to the browser
header('Content-type: image/png');

imagepng($image);
imagedestroy($image);
?>

O exemplo acima irá imprimir algo similar à:

Output of example : imageopenpolygon()

Veja Também

  • imagepolygon() - Desenha um poligono


Copia a paleta de uma imagem para a outra

  • « imageopenpolygon
  • imagepalettetotruecolor »
  • PHP Manual
  • Funções da GD
  • Copia a paleta de uma imagem para a outra

imagepalettecopy

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagepalettecopy — Copia a paleta de uma imagem para a outra

Descrição

imagepalettecopy ( resource $destination , resource $source ) : void

imagepalettecopy() copia a paleta da imagem de source para a imagem destination.

Parâmetros

destination

O resource da imagem de destino

source

O resource do fonte da imagem

Valor Retornado

Não há valor retornado.


Converts a palette based image to true color

  • « imagepalettecopy
  • imagepng »
  • PHP Manual
  • Funções da GD
  • Converts a palette based image to true color

imagepalettetotruecolor

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagepalettetotruecolor — Converts a palette based image to true color

Descrição

imagepalettetotruecolor ( resource $src ) : bool

Converts a palette based image, created by functions like imagecreate() to a true color image, like imagecreatetruecolor().

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

Valor Retornado

Returns true if the convertion was complete, or if the source image already is a true color image, otherwise false is returned.

Exemplos

Exemplo #1 Converts any image resource to true color

<?php
// Backwards compatiblity
if(!function_exists('imagepalettetotruecolor'))
{
    function imagepalettetotruecolor(&$src)
    {
        if(imageistruecolor($src))
        {
            return(true);
        }

        $dst = imagecreatetruecolor(imagesx($src), imagesy($src));

        imagecopy($dst, $src, 0, 0, 0, 0, imagesx($src), imagesy($src));
        imagedestroy($src);

        $src = $dst;

        return(true);
    }
}

// Helper closure
$typeof = function() use($im)
{
    echo 'typeof($im) = ' . (imageistruecolor($im) ? 'true color' : 'palette'), PHP_EOL;
};

// Create a palette based image
$im = imagecreate(100, 100);
$typeof();

// Convert it to true color
imagepalettetotruecolor($im);
$typeof();

// Free the memory
imagedestroy($im);
?>

O exemplo acima irá imprimir:

typeof($im) = palette
typeof($im) = true color

Veja Também

  • imagecreatetruecolor() - Cria uma nova imagem true color
  • imageistruecolor() - Indica quando uma imagem é uma imagem truecolor


Emite uma imagem PNG para o navegador ou arquivo

  • « imagepalettetotruecolor
  • imagepolygon »
  • PHP Manual
  • Funções da GD
  • Emite uma imagem PNG para o navegador ou arquivo

imagepng

(PHP 4, PHP 5, PHP 7, PHP 8)

imagepng — Emite uma imagem PNG para o navegador ou arquivo

Descrição

imagepng ( resource $image , mixed $to = ? , int $quality = ? , int $filters = ? ) : bool

Emite ou grava uma imagemPNG a partir do parâmetro image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

to

O caminho ou um resource stream aberto (o qual será automaticamente fechado quando a função retorna) para gravar o arquivo. Se não informado ou null, os bytes da imagem serão impressos diretamente.

Nota:

null é inválido se argumentos quality e filters não forem informados.

quality

Nível de compressão: de 0 (sem compressão) a 9.

filters

Permite reduzir o tamanho do arquivo PNG. Um campo bitmask pode ser informado por qualquer combinação das contantes PNG_FILTER_XXX. PNG_NO_FILTER ou PNG_ALL_FILTERS também podem ser utilizados, respectivamente, para desativar ou ativar todos os filtros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.4.0 | Adicionado suporte a passagem de um resource stream no parâmetro to.
5.1.3 | Adicionado o parâmetro filters.
5.1.2 | Adicionado o parâmetro quality.

Exemplos

<?php
$im = imagecreatefrompng("test.png");

header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Veja Também

  • imagegif() - Envia uma imagem para o browser ou arquivo
  • imagewbmp() - Envia uma imagem para o browser ou arquivo
  • imagejpeg() - Envia a imagem para o borwser ou arquivo
  • imagetypes() - Retorna os tipos de imagens suportados por esta instalação do PHP
  • imagesavealpha() - Define a opção para salvar a informação completa do alpha channel (ao invés de a transparencia de uma cor só) quando estiver salvando imagens PNG.


Desenha um poligono

  • « imagepng
  • imagerectangle »
  • PHP Manual
  • Funções da GD
  • Desenha um poligono

imagepolygon

(PHP 4, PHP 5, PHP 7, PHP 8)

imagepolygon — Desenha um poligono

Descrição

imagepolygon ( resource $image , array $points , int $num_points , int $color ) : int

imagepolygon() cria um poligono em uma imagem. points é uma matriz PHP contendo os vértices do poligono, ex. points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, etc. num_points é o número total de pontos(vértices).

Exemplo #1 Exemplo imagepolygon()

<?php
// cria uma imagem em branco
$image = imagecreate(400, 300);

// prenche a cor do fundo
$bg = imagecolorallocate($image, 0, 0, 0);

// escolhe uma cor para o poligono
$col_poly = imagecolorallocate($image, 255, 255, 255);

// desenha o poligono
imagepolygon($image,
             array (
                    0, 0,
                    100, 200,
                    300, 200
             ),
             3,
             $col_poly);

// envia a imagem
header("Content-type: image/png");
imagepng($image);

?>

Veja também imagecreate() e imagecreatetruecolor().


Desenha um retângulo

  • « imagepolygon
  • imageresolution »
  • PHP Manual
  • Funções da GD
  • Desenha um retângulo

imagerectangle

(PHP 4, PHP 5, PHP 7, PHP 8)

imagerectangle — Desenha um retângulo

Descrição

imagerectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $col ) : int

imagerectangle() cria um retângulo de cor col na imagem image começando na coordenada superior esquerda x1, y1 e terminando na coordenada inferior direita x2, y2. 0, 0 é o canto superior esquerdo da imagem.


Get or set the resolution of the image

  • « imagerectangle
  • imagerotate »
  • PHP Manual
  • Funções da GD
  • Get or set the resolution of the image

imageresolution

(PHP 7 >= 7.2.0, PHP 8)

imageresolution — Get or set the resolution of the image

Descrição

imageresolution ( resource $image ) : mixed
imageresolution ( resource $image , int $res_x , int $res_y = $res_x ) : mixed

imageresolution() allows to set and get the resolution of an image in DPI (dots per inch). If none of the optional parameters is given, the current resolution is returned as indexed array. If only res_x is given, the horizontal and vertical resolution are set to this value. If both optional parameters are given, the horizontal and vertical resolution are set to these values, respectively.

The resolution is only used as meta information when images are read from and written to formats supporting this kind of information (curently PNG and JPEG). It does not affect any drawing operations. The default resolution for new images is 96 DPI.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

res_x

The horizontal resolution in DPI.

res_y

The vertical resolution in DPI.

Valor Retornado

When used as getter (first signature), it returns an indexed array of the horizontal and vertical resolution on success, ou false em caso de falha. When used as setter (second signature), it returns true on success, ou false em caso de falha.

Exemplos

Exemplo #1 Setting and getting the resolution of an image

<?php
$im = imagecreatetruecolor(100, 100);
imageresolution($im, 200);
print_r(imageresolution($im));
imageresolution($im, 300, 72);
print_r(imageresolution($im));
?>

O exemplo acima irá imprimir:

Array
(
    [0] => 200
    [1] => 200
)
Array
(
    [0] => 300
    [1] => 72
)


Gira uma imagem com o ângulo dado

  • « imageresolution
  • imagesavealpha »
  • PHP Manual
  • Funções da GD
  • Gira uma imagem com o ângulo dado

imagerotate

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

imagerotate — Gira uma imagem com o ângulo dado

Descrição

imagerotate ( resource $src_im , float $angle , int $bgd_color ) : resource

Gira a imagem src_im usando o ângulo angle dado em graus. bgd_color especifica a cor da zona descoberta após a rotação.


Define a opção para salvar a informação completa do alpha channel (ao invés de a transparencia de uma cor só) quando estiver salvando imagens PNG.

  • « imagerotate
  • imagescale »
  • PHP Manual
  • Funções da GD
  • Define a opção para salvar a informação completa do alpha channel (ao invés de a transparencia de uma cor só) quando estiver salvando imagens PNG.

imagesavealpha

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

imagesavealpha — Define a opção para salvar a informação completa do alpha channel (ao invés de a transparencia de uma cor só) quando estiver salvando imagens PNG.

Descrição

imagesavealpha ( resource $image , bool $saveflag ) : bool

imagesavealpha() define a opção para tentas salvar toda a informação de alpha channel (ao invés de a trnaparencia de uma cor só) quando estiver salvando imagens PNG.

Você deve desabilitar o alphablending (imagealphablending($im, false)), para poder usa-la.

Alpha channel não é suportado por todos os browsers, se você tiver problema com o seu browser, tente carregar o seu script em um browser com suporte ao alpha channel browser, ex. a versão mais recente do Mozilla.

Veja também imagealphablending().


Scale an image using the given new width and height

  • « imagesavealpha
  • imagesetbrush »
  • PHP Manual
  • Funções da GD
  • Scale an image using the given new width and height

imagescale

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagescale — Scale an image using the given new width and height

Descrição

imagescale ( resource $image , int $new_width , int $new_height = -1 , int $mode = IMG_BILINEAR_FIXED ) : resource|false

imagescale() scales an image using the given interpolation algorithm.

Nota:

Unlike many of other image functions, imagescale() does not modify the passed image; instead, a new image is returned.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

new_width

The width to scale the image to.

new_height

The height to scale the image to. If omitted or negative, the aspect ratio will be preserved.

mode

One of IMG_NEAREST_NEIGHBOUR, IMG_BILINEAR_FIXED, IMG_BICUBIC, IMG_BICUBIC_FIXED or anything else (will use two pass).

Nota: IMG_WEIGHTED4 is not yet supported.

Valor Retornado

Return the scaled image resource on success ou false em caso de falha.

Veja Também

  • imagecopyresized() - Copy and resize part of an image
  • imagecopyresampled() - Copy and resize part of an image with resampling


Set the brush image for line drawing

  • « imagescale
  • imagesetclip »
  • PHP Manual
  • Funções da GD
  • Set the brush image for line drawing

imagesetbrush

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagesetbrush — Set the brush image for line drawing

Descrição

imagesetbrush ( resource $image , resource $brush ) : bool

imagesetbrush() sets the brush image to be used by all line drawing functions (such as imageline() and imagepolygon()) when drawing with the special colors IMG_COLOR_BRUSHED or IMG_COLOR_STYLEDBRUSHED.

Cuidado

You need not take special action when you are finished with a brush, but if you destroy the brush image (or let PHP destroy it), you must not use the IMG_COLOR_BRUSHED or IMG_COLOR_STYLEDBRUSHED colors until you have set a new brush image!

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

brush

An image resource.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 imagesetbrush() example

<?php
// Load a mini php logo
$php = imagecreatefrompng('./php.png');

// Create the main image, 100x100
$im = imagecreatetruecolor(100, 100);

// Fill the background with white
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 299, 99, $white);

// Set the brush
imagesetbrush($im, $php);

// Draw a couple of brushes, each overlaying each
imageline($im, 50, 50, 50, 60, IMG_COLOR_BRUSHED);

// Output image to the browser
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($php);
?>

O exemplo acima irá imprimir algo similar à:

Output of example : imagesetbrush()


Set the clipping rectangle

  • « imagesetbrush
  • imagesetinterpolation »
  • PHP Manual
  • Funções da GD
  • Set the clipping rectangle

imagesetclip

(PHP 7 >= 7.2.0, PHP 8)

imagesetclip — Set the clipping rectangle

Descrição

imagesetclip ( resource $im , int $x1 , int $y1 , int $x2 , int $y2 ) : bool

imagesetclip() sets the current clipping rectangle, i.e. the area beyond which no pixels will be drawn.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

x1

The x-coordinate of the upper left corner.

y1

The y-coordinate of the upper left corner.

x2

The x-coordinate of the lower right corner.

y2

The y-coordinate of the lower right corner.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • imagegetclip() - Get the clipping rectangle


Set the interpolation method

  • « imagesetclip
  • imagesetpixel »
  • PHP Manual
  • Funções da GD
  • Set the interpolation method

imagesetinterpolation

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagesetinterpolation — Set the interpolation method

Descrição

imagesetinterpolation ( resource $image , int $method = IMG_BILINEAR_FIXED ) : bool

Sets the interpolation method, setting an interpolation method affects the rendering of various functions in GD, such as the imagerotate() function.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

method

The interpolation method, which can be one of the following:

  • IMG_BELL: Bell filter.
  • IMG_BESSEL: Bessel filter.
  • IMG_BICUBIC: Bicubic interpolation.
  • IMG_BICUBIC_FIXED: Fixed point implementation of the bicubic interpolation.
  • IMG_BILINEAR_FIXED: Fixed point implementation of the bilinear interpolation (default (also on image creation)).
  • IMG_BLACKMAN: Blackman window function.
  • IMG_BOX: Box blur filter.
  • IMG_BSPLINE: Spline interpolation.
  • IMG_CATMULLROM: Cubic Hermite spline interpolation.
  • IMG_GAUSSIAN: Gaussian function.
  • IMG_GENERALIZED_CUBIC: Generalized cubic spline fractal interpolation.
  • IMG_HERMITE: Hermite interpolation.
  • IMG_HAMMING: Hamming filter.
  • IMG_HANNING: Hanning filter.
  • IMG_MITCHELL: Mitchell filter.
  • IMG_POWER: Power interpolation.
  • IMG_QUADRATIC: Inverse quadratic interpolation.
  • IMG_SINC: Sinc function.
  • IMG_NEAREST_NEIGHBOUR: Nearest neighbour interpolation.
  • IMG_WEIGHTED4: Weighting filter.
  • IMG_TRIANGLE: Triangle interpolation.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 imagesetinterpolation() example

<?php
// Load an image
$im = imagecreate(500, 500);

// By default interpolation is IMG_BILINEAR_FIXED, switch
// to use the 'Mitchell' filter:
imagesetinterpolation($im, IMG_MITCHELL);

// Continue to work with $im ...
?>

Notas

Changing the interpolation method affects the following functions when rendering:

  • imageaffine()
  • imagerotate()

Veja Também

  • imagegetinterpolation() - Get the interpolation method


Define um único pixel

  • « imagesetinterpolation
  • imagesetstyle »
  • PHP Manual
  • Funções da GD
  • Define um único pixel

imagesetpixel

(PHP 4, PHP 5, PHP 7, PHP 8)

imagesetpixel — Define um único pixel

Descrição

imagesetpixel ( resource $image , int $x , int $y , int $color ) : int

imagesetpixel() desenha um pixel em x, y (em cima na esquerda é 0, 0) na imagem image com a cor color.

Veja também imagecreate() e imagecolorallocate().


Set the style for line drawing

  • « imagesetpixel
  • imagesetthickness »
  • PHP Manual
  • Funções da GD
  • Set the style for line drawing

imagesetstyle

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagesetstyle — Set the style for line drawing

Descrição

imagesetstyle ( resource $image , array $style ) : bool

imagesetstyle() sets the style to be used by all line drawing functions (such as imageline() and imagepolygon()) when drawing with the special color IMG_COLOR_STYLED or lines of images with color IMG_COLOR_STYLEDBRUSHED.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

style

An array of pixel colors. You can use the IMG_COLOR_TRANSPARENT constant to add a transparent pixel. Note that style must not be an empty array.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Following example script draws a dashed line from upper left to lower right corner of the canvas:

Exemplo #1 imagesetstyle() example

<?php
header("Content-type: image/jpeg");
$im  = imagecreatetruecolor(100, 100);
$w   = imagecolorallocate($im, 255, 255, 255);
$red = imagecolorallocate($im, 255, 0, 0);

/* Draw a dashed line, 5 red pixels, 5 white pixels */
$style = array($red, $red, $red, $red, $red, $w, $w, $w, $w, $w);
imagesetstyle($im, $style);
imageline($im, 0, 0, 100, 100, IMG_COLOR_STYLED);

/* Draw a line of happy faces using imagesetbrush() with imagesetstyle */
$style = array($w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $red);
imagesetstyle($im, $style);

$brush = imagecreatefrompng("http://www.libpng.org/pub/png/images/smile.happy.png");
$w2 = imagecolorallocate($brush, 255, 255, 255);
imagecolortransparent($brush, $w2);
imagesetbrush($im, $brush);
imageline($im, 100, 0, 0, 100, IMG_COLOR_STYLEDBRUSHED);

imagejpeg($im);
imagedestroy($im);
?>

O exemplo acima irá imprimir algo similar à:

Output of example : imagesetstyle()

Veja Também

  • imagesetbrush() - Set the brush image for line drawing
  • imageline() - Desenha uma linha


Define a espessura para o desenho de linhas

  • « imagesetstyle
  • imagesettile »
  • PHP Manual
  • Funções da GD
  • Define a espessura para o desenho de linhas

imagesetthickness

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagesetthickness — Define a espessura para o desenho de linhas

Descrição

imagesetthickness ( resource $image , int $thickness ) : bool

imagesetthickness() define a espessura das linhas desenhadas quando esta desenhando retangulos, poligonos, elipses, etc. para thickness pixels.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

thickness

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas


Set the tile image for filling

  • « imagesetthickness
  • imagestring »
  • PHP Manual
  • Funções da GD
  • Set the tile image for filling

imagesettile

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagesettile — Set the tile image for filling

Descrição

imagesettile ( resource $image , resource $tile ) : bool

imagesettile() sets the tile image to be used by all region filling functions (such as imagefill() and imagefilledpolygon()) when filling with the special color IMG_COLOR_TILED.

A tile is an image used to fill an area with a repeated pattern. Any GD image can be used as a tile, and by setting the transparent color index of the tile image with imagecolortransparent(), a tile allows certain parts of the underlying area to shine through can be created.

Cuidado

You need not take special action when you are finished with a tile, but if you destroy the tile image (or let PHP destroy it), you must not use the IMG_COLOR_TILED color until you have set a new tile image!

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

tile

The image resource to be used as a tile.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 imagesettile() example

<?php
// Load an external image
$zend = imagecreatefromgif('./zend.gif');

// Create a 200x200 image
$im = imagecreatetruecolor(200, 200);

// Set the tile
imagesettile($im, $zend);

// Make the image repeat
imagefilledrectangle($im, 0, 0, 199, 199, IMG_COLOR_TILED);

// Output image to the browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($zend);
?>

O exemplo acima irá imprimir algo similar à:

Output of example : imagesettile()


Desenha uma string horizontalmente

  • « imagesettile
  • imagestringup »
  • PHP Manual
  • Funções da GD
  • Desenha uma string horizontalmente

imagestring

(PHP 4, PHP 5, PHP 7, PHP 8)

imagestring — Desenha uma string horizontalmente

Descrição

imagestring ( resource $image , int $font , int $x , int $y , string $string , int $color ) : bool

Desenha uma string nas dadas coordenadas.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

font

Pode ser 1, 2, 3, 4, 5 para as fontes embutidas na codificação latin2 (aonde números maiores correspondem a fontes mais largas) ou qualquer um dos seus própios identificadores de fonte registrado com imageloadfont().

x

Coordenada x superior à esquerda

y

Coordenada y superior à esquerda

string

A string a ser escrita

color

Um identificador de cor criado com imagecolorallocate()

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da imagestring()

<?php
  // cria uma imagem de 100*30
  $im = imagecreate(100, 30);

  // fundo branco e texto azul
  $bg = imagecolorallocate($im, 255, 255, 255);
  $textcolor = imagecolorallocate($im, 0, 0, 255);

  // escreve a string em cima na esquerda
  imagestring($im, 5, 0, 0, "Hello world!", $textcolor);

  // envia a imagem
  header("Content-type: image/png");
  imagepng($im);
?>

O exemplo acima irá imprimir algo similar à:

Veja Também

  • imageloadfont() - Carrega uma nova fonte
  • imagettftext() - Escreve texto na imagem usando fontes TrueType


Desenha uma string verticalmente

  • « imagestring
  • imagesx »
  • PHP Manual
  • Funções da GD
  • Desenha uma string verticalmente

imagestringup

(PHP 4, PHP 5, PHP 7, PHP 8)

imagestringup — Desenha uma string verticalmente

Descrição

imagestringup ( resource $image , int $font , int $x , int $y , string $s , int $col ) : int

imagestringup() desenha a string s verticalmente na imagem identificada por image nas coordenadas x, y (em cima na esquerda é 0, 0) na cor col. Se a fonte for 1, 2, 3, 4 ou 5, uma fonte interna é usada.

Veja também imageloadfont().


Obtem a largura da imagem

  • « imagestringup
  • imagesy »
  • PHP Manual
  • Funções da GD
  • Obtem a largura da imagem

imagesx

(PHP 4, PHP 5, PHP 7, PHP 8)

imagesx — Obtem a largura da imagem

Descrição

imagesx ( resource $image ) : int

Retorna a largura do dado resource image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

Valor Retornado

Retorna a largura da image ou false em erro.

Exemplos

Exemplo #1 Usando imagesx()

<?php

// cria uma imagem de 300*200
$img = imagecreatetruecolor(300, 200);

echo imagesx($img); // 300

?>

Veja Também

  • imagecreatetruecolor() - Cria uma nova imagem true color
  • getimagesize() - Obtém o tamanho de uma imagem
  • imagesy() - Obtém a altura da imagem


Obtém a altura da imagem

  • « imagesx
  • imagetruecolortopalette »
  • PHP Manual
  • Funções da GD
  • Obtém a altura da imagem

imagesy

(PHP 4, PHP 5, PHP 7, PHP 8)

imagesy — Obtém a altura da imagem

Descrição

imagesy ( resource $image ) : int

Retorna a altura do dado resource image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

Valor Retornado

Retorna a altura da image ou false em erro.

Exemplos

Exemplo #1 Usando imagesy()

<?php

// create a 300*200 image
$img = imagecreatetruecolor(300, 200);

echo imagesy($img); // 200

?>

Veja Também

  • imagecreatetruecolor() - Cria uma nova imagem true color
  • getimagesize() - Obtém o tamanho de uma imagem
  • imagesx() - Obtem a largura da imagem


Converte uma imagem true color para uma imagem de paleta

  • « imagesy
  • imagettfbbox »
  • PHP Manual
  • Funções da GD
  • Converte uma imagem true color para uma imagem de paleta

imagetruecolortopalette

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagetruecolortopalette — Converte uma imagem true color para uma imagem de paleta

Descrição

imagetruecolortopalette ( resource $image , bool $dither , int $ncolors ) : bool

imagetruecolortopalette() converte uma imagem truecolor para uma imagem de paleta. O código para esta função foi escrito originalmente pelo Independent JPEG Group library code, o qual é excelente. O código foi modificado para preservar tanta informação do alpha channel quanto possível na paleta de resultado, em adição a preservar as cores tão bem quanto possível. Isto não funciona tão bem quanto podia ser esperado. Normalmente é melhor simplesmente produzir e enviar uma imagem truecolor, a qual tem garantidamente uma qualidade de saída melhor.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

dither

dither indica se a imagem deve ser estremecida - se ele é true então o estremecimento será usado, o que resulta em uma imagem mais manchada mas com melhor aproximação da cor.

ncolors

Define o número máximo de cores que devem ser retidos na paleta.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas


Retorna uma caixa com o limites de um texto usando fontes TrueType

  • « imagetruecolortopalette
  • imagettftext »
  • PHP Manual
  • Funções da GD
  • Retorna uma caixa com o limites de um texto usando fontes TrueType

imagettfbbox

(PHP 4, PHP 5, PHP 7, PHP 8)

imagettfbbox — Retorna uma caixa com o limites de um texto usando fontes TrueType

Descrição

imagettfbbox ( float $size , float $angle , string $fontfile , string $text ) : array

Esta função calcula e retorna uma caixa com os limites de um texto para uma fonte TrueType.

Parâmetros

size

O tamanho da fonte em pixels

angle

O ângulo em graus no qual text será medido

fontfile

O nome do arquivo de fonte TrueType (Também pode ser uma URL). Dependendo de qual versão da biblioteca GD que o PHP esta usando, ele pode tentar procurar por arquivos que não comecem com '/' adicionando '.ttf' ao nome do arquivo e procurando nos caminhos definidos pela biblioteca de fonte

text

A string a ser medida

Valor Retornado

imagettfbbox() retorna uma matriz com 8 elementos representando os quatro pontos fazendo o contorno do texto:

0 | Canto inferior esquerdo, posição X
1 | Canto inferior esquerdo, posição Y
2 | Canto inferior direito, posição X
3 | Canto inferior direito, posição Y
4 | Canto superior direito, posição X
5 | Canto superior direito, posição Y
6 | Canto superior esquerdo, posição X
7 | Canto superior esquerdo, posição Y

Os pontos são relativos ao text sem importar o ângulo, assim "superior esquerdo" indica o canto superior esquerdo quando se vê o texto horizontalmente.

Veja Também

Nota:

Esta função requer tanto biblioteca GD e a biblioteca » FreeType.

Veja Também

  • imagettftext() - Escreve texto na imagem usando fontes TrueType


Escreve texto na imagem usando fontes TrueType

  • « imagettfbbox
  • imagetypes »
  • PHP Manual
  • Funções da GD
  • Escreve texto na imagem usando fontes TrueType

imagettftext

(PHP 4, PHP 5, PHP 7, PHP 8)

imagettftext — Escreve texto na imagem usando fontes TrueType

Descrição

imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text ) : array

imagettftext() desenha a string text na imagem identificada por image, começando nas coordenadas x, y (o canto superior esquerdo é 0, 0), em um ângulo de angle na cor color, usando o arquivo de fonte TrueType identificado por fontfile. Dependendo de qual versão da biblioteca GD o PHP estiver usando o fontfile não começa com '/', '.ttf' será adicionado ao nome do arquivo e a biblioteca tentará encontrar o nome do arquivo entre o caminho de fonte definido na biblioteca.

As coordenadas dadas por x, y irão definir o ponto base para o primeiro caractere (o canto inferior esquerdo do caractere). Isto é diferente de imagestring(), aonde x, y definem o canto superior direito do primeiro caractere.

angle é em graus, sendo 0 graus da esqueda para a direita (direção de 3 horas no relógio), e valores maiores representando um rotação anti-horária. (ex. um valor de 90 irá resultar em um exto de baixo para cima).

fontfile é o caminho para a TrueType que você quer usar.

text é a string com o texto que pode incluir caracteres UTF-8 (na forma de: &#123;) para acessar caracteres na fonte alem do 255.

color é o índice da cor. Usando um índice de cor negativo tem o efeito de desativar o antialiasing.

imagettftext() retorna uma matriz com 8 elementos representando quatro pontos fazendo uma caixa em torno do texto. A ordem dos pontos é inferior esquerdo, inferior direito, superior direito, superior esquerdo. Os pontos são relativos ao texto, sem se importar com o ângulo, assim "superior esquerdo" indica o canto superior esquerdo quando você vê o texto horizontalmente.

Este script de exemplo irá produzir um JPEG predo de 400x30 pixels, com as palavras "Testing..." em branco na fonte Arial.

Exemplo #1 Exemplo imagettftext()

<?php
  header("Content-type: image/jpeg");
  $im = imagecreate(400, 30);
  $white = imagecolorallocate($im, 255, 255, 255);
  $black = imagecolorallocate($im, 0, 0, 0);

  // Replace path by your own font path
  imagettftext($im, 20, 0, 10, 20, $black, "/path/arial.ttf",
  "Testing... Omega: &amp;#937;");
  imagejpeg($im);
  imagedestroy($im);
?>

Esta função requer a biblioteca GD e a biblioteca » FreeType.

Veja também imagettfbbox().


Retorna os tipos de imagens suportados por esta instalação do PHP

  • « imagettftext
  • imagewbmp »
  • PHP Manual
  • Funções da GD
  • Retorna os tipos de imagens suportados por esta instalação do PHP

imagetypes

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

imagetypes — Retorna os tipos de imagens suportados por esta instalação do PHP

Descrição

imagetypes ( ) : int

Retorna os tipos de imagens suportados pela instalação atual do PHP.

Valor Retornado

Retorna o bit-field correspondendo o formato de imagem suportado pela versão da GD linkada no PHP. Os seguintes bits são retornados, IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM.

Exemplos

Exemplo #1 Verificando o suporte a PNG

<?php
if (imagetypes() & IMG_PNG) {
    echo "O suporte a PNG esta ativado";
}
?>


Envia uma imagem para o browser ou arquivo

  • « imagetypes
  • imagewebp »
  • PHP Manual
  • Funções da GD
  • Envia uma imagem para o browser ou arquivo

imagewbmp

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagewbmp — Envia uma imagem para o browser ou arquivo

Descrição

imagewbmp ( resource $image , string $filename = ? , int $foreground = ? ) : bool

imagewbmp() mostra ou salva uma versão WBMP da dada image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

filename

O caminho para salvar o arquivo. Se não definido ou null, o stream da imagem será mostrado diretamente.

foreground

Você pode definir a cor de primeiro plano com este parâmetro passando um identificador de cor obtido a partir de imagecolorallocate(). A cor padrão é preto.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

Suporte a WBMP está somente disponível se o PHP foi compilado com GD-1.8 ou superior.

Veja Também

  • image2wbmp() - Envia uma imagem para o browser ou arquivo
  • imagepng() - Emite uma imagem PNG para o navegador ou arquivo
  • imagegif() - Envia uma imagem para o browser ou arquivo
  • imagejpeg() - Envia a imagem para o borwser ou arquivo
  • imagetypes() - Retorna os tipos de imagens suportados por esta instalação do PHP


Output a WebP image to browser or file

  • « imagewbmp
  • imagexbm »
  • PHP Manual
  • Funções da GD
  • Output a WebP image to browser or file

imagewebp

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

imagewebp — Output a WebP image to browser or file

Descrição

imagewebp ( resource $image , mixed $to = null , int $quality = 80 ) : bool

Outputs or saves a WebP version of the given image.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

to

O caminho ou um resource stream aberto (o qual será automaticamente fechado quando a função retorna) para gravar o arquivo. Se não informado ou null, os bytes da imagem serão impressos diretamente.

quality

quality ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Cuidado

However, if libgd fails to output the image, this function returns true.

Exemplos

Exemplo #1 Saving an WebP file

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);

imagestring($im, 1, 5, 5,  'WebP with PHP', $text_color);

// Save the image
imagewebp($im, 'php.webp');

// Free up memory
imagedestroy($im);
?>


Output an XBM image to browser or file

  • « imagewebp
  • iptcembed »
  • PHP Manual
  • Funções da GD
  • Output an XBM image to browser or file

imagexbm

(PHP 5, PHP 7, PHP 8)

imagexbm — Output an XBM image to browser or file

Descrição

imagexbm ( resource $image , mixed $filename , int $foreground = ? ) : bool

Outputs or save an XBM version of the given image.

Nota: imagexbm() doesn't apply any padding, so the image width has to be a multiple of 8. This restriction does no longer apply as of PHP 7.0.9.

Parâmetros

image

Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().

filename

The path to save the file to, given as string. If null, the raw image stream will be output directly.

The filename (without the .xbm extension) is also used for the C identifiers of the XBM, whereby non alphanumeric characters of the current locale are substituted by underscores. If filename is set to null, image is used to build the C identifiers.

foreground

You can set the foreground color with this parameter by setting an identifier obtained from imagecolorallocate(). The default foreground color is black. All other colors are treated as background.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Cuidado

However, if libgd fails to output the image, this function returns true.

Changelog

Versão | Descrição
8.0.0 | The fourth parameter, which was unused, has been removed.

Exemplos

Exemplo #1 Saving an XBM file

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Save the image
imagexbm($im, 'simpletext.xbm');

// Free up memory
imagedestroy($im);
?>

Exemplo #2 Saving an XBM file with a different foreground color

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Set a replacement foreground color
$foreground_color = imagecolorallocate($im, 255, 0, 0);

// Save the image
imagexbm($im, NULL, $foreground_color);

// Free up memory
imagedestroy($im);
?>

Notas


Embute dados binários IPTC em uma imagem JPEG

  • « imagexbm
  • iptcparse »
  • PHP Manual
  • Funções da GD
  • Embute dados binários IPTC em uma imagem JPEG

iptcembed

(PHP 4, PHP 5, PHP 7, PHP 8)

iptcembed — Embute dados binários IPTC em uma imagem JPEG

Descrição

iptcembed ( string $iptcdata , string $jpeg_file_name , int $spool = ? ) : mixed

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

iptcdata

jpeg_file_name

spool


Analisa um bloco binário IPTC em tags simples.

  • « iptcembed
  • jpeg2wbmp »
  • PHP Manual
  • Funções da GD
  • Analisa um bloco binário IPTC em tags simples.

iptcparse

(PHP 4, PHP 5, PHP 7, PHP 8)

iptcparse — Analisa um bloco binário IPTC em tags simples.

Descrição

iptcparse ( string $iptcblock ) : array

Analisa um bloco » IPTC em tags simples.

Parâmetros

iptcblock

Um bloco binário IPTC

Valor Retornado

Retorna um array usando a tagmarker como um índice e o valor como o valor. Ela retorna false em erro ou se não há informação IPTC encontrada.

Veja Também

  • getimagesize() - Obtém o tamanho de uma imagem para um exemplo


Converte um arquivo de imagem JPEG para um arquivo de imagem WBMP

  • « iptcparse
  • png2wbmp »
  • PHP Manual
  • Funções da GD
  • Converte um arquivo de imagem JPEG para um arquivo de imagem WBMP

jpeg2wbmp

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

jpeg2wbmp — Converte um arquivo de imagem JPEG para um arquivo de imagem WBMP

Descrição

jpeg2wbmp ( string $jpegname , string $wbmpname , int $dest_height , int $dest_width , int $threshold ) : bool

Converte o arquivo JPEG em arquivo WBMP.

Parâmetros

jpegname

Caminho para o arquivo JPEG

wbmpname

Caminho de destino do arquivo WBMP

dest_height

Altura da imagem destino

dest_width

Largura da imagem destino

threshold

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Veja Também

  • png2wbmp() - Converte um arquivo de imagem PNG para um arquivo de imagem WBMP


Converte um arquivo de imagem PNG para um arquivo de imagem WBMP

  • « jpeg2wbmp
  • Gmagick »
  • PHP Manual
  • Funções da GD
  • Converte um arquivo de imagem PNG para um arquivo de imagem WBMP

png2wbmp

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

png2wbmp — Converte um arquivo de imagem PNG para um arquivo de imagem WBMP

Descrição

png2wbmp ( string $pngname , string $wbmpname , int $dest_height , int $dest_width , int $threshold ) : bool

Converte o arquivo PNG em arquivo WBMP.

Parâmetros

pngname

Caminho do arquivo PNG

wbmpname

Caminho para o arquivo de destino WBMP

dest_height

Altura da imagem destino

dest_width

Largura da imagem destino

threshold

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Veja Também

  • jpeg2wbmp() - Converte um arquivo de imagem JPEG para um arquivo de imagem WBMP


Gmagick

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
  • Constantes pré-definidas
  • Exemplos
  • Gmagick — The Gmagick class
    • Gmagick::addimage — Adds new image to Gmagick object image list
    • Gmagick::addnoiseimage — Adds random noise to the image
    • Gmagick::annotateimage — Annotates an image with text
    • Gmagick::blurimage — Adds blur filter to image
    • Gmagick::borderimage — Surrounds the image with a border
    • Gmagick::charcoalimage — Simulates a charcoal drawing
    • Gmagick::chopimage — Removes a region of an image and trims
    • Gmagick::clear — Clears all resources associated to Gmagick object
    • Gmagick::commentimage — Adds a comment to your image
    • Gmagick::compositeimage — Composite one image onto another
    • Gmagick::__construct — The Gmagick constructor
    • Gmagick::cropimage — Extracts a region of the image
    • Gmagick::cropthumbnailimage — Creates a crop thumbnail
    • Gmagick::current — The current purpose
    • Gmagick::cyclecolormapimage — Displaces an image's colormap
    • Gmagick::deconstructimages — Returns certain pixel differences between images
    • Gmagick::despeckleimage — The despeckleimage purpose
    • Gmagick::destroy — The destroy purpose
    • Gmagick::drawimage — Renders the GmagickDraw object on the current image
    • Gmagick::edgeimage — Enhance edges within the image
    • Gmagick::embossimage — Returns a grayscale image with a three-dimensional effect
    • Gmagick::enhanceimage — Improves the quality of a noisy image
    • Gmagick::equalizeimage — Equalizes the image histogram
    • Gmagick::flipimage — Creates a vertical mirror image
    • Gmagick::flopimage — The flopimage purpose
    • Gmagick::frameimage — Adds a simulated three-dimensional border
    • Gmagick::gammaimage — Gamma-corrects an image
    • Gmagick::getcopyright — Returns the GraphicsMagick API copyright as a string
    • Gmagick::getfilename — The filename associated with an image sequence
    • Gmagick::getimagebackgroundcolor — Returns the image background color
    • Gmagick::getimageblueprimary — Returns the chromaticy blue primary point
    • Gmagick::getimagebordercolor — Returns the image border color
    • Gmagick::getimagechanneldepth — Gets the depth for a particular image channel
    • Gmagick::getimagecolors — Returns the color of the specified colormap index
    • Gmagick::getimagecolorspace — Gets the image colorspace
    • Gmagick::getimagecompose — Returns the composite operator associated with the image
    • Gmagick::getimagedelay — Gets the image delay
    • Gmagick::getimagedepth — Gets the depth of the image
    • Gmagick::getimagedispose — Gets the image disposal method
    • Gmagick::getimageextrema — Gets the extrema for the image
    • Gmagick::getimagefilename — Returns the filename of a particular image in a sequence
    • Gmagick::getimageformat — Returns the format of a particular image in a sequence
    • Gmagick::getimagegamma — Gets the image gamma
    • Gmagick::getimagegreenprimary — Returns the chromaticy green primary point
    • Gmagick::getimageheight — Returns the image height
    • Gmagick::getimagehistogram — Gets the image histogram
    • Gmagick::getimageindex — Gets the index of the current active image
    • Gmagick::getimageinterlacescheme — Gets the image interlace scheme
    • Gmagick::getimageiterations — Gets the image iterations
    • Gmagick::getimagematte — Check if the image has a matte channel
    • Gmagick::getimagemattecolor — Returns the image matte color
    • Gmagick::getimageprofile — Returns the named image profile
    • Gmagick::getimageredprimary — Returns the chromaticity red primary point
    • Gmagick::getimagerenderingintent — Gets the image rendering intent
    • Gmagick::getimageresolution — Gets the image X and Y resolution
    • Gmagick::getimagescene — Gets the image scene
    • Gmagick::getimagesignature — Generates an SHA-256 message digest
    • Gmagick::getimagetype — Gets the potential image type
    • Gmagick::getimageunits — Gets the image units of resolution
    • Gmagick::getimagewhitepoint — Returns the chromaticity white point
    • Gmagick::getimagewidth — Returns the width of the image
    • Gmagick::getpackagename — Returns the GraphicsMagick package name
    • Gmagick::getquantumdepth — Returns the Gmagick quantum depth as a string
    • Gmagick::getreleasedate — Returns the GraphicsMagick release date as a string
    • Gmagick::getsamplingfactors — Gets the horizontal and vertical sampling factor
    • Gmagick::getsize — Returns the size associated with the Gmagick object
    • Gmagick::getversion — Returns the GraphicsMagick API version
    • Gmagick::hasnextimage — Checks if the object has more images
    • Gmagick::haspreviousimage — Checks if the object has a previous image
    • Gmagick::implodeimage — Creates a new image as a copy
    • Gmagick::labelimage — Adds a label to an image
    • Gmagick::levelimage — Adjusts the levels of an image
    • Gmagick::magnifyimage — Scales an image proportionally 2x
    • Gmagick::mapimage — Replaces the colors of an image with the closest color from a reference image
    • Gmagick::medianfilterimage — Applies a digital filter
    • Gmagick::minifyimage — Scales an image proportionally to half its size
    • Gmagick::modulateimage — Control the brightness, saturation, and hue
    • Gmagick::motionblurimage — Simulates motion blur
    • Gmagick::newimage — Creates a new image
    • Gmagick::nextimage — Moves to the next image
    • Gmagick::normalizeimage — Enhances the contrast of a color image
    • Gmagick::oilpaintimage — Simulates an oil painting
    • Gmagick::previousimage — Move to the previous image in the object
    • Gmagick::profileimage — Adds or removes a profile from an image
    • Gmagick::quantizeimage — Analyzes the colors within a reference image
    • Gmagick::quantizeimages — The quantizeimages purpose
    • Gmagick::queryfontmetrics — Returns an array representing the font metrics
    • Gmagick::queryfonts — Returns the configured fonts
    • Gmagick::queryformats — Returns formats supported by Gmagick
    • Gmagick::radialblurimage — Radial blurs an image
    • Gmagick::raiseimage — Creates a simulated 3d button-like effect
    • Gmagick::read — Reads image from filename
    • Gmagick::readimage — Reads image from filename
    • Gmagick::readimageblob — Reads image from a binary string
    • Gmagick::readimagefile — The readimagefile purpose
    • Gmagick::reducenoiseimage — Smooths the contours of an image
    • Gmagick::removeimage — Removes an image from the image list
    • Gmagick::removeimageprofile — Removes the named image profile and returns it
    • Gmagick::resampleimage — Resample image to desired resolution
    • Gmagick::resizeimage — Scales an image
    • Gmagick::rollimage — Offsets an image
    • Gmagick::rotateimage — Rotates an image
    • Gmagick::scaleimage — Scales the size of an image
    • Gmagick::separateimagechannel — Separates a channel from the image
    • Gmagick::setCompressionQuality — Sets the object's default compression quality
    • Gmagick::setfilename — Sets the filename before you read or write the image
    • Gmagick::setimagebackgroundcolor — Sets the image background color
    • Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point
    • Gmagick::setimagebordercolor — Sets the image border color
    • Gmagick::setimagechanneldepth — Sets the depth of a particular image channel
    • Gmagick::setimagecolorspace — Sets the image colorspace
    • Gmagick::setimagecompose — Sets the image composite operator
    • Gmagick::setimagedelay — Sets the image delay
    • Gmagick::setimagedepth — Sets the image depth
    • Gmagick::setimagedispose — Sets the image disposal method
    • Gmagick::setimagefilename — Sets the filename of a particular image in a sequence
    • Gmagick::setimageformat — Sets the format of a particular image
    • Gmagick::setimagegamma — Sets the image gamma
    • Gmagick::setimagegreenprimary — Sets the image chromaticity green primary point
    • Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter
    • Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image
    • Gmagick::setimageiterations — Sets the image iterations
    • Gmagick::setimageprofile — Adds a named profile to the Gmagick object
    • Gmagick::setimageredprimary — Sets the image chromaticity red primary point
    • Gmagick::setimagerenderingintent — Sets the image rendering intent
    • Gmagick::setimageresolution — Sets the image resolution
    • Gmagick::setimagescene — Sets the image scene
    • Gmagick::setimagetype — Sets the image type
    • Gmagick::setimageunits — Sets the image units of resolution
    • Gmagick::setimagewhitepoint — Sets the image chromaticity white point
    • Gmagick::setsamplingfactors — Sets the image sampling factors
    • Gmagick::setsize — Sets the size of the Gmagick object
    • Gmagick::shearimage — Creating a parallelogram
    • Gmagick::solarizeimage — Applies a solarizing effect to the image
    • Gmagick::spreadimage — Randomly displaces each pixel in a block
    • Gmagick::stripimage — Strips an image of all profiles and comments
    • Gmagick::swirlimage — Swirls the pixels about the center of the image
    • Gmagick::thumbnailimage — Changes the size of an image
    • Gmagick::trimimage — Remove edges from the image
    • Gmagick::write — Sinônimo de Gmagick::writeimage
    • Gmagick::writeimage — Writes an image to the specified filename
  • GmagickDraw — The GmagickDraw class
    • GmagickDraw::annotate — Draws text on the image
    • GmagickDraw::arc — Draws an arc
    • GmagickDraw::bezier — Draws a bezier curve
    • GmagickDraw::ellipse — Draws an ellipse on the image
    • GmagickDraw::getfillcolor — Returns the fill color
    • GmagickDraw::getfillopacity — Returns the opacity used when drawing
    • GmagickDraw::getfont — Returns the font
    • GmagickDraw::getfontsize — Returns the font pointsize
    • GmagickDraw::getfontstyle — Returns the font style
    • GmagickDraw::getfontweight — Returns the font weight
    • GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines
    • GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines
    • GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines
    • GmagickDraw::gettextdecoration — Returns the text decoration
    • GmagickDraw::gettextencoding — Returns the code set used for text annotations
    • GmagickDraw::line — The line purpose
    • GmagickDraw::point — Draws a point
    • GmagickDraw::polygon — Draws a polygon
    • GmagickDraw::polyline — Draws a polyline
    • GmagickDraw::rectangle — Draws a rectangle
    • GmagickDraw::rotate — Applies the specified rotation to the current coordinate space
    • GmagickDraw::roundrectangle — Draws a rounded rectangle
    • GmagickDraw::scale — Adjusts the scaling factor
    • GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects
    • GmagickDraw::setfillopacity — The setfillopacity purpose
    • GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text
    • GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text
    • GmagickDraw::setfontstyle — Sets the font style to use when annotating with text
    • GmagickDraw::setfontweight — Sets the font weight
    • GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines
    • GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines
    • GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines
    • GmagickDraw::settextdecoration — Specifies a decoration
    • GmagickDraw::settextencoding — Specifies the text code set
  • GmagickPixel — The GmagickPixel class
    • GmagickPixel::__construct — The GmagickPixel constructor
    • GmagickPixel::getcolor — Returns the color
    • GmagickPixel::getcolorcount — Returns the color count associated with this color
    • GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel
    • GmagickPixel::setcolor — Sets the color
    • GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels


Introdução

Gmagick is a php extension to create, modify and obtain meta information of images using the GraphicsMagick API.

GraphicsMagick prides itself as the swiss army knife of image processing. It works with over 88 major formats including important formats like DPX, GIF, JPEG, JPEG-2000, PNG, PDF, PNM, and TIFF.

Gmagick consists of a main Gmagick class, a GmagickDraw class which is in effect a drawing wand and a GmagickPixel class of which instances represent a single pixel of an image (color, opacity).


Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução


Dependências

This extension works best with GraphicsMagick version 1.4+ and PHP 5.1.3+. Gmagick should work with earlier versions up to GraphicsMagick 1.2.6 but some features and formats are not supported for these versions. Windows version of GraphicsMagick is available from the GraphicsMagick website. To read about the difference between ImageMagick and GraphicsMagick, check this out: » FAQ .


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/gmagick.

Nota: The official name of this extension is gmagick.

For Windows, the build of the Gmagick extension is available » here


  • « Instalação
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Configurações em Execução

Configurações em Execução

Esta extensão não possui diretivas de configuração definíveis no php.ini.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Colortype constants
Gmagick::COLOR_BLACK (int)
Black
Gmagick::COLOR_BLUE (int)
Blue
Gmagick::COLOR_CYAN (int)
Cyan
Gmagick::COLOR_GREEN (int)
Green
Gmagick::COLOR_RED (int)
Red
Gmagick::COLOR_YELLOW (int)
Yellow
Gmagick::COLOR_MAGENTA (int)
Magenta
Gmagick::COLOR_OPACITY (int)
Opacity
Gmagick::COLOR_ALPHA (int)
Alpha
Gmagick::COLOR_FUZZ (int)
Fuzz
Composite Operator Constants
Gmagick::COMPOSITE_DEFAULT (int)
The default composite operator
Gmagick::COMPOSITE_UNDEFINED (int)
Undefined composite operator
Gmagick::COMPOSITE_NO (int)
No composite operator defined
Gmagick::COMPOSITE_ADD (int)
The result of image + image
Gmagick::COMPOSITE_ATOP (int)
The result is the same shape as image, with composite image obscuring image where the image shapes overlap
Gmagick::COMPOSITE_BLEND (int)
Blends the image
Gmagick::COMPOSITE_BUMPMAP (int)
The same as COMPOSITE_MULTIPLY, except the source is converted to grayscale first.
Gmagick::COMPOSITE_CLEAR (int)
Makes the target image transparent
Gmagick::COMPOSITE_COLORBURN (int)
Darkens the destination image to reflect the source image
Gmagick::COMPOSITE_COLORDODGE (int)
Brightens the destination image to reflect the source image
Gmagick::COMPOSITE_COLORIZE (int)
Colorizes the target image using the composite image
Gmagick::COMPOSITE_COPYBLACK (int)
Copies black from the source to target
Gmagick::COMPOSITE_COPYBLUE (int)
Copies blue from the source to target
Gmagick::COMPOSITE_COPY (int)
Copies the source image on the target image
Gmagick::COMPOSITE_COPYCYAN (int)
Copies cyan from the source to target
Gmagick::COMPOSITE_COPYGREEN (int)
Copies green from the source to target
Gmagick::COMPOSITE_COPYMAGENTA (int)
Copies magenta from the source to target
Gmagick::COMPOSITE_COPYOPACITY (int)
Copies opacity from the source to target
Gmagick::COMPOSITE_COPYRED (int)
Copies red from the source to target
Gmagick::COMPOSITE_COPYYELLOW (int)
Copies yellow from the source to target
Gmagick::COMPOSITE_DARKEN (int)
Darkens the target image
Gmagick::COMPOSITE_DSTATOP (int)
The part of the destination lying inside of the source is composited over the source and replaces the destination
Gmagick::COMPOSITE_DST (int)
The target is left untouched
Gmagick::COMPOSITE_DSTIN (int)
The parts inside the source replace the target
Gmagick::COMPOSITE_DSTOUT (int)
The parts outside the source replace the target
Gmagick::COMPOSITE_DSTOVER (int)
Target replaces the source
Gmagick::COMPOSITE_DIFFERENCE (int)
Subtracts the darker of the two constituent colors from the lighter
Gmagick::COMPOSITE_DISPLACE (int)
Shifts target image pixels as defined by the source
Gmagick::COMPOSITE_DISSOLVE (int)
Dissolves the source in to the target
Gmagick::COMPOSITE_EXCLUSION (int)
Produces an effect similar to that of Gmagick::COMPOSITE_DIFFERENCE, but appears as lower contrast
Gmagick::COMPOSITE_HARDLIGHT (int)
Multiplies or screens the colors, dependent on the source color value
Gmagick::COMPOSITE_HUE (int)
Modifies the hue of the target as defined by source
Gmagick::COMPOSITE_IN (int)
Composites source into the target
Gmagick::COMPOSITE_LIGHTEN (int)
Lightens the target as defined by source
Gmagick::COMPOSITE_LUMINIZE (int)
Luminizes the target as defined by source
Gmagick::COMPOSITE_MINUS (int)
Subtracts the source from the target
Gmagick::COMPOSITE_MODULATE (int)
Modulates the target brightness, saturation and hue as defined by source
Gmagick::COMPOSITE_MULTIPLY (int)
Multiplies the target to the source
Gmagick::COMPOSITE_OUT (int)
Composites outer parts of the source on the target
Gmagick::COMPOSITE_OVER (int)
Composites source over the target
Gmagick::COMPOSITE_OVERLAY (int)
Overlays the source on the target
Gmagick::COMPOSITE_PLUS (int)
Adds the source to the target
Gmagick::COMPOSITE_REPLACE (int)
Replaces the target with the source
Gmagick::COMPOSITE_SATURATE (int)
Saturates the target as defined by the source
Gmagick::COMPOSITE_SCREEN (int)
The source and destination are complemented and then multiplied and then replace the destination
Gmagick::COMPOSITE_SOFTLIGHT (int)
Darkens or lightens the colors, dependent on the source
Gmagick::COMPOSITE_SRCATOP (int)
The part of the source lying inside of the destination is composited onto the destination
Gmagick::COMPOSITE_SRC (int)
The source is copied to the destination
Gmagick::COMPOSITE_SRCIN (int)
The part of the source lying inside of the destination replaces the destination
Gmagick::COMPOSITE_SRCOUT (int)
The part of the source lying outside of the destination replaces the destination
Gmagick::COMPOSITE_SRCOVER (int)
The source replaces the destination
Gmagick::COMPOSITE_SUBTRACT (int)
Subtract the colors in the source image from the destination image
Gmagick::COMPOSITE_THRESHOLD (int)
The source is composited on the target as defined by source threshold
Gmagick::COMPOSITE_XOR (int)
The part of the source that lies outside of the destination is combined with the part of the destination that lies outside of the source
Montage Mode constants
Gmagick::MONTAGEMODE_FRAME (int)
Gmagick::MONTAGEMODE_UNFRAME (int)
Gmagick::MONTAGEMODE_CONCATENATE (int)
Style constants
Gmagick::STYLE_NORMAL (int)
Gmagick::STYLE_ITALIC (int)
Gmagick::STYLE_OBLIQUE (int)
Gmagick::STYLE_ANY (int)
Filter constants
Gmagick::FILTER_UNDEFINED (int)
Gmagick::FILTER_POINT (int)
Gmagick::FILTER_BOX (int)
Gmagick::FILTER_TRIANGLE (int)
Gmagick::FILTER_HERMITE (int)
Gmagick::FILTER_HANNING (int)
Gmagick::FILTER_HAMMING (int)
Gmagick::FILTER_BLACKMAN (int)
Gmagick::FILTER_GAUSSIAN (int)
Gmagick::FILTER_QUADRATIC (int)
Gmagick::FILTER_CUBIC (int)
Gmagick::FILTER_CATROM (int)
Gmagick::FILTER_MITCHELL (int)
Gmagick::FILTER_LANCZOS (int)
Gmagick::FILTER_BESSEL (int)
Gmagick::FILTER_SINC (int)
Image type constants
Gmagick::IMGTYPE_UNDEFINED (int)
Gmagick::IMGTYPE_BILEVEL (int)
Gmagick::IMGTYPE_GRAYSCALE (int)
Gmagick::IMGTYPE_GRAYSCALEMATTE (int)
Gmagick::IMGTYPE_PALETTE (int)
Gmagick::IMGTYPE_PALETTEMATTE (int)
Gmagick::IMGTYPE_TRUECOLOR (int)
Gmagick::IMGTYPE_TRUECOLORMATTE (int)
Gmagick::IMGTYPE_COLORSEPARATION (int)
Gmagick::IMGTYPE_COLORSEPARATIONMATTE (int)
Gmagick::IMGTYPE_OPTIMIZE (int)
Resolution constants
Gmagick::RESOLUTION_UNDEFINED (int)
Gmagick::RESOLUTION_PIXELSPERINCH (int)
Gmagick::RESOLUTION_PIXELSPERCENTIMETER (int)
Compression constants
Gmagick::COMPRESSION_UNDEFINED (int)
Gmagick::COMPRESSION_NO (int)
Gmagick::COMPRESSION_BZIP (int)
Gmagick::COMPRESSION_FAX (int)
Gmagick::COMPRESSION_GROUP4 (int)
Gmagick::COMPRESSION_JPEG (int)
Gmagick::COMPRESSION_JPEG2000 (int)
Gmagick::COMPRESSION_LOSSLESSJPEG (int)
Gmagick::COMPRESSION_LZW (int)
Gmagick::COMPRESSION_RLE (int)
Gmagick::COMPRESSION_ZIP (int)
Paint constants
Gmagick::PAINT_POINT (int)
Gmagick::PAINT_REPLACE (int)
Gmagick::PAINT_FLOODFILL (int)
Gmagick::PAINT_FILLTOBORDER (int)
Gmagick::PAINT_RESET (int)
Gravity constants
Gmagick::GRAVITY_NORTHWEST (int)
Gmagick::GRAVITY_NORTH (int)
Gmagick::GRAVITY_NORTHEAST (int)
Gmagick::GRAVITY_WEST (int)
Gmagick::GRAVITY_CENTER (int)
Gmagick::GRAVITY_EAST (int)
Gmagick::GRAVITY_SOUTHWEST (int)
Gmagick::GRAVITY_SOUTH (int)
Gmagick::GRAVITY_SOUTHEAST (int)
Stretch constants
Gmagick::STRETCH_NORMAL (int)
Gmagick::STRETCH_ULTRACONDENSED (int)
Gmagick::STRETCH_CONDENSED (int)
Gmagick::STRETCH_SEMICONDENSED (int)
Gmagick::STRETCH_SEMIEXPANDED (int)
Gmagick::STRETCH_EXPANDED (int)
Gmagick::STRETCH_EXTRAEXPANDED (int)
Gmagick::STRETCH_ULTRAEXPANDED (int)
Gmagick::STRETCH_ANY (int)
Align constants
Gmagick::ALIGN_UNDEFINED (int)
Gmagick::ALIGN_LEFT (int)
Gmagick::ALIGN_CENTER (int)
Gmagick::ALIGN_RIGHT (int)
Decoration constants
Gmagick::DECORATION_NO (int)
Gmagick::DECORATION_UNDERLINE (int)
Gmagick::DECORATION_OVERLINE (int)
Gmagick::DECORATION_LINETROUGH (int)
Noise constants
Gmagick::NOISE_UNIFORM (int)
Gmagick::NOISE_GAUSSIAN (int)
Gmagick::NOISE_MULTIPLICATIVEGAUSSIAN (int)
Gmagick::NOISE_IMPULSE (int)
Gmagick::NOISE_LAPLACIAN (int)
Gmagick::NOISE_POISSON (int)
Channel constants
Gmagick::CHANNEL_UNDEFINED (int)
Gmagick::CHANNEL_RED (int)
Gmagick::CHANNEL_GRAY (int)
Gmagick::CHANNEL_CYAN (int)
Gmagick::CHANNEL_GREEN (int)
Gmagick::CHANNEL_MAGENTA (int)
Gmagick::CHANNEL_BLUE (int)
Gmagick::CHANNEL_YELLOW (int)
Gmagick::CHANNEL_ALPHA (int)
Gmagick::CHANNEL_OPACITY (int)
Gmagick::CHANNEL_MATTE (int)
Gmagick::CHANNEL_BLACK (int)
Gmagick::CHANNEL_INDEX (int)
Gmagick::CHANNEL_ALL (int)
Metric constants
Gmagick::METRIC_UNDEFINED (int)
Gmagick::METRIC_MEANABSOLUTEERROR (int)
Gmagick::METRIC_MEANSQUAREERROR (int)
Gmagick::METRIC_PEAKABSOLUTEERROR (int)
Gmagick::METRIC_PEAKSIGNALTONOISERATIO (int)
Gmagick::METRIC_ROOTMEANSQUAREDERROR (int)
Pixel constants
Gmagick::PIXEL_CHAR (int)
Gmagick::PIXEL_DOUBLE (int)
Gmagick::PIXEL_FLOAT (int)
Gmagick::PIXEL_INTEGER (int)
Gmagick::PIXEL_LONG (int)
Gmagick::PIXEL_QUANTUM (int)
Gmagick::PIXEL_SHORT (int)
Colorspace constants
Gmagick::COLORSPACE_UNDEFINED (int)
Gmagick::COLORSPACE_RGB (int)
Gmagick::COLORSPACE_GRAY (int)
Gmagick::COLORSPACE_TRANSPARENT (int)
Gmagick::COLORSPACE_OHTA (int)
Gmagick::COLORSPACE_LAB (int)
Gmagick::COLORSPACE_XYZ (int)
Gmagick::COLORSPACE_YCBCR (int)
Gmagick::COLORSPACE_YCC (int)
Gmagick::COLORSPACE_YIQ (int)
Gmagick::COLORSPACE_YPBPR (int)
Gmagick::COLORSPACE_YUV (int)
Gmagick::COLORSPACE_CMYK (int)
Gmagick::COLORSPACE_SRGB (int)
Gmagick::COLORSPACE_HSB (int)
Gmagick::COLORSPACE_HSL (int)
Gmagick::COLORSPACE_HWB (int)
Gmagick::COLORSPACE_REC601LUMA (int)
Gmagick::COLORSPACE_REC709LUMA (int)
Gmagick::COLORSPACE_LOG (int)
Virtual Pixel Method constants
Gmagick::VIRTUALPIXELMETHOD_UNDEFINED (int)
Gmagick::VIRTUALPIXELMETHOD_BACKGROUND (int)
Gmagick::VIRTUALPIXELMETHOD_CONSTANT (int)
Gmagick::VIRTUALPIXELMETHOD_EDGE (int)
Gmagick::VIRTUALPIXELMETHOD_MIRROR (int)
Gmagick::VIRTUALPIXELMETHOD_TILE (int)
Gmagick::VIRTUALPIXELMETHOD_TRANSPARENT (int)
Preview constants
Gmagick::PREVIEW_UNDEFINED (int)
Gmagick::PREVIEW_ROTATE (int)
Gmagick::PREVIEW_SHEAR (int)
Gmagick::PREVIEW_ROLL (int)
Gmagick::PREVIEW_HUE (int)
Gmagick::PREVIEW_SATURATION (int)
Gmagick::PREVIEW_BRIGHTNESS (int)
Gmagick::PREVIEW_GAMMA (int)
Gmagick::PREVIEW_SPIFF (int)
Gmagick::PREVIEW_DULL (int)
Gmagick::PREVIEW_GRAYSCALE (int)
Gmagick::PREVIEW_QUANTIZE (int)
Gmagick::PREVIEW_DESPECKLE (int)
Gmagick::PREVIEW_REDUCENOISE (int)
Gmagick::PREVIEW_ADDNOISE (int)
Gmagick::PREVIEW_SHARPEN (int)
Gmagick::PREVIEW_BLUR (int)
Gmagick::PREVIEW_THRESHOLD (int)
Gmagick::PREVIEW_EDGEDETECT (int)
Gmagick::PREVIEW_SPREAD (int)
Gmagick::PREVIEW_SOLARIZE (int)
Gmagick::PREVIEW_SHADE (int)
Gmagick::PREVIEW_RAISE (int)
Gmagick::PREVIEW_SEGMENT (int)
Gmagick::PREVIEW_SWIRL (int)
Gmagick::PREVIEW_IMPLODE (int)
Gmagick::PREVIEW_WAVE (int)
Gmagick::PREVIEW_OILPAINT (int)
Gmagick::PREVIEW_CHARCOALDRAWING (int)
Gmagick::PREVIEW_JPEG (int)
Rendering Intent constants
Gmagick::RENDERINGINTENT_UNDEFINED (int)
Gmagick::RENDERINGINTENT_SATURATION (int)
Gmagick::RENDERINGINTENT_PERCEPTUAL (int)
Gmagick::RENDERINGINTENT_ABSOLUTE (int)
Gmagick::RENDERINGINTENT_RELATIVE (int)
Fillrule constants
Gmagick::FILLRULE_UNDEFINED (int)
Gmagick::FILLRULE_EVENODD (int)
Gmagick::FILLRULE_NONZERO (int)
Pathunit constants
Gmagick::PATHUNITS_UNDEFINED (int)
Gmagick::PATHUNITS_USERSPACE (int)
Gmagick::PATHUNITS_USERSPACEONUSE (int)
Gmagick::PATHUNITS_OBJECTBOUNDINGBOX (int)
Linecap constants
Gmagick::LINECAP_UNDEFINED (int)
Gmagick::LINECAP_BUTT (int)
Gmagick::LINECAP_ROUND (int)
Gmagick::LINECAP_SQUARE (int)
Line Join constants
Gmagick::LINEJOIN_UNDEFINED (int)
Gmagick::LINEJOIN_MITER (int)
Gmagick::LINEJOIN_ROUND (int)
Gmagick::LINEJOIN_BEVEL (int)
Resourcetype constants
Gmagick::RESOURCETYPE_UNDEFINED (int)
Gmagick::RESOURCETYPE_AREA (int)
Gmagick::RESOURCETYPE_DISK (int)
Gmagick::RESOURCETYPE_FILE (int)
Gmagick::RESOURCETYPE_MAP (int)
Gmagick::RESOURCETYPE_MEMORY (int)
Orientation constants
Gmagick::ORIENTATION_UNDEFINED (int)
Gmagick::ORIENTATION_TOPLEFT (int)
Gmagick::ORIENTATION_TOPRIGHT (int)
Gmagick::ORIENTATION_BOTTOMRIGHT (int)
Gmagick::ORIENTATION_BOTTOMLEFT (int)
Gmagick::ORIENTATION_LEFTTOP (int)
Gmagick::ORIENTATION_RIGHTTOP (int)
Gmagick::ORIENTATION_RIGHTBOTTOM (int)
Gmagick::ORIENTATION_LEFTBOTTOM (int)


Exemplos

The following shows some common Gmagick image operations.

Exemplo #1 Gmagick Example

<?php
//Instantiate a new Gmagick object
$image = new Gmagick('example.jpg');

//Make thumbnail from image loaded. 0 for either axes preserves aspect ratio
$image->thumbnailimage(100, 0);

//Create a border around the image, then simulate how the image will look like as an oil painting
//Notice the chaining of mutator methods which is supported in gmagick
$image->borderimage("yellow", 8, 8)->oilpaintimage(0.3);

//Write the current image at the current state to a file
$image->write('example_thumbnail.jpg');
?>


The Gmagick class

(PECL gmagick >= Unknown)

Introdução

Sinopse da classe

Gmagick {
/* Métodos */
public addimage ( Gmagick $source ) : Gmagick
public addnoiseimage ( int $noise_type ) : Gmagick
public annotateimage ( GmagickDraw $GmagickDraw , float $x , float $y , float $angle , string $text ) : Gmagick
public blurimage ( float $radius , float $sigma , int $channel = ? ) : Gmagick
public borderimage ( GmagickPixel $color , int $width , int $height ) : Gmagick
public charcoalimage ( float $radius , float $sigma ) : Gmagick
public chopimage ( int $width , int $height , int $x , int $y ) : Gmagick
public clear ( ) : Gmagick
public commentimage ( string $comment ) : Gmagick
public compositeimage ( Gmagick $source , int $COMPOSE , int $x , int $y ) : Gmagick
public __construct ( string $filename = ? )
public cropimage ( int $width , int $height , int $x , int $y ) : Gmagick
public cropthumbnailimage ( int $width , int $height ) : Gmagick
public current ( ) : Gmagick
public cyclecolormapimage ( int $displace ) : Gmagick
public deconstructimages ( ) : Gmagick
public despeckleimage ( ) : Gmagick
public destroy ( ) : bool
public drawimage ( GmagickDraw $GmagickDraw ) : Gmagick
public edgeimage ( float $radius ) : Gmagick
public embossimage ( float $radius , float $sigma ) : Gmagick
public enhanceimage ( ) : Gmagick
public equalizeimage ( ) : Gmagick
public flipimage ( ) : Gmagick
public flopimage ( ) : Gmagick
public frameimage ( GmagickPixel $color , int $width , int $height , int $inner_bevel , int $outer_bevel ) : Gmagick
public gammaimage ( float $gamma ) : Gmagick
public getcopyright ( ) : string
public getfilename ( ) : string
public getimagebackgroundcolor ( ) : GmagickPixel
public getimageblueprimary ( ) : array
public getimagebordercolor ( ) : GmagickPixel
public getimagechanneldepth ( int $channel_type ) : int
public getimagecolors ( ) : int
public getimagecolorspace ( ) : int
public getimagecompose ( ) : int
public getimagedelay ( ) : int
public getimagedepth ( ) : int
public getimagedispose ( ) : int
public getimageextrema ( ) : array
public getimagefilename ( ) : string
public getimageformat ( ) : string
public getimagegamma ( ) : float
public getimagegreenprimary ( ) : array
public getimageheight ( ) : int
public getimagehistogram ( ) : array
public getimageindex ( ) : int
public getimageinterlacescheme ( ) : int
public getimageiterations ( ) : int
public getimagematte ( ) : int
public getimagemattecolor ( ) : GmagickPixel
public getimageprofile ( string $name ) : string
public getimageredprimary ( ) : array
public getimagerenderingintent ( ) : int
public getimageresolution ( ) : array
public getimagescene ( ) : int
public getimagesignature ( ) : string
public getimagetype ( ) : int
public getimageunits ( ) : int
public getimagewhitepoint ( ) : array
public getimagewidth ( ) : int
public getpackagename ( ) : string
public getquantumdepth ( ) : array
public getreleasedate ( ) : string
public getsamplingfactors ( ) : array
public getsize ( ) : array
public getversion ( ) : array
public hasnextimage ( ) : mixed
public haspreviousimage ( ) : mixed
public implodeimage ( float $radius ) : mixed
public labelimage ( string $label ) : mixed
public levelimage ( float $blackPoint , float $gamma , float $whitePoint , int $channel = Gmagick::CHANNEL_DEFAULT ) : mixed
public magnifyimage ( ) : mixed
public mapimage ( gmagick $gmagick , bool $dither ) : Gmagick
public medianfilterimage ( float $radius ) : void
public minifyimage ( ) : Gmagick
public modulateimage ( float $brightness , float $saturation , float $hue ) : Gmagick
public motionblurimage ( float $radius , float $sigma , float $angle ) : Gmagick
public newimage ( int $width , int $height , string $background , string $format = ? ) : Gmagick
public nextimage ( ) : bool
public normalizeimage ( int $channel = ? ) : Gmagick
public oilpaintimage ( float $radius ) : Gmagick
public previousimage ( ) : bool
public profileimage ( string $name , string $profile ) : Gmagick
public quantizeimage ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError ) : Gmagick
public quantizeimages ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError ) : Gmagick
public queryfontmetrics ( GmagickDraw $draw , string $text ) : array
public queryfonts ( string $pattern = "*" ) : array
public queryformats ( string $pattern = "*" ) : array
public radialblurimage ( float $angle , int $channel = Gmagick::CHANNEL_DEFAULT ) : Gmagick
public raiseimage ( int $width , int $height , int $x , int $y , bool $raise ) : Gmagick
public read ( string $filename ) : Gmagick
public readimage ( string $filename ) : Gmagick
public readimageblob ( string $imageContents , string $filename = ? ) : Gmagick
public readimagefile ( resource $fp , string $filename = ? ) : Gmagick
public reducenoiseimage ( float $radius ) : Gmagick
public removeimage ( ) : Gmagick
public removeimageprofile ( string $name ) : string
public resampleimage ( float $xResolution , float $yResolution , int $filter , float $blur ) : Gmagick
public resizeimage ( int $width , int $height , int $filter , float $blur , bool $fit = false ) : Gmagick
public rollimage ( int $x , int $y ) : Gmagick
public rotateimage ( mixed $color , float $degrees ) : Gmagick
public scaleimage ( int $width , int $height , bool $fit = false ) : Gmagick
public separateimagechannel ( int $channel ) : Gmagick
setCompressionQuality ( int $quality = 75 ) : Gmagick
public setfilename ( string $filename ) : Gmagick
public setimagebackgroundcolor ( GmagickPixel $color ) : Gmagick
public setimageblueprimary ( float $x , float $y ) : Gmagick
public setimagebordercolor ( GmagickPixel $color ) : Gmagick
public setimagechanneldepth ( int $channel , int $depth ) : Gmagick
public setimagecolorspace ( int $colorspace ) : Gmagick
public setimagecompose ( int $composite ) : Gmagick
public setimagedelay ( int $delay ) : Gmagick
public setimagedepth ( int $depth ) : Gmagick
public setimagedispose ( int $disposeType ) : Gmagick
public setimagefilename ( string $filename ) : Gmagick
public setimageformat ( string $imageFormat ) : Gmagick
public setimagegamma ( float $gamma ) : Gmagick
public setimagegreenprimary ( float $x , float $y ) : Gmagick
public setimageindex ( int $index ) : Gmagick
public setimageinterlacescheme ( int $interlace ) : Gmagick
public setimageiterations ( int $iterations ) : Gmagick
public setimageprofile ( string $name , string $profile ) : Gmagick
public setimageredprimary ( float $x , float $y ) : Gmagick
public setimagerenderingintent ( int $rendering_intent ) : Gmagick
public setimageresolution ( float $xResolution , float $yResolution ) : Gmagick
public setimagescene ( int $scene ) : Gmagick
public setimagetype ( int $imgType ) : Gmagick
public setimageunits ( int $resolution ) : Gmagick
public setimagewhitepoint ( float $x , float $y ) : Gmagick
public setsamplingfactors ( array $factors ) : Gmagick
public setsize ( int $columns , int $rows ) : Gmagick
public shearimage ( mixed $color , float $xShear , float $yShear ) : Gmagick
public solarizeimage ( int $threshold ) : Gmagick
public spreadimage ( float $radius ) : Gmagick
public stripimage ( ) : Gmagick
public swirlimage ( float $degrees ) : Gmagick
public thumbnailimage ( int $width , int $height , bool $fit = false ) : Gmagick
public trimimage ( float $fuzz ) : Gmagick
public writeimage ( string $filename , bool $all_frames = false ) : Gmagick
}

Índice

  • Gmagick::addimage — Adds new image to Gmagick object image list
  • Gmagick::addnoiseimage — Adds random noise to the image
  • Gmagick::annotateimage — Annotates an image with text
  • Gmagick::blurimage — Adds blur filter to image
  • Gmagick::borderimage — Surrounds the image with a border
  • Gmagick::charcoalimage — Simulates a charcoal drawing
  • Gmagick::chopimage — Removes a region of an image and trims
  • Gmagick::clear — Clears all resources associated to Gmagick object
  • Gmagick::commentimage — Adds a comment to your image
  • Gmagick::compositeimage — Composite one image onto another
  • Gmagick::__construct — The Gmagick constructor
  • Gmagick::cropimage — Extracts a region of the image
  • Gmagick::cropthumbnailimage — Creates a crop thumbnail
  • Gmagick::current — The current purpose
  • Gmagick::cyclecolormapimage — Displaces an image's colormap
  • Gmagick::deconstructimages — Returns certain pixel differences between images
  • Gmagick::despeckleimage — The despeckleimage purpose
  • Gmagick::destroy — The destroy purpose
  • Gmagick::drawimage — Renders the GmagickDraw object on the current image
  • Gmagick::edgeimage — Enhance edges within the image
  • Gmagick::embossimage — Returns a grayscale image with a three-dimensional effect
  • Gmagick::enhanceimage — Improves the quality of a noisy image
  • Gmagick::equalizeimage — Equalizes the image histogram
  • Gmagick::flipimage — Creates a vertical mirror image
  • Gmagick::flopimage — The flopimage purpose
  • Gmagick::frameimage — Adds a simulated three-dimensional border
  • Gmagick::gammaimage — Gamma-corrects an image
  • Gmagick::getcopyright — Returns the GraphicsMagick API copyright as a string
  • Gmagick::getfilename — The filename associated with an image sequence
  • Gmagick::getimagebackgroundcolor — Returns the image background color
  • Gmagick::getimageblueprimary — Returns the chromaticy blue primary point
  • Gmagick::getimagebordercolor — Returns the image border color
  • Gmagick::getimagechanneldepth — Gets the depth for a particular image channel
  • Gmagick::getimagecolors — Returns the color of the specified colormap index
  • Gmagick::getimagecolorspace — Gets the image colorspace
  • Gmagick::getimagecompose — Returns the composite operator associated with the image
  • Gmagick::getimagedelay — Gets the image delay
  • Gmagick::getimagedepth — Gets the depth of the image
  • Gmagick::getimagedispose — Gets the image disposal method
  • Gmagick::getimageextrema — Gets the extrema for the image
  • Gmagick::getimagefilename — Returns the filename of a particular image in a sequence
  • Gmagick::getimageformat — Returns the format of a particular image in a sequence
  • Gmagick::getimagegamma — Gets the image gamma
  • Gmagick::getimagegreenprimary — Returns the chromaticy green primary point
  • Gmagick::getimageheight — Returns the image height
  • Gmagick::getimagehistogram — Gets the image histogram
  • Gmagick::getimageindex — Gets the index of the current active image
  • Gmagick::getimageinterlacescheme — Gets the image interlace scheme
  • Gmagick::getimageiterations — Gets the image iterations
  • Gmagick::getimagematte — Check if the image has a matte channel
  • Gmagick::getimagemattecolor — Returns the image matte color
  • Gmagick::getimageprofile — Returns the named image profile
  • Gmagick::getimageredprimary — Returns the chromaticity red primary point
  • Gmagick::getimagerenderingintent — Gets the image rendering intent
  • Gmagick::getimageresolution — Gets the image X and Y resolution
  • Gmagick::getimagescene — Gets the image scene
  • Gmagick::getimagesignature — Generates an SHA-256 message digest
  • Gmagick::getimagetype — Gets the potential image type
  • Gmagick::getimageunits — Gets the image units of resolution
  • Gmagick::getimagewhitepoint — Returns the chromaticity white point
  • Gmagick::getimagewidth — Returns the width of the image
  • Gmagick::getpackagename — Returns the GraphicsMagick package name
  • Gmagick::getquantumdepth — Returns the Gmagick quantum depth as a string
  • Gmagick::getreleasedate — Returns the GraphicsMagick release date as a string
  • Gmagick::getsamplingfactors — Gets the horizontal and vertical sampling factor
  • Gmagick::getsize — Returns the size associated with the Gmagick object
  • Gmagick::getversion — Returns the GraphicsMagick API version
  • Gmagick::hasnextimage — Checks if the object has more images
  • Gmagick::haspreviousimage — Checks if the object has a previous image
  • Gmagick::implodeimage — Creates a new image as a copy
  • Gmagick::labelimage — Adds a label to an image
  • Gmagick::levelimage — Adjusts the levels of an image
  • Gmagick::magnifyimage — Scales an image proportionally 2x
  • Gmagick::mapimage — Replaces the colors of an image with the closest color from a reference image
  • Gmagick::medianfilterimage — Applies a digital filter
  • Gmagick::minifyimage — Scales an image proportionally to half its size
  • Gmagick::modulateimage — Control the brightness, saturation, and hue
  • Gmagick::motionblurimage — Simulates motion blur
  • Gmagick::newimage — Creates a new image
  • Gmagick::nextimage — Moves to the next image
  • Gmagick::normalizeimage — Enhances the contrast of a color image
  • Gmagick::oilpaintimage — Simulates an oil painting
  • Gmagick::previousimage — Move to the previous image in the object
  • Gmagick::profileimage — Adds or removes a profile from an image
  • Gmagick::quantizeimage — Analyzes the colors within a reference image
  • Gmagick::quantizeimages — The quantizeimages purpose
  • Gmagick::queryfontmetrics — Returns an array representing the font metrics
  • Gmagick::queryfonts — Returns the configured fonts
  • Gmagick::queryformats — Returns formats supported by Gmagick
  • Gmagick::radialblurimage — Radial blurs an image
  • Gmagick::raiseimage — Creates a simulated 3d button-like effect
  • Gmagick::read — Reads image from filename
  • Gmagick::readimage — Reads image from filename
  • Gmagick::readimageblob — Reads image from a binary string
  • Gmagick::readimagefile — The readimagefile purpose
  • Gmagick::reducenoiseimage — Smooths the contours of an image
  • Gmagick::removeimage — Removes an image from the image list
  • Gmagick::removeimageprofile — Removes the named image profile and returns it
  • Gmagick::resampleimage — Resample image to desired resolution
  • Gmagick::resizeimage — Scales an image
  • Gmagick::rollimage — Offsets an image
  • Gmagick::rotateimage — Rotates an image
  • Gmagick::scaleimage — Scales the size of an image
  • Gmagick::separateimagechannel — Separates a channel from the image
  • Gmagick::setCompressionQuality — Sets the object's default compression quality
  • Gmagick::setfilename — Sets the filename before you read or write the image
  • Gmagick::setimagebackgroundcolor — Sets the image background color
  • Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point
  • Gmagick::setimagebordercolor — Sets the image border color
  • Gmagick::setimagechanneldepth — Sets the depth of a particular image channel
  • Gmagick::setimagecolorspace — Sets the image colorspace
  • Gmagick::setimagecompose — Sets the image composite operator
  • Gmagick::setimagedelay — Sets the image delay
  • Gmagick::setimagedepth — Sets the image depth
  • Gmagick::setimagedispose — Sets the image disposal method
  • Gmagick::setimagefilename — Sets the filename of a particular image in a sequence
  • Gmagick::setimageformat — Sets the format of a particular image
  • Gmagick::setimagegamma — Sets the image gamma
  • Gmagick::setimagegreenprimary — Sets the image chromaticity green primary point
  • Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter
  • Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image
  • Gmagick::setimageiterations — Sets the image iterations
  • Gmagick::setimageprofile — Adds a named profile to the Gmagick object
  • Gmagick::setimageredprimary — Sets the image chromaticity red primary point
  • Gmagick::setimagerenderingintent — Sets the image rendering intent
  • Gmagick::setimageresolution — Sets the image resolution
  • Gmagick::setimagescene — Sets the image scene
  • Gmagick::setimagetype — Sets the image type
  • Gmagick::setimageunits — Sets the image units of resolution
  • Gmagick::setimagewhitepoint — Sets the image chromaticity white point
  • Gmagick::setsamplingfactors — Sets the image sampling factors
  • Gmagick::setsize — Sets the size of the Gmagick object
  • Gmagick::shearimage — Creating a parallelogram
  • Gmagick::solarizeimage — Applies a solarizing effect to the image
  • Gmagick::spreadimage — Randomly displaces each pixel in a block
  • Gmagick::stripimage — Strips an image of all profiles and comments
  • Gmagick::swirlimage — Swirls the pixels about the center of the image
  • Gmagick::thumbnailimage — Changes the size of an image
  • Gmagick::trimimage — Remove edges from the image
  • Gmagick::write — Sinônimo de Gmagick::writeimage
  • Gmagick::writeimage — Writes an image to the specified filename


Adds new image to Gmagick object image list

  • « Gmagick
  • Gmagick::addnoiseimage »
  • PHP Manual
  • Gmagick
  • Adds new image to Gmagick object image list

Gmagick::addimage

(PECL gmagick >= Unknown)

Gmagick::addimage — Adds new image to Gmagick object image list

Descrição

public Gmagick::addimage ( Gmagick $source ) : Gmagick

Adds new image to Gmagick object from the current position of the source object. After the operation iterator position is moved at the end of the list.

Parâmetros

source

The source Gmagick object

Valor Retornado

The Gmagick object with image added

Erros

Lança uma exceção GmagickException em erros.


Adds random noise to the image

  • « Gmagick::addimage
  • Gmagick::annotateimage »
  • PHP Manual
  • Gmagick
  • Adds random noise to the image

Gmagick::addnoiseimage

(PECL gmagick >= Unknown)

Gmagick::addnoiseimage — Adds random noise to the image

Descrição

public Gmagick::addnoiseimage ( int $noise_type ) : Gmagick

Adds random noise to the image.

Parâmetros

noise_type

The type of the noise. Refer to this list of noise constants.

Valor Retornado

The Gmagick object with noise added.

Erros

Lança uma exceção GmagickException em erros.


Annotates an image with text

  • « Gmagick::addnoiseimage
  • Gmagick::blurimage »
  • PHP Manual
  • Gmagick
  • Annotates an image with text

Gmagick::annotateimage

(PECL gmagick >= Unknown)

Gmagick::annotateimage — Annotates an image with text

Descrição

public Gmagick::annotateimage ( GmagickDraw $GmagickDraw , float $x , float $y , float $angle , string $text ) : Gmagick

Annotates an image with text.

Parâmetros

GmagickDraw

The GmagickDraw object that contains settings for drawing the text

x

Horizontal offset in pixels to the left of text

y

Vertical offset in pixels to the baseline of text

angle

The angle at which to write the text

text

The string to draw

Valor Retornado

The Gmagick object with annotation made.

Erros

Lança uma exceção GmagickException em erros.


Adds blur filter to image

  • « Gmagick::annotateimage
  • Gmagick::borderimage »
  • PHP Manual
  • Gmagick
  • Adds blur filter to image

Gmagick::blurimage

(PECL gmagick >= Unknown)

Gmagick::blurimage — Adds blur filter to image

Descrição

public Gmagick::blurimage ( float $radius , float $sigma , int $channel = ? ) : Gmagick

Adds blur filter to image.

Parâmetros

radius

Blur radius

sigma

Standard deviation

Valor Retornado

The blurred Gmagick object

Erros

Lança uma exceção GmagickException em erros.


Surrounds the image with a border

  • « Gmagick::blurimage
  • Gmagick::charcoalimage »
  • PHP Manual
  • Gmagick
  • Surrounds the image with a border

Gmagick::borderimage

(PECL gmagick >= Unknown)

Gmagick::borderimage — Surrounds the image with a border

Descrição

public Gmagick::borderimage ( GmagickPixel $color , int $width , int $height ) : Gmagick

Surrounds the image with a border of the color defined by the bordercolor GmagickPixel object or a color string.

Parâmetros

color

GmagickPixel object or a string containing the border color

width

Border width

height

Border height

Valor Retornado

The Gmagick object with border defined

Erros

Lança uma exceção GmagickException em erros.


Simulates a charcoal drawing

  • « Gmagick::borderimage
  • Gmagick::chopimage »
  • PHP Manual
  • Gmagick
  • Simulates a charcoal drawing

Gmagick::charcoalimage

(PECL gmagick >= Unknown)

Gmagick::charcoalimage — Simulates a charcoal drawing

Descrição

public Gmagick::charcoalimage ( float $radius , float $sigma ) : Gmagick

Simulates a charcoal drawing.

Parâmetros

radius

The radius of the Gaussian, in pixels, not counting the center pixel

sigma

The standard deviation of the Gaussian, in pixels

Valor Retornado

The Gmagick object with charcoal simulation

Erros

Lança uma exceção GmagickException em erros.


Removes a region of an image and trims

  • « Gmagick::charcoalimage
  • Gmagick::clear »
  • PHP Manual
  • Gmagick
  • Removes a region of an image and trims

Gmagick::chopimage

(PECL gmagick >= Unknown)

Gmagick::chopimage — Removes a region of an image and trims

Descrição

public Gmagick::chopimage ( int $width , int $height , int $x , int $y ) : Gmagick

Removes a region of an image and collapses the image to occupy the removed portion.

Parâmetros

width

Width of the chopped area

height

Height of the chopped area

x

X origo of the chopped area

y

Y origo of the chopped area

Valor Retornado

The chopped Gmagick object

Erros

Lança uma exceção GmagickException em erros.


Clears all resources associated to Gmagick object

  • « Gmagick::chopimage
  • Gmagick::commentimage »
  • PHP Manual
  • Gmagick
  • Clears all resources associated to Gmagick object

Gmagick::clear

(PECL gmagick >= Unknown)

Gmagick::clear — Clears all resources associated to Gmagick object

Descrição

public Gmagick::clear ( ) : Gmagick

Clears all resources associated to Gmagick object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The cleared Gmagick object

Erros

Lança uma exceção GmagickException em erros.


Adds a comment to your image

  • « Gmagick::clear
  • Gmagick::compositeimage »
  • PHP Manual
  • Gmagick
  • Adds a comment to your image

Gmagick::commentimage

(PECL gmagick >= Unknown)

Gmagick::commentimage — Adds a comment to your image

Descrição

public Gmagick::commentimage ( string $comment ) : Gmagick

Adds a comment to your image.

Parâmetros

comment

The comment to add

Valor Retornado

The Gmagick object with comment added.

Erros

Lança uma exceção GmagickException em erros.


Composite one image onto another

  • « Gmagick::commentimage
  • Gmagick::__construct »
  • PHP Manual
  • Gmagick
  • Composite one image onto another

Gmagick::compositeimage

(PECL gmagick >= Unknown)

Gmagick::compositeimage — Composite one image onto another

Descrição

public Gmagick::compositeimage ( Gmagick $source , int $COMPOSE , int $x , int $y ) : Gmagick

Composite one image onto another at the specified offset.

Parâmetros

source

Gmagick object which holds the composite image

compose

Composite operator.

x

The column offset of the composited image

y

The row offset of the composited image

Valor Retornado

The Gmagick object with compositions.

Erros

Lança uma exceção GmagickException em erros.


The Gmagick constructor

  • « Gmagick::compositeimage
  • Gmagick::cropimage »
  • PHP Manual
  • Gmagick
  • The Gmagick constructor

Gmagick::__construct

(PECL gmagick >= Unknown)

Gmagick::__construct — The Gmagick constructor

Descrição

public Gmagick::__construct ( string $filename = ? )

The Gmagick constructor.

Parâmetros

filename

The path to an image to load or array of paths

Valor Retornado

Returns a new Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Extracts a region of the image

  • « Gmagick::__construct
  • Gmagick::cropthumbnailimage »
  • PHP Manual
  • Gmagick
  • Extracts a region of the image

Gmagick::cropimage

(PECL gmagick >= Unknown)

Gmagick::cropimage — Extracts a region of the image

Descrição

public Gmagick::cropimage ( int $width , int $height , int $x , int $y ) : Gmagick

Extracts a region of the image.

Parâmetros

width

The width of the crop

height

The height of the crop

x

The X coordinate of the cropped region's top left corner

y

The Y coordinate of the cropped region's top left corner

Valor Retornado

The cropped Gmagick object

Erros

Lança uma exceção GmagickException em erros.


Creates a crop thumbnail

  • « Gmagick::cropimage
  • Gmagick::current »
  • PHP Manual
  • Gmagick
  • Creates a crop thumbnail

Gmagick::cropthumbnailimage

(PECL gmagick >= Unknown)

Gmagick::cropthumbnailimage — Creates a crop thumbnail

Descrição

public Gmagick::cropthumbnailimage ( int $width , int $height ) : Gmagick

Creates a fixed size thumbnail by first scaling the image down and cropping a specified area from the center.

Parâmetros

width

The width of the thumbnail

height

The Height of the thumbnail

Valor Retornado

The cropped Gmagick object

Erros

Lança uma exceção GmagickException em erros.


The current purpose

  • « Gmagick::cropthumbnailimage
  • Gmagick::cyclecolormapimage »
  • PHP Manual
  • Gmagick
  • The current purpose

Gmagick::current

(PECL gmagick >= Unknown)

Gmagick::current — The current purpose

Descrição

public Gmagick::current ( ) : Gmagick

Returns reference to the current gmagick object with image pointer at the correct sequence.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns self on success.

Erros

Lança uma exceção GmagickException em erros.


Displaces an image's colormap

  • « Gmagick::current
  • Gmagick::deconstructimages »
  • PHP Manual
  • Gmagick
  • Displaces an image's colormap

Gmagick::cyclecolormapimage

(PECL gmagick >= Unknown)

Gmagick::cyclecolormapimage — Displaces an image's colormap

Descrição

public Gmagick::cyclecolormapimage ( int $displace ) : Gmagick

Displaces an image's colormap by a given number of positions. If you cycle the colormap a number of times you can produce a psychedelic effect.

Parâmetros

displace

The amount to displace the colormap.

Valor Retornado

Returns self on success.

Erros

Lança uma exceção GmagickException em erros.


Returns certain pixel differences between images

  • « Gmagick::cyclecolormapimage
  • Gmagick::despeckleimage »
  • PHP Manual
  • Gmagick
  • Returns certain pixel differences between images

Gmagick::deconstructimages

(PECL gmagick >= Unknown)

Gmagick::deconstructimages — Returns certain pixel differences between images

Descrição

public Gmagick::deconstructimages ( ) : Gmagick

Compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a new Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


The despeckleimage purpose

  • « Gmagick::deconstructimages
  • Gmagick::destroy »
  • PHP Manual
  • Gmagick
  • The despeckleimage purpose

Gmagick::despeckleimage

(PECL gmagick >= Unknown)

Gmagick::despeckleimage — The despeckleimage purpose

Descrição

public Gmagick::despeckleimage ( ) : Gmagick

Reduces the speckle noise in an image while preserving the edges of the original image.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The despeckled Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.

Exemplos

Exemplo #1 Gmagick::despeckleimage() example

<?php
/* ... */
?>

O exemplo acima irá imprimir algo similar à:

...

Veja Também

  • Classname::Method()


The destroy purpose

  • « Gmagick::despeckleimage
  • Gmagick::drawimage »
  • PHP Manual
  • Gmagick
  • The destroy purpose

Gmagick::destroy

(PECL gmagick >= Unknown)

Gmagick::destroy — The destroy purpose

Descrição

public Gmagick::destroy ( ) : bool

Destroys the Gmagick object and frees all resources associated with it

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Lança uma exceção GmagickException em erros.


Renders the GmagickDraw object on the current image

  • « Gmagick::destroy
  • Gmagick::edgeimage »
  • PHP Manual
  • Gmagick
  • Renders the GmagickDraw object on the current image

Gmagick::drawimage

(PECL gmagick >= Unknown)

Gmagick::drawimage — Renders the GmagickDraw object on the current image

Descrição

public Gmagick::drawimage ( GmagickDraw $GmagickDraw ) : Gmagick

Renders the GmagickDraw object on the current image

Parâmetros

GmagickDraw

The drawing operations to render on the image.

Valor Retornado

The drawn Gmagick object

Erros

Lança uma exceção GmagickException em erros.


Enhance edges within the image

  • « Gmagick::drawimage
  • Gmagick::embossimage »
  • PHP Manual
  • Gmagick
  • Enhance edges within the image

Gmagick::edgeimage

(PECL gmagick >= Unknown)

Gmagick::edgeimage — Enhance edges within the image

Descrição

public Gmagick::edgeimage ( float $radius ) : Gmagick

Enhance edges within the image with a convolution filter of the given radius. Use radius 0 and it will be auto-selected.

Parâmetros

radius

The radius of the operation.

Valor Retornado

The Gmagick object with edges enhanced.

Erros

Lança uma exceção GmagickException em erros.


Returns a grayscale image with a three-dimensional effect

  • « Gmagick::edgeimage
  • Gmagick::enhanceimage »
  • PHP Manual
  • Gmagick
  • Returns a grayscale image with a three-dimensional effect

Gmagick::embossimage

(PECL gmagick >= Unknown)

Gmagick::embossimage — Returns a grayscale image with a three-dimensional effect

Descrição

public Gmagick::embossimage ( float $radius , float $sigma ) : Gmagick

Returns a grayscale image with a three-dimensional effect. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and it will choose a suitable radius for you.

Parâmetros

radius

The radius of the effect

sigma

The sigma of the effect

Valor Retornado

The embossed Gmagick object.

Erros

Lança uma exceção GmagickException em erros.


Improves the quality of a noisy image

  • « Gmagick::embossimage
  • Gmagick::equalizeimage »
  • PHP Manual
  • Gmagick
  • Improves the quality of a noisy image

Gmagick::enhanceimage

(PECL gmagick >= Unknown)

Gmagick::enhanceimage — Improves the quality of a noisy image

Descrição

public Gmagick::enhanceimage ( ) : Gmagick

Applies a digital filter that improves the quality of a noisy image.

Valor Retornado

The enhanced Gmagick object.

Erros

Lança uma exceção GmagickException em erros.


Equalizes the image histogram

  • « Gmagick::enhanceimage
  • Gmagick::flipimage »
  • PHP Manual
  • Gmagick
  • Equalizes the image histogram

Gmagick::equalizeimage

(PECL gmagick >= Unknown)

Gmagick::equalizeimage — Equalizes the image histogram

Descrição

public Gmagick::equalizeimage ( ) : Gmagick

Equalizes the image histogram.

Valor Retornado

The equalized Gmagick object.

Erros

Lança uma exceção GmagickException em erros.


Creates a vertical mirror image

  • « Gmagick::equalizeimage
  • Gmagick::flopimage »
  • PHP Manual
  • Gmagick
  • Creates a vertical mirror image

Gmagick::flipimage

(PECL gmagick >= Unknown)

Gmagick::flipimage — Creates a vertical mirror image

Descrição

public Gmagick::flipimage ( ) : Gmagick

Creates a vertical mirror image by reflecting the pixels around the central x-axis.

Valor Retornado

The flipped Gmagick object.

Erros

Lança uma exceção GmagickException em erros.

Veja Também

  • Imagick::flopimage() - Creates a vertical mirror image


The flopimage purpose

  • « Gmagick::flipimage
  • Gmagick::frameimage »
  • PHP Manual
  • Gmagick
  • The flopimage purpose

Gmagick::flopimage

(PECL gmagick >= Unknown)

Gmagick::flopimage — The flopimage purpose

Descrição

public Gmagick::flopimage ( ) : Gmagick

Creates a vertical mirror image by reflecting the pixels around the central y-axis.

Valor Retornado

The flopped Gmagick object.

Erros

Lança uma exceção GmagickException em erros.

Veja Também

  • Imagick::flipimage() - Creates a vertical mirror image


Adds a simulated three-dimensional border

  • « Gmagick::flopimage
  • Gmagick::gammaimage »
  • PHP Manual
  • Gmagick
  • Adds a simulated three-dimensional border

Gmagick::frameimage

(PECL gmagick >= Unknown)

Gmagick::frameimage — Adds a simulated three-dimensional border

Descrição

public Gmagick::frameimage ( GmagickPixel $color , int $width , int $height , int $inner_bevel , int $outer_bevel ) : Gmagick

Adds a simulated three-dimensional border around the image. The width and height specify the border width of the vertical and horizontal sides of the frame. The inner and outer bevels indicate the width of the inner and outer shadows of the frame.

Parâmetros

color

GmagickPixel object or a float representing the matte color

width

The width of the border

height

The height of the border

inner_bevel

The inner bevel width

outer_bevel

The outer bevel width

Valor Retornado

The framed Gmagick object.

Erros

Lança uma exceção GmagickException em erros.


Gamma-corrects an image

  • « Gmagick::frameimage
  • Gmagick::getcopyright »
  • PHP Manual
  • Gmagick
  • Gamma-corrects an image

Gmagick::gammaimage

(PECL gmagick >= Unknown)

Gmagick::gammaimage — Gamma-corrects an image

Descrição

public Gmagick::gammaimage ( float $gamma ) : Gmagick

Gamma-corrects an image. The same image viewed on different devices will have perceptual differences in the way the image's intensities are represented on the screen. Specify individual gamma levels for the red, green, and blue channels, or adjust all three with the gamma parameter. Values typically range from 0.8 to 2.3.

Parâmetros

gamma

The amount of gamma-correction.

Valor Retornado

The gamma corrected Gmagick object.

Erros

Lança uma exceção GmagickException em erros.


Returns the GraphicsMagick API copyright as a string

  • « Gmagick::gammaimage
  • Gmagick::getfilename »
  • PHP Manual
  • Gmagick
  • Returns the GraphicsMagick API copyright as a string

Gmagick::getcopyright

(PECL gmagick >= Unknown)

Gmagick::getcopyright — Returns the GraphicsMagick API copyright as a string

Descrição

public Gmagick::getcopyright ( ) : string

Returns the GraphicsMagick API copyright as a string.

Valor Retornado

Returns a string containing the copyright notice of GraphicsMagick and Magickwand C API.

Erros

Lança uma exceção GmagickException em erros.


The filename associated with an image sequence

  • « Gmagick::getcopyright
  • Gmagick::getimagebackgroundcolor »
  • PHP Manual
  • Gmagick
  • The filename associated with an image sequence

Gmagick::getfilename

(PECL gmagick >= Unknown)

Gmagick::getfilename — The filename associated with an image sequence

Descrição

public Gmagick::getfilename ( ) : string

Returns the filename associated with an image sequence.

Valor Retornado

Returns a string on success.

Erros

Lança uma exceção GmagickException em erros.


Returns the image background color

  • « Gmagick::getfilename
  • Gmagick::getimageblueprimary »
  • PHP Manual
  • Gmagick
  • Returns the image background color

Gmagick::getimagebackgroundcolor

(PECL gmagick >= Unknown)

Gmagick::getimagebackgroundcolor — Returns the image background color

Descrição

public Gmagick::getimagebackgroundcolor ( ) : GmagickPixel

Returns the image background color.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an GmagickPixel set to the background color of the image.

Erros

Lança uma exceção GmagickException em erros.


Returns the chromaticy blue primary point

  • « Gmagick::getimagebackgroundcolor
  • Gmagick::getimagebordercolor »
  • PHP Manual
  • Gmagick
  • Returns the chromaticy blue primary point

Gmagick::getimageblueprimary

(PECL gmagick >= Unknown)

Gmagick::getimageblueprimary — Returns the chromaticy blue primary point

Descrição

public Gmagick::getimageblueprimary ( ) : array

Returns the chromaticity blue primary point for the image.

Parâmetros

x

The chromaticity blue primary x-point.

y

The chromaticity blue primary y-point.

Valor Retornado

Array consisting of "x" and "y" coordinates of point.

Erros

Lança uma exceção GmagickException em erros.


Returns the image border color

  • « Gmagick::getimageblueprimary
  • Gmagick::getimagechanneldepth »
  • PHP Manual
  • Gmagick
  • Returns the image border color

Gmagick::getimagebordercolor

(PECL gmagick >= Unknown)

Gmagick::getimagebordercolor — Returns the image border color

Descrição

public Gmagick::getimagebordercolor ( ) : GmagickPixel

Returns the image border color.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

GmagickPixel object representing the color of the border

Erros

Lança uma exceção GmagickException em erros.


Gets the depth for a particular image channel

  • « Gmagick::getimagebordercolor
  • Gmagick::getimagecolors »
  • PHP Manual
  • Gmagick
  • Gets the depth for a particular image channel

Gmagick::getimagechanneldepth

(PECL gmagick >= Unknown)

Gmagick::getimagechanneldepth — Gets the depth for a particular image channel

Descrição

public Gmagick::getimagechanneldepth ( int $channel_type ) : int

Gets the depth for a particular image channel.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Depth of image channel

Erros

Lança uma exceção GmagickException em erros.


Returns the color of the specified colormap index

  • « Gmagick::getimagechanneldepth
  • Gmagick::getimagecolorspace »
  • PHP Manual
  • Gmagick
  • Returns the color of the specified colormap index

Gmagick::getimagecolors

(PECL gmagick >= Unknown)

Gmagick::getimagecolors — Returns the color of the specified colormap index

Descrição

public Gmagick::getimagecolors ( ) : int

Returns the color of the specified colormap index.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of colors in image.

Erros

Lança uma exceção GmagickException em erros.


Gets the image colorspace

  • « Gmagick::getimagecolors
  • Gmagick::getimagecompose »
  • PHP Manual
  • Gmagick
  • Gets the image colorspace

Gmagick::getimagecolorspace

(PECL gmagick >= Unknown)

Gmagick::getimagecolorspace — Gets the image colorspace

Descrição

public Gmagick::getimagecolorspace ( ) : int

Gets the image colorspace.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Colorspace

Erros

Lança uma exceção GmagickException em erros.


Returns the composite operator associated with the image

  • « Gmagick::getimagecolorspace
  • Gmagick::getimagedelay »
  • PHP Manual
  • Gmagick
  • Returns the composite operator associated with the image

Gmagick::getimagecompose

(PECL gmagick >= Unknown)

Gmagick::getimagecompose — Returns the composite operator associated with the image

Descrição

public Gmagick::getimagecompose ( ) : int

Returns the composite operator associated with the image.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the composite operator associated with the image.

Erros

Lança uma exceção GmagickException em erros.


Gets the image delay

  • « Gmagick::getimagecompose
  • Gmagick::getimagedepth »
  • PHP Manual
  • Gmagick
  • Gets the image delay

Gmagick::getimagedelay

(PECL gmagick >= Unknown)

Gmagick::getimagedelay — Gets the image delay

Descrição

public Gmagick::getimagedelay ( ) : int

Gets the image delay

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the composite operator associated with the image.

Erros

Lança uma exceção GmagickException em erros.


Gets the depth of the image

  • « Gmagick::getimagedelay
  • Gmagick::getimagedispose »
  • PHP Manual
  • Gmagick
  • Gets the depth of the image

Gmagick::getimagedepth

(PECL gmagick >= Unknown)

Gmagick::getimagedepth — Gets the depth of the image

Descrição

public Gmagick::getimagedepth ( ) : int

Gets the depth of the image.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Image depth

Erros

Lança uma exceção GmagickException em erros.


Gets the image disposal method

  • « Gmagick::getimagedepth
  • Gmagick::getimageextrema »
  • PHP Manual
  • Gmagick
  • Gets the image disposal method

Gmagick::getimagedispose

(PECL gmagick >= Unknown)

Gmagick::getimagedispose — Gets the image disposal method

Descrição

public Gmagick::getimagedispose ( ) : int

Gets the image disposal method

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the dispose method on success.

Erros

Lança uma exceção GmagickException em erros.


Gets the extrema for the image

  • « Gmagick::getimagedispose
  • Gmagick::getimagefilename »
  • PHP Manual
  • Gmagick
  • Gets the extrema for the image

Gmagick::getimageextrema

(PECL gmagick >= Unknown)

Gmagick::getimageextrema — Gets the extrema for the image

Descrição

public Gmagick::getimageextrema ( ) : array

Returns an associative array with the keys "min" and "max". Lança uma exceção GmagickException em erros.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an associative array with the keys "min" and "max".

Erros

Lança uma exceção GmagickException em erros.


Returns the filename of a particular image in a sequence

  • « Gmagick::getimageextrema
  • Gmagick::getimageformat »
  • PHP Manual
  • Gmagick
  • Returns the filename of a particular image in a sequence

Gmagick::getimagefilename

(PECL gmagick >= Unknown)

Gmagick::getimagefilename — Returns the filename of a particular image in a sequence

Descrição

public Gmagick::getimagefilename ( ) : string

Returns the filename of a particular image in a sequence

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string with the filename of the image

Erros

Lança uma exceção GmagickException em erros.


Returns the format of a particular image in a sequence

  • « Gmagick::getimagefilename
  • Gmagick::getimagegamma »
  • PHP Manual
  • Gmagick
  • Returns the format of a particular image in a sequence

Gmagick::getimageformat

(PECL gmagick >= Unknown)

Gmagick::getimageformat — Returns the format of a particular image in a sequence

Descrição

public Gmagick::getimageformat ( ) : string

Returns the format of a particular image in a sequence.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string containing the image format on success.

Erros

Lança uma exceção GmagickException em erros.


Gets the image gamma

  • « Gmagick::getimageformat
  • Gmagick::getimagegreenprimary »
  • PHP Manual
  • Gmagick
  • Gets the image gamma

Gmagick::getimagegamma

(PECL gmagick >= Unknown)

Gmagick::getimagegamma — Gets the image gamma

Descrição

public Gmagick::getimagegamma ( ) : float

Gets the image gamma

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the image gamma on success

Erros

Lança uma exceção GmagickException em erros.


Returns the chromaticy green primary point

  • « Gmagick::getimagegamma
  • Gmagick::getimageheight »
  • PHP Manual
  • Gmagick
  • Returns the chromaticy green primary point

Gmagick::getimagegreenprimary

(PECL gmagick >= Unknown)

Gmagick::getimagegreenprimary — Returns the chromaticy green primary point

Descrição

public Gmagick::getimagegreenprimary ( ) : array

Returns the chromaticity green primary point. Returns an array with the keys "x" and "y".

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array with the keys "x" and "y" on success.

Erros

Lança uma exceção GmagickException em erros.


Returns the image height

  • « Gmagick::getimagegreenprimary
  • Gmagick::getimagehistogram »
  • PHP Manual
  • Gmagick
  • Returns the image height

Gmagick::getimageheight

(PECL gmagick >= Unknown)

Gmagick::getimageheight — Returns the image height

Descrição

public Gmagick::getimageheight ( ) : int

Returns the image height

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the image height in pixels.

Erros

Lança uma exceção GmagickException em erros.


Gets the image histogram

  • « Gmagick::getimageheight
  • Gmagick::getimageindex »
  • PHP Manual
  • Gmagick
  • Gets the image histogram

Gmagick::getimagehistogram

(PECL gmagick >= Unknown)

Gmagick::getimagehistogram — Gets the image histogram

Descrição

public Gmagick::getimagehistogram ( ) : array

Returns the image histogram as an array of GmagickPixel objects. Throw an GmagickException on error.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the image histogram as an array of GmagickPixel objects.

Erros

Lança uma exceção GmagickException em erros.


Gets the index of the current active image

  • « Gmagick::getimagehistogram
  • Gmagick::getimageinterlacescheme »
  • PHP Manual
  • Gmagick
  • Gets the index of the current active image

Gmagick::getimageindex

(PECL gmagick >= Unknown)

Gmagick::getimageindex — Gets the index of the current active image

Descrição

public Gmagick::getimageindex ( ) : int

Returns the index of the current active image within the Gmagick object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Index of current active image

Erros

Lança uma exceção GmagickException em erros.


Gets the image interlace scheme

  • « Gmagick::getimageindex
  • Gmagick::getimageiterations »
  • PHP Manual
  • Gmagick
  • Gets the image interlace scheme

Gmagick::getimageinterlacescheme

(PECL gmagick >= Unknown)

Gmagick::getimageinterlacescheme — Gets the image interlace scheme

Descrição

public Gmagick::getimageinterlacescheme ( ) : int

Gets the image interlace scheme.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the interlace scheme as an integer on success

Erros

Lança uma exceção GmagickException em erros.


Gets the image iterations

  • « Gmagick::getimageinterlacescheme
  • Gmagick::getimagematte »
  • PHP Manual
  • Gmagick
  • Gets the image iterations

Gmagick::getimageiterations

(PECL gmagick >= Unknown)

Gmagick::getimageiterations — Gets the image iterations

Descrição

public Gmagick::getimageiterations ( ) : int

Gets the image iterations.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the image iterations as an integer.

Erros

Lança uma exceção GmagickException em erros.


Check if the image has a matte channel

  • « Gmagick::getimageiterations
  • Gmagick::getimagemattecolor »
  • PHP Manual
  • Gmagick
  • Check if the image has a matte channel

Gmagick::getimagematte

(PECL gmagick >= Unknown)

Gmagick::getimagematte — Check if the image has a matte channel

Descrição

public Gmagick::getimagematte ( ) : int

Returns true if the image has a matte channel, otherwise false.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the image has a matte channel, otherwise false.

Erros

Lança uma exceção GmagickException em erros.


Returns the image matte color

  • « Gmagick::getimagematte
  • Gmagick::getimageprofile »
  • PHP Manual
  • Gmagick
  • Returns the image matte color

Gmagick::getimagemattecolor

(PECL gmagick >= Unknown)

Gmagick::getimagemattecolor — Returns the image matte color

Descrição

public Gmagick::getimagemattecolor ( ) : GmagickPixel

Returns GmagickPixel object on success. Throw an GmagickException on error.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns GmagickPixel object on success.

Erros

Lança uma exceção GmagickException em erros.


Returns the named image profile

  • « Gmagick::getimagemattecolor
  • Gmagick::getimageredprimary »
  • PHP Manual
  • Gmagick
  • Returns the named image profile

Gmagick::getimageprofile

(PECL gmagick >= Unknown)

Gmagick::getimageprofile — Returns the named image profile

Descrição

public Gmagick::getimageprofile ( string $name ) : string

Returns the named image profile.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string containing the image profile.

Erros

Lança uma exceção GmagickException em erros.


Returns the chromaticity red primary point

  • « Gmagick::getimageprofile
  • Gmagick::getimagerenderingintent »
  • PHP Manual
  • Gmagick
  • Returns the chromaticity red primary point

Gmagick::getimageredprimary

(PECL gmagick >= Unknown)

Gmagick::getimageredprimary — Returns the chromaticity red primary point

Descrição

public Gmagick::getimageredprimary ( ) : array

Returns the chromaticity red primary point as an array with the keys "x" and "y".

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the chromaticity red primary point as an array with the keys "x" and "y".

Erros

Lança uma exceção GmagickException em erros.


Gets the image rendering intent

  • « Gmagick::getimageredprimary
  • Gmagick::getimageresolution »
  • PHP Manual
  • Gmagick
  • Gets the image rendering intent

Gmagick::getimagerenderingintent

(PECL gmagick >= Unknown)

Gmagick::getimagerenderingintent — Gets the image rendering intent

Descrição

public Gmagick::getimagerenderingintent ( ) : int

Gets the image rendering intent

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Extracts a region of the image and returns it as a new wand

Erros

Lança uma exceção GmagickException em erros.


Gets the image X and Y resolution

  • « Gmagick::getimagerenderingintent
  • Gmagick::getimagescene »
  • PHP Manual
  • Gmagick
  • Gets the image X and Y resolution

Gmagick::getimageresolution

(PECL gmagick >= Unknown)

Gmagick::getimageresolution — Gets the image X and Y resolution

Descrição

public Gmagick::getimageresolution ( ) : array

Returns the resolution as an array.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the resolution as an array.

Erros

Lança uma exceção GmagickException em erros.


Gets the image scene

  • « Gmagick::getimageresolution
  • Gmagick::getimagesignature »
  • PHP Manual
  • Gmagick
  • Gets the image scene

Gmagick::getimagescene

(PECL gmagick >= Unknown)

Gmagick::getimagescene — Gets the image scene

Descrição

public Gmagick::getimagescene ( ) : int

Gets the image scene.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the image scene.

Erros

Lança uma exceção GmagickException em erros.


Generates an SHA-256 message digest

  • « Gmagick::getimagescene
  • Gmagick::getimagetype »
  • PHP Manual
  • Gmagick
  • Generates an SHA-256 message digest

Gmagick::getimagesignature

(PECL gmagick >= Unknown)

Gmagick::getimagesignature — Generates an SHA-256 message digest

Descrição

public Gmagick::getimagesignature ( ) : string

Generates an SHA-256 message digest for the image pixel stream.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string containing the SHA-256 hash of the file.

Erros

Lança uma exceção GmagickException em erros.


Gets the potential image type

  • « Gmagick::getimagesignature
  • Gmagick::getimageunits »
  • PHP Manual
  • Gmagick
  • Gets the potential image type

Gmagick::getimagetype

(PECL gmagick >= Unknown)

Gmagick::getimagetype — Gets the potential image type

Descrição

public Gmagick::getimagetype ( ) : int

Gets the potential image type.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the potential image type.

Erros

Lança uma exceção GmagickException em erros.


Gets the image units of resolution

  • « Gmagick::getimagetype
  • Gmagick::getimagewhitepoint »
  • PHP Manual
  • Gmagick
  • Gets the image units of resolution

Gmagick::getimageunits

(PECL gmagick >= Unknown)

Gmagick::getimageunits — Gets the image units of resolution

Descrição

public Gmagick::getimageunits ( ) : int

Gets the image units of resolution.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the image units of resolution.


Returns the chromaticity white point

  • « Gmagick::getimageunits
  • Gmagick::getimagewidth »
  • PHP Manual
  • Gmagick
  • Returns the chromaticity white point

Gmagick::getimagewhitepoint

(PECL gmagick >= Unknown)

Gmagick::getimagewhitepoint — Returns the chromaticity white point

Descrição

public Gmagick::getimagewhitepoint ( ) : array

Returns the chromaticity white point as an associative array with the keys "x" and "y".

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the chromaticity white point as an associative array with the keys "x" and "y".

Erros

Lança uma exceção GmagickException em erros.


Returns the width of the image

  • « Gmagick::getimagewhitepoint
  • Gmagick::getpackagename »
  • PHP Manual
  • Gmagick
  • Returns the width of the image

Gmagick::getimagewidth

(PECL gmagick >= Unknown)

Gmagick::getimagewidth — Returns the width of the image

Descrição

public Gmagick::getimagewidth ( ) : int

Returns the width of the image.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the image width.

Erros

Lança uma exceção GmagickException em erros.


Returns the GraphicsMagick package name

  • « Gmagick::getimagewidth
  • Gmagick::getquantumdepth »
  • PHP Manual
  • Gmagick
  • Returns the GraphicsMagick package name

Gmagick::getpackagename

(PECL gmagick >= Unknown)

Gmagick::getpackagename — Returns the GraphicsMagick package name

Descrição

public Gmagick::getpackagename ( ) : string

Returns the GraphicsMagick package name.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the GraphicsMagick package name as a string.

Erros

Lança uma exceção GmagickException em erros.


Returns the Gmagick quantum depth as a string

  • « Gmagick::getpackagename
  • Gmagick::getreleasedate »
  • PHP Manual
  • Gmagick
  • Returns the Gmagick quantum depth as a string

Gmagick::getquantumdepth

(PECL gmagick >= Unknown)

Gmagick::getquantumdepth — Returns the Gmagick quantum depth as a string

Descrição

public Gmagick::getquantumdepth ( ) : array

Returns the Gmagick quantum depth as a string.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the Gmagick quantum depth as a string.

Erros

Lança uma exceção GmagickException em erros.


Returns the GraphicsMagick release date as a string

  • « Gmagick::getquantumdepth
  • Gmagick::getsamplingfactors »
  • PHP Manual
  • Gmagick
  • Returns the GraphicsMagick release date as a string

Gmagick::getreleasedate

(PECL gmagick >= Unknown)

Gmagick::getreleasedate — Returns the GraphicsMagick release date as a string

Descrição

public Gmagick::getreleasedate ( ) : string

Returns the GraphicsMagick release date as a string.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the GraphicsMagick release date as a string.

Erros

Lança uma exceção GmagickException em erros.


Gets the horizontal and vertical sampling factor

  • « Gmagick::getreleasedate
  • Gmagick::getsize »
  • PHP Manual
  • Gmagick
  • Gets the horizontal and vertical sampling factor

Gmagick::getsamplingfactors

(PECL gmagick >= Unknown)

Gmagick::getsamplingfactors — Gets the horizontal and vertical sampling factor

Descrição

public Gmagick::getsamplingfactors ( ) : array

Gets the horizontal and vertical sampling factor.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an associative array with the horizontal and vertical sampling factors of the image.

Erros

Lança uma exceção GmagickException em erros.


Returns the size associated with the Gmagick object

  • « Gmagick::getsamplingfactors
  • Gmagick::getversion »
  • PHP Manual
  • Gmagick
  • Returns the size associated with the Gmagick object

Gmagick::getsize

(PECL gmagick >= Unknown)

Gmagick::getsize — Returns the size associated with the Gmagick object

Descrição

public Gmagick::getsize ( ) : array

Returns the size associated with the Gmagick object as an array with the keys "columns" and "rows".

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the size associated with the Gmagick object as an array with the keys "columns" and "rows".

Erros

Lança uma exceção GmagickException em erros.


Returns the GraphicsMagick API version

  • « Gmagick::getsize
  • Gmagick::hasnextimage »
  • PHP Manual
  • Gmagick
  • Returns the GraphicsMagick API version

Gmagick::getversion

(PECL gmagick >= Unknown)

Gmagick::getversion — Returns the GraphicsMagick API version

Descrição

public Gmagick::getversion ( ) : array

Returns the GraphicsMagick API version as a string and as a number.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the GraphicsMagick API version as a string and as a number.

Erros

Lança uma exceção GmagickException em erros.


Checks if the object has more images

  • « Gmagick::getversion
  • Gmagick::haspreviousimage »
  • PHP Manual
  • Gmagick
  • Checks if the object has more images

Gmagick::hasnextimage

(PECL gmagick >= Unknown)

Gmagick::hasnextimage — Checks if the object has more images

Descrição

public Gmagick::hasnextimage ( ) : mixed

Returns TRUE if the object has more images when traversing the list in the forward direction.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns TRUE if the object has more images when traversing the list in the forward direction, returns FALSE if there are none.

Erros

Lança uma exceção GmagickException em erros.


Checks if the object has a previous image

  • « Gmagick::hasnextimage
  • Gmagick::implodeimage »
  • PHP Manual
  • Gmagick
  • Checks if the object has a previous image

Gmagick::haspreviousimage

(PECL gmagick >= Unknown)

Gmagick::haspreviousimage — Checks if the object has a previous image

Descrição

public Gmagick::haspreviousimage ( ) : mixed

Returns TRUE if the object has more images when traversing the list in the reverse direction

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns TRUE if the object has more images when traversing the list in the reverse direction, returns FALSE if there are none.

Erros

Lança uma exceção GmagickException em erros.


Creates a new image as a copy

  • « Gmagick::haspreviousimage
  • Gmagick::labelimage »
  • PHP Manual
  • Gmagick
  • Creates a new image as a copy

Gmagick::implodeimage

(PECL gmagick >= Unknown)

Gmagick::implodeimage — Creates a new image as a copy

Descrição

public Gmagick::implodeimage ( float $radius ) : mixed

Creates a new image that is a copy of an existing one with the image pixels "imploded" by the specified percentage.

Parâmetros

radius

The radius of the implode

Valor Retornado

Returns imploded Gmagick object.

Erros

Lança uma exceção GmagickException em erros.


Adds a label to an image

  • « Gmagick::implodeimage
  • Gmagick::levelimage »
  • PHP Manual
  • Gmagick
  • Adds a label to an image

Gmagick::labelimage

(PECL gmagick >= Unknown)

Gmagick::labelimage — Adds a label to an image

Descrição

public Gmagick::labelimage ( string $label ) : mixed

Adds a label to an image.

Parâmetros

label

The label to add

Valor Retornado

Gmagick with label.

Erros

Lança uma exceção GmagickException em erros.


Adjusts the levels of an image

  • « Gmagick::labelimage
  • Gmagick::magnifyimage »
  • PHP Manual
  • Gmagick
  • Adjusts the levels of an image

Gmagick::levelimage

(PECL gmagick >= Unknown)

Gmagick::levelimage — Adjusts the levels of an image

Descrição

public Gmagick::levelimage ( float $blackPoint , float $gamma , float $whitePoint , int $channel = Gmagick::CHANNEL_DEFAULT ) : mixed

Adjusts the levels of an image by scaling the colors falling between specified white and black points to the full available quantum range. The parameters provided represent the black, mid, and white points. The black point specifies the darkest color in the image. Colors darker than the black point are set to zero. Mid point specifies a gamma correction to apply to the image. White point specifies the lightest color in the image. Colors brighter than the white point are set to the maximum quantum value.

Parâmetros

blackPoint

The image black point

gamma

The gamma value

whitePoint

The image white point

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Gmagick object with image levelled.

Erros

Lança uma exceção GmagickException em erros.


Scales an image proportionally 2x

  • « Gmagick::levelimage
  • Gmagick::mapimage »
  • PHP Manual
  • Gmagick
  • Scales an image proportionally 2x

Gmagick::magnifyimage

(PECL gmagick >= Unknown)

Gmagick::magnifyimage — Scales an image proportionally 2x

Descrição

public Gmagick::magnifyimage ( ) : mixed

Conveniently scales an image proportionally to twice its original size.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Magnified Gmagick object.

Erros

Lança uma exceção GmagickException em erros.


Replaces the colors of an image with the closest color from a reference image

  • « Gmagick::magnifyimage
  • Gmagick::medianfilterimage »
  • PHP Manual
  • Gmagick
  • Replaces the colors of an image with the closest color from a reference image

Gmagick::mapimage

(PECL gmagick >= Unknown)

Gmagick::mapimage — Replaces the colors of an image with the closest color from a reference image

Descrição

public Gmagick::mapimage ( gmagick $gmagick , bool $dither ) : Gmagick

Replaces the colors of an image with the closest color from a reference image.

Parâmetros

gmagick

The reference image

dither

Set this integer value to something other than zero to dither the mapped image

Valor Retornado

Gmagick object

Erros

Lança uma exceção GmagickException em erros.


Applies a digital filter

  • « Gmagick::mapimage
  • Gmagick::minifyimage »
  • PHP Manual
  • Gmagick
  • Applies a digital filter

Gmagick::medianfilterimage

(PECL gmagick >= Unknown)

Gmagick::medianfilterimage — Applies a digital filter

Descrição

public Gmagick::medianfilterimage ( float $radius ) : void

Applies a digital filter that improves the quality of a noisy image. Each pixel is replaced by the median in a set of neighboring pixels as defined by radius.

Parâmetros

radius

The radius of the pixel neighborhood.

Valor Retornado

Gmagick object with median filter applied.

Erros

Lança uma exceção GmagickException em erros.


Scales an image proportionally to half its size

  • « Gmagick::medianfilterimage
  • Gmagick::modulateimage »
  • PHP Manual
  • Gmagick
  • Scales an image proportionally to half its size

Gmagick::minifyimage

(PECL gmagick >= Unknown)

Gmagick::minifyimage — Scales an image proportionally to half its size

Descrição

public Gmagick::minifyimage ( ) : Gmagick

A convenient method that scales an image proportionally to one-half its original size

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Control the brightness, saturation, and hue

  • « Gmagick::minifyimage
  • Gmagick::motionblurimage »
  • PHP Manual
  • Gmagick
  • Control the brightness, saturation, and hue

Gmagick::modulateimage

(PECL gmagick >= Unknown)

Gmagick::modulateimage — Control the brightness, saturation, and hue

Descrição

public Gmagick::modulateimage ( float $brightness , float $saturation , float $hue ) : Gmagick

Lets you control the brightness, saturation, and hue of an image. Hue is the percentage of absolute rotation from the current position. For example 50 results in a counter-clockwise rotation of 90 degrees, 150 results in a clockwise rotation of 90 degrees, with 0 and 200 both resulting in a rotation of 180 degrees.

Parâmetros

brightness

The percent change in brighness (-100 thru +100).

saturation

The percent change in saturation (-100 thru +100)

hue

The percent change in hue (-100 thru +100)

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Simulates motion blur

  • « Gmagick::modulateimage
  • Gmagick::newimage »
  • PHP Manual
  • Gmagick
  • Simulates motion blur

Gmagick::motionblurimage

(PECL gmagick >= Unknown)

Gmagick::motionblurimage — Simulates motion blur

Descrição

public Gmagick::motionblurimage ( float $radius , float $sigma , float $angle ) : Gmagick

Simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and MotionBlurImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.

Parâmetros

radius

The radius of the Gaussian, in pixels, not counting the center pixel.

sigma

The standard deviation of the Gaussian, in pixels.

angle

Apply the effect along this angle.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Creates a new image

  • « Gmagick::motionblurimage
  • Gmagick::nextimage »
  • PHP Manual
  • Gmagick
  • Creates a new image

Gmagick::newimage

(PECL gmagick >= Unknown)

Gmagick::newimage — Creates a new image

Descrição

public Gmagick::newimage ( int $width , int $height , string $background , string $format = ? ) : Gmagick

Creates a new image with the specified background color

Parâmetros

width

Width of the new image

height

Height of the new image

background

The background color used for this image (as float)

format

Image format.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Moves to the next image

  • « Gmagick::newimage
  • Gmagick::normalizeimage »
  • PHP Manual
  • Gmagick
  • Moves to the next image

Gmagick::nextimage

(PECL gmagick >= Unknown)

Gmagick::nextimage — Moves to the next image

Descrição

public Gmagick::nextimage ( ) : bool

Associates the next image in the image list with an Gmagick object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Lança uma exceção GmagickException em erros.


Enhances the contrast of a color image

  • « Gmagick::nextimage
  • Gmagick::oilpaintimage »
  • PHP Manual
  • Gmagick
  • Enhances the contrast of a color image

Gmagick::normalizeimage

(PECL gmagick >= Unknown)

Gmagick::normalizeimage — Enhances the contrast of a color image

Descrição

public Gmagick::normalizeimage ( int $channel = ? ) : Gmagick

Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available.

Parâmetros

channel

Identify which channel to normalize

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Simulates an oil painting

  • « Gmagick::normalizeimage
  • Gmagick::previousimage »
  • PHP Manual
  • Gmagick
  • Simulates an oil painting

Gmagick::oilpaintimage

(PECL gmagick >= Unknown)

Gmagick::oilpaintimage — Simulates an oil painting

Descrição

public Gmagick::oilpaintimage ( float $radius ) : Gmagick

Applies a special effect filter that simulates an oil painting. Each pixel is replaced by the most frequent color occurring in a circular region defined by radius.

Parâmetros

radius

The radius of the circular neighborhood.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Move to the previous image in the object

  • « Gmagick::oilpaintimage
  • Gmagick::profileimage »
  • PHP Manual
  • Gmagick
  • Move to the previous image in the object

Gmagick::previousimage

(PECL gmagick >= Unknown)

Gmagick::previousimage — Move to the previous image in the object

Descrição

public Gmagick::previousimage ( ) : bool

Associates the previous image in an image list with the Gmagick object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Lança uma exceção GmagickException em erros.


Adds or removes a profile from an image

  • « Gmagick::previousimage
  • Gmagick::quantizeimage »
  • PHP Manual
  • Gmagick
  • Adds or removes a profile from an image

Gmagick::profileimage

(PECL gmagick >= Unknown)

Gmagick::profileimage — Adds or removes a profile from an image

Descrição

public Gmagick::profileimage ( string $name , string $profile ) : Gmagick

Adds or removes a ICC, IPTC, or generic profile from an image. If the profile is NULL, it is removed from the image otherwise added. Use a name of '*' and a profile of NULL to remove all profiles from the image.

Parâmetros

name

Name of profile to add or remove: ICC, IPTC, or generic profile.

profile

The profile.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Analyzes the colors within a reference image

  • « Gmagick::profileimage
  • Gmagick::quantizeimages »
  • PHP Manual
  • Gmagick
  • Analyzes the colors within a reference image

Gmagick::quantizeimage

(PECL gmagick >= Unknown)

Gmagick::quantizeimage — Analyzes the colors within a reference image

Descrição

public Gmagick::quantizeimage ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError ) : Gmagick

Analyzes the colors within a reference image and chooses a fixed number of colors to represent the image. The goal of the algorithm is to minimize the color difference between the input and output image while minimizing the processing time.

Parâmetros

numColors

The number of colors.

colorspace

Perform color reduction in this colorspace, typically RGBColorspace.

treeDepth

Normally, this integer value is zero or one. A zero or one tells Quantize to choose a optimal tree depth of Log4(number_colors).% A tree of this depth generally allows the best representation of the reference image with the least amount of memory and the fastest computational speed. In some cases, such as an image with low color dispersion (a few number of colors), a value other than Log4(number_colors) is required. To expand the color tree completely, use a value of 8.

dither

A value other than zero distributes the difference between an original image and the corresponding color reduced algorithm to neighboring pixels along a Hilbert curve.

measureError

A value other than zero measures the difference between the original and quantized images. This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


The quantizeimages purpose

  • « Gmagick::quantizeimage
  • Gmagick::queryfontmetrics »
  • PHP Manual
  • Gmagick
  • The quantizeimages purpose

Gmagick::quantizeimages

(PECL gmagick >= Unknown)

Gmagick::quantizeimages — The quantizeimages purpose

Descrição

public Gmagick::quantizeimages ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError ) : Gmagick

Analyzes the colors within a sequence of images and chooses a fixed number of colors to represent the image. The goal of the algorithm is to minimize the color difference between the input and output image while minimizing the processing time.

Parâmetros

numColors

The number of colors.

colorspace

Perform color reduction in this colorspace, typically RGBColorspace.

treeDepth

Normally, this integer value is zero or one. A zero or one tells Quantize to choose a optimal tree depth of Log4(number_colors).% A tree of this depth generally allows the best representation of the reference image with the least amount of memory and the fastest computational speed. In some cases, such as an image with low color dispersion (a few number of colors), a value other than Log4(number_colors) is required. To expand the color tree completely, use a value of 8.

dither

A value other than zero distributes the difference between an original image and the corresponding color reduced algorithm to neighboring pixels along a Hilbert curve.

measureError

A value other than zero measures the difference between the original and quantized images. This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Returns an array representing the font metrics

  • « Gmagick::quantizeimages
  • Gmagick::queryfonts »
  • PHP Manual
  • Gmagick
  • Returns an array representing the font metrics

Gmagick::queryfontmetrics

(PECL gmagick >= Unknown)

Gmagick::queryfontmetrics — Returns an array representing the font metrics

Descrição

public Gmagick::queryfontmetrics ( GmagickDraw $draw , string $text ) : array

MagickQueryFontMetrics() returns an array representing the font metrics.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Returns the configured fonts

  • « Gmagick::queryfontmetrics
  • Gmagick::queryformats »
  • PHP Manual
  • Gmagick
  • Returns the configured fonts

Gmagick::queryfonts

(PECL gmagick >= Unknown)

Gmagick::queryfonts — Returns the configured fonts

Descrição

public Gmagick::queryfonts ( string $pattern = "*" ) : array

Returns fonts supported by Gmagick.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Returns formats supported by Gmagick

  • « Gmagick::queryfonts
  • Gmagick::radialblurimage »
  • PHP Manual
  • Gmagick
  • Returns formats supported by Gmagick

Gmagick::queryformats

(PECL gmagick >= Unknown)

Gmagick::queryformats — Returns formats supported by Gmagick

Descrição

public Gmagick::queryformats ( string $pattern = "*" ) : array

Returns formats supported by Gmagick.

Parâmetros

pattern

Specifies a string containing a pattern.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Radial blurs an image

  • « Gmagick::queryformats
  • Gmagick::raiseimage »
  • PHP Manual
  • Gmagick
  • Radial blurs an image

Gmagick::radialblurimage

(PECL gmagick >= Unknown)

Gmagick::radialblurimage — Radial blurs an image

Descrição

public Gmagick::radialblurimage ( float $angle , int $channel = Gmagick::CHANNEL_DEFAULT ) : Gmagick

Radial blurs an image.

Parâmetros

angle

The angle of the blur in degrees.

channel

Related channel

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Creates a simulated 3d button-like effect

  • « Gmagick::radialblurimage
  • Gmagick::read »
  • PHP Manual
  • Gmagick
  • Creates a simulated 3d button-like effect

Gmagick::raiseimage

(PECL gmagick >= Unknown)

Gmagick::raiseimage — Creates a simulated 3d button-like effect

Descrição

public Gmagick::raiseimage ( int $width , int $height , int $x , int $y , bool $raise ) : Gmagick

Creates a simulated three-dimensional button-like effect by lightening and darkening the edges of the image. Members width and height of raise_info define the width of the vertical and horizontal edge of the effect.

Parâmetros

width

Width of the area to raise.

height

Height of the area to raise.

x

X coordinate

y

Y coordinate

raise

A value other than zero creates a 3-D raise effect, otherwise it has a lowered effect.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Reads image from filename

  • « Gmagick::raiseimage
  • Gmagick::readimage »
  • PHP Manual
  • Gmagick
  • Reads image from filename

Gmagick::read

(PECL gmagick >= Unknown)

Gmagick::read — Reads image from filename

Descrição

public Gmagick::read ( string $filename ) : Gmagick

Reads image from filename.

Parâmetros

filename

The image filename.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Reads image from filename

  • « Gmagick::read
  • Gmagick::readimageblob »
  • PHP Manual
  • Gmagick
  • Reads image from filename

Gmagick::readimage

(PECL gmagick >= Unknown)

Gmagick::readimage — Reads image from filename

Descrição

public Gmagick::readimage ( string $filename ) : Gmagick

Reads image from filename.

Parâmetros

filename

The image filename.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Reads image from a binary string

  • « Gmagick::readimage
  • Gmagick::readimagefile »
  • PHP Manual
  • Gmagick
  • Reads image from a binary string

Gmagick::readimageblob

(PECL gmagick >= Unknown)

Gmagick::readimageblob — Reads image from a binary string

Descrição

public Gmagick::readimageblob ( string $imageContents , string $filename = ? ) : Gmagick

Reads image from a binary string.

Parâmetros

imageContents

Content of image

filename

The image filename.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


The readimagefile purpose

  • « Gmagick::readimageblob
  • Gmagick::reducenoiseimage »
  • PHP Manual
  • Gmagick
  • The readimagefile purpose

Gmagick::readimagefile

(PECL gmagick >= Unknown)

Gmagick::readimagefile — The readimagefile purpose

Descrição

public Gmagick::readimagefile ( resource $fp , string $filename = ? ) : Gmagick

Reads an image or image sequence from an open file descriptor.

Parâmetros

fp

The file descriptor.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Smooths the contours of an image

  • « Gmagick::readimagefile
  • Gmagick::removeimage »
  • PHP Manual
  • Gmagick
  • Smooths the contours of an image

Gmagick::reducenoiseimage

(PECL gmagick >= Unknown)

Gmagick::reducenoiseimage — Smooths the contours of an image

Descrição

public Gmagick::reducenoiseimage ( float $radius ) : Gmagick

Smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and Gmagick::reduceNoiseImage() selects a suitable radius for you.

Parâmetros

radius

The radius of the pixel neighborhood.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Removes an image from the image list

  • « Gmagick::reducenoiseimage
  • Gmagick::removeimageprofile »
  • PHP Manual
  • Gmagick
  • Removes an image from the image list

Gmagick::removeimage

(PECL gmagick >= Unknown)

Gmagick::removeimage — Removes an image from the image list

Descrição

public Gmagick::removeimage ( ) : Gmagick

Removes an image from the image list.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Removes the named image profile and returns it

  • « Gmagick::removeimage
  • Gmagick::resampleimage »
  • PHP Manual
  • Gmagick
  • Removes the named image profile and returns it

Gmagick::removeimageprofile

(PECL gmagick >= Unknown)

Gmagick::removeimageprofile — Removes the named image profile and returns it

Descrição

public Gmagick::removeimageprofile ( string $name ) : string

Removes the named image profile and returns it.

Parâmetros

name

Name of profile to return: ICC, IPTC, or generic profile.

Valor Retornado

The named profile.

Erros

Lança uma exceção GmagickException em erros.


Resample image to desired resolution

  • « Gmagick::removeimageprofile
  • Gmagick::resizeimage »
  • PHP Manual
  • Gmagick
  • Resample image to desired resolution

Gmagick::resampleimage

(PECL gmagick >= Unknown)

Gmagick::resampleimage — Resample image to desired resolution

Descrição

public Gmagick::resampleimage ( float $xResolution , float $yResolution , int $filter , float $blur ) : Gmagick

Resample image to desired resolution.

Parâmetros

xResolution

The new image x resolution.

yResolution

The new image y resolution.

filter

Image filter to use.

blur

The blur factor where larger than 1 is blurry, smaller than 1 is sharp.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Scales an image

  • « Gmagick::resampleimage
  • Gmagick::rollimage »
  • PHP Manual
  • Gmagick
  • Scales an image

Gmagick::resizeimage

(PECL gmagick >= Unknown)

Gmagick::resizeimage — Scales an image

Descrição

public Gmagick::resizeimage ( int $width , int $height , int $filter , float $blur , bool $fit = false ) : Gmagick

Scales an image to the desired dimensions with a filter.

Parâmetros

width

The number of columns in the scaled image.

height

The number of rows in the scaled image.

filter

Image filter to use.

blur

The blur factor where larger than 1 is blurry, lesser than 1 is sharp.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Offsets an image

  • « Gmagick::resizeimage
  • Gmagick::rotateimage »
  • PHP Manual
  • Gmagick
  • Offsets an image

Gmagick::rollimage

(PECL gmagick >= Unknown)

Gmagick::rollimage — Offsets an image

Descrição

public Gmagick::rollimage ( int $x , int $y ) : Gmagick

Offsets an image as defined by x and y.

Parâmetros

x

The x offset.

y

The y offset.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Rotates an image

  • « Gmagick::rollimage
  • Gmagick::scaleimage »
  • PHP Manual
  • Gmagick
  • Rotates an image

Gmagick::rotateimage

(PECL gmagick >= Unknown)

Gmagick::rotateimage — Rotates an image

Descrição

public Gmagick::rotateimage ( mixed $color , float $degrees ) : Gmagick

Rotates an image the specified number of degrees. Empty triangles left over from rotating the image are filled with the background color.

Parâmetros

color

The background pixel.

degrees

The number of degrees to rotate the image.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Scales the size of an image

  • « Gmagick::rotateimage
  • Gmagick::separateimagechannel »
  • PHP Manual
  • Gmagick
  • Scales the size of an image

Gmagick::scaleimage

(PECL gmagick >= Unknown)

Gmagick::scaleimage — Scales the size of an image

Descrição

public Gmagick::scaleimage ( int $width , int $height , bool $fit = false ) : Gmagick

Scales the size of an image to the given dimensions. The other parameter will be calculated if 0 is passed as either param.

Parâmetros

width

The number of columns in the scaled image.

height

The number of rows in the scaled image.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Separates a channel from the image

  • « Gmagick::scaleimage
  • Gmagick::setCompressionQuality »
  • PHP Manual
  • Gmagick
  • Separates a channel from the image

Gmagick::separateimagechannel

(PECL gmagick >= Unknown)

Gmagick::separateimagechannel — Separates a channel from the image

Descrição

public Gmagick::separateimagechannel ( int $channel ) : Gmagick

Separates a channel from the image and returns a grayscale image. A channel is a particular color component of each pixel in the image.

Parâmetros

channel

Identify which channel to extract: RedChannel, GreenChannel, BlueChannel, OpacityChannel, CyanChannel, MagentaChannel, YellowChannel, BlackChannel.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Sets the object's default compression quality

  • « Gmagick::separateimagechannel
  • Gmagick::setfilename »
  • PHP Manual
  • Gmagick
  • Sets the object's default compression quality

Gmagick::setCompressionQuality

(Não há informação de versão disponível, talvez apenas no Git)

Gmagick::setCompressionQuality — Sets the object's default compression quality

Descrição

Gmagick::setCompressionQuality ( int $quality = 75 ) : Gmagick

Sets the object's default compression quality.

Parâmetros

quality

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.

Exemplos

Exemplo #1 Gmagick::setCompressionQuality()

<?php
$gm = new Gmagick();
$gm->read("magick:rose");
$gm->setCompressionQuality(2);
?>


Sets the filename before you read or write the image

  • « Gmagick::setCompressionQuality
  • Gmagick::setimagebackgroundcolor »
  • PHP Manual
  • Gmagick
  • Sets the filename before you read or write the image

Gmagick::setfilename

(PECL gmagick >= Unknown)

Gmagick::setfilename — Sets the filename before you read or write the image

Descrição

public Gmagick::setfilename ( string $filename ) : Gmagick

Sets the filename before you read or write an image file.

Parâmetros

filename

The image filename.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Sets the image background color

  • « Gmagick::setfilename
  • Gmagick::setimageblueprimary »
  • PHP Manual
  • Gmagick
  • Sets the image background color

Gmagick::setimagebackgroundcolor

(PECL gmagick >= Unknown)

Gmagick::setimagebackgroundcolor — Sets the image background color

Descrição

public Gmagick::setimagebackgroundcolor ( GmagickPixel $color ) : Gmagick

Sets the image background color.

Parâmetros

color

The background pixel wand.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Sets the image chromaticity blue primary point

  • « Gmagick::setimagebackgroundcolor
  • Gmagick::setimagebordercolor »
  • PHP Manual
  • Gmagick
  • Sets the image chromaticity blue primary point

Gmagick::setimageblueprimary

(PECL gmagick >= Unknown)

Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point

Descrição

public Gmagick::setimageblueprimary ( float $x , float $y ) : Gmagick

Sets the image chromaticity blue primary point.

Parâmetros

x

The blue primary x-point.

y

The blue primary y-point.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Sets the image border color

  • « Gmagick::setimageblueprimary
  • Gmagick::setimagechanneldepth »
  • PHP Manual
  • Gmagick
  • Sets the image border color

Gmagick::setimagebordercolor

(PECL gmagick >= Unknown)

Gmagick::setimagebordercolor — Sets the image border color

Descrição

public Gmagick::setimagebordercolor ( GmagickPixel $color ) : Gmagick

Sets the image border color.

Parâmetros

color

The border pixel wand.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Sets the depth of a particular image channel

  • « Gmagick::setimagebordercolor
  • Gmagick::setimagecolorspace »
  • PHP Manual
  • Gmagick
  • Sets the depth of a particular image channel

Gmagick::setimagechanneldepth

(PECL gmagick >= Unknown)

Gmagick::setimagechanneldepth — Sets the depth of a particular image channel

Descrição

public Gmagick::setimagechanneldepth ( int $channel , int $depth ) : Gmagick

Sets the depth of a particular image channel.

Parâmetros

channel

Identify which channel to extract: RedChannel, GreenChannel, BlueChannel, OpacityChannel, CyanChannel, MagentaChannel, YellowChannel, BlackChannel.

depth

The image depth in bits.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Sets the image colorspace

  • « Gmagick::setimagechanneldepth
  • Gmagick::setimagecompose »
  • PHP Manual
  • Gmagick
  • Sets the image colorspace

Gmagick::setimagecolorspace

(PECL gmagick >= Unknown)

Gmagick::setimagecolorspace — Sets the image colorspace

Descrição

public Gmagick::setimagecolorspace ( int $colorspace ) : Gmagick

Sets the image colorspace.

Parâmetros

colorspace

The image colorspace: UndefinedColorspace, RGBColorspace, GRAYColorspace, TransparentColorspace, OHTAColorspace, XYZColorspace, YCbCrColorspace, YCCColorspace, YIQColorspace, YPbPrColorspace, YPbPrColorspace, YUVColorspace, CMYKColorspace, sRGBColorspace, HSLColorspace, or HWBColorspace.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Sets the image composite operator

  • « Gmagick::setimagecolorspace
  • Gmagick::setimagedelay »
  • PHP Manual
  • Gmagick
  • Sets the image composite operator

Gmagick::setimagecompose

(PECL gmagick >= Unknown)

Gmagick::setimagecompose — Sets the image composite operator

Descrição

public Gmagick::setimagecompose ( int $composite ) : Gmagick

Sets the image composite operator.

Parâmetros

composite

The image composite operator.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Sets the image delay

  • « Gmagick::setimagecompose
  • Gmagick::setimagedepth »
  • PHP Manual
  • Gmagick
  • Sets the image delay

Gmagick::setimagedelay

(PECL gmagick >= Unknown)

Gmagick::setimagedelay — Sets the image delay

Descrição

public Gmagick::setimagedelay ( int $delay ) : Gmagick

Sets the image delay

Parâmetros

delay

The image delay in 1/100th of a second.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the image depth

  • « Gmagick::setimagedelay
  • Gmagick::setimagedispose »
  • PHP Manual
  • Gmagick
  • Sets the image depth

Gmagick::setimagedepth

(PECL gmagick >= Unknown)

Gmagick::setimagedepth — Sets the image depth

Descrição

public Gmagick::setimagedepth ( int $depth ) : Gmagick

Sets the image depth

Parâmetros

depth

The image depth in bits: 8, 16, or 32.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the image disposal method

  • « Gmagick::setimagedepth
  • Gmagick::setimagefilename »
  • PHP Manual
  • Gmagick
  • Sets the image disposal method

Gmagick::setimagedispose

(PECL gmagick >= Unknown)

Gmagick::setimagedispose — Sets the image disposal method

Descrição

public Gmagick::setimagedispose ( int $disposeType ) : Gmagick

Sets the image disposal method.

Parâmetros

disposeType

The image disposal type.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Sets the filename of a particular image in a sequence

  • « Gmagick::setimagedispose
  • Gmagick::setimageformat »
  • PHP Manual
  • Gmagick
  • Sets the filename of a particular image in a sequence

Gmagick::setimagefilename

(PECL gmagick >= Unknown)

Gmagick::setimagefilename — Sets the filename of a particular image in a sequence

Descrição

public Gmagick::setimagefilename ( string $filename ) : Gmagick

Sets the filename of a particular image in a sequence.

Parâmetros

filename

The image filename.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the format of a particular image

  • « Gmagick::setimagefilename
  • Gmagick::setimagegamma »
  • PHP Manual
  • Gmagick
  • Sets the format of a particular image

Gmagick::setimageformat

(PECL gmagick >= Unknown)

Gmagick::setimageformat — Sets the format of a particular image

Descrição

public Gmagick::setimageformat ( string $imageFormat ) : Gmagick

Sets the format of a particular image in a sequence.

Parâmetros

imageFormat

The image format.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the image gamma

  • « Gmagick::setimageformat
  • Gmagick::setimagegreenprimary »
  • PHP Manual
  • Gmagick
  • Sets the image gamma

Gmagick::setimagegamma

(PECL gmagick >= Unknown)

Gmagick::setimagegamma — Sets the image gamma

Descrição

public Gmagick::setimagegamma ( float $gamma ) : Gmagick

Sets the image gamma.

Parâmetros

gamma

The image gamma.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Sets the image chromaticity green primary point

  • « Gmagick::setimagegamma
  • Gmagick::setimageindex »
  • PHP Manual
  • Gmagick
  • Sets the image chromaticity green primary point

Gmagick::setimagegreenprimary

(PECL gmagick >= Unknown)

Gmagick::setimagegreenprimary — Sets the image chromaticity green primary point

Descrição

public Gmagick::setimagegreenprimary ( float $x , float $y ) : Gmagick

Sets the image chromaticity green primary point.

Parâmetros

x

The chromaticity green primary x-point.

y

The chromaticity green primary y-point.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Set the iterator to the position in the image list specified with the index parameter

  • « Gmagick::setimagegreenprimary
  • Gmagick::setimageinterlacescheme »
  • PHP Manual
  • Gmagick
  • Set the iterator to the position in the image list specified with the index parameter

Gmagick::setimageindex

(PECL gmagick >= Unknown)

Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter

Descrição

public Gmagick::setimageindex ( int $index ) : Gmagick

Set the iterator to the position in the image list specified with the index parameter.

Parâmetros

index

The scene number.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the interlace scheme of the image

  • « Gmagick::setimageindex
  • Gmagick::setimageiterations »
  • PHP Manual
  • Gmagick
  • Sets the interlace scheme of the image

Gmagick::setimageinterlacescheme

(PECL gmagick >= Unknown)

Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image

Descrição

public Gmagick::setimageinterlacescheme ( int $interlace ) : Gmagick

Sets the interlace scheme of the image.

Parâmetros

interlace

The image interlace scheme: NoInterlace, LineInterlace, PlaneInterlace, PartitionInterlace.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Sets the image iterations

  • « Gmagick::setimageinterlacescheme
  • Gmagick::setimageprofile »
  • PHP Manual
  • Gmagick
  • Sets the image iterations

Gmagick::setimageiterations

(PECL gmagick >= Unknown)

Gmagick::setimageiterations — Sets the image iterations

Descrição

public Gmagick::setimageiterations ( int $iterations ) : Gmagick

Sets the image iterations.

Parâmetros

iterations

The image delay in 1/100th of a second.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Adds a named profile to the Gmagick object

  • « Gmagick::setimageiterations
  • Gmagick::setimageredprimary »
  • PHP Manual
  • Gmagick
  • Adds a named profile to the Gmagick object

Gmagick::setimageprofile

(PECL gmagick >= Unknown)

Gmagick::setimageprofile — Adds a named profile to the Gmagick object

Descrição

public Gmagick::setimageprofile ( string $name , string $profile ) : Gmagick

Adds a named profile to the Gmagick object. If a profile with the same name already exists, it is replaced. This method differs from the Gmagick::profileimage() method in that it does not apply any CMS color profiles.

Parâmetros

name

Name of profile to add or remove: ICC, IPTC, or generic profile.

profile

The profile.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the image chromaticity red primary point

  • « Gmagick::setimageprofile
  • Gmagick::setimagerenderingintent »
  • PHP Manual
  • Gmagick
  • Sets the image chromaticity red primary point

Gmagick::setimageredprimary

(PECL gmagick >= Unknown)

Gmagick::setimageredprimary — Sets the image chromaticity red primary point

Descrição

public Gmagick::setimageredprimary ( float $x , float $y ) : Gmagick

Sets the image chromaticity red primary point.

Parâmetros

x

The red primary x-point.

y

The red primary y-point.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the image rendering intent

  • « Gmagick::setimageredprimary
  • Gmagick::setimageresolution »
  • PHP Manual
  • Gmagick
  • Sets the image rendering intent

Gmagick::setimagerenderingintent

(PECL gmagick >= Unknown)

Gmagick::setimagerenderingintent — Sets the image rendering intent

Descrição

public Gmagick::setimagerenderingintent ( int $rendering_intent ) : Gmagick

Sets the image rendering intent.

Parâmetros

rendering_intent

The image rendering intent: UndefinedIntent, SaturationIntent, PerceptualIntent, AbsoluteIntent, or RelativeIntent.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the image resolution

  • « Gmagick::setimagerenderingintent
  • Gmagick::setimagescene »
  • PHP Manual
  • Gmagick
  • Sets the image resolution

Gmagick::setimageresolution

(PECL gmagick >= Unknown)

Gmagick::setimageresolution — Sets the image resolution

Descrição

public Gmagick::setimageresolution ( float $xResolution , float $yResolution ) : Gmagick

Sets the image resolution.

Parâmetros

xResolution

The image x resolution.

yResolution

The image y resolution.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the image scene

  • « Gmagick::setimageresolution
  • Gmagick::setimagetype »
  • PHP Manual
  • Gmagick
  • Sets the image scene

Gmagick::setimagescene

(PECL gmagick >= Unknown)

Gmagick::setimagescene — Sets the image scene

Descrição

public Gmagick::setimagescene ( int $scene ) : Gmagick

Sets the image scene.

Parâmetros

scene

The image scene number.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the image type

  • « Gmagick::setimagescene
  • Gmagick::setimageunits »
  • PHP Manual
  • Gmagick
  • Sets the image type

Gmagick::setimagetype

(PECL gmagick >= Unknown)

Gmagick::setimagetype — Sets the image type

Descrição

public Gmagick::setimagetype ( int $imgType ) : Gmagick

Sets the image type.

Parâmetros

imgType

The image type: UndefinedType, BilevelType, GrayscaleType, GrayscaleMatteType, PaletteType, PaletteMatteType, TrueColorType, TrueColorMatteType, ColorSeparationType, ColorSeparationMatteType, or OptimizeType.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the image units of resolution

  • « Gmagick::setimagetype
  • Gmagick::setimagewhitepoint »
  • PHP Manual
  • Gmagick
  • Sets the image units of resolution

Gmagick::setimageunits

(PECL gmagick >= Unknown)

Gmagick::setimageunits — Sets the image units of resolution

Descrição

public Gmagick::setimageunits ( int $resolution ) : Gmagick

Sets the image units of resolution.

Parâmetros

resolution

The image units of resolution : Undefinedresolution, PixelsPerInchResolution, or PixelsPerCentimeterResolution.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the image chromaticity white point

  • « Gmagick::setimageunits
  • Gmagick::setsamplingfactors »
  • PHP Manual
  • Gmagick
  • Sets the image chromaticity white point

Gmagick::setimagewhitepoint

(PECL gmagick >= Unknown)

Gmagick::setimagewhitepoint — Sets the image chromaticity white point

Descrição

public Gmagick::setimagewhitepoint ( float $x , float $y ) : Gmagick

Sets the image chromaticity white point.

Parâmetros

x

The white x-point.

y

The white y-point.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the image sampling factors

  • « Gmagick::setimagewhitepoint
  • Gmagick::setsize »
  • PHP Manual
  • Gmagick
  • Sets the image sampling factors

Gmagick::setsamplingfactors

(PECL gmagick >= Unknown)

Gmagick::setsamplingfactors — Sets the image sampling factors

Descrição

public Gmagick::setsamplingfactors ( array $factors ) : Gmagick

Sets the image sampling factors.

Parâmetros

factors

An array of doubles representing the sampling factor for each color component (in RGB order).

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Sets the size of the Gmagick object

  • « Gmagick::setsamplingfactors
  • Gmagick::shearimage »
  • PHP Manual
  • Gmagick
  • Sets the size of the Gmagick object

Gmagick::setsize

(PECL gmagick >= Unknown)

Gmagick::setsize — Sets the size of the Gmagick object

Descrição

public Gmagick::setsize ( int $columns , int $rows ) : Gmagick

Sets the size of the Gmagick object. Set it before you read a raw image format such as RGB, GRAY, or CMYK.

Parâmetros

columns

The width in pixels.

rows

The height in pixels.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Creating a parallelogram

  • « Gmagick::setsize
  • Gmagick::solarizeimage »
  • PHP Manual
  • Gmagick
  • Creating a parallelogram

Gmagick::shearimage

(PECL gmagick >= Unknown)

Gmagick::shearimage — Creating a parallelogram

Descrição

public Gmagick::shearimage ( mixed $color , float $xShear , float $yShear ) : Gmagick

Slides one edge of an image along the X or Y axis, creating a parallelogram. An X direction shear slides an edge along the X axis, while a Y direction shear slides an edge along the Y axis. The amount of the shear is controlled by a shear angle. For X direction shears, x_shear is measured relative to the Y axis, and similarly, for Y direction shears y_shear is measured relative to the X axis. Empty triangles left over from shearing the image are filled with the background color.

Parâmetros

color

The background pixel wand.

xShear

The number of degrees to shear the image.

yShear

The number of degrees to shear the image.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Applies a solarizing effect to the image

  • « Gmagick::shearimage
  • Gmagick::spreadimage »
  • PHP Manual
  • Gmagick
  • Applies a solarizing effect to the image

Gmagick::solarizeimage

(PECL gmagick >= Unknown)

Gmagick::solarizeimage — Applies a solarizing effect to the image

Descrição

public Gmagick::solarizeimage ( int $threshold ) : Gmagick

Applies a special effect to the image, similar to the effect achieved in a photo darkroom by selectively exposing areas of photo sensitive paper to light. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization.

Parâmetros

threshold

Define the extent of the solarization.

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Randomly displaces each pixel in a block

  • « Gmagick::solarizeimage
  • Gmagick::stripimage »
  • PHP Manual
  • Gmagick
  • Randomly displaces each pixel in a block

Gmagick::spreadimage

(PECL gmagick >= Unknown)

Gmagick::spreadimage — Randomly displaces each pixel in a block

Descrição

public Gmagick::spreadimage ( float $radius ) : Gmagick

Special effects method that randomly displaces each pixel in a block defined by the radius parameter.

Parâmetros

radius

Choose a random pixel in a neighborhood of this extent.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Strips an image of all profiles and comments

  • « Gmagick::spreadimage
  • Gmagick::swirlimage »
  • PHP Manual
  • Gmagick
  • Strips an image of all profiles and comments

Gmagick::stripimage

(PECL gmagick >= Unknown)

Gmagick::stripimage — Strips an image of all profiles and comments

Descrição

public Gmagick::stripimage ( ) : Gmagick

Strips an image of all profiles and comments.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Swirls the pixels about the center of the image

  • « Gmagick::stripimage
  • Gmagick::thumbnailimage »
  • PHP Manual
  • Gmagick
  • Swirls the pixels about the center of the image

Gmagick::swirlimage

(PECL gmagick >= Unknown)

Gmagick::swirlimage — Swirls the pixels about the center of the image

Descrição

public Gmagick::swirlimage ( float $degrees ) : Gmagick

Swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360.

Parâmetros

degrees

Define the tightness of the swirling effect.

Valor Retornado

The Gmagick object on success

Erros

Lança uma exceção GmagickException em erros.


Changes the size of an image

  • « Gmagick::swirlimage
  • Gmagick::trimimage »
  • PHP Manual
  • Gmagick
  • Changes the size of an image

Gmagick::thumbnailimage

(PECL gmagick >= Unknown)

Gmagick::thumbnailimage — Changes the size of an image

Descrição

public Gmagick::thumbnailimage ( int $width , int $height , bool $fit = false ) : Gmagick

Changes the size of an image to the given dimensions and removes any associated profiles. The goal is to produce small low cost thumbnail images suited for display on the Web. If TRUE is given as a third parameter then columns and rows parameters are used as maximums for each side. Both sides will be scaled down until the match or are smaller than the parameter given for the side.

Parâmetros

width

Image width

height

Image height

Valor Retornado

The Gmagick object on success.

Erros

Lança uma exceção GmagickException em erros.


Remove edges from the image

  • « Gmagick::thumbnailimage
  • Gmagick::write »
  • PHP Manual
  • Gmagick
  • Remove edges from the image

Gmagick::trimimage

(PECL gmagick >= Unknown)

Gmagick::trimimage — Remove edges from the image

Descrição

public Gmagick::trimimage ( float $fuzz ) : Gmagick

Remove edges that are the background color from the image.

Parâmetros

fuzz

By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. This parameter represents the variation on the quantum range.

Valor Retornado

The Gmagick object

Erros

Lança uma exceção GmagickException em erros.


Sinônimo de Gmagick::writeimage

  • « Gmagick::trimimage
  • Gmagick::writeimage »
  • PHP Manual
  • Gmagick
  • Sinônimo de Gmagick::writeimage

Gmagick::write

(PECL gmagick >= Unknown)

Gmagick::write — Sinônimo de Gmagick::writeimage()

Descrição

Este método é um apelido para: Gmagick::writeimage().


Writes an image to the specified filename

  • « Gmagick::write
  • GmagickDraw »
  • PHP Manual
  • Gmagick
  • Writes an image to the specified filename

Gmagick::writeimage

(PECL gmagick >= Unknown)

Gmagick::writeimage — Writes an image to the specified filename

Descrição

public Gmagick::writeimage ( string $filename , bool $all_frames = false ) : Gmagick

Writes an image to the specified filename. If the filename parameter is NULL, the image is written to the filename set by Gmagick::ReadImage() or Gmagick::SetImageFilename().

Parâmetros

filename

The image filename.

Valor Retornado

The Gmagick object

Erros

Lança uma exceção GmagickException em erros.


The GmagickDraw class

(PECL gmagick >= Unknown)

Introdução

Sinopse da classe

GmagickDraw {
/* Métodos */
public annotate ( float $x , float $y , string $text ) : GmagickDraw
public arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed ) : GmagickDraw
public bezier ( array $coordinate_array ) : GmagickDraw
public ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end ) : GmagickDraw
public getfillcolor ( ) : GmagickPixel
public getfillopacity ( ) : float
public getfont ( ) : mixed
public getfontsize ( ) : float
public getfontstyle ( ) : int
public getfontweight ( ) : int
public getstrokecolor ( ) : GmagickPixel
public getstrokeopacity ( ) : float
public getstrokewidth ( ) : float
public gettextdecoration ( ) : int
public gettextencoding ( ) : mixed
public line ( float $sx , float $sy , float $ex , float $ey ) : GmagickDraw
public point ( float $x , float $y ) : GmagickDraw
public polygon ( array $coordinates ) : GmagickDraw
public polyline ( array $coordinate_array ) : GmagickDraw
public rectangle ( float $x1 , float $y1 , float $x2 , float $y2 ) : GmagickDraw
public rotate ( float $degrees ) : GmagickDraw
public roundrectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry ) : GmagickDraw
public scale ( float $x , float $y ) : GmagickDraw
public setfillcolor ( mixed $color ) : GmagickDraw
public setfillopacity ( float $fill_opacity ) : GmagickDraw
public setfont ( string $font ) : GmagickDraw
public setfontsize ( float $pointsize ) : GmagickDraw
public setfontstyle ( int $style ) : GmagickDraw
public setfontweight ( int $weight ) : GmagickDraw
public setstrokecolor ( mixed $color ) : GmagickDraw
public setstrokeopacity ( float $stroke_opacity ) : GmagickDraw
public setstrokewidth ( float $width ) : GmagickDraw
public settextdecoration ( int $decoration ) : GmagickDraw
public settextencoding ( string $encoding ) : GmagickDraw
}

Índice

  • GmagickDraw::annotate — Draws text on the image
  • GmagickDraw::arc — Draws an arc
  • GmagickDraw::bezier — Draws a bezier curve
  • GmagickDraw::ellipse — Draws an ellipse on the image
  • GmagickDraw::getfillcolor — Returns the fill color
  • GmagickDraw::getfillopacity — Returns the opacity used when drawing
  • GmagickDraw::getfont — Returns the font
  • GmagickDraw::getfontsize — Returns the font pointsize
  • GmagickDraw::getfontstyle — Returns the font style
  • GmagickDraw::getfontweight — Returns the font weight
  • GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines
  • GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines
  • GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines
  • GmagickDraw::gettextdecoration — Returns the text decoration
  • GmagickDraw::gettextencoding — Returns the code set used for text annotations
  • GmagickDraw::line — The line purpose
  • GmagickDraw::point — Draws a point
  • GmagickDraw::polygon — Draws a polygon
  • GmagickDraw::polyline — Draws a polyline
  • GmagickDraw::rectangle — Draws a rectangle
  • GmagickDraw::rotate — Applies the specified rotation to the current coordinate space
  • GmagickDraw::roundrectangle — Draws a rounded rectangle
  • GmagickDraw::scale — Adjusts the scaling factor
  • GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects
  • GmagickDraw::setfillopacity — The setfillopacity purpose
  • GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text
  • GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text
  • GmagickDraw::setfontstyle — Sets the font style to use when annotating with text
  • GmagickDraw::setfontweight — Sets the font weight
  • GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines
  • GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines
  • GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines
  • GmagickDraw::settextdecoration — Specifies a decoration
  • GmagickDraw::settextencoding — Specifies the text code set


Draws text on the image

  • « GmagickDraw
  • GmagickDraw::arc »
  • PHP Manual
  • GmagickDraw
  • Draws text on the image

GmagickDraw::annotate

(PECL gmagick >= Unknown)

GmagickDraw::annotate — Draws text on the image

Descrição

public GmagickDraw::annotate ( float $x , float $y , string $text ) : GmagickDraw

Draws text on the image.

Parâmetros

x

x ordinate to left of text

y

y ordinate to text baseline

text

text to draw

Valor Retornado

The GmagickDraw object on success.


Draws an arc

  • « GmagickDraw::annotate
  • GmagickDraw::bezier »
  • PHP Manual
  • GmagickDraw
  • Draws an arc

GmagickDraw::arc

(PECL gmagick >= Unknown)

GmagickDraw::arc — Draws an arc

Descrição

public GmagickDraw::arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed ) : GmagickDraw

Draws an arc falling within a specified bounding rectangle on the image.

Parâmetros

sx

starting x ordinate of bounding rectangle

sy

starting y ordinate of bounding rectangle

ex

ending x ordinate of bounding rectangle

ey

ending y ordinate of bounding rectangle

sd

starting degrees of rotation

ed

ending degrees of rotation

Valor Retornado

The GmagickDraw object on success.


Draws a bezier curve

  • « GmagickDraw::arc
  • GmagickDraw::ellipse »
  • PHP Manual
  • GmagickDraw
  • Draws a bezier curve

GmagickDraw::bezier

(PECL gmagick >= Unknown)

GmagickDraw::bezier — Draws a bezier curve

Descrição

public GmagickDraw::bezier ( array $coordinate_array ) : GmagickDraw

Draws a bezier curve through a set of points on the image.

Parâmetros

coordinate_array

Coordinates array

Valor Retornado

The GmagickDraw object on success


Draws an ellipse on the image

  • « GmagickDraw::bezier
  • GmagickDraw::getfillcolor »
  • PHP Manual
  • GmagickDraw
  • Draws an ellipse on the image

GmagickDraw::ellipse

(PECL gmagick >= Unknown)

GmagickDraw::ellipse — Draws an ellipse on the image

Descrição

public GmagickDraw::ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end ) : GmagickDraw

Draws an ellipse on the image.

Parâmetros

ox

origin x ordinate

oy

origin y ordinate

rx

radius in x

ry

radius in y

start

starting rotation in degrees

end

ending rotation in degrees

Valor Retornado

The GmagickDraw object on success


Returns the fill color

  • « GmagickDraw::ellipse
  • GmagickDraw::getfillopacity »
  • PHP Manual
  • GmagickDraw
  • Returns the fill color

GmagickDraw::getfillcolor

(PECL gmagick >= Unknown)

GmagickDraw::getfillcolor — Returns the fill color

Descrição

public GmagickDraw::getfillcolor ( ) : GmagickPixel

Returns the fill color used for drawing filled objects.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The GmagickPixel fill color used for drawing filled objects.


Returns the opacity used when drawing

  • « GmagickDraw::getfillcolor
  • GmagickDraw::getfont »
  • PHP Manual
  • GmagickDraw
  • Returns the opacity used when drawing

GmagickDraw::getfillopacity

(PECL gmagick >= Unknown)

GmagickDraw::getfillopacity — Returns the opacity used when drawing

Descrição

public GmagickDraw::getfillopacity ( ) : float

Returns the opacity used when drawing

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the opacity used when drawing using the fill color or fill texture. Fully opaque is 1.0.


Returns the font

  • « GmagickDraw::getfillopacity
  • GmagickDraw::getfontsize »
  • PHP Manual
  • GmagickDraw
  • Returns the font

GmagickDraw::getfont

(PECL gmagick >= Unknown)

GmagickDraw::getfont — Returns the font

Descrição

public GmagickDraw::getfont ( ) : mixed

Returns a string specifying the font used when annotating with text.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string on success and false if no font is set.


Returns the font pointsize

  • « GmagickDraw::getfont
  • GmagickDraw::getfontstyle »
  • PHP Manual
  • GmagickDraw
  • Returns the font pointsize

GmagickDraw::getfontsize

(PECL gmagick >= Unknown)

GmagickDraw::getfontsize — Returns the font pointsize

Descrição

public GmagickDraw::getfontsize ( ) : float

Returns the font pointsize used when annotating with text.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the font size associated with the current GmagickDraw object.


Returns the font style

  • « GmagickDraw::getfontsize
  • GmagickDraw::getfontweight »
  • PHP Manual
  • GmagickDraw
  • Returns the font style

GmagickDraw::getfontstyle

(PECL gmagick >= Unknown)

GmagickDraw::getfontstyle — Returns the font style

Descrição

public GmagickDraw::getfontstyle ( ) : int

Returns the font style used when annotating with text.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the font style constant (STYLE_) associated with the GmagickDraw object or 0 if no style is set.


Returns the font weight

  • « GmagickDraw::getfontstyle
  • GmagickDraw::getstrokecolor »
  • PHP Manual
  • GmagickDraw
  • Returns the font weight

GmagickDraw::getfontweight

(PECL gmagick >= Unknown)

GmagickDraw::getfontweight — Returns the font weight

Descrição

public GmagickDraw::getfontweight ( ) : int

Returns the font weight used when annotating with text.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an int on success and 0 if no weight is set.


Returns the color used for stroking object outlines

  • « GmagickDraw::getfontweight
  • GmagickDraw::getstrokeopacity »
  • PHP Manual
  • GmagickDraw
  • Returns the color used for stroking object outlines

GmagickDraw::getstrokecolor

(PECL gmagick >= Unknown)

GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines

Descrição

public GmagickDraw::getstrokecolor ( ) : GmagickPixel

Returns the color used for stroking object outlines.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an GmagickPixel object which describes the color.


Returns the opacity of stroked object outlines

  • « GmagickDraw::getstrokecolor
  • GmagickDraw::getstrokewidth »
  • PHP Manual
  • GmagickDraw
  • Returns the opacity of stroked object outlines

GmagickDraw::getstrokeopacity

(PECL gmagick >= Unknown)

GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines

Descrição

public GmagickDraw::getstrokeopacity ( ) : float

Returns the opacity of stroked object outlines.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a double describing the opacity.


Returns the width of the stroke used to draw object outlines

  • « GmagickDraw::getstrokeopacity
  • GmagickDraw::gettextdecoration »
  • PHP Manual
  • GmagickDraw
  • Returns the width of the stroke used to draw object outlines

GmagickDraw::getstrokewidth

(PECL gmagick >= Unknown)

GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines

Descrição

public GmagickDraw::getstrokewidth ( ) : float

Returns the width of the stroke used to draw object outlines.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a double describing the stroke width.


Returns the text decoration

  • « GmagickDraw::getstrokewidth
  • GmagickDraw::gettextencoding »
  • PHP Manual
  • GmagickDraw
  • Returns the text decoration

GmagickDraw::gettextdecoration

(PECL gmagick >= Unknown)

GmagickDraw::gettextdecoration — Returns the text decoration

Descrição

public GmagickDraw::gettextdecoration ( ) : int

Returns the decoration applied when annotating with text.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns one of the DECORATION_ constants and 0 if no decoration is set.


Returns the code set used for text annotations

  • « GmagickDraw::gettextdecoration
  • GmagickDraw::line »
  • PHP Manual
  • GmagickDraw
  • Returns the code set used for text annotations

GmagickDraw::gettextencoding

(PECL gmagick >= Unknown)

GmagickDraw::gettextencoding — Returns the code set used for text annotations

Descrição

public GmagickDraw::gettextencoding ( ) : mixed

Returns a string which specifies the code set used for text annotations.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string specifying the code set or false if text encoding is not set.


The line purpose

  • « GmagickDraw::gettextencoding
  • GmagickDraw::point »
  • PHP Manual
  • GmagickDraw
  • The line purpose

GmagickDraw::line

(PECL gmagick >= Unknown)

GmagickDraw::line — The line purpose

Descrição

public GmagickDraw::line ( float $sx , float $sy , float $ex , float $ey ) : GmagickDraw

Draws a line on the image using the current stroke color, stroke opacity, and stroke width.

Parâmetros

sx

starting x ordinate

sy

starting y ordinate

ex

ending x ordinate

ey

ending y ordinate

Valor Retornado

The GmagickDraw object on success


Draws a point

  • « GmagickDraw::line
  • GmagickDraw::polygon »
  • PHP Manual
  • GmagickDraw
  • Draws a point

GmagickDraw::point

(PECL gmagick >= Unknown)

GmagickDraw::point — Draws a point

Descrição

public GmagickDraw::point ( float $x , float $y ) : GmagickDraw

Draws a point using the current stroke color and stroke thickness at the specified coordinates.

Parâmetros

x

target x coordinate

y

target y coordinate

Valor Retornado

The GmagickDraw object on success


Draws a polygon

  • « GmagickDraw::point
  • GmagickDraw::polyline »
  • PHP Manual
  • GmagickDraw
  • Draws a polygon

GmagickDraw::polygon

(PECL gmagick >= Unknown)

GmagickDraw::polygon — Draws a polygon

Descrição

public GmagickDraw::polygon ( array $coordinates ) : GmagickDraw

Draws a polygon using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Parâmetros

coordinates

coordinate array

Valor Retornado

The GmagickDraw object on success


Draws a polyline

  • « GmagickDraw::polygon
  • GmagickDraw::rectangle »
  • PHP Manual
  • GmagickDraw
  • Draws a polyline

GmagickDraw::polyline

(PECL gmagick >= Unknown)

GmagickDraw::polyline — Draws a polyline

Descrição

public GmagickDraw::polyline ( array $coordinate_array ) : GmagickDraw

Draws a polyline using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Parâmetros

coordinate_array

The array of coordinates

Valor Retornado

The GmagickDraw object on success


Draws a rectangle

  • « GmagickDraw::polyline
  • GmagickDraw::rotate »
  • PHP Manual
  • GmagickDraw
  • Draws a rectangle

GmagickDraw::rectangle

(PECL gmagick >= Unknown)

GmagickDraw::rectangle — Draws a rectangle

Descrição

public GmagickDraw::rectangle ( float $x1 , float $y1 , float $x2 , float $y2 ) : GmagickDraw

Draws a rectangle given two coordinates and using the current stroke, stroke width, and fill settings.

Parâmetros

x1

x ordinate of first coordinate

y1

y ordinate of first coordinate

x2

x ordinate of second coordinate

y2

y ordinate of second coordinate

Valor Retornado

The GmagickDraw object on success


Applies the specified rotation to the current coordinate space

  • « GmagickDraw::rectangle
  • GmagickDraw::roundrectangle »
  • PHP Manual
  • GmagickDraw
  • Applies the specified rotation to the current coordinate space

GmagickDraw::rotate

(PECL gmagick >= Unknown)

GmagickDraw::rotate — Applies the specified rotation to the current coordinate space

Descrição

public GmagickDraw::rotate ( float $degrees ) : GmagickDraw

Applies the specified rotation to the current coordinate space.

Parâmetros

degrees

degrees of rotation

Valor Retornado

The GmagickDraw object on success


Draws a rounded rectangle

  • « GmagickDraw::rotate
  • GmagickDraw::scale »
  • PHP Manual
  • GmagickDraw
  • Draws a rounded rectangle

GmagickDraw::roundrectangle

(PECL gmagick >= Unknown)

GmagickDraw::roundrectangle — Draws a rounded rectangle

Descrição

public GmagickDraw::roundrectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry ) : GmagickDraw

Draws a rounded rectangle given two coordinates, x and y corner radiuses and using the current stroke, stroke width, and fill settings.

Parâmetros

x1

x ordinate of first coordinate

y1

y ordinate of first coordinate

x2

x ordinate of second coordinate

y2

y ordinate of second coordinate

rx

radius of corner in horizontal direction

ry

radius of corner in vertical direction

Valor Retornado

The GmagickDraw object on success


Adjusts the scaling factor

  • « GmagickDraw::roundrectangle
  • GmagickDraw::setfillcolor »
  • PHP Manual
  • GmagickDraw
  • Adjusts the scaling factor

GmagickDraw::scale

(PECL gmagick >= Unknown)

GmagickDraw::scale — Adjusts the scaling factor

Descrição

public GmagickDraw::scale ( float $x , float $y ) : GmagickDraw

Adjusts the scaling factor to apply in the horizontal and vertical directions to the current coordinate space.

Parâmetros

x

horizontal scale factor

y

vertical scale factor

Valor Retornado

The GmagickDraw object on success


Sets the fill color to be used for drawing filled objects

  • « GmagickDraw::scale
  • GmagickDraw::setfillopacity »
  • PHP Manual
  • GmagickDraw
  • Sets the fill color to be used for drawing filled objects

GmagickDraw::setfillcolor

(PECL gmagick >= Unknown)

GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects

Descrição

public GmagickDraw::setfillcolor ( mixed $color ) : GmagickDraw

Sets the fill color to be used for drawing filled objects.

Parâmetros

color

GmagickPixel or string indicating color to use for filling.

Valor Retornado

The GmagickDraw object on success.


The setfillopacity purpose

  • « GmagickDraw::setfillcolor
  • GmagickDraw::setfont »
  • PHP Manual
  • GmagickDraw
  • The setfillopacity purpose

GmagickDraw::setfillopacity

(PECL gmagick >= Unknown)

GmagickDraw::setfillopacity — The setfillopacity purpose

Descrição

public GmagickDraw::setfillopacity ( float $fill_opacity ) : GmagickDraw

Sets the opacity to use when drawing using the fill color or fill texture. Setting it to 1.0 will make fill full opaque.

Parâmetros

fill_opacity

Fill opacity

Valor Retornado

The GmagickDraw object on success


Sets the fully-specified font to use when annotating with text

  • « GmagickDraw::setfillopacity
  • GmagickDraw::setfontsize »
  • PHP Manual
  • GmagickDraw
  • Sets the fully-specified font to use when annotating with text

GmagickDraw::setfont

(PECL gmagick >= Unknown)

GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text

Descrição

public GmagickDraw::setfont ( string $font ) : GmagickDraw

Sets the fully-specified font to use when annotating with text

Parâmetros

font

font name

Valor Retornado

The GmagickDraw object on success


Sets the font pointsize to use when annotating with text

  • « GmagickDraw::setfont
  • GmagickDraw::setfontstyle »
  • PHP Manual
  • GmagickDraw
  • Sets the font pointsize to use when annotating with text

GmagickDraw::setfontsize

(PECL gmagick >= Unknown)

GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text

Descrição

public GmagickDraw::setfontsize ( float $pointsize ) : GmagickDraw

Sets the font pointsize to use when annotating with text.

Parâmetros

pointsize

Text pointsize

Valor Retornado

The GmagickDraw object on success


Sets the font style to use when annotating with text

  • « GmagickDraw::setfontsize
  • GmagickDraw::setfontweight »
  • PHP Manual
  • GmagickDraw
  • Sets the font style to use when annotating with text

GmagickDraw::setfontstyle

(PECL gmagick >= Unknown)

GmagickDraw::setfontstyle — Sets the font style to use when annotating with text

Descrição

public GmagickDraw::setfontstyle ( int $style ) : GmagickDraw

Sets the font style to use when annotating with text. The AnyStyle enumeration acts as a wild-card "don't care" option.

Parâmetros

style

Font style (NormalStyle, ItalicStyle, ObliqueStyle, AnyStyle)

Valor Retornado

The GmagickDraw object on success


Sets the font weight

  • « GmagickDraw::setfontstyle
  • GmagickDraw::setstrokecolor »
  • PHP Manual
  • GmagickDraw
  • Sets the font weight

GmagickDraw::setfontweight

(PECL gmagick >= Unknown)

GmagickDraw::setfontweight — Sets the font weight

Descrição

public GmagickDraw::setfontweight ( int $weight ) : GmagickDraw

Sets the font weight to use when annotating with text.

Parâmetros

weight

Font weight (valid range 100-900)

Valor Retornado

The GmagickDraw object on success


Sets the color used for stroking object outlines

  • « GmagickDraw::setfontweight
  • GmagickDraw::setstrokeopacity »
  • PHP Manual
  • GmagickDraw
  • Sets the color used for stroking object outlines

GmagickDraw::setstrokecolor

(PECL gmagick >= Unknown)

GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines

Descrição

public GmagickDraw::setstrokecolor ( mixed $color ) : GmagickDraw

Sets the color used for stroking object outlines.

Parâmetros

color

GmagickPixel or string representing the color for the stroke.

Valor Retornado

The GmagickDraw object on success.


Specifies the opacity of stroked object outlines

  • « GmagickDraw::setstrokecolor
  • GmagickDraw::setstrokewidth »
  • PHP Manual
  • GmagickDraw
  • Specifies the opacity of stroked object outlines

GmagickDraw::setstrokeopacity

(PECL gmagick >= Unknown)

GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines

Descrição

public GmagickDraw::setstrokeopacity ( float $stroke_opacity ) : GmagickDraw

Specifies the opacity of stroked object outlines.

Parâmetros

stroke_opacity

Stroke opacity. The value 1.0 is opaque.

Valor Retornado

The GmagickDraw object on success


Sets the width of the stroke used to draw object outlines

  • « GmagickDraw::setstrokeopacity
  • GmagickDraw::settextdecoration »
  • PHP Manual
  • GmagickDraw
  • Sets the width of the stroke used to draw object outlines

GmagickDraw::setstrokewidth

(PECL gmagick >= Unknown)

GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines

Descrição

public GmagickDraw::setstrokewidth ( float $width ) : GmagickDraw

Sets the width of the stroke used to draw object outlines

Parâmetros

width

Stroke width

Valor Retornado

The GmagickDraw object on success


Specifies a decoration

  • « GmagickDraw::setstrokewidth
  • GmagickDraw::settextencoding »
  • PHP Manual
  • GmagickDraw
  • Specifies a decoration

GmagickDraw::settextdecoration

(PECL gmagick >= Unknown)

GmagickDraw::settextdecoration — Specifies a decoration

Descrição

public GmagickDraw::settextdecoration ( int $decoration ) : GmagickDraw

Specifies a decoration to be applied when annotating with text.

Parâmetros

int

Text decoration. One of NoDecoration, UnderlineDecoration, OverlineDecoration, or LineThroughDecoration

Valor Retornado

The GmagickDraw object on success


Specifies the text code set

  • « GmagickDraw::settextdecoration
  • GmagickPixel »
  • PHP Manual
  • GmagickDraw
  • Specifies the text code set

GmagickDraw::settextencoding

(PECL gmagick >= Unknown)

GmagickDraw::settextencoding — Specifies the text code set

Descrição

public GmagickDraw::settextencoding ( string $encoding ) : GmagickDraw

Specifies the code set to use for text annotations. The only character encoding which may be specified at this time is "UTF-8" for representing Unicode as a sequence of bytes. Specify an empty string to set text encoding to the system's default. Successful text annotation using Unicode may require fonts designed to support Unicode.

Parâmetros

encoding

Character string specifying text encoding

Valor Retornado

The GmagickDraw object on success


The GmagickPixel class

(PECL gmagick >= Unknown)

Introdução

Sinopse da classe

GmagickPixel {
/* Métodos */
public __construct ( string $color = ? )
public getcolor ( bool $as_array = false , bool $normalize_array = false ) : mixed
public getcolorcount ( ) : int
public getcolorvalue ( int $color ) : float
public setcolor ( string $color ) : GmagickPixel
public setcolorvalue ( int $color , float $value ) : GmagickPixel
}

Índice

  • GmagickPixel::__construct — The GmagickPixel constructor
  • GmagickPixel::getcolor — Returns the color
  • GmagickPixel::getcolorcount — Returns the color count associated with this color
  • GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel
  • GmagickPixel::setcolor — Sets the color
  • GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels


The GmagickPixel constructor

  • « GmagickPixel
  • GmagickPixel::getcolor »
  • PHP Manual
  • GmagickPixel
  • The GmagickPixel constructor

GmagickPixel::__construct

(PECL gmagick >= Unknown)

GmagickPixel::__construct — The GmagickPixel constructor

Descrição

public GmagickPixel::__construct ( string $color = ? )

Constructs an GmagickPixel object. If a color is specified, the object is constructed and then initialised with that color before being returned.

Parâmetros

color

The optional color string to use as the initial value of this object.

Valor Retornado

The GmagickPixel object on success.


Returns the color

  • « GmagickPixel::__construct
  • GmagickPixel::getcolorcount »
  • PHP Manual
  • GmagickPixel
  • Returns the color

GmagickPixel::getcolor

(PECL gmagick >= Unknown)

GmagickPixel::getcolor — Returns the color

Descrição

public GmagickPixel::getcolor ( bool $as_array = false , bool $normalize_array = false ) : mixed

Returns the color described by the GmagickPixel object, as a string or an array. If the color has an opacity channel set, this is provided as a fourth value in the list.

Parâmetros

as_array

true to indicate return of array instead of string.

normalize_array

true to normalize the color values.

Valor Retornado

A string or an array of channel values, each normalized if true is given as normalize_array. Throws GmagickPixelException on error.


Returns the color count associated with this color

  • « GmagickPixel::getcolor
  • GmagickPixel::getcolorvalue »
  • PHP Manual
  • GmagickPixel
  • Returns the color count associated with this color

GmagickPixel::getcolorcount

(PECL gmagick >= Unknown)

GmagickPixel::getcolorcount — Returns the color count associated with this color

Descrição

public GmagickPixel::getcolorcount ( ) : int

Returns the color count associated with this color

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the color count as an integer on success, throws GmagickPixelException on failure.


Gets the normalized value of the provided color channel

  • « GmagickPixel::getcolorcount
  • GmagickPixel::setcolor »
  • PHP Manual
  • GmagickPixel
  • Gets the normalized value of the provided color channel

GmagickPixel::getcolorvalue

(PECL gmagick >= Unknown)

GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel

Descrição

public GmagickPixel::getcolorvalue ( int $color ) : float

Retrieves the value of the color channel specified, as a floating-point number between 0 and 1.

Parâmetros

color

The channel to check, specified as one of the Gmagick channel constants.

Valor Retornado

The value of the channel, as a normalized floating-point number, throwing GmagickPixelException on error.


Sets the color

  • « GmagickPixel::getcolorvalue
  • GmagickPixel::setcolorvalue »
  • PHP Manual
  • GmagickPixel
  • Sets the color

GmagickPixel::setcolor

(PECL gmagick >= Unknown)

GmagickPixel::setcolor — Sets the color

Descrição

public GmagickPixel::setcolor ( string $color ) : GmagickPixel

Sets the color described by the GmagickPixel object, with a string (e.g. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.).

Parâmetros

color

The color definition to use in order to initialise the GmagickPixel object.

Valor Retornado

The GmagickPixel object on success.


Sets the normalized value of one of the channels

  • « GmagickPixel::setcolor
  • ImageMagick »
  • PHP Manual
  • GmagickPixel
  • Sets the normalized value of one of the channels

GmagickPixel::setcolorvalue

(PECL gmagick >= Unknown)

GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels

Descrição

public GmagickPixel::setcolorvalue ( int $color , float $value ) : GmagickPixel

Sets the value of the specified channel of this object to the provided value, which should be between 0 and 1. This function can be used to provide an opacity channel to a GmagickPixel object.

Parâmetros

color

One of the Gmagick channel color constants.

value

The value to set this channel to, ranging from 0 to 1.

Valor Retornado

The GmagickPixel object on success.


Image Processing (ImageMagick)

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Basic usage
  • Imagick — The Imagick class
    • Imagick::adaptiveBlurImage — Adds adaptive blur filter to image
    • Imagick::adaptiveResizeImage — Adaptively resize image with data dependent triangulation
    • Imagick::adaptiveSharpenImage — Adaptively sharpen the image
    • Imagick::adaptiveThresholdImage — Selects a threshold for each pixel based on a range of intensity
    • Imagick::addImage — Adds new image to Imagick object image list
    • Imagick::addNoiseImage — Adds random noise to the image
    • Imagick::affineTransformImage — Transforms an image
    • Imagick::animateImages — Animates an image or images
    • Imagick::annotateImage — Annotates an image with text
    • Imagick::appendImages — Append a set of images
    • Imagick::autoLevelImage — Description
    • Imagick::averageImages — Average a set of images
    • Imagick::blackThresholdImage — Forces all pixels below the threshold into black
    • Imagick::blueShiftImage — Description
    • Imagick::blurImage — Adds blur filter to image
    • Imagick::borderImage — Surrounds the image with a border
    • Imagick::brightnessContrastImage — Description
    • Imagick::charcoalImage — Simulates a charcoal drawing
    • Imagick::chopImage — Removes a region of an image and trims
    • Imagick::clampImage — Description
    • Imagick::clear — Clears all resources associated to Imagick object
    • Imagick::clipImage — Clips along the first path from the 8BIM profile
    • Imagick::clipImagePath — Description
    • Imagick::clipPathImage — Clips along the named paths from the 8BIM profile
    • Imagick::clone — Makes an exact copy of the Imagick object
    • Imagick::clutImage — Replaces colors in the image
    • Imagick::coalesceImages — Composites a set of images
    • Imagick::colorFloodfillImage — Changes the color value of any pixel that matches target
    • Imagick::colorizeImage — Blends the fill color with the image
    • Imagick::colorMatrixImage — Description
    • Imagick::combineImages — Combines one or more images into a single image
    • Imagick::commentImage — Adds a comment to your image
    • Imagick::compareImageChannels — Returns the difference in one or more images
    • Imagick::compareImageLayers — Returns the maximum bounding region between images
    • Imagick::compareImages — Compares an image to a reconstructed image
    • Imagick::compositeImage — Composite one image onto another
    • Imagick::__construct — The Imagick constructor
    • Imagick::contrastImage — Change the contrast of the image
    • Imagick::contrastStretchImage — Enhances the contrast of a color image
    • Imagick::convolveImage — Applies a custom convolution kernel to the image
    • Imagick::count — Get the number of images
    • Imagick::cropImage — Extracts a region of the image
    • Imagick::cropThumbnailImage — Creates a crop thumbnail
    • Imagick::current — Returns a reference to the current Imagick object
    • Imagick::cycleColormapImage — Displaces an image's colormap
    • Imagick::decipherImage — Deciphers an image
    • Imagick::deconstructImages — Returns certain pixel differences between images
    • Imagick::deleteImageArtifact — Delete image artifact
    • Imagick::deleteImageProperty — Description
    • Imagick::deskewImage — Removes skew from the image
    • Imagick::despeckleImage — Reduces the speckle noise in an image
    • Imagick::destroy — Destroys the Imagick object
    • Imagick::displayImage — Displays an image
    • Imagick::displayImages — Displays an image or image sequence
    • Imagick::distortImage — Distorts an image using various distortion methods
    • Imagick::drawImage — Renders the ImagickDraw object on the current image
    • Imagick::edgeImage — Enhance edges within the image
    • Imagick::embossImage — Returns a grayscale image with a three-dimensional effect
    • Imagick::encipherImage — Enciphers an image
    • Imagick::enhanceImage — Improves the quality of a noisy image
    • Imagick::equalizeImage — Equalizes the image histogram
    • Imagick::evaluateImage — Applies an expression to an image
    • Imagick::exportImagePixels — Exports raw image pixels
    • Imagick::extentImage — Set image size
    • Imagick::filter — Description
    • Imagick::flattenImages — Merges a sequence of images
    • Imagick::flipImage — Creates a vertical mirror image
    • Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target
    • Imagick::flopImage — Creates a vertical mirror image
    • Imagick::forwardFourierTransformImage — Description
    • Imagick::frameImage — Adds a simulated three-dimensional border
    • Imagick::functionImage — Applies a function on the image
    • Imagick::fxImage — Evaluate expression for each pixel in the image
    • Imagick::gammaImage — Gamma-corrects an image
    • Imagick::gaussianBlurImage — Blurs an image
    • Imagick::getColorspace — Gets the colorspace
    • Imagick::getCompression — Gets the object compression type
    • Imagick::getCompressionQuality — Gets the object compression quality
    • Imagick::getCopyright — Returns the ImageMagick API copyright as a string
    • Imagick::getFilename — The filename associated with an image sequence
    • Imagick::getFont — Gets font
    • Imagick::getFormat — Returns the format of the Imagick object
    • Imagick::getGravity — Gets the gravity
    • Imagick::getHomeURL — Returns the ImageMagick home URL
    • Imagick::getImage — Returns a new Imagick object
    • Imagick::getImageAlphaChannel — Gets the image alpha channel
    • Imagick::getImageArtifact — Get image artifact
    • Imagick::getImageAttribute — Description
    • Imagick::getImageBackgroundColor — Returns the image background color
    • Imagick::getImageBlob — Returns the image sequence as a blob
    • Imagick::getImageBluePrimary — Returns the chromaticy blue primary point
    • Imagick::getImageBorderColor — Returns the image border color
    • Imagick::getImageChannelDepth — Gets the depth for a particular image channel
    • Imagick::getImageChannelDistortion — Compares image channels of an image to a reconstructed image
    • Imagick::getImageChannelDistortions — Gets channel distortions
    • Imagick::getImageChannelExtrema — Gets the extrema for one or more image channels
    • Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose
    • Imagick::getImageChannelMean — Gets the mean and standard deviation
    • Imagick::getImageChannelRange — Gets channel range
    • Imagick::getImageChannelStatistics — Returns statistics for each channel in the image
    • Imagick::getImageClipMask — Gets image clip mask
    • Imagick::getImageColormapColor — Returns the color of the specified colormap index
    • Imagick::getImageColors — Gets the number of unique colors in the image
    • Imagick::getImageColorspace — Gets the image colorspace
    • Imagick::getImageCompose — Returns the composite operator associated with the image
    • Imagick::getImageCompression — Gets the current image's compression type
    • Imagick::getImageCompressionQuality — Gets the current image's compression quality
    • Imagick::getImageDelay — Gets the image delay
    • Imagick::getImageDepth — Gets the image depth
    • Imagick::getImageDispose — Gets the image disposal method
    • Imagick::getImageDistortion — Compares an image to a reconstructed image
    • Imagick::getImageExtrema — Gets the extrema for the image
    • Imagick::getImageFilename — Returns the filename of a particular image in a sequence
    • Imagick::getImageFormat — Returns the format of a particular image in a sequence
    • Imagick::getImageGamma — Gets the image gamma
    • Imagick::getImageGeometry — Gets the width and height as an associative array
    • Imagick::getImageGravity — Gets the image gravity
    • Imagick::getImageGreenPrimary — Returns the chromaticy green primary point
    • Imagick::getImageHeight — Returns the image height
    • Imagick::getImageHistogram — Gets the image histogram
    • Imagick::getImageIndex — Gets the index of the current active image
    • Imagick::getImageInterlaceScheme — Gets the image interlace scheme
    • Imagick::getImageInterpolateMethod — Returns the interpolation method
    • Imagick::getImageIterations — Gets the image iterations
    • Imagick::getImageLength — Returns the image length in bytes
    • Imagick::getImageMatte — Return if the image has a matte channel
    • Imagick::getImageMatteColor — Returns the image matte color
    • Imagick::getImageMimeType — Description
    • Imagick::getImageOrientation — Gets the image orientation
    • Imagick::getImagePage — Returns the page geometry
    • Imagick::getImagePixelColor — Returns the color of the specified pixel
    • Imagick::getImageProfile — Returns the named image profile
    • Imagick::getImageProfiles — Returns the image profiles
    • Imagick::getImageProperties — Returns the image properties
    • Imagick::getImageProperty — Returns the named image property
    • Imagick::getImageRedPrimary — Returns the chromaticity red primary point
    • Imagick::getImageRegion — Extracts a region of the image
    • Imagick::getImageRenderingIntent — Gets the image rendering intent
    • Imagick::getImageResolution — Gets the image X and Y resolution
    • Imagick::getImagesBlob — Returns all image sequences as a blob
    • Imagick::getImageScene — Gets the image scene
    • Imagick::getImageSignature — Generates an SHA-256 message digest
    • Imagick::getImageSize — Returns the image length in bytes
    • Imagick::getImageTicksPerSecond — Gets the image ticks-per-second
    • Imagick::getImageTotalInkDensity — Gets the image total ink density
    • Imagick::getImageType — Gets the potential image type
    • Imagick::getImageUnits — Gets the image units of resolution
    • Imagick::getImageVirtualPixelMethod — Returns the virtual pixel method
    • Imagick::getImageWhitePoint — Returns the chromaticity white point
    • Imagick::getImageWidth — Returns the image width
    • Imagick::getInterlaceScheme — Gets the object interlace scheme
    • Imagick::getIteratorIndex — Gets the index of the current active image
    • Imagick::getNumberImages — Returns the number of images in the object
    • Imagick::getOption — Returns a value associated with the specified key
    • Imagick::getPackageName — Returns the ImageMagick package name
    • Imagick::getPage — Returns the page geometry
    • Imagick::getPixelIterator — Returns a MagickPixelIterator
    • Imagick::getPixelRegionIterator — Get an ImagickPixelIterator for an image section
    • Imagick::getPointSize — Gets point size
    • Imagick::getQuantum — Description
    • Imagick::getQuantumDepth — Gets the quantum depth
    • Imagick::getQuantumRange — Returns the Imagick quantum range
    • Imagick::getRegistry — Description
    • Imagick::getReleaseDate — Returns the ImageMagick release date
    • Imagick::getResource — Returns the specified resource's memory usage
    • Imagick::getResourceLimit — Returns the specified resource limit
    • Imagick::getSamplingFactors — Gets the horizontal and vertical sampling factor
    • Imagick::getSize — Returns the size associated with the Imagick object
    • Imagick::getSizeOffset — Returns the size offset
    • Imagick::getVersion — Returns the ImageMagick API version
    • Imagick::haldClutImage — Replaces colors in the image
    • Imagick::hasNextImage — Checks if the object has more images
    • Imagick::hasPreviousImage — Checks if the object has a previous image
    • Imagick::identifyFormat — Description
    • Imagick::identifyImage — Identifies an image and fetches attributes
    • Imagick::implodeImage — Creates a new image as a copy
    • Imagick::importImagePixels — Imports image pixels
    • Imagick::inverseFourierTransformImage — Description
    • Imagick::labelImage — Adds a label to an image
    • Imagick::levelImage — Adjusts the levels of an image
    • Imagick::linearStretchImage — Stretches with saturation the image intensity
    • Imagick::liquidRescaleImage — Animates an image or images
    • Imagick::listRegistry — Description
    • Imagick::magnifyImage — Scales an image proportionally 2x
    • Imagick::mapImage — Replaces the colors of an image with the closest color from a reference image
    • Imagick::matteFloodfillImage — Changes the transparency value of a color
    • Imagick::medianFilterImage — Applies a digital filter
    • Imagick::mergeImageLayers — Merges image layers
    • Imagick::minifyImage — Scales an image proportionally to half its size
    • Imagick::modulateImage — Control the brightness, saturation, and hue
    • Imagick::montageImage — Creates a composite image
    • Imagick::morphImages — Method morphs a set of images
    • Imagick::morphology — Description
    • Imagick::mosaicImages — Forms a mosaic from images
    • Imagick::motionBlurImage — Simulates motion blur
    • Imagick::negateImage — Negates the colors in the reference image
    • Imagick::newImage — Creates a new image
    • Imagick::newPseudoImage — Creates a new image
    • Imagick::nextImage — Moves to the next image
    • Imagick::normalizeImage — Enhances the contrast of a color image
    • Imagick::oilPaintImage — Simulates an oil painting
    • Imagick::opaquePaintImage — Changes the color value of any pixel that matches target
    • Imagick::optimizeImageLayers — Removes repeated portions of images to optimize
    • Imagick::orderedPosterizeImage — Performs an ordered dither
    • Imagick::paintFloodfillImage — Changes the color value of any pixel that matches target
    • Imagick::paintOpaqueImage — Change any pixel that matches color
    • Imagick::paintTransparentImage — Changes any pixel that matches color with the color defined by fill
    • Imagick::pingImage — Fetch basic attributes about the image
    • Imagick::pingImageBlob — Quickly fetch attributes
    • Imagick::pingImageFile — Get basic image attributes in a lightweight manner
    • Imagick::polaroidImage — Simulates a Polaroid picture
    • Imagick::posterizeImage — Reduces the image to a limited number of color level
    • Imagick::previewImages — Quickly pin-point appropriate parameters for image processing
    • Imagick::previousImage — Move to the previous image in the object
    • Imagick::profileImage — Adds or removes a profile from an image
    • Imagick::quantizeImage — Analyzes the colors within a reference image
    • Imagick::quantizeImages — Analyzes the colors within a sequence of images
    • Imagick::queryFontMetrics — Returns an array representing the font metrics
    • Imagick::queryFonts — Returns the configured fonts
    • Imagick::queryFormats — Returns formats supported by Imagick
    • Imagick::radialBlurImage — Radial blurs an image
    • Imagick::raiseImage — Creates a simulated 3d button-like effect
    • Imagick::randomThresholdImage — Creates a high-contrast, two-color image
    • Imagick::readImage — Reads image from filename
    • Imagick::readImageBlob — Reads image from a binary string
    • Imagick::readImageFile — Reads image from open filehandle
    • Imagick::readimages — Description
    • Imagick::recolorImage — Recolors image
    • Imagick::reduceNoiseImage — Smooths the contours of an image
    • Imagick::remapImage — Remaps image colors
    • Imagick::removeImage — Removes an image from the image list
    • Imagick::removeImageProfile — Removes the named image profile and returns it
    • Imagick::render — Renders all preceding drawing commands
    • Imagick::resampleImage — Resample image to desired resolution
    • Imagick::resetImagePage — Reset image page
    • Imagick::resizeImage — Scales an image
    • Imagick::rollImage — Offsets an image
    • Imagick::rotateImage — Rotates an image
    • Imagick::rotationalBlurImage — Description
    • Imagick::roundCorners — Rounds image corners
    • Imagick::sampleImage — Scales an image with pixel sampling
    • Imagick::scaleImage — Scales the size of an image
    • Imagick::segmentImage — Segments an image
    • Imagick::selectiveBlurImage — Description
    • Imagick::separateImageChannel — Separates a channel from the image
    • Imagick::sepiaToneImage — Sepia tones an image
    • Imagick::setBackgroundColor — Sets the object's default background color
    • Imagick::setColorspace — Set colorspace
    • Imagick::setCompression — Sets the object's default compression type
    • Imagick::setCompressionQuality — Sets the object's default compression quality
    • Imagick::setFilename — Sets the filename before you read or write the image
    • Imagick::setFirstIterator — Sets the Imagick iterator to the first image
    • Imagick::setFont — Sets font
    • Imagick::setFormat — Sets the format of the Imagick object
    • Imagick::setGravity — Sets the gravity
    • Imagick::setImage — Replaces image in the object
    • Imagick::setImageAlphaChannel — Sets image alpha channel
    • Imagick::setImageArtifact — Set image artifact
    • Imagick::setImageAttribute — Description
    • Imagick::setImageBackgroundColor — Sets the image background color
    • Imagick::setImageBias — Sets the image bias for any method that convolves an image
    • Imagick::setImageBiasQuantum — Description
    • Imagick::setImageBluePrimary — Sets the image chromaticity blue primary point
    • Imagick::setImageBorderColor — Sets the image border color
    • Imagick::setImageChannelDepth — Sets the depth of a particular image channel
    • Imagick::setImageClipMask — Sets image clip mask
    • Imagick::setImageColormapColor — Sets the color of the specified colormap index
    • Imagick::setImageColorspace — Sets the image colorspace
    • Imagick::setImageCompose — Sets the image composite operator
    • Imagick::setImageCompression — Sets the image compression
    • Imagick::setImageCompressionQuality — Sets the image compression quality
    • Imagick::setImageDelay — Sets the image delay
    • Imagick::setImageDepth — Sets the image depth
    • Imagick::setImageDispose — Sets the image disposal method
    • Imagick::setImageExtent — Sets the image size
    • Imagick::setImageFilename — Sets the filename of a particular image
    • Imagick::setImageFormat — Sets the format of a particular image
    • Imagick::setImageGamma — Sets the image gamma
    • Imagick::setImageGravity — Sets the image gravity
    • Imagick::setImageGreenPrimary — Sets the image chromaticity green primary point
    • Imagick::setImageIndex — Set the iterator position
    • Imagick::setImageInterlaceScheme — Sets the image compression
    • Imagick::setImageInterpolateMethod — Sets the image interpolate pixel method
    • Imagick::setImageIterations — Sets the image iterations
    • Imagick::setImageMatte — Sets the image matte channel
    • Imagick::setImageMatteColor — Sets the image matte color
    • Imagick::setImageOpacity — Sets the image opacity level
    • Imagick::setImageOrientation — Sets the image orientation
    • Imagick::setImagePage — Sets the page geometry of the image
    • Imagick::setImageProfile — Adds a named profile to the Imagick object
    • Imagick::setImageProperty — Sets an image property
    • Imagick::setImageRedPrimary — Sets the image chromaticity red primary point
    • Imagick::setImageRenderingIntent — Sets the image rendering intent
    • Imagick::setImageResolution — Sets the image resolution
    • Imagick::setImageScene — Sets the image scene
    • Imagick::setImageTicksPerSecond — Sets the image ticks-per-second
    • Imagick::setImageType — Sets the image type
    • Imagick::setImageUnits — Sets the image units of resolution
    • Imagick::setImageVirtualPixelMethod — Sets the image virtual pixel method
    • Imagick::setImageWhitePoint — Sets the image chromaticity white point
    • Imagick::setInterlaceScheme — Sets the image compression
    • Imagick::setIteratorIndex — Set the iterator position
    • Imagick::setLastIterator — Sets the Imagick iterator to the last image
    • Imagick::setOption — Set an option
    • Imagick::setPage — Sets the page geometry of the Imagick object
    • Imagick::setPointSize — Sets point size
    • Imagick::setProgressMonitor — Description
    • Imagick::setRegistry — Description
    • Imagick::setResolution — Sets the image resolution
    • Imagick::setResourceLimit — Sets the limit for a particular resource
    • Imagick::setSamplingFactors — Sets the image sampling factors
    • Imagick::setSize — Sets the size of the Imagick object
    • Imagick::setSizeOffset — Sets the size and offset of the Imagick object
    • Imagick::setType — Sets the image type attribute
    • Imagick::shadeImage — Creates a 3D effect
    • Imagick::shadowImage — Simulates an image shadow
    • Imagick::sharpenImage — Sharpens an image
    • Imagick::shaveImage — Shaves pixels from the image edges
    • Imagick::shearImage — Creating a parallelogram
    • Imagick::sigmoidalContrastImage — Adjusts the contrast of an image
    • Imagick::sketchImage — Simulates a pencil sketch
    • Imagick::smushImages — Description
    • Imagick::solarizeImage — Applies a solarizing effect to the image
    • Imagick::sparseColorImage — Interpolates colors
    • Imagick::spliceImage — Splices a solid color into the image
    • Imagick::spreadImage — Randomly displaces each pixel in a block
    • Imagick::statisticImage — Description
    • Imagick::steganoImage — Hides a digital watermark within the image
    • Imagick::stereoImage — Composites two images
    • Imagick::stripImage — Strips an image of all profiles and comments
    • Imagick::subImageMatch — Description
    • Imagick::swirlImage — Swirls the pixels about the center of the image
    • Imagick::textureImage — Repeatedly tiles the texture image
    • Imagick::thresholdImage — Changes the value of individual pixels based on a threshold
    • Imagick::thumbnailImage — Changes the size of an image
    • Imagick::tintImage — Applies a color vector to each pixel in the image
    • Imagick::__toString — Returns the image as a string
    • Imagick::transformImage — Convenience method for setting crop size and the image geometry
    • Imagick::transformImageColorspace — Transforms an image to a new colorspace
    • Imagick::transparentPaintImage — Paints pixels transparent
    • Imagick::transposeImage — Creates a vertical mirror image
    • Imagick::transverseImage — Creates a horizontal mirror image
    • Imagick::trimImage — Remove edges from the image
    • Imagick::uniqueImageColors — Discards all but one of any pixel color
    • Imagick::unsharpMaskImage — Sharpens an image
    • Imagick::valid — Checks if the current item is valid
    • Imagick::vignetteImage — Adds vignette filter to the image
    • Imagick::waveImage — Applies wave filter to the image
    • Imagick::whiteThresholdImage — Force all pixels above the threshold into white
    • Imagick::writeImage — Writes an image to the specified filename
    • Imagick::writeImageFile — Writes an image to a filehandle
    • Imagick::writeImages — Writes an image or image sequence
    • Imagick::writeImagesFile — Writes frames to a filehandle
  • ImagickDraw — The ImagickDraw class
    • ImagickDraw::affine — Adjusts the current affine transformation matrix
    • ImagickDraw::annotation — Draws text on the image
    • ImagickDraw::arc — Draws an arc
    • ImagickDraw::bezier — Draws a bezier curve
    • ImagickDraw::circle — Draws a circle
    • ImagickDraw::clear — Clears the ImagickDraw
    • ImagickDraw::clone — Makes an exact copy of the specified ImagickDraw object
    • ImagickDraw::color — Draws color on image
    • ImagickDraw::comment — Adds a comment
    • ImagickDraw::composite — Composites an image onto the current image
    • ImagickDraw::__construct — The ImagickDraw constructor
    • ImagickDraw::destroy — Frees all associated resources
    • ImagickDraw::ellipse — Draws an ellipse on the image
    • ImagickDraw::getClipPath — Obtains the current clipping path ID
    • ImagickDraw::getClipRule — Returns the current polygon fill rule
    • ImagickDraw::getClipUnits — Returns the interpretation of clip path units
    • ImagickDraw::getFillColor — Returns the fill color
    • ImagickDraw::getFillOpacity — Returns the opacity used when drawing
    • ImagickDraw::getFillRule — Returns the fill rule
    • ImagickDraw::getFont — Returns the font
    • ImagickDraw::getFontFamily — Returns the font family
    • ImagickDraw::getFontSize — Returns the font pointsize
    • ImagickDraw::getFontStretch — Description
    • ImagickDraw::getFontStyle — Returns the font style
    • ImagickDraw::getFontWeight — Returns the font weight
    • ImagickDraw::getGravity — Returns the text placement gravity
    • ImagickDraw::getStrokeAntialias — Returns the current stroke antialias setting
    • ImagickDraw::getStrokeColor — Returns the color used for stroking object outlines
    • ImagickDraw::getStrokeDashArray — Returns an array representing the pattern of dashes and gaps used to stroke paths
    • ImagickDraw::getStrokeDashOffset — Returns the offset into the dash pattern to start the dash
    • ImagickDraw::getStrokeLineCap — Returns the shape to be used at the end of open subpaths when they are stroked
    • ImagickDraw::getStrokeLineJoin — Returns the shape to be used at the corners of paths when they are stroked
    • ImagickDraw::getStrokeMiterLimit — Returns the stroke miter limit
    • ImagickDraw::getStrokeOpacity — Returns the opacity of stroked object outlines
    • ImagickDraw::getStrokeWidth — Returns the width of the stroke used to draw object outlines
    • ImagickDraw::getTextAlignment — Returns the text alignment
    • ImagickDraw::getTextAntialias — Returns the current text antialias setting
    • ImagickDraw::getTextDecoration — Returns the text decoration
    • ImagickDraw::getTextEncoding — Returns the code set used for text annotations
    • ImagickDraw::getTextInterlineSpacing — Description
    • ImagickDraw::getTextInterwordSpacing — Description
    • ImagickDraw::getTextKerning — Description
    • ImagickDraw::getTextUnderColor — Returns the text under color
    • ImagickDraw::getVectorGraphics — Returns a string containing vector graphics
    • ImagickDraw::line — Draws a line
    • ImagickDraw::matte — Paints on the image's opacity channel
    • ImagickDraw::pathClose — Adds a path element to the current path
    • ImagickDraw::pathCurveToAbsolute — Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierAbsolute — Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierRelative — Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToRelative — Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToSmoothAbsolute — Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToSmoothRelative — Draws a cubic Bezier curve
    • ImagickDraw::pathEllipticArcAbsolute — Draws an elliptical arc
    • ImagickDraw::pathEllipticArcRelative — Draws an elliptical arc
    • ImagickDraw::pathFinish — Terminates the current path
    • ImagickDraw::pathLineToAbsolute — Draws a line path
    • ImagickDraw::pathLineToHorizontalAbsolute — Draws a horizontal line path
    • ImagickDraw::pathLineToHorizontalRelative — Draws a horizontal line
    • ImagickDraw::pathLineToRelative — Draws a line path
    • ImagickDraw::pathLineToVerticalAbsolute — Draws a vertical line
    • ImagickDraw::pathLineToVerticalRelative — Draws a vertical line path
    • ImagickDraw::pathMoveToAbsolute — Starts a new sub-path
    • ImagickDraw::pathMoveToRelative — Starts a new sub-path
    • ImagickDraw::pathStart — Declares the start of a path drawing list
    • ImagickDraw::point — Draws a point
    • ImagickDraw::polygon — Draws a polygon
    • ImagickDraw::polyline — Draws a polyline
    • ImagickDraw::pop — Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw
    • ImagickDraw::popClipPath — Terminates a clip path definition
    • ImagickDraw::popDefs — Terminates a definition list
    • ImagickDraw::popPattern — Terminates a pattern definition
    • ImagickDraw::push — Clones the current ImagickDraw and pushes it to the stack
    • ImagickDraw::pushClipPath — Starts a clip path definition
    • ImagickDraw::pushDefs — Indicates that following commands create named elements for early processing
    • ImagickDraw::pushPattern — Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern
    • ImagickDraw::rectangle — Draws a rectangle
    • ImagickDraw::render — Renders all preceding drawing commands onto the image
    • ImagickDraw::resetVectorGraphics — Description
    • ImagickDraw::rotate — Applies the specified rotation to the current coordinate space
    • ImagickDraw::roundRectangle — Draws a rounded rectangle
    • ImagickDraw::scale — Adjusts the scaling factor
    • ImagickDraw::setClipPath — Associates a named clipping path with the image
    • ImagickDraw::setClipRule — Set the polygon fill rule to be used by the clipping path
    • ImagickDraw::setClipUnits — Sets the interpretation of clip path units
    • ImagickDraw::setFillAlpha — Sets the opacity to use when drawing using the fill color or fill texture
    • ImagickDraw::setFillColor — Sets the fill color to be used for drawing filled objects
    • ImagickDraw::setFillOpacity — Sets the opacity to use when drawing using the fill color or fill texture
    • ImagickDraw::setFillPatternURL — Sets the URL to use as a fill pattern for filling objects
    • ImagickDraw::setFillRule — Sets the fill rule to use while drawing polygons
    • ImagickDraw::setFont — Sets the fully-specified font to use when annotating with text
    • ImagickDraw::setFontFamily — Sets the font family to use when annotating with text
    • ImagickDraw::setFontSize — Sets the font pointsize to use when annotating with text
    • ImagickDraw::setFontStretch — Sets the font stretch to use when annotating with text
    • ImagickDraw::setFontStyle — Sets the font style to use when annotating with text
    • ImagickDraw::setFontWeight — Sets the font weight
    • ImagickDraw::setGravity — Sets the text placement gravity
    • ImagickDraw::setResolution — Description
    • ImagickDraw::setStrokeAlpha — Specifies the opacity of stroked object outlines
    • ImagickDraw::setStrokeAntialias — Controls whether stroked outlines are antialiased
    • ImagickDraw::setStrokeColor — Sets the color used for stroking object outlines
    • ImagickDraw::setStrokeDashArray — Specifies the pattern of dashes and gaps used to stroke paths
    • ImagickDraw::setStrokeDashOffset — Specifies the offset into the dash pattern to start the dash
    • ImagickDraw::setStrokeLineCap — Specifies the shape to be used at the end of open subpaths when they are stroked
    • ImagickDraw::setStrokeLineJoin — Specifies the shape to be used at the corners of paths when they are stroked
    • ImagickDraw::setStrokeMiterLimit — Specifies the miter limit
    • ImagickDraw::setStrokeOpacity — Specifies the opacity of stroked object outlines
    • ImagickDraw::setStrokePatternURL — Sets the pattern used for stroking object outlines
    • ImagickDraw::setStrokeWidth — Sets the width of the stroke used to draw object outlines
    • ImagickDraw::setTextAlignment — Specifies a text alignment
    • ImagickDraw::setTextAntialias — Controls whether text is antialiased
    • ImagickDraw::setTextDecoration — Specifies a decoration
    • ImagickDraw::setTextEncoding — Specifies the text code set
    • ImagickDraw::setTextInterlineSpacing — Description
    • ImagickDraw::setTextInterwordSpacing — Description
    • ImagickDraw::setTextKerning — Description
    • ImagickDraw::setTextUnderColor — Specifies the color of a background rectangle
    • ImagickDraw::setVectorGraphics — Sets the vector graphics
    • ImagickDraw::setViewbox — Sets the overall canvas size
    • ImagickDraw::skewX — Skews the current coordinate system in the horizontal direction
    • ImagickDraw::skewY — Skews the current coordinate system in the vertical direction
    • ImagickDraw::translate — Applies a translation to the current coordinate system
  • ImagickPixel — The ImagickPixel class
    • ImagickPixel::clear — Clears resources associated with this object
    • ImagickPixel::__construct — The ImagickPixel constructor
    • ImagickPixel::destroy — Deallocates resources associated with this object
    • ImagickPixel::getColor — Returns the color
    • ImagickPixel::getColorAsString — Returns the color as a string
    • ImagickPixel::getColorCount — Returns the color count associated with this color
    • ImagickPixel::getColorQuantum — Description
    • ImagickPixel::getColorValue — Gets the normalized value of the provided color channel
    • ImagickPixel::getColorValueQuantum — Description
    • ImagickPixel::getHSL — Returns the normalized HSL color of the ImagickPixel object
    • ImagickPixel::getIndex — Description
    • ImagickPixel::isPixelSimilar — Check the distance between this color and another
    • ImagickPixel::isPixelSimilarQuantum — Description
    • ImagickPixel::isSimilar — Check the distance between this color and another
    • ImagickPixel::setColor — Sets the color
    • ImagickPixel::setColorCount — Description
    • ImagickPixel::setColorValue — Sets the normalized value of one of the channels
    • ImagickPixel::setColorValueQuantum — Description
    • ImagickPixel::setHSL — Sets the normalized HSL color
    • ImagickPixel::setIndex — Description
  • ImagickPixelIterator — The ImagickPixelIterator class
    • ImagickPixelIterator::clear — Clear resources associated with a PixelIterator
    • ImagickPixelIterator::__construct — The ImagickPixelIterator constructor
    • ImagickPixelIterator::destroy — Deallocates resources associated with a PixelIterator
    • ImagickPixelIterator::getCurrentIteratorRow — Returns the current row of ImagickPixel objects
    • ImagickPixelIterator::getIteratorRow — Returns the current pixel iterator row
    • ImagickPixelIterator::getNextIteratorRow — Returns the next row of the pixel iterator
    • ImagickPixelIterator::getPreviousIteratorRow — Returns the previous row
    • ImagickPixelIterator::newPixelIterator — Returns a new pixel iterator
    • ImagickPixelIterator::newPixelRegionIterator — Returns a new pixel iterator
    • ImagickPixelIterator::resetIterator — Resets the pixel iterator
    • ImagickPixelIterator::setIteratorFirstRow — Sets the pixel iterator to the first pixel row
    • ImagickPixelIterator::setIteratorLastRow — Sets the pixel iterator to the last pixel row
    • ImagickPixelIterator::setIteratorRow — Set the pixel iterator row
    • ImagickPixelIterator::syncIterator — Syncs the pixel iterator
  • ImagickKernel — The ImagickKernel class
    • ImagickKernel::addKernel — Description
    • ImagickKernel::addUnityKernel — Description
    • ImagickKernel::fromBuiltIn — Description
    • ImagickKernel::fromMatrix — Description
    • ImagickKernel::getMatrix — Description
    • ImagickKernel::scale — Description
    • ImagickKernel::separate — Description


Introdução

Imagick is a native php extension to create and modify images using the ImageMagick API.

ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF.

ImageMagick Studio LLC is a non-profit organization dedicated to making software imaging solutions freely available.


Dependências

Installation requirements on Windows

Version information does not differ from that above. There are binaries available from http://www.imagemagick.org/ so that you can load this extension on Windows without need for a compiler.

Installation requirements on other platforms

PHP >= 5.1.3 and ImageMagick >= 6.2.4 is required. The amount of file formats supported by Imagick depends entirely upon the amount of formats supported by your ImageMagick installation. For example, Imagemagick requires ghostscript to conduct PDF operations.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/imagick.

Nota: The official name of this extension is imagick.

Windows users can download prebuilt DLL from the » PECL website.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Imagick configuration options
Nome | Padrão | Modificável | Changelog
imagick.locale_fix | false | PHP_INI_ALL | Available since Imagick 2.1.0
imagick.progress_monitor | false | PHP_INI_SYSTEM | Available since Imagick 2.2.2
imagick.skip_version_check | false | PHP_INI_SYSTEM | Available since Imagick 3.3.0
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

imagick.locale_fix bool

Fixes a drawing bug with locales that use ',' as float separators.

imagick.progress_monitor bool

Used to enable the image progress monitor.

imagick.skip_version_check bool

When Imagick is loaded, it checks the version number of ImageMagick that it was compiled against, with the version number that is currently being used and will give a warning if they don't match. This warning can be suppressed by enabling this ini setting.

Using a version of Imagick that was compiled against a different version of ImageMagick than the one being used is not recommended. Although it may appear to work, it can lead to random crashes or other undefined behaviour.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

COLOR_* constants

Colortype constants. These constants are mainly used with ImagickPixel.

imagick::COLOR_BLACK (int)
Black color
imagick::COLOR_BLUE (int)
Blue color
imagick::COLOR_CYAN (int)
Cyan color
imagick::COLOR_GREEN (int)
Green color
imagick::COLOR_RED (int)
Red color
imagick::COLOR_YELLOW (int)
Yellow color
imagick::COLOR_MAGENTA (int)
Magenta color
imagick::COLOR_OPACITY (int)
Color's opacity
imagick::COLOR_ALPHA (int)
Color's alpha
imagick::COLOR_FUZZ (int)
Color's fuzz
DISPOSE constants

Dispose type constants

imagick::DISPOSE_UNRECOGNIZED (int)
Unrecognized dispose type
imagick::DISPOSE_UNDEFINED (int)
Undefined dispose type
imagick::DISPOSE_NONE (int)
No dispose type defined
imagick::DISPOSE_BACKGROUND (int)
Dispose background
imagick::DISPOSE_PREVIOUS (int)
Dispose previous
Composite Operator Constants
imagick::COMPOSITE_DEFAULT (int)
The default composite operator
imagick::COMPOSITE_UNDEFINED (int)
Undefined composite operator
imagick::COMPOSITE_NO (int)
No composite operator defined
imagick::COMPOSITE_ADD (int)
The result of image + image
imagick::COMPOSITE_ATOP (int)
The result is the same shape as image, with composite image obscuring image where the image shapes overlap
imagick::COMPOSITE_BLEND (int)
Blends the image
imagick::COMPOSITE_BUMPMAP (int)
The same as COMPOSITE_MULTIPLY, except the source is converted to grayscale first.
imagick::COMPOSITE_CLEAR (int)
Makes the target image transparent
imagick::COMPOSITE_COLORBURN (int)
Darkens the destination image to reflect the source image
imagick::COMPOSITE_COLORDODGE (int)
Brightens the destination image to reflect the source image
imagick::COMPOSITE_COLORIZE (int)
Colorizes the target image using the composite image
imagick::COMPOSITE_COPYBLACK (int)
Copies black from the source to target
imagick::COMPOSITE_COPYBLUE (int)
Copies blue from the source to target
imagick::COMPOSITE_COPY (int)
Copies the source image on the target image
imagick::COMPOSITE_COPYCYAN (int)
Copies cyan from the source to target
imagick::COMPOSITE_COPYGREEN (int)
Copies green from the source to target
imagick::COMPOSITE_COPYMAGENTA (int)
Copies magenta from the source to target
imagick::COMPOSITE_COPYOPACITY (int)
Copies opacity from the source to target
imagick::COMPOSITE_COPYRED (int)
Copies red from the source to target
imagick::COMPOSITE_COPYYELLOW (int)
Copies yellow from the source to target
imagick::COMPOSITE_DARKEN (int)
Darkens the target image
imagick::COMPOSITE_DSTATOP (int)
The part of the destination lying inside of the source is composited over the source and replaces the destination
imagick::COMPOSITE_DST (int)
The target is left untouched
imagick::COMPOSITE_DSTIN (int)
The parts inside the source replace the target
imagick::COMPOSITE_DSTOUT (int)
The parts outside the source replace the target
imagick::COMPOSITE_DSTOVER (int)
Target replaces the source
imagick::COMPOSITE_DIFFERENCE (int)
Subtracts the darker of the two constituent colors from the lighter
imagick::COMPOSITE_DISPLACE (int)
Shifts target image pixels as defined by the source
imagick::COMPOSITE_DISSOLVE (int)
Dissolves the source in to the target
imagick::COMPOSITE_EXCLUSION (int)
Produces an effect similar to that of imagick::COMPOSITE_DIFFERENCE, but appears as lower contrast
imagick::COMPOSITE_HARDLIGHT (int)
Multiplies or screens the colors, dependent on the source color value
imagick::COMPOSITE_HUE (int)
Modifies the hue of the target as defined by source
imagick::COMPOSITE_IN (int)
Composites source into the target
imagick::COMPOSITE_LIGHTEN (int)
Lightens the target as defined by source
imagick::COMPOSITE_LUMINIZE (int)
Luminizes the target as defined by source
imagick::COMPOSITE_MINUS (int)
Subtracts the source from the target
imagick::COMPOSITE_MODULATE (int)
Modulates the target brightness, saturation and hue as defined by source
imagick::COMPOSITE_MULTIPLY (int)
Multiplies the target to the source
imagick::COMPOSITE_OUT (int)
Composites outer parts of the source on the target
imagick::COMPOSITE_OVER (int)
Composites source over the target
imagick::COMPOSITE_OVERLAY (int)
Overlays the source on the target
imagick::COMPOSITE_PLUS (int)
Adds the source to the target
imagick::COMPOSITE_REPLACE (int)
Replaces the target with the source
imagick::COMPOSITE_SATURATE (int)
Saturates the target as defined by the source
imagick::COMPOSITE_SCREEN (int)
The source and destination are complemented and then multiplied and then replace the destination
imagick::COMPOSITE_SOFTLIGHT (int)
Darkens or lightens the colors, dependent on the source
imagick::COMPOSITE_SRCATOP (int)
The part of the source lying inside of the destination is composited onto the destination
imagick::COMPOSITE_SRC (int)
The source is copied to the destination
imagick::COMPOSITE_SRCIN (int)
The part of the source lying inside of the destination replaces the destination
imagick::COMPOSITE_SRCOUT (int)
The part of the source lying outside of the destination replaces the destination
imagick::COMPOSITE_SRCOVER (int)
The source replaces the destination
imagick::COMPOSITE_SUBTRACT (int)
Subtract the colors in the source image from the destination image
imagick::COMPOSITE_THRESHOLD (int)
The source is composited on the target as defined by source threshold
imagick::COMPOSITE_XOR (int)
The part of the source that lies outside of the destination is combined with the part of the destination that lies outside of the source
MONTAGEMODE constants

imagick::MONTAGEMODE_FRAME (int)
imagick::MONTAGEMODE_UNFRAME (int)
imagick::MONTAGEMODE_CONCATENATE (int)
STYLE constants

imagick::STYLE_NORMAL (int)
imagick::STYLE_ITALIC (int)
imagick::STYLE_OBLIQUE (int)
imagick::STYLE_ANY (int)
FILTER constants

imagick::FILTER_UNDEFINED (int)
imagick::FILTER_POINT (int)
imagick::FILTER_BOX (int)
imagick::FILTER_TRIANGLE (int)
imagick::FILTER_HERMITE (int)
imagick::FILTER_HANNING (int)
imagick::FILTER_HAMMING (int)
imagick::FILTER_BLACKMAN (int)
imagick::FILTER_GAUSSIAN (int)
imagick::FILTER_QUADRATIC (int)
imagick::FILTER_CUBIC (int)
imagick::FILTER_CATROM (int)
imagick::FILTER_MITCHELL (int)
imagick::FILTER_LANCZOS (int)
imagick::FILTER_BESSEL (int)
imagick::FILTER_SINC (int)
IMGTYPE constants

imagick::IMGTYPE_UNDEFINED (int)
imagick::IMGTYPE_BILEVEL (int)
imagick::IMGTYPE_GRAYSCALE (int)
imagick::IMGTYPE_GRAYSCALEMATTE (int)
imagick::IMGTYPE_PALETTE (int)
imagick::IMGTYPE_PALETTEMATTE (int)
imagick::IMGTYPE_TRUECOLOR (int)
imagick::IMGTYPE_TRUECOLORMATTE (int)
imagick::IMGTYPE_COLORSEPARATION (int)
imagick::IMGTYPE_COLORSEPARATIONMATTE (int)
imagick::IMGTYPE_OPTIMIZE (int)
RESOLUTION constants

imagick::RESOLUTION_UNDEFINED (int)
imagick::RESOLUTION_PIXELSPERINCH (int)
imagick::RESOLUTION_PIXELSPERCENTIMETER (int)
COMPRESSION constants

imagick::COMPRESSION_UNDEFINED (int)
imagick::COMPRESSION_NO (int)
imagick::COMPRESSION_BZIP (int)
imagick::COMPRESSION_FAX (int)
imagick::COMPRESSION_GROUP4 (int)
imagick::COMPRESSION_JPEG (int)
imagick::COMPRESSION_JPEG2000 (int)
imagick::COMPRESSION_LOSSLESSJPEG (int)
imagick::COMPRESSION_LZW (int)
imagick::COMPRESSION_RLE (int)
imagick::COMPRESSION_ZIP (int)
imagick::COMPRESSION_DXT1 (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.0 or higher.
imagick::COMPRESSION_DXT3 (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.0 or higher.
imagick::COMPRESSION_DXT5 (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.0 or higher.
PAINT constants

imagick::PAINT_POINT (int)
imagick::PAINT_REPLACE (int)
imagick::PAINT_FLOODFILL (int)
imagick::PAINT_FILLTOBORDER (int)
imagick::PAINT_RESET (int)
GRAVITY constants

imagick::GRAVITY_NORTHWEST (int)
imagick::GRAVITY_NORTH (int)
imagick::GRAVITY_NORTHEAST (int)
imagick::GRAVITY_WEST (int)
imagick::GRAVITY_CENTER (int)
imagick::GRAVITY_EAST (int)
imagick::GRAVITY_SOUTHWEST (int)
imagick::GRAVITY_SOUTH (int)
imagick::GRAVITY_SOUTHEAST (int)
STRETCH constants

imagick::STRETCH_NORMAL (int)
imagick::STRETCH_ULTRACONDENSED (int)
imagick::STRETCH_CONDENSED (int)
imagick::STRETCH_SEMICONDENSED (int)
imagick::STRETCH_SEMIEXPANDED (int)
imagick::STRETCH_EXPANDED (int)
imagick::STRETCH_EXTRAEXPANDED (int)
imagick::STRETCH_ULTRAEXPANDED (int)
imagick::STRETCH_ANY (int)
ALIGN constants

imagick::ALIGN_UNDEFINED (int)
imagick::ALIGN_LEFT (int)
imagick::ALIGN_CENTER (int)
imagick::ALIGN_RIGHT (int)
DECORATION constants

imagick::DECORATION_NO (int)
imagick::DECORATION_UNDERLINE (int)
imagick::DECORATION_OVERLINE (int)
imagick::DECORATION_LINETROUGH (int)
NOISE constants

imagick::NOISE_UNIFORM (int)
imagick::NOISE_GAUSSIAN (int)
imagick::NOISE_MULTIPLICATIVEGAUSSIAN (int)
imagick::NOISE_IMPULSE (int)
imagick::NOISE_LAPLACIAN (int)
imagick::NOISE_POISSON (int)
imagick::NOISE_RANDOM (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.6 or higher.
CHANNEL constants

imagick::CHANNEL_UNDEFINED (int)
imagick::CHANNEL_RED (int)
imagick::CHANNEL_GRAY (int)
imagick::CHANNEL_CYAN (int)
imagick::CHANNEL_GREEN (int)
imagick::CHANNEL_MAGENTA (int)
imagick::CHANNEL_BLUE (int)
imagick::CHANNEL_YELLOW (int)
imagick::CHANNEL_ALPHA (int)
imagick::CHANNEL_OPACITY (int)
imagick::CHANNEL_MATTE (int)
imagick::CHANNEL_BLACK (int)
imagick::CHANNEL_INDEX (int)
imagick::CHANNEL_ALL (int)
imagick::CHANNEL_DEFAULT (int)
METRIC constants

imagick::METRIC_UNDEFINED (int)
imagick::METRIC_MEANABSOLUTEERROR (int)
imagick::METRIC_MEANSQUAREERROR (int)
imagick::METRIC_PEAKABSOLUTEERROR (int)
imagick::METRIC_PEAKSIGNALTONOISERATIO (int)
imagick::METRIC_ROOTMEANSQUAREDERROR (int)
PIXEL constants

imagick::PIXEL_CHAR (int)
imagick::PIXEL_DOUBLE (int)
imagick::PIXEL_FLOAT (int)
imagick::PIXEL_INTEGER (int)
Only available for ImageMagick < 7.
imagick::PIXEL_LONG (int)
imagick::PIXEL_QUANTUM (int)
imagick::PIXEL_SHORT (int)
EVALUATE constants

imagick::EVALUATE_UNDEFINED (int)
imagick::EVALUATE_ADD (int)
imagick::EVALUATE_AND (int)
imagick::EVALUATE_DIVIDE (int)
imagick::EVALUATE_LEFTSHIFT (int)
imagick::EVALUATE_MAX (int)
imagick::EVALUATE_MIN (int)
imagick::EVALUATE_MULTIPLY (int)
imagick::EVALUATE_OR (int)
imagick::EVALUATE_RIGHTSHIFT (int)
imagick::EVALUATE_SET (int)
imagick::EVALUATE_SUBTRACT (int)
imagick::EVALUATE_XOR (int)
imagick::EVALUATE_POW (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
imagick::EVALUATE_LOG (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
imagick::EVALUATE_THRESHOLD (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
imagick::EVALUATE_THRESHOLDBLACK (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
imagick::EVALUATE_THRESHOLDWHITE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
imagick::EVALUATE_GAUSSIANNOISE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
imagick::EVALUATE_IMPULSENOISE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
imagick::EVALUATE_LAPLACIANNOISE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
imagick::EVALUATE_MULTIPLICATIVENOISE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
imagick::EVALUATE_POISSONNOISE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
imagick::EVALUATE_UNIFORMNOISE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
imagick::EVALUATE_COSINE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
imagick::EVALUATE_SINE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
imagick::EVALUATE_ADDMODULUS (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.4 or higher.
COLORSPACE constants

imagick::COLORSPACE_UNDEFINED (int)
imagick::COLORSPACE_RGB (int)
imagick::COLORSPACE_GRAY (int)
imagick::COLORSPACE_TRANSPARENT (int)
imagick::COLORSPACE_OHTA (int)
imagick::COLORSPACE_LAB (int)
imagick::COLORSPACE_XYZ (int)
imagick::COLORSPACE_YCBCR (int)
imagick::COLORSPACE_YCC (int)
imagick::COLORSPACE_YIQ (int)
imagick::COLORSPACE_YPBPR (int)
imagick::COLORSPACE_YUV (int)
imagick::COLORSPACE_CMYK (int)
imagick::COLORSPACE_SRGB (int)
imagick::COLORSPACE_HSB (int)
imagick::COLORSPACE_HSL (int)
imagick::COLORSPACE_HWB (int)
imagick::COLORSPACE_REC601LUMA (int)
imagick::COLORSPACE_REC709LUMA (int)
imagick::COLORSPACE_LOG (int)
imagick::COLORSPACE_CMY (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.2 or higher.
VIRTUALPIXELMETHOD constants

imagick::VIRTUALPIXELMETHOD_UNDEFINED (int)
imagick::VIRTUALPIXELMETHOD_BACKGROUND (int)
imagick::VIRTUALPIXELMETHOD_CONSTANT (int)
imagick::VIRTUALPIXELMETHOD_EDGE (int)
imagick::VIRTUALPIXELMETHOD_MIRROR (int)
imagick::VIRTUALPIXELMETHOD_TILE (int)
imagick::VIRTUALPIXELMETHOD_TRANSPARENT (int)
imagick::VIRTUALPIXELMETHOD_MASK (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.2 or higher.
imagick::VIRTUALPIXELMETHOD_BLACK (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.2 or higher.
imagick::VIRTUALPIXELMETHOD_GRAY (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.2 or higher.
imagick::VIRTUALPIXELMETHOD_WHITE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.2 or higher.
imagick::VIRTUALPIXELMETHOD_HORIZONTALTILE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.3 or higher.
imagick::VIRTUALPIXELMETHOD_VERTICALTILE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.3 or higher.
PREVIEW constants

imagick::PREVIEW_UNDEFINED (int)
imagick::PREVIEW_ROTATE (int)
imagick::PREVIEW_SHEAR (int)
imagick::PREVIEW_ROLL (int)
imagick::PREVIEW_HUE (int)
imagick::PREVIEW_SATURATION (int)
imagick::PREVIEW_BRIGHTNESS (int)
imagick::PREVIEW_GAMMA (int)
imagick::PREVIEW_SPIFF (int)
imagick::PREVIEW_DULL (int)
imagick::PREVIEW_GRAYSCALE (int)
imagick::PREVIEW_QUANTIZE (int)
imagick::PREVIEW_DESPECKLE (int)
imagick::PREVIEW_REDUCENOISE (int)
imagick::PREVIEW_ADDNOISE (int)
imagick::PREVIEW_SHARPEN (int)
imagick::PREVIEW_BLUR (int)
imagick::PREVIEW_THRESHOLD (int)
imagick::PREVIEW_EDGEDETECT (int)
imagick::PREVIEW_SPREAD (int)
imagick::PREVIEW_SOLARIZE (int)
imagick::PREVIEW_SHADE (int)
imagick::PREVIEW_RAISE (int)
imagick::PREVIEW_SEGMENT (int)
imagick::PREVIEW_SWIRL (int)
imagick::PREVIEW_IMPLODE (int)
imagick::PREVIEW_WAVE (int)
imagick::PREVIEW_OILPAINT (int)
imagick::PREVIEW_CHARCOALDRAWING (int)
imagick::PREVIEW_JPEG (int)
RENDERINGINTENT constants

imagick::RENDERINGINTENT_UNDEFINED (int)
imagick::RENDERINGINTENT_SATURATION (int)
imagick::RENDERINGINTENT_PERCEPTUAL (int)
imagick::RENDERINGINTENT_ABSOLUTE (int)
imagick::RENDERINGINTENT_RELATIVE (int)
INTERLACE constants

imagick::INTERLACE_UNDEFINED (int)
imagick::INTERLACE_NO (int)
imagick::INTERLACE_LINE (int)
imagick::INTERLACE_PLANE (int)
imagick::INTERLACE_PARTITION (int)
imagick::INTERLACE_GIF (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.4 or higher.
imagick::INTERLACE_JPEG (int)
imagick::INTERLACE_PNG (int)
FILLRULE constants

imagick::FILLRULE_UNDEFINED (int)
imagick::FILLRULE_EVENODD (int)
imagick::FILLRULE_NONZERO (int)
PATHUNITS constants

imagick::PATHUNITS_UNDEFINED (int)
imagick::PATHUNITS_USERSPACE (int)
imagick::PATHUNITS_USERSPACEONUSE (int)
imagick::PATHUNITS_OBJECTBOUNDINGBOX (int)
LINECAP constants

imagick::LINECAP_UNDEFINED (int)
imagick::LINECAP_BUTT (int)
imagick::LINECAP_ROUND (int)
imagick::LINECAP_SQUARE (int)
LINEJOIN constants

imagick::LINEJOIN_UNDEFINED (int)
imagick::LINEJOIN_MITER (int)
imagick::LINEJOIN_ROUND (int)
imagick::LINEJOIN_BEVEL (int)
RESOURCETYPE constants

imagick::RESOURCETYPE_UNDEFINED (int)
imagick::RESOURCETYPE_AREA (int)
Set the maximum width * height of an image that can reside in the pixel cache memory.
imagick::RESOURCETYPE_DISK (int)
Set maximum amount of disk space in bytes permitted for use by the pixel cache.
imagick::RESOURCETYPE_FILE (int)
Set maximum number of open pixel cache files.
imagick::RESOURCETYPE_MAP (int)
Set maximum amount of memory map in bytes to allocate for the pixel cache.
imagick::RESOURCETYPE_MEMORY (int)
Set maximum amount of memory in bytes to allocate for the pixel cache from the heap.
imagick::RESOURCETYPE_THREAD (int)
Set maximum parallel threads. Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.7.8 or higher.
LAYERMETHOD constants

imagick::LAYERMETHOD_UNDEFINED (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.2.9 or higher.
imagick::LAYERMETHOD_COALESCE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.2.9 or higher.
imagick::LAYERMETHOD_COMPAREANY (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.2.9 or higher.
imagick::LAYERMETHOD_COMPARECLEAR (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.2.9 or higher.
imagick::LAYERMETHOD_COMPAREOVERLAY (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.2.9 or higher.
imagick::LAYERMETHOD_DISPOSE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.2.9 or higher.
imagick::LAYERMETHOD_OPTIMIZE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.2.9 or higher.
imagick::LAYERMETHOD_OPTIMIZEPLUS (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.2.9 or higher.
imagick::LAYERMETHOD_OPTIMIZEIMAGE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
imagick::LAYERMETHOD_OPTIMIZETRANS (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
imagick::LAYERMETHOD_REMOVEDUPS (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
imagick::LAYERMETHOD_REMOVEZERO (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
imagick::LAYERMETHOD_COMPOSITE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
imagick::LAYERMETHOD_MERGE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.7 or higher.
imagick::LAYERMETHOD_FLATTEN (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.7 or higher.
imagick::LAYERMETHOD_MOSAIC (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.7 or higher.
ORIENTATION constants

imagick::ORIENTATION_UNDEFINED (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
imagick::ORIENTATION_TOPLEFT (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
imagick::ORIENTATION_TOPRIGHT (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
imagick::ORIENTATION_BOTTOMRIGHT (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
imagick::ORIENTATION_BOTTOMLEFT (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
imagick::ORIENTATION_LEFTTOP (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
imagick::ORIENTATION_RIGHTTOP (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
imagick::ORIENTATION_RIGHTBOTTOM (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
imagick::ORIENTATION_LEFTBOTTOM (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.0 or higher.
DISTORTION constants

imagick::DISTORTION_UNDEFINED (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.6 or higher.
imagick::DISTORTION_AFFINE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.6 or higher.
imagick::DISTORTION_AFFINEPROJECTION (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.6 or higher.
imagick::DISTORTION_ARC (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.6 or higher.
imagick::DISTORTION_BILINEAR (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.6 or higher.
imagick::DISTORTION_PERSPECTIVE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.6 or higher.
imagick::DISTORTION_PERSPECTIVEPROJECTION (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.6 or higher.
imagick::DISTORTION_SCALEROTATETRANSLATE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.6 or higher.
imagick::DISTORTION_POLYNOMIAL (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::DISTORTION_POLAR (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::DISTORTION_DEPOLAR (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::DISTORTION_BARREL (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::DISTORTION_BARRELINVERSE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::DISTORTION_SHEPARDS (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::DISTORTION_SENTINEL (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
ALPHACHANNEL constants

imagick::ALPHACHANNEL_ACTIVATE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.8 or higher.
imagick::ALPHACHANNEL_DEACTIVATE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.8 or higher.
imagick::ALPHACHANNEL_RESET (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.8 or higher.
imagick::ALPHACHANNEL_SET (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.8 or higher.
imagick::ALPHACHANNEL_UNDEFINED (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::ALPHACHANNEL_COPY (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::ALPHACHANNEL_EXTRACT (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::ALPHACHANNEL_OPAQUE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::ALPHACHANNEL_SHAPE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::ALPHACHANNEL_TRANSPARENT (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
SPARSECOLORMETHOD constants

imagick::SPARSECOLORMETHOD_UNDEFINED (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_BARYCENTRIC (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_BILINEAR (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_POLYNOMIAL (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_SPEPARDS (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_VORONOI (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
FUNCTION constants

imagick::FUNCTION_UNDEFINED (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.9 or higher.
imagick::FUNCTION_POLYNOMIAL (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.9 or higher.
imagick::FUNCTION_SINUSOID (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.9 or higher.
INTERPOLATE constants

imagick::INTERPOLATE_UNDEFINED (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.2 or higher.
imagick::INTERPOLATE_AVERAGE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.2 or higher.
imagick::INTERPOLATE_BICUBIC (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.2 or higher.
imagick::INTERPOLATE_BILINEAR (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.2 or higher.
imagick::INTERPOLATE_FILTER (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.2 or higher.
imagick::INTERPOLATE_INTEGER (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.2 or higher.
imagick::INTERPOLATE_MESH (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.2 or higher.
imagick::INTERPOLATE_NEARESTNEIGHBOR (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.2 or higher.
imagick::INTERPOLATE_SPLINE (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.3.4 or higher.
DITHERMETHOD constants

imagick::DITHERMETHOD_UNDEFINED (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::DITHERMETHOD_NO (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::DITHERMETHOD_RIEMERSMA (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.
imagick::DITHERMETHOD_FLOYDSTEINBERG (int)
Esta constante está disponível se o Imagick foi compilado com o ImageMagick versão 6.4.6 or higher.


  • « Constantes pré-definidas
  • Basic usage »
  • PHP Manual
  • ImageMagick
  • Exemplos

Exemplos

Índice

  • Basic usage


Basic usage

Imagick makes image manipulation in PHP extremely easy through an OO interface. Here is a quick example on how to make a thumbnail:

Exemplo #1 Creating a thumbnail in Imagick

<?php

header('Content-type: image/jpeg');

$image = new Imagick('image.jpg');

// If 0 is provided as a width or height parameter,
// aspect ratio is maintained
$image->thumbnailImage(100, 0);

echo $image;

?>

Using SPL and other OO features supported in Imagick, it can be simple to resize all files in a directory (useful for batch resizing large digital camera images to be web viewable). Here we use resize, as we might want to retain certain meta-data:

Exemplo #2 Make a thumbnail of all JPG files in a directory

<?php

$images = new Imagick(glob('images/*.JPG'));

foreach($images as $image) {

    // Providing 0 forces thumbnailImage to maintain aspect ratio
    $image->thumbnailImage(1024,0);

}

$images->writeImages();

?>

This is an example of creating a reflection of an image. The reflection is created by flipping the image and overlaying a gradient on it. Then both, the original image and the reflection is overlayed on a canvas.

Exemplo #3 Creating a reflection of an image

<?php
/* Read the image */
$im = new Imagick("test.png");

/* Thumbnail the image */
$im->thumbnailImage(200, null);

/* Create a border for the image */
$im->borderImage(new ImagickPixel("white"), 5, 5);

/* Clone the image and flip it */
$reflection = $im->clone();
$reflection->flipImage();

/* Create gradient. It will be overlayed on the reflection */
$gradient = new Imagick();

/* Gradient needs to be large enough for the image and the borders */
$gradient->newPseudoImage($reflection->getImageWidth() + 10, $reflection->getImageHeight() + 10, "gradient:transparent-black");

/* Composite the gradient on the reflection */
$reflection->compositeImage($gradient, imagick::COMPOSITE_OVER, 0, 0);

/* Add some opacity. Requires ImageMagick 6.2.9 or later */
$reflection->setImageOpacity( 0.3 );

/* Create an empty canvas */
$canvas = new Imagick();

/* Canvas needs to be large enough to hold the both images */
$width = $im->getImageWidth() + 40;
$height = ($im->getImageHeight() * 2) + 30;
$canvas->newImage($width, $height, new ImagickPixel("black"));
$canvas->setImageFormat("png");

/* Composite the original image and the reflection on the canvas */
$canvas->compositeImage($im, imagick::COMPOSITE_OVER, 20, 10);
$canvas->compositeImage($reflection, imagick::COMPOSITE_OVER, 20, $im->getImageHeight() + 10);

/* Output the image*/
header("Content-Type: image/png");
echo $canvas;
?>

O exemplo acima irá imprimir algo similar à:

Output of example : Creating a reflection of an image

This example illustrates how to use fill patterns during drawing.

Exemplo #4 Filling text with gradient

<?php

/* Create a new imagick object */
$im = new Imagick();

/* Create new image. This will be used as fill pattern */
$im->newPseudoImage(50, 50, "gradient:red-black");

/* Create imagickdraw object */
$draw = new ImagickDraw();

/* Start a new pattern called "gradient" */
$draw->pushPattern('gradient', 0, 0, 50, 50);

/* Composite the gradient on the pattern */
$draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);

/* Close the pattern */
$draw->popPattern();

/* Use the pattern called "gradient" as the fill */
$draw->setFillPatternURL('#gradient');

/* Set font size to 52 */
$draw->setFontSize(52);

/* Annotate some text */
$draw->annotation(20, 50, "Hello World!");

/* Create a new canvas object and a white image */
$canvas = new Imagick();
$canvas->newImage(350, 70, "white");

/* Draw the ImagickDraw on to the canvas */
$canvas->drawImage($draw);

/* 1px black border around the image */
$canvas->borderImage('black', 1, 1);

/* Set the format to PNG */
$canvas->setImageFormat('png');

/* Output the image */
header("Content-Type: image/png");
echo $canvas;
?>

O exemplo acima irá imprimir algo similar à:

Output of example : Filling text with gradient

Working with animated GIF images

Exemplo #5 Read in GIF image and resize all frames

<?php

/* Create a new imagick object and read in GIF */
$im = new Imagick("example.gif");

/* Resize all frames */
foreach ($im as $frame) {
    /* 50x50 frames */
    $frame->thumbnailImage(50, 50);

    /* Set the virtual canvas to correct size */
    $frame->setImagePage(50, 50, 0, 0);
}

/* Notice writeImages instead of writeImage */
$im->writeImages("example_small.gif", true);
?>

Working with ellipse primitive and custom fonts

Exemplo #6 Create a PHP logo

<?php
/* Set width and height in proportion of genuine PHP logo */
$width = 400;
$height = 210;

/* Create an Imagick object with transparent canvas */
$img = new Imagick();
$img->newImage($width, $height, new ImagickPixel('transparent'));

/* New ImagickDraw instance for ellipse draw */
$draw = new ImagickDraw();
/* Set purple fill color for ellipse */
$draw->setFillColor('#777bb4');
/* Set ellipse dimensions */
$draw->ellipse($width / 2, $height / 2, $width / 2, $height / 2, 0, 360);
/* Draw ellipse onto the canvas */
$img->drawImage($draw);

/* Reset fill color from purple to black for text (note: we are reusing ImagickDraw object) */
$draw->setFillColor('black');
/* Set stroke border to white color */
$draw->setStrokeColor('white');
/* Set stroke border thickness */
$draw->setStrokeWidth(2);
/* Set font kerning (negative value means that letters are closer to each other) */
$draw->setTextKerning(-8);
/* Set font and font size used in PHP logo */
$draw->setFont('Handel Gothic.ttf');
$draw->setFontSize(150);
/* Center text horizontally and vertically */
$draw->setGravity(Imagick::GRAVITY_CENTER);

/* Add center "php" with Y offset of -10 to canvas (inside ellipse) */
$img->annotateImage($draw, 0, -10, 0, 'php');
$img->setImageFormat('png');

/* Set appropriate header for PNG and output the image */
header('Content-Type: image/png');
echo $img;
?>

O exemplo acima irá imprimir algo similar à:

Output of example : Creating PHP logo with Imagick


The Imagick class

(PECL imagick 2, PECL imagick 3)

Sinopse da classe

Imagick implements Iterator {
public adaptiveBlurImage ( float $radius , float $sigma , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public adaptiveResizeImage ( int $columns , int $rows , bool $bestfit = false , bool $legacy = false ) : bool
public adaptiveSharpenImage ( float $radius , float $sigma , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public adaptiveThresholdImage ( int $width , int $height , int $offset ) : bool
public addImage ( Imagick $source ) : bool
public addNoiseImage ( int $noise_type , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public affineTransformImage ( ImagickDraw $matrix ) : bool
public animateImages ( string $x_server ) : bool
public annotateImage ( ImagickDraw $draw_settings , float $x , float $y , float $angle , string $text ) : bool
public appendImages ( bool $stack ) : Imagick
public autoLevelImage ( int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public averageImages ( ) : Imagick
public blackThresholdImage ( mixed $threshold ) : bool
public blueShiftImage ( float $factor = 1.5 ) : bool
public blurImage ( float $radius , float $sigma , int $channel = ? ) : bool
public borderImage ( mixed $bordercolor , int $width , int $height ) : bool
public brightnessContrastImage ( float $brightness , float $contrast , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public charcoalImage ( float $radius , float $sigma ) : bool
public chopImage ( int $width , int $height , int $x , int $y ) : bool
public clampImage ( int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public clear ( ) : bool
public clipImage ( ) : bool
public clipImagePath ( string $pathname , string $inside ) : void
public clipPathImage ( string $pathname , bool $inside ) : bool
public clone ( ) : Imagick
public clutImage ( Imagick $lookup_table , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public coalesceImages ( ) : Imagick
public colorFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y ) : bool
public colorizeImage ( mixed $colorize , mixed $opacity , bool $legacy = false ) : bool
public colorMatrixImage ( array $color_matrix = Imagick::CHANNEL_DEFAULT ) : bool
public combineImages ( int $channelType ) : Imagick
public commentImage ( string $comment ) : bool
public compareImageChannels ( Imagick $image , int $channelType , int $metricType ) : array
public compareImageLayers ( int $method ) : Imagick
public compareImages ( Imagick $compare , int $metric ) : array
public compositeImage ( Imagick $composite_object , int $composite , int $x , int $y , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public __construct ( mixed $files = ? )
public contrastImage ( bool $sharpen ) : bool
public contrastStretchImage ( float $black_point , float $white_point , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public convolveImage ( array $kernel , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public count ( int $mode = 0 ) : int
public cropImage ( int $width , int $height , int $x , int $y ) : bool
public cropThumbnailImage ( int $width , int $height , bool $legacy = false ) : bool
public current ( ) : Imagick
public cycleColormapImage ( int $displace ) : bool
public decipherImage ( string $passphrase ) : bool
public deconstructImages ( ) : Imagick
public deleteImageArtifact ( string $artifact ) : bool
public deleteImageProperty ( string $name ) : bool
public deskewImage ( float $threshold ) : bool
public despeckleImage ( ) : bool
public destroy ( ) : bool
public displayImage ( string $servername ) : bool
public displayImages ( string $servername ) : bool
public distortImage ( int $method , array $arguments , bool $bestfit ) : bool
public drawImage ( ImagickDraw $draw ) : bool
public edgeImage ( float $radius ) : bool
public embossImage ( float $radius , float $sigma ) : bool
public encipherImage ( string $passphrase ) : bool
public enhanceImage ( ) : bool
public equalizeImage ( ) : bool
public evaluateImage ( int $op , float $constant , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public exportImagePixels ( int $x , int $y , int $width , int $height , string $map , int $STORAGE ) : array
public extentImage ( int $width , int $height , int $x , int $y ) : bool
public filter ( ImagickKernel $ImagickKernel , int $channel = Imagick::CHANNEL_UNDEFINED ) : bool
public flattenImages ( ) : Imagick
public flipImage ( ) : bool
public floodFillPaintImage ( mixed $fill , float $fuzz , mixed $target , int $x , int $y , bool $invert , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public flopImage ( ) : bool
public forwardFourierTransformimage ( bool $magnitude ) : bool
public frameImage ( mixed $matte_color , int $width , int $height , int $inner_bevel , int $outer_bevel ) : bool
public functionImage ( int $function , array $arguments , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public fxImage ( string $expression , int $channel = Imagick::CHANNEL_DEFAULT ) : Imagick
public gammaImage ( float $gamma , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public gaussianBlurImage ( float $radius , float $sigma , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public getColorspace ( ) : int
public getCompression ( ) : int
public getCompressionQuality ( ) : int
public static getCopyright ( ) : string
public getFilename ( ) : string
public getFont ( ) : string
public getFormat ( ) : string
public getGravity ( ) : int
public static getHomeURL ( ) : string
public getImage ( ) : Imagick
public getImageAlphaChannel ( ) : int
public getImageArtifact ( string $artifact ) : string
public getImageAttribute ( string $key ) : string
public getImageBackgroundColor ( ) : ImagickPixel
public getImageBlob ( ) : string
public getImageBluePrimary ( ) : array
public getImageBorderColor ( ) : ImagickPixel
public getImageChannelDepth ( int $channel ) : int
public getImageChannelDistortion ( Imagick $reference , int $channel , int $metric ) : float
public getImageChannelDistortions ( Imagick $reference , int $metric , int $channel = Imagick::CHANNEL_DEFAULT ) : float
public getImageChannelExtrema ( int $channel ) : array
public getImageChannelKurtosis ( int $channel = Imagick::CHANNEL_DEFAULT ) : array
public getImageChannelMean ( int $channel ) : array
public getImageChannelRange ( int $channel ) : array
public getImageChannelStatistics ( ) : array
public getImageClipMask ( ) : Imagick
public getImageColormapColor ( int $index ) : ImagickPixel
public getImageColors ( ) : int
public getImageColorspace ( ) : int
public getImageCompose ( ) : int
public getImageCompression ( ) : int
public getImageCompressionQuality ( ) : int
public getImageDelay ( ) : int
public getImageDepth ( ) : int
public getImageDispose ( ) : int
public getImageDistortion ( MagickWand $reference , int $metric ) : float
public getImageExtrema ( ) : array
public getImageFilename ( ) : string
public getImageFormat ( ) : string
public getImageGamma ( ) : float
public getImageGeometry ( ) : array
public getImageGravity ( ) : int
public getImageGreenPrimary ( ) : array
public getImageHeight ( ) : int
public getImageHistogram ( ) : array
public getImageIndex ( ) : int
public getImageInterlaceScheme ( ) : int
public getImageInterpolateMethod ( ) : int
public getImageIterations ( ) : int
public getImageLength ( ) : int
public getImageMatte ( ) : bool
public getImageMatteColor ( ) : ImagickPixel
public getImageMimeType ( ) : string
public getImageOrientation ( ) : int
public getImagePage ( ) : array
public getImagePixelColor ( int $x , int $y ) : ImagickPixel
public getImageProfile ( string $name ) : string
public getImageProfiles ( string $pattern = "*" , bool $include_values = true ) : array
public getImageProperties ( string $pattern = "*" , bool $include_values = true ) : array
public getImageProperty ( string $name ) : string
public getImageRedPrimary ( ) : array
public getImageRegion ( int $width , int $height , int $x , int $y ) : Imagick
public getImageRenderingIntent ( ) : int
public getImageResolution ( ) : array
public getImagesBlob ( ) : string
public getImageScene ( ) : int
public getImageSignature ( ) : string
public getImageSize ( ) : int
public getImageTicksPerSecond ( ) : int
public getImageTotalInkDensity ( ) : float
public getImageType ( ) : int
public getImageUnits ( ) : int
public getImageVirtualPixelMethod ( ) : int
public getImageWhitePoint ( ) : array
public getImageWidth ( ) : int
public getInterlaceScheme ( ) : int
public getIteratorIndex ( ) : int
public getNumberImages ( ) : int
public getOption ( string $key ) : string
public static getPackageName ( ) : string
public getPage ( ) : array
public getPixelIterator ( ) : ImagickPixelIterator
public getPixelRegionIterator ( int $x , int $y , int $columns , int $rows ) : ImagickPixelIterator
public getPointSize ( ) : float
public static getQuantum ( ) : int
public static getQuantumDepth ( ) : array
public static getQuantumRange ( ) : array
public static getRegistry ( string $key ) : string
public static getReleaseDate ( ) : string
public static getResource ( int $type ) : int
public static getResourceLimit ( int $type ) : int
public getSamplingFactors ( ) : array
public getSize ( ) : array
public getSizeOffset ( ) : int
public static getVersion ( ) : array
public haldClutImage ( Imagick $clut , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public hasNextImage ( ) : bool
public hasPreviousImage ( ) : bool
public identifyFormat ( string $embedText ) : string|false
public identifyImage ( bool $appendRawOutput = false ) : array
public implodeImage ( float $radius ) : bool
public importImagePixels ( int $x , int $y , int $width , int $height , string $map , int $storage , array $pixels ) : bool
public inverseFourierTransformImage ( Imagick $complement , bool $magnitude ) : bool
public labelImage ( string $label ) : bool
public levelImage ( float $blackPoint , float $gamma , float $whitePoint , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public linearStretchImage ( float $blackPoint , float $whitePoint ) : bool
public liquidRescaleImage ( int $width , int $height , float $delta_x , float $rigidity ) : bool
public static listRegistry ( ) : array
public magnifyImage ( ) : bool
public mapImage ( Imagick $map , bool $dither ) : bool
public matteFloodfillImage ( float $alpha , float $fuzz , mixed $bordercolor , int $x , int $y ) : bool
public medianFilterImage ( float $radius ) : bool
public mergeImageLayers ( int $layer_method ) : Imagick
public minifyImage ( ) : bool
public modulateImage ( float $brightness , float $saturation , float $hue ) : bool
public montageImage ( ImagickDraw $draw , string $tile_geometry , string $thumbnail_geometry , int $mode , string $frame ) : Imagick
public morphImages ( int $number_frames ) : Imagick
public morphology ( int $morphologyMethod , int $iterations , ImagickKernel $ImagickKernel , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public mosaicImages ( ) : Imagick
public motionBlurImage ( float $radius , float $sigma , float $angle , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public negateImage ( bool $gray , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public newImage ( int $cols , int $rows , mixed $background , string $format = ? ) : bool
public newPseudoImage ( int $columns , int $rows , string $pseudoString ) : bool
public nextImage ( ) : bool
public normalizeImage ( int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public oilPaintImage ( float $radius ) : bool
public opaquePaintImage ( mixed $target , mixed $fill , float $fuzz , bool $invert , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public optimizeImageLayers ( ) : bool
public orderedPosterizeImage ( string $threshold_map , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public paintFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public paintOpaqueImage ( mixed $target , mixed $fill , float $fuzz , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public paintTransparentImage ( mixed $target , float $alpha , float $fuzz ) : bool
public pingImage ( string $filename ) : bool
public pingImageBlob ( string $image ) : bool
public pingImageFile ( resource $filehandle , string $fileName = ? ) : bool
public polaroidImage ( ImagickDraw $properties , float $angle ) : bool
public posterizeImage ( int $levels , bool $dither ) : bool
public previewImages ( int $preview ) : bool
public previousImage ( ) : bool
public profileImage ( string $name , string $profile ) : bool
public quantizeImage ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError ) : bool
public quantizeImages ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError ) : bool
public queryFontMetrics ( ImagickDraw $properties , string $text , bool $multiline = ? ) : array
public static queryFonts ( string $pattern = "*" ) : array
public static queryFormats ( string $pattern = "*" ) : array
public radialBlurImage ( float $angle , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public raiseImage ( int $width , int $height , int $x , int $y , bool $raise ) : bool
public randomThresholdImage ( float $low , float $high , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public readImage ( string $filename ) : bool
public readImageBlob ( string $image , string $filename = ? ) : bool
public readImageFile ( resource $filehandle , string $fileName = null ) : bool
public readImages ( array $filenames ) : bool
public recolorImage ( array $matrix ) : bool
public reduceNoiseImage ( float $radius ) : bool
public remapImage ( Imagick $replacement , int $DITHER ) : bool
public removeImage ( ) : bool
public removeImageProfile ( string $name ) : string
public render ( ) : bool
public resampleImage ( float $x_resolution , float $y_resolution , int $filter , float $blur ) : bool
public resetImagePage ( string $page ) : bool
public resizeImage ( int $columns , int $rows , int $filter , float $blur , bool $bestfit = false , bool $legacy = false ) : bool
public rollImage ( int $x , int $y ) : bool
public rotateImage ( mixed $background , float $degrees ) : bool
public rotationalBlurImage ( float $angle , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public roundCorners ( float $x_rounding , float $y_rounding , float $stroke_width = 10 , float $displace = 5 , float $size_correction = -6 ) : bool
public sampleImage ( int $columns , int $rows ) : bool
public scaleImage ( int $cols , int $rows , bool $bestfit = false , bool $legacy = false ) : bool
public segmentImage ( int $COLORSPACE , float $cluster_threshold , float $smooth_threshold , bool $verbose = false ) : bool
public selectiveBlurImage ( float $radius , float $sigma , float $threshold , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public separateImageChannel ( int $channel ) : bool
public sepiaToneImage ( float $threshold ) : bool
public setBackgroundColor ( mixed $background ) : bool
public setColorspace ( int $COLORSPACE ) : bool
public setCompression ( int $compression ) : bool
public setCompressionQuality ( int $quality ) : bool
public setFilename ( string $filename ) : bool
public setFirstIterator ( ) : bool
public setFont ( string $font ) : bool
public setFormat ( string $format ) : bool
public setGravity ( int $gravity ) : bool
public setImage ( Imagick $replace ) : bool
public setImageAlphaChannel ( int $mode ) : bool
public setImageArtifact ( string $artifact , string $value ) : bool
public setImageAttribute ( string $key , string $value ) : bool
public setImageBackgroundColor ( mixed $background ) : bool
public setImageBias ( float $bias ) : bool
public setImageBiasQuantum ( string $bias ) : void
public setImageBluePrimary ( float $x , float $y ) : bool
public setImageBorderColor ( mixed $border ) : bool
public setImageChannelDepth ( int $channel , int $depth ) : bool
public setImageClipMask ( Imagick $clip_mask ) : bool
public setImageColormapColor ( int $index , ImagickPixel $color ) : bool
public setImageColorspace ( int $colorspace ) : bool
public setImageCompose ( int $compose ) : bool
public setImageCompression ( int $compression ) : bool
public setImageCompressionQuality ( int $quality ) : bool
public setImageDelay ( int $delay ) : bool
public setImageDepth ( int $depth ) : bool
public setImageDispose ( int $dispose ) : bool
public setImageExtent ( int $columns , int $rows ) : bool
public setImageFilename ( string $filename ) : bool
public setImageFormat ( string $format ) : bool
public setImageGamma ( float $gamma ) : bool
public setImageGravity ( int $gravity ) : bool
public setImageGreenPrimary ( float $x , float $y ) : bool
public setImageIndex ( int $index ) : bool
public setImageInterlaceScheme ( int $interlace_scheme ) : bool
public setImageInterpolateMethod ( int $method ) : bool
public setImageIterations ( int $iterations ) : bool
public setImageMatte ( bool $matte ) : bool
public setImageMatteColor ( mixed $matte ) : bool
public setImageOpacity ( float $opacity ) : bool
public setImageOrientation ( int $orientation ) : bool
public setImagePage ( int $width , int $height , int $x , int $y ) : bool
public setImageProfile ( string $name , string $profile ) : bool
public setImageProperty ( string $name , string $value ) : bool
public setImageRedPrimary ( float $x , float $y ) : bool
public setImageRenderingIntent ( int $rendering_intent ) : bool
public setImageResolution ( float $x_resolution , float $y_resolution ) : bool
public setImageScene ( int $scene ) : bool
public setImageTicksPerSecond ( int $ticks_per_second ) : bool
public setImageType ( int $image_type ) : bool
public setImageUnits ( int $units ) : bool
public setImageVirtualPixelMethod ( int $method ) : bool
public setImageWhitePoint ( float $x , float $y ) : bool
public setInterlaceScheme ( int $interlace_scheme ) : bool
public setIteratorIndex ( int $index ) : bool
public setLastIterator ( ) : bool
public setOption ( string $key , string $value ) : bool
public setPage ( int $width , int $height , int $x , int $y ) : bool
public setPointSize ( float $point_size ) : bool
public setProgressMonitor ( callable $callback ) : bool
public static setRegistry ( string $key , string $value ) : bool
public setResolution ( float $x_resolution , float $y_resolution ) : bool
public static setResourceLimit ( int $type , int $limit ) : bool
public setSamplingFactors ( array $factors ) : bool
public setSize ( int $columns , int $rows ) : bool
public setSizeOffset ( int $columns , int $rows , int $offset ) : bool
public setType ( int $image_type ) : bool
public shadeImage ( bool $gray , float $azimuth , float $elevation ) : bool
public shadowImage ( float $opacity , float $sigma , int $x , int $y ) : bool
public sharpenImage ( float $radius , float $sigma , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public shaveImage ( int $columns , int $rows ) : bool
public shearImage ( mixed $background , float $x_shear , float $y_shear ) : bool
public sigmoidalContrastImage ( bool $sharpen , float $alpha , float $beta , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public sketchImage ( float $radius , float $sigma , float $angle ) : bool
public smushImages ( bool $stack , int $offset ) : Imagick
public solarizeImage ( int $threshold ) : bool
public sparseColorImage ( int $SPARSE_METHOD , array $arguments , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public spliceImage ( int $width , int $height , int $x , int $y ) : bool
public spreadImage ( float $radius ) : bool
public statisticImage ( int $type , int $width , int $height , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public steganoImage ( Imagick $watermark_wand , int $offset ) : Imagick
public stereoImage ( Imagick $offset_wand ) : bool
public stripImage ( ) : bool
public subImageMatch ( Imagick $Imagick , array &$offset = ? , float &$similarity = ? ) : Imagick
swirlImage ( float $degrees ) : bool
textureImage ( Imagick $texture_wand ) : Imagick
public thresholdImage ( float $threshold , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public thumbnailImage ( int $columns , int $rows , bool $bestfit = false , bool $fill = false , bool $legacy = false ) : bool
public tintImage ( mixed $tint , mixed $opacity , bool $legacy = false ) : bool
public __toString ( ) : string
public transformImage ( string $crop , string $geometry ) : Imagick
public transformImageColorspace ( int $colorspace ) : bool
public transparentPaintImage ( mixed $target , float $alpha , float $fuzz , bool $invert ) : bool
public transposeImage ( ) : bool
public transverseImage ( ) : bool
public trimImage ( float $fuzz ) : bool
public uniqueImageColors ( ) : bool
public unsharpMaskImage ( float $radius , float $sigma , float $amount , float $threshold , int $channel = Imagick::CHANNEL_DEFAULT ) : bool
public valid ( ) : bool
public vignetteImage ( float $blackPoint , float $whitePoint , int $x , int $y ) : bool
public waveImage ( float $amplitude , float $length ) : bool
public whiteThresholdImage ( mixed $threshold ) : bool
public writeImage ( string $filename = NULL ) : bool
public writeImageFile ( resource $filehandle , string $format = ? ) : bool
public writeImages ( string $filename , bool $adjoin ) : bool
public writeImagesFile ( resource $filehandle , string $format = ? ) : bool
}

Image methods and global methods

The Imagick class has the ability to hold and operate on multiple images simultaneously. This is achieved through an internal stack. There is always an internal pointer that points at the current image. Some functions operate on all images in the Imagick class, but most operate only on the current image in the internal stack. As a convention, method names can contain the word Image to denote they affect only the current image in the stack.

Class Methods

Because there are so many methods, here is a handy list of methods, somewhat reduced to their general purpose:

Class methods by purpose
Image effects | Get methods | Set methods | Read/write images | Other
Imagick::adaptiveBlurImage() | Imagick::getCompression() | Imagick::setBackgroundColor() | Imagick::__construct() | Imagick::clear()
Imagick::adaptiveResizeImage() | Imagick::getFilename() | Imagick::setCompressionQuality() | Imagick::addImage() | Imagick::clone()
Imagick::adaptiveSharpenImage() | Imagick::getFormat() | Imagick::setCompression() | Imagick::appendImages() | Imagick::current()
Imagick::adaptiveThresholdImage() | Imagick::getImageBackgroundColor() | Imagick::setFilename() | Imagick::getFilename() | Imagick::destroy()
Imagick::addNoiseImage() | Imagick::getImageBlob() | Imagick::getImagesBlob() | Imagick::setFormat() | Imagick::getFormat()
Imagick::affinetransformimage() | Imagick::getImageBluePrimary() | Imagick::setImageBackgroundColor() | Imagick::getImageFilename() | Imagick::getHomeURL()
Imagick::annotateImage() | Imagick::getImageBorderColor() | Imagick::setFirstIterator() | Imagick::getImageFormat() | Imagick::commentImage()
Imagick::averageImages() | Imagick::getImageChannelDepth() | Imagick::setImageBias() | Imagick::getImage() | Imagick::getNumberImages()
Imagick::blackThresholdImage() | Imagick::getImageChannelDistortion() | Imagick::setImageBluePrimary() | Imagick::setImageFilename() | Imagick::getReleaseDate()
Imagick::blurImage() | Imagick::getImageChannelExtrema() | Imagick::setImageBorderColor() | Imagick::setImageFormat() | Imagick::getVersion()
Imagick::borderImage() | Imagick::getImageChannelMean() | Imagick::setImageChannelDepth() | Imagick::readImageFile() | Imagick::hasNextImage()
Imagick::charcoalImage() | Imagick::getImageChannelStatistics() | Imagick::setImageColormapColor() | Imagick::readImage() | Imagick::hasPreviousImage()
Imagick::chopImage() | Imagick::getImageColormapColor() | Imagick::setImageColorSpace() | Imagick::writeImages() | Imagick::labelImage()
Imagick::clipImage() | Imagick::getImageColorspace() | Imagick::setImageCompose() | Imagick::writeImage() | Imagick::newImage()
Imagick::clipPathImage() | Imagick::getImageColors() | Imagick::setImageCompression() |  | Imagick::newPseudoImage()
Imagick::coalesceImages() | Imagick::getImageCompose() | Imagick::setImageDelay() |  | Imagick::nextImage()
Imagick::colorFloodFillImage() | Imagick::getImageDelay() | Imagick::setImageDepth() |  | Imagick::pingImageBlob()
Imagick::colorizeImage() | Imagick::getImageDepth() | Imagick::setImageDispose() |  | Imagick::pingImageFile()
Imagick::combineImages() | Imagick::getImageDispose() | Imagick::setImageDispose() |  | Imagick::pingImage()
Imagick::compareImageChannels() | Imagick::getImageDistortion() | Imagick::setImageExtent() |  | Imagick::previousImage()
Imagick::compareImageLayers() | Imagick::getImageExtrema() | Imagick::setImageFilename() |  | Imagick::profileImage()
Imagick::compositeImage() | Imagick::getImageFilename() | Imagick::setImageFormat() |  | Imagick::queryFormats()
Imagick::contrastImage() | Imagick::getImageFormat() | Imagick::setImageGamma() |  | Imagick::removeImageProfile()
Imagick::contrastStretchImage() | Imagick::getImageGamma() | Imagick::setImageGreenPrimary() |  | Imagick::removeImage()
Imagick::convolveImage() | Imagick::getImageGeometry() | Imagick::setImageIndex() |  | Imagick::setFirstIterator()
Imagick::cropImage() | Imagick::getImageGreenPrimary() | Imagick::setImageInterpolateMethod() |  | Imagick::setImageIndex()
Imagick::cycleColormapImage() | Imagick::getImageHeight() | Imagick::setImageIterations() |  | Imagick::valid()
Imagick::deconstructImages() | Imagick::getImageHistogram() | Imagick::setImageMatteColor() |  | Imagick::getCopyright()
Imagick::drawImage() | Imagick::getImageIndex() | Imagick::setImageMatte() |  |
Imagick::edgeImage() | Imagick::getImageInterlaceScheme() | Imagick::setImagePage() |  |
Imagick::embossImage() | Imagick::getImageInterpolateMethod() | Imagick::setImageProfile() |  |
Imagick::enhanceImage() | Imagick::getImageIterations() | Imagick::setImageProperty() |  |
Imagick::equalizeImage() | Imagick::getImageMatteColor() | Imagick::setImageRedPrimary() |  |
Imagick::evaluateImage() | Imagick::getImageMatte() | Imagick::setImageRenderingIntent() |  |
Imagick::flattenImages() | Imagick::getImagePage() | Imagick::setImageResolution() |  |
Imagick::flipImage() | Imagick::getImagePixelColor() | Imagick::setImageScene() |  |
Imagick::flopImage() | Imagick::getImageProfile() | Imagick::setImageTicksPerSecond() |  |
 | Imagick::getImageProperty() | Imagick::setImageType() |  |
Imagick::fxImage() | Imagick::getImageRedPrimary() | Imagick::setImageUnits() |  |
Imagick::gammaImage() | Imagick::getImageRegion() | Imagick::setImageVirtualPixelMethod() |  |
Imagick::gaussianBlurImage() | Imagick::getImageRenderingIntent() | Imagick::setImageWhitepoint() |  |
Imagick::implodeImage() | Imagick::getImageResolution() | Imagick::setInterlaceScheme() |  |
Imagick::levelImage() | Imagick::getImageScene() | Imagick::setOption() |  |
Imagick::linearStretchImage() | Imagick::getImageSignature() | Imagick::setPage() |  |
Imagick::magnifyImage() | Imagick::getImageTicksPerSecond() | Imagick::setResolution() |  |
Imagick::matteFloodFillImage() | Imagick::getImageTotalInkDensity() | Imagick::setResourceLimit() |  |
Imagick::medianFilterImage() | Imagick::getImageType() | Imagick::setSamplingFactors() |  |
Imagick::minifyImage() | Imagick::getImageUnits() | Imagick::setSizeOffset() |  |
Imagick::modulateImage() | Imagick::getImageVirtualPixelMethod() | Imagick::setSize() |  |
Imagick::montageImage() | Imagick::getImageWhitepoint() | Imagick::setType() |  |
Imagick::morphImages() | Imagick::getImageWidth() |  |  |
Imagick::mosaicImages() | Imagick::getImage() |  |  |
Imagick::motionBlurImage() | Imagick::getInterlaceScheme() |  |  |
Imagick::negateImage() | Imagick::getNumberImages() |  |  |
Imagick::normalizeImage() | Imagick::getOption() |  |  |
Imagick::oilPaintImage() | Imagick::getPackageName() |  |  |
Imagick::optimizeImageLayers() | Imagick::getPage() |  |  |
Imagick::paintOpaqueImage() | Imagick::getPixelIterator() |  |  |
Imagick::paintTransparentImage() | Imagick::getPixelRegionIterator() |  |  |
Imagick::posterizeImage() | Imagick::getQuantumDepth() |  |  |
Imagick::radialBlurImage() | Imagick::getQuantumRange() |  |  |
Imagick::raiseImage() | Imagick::getResourceLimit() |  |  |
Imagick::randomThresholdImage() | Imagick::getResource() |  |  |
Imagick::reduceNoiseImage() | Imagick::getSamplingFactors() |  |  |
Imagick::render() | Imagick::getSizeOffset() |  |  |
Imagick::resampleImage() | Imagick::getSize() |  |  |
Imagick::resizeImage() | Imagick::identifyImage() |  |  |
Imagick::rollImage() | Imagick::getImageSize() |  |  |
Imagick::rotateImage() |  |  |  |
Imagick::sampleImage() |  |  |  |
Imagick::scaleImage() |  |  |  |
Imagick::separateImageChannel() |  |  |  |
Imagick::sepiaToneImage() |  |  |  |
Imagick::shadeImage() |  |  |  |
Imagick::shadowImage() |  |  |  |
Imagick::sharpenImage() |  |  |  |
Imagick::shaveImage() |  |  |  |
Imagick::shearImage() |  |  |  |
Imagick::sigmoidalContrastImage() |  |  |  |
Imagick::sketchImage() |  |  |  |
Imagick::solarizeImage() |  |  |  |
Imagick::spliceImage() |  |  |  |
Imagick::spreadImage() |  |  |  |
Imagick::steganoImage() |  |  |  |
Imagick::stereoImage() |  |  |  |
Imagick::stripImage() |  |  |  |
Imagick::swirlImage() |  |  |  |
Imagick::textureImage() |  |  |  |
Imagick::thresholdImage() |  |  |  |
Imagick::thumbnailImage() |  |  |  |
Imagick::tintImage() |  |  |  |
Imagick::transverseImage() |  |  |  |
Imagick::trimImage() |  |  |  |
Imagick::uniqueImageColors() |  |  |  |
Imagick::unsharpMaskImage() |  |  |  |
Imagick::vignetteImage() |  |  |  |
Imagick::waveImage() |  |  |  |
Imagick::whiteThresholdImage() |  |  |  |

Índice

  • Imagick::adaptiveBlurImage — Adds adaptive blur filter to image
  • Imagick::adaptiveResizeImage — Adaptively resize image with data dependent triangulation
  • Imagick::adaptiveSharpenImage — Adaptively sharpen the image
  • Imagick::adaptiveThresholdImage — Selects a threshold for each pixel based on a range of intensity
  • Imagick::addImage — Adds new image to Imagick object image list
  • Imagick::addNoiseImage — Adds random noise to the image
  • Imagick::affineTransformImage — Transforms an image
  • Imagick::animateImages — Animates an image or images
  • Imagick::annotateImage — Annotates an image with text
  • Imagick::appendImages — Append a set of images
  • Imagick::autoLevelImage — Description
  • Imagick::averageImages — Average a set of images
  • Imagick::blackThresholdImage — Forces all pixels below the threshold into black
  • Imagick::blueShiftImage — Description
  • Imagick::blurImage — Adds blur filter to image
  • Imagick::borderImage — Surrounds the image with a border
  • Imagick::brightnessContrastImage — Description
  • Imagick::charcoalImage — Simulates a charcoal drawing
  • Imagick::chopImage — Removes a region of an image and trims
  • Imagick::clampImage — Description
  • Imagick::clear — Clears all resources associated to Imagick object
  • Imagick::clipImage — Clips along the first path from the 8BIM profile
  • Imagick::clipImagePath — Description
  • Imagick::clipPathImage — Clips along the named paths from the 8BIM profile
  • Imagick::clone — Makes an exact copy of the Imagick object
  • Imagick::clutImage — Replaces colors in the image
  • Imagick::coalesceImages — Composites a set of images
  • Imagick::colorFloodfillImage — Changes the color value of any pixel that matches target
  • Imagick::colorizeImage — Blends the fill color with the image
  • Imagick::colorMatrixImage — Description
  • Imagick::combineImages — Combines one or more images into a single image
  • Imagick::commentImage — Adds a comment to your image
  • Imagick::compareImageChannels — Returns the difference in one or more images
  • Imagick::compareImageLayers — Returns the maximum bounding region between images
  • Imagick::compareImages — Compares an image to a reconstructed image
  • Imagick::compositeImage — Composite one image onto another
  • Imagick::__construct — The Imagick constructor
  • Imagick::contrastImage — Change the contrast of the image
  • Imagick::contrastStretchImage — Enhances the contrast of a color image
  • Imagick::convolveImage — Applies a custom convolution kernel to the image
  • Imagick::count — Get the number of images
  • Imagick::cropImage — Extracts a region of the image
  • Imagick::cropThumbnailImage — Creates a crop thumbnail
  • Imagick::current — Returns a reference to the current Imagick object
  • Imagick::cycleColormapImage — Displaces an image's colormap
  • Imagick::decipherImage — Deciphers an image
  • Imagick::deconstructImages — Returns certain pixel differences between images
  • Imagick::deleteImageArtifact — Delete image artifact
  • Imagick::deleteImageProperty — Description
  • Imagick::deskewImage — Removes skew from the image
  • Imagick::despeckleImage — Reduces the speckle noise in an image
  • Imagick::destroy — Destroys the Imagick object
  • Imagick::displayImage — Displays an image
  • Imagick::displayImages — Displays an image or image sequence
  • Imagick::distortImage — Distorts an image using various distortion methods
  • Imagick::drawImage — Renders the ImagickDraw object on the current image
  • Imagick::edgeImage — Enhance edges within the image
  • Imagick::embossImage — Returns a grayscale image with a three-dimensional effect
  • Imagick::encipherImage — Enciphers an image
  • Imagick::enhanceImage — Improves the quality of a noisy image
  • Imagick::equalizeImage — Equalizes the image histogram
  • Imagick::evaluateImage — Applies an expression to an image
  • Imagick::exportImagePixels — Exports raw image pixels
  • Imagick::extentImage — Set image size
  • Imagick::filter — Description
  • Imagick::flattenImages — Merges a sequence of images
  • Imagick::flipImage — Creates a vertical mirror image
  • Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target
  • Imagick::flopImage — Creates a vertical mirror image
  • Imagick::forwardFourierTransformImage — Description
  • Imagick::frameImage — Adds a simulated three-dimensional border
  • Imagick::functionImage — Applies a function on the image
  • Imagick::fxImage — Evaluate expression for each pixel in the image
  • Imagick::gammaImage — Gamma-corrects an image
  • Imagick::gaussianBlurImage — Blurs an image
  • Imagick::getColorspace — Gets the colorspace
  • Imagick::getCompression — Gets the object compression type
  • Imagick::getCompressionQuality — Gets the object compression quality
  • Imagick::getCopyright — Returns the ImageMagick API copyright as a string
  • Imagick::getFilename — The filename associated with an image sequence
  • Imagick::getFont — Gets font
  • Imagick::getFormat — Returns the format of the Imagick object
  • Imagick::getGravity — Gets the gravity
  • Imagick::getHomeURL — Returns the ImageMagick home URL
  • Imagick::getImage — Returns a new Imagick object
  • Imagick::getImageAlphaChannel — Gets the image alpha channel
  • Imagick::getImageArtifact — Get image artifact
  • Imagick::getImageAttribute — Description
  • Imagick::getImageBackgroundColor — Returns the image background color
  • Imagick::getImageBlob — Returns the image sequence as a blob
  • Imagick::getImageBluePrimary — Returns the chromaticy blue primary point
  • Imagick::getImageBorderColor — Returns the image border color
  • Imagick::getImageChannelDepth — Gets the depth for a particular image channel
  • Imagick::getImageChannelDistortion — Compares image channels of an image to a reconstructed image
  • Imagick::getImageChannelDistortions — Gets channel distortions
  • Imagick::getImageChannelExtrema — Gets the extrema for one or more image channels
  • Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose
  • Imagick::getImageChannelMean — Gets the mean and standard deviation
  • Imagick::getImageChannelRange — Gets channel range
  • Imagick::getImageChannelStatistics — Returns statistics for each channel in the image
  • Imagick::getImageClipMask — Gets image clip mask
  • Imagick::getImageColormapColor — Returns the color of the specified colormap index
  • Imagick::getImageColors — Gets the number of unique colors in the image
  • Imagick::getImageColorspace — Gets the image colorspace
  • Imagick::getImageCompose — Returns the composite operator associated with the image
  • Imagick::getImageCompression — Gets the current image's compression type
  • Imagick::getImageCompressionQuality — Gets the current image's compression quality
  • Imagick::getImageDelay — Gets the image delay
  • Imagick::getImageDepth — Gets the image depth
  • Imagick::getImageDispose — Gets the image disposal method
  • Imagick::getImageDistortion — Compares an image to a reconstructed image
  • Imagick::getImageExtrema — Gets the extrema for the image
  • Imagick::getImageFilename — Returns the filename of a particular image in a sequence
  • Imagick::getImageFormat — Returns the format of a particular image in a sequence
  • Imagick::getImageGamma — Gets the image gamma
  • Imagick::getImageGeometry — Gets the width and height as an associative array
  • Imagick::getImageGravity — Gets the image gravity
  • Imagick::getImageGreenPrimary — Returns the chromaticy green primary point
  • Imagick::getImageHeight — Returns the image height
  • Imagick::getImageHistogram — Gets the image histogram
  • Imagick::getImageIndex — Gets the index of the current active image
  • Imagick::getImageInterlaceScheme — Gets the image interlace scheme
  • Imagick::getImageInterpolateMethod — Returns the interpolation method
  • Imagick::getImageIterations — Gets the image iterations
  • Imagick::getImageLength — Returns the image length in bytes
  • Imagick::getImageMatte — Return if the image has a matte channel
  • Imagick::getImageMatteColor — Returns the image matte color
  • Imagick::getImageMimeType — Description
  • Imagick::getImageOrientation — Gets the image orientation
  • Imagick::getImagePage — Returns the page geometry
  • Imagick::getImagePixelColor — Returns the color of the specified pixel
  • Imagick::getImageProfile — Returns the named image profile
  • Imagick::getImageProfiles — Returns the image profiles
  • Imagick::getImageProperties — Returns the image properties
  • Imagick::getImageProperty — Returns the named image property
  • Imagick::getImageRedPrimary — Returns the chromaticity red primary point
  • Imagick::getImageRegion — Extracts a region of the image
  • Imagick::getImageRenderingIntent — Gets the image rendering intent
  • Imagick::getImageResolution — Gets the image X and Y resolution
  • Imagick::getImagesBlob — Returns all image sequences as a blob
  • Imagick::getImageScene — Gets the image scene
  • Imagick::getImageSignature — Generates an SHA-256 message digest
  • Imagick::getImageSize — Returns the image length in bytes
  • Imagick::getImageTicksPerSecond — Gets the image ticks-per-second
  • Imagick::getImageTotalInkDensity — Gets the image total ink density
  • Imagick::getImageType — Gets the potential image type
  • Imagick::getImageUnits — Gets the image units of resolution
  • Imagick::getImageVirtualPixelMethod — Returns the virtual pixel method
  • Imagick::getImageWhitePoint — Returns the chromaticity white point
  • Imagick::getImageWidth — Returns the image width
  • Imagick::getInterlaceScheme — Gets the object interlace scheme
  • Imagick::getIteratorIndex — Gets the index of the current active image
  • Imagick::getNumberImages — Returns the number of images in the object
  • Imagick::getOption — Returns a value associated with the specified key
  • Imagick::getPackageName — Returns the ImageMagick package name
  • Imagick::getPage — Returns the page geometry
  • Imagick::getPixelIterator — Returns a MagickPixelIterator
  • Imagick::getPixelRegionIterator — Get an ImagickPixelIterator for an image section
  • Imagick::getPointSize — Gets point size
  • Imagick::getQuantum — Description
  • Imagick::getQuantumDepth — Gets the quantum depth
  • Imagick::getQuantumRange — Returns the Imagick quantum range
  • Imagick::getRegistry — Description
  • Imagick::getReleaseDate — Returns the ImageMagick release date
  • Imagick::getResource — Returns the specified resource's memory usage
  • Imagick::getResourceLimit — Returns the specified resource limit
  • Imagick::getSamplingFactors — Gets the horizontal and vertical sampling factor
  • Imagick::getSize — Returns the size associated with the Imagick object
  • Imagick::getSizeOffset — Returns the size offset
  • Imagick::getVersion — Returns the ImageMagick API version
  • Imagick::haldClutImage — Replaces colors in the image
  • Imagick::hasNextImage — Checks if the object has more images
  • Imagick::hasPreviousImage — Checks if the object has a previous image
  • Imagick::identifyFormat — Description
  • Imagick::identifyImage — Identifies an image and fetches attributes
  • Imagick::implodeImage — Creates a new image as a copy
  • Imagick::importImagePixels — Imports image pixels
  • Imagick::inverseFourierTransformImage — Description
  • Imagick::labelImage — Adds a label to an image
  • Imagick::levelImage — Adjusts the levels of an image
  • Imagick::linearStretchImage — Stretches with saturation the image intensity
  • Imagick::liquidRescaleImage — Animates an image or images
  • Imagick::listRegistry — Description
  • Imagick::magnifyImage — Scales an image proportionally 2x
  • Imagick::mapImage — Replaces the colors of an image with the closest color from a reference image
  • Imagick::matteFloodfillImage — Changes the transparency value of a color
  • Imagick::medianFilterImage — Applies a digital filter
  • Imagick::mergeImageLayers — Merges image layers
  • Imagick::minifyImage — Scales an image proportionally to half its size
  • Imagick::modulateImage — Control the brightness, saturation, and hue
  • Imagick::montageImage — Creates a composite image
  • Imagick::morphImages — Method morphs a set of images
  • Imagick::morphology — Description
  • Imagick::mosaicImages — Forms a mosaic from images
  • Imagick::motionBlurImage — Simulates motion blur
  • Imagick::negateImage — Negates the colors in the reference image
  • Imagick::newImage — Creates a new image
  • Imagick::newPseudoImage — Creates a new image
  • Imagick::nextImage — Moves to the next image
  • Imagick::normalizeImage — Enhances the contrast of a color image
  • Imagick::oilPaintImage — Simulates an oil painting
  • Imagick::opaquePaintImage — Changes the color value of any pixel that matches target
  • Imagick::optimizeImageLayers — Removes repeated portions of images to optimize
  • Imagick::orderedPosterizeImage — Performs an ordered dither
  • Imagick::paintFloodfillImage — Changes the color value of any pixel that matches target
  • Imagick::paintOpaqueImage — Change any pixel that matches color
  • Imagick::paintTransparentImage — Changes any pixel that matches color with the color defined by fill
  • Imagick::pingImage — Fetch basic attributes about the image
  • Imagick::pingImageBlob — Quickly fetch attributes
  • Imagick::pingImageFile — Get basic image attributes in a lightweight manner
  • Imagick::polaroidImage — Simulates a Polaroid picture
  • Imagick::posterizeImage — Reduces the image to a limited number of color level
  • Imagick::previewImages — Quickly pin-point appropriate parameters for image processing
  • Imagick::previousImage — Move to the previous image in the object
  • Imagick::profileImage — Adds or removes a profile from an image
  • Imagick::quantizeImage — Analyzes the colors within a reference image
  • Imagick::quantizeImages — Analyzes the colors within a sequence of images
  • Imagick::queryFontMetrics — Returns an array representing the font metrics
  • Imagick::queryFonts — Returns the configured fonts
  • Imagick::queryFormats — Returns formats supported by Imagick
  • Imagick::radialBlurImage — Radial blurs an image
  • Imagick::raiseImage — Creates a simulated 3d button-like effect
  • Imagick::randomThresholdImage — Creates a high-contrast, two-color image
  • Imagick::readImage — Reads image from filename
  • Imagick::readImageBlob — Reads image from a binary string
  • Imagick::readImageFile — Reads image from open filehandle
  • Imagick::readimages — Description
  • Imagick::recolorImage — Recolors image
  • Imagick::reduceNoiseImage — Smooths the contours of an image
  • Imagick::remapImage — Remaps image colors
  • Imagick::removeImage — Removes an image from the image list
  • Imagick::removeImageProfile — Removes the named image profile and returns it
  • Imagick::render — Renders all preceding drawing commands
  • Imagick::resampleImage — Resample image to desired resolution
  • Imagick::resetImagePage — Reset image page
  • Imagick::resizeImage — Scales an image
  • Imagick::rollImage — Offsets an image
  • Imagick::rotateImage — Rotates an image
  • Imagick::rotationalBlurImage — Description
  • Imagick::roundCorners — Rounds image corners
  • Imagick::sampleImage — Scales an image with pixel sampling
  • Imagick::scaleImage — Scales the size of an image
  • Imagick::segmentImage — Segments an image
  • Imagick::selectiveBlurImage — Description
  • Imagick::separateImageChannel — Separates a channel from the image
  • Imagick::sepiaToneImage — Sepia tones an image
  • Imagick::setBackgroundColor — Sets the object's default background color
  • Imagick::setColorspace — Set colorspace
  • Imagick::setCompression — Sets the object's default compression type
  • Imagick::setCompressionQuality — Sets the object's default compression quality
  • Imagick::setFilename — Sets the filename before you read or write the image
  • Imagick::setFirstIterator — Sets the Imagick iterator to the first image
  • Imagick::setFont — Sets font
  • Imagick::setFormat — Sets the format of the Imagick object
  • Imagick::setGravity — Sets the gravity
  • Imagick::setImage — Replaces image in the object
  • Imagick::setImageAlphaChannel — Sets image alpha channel
  • Imagick::setImageArtifact — Set image artifact
  • Imagick::setImageAttribute — Description
  • Imagick::setImageBackgroundColor — Sets the image background color
  • Imagick::setImageBias — Sets the image bias for any method that convolves an image
  • Imagick::setImageBiasQuantum — Description
  • Imagick::setImageBluePrimary — Sets the image chromaticity blue primary point
  • Imagick::setImageBorderColor — Sets the image border color
  • Imagick::setImageChannelDepth — Sets the depth of a particular image channel
  • Imagick::setImageClipMask — Sets image clip mask
  • Imagick::setImageColormapColor — Sets the color of the specified colormap index
  • Imagick::setImageColorspace — Sets the image colorspace
  • Imagick::setImageCompose — Sets the image composite operator
  • Imagick::setImageCompression — Sets the image compression
  • Imagick::setImageCompressionQuality — Sets the image compression quality
  • Imagick::setImageDelay — Sets the image delay
  • Imagick::setImageDepth — Sets the image depth
  • Imagick::setImageDispose — Sets the image disposal method
  • Imagick::setImageExtent — Sets the image size
  • Imagick::setImageFilename — Sets the filename of a particular image
  • Imagick::setImageFormat — Sets the format of a particular image
  • Imagick::setImageGamma — Sets the image gamma
  • Imagick::setImageGravity — Sets the image gravity
  • Imagick::setImageGreenPrimary — Sets the image chromaticity green primary point
  • Imagick::setImageIndex — Set the iterator position
  • Imagick::setImageInterlaceScheme — Sets the image compression
  • Imagick::setImageInterpolateMethod — Sets the image interpolate pixel method
  • Imagick::setImageIterations — Sets the image iterations
  • Imagick::setImageMatte — Sets the image matte channel
  • Imagick::setImageMatteColor — Sets the image matte color
  • Imagick::setImageOpacity — Sets the image opacity level
  • Imagick::setImageOrientation — Sets the image orientation
  • Imagick::setImagePage — Sets the page geometry of the image
  • Imagick::setImageProfile — Adds a named profile to the Imagick object
  • Imagick::setImageProperty — Sets an image property
  • Imagick::setImageRedPrimary — Sets the image chromaticity red primary point
  • Imagick::setImageRenderingIntent — Sets the image rendering intent
  • Imagick::setImageResolution — Sets the image resolution
  • Imagick::setImageScene — Sets the image scene
  • Imagick::setImageTicksPerSecond — Sets the image ticks-per-second
  • Imagick::setImageType — Sets the image type
  • Imagick::setImageUnits — Sets the image units of resolution
  • Imagick::setImageVirtualPixelMethod — Sets the image virtual pixel method
  • Imagick::setImageWhitePoint — Sets the image chromaticity white point
  • Imagick::setInterlaceScheme — Sets the image compression
  • Imagick::setIteratorIndex — Set the iterator position
  • Imagick::setLastIterator — Sets the Imagick iterator to the last image
  • Imagick::setOption — Set an option
  • Imagick::setPage — Sets the page geometry of the Imagick object
  • Imagick::setPointSize — Sets point size
  • Imagick::setProgressMonitor — Description
  • Imagick::setRegistry — Description
  • Imagick::setResolution — Sets the image resolution
  • Imagick::setResourceLimit — Sets the limit for a particular resource
  • Imagick::setSamplingFactors — Sets the image sampling factors
  • Imagick::setSize — Sets the size of the Imagick object
  • Imagick::setSizeOffset — Sets the size and offset of the Imagick object
  • Imagick::setType — Sets the image type attribute
  • Imagick::shadeImage — Creates a 3D effect
  • Imagick::shadowImage — Simulates an image shadow
  • Imagick::sharpenImage — Sharpens an image
  • Imagick::shaveImage — Shaves pixels from the image edges
  • Imagick::shearImage — Creating a parallelogram
  • Imagick::sigmoidalContrastImage — Adjusts the contrast of an image
  • Imagick::sketchImage — Simulates a pencil sketch
  • Imagick::smushImages — Description
  • Imagick::solarizeImage — Applies a solarizing effect to the image
  • Imagick::sparseColorImage — Interpolates colors
  • Imagick::spliceImage — Splices a solid color into the image
  • Imagick::spreadImage — Randomly displaces each pixel in a block
  • Imagick::statisticImage — Description
  • Imagick::steganoImage — Hides a digital watermark within the image
  • Imagick::stereoImage — Composites two images
  • Imagick::stripImage — Strips an image of all profiles and comments
  • Imagick::subImageMatch — Description
  • Imagick::swirlImage — Swirls the pixels about the center of the image
  • Imagick::textureImage — Repeatedly tiles the texture image
  • Imagick::thresholdImage — Changes the value of individual pixels based on a threshold
  • Imagick::thumbnailImage — Changes the size of an image
  • Imagick::tintImage — Applies a color vector to each pixel in the image
  • Imagick::__toString — Returns the image as a string
  • Imagick::transformImage — Convenience method for setting crop size and the image geometry
  • Imagick::transformImageColorspace — Transforms an image to a new colorspace
  • Imagick::transparentPaintImage — Paints pixels transparent
  • Imagick::transposeImage — Creates a vertical mirror image
  • Imagick::transverseImage — Creates a horizontal mirror image
  • Imagick::trimImage — Remove edges from the image
  • Imagick::uniqueImageColors — Discards all but one of any pixel color
  • Imagick::unsharpMaskImage — Sharpens an image
  • Imagick::valid — Checks if the current item is valid
  • Imagick::vignetteImage — Adds vignette filter to the image
  • Imagick::waveImage — Applies wave filter to the image
  • Imagick::whiteThresholdImage — Force all pixels above the threshold into white
  • Imagick::writeImage — Writes an image to the specified filename
  • Imagick::writeImageFile — Writes an image to a filehandle
  • Imagick::writeImages — Writes an image or image sequence
  • Imagick::writeImagesFile — Writes frames to a filehandle


Adds adaptive blur filter to image

  • « Imagick
  • Imagick::adaptiveResizeImage »
  • PHP Manual
  • Imagick
  • Adds adaptive blur filter to image

Imagick::adaptiveBlurImage

(PECL imagick 2, PECL imagick 3)

Imagick::adaptiveBlurImage — Adds adaptive blur filter to image

Descrição

public Imagick::adaptiveBlurImage ( float $radius , float $sigma , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Adds an adaptive blur filter to image. The intensity of an adaptive blur depends is dramatically decreased at edge of the image, whereas a standard blur is uniform across the image. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

radius

The radius of the Gaussian, in pixels, not counting the center pixel. Provide a value of 0 and the radius will be chosen automagically.

sigma

The standard deviation of the Gaussian, in pixels.

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Using Imagick::adaptiveBlurImage():

Adaptively blur an image, then display to the browser.

<?php

header('Content-type: image/jpeg');

$image = new Imagick('test.jpg');

$image->adaptiveBlurImage(5,3);
echo $image;

?>

O exemplo acima irá imprimir algo similar à:

Output of example : Using Imagick::adaptiveBlurImage()

Veja Também

  • Imagick::blurImage() - Adds blur filter to image
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image


Adaptively resize image with data dependent triangulation

  • « Imagick::adaptiveBlurImage
  • Imagick::adaptiveSharpenImage »
  • PHP Manual
  • Imagick
  • Adaptively resize image with data dependent triangulation

Imagick::adaptiveResizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::adaptiveResizeImage — Adaptively resize image with data dependent triangulation

Descrição

public Imagick::adaptiveResizeImage ( int $columns , int $rows , bool $bestfit = false , bool $legacy = false ) : bool

Adaptively resize image with data-dependent triangulation. Avoids blurring across sharp color changes. Most useful when used to shrink images slightly to a slightly smaller "web size"; may not look good when a full-sized image is adaptively resized to a thumbnail. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Nota: O comportamento do parâmetro bestfit mudou no Imagick 3.0.0. Antes desta versão ao informar dimensões 400x400 numa imagem de 200x150 não causaria alterações. No Imagick 3.0.0 e posteriores a imagem seria escalada para 400x300 por ser o "melhor ajuste" entre as dimensões. Se bestfit é informado tanto a altura como comprimento devem ser informados.

Parâmetros

columns

The number of columns in the scaled image.

rows

The number of rows in the scaled image.

bestfit

Whether to fit the image inside a bounding box.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Added optional fit parameter.
PECL imagick 2.1.0 | This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.

Exemplos

Exemplo #1 Using Imagick::adaptiveResizeImage()

Resize an image to a standard size for the web. This method works best when resizing to a size only slightly smaller than the previous image size.

<?php
header('Content-type: image/jpeg');

$image = new Imagick('image.jpg');
$image->adaptiveResizeImage(1024,768);

echo $image;
?>

Veja Também

  • Imagick::chopImage() - Removes a region of an image and trims
  • Imagick::cropImage() - Extracts a region of the image
  • Imagick::magnifyImage() - Scales an image proportionally 2x
  • Imagick::minifyImage() - Scales an image proportionally to half its size
  • Imagick::resizeImage() - Scales an image
  • Imagick::scaleImage() - Scales the size of an image
  • Imagick::shaveImage() - Shaves pixels from the image edges
  • Imagick::thumbnailImage() - Changes the size of an image
  • Imagick::trimImage() - Remove edges from the image


Adaptively sharpen the image

  • « Imagick::adaptiveResizeImage
  • Imagick::adaptiveThresholdImage »
  • PHP Manual
  • Imagick
  • Adaptively sharpen the image

Imagick::adaptiveSharpenImage

(PECL imagick 2, PECL imagick 3)

Imagick::adaptiveSharpenImage — Adaptively sharpen the image

Descrição

public Imagick::adaptiveSharpenImage ( float $radius , float $sigma , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Adaptively sharpen the image by sharpening more intensely near image edges and less intensely far from edges. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

radius

The radius of the Gaussian, in pixels, not counting the center pixel. Use 0 for auto-select.

sigma

The standard deviation of the Gaussian, in pixels.

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 A Imagick::adaptiveSharpenImage() example

Adaptively sharpen the image with radius 2 and sigma 1.

<?php
try {
    $image = new Imagick('image.png');
    $image->adaptiveSharpenImage(2,1);
} catch(ImagickException $e) {
    echo 'Error: ' , $e->getMessage();
    die();
}
header('Content-type: image/png');
echo $image;
?>

Veja Também

  • Imagick::sharpenImage() - Sharpens an image


Selects a threshold for each pixel based on a range of intensity

  • « Imagick::adaptiveSharpenImage
  • Imagick::addImage »
  • PHP Manual
  • Imagick
  • Selects a threshold for each pixel based on a range of intensity

Imagick::adaptiveThresholdImage

(PECL imagick 2, PECL imagick 3)

Imagick::adaptiveThresholdImage — Selects a threshold for each pixel based on a range of intensity

Descrição

public Imagick::adaptiveThresholdImage ( int $width , int $height , int $offset ) : bool

Selects an individual threshold for each pixel based on the range of intensity values in its local neighborhood. This allows for thresholding of an image whose global intensity histogram doesn't contain distinctive peaks.

Parâmetros

width

Width of the local neighborhood.

height

Height of the local neighborhood.

offset

The mean offset

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::adaptiveThresholdImage()

<?php
function adaptiveThresholdImage($imagePath, $width, $height, $adaptiveOffset) {
    $imagick = new \Imagick(realpath($imagePath));
    $adaptiveOffsetQuantum = intval($adaptiveOffset * \Imagick::getQuantum());
    $imagick->adaptiveThresholdImage($width, $height, $adaptiveOffsetQuantum);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Adds new image to Imagick object image list

  • « Imagick::adaptiveThresholdImage
  • Imagick::addNoiseImage »
  • PHP Manual
  • Imagick
  • Adds new image to Imagick object image list

Imagick::addImage

(PECL imagick 2, PECL imagick 3)

Imagick::addImage — Adds new image to Imagick object image list

Descrição

public Imagick::addImage ( Imagick $source ) : bool

Adds new image to Imagick object from the current position of the source object. After the operation iterator position is moved at the end of the list.

Parâmetros

source

The source Imagick object

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Adds random noise to the image

  • « Imagick::addImage
  • Imagick::affineTransformImage »
  • PHP Manual
  • Imagick
  • Adds random noise to the image

Imagick::addNoiseImage

(PECL imagick 2, PECL imagick 3)

Imagick::addNoiseImage — Adds random noise to the image

Descrição

public Imagick::addNoiseImage ( int $noise_type , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Adds random noise to the image.

Parâmetros

noise_type

The type of the noise. Refer to this list of noise constants.

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::addNoiseImage()

<?php
function addNoiseImage($noiseType, $imagePath, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->addNoiseImage($noiseType, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Transforms an image

  • « Imagick::addNoiseImage
  • Imagick::animateImages »
  • PHP Manual
  • Imagick
  • Transforms an image

Imagick::affineTransformImage

(PECL imagick 2, PECL imagick 3)

Imagick::affineTransformImage — Transforms an image

Descrição

public Imagick::affineTransformImage ( ImagickDraw $matrix ) : bool

Transforms an image as dictated by the affine matrix.

Parâmetros

matrix

The affine matrix

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::affineTransformImage()

<?php
function affineTransformImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $draw = new \ImagickDraw();

    $angle = deg2rad(40);

    $affineRotate = array(
        "sx" => cos($angle), "sy" => cos($angle),
        "rx" => sin($angle), "ry" => -sin($angle),
        "tx" => 0, "ty" => 0,
    );

    $draw->affine($affineRotate);

    $imagick->affineTransformImage($draw);

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Animates an image or images

  • « Imagick::affineTransformImage
  • Imagick::annotateImage »
  • PHP Manual
  • Imagick
  • Animates an image or images

Imagick::animateImages

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::animateImages — Animates an image or images

Descrição

public Imagick::animateImages ( string $x_server ) : bool

This method animates the image onto a local or remote X server. This method is not available on Windows. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.6 ou superior.

Parâmetros

x_server

X server address

Valor Retornado

Retorna true no sucesso.

Veja Também

  • Imagick::displayImage() - Displays an image


Annotates an image with text

  • « Imagick::animateImages
  • Imagick::appendImages »
  • PHP Manual
  • Imagick
  • Annotates an image with text

Imagick::annotateImage

(PECL imagick 2, PECL imagick 3)

Imagick::annotateImage — Annotates an image with text

Descrição

public Imagick::annotateImage ( ImagickDraw $draw_settings , float $x , float $y , float $angle , string $text ) : bool

Annotates an image with text.

Parâmetros

draw_settings

The ImagickDraw object that contains settings for drawing the text

x

Horizontal offset in pixels to the left of text

y

Vertical offset in pixels to the baseline of text

angle

The angle at which to write the text

text

The string to draw

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Using Imagick::annotateImage():

Annotate text on an empty image

<?php
/* Create some objects */
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'gray' );

/* New image */
$image->newImage(800, 75, $pixel);

/* Black text */
$draw->setFillColor('black');

/* Font properties */
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );

/* Create text */
$image->annotateImage($draw, 10, 45, 0, 'The quick brown fox jumps over the lazy dog');

/* Give image a format */
$image->setImageFormat('png');

/* Output the image with headers */
header('Content-type: image/png');
echo $image;

?>

Veja Também

  • ImagickDraw::annotation() - Draws text on the image
  • ImagickDraw::setFont() - Sets the fully-specified font to use when annotating with text


Append a set of images

  • « Imagick::annotateImage
  • Imagick::autoLevelImage »
  • PHP Manual
  • Imagick
  • Append a set of images

Imagick::appendImages

(PECL imagick 2, PECL imagick 3)

Imagick::appendImages — Append a set of images

Descrição

public Imagick::appendImages ( bool $stack ) : Imagick

Append a set of images into one larger image.

Parâmetros

stack

Whether to stack the images vertically. By default (or if false is specified) images are stacked left-to-right. If stack is true, images are stacked top-to-bottom.

Valor Retornado

Returns Imagick instance on success.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::appendImages() example

<?php

/* Create new imagick object */
$im = new Imagick();

/* create red, green and blue images */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Append the images into one */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Output the image */
$combined->setImageFormat("png");
header("Content-Type: image/png");
echo $combined;
?>

O exemplo acima irá imprimir algo similar à:

Output of example : Imagick::appendImages()


Description

  • « Imagick::appendImages
  • Imagick::averageImages »
  • PHP Manual
  • Imagick
  • Description

Imagick::autoLevelImage

(PECL imagick 3 >= 3.3.0)

Imagick::autoLevelImage — Description

Descrição

public Imagick::autoLevelImage ( int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Adjusts the levels of a particular image channel by scaling the minimum and maximum values to the full quantum range.

Parâmetros

channel

Which channel should the auto-levelling should be done on.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::autoLevelImage()

<?php
function autoLevelImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->autoLevelImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Average a set of images

  • « Imagick::autoLevelImage
  • Imagick::blackThresholdImage »
  • PHP Manual
  • Imagick
  • Average a set of images

Imagick::averageImages

(PECL imagick 2, PECL imagick 3)

Imagick::averageImages — Average a set of images

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::averageImages ( ) : Imagick

Average a set of images.

Valor Retornado

Returns a new Imagick object on success.

Erros

Lança ImagickException em caso de erro.


Forces all pixels below the threshold into black

  • « Imagick::averageImages
  • Imagick::blueShiftImage »
  • PHP Manual
  • Imagick
  • Forces all pixels below the threshold into black

Imagick::blackThresholdImage

(PECL imagick 2, PECL imagick 3)

Imagick::blackThresholdImage — Forces all pixels below the threshold into black

Descrição

public Imagick::blackThresholdImage ( mixed $threshold ) : bool

Is like Imagick::thresholdImage() but forces all pixels below the threshold into black while leaving all pixels above the threshold unchanged.

Parâmetros

threshold

The threshold below which everything turns black

Valor Retornado

Retorna true no sucesso.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.

Exemplos

Exemplo #1 Imagick::blackThresholdImage()

<?php
function blackThresholdImage($imagePath, $thresholdColor) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->blackthresholdimage($thresholdColor);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Description

  • « Imagick::blackThresholdImage
  • Imagick::blurImage »
  • PHP Manual
  • Imagick
  • Description

Imagick::blueShiftImage

(PECL imagick 3 >= 3.3.0)

Imagick::blueShiftImage — Description

Descrição

public Imagick::blueShiftImage ( float $factor = 1.5 ) : bool

Mutes the colors of the image to simulate a scene at nighttime in the moonlight.

Parâmetros

factor

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::blueShiftImage()

<?php
function blueShiftImage($imagePath, $blueShift) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->blueShiftImage($blueShift);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Adds blur filter to image

  • « Imagick::blueShiftImage
  • Imagick::borderImage »
  • PHP Manual
  • Imagick
  • Adds blur filter to image

Imagick::blurImage

(PECL imagick 2, PECL imagick 3)

Imagick::blurImage — Adds blur filter to image

Descrição

public Imagick::blurImage ( float $radius , float $sigma , int $channel = ? ) : bool

Adds blur filter to image. Optional third parameter to blur a specific channel.

Parâmetros

radius

Blur radius

sigma

Standard deviation

channel

The Channeltype constant. When not supplied, all channels are blurred.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Using Imagick::blurImage():

Blur an image, then display to the browser.

<?php

header('Content-type: image/jpeg');

$image = new Imagick('test.jpg');

$image->blurImage(5,3);
echo $image;

?>

Veja Também

  • Imagick::adaptiveBlurImage() - Adds adaptive blur filter to image
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image


Surrounds the image with a border

  • « Imagick::blurImage
  • Imagick::brightnessContrastImage »
  • PHP Manual
  • Imagick
  • Surrounds the image with a border

Imagick::borderImage

(PECL imagick 2, PECL imagick 3)

Imagick::borderImage — Surrounds the image with a border

Descrição

public Imagick::borderImage ( mixed $bordercolor , int $width , int $height ) : bool

Surrounds the image with a border of the color defined by the bordercolor ImagickPixel object.

Parâmetros

bordercolor

ImagickPixel object or a string containing the border color

width

Border width

height

Border height

Valor Retornado

Retorna true no sucesso.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Exemplos

Exemplo #1 Imagick::borderImage()

<?php
function borderImage($imagePath, $color, $width, $height) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->borderImage($color, $width, $height);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Description

  • « Imagick::borderImage
  • Imagick::charcoalImage »
  • PHP Manual
  • Imagick
  • Description

Imagick::brightnessContrastImage

(PECL imagick 3 >= 3.3.0)

Imagick::brightnessContrastImage — Description

Descrição

public Imagick::brightnessContrastImage ( float $brightness , float $contrast , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Change the brightness and/or contrast of an image. It converts the brightness and contrast parameters into slope and intercept and calls a polynomical function to apply to the image.

Parâmetros

brightness

contrast

channel

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::brightnessContrastImage()

<?php
function brightnessContrastImage($imagePath, $brightness, $contrast, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->brightnessContrastImage($brightness, $contrast, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Simulates a charcoal drawing

  • « Imagick::brightnessContrastImage
  • Imagick::chopImage »
  • PHP Manual
  • Imagick
  • Simulates a charcoal drawing

Imagick::charcoalImage

(PECL imagick 2, PECL imagick 3)

Imagick::charcoalImage — Simulates a charcoal drawing

Descrição

public Imagick::charcoalImage ( float $radius , float $sigma ) : bool

Simulates a charcoal drawing.

Parâmetros

radius

The radius of the Gaussian, in pixels, not counting the center pixel

sigma

The standard deviation of the Gaussian, in pixels

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::charcoalImage()

<?php
function charcoalImage($imagePath, $radius, $sigma) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->charcoalImage($radius, $sigma);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Removes a region of an image and trims

  • « Imagick::charcoalImage
  • Imagick::clampImage »
  • PHP Manual
  • Imagick
  • Removes a region of an image and trims

Imagick::chopImage

(PECL imagick 2, PECL imagick 3)

Imagick::chopImage — Removes a region of an image and trims

Descrição

public Imagick::chopImage ( int $width , int $height , int $x , int $y ) : bool

Removes a region of an image and collapses the image to occupy the removed portion.

Parâmetros

width

Width of the chopped area

height

Height of the chopped area

x

X origo of the chopped area

y

Y origo of the chopped area

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Using Imagick::chopImage():

Example of using Imagick::chopImage

<?php
/* Create some objects */
$image = new Imagick();
$pixel = new ImagickPixel( 'gray' );

/* New image */
$image->newImage(400, 200, $pixel);

/* Chop image */
$image->chopImage(200, 200, 0, 0);

/* Give image a format */
$image->setImageFormat('png');

/* Output the image with headers */
header('Content-type: image/png');
echo $image;

?>

Veja Também

  • Imagick::cropImage() - Extracts a region of the image


Description

  • « Imagick::chopImage
  • Imagick::clear »
  • PHP Manual
  • Imagick
  • Description

Imagick::clampImage

(PECL imagick 3 >= 3.3.0)

Imagick::clampImage — Description

Descrição

public Imagick::clampImage ( int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Restricts the color range from 0 to the quantum depth.

Parâmetros

channel

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Clears all resources associated to Imagick object

  • « Imagick::clampImage
  • Imagick::clipImage »
  • PHP Manual
  • Imagick
  • Clears all resources associated to Imagick object

Imagick::clear

(PECL imagick 2, PECL imagick 3)

Imagick::clear — Clears all resources associated to Imagick object

Descrição

public Imagick::clear ( ) : bool

Clears all resources associated to Imagick object

Valor Retornado

Retorna true no sucesso.


Clips along the first path from the 8BIM profile

  • « Imagick::clear
  • Imagick::clipImagePath »
  • PHP Manual
  • Imagick
  • Clips along the first path from the 8BIM profile

Imagick::clipImage

(PECL imagick 2, PECL imagick 3)

Imagick::clipImage — Clips along the first path from the 8BIM profile

Descrição

public Imagick::clipImage ( ) : bool

Clips along the first path from the 8BIM profile, if present.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Description

  • « Imagick::clipImage
  • Imagick::clipPathImage »
  • PHP Manual
  • Imagick
  • Description

Imagick::clipImagePath

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::clipImagePath — Description

Descrição

public Imagick::clipImagePath ( string $pathname , string $inside ) : void

Clips along the named paths from the 8BIM profile, if present. Later operations take effect inside the path. Id may be a number if preceded with #, to work on a numbered path, e.g., "#1" to use the first path.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

pathname

inside

Valor Retornado


Clips along the named paths from the 8BIM profile

  • « Imagick::clipImagePath
  • Imagick::clone »
  • PHP Manual
  • Imagick
  • Clips along the named paths from the 8BIM profile

Imagick::clipPathImage

(PECL imagick 2, PECL imagick 3)

Imagick::clipPathImage — Clips along the named paths from the 8BIM profile

Descrição

public Imagick::clipPathImage ( string $pathname , bool $inside ) : bool

Clips along the named paths from the 8BIM profile, if present. Later operations take effect inside the path. It may be a number if preceded with #, to work on a numbered path, e.g., "#1" to use the first path.

Parâmetros

pathname

The name of the path

inside

If true later operations take effect inside clipping path. Otherwise later operations take effect outside clipping path.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Makes an exact copy of the Imagick object

  • « Imagick::clipPathImage
  • Imagick::clutImage »
  • PHP Manual
  • Imagick
  • Makes an exact copy of the Imagick object

Imagick::clone

(PECL imagick 2, PECL imagick 3)

Imagick::clone — Makes an exact copy of the Imagick object

Descrição

public Imagick::clone ( ) : Imagick

Makes an exact copy of the Imagick object.

Aviso

This function has been DEPRECATED as of imagick 3.1.0 in favour of using the clone keyword.

Exemplos

Exemplo #1 Imagick object cloning in different versions of imagick

<?php
// Cloning an Imagick object in imagick 2.x and 3.0:
$newImage = $image->clone();

// Cloning an Imagick object from 3.1.0 on:
$newImage = clone $image;
?>

Valor Retornado

A copy of the Imagick object is returned.

Changelog

Versão | Descrição
PECL imagick 3.1.0 | The method was deprecated in favour of the clone keyword.


Replaces colors in the image

  • « Imagick::clone
  • Imagick::coalesceImages »
  • PHP Manual
  • Imagick
  • Replaces colors in the image

Imagick::clutImage

(PECL imagick 2, PECL imagick 3)

Imagick::clutImage — Replaces colors in the image

Descrição

public Imagick::clutImage ( Imagick $lookup_table , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Replaces colors in the image from a color lookup table. Optional second parameter to replace colors in a specific channel. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.6 ou superior.

Parâmetros

lookup_table

Imagick object containing the color lookup table

channel

The Channeltype constant. When not supplied, default channels are replaced.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Using Imagick::clutImage():

Replace colors in the image from a color lookup table.

<?php
$image = new Imagick('test.jpg');
$clut = new Imagick();
$clut->newImage(1, 1, new ImagickPixel('black'));
$image->clutImage($clut);
$image->writeImage('test_out.jpg');
?>

Veja Também

  • Imagick::adaptiveBlurImage() - Adds adaptive blur filter to image
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image


Composites a set of images

  • « Imagick::clutImage
  • Imagick::colorFloodfillImage »
  • PHP Manual
  • Imagick
  • Composites a set of images

Imagick::coalesceImages

(PECL imagick 2, PECL imagick 3)

Imagick::coalesceImages — Composites a set of images

Descrição

public Imagick::coalesceImages ( ) : Imagick

Composites a set of images while respecting any page offsets and disposal methods. GIF, MIFF, and MNG animation sequences typically start with an image background and each subsequent image varies in size and offset. Returns a new Imagick object where each image in the sequence is the same size as the first and composited with the next image in the sequence.

Valor Retornado

Returns a new Imagick object on success.

Erros

Lança ImagickException em caso de erro.


Changes the color value of any pixel that matches target

  • « Imagick::coalesceImages
  • Imagick::colorizeImage »
  • PHP Manual
  • Imagick
  • Changes the color value of any pixel that matches target

Imagick::colorFloodfillImage

(PECL imagick 2, PECL imagick 3)

Imagick::colorFloodfillImage — Changes the color value of any pixel that matches target

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::colorFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y ) : bool

Changes the color value of any pixel that matches target and is an immediate neighbor.

Parâmetros

fill

ImagickPixel object containing the fill color

fuzz

The amount of fuzz. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.

bordercolor

ImagickPixel object containing the border color

x

X start position of the floodfill

y

Y start position of the floodfill

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as first and third parameter. Previous versions allow only an ImagickPixel object.


Blends the fill color with the image

  • « Imagick::colorFloodfillImage
  • Imagick::colorMatrixImage »
  • PHP Manual
  • Imagick
  • Blends the fill color with the image

Imagick::colorizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::colorizeImage — Blends the fill color with the image

Descrição

public Imagick::colorizeImage ( mixed $colorize , mixed $opacity , bool $legacy = false ) : bool

Blends the fill color with each pixel in the image.

Parâmetros

colorize

ImagickPixel object or a string containing the colorize color

opacity

ImagickPixel object or an float containing the opacity value. 1.0 is fully opaque and 0.0 is fully transparent.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as the first parameter and a float representing the opacity value as the second parameter. Previous versions allow only an ImagickPixel objects.

Exemplos

Exemplo #1 Imagick::colorizeImage()

<?php
function colorizeImage($imagePath, $color, $opacity) {
    $imagick = new \Imagick(realpath($imagePath));
    $opacity = $opacity / 255.0;
    $opacityColor = new \ImagickPixel("rgba(0, 0, 0, $opacity)");
    $imagick->colorizeImage($color, $opacityColor);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Description

  • « Imagick::colorizeImage
  • Imagick::combineImages »
  • PHP Manual
  • Imagick
  • Description

Imagick::colorMatrixImage

(PECL imagick 3 >= 3.3.0)

Imagick::colorMatrixImage — Description

Descrição

public Imagick::colorMatrixImage ( array $color_matrix = Imagick::CHANNEL_DEFAULT ) : bool

Apply color transformation to an image. The method permits saturation changes, hue rotation, luminance to alpha, and various other effects. Although variable-sized transformation matrices can be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6 for CMYKA (or RGBA with offsets). The matrix is similar to those used by Adobe Flash except offsets are in column 6 rather than 5 (in support of CMYKA images) and offsets are normalized (divide Flash offset by 255)

Parâmetros

color_matrix

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::colorMatrixImage()

<?php
function colorMatrixImage($imagePath, $colorMatrix) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setImageOpacity(1);

    //A color matrix should look like:
    //    $colorMatrix = [
    //        1.5, 0.0, 0.0, 0.0, 0.0, -0.157,
    //        0.0, 1.0, 0.5, 0.0, 0.0, -0.157,
    //        0.0, 0.0, 1.5, 0.0, 0.0, -0.157,
    //        0.0, 0.0, 0.0, 1.0, 0.0,  0.0,
    //        0.0, 0.0, 0.0, 0.0, 1.0,  0.0,
    //        0.0, 0.0, 0.0, 0.0, 0.0,  1.0
    //    ];

    $background = new \Imagick();
    $background->newPseudoImage($imagick->getImageWidth(), $imagick->getImageHeight(),  "pattern:checkerboard");

    $background->setImageFormat('png');

    $imagick->setImageFormat('png');
    $imagick->colorMatrixImage($colorMatrix);

    $background->compositeImage($imagick, \Imagick::COMPOSITE_ATOP, 0, 0);

    header("Content-Type: image/png");
    echo $background->getImageBlob();
}

?>


Combines one or more images into a single image

  • « Imagick::colorMatrixImage
  • Imagick::commentImage »
  • PHP Manual
  • Imagick
  • Combines one or more images into a single image

Imagick::combineImages

(PECL imagick 2, PECL imagick 3)

Imagick::combineImages — Combines one or more images into a single image

Descrição

public Imagick::combineImages ( int $channelType ) : Imagick

Combines one or more images into a single image. The grayscale value of the pixels of each image in the sequence is assigned in order to the specified channels of the combined image. The typical ordering would be image 1 => Red, 2 => Green, 3 => Blue, etc.

Parâmetros

channelType

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Adds a comment to your image

  • « Imagick::combineImages
  • Imagick::compareImageChannels »
  • PHP Manual
  • Imagick
  • Adds a comment to your image

Imagick::commentImage

(PECL imagick 2, PECL imagick 3)

Imagick::commentImage — Adds a comment to your image

Descrição

public Imagick::commentImage ( string $comment ) : bool

Adds a comment to your image.

Parâmetros

comment

The comment to add

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Using Imagick::commentImage():

Commenting an image and retrieving the comment:

<?php

/* Create new Imagick object */
$im = new imagick();

/* Create an empty image */
$im->newImage(100, 100, new ImagickPixel("red"));

/* Add comment to the image */
$im->commentImage("Hello World!");

/* Display the comment */
echo $im->getImageProperty("comment");

?>


Returns the difference in one or more images

  • « Imagick::commentImage
  • Imagick::compareImageLayers »
  • PHP Manual
  • Imagick
  • Returns the difference in one or more images

Imagick::compareImageChannels

(PECL imagick 2, PECL imagick 3)

Imagick::compareImageChannels — Returns the difference in one or more images

Descrição

public Imagick::compareImageChannels ( Imagick $image , int $channelType , int $metricType ) : array

Compares one or more images and returns the difference image.

Parâmetros

image

Imagick object containing the image to compare.

channelType

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

metricType

One of the metric type constants.

Valor Retornado

Array consisting of new_wand and distortion.

Erros

Lança ImagickException em caso de erro.


Returns the maximum bounding region between images

  • « Imagick::compareImageChannels
  • Imagick::compareImages »
  • PHP Manual
  • Imagick
  • Returns the maximum bounding region between images

Imagick::compareImageLayers

(PECL imagick 2, PECL imagick 3)

Imagick::compareImageLayers — Returns the maximum bounding region between images

Descrição

public Imagick::compareImageLayers ( int $method ) : Imagick

Compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

method

One of the layer method constants.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Using Imagick::compareImageLayers()

Comparing image layers

<?php
/* create new imagick object */
$im = new Imagick("test.gif");

/* optimize the image layers */
$result = $im->compareImageLayers(imagick::LAYERMETHOD_COALESCE);

/* work on the $result */
?>

Veja Também

  • Imagick::optimizeImageLayers() - Removes repeated portions of images to optimize
  • Imagick::writeImages() - Writes an image or image sequence
  • Imagick::writeImage() - Writes an image to the specified filename


Compares an image to a reconstructed image

  • « Imagick::compareImageLayers
  • Imagick::compositeImage »
  • PHP Manual
  • Imagick
  • Compares an image to a reconstructed image

Imagick::compareImages

(PECL imagick 2, PECL imagick 3)

Imagick::compareImages — Compares an image to a reconstructed image

Descrição

public Imagick::compareImages ( Imagick $compare , int $metric ) : array

Returns an array containing a reconstructed image and the difference between images.

Parâmetros

compare

An image to compare to.

metric

Provide a valid metric type constant. Refer to this list of metric constants.

Valor Retornado

Returns an array containing a reconstructed image and the difference between images.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Using Imagick::compareImages():

Compare images and display the reconstructed image

<?php

$image1 = new imagick("image1.png");
$image2 = new imagick("image2.png");

$result = $image1->compareImages($image2, Imagick::METRIC_MEANSQUAREERROR);
$result[0]->setImageFormat("png");

header("Content-Type: image/png");
echo $result[0];

?>


Composite one image onto another

  • « Imagick::compareImages
  • Imagick::__construct »
  • PHP Manual
  • Imagick
  • Composite one image onto another

Imagick::compositeImage

(PECL imagick 2, PECL imagick 3)

Imagick::compositeImage — Composite one image onto another

Descrição

public Imagick::compositeImage ( Imagick $composite_object , int $composite , int $x , int $y , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Composite one image onto another at the specified offset. Any extra arguments needed for the compose algorithm should passed to setImageArtifact with 'compose:args' as the first parameter and the data as the second parameter.

Parâmetros

composite_object

Imagick object which holds the composite image

compose

Composite operator. See Composite Operator Constants

x

The column offset of the composited image

y

The row offset of the composited image

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Using Imagick::compositeImage():

Composite two images with the 'mathematics' compose method

<?php

// Equivalent to running the command
// convert src1.png src2.png -compose mathematics -define compose:args="1,0,-0.5,0.5" -composite output.png

$src1 = new \Imagick("./src1.png");
$src2 = new \Imagick("./src2.png");

$src1->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
$src1->setImageArtifact('compose:args', "1,0,-0.5,0.5");
$src1->compositeImage($src2, Imagick::COMPOSITE_MATHEMATICS, 0, 0);
$src1->writeImage("./output.png");

?>

Veja Também

  • Imagick::setImageArtifact() - Set image artifact


The Imagick constructor

  • « Imagick::compositeImage
  • Imagick::contrastImage »
  • PHP Manual
  • Imagick
  • The Imagick constructor

Imagick::__construct

(PECL imagick 2, PECL imagick 3)

Imagick::__construct — The Imagick constructor

Descrição

public Imagick::__construct ( mixed $files = ? )

Creates an Imagick instance for a specified image or set of images.

Parâmetros

files

The path to an image to load or an array of paths. Paths can include wildcards for file names, or can be URLs.

Valor Retornado

Returns a new Imagick object on success.

Erros

Lança ImagickException em caso de erro.


Change the contrast of the image

  • « Imagick::__construct
  • Imagick::contrastStretchImage »
  • PHP Manual
  • Imagick
  • Change the contrast of the image

Imagick::contrastImage

(PECL imagick 2, PECL imagick 3)

Imagick::contrastImage — Change the contrast of the image

Descrição

public Imagick::contrastImage ( bool $sharpen ) : bool

Enhances the intensity differences between the lighter and darker elements of the image. Set sharpen to a value other than 0 to increase the image contrast otherwise the contrast is reduced.

Parâmetros

sharpen

The sharpen value

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::contrastImage()

<?php
function contrastImage($imagePath, $contrastType) {
    $imagick = new \Imagick(realpath($imagePath));
    if ($contrastType != 2) {
        $imagick->contrastImage($contrastType);
    }

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Enhances the contrast of a color image

  • « Imagick::contrastImage
  • Imagick::convolveImage »
  • PHP Manual
  • Imagick
  • Enhances the contrast of a color image

Imagick::contrastStretchImage

(PECL imagick 2, PECL imagick 3)

Imagick::contrastStretchImage — Enhances the contrast of a color image

Descrição

public Imagick::contrastStretchImage ( float $black_point , float $white_point , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

black_point

The black point.

white_point

The white point.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.


Applies a custom convolution kernel to the image

  • « Imagick::contrastStretchImage
  • Imagick::count »
  • PHP Manual
  • Imagick
  • Applies a custom convolution kernel to the image

Imagick::convolveImage

(PECL imagick 2, PECL imagick 3)

Imagick::convolveImage — Applies a custom convolution kernel to the image

Descrição

public Imagick::convolveImage ( array $kernel , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Applies a custom convolution kernel to the image.

Parâmetros

kernel

The convolution kernel

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::convolveImage()

<?php
function convolveImage($imagePath, $bias, $kernelMatrix) {
    $imagick = new \Imagick(realpath($imagePath));
    //$edgeFindingKernel = [-1, -1, -1, -1, 8, -1, -1, -1, -1,];
    $imagick->setImageBias($bias * \Imagick::getQuantum());
    $imagick->convolveImage($kernelMatrix);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Get the number of images

  • « Imagick::convolveImage
  • Imagick::cropImage »
  • PHP Manual
  • Imagick
  • Get the number of images

Imagick::count

(PECL imagick 3 >= 3.3.0)

Imagick::count — Get the number of images

Descrição

public Imagick::count ( int $mode = 0 ) : int

Returns the number of images.

Parâmetros

mode

An unused argument. Currently there is a non-particularly well defined feature in PHP where calling count() on a countable object might (or might not) require this method to accept a parameter. This parameter is here to be conformant with the interface of countable, even though the param is not used.

Valor Retornado

Returns the number of images.


Extracts a region of the image

  • « Imagick::count
  • Imagick::cropThumbnailImage »
  • PHP Manual
  • Imagick
  • Extracts a region of the image

Imagick::cropImage

(PECL imagick 2, PECL imagick 3)

Imagick::cropImage — Extracts a region of the image

Descrição

public Imagick::cropImage ( int $width , int $height , int $x , int $y ) : bool

Extracts a region of the image.

Parâmetros

width

The width of the crop

height

The height of the crop

x

The X coordinate of the cropped region's top left corner

y

The Y coordinate of the cropped region's top left corner

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::cropImage()

<?php
function cropImage($imagePath, $startX, $startY, $width, $height) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->cropImage($width, $height, $startX, $startY);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Creates a crop thumbnail

  • « Imagick::cropImage
  • Imagick::current »
  • PHP Manual
  • Imagick
  • Creates a crop thumbnail

Imagick::cropThumbnailImage

(PECL imagick 2, PECL imagick 3)

Imagick::cropThumbnailImage — Creates a crop thumbnail

Descrição

public Imagick::cropThumbnailImage ( int $width , int $height , bool $legacy = false ) : bool

Creates a fixed size thumbnail by first scaling the image up or down and cropping a specified area from the center.

Parâmetros

width

The width of the thumbnail

height

The Height of the thumbnail

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Returns a reference to the current Imagick object

  • « Imagick::cropThumbnailImage
  • Imagick::cycleColormapImage »
  • PHP Manual
  • Imagick
  • Returns a reference to the current Imagick object

Imagick::current

(PECL imagick 2, PECL imagick 3)

Imagick::current — Returns a reference to the current Imagick object

Descrição

public Imagick::current ( ) : Imagick

Returns reference to the current imagick object with image pointer at the correct sequence.

Valor Retornado

Returns self on success.

Erros

Lança ImagickException em caso de erro.


Displaces an image's colormap

  • « Imagick::current
  • Imagick::decipherImage »
  • PHP Manual
  • Imagick
  • Displaces an image's colormap

Imagick::cycleColormapImage

(PECL imagick 2, PECL imagick 3)

Imagick::cycleColormapImage — Displaces an image's colormap

Descrição

public Imagick::cycleColormapImage ( int $displace ) : bool

Displaces an image's colormap by a given number of positions. If you cycle the colormap a number of times you can produce a psychedelic effect.

Parâmetros

displace

The amount to displace the colormap.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Deciphers an image

  • « Imagick::cycleColormapImage
  • Imagick::deconstructImages »
  • PHP Manual
  • Imagick
  • Deciphers an image

Imagick::decipherImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::decipherImage — Deciphers an image

Descrição

public Imagick::decipherImage ( string $passphrase ) : bool

Deciphers image that has been enciphered before. The image must be enciphered using Imagick::encipherImage(). Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.9 ou superior.

Parâmetros

passphrase

The passphrase

Valor Retornado

Retorna true no sucesso.

Veja Também

  • Imagick::encipherImage() - Enciphers an image


Returns certain pixel differences between images

  • « Imagick::decipherImage
  • Imagick::deleteImageArtifact »
  • PHP Manual
  • Imagick
  • Returns certain pixel differences between images

Imagick::deconstructImages

(PECL imagick 2, PECL imagick 3)

Imagick::deconstructImages — Returns certain pixel differences between images

Descrição

public Imagick::deconstructImages ( ) : Imagick

Compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers.

Valor Retornado

Returns a new Imagick object on success.

Erros

Lança ImagickException em caso de erro.


Delete image artifact

  • « Imagick::deconstructImages
  • Imagick::deleteImageProperty »
  • PHP Manual
  • Imagick
  • Delete image artifact

Imagick::deleteImageArtifact

(PECL imagick 3)

Imagick::deleteImageArtifact — Delete image artifact

Descrição

public Imagick::deleteImageArtifact ( string $artifact ) : bool

Deletes an artifact associated with the image. The difference between image properties and image artifacts is that properties are public and artifacts are private. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.5.7 ou superior.

Parâmetros

artifact

The name of the artifact to delete

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Veja Também

  • Imagick::setImageArtifact() - Set image artifact
  • Imagick::getImageArtifact() - Get image artifact


Description

  • « Imagick::deleteImageArtifact
  • Imagick::deskewImage »
  • PHP Manual
  • Imagick
  • Description

Imagick::deleteImageProperty

(PECL imagick 3 >= 3.3.0)

Imagick::deleteImageProperty — Description

Descrição

public Imagick::deleteImageProperty ( string $name ) : bool

Deletes an image property.

Parâmetros

name

The name of the property to delete.

Valor Retornado

Retorna true no sucesso.


Removes skew from the image

  • « Imagick::deleteImageProperty
  • Imagick::despeckleImage »
  • PHP Manual
  • Imagick
  • Removes skew from the image

Imagick::deskewImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3 >= 3.3.0)

Imagick::deskewImage — Removes skew from the image

Descrição

public Imagick::deskewImage ( float $threshold ) : bool

This method can be used to remove skew from for example scanned images where the paper was not properly placed on the scanning surface. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.5 ou superior.

Parâmetros

threshold

Deskew threshold

Valor Retornado

Exemplos

Exemplo #1 Imagick::deskewImage()

<?php
function deskewImage($threshold) {
    $imagick = new \Imagick(realpath("images/NYTimes-Page1-11-11-1918.jpg"));
    $deskewImagick = clone $imagick;

    //This is the only thing required for deskewing.
    $deskewImagick->deskewImage($threshold);

    //The rest of this example is to make the result obvious - because
    //otherwise the result is not obvious.
    $trim = 9;

    $deskewImagick->cropImage($deskewImagick->getImageWidth() - $trim, $deskewImagick->getImageHeight(), $trim, 0);
    $imagick->cropImage($imagick->getImageWidth() - $trim, $imagick->getImageHeight(), $trim, 0);
    $deskewImagick->resizeimage($deskewImagick->getImageWidth() / 2, $deskewImagick->getImageHeight() / 2, \Imagick::FILTER_LANCZOS, 1);
    $imagick->resizeimage($imagick->getImageWidth() / 2, $imagick->getImageHeight() / 2, \Imagick::FILTER_LANCZOS, 1);
    $newCanvas = new \Imagick();
    $newCanvas->newimage($imagick->getImageWidth() + $deskewImagick->getImageWidth() + 20, $imagick->getImageHeight(), 'red', 'jpg');
    $newCanvas->compositeimage($imagick, \Imagick::COMPOSITE_COPY, 5, 0);
    $newCanvas->compositeimage($deskewImagick, \Imagick::COMPOSITE_COPY, $imagick->getImageWidth() + 10, 0);

    header("Content-Type: image/jpg");
    echo $newCanvas->getImageBlob();
}

?>


Reduces the speckle noise in an image

  • « Imagick::deskewImage
  • Imagick::destroy »
  • PHP Manual
  • Imagick
  • Reduces the speckle noise in an image

Imagick::despeckleImage

(PECL imagick 2, PECL imagick 3)

Imagick::despeckleImage — Reduces the speckle noise in an image

Descrição

public Imagick::despeckleImage ( ) : bool

Reduces the speckle noise in an image while preserving the edges of the original image.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::despeckleImage()

<?php
function despeckleImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->despeckleImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Destroys the Imagick object

  • « Imagick::despeckleImage
  • Imagick::displayImage »
  • PHP Manual
  • Imagick
  • Destroys the Imagick object

Imagick::destroy

(PECL imagick 2, PECL imagick 3)

Imagick::destroy — Destroys the Imagick object

Descrição

public Imagick::destroy ( ) : bool

Destroys the Imagick object and frees all resources associated with it. This method is deprecated in favour of Imagick::clear.

Valor Retornado

Retorna true no sucesso.


Displays an image

  • « Imagick::destroy
  • Imagick::displayImages »
  • PHP Manual
  • Imagick
  • Displays an image

Imagick::displayImage

(PECL imagick 2, PECL imagick 3)

Imagick::displayImage — Displays an image

Descrição

public Imagick::displayImage ( string $servername ) : bool

This method displays an image on a X server.

Parâmetros

servername

The X server name

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Displays an image or image sequence

  • « Imagick::displayImage
  • Imagick::distortImage »
  • PHP Manual
  • Imagick
  • Displays an image or image sequence

Imagick::displayImages

(PECL imagick 2, PECL imagick 3)

Imagick::displayImages — Displays an image or image sequence

Descrição

public Imagick::displayImages ( string $servername ) : bool

Displays an image or image sequence on a X server.

Parâmetros

servername

The X server name

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Distorts an image using various distortion methods

  • « Imagick::displayImages
  • Imagick::drawImage »
  • PHP Manual
  • Imagick
  • Distorts an image using various distortion methods

Imagick::distortImage

(PECL imagick 2 >= 2.0.1, PECL imagick 3)

Imagick::distortImage — Distorts an image using various distortion methods

Descrição

public Imagick::distortImage ( int $method , array $arguments , bool $bestfit ) : bool

Distorts an image using various distortion methods, by mapping color lookups of the source image to a new destination image usually of the same size as the source image, unless 'bestfit' is set to true.

If 'bestfit' is enabled, and distortion allows it, the destination image is adjusted to ensure the whole source 'image' will just fit within the final destination image, which will be sized and offset accordingly. Also in many cases the virtual offset of the source image will be taken into account in the mapping.

Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.6 ou superior.

Parâmetros

method

The method of image distortion. See distortion constants

arguments

The arguments for this distortion method

bestfit

Attempt to resize destination to fit distorted source

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Using Imagick::distortImage():

Distort an image and display to the browser.

<?php
/* Create new object */
$im = new Imagick();

/* Create new checkerboard pattern */
$im->newPseudoImage(100, 100, "pattern:checkerboard");

/* Set the image format to png */
$im->setImageFormat('png');

/* Fill new visible areas with transparent */
$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);

/* Activate matte */
$im->setImageMatte(true);

/* Control points for the distortion */
$controlPoints = array( 10, 10,
                        10, 5,

                        10, $im->getImageHeight() - 20,
                        10, $im->getImageHeight() - 5,

                        $im->getImageWidth() - 10, 10,
                        $im->getImageWidth() - 10, 20,

                        $im->getImageWidth() - 10, $im->getImageHeight() - 10,
                        $im->getImageWidth() - 10, $im->getImageHeight() - 30);

/* Perform the distortion */
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE, $controlPoints, true);

/* Ouput the image */
header("Content-Type: image/png");
echo $im;
?>

O exemplo acima irá imprimir algo similar à:

Output of example : Using Imagick::distortImage()

Veja Também

  • Imagick::blurImage() - Adds blur filter to image
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image


Renders the ImagickDraw object on the current image

  • « Imagick::distortImage
  • Imagick::edgeImage »
  • PHP Manual
  • Imagick
  • Renders the ImagickDraw object on the current image

Imagick::drawImage

(PECL imagick 2, PECL imagick 3)

Imagick::drawImage — Renders the ImagickDraw object on the current image

Descrição

public Imagick::drawImage ( ImagickDraw $draw ) : bool

Renders the ImagickDraw object on the current image.

Parâmetros

draw

The drawing operations to render on the image.

Valor Retornado

Retorna true no sucesso.


Enhance edges within the image

  • « Imagick::drawImage
  • Imagick::embossImage »
  • PHP Manual
  • Imagick
  • Enhance edges within the image

Imagick::edgeImage

(PECL imagick 2, PECL imagick 3)

Imagick::edgeImage — Enhance edges within the image

Descrição

public Imagick::edgeImage ( float $radius ) : bool

Enhance edges within the image with a convolution filter of the given radius. Use radius 0 and it will be auto-selected.

Parâmetros

radius

The radius of the operation.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::edgeImage()

<?php
function edgeImage($imagePath, $radius) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->edgeImage($radius);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Returns a grayscale image with a three-dimensional effect

  • « Imagick::edgeImage
  • Imagick::encipherImage »
  • PHP Manual
  • Imagick
  • Returns a grayscale image with a three-dimensional effect

Imagick::embossImage

(PECL imagick 2, PECL imagick 3)

Imagick::embossImage — Returns a grayscale image with a three-dimensional effect

Descrição

public Imagick::embossImage ( float $radius , float $sigma ) : bool

Returns a grayscale image with a three-dimensional effect. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and it will choose a suitable radius for you.

Parâmetros

radius

The radius of the effect

sigma

The sigma of the effect

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::embossImage()

<?php
function embossImage($imagePath, $radius, $sigma) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->embossImage($radius, $sigma);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Enciphers an image

  • « Imagick::embossImage
  • Imagick::enhanceImage »
  • PHP Manual
  • Imagick
  • Enciphers an image

Imagick::encipherImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::encipherImage — Enciphers an image

Descrição

public Imagick::encipherImage ( string $passphrase ) : bool

Converts plain pixels to enciphered pixels. The image is not readable until it has been deciphered using Imagick::decipherImage() Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.9 ou superior.

Parâmetros

passphrase

The passphrase

Valor Retornado

Retorna true no sucesso.

Veja Também

  • Imagick::decipherImage() - Deciphers an image


Improves the quality of a noisy image

  • « Imagick::encipherImage
  • Imagick::equalizeImage »
  • PHP Manual
  • Imagick
  • Improves the quality of a noisy image

Imagick::enhanceImage

(PECL imagick 2, PECL imagick 3)

Imagick::enhanceImage — Improves the quality of a noisy image

Descrição

public Imagick::enhanceImage ( ) : bool

Applies a digital filter that improves the quality of a noisy image.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::enhanceImage()

<?php
function enhanceImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->enhanceImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Equalizes the image histogram

  • « Imagick::enhanceImage
  • Imagick::evaluateImage »
  • PHP Manual
  • Imagick
  • Equalizes the image histogram

Imagick::equalizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::equalizeImage — Equalizes the image histogram

Descrição

public Imagick::equalizeImage ( ) : bool

Equalizes the image histogram.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::equalizeImage()

<?php
function equalizeImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->equalizeImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Applies an expression to an image

  • « Imagick::equalizeImage
  • Imagick::exportImagePixels »
  • PHP Manual
  • Imagick
  • Applies an expression to an image

Imagick::evaluateImage

(PECL imagick 2, PECL imagick 3)

Imagick::evaluateImage — Applies an expression to an image

Descrição

public Imagick::evaluateImage ( int $op , float $constant , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Applys an arithmetic, relational, or logical expression to an image. Use these operators to lighten or darken an image, to increase or decrease contrast in an image, or to produce the "negative" of an image.

Parâmetros

op

The evaluation operator

constant

The value of the operator

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Exemplos

Exemplo #1 Using Imagick::evaluateImage()

Using evaluateImage to reduce opacity in an image.

<?php
// Create new object with the image
$im = new Imagick('example-alpha.png');

// Reduce the alpha by 50%
$im->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA);

// Output the image
header("Content-Type: image/png");
echo $im;
?>

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Exports raw image pixels

  • « Imagick::evaluateImage
  • Imagick::extentImage »
  • PHP Manual
  • Imagick
  • Exports raw image pixels

Imagick::exportImagePixels

(PECL imagick 2 >=2.3.0, PECL imagick 3)

Imagick::exportImagePixels — Exports raw image pixels

Descrição

public Imagick::exportImagePixels ( int $x , int $y , int $width , int $height , string $map , int $STORAGE ) : array

Exports image pixels into an array. The map defines the ordering of the exported pixels. The size of the returned array is width * height * strlen(map). Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.7 ou superior.

Parâmetros

x

X-coordinate of the exported area

y

Y-coordinate of the exported area

width

Width of the exported aread

height

Height of the exported area

map

Ordering of the exported pixels. For example "RGB". Valid characters for the map are R, G, B, A, O, C, Y, M, K, I and P.

STORAGE

Refer to this list of pixel type constants

Exemplos

Exemplo #1 Using Imagick::exportImagePixels()

Export image pixels into an array

<?php

/* Create new object */
$im = new Imagick();

/* Create new image */
$im->newPseudoImage(0, 0, "magick:rose");

/* Export the image pixels */
$pixels = $im->exportImagePixels(10, 10, 2, 2, "RGB", Imagick::PIXEL_CHAR);

/* Output */
var_dump($pixels);
?>

O exemplo acima irá imprimir:

array(12) {
  [0]=>
  int(72)
  [1]=>
  int(64)
  [2]=>
  int(57)
  [3]=>
  int(69)
  [4]=>
  int(59)
  [5]=>
  int(43)
  [6]=>
  int(124)
  [7]=>
  int(120)
  [8]=>
  int(-96)
  [9]=>
  int(91)
  [10]=>
  int(84)
  [11]=>
  int(111)
}

Valor Retornado

Returns an array containing the pixels values.

Erros

Lança ImagickException em caso de erro.


Set image size

  • « Imagick::exportImagePixels
  • Imagick::filter »
  • PHP Manual
  • Imagick
  • Set image size

Imagick::extentImage

(PECL imagick 2, PECL imagick 3)

Imagick::extentImage — Set image size

Descrição

public Imagick::extentImage ( int $width , int $height , int $x , int $y ) : bool

Comfortability method for setting image size. The method sets the image size and allows setting x,y coordinates where the new area begins. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.1 ou superior.

Cuidado

Prior to ImageMagick 6.5.7-8 (1623), $x was positive when shifting to the left and negative when shifting to the right, and $y was positive when shifting an image up and negative when shifting an image down. Somewhere betwen ImageMagick 6.3.7 (1591) and ImageMagick 6.5.7-8 (1623), the axes of $x and $y were flipped, so that $x was negative when shifting to the left and positive when shifting to the right, and $y was negative when shifting an image up and positive when shifting an image down. Somewhere between ImageMagick 6.5.7-8 (1623) and ImageMagick 6.6.9-7 (1641), the axes of $x and $y were flipped back to pre-ImageMagick 6.5.7-8 (1623) functionality.

Parâmetros

width

The new width

height

The new height

x

X position for the new size

y

Y position for the new size

Valor Retornado

Retorna true no sucesso.

Veja Também

  • Imagick::resizeImage() - Scales an image
  • Imagick::thumbnailImage() - Changes the size of an image
  • Imagick::cropImage() - Extracts a region of the image


Description

  • « Imagick::extentImage
  • Imagick::flattenImages »
  • PHP Manual
  • Imagick
  • Description

Imagick::filter

(PECL imagick 3 >= 3.3.0)

Imagick::filter — Description

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::filter ( ImagickKernel $ImagickKernel , int $channel = Imagick::CHANNEL_UNDEFINED ) : bool

Applies a custom convolution kernel to the image.

Parâmetros

ImagickKernel

An instance of ImagickKernel that represents either a single kernel or a linked series of kernels.

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::filter()

<?php
function filter($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $matrix = [
        [-1, 0, -1],
        [0,  5,  0],
        [-1, 0, -1],
    ];

    $kernel = \ImagickKernel::fromMatrix($matrix);
    $strength = 0.5;
    $kernel->scale($strength, \Imagick::NORMALIZE_KERNEL_VALUE);
    $kernel->addUnityKernel(1 - $strength);

    $imagick->filter($kernel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Merges a sequence of images

  • « Imagick::filter
  • Imagick::flipImage »
  • PHP Manual
  • Imagick
  • Merges a sequence of images

Imagick::flattenImages

(PECL imagick 2, PECL imagick 3)

Imagick::flattenImages — Merges a sequence of images

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::flattenImages ( ) : Imagick

Merges a sequence of images. This is useful for combining Photoshop layers into a single image.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Creates a vertical mirror image

  • « Imagick::flattenImages
  • Imagick::floodFillPaintImage »
  • PHP Manual
  • Imagick
  • Creates a vertical mirror image

Imagick::flipImage

(PECL imagick 2, PECL imagick 3)

Imagick::flipImage — Creates a vertical mirror image

Descrição

public Imagick::flipImage ( ) : bool

Creates a vertical mirror image by reflecting the pixels around the central x-axis.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::flipImage()

<?php
function flipImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->flipImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Changes the color value of any pixel that matches target

  • « Imagick::flipImage
  • Imagick::flopImage »
  • PHP Manual
  • Imagick
  • Changes the color value of any pixel that matches target

Imagick::floodFillPaintImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target

Descrição

public Imagick::floodFillPaintImage ( mixed $fill , float $fuzz , mixed $target , int $x , int $y , bool $invert , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Changes the color value of any pixel that matches target and is an immediate neighbor. This method is a replacement for deprecated Imagick::paintFloodFillImage(). Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.8 ou superior.

Parâmetros

fill

ImagickPixel object or a string containing the fill color

fuzz

A quantidade de variação (fuzz). Por exemplo no fuzz de 10 a cor vermelha nas intensidades 100 e 102 são interpretadas como a mesma cor.

target

ImagickPixel object or a string containing the target color to paint

x

X start position of the floodfill

y

Y start position of the floodfill

invert

If true paints any pixel that does not match the target color.

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::floodfillPaintImage() example

<?php

/* Create new imagick object */
$im = new Imagick();

/* create red, green and blue images */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Append the images into one */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Save the intermediate image for comparison */
$combined->writeImage("floodfillpaint_intermediate.png");

/* The target pixel to paint */
$x = 1;
$y = 1;

/* Get the color we are painting */
$target = $combined->getImagePixelColor($x, $y);

/* Paints pixel in position 1,1 black and all neighboring
   pixels that match the target color */
$combined->floodfillPaintImage("black", 1, $target, $x, $y, false);

/* Save the result */
$combined->writeImage("floodfillpaint_result.png");
?>

O exemplo acima irá imprimir algo similar à:

Output of example : Imagick::floodfillPaintImage()
Output of example : Imagick::floodfillPaintImage()


Creates a vertical mirror image

  • « Imagick::floodFillPaintImage
  • Imagick::forwardFourierTransformImage »
  • PHP Manual
  • Imagick
  • Creates a vertical mirror image

Imagick::flopImage

(PECL imagick 2, PECL imagick 3)

Imagick::flopImage — Creates a vertical mirror image

Descrição

public Imagick::flopImage ( ) : bool

Creates a vertical mirror image by reflecting the pixels around the central y-axis.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::flopImage()

<?php
function flopImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->flopImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Description

  • « Imagick::flopImage
  • Imagick::frameImage »
  • PHP Manual
  • Imagick
  • Description

Imagick::forwardFourierTransformImage

(PECL imagick 3 >= 3.3.0)

Imagick::forwardFourierTransformImage — Description

Descrição

public Imagick::forwardFourierTransformimage ( bool $magnitude ) : bool

Implements the discrete Fourier transform (DFT) of the image either as a magnitude / phase or real / imaginary image pair.

Parâmetros

magnitude

If true, return as magnitude / phase pair otherwise a real / imaginary image pair.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::forwardFourierTransformImage()

<?php
//Utility function for forwardTransformImage
function createMask() {
    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(0);
    $draw->setStrokeColor('rgb(255, 255, 255)');
    $draw->setFillColor('rgb(255, 255, 255)');

    //Draw a circle on the y-axis, with it's centre
    //at x, y that touches the origin
    $draw->circle(250, 250, 220, 250);

    $imagick = new \Imagick();
    $imagick->newImage(512, 512, "black");
    $imagick->drawImage($draw);
    $imagick->gaussianBlurImage(20, 20);
    $imagick->autoLevelImage();

    return $imagick;
}

function forwardFourierTransformImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->resizeimage(512, 512, \Imagick::FILTER_LANCZOS, 1);

    $mask = createMask();
    $imagick->forwardFourierTransformImage(true);

    @$imagick->setimageindex(0);
    $magnitude = $imagick->getimage();

    @$imagick->setimageindex(1);
    $imagickPhase = $imagick->getimage();

    if (true) {
        $imagickPhase->compositeImage($mask, \Imagick::COMPOSITE_MULTIPLY, 0, 0);
    }

    if (false) {
        $output = clone $imagickPhase;
        $output->setimageformat('png');
        header("Content-Type: image/png");
        echo $output->getImageBlob();
    }

    $magnitude->inverseFourierTransformImage($imagickPhase, true);

    $magnitude->setimageformat('png');
    header("Content-Type: image/png");
    echo $magnitude->getImageBlob();
}

?>


Adds a simulated three-dimensional border

  • « Imagick::forwardFourierTransformImage
  • Imagick::functionImage »
  • PHP Manual
  • Imagick
  • Adds a simulated three-dimensional border

Imagick::frameImage

(PECL imagick 2, PECL imagick 3)

Imagick::frameImage — Adds a simulated three-dimensional border

Descrição

public Imagick::frameImage ( mixed $matte_color , int $width , int $height , int $inner_bevel , int $outer_bevel ) : bool

Adds a simulated three-dimensional border around the image. The width and height specify the border width of the vertical and horizontal sides of the frame. The inner and outer bevels indicate the width of the inner and outer shadows of the frame.

Parâmetros

matte_color

ImagickPixel object or a string representing the matte color

width

The width of the border

height

The height of the border

inner_bevel

The inner bevel width

outer_bevel

The outer bevel width

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Exemplos

Exemplo #1 Imagick::frameImage()

<?php
function frameImage($imagePath, $color, $width, $height, $innerBevel, $outerBevel) {
    $imagick = new \Imagick(realpath($imagePath));

    $width = $width + $innerBevel + $outerBevel;
    $height = $height + $innerBevel + $outerBevel;

    $imagick->frameimage(
        $color,
        $width,
        $height,
        $innerBevel,
        $outerBevel
    );
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Applies a function on the image

  • « Imagick::frameImage
  • Imagick::fxImage »
  • PHP Manual
  • Imagick
  • Applies a function on the image

Imagick::functionImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::functionImage — Applies a function on the image

Descrição

public Imagick::functionImage ( int $function , array $arguments , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Applies an arithmetic, relational, or logical expression to a pseudo image.

See also » ImageMagick v6 Examples - Image Transformations — Function, Multi-Argument Evaluate

Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.9 ou superior.

Parâmetros

function

Refer to this list of function constants

arguments

Array of arguments to pass to this function.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Create a sinusoidal gradient

<?php
$imagick = new Imagick();
$imagick->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(3, -90);
$imagick->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);

header("Content-Type: image/png");
$imagick->setImageFormat("png");
echo $imagick->getImageBlob();
?>

O exemplo acima irá imprimir algo similar à:

Output of create a sinusoidal gradient

Exemplo #2 Create a gradient from the polynomial (4x^2 - 4x + 1)

<?php
$imagick = new Imagick();
$imagick->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(4, -4, 1);
$imagick->functionImage(Imagick::FUNCTION_POLYNOMIAL, $arguments);

header("Content-Type: image/png");
$imagick->setimageformat("png");
echo $imagick->getImageBlob();
?>

O exemplo acima irá imprimir algo similar à:

Output of create a polynomial gradient

Exemplo #3 Create a complex gradient from the polynomial (4x^2 - 4x^2 + 1) modulated by a sinusoidal gradient

<?php
$imagick1 = new Imagick();
$imagick1->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(9, -90);
$imagick1->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);

$imagick2 = new Imagick();
$imagick2->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(0.5, 0);
$imagick2->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);
$imagick1->compositeimage($imagick2, Imagick::COMPOSITE_MULTIPLY, 0, 0);

header("Content-Type: image/png");
$imagick1->setImageFormat("png");
echo $imagick1->getImageBlob();
?>

O exemplo acima irá imprimir algo similar à:

Output of create complex gradient


Evaluate expression for each pixel in the image

  • « Imagick::functionImage
  • Imagick::gammaImage »
  • PHP Manual
  • Imagick
  • Evaluate expression for each pixel in the image

Imagick::fxImage

(PECL imagick 2, PECL imagick 3)

Imagick::fxImage — Evaluate expression for each pixel in the image

Descrição

public Imagick::fxImage ( string $expression , int $channel = Imagick::CHANNEL_DEFAULT ) : Imagick

Evaluate expression for each pixel in the image. Consult » The Fx Special Effects Image Operator for more information.

Parâmetros

expression

The expression.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::fxImage()

<?php
function fxImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(200, 200, "xc:white");

    $fx = 'xx=i-w/2; yy=j-h/2; rr=hypot(xx,yy); (.5-rr/140)*1.2+.5';
    $fxImage = $imagick->fxImage($fx);

    header("Content-Type: image/png");
    $fxImage->setimageformat('png');
    echo $fxImage->getImageBlob();
}

?>


Gamma-corrects an image

  • « Imagick::fxImage
  • Imagick::gaussianBlurImage »
  • PHP Manual
  • Imagick
  • Gamma-corrects an image

Imagick::gammaImage

(PECL imagick 2, PECL imagick 3)

Imagick::gammaImage — Gamma-corrects an image

Descrição

public Imagick::gammaImage ( float $gamma , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Gamma-corrects an image. The same image viewed on different devices will have perceptual differences in the way the image's intensities are represented on the screen. Specify individual gamma levels for the red, green, and blue channels, or adjust all three with the gamma parameter. Values typically range from 0.8 to 2.3.

Parâmetros

gamma

The amount of gamma-correction.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::gammaImage()

<?php
function gammaImage($imagePath, $gamma, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->gammaImage($gamma, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Blurs an image

  • « Imagick::gammaImage
  • Imagick::getColorspace »
  • PHP Manual
  • Imagick
  • Blurs an image

Imagick::gaussianBlurImage

(PECL imagick 2, PECL imagick 3)

Imagick::gaussianBlurImage — Blurs an image

Descrição

public Imagick::gaussianBlurImage ( float $radius , float $sigma , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Blurs an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and selects a suitable radius for you.

Parâmetros

radius

The radius of the Gaussian, in pixels, not counting the center pixel.

sigma

The standard deviation of the Gaussian, in pixels.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::gaussianBlurImage()

<?php
function gaussianBlurImage($imagePath, $radius, $sigma, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->gaussianBlurImage($radius, $sigma, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Gets the colorspace

  • « Imagick::gaussianBlurImage
  • Imagick::getCompression »
  • PHP Manual
  • Imagick
  • Gets the colorspace

Imagick::getColorspace

(PECL imagick 3)

Imagick::getColorspace — Gets the colorspace

Descrição

public Imagick::getColorspace ( ) : int

Gets the global colorspace value. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.5.7 ou superior.

Valor Retornado

Returns an integer which can be compared against COLORSPACE constants.


Gets the object compression type

  • « Imagick::getColorspace
  • Imagick::getCompressionQuality »
  • PHP Manual
  • Imagick
  • Gets the object compression type

Imagick::getCompression

(PECL imagick 2, PECL imagick 3)

Imagick::getCompression — Gets the object compression type

Descrição

public Imagick::getCompression ( ) : int

Gets the object compression type.

Valor Retornado

Returns the compression constant


Gets the object compression quality

  • « Imagick::getCompression
  • Imagick::getCopyright »
  • PHP Manual
  • Imagick
  • Gets the object compression quality

Imagick::getCompressionQuality

(PECL imagick 2, PECL imagick 3)

Imagick::getCompressionQuality — Gets the object compression quality

Descrição

public Imagick::getCompressionQuality ( ) : int

Gets the object compression quality.

Valor Retornado

Returns integer describing the compression quality


Returns the ImageMagick API copyright as a string

  • « Imagick::getCompressionQuality
  • Imagick::getFilename »
  • PHP Manual
  • Imagick
  • Returns the ImageMagick API copyright as a string

Imagick::getCopyright

(PECL imagick 2, PECL imagick 3)

Imagick::getCopyright — Returns the ImageMagick API copyright as a string

Descrição

public static Imagick::getCopyright ( ) : string

Returns the ImageMagick API copyright as a string.

Valor Retornado

Returns a string containing the copyright notice of Imagemagick and Magickwand C API.


The filename associated with an image sequence

  • « Imagick::getCopyright
  • Imagick::getFont »
  • PHP Manual
  • Imagick
  • The filename associated with an image sequence

Imagick::getFilename

(PECL imagick 2, PECL imagick 3)

Imagick::getFilename — The filename associated with an image sequence

Descrição

public Imagick::getFilename ( ) : string

Returns the filename associated with an image sequence.

Valor Retornado

Returns a string on success.

Erros

Lança ImagickException em caso de erro.


Gets font

  • « Imagick::getFilename
  • Imagick::getFormat »
  • PHP Manual
  • Imagick
  • Gets font

Imagick::getFont

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::getFont — Gets font

Descrição

public Imagick::getFont ( ) : string

Returns the objects font property. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.7 ou superior.

Valor Retornado

Returns the string containing the font name or false if not font is set.

Veja Também

  • Imagick::setFont() - Sets font
  • ImagickDraw::setFont() - Sets the fully-specified font to use when annotating with text
  • ImagickDraw::getFont() - Returns the font


Returns the format of the Imagick object

  • « Imagick::getFont
  • Imagick::getGravity »
  • PHP Manual
  • Imagick
  • Returns the format of the Imagick object

Imagick::getFormat

(PECL imagick 2, PECL imagick 3)

Imagick::getFormat — Returns the format of the Imagick object

Descrição

public Imagick::getFormat ( ) : string

Returns the format of the Imagick object.

Valor Retornado

Returns the format of the image.

Erros

Lança ImagickException em caso de erro.


Gets the gravity

  • « Imagick::getFormat
  • Imagick::getHomeURL »
  • PHP Manual
  • Imagick
  • Gets the gravity

Imagick::getGravity

(PECL imagick 2, PECL imagick 3)

Imagick::getGravity — Gets the gravity

Descrição

public Imagick::getGravity ( ) : int

Gets the global gravity property for the Imagick object. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.0 ou superior.

Valor Retornado

Returns the gravity property. Refer to the list of gravity constants.


Returns the ImageMagick home URL

  • « Imagick::getGravity
  • Imagick::getImage »
  • PHP Manual
  • Imagick
  • Returns the ImageMagick home URL

Imagick::getHomeURL

(PECL imagick 2, PECL imagick 3)

Imagick::getHomeURL — Returns the ImageMagick home URL

Descrição

public static Imagick::getHomeURL ( ) : string

Returns the ImageMagick home URL.

Valor Retornado

Returns a link to the imagemagick homepage.


Returns a new Imagick object

  • « Imagick::getHomeURL
  • Imagick::getImageAlphaChannel »
  • PHP Manual
  • Imagick
  • Returns a new Imagick object

Imagick::getImage

(PECL imagick 2, PECL imagick 3)

Imagick::getImage — Returns a new Imagick object

Descrição

public Imagick::getImage ( ) : Imagick

Returns a new Imagick object with the current image sequence.

Valor Retornado

Returns a new Imagick object with the current image sequence.

Erros

Lança ImagickException em caso de erro.


Gets the image alpha channel

  • « Imagick::getImage
  • Imagick::getImageArtifact »
  • PHP Manual
  • Imagick
  • Gets the image alpha channel

Imagick::getImageAlphaChannel

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::getImageAlphaChannel — Gets the image alpha channel

Descrição

public Imagick::getImageAlphaChannel ( ) : int

Gets the image alpha channel value. The returned value is one of the alpha channel constants. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.0 ou superior.

Valor Retornado

Returns a constant defining the current alpha channel value. Refer to this list of alpha channel constants.

Erros

Lança ImagickException em caso de erro.


Get image artifact

  • « Imagick::getImageAlphaChannel
  • Imagick::getImageAttribute »
  • PHP Manual
  • Imagick
  • Get image artifact

Imagick::getImageArtifact

(PECL imagick 3)

Imagick::getImageArtifact — Get image artifact

Descrição

public Imagick::getImageArtifact ( string $artifact ) : string

Gets an artifact associated with the image. The difference between image properties and image artifacts is that properties are public and artifacts are private. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.5.7 ou superior.

Parâmetros

artifact

The name of the artifact

Valor Retornado

Returns the artifact value on success.

Erros

Lança ImagickException em caso de erro.

Veja Também

  • Imagick::setImageArtifact() - Set image artifact
  • Imagick::deleteImageArtifact() - Delete image artifact


Description

  • « Imagick::getImageArtifact
  • Imagick::getImageBackgroundColor »
  • PHP Manual
  • Imagick
  • Description

Imagick::getImageAttribute

(PECL imagick 2, PECL imagick 3)

Imagick::getImageAttribute — Description

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::getImageAttribute ( string $key ) : string

Returns a named attribute.

Parâmetros

key

The key of the attribute to get.

Valor Retornado


Returns the image background color

  • « Imagick::getImageAttribute
  • Imagick::getImageBlob »
  • PHP Manual
  • Imagick
  • Returns the image background color

Imagick::getImageBackgroundColor

(PECL imagick 2, PECL imagick 3)

Imagick::getImageBackgroundColor — Returns the image background color

Descrição

public Imagick::getImageBackgroundColor ( ) : ImagickPixel

Returns the image background color.

Valor Retornado

Returns an ImagickPixel set to the background color of the image.

Erros

Lança ImagickException em caso de erro.


Returns the image sequence as a blob

  • « Imagick::getImageBackgroundColor
  • Imagick::getImageBluePrimary »
  • PHP Manual
  • Imagick
  • Returns the image sequence as a blob

Imagick::getImageBlob

(PECL imagick 2, PECL imagick 3)

Imagick::getImageBlob — Returns the image sequence as a blob

Descrição

public Imagick::getImageBlob ( ) : string

Implements direct to memory image formats. It returns the image sequence as a string. The format of the image determines the format of the returned blob (GIF, JPEG, PNG, etc.). To return a different image format, use Imagick::setImageFormat().

Valor Retornado

Returns a string containing the image.

Erros

Lança ImagickException em caso de erro.


Returns the chromaticy blue primary point

  • « Imagick::getImageBlob
  • Imagick::getImageBorderColor »
  • PHP Manual
  • Imagick
  • Returns the chromaticy blue primary point

Imagick::getImageBluePrimary

(PECL imagick 2, PECL imagick 3)

Imagick::getImageBluePrimary — Returns the chromaticy blue primary point

Descrição

public Imagick::getImageBluePrimary ( ) : array

Returns the chromaticity blue primary point for the image.

Parâmetros

x

The chromaticity blue primary x-point.

y

The chromaticity blue primary y-point.

Valor Retornado

Array consisting of "x" and "y" coordinates of point.

Erros

Lança ImagickException em caso de erro.


Returns the image border color

  • « Imagick::getImageBluePrimary
  • Imagick::getImageChannelDepth »
  • PHP Manual
  • Imagick
  • Returns the image border color

Imagick::getImageBorderColor

(PECL imagick 2, PECL imagick 3)

Imagick::getImageBorderColor — Returns the image border color

Descrição

public Imagick::getImageBorderColor ( ) : ImagickPixel

Returns the image border color.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Gets the depth for a particular image channel

  • « Imagick::getImageBorderColor
  • Imagick::getImageChannelDistortion »
  • PHP Manual
  • Imagick
  • Gets the depth for a particular image channel

Imagick::getImageChannelDepth

(PECL imagick 2, PECL imagick 3)

Imagick::getImageChannelDepth — Gets the depth for a particular image channel

Descrição

public Imagick::getImageChannelDepth ( int $channel ) : int

Gets the depth for a particular image channel.

Parâmetros

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Retorna true no sucesso.


Compares image channels of an image to a reconstructed image

  • « Imagick::getImageChannelDepth
  • Imagick::getImageChannelDistortions »
  • PHP Manual
  • Imagick
  • Compares image channels of an image to a reconstructed image

Imagick::getImageChannelDistortion

(PECL imagick 2, PECL imagick 3)

Imagick::getImageChannelDistortion — Compares image channels of an image to a reconstructed image

Descrição

public Imagick::getImageChannelDistortion ( Imagick $reference , int $channel , int $metric ) : float

Compares one or more image channels of an image to a reconstructed image and returns the specified distortion metric.

Parâmetros

reference

Imagick object to compare to.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

metric

One of the metric type constants.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Gets channel distortions

  • « Imagick::getImageChannelDistortion
  • Imagick::getImageChannelExtrema »
  • PHP Manual
  • Imagick
  • Gets channel distortions

Imagick::getImageChannelDistortions

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::getImageChannelDistortions — Gets channel distortions

Descrição

public Imagick::getImageChannelDistortions ( Imagick $reference , int $metric , int $channel = Imagick::CHANNEL_DEFAULT ) : float

Compares one or more image channels of an image to a reconstructed image and returns the specified distortion metrics Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.4 ou superior.

Parâmetros

reference

Imagick object containing the reference image

metric

Refer to this list of metric type constants.

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Returns a double describing the channel distortion.

Erros

Lança ImagickException em caso de erro.


Gets the extrema for one or more image channels

  • « Imagick::getImageChannelDistortions
  • Imagick::getImageChannelKurtosis »
  • PHP Manual
  • Imagick
  • Gets the extrema for one or more image channels

Imagick::getImageChannelExtrema

(PECL imagick 2, PECL imagick 3)

Imagick::getImageChannelExtrema — Gets the extrema for one or more image channels

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::getImageChannelExtrema ( int $channel ) : array

Gets the extrema for one or more image channels. Return value is an associative array with the keys "minima" and "maxima".

Parâmetros

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


The getImageChannelKurtosis purpose

  • « Imagick::getImageChannelExtrema
  • Imagick::getImageChannelMean »
  • PHP Manual
  • Imagick
  • The getImageChannelKurtosis purpose

Imagick::getImageChannelKurtosis

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose

Descrição

public Imagick::getImageChannelKurtosis ( int $channel = Imagick::CHANNEL_DEFAULT ) : array

Get the kurtosis and skewness of a specific channel. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.9 ou superior.

Parâmetros

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Returns an array with kurtosis and skewness members.

Erros

Lança ImagickException em caso de erro.


Gets the mean and standard deviation

  • « Imagick::getImageChannelKurtosis
  • Imagick::getImageChannelRange »
  • PHP Manual
  • Imagick
  • Gets the mean and standard deviation

Imagick::getImageChannelMean

(PECL imagick 2, PECL imagick 3)

Imagick::getImageChannelMean — Gets the mean and standard deviation

Descrição

public Imagick::getImageChannelMean ( int $channel ) : array

Gets the mean and standard deviation of one or more image channels.

Parâmetros

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Returns an array with "mean" and "standardDeviation" members.

Erros

Lança ImagickException em caso de erro.


Gets channel range

  • « Imagick::getImageChannelMean
  • Imagick::getImageChannelStatistics »
  • PHP Manual
  • Imagick
  • Gets channel range

Imagick::getImageChannelRange

(PECL imagick 2 >= 2.2.1, PECL imagick 3)

Imagick::getImageChannelRange — Gets channel range

Descrição

public Imagick::getImageChannelRange ( int $channel ) : array

Gets the range for one or more image channels. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.0 ou superior.

Parâmetros

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Returns an array containing minima and maxima values of the channel(s).

Erros

Lança ImagickException em caso de erro.


Returns statistics for each channel in the image

  • « Imagick::getImageChannelRange
  • Imagick::getImageClipMask »
  • PHP Manual
  • Imagick
  • Returns statistics for each channel in the image

Imagick::getImageChannelStatistics

(PECL imagick 2, PECL imagick 3)

Imagick::getImageChannelStatistics — Returns statistics for each channel in the image

Descrição

public Imagick::getImageChannelStatistics ( ) : array

Returns statistics for each channel in the image. The statistics include the channel depth, its minima and maxima, the mean, and the standard deviation.

Valor Retornado

Retorna true no sucesso.


Gets image clip mask

  • « Imagick::getImageChannelStatistics
  • Imagick::getImageColormapColor »
  • PHP Manual
  • Imagick
  • Gets image clip mask

Imagick::getImageClipMask

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::getImageClipMask — Gets image clip mask

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::getImageClipMask ( ) : Imagick

Returns the image clip mask. The clip mask is an Imagick object containing the clip mask. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.6 ou superior.

Valor Retornado

Returns an Imagick object containing the clip mask.

Erros

Lança ImagickException em caso de erro.


Returns the color of the specified colormap index

  • « Imagick::getImageClipMask
  • Imagick::getImageColors »
  • PHP Manual
  • Imagick
  • Returns the color of the specified colormap index

Imagick::getImageColormapColor

(PECL imagick 2, PECL imagick 3)

Imagick::getImageColormapColor — Returns the color of the specified colormap index

Descrição

public Imagick::getImageColormapColor ( int $index ) : ImagickPixel

Returns the color of the specified colormap index.

Parâmetros

index

The offset into the image colormap.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Gets the number of unique colors in the image

  • « Imagick::getImageColormapColor
  • Imagick::getImageColorspace »
  • PHP Manual
  • Imagick
  • Gets the number of unique colors in the image

Imagick::getImageColors

(PECL imagick 2, PECL imagick 3)

Imagick::getImageColors — Gets the number of unique colors in the image

Descrição

public Imagick::getImageColors ( ) : int

Gets the number of unique colors in the image.

Valor Retornado

Returns an int, the number of unique colors in the image.


Gets the image colorspace

  • « Imagick::getImageColors
  • Imagick::getImageCompose »
  • PHP Manual
  • Imagick
  • Gets the image colorspace

Imagick::getImageColorspace

(PECL imagick 2, PECL imagick 3)

Imagick::getImageColorspace — Gets the image colorspace

Descrição

public Imagick::getImageColorspace ( ) : int

Gets the image colorspace.

Valor Retornado

Returns an integer which can be compared against COLORSPACE constants.


Returns the composite operator associated with the image

  • « Imagick::getImageColorspace
  • Imagick::getImageCompression »
  • PHP Manual
  • Imagick
  • Returns the composite operator associated with the image

Imagick::getImageCompose

(PECL imagick 2, PECL imagick 3)

Imagick::getImageCompose — Returns the composite operator associated with the image

Descrição

public Imagick::getImageCompose ( ) : int

Returns the composite operator associated with the image.

Valor Retornado

Retorna true no sucesso.


Gets the current image's compression type

  • « Imagick::getImageCompose
  • Imagick::getImageCompressionQuality »
  • PHP Manual
  • Imagick
  • Gets the current image's compression type

Imagick::getImageCompression

(PECL imagick 3 >= 3.3.0)

Imagick::getImageCompression — Gets the current image's compression type

Descrição

public Imagick::getImageCompression ( ) : int

Gets the current image's compression type.

Valor Retornado

Returns the compression constant


Gets the current image's compression quality

  • « Imagick::getImageCompression
  • Imagick::getImageDelay »
  • PHP Manual
  • Imagick
  • Gets the current image's compression quality

Imagick::getImageCompressionQuality

(PECL imagick 2 >= 2.2.2, PECL imagick 3)

Imagick::getImageCompressionQuality — Gets the current image's compression quality

Descrição

public Imagick::getImageCompressionQuality ( ) : int

Gets the current image's compression quality

Valor Retornado

Returns integer describing the images compression quality


Gets the image delay

  • « Imagick::getImageCompressionQuality
  • Imagick::getImageDepth »
  • PHP Manual
  • Imagick
  • Gets the image delay

Imagick::getImageDelay

(PECL imagick 2, PECL imagick 3)

Imagick::getImageDelay — Gets the image delay

Descrição

public Imagick::getImageDelay ( ) : int

Gets the image delay.

Valor Retornado

Returns the image delay.

Erros

Lança ImagickException em caso de erro.


Gets the image depth

  • « Imagick::getImageDelay
  • Imagick::getImageDispose »
  • PHP Manual
  • Imagick
  • Gets the image depth

Imagick::getImageDepth

(PECL imagick 2, PECL imagick 3)

Imagick::getImageDepth — Gets the image depth

Descrição

public Imagick::getImageDepth ( ) : int

Gets the image depth.

Valor Retornado

The image depth.


Gets the image disposal method

  • « Imagick::getImageDepth
  • Imagick::getImageDistortion »
  • PHP Manual
  • Imagick
  • Gets the image disposal method

Imagick::getImageDispose

(PECL imagick 2, PECL imagick 3)

Imagick::getImageDispose — Gets the image disposal method

Descrição

public Imagick::getImageDispose ( ) : int

Gets the image disposal method.

Valor Retornado

Returns the dispose method on success.

Erros

Lança ImagickException em caso de erro.


Compares an image to a reconstructed image

  • « Imagick::getImageDispose
  • Imagick::getImageExtrema »
  • PHP Manual
  • Imagick
  • Compares an image to a reconstructed image

Imagick::getImageDistortion

(PECL imagick 2, PECL imagick 3)

Imagick::getImageDistortion — Compares an image to a reconstructed image

Descrição

public Imagick::getImageDistortion ( MagickWand $reference , int $metric ) : float

Compares an image to a reconstructed image and returns the specified distortion metric.

Parâmetros

reference

Imagick object to compare to.

metric

One of the metric type constants.

Valor Retornado

Returns the distortion metric used on the image (or the best guess thereof).

Erros

Lança ImagickException em caso de erro.


Gets the extrema for the image

  • « Imagick::getImageDistortion
  • Imagick::getImageFilename »
  • PHP Manual
  • Imagick
  • Gets the extrema for the image

Imagick::getImageExtrema

(PECL imagick 2, PECL imagick 3)

Imagick::getImageExtrema — Gets the extrema for the image

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::getImageExtrema ( ) : array

Gets the extrema for the image. Returns an associative array with the keys "min" and "max".

Valor Retornado

Returns an associative array with the keys "min" and "max".

Erros

Lança ImagickException em caso de erro.


Returns the filename of a particular image in a sequence

  • « Imagick::getImageExtrema
  • Imagick::getImageFormat »
  • PHP Manual
  • Imagick
  • Returns the filename of a particular image in a sequence

Imagick::getImageFilename

(PECL imagick 2, PECL imagick 3)

Imagick::getImageFilename — Returns the filename of a particular image in a sequence

Descrição

public Imagick::getImageFilename ( ) : string

Returns the filename of a particular image in a sequence.

Valor Retornado

Returns a string with the filename of the image.

Erros

Lança ImagickException em caso de erro.


Returns the format of a particular image in a sequence

  • « Imagick::getImageFilename
  • Imagick::getImageGamma »
  • PHP Manual
  • Imagick
  • Returns the format of a particular image in a sequence

Imagick::getImageFormat

(PECL imagick 2, PECL imagick 3)

Imagick::getImageFormat — Returns the format of a particular image in a sequence

Descrição

public Imagick::getImageFormat ( ) : string

Returns the format of a particular image in a sequence.

Valor Retornado

Returns a string containing the image format on success.

Erros

Lança ImagickException em caso de erro.


Gets the image gamma

  • « Imagick::getImageFormat
  • Imagick::getImageGeometry »
  • PHP Manual
  • Imagick
  • Gets the image gamma

Imagick::getImageGamma

(PECL imagick 2, PECL imagick 3)

Imagick::getImageGamma — Gets the image gamma

Descrição

public Imagick::getImageGamma ( ) : float

Gets the image gamma.

Valor Retornado

Returns the image gamma on success.

Erros

Lança ImagickException em caso de erro.


Gets the width and height as an associative array

  • « Imagick::getImageGamma
  • Imagick::getImageGravity »
  • PHP Manual
  • Imagick
  • Gets the width and height as an associative array

Imagick::getImageGeometry

(PECL imagick 2, PECL imagick 3)

Imagick::getImageGeometry — Gets the width and height as an associative array

Descrição

public Imagick::getImageGeometry ( ) : array

Returns the width and height as an associative array.

Valor Retornado

Returns an array with the width/height of the image.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::getImageGeometry()

<?php
function getImageGeometry($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Gets the image gravity

  • « Imagick::getImageGeometry
  • Imagick::getImageGreenPrimary »
  • PHP Manual
  • Imagick
  • Gets the image gravity

Imagick::getImageGravity

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::getImageGravity — Gets the image gravity

Descrição

public Imagick::getImageGravity ( ) : int

Gets the current gravity value of the image. Unlike Imagick::getGravity(), this method returns the gravity defined for the current image sequence. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.4 ou superior.

Valor Retornado

Returns the images gravity property. Refer to the list of gravity constants.


Returns the chromaticy green primary point

  • « Imagick::getImageGravity
  • Imagick::getImageHeight »
  • PHP Manual
  • Imagick
  • Returns the chromaticy green primary point

Imagick::getImageGreenPrimary

(PECL imagick 2, PECL imagick 3)

Imagick::getImageGreenPrimary — Returns the chromaticy green primary point

Descrição

public Imagick::getImageGreenPrimary ( ) : array

Returns the chromaticity green primary point. Returns an array with the keys "x" and "y".

Valor Retornado

Returns an array with the keys "x" and "y" on success, throws an ImagickException on failure.

Erros

Lança ImagickException em caso de erro.


Returns the image height

  • « Imagick::getImageGreenPrimary
  • Imagick::getImageHistogram »
  • PHP Manual
  • Imagick
  • Returns the image height

Imagick::getImageHeight

(PECL imagick 2, PECL imagick 3)

Imagick::getImageHeight — Returns the image height

Descrição

public Imagick::getImageHeight ( ) : int

Returns the image height.

Valor Retornado

Returns the image height in pixels.

Erros

Lança ImagickException em caso de erro.


Gets the image histogram

  • « Imagick::getImageHeight
  • Imagick::getImageIndex »
  • PHP Manual
  • Imagick
  • Gets the image histogram

Imagick::getImageHistogram

(PECL imagick 2, PECL imagick 3)

Imagick::getImageHistogram — Gets the image histogram

Descrição

public Imagick::getImageHistogram ( ) : array

Returns the image histogram as an array of ImagickPixel objects.

Valor Retornado

Returns the image histogram as an array of ImagickPixel objects.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Generates Imagick::getImageHistogram()

<?php
function getColorStatistics($histogramElements, $colorChannel) {
    $colorStatistics = [];

    foreach ($histogramElements as $histogramElement) {
        $color = $histogramElement->getColorValue($colorChannel);
        $color = intval($color * 255);
        $count = $histogramElement->getColorCount();

        if (array_key_exists($color, $colorStatistics)) {
            $colorStatistics[$color] += $count;
        }
        else {
            $colorStatistics[$color] = $count;
        }
    }

    ksort($colorStatistics);

    return $colorStatistics;
}

function getImageHistogram($imagePath) {

    $backgroundColor = 'black';

    $draw = new \ImagickDraw();
    $draw->setStrokeWidth(0); //make the lines be as thin as possible

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $histogramWidth = 256;
    $histogramHeight = 100; // the height for each RGB segment

    $imagick = new \Imagick(realpath($imagePath));
    //Resize the image to be small, otherwise PHP tends to run out of memory
    //This might lead to bad results for images that are pathologically 'pixelly'
    $imagick->adaptiveResizeImage(200, 200, true);
    $histogramElements = $imagick->getImageHistogram();

    $histogram = new \Imagick();
    $histogram->newpseudoimage($histogramWidth, $histogramHeight * 3, 'xc:black');
    $histogram->setImageFormat('png');

    $getMax = function ($carry, $item)  {
        if ($item > $carry) {
            return $item;
        }
        return $carry;
    };

    $colorValues = [
        'red' => getColorStatistics($histogramElements, \Imagick::COLOR_RED),
        'lime' => getColorStatistics($histogramElements, \Imagick::COLOR_GREEN),
        'blue' => getColorStatistics($histogramElements, \Imagick::COLOR_BLUE),
    ];

    $max = array_reduce($colorValues['red'] , $getMax, 0);
    $max = array_reduce($colorValues['lime'] , $getMax, $max);
    $max = array_reduce($colorValues['blue'] , $getMax, $max);

    $scale =  $histogramHeight / $max;

    $count = 0;
    foreach ($colorValues as $color => $values) {
        $draw->setstrokecolor($color);

        $offset = ($count + 1) * $histogramHeight;

        foreach ($values as $index => $value) {
            $draw->line($index, $offset, $index, $offset - ($value * $scale));
        }
        $count++;
    }

    $histogram->drawImage($draw);

    header( "Content-Type: image/png" );
    echo $histogram;
}

?>


Gets the index of the current active image

  • « Imagick::getImageHistogram
  • Imagick::getImageInterlaceScheme »
  • PHP Manual
  • Imagick
  • Gets the index of the current active image

Imagick::getImageIndex

(PECL imagick 2, PECL imagick 3)

Imagick::getImageIndex — Gets the index of the current active image

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::getImageIndex ( ) : int

Returns the index of the current active image within the Imagick object. This method has been deprecated. See Imagick::getIteratorIndex().

Valor Retornado

Returns an integer containing the index of the image in the stack.

Erros

Lança ImagickException em caso de erro.


Gets the image interlace scheme

  • « Imagick::getImageIndex
  • Imagick::getImageInterpolateMethod »
  • PHP Manual
  • Imagick
  • Gets the image interlace scheme

Imagick::getImageInterlaceScheme

(PECL imagick 2, PECL imagick 3)

Imagick::getImageInterlaceScheme — Gets the image interlace scheme

Descrição

public Imagick::getImageInterlaceScheme ( ) : int

Gets the image interlace scheme.

Valor Retornado

Returns the interlace scheme as an integer on success. Lança uma exceção ImagickException em erros.


Returns the interpolation method

  • « Imagick::getImageInterlaceScheme
  • Imagick::getImageIterations »
  • PHP Manual
  • Imagick
  • Returns the interpolation method

Imagick::getImageInterpolateMethod

(PECL imagick 2, PECL imagick 3)

Imagick::getImageInterpolateMethod — Returns the interpolation method

Descrição

public Imagick::getImageInterpolateMethod ( ) : int

Returns the interpolation method for the specified image. The method is one of the Imagick::INTERPOLATE_* constants.

Valor Retornado

Returns the interpolate method on success.

Erros

Lança ImagickException em caso de erro.


Gets the image iterations

  • « Imagick::getImageInterpolateMethod
  • Imagick::getImageLength »
  • PHP Manual
  • Imagick
  • Gets the image iterations

Imagick::getImageIterations

(PECL imagick 2, PECL imagick 3)

Imagick::getImageIterations — Gets the image iterations

Descrição

public Imagick::getImageIterations ( ) : int

Gets the image iterations.

Valor Retornado

Returns the image iterations as an integer.

Erros

Lança ImagickException em caso de erro.


Returns the image length in bytes

  • « Imagick::getImageIterations
  • Imagick::getImageMatte »
  • PHP Manual
  • Imagick
  • Returns the image length in bytes

Imagick::getImageLength

(PECL imagick 2, PECL imagick 3)

Imagick::getImageLength — Returns the image length in bytes

Descrição

public Imagick::getImageLength ( ) : int

Returns the image length in bytes

Valor Retornado

Returns an int containing the current image size.

Exemplos

Exemplo #1 Using Imagick::getImageLength():

Getting image length in bytes

<?php
$image = new Imagick('test.jpg');
echo $image->getImageLength() . ' bytes';
?>


Return if the image has a matte channel

  • « Imagick::getImageLength
  • Imagick::getImageMatteColor »
  • PHP Manual
  • Imagick
  • Return if the image has a matte channel

Imagick::getImageMatte

(PECL imagick 2, PECL imagick 3)

Imagick::getImageMatte — Return if the image has a matte channel

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::getImageMatte ( ) : bool

Returns true if the image has a matte channel otherwise false. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Valor Retornado

Retorna true no sucesso.


Returns the image matte color

  • « Imagick::getImageMatte
  • Imagick::getImageMimeType »
  • PHP Manual
  • Imagick
  • Returns the image matte color

Imagick::getImageMatteColor

(PECL imagick 2, PECL imagick 3)

Imagick::getImageMatteColor — Returns the image matte color

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::getImageMatteColor ( ) : ImagickPixel

Returns the image matte color.

Valor Retornado

Returns ImagickPixel object on success.

Erros

Lança ImagickException em caso de erro.


Description

  • « Imagick::getImageMatteColor
  • Imagick::getImageOrientation »
  • PHP Manual
  • Imagick
  • Description

Imagick::getImageMimeType

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::getImageMimeType — Description

Descrição

public Imagick::getImageMimeType ( ) : string

Returns the image mime-type.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Gets the image orientation

  • « Imagick::getImageMimeType
  • Imagick::getImagePage »
  • PHP Manual
  • Imagick
  • Gets the image orientation

Imagick::getImageOrientation

(PECL imagick 2, PECL imagick 3)

Imagick::getImageOrientation — Gets the image orientation

Descrição

public Imagick::getImageOrientation ( ) : int

Gets the image orientation. The return value is one of the orientation constants.

Valor Retornado

Returns an int on success.

Erros

Lança ImagickException em caso de erro.


Returns the page geometry

  • « Imagick::getImageOrientation
  • Imagick::getImagePixelColor »
  • PHP Manual
  • Imagick
  • Returns the page geometry

Imagick::getImagePage

(PECL imagick 2, PECL imagick 3)

Imagick::getImagePage — Returns the page geometry

Descrição

public Imagick::getImagePage ( ) : array

Returns the page geometry associated with the image in an array with the keys "width", "height", "x", and "y".

Valor Retornado

Returns the page geometry associated with the image in an array with the keys "width", "height", "x", and "y".

Erros

Lança ImagickException em caso de erro.


Returns the color of the specified pixel

  • « Imagick::getImagePage
  • Imagick::getImageProfile »
  • PHP Manual
  • Imagick
  • Returns the color of the specified pixel

Imagick::getImagePixelColor

(PECL imagick 2, PECL imagick 3)

Imagick::getImagePixelColor — Returns the color of the specified pixel

Descrição

public Imagick::getImagePixelColor ( int $x , int $y ) : ImagickPixel

Returns the color of the specified pixel.

Parâmetros

x

The x-coordinate of the pixel

y

The y-coordinate of the pixel

Valor Retornado

Returns an ImagickPixel instance for the color at the coordinates given.

Erros

Lança ImagickException em caso de erro.


Returns the named image profile

  • « Imagick::getImagePixelColor
  • Imagick::getImageProfiles »
  • PHP Manual
  • Imagick
  • Returns the named image profile

Imagick::getImageProfile

(PECL imagick 2, PECL imagick 3)

Imagick::getImageProfile — Returns the named image profile

Descrição

public Imagick::getImageProfile ( string $name ) : string

Returns the named image profile.

Parâmetros

name

The name of the profile to return.

Valor Retornado

Returns a string containing the image profile.

Erros

Lança ImagickException em caso de erro.


Returns the image profiles

  • « Imagick::getImageProfile
  • Imagick::getImageProperties »
  • PHP Manual
  • Imagick
  • Returns the image profiles

Imagick::getImageProfiles

(PECL imagick 2, PECL imagick 3)

Imagick::getImageProfiles — Returns the image profiles

Descrição

public Imagick::getImageProfiles ( string $pattern = "*" , bool $include_values = true ) : array

Returns all associated profiles that match the pattern. If false is passed as second parameter only the profile names are returned. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.6 ou superior.

Parâmetros

pattern

The pattern for profile names.

include_values

Whether to return only profile names. If false then only profile names will be returned.

Valor Retornado

Returns an array containing the image profiles or profile names.


Returns the image properties

  • « Imagick::getImageProfiles
  • Imagick::getImageProperty »
  • PHP Manual
  • Imagick
  • Returns the image properties

Imagick::getImageProperties

(PECL imagick 2, PECL imagick 3)

Imagick::getImageProperties — Returns the image properties

Descrição

public Imagick::getImageProperties ( string $pattern = "*" , bool $include_values = true ) : array

Returns all associated properties that match the pattern. If false is passed as second parameter only the property names are returned. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.6 ou superior.

Parâmetros

pattern

The pattern for property names.

include_values

Whether to return only property names. If false then only property names will be returned.

Valor Retornado

Returns an array containing the image properties or property names.

Exemplos

Exemplo #1 Using Imagick::getImageProperties():

An example of extracting EXIF information.

<?php

/* Create the object */
$im = new imagick("/path/to/example.jpg");

/* Get the EXIF information */
$exifArray = $im->getImageProperties("exif:*");

/* Loop trough the EXIF properties */
foreach ($exifArray as $name => $property)
{
    echo "{$name} => {$property}<br />\n";
}

?>


Returns the named image property

  • « Imagick::getImageProperties
  • Imagick::getImageRedPrimary »
  • PHP Manual
  • Imagick
  • Returns the named image property

Imagick::getImageProperty

(PECL imagick 2, PECL imagick 3)

Imagick::getImageProperty — Returns the named image property

Descrição

public Imagick::getImageProperty ( string $name ) : string

Returns the named image property. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.2 ou superior.

Parâmetros

name

name of the property (for example Exif:DateTime)

Exemplos

Exemplo #1 Using Imagick::getImageProperty():

Setting and getting image property

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");

$image->setImageProperty('Exif:Make', 'Imagick');
echo $image->getImageProperty('Exif:Make');
?>

Veja Também

  • Imagick::setImageProperty() - Sets an image property

Valor Retornado

Returns a string containing the image property, false if a property with the given name does not exist.


Returns the chromaticity red primary point

  • « Imagick::getImageProperty
  • Imagick::getImageRegion »
  • PHP Manual
  • Imagick
  • Returns the chromaticity red primary point

Imagick::getImageRedPrimary

(PECL imagick 2, PECL imagick 3)

Imagick::getImageRedPrimary — Returns the chromaticity red primary point

Descrição

public Imagick::getImageRedPrimary ( ) : array

Returns the chromaticity red primary point as an array with the keys "x" and "y".

Valor Retornado

Returns the chromaticity red primary point as an array with the keys "x" and "y". Lança uma exceção ImagickException em erros.

Erros

Lança ImagickException em caso de erro.


Extracts a region of the image

  • « Imagick::getImageRedPrimary
  • Imagick::getImageRenderingIntent »
  • PHP Manual
  • Imagick
  • Extracts a region of the image

Imagick::getImageRegion

(PECL imagick 2, PECL imagick 3)

Imagick::getImageRegion — Extracts a region of the image

Descrição

public Imagick::getImageRegion ( int $width , int $height , int $x , int $y ) : Imagick

Extracts a region of the image and returns it as a new Imagick object.

Parâmetros

width

The width of the extracted region.

height

The height of the extracted region.

x

X-coordinate of the top-left corner of the extracted region.

y

Y-coordinate of the top-left corner of the extracted region.

Valor Retornado

Extracts a region of the image and returns it as a new wand.

Erros

Lança ImagickException em caso de erro.


Gets the image rendering intent

  • « Imagick::getImageRegion
  • Imagick::getImageResolution »
  • PHP Manual
  • Imagick
  • Gets the image rendering intent

Imagick::getImageRenderingIntent

(PECL imagick 2, PECL imagick 3)

Imagick::getImageRenderingIntent — Gets the image rendering intent

Descrição

public Imagick::getImageRenderingIntent ( ) : int

Gets the image rendering intent.

Valor Retornado

Returns the image rendering intent.

Erros

Lança ImagickException em caso de erro.


Gets the image X and Y resolution

  • « Imagick::getImageRenderingIntent
  • Imagick::getImagesBlob »
  • PHP Manual
  • Imagick
  • Gets the image X and Y resolution

Imagick::getImageResolution

(PECL imagick 2, PECL imagick 3)

Imagick::getImageResolution — Gets the image X and Y resolution

Descrição

public Imagick::getImageResolution ( ) : array

Gets the image X and Y resolution.

Valor Retornado

Returns the resolution as an array.

Erros

Lança ImagickException em caso de erro.


Returns all image sequences as a blob

  • « Imagick::getImageResolution
  • Imagick::getImageScene »
  • PHP Manual
  • Imagick
  • Returns all image sequences as a blob

Imagick::getImagesBlob

(PECL imagick 2, PECL imagick 3)

Imagick::getImagesBlob — Returns all image sequences as a blob

Descrição

public Imagick::getImagesBlob ( ) : string

Implements direct to memory image formats. It returns all image sequences as a string. The format of the image determines the format of the returned blob (GIF, JPEG, PNG, etc.). To return a different image format, use Imagick::setImageFormat().

Valor Retornado

Returns a string containing the images. On failure, throws ImagickException.


Gets the image scene

  • « Imagick::getImagesBlob
  • Imagick::getImageSignature »
  • PHP Manual
  • Imagick
  • Gets the image scene

Imagick::getImageScene

(PECL imagick 2, PECL imagick 3)

Imagick::getImageScene — Gets the image scene

Descrição

public Imagick::getImageScene ( ) : int

Gets the image scene.

Valor Retornado

Returns the image scene.

Erros

Lança ImagickException em caso de erro.


Generates an SHA-256 message digest

  • « Imagick::getImageScene
  • Imagick::getImageSize »
  • PHP Manual
  • Imagick
  • Generates an SHA-256 message digest

Imagick::getImageSignature

(PECL imagick 2, PECL imagick 3)

Imagick::getImageSignature — Generates an SHA-256 message digest

Descrição

public Imagick::getImageSignature ( ) : string

Generates an SHA-256 message digest for the image pixel stream.

Valor Retornado

Returns a string containing the SHA-256 hash of the file.

Erros

Lança ImagickException em caso de erro.


Returns the image length in bytes

  • « Imagick::getImageSignature
  • Imagick::getImageTicksPerSecond »
  • PHP Manual
  • Imagick
  • Returns the image length in bytes

Imagick::getImageSize

(PECL imagick 2, PECL imagick 3)

Imagick::getImageSize — Returns the image length in bytes

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::getImageSize ( ) : int

Returns the image length in bytes. Deprecated in favour of Imagick::getImageLength()

Valor Retornado

Returns an int containing the current image size.


Gets the image ticks-per-second

  • « Imagick::getImageSize
  • Imagick::getImageTotalInkDensity »
  • PHP Manual
  • Imagick
  • Gets the image ticks-per-second

Imagick::getImageTicksPerSecond

(PECL imagick 2, PECL imagick 3)

Imagick::getImageTicksPerSecond — Gets the image ticks-per-second

Descrição

public Imagick::getImageTicksPerSecond ( ) : int

Gets the image ticks-per-second.

Valor Retornado

Returns the image ticks-per-second.

Erros

Lança ImagickException em caso de erro.


Gets the image total ink density

  • « Imagick::getImageTicksPerSecond
  • Imagick::getImageType »
  • PHP Manual
  • Imagick
  • Gets the image total ink density

Imagick::getImageTotalInkDensity

(PECL imagick 2, PECL imagick 3)

Imagick::getImageTotalInkDensity — Gets the image total ink density

Descrição

public Imagick::getImageTotalInkDensity ( ) : float

Gets the image total ink density.

Valor Retornado

Returns the image total ink density of the image. Lança uma exceção ImagickException em erros.


Gets the potential image type

  • « Imagick::getImageTotalInkDensity
  • Imagick::getImageUnits »
  • PHP Manual
  • Imagick
  • Gets the potential image type

Imagick::getImageType

(PECL imagick 2, PECL imagick 3)

Imagick::getImageType — Gets the potential image type

Descrição

public Imagick::getImageType ( ) : int

Gets the potential image type.

Valor Retornado

Returns the potential image type.

  • imagick::IMGTYPE_UNDEFINED
  • imagick::IMGTYPE_BILEVEL
  • imagick::IMGTYPE_GRAYSCALE
  • imagick::IMGTYPE_GRAYSCALEMATTE
  • imagick::IMGTYPE_PALETTE
  • imagick::IMGTYPE_PALETTEMATTE
  • imagick::IMGTYPE_TRUECOLOR
  • imagick::IMGTYPE_TRUECOLORMATTE
  • imagick::IMGTYPE_COLORSEPARATION
  • imagick::IMGTYPE_COLORSEPARATIONMATTE
  • imagick::IMGTYPE_OPTIMIZE

Erros

Lança ImagickException em caso de erro.


Gets the image units of resolution

  • « Imagick::getImageType
  • Imagick::getImageVirtualPixelMethod »
  • PHP Manual
  • Imagick
  • Gets the image units of resolution

Imagick::getImageUnits

(PECL imagick 2, PECL imagick 3)

Imagick::getImageUnits — Gets the image units of resolution

Descrição

public Imagick::getImageUnits ( ) : int

Gets the image units of resolution.

Valor Retornado

Returns the image units of resolution.

Erros

Lança ImagickException em caso de erro.


Returns the virtual pixel method

  • « Imagick::getImageUnits
  • Imagick::getImageWhitePoint »
  • PHP Manual
  • Imagick
  • Returns the virtual pixel method

Imagick::getImageVirtualPixelMethod

(PECL imagick 2, PECL imagick 3)

Imagick::getImageVirtualPixelMethod — Returns the virtual pixel method

Descrição

public Imagick::getImageVirtualPixelMethod ( ) : int

Returns the virtual pixel method for the specified image.

Valor Retornado

Returns the virtual pixel method on success.

Erros

Lança ImagickException em caso de erro.


Returns the chromaticity white point

  • « Imagick::getImageVirtualPixelMethod
  • Imagick::getImageWidth »
  • PHP Manual
  • Imagick
  • Returns the chromaticity white point

Imagick::getImageWhitePoint

(PECL imagick 2, PECL imagick 3)

Imagick::getImageWhitePoint — Returns the chromaticity white point

Descrição

public Imagick::getImageWhitePoint ( ) : array

Returns the chromaticity white point as an associative array with the keys "x" and "y".

Valor Retornado

Returns the chromaticity white point as an associative array with the keys "x" and "y".

Erros

Lança ImagickException em caso de erro.


Returns the image width

  • « Imagick::getImageWhitePoint
  • Imagick::getInterlaceScheme »
  • PHP Manual
  • Imagick
  • Returns the image width

Imagick::getImageWidth

(PECL imagick 2, PECL imagick 3)

Imagick::getImageWidth — Returns the image width

Descrição

public Imagick::getImageWidth ( ) : int

Returns the image width.

Valor Retornado

Returns the image width.

Erros

Lança ImagickException em caso de erro.


Gets the object interlace scheme

  • « Imagick::getImageWidth
  • Imagick::getIteratorIndex »
  • PHP Manual
  • Imagick
  • Gets the object interlace scheme

Imagick::getInterlaceScheme

(PECL imagick 2, PECL imagick 3)

Imagick::getInterlaceScheme — Gets the object interlace scheme

Descrição

public Imagick::getInterlaceScheme ( ) : int

Gets the object interlace scheme.

Valor Retornado

Gets the wand interlace scheme.

Erros

Lança ImagickException em caso de erro.


Gets the index of the current active image

  • « Imagick::getInterlaceScheme
  • Imagick::getNumberImages »
  • PHP Manual
  • Imagick
  • Gets the index of the current active image

Imagick::getIteratorIndex

(PECL imagick 2, PECL imagick 3)

Imagick::getIteratorIndex — Gets the index of the current active image

Descrição

public Imagick::getIteratorIndex ( ) : int

Returns the index of the current active image within the Imagick object. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Valor Retornado

Returns an integer containing the index of the image in the stack.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Using Imagick::getIteratorIndex():

Create images, set and get the iterator index

<?php
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel("red"));
$im->newImage(100, 100, new ImagickPixel("green"));
$im->newImage(100, 100, new ImagickPixel("blue"));

$im->setIteratorIndex(1);
echo $im->getIteratorIndex();
?>

Veja Também

  • Imagick::setIteratorIndex() - Set the iterator position
  • Imagick::getImageIndex() - Gets the index of the current active image
  • Imagick::setImageIndex() - Set the iterator position


Returns the number of images in the object

  • « Imagick::getIteratorIndex
  • Imagick::getOption »
  • PHP Manual
  • Imagick
  • Returns the number of images in the object

Imagick::getNumberImages

(PECL imagick 2, PECL imagick 3)

Imagick::getNumberImages — Returns the number of images in the object

Descrição

public Imagick::getNumberImages ( ) : int

Returns the number of images associated with Imagick object.

Valor Retornado

Returns the number of images associated with Imagick object.

Erros

Lança ImagickException em caso de erro.


Returns a value associated with the specified key

  • « Imagick::getNumberImages
  • Imagick::getPackageName »
  • PHP Manual
  • Imagick
  • Returns a value associated with the specified key

Imagick::getOption

(PECL imagick 2, PECL imagick 3)

Imagick::getOption — Returns a value associated with the specified key

Descrição

public Imagick::getOption ( string $key ) : string

Returns a value associated within the object for the specified key.

Parâmetros

key

The name of the option

Valor Retornado

Returns a value associated with a wand and the specified key.

Erros

Lança ImagickException em caso de erro.


Returns the ImageMagick package name

  • « Imagick::getOption
  • Imagick::getPage »
  • PHP Manual
  • Imagick
  • Returns the ImageMagick package name

Imagick::getPackageName

(PECL imagick 2, PECL imagick 3)

Imagick::getPackageName — Returns the ImageMagick package name

Descrição

public static Imagick::getPackageName ( ) : string

Returns the ImageMagick package name.

Valor Retornado

Returns the ImageMagick package name as a string.

Erros

Lança ImagickException em caso de erro.


Returns the page geometry

  • « Imagick::getPackageName
  • Imagick::getPixelIterator »
  • PHP Manual
  • Imagick
  • Returns the page geometry

Imagick::getPage

(PECL imagick 2, PECL imagick 3)

Imagick::getPage — Returns the page geometry

Descrição

public Imagick::getPage ( ) : array

Returns the page geometry associated with the Imagick object in an associative array with the keys "width", "height", "x", and "y".

Valor Retornado

Returns the page geometry associated with the Imagick object in an associative array with the keys "width", "height", "x", and "y", throwing ImagickException on error.


Returns a MagickPixelIterator

  • « Imagick::getPage
  • Imagick::getPixelRegionIterator »
  • PHP Manual
  • Imagick
  • Returns a MagickPixelIterator

Imagick::getPixelIterator

(PECL imagick 2, PECL imagick 3)

Imagick::getPixelIterator — Returns a MagickPixelIterator

Descrição

public Imagick::getPixelIterator ( ) : ImagickPixelIterator

Returns a MagickPixelIterator.

Valor Retornado

Returns an ImagickPixelIterator on success.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::getPixelIterator()

<?php
function getPixelIterator($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imageIterator = $imagick->getPixelIterator();

    foreach ($imageIterator as $row => $pixels) { /* Loop through pixel rows */
        foreach ($pixels as $column => $pixel) { /* Loop through the pixels in the row (columns) */
            /** @var $pixel \ImagickPixel */
            if ($column % 2) {
                $pixel->setColor("rgba(0, 0, 0, 0)"); /* Paint every second pixel black*/
            }
        }
        $imageIterator->syncIterator(); /* Sync the iterator, this is important to do on each iteration */
    }

    header("Content-Type: image/jpg");
    echo $imagick;
}

?>


Get an ImagickPixelIterator for an image section

  • « Imagick::getPixelIterator
  • Imagick::getPointSize »
  • PHP Manual
  • Imagick
  • Get an ImagickPixelIterator for an image section

Imagick::getPixelRegionIterator

(PECL imagick 2, PECL imagick 3)

Imagick::getPixelRegionIterator — Get an ImagickPixelIterator for an image section

Descrição

public Imagick::getPixelRegionIterator ( int $x , int $y , int $columns , int $rows ) : ImagickPixelIterator

Get an ImagickPixelIterator for an image section.

Parâmetros

x

The x-coordinate of the region.

y

The y-coordinate of the region.

columns

The width of the region.

rows

The height of the region.

Valor Retornado

Returns an ImagickPixelIterator for an image section.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::getPixelRegionIterator() example

Iterate over the pixels in the top left of the image, changing them to be black.

<?php
$im = new Imagick(realpath("./testImage.png"));
$areaIterator = $im->getPixelRegionIterator(0, 0, 10, 10);

foreach ($areaIterator as $rowIterator) {
    foreach ($rowIterator as $pixel) {
        // Paint every pixel black
        $pixel->setColor("rgba(0, 0, 0, 0)");
    }
    $areaIterator->syncIterator();
}
$im->writeImage("./output.png");
?>


Gets point size

  • « Imagick::getPixelRegionIterator
  • Imagick::getQuantum »
  • PHP Manual
  • Imagick
  • Gets point size

Imagick::getPointSize

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::getPointSize — Gets point size

Descrição

public Imagick::getPointSize ( ) : float

Returns the objects point size property. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.7 ou superior.

Valor Retornado

Returns a float containing the point size.

Veja Também

  • Imagick::setPointSize() - Sets point size


Description

  • « Imagick::getPointSize
  • Imagick::getQuantumDepth »
  • PHP Manual
  • Imagick
  • Description

Imagick::getQuantum

(PECL imagick 3 >= 3.3.0)

Imagick::getQuantum — Description

Descrição

public static Imagick::getQuantum ( ) : int

Returns the ImageMagick quantum range as an integer.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Gets the quantum depth

  • « Imagick::getQuantum
  • Imagick::getQuantumRange »
  • PHP Manual
  • Imagick
  • Gets the quantum depth

Imagick::getQuantumDepth

(PECL imagick 2, PECL imagick 3)

Imagick::getQuantumDepth — Gets the quantum depth

Descrição

public static Imagick::getQuantumDepth ( ) : array

Returns the Imagick quantum depth.

Valor Retornado

Returns an array with "quantumDepthLong" and "quantumDepthString" members.

Erros

Lança ImagickException em caso de erro.


Returns the Imagick quantum range

  • « Imagick::getQuantumDepth
  • Imagick::getRegistry »
  • PHP Manual
  • Imagick
  • Returns the Imagick quantum range

Imagick::getQuantumRange

(PECL imagick 2, PECL imagick 3)

Imagick::getQuantumRange — Returns the Imagick quantum range

Descrição

public static Imagick::getQuantumRange ( ) : array

Returns the quantum range for the Imagick instance.

Valor Retornado

Returns an associative array containing the quantum range as an int ("quantumRangeLong") and as a string ("quantumRangeString").

Erros

Lança ImagickException em caso de erro.


Description

  • « Imagick::getQuantumRange
  • Imagick::getReleaseDate »
  • PHP Manual
  • Imagick
  • Description

Imagick::getRegistry

(PECL imagick 3 >= 3.3.0)

Imagick::getRegistry — Description

Descrição

public static Imagick::getRegistry ( string $key ) : string

Get the StringRegistry entry for the named key or false if not set.

Parâmetros

key

The entry to get.

Valor Retornado


Returns the ImageMagick release date

  • « Imagick::getRegistry
  • Imagick::getResource »
  • PHP Manual
  • Imagick
  • Returns the ImageMagick release date

Imagick::getReleaseDate

(PECL imagick 2, PECL imagick 3)

Imagick::getReleaseDate — Returns the ImageMagick release date

Descrição

public static Imagick::getReleaseDate ( ) : string

Returns the ImageMagick release date as a string.

Valor Retornado

Returns the ImageMagick release date as a string.

Erros

Lança ImagickException em caso de erro.


Returns the specified resource's memory usage

  • « Imagick::getReleaseDate
  • Imagick::getResourceLimit »
  • PHP Manual
  • Imagick
  • Returns the specified resource's memory usage

Imagick::getResource

(PECL imagick 2, PECL imagick 3)

Imagick::getResource — Returns the specified resource's memory usage

Descrição

public static Imagick::getResource ( int $type ) : int

Returns the specified resource's memory usage in megabytes.

Parâmetros

type

Refer to the list of resourcetype constants.

Valor Retornado

Returns the specified resource's memory usage in megabytes.

Erros

Lança ImagickException em caso de erro.


Returns the specified resource limit

  • « Imagick::getResource
  • Imagick::getSamplingFactors »
  • PHP Manual
  • Imagick
  • Returns the specified resource limit

Imagick::getResourceLimit

(PECL imagick 2, PECL imagick 3)

Imagick::getResourceLimit — Returns the specified resource limit

Descrição

public static Imagick::getResourceLimit ( int $type ) : int

Returns the specified resource limit.

Parâmetros

type

One of the resourcetype constants. The unit depends on the type of the resource being limited.

Valor Retornado

Returns the specified resource limit in megabytes.

Erros

Lança ImagickException em caso de erro.

Veja Também

  • Imagick::setResourceLimit() - Sets the limit for a particular resource


Gets the horizontal and vertical sampling factor

  • « Imagick::getResourceLimit
  • Imagick::getSize »
  • PHP Manual
  • Imagick
  • Gets the horizontal and vertical sampling factor

Imagick::getSamplingFactors

(PECL imagick 2, PECL imagick 3)

Imagick::getSamplingFactors — Gets the horizontal and vertical sampling factor

Descrição

public Imagick::getSamplingFactors ( ) : array

Gets the horizontal and vertical sampling factor.

Valor Retornado

Returns an associative array with the horizontal and vertical sampling factors of the image.

Erros

Lança ImagickException em caso de erro.


Returns the size associated with the Imagick object

  • « Imagick::getSamplingFactors
  • Imagick::getSizeOffset »
  • PHP Manual
  • Imagick
  • Returns the size associated with the Imagick object

Imagick::getSize

(PECL imagick 2, PECL imagick 3)

Imagick::getSize — Returns the size associated with the Imagick object

Descrição

public Imagick::getSize ( ) : array

Get the size in pixels associated with the Imagick object, previously set by Imagick::setSize().

Nota:

This method just returns the size that was set using Imagick::setSize(). If you want to get the actual width / height of the image, use Imagick::getImageWidth() and Imagick::getImageHeight().

Valor Retornado

Returns the size associated with the Imagick object as an array with the keys "columns" and "rows".

Exemplos

Exemplo #1 Getting the size of a raw RGB image set at 200x400, after scaling to 400x800 (compared to width / height)

<?php
//Set size first and then load the raw image
$img = new Imagick();
$img->setSize(200, 400);
$img->readImage("image.rgb");

$img->scaleImage(400, 800);

$size = $img->getSize();
print_r($size);

echo "$img->getImageWidth()."x".$img->getImageHeight();
?>

O exemplo acima irá imprimir:

Array
(
    [columns] => 200
    [rows] => 400
)
400x800


Returns the size offset

  • « Imagick::getSize
  • Imagick::getVersion »
  • PHP Manual
  • Imagick
  • Returns the size offset

Imagick::getSizeOffset

(PECL imagick 2, PECL imagick 3)

Imagick::getSizeOffset — Returns the size offset

Descrição

public Imagick::getSizeOffset ( ) : int

Returns the size offset associated with the Imagick object. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Valor Retornado

Returns the size offset associated with the Imagick object.

Erros

Lança ImagickException em caso de erro.


Returns the ImageMagick API version

  • « Imagick::getSizeOffset
  • Imagick::haldClutImage »
  • PHP Manual
  • Imagick
  • Returns the ImageMagick API version

Imagick::getVersion

(PECL imagick 2, PECL imagick 3)

Imagick::getVersion — Returns the ImageMagick API version

Descrição

public static Imagick::getVersion ( ) : array

Returns the ImageMagick API version as a string and as a number.

Valor Retornado

Returns the ImageMagick API version as a string and as a number.

Erros

Lança ImagickException em caso de erro.


Replaces colors in the image

  • « Imagick::getVersion
  • Imagick::hasNextImage »
  • PHP Manual
  • Imagick
  • Replaces colors in the image

Imagick::haldClutImage

(PECL imagick 3)

Imagick::haldClutImage — Replaces colors in the image

Descrição

public Imagick::haldClutImage ( Imagick $clut , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Replaces colors in the image using a Hald lookup table. Hald images can be created using HALD color coder.

Parâmetros

clut

Imagick object containing the Hald lookup image.

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::haldClutImage()

<?php
function haldClutImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagickPalette = new \Imagick(realpath("images/hald/hald_8.png"));
    $imagickPalette->sepiatoneImage(55);
    $imagick->haldClutImage($imagickPalette);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Checks if the object has more images

  • « Imagick::haldClutImage
  • Imagick::hasPreviousImage »
  • PHP Manual
  • Imagick
  • Checks if the object has more images

Imagick::hasNextImage

(PECL imagick 2, PECL imagick 3)

Imagick::hasNextImage — Checks if the object has more images

Descrição

public Imagick::hasNextImage ( ) : bool

Returns true if the object has more images when traversing the list in the forward direction.

Valor Retornado

Returns true if the object has more images when traversing the list in the forward direction, returns false if there are none.


Checks if the object has a previous image

  • « Imagick::hasNextImage
  • Imagick::identifyFormat »
  • PHP Manual
  • Imagick
  • Checks if the object has a previous image

Imagick::hasPreviousImage

(PECL imagick 2, PECL imagick 3)

Imagick::hasPreviousImage — Checks if the object has a previous image

Descrição

public Imagick::hasPreviousImage ( ) : bool

Returns true if the object has more images when traversing the list in the reverse direction

Valor Retornado

Returns true if the object has more images when traversing the list in the reverse direction, returns false if there are none.


Description

  • « Imagick::hasPreviousImage
  • Imagick::identifyImage »
  • PHP Manual
  • Imagick
  • Description

Imagick::identifyFormat

(PECL imagick 3 >= 3.3.0)

Imagick::identifyFormat — Description

Descrição

public Imagick::identifyFormat ( string $embedText ) : string|false

Replaces any embedded formatting characters with the appropriate image property and returns the interpreted text. See http://www.imagemagick.org/script/escape.php for escape sequences.

Parâmetros

embedText

A string containing formatting sequences e.g. "Trim box: %@ number of unique colors: %k".

Valor Retornado

Returns format ou false em caso de falha.

Exemplos

Exemplo #1 Imagick::identifyFormat()

<?php
        $output = "Output of 'Trim box: %@ number of unique colors: %k' is: <br/>";
        $imagick = new \Imagick(realpath("./images/artifact/mask.png"));
        $output .= $imagick->identifyFormat("Trim box: %@ number of unique colors: %k");

?>


Identifies an image and fetches attributes

  • « Imagick::identifyFormat
  • Imagick::implodeImage »
  • PHP Manual
  • Imagick
  • Identifies an image and fetches attributes

Imagick::identifyImage

(PECL imagick 2, PECL imagick 3)

Imagick::identifyImage — Identifies an image and fetches attributes

Descrição

public Imagick::identifyImage ( bool $appendRawOutput = false ) : array

Identifies an image and returns the attributes. Attributes include the image width, height, size, and others.

Parâmetros

appendRawOutput

If true then the raw output is appended to the array.

Valor Retornado

Identifies an image and returns the attributes. Attributes include the image width, height, size, and others.

Exemplo #1 Example Result Format

Array
(
    [imageName] => /some/path/image.jpg
    [format] => JPEG (Joint Photographic Experts Group JFIF format)
    [geometry] => Array
        (
            [width] => 90
            [height] => 90
        )

    [type] => TrueColor
    [colorSpace] => RGB
    [resolution] => Array
        (
            [x] => 300
            [y] => 300
        )

    [units] => PixelsPerInch
    [fileSize] => 1.88672kb
    [compression] => JPEG
    [signature] => 9a6dc8f604f97d0d691c0286176ddf992e188f0bebba98494b2146ee2d7118da
)

Erros

Lança ImagickException em caso de erro.


Creates a new image as a copy

  • « Imagick::identifyImage
  • Imagick::importImagePixels »
  • PHP Manual
  • Imagick
  • Creates a new image as a copy

Imagick::implodeImage

(PECL imagick 2, PECL imagick 3)

Imagick::implodeImage — Creates a new image as a copy

Descrição

public Imagick::implodeImage ( float $radius ) : bool

Creates a new image that is a copy of an existing one with the image pixels "imploded" by the specified percentage.

Parâmetros

radius

The radius of the implode

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::implodeImage()

<?php
function implodeImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->implodeImage(0.0001);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();

}

?>


Imports image pixels

  • « Imagick::implodeImage
  • Imagick::inverseFourierTransformImage »
  • PHP Manual
  • Imagick
  • Imports image pixels

Imagick::importImagePixels

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::importImagePixels — Imports image pixels

Descrição

public Imagick::importImagePixels ( int $x , int $y , int $width , int $height , string $map , int $storage , array $pixels ) : bool

Imports pixels from an array into an image. The map is usually 'RGB'. This method imposes the following constraints for the parameters: amount of pixels in the array must match width x height x length of the map. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.5 ou superior.

Parâmetros

x

The image x position

y

The image y position

width

The image width

height

The image height

map

Map of pixel ordering as a string. This can be for example RGB. The value can be any combination or order of R = red, G = green, B = blue, A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I = intensity (for grayscale), P = pad.

storage

The pixel storage method. Refer to this list of pixel constants.

pixels

The array of pixels

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::importImagePixels() example

<?php

/* Generate array of pixels. 2000 pixels per color stripe */
$count = 2000 * 3;

$pixels =
   array_merge(array_pad(array(), $count, 0),
               array_pad(array(), $count, 255),
               array_pad(array(), $count, 0),
               array_pad(array(), $count, 255),
               array_pad(array(), $count, 0));

/* Width and height. The area is amount of pixels divided
   by three. Three comes from 'RGB', three values per pixel */
$width = $height = pow((count($pixels) / 3), 0.5);

/* Create empty image */
$im = new Imagick();
$im->newImage($width, $height, 'gray');

/* Import the pixels into image.
   width * height * strlen("RGB") must match count($pixels) */
$im->importImagePixels(0, 0, $width, $height, "RGB", Imagick::PIXEL_CHAR, $pixels);

/* output as jpeg image */
$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo $im;

?>

O exemplo acima irá imprimir algo similar à:

Output of example : Imagick::importImagePixels()


Description

  • « Imagick::importImagePixels
  • Imagick::labelImage »
  • PHP Manual
  • Imagick
  • Description

Imagick::inverseFourierTransformImage

(PECL imagick 3 >= 3.3.0)

Imagick::inverseFourierTransformImage — Description

Descrição

public Imagick::inverseFourierTransformImage ( Imagick $complement , bool $magnitude ) : bool

Implements the inverse discrete Fourier transform (DFT) of the image either as a magnitude / phase or real / imaginary image pair.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

complement

The second image to combine with this one to form either the magnitude / phase or real / imaginary image pair.

magnitude

If true, combine as magnitude / phase pair otherwise a real / imaginary image pair.

Valor Retornado

Retorna true no sucesso.


Adds a label to an image

  • « Imagick::inverseFourierTransformImage
  • Imagick::levelImage »
  • PHP Manual
  • Imagick
  • Adds a label to an image

Imagick::labelImage

(PECL imagick 2, PECL imagick 3)

Imagick::labelImage — Adds a label to an image

Descrição

public Imagick::labelImage ( string $label ) : bool

Adds a label to an image.

Parâmetros

label

The label to add

Valor Retornado

Retorna true no sucesso.


Adjusts the levels of an image

  • « Imagick::labelImage
  • Imagick::linearStretchImage »
  • PHP Manual
  • Imagick
  • Adjusts the levels of an image

Imagick::levelImage

(PECL imagick 2, PECL imagick 3)

Imagick::levelImage — Adjusts the levels of an image

Descrição

public Imagick::levelImage ( float $blackPoint , float $gamma , float $whitePoint , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Adjusts the levels of an image by scaling the colors falling between specified white and black points to the full available quantum range. The parameters provided represent the black, mid, and white points. The black point specifies the darkest color in the image. Colors darker than the black point are set to zero. Mid point specifies a gamma correction to apply to the image. White point specifies the lightest color in the image. Colors brighter than the white point are set to the maximum quantum value.

Parâmetros

blackPoint

The image black point

gamma

The gamma value

whitePoint

The image white point

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::levelImage()

<?php
function levelImage($blackPoint, $gamma, $whitePoint) {
    $imagick = new \Imagick();
    $imagick->newPseudoimage(500, 500, 'gradient:black-white');

    $imagick->setFormat('png');
    $quantum = $imagick->getQuantum();
    $imagick->levelImage($blackPoint / 100 , $gamma, $quantum * $whitePoint / 100);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Stretches with saturation the image intensity

  • « Imagick::levelImage
  • Imagick::liquidRescaleImage »
  • PHP Manual
  • Imagick
  • Stretches with saturation the image intensity

Imagick::linearStretchImage

(PECL imagick 2, PECL imagick 3)

Imagick::linearStretchImage — Stretches with saturation the image intensity

Descrição

public Imagick::linearStretchImage ( float $blackPoint , float $whitePoint ) : bool

Stretches with saturation the image intensity.

Parâmetros

blackPoint

The image black point

whitePoint

The image white point

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::linearStretchImage()

<?php
function linearStretchImage($imagePath, $blackThreshold, $whiteThreshold) {
    $imagick = new \Imagick(realpath($imagePath));
    $pixels = $imagick->getImageWidth() * $imagick->getImageHeight();
    $imagick->linearStretchImage($blackThreshold * $pixels, $whiteThreshold * $pixels);

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Animates an image or images

  • « Imagick::linearStretchImage
  • Imagick::listRegistry »
  • PHP Manual
  • Imagick
  • Animates an image or images

Imagick::liquidRescaleImage

(PECL imagick 2 >= 2.2.0, PECL imagick 3)

Imagick::liquidRescaleImage — Animates an image or images

Descrição

public Imagick::liquidRescaleImage ( int $width , int $height , float $delta_x , float $rigidity ) : bool

This method scales the images using liquid rescaling method. This method is an implementation of a technique called seam carving. In order for this method to work as expected ImageMagick must be compiled with liblqr support. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.9 ou superior.

Parâmetros

width

The width of the target size

height

The height of the target size

delta_x

How much the seam can traverse on x-axis. Passing 0 causes the seams to be straight.

rigidity

Introduces a bias for non-straight seams. This parameter is typically 0.

Valor Retornado

Retorna true no sucesso.

Veja Também

  • Imagick::resizeImage() - Scales an image


Description

  • « Imagick::liquidRescaleImage
  • Imagick::magnifyImage »
  • PHP Manual
  • Imagick
  • Description

Imagick::listRegistry

(PECL imagick 3 >= 3.3.0)

Imagick::listRegistry — Description

Descrição

public static Imagick::listRegistry ( ) : array

List all the registry settings. Returns an array of all the key/value pairs in the registry

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing the key/values from the registry.


Scales an image proportionally 2x

  • « Imagick::listRegistry
  • Imagick::mapImage »
  • PHP Manual
  • Imagick
  • Scales an image proportionally 2x

Imagick::magnifyImage

(PECL imagick 2, PECL imagick 3)

Imagick::magnifyImage — Scales an image proportionally 2x

Descrição

public Imagick::magnifyImage ( ) : bool

Is a convenience method that scales an image proportionally to twice its original size.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::magnifyImage()

<?php
function magnifyImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->magnifyImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Replaces the colors of an image with the closest color from a reference image

  • « Imagick::magnifyImage
  • Imagick::matteFloodfillImage »
  • PHP Manual
  • Imagick
  • Replaces the colors of an image with the closest color from a reference image

Imagick::mapImage

(PECL imagick 2, PECL imagick 3)

Imagick::mapImage — Replaces the colors of an image with the closest color from a reference image

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::mapImage ( Imagick $map , bool $dither ) : bool

Parâmetros

map

dither

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Changes the transparency value of a color

  • « Imagick::mapImage
  • Imagick::medianFilterImage »
  • PHP Manual
  • Imagick
  • Changes the transparency value of a color

Imagick::matteFloodfillImage

(PECL imagick 2, PECL imagick 3)

Imagick::matteFloodfillImage — Changes the transparency value of a color

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::matteFloodfillImage ( float $alpha , float $fuzz , mixed $bordercolor , int $x , int $y ) : bool

Changes the transparency value of any pixel that matches target and is an immediate neighbor. If the method FillToBorderMethod is specified, the transparency value is changed for any neighbor pixel that does not match the bordercolor member of image.

Parâmetros

alpha

The level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.

fuzz

The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same.

bordercolor

An ImagickPixel object or string representing the border color.

x

The starting x coordinate of the operation.

y

The starting y coordinate of the operation.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as the third parameter. Previous versions allow only an ImagickPixel object.


Applies a digital filter

  • « Imagick::matteFloodfillImage
  • Imagick::mergeImageLayers »
  • PHP Manual
  • Imagick
  • Applies a digital filter

Imagick::medianFilterImage

(PECL imagick 2, PECL imagick 3)

Imagick::medianFilterImage — Applies a digital filter

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::medianFilterImage ( float $radius ) : bool

Applies a digital filter that improves the quality of a noisy image. Each pixel is replaced by the median in a set of neighboring pixels as defined by radius.

Parâmetros

radius

The radius of the pixel neighborhood.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::medianFilterImage()

<?php
function medianFilterImage($radius, $imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    @$imagick->medianFilterImage($radius);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Merges image layers

  • « Imagick::medianFilterImage
  • Imagick::minifyImage »
  • PHP Manual
  • Imagick
  • Merges image layers

Imagick::mergeImageLayers

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::mergeImageLayers — Merges image layers

Descrição

public Imagick::mergeImageLayers ( int $layer_method ) : Imagick

Merges image layers into one. This method is useful when working with image formats that use multiple layers such as PSD. The merging is controlled using the layer_method which defines how the layers are merged. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.7 ou superior.

Parâmetros

layer_method

One of the Imagick::LAYERMETHOD_* constants

Valor Retornado

Returns an Imagick object containing the merged image.

Erros

Lança ImagickException em caso de erro.

Veja Também

  • Imagick::flattenImages() - Merges a sequence of images

Exemplos

Exemplo #1 Imagick::mergeImageLayers()

<?php
function mergeImageLayers($layerMethodType, $imagePath1, $imagePath2) {

    $imagick = new \Imagick(realpath($imagePath));

    $imagick2 = new \Imagick(realpath($imagePath2));
    $imagick->addImage($imagick2);
    $imagick->setImageFormat('png');

    $result = $imagick->mergeImageLayers($layerMethodType);
    header("Content-Type: image/png");
    echo $result->getImageBlob();
}

?>


Scales an image proportionally to half its size

  • « Imagick::mergeImageLayers
  • Imagick::modulateImage »
  • PHP Manual
  • Imagick
  • Scales an image proportionally to half its size

Imagick::minifyImage

(PECL imagick 2, PECL imagick 3)

Imagick::minifyImage — Scales an image proportionally to half its size

Descrição

public Imagick::minifyImage ( ) : bool

Is a convenience method that scales an image proportionally to one-half its original size

Valor Retornado

Retorna true no sucesso.


Control the brightness, saturation, and hue

  • « Imagick::minifyImage
  • Imagick::montageImage »
  • PHP Manual
  • Imagick
  • Control the brightness, saturation, and hue

Imagick::modulateImage

(PECL imagick 2, PECL imagick 3)

Imagick::modulateImage — Control the brightness, saturation, and hue

Descrição

public Imagick::modulateImage ( float $brightness , float $saturation , float $hue ) : bool

Lets you control the brightness, saturation, and hue of an image. Hue is the percentage of absolute rotation from the current position. For example 50 results in a counter-clockwise rotation of 90 degrees, 150 results in a clockwise rotation of 90 degrees, with 0 and 200 both resulting in a rotation of 180 degrees.

Parâmetros

brightness

saturation

hue

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::modulateImage()

<?php
function modulateImage($imagePath, $hue, $brightness, $saturation) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->modulateImage($brightness, $saturation, $hue);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Creates a composite image

  • « Imagick::modulateImage
  • Imagick::morphImages »
  • PHP Manual
  • Imagick
  • Creates a composite image

Imagick::montageImage

(PECL imagick 2, PECL imagick 3)

Imagick::montageImage — Creates a composite image

Descrição

public Imagick::montageImage ( ImagickDraw $draw , string $tile_geometry , string $thumbnail_geometry , int $mode , string $frame ) : Imagick

Creates a composite image by combining several separate images. The images are tiled on the composite image with the name of the image optionally appearing just below the individual tile.

Parâmetros

draw

The font name, size, and color are obtained from this object.

tile_geometry

The number of tiles per row and page (e.g. 6x4+0+0).

thumbnail_geometry

Preferred image size and border size of each thumbnail (e.g. 120x120+4+3>).

mode

Thumbnail framing mode, see Montage Mode constants.

frame

Surround the image with an ornamental border (e.g. 15x15+3+3). The frame color is that of the thumbnail's matte color.

Valor Retornado

Retorna true no sucesso.


Method morphs a set of images

  • « Imagick::montageImage
  • Imagick::morphology »
  • PHP Manual
  • Imagick
  • Method morphs a set of images

Imagick::morphImages

(PECL imagick 2, PECL imagick 3)

Imagick::morphImages — Method morphs a set of images

Descrição

public Imagick::morphImages ( int $number_frames ) : Imagick

Method morphs a set of images. Both the image pixels and size are linearly interpolated to give the appearance of a meta-morphosis from one image to the next.

Parâmetros

number_frames

The number of in-between images to generate.

Valor Retornado

This method returns a new Imagick object on success. Lança uma exceção ImagickException em erros.


Description

  • « Imagick::morphImages
  • Imagick::mosaicImages »
  • PHP Manual
  • Imagick
  • Description

Imagick::morphology

(PECL imagick 3 >= 3.3.0)

Imagick::morphology — Description

Descrição

public Imagick::morphology ( int $morphologyMethod , int $iterations , ImagickKernel $ImagickKernel , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Applies a user supplied kernel to the image according to the given morphology method.

Parâmetros

morphologyMethod

Which morphology method to use one of the \Imagick::MORPHOLOGY_* constants.

iterations

The number of iteration to apply the morphology function. A value of -1 means loop until no change found. How this is applied may depend on the morphology method. Typically this is a value of 1.

ImagickKernel

channel

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Convolve Imagick::morphology()

<?php
        $imagick = $this->getCharacter();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_GAUSSIAN, "5,1");
        $imagick->morphology(\Imagick::MORPHOLOGY_CONVOLVE, 2, $kernel);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();

?>

Exemplo #2 Correlate Imagick::morphology()

<?php

        // Top-left pixel must be black
        // Bottom right pixel must be white
        // We don't care about the rest.

        $imagick = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromMatrix(self::$correlateMatrix, [2, 2]);
        $imagick->morphology(\Imagick::MORPHOLOGY_CORRELATE, 1, $kernel);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();

?>

Exemplo #3 Erode Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_ERODE, 2, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #4 Erode Intensity Imagick::morphology()

<?php
        $canvas = $this->getCharacter();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "1");
        $canvas->morphology(\Imagick::MORPHOLOGY_ERODE_INTENSITY, 2, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #5 Dilate Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_DILATE, 4, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #6 Dilate intensity Imagick::morphology()

<?php
        $canvas = $this->getCharacter();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "1");
        $canvas->morphology(\Imagick::MORPHOLOGY_DILATE_INTENSITY, 4, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #7 Distance with Chebyshev kernel Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_CHEBYSHEV, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_DISTANCE, 3, $kernel);
        $canvas->autoLevelImage();
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #8 Distance with Manhattan kernel Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_MANHATTAN, "5");
        $canvas->morphology(\Imagick::MORPHOLOGY_DISTANCE, 3, $kernel);
        $canvas->autoLevelImage();
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #9 Distance with ocatagonal kernel Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGONAL, "5");
        $canvas->morphology(\Imagick::MORPHOLOGY_DISTANCE, 3, $kernel);
        $canvas->autoLevelImage();
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #10 Distance with Euclidean kernel Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_EUCLIDEAN, "4");
        $canvas->morphology(\Imagick::MORPHOLOGY_DISTANCE, 3, $kernel);
        $canvas->autoLevelImage();
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #11 Edge Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_EDGE, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #12 Open Imagick::morphology()

<?php
        // As a result you will see that 'Open' smoothed the outline, by rounding off any sharp points, and remove any parts that is smaller than the shape used. It will also disconnect or 'open' any thin bridges.
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "6");
        $canvas->morphology(\Imagick::MORPHOLOGY_OPEN, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #13 Open intensity Imagick::morphology()

<?php
        // As a result you will see that 'Open' smoothed the outline, by rounding off any sharp points, and remove any parts that is smaller than the shape used. It will also disconnect or 'open' any thin bridges.

        $canvas = $this->getCharacter();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "6");
        $canvas->morphology(\Imagick::MORPHOLOGY_OPEN_INTENSITY, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #14 Close Imagick::morphology()

<?php
        //The basic use of the 'Close' method is to reduce or remove any 'holes' or 'gaps' about the size of the kernel 'Structure Element'. That is 'close' parts of the background that are about that size.
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "6");
        $canvas->morphology(\Imagick::MORPHOLOGY_CLOSE, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #15 Close Intensity Imagick::morphology()

<?php
        //The basic use of the 'Close' method is to reduce or remove any 'holes' or 'gaps' about the size of the kernel 'Structure Element'. That is 'close' parts of the background that are about that size.
        $canvas = $this->getCharacter();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "6");
        $canvas->morphology(\Imagick::MORPHOLOGY_CLOSE_INTENSITY, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #16 Smooth Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_SMOOTH, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #17 Edge in Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_EDGE_IN, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #18 Edge out Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_EDGE_OUT, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #19 The 'TopHat' method, or more specifically 'White Top Hat', returns the pixels that were removed by a Opening of the shape, that is the pixels that were removed to round off the points, and the connecting bridged between shapes. Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "5");
        $canvas->morphology(\Imagick::MORPHOLOGY_TOP_HAT, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #20 The 'BottomHat' method, also known as 'Black TopHat' is the pixels that a Closing of the shape adds to the image. That is the pixels that were used to fill in the 'holes', 'gaps', and 'bridges'. Imagick::morphology()

<?php

        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "5");
        $canvas->morphology(\Imagick::MORPHOLOGY_BOTTOM_HAT, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #21 Hit and Miss Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        //This finds all the pixels with 3 pixels of the right edge
        $matrix = [[1, false, false, 0]];
        $kernel = \ImagickKernel::fromMatrix(
            $matrix,
            [0, 0]
        );
        $canvas->morphology(\Imagick::MORPHOLOGY_HIT_AND_MISS, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #22 Thinning Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $leftEdgeKernel = \ImagickKernel::fromMatrix([[0, 1]], [1, 0]);
        $rightEdgeKernel = \ImagickKernel::fromMatrix([[1, 0]], [0, 0]);
        $leftEdgeKernel->addKernel($rightEdgeKernel);

        $canvas->morphology(\Imagick::MORPHOLOGY_THINNING, 3, $leftEdgeKernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #23 Thicken Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $leftEdgeKernel = \ImagickKernel::fromMatrix([[0, 1]], [1, 0]);
        $rightEdgeKernel = \ImagickKernel::fromMatrix([[1, 0]], [0, 0]);
        $leftEdgeKernel->addKernel($rightEdgeKernel);

        $canvas->morphology(\Imagick::MORPHOLOGY_THICKEN, 3, $leftEdgeKernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #24 Thick to generate a convex hull Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $diamondKernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DIAMOND, "1");
        $convexKernel =  \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_CONVEX_HULL, "");

        // The thicken morphology doesn't handle small gaps. We close them
        // with the close morphology.
        $canvas->morphology(\Imagick::MORPHOLOGY_CLOSE, 1, $diamondKernel);
        $canvas->morphology(\Imagick::MORPHOLOGY_THICKEN, -1, $convexKernel);
        $canvas->morphology(\Imagick::MORPHOLOGY_CLOSE, 1, $diamondKernel);

        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #25 Iterative morphology Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "2");
        $canvas->morphology(\Imagick::MORPHOLOGY_ITERATIVE, 3, $kernel);
        $canvas->autoLevelImage();
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Exemplo #26 Helper functon to get an image silhouette Imagick::morphology()

<?php
    private function getCharacterOutline() {

        $imagick = new \Imagick(realpath("./images/character.png"));
        $character = new \Imagick();
        $character->newPseudoImage(
            $imagick->getImageWidth(),
            $imagick->getImageHeight(),
            "canvas:white"
        );
        $canvas = new \Imagick();
        $canvas->newPseudoImage(
            $imagick->getImageWidth(),
            $imagick->getImageHeight(),
            "canvas:black"
        );

        $character->compositeimage(
            $imagick,
            \Imagick::COMPOSITE_COPYOPACITY,
            0, 0
        );
        $canvas->compositeimage(
            $character,
            \Imagick::COMPOSITE_ATOP,
            0, 0
        );
        $canvas->setFormat('png');

        return $canvas;
    }

?>


Forms a mosaic from images

  • « Imagick::morphology
  • Imagick::motionBlurImage »
  • PHP Manual
  • Imagick
  • Forms a mosaic from images

Imagick::mosaicImages

(PECL imagick 2, PECL imagick 3)

Imagick::mosaicImages — Forms a mosaic from images

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::mosaicImages ( ) : Imagick

Inlays an image sequence to form a single coherent picture. It returns a wand with each image in the sequence composited at the location defined by the page offset of the image.

Valor Retornado

Retorna true no sucesso.


Simulates motion blur

  • « Imagick::mosaicImages
  • Imagick::negateImage »
  • PHP Manual
  • Imagick
  • Simulates motion blur

Imagick::motionBlurImage

(PECL imagick 2, PECL imagick 3)

Imagick::motionBlurImage — Simulates motion blur

Descrição

public Imagick::motionBlurImage ( float $radius , float $sigma , float $angle , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and MotionBlurImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.

Parâmetros

radius

The radius of the Gaussian, in pixels, not counting the center pixel.

sigma

The standard deviation of the Gaussian, in pixels.

angle

Apply the effect along this angle.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants. The channel argument affects only if Imagick is compiled against ImageMagick version 6.4.4 or greater.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::motionBlurImage()

<?php
function motionBlurImage($imagePath, $radius, $sigma, $angle, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->motionBlurImage($radius, $sigma, $angle, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Negates the colors in the reference image

  • « Imagick::motionBlurImage
  • Imagick::newImage »
  • PHP Manual
  • Imagick
  • Negates the colors in the reference image

Imagick::negateImage

(PECL imagick 2, PECL imagick 3)

Imagick::negateImage — Negates the colors in the reference image

Descrição

public Imagick::negateImage ( bool $gray , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Negates the colors in the reference image. The Grayscale option means that only grayscale values within the image are negated.

Parâmetros

gray

Whether to only negate grayscale pixels within the image.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::negateImage()

<?php
function negateImage($imagePath, $grayOnly, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->negateImage($grayOnly, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Creates a new image

  • « Imagick::negateImage
  • Imagick::newPseudoImage »
  • PHP Manual
  • Imagick
  • Creates a new image

Imagick::newImage

(PECL imagick 2, PECL imagick 3)

Imagick::newImage — Creates a new image

Descrição

public Imagick::newImage ( int $cols , int $rows , mixed $background , string $format = ? ) : bool

Creates a new image and associates ImagickPixel value as background color

Parâmetros

cols

Columns in the new image

rows

Rows in the new image

background

The background color used for this image

format

Image format. This parameter was added in Imagick version 2.0.1.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as the third parameter. Previous versions allow only an ImagickPixel object.

Exemplos

Exemplo #1 Using Imagick::newImage():

Create a new image and display it.

<?php

$image = new Imagick();
$image->newImage(100, 100, new ImagickPixel('red'));
$image->setImageFormat('png');

header('Content-type: image/png');
echo $image;

?>


Creates a new image

  • « Imagick::newImage
  • Imagick::nextImage »
  • PHP Manual
  • Imagick
  • Creates a new image

Imagick::newPseudoImage

(PECL imagick 2, PECL imagick 3)

Imagick::newPseudoImage — Creates a new image

Descrição

public Imagick::newPseudoImage ( int $columns , int $rows , string $pseudoString ) : bool

Creates a new image using ImageMagick pseudo-formats.

Parâmetros

columns

columns in the new image

rows

rows in the new image

pseudoString

string containing pseudo image definition.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::newPseudoImage()

<?php
function newPseudoImage($canvasType) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(300, 300, $canvasType);
    $imagick->setImageFormat("png");
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

//newPseudoImage('gradient:red-rgba(64, 255, 255, 0.5)');
//newPseudoImage("radial-gradient:red-blue");
newPseudoImage("plasma:fractal");

?>


Moves to the next image

  • « Imagick::newPseudoImage
  • Imagick::normalizeImage »
  • PHP Manual
  • Imagick
  • Moves to the next image

Imagick::nextImage

(PECL imagick 2, PECL imagick 3)

Imagick::nextImage — Moves to the next image

Descrição

public Imagick::nextImage ( ) : bool

Associates the next image in the image list with an Imagick object.

Valor Retornado

Retorna true no sucesso.


Enhances the contrast of a color image

  • « Imagick::nextImage
  • Imagick::oilPaintImage »
  • PHP Manual
  • Imagick
  • Enhances the contrast of a color image

Imagick::normalizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::normalizeImage — Enhances the contrast of a color image

Descrição

public Imagick::normalizeImage ( int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available.

Parâmetros

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::normalizeImage()

<?php
function normalizeImage($imagePath, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $original = clone $imagick;
    $original->cropimage($original->getImageWidth() / 2, $original->getImageHeight(), 0, 0);
    $imagick->normalizeImage($channel);
    $imagick->compositeimage($original, \Imagick::COMPOSITE_ATOP, 0, 0);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Simulates an oil painting

  • « Imagick::normalizeImage
  • Imagick::opaquePaintImage »
  • PHP Manual
  • Imagick
  • Simulates an oil painting

Imagick::oilPaintImage

(PECL imagick 2, PECL imagick 3)

Imagick::oilPaintImage — Simulates an oil painting

Descrição

public Imagick::oilPaintImage ( float $radius ) : bool

Applies a special effect filter that simulates an oil painting. Each pixel is replaced by the most frequent color occurring in a circular region defined by radius.

Parâmetros

radius

The radius of the circular neighborhood.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::oilPaintImage()

<?php
function oilPaintImage($imagePath, $radius) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->oilPaintImage($radius);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Changes the color value of any pixel that matches target

  • « Imagick::oilPaintImage
  • Imagick::optimizeImageLayers »
  • PHP Manual
  • Imagick
  • Changes the color value of any pixel that matches target

Imagick::opaquePaintImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::opaquePaintImage — Changes the color value of any pixel that matches target

Descrição

public Imagick::opaquePaintImage ( mixed $target , mixed $fill , float $fuzz , bool $invert , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Changes any pixel that matches color with the color defined by fill. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.8 ou superior.

Parâmetros

target

ImagickPixel object or a string containing the color to change

fill

The replacement color

fuzz

A quantidade de variação (fuzz). Por exemplo no fuzz de 10 a cor vermelha nas intensidades 100 e 102 são interpretadas como a mesma cor.

invert

If true paints any pixel that does not match the target color.

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Retorna true no sucesso.


Removes repeated portions of images to optimize

  • « Imagick::opaquePaintImage
  • Imagick::orderedPosterizeImage »
  • PHP Manual
  • Imagick
  • Removes repeated portions of images to optimize

Imagick::optimizeImageLayers

(PECL imagick 2, PECL imagick 3)

Imagick::optimizeImageLayers — Removes repeated portions of images to optimize

Descrição

public Imagick::optimizeImageLayers ( ) : bool

Compares each image the GIF disposed forms of the previous image in the sequence. From this it attempts to select the smallest cropped image to replace each frame, while preserving the results of the animation. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Using Imagick::optimizeImageLayers()

Reading, optimizing and writing a GIF image

<?php
/* create new imagick object */
$im = new Imagick("test.gif");

/* optimize the image layers */
$im->optimizeImageLayers();

/* write the image back */
$im->writeImages("test_optimized.gif", true);
?>

Veja Também

  • Imagick::compareImageLayers() - Returns the maximum bounding region between images
  • Imagick::writeImages() - Writes an image or image sequence
  • Imagick::writeImage() - Writes an image to the specified filename


Performs an ordered dither

  • « Imagick::optimizeImageLayers
  • Imagick::paintFloodfillImage »
  • PHP Manual
  • Imagick
  • Performs an ordered dither

Imagick::orderedPosterizeImage

(PECL imagick 2 >= 2.2.2, PECL imagick 3)

Imagick::orderedPosterizeImage — Performs an ordered dither

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::orderedPosterizeImage ( string $threshold_map , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Performs an ordered dither based on a number of pre-defined dithering threshold maps, but over multiple intensity levels, which can be different for different channels, according to the input arguments. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.1 ou superior.

Parâmetros

threshold_map

A string containing the name of the threshold dither map to use

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::orderedPosterizeImage()

<?php
function orderedPosterizeImage($imagePath, $orderedPosterizeType) {
    $imagick = new \Imagick(realpath($imagePath));

    $imagick->orderedPosterizeImage($orderedPosterizeType);
    $imagick->setImageFormat('png');

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

//orderedPosterizeImage($imagePath, 'o4x4,3,3');
//orderedPosterizeImage($imagePath, 'o8x8,6,6');
orderedPosterizeImage($imagePath, 'h8x8a');

?>


Changes the color value of any pixel that matches target

  • « Imagick::orderedPosterizeImage
  • Imagick::paintOpaqueImage »
  • PHP Manual
  • Imagick
  • Changes the color value of any pixel that matches target

Imagick::paintFloodfillImage

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::paintFloodfillImage — Changes the color value of any pixel that matches target

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::paintFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Changes the color value of any pixel that matches target and is an immediate neighbor. As of ImageMagick 6.3.8 this method has been deprecated and Imagick::floodfillPaintImage() should be used instead.

Parâmetros

fill

ImagickPixel object or a string containing the fill color

fuzz

The amount of fuzz. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.

bordercolor

ImagickPixel object or a string containing the border color

x

X start position of the floodfill

y

Y start position of the floodfill

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Retorna true no sucesso.


Change any pixel that matches color

  • « Imagick::paintFloodfillImage
  • Imagick::paintTransparentImage »
  • PHP Manual
  • Imagick
  • Change any pixel that matches color

Imagick::paintOpaqueImage

(PECL imagick 2, PECL imagick 3)

Imagick::paintOpaqueImage — Change any pixel that matches color

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::paintOpaqueImage ( mixed $target , mixed $fill , float $fuzz , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Changes any pixel that matches color with the color defined by fill.

Parâmetros

target

Change this target color to the fill color within the image. An ImagickPixel object or a string representing the target color.

fill

An ImagickPixel object or a string representing the fill color.

fuzz

The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as first and second parameter. Previous versions allow only an ImagickPixel object.


Changes any pixel that matches color with the color defined by fill

  • « Imagick::paintOpaqueImage
  • Imagick::pingImage »
  • PHP Manual
  • Imagick
  • Changes any pixel that matches color with the color defined by fill

Imagick::paintTransparentImage

(PECL imagick 2, PECL imagick 3)

Imagick::paintTransparentImage — Changes any pixel that matches color with the color defined by fill

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::paintTransparentImage ( mixed $target , float $alpha , float $fuzz ) : bool

Changes any pixel that matches color with the color defined by fill.

Parâmetros

target

Change this target color to specified opacity value within the image.

alpha

The level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.

fuzz

The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.


Fetch basic attributes about the image

  • « Imagick::paintTransparentImage
  • Imagick::pingImageBlob »
  • PHP Manual
  • Imagick
  • Fetch basic attributes about the image

Imagick::pingImage

(PECL imagick 2, PECL imagick 3)

Imagick::pingImage — Fetch basic attributes about the image

Descrição

public Imagick::pingImage ( string $filename ) : bool

This method can be used to query image width, height, size, and format without reading the whole image in to memory.

Parâmetros

filename

The filename to read the information from.

Valor Retornado

Retorna true no sucesso.


Quickly fetch attributes

  • « Imagick::pingImage
  • Imagick::pingImageFile »
  • PHP Manual
  • Imagick
  • Quickly fetch attributes

Imagick::pingImageBlob

(PECL imagick 2, PECL imagick 3)

Imagick::pingImageBlob — Quickly fetch attributes

Descrição

public Imagick::pingImageBlob ( string $image ) : bool

This method can be used to query image width, height, size, and format without reading the whole image to memory. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

image

A string containing the image.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Using Imagick::pingImageBlob()

Pinging an image from a string

<?php
/* read image contents */
$image = file_get_contents("test.jpg");

/* create new imagick object */
$im = new Imagick();

/* pass the string to the imagick object */
$im->pingImageBlob($image);

/* output image width and height */
echo $im->getImageWidth() . 'x' . $im->getImageHeight();
?>

Veja Também

  • Imagick::pingImage() - Fetch basic attributes about the image
  • Imagick::pingImageFile() - Get basic image attributes in a lightweight manner
  • Imagick::readImage() - Reads image from filename
  • Imagick::readImageBlob() - Reads image from a binary string
  • Imagick::readImageFile() - Reads image from open filehandle


Get basic image attributes in a lightweight manner

  • « Imagick::pingImageBlob
  • Imagick::polaroidImage »
  • PHP Manual
  • Imagick
  • Get basic image attributes in a lightweight manner

Imagick::pingImageFile

(PECL imagick 2, PECL imagick 3)

Imagick::pingImageFile — Get basic image attributes in a lightweight manner

Descrição

public Imagick::pingImageFile ( resource $filehandle , string $fileName = ? ) : bool

This method can be used to query image width, height, size, and format without reading the whole image to memory. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

filehandle

An open filehandle to the image.

fileName

Optional filename for this image.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Using Imagick::pingImageFile()

Opening a remote location

<?php
/* fopen a remote location */
$fp = fopen("http://example.com/test.jpg");

/* create new imagick object */
$im = new Imagick();

/* pass the handle to imagick */
$im->pingImageFile($fp);
?>

Veja Também

  • Imagick::pingImage() - Fetch basic attributes about the image
  • Imagick::pingImageBlob() - Quickly fetch attributes
  • Imagick::readImage() - Reads image from filename
  • Imagick::readImageBlob() - Reads image from a binary string
  • Imagick::readImageFile() - Reads image from open filehandle


Simulates a Polaroid picture

  • « Imagick::pingImageFile
  • Imagick::posterizeImage »
  • PHP Manual
  • Imagick
  • Simulates a Polaroid picture

Imagick::polaroidImage

(PECL imagick 2, PECL imagick 3)

Imagick::polaroidImage — Simulates a Polaroid picture

Descrição

public Imagick::polaroidImage ( ImagickDraw $properties , float $angle ) : bool

Simulates a Polaroid picture. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.2 ou superior.

Parâmetros

properties

The polaroid properties

angle

The polaroid angle

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 A Imagick::polaroidImage() example

An example of using Imagick::polaroidImage()

<?php
/* Create the object */
$image = new Imagick('source.png');

/* Set the opacity */
$image->polaroidImage(new ImagickDraw(), 25);

/* output the image */
header('Content-type: image/png');
echo $image;

?>


Reduces the image to a limited number of color level

  • « Imagick::polaroidImage
  • Imagick::previewImages »
  • PHP Manual
  • Imagick
  • Reduces the image to a limited number of color level

Imagick::posterizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::posterizeImage — Reduces the image to a limited number of color level

Descrição

public Imagick::posterizeImage ( int $levels , bool $dither ) : bool

Reduces the image to a limited number of color level.

Parâmetros

levels

dither

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::posterizeImage()

<?php
function posterizeImage($imagePath, $posterizeType, $numberLevels) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->posterizeImage($numberLevels, $posterizeType);
    $imagick->setImageFormat('png');
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

posterizeImage($imagePath, \Imagick::DITHERMETHOD_RIEMERSMA, 8);

?>


Quickly pin-point appropriate parameters for image processing

  • « Imagick::posterizeImage
  • Imagick::previousImage »
  • PHP Manual
  • Imagick
  • Quickly pin-point appropriate parameters for image processing

Imagick::previewImages

(PECL imagick 2, PECL imagick 3)

Imagick::previewImages — Quickly pin-point appropriate parameters for image processing

Descrição

public Imagick::previewImages ( int $preview ) : bool

Tiles 9 thumbnails of the specified image with an image processing operation applied at varying strengths. This is helpful to quickly pin-point an appropriate parameter for an image processing operation.

Parâmetros

preview

Preview type. See Preview type constants

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Move to the previous image in the object

  • « Imagick::previewImages
  • Imagick::profileImage »
  • PHP Manual
  • Imagick
  • Move to the previous image in the object

Imagick::previousImage

(PECL imagick 2, PECL imagick 3)

Imagick::previousImage — Move to the previous image in the object

Descrição

public Imagick::previousImage ( ) : bool

Assocates the previous image in an image list with the Imagick object.

Valor Retornado

Retorna true no sucesso.


Adds or removes a profile from an image

  • « Imagick::previousImage
  • Imagick::quantizeImage »
  • PHP Manual
  • Imagick
  • Adds or removes a profile from an image

Imagick::profileImage

(PECL imagick 2, PECL imagick 3)

Imagick::profileImage — Adds or removes a profile from an image

Descrição

public Imagick::profileImage ( string $name , string $profile ) : bool

Adds or removes a ICC, IPTC, or generic profile from an image. If the profile is NULL, it is removed from the image otherwise added. Use a name of '*' and a profile of NULL to remove all profiles from the image.

Parâmetros

name

profile

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Analyzes the colors within a reference image

  • « Imagick::profileImage
  • Imagick::quantizeImages »
  • PHP Manual
  • Imagick
  • Analyzes the colors within a reference image

Imagick::quantizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::quantizeImage — Analyzes the colors within a reference image

Descrição

public Imagick::quantizeImage ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError ) : bool

Parâmetros

numberColors

colorspace

treedepth

dither

measureError

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::quantizeImage()

<?php
function quantizeImage($imagePath, $numberColors, $colorSpace, $treeDepth, $dither) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->quantizeImage($numberColors, $colorSpace, $treeDepth, $dither, false);
    $imagick->setImageFormat('png');
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Analyzes the colors within a sequence of images

  • « Imagick::quantizeImage
  • Imagick::queryFontMetrics »
  • PHP Manual
  • Imagick
  • Analyzes the colors within a sequence of images

Imagick::quantizeImages

(PECL imagick 2, PECL imagick 3)

Imagick::quantizeImages — Analyzes the colors within a sequence of images

Descrição

public Imagick::quantizeImages ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError ) : bool

Parâmetros

numberColors

colorspace

treedepth

dither

measureError

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Returns an array representing the font metrics

  • « Imagick::quantizeImages
  • Imagick::queryFonts »
  • PHP Manual
  • Imagick
  • Returns an array representing the font metrics

Imagick::queryFontMetrics

(PECL imagick 2, PECL imagick 3)

Imagick::queryFontMetrics — Returns an array representing the font metrics

Descrição

public Imagick::queryFontMetrics ( ImagickDraw $properties , string $text , bool $multiline = ? ) : array

Returns a multi-dimensional array representing the font metrics.

Parâmetros

properties

ImagickDraw object containing font properties

text

The text

multiline

Multiline parameter. If left empty it is autodetected

Valor Retornado

Returns a multi-dimensional array representing the font metrics.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Using Imagick::queryFontMetrics():

Query the metrics for the text and dump the results on the screen.

<?php
/* Create a new Imagick object */
$im = new Imagick();

/* Create an ImagickDraw object */
$draw = new ImagickDraw();

/* Set the font */
$draw->setFont('/path/to/font.ttf');

/* Dump the font metrics, autodetect multiline */
var_dump($im->queryFontMetrics($draw, "Hello World!"));
?>


Returns the configured fonts

  • « Imagick::queryFontMetrics
  • Imagick::queryFormats »
  • PHP Manual
  • Imagick
  • Returns the configured fonts

Imagick::queryFonts

(PECL imagick 2, PECL imagick 3)

Imagick::queryFonts — Returns the configured fonts

Descrição

public static Imagick::queryFonts ( string $pattern = "*" ) : array

Returns the configured fonts.

Parâmetros

pattern

The query pattern

Valor Retornado

Returns an array containing the configured fonts.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::queryFonts()

<?php
        $output = '';
        $output .= "Fonts that match 'Helvetica*' are:<br/>";

        $fontList = \Imagick::queryFonts("Helvetica*");

        foreach ($fontList as $fontName) {
            $output .= '<li>'. $fontName."</li>";
        }

        return $output;

?>


Returns formats supported by Imagick

  • « Imagick::queryFonts
  • Imagick::radialBlurImage »
  • PHP Manual
  • Imagick
  • Returns formats supported by Imagick

Imagick::queryFormats

(PECL imagick 2, PECL imagick 3)

Imagick::queryFormats — Returns formats supported by Imagick

Descrição

public static Imagick::queryFormats ( string $pattern = "*" ) : array

Returns formats supported by Imagick.

Parâmetros

pattern

Valor Retornado

Returns an array containing the formats supported by Imagick.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::queryFormats()

<?php
    function render() {
        $output = "";
        $input = \Imagick::queryformats();
        $columns = 6;

        $output .= "<table border='2'>";

        for ($i=0; $i < count($input); $i += $columns) {
            $output .= "<tr>";
            for ($c=0; $c<$columns; $c++) {
                $output .= "<td>";
                if (($i + $c) <  count($input)) {
                    $output .= $input[$i + $c];
                }
                $output .= "</td>";
            }
            $output .= "</tr>";
        }

        $output .= "</table>";

        return $output;
    }

?>


Radial blurs an image

  • « Imagick::queryFormats
  • Imagick::raiseImage »
  • PHP Manual
  • Imagick
  • Radial blurs an image

Imagick::radialBlurImage

(PECL imagick 2, PECL imagick 3)

Imagick::radialBlurImage — Radial blurs an image

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::radialBlurImage ( float $angle , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Radial blurs an image.

Parâmetros

angle

channel

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::radialBlurImage()

<?php
function radialBlurImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    //Blur 3 times with different radii
    $imagick->radialBlurImage(3);
    $imagick->radialBlurImage(5);
    $imagick->radialBlurImage(7);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Creates a simulated 3d button-like effect

  • « Imagick::radialBlurImage
  • Imagick::randomThresholdImage »
  • PHP Manual
  • Imagick
  • Creates a simulated 3d button-like effect

Imagick::raiseImage

(PECL imagick 2, PECL imagick 3)

Imagick::raiseImage — Creates a simulated 3d button-like effect

Descrição

public Imagick::raiseImage ( int $width , int $height , int $x , int $y , bool $raise ) : bool

Creates a simulated three-dimensional button-like effect by lightening and darkening the edges of the image. Members width and height of raise_info define the width of the vertical and horizontal edge of the effect.

Parâmetros

width

height

x

y

raise

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::raiseImage()

<?php
function raiseImage($imagePath, $width, $height, $x, $y, $raise) {
    $imagick = new \Imagick(realpath($imagePath));

    //x and y do nothing?
    $imagick->raiseImage($width, $height, $x, $y, $raise);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Creates a high-contrast, two-color image

  • « Imagick::raiseImage
  • Imagick::readImage »
  • PHP Manual
  • Imagick
  • Creates a high-contrast, two-color image

Imagick::randomThresholdImage

(PECL imagick 2, PECL imagick 3)

Imagick::randomThresholdImage — Creates a high-contrast, two-color image

Descrição

public Imagick::randomThresholdImage ( float $low , float $high , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Changes the value of individual pixels based on the intensity of each pixel compared to threshold. The result is a high-contrast, two color image. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

low

The low point

high

The high point

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::randomThresholdImage()

<?php
function randomThresholdimage($imagePath, $lowThreshold, $highThreshold, $channel) {
    $imagick = new \Imagick(realpath($imagePath));

    $imagick->randomThresholdimage(
        $lowThreshold * \Imagick::getQuantum(),
        $highThreshold * \Imagick::getQuantum(),
        $channel
    );
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Reads image from filename

  • « Imagick::randomThresholdImage
  • Imagick::readImageBlob »
  • PHP Manual
  • Imagick
  • Reads image from filename

Imagick::readImage

(PECL imagick 2, PECL imagick 3)

Imagick::readImage — Reads image from filename

Descrição

public Imagick::readImage ( string $filename ) : bool

Reads image from filename

Parâmetros

filename

Valor Retornado

Retorna true no sucesso.


Reads image from a binary string

  • « Imagick::readImage
  • Imagick::readImageFile »
  • PHP Manual
  • Imagick
  • Reads image from a binary string

Imagick::readImageBlob

(PECL imagick 2, PECL imagick 3)

Imagick::readImageBlob — Reads image from a binary string

Descrição

public Imagick::readImageBlob ( string $image , string $filename = ? ) : bool

Reads image from a binary string

Parâmetros

image

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::readImageBlob()

<?php
function readImageBlob() {
    $base64 = "iVBORw0KGgoAAAANSUhEUgAAAM0AAAD
 NCAMAAAAsYgRbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5c
 cllPAAAABJQTFRF3NSmzMewPxIG//ncJEJsldTou1jHgAAAARBJREFUeNrs2EEK
 gCAQBVDLuv+V20dENbMY831wKz4Y/VHb/5RGQ0NDQ0NDQ0NDQ0NDQ0NDQ
 0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0PzMWtyaGhoaGhoaGhoaGhoaGhoxtb0QGho
 aGhoaGhoaGhoaGhoaMbRLEvv50VTQ9OTQ5OpyZ01GpM2g0bfmDQaL7S+ofFC6x
 v3ZpxJiywakzbvd9r3RWPS9I2+MWk0+kbf0Hih9Y17U0nTHibrDDQ0NDQ0NDQ0
 NDQ0NDQ0NTXbRSL/AK72o6GhoaGhoRlL8951vwsNDQ0NDQ1NDc0WyHtDTEhD
 Q0NDQ0NTS5MdGhoaGhoaGhoaGhoaGhoaGhoaGhoaGposzSHAAErMwwQ2HwRQ
 AAAAAElFTkSuQmCC";

    $imageBlob = base64_decode($base64);

    $imagick = new Imagick();
    $imagick->readImageBlob($imageBlob);

    header("Content-Type: image/png");
    echo $imagick;
}

?>


Reads image from open filehandle

  • « Imagick::readImageBlob
  • Imagick::readimages »
  • PHP Manual
  • Imagick
  • Reads image from open filehandle

Imagick::readImageFile

(PECL imagick 2, PECL imagick 3)

Imagick::readImageFile — Reads image from open filehandle

Descrição

public Imagick::readImageFile ( resource $filehandle , string $fileName = null ) : bool

Reads image from open filehandle

Parâmetros

filehandle

fileName

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Description

  • « Imagick::readImageFile
  • Imagick::recolorImage »
  • PHP Manual
  • Imagick
  • Description

Imagick::readimages

(PECL imagick 2, PECL imagick 3)

Imagick::readimages — Description

Descrição

public Imagick::readImages ( array $filenames ) : bool

Reads image from an array of filenames. All the images are held in a single Imagick object.

Parâmetros

filenames

Valor Retornado

Retorna true no sucesso.


Recolors image

  • « Imagick::readimages
  • Imagick::reduceNoiseImage »
  • PHP Manual
  • Imagick
  • Recolors image

Imagick::recolorImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::recolorImage — Recolors image

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::recolorImage ( array $matrix ) : bool

Translate, scale, shear, or rotate image colors. This method supports variable sized matrices but normally 5x5 matrix is used for RGBA and 6x6 is used for CMYK. The last row should contain the normalized values. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.6 ou superior.

Parâmetros

matrix

The matrix containing the color values

Valor Retornado

Retorna true no sucesso.

Veja Também

  • Imagick::displayImage() - Displays an image

Exemplos

Exemplo #1 Imagick::recolorImage()

<?php
function recolorImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $remapColor = [ 1, 0, 0,
        0, 0, 1,
        0, 1, 0,];

//$remapColor = [
//    1.438, -0.122, -0.016,  0, 0, -0.03,
//    -0.062,  1.378, -0.016,  0, 0,  0.05,
//    -0.062, -0.122, 1.483,   0, 0, -0.02,
//];

    @$imagick->recolorImage($remapColor);

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Smooths the contours of an image

  • « Imagick::recolorImage
  • Imagick::remapImage »
  • PHP Manual
  • Imagick
  • Smooths the contours of an image

Imagick::reduceNoiseImage

(PECL imagick 2, PECL imagick 3)

Imagick::reduceNoiseImage — Smooths the contours of an image

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::reduceNoiseImage ( float $radius ) : bool

Smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and Imagick::reduceNoiseImage() selects a suitable radius for you.

Parâmetros

radius

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::reduceNoiseImage()

<?php
function reduceNoiseImage($imagePath, $reduceNoise) {
    $imagick = new \Imagick(realpath($imagePath));
    @$imagick->reduceNoiseImage($reduceNoise);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Remaps image colors

  • « Imagick::reduceNoiseImage
  • Imagick::removeImage »
  • PHP Manual
  • Imagick
  • Remaps image colors

Imagick::remapImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::remapImage — Remaps image colors

Descrição

public Imagick::remapImage ( Imagick $replacement , int $DITHER ) : bool

Replaces colors an image with those defined by replacement. The colors are replaced with the closest possible color. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.5 ou superior.

Parâmetros

replacement

An Imagick object containing the replacement colors

DITHER

Refer to this list of dither method constants

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Removes an image from the image list

  • « Imagick::remapImage
  • Imagick::removeImageProfile »
  • PHP Manual
  • Imagick
  • Removes an image from the image list

Imagick::removeImage

(PECL imagick 2, PECL imagick 3)

Imagick::removeImage — Removes an image from the image list

Descrição

public Imagick::removeImage ( ) : bool

Removes an image from the image list.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Removes the named image profile and returns it

  • « Imagick::removeImage
  • Imagick::render »
  • PHP Manual
  • Imagick
  • Removes the named image profile and returns it

Imagick::removeImageProfile

(PECL imagick 2, PECL imagick 3)

Imagick::removeImageProfile — Removes the named image profile and returns it

Descrição

public Imagick::removeImageProfile ( string $name ) : string

Removes the named image profile and returns it.

Parâmetros

name

Valor Retornado

Returns a string containing the profile of the image.

Erros

Lança ImagickException em caso de erro.


Renders all preceding drawing commands

  • « Imagick::removeImageProfile
  • Imagick::resampleImage »
  • PHP Manual
  • Imagick
  • Renders all preceding drawing commands

Imagick::render

(PECL imagick 2, PECL imagick 3)

Imagick::render — Renders all preceding drawing commands

Descrição

public Imagick::render ( ) : bool

Renders all preceding drawing commands.

Valor Retornado

Retorna true no sucesso.


Resample image to desired resolution

  • « Imagick::render
  • Imagick::resetImagePage »
  • PHP Manual
  • Imagick
  • Resample image to desired resolution

Imagick::resampleImage

(PECL imagick 2, PECL imagick 3)

Imagick::resampleImage — Resample image to desired resolution

Descrição

public Imagick::resampleImage ( float $x_resolution , float $y_resolution , int $filter , float $blur ) : bool

Resample image to desired resolution.

Parâmetros

x_resolution

y_resolution

filter

blur

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::resampleImage()

<?php
function resampleImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));

    $imagick->resampleImage(200, 200, \Imagick::FILTER_LANCZOS, 1);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Reset image page

  • « Imagick::resampleImage
  • Imagick::resizeImage »
  • PHP Manual
  • Imagick
  • Reset image page

Imagick::resetImagePage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::resetImagePage — Reset image page

Descrição

public Imagick::resetImagePage ( string $page ) : bool

The page definition as a string. The string is in format WxH+x+y. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.6 ou superior.

Parâmetros

page

The page definition. For example 7168x5147+0+0

Valor Retornado

Retorna true no sucesso.


Scales an image

  • « Imagick::resetImagePage
  • Imagick::rollImage »
  • PHP Manual
  • Imagick
  • Scales an image

Imagick::resizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::resizeImage — Scales an image

Descrição

public Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur , bool $bestfit = false , bool $legacy = false ) : bool

Scales an image to the desired dimensions with a filter.

Nota: O comportamento do parâmetro bestfit mudou no Imagick 3.0.0. Antes desta versão ao informar dimensões 400x400 numa imagem de 200x150 não causaria alterações. No Imagick 3.0.0 e posteriores a imagem seria escalada para 400x300 por ser o "melhor ajuste" entre as dimensões. Se bestfit é informado tanto a altura como comprimento devem ser informados.

Parâmetros

columns

Width of the image

rows

Height of the image

filter

Refer to the list of filter constants.

blur

The blur factor where > 1 is blurry, < 1 is sharp.

bestfit

Optional fit parameter.

Valor Retornado

Retorna true no sucesso.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.

Exemplos

Exemplo #1 Imagick::resizeImage()

<?php
function resizeImage($imagePath, $width, $height, $filterType, $blur, $bestFit, $cropZoom) {
    //The blur factor where > 1 is blurry, < 1 is sharp.
    $imagick = new \Imagick(realpath($imagePath));

    $imagick->resizeImage($width, $height, $filterType, $blur, $bestFit);

    $cropWidth = $imagick->getImageWidth();
    $cropHeight = $imagick->getImageHeight();

    if ($cropZoom) {
        $newWidth = $cropWidth / 2;
        $newHeight = $cropHeight / 2;

        $imagick->cropimage(
            $newWidth,
            $newHeight,
            ($cropWidth - $newWidth) / 2,
            ($cropHeight - $newHeight) / 2
        );

        $imagick->scaleimage(
            $imagick->getImageWidth() * 4,
            $imagick->getImageHeight() * 4
        );
    }

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Offsets an image

  • « Imagick::resizeImage
  • Imagick::rotateImage »
  • PHP Manual
  • Imagick
  • Offsets an image

Imagick::rollImage

(PECL imagick 2, PECL imagick 3)

Imagick::rollImage — Offsets an image

Descrição

public Imagick::rollImage ( int $x , int $y ) : bool

Offsets an image as defined by x and y.

Parâmetros

x

The X offset.

y

The Y offset.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::rollImage()

<?php
function rollImage($imagePath, $rollX, $rollY) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->rollimage($rollX, $rollY);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Rotates an image

  • « Imagick::rollImage
  • Imagick::rotationalBlurImage »
  • PHP Manual
  • Imagick
  • Rotates an image

Imagick::rotateImage

(PECL imagick 2, PECL imagick 3)

Imagick::rotateImage — Rotates an image

Descrição

public Imagick::rotateImage ( mixed $background , float $degrees ) : bool

Rotates an image the specified number of degrees. Empty triangles left over from rotating the image are filled with the background color.

Parâmetros

background

The background color

degrees

Rotation angle, in degrees. The rotation angle is interpreted as the number of degrees to rotate the image clockwise.

Valor Retornado

Retorna true no sucesso.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Exemplos

Exemplo #1 Imagick::rotateImage()

<?php
function rotateImage($imagePath, $angle, $color) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->rotateimage($color, $angle);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Description

  • « Imagick::rotateImage
  • Imagick::roundCorners »
  • PHP Manual
  • Imagick
  • Description

Imagick::rotationalBlurImage

(PECL imagick 3 >= 3.3.0)

Imagick::rotationalBlurImage — Description

Descrição

public Imagick::rotationalBlurImage ( float $angle , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Rotational blurs an image.

Parâmetros

angle

The angle to apply the blur over.

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::rotationalBlurImage()

<?php
function rotationalBlurImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->rotationalBlurImage(3);
    $imagick->rotationalBlurImage(5);
    $imagick->rotationalBlurImage(7);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Rounds image corners

  • « Imagick::rotationalBlurImage
  • Imagick::sampleImage »
  • PHP Manual
  • Imagick
  • Rounds image corners

Imagick::roundCorners

(PECL imagick 2, PECL imagick 3)

Imagick::roundCorners — Rounds image corners

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::roundCorners ( float $x_rounding , float $y_rounding , float $stroke_width = 10 , float $displace = 5 , float $size_correction = -6 ) : bool

Rounds image corners. The first two parameters control the amount of rounding and the three last parameters can be used to fine-tune the rounding process. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

x_rounding

x rounding

y_rounding

y rounding

stroke_width

stroke width

displace

image displace

size_correction

size correction

Exemplos

Exemplo #1 Using Imagick::roundCorners():

Rounds the image corners

<?php

$image = new Imagick();
$image->newPseudoImage(100, 100, "magick:rose");
$image->setImageFormat("png");

$image->roundCorners(5,3);
$image->writeImage("rounded.png");
?>

Valor Retornado

Retorna true no sucesso.


Scales an image with pixel sampling

  • « Imagick::roundCorners
  • Imagick::scaleImage »
  • PHP Manual
  • Imagick
  • Scales an image with pixel sampling

Imagick::sampleImage

(PECL imagick 2, PECL imagick 3)

Imagick::sampleImage — Scales an image with pixel sampling

Descrição

public Imagick::sampleImage ( int $columns , int $rows ) : bool

Scales an image to the desired dimensions with pixel sampling. Unlike other scaling methods, this method does not introduce any additional color into the scaled image.

Parâmetros

columns

rows

Valor Retornado

Retorna true no sucesso.


Scales the size of an image

  • « Imagick::sampleImage
  • Imagick::segmentImage »
  • PHP Manual
  • Imagick
  • Scales the size of an image

Imagick::scaleImage

(PECL imagick 2, PECL imagick 3)

Imagick::scaleImage — Scales the size of an image

Descrição

public Imagick::scaleImage ( int $cols , int $rows , bool $bestfit = false , bool $legacy = false ) : bool

Scales the size of an image to the given dimensions. The other parameter will be calculated if 0 is passed as either param.

Nota: O comportamento do parâmetro bestfit mudou no Imagick 3.0.0. Antes desta versão ao informar dimensões 400x400 numa imagem de 200x150 não causaria alterações. No Imagick 3.0.0 e posteriores a imagem seria escalada para 400x300 por ser o "melhor ajuste" entre as dimensões. Se bestfit é informado tanto a altura como comprimento devem ser informados.

Parâmetros

cols

rows

bestfit

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.

Exemplos

Exemplo #1 Imagick::scaleImage()

<?php
function scaleImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->scaleImage(150, 150, true);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Segments an image

  • « Imagick::scaleImage
  • Imagick::selectiveBlurImage »
  • PHP Manual
  • Imagick
  • Segments an image

Imagick::segmentImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::segmentImage — Segments an image

Descrição

public Imagick::segmentImage ( int $COLORSPACE , float $cluster_threshold , float $smooth_threshold , bool $verbose = false ) : bool

Analyses the image and identifies units that are similar. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.5 ou superior.

Parâmetros

COLORSPACE

One of the COLORSPACE constants.

cluster_threshold

A percentage describing minimum number of pixels contained in hexedra before it is considered valid.

smooth_threshold

Eliminates noise from the histogram.

verbose

Whether to output detailed information about recognised classes.

Valor Retornado

Exemplos

Exemplo #1 Imagick::segmentImage()

<?php
function segmentImage($imagePath, $colorSpace, $clusterThreshold, $smoothThreshold) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->segmentImage($colorSpace, $clusterThreshold, $smoothThreshold);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

segmentImage($imagePath, \Imagick::COLORSPACE_RGB, 5, 5);

?>


Description

  • « Imagick::segmentImage
  • Imagick::separateImageChannel »
  • PHP Manual
  • Imagick
  • Description

Imagick::selectiveBlurImage

(PECL imagick 3 >= 3.3.0)

Imagick::selectiveBlurImage — Description

Descrição

public Imagick::selectiveBlurImage ( float $radius , float $sigma , float $threshold , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Selectively blur an image within a contrast threshold. It is similar to the unsharpen mask that sharpens everything with contrast above a certain threshold.

Parâmetros

radius

sigma

threshold

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::selectiveBlurImage()

<?php
function selectiveBlurImage($imagePath, $radius, $sigma, $threshold, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->selectiveBlurImage($radius, $sigma, $threshold, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Separates a channel from the image

  • « Imagick::selectiveBlurImage
  • Imagick::sepiaToneImage »
  • PHP Manual
  • Imagick
  • Separates a channel from the image

Imagick::separateImageChannel

(PECL imagick 2, PECL imagick 3)

Imagick::separateImageChannel — Separates a channel from the image

Descrição

public Imagick::separateImageChannel ( int $channel ) : bool

Separates a channel from the image and returns a grayscale image. A channel is a particular color component of each pixel in the image.

Parâmetros

channel

Which 'channel' to return. For colorspaces other than RGB, you can still use the CHANNEL_RED, CHANNEL_GREEN, CHANNEL_BLUE constants to indicate the 1st, 2nd and 3rd channels.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::separateImageChannel()

<?php
function separateImageChannel($imagePath, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->separateimagechannel($channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

separateImageChannel($imagePath, \Imagick::CHANNEL_GREEN);

?>


Sepia tones an image

  • « Imagick::separateImageChannel
  • Imagick::setBackgroundColor »
  • PHP Manual
  • Imagick
  • Sepia tones an image

Imagick::sepiaToneImage

(PECL imagick 2, PECL imagick 3)

Imagick::sepiaToneImage — Sepia tones an image

Descrição

public Imagick::sepiaToneImage ( float $threshold ) : bool

Applies a special effect to the image, similar to the effect achieved in a photo darkroom by sepia toning. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the sepia toning. A threshold of 80 is a good starting point for a reasonable tone.

Parâmetros

threshold

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::sepiaToneImage()

<?php
function sepiaToneImage($imagePath, $sepia) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->sepiaToneImage($sepia);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Sets the object's default background color

  • « Imagick::sepiaToneImage
  • Imagick::setColorspace »
  • PHP Manual
  • Imagick
  • Sets the object's default background color

Imagick::setBackgroundColor

(PECL imagick 2, PECL imagick 3)

Imagick::setBackgroundColor — Sets the object's default background color

Descrição

public Imagick::setBackgroundColor ( mixed $background ) : bool

Sets the object's default background color.

Parâmetros

background

Valor Retornado

Retorna true no sucesso.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.


Set colorspace

  • « Imagick::setBackgroundColor
  • Imagick::setCompression »
  • PHP Manual
  • Imagick
  • Set colorspace

Imagick::setColorspace

(PECL imagick 3)

Imagick::setColorspace — Set colorspace

Descrição

public Imagick::setColorspace ( int $COLORSPACE ) : bool

Sets the global colorspace value for the object. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.5.7 ou superior.

Parâmetros

COLORSPACE

One of the COLORSPACE constants

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the object's default compression type

  • « Imagick::setColorspace
  • Imagick::setCompressionQuality »
  • PHP Manual
  • Imagick
  • Sets the object's default compression type

Imagick::setCompression

(PECL imagick 2, PECL imagick 3)

Imagick::setCompression — Sets the object's default compression type

Descrição

public Imagick::setCompression ( int $compression ) : bool

Sets the object's default compression type

Parâmetros

compression

The compression type. See the Imagick::COMPRESSION_* constants.

Valor Retornado

Retorna true no sucesso.


Sets the object's default compression quality

  • « Imagick::setCompression
  • Imagick::setFilename »
  • PHP Manual
  • Imagick
  • Sets the object's default compression quality

Imagick::setCompressionQuality

(PECL imagick 2, PECL imagick 3)

Imagick::setCompressionQuality — Sets the object's default compression quality

Descrição

public Imagick::setCompressionQuality ( int $quality ) : bool

Sets the object's default compression quality.

Cuidado

This method only works for new images e.g. those created through Imagick::newPseudoImage. For existing images you should use Imagick::setImageCompressionQuality().

Parâmetros

quality

An int between 1 and 100, 1 = high compression, 100 low compression.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::setCompressionQuality()

<?php
function setCompressionQuality($imagePath, $quality) {

    $backgroundImagick = new \Imagick(realpath($imagePath));
    $imagick = new \Imagick();
    $imagick->setCompressionQuality($quality);
    $imagick->newPseudoImage(
        $backgroundImagick->getImageWidth(),
        $backgroundImagick->getImageHeight(),
        'canvas:white'
    );

    $imagick->compositeImage(
        $backgroundImagick,
        \Imagick::COMPOSITE_ATOP,
        0,
        0
    );

    $imagick->setFormat("jpg");
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Sets the filename before you read or write the image

  • « Imagick::setCompressionQuality
  • Imagick::setFirstIterator »
  • PHP Manual
  • Imagick
  • Sets the filename before you read or write the image

Imagick::setFilename

(PECL imagick 2, PECL imagick 3)

Imagick::setFilename — Sets the filename before you read or write the image

Descrição

public Imagick::setFilename ( string $filename ) : bool

Sets the filename before you read or write an image file.

Parâmetros

filename

Valor Retornado

Retorna true no sucesso.


Sets the Imagick iterator to the first image

  • « Imagick::setFilename
  • Imagick::setFont »
  • PHP Manual
  • Imagick
  • Sets the Imagick iterator to the first image

Imagick::setFirstIterator

(PECL imagick 2, PECL imagick 3)

Imagick::setFirstIterator — Sets the Imagick iterator to the first image

Descrição

public Imagick::setFirstIterator ( ) : bool

Sets the Imagick iterator to the first image.

Valor Retornado

Retorna true no sucesso.


Sets font

  • « Imagick::setFirstIterator
  • Imagick::setFormat »
  • PHP Manual
  • Imagick
  • Sets font

Imagick::setFont

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::setFont — Sets font

Descrição

public Imagick::setFont ( string $font ) : bool

Sets object's font property. This method can be used for example to set font for caption: pseudo-format. The font needs to be configured in ImageMagick configuration or a file by the name of font must exist. This method should not be confused with ImagickDraw::setFont() which sets the font for a specific ImagickDraw object. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.7 ou superior.

Parâmetros

font

Font name or a filename

Valor Retornado

Retorna true no sucesso.

Veja Também

  • Imagick::getFont() - Gets font
  • ImagickDraw::setFont() - Sets the fully-specified font to use when annotating with text
  • ImagickDraw::getFont() - Returns the font

Exemplos

Exemplo #1 A Imagick::setFont() example

Example of using Imagick::setFont

<?php
/* Create new imagick object */
$im = new Imagick();

/* Set the font for the object */
$im->setFont("example.ttf");

/* Create new caption */
$im->newPseudoImage(100, 100, "caption:Hello");

/* Do something with the image */
?>


Sets the format of the Imagick object

  • « Imagick::setFont
  • Imagick::setGravity »
  • PHP Manual
  • Imagick
  • Sets the format of the Imagick object

Imagick::setFormat

(PECL imagick 2, PECL imagick 3)

Imagick::setFormat — Sets the format of the Imagick object

Descrição

public Imagick::setFormat ( string $format ) : bool

Sets the format of the Imagick object.

Parâmetros

format

Valor Retornado

Retorna true no sucesso.


Sets the gravity

  • « Imagick::setFormat
  • Imagick::setImage »
  • PHP Manual
  • Imagick
  • Sets the gravity

Imagick::setGravity

(PECL imagick 2 >= 2.2.0, PECL imagick 3)

Imagick::setGravity — Sets the gravity

Descrição

public Imagick::setGravity ( int $gravity ) : bool

Sets the global gravity property for the Imagick object. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.0 ou superior.

Parâmetros

gravity

The gravity property. Refer to the list of gravity constants.

Valor Retornado

Não há valor retornado.


Replaces image in the object

  • « Imagick::setGravity
  • Imagick::setImageAlphaChannel »
  • PHP Manual
  • Imagick
  • Replaces image in the object

Imagick::setImage

(PECL imagick 2, PECL imagick 3)

Imagick::setImage — Replaces image in the object

Descrição

public Imagick::setImage ( Imagick $replace ) : bool

Replaces the current image sequence with the image from replace object.

Parâmetros

replace

The replace Imagick object

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 A Imagick::setImage() example

An example of using Imagick::setImage()

<?php
/* Create the objects */
$image = new Imagick('source.jpg');
$replace = new Imagick('replace.jpg');

/* source.jpg is replaced with replace.jpg */
$image->setImage($replace);

/* output the image */
header('Content-type: image/jpeg');
echo $image;

?>


Sets image alpha channel

  • « Imagick::setImage
  • Imagick::setImageArtifact »
  • PHP Manual
  • Imagick
  • Sets image alpha channel

Imagick::setImageAlphaChannel

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::setImageAlphaChannel — Sets image alpha channel

Descrição

public Imagick::setImageAlphaChannel ( int $mode ) : bool

Activate or deactivate image alpha channel. The mode is one of the Imagick::ALPHACHANNEL_* constants. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.8 ou superior.

Parâmetros

mode

One of the Imagick::ALPHACHANNEL_* constants

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Veja Também

  • Imagick::setImageMatte() - Sets the image matte channel
  • Imagick Alpha Channel Constants


Set image artifact

  • « Imagick::setImageAlphaChannel
  • Imagick::setImageAttribute »
  • PHP Manual
  • Imagick
  • Set image artifact

Imagick::setImageArtifact

(PECL imagick 3)

Imagick::setImageArtifact — Set image artifact

Descrição

public Imagick::setImageArtifact ( string $artifact , string $value ) : bool

Associates an artifact with the image. The difference between image properties and image artifacts is that properties are public and artifacts are private. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.5.7 ou superior.

Parâmetros

artifact

The name of the artifact

value

The value of the artifact

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Veja Também

  • Imagick::getImageArtifact() - Get image artifact
  • Imagick::deleteImageArtifact() - Delete image artifact

Exemplos

Exemplo #1 Imagick::setImageArtifact()

<?php
function setImageArtifact() {

    $src1 = new \Imagick(realpath("./images/artifact/source1.png"));
    $src2 = new \Imagick(realpath("./images/artifact/source2.png"));

    $src2->setImageVirtualPixelMethod(\Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
    $src2->setImageArtifact('compose:args', "1,0,-0.5,0.5");
    $src1->compositeImage($src2, Imagick::COMPOSITE_MATHEMATICS, 0, 0);

    $src1->setImageFormat('png');
    header("Content-Type: image/png");
    echo $src1->getImagesBlob();
}

?>


Description

  • « Imagick::setImageArtifact
  • Imagick::setImageBackgroundColor »
  • PHP Manual
  • Imagick
  • Description

Imagick::setImageAttribute

(PECL imagick 2, PECL imagick 3)

Imagick::setImageAttribute — Description

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::setImageAttribute ( string $key , string $value ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

key

value

Valor Retornado

Retorna true no sucesso.


Sets the image background color

  • « Imagick::setImageAttribute
  • Imagick::setImageBias »
  • PHP Manual
  • Imagick
  • Sets the image background color

Imagick::setImageBackgroundColor

(PECL imagick 2, PECL imagick 3)

Imagick::setImageBackgroundColor — Sets the image background color

Descrição

public Imagick::setImageBackgroundColor ( mixed $background ) : bool

Sets the image background color.

Parâmetros

background

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as the parameter. Previous versions allow only an ImagickPixel object.


Sets the image bias for any method that convolves an image

  • « Imagick::setImageBackgroundColor
  • Imagick::setImageBiasQuantum »
  • PHP Manual
  • Imagick
  • Sets the image bias for any method that convolves an image

Imagick::setImageBias

(PECL imagick 2, PECL imagick 3)

Imagick::setImageBias — Sets the image bias for any method that convolves an image

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::setImageBias ( float $bias ) : bool

Sets the image bias for any method that convolves an image (e.g. Imagick::ConvolveImage()).

Parâmetros

bias

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::setImageBias()

<?php
//requires ImageMagick version 6.9.0-1 to have an effect on convolveImage
function setImageBias($bias) {
    $imagick = new \Imagick(realpath("images/stack.jpg"));

    $xKernel = array(
        -0.70, 0, 0.70,
        -0.70, 0, 0.70,
        -0.70, 0, 0.70
    );

    $imagick->setImageBias($bias * \Imagick::getQuantum());
    $imagick->convolveImage($xKernel, \Imagick::CHANNEL_ALL);

    $imagick->setImageFormat('png');

    header('Content-type: image/png');
    echo $imagick->getImageBlob();
}

?>


Description

  • « Imagick::setImageBias
  • Imagick::setImageBluePrimary »
  • PHP Manual
  • Imagick
  • Description

Imagick::setImageBiasQuantum

(PECL imagick 3 >= 3.3.0)

Imagick::setImageBiasQuantum — Description

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::setImageBiasQuantum ( string $bias ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

bias

Valor Retornado


Sets the image chromaticity blue primary point

  • « Imagick::setImageBiasQuantum
  • Imagick::setImageBorderColor »
  • PHP Manual
  • Imagick
  • Sets the image chromaticity blue primary point

Imagick::setImageBluePrimary

(PECL imagick 2, PECL imagick 3)

Imagick::setImageBluePrimary — Sets the image chromaticity blue primary point

Descrição

public Imagick::setImageBluePrimary ( float $x , float $y ) : bool

Sets the image chromaticity blue primary point.

Parâmetros

x

y

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image border color

  • « Imagick::setImageBluePrimary
  • Imagick::setImageChannelDepth »
  • PHP Manual
  • Imagick
  • Sets the image border color

Imagick::setImageBorderColor

(PECL imagick 2, PECL imagick 3)

Imagick::setImageBorderColor — Sets the image border color

Descrição

public Imagick::setImageBorderColor ( mixed $border ) : bool

Sets the image border color.

Parâmetros

border

The border color

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.


Sets the depth of a particular image channel

  • « Imagick::setImageBorderColor
  • Imagick::setImageClipMask »
  • PHP Manual
  • Imagick
  • Sets the depth of a particular image channel

Imagick::setImageChannelDepth

(PECL imagick 2, PECL imagick 3)

Imagick::setImageChannelDepth — Sets the depth of a particular image channel

Descrição

public Imagick::setImageChannelDepth ( int $channel , int $depth ) : bool

Sets the depth of a particular image channel.

Parâmetros

channel

depth

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets image clip mask

  • « Imagick::setImageChannelDepth
  • Imagick::setImageColormapColor »
  • PHP Manual
  • Imagick
  • Sets image clip mask

Imagick::setImageClipMask

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::setImageClipMask — Sets image clip mask

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::setImageClipMask ( Imagick $clip_mask ) : bool

Sets image clip mask from another Imagick object. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.6 ou superior.

Parâmetros

clip_mask

The Imagick object containing the clip mask

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::setImageClipMask()

<?php
function setImageClipMask($imagePath) {
    $imagick = new \Imagick();
    $imagick->readImage(realpath($imagePath));

    $width = $imagick->getImageWidth();
    $height = $imagick->getImageHeight();

    $clipMask = new \Imagick();
    $clipMask->newPseudoImage(
        $width,
        $height,
        "canvas:transparent"
    );

    $draw = new \ImagickDraw();
    $draw->setFillColor('white');
    $draw->circle(
        $width / 2,
        $height / 2,
        ($width / 2) + ($width / 4),
        $height / 2
    );
    $clipMask->drawImage($draw);
    $imagick->setImageClipMask($clipMask);

    $imagick->negateImage(false);
    $imagick->setFormat("png");

    header("Content-Type: image/png");
    echo $imagick->getImagesBlob();

}

?>


Sets the color of the specified colormap index

  • « Imagick::setImageClipMask
  • Imagick::setImageColorspace »
  • PHP Manual
  • Imagick
  • Sets the color of the specified colormap index

Imagick::setImageColormapColor

(PECL imagick 2, PECL imagick 3)

Imagick::setImageColormapColor — Sets the color of the specified colormap index

Descrição

public Imagick::setImageColormapColor ( int $index , ImagickPixel $color ) : bool

Sets the color of the specified colormap index.

Parâmetros

index

color

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image colorspace

  • « Imagick::setImageColormapColor
  • Imagick::setImageCompose »
  • PHP Manual
  • Imagick
  • Sets the image colorspace

Imagick::setImageColorspace

(PECL imagick 2, PECL imagick 3)

Imagick::setImageColorspace — Sets the image colorspace

Descrição

public Imagick::setImageColorspace ( int $colorspace ) : bool

Sets the image colorspace. This method should be used when creating new images. To change the colorspace of an existing image, you should use Imagick::transformImageColorspace().

Parâmetros

colorspace

One of the COLORSPACE constants

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image composite operator

  • « Imagick::setImageColorspace
  • Imagick::setImageCompression »
  • PHP Manual
  • Imagick
  • Sets the image composite operator

Imagick::setImageCompose

(PECL imagick 2, PECL imagick 3)

Imagick::setImageCompose — Sets the image composite operator

Descrição

public Imagick::setImageCompose ( int $compose ) : bool

Sets the image composite operator, useful for specifying how to composite the image thumbnail when using the Imagick::montageImage() method.

Parâmetros

compose

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image compression

  • « Imagick::setImageCompose
  • Imagick::setImageCompressionQuality »
  • PHP Manual
  • Imagick
  • Sets the image compression

Imagick::setImageCompression

(PECL imagick 2, PECL imagick 3)

Imagick::setImageCompression — Sets the image compression

Descrição

public Imagick::setImageCompression ( int $compression ) : bool

Parâmetros

compression

One of the COMPRESSION constants

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image compression quality

  • « Imagick::setImageCompression
  • Imagick::setImageDelay »
  • PHP Manual
  • Imagick
  • Sets the image compression quality

Imagick::setImageCompressionQuality

(PECL imagick 2, PECL imagick 3)

Imagick::setImageCompressionQuality — Sets the image compression quality

Descrição

public Imagick::setImageCompressionQuality ( int $quality ) : bool

Sets the image compression quality.

Parâmetros

quality

The image compression quality as an integer

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::setImageCompressionQuality()

<?php
function setImageCompressionQuality($imagePath, $quality) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setImageCompressionQuality($quality);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Sets the image delay

  • « Imagick::setImageCompressionQuality
  • Imagick::setImageDepth »
  • PHP Manual
  • Imagick
  • Sets the image delay

Imagick::setImageDelay

(PECL imagick 2, PECL imagick 3)

Imagick::setImageDelay — Sets the image delay

Descrição

public Imagick::setImageDelay ( int $delay ) : bool

Sets the image delay. For an animated image this is the amount of time that this frame of the image should be displayed for, before displaying the next frame.

The delay can be set individually for each frame in an image.

Parâmetros

delay

The amount of time expressed in 'ticks' that the image should be displayed for. For animated GIFs there are 100 ticks per second, so a value of 20 would be 20/100 of a second aka 1/5th of a second.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Modify animated Gif with Imagick::setImageDelay()

<?php

// Modify an animated Gif so that it's frames are played at a variable speed,
// varying between being shown for 50ms down to 0ms, which will cause the frame
// to be skipped in most browsers.
$imagick = new Imagick(realpath("Test.gif"));
$imagick = $imagick->coalesceImages();

$frameCount = 0;

foreach ($imagick as $frame) {
    $imagick->setImageDelay((($frameCount % 11) * 5));
    $frameCount++;
}

$imagick = $imagick->deconstructImages();

$imagick->writeImages("/path/to/save/output.gif", true);

?>


Sets the image depth

  • « Imagick::setImageDelay
  • Imagick::setImageDispose »
  • PHP Manual
  • Imagick
  • Sets the image depth

Imagick::setImageDepth

(PECL imagick 2, PECL imagick 3)

Imagick::setImageDepth — Sets the image depth

Descrição

public Imagick::setImageDepth ( int $depth ) : bool

Sets the image depth.

Parâmetros

depth

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image disposal method

  • « Imagick::setImageDepth
  • Imagick::setImageExtent »
  • PHP Manual
  • Imagick
  • Sets the image disposal method

Imagick::setImageDispose

(PECL imagick 2, PECL imagick 3)

Imagick::setImageDispose — Sets the image disposal method

Descrição

public Imagick::setImageDispose ( int $dispose ) : bool

Sets the image disposal method.

Parâmetros

dispose

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image size

  • « Imagick::setImageDispose
  • Imagick::setImageFilename »
  • PHP Manual
  • Imagick
  • Sets the image size

Imagick::setImageExtent

(PECL imagick 2, PECL imagick 3)

Imagick::setImageExtent — Sets the image size

Descrição

public Imagick::setImageExtent ( int $columns , int $rows ) : bool

Sets the image size (i.e. columns & rows).

Parâmetros

columns

rows

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the filename of a particular image

  • « Imagick::setImageExtent
  • Imagick::setImageFormat »
  • PHP Manual
  • Imagick
  • Sets the filename of a particular image

Imagick::setImageFilename

(PECL imagick 2, PECL imagick 3)

Imagick::setImageFilename — Sets the filename of a particular image

Descrição

public Imagick::setImageFilename ( string $filename ) : bool

Sets the filename of a particular image in a sequence.

Parâmetros

filename

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the format of a particular image

  • « Imagick::setImageFilename
  • Imagick::setImageGamma »
  • PHP Manual
  • Imagick
  • Sets the format of a particular image

Imagick::setImageFormat

(PECL imagick 2, PECL imagick 3)

Imagick::setImageFormat — Sets the format of a particular image

Descrição

public Imagick::setImageFormat ( string $format ) : bool

Sets the format of a particular image in a sequence.

Parâmetros

format

String presentation of the image format. Format support depends on the ImageMagick installation.

Valor Retornado

Retorna true no sucesso.


Sets the image gamma

  • « Imagick::setImageFormat
  • Imagick::setImageGravity »
  • PHP Manual
  • Imagick
  • Sets the image gamma

Imagick::setImageGamma

(PECL imagick 2, PECL imagick 3)

Imagick::setImageGamma — Sets the image gamma

Descrição

public Imagick::setImageGamma ( float $gamma ) : bool

Sets the image gamma.

Parâmetros

gamma

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image gravity

  • « Imagick::setImageGamma
  • Imagick::setImageGreenPrimary »
  • PHP Manual
  • Imagick
  • Sets the image gravity

Imagick::setImageGravity

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::setImageGravity — Sets the image gravity

Descrição

public Imagick::setImageGravity ( int $gravity ) : bool

Sets the gravity property for the current image. This method can be used to set the gravity property for a single image sequence. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.4 ou superior.

Parâmetros

gravity

The gravity property. Refer to the list of gravity constants.

Valor Retornado

Não há valor retornado.


Sets the image chromaticity green primary point

  • « Imagick::setImageGravity
  • Imagick::setImageIndex »
  • PHP Manual
  • Imagick
  • Sets the image chromaticity green primary point

Imagick::setImageGreenPrimary

(PECL imagick 2, PECL imagick 3)

Imagick::setImageGreenPrimary — Sets the image chromaticity green primary point

Descrição

public Imagick::setImageGreenPrimary ( float $x , float $y ) : bool

Sets the image chromaticity green primary point.

Parâmetros

x

y

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Set the iterator position

  • « Imagick::setImageGreenPrimary
  • Imagick::setImageInterlaceScheme »
  • PHP Manual
  • Imagick
  • Set the iterator position

Imagick::setImageIndex

(PECL imagick 2, PECL imagick 3)

Imagick::setImageIndex — Set the iterator position

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::setImageIndex ( int $index ) : bool

Set the iterator to the position in the image list specified with the index parameter.

This method has been deprecated. See Imagick::setIteratorIndex().

Parâmetros

index

The position to set the iterator to

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image compression

  • « Imagick::setImageIndex
  • Imagick::setImageInterpolateMethod »
  • PHP Manual
  • Imagick
  • Sets the image compression

Imagick::setImageInterlaceScheme

(PECL imagick 2, PECL imagick 3)

Imagick::setImageInterlaceScheme — Sets the image compression

Descrição

public Imagick::setImageInterlaceScheme ( int $interlace_scheme ) : bool

Sets the image compression.

Parâmetros

interlace_scheme

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image interpolate pixel method

  • « Imagick::setImageInterlaceScheme
  • Imagick::setImageIterations »
  • PHP Manual
  • Imagick
  • Sets the image interpolate pixel method

Imagick::setImageInterpolateMethod

(PECL imagick 2, PECL imagick 3)

Imagick::setImageInterpolateMethod — Sets the image interpolate pixel method

Descrição

public Imagick::setImageInterpolateMethod ( int $method ) : bool

Sets the image interpolate pixel method.

Parâmetros

method

The method is one of the Imagick::INTERPOLATE_* constants

Valor Retornado

Retorna true no sucesso.


Sets the image iterations

  • « Imagick::setImageInterpolateMethod
  • Imagick::setImageMatte »
  • PHP Manual
  • Imagick
  • Sets the image iterations

Imagick::setImageIterations

(PECL imagick 2, PECL imagick 3)

Imagick::setImageIterations — Sets the image iterations

Descrição

public Imagick::setImageIterations ( int $iterations ) : bool

Sets the number of iterations an animated image is repeated.

Parâmetros

iterations

The number of iterations the image should loop over. Set to '0' to loop continuously.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Basic Imagick::setImageIterations() usage

<?php

$imagick = new Imagick(realpath("Test.gif"));

$imagick = $imagick->coalesceImages();
$imagick->setImageIterations(1);
$imagick = $imagick->deconstructImages();

$imagick->writeImages('/path/to/save/OnceOnly.gif', true);

?>


Sets the image matte channel

  • « Imagick::setImageIterations
  • Imagick::setImageMatteColor »
  • PHP Manual
  • Imagick
  • Sets the image matte channel

Imagick::setImageMatte

(PECL imagick 2, PECL imagick 3)

Imagick::setImageMatte — Sets the image matte channel

Descrição

public Imagick::setImageMatte ( bool $matte ) : bool

Sets the image matte channel. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

matte

True activates the matte channel and false disables it.

Valor Retornado

Retorna true no sucesso.


Sets the image matte color

  • « Imagick::setImageMatte
  • Imagick::setImageOpacity »
  • PHP Manual
  • Imagick
  • Sets the image matte color

Imagick::setImageMatteColor

(PECL imagick 2, PECL imagick 3)

Imagick::setImageMatteColor — Sets the image matte color

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::setImageMatteColor ( mixed $matte ) : bool

Sets the image matte color.

Parâmetros

matte

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as the parameter. Previous versions allow only an ImagickPixel object.


Sets the image opacity level

  • « Imagick::setImageMatteColor
  • Imagick::setImageOrientation »
  • PHP Manual
  • Imagick
  • Sets the image opacity level

Imagick::setImageOpacity

(PECL imagick 2, PECL imagick 3)

Imagick::setImageOpacity — Sets the image opacity level

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::setImageOpacity ( float $opacity ) : bool

Sets the image to the specified opacity level. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.1 ou superior. This method operates on all channels, which means that for example opacity value of 0.5 will set all transparent areas to partially opaque. To add transparency to areas that are not already transparent use Imagick::evaluateImage()

Parâmetros

opacity

The level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 A Imagick::setImageOpacity() example

An example of using Imagick::setImageOpacity()

<?php
/* Create the object */
$image = new Imagick('source.png');

/* Set the opacity */
$image->setImageOpacity(0.7);

/* output the image */
header('Content-type: image/png');
echo $image;

?>


Sets the image orientation

  • « Imagick::setImageOpacity
  • Imagick::setImagePage »
  • PHP Manual
  • Imagick
  • Sets the image orientation

Imagick::setImageOrientation

(PECL imagick 2, PECL imagick 3)

Imagick::setImageOrientation — Sets the image orientation

Descrição

public Imagick::setImageOrientation ( int $orientation ) : bool

Sets the image orientation.

Parâmetros

orientation

One of the orientation constants

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::setImageOrientation()

<?php
//Doesn't appear to do anything
function setImageOrientation($imagePath, $orientationType) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setImageOrientation($orientationType);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Sets the page geometry of the image

  • « Imagick::setImageOrientation
  • Imagick::setImageProfile »
  • PHP Manual
  • Imagick
  • Sets the page geometry of the image

Imagick::setImagePage

(PECL imagick 2, PECL imagick 3)

Imagick::setImagePage — Sets the page geometry of the image

Descrição

public Imagick::setImagePage ( int $width , int $height , int $x , int $y ) : bool

Sets the page geometry of the image.

Parâmetros

width

height

x

y

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Adds a named profile to the Imagick object

  • « Imagick::setImagePage
  • Imagick::setImageProperty »
  • PHP Manual
  • Imagick
  • Adds a named profile to the Imagick object

Imagick::setImageProfile

(PECL imagick 2, PECL imagick 3)

Imagick::setImageProfile — Adds a named profile to the Imagick object

Descrição

public Imagick::setImageProfile ( string $name , string $profile ) : bool

Adds a named profile to the Imagick object. If a profile with the same name already exists, it is replaced. This method differs from the Imagick::ProfileImage() method in that it does not apply any CMS color profiles.

Parâmetros

name

profile

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets an image property

  • « Imagick::setImageProfile
  • Imagick::setImageRedPrimary »
  • PHP Manual
  • Imagick
  • Sets an image property

Imagick::setImageProperty

(PECL imagick 2, PECL imagick 3)

Imagick::setImageProperty — Sets an image property

Descrição

public Imagick::setImageProperty ( string $name , string $value ) : bool

Sets a named property to the image. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.2 ou superior.

Parâmetros

name

value

Exemplos

Exemplo #1 Using Imagick::setImageProperty():

Setting and getting image properties

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");

$image->setImageProperty('Exif:Make', 'Imagick');
echo $image->getImageProperty('Exif:Make');
?>

Veja Também

  • Imagick::getImageProperty() - Returns the named image property

Valor Retornado

Retorna true no sucesso.


Sets the image chromaticity red primary point

  • « Imagick::setImageProperty
  • Imagick::setImageRenderingIntent »
  • PHP Manual
  • Imagick
  • Sets the image chromaticity red primary point

Imagick::setImageRedPrimary

(PECL imagick 2, PECL imagick 3)

Imagick::setImageRedPrimary — Sets the image chromaticity red primary point

Descrição

public Imagick::setImageRedPrimary ( float $x , float $y ) : bool

Sets the image chromaticity red primary point.

Parâmetros

x

y

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image rendering intent

  • « Imagick::setImageRedPrimary
  • Imagick::setImageResolution »
  • PHP Manual
  • Imagick
  • Sets the image rendering intent

Imagick::setImageRenderingIntent

(PECL imagick 2, PECL imagick 3)

Imagick::setImageRenderingIntent — Sets the image rendering intent

Descrição

public Imagick::setImageRenderingIntent ( int $rendering_intent ) : bool

Sets the image rendering intent.

Parâmetros

rendering_intent

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image resolution

  • « Imagick::setImageRenderingIntent
  • Imagick::setImageScene »
  • PHP Manual
  • Imagick
  • Sets the image resolution

Imagick::setImageResolution

(PECL imagick 2, PECL imagick 3)

Imagick::setImageResolution — Sets the image resolution

Descrição

public Imagick::setImageResolution ( float $x_resolution , float $y_resolution ) : bool

Sets the image resolution.

Parâmetros

x_resolution

y_resolution

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::setImageResolution()

<?php
function setImageResolution($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setImageResolution(50, 50);

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Sets the image scene

  • « Imagick::setImageResolution
  • Imagick::setImageTicksPerSecond »
  • PHP Manual
  • Imagick
  • Sets the image scene

Imagick::setImageScene

(PECL imagick 2, PECL imagick 3)

Imagick::setImageScene — Sets the image scene

Descrição

public Imagick::setImageScene ( int $scene ) : bool

Sets the image scene.

Parâmetros

scene

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image ticks-per-second

  • « Imagick::setImageScene
  • Imagick::setImageType »
  • PHP Manual
  • Imagick
  • Sets the image ticks-per-second

Imagick::setImageTicksPerSecond

(PECL imagick 2, PECL imagick 3)

Imagick::setImageTicksPerSecond — Sets the image ticks-per-second

Descrição

public Imagick::setImageTicksPerSecond ( int $ticks_per_second ) : bool

Adjust the amount of time that a frame of an animated image is displayed for.

Nota:

For animated GIFs, this function does not change the number of 'image ticks' per second, which is always defined as 100. Instead it adjusts the amount of time that the frame is displayed for to simulate the change in 'ticks per second'.

For example, for an animated GIF where each frame is displayed for 20 ticks (1/5 of a second) when this method is called on each frame of that image with an argument of 50 the frames are adjusted to be displayed for 40 ticks (2/5 of a second) and the animation will play at half the original speed.

Parâmetros

ticks_per_second

The duration for which an image should be displayed expressed in ticks per second.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Modify animated Gif with Imagick::setImageTicksPerSecond()

<?php

// Modify an animated gif so the first half of the gif is played at half the
// speed it currently is, and the second half to be played at double the speed
// it currently is

$imagick = new Imagick(realpath("Test.gif"));
$imagick = $imagick->coalesceImages();

$totalFrames = $imagick->getNumberImages();

$frameCount = 0;

foreach ($imagick as $frame) {
    $imagick->setImageTicksPerSecond(50);

    if ($frameCount < ($totalFrames / 2)) {
        // Modify the frame to be displayed for twice as long as it currently is
        $imagick->setImageTicksPerSecond(50);
    } else {
        // Modify the frame to be displayed for half as long as it currently is
        $imagick->setImageTicksPerSecond(200);
    }

    $frameCount++;
}

$imagick = $imagick->deconstructImages();

$imagick->writeImages("/path/to/save/output.gif", true);

?>


Sets the image type

  • « Imagick::setImageTicksPerSecond
  • Imagick::setImageUnits »
  • PHP Manual
  • Imagick
  • Sets the image type

Imagick::setImageType

(PECL imagick 2, PECL imagick 3)

Imagick::setImageType — Sets the image type

Descrição

public Imagick::setImageType ( int $image_type ) : bool

Sets the image type.

Parâmetros

image_type

Valor Retornado

Retorna true no sucesso.


Sets the image units of resolution

  • « Imagick::setImageType
  • Imagick::setImageVirtualPixelMethod »
  • PHP Manual
  • Imagick
  • Sets the image units of resolution

Imagick::setImageUnits

(PECL imagick 2, PECL imagick 3)

Imagick::setImageUnits — Sets the image units of resolution

Descrição

public Imagick::setImageUnits ( int $units ) : bool

Sets the image units of resolution.

Parâmetros

units

Valor Retornado

Retorna true no sucesso.


Sets the image virtual pixel method

  • « Imagick::setImageUnits
  • Imagick::setImageWhitePoint »
  • PHP Manual
  • Imagick
  • Sets the image virtual pixel method

Imagick::setImageVirtualPixelMethod

(PECL imagick 2, PECL imagick 3)

Imagick::setImageVirtualPixelMethod — Sets the image virtual pixel method

Descrição

public Imagick::setImageVirtualPixelMethod ( int $method ) : bool

Sets the image virtual pixel method.

Parâmetros

method

Valor Retornado

Retorna true no sucesso.


Sets the image chromaticity white point

  • « Imagick::setImageVirtualPixelMethod
  • Imagick::setInterlaceScheme »
  • PHP Manual
  • Imagick
  • Sets the image chromaticity white point

Imagick::setImageWhitePoint

(PECL imagick 2, PECL imagick 3)

Imagick::setImageWhitePoint — Sets the image chromaticity white point

Descrição

public Imagick::setImageWhitePoint ( float $x , float $y ) : bool

Sets the image chromaticity white point.

Parâmetros

x

y

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Sets the image compression

  • « Imagick::setImageWhitePoint
  • Imagick::setIteratorIndex »
  • PHP Manual
  • Imagick
  • Sets the image compression

Imagick::setInterlaceScheme

(PECL imagick 2, PECL imagick 3)

Imagick::setInterlaceScheme — Sets the image compression

Descrição

public Imagick::setInterlaceScheme ( int $interlace_scheme ) : bool

Sets the image compression.

Parâmetros

interlace_scheme

Valor Retornado

Retorna true no sucesso.


Set the iterator position

  • « Imagick::setInterlaceScheme
  • Imagick::setLastIterator »
  • PHP Manual
  • Imagick
  • Set the iterator position

Imagick::setIteratorIndex

(PECL imagick 2, PECL imagick 3)

Imagick::setIteratorIndex — Set the iterator position

Descrição

public Imagick::setIteratorIndex ( int $index ) : bool

Set the iterator to the position in the image list specified with the index parameter. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

index

The position to set the iterator to

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Using Imagick::setIteratorIndex():

Create images, set and get the iterator index

<?php
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel("red"));
$im->newImage(100, 100, new ImagickPixel("green"));
$im->newImage(100, 100, new ImagickPixel("blue"));

$im->setIteratorIndex(1);
echo $im->getIteratorIndex();
?>

Veja Também

  • Imagick::getIteratorIndex() - Gets the index of the current active image
  • Imagick::getImageIndex() - Gets the index of the current active image
  • Imagick::setImageIndex() - Set the iterator position


Sets the Imagick iterator to the last image

  • « Imagick::setIteratorIndex
  • Imagick::setOption »
  • PHP Manual
  • Imagick
  • Sets the Imagick iterator to the last image

Imagick::setLastIterator

(PECL imagick 2 >= 2.0.1, PECL imagick 3)

Imagick::setLastIterator — Sets the Imagick iterator to the last image

Descrição

public Imagick::setLastIterator ( ) : bool

Sets the Imagick iterator to the last image.

Valor Retornado

Retorna true no sucesso.


Set an option

  • « Imagick::setLastIterator
  • Imagick::setPage »
  • PHP Manual
  • Imagick
  • Set an option

Imagick::setOption

(PECL imagick 2, PECL imagick 3)

Imagick::setOption — Set an option

Descrição

public Imagick::setOption ( string $key , string $value ) : bool

Associates one or more options with the wand.

Parâmetros

key

value

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Attempt to reach '$extent' sizeImagick::setOption()

<?php
    function renderJPG($extent) {
        $imagePath = $this->control->getImagePath();
        $imagick = new \Imagick(realpath($imagePath));
        $imagick->setImageFormat('jpg');
        $imagick->setOption('jpeg:extent', $extent);
        header("Content-Type: image/jpg");
        echo $imagick->getImageBlob();
    }

?>

Exemplo #2 Imagick::setOption()

<?php
    function renderPNG($imagePath, $format) {

        $imagick = new \Imagick(realpath($imagePath));
        $imagick->setImageFormat('png');
        $imagick->setOption('png:format', $format);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }

    //Save as 64bit PNG.
    renderPNG($imagePath, 'png64');

?>

Exemplo #3 Imagick::setOption()

<?php
    function renderCustomBitDepthPNG() {
        $imagePath = $this->control->getImagePath();
        $imagick = new \Imagick(realpath($imagePath));
        $imagick->setImageFormat('png');

        $imagick->setOption('png:bit-depth', '16');
        $imagick->setOption('png:color-type', 6);
        header("Content-Type: image/png");
        $crash = true;
        if ($crash) {
            echo $imagick->getImageBlob();
        }
        else {
            $tempFilename = tempnam('./', 'imagick');
            $imagick->writeimage(realpath($tempFilename));
            echo file_get_contents($tempFilename);
        }
    }

?>


Sets the page geometry of the Imagick object

  • « Imagick::setOption
  • Imagick::setPointSize »
  • PHP Manual
  • Imagick
  • Sets the page geometry of the Imagick object

Imagick::setPage

(PECL imagick 2, PECL imagick 3)

Imagick::setPage — Sets the page geometry of the Imagick object

Descrição

public Imagick::setPage ( int $width , int $height , int $x , int $y ) : bool

Sets the page geometry of the Imagick object.

Parâmetros

width

height

x

y

Valor Retornado

Retorna true no sucesso.


Sets point size

  • « Imagick::setPage
  • Imagick::setProgressMonitor »
  • PHP Manual
  • Imagick
  • Sets point size

Imagick::setPointSize

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::setPointSize — Sets point size

Descrição

public Imagick::setPointSize ( float $point_size ) : bool

Sets object's point size property. This method can be used for example to set font size for caption: pseudo-format. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.7 ou superior.

Parâmetros

point_size

Point size

Valor Retornado

Retorna true no sucesso.

Veja Também

  • Imagick::getPointSize() - Gets point size

Exemplos

Exemplo #1 A Imagick::setPointSize() example

Example of using Imagick::setPointSize

<?php
/* Create new imagick object */
$im = new Imagick();

/* Set the font for the object */
$im->setFont("example.ttf");

/* Set the point size */
$im->setPointSize(12);

/* Create new caption */
$im->newPseudoImage(100, 100, "caption:Hello");

/* Do something with the image */
?>


Description

  • « Imagick::setPointSize
  • Imagick::setRegistry »
  • PHP Manual
  • Imagick
  • Description

Imagick::setProgressMonitor

(PECL imagick 3 >= 3.3.0)

Imagick::setProgressMonitor — Description

Descrição

public Imagick::setProgressMonitor ( callable $callback ) : bool

Set a callback that will be called during the processing of the Imagick image.

Parâmetros

callback

The progress function to call. It should return true if image processing should continue, or false if it should be cancelled. The offset parameter indicates the progress and the span parameter indicates the total amount of work needed to be done.

callback ( mixed $offset , mixed $span ) : bool
Cuidado

The values passed to the callback function are not consistent. In particular the span parameter can increase during image processing. Because of this calculating the percentage complete of an image operation is not trivial.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::setProgressMonitor()

<?php
        $abortReason = null;

        try {
            $imagick = new \Imagick(realpath($this->control->getImagePath()));
            $startTime = time();

            $callback = function ($offset, $span)  use ($startTime, &$abortReason) {
                if (((100 * $offset) / $span)  > 20) {
                    $abortReason = "Processing reached 20%";
                    return false;
                }

                $nowTime = time();

                if ($nowTime - $startTime > 5) {
                    $abortReason = "Image processing took more than 5 seconds";
                    return false;
                }
                if (($offset % 5) == 0) {
                    echo "Progress: $offset / $span <br/>";
                }
                return true;
            };

            $imagick->setProgressMonitor($callback);

            $imagick->waveImage(2, 15);

            echo "Data len is: ".strlen($imagick->getImageBlob());
        }
        catch(\ImagickException $e) {
            if ($abortReason != null) {
                echo "Image processing was aborted: ".$abortReason."<br/>";
            }
            else {
                echo "ImagickException caught: ".$e->getMessage()." Exception type is ".get_class($e);
            }
        }

?>


Description

  • « Imagick::setProgressMonitor
  • Imagick::setResolution »
  • PHP Manual
  • Imagick
  • Description

Imagick::setRegistry

(PECL imagick 3 >= 3.3.0)

Imagick::setRegistry — Description

Descrição

public static Imagick::setRegistry ( string $key , string $value ) : bool

Sets the ImageMagick registry entry named key to value. This is most useful for setting "temporary-path" which controls where ImageMagick creates temporary images e.g. while processing PDFs.

Parâmetros

key

value

Valor Retornado

Retorna true no sucesso.


Sets the image resolution

  • « Imagick::setRegistry
  • Imagick::setResourceLimit »
  • PHP Manual
  • Imagick
  • Sets the image resolution

Imagick::setResolution

(PECL imagick 2, PECL imagick 3)

Imagick::setResolution — Sets the image resolution

Descrição

public Imagick::setResolution ( float $x_resolution , float $y_resolution ) : bool

Sets the image resolution.

Parâmetros

x_resolution

The horizontal resolution.

y_resolution

The vertical resolution.

Valor Retornado

Retorna true no sucesso.

Notas

Imagick::setResolution() must be called before loading or creating an image.

Veja Também

  • Imagick::setImageResolution() - Sets the image resolution
  • Imagick::getImageResolution() - Gets the image X and Y resolution


Sets the limit for a particular resource

  • « Imagick::setResolution
  • Imagick::setSamplingFactors »
  • PHP Manual
  • Imagick
  • Sets the limit for a particular resource

Imagick::setResourceLimit

(PECL imagick 2, PECL imagick 3)

Imagick::setResourceLimit — Sets the limit for a particular resource

Descrição

public static Imagick::setResourceLimit ( int $type , int $limit ) : bool

This method is used to modify the resource limits of the underlying ImageMagick library.

Parâmetros

type

Refer to the list of resourcetype constants.

limit

One of the resourcetype constants. The unit depends on the type of the resource being limited.

Valor Retornado

Retorna true no sucesso.

Veja Também

  • Imagick::getResourceLimit() - Returns the specified resource limit


Sets the image sampling factors

  • « Imagick::setResourceLimit
  • Imagick::setSize »
  • PHP Manual
  • Imagick
  • Sets the image sampling factors

Imagick::setSamplingFactors

(PECL imagick 2, PECL imagick 3)

Imagick::setSamplingFactors — Sets the image sampling factors

Descrição

public Imagick::setSamplingFactors ( array $factors ) : bool

Sets the image sampling factors.

Parâmetros

factors

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::setSamplingFactors()

<?php
function setSamplingFactors($imagePath) {

    $imagePath = "../imagick/images/FineDetail.png";
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setImageFormat('jpg');
    $imagick->setSamplingFactors(array('2x2', '1x1', '1x1'));

    $compressed = $imagick->getImageBlob();

    $reopen = new \Imagick();
    $reopen->readImageBlob($compressed);

    $reopen->resizeImage(
        $reopen->getImageWidth() * 4,
        $reopen->getImageHeight() * 4,
        \Imagick::FILTER_POINT,
        1
    );

    header("Content-Type: image/jpg");
    echo $reopen->getImageBlob();
}

?>


Sets the size of the Imagick object

  • « Imagick::setSamplingFactors
  • Imagick::setSizeOffset »
  • PHP Manual
  • Imagick
  • Sets the size of the Imagick object

Imagick::setSize

(PECL imagick 2, PECL imagick 3)

Imagick::setSize — Sets the size of the Imagick object

Descrição

public Imagick::setSize ( int $columns , int $rows ) : bool

Sets the size of the Imagick object. Set it before you read a raw image format such as RGB, GRAY, or CMYK.

Parâmetros

columns

rows

Valor Retornado

Retorna true no sucesso.


Sets the size and offset of the Imagick object

  • « Imagick::setSize
  • Imagick::setType »
  • PHP Manual
  • Imagick
  • Sets the size and offset of the Imagick object

Imagick::setSizeOffset

(PECL imagick 2, PECL imagick 3)

Imagick::setSizeOffset — Sets the size and offset of the Imagick object

Descrição

public Imagick::setSizeOffset ( int $columns , int $rows , int $offset ) : bool

Sets the size and offset of the Imagick object. Set it before you read a raw image format such as RGB, GRAY, or CMYK. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

columns

The width in pixels.

rows

The height in pixels.

offset

The image offset.

Valor Retornado

Retorna true no sucesso.


Sets the image type attribute

  • « Imagick::setSizeOffset
  • Imagick::shadeImage »
  • PHP Manual
  • Imagick
  • Sets the image type attribute

Imagick::setType

(PECL imagick 2, PECL imagick 3)

Imagick::setType — Sets the image type attribute

Descrição

public Imagick::setType ( int $image_type ) : bool

Sets the image type attribute.

Parâmetros

image_type

Valor Retornado

Retorna true no sucesso.


Creates a 3D effect

  • « Imagick::setType
  • Imagick::shadowImage »
  • PHP Manual
  • Imagick
  • Creates a 3D effect

Imagick::shadeImage

(PECL imagick 2, PECL imagick 3)

Imagick::shadeImage — Creates a 3D effect

Descrição

public Imagick::shadeImage ( bool $gray , float $azimuth , float $elevation ) : bool

Shines a distant light on an image to create a three-dimensional effect. You control the positioning of the light with azimuth and elevation; azimuth is measured in degrees off the x axis and elevation is measured in pixels above the Z axis. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

gray

A value other than zero shades the intensity of each pixel.

azimuth

Defines the light source direction.

elevation

Defines the light source direction.

Valor Retornado

Retorna true no sucesso.

Erros

Throws ImagickException on failure.

Exemplos

Exemplo #1 Imagick::shadeImage()

<?php
function shadeImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->shadeImage(true, 45, 20);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Simulates an image shadow

  • « Imagick::shadeImage
  • Imagick::sharpenImage »
  • PHP Manual
  • Imagick
  • Simulates an image shadow

Imagick::shadowImage

(PECL imagick 2, PECL imagick 3)

Imagick::shadowImage — Simulates an image shadow

Descrição

public Imagick::shadowImage ( float $opacity , float $sigma , int $x , int $y ) : bool

Simulates an image shadow.

Parâmetros

opacity

sigma

x

y

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::shadowImage()

<?php
function shadowImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->shadowImage(0.4, 10, 50, 5);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Sharpens an image

  • « Imagick::shadowImage
  • Imagick::shaveImage »
  • PHP Manual
  • Imagick
  • Sharpens an image

Imagick::sharpenImage

(PECL imagick 2, PECL imagick 3)

Imagick::sharpenImage — Sharpens an image

Descrição

public Imagick::sharpenImage ( float $radius , float $sigma , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Sharpens an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and Imagick::sharpenImage() selects a suitable radius for you.

Parâmetros

radius

sigma

channel

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::sharpenImage()

<?php
function sharpenImage($imagePath, $radius, $sigma, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->sharpenimage($radius, $sigma, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Shaves pixels from the image edges

  • « Imagick::sharpenImage
  • Imagick::shearImage »
  • PHP Manual
  • Imagick
  • Shaves pixels from the image edges

Imagick::shaveImage

(PECL imagick 2, PECL imagick 3)

Imagick::shaveImage — Shaves pixels from the image edges

Descrição

public Imagick::shaveImage ( int $columns , int $rows ) : bool

Shaves pixels from the image edges. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.

Parâmetros

columns

rows

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::shaveImage()

<?php
function shaveImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->shaveImage(100, 50);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Creating a parallelogram

  • « Imagick::shaveImage
  • Imagick::sigmoidalContrastImage »
  • PHP Manual
  • Imagick
  • Creating a parallelogram

Imagick::shearImage

(PECL imagick 2, PECL imagick 3)

Imagick::shearImage — Creating a parallelogram

Descrição

public Imagick::shearImage ( mixed $background , float $x_shear , float $y_shear ) : bool

Slides one edge of an image along the X or Y axis, creating a parallelogram. An X direction shear slides an edge along the X axis, while a Y direction shear slides an edge along the Y axis. The amount of the shear is controlled by a shear angle. For X direction shears, x_shear is measured relative to the Y axis, and similarly, for Y direction shears y_shear is measured relative to the X axis. Empty triangles left over from shearing the image are filled with the background color.

Parâmetros

background

The background color

x_shear

The number of degrees to shear on the x axis

y_shear

The number of degrees to shear on the y axis

Valor Retornado

Retorna true no sucesso.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Exemplos

Exemplo #1 Imagick::shearImage()

<?php
function shearImage($imagePath, $color, $shearX, $shearY) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->shearimage($color, $shearX, $shearY);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Adjusts the contrast of an image

  • « Imagick::shearImage
  • Imagick::sketchImage »
  • PHP Manual
  • Imagick
  • Adjusts the contrast of an image

Imagick::sigmoidalContrastImage

(PECL imagick 2, PECL imagick 3)

Imagick::sigmoidalContrastImage — Adjusts the contrast of an image

Descrição

public Imagick::sigmoidalContrastImage ( bool $sharpen , float $alpha , float $beta , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Adjusts the contrast of an image with a non-linear sigmoidal contrast algorithm. Increase the contrast of the image using a sigmoidal transfer function without saturating highlights or shadows. Contrast indicates how much to increase the contrast (0 is none; 3 is typical; 20 is pushing it); mid-point indicates where midtones fall in the resultant image (0 is white; 50 is middle-gray; 100 is black). Set sharpen to true to increase the image contrast otherwise the contrast is reduced.

See also » ImageMagick v6 Examples - Image Transformations — Sigmoidal Non-linearity Contrast

Parâmetros

sharpen

If true increase the contrast, if false decrease the contrast.

alpha

The amount of contrast to apply. 1 is very little, 5 is a significant amount, 20 is extreme.

beta

Where the midpoint of the gradient will be. This value should be in the range 0 to 1 - mutliplied by the quantum value for ImageMagick.

channel

Which color channels the contrast will be applied to.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Create a gradient image using Imagick::sigmoidalContrastImage() suitable for blending two images together smoothly, with the blending defined by $contrast and $the midpoint

<?php

function generateBlendImage($width, $height, $contrast = 10, $midpoint = 0.5) {
    $imagick = new Imagick();
    $imagick->newPseudoImage($width, $height, 'gradient:black-white');
    $quanta = $imagick->getQuantumRange();
    $imagick->sigmoidalContrastImage(true, $contrast, $midpoint * $quanta["quantumRangeLong"]);

    return $imagick;
}

?>

Erros

Lança ImagickException em caso de erro.


Simulates a pencil sketch

  • « Imagick::sigmoidalContrastImage
  • Imagick::smushImages »
  • PHP Manual
  • Imagick
  • Simulates a pencil sketch

Imagick::sketchImage

(PECL imagick 2, PECL imagick 3)

Imagick::sketchImage — Simulates a pencil sketch

Descrição

public Imagick::sketchImage ( float $radius , float $sigma , float $angle ) : bool

Simulates a pencil sketch. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and Imagick::sketchImage() selects a suitable radius for you. Angle gives the angle of the blurring motion. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

radius

The radius of the Gaussian, in pixels, not counting the center pixel

sigma

The standard deviation of the Gaussian, in pixels.

angle

Apply the effect along this angle.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::sketchImage()

<?php
function sketchImage($imagePath, $radius, $sigma, $angle) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->sketchimage($radius, $sigma, $angle);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Description

  • « Imagick::sketchImage
  • Imagick::solarizeImage »
  • PHP Manual
  • Imagick
  • Description

Imagick::smushImages

(PECL imagick 3 >= 3.3.0)

Imagick::smushImages — Description

Descrição

public Imagick::smushImages ( bool $stack , int $offset ) : Imagick

Takes all images from the current image pointer to the end of the image list and smushs them to each other top-to-bottom if the stack parameter is true, otherwise left-to-right.

Parâmetros

stack

offset

Valor Retornado

The new smushed image.

Exemplos

Exemplo #1 Imagick::smushImages()

<?php
function smushImages($imagePath, $imagePath2) {

    $imagick = new \Imagick(realpath($imagePath));
    $imagick2 = new \Imagick(realpath($imagePath2));

    $imagick->addimage($imagick2);
    $smushed = $imagick->smushImages(false, 50);
    $smushed->setImageFormat('jpg');
    header("Content-Type: image/jpg");
    echo $smushed->getImageBlob();
}

?>


Applies a solarizing effect to the image

  • « Imagick::smushImages
  • Imagick::sparseColorImage »
  • PHP Manual
  • Imagick
  • Applies a solarizing effect to the image

Imagick::solarizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::solarizeImage — Applies a solarizing effect to the image

Descrição

public Imagick::solarizeImage ( int $threshold ) : bool

Applies a special effect to the image, similar to the effect achieved in a photo darkroom by selectively exposing areas of photo sensitive paper to light. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization.

Parâmetros

threshold

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::solarizeImage()

<?php
function solarizeImage($imagePath, $solarizeThreshold) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->solarizeImage($solarizeThreshold * \Imagick::getQuantum());
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Interpolates colors

  • « Imagick::solarizeImage
  • Imagick::spliceImage »
  • PHP Manual
  • Imagick
  • Interpolates colors

Imagick::sparseColorImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::sparseColorImage — Interpolates colors

Descrição

public Imagick::sparseColorImage ( int $SPARSE_METHOD , array $arguments , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Given the arguments array containing numeric values this method interpolates the colors found at those coordinates across the whole image using sparse_method. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.5 ou superior.

Parâmetros

SPARSE_METHOD

Refer to this list of sparse method constants

arguments

An array containing the coordinates. The array is in format array(1,1, 2,45)

channel

Informa qualquer constante de canal válida no modo do canal. Para mais de um canal, combine as constantes de canal utilizando operações bitwise. O padrão é Imagick::CHANNEL_DEFAULT. Veja nessa lista de constantes de canal

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage()

<?php
    function renderImageBarycentric2() {
        $points = [
            [0.30, 0.10, 'red'],
            [0.10, 0.80, 'blue'],
            [0.70, 0.60, 'lime'],
            [0.80, 0.20, 'yellow'],
        ];
        $imagick = createGradientImage(
            400, 400,
            $points,
            \Imagick::SPARSECOLORMETHOD_BARYCENTRIC
        );
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }

?>

Exemplo #2 SPARSECOLORMETHOD_BILINEAR Imagick::sparseColorImage()

<?php
    function renderImageBilinear() {
        $points = [[0.30, 0.10, 'red'], [0.10, 0.80, 'blue'], [0.70, 0.60, 'lime'], [0.80, 0.20, 'yellow'],];
        $imagick = createGradientImage(500, 500, $points, \Imagick::SPARSECOLORMETHOD_BILINEAR);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }

?>

Exemplo #3 SPARSECOLORMETHOD_SPEPARDS Imagick::sparseColorImage()

<?php
    function renderImageShepards() {
        $points = [
            [0.30, 0.10, 'red'],
            [0.10, 0.80, 'blue'],
            [0.70, 0.60, 'lime'],
            [0.80, 0.20, 'yellow'],
        ];
        $imagick = createGradientImage(600, 600, $points, \Imagick::SPARSECOLORMETHOD_SPEPARDS);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }

?>

Exemplo #4 SPARSECOLORMETHOD_VORONOI Imagick::sparseColorImage()

<?php
    function renderImageVoronoi() {
        $points = [
            [0.30, 0.10, 'red'],
            [0.10, 0.80, 'blue'],
            [0.70, 0.60, 'lime'],
            [0.80, 0.20, 'yellow'],
        ];
        $imagick = createGradientImage(500, 500, $points, \Imagick::SPARSECOLORMETHOD_VORONOI);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }

?>

Exemplo #5 SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage()

<?php
    function renderImageBarycentric() {
        $points = [
            [0, 0, 'skyblue'],
            [-1, 1, 'skyblue'],
            [1, 1, 'black'],
        ];
        $imagick = createGradientImage(600, 200, $points, \Imagick::SPARSECOLORMETHOD_BARYCENTRIC);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }

?>

Exemplo #6 createGradientImage is used by other examples. Imagick::sparseColorImage()

<?php
function createGradientImage($width, $height, $colorPoints, $sparseMethod, $absolute = false) {

    $imagick = new \Imagick();
    $imagick->newImage($width, $height, "white");
    $imagick->setImageFormat("png");

    $barycentricPoints = array();

    foreach ($colorPoints as $colorPoint) {

        if ($absolute == true) {
            $barycentricPoints[] = $colorPoint[0];
            $barycentricPoints[] = $colorPoint[1];
        }
        else {
            $barycentricPoints[] = $colorPoint[0] * $width;
            $barycentricPoints[] = $colorPoint[1] * $height;
        }

        if (is_string($colorPoint[2])) {
            $imagickPixel = new \ImagickPixel($colorPoint[2]);
        }
        else if ($colorPoint[2] instanceof \ImagickPixel) {
            $imagickPixel = $colorPoint[2];
        }
        else{
            $errorMessage = sprintf(
                "Value %s is neither a string nor an ImagickPixel class. Cannot use as a color.",
                $colorPoint[2]
            );

            throw new \InvalidArgumentException(
                $errorMessage
            );
        }

        $red = $imagickPixel->getColorValue(\Imagick::COLOR_RED);
        $green = $imagickPixel->getColorValue(\Imagick::COLOR_GREEN);
        $blue = $imagickPixel->getColorValue(\Imagick::COLOR_BLUE);
        $alpha = $imagickPixel->getColorValue(\Imagick::COLOR_ALPHA);

        $barycentricPoints[] = $red;
        $barycentricPoints[] = $green;
        $barycentricPoints[] = $blue;
        $barycentricPoints[] = $alpha;
    }

    $imagick->sparseColorImage($sparseMethod, $barycentricPoints);

    return $imagick;
}

?>


Splices a solid color into the image

  • « Imagick::sparseColorImage
  • Imagick::spreadImage »
  • PHP Manual
  • Imagick
  • Splices a solid color into the image

Imagick::spliceImage

(PECL imagick 2, PECL imagick 3)

Imagick::spliceImage — Splices a solid color into the image

Descrição

public Imagick::spliceImage ( int $width , int $height , int $x , int $y ) : bool

Splices a solid color into the image.

Parâmetros

width

height

x

y

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::spliceImage()

<?php
function spliceImage($imagePath, $startX, $startY, $width, $height) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->spliceImage($width, $height, $startX, $startY);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Randomly displaces each pixel in a block

  • « Imagick::spliceImage
  • Imagick::statisticImage »
  • PHP Manual
  • Imagick
  • Randomly displaces each pixel in a block

Imagick::spreadImage

(PECL imagick 2, PECL imagick 3)

Imagick::spreadImage — Randomly displaces each pixel in a block

Descrição

public Imagick::spreadImage ( float $radius ) : bool

Special effects method that randomly displaces each pixel in a block defined by the radius parameter.

Parâmetros

radius

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::spreadImage()

<?php
function spreadImage($imagePath, $radius) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->spreadImage($radius);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Description

  • « Imagick::spreadImage
  • Imagick::steganoImage »
  • PHP Manual
  • Imagick
  • Description

Imagick::statisticImage

(PECL imagick 3 >= 3.3.0)

Imagick::statisticImage — Description

Descrição

public Imagick::statisticImage ( int $type , int $width , int $height , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Replace each pixel with corresponding statistic from the neighborhood of the specified width and height.

Parâmetros

type

width

height

channel

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::statisticImage()

<?php
function statisticImage($imagePath, $statisticType, $width, $height, $channel) {
    $imagick = new \Imagick(realpath($imagePath));

    $imagick->statisticImage(
        $statisticType,
        $width,
        $height,
        $channel
    );

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

statisticImage($imagePath, \Imagick::STATISTIC_MEDIAN, 5, 5, \Imagick::CHANNEL_DEFAULT);

?>


Hides a digital watermark within the image

  • « Imagick::statisticImage
  • Imagick::stereoImage »
  • PHP Manual
  • Imagick
  • Hides a digital watermark within the image

Imagick::steganoImage

(PECL imagick 2, PECL imagick 3)

Imagick::steganoImage — Hides a digital watermark within the image

Descrição

public Imagick::steganoImage ( Imagick $watermark_wand , int $offset ) : Imagick

Hides a digital watermark within the image. Recover the hidden watermark later to prove that the authenticity of an image. Offset defines the start position within the image to hide the watermark.

Parâmetros

watermark_wand

offset

Valor Retornado

Retorna true no sucesso.


Composites two images

  • « Imagick::steganoImage
  • Imagick::stripImage »
  • PHP Manual
  • Imagick
  • Composites two images

Imagick::stereoImage

(PECL imagick 2, PECL imagick 3)

Imagick::stereoImage — Composites two images

Descrição

public Imagick::stereoImage ( Imagick $offset_wand ) : bool

Composites two images and produces a single image that is the composite of a left and right image of a stereo pair.

Parâmetros

offset_wand

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Strips an image of all profiles and comments

  • « Imagick::stereoImage
  • Imagick::subImageMatch »
  • PHP Manual
  • Imagick
  • Strips an image of all profiles and comments

Imagick::stripImage

(PECL imagick 2, PECL imagick 3)

Imagick::stripImage — Strips an image of all profiles and comments

Descrição

public Imagick::stripImage ( ) : bool

Strips an image of all profiles and comments.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.


Description

  • « Imagick::stripImage
  • Imagick::swirlImage »
  • PHP Manual
  • Imagick
  • Description

Imagick::subImageMatch

(PECL imagick 3 >= 3.3.0)

Imagick::subImageMatch — Description

Descrição

public Imagick::subImageMatch ( Imagick $Imagick , array &$offset = ? , float &$similarity = ? ) : Imagick

Searches for a subimage in the current image and returns a similarity image such that an exact match location is completely white and if none of the pixels match, black, otherwise some gray level in-between. You can also pass in the optional parameters bestMatch and similarity. After calling the function similarity will be set to the 'score' of the similarity between the subimage and the matching position in the larger image, bestMatch will contain an associative array with elements x, y, width, height that describe the matching region.

Parâmetros

Imagick

offset

similarity

A new image that displays the amount of similarity at each pixel.

Valor Retornado

Exemplos

Exemplo #1 Imagick::subImageMatch()

<?php
function subImageMatch($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick2 = clone $imagick;
    $imagick2->cropimage(40, 40, 250, 110);
    $imagick2->vignetteimage(0, 1, 3, 3);

    $similarity = null;
    $bestMatch = null;
    $comparison = $imagick->subImageMatch($imagick2, $bestMatch, $similarity);

    $comparison->setImageFormat('png');
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Swirls the pixels about the center of the image

  • « Imagick::subImageMatch
  • Imagick::textureImage »
  • PHP Manual
  • Imagick
  • Swirls the pixels about the center of the image

Imagick::swirlImage

(PECL imagick 2, PECL imagick 3)

Imagick::swirlImage — Swirls the pixels about the center of the image

Descrição

Imagick::swirlImage ( float $degrees ) : bool

Swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360.

Parâmetros

degrees

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::swirlImage()

<?php
function swirlImage($imagePath, $swirl) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->swirlImage($swirl);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Repeatedly tiles the texture image

  • « Imagick::swirlImage
  • Imagick::thresholdImage »
  • PHP Manual
  • Imagick
  • Repeatedly tiles the texture image

Imagick::textureImage

(PECL imagick 2, PECL imagick 3)

Imagick::textureImage — Repeatedly tiles the texture image

Descrição

Imagick::textureImage ( Imagick $texture_wand ) : Imagick

Repeatedly tiles the texture image across and down the image canvas.

Parâmetros

texture_wand

Imagick object to use as texture image

Valor Retornado

Returns a new Imagick object that has the repeated texture applied.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::textureImage()

<?php
function textureImage($imagePath) {
    $image = new \Imagick();
    $image->newImage(640, 480, new \ImagickPixel('pink'));
    $image->setImageFormat("jpg");
    $texture = new \Imagick(realpath($imagePath));
    $texture->scaleimage($image->getimagewidth() / 4, $image->getimageheight() / 4);
    $image = $image->textureImage($texture);
    header("Content-Type: image/jpg");
    echo $image;
}

?>


Changes the value of individual pixels based on a threshold

  • « Imagick::textureImage
  • Imagick::thumbnailImage »
  • PHP Manual
  • Imagick
  • Changes the value of individual pixels based on a threshold

Imagick::thresholdImage

(PECL imagick 2, PECL imagick 3)

Imagick::thresholdImage — Changes the value of individual pixels based on a threshold

Descrição

public Imagick::thresholdImage ( float $threshold , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Changes the value of individual pixels based on the intensity of each pixel compared to threshold. The result is a high-contrast, two color image.

Parâmetros

threshold

channel

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::thresholdImage()

<?php
function thresholdimage($imagePath, $threshold, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->thresholdimage($threshold * \Imagick::getQuantum(), $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Changes the size of an image

  • « Imagick::thresholdImage
  • Imagick::tintImage »
  • PHP Manual
  • Imagick
  • Changes the size of an image

Imagick::thumbnailImage

(PECL imagick 2, PECL imagick 3)

Imagick::thumbnailImage — Changes the size of an image

Descrição

public Imagick::thumbnailImage ( int $columns , int $rows , bool $bestfit = false , bool $fill = false , bool $legacy = false ) : bool

Changes the size of an image to the given dimensions and removes any associated profiles. The goal is to produce small, low cost thumbnail images suited for display on the Web. If true is given as a third parameter then columns and rows parameters are used as maximums for each side. Both sides will be scaled down until they match or are smaller than the parameter given for the side.

Nota: O comportamento do parâmetro bestfit mudou no Imagick 3.0.0. Antes desta versão ao informar dimensões 400x400 numa imagem de 200x150 não causaria alterações. No Imagick 3.0.0 e posteriores a imagem seria escalada para 400x300 por ser o "melhor ajuste" entre as dimensões. Se bestfit é informado tanto a altura como comprimento devem ser informados.

Parâmetros

columns

Image width

rows

Image height

bestfit

Whether to force maximum values

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::thumbnailImage()

<?php
function thumbnailImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setbackgroundcolor('rgb(64, 64, 64)');
    $imagick->thumbnailImage(100, 100, true, true);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Applies a color vector to each pixel in the image

  • « Imagick::thumbnailImage
  • Imagick::__toString »
  • PHP Manual
  • Imagick
  • Applies a color vector to each pixel in the image

Imagick::tintImage

(PECL imagick 2, PECL imagick 3)

Imagick::tintImage — Applies a color vector to each pixel in the image

Descrição

public Imagick::tintImage ( mixed $tint , mixed $opacity , bool $legacy = false ) : bool

Applies a color vector to each pixel in the image. The length of the vector is 0 for black and white and at its maximum for the midtones. The vector weighing function is f(x)=(1-(4.0*((x-0.5)*(x-0.5)))).

Parâmetros

tint

opacity

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as the first parameter and a float representing the opacity value as the second parameter. Previous versions allow only an ImagickPixel objects.

Exemplos

Exemplo #1 Imagick::tintImage()

<?php
function tintImage($r, $g, $b, $a) {
    $a = $a / 100;

    $imagick = new \Imagick();
    $imagick->newPseudoImage(400, 400, 'gradient:black-white');

    $tint = new \ImagickPixel("rgb($r, $g, $b)");
    $opacity = new \ImagickPixel("rgb(128, 128, 128, $a)");
    $imagick->tintImage($tint, $opacity);
    $imagick->setImageFormat('png');
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Returns the image as a string

  • « Imagick::tintImage
  • Imagick::transformImage »
  • PHP Manual
  • Imagick
  • Returns the image as a string

Imagick::__toString

(PECL imagick 2, PECL imagick 3)

Imagick::__toString — Returns the image as a string

Descrição

public Imagick::__toString ( ) : string

Returns the current image as string. This will only return a single image; it should not be used for Imagick objects that contain multiple images e.g. an animated GIF or PDF with multiple pages.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string content on success or an empty string on failure.

Veja Também

  • Imagick::getImageBlob() - Returns the image sequence as a blob
  • Imagick::getImagesBlob() - Returns all image sequences as a blob


Convenience method for setting crop size and the image geometry

  • « Imagick::__toString
  • Imagick::transformImageColorspace »
  • PHP Manual
  • Imagick
  • Convenience method for setting crop size and the image geometry

Imagick::transformImage

(PECL imagick 2, PECL imagick 3)

Imagick::transformImage — Convenience method for setting crop size and the image geometry

Aviso

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Descrição

public Imagick::transformImage ( string $crop , string $geometry ) : Imagick

A convenience method for setting crop size and the image geometry from strings. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

crop

A crop geometry string. This geometry defines a subregion of the image to crop.

geometry

An image geometry string. This geometry defines the final size of the image.

Valor Retornado

Returns an Imagick object containing the transformed image.

Exemplos

Exemplo #1 Using Imagick::transformImage():

The example creates a 100x100 black image.

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");
$new_image = $image->transformImage("100x100", "100x100");
$new_image->writeImage('test_out.jpg');
?>

Veja Também

  • Imagick::cropImage() - Extracts a region of the image
  • Imagick::resizeImage() - Scales an image
  • Imagick::thumbnailImage() - Changes the size of an image


Transforms an image to a new colorspace

  • « Imagick::transformImage
  • Imagick::transparentPaintImage »
  • PHP Manual
  • Imagick
  • Transforms an image to a new colorspace

Imagick::transformImageColorspace

(PECL imagick 3)

Imagick::transformImageColorspace — Transforms an image to a new colorspace

Descrição

public Imagick::transformImageColorspace ( int $colorspace ) : bool

Transforms an image to a new colorspace.

Parâmetros

colorspace

The colorspace the image should be transformed to, one of the COLORSPACE constants e.g. Imagick::COLORSPACE_CMYK.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::transformImageColorspace() example

Transforms an image to a new colorspace, and then extracts a single channel so that the individual channel values can be viewed.

<?php
function transformImageColorspace($imagePath, $colorSpace, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->transformimagecolorspace($colorSpace);
    //channel should be one of the channel constants e.g. \Imagick::CHANNEL_BLUE
    $imagick->separateImageChannel($channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}
?>

Veja Também

  • Imagick::setColorSpace() - Set colorspace

Exemplos

Exemplo #2 Imagick::transformImageColorspace()

<?php
function transformImageColorspace($imagePath, $colorSpace, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->transformimagecolorspace($colorSpace);
    $imagick->separateImageChannel($channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Paints pixels transparent

  • « Imagick::transformImageColorspace
  • Imagick::transposeImage »
  • PHP Manual
  • Imagick
  • Paints pixels transparent

Imagick::transparentPaintImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::transparentPaintImage — Paints pixels transparent

Descrição

public Imagick::transparentPaintImage ( mixed $target , float $alpha , float $fuzz , bool $invert ) : bool

Paints pixels matching the target color transparent. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.8 ou superior.

Parâmetros

target

The target color to paint

alpha

O nível de transparência: 1.0 é totalmente opaco e 0.0 é totalmente transparente.

fuzz

A quantidade de variação (fuzz). Por exemplo no fuzz de 10 a cor vermelha nas intensidades 100 e 102 são interpretadas como a mesma cor.

invert

If true paints any pixel that does not match the target color.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::transparentPaintImage()

<?php
function transparentPaintImage($color, $alpha, $fuzz) {
    $imagick = new \Imagick(realpath("images/BlueScreen.jpg"));

    //Need to be in a format that supports transparency
    $imagick->setimageformat('png');

    $imagick->transparentPaintImage(
        $color, $alpha, $fuzz * \Imagick::getQuantum(), false
    );

    //Not required, but helps tidy up left over pixels
    $imagick->despeckleimage();

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Creates a vertical mirror image

  • « Imagick::transparentPaintImage
  • Imagick::transverseImage »
  • PHP Manual
  • Imagick
  • Creates a vertical mirror image

Imagick::transposeImage

(PECL imagick 2, PECL imagick 3)

Imagick::transposeImage — Creates a vertical mirror image

Descrição

public Imagick::transposeImage ( ) : bool

Creates a vertical mirror image by reflecting the pixels around the central x-axis while rotating them 90-degrees. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Valor Retornado

Retorna true no sucesso.

Veja Também

  • Imagick::transverseImage() - Creates a horizontal mirror image

Exemplos

Exemplo #1 Imagick::transposeImage()

<?php
function transposeImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->transposeImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Creates a horizontal mirror image

  • « Imagick::transposeImage
  • Imagick::trimImage »
  • PHP Manual
  • Imagick
  • Creates a horizontal mirror image

Imagick::transverseImage

(PECL imagick 2, PECL imagick 3)

Imagick::transverseImage — Creates a horizontal mirror image

Descrição

public Imagick::transverseImage ( ) : bool

Creates a horizontal mirror image by reflecting the pixels around the central y-axis while rotating them 270-degrees. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Valor Retornado

Retorna true no sucesso.

Veja Também

  • Imagick::transposeImage() - Creates a vertical mirror image

Exemplos

Exemplo #1 Imagick::transverseImage()

<?php
function transverseImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->transverseImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Remove edges from the image

  • « Imagick::transverseImage
  • Imagick::uniqueImageColors »
  • PHP Manual
  • Imagick
  • Remove edges from the image

Imagick::trimImage

(PECL imagick 2, PECL imagick 3)

Imagick::trimImage — Remove edges from the image

Descrição

public Imagick::trimImage ( float $fuzz ) : bool

Remove edges that are the background color from the image. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

fuzz

By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. This parameter represents the variation on the quantum range.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Using Imagick::trimImage():

Trim an image, then display to the browser.

<?php
/* Create the object and read the image in */
$im = new Imagick("image.jpg");

/* Trim the image. */
$im->trimImage(0);

/* Ouput the image */
header("Content-Type: image/" . $im->getImageFormat());
echo $im;
?>

Veja Também

  • Imagick::getQuantumDepth() - Gets the quantum depth
  • Imagick::getQuantumRange() - Returns the Imagick quantum range
  • imagecropauto() - Crop an image automatically using one of the available modes


Discards all but one of any pixel color

  • « Imagick::trimImage
  • Imagick::unsharpMaskImage »
  • PHP Manual
  • Imagick
  • Discards all but one of any pixel color

Imagick::uniqueImageColors

(PECL imagick 2,PECL imagick 3)

Imagick::uniqueImageColors — Discards all but one of any pixel color

Descrição

public Imagick::uniqueImageColors ( ) : bool

Discards all but one of any pixel color. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Imagick::uniqueImageColors()

<?php
function uniqueImageColors($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    //Reduce the image to 256 colours nicely.
    $imagick->quantizeImage(256, \Imagick::COLORSPACE_YIQ, 0, false, false);
    $imagick->uniqueImageColors();
    $imagick->scaleimage($imagick->getImageWidth(), $imagick->getImageHeight() * 20);
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Sharpens an image

  • « Imagick::uniqueImageColors
  • Imagick::valid »
  • PHP Manual
  • Imagick
  • Sharpens an image

Imagick::unsharpMaskImage

(PECL imagick 2, PECL imagick 3)

Imagick::unsharpMaskImage — Sharpens an image

Descrição

public Imagick::unsharpMaskImage ( float $radius , float $sigma , float $amount , float $threshold , int $channel = Imagick::CHANNEL_DEFAULT ) : bool

Sharpens an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and Imagick::UnsharpMaskImage() selects a suitable radius for you.

Parâmetros

radius

sigma

amount

threshold

channel

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Imagick::unsharpMaskImage()

<?php
function unsharpMaskImage($imagePath, $radius, $sigma, $amount, $unsharpThreshold) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->unsharpMaskImage($radius, $sigma, $amount, $unsharpThreshold);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Checks if the current item is valid

  • « Imagick::unsharpMaskImage
  • Imagick::vignetteImage »
  • PHP Manual
  • Imagick
  • Checks if the current item is valid

Imagick::valid

(PECL imagick 2, PECL imagick 3)

Imagick::valid — Checks if the current item is valid

Descrição

public Imagick::valid ( ) : bool

Checks if the current item is valid.

Valor Retornado

Retorna true no sucesso.


Adds vignette filter to the image

  • « Imagick::valid
  • Imagick::waveImage »
  • PHP Manual
  • Imagick
  • Adds vignette filter to the image

Imagick::vignetteImage

(PECL imagick 2, PECL imagick 3)

Imagick::vignetteImage — Adds vignette filter to the image

Descrição

public Imagick::vignetteImage ( float $blackPoint , float $whitePoint , int $x , int $y ) : bool

Softens the edges of the image in vignette style. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

blackPoint

The black point.

whitePoint

The white point

x

X offset of the ellipse

y

Y offset of the ellipse

Valor Retornado

Retorna true no sucesso.

Veja Também

  • Imagick::waveImage() - Applies wave filter to the image
  • Imagick::swirlImage() - Swirls the pixels about the center of the image

Exemplos

Exemplo #1 Imagick::vignetteImage()

<?php
function vignetteImage($imagePath, $blackPoint, $whitePoint, $x, $y) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->vignetteImage($blackPoint, $whitePoint, $x, $y);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Applies wave filter to the image

  • « Imagick::vignetteImage
  • Imagick::whiteThresholdImage »
  • PHP Manual
  • Imagick
  • Applies wave filter to the image

Imagick::waveImage

(PECL imagick 2, PECL imagick 3)

Imagick::waveImage — Applies wave filter to the image

Descrição

public Imagick::waveImage ( float $amplitude , float $length ) : bool

Applies a wave filter to the image. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.2.9 ou superior.

Parâmetros

amplitude

The amplitude of the wave.

length

The length of the wave.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Veja Também

  • Imagick::solarizeImage() - Applies a solarizing effect to the image
  • Imagick::oilpaintImage() - Simulates an oil painting
  • Imagick::embossImage() - Returns a grayscale image with a three-dimensional effect
  • Imagick::addNoiseImage() - Adds random noise to the image
  • Imagick::swirlImage() - Swirls the pixels about the center of the image

Exemplos

Exemplo #1 WaveImage can be quite slow Imagick::waveImage()

<?php
function waveImage($imagePath, $amplitude, $length) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->waveImage($amplitude, $length);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Force all pixels above the threshold into white

  • « Imagick::waveImage
  • Imagick::writeImage »
  • PHP Manual
  • Imagick
  • Force all pixels above the threshold into white

Imagick::whiteThresholdImage

(PECL imagick 2, PECL imagick 3)

Imagick::whiteThresholdImage — Force all pixels above the threshold into white

Descrição

public Imagick::whiteThresholdImage ( mixed $threshold ) : bool

Is like Imagick::ThresholdImage() but force all pixels above the threshold into white while leaving all pixels below the threshold unchanged.

Parâmetros

threshold

Valor Retornado

Retorna true no sucesso.

Changelog

Versão | Descrição
PECL imagick 2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.

Exemplos

Exemplo #1 Imagick::whiteThresholdImage()

<?php
function whiteThresholdImage($imagePath, $color) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->whiteThresholdImage($color);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>


Writes an image to the specified filename

  • « Imagick::whiteThresholdImage
  • Imagick::writeImageFile »
  • PHP Manual
  • Imagick
  • Writes an image to the specified filename

Imagick::writeImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::writeImage — Writes an image to the specified filename

Descrição

public Imagick::writeImage ( string $filename = NULL ) : bool

Writes an image to the specified filename. If the filename parameter is NULL, the image is written to the filename set by Imagick::readImage() or Imagick::setImageFilename().

Parâmetros

filename

Filename where to write the image. The extension of the filename defines the type of the file. Format can be forced regardless of file extension using format: prefix, for example "jpg:test.png".

Valor Retornado

Retorna true no sucesso.


Writes an image to a filehandle

  • « Imagick::writeImage
  • Imagick::writeImages »
  • PHP Manual
  • Imagick
  • Writes an image to a filehandle

Imagick::writeImageFile

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::writeImageFile — Writes an image to a filehandle

Descrição

public Imagick::writeImageFile ( resource $filehandle , string $format = ? ) : bool

Writes the image sequence to an open filehandle. The handle must be opened with for example fopen. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.6 ou superior.

Parâmetros

filehandle

Filehandle where to write the image

Valor Retornado

Retorna true no sucesso.


Writes an image or image sequence

  • « Imagick::writeImageFile
  • Imagick::writeImagesFile »
  • PHP Manual
  • Imagick
  • Writes an image or image sequence

Imagick::writeImages

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::writeImages — Writes an image or image sequence

Descrição

public Imagick::writeImages ( string $filename , bool $adjoin ) : bool

Writes an image or image sequence.

Parâmetros

filename

adjoin

Valor Retornado

Retorna true no sucesso.


Writes frames to a filehandle

  • « Imagick::writeImages
  • ImagickDraw »
  • PHP Manual
  • Imagick
  • Writes frames to a filehandle

Imagick::writeImagesFile

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::writeImagesFile — Writes frames to a filehandle

Descrição

public Imagick::writeImagesFile ( resource $filehandle , string $format = ? ) : bool

Writes all image frames into an open filehandle. This method can be used to write animated gifs or other multiframe images into open filehandle. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.3.6 ou superior.

Parâmetros

filehandle

Filehandle where to write the images

Valor Retornado

Retorna true no sucesso.


The ImagickDraw class

(PECL imagick 2, PECL imagick 3)

Sinopse da classe

ImagickDraw {
public affine ( array $affine ) : bool
public annotation ( float $x , float $y , string $text ) : bool
public arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed ) : bool
public bezier ( array $coordinates ) : bool
public circle ( float $ox , float $oy , float $px , float $py ) : bool
public clear ( ) : bool
public clone ( ) : ImagickDraw
public color ( float $x , float $y , int $paintMethod ) : bool
public comment ( string $comment ) : bool
public composite ( int $compose , float $x , float $y , float $width , float $height , Imagick $compositeWand ) : bool
public __construct ( )
public destroy ( ) : bool
public ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end ) : bool
public getClipPath ( ) : string
public getClipRule ( ) : int
public getClipUnits ( ) : int
public getFillColor ( ) : ImagickPixel
public getFillOpacity ( ) : float
public getFillRule ( ) : int
public getFont ( ) : string
public getFontFamily ( ) : string
public getFontSize ( ) : float
public getFontStretch ( ) : int
public getFontStyle ( ) : int
public getFontWeight ( ) : int
public getGravity ( ) : int
public getStrokeAntialias ( ) : bool
public getStrokeColor ( ) : ImagickPixel
public getStrokeDashArray ( ) : array
public getStrokeDashOffset ( ) : float
public getStrokeLineCap ( ) : int
public getStrokeLineJoin ( ) : int
public getStrokeMiterLimit ( ) : int
public getStrokeOpacity ( ) : float
public getStrokeWidth ( ) : float
public getTextAlignment ( ) : int
public getTextAntialias ( ) : bool
public getTextDecoration ( ) : int
public getTextEncoding ( ) : string
public getTextInterlineSpacing ( ) : float
public getTextInterwordSpacing ( ) : float
public getTextKerning ( ) : float
public getTextUnderColor ( ) : ImagickPixel
public getVectorGraphics ( ) : string
public line ( float $sx , float $sy , float $ex , float $ey ) : bool
public matte ( float $x , float $y , int $paintMethod ) : bool
public pathClose ( ) : bool
public pathCurveToAbsolute ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y ) : bool
public pathCurveToQuadraticBezierAbsolute ( float $x1 , float $y1 , float $x , float $y ) : bool
public pathCurveToQuadraticBezierRelative ( float $x1 , float $y1 , float $x , float $y ) : bool
public pathCurveToQuadraticBezierSmoothAbsolute ( float $x , float $y ) : bool
public pathCurveToQuadraticBezierSmoothRelative ( float $x , float $y ) : bool
public pathCurveToRelative ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y ) : bool
public pathCurveToSmoothAbsolute ( float $x2 , float $y2 , float $x , float $y ) : bool
public pathCurveToSmoothRelative ( float $x2 , float $y2 , float $x , float $y ) : bool
public pathEllipticArcAbsolute ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y ) : bool
public pathEllipticArcRelative ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y ) : bool
public pathFinish ( ) : bool
public pathLineToAbsolute ( float $x , float $y ) : bool
public pathLineToHorizontalAbsolute ( float $x ) : bool
public pathLineToHorizontalRelative ( float $x ) : bool
public pathLineToRelative ( float $x , float $y ) : bool
public pathLineToVerticalAbsolute ( float $y ) : bool
public pathLineToVerticalRelative ( float $y ) : bool
public pathMoveToAbsolute ( float $x , float $y ) : bool
public pathMoveToRelative ( float $x , float $y ) : bool
public pathStart ( ) : bool
public point ( float $x , float $y ) : bool
public polygon ( array $coordinates ) : bool
public polyline ( array $coordinates ) : bool
public pop ( ) : bool
public popClipPath ( ) : bool
public popDefs ( ) : bool
public popPattern ( ) : bool
public push ( ) : bool
public pushClipPath ( string $clip_mask_id ) : bool
public pushDefs ( ) : bool
public pushPattern ( string $pattern_id , float $x , float $y , float $width , float $height ) : bool
public rectangle ( float $x1 , float $y1 , float $x2 , float $y2 ) : bool
public render ( ) : bool
public resetVectorGraphics ( ) : bool
public rotate ( float $degrees ) : bool
public roundRectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry ) : bool
public scale ( float $x , float $y ) : bool
public setClipPath ( string $clip_mask ) : bool
public setClipRule ( int $fill_rule ) : bool
public setClipUnits ( int $clip_units ) : bool
public setFillAlpha ( float $opacity ) : bool
public setFillColor ( ImagickPixel $fill_pixel ) : bool
public setFillOpacity ( float $fillOpacity ) : bool
public setFillPatternURL ( string $fill_url ) : bool
public setFillRule ( int $fill_rule ) : bool
public setFont ( string $font_name ) : bool
public setFontFamily ( string $font_family ) : bool
public setFontSize ( float $pointsize ) : bool
public setFontStretch ( int $fontStretch ) : bool
public setFontStyle ( int $style ) : bool
public setFontWeight ( int $font_weight ) : bool
public setGravity ( int $gravity ) : bool
public setResolution ( float $x_resolution , float $y_resolution ) : bool
public setStrokeAlpha ( float $opacity ) : bool
public setStrokeAntialias ( bool $stroke_antialias ) : bool
public setStrokeColor ( ImagickPixel $stroke_pixel ) : bool
public setStrokeDashArray ( array $dashArray ) : bool
public setStrokeDashOffset ( float $dash_offset ) : bool
public setStrokeLineCap ( int $linecap ) : bool
public setStrokeLineJoin ( int $linejoin ) : bool
public setStrokeMiterLimit ( int $miterlimit ) : bool
public setStrokeOpacity ( float $stroke_opacity ) : bool
public setStrokePatternURL ( string $stroke_url ) : bool
public setStrokeWidth ( float $stroke_width ) : bool
public setTextAlignment ( int $alignment ) : bool
public setTextAntialias ( bool $antiAlias ) : bool
public setTextDecoration ( int $decoration ) : bool
public setTextEncoding ( string $encoding ) : bool
public setTextInterlineSpacing ( float $spacing ) : bool
public setTextInterwordSpacing ( float $spacing ) : bool
public setTextKerning ( float $kerning ) : bool
public setTextUnderColor ( ImagickPixel $under_color ) : bool
public setVectorGraphics ( string $xml ) : bool
public setViewbox ( int $x1 , int $y1 , int $x2 , int $y2 ) : bool
public skewX ( float $degrees ) : bool
public skewY ( float $degrees ) : bool
public translate ( float $x , float $y ) : bool
}

Índice

  • ImagickDraw::affine — Adjusts the current affine transformation matrix
  • ImagickDraw::annotation — Draws text on the image
  • ImagickDraw::arc — Draws an arc
  • ImagickDraw::bezier — Draws a bezier curve
  • ImagickDraw::circle — Draws a circle
  • ImagickDraw::clear — Clears the ImagickDraw
  • ImagickDraw::clone — Makes an exact copy of the specified ImagickDraw object
  • ImagickDraw::color — Draws color on image
  • ImagickDraw::comment — Adds a comment
  • ImagickDraw::composite — Composites an image onto the current image
  • ImagickDraw::__construct — The ImagickDraw constructor
  • ImagickDraw::destroy — Frees all associated resources
  • ImagickDraw::ellipse — Draws an ellipse on the image
  • ImagickDraw::getClipPath — Obtains the current clipping path ID
  • ImagickDraw::getClipRule — Returns the current polygon fill rule
  • ImagickDraw::getClipUnits — Returns the interpretation of clip path units
  • ImagickDraw::getFillColor — Returns the fill color
  • ImagickDraw::getFillOpacity — Returns the opacity used when drawing
  • ImagickDraw::getFillRule — Returns the fill rule
  • ImagickDraw::getFont — Returns the font
  • ImagickDraw::getFontFamily — Returns the font family
  • ImagickDraw::getFontSize — Returns the font pointsize
  • ImagickDraw::getFontStretch — Description
  • ImagickDraw::getFontStyle — Returns the font style
  • ImagickDraw::getFontWeight — Returns the font weight
  • ImagickDraw::getGravity — Returns the text placement gravity
  • ImagickDraw::getStrokeAntialias — Returns the current stroke antialias setting
  • ImagickDraw::getStrokeColor — Returns the color used for stroking object outlines
  • ImagickDraw::getStrokeDashArray — Returns an array representing the pattern of dashes and gaps used to stroke paths
  • ImagickDraw::getStrokeDashOffset — Returns the offset into the dash pattern to start the dash
  • ImagickDraw::getStrokeLineCap — Returns the shape to be used at the end of open subpaths when they are stroked
  • ImagickDraw::getStrokeLineJoin — Returns the shape to be used at the corners of paths when they are stroked
  • ImagickDraw::getStrokeMiterLimit — Returns the stroke miter limit
  • ImagickDraw::getStrokeOpacity — Returns the opacity of stroked object outlines
  • ImagickDraw::getStrokeWidth — Returns the width of the stroke used to draw object outlines
  • ImagickDraw::getTextAlignment — Returns the text alignment
  • ImagickDraw::getTextAntialias — Returns the current text antialias setting
  • ImagickDraw::getTextDecoration — Returns the text decoration
  • ImagickDraw::getTextEncoding — Returns the code set used for text annotations
  • ImagickDraw::getTextInterlineSpacing — Description
  • ImagickDraw::getTextInterwordSpacing — Description
  • ImagickDraw::getTextKerning — Description
  • ImagickDraw::getTextUnderColor — Returns the text under color
  • ImagickDraw::getVectorGraphics — Returns a string containing vector graphics
  • ImagickDraw::line — Draws a line
  • ImagickDraw::matte — Paints on the image's opacity channel
  • ImagickDraw::pathClose — Adds a path element to the current path
  • ImagickDraw::pathCurveToAbsolute — Draws a cubic Bezier curve
  • ImagickDraw::pathCurveToQuadraticBezierAbsolute — Draws a quadratic Bezier curve
  • ImagickDraw::pathCurveToQuadraticBezierRelative — Draws a quadratic Bezier curve
  • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Draws a quadratic Bezier curve
  • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Draws a quadratic Bezier curve
  • ImagickDraw::pathCurveToRelative — Draws a cubic Bezier curve
  • ImagickDraw::pathCurveToSmoothAbsolute — Draws a cubic Bezier curve
  • ImagickDraw::pathCurveToSmoothRelative — Draws a cubic Bezier curve
  • ImagickDraw::pathEllipticArcAbsolute — Draws an elliptical arc
  • ImagickDraw::pathEllipticArcRelative — Draws an elliptical arc
  • ImagickDraw::pathFinish — Terminates the current path
  • ImagickDraw::pathLineToAbsolute — Draws a line path
  • ImagickDraw::pathLineToHorizontalAbsolute — Draws a horizontal line path
  • ImagickDraw::pathLineToHorizontalRelative — Draws a horizontal line
  • ImagickDraw::pathLineToRelative — Draws a line path
  • ImagickDraw::pathLineToVerticalAbsolute — Draws a vertical line
  • ImagickDraw::pathLineToVerticalRelative — Draws a vertical line path
  • ImagickDraw::pathMoveToAbsolute — Starts a new sub-path
  • ImagickDraw::pathMoveToRelative — Starts a new sub-path
  • ImagickDraw::pathStart — Declares the start of a path drawing list
  • ImagickDraw::point — Draws a point
  • ImagickDraw::polygon — Draws a polygon
  • ImagickDraw::polyline — Draws a polyline
  • ImagickDraw::pop — Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw
  • ImagickDraw::popClipPath — Terminates a clip path definition
  • ImagickDraw::popDefs — Terminates a definition list
  • ImagickDraw::popPattern — Terminates a pattern definition
  • ImagickDraw::push — Clones the current ImagickDraw and pushes it to the stack
  • ImagickDraw::pushClipPath — Starts a clip path definition
  • ImagickDraw::pushDefs — Indicates that following commands create named elements for early processing
  • ImagickDraw::pushPattern — Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern
  • ImagickDraw::rectangle — Draws a rectangle
  • ImagickDraw::render — Renders all preceding drawing commands onto the image
  • ImagickDraw::resetVectorGraphics — Description
  • ImagickDraw::rotate — Applies the specified rotation to the current coordinate space
  • ImagickDraw::roundRectangle — Draws a rounded rectangle
  • ImagickDraw::scale — Adjusts the scaling factor
  • ImagickDraw::setClipPath — Associates a named clipping path with the image
  • ImagickDraw::setClipRule — Set the polygon fill rule to be used by the clipping path
  • ImagickDraw::setClipUnits — Sets the interpretation of clip path units
  • ImagickDraw::setFillAlpha — Sets the opacity to use when drawing using the fill color or fill texture
  • ImagickDraw::setFillColor — Sets the fill color to be used for drawing filled objects
  • ImagickDraw::setFillOpacity — Sets the opacity to use when drawing using the fill color or fill texture
  • ImagickDraw::setFillPatternURL — Sets the URL to use as a fill pattern for filling objects
  • ImagickDraw::setFillRule — Sets the fill rule to use while drawing polygons
  • ImagickDraw::setFont — Sets the fully-specified font to use when annotating with text
  • ImagickDraw::setFontFamily — Sets the font family to use when annotating with text
  • ImagickDraw::setFontSize — Sets the font pointsize to use when annotating with text
  • ImagickDraw::setFontStretch — Sets the font stretch to use when annotating with text
  • ImagickDraw::setFontStyle — Sets the font style to use when annotating with text
  • ImagickDraw::setFontWeight — Sets the font weight
  • ImagickDraw::setGravity — Sets the text placement gravity
  • ImagickDraw::setResolution — Description
  • ImagickDraw::setStrokeAlpha — Specifies the opacity of stroked object outlines
  • ImagickDraw::setStrokeAntialias — Controls whether stroked outlines are antialiased
  • ImagickDraw::setStrokeColor — Sets the color used for stroking object outlines
  • ImagickDraw::setStrokeDashArray — Specifies the pattern of dashes and gaps used to stroke paths
  • ImagickDraw::setStrokeDashOffset — Specifies the offset into the dash pattern to start the dash
  • ImagickDraw::setStrokeLineCap — Specifies the shape to be used at the end of open subpaths when they are stroked
  • ImagickDraw::setStrokeLineJoin — Specifies the shape to be used at the corners of paths when they are stroked
  • ImagickDraw::setStrokeMiterLimit — Specifies the miter limit
  • ImagickDraw::setStrokeOpacity — Specifies the opacity of stroked object outlines
  • ImagickDraw::setStrokePatternURL — Sets the pattern used for stroking object outlines
  • ImagickDraw::setStrokeWidth — Sets the width of the stroke used to draw object outlines
  • ImagickDraw::setTextAlignment — Specifies a text alignment
  • ImagickDraw::setTextAntialias — Controls whether text is antialiased
  • ImagickDraw::setTextDecoration — Specifies a decoration
  • ImagickDraw::setTextEncoding — Specifies the text code set
  • ImagickDraw::setTextInterlineSpacing — Description
  • ImagickDraw::setTextInterwordSpacing — Description
  • ImagickDraw::setTextKerning — Description
  • ImagickDraw::setTextUnderColor — Specifies the color of a background rectangle
  • ImagickDraw::setVectorGraphics — Sets the vector graphics
  • ImagickDraw::setViewbox — Sets the overall canvas size
  • ImagickDraw::skewX — Skews the current coordinate system in the horizontal direction
  • ImagickDraw::skewY — Skews the current coordinate system in the vertical direction
  • ImagickDraw::translate — Applies a translation to the current coordinate system


Adjusts the current affine transformation matrix

  • « ImagickDraw
  • ImagickDraw::annotation »
  • PHP Manual
  • ImagickDraw
  • Adjusts the current affine transformation matrix

ImagickDraw::affine

(PECL imagick 2, PECL imagick 3)

ImagickDraw::affine — Adjusts the current affine transformation matrix

Descrição

public ImagickDraw::affine ( array $affine ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Adjusts the current affine transformation matrix with the specified affine transformation matrix.

Parâmetros

affine

Affine matrix parameters

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::affine()

<?php
function affine($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeWidth(1);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);

    $PI = 3.141592653589794;
    $angle = 60 * $PI / 360;

    //Scale the drawing co-ordinates.
    $affineScale = array("sx" => 1.75, "sy" => 1.75, "rx" => 0, "ry" => 0, "tx" => 0, "ty" => 0);

    //Shear the drawing co-ordinates.
    $affineShear = array("sx" => 1, "sy" => 1, "rx" => sin($angle), "ry" => -sin($angle), "tx" => 0, "ty" => 0);

    //Rotate the drawing co-ordinates. The shear affine matrix
    //produces incorrectly scaled drawings.
    $affineRotate = array("sx" => cos($angle), "sy" => cos($angle), "rx" => sin($angle), "ry" => -sin($angle), "tx" => 0, "ty" => 0,);

    //Translate (offset) the drawing
    $affineTranslate = array("sx" => 1, "sy" => 1, "rx" => 0, "ry" => 0, "tx" => 30, "ty" => 30);

    //The identiy affine matrix
    $affineIdentity = array("sx" => 1, "sy" => 1, "rx" => 0, "ry" => 0, "tx" => 0, "ty" => 0);

    $examples = [$affineScale, $affineShear, $affineRotate, $affineTranslate, $affineIdentity,];

    $count = 0;

    foreach ($examples as $example) {
        $draw->push();
        $draw->translate(($count % 2) * 250, intval($count / 2) * 250);
        $draw->translate(100, 100);
        $draw->affine($example);
        $draw->rectangle(-50, -50, 50, 50);
        $draw->pop();
        $count++;
    }

    //Create an image object which the draw commands can be rendered into
    $image = new \Imagick();
    $image->newImage(500, 750, $backgroundColor);
    $image->setImageFormat("png");

    //Render the draw commands in the ImagickDraw object
    //into the image.
    $image->drawImage($draw);

    //Send the image to the browser
    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Draws text on the image

  • « ImagickDraw::affine
  • ImagickDraw::arc »
  • PHP Manual
  • ImagickDraw
  • Draws text on the image

ImagickDraw::annotation

(PECL imagick 2, PECL imagick 3)

ImagickDraw::annotation — Draws text on the image

Descrição

public ImagickDraw::annotation ( float $x , float $y , string $text ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws text on the image.

Parâmetros

x

The x coordinate where text is drawn

y

The y coordinate where text is drawn

text

The text to draw on the image

Valor Retornado

Não há valor retornado.


Draws an arc

  • « ImagickDraw::annotation
  • ImagickDraw::bezier »
  • PHP Manual
  • ImagickDraw
  • Draws an arc

ImagickDraw::arc

(PECL imagick 2, PECL imagick 3)

ImagickDraw::arc — Draws an arc

Descrição

public ImagickDraw::arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws an arc falling within a specified bounding rectangle on the image.

Parâmetros

sx

Starting x ordinate of bounding rectangle

sy

starting y ordinate of bounding rectangle

ex

ending x ordinate of bounding rectangle

ey

ending y ordinate of bounding rectangle

sd

starting degrees of rotation

ed

ending degrees of rotation

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::arc()

<?php
function arc($strokeColor, $fillColor, $backgroundColor, $startX, $startY, $endX, $endY, $startAngle, $endAngle) {

    //Create a ImagickDraw object to draw into.
    $draw = new \ImagickDraw();
    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);

    $draw->arc($startX, $startY, $endX, $endY, $startAngle, $endAngle);

    //Create an image object which the draw commands can be rendered into
    $image = new \Imagick();
    $image->newImage(IMAGE_WIDTH, IMAGE_HEIGHT, $backgroundColor);
    $image->setImageFormat("png");

    //Render the draw commands in the ImagickDraw object
    //into the image.
    $image->drawImage($draw);

    //Send the image to the browser
    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Draws a bezier curve

  • « ImagickDraw::arc
  • ImagickDraw::circle »
  • PHP Manual
  • ImagickDraw
  • Draws a bezier curve

ImagickDraw::bezier

(PECL imagick 2, PECL imagick 3)

ImagickDraw::bezier — Draws a bezier curve

Descrição

public ImagickDraw::bezier ( array $coordinates ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a bezier curve through a set of points on the image.

Parâmetros

coordinates

Multidimensional array like array( array( 'x' => 1, 'y' => 2 ), array( 'x' => 3, 'y' => 4 ) )

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::bezier()

<?php
function bezier($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $strokeColor = new \ImagickPixel($strokeColor);
    $fillColor = new \ImagickPixel($fillColor);

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);

    $smoothPointsSet = [
        [
            ['x' => 10.0 * 5, 'y' => 10.0 * 5],
            ['x' => 30.0 * 5, 'y' => 90.0 * 5],
            ['x' => 25.0 * 5, 'y' => 10.0 * 5],
            ['x' => 50.0 * 5, 'y' => 50.0 * 5],
        ],
        [
            ['x' => 50.0 * 5, 'y' => 50.0 * 5],
            ['x' => 75.0 * 5, 'y' => 90.0 * 5],
            ['x' => 70.0 * 5, 'y' => 10.0 * 5],
            ['x' => 90.0 * 5, 'y' => 40.0 * 5],
        ],
    ];

    foreach ($smoothPointsSet as $points) {
        $draw->bezier($points);
    }

    $disjointPoints = [
        [
            ['x' => 10 * 5, 'y' => 10 * 5],
            ['x' => 30 * 5, 'y' => 90 * 5],
            ['x' => 25 * 5, 'y' => 10 * 5],
            ['x' => 50 * 5, 'y' => 50 * 5],
        ],
        [
            ['x' => 50 * 5, 'y' => 50 * 5],
            ['x' => 80 * 5, 'y' => 50 * 5],
            ['x' => 70 * 5, 'y' => 10 * 5],
            ['x' => 90 * 5, 'y' => 40 * 5],
         ]
    ];
    $draw->translate(0, 200);

    foreach ($disjointPoints as $points) {
        $draw->bezier($points);
    }

    //Create an image object which the draw commands can be rendered into
    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    //Render the draw commands in the ImagickDraw object
    //into the image.
    $imagick->drawImage($draw);

    //Send the image to the browser
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Draws a circle

  • « ImagickDraw::bezier
  • ImagickDraw::clear »
  • PHP Manual
  • ImagickDraw
  • Draws a circle

ImagickDraw::circle

(PECL imagick 2, PECL imagick 3)

ImagickDraw::circle — Draws a circle

Descrição

public ImagickDraw::circle ( float $ox , float $oy , float $px , float $py ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a circle on the image.

Parâmetros

ox

origin x coordinate

oy

origin y coordinate

px

perimeter x coordinate

py

perimeter y coordinate

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::circle()

<?php
function circle($strokeColor, $fillColor, $backgroundColor, $originX, $originY, $endX, $endY) {

    //Create a ImagickDraw object to draw into.
    $draw = new \ImagickDraw();

    $strokeColor = new \ImagickPixel($strokeColor);
    $fillColor = new \ImagickPixel($fillColor);

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->circle($originX, $originY, $endX, $endY);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Clears the ImagickDraw

  • « ImagickDraw::circle
  • ImagickDraw::clone »
  • PHP Manual
  • ImagickDraw
  • Clears the ImagickDraw

ImagickDraw::clear

(PECL imagick 2, PECL imagick 3)

ImagickDraw::clear — Clears the ImagickDraw

Descrição

public ImagickDraw::clear ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Clears the ImagickDraw object of any accumulated commands, and resets the settings it contains to their defaults.

Valor Retornado

Returns an ImagickDraw object.


Makes an exact copy of the specified ImagickDraw object

  • « ImagickDraw::clear
  • ImagickDraw::color »
  • PHP Manual
  • ImagickDraw
  • Makes an exact copy of the specified ImagickDraw object

ImagickDraw::clone

(PECL imagick 2, PECL imagick 3)

ImagickDraw::clone — Makes an exact copy of the specified ImagickDraw object

Descrição

public ImagickDraw::clone ( ) : ImagickDraw
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Makes an exact copy of the specified ImagickDraw object.

Valor Retornado

What the function returns, first on success, then on failure. See also the &return.success; entity


Draws color on image

  • « ImagickDraw::clone
  • ImagickDraw::comment »
  • PHP Manual
  • ImagickDraw
  • Draws color on image

ImagickDraw::color

(PECL imagick 2, PECL imagick 3)

ImagickDraw::color — Draws color on image

Descrição

public ImagickDraw::color ( float $x , float $y , int $paintMethod ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws color on image using the current fill color, starting at specified position, and using specified paint method.

Parâmetros

x

x coordinate of the paint

y

y coordinate of the paint

paintMethod

one of the PAINT_ constants

Valor Retornado

Não há valor retornado.


Adds a comment

  • « ImagickDraw::color
  • ImagickDraw::composite »
  • PHP Manual
  • ImagickDraw
  • Adds a comment

ImagickDraw::comment

(PECL imagick 2, PECL imagick 3)

ImagickDraw::comment — Adds a comment

Descrição

public ImagickDraw::comment ( string $comment ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Adds a comment to a vector output stream.

Parâmetros

comment

The comment string to add to vector output stream

Valor Retornado

Não há valor retornado.


Composites an image onto the current image

  • « ImagickDraw::comment
  • ImagickDraw::__construct »
  • PHP Manual
  • ImagickDraw
  • Composites an image onto the current image

ImagickDraw::composite

(PECL imagick 2, PECL imagick 3)

ImagickDraw::composite — Composites an image onto the current image

Descrição

public ImagickDraw::composite ( int $compose , float $x , float $y , float $width , float $height , Imagick $compositeWand ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Composites an image onto the current image, using the specified composition operator, specified position, and at the specified size.

Parâmetros

compose

composition operator. One of COMPOSITE_ constants

x

x coordinate of the top left corner

y

y coordinate of the top left corner

width

width of the composition image

height

height of the composition image

compositeWand

the Imagick object where composition image is taken from

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 ImagickDraw::composite()

<?php
function composite($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setFillOpacity(1);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(2);
    $draw->setFont("../fonts/CANDY.TTF");
    $draw->setFontSize(140);
    $draw->rectangle(0, 0, 1000, 300);
    $draw->setFillColor('white');
    $draw->setfillopacity(1);
    $draw->annotation(50, 180, "Lorem Ipsum!");

    //Create an image object which the draw commands can be rendered into
    $imagick = new \Imagick();
    $imagick->newImage(1000, 302, $backgroundColor);
    $imagick->setImageFormat("png");

    //Render the draw commands in the ImagickDraw object
    //into the image.
    $imagick->drawImage($draw);

    //Send the image to the browser
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


The ImagickDraw constructor

  • « ImagickDraw::composite
  • ImagickDraw::destroy »
  • PHP Manual
  • ImagickDraw
  • The ImagickDraw constructor

ImagickDraw::__construct

(PECL imagick 2, PECL imagick 3)

ImagickDraw::__construct — The ImagickDraw constructor

Descrição

public ImagickDraw::__construct ( )
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

The ImagickDraw constructor

Valor Retornado

Não há valor retornado.


Frees all associated resources

  • « ImagickDraw::__construct
  • ImagickDraw::ellipse »
  • PHP Manual
  • ImagickDraw
  • Frees all associated resources

ImagickDraw::destroy

(PECL imagick 2, PECL imagick 3)

ImagickDraw::destroy — Frees all associated resources

Descrição

public ImagickDraw::destroy ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Frees all resources associated with the ImagickDraw object.

Valor Retornado

Não há valor retornado.


Draws an ellipse on the image

  • « ImagickDraw::destroy
  • ImagickDraw::getClipPath »
  • PHP Manual
  • ImagickDraw
  • Draws an ellipse on the image

ImagickDraw::ellipse

(PECL imagick 2, PECL imagick 3)

ImagickDraw::ellipse — Draws an ellipse on the image

Descrição

public ImagickDraw::ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws an ellipse on the image.

Parâmetros

ox

oy

rx

ry

start

end

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::ellipse()

<?php
function ellipse($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->ellipse(125, 70, 100, 50, 0, 360);
    $draw->ellipse(350, 70, 100, 50, 0, 315);

    $draw->push();
    $draw->translate(125, 250);
    $draw->rotate(30);
    $draw->ellipse(0, 0, 100, 50, 0, 360);
    $draw->pop();

    $draw->push();
    $draw->translate(350, 250);
    $draw->rotate(30);
    $draw->ellipse(0, 0, 100, 50, 0, 315);
    $draw->pop();

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Obtains the current clipping path ID

  • « ImagickDraw::ellipse
  • ImagickDraw::getClipRule »
  • PHP Manual
  • ImagickDraw
  • Obtains the current clipping path ID

ImagickDraw::getClipPath

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getClipPath — Obtains the current clipping path ID

Descrição

public ImagickDraw::getClipPath ( ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtains the current clipping path ID.

Valor Retornado

Returns a string containing the clip path ID or false if no clip path exists.


Returns the current polygon fill rule

  • « ImagickDraw::getClipPath
  • ImagickDraw::getClipUnits »
  • PHP Manual
  • ImagickDraw
  • Returns the current polygon fill rule

ImagickDraw::getClipRule

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getClipRule — Returns the current polygon fill rule

Descrição

public ImagickDraw::getClipRule ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the current polygon fill rule to be used by the clipping path.

Valor Retornado

Returns one of the FILLRULE_ constants.


Returns the interpretation of clip path units

  • « ImagickDraw::getClipRule
  • ImagickDraw::getFillColor »
  • PHP Manual
  • ImagickDraw
  • Returns the interpretation of clip path units

ImagickDraw::getClipUnits

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getClipUnits — Returns the interpretation of clip path units

Descrição

public ImagickDraw::getClipUnits ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the interpretation of clip path units.

Valor Retornado

Returns an int on success.


Returns the fill color

  • « ImagickDraw::getClipUnits
  • ImagickDraw::getFillOpacity »
  • PHP Manual
  • ImagickDraw
  • Returns the fill color

ImagickDraw::getFillColor

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFillColor — Returns the fill color

Descrição

public ImagickDraw::getFillColor ( ) : ImagickPixel
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the fill color used for drawing filled objects.

Valor Retornado

Returns an ImagickPixel object.


Returns the opacity used when drawing

  • « ImagickDraw::getFillColor
  • ImagickDraw::getFillRule »
  • PHP Manual
  • ImagickDraw
  • Returns the opacity used when drawing

ImagickDraw::getFillOpacity

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFillOpacity — Returns the opacity used when drawing

Descrição

public ImagickDraw::getFillOpacity ( ) : float
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the opacity used when drawing using the fill color or fill texture. Fully opaque is 1.0.

Valor Retornado

The opacity.


Returns the fill rule

  • « ImagickDraw::getFillOpacity
  • ImagickDraw::getFont »
  • PHP Manual
  • ImagickDraw
  • Returns the fill rule

ImagickDraw::getFillRule

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFillRule — Returns the fill rule

Descrição

public ImagickDraw::getFillRule ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the fill rule used while drawing polygons.

Valor Retornado

Returns a FILLRULE_ constant


Returns the font

  • « ImagickDraw::getFillRule
  • ImagickDraw::getFontFamily »
  • PHP Manual
  • ImagickDraw
  • Returns the font

ImagickDraw::getFont

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFont — Returns the font

Descrição

public ImagickDraw::getFont ( ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns a string specifying the font used when annotating with text.

Valor Retornado

Returns a string on success and false if no font is set.


Returns the font family

  • « ImagickDraw::getFont
  • ImagickDraw::getFontSize »
  • PHP Manual
  • ImagickDraw
  • Returns the font family

ImagickDraw::getFontFamily

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFontFamily — Returns the font family

Descrição

public ImagickDraw::getFontFamily ( ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the font family to use when annotating with text.

Valor Retornado

Returns the font family currently selected or false if font family is not set.


Returns the font pointsize

  • « ImagickDraw::getFontFamily
  • ImagickDraw::getFontStretch »
  • PHP Manual
  • ImagickDraw
  • Returns the font pointsize

ImagickDraw::getFontSize

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFontSize — Returns the font pointsize

Descrição

public ImagickDraw::getFontSize ( ) : float
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the font pointsize used when annotating with text.

Valor Retornado

Returns the font size associated with the current ImagickDraw object.


Description

  • « ImagickDraw::getFontSize
  • ImagickDraw::getFontStyle »
  • PHP Manual
  • ImagickDraw
  • Description

ImagickDraw::getFontStretch

(PECL imagick 2 >=2.3.0, PECL imagick 3)

ImagickDraw::getFontStretch — Description

Descrição

public ImagickDraw::getFontStretch ( ) : int

Gets the font stretch to use when annotating with text. Returns a StretchType.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Returns the font style

  • « ImagickDraw::getFontStretch
  • ImagickDraw::getFontWeight »
  • PHP Manual
  • ImagickDraw
  • Returns the font style

ImagickDraw::getFontStyle

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFontStyle — Returns the font style

Descrição

public ImagickDraw::getFontStyle ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the font style used when annotating with text.

Valor Retornado

Returns the font style constant (STYLE_) associated with the ImagickDraw object or 0 if no style is set.


Returns the font weight

  • « ImagickDraw::getFontStyle
  • ImagickDraw::getGravity »
  • PHP Manual
  • ImagickDraw
  • Returns the font weight

ImagickDraw::getFontWeight

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFontWeight — Returns the font weight

Descrição

public ImagickDraw::getFontWeight ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the font weight used when annotating with text.

Valor Retornado

Returns an int on success and 0 if no weight is set.


Returns the text placement gravity

  • « ImagickDraw::getFontWeight
  • ImagickDraw::getStrokeAntialias »
  • PHP Manual
  • ImagickDraw
  • Returns the text placement gravity

ImagickDraw::getGravity

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getGravity — Returns the text placement gravity

Descrição

public ImagickDraw::getGravity ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the text placement gravity used when annotating with text.

Valor Retornado

Returns a GRAVITY_ constant on success and 0 if no gravity is set.


Returns the current stroke antialias setting

  • « ImagickDraw::getGravity
  • ImagickDraw::getStrokeColor »
  • PHP Manual
  • ImagickDraw
  • Returns the current stroke antialias setting

ImagickDraw::getStrokeAntialias

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeAntialias — Returns the current stroke antialias setting

Descrição

public ImagickDraw::getStrokeAntialias ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the current stroke antialias setting. Stroked outlines are antialiased by default. When antialiasing is disabled stroked pixels are thresholded to determine if the stroke color or underlying canvas color should be used.

Valor Retornado

Returns true if antialiasing is on and false if it is off.


Returns the color used for stroking object outlines

  • « ImagickDraw::getStrokeAntialias
  • ImagickDraw::getStrokeDashArray »
  • PHP Manual
  • ImagickDraw
  • Returns the color used for stroking object outlines

ImagickDraw::getStrokeColor

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeColor — Returns the color used for stroking object outlines

Descrição

public ImagickDraw::getStrokeColor ( ) : ImagickPixel
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the color used for stroking object outlines.

Parâmetros

stroke_color

Valor Retornado

Returns an ImagickPixel object which describes the color.


Returns an array representing the pattern of dashes and gaps used to stroke paths

  • « ImagickDraw::getStrokeColor
  • ImagickDraw::getStrokeDashOffset »
  • PHP Manual
  • ImagickDraw
  • Returns an array representing the pattern of dashes and gaps used to stroke paths

ImagickDraw::getStrokeDashArray

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeDashArray — Returns an array representing the pattern of dashes and gaps used to stroke paths

Descrição

public ImagickDraw::getStrokeDashArray ( ) : array
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns an array representing the pattern of dashes and gaps used to stroke paths.

Valor Retornado

Returns an array on success and empty array if not set.


Returns the offset into the dash pattern to start the dash

  • « ImagickDraw::getStrokeDashArray
  • ImagickDraw::getStrokeLineCap »
  • PHP Manual
  • ImagickDraw
  • Returns the offset into the dash pattern to start the dash

ImagickDraw::getStrokeDashOffset

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeDashOffset — Returns the offset into the dash pattern to start the dash

Descrição

public ImagickDraw::getStrokeDashOffset ( ) : float
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the offset into the dash pattern to start the dash.

Valor Retornado

Returns a float representing the offset and 0 if it's not set.


Returns the shape to be used at the end of open subpaths when they are stroked

  • « ImagickDraw::getStrokeDashOffset
  • ImagickDraw::getStrokeLineJoin »
  • PHP Manual
  • ImagickDraw
  • Returns the shape to be used at the end of open subpaths when they are stroked

ImagickDraw::getStrokeLineCap

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeLineCap — Returns the shape to be used at the end of open subpaths when they are stroked

Descrição

public ImagickDraw::getStrokeLineCap ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the shape to be used at the end of open subpaths when they are stroked.

Valor Retornado

Returns one of the LINECAP_ constants or 0 if stroke linecap is not set.


Returns the shape to be used at the corners of paths when they are stroked

  • « ImagickDraw::getStrokeLineCap
  • ImagickDraw::getStrokeMiterLimit »
  • PHP Manual
  • ImagickDraw
  • Returns the shape to be used at the corners of paths when they are stroked

ImagickDraw::getStrokeLineJoin

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeLineJoin — Returns the shape to be used at the corners of paths when they are stroked

Descrição

public ImagickDraw::getStrokeLineJoin ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the shape to be used at the corners of paths (or other vector shapes) when they are stroked.

Valor Retornado

Returns one of the LINEJOIN_ constants or 0 if stroke line join is not set.


Returns the stroke miter limit

  • « ImagickDraw::getStrokeLineJoin
  • ImagickDraw::getStrokeOpacity »
  • PHP Manual
  • ImagickDraw
  • Returns the stroke miter limit

ImagickDraw::getStrokeMiterLimit

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeMiterLimit — Returns the stroke miter limit

Descrição

public ImagickDraw::getStrokeMiterLimit ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the miter limit. When two line segments meet at a sharp angle and miter joins have been specified for 'lineJoin', it is possible for the miter to extend far beyond the thickness of the line stroking the path. The 'miterLimit' imposes a limit on the ratio of the miter length to the 'lineWidth'.

Valor Retornado

Returns an int describing the miter limit and 0 if no miter limit is set.


Returns the opacity of stroked object outlines

  • « ImagickDraw::getStrokeMiterLimit
  • ImagickDraw::getStrokeWidth »
  • PHP Manual
  • ImagickDraw
  • Returns the opacity of stroked object outlines

ImagickDraw::getStrokeOpacity

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeOpacity — Returns the opacity of stroked object outlines

Descrição

public ImagickDraw::getStrokeOpacity ( ) : float
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the opacity of stroked object outlines.

Valor Retornado

Returns a double describing the opacity.


Returns the width of the stroke used to draw object outlines

  • « ImagickDraw::getStrokeOpacity
  • ImagickDraw::getTextAlignment »
  • PHP Manual
  • ImagickDraw
  • Returns the width of the stroke used to draw object outlines

ImagickDraw::getStrokeWidth

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeWidth — Returns the width of the stroke used to draw object outlines

Descrição

public ImagickDraw::getStrokeWidth ( ) : float
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the width of the stroke used to draw object outlines.

Valor Retornado

Returns a double describing the stroke width.


Returns the text alignment

  • « ImagickDraw::getStrokeWidth
  • ImagickDraw::getTextAntialias »
  • PHP Manual
  • ImagickDraw
  • Returns the text alignment

ImagickDraw::getTextAlignment

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getTextAlignment — Returns the text alignment

Descrição

public ImagickDraw::getTextAlignment ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the alignment applied when annotating with text.

Valor Retornado

Returns one of the ALIGN_ constants and 0 if no align is set.


Returns the current text antialias setting

  • « ImagickDraw::getTextAlignment
  • ImagickDraw::getTextDecoration »
  • PHP Manual
  • ImagickDraw
  • Returns the current text antialias setting

ImagickDraw::getTextAntialias

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getTextAntialias — Returns the current text antialias setting

Descrição

public ImagickDraw::getTextAntialias ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the current text antialias setting, which determines whether text is antialiased. Text is antialiased by default.

Valor Retornado

Returns true if text is antialiased and false if not.


Returns the text decoration

  • « ImagickDraw::getTextAntialias
  • ImagickDraw::getTextEncoding »
  • PHP Manual
  • ImagickDraw
  • Returns the text decoration

ImagickDraw::getTextDecoration

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getTextDecoration — Returns the text decoration

Descrição

public ImagickDraw::getTextDecoration ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the decoration applied when annotating with text.

Valor Retornado

Returns one of the DECORATION_ constants and 0 if no decoration is set.


Returns the code set used for text annotations

  • « ImagickDraw::getTextDecoration
  • ImagickDraw::getTextInterlineSpacing »
  • PHP Manual
  • ImagickDraw
  • Returns the code set used for text annotations

ImagickDraw::getTextEncoding

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getTextEncoding — Returns the code set used for text annotations

Descrição

public ImagickDraw::getTextEncoding ( ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns a string which specifies the code set used for text annotations.

Valor Retornado

Returns a string specifying the code set or false if text encoding is not set.


Description

  • « ImagickDraw::getTextEncoding
  • ImagickDraw::getTextInterwordSpacing »
  • PHP Manual
  • ImagickDraw
  • Description

ImagickDraw::getTextInterlineSpacing

(PECL imagick 3 >= 3.1.0)

ImagickDraw::getTextInterlineSpacing — Description

Descrição

public ImagickDraw::getTextInterlineSpacing ( ) : float

Gets the text interword spacing.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « ImagickDraw::getTextInterlineSpacing
  • ImagickDraw::getTextKerning »
  • PHP Manual
  • ImagickDraw
  • Description

ImagickDraw::getTextInterwordSpacing

(PECL imagick 2 >= 2.3.0, PECL imagick 3 >= 3.1.0)

ImagickDraw::getTextInterwordSpacing — Description

Descrição

public ImagickDraw::getTextInterwordSpacing ( ) : float

Gets the text interword spacing.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « ImagickDraw::getTextInterwordSpacing
  • ImagickDraw::getTextUnderColor »
  • PHP Manual
  • ImagickDraw
  • Description

ImagickDraw::getTextKerning

(PECL imagick 2 >= 2.3.0, PECL imagick 3 >= 3.1.0)

ImagickDraw::getTextKerning — Description

Descrição

public ImagickDraw::getTextKerning ( ) : float

Gets the text kerning.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Returns the text under color

  • « ImagickDraw::getTextKerning
  • ImagickDraw::getVectorGraphics »
  • PHP Manual
  • ImagickDraw
  • Returns the text under color

ImagickDraw::getTextUnderColor

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getTextUnderColor — Returns the text under color

Descrição

public ImagickDraw::getTextUnderColor ( ) : ImagickPixel
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the color of a background rectangle to place under text annotations.

Valor Retornado

Returns an ImagickPixel object describing the color.


Returns a string containing vector graphics

  • « ImagickDraw::getTextUnderColor
  • ImagickDraw::line »
  • PHP Manual
  • ImagickDraw
  • Returns a string containing vector graphics

ImagickDraw::getVectorGraphics

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getVectorGraphics — Returns a string containing vector graphics

Descrição

public ImagickDraw::getVectorGraphics ( ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns a string which specifies the vector graphics generated by any graphics calls made since the ImagickDraw object was instantiated.

Valor Retornado

Returns a string containing the vector graphics.


Draws a line

  • « ImagickDraw::getVectorGraphics
  • ImagickDraw::matte »
  • PHP Manual
  • ImagickDraw
  • Draws a line

ImagickDraw::line

(PECL imagick 2, PECL imagick 3)

ImagickDraw::line — Draws a line

Descrição

public ImagickDraw::line ( float $sx , float $sy , float $ex , float $ey ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a line on the image using the current stroke color, stroke opacity, and stroke width.

Parâmetros

sx

starting x coordinate

sy

starting y coordinate

ex

ending x coordinate

ey

ending y coordinate

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::line()

<?php
function line($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->line(125, 70, 100, 50);
    $draw->line(350, 170, 100, 150);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Paints on the image's opacity channel

  • « ImagickDraw::line
  • ImagickDraw::pathClose »
  • PHP Manual
  • ImagickDraw
  • Paints on the image's opacity channel

ImagickDraw::matte

(PECL imagick 2, PECL imagick 3)

ImagickDraw::matte — Paints on the image's opacity channel

Descrição

public ImagickDraw::matte ( float $x , float $y , int $paintMethod ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Paints on the image's opacity channel in order to set effected pixels to transparent, to influence the opacity of pixels.

Parâmetros

x

x coordinate of the matte

y

y coordinate of the matte

paintMethod

PAINT_ constant

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 ImagickDraw::matte()

<?php
function matte($strokeColor, $fillColor, $backgroundColor, $paintType) {
    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->matte(120, 120, $paintType);
    $draw->rectangle(100, 100, 300, 200);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Adds a path element to the current path

  • « ImagickDraw::matte
  • ImagickDraw::pathCurveToAbsolute »
  • PHP Manual
  • ImagickDraw
  • Adds a path element to the current path

ImagickDraw::pathClose

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathClose — Adds a path element to the current path

Descrição

public ImagickDraw::pathClose ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Adds a path element to the current path which closes the current subpath by drawing a straight line from the current point to the current subpath's most recent starting point (usually, the most recent moveto point).

Valor Retornado

Não há valor retornado.


Draws a cubic Bezier curve

  • « ImagickDraw::pathClose
  • ImagickDraw::pathCurveToQuadraticBezierAbsolute »
  • PHP Manual
  • ImagickDraw
  • Draws a cubic Bezier curve

ImagickDraw::pathCurveToAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToAbsolute — Draws a cubic Bezier curve

Descrição

public ImagickDraw::pathCurveToAbsolute ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a cubic Bezier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve using absolute coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Parâmetros

x1

x coordinate of the first control point

y1

y coordinate of the first control point

x2

x coordinate of the second control point

y2

y coordinate of the first control point

x

x coordinate of the curve end

y

y coordinate of the curve end

Valor Retornado

Não há valor retornado.


Draws a quadratic Bezier curve

  • « ImagickDraw::pathCurveToAbsolute
  • ImagickDraw::pathCurveToQuadraticBezierRelative »
  • PHP Manual
  • ImagickDraw
  • Draws a quadratic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToQuadraticBezierAbsolute — Draws a quadratic Bezier curve

Descrição

public ImagickDraw::pathCurveToQuadraticBezierAbsolute ( float $x1 , float $y1 , float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a quadratic Bezier curve from the current point to (x,y) using (x1,y1) as the control point using absolute coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Parâmetros

x1

x coordinate of the control point

y1

y coordinate of the control point

x

x coordinate of the end point

y

y coordinate of the end point

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::pathCurveToQuadraticBezierAbsolute()

<?php
function pathCurveToQuadraticBezierAbsolute($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->pathStart();
    $draw->pathMoveToAbsolute(50,250);

    // This specifies a quadratic bezier curve with the current position as the start
    // point, the control point is the first two params, and the end point is the last two params.
    $draw->pathCurveToQuadraticBezierAbsolute(
        150,50,
        250,250
    );

    // This specifies a quadratic bezier curve with the current position as the start
    // point, the control point is mirrored from the previous curves control point
    // and the end point is defined by the x, y values.
    $draw->pathCurveToQuadraticBezierSmoothAbsolute(
        450,250
    );

    // This specifies a quadratic bezier curve with the current position as the start
    // point, the control point is mirrored from the previous curves control point
    // and the end point is defined relative from the current position by the x, y values.
    $draw->pathCurveToQuadraticBezierSmoothRelative(
        200,-100
    );

    $draw->pathFinish();

    $imagick = new \Imagick();
    $imagick->newImage(700, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();

}

?>


Draws a quadratic Bezier curve

  • « ImagickDraw::pathCurveToQuadraticBezierAbsolute
  • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute »
  • PHP Manual
  • ImagickDraw
  • Draws a quadratic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToQuadraticBezierRelative — Draws a quadratic Bezier curve

Descrição

public ImagickDraw::pathCurveToQuadraticBezierRelative ( float $x1 , float $y1 , float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a quadratic Bezier curve from the current point to (x,y) using (x1,y1) as the control point using relative coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Parâmetros

x1

starting x coordinate

y1

starting y coordinate

x

ending x coordinate

y

ending y coordinate

Valor Retornado

Não há valor retornado.


Draws a quadratic Bezier curve

  • « ImagickDraw::pathCurveToQuadraticBezierRelative
  • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative »
  • PHP Manual
  • ImagickDraw
  • Draws a quadratic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Draws a quadratic Bezier curve

Descrição

public ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute ( float $x , float $y ) : bool

Draws a quadratic Bezier curve (using absolute coordinates) from the current point to (x,y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not a DrawPathCurveToQuadraticBezierAbsolute, DrawPathCurveToQuadraticBezierRelative, DrawPathCurveToQuadraticBezierSmoothAbsolut or DrawPathCurveToQuadraticBezierSmoothRelative, assume the control point is coincident with the current point.). At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

This function cannot be used to continue a cubic Bezier curve smoothly. It can only continue from a quadratic curve smoothly.

Parâmetros

x

ending x coordinate

y

ending y coordinate

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute()

<?php
$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeColor("black");
$draw->setFillColor("blue");

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->pathStart();
$draw->pathMoveToAbsolute(50,250);

// This specifies a quadratic bezier curve with the current position as the start
// point, the control point is the first two params, and the end point is the last two params.
$draw->pathCurveToQuadraticBezierAbsolute(
    150,50,
    250,250
);

// This specifies a quadratic bezier curve with the current position as the start
// point, the control point is mirrored from the previous curves control point
// and the end point is defined by the x, y values.
$draw->pathCurveToQuadraticBezierSmoothAbsolute(
    450,250
);

// This specifies a quadratic bezier curve with the current position as the start
// point, the control point is mirrored from the previous curves control point
// and the end point is defined relative from the current position by the x, y values.
$draw->pathCurveToQuadraticBezierSmoothRelative(
    200,-100
);

$draw->pathFinish();

$imagick = new \Imagick();
$imagick->newImage(700, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>


Draws a quadratic Bezier curve

  • « ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
  • ImagickDraw::pathCurveToRelative »
  • PHP Manual
  • ImagickDraw
  • Draws a quadratic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Draws a quadratic Bezier curve

Descrição

public ImagickDraw::pathCurveToQuadraticBezierSmoothRelative ( float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a quadratic Bezier curve (using relative coordinates) from the current point to (x, y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not a DrawPathCurveToQuadraticBezierAbsolute, DrawPathCurveToQuadraticBezierRelative, DrawPathCurveToQuadraticBezierSmoothAbsolut or DrawPathCurveToQuadraticBezierSmoothRelative, assume the control point is coincident with the current point). At the end of the command, the new current point becomes the final (x, y) coordinate pair used in the polybezier.

This function cannot be used to continue a cubic Bezier curve smoothly. It can only continue from a quadratic curve smoothly.

Parâmetros

x

ending x coordinate

y

ending y coordinate

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::pathCurveToQuadraticBezierSmoothRelative()

<?php
$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeColor("black");
$draw->setFillColor("blue");

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->pathStart();
$draw->pathMoveToAbsolute(50,250);

// This specifies a quadratic bezier curve with the current position as the start
// point, the control point is the first two params, and the end point is the last two params.
$draw->pathCurveToQuadraticBezierAbsolute(
    150,50,
    250,250
);

// This specifies a quadratic bezier curve with the current position as the start
// point, the control point is mirrored from the previous curves control point
// and the end point is defined by the x, y values.
$draw->pathCurveToQuadraticBezierSmoothAbsolute(
    450,250
);

// This specifies a quadratic bezier curve with the current position as the start
// point, the control point is mirrored from the previous curves control point
// and the end point is defined relative from the current position by the x, y values.
$draw->pathCurveToQuadraticBezierSmoothRelative(
    200,-100
);

$draw->pathFinish();

$imagick = new \Imagick();
$imagick->newImage(700, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>


Draws a cubic Bezier curve

  • « ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
  • ImagickDraw::pathCurveToSmoothAbsolute »
  • PHP Manual
  • ImagickDraw
  • Draws a cubic Bezier curve

ImagickDraw::pathCurveToRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToRelative — Draws a cubic Bezier curve

Descrição

public ImagickDraw::pathCurveToRelative ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a cubic Bezier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve using relative coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Parâmetros

x1

x coordinate of starting control point

y1

y coordinate of starting control point

x2

x coordinate of ending control point

y2

y coordinate of ending control point

x

ending x coordinate

y

ending y coordinate

Valor Retornado

Não há valor retornado.


Draws a cubic Bezier curve

  • « ImagickDraw::pathCurveToRelative
  • ImagickDraw::pathCurveToSmoothRelative »
  • PHP Manual
  • ImagickDraw
  • Draws a cubic Bezier curve

ImagickDraw::pathCurveToSmoothAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToSmoothAbsolute — Draws a cubic Bezier curve

Descrição

public ImagickDraw::pathCurveToSmoothAbsolute ( float $x2 , float $y2 , float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a cubic Bezier curve from the current point to (x,y) using absolute coordinates. The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not an DrawPathCurveToAbsolute, DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute or DrawPathCurveToSmoothRelative, assume the first control point is coincident with the current point.) (x2,y2) is the second control point (i.e., the control point at the end of the curve). At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Parâmetros

x2

x coordinate of the second control point

y2

y coordinate of the second control point

x

x coordinate of the ending point

y

y coordinate of the ending point

Valor Retornado

Não há valor retornado.


Draws a cubic Bezier curve

  • « ImagickDraw::pathCurveToSmoothAbsolute
  • ImagickDraw::pathEllipticArcAbsolute »
  • PHP Manual
  • ImagickDraw
  • Draws a cubic Bezier curve

ImagickDraw::pathCurveToSmoothRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToSmoothRelative — Draws a cubic Bezier curve

Descrição

public ImagickDraw::pathCurveToSmoothRelative ( float $x2 , float $y2 , float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a cubic Bezier curve from the current point to (x,y) using relative coordinates. The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not an DrawPathCurveToAbsolute, DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute or DrawPathCurveToSmoothRelative, assume the first control point is coincident with the current point.) (x2,y2) is the second control point (i.e., the control point at the end of the curve). At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Parâmetros

x2

x coordinate of the second control point

y2

y coordinate of the second control point

x

x coordinate of the ending point

y

y coordinate of the ending point

Valor Retornado

Não há valor retornado.


Draws an elliptical arc

  • « ImagickDraw::pathCurveToSmoothRelative
  • ImagickDraw::pathEllipticArcRelative »
  • PHP Manual
  • ImagickDraw
  • Draws an elliptical arc

ImagickDraw::pathEllipticArcAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathEllipticArcAbsolute — Draws an elliptical arc

Descrição

public ImagickDraw::pathEllipticArcAbsolute ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws an elliptical arc from the current point to (x, y) using absolute coordinates. The size and orientation of the ellipse are defined by two radii (rx, ry) and an xAxisRotation, which indicates how the ellipse as a whole is rotated relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. largeArcFlag and sweepFlag contribute to the automatic calculations and help determine how the arc is drawn. If largeArcFlag is true then draw the larger of the available arcs. If sweepFlag is true, then draw the arc matching a clock-wise rotation.

Parâmetros

rx

x radius

ry

y radius

x_axis_rotation

x axis rotation

large_arc_flag

large arc flag

sweep_flag

sweep flag

x

x coordinate

y

y coordinate

Valor Retornado

Não há valor retornado.


Draws an elliptical arc

  • « ImagickDraw::pathEllipticArcAbsolute
  • ImagickDraw::pathFinish »
  • PHP Manual
  • ImagickDraw
  • Draws an elliptical arc

ImagickDraw::pathEllipticArcRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathEllipticArcRelative — Draws an elliptical arc

Descrição

public ImagickDraw::pathEllipticArcRelative ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws an elliptical arc from the current point to (x, y) using relative coordinates. The size and orientation of the ellipse are defined by two radii (rx, ry) and an xAxisRotation, which indicates how the ellipse as a whole is rotated relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. largeArcFlag and sweepFlag contribute to the automatic calculations and help determine how the arc is drawn. If largeArcFlag is true then draw the larger of the available arcs. If sweepFlag is true, then draw the arc matching a clock-wise rotation.

Parâmetros

rx

x radius

ry

y radius

x_axis_rotation

x axis rotation

large_arc_flag

large arc flag

sweep_flag

sweep flag

x

x coordinate

y

y coordinate

Valor Retornado

Não há valor retornado.


Terminates the current path

  • « ImagickDraw::pathEllipticArcRelative
  • ImagickDraw::pathLineToAbsolute »
  • PHP Manual
  • ImagickDraw
  • Terminates the current path

ImagickDraw::pathFinish

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathFinish — Terminates the current path

Descrição

public ImagickDraw::pathFinish ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Terminates the current path.

Valor Retornado

Não há valor retornado.


Draws a line path

  • « ImagickDraw::pathFinish
  • ImagickDraw::pathLineToHorizontalAbsolute »
  • PHP Manual
  • ImagickDraw
  • Draws a line path

ImagickDraw::pathLineToAbsolute

(PECL imagick 2)

ImagickDraw::pathLineToAbsolute — Draws a line path

Descrição

public ImagickDraw::pathLineToAbsolute ( float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a line path from the current point to the given coordinate using absolute coordinates. The coordinate then becomes the new current point.

Parâmetros

x

starting x coordinate

y

ending x coordinate

Valor Retornado

Não há valor retornado.


Draws a horizontal line path

  • « ImagickDraw::pathLineToAbsolute
  • ImagickDraw::pathLineToHorizontalRelative »
  • PHP Manual
  • ImagickDraw
  • Draws a horizontal line path

ImagickDraw::pathLineToHorizontalAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathLineToHorizontalAbsolute — Draws a horizontal line path

Descrição

public ImagickDraw::pathLineToHorizontalAbsolute ( float $x ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a horizontal line path from the current point to the target point using absolute coordinates. The target point then becomes the new current point.

Parâmetros

x

x coordinate

Valor Retornado

Não há valor retornado.


Draws a horizontal line

  • « ImagickDraw::pathLineToHorizontalAbsolute
  • ImagickDraw::pathLineToRelative »
  • PHP Manual
  • ImagickDraw
  • Draws a horizontal line

ImagickDraw::pathLineToHorizontalRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathLineToHorizontalRelative — Draws a horizontal line

Descrição

public ImagickDraw::pathLineToHorizontalRelative ( float $x ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a horizontal line path from the current point to the target point using relative coordinates. The target point then becomes the new current point.

Parâmetros

x

x coordinate

Valor Retornado

Não há valor retornado.


Draws a line path

  • « ImagickDraw::pathLineToHorizontalRelative
  • ImagickDraw::pathLineToVerticalAbsolute »
  • PHP Manual
  • ImagickDraw
  • Draws a line path

ImagickDraw::pathLineToRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathLineToRelative — Draws a line path

Descrição

public ImagickDraw::pathLineToRelative ( float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a line path from the current point to the given coordinate using relative coordinates. The coordinate then becomes the new current point.

Parâmetros

x

starting x coordinate

y

starting y coordinate

Valor Retornado

Não há valor retornado.


Draws a vertical line

  • « ImagickDraw::pathLineToRelative
  • ImagickDraw::pathLineToVerticalRelative »
  • PHP Manual
  • ImagickDraw
  • Draws a vertical line

ImagickDraw::pathLineToVerticalAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathLineToVerticalAbsolute — Draws a vertical line

Descrição

public ImagickDraw::pathLineToVerticalAbsolute ( float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a vertical line path from the current point to the target point using absolute coordinates. The target point then becomes the new current point.

Parâmetros

y

y coordinate

Valor Retornado

Não há valor retornado.


Draws a vertical line path

  • « ImagickDraw::pathLineToVerticalAbsolute
  • ImagickDraw::pathMoveToAbsolute »
  • PHP Manual
  • ImagickDraw
  • Draws a vertical line path

ImagickDraw::pathLineToVerticalRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathLineToVerticalRelative — Draws a vertical line path

Descrição

public ImagickDraw::pathLineToVerticalRelative ( float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a vertical line path from the current point to the target point using relative coordinates. The target point then becomes the new current point.

Parâmetros

y

y coordinate

Valor Retornado

Não há valor retornado.


Starts a new sub-path

  • « ImagickDraw::pathLineToVerticalRelative
  • ImagickDraw::pathMoveToRelative »
  • PHP Manual
  • ImagickDraw
  • Starts a new sub-path

ImagickDraw::pathMoveToAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathMoveToAbsolute — Starts a new sub-path

Descrição

public ImagickDraw::pathMoveToAbsolute ( float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Starts a new sub-path at the given coordinate using absolute coordinates. The current point then becomes the specified coordinate.

Parâmetros

x

x coordinate of the starting point

y

y coordinate of the starting point

Valor Retornado

Não há valor retornado.


Starts a new sub-path

  • « ImagickDraw::pathMoveToAbsolute
  • ImagickDraw::pathStart »
  • PHP Manual
  • ImagickDraw
  • Starts a new sub-path

ImagickDraw::pathMoveToRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathMoveToRelative — Starts a new sub-path

Descrição

public ImagickDraw::pathMoveToRelative ( float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Starts a new sub-path at the given coordinate using relative coordinates. The current point then becomes the specified coordinate.

Parâmetros

x

target x coordinate

y

target y coordinate

Valor Retornado

Não há valor retornado.


Declares the start of a path drawing list

  • « ImagickDraw::pathMoveToRelative
  • ImagickDraw::point »
  • PHP Manual
  • ImagickDraw
  • Declares the start of a path drawing list

ImagickDraw::pathStart

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathStart — Declares the start of a path drawing list

Descrição

public ImagickDraw::pathStart ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Declares the start of a path drawing list which is terminated by a matching DrawPathFinish() command. All other DrawPath commands must be enclosed between a and a DrawPathFinish() command. This is because path drawing commands are subordinate commands and they do not function by themselves.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::pathStart()

<?php
function pathStart($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->pathStart();
    $draw->pathMoveToAbsolute(50, 50);
    $draw->pathLineToAbsolute(100, 50);
    $draw->pathLineToRelative(0, 50);
    $draw->pathLineToHorizontalRelative(-50);
    $draw->pathFinish();

    $draw->pathStart();
    $draw->pathMoveToAbsolute(50, 50);
    $draw->pathMoveToRelative(300, 0);
    $draw->pathLineToRelative(50, 0);
    $draw->pathLineToVerticalRelative(50);
    $draw->pathLineToHorizontalAbsolute(350);
    $draw->pathclose();
    $draw->pathFinish();

    $draw->pathStart();
    $draw->pathMoveToAbsolute(50, 300);
    $draw->pathCurveToAbsolute(50, 300, 100, 200, 300, 300);
    $draw->pathLineToVerticalAbsolute(350);
    $draw->pathFinish();

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Draws a point

  • « ImagickDraw::pathStart
  • ImagickDraw::polygon »
  • PHP Manual
  • ImagickDraw
  • Draws a point

ImagickDraw::point

(PECL imagick 2, PECL imagick 3)

ImagickDraw::point — Draws a point

Descrição

public ImagickDraw::point ( float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a point using the current stroke color and stroke thickness at the specified coordinates.

Parâmetros

x

point's x coordinate

y

point's y coordinate

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::point()

<?php
function point($fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setFillColor($fillColor);

    for ($x = 0; $x < 10000; $x++) {
        $draw->point(rand(0, 500), rand(0, 500));
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Draws a polygon

  • « ImagickDraw::point
  • ImagickDraw::polyline »
  • PHP Manual
  • ImagickDraw
  • Draws a polygon

ImagickDraw::polygon

(PECL imagick 2, PECL imagick 3)

ImagickDraw::polygon — Draws a polygon

Descrição

public ImagickDraw::polygon ( array $coordinates ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a polygon using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Parâmetros

coordinates

multidimensional array like array( array( 'x' => 3, 'y' => 4 ), array( 'x' => 2, 'y' => 6 ) );

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 ImagickDraw::polygon()

<?php
function polygon($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(4);

    $draw->setFillColor($fillColor);

    $points = [
        ['x' => 40 * 5, 'y' => 10 * 5],
        ['x' => 20 * 5, 'y' => 20 * 5],
        ['x' => 70 * 5, 'y' => 50 * 5],
        ['x' => 60 * 5, 'y' => 15 * 5],
    ];

    $draw->polygon($points);

    $image = new \Imagick();
    $image->newImage(500, 300, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Draws a polyline

  • « ImagickDraw::polygon
  • ImagickDraw::pop »
  • PHP Manual
  • ImagickDraw
  • Draws a polyline

ImagickDraw::polyline

(PECL imagick 2, PECL imagick 3)

ImagickDraw::polyline — Draws a polyline

Descrição

public ImagickDraw::polyline ( array $coordinates ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a polyline using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Parâmetros

coordinates

array of x and y coordinates: array( array( 'x' => 4, 'y' => 6 ), array( 'x' => 8, 'y' => 10 ) )

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 ImagickDraw::polyline()

<?php
function polyline($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(5);

    $points = [
        ['x' => 40 * 5, 'y' => 10 * 5],
        ['x' => 20 * 5, 'y' => 20 * 5],
        ['x' => 70 * 5, 'y' => 50 * 5],
        ['x' => 60 * 5, 'y' => 15 * 5]
    ];

    $draw->polyline($points);

    $image = new \Imagick();
    $image->newImage(500, 300, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw

  • « ImagickDraw::polyline
  • ImagickDraw::popClipPath »
  • PHP Manual
  • ImagickDraw
  • Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw

ImagickDraw::pop

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pop — Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw

Descrição

public ImagickDraw::pop ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw. Multiple ImagickDraws may exist. It is an error to attempt to pop more ImagickDraws than have been pushed, and it is proper form to pop all ImagickDraws which have been pushed.

Valor Retornado

Returns true on success and false on failure.


Terminates a clip path definition

  • « ImagickDraw::pop
  • ImagickDraw::popDefs »
  • PHP Manual
  • ImagickDraw
  • Terminates a clip path definition

ImagickDraw::popClipPath

(PECL imagick 2, PECL imagick 3)

ImagickDraw::popClipPath — Terminates a clip path definition

Descrição

public ImagickDraw::popClipPath ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Terminates a clip path definition.

Valor Retornado

Não há valor retornado.


Terminates a definition list

  • « ImagickDraw::popClipPath
  • ImagickDraw::popPattern »
  • PHP Manual
  • ImagickDraw
  • Terminates a definition list

ImagickDraw::popDefs

(PECL imagick 2, PECL imagick 3)

ImagickDraw::popDefs — Terminates a definition list

Descrição

public ImagickDraw::popDefs ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Terminates a definition list.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::popDefs()

<?php
function popDefs($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setstrokeOpacity(1);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->pushDefs();
    $draw->setStrokeColor('white');
    $draw->rectangle(50, 50, 200, 200);
    $draw->popDefs();

    $draw->rectangle(300, 50, 450, 200);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Terminates a pattern definition

  • « ImagickDraw::popDefs
  • ImagickDraw::push »
  • PHP Manual
  • ImagickDraw
  • Terminates a pattern definition

ImagickDraw::popPattern

(PECL imagick 2, PECL imagick 3)

ImagickDraw::popPattern — Terminates a pattern definition

Descrição

public ImagickDraw::popPattern ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Terminates a pattern definition.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Clones the current ImagickDraw and pushes it to the stack

  • « ImagickDraw::popPattern
  • ImagickDraw::pushClipPath »
  • PHP Manual
  • ImagickDraw
  • Clones the current ImagickDraw and pushes it to the stack

ImagickDraw::push

(PECL imagick 2, PECL imagick 3)

ImagickDraw::push — Clones the current ImagickDraw and pushes it to the stack

Descrição

public ImagickDraw::push ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Clones the current ImagickDraw to create a new ImagickDraw, which is then added to the ImagickDraw stack. The original drawing ImagickDraw(s) may be returned to by invoking pop(). The ImagickDraws are stored on a ImagickDraw stack. For every Pop there must have already been an equivalent Push.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 ImagickDraw::push()

<?php
function push($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillModifiedColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->push();
    $draw->translate(50, 50);
    $draw->rectangle(200, 200, 300, 300);
    $draw->pop();
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Starts a clip path definition

  • « ImagickDraw::push
  • ImagickDraw::pushDefs »
  • PHP Manual
  • ImagickDraw
  • Starts a clip path definition

ImagickDraw::pushClipPath

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pushClipPath — Starts a clip path definition

Descrição

public ImagickDraw::pushClipPath ( string $clip_mask_id ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Starts a clip path definition which is comprised of any number of drawing commands and terminated by a ImagickDraw::popClipPath() command.

Parâmetros

clip_mask_id

Clip mask Id

Valor Retornado

Não há valor retornado.


Indicates that following commands create named elements for early processing

  • « ImagickDraw::pushClipPath
  • ImagickDraw::pushPattern »
  • PHP Manual
  • ImagickDraw
  • Indicates that following commands create named elements for early processing

ImagickDraw::pushDefs

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pushDefs — Indicates that following commands create named elements for early processing

Descrição

public ImagickDraw::pushDefs ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Indicates that commands up to a terminating ImagickDraw::popDefs() command create named elements (e.g. clip-paths, textures, etc.) which may safely be processed earlier for the sake of efficiency.

Valor Retornado

Não há valor retornado.


Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern

  • « ImagickDraw::pushDefs
  • ImagickDraw::rectangle »
  • PHP Manual
  • ImagickDraw
  • Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern

ImagickDraw::pushPattern

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pushPattern — Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern

Descrição

public ImagickDraw::pushPattern ( string $pattern_id , float $x , float $y , float $width , float $height ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Indicates that subsequent commands up to a DrawPopPattern() command comprise the definition of a named pattern. The pattern space is assigned top left corner coordinates, a width and height, and becomes its own drawing space. Anything which can be drawn may be used in a pattern definition. Named patterns may be used as stroke or brush definitions.

Parâmetros

pattern_id

the pattern Id

x

x coordinate of the top-left corner

y

y coordinate of the top-left corner

width

width of the pattern

height

height of the pattern

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 ImagickDraw::pushPattern()

<?php
function pushPattern($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(1);

    $draw->pushPattern("MyFirstPattern", 0, 0, 50, 50);
    for ($x = 0; $x < 50; $x += 10) {
        for ($y = 0; $y < 50; $y += 5) {
            $positionX = $x + (($y / 5) % 5);
            $draw->rectangle($positionX, $y, $positionX + 5, $y + 5);
        }
    }
    $draw->popPattern();

    $draw->setFillOpacity(0);
    $draw->rectangle(100, 100, 400, 400);
    $draw->setFillOpacity(1);

    $draw->setFillOpacity(1);

    $draw->push();
    $draw->setFillPatternURL('#MyFirstPattern');
    $draw->setFillColor('yellow');
    $draw->rectangle(100, 100, 400, 400);
    $draw->pop();

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Draws a rectangle

  • « ImagickDraw::pushPattern
  • ImagickDraw::render »
  • PHP Manual
  • ImagickDraw
  • Draws a rectangle

ImagickDraw::rectangle

(PECL imagick 2, PECL imagick 3)

ImagickDraw::rectangle — Draws a rectangle

Descrição

public ImagickDraw::rectangle ( float $x1 , float $y1 , float $x2 , float $y2 ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a rectangle given two coordinates and using the current stroke, stroke width, and fill settings.

Parâmetros

x1

x coordinate of the top left corner

y1

y coordinate of the top left corner

x2

x coordinate of the bottom right corner

y2

y coordinate of the bottom right corner

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::rectangle()

<?php
function rectangle($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();
    $strokeColor = new \ImagickPixel($strokeColor);
    $fillColor = new \ImagickPixel($fillColor);

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $draw->rectangle(200, 200, 300, 300);
    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Renders all preceding drawing commands onto the image

  • « ImagickDraw::rectangle
  • ImagickDraw::resetVectorGraphics »
  • PHP Manual
  • ImagickDraw
  • Renders all preceding drawing commands onto the image

ImagickDraw::render

(PECL imagick 2, PECL imagick 3)

ImagickDraw::render — Renders all preceding drawing commands onto the image

Descrição

public ImagickDraw::render ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Renders all preceding drawing commands onto the image.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Description

  • « ImagickDraw::render
  • ImagickDraw::rotate »
  • PHP Manual
  • ImagickDraw
  • Description

ImagickDraw::resetVectorGraphics

(PECL imagick 2, PECL imagick 3)

ImagickDraw::resetVectorGraphics — Description

Descrição

public ImagickDraw::resetVectorGraphics ( ) : bool

Resets the vector graphics.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true no sucesso.


Applies the specified rotation to the current coordinate space

  • « ImagickDraw::resetVectorGraphics
  • ImagickDraw::roundRectangle »
  • PHP Manual
  • ImagickDraw
  • Applies the specified rotation to the current coordinate space

ImagickDraw::rotate

(PECL imagick 2, PECL imagick 3)

ImagickDraw::rotate — Applies the specified rotation to the current coordinate space

Descrição

public ImagickDraw::rotate ( float $degrees ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Applies the specified rotation to the current coordinate space.

Parâmetros

degrees

degrees to rotate

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::rotate()

<?php
function rotate($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {
    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeOpacity(1);
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);
    $draw->setFillColor($fillModifiedColor);
    $draw->rotate(15);
    $draw->rectangle(200, 200, 300, 300);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Draws a rounded rectangle

  • « ImagickDraw::rotate
  • ImagickDraw::scale »
  • PHP Manual
  • ImagickDraw
  • Draws a rounded rectangle

ImagickDraw::roundRectangle

(PECL imagick 2, PECL imagick 3)

ImagickDraw::roundRectangle — Draws a rounded rectangle

Descrição

public ImagickDraw::roundRectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Draws a rounded rectangle given two coordinates, x & y corner radiuses and using the current stroke, stroke width, and fill settings.

Parâmetros

x1

x coordinate of the top left corner

y1

y coordinate of the top left corner

x2

x coordinate of the bottom right

y2

y coordinate of the bottom right

rx

x rounding

ry

y rounding

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::roundRectangle()

<?php
function roundRectangle($strokeColor, $fillColor, $backgroundColor, $startX, $startY, $endX, $endY, $roundX, $roundY) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $draw->roundRectangle($startX, $startY, $endX, $endY, $roundX, $roundY);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Adjusts the scaling factor

  • « ImagickDraw::roundRectangle
  • ImagickDraw::setClipPath »
  • PHP Manual
  • ImagickDraw
  • Adjusts the scaling factor

ImagickDraw::scale

(PECL imagick 2, PECL imagick 3)

ImagickDraw::scale — Adjusts the scaling factor

Descrição

public ImagickDraw::scale ( float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Adjusts the scaling factor to apply in the horizontal and vertical directions to the current coordinate space.

Parâmetros

x

horizontal factor

y

vertical factor

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::scale()

<?php
function scale($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(4);
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);
    $draw->setFillColor($fillModifiedColor);
    $draw->scale(1.4, 1.4);
    $draw->rectangle(200, 200, 300, 300);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Associates a named clipping path with the image

  • « ImagickDraw::scale
  • ImagickDraw::setClipRule »
  • PHP Manual
  • ImagickDraw
  • Associates a named clipping path with the image

ImagickDraw::setClipPath

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setClipPath — Associates a named clipping path with the image

Descrição

public ImagickDraw::setClipPath ( string $clip_mask ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Associates a named clipping path with the image. Only the areas drawn on by the clipping path will be modified as long as it remains in effect.

Parâmetros

clip_mask

the clipping path name

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setClipPath()

<?php
function setClipPath($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $clipPathName = 'testClipPath';

    $draw->pushClipPath($clipPathName);
    $draw->rectangle(0, 0, 250, 250);
    $draw->popClipPath();
    $draw->setClipPath($clipPathName);
    $draw->rectangle(100, 100, 400, 400);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Set the polygon fill rule to be used by the clipping path

  • « ImagickDraw::setClipPath
  • ImagickDraw::setClipUnits »
  • PHP Manual
  • ImagickDraw
  • Set the polygon fill rule to be used by the clipping path

ImagickDraw::setClipRule

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setClipRule — Set the polygon fill rule to be used by the clipping path

Descrição

public ImagickDraw::setClipRule ( int $fill_rule ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Set the polygon fill rule to be used by the clipping path.

Parâmetros

fill_rule

FILLRULE_ constant

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setClipRule()

<?php
function setClipRule($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);
    //\Imagick::FILLRULE_EVENODD
    //\Imagick::FILLRULE_NONZERO

    $clipPathName = 'testClipPath';
    $draw->pushClipPath($clipPathName);
    $draw->setClipRule(\Imagick::FILLRULE_EVENODD);
    $draw->rectangle(0, 0, 300, 500);
    $draw->rectangle(200, 0, 500, 500);
    $draw->popClipPath();
    $draw->setClipPath($clipPathName);
    $draw->rectangle(200, 200, 300, 300);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Sets the interpretation of clip path units

  • « ImagickDraw::setClipRule
  • ImagickDraw::setFillAlpha »
  • PHP Manual
  • ImagickDraw
  • Sets the interpretation of clip path units

ImagickDraw::setClipUnits

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setClipUnits — Sets the interpretation of clip path units

Descrição

public ImagickDraw::setClipUnits ( int $clip_units ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the interpretation of clip path units.

Parâmetros

clip_units

the number of clip units

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setClipUnits()

<?php
function setClipUnits($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);
    $clipPathName = 'testClipPath';
    $draw->setClipUnits(\Imagick::RESOLUTION_PIXELSPERINCH);
    $draw->pushClipPath($clipPathName);
    $draw->rectangle(0, 0, 250, 250);
    $draw->popClipPath();
    $draw->setClipPath($clipPathName);

    //RESOLUTION_PIXELSPERINCH
    //RESOLUTION_PIXELSPERCENTIMETER

    $draw->rectangle(200, 200, 300, 300);
    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Sets the opacity to use when drawing using the fill color or fill texture

  • « ImagickDraw::setClipUnits
  • ImagickDraw::setFillColor »
  • PHP Manual
  • ImagickDraw
  • Sets the opacity to use when drawing using the fill color or fill texture

ImagickDraw::setFillAlpha

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFillAlpha — Sets the opacity to use when drawing using the fill color or fill texture

Descrição

public ImagickDraw::setFillAlpha ( float $opacity ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the opacity to use when drawing using the fill color or fill texture. Fully opaque is 1.0.

Parâmetros

opacity

fill alpha

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setFillAlpha()

<?php
function setFillAlpha($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);
    $draw->rectangle(100, 200, 200, 300);
    @$draw->setFillAlpha(0.4);
    $draw->rectangle(300, 200, 400, 300);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Sets the fill color to be used for drawing filled objects

  • « ImagickDraw::setFillAlpha
  • ImagickDraw::setFillOpacity »
  • PHP Manual
  • ImagickDraw
  • Sets the fill color to be used for drawing filled objects

ImagickDraw::setFillColor

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFillColor — Sets the fill color to be used for drawing filled objects

Descrição

public ImagickDraw::setFillColor ( ImagickPixel $fill_pixel ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the fill color to be used for drawing filled objects.

Parâmetros

fill_pixel

ImagickPixel to use to set the color

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setFillColor()

<?php
function setFillColor($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(1.5);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->rectangle(50, 50, 150, 150);

    $draw->setFillColor("rgb(200, 32, 32)");
    $draw->rectangle(200, 50, 300, 150);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Sets the opacity to use when drawing using the fill color or fill texture

  • « ImagickDraw::setFillColor
  • ImagickDraw::setFillPatternURL »
  • PHP Manual
  • ImagickDraw
  • Sets the opacity to use when drawing using the fill color or fill texture

ImagickDraw::setFillOpacity

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFillOpacity — Sets the opacity to use when drawing using the fill color or fill texture

Descrição

public ImagickDraw::setFillOpacity ( float $fillOpacity ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the opacity to use when drawing using the fill color or fill texture. Fully opaque is 1.0.

Parâmetros

fillOpacity

the fill opacity

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setFillOpacity()

<?php
function setFillOpacity($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $draw->rectangle(100, 200, 200, 300);

    $draw->setFillOpacity(0.4);
    $draw->rectangle(300, 200, 400, 300);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Sets the URL to use as a fill pattern for filling objects

  • « ImagickDraw::setFillOpacity
  • ImagickDraw::setFillRule »
  • PHP Manual
  • ImagickDraw
  • Sets the URL to use as a fill pattern for filling objects

ImagickDraw::setFillPatternURL

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFillPatternURL — Sets the URL to use as a fill pattern for filling objects

Descrição

public ImagickDraw::setFillPatternURL ( string $fill_url ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the URL to use as a fill pattern for filling objects. Only local URLs ("#identifier") are supported at this time. These local URLs are normally created by defining a named fill pattern with DrawPushPattern/DrawPopPattern.

Parâmetros

fill_url

URL to use to obtain fill pattern.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Sets the fill rule to use while drawing polygons

  • « ImagickDraw::setFillPatternURL
  • ImagickDraw::setFont »
  • PHP Manual
  • ImagickDraw
  • Sets the fill rule to use while drawing polygons

ImagickDraw::setFillRule

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFillRule — Sets the fill rule to use while drawing polygons

Descrição

public ImagickDraw::setFillRule ( int $fill_rule ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the fill rule to use while drawing polygons.

Parâmetros

fill_rule

FILLRULE_ constant

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setFillRule()

<?php
function setFillRule($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $fillRules = [\Imagick::FILLRULE_NONZERO, \Imagick::FILLRULE_EVENODD];

    $points = 11;
    $size = 150;

    $draw->translate(175, 160);

    for ($x = 0; $x < 2; $x++) {
        $draw->setFillRule($fillRules[$x]);
        $draw->pathStart();
        for ($n = 0; $n < $points * 2; $n++) {

            if ($n >= $points) {
                $angle = fmod($n * 360 * 4 / $points, 360) * pi() / 180;
            }
            else {
                $angle = fmod($n * 360 * 3 / $points, 360) * pi() / 180;
            }

            $positionX = $size * sin($angle);
            $positionY = $size * cos($angle);

            if ($n == 0) {
                $draw->pathMoveToAbsolute($positionX, $positionY);
            }
            else {
                $draw->pathLineToAbsolute($positionX, $positionY);
            }
        }

        $draw->pathClose();
        $draw->pathFinish();

        $draw->translate(325, 0);
    }

    $image = new \Imagick();
    $image->newImage(700, 320, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Sets the fully-specified font to use when annotating with text

  • « ImagickDraw::setFillRule
  • ImagickDraw::setFontFamily »
  • PHP Manual
  • ImagickDraw
  • Sets the fully-specified font to use when annotating with text

ImagickDraw::setFont

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFont — Sets the fully-specified font to use when annotating with text

Descrição

public ImagickDraw::setFont ( string $font_name ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the fully-specified font to use when annotating with text.

Parâmetros

font_name

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 ImagickDraw::setFont()

<?php
function setFont($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(36);

    $draw->setFont("../fonts/Arial.ttf");
    $draw->annotation(50, 50, "Lorem Ipsum!");

    $draw->setFont("../fonts/Consolas.ttf");
    $draw->annotation(50, 100, "Lorem Ipsum!");

    $draw->setFont("../fonts/CANDY.TTF");
    $draw->annotation(50, 150, "Lorem Ipsum!");

    $draw->setFont("../fonts/Inconsolata-dz.otf");
    $draw->annotation(50, 200, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(500, 300, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Sets the font family to use when annotating with text

  • « ImagickDraw::setFont
  • ImagickDraw::setFontSize »
  • PHP Manual
  • ImagickDraw
  • Sets the font family to use when annotating with text

ImagickDraw::setFontFamily

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFontFamily — Sets the font family to use when annotating with text

Descrição

public ImagickDraw::setFontFamily ( string $font_family ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the font family to use when annotating with text.

Parâmetros

font_family

the font family

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 ImagickDraw::setFontFamily()

<?php
function setFontFamily($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $strokeColor = new \ImagickPixel($strokeColor);
    $fillColor = new \ImagickPixel($fillColor);

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);

    $draw->setFontSize(48);

    $draw->setFontFamily("Times");
    $draw->annotation(50, 50, "Lorem Ipsum!");

    $draw->setFontFamily("AvantGarde");
    $draw->annotation(50, 100, "Lorem Ipsum!");

    $draw->setFontFamily("NewCenturySchlbk");
    $draw->annotation(50, 150, "Lorem Ipsum!");

    $draw->setFontFamily("Palatino");
    $draw->annotation(50, 200, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(450, 250, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Sets the font pointsize to use when annotating with text

  • « ImagickDraw::setFontFamily
  • ImagickDraw::setFontStretch »
  • PHP Manual
  • ImagickDraw
  • Sets the font pointsize to use when annotating with text

ImagickDraw::setFontSize

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFontSize — Sets the font pointsize to use when annotating with text

Descrição

public ImagickDraw::setFontSize ( float $pointsize ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the font pointsize to use when annotating with text.

Parâmetros

pointsize

the point size

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setFontSize()

<?php
function setFontSize($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFont("../fonts/Arial.ttf");

    $sizes = [24, 36, 48, 60, 72];

    foreach ($sizes as $size) {
        $draw->setFontSize($size);
        $draw->annotation(50, ($size * $size / 16), "Lorem Ipsum!");
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Sets the font stretch to use when annotating with text

  • « ImagickDraw::setFontSize
  • ImagickDraw::setFontStyle »
  • PHP Manual
  • ImagickDraw
  • Sets the font stretch to use when annotating with text

ImagickDraw::setFontStretch

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFontStretch — Sets the font stretch to use when annotating with text

Descrição

public ImagickDraw::setFontStretch ( int $fontStretch ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the font stretch to use when annotating with text. The AnyStretch enumeration acts as a wild-card "don't care" option.

Parâmetros

fontStretch

STRETCH_ constant

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setFontStretch()

<?php
function setFontStretch($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(36);

    $fontStretchTypes = [
        \Imagick::STRETCH_ULTRACONDENSED,
        \Imagick::STRETCH_CONDENSED,
        \Imagick::STRETCH_SEMICONDENSED,
        \Imagick::STRETCH_SEMIEXPANDED,
        \Imagick::STRETCH_EXPANDED,
        \Imagick::STRETCH_EXTRAEXPANDED,
        \Imagick::STRETCH_ULTRAEXPANDED,
        \Imagick::STRETCH_ANY
    ];

    $offset = 0;
    foreach ($fontStretchTypes as $fontStretch) {
        $draw->setFontStretch($fontStretch);
        $draw->annotation(50, 75 + $offset, "Lorem Ipsum!");
        $offset += 50;
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Sets the font style to use when annotating with text

  • « ImagickDraw::setFontStretch
  • ImagickDraw::setFontWeight »
  • PHP Manual
  • ImagickDraw
  • Sets the font style to use when annotating with text

ImagickDraw::setFontStyle

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFontStyle — Sets the font style to use when annotating with text

Descrição

public ImagickDraw::setFontStyle ( int $style ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the font style to use when annotating with text. The AnyStyle enumeration acts as a wild-card "don't care" option.

Parâmetros

style

STYLETYPE_ constant

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setFontStyle()

<?php
function setFontStyle($fillColor, $strokeColor, $backgroundColor) {
    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setFontSize(36);
    $draw->setFontStyle(\Imagick::STYLE_NORMAL);
    $draw->annotation(50, 50, "Lorem Ipsum!");

    $draw->setFontStyle(\Imagick::STYLE_ITALIC);
    $draw->annotation(50, 100, "Lorem Ipsum!");

    $draw->setFontStyle(\Imagick::STYLE_OBLIQUE);
    $draw->annotation(50, 150, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(350, 300, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Sets the font weight

  • « ImagickDraw::setFontStyle
  • ImagickDraw::setGravity »
  • PHP Manual
  • ImagickDraw
  • Sets the font weight

ImagickDraw::setFontWeight

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFontWeight — Sets the font weight

Descrição

public ImagickDraw::setFontWeight ( int $font_weight ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the font weight to use when annotating with text.

Parâmetros

font_weight

Valor Retornado

Exemplos

Exemplo #1 ImagickDraw::setFontWeight()

<?php
function setFontWeight($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(1);

    $draw->setFontSize(36);

    $draw->setFontWeight(100);
    $draw->annotation(50, 50, "Lorem Ipsum!");

    $draw->setFontWeight(200);
    $draw->annotation(50, 100, "Lorem Ipsum!");

    $draw->setFontWeight(400);
    $draw->annotation(50, 150, "Lorem Ipsum!");

    $draw->setFontWeight(800);
    $draw->annotation(50, 200, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Sets the text placement gravity

  • « ImagickDraw::setFontWeight
  • ImagickDraw::setResolution »
  • PHP Manual
  • ImagickDraw
  • Sets the text placement gravity

ImagickDraw::setGravity

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setGravity — Sets the text placement gravity

Descrição

public ImagickDraw::setGravity ( int $gravity ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the text placement gravity to use when annotating with text.

Parâmetros

gravity

GRAVITY_ constant

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setGravity()

<?php
function setGravity($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setFontSize(24);

    $gravitySettings = array(
        \Imagick::GRAVITY_NORTHWEST => 'NorthWest',
        \Imagick::GRAVITY_NORTH => 'North',
        \Imagick::GRAVITY_NORTHEAST => 'NorthEast',
        \Imagick::GRAVITY_WEST => 'West',
        \Imagick::GRAVITY_CENTER => 'Centre',
        \Imagick::GRAVITY_SOUTHWEST => 'SouthWest',
        \Imagick::GRAVITY_SOUTH => 'South',
        \Imagick::GRAVITY_SOUTHEAST => 'SouthEast',
        \Imagick::GRAVITY_EAST => 'East'
    );

    $draw->setFont("../fonts/Arial.ttf");

    foreach ($gravitySettings as $type => $description) {
        $draw->setGravity($type);
        $draw->annotation(50, 50, '"' . $description . '"');
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Description

  • « ImagickDraw::setGravity
  • ImagickDraw::setStrokeAlpha »
  • PHP Manual
  • ImagickDraw
  • Description

ImagickDraw::setResolution

(PECL imagick 3 >= 3.1.0)

ImagickDraw::setResolution — Description

Descrição

public ImagickDraw::setResolution ( float $x_resolution , float $y_resolution ) : bool

Sets the resolution.

Parâmetros

x_resolution

y_resolution

Valor Retornado

Retorna true no sucesso.


Specifies the opacity of stroked object outlines

  • « ImagickDraw::setResolution
  • ImagickDraw::setStrokeAntialias »
  • PHP Manual
  • ImagickDraw
  • Specifies the opacity of stroked object outlines

ImagickDraw::setStrokeAlpha

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeAlpha — Specifies the opacity of stroked object outlines

Descrição

public ImagickDraw::setStrokeAlpha ( float $opacity ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Specifies the opacity of stroked object outlines.

Parâmetros

opacity

opacity

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setStrokeAlpha()

<?php
function setStrokeAlpha($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(4);
    $draw->line(100, 100, 400, 145);
    $draw->rectangle(100, 200, 225, 350);
    $draw->setStrokeOpacity(0.1);
    $draw->line(100, 120, 400, 165);
    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Controls whether stroked outlines are antialiased

  • « ImagickDraw::setStrokeAlpha
  • ImagickDraw::setStrokeColor »
  • PHP Manual
  • ImagickDraw
  • Controls whether stroked outlines are antialiased

ImagickDraw::setStrokeAntialias

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeAntialias — Controls whether stroked outlines are antialiased

Descrição

public ImagickDraw::setStrokeAntialias ( bool $stroke_antialias ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Controls whether stroked outlines are antialiased. Stroked outlines are antialiased by default. When antialiasing is disabled stroked pixels are thresholded to determine if the stroke color or underlying canvas color should be used.

Parâmetros

stroke_antialias

the antialias setting

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setStrokeAntialias()

<?php
function setStrokeAntialias($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setStrokeAntialias(false);
    $draw->line(100, 100, 400, 105);

    $draw->line(100, 140, 400, 185);

    $draw->setStrokeAntialias(true);
    $draw->line(100, 110, 400, 115);
    $draw->line(100, 150, 400, 195);

    $image = new \Imagick();
    $image->newImage(500, 250, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Sets the color used for stroking object outlines

  • « ImagickDraw::setStrokeAntialias
  • ImagickDraw::setStrokeDashArray »
  • PHP Manual
  • ImagickDraw
  • Sets the color used for stroking object outlines

ImagickDraw::setStrokeColor

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeColor — Sets the color used for stroking object outlines

Descrição

public ImagickDraw::setStrokeColor ( ImagickPixel $stroke_pixel ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the color used for stroking object outlines.

Parâmetros

stroke_pixel

the stroke color

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setStrokeColor()

<?php
function setStrokeColor($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(5);

    $draw->line(100, 100, 400, 145);
    $draw->rectangle(100, 200, 225, 350);

    $draw->setStrokeOpacity(0.1);
    $draw->line(100, 120, 400, 165);
    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Specifies the pattern of dashes and gaps used to stroke paths

  • « ImagickDraw::setStrokeColor
  • ImagickDraw::setStrokeDashOffset »
  • PHP Manual
  • ImagickDraw
  • Specifies the pattern of dashes and gaps used to stroke paths

ImagickDraw::setStrokeDashArray

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeDashArray — Specifies the pattern of dashes and gaps used to stroke paths

Descrição

public ImagickDraw::setStrokeDashArray ( array $dashArray ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Specifies the pattern of dashes and gaps used to stroke paths. The strokeDashArray represents an array of numbers that specify the lengths of alternating dashes and gaps in pixels. If an odd number of values is provided, then the list of values is repeated to yield an even number of values. To remove an existing dash array, pass a zero number_elements argument and null dash_array. A typical strokeDashArray_ array might contain the members 5 3 2.

Parâmetros

dashArray

array of floats

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 ImagickDraw::setStrokeDashArray()

<?php
function setStrokeDashArray($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(4);

    $draw->setStrokeDashArray([10, 10]);
    $draw->rectangle(100, 50, 225, 175);

    $draw->setStrokeDashArray([20, 5, 20, 5, 5, 5,]);
    $draw->rectangle(275, 50, 400, 175);

    $draw->setStrokeDashArray([20, 5, 20, 5, 5]);
    $draw->rectangle(100, 200, 225, 350);

    $draw->setStrokeDashArray([1, 1, 1, 1, 2, 2, 3, 3, 5, 5, 8, 8, 13, 13, 21, 21, 34, 34, 55, 55, 89, 89, 144, 144, 233, 233, 377, 377, 610, 610, 987, 987, 1597, 1597, 2584, 2584, 4181, 4181,]);

    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Specifies the offset into the dash pattern to start the dash

  • « ImagickDraw::setStrokeDashArray
  • ImagickDraw::setStrokeLineCap »
  • PHP Manual
  • ImagickDraw
  • Specifies the offset into the dash pattern to start the dash

ImagickDraw::setStrokeDashOffset

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeDashOffset — Specifies the offset into the dash pattern to start the dash

Descrição

public ImagickDraw::setStrokeDashOffset ( float $dash_offset ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Specifies the offset into the dash pattern to start the dash.

Parâmetros

dash_offset

dash offset

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setStrokeDashOffset()

<?php
function setStrokeDashOffset($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(4);
    $draw->setStrokeDashArray([20, 20]);
    $draw->setStrokeDashOffset(0);
    $draw->rectangle(100, 50, 225, 175);

    //Start the dash effect halfway through the solid portion
    $draw->setStrokeDashOffset(10);
    $draw->rectangle(275, 50, 400, 175);

    //Start the dash effect on the space portion
    $draw->setStrokeDashOffset(20);
    $draw->rectangle(100, 200, 225, 350);
    $draw->setStrokeDashOffset(5);
    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Specifies the shape to be used at the end of open subpaths when they are stroked

  • « ImagickDraw::setStrokeDashOffset
  • ImagickDraw::setStrokeLineJoin »
  • PHP Manual
  • ImagickDraw
  • Specifies the shape to be used at the end of open subpaths when they are stroked

ImagickDraw::setStrokeLineCap

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeLineCap — Specifies the shape to be used at the end of open subpaths when they are stroked

Descrição

public ImagickDraw::setStrokeLineCap ( int $linecap ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Specifies the shape to be used at the end of open subpaths when they are stroked.

Parâmetros

linecap

LINECAP_ constant

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setStrokeLineCap()

<?php
function setStrokeLineCap($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(25);

    $lineTypes = [\Imagick::LINECAP_BUTT, \Imagick::LINECAP_ROUND, \Imagick::LINECAP_SQUARE,];

    $offset = 0;

    foreach ($lineTypes as $lineType) {
        $draw->setStrokeLineCap($lineType);
        $draw->line(50 + $offset, 50, 50 + $offset, 250);
        $offset += 50;
    }

    $imagick = new \Imagick();
    $imagick->newImage(300, 300, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Specifies the shape to be used at the corners of paths when they are stroked

  • « ImagickDraw::setStrokeLineCap
  • ImagickDraw::setStrokeMiterLimit »
  • PHP Manual
  • ImagickDraw
  • Specifies the shape to be used at the corners of paths when they are stroked

ImagickDraw::setStrokeLineJoin

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeLineJoin — Specifies the shape to be used at the corners of paths when they are stroked

Descrição

public ImagickDraw::setStrokeLineJoin ( int $linejoin ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Specifies the shape to be used at the corners of paths (or other vector shapes) when they are stroked.

Parâmetros

linejoin

LINEJOIN_ constant

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setStrokeLineJoin()

<?php
function setStrokeLineJoin($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(20);

    $offset = 220;

    $lineJoinStyle = [
        \Imagick::LINEJOIN_MITER,
        \Imagick::LINEJOIN_ROUND,
        \Imagick::LINEJOIN_BEVEL,
        ];

    for ($x = 0; $x < count($lineJoinStyle); $x++) {
        $draw->setStrokeLineJoin($lineJoinStyle[$x]);
        $points = [
            ['x' => 40 * 5, 'y' => 10 * 5 + $x * $offset],
            ['x' => 20 * 5, 'y' => 20 * 5 + $x * $offset],
            ['x' => 70 * 5, 'y' => 50 * 5 + $x * $offset],
            ['x' => 40 * 5, 'y' => 10 * 5 + $x * $offset],
        ];

        $draw->polyline($points);
    }

    $image = new \Imagick();
    $image->newImage(500, 700, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Specifies the miter limit

  • « ImagickDraw::setStrokeLineJoin
  • ImagickDraw::setStrokeOpacity »
  • PHP Manual
  • ImagickDraw
  • Specifies the miter limit

ImagickDraw::setStrokeMiterLimit

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeMiterLimit — Specifies the miter limit

Descrição

public ImagickDraw::setStrokeMiterLimit ( int $miterlimit ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Specifies the miter limit. When two line segments meet at a sharp angle and miter joins have been specified for 'lineJoin', it is possible for the miter to extend far beyond the thickness of the line stroking the path. The miterLimit' imposes a limit on the ratio of the miter length to the 'lineWidth'.

Parâmetros

miterlimit

the miter limit

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setStrokeMiterLimit()

<?php
function setStrokeMiterLimit($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeOpacity(0.6);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(10);

    $yOffset = 100;

    $draw->setStrokeLineJoin(\Imagick::LINEJOIN_MITER);

    for ($y = 0; $y < 3; $y++) {

        $draw->setStrokeMiterLimit(40 * $y);

        $points = [
            ['x' => 22 * 3, 'y' => 15 * 4 + $y * $yOffset],
            ['x' => 20 * 3, 'y' => 20 * 4 + $y * $yOffset],
            ['x' => 70 * 5, 'y' => 45 * 4 + $y * $yOffset],
        ];

        $draw->polygon($points);
    }

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $image->setImageType(\Imagick::IMGTYPE_PALETTE);
    $image->setImageCompressionQuality(100);
    $image->stripImage();

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Specifies the opacity of stroked object outlines

  • « ImagickDraw::setStrokeMiterLimit
  • ImagickDraw::setStrokePatternURL »
  • PHP Manual
  • ImagickDraw
  • Specifies the opacity of stroked object outlines

ImagickDraw::setStrokeOpacity

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeOpacity — Specifies the opacity of stroked object outlines

Descrição

public ImagickDraw::setStrokeOpacity ( float $stroke_opacity ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Specifies the opacity of stroked object outlines.

Parâmetros

stroke_opacity

stroke opacity. 1.0 is fully opaque

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setStrokeOpacity()

<?php
function setStrokeOpacity($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();

    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(10);
    $draw->setStrokeOpacity(1);
    $draw->line(100, 80, 400, 125);
    $draw->rectangle(25, 200, 150, 350);
    $draw->setStrokeOpacity(0.5);
    $draw->line(100, 100, 400, 145);
    $draw->rectangle(200, 200, 325, 350);
    $draw->setStrokeOpacity(0.2);
    $draw->line(100, 120, 400, 165);
    $draw->rectangle(375, 200, 500, 350);

    $image = new \Imagick();
    $image->newImage(550, 400, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Sets the pattern used for stroking object outlines

  • « ImagickDraw::setStrokeOpacity
  • ImagickDraw::setStrokeWidth »
  • PHP Manual
  • ImagickDraw
  • Sets the pattern used for stroking object outlines

ImagickDraw::setStrokePatternURL

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokePatternURL — Sets the pattern used for stroking object outlines

Descrição

public ImagickDraw::setStrokePatternURL ( string $stroke_url ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the pattern used for stroking object outlines.

Parâmetros

stroke_url

stroke URL

Valor Retornado

imagick.imagickdraw.return.success;


Sets the width of the stroke used to draw object outlines

  • « ImagickDraw::setStrokePatternURL
  • ImagickDraw::setTextAlignment »
  • PHP Manual
  • ImagickDraw
  • Sets the width of the stroke used to draw object outlines

ImagickDraw::setStrokeWidth

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeWidth — Sets the width of the stroke used to draw object outlines

Descrição

public ImagickDraw::setStrokeWidth ( float $stroke_width ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the width of the stroke used to draw object outlines.

Parâmetros

stroke_width

stroke width

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setStrokeWidth()

<?php
function setStrokeWidth($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->line(100, 100, 400, 145);
    $draw->rectangle(100, 200, 225, 350);
    $draw->setStrokeWidth(5);
    $draw->line(100, 120, 400, 165);
    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Specifies a text alignment

  • « ImagickDraw::setStrokeWidth
  • ImagickDraw::setTextAntialias »
  • PHP Manual
  • ImagickDraw
  • Specifies a text alignment

ImagickDraw::setTextAlignment

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setTextAlignment — Specifies a text alignment

Descrição

public ImagickDraw::setTextAlignment ( int $alignment ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Specifies a text alignment to be applied when annotating with text.

Parâmetros

alignment

ALIGN_ constant

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setTextAlignment()

<?php
function setTextAlignment($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setFontSize(36);

    $draw->setTextAlignment(\Imagick::ALIGN_LEFT);
    $draw->annotation(250, 75, "Lorem Ipsum!");
    $draw->setTextAlignment(\Imagick::ALIGN_CENTER);
    $draw->annotation(250, 150, "Lorem Ipsum!");
    $draw->setTextAlignment(\Imagick::ALIGN_RIGHT);
    $draw->annotation(250, 225, "Lorem Ipsum!");
    $draw->line(250, 0, 250, 500);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Controls whether text is antialiased

  • « ImagickDraw::setTextAlignment
  • ImagickDraw::setTextDecoration »
  • PHP Manual
  • ImagickDraw
  • Controls whether text is antialiased

ImagickDraw::setTextAntialias

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setTextAntialias — Controls whether text is antialiased

Descrição

public ImagickDraw::setTextAntialias ( bool $antiAlias ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Controls whether text is antialiased. Text is antialiased by default.

Parâmetros

antiAlias

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setTextAntialias()

<?php
function setTextAntialias($fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor('none');
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setFontSize(32);
    $draw->setTextAntialias(false);
    $draw->annotation(5, 30, "Lorem Ipsum!");
    $draw->setTextAntialias(true);
    $draw->annotation(5, 65, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(220, 80, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    //Scale the image so that people can see the aliasing.
    $imagick->scaleImage(220 * 6, 80 * 6);
    $imagick->cropImage(640, 480, 0, 0);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Specifies a decoration

  • « ImagickDraw::setTextAntialias
  • ImagickDraw::setTextEncoding »
  • PHP Manual
  • ImagickDraw
  • Specifies a decoration

ImagickDraw::setTextDecoration

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setTextDecoration — Specifies a decoration

Descrição

public ImagickDraw::setTextDecoration ( int $decoration ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Specifies a decoration to be applied when annotating with text.

Parâmetros

decoration

DECORATION_ constant

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setTextDecoration()

<?php
function setTextDecoration($strokeColor, $fillColor, $backgroundColor, $textDecoration) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->setTextDecoration($textDecoration);
    $draw->annotation(50, 75, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(500, 200, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Specifies the text code set

  • « ImagickDraw::setTextDecoration
  • ImagickDraw::setTextInterlineSpacing »
  • PHP Manual
  • ImagickDraw
  • Specifies the text code set

ImagickDraw::setTextEncoding

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setTextEncoding — Specifies the text code set

Descrição

public ImagickDraw::setTextEncoding ( string $encoding ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Specifies the code set to use for text annotations. The only character encoding which may be specified at this time is "UTF-8" for representing Unicode as a sequence of bytes. Specify an empty string to set text encoding to the system's default. Successful text annotation using Unicode may require fonts designed to support Unicode.

Parâmetros

encoding

the encoding name

Valor Retornado

Não há valor retornado.


Description

  • « ImagickDraw::setTextEncoding
  • ImagickDraw::setTextInterwordSpacing »
  • PHP Manual
  • ImagickDraw
  • Description

ImagickDraw::setTextInterlineSpacing

(PECL imagick 3 >= 3.1.0)

ImagickDraw::setTextInterlineSpacing — Description

Descrição

public ImagickDraw::setTextInterlineSpacing ( float $spacing ) : bool

Sets the text interline spacing.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

spacing

Valor Retornado

Retorna true no sucesso.


Description

  • « ImagickDraw::setTextInterlineSpacing
  • ImagickDraw::setTextKerning »
  • PHP Manual
  • ImagickDraw
  • Description

ImagickDraw::setTextInterwordSpacing

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

ImagickDraw::setTextInterwordSpacing — Description

Descrição

public ImagickDraw::setTextInterwordSpacing ( float $spacing ) : bool

Sets the text interword spacing.

Parâmetros

spacing

Valor Retornado

Retorna true no sucesso.


Description

  • « ImagickDraw::setTextInterwordSpacing
  • ImagickDraw::setTextUnderColor »
  • PHP Manual
  • ImagickDraw
  • Description

ImagickDraw::setTextKerning

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

ImagickDraw::setTextKerning — Description

Descrição

public ImagickDraw::setTextKerning ( float $kerning ) : bool

Sets the text kerning

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

kerning

Valor Retornado

Retorna true no sucesso.


Specifies the color of a background rectangle

  • « ImagickDraw::setTextKerning
  • ImagickDraw::setVectorGraphics »
  • PHP Manual
  • ImagickDraw
  • Specifies the color of a background rectangle

ImagickDraw::setTextUnderColor

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setTextUnderColor — Specifies the color of a background rectangle

Descrição

public ImagickDraw::setTextUnderColor ( ImagickPixel $under_color ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Specifies the color of a background rectangle to place under text annotations.

Parâmetros

under_color

the under color

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setTextUnderColor()

<?php
function setTextUnderColor($strokeColor, $fillColor, $backgroundColor, $textUnderColor) {
    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->annotation(50, 75, "Lorem Ipsum!");
    $draw->setTextUnderColor($textUnderColor);
    $draw->annotation(50, 175, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Sets the vector graphics

  • « ImagickDraw::setTextUnderColor
  • ImagickDraw::setViewbox »
  • PHP Manual
  • ImagickDraw
  • Sets the vector graphics

ImagickDraw::setVectorGraphics

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setVectorGraphics — Sets the vector graphics

Descrição

public ImagickDraw::setVectorGraphics ( string $xml ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the vector graphics associated with the specified ImagickDraw object. Use this method with ImagickDraw::getVectorGraphics() as a method to persist the vector graphics state.

Parâmetros

xml

xml containing the vector graphics

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 ImagickDraw::setVectorGraphics()

<?php
function setVectorGraphics() {
    //Setup a draw object with some drawing in it.
    $draw = new \ImagickDraw();
    $draw->setFillColor("red");
    $draw->circle(20, 20, 50, 50);
    $draw->setFillColor("blue");
    $draw->circle(50, 70, 50, 50);
    $draw->rectangle(50, 120, 80, 150);

    //Get the drawing as a string
    $SVG = $draw->getVectorGraphics();

    //$svg is a string, and could be saved anywhere a string can be saved

    //Use the saved drawing to generate a new draw object
    $draw2 = new \ImagickDraw();
    //Apparently the SVG text is missing the root element.
    $draw2->setVectorGraphics("<root>".$SVG."</root>");

    $imagick = new \Imagick();
    $imagick->newImage(200, 200, 'white');
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw2);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Sets the overall canvas size

  • « ImagickDraw::setVectorGraphics
  • ImagickDraw::skewX »
  • PHP Manual
  • ImagickDraw
  • Sets the overall canvas size

ImagickDraw::setViewbox

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setViewbox — Sets the overall canvas size

Descrição

public ImagickDraw::setViewbox ( int $x1 , int $y1 , int $x2 , int $y2 ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the overall canvas size to be recorded with the drawing vector data. Usually this will be specified using the same size as the canvas image. When the vector data is saved to SVG or MVG formats, the viewbox is use to specify the size of the canvas image that a viewer will render the vector data on.

Parâmetros

x1

left x coordinate

y1

left y coordinate

x2

right x coordinate

y2

right y coordinate

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::setViewBox()

<?php
function setViewBox($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    /*

    Sets the overall canvas size to be recorded with the drawing vector data. Usually this will be specified using the same size as the canvas image. When the vector data is saved to SVG or MVG formats, the viewbox is use to specify the size of the canvas image that a viewer will render the vector data on.

     */

    $draw->circle(250, 250, 250, 0);
    $draw->setviewbox(0, 0, 200, 200);
    $draw->circle(125, 250, 250, 250);
    $draw->translate(250, 125);
    $draw->circle(0, 0, 125, 0);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Skews the current coordinate system in the horizontal direction

  • « ImagickDraw::setViewbox
  • ImagickDraw::skewY »
  • PHP Manual
  • ImagickDraw
  • Skews the current coordinate system in the horizontal direction

ImagickDraw::skewX

(PECL imagick 2, PECL imagick 3)

ImagickDraw::skewX — Skews the current coordinate system in the horizontal direction

Descrição

public ImagickDraw::skewX ( float $degrees ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Skews the current coordinate system in the horizontal direction.

Parâmetros

degrees

degrees to skew

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::skewX()

<?php
function skewX($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor,
               $startX, $startY, $endX, $endY, $skew) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(2);
    $draw->setFillColor($fillColor);
    $draw->rectangle($startX, $startY, $endX, $endY);
    $draw->setFillColor($fillModifiedColor);
    $draw->skewX($skew);
    $draw->rectangle($startX, $startY, $endX, $endY);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Skews the current coordinate system in the vertical direction

  • « ImagickDraw::skewX
  • ImagickDraw::translate »
  • PHP Manual
  • ImagickDraw
  • Skews the current coordinate system in the vertical direction

ImagickDraw::skewY

(PECL imagick 2, PECL imagick 3)

ImagickDraw::skewY — Skews the current coordinate system in the vertical direction

Descrição

public ImagickDraw::skewY ( float $degrees ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Skews the current coordinate system in the vertical direction.

Parâmetros

degrees

degrees to skew

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::skewY()

<?php
function skewY($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor,
               $startX, $startY, $endX, $endY, $skew) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(2);
    $draw->setFillColor($fillColor);
    $draw->rectangle($startX, $startY, $endX, $endY);
    $draw->setFillColor($fillModifiedColor);
    $draw->skewY($skew);
    $draw->rectangle($startX, $startY, $endX, $endY);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Applies a translation to the current coordinate system

  • « ImagickDraw::skewY
  • ImagickPixel »
  • PHP Manual
  • ImagickDraw
  • Applies a translation to the current coordinate system

ImagickDraw::translate

(PECL imagick 2, PECL imagick 3)

ImagickDraw::translate — Applies a translation to the current coordinate system

Descrição

public ImagickDraw::translate ( float $x , float $y ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Applies a translation to the current coordinate system which moves the coordinate system origin to the specified coordinate.

Parâmetros

x

horizontal translation

y

vertical translation

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ImagickDraw::translate()

<?php
function translate($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor,
                   $startX, $startY, $endX, $endY, $translateX, $translateY) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->rectangle($startX, $startY, $endX, $endY);

    $draw->setFillColor($fillModifiedColor);
    $draw->translate($translateX, $translateY);
    $draw->rectangle($startX, $startY, $endX, $endY);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


The ImagickPixel class

(PECL imagick 2, PECL imagick 3)

Sinopse da classe

ImagickPixel {
public clear ( ) : bool
public __construct ( string $color = ? )
public destroy ( ) : bool
public getColor ( int $normalized = 0 ) : array
public getColorAsString ( ) : string
public getColorCount ( ) : int
public getColorQuantum ( ) : array
public getColorValue ( int $color ) : float
public getColorValueQuantum ( int $color ) : int|float
public getHSL ( ) : array
public getIndex ( ) : int
public isPixelSimilar ( ImagickPixel $color , float $fuzz ) : bool
public isPixelSimilarQuantum ( string $color , string $fuzz = ? ) : bool
public isSimilar ( ImagickPixel $color , float $fuzz ) : bool
public setColor ( string $color ) : bool
public setcolorcount ( int $colorCount ) : bool
public setColorValue ( int $color , float $value ) : bool
public setColorValueQuantum ( int $color , int|float $value ) : bool
public setHSL ( float $hue , float $saturation , float $luminosity ) : bool
public setIndex ( int $index ) : bool
}

Índice

  • ImagickPixel::clear — Clears resources associated with this object
  • ImagickPixel::__construct — The ImagickPixel constructor
  • ImagickPixel::destroy — Deallocates resources associated with this object
  • ImagickPixel::getColor — Returns the color
  • ImagickPixel::getColorAsString — Returns the color as a string
  • ImagickPixel::getColorCount — Returns the color count associated with this color
  • ImagickPixel::getColorQuantum — Description
  • ImagickPixel::getColorValue — Gets the normalized value of the provided color channel
  • ImagickPixel::getColorValueQuantum — Description
  • ImagickPixel::getHSL — Returns the normalized HSL color of the ImagickPixel object
  • ImagickPixel::getIndex — Description
  • ImagickPixel::isPixelSimilar — Check the distance between this color and another
  • ImagickPixel::isPixelSimilarQuantum — Description
  • ImagickPixel::isSimilar — Check the distance between this color and another
  • ImagickPixel::setColor — Sets the color
  • ImagickPixel::setColorCount — Description
  • ImagickPixel::setColorValue — Sets the normalized value of one of the channels
  • ImagickPixel::setColorValueQuantum — Description
  • ImagickPixel::setHSL — Sets the normalized HSL color
  • ImagickPixel::setIndex — Description


Clears resources associated with this object

  • « ImagickPixel
  • ImagickPixel::__construct »
  • PHP Manual
  • ImagickPixel
  • Clears resources associated with this object

ImagickPixel::clear

(PECL imagick 2, PECL imagick 3)

ImagickPixel::clear — Clears resources associated with this object

Descrição

public ImagickPixel::clear ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Clears the ImagickPixel object, leaving it in a fresh state. This also unsets any color associated with the object.

Valor Retornado

Retorna true no sucesso.


The ImagickPixel constructor

  • « ImagickPixel::clear
  • ImagickPixel::destroy »
  • PHP Manual
  • ImagickPixel
  • The ImagickPixel constructor

ImagickPixel::__construct

(PECL imagick 2, PECL imagick 3)

ImagickPixel::__construct — The ImagickPixel constructor

Descrição

public ImagickPixel::__construct ( string $color = ? )
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Constructs an ImagickPixel object. If a color is specified, the object is constructed and then initialised with that color before being returned.

Parâmetros

color

The optional color string to use as the initial value of this object.

Valor Retornado

Returns an ImagickPixel object on success, throwing ImagickPixelException on failure.

Exemplos

Exemplo #1 ImagickPixel::construct()

<?php
function construct() {

    $columns = 4;

    $exampleColors = array(
        "rgba(100%, 0%, 0%, 0.5)",
        "hsb(33.3333%, 100%,  75%)", // medium green
        "hsl(120, 255,   191.25)", //medium green
        "graya(50%, 0.5)", //  semi-transparent mid gray
        "LightCoral", "none", //"cmyk(0.9, 0.48, 0.83, 0.50)",
        "#f00", //  #rgb
        "#ff0000", //  #rrggbb
        "#ff0000ff", //  #rrggbbaa
        "#ffff00000000", //  #rrrrggggbbbb
        "#ffff00000000ffff", //  #rrrrggggbbbbaaaa
        "rgb(255, 0, 0)", //  an integer in the range 0—255 for each component
        "rgb(100.0%, 0.0%, 0.0%)", //  a float in the range 0—100% for each component
        "rgb(255, 0, 0)", //  range 0 - 255
        "rgba(255, 0, 0, 1.0)", //  the same, with an explicit alpha value
        "rgb(100%, 0%, 0%)", //  range 0.0% - 100.0%
        "rgba(100%, 0%, 0%, 1.0)", //  the same, with an explicit alpha value
    );

    $draw = new \ImagickDraw();
    $count = 0;
    $black = new \ImagickPixel('rgb(0, 0, 0)');

    foreach ($exampleColors as $exampleColor) {
        $color = new \ImagickPixel($exampleColor);

        $draw->setstrokewidth(1.0);
        $draw->setStrokeColor($black);
        $draw->setFillColor($color);
        $offsetX = ($count % $columns) * 50 + 5;
        $offsetY = intval($count / $columns) * 50 + 5;
        $draw->rectangle(0 + $offsetX, 0 + $offsetY, 40 + $offsetX, 40 + $offsetY);
        $count++;
    }

    $image = new \Imagick();
    $image->newImage(350, 350, "blue");
    $image->setImageFormat("png");
    $image->drawImage($draw);
    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Deallocates resources associated with this object

  • « ImagickPixel::__construct
  • ImagickPixel::getColor »
  • PHP Manual
  • ImagickPixel
  • Deallocates resources associated with this object

ImagickPixel::destroy

(PECL imagick 2, PECL imagick 3)

ImagickPixel::destroy — Deallocates resources associated with this object

Descrição

public ImagickPixel::destroy ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Deallocates any resources used by the ImagickPixel object, and unsets any associated color. The object should not be used after the destroy function has been called.

Valor Retornado

Retorna true no sucesso.


Returns the color

  • « ImagickPixel::destroy
  • ImagickPixel::getColorAsString »
  • PHP Manual
  • ImagickPixel
  • Returns the color

ImagickPixel::getColor

(PECL imagick 2, PECL imagick 3)

ImagickPixel::getColor — Returns the color

Descrição

public ImagickPixel::getColor ( int $normalized = 0 ) : array

Returns the color described by the ImagickPixel object, as an array. If the color has an opacity channel set, this is provided as a fourth value in the list.

Parâmetros

normalized

Normalize the color values. Possible values are 0, 1 or 2.

List of possible values for normalized
normalized | Description
0 | The RGB values are returned as ints in the range 0 to 255 (inclusive.) The alpha value is returned as int and is either 0 or 1.
1 | The RGBA values are returned as floats in the range 0 to 1 (inclusive.)
2 | The RGBA values are returned as ints in the range 0 to 255 (inclusive.)

Valor Retornado

An array of channel values. Throws ImagickPixelException on error.

Exemplos

Exemplo #1 Basic Imagick::getColor() usage

<?php

//Create an ImagickPixel with the predefined color 'brown'
$color = new ImagickPixel('brown');

//Set the color to have an alpha of 25%
$color->setColorValue(Imagick::COLOR_ALPHA, 64 / 256.0);

$colorInfo = $color->getColor();

echo "Standard values".PHP_EOL;
print_r($colorInfo);

$colorInfo = $color->getColor(1);

echo "Normalized values:".PHP_EOL;
print_r($colorInfo);

?>

O exemplo acima irá imprimir:

Standard values
Array
(
    [r] => 165
    [g] => 42
    [b] => 42
    [a] => 0
)
Normalized values:
Array
(
    [r] => 0.64705882352941
    [g] => 0.16470588235294
    [b] => 0.16470588235294
    [a] => 0.25000381475547
)


Returns the color as a string

  • « ImagickPixel::getColor
  • ImagickPixel::getColorCount »
  • PHP Manual
  • ImagickPixel
  • Returns the color as a string

ImagickPixel::getColorAsString

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

ImagickPixel::getColorAsString — Returns the color as a string

Descrição

public ImagickPixel::getColorAsString ( ) : string

Returns the color of the ImagickPixel object as a string.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the color of the ImagickPixel object as a string.

Exemplos

Exemplo #1 Basic Imagick::getColorAsString() usage

<?php

//Create an ImagickPixel with the predefined color 'brown'
$color = new ImagickPixel('brown');

$color->setColorValue(Imagick::COLOR_ALPHA, 64 / 256.0);

$colorInfo = $color->getColorAsString();

print_r($colorInfo);
?>

O exemplo acima irá imprimir:

rgb(165,42,42)

Notas

Nota: Alpha not returned

This function does not return the alpha value of the color in the string.


Returns the color count associated with this color

  • « ImagickPixel::getColorAsString
  • ImagickPixel::getColorQuantum »
  • PHP Manual
  • ImagickPixel
  • Returns the color count associated with this color

ImagickPixel::getColorCount

(PECL imagick 2, PECL imagick 3)

ImagickPixel::getColorCount — Returns the color count associated with this color

Descrição

public ImagickPixel::getColorCount ( ) : int

Returns the color count associated with this color.

The color count is the number of pixels in the image that have the same color as this ImagickPixel.

ImagickPixel::getColorCount appears to only work for ImagickPixel objects created through Imagick::getImageHistogram()

Valor Retornado

Returns the color count as an integer on success, throws ImagickPixelException on failure.

Exemplos

Exemplo #1 ImagickPixel getColorCount()

<?php
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $histogramElements = $imagick->getImageHistogram();
    $lastColor = array_pop($histogramElements);
    echo "Last pixel color count is: ".$lastColor->getColorCount();
?>

The output for this will be similar to:

Last pixel color count is: 256244


Description

  • « ImagickPixel::getColorCount
  • ImagickPixel::getColorValue »
  • PHP Manual
  • ImagickPixel
  • Description

ImagickPixel::getColorQuantum

(Não há informação de versão disponível, talvez apenas no Git)

ImagickPixel::getColorQuantum — Description

Descrição

public ImagickPixel::getColorQuantum ( ) : array

Returns the color of the pixel in an array as Quantum values. If ImageMagick was compiled as HDRI these will be floats, otherwise they will be integers.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array with keys "r", "g", "b", "a".


Gets the normalized value of the provided color channel

  • « ImagickPixel::getColorQuantum
  • ImagickPixel::getColorValueQuantum »
  • PHP Manual
  • ImagickPixel
  • Gets the normalized value of the provided color channel

ImagickPixel::getColorValue

(PECL imagick 2, PECL imagick 3)

ImagickPixel::getColorValue — Gets the normalized value of the provided color channel

Descrição

public ImagickPixel::getColorValue ( int $color ) : float

Retrieves the value of the color channel specified, as a floating-point number between 0 and 1.

Parâmetros

color

The color to get the value of, specified as one of the Imagick color constants. This can be one of the RGB colors, CMYK colors, alpha and opacity e.g (Imagick::COLOR_BLUE, Imagick::COLOR_MAGENTA).

Valor Retornado

The value of the channel, as a normalized floating-point number, throwing ImagickPixelException on error.

Exemplos

Exemplo #1 Basic Imagick::getColorValue() usage

<?php

$color = new ImagickPixel('rgba(90%, 20%, 20%, 0.75)');

echo "Alpha value is ".$color->getColorValue(Imagick::COLOR_ALPHA).PHP_EOL;
echo "".PHP_EOL;
echo "Red value is ".$color->getColorValue(Imagick::COLOR_RED).PHP_EOL;
echo "Green value is ".$color->getColorValue(Imagick::COLOR_GREEN).PHP_EOL;
echo "Blue value is ".$color->getColorValue(Imagick::COLOR_BLUE).PHP_EOL;
echo "".PHP_EOL;
echo "Cyan value is ".$color->getColorValue(Imagick::COLOR_CYAN).PHP_EOL;
echo "Magenta value is ".$color->getColorValue(Imagick::COLOR_MAGENTA).PHP_EOL;
echo "Yellow value is ".$color->getColorValue(Imagick::COLOR_YELLOW).PHP_EOL;
echo "Black value is ".$color->getColorValue(Imagick::COLOR_BLACK).PHP_EOL;

?>

O exemplo acima irá imprimir:

Alpha value is 0.74999618524453

Red value is 0.90000762951095
Green value is 0.2
Blue value is 0.2

Cyan value is 0.90000762951095
Magenta value is 0.2
Yellow value is 0.2
Black value is 0


Description

  • « ImagickPixel::getColorValue
  • ImagickPixel::getHSL »
  • PHP Manual
  • ImagickPixel
  • Description

ImagickPixel::getColorValueQuantum

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

ImagickPixel::getColorValueQuantum — Description

Descrição

public ImagickPixel::getColorValueQuantum ( int $color ) : int|float

Gets the quantum value of a color in the ImagickPixel. Return value is a float if ImageMagick was compiled with HDRI, otherwise an integer.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The quantum value of the color element. Float if ImageMagick was compiled with HDRI, otherwise an int.

Exemplos

Exemplo #1 ImagickPixel::getColorValueQuantum()

<?php
        $color = new \ImagickPixel('rgb(128, 5, 255)');
        $colorRed = $color->getColorValueQuantum(\Imagick::COLOR_RED);
        $colorGreen = $color->getColorValueQuantum(\Imagick::COLOR_GREEN);
        $colorBlue = $color->getColorValueQuantum(\Imagick::COLOR_BLUE);
        $colorAlpha = $color->getColorValueQuantum(\Imagick::COLOR_ALPHA);

        printf(
            "Red: %s Green: %s  Blue %s Alpha: %s",
            $colorRed,
            $colorGreen,
            $colorBlue,
            $colorAlpha
        );

?>


Returns the normalized HSL color of the ImagickPixel object

  • « ImagickPixel::getColorValueQuantum
  • ImagickPixel::getIndex »
  • PHP Manual
  • ImagickPixel
  • Returns the normalized HSL color of the ImagickPixel object

ImagickPixel::getHSL

(PECL imagick 2, PECL imagick 3)

ImagickPixel::getHSL — Returns the normalized HSL color of the ImagickPixel object

Descrição

public ImagickPixel::getHSL ( ) : array

Returns the normalized HSL color described by the ImagickPixel object, with each of the three values as floating point numbers between 0.0 and 1.0.

Valor Retornado

Returns the HSL value in an array with the keys "hue", "saturation", and "luminosity". Throws ImagickPixelException on failure.

Exemplos

Exemplo #1 Basic Imagick::getHSL() example

<?php

$color = new ImagickPixel('rgb(90%, 10%, 10%)');

$colorInfo = $color->getHSL();

print_r($colorInfo);

?>

O exemplo acima irá imprimir:

Array
(
    [hue] => 0
    [saturation] => 0.80001220740379
    [luminosity] => 0.50000762951095
)

Notas

Nota:

Available with ImageMagick library version 6.2.9 and higher.


Description

  • « ImagickPixel::getHSL
  • ImagickPixel::isPixelSimilar »
  • PHP Manual
  • ImagickPixel
  • Description

ImagickPixel::getIndex

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

ImagickPixel::getIndex — Description

Descrição

public ImagickPixel::getIndex ( ) : int

Gets the colormap index of the pixel wand.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Check the distance between this color and another

  • « ImagickPixel::getIndex
  • ImagickPixel::isPixelSimilarQuantum »
  • PHP Manual
  • ImagickPixel
  • Check the distance between this color and another

ImagickPixel::isPixelSimilar

(PECL imagick 3 >= 3.3.0)

ImagickPixel::isPixelSimilar — Check the distance between this color and another

Descrição

public ImagickPixel::isPixelSimilar ( ImagickPixel $color , float $fuzz ) : bool

Checks the distance between the color described by this ImagickPixel object and that of the provided object, by plotting their RGB values on the color cube. If the distance between the two points is less than the fuzz value given, the colors are similar. This method replaces ImagickPixel::isSimilar() and correctly normalises the fuzz value to ImageMagick QuantumRange.

Parâmetros

color

The ImagickPixel object to compare this object against.

fuzz

The maximum distance within which to consider these colors as similar. The theoretical maximum for this value is the square root of three (1.732).

Valor Retornado

Retorna true no sucesso.


Description

  • « ImagickPixel::isPixelSimilar
  • ImagickPixel::isSimilar »
  • PHP Manual
  • ImagickPixel
  • Description

ImagickPixel::isPixelSimilarQuantum

(PECL imagick 3 >= 3.3.0)

ImagickPixel::isPixelSimilarQuantum — Description

Descrição

public ImagickPixel::isPixelSimilarQuantum ( string $color , string $fuzz = ? ) : bool

Returns true if the distance between two colors is less than the specified distance. The fuzz value should be in the range 0-QuantumRange. The maximum value represents the longest possible distance in the colorspace. e.g. from RGB(0, 0, 0) to RGB(255, 255, 255) for the RGB colorspace

Parâmetros

color

fuzz

Valor Retornado


Check the distance between this color and another

  • « ImagickPixel::isPixelSimilarQuantum
  • ImagickPixel::setColor »
  • PHP Manual
  • ImagickPixel
  • Check the distance between this color and another

ImagickPixel::isSimilar

(PECL imagick 2, PECL imagick 3)

ImagickPixel::isSimilar — Check the distance between this color and another

Descrição

public ImagickPixel::isSimilar ( ImagickPixel $color , float $fuzz ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Checks the distance between the color described by this ImagickPixel object and that of the provided object, by plotting their RGB values on the color cube. If the distance between the two points is less than the fuzz value given, the colors are similar. Deprecated in favour of ImagickPixel::isPixelSimilar().

Parâmetros

color

The ImagickPixel object to compare this object against.

fuzz

The maximum distance within which to consider these colors as similar. The theoretical maximum for this value is the square root of three (1.732).

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 ImagickPixel::isSimilar()

<?php
        // The tests below are written with the maximum distance expressed as 255
        // so we need to scale them by the square root of 3 - the diagonal length
        // of a unit cube.
        $root3 = 1.732050807568877;

        $tests = array(
            ['rgb(245, 0, 0)',      'rgb(255, 0, 0)',   9 / $root3,         false,],
            ['rgb(245, 0, 0)',      'rgb(255, 0, 0)',  10 / $root3,         true,],
            ['rgb(0, 0, 0)',        'rgb(7, 7, 0)',     9 / $root3,         false,],
            ['rgb(0, 0, 0)',        'rgb(7, 7, 0)',    10 / $root3,         true,],
            ['rgba(0, 0, 0, 1)',    'rgba(7, 7, 0, 1)', 9 / $root3,         false,],
            ['rgba(0, 0, 0, 1)',    'rgba(7, 7, 0, 1)',    10 / $root3,     true,],
            ['rgb(128, 128, 128)',  'rgb(128, 128, 120)',   7 / $root3,     false,],
            ['rgb(128, 128, 128)',  'rgb(128, 128, 120)',   8 / $root3,     true,],
            ['rgb(0, 0, 0)',        'rgb(255, 255, 255)',   254.9,          false,],
            ['rgb(0, 0, 0)',        'rgb(255, 255, 255)',   255,            true,],
            ['rgb(255, 0, 0)',      'rgb(0, 255, 255)',     254.9,          false,],
            ['rgb(255, 0, 0)',      'rgb(0, 255, 255)',     255,            true,],
            ['black',               'rgba(0, 0, 0)',        0.0,            true],
            ['black',               'rgba(10, 0, 0, 1.0)',  10.0 / $root3,  true],);

        $output = "<table width='100%' class='infoTable'><thead>
                <tr>
                <th>
                Color 1
                </th>
                <th>
                Color 2
                </th>
                <th>
                    Test distance * 255
                </th>
                <th>
                    Is within distance
                </th>
                </tr>
        </thead>";

        $output .= "<tbody>";

        foreach ($tests as $testInfo) {
            $color1 = $testInfo[0];
            $color2 = $testInfo[1];
            $distance = $testInfo[2];
            $expectation = $testInfo[3];
            $testDistance = ($distance / 255.0);

            $color1Pixel = new \ImagickPixel($color1);
            $color2Pixel = new \ImagickPixel($color2);

            $isSimilar = $color1Pixel->isPixelSimilar($color2Pixel, $testDistance);

            if ($isSimilar !== $expectation) {
                echo "Test distance failed. Color [$color1] compared to color [$color2] is not within distance $testDistance FAILED.".NL;
            }

            $layout = "<tr>
                <td>%s</td>
                <td>%s</td>
                <td>%s</td>
                <td style='text-align: center;'>%s</td>
            </tr>";

            $output .= sprintf(
                $layout,
                $color1,
                $color2,
                $distance,
                $isSimilar ? 'yes' : 'no'
            );
        }

        $output .= "</tbody></table>";

        return $output;

?>


Sets the color

  • « ImagickPixel::isSimilar
  • ImagickPixel::setColorCount »
  • PHP Manual
  • ImagickPixel
  • Sets the color

ImagickPixel::setColor

(PECL imagick 2, PECL imagick 3)

ImagickPixel::setColor — Sets the color

Descrição

public ImagickPixel::setColor ( string $color ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the color described by the ImagickPixel object, with a string (e.g. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.).

Parâmetros

color

The color definition to use in order to initialise the ImagickPixel object.

Valor Retornado

Returns true if the specified color was set, false otherwise.

Exemplos

Exemplo #1 ImagickPixel::setColor()

<?php
function setColor() {
    $draw = new \ImagickDraw();

    $strokeColor = new \ImagickPixel('green');
    $fillColor = new \ImagickPixel();
    $fillColor->setColor('rgba(100%, 75%, 0%, 1.0)');

    $draw->setstrokewidth(3.0);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);

    $image = new \Imagick();
    $image->newImage(500, 500, "SteelBlue2");
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Description

  • « ImagickPixel::setColor
  • ImagickPixel::setColorValue »
  • PHP Manual
  • ImagickPixel
  • Description

ImagickPixel::setColorCount

(PECL imagick 2, PECL imagick 3)

ImagickPixel::setColorCount — Description

Descrição

public ImagickPixel::setcolorcount ( int $colorCount ) : bool

Sets the color count associated with this color.

Parâmetros

colorCount

Valor Retornado

Retorna true no sucesso.


Sets the normalized value of one of the channels

  • « ImagickPixel::setColorCount
  • ImagickPixel::setColorValueQuantum »
  • PHP Manual
  • ImagickPixel
  • Sets the normalized value of one of the channels

ImagickPixel::setColorValue

(PECL imagick 2, PECL imagick 3)

ImagickPixel::setColorValue — Sets the normalized value of one of the channels

Descrição

public ImagickPixel::setColorValue ( int $color , float $value ) : bool

Sets the value of the specified channel of this object to the provided value, which should be between 0 and 1. This function can be used to provide an opacity channel to an ImagickPixel object.

Parâmetros

color

One of the Imagick color constants e.g. \Imagick::COLOR_GREEN or \Imagick::COLOR_ALPHA.

value

The value to set this channel to, ranging from 0 to 1.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Basic Imagick::setColorValue() usage

<?php

$color  = new \ImagickPixel('firebrick');

$color->setColorValue(Imagick::COLOR_ALPHA, 0.5);

print_r($color->getcolor(true));
?>

O exemplo acima irá imprimir:

Array
(
    [r] => 0.69803921568627
    [g] => 0.13333333333333
    [b] => 0.13333333333333
    [a] => 0.50000762951095
)


Description

  • « ImagickPixel::setColorValue
  • ImagickPixel::setHSL »
  • PHP Manual
  • ImagickPixel
  • Description

ImagickPixel::setColorValueQuantum

(PECL imagick 2 >=2.3.0, PECL imagick 3)

ImagickPixel::setColorValueQuantum — Description

Descrição

public ImagickPixel::setColorValueQuantum ( int $color , int|float $value ) : bool

Sets the quantum value of a color element of the ImagickPixel.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

color

Which color element to set e.g. \Imagick::COLOR_GREEN.

value

The quantum value to set the color element to. This should be a float if ImageMagick was compiled with HDRI otherwise an int in the range 0 to Imagick::getQuantum().

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 ImagickPixel::setColorValueQuantum()

<?php
function setColorValueQuantum() {
    $image = new \Imagick();

    $quantumRange = $image->getQuantumRange();

    $draw = new \ImagickDraw();
    $color = new \ImagickPixel('blue');
    $color->setcolorValueQuantum(\Imagick::COLOR_RED, 128 * $quantumRange['quantumRangeLong'] / 256);

    $draw->setstrokewidth(1.0);
    $draw->setStrokeColor($color);
    $draw->setFillColor($color);
    $draw->rectangle(200, 200, 300, 300);

    $image->newImage(500, 500, "SteelBlue2");
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>


Sets the normalized HSL color

  • « ImagickPixel::setColorValueQuantum
  • ImagickPixel::setIndex »
  • PHP Manual
  • ImagickPixel
  • Sets the normalized HSL color

ImagickPixel::setHSL

(PECL imagick 2, PECL imagick 3)

ImagickPixel::setHSL — Sets the normalized HSL color

Descrição

public ImagickPixel::setHSL ( float $hue , float $saturation , float $luminosity ) : bool

Sets the color described by the ImagickPixel object using normalized values for hue, saturation and luminosity.

Parâmetros

hue

The normalized value for hue, described as a fractional arc (between 0 and 1) of the hue circle, where the zero value is red.

saturation

The normalized value for saturation, with 1 as full saturation.

luminosity

The normalized value for luminosity, on a scale from black at 0 to white at 1, with the full HS value at 0.5 luminosity.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 Use ImagickPixel::setHSL() to modify a color

<?php

//Create an almost pure red color
$color = new ImagickPixel('rgb(90%, 10%, 10%)');

//Get it's HSL values
$colorInfo = $color->getHSL();

//Rotate the hue by 180 degrees
$newHue = $colorInfo['hue'] + 0.5;
if ($newHue > 1) {
    $newHue = $newHue - 1;
}

//Set the ImagickPixel to the new color
$colorInfo = $color->setHSL($newHue, $colorInfo['saturation'], $colorInfo['luminosity']);

//Check that the new color is blue/green
$colorInfo = $color->getcolor();
print_r($colorInfo);

?>

O exemplo acima irá imprimir:

Array
(
    [r] => 26
    [g] => 230
    [b] => 230
    [a] => 255
)

Notas

Nota:

Available with ImageMagick library version 6.2.9 and higher.


Description

  • « ImagickPixel::setHSL
  • ImagickPixelIterator »
  • PHP Manual
  • ImagickPixel
  • Description

ImagickPixel::setIndex

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

ImagickPixel::setIndex — Description

Descrição

public ImagickPixel::setIndex ( int $index ) : bool

Sets the colormap index of the pixel wand.

Parâmetros

index

Valor Retornado

Retorna true no sucesso.


The ImagickPixelIterator class

(PECL imagick 2, PECL imagick 3)

Sinopse da classe

ImagickPixelIterator {
public clear ( ) : bool
public __construct ( Imagick $wand )
public destroy ( ) : bool
public getCurrentIteratorRow ( ) : array
public getIteratorRow ( ) : int
public getNextIteratorRow ( ) : array
public getPreviousIteratorRow ( ) : array
public newPixelIterator ( Imagick $wand ) : bool
public newPixelRegionIterator ( Imagick $wand , int $x , int $y , int $columns , int $rows ) : bool
public resetIterator ( ) : bool
public setIteratorFirstRow ( ) : bool
public setIteratorLastRow ( ) : bool
public setIteratorRow ( int $row ) : bool
public syncIterator ( ) : bool
}

Índice

  • ImagickPixelIterator::clear — Clear resources associated with a PixelIterator
  • ImagickPixelIterator::__construct — The ImagickPixelIterator constructor
  • ImagickPixelIterator::destroy — Deallocates resources associated with a PixelIterator
  • ImagickPixelIterator::getCurrentIteratorRow — Returns the current row of ImagickPixel objects
  • ImagickPixelIterator::getIteratorRow — Returns the current pixel iterator row
  • ImagickPixelIterator::getNextIteratorRow — Returns the next row of the pixel iterator
  • ImagickPixelIterator::getPreviousIteratorRow — Returns the previous row
  • ImagickPixelIterator::newPixelIterator — Returns a new pixel iterator
  • ImagickPixelIterator::newPixelRegionIterator — Returns a new pixel iterator
  • ImagickPixelIterator::resetIterator — Resets the pixel iterator
  • ImagickPixelIterator::setIteratorFirstRow — Sets the pixel iterator to the first pixel row
  • ImagickPixelIterator::setIteratorLastRow — Sets the pixel iterator to the last pixel row
  • ImagickPixelIterator::setIteratorRow — Set the pixel iterator row
  • ImagickPixelIterator::syncIterator — Syncs the pixel iterator


Clear resources associated with a PixelIterator

  • « ImagickPixelIterator
  • ImagickPixelIterator::__construct »
  • PHP Manual
  • ImagickPixelIterator
  • Clear resources associated with a PixelIterator

ImagickPixelIterator::clear

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::clear — Clear resources associated with a PixelIterator

Descrição

public ImagickPixelIterator::clear ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Clear resources associated with a PixelIterator.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 ImagickPixelIterator::clear()

<?php
function clear($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));

    $imageIterator = $imagick->getPixelRegionIterator(100, 100, 250, 200);

    /* Loop through pixel rows */
    foreach ($imageIterator as $pixels) {
        /** @var $pixel \ImagickPixel */
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $column => $pixel) {
            if ($column % 2) {
                /* Paint every second pixel black*/
                $pixel->setColor("rgba(0, 0, 0, 0)");
            }
        }
        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    $imageIterator->clear();

    header("Content-Type: image/jpg");
    echo $imagick;
}

?>


The ImagickPixelIterator constructor

  • « ImagickPixelIterator::clear
  • ImagickPixelIterator::destroy »
  • PHP Manual
  • ImagickPixelIterator
  • The ImagickPixelIterator constructor

ImagickPixelIterator::__construct

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::__construct — The ImagickPixelIterator constructor

Descrição

public ImagickPixelIterator::__construct ( Imagick $wand )
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

The ImagickPixelIterator constructor

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 ImagickPixelIterator::construct()

<?php
function construct($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imageIterator = new \ImagickPixelIterator($imagick);

    /* Loop through pixel rows */
    foreach ($imageIterator as $pixels) {
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $column => $pixel) {
            /** @var $pixel \ImagickPixel */
            if ($column % 2) {
                /* Paint every second pixel black*/
                $pixel->setColor("rgba(0, 0, 0, 0)");
            }
        }
        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    header("Content-Type: image/jpg");
    echo $imagick;
}

?>


Deallocates resources associated with a PixelIterator

  • « ImagickPixelIterator::__construct
  • ImagickPixelIterator::getCurrentIteratorRow »
  • PHP Manual
  • ImagickPixelIterator
  • Deallocates resources associated with a PixelIterator

ImagickPixelIterator::destroy

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::destroy — Deallocates resources associated with a PixelIterator

Descrição

public ImagickPixelIterator::destroy ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Deallocates resources associated with a PixelIterator.

Valor Retornado

Retorna true no sucesso.


Returns the current row of ImagickPixel objects

  • « ImagickPixelIterator::destroy
  • ImagickPixelIterator::getIteratorRow »
  • PHP Manual
  • ImagickPixelIterator
  • Returns the current row of ImagickPixel objects

ImagickPixelIterator::getCurrentIteratorRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::getCurrentIteratorRow — Returns the current row of ImagickPixel objects

Descrição

public ImagickPixelIterator::getCurrentIteratorRow ( ) : array
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the current row as an array of ImagickPixel objects from the pixel iterator.

Valor Retornado

Returns a row as an array of ImagickPixel objects that can themselves be iterated.


Returns the current pixel iterator row

  • « ImagickPixelIterator::getCurrentIteratorRow
  • ImagickPixelIterator::getNextIteratorRow »
  • PHP Manual
  • ImagickPixelIterator
  • Returns the current pixel iterator row

ImagickPixelIterator::getIteratorRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::getIteratorRow — Returns the current pixel iterator row

Descrição

public ImagickPixelIterator::getIteratorRow ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the current pixel iterator row.

Valor Retornado

Returns the integer offset of the row, throwing ImagickPixelIteratorException on error.


Returns the next row of the pixel iterator

  • « ImagickPixelIterator::getIteratorRow
  • ImagickPixelIterator::getPreviousIteratorRow »
  • PHP Manual
  • ImagickPixelIterator
  • Returns the next row of the pixel iterator

ImagickPixelIterator::getNextIteratorRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::getNextIteratorRow — Returns the next row of the pixel iterator

Descrição

public ImagickPixelIterator::getNextIteratorRow ( ) : array
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the next row as an array of pixel wands from the pixel iterator.

Valor Retornado

Returns the next row as an array of ImagickPixel objects, throwing ImagickPixelIteratorException on error.

Exemplos

Exemplo #1 ImagickPixelIterator::getNextIteratorRow()

<?php
function getNextIteratorRow($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imageIterator = $imagick->getPixelIterator();

    $count = 0;
    while ($pixels = $imageIterator->getNextIteratorRow()) {
        if (($count % 3) == 0) {
            /* Loop through the pixels in the row (columns) */
            foreach ($pixels as $column => $pixel) {
                /** @var $pixel \ImagickPixel */
                if ($column % 2) {
                    /* Paint every second pixel black*/
                    $pixel->setColor("rgba(0, 0, 0, 0)");
                }
            }
            /* Sync the iterator, this is important to do on each iteration */
            $imageIterator->syncIterator();
        }

        $count += 1;
    }

    header("Content-Type: image/jpg");
    echo $imagick;
}

?>


Returns the previous row

  • « ImagickPixelIterator::getNextIteratorRow
  • ImagickPixelIterator::newPixelIterator »
  • PHP Manual
  • ImagickPixelIterator
  • Returns the previous row

ImagickPixelIterator::getPreviousIteratorRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::getPreviousIteratorRow — Returns the previous row

Descrição

public ImagickPixelIterator::getPreviousIteratorRow ( ) : array
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the previous row as an array of pixel wands from the pixel iterator.

Valor Retornado

Returns the previous row as an array of ImagickPixelWand objects from the ImagickPixelIterator, throwing ImagickPixelIteratorException on error.


Returns a new pixel iterator

  • « ImagickPixelIterator::getPreviousIteratorRow
  • ImagickPixelIterator::newPixelRegionIterator »
  • PHP Manual
  • ImagickPixelIterator
  • Returns a new pixel iterator

ImagickPixelIterator::newPixelIterator

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::newPixelIterator — Returns a new pixel iterator

Descrição

public ImagickPixelIterator::newPixelIterator ( Imagick $wand ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns a new pixel iterator.

Valor Retornado

Retorna true no sucesso. Throwing ImagickPixelIteratorException.


Returns a new pixel iterator

  • « ImagickPixelIterator::newPixelIterator
  • ImagickPixelIterator::resetIterator »
  • PHP Manual
  • ImagickPixelIterator
  • Returns a new pixel iterator

ImagickPixelIterator::newPixelRegionIterator

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::newPixelRegionIterator — Returns a new pixel iterator

Descrição

public ImagickPixelIterator::newPixelRegionIterator ( Imagick $wand , int $x , int $y , int $columns , int $rows ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns a new pixel iterator.

Parâmetros

wand

x

y

columns

rows

Valor Retornado

Returns a new ImagickPixelIterator on success; on failure, throws ImagickPixelIteratorException.


Resets the pixel iterator

  • « ImagickPixelIterator::newPixelRegionIterator
  • ImagickPixelIterator::setIteratorFirstRow »
  • PHP Manual
  • ImagickPixelIterator
  • Resets the pixel iterator

ImagickPixelIterator::resetIterator

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::resetIterator — Resets the pixel iterator

Descrição

public ImagickPixelIterator::resetIterator ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Resets the pixel iterator. Use it in conjunction with ImagickPixelIterator::getNextIteratorRow() to iterate over all the pixels in a pixel container.

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 ImagickPixelIterator::resetIterator()

<?php
function resetIterator($imagePath) {

    $imagick = new \Imagick(realpath($imagePath));

    $imageIterator = $imagick->getPixelIterator();

    /* Loop trough pixel rows */
    foreach ($imageIterator as $pixels) {
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $column => $pixel) {
            /** @var $pixel \ImagickPixel */
            if ($column % 2) {

                /* Make every second pixel 25% red*/
                $pixel->setColorValue(\Imagick::COLOR_RED, 64);
            }
        }
        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    $imageIterator->resetiterator();

    /* Loop trough pixel rows */
    foreach ($imageIterator as $pixels) {
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $column => $pixel) {
            /** @var $pixel \ImagickPixel */
            if ($column % 3) {
                $pixel->setColorValue(\Imagick::COLOR_BLUE, 64); /* Make every second pixel a little blue*/
                //$pixel->setColor("rgba(0, 0, 128, 0)"); /* Paint every second pixel black*/
            }
        }
        $imageIterator->syncIterator(); /* Sync the iterator, this is important to do on each iteration */
    }

    $imageIterator->clear();

    header("Content-Type: image/jpg");
    echo $imagick;
}

?>


Sets the pixel iterator to the first pixel row

  • « ImagickPixelIterator::resetIterator
  • ImagickPixelIterator::setIteratorLastRow »
  • PHP Manual
  • ImagickPixelIterator
  • Sets the pixel iterator to the first pixel row

ImagickPixelIterator::setIteratorFirstRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::setIteratorFirstRow — Sets the pixel iterator to the first pixel row

Descrição

public ImagickPixelIterator::setIteratorFirstRow ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the pixel iterator to the first pixel row.

Valor Retornado

Retorna true no sucesso.


Sets the pixel iterator to the last pixel row

  • « ImagickPixelIterator::setIteratorFirstRow
  • ImagickPixelIterator::setIteratorRow »
  • PHP Manual
  • ImagickPixelIterator
  • Sets the pixel iterator to the last pixel row

ImagickPixelIterator::setIteratorLastRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::setIteratorLastRow — Sets the pixel iterator to the last pixel row

Descrição

public ImagickPixelIterator::setIteratorLastRow ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the pixel iterator to the last pixel row.

Valor Retornado

Retorna true no sucesso.


Set the pixel iterator row

  • « ImagickPixelIterator::setIteratorLastRow
  • ImagickPixelIterator::syncIterator »
  • PHP Manual
  • ImagickPixelIterator
  • Set the pixel iterator row

ImagickPixelIterator::setIteratorRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::setIteratorRow — Set the pixel iterator row

Descrição

public ImagickPixelIterator::setIteratorRow ( int $row ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Set the pixel iterator row.

Parâmetros

row

Valor Retornado

Retorna true no sucesso.

Exemplos

Exemplo #1 ImagickPixelIterator::setIteratorRow()

<?php
function setIteratorRow($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imageIterator = $imagick->getPixelRegionIterator(200, 100, 200, 200);

    for ($x = 0; $x < 20; $x++) {
        $imageIterator->setIteratorRow($x * 5);
        $pixels = $imageIterator->getCurrentIteratorRow();
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $pixel) {
            /** @var $pixel \ImagickPixel */
            /* Paint every second pixel black*/
            $pixel->setColor("rgba(0, 0, 0, 0)");
        }

        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    header("Content-Type: image/jpg");
    echo $imagick;
}

?>


Syncs the pixel iterator

  • « ImagickPixelIterator::setIteratorRow
  • ImagickKernel »
  • PHP Manual
  • ImagickPixelIterator
  • Syncs the pixel iterator

ImagickPixelIterator::syncIterator

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::syncIterator — Syncs the pixel iterator

Descrição

public ImagickPixelIterator::syncIterator ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Syncs the pixel iterator.

Valor Retornado

Retorna true no sucesso.


The ImagickKernel class

(PECL imagick >= 3.3.0)

Introdução

Sinopse da classe

ImagickKernel {
/* Métodos */
public addKernel ( ImagickKernel $ImagickKernel ) : void
public addUnityKernel ( float $scale ) : void
public static fromBuiltin ( int $kernelType , string $kernelString ) : ImagickKernel
public static fromMatrix ( array $matrix , array $origin = ? ) : ImagickKernel
public getMatrix ( ) : array
public scale ( float $scale , int $normalizeFlag = ? ) : void
public separate ( ) : array
}

Índice

  • ImagickKernel::addKernel — Description
  • ImagickKernel::addUnityKernel — Description
  • ImagickKernel::fromBuiltIn — Description
  • ImagickKernel::fromMatrix — Description
  • ImagickKernel::getMatrix — Description
  • ImagickKernel::scale — Description
  • ImagickKernel::separate — Description


Description

  • « ImagickKernel
  • ImagickKernel::addUnityKernel »
  • PHP Manual
  • ImagickKernel
  • Description

ImagickKernel::addKernel

(PECL imagick >= 3.3.0)

ImagickKernel::addKernel — Description

Descrição

public ImagickKernel::addKernel ( ImagickKernel $ImagickKernel ) : void

Attach another kernel to this kernel to allow them to both be applied in a single morphology or filter function. Returns the new combined kernel.

Parâmetros

ImagickKernel

Valor Retornado

Exemplos

Exemplo #1 ImagickKernel::addKernel()

<?php
function addKernel($imagePath) {
    $matrix1 = [
        [-1, -1, -1],
        [ 0,  0,  0],
        [ 1,  1,  1],
    ];

    $matrix2 = [
        [-1,  0,  1],
        [-1,  0,  1],
        [-1,  0,  1],
    ];

    $kernel1 = ImagickKernel::fromMatrix($matrix1);
    $kernel2 = ImagickKernel::fromMatrix($matrix2);
    $kernel1->addKernel($kernel2);

    $imagick = new \Imagick(realpath($imagePath));
    $imagick->filter($kernel1);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();

}

?>


Description

  • « ImagickKernel::addKernel
  • ImagickKernel::fromBuiltIn »
  • PHP Manual
  • ImagickKernel
  • Description

ImagickKernel::addUnityKernel

(PECL imagick >= 3.3.0)

ImagickKernel::addUnityKernel — Description

Descrição

public ImagickKernel::addUnityKernel ( float $scale ) : void

Adds a given amount of the 'Unity' Convolution Kernel to the given pre-scaled and normalized Kernel. This in effect adds that amount of the original image into the resulting convolution kernel. The resulting effect is to convert the defined kernels into blended soft-blurs, unsharp kernels or into sharpening kernels.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 ImagickKernel::addUnityKernel()

<?php

    function renderKernelTable($matrix) {
        $output = "<table class='infoTable'>";

        foreach ($matrix as $row) {
            $output .= "<tr>";
            foreach ($row as $cell) {
                $output .= "<td style='text-align:left'>";
                if ($cell === false) {
                    $output .= "false";
                }
                else {
                    $output .= round($cell, 3);
                }
                $output .= "</td>";
            }
            $output .= "</tr>";
        }

        $output .= "</table>";

        return $output;
    }

    $matrix = [
        [-1, 0, -1],
        [ 0, 4,  0],
        [-1, 0, -1],
    ];

    $kernel = \ImagickKernel::fromMatrix($matrix);
    $kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
    $output = "Before adding unity kernel: <br/>";
    $output .= renderKernelTable($kernel->getMatrix());
    $kernel->addUnityKernel(0.5);
    $output .= "After adding unity kernel: <br/>";
    $output .= renderKernelTable($kernel->getMatrix());

    $kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
    $output .= "After renormalizing kernel: <br/>";
    $output .= renderKernelTable($kernel->getMatrix());

    echo $output;

?>

Exemplo #2 ImagickKernel::addUnityKernel()

<?php
function addUnityKernel($imagePath) {

    $matrix = [
        [-1, 0, -1],
        [ 0, 4,  0],
        [-1, 0, -1],
    ];

    $kernel = ImagickKernel::fromMatrix($matrix);

    $kernel->scale(4, \Imagick::NORMALIZE_KERNEL_VALUE);
    $kernel->addUnityKernel(0.5);

    $imagick = new \Imagick(realpath($imagePath));
    $imagick->filter($kernel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();

}

?>


Description

  • « ImagickKernel::addUnityKernel
  • ImagickKernel::fromMatrix »
  • PHP Manual
  • ImagickKernel
  • Description

ImagickKernel::fromBuiltIn

(PECL imagick >= 3.3.0)

ImagickKernel::fromBuiltIn — Description

Descrição

public static ImagickKernel::fromBuiltin ( int $kernelType , string $kernelString ) : ImagickKernel

Create a kernel from a builtin in kernel. See http://www.imagemagick.org/Usage/morphology/#kernel for examples. Currently the 'rotation' symbols are not supported. Example: $diamondKernel = ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DIAMOND, "2");

Parâmetros

kerneltype

The type of kernel to build e.g. \Imagick::KERNEL_DIAMOND

kernelString

A string that describes the parameters e.g. "4,2.5"

Valor Retornado

Exemplos

Exemplo #1 ImagickKernel::fromBuiltin()

<?php

function renderKernel(ImagickKernel $imagickKernel) {
    $matrix = $imagickKernel->getMatrix();

    $imageMargin = 20;

    $tileSize = 20;
    $tileSpace = 4;
    $shadowSigma = 4;
    $shadowDropX = 20;
    $shadowDropY = 0;

    $radius = ($tileSize / 2) * 0.9;

    $rows = count($matrix);
    $columns = count($matrix[0]);

    $imagickDraw = new \ImagickDraw();

    $imagickDraw->setFillColor('#afafaf');
    $imagickDraw->setStrokeColor('none');

    $imagickDraw->translate($imageMargin, $imageMargin);
    $imagickDraw->push();

    ksort($matrix);

    foreach ($matrix as $row) {
        ksort($row);
        $imagickDraw->push();
        foreach ($row as $cell) {
            if ($cell !== false) {
                $color = intval(255 * $cell);
                $colorString = sprintf("rgb(%f, %f, %f)", $color, $color, $color);
                $imagickDraw->setFillColor($colorString);
                $imagickDraw->rectangle(0, 0, $tileSize, $tileSize);
            }
            $imagickDraw->translate(($tileSize + $tileSpace), 0);
        }
        $imagickDraw->pop();
        $imagickDraw->translate(0, ($tileSize + $tileSpace));
    }

    $imagickDraw->pop();

    $width = ($columns * $tileSize) + (($columns - 1) * $tileSpace);
    $height = ($rows * $tileSize) + (($rows - 1) * $tileSpace);

    $imagickDraw->push();
    $imagickDraw->translate($width/2 , $height/2);
    $imagickDraw->setFillColor('rgba(0, 0, 0, 0)');
    $imagickDraw->setStrokeColor('white');
    $imagickDraw->circle(0, 0, $radius - 1, 0);
    $imagickDraw->setStrokeColor('black');
    $imagickDraw->circle(0, 0, $radius, 0);
    $imagickDraw->pop();

    $canvasWidth = $width + (2 * $imageMargin);
    $canvasHeight = $height + (2 * $imageMargin);

    $kernel = new \Imagick();
    $kernel->newPseudoImage(
        $canvasWidth,
        $canvasHeight,
        'canvas:none'
    );

    $kernel->setImageFormat('png');
    $kernel->drawImage($imagickDraw);

    /* create drop shadow on it's own layer */
    $canvas = $kernel->clone();
    $canvas->setImageBackgroundColor(new \ImagickPixel('rgb(0, 0, 0)'));
    $canvas->shadowImage(100, $shadowSigma, $shadowDropX, $shadowDropY);

    $canvas->setImagePage($canvasWidth, $canvasHeight, -5, -5);
    $canvas->cropImage($canvasWidth, $canvasHeight, 0, 0);

    /* composite original text_layer onto shadow_layer */
    $canvas->compositeImage($kernel, \Imagick::COMPOSITE_OVER, 0, 0);
    $canvas->setImageFormat('png');

    return $canvas;
}

function createFromBuiltin($kernelType, $kernelFirstTerm, $kernelSecondTerm, $kernelThirdTerm) {
    $string = '';

    if ($kernelFirstTerm != false && strlen(trim($kernelFirstTerm)) != 0) {
        $string .= $kernelFirstTerm;

        if ($kernelSecondTerm != false && strlen(trim($kernelSecondTerm)) != 0) {
            $string .= ','.$kernelSecondTerm;
            if ($kernelThirdTerm != false && strlen(trim($kernelThirdTerm)) != 0) {
                $string .= ','.$kernelThirdTerm;
            }
        }
    }

    $kernel = ImagickKernel::fromBuiltIn(
        $kernelType,
        $string
    );

    return $kernel;
}

function fromBuiltin($kernelType, $kernelFirstTerm, $kernelSecondTerm, $kernelThirdTerm) {
    $diamondKernel = createFromBuiltin($kernelType, $kernelFirstTerm, $kernelSecondTerm, $kernelThirdTerm);
    $imagick = renderKernel($diamondKernel);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

fromBuiltin(\Imagick::KERNEL_DIAMOND, 2, false, false);

?>


Description

  • « ImagickKernel::fromBuiltIn
  • ImagickKernel::getMatrix »
  • PHP Manual
  • ImagickKernel
  • Description

ImagickKernel::fromMatrix

(PECL imagick >= 3.3.0)

ImagickKernel::fromMatrix — Description

Descrição

public static ImagickKernel::fromMatrix ( array $matrix , array $origin = ? ) : ImagickKernel

Create a kernel from an 2d matrix of values. Each value should either be a float (if the element should be used) or 'false' if the element should be skipped. For matrices that are odd sizes in both dimensions the origin pixel will default to the centre of the kernel. For all other kernel sizes the origin pixel must be specified.

Parâmetros

array

A matrix (i.e. 2d array) of values that define the kernel. Each element should be either a float value, or FALSE if that element shouldn't be used by the kernel.

array

Which element of the kernel should be used as the origin pixel. e.g. For a 3x3 matrix specifying the origin as [2, 2] would specify that the bottom right element should be the origin pixel.

Valor Retornado

The generated ImagickKernel.

Exemplos

Exemplo #1 ImagickKernel::fromMatrix()

<?php

function renderKernel(ImagickKernel $imagickKernel) {
    $matrix = $imagickKernel->getMatrix();

    $imageMargin = 20;

    $tileSize = 20;
    $tileSpace = 4;
    $shadowSigma = 4;
    $shadowDropX = 20;
    $shadowDropY = 0;

    $radius = ($tileSize / 2) * 0.9;

    $rows = count($matrix);
    $columns = count($matrix[0]);

    $imagickDraw = new \ImagickDraw();

    $imagickDraw->setFillColor('#afafaf');
    $imagickDraw->setStrokeColor('none');

    $imagickDraw->translate($imageMargin, $imageMargin);
    $imagickDraw->push();

    ksort($matrix);

    foreach ($matrix as $row) {
        ksort($row);
        $imagickDraw->push();
        foreach ($row as $cell) {
            if ($cell !== false) {
                $color = intval(255 * $cell);
                $colorString = sprintf("rgb(%f, %f, %f)", $color, $color, $color);
                $imagickDraw->setFillColor($colorString);
                $imagickDraw->rectangle(0, 0, $tileSize, $tileSize);
            }
            $imagickDraw->translate(($tileSize + $tileSpace), 0);
        }
        $imagickDraw->pop();
        $imagickDraw->translate(0, ($tileSize + $tileSpace));
    }

    $imagickDraw->pop();

    $width = ($columns * $tileSize) + (($columns - 1) * $tileSpace);
    $height = ($rows * $tileSize) + (($rows - 1) * $tileSpace);

    $imagickDraw->push();
    $imagickDraw->translate($width/2 , $height/2);
    $imagickDraw->setFillColor('rgba(0, 0, 0, 0)');
    $imagickDraw->setStrokeColor('white');
    $imagickDraw->circle(0, 0, $radius - 1, 0);
    $imagickDraw->setStrokeColor('black');
    $imagickDraw->circle(0, 0, $radius, 0);
    $imagickDraw->pop();

    $canvasWidth = $width + (2 * $imageMargin);
    $canvasHeight = $height + (2 * $imageMargin);

    $kernel = new \Imagick();
    $kernel->newPseudoImage(
        $canvasWidth,
        $canvasHeight,
        'canvas:none'
    );

    $kernel->setImageFormat('png');
    $kernel->drawImage($imagickDraw);

    /* create drop shadow on it's own layer */
    $canvas = $kernel->clone();
    $canvas->setImageBackgroundColor(new \ImagickPixel('rgb(0, 0, 0)'));
    $canvas->shadowImage(100, $shadowSigma, $shadowDropX, $shadowDropY);

    $canvas->setImagePage($canvasWidth, $canvasHeight, -5, -5);
    $canvas->cropImage($canvasWidth, $canvasHeight, 0, 0);

    /* composite original text_layer onto shadow_layer */
    $canvas->compositeImage($kernel, \Imagick::COMPOSITE_OVER, 0, 0);
    $canvas->setImageFormat('png');

    return $canvas;
}

function createFromMatrix() {
    $matrix = [
        [0.5, 0, 0.2],
        [0, 1, 0],
        [0.9, 0, false],
    ];

    $kernel = \ImagickKernel::fromMatrix($matrix);

    return $kernel;
}

function fromMatrix() {
    $kernel = createFromMatrix();
    $imagick = renderKernel($kernel);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>


Description

  • « ImagickKernel::fromMatrix
  • ImagickKernel::scale »
  • PHP Manual
  • ImagickKernel
  • Description

ImagickKernel::getMatrix

(PECL imagick >= 3.3.0)

ImagickKernel::getMatrix — Description

Descrição

public ImagickKernel::getMatrix ( ) : array

Get the 2d matrix of values used in this kernel. The elements are either float for elements that are used or 'false' if the element should be skipped.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A matrix (2d array) of the values that represent the kernel.

Exemplos

Exemplo #1 ImagickKernel::getMatrix()

<?php

function renderKernelTable($matrix) {
    $output = "<table class='infoTable'>";

    foreach ($matrix as $row) {
        $output .= "<tr>";
        foreach ($row as $cell) {
            $output .= "<td style='text-align:left'>";
            if ($cell === false) {
                $output .= "false";
            }
            else {
                $output .= round($cell, 3);
            }
            $output .= "</td>";
        }
        $output .= "</tr>";
    }

    $output .= "</table>";

    return $output;
}

    $output = "The built-in kernel name 'ring' with parameters of '2,3.5':<br/>";
    $kernel = \ImagickKernel::fromBuiltIn(
        \Imagick::KERNEL_RING,
        "2,3.5"
    );
    $matrix = $kernel->getMatrix();
    $output .= renderKernelTable($matrix);

    echo $output;

?>


Description

  • « ImagickKernel::getMatrix
  • ImagickKernel::separate »
  • PHP Manual
  • ImagickKernel
  • Description

ImagickKernel::scale

(PECL imagick >= 3.3.0)

ImagickKernel::scale — Description

Descrição

public ImagickKernel::scale ( float $scale , int $normalizeFlag = ? ) : void

ScaleKernelInfo() scales the given kernel list by the given amount, with or without normalization of the sum of the kernel values (as per given flags). The exact behaviour of this function depends on the normalization type being used please see http://www.imagemagick.org/api/morphology.php#ScaleKernelInfo for details. Flag should be one of Imagick::NORMALIZE_KERNEL_VALUE, Imagick::NORMALIZE_KERNEL_CORRELATE, Imagick::NORMALIZE_KERNEL_PERCENT or not set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 ImagickKernel::scale()

<?php

    function renderKernelTable($matrix) {
        $output = "<table class='infoTable'>";

        foreach ($matrix as $row) {
            $output .= "<tr>";
            foreach ($row as $cell) {
                $output .= "<td style='text-align:left'>";
                if ($cell === false) {
                    $output .= "false";
                }
                else {
                    $output .= round($cell, 3);
                }
                $output .= "</td>";
            }
            $output .= "</tr>";
        }

        $output .= "</table>";

        return $output;
    }

    $output = "";

    $matrix = [
        [-1, 0, -1],
        [ 0, 4,  0],
        [-1, 0, -1],
    ];

    $kernel = \ImagickKernel::fromMatrix($matrix);
    $kernelClone = clone $kernel;

    $output .= "Start kernel<br/>";
    $output .= renderKernelTable($kernel->getMatrix());

    $output .= "Scaling with NORMALIZE_KERNEL_VALUE. The  <br/>";
    $kernel->scale(2, \Imagick::NORMALIZE_KERNEL_VALUE);
    $output .= renderKernelTable($kernel->getMatrix());

    $kernel = clone $kernelClone;
    $output .= "Scaling by percent<br/>";
    $kernel->scale(2, \Imagick::NORMALIZE_KERNEL_PERCENT);
    $output .= renderKernelTable($kernel->getMatrix());

    $matrix2 = [
        [-1, -1, 1],
        [ -1, false,  1],
        [1, 1, 1],
    ];

    $kernel = \ImagickKernel::fromMatrix($matrix2);
    $output .= "Scaling by correlate<br/>";
    $kernel->scale(1, \Imagick::NORMALIZE_KERNEL_CORRELATE);
    $output .= renderKernelTable($kernel->getMatrix());

    return $output;
?>


Description

  • « ImagickKernel::scale
  • Extensões Relacionadas a Mail »
  • PHP Manual
  • ImagickKernel
  • Description

ImagickKernel::separate

(PECL imagick >= 3.3.0)

ImagickKernel::separate — Description

Descrição

public ImagickKernel::separate ( ) : array

Separates a linked set of kernels and returns an array of ImagickKernels.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 ImagickKernel::separate()

<?php

    function renderKernelTable($matrix) {

        $output = "<table class='infoTable'>";
        foreach ($matrix as $row) {
            $output .= "<tr>";
            foreach ($row as $cell) {
                $output .= "<td style='text-align:left'>";
                if ($cell === false) {
                    $output .= "false";
                }
                else {
                    $output .= round($cell, 3);
                }
                $output .= "</td>";
            }
            $output .= "</tr>";
        }

        $output .= "</table>";

        return $output;
    }

    $matrix = [
        [-1, 0, -1],
        [ 0, 4,  0],
        [-1, 0, -1],
    ];

    $kernel = \ImagickKernel::fromMatrix($matrix);
    $kernel->scale(4, \Imagick::NORMALIZE_KERNEL_VALUE);
    $diamondKernel = \ImagickKernel::fromBuiltIn(
        \Imagick::KERNEL_DIAMOND,
        "2"
    );

    $kernel->addKernel($diamondKernel);

    $kernelList = $kernel->separate();

    $output = '';
    $count = 0;
    foreach ($kernelList as $kernel) {
        $output .= "<br/>Kernel $count<br/>";
        $output .= renderKernelTable($kernel->getMatrix());
        $count++;
    }

    return $output;

?>


Extensões Relacionadas a Mail

  • IMAP — IMAP, POP3 and NNTP
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • IMAP Funções
  • Mail
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções da Mail
  • Mailparse
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Mailparse Funções


IMAP, POP3 and NNTP

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • IMAP Funções
    • imap_8bit — Convert an 8bit string to a quoted-printable string
    • imap_alerts — Returns all IMAP alert messages that have occurred
    • imap_append — Append a string message to a specified mailbox
    • imap_base64 — Decode BASE64 encoded text
    • imap_binary — Convert an 8bit string to a base64 string
    • imap_body — Read the message body
    • imap_bodystruct — Read the structure of a specified body section of a specific message
    • imap_check — Check current mailbox
    • imap_clearflag_full — Clears flags on messages
    • imap_close — Close an IMAP stream
    • imap_create — Sinônimo de imap_createmailbox
    • imap_createmailbox — Create a new mailbox
    • imap_delete — Mark a message for deletion from current mailbox
    • imap_deletemailbox — Delete a mailbox
    • imap_errors — Returns all of the IMAP errors that have occurred
    • imap_expunge — Delete all messages marked for deletion
    • imap_fetch_overview — Read an overview of the information in the headers of the given message
    • imap_fetchbody — Fetch a particular section of the body of the message
    • imap_fetchheader — Returns header for a message
    • imap_fetchmime — Fetch MIME headers for a particular section of the message
    • imap_fetchstructure — Read the structure of a particular message
    • imap_fetchtext — Sinônimo de imap_body
    • imap_gc — Clears IMAP cache
    • imap_get_quota — Retrieve the quota level settings, and usage statics per mailbox
    • imap_get_quotaroot — Retrieve the quota settings per user
    • imap_getacl — Gets the ACL for a given mailbox
    • imap_getmailboxes — Read the list of mailboxes, returning detailed information on each one
    • imap_getsubscribed — List all the subscribed mailboxes
    • imap_header — Sinônimo de imap_headerinfo
    • imap_headerinfo — Read the header of the message
    • imap_headers — Returns headers for all messages in a mailbox
    • imap_last_error — Gets the last IMAP error that occurred during this page request
    • imap_list — Read the list of mailboxes
    • imap_listmailbox — Sinônimo de imap_list
    • imap_listscan — Returns the list of mailboxes that matches the given text
    • imap_listsubscribed — Sinônimo de imap_lsub
    • imap_lsub — List all the subscribed mailboxes
    • imap_mail_compose — Create a MIME message based on given envelope and body sections
    • imap_mail_copy — Copy specified messages to a mailbox
    • imap_mail_move — Move specified messages to a mailbox
    • imap_mail — Send an email message
    • imap_mailboxmsginfo — Get information about the current mailbox
    • imap_mime_header_decode — Decode MIME header elements
    • imap_msgno — Gets the message sequence number for the given UID
    • imap_mutf7_to_utf8 — Decode a modified UTF-7 string to UTF-8
    • imap_num_msg — Gets the number of messages in the current mailbox
    • imap_num_recent — Gets the number of recent messages in current mailbox
    • imap_open — Open an IMAP stream to a mailbox
    • imap_ping — Check if the IMAP stream is still active
    • imap_qprint — Convert a quoted-printable string to an 8 bit string
    • imap_rename — Sinônimo de imap_renamemailbox
    • imap_renamemailbox — Rename an old mailbox to new mailbox
    • imap_reopen — Reopen IMAP stream to new mailbox
    • imap_rfc822_parse_adrlist — Parses an address string
    • imap_rfc822_parse_headers — Parse mail headers from a string
    • imap_rfc822_write_address — Returns a properly formatted email address given the mailbox, host, and personal info
    • imap_savebody — Save a specific body section to a file
    • imap_scan — Sinônimo de imap_listscan
    • imap_scanmailbox — Sinônimo de imap_listscan
    • imap_search — This function returns an array of messages matching the given search criteria
    • imap_set_quota — Sets a quota for a given mailbox
    • imap_setacl — Sets the ACL for a given mailbox
    • imap_setflag_full — Sets flags on messages
    • imap_sort — Gets and sort messages
    • imap_status — Returns status information on a mailbox
    • imap_subscribe — Subscribe to a mailbox
    • imap_thread — Returns a tree of threaded message
    • imap_timeout — Set or fetch imap timeout
    • imap_uid — This function returns the UID for the given message sequence number
    • imap_undelete — Unmark the message which is marked deleted
    • imap_unsubscribe — Unsubscribe from a mailbox
    • imap_utf7_decode — Decodes a modified UTF-7 encoded string
    • imap_utf7_encode — Converts ISO-8859-1 string to modified UTF-7 text
    • imap_utf8_to_mutf7 — Encode a UTF-8 string to modified UTF-7
    • imap_utf8 — Converts MIME-encoded text to UTF-8


Introdução

These functions enable you to operate with the IMAP protocol, as well as the NNTP, POP3 and local mailbox access methods.

Be warned, however, that some IMAP functions will not work correctly with the POP protocol.

Aviso

The IMAP extension is not thread-safe; it should not be used with ZTS builds.


Dependências

This extension requires the c-client library to be installed. Grab the latest version from » https://github.com/uw-imap/imap and compile it.

It's important that you do not copy the IMAP source files directly into the system include directory as there may be conflicts. Instead, create a new directory inside the system include directory, such as /usr/local/imap-2000b/ (location and name depend on your setup and IMAP version), and inside this new directory create additional directories named lib/ and include/. From the c-client directory from your IMAP source tree, copy all the *.h files into include/ and all the *.c files into lib/. Additionally when you compiled IMAP, a file named c-client.a was created. Also put this in the lib/ directory but rename it as libc-client.a.

Nota:

To build the c-client library with SSL or/and Kerberos support read the docs supplied with the package.

Nota: In Mandrake Linux, the IMAP library (libc-client.a) is compiled without Kerberos support. A separate version with SSL (client-PHP4.a) is installed. The library must be recompiled in order to add Kerberos support.


Instalação

To get these functions to work, you have to compile PHP with --with-imap[=DIR], where DIR is the c-client install prefix. From our example above, you would use --with-imap=/usr/local/imap-2000b. This location depends on where you created this directory according to the description above. Windows users may include the php_imap.dll DLL in php.ini.

Nota: Depending on how the c-client was configured, you might also need to add --with-imap-ssl=/path/to/openssl/ and/or --with-kerberos=/path/to/kerberos to the PHP configure line.

Aviso

The IMAP extension is not thread-safe; it should not be used with ZTS builds.

Aviso

As extensões IMAP, recode e YAZ não podem ser utilizadas em paralelo por conterem símbolos internos de mesmo nome. Yaz 2.0 e superiores não sofrem deste problema.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

IMAP Opções de Configuração
Nome | Padrão | Modificável | Changelog
imap.enable_insecure_rsh | "0" | PHP_INI_SYSTEM | Available as of PHP 7.1.25, 7.2.13 and 7.3.0. Formerly, it was implicitly enabled.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

imap.enable_insecure_rsh bool

Establishing a connection to a server may invoke rsh or ssh commands, unless this php.ini option is disabled.

Aviso

Neither PHP nor the IMAP library filter mailbox names before passing them to rsh or ssh commands, thus passing untrusted data to this function without disabling this php.ini option is insecure.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

The imap resource as returned by imap_open() references an opened IMAP stream.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

NIL (int)
OP_DEBUG (int)
OP_READONLY (int)
Open mailbox read-only
OP_ANONYMOUS (int)
Don't use or update a .newsrc for news (NNTP only)
OP_SHORTCACHE (int)
OP_SILENT (int)
OP_PROTOTYPE (int)
OP_HALFOPEN (int)
For IMAP and NNTP names, open a connection but don't open a mailbox.
OP_EXPUNGE (int)
OP_SECURE (int)
CL_EXPUNGE (int)
silently expunge the mailbox before closing when calling imap_close()
FT_UID (int)
The parameter is a UID
FT_PEEK (int)
Do not set the \Seen flag if not already set
FT_NOT (int)
FT_INTERNAL (int)
The return string is in internal format, will not canonicalize to CRLF.
FT_PREFETCHTEXT (int)
ST_UID (int)
The sequence argument contains UIDs instead of sequence numbers
ST_SILENT (int)
ST_SET (int)
CP_UID (int)
the sequence numbers contain UIDS
CP_MOVE (int)
Delete the messages from the current mailbox after copying with imap_mail_copy()
SE_UID (int)
Return UIDs instead of sequence numbers
SE_FREE (int)
SE_NOPREFETCH (int)
Don't prefetch searched messages
SO_FREE (int)
SO_NOSERVER (int)
SA_MESSAGES (int)
SA_RECENT (int)
SA_UNSEEN (int)
SA_UIDNEXT (int)
SA_UIDVALIDITY (int)
SA_ALL (int)
LATT_NOINFERIORS (int)
This mailbox has no "children" (there are no mailboxes below this one).
LATT_NOSELECT (int)
This is only a container, not a mailbox - you cannot open it.
LATT_MARKED (int)
This mailbox is marked. Only used by UW-IMAPD.
LATT_UNMARKED (int)
This mailbox is not marked. Only used by UW-IMAPD.
LATT_REFERRAL (int)
This container has a referral to a remote mailbox.
LATT_HASCHILDREN (int)
This mailbox has selectable inferiors.
LATT_HASNOCHILDREN (int)
This mailbox has no selectable inferiors.
SORTDATE (int)
Sort criteria for imap_sort(): message Date
SORTARRIVAL (int)
Sort criteria for imap_sort(): arrival date
SORTFROM (int)
Sort criteria for imap_sort(): mailbox in first From address
SORTSUBJECT (int)
Sort criteria for imap_sort(): message subject
SORTTO (int)
Sort criteria for imap_sort(): mailbox in first To address
SORTCC (int)
Sort criteria for imap_sort(): mailbox in first cc address
SORTSIZE (int)
Sort criteria for imap_sort(): size of message in octets
TYPETEXT (int)
Primary body type: unformatted text
TYPEMULTIPART (int)
Primary body type: multiple part
TYPEMESSAGE (int)
Primary body type: encapsulated message
TYPEAPPLICATION (int)
Primary body type: application data
TYPEAUDIO (int)
Primary body type: audio
TYPEIMAGE (int)
Primary body type: static image
TYPEVIDEO (int)
Primary body type: video
TYPEMODEL (int)
Primary body type: model
TYPEOTHER (int)
Primary body type: unknown
ENC7BIT (int)
Body encoding: 7 bit SMTP semantic data
ENC8BIT (int)
Body encoding: 8 bit SMTP semantic data
ENCBINARY (int)
Body encoding: 8 bit binary data
ENCBASE64 (int)
Body encoding: base-64 encoded data
ENCQUOTEDPRINTABLE (int)
Body encoding: human-readable 8-as-7 bit data
ENCOTHER (int)
Body encoding: unknown
IMAP_OPENTIMEOUT (int)
IMAP_READTIMEOUT (int)
IMAP_WRITETIMEOUT (int)
IMAP_CLOSETIMEOUT (int)
IMAP_GC_ELT (int)
Garbage collector, clear message cache elements.
IMAP_GC_ENV (int)
Garbage collector, clear envelopes and bodies.
IMAP_GC_TEXTS (int)
Garbage collector, clear texts.


IMAP Funções

Veja Também

This document can't go into detail on all the topics touched by the provided functions. Further information is provided by the documentation of the c-client library source (docs/internal.txt). and the following RFC documents:

  • » RFC2821: Simple Mail Transfer Protocol (SMTP).
  • » RFC2822: Standard for ARPA internet text messages.
  • » RFC2060: Internet Message Access Protocol (IMAP) Version 4rev1.
  • » RFC1939: Post Office Protocol Version 3 (POP3).
  • » RFC977: Network News Transfer Protocol (NNTP).
  • » RFC2076: Common Internet Message Headers.
  • » RFC2045 , » RFC2046 , » RFC2047 , » RFC2048 & » RFC2049: Multipurpose Internet Mail Extensions (MIME).
A detailed overview is also available in the books » Programming Internet Email by David Wood and » Managing IMAP by Dianna Mullet & Kevin Mullet.

Índice

  • imap_8bit — Convert an 8bit string to a quoted-printable string
  • imap_alerts — Returns all IMAP alert messages that have occurred
  • imap_append — Append a string message to a specified mailbox
  • imap_base64 — Decode BASE64 encoded text
  • imap_binary — Convert an 8bit string to a base64 string
  • imap_body — Read the message body
  • imap_bodystruct — Read the structure of a specified body section of a specific message
  • imap_check — Check current mailbox
  • imap_clearflag_full — Clears flags on messages
  • imap_close — Close an IMAP stream
  • imap_create — Sinônimo de imap_createmailbox
  • imap_createmailbox — Create a new mailbox
  • imap_delete — Mark a message for deletion from current mailbox
  • imap_deletemailbox — Delete a mailbox
  • imap_errors — Returns all of the IMAP errors that have occurred
  • imap_expunge — Delete all messages marked for deletion
  • imap_fetch_overview — Read an overview of the information in the headers of the given message
  • imap_fetchbody — Fetch a particular section of the body of the message
  • imap_fetchheader — Returns header for a message
  • imap_fetchmime — Fetch MIME headers for a particular section of the message
  • imap_fetchstructure — Read the structure of a particular message
  • imap_fetchtext — Sinônimo de imap_body
  • imap_gc — Clears IMAP cache
  • imap_get_quota — Retrieve the quota level settings, and usage statics per mailbox
  • imap_get_quotaroot — Retrieve the quota settings per user
  • imap_getacl — Gets the ACL for a given mailbox
  • imap_getmailboxes — Read the list of mailboxes, returning detailed information on each one
  • imap_getsubscribed — List all the subscribed mailboxes
  • imap_header — Sinônimo de imap_headerinfo
  • imap_headerinfo — Read the header of the message
  • imap_headers — Returns headers for all messages in a mailbox
  • imap_last_error — Gets the last IMAP error that occurred during this page request
  • imap_list — Read the list of mailboxes
  • imap_listmailbox — Sinônimo de imap_list
  • imap_listscan — Returns the list of mailboxes that matches the given text
  • imap_listsubscribed — Sinônimo de imap_lsub
  • imap_lsub — List all the subscribed mailboxes
  • imap_mail_compose — Create a MIME message based on given envelope and body sections
  • imap_mail_copy — Copy specified messages to a mailbox
  • imap_mail_move — Move specified messages to a mailbox
  • imap_mail — Send an email message
  • imap_mailboxmsginfo — Get information about the current mailbox
  • imap_mime_header_decode — Decode MIME header elements
  • imap_msgno — Gets the message sequence number for the given UID
  • imap_mutf7_to_utf8 — Decode a modified UTF-7 string to UTF-8
  • imap_num_msg — Gets the number of messages in the current mailbox
  • imap_num_recent — Gets the number of recent messages in current mailbox
  • imap_open — Open an IMAP stream to a mailbox
  • imap_ping — Check if the IMAP stream is still active
  • imap_qprint — Convert a quoted-printable string to an 8 bit string
  • imap_rename — Sinônimo de imap_renamemailbox
  • imap_renamemailbox — Rename an old mailbox to new mailbox
  • imap_reopen — Reopen IMAP stream to new mailbox
  • imap_rfc822_parse_adrlist — Parses an address string
  • imap_rfc822_parse_headers — Parse mail headers from a string
  • imap_rfc822_write_address — Returns a properly formatted email address given the mailbox, host, and personal info
  • imap_savebody — Save a specific body section to a file
  • imap_scan — Sinônimo de imap_listscan
  • imap_scanmailbox — Sinônimo de imap_listscan
  • imap_search — This function returns an array of messages matching the given search criteria
  • imap_set_quota — Sets a quota for a given mailbox
  • imap_setacl — Sets the ACL for a given mailbox
  • imap_setflag_full — Sets flags on messages
  • imap_sort — Gets and sort messages
  • imap_status — Returns status information on a mailbox
  • imap_subscribe — Subscribe to a mailbox
  • imap_thread — Returns a tree of threaded message
  • imap_timeout — Set or fetch imap timeout
  • imap_uid — This function returns the UID for the given message sequence number
  • imap_undelete — Unmark the message which is marked deleted
  • imap_unsubscribe — Unsubscribe from a mailbox
  • imap_utf7_decode — Decodes a modified UTF-7 encoded string
  • imap_utf7_encode — Converts ISO-8859-1 string to modified UTF-7 text
  • imap_utf8_to_mutf7 — Encode a UTF-8 string to modified UTF-7
  • imap_utf8 — Converts MIME-encoded text to UTF-8


Convert an 8bit string to a quoted-printable string

  • « IMAP Funções
  • imap_alerts »
  • PHP Manual
  • IMAP Funções
  • Convert an 8bit string to a quoted-printable string

imap_8bit

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_8bit — Convert an 8bit string to a quoted-printable string

Descrição

imap_8bit ( string $string ) : string|false

Convert an 8bit string to a quoted-printable string (according to » RFC2045, section 6.7).

Parâmetros

string

The 8bit string to convert

Valor Retornado

Returns a quoted-printable string, ou false em caso de falha.

Veja Também

  • imap_qprint() - Convert a quoted-printable string to an 8 bit string


Returns all IMAP alert messages that have occurred

  • « imap_8bit
  • imap_append »
  • PHP Manual
  • IMAP Funções
  • Returns all IMAP alert messages that have occurred

imap_alerts

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_alerts — Returns all IMAP alert messages that have occurred

Descrição

imap_alerts ( ) : array|false

Returns all of the IMAP alert messages generated since the last imap_alerts() call, or the beginning of the page.

When imap_alerts() is called, the alert stack is subsequently cleared. The IMAP specification requires that these messages be passed to the user.

Valor Retornado

Returns an array of all of the IMAP alert messages generated or false if no alert messages are available.

Veja Também

  • imap_errors() - Returns all of the IMAP errors that have occurred


Append a string message to a specified mailbox

  • « imap_alerts
  • imap_base64 »
  • PHP Manual
  • IMAP Funções
  • Append a string message to a specified mailbox

imap_append

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_append — Append a string message to a specified mailbox

Descrição

imap_append ( resource $imap , string $folder , string $message , string|null $options = null , string|null $internal_date = null ) : bool

Appends a string message to the specified folder.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

folder

The mailbox name, see imap_open() for more information

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

message

The message to be append, as a string

When talking to the Cyrus IMAP server, you must use "\r\n" as your end-of-line terminator instead of "\n" or the operation will fail

options

If provided, the options will also be written to the folder

internal_date

If this parameter is set, it will set the INTERNALDATE on the appended message. The parameter should be a date string that conforms to the rfc2060 specifications for a date_time value.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | options and internal_date are now nullable.

Exemplos

Exemplo #1 imap_append() example

<?php
$stream = imap_open("{imap.example.org}INBOX.Drafts", "username", "password");

$check = imap_check($stream);
echo "Msg Count before append: ". $check->Nmsgs . "\n";

imap_append($stream, "{imap.example.org}INBOX.Drafts"
                   , "From: me@example.com\r\n"
                   . "To: you@example.com\r\n"
                   . "Subject: test\r\n"
                   . "\r\n"
                   . "this is a test message, please ignore\r\n"
                   );

$check = imap_check($stream);
echo "Msg Count after append : ". $check->Nmsgs . "\n";

imap_close($stream);
?>


Decode BASE64 encoded text

  • « imap_append
  • imap_binary »
  • PHP Manual
  • IMAP Funções
  • Decode BASE64 encoded text

imap_base64

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_base64 — Decode BASE64 encoded text

Descrição

imap_base64 ( string $string ) : string|false

Decodes the given BASE-64 encoded string.

Parâmetros

string

The encoded text

Valor Retornado

Returns the decoded message as a string, ou false em caso de falha.

Veja Também

  • imap_binary() - Convert an 8bit string to a base64 string
  • base64_encode() - Codifica dados com MIME base64
  • base64_decode() - Decodifica dados codificados com MIME base64
  • » RFC2045, Section 6.8


Convert an 8bit string to a base64 string

  • « imap_base64
  • imap_body »
  • PHP Manual
  • IMAP Funções
  • Convert an 8bit string to a base64 string

imap_binary

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_binary — Convert an 8bit string to a base64 string

Descrição

imap_binary ( string $string ) : string|false

Convert an 8bit string to a base64 string according to » RFC2045, Section 6.8.

Parâmetros

string

The 8bit string

Valor Retornado

Returns a base64 encoded string, ou false em caso de falha.

Veja Também

  • imap_base64() - Decode BASE64 encoded text


Read the message body

  • « imap_binary
  • imap_bodystruct »
  • PHP Manual
  • IMAP Funções
  • Read the message body

imap_body

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_body — Read the message body

Descrição

imap_body ( resource $imap , int $message_num , int $flags = 0 ) : string|false

imap_body() returns the body of the message, numbered message_num in the current mailbox.

imap_body() will only return a verbatim copy of the message body. To extract single parts of a multipart MIME-encoded message you have to use imap_fetchstructure() to analyze its structure and imap_fetchbody() to extract a copy of a single body component.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

message_num

The message number

flags

The optional flags are a bit mask with one or more of the following:

  • FT_UID - The message_num is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

Valor Retornado

Returns the body of the specified message, as a string, ou false em caso de falha.


Read the structure of a specified body section of a specific message

  • « imap_body
  • imap_check »
  • PHP Manual
  • IMAP Funções
  • Read the structure of a specified body section of a specific message

imap_bodystruct

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_bodystruct — Read the structure of a specified body section of a specific message

Descrição

imap_bodystruct ( resource $imap , int $message_num , string $section ) : stdClass|false

Read the structure of a specified body section of a specific message.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

message_num

The message number

section

The body section to read

Valor Retornado

Returns the information in an object, ou false em caso de falha. For a detailed description of the object structure and properties see imap_fetchstructure().

Veja Também

  • imap_fetchstructure() - Read the structure of a particular message


Check current mailbox

  • « imap_bodystruct
  • imap_clearflag_full »
  • PHP Manual
  • IMAP Funções
  • Check current mailbox

imap_check

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_check — Check current mailbox

Descrição

imap_check ( resource $imap ) : stdClass|false

Checks information about the current mailbox.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

Valor Retornado

Returns the information in an object with following properties:

  • Date - current system time formatted according to » RFC2822
  • Driver - protocol used to access this mailbox: POP3, IMAP, NNTP
  • Mailbox - the mailbox name
  • Nmsgs - number of messages in the mailbox
  • Recent - number of recent messages in the mailbox

Returns false on failure.

Exemplos

Exemplo #1 imap_check() example

<?php

$imap_obj = imap_check($imap_stream);
var_dump($imap_obj);

?>

O exemplo acima irá imprimir algo similar à:

object(stdClass)(5) {
  ["Date"]=>
  string(37) "Wed, 10 Dec 2003 17:56:54 +0100 (CET)"
  ["Driver"]=>
  string(4) "imap"
  ["Mailbox"]=>
  string(54)
  "{www.example.com:143/imap/user="foo@example.com"}INBOX"
  ["Nmsgs"]=>
  int(1)
  ["Recent"]=>
  int(0)
}


Clears flags on messages

  • « imap_check
  • imap_close »
  • PHP Manual
  • IMAP Funções
  • Clears flags on messages

imap_clearflag_full

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_clearflag_full — Clears flags on messages

Descrição

imap_clearflag_full ( resource $imap , string $sequence , string $flag , int $options = 0 ) : bool

This function causes a store to delete the specified flag to the flags set for the messages in the specified sequence.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

sequence

A sequence of message numbers. You can enumerate desired messages with the X,Y syntax, or retrieve all messages within an interval with the X:Y syntax

flag

The flags which you can unset are "\\Seen", "\\Answered", "\\Flagged", "\\Deleted", and "\\Draft" (as defined by » RFC2060)

options

options are a bit mask and may contain the single option:

  • ST_UID - The sequence argument contains UIDs instead of sequence numbers

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • imap_setflag_full() - Sets flags on messages


Close an IMAP stream

  • « imap_clearflag_full
  • imap_create »
  • PHP Manual
  • IMAP Funções
  • Close an IMAP stream

imap_close

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_close — Close an IMAP stream

Descrição

imap_close ( resource $imap , int $flags = 0 ) : bool

Closes the imap stream.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

flags

If set to CL_EXPUNGE, the function will silently expunge the mailbox before closing, removing all messages marked for deletion. You can achieve the same thing by using imap_expunge()

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • imap_open() - Open an IMAP stream to a mailbox


Sinônimo de imap_createmailbox

  • « imap_close
  • imap_createmailbox »
  • PHP Manual
  • IMAP Funções
  • Sinônimo de imap_createmailbox

imap_create

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_create — Sinônimo de imap_createmailbox()

Descrição

Esta função é um apelido para: imap_createmailbox().


Create a new mailbox

  • « imap_create
  • imap_delete »
  • PHP Manual
  • IMAP Funções
  • Create a new mailbox

imap_createmailbox

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_createmailbox — Create a new mailbox

Descrição

imap_createmailbox ( resource $imap , string $mailbox ) : bool

Creates a new mailbox specified by mailbox.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

mailbox

The mailbox name, see imap_open() for more information. Names containing international characters should be encoded by imap_utf7_encode()

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 imap_createmailbox() example

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
     or die("can't connect: " . imap_last_error());

$name1 = "phpnewbox";
$name2 = imap_utf7_encode("phpnewböx"); // phpnewb&w7Y-x

$newname = $name1;

echo "Newname will be '$name1'<br />\n";

// we will now create a new mailbox "phptestbox" in your inbox folder,
// check its status after creation and finally remove it to restore
// your inbox to its initial state

if (@imap_createmailbox($mbox, imap_utf7_encode("{imap.example.org}INBOX.$newname"))) {
    $status = @imap_status($mbox, "{imap.example.org}INBOX.$newname", SA_ALL);
    if ($status) {
        echo "your new mailbox '$name1' has the following status:<br />\n";
        echo "Messages:   " . $status->messages    . "<br />\n";
        echo "Recent:     " . $status->recent      . "<br />\n";
        echo "Unseen:     " . $status->unseen      . "<br />\n";
        echo "UIDnext:    " . $status->uidnext     . "<br />\n";
        echo "UIDvalidity:" . $status->uidvalidity . "<br />\n";

        if (imap_renamemailbox($mbox, "{imap.example.org}INBOX.$newname", "{imap.example.org}INBOX.$name2")) {
            echo "renamed new mailbox from '$name1' to '$name2'<br />\n";
            $newname = $name2;
        } else {
            echo "imap_renamemailbox on new mailbox failed: " . imap_last_error() . "<br />\n";
        }
    } else {
        echo "imap_status on new mailbox failed: " . imap_last_error() . "<br />\n";
    }

    if (@imap_deletemailbox($mbox, "{imap.example.org}INBOX.$newname")) {
        echo "new mailbox removed to restore initial state<br />\n";
    } else {
        echo "imap_deletemailbox on new mailbox failed: " . implode("<br />\n", imap_errors()) . "<br />\n";
    }

} else {
    echo "could not create new mailbox: " . implode("<br />\n", imap_errors()) . "<br />\n";
}

imap_close($mbox);
?>

Veja Também

  • imap_renamemailbox() - Rename an old mailbox to new mailbox
  • imap_deletemailbox() - Delete a mailbox


Mark a message for deletion from current mailbox

  • « imap_createmailbox
  • imap_deletemailbox »
  • PHP Manual
  • IMAP Funções
  • Mark a message for deletion from current mailbox

imap_delete

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_delete — Mark a message for deletion from current mailbox

Descrição

imap_delete ( resource $imap , string $message_num , int $flags = 0 ) : bool

Marks messages listed in message_num for deletion. Messages marked for deletion will stay in the mailbox until either imap_expunge() is called or imap_close() is called with the optional parameter CL_EXPUNGE.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

message_num

The message number

flags

You can set the FT_UID which tells the function to treat the message_num argument as a UID.

Valor Retornado

Returns true.

Exemplos

Exemplo #1 imap_delete() example

<?php

$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
    or die("Can't connect: " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);
echo "Messages before delete: " . $check->Nmsgs . "<br />\n";

imap_delete($mbox, 1);

$check = imap_mailboxmsginfo($mbox);
echo "Messages after  delete: " . $check->Nmsgs . "<br />\n";

imap_expunge($mbox);

$check = imap_mailboxmsginfo($mbox);
echo "Messages after expunge: " . $check->Nmsgs . "<br />\n";

imap_close($mbox);
?>

Notas

Nota:

IMAP mailboxes may not have their message flags saved between connections, so imap_expunge() should be called during the same connection in order to guarantee that messages marked for deletion will actually be purged.

Veja Também

  • imap_undelete() - Unmark the message which is marked deleted
  • imap_expunge() - Delete all messages marked for deletion
  • imap_close() - Close an IMAP stream


Delete a mailbox

  • « imap_delete
  • imap_errors »
  • PHP Manual
  • IMAP Funções
  • Delete a mailbox

imap_deletemailbox

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_deletemailbox — Delete a mailbox

Descrição

imap_deletemailbox ( resource $imap , string $mailbox ) : bool

Deletes the specified mailbox.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

mailbox

The mailbox name, see imap_open() for more information

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • imap_createmailbox() - Create a new mailbox
  • imap_renamemailbox() - Rename an old mailbox to new mailbox
  • imap_open() - Open an IMAP stream to a mailbox for the format of mbox


Returns all of the IMAP errors that have occurred

  • « imap_deletemailbox
  • imap_expunge »
  • PHP Manual
  • IMAP Funções
  • Returns all of the IMAP errors that have occurred

imap_errors

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_errors — Returns all of the IMAP errors that have occurred

Descrição

imap_errors ( ) : array|false

Gets all of the IMAP errors (if any) that have occurred during this page request or since the error stack was reset.

When imap_errors() is called, the error stack is subsequently cleared.

Valor Retornado

This function returns an array of all of the IMAP error messages generated since the last imap_errors() call, or the beginning of the page. Returns false if no error messages are available.

Veja Também

  • imap_last_error() - Gets the last IMAP error that occurred during this page request
  • imap_alerts() - Returns all IMAP alert messages that have occurred


Delete all messages marked for deletion

  • « imap_errors
  • imap_fetch_overview »
  • PHP Manual
  • IMAP Funções
  • Delete all messages marked for deletion

imap_expunge

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_expunge — Delete all messages marked for deletion

Descrição

imap_expunge ( resource $imap ) : bool

Deletes all the messages marked for deletion by imap_delete(), imap_mail_move(), or imap_setflag_full().

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

Valor Retornado

Returns true.


Read an overview of the information in the headers of the given message

  • « imap_expunge
  • imap_fetchbody »
  • PHP Manual
  • IMAP Funções
  • Read an overview of the information in the headers of the given message

imap_fetch_overview

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_fetch_overview — Read an overview of the information in the headers of the given message

Descrição

imap_fetch_overview ( resource $imap , string $sequence , int $flags = 0 ) : array|false

This function fetches mail headers for the given sequence and returns an overview of their contents.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

sequence

A message sequence description. You can enumerate desired messages with the X,Y syntax, or retrieve all messages within an interval with the X:Y syntax

flags

sequence will contain a sequence of message indices or UIDs, if this parameter is set to FT_UID.

Valor Retornado

Returns an array of objects describing one message header each. The object will only define a property if it exists. The possible properties are:

  • subject - the messages subject
  • from - who sent it
  • to - recipient
  • date - when was it sent
  • message_id - Message-ID
  • references - is a reference to this message id
  • in_reply_to - is a reply to this message id
  • size - size in bytes
  • uid - UID the message has in the mailbox
  • msgno - message sequence number in the mailbox
  • recent - this message is flagged as recent
  • flagged - this message is flagged
  • answered - this message is flagged as answered
  • deleted - this message is flagged for deletion
  • seen - this message is flagged as already read
  • draft - this message is flagged as being a draft
  • udate - the UNIX timestamp of the arrival date
The function returns false on failure.

Exemplos

Exemplo #1 imap_fetch_overview() example

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password")
     or die("can't connect: " . imap_last_error());

$MC = imap_check($mbox);

// Fetch an overview for all messages in INBOX
$result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);
foreach ($result as $overview) {
    echo "#{$overview->msgno} ({$overview->date}) - From: {$overview->from}
    {$overview->subject}\n";
}
imap_close($mbox);
?>

Veja Também

  • imap_fetchheader() - Returns header for a message


Fetch a particular section of the body of the message

  • « imap_fetch_overview
  • imap_fetchheader »
  • PHP Manual
  • IMAP Funções
  • Fetch a particular section of the body of the message

imap_fetchbody

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_fetchbody — Fetch a particular section of the body of the message

Descrição

imap_fetchbody ( resource $imap , int $message_num , string $section , int $flags = 0 ) : string|false

Fetch of a particular section of the body of the specified messages. Body parts are not decoded by this function.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

message_num

The message number

section

The part number. It is a string of integers delimited by period which index into a body part list as per the IMAP4 specification

flags

A bitmask with one or more of the following:

  • FT_UID - The message_num is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

Valor Retornado

Returns a particular section of the body of the specified messages as a text string, ou false em caso de falha.

Veja Também

  • imap_savebody() - Save a specific body section to a file
  • imap_fetchstructure() - Read the structure of a particular message


Returns header for a message

  • « imap_fetchbody
  • imap_fetchmime »
  • PHP Manual
  • IMAP Funções
  • Returns header for a message

imap_fetchheader

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_fetchheader — Returns header for a message

Descrição

imap_fetchheader ( resource $imap , int $message_num , int $flags = 0 ) : string|false

This function causes a fetch of the complete, unfiltered » RFC2822 format header of the specified message.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

message_num

The message number

flags

The possible flags are:

  • FT_UID - The msgno argument is a UID
  • FT_INTERNAL - The return string is in "internal" format, without any attempt to canonicalize to CRLF newlines
  • FT_PREFETCHTEXT - The RFC822.TEXT should be pre-fetched at the same time. This avoids an extra RTT on an IMAP connection if a full message text is desired (e.g. in a "save to local file" operation)

Valor Retornado

Returns the header of the specified message as a text string, ou false em caso de falha.

Veja Também

  • imap_fetch_overview() - Read an overview of the information in the headers of the given message


Fetch MIME headers for a particular section of the message

  • « imap_fetchheader
  • imap_fetchstructure »
  • PHP Manual
  • IMAP Funções
  • Fetch MIME headers for a particular section of the message

imap_fetchmime

(PHP 5 >= 5.3.6, PHP 7, PHP 8)

imap_fetchmime — Fetch MIME headers for a particular section of the message

Descrição

imap_fetchmime ( resource $imap , int $message_num , string $section , int $flags = 0 ) : string|false

Fetch the MIME headers of a particular section of the body of the specified messages.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

message_num

The message number

section

The part number. It is a string of integers delimited by period which index into a body part list as per the IMAP4 specification

flags

A bitmask with one or more of the following:

  • FT_UID - The message_num is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

Valor Retornado

Returns the MIME headers of a particular section of the body of the specified messages as a text string, ou false em caso de falha.

Veja Também

  • imap_fetchbody() - Fetch a particular section of the body of the message
  • imap_fetchstructure() - Read the structure of a particular message
  • imap_fetchheader() - Returns header for a message


Read the structure of a particular message

  • « imap_fetchmime
  • imap_fetchtext »
  • PHP Manual
  • IMAP Funções
  • Read the structure of a particular message

imap_fetchstructure

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_fetchstructure — Read the structure of a particular message

Descrição

imap_fetchstructure ( resource $imap , int $message_num , int $flags = 0 ) : stdClass|false

Fetches all the structured information for a given message.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

message_num

The message number

flags

This optional parameter only has a single option, FT_UID, which tells the function to treat the message_num argument as a UID.

Valor Retornado

Returns an object with properties listed in the table below, ou false em caso de falha.

Returned Object for imap_fetchstructure()
type | Primary body type
encoding | Body transfer encoding
ifsubtype | true if there is a subtype string
subtype | MIME subtype
ifdescription | true if there is a description string
description | Content description string
ifid | true if there is an identification string
id | Identification string
lines | Number of lines
bytes | Number of bytes
ifdisposition | true if there is a disposition string
disposition | Disposition string
ifdparameters | true if the dparameters array exists
dparameters | An array of objects where each object has an "attribute" and a "value" property corresponding to the parameters on the Content-disposition MIME header.
ifparameters | true if the parameters array exists
parameters | An array of objects where each object has an "attribute" and a "value" property.
parts | An array of objects identical in structure to the top-level object, each of which corresponds to a MIME body part.

Primary body type (value may vary with used library, use of constants is recommended)
Value | Type | Constant
0 | text | TYPETEXT
1 | multipart | TYPEMULTIPART
2 | message | TYPEMESSAGE
3 | application | TYPEAPPLICATION
4 | audio | TYPEAUDIO
5 | image | TYPEIMAGE
6 | video | TYPEVIDEO
7 | model | TYPEMODEL
8 | other | TYPEOTHER

Transfer encodings (value may vary with used library, use of constants is recommended)
Value | Type | Constant
0 | 7bit | ENC7BIT
1 | 8bit | ENC8BIT
2 | Binary | ENCBINARY
3 | Base64 | ENCBASE64
4 | Quoted-Printable | ENCQUOTEDPRINTABLE
5 | other | ENCOTHER

Veja Também

  • imap_fetchbody() - Fetch a particular section of the body of the message
  • imap_bodystruct() - Read the structure of a specified body section of a specific message


Sinônimo de imap_body

  • « imap_fetchstructure
  • imap_gc »
  • PHP Manual
  • IMAP Funções
  • Sinônimo de imap_body

imap_fetchtext

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_fetchtext — Sinônimo de imap_body()

Descrição

Esta função é um apelido para: imap_body().


Clears IMAP cache

  • « imap_fetchtext
  • imap_get_quota »
  • PHP Manual
  • IMAP Funções
  • Clears IMAP cache

imap_gc

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

imap_gc — Clears IMAP cache

Descrição

imap_gc ( resource $imap , int $flags ) : bool

Purges the cache of entries of a specific type.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

flags

Specifies the cache to purge. It may one or a combination of the following constants: IMAP_GC_ELT (message cache elements), IMAP_GC_ENV (envelope and bodies), IMAP_GC_TEXTS (texts).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 imap_gc() example

<?php

$mbox = imap_open("{imap.example.org:143}", "username", "password");

imap_gc($mbox, IMAP_GC_ELT);

?>


Retrieve the quota level settings, and usage statics per mailbox

  • « imap_gc
  • imap_get_quotaroot »
  • PHP Manual
  • IMAP Funções
  • Retrieve the quota level settings, and usage statics per mailbox

imap_get_quota

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

imap_get_quota — Retrieve the quota level settings, and usage statics per mailbox

Descrição

imap_get_quota ( resource $imap , string $quota_root ) : array|false

Retrieve the quota level settings, and usage statics per mailbox.

For a non-admin user version of this function, please see the imap_get_quotaroot() function of PHP.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

quota_root

quota_root should normally be in the form of user.name where name is the mailbox you wish to retrieve information about.

Valor Retornado

Returns an array with integer values limit and usage for the given mailbox. The value of limit represents the total amount of space allowed for this mailbox. The usage value represents the mailboxes current level of capacity. Will return false in the case of failure.

As of PHP 4.3, the function more properly reflects the functionality as dictated by the » RFC2087. The array return value has changed to support an unlimited number of returned resources (i.e. messages, or sub-folders) with each named resource receiving an individual array key. Each key value then contains an another array with the usage and limit values within it.

For backwards compatibility reasons, the original access methods are still available for use, although it is suggested to update.

Exemplos

Exemplo #1 imap_get_quota() example

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota_value = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_value)) {
    echo "Usage level is: " . $quota_value['usage'];
    echo "Limit level is: " . $quota_value['limit'];
}

imap_close($mbox);
?>

Exemplo #2 imap_get_quota() 4.3 or greater example

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota_values = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_values)) {
   $storage = $quota_values['STORAGE'];
   echo "STORAGE usage level is: " .  $storage['usage'];
   echo "STORAGE limit level is: " .  $storage['limit'];

   $message = $quota_values['MESSAGE'];
   echo "MESSAGE usage level is: " .  $message['usage'];
   echo "MESSAGE limit is: " .  $message['limit'];

   /* ...  */
}

imap_close($mbox);
?>

Notas

This function is currently only available to users of the c-client2000 or greater library.

The given imap must be opened as the mail administrator, otherwise this function will fail.

Veja Também

  • imap_open() - Open an IMAP stream to a mailbox
  • imap_set_quota() - Sets a quota for a given mailbox
  • imap_get_quotaroot() - Retrieve the quota settings per user


Retrieve the quota settings per user

  • « imap_get_quota
  • imap_getacl »
  • PHP Manual
  • IMAP Funções
  • Retrieve the quota settings per user

imap_get_quotaroot

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

imap_get_quotaroot — Retrieve the quota settings per user

Descrição

imap_get_quotaroot ( resource $imap , string $mailbox ) : array|false

Retrieve the quota settings per user. The limit value represents the total amount of space allowed for this user's total mailbox usage. The usage value represents the user's current total mailbox capacity.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

mailbox

mailbox should normally be in the form of which mailbox (i.e. INBOX).

Valor Retornado

Returns an array of integer values pertaining to the specified user mailbox. All values contain a key based upon the resource name, and a corresponding array with the usage and limit values within.

This function will return false in the case of call failure, and an array of information about the connection upon an un-parsable response from the server.

Exemplos

Exemplo #1 imap_get_quotaroot() example

<?php
$mbox = imap_open("{imap.example.org}", "kalowsky", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota = imap_get_quotaroot($mbox, "INBOX");
if (is_array($quota)) {
   $storage = $quota['STORAGE'];
   echo "STORAGE usage level is: " .  $storage['usage'];
   echo "STORAGE limit level is: " .  $storage['limit'];

   $message = $quota['MESSAGE'];
   echo "MESSAGE usage level is: " .  $message['usage'];
   echo "MESSAGE limit level is: " .  $message['limit'];

   /* ...  */

}

imap_close($mbox);
?>

Notas

This function is currently only available to users of the c-client2000 or greater library.

The imap should be opened as the user whose mailbox you wish to check.

Veja Também

  • imap_open() - Open an IMAP stream to a mailbox
  • imap_set_quota() - Sets a quota for a given mailbox
  • imap_get_quota() - Retrieve the quota level settings, and usage statics per mailbox


Gets the ACL for a given mailbox

  • « imap_get_quotaroot
  • imap_getmailboxes »
  • PHP Manual
  • IMAP Funções
  • Gets the ACL for a given mailbox

imap_getacl

(PHP 5, PHP 7, PHP 8)

imap_getacl — Gets the ACL for a given mailbox

Descrição

imap_getacl ( resource $imap , string $mailbox ) : array|false

Gets the ACL for a given mailbox.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

mailbox

The mailbox name, see imap_open() for more information

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

Valor Retornado

Returns an associative array of "folder" => "acl" pairs, ou false em caso de falha.

Exemplos

Exemplo #1 imap_getacl() example

<?php

print_r(imap_getacl($conn_id, 'user.joecool'));

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [asubfolder] => lrswipcda
    [anothersubfolder] => lrswipcda
)

Notas

This function is currently only available to users of the c-client2000 or greater library.

Veja Também

  • imap_setacl() - Sets the ACL for a given mailbox


Read the list of mailboxes, returning detailed information on each one

  • « imap_getacl
  • imap_getsubscribed »
  • PHP Manual
  • IMAP Funções
  • Read the list of mailboxes, returning detailed information on each one

imap_getmailboxes

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_getmailboxes — Read the list of mailboxes, returning detailed information on each one

Descrição

imap_getmailboxes ( resource $imap , string $reference , string $pattern ) : array|false

Gets information on the mailboxes.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

reference

reference should normally be just the server specification as described in imap_open()

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

pattern

Especifica aonde na hierarquia da caixa de mensagens deve começar a procura.

Existem dois caracteres especiais que você pode passar como parte para o pattern: '*' e '%'. '*' significa retornar todas as caixas de mensagens. Se você passar pattern como '*', você terá uma lista de toda a hierarquia da caixa de mensagens. '%' significa retornar o nível atual apenas. '%' como o parâmetro pattern ira retornar apenas as caixar de mensagem do nível superior; '~/mail/%' em UW_IMAPD irá retornar cada caixa de mensagem no diretório ~/mail, mais nenhuma em subpastas deste diretório.

Valor Retornado

Returns an array of objects containing mailbox information. Each object has the attributes name, specifying the full name of the mailbox; delimiter, which is the hierarchy delimiter for the part of the hierarchy this mailbox is in; and attributes. Attributes is a bitmask that can be tested against:

  • LATT_NOINFERIORS - This mailbox not contains, and may not contain any "children" (there are no mailboxes below this one). Calling imap_createmailbox() will not work on this mailbox.

  • LATT_NOSELECT - This is only a container, not a mailbox - you cannot open it.

  • LATT_MARKED - This mailbox is marked. This means that it may contain new messages since the last time it was checked. Not provided by all IMAP servers.

  • LATT_UNMARKED - This mailbox is not marked, does not contain new messages. If either MARKED or UNMARKED is provided, you can assume the IMAP server supports this feature for this mailbox.

  • LATT_REFERRAL - This container has a referral to a remote mailbox.

  • LATT_HASCHILDREN - This mailbox has selectable inferiors.

  • LATT_HASNOCHILDREN - This mailbox has no selectable inferiors.

The function returns false on failure.

Exemplos

Exemplo #1 imap_getmailboxes() example

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$list = imap_getmailboxes($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $key => $val) {
        echo "($key) ";
        echo imap_utf7_decode($val->name) . ",";
        echo "'" . $val->delimiter . "',";
        echo $val->attributes . "<br />\n";
    }
} else {
    echo "imap_getmailboxes failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Veja Também

  • imap_getsubscribed() - List all the subscribed mailboxes


List all the subscribed mailboxes

  • « imap_getmailboxes
  • imap_header »
  • PHP Manual
  • IMAP Funções
  • List all the subscribed mailboxes

imap_getsubscribed

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_getsubscribed — List all the subscribed mailboxes

Descrição

imap_getsubscribed ( resource $imap , string $reference , string $pattern ) : array|false

Gets information about the subscribed mailboxes.

Identical to imap_getmailboxes(), except that it only returns mailboxes that the user is subscribed to.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

reference

reference should normally be just the server specification as described in imap_open()

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

pattern

Especifica aonde na hierarquia da caixa de mensagens deve começar a procura.

Existem dois caracteres especiais que você pode passar como parte para o pattern: '*' e '%'. '*' significa retornar todas as caixas de mensagens. Se você passar pattern como '*', você terá uma lista de toda a hierarquia da caixa de mensagens. '%' significa retornar o nível atual apenas. '%' como o parâmetro pattern ira retornar apenas as caixar de mensagem do nível superior; '~/mail/%' em UW_IMAPD irá retornar cada caixa de mensagem no diretório ~/mail, mais nenhuma em subpastas deste diretório.

Valor Retornado

Returns an array of objects containing mailbox information. Each object has the attributes name, specifying the full name of the mailbox; delimiter, which is the hierarchy delimiter for the part of the hierarchy this mailbox is in; and attributes. Attributes is a bitmask that can be tested against:

  • LATT_NOINFERIORS - This mailbox has no "children" (there are no mailboxes below this one).
  • LATT_NOSELECT - This is only a container, not a mailbox - you cannot open it.
  • LATT_MARKED - This mailbox is marked. Only used by UW-IMAPD.
  • LATT_UNMARKED - This mailbox is not marked. Only used by UW-IMAPD.
  • LATT_REFERRAL - This container has a referral to a remote mailbox.
  • LATT_HASCHILDREN - This mailbox has selectable inferiors.
  • LATT_HASNOCHILDREN - This mailbox has no selectable inferiors.
The function returns false on failure.


Sinônimo de imap_headerinfo

  • « imap_getsubscribed
  • imap_headerinfo »
  • PHP Manual
  • IMAP Funções
  • Sinônimo de imap_headerinfo

imap_header

(PHP 4, PHP 5, PHP 7)

imap_header — Sinônimo de imap_headerinfo()

Aviso

This alias is REMOVED as of PHP 8.0.0.

Descrição

Esta função é um apelido para: imap_headerinfo().


Read the header of the message

  • « imap_header
  • imap_headers »
  • PHP Manual
  • IMAP Funções
  • Read the header of the message

imap_headerinfo

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_headerinfo — Read the header of the message

Descrição

imap_headerinfo ( resource $imap , int $message_num , int $from_length = 0 , int $subject_length = 0 ) : stdClass|false

Gets information about the given message number by reading its headers.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

message_num

The message number

from_length

Number of characters for the fetchfrom property. Must be greater than or equal to zero.

subject_length

Number of characters for the fetchsubject property Must be greater than or equal to zero.

defaulthost

Valor Retornado

Returns false on error or, if successful, the information in an object with following properties:

  • toaddress - full to: line, up to 1024 characters
  • to - an array of objects from the To: line, with the following properties: personal, adl, mailbox, and host
  • fromaddress - full from: line, up to 1024 characters
  • from - an array of objects from the From: line, with the following properties: personal, adl, mailbox, and host
  • ccaddress - full cc: line, up to 1024 characters
  • cc - an array of objects from the Cc: line, with the following properties: personal, adl, mailbox, and host
  • bccaddress - full bcc: line, up to 1024 characters
  • bcc - an array of objects from the Bcc: line, with the following properties: personal, adl, mailbox, and host
  • reply_toaddress - full Reply-To: line, up to 1024 characters
  • reply_to - an array of objects from the Reply-To: line, with the following properties: personal, adl, mailbox, and host
  • senderaddress - full sender: line, up to 1024 characters
  • sender - an array of objects from the Sender: line, with the following properties: personal, adl, mailbox, and host
  • return_pathaddress - full Return-Path: line, up to 1024 characters
  • return_path - an array of objects from the Return-Path: line, with the following properties: personal, adl, mailbox, and host
  • remail -
  • date - The message date as found in its headers
  • Date - Same as date
  • subject - The message subject
  • Subject - Same as subject
  • in_reply_to -
  • message_id -
  • newsgroups -
  • followup_to -
  • references -
  • Recent - R if recent and seen, N if recent and not seen, ' ' if not recent.
  • Unseen - U if not seen AND not recent, ' ' if seen OR not seen and recent
  • Flagged - F if flagged, ' ' if not flagged
  • Answered - A if answered, ' ' if unanswered
  • Deleted - D if deleted, ' ' if not deleted
  • Draft - X if draft, ' ' if not draft
  • Msgno - The message number
  • MailDate -
  • Size - The message size
  • udate - mail message date in Unix time
  • fetchfrom - from line formatted to fit from_length characters
  • fetchsubject - subject line formatted to fit subject_length characters

Changelog

Versão | Descrição
8.0.0 | The unused defaulthost parameter has been removed.

Veja Também

  • imap_fetch_overview() - Read an overview of the information in the headers of the given message


Returns headers for all messages in a mailbox

  • « imap_headerinfo
  • imap_last_error »
  • PHP Manual
  • IMAP Funções
  • Returns headers for all messages in a mailbox

imap_headers

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_headers — Returns headers for all messages in a mailbox

Descrição

imap_headers ( resource $imap ) : array|false

Returns headers for all messages in a mailbox.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

Valor Retornado

Returns an array of string formatted with header info. One element per mail message. Returns false on failure.


Gets the last IMAP error that occurred during this page request

  • « imap_headers
  • imap_list »
  • PHP Manual
  • IMAP Funções
  • Gets the last IMAP error that occurred during this page request

imap_last_error

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_last_error — Gets the last IMAP error that occurred during this page request

Descrição

imap_last_error ( ) : string|false

Gets the full text of the last IMAP error message that occurred on the current page. The error stack is untouched; calling imap_last_error() subsequently, with no intervening errors, will return the same error.

Valor Retornado

Returns the full text of the last IMAP error message that occurred on the current page. Returns false if no error messages are available.

Veja Também

  • imap_errors() - Returns all of the IMAP errors that have occurred


Read the list of mailboxes

  • « imap_last_error
  • imap_listmailbox »
  • PHP Manual
  • IMAP Funções
  • Read the list of mailboxes

imap_list

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_list — Read the list of mailboxes

Descrição

imap_list ( resource $imap , string $reference , string $pattern ) : array|false

Read the list of mailboxes.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

reference

reference should normally be just the server specification as described in imap_open().

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

pattern

Especifica aonde na hierarquia da caixa de mensagens deve começar a procura.

Existem dois caracteres especiais que você pode passar como parte para o pattern: '*' e '%'. '*' significa retornar todas as caixas de mensagens. Se você passar pattern como '*', você terá uma lista de toda a hierarquia da caixa de mensagens. '%' significa retornar o nível atual apenas. '%' como o parâmetro pattern ira retornar apenas as caixar de mensagem do nível superior; '~/mail/%' em UW_IMAPD irá retornar cada caixa de mensagem no diretório ~/mail, mais nenhuma em subpastas deste diretório.

Valor Retornado

Returns an array containing the names of the mailboxes or false in case of failure.

Exemplos

Exemplo #1 imap_list() example

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$list = imap_list($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $val) {
        echo imap_utf7_decode($val) . "\n";
    }
} else {
    echo "imap_list failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Veja Também

  • imap_getmailboxes() - Read the list of mailboxes, returning detailed information on each one
  • imap_lsub() - List all the subscribed mailboxes


Sinônimo de imap_list

  • « imap_list
  • imap_listscan »
  • PHP Manual
  • IMAP Funções
  • Sinônimo de imap_list

imap_listmailbox

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_listmailbox — Sinônimo de imap_list()

Descrição

Esta função é um apelido para: imap_list().


Returns the list of mailboxes that matches the given text

  • « imap_listmailbox
  • imap_listsubscribed »
  • PHP Manual
  • IMAP Funções
  • Returns the list of mailboxes that matches the given text

imap_listscan

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_listscan — Returns the list of mailboxes that matches the given text

Descrição

imap_listscan ( resource $imap , string $reference , string $pattern , string $content ) : array|false

Returns an array containing the names of the mailboxes that have content in the text of the mailbox.

This function is similar to imap_listmailbox(), but it will additionally check for the presence of the string content inside the mailbox data.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

reference

reference should normally be just the server specification as described in imap_open()

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

pattern

Especifica aonde na hierarquia da caixa de mensagens deve começar a procura.

Existem dois caracteres especiais que você pode passar como parte para o pattern: '*' e '%'. '*' significa retornar todas as caixas de mensagens. Se você passar pattern como '*', você terá uma lista de toda a hierarquia da caixa de mensagens. '%' significa retornar o nível atual apenas. '%' como o parâmetro pattern ira retornar apenas as caixar de mensagem do nível superior; '~/mail/%' em UW_IMAPD irá retornar cada caixa de mensagem no diretório ~/mail, mais nenhuma em subpastas deste diretório.

content

The searched string

Valor Retornado

Returns an array containing the names of the mailboxes that have content in the text of the mailbox, ou false em caso de falha.

Veja Também

  • imap_listmailbox() - Sinônimo de imap_list
  • imap_search() - This function returns an array of messages matching the given search criteria


Sinônimo de imap_lsub

  • « imap_listscan
  • imap_lsub »
  • PHP Manual
  • IMAP Funções
  • Sinônimo de imap_lsub

imap_listsubscribed

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_listsubscribed — Sinônimo de imap_lsub()

Descrição

Esta função é um apelido para: imap_lsub().


List all the subscribed mailboxes

  • « imap_listsubscribed
  • imap_mail_compose »
  • PHP Manual
  • IMAP Funções
  • List all the subscribed mailboxes

imap_lsub

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_lsub — List all the subscribed mailboxes

Descrição

imap_lsub ( resource $imap , string $reference , string $pattern ) : array|false

Gets an array of all the mailboxes that you have subscribed.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

reference

reference should normally be just the server specification as described in imap_open()

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

pattern

Especifica aonde na hierarquia da caixa de mensagens deve começar a procura.

Existem dois caracteres especiais que você pode passar como parte para o pattern: '*' e '%'. '*' significa retornar todas as caixas de mensagens. Se você passar pattern como '*', você terá uma lista de toda a hierarquia da caixa de mensagens. '%' significa retornar o nível atual apenas. '%' como o parâmetro pattern ira retornar apenas as caixar de mensagem do nível superior; '~/mail/%' em UW_IMAPD irá retornar cada caixa de mensagem no diretório ~/mail, mais nenhuma em subpastas deste diretório.

Valor Retornado

Returns an array of all the subscribed mailboxes, ou false em caso de falha.

Veja Também

  • imap_list() - Read the list of mailboxes
  • imap_getmailboxes() - Read the list of mailboxes, returning detailed information on each one


Create a MIME message based on given envelope and body sections

  • « imap_lsub
  • imap_mail_copy »
  • PHP Manual
  • IMAP Funções
  • Create a MIME message based on given envelope and body sections

imap_mail_compose

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mail_compose — Create a MIME message based on given envelope and body sections

Descrição

imap_mail_compose ( array $envelope , array $bodies ) : string|false

Create a MIME message based on the given envelope and bodies sections.

Parâmetros

envelope

An associative array of header fields. Valid keys are: "remail", "return_path", "date", "from", "reply_to", "in_reply_to", "subject", "to", "cc", "bcc" and "message_id", which set the respective message headers to the given string. To set additional headers, the key "custom_headers" is supported, which expects an array of those headers, e.g. ["User-Agent: My Mail Client"].

bodies

An indexed array of bodies. The first body is the main body of the message; only if it has a type of TYPEMULTIPART, further bodies are processed; these bodies constitute the bodies of the parts.

Body Array Structure
Key | Type | Description
type | int | The MIME type. One of TYPETEXT (default), TYPEMULTIPART, TYPEMESSAGE, TYPEAPPLICATION, TYPEAUDIO, TYPEIMAGE, TYPEMODEL or TYPEOTHER.
encoding | int | The Content-Transfer-Encoding. One of ENC7BIT (default), ENC8BIT, ENCBINARY, ENCBASE64, ENCQUOTEDPRINTABLE or ENCOTHER.
charset | string | The charset parameter of the MIME type.
type.parameters | array | An associative array of Content-Type parameter names and their values.
subtype | string | The MIME subtype, e.g. 'jpeg' for TYPEIMAGE.
id | string | The Content-ID.
description | string | The Content-Description.
disposition.type | string | The Content-Disposition, e.g. 'attachment'.
disposition | array | An associative array of Content-Disposition parameter names and values.
contents.data | string | The payload.
lines | int | The size of the payload in lines.
bytes | int | The size of the payload in bytes.
md5 | string | The MD5 checksum of the payload.

Valor Retornado

Returns the MIME message as string, ou false em caso de falha.

Exemplos

Exemplo #1 imap_mail_compose() example

<?php

$envelope["from"]= "joe@example.com";
$envelope["to"]  = "foo@example.com";
$envelope["cc"]  = "bar@example.com";

$part1["type"] = TYPEMULTIPART;
$part1["subtype"] = "mixed";

$filename = "/tmp/imap.c.gz";
$fp = fopen($filename, "r");
$contents = fread($fp, filesize($filename));
fclose($fp);

$part2["type"] = TYPEAPPLICATION;
$part2["encoding"] = ENCBINARY;
$part2["subtype"] = "octet-stream";
$part2["description"] = basename($filename);
$part2["contents.data"] = $contents;

$part3["type"] = TYPETEXT;
$part3["subtype"] = "plain";
$part3["description"] = "description3";
$part3["contents.data"] = "contents.data3\n\n\n\t";

$body[1] = $part1;
$body[2] = $part2;
$body[3] = $part3;

echo nl2br(imap_mail_compose($envelope, $body));

?>


Copy specified messages to a mailbox

  • « imap_mail_compose
  • imap_mail_move »
  • PHP Manual
  • IMAP Funções
  • Copy specified messages to a mailbox

imap_mail_copy

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mail_copy — Copy specified messages to a mailbox

Descrição

imap_mail_copy ( resource $imap , string $message_nums , string $mailbox , int $flags = 0 ) : bool

Copies mail messages specified by message_nums to specified mailbox.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

message_nums

message_nums is a range not just message numbers (as described in » RFC2060).

mailbox

The mailbox name, see imap_open() for more information

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

flags

flags is a bitmask of one or more of

  • CP_UID - the sequence numbers contain UIDS
  • CP_MOVE - Delete the messages from the current mailbox after copying

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • imap_mail_move() - Move specified messages to a mailbox


Move specified messages to a mailbox

  • « imap_mail_copy
  • imap_mail »
  • PHP Manual
  • IMAP Funções
  • Move specified messages to a mailbox

imap_mail_move

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mail_move — Move specified messages to a mailbox

Descrição

imap_mail_move ( resource $imap , string $message_nums , string $mailbox , int $flags = 0 ) : bool

Moves mail messages specified by message_nums to the specified mailbox.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

message_nums

message_nums is a range not just message numbers (as described in » RFC2060).

mailbox

The mailbox name, see imap_open() for more information

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

flags

flags is a bitmask and may contain the single option:

  • CP_UID - the sequence numbers contain UIDS

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

imap_mail_move() will flag the original mail with a delete flag, to successfully delete it a call to the imap_expunge() function must be made.

Veja Também

  • imap_mail_copy() - Copy specified messages to a mailbox


Send an email message

  • « imap_mail_move
  • imap_mailboxmsginfo »
  • PHP Manual
  • IMAP Funções
  • Send an email message

imap_mail

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mail — Send an email message

Descrição

imap_mail ( string $to , string $subject , string $message , string|null $additional_headers = null , string|null $cc = null , string|null $bcc = null , string|null $return_path = null ) : bool

This function allows sending of emails with correct handling of Cc and Bcc receivers.

The parameters to, cc and bcc are all strings and are all parsed as » RFC822 address lists.

Parâmetros

to

The receiver

subject

The mail subject

message

The mail body, see imap_mail_compose()

additional_headers

As string with additional headers to be set on the mail

cc

bcc

The receivers specified in bcc will get the mail, but are excluded from the headers.

return_path

Use this parameter to specify return path upon mail delivery failure. This is useful when using PHP as a mail client for multiple users.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | additional_headers, cc, bcc, and return_path are now nullable.

Veja Também

  • mail() - Envia email
  • imap_mail_compose() - Create a MIME message based on given envelope and body sections


Get information about the current mailbox

  • « imap_mail
  • imap_mime_header_decode »
  • PHP Manual
  • IMAP Funções
  • Get information about the current mailbox

imap_mailboxmsginfo

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mailboxmsginfo — Get information about the current mailbox

Descrição

imap_mailboxmsginfo ( resource $imap ) : stdClass

Checks the current mailbox status on the server. It is similar to imap_status(), but will additionally sum up the size of all messages in the mailbox, which will take some additional time to execute.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

Valor Retornado

Returns the information in an object with following properties:

Mailbox properties
Date | date of last change (current datetime)
Driver | driver
Mailbox | name of the mailbox
Nmsgs | number of messages
Recent | number of recent messages
Unread | number of unread messages
Deleted | number of deleted messages
Size | mailbox size

Returns false on failure.

Exemplos

Exemplo #1 imap_mailboxmsginfo() example

<?php

$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
      or die("can't connect: " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);

if ($check) {
    echo "Date: "     . $check->Date    . "<br />\n" ;
    echo "Driver: "   . $check->Driver  . "<br />\n" ;
    echo "Mailbox: "  . $check->Mailbox . "<br />\n" ;
    echo "Messages: " . $check->Nmsgs   . "<br />\n" ;
    echo "Recent: "   . $check->Recent  . "<br />\n" ;
    echo "Unread: "   . $check->Unread  . "<br />\n" ;
    echo "Deleted: "  . $check->Deleted . "<br />\n" ;
    echo "Size: "     . $check->Size    . "<br />\n" ;
} else {
    echo "imap_mailboxmsginfo() failed: " . imap_last_error() . "<br />\n";
}

imap_close($mbox);

?>


Decode MIME header elements

  • « imap_mailboxmsginfo
  • imap_msgno »
  • PHP Manual
  • IMAP Funções
  • Decode MIME header elements

imap_mime_header_decode

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mime_header_decode — Decode MIME header elements

Descrição

imap_mime_header_decode ( string $string ) : array|false

Decodes MIME message header extensions that are non ASCII text (see » RFC2047).

Parâmetros

string

The MIME text

Valor Retornado

The decoded elements are returned in an array of objects, where each object has two properties, charset and text.

If the element hasn't been encoded, and in other words is in plain US-ASCII, the charset property of that element is set to default.

The function returns false on failure.

Exemplos

Exemplo #1 imap_mime_header_decode() example

<?php
$text = "=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@example.com>";

$elements = imap_mime_header_decode($text);
for ($i=0; $i<count($elements); $i++) {
    echo "Charset: {$elements[$i]->charset}\n";
    echo "Text: {$elements[$i]->text}\n\n";
}
?>

O exemplo acima irá imprimir:

Charset: ISO-8859-1
Text: Keld Jørn Simonsen

Charset: default
Text:  <keld@example.com>

In the above example we would have two elements, whereas the first element had previously been encoded with ISO-8859-1, and the second element would be plain US-ASCII.

Veja Também

  • imap_utf8() - Converts MIME-encoded text to UTF-8


Gets the message sequence number for the given UID

  • « imap_mime_header_decode
  • imap_mutf7_to_utf8 »
  • PHP Manual
  • IMAP Funções
  • Gets the message sequence number for the given UID

imap_msgno

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_msgno — Gets the message sequence number for the given UID

Descrição

imap_msgno ( resource $imap , int $message_uid ) : int

Returns the message sequence number for the given message_uid.

This function is the inverse of imap_uid().

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

message_uid

The message UID

Valor Retornado

Returns the message sequence number for the given message_uid.

Veja Também

  • imap_uid() - This function returns the UID for the given message sequence number


Decode a modified UTF-7 string to UTF-8

  • « imap_msgno
  • imap_num_msg »
  • PHP Manual
  • IMAP Funções
  • Decode a modified UTF-7 string to UTF-8

imap_mutf7_to_utf8

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

imap_mutf7_to_utf8 — Decode a modified UTF-7 string to UTF-8

Descrição

imap_mutf7_to_utf8 ( string $string ) : string|false

Decode a modified UTF-7 (as specified in RFC 2060, section 5.1.3) string to UTF-8.

Nota:

This function is only available, if libcclient exports utf8_to_mutf7().

Parâmetros

string

A string encoded in modified UTF-7.

Valor Retornado

Returns string converted to UTF-8, ou false em caso de falha.

Veja Também

  • imap_utf8_to_mutf7() - Encode a UTF-8 string to modified UTF-7


Gets the number of messages in the current mailbox

  • « imap_mutf7_to_utf8
  • imap_num_recent »
  • PHP Manual
  • IMAP Funções
  • Gets the number of messages in the current mailbox

imap_num_msg

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_num_msg — Gets the number of messages in the current mailbox

Descrição

imap_num_msg ( resource $imap ) : int|false

Gets the number of messages in the current mailbox.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

Valor Retornado

Return the number of messages in the current mailbox, as an integer, or false on error.

Veja Também

  • imap_num_recent() - Gets the number of recent messages in current mailbox
  • imap_status() - Returns status information on a mailbox


Gets the number of recent messages in current mailbox

  • « imap_num_msg
  • imap_open »
  • PHP Manual
  • IMAP Funções
  • Gets the number of recent messages in current mailbox

imap_num_recent

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_num_recent — Gets the number of recent messages in current mailbox

Descrição

imap_num_recent ( resource $imap ) : int

Gets the number of recent messages in the current mailbox.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

Valor Retornado

Returns the number of recent messages in the current mailbox, as an integer.

Veja Também

  • imap_num_msg() - Gets the number of messages in the current mailbox
  • imap_status() - Returns status information on a mailbox


Open an IMAP stream to a mailbox

  • « imap_num_recent
  • imap_ping »
  • PHP Manual
  • IMAP Funções
  • Open an IMAP stream to a mailbox

imap_open

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_open — Open an IMAP stream to a mailbox

Descrição

imap_open ( string $mailbox , string $user , string $password , int $flags = 0 , int $retries = 0 , array $options = [] ) : resource|false

Opens an IMAP stream to a mailbox.

This function can also be used to open streams to POP3 and NNTP servers, but some functions and features are only available on IMAP servers.

Parâmetros

mailbox

A mailbox name consists of a server and a mailbox path on this server. The special name INBOX stands for the current users personal mailbox. Mailbox names that contain international characters besides those in the printable ASCII space have to be encoded with imap_utf7_encode().

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

The server part, which is enclosed in '{' and '}', consists of the servers name or ip address, an optional port (prefixed by ':'), and an optional protocol specification (prefixed by '/').

The server part is mandatory in all mailbox parameters.

All names which start with { are remote names, and are in the form "{" remote_system_name [":" port] [flags] "}" [mailbox_name] where:

  • remote_system_name - Internet domain name or bracketed IP address of server.
  • port - optional TCP port number, default is the default port for that service
  • flags - optional flags, see following table.
  • mailbox_name - remote mailbox name, default is INBOX

Optional flags for names
Flag | Description
/service=service | mailbox access service, default is "imap"
/user=user | remote user name for login on the server
/authuser=user | remote authentication user; if specified this is the user name whose password is used (e.g. administrator)
/anonymous | remote access as anonymous user
/debug | record protocol telemetry in application's debug log
/secure | do not transmit a plaintext password over the network
/imap, /imap2, /imap2bis, /imap4, /imap4rev1 | equivalent to /service=imap
/pop3 | equivalent to /service=pop3
/nntp | equivalent to /service=nntp
/norsh | do not use rsh or ssh to establish a preauthenticated IMAP session
/ssl | use the Secure Socket Layer to encrypt the session
/validate-cert | validate certificates from TLS/SSL server (this is the default behavior)
/novalidate-cert | do not validate certificates from TLS/SSL server, needed if server uses self-signed certificates
/tls | force use of start-TLS to encrypt the session, and reject connection to servers that do not support it
/notls | do not do start-TLS to encrypt the session, even with servers that support it
/readonly | request read-only mailbox open (IMAP only; ignored on NNTP, and an error with SMTP and POP3)

user

The user name

password

The password associated with the user

flags

The flags are a bit mask with one or more of the following:

  • OP_READONLY - Open mailbox read-only
  • OP_ANONYMOUS - Don't use or update a .newsrc for news (NNTP only)
  • OP_HALFOPEN - For IMAP and NNTP names, open a connection but don't open a mailbox.
  • CL_EXPUNGE - Expunge mailbox automatically upon mailbox close (see also imap_delete() and imap_expunge())
  • OP_DEBUG - Debug protocol negotiations
  • OP_SHORTCACHE - Short (elt-only) caching
  • OP_SILENT - Don't pass up events (internal use)
  • OP_PROTOTYPE - Return driver prototype
  • OP_SECURE - Don't do non-secure authentication

retries

Number of maximum connect attempts

options

Connection parameters, the following (string) keys maybe used to set one or more connection parameters:

  • DISABLE_AUTHENTICATOR - Disable authentication properties

Valor Retornado

Returns an IMAP stream on success or false on error.

Exemplos

Exemplo #1 Different use of imap_open()

<?php
// To connect to an IMAP server running on port 143 on the local machine,
// do the following:
$mbox = imap_open("{localhost:143}INBOX", "user_id", "password");

// To connect to a POP3 server on port 110 on the local server, use:
$mbox = imap_open ("{localhost:110/pop3}INBOX", "user_id", "password");

// To connect to an SSL IMAP or POP3 server, add /ssl after the protocol
// specification:
$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password");

// To connect to an SSL IMAP or POP3 server with a self-signed certificate,
// add /ssl/novalidate-cert after the protocol specification:
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "user_id", "password");

// To connect to an NNTP server on port 119 on the local server, use:
$nntp = imap_open ("{localhost:119/nntp}comp.test", "", "");
// To connect to a remote server replace "localhost" with the name or the
// IP address of the server you want to connect to.
?>

Exemplo #2 imap_open() example

<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password");

echo "<h1>Mailboxes</h1>\n";
$folders = imap_listmailbox($mbox, "{imap.example.org:143}", "*");

if ($folders == false) {
    echo "Call failed<br />\n";
} else {
    foreach ($folders as $val) {
        echo $val . "<br />\n";
    }
}

echo "<h1>Headers in INBOX</h1>\n";
$headers = imap_headers($mbox);

if ($headers == false) {
    echo "Call failed<br />\n";
} else {
    foreach ($headers as $val) {
        echo $val . "<br />\n";
    }
}

imap_close($mbox);
?>

Veja Também

  • imap_close() - Close an IMAP stream


Check if the IMAP stream is still active

  • « imap_open
  • imap_qprint »
  • PHP Manual
  • IMAP Funções
  • Check if the IMAP stream is still active

imap_ping

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_ping — Check if the IMAP stream is still active

Descrição

imap_ping ( resource $imap ) : bool

imap_ping() pings the stream to see if it's still active. It may discover new mail; this is the preferred method for a periodic "new mail check" as well as a "keep alive" for servers which have inactivity timeout.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

Valor Retornado

Returns true if the stream is still alive, false otherwise.

Exemplos

Exemplo #1 imap_ping() Example

<?php

$imap = imap_open("{imap.example.org}", "mailadmin", "password");

// after some sleeping
if (!imap_ping($imap)) {
    // do some stuff to reconnect
}

?>


Convert a quoted-printable string to an 8 bit string

  • « imap_ping
  • imap_rename »
  • PHP Manual
  • IMAP Funções
  • Convert a quoted-printable string to an 8 bit string

imap_qprint

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_qprint — Convert a quoted-printable string to an 8 bit string

Descrição

imap_qprint ( string $string ) : string|false

Convert a quoted-printable string to an 8 bit string according to » RFC2045, section 6.7.

Parâmetros

string

A quoted-printable string

Valor Retornado

Returns an 8 bits string, ou false em caso de falha.

Veja Também

  • imap_8bit() - Convert an 8bit string to a quoted-printable string


Sinônimo de imap_renamemailbox

  • « imap_qprint
  • imap_renamemailbox »
  • PHP Manual
  • IMAP Funções
  • Sinônimo de imap_renamemailbox

imap_rename

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_rename — Sinônimo de imap_renamemailbox()

Descrição

Esta função é um apelido para: imap_renamemailbox().


Rename an old mailbox to new mailbox

  • « imap_rename
  • imap_reopen »
  • PHP Manual
  • IMAP Funções
  • Rename an old mailbox to new mailbox

imap_renamemailbox

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_renamemailbox — Rename an old mailbox to new mailbox

Descrição

imap_renamemailbox ( resource $imap , string $from , string $to ) : bool

This function renames on old mailbox to new mailbox (see imap_open() for the format of mbox names).

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

from

The old mailbox name, see imap_open() for more information

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

to

The new mailbox name, see imap_open() for more information

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • imap_createmailbox() - Create a new mailbox
  • imap_deletemailbox() - Delete a mailbox


Reopen IMAP stream to new mailbox

  • « imap_renamemailbox
  • imap_rfc822_parse_adrlist »
  • PHP Manual
  • IMAP Funções
  • Reopen IMAP stream to new mailbox

imap_reopen

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_reopen — Reopen IMAP stream to new mailbox

Descrição

imap_reopen ( resource $imap , string $mailbox , int $flags = 0 , int $retries = 0 ) : bool

Reopens the specified stream to a new mailbox on an IMAP or NNTP server.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

mailbox

The mailbox name, see imap_open() for more information

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

flags

The flags are a bit mask with one or more of the following:

  • OP_READONLY - Open mailbox read-only
  • OP_ANONYMOUS - Don't use or update a .newsrc for news (NNTP only)
  • OP_HALFOPEN - For IMAP and NNTP names, open a connection but don't open a mailbox.
  • OP_EXPUNGE - Silently expunge recycle stream
  • CL_EXPUNGE - Expunge mailbox automatically upon mailbox close (see also imap_delete() and imap_expunge())

retries

Number of maximum connect attempts

Valor Retornado

Returns true if the stream is reopened, false otherwise.

Exemplos

Exemplo #1 imap_reopen() example

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password") or die(implode(", ", imap_errors()));
// ...
imap_reopen($mbox, "{imap.example.org:143}INBOX.Sent") or die(implode(", ", imap_errors()));
// ..
?>


Parses an address string

  • « imap_reopen
  • imap_rfc822_parse_headers »
  • PHP Manual
  • IMAP Funções
  • Parses an address string

imap_rfc822_parse_adrlist

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_rfc822_parse_adrlist — Parses an address string

Descrição

imap_rfc822_parse_adrlist ( string $string , string $default_hostname ) : array

Parses the address string as defined in » RFC2822 and for each address.

Parâmetros

string

A string containing addresses

default_hostname

The default host name

Valor Retornado

Returns an array of objects. The objects properties are:

  • mailbox - the mailbox name (username)
  • host - the host name
  • personal - the personal name
  • adl - at domain source route

Exemplos

Exemplo #1 imap_rfc822_parse_adrlist() example

<?php

$address_string = "Joe Doe <doe@example.com>, postmaster@example.com, root";
$address_array  = imap_rfc822_parse_adrlist($address_string, "example.com");
if (!is_array($address_array) || count($address_array) < 1) {
    die("something is wrong\n");
}

foreach ($address_array as $id => $val) {
    echo "# $id\n";
    echo "  mailbox : " . $val->mailbox . "\n";
    echo "  host    : " . $val->host . "\n";
    echo "  personal: " . $val->personal . "\n";
    echo "  adl     : " . $val->adl . "\n";
}
?>

O exemplo acima irá imprimir:

# 0
  mailbox : doe
  host    : example.com
  personal: Joe Doe
  adl     :
# 1
  mailbox : postmaster
  host    : example.com
  personal:
  adl     :
# 2
  mailbox : root
  host    : example.com
  personal:
  adl     :

Veja Também

  • imap_rfc822_parse_headers() - Parse mail headers from a string


Parse mail headers from a string

  • « imap_rfc822_parse_adrlist
  • imap_rfc822_write_address »
  • PHP Manual
  • IMAP Funções
  • Parse mail headers from a string

imap_rfc822_parse_headers

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_rfc822_parse_headers — Parse mail headers from a string

Descrição

imap_rfc822_parse_headers ( string $headers , string $default_hostname = "UNKNOWN" ) : stdClass

Gets an object of various header elements, similar to imap_header().

Parâmetros

headers

The parsed headers data

default_hostname

The default host name

Valor Retornado

Returns an object similar to the one returned by imap_header(), except for the flags and other properties that come from the IMAP server.

Veja Também

  • imap_rfc822_parse_adrlist() - Parses an address string


Returns a properly formatted email address given the mailbox, host, and personal info

  • « imap_rfc822_parse_headers
  • imap_savebody »
  • PHP Manual
  • IMAP Funções
  • Returns a properly formatted email address given the mailbox, host, and personal info

imap_rfc822_write_address

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_rfc822_write_address — Returns a properly formatted email address given the mailbox, host, and personal info

Descrição

imap_rfc822_write_address ( string $mailbox , string $hostname , string $personal ) : string|false

Returns a properly formatted email address as defined in » RFC2822 given the needed information.

Parâmetros

mailbox

The mailbox name, see imap_open() for more information

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

hostname

The email host part

personal

The name of the account owner

Valor Retornado

Returns a string properly formatted email address as defined in » RFC2822, ou false em caso de falha.

Exemplos

Exemplo #1 imap_rfc822_write_address() example

<?php
echo imap_rfc822_write_address("hartmut", "example.com", "Hartmut Holzgraefe");
?>

O exemplo acima irá imprimir:

Hartmut Holzgraefe <hartmut@example.com>


Save a specific body section to a file

  • « imap_rfc822_write_address
  • imap_scan »
  • PHP Manual
  • IMAP Funções
  • Save a specific body section to a file

imap_savebody

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

imap_savebody — Save a specific body section to a file

Descrição

imap_savebody ( resource $imap , resource|string|int $file , int $message_num , string $section = "" , int $flags = 0 ) : bool

Saves a part or the whole body of the specified message.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

file

The path to the saved file as a string, or a valid file descriptor returned by fopen().

message_num

The message number

section

The part number. It is a string of integers delimited by period which index into a body part list as per the IMAP4 specification

flags

A bitmask with one or more of the following:

  • FT_UID - The message_num is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • imap_fetchbody() - Fetch a particular section of the body of the message


Sinônimo de imap_listscan

  • « imap_savebody
  • imap_scanmailbox »
  • PHP Manual
  • IMAP Funções
  • Sinônimo de imap_listscan

imap_scan

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_scan — Sinônimo de imap_listscan()

Descrição

Esta função é um apelido para: imap_listscan().


Sinônimo de imap_listscan

  • « imap_scan
  • imap_search »
  • PHP Manual
  • IMAP Funções
  • Sinônimo de imap_listscan

imap_scanmailbox

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_scanmailbox — Sinônimo de imap_listscan()

Descrição

Esta função é um apelido para: imap_listscan().


This function returns an array of messages matching the given search criteria

  • « imap_scanmailbox
  • imap_set_quota »
  • PHP Manual
  • IMAP Funções
  • This function returns an array of messages matching the given search criteria

imap_search

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_search — This function returns an array of messages matching the given search criteria

Descrição

imap_search ( resource $imap , string $criteria , int $flags = SE_FREE , string $charset = "" ) : array|false

This function performs a search on the mailbox currently opened in the given IMAP stream.

For example, to match all unanswered messages sent by Mom, you'd use: "UNANSWERED FROM mom". Searches appear to be case insensitive. This list of criteria is from a reading of the UW c-client source code and may be incomplete or inaccurate (see also » RFC1176, section "tag SEARCH search_criteria").

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

criteria

A string, delimited by spaces, in which the following keywords are allowed. Any multi-word arguments (e.g. FROM "joey smith") must be quoted. Results will match all criteria entries.

  • ALL - return all messages matching the rest of the criteria
  • ANSWERED - match messages with the \\ANSWERED flag set
  • BCC "string" - match messages with "string" in the Bcc: field
  • BEFORE "date" - match messages with Date: before "date"
  • BODY "string" - match messages with "string" in the body of the message
  • CC "string" - match messages with "string" in the Cc: field
  • DELETED - match deleted messages
  • FLAGGED - match messages with the \\FLAGGED (sometimes referred to as Important or Urgent) flag set
  • FROM "string" - match messages with "string" in the From: field
  • KEYWORD "string" - match messages with "string" as a keyword
  • NEW - match new messages
  • OLD - match old messages
  • ON "date" - match messages with Date: matching "date"
  • RECENT - match messages with the \\RECENT flag set
  • SEEN - match messages that have been read (the \\SEEN flag is set)
  • SINCE "date" - match messages with Date: after "date"
  • SUBJECT "string" - match messages with "string" in the Subject:
  • TEXT "string" - match messages with text "string"
  • TO "string" - match messages with "string" in the To:
  • UNANSWERED - match messages that have not been answered
  • UNDELETED - match messages that are not deleted
  • UNFLAGGED - match messages that are not flagged
  • UNKEYWORD "string" - match messages that do not have the keyword "string"
  • UNSEEN - match messages which have not been read yet

flags

Valid values for flags are SE_UID, which causes the returned array to contain UIDs instead of messages sequence numbers.

charset

MIME character set to use when searching strings.

Valor Retornado

Returns an array of message numbers or UIDs.

Return false if it does not understand the search criteria or no messages have been found.

Exemplos

Exemplo #1 imap_search() example

<?php
$conn   = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'foo@example.com', 'pass123', OP_READONLY);

$some   = imap_search($conn, 'SUBJECT "HOWTO be Awesome" SINCE "8 August 2008"', SE_UID);
$msgnos = imap_search($conn, 'ALL');
$uids   = imap_search($conn, 'ALL', SE_UID);

print_r($some);
print_r($msgnos);
print_r($uids);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => 4
    [1] => 6
    [2] => 11
)
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Array
(
    [0] => 1
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 11
    [5] => 12
)

Veja Também

  • imap_listscan() - Returns the list of mailboxes that matches the given text


Sets a quota for a given mailbox

  • « imap_search
  • imap_setacl »
  • PHP Manual
  • IMAP Funções
  • Sets a quota for a given mailbox

imap_set_quota

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

imap_set_quota — Sets a quota for a given mailbox

Descrição

imap_set_quota ( resource $imap , string $quota_root , int $mailbox_size ) : bool

Sets an upper limit quota on a per mailbox basis.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

quota_root

The mailbox to have a quota set. This should follow the IMAP standard format for a mailbox: user.name.

mailbox_size

The maximum size (in KB) for the quota_root

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 imap_set_quota() example

<?php
$mbox = imap_open("{imap.example.org:143}", "mailadmin", "password");

if (!imap_set_quota($mbox, "user.kalowsky", 3000)) {
    echo "Error in setting quota\n";
    return;
}

imap_close($mbox);
?>

Notas

This function is currently only available to users of the c-client2000 or greater library.

The given imap must be opened as the mail administrator, other wise this function will fail.

Veja Também

  • imap_open() - Open an IMAP stream to a mailbox
  • imap_get_quota() - Retrieve the quota level settings, and usage statics per mailbox


Sets the ACL for a given mailbox

  • « imap_set_quota
  • imap_setflag_full »
  • PHP Manual
  • IMAP Funções
  • Sets the ACL for a given mailbox

imap_setacl

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imap_setacl — Sets the ACL for a given mailbox

Descrição

imap_setacl ( resource $imap , string $mailbox , string $user_id , string $rights ) : bool

Sets the ACL for a giving mailbox.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

mailbox

The mailbox name, see imap_open() for more information

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

user_id

The user to give the rights to.

rights

The rights to give to the user. Passing an empty string will delete acl.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

This function is currently only available to users of the c-client2000 or greater library.

Veja Também

  • imap_getacl() - Gets the ACL for a given mailbox


Sets flags on messages

  • « imap_setacl
  • imap_sort »
  • PHP Manual
  • IMAP Funções
  • Sets flags on messages

imap_setflag_full

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_setflag_full — Sets flags on messages

Descrição

imap_setflag_full ( resource $imap , string $sequence , string $flag , int $options = 0 ) : bool

Causes a store to add the specified flag to the flags set for the messages in the specified sequence.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

sequence

A sequence of message numbers. You can enumerate desired messages with the X,Y syntax, or retrieve all messages within an interval with the X:Y syntax

flag

The flags which you can set are \Seen, \Answered, \Flagged, \Deleted, and \Draft as defined by » RFC2060.

options

A bit mask that may contain the single option:

  • ST_UID - The sequence argument contains UIDs instead of sequence numbers

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 imap_setflag_full() example

<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password")
     or die("can't connect: " . imap_last_error());

$status = imap_setflag_full($mbox, "2,5", "\\Seen \\Flagged");

echo gettype($status) . "\n";
echo $status . "\n";

imap_close($mbox);
?>

Veja Também

  • imap_clearflag_full() - Clears flags on messages


Gets and sort messages

  • « imap_setflag_full
  • imap_status »
  • PHP Manual
  • IMAP Funções
  • Gets and sort messages

imap_sort

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_sort — Gets and sort messages

Descrição

imap_sort ( resource $imap , int $criteria , bool $reverse , int $flags = 0 , string|null $search_criteria = null , string|null $charset = null ) : array|false

Gets and sorts message numbers by the given parameters.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

criteria

Criteria can be one (and only one) of the following:

  • SORTDATE - message Date
  • SORTARRIVAL - arrival date
  • SORTFROM - mailbox in first From address
  • SORTSUBJECT - message subject
  • SORTTO - mailbox in first To address
  • SORTCC - mailbox in first cc address
  • SORTSIZE - size of message in octets

reverse

Whether to sort in reverse order.

flags

The flags are a bitmask of one or more of the following:

  • SE_UID - Return UIDs instead of sequence numbers
  • SE_NOPREFETCH - Don't prefetch searched messages

search_criteria

IMAP2-format search criteria string. For details see imap_search().

charset

MIME character set to use when sorting strings.

Valor Retornado

Returns an array of message numbers sorted by the given parameters, ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | reverse is now bool instead of int.
8.0.0 | search_criteria and charset are now nullable.


Returns status information on a mailbox

  • « imap_sort
  • imap_subscribe »
  • PHP Manual
  • IMAP Funções
  • Returns status information on a mailbox

imap_status

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_status — Returns status information on a mailbox

Descrição

imap_status ( resource $imap , string $mailbox , int $flags ) : stdClass|false

Gets status information about the given mailbox.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

mailbox

The mailbox name, see imap_open() for more information

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

flags

Valid flags are:

  • SA_MESSAGES - set $status->messages to the number of messages in the mailbox
  • SA_RECENT - set $status->recent to the number of recent messages in the mailbox
  • SA_UNSEEN - set $status->unseen to the number of unseen (new) messages in the mailbox
  • SA_UIDNEXT - set $status->uidnext to the next uid to be used in the mailbox
  • SA_UIDVALIDITY - set $status->uidvalidity to a constant that changes when uids for the mailbox may no longer be valid
  • SA_ALL - set all of the above

Valor Retornado

This function returns an object containing status information, ou false em caso de falha. The object has the following properties: messages, recent, unseen, uidnext, and uidvalidity.

flags is also set, which contains a bitmask which can be checked against any of the above constants.

Exemplos

Exemplo #1 imap_status() example

<?php
$mbox = imap_open("{imap.example.com}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$status = imap_status($mbox, "{imap.example.org}INBOX", SA_ALL);
if ($status) {
  echo "Messages:   " . $status->messages    . "<br />\n";
  echo "Recent:     " . $status->recent      . "<br />\n";
  echo "Unseen:     " . $status->unseen      . "<br />\n";
  echo "UIDnext:    " . $status->uidnext     . "<br />\n";
  echo "UIDvalidity:" . $status->uidvalidity . "<br />\n";
} else {
  echo "imap_status failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>


Subscribe to a mailbox

  • « imap_status
  • imap_thread »
  • PHP Manual
  • IMAP Funções
  • Subscribe to a mailbox

imap_subscribe

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_subscribe — Subscribe to a mailbox

Descrição

imap_subscribe ( resource $imap , string $mailbox ) : bool

Subscribe to a new mailbox.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

mailbox

The mailbox name, see imap_open() for more information

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • imap_unsubscribe() - Unsubscribe from a mailbox


Returns a tree of threaded message

  • « imap_subscribe
  • imap_timeout »
  • PHP Manual
  • IMAP Funções
  • Returns a tree of threaded message

imap_thread

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imap_thread — Returns a tree of threaded message

Descrição

imap_thread ( resource $imap , int $flags = SE_FREE ) : array|false

Gets a tree of a threaded message.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

flags

Valor Retornado

imap_thread() returns an associative array containing a tree of messages threaded by REFERENCES, or false on error.

Every message in the current mailbox will be represented by three entries in the resulting array:

  • $thread["XX.num"] - current message number

  • $thread["XX.next"]

  • $thread["XX.branch"]

Exemplos

Exemplo #1 imap_thread() Example

<?php

// Here we're outputting the threads of a newsgroup, in HTML

$nntp = imap_open('{news.example.com:119/nntp}some.newsgroup', '', '');
$threads = imap_thread($nntp);

foreach ($threads as $key => $val) {
  $tree = explode('.', $key);
  if ($tree[1] == 'num') {
    $header = imap_headerinfo($nntp, $val);
    echo "<ul>\n\t<li>" . $header->fromaddress . "\n";
  } elseif ($tree[1] == 'branch') {
    echo "\t</li>\n</ul>\n";
  }
}

imap_close($nntp);

?>


Set or fetch imap timeout

  • « imap_thread
  • imap_uid »
  • PHP Manual
  • IMAP Funções
  • Set or fetch imap timeout

imap_timeout

(PHP 4 >= 4.3.3, PHP 5, PHP 7, PHP 8)

imap_timeout — Set or fetch imap timeout

Descrição

imap_timeout ( int $timeout_type , int $timeout = -1 ) : int|bool

Sets or fetches the imap timeout.

Parâmetros

timeout_type

One of the following: IMAP_OPENTIMEOUT, IMAP_READTIMEOUT, IMAP_WRITETIMEOUT, or IMAP_CLOSETIMEOUT.

timeout

The timeout, in seconds.

Valor Retornado

If the timeout parameter is set, this function returns true on success and false on failure.

If timeout is not provided or evaluates to -1, the current timeout value of timeout_type is returned as an integer.

Exemplos

Exemplo #1 imap_timeout() example

<?php

echo "The current read timeout is " . imap_timeout(IMAP_READTIMEOUT) . "\n";

?>


This function returns the UID for the given message sequence number

  • « imap_timeout
  • imap_undelete »
  • PHP Manual
  • IMAP Funções
  • This function returns the UID for the given message sequence number

imap_uid

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_uid — This function returns the UID for the given message sequence number

Descrição

imap_uid ( resource $imap , int $message_num ) : int|false

This function returns the UID for the given message sequence number. An UID is a unique identifier that will not change over time while a message sequence number may change whenever the content of the mailbox changes.

This function is the inverse of imap_msgno().

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

message_num

The message number.

Valor Retornado

The UID of the given message.

Notas

Nota:

This function is not supported by POP3 mailboxes.

Veja Também

  • imap_msgno() - Gets the message sequence number for the given UID


Unmark the message which is marked deleted

  • « imap_uid
  • imap_unsubscribe »
  • PHP Manual
  • IMAP Funções
  • Unmark the message which is marked deleted

imap_undelete

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_undelete — Unmark the message which is marked deleted

Descrição

imap_undelete ( resource $imap , string $message_num , int $flags = 0 ) : bool

Removes the deletion flag for a specified message, which is set by imap_delete() or imap_mail_move().

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

message_num

The message number

flags

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • imap_delete() - Mark a message for deletion from current mailbox
  • imap_mail_move() - Move specified messages to a mailbox


Unsubscribe from a mailbox

  • « imap_undelete
  • imap_utf7_decode »
  • PHP Manual
  • IMAP Funções
  • Unsubscribe from a mailbox

imap_unsubscribe

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_unsubscribe — Unsubscribe from a mailbox

Descrição

imap_unsubscribe ( resource $imap , string $mailbox ) : bool

Unsubscribe from the specified mailbox.

Parâmetros

imap_stream

Um stream IMAP retornado por imap_open().

mailbox

The mailbox name, see imap_open() for more information

Aviso

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • imap_subscribe() - Subscribe to a mailbox


Decodes a modified UTF-7 encoded string

  • « imap_unsubscribe
  • imap_utf7_encode »
  • PHP Manual
  • IMAP Funções
  • Decodes a modified UTF-7 encoded string

imap_utf7_decode

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_utf7_decode — Decodes a modified UTF-7 encoded string

Descrição

imap_utf7_decode ( string $string ) : string|false

Decodes modified UTF-7 string into ISO-8859-1 string.

This function is needed to decode mailbox names that contain certain characters which are not in range of printable ASCII characters.

Parâmetros

string

A modified UTF-7 encoding string, as defined in » RFC 2060, section 5.1.3.

Valor Retornado

Returns a string that is encoded in ISO-8859-1 and consists of the same sequence of characters in string, or false if string contains invalid modified UTF-7 sequence or string contains a character that is not part of ISO-8859-1 character set.

Veja Também

  • imap_utf7_encode() - Converts ISO-8859-1 string to modified UTF-7 text


Converts ISO-8859-1 string to modified UTF-7 text

  • « imap_utf7_decode
  • imap_utf8_to_mutf7 »
  • PHP Manual
  • IMAP Funções
  • Converts ISO-8859-1 string to modified UTF-7 text

imap_utf7_encode

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_utf7_encode — Converts ISO-8859-1 string to modified UTF-7 text

Descrição

imap_utf7_encode ( string $string ) : string

Converts string to modified UTF-7 text.

This is needed to encode mailbox names that contain certain characters which are not in range of printable ASCII characters.

Parâmetros

string

An ISO-8859-1 string.

Valor Retornado

Returns string encoded with the modified UTF-7 encoding as defined in » RFC 2060, section 5.1.3.

Veja Também

  • imap_utf7_decode() - Decodes a modified UTF-7 encoded string


Encode a UTF-8 string to modified UTF-7

  • « imap_utf7_encode
  • imap_utf8 »
  • PHP Manual
  • IMAP Funções
  • Encode a UTF-8 string to modified UTF-7

imap_utf8_to_mutf7

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

imap_utf8_to_mutf7 — Encode a UTF-8 string to modified UTF-7

Descrição

imap_utf8_to_mutf7 ( string $string ) : string|false

Encode a UTF-8 string to modified UTF-7 (as specified in RFC 2060, section 5.1.3).

Nota:

This function is only available, if libcclient exports utf8_to_mutf7().

Parâmetros

string

A UTF-8 encoded string.

Valor Retornado

Returns string converted to modified UTF-7, ou false em caso de falha.

Veja Também

  • imap_mutf7_to_utf8() - Decode a modified UTF-7 string to UTF-8


Converts MIME-encoded text to UTF-8

  • « imap_utf8_to_mutf7
  • Mail »
  • PHP Manual
  • IMAP Funções
  • Converts MIME-encoded text to UTF-8

imap_utf8

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_utf8 — Converts MIME-encoded text to UTF-8

Descrição

imap_utf8 ( string $mime_encoded_text ) : string

Converts the given mime_encoded_text to UTF-8, if the declared charset is known to libc-client. Otherwise the given text is decoded, but not converted to UTF-8.

Parâmetros

mime_encoded_text

A MIME encoded string. MIME encoding method and the UTF-8 specification are described in » RFC2047 and » RFC2044 respectively.

Valor Retornado

Returns the decoded string, if possible converted to UTF-8.

Exemplos

Exemplo #1 Basic imap_utf8() Usage

<?php
echo imap_utf8("Johannes =?ISO-8859-1?Q?Schl=FCter?=");
?>

O exemplo acima irá imprimir algo similar à:

Johannes Schlu¨ter

Veja Também

  • imap_mime_header_decode() - Decode MIME header elements


Mail

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções da Mail
    • ezmlm_hash — Calcula o valor do hash necessário para EZMLM
    • mail — Envia email


  • « Mail
  • Instalação/Configuração »
  • PHP Manual
  • Mail
  • Introdução

Introdução

A função mail() te permite enviar email.


Dependências

Para as funções de E-mail estarem disponíveis, o PHP deve ter acesso ao binário sendmail de seu sistema durante a compilação. Se você utiliza um outro programa de email, tal como qmail ou postfix, certifique-se de usar os "wrappers" (envelopes) de sendmail apropriados que vêm com eles. O PHP vai procurar primeiro pelo sendmail em seu PATH, e então nos seguintes: /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. É altamente recomendado ter o sendmail disponível de seu PATH. Também, o usuário que compilou o PHP deve ter permissão para acessar o binário de sendmail.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração da função Mail
Nome | Padrão | Modificável | Changelog
mail.add_x_header | "0" | PHP_INI_PERDIR | Disponível desde o PHP 5.3.0.
mail.log | NULL | PHP_INI_PERDIR | Disponível desde o PHP 5.3.0. (PHP_INI_SYSTEM|PHP_INI_PERDIR)
mail.force_extra_parameters | NULL | PHP_INI_PERDIR | Disponível desde o PHP 5.0.0. (PHP_INI_SYSTEM|PHP_INI_PERDIR)
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | Disponível desde o PHP 4.3.0.
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

mail.add_x_header bool

Adiciona X-PHP-Originating-Script que vai incluir o UID do script seguido pelo nome do arquivo.

mail.log string

O caminho para o arquivo de log que vai armazenar todas as chamadas de log da função mail(). As entradas de log incluirão o caminho completo do script, número da linha, endereço de email To e cabeçalhos.

mail.force_extra_parameters string

Força a adição de parâmetros específicos que serão passados como parâmetros extras para o binário sendmail. Esses parâmetros sempre substituirão o valor do quinto parâmetro da função mail(), mesmo no modo de segurança.

SMTP string

Usado somente no Windows: host name ou endereço IP do servidor SMTP que o PHP deve usar para envio de email com a função mail().

smtp_port int

Usado somente no Windows: Número da porta para conectar no servidor definido com a configuração de SMTP quando enviar email com a função mail(); a porta padrão é 25. Somente disponível após o PHP 4.3.0.

sendmail_from string

Qual endereço de email "From:" deve ser usado na função mail usando o PHP com o Windows. Esta diretiva também define o cabeçalho "Return-Path:".

sendmail_path string

Onde o programa sendmail pode ser encontrado, normalmente em /usr/sbin/sendmail ou /usr/lib/sendmail. configure faz uma tentativa de localizar e definir o padrão, mas se ele falhar, você pode definir aqui.

Sistema que não usam o sendmail devem configurar essa diretiva para a alternativa ao sendmail que o sistema oferece, se houver. Por exemplo, usuário do » Qmail normalmente usam /var/qmail/bin/sendmail ou /var/qmail/bin/qmail-inject.

qmail-inject não requer nehuma opção para o processo funcionar.

Essa diretiva também funciona no Windows. Se definido, smtp, smtp_port e sendmail_from são ignorados e o comando definido é executado.


  • « Tipos de Recurso
  • Funções da Mail »
  • PHP Manual
  • Mail
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Funções da Mail

Índice

  • ezmlm_hash — Calcula o valor do hash necessário para EZMLM
  • mail — Envia email


Calcula o valor do hash necessário para EZMLM

  • « Funções da Mail
  • mail »
  • PHP Manual
  • Funções da Mail
  • Calcula o valor do hash necessário para EZMLM

ezmlm_hash

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

ezmlm_hash — Calcula o valor do hash necessário para EZMLM

Descrição

ezmlm_hash ( string $addr ) : int

ezmlm_hash() calcula valor do hash necessário quando mantendo listas de email EZMLM num banco de dados MySQL.

Parâmetros

addr

O endereço de email que está sendo calculado o hash.

Valor Retornado

O valor do hash de addr.

Exemplos

Exemplo #1 Calculando o hash e inscrevendo um usuário

<?php

$user = "joecool@example.com";
$hash = ezmlm_hash($user);
$query = sprintf("INSERT INTO sample VALUES (%s, '%s')", $hash, $user);
$db->query($query); // using PHPLIB db interface

?>


Envia email

  • « ezmlm_hash
  • Mailparse »
  • PHP Manual
  • Funções da Mail
  • Envia email

mail

(PHP 4, PHP 5, PHP 7, PHP 8)

mail — Envia email

Descrição

mail ( string $to , string $subject , string $message , mixed $additional_headers = ? , string $additional_parameters = ? ) : bool

Envia um email.

Parâmetros

to

Receptor, ou receptores do email.

O formato desta string precisa estar de acordo com » RFC 2822. Alguns exemplos:

  • user@example.com
  • user@example.com, anotheruser@example.com
  • User <user@example.com>
  • User <user@example.com>, Another User <anotheruser@example.com>

subject

Assunto do email a ser enviado.

Cuidado

Assunto deve satisfazer o » RFC 2047.

message

Mensagem a ser enviada.

Cada linha deve ser separada com um LF (\n). Linhas não deve ser maiores que 70 caracteres.

Cuidado

(Somente Windows) Quando PHP está usando o servidor SMTP diretamente, e uma parada total é encontrada no início de uma linha, ela é removida. Para se defender disto, substitua estas ocorrência com dois pontos seguidos.

<?php
$text = str_replace("\n.", "\n..", $text);
?>

additional_headers (opcional)

String a ser inserida no final do cabeçalho do email.

Esta é normalmente usada para adicionar cabeçalhos extras (From, Cc, e Bcc). Múltiplos cabeçalhos extra devem ser separados com um CRLF (\r\n). Se dados externos forem usados para compor este cabeçalho, os dados devem ser higienizados para que nenhum cabeçalho indesejado possa ser injetado.

Se um array for passado, suas chaves são os nomes dos cabeçalhos e seus valores são os respectivos valores dos cabeçalhos.

Nota:

Antes do PHP 5.4.42 e 5.5.27, respectivamente, additional_headers não tinha proteção de injeção de cabeçalho de email. Portanto, os usuários devem garantir que os cabeçalhos especificados sejam seguros e contenham apenas cabeçalhos. Ou seja, nunca inicie o corpo do e-mail colocando várias novas linhas.

Nota:

Quando enviando email, o email precisa conter um cabeçalho From. Este pode ser definido com o parâmetro additional_headers, ou um padrão pode ser definido no php.ini.

Um deslize fará com que resulte em uma mensagem de erro similar a Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing. O cabeçalho From define também Return-Path em Windows.

Nota:

Se mensagens não são recebidas, tente usar somente um LF (\n). Alguns Unix mail transfer agents (mais notavelmente » qmail) modificam LF por CRLF automaticamente (que leva a duplicação de CR se CRLF é usado). Este deve ser um último recurso, como não está de acordo com » RFC 2822.

additional_parameters (opcional)

O parâmetro additional_parameters pode ser usado para passar um parâmetro adicional para o programa configurado para usa quando enviando email usando a configuração sendmail_path. Por exemplo, isto pode ser usado para definir o endereço do envelope remetente quando usando sendmail com a opção do sendmail -f.

Este parâmetro é escapado por escapeshellcmd() internamente para prevenir a execução do comando. escapeshellcmd() impede a execução de comandos, mas permite adicionar parâmetros adicionais. Por razões de segurança, é recomendado que o usuário higienize este parâmetro para evitar adicionar parâmetros indesejados ao comando shell.

Uma vez que escapeshellcmd() é aplicada automaticamente, alguns caracteres que são permitidos como endereços de e-mail por RFCs da Internet não podem ser usados. mail() não pode permitir tais caracteres, portanto, em programas onde o uso de tais caracteres é necessário, meios alternativos de envio de emails (como o uso de um framework ou biblioteca) são recomendados.

O usuário com o qual o servidor web roda deve ser adicionado como um usuário confiável à configuração do sendmail para evitar que um cabeçalho 'X-Warning' seja adicionado à mensagem quando o remetente do envelope (-f) é definido usando este método. Para usuários do sendmail, este arquivo é /etc/mail/trusted-users.

Valor Retornado

Retorna true se o email foi aceito com sucesso para entrega, false caso contrário.

É importante notar que somente pelo o email ser aceito para entrega, não significa que o email alcancará o destino esperado.

Changelog

Versão | Descrição
7.2.0 | The additional_headers parameter now also accepts an array.

Exemplos

Exemplo #1 Enviando email.

Usando mail() para enviar um simples email:

<?php
// The message
$message = "Line 1\r\nLine 2\r\nLine 3";

// In case any of our lines are larger than 70 characters, we should use wordwrap()
$message = wordwrap($message, 70, "\r\n");

// Send
mail('caffeinated@example.com', 'My Subject', $message);
?>

Exemplo #2 Enviando email com cabeçalhos extra.

A adição de cabeçalhos básicos, dizendo a MUA os endereços From e Reply-To:

<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

Exemplo #3 Enviando email com um parâmetro adicional da linha de comando.

Este exemplo envia o mesmo e-mail que o exemplo imediatamente acima, mas passa os cabeçalhos adicionais como array (disponível a partir do PHP 7.2.0).

<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = array(
    'From' => 'webmaster@example.com',
    'Reply-To' => 'webmaster@example.com',
    'X-Mailer' => 'PHP/' . phpversion()
);

mail($to, $subject, $message, $headers);
?>

Exemplo #4 Enviando e-mail com um parâmetro de linha de comando adicional.

O parâmetro additional_parameters pode ser usado para passar um parâmetro adicional para o programa configurado para usar ao enviar e-mail usando o sendmail_path.

<?php
mail('nobody@example.com', 'the subject', 'the message', null,
   '-fwebmaster@example.com');
?>

Exemplo #5 Enviando email HTML

É também possível enviar email HTML com mail().

<?php
// Multiple recipients
$to = 'johny@example.com, sally@example.com'; // note the comma

// Subject
$subject = 'Birthday Reminders for August';

// Message
$message = '
<html>
<head>
  <title>Birthday Reminders for August</title>
</head>
<body>
  <p>Here are the birthdays upcoming in August!</p>
  <table>
    <tr>
      <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
    </tr>
    <tr>
      <td>Johny</td><td>10th</td><td>August</td><td>1970</td>
    </tr>
    <tr>
      <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
    </tr>
  </table>
</body>
</html>
';

// To send HTML mail, the Content-type header must be set
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=iso-8859-1';

// Additional headers
$headers[] = 'To: Mary <mary@example.com>, Kelly <kelly@example.com>';
$headers[] = 'From: Birthday Reminder <birthday@example.com>';
$headers[] = 'Cc: birthdayarchive@example.com';
$headers[] = 'Bcc: birthdaycheck@example.com';

// Mail it
mail($to, $subject, $message, implode("\r\n", $headers));
?>

Nota:

Se a intenção é enviar email HTML ou outro formato complexo, é recomendado usar o pacote PEAR » PEAR::Mail_Mime.

Notas

Nota:

A implentação do Windows de mail() difere bastante da implentação Unix. Primeiro, ele não usa um binary local para compor mensagens mas apenas opera com sockets diretos o que significa que uma MTA é necessária monitorando um socket de rede (que pode ser ou o localhost ou uma máquina remota).

Segundo, cabeçalhos customizados como From:, Cc:, Bcc: e Date: not são interpretados pela MTA, mas são analiados pelo PHP.

Assim como, o parâmetro to não deve ser um endereço na forma de "Algo <alguem@example.com>". O comando de email poderia não analisar isso adequadamente enquanto se comunica com o MTA.

Nota:

É válido notar que a função mail() não é apropriada para um grande volume de email em um loop. Esta função abre e fecha um SMTP socket para cada email, o que não é muito eficiente.

Para enviar uma grande quantidade de email, veja os pacotes » PEAR::Mail, e » PEAR::Mail_Queue.

Nota:

O seguintes RFCs podem ser úteis: » RFC 1896, » RFC 2045, » RFC 2046, » RFC 2047, » RFC 2048, » RFC 2049, e » RFC 2822.

Veja Também

  • mb_send_mail() - Send encoded mail
  • imap_mail() - Send an email message
  • » PEAR::Mail
  • » PEAR::Mail_Mime


Mailparse

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Mailparse Funções
    • mailparse_determine_best_xfer_encoding — Gets the best way of encoding
    • mailparse_msg_create — Create a mime mail resource
    • mailparse_msg_extract_part_file — Extracts/decodes a message section
    • mailparse_msg_extract_part — Extracts/decodes a message section
    • mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding
    • mailparse_msg_free — Frees a MIME resource
    • mailparse_msg_get_part_data — Returns an associative array of info about the message
    • mailparse_msg_get_part — Returns a handle on a given section in a mimemessage
    • mailparse_msg_get_structure — Returns an array of mime section names in the supplied message
    • mailparse_msg_parse_file — Parses a file
    • mailparse_msg_parse — Incrementally parse data into buffer
    • mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses
    • mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp
    • mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file


Introdução

Mailparse is an extension for parsing and working with email messages. It can deal with » RFC 822 and » RFC 2045 (MIME) compliant messages.

Mailparse is stream based, which means that it does not keep in-memory copies of the files it processes - so it is very resource efficient when dealing with large messages.

Nota:

Mailparse requires the mbstring extension, and mbstring must be loaded before mailparse.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP. Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/mailparse.

In order to use these functions you must compile PHP with mailparse support by using the --enable-mailparse configure option.

Windows users will enable php_mailparse.dll inside of php.ini in order to use these functions. Windows binaries (DLL files) for this PECL extension are available from the PECL website.

It is necessary that the mbstring extension is loaded before mailparse.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

MAILPARSE_EXTRACT_OUTPUT (int)
MAILPARSE_EXTRACT_STREAM (int)
MAILPARSE_EXTRACT_RETURN (int)


Mailparse Funções

Índice

  • mailparse_determine_best_xfer_encoding — Gets the best way of encoding
  • mailparse_msg_create — Create a mime mail resource
  • mailparse_msg_extract_part_file — Extracts/decodes a message section
  • mailparse_msg_extract_part — Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding
  • mailparse_msg_free — Frees a MIME resource
  • mailparse_msg_get_part_data — Returns an associative array of info about the message
  • mailparse_msg_get_part — Returns a handle on a given section in a mimemessage
  • mailparse_msg_get_structure — Returns an array of mime section names in the supplied message
  • mailparse_msg_parse_file — Parses a file
  • mailparse_msg_parse — Incrementally parse data into buffer
  • mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses
  • mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp
  • mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file


Gets the best way of encoding

  • « Mailparse Funções
  • mailparse_msg_create »
  • PHP Manual
  • Mailparse Funções
  • Gets the best way of encoding

mailparse_determine_best_xfer_encoding

(PECL mailparse >= 0.9.0)

mailparse_determine_best_xfer_encoding — Gets the best way of encoding

Descrição

mailparse_determine_best_xfer_encoding ( resource $fp ) : string

Figures out the best way of encoding the content read from the given file pointer.

Parâmetros

fp

A valid file pointer, which must be seek-able.

Valor Retornado

Returns one of the character encodings supported by the mbstring module.

Exemplos

Exemplo #1 mailparse_determine_best_xfer_encoding() example

<?php

$fp = fopen('somemail.eml', 'r');
echo 'Best encoding: ' . mailparse_determine_best_xfer_encoding($fp);

?>

O exemplo acima irá imprimir algo similar à:

Best encoding: 7bit


Create a mime mail resource

  • « mailparse_determine_best_xfer_encoding
  • mailparse_msg_extract_part_file »
  • PHP Manual
  • Mailparse Funções
  • Create a mime mail resource

mailparse_msg_create

(PECL mailparse >= 0.9.0)

mailparse_msg_create — Create a mime mail resource

Descrição

mailparse_msg_create ( ) : resource

Create a MIME mail resource.

Valor Retornado

Returns a handle that can be used to parse a message.

Veja Também

  • mailparse_msg_free() - Frees a MIME resource
  • mailparse_msg_parse_file() - Parses a file


Extracts/decodes a message section

  • « mailparse_msg_create
  • mailparse_msg_extract_part »
  • PHP Manual
  • Mailparse Funções
  • Extracts/decodes a message section

mailparse_msg_extract_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part_file — Extracts/decodes a message section

Descrição

mailparse_msg_extract_part_file ( resource $mimemail , mixed $filename , callable $callbackfunc = ? ) : string

Extracts/decodes a message section from the supplied filename.

The contents of the section will be decoded according to their transfer encoding - base64, quoted-printable and uuencoded text are supported.

Parâmetros

mimemail

A valid MIME resource, created with mailparse_msg_create().

filename

Can be a file name or a valid stream resource.

callbackfunc

If set, this must be either a valid callback that will be passed the extracted section, or null to make this function return the extracted section.

If not specified, the contents will be sent to "stdout".

Valor Retornado

If callbackfunc is not null returns true on success.

If callbackfunc is set to null, returns the extracted section as a string.

Returns false on error.

Veja Também

  • mailparse_msg_extract_part() - Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file() - Extracts a message section including headers without decoding the transfer encoding


Extracts/decodes a message section

  • « mailparse_msg_extract_part_file
  • mailparse_msg_extract_whole_part_file »
  • PHP Manual
  • Mailparse Funções
  • Extracts/decodes a message section

mailparse_msg_extract_part

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part — Extracts/decodes a message section

Descrição

mailparse_msg_extract_part ( resource $mimemail , string $msgbody , callable $callbackfunc = ? ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

mimemail

A valid MIME resource.

msgbody

callbackfunc

Valor Retornado

Não há valor retornado.

Veja Também

  • mailparse_msg_extract_part_file() - Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file() - Extracts a message section including headers without decoding the transfer encoding


Extracts a message section including headers without decoding the transfer encoding

  • « mailparse_msg_extract_part
  • mailparse_msg_free »
  • PHP Manual
  • Mailparse Funções
  • Extracts a message section including headers without decoding the transfer encoding

mailparse_msg_extract_whole_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding

Descrição

mailparse_msg_extract_whole_part_file ( resource $mimemail , string $filename , callable $callbackfunc = ? ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

mimemail

A valid MIME resource.

filename

callbackfunc

Valor Retornado

Veja Também

  • mailparse_msg_extract_part() - Extracts/decodes a message section
  • mailparse_msg_extract_part_file() - Extracts/decodes a message section


Frees a MIME resource

  • « mailparse_msg_extract_whole_part_file
  • mailparse_msg_get_part_data »
  • PHP Manual
  • Mailparse Funções
  • Frees a MIME resource

mailparse_msg_free

(PECL mailparse >= 0.9.0)

mailparse_msg_free — Frees a MIME resource

Descrição

mailparse_msg_free ( resource $mimemail ) : bool

Frees a MIME resource.

Parâmetros

mimemail

A valid MIME resource allocated by mailparse_msg_create() or mailparse_msg_parse_file().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • mailparse_msg_create() - Create a mime mail resource
  • mailparse_msg_parse_file() - Parses a file


Returns an associative array of info about the message

  • « mailparse_msg_free
  • mailparse_msg_get_part »
  • PHP Manual
  • Mailparse Funções
  • Returns an associative array of info about the message

mailparse_msg_get_part_data

(PECL mailparse >= 0.9.0)

mailparse_msg_get_part_data — Returns an associative array of info about the message

Descrição

mailparse_msg_get_part_data ( resource $mimemail ) : array
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

mimemail

A valid MIME resource.


Returns a handle on a given section in a mimemessage

  • « mailparse_msg_get_part_data
  • mailparse_msg_get_structure »
  • PHP Manual
  • Mailparse Funções
  • Returns a handle on a given section in a mimemessage

mailparse_msg_get_part

(PECL mailparse >= 0.9.0)

mailparse_msg_get_part — Returns a handle on a given section in a mimemessage

Descrição

mailparse_msg_get_part ( resource $mimemail , string $mimesection ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

mimemail

A valid MIME resource.

mimesection


Returns an array of mime section names in the supplied message

  • « mailparse_msg_get_part
  • mailparse_msg_parse_file »
  • PHP Manual
  • Mailparse Funções
  • Returns an array of mime section names in the supplied message

mailparse_msg_get_structure

(PECL mailparse >= 0.9.0)

mailparse_msg_get_structure — Returns an array of mime section names in the supplied message

Descrição

mailparse_msg_get_structure ( resource $mimemail ) : array
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

mimemail

A valid MIME resource.


Parses a file

  • « mailparse_msg_get_structure
  • mailparse_msg_parse »
  • PHP Manual
  • Mailparse Funções
  • Parses a file

mailparse_msg_parse_file

(PECL mailparse >= 0.9.0)

mailparse_msg_parse_file — Parses a file

Descrição

mailparse_msg_parse_file ( string $filename ) : resource

Parses a file. This is the optimal way of parsing a mail file that you have on disk.

Parâmetros

filename

Path to the file holding the message. The file is opened and streamed through the parser.

Nota:

The message contained in filename is supposed to end with a newline (CRLF); otherwise the last line of the message will not be parsed.

Valor Retornado

Returns a MIME resource representing the structure, or false on error.

Veja Também

  • mailparse_msg_free() - Frees a MIME resource
  • mailparse_msg_create() - Create a mime mail resource


Incrementally parse data into buffer

  • « mailparse_msg_parse_file
  • mailparse_rfc822_parse_addresses »
  • PHP Manual
  • Mailparse Funções
  • Incrementally parse data into buffer

mailparse_msg_parse

(PECL mailparse >= 0.9.0)

mailparse_msg_parse — Incrementally parse data into buffer

Descrição

mailparse_msg_parse ( resource $mimemail , string $data ) : bool

Incrementally parse data into the supplied mime mail resource.

This function allow you to stream portions of a file at a time, rather than read and parse the whole thing.

Parâmetros

mimemail

A valid MIME resource.

data

Nota:

The final chunk of data is supposed to end with a newline (CRLF); otherwise the last line of the message will not be parsed.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Parse RFC 822 compliant addresses

  • « mailparse_msg_parse
  • mailparse_stream_encode »
  • PHP Manual
  • Mailparse Funções
  • Parse RFC 822 compliant addresses

mailparse_rfc822_parse_addresses

(PECL mailparse >= 0.9.0)

mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses

Descrição

mailparse_rfc822_parse_addresses ( string $addresses ) : array

Parses a » RFC 822 compliant recipient list, such as that found in the To: header.

Parâmetros

addresses

A string containing addresses, like in: Wez Furlong <wez@example.com>, doe@example.com

Nota:

This string must not include the header name.

Valor Retornado

Returns an array of associative arrays with the following keys for each recipient:

display | The recipient name, for display purpose. If this part is not set for a recipient, this key will hold the same value as address.
address | The email address
is_group | true if the recipient is a newsgroup, false otherwise.

Exemplos

Exemplo #1 mailparse_rfc822_parse_addresses() example

<?php

$to = 'Wez Furlong <wez@example.com>, doe@example.com';
var_dump(mailparse_rfc822_parse_addresses($to));

?>

O exemplo acima irá imprimir:

array(2) {
  [0]=>
  array(3) {
    ["display"]=>
    string(11) "Wez Furlong"
    ["address"]=>
    string(15) "wez@example.com"
    ["is_group"]=>
    bool(false)
  }
  [1]=>
  array(3) {
    ["display"]=>
    string(15) "doe@example.com"
    ["address"]=>
    string(15) "doe@example.com"
    ["is_group"]=>
    bool(false)
  }
}


Streams data from source file pointer, apply encoding and write to destfp

  • « mailparse_rfc822_parse_addresses
  • mailparse_uudecode_all »
  • PHP Manual
  • Mailparse Funções
  • Streams data from source file pointer, apply encoding and write to destfp

mailparse_stream_encode

(PECL mailparse >= 0.9.0)

mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp

Descrição

mailparse_stream_encode ( resource $sourcefp , resource $destfp , string $encoding ) : bool

Streams data from the source file pointer, apply encoding and write to the destination file pointer.

Parâmetros

sourcefp

A valid file handle. The file is streamed through the parser.

destfp

The destination file handle in which the encoded data will be written.

encoding

One of the character encodings supported by the mbstring module.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 mailparse_stream_encode() example

<?php

// email.eml contents: hello, this is some text=hello.
$fp = fopen('email.eml', 'r');

$dest = tmpfile();

mailparse_stream_encode($fp, $dest, "quoted-printable");

rewind($dest);

// Display new file contents
fpassthru($dest);

?>

O exemplo acima irá imprimir:

hello, this is some text=3Dhello.


Scans the data from fp and extract each embedded uuencoded file

  • « mailparse_stream_encode
  • Extensões Matemáticas »
  • PHP Manual
  • Mailparse Funções
  • Scans the data from fp and extract each embedded uuencoded file

mailparse_uudecode_all

(PECL mailparse >= 0.9.0)

mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file

Descrição

mailparse_uudecode_all ( resource $fp ) : array

Scans the data from the given file pointer and extract each embedded uuencoded file into a temporary file.

Parâmetros

fp

A valid file pointer.

Valor Retornado

Returns an array of associative arrays listing filename information.

filename | Path to the temporary file name created
origfilename | The original filename, for uuencoded parts only
The first filename entry is the message body. The next entries are the decoded uuencoded files.

Exemplos

Exemplo #1 mailparse_uudecode_all() example

<?php

$text = <<<EOD
To: fred@example.com

hello, this is some text hello.
blah blah blah.

begin 644 test.txt
/=&AI<R!I<R!A('1E<W0*
`
end

EOD;

$fp = tmpfile();
fwrite($fp, $text);

$data = mailparse_uudecode_all($fp);

echo "BODY\n";
readfile($data[0]["filename"]);
echo "UUE ({$data[1]['origfilename']})\n";
readfile($data[1]["filename"]);

// Clean up
unlink($data[0]["filename"]);
unlink($data[1]["filename"]);

?>

O exemplo acima irá imprimir:

BODY
To: fred@example.com

hello, this is some text hello.
blah blah blah.

UUE (test.txt)
this is a test


Extensões Matemáticas

  • BC Math — BCMath Funções Matemáticas de Precisão Arbitrária
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • BC Math Funções
  • GMP — GNU Multiple Precision
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções da GMP
  • Math — Funções Matemáticas
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções Matemáticas
  • Statistics
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Statistic Funções
  • Trader — Technical Analysis for Traders
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Trader Funções


BCMath Funções Matemáticas de Precisão Arbitrária

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • BC Math Funções
    • bcadd — Adicionar dois números de precisão arbitrária
    • bccomp — Comparar dois números de precisão arbitrária
    • bcdiv — Dividir dois números de precisão arbitrária
    • bcmod — Obtém o módulo de um número com precisão arbitrária
    • bcmul — Multiplicar dois números de precisão arbitrária
    • bcpow — Eleva um número de precisão arbitrária a outro
    • bcpowmod — Eleva um número de precisão arbitrária para outro, reduzido por um módulo especificado
    • bcscale — Configura o parâmentro escala para todas as funções bc
    • bcsqrt — Obtém a raiz quadrada de um número de precisão arbitrária
    • bcsub — Subtrai um número de precisão arbitrária de outro


Introdução

Para matemática de precisão arbitrária, o PHP oferece uma calculadora binária com suporte a números de qualquer tamanho e precisão, representados como strings.


Dependências

Desde o PHP 4.0.4, a libbcmath é distribuída junto com o PHP. Você não precisa de nenhuma biblioteca externa para esta extensão.


Instalação

Essas funções só estão disponíveis se o PHP foi configurado com a opção --enable-bcmath.

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração da BC Math
Nome | Padrão | Modificável | Changelog
bcmath.scale | "0" | PHP_INI_ALL |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

bcmath.scale integer

Número de casas decimais para todas as funções BC Math. Veja também bcscale().


  • « Tipos de Recurso
  • BC Math Funções »
  • PHP Manual
  • BC Math
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


BC Math Funções

Índice

  • bcadd — Adicionar dois números de precisão arbitrária
  • bccomp — Comparar dois números de precisão arbitrária
  • bcdiv — Dividir dois números de precisão arbitrária
  • bcmod — Obtém o módulo de um número com precisão arbitrária
  • bcmul — Multiplicar dois números de precisão arbitrária
  • bcpow — Eleva um número de precisão arbitrária a outro
  • bcpowmod — Eleva um número de precisão arbitrária para outro, reduzido por um módulo especificado
  • bcscale — Configura o parâmentro escala para todas as funções bc
  • bcsqrt — Obtém a raiz quadrada de um número de precisão arbitrária
  • bcsub — Subtrai um número de precisão arbitrária de outro


Adicionar dois números de precisão arbitrária

  • « BC Math Funções
  • bccomp »
  • PHP Manual
  • BC Math Funções
  • Adicionar dois números de precisão arbitrária

bcadd

(PHP 4, PHP 5, PHP 7, PHP 8)

bcadd — Adicionar dois números de precisão arbitrária

Descrição

bcadd ( string $left_operand , string $right_operand , int $scale = 0 ) : string

Soma left_operand e right_operand.

Parâmetros

left_operand

O operando da esquerda, como uma string.

right_operand

O operando da direita, como uma string.

scale

Este parâmetro opcional é utilidazado para configurar o número de dígitos na parte fracionária do resultado. Se omitido será utilizada a escala padrão globalmente configurada com a função bcscale(), com padrão de fábrica em 0 se não configurado.

Valor Retornado

A soma de dois operandos, como uma string.

Exemplos

Exemplo #1 Exemplo bcadd()

<?php

$a = '1.234';
$b = '5';

echo bcadd($a, $b);     // 6
echo bcadd($a, $b, 4);  // 6.2340

?>

Veja Também

  • bcsub() - Subtrai um número de precisão arbitrária de outro


Comparar dois números de precisão arbitrária

  • « bcadd
  • bcdiv »
  • PHP Manual
  • BC Math Funções
  • Comparar dois números de precisão arbitrária

bccomp

(PHP 4, PHP 5, PHP 7, PHP 8)

bccomp — Comparar dois números de precisão arbitrária

Descrição

bccomp ( string $left_operand , string $right_operand , int $scale = 0 ) : int

Compara o left_operand com o right_operand e retorna o resultado como um inteiro.

Parâmetros

left_operand

O operando da esquerda, como uma string.

right_operand

O operando da direita, como uma string.

scale

O parâmetro opcional scale é usado para definir o número de dígitos depois da parte decimal que será usada na comparação.

Valor Retornado

Retorna 0 se os dois operandos são iguais, 1 se o left_operand é maior que right_operand, -1 caso contrário.

Exemplos

Exemplo #1 Exemplo da bccomp()

<?php

echo bccomp('1', '2') . "\n";   // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1

?>


Dividir dois números de precisão arbitrária

  • « bccomp
  • bcmod »
  • PHP Manual
  • BC Math Funções
  • Dividir dois números de precisão arbitrária

bcdiv

(PHP 4, PHP 5, PHP 7, PHP 8)

bcdiv — Dividir dois números de precisão arbitrária

Descrição

bcdiv ( string $left_operand , string $right_operand , int $scale = 0 ) : string

Divide o left_operand pelo right_operand.

Parâmetros

left_operand

O operando da esquerda, como uma string.

right_operand

O operando da direita, como uma string.

scale

Este parâmetro opcional é utilidazado para configurar o número de dígitos na parte fracionária do resultado. Se omitido será utilizada a escala padrão globalmente configurada com a função bcscale(), com padrão de fábrica em 0 se não configurado.

Valor Retornado

Retorna o resultado da divisão como uma string, ou null se right_operand é 0.

Exemplos

Exemplo #1 Exemplo da bcdiv()

<?php

echo bcdiv('105', '6.55957', 3);  // 16.007

?>

Veja Também

  • bcmul() - Multiplicar dois números de precisão arbitrária


Obtém o módulo de um número com precisão arbitrária

  • « bcdiv
  • bcmul »
  • PHP Manual
  • BC Math Funções
  • Obtém o módulo de um número com precisão arbitrária

bcmod

(PHP 4, PHP 5, PHP 7, PHP 8)

bcmod — Obtém o módulo de um número com precisão arbitrária

Descrição

bcmod ( string $left_operand , string $modulus ) : string

Obter o módulo do left_operand usando modulus.

Parâmetros

left_operand

O operando da esquerda, como uma string.

modulus

O módulo, como uma string.

Valor Retornado

Retorna o módulo como uma string, ou null se modulus é 0.

Exemplos

Exemplo #1 Exemplo da bcmod()

<?php
echo bcmod('4', '2'); // 0
echo bcmod('2', '4'); // 2
?>

Veja Também

  • bcdiv() - Dividir dois números de precisão arbitrária


Multiplicar dois números de precisão arbitrária

  • « bcmod
  • bcpow »
  • PHP Manual
  • BC Math Funções
  • Multiplicar dois números de precisão arbitrária

bcmul

(PHP 4, PHP 5, PHP 7, PHP 8)

bcmul — Multiplicar dois números de precisão arbitrária

Descrição

bcmul ( string $left_operand , string $right_operand , int $scale = 0 ) : string

Multipica o left_operand pelo right_operand.

Parâmetros

left_operand

O operando da esquerda, como uma string.

right_operand

O operando da direita, como uma string.

scale

Este parâmetro opcional é utilidazado para configurar o número de dígitos na parte fracionária do resultado. Se omitido será utilizada a escala padrão globalmente configurada com a função bcscale(), com padrão de fábrica em 0 se não configurado.

Valor Retornado

Retorna o resultado como uma string.

Exemplos

Exemplo #1 Exemplo da bcmul()

<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>

Veja Também

  • bcdiv() - Dividir dois números de precisão arbitrária


Eleva um número de precisão arbitrária a outro

  • « bcmul
  • bcpowmod »
  • PHP Manual
  • BC Math Funções
  • Eleva um número de precisão arbitrária a outro

bcpow

(PHP 4, PHP 5, PHP 7, PHP 8)

bcpow — Eleva um número de precisão arbitrária a outro

Descrição

bcpow ( string $left_operand , string $right_operand , int $scale = 0 ) : string

Eleva left_operand a potência de right_operand.

Parâmetros

left_operand

O operando da esquerda, como uma string.

right_operand

O operando da direita, como uma string.

scale

Este parâmetro opcional é utilidazado para configurar o número de dígitos na parte fracionária do resultado. Se omitido será utilizada a escala padrão globalmente configurada com a função bcscale(), com padrão de fábrica em 0 se não configurado.

Valor Retornado

Retorna o resultado como uma string.

Exemplos

Exemplo #1 Exemplo da bcpow()

<?php

echo bcpow('4.2', '3', 2); // 74.08

?>

Notas

Nota:

bcpow() pode retornar um resultado com menos dígitos depois do ponto que o indicado no parâmetro scale. Isto ocorre quando o resultado não requer toda a precisão permitida por scale. Por exemplo:

Exemplo #2 Exemplo bcpow() com scale

<?php
echo bcpow('5', '2', 2);     // imprime "25", não "25.00"
?>

Veja Também

  • bcpowmod() - Eleva um número de precisão arbitrária para outro, reduzido por um módulo especificado
  • bcsqrt() - Obtém a raiz quadrada de um número de precisão arbitrária


Eleva um número de precisão arbitrária para outro, reduzido por um módulo especificado

  • « bcpow
  • bcscale »
  • PHP Manual
  • BC Math Funções
  • Eleva um número de precisão arbitrária para outro, reduzido por um módulo especificado

bcpowmod

(PHP 5, PHP 7, PHP 8)

bcpowmod — Eleva um número de precisão arbitrária para outro, reduzido por um módulo especificado

Descrição

bcpowmod ( string $left_operand , string $right_operand , string $modulus , int $scale = 0 ) : string

Utiliza o método de exponenciação rápida para elevar left_operand para a potência right_operand levando em conta o módulo modulus.

Parâmetros

left_operand

O operando da esquerda, do tipo string.

right_operand

O operando da direita, do tipo string.

modulus

O módulo, do tipo string.

scale

Este parâmetro opcional é utilidazado para configurar o número de dígitos na parte fracionária do resultado. Se omitido será utilizada a escala padrão globalmente configurada com a função bcscale(), com padrão de fábrica em 0 se não configurado.

Valor Retornado

Retorna um string com resultado ou null se modulus for 0.

Notas

Nota:

Por que esse método usa a operação de módulo, números não positivos podem gerar resultados inesperados.

Exemplos

As seguintes instruções têm funcionalidades idênticas. A versão bcpowmod(), no entanto, executa em menos tempo e pode aceitar parâmetros maiores.

<?php
$a = bcpowmod($x, $y, $mod);

$b = bcmod(bcpow($x, $y), $mod);

// $a e $b são iguais.

?>

Veja Também

  • bcpow() - Eleva um número de precisão arbitrária a outro
  • bcmod() - Obtém o módulo de um número com precisão arbitrária


Configura o parâmentro escala para todas as funções bc

  • « bcpowmod
  • bcsqrt »
  • PHP Manual
  • BC Math Funções
  • Configura o parâmentro escala para todas as funções bc

bcscale

(PHP 4, PHP 5, PHP 7, PHP 8)

bcscale — Configura o parâmentro escala para todas as funções bc

Descrição

bcscale ( int $scale ) : bool

Configura o parâmetro escala padrão para todas as chamadas subsequentes às funções bcmath que não tenham o parâmatro escala informado explicitamente.

Parâmetros

scale

O fator de escala.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da bcscale()

<?php

// escala default: 3
bcscale(3);
echo bcdiv('105', '6.55957'); // 16.007

// obtém o mesmo resultado sem bcscale()
echo bcdiv('105', '6.55957', 3); // 16.007

?>


Obtém a raiz quadrada de um número de precisão arbitrária

  • « bcscale
  • bcsub »
  • PHP Manual
  • BC Math Funções
  • Obtém a raiz quadrada de um número de precisão arbitrária

bcsqrt

(PHP 4, PHP 5, PHP 7, PHP 8)

bcsqrt — Obtém a raiz quadrada de um número de precisão arbitrária

Descrição

bcsqrt ( string $operand , int $scale = 0 ) : string

Retorna a raiz quadrada do operador.

Parâmetros

operand

O operando, como uma string.

scale

Este parâmetro opcional é utilidazado para configurar o número de dígitos na parte fracionária do resultado. Se omitido será utilizada a escala padrão globalmente configurada com a função bcscale(), com padrão de fábrica em 0 se não configurado.

Valor Retornado

Retorna a raiz quadrada como uma string, ou null se operand é negativo.

Exemplos

Exemplo #1 Exemplo de bcsqrt()

<?php

echo bcsqrt('2', 3); // 1.414

?>

Veja Também

  • bcpow() - Eleva um número de precisão arbitrária a outro


Subtrai um número de precisão arbitrária de outro

  • « bcsqrt
  • GMP »
  • PHP Manual
  • BC Math Funções
  • Subtrai um número de precisão arbitrária de outro

bcsub

(PHP 4, PHP 5, PHP 7, PHP 8)

bcsub — Subtrai um número de precisão arbitrária de outro

Descrição

bcsub ( string $left_operand , string $right_operand , int $scale = 0 ) : string

Subtrair o left_operand do right_operand.

Parâmetros

left_operand

O operando da esquerda, como uma string.

right_operand

O operando da direita, como uma string.

scale

Este parâmetro opcional é utilidazado para configurar o número de dígitos na parte fracionária do resultado. Se omitido será utilizada a escala padrão globalmente configurada com a função bcscale(), com padrão de fábrica em 0 se não configurado.

Valor Retornado

O resultado da subtração, como uma string.

Exemplos

Exemplo #1 Exemplo de bcsub()

<?php

$a = '1.234';
$b = '5';

echo bcsub($a, $b);     // -3
echo bcsub($a, $b, 4);  // -3.7660

?>

Veja Também

  • bcadd() - Adicionar dois números de precisão arbitrária


GNU Multiple Precision

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Funções da GMP
    • gmp_abs — Valor absoluto
    • gmp_add — Adiciona números
    • gmp_and — Operador binário AND
    • gmp_binomial — Calculates binomial coefficient
    • gmp_clrbit — Limpa bit
    • gmp_cmp — Compara números
    • gmp_com — Calcula o complemento
    • gmp_div_q — Divide números
    • gmp_div_qr — Divide números e retorna o quociente e o resto da divisão
    • gmp_div_r — Resto da divisão de dois números
    • gmp_div — Sinônimo de gmp_div_q
    • gmp_divexact — Divisão exata de números
    • gmp_export — Export to a binary string
    • gmp_fact — Fatorial
    • gmp_gcd — Calcula o MDC
    • gmp_gcdext — Calcula GCD e multiplicadores
    • gmp_hamdist — Distância de Hamming
    • gmp_import — Import from a binary string
    • gmp_init — Cria um número GMP
    • gmp_intval — Converte um número GMP para um inteiro
    • gmp_invert — Inverse by modulo
    • gmp_jacobi — Símbolo de Jacobi
    • gmp_kronecker — Kronecker symbol
    • gmp_lcm — Calculate LCM
    • gmp_legendre — Símbolo de Legendre
    • gmp_mod — Operação Módulo
    • gmp_mul — Multiplica números
    • gmp_neg — Nega o número
    • gmp_nextprime — Busca o próximo número primo
    • gmp_or — Lógico OR
    • gmp_perfect_power — Perfect power check
    • gmp_perfect_square — Perfect square check
    • gmp_popcount — Contagem de população
    • gmp_pow — Potenciação
    • gmp_powm — Eleva um número a potência com módulo
    • gmp_prob_prime — Verifica se o número é "provavelmente primo"
    • gmp_random_bits — Random number
    • gmp_random_range — Random number
    • gmp_random_seed — Sets the RNG seed
    • gmp_random — Número randomico
    • gmp_root — Take the integer part of nth root
    • gmp_rootrem — Take the integer part and remainder of nth root
    • gmp_scan0 — Scan for 0
    • gmp_scan1 — Scan for 1
    • gmp_setbit — Set bit
    • gmp_sign — Sinal do número
    • gmp_sqrt — Raíz quadrada
    • gmp_sqrtrem — Raíz quadrada com resto
    • gmp_strval — Converte um número GMP para uma string
    • gmp_sub — Subtrai números
    • gmp_testbit — Tests if a bit is set
    • gmp_xor — Operação binária XOR


Introdução

Estas funções permitem a você trabalhar com inteiros de tamanho arbritário usando a biblioteca GNU MP.

Estas funções foram adicionadas no PHP 4.0.4.

Nota:

A maioria das funções GMP aceitam números GMP comoargumentos, definidos como resource abaixo. Entretanto, a maioria destas funções também aceitam argumentos númericos e strings, dado que é possível converter posteriormente para um número. Também, caso houver uma função mais rápida que possa trabalhar com números inteiros, ela será usada ao invés de uma função mais lenta quando os argumentos forem inteiros. Isto é feito de forma transparente, em resumo, você poderá usar inteiros em qualquer função que espere um número GMP. Veja também a função gmp_init().

Aviso

Se você quiser explicitamente especificar um número inteiro largo, especifique-o como uma string. Se você não fizer isto, o PHP irá interpretar a literal inteira primeiro, possivelmente resultando em perca de precisão, mesmo antes de começar a utilizar o GMP.

Nota: Esta extensão esta disponível na plataforma Windows desde PHP 5.1.0.


Dependências

VocÃª pode fazer download da biblioteca GMP em » http://gmplib.org/#DOWNLOAD. Este site tambÃ©m tem disponÃvel o manual da GMP.

VocÃª precisarÃ¡ da versÃ£o 2 ou maior da GMP para usar estas funÃ§Ãµes. Algumas funÃ§Ãµes podem requerir versÃ£o mais recente da biblioteca GMP.


Instalação

Para ter estas funções disponíveis, você deve compilar o PHP com suporte a GMP usando a opção de configuração --with-gmp.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Muitas funÃ§Ãµes GMP operam em ou retornam resources GMP.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

GMP_ROUND_ZERO (integer)
GMP_ROUND_PLUSINF (integer)
GMP_ROUND_MINUSINF (integer)
GMP_VERSION (string)
A versão da biblioteca GMP


Exemplos

Exemplo #1 Função factorial usando GMP

<?php
function fact($x)
{
    $return = 1;
    for ($i=2; $i < $x; $i++) {
        $return = gmp_mul($return, $i);
    }
    return $return;
}

echo gmp_strval(fact(1000)) . "\n";
?>

Isto irá calcular o fatorial de 1000 (um número grande) muito rápido.


Funções da GMP

Veja Também

Mais funções matemáticas podem ser encontradas na seção Extensões Matemáticas

Índice

  • gmp_abs — Valor absoluto
  • gmp_add — Adiciona números
  • gmp_and — Operador binário AND
  • gmp_binomial — Calculates binomial coefficient
  • gmp_clrbit — Limpa bit
  • gmp_cmp — Compara números
  • gmp_com — Calcula o complemento
  • gmp_div_q — Divide números
  • gmp_div_qr — Divide números e retorna o quociente e o resto da divisão
  • gmp_div_r — Resto da divisão de dois números
  • gmp_div — Sinônimo de gmp_div_q
  • gmp_divexact — Divisão exata de números
  • gmp_export — Export to a binary string
  • gmp_fact — Fatorial
  • gmp_gcd — Calcula o MDC
  • gmp_gcdext — Calcula GCD e multiplicadores
  • gmp_hamdist — Distância de Hamming
  • gmp_import — Import from a binary string
  • gmp_init — Cria um número GMP
  • gmp_intval — Converte um número GMP para um inteiro
  • gmp_invert — Inverse by modulo
  • gmp_jacobi — Símbolo de Jacobi
  • gmp_kronecker — Kronecker symbol
  • gmp_lcm — Calculate LCM
  • gmp_legendre — Símbolo de Legendre
  • gmp_mod — Operação Módulo
  • gmp_mul — Multiplica números
  • gmp_neg — Nega o número
  • gmp_nextprime — Busca o próximo número primo
  • gmp_or — Lógico OR
  • gmp_perfect_power — Perfect power check
  • gmp_perfect_square — Perfect square check
  • gmp_popcount — Contagem de população
  • gmp_pow — Potenciação
  • gmp_powm — Eleva um número a potência com módulo
  • gmp_prob_prime — Verifica se o número é "provavelmente primo"
  • gmp_random_bits — Random number
  • gmp_random_range — Random number
  • gmp_random_seed — Sets the RNG seed
  • gmp_random — Número randomico
  • gmp_root — Take the integer part of nth root
  • gmp_rootrem — Take the integer part and remainder of nth root
  • gmp_scan0 — Scan for 0
  • gmp_scan1 — Scan for 1
  • gmp_setbit — Set bit
  • gmp_sign — Sinal do número
  • gmp_sqrt — Raíz quadrada
  • gmp_sqrtrem — Raíz quadrada com resto
  • gmp_strval — Converte um número GMP para uma string
  • gmp_sub — Subtrai números
  • gmp_testbit — Tests if a bit is set
  • gmp_xor — Operação binária XOR


Valor absoluto

  • « Funções da GMP
  • gmp_add »
  • PHP Manual
  • Funções da GMP
  • Valor absoluto

gmp_abs

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_abs — Valor absoluto

Descrição

gmp_abs ( resource $a ) : resource

Obtém o valor absoluto de um número.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Retorna o valor absoluto de a, como um número GMP.

Exemplos

Exemplo #1 Exemplo da gmp_abs()

<?php
$abs1 = gmp_abs("274982683358");
$abs2 = gmp_abs("-274982683358");

echo gmp_strval($abs1) . "\n";
echo gmp_strval($abs2) . "\n";
?>

O exemplo acima irá imprimir:

274982683358
274982683358


Adiciona números

  • « gmp_abs
  • gmp_and »
  • PHP Manual
  • Funções da GMP
  • Adiciona números

gmp_add

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_add — Adiciona números

Descrição

gmp_add ( resource $a , resource $b ) : resource

Adiciona dois números.

Parâmetros

a

Um número que será adicionado.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

b

Um número que será adicionado.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número GMP representado a soma dos argumentos.

Exemplos

Exemplo #1 Exemplo gmp_add()

<?php
$sum = gmp_add("123456789012345", "76543210987655");
echo gmp_strval($sum) . "\n";
?>

O exemplo acima irá imprimir:

200000000000000


Operador binário AND

  • « gmp_add
  • gmp_binomial »
  • PHP Manual
  • Funções da GMP
  • Operador binário AND

gmp_and

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_and — Operador binário AND

Descrição

gmp_and ( resource $a , resource $b ) : resource

Faz a operação binária AND de dois números GMP.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

b

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número GMP representando a comparação binária AND.

Exemplos

Exemplo #1 Exemplo da gmp_and()

<?php
$and1 = gmp_and("0xfffffffff4", "0x4");
$and2 = gmp_and("0xfffffffff4", "0x8");
echo gmp_strval($and1) . "\n";
echo gmp_strval($and2) . "\n";
?>

O exemplo acima irá imprimir:

4
0


Calculates binomial coefficient

  • « gmp_and
  • gmp_clrbit »
  • PHP Manual
  • Funções da GMP
  • Calculates binomial coefficient

gmp_binomial

(PHP 7 >= 7.3.0, PHP 8)

gmp_binomial — Calculates binomial coefficient

Descrição

gmp_binomial ( GMP|int|string $n , int $k ) : GMP

Calculates the binomial coefficient C(n, k).

Parâmetros

n

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

k

Valor Retornado

Returns the binomial coefficient C(n, k).

Erros

Throws ValueError if k is negative. Prior to PHP 8.0.0, E_WARNING was issued instead.

Changelog

Versão | Descrição
8.0.0 | This function no longer returns false on failure.


Limpa bit

  • « gmp_binomial
  • gmp_cmp »
  • PHP Manual
  • Funções da GMP
  • Limpa bit

gmp_clrbit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_clrbit — Limpa bit

Descrição

gmp_clrbit ( resource &$a , int $index ) : void

Limpa (define para 0) o bit index em a. O índice começa em 0.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

index

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Exemplos

Exemplo #1 gmp_clrbit() example

<?php
$a = gmp_init("0xff");
gmp_clrbit($a, 0); // index starts at 0, least significant bit
echo gmp_strval($a) . "\n";
?>

O exemplo acima irá imprimir:

254

Notas

Nota:

Diferentemente de outras funções GMP, gmp_clrbit() precisa ser chamada como um resource GMP já existente (usando gmp_init() por exemplo). Ele não será automaticamente criado.

Veja Também

  • gmp_setbit() - Set bit
  • gmp_testbit() - Tests if a bit is set


Compara números

  • « gmp_clrbit
  • gmp_com »
  • PHP Manual
  • Funções da GMP
  • Compara números

gmp_cmp

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_cmp — Compara números

Descrição

gmp_cmp ( resource $a , resource $b ) : int

Compara dois números.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

b

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Retorna um valor positivo se a > b, zero se a = b e um valor negativo se a < b.

Exemplos

Exemplo #1 Exemplo da gmp_cmp()

<?php
$cmp1 = gmp_cmp("1234", "1000"); // maior do que
$cmp2 = gmp_cmp("1000", "1234"); // menor do que
$cmp3 = gmp_cmp("1234", "1234"); // igual a

echo "$cmp1 $cmp2 $cmp3\n";
?>

O exemplo acima irá imprimir:

1 -1 0


Calcula o complemento

  • « gmp_cmp
  • gmp_div_q »
  • PHP Manual
  • Funções da GMP
  • Calcula o complemento

gmp_com

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_com — Calcula o complemento

Descrição

gmp_com ( resource $a ) : resource

Retorna o complemento de a

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Retorna o complemento de a, como um número GMP.

Exemplos

Exemplo #1 Exemplo gmp_com()

<?php
$com = gmp_com("1234");
echo gmp_strval($com) . "\n";
?>

O exemplo acima irá imprimir:

-1235


Divide números

  • « gmp_com
  • gmp_div_qr »
  • PHP Manual
  • Funções da GMP
  • Divide números

gmp_div_q

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_div_q — Divide números

Descrição

gmp_div_q ( resource $a , resource $b , int $round = ? ) : resource

Divide a por b e retorna o resultado inteiro.

Parâmetros

a

O número a ser dividido.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

b

O número pelo qual a será dividido.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

round

O arredondamento do resultado e definido por round, o qual pode ter os seguintes valores:

  • GMP_ROUND_ZERO: O resultado é truncado em direção a 0.
  • GMP_ROUND_PLUSINF: O resultado é arredondado em direção a +infinito.
  • GMP_ROUND_MINUSINF: O resultado é arredondado em direção a -infinito.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Exemplos

Exemplo #1 Exemplo da gmp_div_q()

<?php
$div1 = gmp_div_q("100", "5");
echo gmp_strval($div1) . "\n";

$div2 = gmp_div_q("1", "3");
echo gmp_strval($div2) . "\n";

$div3 = gmp_div_q("1", "3", GMP_ROUND_PLUSINF);
echo gmp_strval($div3) . "\n";

$div4 = gmp_div_q("-1", "4", GMP_ROUND_PLUSINF);
echo gmp_strval($div4) . "\n";

$div5 = gmp_div_q("-1", "4", GMP_ROUND_MINUSINF);
echo gmp_strval($div5) . "\n";
?>

O exemplo acima irá imprimir:

20
0
1
0
-1

Notas

Nota:

Esta função pode também ser chamada como gmp_div().

Veja Também

  • gmp_div_r() - Resto da divisão de dois números
  • gmp_div_qr() - Divide números e retorna o quociente e o resto da divisão


Divide números e retorna o quociente e o resto da divisão

  • « gmp_div_q
  • gmp_div_r »
  • PHP Manual
  • Funções da GMP
  • Divide números e retorna o quociente e o resto da divisão

gmp_div_qr

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_div_qr — Divide números e retorna o quociente e o resto da divisão

Descrição

gmp_div_qr ( resource $n , resource $d , int $round = ? ) : array

Esta função divide n por d.

Parâmetros

n

O número a ser dividido.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

d

O número o qual n é dividido.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

round

Veja a função gmp_div_q() para uma descrição do argumento round.

Valor Retornado

Retorna um array, com o primeiro elemento sendo [n/d] (o resultado inteiro da divisão) e o segundo sendo (n - [n/d] * d) (o resto da divisão).

Exemplos

Exemplo #1 Divisão de números GMP

<?php
$a = gmp_init("0x41682179fbf5");
$res = gmp_div_qr($a, "0xDEFE75");
printf("Result is: q - %s, r - %s",
     gmp_strval ($res[0]), gmp_strval ($res[1]));
?>

Veja Também

  • gmp_div_q() - Divide números
  • gmp_div_r() - Resto da divisão de dois números


Resto da divisão de dois números

  • « gmp_div_qr
  • gmp_div »
  • PHP Manual
  • Funções da GMP
  • Resto da divisão de dois números

gmp_div_r

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_div_r — Resto da divisão de dois números

Descrição

gmp_div_r ( resource $n , resource $d , int $round = ? ) : resource

Calcula o resto da divisão inteira de n por d. O resto tem o sinal do argumento n, se não for zero.

Parâmetros

n

O número a ser dividido.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

d

O número o qual n será dividido.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

round

Veja a função gmp_div_q() para descrição do argumento round.

Valor Retornado

O resto, como um número GMP.

Exemplos

Exemplo #1 Exemplo da gmp_div_r()

<?php
$div = gmp_div_r("105", "20");
echo gmp_strval($div) . "\n";
?>

O exemplo acima irá imprimir:

5

Veja Também

  • gmp_div_q() - Divide números
  • gmp_div_qr() - Divide números e retorna o quociente e o resto da divisão


Sinônimo de gmp_div_q

  • « gmp_div_r
  • gmp_divexact »
  • PHP Manual
  • Funções da GMP
  • Sinônimo de gmp_div_q

gmp_div

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_div — Sinônimo de gmp_div_q()

Descrição

Esta função é um apelido para: gmp_div_q().


Divisão exata de números

  • « gmp_div
  • gmp_export »
  • PHP Manual
  • Funções da GMP
  • Divisão exata de números

gmp_divexact

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_divexact — Divisão exata de números

Descrição

gmp_divexact ( resource $n , resource $d ) : resource

Divide n por d, usando um algaritimo rápido "exact division". Esta função produz resultados corretos apenas quando sabe anteriormente que d divide n.

Parâmetros

n

O número a ser dividido.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

d

O número o qual a será dividido.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Exemplos

Exemplo #1 Exemplo gmp_divexact()

<?php
$div1 = gmp_divexact("10", "2");
echo gmp_strval($div1) . "\n";

$div2 = gmp_divexact("10", "3"); // resultado errado
echo gmp_strval($div2) . "\n";
?>

O exemplo acima irá imprimir:

5
2863311534


Export to a binary string

  • « gmp_divexact
  • gmp_fact »
  • PHP Manual
  • Funções da GMP
  • Export to a binary string

gmp_export

(PHP 5 >= 5.6.1, PHP 7, PHP 8)

gmp_export — Export to a binary string

Descrição

gmp_export ( GMP|int|string $num , int $word_size = 1 , int $flags = GMP_MSW_FIRST | GMP_NATIVE_ENDIAN ) : string

Export a GMP number to a binary string

Parâmetros

num

The GMP number being exported

word_size

Default value is 1. The number of bytes in each chunk of binary data. This is mainly used in conjunction with the options parameter.

flags

Default value is GMP_MSW_FIRST | GMP_NATIVE_ENDIAN.

Valor Retornado

Returns a string.

Changelog

Versão | Descrição
8.0.0 | This function no longer returns false on failure.

Exemplos

Exemplo #1 gmp_export() example

<?php
$number = gmp_init(16705);
echo gmp_export($number) . "\n";
?>

O exemplo acima irá imprimir:

AA

Veja Também

  • gmp_import() - Import from a binary string


Fatorial

  • « gmp_export
  • gmp_gcd »
  • PHP Manual
  • Funções da GMP
  • Fatorial

gmp_fact

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_fact — Fatorial

Descrição

gmp_fact ( int $a ) : resource

Calcula o fatorial (a!) de a.

Parâmetros

a

O número fatorial.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Exemplos

Exemplo #1 Exemplo gmp_fact()

<?php
$fact1 = gmp_fact(5); // 5 * 4 * 3 * 2 * 1
echo gmp_strval($fact1) . "\n";

$fact2 = gmp_fact(50); // 50 * 49 * 48, ... etc
echo gmp_strval($fact2) . "\n";
?>

O exemplo acima irá imprimir:

120
30414093201713378043612608166064768844377641568960512000000000000


Calcula o MDC

  • « gmp_fact
  • gmp_gcdext »
  • PHP Manual
  • Funções da GMP
  • Calcula o MDC

gmp_gcd

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_gcd — Calcula o MDC

Descrição

gmp_gcd ( resource $a , resource $b ) : resource

Calcula o máximo divisor comum de a e b. O resultado é sempre positivo, mesmo que um, ou ambos os argumentos sejam negativos.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

b

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número positivo GMP que divide a e b.

Exemplos

Exemplo #1 Exemplo da gmp_gcd()

<?php
$gcd = gmp_gcd("12", "21");
echo gmp_strval($gcd) . "\n";
?>

O exemplo acima irá imprimir:

3


Calcula GCD e multiplicadores

  • « gmp_gcd
  • gmp_hamdist »
  • PHP Manual
  • Funções da GMP
  • Calcula GCD e multiplicadores

gmp_gcdext

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_gcdext — Calcula GCD e multiplicadores

Descrição

gmp_gcdext ( resource $a , resource $b ) : array

Calcula g, s, e t, como a*s + b*t = g = gcd(a,b), onde gcd é o maior divisor comum. Retorna um array com respectivos elementos g, s e t.

Esta função pode ser usada para resolver equações lineares Diophantine em duas variáveis. Esta equação permite somente soluções inteiras e tem a forma: a*x + b*y = c. Para mais informação, veja » "Diophantine Equation" na página MathWorld

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

b

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um array de números GMP.

Exemplos

Exemplo #1 Resolvendo uma equação linear Diophantine

<?php
// Solve the equation a*s + b*t = g
// where a = 12, b = 21, g = gcd(12, 21) = 3
$a = gmp_init(12);
$b = gmp_init(21);
$g = gmp_gcd($a, $b);
$r = gmp_gcdext($a, $b);

$check_gcd = (gmp_strval($g) == gmp_strval($r['g']));
$eq_res = gmp_add(gmp_mul($a, $r['s']), gmp_mul($b, $r['t']));
$check_res = (gmp_strval($g) == gmp_strval($eq_res));

if ($check_gcd && $check_res) {
    $fmt = "Solution: %d*%d + %d*%d = %d\n";
    printf($fmt, gmp_strval($a), gmp_strval($r['s']), gmp_strval($b),
    gmp_strval($r['t']), gmp_strval($r['g']));
} else {
    echo "Error while solving the equation\n";
}

// output: Solution: 12*2 + 21*-1 = 3
?>


Distância de Hamming

  • « gmp_gcdext
  • gmp_import »
  • PHP Manual
  • Funções da GMP
  • Distância de Hamming

gmp_hamdist

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_hamdist — Distância de Hamming

Descrição

gmp_hamdist ( resource $a , resource $b ) : int

Retorna a distância de Hamming entre a e b. Ambos operandos devem ser positivo.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Tem que ser positivo.

b

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Tem que ser positivo.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Exemplos

Exemplo #1 Exemplo da gmp_hamdist()

<?php
$ham1 = gmp_init("1001010011", 2);
$ham2 = gmp_init("1011111100", 2);
echo gmp_hamdist($ham1, $ham2) . "\n";

/* hamdist is equivilent to: */
echo gmp_popcount(gmp_xor($ham1, $ham2)) . "\n";
?>

O exemplo acima irá imprimir:

6
6

Veja Também

  • gmp_popcount() - Contagem de população
  • gmp_xor() - Operação binária XOR


Import from a binary string

  • « gmp_hamdist
  • gmp_init »
  • PHP Manual
  • Funções da GMP
  • Import from a binary string

gmp_import

(PHP 5 >= 5.6.1, PHP 7, PHP 8)

gmp_import — Import from a binary string

Descrição

gmp_import ( string $data , int $word_size = 1 , int $flags = GMP_MSW_FIRST | GMP_NATIVE_ENDIAN ) : GMP

Import a GMP number from a binary string

Parâmetros

data

The binary string being imported

word_size

Default value is 1. The number of bytes in each chunk of binary data. This is mainly used in conjunction with the options parameter.

flags

Default value is GMP_MSW_FIRST | GMP_NATIVE_ENDIAN.

Valor Retornado

Returns a GMP number.

Changelog

Versão | Descrição
8.0.0 | This function no longer returns false on failure.

Exemplos

Exemplo #1 gmp_import() example

<?php
$number = gmp_import("\0");
echo gmp_strval($number) . "\n";

$number = gmp_import("\0\1\2");
echo gmp_strval($number) . "\n";
?>

O exemplo acima irá imprimir:

0
258

Veja Também

  • gmp_export() - Export to a binary string


Cria um número GMP

  • « gmp_import
  • gmp_intval »
  • PHP Manual
  • Funções da GMP
  • Cria um número GMP

gmp_init

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_init — Cria um número GMP

Descrição

gmp_init ( mixed $number , int $base = ? ) : resource

Cria um número GMP a partir de um inteiro ou uma string.

Parâmetros

number

Um inteiro ou uma string. A string pode representar um decimal, hexadecimal ou octal.

base

A base. O padrão é 0.

A base pode varia de 2 a 36. Se a base for 0 (valor padrão), a base atual é determinada pelos caracteres que vem na frente. Se os dois primeiros caracteres forem 0x ou 0X, é assumido hexadecimal, se não o primeiro caractere for "0", é assumido como octal, se não é assumido como decimal.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Changelog

Versão | Descrição
4.1.0 | O parâmetro opcional base foi adicionado.

Exemplos

Exemplo #1 Criando um número GMP

<?php
$a = gmp_init (123456);
$b = gmp_init ("0xFFFFDEBACDFEDF7200");
?>

Notas

Nota:

Não é necessário utilizar esta função se você quer usar um inteiro ou uma string no lugar de um número GMP nas funções GMP, como gmp_add(). Argumentos das funções são automaticamente convertidos para números GMP, se esta conversão é possível e necessária, usando as mesmas regras que gmp_init().


Converte um número GMP para um inteiro

  • « gmp_init
  • gmp_invert »
  • PHP Manual
  • Funções da GMP
  • Converte um número GMP para um inteiro

gmp_intval

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_intval — Converte um número GMP para um inteiro

Descrição

gmp_intval ( resource $gmpnumber ) : int

Esta função permite converter um número GMP para um inteiro.

Parâmetros

gmpnumber

Um número GMP.

Valor Retornado

Um valor integer de gmpnumber.

Exemplos

Exemplo #1 Exemplo gmp_intval()

<?php
// Mostra o valor correto
echo gmp_intval("2147483647") . "\n";

// Mostra um resultado errado, acima do limite de intero do PHP
echo gmp_intval("2147483648") . "\n";

// mostra o valor correto
echo gmp_strval("2147483648") . "\n";
?>

O exemplo acima irá imprimir:

2147483647
2147483647
2147483648

Notas

Aviso

Esta função retorna um resultado útil somente se o número se adequa ao inteiro PHP (i.e., tipo long com sinal). Se você quer somente imprimir o número GMP, use gmp_strval().


Inverse by modulo

  • « gmp_intval
  • gmp_jacobi »
  • PHP Manual
  • Funções da GMP
  • Inverse by modulo

gmp_invert

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_invert — Inverse by modulo

Descrição

gmp_invert ( GMP|int|string $num1 , GMP|int|string $num2 ) : GMP|false

Computes the inverse of num1 modulo num2.

Parâmetros

num1

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

num2

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

A GMP number on success or false if an inverse does not exist.

Exemplos

Exemplo #1 gmp_invert() example

<?php
echo gmp_invert("5", "10"); // no inverse, outputs nothing, result is FALSE
$invert = gmp_invert("5", "11");
echo gmp_strval($invert) . "\n";
?>

O exemplo acima irá imprimir:

9


Símbolo de Jacobi

  • « gmp_invert
  • gmp_kronecker »
  • PHP Manual
  • Funções da GMP
  • Símbolo de Jacobi

gmp_jacobi

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_jacobi — Símbolo de Jacobi

Descrição

gmp_jacobi ( resource $a , resource $p ) : int

Computa o » Símbolo de Jacobi de a e p. p deve ser ímpar e positivo.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

p

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Deve ser ímpar e positivo.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Exemplos

Exemplo #1 Exemplo gmp_jacobi()

<?php
echo gmp_jacobi("1", "3") . "\n";
echo gmp_jacobi("2", "3") . "\n";
?>

O exemplo acima irá imprimir:

1


Kronecker symbol

  • « gmp_jacobi
  • gmp_lcm »
  • PHP Manual
  • Funções da GMP
  • Kronecker symbol

gmp_kronecker

(PHP 7 >= 7.3.0, PHP 8)

gmp_kronecker — Kronecker symbol

Descrição

gmp_kronecker ( GMP|int|string $num1 , GMP|int|string $num2 ) : int

This function computes the Kronecker symbol of num1 and num2.

Parâmetros

num1

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

num2

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Returns the Kronecker symbol of num1 and num2

Veja Também

  • gmp_jacobi() - Símbolo de Jacobi
  • gmp_legendre() - Símbolo de Legendre


Calculate LCM

  • « gmp_kronecker
  • gmp_legendre »
  • PHP Manual
  • Funções da GMP
  • Calculate LCM

gmp_lcm

(PHP 7 >= 7.3.0, PHP 8)

gmp_lcm — Calculate LCM

Descrição

gmp_lcm ( GMP|int|string $num1 , GMP|int|string $num2 ) : GMP

This function computes the least common multiple (lcm) of num1 and num2.

Parâmetros

num1

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

num2

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Veja Também

  • gmp_gcd() - Calcula o MDC


Símbolo de Legendre

  • « gmp_lcm
  • gmp_mod »
  • PHP Manual
  • Funções da GMP
  • Símbolo de Legendre

gmp_legendre

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_legendre — Símbolo de Legendre

Descrição

gmp_legendre ( resource $a , resource $p ) : int

Computa o » Símbolo de Legendre de a e p. p deve ser inteiro e positivo.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

p

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Precisa ser ímpar e positivo.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Exemplos

Exemplo #1 Exemplo da gmp_legendre()

<?php
echo gmp_legendre("1", "3") . "\n";
echo gmp_legendre("2", "3") . "\n";
?>

O exemplo acima irá imprimir:

1


Operação Módulo

  • « gmp_legendre
  • gmp_mul »
  • PHP Manual
  • Funções da GMP
  • Operação Módulo

gmp_mod

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_mod — Operação Módulo

Descrição

gmp_mod ( resource $n , resource $d ) : resource

Calcula n módulo d. O resultado é sempre positivo, o sinal de d é ignorado.

Parâmetros

n

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

d

O módulo que será calculado.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Exemplos

Exemplo #1 Exemplo da gmp_mod()

<?php
$mod = gmp_mod("8", "3");
echo gmp_strval($mod) . "\n";
?>

O exemplo acima irá imprimir:

2


Multiplica números

  • « gmp_mod
  • gmp_neg »
  • PHP Manual
  • Funções da GMP
  • Multiplica números

gmp_mul

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_mul — Multiplica números

Descrição

gmp_mul ( resource $a , resource $b ) : resource

Multiplica a por b e retorna o resultado.

Parâmetros

a

Um número que será multiplicado por b.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

b

Um número que será multiplicado por a.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Exemplos

Exemplo #1 Exemplo da gmp_mul()

<?php
$mul = gmp_mul("12345678", "2000");
echo gmp_strval($mul) . "\n";
?>

O exemplo acima irá imprimir:

24691356000


Nega o número

  • « gmp_mul
  • gmp_nextprime »
  • PHP Manual
  • Funções da GMP
  • Nega o número

gmp_neg

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_neg — Nega o número

Descrição

gmp_neg ( resource $a ) : resource

Retorna o valor negativo de um número.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Retorna -a, como um número GMP.

Exemplos

Exemplo #1 Exemplo da gmp_neg()

<?php
$neg1 = gmp_neg("1");
echo gmp_strval($neg1) . "\n";
$neg2 = gmp_neg("-1");
echo gmp_strval($neg2) . "\n";
?>

O exemplo acima irá imprimir:

-1
1


Busca o próximo número primo

  • « gmp_neg
  • gmp_or »
  • PHP Manual
  • Funções da GMP
  • Busca o próximo número primo

gmp_nextprime

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

gmp_nextprime — Busca o próximo número primo

Descrição

gmp_nextprime ( int $a ) : resource

Busca o próximo número primo

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Retorna o próximo número primo maior que a, como um número GMP.

Exemplos

Exemplo #1 Exemplo da gmp_nextprime()

<?php
$prime1 = gmp_nextprime(10); // next prime number greater than 10
$prime2 = gmp_nextprime(-1000); // next prime number greater than -1000

echo gmp_strval($prime1) . "\n";
echo gmp_strval($prime2) . "\n";
?>

O exemplo acima irá imprimir:

11
-997

Notas

Nota:

Esta função usa um algoritmo probabilístico para identificar primos e chances ter um número composto é extremamente pequena.


Lógico OR

  • « gmp_nextprime
  • gmp_perfect_power »
  • PHP Manual
  • Funções da GMP
  • Lógico OR

gmp_or

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_or — Lógico OR

Descrição

gmp_or ( resource $a , resource $b ) : resource

Faz a operação binária inclusiva OR de dois números GMP.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

b

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Exemplos

Exemplo #1 Exemplo da gmp_or()

<?php
$or1 = gmp_or("0xfffffff2", "4");
echo gmp_strval($or1, 16) . "\n";
$or2 = gmp_or("0xfffffff2", "2");
echo gmp_strval($or2, 16) . "\n";
?>

O exemplo acima irá imprimir:

fffffff6
fffffff2


Perfect power check

  • « gmp_or
  • gmp_perfect_square »
  • PHP Manual
  • Funções da GMP
  • Perfect power check

gmp_perfect_power

(PHP 7 >= 7.3.0, PHP 8)

gmp_perfect_power — Perfect power check

Descrição

gmp_perfect_power ( GMP|int|string $num ) : bool

Checks whether num is a perfect power.

Parâmetros

num

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Returns true if num is a perfect power, false otherwise.

Veja Também

  • gmp_perfect_square() - Perfect square check


Perfect square check

  • « gmp_perfect_power
  • gmp_popcount »
  • PHP Manual
  • Funções da GMP
  • Perfect square check

gmp_perfect_square

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_perfect_square — Perfect square check

Descrição

gmp_perfect_square ( GMP|int|string $num ) : bool

Check if a number is a perfect square.

Parâmetros

num

The number being checked as a perfect square.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Returns true if num is a perfect square, false otherwise.

Exemplos

Exemplo #1 gmp_perfect_square() example

<?php
// 3 * 3, perfect square
var_dump(gmp_perfect_square("9"));

// not a perfect square
var_dump(gmp_perfect_square("7"));

// 1234567890 * 1234567890, perfect square
var_dump(gmp_perfect_square("1524157875019052100"));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)
bool(true)

Veja Também

  • gmp_perfect_power() - Perfect power check
  • gmp_sqrt() - Raíz quadrada
  • gmp_sqrtrem() - Raíz quadrada com resto


Contagem de população

  • « gmp_perfect_square
  • gmp_pow »
  • PHP Manual
  • Funções da GMP
  • Contagem de população

gmp_popcount

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_popcount — Contagem de população

Descrição

gmp_popcount ( resource $a ) : int

Obtém a contagem de população.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

A contagem de população de a, como um integer.

Exemplos

Exemplo #1 Exemplo da gmp_popcount()

<?php
$pop1 = gmp_init("10000101", 2); // 3 1's
echo gmp_popcount($pop1) . "\n";
$pop2 = gmp_init("11111110", 2); // 7 1's
echo gmp_popcount($pop2) . "\n";
?>

O exemplo acima irá imprimir:

3
7


Potenciação

  • « gmp_popcount
  • gmp_powm »
  • PHP Manual
  • Funções da GMP
  • Potenciação

gmp_pow

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_pow — Potenciação

Descrição

gmp_pow ( resource $base , int $exp ) : resource

Eleva base na potência exp.

Parâmetros

base

O número da base.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

exp

A positiva potência para elevar a base.

Valor Retornado

O novo (elevado) número, como um número GMP. O caso de 0^0 reproduzir 1.

Exemplos

Exemplo #1 Exemplo gmp_pow()

<?php
$pow1 = gmp_pow("2", 31);
echo gmp_strval($pow1) . "\n";
$pow2 = gmp_pow("0", 0);
echo gmp_strval($pow2) . "\n";
$pow3 = gmp_pow("2", -1); // Expoente negativo, gera um warning
echo gmp_strval($pow3) . "\n";
?>

O exemplo acima irá imprimir:

2147483648
1


Eleva um número a potência com módulo

  • « gmp_pow
  • gmp_prob_prime »
  • PHP Manual
  • Funções da GMP
  • Eleva um número a potência com módulo

gmp_powm

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_powm — Eleva um número a potência com módulo

Descrição

gmp_powm ( resource $base , resource $exp , resource $mod ) : resource

Calcula (base elevado a potência exp) módulo mod. Se exp é negativo, o resultado é indefinido.

Parâmetros

base

O número da base.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

exp

A potência positiva para elevar a base.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

mod

O módulo.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

O novo (elevado) número, como um número GMP.

Exemplos

Exemplo #1 Exemplo da gmp_powm()

<?php
$pow1 = gmp_powm("2", "31", "2147483649");
echo gmp_strval($pow1) . "\n";
?>

O exemplo acima irá imprimir:

2147483648


Verifica se o número é "provavelmente primo"

  • « gmp_powm
  • gmp_random_bits »
  • PHP Manual
  • Funções da GMP
  • Verifica se o número é "provavelmente primo"

gmp_prob_prime

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_prob_prime — Verifica se o número é "provavelmente primo"

Descrição

gmp_prob_prime ( resource $a , int $reps = ? ) : int

A função usa o teste probabilístico de Miller-Rabin para verificar se um número é primo.

Parâmetros

a

O número a ser verificado como um primo.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

reps

Valores razoáveis de reps varia de 5 a 10 (padrão sendo 10); um valor mais alto diminui a probabilidade para um não-primo para passar como um "provável" primo.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Se esta função retorna 0, a é definitivamente não primo. Se ela retorna 1, então a é "provavelmente" primo. Se retorna 2, então a é certamente primo.

Exemplos

Exemplo #1 Exemplo da gmp_prob_prime()

<?php
// definitely not a prime
echo gmp_prob_prime("6") . "\n";

// probably a prime
echo gmp_prob_prime("1111111111111111111") . "\n";

// definitely a prime
echo gmp_prob_prime("11") . "\n";
?>

O exemplo acima irá imprimir:

0
1
2


Random number

  • « gmp_prob_prime
  • gmp_random_range »
  • PHP Manual
  • Funções da GMP
  • Random number

gmp_random_bits

(PHP 5 >= 5.6.3, PHP 7, PHP 8)

gmp_random_bits — Random number

Descrição

gmp_random_bits ( int $bits ) : GMP

Generate a random number. The number will be between 0 and (2 ** bits) - 1.

bits must greater than 0, and the maximum value is restricted by available memory.

Parâmetros

bits

The number of bits.

Valor Retornado

A random GMP number.

Exemplos

Exemplo #1 gmp_random_bits() example

<?php
$rand1 = gmp_random_bits(3); // random number from 0 to 7
$rand2 = gmp_random_bits(5); // random number from 0 to 31

echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>

O exemplo acima irá imprimir:

3
15


Random number

  • « gmp_random_bits
  • gmp_random_seed »
  • PHP Manual
  • Funções da GMP
  • Random number

gmp_random_range

(PHP 5 >= 5.6.3, PHP 7, PHP 8)

gmp_random_range — Random number

Descrição

gmp_random_range ( GMP|int|string $min , GMP|int|string $max ) : GMP

Generate a random number. The number will be between min and max.

min and max can both be negative but min must always be less than max.

Parâmetros

min

A GMP number representing the lower bound for the random number

max

A GMP number representing the upper bound for the random number

Valor Retornado

A random GMP number.

Exemplos

Exemplo #1 gmp_random_range() example

<?php
$rand1 = gmp_random_range(0, 100);    // random number between 0 and 100
$rand2 = gmp_random_range(-100, -10); // random number between -100 and -10

echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>

O exemplo acima irá imprimir:

42
-67


Sets the RNG seed

  • « gmp_random_range
  • gmp_random »
  • PHP Manual
  • Funções da GMP
  • Sets the RNG seed

gmp_random_seed

(PHP 7, PHP 8)

gmp_random_seed — Sets the RNG seed

Descrição

gmp_random_seed ( GMP|int|string $seed ) : void

Parâmetros

seed

The seed to be set for the gmp_random(), gmp_random_bits(), and gmp_random_range() functions.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Returns null on success ou false em caso de falha.

Erros

Issues an E_WARNING and returns false if seed is not valid.

Exemplos

Exemplo #1 gmp_random_seed() example

<?php
// set the seed
gmp_random_seed(100);

var_dump(gmp_strval(gmp_random(1)));

// set the seed to something else
gmp_random_seed(gmp_init(-100));

var_dump(gmp_strval(gmp_random_bits(10)));

// set the seed to something invalid
var_dump(gmp_random_seed('not a number'));

O exemplo acima irá imprimir:

string(20) "15370156633245019617"
string(3) "683"

Warning: gmp_random_seed(): Unable to convert variable to GMP - string is not an integer in %s on line %d
bool(false)

Veja Também

  • gmp_init() - Cria um número GMP
  • gmp_random() - Número randomico
  • gmp_random_bits() - Random number
  • gmp_random_range() - Random number


Número randomico

  • « gmp_random_seed
  • gmp_root »
  • PHP Manual
  • Funções da GMP
  • Número randomico

gmp_random

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_random — Número randomico

Descrição

gmp_random ( int $limiter ) : resource

Gera um número randomico. O valor do número será entre zero e o número de bits por limb multiplicado por limiter. Se limiter for negativo, são gerados números negativos.

Um limb é um mecanismo interno do GMP. O número de bits em um limb não é estatico, e pode variar de sistema para sistema. Geralmente, o número de bits em um limb é 16 ou 32, mas isto não é garantido.

Parâmetros

limiter

The limiter.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número GMP aleatório.

Exemplos

Exemplo #1 Exemplo da gmp_random()

<?php
$rand1 = gmp_random(1); // random number from 0 to 1 * bits per limb
$rand2 = gmp_random(2); // random number from 0 to 2 * bits per limb

echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>

O exemplo acima irá imprimir:

1915834968
8642564075890328087


Take the integer part of nth root

  • « gmp_random
  • gmp_rootrem »
  • PHP Manual
  • Funções da GMP
  • Take the integer part of nth root

gmp_root

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

gmp_root — Take the integer part of nth root

Descrição

gmp_root ( GMP|int|string $num , int $nth ) : GMP

Takes the nth root of num and returns the integer component of the result.

Parâmetros

num

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

nth

The positive root to take of num.

Valor Retornado

The integer component of the resultant root, as a GMP number.


Take the integer part and remainder of nth root

  • « gmp_root
  • gmp_scan0 »
  • PHP Manual
  • Funções da GMP
  • Take the integer part and remainder of nth root

gmp_rootrem

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

gmp_rootrem — Take the integer part and remainder of nth root

Descrição

gmp_rootrem ( GMP|int|string $num , int $nth ) : array

Takes the nth root of num and returns the integer component and remainder of the result.

Parâmetros

num

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

nth

The positive root to take of num.

Valor Retornado

A two element array, where the first element is the integer component of the root, and the second element is the remainder, both represented as GMP numbers.


Scan for 0

  • « gmp_rootrem
  • gmp_scan1 »
  • PHP Manual
  • Funções da GMP
  • Scan for 0

gmp_scan0

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_scan0 — Scan for 0

Descrição

gmp_scan0 ( GMP|int|string $num1 , int $start ) : int

Scans num1, starting with bit start, towards more significant bits, until the first clear bit is found.

Parâmetros

num1

The number to scan.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

start

The starting bit.

Valor Retornado

Returns the index of the found bit, as an int. The index starts from 0.

Exemplos

Exemplo #1 gmp_scan0() example

<?php
// "0" bit is found at position 3. index starts at 0
$s1 = gmp_init("10111", 2);
echo gmp_scan0($s1, 0) . "\n";

// "0" bit is found at position 7. index starts at 5
$s2 = gmp_init("101110000", 2);
echo gmp_scan0($s2, 5) . "\n";
?>

O exemplo acima irá imprimir:

3
7


Scan for 1

  • « gmp_scan0
  • gmp_setbit »
  • PHP Manual
  • Funções da GMP
  • Scan for 1

gmp_scan1

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_scan1 — Scan for 1

Descrição

gmp_scan1 ( GMP|int|string $num1 , int $start ) : int

Scans num1, starting with bit start, towards more significant bits, until the first set bit is found.

Parâmetros

num1

The number to scan.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

start

The starting bit.

Valor Retornado

Returns the index of the found bit, as an int. If no set bit is found, -1 is returned.

Exemplos

Exemplo #1 gmp_scan1() example

<?php
// "1" bit is found at position 3. index starts at 0
$s1 = gmp_init("01000", 2);
echo gmp_scan1($s1, 0) . "\n";

// "1" bit is found at position 9. index starts at 5
$s2 = gmp_init("01000001111", 2);
echo gmp_scan1($s2, 5) . "\n";
?>

O exemplo acima irá imprimir:

3
9


Set bit

  • « gmp_scan1
  • gmp_sign »
  • PHP Manual
  • Funções da GMP
  • Set bit

gmp_setbit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_setbit — Set bit

Descrição

gmp_setbit ( GMP $num , int $index , bool $value = true ) : void

Sets bit index in num.

Parâmetros

num

The value to modify.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

index

The index of the bit to set. Index 0 represents the least significant bit.

value

True to set the bit (set it to 1/on); false to clear the bit (set it to 0/off).

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Exemplos

Exemplo #1 gmp_setbit() example - 0 index

<?php
$a = gmp_init("2"); //
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 0); // 0b10 now becomes 0b11
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>

O exemplo acima irá imprimir:

2 -> 0b10
3 -> 0b11

Exemplo #2 gmp_setbit() example - 1 index

<?php
$a = gmp_init("0xfd");
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 1); // index starts at 0
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>

O exemplo acima irá imprimir:

253 -> 0b11111101
255 -> 0b11111111

Exemplo #3 gmp_setbit() example - clearing a bit

<?php
$a = gmp_init("0xff");
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 0, false); // clear bit at index 0
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>

O exemplo acima irá imprimir:

255 -> 0b11111111
254 -> 0b11111110

Notas

Nota:

Unlike most of the other GMP functions, gmp_setbit() must be called with a GMP object that already exists (using gmp_init() for example). One will not be automatically created.

Veja Também

  • gmp_clrbit() - Limpa bit
  • gmp_testbit() - Tests if a bit is set


Sinal do número

  • « gmp_setbit
  • gmp_sqrt »
  • PHP Manual
  • Funções da GMP
  • Sinal do número

gmp_sign

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_sign — Sinal do número

Descrição

gmp_sign ( resource $a ) : int

Verifica o sinal de um número.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Retorna 1 se a é positivo, -1 se a é negativo, e 0 se a for zero.

Exemplos

Exemplo #1 Exemplo da gmp_sign()

<?php
// positivo
echo gmp_sign("500") . "\n";

// negativo
echo gmp_sign("-500") . "\n";

// zero
echo gmp_sign("0") . "\n";
?>

O exemplo acima irá imprimir:

1
-1
0


Raíz quadrada

  • « gmp_sign
  • gmp_sqrtrem »
  • PHP Manual
  • Funções da GMP
  • Raíz quadrada

gmp_sqrt

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_sqrt — Raíz quadrada

Descrição

gmp_sqrt ( resource $a ) : resource

Calcula a raiz quadrada de a.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

A parte inteira da raiz quadrada, como um número GMP.

Exemplos

Exemplo #1 Exemplo gmp_sqrt()

<?php
$sqrt1 = gmp_sqrt("9");
$sqrt2 = gmp_sqrt("7");
$sqrt3 = gmp_sqrt("1524157875019052100");

echo gmp_strval($sqrt1) . "\n";
echo gmp_strval($sqrt2) . "\n";
echo gmp_strval($sqrt3) . "\n";
?>

O exemplo acima irá imprimir:

3
2
1234567890


Raíz quadrada com resto

  • « gmp_sqrt
  • gmp_strval »
  • PHP Manual
  • Funções da GMP
  • Raíz quadrada com resto

gmp_sqrtrem

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_sqrtrem — Raíz quadrada com resto

Descrição

gmp_sqrtrem ( resource $a ) : array

Calcula a raiz quadrada de um número, com resto.

Parâmetros

a

O número a ser calculado a raiz quadrada.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Retorna uma matriz onde o primeiro elemento é um inteiro raíz quadrada de a e o segundo é o resto (a diferença entre a e o quadrado do primeiro elemento).

Exemplos

Exemplo #1 Exemplo da gmp_sqrtrem()

<?php
list($sqrt1, $sqrt1rem) = gmp_sqrtrem("9");
list($sqrt2, $sqrt2rem) = gmp_sqrtrem("7");
list($sqrt3, $sqrt3rem) = gmp_sqrtrem("1048576");

echo gmp_strval($sqrt1) . ", " . gmp_strval($sqrt1rem) . "\n";
echo gmp_strval($sqrt2) . ", " . gmp_strval($sqrt2rem) . "\n";
echo gmp_strval($sqrt3) . ", " . gmp_strval($sqrt3rem) . "\n";
?>

O exemplo acima irá imprimir:

3, 0
2, 3
1024, 0


Converte um número GMP para uma string

  • « gmp_sqrtrem
  • gmp_sub »
  • PHP Manual
  • Funções da GMP
  • Converte um número GMP para uma string

gmp_strval

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_strval — Converte um número GMP para uma string

Descrição

gmp_strval ( resource $gmpnumber , int $base = ? ) : string

Converte o número GMP para a representação de uma string na base base. A base padrão é 10.

Parâmetros

gmpnumber

O número GMP que será convertido para uma string.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

base

A base do número retornado. A base padrão é 10. Valores permitidos para base são de 2 à 36.

Valor Retornado

O número, como uma string.

Exemplos

Exemplo #1 Convertendo um número GMP para uma string

<?php
$a = gmp_init("0x41682179fbf5");
printf("Decimal: %s, 36-based: %s", gmp_strval($a), gmp_strval($a,36));
?>


Subtrai números

  • « gmp_strval
  • gmp_testbit »
  • PHP Manual
  • Funções da GMP
  • Subtrai números

gmp_sub

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_sub — Subtrai números

Descrição

gmp_sub ( resource $a , resource $b ) : resource

Subtrai b de a e retorna o resultado.

Parâmetros

a

The number being subtracted from.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

b

The number subtracted from a.

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Exemplos

Exemplo #1 Exemplo da gmp_sub()

<?php
$sub = gmp_sub("281474976710656", "4294967296"); // 2^48 - 2^32
echo gmp_strval($sub) . "\n";
?>

O exemplo acima irá imprimir:

281470681743360


Tests if a bit is set

  • « gmp_sub
  • gmp_xor »
  • PHP Manual
  • Funções da GMP
  • Tests if a bit is set

gmp_testbit

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

gmp_testbit — Tests if a bit is set

Descrição

gmp_testbit ( GMP|int|string $num , int $index ) : bool

Tests if the specified bit is set.

Parâmetros

num

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

index

The bit to test

Valor Retornado

Returns true if the bit is set in resource $a, otherwise false.

Erros

An E_WARNING level error is issued when index is less than zero, and false is returned.

Exemplos

Exemplo #1 gmp_testbit() example

<?php
$n = gmp_init("1000000");
var_dump(gmp_testbit($n, 1));
gmp_setbit($n, 1);
var_dump(gmp_testbit($n, 1));
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)

Veja Também

  • gmp_setbit() - Set bit
  • gmp_clrbit() - Limpa bit


Operação binária XOR

  • « gmp_testbit
  • Math »
  • PHP Manual
  • Funções da GMP
  • Operação binária XOR

gmp_xor

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_xor — Operação binária XOR

Descrição

gmp_xor ( resource $a , resource $b ) : resource

Faz a operação binária exclusiva OR (XOR) de dois números GMP.

Parâmetros

a

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

b

Ele pode ser qualquer número GMP resource, ou uma string numérica que é possível convertê-la para um número.

Valor Retornado

Um número GMP resource no PHP 5.5 e anteriores, ou um objeto GMP do PHP 5.6 em diante.

Exemplos

Exemplo #1 Exemplo da gmp_xor()

<?php
$xor1 = gmp_init("1101101110011101", 2);
$xor2 = gmp_init("0110011001011001", 2);

$xor3 = gmp_xor($xor1, $xor2);

echo gmp_strval($xor3, 2) . "\n";
?>

O exemplo acima irá imprimir:

1011110111000100


Funções Matemáticas

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções Matemáticas
    • abs — Valor absoluto
    • acos — Cosseno Inverso (arco cosseno)
    • acosh — Cosseno Hiperbólico Inverso
    • asin — Seno Inverso (arco seno)
    • asinh — Seno Hiperbólico Inverso
    • atan2 — Tangente inversa de duas variáveis
    • atan — Tangente Inversa (arco tangente)
    • atanh — Tangente hiperbólica inversa
    • base_convert — Converte um número entre bases arbitrárias
    • bindec — Binário para decimal
    • ceil — Arredonda frações para cima
    • cos — Coseno
    • cosh — Cosseno hiperbólico
    • decbin — Decimal para binário
    • dechex — Decimal para hexadecimal
    • decoct — Decimal para octal
    • deg2rad — Converte o número em graus ao equivalente em radianos
    • exp — Calcula o expoente de e
    • expm1 — Retorna exp(numero) - 1, computado de forma que é preciso mesmo quando o valor do número é perto de zero.
    • fdiv — Divides two numbers, according to IEEE 754
    • floor — Arredonda frações para baixo
    • fmod — Retorna o resto em ponto flutuante (módulo) da divisão dos argumentos
    • getrandmax — Retorna o maior valor aletório possível
    • hexdec — Hexadecimal para decimal
    • hypot — Calcula o tamanho da hipotenusa de um ângulo reto do triângulo Retorna a raiz quadrada de (num1*num1 + num2*num2)
    • intdiv — Dividir números inteiros
    • is_finite — Verifica se um valor é um número finito
    • is_infinite — Descrição
    • is_nan — Verifica se um valor não é um número
    • lcg_value — Gerador congruente linear combinado
    • log10 — Logaritmo Base-10
    • log1p — Retorna o log(1 + numero), calculado de forma que o valor do número seja próximo de zero.
    • log — Logaritmo natural
    • max — Localiza o maior valor
    • min — Encontra o menor valor
    • mt_getrandmax — Retorna o maior valor aletório possível
    • mt_rand — Gerador melhorado de números aleatórios
    • mt_srand — Semeia o gerador melhorado de números aleatórios
    • octdec — Octal para decimal
    • pi — Obtém o valor de pi
    • pow — Potência
    • rad2deg — Converte o número em radianos para o equivalente em graus
    • rand — Gera um inteiro aleatório
    • round — Arredonda um número
    • sin — Seno
    • sinh — Seno hiperbólico
    • sqrt — Raiz quadrada
    • srand — Semeia o gerador de números aletórios
    • tan — Tangente
    • tanh — Tangente hiperbólica


Introdução

Estas funções matemáticas somente suportam valores dentro do tamanho integer and float do seu computador. (estes correspondem atualmente aos tipos do C long e double) Se você precisa manipular números maiores, procure funções de matemática com precisão arbitrária.

Veja também a seção do manual sobre operadores aritméticos.


Constantes pré-definidas

As constantes listadas abaixo estão sempre disponíveis como parte do núcleo do PHP.

Constantes da Matemáticas
Constante | Valor | Descrição
M_PI | 3.14159265358979323846 | Pi
M_E | 2.7182818284590452354 | e
M_LOG2E | 1.4426950408889634074 | log_2 e
M_LOG10E | 0.43429448190325182765 | log_10 e
M_LN2 | 0.69314718055994530942 | log_e 2
M_LN10 | 2.30258509299404568402 | log_e 10
M_PI_2 | 1.57079632679489661923 | pi/2
M_PI_4 | 0.78539816339744830962 | pi/4
M_1_PI | 0.31830988618379067154 | 1/pi
M_2_PI | 0.63661977236758134308 | 2/pi
M_SQRTPI | 1.77245385090551602729 | sqrt(pi) [5.2.0]
M_2_SQRTPI | 1.12837916709551257390 | 2/sqrt(pi)
M_SQRT2 | 1.41421356237309504880 | sqrt(2)
M_SQRT3 | 1.73205080756887729352 | sqrt(3) [5.2.0]
M_SQRT1_2 | 0.70710678118654752440 | 1/sqrt(2)
M_LNPI | 1.14472988584940017414 | log_e(pi) [5.2.0]
M_EULER | 0.57721566490153286061 | Euler constant [5.2.0]
Somente M_PI está disponível nas versões do PHP anteriores a 4.0.0, inclusive. Todas as outras constantes foram disponibilizadas a partir da 4.0.0. Constantes marcadas com [4.0.2] foram acrescentadas no PHP 5.2.0.


Funções Matemáticas

Índice

  • abs — Valor absoluto
  • acos — Cosseno Inverso (arco cosseno)
  • acosh — Cosseno Hiperbólico Inverso
  • asin — Seno Inverso (arco seno)
  • asinh — Seno Hiperbólico Inverso
  • atan2 — Tangente inversa de duas variáveis
  • atan — Tangente Inversa (arco tangente)
  • atanh — Tangente hiperbólica inversa
  • base_convert — Converte um número entre bases arbitrárias
  • bindec — Binário para decimal
  • ceil — Arredonda frações para cima
  • cos — Coseno
  • cosh — Cosseno hiperbólico
  • decbin — Decimal para binário
  • dechex — Decimal para hexadecimal
  • decoct — Decimal para octal
  • deg2rad — Converte o número em graus ao equivalente em radianos
  • exp — Calcula o expoente de e
  • expm1 — Retorna exp(numero) - 1, computado de forma que é preciso mesmo quando o valor do número é perto de zero.
  • fdiv — Divides two numbers, according to IEEE 754
  • floor — Arredonda frações para baixo
  • fmod — Retorna o resto em ponto flutuante (módulo) da divisão dos argumentos
  • getrandmax — Retorna o maior valor aletório possível
  • hexdec — Hexadecimal para decimal
  • hypot — Calcula o tamanho da hipotenusa de um ângulo reto do triângulo Retorna a raiz quadrada de (num1*num1 + num2*num2)
  • intdiv — Dividir números inteiros
  • is_finite — Verifica se um valor é um número finito
  • is_infinite — Descrição
  • is_nan — Verifica se um valor não é um número
  • lcg_value — Gerador congruente linear combinado
  • log10 — Logaritmo Base-10
  • log1p — Retorna o log(1 + numero), calculado de forma que o valor do número seja próximo de zero.
  • log — Logaritmo natural
  • max — Localiza o maior valor
  • min — Encontra o menor valor
  • mt_getrandmax — Retorna o maior valor aletório possível
  • mt_rand — Gerador melhorado de números aleatórios
  • mt_srand — Semeia o gerador melhorado de números aleatórios
  • octdec — Octal para decimal
  • pi — Obtém o valor de pi
  • pow — Potência
  • rad2deg — Converte o número em radianos para o equivalente em graus
  • rand — Gera um inteiro aleatório
  • round — Arredonda um número
  • sin — Seno
  • sinh — Seno hiperbólico
  • sqrt — Raiz quadrada
  • srand — Semeia o gerador de números aletórios
  • tan — Tangente
  • tanh — Tangente hiperbólica


Valor absoluto

  • « Funções Matemáticas
  • acos »
  • PHP Manual
  • Funções Matemáticas
  • Valor absoluto

abs

(PHP 4, PHP 5, PHP 7, PHP 8)

abs — Valor absoluto

Descrição

abs ( mixed $number ) : number

Retorna o valor absoluto do number.

Parâmetros

number

O valor numérico para processar

Valor Retornado

O valor absoluto de number. Se o argumento número é do tipo float, o número retornado também é float, em outro caso será inteiro (mas poderá retornar float se o resultado tiver magnitude maior que inteiro).

Exemplos

Exemplo #1 Exemplo da abs()

<?php
echo abs(-4.2); // 4.2 (double/float)
echo abs(5);    // 5 (integer)
echo abs(-5);   // 5 (integer)
?>

Veja Também

  • gmp_abs() - Valor absoluto
  • gmp_sign() - Sinal do número


Cosseno Inverso (arco cosseno)

  • « abs
  • acosh »
  • PHP Manual
  • Funções Matemáticas
  • Cosseno Inverso (arco cosseno)

acos

(PHP 4, PHP 5, PHP 7, PHP 8)

acos — Cosseno Inverso (arco cosseno)

Descrição

acos ( float $arg ) : float

Retorna o inverso do cosseno de arg em radianos. acos() é a função complementar de cos(), o que significa que a==cos(acos(a)) para qualquer valor de var que esteja dentro dos limites de acos().

Parâmetros

arg

O argumento para processar

Valor Retornado

O arco cosseno do arg em radianos.

Veja Também

  • cos() - Coseno
  • acosh() - Cosseno Hiperbólico Inverso
  • asin() - Seno Inverso (arco seno)
  • atan() - Tangente Inversa (arco tangente)


Cosseno Hiperbólico Inverso

  • « acos
  • asin »
  • PHP Manual
  • Funções Matemáticas
  • Cosseno Hiperbólico Inverso

acosh

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

acosh — Cosseno Hiperbólico Inverso

Descrição

acosh ( float $arg ) : float

Retorna o cosseno hiperbólico de arg, isto é, o valor cujo coseno hiperbólico é arg.

Nota: esta função não é implementada na plataforma Windows

Parâmetros

arg

O valor para processar

Valor Retornado

O cosseno hiperbólico inverso do arg

Veja Também

  • cosh() - Cosseno hiperbólico
  • acos() - Cosseno Inverso (arco cosseno)
  • asinh ()
  • atanh() - Tangente hiperbólica inversa


Seno Inverso (arco seno)

  • « acosh
  • asinh »
  • PHP Manual
  • Funções Matemáticas
  • Seno Inverso (arco seno)

asin

(PHP 4, PHP 5, PHP 7, PHP 8)

asin — Seno Inverso (arco seno)

Descrição

asin ( float $arg ) : float

Retorna o inverso do seno de arg em radianos. asin() é a função complementar de sin(), o que significa que a==sin(asin(a)) para qualquer valor de var que esteja dentro dos limites de asin().

Parâmetros

arg

O argumento para processar

Valor Retornado

O arco seno de arg em radianos

Veja Também

  • sin() - Seno
  • asinh() - Seno Hiperbólico Inverso
  • acos() - Cosseno Inverso (arco cosseno)
  • atan() - Tangente Inversa (arco tangente)


Seno Hiperbólico Inverso

  • « asin
  • atan2 »
  • PHP Manual
  • Funções Matemáticas
  • Seno Hiperbólico Inverso

asinh

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

asinh — Seno Hiperbólico Inverso

Descrição

asinh ( float $arg ) : float

Retorna o inverso do seno hiperbólico de arg, isto é, o valor cujo seno hiperbólico é arg.

Nota: esta função não é implementada na plataforma Windows

Parâmetros

arg

O argumento para processar

Valor Retornado

O seno hiperbólico inverso de arg

Veja Também

  • sinh() - Seno hiperbólico
  • asin() - Seno Inverso (arco seno)
  • acosh() - Cosseno Hiperbólico Inverso
  • atanh() - Tangente hiperbólica inversa


Tangente inversa de duas variáveis

  • « asinh
  • atan »
  • PHP Manual
  • Funções Matemáticas
  • Tangente inversa de duas variáveis

atan2

(PHP 4, PHP 5, PHP 7, PHP 8)

atan2 — Tangente inversa de duas variáveis

Descrição

atan2 ( float $y , float $x ) : float

Esta função calcula a tangente inversa de duas variaveis x e y. Esta função é o equivalente a calcular a tangente inversa de y / x, exceto que os sinais de ambos os argumentos são usados para determinar o quadrante do resultado.

Esta função retorna o resultado em radianos, estando entre -PI e PI (inclusive).

Parâmetros

y

Dividendo

x

Divisor

Valor Retornado

A tangente inversa de y/x em radianos.

Veja Também

  • atan() - Tangente Inversa (arco tangente)


Tangente Inversa (arco tangente)

  • « atan2
  • atanh »
  • PHP Manual
  • Funções Matemáticas
  • Tangente Inversa (arco tangente)

atan

(PHP 4, PHP 5, PHP 7, PHP 8)

atan — Tangente Inversa (arco tangente)

Descrição

atan ( float $arg ) : float

Retorna o inverso da tangente de arg em radianos. atan() é a função complementar de tan(), o que significa que var == tan(atan(var)) para qualquer valor de a que esteja dentro dos limites de atan().

Parâmetros

arg

O argumento para processar

Valor Retornado

O arco tangente de arg em radianos.

Veja Também

  • tan() - Tangente
  • atanh() - Tangente hiperbólica inversa
  • asin() - Seno Inverso (arco seno)
  • acos() - Cosseno Inverso (arco cosseno)


Tangente hiperbólica inversa

  • « atan
  • base_convert »
  • PHP Manual
  • Funções Matemáticas
  • Tangente hiperbólica inversa

atanh

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

atanh — Tangente hiperbólica inversa

Descrição

atanh ( float $arg ) : float

Retorna a tangente hiperbólica inversa de arg, isto é, o valor cuja tangente hiperbólica é arg.

Nota: esta função não é implementada na plataforma Windows

Parâmetros

arg

O argumento para processar

Valor Retornado

A tangente hiperbólica inversa de arg

Veja Também

  • tanh() - Tangente hiperbólica
  • atan ()
  • asinh() - Seno Hiperbólico Inverso
  • acosh() - Cosseno Hiperbólico Inverso


Converte um número entre bases arbitrárias

  • « atanh
  • bindec »
  • PHP Manual
  • Funções Matemáticas
  • Converte um número entre bases arbitrárias

base_convert

(PHP 4, PHP 5, PHP 7, PHP 8)

base_convert — Converte um número entre bases arbitrárias

Descrição

base_convert ( string $number , int $frombase , int $tobase ) : string

Retorna uma string contendo number representado na base tobase. A base atual de number é especificada em frombase. Tanto frombase quanto tobase tem que estar entre 2 e 36, inclusive. Digitos em números com base maior do que 10 serão representados com letras a-z, com a significando 10, b significando 11 e z significando 35. Letras maiúsculas ou minúsculas não importam, ou seja number é interpretado case-insensitively.

Aviso

base_convert() pode perder precisão com números grandes devido a propriedade relacionada para os tipos interno "double" ou "float" usado. Veja a seção Números de ponto flutuante no manual para informação específica e limitações.

Parâmetros

number

The number to convert. Quaisquer caracteres inválidos em number serão ignorados silenciosamente.

frombase

A base que number está

tobase

A base para converter number

Valor Retornado

number convertido para base tobase

Exemplos

Exemplo #1 Exemplo de base_convert()

<?php
$hexadecimal = 'a37334';
echo base_convert($hexadecimal, 16, 2);
?>

O exemplo acima irá imprimir:

101000110111001100110100

Veja Também

  • intval() - Retorna o valor inteiro da variável


Binário para decimal

  • « base_convert
  • ceil »
  • PHP Manual
  • Funções Matemáticas
  • Binário para decimal

bindec

(PHP 4, PHP 5, PHP 7, PHP 8)

bindec — Binário para decimal

Descrição

bindec ( string $binary_string ) : number

Retorna o equivalente decimal do número binário representado pelo argumento binary_string.

bindec() converte um número binário em um integer ou, se precisar por questão de tamanho, float.

Parâmetros

binary_string

The binary string to convert

Valor Retornado

The decimal value of binary_string

Changelog

Versão | Descrição
Desde o 4.1.0 | A função pode agora converter números grandes para se ajustar ao tipo integer da plataforma, valores grandes são retornados como float neste caso.

Exemplos

Exemplo #1 Exemplo da bindec()

<?php
echo bindec('110011') . "\n";
echo bindec('000110011') . "\n";

echo bindec('111');
?>

O exemplo acima irá imprimir:

51
51
7

Veja Também

  • decbin() - Decimal para binário
  • octdec() - Octal para decimal
  • hexdec() - Hexadecimal para decimal
  • base_convert() - Converte um número entre bases arbitrárias


Arredonda frações para cima

  • « bindec
  • cos »
  • PHP Manual
  • Funções Matemáticas
  • Arredonda frações para cima

ceil

(PHP 4, PHP 5, PHP 7, PHP 8)

ceil — Arredonda frações para cima

Descrição

ceil ( float $value ) : float

Retorna o próximo maior valor inteiro arredondando para cima do value, se fracionário.

Parâmetros

value

The value to round

Valor Retornado

value arredondado pra o próximo inteiro. O valor retornado de ceil() é do tipo float porque a dimensão dos valores suportados por float é normalmente maior do que o do tipo int.

Exemplos

Exemplo #1 ceil() example

<?php
echo ceil(4.3);    // 5
echo ceil(9.999);  // 10
echo ceil(-3.14);  // -3
?>

Veja Também

  • floor() - Arredonda frações para baixo
  • round() - Arredonda um número


Coseno

  • « ceil
  • cosh »
  • PHP Manual
  • Funções Matemáticas
  • Coseno

cos

(PHP 4, PHP 5, PHP 7, PHP 8)

cos — Coseno

Descrição

cos ( float $arg ) : float

cos() retorna o coseno de arg. O parâmetro arg deve estar em radianos.

Parâmetros

arg

Um ângulo em radianos

Valor Retornado

O cosseno de arg

Exemplos

Exemplo #1 Exemplo da cos()

<?php

echo cos(M_PI); // -1

?>

Veja Também

  • acos() - Cosseno Inverso (arco cosseno)
  • sin() - Seno
  • tan() - Tangente
  • deg2rad() - Converte o número em graus ao equivalente em radianos


Cosseno hiperbólico

  • « cos
  • decbin »
  • PHP Manual
  • Funções Matemáticas
  • Cosseno hiperbólico

cosh

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

cosh — Cosseno hiperbólico

Descrição

cosh ( float $arg ) : float

Retorna o cosseno hiperbólico de arg, definido por (exp(arg) + exp(-arg))/2.

Parâmetros

arg

O argumento para processar

Valor Retornado

O cosseno hiperbólico de arg

Veja Também

  • cos() - Coseno
  • acosh() - Cosseno Hiperbólico Inverso
  • sinh() - Seno hiperbólico
  • cosh()


Decimal para binário

  • « cosh
  • dechex »
  • PHP Manual
  • Funções Matemáticas
  • Decimal para binário

decbin

(PHP 4, PHP 5, PHP 7, PHP 8)

decbin — Decimal para binário

Descrição

decbin ( int $number ) : string

Retorna uma string contendo a representação binária do parâmetro number. O maior número que pode ser convertido é 4294967295 em decimal, resultando em uma strings de 32 números 1.

Parâmetros

number

Valor decimal para converter

Valor Retornado

String binária representando o number

Exemplos

Exemplo #1 Exemplo da decbin()

<?php
echo decbin(12) . "\n";
echo decbin(26);
?>

O exemplo acima irá imprimir:

1100
11010

Veja Também

  • bindec() - Binário para decimal
  • decoct() - Decimal para octal
  • dechex() - Decimal para hexadecimal
  • base_convert() - Converte um número entre bases arbitrárias


Decimal para hexadecimal

  • « decbin
  • decoct »
  • PHP Manual
  • Funções Matemáticas
  • Decimal para hexadecimal

dechex

(PHP 4, PHP 5, PHP 7, PHP 8)

dechex — Decimal para hexadecimal

Descrição

dechex ( int $number ) : string

Retorna uma string contendo a representação hexadecimal do argumento number. O maior número que pode ser convertido é 4294967295 em decimal, resultando em "ffffffff".

Parâmetros

number

Valor decimal para converter

Valor Retornado

String hexadecimal representando o number

Exemplos

Exemplo #1 Exemplo da dechex()

<?php
echo dechex(10) . "\n";
echo dechex(47);
?>

O exemplo acima irá imprimir:

a
2f

Veja Também

  • hexdec() - Hexadecimal para decimal
  • decbin() - Decimal para binário
  • decoct() - Decimal para octal
  • base_convert() - Converte um número entre bases arbitrárias


Decimal para octal

  • « dechex
  • deg2rad »
  • PHP Manual
  • Funções Matemáticas
  • Decimal para octal

decoct

(PHP 4, PHP 5, PHP 7, PHP 8)

decoct — Decimal para octal

Descrição

decoct ( int $number ) : string

Retorna uma string contendo a representação octal do parâmetro number. O maior número que pode ser convertido é 4294967295 em decimal, resultando em "37777777777".

Parâmetros

number

Valor decimal para converter

Valor Retornado

String octal representando o number

Exemplos

Exemplo #1 Exemplo da decoct()

<?php
echo decoct(15) . "\n";
echo decoct(264);
?>

O exemplo acima irá imprimir:

17
410

Veja Também

  • octdec() - Octal para decimal
  • decbin() - Decimal para binário
  • dechex() - Decimal para hexadecimal
  • base_convert() - Converte um número entre bases arbitrárias


Converte o número em graus ao equivalente em radianos

  • « decoct
  • exp »
  • PHP Manual
  • Funções Matemáticas
  • Converte o número em graus ao equivalente em radianos

deg2rad

(PHP 4, PHP 5, PHP 7, PHP 8)

deg2rad — Converte o número em graus ao equivalente em radianos

Descrição

deg2rad ( float $number ) : float

Esta função converte number de graus ao equivalente em radianos.

Parâmetros

number

Valor do ângulo em graus

Valor Retornado

O radiano equivalente ao number

Exemplos

Exemplo #1 Exemplo da deg2rad()

<?php

echo deg2rad(45); // 0.785398163397
var_dump(deg2rad(45) === M_PI_4); // bool(true)

?>

Veja Também

  • rad2deg() - Converte o número em radianos para o equivalente em graus


Calcula o expoente de e

  • « deg2rad
  • expm1 »
  • PHP Manual
  • Funções Matemáticas
  • Calcula o expoente de e

exp

(PHP 4, PHP 5, PHP 7, PHP 8)

exp — Calcula o expoente de e

Descrição

exp ( float $arg ) : float

Retorna e a potência de arg.

Nota:

'e' é a base do sistema natural de logaritmos, ou aproximadamente 2.718282.

Parâmetros

arg

O argumento para processar

Valor Retornado

'e' elevado a potência de arg

Exemplos

Exemplo #1 Exemplo da exp()

<?php
echo exp(12) . "\n";
echo exp(5.7);
?>

O exemplo acima irá imprimir:

1.6275E+005
298.87

Veja Também

  • log() - Logaritmo natural
  • pow() - Potência


Retorna exp(numero) - 1, computado de forma que é preciso mesmo quando o valor do número é perto de zero.

  • « exp
  • fdiv »
  • PHP Manual
  • Funções Matemáticas
  • Retorna exp(numero) - 1, computado de forma que é preciso mesmo quando o valor do número é perto de zero.

expm1

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

expm1 — Retorna exp(numero) - 1, computado de forma que é preciso mesmo quando o valor do número é perto de zero.

Descrição

expm1 ( float $arg ) : float
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

expm1() retorna o equivalente a 'exp(arg) - 1' computado na forma que é exato mesmo se o valor de arg é próximo de zero, há um caso onde 'exp (arg) - 1' pode ser inexato devido a subtração de dois números que são quase iguais.

Nota: esta função não é implementada na plataforma Windows

Parâmetros

arg

O argumento para processar

Valor Retornado

'e' para potência de arg menos 1

Veja Também

  • log1p() - Retorna o log(1 + numero), calculado de forma que o valor do número seja próximo de zero.
  • exp() - Calcula o expoente de e


Divides two numbers, according to IEEE 754

  • « expm1
  • floor »
  • PHP Manual
  • Funções Matemáticas
  • Divides two numbers, according to IEEE 754

fdiv

(PHP 8)

fdiv — Divides two numbers, according to IEEE 754

Descrição

fdiv ( float $num1 , float $num2 ) : float

Returns the floating point result of dividing the num1 by the num2. If the num2 is zero, then one of INF, -INF, or NAN will be returned.

Note that in comparisons, NAN will never == or ===, any value, including itself.

Parâmetros

num1

The dividend (numerator)

num2

The divisor

Valor Retornado

The floating point result of num1/num2

Exemplos

Exemplo #1 Using fdiv()

<?php
var_dump(fdiv(5.7, 1.3)); // float(4.384615384615385)
var_dump(fdiv(4, 2)); // float(2)
var_dump(fdiv(1.0, 0.0)); // float(INF)
var_dump(fdiv(-1.0, 0.0)); // float(-INF)
var_dump(fdiv(0.0, 0.0)); // float(NAN)
?>

Veja Também

  • / - Floating-point division
  • intdiv() - Integer division
  • fmod() - Modulus


Arredonda frações para baixo

  • « fdiv
  • fmod »
  • PHP Manual
  • Funções Matemáticas
  • Arredonda frações para baixo

floor

(PHP 4, PHP 5, PHP 7, PHP 8)

floor — Arredonda frações para baixo

Descrição

floor ( float $value ) : float

Retorna o próximo menor valor inteiro, arredondando o valor se necessário.

Parâmetros

valor

O número a ser arredondado

Valor Retornado

O valor arredondado para o próximo menor valor inteiro. O valor retornado de floor() é do tipo float porque o tipo float normalmente abrange mais números possíveis do que integer.

Exemplos

Exemplo #1 Exemplos de floor()

<?php
echo floor(4.3);   // 4
echo floor(9.999); // 9
echo floor(-3.14); // -4
?>

Veja Também

  • ceil() - Arredonda frações para cima
  • round() - Arredonda um número


Retorna o resto em ponto flutuante (módulo) da divisão dos argumentos

  • « floor
  • getrandmax »
  • PHP Manual
  • Funções Matemáticas
  • Retorna o resto em ponto flutuante (módulo) da divisão dos argumentos

fmod

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

fmod — Retorna o resto em ponto flutuante (módulo) da divisão dos argumentos

Descrição

fmod ( float $x , float $y ) : float

Retorna o resto em ponto flutuante da divisão do dividendo (x) pelo divisor (y). O resto (r) é definido como: x = i * y + r, para algum inteiro i. Se o y é diferente de zero, r terá o mesmo sinal de x e também uma magnitude menor do que a magnitude de y.

Parâmetros

x

O dividendo

y

O divisor

Valor Retornado

O resto em ponto flutuante de x/y

Exemplos

Exemplo #1 Usando fmod()

<?php
$x = 5.7;
$y = 1.3;
$r = fmod($x, $y);
// $r equals 0.5, because 4 * 1.3 + 0.5 = 5.7
?>


Retorna o maior valor aletório possível

  • « fmod
  • hexdec »
  • PHP Manual
  • Funções Matemáticas
  • Retorna o maior valor aletório possível

getrandmax

(PHP 4, PHP 5, PHP 7, PHP 8)

getrandmax — Retorna o maior valor aletório possível

Descrição

getrandmax ( ) : int

Retorna o maior valor que pode ser gerado em uma chamada a função rand().

Valor Retornado

O maior valor aleatório possível retornado pela função rand()

Veja Também

  • rand() - Gera um inteiro aleatório
  • srand() - Semeia o gerador de números aletórios
  • mt_getrandmax() - Retorna o maior valor aletório possível


Hexadecimal para decimal

  • « getrandmax
  • hypot »
  • PHP Manual
  • Funções Matemáticas
  • Hexadecimal para decimal

hexdec

(PHP 4, PHP 5, PHP 7, PHP 8)

hexdec — Hexadecimal para decimal

Descrição

hexdec ( string $hex_string ) : number

Retorna o decimal equivalente do número hexadecimal representado pelo argumento hex_string. hexdec() converte uma string hexadecimal para um número decimal.

hexdec() irá ignorar qualquer caracter não hexadecimal que encontrar.

Parâmetros

hex_string

The hexadecimal string to convert

Valor Retornado

The decimal representation of hex_string

Changelog

Versão | Descrição
Since 4.1.0 | A função pode agora converter valores que são maior que o tipo integer da plataforma, retornará o valor como float neste caso.

Exemplos

Exemplo #1 exemplos hexdec()

<?php
var_dump(hexdec("See"));
var_dump(hexdec("ee"));
// ambos exibem "int(238)"

var_dump(hexdec("that")); // print "int(10)"
var_dump(hexdec("a0")); // print "int(160)"
?>

Veja Também

  • dechex() - Decimal para hexadecimal
  • bindec() - Binário para decimal
  • octdec() - Octal para decimal
  • base_convert() - Converte um número entre bases arbitrárias


Calcula o tamanho da hipotenusa de um ângulo reto do triângulo Retorna a raiz quadrada de (num1*num1 + num2*num2)

  • « hexdec
  • intdiv »
  • PHP Manual
  • Funções Matemáticas
  • Calcula o tamanho da hipotenusa de um ângulo reto do triângulo Retorna a raiz quadrada de (num1*num1 + num2*num2)

hypot

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

hypot — Calcula o tamanho da hipotenusa de um ângulo reto do triângulo Retorna a raiz quadrada de (num1*num1 + num2*num2)

Descrição

hypot ( float $x , float $y ) : float

hypot() retorna o tamanho da hipotenusa de um ângulo reto do triângulo com lado de tamanho x e y, ou a distância do ponto (x, y) de uma origem. O equivalente a sqrt(x*x + y*y).

Parâmetros

x

Tamanho do primeiro lado

y

Tamanho do segundo lado

Valor Retornado

Tamanho calculado da hipotenusa


Dividir números inteiros

  • « hypot
  • is_finite »
  • PHP Manual
  • Funções Matemáticas
  • Dividir números inteiros

intdiv

(PHP 7, PHP 8)

intdiv — Dividir números inteiros

Descrição

intdiv ( int $dividendo , int $divisor ) : int

Retorna o quociente inteiro da divisão do dividendo pelo divisor.

Parâmetros

dividendo

Número a ser dividido.

divisor

Número que divide o dividendo.

Valor Retornado

O quociente inteiro da divisão do dividendo pelo divisor.

Erros

Se o divisor é 0, uma exceção DivisionByZeroError é lançada. Se o dividendo é PHP_INT_MIN e o divisor é -1, então uma exceção ArithmeticError é lançada.

Exemplos

Exemplo #1 intdiv() examplo

<?php
var_dump(intdiv(3, 2));
var_dump(intdiv(-3, 2));
var_dump(intdiv(3, -2));
var_dump(intdiv(-3, -2));
var_dump(intdiv(PHP_INT_MAX, PHP_INT_MAX));
var_dump(intdiv(PHP_INT_MIN, PHP_INT_MIN));
var_dump(intdiv(PHP_INT_MIN, -1));
var_dump(intdiv(1, 0));
?>
int(1)
int(-1)
int(-1)
int(1)
int(1)
int(1)

Fatal error: Uncaught ArithmeticError: Division of PHP_INT_MIN by -1 is not an integer in %s on line 8
Fatal error: Uncaught DivisionByZeroError: Division by zero in %s on line 9


Verifica se um valor é um número finito

  • « intdiv
  • is_infinite »
  • PHP Manual
  • Funções Matemáticas
  • Verifica se um valor é um número finito

is_finite

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

is_finite — Verifica se um valor é um número finito

Descrição

is_finite ( float $val ) : bool

Verifica se val é número finito legal na plataforma.

Parâmetros

val

The value to check

Valor Retornado

true se val é um número finito legal dentro do limite permitido para um float do PHP na plataforma, caso contrário false.

Veja Também

  • is_infinite() - Descrição
  • is_nan() - Verifica se um valor não é um número


Descrição

  • « is_finite
  • is_nan »
  • PHP Manual
  • Funções Matemáticas
  • Descrição

is_infinite

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

is_infinite —

Descrição

is_infinite ( float $val ) : bool

Retorna true se val é infinito (positivo ou negativo), como por exemplo o resultado de log(0) ou qualquer outro valor muito grande para caber num float desta plataforma.

Parâmetros

val

O valor para verificar

Valor Retornado

true se val é infinito, caso contrário false.

Veja Também

  • is_finite() - Verifica se um valor é um número finito
  • is_nan() - Verifica se um valor não é um número


Verifica se um valor não é um número

  • « is_infinite
  • lcg_value »
  • PHP Manual
  • Funções Matemáticas
  • Verifica se um valor não é um número

is_nan

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

is_nan — Verifica se um valor não é um número

Descrição

is_nan ( float $val ) : bool

Verifica se val é 'não é um número', como o resultado de acos(1.01).

Parâmetros

val

The value to check

Valor Retornado

Retorna true se val é 'não é um numéro', caso contrário false.

Exemplos

Exemplo #1 Exemplo de is_nan()

<?php
// Cálculo inválido, irá retornar um
// valor NaN
$nan = acos(8);

var_dump($nan, is_nan($nan));
?>

O exemplo acima irá imprimir:

float(NAN)
bool(true)

Veja Também

  • is_finite() - Verifica se um valor é um número finito
  • is_infinite() - Descrição


Gerador congruente linear combinado

  • « is_nan
  • log10 »
  • PHP Manual
  • Funções Matemáticas
  • Gerador congruente linear combinado

lcg_value

(PHP 4, PHP 5, PHP 7, PHP 8)

lcg_value — Gerador congruente linear combinado

Descrição

lcg_value ( ) : float

lcg_value() retorna um pseudo número aleatório nos limites de (0, 1). A função combina duas congruências geradas, com períodos de 2^31 - 85 e 2^31 - 249. O período desta função é igual ao produto de ambos os primos.

Cuidado

Esta função não gera valores criptograficamente seguros, e não deve ser utilizada para fins de criptografia. Se você precisa de valores criptograficamente seguros considere utilizarrandom_int(), random_bytes() ou openssl_random_pseudo_bytes().

Valor Retornado

Um pseudo valor float aleatório no intervalo (0, 1)

Veja Também

  • rand() - Gera um inteiro aleatório
  • mt_rand() - Gerador melhorado de números aleatórios


Logaritmo Base-10

  • « lcg_value
  • log1p »
  • PHP Manual
  • Funções Matemáticas
  • Logaritmo Base-10

log10

(PHP 4, PHP 5, PHP 7, PHP 8)

log10 — Logaritmo Base-10

Descrição

log10 ( float $arg ) : float

Retorna o logaritmo na base-10 de arg.

Parâmetros

arg

O argumento para processar

Valor Retornado

O logaritmo na base-10 de arg

Veja Também

  • log() - Logaritmo natural


Retorna o log(1 + numero), calculado de forma que o valor do número seja próximo de zero.

  • « log10
  • log »
  • PHP Manual
  • Funções Matemáticas
  • Retorna o log(1 + numero), calculado de forma que o valor do número seja próximo de zero.

log1p

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

log1p — Retorna o log(1 + numero), calculado de forma que o valor do número seja próximo de zero.

Descrição

log1p ( float $number ) : float
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

log1p() retorna log(1 + number) computado na forma que é correta até quando o valor de number é perto de zero. log() pode somente retornar log(1) neste caso devido a falta de precisão.

Parâmetros

number

O argumento para processar

Valor Retornado

log(1 + number)

Changelog

Versão | Descrição
5.3.0 | Esta função está agora disponível em todas plataformas

Veja Também

  • expm1() - Retorna exp(numero) - 1, computado de forma que é preciso mesmo quando o valor do número é perto de zero.
  • log() - Logaritmo natural
  • log10() - Logaritmo Base-10


Logaritmo natural

  • « log1p
  • max »
  • PHP Manual
  • Funções Matemáticas
  • Logaritmo natural

log

(PHP 4, PHP 5, PHP 7, PHP 8)

log — Logaritmo natural

Descrição

log ( float $arg , float $base = M_E ) : float

Se o parâmetro opcional base for informado, log() retorna logbase arg, senão log() retorna o logaritmo natural de arg.

Parâmetros

arg

O valor para calcular o logaritmo

base

O logaritmo base opcional para usar (padrão é 'e' e assim o logaritmo natural).

Valor Retornado

O logarimo de arg na base, se fornecido, ou o logaritmo natural.

Veja Também

  • log10() - Logaritmo Base-10
  • exp() - Calcula o expoente de e
  • pow() - Potência


Localiza o maior valor

  • « log
  • min »
  • PHP Manual
  • Funções Matemáticas
  • Localiza o maior valor

max

(PHP 4, PHP 5, PHP 7, PHP 8)

max — Localiza o maior valor

Descrição

max ( array $values ) : mixed
max ( mixed $value1 , mixed $value2 , mixed $... = ? ) : mixed

Se o primeiro e único parâmetro é um array, max() retorna o maior valor do array. Se no mínimo dois parâmetros são fornecidos, max() retornará o maior desses valores.

Nota:

Valores de diferentes tipos serão comparados utilizando as regras padrões de comparação. Por exemplo uma string não numérica será comparada a um integer como se fosse 0, mas vários valores não numéricos strings serão comparadas alfabeticamente. O valor atual retornado terá o tipo original, sem nenhuma conversão.

Cuidado

Cuidado ao passar argumentos de vários tipos, o que deixa o resultado de max() imprevisível.

Parâmetros

values

Um array contendo os valores.

value1

Qualquer valor comparável.

value2

Qualquer valor comparável.

...

Qualquer valor comparável.

Valor Retornado

max() retorna o parâmetro considerado o "maior" de acordo com as comparações padrões. Se vários valores de tipos diferenes são considerados iguais (por exemplo, 0 e 'abc') então o primeiro valor será retornado.

Se um array vazio for passado, então false será retornado e um alerta E_WARNING será emitido.

Exemplos

Exemplo #1 Exemplos de max()

<?php
echo max(2, 3, 1, 6, 7);  // 7
echo max(array(2, 4, 5)); // 5

// A string 'hello' quando comparada com um int é tratado como 0
// Como são iguais na comparação, a ordem influencia o resultado
echo max(0, 'hello');     // 0
echo max('hello', 0);     // hello

// Aqui na prática compara-se -1 < 0, então 'hello' é o maior valor
echo max('hello', -1);    // hello

// Arrays de múltiplos valores e tamanhos diferentes, retora o mais longo
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)

// Em arrays de mesmo tamanho compara-se da esquerda para direita
// e nesse exemplo: 2 == 2, mas 5 > 4
$val = max(array(2, 4, 8), array(2, 5, 1)); // array(2, 5, 1)

// Se um array e um não array são informados, o array será retornado
// pois é considerado maior que qualquer outro valor
$val = max('string', array(2, 5, 7), 42);   // array(2, 5, 7)

// Se um argumento é NULL ou booleano, ele será comparado contra
// outros valores utilizando a regra FALSE < TRUE independente dos tipos envolvidos.
// No exemplo abaixo -10 é tratado como TRUE na comparação
$val = max(-10, FALSE); // -10

// 0 por outro lado é considerado false, de forma que é "menor que" TRUE
$val = max(0, TRUE); // TRUE
?>

Veja Também

  • min() - Encontra o menor valor
  • count() - Conta o número de elementos de uma variável, ou propriedades de um objeto


Encontra o menor valor

  • « max
  • mt_getrandmax »
  • PHP Manual
  • Funções Matemáticas
  • Encontra o menor valor

min

(PHP 4, PHP 5, PHP 7, PHP 8)

min — Encontra o menor valor

Descrição

min ( array $values ) : mixed
min ( mixed $value1 , mixed $value2 , mixed $... = ? ) : mixed

Se o primeiro e único argumento é um array, min() retorna o menor valor no array. Se no mínimo dois parâmetros são fornecidos, min() retornará o menor deles.

Nota:

Valores de tipos diferentes serão comparados utilizando as regras padrões de comparação. Por exempli uma string não numérica será comparada com um inteiro integer como se fosse 0, mas vários valores não numéricos strings serão comparadas alfabeticamente. O valor retornado terá o tipo original, sem nenhuma conversão aplicada.

Cuidado

Cuidado ao passar argumentos de vários tipos, o que deixa o resultado de min() imprevisível.

Parâmetros

values

Um array contendo os valores.

value1

Qualquer valor comparável.

value2

Qualquer valor comparável.

...

Qualquer valor comparável.

Valor Retornado

min() retorna o valor considerado o "menor" de acordo com as comparações padrão. Se valores de diferentes tipos forem avaliados como iguais (por exemplo 0 e 'abc') então o primeiro valor fornecido será retornado.

Se um array vazio for informado, então false será retornado e será emitido um alerta E_WARNING.

Exemplos

Exemplo #1 Exemplos de min()

<?php
echo min(2, 3, 1, 6, 7);  // 1
echo min(array(2, 4, 5)); // 2

// A string 'hello' quando comparada com um int é tratada como 0
// Como os valores são iguais, a ordem determina o resultado
echo min(0, 'hello');     // 0
echo min('hello', 0);     // hello

// Aqui a comparação que ocorre é -1 < 0, e -1 é o menor valor
echo min('hello', -1);    // -1

// Quando comparando arrays de vários comprimentos, min retorna o mais curto
$val = min(array(2, 2, 2), array(1, 1, 1, 1)); // array(2, 2, 2)

// Vários arrays de mesmo tamanho, a comparação ocorre nos elementos, da esquerda para direita
// so in our example: 2 == 2, but 4 < 5
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)

// Se for fornecido um array e um primitivo, o array nunca é retornado
// pois as comparações tratam os arrays como maiores que outros valores
$val = min('string', array(2, 5, 7), 42);   // string

// Se um argumento é null ou booleando, ele será comparado com outros valores
// usando a regra que FALSE < TRUE, independente dos tipos envolvidos
// Nos exemplos abaixo -10 e 10 são tratados como TRUE nas comparações
$val = min(-10, FALSE, 10); // FALSE
$val = min(-10, NULL, 10);  // NULL

// 0 é tratado como FALSE, então é menor que TRUE
$val = min(0, TRUE); // 0
?>

Veja Também

  • max() - Localiza o maior valor
  • count() - Conta o número de elementos de uma variável, ou propriedades de um objeto


Retorna o maior valor aletório possível

  • « min
  • mt_rand »
  • PHP Manual
  • Funções Matemáticas
  • Retorna o maior valor aletório possível

mt_getrandmax

(PHP 4, PHP 5, PHP 7, PHP 8)

mt_getrandmax — Retorna o maior valor aletório possível

Descrição

mt_getrandmax ( ) : int

Retorna o maior valor que pode ser obtido numa chamada a mt_rand().

Valor Retornado

Retorna o maior valor possível de uma chamada a mt_rand() sem argumentos, que o máximo valor que pode ser utilizado no parâmetro max sem o resultado ser escalonado (perdendo assim aleatoriedade).

Exemplos

Exemplo #1 Calcula um número aleatório de ponto flutuante

<?php
function randomFloat($min = 0, $max = 1) {
    return $min + mt_rand() / mt_getrandmax() * ($max - $min);
}

var_dump(randomFloat());
var_dump(randomFloat(2, 20));
?>

O exemplo acima irá imprimir algo similar à:

float(0.91601131712832)
float(16.511210331931)

Veja Também

  • mt_rand() - Gerador melhorado de números aleatórios
  • mt_srand() - Semeia o gerador melhorado de números aleatórios
  • getrandmax() - Retorna o maior valor aletório possível


Gerador melhorado de números aleatórios

  • « mt_getrandmax
  • mt_srand »
  • PHP Manual
  • Funções Matemáticas
  • Gerador melhorado de números aleatórios

mt_rand

(PHP 4, PHP 5, PHP 7, PHP 8)

mt_rand — Gerador melhorado de números aleatórios

Descrição

mt_rand ( ) : int
mt_rand ( int $min , int $max ) : int

Muitos geradores de números aleatórios das libcs antigas são duvidosos ou com características duvidosas e lentos. Por default, o PHP utiliza o gerador de números aleatórios da libc para a função rand(). A função mt_rand() é um bom substituto para a primeira. Ela utiliza um gerador de números aleatórios com características conhecidas, o » Mersenne Twister, que produzirá números randômicos quatro vezes mais rápido que média provida pela rand() da libc.

Se chamada sem os argumentos opcionais min e max, mt_rand() retorna um pseudo número aletório enrte 0 e mt_getrandmax(). se você precisa de um número randômico entre 5 e 15 (inclusive), por exemplo, utilize mt_rand (5, 15).

Nota: Não é necessário semear o gerador de números aleatórios com srand() ou mt_srand(), já que isso é realizado automaticamente.

Parâmetros

min

Menor valor opcional para ser retornado (padrão: 0)

max

Maior valor opcional para ser retornado (padrão: mt_getrandmax())

Valor Retornado

Um valor inteiro entre min (ou 0) e max (ou mt_getrandmax(), inclusive)

Changelog

Versão | Descrição
Desde o 3.0.7 | Em versões anteriores a 3.0.7, o significado do parâmetro max era range. Assim, para obter os mesmos resultados do exemplo acima, você precisaria utilizar rand (5, 11) para obter um número aleatório entre 5 e 15.

Exemplos

Exemplo #1 mt_rand() example

<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";

echo mt_rand(5, 15);
?>

O exemplo acima irá imprimir algo similar à:

1604716014
1478613278
6

Veja Também

  • mt_srand() - Semeia o gerador melhorado de números aleatórios
  • mt_getrandmax() - Retorna o maior valor aletório possível
  • rand() - Gera um inteiro aleatório


Semeia o gerador melhorado de números aleatórios

  • « mt_rand
  • octdec »
  • PHP Manual
  • Funções Matemáticas
  • Semeia o gerador melhorado de números aleatórios

mt_srand

(PHP 4, PHP 5, PHP 7, PHP 8)

mt_srand — Semeia o gerador melhorado de números aleatórios

Descrição

mt_srand ( int $seed = ? ) : void

Semeia o gerador de números aleatórios com seed ou com um valor aleatório se nenhum seed é dado.

Nota: Não é necessário semear o gerador de números aleatórios com srand() ou mt_srand(), já que isso é realizado automaticamente.

Parâmetros

seed

O opcional valor de seed

Changelog

Versão | Descrição
Desde 4.2.0 | O seed tornou-se opcional e padrão para um valor aleatório se omitido.
Desde 5.2.1 | A implementação Mersenne Twister em PHP agora sua um novo algoritmo de seeding por Richard Wagner. Idênticos seeds não produzem a mesma seqüência de valores que tinham em versões anteriores. Este comportamento não é esperado que seja modificado, mas é considerado não seguro confiar nele.

Exemplos

Exemplo #1 Exemplo da mt_srand()

<?php
// semente de microsegundos
function make_seed()
{
    list($usec, $sec) = explode(' ', microtime());
    return (float) $sec + ((float) $usec * 100000);
}
mt_srand(make_seed());
$randval = mt_rand();
?>

Veja Também

  • mt_rand() - Gerador melhorado de números aleatórios
  • mt_getrandmax() - Retorna o maior valor aletório possível
  • srand() - Semeia o gerador de números aletórios


Octal para decimal

  • « mt_srand
  • pi »
  • PHP Manual
  • Funções Matemáticas
  • Octal para decimal

octdec

(PHP 4, PHP 5, PHP 7, PHP 8)

octdec — Octal para decimal

Descrição

octdec ( string $octal_string ) : number

Retorna o decimal equivalente do número octal representado pelo argumento octal_string.

Parâmetros

octal_string

A string octal a ser convertida

Valor Retornado

A representação decimal de octal_string

Exemplos

Exemplo #1 Exemplo da octdec()

<?php
echo octdec('77') . "\n";
echo octdec(decoct(45));
?>

O exemplo acima irá imprimir:

63
45

Notas

Nota:

A função pode converter números que são muito grandes para caber no tipo integer da plataforma, e nesse caso os valores são retornados como float.

Veja Também

  • decoct() - Decimal para octal
  • bindec() - Binário para decimal
  • hexdec() - Hexadecimal para decimal
  • base_convert() - Converte um número entre bases arbitrárias


Obtém o valor de pi

  • « octdec
  • pow »
  • PHP Manual
  • Funções Matemáticas
  • Obtém o valor de pi

pi

(PHP 4, PHP 5, PHP 7, PHP 8)

pi — Obtém o valor de pi

Descrição

pi ( ) : float

Retorna uma aproximação de pi. O retornado float tem uma precisão baseado na diretiva precision no php.ini, onde o padrão é 14. Também, você pode usar a constante M_PI que tem resultado idêntico a pi().

Valor Retornado

O valor de pi como float.

Exemplos

Exemplo #1 Exemplo da pi()

<?php
echo pi(); // 3.1415926535898
echo M_PI; // 3.1415926535898
?>


Potência

  • « pi
  • rad2deg »
  • PHP Manual
  • Funções Matemáticas
  • Potência

pow

(PHP 4, PHP 5, PHP 7, PHP 8)

pow — Potência

Descrição

pow ( number $base , number $exp ) : number

Retorna a base elevada ao expoente exp.

Nota:

A partir do PHP 5.6 onwards você pode preferir usar o operador **.

Parâmetros

base

O valor base

exp

O expoente

Valor Retornado

base exponenciado ao valor de exp. Se ambos os valores não forem negativos e o resultado puder ser representado como um inteiro, o resultado retornado será do tipo integer, e em outros casos será retornado como um float.

Exemplos

Exemplo #1 Alguns exemplos de pow()

<?php

var_dump(pow(2, 8)); // int(256)
echo pow(-1, 20); // 1
echo pow(0, 0); // 1
echo pow(10, -1); // 0.1

echo pow(-1, 5.5); // PHP >=5.2.2: NAN
echo pow(-1, 5.5); // PHP <5.2.2: -NAN
?>

Notas

Nota:

Esta função converterá todos os tipos para números, mesmo valores não escalares, o que pode levar a resultados esquisitos.

Veja Também

  • exp() - Calcula o expoente de e
  • sqrt() - Raiz quadrada
  • bcpow() - Eleva um número de precisão arbitrária a outro
  • gmp_pow() - Potenciação


Converte o número em radianos para o equivalente em graus

  • « pow
  • rand »
  • PHP Manual
  • Funções Matemáticas
  • Converte o número em radianos para o equivalente em graus

rad2deg

(PHP 4, PHP 5, PHP 7, PHP 8)

rad2deg — Converte o número em radianos para o equivalente em graus

Descrição

rad2deg ( float $number ) : float

Esta função converte number de radianos para graus.

Parâmetros

number

Um valor radiano

Valor Retornado

O equivalente de number em graus

Exemplos

Exemplo #1 Exemplo da rad2deg()

<?php

echo rad2deg(M_PI_4); // 45

?>

Veja Também

  • deg2rad() - Converte o número em graus ao equivalente em radianos


Gera um inteiro aleatório

  • « rad2deg
  • round »
  • PHP Manual
  • Funções Matemáticas
  • Gera um inteiro aleatório

rand

(PHP 4, PHP 5, PHP 7, PHP 8)

rand — Gera um inteiro aleatório

Descrição

rand ( ) : int
rand ( int $min , int $max ) : int

Se chamado sem os parâmetros opcionais min e max, rand() retornará um pseudo inteiro randômico entre 0 e getrandmax(). Se você precisa de um número aleatório entre 5 e 15 (inclusive), por exemplo, utilize rand (5, 15).

Nota: Em algumas plataformas (como o Windows) getrandmax() é somente 32768. Se você precisa de um número maior que 32768, especificando min e max permitirá você criar um intervalo maior que isso, ou então utilizar mt_rand() ao invés.

Nota: Não é necessário semear o gerador de números aleatórios com srand() ou mt_srand(), já que isso é realizado automaticamente.

Parâmetros

min

O menor valor para retornar (padrão: 0)

max

O maior valor para retornar (padrão: getrandmax())

Valor Retornado

Um pseudo valor aleatório entre min (ou 0) e max (ou getrandmax(), inclusive).

Changelog

Versão | Descrição
Desde o 3.0.7 | Em versões anteriores a 3.0.7, o significado do parâmetro max era range. Assim, para obter os mesmos resultados do exemplo acima, você precisaria utilizar rand (5, 11) para obter um número aleatório entre 5 e 15.

Exemplos

Exemplo #1 Exemplo da rand()

<?php
echo rand() . "\n";
echo rand() . "\n";

echo rand(5, 15);
?>

O exemplo acima irá imprimir algo similar à:

7771
22264
11

Veja Também

  • srand() - Semeia o gerador de números aletórios
  • getrandmax() - Retorna o maior valor aletório possível
  • mt_rand() - Gerador melhorado de números aleatórios


Arredonda um número

  • « rand
  • sin »
  • PHP Manual
  • Funções Matemáticas
  • Arredonda um número

round

(PHP 4, PHP 5, PHP 7, PHP 8)

round — Arredonda um número

Descrição

round ( float $val , int $precision = ? ) : float

Retornar um valor arredondado de val em precision casas decimais. precision pode ser negativo ou zero (padrão).

Nota: o PHP não manipula strings como "12,300.2" corretamente por padrão. Veja convertendo de strings.

Nota: O parâmetro precision foi acrescentado no PHP 4.

Parâmetros

val

O valor para arredondar

precision

O número opcional de dígitos decimais para arredondar, o padrão é 0

Valor Retornado

O valor arredondado

Exemplos

Exemplo #1 Exemplos da round()

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
?>

Veja Também

  • ceil() - Arredonda frações para cima
  • floor() - Arredonda frações para baixo
  • number_format() - Formata um número com os milhares agrupados


Seno

  • « round
  • sinh »
  • PHP Manual
  • Funções Matemáticas
  • Seno

sin

(PHP 4, PHP 5, PHP 7, PHP 8)

sin — Seno

Descrição

sin ( float $arg ) : float

sin() retorna o seno do parâmetro arg. O argumento arg deve estar em radianos.

Parâmetros

arg

O valor em radianos

Valor Retornado

O seno do arg

Exemplos

Exemplo #1 Exemplo da sin()

<?php

// Precisão depende da diretiva precision
echo sin(deg2rad(60));  //  0.866025403 ...
echo sin(60);           // -0.304810621 ...

?>

Veja Também

  • asin() - Seno Inverso (arco seno)
  • sinh() - Seno hiperbólico
  • cos() - Coseno
  • tan() - Tangente
  • deg2rad() - Converte o número em graus ao equivalente em radianos


Seno hiperbólico

  • « sin
  • sqrt »
  • PHP Manual
  • Funções Matemáticas
  • Seno hiperbólico

sinh

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

sinh — Seno hiperbólico

Descrição

sinh ( float $arg ) : float

Retorna o seno hiperbólico de arg, definido como (exp(arg) - exp(-arg))/2.

Parâmetros

arg

O argumento para processar

Valor Retornado

O seno hiperbólico de arg

Veja Também

  • sin() - Seno
  • asinh() - Seno Hiperbólico Inverso
  • cosh() - Cosseno hiperbólico
  • tanh() - Tangente hiperbólica


Raiz quadrada

  • « sinh
  • srand »
  • PHP Manual
  • Funções Matemáticas
  • Raiz quadrada

sqrt

(PHP 4, PHP 5, PHP 7, PHP 8)

sqrt — Raiz quadrada

Descrição

sqrt ( float $arg ) : float

Retorna a raiz quadrada de arg.

Parâmetros

arg

O argumento para processar

Valor Retornado

A raiz quadrada de arg ou o valor especial NAN para números negativos.

Exemplos

Exemplo #1 Exemplo da sqrt()

<?php
// Precisão depende de sua diretiva precision
echo sqrt(9); // 3
echo sqrt(10); // 3.16227766 ...
?>

Veja Também

  • pow() - Potência


Semeia o gerador de números aletórios

  • « sqrt
  • tan »
  • PHP Manual
  • Funções Matemáticas
  • Semeia o gerador de números aletórios

srand

(PHP 4, PHP 5, PHP 7, PHP 8)

srand — Semeia o gerador de números aletórios

Descrição

srand ( int $seed = ? ) : void

Semeia o gerador de números aleatórios com seed ou com um valor aleatório se seed não é dado.

Nota: Não é necessário semear o gerador de números aleatórios com srand() ou mt_srand(), já que isso é realizado automaticamente.

Parâmetros

seed

Uma semente integer arbitrária.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Exemplo da função srand()

<?php
// Semeia com microsegundos
function make_seed()
{
  list($usec, $sec) = explode(' ', microtime());
  return $sec + $usec * 1000000;
}
srand(make_seed());
$randval = rand();
?>

Veja Também

  • rand() - Gera um inteiro aleatório
  • getrandmax() - Retorna o maior valor aletório possível
  • mt_srand() - Semeia o gerador melhorado de números aleatórios


Tangente

  • « srand
  • tanh »
  • PHP Manual
  • Funções Matemáticas
  • Tangente

tan

(PHP 4, PHP 5, PHP 7, PHP 8)

tan — Tangente

Descrição

tan ( float $arg ) : float

tan() retorna a tangente do parâmetro arg. O argumento arg deve estar em radianos.

Parâmetros

arg

O argumento para processar em radianos

Valor Retornado

A tangente de arg

Exemplos

Exemplo #1 Exemplo da tan()

<?php

echo tan(M_PI_4); // 1

?>

Veja Também

  • atan() - Tangente Inversa (arco tangente)
  • atan2() - Tangente inversa de duas variáveis
  • sin() - Seno
  • cos() - Coseno
  • tanh() - Tangente hiperbólica
  • deg2rad() - Converte o número em graus ao equivalente em radianos


Tangente hiperbólica

  • « tan
  • Statistics »
  • PHP Manual
  • Funções Matemáticas
  • Tangente hiperbólica

tanh

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

tanh — Tangente hiperbólica

Descrição

tanh ( float $arg ) : float

Retorna a tangente hiperbólica de arg, definida como sinh(arg)/cosh(arg).

Parâmetros

arg

O argumento para processar

Valor Retornado

A tangente hiperbólica de arg

Veja Também

  • tan() - Tangente
  • atanh() - Tangente hiperbólica inversa
  • sinh() - Seno hiperbólico
  • cosh() - Cosseno hiperbólico


Statistics

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Statistic Funções
    • stats_absolute_deviation — Returns the absolute deviation of an array of values
    • stats_cdf_beta — Calculates any one parameter of the beta distribution given values for the others
    • stats_cdf_binomial — Calculates any one parameter of the binomial distribution given values for the others
    • stats_cdf_cauchy — Calculates any one parameter of the Cauchy distribution given values for the others
    • stats_cdf_chisquare — Calculates any one parameter of the chi-square distribution given values for the others
    • stats_cdf_exponential — Calculates any one parameter of the exponential distribution given values for the others
    • stats_cdf_f — Calculates any one parameter of the F distribution given values for the others
    • stats_cdf_gamma — Calculates any one parameter of the gamma distribution given values for the others
    • stats_cdf_laplace — Calculates any one parameter of the Laplace distribution given values for the others
    • stats_cdf_logistic — Calculates any one parameter of the logistic distribution given values for the others
    • stats_cdf_negative_binomial — Calculates any one parameter of the negative binomial distribution given values for the others
    • stats_cdf_noncentral_chisquare — Calculates any one parameter of the non-central chi-square distribution given values for the others
    • stats_cdf_noncentral_f — Calculates any one parameter of the non-central F distribution given values for the others
    • stats_cdf_noncentral_t — Calculates any one parameter of the non-central t-distribution give values for the others
    • stats_cdf_normal — Calculates any one parameter of the normal distribution given values for the others
    • stats_cdf_poisson — Calculates any one parameter of the Poisson distribution given values for the others
    • stats_cdf_t — Calculates any one parameter of the t-distribution given values for the others
    • stats_cdf_uniform — Calculates any one parameter of the uniform distribution given values for the others
    • stats_cdf_weibull — Calculates any one parameter of the Weibull distribution given values for the others
    • stats_covariance — Computes the covariance of two data sets
    • stats_dens_beta — Probability density function of the beta distribution
    • stats_dens_cauchy — Probability density function of the Cauchy distribution
    • stats_dens_chisquare — Probability density function of the chi-square distribution
    • stats_dens_exponential — Probability density function of the exponential distribution
    • stats_dens_f — Probability density function of the F distribution
    • stats_dens_gamma — Probability density function of the gamma distribution
    • stats_dens_laplace — Probability density function of the Laplace distribution
    • stats_dens_logistic — Probability density function of the logistic distribution
    • stats_dens_normal — Probability density function of the normal distribution
    • stats_dens_pmf_binomial — Probability mass function of the binomial distribution
    • stats_dens_pmf_hypergeometric — Probability mass function of the hypergeometric distribution
    • stats_dens_pmf_negative_binomial — Probability mass function of the negative binomial distribution
    • stats_dens_pmf_poisson — Probability mass function of the Poisson distribution
    • stats_dens_t — Probability density function of the t-distribution
    • stats_dens_uniform — Probability density function of the uniform distribution
    • stats_dens_weibull — Probability density function of the Weibull distribution
    • stats_harmonic_mean — Returns the harmonic mean of an array of values
    • stats_kurtosis — Computes the kurtosis of the data in the array
    • stats_rand_gen_beta — Generates a random deviate from the beta distribution
    • stats_rand_gen_chisquare — Generates a random deviate from the chi-square distribution
    • stats_rand_gen_exponential — Generates a random deviate from the exponential distribution
    • stats_rand_gen_f — Generates a random deviate from the F distribution
    • stats_rand_gen_funiform — Generates uniform float between low (exclusive) and high (exclusive)
    • stats_rand_gen_gamma — Generates a random deviate from the gamma distribution
    • stats_rand_gen_ibinomial_negative — Generates a random deviate from the negative binomial distribution
    • stats_rand_gen_ibinomial — Generates a random deviate from the binomial distribution
    • stats_rand_gen_int — Generates random integer between 1 and 2147483562
    • stats_rand_gen_ipoisson — Generates a single random deviate from a Poisson distribution
    • stats_rand_gen_iuniform — Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
    • stats_rand_gen_noncentral_chisquare — Generates a random deviate from the non-central chi-square distribution
    • stats_rand_gen_noncentral_f — Generates a random deviate from the noncentral F distribution
    • stats_rand_gen_noncentral_t — Generates a single random deviate from a non-central t-distribution
    • stats_rand_gen_normal — Generates a single random deviate from a normal distribution
    • stats_rand_gen_t — Generates a single random deviate from a t-distribution
    • stats_rand_get_seeds — Get the seed values of the random number generator
    • stats_rand_phrase_to_seeds — Generate two seeds for the RGN random number generator
    • stats_rand_ranf — Generates a random floating point number between 0 and 1
    • stats_rand_setall — Set seed values to the random generator
    • stats_skew — Computes the skewness of the data in the array
    • stats_standard_deviation — Returns the standard deviation
    • stats_stat_binomial_coef — Returns a binomial coefficient
    • stats_stat_correlation — Returns the Pearson correlation coefficient of two data sets
    • stats_stat_factorial — Returns the factorial of an integer
    • stats_stat_independent_t — Returns the t-value from the independent two-sample t-test
    • stats_stat_innerproduct — Returns the inner product of two vectors
    • stats_stat_paired_t — Returns the t-value of the dependent t-test for paired samples
    • stats_stat_percentile — Returns the percentile value
    • stats_stat_powersum — Returns the power sum of a vector
    • stats_variance — Returns the variance


Introdução

This is the statistics extension. It contains few dozens of functions useful for statistical computations. It is a wrapper around 2 scientific libraries, namely DCDFLIB (Library of C routines for Cumulative Distributions Functions, Inverses, and Other parameters) by B. Brown & J. Lavato and RANDLIB by Barry Brown, James Lavato & Kathy Russell. Includes CD and PD functions.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

No external libraries are needed. The extension comes bundled with the libraries used.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/stats.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


  • « Tipos de Recurso
  • Statistic Funções »
  • PHP Manual
  • Statistics
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Statistic Funções

Índice

  • stats_absolute_deviation — Returns the absolute deviation of an array of values
  • stats_cdf_beta — Calculates any one parameter of the beta distribution given values for the others
  • stats_cdf_binomial — Calculates any one parameter of the binomial distribution given values for the others
  • stats_cdf_cauchy — Calculates any one parameter of the Cauchy distribution given values for the others
  • stats_cdf_chisquare — Calculates any one parameter of the chi-square distribution given values for the others
  • stats_cdf_exponential — Calculates any one parameter of the exponential distribution given values for the others
  • stats_cdf_f — Calculates any one parameter of the F distribution given values for the others
  • stats_cdf_gamma — Calculates any one parameter of the gamma distribution given values for the others
  • stats_cdf_laplace — Calculates any one parameter of the Laplace distribution given values for the others
  • stats_cdf_logistic — Calculates any one parameter of the logistic distribution given values for the others
  • stats_cdf_negative_binomial — Calculates any one parameter of the negative binomial distribution given values for the others
  • stats_cdf_noncentral_chisquare — Calculates any one parameter of the non-central chi-square distribution given values for the others
  • stats_cdf_noncentral_f — Calculates any one parameter of the non-central F distribution given values for the others
  • stats_cdf_noncentral_t — Calculates any one parameter of the non-central t-distribution give values for the others
  • stats_cdf_normal — Calculates any one parameter of the normal distribution given values for the others
  • stats_cdf_poisson — Calculates any one parameter of the Poisson distribution given values for the others
  • stats_cdf_t — Calculates any one parameter of the t-distribution given values for the others
  • stats_cdf_uniform — Calculates any one parameter of the uniform distribution given values for the others
  • stats_cdf_weibull — Calculates any one parameter of the Weibull distribution given values for the others
  • stats_covariance — Computes the covariance of two data sets
  • stats_dens_beta — Probability density function of the beta distribution
  • stats_dens_cauchy — Probability density function of the Cauchy distribution
  • stats_dens_chisquare — Probability density function of the chi-square distribution
  • stats_dens_exponential — Probability density function of the exponential distribution
  • stats_dens_f — Probability density function of the F distribution
  • stats_dens_gamma — Probability density function of the gamma distribution
  • stats_dens_laplace — Probability density function of the Laplace distribution
  • stats_dens_logistic — Probability density function of the logistic distribution
  • stats_dens_normal — Probability density function of the normal distribution
  • stats_dens_pmf_binomial — Probability mass function of the binomial distribution
  • stats_dens_pmf_hypergeometric — Probability mass function of the hypergeometric distribution
  • stats_dens_pmf_negative_binomial — Probability mass function of the negative binomial distribution
  • stats_dens_pmf_poisson — Probability mass function of the Poisson distribution
  • stats_dens_t — Probability density function of the t-distribution
  • stats_dens_uniform — Probability density function of the uniform distribution
  • stats_dens_weibull — Probability density function of the Weibull distribution
  • stats_harmonic_mean — Returns the harmonic mean of an array of values
  • stats_kurtosis — Computes the kurtosis of the data in the array
  • stats_rand_gen_beta — Generates a random deviate from the beta distribution
  • stats_rand_gen_chisquare — Generates a random deviate from the chi-square distribution
  • stats_rand_gen_exponential — Generates a random deviate from the exponential distribution
  • stats_rand_gen_f — Generates a random deviate from the F distribution
  • stats_rand_gen_funiform — Generates uniform float between low (exclusive) and high (exclusive)
  • stats_rand_gen_gamma — Generates a random deviate from the gamma distribution
  • stats_rand_gen_ibinomial_negative — Generates a random deviate from the negative binomial distribution
  • stats_rand_gen_ibinomial — Generates a random deviate from the binomial distribution
  • stats_rand_gen_int — Generates random integer between 1 and 2147483562
  • stats_rand_gen_ipoisson — Generates a single random deviate from a Poisson distribution
  • stats_rand_gen_iuniform — Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
  • stats_rand_gen_noncentral_chisquare — Generates a random deviate from the non-central chi-square distribution
  • stats_rand_gen_noncentral_f — Generates a random deviate from the noncentral F distribution
  • stats_rand_gen_noncentral_t — Generates a single random deviate from a non-central t-distribution
  • stats_rand_gen_normal — Generates a single random deviate from a normal distribution
  • stats_rand_gen_t — Generates a single random deviate from a t-distribution
  • stats_rand_get_seeds — Get the seed values of the random number generator
  • stats_rand_phrase_to_seeds — Generate two seeds for the RGN random number generator
  • stats_rand_ranf — Generates a random floating point number between 0 and 1
  • stats_rand_setall — Set seed values to the random generator
  • stats_skew — Computes the skewness of the data in the array
  • stats_standard_deviation — Returns the standard deviation
  • stats_stat_binomial_coef — Returns a binomial coefficient
  • stats_stat_correlation — Returns the Pearson correlation coefficient of two data sets
  • stats_stat_factorial — Returns the factorial of an integer
  • stats_stat_independent_t — Returns the t-value from the independent two-sample t-test
  • stats_stat_innerproduct — Returns the inner product of two vectors
  • stats_stat_paired_t — Returns the t-value of the dependent t-test for paired samples
  • stats_stat_percentile — Returns the percentile value
  • stats_stat_powersum — Returns the power sum of a vector
  • stats_variance — Returns the variance


Returns the absolute deviation of an array of values

  • « Statistic Funções
  • stats_cdf_beta »
  • PHP Manual
  • Statistic Funções
  • Returns the absolute deviation of an array of values

stats_absolute_deviation

(PECL stats >= 1.0.0)

stats_absolute_deviation — Returns the absolute deviation of an array of values

Descrição

stats_absolute_deviation ( array $a ) : float

Returns the absolute deviation of the values in a.

Parâmetros

a

The input array

Valor Retornado

Returns the absolute deviation of the values in a, or false if a is empty or is not an array.


Calculates any one parameter of the beta distribution given values for the others

  • « stats_absolute_deviation
  • stats_cdf_binomial »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the beta distribution given values for the others

stats_cdf_beta

(PECL stats >= 1.0.0)

stats_cdf_beta — Calculates any one parameter of the beta distribution given values for the others

Descrição

stats_cdf_beta ( float $par1 , float $par2 , float $par3 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the beta distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, alpha, and beta denotes cumulative distribution function, the value of the random variable, and shape parameters of the beta distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | alpha | beta
2 | x | CDF | alpha | beta
3 | alpha | x | CDF | beta
4 | beta | x | CDF | alpha

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, alpha, or beta, determined by which.


Calculates any one parameter of the binomial distribution given values for the others

  • « stats_cdf_beta
  • stats_cdf_cauchy »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the binomial distribution given values for the others

stats_cdf_binomial

(PECL stats >= 1.0.0)

stats_cdf_binomial — Calculates any one parameter of the binomial distribution given values for the others

Descrição

stats_cdf_binomial ( float $par1 , float $par2 , float $par3 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the binomial distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, n, and p denotes cumulative distribution function, the number of successes, the number of trials, and the success rate for each trial, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | n | p
2 | x | CDF | n | p
3 | n | x | CDF | p
4 | p | x | CDF | n

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, n, or p, determined by which.


Calculates any one parameter of the Cauchy distribution given values for the others

  • « stats_cdf_binomial
  • stats_cdf_chisquare »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the Cauchy distribution given values for the others

stats_cdf_cauchy

(PECL stats >= 1.0.0)

stats_cdf_cauchy — Calculates any one parameter of the Cauchy distribution given values for the others

Descrição

stats_cdf_cauchy ( float $par1 , float $par2 , float $par3 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the Cauchy distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, x0, and gamma denotes cumulative distribution function, the value of the random variable, the location and the scale parameter of the Cauchy distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | x0 | gamma
2 | x | CDF | x0 | gamma
3 | x0 | x | CDF | gamma
4 | gamma | x | CDF | x0

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, x0, or gamma, determined by which.


Calculates any one parameter of the chi-square distribution given values for the others

  • « stats_cdf_cauchy
  • stats_cdf_exponential »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the chi-square distribution given values for the others

stats_cdf_chisquare

(PECL stats >= 1.0.0)

stats_cdf_chisquare — Calculates any one parameter of the chi-square distribution given values for the others

Descrição

stats_cdf_chisquare ( float $par1 , float $par2 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the chi-square distribution. The kind of the return value and parameters (par1 and par2) are determined by which.

The following table lists the return value and parameters by which. CDF, x, and k denotes cumulative distribution function, the value of the random variable, and the degree of freedom of the chi-square distribution, respectively.

Return value and parameters
which | Return value | par1 | par2
1 | CDF | x | k
2 | x | CDF | k
3 | k | x | CDF

Parâmetros

par1

The first parameter

par2

The second parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, or k, determined by which.


Calculates any one parameter of the exponential distribution given values for the others

  • « stats_cdf_chisquare
  • stats_cdf_f »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the exponential distribution given values for the others

stats_cdf_exponential

(PECL stats >= 1.0.0)

stats_cdf_exponential — Calculates any one parameter of the exponential distribution given values for the others

Descrição

stats_cdf_exponential ( float $par1 , float $par2 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the exponential distribution. The kind of the return value and parameters (par1 and par2) are determined by which.

The following table lists the return value and parameters by which. CDF, x, and lambda denotes cumulative distribution function, the value of the random variable, and the rate parameter of the exponential distribution, respectively.

Return value and parameters
which | Return value | par1 | par2
1 | CDF | x | lambda
2 | x | CDF | lambda
3 | lambda | x | CDF

Parâmetros

par1

The first parameter

par2

The second parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, or lambda, determined by which.


Calculates any one parameter of the F distribution given values for the others

  • « stats_cdf_exponential
  • stats_cdf_gamma »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the F distribution given values for the others

stats_cdf_f

(PECL stats >= 1.0.0)

stats_cdf_f — Calculates any one parameter of the F distribution given values for the others

Descrição

stats_cdf_f ( float $par1 , float $par2 , float $par3 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the F distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, d1, and d2 denotes cumulative distribution function, the value of the random variable, and the degree of freedoms of the F distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | d1 | d2
2 | x | CDF | d1 | d2
3 | d1 | x | CDF | d2
4 | d2 | x | CDF | d1

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, d1, or d2, determined by which.


Calculates any one parameter of the gamma distribution given values for the others

  • « stats_cdf_f
  • stats_cdf_laplace »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the gamma distribution given values for the others

stats_cdf_gamma

(PECL stats >= 1.0.0)

stats_cdf_gamma — Calculates any one parameter of the gamma distribution given values for the others

Descrição

stats_cdf_gamma ( float $par1 , float $par2 , float $par3 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the gamma distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, k, and theta denotes cumulative distribution function, the value of the random variable, and the shape and the scale parameter of the gamma distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | k | theta
2 | x | CDF | k | theta
3 | k | x | CDF | theta
4 | theta | x | CDF | k

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, k, or theta, determined by which.


Calculates any one parameter of the Laplace distribution given values for the others

  • « stats_cdf_gamma
  • stats_cdf_logistic »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the Laplace distribution given values for the others

stats_cdf_laplace

(PECL stats >= 1.0.0)

stats_cdf_laplace — Calculates any one parameter of the Laplace distribution given values for the others

Descrição

stats_cdf_laplace ( float $par1 , float $par2 , float $par3 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the Laplace distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, mu, and b denotes cumulative distribution function, the value of the random variable, and the location and the scale parameter of the Laplace distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | mu | b
2 | x | CDF | mu | b
3 | mu | x | CDF | b
4 | b | x | CDF | mu

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, mu, or b, determined by which.


Calculates any one parameter of the logistic distribution given values for the others

  • « stats_cdf_laplace
  • stats_cdf_negative_binomial »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the logistic distribution given values for the others

stats_cdf_logistic

(PECL stats >= 1.0.0)

stats_cdf_logistic — Calculates any one parameter of the logistic distribution given values for the others

Descrição

stats_cdf_logistic ( float $par1 , float $par2 , float $par3 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the logistic distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, mu, and s denotes cumulative distribution function, the value of the random variable, and the location and the scale parameter of the logistic distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | mu | s
2 | x | CDF | mu | s
3 | mu | x | CDF | s
4 | s | x | CDF | mu

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, mu, or s, determined by which.


Calculates any one parameter of the negative binomial distribution given values for the others

  • « stats_cdf_logistic
  • stats_cdf_noncentral_chisquare »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the negative binomial distribution given values for the others

stats_cdf_negative_binomial

(PECL stats >= 1.0.0)

stats_cdf_negative_binomial — Calculates any one parameter of the negative binomial distribution given values for the others

Descrição

stats_cdf_negative_binomial ( float $par1 , float $par2 , float $par3 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the negative binomial distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, r, and p denotes cumulative distribution function, the number of failure, the number of success, and the success rate for each trial, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | r | p
2 | x | CDF | r | p
3 | r | x | CDF | p
4 | p | x | CDF | r

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, r, or p, determined by which.


Calculates any one parameter of the non-central chi-square distribution given values for the others

  • « stats_cdf_negative_binomial
  • stats_cdf_noncentral_f »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the non-central chi-square distribution given values for the others

stats_cdf_noncentral_chisquare

(PECL stats >= 1.0.0)

stats_cdf_noncentral_chisquare — Calculates any one parameter of the non-central chi-square distribution given values for the others

Descrição

stats_cdf_noncentral_chisquare ( float $par1 , float $par2 , float $par3 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the non-central chi-square distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, k, and lambda denotes cumulative distribution function, the value of the random variable, the degree of freedom and the non-centrality parameter of the distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | k | lambda
2 | x | CDF | k | lambda
3 | k | x | CDF | lambda
4 | lambda | x | CDF | k

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, k, or lambda, determined by which.


Calculates any one parameter of the non-central F distribution given values for the others

  • « stats_cdf_noncentral_chisquare
  • stats_cdf_noncentral_t »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the non-central F distribution given values for the others

stats_cdf_noncentral_f

(PECL stats >= 1.0.0)

stats_cdf_noncentral_f — Calculates any one parameter of the non-central F distribution given values for the others

Descrição

stats_cdf_noncentral_f ( float $par1 , float $par2 , float $par3 , float $par4 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the non-central F distribution. The kind of the return value and parameters (par1, par2, par3, and par4) are determined by which.

The following table lists the return value and parameters by which. CDF, x, nu1, nu2, and lambda denotes cumulative distribution function, the value of the random variable, the degree of freedoms and the non-centrality parameter of the distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3 | par4
1 | CDF | x | nu1 | nu2 | lambda
2 | x | CDF | nu1 | nu2 | lambda
3 | nu1 | x | CDF | nu2 | lambda
4 | nu2 | x | CDF | nu1 | lambda
5 | lambda | x | CDF | nu1 | nu2

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

par4

The fourth parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, nu1, nu2, or lambda, determined by which.


Calculates any one parameter of the non-central t-distribution give values for the others

  • « stats_cdf_noncentral_f
  • stats_cdf_normal »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the non-central t-distribution give values for the others

stats_cdf_noncentral_t

(PECL stats >= 1.0.0)

stats_cdf_noncentral_t — Calculates any one parameter of the non-central t-distribution give values for the others

Descrição

stats_cdf_noncentral_t ( float $par1 , float $par2 , float $par3 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the non-central t-distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, nu, and mu denotes cumulative distribution function, the value of the random variable, the degrees of freedom and the non-centrality parameter of the distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | nu | mu
2 | x | CDF | nu | mu
3 | nu | x | CDF | mu
4 | mu | x | CDF | nu

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, nu, or mu, determined by which.


Calculates any one parameter of the normal distribution given values for the others

  • « stats_cdf_noncentral_t
  • stats_cdf_poisson »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the normal distribution given values for the others

stats_cdf_normal

(PECL stats >= 1.0.0)

stats_cdf_normal — Calculates any one parameter of the normal distribution given values for the others

Descrição

stats_cdf_normal ( float $par1 , float $par2 , float $par3 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the normal distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, mu, and sigma denotes cumulative distribution function, the value of the random variable, the mean and the standard deviation of the normal distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | mu | sigma
2 | x | CDF | mu | sigma
3 | mu | x | CDF | sigma
4 | sigma | x | CDF | mu

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, mu, or sigma, determined by which.


Calculates any one parameter of the Poisson distribution given values for the others

  • « stats_cdf_normal
  • stats_cdf_t »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the Poisson distribution given values for the others

stats_cdf_poisson

(PECL stats >= 1.0.0)

stats_cdf_poisson — Calculates any one parameter of the Poisson distribution given values for the others

Descrição

stats_cdf_poisson ( float $par1 , float $par2 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the Poisson distribution. The kind of the return value and parameters (par1 and par2) are determined by which.

The following table lists the return value and parameters by which. CDF, x, and lambda denotes cumulative distribution function, the value of the random variable, and the parameter of the Poisson distribution, respectively.

Return value and parameters
which | Return value | par1 | par2
1 | CDF | x | lambda
2 | x | CDF | lambda
3 | lambda | x | CDF

Parâmetros

par1

The first parameter

par2

The second parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, or lambda, determined by which.


Calculates any one parameter of the t-distribution given values for the others

  • « stats_cdf_poisson
  • stats_cdf_uniform »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the t-distribution given values for the others

stats_cdf_t

(PECL stats >= 1.0.0)

stats_cdf_t — Calculates any one parameter of the t-distribution given values for the others

Descrição

stats_cdf_t ( float $par1 , float $par2 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the t-distribution. The kind of the return value and parameters (par1 and par2) are determined by which.

The following table lists the return value and parameters by which. CDF, x, and nu denotes cumulative distribution function, the value of the random variable, and the degrees of freedom of the t-distribution, respectively.

Return value and parameters
which | Return value | par1 | par2
1 | CDF | x | nu
2 | x | CDF | nu
3 | nu | x | CDF

Parâmetros

par1

The first parameter

par2

The second parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, or nu, determined by which.


Calculates any one parameter of the uniform distribution given values for the others

  • « stats_cdf_t
  • stats_cdf_weibull »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the uniform distribution given values for the others

stats_cdf_uniform

(PECL stats >= 1.0.0)

stats_cdf_uniform — Calculates any one parameter of the uniform distribution given values for the others

Descrição

stats_cdf_uniform ( float $par1 , float $par2 , float $par3 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the uniform distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, a, and b denotes cumulative distribution function, the value of the random variable, the lower bound and the higher bound of the uniform distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | a | b
2 | x | CDF | a | b
3 | a | x | CDF | b
4 | b | x | CDF | a

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, a, or b, determined by which.


Calculates any one parameter of the Weibull distribution given values for the others

  • « stats_cdf_uniform
  • stats_covariance »
  • PHP Manual
  • Statistic Funções
  • Calculates any one parameter of the Weibull distribution given values for the others

stats_cdf_weibull

(PECL stats >= 1.0.0)

stats_cdf_weibull — Calculates any one parameter of the Weibull distribution given values for the others

Descrição

stats_cdf_weibull ( float $par1 , float $par2 , float $par3 , int $which ) : float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the Weibull distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, k, and lambda denotes cumulative distribution function, the value of the random variable, the shape and the scale parameter of the Weibull distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | k | lambda
2 | x | CDF | k | lambda
3 | k | x | CDF | lambda
4 | lambda | x | CDF | k

Parâmetros

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, k, or lambda, determined by which.


Computes the covariance of two data sets

  • « stats_cdf_weibull
  • stats_dens_beta »
  • PHP Manual
  • Statistic Funções
  • Computes the covariance of two data sets

stats_covariance

(PECL stats >= 1.0.0)

stats_covariance — Computes the covariance of two data sets

Descrição

stats_covariance ( array $a , array $b ) : float

Returns the covariance of a and b.

Parâmetros

a

The first array

b

The second array

Valor Retornado

Returns the covariance of a and b, or false on failure.


Probability density function of the beta distribution

  • « stats_covariance
  • stats_dens_cauchy »
  • PHP Manual
  • Statistic Funções
  • Probability density function of the beta distribution

stats_dens_beta

(PECL stats >= 1.0.0)

stats_dens_beta — Probability density function of the beta distribution

Descrição

stats_dens_beta ( float $x , float $a , float $b ) : float

Returns the probability density at x, where the random variable follows the beta distribution of which the shape parameters are a and b.

Parâmetros

x

The value at which the probability density is calculated

a

The shape parameter of the distribution

b

The shape parameter of the distribution

Valor Retornado

The probability density at x or false for failure.


Probability density function of the Cauchy distribution

  • « stats_dens_beta
  • stats_dens_chisquare »
  • PHP Manual
  • Statistic Funções
  • Probability density function of the Cauchy distribution

stats_dens_cauchy

(PECL stats >= 1.0.0)

stats_dens_cauchy — Probability density function of the Cauchy distribution

Descrição

stats_dens_cauchy ( float $x , float $ave , float $stdev ) : float

Returns the probability density at x, where the random variable follows the Cauchy distribution whose location and scale are ave and stdev, respectively.

Parâmetros

x

The value at which the probability density is calculated

ave

The location parameter of the distribution

stdev

The scale parameter of the distribution

Valor Retornado

The probability density at x or false for failure.


Probability density function of the chi-square distribution

  • « stats_dens_cauchy
  • stats_dens_exponential »
  • PHP Manual
  • Statistic Funções
  • Probability density function of the chi-square distribution

stats_dens_chisquare

(PECL stats >= 1.0.0)

stats_dens_chisquare — Probability density function of the chi-square distribution

Descrição

stats_dens_chisquare ( float $x , float $dfr ) : float

Returns the probability density at x, where the random variable follows the chi-square distribution of which the degree of freedom is dfr.

Parâmetros

x

The value at which the probability density is calculated

dfr

The degree of freedom of the distribution

Valor Retornado

The probability density at x or false for failure.


Probability density function of the exponential distribution

  • « stats_dens_chisquare
  • stats_dens_f »
  • PHP Manual
  • Statistic Funções
  • Probability density function of the exponential distribution

stats_dens_exponential

(PECL stats >= 1.0.0)

stats_dens_exponential — Probability density function of the exponential distribution

Descrição

stats_dens_exponential ( float $x , float $scale ) : float

Returns the probability density at x, where the random variable follows the exponential distribution of which the scale is scale.

Parâmetros

x

The value at which the probability density is calculated

scale

The scale of the distribution

Valor Retornado

The probability density at x or false for failure.


Probability density function of the F distribution

  • « stats_dens_exponential
  • stats_dens_gamma »
  • PHP Manual
  • Statistic Funções
  • Probability density function of the F distribution

stats_dens_f

(PECL stats >= 1.0.0)

stats_dens_f — Probability density function of the F distribution

Descrição

stats_dens_f ( float $x , float $dfr1 , float $dfr2 ) : float

Returns the probability density at x, where the random variable follows the F distribution of which the degree of freedoms are dfr1 and dfr2.

Parâmetros

x

The value at which the probability density is calculated

dfr1

The degree of freedom of the distribution

dfr2

The degree of freedom of the distribution

Valor Retornado

The probability density at x or false for failure.


Probability density function of the gamma distribution

  • « stats_dens_f
  • stats_dens_laplace »
  • PHP Manual
  • Statistic Funções
  • Probability density function of the gamma distribution

stats_dens_gamma

(PECL stats >= 1.0.0)

stats_dens_gamma — Probability density function of the gamma distribution

Descrição

stats_dens_gamma ( float $x , float $shape , float $scale ) : float

Returns the probability density at x, where the random variable follows the gamma distribution of which the shape parameter is shape and the scale parameter is scale.

Parâmetros

x

The value at which the probability density is calculated

shape

The shape parameter of the distribution

scale

The scale parameter of the distribution

Valor Retornado

The probability density at x or false for failure.


Probability density function of the Laplace distribution

  • « stats_dens_gamma
  • stats_dens_logistic »
  • PHP Manual
  • Statistic Funções
  • Probability density function of the Laplace distribution

stats_dens_laplace

(PECL stats >= 1.0.0)

stats_dens_laplace — Probability density function of the Laplace distribution

Descrição

stats_dens_laplace ( float $x , float $ave , float $stdev ) : float

Returns the probability density at x, where the random variable follows the Laplace distribution of which the location parameter is ave and the scale parameter is stdev.

Parâmetros

x

The value at which the probability density is calculated

ave

The location parameter of the distribution

stdev

The shape parameter of the distribution

Valor Retornado

The probability density at x or false for failure.


Probability density function of the logistic distribution

  • « stats_dens_laplace
  • stats_dens_normal »
  • PHP Manual
  • Statistic Funções
  • Probability density function of the logistic distribution

stats_dens_logistic

(PECL stats >= 1.0.0)

stats_dens_logistic — Probability density function of the logistic distribution

Descrição

stats_dens_logistic ( float $x , float $ave , float $stdev ) : float

Returns the probability density at x, where the random variable follows the logistic distribution of which the location parameter is ave and the scale parameter is stdev.

Parâmetros

x

The value at which the probability density is calculated

ave

The location parameter of the distribution

stdev

The shape parameter of the distribution

Valor Retornado

The probability density at x or false for failure.


Probability density function of the normal distribution

  • « stats_dens_logistic
  • stats_dens_pmf_binomial »
  • PHP Manual
  • Statistic Funções
  • Probability density function of the normal distribution

stats_dens_normal

(PECL stats >= 1.0.0)

stats_dens_normal — Probability density function of the normal distribution

Descrição

stats_dens_normal ( float $x , float $ave , float $stdev ) : float

Returns the probability density at x, where the random variable follows the normal distribution of which the mean is ave and the standard deviation is stdev.

Parâmetros

x

The value at which the probability density is calculated

ave

The mean of the distribution

stdev

The standard deviation of the distribution

Valor Retornado

The probability density at x or false for failure.


Probability mass function of the binomial distribution

  • « stats_dens_normal
  • stats_dens_pmf_hypergeometric »
  • PHP Manual
  • Statistic Funções
  • Probability mass function of the binomial distribution

stats_dens_pmf_binomial

(PECL stats >= 1.0.0)

stats_dens_pmf_binomial — Probability mass function of the binomial distribution

Descrição

stats_dens_pmf_binomial ( float $x , float $n , float $pi ) : float

Returns the probability mass at x, where the random variable follows the binomial distribution of which the number of trials is n and the success rate is pi.

Parâmetros

x

The value at which the probability mass is calculated

n

The number of trials of the distribution

pi

The success rate of the distribution

Valor Retornado

The probability mass at x or false for failure.


Probability mass function of the hypergeometric distribution

  • « stats_dens_pmf_binomial
  • stats_dens_pmf_negative_binomial »
  • PHP Manual
  • Statistic Funções
  • Probability mass function of the hypergeometric distribution

stats_dens_pmf_hypergeometric

(PECL stats >= 1.0.0)

stats_dens_pmf_hypergeometric — Probability mass function of the hypergeometric distribution

Descrição

stats_dens_pmf_hypergeometric ( float $n1 , float $n2 , float $N1 , float $N2 ) : float

Returns the probability mass at n1, where the random variable follows the hypergeometric distribution of which the number of failure is n2, the number of success samples is N1, and the number of failure samples is N2.

Parâmetros

n1

The number of success, at which the probability mass is calculated

n2

The number of failure of the distribution

N1

The number of success samples of the distribution

N2

The number of failure samples of the distribution

Valor Retornado

The probability mass at n1 or false for failure.


Probability mass function of the negative binomial distribution

  • « stats_dens_pmf_hypergeometric
  • stats_dens_pmf_poisson »
  • PHP Manual
  • Statistic Funções
  • Probability mass function of the negative binomial distribution

stats_dens_pmf_negative_binomial

(PECL stats >= 1.0.0)

stats_dens_pmf_negative_binomial — Probability mass function of the negative binomial distribution

Descrição

stats_dens_pmf_negative_binomial ( float $x , float $n , float $pi ) : float

Returns the probability mass at x, where the random variable follows the negative binomial distribution of which the number of the success is n and the success rate is pi.

Parâmetros

x

The value at which the probability mass is calculated

n

The number of the success of the distribution

pi

The success rate of the distribution

Valor Retornado

The probability mass at x or false for failure.


Probability mass function of the Poisson distribution

  • « stats_dens_pmf_negative_binomial
  • stats_dens_t »
  • PHP Manual
  • Statistic Funções
  • Probability mass function of the Poisson distribution

stats_dens_pmf_poisson

(PECL stats >= 1.0.0)

stats_dens_pmf_poisson — Probability mass function of the Poisson distribution

Descrição

stats_dens_pmf_poisson ( float $x , float $lb ) : float

Returns the probability mass at x, where the random variable follows the Poisson distribution whose parameter is lb.

Parâmetros

x

The value at which the probability mass is calculated

lb

The parameter of the Poisson distribution

Valor Retornado

The probability mass at x or false for failure.


Probability density function of the t-distribution

  • « stats_dens_pmf_poisson
  • stats_dens_uniform »
  • PHP Manual
  • Statistic Funções
  • Probability density function of the t-distribution

stats_dens_t

(PECL stats >= 1.0.0)

stats_dens_t — Probability density function of the t-distribution

Descrição

stats_dens_t ( float $x , float $dfr ) : float

Returns the probability density at x, where the random variable follows the t-distribution of which the degree of freedom is dfr.

Parâmetros

x

The value at which the probability density is calculated

dfr

The degree of freedom of the distribution

Valor Retornado

The probability density at x or false for failure.


Probability density function of the uniform distribution

  • « stats_dens_t
  • stats_dens_weibull »
  • PHP Manual
  • Statistic Funções
  • Probability density function of the uniform distribution

stats_dens_uniform

(PECL stats >= 1.0.0)

stats_dens_uniform — Probability density function of the uniform distribution

Descrição

stats_dens_uniform ( float $x , float $a , float $b ) : float

Returns the probability density at x, where the random variable follows the uniform distribution of which the lower bound is a and the upper bound is b.

Parâmetros

x

The value at which the probability density is calculated

a

The lower bound of the distribution

b

The upper bound of the distribution

Valor Retornado

The probability density at x or false for failure.


Probability density function of the Weibull distribution

  • « stats_dens_uniform
  • stats_harmonic_mean »
  • PHP Manual
  • Statistic Funções
  • Probability density function of the Weibull distribution

stats_dens_weibull

(PECL stats >= 1.0.0)

stats_dens_weibull — Probability density function of the Weibull distribution

Descrição

stats_dens_weibull ( float $x , float $a , float $b ) : float

Returns the probability density at x, where the random variable follows the Weibull distribution of which the shape parameter is a and the scale parameter is b.

Parâmetros

x

The value at which the probability density is calculated

a

The shape parameter of the distribution

b

The scale parameter of the distribution

Valor Retornado

The probability density at x or false for failure.


Returns the harmonic mean of an array of values

  • « stats_dens_weibull
  • stats_kurtosis »
  • PHP Manual
  • Statistic Funções
  • Returns the harmonic mean of an array of values

stats_harmonic_mean

(PECL stats >= 1.0.0)

stats_harmonic_mean — Returns the harmonic mean of an array of values

Descrição

stats_harmonic_mean ( array $a ) : number

Returns the harmonic mean of the values in a.

Parâmetros

a

The input array

Valor Retornado

Returns the harmonic mean of the values in a, or false if a is empty or is not an array.


Computes the kurtosis of the data in the array

  • « stats_harmonic_mean
  • stats_rand_gen_beta »
  • PHP Manual
  • Statistic Funções
  • Computes the kurtosis of the data in the array

stats_kurtosis

(PECL stats >= 1.0.0)

stats_kurtosis — Computes the kurtosis of the data in the array

Descrição

stats_kurtosis ( array $a ) : float

Returns the kurtosis of the values in a.

Parâmetros

a

The input array

Valor Retornado

Returns the kurtosis of the values in a, or false if a is empty or is not an array.


Generates a random deviate from the beta distribution

  • « stats_kurtosis
  • stats_rand_gen_chisquare »
  • PHP Manual
  • Statistic Funções
  • Generates a random deviate from the beta distribution

stats_rand_gen_beta

(PECL stats >= 1.0.0)

stats_rand_gen_beta — Generates a random deviate from the beta distribution

Descrição

stats_rand_gen_beta ( float $a , float $b ) : float

Returns a random deviate from the beta distribution with parameters A and B. The density of the beta is x^(a-1) * (1-x)^(b-1) / B(a,b) for 0 < x <. Method R. C. H. Cheng.

Parâmetros

a

The shape parameter of the beta distribution

b

The shape parameter of the beta distribution

Valor Retornado

A random deviate


Generates a random deviate from the chi-square distribution

  • « stats_rand_gen_beta
  • stats_rand_gen_exponential »
  • PHP Manual
  • Statistic Funções
  • Generates a random deviate from the chi-square distribution

stats_rand_gen_chisquare

(PECL stats >= 1.0.0)

stats_rand_gen_chisquare — Generates a random deviate from the chi-square distribution

Descrição

stats_rand_gen_chisquare ( float $df ) : float

Returns a random deviate from the chi-square distribution where the degrees of freedom is df.

Parâmetros

df

The degrees of freedom

Valor Retornado

A random deviate


Generates a random deviate from the exponential distribution

  • « stats_rand_gen_chisquare
  • stats_rand_gen_f »
  • PHP Manual
  • Statistic Funções
  • Generates a random deviate from the exponential distribution

stats_rand_gen_exponential

(PECL stats >= 1.0.0)

stats_rand_gen_exponential — Generates a random deviate from the exponential distribution

Descrição

stats_rand_gen_exponential ( float $av ) : float

Returns a random deviate from the exponential distribution of which the scale is av.

Parâmetros

av

The scale parameter

Valor Retornado

A random deviate


Generates a random deviate from the F distribution

  • « stats_rand_gen_exponential
  • stats_rand_gen_funiform »
  • PHP Manual
  • Statistic Funções
  • Generates a random deviate from the F distribution

stats_rand_gen_f

(PECL stats >= 1.0.0)

stats_rand_gen_f — Generates a random deviate from the F distribution

Descrição

stats_rand_gen_f ( float $dfn , float $dfd ) : float

Generates a random deviate from the F (variance ratio) distribution with "dfn" degrees of freedom in the numerator and "dfd" degrees of freedom in the denominator. Method : directly generates ratio of chisquare variates.

Parâmetros

dfn

The degrees of freedom in the numerator

dfd

The degrees of freedom in the denominator

Valor Retornado

A random deviate


Generates uniform float between low (exclusive) and high (exclusive)

  • « stats_rand_gen_f
  • stats_rand_gen_gamma »
  • PHP Manual
  • Statistic Funções
  • Generates uniform float between low (exclusive) and high (exclusive)

stats_rand_gen_funiform

(PECL stats >= 1.0.0)

stats_rand_gen_funiform — Generates uniform float between low (exclusive) and high (exclusive)

Descrição

stats_rand_gen_funiform ( float $low , float $high ) : float

Returns a random deviate from the uniform distribution from low to high.

Parâmetros

low

The lower bound (inclusive)

high

The upper bound (exclusive)

Valor Retornado

A random deviate


Generates a random deviate from the gamma distribution

  • « stats_rand_gen_funiform
  • stats_rand_gen_ibinomial_negative »
  • PHP Manual
  • Statistic Funções
  • Generates a random deviate from the gamma distribution

stats_rand_gen_gamma

(PECL stats >= 1.0.0)

stats_rand_gen_gamma — Generates a random deviate from the gamma distribution

Descrição

stats_rand_gen_gamma ( float $a , float $r ) : float

Generates a random deviate from the gamma distribution whose density is (A**R)/Gamma(R) * X**(R-1) * Exp(-A*X).

Parâmetros

a

location parameter of Gamma distribution (a > 0).

r

shape parameter of Gamma distribution (r > 0).

Valor Retornado

A random deviate


Generates a random deviate from the negative binomial distribution

  • « stats_rand_gen_gamma
  • stats_rand_gen_ibinomial »
  • PHP Manual
  • Statistic Funções
  • Generates a random deviate from the negative binomial distribution

stats_rand_gen_ibinomial_negative

(PECL stats >= 1.0.0)

stats_rand_gen_ibinomial_negative — Generates a random deviate from the negative binomial distribution

Descrição

stats_rand_gen_ibinomial_negative ( int $n , float $p ) : int

Returns a random deviate from a negative binomial distribution where the number of success is n and the success rate is p.

Parâmetros

n

The number of success

p

The success rate

Valor Retornado

A random deviate, which is the number of failure.


Generates a random deviate from the binomial distribution

  • « stats_rand_gen_ibinomial_negative
  • stats_rand_gen_int »
  • PHP Manual
  • Statistic Funções
  • Generates a random deviate from the binomial distribution

stats_rand_gen_ibinomial

(PECL stats >= 1.0.0)

stats_rand_gen_ibinomial — Generates a random deviate from the binomial distribution

Descrição

stats_rand_gen_ibinomial ( int $n , float $pp ) : int

Returns a random deviate from the binomial distribution whose number of trials is n and whose probability of an event in each trial is pp.

Parâmetros

n

The number of trials

pp

The probability of an event in each trial

Valor Retornado

A random deviate


Generates random integer between 1 and 2147483562

  • « stats_rand_gen_ibinomial
  • stats_rand_gen_ipoisson »
  • PHP Manual
  • Statistic Funções
  • Generates random integer between 1 and 2147483562

stats_rand_gen_int

(PECL stats >= 1.0.0)

stats_rand_gen_int — Generates random integer between 1 and 2147483562

Descrição

stats_rand_gen_int ( ) : int

Returns a random integer between 1 and 2147483562

Valor Retornado

A random integer


Generates a single random deviate from a Poisson distribution

  • « stats_rand_gen_int
  • stats_rand_gen_iuniform »
  • PHP Manual
  • Statistic Funções
  • Generates a single random deviate from a Poisson distribution

stats_rand_gen_ipoisson

(PECL stats >= 1.0.0)

stats_rand_gen_ipoisson — Generates a single random deviate from a Poisson distribution

Descrição

stats_rand_gen_ipoisson ( float $mu ) : int

Returns a random deviate from the Poisson distribution with parameter mu.

Parâmetros

mu

The parameter of the Poisson distribution

Valor Retornado

A random deviate


Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)

  • « stats_rand_gen_ipoisson
  • stats_rand_gen_noncentral_chisquare »
  • PHP Manual
  • Statistic Funções
  • Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)

stats_rand_gen_iuniform

(PECL stats >= 1.0.0)

stats_rand_gen_iuniform — Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)

Descrição

stats_rand_gen_iuniform ( int $low , int $high ) : int

Returns a random integer from the discrete uniform distribution between low (inclusive) and high (inclusive).

Parâmetros

low

The lower bound

high

The upper bound

Valor Retornado

A random integer


Generates a random deviate from the non-central chi-square distribution

  • « stats_rand_gen_iuniform
  • stats_rand_gen_noncentral_f »
  • PHP Manual
  • Statistic Funções
  • Generates a random deviate from the non-central chi-square distribution

stats_rand_gen_noncentral_chisquare

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_chisquare — Generates a random deviate from the non-central chi-square distribution

Descrição

stats_rand_gen_noncentral_chisquare ( float $df , float $xnonc ) : float

Returns a random deviate from the non-central chi-square distribution with degrees of freedom, df, and non-centrality parameter, xnonc.

Parâmetros

df

The degrees of freedom

xnonc

The non-centrality parameter

Valor Retornado

A random deviate


Generates a random deviate from the noncentral F distribution

  • « stats_rand_gen_noncentral_chisquare
  • stats_rand_gen_noncentral_t »
  • PHP Manual
  • Statistic Funções
  • Generates a random deviate from the noncentral F distribution

stats_rand_gen_noncentral_f

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_f — Generates a random deviate from the noncentral F distribution

Descrição

stats_rand_gen_noncentral_f ( float $dfn , float $dfd , float $xnonc ) : float

Returns a random deviate from the non-central F distribution where the degrees of freedoms are dfn (numerator) and dfd (denominator), and the non-centrality parameter is xnonc.

Parâmetros

dfn

The degrees of freedom of the numerator

dfd

The degrees of freedom of the denominator

xnonc

The non-centrality parameter

Valor Retornado

A random deviate


Generates a single random deviate from a non-central t-distribution

  • « stats_rand_gen_noncentral_f
  • stats_rand_gen_normal »
  • PHP Manual
  • Statistic Funções
  • Generates a single random deviate from a non-central t-distribution

stats_rand_gen_noncentral_t

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_t — Generates a single random deviate from a non-central t-distribution

Descrição

stats_rand_gen_noncentral_t ( float $df , float $xnonc ) : float

Returns a random deviate from the non-central t-distribution with the degrees of freedom, df, and the non-centrality parameter, xnonc.

Parâmetros

df

The degrees of freedom

xnonc

The non-centrality parameter

Valor Retornado

A random deviate


Generates a single random deviate from a normal distribution

  • « stats_rand_gen_noncentral_t
  • stats_rand_gen_t »
  • PHP Manual
  • Statistic Funções
  • Generates a single random deviate from a normal distribution

stats_rand_gen_normal

(PECL stats >= 1.0.0)

stats_rand_gen_normal — Generates a single random deviate from a normal distribution

Descrição

stats_rand_gen_normal ( float $av , float $sd ) : float

Returns a random deviate from the normal distribution with mean, av, and standard deviation, sd.

Parâmetros

av

The mean of the normal distribution

sd

The standard deviation of the normal distribution

Valor Retornado

A random deviate


Generates a single random deviate from a t-distribution

  • « stats_rand_gen_normal
  • stats_rand_get_seeds »
  • PHP Manual
  • Statistic Funções
  • Generates a single random deviate from a t-distribution

stats_rand_gen_t

(PECL stats >= 1.0.0)

stats_rand_gen_t — Generates a single random deviate from a t-distribution

Descrição

stats_rand_gen_t ( float $df ) : float

Returns a random deviate from the t-distribution with the degrees of freedom, df.

Parâmetros

df

The degrees of freedom

Valor Retornado

A random deviate


Get the seed values of the random number generator

  • « stats_rand_gen_t
  • stats_rand_phrase_to_seeds »
  • PHP Manual
  • Statistic Funções
  • Get the seed values of the random number generator

stats_rand_get_seeds

(PECL stats >= 1.0.0)

stats_rand_get_seeds — Get the seed values of the random number generator

Descrição

stats_rand_get_seeds ( ) : array

Returns the current seed values of the random number generator

Valor Retornado

Returns an array of two integers.


Generate two seeds for the RGN random number generator

  • « stats_rand_get_seeds
  • stats_rand_ranf »
  • PHP Manual
  • Statistic Funções
  • Generate two seeds for the RGN random number generator

stats_rand_phrase_to_seeds

(PECL stats >= 1.0.0)

stats_rand_phrase_to_seeds — Generate two seeds for the RGN random number generator

Descrição

stats_rand_phrase_to_seeds ( string $phrase ) : array

Generate two seeds for the random number generator from a phrase.

Parâmetros

phrase

The input phrase

Valor Retornado

Returns an array of two integers.


Generates a random floating point number between 0 and 1

  • « stats_rand_phrase_to_seeds
  • stats_rand_setall »
  • PHP Manual
  • Statistic Funções
  • Generates a random floating point number between 0 and 1

stats_rand_ranf

(PECL stats >= 1.0.0)

stats_rand_ranf — Generates a random floating point number between 0 and 1

Descrição

stats_rand_ranf ( ) : float

Returns a random floating point number from a uniform distribution between 0 (exclusive) and 1 (exclusive).

Valor Retornado

A random floating point number


Set seed values to the random generator

  • « stats_rand_ranf
  • stats_skew »
  • PHP Manual
  • Statistic Funções
  • Set seed values to the random generator

stats_rand_setall

(PECL stats >= 1.0.0)

stats_rand_setall — Set seed values to the random generator

Descrição

stats_rand_setall ( int $iseed1 , int $iseed2 ) : void

Set iseed1 and iseed2 as seed values to the random generator used in statistic functions.

Parâmetros

iseed1

The value which is used as the random seed

iseed2

The value which is used as the random seed

Valor Retornado

No values are returned.


Computes the skewness of the data in the array

  • « stats_rand_setall
  • stats_standard_deviation »
  • PHP Manual
  • Statistic Funções
  • Computes the skewness of the data in the array

stats_skew

(PECL stats >= 1.0.0)

stats_skew — Computes the skewness of the data in the array

Descrição

stats_skew ( array $a ) : float

Returns the skewness of the values in a.

Parâmetros

a

The input array

Valor Retornado

Returns the skewness of the values in a, or false if a is empty or is not an array.


Returns the standard deviation

  • « stats_skew
  • stats_stat_binomial_coef »
  • PHP Manual
  • Statistic Funções
  • Returns the standard deviation

stats_standard_deviation

(PECL stats >= 1.0.0)

stats_standard_deviation — Returns the standard deviation

Descrição

stats_standard_deviation ( array $a , bool $sample = false ) : float

Returns the standard deviation of the values in a.

Parâmetros

a

The array of data to find the standard deviation for. Note that all values of the array will be cast to float.

sample

Indicates if a represents a sample of the population; defaults to false.

Valor Retornado

Returns the standard deviation on success; false on failure.

Erros

Raises an E_WARNING when there are fewer than 2 values in a.


Returns a binomial coefficient

  • « stats_standard_deviation
  • stats_stat_correlation »
  • PHP Manual
  • Statistic Funções
  • Returns a binomial coefficient

stats_stat_binomial_coef

(PECL stats >= 1.0.0)

stats_stat_binomial_coef — Returns a binomial coefficient

Descrição

stats_stat_binomial_coef ( int $x , int $n ) : float

Returns the binomial coefficient of n choose x.

Parâmetros

x

The number of chooses from the set

n

The number of elements in the set

Valor Retornado

Returns the binomial coefficient


Returns the Pearson correlation coefficient of two data sets

  • « stats_stat_binomial_coef
  • stats_stat_factorial »
  • PHP Manual
  • Statistic Funções
  • Returns the Pearson correlation coefficient of two data sets

stats_stat_correlation

(PECL stats >= 1.0.0)

stats_stat_correlation — Returns the Pearson correlation coefficient of two data sets

Descrição

stats_stat_correlation ( array $arr1 , array $arr2 ) : float

Returns the Pearson correlation coefficient between arr1 and arr2.

Parâmetros

arr1

The first array

arr2

The second array

Valor Retornado

Returns the Pearson correlation coefficient between arr1 and arr2, or false on failure.


Returns the factorial of an integer

  • « stats_stat_correlation
  • stats_stat_independent_t »
  • PHP Manual
  • Statistic Funções
  • Returns the factorial of an integer

stats_stat_factorial

(PECL stats >= 1.0.0)

stats_stat_factorial — Returns the factorial of an integer

Descrição

stats_stat_factorial ( int $n ) : float

Returns the factorial of an integer, n.

Parâmetros

n

An integer

Valor Retornado

The factorial of n.


Returns the t-value from the independent two-sample t-test

  • « stats_stat_factorial
  • stats_stat_innerproduct »
  • PHP Manual
  • Statistic Funções
  • Returns the t-value from the independent two-sample t-test

stats_stat_independent_t

(PECL stats >= 1.0.0)

stats_stat_independent_t — Returns the t-value from the independent two-sample t-test

Descrição

stats_stat_independent_t ( array $arr1 , array $arr2 ) : float

Returns the t-value of the independent two-sample t-test between arr1 and arr2.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

arr1

The first set of values

arr2

The second set of values

Valor Retornado

Returns the t-value, or false if failure.


Returns the inner product of two vectors

  • « stats_stat_independent_t
  • stats_stat_paired_t »
  • PHP Manual
  • Statistic Funções
  • Returns the inner product of two vectors

stats_stat_innerproduct

(PECL stats >= 1.0.0)

stats_stat_innerproduct — Returns the inner product of two vectors

Descrição

stats_stat_innerproduct ( array $arr1 , array $arr2 ) : float

Returns the inner product of arr1 and arr2.

Parâmetros

arr1

The first array

arr2

The second array

Valor Retornado

Returns the inner product of arr1 and arr2, or false on failure.


Returns the t-value of the dependent t-test for paired samples

  • « stats_stat_innerproduct
  • stats_stat_percentile »
  • PHP Manual
  • Statistic Funções
  • Returns the t-value of the dependent t-test for paired samples

stats_stat_paired_t

(PECL stats >= 1.0.0)

stats_stat_paired_t — Returns the t-value of the dependent t-test for paired samples

Descrição

stats_stat_paired_t ( array $arr1 , array $arr2 ) : float

Returns the t-value of the dependent t-test for paired samples arr1 and arr2.

Parâmetros

arr1

The first samples

arr2

The second samples

Valor Retornado

Returns the t-value, or false if failure.


Returns the percentile value

  • « stats_stat_paired_t
  • stats_stat_powersum »
  • PHP Manual
  • Statistic Funções
  • Returns the percentile value

stats_stat_percentile

(PECL stats >= 1.0.0)

stats_stat_percentile — Returns the percentile value

Descrição

stats_stat_percentile ( array $arr , float $perc ) : float

Returns the perc-th percentile value of the array arr.

Parâmetros

arr

The input array

perc

The percentile

Valor Retornado

Returns the percentile values of the input array.


Returns the power sum of a vector

  • « stats_stat_percentile
  • stats_variance »
  • PHP Manual
  • Statistic Funções
  • Returns the power sum of a vector

stats_stat_powersum

(PECL stats >= 1.0.0)

stats_stat_powersum — Returns the power sum of a vector

Descrição

stats_stat_powersum ( array $arr , float $power ) : float

Returns the sum of the power-th power of a vector represented as an array arr.

Parâmetros

arr

The input array

power

The power

Valor Retornado

Returns the power sum of the input array.


Returns the variance

  • « stats_stat_powersum
  • Trader »
  • PHP Manual
  • Statistic Funções
  • Returns the variance

stats_variance

(PECL stats >= 1.0.0)

stats_variance — Returns the variance

Descrição

stats_variance ( array $a , bool $sample = false ) : float

Returns the variance of the values in a.

Parâmetros

a

The array of data to find the standard deviation for. Note that all values of the array will be cast to float.

sample

Indicates if a represents a sample of the population; defaults to false.

Valor Retornado

Returns the variance on success; false on failure.


Technical Analysis for Traders

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
  • Constantes pré-definidas
  • Trader Funções
    • trader_acos — Vector Trigonometric ACos
    • trader_ad — Chaikin A/D Line
    • trader_add — Vector Arithmetic Add
    • trader_adosc — Chaikin A/D Oscillator
    • trader_adx — Average Directional Movement Index
    • trader_adxr — Average Directional Movement Index Rating
    • trader_apo — Absolute Price Oscillator
    • trader_aroon — Aroon
    • trader_aroonosc — Aroon Oscillator
    • trader_asin — Vector Trigonometric ASin
    • trader_atan — Vector Trigonometric ATan
    • trader_atr — Average True Range
    • trader_avgprice — Average Price
    • trader_bbands — Bollinger Bands
    • trader_beta — Beta
    • trader_bop — Balance Of Power
    • trader_cci — Commodity Channel Index
    • trader_cdl2crows — Two Crows
    • trader_cdl3blackcrows — Three Black Crows
    • trader_cdl3inside — Three Inside Up/Down
    • trader_cdl3linestrike — Three-Line Strike
    • trader_cdl3outside — Three Outside Up/Down
    • trader_cdl3starsinsouth — Three Stars In The South
    • trader_cdl3whitesoldiers — Three Advancing White Soldiers
    • trader_cdlabandonedbaby — Abandoned Baby
    • trader_cdladvanceblock — Advance Block
    • trader_cdlbelthold — Belt-hold
    • trader_cdlbreakaway — Breakaway
    • trader_cdlclosingmarubozu — Closing Marubozu
    • trader_cdlconcealbabyswall — Concealing Baby Swallow
    • trader_cdlcounterattack — Counterattack
    • trader_cdldarkcloudcover — Dark Cloud Cover
    • trader_cdldoji — Doji
    • trader_cdldojistar — Doji Star
    • trader_cdldragonflydoji — Dragonfly Doji
    • trader_cdlengulfing — Engulfing Pattern
    • trader_cdleveningdojistar — Evening Doji Star
    • trader_cdleveningstar — Evening Star
    • trader_cdlgapsidesidewhite — Up/Down-gap side-by-side white lines
    • trader_cdlgravestonedoji — Gravestone Doji
    • trader_cdlhammer — Hammer
    • trader_cdlhangingman — Hanging Man
    • trader_cdlharami — Harami Pattern
    • trader_cdlharamicross — Harami Cross Pattern
    • trader_cdlhighwave — High-Wave Candle
    • trader_cdlhikkake — Hikkake Pattern
    • trader_cdlhikkakemod — Modified Hikkake Pattern
    • trader_cdlhomingpigeon — Homing Pigeon
    • trader_cdlidentical3crows — Identical Three Crows
    • trader_cdlinneck — In-Neck Pattern
    • trader_cdlinvertedhammer — Inverted Hammer
    • trader_cdlkicking — Kicking
    • trader_cdlkickingbylength — Kicking - bull/bear determined by the longer marubozu
    • trader_cdlladderbottom — Ladder Bottom
    • trader_cdllongleggeddoji — Long Legged Doji
    • trader_cdllongline — Long Line Candle
    • trader_cdlmarubozu — Marubozu
    • trader_cdlmatchinglow — Matching Low
    • trader_cdlmathold — Mat Hold
    • trader_cdlmorningdojistar — Morning Doji Star
    • trader_cdlmorningstar — Morning Star
    • trader_cdlonneck — On-Neck Pattern
    • trader_cdlpiercing — Piercing Pattern
    • trader_cdlrickshawman — Rickshaw Man
    • trader_cdlrisefall3methods — Rising/Falling Three Methods
    • trader_cdlseparatinglines — Separating Lines
    • trader_cdlshootingstar — Shooting Star
    • trader_cdlshortline — Short Line Candle
    • trader_cdlspinningtop — Spinning Top
    • trader_cdlstalledpattern — Stalled Pattern
    • trader_cdlsticksandwich — Stick Sandwich
    • trader_cdltakuri — Takuri (Dragonfly Doji with very long lower shadow)
    • trader_cdltasukigap — Tasuki Gap
    • trader_cdlthrusting — Thrusting Pattern
    • trader_cdltristar — Tristar Pattern
    • trader_cdlunique3river — Unique 3 River
    • trader_cdlupsidegap2crows — Upside Gap Two Crows
    • trader_cdlxsidegap3methods — Upside/Downside Gap Three Methods
    • trader_ceil — Vector Ceil
    • trader_cmo — Chande Momentum Oscillator
    • trader_correl — Pearson's Correlation Coefficient (r)
    • trader_cos — Vector Trigonometric Cos
    • trader_cosh — Vector Trigonometric Cosh
    • trader_dema — Double Exponential Moving Average
    • trader_div — Vector Arithmetic Div
    • trader_dx — Directional Movement Index
    • trader_ema — Exponential Moving Average
    • trader_errno — Get error code
    • trader_exp — Vector Arithmetic Exp
    • trader_floor — Vector Floor
    • trader_get_compat — Get compatibility mode
    • trader_get_unstable_period — Get unstable period
    • trader_ht_dcperiod — Hilbert Transform - Dominant Cycle Period
    • trader_ht_dcphase — Hilbert Transform - Dominant Cycle Phase
    • trader_ht_phasor — Hilbert Transform - Phasor Components
    • trader_ht_sine — Hilbert Transform - SineWave
    • trader_ht_trendline — Hilbert Transform - Instantaneous Trendline
    • trader_ht_trendmode — Hilbert Transform - Trend vs Cycle Mode
    • trader_kama — Kaufman Adaptive Moving Average
    • trader_linearreg_angle — Linear Regression Angle
    • trader_linearreg_intercept — Linear Regression Intercept
    • trader_linearreg_slope — Linear Regression Slope
    • trader_linearreg — Linear Regression
    • trader_ln — Vector Log Natural
    • trader_log10 — Vector Log10
    • trader_ma — Moving average
    • trader_macd — Moving Average Convergence/Divergence
    • trader_macdext — MACD with controllable MA type
    • trader_macdfix — Moving Average Convergence/Divergence Fix 12/26
    • trader_mama — MESA Adaptive Moving Average
    • trader_mavp — Moving average with variable period
    • trader_max — Highest value over a specified period
    • trader_maxindex — Index of highest value over a specified period
    • trader_medprice — Median Price
    • trader_mfi — Money Flow Index
    • trader_midpoint — MidPoint over period
    • trader_midprice — Midpoint Price over period
    • trader_min — Lowest value over a specified period
    • trader_minindex — Index of lowest value over a specified period
    • trader_minmax — Lowest and highest values over a specified period
    • trader_minmaxindex — Indexes of lowest and highest values over a specified period
    • trader_minus_di — Minus Directional Indicator
    • trader_minus_dm — Minus Directional Movement
    • trader_mom — Momentum
    • trader_mult — Vector Arithmetic Mult
    • trader_natr — Normalized Average True Range
    • trader_obv — On Balance Volume
    • trader_plus_di — Plus Directional Indicator
    • trader_plus_dm — Plus Directional Movement
    • trader_ppo — Percentage Price Oscillator
    • trader_roc — Rate of change : ((price/prevPrice)-1)*100
    • trader_rocp — Rate of change Percentage: (price-prevPrice)/prevPrice
    • trader_rocr100 — Rate of change ratio 100 scale: (price/prevPrice)*100
    • trader_rocr — Rate of change ratio: (price/prevPrice)
    • trader_rsi — Relative Strength Index
    • trader_sar — Parabolic SAR
    • trader_sarext — Parabolic SAR - Extended
    • trader_set_compat — Set compatibility mode
    • trader_set_unstable_period — Set unstable period
    • trader_sin — Vector Trigonometric Sin
    • trader_sinh — Vector Trigonometric Sinh
    • trader_sma — Simple Moving Average
    • trader_sqrt — Vector Square Root
    • trader_stddev — Standard Deviation
    • trader_stoch — Stochastic
    • trader_stochf — Stochastic Fast
    • trader_stochrsi — Stochastic Relative Strength Index
    • trader_sub — Vector Arithmetic Subtraction
    • trader_sum — Summation
    • trader_t3 — Triple Exponential Moving Average (T3)
    • trader_tan — Vector Trigonometric Tan
    • trader_tanh — Vector Trigonometric Tanh
    • trader_tema — Triple Exponential Moving Average
    • trader_trange — True Range
    • trader_trima — Triangular Moving Average
    • trader_trix — 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
    • trader_tsf — Time Series Forecast
    • trader_typprice — Typical Price
    • trader_ultosc — Ultimate Oscillator
    • trader_var — Variance
    • trader_wclprice — Weighted Close Price
    • trader_willr — Williams' %R
    • trader_wma — Weighted Moving Average


Introdução

The trader extension is a free open source stock library based on TA-Lib. It's dedicated to trading software developers requiring to perform technical analysis of financial market data. Alongside many indicators like ADX, MACD, RSI, Stochastic, TRIX the candlestick pattern recognition and several vector arithmetic and algebraic functions are present.

Calculations can be done in two modes - TA-Lib and Metastock. Changing it using trader_set_compat() will affect the way some trader functions work.

Some trader functions provide different results depending of the "starting point" of the data being involved. This is often referred as a function having memories. An example of such function is the Exponential Moving Average. It is possible to control the unstable period (the amount of data to strip off) using trader_set_unstable_period() function.

Extended documentation about indicators, formulas and implementations in other programming languages can be found under » tadoc.org.


Dependências

The trader extension is based on » TA-Lib. TA-Lib is fully integrated into the extension, therefore no external libraries are needed.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/trader.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/trader/.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Trader Opções de Configuração
Nome | Padrão | Modificável | Changelog
trader.real_precision | 3 | PHP_INI_ALL | Since trader 0.2.1
trader.real_round_mode | HALF_DOWN | PHP_INI_ALL | Since trader 0.3.0

Uma rápida explicação das diretivas de configuração.

trader.real_precision int

All the values in the returned arrays will be rounded to this precision. However the calculations inside TA-Lib happen with unrounded values.

trader.real_round_mode string

Controls the trader real rounding policy. Valid values are HALF_UP, HALF_DOWN, HALF_EVEN and HALF_ODD. The behaviour is identical to the round() function used with the mode argument.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

TRADER_MA_TYPE_SMA (int)
TRADER_MA_TYPE_EMA (int)
TRADER_MA_TYPE_WMA (int)
TRADER_MA_TYPE_DEMA (int)
TRADER_MA_TYPE_TEMA (int)
TRADER_MA_TYPE_TRIMA (int)
TRADER_MA_TYPE_KAMA (int)
TRADER_MA_TYPE_MAMA (int)
TRADER_MA_TYPE_T3 (int)
TRADER_REAL_MIN (float)
TRADER_REAL_MAX (float)
TRADER_FUNC_UNST_ADX (int)
TRADER_FUNC_UNST_ADXR (int)
TRADER_FUNC_UNST_ATR (int)
TRADER_FUNC_UNST_CMO (int)
TRADER_FUNC_UNST_DX (int)
TRADER_FUNC_UNST_EMA (int)
TRADER_FUNC_UNST_HT_DCPERIOD (int)
TRADER_FUNC_UNST_HT_DCPHASE (int)
TRADER_FUNC_UNST_HT_PHASOR (int)
TRADER_FUNC_UNST_HT_SINE (int)
TRADER_FUNC_UNST_HT_TRENDLINE (int)
TRADER_FUNC_UNST_HT_TRENDMODE (int)
TRADER_FUNC_UNST_KAMA (int)
TRADER_FUNC_UNST_MAMA (int)
TRADER_FUNC_UNST_MFI (int)
TRADER_FUNC_UNST_MINUS_DI (int)
TRADER_FUNC_UNST_MINUS_DM (int)
TRADER_FUNC_UNST_NATR (int)
TRADER_FUNC_UNST_PLUS_DI (int)
TRADER_FUNC_UNST_PLUS_DM (int)
TRADER_FUNC_UNST_RSI (int)
TRADER_FUNC_UNST_STOCHRSI (int)
TRADER_FUNC_UNST_T3 (int)
TRADER_FUNC_UNST_ALL (int)
TRADER_FUNC_UNST_NONE (int)
TRADER_COMPATIBILITY_DEFAULT (int)
TRADER_COMPATIBILITY_METASTOCK (int)
TRADER_ERR_SUCCESS (int)
TRADER_ERR_LIB_NOT_INITIALIZE (int)
TRADER_ERR_BAD_PARAM (int)
TRADER_ERR_ALLOC_ERR (int)
TRADER_ERR_GROUP_NOT_FOUND (int)
TRADER_ERR_FUNC_NOT_FOUND (int)
TRADER_ERR_INVALID_HANDLE (int)
TRADER_ERR_INVALID_PARAM_HOLDER (int)
TRADER_ERR_INVALID_PARAM_HOLDER_TYPE (int)
TRADER_ERR_INVALID_PARAM_FUNCTION (int)
TRADER_ERR_INPUT_NOT_ALL_INITIALIZE (int)
TRADER_ERR_OUTPUT_NOT_ALL_INITIALIZE (int)
TRADER_ERR_OUT_OF_RANGE_START_INDEX (int)
TRADER_ERR_OUT_OF_RANGE_END_INDEX (int)
TRADER_ERR_INVALID_LIST_TYPE (int)
TRADER_ERR_BAD_OBJECT (int)
TRADER_ERR_NOT_SUPPORTED (int)
TRADER_ERR_INTERNAL_ERROR (int)
TRADER_ERR_UNKNOWN_ERROR (int)


Trader Funções

Índice

  • trader_acos — Vector Trigonometric ACos
  • trader_ad — Chaikin A/D Line
  • trader_add — Vector Arithmetic Add
  • trader_adosc — Chaikin A/D Oscillator
  • trader_adx — Average Directional Movement Index
  • trader_adxr — Average Directional Movement Index Rating
  • trader_apo — Absolute Price Oscillator
  • trader_aroon — Aroon
  • trader_aroonosc — Aroon Oscillator
  • trader_asin — Vector Trigonometric ASin
  • trader_atan — Vector Trigonometric ATan
  • trader_atr — Average True Range
  • trader_avgprice — Average Price
  • trader_bbands — Bollinger Bands
  • trader_beta — Beta
  • trader_bop — Balance Of Power
  • trader_cci — Commodity Channel Index
  • trader_cdl2crows — Two Crows
  • trader_cdl3blackcrows — Three Black Crows
  • trader_cdl3inside — Three Inside Up/Down
  • trader_cdl3linestrike — Three-Line Strike
  • trader_cdl3outside — Three Outside Up/Down
  • trader_cdl3starsinsouth — Three Stars In The South
  • trader_cdl3whitesoldiers — Three Advancing White Soldiers
  • trader_cdlabandonedbaby — Abandoned Baby
  • trader_cdladvanceblock — Advance Block
  • trader_cdlbelthold — Belt-hold
  • trader_cdlbreakaway — Breakaway
  • trader_cdlclosingmarubozu — Closing Marubozu
  • trader_cdlconcealbabyswall — Concealing Baby Swallow
  • trader_cdlcounterattack — Counterattack
  • trader_cdldarkcloudcover — Dark Cloud Cover
  • trader_cdldoji — Doji
  • trader_cdldojistar — Doji Star
  • trader_cdldragonflydoji — Dragonfly Doji
  • trader_cdlengulfing — Engulfing Pattern
  • trader_cdleveningdojistar — Evening Doji Star
  • trader_cdleveningstar — Evening Star
  • trader_cdlgapsidesidewhite — Up/Down-gap side-by-side white lines
  • trader_cdlgravestonedoji — Gravestone Doji
  • trader_cdlhammer — Hammer
  • trader_cdlhangingman — Hanging Man
  • trader_cdlharami — Harami Pattern
  • trader_cdlharamicross — Harami Cross Pattern
  • trader_cdlhighwave — High-Wave Candle
  • trader_cdlhikkake — Hikkake Pattern
  • trader_cdlhikkakemod — Modified Hikkake Pattern
  • trader_cdlhomingpigeon — Homing Pigeon
  • trader_cdlidentical3crows — Identical Three Crows
  • trader_cdlinneck — In-Neck Pattern
  • trader_cdlinvertedhammer — Inverted Hammer
  • trader_cdlkicking — Kicking
  • trader_cdlkickingbylength — Kicking - bull/bear determined by the longer marubozu
  • trader_cdlladderbottom — Ladder Bottom
  • trader_cdllongleggeddoji — Long Legged Doji
  • trader_cdllongline — Long Line Candle
  • trader_cdlmarubozu — Marubozu
  • trader_cdlmatchinglow — Matching Low
  • trader_cdlmathold — Mat Hold
  • trader_cdlmorningdojistar — Morning Doji Star
  • trader_cdlmorningstar — Morning Star
  • trader_cdlonneck — On-Neck Pattern
  • trader_cdlpiercing — Piercing Pattern
  • trader_cdlrickshawman — Rickshaw Man
  • trader_cdlrisefall3methods — Rising/Falling Three Methods
  • trader_cdlseparatinglines — Separating Lines
  • trader_cdlshootingstar — Shooting Star
  • trader_cdlshortline — Short Line Candle
  • trader_cdlspinningtop — Spinning Top
  • trader_cdlstalledpattern — Stalled Pattern
  • trader_cdlsticksandwich — Stick Sandwich
  • trader_cdltakuri — Takuri (Dragonfly Doji with very long lower shadow)
  • trader_cdltasukigap — Tasuki Gap
  • trader_cdlthrusting — Thrusting Pattern
  • trader_cdltristar — Tristar Pattern
  • trader_cdlunique3river — Unique 3 River
  • trader_cdlupsidegap2crows — Upside Gap Two Crows
  • trader_cdlxsidegap3methods — Upside/Downside Gap Three Methods
  • trader_ceil — Vector Ceil
  • trader_cmo — Chande Momentum Oscillator
  • trader_correl — Pearson's Correlation Coefficient (r)
  • trader_cos — Vector Trigonometric Cos
  • trader_cosh — Vector Trigonometric Cosh
  • trader_dema — Double Exponential Moving Average
  • trader_div — Vector Arithmetic Div
  • trader_dx — Directional Movement Index
  • trader_ema — Exponential Moving Average
  • trader_errno — Get error code
  • trader_exp — Vector Arithmetic Exp
  • trader_floor — Vector Floor
  • trader_get_compat — Get compatibility mode
  • trader_get_unstable_period — Get unstable period
  • trader_ht_dcperiod — Hilbert Transform - Dominant Cycle Period
  • trader_ht_dcphase — Hilbert Transform - Dominant Cycle Phase
  • trader_ht_phasor — Hilbert Transform - Phasor Components
  • trader_ht_sine — Hilbert Transform - SineWave
  • trader_ht_trendline — Hilbert Transform - Instantaneous Trendline
  • trader_ht_trendmode — Hilbert Transform - Trend vs Cycle Mode
  • trader_kama — Kaufman Adaptive Moving Average
  • trader_linearreg_angle — Linear Regression Angle
  • trader_linearreg_intercept — Linear Regression Intercept
  • trader_linearreg_slope — Linear Regression Slope
  • trader_linearreg — Linear Regression
  • trader_ln — Vector Log Natural
  • trader_log10 — Vector Log10
  • trader_ma — Moving average
  • trader_macd — Moving Average Convergence/Divergence
  • trader_macdext — MACD with controllable MA type
  • trader_macdfix — Moving Average Convergence/Divergence Fix 12/26
  • trader_mama — MESA Adaptive Moving Average
  • trader_mavp — Moving average with variable period
  • trader_max — Highest value over a specified period
  • trader_maxindex — Index of highest value over a specified period
  • trader_medprice — Median Price
  • trader_mfi — Money Flow Index
  • trader_midpoint — MidPoint over period
  • trader_midprice — Midpoint Price over period
  • trader_min — Lowest value over a specified period
  • trader_minindex — Index of lowest value over a specified period
  • trader_minmax — Lowest and highest values over a specified period
  • trader_minmaxindex — Indexes of lowest and highest values over a specified period
  • trader_minus_di — Minus Directional Indicator
  • trader_minus_dm — Minus Directional Movement
  • trader_mom — Momentum
  • trader_mult — Vector Arithmetic Mult
  • trader_natr — Normalized Average True Range
  • trader_obv — On Balance Volume
  • trader_plus_di — Plus Directional Indicator
  • trader_plus_dm — Plus Directional Movement
  • trader_ppo — Percentage Price Oscillator
  • trader_roc — Rate of change : ((price/prevPrice)-1)*100
  • trader_rocp — Rate of change Percentage: (price-prevPrice)/prevPrice
  • trader_rocr100 — Rate of change ratio 100 scale: (price/prevPrice)*100
  • trader_rocr — Rate of change ratio: (price/prevPrice)
  • trader_rsi — Relative Strength Index
  • trader_sar — Parabolic SAR
  • trader_sarext — Parabolic SAR - Extended
  • trader_set_compat — Set compatibility mode
  • trader_set_unstable_period — Set unstable period
  • trader_sin — Vector Trigonometric Sin
  • trader_sinh — Vector Trigonometric Sinh
  • trader_sma — Simple Moving Average
  • trader_sqrt — Vector Square Root
  • trader_stddev — Standard Deviation
  • trader_stoch — Stochastic
  • trader_stochf — Stochastic Fast
  • trader_stochrsi — Stochastic Relative Strength Index
  • trader_sub — Vector Arithmetic Subtraction
  • trader_sum — Summation
  • trader_t3 — Triple Exponential Moving Average (T3)
  • trader_tan — Vector Trigonometric Tan
  • trader_tanh — Vector Trigonometric Tanh
  • trader_tema — Triple Exponential Moving Average
  • trader_trange — True Range
  • trader_trima — Triangular Moving Average
  • trader_trix — 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
  • trader_tsf — Time Series Forecast
  • trader_typprice — Typical Price
  • trader_ultosc — Ultimate Oscillator
  • trader_var — Variance
  • trader_wclprice — Weighted Close Price
  • trader_willr — Williams' %R
  • trader_wma — Weighted Moving Average


Vector Trigonometric ACos

  • « Trader Funções
  • trader_ad »
  • PHP Manual
  • Trader Funções
  • Vector Trigonometric ACos

trader_acos

(PECL trader >= 0.2.0)

trader_acos — Vector Trigonometric ACos

Descrição

trader_acos ( array $real ) : array

Calculates the arc cosine for each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Chaikin A/D Line

  • « trader_acos
  • trader_add »
  • PHP Manual
  • Trader Funções
  • Chaikin A/D Line

trader_ad

(PECL trader >= 0.2.0)

trader_ad — Chaikin A/D Line

Descrição

trader_ad ( array $high , array $low , array $close , array $volume ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

volume

Volume negociado, array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Arithmetic Add

  • « trader_ad
  • trader_adosc »
  • PHP Manual
  • Trader Funções
  • Vector Arithmetic Add

trader_add

(PECL trader >= 0.2.0)

trader_add — Vector Arithmetic Add

Descrição

trader_add ( array $real0 , array $real1 ) : array

Calculates the vector addition of real0 to real1 and returns the resulting vector.

Parâmetros

real0

Array de valores reais.

real1

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Chaikin A/D Oscillator

  • « trader_add
  • trader_adx »
  • PHP Manual
  • Trader Funções
  • Chaikin A/D Oscillator

trader_adosc

(PECL trader >= 0.2.0)

trader_adosc — Chaikin A/D Oscillator

Descrição

trader_adosc ( array $high , array $low , array $close , array $volume , int $fastPeriod = ? , int $slowPeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

volume

Volume negociado, array de valores reais.

fastPeriod

Número de períodos para o MA rápido. Valores válidos de 2 a 100000.

slowPeriod

Número de períodos para o MA lento. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Average Directional Movement Index

  • « trader_adosc
  • trader_adxr »
  • PHP Manual
  • Trader Funções
  • Average Directional Movement Index

trader_adx

(PECL trader >= 0.2.0)

trader_adx — Average Directional Movement Index

Descrição

trader_adx ( array $high , array $low , array $close , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Average Directional Movement Index Rating

  • « trader_adx
  • trader_apo »
  • PHP Manual
  • Trader Funções
  • Average Directional Movement Index Rating

trader_adxr

(PECL trader >= 0.2.0)

trader_adxr — Average Directional Movement Index Rating

Descrição

trader_adxr ( array $high , array $low , array $close , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Absolute Price Oscillator

  • « trader_adxr
  • trader_aroon »
  • PHP Manual
  • Trader Funções
  • Absolute Price Oscillator

trader_apo

(PECL trader >= 0.2.0)

trader_apo — Absolute Price Oscillator

Descrição

trader_apo ( array $real , int $fastPeriod = ? , int $slowPeriod = ? , int $mAType = ? ) : array

Parâmetros

real

Array de valores reais.

fastPeriod

Número de períodos para o MA rápido. Valores válidos de 2 a 100000.

slowPeriod

Número de períodos para o MA lento. Valores válidos de 2 a 100000.

mAType

Tipo de Média Móvel. As TRADER_MA_TYPE_* constantes devem ser utilizadas.

Valor Retornado

Returns an array with calculated data or false on failure.


Aroon

  • « trader_apo
  • trader_aroonosc »
  • PHP Manual
  • Trader Funções
  • Aroon

trader_aroon

(PECL trader >= 0.2.0)

trader_aroon — Aroon

Descrição

trader_aroon ( array $high , array $low , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Aroon Oscillator

  • « trader_aroon
  • trader_asin »
  • PHP Manual
  • Trader Funções
  • Aroon Oscillator

trader_aroonosc

(PECL trader >= 0.2.0)

trader_aroonosc — Aroon Oscillator

Descrição

trader_aroonosc ( array $high , array $low , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Trigonometric ASin

  • « trader_aroonosc
  • trader_atan »
  • PHP Manual
  • Trader Funções
  • Vector Trigonometric ASin

trader_asin

(PECL trader >= 0.2.0)

trader_asin — Vector Trigonometric ASin

Descrição

trader_asin ( array $real ) : array

Calculates the arc sine for each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Trigonometric ATan

  • « trader_asin
  • trader_atr »
  • PHP Manual
  • Trader Funções
  • Vector Trigonometric ATan

trader_atan

(PECL trader >= 0.2.0)

trader_atan — Vector Trigonometric ATan

Descrição

trader_atan ( array $real ) : array

Calculates the arc tangent for each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Average True Range

  • « trader_atan
  • trader_avgprice »
  • PHP Manual
  • Trader Funções
  • Average True Range

trader_atr

(PECL trader >= 0.2.0)

trader_atr — Average True Range

Descrição

trader_atr ( array $high , array $low , array $close , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Average Price

  • « trader_atr
  • trader_bbands »
  • PHP Manual
  • Trader Funções
  • Average Price

trader_avgprice

(PECL trader >= 0.2.0)

trader_avgprice — Average Price

Descrição

trader_avgprice ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Bollinger Bands

  • « trader_avgprice
  • trader_beta »
  • PHP Manual
  • Trader Funções
  • Bollinger Bands

trader_bbands

(PECL trader >= 0.2.0)

trader_bbands — Bollinger Bands

Descrição

trader_bbands ( array $real , int $timePeriod = ? , float $nbDevUp = ? , float $nbDevDn = ? , int $mAType = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

nbDevUp

Deviation multiplier para a banda superior. Valores válidos de TRADER_REAL_MIN a TRADER_REAL_MAX.

nbDevDn

Deviation multiplier para a banda inferior. Valores válidos de TRADER_REAL_MIN a TRADER_REAL_MAX.

mAType

Tipo de Média Móvel. As TRADER_MA_TYPE_* constantes devem ser utilizadas.

Valor Retornado

Returns an array with calculated data or false on failure.


Beta

  • « trader_bbands
  • trader_bop »
  • PHP Manual
  • Trader Funções
  • Beta

trader_beta

(PECL trader >= 0.2.0)

trader_beta — Beta

Descrição

trader_beta ( array $real0 , array $real1 , int $timePeriod = ? ) : array

Parâmetros

real0

Array de valores reais.

real1

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Balance Of Power

  • « trader_beta
  • trader_cci »
  • PHP Manual
  • Trader Funções
  • Balance Of Power

trader_bop

(PECL trader >= 0.2.0)

trader_bop — Balance Of Power

Descrição

trader_bop ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Commodity Channel Index

  • « trader_bop
  • trader_cdl2crows »
  • PHP Manual
  • Trader Funções
  • Commodity Channel Index

trader_cci

(PECL trader >= 0.2.0)

trader_cci — Commodity Channel Index

Descrição

trader_cci ( array $high , array $low , array $close , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Two Crows

  • « trader_cci
  • trader_cdl3blackcrows »
  • PHP Manual
  • Trader Funções
  • Two Crows

trader_cdl2crows

(PECL trader >= 0.2.0)

trader_cdl2crows — Two Crows

Descrição

trader_cdl2crows ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Three Black Crows

  • « trader_cdl2crows
  • trader_cdl3inside »
  • PHP Manual
  • Trader Funções
  • Three Black Crows

trader_cdl3blackcrows

(PECL trader >= 0.2.0)

trader_cdl3blackcrows — Three Black Crows

Descrição

trader_cdl3blackcrows ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Three Inside Up/Down

  • « trader_cdl3blackcrows
  • trader_cdl3linestrike »
  • PHP Manual
  • Trader Funções
  • Three Inside Up/Down

trader_cdl3inside

(PECL trader >= 0.2.0)

trader_cdl3inside — Three Inside Up/Down

Descrição

trader_cdl3inside ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Three-Line Strike

  • « trader_cdl3inside
  • trader_cdl3outside »
  • PHP Manual
  • Trader Funções
  • Three-Line Strike

trader_cdl3linestrike

(PECL trader >= 0.2.0)

trader_cdl3linestrike — Three-Line Strike

Descrição

trader_cdl3linestrike ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Three Outside Up/Down

  • « trader_cdl3linestrike
  • trader_cdl3starsinsouth »
  • PHP Manual
  • Trader Funções
  • Three Outside Up/Down

trader_cdl3outside

(PECL trader >= 0.2.0)

trader_cdl3outside — Three Outside Up/Down

Descrição

trader_cdl3outside ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Three Stars In The South

  • « trader_cdl3outside
  • trader_cdl3whitesoldiers »
  • PHP Manual
  • Trader Funções
  • Three Stars In The South

trader_cdl3starsinsouth

(PECL trader >= 0.2.0)

trader_cdl3starsinsouth — Three Stars In The South

Descrição

trader_cdl3starsinsouth ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Three Advancing White Soldiers

  • « trader_cdl3starsinsouth
  • trader_cdlabandonedbaby »
  • PHP Manual
  • Trader Funções
  • Three Advancing White Soldiers

trader_cdl3whitesoldiers

(PECL trader >= 0.2.0)

trader_cdl3whitesoldiers — Three Advancing White Soldiers

Descrição

trader_cdl3whitesoldiers ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Abandoned Baby

  • « trader_cdl3whitesoldiers
  • trader_cdladvanceblock »
  • PHP Manual
  • Trader Funções
  • Abandoned Baby

trader_cdlabandonedbaby

(PECL trader >= 0.2.0)

trader_cdlabandonedbaby — Abandoned Baby

Descrição

trader_cdlabandonedbaby ( array $open , array $high , array $low , array $close , float $penetration = ? ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

penetration

Percentual de penetração de um candle referente a outro.

Valor Retornado

Returns an array with calculated data or false on failure.


Advance Block

  • « trader_cdlabandonedbaby
  • trader_cdlbelthold »
  • PHP Manual
  • Trader Funções
  • Advance Block

trader_cdladvanceblock

(PECL trader >= 0.2.0)

trader_cdladvanceblock — Advance Block

Descrição

trader_cdladvanceblock ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Belt-hold

  • « trader_cdladvanceblock
  • trader_cdlbreakaway »
  • PHP Manual
  • Trader Funções
  • Belt-hold

trader_cdlbelthold

(PECL trader >= 0.2.0)

trader_cdlbelthold — Belt-hold

Descrição

trader_cdlbelthold ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Breakaway

  • « trader_cdlbelthold
  • trader_cdlclosingmarubozu »
  • PHP Manual
  • Trader Funções
  • Breakaway

trader_cdlbreakaway

(PECL trader >= 0.2.0)

trader_cdlbreakaway — Breakaway

Descrição

trader_cdlbreakaway ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Closing Marubozu

  • « trader_cdlbreakaway
  • trader_cdlconcealbabyswall »
  • PHP Manual
  • Trader Funções
  • Closing Marubozu

trader_cdlclosingmarubozu

(PECL trader >= 0.2.0)

trader_cdlclosingmarubozu — Closing Marubozu

Descrição

trader_cdlclosingmarubozu ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Concealing Baby Swallow

  • « trader_cdlclosingmarubozu
  • trader_cdlcounterattack »
  • PHP Manual
  • Trader Funções
  • Concealing Baby Swallow

trader_cdlconcealbabyswall

(PECL trader >= 0.2.0)

trader_cdlconcealbabyswall — Concealing Baby Swallow

Descrição

trader_cdlconcealbabyswall ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Counterattack

  • « trader_cdlconcealbabyswall
  • trader_cdldarkcloudcover »
  • PHP Manual
  • Trader Funções
  • Counterattack

trader_cdlcounterattack

(PECL trader >= 0.2.0)

trader_cdlcounterattack — Counterattack

Descrição

trader_cdlcounterattack ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Dark Cloud Cover

  • « trader_cdlcounterattack
  • trader_cdldoji »
  • PHP Manual
  • Trader Funções
  • Dark Cloud Cover

trader_cdldarkcloudcover

(PECL trader >= 0.2.0)

trader_cdldarkcloudcover — Dark Cloud Cover

Descrição

trader_cdldarkcloudcover ( array $open , array $high , array $low , array $close , float $penetration = ? ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

penetration

Percentual de penetração de um candle referente a outro.

Valor Retornado

Returns an array with calculated data or false on failure.


Doji

  • « trader_cdldarkcloudcover
  • trader_cdldojistar »
  • PHP Manual
  • Trader Funções
  • Doji

trader_cdldoji

(PECL trader >= 0.2.0)

trader_cdldoji — Doji

Descrição

trader_cdldoji ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Doji Star

  • « trader_cdldoji
  • trader_cdldragonflydoji »
  • PHP Manual
  • Trader Funções
  • Doji Star

trader_cdldojistar

(PECL trader >= 0.2.0)

trader_cdldojistar — Doji Star

Descrição

trader_cdldojistar ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Dragonfly Doji

  • « trader_cdldojistar
  • trader_cdlengulfing »
  • PHP Manual
  • Trader Funções
  • Dragonfly Doji

trader_cdldragonflydoji

(PECL trader >= 0.2.0)

trader_cdldragonflydoji — Dragonfly Doji

Descrição

trader_cdldragonflydoji ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Engulfing Pattern

  • « trader_cdldragonflydoji
  • trader_cdleveningdojistar »
  • PHP Manual
  • Trader Funções
  • Engulfing Pattern

trader_cdlengulfing

(PECL trader >= 0.2.0)

trader_cdlengulfing — Engulfing Pattern

Descrição

trader_cdlengulfing ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Evening Doji Star

  • « trader_cdlengulfing
  • trader_cdleveningstar »
  • PHP Manual
  • Trader Funções
  • Evening Doji Star

trader_cdleveningdojistar

(PECL trader >= 0.2.0)

trader_cdleveningdojistar — Evening Doji Star

Descrição

trader_cdleveningdojistar ( array $open , array $high , array $low , array $close , float $penetration = ? ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

penetration

Percentual de penetração de um candle referente a outro.

Valor Retornado

Returns an array with calculated data or false on failure.


Evening Star

  • « trader_cdleveningdojistar
  • trader_cdlgapsidesidewhite »
  • PHP Manual
  • Trader Funções
  • Evening Star

trader_cdleveningstar

(PECL trader >= 0.2.0)

trader_cdleveningstar — Evening Star

Descrição

trader_cdleveningstar ( array $open , array $high , array $low , array $close , float $penetration = ? ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

penetration

Percentual de penetração de um candle referente a outro.

Valor Retornado

Returns an array with calculated data or false on failure.


Up/Down-gap side-by-side white lines

  • « trader_cdleveningstar
  • trader_cdlgravestonedoji »
  • PHP Manual
  • Trader Funções
  • Up/Down-gap side-by-side white lines

trader_cdlgapsidesidewhite

(PECL trader >= 0.2.0)

trader_cdlgapsidesidewhite — Up/Down-gap side-by-side white lines

Descrição

trader_cdlgapsidesidewhite ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Gravestone Doji

  • « trader_cdlgapsidesidewhite
  • trader_cdlhammer »
  • PHP Manual
  • Trader Funções
  • Gravestone Doji

trader_cdlgravestonedoji

(PECL trader >= 0.2.0)

trader_cdlgravestonedoji — Gravestone Doji

Descrição

trader_cdlgravestonedoji ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Hammer

  • « trader_cdlgravestonedoji
  • trader_cdlhangingman »
  • PHP Manual
  • Trader Funções
  • Hammer

trader_cdlhammer

(PECL trader >= 0.2.0)

trader_cdlhammer — Hammer

Descrição

trader_cdlhammer ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Hanging Man

  • « trader_cdlhammer
  • trader_cdlharami »
  • PHP Manual
  • Trader Funções
  • Hanging Man

trader_cdlhangingman

(PECL trader >= 0.2.0)

trader_cdlhangingman — Hanging Man

Descrição

trader_cdlhangingman ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Harami Pattern

  • « trader_cdlhangingman
  • trader_cdlharamicross »
  • PHP Manual
  • Trader Funções
  • Harami Pattern

trader_cdlharami

(PECL trader >= 0.2.0)

trader_cdlharami — Harami Pattern

Descrição

trader_cdlharami ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Harami Cross Pattern

  • « trader_cdlharami
  • trader_cdlhighwave »
  • PHP Manual
  • Trader Funções
  • Harami Cross Pattern

trader_cdlharamicross

(PECL trader >= 0.2.0)

trader_cdlharamicross — Harami Cross Pattern

Descrição

trader_cdlharamicross ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


High-Wave Candle

  • « trader_cdlharamicross
  • trader_cdlhikkake »
  • PHP Manual
  • Trader Funções
  • High-Wave Candle

trader_cdlhighwave

(PECL trader >= 0.2.0)

trader_cdlhighwave — High-Wave Candle

Descrição

trader_cdlhighwave ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Hikkake Pattern

  • « trader_cdlhighwave
  • trader_cdlhikkakemod »
  • PHP Manual
  • Trader Funções
  • Hikkake Pattern

trader_cdlhikkake

(PECL trader >= 0.2.0)

trader_cdlhikkake — Hikkake Pattern

Descrição

trader_cdlhikkake ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Modified Hikkake Pattern

  • « trader_cdlhikkake
  • trader_cdlhomingpigeon »
  • PHP Manual
  • Trader Funções
  • Modified Hikkake Pattern

trader_cdlhikkakemod

(PECL trader >= 0.2.0)

trader_cdlhikkakemod — Modified Hikkake Pattern

Descrição

trader_cdlhikkakemod ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Homing Pigeon

  • « trader_cdlhikkakemod
  • trader_cdlidentical3crows »
  • PHP Manual
  • Trader Funções
  • Homing Pigeon

trader_cdlhomingpigeon

(PECL trader >= 0.2.0)

trader_cdlhomingpigeon — Homing Pigeon

Descrição

trader_cdlhomingpigeon ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Identical Three Crows

  • « trader_cdlhomingpigeon
  • trader_cdlinneck »
  • PHP Manual
  • Trader Funções
  • Identical Three Crows

trader_cdlidentical3crows

(PECL trader >= 0.2.0)

trader_cdlidentical3crows — Identical Three Crows

Descrição

trader_cdlidentical3crows ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


In-Neck Pattern

  • « trader_cdlidentical3crows
  • trader_cdlinvertedhammer »
  • PHP Manual
  • Trader Funções
  • In-Neck Pattern

trader_cdlinneck

(PECL trader >= 0.2.0)

trader_cdlinneck — In-Neck Pattern

Descrição

trader_cdlinneck ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Inverted Hammer

  • « trader_cdlinneck
  • trader_cdlkicking »
  • PHP Manual
  • Trader Funções
  • Inverted Hammer

trader_cdlinvertedhammer

(PECL trader >= 0.2.0)

trader_cdlinvertedhammer — Inverted Hammer

Descrição

trader_cdlinvertedhammer ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Kicking

  • « trader_cdlinvertedhammer
  • trader_cdlkickingbylength »
  • PHP Manual
  • Trader Funções
  • Kicking

trader_cdlkicking

(PECL trader >= 0.2.0)

trader_cdlkicking — Kicking

Descrição

trader_cdlkicking ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Kicking - bull/bear determined by the longer marubozu

  • « trader_cdlkicking
  • trader_cdlladderbottom »
  • PHP Manual
  • Trader Funções
  • Kicking - bull/bear determined by the longer marubozu

trader_cdlkickingbylength

(PECL trader >= 0.2.0)

trader_cdlkickingbylength — Kicking - bull/bear determined by the longer marubozu

Descrição

trader_cdlkickingbylength ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Ladder Bottom

  • « trader_cdlkickingbylength
  • trader_cdllongleggeddoji »
  • PHP Manual
  • Trader Funções
  • Ladder Bottom

trader_cdlladderbottom

(PECL trader >= 0.2.0)

trader_cdlladderbottom — Ladder Bottom

Descrição

trader_cdlladderbottom ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Long Legged Doji

  • « trader_cdlladderbottom
  • trader_cdllongline »
  • PHP Manual
  • Trader Funções
  • Long Legged Doji

trader_cdllongleggeddoji

(PECL trader >= 0.2.0)

trader_cdllongleggeddoji — Long Legged Doji

Descrição

trader_cdllongleggeddoji ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Long Line Candle

  • « trader_cdllongleggeddoji
  • trader_cdlmarubozu »
  • PHP Manual
  • Trader Funções
  • Long Line Candle

trader_cdllongline

(PECL trader >= 0.2.0)

trader_cdllongline — Long Line Candle

Descrição

trader_cdllongline ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Marubozu

  • « trader_cdllongline
  • trader_cdlmatchinglow »
  • PHP Manual
  • Trader Funções
  • Marubozu

trader_cdlmarubozu

(PECL trader >= 0.2.0)

trader_cdlmarubozu — Marubozu

Descrição

trader_cdlmarubozu ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Matching Low

  • « trader_cdlmarubozu
  • trader_cdlmathold »
  • PHP Manual
  • Trader Funções
  • Matching Low

trader_cdlmatchinglow

(PECL trader >= 0.2.0)

trader_cdlmatchinglow — Matching Low

Descrição

trader_cdlmatchinglow ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Mat Hold

  • « trader_cdlmatchinglow
  • trader_cdlmorningdojistar »
  • PHP Manual
  • Trader Funções
  • Mat Hold

trader_cdlmathold

(PECL trader >= 0.2.0)

trader_cdlmathold — Mat Hold

Descrição

trader_cdlmathold ( array $open , array $high , array $low , array $close , float $penetration = ? ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

penetration

Percentual de penetração de um candle referente a outro.

Valor Retornado

Returns an array with calculated data or false on failure.


Morning Doji Star

  • « trader_cdlmathold
  • trader_cdlmorningstar »
  • PHP Manual
  • Trader Funções
  • Morning Doji Star

trader_cdlmorningdojistar

(PECL trader >= 0.2.0)

trader_cdlmorningdojistar — Morning Doji Star

Descrição

trader_cdlmorningdojistar ( array $open , array $high , array $low , array $close , float $penetration = ? ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

penetration

Percentual de penetração de um candle referente a outro.

Valor Retornado

Returns an array with calculated data or false on failure.


Morning Star

  • « trader_cdlmorningdojistar
  • trader_cdlonneck »
  • PHP Manual
  • Trader Funções
  • Morning Star

trader_cdlmorningstar

(PECL trader >= 0.2.0)

trader_cdlmorningstar — Morning Star

Descrição

trader_cdlmorningstar ( array $open , array $high , array $low , array $close , float $penetration = ? ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

penetration

Percentual de penetração de um candle referente a outro.

Valor Retornado

Returns an array with calculated data or false on failure.


On-Neck Pattern

  • « trader_cdlmorningstar
  • trader_cdlpiercing »
  • PHP Manual
  • Trader Funções
  • On-Neck Pattern

trader_cdlonneck

(PECL trader >= 0.2.0)

trader_cdlonneck — On-Neck Pattern

Descrição

trader_cdlonneck ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Piercing Pattern

  • « trader_cdlonneck
  • trader_cdlrickshawman »
  • PHP Manual
  • Trader Funções
  • Piercing Pattern

trader_cdlpiercing

(PECL trader >= 0.2.0)

trader_cdlpiercing — Piercing Pattern

Descrição

trader_cdlpiercing ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Rickshaw Man

  • « trader_cdlpiercing
  • trader_cdlrisefall3methods »
  • PHP Manual
  • Trader Funções
  • Rickshaw Man

trader_cdlrickshawman

(PECL trader >= 0.2.0)

trader_cdlrickshawman — Rickshaw Man

Descrição

trader_cdlrickshawman ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Rising/Falling Three Methods

  • « trader_cdlrickshawman
  • trader_cdlseparatinglines »
  • PHP Manual
  • Trader Funções
  • Rising/Falling Three Methods

trader_cdlrisefall3methods

(PECL trader >= 0.2.0)

trader_cdlrisefall3methods — Rising/Falling Three Methods

Descrição

trader_cdlrisefall3methods ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Separating Lines

  • « trader_cdlrisefall3methods
  • trader_cdlshootingstar »
  • PHP Manual
  • Trader Funções
  • Separating Lines

trader_cdlseparatinglines

(PECL trader >= 0.2.0)

trader_cdlseparatinglines — Separating Lines

Descrição

trader_cdlseparatinglines ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Shooting Star

  • « trader_cdlseparatinglines
  • trader_cdlshortline »
  • PHP Manual
  • Trader Funções
  • Shooting Star

trader_cdlshootingstar

(PECL trader >= 0.2.0)

trader_cdlshootingstar — Shooting Star

Descrição

trader_cdlshootingstar ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Short Line Candle

  • « trader_cdlshootingstar
  • trader_cdlspinningtop »
  • PHP Manual
  • Trader Funções
  • Short Line Candle

trader_cdlshortline

(PECL trader >= 0.2.0)

trader_cdlshortline — Short Line Candle

Descrição

trader_cdlshortline ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Spinning Top

  • « trader_cdlshortline
  • trader_cdlstalledpattern »
  • PHP Manual
  • Trader Funções
  • Spinning Top

trader_cdlspinningtop

(PECL trader >= 0.2.0)

trader_cdlspinningtop — Spinning Top

Descrição

trader_cdlspinningtop ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Stalled Pattern

  • « trader_cdlspinningtop
  • trader_cdlsticksandwich »
  • PHP Manual
  • Trader Funções
  • Stalled Pattern

trader_cdlstalledpattern

(PECL trader >= 0.2.0)

trader_cdlstalledpattern — Stalled Pattern

Descrição

trader_cdlstalledpattern ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Stick Sandwich

  • « trader_cdlstalledpattern
  • trader_cdltakuri »
  • PHP Manual
  • Trader Funções
  • Stick Sandwich

trader_cdlsticksandwich

(PECL trader >= 0.2.0)

trader_cdlsticksandwich — Stick Sandwich

Descrição

trader_cdlsticksandwich ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Takuri (Dragonfly Doji with very long lower shadow)

  • « trader_cdlsticksandwich
  • trader_cdltasukigap »
  • PHP Manual
  • Trader Funções
  • Takuri (Dragonfly Doji with very long lower shadow)

trader_cdltakuri

(PECL trader >= 0.2.0)

trader_cdltakuri — Takuri (Dragonfly Doji with very long lower shadow)

Descrição

trader_cdltakuri ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Tasuki Gap

  • « trader_cdltakuri
  • trader_cdlthrusting »
  • PHP Manual
  • Trader Funções
  • Tasuki Gap

trader_cdltasukigap

(PECL trader >= 0.2.0)

trader_cdltasukigap — Tasuki Gap

Descrição

trader_cdltasukigap ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Thrusting Pattern

  • « trader_cdltasukigap
  • trader_cdltristar »
  • PHP Manual
  • Trader Funções
  • Thrusting Pattern

trader_cdlthrusting

(PECL trader >= 0.2.0)

trader_cdlthrusting — Thrusting Pattern

Descrição

trader_cdlthrusting ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Tristar Pattern

  • « trader_cdlthrusting
  • trader_cdlunique3river »
  • PHP Manual
  • Trader Funções
  • Tristar Pattern

trader_cdltristar

(PECL trader >= 0.2.0)

trader_cdltristar — Tristar Pattern

Descrição

trader_cdltristar ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Unique 3 River

  • « trader_cdltristar
  • trader_cdlupsidegap2crows »
  • PHP Manual
  • Trader Funções
  • Unique 3 River

trader_cdlunique3river

(PECL trader >= 0.2.0)

trader_cdlunique3river — Unique 3 River

Descrição

trader_cdlunique3river ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Upside Gap Two Crows

  • « trader_cdlunique3river
  • trader_cdlxsidegap3methods »
  • PHP Manual
  • Trader Funções
  • Upside Gap Two Crows

trader_cdlupsidegap2crows

(PECL trader >= 0.2.0)

trader_cdlupsidegap2crows — Upside Gap Two Crows

Descrição

trader_cdlupsidegap2crows ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Upside/Downside Gap Three Methods

  • « trader_cdlupsidegap2crows
  • trader_ceil »
  • PHP Manual
  • Trader Funções
  • Upside/Downside Gap Three Methods

trader_cdlxsidegap3methods

(PECL trader >= 0.2.0)

trader_cdlxsidegap3methods — Upside/Downside Gap Three Methods

Descrição

trader_cdlxsidegap3methods ( array $open , array $high , array $low , array $close ) : array

Parâmetros

open

Preço de abertura, array de valores reais.

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Ceil

  • « trader_cdlxsidegap3methods
  • trader_cmo »
  • PHP Manual
  • Trader Funções
  • Vector Ceil

trader_ceil

(PECL trader >= 0.2.0)

trader_ceil — Vector Ceil

Descrição

trader_ceil ( array $real ) : array

Calculates the next highest integer for each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Chande Momentum Oscillator

  • « trader_ceil
  • trader_correl »
  • PHP Manual
  • Trader Funções
  • Chande Momentum Oscillator

trader_cmo

(PECL trader >= 0.2.0)

trader_cmo — Chande Momentum Oscillator

Descrição

trader_cmo ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Pearson's Correlation Coefficient (r)

  • « trader_cmo
  • trader_cos »
  • PHP Manual
  • Trader Funções
  • Pearson's Correlation Coefficient (r)

trader_correl

(PECL trader >= 0.2.0)

trader_correl — Pearson's Correlation Coefficient (r)

Descrição

trader_correl ( array $real0 , array $real1 , int $timePeriod = ? ) : array

Parâmetros

real0

Array de valores reais.

real1

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Trigonometric Cos

  • « trader_correl
  • trader_cosh »
  • PHP Manual
  • Trader Funções
  • Vector Trigonometric Cos

trader_cos

(PECL trader >= 0.2.0)

trader_cos — Vector Trigonometric Cos

Descrição

trader_cos ( array $real ) : array

Calculates the cosine for each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Trigonometric Cosh

  • « trader_cos
  • trader_dema »
  • PHP Manual
  • Trader Funções
  • Vector Trigonometric Cosh

trader_cosh

(PECL trader >= 0.2.0)

trader_cosh — Vector Trigonometric Cosh

Descrição

trader_cosh ( array $real ) : array

Calculates the hyperbolic cosine for each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Double Exponential Moving Average

  • « trader_cosh
  • trader_div »
  • PHP Manual
  • Trader Funções
  • Double Exponential Moving Average

trader_dema

(PECL trader >= 0.2.0)

trader_dema — Double Exponential Moving Average

Descrição

trader_dema ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Arithmetic Div

  • « trader_dema
  • trader_dx »
  • PHP Manual
  • Trader Funções
  • Vector Arithmetic Div

trader_div

(PECL trader >= 0.2.0)

trader_div — Vector Arithmetic Div

Descrição

trader_div ( array $real0 , array $real1 ) : array

Divides each value from real0 by the corresponding value from real1 and returns the resulting array.

Parâmetros

real0

Array de valores reais.

real1

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Directional Movement Index

  • « trader_div
  • trader_ema »
  • PHP Manual
  • Trader Funções
  • Directional Movement Index

trader_dx

(PECL trader >= 0.2.0)

trader_dx — Directional Movement Index

Descrição

trader_dx ( array $high , array $low , array $close , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Exponential Moving Average

  • « trader_dx
  • trader_errno »
  • PHP Manual
  • Trader Funções
  • Exponential Moving Average

trader_ema

(PECL trader >= 0.2.0)

trader_ema — Exponential Moving Average

Descrição

trader_ema ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Get error code

  • « trader_ema
  • trader_exp »
  • PHP Manual
  • Trader Funções
  • Get error code

trader_errno

(PECL trader >= 0.3.0)

trader_errno — Get error code

Descrição

trader_errno ( ) : int

Get error code of the last operation.

Valor Retornado

Returns the error code identified by one of the TRADER_ERR_* constants.


Vector Arithmetic Exp

  • « trader_errno
  • trader_floor »
  • PHP Manual
  • Trader Funções
  • Vector Arithmetic Exp

trader_exp

(PECL trader >= 0.2.0)

trader_exp — Vector Arithmetic Exp

Descrição

trader_exp ( array $real ) : array

Calculates e raised to the power of each value in real. Returns an array with the calculated data.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Floor

  • « trader_exp
  • trader_get_compat »
  • PHP Manual
  • Trader Funções
  • Vector Floor

trader_floor

(PECL trader >= 0.2.0)

trader_floor — Vector Floor

Descrição

trader_floor ( array $real ) : array

Calculates the next lowest integer for each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Get compatibility mode

  • « trader_floor
  • trader_get_unstable_period »
  • PHP Manual
  • Trader Funções
  • Get compatibility mode

trader_get_compat

(PECL trader >= 0.2.2)

trader_get_compat — Get compatibility mode

Descrição

trader_get_compat ( ) : int

Get compatibility mode which affects the way calculations are done by all the extension functions.

Valor Retornado

Returns the compatibility mode id which can be identified by TRADER_COMPATIBILITY_* series of constants.


Get unstable period

  • « trader_get_compat
  • trader_ht_dcperiod »
  • PHP Manual
  • Trader Funções
  • Get unstable period

trader_get_unstable_period

(PECL trader >= 0.2.2)

trader_get_unstable_period — Get unstable period

Descrição

trader_get_unstable_period ( int $functionId ) : int

Get unstable period factor for a particular function.

Parâmetros

functionId

Function ID the factor to be read for. TRADER_FUNC_UNST_* series of constants should be used.

Valor Retornado

Returns the unstable period factor for the corresponding function.


Hilbert Transform - Dominant Cycle Period

  • « trader_get_unstable_period
  • trader_ht_dcphase »
  • PHP Manual
  • Trader Funções
  • Hilbert Transform - Dominant Cycle Period

trader_ht_dcperiod

(PECL trader >= 0.2.0)

trader_ht_dcperiod — Hilbert Transform - Dominant Cycle Period

Descrição

trader_ht_dcperiod ( array $real ) : array

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Hilbert Transform - Dominant Cycle Phase

  • « trader_ht_dcperiod
  • trader_ht_phasor »
  • PHP Manual
  • Trader Funções
  • Hilbert Transform - Dominant Cycle Phase

trader_ht_dcphase

(PECL trader >= 0.2.0)

trader_ht_dcphase — Hilbert Transform - Dominant Cycle Phase

Descrição

trader_ht_dcphase ( array $real ) : array

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Hilbert Transform - Phasor Components

  • « trader_ht_dcphase
  • trader_ht_sine »
  • PHP Manual
  • Trader Funções
  • Hilbert Transform - Phasor Components

trader_ht_phasor

(PECL trader >= 0.2.0)

trader_ht_phasor — Hilbert Transform - Phasor Components

Descrição

trader_ht_phasor ( array $real ) : array

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Hilbert Transform - SineWave

  • « trader_ht_phasor
  • trader_ht_trendline »
  • PHP Manual
  • Trader Funções
  • Hilbert Transform - SineWave

trader_ht_sine

(PECL trader >= 0.2.0)

trader_ht_sine — Hilbert Transform - SineWave

Descrição

trader_ht_sine ( array $real ) : array

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Hilbert Transform - Instantaneous Trendline

  • « trader_ht_sine
  • trader_ht_trendmode »
  • PHP Manual
  • Trader Funções
  • Hilbert Transform - Instantaneous Trendline

trader_ht_trendline

(PECL trader >= 0.2.0)

trader_ht_trendline — Hilbert Transform - Instantaneous Trendline

Descrição

trader_ht_trendline ( array $real ) : array

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Hilbert Transform - Trend vs Cycle Mode

  • « trader_ht_trendline
  • trader_kama »
  • PHP Manual
  • Trader Funções
  • Hilbert Transform - Trend vs Cycle Mode

trader_ht_trendmode

(PECL trader >= 0.2.0)

trader_ht_trendmode — Hilbert Transform - Trend vs Cycle Mode

Descrição

trader_ht_trendmode ( array $real ) : array

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Kaufman Adaptive Moving Average

  • « trader_ht_trendmode
  • trader_linearreg_angle »
  • PHP Manual
  • Trader Funções
  • Kaufman Adaptive Moving Average

trader_kama

(PECL trader >= 0.2.0)

trader_kama — Kaufman Adaptive Moving Average

Descrição

trader_kama ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Linear Regression Angle

  • « trader_kama
  • trader_linearreg_intercept »
  • PHP Manual
  • Trader Funções
  • Linear Regression Angle

trader_linearreg_angle

(PECL trader >= 0.2.0)

trader_linearreg_angle — Linear Regression Angle

Descrição

trader_linearreg_angle ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Linear Regression Intercept

  • « trader_linearreg_angle
  • trader_linearreg_slope »
  • PHP Manual
  • Trader Funções
  • Linear Regression Intercept

trader_linearreg_intercept

(PECL trader >= 0.2.0)

trader_linearreg_intercept — Linear Regression Intercept

Descrição

trader_linearreg_intercept ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Linear Regression Slope

  • « trader_linearreg_intercept
  • trader_linearreg »
  • PHP Manual
  • Trader Funções
  • Linear Regression Slope

trader_linearreg_slope

(PECL trader >= 0.2.0)

trader_linearreg_slope — Linear Regression Slope

Descrição

trader_linearreg_slope ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Linear Regression

  • « trader_linearreg_slope
  • trader_ln »
  • PHP Manual
  • Trader Funções
  • Linear Regression

trader_linearreg

(PECL trader >= 0.2.0)

trader_linearreg — Linear Regression

Descrição

trader_linearreg ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Log Natural

  • « trader_linearreg
  • trader_log10 »
  • PHP Manual
  • Trader Funções
  • Vector Log Natural

trader_ln

(PECL trader >= 0.2.0)

trader_ln — Vector Log Natural

Descrição

trader_ln ( array $real ) : array

Calculates the natural logarithm for each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Log10

  • « trader_ln
  • trader_ma »
  • PHP Manual
  • Trader Funções
  • Vector Log10

trader_log10

(PECL trader >= 0.2.0)

trader_log10 — Vector Log10

Descrição

trader_log10 ( array $real ) : array

Calculates the base-10 logarithm for each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Moving average

  • « trader_log10
  • trader_macd »
  • PHP Manual
  • Trader Funções
  • Moving average

trader_ma

(PECL trader >= 0.2.0)

trader_ma — Moving average

Descrição

trader_ma ( array $real , int $timePeriod = ? , int $mAType = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

mAType

Tipo de Média Móvel. As TRADER_MA_TYPE_* constantes devem ser utilizadas.

Valor Retornado

Returns an array with calculated data or false on failure.


Moving Average Convergence/Divergence

  • « trader_ma
  • trader_macdext »
  • PHP Manual
  • Trader Funções
  • Moving Average Convergence/Divergence

trader_macd

(PECL trader >= 0.2.0)

trader_macd — Moving Average Convergence/Divergence

Descrição

trader_macd ( array $real , int $fastPeriod = ? , int $slowPeriod = ? , int $signalPeriod = ? ) : array

Parâmetros

real

Array de valores reais.

fastPeriod

Número de períodos para o MA rápido. Valores válidos de 2 a 100000.

slowPeriod

Número de períodos para o MA lento. Valores válidos de 2 a 100000.

signalPeriod

Amaciamento da linha de sinal (nb do período). Valores válidos de 1 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


MACD with controllable MA type

  • « trader_macd
  • trader_macdfix »
  • PHP Manual
  • Trader Funções
  • MACD with controllable MA type

trader_macdext

(PECL trader >= 0.2.0)

trader_macdext — MACD with controllable MA type

Descrição

trader_macdext ( array $real , int $fastPeriod = ? , int $fastMAType = ? , int $slowPeriod = ? , int $slowMAType = ? , int $signalPeriod = ? , int $signalMAType = ? ) : array

Parâmetros

real

Array de valores reais.

fastPeriod

Número de períodos para o MA rápido. Valores válidos de 2 a 100000.

fastMAType

Tipo de Média Móvel para o MA rápido. As TRADER_MA_TYPE_* constantes devem ser utilizadas.

slowPeriod

Número de períodos para o MA lento. Valores válidos de 2 a 100000.

slowMAType

Tipo de Média Móvel para o MA lento. As TRADER_MA_TYPE_* constantes devem ser utilizadas.

signalPeriod

Amaciamento da linha de sinal (nb do período). Valores válidos de 1 a 100000.

signalMAType

Tipo de Média Móvel para a linha sinal. As TRADER_MA_TYPE_* constantes devem ser utilizadas.

Valor Retornado

Returns an array with calculated data or false on failure.


Moving Average Convergence/Divergence Fix 12/26

  • « trader_macdext
  • trader_mama »
  • PHP Manual
  • Trader Funções
  • Moving Average Convergence/Divergence Fix 12/26

trader_macdfix

(PECL trader >= 0.2.0)

trader_macdfix — Moving Average Convergence/Divergence Fix 12/26

Descrição

trader_macdfix ( array $real , int $signalPeriod = ? ) : array

Parâmetros

real

Array de valores reais.

signalPeriod

Amaciamento da linha de sinal (nb do período). Valores válidos de 1 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


MESA Adaptive Moving Average

  • « trader_macdfix
  • trader_mavp »
  • PHP Manual
  • Trader Funções
  • MESA Adaptive Moving Average

trader_mama

(PECL trader >= 0.2.0)

trader_mama — MESA Adaptive Moving Average

Descrição

trader_mama ( array $real , float $fastLimit = ? , float $slowLimit = ? ) : array

Parâmetros

real

Array de valores reais.

fastLimit

Limite superior a ser utilizado no algoritmo adaptativo. Valores válidos de 0.01 a 0.99.

slowLimit

Limite inferior a ser utilizado no algortimo adaptativo. Valores válidos de 0.01 a 0.99.

Valor Retornado

Returns an array with calculated data or false on failure.


Moving average with variable period

  • « trader_mama
  • trader_max »
  • PHP Manual
  • Trader Funções
  • Moving average with variable period

trader_mavp

(PECL trader >= 0.2.0)

trader_mavp — Moving average with variable period

Descrição

trader_mavp ( array $real , array $periods , int $minPeriod = ? , int $maxPeriod = ? , int $mAType = ? ) : array

Parâmetros

real

Array de valores reais.

periods

Array de valores reais.

minPeriod

Valor menor que o mínimo qual será modificado para Minimum period. Valores válidos de 2 a 100000

maxPeriod

Valor maior que o mínimo qual será modificado para Maximum period. Valores válidos de 2 a 100000

mAType

Tipo de Média Móvel. As TRADER_MA_TYPE_* constantes devem ser utilizadas.

Valor Retornado

Returns an array with calculated data or false on failure.


Highest value over a specified period

  • « trader_mavp
  • trader_maxindex »
  • PHP Manual
  • Trader Funções
  • Highest value over a specified period

trader_max

(PECL trader >= 0.2.0)

trader_max — Highest value over a specified period

Descrição

trader_max ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Index of highest value over a specified period

  • « trader_max
  • trader_medprice »
  • PHP Manual
  • Trader Funções
  • Index of highest value over a specified period

trader_maxindex

(PECL trader >= 0.2.0)

trader_maxindex — Index of highest value over a specified period

Descrição

trader_maxindex ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Median Price

  • « trader_maxindex
  • trader_mfi »
  • PHP Manual
  • Trader Funções
  • Median Price

trader_medprice

(PECL trader >= 0.2.0)

trader_medprice — Median Price

Descrição

trader_medprice ( array $high , array $low ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Money Flow Index

  • « trader_medprice
  • trader_midpoint »
  • PHP Manual
  • Trader Funções
  • Money Flow Index

trader_mfi

(PECL trader >= 0.2.0)

trader_mfi — Money Flow Index

Descrição

trader_mfi ( array $high , array $low , array $close , array $volume , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

volume

Volume negociado, array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


MidPoint over period

  • « trader_mfi
  • trader_midprice »
  • PHP Manual
  • Trader Funções
  • MidPoint over period

trader_midpoint

(PECL trader >= 0.2.0)

trader_midpoint — MidPoint over period

Descrição

trader_midpoint ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Midpoint Price over period

  • « trader_midpoint
  • trader_min »
  • PHP Manual
  • Trader Funções
  • Midpoint Price over period

trader_midprice

(PECL trader >= 0.2.0)

trader_midprice — Midpoint Price over period

Descrição

trader_midprice ( array $high , array $low , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Lowest value over a specified period

  • « trader_midprice
  • trader_minindex »
  • PHP Manual
  • Trader Funções
  • Lowest value over a specified period

trader_min

(PECL trader >= 0.2.0)

trader_min — Lowest value over a specified period

Descrição

trader_min ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Index of lowest value over a specified period

  • « trader_min
  • trader_minmax »
  • PHP Manual
  • Trader Funções
  • Index of lowest value over a specified period

trader_minindex

(PECL trader >= 0.2.0)

trader_minindex — Index of lowest value over a specified period

Descrição

trader_minindex ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Lowest and highest values over a specified period

  • « trader_minindex
  • trader_minmaxindex »
  • PHP Manual
  • Trader Funções
  • Lowest and highest values over a specified period

trader_minmax

(PECL trader >= 0.2.0)

trader_minmax — Lowest and highest values over a specified period

Descrição

trader_minmax ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Indexes of lowest and highest values over a specified period

  • « trader_minmax
  • trader_minus_di »
  • PHP Manual
  • Trader Funções
  • Indexes of lowest and highest values over a specified period

trader_minmaxindex

(PECL trader >= 0.2.0)

trader_minmaxindex — Indexes of lowest and highest values over a specified period

Descrição

trader_minmaxindex ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Minus Directional Indicator

  • « trader_minmaxindex
  • trader_minus_dm »
  • PHP Manual
  • Trader Funções
  • Minus Directional Indicator

trader_minus_di

(PECL trader >= 0.2.0)

trader_minus_di — Minus Directional Indicator

Descrição

trader_minus_di ( array $high , array $low , array $close , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Minus Directional Movement

  • « trader_minus_di
  • trader_mom »
  • PHP Manual
  • Trader Funções
  • Minus Directional Movement

trader_minus_dm

(PECL trader >= 0.2.0)

trader_minus_dm — Minus Directional Movement

Descrição

trader_minus_dm ( array $high , array $low , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Momentum

  • « trader_minus_dm
  • trader_mult »
  • PHP Manual
  • Trader Funções
  • Momentum

trader_mom

(PECL trader >= 0.2.0)

trader_mom — Momentum

Descrição

trader_mom ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Arithmetic Mult

  • « trader_mom
  • trader_natr »
  • PHP Manual
  • Trader Funções
  • Vector Arithmetic Mult

trader_mult

(PECL trader >= 0.2.0)

trader_mult — Vector Arithmetic Mult

Descrição

trader_mult ( array $real0 , array $real1 ) : array

Calculates the vector dot product of real0 with real1 and returns the resulting vector.

Parâmetros

real0

Array de valores reais.

real1

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Normalized Average True Range

  • « trader_mult
  • trader_obv »
  • PHP Manual
  • Trader Funções
  • Normalized Average True Range

trader_natr

(PECL trader >= 0.2.0)

trader_natr — Normalized Average True Range

Descrição

trader_natr ( array $high , array $low , array $close , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


On Balance Volume

  • « trader_natr
  • trader_plus_di »
  • PHP Manual
  • Trader Funções
  • On Balance Volume

trader_obv

(PECL trader >= 0.2.0)

trader_obv — On Balance Volume

Descrição

trader_obv ( array $real , array $volume ) : array

Parâmetros

real

Array de valores reais.

volume

Volume negociado, array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Plus Directional Indicator

  • « trader_obv
  • trader_plus_dm »
  • PHP Manual
  • Trader Funções
  • Plus Directional Indicator

trader_plus_di

(PECL trader >= 0.2.0)

trader_plus_di — Plus Directional Indicator

Descrição

trader_plus_di ( array $high , array $low , array $close , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Plus Directional Movement

  • « trader_plus_di
  • trader_ppo »
  • PHP Manual
  • Trader Funções
  • Plus Directional Movement

trader_plus_dm

(PECL trader >= 0.2.0)

trader_plus_dm — Plus Directional Movement

Descrição

trader_plus_dm ( array $high , array $low , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Percentage Price Oscillator

  • « trader_plus_dm
  • trader_roc »
  • PHP Manual
  • Trader Funções
  • Percentage Price Oscillator

trader_ppo

(PECL trader >= 0.2.0)

trader_ppo — Percentage Price Oscillator

Descrição

trader_ppo ( array $real , int $fastPeriod = ? , int $slowPeriod = ? , int $mAType = ? ) : array

Parâmetros

real

Array de valores reais.

fastPeriod

Número de períodos para o MA rápido. Valores válidos de 2 a 100000.

slowPeriod

Número de períodos para o MA lento. Valores válidos de 2 a 100000.

mAType

Tipo de Média Móvel. As TRADER_MA_TYPE_* constantes devem ser utilizadas.

Valor Retornado

Returns an array with calculated data or false on failure.


Rate of change : ((price/prevPrice)-1)*100

  • « trader_ppo
  • trader_rocp »
  • PHP Manual
  • Trader Funções
  • Rate of change : ((price/prevPrice)-1)*100

trader_roc

(PECL trader >= 0.2.0)

trader_roc — Rate of change : ((price/prevPrice)-1)*100

Descrição

trader_roc ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Rate of change Percentage: (price-prevPrice)/prevPrice

  • « trader_roc
  • trader_rocr100 »
  • PHP Manual
  • Trader Funções
  • Rate of change Percentage: (price-prevPrice)/prevPrice

trader_rocp

(PECL trader >= 0.2.0)

trader_rocp — Rate of change Percentage: (price-prevPrice)/prevPrice

Descrição

trader_rocp ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Rate of change ratio 100 scale: (price/prevPrice)*100

  • « trader_rocp
  • trader_rocr »
  • PHP Manual
  • Trader Funções
  • Rate of change ratio 100 scale: (price/prevPrice)*100

trader_rocr100

(PECL trader >= 0.2.0)

trader_rocr100 — Rate of change ratio 100 scale: (price/prevPrice)*100

Descrição

trader_rocr100 ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Rate of change ratio: (price/prevPrice)

  • « trader_rocr100
  • trader_rsi »
  • PHP Manual
  • Trader Funções
  • Rate of change ratio: (price/prevPrice)

trader_rocr

(PECL trader >= 0.2.0)

trader_rocr — Rate of change ratio: (price/prevPrice)

Descrição

trader_rocr ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Relative Strength Index

  • « trader_rocr
  • trader_sar »
  • PHP Manual
  • Trader Funções
  • Relative Strength Index

trader_rsi

(PECL trader >= 0.2.0)

trader_rsi — Relative Strength Index

Descrição

trader_rsi ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Parabolic SAR

  • « trader_rsi
  • trader_sarext »
  • PHP Manual
  • Trader Funções
  • Parabolic SAR

trader_sar

(PECL trader >= 0.2.0)

trader_sar — Parabolic SAR

Descrição

trader_sar ( array $high , array $low , float $acceleration = ? , float $maximum = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

acceleration

Acceleration Factor used up to the Maximum value. Valid range from 0 to TRADER_REAL_MAX.

maximum

Acceleration Factor Maximum value. Valid range from 0 to TRADER_REAL_MAX.

Valor Retornado

Returns an array with calculated data or false on failure.


Parabolic SAR - Extended

  • « trader_sar
  • trader_set_compat »
  • PHP Manual
  • Trader Funções
  • Parabolic SAR - Extended

trader_sarext

(PECL trader >= 0.2.0)

trader_sarext — Parabolic SAR - Extended

Descrição

trader_sarext ( array $high , array $low , float $startValue = ? , float $offsetOnReverse = ? , float $accelerationInitLong = ? , float $accelerationLong = ? , float $accelerationMaxLong = ? , float $accelerationInitShort = ? , float $accelerationShort = ? , float $accelerationMaxShort = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

startValue

Start value and direction. 0 for Auto, >0 for Long, <0 for Short. Valid range from TRADER_REAL_MIN to TRADER_REAL_MAX.

offsetOnReverse

Percent offset added/removed to initial stop on short/long reversal. Valid range from 0 to TRADER_REAL_MAX.

accelerationInitLong

Acceleration Factor initial value for the Long direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationLong

Acceleration Factor for the Long direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationMaxLong

Acceleration Factor maximum value for the Long direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationInitShort

Acceleration Factor initial value for the Short direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationShort

Acceleration Factor for the Short direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationMaxShort

Acceleration Factor maximum value for the Short direction. Valid range from 0 to TRADER_REAL_MAX.

Valor Retornado

Returns an array with calculated data or false on failure.


Set compatibility mode

  • « trader_sarext
  • trader_set_unstable_period »
  • PHP Manual
  • Trader Funções
  • Set compatibility mode

trader_set_compat

(PECL trader >= 0.2.2)

trader_set_compat — Set compatibility mode

Descrição

trader_set_compat ( int $compatId ) : void

Set compatibility mode which will affect the way calculations are done by all the extension functions.

Parâmetros

compatId

Compatibility Id. TRADER_COMPATIBILITY_* series of constants should be used.

Valor Retornado

Não há valor retornado.


Set unstable period

  • « trader_set_compat
  • trader_sin »
  • PHP Manual
  • Trader Funções
  • Set unstable period

trader_set_unstable_period

(PECL trader >= 0.2.2)

trader_set_unstable_period — Set unstable period

Descrição

trader_set_unstable_period ( int $functionId , int $timePeriod ) : void

Influences unstable period factor for functions, which are sensible to it. More information about unstable periods can be found on the » TA-Lib API documentation page.

Parâmetros

functionId

Function ID the factor should be set for. TRADER_FUNC_UNST_* constant series can be used to affect the corresponding function.

timePeriod

Unstable period value.

Valor Retornado

Não há valor retornado.


Vector Trigonometric Sin

  • « trader_set_unstable_period
  • trader_sinh »
  • PHP Manual
  • Trader Funções
  • Vector Trigonometric Sin

trader_sin

(PECL trader >= 0.2.0)

trader_sin — Vector Trigonometric Sin

Descrição

trader_sin ( array $real ) : array

Calculates the sine for each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Trigonometric Sinh

  • « trader_sin
  • trader_sma »
  • PHP Manual
  • Trader Funções
  • Vector Trigonometric Sinh

trader_sinh

(PECL trader >= 0.2.0)

trader_sinh — Vector Trigonometric Sinh

Descrição

trader_sinh ( array $real ) : array

Calculates the hyperbolic sine for each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Simple Moving Average

  • « trader_sinh
  • trader_sqrt »
  • PHP Manual
  • Trader Funções
  • Simple Moving Average

trader_sma

(PECL trader >= 0.2.0)

trader_sma — Simple Moving Average

Descrição

trader_sma ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Square Root

  • « trader_sma
  • trader_stddev »
  • PHP Manual
  • Trader Funções
  • Vector Square Root

trader_sqrt

(PECL trader >= 0.2.0)

trader_sqrt — Vector Square Root

Descrição

trader_sqrt ( array $real ) : array

Calculates the square root of each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Standard Deviation

  • « trader_sqrt
  • trader_stoch »
  • PHP Manual
  • Trader Funções
  • Standard Deviation

trader_stddev

(PECL trader >= 0.2.0)

trader_stddev — Standard Deviation

Descrição

trader_stddev ( array $real , int $timePeriod = ? , float $nbDev = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

nbDev

Valor Retornado

Returns an array with calculated data or false on failure.


Stochastic

  • « trader_stddev
  • trader_stochf »
  • PHP Manual
  • Trader Funções
  • Stochastic

trader_stoch

(PECL trader >= 0.2.0)

trader_stoch — Stochastic

Descrição

trader_stoch ( array $high , array $low , array $close , int $fastK_Period = ? , int $slowK_Period = ? , int $slowK_MAType = ? , int $slowD_Period = ? , int $slowD_MAType = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

fastK_Period

Tempo de construção da linha Fast-K. Valores válidos de 1 a 100000.

slowK_Period

Amaciamento na construção da linha Slow-K. Valores válidos de 1 a 100000, geralmente 3.

slowK_MAType

Tipo de Média Móvel para o Slow-K. As TRADER_MA_TYPE_* constantes devem ser utilizadas.

slowD_Period

Amaciamento na construção da linha Slow-D. Valores válidos de 1 a 100000.

slowD_MAType

Tipo de Média Móvel para o Slow-D. As TRADER_MA_TYPE_* constantes devem ser utilizadas.

Valor Retornado

Returns an array with calculated data or false on failure.


Stochastic Fast

  • « trader_stoch
  • trader_stochrsi »
  • PHP Manual
  • Trader Funções
  • Stochastic Fast

trader_stochf

(PECL trader >= 0.2.0)

trader_stochf — Stochastic Fast

Descrição

trader_stochf ( array $high , array $low , array $close , int $fastK_Period = ? , int $fastD_Period = ? , int $fastD_MAType = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

fastK_Period

Tempo de construção da linha Fast-K. Valores válidos de 1 a 100000.

fastD_Period

Amaciamento na construção da linha Fast-D. Valores válidos de 1 a 100000, geralmente 3.

fastD_MAType

Tipo de Média Móvel para o Fast-D. As TRADER_MA_TYPE_* constantes devem ser utilizadas.

Valor Retornado

Returns an array with calculated data or false on failure.


Stochastic Relative Strength Index

  • « trader_stochf
  • trader_sub »
  • PHP Manual
  • Trader Funções
  • Stochastic Relative Strength Index

trader_stochrsi

(PECL trader >= 0.2.0)

trader_stochrsi — Stochastic Relative Strength Index

Descrição

trader_stochrsi ( array $real , int $timePeriod = ? , int $fastK_Period = ? , int $fastD_Period = ? , int $fastD_MAType = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

fastK_Period

Tempo de construção da linha Fast-K. Valores válidos de 1 a 100000.

fastD_Period

Amaciamento na construção da linha Fast-D. Valores válidos de 1 a 100000, geralmente 3.

fastD_MAType

Tipo de Média Móvel para o Fast-D. As TRADER_MA_TYPE_* constantes devem ser utilizadas.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Arithmetic Subtraction

  • « trader_stochrsi
  • trader_sum »
  • PHP Manual
  • Trader Funções
  • Vector Arithmetic Subtraction

trader_sub

(PECL trader >= 0.2.0)

trader_sub — Vector Arithmetic Subtraction

Descrição

trader_sub ( array $real0 , array $real1 ) : array

Calculates the vector subtraction of real1 from real0 and returns the resulting vector.

Parâmetros

real0

Array de valores reais.

real1

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Summation

  • « trader_sub
  • trader_t3 »
  • PHP Manual
  • Trader Funções
  • Summation

trader_sum

(PECL trader >= 0.2.0)

trader_sum — Summation

Descrição

trader_sum ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Triple Exponential Moving Average (T3)

  • « trader_sum
  • trader_tan »
  • PHP Manual
  • Trader Funções
  • Triple Exponential Moving Average (T3)

trader_t3

(PECL trader >= 0.2.0)

trader_t3 — Triple Exponential Moving Average (T3)

Descrição

trader_t3 ( array $real , int $timePeriod = ? , float $vFactor = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

vFactor

Fator de volume. Válido de 1 a 0.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Trigonometric Tan

  • « trader_t3
  • trader_tanh »
  • PHP Manual
  • Trader Funções
  • Vector Trigonometric Tan

trader_tan

(PECL trader >= 0.2.0)

trader_tan — Vector Trigonometric Tan

Descrição

trader_tan ( array $real ) : array

Calculates the tangent for each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Vector Trigonometric Tanh

  • « trader_tan
  • trader_tema »
  • PHP Manual
  • Trader Funções
  • Vector Trigonometric Tanh

trader_tanh

(PECL trader >= 0.2.0)

trader_tanh — Vector Trigonometric Tanh

Descrição

trader_tanh ( array $real ) : array

Calculates the hyperbolic tangent for each value in real and returns the resulting array.

Parâmetros

real

Array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Triple Exponential Moving Average

  • « trader_tanh
  • trader_trange »
  • PHP Manual
  • Trader Funções
  • Triple Exponential Moving Average

trader_tema

(PECL trader >= 0.2.0)

trader_tema — Triple Exponential Moving Average

Descrição

trader_tema ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


True Range

  • « trader_tema
  • trader_trima »
  • PHP Manual
  • Trader Funções
  • True Range

trader_trange

(PECL trader >= 0.2.0)

trader_trange — True Range

Descrição

trader_trange ( array $high , array $low , array $close ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Triangular Moving Average

  • « trader_trange
  • trader_trix »
  • PHP Manual
  • Trader Funções
  • Triangular Moving Average

trader_trima

(PECL trader >= 0.2.0)

trader_trima — Triangular Moving Average

Descrição

trader_trima ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


1-day Rate-Of-Change (ROC) of a Triple Smooth EMA

  • « trader_trima
  • trader_tsf »
  • PHP Manual
  • Trader Funções
  • 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA

trader_trix

(PECL trader >= 0.2.0)

trader_trix — 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA

Descrição

trader_trix ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Time Series Forecast

  • « trader_trix
  • trader_typprice »
  • PHP Manual
  • Trader Funções
  • Time Series Forecast

trader_tsf

(PECL trader >= 0.2.0)

trader_tsf — Time Series Forecast

Descrição

trader_tsf ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Typical Price

  • « trader_tsf
  • trader_ultosc »
  • PHP Manual
  • Trader Funções
  • Typical Price

trader_typprice

(PECL trader >= 0.2.0)

trader_typprice — Typical Price

Descrição

trader_typprice ( array $high , array $low , array $close ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Ultimate Oscillator

  • « trader_typprice
  • trader_var »
  • PHP Manual
  • Trader Funções
  • Ultimate Oscillator

trader_ultosc

(PECL trader >= 0.2.0)

trader_ultosc — Ultimate Oscillator

Descrição

trader_ultosc ( array $high , array $low , array $close , int $timePeriod1 = ? , int $timePeriod2 = ? , int $timePeriod3 = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

timePeriod1

Number of bars for 1st period. Valid range from 1 to 100000.

timePeriod2

Number of bars for 2nd period. Valid range from 1 to 100000.

timePeriod3

Number of bars for 3rd period. Valid range from 1 to 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Variance

  • « trader_ultosc
  • trader_wclprice »
  • PHP Manual
  • Trader Funções
  • Variance

trader_var

(PECL trader >= 0.2.0)

trader_var — Variance

Descrição

trader_var ( array $real , int $timePeriod = ? , float $nbDev = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

nbDev

Valor Retornado

Returns an array with calculated data or false on failure.


Weighted Close Price

  • « trader_var
  • trader_willr »
  • PHP Manual
  • Trader Funções
  • Weighted Close Price

trader_wclprice

(PECL trader >= 0.2.0)

trader_wclprice — Weighted Close Price

Descrição

trader_wclprice ( array $high , array $low , array $close ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

Valor Retornado

Returns an array with calculated data or false on failure.


Williams' %R

  • « trader_wclprice
  • trader_wma »
  • PHP Manual
  • Trader Funções
  • Williams' %R

trader_willr

(PECL trader >= 0.2.0)

trader_willr — Williams' %R

Descrição

trader_willr ( array $high , array $low , array $close , int $timePeriod = ? ) : array

Parâmetros

high

Preço máximo, array de valores reais.

low

Preço mínimo, array de valores reais.

close

Preço de fechamento (último), array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Weighted Moving Average

  • « trader_willr
  • Saída de MIME Não-Texto »
  • PHP Manual
  • Trader Funções
  • Weighted Moving Average

trader_wma

(PECL trader >= 0.2.0)

trader_wma — Weighted Moving Average

Descrição

trader_wma ( array $real , int $timePeriod = ? ) : array

Parâmetros

real

Array de valores reais.

timePeriod

Número de períodos. Valores válidos de 2 a 100000.

Valor Retornado

Returns an array with calculated data or false on failure.


Saída de MIME Não-Texto

  • FDF — Forms Data Format
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • FDF Funções
  • GnuPG — GNU Privacy Guard
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • GnuPG Funções
  • wkhtmltox
    • Introdução
    • Instalação/Configuração
    • wkhtmltox\PDF\Converter — The wkhtmltox\PDF\Converter class
    • wkhtmltox\PDF\Object — The wkhtmltox\PDF\Object class
    • wkhtmltox\Image\Converter — The wkhtmltox\Image\Converter class
  • PS — PostScript document creation
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • PS Funções
  • RpmInfo
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • RpmInfo Funções
  • XLSWriter
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Vtiful\Kernel\Excel — The Vtiful\Kernel\Excel class
    • Vtiful\Kernel\Format — The Vtiful\Kernel\Format class


Forms Data Format

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • FDF Funções
    • fdf_add_doc_javascript — Adds javascript code to the FDF document
    • fdf_add_template — Adds a template into the FDF document
    • fdf_close — Close an FDF document
    • fdf_create — Create a new FDF document
    • fdf_enum_values — Call a user defined function for each document value
    • fdf_errno — Return error code for last fdf operation
    • fdf_error — Return error description for FDF error code
    • fdf_get_ap — Get the appearance of a field
    • fdf_get_attachment — Extracts uploaded file embedded in the FDF
    • fdf_get_encoding — Get the value of the /Encoding key
    • fdf_get_file — Get the value of the /F key
    • fdf_get_flags — Gets the flags of a field
    • fdf_get_opt — Gets a value from the opt array of a field
    • fdf_get_status — Get the value of the /STATUS key
    • fdf_get_value — Get the value of a field
    • fdf_get_version — Gets version number for FDF API or file
    • fdf_header — Sets FDF-specific output headers
    • fdf_next_field_name — Get the next field name
    • fdf_open_string — Read a FDF document from a string
    • fdf_open — Open a FDF document
    • fdf_remove_item — Sets target frame for form
    • fdf_save_string — Returns the FDF document as a string
    • fdf_save — Save a FDF document
    • fdf_set_ap — Set the appearance of a field
    • fdf_set_encoding — Sets FDF character encoding
    • fdf_set_file — Set PDF document to display FDF data in
    • fdf_set_flags — Sets a flag of a field
    • fdf_set_javascript_action — Sets an javascript action of a field
    • fdf_set_on_import_javascript — Adds javascript code to be executed when Acrobat opens the FDF
    • fdf_set_opt — Sets an option of a field
    • fdf_set_status — Set the value of the /STATUS key
    • fdf_set_submit_form_action — Sets a submit form action of a field
    • fdf_set_target_frame — Set target frame for form display
    • fdf_set_value — Set the value of a field
    • fdf_set_version — Sets version number for a FDF file


Introdução

Forms Data Format (FDF) is a format for handling forms within PDF documents. You should read the documentation at » http://www.adobe.com/devnet/acrobat/fdftoolkit.html for more information on what FDF is and how it is used in general.

The general idea of FDF is similar to HTML forms. The difference is basically the format how data is transmitted to the server when the submit button is pressed (this is actually the Form Data Format) and the format of the form itself (which is the Portable Document Format, PDF). Processing the FDF data is one of the features provided by the fdf functions. But there is more. One may as well take an existing PDF form and populated the input fields with data without modifying the form itself. In such a case one would create a FDF document (fdf_create()) set the values of each input field (fdf_set_value()) and associate it with a PDF form (fdf_set_file()). Finally it has to be sent to the browser with MimeType application/vnd.fdf. The Acrobat reader plugin of your browser recognizes the MimeType, reads the associated PDF form and fills in the data from the FDF document.

If you look at an FDF-document with a text editor you will find a catalogue object with the name FDF. Such an object may contain a number of entries like Fields, F, Status etc.. The most commonly used entries are Fields which points to a list of input fields, and F which contains the filename of the PDF-document this data belongs to. Those entries are referred to in the FDF documentation as /F-Key or /Status-Key. Modifying this entries is done by functions like fdf_set_file() and fdf_set_status(). Fields are modified with fdf_set_value(), fdf_set_opt() etc..


Dependências

You need the FDF toolkit SDK available from » http://www.adobe.com/devnet/acrobat/fdftoolkit.html. As of PHP 4.3.0 you need at least SDK version 5.0. The FDF toolkit library is available in binary form only, platforms supported by Adobe are Win32, Linux, Solaris and AIX.


Instalação

Esta extensão é considerada não mantida e abandonada. Entretanto seu código fonte está disponível no SVN PECK aqui: » https://svn.php.net/viewvc/pecl/fdf.

This extension is no longer bundled with PHP as of PHP 5.3.0.

Nota: If you run into problems configuring PHP with fdftk support, check whether the header file fdftk.h and the library libfdftk.so are at the right place. The configure script supports both the directory structure of the FDF SDK distribution and the usual DIR/include / DIR/lib layout, so you can point it either directly to the unpacked distribution directory or put the header file and the appropriate library for your platform into e.g. /usr/local/include and /usr/local/lib and configure with --with-fdftk=/usr/local.

Nota: Note to Win32 Users

Para esta extensão funcionar, existem arquivos DLL que devem estar disponíveis no PATH do sistema Windows. Para saber como fazer isso, veja o FAQ intitulado "Como eu adiciono o meu diretório PHP no PATH no Windows". Embora copiando arquivos DLL da pasta do PHP no diretório system do Windows também funcione (porque o diretório system está por padrão no PATH do sistema), isto não é recomendado. Esta extensão requer que os seguintes arquivos estejam no PATH: fdftk.dll


Tipos de Recurso

Most fdf functions require a fdf resource as their first parameter. A fdf resource is a handle to an opened fdf file. fdf resources may be obtained using fdf_create(), fdf_open() and fdf_open_string().


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

FDFValue (int)
FDFStatus (int)
FDFFile (int)
FDFID (int)
FDFFf (int)
FDFSetFf (int)
FDFClearFf (int)
FDFFlags (int)
FDFSetF (int)
FDFClrF (int)
FDFAP (int)
FDFAS (int)
FDFAction (int)
FDFAA (int)
FDFAPRef (int)
FDFIF (int)
FDFEnter (int)
FDFExit (int)
FDFDown (int)
FDFUp (int)
FDFFormat (int)
FDFValidate (int)
FDFKeystroke (int)
FDFCalculate (int)
FDFNormalAP (int)
FDFRolloverAP (int)
FDFDownAP (int)


Exemplos

The following examples shows just the evaluation of form data.

Exemplo #1 Evaluating a FDF document

<?php
// Open fdf from input string provided by the extension
// The pdf form contained several input text fields with the names
// volume, date, comment, publisher, preparer, and two checkboxes
// show_publisher and show_preparer.
$fdf = fdf_open_string($HTTP_FDF_DATA);
$volume = fdf_get_value($fdf, "volume");
echo "The volume field has the value '<b>$volume</b>'<br />";

$date = fdf_get_value($fdf, "date");
echo "The date field has the value '<b>$date</b>'<br />";

$comment = fdf_get_value($fdf, "comment");
echo "The comment field has the value '<b>$comment</b>'<br />";

if (fdf_get_value($fdf, "show_publisher") == "On") {
  $publisher = fdf_get_value($fdf, "publisher");
  echo "The publisher field has the value '<b>$publisher</b>'<br />";
} else
  echo "Publisher shall not be shown.<br />";

if (fdf_get_value($fdf, "show_preparer") == "On") {
  $preparer = fdf_get_value($fdf, "preparer");
  echo "The preparer field has the value '<b>$preparer</b>'<br />";
} else
  echo "Preparer shall not be shown.<br />";
fdf_close($fdf);
?>


FDF Funções

Índice

  • fdf_add_doc_javascript — Adds javascript code to the FDF document
  • fdf_add_template — Adds a template into the FDF document
  • fdf_close — Close an FDF document
  • fdf_create — Create a new FDF document
  • fdf_enum_values — Call a user defined function for each document value
  • fdf_errno — Return error code for last fdf operation
  • fdf_error — Return error description for FDF error code
  • fdf_get_ap — Get the appearance of a field
  • fdf_get_attachment — Extracts uploaded file embedded in the FDF
  • fdf_get_encoding — Get the value of the /Encoding key
  • fdf_get_file — Get the value of the /F key
  • fdf_get_flags — Gets the flags of a field
  • fdf_get_opt — Gets a value from the opt array of a field
  • fdf_get_status — Get the value of the /STATUS key
  • fdf_get_value — Get the value of a field
  • fdf_get_version — Gets version number for FDF API or file
  • fdf_header — Sets FDF-specific output headers
  • fdf_next_field_name — Get the next field name
  • fdf_open_string — Read a FDF document from a string
  • fdf_open — Open a FDF document
  • fdf_remove_item — Sets target frame for form
  • fdf_save_string — Returns the FDF document as a string
  • fdf_save — Save a FDF document
  • fdf_set_ap — Set the appearance of a field
  • fdf_set_encoding — Sets FDF character encoding
  • fdf_set_file — Set PDF document to display FDF data in
  • fdf_set_flags — Sets a flag of a field
  • fdf_set_javascript_action — Sets an javascript action of a field
  • fdf_set_on_import_javascript — Adds javascript code to be executed when Acrobat opens the FDF
  • fdf_set_opt — Sets an option of a field
  • fdf_set_status — Set the value of the /STATUS key
  • fdf_set_submit_form_action — Sets a submit form action of a field
  • fdf_set_target_frame — Set target frame for form display
  • fdf_set_value — Set the value of a field
  • fdf_set_version — Sets version number for a FDF file


Adds javascript code to the FDF document

  • « FDF Funções
  • fdf_add_template »
  • PHP Manual
  • FDF Funções
  • Adds javascript code to the FDF document

fdf_add_doc_javascript

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_add_doc_javascript — Adds javascript code to the FDF document

Descrição

fdf_add_doc_javascript ( resource $fdf_document , string $script_name , string $script_code ) : bool

Adds a script to the FDF, which Acrobat then adds to the doc-level scripts of a document, once the FDF is imported into it.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

script_name

The script name.

script_code

The script code. It is strongly suggested to use \r for linebreaks within the script code.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Adding JavaScript code to a FDF

<?php
$fdf = fdf_create();
fdf_add_doc_javascript($fdf, "PlusOne", "function PlusOne(x)\r{\r  return x+1;\r}\r");
fdf_save($fdf);
?>

will create a FDF like this:

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /JavaScript << /Doc [ (PlusOne)(function PlusOne\(x\)\r{\r  return x+1;\r}\r)] >> >>
>>
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF


Adds a template into the FDF document

  • « fdf_add_doc_javascript
  • fdf_close »
  • PHP Manual
  • FDF Funções
  • Adds a template into the FDF document

fdf_add_template

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_add_template — Adds a template into the FDF document

Descrição

fdf_add_template ( resource $fdf_document , int $newpage , string $filename , string $template , int $rename ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Close an FDF document

  • « fdf_add_template
  • fdf_create »
  • PHP Manual
  • FDF Funções
  • Close an FDF document

fdf_close

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_close — Close an FDF document

Descrição

fdf_close ( resource $fdf_document ) : void

Closes the FDF document.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Valor Retornado

Não há valor retornado.

Veja Também

  • fdf_open() - Open a FDF document


Create a new FDF document

  • « fdf_close
  • fdf_enum_values »
  • PHP Manual
  • FDF Funções
  • Create a new FDF document

fdf_create

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_create — Create a new FDF document

Descrição

fdf_create ( ) : resource

Creates a new FDF document.

This function is needed if one would like to populate input fields in a PDF document with data.

Valor Retornado

Returns a FDF document handle, or false on error.

Exemplos

Exemplo #1 Populating a PDF document

<?php
$outfdf = fdf_create();
fdf_set_value($outfdf, "volume", $volume, 0);

fdf_set_file($outfdf, "http:/testfdf/resultlabel.pdf");
fdf_save($outfdf, "outtest.fdf");
fdf_close($outfdf);
Header("Content-type: application/vnd.fdf");
$fp = fopen("outtest.fdf", "r");
fpassthru($fp);
unlink("outtest.fdf");
?>

Veja Também

  • fdf_close() - Close an FDF document
  • fdf_save() - Save a FDF document
  • fdf_open() - Open a FDF document


Call a user defined function for each document value

  • « fdf_create
  • fdf_errno »
  • PHP Manual
  • FDF Funções
  • Call a user defined function for each document value

fdf_enum_values

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_enum_values — Call a user defined function for each document value

Descrição

fdf_enum_values ( resource $fdf_document , callable $function , mixed $userdata = ? ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Return error code for last fdf operation

  • « fdf_enum_values
  • fdf_error »
  • PHP Manual
  • FDF Funções
  • Return error code for last fdf operation

fdf_errno

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_errno — Return error code for last fdf operation

Descrição

fdf_errno ( ) : int

Gets the error code set by the last FDF function call.

A textual description of the error may be obtained using with fdf_error().

Valor Retornado

Returns the error code as an integer, or zero if there was no errors.

Veja Também

  • fdf_error() - Return error description for FDF error code


Return error description for FDF error code

  • « fdf_errno
  • fdf_get_ap »
  • PHP Manual
  • FDF Funções
  • Return error description for FDF error code

fdf_error

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_error — Return error description for FDF error code

Descrição

fdf_error ( int $error_code = -1 ) : string

Gets a textual description for the FDF error code given in error_code.

Parâmetros

error_code

An error code obtained with fdf_errno(). If not provided, this function uses the internal error code set by the last operation.

Valor Retornado

Returns the error message as a string, or the string no error if nothing went wrong.

Veja Também

  • fdf_errno() - Return error code for last fdf operation


Get the appearance of a field

  • « fdf_error
  • fdf_get_attachment »
  • PHP Manual
  • FDF Funções
  • Get the appearance of a field

fdf_get_ap

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_ap — Get the appearance of a field

Descrição

fdf_get_ap ( resource $fdf_document , string $field , int $face , string $filename ) : bool

Gets the appearance of a field (i.e. the value of the /AP key) and stores it in a file.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

field

face

The possible values are FDFNormalAP, FDFRolloverAP and FDFDownAP.

filename

The appearance will be stored in this parameter.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Extracts uploaded file embedded in the FDF

  • « fdf_get_ap
  • fdf_get_encoding »
  • PHP Manual
  • FDF Funções
  • Extracts uploaded file embedded in the FDF

fdf_get_attachment

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_attachment — Extracts uploaded file embedded in the FDF

Descrição

fdf_get_attachment ( resource $fdf_document , string $fieldname , string $savepath ) : array

Extracts a file uploaded by means of the "file selection" field fieldname and stores it under savepath.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

savepath

May be the name of a plain file or an existing directory in which the file is to be created under its original name. Any existing file under the same name will be overwritten.

Nota:

There seems to be no other way to find out the original filename but to store the file using a directory as savepath and check for the basename it was stored under.

Valor Retornado

The returned array contains the following fields:

  • path - path were the file got stored
  • size - size of the stored file in bytes
  • type - mimetype if given in the FDF

Exemplos

Exemplo #1 Storing an uploaded file

<?php
  $fdf = fdf_open_string($HTTP_FDF_DATA);
  $data = fdf_get_attachment($fdf, "filename", "/tmpdir");
  echo "The uploaded file is stored in $data[path]";
?>


Get the value of the /Encoding key

  • « fdf_get_attachment
  • fdf_get_file »
  • PHP Manual
  • FDF Funções
  • Get the value of the /Encoding key

fdf_get_encoding

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_encoding — Get the value of the /Encoding key

Descrição

fdf_get_encoding ( resource $fdf_document ) : string

Gets the value of the /Encoding key.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Valor Retornado

Returns the encoding as a string. An empty string is returned if the default PDFDocEncoding/Unicode scheme is used.

Veja Também

  • fdf_set_encoding() - Sets FDF character encoding


Get the value of the /F key

  • « fdf_get_encoding
  • fdf_get_flags »
  • PHP Manual
  • FDF Funções
  • Get the value of the /F key

fdf_get_file

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_file — Get the value of the /F key

Descrição

fdf_get_file ( resource $fdf_document ) : string

Gets the value of the /F key.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Valor Retornado

Returns the key value, as a string.

Veja Também

  • fdf_set_file() - Set PDF document to display FDF data in


Gets the flags of a field

  • « fdf_get_file
  • fdf_get_opt »
  • PHP Manual
  • FDF Funções
  • Gets the flags of a field

fdf_get_flags

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_flags — Gets the flags of a field

Descrição

fdf_get_flags ( resource $fdf_document , string $fieldname , int $whichflags ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Gets a value from the opt array of a field

  • « fdf_get_flags
  • fdf_get_status »
  • PHP Manual
  • FDF Funções
  • Gets a value from the opt array of a field

fdf_get_opt

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECLv)

fdf_get_opt — Gets a value from the opt array of a field

Descrição

fdf_get_opt ( resource $fdf_document , string $fieldname , int $element = -1 ) : mixed
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Get the value of the /STATUS key

  • « fdf_get_opt
  • fdf_get_value »
  • PHP Manual
  • FDF Funções
  • Get the value of the /STATUS key

fdf_get_status

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_status — Get the value of the /STATUS key

Descrição

fdf_get_status ( resource $fdf_document ) : string

Gets the value of the /STATUS key.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Valor Retornado

Returns the key value, as a string.

Veja Também

  • fdf_set_status() - Set the value of the /STATUS key


Get the value of a field

  • « fdf_get_status
  • fdf_get_version »
  • PHP Manual
  • FDF Funções
  • Get the value of a field

fdf_get_value

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_value — Get the value of a field

Descrição

fdf_get_value ( resource $fdf_document , string $fieldname , int $which = -1 ) : mixed

Gets the value for the requested field.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

which

Elements of an array field can be retrieved by passing this optional parameter, starting at zero. For non-array fields, this parameter will be ignored.

Valor Retornado

Returns the field value.

Changelog

Versão | Descrição
4.3.0 | Support for arrays and the which parameter were added.

Veja Também

  • fdf_set_value() - Set the value of a field


Gets version number for FDF API or file

  • « fdf_get_value
  • fdf_header »
  • PHP Manual
  • FDF Funções
  • Gets version number for FDF API or file

fdf_get_version

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_version — Gets version number for FDF API or file

Descrição

fdf_get_version ( resource $fdf_document = ? ) : string

Return the FDF version for the given document, or the toolkit API version number if no parameter is given.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Valor Retornado

Returns the version as a string. For the current FDF toolkit 5.0 the API version number is 5.0 and the document version number is either 1.2, 1.3 or 1.4.

Veja Também

  • fdf_set_version() - Sets version number for a FDF file


Sets FDF-specific output headers

  • « fdf_get_version
  • fdf_next_field_name »
  • PHP Manual
  • FDF Funções
  • Sets FDF-specific output headers

fdf_header

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVNf)

fdf_header — Sets FDF-specific output headers

Descrição

fdf_header ( ) : void

This is a convenience function to set appropriate HTTP headers for FDF output. It sets the Content-type: to application/vnd.fdf.

Valor Retornado

Não há valor retornado.


Get the next field name

  • « fdf_header
  • fdf_open_string »
  • PHP Manual
  • FDF Funções
  • Get the next field name

fdf_next_field_name

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_next_field_name — Get the next field name

Descrição

fdf_next_field_name ( resource $fdf_document , string $fieldname = ? ) : string

Gets the name of the field after the given field. This name can be used with several functions.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string. If not given, the first field will be assumed.

Valor Retornado

Returns the field name as a string.

Exemplos

Exemplo #1 Detecting all fieldnames in a FDF

<?php
$fdf = fdf_open($HTTP_FDF_DATA);
for ($field = fdf_next_field_name($fdf);
    $field != "";
    $field = fdf_next_field_name($fdf, $field)) {
    echo "field: $field\n";
}
?>

Veja Também

  • fdf_get_value() - Get the value of a field


Read a FDF document from a string

  • « fdf_next_field_name
  • fdf_open »
  • PHP Manual
  • FDF Funções
  • Read a FDF document from a string

fdf_open_string

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_open_string — Read a FDF document from a string

Descrição

fdf_open_string ( string $fdf_data ) : resource

Reads form data from a string.

You can use fdf_open_string() together with $HTTP_FDF_DATA to process FDF form input from a remote client.

Parâmetros

fdf_data

The data as returned from a PDF form or created using fdf_create() and fdf_save_string().

Valor Retornado

Returns a FDF document handle, or false on error.

Exemplos

Exemplo #1 Accessing the form data

<?php
$fdf = fdf_open_string($HTTP_FDF_DATA);
/* ... */
fdf_close($fdf);
?>

Veja Também

  • fdf_open() - Open a FDF document
  • fdf_close() - Close an FDF document
  • fdf_create() - Create a new FDF document
  • fdf_save_string() - Returns the FDF document as a string


Open a FDF document

  • « fdf_open_string
  • fdf_remove_item »
  • PHP Manual
  • FDF Funções
  • Open a FDF document

fdf_open

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_open — Open a FDF document

Descrição

fdf_open ( string $filename ) : resource

Opens a file with form data.

You can also use fdf_open_string() to process the results of a PDF form POST request.

Parâmetros

filename

Path to the FDF file. This file must contain the data as returned from a PDF form or created using fdf_create() and fdf_save().

Valor Retornado

Returns a FDF document handle, or false on error.

Exemplos

Exemplo #1 Accessing the form data

<?php
// Save the FDF data into a temp file
$fdffp = fopen("test.fdf", "w");
fwrite($fdffp, $HTTP_FDF_DATA, strlen($HTTP_FDF_DATA));
fclose($fdffp);

// Open temp file and evaluate data
$fdf = fdf_open("test.fdf");
/* ... */
fdf_close($fdf);
?>

Veja Também

  • fdf_open_string() - Read a FDF document from a string
  • fdf_close() - Close an FDF document
  • fdf_create() - Create a new FDF document
  • fdf_save() - Save a FDF document


Sets target frame for form

  • « fdf_open
  • fdf_save_string »
  • PHP Manual
  • FDF Funções
  • Sets target frame for form

fdf_remove_item

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_remove_item — Sets target frame for form

Descrição

fdf_remove_item ( resource $fdf_document , string $fieldname , int $item ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Returns the FDF document as a string

  • « fdf_remove_item
  • fdf_save »
  • PHP Manual
  • FDF Funções
  • Returns the FDF document as a string

fdf_save_string

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_save_string — Returns the FDF document as a string

Descrição

fdf_save_string ( resource $fdf_document ) : string

Returns the FDF document as a string.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Valor Retornado

Returns the document as a string, or false on error.

Exemplos

Exemplo #1 Retrieving FDF as a string

<?php
$fdf = fdf_create();
fdf_set_value($fdf, "foo", "bar");
$str = fdf_save_string($fdf);
fdf_close($fdf);
echo $str;
?>

O exemplo acima irá imprimir:

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /Fields 2 0 R >>
>>
endobj
2 0 obj
[
<< /T (foo)/V (bar)>>
]
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

Veja Também

  • fdf_open_string() - Read a FDF document from a string
  • fdf_close() - Close an FDF document
  • fdf_create() - Create a new FDF document
  • fdf_save() - Save a FDF document


Save a FDF document

  • « fdf_save_string
  • fdf_set_ap »
  • PHP Manual
  • FDF Funções
  • Save a FDF document

fdf_save

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_save — Save a FDF document

Descrição

fdf_save ( resource $fdf_document , string $filename = ? ) : bool

Saves a FDF document.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

filename

If provided, the resulting FDF will be written in this parameter. Otherwise, this function will write the FDF to the default PHP output stream.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fdf_close() - Close an FDF document
  • fdf_create() - Create a new FDF document
  • fdf_save_string() - Returns the FDF document as a string


Set the appearance of a field

  • « fdf_save
  • fdf_set_encoding »
  • PHP Manual
  • FDF Funções
  • Set the appearance of a field

fdf_set_ap

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_ap — Set the appearance of a field

Descrição

fdf_set_ap ( resource $fdf_document , string $field_name , int $face , string $filename , int $page_number ) : bool

Sets the appearance of a field (i.e. the value of the /AP key).

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

field_name

face

The possible values FDFNormalAP, FDFRolloverAP and FDFDownAP.

filename

page_number

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Sets FDF character encoding

  • « fdf_set_ap
  • fdf_set_file »
  • PHP Manual
  • FDF Funções
  • Sets FDF character encoding

fdf_set_encoding

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_encoding — Sets FDF character encoding

Descrição

fdf_set_encoding ( resource $fdf_document , string $encoding ) : bool

Sets the character encoding for the FDF document.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

encoding

The encoding name. The following values are supported: "Shift-JIS", "UHC", "GBK" and "BigFive".

An empty string resets the encoding to the default PDFDocEncoding/Unicode scheme.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set PDF document to display FDF data in

  • « fdf_set_encoding
  • fdf_set_flags »
  • PHP Manual
  • FDF Funções
  • Set PDF document to display FDF data in

fdf_set_file

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_file — Set PDF document to display FDF data in

Descrição

fdf_set_file ( resource $fdf_document , string $url , string $target_frame = ? ) : bool

Selects a different PDF document to display the form results in then the form it originated from.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

url

Should be given as an absolute URL.

target_frame

Use this parameter to specify the frame in which the document will be displayed. You can also set the default value for this parameter using fdf_set_target_frame().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Passing FDF data to a second form

<?php
  /* set content type for Adobe FDF */
  fdf_header();

  /* start new fdf */
  $fdf = fdf_create();

  /* set field "foo" to value "bar" */
  fdf_set_value($fdf, "foo", "bar");

  /* tell client to display FDF data using "fdf_form.pdf" */
  fdf_set_file($fdf, "http://www.example.com/fdf_form.pdf");

  /* output fdf */
  fdf_save($fdf);

  /* clean up */
  fdf_close($fdf);
?>

Veja Também

  • fdf_get_file() - Get the value of the /F key
  • fdf_set_target_frame() - Set target frame for form display


Sets a flag of a field

  • « fdf_set_file
  • fdf_set_javascript_action »
  • PHP Manual
  • FDF Funções
  • Sets a flag of a field

fdf_set_flags

(PHP 4 >= 4.0.2, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_flags — Sets a flag of a field

Descrição

fdf_set_flags ( resource $fdf_document , string $fieldname , int $whichFlags , int $newFlags ) : bool

Sets certain flags of the given field.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

whichFlags

newFlags

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fdf_set_opt() - Sets an option of a field


Sets an javascript action of a field

  • « fdf_set_flags
  • fdf_set_on_import_javascript »
  • PHP Manual
  • FDF Funções
  • Sets an javascript action of a field

fdf_set_javascript_action

(PHP 4 >= 4.0.2, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_javascript_action — Sets an javascript action of a field

Descrição

fdf_set_javascript_action ( resource $fdf_document , string $fieldname , int $trigger , string $script ) : bool

Sets a javascript action for the given field.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

trigger

script

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fdf_set_submit_form_action() - Sets a submit form action of a field


Adds javascript code to be executed when Acrobat opens the FDF

  • « fdf_set_javascript_action
  • fdf_set_opt »
  • PHP Manual
  • FDF Funções
  • Adds javascript code to be executed when Acrobat opens the FDF

fdf_set_on_import_javascript

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_on_import_javascript — Adds javascript code to be executed when Acrobat opens the FDF

Descrição

fdf_set_on_import_javascript ( resource $fdf_document , string $script , bool $before_data_import ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Veja Também

  • fdf_add_doc_javascript() - Adds javascript code to the FDF document
  • fdf_set_javascript_action() - Sets an javascript action of a field


Sets an option of a field

  • « fdf_set_on_import_javascript
  • fdf_set_status »
  • PHP Manual
  • FDF Funções
  • Sets an option of a field

fdf_set_opt

(PHP 4 >= 4.0.2, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_opt — Sets an option of a field

Descrição

fdf_set_opt ( resource $fdf_document , string $fieldname , int $element , string $str1 , string $str2 ) : bool

Sets options of the given field.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

element

str1

str2

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fdf_set_flags() - Sets a flag of a field


Set the value of the /STATUS key

  • « fdf_set_opt
  • fdf_set_submit_form_action »
  • PHP Manual
  • FDF Funções
  • Set the value of the /STATUS key

fdf_set_status

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_status — Set the value of the /STATUS key

Descrição

fdf_set_status ( resource $fdf_document , string $status ) : bool

Sets the value of the /STATUS key. When a client receives a FDF with a status set it will present the value in an alert box.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

status

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fdf_get_status() - Get the value of the /STATUS key


Sets a submit form action of a field

  • « fdf_set_status
  • fdf_set_target_frame »
  • PHP Manual
  • FDF Funções
  • Sets a submit form action of a field

fdf_set_submit_form_action

(PHP 4 >= 4.0.2, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_submit_form_action — Sets a submit form action of a field

Descrição

fdf_set_submit_form_action ( resource $fdf_document , string $fieldname , int $trigger , string $script , int $flags ) : bool

Sets a submit form action for the given field.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

trigger

script

flags

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fdf_set_javascript_action() - Sets an javascript action of a field


Set target frame for form display

  • « fdf_set_submit_form_action
  • fdf_set_value »
  • PHP Manual
  • FDF Funções
  • Set target frame for form display

fdf_set_target_frame

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_target_frame — Set target frame for form display

Descrição

fdf_set_target_frame ( resource $fdf_document , string $frame_name ) : bool

Sets the target frame to display a result PDF defined with fdf_save_file() in.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

frame_name

The frame name, as a string.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fdf_save_file()


Set the value of a field

  • « fdf_set_target_frame
  • fdf_set_version »
  • PHP Manual
  • FDF Funções
  • Set the value of a field

fdf_set_value

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_value — Set the value of a field

Descrição

fdf_set_value ( resource $fdf_document , string $fieldname , mixed $value , int $isName = ? ) : bool

Sets the value for the given field.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

value

This parameter will be stored as a string unless it is an array. In this case all array elements will be stored as a value array.

isName

Nota:

In older versions of the FDF toolkit last parameter determined if the field value was to be converted to a PDF Name (= 1) or set to a PDF String (= 0).

The value is no longer used in the current toolkit version 5.0. For compatibility reasons it is still supported as an optional parameter beginning with PHP 4.3, but ignored internally.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
4.3.0 | Support for arrays in the value parameter was added.

Veja Também

  • fdf_get_value() - Get the value of a field
  • fdf_remove_item() - Sets target frame for form


Sets version number for a FDF file

  • « fdf_set_value
  • GnuPG »
  • PHP Manual
  • FDF Funções
  • Sets version number for a FDF file

fdf_set_version

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_version — Sets version number for a FDF file

Descrição

fdf_set_version ( resource $fdf_document , string $version ) : bool

Sets the FDF version for the given document.

Some features supported by this extension are only available in newer FDF versions.

Parâmetros

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

version

The version number. For the current FDF toolkit 5.0, this may be either 1.2, 1.3 or 1.4.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • fdf_get_version() - Gets version number for FDF API or file


GNU Privacy Guard

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Clearsign text
  • GnuPG Funções
    • gnupg_adddecryptkey — Add a key for decryption
    • gnupg_addencryptkey — Add a key for encryption
    • gnupg_addsignkey — Add a key for signing
    • gnupg_cleardecryptkeys — Removes all keys which were set for decryption before
    • gnupg_clearencryptkeys — Removes all keys which were set for encryption before
    • gnupg_clearsignkeys — Removes all keys which were set for signing before
    • gnupg_decrypt — Decrypts a given text
    • gnupg_decryptverify — Decrypts and verifies a given text
    • gnupg_encrypt — Encrypts a given text
    • gnupg_encryptsign — Encrypts and signs a given text
    • gnupg_export — Exports a key
    • gnupg_geterror — Returns the errortext, if a function fails
    • gnupg_getprotocol — Returns the currently active protocol for all operations
    • gnupg_import — Imports a key
    • gnupg_init — Initialize a connection
    • gnupg_keyinfo — Returns an array with information about all keys that matches the given pattern
    • gnupg_setarmor — Toggle armored output
    • gnupg_seterrormode — Sets the mode for error_reporting
    • gnupg_setsignmode — Sets the mode for signing
    • gnupg_sign — Signs a given text
    • gnupg_verify — Verifies a signed text


  • « GnuPG
  • Instalação/Configuração »
  • PHP Manual
  • GnuPG
  • Introdução

Introdução

This module allows you to interact with » gnupg.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

This extension requires the » gpgme library


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/gnupg.


Constantes pré-definidas

GNUPG_SIG_MODE_NORMAL (int)
GNUPG_SIG_MODE_DETACH (int)
GNUPG_SIG_MODE_CLEAR (int)
GNUPG_VALIDITY_UNKNOWN (int)
GNUPG_VALIDITY_UNDEFINED (int)
GNUPG_VALIDITY_NEVER (int)
GNUPG_VALIDITY_MARGINAL (int)
GNUPG_VALIDITY_FULL (int)
GNUPG_VALIDITY_ULTIMATE (int)
GNUPG_PROTOCOL_OpenPGP (int)
GNUPG_PROTOCOL_CMS (int)
GNUPG_SIGSUM_VALID (int)
GNUPG_SIGSUM_GREEN (int)
GNUPG_SIGSUM_RED (int)
GNUPG_SIGSUM_KEY_REVOKED (int)
GNUPG_SIGSUM_KEY_EXPIRED (int)
GNUPG_SIGSUM_KEY_MISSING (int)
GNUPG_SIGSUM_SIG_EXPIRED (int)
GNUPG_SIGSUM_CRL_MISSING (int)
GNUPG_SIGSUM_CRL_TOO_OLD (int)
GNUPG_SIGSUM_BAD_POLICY (int)
GNUPG_SIGSUM_SYS_ERROR (int)
GNUPG_ERROR_WARNING (int)
GNUPG_ERROR_EXCEPTION (int)
GNUPG_ERROR_SILENT (int)


  • « Constantes pré-definidas
  • Clearsign text »
  • PHP Manual
  • GnuPG
  • Exemplos

Exemplos

Índice

  • Clearsign text


Clearsign text

This example will clearsign a given text.

Exemplo #1 gnupg clearsign example (procedural)

<?php
// init gnupg
$res = gnupg_init();
// not really needed. Clearsign is default
gnupg_setsignmode($res,GNUPG_SIG_MODE_CLEAR);
// add key with passphrase 'test' for signing
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
// sign
$signed = gnupg_sign($res,"just a test");
echo $signed;
?>

Exemplo #2 gnupg clearsign example (OO)

<?php
// new class
$gnupg = new gnupg();
// not really needed. Clearsign is default
$gnupg->setsignmode(gnupg::SIG_MODE_CLEAR);
// add key with passphrase 'test' for signing
$gnupg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
// sign
$signed = $gnupg->sign("just a test");
echo $signed;
?>

Exemplo #3 keylistiterator

This extension also comes with an Iterator for your keyring.

<?php
// create a new iterator for listing all public keys that matches 'example'
$iterator = new gnupg_keylistiterator("example");
foreach($iterator as $fingerprint => $userid){
    echo $fingerprint." -> ".$userid."\n";
}
?>


GnuPG Funções

Notas

This extension makes use of the keyring of the current user. This keyring is normally located in ~./.gnupg/. To specify a custom location, store the path to the keyring in the environment variable GNUPGHOME. See putenv for more information how to do this.

Some functions require the specification of a key. This specification can be anything that refers to a unique key (userid, key-id, fingerprint, ...). This documentation uses the fingerprint in all examples.

Nota:

As alternative to the explicitly documented functions using resources, you can also use an object-oriented style using gnupg objects.

Índice

  • gnupg_adddecryptkey — Add a key for decryption
  • gnupg_addencryptkey — Add a key for encryption
  • gnupg_addsignkey — Add a key for signing
  • gnupg_cleardecryptkeys — Removes all keys which were set for decryption before
  • gnupg_clearencryptkeys — Removes all keys which were set for encryption before
  • gnupg_clearsignkeys — Removes all keys which were set for signing before
  • gnupg_decrypt — Decrypts a given text
  • gnupg_decryptverify — Decrypts and verifies a given text
  • gnupg_encrypt — Encrypts a given text
  • gnupg_encryptsign — Encrypts and signs a given text
  • gnupg_export — Exports a key
  • gnupg_geterror — Returns the errortext, if a function fails
  • gnupg_getprotocol — Returns the currently active protocol for all operations
  • gnupg_import — Imports a key
  • gnupg_init — Initialize a connection
  • gnupg_keyinfo — Returns an array with information about all keys that matches the given pattern
  • gnupg_setarmor — Toggle armored output
  • gnupg_seterrormode — Sets the mode for error_reporting
  • gnupg_setsignmode — Sets the mode for signing
  • gnupg_sign — Signs a given text
  • gnupg_verify — Verifies a signed text


Add a key for decryption

  • « GnuPG Funções
  • gnupg_addencryptkey »
  • PHP Manual
  • GnuPG Funções
  • Add a key for decryption

gnupg_adddecryptkey

(PECL gnupg >= 0.5)

gnupg_adddecryptkey — Add a key for decryption

Descrição

gnupg_adddecryptkey ( resource $identifier , string $fingerprint , string $passphrase ) : bool

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

fingerprint

A chave de fingerprint.

passphrase

The pass phrase.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Procedural gnupg_adddecryptkey() example

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Exemplo #2 OO gnupg_adddecryptkey() example

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>


Add a key for encryption

  • « gnupg_adddecryptkey
  • gnupg_addsignkey »
  • PHP Manual
  • GnuPG Funções
  • Add a key for encryption

gnupg_addencryptkey

(PECL gnupg >= 0.5)

gnupg_addencryptkey — Add a key for encryption

Descrição

gnupg_addencryptkey ( resource $identifier , string $fingerprint ) : bool

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

fingerprint

A chave de fingerprint.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Procedural gnupg_addencryptkey() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
?>

Exemplo #2 OO gnupg_addencryptkey() example

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
?>


Add a key for signing

  • « gnupg_addencryptkey
  • gnupg_cleardecryptkeys »
  • PHP Manual
  • GnuPG Funções
  • Add a key for signing

gnupg_addsignkey

(PECL gnupg >= 0.5)

gnupg_addsignkey — Add a key for signing

Descrição

gnupg_addsignkey ( resource $identifier , string $fingerprint , string $passphrase = ? ) : bool

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

fingerprint

A chave de fingerprint.

passphrase

The pass phrase.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Procedural gnupg_addsignkey() example

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Exemplo #2 OO gnupg_addsignkey() example

<?php
$gpg = new gnupg();
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>


Removes all keys which were set for decryption before

  • « gnupg_addsignkey
  • gnupg_clearencryptkeys »
  • PHP Manual
  • GnuPG Funções
  • Removes all keys which were set for decryption before

gnupg_cleardecryptkeys

(PECL gnupg >= 0.5)

gnupg_cleardecryptkeys — Removes all keys which were set for decryption before

Descrição

gnupg_cleardecryptkeys ( resource $identifier ) : bool

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Procedural gnupg_cleardecryptkeys() example

<?php
$res = gnupg_init();
gnupg_cleardecryptkeys($res);
?>

Exemplo #2 OO gnupg_cleardecryptkeys() example

<?php
$gpg = new gnupg();
$gpg -> cleardecryptkeys();
?>


Removes all keys which were set for encryption before

  • « gnupg_cleardecryptkeys
  • gnupg_clearsignkeys »
  • PHP Manual
  • GnuPG Funções
  • Removes all keys which were set for encryption before

gnupg_clearencryptkeys

(PECL gnupg >= 0.5)

gnupg_clearencryptkeys — Removes all keys which were set for encryption before

Descrição

gnupg_clearencryptkeys ( resource $identifier ) : bool

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Procedural gnupg_clearencryptkeys() example

<?php
$res = gnupg_init();
gnupg_clearencryptkeys($res);
?>

Exemplo #2 OO gnupg_clearencryptkeys() example

<?php
$gpg = new gnupg();
$gpg -> clearencryptkeys();
?>


Removes all keys which were set for signing before

  • « gnupg_clearencryptkeys
  • gnupg_decrypt »
  • PHP Manual
  • GnuPG Funções
  • Removes all keys which were set for signing before

gnupg_clearsignkeys

(PECL gnupg >= 0.5)

gnupg_clearsignkeys — Removes all keys which were set for signing before

Descrição

gnupg_clearsignkeys ( resource $identifier ) : bool

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Procedural gnupg_clearsignkeys() example

<?php
$res = gnupg_init();
gnupg_clearsignkeys($res);
?>

Exemplo #2 OO gnupg_clearsignkeys() example

<?php
$gpg = new gnupg();
$gpg -> clearsignkeys();
?>


Decrypts a given text

  • « gnupg_clearsignkeys
  • gnupg_decryptverify »
  • PHP Manual
  • GnuPG Funções
  • Decrypts a given text

gnupg_decrypt

(PECL gnupg >= 0.1)

gnupg_decrypt — Decrypts a given text

Descrição

gnupg_decrypt ( resource $identifier , string $text ) : string

Decrypts the given text with the keys, which were set with gnupg_adddecryptkey before.

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

text

The text being decrypted.

Valor Retornado

On success, this function returns the decrypted text. On failure, this function returns false.

Exemplos

Exemplo #1 Procedural gnupg_decrypt() example

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = gnupg_decrypt($res,$encrypted_text);
echo $plain;
?>

Exemplo #2 OO gnupg_decrypt() example

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = $gpg -> decrypt($encrypted_text);
echo $plain;
?>


Decrypts and verifies a given text

  • « gnupg_decrypt
  • gnupg_encrypt »
  • PHP Manual
  • GnuPG Funções
  • Decrypts and verifies a given text

gnupg_decryptverify

(PECL gnupg >= 0.2)

gnupg_decryptverify — Decrypts and verifies a given text

Descrição

gnupg_decryptverify ( resource $identifier , string $text , string &$plaintext ) : array

Decrypts and verifies a given text and returns information about the signature.

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

text

The text being decrypted.

plaintext

The parameter plaintext gets filled with the decrypted text.

Valor Retornado

On success, this function returns information about the signature and fills the plaintext parameter with the decrypted text. On failure, this function returns false.

Exemplos

Exemplo #1 Procedural gnupg_decryptverify() example

<?php
$plaintext = "";
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = gnupg_decryptverify($res,$text,$plaintext);
print_r($info);
?>

Exemplo #2 OO gnupg_decryptverify() example

<?php
$plaintext = "";
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = $gpg -> decryptverify($text,$plaintext);
print_r($info);
?>


Encrypts a given text

  • « gnupg_decryptverify
  • gnupg_encryptsign »
  • PHP Manual
  • GnuPG Funções
  • Encrypts a given text

gnupg_encrypt

(PECL gnupg >= 0.1)

gnupg_encrypt — Encrypts a given text

Descrição

gnupg_encrypt ( resource $identifier , string $plaintext ) : string

Encrypts the given plaintext with the keys, which were set with gnupg_addencryptkey before and returns the encrypted text.

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

plaintext

The text being encrypted.

Valor Retornado

On success, this function returns the encrypted text. On failure, this function returns false.

Exemplos

Exemplo #1 Procedural gnupg_encrypt() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
$enc = gnupg_encrypt($res, "just a test");
echo $enc;
?>

Exemplo #2 OO gnupg_encrypt() example

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$enc = $gpg -> encrypt("just a test");
echo $enc;
?>


Encrypts and signs a given text

  • « gnupg_encrypt
  • gnupg_export »
  • PHP Manual
  • GnuPG Funções
  • Encrypts and signs a given text

gnupg_encryptsign

(PECL gnupg >= 0.2)

gnupg_encryptsign — Encrypts and signs a given text

Descrição

gnupg_encryptsign ( resource $identifier , string $plaintext ) : string

Encrypts and signs the given plaintext with the keys, which were set with gnupg_addsignkey and gnupg_addencryptkey before and returns the encrypted and signed text.

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

plaintext

The text being encrypted.

Valor Retornado

On success, this function returns the encrypted and signed text. On failure, this function returns false.

Exemplos

Exemplo #1 Procedural gnupg_encryptsign() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = gnupg_encryptsign($res, "just a test");
echo $enc;
?>

Exemplo #2 OO gnupg_encryptsign() example

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = $gpg -> encryptsign("just a test");
echo $enc;
?>


Exports a key

  • « gnupg_encryptsign
  • gnupg_geterror »
  • PHP Manual
  • GnuPG Funções
  • Exports a key

gnupg_export

(PECL gnupg >= 0.1)

gnupg_export — Exports a key

Descrição

gnupg_export ( resource $identifier , string $fingerprint ) : string

Exports the key fingerprint.

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

fingerprint

A chave de fingerprint.

Valor Retornado

On success, this function returns the keydata. On failure, this function returns false.

Exemplos

Exemplo #1 Procedural gnupg_export() example

<?php
$res = gnupg_init();
$export = gnupg_export($res,"8660281B6051D071D94B5B230549F9DC851566DC");
echo $export;
?>

Exemplo #2 OO gnupg_export() example

<?php
$gpg = new gnupg();
$export = $gpg -> export("8660281B6051D071D94B5B230549F9DC851566DC");
?>


Returns the errortext, if a function fails

  • « gnupg_export
  • gnupg_getprotocol »
  • PHP Manual
  • GnuPG Funções
  • Returns the errortext, if a function fails

gnupg_geterror

(PECL gnupg >= 0.1)

gnupg_geterror — Returns the errortext, if a function fails

Descrição

gnupg_geterror ( resource $identifier ) : string

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

Valor Retornado

Returns an errortext, if an error has occurred, otherwise false.

Exemplos

Exemplo #1 Procedural gnupg_geterror() example

<?php
$res = gnupg_init();
echo gnupg_geterror($res);
?>

Exemplo #2 OO gnupg_geterror() example

<?php
$gpg = new gnupg();
echo $gpg -> geterror();
?>


Returns the currently active protocol for all operations

  • « gnupg_geterror
  • gnupg_import »
  • PHP Manual
  • GnuPG Funções
  • Returns the currently active protocol for all operations

gnupg_getprotocol

(PECL gnupg >= 0.1)

gnupg_getprotocol — Returns the currently active protocol for all operations

Descrição

gnupg_getprotocol ( resource $identifier ) : int

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

Valor Retornado

Returns the currently active protocol, which can be one of GNUPG_PROTOCOL_OpenPGP or GNUPG_PROTOCOL_CMS.

Exemplos

Exemplo #1 Procedural gnupg_getprotocol() example

<?php
$res = gnupg_init();
echo gnupg_getprotocol($res);
?>

Exemplo #2 OO gnupg_getprotocol() example

<?php
$gpg = new gnupg();
echo $gpg -> getprotocol();
?>


Imports a key

  • « gnupg_getprotocol
  • gnupg_init »
  • PHP Manual
  • GnuPG Funções
  • Imports a key

gnupg_import

(PECL gnupg >= 0.3)

gnupg_import — Imports a key

Descrição

gnupg_import ( resource $identifier , string $keydata ) : array

Imports the key keydata and returns an array with information about the importprocess.

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

keydata

The data key that is being imported.

Valor Retornado

On success, this function returns and info-array about the importprocess. On failure, this function returns false.

Exemplos

Exemplo #1 Procedural gnupg_import() example

<?php
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);
?>

Exemplo #2 OO gnupg_import() example

<?php
$gpg = new gnupg();
$info = $gpg -> import($keydata);
print_r($info);
?>


Initialize a connection

  • « gnupg_import
  • gnupg_keyinfo »
  • PHP Manual
  • GnuPG Funções
  • Initialize a connection

gnupg_init

(PECL gnupg >= 0.4)

gnupg_init — Initialize a connection

Descrição

gnupg_init ( ) : resource

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A GnuPG resource connection used by other GnuPG functions.

Exemplos

Exemplo #1 Procedural gnupg_init() example

<?php
$res = gnupg_init();
?>

Exemplo #2 OO gnupg initializer example

<?php
$gpg = new gnupg();
?>


Returns an array with information about all keys that matches the given pattern

  • « gnupg_init
  • gnupg_setarmor »
  • PHP Manual
  • GnuPG Funções
  • Returns an array with information about all keys that matches the given pattern

gnupg_keyinfo

(PECL gnupg >= 0.1)

gnupg_keyinfo — Returns an array with information about all keys that matches the given pattern

Descrição

gnupg_keyinfo ( resource $identifier , string $pattern ) : array

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

pattern

The pattern being checked against the keys.

Valor Retornado

Returns an array with information about all keys that matches the given pattern or false, if an error has occurred.

Exemplos

Exemplo #1 Procedural gnupg_keyinfo() example

<?php
$res = gnupg_init();
$info = gnupg_keyinfo($res, 'test');
print_r($info);
?>

Exemplo #2 OO gnupg_keyinfo() example

<?php
$gpg = new gnupg();
$info = $gpg -> keyinfo("test");
print_r($info);
?>


Toggle armored output

  • « gnupg_keyinfo
  • gnupg_seterrormode »
  • PHP Manual
  • GnuPG Funções
  • Toggle armored output

gnupg_setarmor

(PECL gnupg >= 0.1)

gnupg_setarmor — Toggle armored output

Descrição

gnupg_setarmor ( resource $identifier , int $armor ) : bool

Toggle the armored output.

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

armor

Pass a non-zero integer-value to this function to enable armored-output (default). Pass 0 to disable armored output.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Procedural gnupg_setarmor() example

<?php
$res = gnupg_init();
gnupg_setarmor($res,1); // enable armored output;
gnupg_setarmor($res,0); // disable armored output;
?>

Exemplo #2 OO gnupg_setarmor() example

<?php
$gpg = new gnupg();
$gpg -> setarmor(1); // enable armored output;
$gpg -> setarmor(0); // disable armored output;
?>


Sets the mode for error_reporting

  • « gnupg_setarmor
  • gnupg_setsignmode »
  • PHP Manual
  • GnuPG Funções
  • Sets the mode for error_reporting

gnupg_seterrormode

(PECL gnupg >= 0.6)

gnupg_seterrormode — Sets the mode for error_reporting

Descrição

gnupg_seterrormode ( resource $identifier , int $errormode ) : void

Sets the mode for error_reporting.

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

errormode

The error mode.

errormode takes a constant indicating what type of error_reporting should be used. The possible values are GNUPG_ERROR_WARNING, GNUPG_ERROR_EXCEPTION and GNUPG_ERROR_SILENT. By default GNUPG_ERROR_SILENT is used.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Procedural gnupg_seterrormode() example

<?php
$res = gnupg_init();
gnupg_seterrormode($res,GNUPG_ERROR_WARNING); // raise a PHP-Warning in case of an error
?>

Exemplo #2 OO gnupg_seterrormode() example

<?php
$gpg = new gnupg();
$gpg -> seterrormode(gnupg::ERROR_EXCEPTION); // throw an exception in case of an error
?>


Sets the mode for signing

  • « gnupg_seterrormode
  • gnupg_sign »
  • PHP Manual
  • GnuPG Funções
  • Sets the mode for signing

gnupg_setsignmode

(PECL gnupg >= 0.1)

gnupg_setsignmode — Sets the mode for signing

Descrição

gnupg_setsignmode ( resource $identifier , int $signmode ) : bool

Sets the mode for signing.

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

sigmode

The mode for signing.

signmode takes a constant indicating what type of signature should be produced. The possible values are GNUPG_SIG_MODE_NORMAL, GNUPG_SIG_MODE_DETACH and GNUPG_SIG_MODE_CLEAR. By default GNUPG_SIG_MODE_CLEAR is used.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Procedural gnupg_setsignmode() example

<?php
$res = gnupg_init();
gnupg_setsignmode($res,GNUPG_SIG_MODE_DETACH); // produce a detached signature
?>

Exemplo #2 OO gnupg_setsignmode() example

<?php
$gpg = new gnupg();
$gpg -> setsignmode(gnupg::SIG_MODE_DETACH); // produce a detached signature
?>


Signs a given text

  • « gnupg_setsignmode
  • gnupg_verify »
  • PHP Manual
  • GnuPG Funções
  • Signs a given text

gnupg_sign

(PECL gnupg >= 0.1)

gnupg_sign — Signs a given text

Descrição

gnupg_sign ( resource $identifier , string $plaintext ) : string

Signs the given plaintext with the keys, which were set with gnupg_addsignkey before and returns the signed text or the signature, depending on what was set with gnupg_setsignmode.

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

plaintext

The plain text being signed.

Valor Retornado

On success, this function returns the signed text or the signature. On failure, this function returns false.

Exemplos

Exemplo #1 Procedural gnupg_sign() example

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = gnupg_sign($res, "just a test");
echo $signed;
?>

Exemplo #2 OO gnupg_sign() example

<?php
$gpg = new gnupg();
$gpg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = $gpg->sign("just a test");
echo $signed;
?>


Verifies a signed text

  • « gnupg_sign
  • wkhtmltox »
  • PHP Manual
  • GnuPG Funções
  • Verifies a signed text

gnupg_verify

(PECL gnupg >= 0.1)

gnupg_verify — Verifies a signed text

Descrição

gnupg_verify ( resource $identifier , string $signed_text , string $signature , string &$plaintext = ? ) : array

Verifies the given signed_text and returns information about the signature.

Parâmetros

identifier

O identificador gnupg, obtido de uma chamada à gnupg_init() ou gnupg.

signed_text

The signed text.

signature

The signature. To verify a clearsigned text, set signature to false.

plaintext

The plain text. If this optional parameter is passed, it is filled with the plain text.

Valor Retornado

On success, this function returns information about the signature. On failure, this function returns false.

Exemplos

Exemplo #1 Procedural gnupg_verify() example

<?php
$plaintext = "";
$res = gnupg_init();
// clearsigned
$info = gnupg_verify($res,$signed_text,false,$plaintext);
print_r($info);
// detached signature
$info = gnupg_verify($res,$signed_text,$signature);
print_r($info);
?>

Exemplo #2 OO gnupg_verify() example

<?php
$plaintext = "";
$gpg = new gnupg();
// clearsigned
$info = $gpg -> verify($signed_text,false,$plaintext);
print_r($info);
// detached signature
$info = $gpg -> verify($signed_text,$signature);
print_r($info);
?>


wkhtmltox

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
  • wkhtmltox\PDF\Converter — The wkhtmltox\PDF\Converter class
    • wkhtmltox\PDF\Converter::add — Add an object for conversion
    • wkhtmltox\PDF\Converter::__construct — Create a new PDF converter
    • wkhtmltox\PDF\Converter::convert — Perform PDF conversion
    • wkhtmltox\PDF\Converter::getVersion — Determine version of Converter
  • wkhtmltox\PDF\Object — The wkhtmltox\PDF\Object class
    • wkhtmltox\PDF\Object::__construct — Create a new PDF Object
  • wkhtmltox\Image\Converter — The wkhtmltox\Image\Converter class
    • wkhtmltox\Image\Converter::__construct — Create a new Image converter
    • wkhtmltox\Image\Converter::convert — Perform Image conversion
    • wkhtmltox\Image\Converter::getVersion — Determine version of Converter


Introdução

libwkhtmltox is an open source LGPLv3 library for rendering HTML into PDF and various image formats using the QtWebKit rendering engine.


  • « Introdução
  • Dependências »
  • PHP Manual
  • wkhtmltox
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução


Dependências

libwkhtmltox source and binary releases are distributed at » wkhtmltopdf.org.

Cuidado

Windows users need to take the additional step of adding wkhtmltox.dll to their PATH.


Instalação

The source code of this extension, and binaries for Windows are hosted by » github,

Fetching the source code and building the extension:

git clone https://github.com/krakjoe/wkhtmltox
cd wkhtmltox
phpize
./configure --with-wkhtmltox=/path/to/wkhtmltox/installation
make
sudo make install

Fetching updates and rebuilding the extension:

cd wkhtmltox
phpize --clean
git pull origin master
phpize
./configure --with-wkhtmltox=/path/to/wkhtmltox/installation
make
sudo make install


Configurações em Execução

Name | Description | Default | Stage | Changelog
wkhtmltox.graphics | allow libwkhtmltox to use graphics | Off | PHP_INI_SYSTEM | PHP_INI_PERDIR | >= 0.3.2


The wkhtmltox\PDF\Converter class

(wkhtmltox >= 0.1.0)

Introdução

Converts an HTML input, or set of HTML inputs, into PDF output

Sinopse da classe

wkhtmltox\PDF\Converter {
/* Constructor */
public __construct ( array $settings = ? )
/* Métodos */
public add ( wkhtmltox\PDF\Object $object ) : void
public convert ( ) : string|null
public getVersion ( ) : string
}

Índice

  • wkhtmltox\PDF\Converter::add — Add an object for conversion
  • wkhtmltox\PDF\Converter::__construct — Create a new PDF converter
  • wkhtmltox\PDF\Converter::convert — Perform PDF conversion
  • wkhtmltox\PDF\Converter::getVersion — Determine version of Converter


Add an object for conversion

  • « wkhtmltox\PDF\Converter
  • wkhtmltox\PDF\Converter::__construct »
  • PHP Manual
  • wkhtmltox\PDF\Converter
  • Add an object for conversion

wkhtmltox\PDF\Converter::add

(wkhtmltox >= 0.1.0)

wkhtmltox\PDF\Converter::add — Add an object for conversion

Descrição

public wkhtmltox\PDF\Converter::add ( wkhtmltox\PDF\Object $object ) : void

Adds the given object to conversion

Parâmetros

object

The object to add


Create a new PDF converter

  • « wkhtmltox\PDF\Converter::add
  • wkhtmltox\PDF\Converter::convert »
  • PHP Manual
  • wkhtmltox\PDF\Converter
  • Create a new PDF converter

wkhtmltox\PDF\Converter::__construct

(wkhtmltox >= 0.1.0)

wkhtmltox\PDF\Converter::__construct — Create a new PDF converter

Descrição

public wkhtmltox\PDF\Converter::__construct ( array $settings = ? )

Creates a PDF converter, using optional configuration settings

Parâmetros

settings

Name | Description | Values | Changelog
size.pageSize | paper size of output document | A4 | >= 0.1.0
size.width | with of the output document | 210mm | >= 0.1.0
size.height | height of the output document | 297mm | >= 0.1.0
orientation orientation of the output document
Landscape
Portrait
>= 0.1.0
colorMode color mode of the output document
Color
Greyscale
>= 0.1.0
resolution | resoluition of the output document | most likely has no effect | >= 0.1.0
dpi | dpi to use while printing | 80 | >= 0.1.0
pageOffset | integer added to page numbers generating headers, footers, and toc | >= 0.1.0
copies | >= 0.1.0
collate | collate copies | boolean | >= 0.1.0
outline | generate PDF outline | boolean | >= 0.1.0
outlineDepth | maximum depth of outline | >= 0.1.0
dumpOutline | path of file to dump outline XML | >= 0.1.0
out | path of output file, if "-" stdout is used | >= 0.1.0
documentTitle | title for the output document | >= 0.1.0
useCompression | enable or disable lossless compression | boolean | >= 0.1.0
margin.top | size of the top margin | 2cm | >= 0.1.0
margin.bottom | size of the bottom margin | 2cm | >= 0.1.0
margin.left | size of the left margin | 2cm | >= 0.1.0
margin.right | size of the right margin | 2cm | >= 0.1.0
imageDPI | maximum DPI for images in the output document | >= 0.1.0
imageQuality | the jpeg compression factor for images in the output document | 94 | >= 0.1.0
load.cookieJar | path of file used to load and store cookies | /tmp/cookies.txt | >= 0.1.0


Perform PDF conversion

  • « wkhtmltox\PDF\Converter::__construct
  • wkhtmltox\PDF\Converter::getVersion »
  • PHP Manual
  • wkhtmltox\PDF\Converter
  • Perform PDF conversion

wkhtmltox\PDF\Converter::convert

(wkhtmltox >= 0.1.0)

wkhtmltox\PDF\Converter::convert — Perform PDF conversion

Descrição

public wkhtmltox\PDF\Converter::convert ( ) : string|null

Performs conversion of all previously added Objects

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Where the return value is used, it will be populated with the contents of the conversion buffer


Determine version of Converter

  • « wkhtmltox\PDF\Converter::convert
  • wkhtmltox\PDF\Object »
  • PHP Manual
  • wkhtmltox\PDF\Converter
  • Determine version of Converter

wkhtmltox\PDF\Converter::getVersion

(wkhtmltox >= 0.3.2)

wkhtmltox\PDF\Converter::getVersion — Determine version of Converter

Descrição

public wkhtmltox\PDF\Converter::getVersion ( ) : string

Determines the version of Converter as reported by libwkhtmltox

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a version string


The wkhtmltox\PDF\Object class

(wkhtmltox >= 0.1.0)

Introdução

Represents an HTML document, input to PDF converter

Sinopse da classe

wkhtmltox\PDF\Object {
/* Constructor */
public __construct ( string $buffer , array $settings = ? )
}

Índice

  • wkhtmltox\PDF\Object::__construct — Create a new PDF Object


Create a new PDF Object

  • « wkhtmltox\PDF\Object
  • wkhtmltox\Image\Converter »
  • PHP Manual
  • wkhtmltox\PDF\Object
  • Create a new PDF Object

wkhtmltox\PDF\Object::__construct

(wkhtmltox >= 0.1.0)

wkhtmltox\PDF\Object::__construct — Create a new PDF Object

Descrição

public wkhtmltox\PDF\Object::__construct ( string $buffer , array $settings = ? )

Creates a new PDF Object from the given buffer and optional configuration settings

Parâmetros

buffer

HTML

settings

Name | Description | Values | Changelog
page | URL or path of the HTML to convert | >= 0.1.0
useExternalLinks | set true to convert external links in the input into external PDF links in the output | boolean | >= 0.1.0
useLocalLinks | set true to convert internal links in the input into internal PDF links in the output | boolean | >= 0.1.0
produceForms | set true to turn HTML forms into PDF forms | boolean | >= 0.1.0
replacements | undocumented | >= 0.1.0
includeInOutline | set true to include sections from this object in the outline and toc | boolean | >= 0.1.0
pagesCount | set true to make page count in toc inclusive of the number of pages in this object | boolean | >= 0.1.0
tocXsl | set to style sheet to convert this object into a toc object | >= 0.1.0
toc.useDottedLines | set true to use dotted lines in toc | boolean | >= 0.1.0
toc.captionText | the caption text for toc | >= 0.1.0
toc.forwardLinks | set true to create links from toc to content | boolean | >= 0.1.0
toc.backLinks | set true to create links from content to toc | boolean | >= 0.1.0
toc.indentation | indentation for toc | 2em | >= 0.1.0
toc.fontScale | the factor to scale down the font at every toc level | 0.8 | >= 0.1.0
header.fontSize | font size for use in header | 13 | >= 0.1.0
header.fontName | name of font for use in header | times | >= 0.1.0
header.left | text for left of header | >= 0.1.0
header.center | text for center of header | >= 0.1.0
header.right | text for right of header | >= 0.1.0
header.line | enable or disable horizontal rule under header | boolean | >= 0.1.0
header.spacing | space between header and content | 1.8 | >= 0.1.0
header.htmlUrl | URL or path of HTML to use in header | >= 0.1.0
footer.fontSize | font size for use in footer | 13 | >= 0.1.0
footer.fontName | name of font for use in footer | times | >= 0.1.0
footer.left | text for left of footer | >= 0.1.0
footer.center | text for center of footer | >= 0.1.0
footer.right | text for right of footer | >= 0.1.0
footer.line | enable or disable horizontal rule under footer | boolean | >= 0.1.0
footer.spacing | space between footer and content | 1.8 | >= 0.1.0
footer.htmlUrl | URL or path of HTML to use in footer | >= 0.1.0
load.username | user name to use when loging into a website | bart | >= 0.1.0
load.password | the password to used when logging into a website | elbarto | >= 0.1.0
load.jsdelay | the amount of time in milliseconds to wait after a page is loaded until it is captured | 1200 | >= 0.1.0
load.zoomFactor | how much zoom should be applied to the content | 2.2 | >= 0.1.0
load.customHeaders | custom headers to send when requesting the main web page | >= 0.1.0
load.repertCustomHeaders | set true to send with all requests | boolean | >= 0.1.0
load.cookies | cookie string to send when requesting the main web page | >= 0.1.0
load.post | post string to send when requesting the main web page | >= 0.1.0
load.blockLocalFileAccess | disallow local and piped files to access other local files | boolean | >= 0.1.0
load.stopSlowScript | stop slow running javascript | boolean
load.debugJavascript | allow javascript to raise warnings | boolean | >= 0.1.0
load.loadErrorHandling set error handling strategy
abort | abort the convertion process
skip | do not add the object to the final output
ignore | try to add the object to the final output
>= 0.1.0
load.proxy | >= 0.1.0
web.background | include background image in output | boolean | >= 0.1.0
web.loadImages | include images in output | boolean | >= 0.1.0
web.enableJavascript | enable or disable javascript | boolean | >= 0.1.0
web.enableIntelligentShrinking | enable to attempt to fit more content on page, only applies to PDF output | boolean | >= 0.1.0
web.minimumFontSize | the minimum font size allowed | 9 | >= 0.1.0
web.printMediaType | print content using print media type instead of screen media type | boolean | >= 0.1.0
web.defaultEncoding | content to use where no encoding is specified | utf-8 | >= 0.1.0
web.userStyleSheet | URL or path to a user specified style sheet | /path/to/style.css | >= 0.1.0
web.enablePlugins | enable or disable NS plugins | boolean | >= 0.1.0


The wkhtmltox\Image\Converter class

(wkhtmltox >= 0.1.0)

Introdução

Converts an HTML input into various image formats

Sinopse da classe

wkhtmltox\Image\Converter {
/* Constructor */
public __construct ( string $buffer = ? , array $settings = ? )
/* Métodos */
public convert ( ) : string|null
public getVersion ( ) : string
}

Índice

  • wkhtmltox\Image\Converter::__construct — Create a new Image converter
  • wkhtmltox\Image\Converter::convert — Perform Image conversion
  • wkhtmltox\Image\Converter::getVersion — Determine version of Converter


Create a new Image converter

  • « wkhtmltox\Image\Converter
  • wkhtmltox\Image\Converter::convert »
  • PHP Manual
  • wkhtmltox\Image\Converter
  • Create a new Image converter

wkhtmltox\Image\Converter::__construct

(wkhtmltox >= 0.1.0)

wkhtmltox\Image\Converter::__construct — Create a new Image converter

Descrição

public wkhtmltox\Image\Converter::__construct ( string $buffer = ? , array $settings = ? )

Creates an Image converter, optionally taking an input buffer and configuration settings

Parâmetros

buffer

HTML

settings

Name | Description | Values | Changelog
in | URL or path of the input file, if "-" stdin is used | /path/to/markup.html | >= 0.1.0
out | path of output file, if "-" stdout is used, by default an internal buffer is used | /path/to/output.png | >= 0.1.0
fmt output format to use
"" default
jpg | output as JPEG
png | output as PNG
bmp | output as bitmap
svg | output as SVG
>= 0.1.0
transparent | when outputting a PNG or SVG, make the white background transparent | boolean | >= 0.1.0
screenWidth | the with of the screen used to render in pixels | 800 | >= 0.1.0
smartWidth | when true, screenWidth is expanded to the content width | boolean | >= 0.1.0
quality | compression factor to use when outputting a JPEG image | 94 | >= 0.1.0
crop.left | left/x coordinate of the window to capture in pixels | 200 | >= 0.1.0
crop.top | top/y coordinate of the window to capture in pixels | 200 | >= 0.1.0
crop.width | width of the window to capture in pixels | 200 | >= 0.1.0
crop.height | height of the window to capture in pixels | 200 | >= 0.1.0
load.cookieJar | path of file used to load and store cookies | /tmp/cookies.txt | >= 0.1.0
load.username | user name to use when loging into a website | bart | >= 0.1.0
load.password | the password to used when logging into a website | elbarto | >= 0.1.0
load.jsdelay | the amount of time in milliseconds to wait after a page is loaded until it is captured | 1200 | >= 0.1.0
load.zoomFactor | how much zoom should be applied to the content | 2.2 | >= 0.1.0
load.customHeaders | custom headers to send when requesting the main web page | >= 0.1.0
load.repertCustomHeaders | set true to send with all requests | boolean | >= 0.1.0
load.cookies | cookie string to send when requesting the main web page | >= 0.1.0
load.post | post string to send when requesting the main web page | >= 0.1.0
load.blockLocalFileAccess | disallow local and piped files to access other local files | boolean | >= 0.1.0
load.stopSlowScript | stop slow running javascript | boolean
load.debugJavascript | allow javascript to raise warnings | boolean | >= 0.1.0
load.loadErrorHandling set error handling strategy
abort | abort the convertion process
skip | do not add the object to the final output
ignore | try to add the object to the final output
>= 0.1.0
load.proxy | >= 0.1.0
web.background | include background image in output | boolean | >= 0.1.0
web.loadImages | include images in output | boolean | >= 0.1.0
web.enableJavascript | enable or disable javascript | boolean | >= 0.1.0
web.enableIntelligentShrinking | enable to attempt to fit more content on page, only applies to PDF output | boolean | >= 0.1.0
web.minimumFontSize | the minimum font size allowed | 9 | >= 0.1.0
web.printMediaType | print content using print media type instead of screen media type | boolean | >= 0.1.0
web.defaultEncoding | content to use where no encoding is specified | utf-8 | >= 0.1.0
web.userStyleSheet | URL or path to a user specified style sheet | /path/to/style.css | >= 0.1.0
web.enablePlugins | enable or disable NS plugins | boolean | >= 0.1.0


Perform Image conversion

  • « wkhtmltox\Image\Converter::__construct
  • wkhtmltox\Image\Converter::getVersion »
  • PHP Manual
  • wkhtmltox\Image\Converter
  • Perform Image conversion

wkhtmltox\Image\Converter::convert

(wkhtmltox >= 0.1.0)

wkhtmltox\Image\Converter::convert — Perform Image conversion

Descrição

public wkhtmltox\Image\Converter::convert ( ) : string|null

Performs conversion of the input buffer

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Where the return value is used, it will be populated with the contents of the conversion buffer


Determine version of Converter

  • « wkhtmltox\Image\Converter::convert
  • PS »
  • PHP Manual
  • wkhtmltox\Image\Converter
  • Determine version of Converter

wkhtmltox\Image\Converter::getVersion

(wkhtmltox >= 0.3.2)

wkhtmltox\Image\Converter::getVersion — Determine version of Converter

Descrição

public wkhtmltox\Image\Converter::getVersion ( ) : string

Determines the version of Converter as reported by libwkhtmltox

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a version string

Aviso

This is not yet implemented by libwkhtmltox


PostScript document creation

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • PS Funções
    • ps_add_bookmark — Add bookmark to current page
    • ps_add_launchlink — Adds link which launches file
    • ps_add_locallink — Adds link to a page in the same document
    • ps_add_note — Adds note to current page
    • ps_add_pdflink — Adds link to a page in a second pdf document
    • ps_add_weblink — Adds link to a web location
    • ps_arc — Draws an arc counterclockwise
    • ps_arcn — Draws an arc clockwise
    • ps_begin_page — Start a new page
    • ps_begin_pattern — Start a new pattern
    • ps_begin_template — Start a new template
    • ps_circle — Draws a circle
    • ps_clip — Clips drawing to current path
    • ps_close_image — Closes image and frees memory
    • ps_close — Closes a PostScript document
    • ps_closepath_stroke — Closes and strokes path
    • ps_closepath — Closes path
    • ps_continue_text — Continue text in next line
    • ps_curveto — Draws a curve
    • ps_delete — Deletes all resources of a PostScript document
    • ps_end_page — End a page
    • ps_end_pattern — End a pattern
    • ps_end_template — End a template
    • ps_fill_stroke — Fills and strokes the current path
    • ps_fill — Fills the current path
    • ps_findfont — Loads a font
    • ps_get_buffer — Fetches the full buffer containig the generated PS data
    • ps_get_parameter — Gets certain parameters
    • ps_get_value — Gets certain values
    • ps_hyphenate — Hyphenates a word
    • ps_include_file — Reads an external file with raw PostScript code
    • ps_lineto — Draws a line
    • ps_makespotcolor — Create spot color
    • ps_moveto — Sets current point
    • ps_new — Creates a new PostScript document object
    • ps_open_file — Opens a file for output
    • ps_open_image_file — Opens image from file
    • ps_open_image — Reads an image for later placement
    • ps_open_memory_image — Takes an GD image and returns an image for placement in a PS document
    • ps_place_image — Places image on the page
    • ps_rect — Draws a rectangle
    • ps_restore — Restore previously save context
    • ps_rotate — Sets rotation factor
    • ps_save — Save current context
    • ps_scale — Sets scaling factor
    • ps_set_border_color — Sets color of border for annotations
    • ps_set_border_dash — Sets length of dashes for border of annotations
    • ps_set_border_style — Sets border style of annotations
    • ps_set_info — Sets information fields of document
    • ps_set_parameter — Sets certain parameters
    • ps_set_text_pos — Sets position for text output
    • ps_set_value — Sets certain values
    • ps_setcolor — Sets current color
    • ps_setdash — Sets appearance of a dashed line
    • ps_setflat — Sets flatness
    • ps_setfont — Sets font to use for following output
    • ps_setgray — Sets gray value
    • ps_setlinecap — Sets appearance of line ends
    • ps_setlinejoin — Sets how contected lines are joined
    • ps_setlinewidth — Sets width of a line
    • ps_setmiterlimit — Sets the miter limit
    • ps_setoverprintmode — Sets overprint mode
    • ps_setpolydash — Sets appearance of a dashed line
    • ps_shading_pattern — Creates a pattern based on a shading
    • ps_shading — Creates a shading for later use
    • ps_shfill — Fills an area with a shading
    • ps_show_boxed — Output text in a box
    • ps_show_xy2 — Output text at position
    • ps_show_xy — Output text at given position
    • ps_show2 — Output a text at current position
    • ps_show — Output text
    • ps_string_geometry — Gets geometry of a string
    • ps_stringwidth — Gets width of a string
    • ps_stroke — Draws the current path
    • ps_symbol_name — Gets name of a glyph
    • ps_symbol_width — Gets width of a glyph
    • ps_symbol — Output a glyph
    • ps_translate — Sets translation


Introdução

This module allows to create PostScript documents. It has many similarities with the pdf extension. Actually the API is almost identical and one can in many cases just replace the prefix of each function from pdf_ to ps_. This also works for functions which has no meaning in the PostScript document (like adding hyperlinks) but will have an effect if the document is converted to PDF.

Documents created by this extension are sometimes even superior to documents created with the pdf extension, because pslib's text rendering functions can handle kerning, hyphenation and ligatures which results in much better output of boxed text.


Dependências

You need at least pslib >= 0.1.12. The ps library (pslib) is available at » http://pslib.sourceforge.net/.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/ps.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

This extension defines a PostScript document resource returned by ps_new().


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

The following two tables lists all constants defined by the ps extension.

Contants for line caps
Name | Meaning
ps_LINECAP_BUTT |
ps_LINECAP_ROUND |
ps_LINECAP_SQUARED |
Contants for line joins
Name | Meaning
ps_LINEJOIN_MITER |
ps_LINEJOIN_ROUND |
ps_LINEJOIN_BEVEL |


PS Funções

Contact Information

If you have comments, bugfixes, enhancements for either this extension or pslib then please drop me a mail » steinm@php.net. Any help is very welcome.

Índice

  • ps_add_bookmark — Add bookmark to current page
  • ps_add_launchlink — Adds link which launches file
  • ps_add_locallink — Adds link to a page in the same document
  • ps_add_note — Adds note to current page
  • ps_add_pdflink — Adds link to a page in a second pdf document
  • ps_add_weblink — Adds link to a web location
  • ps_arc — Draws an arc counterclockwise
  • ps_arcn — Draws an arc clockwise
  • ps_begin_page — Start a new page
  • ps_begin_pattern — Start a new pattern
  • ps_begin_template — Start a new template
  • ps_circle — Draws a circle
  • ps_clip — Clips drawing to current path
  • ps_close_image — Closes image and frees memory
  • ps_close — Closes a PostScript document
  • ps_closepath_stroke — Closes and strokes path
  • ps_closepath — Closes path
  • ps_continue_text — Continue text in next line
  • ps_curveto — Draws a curve
  • ps_delete — Deletes all resources of a PostScript document
  • ps_end_page — End a page
  • ps_end_pattern — End a pattern
  • ps_end_template — End a template
  • ps_fill_stroke — Fills and strokes the current path
  • ps_fill — Fills the current path
  • ps_findfont — Loads a font
  • ps_get_buffer — Fetches the full buffer containig the generated PS data
  • ps_get_parameter — Gets certain parameters
  • ps_get_value — Gets certain values
  • ps_hyphenate — Hyphenates a word
  • ps_include_file — Reads an external file with raw PostScript code
  • ps_lineto — Draws a line
  • ps_makespotcolor — Create spot color
  • ps_moveto — Sets current point
  • ps_new — Creates a new PostScript document object
  • ps_open_file — Opens a file for output
  • ps_open_image_file — Opens image from file
  • ps_open_image — Reads an image for later placement
  • ps_open_memory_image — Takes an GD image and returns an image for placement in a PS document
  • ps_place_image — Places image on the page
  • ps_rect — Draws a rectangle
  • ps_restore — Restore previously save context
  • ps_rotate — Sets rotation factor
  • ps_save — Save current context
  • ps_scale — Sets scaling factor
  • ps_set_border_color — Sets color of border for annotations
  • ps_set_border_dash — Sets length of dashes for border of annotations
  • ps_set_border_style — Sets border style of annotations
  • ps_set_info — Sets information fields of document
  • ps_set_parameter — Sets certain parameters
  • ps_set_text_pos — Sets position for text output
  • ps_set_value — Sets certain values
  • ps_setcolor — Sets current color
  • ps_setdash — Sets appearance of a dashed line
  • ps_setflat — Sets flatness
  • ps_setfont — Sets font to use for following output
  • ps_setgray — Sets gray value
  • ps_setlinecap — Sets appearance of line ends
  • ps_setlinejoin — Sets how contected lines are joined
  • ps_setlinewidth — Sets width of a line
  • ps_setmiterlimit — Sets the miter limit
  • ps_setoverprintmode — Sets overprint mode
  • ps_setpolydash — Sets appearance of a dashed line
  • ps_shading_pattern — Creates a pattern based on a shading
  • ps_shading — Creates a shading for later use
  • ps_shfill — Fills an area with a shading
  • ps_show_boxed — Output text in a box
  • ps_show_xy2 — Output text at position
  • ps_show_xy — Output text at given position
  • ps_show2 — Output a text at current position
  • ps_show — Output text
  • ps_string_geometry — Gets geometry of a string
  • ps_stringwidth — Gets width of a string
  • ps_stroke — Draws the current path
  • ps_symbol_name — Gets name of a glyph
  • ps_symbol_width — Gets width of a glyph
  • ps_symbol — Output a glyph
  • ps_translate — Sets translation


Add bookmark to current page

  • « PS Funções
  • ps_add_launchlink »
  • PHP Manual
  • PS Funções
  • Add bookmark to current page

ps_add_bookmark

(PECL ps >= 1.1.0)

ps_add_bookmark — Add bookmark to current page

Descrição

ps_add_bookmark ( resource $psdoc , string $text , int $parent = 0 , int $open = 0 ) : int

Adds a bookmark for the current page. Bookmarks usually appear in PDF-Viewers left of the page in a hierarchical tree. Clicking on a bookmark will jump to the given page.

A nota não será visível se o documento for impresso ou visualizado mas será mostrado se o documento for convertido para para o pdf pelo Acrobat Distiller™ ou Ghostview.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text used for displaying the bookmark.

parent

A bookmark previously created by this function which is used as the parent of the new bookmark.

open

If open is unequal to zero the bookmark will be shown open by the pdf viewer.

Valor Retornado

The returned value is a reference for the bookmark. It is only used if the bookmark shall be used as a parent. The value is greater zero if the function succeeds. In case of an error zero will be returned.

Veja Também

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_weblink() - Adds link to a web location


Adds link which launches file

  • « ps_add_bookmark
  • ps_add_locallink »
  • PHP Manual
  • PS Funções
  • Adds link which launches file

ps_add_launchlink

(PECL ps >= 1.1.0)

ps_add_launchlink — Adds link which launches file

Descrição

ps_add_launchlink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $filename ) : bool

Places a hyperlink at the given position pointing to a file program which is being started when clicked on. The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

A nota não será visível se o documento for impresso ou visualizado mas será mostrado se o documento for convertido para para o pdf pelo Acrobat Distiller™ ou Ghostview.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

filename

The path of the program to be started, when the link is clicked on.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_weblink() - Adds link to a web location


Adds link to a page in the same document

  • « ps_add_launchlink
  • ps_add_note »
  • PHP Manual
  • PS Funções
  • Adds link to a page in the same document

ps_add_locallink

(PECL ps >= 1.1.0)

ps_add_locallink — Adds link to a page in the same document

Descrição

ps_add_locallink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , int $page , string $dest ) : bool

Places a hyperlink at the given position pointing to a page in the same document. Clicking on the link will jump to the given page. The first page in a document has number 1.

The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

A nota não será visível se o documento for impresso ou visualizado mas será mostrado se o documento for convertido para para o pdf pelo Acrobat Distiller™ ou Ghostview.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

page

The number of the page displayed when clicking on the link.

dest

The parameter dest determines how the document is being viewed. It can be fitpage, fitwidth, fitheight, or fitbbox.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_weblink() - Adds link to a web location


Adds note to current page

  • « ps_add_locallink
  • ps_add_pdflink »
  • PHP Manual
  • PS Funções
  • Adds note to current page

ps_add_note

(PECL ps >= 1.1.0)

ps_add_note — Adds note to current page

Descrição

ps_add_note ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $contents , string $title , string $icon , int $open ) : bool

Adds a note at a certain position on the page. Notes are like little rectangular sheets with text on it, which can be placed anywhere on a page. They are shown either folded or unfolded. If folded, the specified icon is used as a placeholder.

A nota não será visível se o documento for impresso ou visualizado mas será mostrado se o documento for convertido para para o pdf pelo Acrobat Distiller™ ou Ghostview.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

contents

The text of the note.

title

The title of the note as displayed in the header of the note.

icon

The icon shown if the note is folded. This parameter can be set to comment, insert, note, paragraph, newparagraph, key, or help.

open

If open is unequal to zero the note will be shown unfolded after opening the document with a pdf viewer.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_launchlink() - Adds link which launches file
  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_weblink() - Adds link to a web location


Adds link to a page in a second pdf document

  • « ps_add_note
  • ps_add_weblink »
  • PHP Manual
  • PS Funções
  • Adds link to a page in a second pdf document

ps_add_pdflink

(PECL ps >= 1.1.0)

ps_add_pdflink — Adds link to a page in a second pdf document

Descrição

ps_add_pdflink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $filename , int $page , string $dest ) : bool

Places a hyperlink at the given position pointing to a second pdf document. Clicking on the link will branch to the document at the given page. The first page in a document has number 1.

The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

A nota não será visível se o documento for impresso ou visualizado mas será mostrado se o documento for convertido para para o pdf pelo Acrobat Distiller™ ou Ghostview.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

filename

The name of the pdf document to be opened when clicking on this link.

page

The page number of the destination pdf document

dest

The parameter dest determines how the document is being viewed. It can be fitpage, fitwidth, fitheight, or fitbbox.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_weblink() - Adds link to a web location


Adds link to a web location

  • « ps_add_pdflink
  • ps_arc »
  • PHP Manual
  • PS Funções
  • Adds link to a web location

ps_add_weblink

(PECL ps >= 1.1.0)

ps_add_weblink — Adds link to a web location

Descrição

ps_add_weblink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $url ) : bool

Places a hyperlink at the given position pointing to a web page. The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

A nota não será visível se o documento for impresso ou visualizado mas será mostrado se o documento for convertido para para o pdf pelo Acrobat Distiller™ ou Ghostview.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

url

The url of the hyperlink to be opened when clicking on this link, e.g. http://www.php.net.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_pdflink() - Adds link to a page in a second pdf document


Draws an arc counterclockwise

  • « ps_add_weblink
  • ps_arcn »
  • PHP Manual
  • PS Funções
  • Draws an arc counterclockwise

ps_arc

(PECL ps >= 1.1.0)

ps_arc — Draws an arc counterclockwise

Descrição

ps_arc ( resource $psdoc , float $x , float $y , float $radius , float $alpha , float $beta ) : bool

Draws a portion of a circle with at middle point at (x, y). The arc starts at an angle of alpha and ends at an angle of beta. It is drawn counterclockwise (use ps_arcn() to draw clockwise). The subpath added to the current path starts on the arc at angle alpha and ends on the arc at angle beta.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

alpha

The start angle given in degrees.

beta

The end angle given in degrees.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_arcn() - Draws an arc clockwise


Draws an arc clockwise

  • « ps_arc
  • ps_begin_page »
  • PHP Manual
  • PS Funções
  • Draws an arc clockwise

ps_arcn

(PECL ps >= 1.1.0)

ps_arcn — Draws an arc clockwise

Descrição

ps_arcn ( resource $psdoc , float $x , float $y , float $radius , float $alpha , float $beta ) : bool

Draws a portion of a circle with at middle point at (x, y). The arc starts at an angle of alpha and ends at an angle of beta. It is drawn clockwise (use ps_arc() to draw counterclockwise). The subpath added to the current path starts on the arc at angle beta and ends on the arc at angle alpha.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

alpha

The starting angle given in degrees.

beta

The end angle given in degrees.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_arc() - Draws an arc counterclockwise


Start a new page

  • « ps_arcn
  • ps_begin_pattern »
  • PHP Manual
  • PS Funções
  • Start a new page

ps_begin_page

(PECL ps >= 1.1.0)

ps_begin_page — Start a new page

Descrição

ps_begin_page ( resource $psdoc , float $width , float $height ) : bool

Starts a new page. Although the parameters width and height imply a different page size for each page, this is not possible in PostScript. The first call of ps_begin_page() will set the page size for the whole document. Consecutive calls will have no effect, except for creating a new page. The situation is different if you intent to convert the PostScript document into PDF. This function places pdfmarks into the document which can set the size for each page indiviually. The resulting PDF document will have different page sizes.

Though PostScript does not know different page sizes, pslib places a bounding box for each page into the document. This size is evaluated by some PostScript viewers and will have precedence over the BoundingBox in the Header of the document. This can lead to unexpected results when you set a BoundingBox whose lower left corner is not (0, 0), because the bounding box of the page will always have a lower left corner (0, 0) and overwrites the global setting.

Each page is encapsulated into save/restore. This means, that most of the settings made on one page will not be retained on the next page.

If there is up to the first call of ps_begin_page() no call of ps_findfont(), then the header of the PostScript document will be output and the bounding box will be set to the size of the first page. The lower left corner of the bounding box is set to (0, 0). If ps_findfont() was called before, then the header has been output already, and the document will not have a valid bounding box. In order to prevent this, one should call ps_set_info() to set the info field BoundingBox and possibly Orientation before any ps_findfont() or ps_begin_page() calls.

Nota:

Up to version 0.2.6 of pslib, this function will always overwrite the BoundingBox and Orientation, if it has been set before with ps_set_info() and ps_findfont() has not been called before.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the page in pixel, e.g. 596 for A4 format.

height

The height of the page in pixel, e.g. 842 for A4 format.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_end_page() - End a page
  • ps_findfont() - Loads a font
  • ps_set_info() - Sets information fields of document


Start a new pattern

  • « ps_begin_page
  • ps_begin_template »
  • PHP Manual
  • PS Funções
  • Start a new pattern

ps_begin_pattern

(PECL ps >= 1.2.0)

ps_begin_pattern — Start a new pattern

Descrição

ps_begin_pattern ( resource $psdoc , float $width , float $height , float $xstep , float $ystep , int $painttype ) : int|false

Starts a new pattern. A pattern is like a page containing e.g. a drawing which can be used for filling areas. It is used like a color by calling ps_setcolor() and setting the color space to pattern.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the pattern in pixel.

height

The height of the pattern in pixel.

x-step

The distance in pixel of placements of the pattern in horizontal direction.

y-step

The distance in pixel of placements of the pattern in vertical direction.

painttype

Must be 1 or 2.

Valor Retornado

The identifier of the pattern ou false em caso de falha.

Exemplos

Exemplo #1 Creating and using a pattern

<?php
$ps = ps_new();

if (!ps_open_file($ps, "pattern.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "pattern.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Pattern example");

$pspattern = ps_begin_pattern($ps, 10.0, 10.0, 10.0, 10.0, 1);
ps_setlinewidth($ps, 0.2);
ps_setcolor($ps, "stroke", "rgb", 0.0, 0.0, 1.0, 0.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 7, 7);
ps_stroke($ps);
ps_moveto($ps, 0, 7);
ps_lineto($ps, 7, 0);
ps_stroke($ps);
ps_end_pattern($ps);

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "both", "pattern", $pspattern, 0.0, 0.0, 0.0);
ps_rect($ps, 50, 400, 200, 200);
ps_fill($ps);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Veja Também

  • ps_end_pattern() - End a pattern
  • ps_setcolor() - Sets current color
  • ps_shading_pattern() - Creates a pattern based on a shading


Start a new template

  • « ps_begin_pattern
  • ps_circle »
  • PHP Manual
  • PS Funções
  • Start a new template

ps_begin_template

(PECL ps >= 1.2.0)

ps_begin_template — Start a new template

Descrição

ps_begin_template ( resource $psdoc , float $width , float $height ) : int

Starts a new template. A template is called a form in the postscript language. It is created similar to a pattern but used like an image. Templates are often used for drawings which are placed several times through out the document, e.g. like a company logo. All drawing functions may be used within a template. The template will not be drawn until it is placed by ps_place_image().

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the template in pixel.

height

The height of the template in pixel.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Creating and using a template

<?php
$ps = ps_new();

if (!ps_open_file($ps, "template.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "template.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Template example");

$pstemplate = ps_begin_template($ps, 30.0, 30.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 30, 30);
ps_moveto($ps, 0, 30);
ps_lineto($ps, 30, 0);
ps_stroke($ps);
ps_end_template($ps);

ps_begin_page($ps, 596, 842);
ps_place_image($ps, $pstemplate, 20.0, 20.0, 1.0);
ps_place_image($ps, $pstemplate, 50.0, 30.0, 0.5);
ps_place_image($ps, $pstemplate, 70.0, 70.0, 0.6);
ps_place_image($ps, $pstemplate, 30.0, 50.0, 1.3);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Veja Também

  • ps_end_template() - End a template


Draws a circle

  • « ps_begin_template
  • ps_clip »
  • PHP Manual
  • PS Funções
  • Draws a circle

ps_circle

(PECL ps >= 1.1.0)

ps_circle — Draws a circle

Descrição

ps_circle ( resource $psdoc , float $x , float $y , float $radius ) : bool

Draws a circle with its middle point at (x, y). The circle starts and ends at position (x+radius, y). If this function is called outside a path it will start a new path. If it is called within a path it will add the circle as a subpath. If the last drawing operation does not end in point (x+radius, y) then there will be a gap in the path.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_arc() - Draws an arc counterclockwise
  • ps_arcn() - Draws an arc clockwise


Clips drawing to current path

  • « ps_circle
  • ps_close_image »
  • PHP Manual
  • PS Funções
  • Clips drawing to current path

ps_clip

(PECL ps >= 1.1.0)

ps_clip — Clips drawing to current path

Descrição

ps_clip ( resource $psdoc ) : bool

Takes the current path and uses it to define the border of a clipping area. Everything drawn outside of that area will not be visible.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_closepath() - Closes path


Closes image and frees memory

  • « ps_clip
  • ps_close »
  • PHP Manual
  • PS Funções
  • Closes image and frees memory

ps_close_image

(PECL ps >= 1.1.0)

ps_close_image — Closes image and frees memory

Descrição

ps_close_image ( resource $psdoc , int $imageid ) : void|false

Closes an image and frees its resources. Once an image is closed it cannot be used anymore.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

imageid

Resource identifier of the image as returned by ps_open_image() or ps_open_image_file().

Valor Retornado

Returns null on success ou false em caso de falha.

Veja Também

  • ps_open_image() - Reads an image for later placement
  • ps_open_image_file() - Opens image from file


Closes a PostScript document

  • « ps_close_image
  • ps_closepath_stroke »
  • PHP Manual
  • PS Funções
  • Closes a PostScript document

ps_close

(PECL ps >= 1.1.0)

ps_close — Closes a PostScript document

Descrição

ps_close ( resource $psdoc ) : bool

Closes the PostScript document.

This function writes the trailer of the PostScript document. It also writes the bookmark tree. ps_close() does not free any resources, which is done by ps_delete().

This function is also called by ps_delete() if it has not been called before.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_open_file() - Opens a file for output
  • ps_delete() - Deletes all resources of a PostScript document


Closes and strokes path

  • « ps_close
  • ps_closepath »
  • PHP Manual
  • PS Funções
  • Closes and strokes path

ps_closepath_stroke

(PECL ps >= 1.1.0)

ps_closepath_stroke — Closes and strokes path

Descrição

ps_closepath_stroke ( resource $psdoc ) : bool

Connects the last point with first point of a path and draws the resulting closed line.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_closepath() - Closes path


Closes path

  • « ps_closepath_stroke
  • ps_continue_text »
  • PHP Manual
  • PS Funções
  • Closes path

ps_closepath

(PECL ps >= 1.1.0)

ps_closepath — Closes path

Descrição

ps_closepath ( resource $psdoc ) : bool

Connects the last point with the first point of a path. The resulting path can be used for stroking, filling, clipping, etc..

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_clip() - Clips drawing to current path
  • ps_closepath_stroke() - Closes and strokes path


Continue text in next line

  • « ps_closepath
  • ps_curveto »
  • PHP Manual
  • PS Funções
  • Continue text in next line

ps_continue_text

(PECL ps >= 1.1.0)

ps_continue_text — Continue text in next line

Descrição

ps_continue_text ( resource $psdoc , string $text ) : bool

Output a text one line below the last line. The line spacing is taken from the value "leading" which must be set with ps_set_value(). The actual position of the text is determined by the values "textx" and "texty" which can be requested with ps_get_value()

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to output.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_show() - Output text
  • ps_show_xy() - Output text at given position
  • ps_show_boxed() - Output text in a box


Draws a curve

  • « ps_continue_text
  • ps_delete »
  • PHP Manual
  • PS Funções
  • Draws a curve

ps_curveto

(PECL ps >= 1.1.0)

ps_curveto — Draws a curve

Descrição

ps_curveto ( resource $psdoc , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 ) : bool

Add a section of a cubic Bézier curve described by the three given control points to the current path.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x1

x-coordinate of first control point.

y1

y-coordinate of first control point.

x2

x-coordinate of second control point.

y2

y-coordinate of second control point.

x3

x-coordinate of third control point.

y3

y-coordinate of third control point.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_lineto() - Draws a line


Deletes all resources of a PostScript document

  • « ps_curveto
  • ps_end_page »
  • PHP Manual
  • PS Funções
  • Deletes all resources of a PostScript document

ps_delete

(PECL ps >= 1.1.0)

ps_delete — Deletes all resources of a PostScript document

Descrição

ps_delete ( resource $psdoc ) : bool

Mainly frees memory used by the document. Also closes a file, if it was not closed before with ps_close(). You should in any case close the file with ps_close() before, because ps_close() not just closes the file but also outputs a trailor containing PostScript comments like the number of pages in the document and adding the bookmark hierarchy.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_close() - Closes a PostScript document


End a page

  • « ps_delete
  • ps_end_pattern »
  • PHP Manual
  • PS Funções
  • End a page

ps_end_page

(PECL ps >= 1.1.0)

ps_end_page — End a page

Descrição

ps_end_page ( resource $psdoc ) : bool

Ends a page which was started with ps_begin_page(). Ending a page will leave the current drawing context, which e.g. requires to reload fonts if they were loading within the page, and to set many other drawing parameters like the line width, or color.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_begin_page() - Start a new page


End a pattern

  • « ps_end_page
  • ps_end_template »
  • PHP Manual
  • PS Funções
  • End a pattern

ps_end_pattern

(PECL ps >= 1.2.0)

ps_end_pattern — End a pattern

Descrição

ps_end_pattern ( resource $psdoc ) : bool

Ends a pattern which was started with ps_begin_pattern(). Once a pattern has been ended, it can be used like a color to fill areas.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_begin_pattern() - Start a new pattern


End a template

  • « ps_end_pattern
  • ps_fill_stroke »
  • PHP Manual
  • PS Funções
  • End a template

ps_end_template

(PECL ps >= 1.2.0)

ps_end_template — End a template

Descrição

ps_end_template ( resource $psdoc ) : bool

Ends a template which was started with ps_begin_template(). Once a template has been ended, it can be used like an image.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_begin_template() - Start a new template


Fills and strokes the current path

  • « ps_end_template
  • ps_fill »
  • PHP Manual
  • PS Funções
  • Fills and strokes the current path

ps_fill_stroke

(PECL ps >= 1.1.0)

ps_fill_stroke — Fills and strokes the current path

Descrição

ps_fill_stroke ( resource $psdoc ) : bool

Fills and draws the path constructed with previously called drawing functions like ps_lineto().

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_fill() - Fills the current path
  • ps_stroke() - Draws the current path


Fills the current path

  • « ps_fill_stroke
  • ps_findfont »
  • PHP Manual
  • PS Funções
  • Fills the current path

ps_fill

(PECL ps >= 1.1.0)

ps_fill — Fills the current path

Descrição

ps_fill ( resource $psdoc ) : bool

Fills the path constructed with previously called drawing functions like ps_lineto().

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_fill_stroke() - Fills and strokes the current path
  • ps_stroke() - Draws the current path


Loads a font

  • « ps_fill
  • ps_get_buffer »
  • PHP Manual
  • PS Funções
  • Loads a font

ps_findfont

(PECL ps >= 1.1.0)

ps_findfont — Loads a font

Descrição

ps_findfont ( resource $psdoc , string $fontname , string $encoding , bool $embed = false ) : int

Loads a font for later use. Before text is output with a loaded font it must be set with ps_setfont(). This function needs the adobe font metric file in order to calculate the space used up by the characters. A font which is loaded within a page will only be available on that page. Fonts which are to be used in the complete document have to be loaded before the first call of ps_begin_page(). Calling ps_findfont() between pages will make that font available for all following pages.

The name of the afm file must be fontname.afm. If the font shall be embedded the file fontname.pfb containing the font outline must be present as well.

Calling ps_findfont() before the first page requires to output the postscript header which includes the BoundingBox for the whole document. Usually the BoundingBox is set with the first call of ps_begin_page() which now comes after ps_findfont(). Consequently the BoundingBox has not been set and a warning will be issued when ps_findfont() is called. In order to prevent this situation, one should call ps_set_parameter() to set the BoundingBox before ps_findfont() is called.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

fontname

The name of the font.

encoding

ps_findfont() will try to load the file passed in the parameter encoding. Encoding files are of the same syntax as those used by dvips(1). They contain a font encoding vector (which is currently not used but must be present) and a list of extra ligatures to extend the list of ligatures derived from the afm file.

encoding can be null or the empty string if the default encoding (TeXBase1) shall be used.

If the encoding is set to builtin then there will be no reencoding and the font specific encoding will be used. This is very useful with symbol fonts.

embed

If set to a value >0 the font will be embedded into the document. This requires the font outline (.pfb file) to be present.

Valor Retornado

Returns the identifier of the font or zero in case of an error. The identifier is a positive number.

Veja Também

  • ps_begin_page() - Start a new page
  • ps_setfont() - Sets font to use for following output


Fetches the full buffer containig the generated PS data

  • « ps_findfont
  • ps_get_parameter »
  • PHP Manual
  • PS Funções
  • Fetches the full buffer containig the generated PS data

ps_get_buffer

(PECL ps >= 1.1.0)

ps_get_buffer — Fetches the full buffer containig the generated PS data

Descrição

ps_get_buffer ( resource $psdoc ) : string

This function is not implemented yet. It will always return an empty string. The idea for a later implementation is to write the contents of the postscript file into an internal buffer if in memory creation is requested, and retrieve the buffer content with this function. Currently, documents created in memory are send to the browser without buffering.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Veja Também

  • ps_open_file() - Opens a file for output


Gets certain parameters

  • « ps_get_buffer
  • ps_get_value »
  • PHP Manual
  • PS Funções
  • Gets certain parameters

ps_get_parameter

(PECL ps >= 1.1.0)

ps_get_parameter — Gets certain parameters

Descrição

ps_get_parameter ( resource $psdoc , string $name , float $modifier = ? ) : string|false

Gets several parameters which were directly set by ps_set_parameter() or indirectly by one of the other functions. Parameters are by definition string values. This function cannot be used to retrieve resources which were also set by ps_set_parameter().

The parameter name can have the following values.

fontname

The name of the currently active font or the font whose identifier is passed in parameter modifier.

fontencoding

The encoding of the currently active font.

dottedversion

The version of the underlying pslib library in the format <major>.<minor>.<subminor>

scope

The current drawing scope. Can be object, document, null, page, pattern, path, template, prolog, font, glyph.

ligaturedisolvechar

The character which dissolves a ligature. If your are using a font which contains the ligature `ff' and `|' is the char to dissolve the ligature, then `f|f' will result in two `f' instead of the ligature `ff'.

imageencoding

The encoding used for encoding images. Can be either hex or 85. hex encoding uses two bytes in the postscript file each byte in the image. 85 stand for Ascii85 encoding.

linenumbermode

Set to paragraph if lines are numbered within a paragraph or box if they are numbered within the surrounding box.

linebreak

Only used if text is output with ps_show_boxed(). If set to true a carriage return will add a line break.

parbreak

Only used if text is output with ps_show_boxed(). If set to true a carriage return will start a new paragraph.

hyphenation

Only used if text is output with ps_show_boxed(). If set to true the paragraph will be hyphenated if a hypen dictionary is set and exists.

hyphendict

Filename of the dictionary used for hyphenation pattern.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the parameter.

modifier

An identifier needed if a parameter of a resource is requested, e.g. the size of an image. In such a case the resource id is passed.

Valor Retornado

Returns the value of the parameter ou false em caso de falha.

Veja Também

  • ps_set_parameter() - Sets certain parameters


Gets certain values

  • « ps_get_parameter
  • ps_hyphenate »
  • PHP Manual
  • PS Funções
  • Gets certain values

ps_get_value

(PECL ps >= 1.1.0)

ps_get_value — Gets certain values

Descrição

ps_get_value ( resource $psdoc , string $name , float $modifier = ? ) : float

Gets several values which were set by ps_set_value(). Values are by definition float values.

The parameter name can have the following values.

fontsize

The size of the currently active font or the font whose identifier is passed in parameter modifier.

font

The currently active font itself.

imagewidth

The width of the image whose id is passed in the parameter modifier.

imageheight

The height of the image whose id is passed in the parameter modifier.

capheight

The height of a capital M in the currently active font or the font whose identifier is passed in parameter modifier.

ascender

The ascender of the currently active font or the font whose identifier is passed in parameter modifier.

descender

The descender of the currently active font or the font whose identifier is passed in parameter modifier.

italicangle

The italicangle of the currently active font or the font whose identifier is passed in parameter modifier.

underlineposition

The underlineposition of the currently active font or the font whose identifier is passed in parameter modifier.

underlinethickness

The underlinethickness of the currently active font or the font whose identifier is passed in parameter modifier.

textx

The current x-position for text output.

texty

The current y-position for text output.

textrendering

The current mode for text rendering.

textrise

The space by which text is risen above the base line.

leading

The distance between text lines in points.

wordspacing

The space between words as a multiple of the width of a space char.

charspacing

The space between chars. If charspacing is != 0.0 ligatures will always be dissolved.

hyphenminchars

Minimum number of chars hyphenated at the end of a word.

parindent

Indention of the first n line in a paragraph.

numindentlines

Number of line in a paragraph to indent if parindent != 0.0.

parskip

Distance between paragraphs.

linenumberspace

Overall space in front of each line for the line number.

linenumbersep

Space between the line and the line number.

major

The major version number of pslib.

minor

The minor version number of pslib.

subminor, revision

The subminor version number of pslib.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the value.

modifier

The parameter modifier specifies the resource for which the value is to be retrieved. This can be the id of a font or an image.

Valor Retornado

Returns the value of the parameter or false.

Veja Também

  • ps_set_value() - Sets certain values


Hyphenates a word

  • « ps_get_value
  • ps_include_file »
  • PHP Manual
  • PS Funções
  • Hyphenates a word

ps_hyphenate

(PECL ps >= 1.1.1)

ps_hyphenate — Hyphenates a word

Descrição

ps_hyphenate ( resource $psdoc , string $text ) : array|false

Hyphenates the passed word. ps_hyphenate() evaluates the value hyphenminchars (set by ps_set_value()) and the parameter hyphendict (set by ps_set_parameter()). hyphendict must be set before calling this function.

This function requires the locale category LC_CTYPE to be set properly. This is done when the extension is initialized by using the environment variables. On Unix systems read the man page of locale for more information.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

text should not contain any non alpha characters. Possible positions for breaks are returned in an array of interger numbers. Each number is the position of the char in text after which a hyphenation can take place.

Valor Retornado

An array of integers indicating the position of possible breaks in the text ou false em caso de falha.

Exemplos

Exemplo #1 Hyphennate a text

<?php
$word = "Koordinatensystem";
$psdoc = ps_new();
ps_set_parameter($psdoc, "hyphendict", "hyph_de.dic");
$hyphens = ps_hyphenate($psdoc, $word);
for($i=0; $i<strlen($word); $i++) {
  echo $word[$i];
  if(in_array($i, $hyphens))
    echo "-";
}
ps_delete($psdoc);
?>

O exemplo acima irá imprimir:

Ko-ordi-na-ten-sys-tem

Veja Também

  • ps_show_boxed() - Output text in a box
  • locale(1)


Reads an external file with raw PostScript code

  • « ps_hyphenate
  • ps_lineto »
  • PHP Manual
  • PS Funções
  • Reads an external file with raw PostScript code

ps_include_file

(PECL ps >= 1.3.4)

ps_include_file — Reads an external file with raw PostScript code

Descrição

ps_include_file ( resource $psdoc , string $file ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

file

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Draws a line

  • « ps_include_file
  • ps_makespotcolor »
  • PHP Manual
  • PS Funções
  • Draws a line

ps_lineto

(PECL ps >= 1.1.0)

ps_lineto — Draws a line

Descrição

ps_lineto ( resource $psdoc , float $x , float $y ) : bool

Adds a straight line from the current point to the given coordinates to the current path. Use ps_moveto() to set the starting point of the line.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the end point of the line.

y

y-coordinate of the end point of the line.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Drawing a rectangle

<?php
$ps = ps_new();
if (!ps_open_file($ps, "rectangle.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Lineto example");

ps_begin_page($ps, 596, 842);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

Veja Também

  • ps_moveto() - Sets current point


Create spot color

  • « ps_lineto
  • ps_moveto »
  • PHP Manual
  • PS Funções
  • Create spot color

ps_makespotcolor

(PECL ps >= 1.1.0)

ps_makespotcolor — Create spot color

Descrição

ps_makespotcolor ( resource $psdoc , string $name , int $reserved = 0 ) : int

Creates a spot color from the current fill color. The fill color must be defined in rgb, cmyk or gray colorspace. The spot color name can be an arbitrary name. A spot color can be set as any color with ps_setcolor(). When the document is not printed but displayed by an postscript viewer the given color in the specified color space is use.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the spot color, e.g. Pantone 5565.

Valor Retornado

The id of the new spot color or 0 in case of an error.

Exemplos

Exemplo #1 Creating and using a spot color

<?php
$ps = ps_new();
if (!ps_open_file($ps, "spotcolor.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "spotcolor.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Spot color example");

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "fill", "cmyk", 0.37, 0.0, 0.34, 0.34);
$spotcolor = ps_makespotcolor($ps, "PANTONE 5565 C", 0);
ps_setcolor($ps, "fill", "spot", $spotcolor, 0.5, 0.0, 0.0);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_fill($ps);
ps_end_page($ps);

ps_delete($ps);
?>

This example creates the spot color "PANTONE 5565 C" which is a darker green (olive) and fills a rectangle with 50% intensity.

Veja Também

  • ps_setcolor() - Sets current color


Sets current point

  • « ps_makespotcolor
  • ps_new »
  • PHP Manual
  • PS Funções
  • Sets current point

ps_moveto

(PECL ps >= 1.1.0)

ps_moveto — Sets current point

Descrição

ps_moveto ( resource $psdoc , float $x , float $y ) : bool

Sets the current point to new coordinates. If this is the first call of ps_moveto() after a previous path has been ended then it will start a new path. If this function is called in the middle of a path it will just set the current point and start a subpath.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the point to move to.

y

y-coordinate of the point to move to.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_lineto() - Draws a line


Creates a new PostScript document object

  • « ps_moveto
  • ps_open_file »
  • PHP Manual
  • PS Funções
  • Creates a new PostScript document object

ps_new

(PECL ps >= 1.1.0)

ps_new — Creates a new PostScript document object

Descrição

ps_new ( ) : resource|false

Creates a new document instance. It does not create the file on disk or in memory, it just sets up everything. ps_new() is usually followed by a call of ps_open_file() to actually create the postscript document.

Valor Retornado

Resource of PostScript document ou false em caso de falha. The return value is passed to all other functions as the first argument.

Veja Também

  • ps_delete() - Deletes all resources of a PostScript document


Opens a file for output

  • « ps_new
  • ps_open_image_file »
  • PHP Manual
  • PS Funções
  • Opens a file for output

ps_open_file

(PECL ps >= 1.1.0)

ps_open_file — Opens a file for output

Descrição

ps_open_file ( resource $psdoc , string $filename = ? ) : bool

Creates a new file on disk and writes the PostScript document into it. The file will be closed when ps_close() is called.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

filename

The name of the postscript file. If filename is not passed the document will be created in memory and all output will go straight to the browser.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_close() - Closes a PostScript document


Opens image from file

  • « ps_open_file
  • ps_open_image »
  • PHP Manual
  • PS Funções
  • Opens image from file

ps_open_image_file

(PECL ps >= 1.1.0)

ps_open_image_file — Opens image from file

Descrição

ps_open_image_file ( resource $psdoc , string $type , string $filename , string $stringparam = ? , int $intparam = 0 ) : int

Loads an image for later use.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of the image. Possible values are png, jpeg, or eps.

filename

The name of the file containing the image data.

stringparam

Not used.

intparam

Not used.

Valor Retornado

Returns identifier of image or zero in case of an error. The identifier is a positive number greater than 0.

Veja Também

  • ps_open_image() - Reads an image for later placement
  • ps_place_image() - Places image on the page
  • ps_close_image() - Closes image and frees memory


Reads an image for later placement

  • « ps_open_image_file
  • ps_open_memory_image »
  • PHP Manual
  • PS Funções
  • Reads an image for later placement

ps_open_image

(PECL ps >= 1.1.0)

ps_open_image — Reads an image for later placement

Descrição

ps_open_image ( resource $psdoc , string $type , string $source , string $data , int $lenght , int $width , int $height , int $components , int $bpc , string $params ) : int

Reads an image which is already available in memory. The parameter source is currently not evaluated and assumed to be memory. The image data is a sequence of pixels starting in th upper left corner and ending in the lower right corner. Each pixel consists of components color components, and each component has bpc bits.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of the image. Possible values are png, jpeg, or eps.

source

Not used.

data

The image data.

length

The length of the image data.

width

The width of the image.

height

The height of the image.

components

The number of components for each pixel. This can be 1 (gray scale images), 3 (rgb images), or 4 (cmyk, rgba images).

bpc

Number of bits per component (quite often 8).

params

Valor Retornado

Returns identifier of image or zero in case of an error. The identifier is a positive number greater than 0.

Veja Também

  • ps_open_image_file() - Opens image from file
  • ps_place_image() - Places image on the page
  • ps_close_image() - Closes image and frees memory


Takes an GD image and returns an image for placement in a PS document

  • « ps_open_image
  • ps_place_image »
  • PHP Manual
  • PS Funções
  • Takes an GD image and returns an image for placement in a PS document

ps_open_memory_image

(PECL ps >= 1.1.0)

ps_open_memory_image — Takes an GD image and returns an image for placement in a PS document

Descrição

ps_open_memory_image ( resource $psdoc , int $gd ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

gd


Places image on the page

  • « ps_open_memory_image
  • ps_rect »
  • PHP Manual
  • PS Funções
  • Places image on the page

ps_place_image

(PECL ps >= 1.1.0)

ps_place_image — Places image on the page

Descrição

ps_place_image ( resource $psdoc , int $imageid , float $x , float $y , float $scale ) : bool

Places a formerly loaded image on the page. The image can be scaled. If the image shall be rotated as well, you will have to rotate the coordinate system before with ps_rotate().

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

imageid

The resource identifier of the image as returned by ps_open_image() or ps_open_image_file().

x

x-coordinate of the lower left corner of the image.

y

y-coordinate of the lower left corner of the image.

scale

The scaling factor for the image. A scale of 1.0 will result in a resolution of 72 dpi, because each pixel is equivalent to 1 point.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_open_image() - Reads an image for later placement
  • ps_open_image_file() - Opens image from file


Draws a rectangle

  • « ps_place_image
  • ps_restore »
  • PHP Manual
  • PS Funções
  • Draws a rectangle

ps_rect

(PECL ps >= 1.1.0)

ps_rect — Draws a rectangle

Descrição

ps_rect ( resource $psdoc , float $x , float $y , float $width , float $height ) : bool

Draws a rectangle with its lower left corner at (x, y). The rectangle starts and ends in its lower left corner. If this function is called outside a path it will start a new path. If it is called within a path it will add the rectangle as a subpath. If the last drawing operation does not end in the lower left corner then there will be a gap in the path.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the lower left corner of the rectangle.

y

y-coordinate of the lower left corner of the rectangle.

width

The width of the image.

height

The height of the image.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_arc() - Draws an arc counterclockwise
  • ps_cirle()
  • ps_lineto() - Draws a line


Restore previously save context

  • « ps_rect
  • ps_rotate »
  • PHP Manual
  • PS Funções
  • Restore previously save context

ps_restore

(PECL ps >= 1.1.0)

ps_restore — Restore previously save context

Descrição

ps_restore ( resource $psdoc ) : bool

Restores a previously saved graphics context. Any call of ps_save() must be accompanied by a call to ps_restore(). All coordinate transformations, line style settings, color settings, etc. are being restored to the state before the call of ps_save().

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_save() - Save current context


Sets rotation factor

  • « ps_restore
  • ps_save »
  • PHP Manual
  • PS Funções
  • Sets rotation factor

ps_rotate

(PECL ps >= 1.1.0)

ps_rotate — Sets rotation factor

Descrição

ps_rotate ( resource $psdoc , float $rot ) : bool

Sets the rotation of the coordinate system.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

rot

Angle of rotation in degree.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Rotation of the coordinate system

<?php
function rectangle($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "rotation.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rotation.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Rotation example");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 100, 100);
ps_rotate($ps, 45);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text without rotation");
ps_end_page($ps);

ps_delete($ps);
?>

The above example illustrates a very common way of rotating a graphic (in this case just a rectangle) by simply rotating the coordinate system. Since the graphic's coordinate system assumes (0,0) to be the origin, the page coordinate system is also translated to place the graphics not on the edge of the page. Pay attention to the order of ps_translate() and ps_rotate(). In the above case the rectancle is rotated around the point (100, 100) in the untranslated coordinate system. Switching the two statements has a completely different result.

In order to output the following text at the original position, all modifications of the coordinate system are encapsulated in ps_save() and ps_restore().

Veja Também

  • ps_scale() - Sets scaling factor
  • ps_translate() - Sets translation


Save current context

  • « ps_rotate
  • ps_scale »
  • PHP Manual
  • PS Funções
  • Save current context

ps_save

(PECL ps >= 1.1.0)

ps_save — Save current context

Descrição

ps_save ( resource $psdoc ) : bool

Saves the current graphics context, containing colors, translation and rotation settings and some more. A saved context can be restored with ps_restore().

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_restore() - Restore previously save context


Sets scaling factor

  • « ps_save
  • ps_set_border_color »
  • PHP Manual
  • PS Funções
  • Sets scaling factor

ps_scale

(PECL ps >= 1.1.0)

ps_scale — Sets scaling factor

Descrição

ps_scale ( resource $psdoc , float $x , float $y ) : bool

Sets horizontal and vertical scaling of the coordinate system.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

Scaling factor in horizontal direction.

y

Scaling factor in vertical direction.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_rotate() - Sets rotation factor
  • ps_translate() - Sets translation


Sets color of border for annotations

  • « ps_scale
  • ps_set_border_dash »
  • PHP Manual
  • PS Funções
  • Sets color of border for annotations

ps_set_border_color

(PECL ps >= 1.1.0)

ps_set_border_color — Sets color of border for annotations

Descrição

ps_set_border_color ( resource $psdoc , float $red , float $green , float $blue ) : bool

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the color of the rectangle's border line.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

red

The red component of the border color.

green

The green component of the border color.

blue

The blue component of the border color.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_set_border_dash() - Sets length of dashes for border of annotations
  • ps_set_border_style() - Sets border style of annotations


Sets length of dashes for border of annotations

  • « ps_set_border_color
  • ps_set_border_style »
  • PHP Manual
  • PS Funções
  • Sets length of dashes for border of annotations

ps_set_border_dash

(PECL ps >= 1.1.0)

ps_set_border_dash — Sets length of dashes for border of annotations

Descrição

ps_set_border_dash ( resource $psdoc , float $black , float $white ) : bool

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the length of the black and white portion of a dashed border line.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

black

The length of the dash.

white

The length of the gap between dashes.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_set_border_color() - Sets color of border for annotations
  • ps_set_border_style() - Sets border style of annotations


Sets border style of annotations

  • « ps_set_border_dash
  • ps_set_info »
  • PHP Manual
  • PS Funções
  • Sets border style of annotations

ps_set_border_style

(PECL ps >= 1.1.0)

ps_set_border_style — Sets border style of annotations

Descrição

ps_set_border_style ( resource $psdoc , string $style , float $width ) : bool

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the appearance and width of the border line.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

style

style can be solid or dashed.

width

The line width of the border.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_set_border_color() - Sets color of border for annotations
  • ps_set_border_dash() - Sets length of dashes for border of annotations


Sets information fields of document

  • « ps_set_border_style
  • ps_set_parameter »
  • PHP Manual
  • PS Funções
  • Sets information fields of document

ps_set_info

(PECL ps >= 1.1.0)

ps_set_info — Sets information fields of document

Descrição

ps_set_info ( resource $p , string $key , string $val ) : bool

Sets certain information fields of the document. This fields will be shown as a comment in the header of the PostScript file. If the document is converted to pdf this fields will also be used for the document information.

The BoundingBox is usually set to the value given to the first page. This only works if ps_findfont() has not been called before. In such cases the BoundingBox would be left unset unless you set it explicitly with this function.

This function will have no effect anymore when the header of the postscript file has been already written. It must be called before the first page or the first call of ps_findfont().

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

key

The name of the information field to set. The values which can be set are Keywords, Subject, Title, Creator, Author, BoundingBox, and Orientation. Be aware that some of them has a meaning to PostScript viewers.

value

The value of the information field. The field Orientation can be set to either Portrait or Landscape. The BoundingBox is a string consisting of four numbers. The first two numbers are the coordinates of the lower left corner of the page. The last two numbers are the coordinates of the upper right corner.

Nota:

Up to version 0.2.6 of pslib, the BoundingBox and Orientation will be overwritten by ps_begin_page(), unless ps_findfont() has been called before.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_findfont() - Loads a font
  • ps_begin_page() - Start a new page


Sets certain parameters

  • « ps_set_info
  • ps_set_text_pos »
  • PHP Manual
  • PS Funções
  • Sets certain parameters

ps_set_parameter

(PECL ps >= 1.1.0)

ps_set_parameter — Sets certain parameters

Descrição

ps_set_parameter ( resource $psdoc , string $name , string $value ) : bool

Sets several parameters which are used by many functions. Parameters are by definition string values.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

For a list of possible names see ps_get_parameter().

value

The value of the parameter.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_get_parameters()
  • ps_set_value() - Sets certain values


Sets position for text output

  • « ps_set_parameter
  • ps_set_value »
  • PHP Manual
  • PS Funções
  • Sets position for text output

ps_set_text_pos

(PECL ps >= 1.1.0)

ps_set_text_pos — Sets position for text output

Descrição

ps_set_text_pos ( resource $psdoc , float $x , float $y ) : bool

Set the position for the next text output. You may alternatively set the x and y value separately by calling ps_set_value() and choosing textx respectively texty as the value name.

If you want to output text at a certain position it is more convenient to use ps_show_xy() instead of setting the text position and calling ps_show().

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the new text position.

y

y-coordinate of the new text position.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Placing text at a given position

<?php
$ps = ps_new();
if (!ps_open_file($ps, "text.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Text placement example");

ps_begin_page($ps, 596, 842);
$psfont = ps_findfont($ps, "Helvetica", "", 0);
ps_setfont($ps, $psfont, 8.0);
ps_show_xy($ps, "Some text at (100, 100)", 100, 100);

ps_set_value($ps, "textx", 100);
ps_set_value($ps, "texty", 120);
ps_show($ps, "Some text at (100, 120)");
ps_end_page($ps);

ps_delete($ps);
?>

Veja Também

  • ps_set_value() - Sets certain values
  • ps_show() - Output text


Sets certain values

  • « ps_set_text_pos
  • ps_setcolor »
  • PHP Manual
  • PS Funções
  • Sets certain values

ps_set_value

(PECL ps >= 1.1.0)

ps_set_value — Sets certain values

Descrição

ps_set_value ( resource $psdoc , string $name , float $value ) : bool

Sets several values which are used by many functions. Parameters are by definition float values.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

The name can be one of the following:

textrendering

The way how text is shown.

textx

The x coordinate for text output.

texty

The y coordinate for text output.

wordspacing

The distance between words relative to the width of a space.

leading

The distance between lines in pixels.

value

The value of the parameter.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_get_value() - Gets certain values
  • ps_set_parameter() - Sets certain parameters


Sets current color

  • « ps_set_value
  • ps_setdash »
  • PHP Manual
  • PS Funções
  • Sets current color

ps_setcolor

(PECL ps >= 1.1.0)

ps_setcolor — Sets current color

Descrição

ps_setcolor ( resource $psdoc , string $type , string $colorspace , float $c1 , float $c2 , float $c3 , float $c4 ) : bool

Sets the color for drawing, filling, or both.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The parameter type can be both, fill, or fillstroke.

colorspace

The colorspace should be one of gray, rgb, cmyk, spot, pattern. Depending on the colorspace either only the first, the first three or all parameters will be used.

c1

Depending on the colorspace this is either the red component (rgb), the cyan component (cmyk), the gray value (gray), the identifier of the spot color or the identifier of the pattern.

c2

Depending on the colorspace this is either the green component (rgb), the magenta component (cmyk).

c3

Depending on the colorspace this is either the blue component (rgb), the yellow component (cmyk).

c4

This must only be set in cmyk colorspace and specifies the black component.

Bugs

The second parameter is currently not always evaluated. The color is sometimes set for filling and drawing just as if fillstroke were passed.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Sets appearance of a dashed line

  • « ps_setcolor
  • ps_setflat »
  • PHP Manual
  • PS Funções
  • Sets appearance of a dashed line

ps_setdash

(PECL ps >= 1.1.0)

ps_setdash — Sets appearance of a dashed line

Descrição

ps_setdash ( resource $psdoc , float $on , float $off ) : bool

Sets the length of the black and white portions of a dashed line.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

on

The length of the dash.

off

The length of the gap between dashes.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_setpolydash() - Sets appearance of a dashed line


Sets flatness

  • « ps_setdash
  • ps_setfont »
  • PHP Manual
  • PS Funções
  • Sets flatness

ps_setflat

(PECL ps >= 1.1.0)

ps_setflat — Sets flatness

Descrição

ps_setflat ( resource $psdoc , float $value ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

value

The value must be between 0.2 and 1.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Sets font to use for following output

  • « ps_setflat
  • ps_setgray »
  • PHP Manual
  • PS Funções
  • Sets font to use for following output

ps_setfont

(PECL ps >= 1.1.0)

ps_setfont — Sets font to use for following output

Descrição

ps_setfont ( resource $psdoc , int $fontid , float $size ) : bool

Sets a font, which has to be loaded before with ps_findfont(). Outputting text without setting a font results in an error.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

fontid

The font identifier as returned by ps_findfont().

size

The size of the font.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_findfont() - Loads a font
  • ps_set_text_pos() - Sets position for text output for an example.


Sets gray value

  • « ps_setfont
  • ps_setlinecap »
  • PHP Manual
  • PS Funções
  • Sets gray value

ps_setgray

(PECL ps >= 1.1.0)

ps_setgray — Sets gray value

Descrição

ps_setgray ( resource $psdoc , float $gray ) : bool

Sets the gray value for all following drawing operations.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

gray

The value must be between 0 (white) and 1 (black).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_setcolor() - Sets current color


Sets appearance of line ends

  • « ps_setgray
  • ps_setlinejoin »
  • PHP Manual
  • PS Funções
  • Sets appearance of line ends

ps_setlinecap

(PECL ps >= 1.1.0)

ps_setlinecap — Sets appearance of line ends

Descrição

ps_setlinecap ( resource $psdoc , int $type ) : bool

Sets how line ends look like.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of line ends. Possible values are PS_LINECAP_BUTT, PS_LINECAP_ROUND, or PS_LINECAP_SQUARED.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_setlinejoin() - Sets how contected lines are joined
  • ps_setlinewidth() - Sets width of a line
  • ps_setmiterlimit() - Sets the miter limit


Sets how contected lines are joined

  • « ps_setlinecap
  • ps_setlinewidth »
  • PHP Manual
  • PS Funções
  • Sets how contected lines are joined

ps_setlinejoin

(PECL ps >= 1.1.0)

ps_setlinejoin — Sets how contected lines are joined

Descrição

ps_setlinejoin ( resource $psdoc , int $type ) : bool

Sets how lines are joined.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The way lines are joined. Possible values are PS_LINEJOIN_MITER, PS_LINEJOIN_ROUND, or PS_LINEJOIN_BEVEL.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_setlinecap() - Sets appearance of line ends
  • ps_setlinewidth() - Sets width of a line
  • ps_setmiterlimit() - Sets the miter limit


Sets width of a line

  • « ps_setlinejoin
  • ps_setmiterlimit »
  • PHP Manual
  • PS Funções
  • Sets width of a line

ps_setlinewidth

(PECL ps >= 1.1.0)

ps_setlinewidth — Sets width of a line

Descrição

ps_setlinewidth ( resource $psdoc , float $width ) : bool

Sets the line width for all following drawing operations.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of lines in points.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_setlinecap() - Sets appearance of line ends
  • ps_setlinejoin() - Sets how contected lines are joined
  • ps_setmiterlimit() - Sets the miter limit


Sets the miter limit

  • « ps_setlinewidth
  • ps_setoverprintmode »
  • PHP Manual
  • PS Funções
  • Sets the miter limit

ps_setmiterlimit

(PECL ps >= 1.1.0)

ps_setmiterlimit — Sets the miter limit

Descrição

ps_setmiterlimit ( resource $psdoc , float $value ) : bool

If two lines join in a small angle and the line join is set to PS_LINEJOIN_MITER, then the resulting spike will be very long. The miter limit is the maximum ratio of the miter length (the length of the spike) and the line width.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

value

The maximum ratio between the miter length and the line width. Larger values (> 10) will result in very long spikes when two lines meet in a small angle. Keep the default unless you know what you are doing.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_setlinecap() - Sets appearance of line ends
  • ps_setlinejoin() - Sets how contected lines are joined
  • ps_setlinewidth() - Sets width of a line


Sets overprint mode

  • « ps_setmiterlimit
  • ps_setpolydash »
  • PHP Manual
  • PS Funções
  • Sets overprint mode

ps_setoverprintmode

(PECL ps >= 1.3.0)

ps_setoverprintmode — Sets overprint mode

Descrição

ps_setoverprintmode ( resource $psdoc , int $mode ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

mode

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Sets appearance of a dashed line

  • « ps_setoverprintmode
  • ps_shading_pattern »
  • PHP Manual
  • PS Funções
  • Sets appearance of a dashed line

ps_setpolydash

(PECL ps >= 1.1.0)

ps_setpolydash — Sets appearance of a dashed line

Descrição

ps_setpolydash ( resource $psdoc , float $arr ) : bool

Sets the length of the black and white portions of a dashed line. ps_setpolydash() is used to set more complicated dash patterns.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

arr

arr is a list of length elements alternately for the black and white portion.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Drawing a dashed line

<?php
$ps = ps_new();
if (!ps_open_file($ps, "polydash.ps")) {
   print "Cannot open PostScript file\n";
     exit;
}

ps_set_info($ps, "Creator", "polydash.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Poly dash example");

ps_begin_page($ps, 596, 842);
ps_setpolydash($ps, array(10, 5, 2, 5));
ps_moveto($ps, 100, 100);
ps_lineto($ps, 200, 200);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

This example draws a line with a 10 and 2 points long line, and gaps of 5 points inbetween.

Veja Também

  • ps_setdash() - Sets appearance of a dashed line


Creates a pattern based on a shading

  • « ps_setpolydash
  • ps_shading »
  • PHP Manual
  • PS Funções
  • Creates a pattern based on a shading

ps_shading_pattern

(PECL ps >= 1.3.0)

ps_shading_pattern — Creates a pattern based on a shading

Descrição

ps_shading_pattern ( resource $psdoc , int $shadingid , string $optlist ) : int|false

Creates a pattern based on a shading, which has to be created before with ps_shading(). Shading patterns can be used like regular patterns.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

shadingid

The identifier of a shading previously created with ps_shading().

optlist

This argument is not currently used.

Valor Retornado

The identifier of the pattern ou false em caso de falha.

Veja Também

  • ps_shading() - Creates a shading for later use
  • ps_shfill() - Fills an area with a shading


Creates a shading for later use

  • « ps_shading_pattern
  • ps_shfill »
  • PHP Manual
  • PS Funções
  • Creates a shading for later use

ps_shading

(PECL ps >= 1.3.0)

ps_shading — Creates a shading for later use

Descrição

ps_shading ( resource $psdoc , string $type , float $x0 , float $y0 , float $x1 , float $y1 , float $c1 , float $c2 , float $c3 , float $c4 , string $optlist ) : int|false

Creates a shading, which can be used by ps_shfill() or ps_shading_pattern().

The color of the shading can be in any color space except for pattern.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of shading can be either radial or axial. Each shading starts with the current fill color and ends with the given color values passed in the parameters c1 to c4 (see ps_setcolor() for their meaning).

x0, x1, y0, y1

The coordinates x0, y0, x1, y1 are the start and end point of the shading. If the type of shading is radial the two points are the middle points of a starting and ending circle.

c1, c2, c3, c4

See ps_setcolor() for their meaning.

optlist

If the shading is of type radial the optlist must also contain the parameters r0 and r1 with the radius of the start and end circle.

Valor Retornado

Returns the identifier of the pattern ou false em caso de falha.

Veja Também

  • ps_shading_pattern() - Creates a pattern based on a shading
  • ps_shfill() - Fills an area with a shading


Fills an area with a shading

  • « ps_shading
  • ps_show_boxed »
  • PHP Manual
  • PS Funções
  • Fills an area with a shading

ps_shfill

(PECL ps >= 1.3.0)

ps_shfill — Fills an area with a shading

Descrição

ps_shfill ( resource $psdoc , int $shadingid ) : bool

Fills an area with a shading, which has to be created before with ps_shading(). This is an alternative way to creating a pattern from a shading ps_shading_pattern() and using the pattern as the filling color.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

shadingid

The identifier of a shading previously created with ps_shading().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_shading() - Creates a shading for later use
  • ps_shading_pattern() - Creates a pattern based on a shading


Output text in a box

  • « ps_shfill
  • ps_show_xy2 »
  • PHP Manual
  • PS Funções
  • Output text in a box

ps_show_boxed

(PECL ps >= 1.1.0)

ps_show_boxed — Output text in a box

Descrição

ps_show_boxed ( resource $psdoc , string $text , float $left , float $bottom , float $width , float $height , string $hmode , string $feature = ? ) : int

Outputs a text in a given box. The lower left corner of the box is at (left, bottom). Line breaks will be inserted where needed. Multiple spaces are treated as one. Tabulators are treated as spaces.

The text will be hyphenated if the parameter hyphenation is set to true and the parameter hyphendict contains a valid filename for a hyphenation file. The line spacing is taken from the value leading. Paragraphs can be separated by an empty line just like in TeX. If the value parindent is set to value > 0.0 then the first n lines will be indented. The number n of lines is set by the parameter numindentlines. In order to prevent indenting of the first m paragraphs set the value parindentskip to a positive number.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output into the given box.

left

x-coordinate of the lower left corner of the box.

bottom

y-coordinate of the lower left corner of the box.

width

Width of the box.

height

Height of the box.

hmode

The parameter hmode can be "justify", "fulljustify", "right", "left", or "center". The difference of "justify" and "fulljustify" just affects the last line of the box. In fulljustify mode the last line will be left and right justified unless this is also the last line of paragraph. In justify mode it will always be left justified.

feature

Used parameters

The output of ps_show_boxed() can be configured with several parameters and values which must be set with either ps_set_parameter() or ps_set_value(). Beside the parameters and values which affect text output, the following parameters and values are evaluated.

leading (value)

Distance between baselines of two consecutive lines.

linebreak (parameter)

Set to "true" if you want a carriage return to start a new line instead of treating it as a space. Defaults to "false".

parbreak (parameter)

Set to "true" if you want a carriage return on a single line to start a new paragraph instead of treating it as a space. Defaults to "true".

hyphenation (parameter)

Set to "true" in order to turn hyphenation on. This requires a dictionary to be set with the parameter "hyphendict". Defaults to "false".

hyphendict (parameter)

Filename of the dictionary used for hyphenation pattern (see below).

hyphenminchar (value)

The number of chars which must at least be left over before or after the hyphen. This implies that only words of at least two times this value will be hyphenated. The default value is three. Setting a value of zero will result in the default value.

parindent (value)

Set the amount of space in pixel for indenting the first m lines of a paragraph. m can be set with the value "numindentlines".

parskip (value)

Set the amount of extra space in pixel between paragraphs. Defaults to 0 which will result in a normal line distance.

numindentlines (value)

Number of lines from the start of the paragraph which will be indented. Defaults to 1.

parindentskip (value)

Number of paragraphs in the box whose first lines will not be indented. This defaults to 0. This is useful for paragraphs right after a section heading or text being continued in a second box. In both case one would set this to 1.

linenumbermode (parameter)

Set how lines are to be numbered. Possible values are "box" for numbering lines in the whole box or "paragraph" to number lines within each paragraph.

linenumberspace (value)

The space for the column left of the numbered line containing the line number. The line number will be right justified into this column. Defaults to 20.

linenumbersep (value)

The space between the column with line numbers and the line itself. Defaults to 5.

Hyphenation

Text is hyphenated if the parameter hyphenation is set to true and a valid hyphenation dictionary is set. pslib does not ship its own hyphenation dictionary but uses one from openoffice, scribus or koffice. You can find their dictionaries for different languages in one of the following directories if the software is installed:

  • /usr/share/apps/koffice/hyphdicts/
  • /usr/lib/scribus/dicts/
  • /usr/lib/openoffice/share/dict/ooo/
Currently scribus appears to have the most complete hyphenation dictionaries.

Valor Retornado

Number of characters that could not be written.

Veja Também

  • ps_continue_text() - Continue text in next line


Output text at position

  • « ps_show_boxed
  • ps_show_xy »
  • PHP Manual
  • PS Funções
  • Output text at position

ps_show_xy2

(PECL ps >= 1.1.0)

ps_show_xy2 — Output text at position

Descrição

ps_show_xy2 ( resource $psdoc , string $text , int $len , float $xcoor , float $ycoor ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Output text at given position

  • « ps_show_xy2
  • ps_show2 »
  • PHP Manual
  • PS Funções
  • Output text at given position

ps_show_xy

(PECL ps >= 1.1.0)

ps_show_xy — Output text at given position

Descrição

ps_show_xy ( resource $psdoc , string $text , float $x , float $y ) : bool

Output a text at the given text position.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

x

x-coordinate of the lower left corner of the box surrounding the text.

y

y-coordinate of the lower left corner of the box surrounding the text.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_continue_text() - Continue text in next line
  • ps_show() - Output text


Output a text at current position

  • « ps_show_xy
  • ps_show »
  • PHP Manual
  • PS Funções
  • Output a text at current position

ps_show2

(PECL ps >= 1.1.0)

ps_show2 — Output a text at current position

Descrição

ps_show2 ( resource $psdoc , string $text , int $len ) : bool

Output text at the current position. Do not print more than len characters.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

len

The maximum number of characters to print.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Output text

  • « ps_show2
  • ps_string_geometry »
  • PHP Manual
  • PS Funções
  • Output text

ps_show

(PECL ps >= 1.1.0)

ps_show — Output text

Descrição

ps_show ( resource $psdoc , string $text ) : bool

Output a text at the current text position. The text position can be set by storing the x and y coordinates into the values textx and texty with the function ps_set_value(). The function will issue an error if a font was not set before with ps_setfont().

ps_show() evaluates the following parameters and values as set by ps_set_parameter() and ps_set_value().

charspacing (value)

Distance between two consecutive glyphs. If this value is unequal to zero then all ligatures will be resolved. Values less than zero are allowed.

kerning (parameter)

Setting this parameter to "false" will turn off kerning. Kerning is turned on by default.

ligatures (parameter)

Setting this parameter to "false" will turn off the use of ligatures. Ligatures are turned on by default.

underline (parameter)

Setting this parameter to "true" will turn on underlining. Underlining is turned off by default.

overline (parameter)

Setting this parameter to "true" will turn on overlining. Overlining is turned off by default.

strikeout (parameter)

Setting this parameter to "true" will turn on striking out. Striking out is turned off by default.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_continue_text() - Continue text in next line
  • ps_show_xy() - Output text at given position
  • ps_setfont() - Sets font to use for following output


Gets geometry of a string

  • « ps_show
  • ps_stringwidth »
  • PHP Manual
  • PS Funções
  • Gets geometry of a string

ps_string_geometry

(PECL ps >= 1.2.0)

ps_string_geometry — Gets geometry of a string

Descrição

ps_string_geometry ( resource $psdoc , string $text , int $fontid = 0 , float $size = 0.0 ) : array

This function is similar to ps_stringwidth() but returns an array of dimensions containing the width, ascender, and descender of the text.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text for which the geometry is to be calculated.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Valor Retornado

An array of the dimensions of a string. The element 'width' contains the width of the string as returned by ps_stringwidth(). The element 'descender' contains the maximum descender and 'ascender' the maximum ascender of the string.

Veja Também

  • ps_continue_text() - Continue text in next line
  • ps_stringwidth() - Gets width of a string


Gets width of a string

  • « ps_string_geometry
  • ps_stroke »
  • PHP Manual
  • PS Funções
  • Gets width of a string

ps_stringwidth

(PECL ps >= 1.1.0)

ps_stringwidth — Gets width of a string

Descrição

ps_stringwidth ( resource $psdoc , string $text , int $fontid = 0 , float $size = 0.0 ) : float

Calculates the width of a string in points if it was output in the given font and font size. This function needs an Adobe font metrics file to calculate the precise width. If kerning is turned on, it will be taken into account.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text for which the width is to be calculated.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Valor Retornado

Width of a string in points.

Veja Também

  • ps_string_geometry() - Gets geometry of a string


Draws the current path

  • « ps_stringwidth
  • ps_symbol_name »
  • PHP Manual
  • PS Funções
  • Draws the current path

ps_stroke

(PECL ps >= 1.1.0)

ps_stroke — Draws the current path

Descrição

ps_stroke ( resource $psdoc ) : bool

Draws the path constructed with previously called drawing functions like ps_lineto().

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_closepath_stroke() - Closes and strokes path
  • ps_fill() - Fills the current path
  • ps_fill_stroke() - Fills and strokes the current path


Gets name of a glyph

  • « ps_stroke
  • ps_symbol_width »
  • PHP Manual
  • PS Funções
  • Gets name of a glyph

ps_symbol_name

(PECL ps >= 1.2.0)

ps_symbol_name — Gets name of a glyph

Descrição

ps_symbol_name ( resource $psdoc , int $ord , int $fontid = 0 ) : string

This function needs an Adobe font metrics file to know which glyphs are available.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The parameter ord is the position of the glyph in the font encoding vector.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

Valor Retornado

The name of a glyph in the given font.

Veja Também

  • ps_symbol() - Output a glyph
  • ps_symbol_width() - Gets width of a glyph


Gets width of a glyph

  • « ps_symbol_name
  • ps_symbol »
  • PHP Manual
  • PS Funções
  • Gets width of a glyph

ps_symbol_width

(PECL ps >= 1.2.0)

ps_symbol_width — Gets width of a glyph

Descrição

ps_symbol_width ( resource $psdoc , int $ord , int $fontid = 0 , float $size = 0.0 ) : float

Calculates the width of a glyph in points if it was output in the given font and font size. This function needs an Adobe font metrics file to calculate the precise width.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The position of the glyph in the font encoding vector.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Valor Retornado

The width of a glyph in points.

Veja Também

  • ps_symbol() - Output a glyph
  • ps_symbol_name() - Gets name of a glyph


Output a glyph

  • « ps_symbol_width
  • ps_translate »
  • PHP Manual
  • PS Funções
  • Output a glyph

ps_symbol

(PECL ps >= 1.2.0)

ps_symbol — Output a glyph

Descrição

ps_symbol ( resource $psdoc , int $ord ) : bool

Output the glyph at position ord in the font encoding vector of the current font. The font encoding for a font can be set when loading the font with ps_findfont().

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The position of the glyph in the font encoding vector.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ps_symbol_name() - Gets name of a glyph
  • ps_symbol_width() - Gets width of a glyph


Sets translation

  • « ps_symbol
  • RpmInfo »
  • PHP Manual
  • PS Funções
  • Sets translation

ps_translate

(PECL ps >= 1.1.0)

ps_translate — Sets translation

Descrição

ps_translate ( resource $psdoc , float $x , float $y ) : bool

Sets a new initial point of the coordinate system.

Parâmetros

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the origin of the translated coordinate system.

y

y-coordinate of the origin of the translated coordinate system.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Translation of the coordinate system

<?php
function rectangle($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "translate.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "translate.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Translated example");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_translate($ps, -500, -750);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text at initial position");
ps_end_page($ps);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text at initial position");
ps_end_page($ps);

ps_delete($ps);
?>

The above example demonstrates two possible ways to place a graphic (in this case just a rectangle) at any position on the page, while the graphic itself uses its own coordinate system. The trick is to change the origin of the current coordinate system before drawing the rectangle. The translation has to be undone after the graphic has been drawn.

On the second page a slightly different and more elegant approach is applied. Instead of undoing the translation with a second call of ps_translate() the graphics context is saved before modifying the coordinate system and restored after drawing the rectangle.

Veja Também

  • ps_scale() - Sets scaling factor
  • ps_rotate() - Sets rotation factor


RpmInfo

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Installation via PECL
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • RpmInfo Funções
    • rpmaddtag — Add tag retrieved in query
    • rpmdbinfo — Get information from installed RPM
    • rpmdbsearch — Search RPM packages
    • rpminfo — Get information from a RPM file
    • rpmvercmp — RPM version comparison


Introdução

This extension enables you to retrieve information from RPM files or from the installed RPMs database.


Instalação/Configuração

Índice

  • Dependências
  • Installation via PECL
  • Configurações em Execução
  • Tipos de Recurso


  • « Instalação/Configuração
  • Installation via PECL »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

This extension requires » librpm version 4.11.3 or higher.


Installation via PECL

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/rpminfo.


  • « Installation via PECL
  • Tipos de Recurso »
  • PHP Manual
  • Instalação/Configuração
  • Configurações em Execução

Configurações em Execução

Esta extensão não possui diretivas de configuração definíveis no php.ini.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

RPMVERSION (string)
System librpm version.
RPMSENSE_ANY (int)
RPMSENSE_LESS (int)
RPMSENSE_GREATER (int)
RPMSENSE_EQUAL (int)
RPMSENSE_POSTTRANS (int)
RPMSENSE_PREREQ (int)
RPMSENSE_PRETRANS (int)
RPMSENSE_INTERP (int)
RPMSENSE_SCRIPT_PRE (int)
RPMSENSE_SCRIPT_POST (int)
RPMSENSE_SCRIPT_PREUN (int)
RPMSENSE_SCRIPT_POSTUN (int)
RPMSENSE_SCRIPT_VERIFY (int)
RPMSENSE_FIND_REQUIRES (int)
RPMSENSE_FIND_PROVIDES (int)
RPMSENSE_TRIGGERIN (int)
RPMSENSE_TRIGGERUN (int)
RPMSENSE_TRIGGERPOSTUN (int)
RPMSENSE_MISSINGOK (int)
RPMSENSE_RPMLIB (int)
RPMSENSE_TRIGGERPREIN (int)
RPMSENSE_KEYRING (int)
RPMSENSE_CONFIG (int)
RPMMIRE_DEFAULT (int)
Search pattern is a regular expression with \., .* and ^...$ added.
RPMMIRE_STRCMP (int)
Search pattern is a string, using strcmp(3).
RPMMIRE_REGEX (int)
Search pattern is a regular expression, using regcomp(3).
RPMMIRE_GLOB (int)
Search pattern is a glob expression, using fnmatch(3).
RPMTAG_ARCH (int)
RPMTAG_ARCHIVESIZE (int)
RPMTAG_BASENAMES (int)
Name (not path) of files, with database index.
RPMTAG_BUGURL (int)
RPMTAG_BUILDARCHS (int)
RPMTAG_BUILDHOST (int)
RPMTAG_BUILDTIME (int)
RPMTAG_C (int)
RPMTAG_CHANGELOGNAME (int)
RPMTAG_CHANGELOGTEXT (int)
RPMTAG_CHANGELOGTIME (int)
RPMTAG_CLASSDICT (int)
RPMTAG_CONFLICTFLAGS (int)
RPMTAG_CONFLICTNAME (int)
Conflicting dependencies, with database index.
RPMTAG_CONFLICTNEVRS (int)
RPMTAG_CONFLICTS (int)
RPMTAG_CONFLICTVERSION (int)
RPMTAG_COOKIE (int)
RPMTAG_DBINSTANCE (int)
RPMTAG_DEPENDSDICT (int)
RPMTAG_DESCRIPTION (int)
RPMTAG_DIRINDEXES (int)
RPMTAG_DIRNAMES (int)
Directory of files, with database index.
RPMTAG_DISTRIBUTION (int)
RPMTAG_DISTTAG (int)
RPMTAG_DISTURL (int)
RPMTAG_DSAHEADER (int)
RPMTAG_E (int)
RPMTAG_ENCODING (int)
RPMTAG_ENHANCEFLAGS (int)
RPMTAG_ENHANCENAME (int)
Weak dependencies, with database index, requires librpm >= 4.13.
RPMTAG_ENHANCENEVRS (int)
RPMTAG_ENHANCES (int)
RPMTAG_ENHANCEVERSION (int)
RPMTAG_EPOCH (int)
RPMTAG_EPOCHNUM (int)
RPMTAG_EVR (int)
RPMTAG_EXCLUDEARCH (int)
RPMTAG_EXCLUDEOS (int)
RPMTAG_EXCLUSIVEARCH (int)
RPMTAG_EXCLUSIVEOS (int)
RPMTAG_FILECAPS (int)
RPMTAG_FILECLASS (int)
RPMTAG_FILECOLORS (int)
RPMTAG_FILECONTEXTS (int)
RPMTAG_FILEDEPENDSN (int)
RPMTAG_FILEDEPENDSX (int)
RPMTAG_FILEDEVICES (int)
RPMTAG_FILEDIGESTALGO (int)
RPMTAG_FILEDIGESTS (int)
RPMTAG_FILEFLAGS (int)
RPMTAG_FILEGROUPNAME (int)
RPMTAG_FILEINODES (int)
RPMTAG_FILELANGS (int)
RPMTAG_FILELINKTOS (int)
RPMTAG_FILEMD5S (int)
RPMTAG_FILEMODES (int)
RPMTAG_FILEMTIMES (int)
RPMTAG_FILENAMES (int)
RPMTAG_FILENLINKS (int)
RPMTAG_FILEPROVIDE (int)
RPMTAG_FILERDEVS (int)
RPMTAG_FILEREQUIRE (int)
RPMTAG_FILESIGNATURELENGTH (int)
RPMTAG_FILESIGNATURES (int)
RPMTAG_FILESIZES (int)
RPMTAG_FILESTATES (int)
RPMTAG_FILETRIGGERCONDS (int)
RPMTAG_FILETRIGGERFLAGS (int)
RPMTAG_FILETRIGGERINDEX (int)
RPMTAG_FILETRIGGERNAME (int)
File trigger name, with database index, requires librpm >= 4.13.
RPMTAG_FILETRIGGERPRIORITIES (int)
RPMTAG_FILETRIGGERSCRIPTFLAGS (int)
RPMTAG_FILETRIGGERSCRIPTPROG (int)
RPMTAG_FILETRIGGERSCRIPTS (int)
RPMTAG_FILETRIGGERTYPE (int)
RPMTAG_FILETRIGGERVERSION (int)
RPMTAG_FILEUSERNAME (int)
RPMTAG_FILEVERIFYFLAGS (int)
RPMTAG_FSCONTEXTS (int)
RPMTAG_GIF (int)
RPMTAG_GROUP (int)
Group of the package, with database index.
RPMTAG_HDRID (int)
RPMTAG_HEADERCOLOR (int)
RPMTAG_HEADERI18NTABLE (int)
RPMTAG_HEADERIMAGE (int)
RPMTAG_HEADERIMMUTABLE (int)
RPMTAG_HEADERREGIONS (int)
RPMTAG_HEADERSIGNATURES (int)
RPMTAG_ICON (int)
RPMTAG_INSTALLCOLOR (int)
RPMTAG_INSTALLTID (int)
Installation transaction ID, with database index.
RPMTAG_INSTALLTIME (int)
RPMTAG_INSTFILENAMES (int)
Path of files, with database index.
RPMTAG_INSTPREFIXES (int)
RPMTAG_LICENSE (int)
RPMTAG_LONGARCHIVESIZE (int)
RPMTAG_LONGFILESIZES (int)
RPMTAG_LONGSIGSIZE (int)
RPMTAG_LONGSIZE (int)
RPMTAG_MODULARITYLABEL (int)
RPMTAG_N (int)
RPMTAG_NAME (int)
Package name, with database index.
RPMTAG_NEVR (int)
RPMTAG_NEVRA (int)
RPMTAG_NOPATCH (int)
RPMTAG_NOSOURCE (int)
RPMTAG_NVR (int)
RPMTAG_NVRA (int)
RPMTAG_O (int)
RPMTAG_OBSOLETEFLAGS (int)
RPMTAG_OBSOLETENAME (int)
Obsoleted packages, with database index.
RPMTAG_OBSOLETENEVRS (int)
RPMTAG_OBSOLETES (int)
RPMTAG_OBSOLETEVERSION (int)
RPMTAG_OLDENHANCES (int)
RPMTAG_OLDENHANCESFLAGS (int)
RPMTAG_OLDENHANCESNAME (int)
RPMTAG_OLDENHANCESVERSION (int)
RPMTAG_OLDFILENAMES (int)
RPMTAG_OLDSUGGESTS (int)
RPMTAG_OLDSUGGESTSFLAGS (int)
RPMTAG_OLDSUGGESTSNAME (int)
RPMTAG_OLDSUGGESTSVERSION (int)
RPMTAG_OPTFLAGS (int)
RPMTAG_ORDERFLAGS (int)
RPMTAG_ORDERNAME (int)
RPMTAG_ORDERVERSION (int)
RPMTAG_ORIGBASENAMES (int)
RPMTAG_ORIGDIRINDEXES (int)
RPMTAG_ORIGDIRNAMES (int)
RPMTAG_ORIGFILENAMES (int)
RPMTAG_OS (int)
RPMTAG_P (int)
RPMTAG_PACKAGER (int)
RPMTAG_PATCH (int)
RPMTAG_PATCHESFLAGS (int)
RPMTAG_PATCHESNAME (int)
RPMTAG_PATCHESVERSION (int)
RPMTAG_PAYLOADCOMPRESSOR (int)
RPMTAG_PAYLOADDIGEST (int)
RPMTAG_PAYLOADDIGESTALT (int)
Since librpm >= 4.16.
RPMTAG_PAYLOADDIGESTALGO (int)
RPMTAG_PAYLOADFLAGS (int)
RPMTAG_PAYLOADFORMAT (int)
RPMTAG_PKGID (int)
RPMTAG_PLATFORM (int)
RPMTAG_POLICIES (int)
RPMTAG_POLICYFLAGS (int)
RPMTAG_POLICYNAMES (int)
RPMTAG_POLICYTYPES (int)
RPMTAG_POLICYTYPESINDEXES (int)
RPMTAG_POSTIN (int)
RPMTAG_POSTINFLAGS (int)
RPMTAG_POSTINPROG (int)
RPMTAG_POSTTRANS (int)
RPMTAG_POSTTRANSFLAGS (int)
RPMTAG_POSTTRANSPROG (int)
RPMTAG_POSTUN (int)
RPMTAG_POSTUNFLAGS (int)
RPMTAG_POSTUNPROG (int)
RPMTAG_PREFIXES (int)
RPMTAG_PREIN (int)
RPMTAG_PREINFLAGS (int)
RPMTAG_PREINPROG (int)
RPMTAG_PRETRANS (int)
RPMTAG_PRETRANSFLAGS (int)
RPMTAG_PRETRANSPROG (int)
RPMTAG_PREUN (int)
RPMTAG_PREUNFLAGS (int)
RPMTAG_PREUNPROG (int)
RPMTAG_PROVIDEFLAGS (int)
RPMTAG_PROVIDENAME (int)
Provided dependencies, with database index.
RPMTAG_PROVIDENEVRS (int)
RPMTAG_PROVIDES (int)
RPMTAG_PROVIDEVERSION (int)
RPMTAG_PUBKEYS (int)
RPMTAG_R (int)
RPMTAG_RECOMMENDFLAGS (int)
RPMTAG_RECOMMENDNAME (int)
Recommended weak dependencies, with database index, requires librpm >= 4.13.
RPMTAG_RECOMMENDNEVRS (int)
RPMTAG_RECOMMENDS (int)
RPMTAG_RECOMMENDVERSION (int)
RPMTAG_RECONTEXTS (int)
RPMTAG_RELEASE (int)
RPMTAG_REMOVETID (int)
RPMTAG_REQUIREFLAGS (int)
RPMTAG_REQUIRENAME (int)
Required dependencies, with database index.
RPMTAG_REQUIRENEVRS (int)
RPMTAG_REQUIRES (int)
RPMTAG_REQUIREVERSION (int)
RPMTAG_RPMVERSION (int)
RPMTAG_RSAHEADER (int)
RPMTAG_SHA1HEADER (int)
SHA1 signature, with database index.
RPMTAG_SHA256HEADER (int)
RPMTAG_SIGGPG (int)
RPMTAG_SIGMD5 (int)
MD5 signature, with database index.
RPMTAG_SIGPGP (int)
RPMTAG_SIGSIZE (int)
RPMTAG_SIZE (int)
RPMTAG_SOURCE (int)
RPMTAG_SOURCEPACKAGE (int)
RPMTAG_SOURCEPKGID (int)
RPMTAG_SOURCERPM (int)
RPMTAG_SUGGESTFLAGS (int)
RPMTAG_SUGGESTNAME (int)
Suggested weak dependencies, with database index, requires librpm >= 4.13.
RPMTAG_SUGGESTNEVRS (int)
RPMTAG_SUGGESTS (int)
RPMTAG_SUGGESTVERSION (int)
RPMTAG_SUMMARY (int)
RPMTAG_SUPPLEMENTFLAGS (int)
RPMTAG_SUPPLEMENTNAME (int)
Weak dependencies, with database index, requires librpm >= 4.13.
RPMTAG_SUPPLEMENTNEVRS (int)
RPMTAG_SUPPLEMENTS (int)
RPMTAG_SUPPLEMENTVERSION (int)
RPMTAG_TRANSFILETRIGGERCONDS (int)
RPMTAG_TRANSFILETRIGGERFLAGS (int)
RPMTAG_TRANSFILETRIGGERINDEX (int)
RPMTAG_TRANSFILETRIGGERNAME (int)
Transaction file trigger name, with database index, requires librpm >= 4.13.
RPMTAG_TRANSFILETRIGGERPRIORITIES (int)
RPMTAG_TRANSFILETRIGGERSCRIPTFLAGS (int)
RPMTAG_TRANSFILETRIGGERSCRIPTPROG (int)
RPMTAG_TRANSFILETRIGGERSCRIPTS (int)
RPMTAG_TRANSFILETRIGGERTYPE (int)
RPMTAG_TRANSFILETRIGGERVERSION (int)
RPMTAG_TRIGGERCONDS (int)
RPMTAG_TRIGGERFLAGS (int)
RPMTAG_TRIGGERINDEX (int)
RPMTAG_TRIGGERNAME (int)
Trigger name, with database index.
RPMTAG_TRIGGERSCRIPTFLAGS (int)
RPMTAG_TRIGGERSCRIPTPROG (int)
RPMTAG_TRIGGERSCRIPTS (int)
RPMTAG_TRIGGERTYPE (int)
RPMTAG_TRIGGERVERSION (int)
RPMTAG_URL (int)
RPMTAG_V (int)
RPMTAG_VCS (int)
RPMTAG_VENDOR (int)
RPMTAG_VERBOSE (int)
RPMTAG_VERIFYSCRIPT (int)
RPMTAG_VERIFYSCRIPTFLAGS (int)
RPMTAG_VERIFYSCRIPTPROG (int)
RPMTAG_VERSION (int)
RPMTAG_XPM (int)


RpmInfo Funções

Índice

  • rpmaddtag — Add tag retrieved in query
  • rpmdbinfo — Get information from installed RPM
  • rpmdbsearch — Search RPM packages
  • rpminfo — Get information from a RPM file
  • rpmvercmp — RPM version comparison


Add tag retrieved in query

  • « RpmInfo Funções
  • rpmdbinfo »
  • PHP Manual
  • RpmInfo Funções
  • Add tag retrieved in query

rpmaddtag

(PECL rpminfo >= 0.5.0)

rpmaddtag — Add tag retrieved in query

Descrição

rpmaddtag ( int $tag ) : bool

Add an additional retrieved tag in subsequent queries.

Parâmetros

tag

One of RPMTAG_* constant, see the rpminfo constants page.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • rpminfo() - Get information from a RPM file
  • rpmdbinfo() - Get information from installed RPM
  • rpmdbsearch() - Search RPM packages


Get information from installed RPM

  • « rpmaddtag
  • rpmdbsearch »
  • PHP Manual
  • RpmInfo Funções
  • Get information from installed RPM

rpmdbinfo

(PECL rpminfo >= 0.2.0)

rpmdbinfo — Get information from installed RPM

Descrição

rpmdbinfo ( string $nevr , bool $full = false ) : array

Retrieve information about an installed package, from the system RPM database.

Parâmetros

nevr

Name with optional epoch, version and release.

full

If true all information headers for the file are retrieved, else only a minimal set.

Valor Retornado

An array of array of information or NULL on error.

Veja Também

  • rpmaddtag() - Add tag retrieved in query

Exemplos

Exemplo #1 A rpmdbinfo() example

<?php
rpmaddtag(RPMTAG_INSTALLTIME);
$info = rpmdbinfo("php-pecl-rpminfo");
print_r($info);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => Array
        (
            [Name] => php-pecl-rpminfo
            [Version] => 0.4.2
            [Release] => 1.fc31
            [Summary] => RPM information
            [Installtime] => 1586244687
            [Arch] => x86_64
        )
)


Search RPM packages

  • « rpmdbinfo
  • rpminfo »
  • PHP Manual
  • RpmInfo Funções
  • Search RPM packages

rpmdbsearch

(PECL rpminfo >= 0.3.0)

rpmdbsearch — Search RPM packages

Descrição

rpmdbsearch ( string $pattern , int $rpmtag = RPMTAG_NAME , int $rpmmire = -1 , bool $full = false ) : array

Search packages in the system RPM database.

Parâmetros

pattern

Value to search for.

rpmtag

Search criterion, one of RPMTAG_* constant, see the rpminfo constants page.

rpmmire

Pattern type, one of RPMMIRE_* constant, see the rpminfo constants page. When < 0 the criterion must equals the value, and database index is used if possible.

full

If true all information headers for the file are retrieved, else only a minimal set.

Valor Retornado

An array of array of information or NULL on error.

Veja Também

  • rpmaddtag() - Add tag retrieved in query

Exemplos

Exemplo #1 Searching for the package owning a file

<?php
$info = rpmdbsearch("/usr/bin/php", RPMTAG_INSTFILENAMES);
print_r($info);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => Array
        (
            [Name] => php-cli
            [Version] => 7.4.4
            [Release] => 1.fc32
            [Summary] => Command-line interface for PHP
            [Arch] => x86_64
        )

)


Get information from a RPM file

  • « rpmdbsearch
  • rpmvercmp »
  • PHP Manual
  • RpmInfo Funções
  • Get information from a RPM file

rpminfo

(PECL rpminfo >= 0.1.0)

rpminfo — Get information from a RPM file

Descrição

rpminfo ( string $path , bool $full = false , string &$error = ? ) : array

Retrieve information about a local file, a RPM package.

Parâmetros

path

Path of the RPM file.

full

If true all information headers for the file are retrieved, else only a minimal set.

error

If provided, will receive the possible error message, and will avoid a runtime warning.

Valor Retornado

An array of information or NULL on error.

Veja Também

  • rpmaddtag() - Add tag retrieved in query

Exemplos

Exemplo #1 A rpminfo() example

<?php
rpmaddtag(RPMTAG_BUILDTIME);
$info = rpminfo("./php-pecl-rpminfo-0.4.2-1.el8.remi.7.4.x86_64.rpm");
print_r($info);
?>

O exemplo acima irá imprimir:

Array
(
    [Name] => php-pecl-rpminfo
    [Version] => 0.4.2
    [Release] => 1.el8
    [Summary] => RPM information
    [Buildtime] => 1586244821
    [Arch] => x86_64
)


RPM version comparison

  • « rpminfo
  • XLSWriter »
  • PHP Manual
  • RpmInfo Funções
  • RPM version comparison

rpmvercmp

(PECL rpminfo >= 0.1.0)

rpmvercmp — RPM version comparison

Descrição

rpmvercmp ( string $evr1 , string $evr2 ) : int

Compare 2 RPM versions.

Parâmetros

evr1

First epoch:version-release string

evr2

Second epoch:version-release string

Valor Retornado

Returns < 0 if evr1 is less than evr2, > 0 if evr1 is greater than evr2, and 0 if they are equal.


XLSWriter

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Tipos de Recurso
  • Constantes pré-definidas
  • Vtiful\Kernel\Excel — The Vtiful\Kernel\Excel class
    • Vtiful\Kernel\Excel::addSheet — Vtiful\Kernel\Excel addSheet
    • Vtiful\Kernel\Excel::autoFilter — Vtiful\Kernel\Excel autoFilter
    • Vtiful\Kernel\Excel::constMemory — Vtiful\Kernel\Excel constMemory
    • Vtiful\Kernel\Excel::__construct — Vtiful\Kernel\Excel constructor
    • Vtiful\Kernel\Excel::data — Vtiful\Kernel\Excel data
    • Vtiful\Kernel\Excel::fileName — Vtiful\Kernel\Excel fileName
    • Vtiful\Kernel\Excel::getHandle — Vtiful\Kernel\Excel getHandle
    • Vtiful\Kernel\Excel::header — Vtiful\Kernel\Excel header
    • Vtiful\Kernel\Excel::insertFormula — Vtiful\Kernel\Excel insertFormula
    • Vtiful\Kernel\Excel::insertImage — Vtiful\Kernel\Excel insertImage
    • Vtiful\Kernel\Excel::insertText — Vtiful\Kernel\Excel insertText
    • Vtiful\Kernel\Excel::mergeCells — Vtiful\Kernel\Excel mergeCells
    • Vtiful\Kernel\Excel::output — Vtiful\Kernel\Excel output
    • Vtiful\Kernel\Excel::setColumn — Vtiful\Kernel\Excel setColumn
    • Vtiful\Kernel\Excel::setRow — Vtiful\Kernel\Excel setRow
  • Vtiful\Kernel\Format — The Vtiful\Kernel\Format class
    • Vtiful\Kernel\Format::align — Vtiful\Kernel\Format align
    • Vtiful\Kernel\Format::bold — Vtiful\Kernel\Format bold
    • Vtiful\Kernel\Format::italic — Vtiful\Kernel\Format italic
    • Vtiful\Kernel\Format::underline — Vtiful\Kernel\Format underline


  • « XLSWriter
  • Instalação/Configuração »
  • PHP Manual
  • XLSWriter
  • Introdução

Introdução

An efficient and fast xlsx file export extension.


  • « Introdução
  • Dependências »
  • PHP Manual
  • XLSWriter
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Tipos de Recurso


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

XLSWriter requires PHP 7.0 and above.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/xlswriter


Tipos de Recurso

There is one resource used by the procedural version of the XLSWriter extension: returned by fileName() or \Vtiful\Kernel\Format.


  • « Tipos de Recurso
  • Vtiful\Kernel\Excel »
  • PHP Manual
  • XLSWriter
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


The Vtiful\Kernel\Excel class

(PECL xlswriter >= 1.2.1)

Introdução

Create xlsx files and set cells and output xlsx files

Sinopse da classe

Vtiful\Kernel\Excel {
/* Métodos */
public addSheet ( string $sheetName )
public autoFilter ( string $scope )
public constMemory ( string $fileName , string $sheetName = ? )
public __construct ( array $config )
public data ( array $data )
public fileName ( string $fileName , string $sheetName = ? )
public getHandle ( )
public header ( array $headerData )
public insertFormula ( int $row , int $column , string $formula )
public insertImage ( int $row , int $column , string $localImagePath )
public insertText ( int $row , int $column , stringintdouble $data , string $format = ? )
public mergeCells ( string $scope , string $data )
public output ( )
public setColumn ( string $range , float $width , resource $format = ? )
public setRow ( string $range , float $height , resource $format = ? )
}

Índice

  • Vtiful\Kernel\Excel::addSheet — Vtiful\Kernel\Excel addSheet
  • Vtiful\Kernel\Excel::autoFilter — Vtiful\Kernel\Excel autoFilter
  • Vtiful\Kernel\Excel::constMemory — Vtiful\Kernel\Excel constMemory
  • Vtiful\Kernel\Excel::__construct — Vtiful\Kernel\Excel constructor
  • Vtiful\Kernel\Excel::data — Vtiful\Kernel\Excel data
  • Vtiful\Kernel\Excel::fileName — Vtiful\Kernel\Excel fileName
  • Vtiful\Kernel\Excel::getHandle — Vtiful\Kernel\Excel getHandle
  • Vtiful\Kernel\Excel::header — Vtiful\Kernel\Excel header
  • Vtiful\Kernel\Excel::insertFormula — Vtiful\Kernel\Excel insertFormula
  • Vtiful\Kernel\Excel::insertImage — Vtiful\Kernel\Excel insertImage
  • Vtiful\Kernel\Excel::insertText — Vtiful\Kernel\Excel insertText
  • Vtiful\Kernel\Excel::mergeCells — Vtiful\Kernel\Excel mergeCells
  • Vtiful\Kernel\Excel::output — Vtiful\Kernel\Excel output
  • Vtiful\Kernel\Excel::setColumn — Vtiful\Kernel\Excel setColumn
  • Vtiful\Kernel\Excel::setRow — Vtiful\Kernel\Excel setRow


Vtiful\Kernel\Excel addSheet

  • « Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel::autoFilter »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel addSheet

Vtiful\Kernel\Excel::addSheet

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::addSheet — Vtiful\Kernel\Excel addSheet

Descrição

public Vtiful\Kernel\Excel::addSheet ( string $sheetName )

Create a new worksheet in the xlsx file.

Parâmetros

sheetName

Worksheet name

Valor Retornado

Vtiful\Kernel\Excel instance

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$fileObject  = new \Vtiful\Kernel\Excel($config);

$file = $fileObject->fileName('tutorial.xlsx', 'sheet_one')
    ->header(['name', 'age'])
    ->data([
        ['viest', 23],
        ['wjx', 23]
    ]);

$file->addSheet('sheet_two')
    ->header(['name', 'age'])
    ->data([
        ['james', 33],
        ['king', 33]
    ]);

$file->output();
?>


Vtiful\Kernel\Excel autoFilter

  • « Vtiful\Kernel\Excel::addSheet
  • Vtiful\Kernel\Excel::constMemory »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel autoFilter

Vtiful\Kernel\Excel::autoFilter

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::autoFilter — Vtiful\Kernel\Excel autoFilter

Descrição

public Vtiful\Kernel\Excel::autoFilter ( string $scope )

Add autofilter to a worksheet.

Parâmetros

scope

Cell start and end coordinate string.

Valor Retornado

Vtiful\Kernel\Excel instance

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$fileObject  = new \Vtiful\Kernel\Excel($config);

$file = $excel->fileName('test.xlsx')
        ->header(['name', 'age'])
        ->data($data)
        ->autoFilter('A1:B11')  // auto filter
        ->output();
?>


Vtiful\Kernel\Excel constMemory

  • « Vtiful\Kernel\Excel::autoFilter
  • Vtiful\Kernel\Excel::__construct »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel constMemory

Vtiful\Kernel\Excel::constMemory

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::constMemory — Vtiful\Kernel\Excel constMemory

Descrição

public Vtiful\Kernel\Excel::constMemory ( string $fileName , string $sheetName = ? )

Write a large file with constant memory usage.

Parâmetros

fileName

XLSX file name

sheetName

Worksheet name

Valor Retornado

Vtiful\Kernel\Excel instance

Exemplos

Exemplo #1 example

<?php
$config = [
  'path' => '/home/viest'
];

$fileObject = new \Vtiful\Kernel\Excel($config);

$file = $instance->constMemory('tutorial.xlsx', 'sheet');
?>


Vtiful\Kernel\Excel constructor

  • « Vtiful\Kernel\Excel::constMemory
  • Vtiful\Kernel\Excel::data »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel constructor

Vtiful\Kernel\Excel::__construct

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::__construct — Vtiful\Kernel\Excel constructor

Descrição

public Vtiful\Kernel\Excel::__construct ( array $config )

Vtiful\Kernel\Excel constructor, create a class object.

Parâmetros

config

XLSX file export configuration

Valor Retornado

Vtiful\Kernel\Excel instance

Exemplos

Exemplo #1 example

<?php
$config = [
  'path' => '/home/viest'
];

$excelObject = new \Vtiful\Kernel\Excel($config);
?>


Vtiful\Kernel\Excel data

  • « Vtiful\Kernel\Excel::__construct
  • Vtiful\Kernel\Excel::fileName »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel data

Vtiful\Kernel\Excel::data

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::data — Vtiful\Kernel\Excel data

Descrição

public Vtiful\Kernel\Excel::data ( array $data )

Write a data in the worksheet.

Parâmetros

data

worksheet data

Valor Retornado

Vtiful\Kernel\Excel instance

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$fileObject  = new \Vtiful\Kernel\Excel($config);

$file = $fileObject->fileName('tutorial.xlsx', 'sheet_one')
    ->header(['name', 'age'])
    ->data([
      ['viest', 23],
      ['wjx', 23],
    ]);
?>


Vtiful\Kernel\Excel fileName

  • « Vtiful\Kernel\Excel::data
  • Vtiful\Kernel\Excel::getHandle »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel fileName

Vtiful\Kernel\Excel::fileName

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::fileName — Vtiful\Kernel\Excel fileName

Descrição

public Vtiful\Kernel\Excel::fileName ( string $fileName , string $sheetName = ? )

Create a brand new xlsx file and create a worksheet.

Parâmetros

fileName

XLSX file name

sheetName

Worksheet name

Valor Retornado

Vtiful\Kernel\Excel instance

Exemplos

Exemplo #1 example

<?php
$config = [
  'path' => '/home/viest'
];

$fileObject = new \Vtiful\Kernel\Excel($config);

$file = $instance->fileName('tutorial.xlsx', 'sheet');
?>


Vtiful\Kernel\Excel getHandle

  • « Vtiful\Kernel\Excel::fileName
  • Vtiful\Kernel\Excel::header »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel getHandle

Vtiful\Kernel\Excel::getHandle

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::getHandle — Vtiful\Kernel\Excel getHandle

Descrição

public Vtiful\Kernel\Excel::getHandle ( )

Get the xlsx text resource handle.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Resource

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$fileObject  = new \Vtiful\Kernel\Excel($config);

$file = $fileObject->fileName('tutorial.xlsx', 'sheet_one')
    ->header(['name', 'age']);

$handle = $file->getHandle();
?>


Vtiful\Kernel\Excel header

  • « Vtiful\Kernel\Excel::getHandle
  • Vtiful\Kernel\Excel::insertFormula »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel header

Vtiful\Kernel\Excel::header

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::header — Vtiful\Kernel\Excel header

Descrição

public Vtiful\Kernel\Excel::header ( array $headerData )

Write a header in the worksheet.

Parâmetros

headerData

worksheet header data

Valor Retornado

Vtiful\Kernel\Excel instance

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$fileObject  = new \Vtiful\Kernel\Excel($config);

$file = $fileObject->fileName('tutorial.xlsx', 'sheet_one')
    ->header(['name', 'age']);
?>


Vtiful\Kernel\Excel insertFormula

  • « Vtiful\Kernel\Excel::header
  • Vtiful\Kernel\Excel::insertImage »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel insertFormula

Vtiful\Kernel\Excel::insertFormula

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::insertFormula — Vtiful\Kernel\Excel insertFormula

Descrição

public Vtiful\Kernel\Excel::insertFormula ( int $row , int $column , string $formula )

Insert calculation formula.

Parâmetros

row

cell row

column

cell column

formula

formula string

Valor Retornado

Vtiful\Kernel\Excel instance

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$file = $excel->fileName("free.xlsx")
    ->header(['name', 'money']);

for($index = 1; $index < 10; $index++) {
    $file->insertText($index, 0, 'viest');
    $file->insertText($index, 1, 10);
}

$file->insertText(12, 0, "Total");
$file->insertFormula(12, 1, '=SUM(B2:B11)'); // insert formula

$file->output();


Vtiful\Kernel\Excel insertImage

  • « Vtiful\Kernel\Excel::insertFormula
  • Vtiful\Kernel\Excel::insertText »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel insertImage

Vtiful\Kernel\Excel::insertImage

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::insertImage — Vtiful\Kernel\Excel insertImage

Descrição

public Vtiful\Kernel\Excel::insertImage ( int $row , int $column , string $localImagePath )

Insert a local image into the cell.

Parâmetros

row

cell row

column

cell column

localImagePath

local image path

Valor Retornado

Vtiful\Kernel\Excel instance

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$file = $excel->fileName("free.xlsx");

$file->insertImage(5, 0, '/vagrant/ASW-G-66.jpg');

$file->output();


Vtiful\Kernel\Excel insertText

  • « Vtiful\Kernel\Excel::insertImage
  • Vtiful\Kernel\Excel::mergeCells »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel insertText

Vtiful\Kernel\Excel::insertText

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::insertText — Vtiful\Kernel\Excel insertText

Descrição

public Vtiful\Kernel\Excel::insertText ( int $row , int $column , stringintdouble $data , string $format = ? )

Write text in a cell.

Parâmetros

row

cell row

column

cell column

data

data to be written

format

String format

Valor Retornado

Vtiful\Kernel\Excel instance

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$file = $excel->fileName("free.xlsx")
    ->header(['name', 'money']);

for ($index = 0; $index < 10; $index++) {
    $file->insertText($index+1, 0, 'viest');
    $file->insertText($index+1, 1, 10000, '#,##0');
}

$textFile->output();


Vtiful\Kernel\Excel mergeCells

  • « Vtiful\Kernel\Excel::insertText
  • Vtiful\Kernel\Excel::output »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel mergeCells

Vtiful\Kernel\Excel::mergeCells

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::mergeCells — Vtiful\Kernel\Excel mergeCells

Descrição

public Vtiful\Kernel\Excel::mergeCells ( string $scope , string $data )

Merge Cells.

Parâmetros

scope

cell start and end coordinate strings

data

string data

Valor Retornado

Vtiful\Kernel\Excel instance

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$excel->fileName("test.xlsx")
        ->mergeCells('A1:C1', 'Merge cells')
        ->output();


Vtiful\Kernel\Excel output

  • « Vtiful\Kernel\Excel::mergeCells
  • Vtiful\Kernel\Excel::setColumn »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel output

Vtiful\Kernel\Excel::output

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::output — Vtiful\Kernel\Excel output

Descrição

public Vtiful\Kernel\Excel::output ( )

Output xlsx file to disk.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

XLSX file path;

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$fileObject  = new \Vtiful\Kernel\Excel($config);

$file = $fileObject->fileName('tutorial.xlsx', 'sheet_one')
    ->header(['name', 'age'])
    ->data([
      ['viest', 23],
      ['wjx', 23],
    ]);

$path = $file->output();
?>


Vtiful\Kernel\Excel setColumn

  • « Vtiful\Kernel\Excel::output
  • Vtiful\Kernel\Excel::setRow »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel setColumn

Vtiful\Kernel\Excel::setColumn

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::setColumn — Vtiful\Kernel\Excel setColumn

Descrição

public Vtiful\Kernel\Excel::setColumn ( string $range , float $width , resource $format = ? )

Set the format of the column.

Parâmetros

range

cell start and end coordinate strings

width

column width

format

cell format resource

Valor Retornado

Vtiful\Kernel\Excel instance

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$excel  = new \Vtiful\Kernel\Excel($config);

$fileObject = $excel->fileName('tutorial01.xlsx');
$fileHandle = $fileObject->getHandle();

$boldStyle = \Vtiful\Kernel\Format::bold($fileHandle);

$fileObject->header(['name', 'age'])
    ->data([['viest', 21]])
    ->setColumn('A:A', 200, $boldStyle)
    ->output();


Vtiful\Kernel\Excel setRow

  • « Vtiful\Kernel\Excel::setColumn
  • Vtiful\Kernel\Format »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel setRow

Vtiful\Kernel\Excel::setRow

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::setRow — Vtiful\Kernel\Excel setRow

Descrição

public Vtiful\Kernel\Excel::setRow ( string $range , float $height , resource $format = ? )

Set the format of the column.

Parâmetros

range

cell start and end coordinate strings

height

row height

format

cell format resource

Valor Retornado

Vtiful\Kernel\Excel instance

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$excel  = new \Vtiful\Kernel\Excel($config);

$fileObject = $excel->fileName('tutorial01.xlsx');
$fileHandle = $fileObject->getHandle();

$boldStyle = \Vtiful\Kernel\Format::bold($fileHandle);

$fileObject->header(['name', 'age'])
    ->data([['viest', 21]])
    ->setRow('A1', 20, $boldStyle,)
    ->output();


The Vtiful\Kernel\Format class

(PECL xlswriter >= 1.2.1)

Introdução

Create a cell format object

Sinopse da classe

Vtiful\Kernel\Format {
/* Constants */
const int FORMAT_ALIGN_LEFT = 1 ;
const int FORMAT_ALIGN_CENTER = 2 ;
const int FORMAT_ALIGN_RIGHT = 3 ;
const int FORMAT_ALIGN_FILL = 4 ;
const int FORMAT_ALIGN_JUSTIFY = 5 ;
const int FORMAT_ALIGN_CENTER_ACROSS = 6 ;
const int FORMAT_ALIGN_DISTRIBUTED = 7 ;
const int FORMAT_ALIGN_VERTICAL_TOP = 8 ;
const int FORMAT_ALIGN_VERTICAL_BOTTOM = 9 ;
const int FORMAT_ALIGN_VERTICAL_CENTER = 10 ;
const int FORMAT_ALIGN_VERTICAL_JUSTIFY = 11 ;
const int FORMAT_ALIGN_VERTICAL_DISTRIBUTED = 12 ;
const int UNDERLINE_SINGLE = 1 ;
const int UNDERLINE_DOUBLE = 2 ;
const int UNDERLINE_SINGLE_ACCOUNTING = 3 ;
const int UNDERLINE_DOUBLE_ACCOUNTING = 4 ;
/* Métodos */
public align ( resource $handle , int $style )
public bold ( resource $handle )
public italic ( resource $handle )
public underline ( resource $handle , int $style )
}

Constantes pré-definidas

Vtiful\Kernel\Format::FORMAT_ALIGN_LEFT

Vtiful\Kernel\Format::FORMAT_ALIGN_CENTER

Vtiful\Kernel\Format::FORMAT_ALIGN_RIGHT

Vtiful\Kernel\Format::FORMAT_ALIGN_FILL

Vtiful\Kernel\Format::FORMAT_ALIGN_JUSTIFY

Vtiful\Kernel\Format::FORMAT_ALIGN_CENTER_ACROSS

Vtiful\Kernel\Format::FORMAT_ALIGN_DISTRIBUTED

Vtiful\Kernel\Format::FORMAT_ALIGN_VERTICAL_TOP

Vtiful\Kernel\Format::FORMAT_ALIGN_VERTICAL_BOTTOM

Vtiful\Kernel\Format::FORMAT_ALIGN_VERTICAL_CENTER

Vtiful\Kernel\Format::FORMAT_ALIGN_VERTICAL_JUSTIFY

Vtiful\Kernel\Format::FORMAT_ALIGN_VERTICAL_DISTRIBUTED

Vtiful\Kernel\Format::UNDERLINE_SINGLE

Vtiful\Kernel\Format::UNDERLINE_DOUBLE

Vtiful\Kernel\Format::UNDERLINE_SINGLE_ACCOUNTING

Vtiful\Kernel\Format::UNDERLINE_DOUBLE_ACCOUNTING

Índice

  • Vtiful\Kernel\Format::align — Vtiful\Kernel\Format align
  • Vtiful\Kernel\Format::bold — Vtiful\Kernel\Format bold
  • Vtiful\Kernel\Format::italic — Vtiful\Kernel\Format italic
  • Vtiful\Kernel\Format::underline — Vtiful\Kernel\Format underline


Vtiful\Kernel\Format align

  • « Vtiful\Kernel\Format
  • Vtiful\Kernel\Format::bold »
  • PHP Manual
  • Vtiful\Kernel\Format
  • Vtiful\Kernel\Format align

Vtiful\Kernel\Format::align

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Format::align — Vtiful\Kernel\Format align

Descrição

public Vtiful\Kernel\Format::align ( resource $handle , int $style )

set cell align

Parâmetros

handle

xlsx file handle

style

Vtiful\Kernel\Format constant

Valor Retornado

Resource

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$excel  = new \Vtiful\Kernel\Excel($config);

$fileObject = $excel->fileName('tutorial01.xlsx');
$fileHandle = $fileObject->getHandle();

$alignStyle = \Vtiful\Kernel\Format::align($fileHandle, \Vtiful\Kernel\Format::FORMAT_ALIGN_LEFT);

$fileObject->header(['name', 'age'])
    ->data([['viest', 21]])
    ->setColumn('A:A', 200, $align)
    ->output();
?>


Vtiful\Kernel\Format bold

  • « Vtiful\Kernel\Format::align
  • Vtiful\Kernel\Format::italic »
  • PHP Manual
  • Vtiful\Kernel\Format
  • Vtiful\Kernel\Format bold

Vtiful\Kernel\Format::bold

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Format::bold — Vtiful\Kernel\Format bold

Descrição

public Vtiful\Kernel\Format::bold ( resource $handle )

Vtiful\Kernel\Format bold format

Parâmetros

handle

xlsx file handle

Valor Retornado

Resource

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$excel  = new \Vtiful\Kernel\Excel($config);

$fileObject = $excel->fileName('tutorial01.xlsx');
$fileHandle = $fileObject->getHandle();

$boldStyle = \Vtiful\Kernel\Format::bold($fileHandle);

$fileObject->header(['name', 'age'])
    ->data([['viest', 21]])
    ->setColumn('A:A', 200, $boldStyle)
    ->output();
?>


Vtiful\Kernel\Format italic

  • « Vtiful\Kernel\Format::bold
  • Vtiful\Kernel\Format::underline »
  • PHP Manual
  • Vtiful\Kernel\Format
  • Vtiful\Kernel\Format italic

Vtiful\Kernel\Format::italic

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Format::italic — Vtiful\Kernel\Format italic

Descrição

public Vtiful\Kernel\Format::italic ( resource $handle )

Vtiful\Kernel\Format italic format

Parâmetros

handle

xlsx file handle

Valor Retornado

Resource

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$excel  = new \Vtiful\Kernel\Excel($config);

$fileObject = $excel->fileName('tutorial01.xlsx');
$fileHandle = $fileObject->getHandle();

$italicStyle = \Vtiful\Kernel\Format::italic($fileHandle);

$fileObject->header(['name', 'age'])
    ->data([['viest', 21]])
    ->setColumn('A:A', 200, $italicStyle)
    ->output();
?>


Vtiful\Kernel\Format underline

  • « Vtiful\Kernel\Format::italic
  • Extensões para Controle de Processo »
  • PHP Manual
  • Vtiful\Kernel\Format
  • Vtiful\Kernel\Format underline

Vtiful\Kernel\Format::underline

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Format::underline — Vtiful\Kernel\Format underline

Descrição

public Vtiful\Kernel\Format::underline ( resource $handle , int $style )

Vtiful\Kernel\Format underline format

Parâmetros

handle

xlsx file handle

style

Vtiful\Kernel\Format constant

Valor Retornado

Resource

Exemplos

Exemplo #1 example

<?php
$config = [
    'path' => './tests'
];

$excel  = new \Vtiful\Kernel\Excel($config);

$fileObject = $excel->fileName('tutorial01.xlsx');
$fileHandle = $fileObject->getHandle();

$underlineStyle = \Vtiful\Kernel\Format::underline($fileHandle, \Vtiful\Kernel\Format::UNDERLINE_SINGLE);

$fileObject->header(['name', 'age'])
    ->data([['viest', 21]])
    ->setColumn('A:A', 200, $underlineStyle)
    ->output();
?>


Extensões para Controle de Processo

  • Eio
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Eio Funções
  • Ev
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Watchers
    • Watcher callbacks
    • Periodic watcher operation modes
    • Ev — The Ev class
    • EvCheck — The EvCheck class
    • EvChild — The EvChild class
    • EvEmbed — The EvEmbed class
    • EvFork — The EvFork class
    • EvIdle — The EvIdle class
    • EvIo — The EvIo class
    • EvLoop — The EvLoop class
    • EvPeriodic — The EvPeriodic class
    • EvPrepare — The EvPrepare class
    • EvSignal — The EvSignal class
    • EvStat — The EvStat class
    • EvTimer — The EvTimer class
    • EvWatcher — The EvWatcher class
  • Expect
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Expect Funções
  • PCNTL — Process Control
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • PCNTL Funções
  • POSIX
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • POSIX Funções
  • Execução de programa — Execução de programa do sistema
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções para Execução de programas
  • parallel
    • Introdução
    • Installation
    • Philosophy
    • Functional API
    • parallel\Runtime — The parallel\Runtime class
    • parallel\Future — The parallel\Future class
    • parallel\Channel — The parallel\Channel class
    • parallel\Events — The parallel\Events class
    • parallel\Events\Input — The parallel\Events\Input class
    • parallel\Events\Event — The parallel\Events\Event class
    • parallel\Events\Event\Type — The parallel\Events\Event\Type class
    • parallel\Sync — The parallel\Sync class
  • pthreads
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Threaded — The Threaded class
    • Thread — The Thread class
    • Worker — The Worker class
    • Collectable — The Collectable interface
    • Modifiers — Method Modifiers
    • Pool — The Pool class
    • Mutex — The Mutex class
    • Cond — The Cond class
    • Volatile — The Volatile class
  • pht
    • Introdução
    • Instalação/Configuração
    • pht\Thread — The Thread class
    • pht\Runnable — The Runnable interface
    • pht\HashTable — The HashTable class
    • pht\Vector — The Vector class
    • pht\Queue — The Queue class
    • pht\AtomicInteger — The AtomicInteger class
    • pht\Threaded — The Threaded interface
  • Semaphore — Semaphore, Shared Memory and IPC
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Semaphore Funções
  • Memória Compartilhada
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções para Memória Compartilhada
  • Sync
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • SyncMutex — The SyncMutex class
    • SyncSemaphore — The SyncSemaphore class
    • SyncEvent — The SyncEvent class
    • SyncReaderWriter — The SyncReaderWriter class
    • SyncSharedMemory — The SyncSharedMemory class


Eio

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Eio Funções
    • eio_busy — Artificially increase load. Could be useful in tests, benchmarking
    • eio_cancel — Cancels a request
    • eio_chmod — Change file/directory permissions
    • eio_chown — Change file/directory permissions
    • eio_close — Close file
    • eio_custom — Execute custom request like any other eio_* call
    • eio_dup2 — Duplicate a file descriptor
    • eio_event_loop — Polls libeio until all requests proceeded
    • eio_fallocate — Allows the caller to directly manipulate the allocated disk space for a file
    • eio_fchmod — Change file permissions
    • eio_fchown — Change file ownership
    • eio_fdatasync — Synchronize a file's in-core state with storage device
    • eio_fstat — Get file status
    • eio_fstatvfs — Get file system statistics
    • eio_fsync — Synchronize a file's in-core state with storage device
    • eio_ftruncate — Truncate a file
    • eio_futime — Change file last access and modification times
    • eio_get_event_stream — Get stream representing a variable used in internal communications with libeio
    • eio_get_last_error — Returns string describing the last error associated with a request resource
    • eio_grp_add — Adds a request to the request group
    • eio_grp_cancel — Cancels a request group
    • eio_grp_limit — Set group limit
    • eio_grp — Creates a request group
    • eio_init — (Re-)initialize Eio
    • eio_link — Create a hardlink for file
    • eio_lstat — Get file status
    • eio_mkdir — Create directory
    • eio_mknod — Create a special or ordinary file
    • eio_nop — Does nothing, except go through the whole request cycle
    • eio_npending — Returns number of finished, but unhandled requests
    • eio_nready — Returns number of not-yet handled requests
    • eio_nreqs — Returns number of requests to be processed
    • eio_nthreads — Returns number of threads currently in use
    • eio_open — Opens a file
    • eio_poll — Can be to be called whenever there are pending requests that need finishing
    • eio_read — Read from a file descriptor at given offset
    • eio_readahead — Perform file readahead into page cache
    • eio_readdir — Reads through a whole directory
    • eio_readlink — Read value of a symbolic link
    • eio_realpath — Get the canonicalized absolute pathname
    • eio_rename — Change the name or location of a file
    • eio_rmdir — Remove a directory
    • eio_seek — Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence
    • eio_sendfile — Transfer data between file descriptors
    • eio_set_max_idle — Set maximum number of idle threads
    • eio_set_max_parallel — Set maximum parallel threads
    • eio_set_max_poll_reqs — Set maximum number of requests processed in a poll
    • eio_set_max_poll_time — Set maximum poll time
    • eio_set_min_parallel — Set minimum parallel thread number
    • eio_stat — Get file status
    • eio_statvfs — Get file system statistics
    • eio_symlink — Create a symbolic link
    • eio_sync_file_range — Sync a file segment with disk
    • eio_sync — Commit buffer cache to disk
    • eio_syncfs — Calls Linux' syncfs syscall, if available
    • eio_truncate — Truncate a file
    • eio_unlink — Delete a name and possibly the file it refers to
    • eio_utime — Change file last access and modification times
    • eio_write — Write to file


Introdução

This extension provides asyncronous POSIX I/O by means of » libeio C library written by Marc Lehmann.

Nota: Esta extensão não está disponível na plataforma Windows.

Aviso

It is important to be aware that each request is executed in a thread, and the order of execution of continuously queued requests basically is unpredictable. For instance, the following piece of code is incorrect.

Exemplo #1 Incorrect requests

<?php
// Request to create symlink of $filename to $link
eio_symlink($filename, $link);

// Request to move $filename to $new_filename
eio_rename($filename, $new_filename);

// Process requests
eio_event_loop();
?>
In the example above eio_rename() request may finish before eio_symlink(). To fix it you might call eio_rename() in the callback of eio_symlink():

Exemplo #2 Calling request from a request callback

<?php
function my_symlink_done($filename, $result) {
 // Request to move $filename to $new_filename
 eio_rename($filename, "/path/to/new-name");

 // Process requests
 eio_event_loop();
}

// Request to create symlink of $filename to $link
eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_done", $filename);

// Process requests
eio_event_loop();
?>
Alternatively, you might want to create a request group:

Exemplo #3 Calling request from a request callback

<?php
/* Is called when the group requests are done */
function my_grp_done($data, $result) {
 // ...
}

function my_symlink_done($filename, $result) {
 // Create eio_rename request and add it to the group
 $req = eio_rename($filename, "/path/to/new-name");
 eio_grp_add($grp, $req);
 // You might want to add more requests...
}

// Create a request group
$grp = eio_grp("my_grp_done", "my_grp_data");

// Create eio_symlink request and add it to the group
// Pass $filename to the callback
$req = eio_symlink($filename, $link,
  EIO_PRI_DEFAULT, "my_symlink_done", $filename);
eio_grp_add($grp, $req);

// Process requests
eio_event_loop();
?>
Group is a special kind of request that could accumulate a set of regular eio requests. This could be used to create a complex request that opens, reads and closes a file.

Since version 0.3.0 alpha, a variable used in communications with libeio internally, could be retrieved with eio_get_event_stream(). The variable could be used to bind to an event loop supported by some other extension. You might organize a simple event loop where eio and libevent work together:

Exemplo #4 Using eio with libevent

<?php
function my_eio_poll($fd, $events, $arg) {
    /* Some libevent regulation might go here .. */
    if (eio_nreqs()) {
        eio_poll();
    }
    /* .. and here */
}

function my_res_cb($d, $r) {
    var_dump($r); var_dump($d);
}

$base = event_base_new();
$event = event_new();

// This stream is used to bind with libevent
$fd = eio_get_event_stream();

eio_nop(EIO_PRI_DEFAULT, "my_res_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_res_cb", "mkdir data");
/* some other eio_* calls here ... */

// set event flags
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));

// set event base
event_base_set($event, $base);

// enable event
event_add($event);

// start event loop
event_base_loop($base);

/* The same will be available via buffered libevent interface */
?>


Dependências

This extension has » libeio library embedded. So you do NOT need to install libeio separately.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/eio.

For information about manual installation, please read the file INSTALL included in the package.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

There are two resource types in this extension: request and request group.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Request priority constants:

EIO_PRI_MIN (int)
Request minimal prioriry
EIO_PRI_DEFAULT (int)
Request default prioriry
EIO_PRI_MAX (int)
Request maximal prioriry

eio_seek() whence argument:

EIO_SEEK_SET (int)
The offset is set to specified number of bytes(offset).
EIO_SEEK_CUR (int)
The offset is set to its current location plus offset bytes.
EIO_SEEK_END (int)
The offset is set to the size of the file plus offset bytes.

Flags used with eio_readdir():

EIO_READDIR_DENTS (int)
eio_readdir() flag. If specified, the result argument of the callback becomes an array with the following keys: 'names' - array of directory names 'dents' - array of struct eio_dirent-like arrays having the following keys each: 'name' - the directory name; 'type' - one of EIO_DT_* constants; 'inode' - the inode number, if available, otherwise unspecified;
EIO_READDIR_DIRS_FIRST (int)
When this flag is specified, the names will be returned in an order where likely directories come first, in optimal stat order.
EIO_READDIR_STAT_ORDER (int)
When this flag is specified, then the names will be returned in an order suitable for stat'ing each one. When planning to stat() all files in the given directory, the returned order will likely be fastest.
EIO_READDIR_FOUND_UNKNOWN (int)
EIO_DT_UNKNOWN (int)
Unknown node type(very common). Further stat() needed.
EIO_DT_FIFO (int)
FIFO node type
EIO_DT_CHR (int)
Node type
EIO_DT_MPC (int)
Multiplexed char device (v7+coherent) node type
EIO_DT_DIR (int)
Directory node type
EIO_DT_NAM (int)
Xenix special named file node type
EIO_DT_BLK (int)
Node type
EIO_DT_MPB (int)
Multiplexed block device (v7+coherent)
EIO_DT_REG (int)
Node type
EIO_DT_NWK (int)
EIO_DT_CMP (int)
HP-UX network special node type
EIO_DT_LNK (int)
Link node type
EIO_DT_SOCK (int)
Socket node type
EIO_DT_DOOR (int)
Solaris door node type
EIO_DT_WHT (int)
Node type
EIO_DT_MAX (int)
Highest node type value

Access modes for eio_open() flags argument:

EIO_O_RDONLY (int)
EIO_O_WRONLY (int)
EIO_O_RDWR (int)
EIO_O_NONBLOCK (int)
EIO_O_APPEND (int)
EIO_O_CREAT (int)
EIO_O_TRUNC (int)
EIO_O_EXCL (int)
EIO_O_FSYNC (int)

mode argument flags for eio_open():

EIO_S_IRUSR (int)
EIO_S_IWUSR (int)
EIO_S_IXUSR (int)
EIO_S_IRGRP (int)
EIO_S_IWGRP (int)
EIO_S_IXGRP (int)
EIO_S_IROTH (int)
EIO_S_IWOTH (int)
EIO_S_IXOTH (int)
EIO_S_IFREG (int)
EIO_S_IFCHR (int)
EIO_S_IFBLK (int)
EIO_S_IFIFO (int)
EIO_S_IFSOCK (int)

eio_sync_file_range() flags:

EIO_SYNC_FILE_RANGE_WAIT_BEFORE (int)
EIO_SYNC_FILE_RANGE_WRITE (int)
EIO_SYNC_FILE_RANGE_WAIT_AFTER (int)

eio_fallocate() flags:

EIO_FALLOC_FL_KEEP_SIZE (int)

Nota:

EIO_S_I* constants have the same meaning as their S_I* POSIX counterparts.

Nota:

EIO_SYNC_FILE_* constants have the same meaning as their SYNC_FILE_** counterparts.

Nota:

EIO_O_* constants have the same meaning as their O_* POSIX counterparts.


Exemplos

Exemplo #1 Cancelling a request

<?php
 /* Is called when eio_nop() finished */
 function my_nop_cb($data, $result) {
  echo "my_nop ", $data, "\n";
 }

// This eio_nop() call will be cancelled
$req = eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "1");
var_dump($req);
eio_cancel($req);

// This time eio_nop() will be processed
eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "2");

// Process requests
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

resource(4) of type (EIO Request Descriptor)
my_nop 2

Exemplo #2 Calling eio_chmod()

<?php
$temp_filename = dirname(__FILE__) ."/eio-temp-file.tmp";
touch($temp_filename);

/* Is called when eio_chmod() finished */
function my_chmod_callback($data, $result) {
    global $temp_filename;

    if ($result == 0 && !is_readable($temp_filename) && is_writable($temp_filename)) {
        echo "eio_chmod_ok";
    }

    @unlink($temp_filename);
}

eio_chmod($temp_filename, 0200, EIO_PRI_DEFAULT, "my_chmod_callback");
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

eio_chmod_ok

Exemplo #3 Making a custom request

<?php
/* Callback for the custom callback */
function my_custom_callback($data, $result) {
    var_dump($data);
    var_dump(count($result));
    var_dump($result['data_modified']);
    var_dump($result['result']);
}

/* The custom request */
function my_custom($data) {
    var_dump($data);

    $result  = array(
        'result'        => 1001,
        'data_modified' => "my custom data",
    );

    return $result;
}

$data = "my_custom_data";
$req = eio_custom("my_custom", EIO_PRI_DEFAULT, "my_custom_callback", $data);
var_dump($req);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

resource(4) of type (EIO Request Descriptor)
string(14) "my_custom_data"
string(14) "my_custom_data"
int(2)
string(14) "my custom data"
int(1001)

Exemplo #4 Grouping requests

<?php
/*
 * Create a group request to open, read and close a file
 */

$temp_filename = dirname(__FILE__) ."/eio-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "some data");
fclose($fp);

/* Is called when the group requests are done */
function my_grp_done($data, $result) {
 global $temp_filename;
 var_dump($result == 0);
 @unlink($temp_filename);
}

/* Is called when eio_open() done */
function my_grp_file_opened_callback($data, $result) {
 global $my_file_fd, $grp;

 $my_file_fd = $result;

 var_dump($result > 0);

 // Create eio_read() request and add it to the group
 $req = eio_read($my_file_fd, 4, 0, EIO_PRI_DEFAULT, "my_grp_file_read_callback");
 eio_grp_add($grp, $req);
}

/* Is called when eio_read() done */
function my_grp_file_read_callback($data, $result) {
 global $my_file_fd, $grp;

 var_dump($result);

 // Create eio_close() request and add it to the group
 $req = eio_close($my_file_fd);
 eio_grp_add($grp, $req);
}

$grp = eio_grp("my_grp_done", "my_grp_data");

// Create eio_open() request and add it to the group
$req = eio_open($temp_filename, EIO_O_RDWR | EIO_O_APPEND , NULL,
  EIO_PRI_DEFAULT, "my_grp_file_opened_callback", NULL);
eio_grp_add($grp, $req);
var_dump($grp);

eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

resource(6) of type (EIO Group Descriptor)
bool(true)
string(4) "some"
bool(true)

Exemplo #5 Using eio with libevent extension

<?php
function my_eio_poll($fd, $events, $arg) {
    /* Some libevent regulation might go here .. */
    if (eio_nreqs()) {
        eio_poll();
    }
    /* .. and here */
}

function my_nop_cb($d, $r) {
    var_dump($r); var_dump($d);
}

$base = event_base_new();
$event = event_new();

$fd = eio_get_event_stream();
var_dump($fd);

eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_nop_cb", "nop data");
/* some other eio_* calls here ... */

// set event flags
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));

// set event base
event_base_set($event, $base);

// enable event
event_add($event);

// start event loop
event_base_loop($base);

/* The same will be available via buffered libevent interface */
?>

O exemplo acima irá imprimir algo similar à:

int(3)
int(0)
string(8) "nop data"
int(0)
string(10) "mkdir data"

Exemplo #6 Using eio with event extension

<?php
$base = new EventBase();

// Retrieve eio polling stream.
// Note, this variable should be alive as long as the event loop is running.
$eio_stream = eio_get_event_stream();

// Bind eio polling stream to the event loop.
$poll_event = new Event($base, $eio_stream, Event::READ, function () {
  if (eio_nreqs()) {
    eio_poll();
  }
});
$poll_event->add();

// Add eio jobs
eio_nop(EIO_PRI_DEFAULT, function () {
  echo "eio_nop\n";
});

// Add events
$timer = Event::timer($base, function () {
  echo "2 seconds elapsed\n";
});
$timer->add(2);

// Dispatch events.
$base->dispatch();
?>

O exemplo acima irá imprimir algo similar à:

eio_nop
2 seconds elapsed


Eio Funções

Índice

  • eio_busy — Artificially increase load. Could be useful in tests, benchmarking
  • eio_cancel — Cancels a request
  • eio_chmod — Change file/directory permissions
  • eio_chown — Change file/directory permissions
  • eio_close — Close file
  • eio_custom — Execute custom request like any other eio_* call
  • eio_dup2 — Duplicate a file descriptor
  • eio_event_loop — Polls libeio until all requests proceeded
  • eio_fallocate — Allows the caller to directly manipulate the allocated disk space for a file
  • eio_fchmod — Change file permissions
  • eio_fchown — Change file ownership
  • eio_fdatasync — Synchronize a file's in-core state with storage device
  • eio_fstat — Get file status
  • eio_fstatvfs — Get file system statistics
  • eio_fsync — Synchronize a file's in-core state with storage device
  • eio_ftruncate — Truncate a file
  • eio_futime — Change file last access and modification times
  • eio_get_event_stream — Get stream representing a variable used in internal communications with libeio
  • eio_get_last_error — Returns string describing the last error associated with a request resource
  • eio_grp_add — Adds a request to the request group
  • eio_grp_cancel — Cancels a request group
  • eio_grp_limit — Set group limit
  • eio_grp — Creates a request group
  • eio_init — (Re-)initialize Eio
  • eio_link — Create a hardlink for file
  • eio_lstat — Get file status
  • eio_mkdir — Create directory
  • eio_mknod — Create a special or ordinary file
  • eio_nop — Does nothing, except go through the whole request cycle
  • eio_npending — Returns number of finished, but unhandled requests
  • eio_nready — Returns number of not-yet handled requests
  • eio_nreqs — Returns number of requests to be processed
  • eio_nthreads — Returns number of threads currently in use
  • eio_open — Opens a file
  • eio_poll — Can be to be called whenever there are pending requests that need finishing
  • eio_read — Read from a file descriptor at given offset
  • eio_readahead — Perform file readahead into page cache
  • eio_readdir — Reads through a whole directory
  • eio_readlink — Read value of a symbolic link
  • eio_realpath — Get the canonicalized absolute pathname
  • eio_rename — Change the name or location of a file
  • eio_rmdir — Remove a directory
  • eio_seek — Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence
  • eio_sendfile — Transfer data between file descriptors
  • eio_set_max_idle — Set maximum number of idle threads
  • eio_set_max_parallel — Set maximum parallel threads
  • eio_set_max_poll_reqs — Set maximum number of requests processed in a poll
  • eio_set_max_poll_time — Set maximum poll time
  • eio_set_min_parallel — Set minimum parallel thread number
  • eio_stat — Get file status
  • eio_statvfs — Get file system statistics
  • eio_symlink — Create a symbolic link
  • eio_sync_file_range — Sync a file segment with disk
  • eio_sync — Commit buffer cache to disk
  • eio_syncfs — Calls Linux' syncfs syscall, if available
  • eio_truncate — Truncate a file
  • eio_unlink — Delete a name and possibly the file it refers to
  • eio_utime — Change file last access and modification times
  • eio_write — Write to file


Artificially increase load. Could be useful in tests, benchmarking

  • « Eio Funções
  • eio_cancel »
  • PHP Manual
  • Eio Funções
  • Artificially increase load. Could be useful in tests, benchmarking

eio_busy

(PECL eio >= 0.0.1dev)

eio_busy — Artificially increase load. Could be useful in tests, benchmarking

Descrição

eio_busy ( int $delay , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_busy() artificially increases load taking delay seconds to execute. May be used for debugging, or benchmarking.

Parâmetros

delay

Delay in seconds

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

This callback is called when all the group requests are done.

data

Arbitrary variable passed to callback.

Valor Retornado

eio_busy() returns request resource on success or false on error.

Veja Também

  • eio_nop() - Does nothing, except go through the whole request cycle


Cancels a request

  • « eio_busy
  • eio_chmod »
  • PHP Manual
  • Eio Funções
  • Cancels a request

eio_cancel

(PECL eio >= 0.0.1dev)

eio_cancel — Cancels a request

Descrição

eio_cancel ( resource $req ) : void

eio_cancel() cancels a request specified by req

Parâmetros

req

The request resource

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 eio_cancel() example

<?php
 /* Is called when eio_nop() finished */
 function my_nop_cb($data, $result) {
  echo "my_nop ", $data, "\n";
 }

// This eio_nop() call will be cancelled
$req = eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "1");
var_dump($req);
eio_cancel($req);

// This time eio_nop() will be processed
eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "2");

// Process requests
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

resource(4) of type (EIO Request Descriptor)
my_nop 2

Veja Também

  • eio_grp_cancel() - Cancels a request group


Change file/directory permissions

  • « eio_cancel
  • eio_chown »
  • PHP Manual
  • Eio Funções
  • Change file/directory permissions

eio_chmod

(PECL eio >= 0.0.1dev)

eio_chmod — Change file/directory permissions

Descrição

eio_chmod ( string $path , int $mode , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_chmod() changes file, or directory permissions. The new permissions are specified by mode.

Parâmetros

path

Path to the target file or directory

Aviso

Evite utilizar caminhos relativos

mode

The new permissions. E.g. 0644.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_chmod() returns request resource on success or false on error.

Veja Também

  • eio_chown() - Change file/directory permissions


Change file/directory permissions

  • « eio_chmod
  • eio_close »
  • PHP Manual
  • Eio Funções
  • Change file/directory permissions

eio_chown

(PECL eio >= 0.0.1dev)

eio_chown — Change file/directory permissions

Descrição

eio_chown ( string $path , int $uid , int $gid = -1 , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

Changes file, or directory permissions.

Parâmetros

path

Path to file or directory.

Aviso

Evite utilizar caminhos relativos

uid

User ID. Is ignored when equal to -1.

gid

Group ID. Is ignored when equal to -1.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_chown() returns request resource on success or false on error.

Veja Também

  • eio_chmod() - Change file/directory permissions


Close file

  • « eio_chown
  • eio_custom »
  • PHP Manual
  • Eio Funções
  • Close file

eio_close

(PECL eio >= 0.0.1dev)

eio_close — Close file

Descrição

eio_close ( mixed $fd , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_close() closes file specified by fd.

Parâmetros

fd

Stream, Socket resource, or numeric file descriptor

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_close() returns request resource on success or false on error.

Veja Também

  • eio_open() - Opens a file


Execute custom request like any other eio_* call

  • « eio_close
  • eio_dup2 »
  • PHP Manual
  • Eio Funções
  • Execute custom request like any other eio_* call

eio_custom

(PECL eio >= 0.0.1dev)

eio_custom — Execute custom request like any other eio_* call

Descrição

eio_custom ( callable $execute , int $pri , callable $callback , mixed $data = NULL ) : resource

eio_custom() executes custom function specified by execute processing it just like any other eio_* call.

Parâmetros

execute

Specifies the request function that should match the following prototype:

      mixed execute(mixed data);
callback is event completion callback that should match the following prototype:
      void callback(mixed data, mixed result);
data is the data passed to execute via data argument without modifications result value returned by execute

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_custom() returns request resource on success or false on error.

Exemplos

Exemplo #1 eio_custom() example

<?php
/* Callback for the custom callback */
function my_custom_callback($data, $result) {
    var_dump($data);
    var_dump(count($result));
    var_dump($result['data_modified']);
    var_dump($result['result']);
}

/* The custom request */
function my_custom($data) {
    var_dump($data);

    $result  = array(
        'result'        => 1001,
        'data_modified' => "my custom data",
    );

    return $result;
}

$data = "my_custom_data";
$req = eio_custom("my_custom", EIO_PRI_DEFAULT, "my_custom_callback", $data);
var_dump($req);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

resource(4) of type (EIO Request Descriptor)
string(14) "my_custom_data"
string(14) "my_custom_data"
int(2)
string(14) "my custom data"
int(1001)


Duplicate a file descriptor

  • « eio_custom
  • eio_event_loop »
  • PHP Manual
  • Eio Funções
  • Duplicate a file descriptor

eio_dup2

(PECL eio >= 0.0.1dev)

eio_dup2 — Duplicate a file descriptor

Descrição

eio_dup2 ( mixed $fd , mixed $fd2 , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_dup2() duplicates file descriptor.

Parâmetros

fd

Source stream, Socket resource, or numeric file descriptor

fd2

Target stream, Socket resource, or numeric file descriptor

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_dup2() returns request resource on success or false on error.


Polls libeio until all requests proceeded

  • « eio_dup2
  • eio_fallocate »
  • PHP Manual
  • Eio Funções
  • Polls libeio until all requests proceeded

eio_event_loop

(PECL eio >= 0.0.1dev)

eio_event_loop — Polls libeio until all requests proceeded

Descrição

eio_event_loop ( ) : bool

eio_event_loop() polls libeio until all requests proceeded.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

eio_event_loop() returns true on success or false on error.

Exemplos

Exemplo #1 eio_event_loop() example

<?php
$temp_filename = "eio-temp-file.tmp";
touch($temp_filename);

/* Is called when eio_chmod() finished */
function my_chmod_callback($data, $result) {
    global $temp_filename;

    if ($result == 0 && !is_readable($temp_filename) && is_writable($temp_filename)) {
        echo "eio_chmod_ok";
    }

    @unlink($temp_filename);
}

eio_chmod($temp_filename, 0200, EIO_PRI_DEFAULT, "my_chmod_callback");
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

eio_chmod_ok

Veja Também

  • eio_poll() - Can be to be called whenever there are pending requests that need finishing


Allows the caller to directly manipulate the allocated disk space for a file

  • « eio_event_loop
  • eio_fchmod »
  • PHP Manual
  • Eio Funções
  • Allows the caller to directly manipulate the allocated disk space for a file

eio_fallocate

(PECL eio >= 0.0.1dev)

eio_fallocate — Allows the caller to directly manipulate the allocated disk space for a file

Descrição

eio_fallocate ( mixed $fd , int $mode , int $offset , int $length , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_fallocate() allows the caller to directly manipulate the allocated disk space for the file specified by fd file descriptor for the byte range starting at offset and continuing for length bytes.

Nota: File should be opened for writing

EIO_O_CREAT should be logically OR'd with EIO_O_WRONLY, or EIO_O_RDWR

Parâmetros

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open().

mode

Currently only one flag is supported for mode: EIO_FALLOC_FL_KEEP_SIZE (the same as POSIX constant FALLOC_FL_KEEP_SIZE).

offset

Specifies start of the byte range.

length

Specifies length the byte range.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_fallocate() returns request resource on success or false on error.


Change file permissions

  • « eio_fallocate
  • eio_fchown »
  • PHP Manual
  • Eio Funções
  • Change file permissions

eio_fchmod

(PECL eio >= 0.0.1dev)

eio_fchmod — Change file permissions

Descrição

eio_fchmod ( mixed $fd , int $mode , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_fchmod() changes permissions for the file specified by fd file descriptor.

Parâmetros

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open().

mode

The new permissions. E.g. 0644.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_fchmod() returns request resource on success or false on error.

Veja Também

  • eio_fchown() - Change file ownership


Change file ownership

  • « eio_fchmod
  • eio_fdatasync »
  • PHP Manual
  • Eio Funções
  • Change file ownership

eio_fchown

(PECL eio >= 0.0.1dev)

eio_fchown — Change file ownership

Descrição

eio_fchown ( mixed $fd , int $uid , int $gid = -1 , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_fchown() changes ownership of the file specified by fd file descriptor.

Parâmetros

fd

Stream, Socket resource, or numeric file descriptor.

uid

User ID. Is ignored when equal to -1.

gid

Group ID. Is ignored when equal to -1.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Veja Também

  • eio_fchmod() - Change file permissions


Synchronize a file's in-core state with storage device

  • « eio_fchown
  • eio_fstat »
  • PHP Manual
  • Eio Funções
  • Synchronize a file's in-core state with storage device

eio_fdatasync

(PECL eio >= 0.0.1dev)

eio_fdatasync — Synchronize a file's in-core state with storage device

Descrição

eio_fdatasync ( mixed $fd , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_fdatasync() synchronizes a file's in-core state with storage device.

Parâmetros

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open().

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_fdatasync() returns request resource on success or false on error.


Get file status

  • « eio_fdatasync
  • eio_fstatvfs »
  • PHP Manual
  • Eio Funções
  • Get file status

eio_fstat

(PECL eio >= 0.0.1dev)

eio_fstat — Get file status

Descrição

eio_fstat ( mixed $fd , int $pri , callable $callback , mixed $data = ? ) : resource

eio_fstat() returns file status information in result argument of callback

Parâmetros

fd

Stream, Socket resource, or numeric file descriptor.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_busy() returns request resource on success or false on error.

Exemplos

Exemplo #1 eio_lstat() example

<?php
// Create temporary file
$tmp_filename = dirname(__FILE__) ."/eio-file.tmp";
touch($tmp_filename);

/* Is called when eio_fstat() done */
function my_res_cb($data, $result) {
 // Should output array with stat info
 var_dump($result);

 if ($data['fd']) {
  // Close temporary file
  eio_close($data['fd']);
  eio_event_loop();
 }
 // Remove temporary file
 @unlink($data['file']);
}

/* Is called when eio_open() done */
function my_open_cb($data, $result) {
 // Prepare data for callback
 $d = array(
  'fd'  => $result,
  'file'=> $data
 );
 // Request stat info
 eio_fstat($result, EIO_PRI_DEFAULT, "my_res_cb", $d);
 // Process request(s)
 eio_event_loop();
}

// Open temporary file
eio_open($tmp_filename, EIO_O_RDONLY, NULL, EIO_PRI_DEFAULT,
  "my_open_cb", $tmp_filename);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

array(12) {
 ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2489159)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318239506)
  ["st_mtime"]=>
  int(1318239506)
  ["st_ctime"]=>
  int(1318239506)
}

Veja Também

  • eio_lstat() - Get file status
  • eio_stat() - Get file status


Get file system statistics

  • « eio_fstat
  • eio_fsync »
  • PHP Manual
  • Eio Funções
  • Get file system statistics

eio_fstatvfs

(PECL eio >= 0.0.1dev)

eio_fstatvfs — Get file system statistics

Descrição

eio_fstatvfs ( mixed $fd , int $pri , callable $callback , mixed $data = ? ) : resource

eio_fstatvfs() returns file system statistics in result of callback.

Parâmetros

fd

A file descriptor of a file within the mounted file system.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_fstatvfs() returns request resource on success or false on error.

Veja Também

  • eio_statvfs() - Get file system statistics


Synchronize a file's in-core state with storage device

  • « eio_fstatvfs
  • eio_ftruncate »
  • PHP Manual
  • Eio Funções
  • Synchronize a file's in-core state with storage device

eio_fsync

(PECL eio >= 0.0.1dev)

eio_fsync — Synchronize a file's in-core state with storage device

Descrição

eio_fsync ( mixed $fd , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

Synchronize a file's in-core state with storage device

Parâmetros

fd

Stream, Socket resource, or numeric file descriptor.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_fsync() returns request resource on success or false on error.

Veja Também

  • eio_sync() - Commit buffer cache to disk


Truncate a file

  • « eio_fsync
  • eio_futime »
  • PHP Manual
  • Eio Funções
  • Truncate a file

eio_ftruncate

(PECL eio >= 0.0.1dev)

eio_ftruncate — Truncate a file

Descrição

eio_ftruncate ( mixed $fd , int $offset = 0 , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_ftruncate() causes a regular file referenced by fd file descriptor to be truncated to precisely length bytes.

Parâmetros

fd

Stream, Socket resource, or numeric file descriptor.

offset

Offset from beginning of the file

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_ftruncate() returns request resource on success or false on error.

Veja Também

  • eio_truncate() - Truncate a file


Change file last access and modification times

  • « eio_ftruncate
  • eio_get_event_stream »
  • PHP Manual
  • Eio Funções
  • Change file last access and modification times

eio_futime

(PECL eio >= 0.0.1dev)

eio_futime — Change file last access and modification times

Descrição

eio_futime ( mixed $fd , float $atime , float $mtime , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_futime() changes file last access and modification times.

Parâmetros

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open()

atime

Access time

mtime

Modification time

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_futime() returns request resource on success or false on error.

Veja Também

  • eio_utime() - Change file last access and modification times


Get stream representing a variable used in internal communications with libeio

  • « eio_futime
  • eio_get_last_error »
  • PHP Manual
  • Eio Funções
  • Get stream representing a variable used in internal communications with libeio

eio_get_event_stream

(PECL eio >= 0.3.1b)

eio_get_event_stream — Get stream representing a variable used in internal communications with libeio

Descrição

eio_get_event_stream ( ) : mixed

eio_get_event_stream() acquires stream representing a variable used in internal communications with libeio. Could be used to bind with some event loop provided by other PECL extension, for example libevent.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

eio_get_event_stream() returns stream on success; otherwise, null

Exemplos

Exemplo #1 Using eio with libevent

<?php
function my_eio_poll($fd, $events, $arg) {
    /* Some libevent regulation might go here .. */
    if (eio_nreqs()) {
        eio_poll();
    }
    /* .. and here */
}

function my_res_cb($d, $r) {
    var_dump($r); var_dump($d);
}

$base = event_base_new();
$event = event_new();

$fd = eio_get_event_stream();
var_dump($fd);

eio_nop(EIO_PRI_DEFAULT, "my_res_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_res_cb", "mkdir data");
/* some other eio_* calls here ... */

// set event flags
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));

// set event base
event_base_set($event, $base);

// enable event
event_add($event);

// start event loop
event_base_loop($base);

/* The same will be available via buffered libevent interface */
?>

O exemplo acima irá imprimir algo similar à:

int(3)
int(0)
string(8) "nop data"
int(0)
string(10) "mkdir data"


Returns string describing the last error associated with a request resource

  • « eio_get_event_stream
  • eio_grp_add »
  • PHP Manual
  • Eio Funções
  • Returns string describing the last error associated with a request resource

eio_get_last_error

(PECL eio >= 1.0.0)

eio_get_last_error — Returns string describing the last error associated with a request resource

Descrição

eio_get_last_error ( resource $req ) : string

eio_get_last_error() returns string describing the last error associated with req.

Parâmetros

req

The request resource

Valor Retornado

eio_get_last_error() returns string describing the last error associated with the request resource specified by req.

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Adds a request to the request group

  • « eio_get_last_error
  • eio_grp_cancel »
  • PHP Manual
  • Eio Funções
  • Adds a request to the request group

eio_grp_add

(PECL eio >= 0.0.1dev)

eio_grp_add — Adds a request to the request group

Descrição

eio_grp_add ( resource $grp , resource $req ) : void

eio_grp_add() adds a request to the request group.

Parâmetros

grp

The request group resource returned by eio_grp()

req

The request resource

Valor Retornado

eio_grp_add() doesn't return a value.

Exemplos

Exemplo #1 Grouping requests

<?php
/*
 * Create a group request to open, read and close a file
 */

// Create temporary file and write some bytes to it
$temp_filename = dirname(__FILE__) ."/eio-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "some data");
fclose($fp);

/* Is called when the group requests are done */
function my_grp_done($data, $result) {
 var_dump($result == 0);
 @unlink($data);
}

/* Is called when eio_open() done */
function my_grp_file_opened_callback($data, $result) {
 global $grp;

 // $result should contain the file descriptor
 var_dump($result > 0);

 // Create eio_read() request and add it to the group
 // Pass file descriptor to the callback
 $req = eio_read($result, 4, 0,
   EIO_PRI_DEFAULT, "my_grp_file_read_callback", $result);
 eio_grp_add($grp, $req);
}

/* Is called when eio_read() done */
function my_grp_file_read_callback($data, $result) {
 global $grp;

 // Read bytes
 var_dump($result);

 // Create eio_close() request and add it to the group
 // $data should contain the file descriptor
 $req = eio_close($data);
 eio_grp_add($grp, $req);
}

// Create request group
$grp = eio_grp("my_grp_done", $temp_filename);
var_dump($grp);

// Create eio_open() request and add it to the group
$req = eio_open($temp_filename, EIO_O_RDWR | EIO_O_APPEND , NULL,
  EIO_PRI_DEFAULT, "my_grp_file_opened_callback", NULL);
eio_grp_add($grp, $req);

// Process requests
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

resource(6) of type (EIO Group Descriptor)
bool(true)
string(4) "some"
bool(true)

Veja Também

  • eio_grp() - Creates a request group
  • eio_grp_cancel() - Cancels a request group
  • eio_grp_limit() - Set group limit


Cancels a request group

  • « eio_grp_add
  • eio_grp_limit »
  • PHP Manual
  • Eio Funções
  • Cancels a request group

eio_grp_cancel

(PECL eio >= 0.0.1dev)

eio_grp_cancel — Cancels a request group

Descrição

eio_grp_cancel ( resource $grp ) : void

eio_grp_cancel() cancels a group request specified by grp request group resource.

Parâmetros

grp

The request group resource returned by eio_grp().

Valor Retornado

Não há valor retornado.

Veja Também

  • eio_grp() - Creates a request group
  • eio_grp_add() - Adds a request to the request group


Set group limit

  • « eio_grp_cancel
  • eio_grp »
  • PHP Manual
  • Eio Funções
  • Set group limit

eio_grp_limit

(PECL eio >= 0.0.1dev)

eio_grp_limit — Set group limit

Descrição

eio_grp_limit ( resource $grp , int $limit ) : void

Limit number of requests in the request group.

Parâmetros

grp

The request group resource.

limit

Number of requests in the group.

Valor Retornado

Não há valor retornado.

Veja Também

  • eio_grp_add() - Adds a request to the request group


Creates a request group

  • « eio_grp_limit
  • eio_init »
  • PHP Manual
  • Eio Funções
  • Creates a request group

eio_grp

(PECL eio >= 0.0.1dev)

eio_grp — Creates a request group

Descrição

eio_grp ( callable $callback , string $data = NULL ) : resource

eio_grp() creates a request group.

Parâmetros

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_grp() returns request group resource on success or false on error.

Exemplos

Exemplo #1 eio_grp() example

<?php
$temp_filename = dirname(__FILE__) ."/eio-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "some data");
fclose($fp);
$my_file_fd = NULL;

/* Is called when the group requests are done */
function my_grp_done($data, $result) {
 // Remove the file, if it still exists
 @unlink($data);
}

/* Is called when the temporary file is opened */
function my_grp_file_opened_callback($data, $result) {
 global $my_file_fd, $grp;

 $my_file_fd = $result;

 $req = eio_read($my_file_fd, 4, 0,
   EIO_PRI_DEFAULT, "my_grp_file_read_callback");
 eio_grp_add($grp, $req);
}

/* Is called when the file is read */
function my_grp_file_read_callback($data, $result) {
 global $my_file_fd, $grp;

 var_dump($result);

 // Create request to close the file
 $req = eio_close($my_file_fd);

 // Add request to the group
 eio_grp_add($grp, $req);
}

// Create request group
$grp = eio_grp("my_grp_done", $temp_filename);

// Create request
$req = eio_open($temp_filename, EIO_O_RDWR | EIO_O_APPEND , NULL,
  EIO_PRI_DEFAULT, "my_grp_file_opened_callback", NULL);

// Add request to the group
eio_grp_add($grp, $req);

// Process requests
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

string(4) "some"

Veja Também

  • eio_grp_cancel() - Cancels a request group
  • eio_grp_add() - Adds a request to the request group


(Re-)initialize Eio

  • « eio_grp
  • eio_link »
  • PHP Manual
  • Eio Funções
  • (Re-)initialize Eio

eio_init

(PECL eio = 1.0.0)

eio_init — (Re-)initialize Eio

Descrição

eio_init ( ) : void

eio_init() (re-)initializes Eio. It allocates memory for internal structures of libeio and Eio itself. You may call eio_init() before using Eio functions. Otherwise it will be called internally first time you invoke an Eio function in a process.

Aviso

Esta funcionalidade obsoleta será certamente removida no futuro. Since Eio 1.1.0 eio_init() is deprecated. In Eio 1.0.0 because of » libeio's restrictions you must call eio_init() in child process, if you fork one by any means. You have to avoid using Eio in parent process, if you use it in childs.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Create a hardlink for file

  • « eio_init
  • eio_lstat »
  • PHP Manual
  • Eio Funções
  • Create a hardlink for file

eio_link

(PECL eio >= 0.0.1dev)

eio_link — Create a hardlink for file

Descrição

eio_link ( string $path , string $new_path , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_link() creates a hardlink new_path for a file specified by path.

Parâmetros

path

Source file path.

new_path

Target file path.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

Exemplos

Exemplo #1 eio_link() example

<?php
$filename = dirname(__FILE__)."/symlink.dat";
touch($filename);
$link = dirname(__FILE__)."/symlink.link";
$hardlink = dirname(__FILE__)."/hardlink.link";

function my_hardlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && !is_link($data));
    @unlink($data);

    eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_cb", $link);
}

function my_symlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && is_link($data));

    if (!eio_readlink($data, EIO_PRI_DEFAULT, "my_readlink_cb", NULL)) {
        @unlink($link);
        @unlink($filename);
    }
}

function my_readlink_cb($data, $result) {
    global $filename, $link;
    var_dump($result);

    @unlink($link);
    @unlink($filename);
}

eio_link($filename, $hardlink, EIO_PRI_DEFAULT, "my_hardlink_cb", $hardlink);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
string(%d) "%ssymlink.dat"

Veja Também

  • eio_symlink() - Create a symbolic link


Get file status

  • « eio_link
  • eio_mkdir »
  • PHP Manual
  • Eio Funções
  • Get file status

eio_lstat

(PECL eio >= 0.0.1dev)

eio_lstat — Get file status

Descrição

eio_lstat ( string $path , int $pri , callable $callback , mixed $data = NULL ) : resource

eio_lstat() returns file status information in result argument of callback

Parâmetros

path

The file path

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_lstat() returns request resource on success or false on error.

Exemplos

Exemplo #1 eio_lstat() example

<?php
$tmp_filename = dirname(__FILE__). "/eio-file.tmp";
touch($tmp_filename);

function my_res_cb($data, $result) {
    var_dump($data);
    var_dump($result);
}

function my_open_cb($data, $result) {
    eio_close($result);
    eio_event_loop();

    @unlink($data);
}

eio_lstat($tmp_filename, EIO_PRI_DEFAULT, "my_res_cb", "eio_lstat");
eio_open($tmp_filename, EIO_O_RDONLY, NULL,
 EIO_PRI_DEFAULT, "my_open_cb", $tmp_filename);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

string(9) "eio_lstat"
array(12) {
 ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2099197)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318235777)
  ["st_mtime"]=>
  int(1318235777)
  ["st_ctime"]=>
  int(1318235777)
}

Veja Também

  • eio_stat() - Get file status
  • eio_fstat() - Get file status


Create directory

  • « eio_lstat
  • eio_mknod »
  • PHP Manual
  • Eio Funções
  • Create directory

eio_mkdir

(PECL eio >= 0.0.1dev)

eio_mkdir — Create directory

Descrição

eio_mkdir ( string $path , int $mode , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_mkdir() creates directory with specified access mode.

Parâmetros

path

Path for the new directory.

mode

Access mode, e.g. 0755

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_mkdir() returns request resource on success or false on error.

Exemplos

Exemplo #1 eio_mkdir() example

<?php
$temp_dirname = "eio-temp-dir";

/* Is called when eio_mkdir() finishes */
function my_mkdir_callback($data, $result) {
 if ($result == 0 && is_dir($temp_dirname)
   && !is_readable($temp_dirname)
   && is_writable($temp_dirname)) {
  echo "eio_mkdir_ok";
 }

 // Remove directory
    if (file_exists($data))
        rmdir($temp_dirname);
}

// Create directory with access mode 0300
eio_mkdir($temp_dirname, 0300, EIO_PRI_DEFAULT, "my_mkdir_callback", $temp_dirname);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

eio_mkdir_ok

Veja Também

  • eio_rmdir() - Remove a directory


Create a special or ordinary file

  • « eio_mkdir
  • eio_nop »
  • PHP Manual
  • Eio Funções
  • Create a special or ordinary file

eio_mknod

(PECL eio >= 0.0.1dev)

eio_mknod — Create a special or ordinary file

Descrição

eio_mknod ( string $path , int $mode , int $dev , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_mknod() creates ordinary or special(often) file.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

path

Path for the new node(file).

mode

Specifies both the permissions to use and the type of node to be created. It should be a combination (using bitwise OR) of one of the file types listed below and the permissions for the new node(e.g. 0640). Possible file types are: EIO_S_IFREG(regular file), EIO_S_IFCHR(character file), EIO_S_IFBLK(block special file), EIO_S_IFIFO(FIFO - named pipe) and EIO_S_IFSOCK(UNIX domain socket). To specify permissions EIO_S_I* constants could be used.

dev

If the file type is EIO_S_IFCHR or EIO_S_IFBLK then dev specifies the major and minor numbers of the newly created device special file. Otherwise dev ignored. See mknod(2) man page for details.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_mknod() returns request resource on success or false on error.

Exemplos

Exemplo #1 eio_mknod() example

<?php
// FIFO name
$temp_filename = "/tmp/eio-temp-fifo";

/* Is called when eio_mknod() finishes */
function my_mknod_callback($data, $result) {
    $s = stat($data);
    var_dump($s);

    if ($result == 0) {
        echo "eio_mknod_ok";
    }

    @unlink($data);
}

eio_mknod($temp_filename, EIO_S_IFIFO, 0,
    EIO_PRI_DEFAULT, "my_mknod_callback", $temp_filename);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

array(26) {
  [0]=>
  int(17)
  [1]=>
  int(2337608)
  [2]=>
  int(4096)
  [3]=>
  int(1)
  [4]=>
  int(1000)
  [5]=>
  int(100)
  [6]=>
  int(0)
  [7]=>
  int(0)
  [8]=>
  int(1318241261)
  [9]=>
  int(1318241261)
  [10]=>
  int(1318241261)
  [11]=>
  int(4096)
  [12]=>
  int(0)
  ["dev"]=>
  int(17)
  ["ino"]=>
  int(2337608)
  ["mode"]=>
  int(4096)
  ["nlink"]=>
  int(1)
  ["uid"]=>
  int(1000)
  ["gid"]=>
  int(100)
  ["rdev"]=>
  int(0)
  ["size"]=>
  int(0)
  ["atime"]=>
  int(1318241261)
  ["mtime"]=>
  int(1318241261)
  ["ctime"]=>
  int(1318241261)
  ["blksize"]=>
  int(4096)
  ["blocks"]=>
  int(0)
}
eio_mknod_ok

Veja Também

  • eio_open() - Opens a file


Does nothing, except go through the whole request cycle

  • « eio_mknod
  • eio_npending »
  • PHP Manual
  • Eio Funções
  • Does nothing, except go through the whole request cycle

eio_nop

(PECL eio >= 0.0.1dev)

eio_nop — Does nothing, except go through the whole request cycle

Descrição

eio_nop ( int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_nop() does nothing, except go through the whole request cycle. Could be useful in debugging.

Parâmetros

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_nop() returns request resource on success or false on error.

Veja Também

  • eio_busy() - Artificially increase load. Could be useful in tests, benchmarking


Returns number of finished, but unhandled requests

  • « eio_nop
  • eio_nready »
  • PHP Manual
  • Eio Funções
  • Returns number of finished, but unhandled requests

eio_npending

(PECL eio >= 0.0.1dev)

eio_npending — Returns number of finished, but unhandled requests

Descrição

eio_npending ( ) : int

eio_npending() returns number of finished, but unhandled requests

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

eio_npending() returns number of finished, but unhandled requests.

Veja Também

  • eio_nreqs() - Returns number of requests to be processed
  • eio_nready() - Returns number of not-yet handled requests
  • eio_nthreads() - Returns number of threads currently in use


Returns number of not-yet handled requests

  • « eio_npending
  • eio_nreqs »
  • PHP Manual
  • Eio Funções
  • Returns number of not-yet handled requests

eio_nready

(PECL eio >= 0.0.1dev)

eio_nready — Returns number of not-yet handled requests

Descrição

eio_nready ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

eio_nready() returns number of not-yet handled requests

Veja Também

  • eio_nreqs() - Returns number of requests to be processed
  • eio_nready()
  • eio_nthreads() - Returns number of threads currently in use


Returns number of requests to be processed

  • « eio_nready
  • eio_nthreads »
  • PHP Manual
  • Eio Funções
  • Returns number of requests to be processed

eio_nreqs

(PECL eio >= 0.0.1dev)

eio_nreqs — Returns number of requests to be processed

Descrição

eio_nreqs ( ) : int

eio_nreqs() could be called in a custom loop calling eio_poll().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

eio_nreqs() returns number of requests to be processed.

Exemplos

Exemplo #1 eio_nreqs() example

<?php
function res_cb($data, $result) {
    var_dump($data);
    var_dump($result);
}

eio_nop(EIO_PRI_DEFAULT, "res_cb", "1");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "2");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "3");

while (eio_nreqs()) {
    eio_poll();
}
?>

O exemplo acima irá imprimir algo similar à:

string(1) "1"
int(0)
string(1) "3"
int(0)
string(1) "2"
int(0)

Veja Também

  • eio_poll() - Can be to be called whenever there are pending requests that need finishing
  • eio_nready() - Returns number of not-yet handled requests


Returns number of threads currently in use

  • « eio_nreqs
  • eio_open »
  • PHP Manual
  • Eio Funções
  • Returns number of threads currently in use

eio_nthreads

(PECL eio >= 0.0.1dev)

eio_nthreads — Returns number of threads currently in use

Descrição

eio_nthreads ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

eio_nthreads() returns number of threads currently in use.

Veja Também

  • eio_npending() - Returns number of finished, but unhandled requests
  • eio_nready() - Returns number of not-yet handled requests
  • eio_nreqs() - Returns number of requests to be processed
  • eio_set_max_idle() - Set maximum number of idle threads
  • eio_set_max_parallel() - Set maximum parallel threads
  • eio_set_min_parallel() - Set minimum parallel thread number


Opens a file

  • « eio_nthreads
  • eio_poll »
  • PHP Manual
  • Eio Funções
  • Opens a file

eio_open

(PECL eio >= 0.0.1dev)

eio_open — Opens a file

Descrição

eio_open ( string $path , int $flags , int $mode , int $pri , callable $callback , mixed $data = NULL ) : resource

eio_open() opens file specified by path in access mode mode with

Parâmetros

path

Path of the file to be opened.

Aviso

In some SAPIs(e.g. PHP-FPM) it could fail, if you don't specify full path.

flags

One of EIO_O_* constants, or their combinations. EIO_O_* constants have the same meaning, as their corresponding O_* counterparts defined in fnctl.h C header file. Default is EIO_O_RDWR.

mode

One of EIO_S_I* constants, or their combination (via bitwise OR operator). The constants have the same meaning as their S_I* counterparts defined in » sys/stat.h C header file. Required, if a file is created. Otherwise ignored.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_open() returns file descriptor in result argument of callback on success; otherwise, result is equal to -1.

Exemplos

Exemplo #1 eio_open() example

<?php
$temp_filename = "eio-temp-file.tmp";

/* Is called when eio_close() finishes */
function my_close_cb($data, $result) {
 // Zero indicates success
    var_dump($result == 0);
 @unlink($data);
}

/* Is called when eio_open() finishes */
function my_file_opened_callback($data, $result) {
 // $result should contain the file descriptor
    var_dump($result > 0);

    if ($result > 0) {
  // Close the file
        eio_close($result, EIO_PRI_DEFAULT, "my_close_cb", $data);
        eio_event_loop();
    }
}

// Create new file for reading and writing
// Deny group and others to do anything with that file
eio_open($temp_filename, EIO_O_CREAT | EIO_O_RDWR, EIO_S_IRUSR | EIO_S_IWUSR,
  EIO_PRI_DEFAULT, "my_file_opened_callback", $temp_filename);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)

Veja Também

  • eio_mknod() - Create a special or ordinary file


Can be to be called whenever there are pending requests that need finishing

  • « eio_open
  • eio_read »
  • PHP Manual
  • Eio Funções
  • Can be to be called whenever there are pending requests that need finishing

eio_poll

(PECL eio >= 0.0.1dev)

eio_poll — Can be to be called whenever there are pending requests that need finishing

Descrição

eio_poll ( ) : int

eio_poll() can be used to implement special event loop. For this eio_nreqs() could be used to test if there are unprocessed requests.

Nota:

Applicable only when implementing userspace event loop.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

If any request invocation returns a non-zero value, returns that value. Otherwise, it returns 0.

Exemplos

Exemplo #1 eio_poll() example

<?php
function res_cb($data, $result) {
    var_dump($data);
    var_dump($result);
}

eio_nop(EIO_PRI_DEFAULT, "res_cb", "1");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "2");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "3");

while (eio_nreqs()) {
    // Some specific IPC or so
    eio_poll();
}
?>

O exemplo acima irá imprimir algo similar à:

string(1) "1"
int(0)
string(1) "3"
int(0)
string(1) "2"
int(0)

Veja Também

  • eio_nreqs() - Returns number of requests to be processed


Read from a file descriptor at given offset

  • « eio_poll
  • eio_readahead »
  • PHP Manual
  • Eio Funções
  • Read from a file descriptor at given offset

eio_read

(PECL eio >= 0.0.1dev)

eio_read — Read from a file descriptor at given offset

Descrição

eio_read ( mixed $fd , int $length , int $offset , int $pri , callable $callback , mixed $data = NULL ) : resource

eio_read() reads up to length bytes from fd file descriptor at offset. The read bytes are stored in result argument of callback.

Parâmetros

fd

Stream, Socket resource, or numeric file descriptor

length

Maximum number of bytes to read.

offset

Offset within the file.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_read() stores read bytes in result argument of callback function.

Exemplos

Exemplo #1 eio_read() example

<?php
// Open a temporary file and write some bytes there
$temp_filename = "eio-temp-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "1234567890");
fclose($fp);

/* Is called when eio_read() is done */
function my_read_cb($data, $result) {
    global $temp_filename;

 // Output read bytes
    var_dump($result);

 // Close file
    eio_close($data);
    eio_event_loop();

 // Remove temporary file
    @unlink($temp_filename);
}

/* Is called when eio_open() is done */
function my_file_opened_callback($data, $result) {
 // $result should contain the file descriptor
    if ($result > 0) {
  // Read 5 bytes starting from third
        eio_read($result, 5, 2, EIO_PRI_DEFAULT, "my_read_cb", $result);
        eio_event_loop();
    } else {
  // eio_open() failed
        unlink($data);
    }
}

// Open the file for reading and writing
eio_open($temp_filename, EIO_O_RDWR, NULL,
    EIO_PRI_DEFAULT, "my_file_opened_callback", $temp_filename);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

string(5) "34567"

Veja Também

  • eio_open() - Opens a file
  • eio_write() - Write to file
  • eio_close() - Close file
  • eio_event_loop() - Polls libeio until all requests proceeded


Perform file readahead into page cache

  • « eio_read
  • eio_readdir »
  • PHP Manual
  • Eio Funções
  • Perform file readahead into page cache

eio_readahead

(PECL eio >= 0.0.1dev)

eio_readahead — Perform file readahead into page cache

Descrição

eio_readahead ( mixed $fd , int $offset , int $length , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_readahead() populates the page cache with data from a file so that subsequent reads from that file will not block on disk I/O. See READAHEAD(2) man page for details.

Parâmetros

fd

Stream, Socket resource, or numeric file descriptor

offset

Starting point from which data is to be read.

length

Number of bytes to be read.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_readahead() returns request resource on success or false on error.


Reads through a whole directory

  • « eio_readahead
  • eio_readlink »
  • PHP Manual
  • Eio Funções
  • Reads through a whole directory

eio_readdir

(PECL eio >= 0.0.1dev)

eio_readdir — Reads through a whole directory

Descrição

eio_readdir ( string $path , int $flags , int $pri , callable $callback , string $data = NULL ) : resource

Reads through a whole directory(via the opendir, readdir and closedir system calls) and returns either the names or an array in result argument of callback function, depending on the flags argument.

Parâmetros

path

Directory path.

flags

Combination of EIO_READDIR_* constants.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_readdir() returns request resource on success, or false on error. Sets result argument of callback function according to flags:

EIO_READDIR_DENTS (int)
eio_readdir() flag. If specified, the result argument of the callback becomes an array with the following keys: 'names' - array of directory names 'dents' - array of struct eio_dirent-like arrays having the following keys each: 'name' - the directory name; 'type' - one of EIO_DT_* constants; 'inode' - the inode number, if available, otherwise unspecified;
EIO_READDIR_DIRS_FIRST (int)
When this flag is specified, the names will be returned in an order where likely directories come first, in optimal stat order.
EIO_READDIR_STAT_ORDER (int)
When this flag is specified, then the names will be returned in an order suitable for stat'ing each one. When planning to stat() all files in the given directory, the returned order will likely be fastest.
EIO_READDIR_FOUND_UNKNOWN (int)

Node types:

EIO_DT_UNKNOWN (int)
Unknown node type(very common). Further stat() needed.
EIO_DT_FIFO (int)
FIFO node type
EIO_DT_CHR (int)
Node type
EIO_DT_MPC (int)
Multiplexed char device (v7+coherent) node type
EIO_DT_DIR (int)
Directory node type
EIO_DT_NAM (int)
Xenix special named file node type
EIO_DT_BLK (int)
Node type
EIO_DT_MPB (int)
Multiplexed block device (v7+coherent)
EIO_DT_REG (int)
Node type
EIO_DT_NWK (int)
EIO_DT_CMP (int)
HP-UX network special node type
EIO_DT_LNK (int)
Link node type
EIO_DT_SOCK (int)
Socket node type
EIO_DT_DOOR (int)
Solaris door node type
EIO_DT_WHT (int)
Node type
EIO_DT_MAX (int)
Highest node type value

Exemplos

Exemplo #1 eio_readdir() example

<?php
/* Is called when eio_readdir() finishes */
function my_readdir_callback($data, $result) {
    echo __FUNCTION__, " called\n";
    echo "data: "; var_dump($data);
    echo "result: "; var_dump($result);
    echo "\n";
}

eio_readdir("/var/spool/news", EIO_READDIR_STAT_ORDER | EIO_READDIR_DIRS_FIRST,
  EIO_PRI_DEFAULT, "my_readdir_callback");
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

my_readdir_callback called
data: NULL
result: array(2) {
 ["names"]=>
  array(7) {
   [0]=>
    string(7) "archive"
    [1]=>
    string(8) "articles"
    [2]=>
    string(8) "incoming"
    [3]=>
    string(7) "innfeed"
    [4]=>
    string(8) "outgoing"
    [5]=>
    string(8) "overview"
    [6]=>
    string(3) "tmp"
  }
 ["dents"]=>
  array(7) {
   [0]=>
    array(3)
    {
     ["name"]=>
      string(7)
      "archive"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393265)
    }
   [1]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "articles"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393266)
    }
   [2]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "incoming"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393267)
    }
   [3]=>
    array(3)
    {
     ["name"]=>
      string(7)
      "innfeed"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393269)
    }
   [4]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "outgoing"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393270)
    }
   [5]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "overview"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393271)
    }
   [6]=>
    array(3)
    {
     ["name"]=>
      string(3)
      "tmp"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393272)
    }
  }
}


Read value of a symbolic link

  • « eio_readdir
  • eio_realpath »
  • PHP Manual
  • Eio Funções
  • Read value of a symbolic link

eio_readlink

(PECL eio >= 0.0.1dev)

eio_readlink — Read value of a symbolic link

Descrição

eio_readlink ( string $path , int $pri , callable $callback , string $data = NULL ) : resource

Parâmetros

path

Source symbolic link path

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_readlink() returns request resource on success or false on error.

Exemplos

Exemplo #1 eio_readlink() example

<?php
$filename = dirname(__FILE__)."/symlink.dat";
touch($filename);
$link = dirname(__FILE__)."/symlink.link";
$hardlink = dirname(__FILE__)."/hardlink.link";

function my_hardlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && !is_link($data));
    @unlink($data);

    eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_cb", $link);
}

function my_symlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && is_link($data));

    if (!eio_readlink($data, EIO_PRI_DEFAULT, "my_readlink_cb", NULL)) {
        @unlink($link);
        @unlink($filename);
    }
}

function my_readlink_cb($data, $result) {
    global $filename, $link;
    var_dump($result);

    @unlink($link);
    @unlink($filename);
}

eio_link($filename, $hardlink, EIO_PRI_DEFAULT, "my_hardlink_cb", $hardlink);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
string(16) "/tmp/symlink.dat"

Veja Também

  • eio_symlink() - Create a symbolic link


Get the canonicalized absolute pathname

  • « eio_readlink
  • eio_rename »
  • PHP Manual
  • Eio Funções
  • Get the canonicalized absolute pathname

eio_realpath

(PECL eio >= 0.0.1dev)

eio_realpath — Get the canonicalized absolute pathname

Descrição

eio_realpath ( string $path , int $pri , callable $callback , string $data = NULL ) : resource

eio_realpath() returns the canonicalized absolute pathname in result argument of callback function.

Parâmetros

path

Short pathname

pri

callback

data

Valor Retornado

Exemplos

Exemplo #1 eio_realpath() example

<?php
var_dump(getcwd());

function my_realpath_allback($data, $result) {
    var_dump($result);
}

eio_realpath("../", EIO_PRI_DEFAULT, "my_realpath_allback");
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

string(12) "/home/ruslan"
string(5) "/home"


Change the name or location of a file

  • « eio_realpath
  • eio_rmdir »
  • PHP Manual
  • Eio Funções
  • Change the name or location of a file

eio_rename

(PECL eio >= 0.0.1dev)

eio_rename — Change the name or location of a file

Descrição

eio_rename ( string $path , string $new_path , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_rename() renames or moves a file to new location.

Parâmetros

path

Source path

new_path

Target path

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_rename() returns request resource on success or false on error.

Exemplos

Exemplo #1 eio_rename() example

<?php
$filename = dirname(__FILE__)."/eio-temp-file.dat";
touch($filename);
$new_filename = dirname(__FILE__)."/eio-temp-file-new.dat";

function my_rename_cb($data, $result) {
    global $filename, $new_filename;

    if ($result == 0 && !file_exists($filename) && file_exists($new_filename)) {
        @unlink($new_filename);
        echo "eio_rename_ok";
    } else {
        @unlink($filename);
    }
}

eio_rename($filename, $new_filename, EIO_PRI_DEFAULT, "my_rename_cb", $filename);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

eio_rename_ok


Remove a directory

  • « eio_rename
  • eio_seek »
  • PHP Manual
  • Eio Funções
  • Remove a directory

eio_rmdir

(PECL eio >= 0.0.1dev)

eio_rmdir — Remove a directory

Descrição

eio_rmdir ( string $path , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_rmdir() removes a directory.

Parâmetros

path

Directory path

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_rmdir() returns request resource on success or false on error.

Exemplos

Exemplo #1 eio_rmdir() example

<?php
$temp_dirname = "eio-temp-dir";
mkdir($temp_dirname);

function my_rmdir_callback($data, $result) {
    if ($result == 0 && !file_exists($data)) {
        echo "eio_rmdir_ok";
    } else if (file_exists($data)) {
        rmdir($data);
    }
}

eio_rmdir($temp_dirname, EIO_PRI_DEFAULT, "my_rmdir_callback", $temp_dirname);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

eio_rmdir_ok

Veja Também

  • eio_mkdir() - Create directory


Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence

  • « eio_rmdir
  • eio_sendfile »
  • PHP Manual
  • Eio Funções
  • Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence

eio_seek

(PECL eio >= 0.5.0b)

eio_seek — Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence

Descrição

eio_seek ( mixed $fd , int $offset , int $whence , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_seek() repositions the offset of the open file associated with stream, Socket resource, or file descriptor specified by fd to the argument offset according to the directive whence as follows:

  • EIO_SEEK_SET - Set position equal to offset bytes.
  • EIO_SEEK_CUR - Set position to current location plus offset.
  • EIO_SEEK_END - Set position to end-of-file plus offset.

Parâmetros

fd

Stream, Socket resource, or numeric file descriptor

offset

Starting point from which data is to be read.

length

Number of bytes to be read.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_seek() returns request resource on success or false on error.


Transfer data between file descriptors

  • « eio_seek
  • eio_set_max_idle »
  • PHP Manual
  • Eio Funções
  • Transfer data between file descriptors

eio_sendfile

(PECL eio >= 0.0.1dev)

eio_sendfile — Transfer data between file descriptors

Descrição

eio_sendfile ( mixed $out_fd , mixed $in_fd , int $offset , int $length , int $pri = ? , callable $callback = ? , string $data = ? ) : resource

eio_sendfile() copies data between one file descriptor and another. See SENDFILE(2) man page for details.

Parâmetros

out_fd

Output stream, Socket resource, or file descriptor. Should be opened for writing.

in_fd

Input stream, Socket resource, or file descriptor. Should be opened for reading.

offset

Offset within the source file.

length

Number of bytes to copy.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_sendfile() returns request resource on success or false on error.


Set maximum number of idle threads

  • « eio_sendfile
  • eio_set_max_parallel »
  • PHP Manual
  • Eio Funções
  • Set maximum number of idle threads

eio_set_max_idle

(PECL eio >= 0.0.1dev)

eio_set_max_idle — Set maximum number of idle threads

Descrição

eio_set_max_idle ( int $nthreads ) : void

Parâmetros

nthreads

Number of idle threads.

Valor Retornado

Não há valor retornado.

Veja Também

  • eio_nthreads() - Returns number of threads currently in use
  • eio_set_min_parallel() - Set minimum parallel thread number
  • eio_set_max_parallel() - Set maximum parallel threads


Set maximum parallel threads

  • « eio_set_max_idle
  • eio_set_max_poll_reqs »
  • PHP Manual
  • Eio Funções
  • Set maximum parallel threads

eio_set_max_parallel

(PECL eio >= 0.0.1dev)

eio_set_max_parallel — Set maximum parallel threads

Descrição

eio_set_max_parallel ( int $nthreads ) : void

Parâmetros

nthreads

Number of parallel threads

Valor Retornado

Não há valor retornado.

Veja Também

  • eio_nthreads() - Returns number of threads currently in use
  • eio_set_max_idle() - Set maximum number of idle threads
  • eio_set_min_parallel() - Set minimum parallel thread number


Set maximum number of requests processed in a poll

  • « eio_set_max_parallel
  • eio_set_max_poll_time »
  • PHP Manual
  • Eio Funções
  • Set maximum number of requests processed in a poll

eio_set_max_poll_reqs

(PECL eio >= 0.0.1dev)

eio_set_max_poll_reqs — Set maximum number of requests processed in a poll

Descrição

eio_set_max_poll_reqs ( int $nreqs ) : void

Parâmetros

nreqs

Number of requests

Valor Retornado

Não há valor retornado.


Set maximum poll time

  • « eio_set_max_poll_reqs
  • eio_set_min_parallel »
  • PHP Manual
  • Eio Funções
  • Set maximum poll time

eio_set_max_poll_time

(PECL eio >= 0.0.1dev)

eio_set_max_poll_time — Set maximum poll time

Descrição

eio_set_max_poll_time ( float $nseconds ) : void

Polling stops, if poll took longer than nseconds seconds.

Parâmetros

nseconds

Number of seconds

Valor Retornado

Não há valor retornado.


Set minimum parallel thread number

  • « eio_set_max_poll_time
  • eio_stat »
  • PHP Manual
  • Eio Funções
  • Set minimum parallel thread number

eio_set_min_parallel

(PECL eio >= 0.0.1dev)

eio_set_min_parallel — Set minimum parallel thread number

Descrição

eio_set_min_parallel ( string $nthreads ) : void

Parâmetros

nthreads

Number of parallel threads.

Valor Retornado

Não há valor retornado.

Veja Também

  • eio_nthreads() - Returns number of threads currently in use
  • eio_set_max_idle() - Set maximum number of idle threads
  • eio_set_max_parallel() - Set maximum parallel threads


Get file status

  • « eio_set_min_parallel
  • eio_statvfs »
  • PHP Manual
  • Eio Funções
  • Get file status

eio_stat

(PECL eio >= 0.0.1dev)

eio_stat — Get file status

Descrição

eio_stat ( string $path , int $pri , callable $callback , mixed $data = NULL ) : resource

eio_stat() returns file status information in result argument of callback

Parâmetros

path

The file path

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_stat() returns request resource on success or false on error. On success assigns result argument of callback to an array.

Exemplos

Exemplo #1 eio_stat() example

<?php
$tmp_filename = "eio-file.tmp";
touch($tmp_filename);

function my_res_cb($data, $result) {
    var_dump($data);
    var_dump($result);
}

function my_open_cb($data, $result) {
    eio_close($result);
    eio_event_loop();

    @unlink($data);
}

eio_stat($tmp_filename, EIO_PRI_DEFAULT, "my_res_cb", "eio_stat");
eio_open($tmp_filename, EIO_O_RDONLY, NULL,
 EIO_PRI_DEFAULT, "my_open_cb", $tmp_filename);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

string(8) "eio_stat"
array(12) {
  ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2489173)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318250380)
  ["st_mtime"]=>
  int(1318250380)
  ["st_ctime"]=>
  int(1318250380)
}

Veja Também

  • eio_lstat() - Get file status
  • eio_fstat() - Get file status


Get file system statistics

  • « eio_stat
  • eio_symlink »
  • PHP Manual
  • Eio Funções
  • Get file system statistics

eio_statvfs

(PECL eio >= 0.0.1dev)

eio_statvfs — Get file system statistics

Descrição

eio_statvfs ( string $path , int $pri , callable $callback , mixed $data = ? ) : resource

eio_statvfs() returns file system statistics information in result argument of callback

Parâmetros

path

Pathname of any file within the mounted file system

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_statvfs() returns request resource on success or false on error. On success assigns result argument of callback to an array.

Exemplos

Exemplo #1 eio_statvfs() example

<?php
$tmp_filename = '/tmp/eio-file.tmp';
touch($tmp_filename);

function my_statvfs_callback($data, $result) {
    var_dump($data);
    var_dump($result);

 @unlink($data);
}

eio_statvfs($tmp_filename, EIO_PRI_DEFAULT, "my_statvfs_callback", $tmp_filename);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

string(17) "/tmp/eio-file.tmp"
array(11) {
  ["f_bsize"]=>
  int(4096)
  ["f_frsize"]=>
  int(4096)
  ["f_blocks"]=>
  int(262144)
  ["f_bfree"]=>
  int(262111)
  ["f_bavail"]=>
  int(262111)
  ["f_files"]=>
  int(1540815)
  ["f_ffree"]=>
  int(1540743)
  ["f_favail"]=>
  int(1540743)
  ["f_fsid"]=>
  int(0)
  ["f_flag"]=>
  int(4102)
  ["f_namemax"]=>
  int(255)
}


Create a symbolic link

  • « eio_statvfs
  • eio_sync_file_range »
  • PHP Manual
  • Eio Funções
  • Create a symbolic link

eio_symlink

(PECL eio >= 0.0.1dev)

eio_symlink — Create a symbolic link

Descrição

eio_symlink ( string $path , string $new_path , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_symlink() creates a symbolic link new_path to path.

Parâmetros

path

Source path

new_path

Target path

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_symlink() returns request resource on success or false on error.

Exemplos

Exemplo #1 eio_symlink() example

<?php
$filename = dirname(__FILE__)."/symlink.dat";
touch($filename);
$link = dirname(__FILE__)."/symlink.link";

function my_symlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && is_link($data));

    if (!eio_readlink($data, EIO_PRI_DEFAULT, "my_readlink_cb", NULL)) {
        @unlink($link);
        @unlink($filename);
    }
}

function my_readlink_cb($data, $result) {
    global $filename, $link;
    var_dump($result);

    @unlink($link);
    @unlink($filename);
}

eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_cb", $link);
eio_event_loop();
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
string(16) "/tmp/symlink.dat"

Veja Também

  • eio_link() - Create a hardlink for file


Sync a file segment with disk

  • « eio_symlink
  • eio_sync »
  • PHP Manual
  • Eio Funções
  • Sync a file segment with disk

eio_sync_file_range

(PECL eio >= 0.0.1dev)

eio_sync_file_range — Sync a file segment with disk

Descrição

eio_sync_file_range ( mixed $fd , int $offset , int $nbytes , int $flags , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_sync_file_range() permits fine control when synchronizing the open file referred to by the file descriptor fd with disk.

Parâmetros

fd

File descriptor

offset

The starting byte of the file range to be synchronized

nbytes

Specifies the length of the range to be synchronized, in bytes. If nbytes is zero, then all bytes from offset through to the end of file are synchronized.

flags

A bit-mask. Can include any of the following values: EIO_SYNC_FILE_RANGE_WAIT_BEFORE, EIO_SYNC_FILE_RANGE_WRITE, EIO_SYNC_FILE_RANGE_WAIT_AFTER. These flags have the same meaning as their SYNC_FILE_RANGE_* counterparts(see SYNC_FILE_RANGE(2) man page).

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_sync_file_range() returns request resource on success or false on error.


Commit buffer cache to disk

  • « eio_sync_file_range
  • eio_syncfs »
  • PHP Manual
  • Eio Funções
  • Commit buffer cache to disk

eio_sync

(PECL eio >= 0.0.1dev)

eio_sync — Commit buffer cache to disk

Descrição

eio_sync ( int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

eio_sync() returns request resource on success or false on error.


Calls Linux' syncfs syscall, if available

  • « eio_sync
  • eio_truncate »
  • PHP Manual
  • Eio Funções
  • Calls Linux' syncfs syscall, if available

eio_syncfs

(PECL eio >= 0.0.1dev)

eio_syncfs — Calls Linux' syncfs syscall, if available

Descrição

eio_syncfs ( mixed $fd , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

Parâmetros

fd

File descriptor

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_syncfs() returns request resource on success or false on error.


Truncate a file

  • « eio_syncfs
  • eio_unlink »
  • PHP Manual
  • Eio Funções
  • Truncate a file

eio_truncate

(PECL eio >= 0.0.1dev)

eio_truncate — Truncate a file

Descrição

eio_truncate ( string $path , int $offset = 0 , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_truncate() causes the regular file named by path to be truncated to a size of precisely length bytes

Parâmetros

path

File path

offset

Offset from beginning of the file.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_busy() returns request resource on success or false on error.

Veja Também

  • eio_ftruncate() - Truncate a file


Delete a name and possibly the file it refers to

  • « eio_truncate
  • eio_utime »
  • PHP Manual
  • Eio Funções
  • Delete a name and possibly the file it refers to

eio_unlink

(PECL eio >= 0.0.1dev)

eio_unlink — Delete a name and possibly the file it refers to

Descrição

eio_unlink ( string $path , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_unlink() deletes a name from the file system.

Parâmetros

path

Path to file

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_unlink() returns request resource on success or false on error.


Change file last access and modification times

  • « eio_unlink
  • eio_write »
  • PHP Manual
  • Eio Funções
  • Change file last access and modification times

eio_utime

(PECL eio >= 0.0.1dev)

eio_utime — Change file last access and modification times

Descrição

eio_utime ( string $path , float $atime , float $mtime , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

Parâmetros

path

Path to the file.

atime

Access time

mtime

Modification time

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_utime() returns request resource on success or false on error.

Veja Também

  • eio_futime() - Change file last access and modification times


Write to file

  • « eio_utime
  • Ev »
  • PHP Manual
  • Eio Funções
  • Write to file

eio_write

(PECL eio >= 0.0.1dev)

eio_write — Write to file

Descrição

eio_write ( mixed $fd , string $str , int $length = 0 , int $offset = 0 , int $pri = EIO_PRI_DEFAULT , callable $callback = NULL , mixed $data = NULL ) : resource

eio_write() writes up to length bytes from str at offset offset from the beginning of the file.

Parâmetros

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open()

str

Source string

length

Maximum number of bytes to write.

offset

Offset from the beginning of file.

pri

A prioridade da requisição: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. Se null for passado o parâmetro pri internamente é configurado para EIO_PRI_DEFAULT.

callback

A função callback é chamada quando a requisição finaliza. Ela deve ter o seguinte protótipo:

void callback(mixed $data, int $result[, resource $req]);
data

são os dados passados para a requisição.

result

resultado específico retornado; basicamente o valor retornado pela chamada ao sistema.

req

é o recurso opcional que pode ser utilizado em funções como eio_get_last_error()

data

Arbitrary variable passed to callback.

Valor Retornado

eio_write() returns request resource on success or false on error.

Veja Também

  • eio_open() - Opens a file


Ev

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Watchers
  • Watcher callbacks
  • Periodic watcher operation modes
  • Ev — The Ev class
    • Ev::backend — Returns an integer describing the backend used by libev
    • Ev::depth — Returns recursion depth
    • Ev::embeddableBackends — Returns the set of backends that are embeddable in other event loops
    • Ev::feedSignal — Feed a signal event info Ev
    • Ev::feedSignalEvent — Feed signal event into the default loop
    • Ev::iteration — Return the number of times the default event loop has polled for new events
    • Ev::now — Returns the time when the last iteration of the default event loop has started
    • Ev::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress
    • Ev::recommendedBackends — Returns a bit mask of recommended backends for current platform
    • Ev::resume — Resume previously suspended default event loop
    • Ev::run — Begin checking for events and calling callbacks for the default loop
    • Ev::sleep — Block the process for the given number of seconds
    • Ev::stop — Stops the default event loop
    • Ev::supportedBackends — Returns the set of backends supported by current libev configuration
    • Ev::suspend — Suspend the default event loop
    • Ev::time — Returns the current time in fractional seconds since the epoch
    • Ev::verify — Performs internal consistency checks(for debugging)
  • EvCheck — The EvCheck class
    • EvCheck::__construct — Constructs the EvCheck watcher object
    • EvCheck::createStopped — Create instance of a stopped EvCheck watcher
  • EvChild — The EvChild class
    • EvChild::__construct — Constructs the EvChild watcher object
    • EvChild::createStopped — Create instance of a stopped EvCheck watcher
    • EvChild::set — Configures the watcher
  • EvEmbed — The EvEmbed class
    • EvEmbed::__construct — Constructs the EvEmbed object
    • EvEmbed::createStopped — Create stopped EvEmbed watcher object
    • EvEmbed::set — Configures the watcher
    • EvEmbed::sweep — Make a single, non-blocking sweep over the embedded loop
  • EvFork — The EvFork class
    • EvFork::__construct — Constructs the EvFork watcher object
    • EvFork::createStopped — Creates a stopped instance of EvFork watcher class
  • EvIdle — The EvIdle class
    • EvIdle::__construct — Constructs the EvIdle watcher object
    • EvIdle::createStopped — Creates instance of a stopped EvIdle watcher object
  • EvIo — The EvIo class
    • EvIo::__construct — Constructs EvIo watcher object
    • EvIo::createStopped — Create stopped EvIo watcher object
    • EvIo::set — Configures the watcher
  • EvLoop — The EvLoop class
    • EvLoop::backend — Returns an integer describing the backend used by libev
    • EvLoop::check — Creates EvCheck object associated with the current event loop instance
    • EvLoop::child — Creates EvChild object associated with the current event loop
    • EvLoop::__construct — Constructs the event loop object
    • EvLoop::defaultLoop — Returns or creates the default event loop
    • EvLoop::embed — Creates an instance of EvEmbed watcher associated with the current EvLoop object
    • EvLoop::fork — Creates EvFork watcher object associated with the current event loop instance
    • EvLoop::idle — Creates EvIdle watcher object associated with the current event loop instance
    • EvLoop::invokePending — Invoke all pending watchers while resetting their pending state
    • EvLoop::io — Create EvIo watcher object associated with the current event loop instance
    • EvLoop::loopFork — Must be called after a fork
    • EvLoop::now — Returns the current "event loop time"
    • EvLoop::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress
    • EvLoop::periodic — Creates EvPeriodic watcher object associated with the current event loop instance
    • EvLoop::prepare — Creates EvPrepare watcher object associated with the current event loop instance
    • EvLoop::resume — Resume previously suspended default event loop
    • EvLoop::run — Begin checking for events and calling callbacks for the loop
    • EvLoop::signal — Creates EvSignal watcher object associated with the current event loop instance
    • EvLoop::stat — Creates EvStat watcher object associated with the current event loop instance
    • EvLoop::stop — Stops the event loop
    • EvLoop::suspend — Suspend the loop
    • EvLoop::timer — Creates EvTimer watcher object associated with the current event loop instance
    • EvLoop::verify — Performs internal consistency checks(for debugging)
  • EvPeriodic — The EvPeriodic class
    • EvPeriodic::again — Simply stops and restarts the periodic watcher again
    • EvPeriodic::at — Returns the absolute time that this watcher is supposed to trigger next
    • EvPeriodic::__construct — Constructs EvPeriodic watcher object
    • EvPeriodic::createStopped — Create a stopped EvPeriodic watcher
    • EvPeriodic::set — Configures the watcher
  • EvPrepare — The EvPrepare class
    • EvPrepare::__construct — Constructs EvPrepare watcher object
    • EvPrepare::createStopped — Creates a stopped instance of EvPrepare watcher
  • EvSignal — The EvSignal class
    • EvSignal::__construct — Constructs EvSignal watcher object
    • EvSignal::createStopped — Create stopped EvSignal watcher object
    • EvSignal::set — Configures the watcher
  • EvStat — The EvStat class
    • EvStat::attr — Returns the values most recently detected by Ev
    • EvStat::__construct — Constructs EvStat watcher object
    • EvStat::createStopped — Create a stopped EvStat watcher object
    • EvStat::prev — Returns the previous set of values returned by EvStat::attr
    • EvStat::set — Configures the watcher
    • EvStat::stat — Initiates the stat call
  • EvTimer — The EvTimer class
    • EvTimer::again — Restarts the timer watcher
    • EvTimer::__construct — Constructs an EvTimer watcher object
    • EvTimer::createStopped — Creates EvTimer stopped watcher object
    • EvTimer::set — Configures the watcher
  • EvWatcher — The EvWatcher class
    • EvWatcher::clear — Clear watcher pending status
    • EvWatcher::__construct — Abstract constructor of a watcher object
    • EvWatcher::feed — Feeds the given revents set into the event loop
    • EvWatcher::getLoop — Returns the loop responsible for the watcher
    • EvWatcher::invoke — Invokes the watcher callback with the given received events bit mask
    • EvWatcher::keepalive — Configures whether to keep the loop from returning
    • EvWatcher::setCallback — Sets new callback for the watcher
    • EvWatcher::start — Starts the watcher
    • EvWatcher::stop — Stops the watcher


Introdução

This extension provides inteface to » libev library - a high performance full-featured event loop written in C.

Nota: Esta extensão não está disponível na plataforma Windows.

Libev is an event loop: one registers interest in certain events (such as a file descriptor being readable or a timeout occurring), and it will manage these event sources and provide the program with events.

To do this, it must take more or less complete control over the process (or thread) by executing the event loop handler, and will then communicate events via a callback mechanism.

You register interest in certain events by registering so-called event watchers, and then hand it over to libev by starting the watcher.

For details refer to the » documentation of libev


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

libev library is embedded into this extension. You don't need to install it separately.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/ev .


Constantes pré-definidas

Esta extensão não possui constantes definidas.

Most constants are moved to Ev singleton class.


Exemplos

Exemplo #1 Simple timers

<?php
// Create and start timer firing after 2 seconds
$w1 = new EvTimer(2, 0, function () {
    echo "2 seconds elapsed\n";
});

// Create and launch timer firing after 2 seconds repeating each second
// until we manually stop it
$w2 = new EvTimer(2, 1, function ($w) {
    echo "is called every second, is launched after 2 seconds\n";
    echo "iteration = ", Ev::iteration(), PHP_EOL;

    // Stop the watcher after 5 iterations
    Ev::iteration() == 5 and $w->stop();
    // Stop the watcher if further calls cause more than 10 iterations
    Ev::iteration() >= 10 and $w->stop();
});

// Create stopped timer. It will be inactive until we start it ourselves
$w_stopped = EvTimer::createStopped(10, 5, function($w) {
    echo "Callback of a timer created as stopped\n";

    // Stop the watcher after 2 iterations
    Ev::iteration() >= 2 and $w->stop();
});

// Loop until Ev::stop() is called or all of watchers stop
Ev::run();

// Start and look if it works
$w_stopped->start();
echo "Run single iteration\n";
Ev::run(Ev::RUN_ONCE);

echo "Restart the second watcher and try to handle the same events, but don't block\n";
$w2->again();
Ev::run(Ev::RUN_NOWAIT);

$w = new EvTimer(10, 0, function() {});
echo "Running a blocking loop\n";
Ev::run();
echo "END\n";
?>

O exemplo acima irá imprimir algo similar à:

2 seconds elapsed
is called every second, is launched after 2 seconds
iteration = 1
is called every second, is launched after 2 seconds
iteration = 2
is called every second, is launched after 2 seconds
iteration = 3
is called every second, is launched after 2 seconds
iteration = 4
is called every second, is launched after 2 seconds
iteration = 5
Run single iteration
Callback of a timer created as stopped
Restart the second watcher and try to handle the same events, but don't block
Running a blocking loop
is called every second, is launched after 2 seconds
iteration = 8
is called every second, is launched after 2 seconds
iteration = 9
is called every second, is launched after 2 seconds
iteration = 10
END

Exemplo #2 Periodic timer. Tick each 10.5 seconds

<?php
$w = new EvPeriodic(0., 10.5, NULL, function ($w, $revents) {
    echo time(), PHP_EOL;
});

Ev::run();
?>

Exemplo #3 Periodic timer. Use reschedule callback

<?php
// Tick each 10.5 seconds

function reschedule_cb ($watcher, $now) {
    return $now + (10.5. - fmod($now, 10.5));
}

$w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
    echo time(), PHP_EOL;
});

Ev::run();
?>

Exemplo #4 Periodic timer. Tick every 10.5 seconds starting at now

<?php
// Tick every 10.5 seconds starting at now
$w = new EvPeriodic(fmod(Ev::now(), 10.5), 10.5, NULL, function ($w, $revents) {
    echo time(), PHP_EOL;
});

Ev::run();
?>

Exemplo #5 Wait until STDIN is readable

<?php
// Wait until STDIN is readable
$w = new EvIo(STDIN, Ev::READ, function ($watcher, $revents) {
    echo "STDIN is readable\n";
});

Ev::run(Ev::RUN_ONCE);
?>

Exemplo #6 Use some async I/O to access a socket

<?php
/* Use some async I/O to access a socket */

// `sockets' extension still logs warnings
// for EINPROGRESS, EAGAIN/EWOULDBLOCK etc.
error_reporting(E_ERROR);

$e_nonblocking = array (/*EAGAIN or EWOULDBLOCK*/11, /*EINPROGRESS*/115);

// Get the port for the WWW service
$service_port = getservbyname('www', 'tcp');

// Get the IP address for the target host
$address = gethostbyname('google.co.uk');

// Create a TCP/IP socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === FALSE) {
    echo "socket_create() failed: reason: "
        .socket_strerror(socket_last_error()) . "\n";
}

// Set O_NONBLOCK flag
socket_set_nonblock($socket);

// Abort on timeout
$timeout_watcher = new EvTimer(10.0, 0., function () use ($socket) {
    socket_close($socket);
    Ev::stop(Ev::BREAK_ALL);
});

// Make HEAD request when the socket is writable
$write_watcher = new EvIo($socket, Ev::WRITE, function ($w)
    use ($socket, $timeout_watcher, $e_nonblocking)
{
    // Stop timeout watcher
    $timeout_watcher->stop();
    // Stop write watcher
    $w->stop();

    $in = "HEAD / HTTP/1.1\r\n";
    $in .= "Host: google.co.uk\r\n";
    $in .= "Connection: Close\r\n\r\n";

    if (!socket_write($socket, $in, strlen($in))) {
        trigger_error("Failed writing $in to socket", E_USER_ERROR);
    }

    $read_watcher = new EvIo($socket, Ev::READ, function ($w, $re)
        use ($socket, $e_nonblocking)
    {
        // Socket is readable. recv() 20 bytes using non-blocking mode
        $ret = socket_recv($socket, $out, 20, MSG_DONTWAIT);

        if ($ret) {
            echo $out;
        } elseif ($ret === 0) {
            // All read
            $w->stop();
            socket_close($socket);
            return;
        }

        // Caught EINPROGRESS, EAGAIN, or EWOULDBLOCK
        if (in_array(socket_last_error(), $e_nonblocking)) {
            return;
        }

        $w->stop();
        socket_close($socket);
    });

    Ev::run();
});

$result = socket_connect($socket, $address, $service_port);

Ev::run();
?>

O exemplo acima irá imprimir algo similar à:

HTTP/1.1 301 Moved Permanently
Location: http://www.google.co.uk/
Content-Type: text/html; CHARSET=Windows-1252
Date: Sun, 23 Dec 2012 16:08:27 GMT
Expires: Tue, 22 Jan 2013 16:08:27 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Connection: close

Exemplo #7 Embedding one loop into another

<?php
/*
* Try to get an embeddable event loop and embed it into the default event loop.
* If it is impossible, use the default
* loop. The default loop is stored in $loop_hi, while the embeddable loop is
* stored in $loop_lo(which is $loop_hi in the case no embeddable loop can be
* used).
*
* Sample translated to PHP
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop_hi = EvLoop::defaultLoop();
$loop_lo = NULL;
$embed   = NULL;

/*
* See if there is a chance of getting one that works
* (flags' value of 0 means autodetection)
*/
$loop_lo = Ev::embeddableBackends() & Ev::recommendedBackends()
    ? new EvLoop(Ev::embeddableBackends() & Ev::recommendedBackends())
    : 0;

if ($loop_lo) {
    $embed = new EvEmbed($loop_lo, function () {});
} else {
    $loop_lo = $loop_hi;
}
?>

Exemplo #8 Embedding loop created with kqueue backend into the default loop

<?php
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop        = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed       = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
    if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
        $embed = new EvEmbed($loop);
    }
}

if (!$socket_loop) {
    $socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Exemplo #9 Handle SIGTERM signal

<?php
$w = new EvSignal(SIGTERM, function ($watcher) {
    echo "SIGTERM received\n";
    $watcher->stop();
});

Ev::run();
?>

Exemplo #10 Monitor changes of /var/log/messages

<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
    echo "/var/log/messages changed\n";

    $attr = $w->attr();

    if ($attr['nlink']) {
        printf("Current size: %ld\n", $attr['size']);
        printf("Current atime: %ld\n", $attr['atime']);
        printf("Current mtime: %ld\n", $attr['mtime']);
    } else {
        fprintf(STDERR, "`messages` file is not there!");
        $w->stop();
    }
});

Ev::run();
?>

Exemplo #11 Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay

<?php
$timer = EvTimer::createStopped(0., 1.02, function ($w) {
    $w->stop();

    $stat = $w->data;

    // 1 second after the most recent change of the file
    printf("Current size: %ld\n", $stat->attr()['size']);
});

$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
    // Reset timer watcher
    $timer->again();
});

$timer->data = $stat;

Ev::run();
?>

Exemplo #12 Process status changes

<?php
$pid = pcntl_fork();

if ($pid == -1) {
    fprintf(STDERR, "pcntl_fork failed\n");
} elseif ($pid) {
    $w = new EvChild($pid, FALSE, function ($w, $revents) {
        $w->stop();

        printf("Process %d exited with status %d\n", $w->rpid, $w->rstatus);
    });

    Ev::run();

    // Protect against Zombies
    pcntl_wait($status);
} else {
    //Forked child
    exit(2);
}
?>


Watchers

A watcher is an object that gets created to record interest in some event. For instance, the following code waits for STDIN to become readable:

<?php
// Wait until STDIN is readable
$w = new EvIo(STDIN, Ev::READ, function ($watcher, $revents) {
 echo "STDIN is readable\n";
});
Ev::run(Ev::RUN_ONCE);
?>

All the watcher constructors automatically start the watchers. createStopped methods create stopped watchers(e.g. EvIo::createStopped() )

Note that a watcher will automatically be stopped when the watcher object is destroyed. Therefore, the watcher objects returned by the constructors or factory methods should be kept.

Note also that all methods changing some watcher property( set , priority etc.) automatically stop and start it again if it is active, which means pending events get lost.

See also: Watcher callbacks .


Watcher callbacks

All watchers can be active(waiting for events) or inactive(paused). Only active watchers will have their callbacks invoked. All callbacks will be called with at least two arguments: watcher - the watcher, and revents a bitmask of received events.

Watcher callbacks are passed to the watcher constructors (the classes derived from EvWatcher - EvCheck::__construct() , EvChild::__construct() etc.). A watcher callback should match the following prototype:

callback ( object $watcher = NULL , int $revents = NULL ) : void

watcher

The watcher instance(of a class extending EvWatcher ).

revents

Watcher received events .

Each watcher type has its associated bit in revents , so one can use the same callback for multiple watchers. The event mask is named after the type, i.e. EvChild (or EvLoop::child() ) sets EV::CHILD , EvPrepare (or EvLoop::prepare() ) sets Ev::PREPARE , EvPeriodic (or EvLoop::periodic() ) sets Ev::PERIODIC and so on, with the exception of I/O events (which can set both Ev::READ and Ev::WRITE bits).


Periodic watcher operation modes

EvPeriodic watcher works in different modes depending on the offset , interval and reschedule_cb parameters.

  1. Absolute timer . In this mode interval = 0 , reschedule_cb = null. This time simply fires at the wallclock time offset and doesn't repeat. It will not adjust when a time jump occurs, that is, if it is to be run at January 1st 2014 then it will run when the system time reaches or surpasses this time.

  2. Repeating interval timer . In this mode interval > 0 , reschedule_cb = null; the watcher will always be scheduled to timeout at the next offset + N * interval time(for some integer N ) and then repeat, regardless of any time jumps.

    This can be used to create timers that do not drift with respect to system time:

    <?php
    $hourly     = EvPeriodic(0, 3600, NULL, function () {
      echo     "once per hour\n";
    });
    ?>
    That doesn't mean there will always be 3600 seconds in between triggers, but only that the callback will be called when the system time shows a full hour( UTC ).

    EvPeriodic will try to run the callback in this mode at the next possible time where time = offset ( mod interval ), regardless of any time jumps.

  3. Manual reschedule mode . In this mode reschedule_cb is a callable .

    interval and offset are both being ignored. Instead, each time the periodic watcher gets scheduled, the reschedule callback ( reschedule_cb ) will be called with the watcher as first, and the current time as second argument.

    This callback must not stop or destroy this or any other periodic watchers, ever, and must not call any event loop functions or methods. To stop it return 1e30 and stop it afterwards. An EvPrepare watcher may be used for this task.

    It must return the next time to trigger, based on the passed time value (that is, the lowest time value larger than or equal to the second argument). It will usually be called just before the callback will be triggered, but might be called at other times, too.

    Exemplo #1 Using reschedule callback

    <?php
    // Tick each 10.5 seconds

    function reschedule_cb ($watcher, $now) {
       return     $now + (10.5. - fmod($now, 10.5));
    }

    $w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
       echo     time(), PHP_EOL;
    });

    Ev::run();
    ?>


The Ev class

(PECL ev >= 0.2.0)

Introdução

Ev is a static class providing access to the default loop and to some common operations.

Sinopse da classe

final Ev {
/* Constants */
const int FLAG_AUTO = 0 ;
const int FLAG_NOENV = 16777216 ;
const int FLAG_FORKCHECK = 33554432 ;
const int FLAG_NOINOTIFY = 1048576 ;
const int FLAG_SIGNALFD = 2097152 ;
const int FLAG_NOSIGMASK = 4194304 ;
const int RUN_NOWAIT = 1 ;
const int RUN_ONCE = 2 ;
const int BREAK_CANCEL = 0 ;
const int BREAK_ONE = 1 ;
const int BREAK_ALL = 2 ;
const int MINPRI = -2 ;
const int MAXPRI = 2 ;
const int READ = 1 ;
const int WRITE = 2 ;
const int TIMER = 256 ;
const int PERIODIC = 512 ;
const int SIGNAL = 1024 ;
const int CHILD = 2048 ;
const int STAT = 4096 ;
const int IDLE = 8192 ;
const int PREPARE = 16384 ;
const int CHECK = 32768 ;
const int EMBED = 65536 ;
const int CUSTOM = 16777216 ;
const int ERROR = 2147483648 ;
const int BACKEND_SELECT = 1 ;
const int BACKEND_POLL = 2 ;
const int BACKEND_EPOLL = 4 ;
const int BACKEND_KQUEUE = 8 ;
const int BACKEND_DEVPOLL = 16 ;
const int BACKEND_PORT = 32 ;
const int BACKEND_ALL = 63 ;
const int BACKEND_MASK = 65535 ;
/* Métodos */
final public static backend ( ) : int
final public static depth ( ) : int
final public static embeddableBackends ( ) : int
final public static feedSignal ( int $signum ) : void
final public static feedSignalEvent ( int $signum ) : void
final public static iteration ( ) : int
final public static now ( ) : float
final public static nowUpdate ( ) : void
final public static recommendedBackends ( ) : int
final public static resume ( ) : void
final public static run ( int $flags = ? ) : void
final public static sleep ( float $seconds ) : void
final public static stop ( int $how = ? ) : void
final public static supportedBackends ( ) : int
final public static suspend ( ) : void
final public static time ( ) : float
final public static verify ( ) : void
}

Constantes pré-definidas

Flags passed to create a loop:

Ev::FLAG_AUTO

The default flags value

Ev::FLAG_NOENV

If this flag used(or the program runs setuid or setgid), libev won't look at the environment variable LIBEV_FLAGS . Otherwise(by default), LIBEV_FLAGS will override the flags completely if it is found. Useful for performance tests and searching for bugs.

Ev::FLAG_FORKCHECK

Makes libev check for a fork in each iteration, instead of calling EvLoop::fork() manually. This works by calling getpid() on every iteration of the loop, and thus this might slow down the event loop with lots of loop iterations, but usually is not noticeable. This flag setting cannot be overridden or specified in the LIBEV_FLAGS environment variable.

Ev::FLAG_NOINOTIFY

When this flag is specified, libev won't attempt to use the inotify API for its » ev_stat watchers. The flag can be useful to conserve inotify file descriptors, as otherwise each loop using ev_stat watchers consumes one inotify handle.

Ev::FLAG_SIGNALFD

When this flag is specified, libev will attempt to use the signalfd API for its » ev_signal (and » ev_child ) watchers. This API delivers signals synchronously, which makes it both faster and might make it possible to get the queued signal data. It can also simplify signal handling with threads, as long as signals are properly blocked in threads. Signalfd will not be used by default.

Ev::FLAG_NOSIGMASK

When this flag is specified, libev will avoid to modify the signal mask. Specifically, this means having to make sure signals are unblocked before receiving them.

This behaviour is useful for custom signal handling, or handling signals only in specific threads.

Flags passed to Ev::run() , or EvLoop::run()

Ev::RUN_NOWAIT

Means that event loop will look for new events, will handle those events and any already outstanding ones, but will not wait and block the process in case there are no events and will return after one iteration of the loop. This is sometimes useful to poll and handle new events while doing lengthy calculations, to keep the program responsive.

Ev::RUN_ONCE

Means that event loop will look for new events (waiting if necessary) and will handle those and any already outstanding ones. It will block the process until at least one new event arrives (which could be an event internal to libev itself, so there is no guarantee that a user-registered callback will be called), and will return after one iteration of the loop.

Flags passed to Ev::stop() , or EvLoop::stop()

Ev::BREAK_CANCEL

Cancel the break operation.

Ev::BREAK_ONE

Makes the innermost Ev::run() (or EvLoop::run() ) call return.

Ev::BREAK_ALL

Makes all nested Ev::run() (or EvLoop::run() ) calls return.

Watcher priorities:

Ev::MINPRI

Minimum allowed watcher priority.

Ev::MAXPRI

Maximum allowed watcher priority.

Bit masks of (received) events:

Ev::READ

The file descriptor in the EvIo watcher has become readable.

Ev::WRITE

The file descriptor in the EvIo watcher has become writable.

Ev::TIMER

EvTimer watcher has been timed out.

Ev::PERIODIC

EvPeriodic watcher has been timed out.

Ev::SIGNAL

A signal specified in EvSignal::__construct() has been received.

Ev::CHILD

The pid specified in EvChild::__construct() has received a status change.

Ev::STAT

The path specified in EvStat watcher changed its attributes.

Ev::IDLE

EvIdle watcher works when there is nothing to do with other watchers.

Ev::PREPARE

All EvPrepare watchers are invoked just before Ev::run() starts. Thus, EvPrepare watchers are the last watchers invoked before the event loop sleeps or polls for new events.

Ev::CHECK

All EvCheck watchers are queued just after Ev::run() has gathered the new events, but before it queues any callbacks for any received events. Thus, EvCheck watchers will be invoked before any other watchers of the same or lower priority within an event loop iteration.

Ev::EMBED

The embedded event loop specified in the EvEmbed watcher needs attention.

Ev::CUSTOM

Not ever sent(or otherwise used) by libev itself, but can be freely used by libev users to signal watchers (e.g. via EvWatcher::feed() ).

Ev::ERROR

An unspecified error has occurred, the watcher has been stopped. This might happen because the watcher could not be properly started because libev ran out of memory, a file descriptor was found to be closed or any other problem. Libev considers these application bugs. See also » ANATOMY OF A WATCHER

Backend flags:

Ev::BACKEND_SELECT

select(2) backend

Ev::BACKEND_POLL

poll(2) backend

Ev::BACKEND_EPOLL

Linux-specific epoll(7) backend for both pre- and post-2.6.9 kernels

Ev::BACKEND_KQUEUE

kqueue backend used on most BSD systems. EvEmbed watcher could be used to embed one loop(with kqueue backend) into another. For instance, one can try to create an event loop with kqueue backend and use it for sockets only.

Ev::BACKEND_DEVPOLL

Solaris 8 backend. This is not implemented yet.

Ev::BACKEND_PORT

Solaris 10 event port mechanism with a good scaling.

Ev::BACKEND_ALL

Try all backends(even currupted ones). It's not recommended to use it explicitly. Bitwise operators should be applied here(e.g. Ev::BACKEND_ALL & ~ Ev::BACKEND_KQUEUE ) Use Ev::recommendedBackends() , or don't specify any backends at all.

Ev::BACKEND_MASK

Not a backend, but a mask to select all backend bits from flags value to mask out any backends(e.g. when modifying the LIBEV_FLAGS environment variable).

Nota:

For the default loop during module initialization phase Ev registers » ev_loop_fork call by means of pthread_atfork (if available).

Nota:

There are methods providing access to the default event loop in Ev class(e.g. Ev::iteration() , Ev::depth() etc.) For custom loops (created with EvLoop::__construct() ) these values may be accessed via corresponding properties and methods of the EvLoop class.

The instance of the default event loop itself can be fetched by means of EvLoop::defaultLoop() method.

Índice

  • Ev::backend — Returns an integer describing the backend used by libev
  • Ev::depth — Returns recursion depth
  • Ev::embeddableBackends — Returns the set of backends that are embeddable in other event loops
  • Ev::feedSignal — Feed a signal event info Ev
  • Ev::feedSignalEvent — Feed signal event into the default loop
  • Ev::iteration — Return the number of times the default event loop has polled for new events
  • Ev::now — Returns the time when the last iteration of the default event loop has started
  • Ev::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress
  • Ev::recommendedBackends — Returns a bit mask of recommended backends for current platform
  • Ev::resume — Resume previously suspended default event loop
  • Ev::run — Begin checking for events and calling callbacks for the default loop
  • Ev::sleep — Block the process for the given number of seconds
  • Ev::stop — Stops the default event loop
  • Ev::supportedBackends — Returns the set of backends supported by current libev configuration
  • Ev::suspend — Suspend the default event loop
  • Ev::time — Returns the current time in fractional seconds since the epoch
  • Ev::verify — Performs internal consistency checks(for debugging)


Returns an integer describing the backend used by libev

  • « Ev
  • Ev::depth »
  • PHP Manual
  • Ev
  • Returns an integer describing the backend used by libev

Ev::backend

(PECL ev >= 0.2.0)

Ev::backend — Returns an integer describing the backend used by libev

Descrição

final public static Ev::backend ( ) : int

Returns an integer describing the backend used by libev . See Backend flags

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer(bit mask) describing the backend used by libev .

Veja Também

  • EvEmbed
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops
  • Ev::recommendedBackends() - Returns a bit mask of recommended backends for current platform
  • Ev::supportedBackends() - Returns the set of backends supported by current libev configuration
  • Backend flags


Returns recursion depth

  • « Ev::backend
  • Ev::embeddableBackends »
  • PHP Manual
  • Ev
  • Returns recursion depth

Ev::depth

(PECL ev >= 0.2.0)

Ev::depth — Returns recursion depth

Descrição

final public static Ev::depth ( ) : int

The number of times Ev::run() was entered minus the number of times Ev::run() was exited normally, in other words, the recursion depth. Outside Ev::run() , this number is 0 . In a callback, this number is 1 , unless Ev::run() was invoked recursively (or from another thread), in which case it is higher.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

ev_depth() returns recursion depth of the default loop.

Veja Também

  • Ev::iteration() - Return the number of times the default event loop has polled for new events


Returns the set of backends that are embeddable in other event loops

  • « Ev::depth
  • Ev::feedSignal »
  • PHP Manual
  • Ev
  • Returns the set of backends that are embeddable in other event loops

Ev::embeddableBackends

(PECL ev >= 0.2.0)

Ev::embeddableBackends — Returns the set of backends that are embeddable in other event loops

Descrição

final public static Ev::embeddableBackends ( ) : int

Returns the set of backends that are embeddable in other event loops.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a bit mask which can containing backend flags combined using bitwise OR operator.

Exemplos

Exemplo #1 Embedding loop created with kqueue backend into the default loop

<?php
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop        = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed       = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
 if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
  $embed = new EvEmbed($loop);
 }
}

if (!$socket_loop) {
 $socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Veja Também

  • EvEmbed
  • Ev::recommendedBackends() - Returns a bit mask of recommended backends for current platform
  • Ev::supportedBackends() - Returns the set of backends supported by current libev configuration
  • Backend flags
  • Examples


Feed a signal event info Ev

  • « Ev::embeddableBackends
  • Ev::feedSignalEvent »
  • PHP Manual
  • Ev
  • Feed a signal event info Ev

Ev::feedSignal

(PECL ev >= 0.2.0)

Ev::feedSignal — Feed a signal event info Ev

Descrição

final public static Ev::feedSignal ( int $signum ) : void

Simulates a signal receive. It is safe to call this function at any time, from any context, including signal handlers or random threads. Its main use is to customise signal handling in the process.

Unlike Ev::feedSignalEvent() , this works regardless of which loop has registered the signal.

Parâmetros

signum

Signal number. See signal(7) man page for detals. You can use constants exported by pcntl extension.

Valor Retornado

Não há valor retornado.

Veja Também

  • Ev::feedSignalEvent() - Feed signal event into the default loop


Feed signal event into the default loop

  • « Ev::feedSignal
  • Ev::iteration »
  • PHP Manual
  • Ev
  • Feed signal event into the default loop

Ev::feedSignalEvent

(Não há informação de versão disponível, talvez apenas no Git)

Ev::feedSignalEvent — Feed signal event into the default loop

Descrição

final public static Ev::feedSignalEvent ( int $signum ) : void

Feed signal event into the default loop. Ev will react to this call as if the signal specified by signal had occurred.

Parâmetros

signum

Signal number. See signal(7) man page for detals. See also constants exported by pcntl extension.

Valor Retornado

Não há valor retornado.

Veja Também

  • Ev::feedSignal() - Feed a signal event info Ev


Return the number of times the default event loop has polled for new events

  • « Ev::feedSignalEvent
  • Ev::now »
  • PHP Manual
  • Ev
  • Return the number of times the default event loop has polled for new events

Ev::iteration

(PECL ev >= 0.2.0)

Ev::iteration — Return the number of times the default event loop has polled for new events

Descrição

final public static Ev::iteration ( ) : int

Return the number of times the event loop has polled for new events. Sometimes useful as a generation counter.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns number of polls of the default event loop.

Veja Também

  • Ev::depth() - Returns recursion depth


Returns the time when the last iteration of the default event loop has started

  • « Ev::iteration
  • Ev::nowUpdate »
  • PHP Manual
  • Ev
  • Returns the time when the last iteration of the default event loop has started

Ev::now

(PECL ev >= 0.2.0)

Ev::now — Returns the time when the last iteration of the default event loop has started

Descrição

final public static Ev::now ( ) : float

Returns the time when the last iteration of the default event loop has started. This is the time that timers( EvTimer and EvPeriodic ) are based on, and referring to it is usually faster then calling Ev::time() .

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns number of seconds(fractional) representing the time when the last iteration of the default event loop has started.

Veja Também

  • Ev::nowUpdate() - Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress


Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress

  • « Ev::now
  • Ev::recommendedBackends »
  • PHP Manual
  • Ev
  • Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress

Ev::nowUpdate

(PECL ev >= 0.2.0)

Ev::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress

Descrição

final public static Ev::nowUpdate ( ) : void

Establishes the current time by querying the kernel, updating the time returned by Ev::now() in the progress. This is a costly operation and is usually done automatically within Ev::run() .

This method is rarely useful, but when some event callback runs for a very long time without entering the event loop, updating libev 's consideration of the current time is a good idea.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • Ev::now() - Returns the time when the last iteration of the default event loop has started


Returns a bit mask of recommended backends for current platform

  • « Ev::nowUpdate
  • Ev::resume »
  • PHP Manual
  • Ev
  • Returns a bit mask of recommended backends for current platform

Ev::recommendedBackends

(PECL ev >= 0.2.0)

Ev::recommendedBackends — Returns a bit mask of recommended backends for current platform

Descrição

final public static Ev::recommendedBackends ( ) : int

Returns the set of all backends compiled into this binary of libev and also recommended for this platform, meaning it will work for most file descriptor types. This set is often smaller than the one returned by ev_supported_backends() , as for example kqueue is broken on most BSD systems and will not be auto-detected unless it is requested explicitly. This is the set of backends that libev will probe no backends specified explicitly.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a bit mask which can containing backend flags combined using bitwise OR operator.

Exemplos

Exemplo #1 Embedding one loop into another

<?php
/*
* Try to get an embeddable event loop and embed it into the default event loop.
* If it is impossible, use the default
* loop. The default loop is stored in $loop_hi, while the embeddable loop is
* stored in $loop_lo(which is $loop_hi in the case no embeddable loop can be
* used).
*
* Sample translated to PHP
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop_hi = EvLoop::defaultLoop();
$loop_lo = NULL;
$embed   = NULL;

/*
* See if there is a chance of getting one that works
* (flags' value of 0 means autodetection)
*/
$loop_lo = Ev::embeddableBackends() & Ev::recommendedBackends()
 ? new EvLoop(Ev::embeddableBackends() & Ev::recommendedBackends())
 : 0;

if ($loop_lo) {
 $embed = new EvEmbed($loop_lo, function () {});
} else {
 $loop_lo = $loop_hi;
}
?>

Veja Também

  • EvEmbed
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops
  • Ev::supportedBackends() - Returns the set of backends supported by current libev configuration
  • Backend flags
  • Examples


Resume previously suspended default event loop

  • « Ev::recommendedBackends
  • Ev::run »
  • PHP Manual
  • Ev
  • Resume previously suspended default event loop

Ev::resume

(PECL ev >= 0.2.0)

Ev::resume — Resume previously suspended default event loop

Descrição

final public static Ev::resume ( ) : void

Ev::suspend() and Ev::resume() methods suspend and resume a loop correspondingly.

All timer watchers will be delayed by the time spend between suspend and resume , and all periodic watchers will be rescheduled(that is, they will lose any events that would have occurred while suspended).

After calling Ev::suspend() it is not allowed to call any function on the given loop other than Ev::resume() . Also it is not allowed to call Ev::resume() without a previous call to Ev::suspend() .

Calling suspend / resume has the side effect of updating the event loop time(see Ev::nowUpdate() ).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • Ev::suspend() - Suspend the default event loop


Begin checking for events and calling callbacks for the default loop

  • « Ev::resume
  • Ev::sleep »
  • PHP Manual
  • Ev
  • Begin checking for events and calling callbacks for the default loop

Ev::run

(PECL ev >= 0.2.0)

Ev::run — Begin checking for events and calling callbacks for the default loop

Descrição

final public static Ev::run ( int $flags = ? ) : void

Begin checking for events and calling callbacks for the default loop . Returns when a callback calls Ev::stop() method, or the flags are nonzero(in which case the return value is true) or when there are no active watchers which reference the loop( EvWatcher::keepalive() is true), in which case the return value will be false. The return value can generally be interpreted as if true, there is more work left to do .

Parâmetros

flags

Optional parameter flags can be one of the following:

List for possible values of flags
flags | Description
0 | The default behavior described above
Ev::RUN_ONCE | Block at most one(wait, but don't loop)
Ev::RUN_NOWAIT | Don't block at all(fetch/handle events, but don't wait)

See the run flag constants .

Valor Retornado

Não há valor retornado.

Veja Também

  • Ev::stop() - Stops the default event loop
  • EvLoop::run() - Begin checking for events and calling callbacks for the loop


Block the process for the given number of seconds

  • « Ev::run
  • Ev::stop »
  • PHP Manual
  • Ev
  • Block the process for the given number of seconds

Ev::sleep

(PECL ev >= 0.2.0)

Ev::sleep — Block the process for the given number of seconds

Descrição

final public static Ev::sleep ( float $seconds ) : void

Block the process for the given number of seconds.

Parâmetros

seconds

Fractional number of seconds

Valor Retornado

Não há valor retornado.


Stops the default event loop

  • « Ev::sleep
  • Ev::supportedBackends »
  • PHP Manual
  • Ev
  • Stops the default event loop

Ev::stop

(PECL ev >= 0.2.0)

Ev::stop — Stops the default event loop

Descrição

final public static Ev::stop ( int $how = ? ) : void

Stops the default event loop

Parâmetros

how

One of Ev::BREAK_* constants .

Valor Retornado

Não há valor retornado.

Veja Também

  • Ev::run() - Begin checking for events and calling callbacks for the default loop


Returns the set of backends supported by current libev configuration

  • « Ev::stop
  • Ev::suspend »
  • PHP Manual
  • Ev
  • Returns the set of backends supported by current libev configuration

Ev::supportedBackends

(PECL ev >= 0.2.0)

Ev::supportedBackends — Returns the set of backends supported by current libev configuration

Descrição

final public static Ev::supportedBackends ( ) : int

Returns the set of backends supported by current libev configuration.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a bit mask which can containing backend flags combined using bitwise OR operator.

Exemplos

Exemplo #1 Embedding loop created with kqueue backend into the default loop

<?php
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop        = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed       = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
 if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
  $embed = new EvEmbed($loop);
 }
}

if (!$socket_loop) {
 $socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Veja Também

  • EvEmbed
  • Ev::recommendedBackends() - Returns a bit mask of recommended backends for current platform
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops
  • Backend flags
  • Examples


Suspend the default event loop

  • « Ev::supportedBackends
  • Ev::time »
  • PHP Manual
  • Ev
  • Suspend the default event loop

Ev::suspend

(PECL ev >= 0.2.0)

Ev::suspend — Suspend the default event loop

Descrição

final public static Ev::suspend ( ) : void

Ev::suspend() and Ev::resume() methods suspend and resume the default loop correspondingly.

All timer watchers will be delayed by the time spend between suspend and resume , and all periodic watchers will be rescheduled(that is, they will lose any events that would have occurred while suspended).

After calling Ev::suspend() it is not allowed to call any function on the given loop other than Ev::resume() . Also it is not allowed to call Ev::resume() without a previous call to Ev::suspend() .

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • Ev::resume() - Resume previously suspended default event loop


Returns the current time in fractional seconds since the epoch

  • « Ev::suspend
  • Ev::verify »
  • PHP Manual
  • Ev
  • Returns the current time in fractional seconds since the epoch

Ev::time

(PECL ev >= 0.2.0)

Ev::time — Returns the current time in fractional seconds since the epoch

Descrição

final public static Ev::time ( ) : float

Returns the current time in fractional seconds since the epoch. Consider using Ev::now()

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current time in fractional seconds since the epoch.

Veja Também

  • Ev::now() - Returns the time when the last iteration of the default event loop has started


Performs internal consistency checks(for debugging)

  • « Ev::time
  • EvCheck »
  • PHP Manual
  • Ev
  • Performs internal consistency checks(for debugging)

Ev::verify

(PECL ev >= 0.2.0)

Ev::verify — Performs internal consistency checks(for debugging)

Descrição

final public static Ev::verify ( ) : void

Performs internal consistency checks(for debugging libev ) and abort the program if any data structures were found to be corrupted.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


The EvCheck class

(PECL ev >= 0.2.0)

Introdução

EvPrepare and EvCheck watchers are usually used in pairs. EvPrepare watchers get invoked before the process blocks, EvCheck afterwards.

It is not allowed to call EvLoop::run() or similar methods or functions that enter the current event loop from either EvPrepare or EvCheck watchers. Other loops than the current one are fine, however. The rationale behind this is that one don't need to check for recursion in those watchers, i.e. the sequence will always be: EvPrepare -> blocking -> EvCheck , so having a watcher of each kind they will always be called in pairs bracketing the blocking call.

The main purpose is to integrate other event mechanisms into libev and their use is somewhat advanced. They could be used, for example, to track variable changes, implement custom watchers, integrate net-snmp or a coroutine library and lots more. They are also occasionally useful to cache some data and want to flush it before blocking.

It is recommended to give EvCheck watchers highest( Ev::MAXPRI ) priority, to ensure that they are being run before any other watchers after the poll (this doesn’t matter for EvPrepare watchers).

Also, EvCheck watchers should not activate/feed events. While libev fully supports this, they might get executed before other EvCheck watchers did their job.

Sinopse da classe

EvCheck extends EvWatcher {
/* Propriedades herdadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( callable $callback , mixed $data = ? , int $priority = ? )
final public static createStopped ( string $callback , string $data = ? , string $priority = ? ) : object
/* Métodos herdados */
public EvWatcher::clear ( ) : int
abstract public EvWatcher::__construct ( )
public EvWatcher::feed ( int $revents ) : void
public EvWatcher::getLoop ( ) : EvLoop
public EvWatcher::invoke ( int $revents ) : void
public EvWatcher::keepalive ( bool $value = ? ) : bool
public EvWatcher::setCallback ( callable $callback ) : void
public EvWatcher::start ( ) : void
public EvWatcher::stop ( ) : void
}

Índice

  • EvCheck::__construct — Constructs the EvCheck watcher object
  • EvCheck::createStopped — Create instance of a stopped EvCheck watcher


Constructs the EvCheck watcher object

  • « EvCheck
  • EvCheck::createStopped »
  • PHP Manual
  • EvCheck
  • Constructs the EvCheck watcher object

EvCheck::__construct

(PECL ev >= 0.2.0)

EvCheck::__construct — Constructs the EvCheck watcher object

Descrição

public EvCheck::__construct ( callable $callback , mixed $data = ? , int $priority = ? )

Constructs the EvCheck watcher object.

Parâmetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvCheck object on success.

Veja Também

  • EvPrepare
  • EvLoop::check() - Creates EvCheck object associated with the current event loop instance


Create instance of a stopped EvCheck watcher

  • « EvCheck::__construct
  • EvChild »
  • PHP Manual
  • EvCheck
  • Create instance of a stopped EvCheck watcher

EvCheck::createStopped

(PECL ev >= 0.2.0)

EvCheck::createStopped — Create instance of a stopped EvCheck watcher

Descrição

final public static EvCheck::createStopped ( string $callback , string $data = ? , string $priority = ? ) : object

Create instance of a stopped EvCheck watcher

Parâmetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvCheck object on success.

Veja Também

  • EvPrepare


The EvChild class

(PECL ev >= 0.2.0)

Introdução

EvChild watchers trigger when the process receives a SIGCHLD in response to some child status changes (most typically when a child dies or exits). It is permissible to install an EvChild watcher after the child has been forked(which implies it might have already exited), as long as the event loop isn't entered(or is continued from a watcher), i.e. forking and then immediately registering a watcher for the child is fine, but forking and registering a watcher a few event loop iterations later or in the next callback invocation is not.

It is allowed to register EvChild watchers in the default loop only.

Sinopse da classe

EvChild extends EvWatcher {
/* Propriedades */
public $pid ;
public $rpid ;
public $rstatus ;
/* Propriedades herdadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( int $pid , bool $trace , callable $callback , mixed $data = null , int $priority = 0 )
final public static createStopped ( int $pid , bool $trace , callable $callback , mixed $data = ? , int $priority = ? ) : object
public set ( int $pid , bool $trace ) : void
/* Métodos herdados */
public EvWatcher::clear ( ) : int
abstract public EvWatcher::__construct ( )
public EvWatcher::feed ( int $revents ) : void
public EvWatcher::getLoop ( ) : EvLoop
public EvWatcher::invoke ( int $revents ) : void
public EvWatcher::keepalive ( bool $value = ? ) : bool
public EvWatcher::setCallback ( callable $callback ) : void
public EvWatcher::start ( ) : void
public EvWatcher::stop ( ) : void
}

Propriedades

pid

Readonly . The process ID this watcher watches out for, or 0 , meaning any process ID.

rpid

Readonly .The process ID that detected a status change.

rstatus

Readonly . The process exit status caused by rpid .

Índice

  • EvChild::__construct — Constructs the EvChild watcher object
  • EvChild::createStopped — Create instance of a stopped EvCheck watcher
  • EvChild::set — Configures the watcher


Constructs the EvChild watcher object

  • « EvChild
  • EvChild::createStopped »
  • PHP Manual
  • EvChild
  • Constructs the EvChild watcher object

EvChild::__construct

(PECL ev >= 0.2.0)

EvChild::__construct — Constructs the EvChild watcher object

Descrição

public EvChild::__construct ( int $pid , bool $trace , callable $callback , mixed $data = null , int $priority = 0 )

Constructs the EvChild watcher object.

Call the callback when a status change for process ID pid (or any PID if pid is 0 ) has been received(a status change happens when the process terminates or is killed, or, when trace is true, additionally when it is stopped or continued). In other words, when the process receives a SIGCHLD , Ev will fetch the outstanding exit/wait status for all changed/zombie children and call the callback.

It is valid to install a child watcher after an EvChild has exited but before the event loop has started its next iteration. For example, first one calls fork , then the new child process might exit, and only then an EvChild watcher is installed in the parent for the new PID .

You can access both exit/tracing status and pid by using the rstatus and rpid properties of the watcher object.

The number of PID watchers per PID is unlimited. All of them will be called.

The EvChild::createStopped() method doesn't start(activate) the newly created watcher.

Parâmetros

pid

Wait for status changes of process PID(or any process if PID is specified as 0 ).

trace

If false, only activate the watcher when the process terminates. Otherwise(true) additionally activate the watcher when the process is stopped or continued.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvChild object on success.

Veja Também

  • EvLoop::child() - Creates EvChild object associated with the current event loop


Create instance of a stopped EvCheck watcher

  • « EvChild::__construct
  • EvChild::set »
  • PHP Manual
  • EvChild
  • Create instance of a stopped EvCheck watcher

EvChild::createStopped

(PECL ev >= 0.2.0)

EvChild::createStopped — Create instance of a stopped EvCheck watcher

Descrição

final public static EvChild::createStopped ( int $pid , bool $trace , callable $callback , mixed $data = ? , int $priority = ? ) : object

The same as EvChild::__construct() , but doesn't start the watcher automatically.

Parâmetros

pid

The same as for EvChild::__construct()

trace

The same as for EvChild::__construct()

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Veja Também

  • EvChild::__construct() - Constructs the EvChild watcher object
  • EvLoop::child() - Creates EvChild object associated with the current event loop


Configures the watcher

  • « EvChild::createStopped
  • EvEmbed »
  • PHP Manual
  • EvChild
  • Configures the watcher

EvChild::set

(PECL ev >= 0.2.0)

EvChild::set — Configures the watcher

Descrição

public EvChild::set ( int $pid , bool $trace ) : void

Parâmetros

pid

The same as for EvChild::__construct()

trace

The same as for EvChild::__construct()

Valor Retornado

Não há valor retornado.

Veja Também

  • EvChild::__construct() - Constructs the EvChild watcher object


The EvEmbed class

(PECL ev >= 0.2.0)

Introdução

Used to embed one event loop into another.

Sinopse da classe

EvEmbed extends EvWatcher {
/* Propriedades */
public $embed ;
/* Métodos */
public __construct ( object $other , callable $callback = ? , mixed $data = ? , int $priority = ? )
final public static createStopped ( object $other , callable $callback = ? , mixed $data = ? , int $priority = ? ) : void
public set ( object $other ) : void
public sweep ( ) : void
/* Métodos herdados */
public EvWatcher::clear ( ) : int
abstract public EvWatcher::__construct ( )
public EvWatcher::feed ( int $revents ) : void
public EvWatcher::getLoop ( ) : EvLoop
public EvWatcher::invoke ( int $revents ) : void
public EvWatcher::keepalive ( bool $value = ? ) : bool
public EvWatcher::setCallback ( callable $callback ) : void
public EvWatcher::start ( ) : void
public EvWatcher::stop ( ) : void
}

Propriedades

is_active

data

is_pending

priority

embed

Índice

  • EvEmbed::__construct — Constructs the EvEmbed object
  • EvEmbed::createStopped — Create stopped EvEmbed watcher object
  • EvEmbed::set — Configures the watcher
  • EvEmbed::sweep — Make a single, non-blocking sweep over the embedded loop


Constructs the EvEmbed object

  • « EvEmbed
  • EvEmbed::createStopped »
  • PHP Manual
  • EvEmbed
  • Constructs the EvEmbed object

EvEmbed::__construct

(PECL ev >= 0.2.0)

EvEmbed::__construct — Constructs the EvEmbed object

Descrição

public EvEmbed::__construct ( object $other , callable $callback = ? , mixed $data = ? , int $priority = ? )

This is a rather advanced watcher type that lets to embed one event loop into another(currently only IO events are supported in the embedded loop, other types of watchers might be handled in a delayed or incorrect fashion and must not be used).

See » the libev documentation for details.

This watcher is most useful on BSD systems without working kqueue to still be able to handle a large number of sockets. See example below.

Parâmetros

other

Instance of EvLoop . The loop to embed, this loop must be embeddable(see Ev::embeddableBackends() ).

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvEmbed object on success.

Exemplos

Exemplo #1 Embedding loop created with kqueue backend into the default loop

<?php
/*
 * Check if kqueue is available but not recommended and create a kqueue backend
 * for use with sockets (which usually work with any kqueue implementation).
 * Store the kqueue/socket-only event loop in loop_socket. (One might optionally
 * use EVFLAG_NOENV, too)
 *
 * Example borrowed from
 * http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
 */
$loop        = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed       = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
    if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
        $embed = new EvEmbed($loop);
    }
}

if (!$socket_loop) {
    $socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Veja Também

  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops


Create stopped EvEmbed watcher object

  • « EvEmbed::__construct
  • EvEmbed::set »
  • PHP Manual
  • EvEmbed
  • Create stopped EvEmbed watcher object

EvEmbed::createStopped

(PECL ev >= 0.2.0)

EvEmbed::createStopped — Create stopped EvEmbed watcher object

Descrição

final public static EvEmbed::createStopped ( object $other , callable $callback = ? , mixed $data = ? , int $priority = ? ) : void

The same as EvEmbed::__construct() , but doesn't start the watcher automatically.

Parâmetros

other

The same as for EvEmbed::__construct()

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns stopped EvEmbed object on success.

Veja Também

  • EvEmbed::__construct() - Constructs the EvEmbed object
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops


Configures the watcher

  • « EvEmbed::createStopped
  • EvEmbed::sweep »
  • PHP Manual
  • EvEmbed
  • Configures the watcher

EvEmbed::set

(PECL ev >= 0.2.0)

EvEmbed::set — Configures the watcher

Descrição

public EvEmbed::set ( object $other ) : void

Configures the watcher to use other event loop object.

Parâmetros

other

The same as for EvEmbed::__construct()

Valor Retornado

Não há valor retornado.


Make a single, non-blocking sweep over the embedded loop

  • « EvEmbed::set
  • EvFork »
  • PHP Manual
  • EvEmbed
  • Make a single, non-blocking sweep over the embedded loop

EvEmbed::sweep

(PECL ev >= 0.2.0)

EvEmbed::sweep — Make a single, non-blocking sweep over the embedded loop

Descrição

public EvEmbed::sweep ( ) : void

Make a single, non-blocking sweep over the embedded loop. Works similarly to the following, but in the most appropriate way for embedded loops:

<?php
$other->start(Ev::RUN_NOWAIT);
?>

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • EvWatcher::start() - Starts the watcher


The EvFork class

(PECL ev >= 0.2.0)

Introdução

Fork watchers are called when a fork() was detected (usually because whoever signalled libev about it by calling EvLoop::fork() ). The invocation is done before the event loop blocks next and before EvCheck watchers are being called, and only in the child after the fork. Note, that if whoever calling EvLoop::fork() calls it in the wrong process, the fork handlers will be invoked, too.

Sinopse da classe

EvFork extends EvWatcher {
/* Propriedades herdadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( callable $callback , mixed $data = null , int $priority = 0 )
final public static createStopped ( string $callback , string $data = ? , string $priority = ? ) : object
/* Métodos herdados */
public EvWatcher::clear ( ) : int
abstract public EvWatcher::__construct ( )
public EvWatcher::feed ( int $revents ) : void
public EvWatcher::getLoop ( ) : EvLoop
public EvWatcher::invoke ( int $revents ) : void
public EvWatcher::keepalive ( bool $value = ? ) : bool
public EvWatcher::setCallback ( callable $callback ) : void
public EvWatcher::start ( ) : void
public EvWatcher::stop ( ) : void
}

Índice

  • EvFork::__construct — Constructs the EvFork watcher object
  • EvFork::createStopped — Creates a stopped instance of EvFork watcher class


Constructs the EvFork watcher object

  • « EvFork
  • EvFork::createStopped »
  • PHP Manual
  • EvFork
  • Constructs the EvFork watcher object

EvFork::__construct

(PECL ev >= 0.2.0)

EvFork::__construct — Constructs the EvFork watcher object

Descrição

public EvFork::__construct ( callable $callback , mixed $data = null , int $priority = 0 )

Constructs the EvFork watcher object and starts the watcher automatically.

Parâmetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvFork object on success.

Veja Também

  • EvLoop::fork() - Creates EvFork watcher object associated with the current event loop instance
  • EvCheck


Creates a stopped instance of EvFork watcher class

  • « EvFork::__construct
  • EvIdle »
  • PHP Manual
  • EvFork
  • Creates a stopped instance of EvFork watcher class

EvFork::createStopped

(PECL ev >= 0.2.0)

EvFork::createStopped — Creates a stopped instance of EvFork watcher class

Descrição

final public static EvFork::createStopped ( string $callback , string $data = ? , string $priority = ? ) : object

The same as EvFork::__construct() , but doesn't start the watcher automatically.

Parâmetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvFork(stopped) object on success.

Veja Também

  • EvFork::__construct() - Constructs the EvFork watcher object


The EvIdle class

(PECL ev >= 0.2.0)

Introdução

EvIdle watchers trigger events when no other events of the same or higher priority are pending ( EvPrepare , EvCheck and other EvIdle watchers do not count as receiving events ).

Thus, as long as the process is busy handling sockets or timeouts(or even signals) of the same or higher priority it will not be triggered. But when the process is in idle(or only lower-priority watchers are pending), the EvIdle watchers are being called once per event loop iteration - until stopped, that is, or the process receives more events and becomes busy again with higher priority stuff.

Apart from keeping the process non-blocking(which is a useful on its own sometimes), EvIdle watchers are a good place to do "pseudo-background processing" , or delay processing stuff to after the event loop has handled all outstanding events.

The most noticeable effect is that as long as any idle watchers are active, the process will not block when waiting for new events.

Sinopse da classe

EvIdle extends EvWatcher {
/* Propriedades herdadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( callable $callback , mixed $data = ? , int $priority = ? )
final public static createStopped ( string $callback , mixed $data = ? , int $priority = ? ) : object
/* Métodos herdados */
public EvWatcher::clear ( ) : int
abstract public EvWatcher::__construct ( )
public EvWatcher::feed ( int $revents ) : void
public EvWatcher::getLoop ( ) : EvLoop
public EvWatcher::invoke ( int $revents ) : void
public EvWatcher::keepalive ( bool $value = ? ) : bool
public EvWatcher::setCallback ( callable $callback ) : void
public EvWatcher::start ( ) : void
public EvWatcher::stop ( ) : void
}

Índice

  • EvIdle::__construct — Constructs the EvIdle watcher object
  • EvIdle::createStopped — Creates instance of a stopped EvIdle watcher object


Constructs the EvIdle watcher object

  • « EvIdle
  • EvIdle::createStopped »
  • PHP Manual
  • EvIdle
  • Constructs the EvIdle watcher object

EvIdle::__construct

(PECL ev >= 0.2.0)

EvIdle::__construct — Constructs the EvIdle watcher object

Descrição

public EvIdle::__construct ( callable $callback , mixed $data = ? , int $priority = ? )

Constructs the EvIdle watcher object and starts the watcher automatically.

Parâmetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvIdle object on success.

Veja Também

  • EvIdle::createStopped() - Creates instance of a stopped EvIdle watcher object
  • EvLoop::idle() - Creates EvIdle watcher object associated with the current event loop instance


Creates instance of a stopped EvIdle watcher object

  • « EvIdle::__construct
  • EvIo »
  • PHP Manual
  • EvIdle
  • Creates instance of a stopped EvIdle watcher object

EvIdle::createStopped

(PECL ev >= 0.2.0)

EvIdle::createStopped — Creates instance of a stopped EvIdle watcher object

Descrição

final public static EvIdle::createStopped ( string $callback , mixed $data = ? , int $priority = ? ) : object

The same as EvIdle::__construct() , but doesn't start the watcher automatically.

Parâmetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvIdle object on success.

Veja Também

  • EvIdle::__construct() - Constructs the EvIdle watcher object
  • EvLoop::idle() - Creates EvIdle watcher object associated with the current event loop instance


The EvIo class

(PECL ev >= 0.2.0)

Introdução

EvIo watchers check whether a file descriptor(or socket, or a stream castable to numeric file descriptor) is readable or writable in each iteration of the event loop, or, more precisely, when reading would not block the process and writing would at least be able to write some data. This behaviour is called level-triggering because events are kept receiving as long as the condition persists. To stop receiving events just stop the watcher.

The number of read and/or write event watchers per fd is unlimited. Setting all file descriptors to non-blocking mode is also usually a good idea(but not required).

Another thing to watch out for is that it is quite easy to receive false readiness notifications, i.e. the callback might be called with Ev::READ but a subsequent read() will actually block because there is no data. It is very easy to get into this situation. Thus it is best to always use non-blocking I/O: An extra read() returning EAGAIN (or similar) is far preferable to a program hanging until some data arrives.

If for some reason it is impossible to run the fd in non-blocking mode, then separately re-test whether a file descriptor is really ready. Some people additionally use SIGALRM and an interval timer, just to be sure thry won't block infinitely.

Always consider using non-blocking mode.

Sinopse da classe

EvIo extends EvWatcher {
/* Propriedades */
public $fd ;
public $events ;
/* Propriedades herdadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( mixed $fd , int $events , callable $callback , mixed $data = ? , int $priority = ? )
final public static createStopped ( mixed $fd , int $events , callable $callback , mixed $data = null , int $priority = 0 ) : EvIo
public set ( mixed $fd , int $events ) : void
/* Métodos herdados */
public EvWatcher::clear ( ) : int
abstract public EvWatcher::__construct ( )
public EvWatcher::feed ( int $revents ) : void
public EvWatcher::getLoop ( ) : EvLoop
public EvWatcher::invoke ( int $revents ) : void
public EvWatcher::keepalive ( bool $value = ? ) : bool
public EvWatcher::setCallback ( callable $callback ) : void
public EvWatcher::start ( ) : void
public EvWatcher::stop ( ) : void
}

Propriedades

fd

events

Índice

  • EvIo::__construct — Constructs EvIo watcher object
  • EvIo::createStopped — Create stopped EvIo watcher object
  • EvIo::set — Configures the watcher


Constructs EvIo watcher object

  • « EvIo
  • EvIo::createStopped »
  • PHP Manual
  • EvIo
  • Constructs EvIo watcher object

EvIo::__construct

(PECL ev >= 0.2.0)

EvIo::__construct — Constructs EvIo watcher object

Descrição

public EvIo::__construct ( mixed $fd , int $events , callable $callback , mixed $data = ? , int $priority = ? )

Constructs EvIo watcher object and starts the watcher automatically.

Parâmetros

fd

Can be a stream opened with fopen() or similar functions, numeric file descriptor, or socket.

events

Ev::READ and/or Ev::WRITE . See the bit masks .

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvIo object on success.

Veja Também

  • EvIo::createStopped() - Create stopped EvIo watcher object
  • EvLoop::io() - Create EvIo watcher object associated with the current event loop instance


Create stopped EvIo watcher object

  • « EvIo::__construct
  • EvIo::set »
  • PHP Manual
  • EvIo
  • Create stopped EvIo watcher object

EvIo::createStopped

(PECL ev >= 0.2.0)

EvIo::createStopped — Create stopped EvIo watcher object

Descrição

final public static EvIo::createStopped ( mixed $fd , int $events , callable $callback , mixed $data = null , int $priority = 0 ) : EvIo

The same as EvIo::__construct() , but doesn't start the watcher automatically.

Parâmetros

fd

The same as for EvIo::__construct()

events

The same as for EvIo::__construct()

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvIo object on success.

Veja Também

  • EvIo::__construct() - Constructs EvIo watcher object
  • EvLoop::io() - Create EvIo watcher object associated with the current event loop instance


Configures the watcher

  • « EvIo::createStopped
  • EvLoop »
  • PHP Manual
  • EvIo
  • Configures the watcher

EvIo::set

(PECL ev >= 0.2.0)

EvIo::set — Configures the watcher

Descrição

public EvIo::set ( mixed $fd , int $events ) : void

Configures the EvIo watcher

Parâmetros

fd

The same as for EvIo::__construct()

events

The same as for EvIo::__construct()

Valor Retornado

Não há valor retornado.


The EvLoop class

(PECL ev >= 0.2.0)

Introdução

Represents an event loop that is always distinct from the default loop . Unlike the default loop , it cannot handle EvChild watchers.

Having threads we have to create a loop per thread, and use the default loop in the parent thread.

The default event loop is initialized automatically by Ev . It is accessible via methods of the Ev class, or via EvLoop::defaultLoop() method.

Sinopse da classe

final EvLoop {
/* Propriedades */
public $data ;
public $backend ;
public $is_default_loop ;
public $iteration ;
public $pending ;
public $io_interval ;
public $timeout_interval ;
public $depth ;
/* Métodos */
public backend ( ) : int
final public check ( string $callback , string $data = ? , string $priority = ? ) : EvCheck
final public child ( string $pid , string $trace , string $callback , string $data = ? , string $priority = ? ) : EvChild
public __construct ( int $flags = ? , mixed $data = NULL , float $io_interval = 0.0 , float $timeout_interval = 0.0 )
public static defaultLoop ( int $flags = Ev::FLAG_AUTO , mixed $data = NULL , float $io_interval = 0. , float $timeout_interval = 0. ) : EvLoop
final public embed ( string $other , string $callback = ? , string $data = ? , string $priority = ? ) : EvEmbed
final public fork ( callable $callback , mixed $data = null , int $priority = 0 ) : EvFork
final public idle ( callable $callback , mixed $data = null , int $priority = 0 ) : EvIdle
public invokePending ( ) : void
final public io ( mixed $fd , int $events , callable $callback , mixed $data = null , int $priority = 0 ) : EvIo
public loopFork ( ) : void
public now ( ) : float
public nowUpdate ( ) : void
final public periodic ( float $offset , float $interval , callable $callback , mixed $data = null , int $priority = 0 ) : EvPeriodic
final public prepare ( callable $callback , mixed $data = null , int $priority = 0 ) : EvPrepare
public resume ( ) : void
public run ( int $flags = 0 ) : void
final public signal ( int $signum , callable $callback , mixed $data = null , int $priority = 0 ) : EvSignal
final public stat ( string $path , float $interval , callable $callback , mixed $data = null , int $priority = 0 ) : EvStat
public stop ( int $how = ? ) : void
public suspend ( ) : void
final public timer ( float $after , float $repeat , callable $callback , mixed $data = null , int $priority = 0 ) : EvTimer
public verify ( ) : void
}

Propriedades

data

Custom data attached to loop

backend

Readonly . The backend flags indicating the event backend in use.

is_default_loop

Readonly . true if it is the default event loop.

iteration

The current iteration count of the loop. See Ev::iteration()

pending

The number of pending watchers. 0 indicates that there are no watchers pending.

io_interval

Higher io_interval allows libev to spend more time collecting EvIo events, so more events can be handled per iteration, at the cost of increasing latency. Timeouts (both EvPeriodic and EvTimer ) will not be affected. Setting this to a non-zero value will introduce an additional sleep() call into most loop iterations. The sleep time ensures that libev will not poll for EvIo events more often than once per this interval, on average. Many programs can usually benefit by setting the io_interval to a value near 0.1 , which is often enough for interactive servers(not for games). It usually doesn't make much sense to set it to a lower value than 0.01 , as this approaches the timing granularity of most systems.

See also » FUNCTIONS CONTROLLING EVENT LOOPS .

timeout_interval

Higher timeout_interval allows libev to spend more time collecting timeouts, at the expense of increased latency/jitter/inexactness(the watcher callback will be called later). EvIo watchers will not be affected. Setting this to a non-null value will not introduce any overhead in libev . See also » FUNCTIONS CONTROLLING EVENT LOOPS .

depth

The recursion depth. See Ev::depth() .

Índice

  • EvLoop::backend — Returns an integer describing the backend used by libev
  • EvLoop::check — Creates EvCheck object associated with the current event loop instance
  • EvLoop::child — Creates EvChild object associated with the current event loop
  • EvLoop::__construct — Constructs the event loop object
  • EvLoop::defaultLoop — Returns or creates the default event loop
  • EvLoop::embed — Creates an instance of EvEmbed watcher associated with the current EvLoop object
  • EvLoop::fork — Creates EvFork watcher object associated with the current event loop instance
  • EvLoop::idle — Creates EvIdle watcher object associated with the current event loop instance
  • EvLoop::invokePending — Invoke all pending watchers while resetting their pending state
  • EvLoop::io — Create EvIo watcher object associated with the current event loop instance
  • EvLoop::loopFork — Must be called after a fork
  • EvLoop::now — Returns the current "event loop time"
  • EvLoop::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress
  • EvLoop::periodic — Creates EvPeriodic watcher object associated with the current event loop instance
  • EvLoop::prepare — Creates EvPrepare watcher object associated with the current event loop instance
  • EvLoop::resume — Resume previously suspended default event loop
  • EvLoop::run — Begin checking for events and calling callbacks for the loop
  • EvLoop::signal — Creates EvSignal watcher object associated with the current event loop instance
  • EvLoop::stat — Creates EvStat watcher object associated with the current event loop instance
  • EvLoop::stop — Stops the event loop
  • EvLoop::suspend — Suspend the loop
  • EvLoop::timer — Creates EvTimer watcher object associated with the current event loop instance
  • EvLoop::verify — Performs internal consistency checks(for debugging)


Returns an integer describing the backend used by libev

  • « EvLoop
  • EvLoop::check »
  • PHP Manual
  • EvLoop
  • Returns an integer describing the backend used by libev

EvLoop::backend

(PECL ev >= 0.2.0)

EvLoop::backend — Returns an integer describing the backend used by libev

Descrição

public EvLoop::backend ( ) : int

The same as Ev::backend() , but for the loop instance.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer describing the backend used by libev. See Ev::backend() .

Veja Também

  • Ev::backend() - Returns an integer describing the backend used by libev


Creates EvCheck object associated with the current event loop instance

  • « EvLoop::backend
  • EvLoop::child »
  • PHP Manual
  • EvLoop
  • Creates EvCheck object associated with the current event loop instance

EvLoop::check

(PECL ev >= 0.2.0)

EvLoop::check — Creates EvCheck object associated with the current event loop instance

Descrição

final public EvLoop::check ( string $callback , string $data = ? , string $priority = ? ) : EvCheck

Creates EvCheck object associated with the current event loop instance.

Parâmetros

All parameters have the same meaning as for EvCheck::__construct()

Valor Retornado

Returns EvCheck object on success.

Veja Também

  • EvCheck::__construct() - Constructs the EvCheck watcher object


Creates EvChild object associated with the current event loop

  • « EvLoop::check
  • EvLoop::__construct »
  • PHP Manual
  • EvLoop
  • Creates EvChild object associated with the current event loop

EvLoop::child

(PECL ev >= 0.2.0)

EvLoop::child — Creates EvChild object associated with the current event loop

Descrição

final public EvLoop::child ( string $pid , string $trace , string $callback , string $data = ? , string $priority = ? ) : EvChild

Creates EvChild object associated with the current event loop.

Parâmetros

All parameters have the same meaning as for EvChild::__construct()

Valor Retornado

Returns EvChild object on success.

Veja Também

  • EvChild::__construct() - Constructs the EvChild watcher object


Constructs the event loop object

  • « EvLoop::child
  • EvLoop::defaultLoop »
  • PHP Manual
  • EvLoop
  • Constructs the event loop object

EvLoop::__construct

(PECL ev >= 0.2.0)

EvLoop::__construct — Constructs the event loop object

Descrição

public EvLoop::__construct ( int $flags = ? , mixed $data = NULL , float $io_interval = 0.0 , float $timeout_interval = 0.0 )

Constructs the event loop object.

Parâmetros

flags

One of the event loop flags

data

Custom data associated with the loop.

io_interval

See io_interval

timeout_interval

See timeout_interval

Valor Retornado

Returns new EvLoop object.

Veja Também

  • EvLoop::defaultLoop() - Returns or creates the default event loop


Returns or creates the default event loop

  • « EvLoop::__construct
  • EvLoop::embed »
  • PHP Manual
  • EvLoop
  • Returns or creates the default event loop

EvLoop::defaultLoop

(PECL ev >= 0.2.0)

EvLoop::defaultLoop — Returns or creates the default event loop

Descrição

public static EvLoop::defaultLoop ( int $flags = Ev::FLAG_AUTO , mixed $data = NULL , float $io_interval = 0. , float $timeout_interval = 0. ) : EvLoop

If the default event loop is not created, EvLoop::defaultLoop() creates it with the specified parameters. Otherwise, it just returns the object representing previously created instance ignoring all the parameters.

Parâmetros

flags

One of the event loop flags

data

Custom data to associate with the loop.

io_collect_interval

See io_interval

timeout_collect_interval

See timeout_interval

Valor Retornado

Returns EvLoop object on success.

Veja Também

  • EvLoop::__construct() - Constructs the event loop object


Creates an instance of EvEmbed watcher associated with the current EvLoop object

  • « EvLoop::defaultLoop
  • EvLoop::fork »
  • PHP Manual
  • EvLoop
  • Creates an instance of EvEmbed watcher associated with the current EvLoop object

EvLoop::embed

(PECL ev >= 0.2.0)

EvLoop::embed — Creates an instance of EvEmbed watcher associated with the current EvLoop object

Descrição

final public EvLoop::embed ( string $other , string $callback = ? , string $data = ? , string $priority = ? ) : EvEmbed

Creates an instance of EvEmbed watcher associated with the current EvLoop object.

Parâmetros

All parameters have the same meaning as for EvEmbed::__construct() .

Valor Retornado

Returns EvEmbed object on success.

Veja Também

  • EvEmbed::__construct() - Constructs the EvEmbed object


Creates EvFork watcher object associated with the current event loop instance

  • « EvLoop::embed
  • EvLoop::idle »
  • PHP Manual
  • EvLoop
  • Creates EvFork watcher object associated with the current event loop instance

EvLoop::fork

(PECL ev >= 0.2.0)

EvLoop::fork — Creates EvFork watcher object associated with the current event loop instance

Descrição

final public EvLoop::fork ( callable $callback , mixed $data = null , int $priority = 0 ) : EvFork

Creates EvFork watcher object associated with the current event loop instance

Parâmetros

All parameters have the same meaning as for EvFork::__construct()

Valor Retornado

Returns EvFork object on success.

Veja Também

  • EvFork::__construct() - Constructs the EvFork watcher object


Creates EvIdle watcher object associated with the current event loop instance

  • « EvLoop::fork
  • EvLoop::invokePending »
  • PHP Manual
  • EvLoop
  • Creates EvIdle watcher object associated with the current event loop instance

EvLoop::idle

(PECL ev >= 0.2.0)

EvLoop::idle — Creates EvIdle watcher object associated with the current event loop instance

Descrição

final public EvLoop::idle ( callable $callback , mixed $data = null , int $priority = 0 ) : EvIdle

Creates EvIdle watcher object associated with the current event loop instance

Parâmetros

All the parameters have the same meaning as for EvIdle::__construct()

Valor Retornado

Returns EvIdle object on success.

Veja Também

  • EvIdle::__construct() - Constructs the EvIdle watcher object


Invoke all pending watchers while resetting their pending state

  • « EvLoop::idle
  • EvLoop::io »
  • PHP Manual
  • EvLoop
  • Invoke all pending watchers while resetting their pending state

EvLoop::invokePending

(PECL ev >= 0.2.0)

EvLoop::invokePending — Invoke all pending watchers while resetting their pending state

Descrição

public EvLoop::invokePending ( ) : void

Invoke all pending watchers while resetting their pending state.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Create EvIo watcher object associated with the current event loop instance

  • « EvLoop::invokePending
  • EvLoop::loopFork »
  • PHP Manual
  • EvLoop
  • Create EvIo watcher object associated with the current event loop instance

EvLoop::io

(PECL ev >= 0.2.0)

EvLoop::io — Create EvIo watcher object associated with the current event loop instance

Descrição

final public EvLoop::io ( mixed $fd , int $events , callable $callback , mixed $data = null , int $priority = 0 ) : EvIo

Create EvIo watcher object associated with the current event loop instance.

Parâmetros

All parameters have the same meaning as for EvIo::__construct()

Valor Retornado

Returns EvIo object on success.

Veja Também

  • EvIo::__construct() - Constructs EvIo watcher object


Must be called after a fork

  • « EvLoop::io
  • EvLoop::now »
  • PHP Manual
  • EvLoop
  • Must be called after a fork

EvLoop::loopFork

(PECL ev >= 0.2.0)

EvLoop::loopFork — Must be called after a fork

Descrição

public EvLoop::loopFork ( ) : void

Must be called after a fork in the child, before entering or continuing the event loop. An alternative is to use Ev::FLAG_FORKCHECK which calls this function automatically, at some performance loss (refer to the » libev documentation ).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Returns the current "event loop time"

  • « EvLoop::loopFork
  • EvLoop::nowUpdate »
  • PHP Manual
  • EvLoop
  • Returns the current "event loop time"

EvLoop::now

(PECL ev >= 0.2.0)

EvLoop::now — Returns the current "event loop time"

Descrição

public EvLoop::now ( ) : float

Returns the current "event loop time", which is the time the event loop received events and started processing them. This timestamp does not change as long as callbacks are being processed, and this is also the base time used for relative timers. You can treat it as the timestamp of the event occurring(or more correctly, libev finding out about it).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns time of the event loop in (fractional) seconds.

Veja Também

  • Ev::now() - Returns the time when the last iteration of the default event loop has started


Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress

  • « EvLoop::now
  • EvLoop::periodic »
  • PHP Manual
  • EvLoop
  • Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress

EvLoop::nowUpdate

(PECL ev >= 0.2.0)

EvLoop::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress

Descrição

public EvLoop::nowUpdate ( ) : void

Establishes the current time by querying the kernel, updating the time returned by EvLoop::now() in the progress. This is a costly operation and is usually done automatically within EvLoop::run() .

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • EvLoop::now() - Returns the current "event loop time"
  • Ev::nowUpdate() - Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress


Creates EvPeriodic watcher object associated with the current event loop instance

  • « EvLoop::nowUpdate
  • EvLoop::prepare »
  • PHP Manual
  • EvLoop
  • Creates EvPeriodic watcher object associated with the current event loop instance

EvLoop::periodic

(PECL ev >= 0.2.0)

EvLoop::periodic — Creates EvPeriodic watcher object associated with the current event loop instance

Descrição

final public EvLoop::periodic ( float $offset , float $interval , callable $callback , mixed $data = null , int $priority = 0 ) : EvPeriodic

Creates EvPeriodic watcher object associated with the current event loop instance

Parâmetros

All parameters have the same maening as for EvPeriodic::__construct()

Valor Retornado

Returns EvPeriodic object on success.

Veja Também

  • EvPeriodic::__construct() - Constructs EvPeriodic watcher object


Creates EvPrepare watcher object associated with the current event loop instance

  • « EvLoop::periodic
  • EvLoop::resume »
  • PHP Manual
  • EvLoop
  • Creates EvPrepare watcher object associated with the current event loop instance

EvLoop::prepare

(PECL ev >= 0.2.0)

EvLoop::prepare — Creates EvPrepare watcher object associated with the current event loop instance

Descrição

final public EvLoop::prepare ( callable $callback , mixed $data = null , int $priority = 0 ) : EvPrepare

Creates EvPrepare watcher object associated with the current event loop instance

Parâmetros

All parameters have the same maening as for EvPrepare()

Valor Retornado

Returns EvPrepare object on success

Veja Também

  • EvPrepare::__construct() - Constructs EvPrepare watcher object


Resume previously suspended default event loop

  • « EvLoop::prepare
  • EvLoop::run »
  • PHP Manual
  • EvLoop
  • Resume previously suspended default event loop

EvLoop::resume

(PECL ev >= 0.2.0)

EvLoop::resume — Resume previously suspended default event loop

Descrição

public EvLoop::resume ( ) : void

EvLoop::suspend() and EvLoop::resume() methods suspend and resume a loop correspondingly.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • EvLoop::suspend() - Suspend the loop
  • Ev::resume() - Resume previously suspended default event loop


Begin checking for events and calling callbacks for the loop

  • « EvLoop::resume
  • EvLoop::signal »
  • PHP Manual
  • EvLoop
  • Begin checking for events and calling callbacks for the loop

EvLoop::run

(PECL ev >= 0.2.0)

EvLoop::run — Begin checking for events and calling callbacks for the loop

Descrição

public EvLoop::run ( int $flags = 0 ) : void

Begin checking for events and calling callbacks for the current event loop. Returns when a callback calls Ev::stop() method, or the flags are nonzero(in which case the return value is true) or when there are no active watchers which reference the loop( EvWatcher::keepalive() is true), in which case the return value will be false. The return value can generally be interpreted as if true, there is more work left to do .

Parâmetros

flags

Optional parameter flags can be one of the following:

List for possible values of flags
flags | Description
0 | The default behavior described above
Ev::RUN_ONCE | Block at most one(wait, but don't loop)
Ev::RUN_NOWAIT | Don't block at all(fetch/handle events, but don't wait)

See the run flag constants .

Valor Retornado

Não há valor retornado.

Veja Também

  • EvLoop::stop() - Stops the event loop
  • Ev::run() - Begin checking for events and calling callbacks for the default loop


Creates EvSignal watcher object associated with the current event loop instance

  • « EvLoop::run
  • EvLoop::stat »
  • PHP Manual
  • EvLoop
  • Creates EvSignal watcher object associated with the current event loop instance

EvLoop::signal

(PECL ev >= 0.2.0)

EvLoop::signal — Creates EvSignal watcher object associated with the current event loop instance

Descrição

final public EvLoop::signal ( int $signum , callable $callback , mixed $data = null , int $priority = 0 ) : EvSignal

Creates EvSignal watcher object associated with the current event loop instance

Parâmetros

All parameters have the same meaning as for EvSignal::__construct()

Valor Retornado

Returns EvSignal object on success

Veja Também

  • EvSignal::__construct() - Constructs EvSignal watcher object


Creates EvStat watcher object associated with the current event loop instance

  • « EvLoop::signal
  • EvLoop::stop »
  • PHP Manual
  • EvLoop
  • Creates EvStat watcher object associated with the current event loop instance

EvLoop::stat

(PECL ev >= 0.2.0)

EvLoop::stat — Creates EvStat watcher object associated with the current event loop instance

Descrição

final public EvLoop::stat ( string $path , float $interval , callable $callback , mixed $data = null , int $priority = 0 ) : EvStat

Creates EvStat watcher object associated with the current event loop instance

Parâmetros

All parameters have the same meaning as for EvSignal::__construct()

Valor Retornado

Returns EvStat object on success

Veja Também

  • EvSignal::__construct() - Constructs EvSignal watcher object


Stops the event loop

  • « EvLoop::stat
  • EvLoop::suspend »
  • PHP Manual
  • EvLoop
  • Stops the event loop

EvLoop::stop

(PECL ev >= 0.2.0)

EvLoop::stop — Stops the event loop

Descrição

public EvLoop::stop ( int $how = ? ) : void

Stops the event loop

Parâmetros

how

One of Ev::BREAK_* constants .

Valor Retornado

Não há valor retornado.

Veja Também

  • EvLoop::run() - Begin checking for events and calling callbacks for the loop
  • Ev::stop() - Stops the default event loop


Suspend the loop

  • « EvLoop::stop
  • EvLoop::timer »
  • PHP Manual
  • EvLoop
  • Suspend the loop

EvLoop::suspend

(PECL ev >= 0.2.0)

EvLoop::suspend — Suspend the loop

Descrição

public EvLoop::suspend ( ) : void

EvLoop::suspend() and EvLoop::resume() methods suspend and resume a loop correspondingly.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • EvLoop::resume() - Resume previously suspended default event loop
  • Ev::suspend() - Suspend the default event loop


Creates EvTimer watcher object associated with the current event loop instance

  • « EvLoop::suspend
  • EvLoop::verify »
  • PHP Manual
  • EvLoop
  • Creates EvTimer watcher object associated with the current event loop instance

EvLoop::timer

(PECL ev >= 0.2.0)

EvLoop::timer — Creates EvTimer watcher object associated with the current event loop instance

Descrição

final public EvLoop::timer ( float $after , float $repeat , callable $callback , mixed $data = null , int $priority = 0 ) : EvTimer

Creates EvTimer watcher object associated with the current event loop instance

Parâmetros

All parameters have the same meaning as for EvTimer::__construct()

Valor Retornado

Returns EvTimer object on success

Veja Também

  • EvTimer::__construct() - Constructs an EvTimer watcher object


Performs internal consistency checks(for debugging)

  • « EvLoop::timer
  • EvPeriodic »
  • PHP Manual
  • EvLoop
  • Performs internal consistency checks(for debugging)

EvLoop::verify

(PECL ev >= 0.2.0)

EvLoop::verify — Performs internal consistency checks(for debugging)

Descrição

public EvLoop::verify ( ) : void

Performs internal consistency checks(for debugging libev ) and abort the program if any data structures were found to be corrupted.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • Ev::verify() - Performs internal consistency checks(for debugging)


The EvPeriodic class

(PECL ev >= 0.2.0)

Introdução

Periodic watchers are also timers of a kind, but they are very versatile.

Unlike EvTimer , EvPeriodic watchers are not based on real time(or relative time, the physical time that passes) but on wall clock time(absolute time, calendar or clock). The difference is that wall clock time can run faster or slower than real time, and time jumps are not uncommon(e.g. when adjusting it).

EvPeriodic watcher can be configured to trigger after some specific point in time. For example, if an EvPeriodic watcher is configured to trigger "in 10 seconds" (e.g. EvLoop::now() + 10.0 , i.e. an absolute time, not a delay), and the system clock is reset to January of the previous year , then it will take a year or more to trigger the event (unlike an EvTimer , which would still trigger roughly 10 seconds after starting it as it uses a relative timeout).

As with timers, the callback is guaranteed to be invoked only when the point in time where it is supposed to trigger has passed. If multiple timers become ready during the same loop iteration then the ones with earlier time-out values are invoked before ones with later time-out values (but this is no longer true when a callback calls EvLoop::run() recursively).

Sinopse da classe

EvPeriodic extends EvWatcher {
/* Propriedades */
public $offset ;
public $interval ;
/* Propriedades herdadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public again ( ) : void
public at ( ) : float
public __construct ( float $offset , string $interval , callable $reschedule_cb , callable $callback , mixed $data = null , int $priority = 0 )
final public static createStopped ( float $offset , float $interval , callable $reschedule_cb , callable $callback , mixed $data = null , int $priority = 0 ) : EvPeriodic
public set ( float $offset , float $interval ) : void
/* Métodos herdados */
public EvWatcher::clear ( ) : int
abstract public EvWatcher::__construct ( )
public EvWatcher::feed ( int $revents ) : void
public EvWatcher::getLoop ( ) : EvLoop
public EvWatcher::invoke ( int $revents ) : void
public EvWatcher::keepalive ( bool $value = ? ) : bool
public EvWatcher::setCallback ( callable $callback ) : void
public EvWatcher::start ( ) : void
public EvWatcher::stop ( ) : void
}

Propriedades

offset

When repeating, this contains the offset value, otherwise this is the absolute point in time(the offset value passed to EvPeriodic::set() , although libev might modify this value for better numerical stability).

interval

The current interval value. Can be modified any time, but changes only take effect when the periodic timer fires or EvPeriodic::again() is being called.

Índice

  • EvPeriodic::again — Simply stops and restarts the periodic watcher again
  • EvPeriodic::at — Returns the absolute time that this watcher is supposed to trigger next
  • EvPeriodic::__construct — Constructs EvPeriodic watcher object
  • EvPeriodic::createStopped — Create a stopped EvPeriodic watcher
  • EvPeriodic::set — Configures the watcher


Simply stops and restarts the periodic watcher again

  • « EvPeriodic
  • EvPeriodic::at »
  • PHP Manual
  • EvPeriodic
  • Simply stops and restarts the periodic watcher again

EvPeriodic::again

(PECL ev >= 0.2.0)

EvPeriodic::again — Simply stops and restarts the periodic watcher again

Descrição

public EvPeriodic::again ( ) : void

Simply stops and restarts the periodic watcher again. This is only useful when attributes are changed.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • EvTimer::again() - Restarts the timer watcher


Returns the absolute time that this watcher is supposed to trigger next

  • « EvPeriodic::again
  • EvPeriodic::__construct »
  • PHP Manual
  • EvPeriodic
  • Returns the absolute time that this watcher is supposed to trigger next

EvPeriodic::at

(PECL ev >= 0.2.0)

EvPeriodic::at — Returns the absolute time that this watcher is supposed to trigger next

Descrição

public EvPeriodic::at ( ) : float

When the watcher is active, returns the absolute time that this watcher is supposed to trigger next. This is not the same as the offset argument to EvPeriodic::set() or EvPeriodic::__construct() , but indeed works even in interval mode.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the absolute time this watcher is supposed to trigger next in seconds.


Constructs EvPeriodic watcher object

  • « EvPeriodic::at
  • EvPeriodic::createStopped »
  • PHP Manual
  • EvPeriodic
  • Constructs EvPeriodic watcher object

EvPeriodic::__construct

(PECL ev >= 0.2.0)

EvPeriodic::__construct — Constructs EvPeriodic watcher object

Descrição

public EvPeriodic::__construct ( float $offset , string $interval , callable $reschedule_cb , callable $callback , mixed $data = null , int $priority = 0 )

Constructs EvPeriodic watcher object and starts it automatically. EvPeriodic::createStopped() method creates stopped periodic watcher.

Parâmetros

offset

See Periodic watcher operation modes

interval

See Periodic watcher operation modes

reschedule_cb

Reschedule callback. You can pass null. See Periodic watcher operation modes

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvPeriodic object on success.

Exemplos

Exemplo #1 Periodic timer. Use reschedule callback

<?php
// Tick each 10.5 seconds

function reschedule_cb ($watcher, $now) {
 return $now + (10.5. - fmod($now, 10.5));
}

$w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
 echo time(), PHP_EOL;
});
Ev::run();
?>

Exemplo #2 Periodic timer. Tick every 10.5 seconds starting at now

<?php
// Tick every 10.5 seconds starting at now
$w = new EvPeriodic(fmod(Ev::now(), 10.5), 10.5, NULL, function ($w, $revents) {
 echo time(), PHP_EOL;
});
Ev::run();
?>

Exemplo #3 Hourly watcher

<?php
$hourly = EvPeriodic(0, 3600, NULL, function () {
 echo "once per hour\n";
});
?>

Veja Também

  • Periodic watcher operation modes
  • EvTimer
  • EvPeriodic::createStopped() - Create a stopped EvPeriodic watcher


Create a stopped EvPeriodic watcher

  • « EvPeriodic::__construct
  • EvPeriodic::set »
  • PHP Manual
  • EvPeriodic
  • Create a stopped EvPeriodic watcher

EvPeriodic::createStopped

(PECL ev >= 0.2.0)

EvPeriodic::createStopped — Create a stopped EvPeriodic watcher

Descrição

final public static EvPeriodic::createStopped ( float $offset , float $interval , callable $reschedule_cb , callable $callback , mixed $data = null , int $priority = 0 ) : EvPeriodic

Create EvPeriodic object. Unlike EvPeriodic::__construct() this method doesn't start the watcher automatically.

Parâmetros

offset

See Periodic watcher operation modes

interval

See Periodic watcher operation modes

reschedule_cb

Reschedule callback. You can pass null. See Periodic watcher operation modes

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvPeriodic watcher object on success.

Veja Também

  • EvPeriodic::__construct() - Constructs EvPeriodic watcher object
  • EvTimer::createStopped() - Creates EvTimer stopped watcher object


Configures the watcher

  • « EvPeriodic::createStopped
  • EvPrepare »
  • PHP Manual
  • EvPeriodic
  • Configures the watcher

EvPeriodic::set

(PECL ev >= 0.2.0)

EvPeriodic::set — Configures the watcher

Descrição

public EvPeriodic::set ( float $offset , float $interval ) : void

(Re-)Configures EvPeriodic watcher

Parâmetros

offset

The same meaning as for EvPeriodic::__construct() . See Periodic watcher operation modes

interval

The same meaning as for EvPeriodic::__construct() . See Periodic watcher operation modes

Valor Retornado

Não há valor retornado.


The EvPrepare class

(PECL ev >= 0.2.0)

Introdução

EvPrepare and EvCheck watchers are usually used in pairs. EvPrepare watchers get invoked before the process blocks, EvCheck afterwards.

It is not allowed to call EvLoop::run() or similar methods or functions that enter the current event loop from either EvPrepare or EvCheck watchers. Other loops than the current one are fine, however. The rationale behind this is that one don't need to check for recursion in those watchers, i.e. the sequence will always be: EvPrepare -> blocking -> EvCheck , so having a watcher of each kind they will always be called in pairs bracketing the blocking call.

The main purpose is to integrate other event mechanisms into libev and their use is somewhat advanced. They could be used, for example, to track variable changes, implement custom watchers, integrate net-snmp or a coroutine library and lots more. They are also occasionally useful to cache some data and want to flush it before blocking.

It is recommended to give EvCheck watchers highest( Ev::MAXPRI ) priority, to ensure that they are being run before any other watchers after the poll (this doesn’t matter for EvPrepare watchers).

Also, EvCheck watchers should not activate/feed events. While libev fully supports this, they might get executed before other EvCheck watchers did their job.

Sinopse da classe

EvPrepare extends EvWatcher {
/* Propriedades herdadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( string $callback , string $data = ? , string $priority = ? )
final public static createStopped ( callable $callback , mixed $data = null , int $priority = 0 ) : EvPrepare
/* Métodos herdados */
public EvWatcher::clear ( ) : int
abstract public EvWatcher::__construct ( )
public EvWatcher::feed ( int $revents ) : void
public EvWatcher::getLoop ( ) : EvLoop
public EvWatcher::invoke ( int $revents ) : void
public EvWatcher::keepalive ( bool $value = ? ) : bool
public EvWatcher::setCallback ( callable $callback ) : void
public EvWatcher::start ( ) : void
public EvWatcher::stop ( ) : void
}

Índice

  • EvPrepare::__construct — Constructs EvPrepare watcher object
  • EvPrepare::createStopped — Creates a stopped instance of EvPrepare watcher


Constructs EvPrepare watcher object

  • « EvPrepare
  • EvPrepare::createStopped »
  • PHP Manual
  • EvPrepare
  • Constructs EvPrepare watcher object

EvPrepare::__construct

(PECL ev >= 0.2.0)

EvPrepare::__construct — Constructs EvPrepare watcher object

Descrição

public EvPrepare::__construct ( string $callback , string $data = ? , string $priority = ? )

Constructs EvPrepare watcher object. And starts the watcher automatically. If need a stopped watcher consider using EvPrepare::createStopped()

Parâmetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvPrepare object on success.

Veja Também

  • EvCheck


Creates a stopped instance of EvPrepare watcher

  • « EvPrepare::__construct
  • EvSignal »
  • PHP Manual
  • EvPrepare
  • Creates a stopped instance of EvPrepare watcher

EvPrepare::createStopped

(PECL ev >= 0.2.0)

EvPrepare::createStopped — Creates a stopped instance of EvPrepare watcher

Descrição

final public static EvPrepare::createStopped ( callable $callback , mixed $data = null , int $priority = 0 ) : EvPrepare

Creates a stopped instance of EvPrepare watcher. Unlike EvPrepare::__construct() , this method doesn' start the watcher automatically.

Parâmetros

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Return EvPrepare object on success.

Veja Também

  • EvPrepare::__construct() - Constructs EvPrepare watcher object
  • EvWatcher::start() - Starts the watcher


The EvSignal class

(PECL ev >= 0.2.0)

Introdução

EvSignal watchers will trigger an event when the process receives a specific signal one or more times. Even though signals are very asynchronous, libev will try its best to deliver signals synchronously, i.e. as part of the normal event processing, like any other event.

There is no limit for the number of watchers for the same signal, but only within the same loop, i.e. one can watch for SIGINT in the default loop and for SIGIO in another loop, but it is not allowed to watch for SIGINT in both the default loop and another loop at the same time. At the moment, SIGCHLD is permanently tied to the default loop.

If possible and supported, libev will install its handlers with SA_RESTART (or equivalent) behaviour enabled, so system calls should not be unduly interrupted. In case of a problem with system calls getting interrupted by signals, all the signals can be blocked in an EvCheck watcher and unblocked in a EvPrepare watcher.

Sinopse da classe

EvSignal extends EvWatcher {
/* Propriedades */
public $signum ;
/* Propriedades herdadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public __construct ( int $signum , callable $callback , mixed $data = null , int $priority = 0 )
final public static createStopped ( int $signum , callable $callback , mixed $data = null , int $priority = 0 ) : EvSignal
public set ( int $signum ) : void
/* Métodos herdados */
public EvWatcher::clear ( ) : int
abstract public EvWatcher::__construct ( )
public EvWatcher::feed ( int $revents ) : void
public EvWatcher::getLoop ( ) : EvLoop
public EvWatcher::invoke ( int $revents ) : void
public EvWatcher::keepalive ( bool $value = ? ) : bool
public EvWatcher::setCallback ( callable $callback ) : void
public EvWatcher::start ( ) : void
public EvWatcher::stop ( ) : void
}

Propriedades

signum

Signal number. See the constants exported by pcntl extension. See also signal(7) man page.

Índice

  • EvSignal::__construct — Constructs EvSignal watcher object
  • EvSignal::createStopped — Create stopped EvSignal watcher object
  • EvSignal::set — Configures the watcher


Constructs EvSignal watcher object

  • « EvSignal
  • EvSignal::createStopped »
  • PHP Manual
  • EvSignal
  • Constructs EvSignal watcher object

EvSignal::__construct

(PECL ev >= 0.2.0)

EvSignal::__construct — Constructs EvSignal watcher object

Descrição

public EvSignal::__construct ( int $signum , callable $callback , mixed $data = null , int $priority = 0 )

Constructs EvSignal watcher object and starts it automatically. For a stopped periodic watcher consider using EvSignal::createStopped() method.

Parâmetros

signum

Signal number. See constants exported by pcntl extension. See also signal(7) man page.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvSignal object on success.

Exemplos

Exemplo #1 Handle SIGTERM signal

<?php
$w = new EvSignal(SIGTERM, function ($watcher) {
    echo "SIGTERM received\n";
    $watcher->stop();
});

Ev::run();
?>

Veja Também

  • EvSignal::createStopped() - Create stopped EvSignal watcher object


Create stopped EvSignal watcher object

  • « EvSignal::__construct
  • EvSignal::set »
  • PHP Manual
  • EvSignal
  • Create stopped EvSignal watcher object

EvSignal::createStopped

(PECL ev >= 0.2.0)

EvSignal::createStopped — Create stopped EvSignal watcher object

Descrição

final public static EvSignal::createStopped ( int $signum , callable $callback , mixed $data = null , int $priority = 0 ) : EvSignal

Create stopped EvSignal watcher object. Unlike EvSignal::__construct() , this method does't start the watcher automatically.

Parâmetros

signum

Signal number. See constants exported by pcntl extension. See also signal(7) man page.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvSignal object on success.

Veja Também

  • EvWatcher::start() - Starts the watcher
  • EvSignal::__construct() - Constructs EvSignal watcher object


Configures the watcher

  • « EvSignal::createStopped
  • EvStat »
  • PHP Manual
  • EvSignal
  • Configures the watcher

EvSignal::set

(PECL ev >= 0.2.0)

EvSignal::set — Configures the watcher

Descrição

public EvSignal::set ( int $signum ) : void

Configures the watcher.

Parâmetros

signum

Signal number. The same as for EvSignal::__construct()

Valor Retornado

Não há valor retornado.


The EvStat class

(PECL ev >= 0.2.0)

Introdução

EvStat monitors a file system path for attribute changes. It calls stat() on that path in regular intervals(or when the OS signals it changed) and sees if it changed compared to the last time, invoking the callback if it did.

The path does not need to exist: changing from "path exists" to "path does not exist" is a status change like any other. The condition "path does not exist" is signified by the 'nlink' item being 0(returned by EvStat::attr() method).

The path must not end in a slash or contain special components such as '.' or .. . The path should be absolute: if it is relative and the working directory changes, then the behaviour is undefined.

Since there is no portable change notification interface available, the portable implementation simply calls stat() regularly on the path to see if it changed somehow. For this case a recommended polling interval can be specified. If one specifies a polling interval of 0.0 (highly recommended) then a suitable, unspecified default value will be used(which could be expected to be around 5 seconds, although this might change dynamically). libev will also impose a minimum interval which is currently around 0.1 , but that’s usually overkill.

This watcher type is not meant for massive numbers of EvStat watchers, as even with OS-supported change notifications, this can be resource-intensive.

Sinopse da classe

EvStat extends EvWatcher {
/* Propriedades */
public $path ;
public $interval ;
/* Propriedades herdadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public attr ( ) : array
public __construct ( string $path , float $interval , callable $callback , mixed $data = null , int $priority = 0 )
final public static createStopped ( string $path , float $interval , callable $callback , mixed $data = null , int $priority = 0 ) : void
public prev ( ) : void
public set ( string $path , float $interval ) : void
public stat ( ) : bool
/* Métodos herdados */
public EvWatcher::clear ( ) : int
abstract public EvWatcher::__construct ( )
public EvWatcher::feed ( int $revents ) : void
public EvWatcher::getLoop ( ) : EvLoop
public EvWatcher::invoke ( int $revents ) : void
public EvWatcher::keepalive ( bool $value = ? ) : bool
public EvWatcher::setCallback ( callable $callback ) : void
public EvWatcher::start ( ) : void
public EvWatcher::stop ( ) : void
}

Propriedades

interval

Readonly . Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

path

Readonly . The path to wait for status changes on.

Índice

  • EvStat::attr — Returns the values most recently detected by Ev
  • EvStat::__construct — Constructs EvStat watcher object
  • EvStat::createStopped — Create a stopped EvStat watcher object
  • EvStat::prev — Returns the previous set of values returned by EvStat::attr
  • EvStat::set — Configures the watcher
  • EvStat::stat — Initiates the stat call


Returns the values most recently detected by Ev

  • « EvStat
  • EvStat::__construct »
  • PHP Manual
  • EvStat
  • Returns the values most recently detected by Ev

EvStat::attr

(PECL ev >= 0.2.0)

EvStat::attr — Returns the values most recently detected by Ev

Descrição

public EvStat::attr ( ) : array

Returns array of the values most recently detected by Ev

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns array with the values most recently detect by Ev(without actual stat 'ing):

List for item keys of the array returned by EvStat::attr()
Key | Description
'dev' | ID of device containing file
'ino' | inode number
'mode' | protection
'nlink' | number of hard links
'uid' | user ID of owner
'size' | total size, in bytes
'gid' | group ID of owner
'rdev' | device ID (if special file)
'blksize' | blocksize for file system I/O
'blocks' | number of 512B blocks allocated
'atime' | time of last access
'ctime' | time of last status change
'mtime' | time of last modification

See stat(2) man page for details.

Exemplos

Exemplo #1 Monitor changes of /var/log/messages

<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
    echo "/var/log/messages changed\n";

    $attr = $w->attr();

    if ($attr['nlink']) {
        printf("Current size: %ld\n", $attr['size']);
        printf("Current atime: %ld\n", $attr['atime']);
        printf("Current mtime: %ld\n", $attr['mtime']);
    } else {
        fprintf(STDERR, "`messages` file is not there!");
        $w->stop();
    }
});

Ev::run();
?>

Veja Também

  • EvStat::prev() - Returns the previous set of values returned by EvStat::attr
  • EvStat::stat() - Initiates the stat call


Constructs EvStat watcher object

  • « EvStat::attr
  • EvStat::createStopped »
  • PHP Manual
  • EvStat
  • Constructs EvStat watcher object

EvStat::__construct

(PECL ev >= 0.2.0)

EvStat::__construct — Constructs EvStat watcher object

Descrição

public EvStat::__construct ( string $path , float $interval , callable $callback , mixed $data = null , int $priority = 0 )

Constructs EvStat watcher object and starts the watcher automatically.

Parâmetros

path

The path to wait for status changes on.

interval

Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvStat watcher object on succes.

Exemplos

Exemplo #1 Monitor changes of /var/log/messages

<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
 echo "/var/log/messages changed\n";

 $attr = $w->attr();

 if ($attr['nlink']) {
  printf("Current size: %ld\n", $attr['size']);
  printf("Current atime: %ld\n", $attr['atime']);
  printf("Current mtime: %ld\n", $attr['mtime']);
 } else {
  fprintf(STDERR, "`messages` file is not there!");
  $w->stop();
 }
});

Ev::run();
?>


Create a stopped EvStat watcher object

  • « EvStat::__construct
  • EvStat::prev »
  • PHP Manual
  • EvStat
  • Create a stopped EvStat watcher object

EvStat::createStopped

(PECL ev >= 0.2.0)

EvStat::createStopped — Create a stopped EvStat watcher object

Descrição

final public static EvStat::createStopped ( string $path , float $interval , callable $callback , mixed $data = null , int $priority = 0 ) : void

Creates EvStat watcher object, but doesn't start it automatically(unlike EvStat::__construct() ).

Parâmetros

path

The path to wait for status changes on.

interval

Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns a stopped EvStat watcher object on success.

Veja Também

  • EvStat::__construct() - Constructs EvStat watcher object
  • EvWatcher::start() - Starts the watcher


Returns the previous set of values returned by EvStat::attr

  • « EvStat::createStopped
  • EvStat::set »
  • PHP Manual
  • EvStat
  • Returns the previous set of values returned by EvStat::attr

EvStat::prev

(PECL ev >= 0.2.0)

EvStat::prev — Returns the previous set of values returned by EvStat::attr

Descrição

public EvStat::prev ( ) : void

Just like EvStat::attr() , but returns the previous set of values.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array with the same structure as the array returned by EvStat::attr() . The array contains previously detected values.

Veja Também

  • EvStat::attr() - Returns the values most recently detected by Ev
  • EvStat::stat() - Initiates the stat call


Configures the watcher

  • « EvStat::prev
  • EvStat::stat »
  • PHP Manual
  • EvStat
  • Configures the watcher

EvStat::set

(PECL ev >= 0.2.0)

EvStat::set — Configures the watcher

Descrição

public EvStat::set ( string $path , float $interval ) : void

Configures the watcher.

Parâmetros

path

The path to wait for status changes on.

interval

Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

Valor Retornado

Não há valor retornado.


Initiates the stat call

  • « EvStat::set
  • EvTimer »
  • PHP Manual
  • EvStat
  • Initiates the stat call

EvStat::stat

(PECL ev >= 0.2.0)

EvStat::stat — Initiates the stat call

Descrição

public EvStat::stat ( ) : bool

Initiates the stat call(updates internal cache). It stats(using lstat ) the path specified in the watcher and sets to the values found.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if path exists. Otherwise false.

Veja Também

  • EvStat::attr() - Returns the values most recently detected by Ev
  • EvStat::prev() - Returns the previous set of values returned by EvStat::attr


The EvTimer class

(PECL ev >= 0.2.0)

Introdução

EvTimer watchers are simple relative timers that generate an event after a given time, and optionally repeating in regular intervals after that.

The timers are based on real time, that is, if one registers an event that times out after an hour and resets the system clock to January last year , it will still time out after(roughly) one hour. "Roughly" because detecting time jumps is hard, and some inaccuracies are unavoidable.

The callback is guaranteed to be invoked only after its timeout has passed (not at, so on systems with very low-resolution clocks this might introduce a small delay). If multiple timers become ready during the same loop iteration then the ones with earlier time-out values are invoked before ones of the same priority with later time-out values (but this is no longer true when a callback calls EvLoop::run() recursively).

The timer itself will do a best-effort at avoiding drift, that is, if a timer is configured to trigger every 10 seconds, then it will normally trigger at exactly 10 second intervals. If, however, the script cannot keep up with the timer because it takes longer than those 10 seconds to do) the timer will not fire more than once per event loop iteration.

Sinopse da classe

EvTimer extends EvWatcher {
/* Propriedades */
public $repeat ;
public $remaining ;
/* Propriedades herdadas */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public again ( ) : void
public __construct ( float $after , float $repeat , callable $callback , mixed $data = null , int $priority = 0 )
final public static createStopped ( float $after , float $repeat , callable $callback , mixed $data = null , int $priority = 0 ) : EvTimer
public set ( float $after , float $repeat ) : void
/* Métodos herdados */
public EvWatcher::clear ( ) : int
abstract public EvWatcher::__construct ( )
public EvWatcher::feed ( int $revents ) : void
public EvWatcher::getLoop ( ) : EvLoop
public EvWatcher::invoke ( int $revents ) : void
public EvWatcher::keepalive ( bool $value = ? ) : bool
public EvWatcher::setCallback ( callable $callback ) : void
public EvWatcher::start ( ) : void
public EvWatcher::stop ( ) : void
}

Propriedades

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

remaining

Returns the remaining time until a timer fires. If the timer is active, then this time is relative to the current event loop time, otherwise it's the timeout value currently configured.

That is, after instanciating an EvTimer with an after value of 5.0 and repeat value of 7.0 , remaining returns 5.0 . When the timer is started and one second passes, remaining will return 4.0 . When the timer expires and is restarted, it will return roughly 7.0 (likely slightly less as callback invocation takes some time too), and so on.

Índice

  • EvTimer::again — Restarts the timer watcher
  • EvTimer::__construct — Constructs an EvTimer watcher object
  • EvTimer::createStopped — Creates EvTimer stopped watcher object
  • EvTimer::set — Configures the watcher


Restarts the timer watcher

  • « EvTimer
  • EvTimer::__construct »
  • PHP Manual
  • EvTimer
  • Restarts the timer watcher

EvTimer::again

(PECL ev >= 0.2.0)

EvTimer::again — Restarts the timer watcher

Descrição

public EvTimer::again ( ) : void

This will act as if the timer timed out and restart it again if it is repeating. The exact semantics are:

  1. if the timer is pending, its pending status is cleared.

  2. if the timer is started but non-repeating, stop it (as if it timed out).

  3. if the timer is repeating, either start it if necessary (with the repeat value), or reset the running timer to the repeat value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • EvWatcher::stop() - Stops the watcher


Constructs an EvTimer watcher object

  • « EvTimer::again
  • EvTimer::createStopped »
  • PHP Manual
  • EvTimer
  • Constructs an EvTimer watcher object

EvTimer::__construct

(PECL ev >= 0.2.0)

EvTimer::__construct — Constructs an EvTimer watcher object

Descrição

public EvTimer::__construct ( float $after , float $repeat , callable $callback , mixed $data = null , int $priority = 0 )

Constructs an EvTimer watcher object.

Parâmetros

after

Configures the timer to trigger after after seconds.

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvTimer object on success.

Exemplos

Exemplo #1 Simple timers

<?php
// Create and start timer firing after 2 seconds
$w1 = new EvTimer(2, 0, function () {
    echo "2 seconds elapsed\n";
});

// Create and launch timer firing after 2 seconds repeating each second
// until we manually stop it
$w2 = new EvTimer(2, 1, function ($w) {
    echo "is called every second, is launched after 2 seconds\n";
    echo "iteration = ", Ev::iteration(), PHP_EOL;

    // Stop the watcher after 5 iterations
    Ev::iteration() == 5 and $w->stop();
    // Stop the watcher if further calls cause more than 10 iterations
    Ev::iteration() >= 10 and $w->stop();
});

// Create stopped timer. It will be inactive until we start it ourselves
$w_stopped = EvTimer::createStopped(10, 5, function($w) {
    echo "Callback of a timer created as stopped\n";

    // Stop the watcher after 2 iterations
    Ev::iteration() >= 2 and $w->stop();
});

// Loop until Ev::stop() is called or all of watchers stop
Ev::run();

// Start and look if it works
$w_stopped->start();
echo "Run single iteration\n";
Ev::run(Ev::RUN_ONCE);

echo "Restart the second watcher and try to handle the same events, but don't block\n";
$w2->again();
Ev::run(Ev::RUN_NOWAIT);

$w = new EvTimer(10, 0, function() {});
echo "Running a blocking loop\n";
Ev::run();
echo "END\n";
?>

O exemplo acima irá imprimir algo similar à:

2 seconds elapsed
is called every second, is launched after 2 seconds
iteration = 1
is called every second, is launched after 2 seconds
iteration = 2
is called every second, is launched after 2 seconds
iteration = 3
is called every second, is launched after 2 seconds
iteration = 4
is called every second, is launched after 2 seconds
iteration = 5
Run single iteration
Callback of a timer created as stopped
Restart the second watcher and try to handle the same events, but don't block
Running a blocking loop
is called every second, is launched after 2 seconds
iteration = 8
is called every second, is launched after 2 seconds
iteration = 9
is called every second, is launched after 2 seconds
iteration = 10
END

Veja Também

  • EvTimer::createStopped() - Creates EvTimer stopped watcher object
  • EvPeriodic
  • » ev_timer - relative and optionally repeating timeouts
  • » Be smart about timeouts


Creates EvTimer stopped watcher object

  • « EvTimer::__construct
  • EvTimer::set »
  • PHP Manual
  • EvTimer
  • Creates EvTimer stopped watcher object

EvTimer::createStopped

(PECL ev >= 0.2.0)

EvTimer::createStopped — Creates EvTimer stopped watcher object

Descrição

final public static EvTimer::createStopped ( float $after , float $repeat , callable $callback , mixed $data = null , int $priority = 0 ) : EvTimer

Creates EvTimer stopped watcher object. Unlike EvTimer::__construct() , this method doesn't start the watcher automatically.

Parâmetros

after

Configures the timer to trigger after after seconds.

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Valor Retornado

Returns EvTimer watcher object on success.

Exemplos

Exemplo #1 Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay

<?php
$timer = EvTimer::createStopped(0., 1.02, function ($w) {
    $w->stop();

    $stat = $w->data;

    // 1 second after the most recent change of the file
    printf("Current size: %ld\n", $stat->attr()['size']);
});

$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
    // Reset timer watcher
    $timer->again();
});

$timer->data = $stat;

Ev::run();
?>

Veja Também

  • EvTimer::__construct() - Constructs an EvTimer watcher object
  • EvPeriodic


Configures the watcher

  • « EvTimer::createStopped
  • EvWatcher »
  • PHP Manual
  • EvTimer
  • Configures the watcher

EvTimer::set

(PECL ev >= 0.2.0)

EvTimer::set — Configures the watcher

Descrição

public EvTimer::set ( float $after , float $repeat ) : void

Configures the watcher

Parâmetros

after

Configures the timer to trigger after after seconds.

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

Valor Retornado

Não há valor retornado.


The EvWatcher class

(PECL ev >= 0.2.0)

Introdução

EvWatcher is a base class for all watchers( EvCheck , EvChild etc.). Since EvWatcher 's constructor is abstract , one can't(and don't need to) create EvWatcher objects directly.

Sinopse da classe

abstract EvWatcher {
/* Propriedades */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Métodos */
public clear ( ) : int
abstract public __construct ( )
public feed ( int $revents ) : void
public getLoop ( ) : EvLoop
public invoke ( int $revents ) : void
public keepalive ( bool $value = ? ) : bool
public setCallback ( callable $callback ) : void
public start ( ) : void
public stop ( ) : void
}

Propriedades

is_active

Readonly . true if the watcher is active. false otherwise.

data

User custom data associated with the watcher

is_pending

Readonly .true if the watcher is pending, i.e. it has outstanding events, but its callback has not yet been invoked. false otherwise. As long, as a watcher is pending(but not active), one must not change its priority.

priority

int between Ev::MINPRI and Ev::MAXPRI . Pending watchers with higher priority will be invoked before watchers with lower priority, but priority will not keep watchers from being executed(except for EvIdle watchers). EvIdle watchers provide functionality to suppress invocation when higher priority events are pending.

Índice

  • EvWatcher::clear — Clear watcher pending status
  • EvWatcher::__construct — Abstract constructor of a watcher object
  • EvWatcher::feed — Feeds the given revents set into the event loop
  • EvWatcher::getLoop — Returns the loop responsible for the watcher
  • EvWatcher::invoke — Invokes the watcher callback with the given received events bit mask
  • EvWatcher::keepalive — Configures whether to keep the loop from returning
  • EvWatcher::setCallback — Sets new callback for the watcher
  • EvWatcher::start — Starts the watcher
  • EvWatcher::stop — Stops the watcher


Clear watcher pending status

  • « EvWatcher
  • EvWatcher::__construct »
  • PHP Manual
  • EvWatcher
  • Clear watcher pending status

EvWatcher::clear

(PECL ev >= 0.2.0)

EvWatcher::clear — Clear watcher pending status

Descrição

public EvWatcher::clear ( ) : int

If the watcher is pending, this method clears its pending status and returns its revents bitset(as if its callback was invoked). If the watcher isn't pending it does nothing and returns 0 .

Sometimes it can be useful to "poll" a watcher instead of waiting for its callback to be invoked, which can be accomplished with this function.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

In case if the watcher is pending, returns revents bitset as if the watcher callback had been invoked. Otherwise returns 0 .


Abstract constructor of a watcher object

  • « EvWatcher::clear
  • EvWatcher::feed »
  • PHP Manual
  • EvWatcher
  • Abstract constructor of a watcher object

EvWatcher::__construct

(PECL ev >= 0.2.0)

EvWatcher::__construct — Abstract constructor of a watcher object

Descrição

abstract public EvWatcher::__construct ( )

EvWatcher::__construct() is an abstract constructor of a watcher object implemented in the derived classes.


Feeds the given revents set into the event loop

  • « EvWatcher::__construct
  • EvWatcher::getLoop »
  • PHP Manual
  • EvWatcher
  • Feeds the given revents set into the event loop

EvWatcher::feed

(PECL ev >= 0.2.0)

EvWatcher::feed — Feeds the given revents set into the event loop

Descrição

public EvWatcher::feed ( int $revents ) : void

Feeds the given revents set into the event loop, as if the specified event had happened for the watcher.

Parâmetros

revents

Bit mask of watcher received events .

Valor Retornado

Não há valor retornado.


Returns the loop responsible for the watcher

  • « EvWatcher::feed
  • EvWatcher::invoke »
  • PHP Manual
  • EvWatcher
  • Returns the loop responsible for the watcher

EvWatcher::getLoop

(PECL ev >= 0.2.0)

EvWatcher::getLoop — Returns the loop responsible for the watcher

Descrição

public EvWatcher::getLoop ( ) : EvLoop

Returns the loop responsible for the watcher

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns EvLoop event loop object responsible for the watcher.


Invokes the watcher callback with the given received events bit mask

  • « EvWatcher::getLoop
  • EvWatcher::keepalive »
  • PHP Manual
  • EvWatcher
  • Invokes the watcher callback with the given received events bit mask

EvWatcher::invoke

(PECL ev >= 0.2.0)

EvWatcher::invoke — Invokes the watcher callback with the given received events bit mask

Descrição

public EvWatcher::invoke ( int $revents ) : void

Invokes the watcher callback with the given received events bit mask.

Parâmetros

revents

Bit mask of watcher received events .

Valor Retornado

Não há valor retornado.


Configures whether to keep the loop from returning

  • « EvWatcher::invoke
  • EvWatcher::setCallback »
  • PHP Manual
  • EvWatcher
  • Configures whether to keep the loop from returning

EvWatcher::keepalive

(PECL ev >= 0.2.0)

EvWatcher::keepalive — Configures whether to keep the loop from returning

Descrição

public EvWatcher::keepalive ( bool $value = ? ) : bool

Configures whether to keep the loop from returning. With keepalive value set to false the watcher won't keep Ev::run() / EvLoop::run() from returning even though the watcher is active.

Watchers have keepalive value true by default.

Clearing keepalive status is useful when returning from Ev::run() / EvLoop::run() just because of the watcher is undesirable. It could be a long running UDP socket watcher or so.

Parâmetros

value

With keepalive value set to false the watcher won't keep Ev::run() / EvLoop::run() from returning even though the watcher is active.

Valor Retornado

Returns the previous state.

Exemplos

Exemplo #1 Register an I/O watcher for some UDP socket but do not keep the event loop from running just because of that watcher.

<?php
$udp_socket = ...
$udp_watcher = new EvIo($udp_socket, Ev::READ, function () { /* ... */ });
$udp_watcher->keepalive(FALSE);
?>


Sets new callback for the watcher

  • « EvWatcher::keepalive
  • EvWatcher::start »
  • PHP Manual
  • EvWatcher
  • Sets new callback for the watcher

EvWatcher::setCallback

(PECL ev >= 0.2.0)

EvWatcher::setCallback — Sets new callback for the watcher

Descrição

public EvWatcher::setCallback ( callable $callback ) : void

Sets new callback for the watcher

Parâmetros

callback

See Watcher callbacks .

Valor Retornado

Não há valor retornado.


Starts the watcher

  • « EvWatcher::setCallback
  • EvWatcher::stop »
  • PHP Manual
  • EvWatcher
  • Starts the watcher

EvWatcher::start

(PECL ev >= 0.2.0)

EvWatcher::start — Starts the watcher

Descrição

public EvWatcher::start ( ) : void

Marks the watcher as active. Note that only active watchers will receive events.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • EvWatcher::stop() - Stops the watcher


Stops the watcher

  • « EvWatcher::start
  • Expect »
  • PHP Manual
  • EvWatcher
  • Stops the watcher

EvWatcher::stop

(PECL ev >= 0.2.0)

EvWatcher::stop — Stops the watcher

Descrição

public EvWatcher::stop ( ) : void

Marks the watcher as inactive. Note that only active watchers will receive events.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • EvWatcher::start() - Starts the watcher


Expect

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Expect Usage Examples
  • Expect Funções
    • expect_expectl — Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen
    • expect_popen — Execute command via Bourne shell, and open the PTY stream to the process


Introdução

This extension allows to interact with processes through PTY. You may consider using the expect:// wrapper with the filesystem functions which provide a simpler and more intuitive interface.


Dependências

This module uses the functions of the » expect library. You need libexpect version >= 5.43.0.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP. Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/expect.

In order to use these functions you must compile PHP with expect support by using the --with-expect[=DIR] configure option.

Windows users will enable php_expect.dll inside of php.ini in order to use these functions. Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

In order to configure expect extension, there are configuration options in the configuration file php.ini.

Expect Opções de Configuração
Nome | Padrão | Modificável | Changelog
expect.timeout | "10" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.logfile | "" | PHP_INI_ALL |
expect.match_max | "" | PHP_INI_ALL |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

expect.timeout int

The timeout period for waiting for the data, when using the expect_expectl() function.

A value of "-1" disables a timeout from occurring.

Nota:

A value of "0" causes the expect_expectl() function to return immediately.

expect.loguser bool

Whether expect should send any output from the spawned process to stdout. Since interactive programs typically echo their input, this usually suffices to show both sides of the conversation.

expect.logfile string

Name of the file, where the output from the spawned process will be written. If this file doesn't exist, it will be created.

Nota:

If this configuration is not empty, the output is written regardless of the value of expect.loguser.

expect.match_max int

Changes default size (2000 bytes) of the buffer used to match asterisks in patterns.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

expect_popen() returns an open PTY stream used by expect_expectl().


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

EXP_GLOB (int)
Indicates that the pattern is a glob-style string pattern.
EXP_EXACT (int)
Indicates that the pattern is an exact string.
EXP_REGEXP (int)
Indicates that the pattern is a regexp-style string pattern.
EXP_EOF (int)
Value, returned by expect_expectl(), when EOF is reached.
EXP_TIMEOUT (int)
Value, returned by expect_expectl() upon timeout of seconds, specified in value of expect.timeout
EXP_FULLBUFFER (int)
Value, returned by expect_expectl() if no pattern have been matched.


  • « Constantes pré-definidas
  • Expect Usage Examples »
  • PHP Manual
  • Expect
  • Exemplos

Exemplos

Índice

  • Expect Usage Examples


Expect Usage Examples

Exemplo #1 Expect Usage Example

This example connects to the remote host via SSH, and prints the remote uptime.

<?php
ini_set("expect.loguser", "Off");

$stream = fopen("expect://ssh root@remotehost uptime", "r");

$cases = array (
    array (0 => "password:", 1 => PASSWORD)
);

switch (expect_expectl ($stream, $cases)) {
    case PASSWORD:
        fwrite ($stream, "password\n");
        break;

    default:
        die ("Error was occurred while connecting to the remote host!\n");
}

while ($line = fgets($stream)) {
      print $line;
}
fclose ($stream);
?>

The following example connects to the remote host, determines whether installed OS is for 32 or 64 bit, then runs update for specific package.

Exemplo #2 Another Expect Usage Example

<?php
ini_set("expect.timeout", -1);
ini_set("expect.loguser", "Off");

$stream = expect_popen("ssh root@remotehost");

while (true) {
    switch (expect_expectl ($stream, array (
            array ("password:", PASSWORD), // SSH is asking for password
            array ("yes/no)?", YESNO), // SSH is asking whether to store the host entry
            array ("~$ ", SHELL, EXP_EXACT), // We've got the shell!
    ))) {
        case PASSWORD:
            fwrite ($stream, "secret\n");
            break;

        case YESNO:
            fwrite ($stream, "yes\n");
            break;

        case SHELL:
            fwrite ($stream, "uname -a\n");
            while (true) {
                    switch (expect_expectl ($stream, array (
                            array ("~$ ", SHELL, EXP_EXACT), // We've got the shell!
                            array ("^Linux.*$", UNAME, EXP_REGEXP), // uname -a output
                    ), $match)) {
                        case UNAME:
                            $uname .= $match[0];
                            break;

                        case SHELL:
                            // Run update:
                            if (strstr ($uname, "x86_64")) {
                                    fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_64bit.rpm\n");
                            } else {
                                    fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_32bit.rpm\n");
                            }
                            fwrite ($stream, "exit\n");
                            break 2;

                        case EXP_TIMEOUT:
                        case EXP_EOF:
                            break 2;

                        default:
                            die ("Error has occurred!\n");
                    }
            }
            break 2;

        case EXP_TIMEOUT:
        case EXP_EOF:
            break 2;

        default:
            die ("Error has occurred!\n");
    }
}

fclose ($stream);
?>


Expect Funções

Índice

  • expect_expectl — Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen
  • expect_popen — Execute command via Bourne shell, and open the PTY stream to the process


Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen

  • « Expect Funções
  • expect_popen »
  • PHP Manual
  • Expect Funções
  • Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen

expect_expectl

(PECL expect >= 0.1.0)

expect_expectl — Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen

Descrição

expect_expectl ( resource $expect , array $cases , array &$match = ? ) : int

Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen.

If match is provided, then it is filled with the result of search. The matched string can be found in match[0]. The match substrings (according to the parentheses) in the original pattern can be found in match[1], match[2], and so on, up to match[9] (the limitation of libexpect).

Parâmetros

expect

An Expect stream, previously opened with expect_popen().

cases

An array of expect cases. Each expect case is an indexed array, as described in the following table:

Expect Case Array
Index Key | Value Type | Description | Is Mandatory | Default Value
0 | string | pattern, that will be matched against the output from the stream | yes
1 | mixed | value, that will be returned by this function, if the pattern matches | yes
2 | integer | pattern type, one of: EXP_GLOB, EXP_EXACT or EXP_REGEXP | no | EXP_GLOB

Valor Retornado

Returns value associated with the pattern that was matched.

On failure this function returns: EXP_EOF, EXP_TIMEOUT or EXP_FULLBUFFER

Changelog

Versão | Descrição
PECL expect 0.2.1 | Prior to version 0.2.1, in match parameter a match string was returned, not an array of match substrings.

Exemplos

Exemplo #1 expect_expectl() example

<?php
// Copies file from remote host:
ini_set("expect.timeout", 30);

$stream = fopen("expect://scp user@remotehost:/var/log/messages /home/user/messages.txt", "r");

$cases = array(
    // array(pattern, value to return if pattern matched)
    array("password:", "asked for password"),
    array("yes/no)?",  "asked for yes/no")
);

while (true) {
    switch (expect_expectl($stream, $cases)) {
        case "asked for password":
            fwrite($stream, "my password\n");
            break;
        case "asked for yes/no":
            fwrite($stream, "yes\n");
            break;
        case EXP_TIMEOUT:
        case EXP_EOF:
            break 2; // break both the switch statement and the while loop
        default:
            die "Error has occurred!";
    }
}

fclose($stream);
?>

Veja Também

  • expect_popen() - Execute command via Bourne shell, and open the PTY stream to the process


Execute command via Bourne shell, and open the PTY stream to the process

  • « expect_expectl
  • PCNTL »
  • PHP Manual
  • Expect Funções
  • Execute command via Bourne shell, and open the PTY stream to the process

expect_popen

(PECL expect >= 0.1.0)

expect_popen — Execute command via Bourne shell, and open the PTY stream to the process

Descrição

expect_popen ( string $command ) : resource

Execute command via Bourne shell, and open the PTY stream to the process.

Parâmetros

command

Command to execute.

Valor Retornado

Returns an open PTY stream to the processes stdio, stdout, and stderr.

On failure this function returns false.

Exemplos

Exemplo #1 expect_popen() example

<?php
// Login to the PHP.net CVS repository:
$stream = expect_popen ("cvs -d :pserver:anonymous@cvs.php.net:/repository login");
sleep (3);
fwrite ($stream, "phpfi\n");
fclose ($stream);
?>

Veja Também

  • popen() - Abre um processo como ponteiro de arquivo


Process Control

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Basic usage
  • PCNTL Funções
    • pcntl_alarm — Set an alarm clock for delivery of a signal
    • pcntl_async_signals — Enable/disable asynchronous signal handling or return the old setting
    • pcntl_errno — Sinônimo de pcntl_get_last_error
    • pcntl_exec — Executes specified program in current process space
    • pcntl_fork — Forks the currently running process
    • pcntl_get_last_error — Retrieve the error number set by the last pcntl function which failed
    • pcntl_getpriority — Get the priority of any process
    • pcntl_setpriority — Change the priority of any process
    • pcntl_signal_dispatch — Calls signal handlers for pending signals
    • pcntl_signal_get_handler — Get the current handler for specified signal
    • pcntl_signal — Installs a signal handler
    • pcntl_sigprocmask — Sets and retrieves blocked signals
    • pcntl_sigtimedwait — Waits for signals, with a timeout
    • pcntl_sigwaitinfo — Waits for signals
    • pcntl_strerror — Retrieve the system error message associated with the given errno
    • pcntl_wait — Waits on or returns the status of a forked child
    • pcntl_waitpid — Waits on or returns the status of a forked child
    • pcntl_wexitstatus — Returns the return code of a terminated child
    • pcntl_wifexited — Checks if status code represents a normal exit
    • pcntl_wifsignaled — Checks whether the status code represents a termination due to a signal
    • pcntl_wifstopped — Checks whether the child process is currently stopped
    • pcntl_wstopsig — Returns the signal which caused the child to stop
    • pcntl_wtermsig — Returns the signal which caused the child to terminate


Introdução

Process Control support in PHP implements the Unix style of process creation, program execution, signal handling and process termination. Process Control should not be enabled within a web server environment and unexpected results may happen if any Process Control functions are used within a web server environment.

This documentation is intended to explain the general usage of each of the Process Control functions. For detailed information about Unix process control you are encouraged to consult your systems documentation including fork(2), waitpid(2) and signal(2) or a comprehensive reference such as Advanced Programming in the UNIX Environment by W. Richard Stevens (Addison-Wesley).

PCNTL now uses ticks as the signal handle callback mechanism, which is much faster than the previous mechanism. This change follows the same semantics as using "user ticks". You use the declare() statement to specify the locations in your program where callbacks are allowed to occur. This allows you to minimize the overhead of handling asynchronous events. In the past, compiling PHP with pcntl enabled would always incur this overhead, whether or not your script actually used pcntl.

Nota: Esta extensão não está disponível na plataforma Windows.


Instalação

Process Control support in PHP is not enabled by default. You have to compile the CGI or CLI version of PHP with --enable-pcntl configuration option when compiling PHP to enable Process Control support.

Nota:

Currently, this module will not function on non-Unix platforms (Windows).


Constantes pré-definidas

The following list of signals are supported by the Process Control functions. Please see your systems signal(7) man page for details of the default behavior of these signals.

WNOHANG (int)
WUNTRACED (int)
SIG_IGN (int)
SIG_DFL (int)
SIG_ERR (int)
SIGHUP (int)
SIGINT (int)
SIGQUIT (int)
SIGILL (int)
SIGTRAP (int)
SIGABRT (int)
SIGIOT (int)
SIGBUS (int)
SIGFPE (int)
SIGKILL (int)
SIGUSR1 (int)
SIGSEGV (int)
SIGUSR2 (int)
SIGPIPE (int)
SIGALRM (int)
SIGTERM (int)
SIGSTKFLT (int)
SIGCLD (int)
SIGCHLD (int)
SIGCONT (int)
SIGSTOP (int)
SIGTSTP (int)
SIGTTIN (int)
SIGTTOU (int)
SIGURG (int)
SIGXCPU (int)
SIGXFSZ (int)
SIGVTALRM (int)
SIGPROF (int)
SIGWINCH (int)
SIGPOLL (int)
SIGIO (int)
SIGPWR (int)
SIGSYS (int)
SIGBABY (int)
SIG_BLOCK (int)
Available since PHP 5.3.0.
SIG_UNBLOCK (int)
Available since PHP 5.3.0.
SIG_SETMASK (int)
Available since PHP 5.3.0.
SI_USER (int)
Available since PHP 5.3.0.
SI_NOINFO (int)
Available since PHP 5.3.0.
SI_KERNEL (int)
Available since PHP 5.3.0.
SI_QUEUE (int)
Available since PHP 5.3.0.
SI_TIMER (int)
Available since PHP 5.3.0.
SI_MSGGQ (int)
Available since PHP 5.3.0.
SI_ASYNCIO (int)
Available since PHP 5.3.0.
SI_SIGIO (int)
Available since PHP 5.3.0.
SI_TKILL (int)
Available since PHP 5.3.0.
CLD_EXITED (int)
Available since PHP 5.3.0.
CLD_KILLED (int)
Available since PHP 5.3.0.
CLD_DUMPED (int)
Available since PHP 5.3.0.
CLD_TRAPPED (int)
Available since PHP 5.3.0.
CLD_STOPPED (int)
Available since PHP 5.3.0.
CLD_CONTINUED (int)
Available since PHP 5.3.0.
TRAP_BRKPT (int)
Available since PHP 5.3.0.
TRAP_TRACE (int)
Available since PHP 5.3.0.
POLL_IN (int)
Available since PHP 5.3.0.
POLL_OUT (int)
Available since PHP 5.3.0.
POLL_MSG (int)
Available since PHP 5.3.0.
POLL_ERR (int)
Available since PHP 5.3.0.
POLL_PRI (int)
Available since PHP 5.3.0.
POLL_HUP (int)
Available since PHP 5.3.0.
ILL_ILLOPC (int)
Available since PHP 5.3.0.
ILL_ILLOPN (int)
Available since PHP 5.3.0.
ILL_ILLADR (int)
Available since PHP 5.3.0.
ILL_ILLTRP (int)
Available since PHP 5.3.0.
ILL_PRVOPC (int)
Available since PHP 5.3.0.
ILL_PRVREG (int)
Available since PHP 5.3.0.
ILL_COPROC (int)
Available since PHP 5.3.0.
ILL_BADSTK (int)
Available since PHP 5.3.0.
FPE_INTDIV (int)
Available since PHP 5.3.0.
FPE_INTOVF (int)
Available since PHP 5.3.0.
FPE_FLTDIV (int)
Available since PHP 5.3.0.
FPE_FLTOVF (int)
Available since PHP 5.3.0.
FPE_FLTUND (int)
Available since PHP 5.3.0.
FPE_FLTRES (int)
Available since PHP 5.3.0.
FPE_FLTINV (int)
Available since PHP 5.3.0.
FPE_FLTSUB (int)
Available since PHP 5.3.0.
SEGV_MAPERR (int)
Available since PHP 5.3.0.
SEGV_ACCERR (int)
Available since PHP 5.3.0.
BUS_ADRALN (int)
Available since PHP 5.3.0.
BUS_ADRERR (int)
Available since PHP 5.3.0.
BUS_OBJERR (int)
Available since PHP 5.3.0.


  • « Constantes pré-definidas
  • Basic usage »
  • PHP Manual
  • PCNTL
  • Exemplos

Exemplos

Índice

  • Basic usage


Basic usage

This example forks off a daemon process with a signal handler.

Exemplo #1 Process Control Example

<?php
declare(ticks=1);

$pid = pcntl_fork();
if ($pid == -1) {
     die("could not fork");
} else if ($pid) {
     exit(); // we are the parent
} else {
     // we are the child
}

// detach from the controlling terminal
if (posix_setsid() == -1) {
    die("could not detach from terminal");
}

// setup signal handlers
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");

// loop forever performing tasks
while (1) {

    // do something interesting here

}

function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // handle shutdown tasks
             exit;
             break;
         case SIGHUP:
             // handle restart tasks
             break;
         default:
             // handle all other signals
     }

}

?>


PCNTL Funções

Veja Também

A look at the section about POSIX functions may be useful.

Índice

  • pcntl_alarm — Set an alarm clock for delivery of a signal
  • pcntl_async_signals — Enable/disable asynchronous signal handling or return the old setting
  • pcntl_errno — Sinônimo de pcntl_get_last_error
  • pcntl_exec — Executes specified program in current process space
  • pcntl_fork — Forks the currently running process
  • pcntl_get_last_error — Retrieve the error number set by the last pcntl function which failed
  • pcntl_getpriority — Get the priority of any process
  • pcntl_setpriority — Change the priority of any process
  • pcntl_signal_dispatch — Calls signal handlers for pending signals
  • pcntl_signal_get_handler — Get the current handler for specified signal
  • pcntl_signal — Installs a signal handler
  • pcntl_sigprocmask — Sets and retrieves blocked signals
  • pcntl_sigtimedwait — Waits for signals, with a timeout
  • pcntl_sigwaitinfo — Waits for signals
  • pcntl_strerror — Retrieve the system error message associated with the given errno
  • pcntl_wait — Waits on or returns the status of a forked child
  • pcntl_waitpid — Waits on or returns the status of a forked child
  • pcntl_wexitstatus — Returns the return code of a terminated child
  • pcntl_wifexited — Checks if status code represents a normal exit
  • pcntl_wifsignaled — Checks whether the status code represents a termination due to a signal
  • pcntl_wifstopped — Checks whether the child process is currently stopped
  • pcntl_wstopsig — Returns the signal which caused the child to stop
  • pcntl_wtermsig — Returns the signal which caused the child to terminate


Set an alarm clock for delivery of a signal

  • « PCNTL Funções
  • pcntl_async_signals »
  • PHP Manual
  • PCNTL Funções
  • Set an alarm clock for delivery of a signal

pcntl_alarm

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pcntl_alarm — Set an alarm clock for delivery of a signal

Descrição

pcntl_alarm ( int $seconds ) : int

Creates a timer that will send a SIGALRM signal to the process after the given number of seconds. Any call to pcntl_alarm() will cancel any previously set alarm.

Parâmetros

seconds

The number of seconds to wait. If seconds is zero, no new alarm is created.

Valor Retornado

Returns the time in seconds that any previously scheduled alarm had remaining before it was to be delivered, or 0 if there was no previously scheduled alarm.


Enable/disable asynchronous signal handling or return the old setting

  • « pcntl_alarm
  • pcntl_errno »
  • PHP Manual
  • PCNTL Funções
  • Enable/disable asynchronous signal handling or return the old setting

pcntl_async_signals

(PHP 7 >= 7.1.0, PHP 8)

pcntl_async_signals — Enable/disable asynchronous signal handling or return the old setting

Descrição

pcntl_async_signals ( bool $on = null ) : bool

If the on parameter is omitted, pcntl_async_signals() returns whether asynchronous signal handling is enabled. Otherwise, asynchronous signal handling is enabled or disabled.

Parâmetros

on

Whether asynchronous signal handling should be enabled.

Valor Retornado

When used as getter (that is without the optional parameter) it returns whether asynchronous signal handling is enabled. When used as setter (that is with the optional parameter given), it returns whether asynchronous signal handling was enabled before the function call.

Veja Também

  • declare


Sinônimo de pcntl_get_last_error

  • « pcntl_async_signals
  • pcntl_exec »
  • PHP Manual
  • PCNTL Funções
  • Sinônimo de pcntl_get_last_error

pcntl_errno

(PHP 5 >= 5.3.4, PHP 7, PHP 8)

pcntl_errno — Sinônimo de pcntl_get_last_error()

Descrição

Esta função é um apelido para: pcntl_get_last_error()


Executes specified program in current process space

  • « pcntl_errno
  • pcntl_fork »
  • PHP Manual
  • PCNTL Funções
  • Executes specified program in current process space

pcntl_exec

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pcntl_exec — Executes specified program in current process space

Descrição

pcntl_exec ( string $path , array $args = ? , array $envs = ? ) : void

Executes the program with the given arguments.

Parâmetros

path

path must be the path to a binary executable or a script with a valid path pointing to an executable in the shebang ( #!/usr/local/bin/perl for example) as the first line. See your system's man execve(2) page for additional information.

args

args is an array of argument strings passed to the program.

envs

envs is an array of strings which are passed as environment to the program. The array is in the format of name => value, the key being the name of the environmental variable and the value being the value of that variable.

Valor Retornado

Returns null on success ou false em caso de falha.


Forks the currently running process

  • « pcntl_exec
  • pcntl_get_last_error »
  • PHP Manual
  • PCNTL Funções
  • Forks the currently running process

pcntl_fork

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_fork — Forks the currently running process

Descrição

pcntl_fork ( ) : int

The pcntl_fork() function creates a child process that differs from the parent process only in its PID and PPID. Please see your system's fork(2) man page for specific details as to how fork works on your system.

Valor Retornado

On success, the PID of the child process is returned in the parent's thread of execution, and a 0 is returned in the child's thread of execution. On failure, a -1 will be returned in the parent's context, no child process will be created, and a PHP error is raised.

Exemplos

Exemplo #1 pcntl_fork() example

<?php

$pid = pcntl_fork();
if ($pid == -1) {
     die('could not fork');
} else if ($pid) {
     // we are the parent
     pcntl_wait($status); //Protect against Zombie children
} else {
     // we are the child
}

?>

Veja Também

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_signal() - Installs a signal handler
  • setproctitle() - Set the process title


Retrieve the error number set by the last pcntl function which failed

  • « pcntl_fork
  • pcntl_getpriority »
  • PHP Manual
  • PCNTL Funções
  • Retrieve the error number set by the last pcntl function which failed

pcntl_get_last_error

(PHP 5 >= 5.3.4, PHP 7, PHP 8)

pcntl_get_last_error — Retrieve the error number set by the last pcntl function which failed

Descrição

pcntl_get_last_error ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns error code.

Veja Também

  • pcntl_strerror() - Retrieve the system error message associated with the given errno


Get the priority of any process

  • « pcntl_get_last_error
  • pcntl_setpriority »
  • PHP Manual
  • PCNTL Funções
  • Get the priority of any process

pcntl_getpriority

(PHP 5, PHP 7, PHP 8)

pcntl_getpriority — Get the priority of any process

Descrição

pcntl_getpriority ( int $pid = getmypid() , int $process_identifier = PRIO_PROCESS ) : int

pcntl_getpriority() gets the priority of pid. Because priority levels can differ between system types and kernel versions, please see your system's getpriority(2) man page for specific details.

Parâmetros

pid

If not specified, the pid of the current process is used.

process_identifier

One of PRIO_PGRP, PRIO_USER or PRIO_PROCESS.

Valor Retornado

pcntl_getpriority() returns the priority of the process or false on error. A lower numerical value causes more favorable scheduling.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Veja Também

  • pcntl_setpriority() - Change the priority of any process


Change the priority of any process

  • « pcntl_getpriority
  • pcntl_signal_dispatch »
  • PHP Manual
  • PCNTL Funções
  • Change the priority of any process

pcntl_setpriority

(PHP 5, PHP 7, PHP 8)

pcntl_setpriority — Change the priority of any process

Descrição

pcntl_setpriority ( int $priority , int $pid = getmypid() , int $process_identifier = PRIO_PROCESS ) : bool

pcntl_setpriority() sets the priority of pid.

Parâmetros

priority

priority is generally a value in the range -20 to 20. The default priority is 0 while a lower numerical value causes more favorable scheduling. Because priority levels can differ between system types and kernel versions, please see your system's setpriority(2) man page for specific details.

pid

If not specified, the pid of the current process is used.

process_identifier

One of PRIO_PGRP, PRIO_USER or PRIO_PROCESS.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • pcntl_getpriority() - Get the priority of any process


Calls signal handlers for pending signals

  • « pcntl_setpriority
  • pcntl_signal_get_handler »
  • PHP Manual
  • PCNTL Funções
  • Calls signal handlers for pending signals

pcntl_signal_dispatch

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

pcntl_signal_dispatch — Calls signal handlers for pending signals

Descrição

pcntl_signal_dispatch ( ) : bool

The pcntl_signal_dispatch() function calls the signal handlers installed by pcntl_signal() for each pending signal.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 pcntl_signal_dispatch() example

<?php
echo "Installing signal handler...\n";
pcntl_signal(SIGHUP,  function($signo) {
     echo "signal handler called\n";
});

echo "Generating signal SIGHUP to self...\n";
posix_kill(posix_getpid(), SIGHUP);

echo "Dispatching...\n";
pcntl_signal_dispatch();

echo "Done\n";

?>

O exemplo acima irá imprimir algo similar à:

Installing signal handler...
Generating signal SIGHUP to self...
Dispatching...
signal handler called
Done

Veja Também

  • pcntl_signal() - Installs a signal handler
  • pcntl_sigprocmask() - Sets and retrieves blocked signals
  • pcntl_sigwaitinfo() - Waits for signals
  • pcntl_sigtimedwait() - Waits for signals, with a timeout


Get the current handler for specified signal

  • « pcntl_signal_dispatch
  • pcntl_signal »
  • PHP Manual
  • PCNTL Funções
  • Get the current handler for specified signal

pcntl_signal_get_handler

(PHP 7 >= 7.1.0, PHP 8)

pcntl_signal_get_handler — Get the current handler for specified signal

Descrição

pcntl_signal_get_handler ( int $signo ) : mixed

The pcntl_signal_get_handler() function will get the current handler for the specified signo.

Parâmetros

signo

The signal number.

Valor Retornado

This function may return an integer value that refers to SIG_DFL or SIG_IGN. If you set a custom handler a string value containing the function name is returned.

Changelog

Versão | Descrição
7.1.0 | pcntl_signal_get_handler() has been added.

Exemplos

Exemplo #1 pcntl_signal_get_handler() example

<?php
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: int(0)

function pcntl_test($signo) {}
pcntl_signal(SIGUSR1, 'pcntl_test');
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: string(10) "pcntl_test"

pcntl_signal(SIGUSR1, SIG_DFL);
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: int(0)

pcntl_signal(SIGUSR1, SIG_IGN);
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: int(1)
?>

Veja Também

  • pcntl_signal() - Installs a signal handler


Installs a signal handler

  • « pcntl_signal_get_handler
  • pcntl_sigprocmask »
  • PHP Manual
  • PCNTL Funções
  • Installs a signal handler

pcntl_signal

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_signal — Installs a signal handler

Descrição

pcntl_signal ( int $signo , callable|int $handler , bool $restart_syscalls = true ) : bool

The pcntl_signal() function installs a new signal handler or replaces the current signal handler for the signal indicated by signo.

Parâmetros

signo

The signal number.

handler

The signal handler. This may be either a callable, which will be invoked to handle the signal, or either of the two global constants SIG_IGN or SIG_DFL, which will ignore the signal or restore the default signal handler respectively.

If a callable is given, it must implement the following signature:

handler ( int $signo , mixed $siginfo ) : void
signo
The signal being handled.
siginfo
If operating systems supports siginfo_t structures, this will be an array of signal information dependent on the signal.

Nota:

Note that when you set a handler to an object method, that object's reference count is increased which makes it persist until you either change the handler to something else, or your script ends.

restart_syscalls

Specifies whether system call restarting should be used when this signal arrives.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.1.0 | As of PHP 7.1.0 the handler callback is given a second argument containing the siginfo of the specific signal. This data is only supplied if the operating system has the siginfo_t structure. If the OS does not implement siginfo_t NULL is supplied.

Exemplos

Exemplo #1 pcntl_signal() example

<?php
// tick use required
declare(ticks = 1);

// signal handler function
function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // handle shutdown tasks
             exit;
             break;
         case SIGHUP:
             // handle restart tasks
             break;
         case SIGUSR1:
             echo "Caught SIGUSR1...\n";
             break;
         default:
             // handle all other signals
     }

}

echo "Installing signal handler...\n";

// setup signal handlers
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP,  "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");

// or use an object
// pcntl_signal(SIGUSR1, array($obj, "do_something"));

echo"Generating signal SIGUSR1 to self...\n";

// send SIGUSR1 to current process id
// posix_* functions require the posix extension
posix_kill(posix_getpid(), SIGUSR1);

echo "Done\n";

?>

Notas

pcntl_signal() doesn't stack the signal handlers, but replaces them.

Veja Também

  • pcntl_fork() - Forks the currently running process
  • pcntl_waitpid() - Waits on or returns the status of a forked child


Sets and retrieves blocked signals

  • « pcntl_signal
  • pcntl_sigtimedwait »
  • PHP Manual
  • PCNTL Funções
  • Sets and retrieves blocked signals

pcntl_sigprocmask

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

pcntl_sigprocmask — Sets and retrieves blocked signals

Descrição

pcntl_sigprocmask ( int $how , array $set , array &$oldset = ? ) : bool

The pcntl_sigprocmask() function adds, removes or sets blocked signals, depending on the how parameter.

Parâmetros

how

Sets the behavior of pcntl_sigprocmask(). Possible values:

  • SIG_BLOCK: Add the signals to the currently blocked signals.
  • SIG_UNBLOCK: Remove the signals from the currently blocked signals.
  • SIG_SETMASK: Replace the currently blocked signals by the given list of signals.

set

List of signals.

oldset

The oldset parameter is set to an array containing the list of the previously blocked signals.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 pcntl_sigprocmask() example

<?php
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
$oldset = array();
pcntl_sigprocmask(SIG_UNBLOCK, array(SIGHUP), $oldset);
?>

Veja Também

  • pcntl_sigwaitinfo() - Waits for signals
  • pcntl_sigtimedwait() - Waits for signals, with a timeout


Waits for signals, with a timeout

  • « pcntl_sigprocmask
  • pcntl_sigwaitinfo »
  • PHP Manual
  • PCNTL Funções
  • Waits for signals, with a timeout

pcntl_sigtimedwait

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

pcntl_sigtimedwait — Waits for signals, with a timeout

Descrição

pcntl_sigtimedwait ( array $set , array &$siginfo = ? , int $seconds = 0 , int $nanoseconds = 0 ) : int

The pcntl_sigtimedwait() function operates in exactly the same way as pcntl_sigwaitinfo() except that it takes two additional parameters, seconds and nanoseconds, which enable an upper bound to be placed on the time for which the script is suspended.

Parâmetros

set

Array of signals to wait for.

siginfo

The siginfo is set to an array containing information about the signal. See pcntl_sigwaitinfo().

seconds

Timeout in seconds.

nanoseconds

Timeout in nanoseconds.

Valor Retornado

On success, pcntl_sigtimedwait() returns a signal number.

Veja Também

  • pcntl_sigprocmask() - Sets and retrieves blocked signals
  • pcntl_sigwaitinfo() - Waits for signals


Waits for signals

  • « pcntl_sigtimedwait
  • pcntl_strerror »
  • PHP Manual
  • PCNTL Funções
  • Waits for signals

pcntl_sigwaitinfo

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

pcntl_sigwaitinfo — Waits for signals

Descrição

pcntl_sigwaitinfo ( array $set , array &$siginfo = ? ) : int

The pcntl_sigwaitinfo() function suspends execution of the calling script until one of the signals given in set are delivered. If one of the signal is already pending (e.g. blocked by pcntl_sigprocmask()), pcntl_sigwaitinfo() will return immediately.

Parâmetros

set

Array of signals to wait for.

siginfo

The siginfo parameter is set to an array containing information about the signal.

The following elements are set for all signals:

  • signo: Signal number
  • errno: An error number
  • code: Signal code

The following elements may be set for the SIGCHLD signal:

  • status: Exit value or signal
  • utime: User time consumed
  • stime: System time consumed
  • pid: Sending process ID
  • uid: Real user ID of sending process

The following elements may be set for the SIGILL, SIGFPE, SIGSEGV and SIGBUS signals:

  • addr: Memory location which caused fault

The following element may be set for the SIGPOLL signal:

  • band: Band event
  • fd: File descriptor number

Valor Retornado

On success, pcntl_sigwaitinfo() returns a signal number.

Exemplos

Exemplo #1 pcntl_sigwaitinfo() example

<?php
echo "Blocking SIGHUP signal\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));

echo "Sending SIGHUP to self\n";
posix_kill(posix_getpid(), SIGHUP);

echo "Waiting for signals\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>

Veja Também

  • pcntl_sigprocmask() - Sets and retrieves blocked signals
  • pcntl_sigtimedwait() - Waits for signals, with a timeout


Retrieve the system error message associated with the given errno

  • « pcntl_sigwaitinfo
  • pcntl_wait »
  • PHP Manual
  • PCNTL Funções
  • Retrieve the system error message associated with the given errno

pcntl_strerror

(PHP 5 >= 5.3.4, PHP 7, PHP 8)

pcntl_strerror — Retrieve the system error message associated with the given errno

Descrição

pcntl_strerror ( int $errno ) : string|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

errno

Valor Retornado

Returns error description on success ou false em caso de falha.

Veja Também

  • pcntl_get_last_error() - Retrieve the error number set by the last pcntl function which failed


Waits on or returns the status of a forked child

  • « pcntl_strerror
  • pcntl_waitpid »
  • PHP Manual
  • PCNTL Funções
  • Waits on or returns the status of a forked child

pcntl_wait

(PHP 5, PHP 7, PHP 8)

pcntl_wait — Waits on or returns the status of a forked child

Descrição

pcntl_wait ( int &$status , int $options = 0 , array &$rusage = ? ) : int

The wait function suspends execution of the current process until a child has exited, or until a signal is delivered whose action is to terminate the current process or to call a signal handling function. If a child has already exited by the time of the call (a so-called "zombie" process), the function returns immediately. Any system resources used by the child are freed. Please see your system's wait(2) man page for specific details as to how wait works on your system.

Nota:

This function is equivalent to calling pcntl_waitpid() with a -1 pid and no options.

Parâmetros

status

pcntl_wait() will store status information
in the status parameter which can be
evaluated using the following functions:
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() and
pcntl_wstopsig().

options

If wait3 is available on your system (mostly BSD-style systems), you can provide the optional options parameter. If this parameter is not provided, wait will be used for the system call. If wait3 is not available, providing a value for options will have no effect. The value of options is the value of zero or more of the following two constants OR'ed together:

Possible values for options
WNOHANG | Return immediately if no child has exited.
WUNTRACED | Return for children which are stopped, and whose status has not been reported.

Valor Retornado

pcntl_wait() returns the process ID of the child which exited, -1 on error or zero if WNOHANG was provided as an option (on wait3-available systems) and no child was available.

Veja Também

  • pcntl_fork() - Forks the currently running process
  • pcntl_signal() - Installs a signal handler
  • pcntl_wifexited() - Checks if status code represents a normal exit
  • pcntl_wifstopped() - Checks whether the child process is currently stopped
  • pcntl_wifsignaled() - Checks whether the status code represents a termination due to a signal
  • pcntl_wexitstatus() - Returns the return code of a terminated child
  • pcntl_wtermsig() - Returns the signal which caused the child to terminate
  • pcntl_wstopsig() - Returns the signal which caused the child to stop
  • pcntl_waitpid() - Waits on or returns the status of a forked child


Waits on or returns the status of a forked child

  • « pcntl_wait
  • pcntl_wexitstatus »
  • PHP Manual
  • PCNTL Funções
  • Waits on or returns the status of a forked child

pcntl_waitpid

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_waitpid — Waits on or returns the status of a forked child

Descrição

pcntl_waitpid ( int $pid , int &$status , int $options = 0 , array &$rusage = ? ) : int

Suspends execution of the current process until a child as specified by the pid argument has exited, or until a signal is delivered whose action is to terminate the current process or to call a signal handling function.

If a child as requested by pid has already exited by the time of the call (a so-called "zombie" process), the function returns immediately. Any system resources used by the child are freed. Please see your system's waitpid(2) man page for specific details as to how waitpid works on your system.

Parâmetros

pid

The value of pid can be one of the following:

possible values for pid
< -1 | wait for any child process whose process group ID is equal to the absolute value of pid.
-1 | wait for any child process; this is the same behaviour that the wait function exhibits.
0 | wait for any child process whose process group ID is equal to that of the calling process.
> 0 | wait for the child whose process ID is equal to the value of pid.

Nota:

Specifying -1 as the pid is equivalent to the functionality pcntl_wait() provides (minus options).

status

pcntl_waitpid() will store status information
in the status parameter which can be
evaluated using the following functions:
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() and
pcntl_wstopsig().

options

The value of options is the value of zero or more of the following two global constants OR'ed together:

possible values for options
WNOHANG | return immediately if no child has exited.
WUNTRACED | return for children which are stopped, and whose status has not been reported.

Valor Retornado

pcntl_waitpid() returns the process ID of the child which exited, -1 on error or zero if WNOHANG was used and no child was available

Veja Também

  • pcntl_fork() - Forks the currently running process
  • pcntl_signal() - Installs a signal handler
  • pcntl_wifexited() - Checks if status code represents a normal exit
  • pcntl_wifstopped() - Checks whether the child process is currently stopped
  • pcntl_wifsignaled() - Checks whether the status code represents a termination due to a signal
  • pcntl_wexitstatus() - Returns the return code of a terminated child
  • pcntl_wtermsig() - Returns the signal which caused the child to terminate
  • pcntl_wstopsig() - Returns the signal which caused the child to stop


Returns the return code of a terminated child

  • « pcntl_waitpid
  • pcntl_wifexited »
  • PHP Manual
  • PCNTL Funções
  • Returns the return code of a terminated child

pcntl_wexitstatus

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_wexitstatus — Returns the return code of a terminated child

Descrição

pcntl_wexitstatus ( int $status ) : int

Returns the return code of a terminated child. This function is only useful if pcntl_wifexited() returned true.

Parâmetros

status

O parâmetro status é o parâmetro de status fornecido para uma chamada com sucesso a pcntl_waitpid().

Valor Retornado

Returns the return code, as an integer.

Veja Também

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_wifexited() - Checks if status code represents a normal exit


Checks if status code represents a normal exit

  • « pcntl_wexitstatus
  • pcntl_wifsignaled »
  • PHP Manual
  • PCNTL Funções
  • Checks if status code represents a normal exit

pcntl_wifexited

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_wifexited — Checks if status code represents a normal exit

Descrição

pcntl_wifexited ( int $status ) : bool

Checks whether the child status code represents a normal exit.

Parâmetros

status

O parâmetro status é o parâmetro de status fornecido para uma chamada com sucesso a pcntl_waitpid().

Valor Retornado

Returns true if the child status code represents a normal exit, false otherwise.

Veja Também

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_wexitstatus() - Returns the return code of a terminated child


Checks whether the status code represents a termination due to a signal

  • « pcntl_wifexited
  • pcntl_wifstopped »
  • PHP Manual
  • PCNTL Funções
  • Checks whether the status code represents a termination due to a signal

pcntl_wifsignaled

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_wifsignaled — Checks whether the status code represents a termination due to a signal

Descrição

pcntl_wifsignaled ( int $status ) : bool

Checks whether the child process exited because of a signal which was not caught.

Parâmetros

status

O parâmetro status é o parâmetro de status fornecido para uma chamada com sucesso a pcntl_waitpid().

Valor Retornado

Returns true if the child process exited because of a signal which was not caught, false otherwise.

Veja Também

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_signal() - Installs a signal handler


Checks whether the child process is currently stopped

  • « pcntl_wifsignaled
  • pcntl_wstopsig »
  • PHP Manual
  • PCNTL Funções
  • Checks whether the child process is currently stopped

pcntl_wifstopped

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_wifstopped — Checks whether the child process is currently stopped

Descrição

pcntl_wifstopped ( int $status ) : bool

Checks whether the child process which caused the return is currently stopped; this is only possible if the call to pcntl_waitpid() was done using the option WUNTRACED.

Parâmetros

status

O parâmetro status é o parâmetro de status fornecido para uma chamada com sucesso a pcntl_waitpid().

Valor Retornado

Returns true if the child process which caused the return is currently stopped, false otherwise.

Veja Também

  • pcntl_waitpid() - Waits on or returns the status of a forked child


Returns the signal which caused the child to stop

  • « pcntl_wifstopped
  • pcntl_wtermsig »
  • PHP Manual
  • PCNTL Funções
  • Returns the signal which caused the child to stop

pcntl_wstopsig

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_wstopsig — Returns the signal which caused the child to stop

Descrição

pcntl_wstopsig ( int $status ) : int

Returns the number of the signal which caused the child to stop. This function is only useful if pcntl_wifstopped() returned true.

Parâmetros

status

O parâmetro status é o parâmetro de status fornecido para uma chamada com sucesso a pcntl_waitpid().

Valor Retornado

Returns the signal number.

Veja Também

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_wifstopped() - Checks whether the child process is currently stopped


Returns the signal which caused the child to terminate

  • « pcntl_wstopsig
  • POSIX »
  • PHP Manual
  • PCNTL Funções
  • Returns the signal which caused the child to terminate

pcntl_wtermsig

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_wtermsig — Returns the signal which caused the child to terminate

Descrição

pcntl_wtermsig ( int $status ) : int

Returns the number of the signal that caused the child process to terminate. This function is only useful if pcntl_wifsignaled() returned true.

Parâmetros

status

O parâmetro status é o parâmetro de status fornecido para uma chamada com sucesso a pcntl_waitpid().

Valor Retornado

Returns the signal number, as an integer.

Veja Também

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_signal() - Installs a signal handler
  • pcntl_wifsignaled() - Checks whether the status code represents a termination due to a signal


POSIX

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
    • posix_access constants
    • posix_mknod constants
    • posix_setrlimit constants
  • POSIX Funções
    • posix_access — Determine accessibility of a file
    • posix_ctermid — Get path name of controlling terminal
    • posix_errno — Sinônimo de posix_get_last_error
    • posix_get_last_error — Retrieve the error number set by the last posix function that failed
    • posix_getcwd — Pathname of current directory
    • posix_getegid — Return the effective group ID of the current process
    • posix_geteuid — Return the effective user ID of the current process
    • posix_getgid — Return the real group ID of the current process
    • posix_getgrgid — Return info about a group by group id
    • posix_getgrnam — Return info about a group by name
    • posix_getgroups — Return the group set of the current process
    • posix_getlogin — Return login name
    • posix_getpgid — Get process group id for job control
    • posix_getpgrp — Return the current process group identifier
    • posix_getpid — Return the current process identifier
    • posix_getppid — Return the parent process identifier
    • posix_getpwnam — Return info about a user by username
    • posix_getpwuid — Return info about a user by user id
    • posix_getrlimit — Return info about system resource limits
    • posix_getsid — Get the current sid of the process
    • posix_getuid — Return the real user ID of the current process
    • posix_initgroups — Calculate the group access list
    • posix_isatty — Determine if a file descriptor is an interactive terminal
    • posix_kill — Send a signal to a process
    • posix_mkfifo — Create a fifo special file (a named pipe)
    • posix_mknod — Create a special or ordinary file (POSIX.1)
    • posix_setegid — Set the effective GID of the current process
    • posix_seteuid — Set the effective UID of the current process
    • posix_setgid — Set the GID of the current process
    • posix_setpgid — Set process group id for job control
    • posix_setrlimit — Set system resource limits
    • posix_setsid — Make the current process a session leader
    • posix_setuid — Set the UID of the current process
    • posix_strerror — Retrieve the system error message associated with the given errno
    • posix_times — Get process times
    • posix_ttyname — Determine terminal device name
    • posix_uname — Get system name


Introdução

This module contains an interface to those functions defined in the IEEE 1003.1 (POSIX.1) standards document which are not accessible through other means.

Aviso

Sensitive data can be retrieved with the POSIX functions, e.g. posix_getpwnam() and friends.

Nota: Esta extensão não está disponível na plataforma Windows.


Instalação

POSIX functions are enabled by default. You can disable POSIX-like functions with --disable-posix.


Constantes pré-definidas

Índice

  • posix_access constants
  • posix_mknod constants
  • posix_setrlimit constants

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.


posix_access constants

  • « Constantes pré-definidas
  • posix_mknod constants »
  • PHP Manual
  • Constantes pré-definidas
  • posix_access constants

posix_access() constants

Nota:

These constants are available starting with PHP 5.1.0. Please note that some of them may not be available on your system.

POSIX_F_OK (int)
Check whether the file exists.
POSIX_R_OK (int)
Check whether the file exists and has read permissions.
POSIX_W_OK (int)
Check whether the file exists and has write permissions.
POSIX_X_OK (int)
Check whether the file exists and has execute permissions.


posix_mknod constants

  • « posix_access constants
  • posix_setrlimit constants »
  • PHP Manual
  • Constantes pré-definidas
  • posix_mknod constants

posix_mknod() constants

Nota:

These constants are available starting with PHP 5.1.0. Please note that some of them may not be available on your system.

POSIX_S_IFBLK (int)
Block special file
POSIX_S_IFCHR (int)
Character special file
POSIX_S_IFIFO (int)
FIFO (named pipe) special file
POSIX_S_IFREG (int)
Normal file
POSIX_S_IFSOCK (int)
Socket


posix_setrlimit constants

  • « posix_mknod constants
  • POSIX Funções »
  • PHP Manual
  • Constantes pré-definidas
  • posix_setrlimit constants

posix_setrlimit() constants

Nota:

These constants are available starting with PHP 7.0.0. Please note that some of them may not be available on your system.

Nota:

You may wish to read the below notes in conjunction with the manpage for setrlimit() on your specific operating system, as there is variance in how these limits are interpreted, even across operating systems that claim to implement POSIX in full.

POSIX_RLIMIT_AS (int)
The maximum size of the process's address space in bytes. See also PHP's memory_limit configuration directive.
POSIX_RLIMIT_CORE (int)
The maximum size of a core file. If the limit is set to 0, no core file will be generated.
POSIX_RLIMIT_CPU (int)
The maximum amount of CPU time that the process can use, in seconds. When the soft limit is hit, a SIGXCPU signal will be sent, which can be caught with pcntl_signal(). Depending on the operating system, additional SIGXCPU signals may be sent each second until the hard limit is hit, at which point an uncatchable SIGKILL signal is sent. See also set_time_limit().
POSIX_RLIMIT_DATA (int)
The maximum size of the process's data segment, in bytes. It is extremely unlikely that this will have any effect on the execution of PHP unless an extension is in use that calls brk() or sbrk().
POSIX_RLIMIT_FSIZE (int)
The maximum size of files that the process can create, in bytes.
POSIX_RLIMIT_LOCKS (int)
The maximum number of locks that the process can create. This is only supported on extremely old Linux kernels.
POSIX_RLIMIT_MEMLOCK (int)
The maximum number of bytes that can be locked into memory.
POSIX_RLIMIT_MSGQUEUE (int)
The maximum number of bytes that can be allocated for POSIX message queues. PHP does not ship with support for POSIX message queues, so this limit will not have any effect unless you are using an extension that implements that support.
POSIX_RLIMIT_NICE (int)
The maximum value to which the process can be reniced to. The value that will be used will be 20 - limit, as resource limit values cannot be negative.
POSIX_RLIMIT_NOFILE (int)
A value one greater than the maximum file descriptor number that can be opened by this process.
POSIX_RLIMIT_NPROC (int)
The maximum number of processes (and/or threads, on some operating systems) that can be created for the real user ID of the process.
POSIX_RLIMIT_RSS (int)
The maximum size of the process's resident set, in pages.
POSIX_RLIMIT_RTPRIO (int)
The maximum real time priority that can be set via the sched_setscheduler() and sched_setparam() system calls.
POSIX_RLIMIT_RTTIME (int)
The maximum amount of CPU time, in microseconds, that the process can consume without making a blocking system call if it is using real time scheduling.
POSIX_RLIMIT_SIGPENDING (int)
The maximum number of signals that can be queued for the real user ID of the process.
POSIX_RLIMIT_STACK (int)
The maximum size of the process stack, in bytes.
POSIX_RLIMIT_INFINITY (int)
Used to indicate an infinite value for a resource limit.


POSIX Funções

Veja Também

The section about Process Control Functions maybe of interest for you.

Índice

  • posix_access — Determine accessibility of a file
  • posix_ctermid — Get path name of controlling terminal
  • posix_errno — Sinônimo de posix_get_last_error
  • posix_get_last_error — Retrieve the error number set by the last posix function that failed
  • posix_getcwd — Pathname of current directory
  • posix_getegid — Return the effective group ID of the current process
  • posix_geteuid — Return the effective user ID of the current process
  • posix_getgid — Return the real group ID of the current process
  • posix_getgrgid — Return info about a group by group id
  • posix_getgrnam — Return info about a group by name
  • posix_getgroups — Return the group set of the current process
  • posix_getlogin — Return login name
  • posix_getpgid — Get process group id for job control
  • posix_getpgrp — Return the current process group identifier
  • posix_getpid — Return the current process identifier
  • posix_getppid — Return the parent process identifier
  • posix_getpwnam — Return info about a user by username
  • posix_getpwuid — Return info about a user by user id
  • posix_getrlimit — Return info about system resource limits
  • posix_getsid — Get the current sid of the process
  • posix_getuid — Return the real user ID of the current process
  • posix_initgroups — Calculate the group access list
  • posix_isatty — Determine if a file descriptor is an interactive terminal
  • posix_kill — Send a signal to a process
  • posix_mkfifo — Create a fifo special file (a named pipe)
  • posix_mknod — Create a special or ordinary file (POSIX.1)
  • posix_setegid — Set the effective GID of the current process
  • posix_seteuid — Set the effective UID of the current process
  • posix_setgid — Set the GID of the current process
  • posix_setpgid — Set process group id for job control
  • posix_setrlimit — Set system resource limits
  • posix_setsid — Make the current process a session leader
  • posix_setuid — Set the UID of the current process
  • posix_strerror — Retrieve the system error message associated with the given errno
  • posix_times — Get process times
  • posix_ttyname — Determine terminal device name
  • posix_uname — Get system name


Determine accessibility of a file

  • « POSIX Funções
  • posix_ctermid »
  • PHP Manual
  • POSIX Funções
  • Determine accessibility of a file

posix_access

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

posix_access — Determine accessibility of a file

Descrição

posix_access ( string $filename , int $flags = 0 ) : bool

posix_access() checks the user's permission of a file.

Parâmetros

filename

The name of the file to be tested.

flags

A mask consisting of one or more of POSIX_F_OK, POSIX_R_OK, POSIX_W_OK and POSIX_X_OK.

POSIX_R_OK, POSIX_W_OK and POSIX_X_OK request checking whether the file exists and has read, write and execute permissions, respectively. POSIX_F_OK just requests checking for the existence of the file.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 posix_access() example

This example will check if the $file is readable and writable, otherwise will print an error message.

<?php

$file = 'some_file';

if (posix_access($file, POSIX_R_OK | POSIX_W_OK)) {
    echo 'The file is readable and writable!';

} else {
    $error = posix_get_last_error();

    echo "Error $error: " . posix_strerror($error);
}

?>

Notas

Veja Também

  • posix_get_last_error() - Retrieve the error number set by the last posix function that failed
  • posix_strerror() - Retrieve the system error message associated with the given errno


Get path name of controlling terminal

  • « posix_access
  • posix_errno »
  • PHP Manual
  • POSIX Funções
  • Get path name of controlling terminal

posix_ctermid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_ctermid — Get path name of controlling terminal

Descrição

posix_ctermid ( ) : string|false

Generates a string which is the pathname for the current controlling terminal for the process. On error this will set errno, which can be checked using posix_get_last_error()

Valor Retornado

Upon successful completion, returns string of the pathname to the current controlling terminal. Otherwise false is returned and errno is set, which can be checked with posix_get_last_error().

Exemplos

Exemplo #1 posix_ctermid() example

This example will display the path to the current TTY.

<?php
echo "I am running from ".posix_ctermid();
?>

Veja Também

  • posix_ttyname() - Determine terminal device name
  • posix_get_last_error() - Retrieve the error number set by the last posix function that failed


Sinônimo de posix_get_last_error

  • « posix_ctermid
  • posix_get_last_error »
  • PHP Manual
  • POSIX Funções
  • Sinônimo de posix_get_last_error

posix_errno

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

posix_errno — Sinônimo de posix_get_last_error()

Descrição

Esta função é um apelido para: posix_get_last_error().


Retrieve the error number set by the last posix function that failed

  • « posix_errno
  • posix_getcwd »
  • PHP Manual
  • POSIX Funções
  • Retrieve the error number set by the last posix function that failed

posix_get_last_error

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

posix_get_last_error — Retrieve the error number set by the last posix function that failed

Descrição

posix_get_last_error ( ) : int

Retrieve the error number set by the last posix function that failed. The system error message associated with the errno may be checked with posix_strerror().

Valor Retornado

Returns the errno (error number) set by the last posix function that failed. If no errors exist, 0 is returned.

Exemplos

Exemplo #1 posix_get_last_error() example

This example attempt to kill a bogus process id, which will set the last error. We will then print out the last errno.

<?php
posix_kill(999459,SIGKILL);
echo 'Your error returned was '.posix_get_last_error(); //Your error was ___
?>

Veja Também

  • posix_strerror() - Retrieve the system error message associated with the given errno


Pathname of current directory

  • « posix_get_last_error
  • posix_getegid »
  • PHP Manual
  • POSIX Funções
  • Pathname of current directory

posix_getcwd

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getcwd — Pathname of current directory

Descrição

posix_getcwd ( ) : string|false

Gets the absolute pathname of the script's current working directory. On error, it sets errno which can be checked using posix_get_last_error()

Valor Retornado

Returns a string of the absolute pathname on success. On error, returns false and sets errno which can be checked with posix_get_last_error().

Exemplos

Exemplo #1 posix_getcwd() example

This example will return the absolute path of the current working directory of the script.

<?php
echo 'My current working directory is '.posix_getcwd();
?>

Notas

Nota:

This function can fail on

  • Read or Search permission was denied
  • Pathname no longer exists


Return the effective group ID of the current process

  • « posix_getcwd
  • posix_geteuid »
  • PHP Manual
  • POSIX Funções
  • Return the effective group ID of the current process

posix_getegid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getegid — Return the effective group ID of the current process

Descrição

posix_getegid ( ) : int

Return the numeric effective group ID of the current process.

Valor Retornado

Returns an int of the effective group ID.

Exemplos

Exemplo #1 posix_getegid() example

This example will print out the effective group id, once it is changed with posix_setegid().

<?php
echo 'My real group id is '.posix_getgid(); //20
posix_setegid(40);
echo 'My real group id is '.posix_getgid(); //20
echo 'My effective group id is '.posix_getegid(); //40
?>

Notas

posix_getegid() is different than posix_getgid() because effective group ID can be changed by a calling process using posix_setegid().

Veja Também

  • posix_getgrgid() - Return info about a group by group id
  • posix_getgid() - Return the real group ID of the current process
  • posix_setgid() - Set the GID of the current process


Return the effective user ID of the current process

  • « posix_getegid
  • posix_getgid »
  • PHP Manual
  • POSIX Funções
  • Return the effective user ID of the current process

posix_geteuid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_geteuid — Return the effective user ID of the current process

Descrição

posix_geteuid ( ) : int

Return the numeric effective user ID of the current process. See also posix_getpwuid() for information on how to convert this into a useable username.

Valor Retornado

Returns the user id, as an int

Exemplos

Exemplo #1 posix_geteuid() example

This example will show the current user id then set the effective user id to a separate id using posix_seteuid(), then show the difference between the real id and the effective id.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_seteuid(10000);
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10000
?>

Veja Também

  • posix_getpwuid() - Return info about a user by user id
  • posix_getuid() - Return the real user ID of the current process
  • posix_setuid() - Set the UID of the current process
  • POSIX man page GETEUID(2)


Return the real group ID of the current process

  • « posix_geteuid
  • posix_getgrgid »
  • PHP Manual
  • POSIX Funções
  • Return the real group ID of the current process

posix_getgid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getgid — Return the real group ID of the current process

Descrição

posix_getgid ( ) : int

Return the numeric real group ID of the current process.

Valor Retornado

Returns the real group id, as an int.

Exemplos

Exemplo #1 posix_getgid() example

This example will print out the real group id, even once the effective group id has been changed.

<?php
echo 'My real group id is '.posix_getgid(); //20
posix_setegid(40);
echo 'My real group id is '.posix_getgid(); //20
echo 'My effective group id is '.posix_getegid(); //40
?>

Veja Também

  • posix_getgrgid() - Return info about a group by group id
  • posix_getegid() - Return the effective group ID of the current process
  • posix_setgid() - Set the GID of the current process
  • POSIX man page GETGID(2)


Return info about a group by group id

  • « posix_getgid
  • posix_getgrnam »
  • PHP Manual
  • POSIX Funções
  • Return info about a group by group id

posix_getgrgid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getgrgid — Return info about a group by group id

Descrição

posix_getgrgid ( int $group_id ) : array|false

Gets information about a group provided its id.

Parâmetros

group_id

The group id.

Valor Retornado

The array elements returned are:

The group information array
Element | Description
name | The name element contains the name of the group. This is a short, usually less than 16 character "handle" of the group, not the real, full name.
passwd | The passwd element contains the group's password in an encrypted format. Often, for example on a system employing "shadow" passwords, an asterisk is returned instead.
gid | Group ID, should be the same as the group_id parameter used when calling the function, and hence redundant.
members | This consists of an array of string's for all the members in the group.
The function returns false on failure.

Exemplos

Exemplo #1 Example use of posix_getgrgid()

<?php

$groupid   = posix_getegid();
$groupinfo = posix_getgrgid($groupid);

print_r($groupinfo);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Veja Também

  • posix_getegid() - Return the effective group ID of the current process
  • posix_getgrnam() - Return info about a group by name
  • filegroup() - Lê o grupo do arquivo
  • stat() - Obtem informações sobre um arquivo
  • POSIX man page GETGRNAM(3)


Return info about a group by name

  • « posix_getgrgid
  • posix_getgroups »
  • PHP Manual
  • POSIX Funções
  • Return info about a group by name

posix_getgrnam

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getgrnam — Return info about a group by name

Descrição

posix_getgrnam ( string $name ) : array|false

Gets information about a group provided its name.

Parâmetros

name

The name of the group

Valor Retornado

Returns an array on success, ou false em caso de falha. The array elements returned are:

The group information array
Element | Description
name | The name element contains the name of the group. This is a short, usually less than 16 character "handle" of the group, not the real, full name. This should be the same as the name parameter used when calling the function, and hence redundant.
passwd | The passwd element contains the group's password in an encrypted format. Often, for example on a system employing "shadow" passwords, an asterisk is returned instead.
gid | Group ID of the group in numeric form.
members | This consists of an array of string's for all the members in the group.

Exemplos

Exemplo #1 Example use of posix_getgrnam()

<?php

$groupinfo = posix_getgrnam("toons");

print_r($groupinfo);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Veja Também

  • posix_getegid() - Return the effective group ID of the current process
  • posix_getgrgid() - Return info about a group by group id
  • filegroup() - Lê o grupo do arquivo
  • stat() - Obtem informações sobre um arquivo
  • POSIX man page GETGRNAM(3)


Return the group set of the current process

  • « posix_getgrnam
  • posix_getlogin »
  • PHP Manual
  • POSIX Funções
  • Return the group set of the current process

posix_getgroups

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getgroups — Return the group set of the current process

Descrição

posix_getgroups ( ) : array|false

Gets the group set of the current process.

Valor Retornado

Returns an array of integers containing the numeric group ids of the group set of the current process, ou false em caso de falha.

Exemplos

Exemplo #1 Example use of posix_getgroups()

<?php

$groups = posix_getgroups();

print_r($groups);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => 4
    [1] => 20
    [2] => 24
    [3] => 25
    [4] => 29
    [5] => 30
    [6] => 33
    [7] => 44
    [8] => 46
    [9] => 104
    [10] => 109
    [11] => 110
    [12] => 1000
)

Veja Também

  • posix_getgrgid() - Return info about a group by group id


Return login name

  • « posix_getgroups
  • posix_getpgid »
  • PHP Manual
  • POSIX Funções
  • Return login name

posix_getlogin

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getlogin — Return login name

Descrição

posix_getlogin ( ) : string|false

Returns the login name of the user owning the current process.

Valor Retornado

Returns the login name of the user, as a string, ou false em caso de falha.

Exemplos

Exemplo #1 Example use of posix_getlogin()

<?php
echo posix_getlogin(); //apache
?>

Veja Também

  • posix_getpwnam() - Return info about a user by username
  • POSIX man page GETLOGIN(3)


Get process group id for job control

  • « posix_getlogin
  • posix_getpgrp »
  • PHP Manual
  • POSIX Funções
  • Get process group id for job control

posix_getpgid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getpgid — Get process group id for job control

Descrição

posix_getpgid ( int $process_id ) : int|false

Returns the process group identifier of the process process_id ou false em caso de falha.

Parâmetros

process_id

The process id.

Valor Retornado

Returns the identifier, as an int.

Exemplos

Exemplo #1 Example use of posix_getpgid()

<?php
$pid = posix_getppid();
echo posix_getpgid($pid); //35
?>

Notas

Nota:

This is a not POSIX function, but is common on BSD and System V systems. If the system does not support this function, then it will not be included at compile time. This may be checked with function_exists().

Veja Também

  • posix_getppid() - Return the parent process identifier
  • man page SETPGID(2)


Return the current process group identifier

  • « posix_getpgid
  • posix_getpid »
  • PHP Manual
  • POSIX Funções
  • Return the current process group identifier

posix_getpgrp

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getpgrp — Return the current process group identifier

Descrição

posix_getpgrp ( ) : int

Return the process group identifier of the current process.

Valor Retornado

Returns the identifier, as an int.

Veja Também

  • POSIX.1 and the getpgrp(2) manual page on the POSIX system for more information on process groups.


Return the current process identifier

  • « posix_getpgrp
  • posix_getppid »
  • PHP Manual
  • POSIX Funções
  • Return the current process identifier

posix_getpid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getpid — Return the current process identifier

Descrição

posix_getpid ( ) : int

Return the process identifier of the current process.

Valor Retornado

Returns the identifier, as an int.

Exemplos

Exemplo #1 Example use of posix_getpid()

<?php
echo posix_getpid(); //8805
?>

Veja Também

  • posix_kill() - Send a signal to a process
  • POSIX man page GETPID(2)


Return the parent process identifier

  • « posix_getpid
  • posix_getpwnam »
  • PHP Manual
  • POSIX Funções
  • Return the parent process identifier

posix_getppid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getppid — Return the parent process identifier

Descrição

posix_getppid ( ) : int

Return the process identifier of the parent process of the current process.

Valor Retornado

Returns the identifier, as an int.

Exemplos

Exemplo #1 Example use of posix_getppid()

<?php
echo posix_getppid(); //8259
?>


Return info about a user by username

  • « posix_getppid
  • posix_getpwuid »
  • PHP Manual
  • POSIX Funções
  • Return info about a user by username

posix_getpwnam

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getpwnam — Return info about a user by username

Descrição

posix_getpwnam ( string $username ) : array|false

Returns an array of information about the given user.

Parâmetros

username

An alphanumeric username.

Valor Retornado

On success an array with the following elements is returned, else false is returned:

The user information array
Element | Description
name | The name element contains the username of the user. This is a short, usually less than 16 character "handle" of the user, not the real, full name. This should be the same as the username parameter used when calling the function, and hence redundant.
passwd | The passwd element contains the user's password in an encrypted format. Often, for example on a system employing "shadow" passwords, an asterisk is returned instead.
uid | User ID of the user in numeric form.
gid | The group ID of the user. Use the function posix_getgrgid() to resolve the group name and a list of its members.
gecos | GECOS is an obsolete term that refers to the finger information field on a Honeywell batch processing system. The field, however, lives on, and its contents have been formalized by POSIX. The field contains a comma separated list containing the user's full name, office phone, office number, and home phone number. On most systems, only the user's full name is available.
dir | This element contains the absolute path to the home directory of the user.
shell | The shell element contains the absolute path to the executable of the user's default shell.

Exemplos

Exemplo #1 Example use of posix_getpwnam()

<?php

$userinfo = posix_getpwnam("tom");

print_r($userinfo);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [gecos]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

Veja Também

  • posix_getpwuid() - Return info about a user by user id
  • POSIX man page GETPWNAM(3)


Return info about a user by user id

  • « posix_getpwnam
  • posix_getrlimit »
  • PHP Manual
  • POSIX Funções
  • Return info about a user by user id

posix_getpwuid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getpwuid — Return info about a user by user id

Descrição

posix_getpwuid ( int $user_id ) : array|false

Returns an array of information about the user referenced by the given user ID.

Parâmetros

user_id

The user identifier.

Valor Retornado

Returns an associative array with the following elements:

The user information array
Element | Description
name | The name element contains the username of the user. This is a short, usually less than 16 character "handle" of the user, not the real, full name.
passwd | The passwd element contains the user's password in an encrypted format. Often, for example on a system employing "shadow" passwords, an asterisk is returned instead.
uid | User ID, should be the same as the user_id parameter used when calling the function, and hence redundant.
gid | The group ID of the user. Use the function posix_getgrgid() to resolve the group name and a list of its members.
gecos | GECOS is an obsolete term that refers to the finger information field on a Honeywell batch processing system. The field, however, lives on, and its contents have been formalized by POSIX. The field contains a comma separated list containing the user's full name, office phone, office number, and home phone number. On most systems, only the user's full name is available.
dir | This element contains the absolute path to the home directory of the user.
shell | The shell element contains the absolute path to the executable of the user's default shell.
The function returns false on failure.

Exemplos

Exemplo #1 Example use of posix_getpwuid()

<?php

$userinfo = posix_getpwuid(10000);

print_r($userinfo);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [gecos]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

Veja Também

  • posix_getpwnam() - Return info about a user by username
  • POSIX man page GETPWNAM(3)


Return info about system resource limits

  • « posix_getpwuid
  • posix_getsid »
  • PHP Manual
  • POSIX Funções
  • Return info about system resource limits

posix_getrlimit

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getrlimit — Return info about system resource limits

Descrição

posix_getrlimit ( ) : array|false

posix_getrlimit() returns an array of information about the current resource's soft and hard limits.

Cada recurso está associado a um soft limit e um hard limit. O soft limit é o limite que o kernel restringe do recurso. O hard limit funciona com um teto máximo para o limite soft. Qualquer processo sem privilégios só pode pode configurar o soft limit entre zero e o hard limit, e irreversivelmente abaixo que o hard limit.

Valor Retornado

Returns an associative array of elements for each limit that is defined. Each limit has a soft and a hard limit.

List of possible limits returned
Limit name | Limit description
core | The maximum size of the core file. When 0, not core files are created. When core files are larger than this size, they will be truncated at this size.
totalmem | The maximum size of the memory of the process, in bytes.
virtualmem | The maximum size of the virtual memory for the process, in bytes.
data | The maximum size of the data segment for the process, in bytes.
stack | The maximum size of the process stack, in bytes.
rss | The maximum number of virtual pages resident in RAM
maxproc | The maximum number of processes that can be created for the real user ID of the calling process.
memlock | The maximum number of bytes of memory that may be locked into RAM.
cpu | The amount of time the process is allowed to use the CPU.
filesize | The maximum size of the data segment for the process, in bytes.
openfiles | One more than the maximum number of open file descriptors.
The function returns false on failure.

Exemplos

Exemplo #1 Example use of posix_getrlimit()

<?php

$limits = posix_getrlimit();

print_r($limits);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [soft core] => 0
    [hard core] => unlimited
    [soft data] => unlimited
    [hard data] => unlimited
    [soft stack] => 8388608
    [hard stack] => unlimited
    [soft totalmem] => unlimited
    [hard totalmem] => unlimited
    [soft rss] => unlimited
    [hard rss] => unlimited
    [soft maxproc] => unlimited
    [hard maxproc] => unlimited
    [soft memlock] => unlimited
    [hard memlock] => unlimited
    [soft cpu] => unlimited
    [hard cpu] => unlimited
    [soft filesize] => unlimited
    [hard filesize] => unlimited
    [soft openfiles] => 1024
    [hard openfiles] => 1024
)

Veja Também

  • man page GETRLIMIT(2)
  • posix_setrlimit() - Set system resource limits


Get the current sid of the process

  • « posix_getrlimit
  • posix_getuid »
  • PHP Manual
  • POSIX Funções
  • Get the current sid of the process

posix_getsid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getsid — Get the current sid of the process

Descrição

posix_getsid ( int $process_id ) : int|false

Return the session id of the process process_id. The session id of a process is the process group id of the session leader.

Parâmetros

process_id

The process identifier. If set to 0, the current process is assumed. If an invalid process_id is specified, then false is returned and an error is set which can be checked with posix_get_last_error().

Valor Retornado

Returns the identifier, as an int, ou false em caso de falha.

Exemplos

Exemplo #1 Example use of posix_getsid()

<?php
$pid = posix_getpid();
echo posix_getsid($pid); //8805
?>

Veja Também

  • posix_getpgid() - Get process group id for job control
  • posix_setsid() - Make the current process a session leader
  • POSIX man page GETSID(2)


Return the real user ID of the current process

  • « posix_getsid
  • posix_initgroups »
  • PHP Manual
  • POSIX Funções
  • Return the real user ID of the current process

posix_getuid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getuid — Return the real user ID of the current process

Descrição

posix_getuid ( ) : int

Return the numeric real user ID of the current process.

Valor Retornado

Returns the user id, as an int

Exemplos

Exemplo #1 Example use of posix_getuid()

<?php
echo posix_getuid(); //10000
?>

Veja Também

  • posix_getpwuid() - Return info about a user by user id
  • POSIX man page GETUID(2)


Calculate the group access list

  • « posix_getuid
  • posix_isatty »
  • PHP Manual
  • POSIX Funções
  • Calculate the group access list

posix_initgroups

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

posix_initgroups — Calculate the group access list

Descrição

posix_initgroups ( string $username , int $group_id ) : bool

Calculates the group access list for the user specified in name.

Parâmetros

username

The user to calculate the list for.

group_id

Typically the group number from the password file.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • The Unix manual page for initgroups(3).


Determine if a file descriptor is an interactive terminal

  • « posix_initgroups
  • posix_kill »
  • PHP Manual
  • POSIX Funções
  • Determine if a file descriptor is an interactive terminal

posix_isatty

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_isatty — Determine if a file descriptor is an interactive terminal

Descrição

posix_isatty ( resource|int $file_descriptor ) : bool

Determines if the file descriptor file_descriptor refers to a valid terminal type device.

Parâmetros

fd

O descritor do arquivo, qual é esperado ser um resource de arquivo ou um integer. Um integer será interpretado como um descritor de arquivo que pode ser repassado diretamente à uma system call.

Na maioria dos casos você deve prover um resource de arquivo.

Valor Retornado

Returns true if file_descriptor is an open descriptor connected to a terminal and false otherwise.

Veja Também

  • posix_ttyname() - Determine terminal device name
  • stream_isatty() - Check if a stream is a TTY


Send a signal to a process

  • « posix_isatty
  • posix_mkfifo »
  • PHP Manual
  • POSIX Funções
  • Send a signal to a process

posix_kill

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_kill — Send a signal to a process

Descrição

posix_kill ( int $process_id , int $signal ) : bool

Send the signal signal to the process with the process identifier process_id.

Parâmetros

process_id

The process identifier.

signal

One of the PCNTL signals constants.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • The kill(2) manual page of the POSIX system, which contains additional information about negative process identifiers, the special pid 0, the special pid -1, and the signal number 0.


Create a fifo special file (a named pipe)

  • « posix_kill
  • posix_mknod »
  • PHP Manual
  • POSIX Funções
  • Create a fifo special file (a named pipe)

posix_mkfifo

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_mkfifo — Create a fifo special file (a named pipe)

Descrição

posix_mkfifo ( string $filename , int $permissions ) : bool

posix_mkfifo() creates a special FIFO file which exists in the file system and acts as a bidirectional communication endpoint for processes.

Parâmetros

filename

Path to the FIFO file.

permissions

The second parameter permissions has to be given in octal notation (e.g. 0644). The permission of the newly created FIFO also depends on the setting of the current umask(). The permissions of the created file are (mode & ~umask).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Create a special or ordinary file (POSIX.1)

  • « posix_mkfifo
  • posix_setegid »
  • PHP Manual
  • POSIX Funções
  • Create a special or ordinary file (POSIX.1)

posix_mknod

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

posix_mknod — Create a special or ordinary file (POSIX.1)

Descrição

posix_mknod ( string $filename , int $flags , int $major = 0 , int $minor = 0 ) : bool

Creates a special or ordinary file.

Parâmetros

filename

The file to create

flags

This parameter is constructed by a bitwise OR between file type (one of the following constants: POSIX_S_IFREG, POSIX_S_IFCHR, POSIX_S_IFBLK, POSIX_S_IFIFO or POSIX_S_IFSOCK) and permissions.

major

The major device kernel identifier (required to pass when using S_IFCHR or S_IFBLK).

minor

The minor device kernel identifier.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 A posix_mknod() example

<?php

$file = '/tmp/tmpfile';  // file name
$type = POSIX_S_IFBLK;   // file type
$permissions = 0777;     // octal
$major = 1;
$minor = 8;              // /dev/random

if (!posix_mknod($file, $type | $permissions, $major, $minor)) {
    die('Error ' . posix_get_last_error() . ': ' . posix_strerror(posix_get_last_error()));
}

?>

Veja Também

  • posix_mkfifo() - Create a fifo special file (a named pipe)


Set the effective GID of the current process

  • « posix_mknod
  • posix_seteuid »
  • PHP Manual
  • POSIX Funções
  • Set the effective GID of the current process

posix_setegid

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

posix_setegid — Set the effective GID of the current process

Descrição

posix_setegid ( int $group_id ) : bool

Set the effective group ID of the current process. This is a privileged function and needs appropriate privileges (usually root) on the system to be able to perform this function.

Parâmetros

group_id

The group id.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 posix_setegid() example

This example will print out the effective group id, once changed.

<?php
echo 'My real group id is '.posix_getgid(); //20
posix_setegid(40);
echo 'My real group id is '.posix_getgid(); //20
echo 'My effective group id is '.posix_getegid(); //40
?>

Veja Também

  • posix_getgrgid() - Return info about a group by group id
  • posix_getgid() - Return the real group ID of the current process
  • posix_setgid() - Set the GID of the current process


Set the effective UID of the current process

  • « posix_setegid
  • posix_setgid »
  • PHP Manual
  • POSIX Funções
  • Set the effective UID of the current process

posix_seteuid

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

posix_seteuid — Set the effective UID of the current process

Descrição

posix_seteuid ( int $user_id ) : bool

Set the effective user ID of the current process. This is a privileged function and needs appropriate privileges (usually root) on the system to be able to perform this function.

Parâmetros

user_id

The user id.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • posix_geteuid() - Return the effective user ID of the current process
  • posix_setuid() - Set the UID of the current process
  • posix_getuid() - Return the real user ID of the current process


Set the GID of the current process

  • « posix_seteuid
  • posix_setpgid »
  • PHP Manual
  • POSIX Funções
  • Set the GID of the current process

posix_setgid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_setgid — Set the GID of the current process

Descrição

posix_setgid ( int $group_id ) : bool

Set the real group ID of the current process. This is a privileged function and needs appropriate privileges (usually root) on the system to be able to perform this function. The appropriate order of function calls is posix_setgid() first, posix_setuid() last.

Nota:

If the caller is a super user, this will also set the effective group id.

Parâmetros

group_id

The group id.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 posix_setgid() example

This example will print out the effective group id, once it is changed.

<?php
echo 'My real group id is '.posix_getgid(); //20
posix_setgid(40);
echo 'My real group id is '.posix_getgid(); //40
echo 'My effective group id is '.posix_getegid(); //40
?>

Veja Também

  • posix_getgrgid() - Return info about a group by group id
  • posix_getgid() - Return the real group ID of the current process


Set process group id for job control

  • « posix_setgid
  • posix_setrlimit »
  • PHP Manual
  • POSIX Funções
  • Set process group id for job control

posix_setpgid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_setpgid — Set process group id for job control

Descrição

posix_setpgid ( int $process_id , int $process_group_id ) : bool

Let the process process_id join the process group process_group_id.

Parâmetros

process_id

The process id.

process_group_id

The process group id.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • See POSIX.1 and the setsid(2) manual page on the POSIX system for more information on process groups and job control.


Set system resource limits

  • « posix_setpgid
  • posix_setsid »
  • PHP Manual
  • POSIX Funções
  • Set system resource limits

posix_setrlimit

(PHP 7, PHP 8)

posix_setrlimit — Set system resource limits

Descrição

posix_setrlimit ( int $resource , int $soft_limit , int $hard_limit ) : bool

posix_setrlimit() sets the soft and hard limits for a given system resource.

Cada recurso está associado a um soft limit e um hard limit. O soft limit é o limite que o kernel restringe do recurso. O hard limit funciona com um teto máximo para o limite soft. Qualquer processo sem privilégios só pode pode configurar o soft limit entre zero e o hard limit, e irreversivelmente abaixo que o hard limit.

Parâmetros

resource

The resource limit constant corresponding to the limit that is being set.

soft_limit

The soft limit, in whatever unit the resource limit requires, or POSIX_RLIMIT_INFINITY.

hard_limit

The hard limit, in whatever unit the resource limit requires, or POSIX_RLIMIT_INFINITY.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • man page SETRLIMIT(2)
  • posix_getrlimit() - Return info about system resource limits


Make the current process a session leader

  • « posix_setrlimit
  • posix_setuid »
  • PHP Manual
  • POSIX Funções
  • Make the current process a session leader

posix_setsid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_setsid — Make the current process a session leader

Descrição

posix_setsid ( ) : int

Make the current process a session leader.

Valor Retornado

Returns the session id, or -1 on errors.

Veja Também

  • The POSIX.1 and the setsid(2) manual page on the POSIX system for more information on process groups and job control.


Set the UID of the current process

  • « posix_setsid
  • posix_strerror »
  • PHP Manual
  • POSIX Funções
  • Set the UID of the current process

posix_setuid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_setuid — Set the UID of the current process

Descrição

posix_setuid ( int $user_id ) : bool

Set the real user ID of the current process. This is a privileged function that needs appropriate privileges (usually root) on the system to be able to perform this function.

Parâmetros

user_id

The user id.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 posix_setuid() example

This example will show the current user id and then set it to a different value.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_setuid(10000);
echo posix_getuid()."\n"; //10000
echo posix_geteuid()."\n"; //10000
?>

Veja Também

  • posix_setgid() - Set the GID of the current process
  • posix_seteuid() - Set the effective UID of the current process
  • posix_getuid() - Return the real user ID of the current process
  • posix_geteuid() - Return the effective user ID of the current process


Retrieve the system error message associated with the given errno

  • « posix_setuid
  • posix_times »
  • PHP Manual
  • POSIX Funções
  • Retrieve the system error message associated with the given errno

posix_strerror

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

posix_strerror — Retrieve the system error message associated with the given errno

Descrição

posix_strerror ( int $error_code ) : string

Returns the POSIX system error message associated with the given error_code. You may get the error_code parameter by calling posix_get_last_error().

Parâmetros

error_code

A POSIX error number, returned by posix_get_last_error(). If set to 0, then the string "Success" is returned.

Valor Retornado

Returns the error message, as a string.

Exemplos

Exemplo #1 posix_strerror() example

This example will attempt to kill a process which does not exist, then will print out the corresponding error message.

<?php
posix_kill(50,SIGKILL);
echo posix_strerror(posix_get_last_error())."\n";
?>

O exemplo acima irá imprimir algo similar à:

No such process

Veja Também

  • posix_get_last_error() - Retrieve the error number set by the last posix function that failed


Get process times

  • « posix_strerror
  • posix_ttyname »
  • PHP Manual
  • POSIX Funções
  • Get process times

posix_times

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_times — Get process times

Descrição

posix_times ( ) : array|false

Gets information about the current CPU usage.

Valor Retornado

Returns a hash of strings with information about the current process CPU usage. The indices of the hash are:

  • ticks - the number of clock ticks that have elapsed since reboot.
  • utime - user time used by the current process.
  • stime - system time used by the current process.
  • cutime - user time used by current process and children.
  • cstime - system time used by current process and children.
The function returns false on failure.

Notas

Aviso

This function isn't reliable to use, it may return negative values for high times.

Exemplos

Exemplo #1 Example use of posix_times()

<?php

$times = posix_times();

print_r($times);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [ticks] => 25814410
    [utime] => 1
    [stime] => 1
    [cutime] => 0
    [cstime] => 0
)


Determine terminal device name

  • « posix_times
  • posix_uname »
  • PHP Manual
  • POSIX Funções
  • Determine terminal device name

posix_ttyname

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_ttyname — Determine terminal device name

Descrição

posix_ttyname ( resource|int $file_descriptor ) : string|false

Returns a string for the absolute path to the current terminal device that is open on the file descriptor file_descriptor.

Parâmetros

fd

O descritor do arquivo, qual é esperado ser um resource de arquivo ou um integer. Um integer será interpretado como um descritor de arquivo que pode ser repassado diretamente à uma system call.

Na maioria dos casos você deve prover um resource de arquivo.

Valor Retornado

On success, returns a string of the absolute path of the file_descriptor. On failure, returns false


Get system name

  • « posix_ttyname
  • Execução de programa »
  • PHP Manual
  • POSIX Funções
  • Get system name

posix_uname

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_uname — Get system name

Descrição

posix_uname ( ) : array|false

Gets information about the system.

Posix requires that assumptions must not be made about the format of the values, e.g. the assumption that a release may contain three digits or anything else returned by this function.

Valor Retornado

Returns a hash of strings with information about the system. The indices of the hash are

  • sysname - operating system name (e.g. Linux)
  • nodename - system name (e.g. valiant)
  • release - operating system release (e.g. 2.2.10)
  • version - operating system version (e.g. #4 Tue Jul 20 17:01:36 MEST 1999)
  • machine - system architecture (e.g. i586)
  • domainname - DNS domainname (e.g. example.com)

domainname is a GNU extension and not part of POSIX.1, so this field is only available on GNU systems or when using the GNU libc.

The function returns false on failure.

Exemplos

Exemplo #1 Example use of posix_uname()

<?php
$uname=posix_uname();
print_r($uname);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [sysname] => Linux
    [nodename] => funbox
    [release] => 2.6.20-15-server
    [version] => #2 SMP Sun Apr 15 07:41:34 UTC 2007
    [machine] => i686
)


Execução de programa do sistema

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções para Execução de programas
    • escapeshellarg — Escapa uma string para usar como um argumento shell
    • escapeshellcmd — escapa metacaracteres shell
    • exec — Executa um programa externo
    • passthru — Executa um programa externo e mostra a saída crúa
    • proc_close — Fecha um processo aberto por proc_open e retorna o código de saída do processo.
    • proc_get_status — Obtem informação sobre um processo aberto por proc_open
    • proc_nice — Muda a prioridade do processo atual
    • proc_open — Executa um comando e abre ponteiros para entrada e saída
    • proc_terminate — Mata um processo aberto por proc_open
    • shell_exec — Executa um comando via shell e retorna a saída inteira como uma string
    • system — Executa um programa externo e mostra a saída


Introdução

Estas funções prôvem meios para executar comandos no sistema em si, e meios de tornar seguros estes comandos.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão define um recurso process, retornado por proc_open().


  • « Tipos de Recurso
  • Funções para Execução de programas »
  • PHP Manual
  • Execução de programa
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Funções para Execução de programas

Notas

Aviso

Arquivos abertos com travas (especialmente sessões abertas) devem ser fechados antes de executar um programa em segundo plano.

Veja Também

Estas funções estão muito relacionadas com backtick operator.

Índice

  • escapeshellarg — Escapa uma string para usar como um argumento shell
  • escapeshellcmd — escapa metacaracteres shell
  • exec — Executa um programa externo
  • passthru — Executa um programa externo e mostra a saída crúa
  • proc_close — Fecha um processo aberto por proc_open e retorna o código de saída do processo.
  • proc_get_status — Obtem informação sobre um processo aberto por proc_open
  • proc_nice — Muda a prioridade do processo atual
  • proc_open — Executa um comando e abre ponteiros para entrada e saída
  • proc_terminate — Mata um processo aberto por proc_open
  • shell_exec — Executa um comando via shell e retorna a saída inteira como uma string
  • system — Executa um programa externo e mostra a saída


Escapa uma string para usar como um argumento shell

  • « Funções para Execução de programas
  • escapeshellcmd »
  • PHP Manual
  • Funções para Execução de programas
  • Escapa uma string para usar como um argumento shell

escapeshellarg

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

escapeshellarg — Escapa uma string para usar como um argumento shell

Descrição

escapeshellarg ( string $arg ) : string

escapeshellarg() adiciona aspas simples em torno de uma string e escapa qualquer as aspas simples existentes permitindo a você passar uma string diretamente para uma função shell e tendo ela tradata como um argumento seguro. Esta função deve ser usado para escapar argumentos para funções shell vindos de dados de usuários. As funções shell incluem exec(), system() e backtick operator.

Parâmetros

arg

O argumento que será escapado.

Valor Retornado

A string escapada.

Exemplos

Exemplo #1 Exemplo escapeshellarg()

<?php
system('ls '.escapeshellarg($dir));
?>

Veja Também

  • escapeshellcmd() - escapa metacaracteres shell
  • exec() - Executa um programa externo
  • popen() - Abre um processo como ponteiro de arquivo
  • system() - Executa um programa externo e mostra a saída
  • backtick operator


escapa metacaracteres shell

  • « escapeshellarg
  • exec »
  • PHP Manual
  • Funções para Execução de programas
  • escapa metacaracteres shell

escapeshellcmd

(PHP 4, PHP 5, PHP 7, PHP 8)

escapeshellcmd — escapa metacaracteres shell

Descrição

escapeshellcmd ( string $command ) : string

escapeshellcmd() escapa qualquer caractere em uma string que possa ser utilizado para enganar um comando shell para executar comandos arbritários. Esta função deve ser utilizada para ter certeza que quaisquer dados vindos do usuário é escapado antes que estes dados sejam passados para as funções exec() ou system(), ou para backtick operator.

Os seguintes caracteres são precedidos por uma barra invertida: #&;`|*?~<>^()[]{}$\, \x0A e \xFF. ' e " são escapados apenas se não estiverem em pares. No windows, todos estes caracteres mais % são ao invés substituidos por um espaço.

Parâmetros

command

O comando que será escapado.

Valor Retornado

A string escapada.

Exemplos

Exemplo #1 Exemplo escapeshellcmd()

<?php
$e = escapeshellcmd($userinput);

// Aqui não nos preocupamos se $e tem espaços
system("echo $e");
$f = escapeshellcmd($filename);

// aqui sim
system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\"");
?>

Veja Também

  • escapeshellarg() - Escapa uma string para usar como um argumento shell
  • exec() - Executa um programa externo
  • popen() - Abre um processo como ponteiro de arquivo
  • system() - Executa um programa externo e mostra a saída
  • backtick operator


Executa um programa externo

  • « escapeshellcmd
  • passthru »
  • PHP Manual
  • Funções para Execução de programas
  • Executa um programa externo

exec

(PHP 4, PHP 5, PHP 7, PHP 8)

exec — Executa um programa externo

Descrição

exec ( string $command , array &$output = ? , int &$return_var = ? ) : string

exec() executa o command dado.

Parâmetros

command

O comando que será executado.

output

Se o argumento output estiver presente, então a matriz especificada será prenchida com cada linha da saída do comando. Espaços ao final, como \n, não são incluídos nesta matriz. Note que se a matriz já contiver alguns elementos, exec() irá adicionar ao final da matriz. Se você não quiser que a função adicione elementos, use unset() antes de passar ela para exec().

return_var

Se o argumento return_var esta presente junto com o argumento output, então o status de retorno do comando executado será escrito nesta variável.

Valor Retornado

A ultima linha do resultado do comando. Se você precisa executar um comando e ter todos os dados passados diretamente de volta sem qualquer interferência, use a função passthru().

Para pegar a saída do comando executado, tenha certeza de definir e usar o parâmetro output.

Exemplos

Exemplo #1 Um exemplo exec()

<?php
// Mostra o nome de quem é o dono do processo php/httpd
// (em um sistema com o executável "whoami" no path)
echo exec('whoami');
?>

Notas

Aviso

Quando permitindo dados fornecidos por usuário para ser passado para esta função, utilize escapeshellarg() ou escapeshellcmd() para se certificar que os usuários não tentarão enganar o sistema com comandos arbitrários.

Nota:

Se um programa é iniciado com esta função, e deseja que ele continue rodando em background, a saída do programa precisa ser redirecionada para um arquivo ou outro output stream. Se isso não é feito, o que irá ocorrer é que o PHP ficará esperando até que a execução do programa termine.

Nota: When safe mode is enabled, you can only execute files within the safe_mode_exec_dir. For practical reasons, it is currently not allowed to have .. components in the path to the executable.

Aviso

With safe mode enabled, the command string is escaped with escapeshellcmd(). Thus, echo y | echo x becomes echo y \| echo x.

Veja Também

  • system() - Executa um programa externo e mostra a saída
  • passthru() - Executa um programa externo e mostra a saída crúa
  • escapeshellcmd() - escapa metacaracteres shell
  • pcntl_exec() - Executes specified program in current process space
  • backtick operator


Executa um programa externo e mostra a saída crúa

  • « exec
  • proc_close »
  • PHP Manual
  • Funções para Execução de programas
  • Executa um programa externo e mostra a saída crúa

passthru

(PHP 4, PHP 5, PHP 7, PHP 8)

passthru — Executa um programa externo e mostra a saída crúa

Descrição

passthru ( string $command , int &$return_var = ? ) : void

A função passthru() é similar a a função exec() no que ela executa um command. Esta função deve ser usada no lugar de exec() ou system() quando a saída do comando Unix é dados binários que precisam ser passados diretamente de volta para o browser. Um uso comum para isso é para executar algo como pbmplus que podem enviar um stream com uma imagem diretamente. Definindo o Content-type para image/gif e então chamando o programa para mostrar um gif, você pode criar scripts PHP que mostram imagens diretamente.

Parâmetros

command

O comando que será executado.

return_var

Se o argumento return_var esta presente, o status de retorno do comando Unix será colocado aqui.

Valor Retornado

Não há valor retornado.

Notas

Aviso

Quando permitindo dados fornecidos por usuário para ser passado para esta função, utilize escapeshellarg() ou escapeshellcmd() para se certificar que os usuários não tentarão enganar o sistema com comandos arbitrários.

Nota:

Se um programa é iniciado com esta função, e deseja que ele continue rodando em background, a saída do programa precisa ser redirecionada para um arquivo ou outro output stream. Se isso não é feito, o que irá ocorrer é que o PHP ficará esperando até que a execução do programa termine.

Nota: When safe mode is enabled, you can only execute files within the safe_mode_exec_dir. For practical reasons, it is currently not allowed to have .. components in the path to the executable.

Aviso

With safe mode enabled, the command string is escaped with escapeshellcmd(). Thus, echo y | echo x becomes echo y \| echo x.

Veja Também

  • exec() - Executa um programa externo
  • system() - Executa um programa externo e mostra a saída
  • popen() - Abre um processo como ponteiro de arquivo
  • escapeshellcmd() - escapa metacaracteres shell
  • Operador backtick


Fecha um processo aberto por proc_open e retorna o código de saída do processo.

  • « passthru
  • proc_get_status »
  • PHP Manual
  • Funções para Execução de programas
  • Fecha um processo aberto por proc_open e retorna o código de saída do processo.

proc_close

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

proc_close — Fecha um processo aberto por proc_open() e retorna o código de saída do processo.

Descrição

proc_close ( resource $process ) : int

proc_close() é similar a pclose() exceto que ela só funciona em processos abertos por proc_open(). proc_close() espera pelo processo terminar, e retorna o seu código de saída. Se você tiver pipes abertos para este processo, você deve usar fclose() antes de usar esta função para previnir travamentos - o processo filho não será capaz de sair enquanto pipes estiverem abertos.

Parâmetros

process

O resource proc_open() que será fechado.

Valor Retornado

Retorna o estado do processo ao terminar que foi executado.


Obtem informação sobre um processo aberto por proc_open

  • « proc_close
  • proc_nice »
  • PHP Manual
  • Funções para Execução de programas
  • Obtem informação sobre um processo aberto por proc_open

proc_get_status

(PHP 5, PHP 7, PHP 8)

proc_get_status — Obtem informação sobre um processo aberto por proc_open()

Descrição

proc_get_status ( resource $process ) : array

proc_get_status() obtém dados sobre um processo aberto usando proc_open().

Parâmetros

process

O resource proc_open() que será avaliado.

Valor Retornado

Uma array com a informação coletada em caso de sucesso, e false em caso de falha. A array retonada contém os seguintes elementos:

elemento | type | descrição
command | string | A string de comando que foi passado para proc_open().
pid | int | Id do processo
running | bool | true se o processo ainda esta sendo executado, false se ele terminou.
signaled | bool | true se o processo filho terminou por um sinal não capturado. Sempre definido como false no Windows.
stopped | bool | true se o processo filho foi parado por um sinal. Sempre definido como false no Windows.
exitcode | int | O código de saída retornado pelo processo ( o qual só significativo se running é false) Apenas a primeira chamada a esta função retorna o valor real, a próxima chamada retorna -1.
termsig | int | O número do sinal que fez o processo filho terminar a sua execução ( somente significativo se signaled é true)
stopsig | int | O número do sinal que fez o processo filho terminar a sua execução ( somente significativo se stopped é true)

Veja Também

  • proc_open() - Executa um comando e abre ponteiros para entrada e saída


Muda a prioridade do processo atual

  • « proc_get_status
  • proc_open »
  • PHP Manual
  • Funções para Execução de programas
  • Muda a prioridade do processo atual

proc_nice

(PHP 5, PHP 7, PHP 8)

proc_nice — Muda a prioridade do processo atual

Descrição

proc_nice ( int $increment ) : bool

proc_nice() muda a prioridade do processo atual pela quantidade especificada em increment. Um increment positivo irá diminuir a prioridade do processo atual, enquanto um increment negativo irá aumentar a prioridade.

proc_nice() não é relacionada com proc_open() e suas funções associadas de qualquer maneira.

Parâmetros

increment

O valor do incremento da mudança de prioridade.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Se ocorrer um erro, como o usuário não ter permissões suficientes para mudar a prioridade, um erro de nível E_WARNING também é gerado.

Notas

Nota: Disponibilidade

proc_nice() irá existir apenas se o seu sistema tiver capacidades 'nice'. 'nice' conforma com: SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3. Isto significa que proc_nice() não esta disponível no windows.


Executa um comando e abre ponteiros para entrada e saída

  • « proc_nice
  • proc_terminate »
  • PHP Manual
  • Funções para Execução de programas
  • Executa um comando e abre ponteiros para entrada e saída

proc_open

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

proc_open — Executa um comando e abre ponteiros para entrada e saída

Descrição

proc_open ( string $cmd , array $descriptorspec , array &$pipes , string $cwd = ? , array $env = ? , array $other_options = ? ) : resource

proc_open() é similar a popen() mas provê uma grau de controle muito maior sobre a execução do programa.

Parâmetros

cmd

O comando a executar

descriptorspec

Uma matriz indexada aonde a chave representa o número do descritor e o valor representa como o PHP passará este descritor para o processo filho. 0 é stdin, 1 é stdout, enquanto 2 é stderr.

Os pipes suportados atualmente são file e pipe .

Os números dos descritores de arquivos não estão limitados a 0, 1 e 2 - você pode especificar qualquer número de descritor válido e ele será passado para o processo filho. Isto permiteao seu script interoperar com outros scripts que sejam executados como "co-processos". Em particular, isto é útil para passar senhas para programas como PGP, GPG e openssl de uma maneira mais segura. Também é útil para ler informações do estado providos por esses programas em descritores auxiliares.

pipes

Sera definido como uma matriz indexada de ponteiros de arquivos que corresponde aos pipes do lado do PHP que são criados.

cwd

O diretório inicial de trabalho para o comando. Este deve ser um caminho absoluto, ou null se você quer usar o valor padrão (o diretório de trabalho do processo PHP atual)

env

Uma matriz de variáveis de ambiênte para o comando que será executado, ou null para usar o mesmo ambiênte que o processo PHP atual.

other_options

Permite a você definir opções adicionais. Opções atualmente suportadas incluem:

  • suppress_errors (apenas windows): suprime os erros gerados por esta função quando estiver definido como true
  • bypass_shell (apenas windows): ignora o shell cmd.exe quando esta definido como true
  • context: contexto de stream usado ao abrir arquivos (criado com stream_context_create())
  • binary_pipes: abre os pipes em modo binário, ao invés de usar o stream_encoding

Valor Retornado

Retorna um recurso representando o processo, o qual deve ser liberado usando proc_close() quando você terminou de utiliza-lo. Em caso de falha retorna false.

Changelog

Versão | Descrição
6.0.0 | Adicionado as opções context e binary_pipes no parâmetro other_options.
5.2.1 | Adicionada a opção bypass_shell ao parâmetro other_options.
5.0.0 | Adicionado os parâmetros cwd, env e other_options.

Exemplos

Exemplo #1 Um exemplo proc_open()

<?php
$descriptorspec = array(
   0 => array("pipe", "r"),  // stdin is a pipe that the child will read from
   1 => array("pipe", "w"),  // stdout is a pipe that the child will write to
   2 => array("file", "/tmp/error-output.txt", "a") // stderr is a file to write to
);

$cwd = '/tmp';
$env = array('some_option' => 'aeiou');

$process = proc_open('php', $descriptorspec, $pipes, $cwd, $env);

if (is_resource($process)) {
    // $pipes now looks like this:
    // 0 => writeable handle connected to child stdin
    // 1 => readable handle connected to child stdout
    // Any error output will be appended to /tmp/error-output.txt

    fwrite($pipes[0], '<?php print_r($_ENV); ?>');
    fclose($pipes[0]);

    echo stream_get_contents($pipes[1]);
    fclose($pipes[1]);

    // It is important that you close any pipes before calling
    // proc_close in order to avoid a deadlock
    $return_value = proc_close($process);

    echo "command returned $return_value\n";
}
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [some_option] => aeiou
    [PWD] => /tmp
    [SHLVL] => 1
    [_] => /usr/local/bin/php
)
command returned 0

Notas

Nota:

Compatibilidade com Windows: Descritores além do 2(stderr) são tornados disponíveis ao processo filho como manipuladores herdados, mas já que a arquitetura Windows não associa números de descritores de arquivos com os manipuladores de baixo nível, o processo filho (ainda) não tem meios de acessar estes manipuladores. Stdin, stdout e stderr funcionam como esperado.

Nota:

Se você precisa de um pipe de processo de apenas uma direção, use popen() ao invés, já que é muito mais fácil de usar.

Veja Também

  • popen() - Abre um processo como ponteiro de arquivo
  • exec() - Executa um programa externo
  • system() - Executa um programa externo e mostra a saída
  • passthru() - Executa um programa externo e mostra a saída crúa
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • O operador backtick


Mata um processo aberto por proc_open

  • « proc_open
  • shell_exec »
  • PHP Manual
  • Funções para Execução de programas
  • Mata um processo aberto por proc_open

proc_terminate

(PHP 5, PHP 7, PHP 8)

proc_terminate — Mata um processo aberto por proc_open

Descrição

proc_terminate ( resource $process , int $signal = ? ) : bool

Sinaliza um process (criado usando proc_open()) que ele deve terminar. proc_terminate() retorna imediatamente e não espera pelo processo terminar.

proc_terminate() permite a você terminar o processo e continuar com outras tarefas. Você pode descobrir se o processo já parou usando a função proc_get_status(). Contudo isto é somente possível com PHP 5.2.2 ou superior, como antigas versões destroem o dado processo resource.

Parâmetros

process

O resource proc_open() que será fechado.

signal

O parâmetro opcional é somente útil em sistemas operacionais POSIX, você deve especificar um sinal para enviar para o processo usando a chamada de sistema kill(2). O padrão é SIGTERM.

Valor Retornado

Retorna o status de terminação do processo que estava executando.

Veja Também

  • proc_open() - Executa um comando e abre ponteiros para entrada e saída
  • proc_close() - Fecha um processo aberto por proc_open e retorna o código de saída do processo.
  • proc_get_status() - Obtem informação sobre um processo aberto por proc_open


Executa um comando via shell e retorna a saída inteira como uma string

  • « proc_terminate
  • system »
  • PHP Manual
  • Funções para Execução de programas
  • Executa um comando via shell e retorna a saída inteira como uma string

shell_exec

(PHP 4, PHP 5, PHP 7, PHP 8)

shell_exec — Executa um comando via shell e retorna a saída inteira como uma string

Descrição

shell_exec ( string $cmd ) : string

Esta função é identica ao operador backtick.

Parâmetros

cmd

O comando que será executado.

Valor Retornado

A saída do comando executado.

Exemplos

Exemplo #1 Um exemplo da shell_exec()

<?php
$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>

Veja Também

  • exec() - Executa um programa externo
  • escapeshellcmd() - escapa metacaracteres shell


Executa um programa externo e mostra a saída

  • « shell_exec
  • parallel »
  • PHP Manual
  • Funções para Execução de programas
  • Executa um programa externo e mostra a saída

system

(PHP 4, PHP 5, PHP 7, PHP 8)

system — Executa um programa externo e mostra a saída

Descrição

system ( string $command , int &$return_var = ? ) : string

system() é igual a versão C desta função no que executa o command indicado e mostra o resultado.

A função system() também tenta automaticamente limpar o buffer de saída do servidor mandando os dados para o browser após cada linha de saída se o PHP estiver sendo executado como módulo de servidor.

Se você precisa executar um comando e ter todos os dados do comando passados sem nenhuma interferencia, use a função passthru().

Parâmetros

command

O comando que será executado.

return_var

Se o argumento return_var é fornecido, então o status de retorno do comando executado será escrito para esta variável.

Valor Retornado

Retorna a última linha da saída do comando em sucesso, e false em falha.

Exemplos

Exemplo #1 Exemplo da system()

<?php
echo '<pre>';

// Mostra todo o resultado do comando do shell "ls", e retorna
// a última linha da saída em $last_line. Guarda o valor de retorno
// do comando shell em $retval.
$last_line = system('ls', $retval);

// Mostrando informação adicional
echo '
</pre>
<hr />Última linha da saída: '.$last_line.'
<hr />Valor de Retorno: '.$retval;
?>

Notas

Aviso

Quando permitindo dados fornecidos por usuário para ser passado para esta função, utilize escapeshellarg() ou escapeshellcmd() para se certificar que os usuários não tentarão enganar o sistema com comandos arbitrários.

Nota:

Se um programa é iniciado com esta função, e deseja que ele continue rodando em background, a saída do programa precisa ser redirecionada para um arquivo ou outro output stream. Se isso não é feito, o que irá ocorrer é que o PHP ficará esperando até que a execução do programa termine.

Nota: When safe mode is enabled, you can only execute files within the safe_mode_exec_dir. For practical reasons, it is currently not allowed to have .. components in the path to the executable.

Aviso

With safe mode enabled, the command string is escaped with escapeshellcmd(). Thus, echo y | echo x becomes echo y \| echo x.

Veja Também

  • exec() - Executa um programa externo
  • passthru() - Executa um programa externo e mostra a saída crúa
  • popen() - Abre um processo como ponteiro de arquivo
  • escapeshellcmd() - escapa metacaracteres shell
  • pcntl_exec() - Executes specified program in current process space
  • operador backtick


parallel

  • Introdução
  • Installation
  • Philosophy
  • Functional API
    • parallel\bootstrap — Bootstrapping
    • parallel\run — Execution
  • parallel\Runtime — The parallel\Runtime class
    • parallel\Runtime::__construct — Runtime Construction
    • parallel\Runtime::run — Execution
    • parallel\Runtime::close — Runtime Graceful Join
    • parallel\Runtime::kill — Runtime Join
  • parallel\Future — The parallel\Future class
    • parallel\Future::cancel — Cancellation
    • parallel\Future::cancelled — State Detection
    • parallel\Future::done — State Detection
    • parallel\Future::value — Resolution
  • parallel\Channel — The parallel\Channel class
    • parallel\Channel::__construct — Channel Construction
    • parallel\Channel::make — Access
    • parallel\Channel::open — Access
    • parallel\Channel::recv — Sharing
    • parallel\Channel::send — Sharing
    • parallel\Channel::close — Closing
  • parallel\Events — The parallel\Events class
    • parallel\Events::setBlocking — Behaviour
    • parallel\Events::setTimeout — Behaviour
    • parallel\Events::setInput — Input
    • parallel\Events::addChannel — Targets
    • parallel\Events::addFuture — Targets
    • parallel\Events::remove — Targets
    • parallel\Events::poll — Polling
  • parallel\Events\Input — The parallel\Events\Input class
    • parallel\Events\Input::add — Inputs
    • parallel\Events\Input::clear — Inputs
    • parallel\Events\Input::remove — Inputs
  • parallel\Events\Event — The parallel\Events\Event class
  • parallel\Events\Event\Type — The parallel\Events\Event\Type class
  • parallel\Sync — The parallel\Sync class
    • parallel\Sync::__construct — Construction
    • parallel\Sync::get — Access
    • parallel\Sync::set — Access
    • parallel\Sync::wait — Synchronization
    • parallel\Sync::notify — Synchronization
    • parallel\Sync::__invoke — Synchronization


Introdução

parallel is a parallel concurrency extension for PHP 7.2+.

A brief description of the concepts core to parallel follows, more detailed information may be found within this section of the manual.

Runtime

A parallel\Runtime represents a PHP interpreter thread. A parallel\Runtime is configured with an optional bootstrap file passed to parallel\Runtime::__construct(), this is typically an autoloader, or some other preloading routine: The bootstrap file will be included before any task is executed.

After construction the parallel\Runtime remains available until it is closed, killed, or destroyed by the normal scoping rules of PHP objects. parallel\Runtime::run() allows the programmer to schedule tasks for execution in parallel. A parallel\Runtime has a FIFO schedule, tasks will be executed in the order that they are scheduled.

Functional API

parallel implements a functional, higher level API on top of parallel\Runtime that provides a single function entry point to executing parallel code with automatic scheduling: parallel\run().

Task

A task is simply a Closure intended for parallel execution. The Closure may contain almost any instruction, including nested closures. However, there are some instructions that are prohibited in tasks:

  • yield

  • use by-reference

  • declare class

  • declare named function

Nota:

Nested closures may yield or use by-reference, but must not contain class or named function declarations.

Nota:

No instructions are prohibited in the files which the task may include.

Future

The parallel\Future is used to access the return value from the task, and exposes an API for cancellation of the task.

Channel

A task may be scheduled with arguments, use lexical scope variables (by-value), and return a value (via a parallel\Future), but these only allow uni-directional communication: They allow the programmer to send data into and retrieve data from a task, but do not allow bi-directional communication between tasks. The parallel\Channel API allows bi-directional communication between tasks, a parallel\Channel is a socket-like link between tasks that the programmer can use to send and receive data.

Events

The parallel\Events API implements a native feel (Traversable) event loop, and parallel\Events::poll() method. It allows the programmer to work with sets of channels and or futures. The programmer simply adds channels and futures to the event loop, optionally setting the input for writes with parallel\Events::setInput(), and enters into a foreach: parallel will read from and write to objects as they become available yielding parallel\Events\Event objects describing the operations that have occurred.

Veja Também

  • Philosophy


Installation

Dependências

parallel requires a build of PHP with ZTS (Zend Thread Safety) enabled ( --enable-maintainer-zts or --enable-zts on Windows )

Cuidado

Zend Thread Safety cannot be enabled post build; it is a build time configuration option.

parallel should build anywhere there is a working Posix Threads header (pthread.h) and ZTS build of PHP, including Windows (using the pthread-w32 project from redhat).

Instalação

parallel releases are hosted by PECL and the source code by » github, the easiest route to installation is the normal PECL route: » https://pecl.php.net/package/parallel.

Windows users can download prebuilt release binaries from the » PECL website.

Cuidado

Windows users need to take the additional step of adding pthreadVC2.dll (distributed with Windows releases) to their PATH.


Philosophy

This section contains philosophies important to writing parallel code and some details about the internal implementation of parallel.

Do not communicate by sharing memory; instead, share memory by communicating.

This philosophy which is embraced by parallel has its origins in Go, one of the most widely admired if not used platforms for writing parallel code at the moment. Go programmers have to work hard to live up to this ideal: PHP and parallel do all the hard work for the programmer, and by default.

In conventional threading models found in other languages, generally threads are communicating with one another through nothing more than by virtue of the fact that they operate in the same address space. The programmer must deploy mutual exclusion, condition variables, and other low level threading or synchronization primitives in order to ensure proper communication of state and consistency.

When the conventional model is inversed, it means that threads only share memory as a result of communication (a variable is passed over a Channel for example).

When parallel passes a variable from one thread to another by any means - Task arguments, return via Future, and Channels - it is passed by value. In all but the case of unbuffered channels, the variable is also buffered so that it may not change (or be destroyed) before it is used in whichever thread the variable is being passed to. An unbuffered read over a channel is the only instance in which a thread directly reads memory allocated by another thread, it can do so safely because the thread that owns the memory is waiting for the read to complete before it can continue to manipulate it, and the thread that does not own the memory reads by value. When both threads continue, they are no longer sharing memory.

This makes writing and reasoning about parallel code much easier than the conventional model of threading. It means the programmer does not need to consider that threads may be manipulating data concurrently, because that is not possible.

This also makes PHP the perfect platform for implementing a parallel concurrency API based on CSP (message passing over channels), because PHP itself is shared nothing - PHP threads operate in their own virtual address space by default, and so may only share memory by communicating.

Data should have a definitive single owner

When approaching the CSP model for the first time, a programmer versed in the traditional model of threading may find themselves looking for concurrent data structures, because that is what they are used too: they pass around shared objects for manipulation.

When it comes to the CSP model, there is no need for data structures to be shared by many tasks, and indeed, it is simpler if they are not. The data should be owned by a single task, changes to (or operations on) that data structure should be communicated over channels and performed by the owner of the data, the success, failure, or result (state) of the change (or operation) being communicated back.

Once again the share nothing nature of PHP and copy by value nature of parallel helps the programmer to achieve this goal, no data will be shared by accident, only ever as a result of communication.


Functional API

The parallel\Runtime API provides a great degree of control to the power PHP programmer, and those intimately familiar with writing applications that use parallel concurrency.

The functional API provides less control in exchange for the ability to make decisions for the programmer:

  • all executing runtimes are bootstrapped identically

  • scheduling is determined by the API, not the programmer

parallel\run() provides the guarantee that the task will begin to execute in parallel as soon as allowed by hardware and operating system constraints, without needlessly creating runtimes. For most applications the functional API should be preferred.

Índice

  • parallel\bootstrap — Bootstrapping
  • parallel\run — Execution


Bootstrapping

  • « Functional API
  • parallel\run »
  • PHP Manual
  • Functional API
  • Bootstrapping

parallel\bootstrap

(1.0.0)

parallel\bootstrap — Bootstrapping

Descrição

parallel\bootstrap ( string $file ) : void

Shall use the provided file to bootstrap all runtimes created for automatic scheduling via parallel\run().

Exceptions

Aviso

Shall throw parallel\Runtime\Error\Bootstrap if previously called for this process.

Aviso

Shall throw parallel\Runtime\Error\Bootstrap if called after parallel\run().

Veja Também

  • parallel\Runtime::run


Execution

  • « parallel\bootstrap
  • parallel\Runtime »
  • PHP Manual
  • Functional API
  • Execution

parallel\run

(1.0.0)

parallel\run — Execution

Descrição

parallel\run ( Closure $task ) : Future|null

Shall schedule task for execution in parallel.

parallel\run ( Closure $task , array $argv ) : Future|null

Shall schedule task for execution in parallel, passing argv at execution time.

Automatic Scheduling

If a \parallel\Runtime internally created and cached by a previous call to parallel\run() is idle, it will be used to execute the task. If no \parallel\Runtime is idle parallel will create and cache a \parallel\Runtime.

Nota:

\parallel\Runtime objects created by the programmer are not used for automatic scheduling.

Parâmetros

task

A Closure with specific characteristics.

argv

An array of arguments with specific characteristics to be passed to task at execution time.

Task Characteristics

Closures scheduled for parallel execution must not:

  • accept or return by reference
  • accept or return internal objects (see notes)
  • execute a limited set of instructions

Instructions prohibited in Closures intended for parallel execution are:

  • yield
  • use by-reference
  • declare class
  • declare named function

Nota:

Nested closures may yield or use by-reference, but must not contain class or named function declarations.

Nota:

No instructions are prohibited in the files which the task may include.

Arguments Characteristics

Arguments must not:

  • contain references
  • contain resources
  • contain internal objects (see notes)

Nota:

In the case of file stream resources, the resource will be cast to the file descriptor and passed as int where possible, this is unsupported on Windows.

Internal Objects Notes

Internal objects generally use a custom structure which cannot be copied by value safely, PHP currently lacks the mechanics to do this (without serialization) and so only objects that do not use a custom structure may be shared.

Some internal objects do not use a custom structure, for example parallel\Events\Event and so may be shared.

Closures are a special kind of internal object and support being copied by value, and so may be shared.

Channels are central to writing parallel code and support concurrent access and execution by necessity, and so may be shared.

Aviso

A user class that extends an internal class may use a custom structure as defined by the internal class, in which case they cannot be copied by value safely, and so may not be shared.

Valor Retornado

Aviso

The return parallel\Future must not be ignored when the task contains a return or throw statement.

Exceptions

Aviso

Shall throw parallel\Runtime\Error\Closed if parallel\Runtime was closed.

Aviso

Shall throw parallel\Runtime\Error\IllegalFunction if task is a closure created from an internal function.

Aviso

Shall throw parallel\Runtime\Error\IllegalInstruction if task contains illegal instructions.

Aviso

Shall throw parallel\Runtime\Error\IllegalParameter if task accepts or argv contains illegal variables.

Aviso

Shall throw parallel\Runtime\Error\IllegalReturn if task returns illegally.

Veja Também

  • parallel\Runtime::run


The parallel\Runtime class

(0.8.0)

Runtime Objects

Each runtime represents a single PHP thread, the thread is created (and bootstrapped) upon construction. The thread then waits for tasks to be scheduled: Scheduled tasks will be executed FIFO and then the thread will resume waiting until more tasks are scheduled, or it's closed, killed, or destroyed by the normal scoping rules of PHP objects.

Aviso

When a runtime is destroyed by the normal scoping rules of PHP objects, it will first execute all of the tasks that were scheduled, and block while doing so.

Runtime Bootstrapping

When a new runtime is created, it does not share code with the thread (or process) that created it. This means it doesn't have the same classes and functions loaded, nor the same autoloader set. In some cases, a very lightweight runtime is desirable because the tasks that will be scheduled do not need access to the code in the parent thread. In those cases where the tasks do need to access the same code, it is enough to set an autoloader as the bootstrap.

Nota:

preloading may be used in conjunction with parallel, in this case preloaded code is available without bootstrapping

Sinopse da classe

final parallel\Runtime {
/* Create */
public __construct ( )
public __construct ( string $bootstrap )
/* Execute */
public run ( Closure $task ) : Future|null
public run ( Closure $task , array $argv ) : Future|null
/* Join */
public close ( ) : void
public kill ( ) : void
}

Índice

  • parallel\Runtime::__construct — Runtime Construction
  • parallel\Runtime::run — Execution
  • parallel\Runtime::close — Runtime Graceful Join
  • parallel\Runtime::kill — Runtime Join


Runtime Construction

  • « parallel\Runtime
  • parallel\Runtime::run »
  • PHP Manual
  • parallel\Runtime
  • Runtime Construction

parallel\Runtime::__construct

(0.8.0)

parallel\Runtime::__construct — Runtime Construction

Descrição

public parallel\Runtime::__construct ( )

Shall construct a new runtime without bootstrapping.

public parallel\Runtime::__construct ( string $bootstrap )

Shall construct a bootstrapped runtime.

Parâmetros

bootstrap

The location of a bootstrap file, generally an autoloader.

Exceptions

Aviso

Shall throw parallel\Runtime\Error if thread could not be created

Aviso

Shall throw parallel\Runtime\Bootstrap if bootstrapping failed


Execution

  • « parallel\Runtime::__construct
  • parallel\Runtime::close »
  • PHP Manual
  • parallel\Runtime
  • Execution

parallel\Runtime::run

(0.8.0)

parallel\Runtime::run — Execution

Descrição

public parallel\Runtime::run ( Closure $task ) : Future|null

Shall schedule task for execution in parallel.

public parallel\Runtime::run ( Closure $task , array $argv ) : Future|null

Shall schedule task for execution in parallel, passing argv at execution time.

Parâmetros

task

A Closure with specific characteristics.

argv

An array of arguments with specific characteristics to be passed to task at execution time.

Task Characteristics

Closures scheduled for parallel execution must not:

  • accept or return by reference
  • accept or return internal objects (see notes)
  • execute a limited set of instructions

Instructions prohibited in Closures intended for parallel execution are:

  • yield
  • use by-reference
  • declare class
  • declare named function

Nota:

Nested closures may yield or use by-reference, but must not contain class or named function declarations.

Nota:

No instructions are prohibited in the files which the task may include.

Arguments Characteristics

Arguments must not:

  • contain references
  • contain resources
  • contain internal objects (see notes)

Nota:

In the case of file stream resources, the resource will be cast to the file descriptor and passed as int where possible, this is unsupported on Windows.

Internal Objects Notes

Internal objects generally use a custom structure which cannot be copied by value safely, PHP currently lacks the mechanics to do this (without serialization) and so only objects that do not use a custom structure may be shared.

Some internal objects do not use a custom structure, for example parallel\Events\Event and so may be shared.

Closures are a special kind of internal object and support being copied by value, and so may be shared.

Channels are central to writing parallel code and support concurrent access and execution by necessity, and so may be shared.

Aviso

A user class that extends an internal class may use a custom structure as defined by the internal class, in which case they cannot be copied by value safely, and so may not be shared.

Valor Retornado

Aviso

The return parallel\Future must not be ignored when the task contains a return or throw statement.

Exceptions

Aviso

Shall throw parallel\Runtime\Error\Closed if parallel\Runtime was closed.

Aviso

Shall throw parallel\Runtime\Error\IllegalFunction if task is a closure created from an internal function.

Aviso

Shall throw parallel\Runtime\Error\IllegalInstruction if task contains illegal instructions.

Aviso

Shall throw parallel\Runtime\Error\IllegalParameter if task accepts or argv contains illegal variables.

Aviso

Shall throw parallel\Runtime\Error\IllegalReturn if task returns illegally.


Runtime Graceful Join

  • « parallel\Runtime::run
  • parallel\Runtime::kill »
  • PHP Manual
  • parallel\Runtime
  • Runtime Graceful Join

parallel\Runtime::close

(0.8.0)

parallel\Runtime::close — Runtime Graceful Join

Descrição

public parallel\Runtime::close ( ) : void

Shall request that the runtime shutsdown.

Nota:

Tasks scheduled for execution will be executed before the shutdown occurs.

Exceptions

Aviso

Shall throw parallel\Runtime\Error\Closed if Runtime was already closed.


Runtime Join

  • « parallel\Runtime::close
  • parallel\Future »
  • PHP Manual
  • parallel\Runtime
  • Runtime Join

parallel\Runtime::kill

(0.8.0)

parallel\Runtime::kill — Runtime Join

Descrição

public parallel\Runtime::kill ( ) : void

Shall attempt to force the runtime to shutdown.

Nota:

Tasks scheduled for execution will not be executed, the currently running task shall be interrupted.

Aviso

Internal function calls in progress cannot be interrupted.

Exceptions

Aviso

Shall throw parallel\Runtime\Error\Closed if Runtime was closed.


The parallel\Future class

(0.8.0)

Futures

A Future represents the return value or uncaught exception from a task, and exposes an API for cancellation.

Exemplo #1 Example showing Future as return value

<?php
$runtime = new \parallel\Runtime;
$future  = $runtime->run(function(){
    return "World";
});
printf("Hello %s\n", $future->value());
?>

O exemplo acima irá imprimir algo similar à:

Hello World

The behaviour of a future also allows it to be used as a simple synchronization point even where the task does not return a value explicitly.

Exemplo #2 Example showing Future as synchronization point

<?php
$runtime = new \parallel\Runtime;
$future  = $runtime->run(function(){
    echo "in child ";
    for ($i = 0; $i < 500; $i++) {
        if ($i % 10 == 0) {
            echo ".";
        }
    }
    echo " leaving child";
});

$future->value();
echo "\nparent continues\n";
?>

O exemplo acima irá imprimir algo similar à:

in child .................................................. leaving child
parent continues

Sinopse da classe

final parallel\Future {
/* Resolution */
public value ( ) : mixed
/* State */
public cancelled ( ) : bool
public done ( ) : bool
/* Cancellation */
public cancel ( ) : bool
}

Índice

  • parallel\Future::cancel — Cancellation
  • parallel\Future::cancelled — State Detection
  • parallel\Future::done — State Detection
  • parallel\Future::value — Resolution


Cancellation

  • « parallel\Future
  • parallel\Future::cancelled »
  • PHP Manual
  • parallel\Future
  • Cancellation

parallel\Future::cancel

(0.9.0)

parallel\Future::cancel — Cancellation

Descrição

public parallel\Future::cancel ( ) : bool

Shall try to cancel the task

Nota:

If task is running, it will be interrupted.

Aviso

Internal function calls in progress cannot be interrupted.

Exceptions

Aviso

Shall throw parallel\Future\Error\Killed if parallel\Runtime executing task was killed.

Aviso

Shall throw parallel\Future\Error\Cancelled if task was already cancelled.


State Detection

  • « parallel\Future::cancel
  • parallel\Future::done »
  • PHP Manual
  • parallel\Future
  • State Detection

parallel\Future::cancelled

(0.9.0)

parallel\Future::cancelled — State Detection

Descrição

public parallel\Future::cancelled ( ) : bool

Shall indicate if the task was cancelled


State Detection

  • « parallel\Future::cancelled
  • parallel\Future::value »
  • PHP Manual
  • parallel\Future
  • State Detection

parallel\Future::done

(0.8.0)

parallel\Future::done — State Detection

Descrição

public parallel\Future::done ( ) : bool

Shall indicate if the task is completed


Resolution

  • « parallel\Future::done
  • parallel\Channel »
  • PHP Manual
  • parallel\Future
  • Resolution

parallel\Future::value

(0.8.0)

parallel\Future::value — Resolution

Descrição

public parallel\Future::value ( ) : mixed

Shall return (and if necessary wait for) return from task

Exceptions

Aviso

Shall throw parallel\Future\Error if waiting failed (internal error).

Aviso

Shall throw parallel\Future\Error\Killed if parallel\Runtime executing task was killed.

Aviso

Shall throw parallel\Future\Error\Cancelled if task was cancelled.

Aviso

Shall throw parallel\Future\Error\Foreign if task raised an unrecognized uncaught exception.

Aviso

Shall rethrow Throwable uncaught in task


The parallel\Channel class

(0.9.0)

Unbuffered Channels

An unbuffered channel will block on calls to parallel\Channel::send() until there is a receiver, and block on calls to parallel\Channel::recv() until there is a sender. This means an unbuffered channel is not only a way to share data among tasks but also a simple method of synchronization.

An unbuffered channel is the fastest way to share data among tasks, requiring the least copying.

Buffered Channels

A buffered channel will not block on calls to parallel\Channel::send() until capacity is reached, calls to parallel\Channel::recv() will block until there is data in the buffer.

Closures over Channels

A powerful feature of parallel channels is that they allow the exchange of closures between tasks (and runtimes).

When a closure is sent over a channel the closure is buffered, it doesn't change the buffering of the channel transmitting the closure, but it does effect the static scope inside the closure: The same closure sent to different runtimes, or the same runtime, will not share their static scope.

This means that whenever a closure is executed that was transmitted by a channel, static state will be as it was when the closure was buffered.

Anonymous Channels

The anonymous channel constructor allows the programmer to avoid assigning names to every channel: parallel will generate a unique name for anonymous channels.

Sinopse da classe

final parallel\Channel {
/* Anonymous Constructor */
public __construct ( )
public __construct ( int $capacity )
/* Access */
public make ( string $name ) : Channel
public make ( string $name , int $capacity ) : Channel
public open ( string $name ) : Channel
/* Sharing */
public recv ( ) : mixed
public send ( mixed $value ) : void
/* Closing */
public close ( ) : void
/* Constant for Infinitely Buffered */
const Infinite ;
}

Índice

  • parallel\Channel::__construct — Channel Construction
  • parallel\Channel::make — Access
  • parallel\Channel::open — Access
  • parallel\Channel::recv — Sharing
  • parallel\Channel::send — Sharing
  • parallel\Channel::close — Closing


Channel Construction

  • « parallel\Channel
  • parallel\Channel::make »
  • PHP Manual
  • parallel\Channel
  • Channel Construction

parallel\Channel::__construct

(1.1.0)

parallel\Channel::__construct — Channel Construction

Descrição

public parallel\Channel::__construct ( )

Shall make an anonymous unbuffered channel

public parallel\Channel::__construct ( int $capacity )

Shall make an anonymous buffered channel with the given capacity

Parâmetros

capacity

May be Channel::Infinite or a positive integer


Access

  • « parallel\Channel::__construct
  • parallel\Channel::open »
  • PHP Manual
  • parallel\Channel
  • Access

parallel\Channel::make

(0.9.0)

parallel\Channel::make — Access

Descrição

public parallel\Channel::make ( string $name ) : Channel

Shall make an unbuffered channel with the given name

public parallel\Channel::make ( string $name , int $capacity ) : Channel

Shall make a buffered channel with the given name and capacity

Parâmetros

name

The name of the channel.

capacity

May be Channel::Infinite or a positive integer

Exceptions

Aviso

Shall throw parallel\Channel\Error\Existence if channel already exists.


Access

  • « parallel\Channel::make
  • parallel\Channel::recv »
  • PHP Manual
  • parallel\Channel
  • Access

parallel\Channel::open

(0.9.0)

parallel\Channel::open — Access

Descrição

public parallel\Channel::open ( string $name ) : Channel

Shall open the channel with the given name

Exceptions

Aviso

Shall throw parallel\Channel\Error\Existence if channel does not exist.


Sharing

  • « parallel\Channel::open
  • parallel\Channel::send »
  • PHP Manual
  • parallel\Channel
  • Sharing

parallel\Channel::recv

(0.9.0)

parallel\Channel::recv — Sharing

Descrição

public parallel\Channel::recv ( ) : mixed

Shall recv a value from this channel

Exceptions

Aviso

Shall throw parallel\Channel\Error\Closed if channel is closed.


Sharing

  • « parallel\Channel::recv
  • parallel\Channel::close »
  • PHP Manual
  • parallel\Channel
  • Sharing

parallel\Channel::send

(0.9.0)

parallel\Channel::send — Sharing

Descrição

public parallel\Channel::send ( mixed $value ) : void

Shall send the given value on this channel

Exceptions

Aviso

Shall throw parallel\Channel\Error\Closed if channel is closed.

Aviso

Shall throw parallel\Channel\Error\IllegalValue if value is illegal.


Closing

  • « parallel\Channel::send
  • parallel\Events »
  • PHP Manual
  • parallel\Channel
  • Closing

parallel\Channel::close

(0.9.0)

parallel\Channel::close — Closing

Descrição

public parallel\Channel::close ( ) : void

Shall close this channel

Exceptions

Aviso

Shall throw parallel\Channel\Error\Closed if channel is closed.


The parallel\Events class

(0.9.0)

The Event Loop

The Event loop monitors the state of sets of futures and or channels (targets) in order to perform read (parallel\Future::value(), parallel\Channel::recv()) and write (parallel\Channel::send()) operations as the targets become available and the operations may be performed without blocking the event loop.

Sinopse da classe

final parallel\Events implements Countable , Traversable {
/* Input */
public setInput ( Input $input ) : void
/* Targets */
public addChannel ( parallel\Channel $channel ) : void
public addFuture ( string $name , parallel\Future $future ) : void
public remove ( string $target ) : void
/* Behaviour */
public setBlocking ( bool $blocking ) : void
public setTimeout ( int $timeout ) : void
/* Polling */
public poll ( ) : Event|null
}

Índice

  • parallel\Events::setBlocking — Behaviour
  • parallel\Events::setTimeout — Behaviour
  • parallel\Events::setInput — Input
  • parallel\Events::addChannel — Targets
  • parallel\Events::addFuture — Targets
  • parallel\Events::remove — Targets
  • parallel\Events::poll — Polling


Behaviour

  • « parallel\Events
  • parallel\Events::setTimeout »
  • PHP Manual
  • parallel\Events
  • Behaviour

parallel\Events::setBlocking

(0.9.0)

parallel\Events::setBlocking — Behaviour

Descrição

By default when events are polled for, blocking will occur (at the PHP level) until the first event can be returned: Setting blocking mode to false will cause poll to return control if the first target polled is not ready.

This differs from setting a timeout of 0 with parallel\Events::setTimeout(), since a timeout of 0, while allowed, will cause an exception to be raised, which may be extremely slow or wasteful if what is really desired is non-blocking behaviour.

A non-blocking loop effects the return value of parallel\Events::poll(), such that it may be null before all events have been processed.

public parallel\Events::setBlocking ( bool $blocking ) : void

Shall set blocking mode

Exceptions

Aviso

Shall throw parallel\Events\Error if loop has timeout set.


Behaviour

  • « parallel\Events::setBlocking
  • parallel\Events::setInput »
  • PHP Manual
  • parallel\Events
  • Behaviour

parallel\Events::setTimeout

(0.9.0)

parallel\Events::setTimeout — Behaviour

Descrição

By default when events are polled for, blocking will occur (at the PHP level) until the first event can be returned: Setting the timeout causes an exception to be thrown when the timeout is reached.

This differs from setting blocking mode to false with parallel\Events::setBlocking(), which will not cause an exception to be thrown.

public parallel\Events::setTimeout ( int $timeout ) : void

Shall set the timeout in microseconds

Exceptions

Aviso

Shall throw parallel\Events\Error if loop is non-blocking.


Input

  • « parallel\Events::setTimeout
  • parallel\Events::addChannel »
  • PHP Manual
  • parallel\Events
  • Input

parallel\Events::setInput

(0.9.0)

parallel\Events::setInput — Input

Descrição

public parallel\Events::setInput ( Input $input ) : void

Shall set input for this event loop


Targets

  • « parallel\Events::setInput
  • parallel\Events::addFuture »
  • PHP Manual
  • parallel\Events
  • Targets

parallel\Events::addChannel

(0.9.0)

parallel\Events::addChannel — Targets

Descrição

public parallel\Events::addChannel ( parallel\Channel $channel ) : void

Shall watch for events on the given channel

Exceptions

Aviso

Shall throw parallel\Events\Error\Existence if channel was already added.


Targets

  • « parallel\Events::addChannel
  • parallel\Events::remove »
  • PHP Manual
  • parallel\Events
  • Targets

parallel\Events::addFuture

(0.9.0)

parallel\Events::addFuture — Targets

Descrição

public parallel\Events::addFuture ( string $name , parallel\Future $future ) : void

Shall watch for events on the given future

Exceptions

Aviso

Shall throw parallel\Events\Error\Existence if target with the given name was already added.


Targets

  • « parallel\Events::addFuture
  • parallel\Events::poll »
  • PHP Manual
  • parallel\Events
  • Targets

parallel\Events::remove

(0.9.0)

parallel\Events::remove — Targets

Descrição

public parallel\Events::remove ( string $target ) : void

Shall remove the given target

Exceptions

Aviso

Shall throw parallel\Events\Error\Existence if target with the given name was not found.


Polling

  • « parallel\Events::remove
  • parallel\Events\Input »
  • PHP Manual
  • parallel\Events
  • Polling

parallel\Events::poll

(0.9.0)

parallel\Events::poll — Polling

Descrição

public parallel\Events::poll ( ) : Event|null

Shall poll for the next event

Valor Retornado

Should there be no targets remaining, null shall be returned

Should this be a non-blocking loop, and blocking would occur, null shall be returned

Otherwise, the parallel\Events\Event returned describes the event.

Exceptions

Aviso

Shall throw parallel\Events\Error\Timeout if timeout is used and reached.


The parallel\Events\Input class

(0.9.0)

Events Input

An Input object is a container for data that the parallel\Events object will write to parallel\Channel objects as they become available. Multiple event loops may share an Input container - parallel does not verify the contents of the container when it is set as the input for a parallel\Events object.

Nota:

When a parallel\Events object performs a write, the target is removed from the input object as if parallel\Events\Input::remove() were called.

Sinopse da classe

final parallel\Events\Input {
public add ( string $target , mixed $value ) : void
public remove ( string $target ) : void
public clear ( ) : void
}

Índice

  • parallel\Events\Input::add — Inputs
  • parallel\Events\Input::clear — Inputs
  • parallel\Events\Input::remove — Inputs


Inputs

  • « parallel\Events\Input
  • parallel\Events\Input::clear »
  • PHP Manual
  • parallel\Events\Input
  • Inputs

parallel\Events\Input::add

(0.9.0)

parallel\Events\Input::add — Inputs

Descrição

public parallel\Events\Input::add ( string $target , mixed $value ) : void

Shall set input for the given target

Exceptions

Aviso

Shall throw parallel\Events\Input\Error\Existence if input for target already exists.

Aviso

Shall throw parallel\Events\Input\Error\IllegalValue if value is illegal (object, null).


Inputs

  • « parallel\Events\Input::add
  • parallel\Events\Input::remove »
  • PHP Manual
  • parallel\Events\Input
  • Inputs

parallel\Events\Input::clear

(0.9.0)

parallel\Events\Input::clear — Inputs

Descrição

public parallel\Events\Input::clear ( ) : void

Shall remove input for all targets


Inputs

  • « parallel\Events\Input::clear
  • parallel\Events\Event »
  • PHP Manual
  • parallel\Events\Input
  • Inputs

parallel\Events\Input::remove

(0.9.0)

parallel\Events\Input::remove — Inputs

Descrição

public parallel\Events\Input::remove ( string $target ) : void

Shall remove input for the given target

Exceptions

Aviso

Shall throw parallel\Events\Input\Error\Existence if input for target does not exist.


The parallel\Events\Event class

(0.9.0)

Event Objects

When an Event is returned, Event::$object shall be removed from the loop that returned it, should the event be a write event the Input for Event::$source shall also be removed.

Sinopse da classe

final parallel\Events\Event {
/* Shall be one of Event\Type constants */
public int $type ;
/* Shall be the source of the event (target name) */
public string $source ;
/* Shall be either Future or Channel */
public object $object ;
/* Shall be set for Read/Error events */
public $value ;
}


The parallel\Events\Event\Type class

(0.9.0)

Sinopse da classe

final parallel\Events\Event\Type {
/* Event::$object was read into Event::$value */
const Read ;
/* Input for Event::$source written to Event::$object */
const Write ;
/* Event::$object (Channel) was closed */
const Close ;
/* Event::$object (Future) was cancelled */
const Cancel ;
/* Runtime executing Event::$object (Future) was killed */
const Kill ;
/* Event::$object (Future) raised error */
const Error ;
}


The parallel\Sync class

(1.1.0)

Low Level Synchronization

The parallel\Sync class provides access to low level synchronization primitives, mutex, condition variables, and allows the implementation of semaphores.

Synchronization for most applications is much better implemented using channels, however, in some cases authors of low level code may find it useful to be able to access these lower level mechanisms.

Sinopse da classe

final parallel\Sync {
/* Constructor */
public __construct ( )
public __construct ( scalar $value )
/* Access */
public get ( ) : scalar
public set ( scalar $value )
/* Synchronization */
public wait ( )
public notify ( bool $all = ? )
public __invoke ( callable $critical )
}

Índice

  • parallel\Sync::__construct — Construction
  • parallel\Sync::get — Access
  • parallel\Sync::set — Access
  • parallel\Sync::wait — Synchronization
  • parallel\Sync::notify — Synchronization
  • parallel\Sync::__invoke — Synchronization


Construction

  • « parallel\Sync
  • parallel\Sync::get »
  • PHP Manual
  • parallel\Sync
  • Construction

parallel\Sync::__construct

(1.1.0)

parallel\Sync::__construct — Construction

Descrição

public parallel\Sync::__construct ( )

Shall construct a new synchronization object with no value

public parallel\Sync::__construct ( scalar $value )

Shall construct a new synchronization object containing the given scalar value

Exceptions

Aviso

Shall throw parallel\Sync\Error\IllegalValue if value is non-scalar.


Access

  • « parallel\Sync::__construct
  • parallel\Sync::set »
  • PHP Manual
  • parallel\Sync
  • Access

parallel\Sync::get

(1.1.0)

parallel\Sync::get — Access

Descrição

public parallel\Sync::get ( ) : scalar

Shall atomically return the syncrhonization objects value


Access

  • « parallel\Sync::get
  • parallel\Sync::wait »
  • PHP Manual
  • parallel\Sync
  • Access

parallel\Sync::set

(1.1.0)

parallel\Sync::set — Access

Descrição

public parallel\Sync::set ( scalar $value )

Shall atomically set the value of the synchronization object

Exceptions

Aviso

Shall throw parallel\Sync\Error\IllegalValue if value is non-scalar.


Synchronization

  • « parallel\Sync::set
  • parallel\Sync::notify »
  • PHP Manual
  • parallel\Sync
  • Synchronization

parallel\Sync::wait

(1.1.0)

parallel\Sync::wait — Synchronization

Descrição

public parallel\Sync::wait ( )

Shall wait for notification on this synchronization object


Synchronization

  • « parallel\Sync::wait
  • parallel\Sync::__invoke »
  • PHP Manual
  • parallel\Sync
  • Synchronization

parallel\Sync::notify

(1.1.0)

parallel\Sync::notify — Synchronization

Descrição

public parallel\Sync::notify ( bool $all = ? )

Shall notify one (by default) or all threads waiting on the synchronization object


Synchronization

  • « parallel\Sync::notify
  • pthreads »
  • PHP Manual
  • parallel\Sync
  • Synchronization

parallel\Sync::__invoke

(1.1.0)

parallel\Sync::__invoke — Synchronization

Descrição

public parallel\Sync::__invoke ( callable $critical )

Shall exclusively enter into the critical code


pthreads

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
  • Constantes pré-definidas
  • Threaded — The Threaded class
    • Threaded::chunk — Manipulation
    • Threaded::count — Manipulation
    • Threaded::extend — Runtime Manipulation
    • Threaded::from — Creation
    • Threaded::getTerminationInfo — Error Detection
    • Threaded::isRunning — State Detection
    • Threaded::isTerminated — State Detection
    • Threaded::isWaiting — State Detection
    • Threaded::lock — Synchronization
    • Threaded::merge — Manipulation
    • Threaded::notify — Synchronization
    • Threaded::notifyOne — Synchronization
    • Threaded::pop — Manipulation
    • Threaded::run — Execution
    • Threaded::shift — Manipulation
    • Threaded::synchronized — Synchronization
    • Threaded::unlock — Synchronization
    • Threaded::wait — Synchronization
  • Thread — The Thread class
    • Thread::detach — Execution
    • Thread::getCreatorId — Identification
    • Thread::getCurrentThread — Identification
    • Thread::getCurrentThreadId — Identification
    • Thread::getThreadId — Identification
    • Thread::globally — Execution
    • Thread::isJoined — State Detection
    • Thread::isStarted — State Detection
    • Thread::join — Synchronization
    • Thread::kill — Execution
    • Thread::start — Execution
  • Worker — The Worker class
    • Worker::collect — Collect references to completed tasks
    • Worker::getStacked — Gets the remaining stack size
    • Worker::isShutdown — State Detection
    • Worker::isWorking — State Detection
    • Worker::shutdown — Shutdown the worker
    • Worker::stack — Stacking work
    • Worker::unstack — Unstacking work
  • Collectable — The Collectable interface
    • Collectable::isGarbage — Determine whether an object has been marked as garbage
    • Collectable::setGarbage — Mark an object as garbage
  • Modifiers — Method Modifiers
  • Pool — The Pool class
    • Pool::collect — Collect references to completed tasks
    • Pool::__construct — Creates a new Pool of Workers
    • Pool::resize — Resize the Pool
    • Pool::shutdown — Shutdown all workers
    • Pool::submit — Submits an object for execution
    • Pool::submitTo — Submits a task to a specific worker for execution
  • Mutex — The Mutex class
    • Mutex::create — Create a Mutex
    • Mutex::destroy — Destroy Mutex
    • Mutex::lock — Acquire Mutex
    • Mutex::trylock — Attempt to Acquire Mutex
    • Mutex::unlock — Release Mutex
  • Cond — The Cond class
    • Cond::broadcast — Broadcast a Condition
    • Cond::create — Create a Condition
    • Cond::destroy — Destroy a Condition
    • Cond::signal — Signal a Condition
    • Cond::wait — Wait for Condition
  • Volatile — The Volatile class


Introdução

pthreads is an object-orientated API that provides all of the tools needed for multi-threading in PHP. PHP applications can create, read, write, execute and synchronize with Threads, Workers and Threaded objects.

Aviso

This extension is considered unmaintained and dead.

Dica

Consider using parallel instead.

Aviso

The pthreads extension cannot be used in a web server environment. Threading in PHP is therefore restricted to CLI-based applications only.

Aviso

pthreads (v3) can only be used with PHP 7.2+: This is due to ZTS mode being unsafe in 7.0 and 7.1.

The Threaded class forms the basis of the functionality that allows pthreads to operate. It exposes synchronization methods and some useful interfaces for the programmer.

The Thread class enables for threads to be created by simply extending it and implementing a run method. Any members can be written to and read by any context with a reference to the thread. Any context can also execute any public and protected methods. The body of the run method will be executed in a separate thread when the Thread::start() method of the implementation is called from the context that created it. Only the context that creates a thread can start and join it.

The Worker class has a persistent state, and will be available from the call to Thread::start() (an inherited method) until the object goes out of scope, or is explicitly shutdown (via Worker::shutdown()). Any context with a reference to the worker object can stack tasks onto the Worker (via Worker::stack()), where these tasks will be executed by the worker in a separate thread. The run method of a worker object will be executed before any objects on the worker's stack, enabling for resources to be initialized that the objects to be executed may need.

The Pool class is used to create a group of workers to distribute Threaded objects amongst them. It is the easiest and most efficient way of using multiple threads in PHP applications.

Cuidado

The Pool class does not extend the Threaded class, and so pool-based objects are considered a normal PHP objects. As such, its instances of it should not be shared amongst different contexts.

The Volatile class is new to pthreads v3. It is used to denote mutable Threaded properties of Threaded classes (since these are now immutable by default). It is also used to store PHP arrays in Threaded contexts.

Synchronization is an important ability when threading. All of the objects that pthreads creates have built in synchronization in the (which will be familiar to java programmers) form of Threaded::wait() and Threaded::notify(). Calling Threaded::wait() on an object will cause the context to wait for another context to call Threaded::notify() on the same object. This mechanism allows for powerful synchronization between Threaded objects in PHP.

Cuidado

Any objects that are intended for use in the multi-threaded parts of your application should extend Threaded.

Data Storage: As a rule of thumb, any data type that can be serialized can be used as a member of a Threaded object, it can be read and written from any context with a reference to the Threaded Object. Not every type of data is stored serially, basic types are stored in their true form. Complex types, Arrays, and Objects that are not Threaded are stored serially; they can be read and written to the Threaded Object from any context with a reference. With the exception of Threaded Objects any reference used to set a member of a Threaded Object is separated from the reference in the Threaded Object; the same data can be read directly from the Threaded Object at any time by any context with a reference to the Threaded Object.

Static Members: When a new context is created ( Thread or Worker ), they are generally copied, but resources and objects with internal state are nullified (for safety reasons). This allows them to function as a kind of thread local storage. For example, upon starting the context, a class whose static members include connection information for a database server, and the connection itself, will only have the simple connection information copied, not the connection. Allowing the new context to initiate a connection in the same way as the context that created it, storing the connection in the same place without affecting the original context.

Cuidado

When print_r, var_dump and other object debug functions are executed, they do not include recursion protection.

Nota:

Resources: The extensions and functionality that define resources in PHP are completely unprepared for this kind of environment; pthreads makes provisions for Resources to be shared among contexts, however, for most types of resource it should be considered unsafe. Extreme caution and care should be used when sharing resources among contexts.

Cuidado

In the environment which pthreads executes, some restrictions and limitations are necessary in order to provide a stable environment.


Dependências

pthreads requires a build of PHP with ZTS (Zend Thread Safety) enabled ( --enable-maintainer-zts or --enable-zts on Windows )

Cuidado

Zend Thread Safety cannot be enabled post build; it is a build time configuration option.

pthreads should build anywhere there is a working Posix Threads header (pthread.h) and ZTS build of PHP, including Windows (using the pthread-w32 project from redhat).


Instalação

pthreads releases are hosted by PECL and the source code by » github, the easiest route to installation is the normal PECL route: » https://pecl.php.net/package/pthreads.

Windows users can download prebuilt release binaries from the » PECL website.

Cuidado

Windows users need to take the additional step of adding pthreadVC2.dll (distributed with Windows releases) to their PATH.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

PTHREADS_INHERIT_ALL (int)
The default options for all Threads, causes pthreads to copy the environment when new Threads are started
PTHREADS_INHERIT_NONE (int)
Do not inherit anything when new Threads are started
PTHREADS_INHERIT_INI (int)
Inherit INI entries when new Threads are started
PTHREADS_INHERIT_CONSTANTS (int)
Inherit user declared constants when new Threads are started
PTHREADS_INHERIT_CLASSES (int)
Inherit user declared classes when new Threads are started
PTHREADS_INHERIT_FUNCTIONS (int)
Inherit user declared functions when new Threads are started
PTHREADS_INHERIT_INCLUDES (int)
Inherit included file information when new Threads are started
PTHREADS_INHERIT_COMMENTS (int)
Inherit all comments when new Threads are started
PTHREADS_ALLOW_HEADERS (int)
Allow new Threads to send headers to standard output (normally prohibited)


The Threaded class

(PECL pthreads >= 2.0.0)

Introdução

Threaded objects form the basis of pthreads ability to execute user code in parallel; they expose synchronization methods and various useful interfaces.

Threaded objects, most importantly, provide implicit safety for the programmer; all operations on the object scope are safe.

Sinopse da classe

Threaded implements Collectable , Traversable , Countable , ArrayAccess {
/* Métodos */
public chunk ( int $size , bool $preserve ) : array
public count ( ) : int
public extend ( string $class ) : bool
public from ( Closure $run , Closure $construct = ? , array $args = ? ) : Threaded
public getTerminationInfo ( ) : array
public isRunning ( ) : bool
public isTerminated ( ) : bool
public isWaiting ( ) : bool
public lock ( ) : bool
public merge ( mixed $from , bool $overwrite = ? ) : bool
public notify ( ) : bool
public notifyOne ( ) : bool
public pop ( ) : bool
public run ( ) : void
public shift ( ) : mixed
public synchronized ( Closure $block , mixed ...$args ) : mixed
public unlock ( ) : bool
public wait ( int $timeout = ? ) : bool
}

Índice

  • Threaded::chunk — Manipulation
  • Threaded::count — Manipulation
  • Threaded::extend — Runtime Manipulation
  • Threaded::from — Creation
  • Threaded::getTerminationInfo — Error Detection
  • Threaded::isRunning — State Detection
  • Threaded::isTerminated — State Detection
  • Threaded::isWaiting — State Detection
  • Threaded::lock — Synchronization
  • Threaded::merge — Manipulation
  • Threaded::notify — Synchronization
  • Threaded::notifyOne — Synchronization
  • Threaded::pop — Manipulation
  • Threaded::run — Execution
  • Threaded::shift — Manipulation
  • Threaded::synchronized — Synchronization
  • Threaded::unlock — Synchronization
  • Threaded::wait — Synchronization


Manipulation

  • « Threaded
  • Threaded::count »
  • PHP Manual
  • Threaded
  • Manipulation

Threaded::chunk

(PECL pthreads >= 2.0.0)

Threaded::chunk — Manipulation

Descrição

public Threaded::chunk ( int $size , bool $preserve ) : array

Fetches a chunk of the objects property table of the given size, optionally preserving keys

Parâmetros

size

The number of items to fetch

preserve

Preserve the keys of members, by default false

Valor Retornado

An array of items from the objects property table

Exemplos

Exemplo #1 Fetch a chunk of the property table

<?php
$safe = new Threaded();

while (count($safe) < 10) {
    $safe[] = count($safe);
}

var_dump($safe->chunk(5));
?>

O exemplo acima irá imprimir:

array(5) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [4]=>
  int(4)
}


Manipulation

  • « Threaded::chunk
  • Threaded::extend »
  • PHP Manual
  • Threaded
  • Manipulation

Threaded::count

(PECL pthreads >= 2.0.0)

Threaded::count — Manipulation

Descrição

public Threaded::count ( ) : int

Returns the number of properties for this object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 Counting the properties of an object

<?php
$safe = new Threaded();

while (count($safe) < 10) {
    $safe[] = count($safe);
}

var_dump(count($safe));
?>

O exemplo acima irá imprimir:

int(10)


Runtime Manipulation

  • « Threaded::count
  • Threaded::from »
  • PHP Manual
  • Threaded
  • Runtime Manipulation

Threaded::extend

(PECL pthreads >= 2.0.8)

Threaded::extend — Runtime Manipulation

Descrição

public Threaded::extend ( string $class ) : bool

Makes thread safe standard class at runtime

Parâmetros

class

The class to extend

Valor Retornado

A boolean indication of success

Exemplos

Exemplo #1 Runtime inheritance

<?php
class My {}

Threaded::extend(My::class);

$my = new My();

var_dump($my instanceof Threaded);
?>

O exemplo acima irá imprimir:

bool(true)


Creation

  • « Threaded::extend
  • Threaded::getTerminationInfo »
  • PHP Manual
  • Threaded
  • Creation

Threaded::from

(PECL pthreads >= 2.0.9)

Threaded::from — Creation

Aviso

This method has been removed in pthreads v3. With the introduction of anonymous classes in PHP 7, these can now be used instead.

Descrição

public Threaded::from ( Closure $run , Closure $construct = ? , array $args = ? ) : Threaded

Creates an anonymous Threaded object from closures

Parâmetros

run

The closure to use for ::run

construct

The constructor to use for anonymous object

args

The arguments to pass to constructor

Valor Retornado

A new anonymous Threaded object

Exemplos

Exemplo #1 Thread safe objects from closures

<?php
$pool = new Pool(4);
$pool->submit(Collectable::from(function(){
    echo "Hello World";
    $this->setGarbage();
}));
/* ... */
$pool->shutdown();
?>

O exemplo acima irá imprimir:

Hello World


Error Detection

  • « Threaded::from
  • Threaded::isRunning »
  • PHP Manual
  • Threaded
  • Error Detection

Threaded::getTerminationInfo

(PECL pthreads < 3.0.0)

Threaded::getTerminationInfo — Error Detection

Aviso

This method has been removed in pthreads v3. Instead, the body of Threaded::run() can be wrapped in a try...catch block to detect errors (since most errors in PHP 7 have been converted to exceptions).

Descrição

public Threaded::getTerminationInfo ( ) : array

Retrieves terminal error information from the referenced object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

array containing the termination conditions of the referenced object

Exemplos

Exemplo #1 Detecting fatal errors in Threads

<?php
class My extends Thread {
    public function run() {
        @not_found();
    }
}

$my = new My();
$my->start();
$my->join();

var_dump($my->isTerminated(), $my->getTerminationInfo());
?>

O exemplo acima irá imprimir:

bool(true)
array(4) {
  ["scope"]=>
  string(2) "My"
  ["function"]=>
  string(3) "run"
  ["file"]=>
  string(29) "/usr/src/pthreads/sandbox.php"
  ["line"]=>
  int(4)
}


State Detection

  • « Threaded::getTerminationInfo
  • Threaded::isTerminated »
  • PHP Manual
  • Threaded
  • State Detection

Threaded::isRunning

(PECL pthreads >= 2.0.0)

Threaded::isRunning — State Detection

Descrição

public Threaded::isRunning ( ) : bool

Tell if the referenced object is executing

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean indication of state

Nota:

A object is considered running while executing the run method

Exemplos

Exemplo #1 Detect the state of the referenced object

<?php
class My extends Thread {
    public function run() {
        $this->synchronized(function($thread){
            if (!$thread->done)
                $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
var_dump($my->isRunning());
$my->synchronized(function($thread){
    $thread->done = true;
    $thread->notify();
}, $my);
?>

O exemplo acima irá imprimir:

bool(true)


State Detection

  • « Threaded::isRunning
  • Threaded::isWaiting »
  • PHP Manual
  • Threaded
  • State Detection

Threaded::isTerminated

(PECL pthreads >= 2.0.0)

Threaded::isTerminated — State Detection

Descrição

public Threaded::isTerminated ( ) : bool

Tell if the referenced object was terminated during execution; suffered fatal errors, or threw uncaught exceptions

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean indication of state

Exemplos

Exemplo #1 Detect the state of the referenced object

<?php
class My extends Thread {
    public function run() {
        i_do_not_exist();
    }
}
$my = new My();
$my->start();
$my->join();
var_dump($my->isTerminated());
?>

O exemplo acima irá imprimir:

bool(true)


State Detection

  • « Threaded::isTerminated
  • Threaded::lock »
  • PHP Manual
  • Threaded
  • State Detection

Threaded::isWaiting

(PECL pthreads < 3.0.0)

Threaded::isWaiting — State Detection

Aviso

This method has been removed in pthreads v3.

Descrição

public Threaded::isWaiting ( ) : bool

Tell if the referenced object is waiting for notification

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean indication of state

Exemplos

Exemplo #1 Detect the state of the referenced object

<?php
class My extends Thread {
    public function run() {
        $this->synchronized(function($thread){
            if (!$this->done)
                $thread->wait();
        }, $this);
    }

    protected $done;
}
$my = new My();
$my->start();
$my->synchronized(function($thread){
    var_dump(
        $thread->isWaiting());
    $thread->done = true;
    $thread->notify();
}, $my);
?>

O exemplo acima irá imprimir:

bool(true)


Synchronization

  • « Threaded::isWaiting
  • Threaded::merge »
  • PHP Manual
  • Threaded
  • Synchronization

Threaded::lock

(PECL pthreads < 3.0.0)

Threaded::lock — Synchronization

Aviso

This method has been removed in pthreads v3. The Threaded::synchronized() method should now be used.

Descrição

public Threaded::lock ( ) : bool

Lock the referenced objects property table

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean indication of success

Exemplos

Exemplo #1 Locking Object Properties

<?php
class My extends Thread {
    public function run() {
        var_dump($this->lock());
        /** nobody can read or write **/
        var_dump($this->unlock());
        /** reading / writing resumed for all other contexts */
    }
}
$my = new My();
$my->start();
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)


Manipulation

  • « Threaded::lock
  • Threaded::notify »
  • PHP Manual
  • Threaded
  • Manipulation

Threaded::merge

(PECL pthreads >= 2.0.0)

Threaded::merge — Manipulation

Descrição

public Threaded::merge ( mixed $from , bool $overwrite = ? ) : bool

Merges data into the current object

Parâmetros

from

The data to merge

overwrite

Overwrite existing keys, by default true

Valor Retornado

A boolean indication of success

Exemplos

Exemplo #1 Merging into the property table of a threaded object

<?php
$array = [];

while (count($array) < 10)
    $array[] = count($array);

$stdClass = new stdClass();
$stdClass->foo = "foo";
$stdClass->bar = "bar";
$stdClass->baz = "baz";

$safe = new Threaded();
$safe->merge($array);

$safe->foo = "bar";
$safe->merge($stdClass, false);

var_dump($safe);
?>

O exemplo acima irá imprimir:

object(Threaded)#2 (13) {
  ["0"]=>
  int(0)
  ["1"]=>
  int(1)
  ["2"]=>
  int(2)
  ["3"]=>
  int(3)
  ["4"]=>
  int(4)
  ["5"]=>
  int(5)
  ["6"]=>
  int(6)
  ["7"]=>
  int(7)
  ["8"]=>
  int(8)
  ["9"]=>
  int(9)
  ["foo"]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "bar"
  ["baz"]=>
  string(3) "baz"
}


Synchronization

  • « Threaded::merge
  • Threaded::notifyOne »
  • PHP Manual
  • Threaded
  • Synchronization

Threaded::notify

(PECL pthreads >= 2.0.0)

Threaded::notify — Synchronization

Descrição

public Threaded::notify ( ) : bool

Send notification to the referenced object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean indication of success

Exemplos

Exemplo #1 Notifications and Waiting

<?php
class My extends Thread {
    public function run() {
        /** cause this thread to wait **/
        $this->synchronized(function($thread){
            if (!$thread->done)
                $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
/** send notification to the waiting thread **/
$my->synchronized(function($thread){
    $thread->done = true;
    $thread->notify();
}, $my);
var_dump($my->join());
?>

O exemplo acima irá imprimir:

bool(true)


Synchronization

  • « Threaded::notify
  • Threaded::pop »
  • PHP Manual
  • Threaded
  • Synchronization

Threaded::notifyOne

(PECL pthreads >= 3.0.0)

Threaded::notifyOne — Synchronization

Descrição

public Threaded::notifyOne ( ) : bool

Send notification to the referenced object. This unblocks at least one of the blocked threads (as opposed to unblocking all of them, as seen with Threaded::notify()).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean indication of success

Exemplos

Exemplo #1 Notifications and Waiting

<?php
class My extends Thread {
    public function run() {
        /** cause this thread to wait **/
        $this->synchronized(function($thread){
            if (!$thread->done)
                $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
/** send notification to the waiting thread **/
$my->synchronized(function($thread){
    $thread->done = true;
    $thread->notifyOne();
}, $my);
var_dump($my->join());
?>

O exemplo acima irá imprimir:

bool(true)


Manipulation

  • « Threaded::notifyOne
  • Threaded::run »
  • PHP Manual
  • Threaded
  • Manipulation

Threaded::pop

(PECL pthreads >= 2.0.0)

Threaded::pop — Manipulation

Descrição

public Threaded::pop ( ) : bool

Pops an item from the objects property table

Valor Retornado

The last item from the objects property table

Exemplos

Exemplo #1 Popping the last item from the property table of a threaded object

<?php
$safe = new Threaded();

while (count($safe) < 10)
    $safe[] = count($safe);

var_dump($safe->pop());
?>

O exemplo acima irá imprimir:

int(9)


Execution

  • « Threaded::pop
  • Threaded::shift »
  • PHP Manual
  • Threaded
  • Execution

Threaded::run

(PECL pthreads >= 2.0.0)

Threaded::run — Execution

Descrição

public Threaded::run ( ) : void

The programmer should always implement the run method for objects that are intended for execution.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The methods return value, if used, will be ignored


Manipulation

  • « Threaded::run
  • Threaded::synchronized »
  • PHP Manual
  • Threaded
  • Manipulation

Threaded::shift

(PECL pthreads >= 2.0.0)

Threaded::shift — Manipulation

Descrição

public Threaded::shift ( ) : mixed

Shifts an item from the objects property table

Valor Retornado

The first item from the objects property table

Exemplos

Exemplo #1 Shifting the first item from the property table of a threaded object

<?php
$safe = new Threaded();

while (count($safe) < 10)
    $safe[] = count($safe);

var_dump($safe->shift());
?>

O exemplo acima irá imprimir:

int(0)


Synchronization

  • « Threaded::shift
  • Threaded::unlock »
  • PHP Manual
  • Threaded
  • Synchronization

Threaded::synchronized

(PECL pthreads >= 2.0.0)

Threaded::synchronized — Synchronization

Descrição

public Threaded::synchronized ( Closure $block , mixed ...$args ) : mixed

Executes the block while retaining the referenced objects synchronization lock for the calling context

Parâmetros

block

The block of code to execute

args

Variable length list of arguments to use as function arguments to the block

Valor Retornado

The return value from the block

Exemplos

Exemplo #1 Synchronizing

<?php
class My extends Thread {
    public function run() {
        $this->synchronized(function($thread){
            if (!$thread->done)
                $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
$my->synchronized(function($thread){
    $thread->done = true;
    $thread->notify();
}, $my);
var_dump($my->join());
?>

O exemplo acima irá imprimir:

bool(true)


Synchronization

  • « Threaded::synchronized
  • Threaded::wait »
  • PHP Manual
  • Threaded
  • Synchronization

Threaded::unlock

(PECL pthreads < 3.0.0)

Threaded::unlock — Synchronization

Aviso

This method has been removed in pthreads v3. The Threaded::synchronized() method should now be used.

Descrição

public Threaded::unlock ( ) : bool

Unlock the referenced objects storage for the calling context

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean indication of success

Exemplos

Exemplo #1 Locking the property table of a threaded object

<?php
class My extends Thread {
    public function run() {
        var_dump($this->lock());
        /** nobody can read or write **/
        var_dump($this->unlock());
        /** reading / writing resumed for all other contexts */
    }
}
$my = new My();
$my->start();
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)


Synchronization

  • « Threaded::unlock
  • Thread »
  • PHP Manual
  • Threaded
  • Synchronization

Threaded::wait

(PECL pthreads >= 2.0.0)

Threaded::wait — Synchronization

Descrição

public Threaded::wait ( int $timeout = ? ) : bool

Will cause the calling context to wait for notification from the referenced object

Parâmetros

timeout

An optional timeout in microseconds

Valor Retornado

A boolean indication of success

Exemplos

Exemplo #1 Notifications and Waiting

<?php
class My extends Thread {
    public function run() {
        /** cause this thread to wait **/
        $this->synchronized(function($thread){
            if (!$thread->done)
                $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
/** send notification to the waiting thread **/
$my->synchronized(function($thread){
    $thread->done = true;
    $thread->notify();
}, $my);
var_dump($my->join());
?>

O exemplo acima irá imprimir:

bool(true)


The Thread class

(PECL pthreads >= 2.0.0)

Introdução

When the start method of a Thread is invoked, the run method code will be executed in separate Thread, in parallel.

After the run method is executed the Thread will exit immediately, it will be joined with the creating Thread at the appropriate time.

Aviso

Relying on the engine to determine when a Thread should join may cause undesirable behaviour; the programmer should be explicit, where possible.

Sinopse da classe

Thread extends Threaded implements Countable , Traversable , ArrayAccess {
/* Métodos */
public detach ( ) : void
public getCreatorId ( ) : int
public static getCurrentThread ( ) : Thread
public static getCurrentThreadId ( ) : int
public getThreadId ( ) : int
public static globally ( ) : mixed
public isJoined ( ) : bool
public isStarted ( ) : bool
public join ( ) : bool
public kill ( ) : void
public start ( int $options = ? ) : bool
/* Métodos herdados */
public Threaded::chunk ( int $size , bool $preserve ) : array
public Threaded::count ( ) : int
public Threaded::extend ( string $class ) : bool
public Threaded::from ( Closure $run , Closure $construct = ? , array $args = ? ) : Threaded
public Threaded::getTerminationInfo ( ) : array
public Threaded::isRunning ( ) : bool
public Threaded::isTerminated ( ) : bool
public Threaded::isWaiting ( ) : bool
public Threaded::lock ( ) : bool
public Threaded::merge ( mixed $from , bool $overwrite = ? ) : bool
public Threaded::notify ( ) : bool
public Threaded::notifyOne ( ) : bool
public Threaded::pop ( ) : bool
public Threaded::run ( ) : void
public Threaded::shift ( ) : mixed
public Threaded::synchronized ( Closure $block , mixed ...$args ) : mixed
public Threaded::unlock ( ) : bool
public Threaded::wait ( int $timeout = ? ) : bool
}

Índice

  • Thread::detach — Execution
  • Thread::getCreatorId — Identification
  • Thread::getCurrentThread — Identification
  • Thread::getCurrentThreadId — Identification
  • Thread::getThreadId — Identification
  • Thread::globally — Execution
  • Thread::isJoined — State Detection
  • Thread::isStarted — State Detection
  • Thread::join — Synchronization
  • Thread::kill — Execution
  • Thread::start — Execution


Execution

  • « Thread
  • Thread::getCreatorId »
  • PHP Manual
  • Thread
  • Execution

Thread::detach

(PECL pthreads < 3.0.0)

Thread::detach — Execution

Aviso

This method has been removed in pthreads v3.

Descrição

public Thread::detach ( ) : void

Detaches the referenced Thread from the calling context, dangerous!

Aviso

This method can cause undefined, unsafe behaviour. It should not usually be used, it is present for completeness and advanced use cases.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Identification

  • « Thread::detach
  • Thread::getCurrentThread »
  • PHP Manual
  • Thread
  • Identification

Thread::getCreatorId

(PECL pthreads >= 2.0.0)

Thread::getCreatorId — Identification

Descrição

public Thread::getCreatorId ( ) : int

Will return the identity of the Thread that created the referenced Thread

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A numeric identity

Exemplos

Exemplo #1 Return the identity of the Thread or Process that created the referenced Thread

<?php
class My extends Thread {
    public function run() {
        printf("%s created by Thread #%lu\n", __CLASS__, $this->getCreatorId());
    }
}
$my = new My();
$my->start();
?>

O exemplo acima irá imprimir:

My created by Thread #123456778899


Identification

  • « Thread::getCreatorId
  • Thread::getCurrentThreadId »
  • PHP Manual
  • Thread
  • Identification

Thread::getCurrentThread

(PECL pthreads >= 2.0.0)

Thread::getCurrentThread — Identification

Descrição

public static Thread::getCurrentThread ( ) : Thread

Return a reference to the currently executing Thread

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An object representing the currently executing Thread

Exemplos

Exemplo #1 Return the currently executing Thread

<?php
class My extends Thread {
    public function run() {
        var_dump(Thread::getCurrentThread());
    }
}
$my = new My();
$my->start();
?>

O exemplo acima irá imprimir:

object(My)#2 (0) {
}


Identification

  • « Thread::getCurrentThread
  • Thread::getThreadId »
  • PHP Manual
  • Thread
  • Identification

Thread::getCurrentThreadId

(PECL pthreads >= 2.0.0)

Thread::getCurrentThreadId — Identification

Descrição

public static Thread::getCurrentThreadId ( ) : int

Will return the identity of the currently executing Thread

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A numeric identity

Exemplos

Exemplo #1 Return the identity of the currently executing Thread

<?php
class My extends Thread {
    public function run() {
        printf("%s is Thread #%lu\n", __CLASS__, Thread::getCurrentThreadId());
    }
}
$my = new My();
$my->start();
?>

O exemplo acima irá imprimir:

My is Thread #123456778899


Identification

  • « Thread::getCurrentThreadId
  • Thread::globally »
  • PHP Manual
  • Thread
  • Identification

Thread::getThreadId

(PECL pthreads >= 2.0.0)

Thread::getThreadId — Identification

Descrição

public Thread::getThreadId ( ) : int

Will return the identity of the referenced Thread

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A numeric identity

Exemplos

Exemplo #1 Return the identity of the referenced Thread

<?php
class My extends Thread {
    public function run() {
        printf("%s is Thread #%lu\n", __CLASS__, $this->getThreadId());
    }
}
$my = new My();
$my->start();
?>

O exemplo acima irá imprimir:

My is Thread #123456778899


Execution

  • « Thread::getThreadId
  • Thread::isJoined »
  • PHP Manual
  • Thread
  • Execution

Thread::globally

(PECL pthreads < 3.0.0)

Thread::globally — Execution

Aviso

This method has been removed in pthreads v3.

Descrição

public static Thread::globally ( ) : mixed

Will execute a Callable in the global scope

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The return value of the Callable

Exemplos

Exemplo #1 Execute in the global scope

<?php
class My extends Thread {
    public function run() {
        global $std;

        Thread::globally(function(){
            $std = new stdClass;
        });

        var_dump($std);
    }
}
$my = new My();
$my->start();
?>

O exemplo acima irá imprimir:

object(stdClass)#3 (0) {
}


State Detection

  • « Thread::globally
  • Thread::isStarted »
  • PHP Manual
  • Thread
  • State Detection

Thread::isJoined

(PECL pthreads >= 2.0.0)

Thread::isJoined — State Detection

Descrição

public Thread::isJoined ( ) : bool

Tell if the referenced Thread has been joined

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean indication of state

Exemplos

Exemplo #1 Detect the state of the referenced Thread

<?php
class My extends Thread {
    public function run() {
        $this->synchronized(function($thread){
            if (!$thread->done)
                $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
var_dump($my->isJoined());
$my->synchronized(function($thread){
    $thread->done = true;
    $thread->notify();
}, $my);
?>

O exemplo acima irá imprimir:

bool(false)


State Detection

  • « Thread::isJoined
  • Thread::join »
  • PHP Manual
  • Thread
  • State Detection

Thread::isStarted

(PECL pthreads >= 2.0.0)

Thread::isStarted — State Detection

Descrição

public Thread::isStarted ( ) : bool

Tell if the referenced Thread was started

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

boolean indication of state

Exemplos

Exemplo #1 Tell if the referenced Thread was started

<?php
$worker = new Worker();
$worker->start();
var_dump($worker->isStarted());
?>

O exemplo acima irá imprimir:

bool(true)


Synchronization

  • « Thread::isStarted
  • Thread::kill »
  • PHP Manual
  • Thread
  • Synchronization

Thread::join

(PECL pthreads >= 2.0.0)

Thread::join — Synchronization

Descrição

public Thread::join ( ) : bool

Causes the calling context to wait for the referenced Thread to finish executing

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean indication of success

Exemplos

Exemplo #1 Join with the referenced Thread

<?php
class My extends Thread {
    public function run() {
        /* ... */
    }
}
$my = new My();
$my->start();
/* ... */
var_dump($my->join());
/* ... */
?>

O exemplo acima irá imprimir:

bool(true)


Execution

  • « Thread::join
  • Thread::start »
  • PHP Manual
  • Thread
  • Execution

Thread::kill

(PECL pthreads < 3.0.0)

Thread::kill — Execution

Aviso

This method has been removed in pthreads v3.

Descrição

public Thread::kill ( ) : void

Forces the referenced Thread to terminate

Aviso

The programmer should not ordinarily kill Threads by force

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean indication of success

Exemplos

Exemplo #1 Kill the referenced Thread

<?php
class T extends Thread {
    public function run() {
        $stdin = fopen("php://stdin", "r");
        while(($line = fgets($stdin))) {
            echo $line;
        }
    }
}

$t = new T();
$t->start();

var_dump($t->kill());
?>

O exemplo acima irá imprimir:

bool(true)


Execution

  • « Thread::kill
  • Worker »
  • PHP Manual
  • Thread
  • Execution

Thread::start

(PECL pthreads >= 2.0.0)

Thread::start — Execution

Descrição

public Thread::start ( int $options = ? ) : bool

Will start a new Thread to execute the implemented run method

Parâmetros

options

An optional mask of inheritance constants, by default PTHREADS_INHERIT_ALL

Valor Retornado

A boolean indication of success

Exemplos

Exemplo #1 Starting Threads

<?php
class My extends Thread {
    public function run() {
        /** ... **/
    }
}
$my = new My();
var_dump($my->start());
?>

O exemplo acima irá imprimir:

bool(true)


The Worker class

(PECL pthreads >= 2.0.0)

Introdução

Worker Threads have a persistent context, as such should be used over Threads in most cases.

When a Worker is started, the run method will be executed, but the Thread will not leave until one of the following conditions are met:

  • the Worker goes out of scope (no more references remain)

  • the programmer calls shutdown

  • the script dies

This means the programmer can reuse the context throughout execution; placing objects on the stack of the Worker will cause the Worker to execute the stacked objects run method.

Sinopse da classe

Worker extends Thread implements Traversable , Countable , ArrayAccess {
/* Métodos */
public collect ( Callable $collector = ? ) : int
public getStacked ( ) : int
public isShutdown ( ) : bool
public isWorking ( ) : bool
public shutdown ( ) : bool
public stack ( Threaded &$work ) : int
public unstack ( ) : int
/* Métodos herdados */
public Thread::detach ( ) : void
public Thread::getCreatorId ( ) : int
public static Thread::getCurrentThread ( ) : Thread
public static Thread::getCurrentThreadId ( ) : int
public Thread::getThreadId ( ) : int
public static Thread::globally ( ) : mixed
public Thread::isJoined ( ) : bool
public Thread::isStarted ( ) : bool
public Thread::join ( ) : bool
public Thread::kill ( ) : void
public Thread::start ( int $options = ? ) : bool
}

Índice

  • Worker::collect — Collect references to completed tasks
  • Worker::getStacked — Gets the remaining stack size
  • Worker::isShutdown — State Detection
  • Worker::isWorking — State Detection
  • Worker::shutdown — Shutdown the worker
  • Worker::stack — Stacking work
  • Worker::unstack — Unstacking work


Collect references to completed tasks

  • « Worker
  • Worker::getStacked »
  • PHP Manual
  • Worker
  • Collect references to completed tasks

Worker::collect

(PECL pthreads >= 3.0.0)

Worker::collect — Collect references to completed tasks

Descrição

public Worker::collect ( Callable $collector = ? ) : int

Allows the worker to collect references determined to be garbage by the optionally given collector.

Parâmetros

collector

A Callable collector that returns a boolean on whether the task can be collected or not. Only in rare cases should a custom collector need to be used.

Valor Retornado

The number of remaining tasks on the worker's stack to be collected.

Exemplos

Exemplo #1 A basic example of Worker::collect()

<?php
$worker = new Worker();

echo "There are currently {$worker->collect()} tasks on the stack to be collected\n";

for ($i = 0; $i < 15; ++$i) {
    $worker->stack(new class extends Threaded {});
}

echo "There are {$worker->collect()} tasks remaining on the stack to be collected\n";

$worker->start();

while ($worker->collect()); // blocks until all tasks have finished executing

echo "There are now {$worker->collect()} tasks on the stack to be collected\n";

$worker->shutdown();

O exemplo acima irá imprimir:

There are currently 0 tasks on the stack to be collected
There are 15 tasks remaining on the stack to be collected
There are now 0 tasks on the stack to be collected


Gets the remaining stack size

  • « Worker::collect
  • Worker::isShutdown »
  • PHP Manual
  • Worker
  • Gets the remaining stack size

Worker::getStacked

(PECL pthreads >= 2.0.0)

Worker::getStacked — Gets the remaining stack size

Descrição

public Worker::getStacked ( ) : int

Returns the number of tasks left on the stack

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of tasks currently waiting to be executed by the worker

Exemplos

Exemplo #1 A basic example of Worker::getStacked

<?php
$worker = new Worker();

for ($i = 0; $i < 5; ++$i) {
    $worker->stack(new class extends Threaded {});
}

echo "There are {$worker->getStacked()} stacked tasks\n";

O exemplo acima irá imprimir:

There are 5 stacked tasks


State Detection

  • « Worker::getStacked
  • Worker::isWorking »
  • PHP Manual
  • Worker
  • State Detection

Worker::isShutdown

(PECL pthreads >= 2.0.0)

Worker::isShutdown — State Detection

Descrição

public Worker::isShutdown ( ) : bool

Whether the worker has been shutdown or not.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns whether the worker has been shutdown or not.

Exemplos

Exemplo #1 Detect the state of a worker

<?php
$worker = new Worker();
$worker->start();

var_dump($worker->isShutdown());

$worker->shutdown();

var_dump($worker->isShutdown());

O exemplo acima irá imprimir:

bool(false)
bool(true)


State Detection

  • « Worker::isShutdown
  • Worker::shutdown »
  • PHP Manual
  • Worker
  • State Detection

Worker::isWorking

(PECL pthreads >= 2.0.0)

Worker::isWorking — State Detection

Aviso

This method has been removed in pthreads v3. The Worker::getStacked() method should be used to see if the worker still has tasks to execute.

Descrição

public Worker::isWorking ( ) : bool

Tell if a Worker is executing Stackables

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean indication of state

Exemplos

Exemplo #1 Detect the state of a Worker

<?php
$my = new Worker();
$my->start();
/* ... */
if ($my->isWorking()) {
    /* ... the Worker is busy executing another object */
}
?>


Shutdown the worker

  • « Worker::isWorking
  • Worker::stack »
  • PHP Manual
  • Worker
  • Shutdown the worker

Worker::shutdown

(PECL pthreads >= 2.0.0)

Worker::shutdown — Shutdown the worker

Descrição

public Worker::shutdown ( ) : bool

Shuts down the worker after executing all of the stacked tasks.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Whether the worker was successfully shutdown or not.

Exemplos

Exemplo #1 Shutdown the referenced worker

<?php
$my = new Worker();
$my->start();
/* stack/execute tasks */
var_dump($my->shutdown());

O exemplo acima irá imprimir:

bool(true)


Stacking work

  • « Worker::shutdown
  • Worker::unstack »
  • PHP Manual
  • Worker
  • Stacking work

Worker::stack

(PECL pthreads >= 2.0.0)

Worker::stack — Stacking work

Descrição

public Worker::stack ( Threaded &$work ) : int

Appends the new work to the stack of the referenced worker.

Parâmetros

work

A Threaded object to be executed by the worker.

Valor Retornado

The new size of the stack.

Exemplos

Exemplo #1 Stacking a task for execution onto a worker

<?php
$worker = new Worker();
$work = new class extends Threaded {};

var_dump($worker->stack($work));

O exemplo acima irá imprimir:

int(1)


Unstacking work

  • « Worker::stack
  • Collectable »
  • PHP Manual
  • Worker
  • Unstacking work

Worker::unstack

(PECL pthreads >= 2.0.0)

Worker::unstack — Unstacking work

Descrição

public Worker::unstack ( ) : int

Removes the first task (the oldest one) in the stack.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The new size of the stack.

Changelog

Versão | Descrição
v3 | The parameter to specify the task to unstack has been removed. Now, only the first task in the stack is removed.

Exemplos

Exemplo #1 Removing objects from the stack of Workers

<?php
$my = new Worker();
$work = new class extends Threaded {};

var_dump($my->stack($work));
var_dump($my->unstack());

O exemplo acima irá imprimir:

int(1)
int(0)


The Collectable interface

(PECL pthreads >= 2.0.8)

Introdução

Cuidado

Collectable was previously a class (in pthreads v2 and below). Now, it is an interface in pthreads v3 that is implemented by the Threaded class.

Represents a garbage-collectable object.

Resumo da Interface

Collectable {
/* Métodos */
public isGarbage ( ) : bool
public setGarbage ( ) : void
}

Índice

  • Collectable::isGarbage — Determine whether an object has been marked as garbage
  • Collectable::setGarbage — Mark an object as garbage


Determine whether an object has been marked as garbage

  • « Collectable
  • Collectable::setGarbage »
  • PHP Manual
  • Collectable
  • Determine whether an object has been marked as garbage

Collectable::isGarbage

(PECL pthreads >= 2.0.8)

Collectable::isGarbage — Determine whether an object has been marked as garbage

Descrição

public Collectable::isGarbage ( ) : bool

Can be called in Pool::collect() to determine if this object is garbage.

Veja Também

  • Pool::collect() - Collect references to completed tasks


Mark an object as garbage

  • « Collectable::isGarbage
  • Modifiers »
  • PHP Manual
  • Collectable
  • Mark an object as garbage

Collectable::setGarbage

(PECL pthreads < 3.0.0)

Collectable::setGarbage — Mark an object as garbage

Aviso

This method has been removed in pthreads v3.

Descrição

public Collectable::setGarbage ( ) : void

Should be called once per object when the object is finished being executed or referenced.

Veja Também

  • Collectable::isGarbage() - Determine whether an object has been marked as garbage


Method Modifiers

Aviso

These semantics are only applicable to pthreads v2 - they have been removed in pthreads v3.

pthreads overrides the functionality of the protected and private method modifiers in order to provide functionality more suited to multi-threaded objects. pthreads applies this functionality to all Threaded objects from creation.

Exemplo #1 protected method example: protected methods can only be executed by one Thread at a time.

<?php
class ExampleThread extends Thread {
    public function run() {
        /* thread code */
        if ($this->synchronized()) {

        }
    }

    protected function exclusive() {
        /* synchronized method */
    }
}

$thread = new ExampleThread();
if ($thread->start()) {
    $thread->exclusive();
}
?>

Exemplo #2 private method example: private methods may only be executed by the Threaded object during execution

<?php
class ExampleThread extends Thread {
    public function run() {
        /* thread code */
        if ($this->insideonly()) {

        }
    }

    private function insideonly() {
        /* private method */
    }
}

$thread = new ExampleThread();
if ($thread->start()) {
    $thread->insideonly();
}
?>


The Pool class

(PECL pthreads >= 2.0.0)

Introdução

A Pool is a container for, and controller of, an adjustable number of Workers.

Pooling provides a higher level abstraction of the Worker functionality, including the management of references in the way required by pthreads.

Sinopse da classe

Pool {
/* Propriedades */
protected $size ;
protected $class ;
protected $workers ;
protected $ctor ;
protected $last ;
/* Métodos */
public collect ( Callable $collector = ? ) : int
public __construct ( int $size , string $class = ? , array $ctor = ? ) : Pool
public resize ( int $size ) : void
public shutdown ( ) : void
public submit ( Threaded $task ) : int
public submitTo ( int $worker , Threaded $task ) : int
}

Propriedades

size

maximum number of Workers this Pool can use

class

the class of the Worker

workers

references to Workers

ctor

the arguments for constructor of new Workers

last

offset in workers of the last Worker used

Índice

  • Pool::collect — Collect references to completed tasks
  • Pool::__construct — Creates a new Pool of Workers
  • Pool::resize — Resize the Pool
  • Pool::shutdown — Shutdown all workers
  • Pool::submit — Submits an object for execution
  • Pool::submitTo — Submits a task to a specific worker for execution


Collect references to completed tasks

  • « Pool
  • Pool::__construct »
  • PHP Manual
  • Pool
  • Collect references to completed tasks

Pool::collect

(PECL pthreads >= 2.0.0)

Pool::collect — Collect references to completed tasks

Descrição

public Pool::collect ( Callable $collector = ? ) : int

Allows the pool to collect references determined to be garbage by the optionally given collector.

Parâmetros

collector

A Callable collector that returns a boolean on whether the task can be collected or not. Only in rare cases should a custom collector need to be used.

Valor Retornado

The number of remaining tasks in the pool to be collected.

Changelog

Versão | Descrição
v3 | An integer is now returned, and the collector parameter is now optional.

Exemplos

Exemplo #1 A basic example of Pool::collect()

<?php
$pool = new Pool(4);

for ($i = 0; $i < 15; ++$i) {
    $pool->submit(new class extends Threaded {});
}

while ($pool->collect()); // blocks until all tasks have finished executing

$pool->shutdown();


Creates a new Pool of Workers

  • « Pool::collect
  • Pool::resize »
  • PHP Manual
  • Pool
  • Creates a new Pool of Workers

Pool::__construct

(PECL pthreads >= 2.0.0)

Pool::__construct — Creates a new Pool of Workers

Descrição

public Pool::__construct ( int $size , string $class = ? , array $ctor = ? ) : Pool

Construct a new pool of workers. Pools lazily create their threads, which means new threads will only be spawned when they are required to execute tasks.

Parâmetros

size

The maximum number of workers for this pool to create

class

The class for new Workers. If no class is given, then it defaults to the Worker class.

ctor

An array of arguments to be passed to new workers' constructors

Valor Retornado

The new pool

Exemplos

Exemplo #1 Creating Pools

<?php
class MyWorker extends Worker {

    public function __construct(Something $something) {
        $this->something = $something;
    }

    public function run() {
        /** ... **/
    }
}

$pool = new Pool(8, \MyWorker::class, [new Something()]);

var_dump($pool);
?>

O exemplo acima irá imprimir:

object(Pool)#1 (6) {
  ["size":protected]=>
  int(8)
  ["class":protected]=>
  string(8) "MyWorker"
  ["workers":protected]=>
  NULL
  ["work":protected]=>
  NULL
  ["ctor":protected]=>
  array(1) {
    [0]=>
    object(Something)#2 (0) {
    }
  }
  ["last":protected]=>
  int(0)
}


Resize the Pool

  • « Pool::__construct
  • Pool::shutdown »
  • PHP Manual
  • Pool
  • Resize the Pool

Pool::resize

(PECL pthreads >= 2.0.0)

Pool::resize — Resize the Pool

Descrição

public Pool::resize ( int $size ) : void

Resize the Pool

Parâmetros

size

The maximum number of Workers this Pool can create

Valor Retornado

void


Shutdown all workers

  • « Pool::resize
  • Pool::submit »
  • PHP Manual
  • Pool
  • Shutdown all workers

Pool::shutdown

(PECL pthreads >= 2.0.0)

Pool::shutdown — Shutdown all workers

Descrição

public Pool::shutdown ( ) : void

Shuts down all of the workers in the pool. This will block until all submitted tasks have been executed.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No value is returned.

Exemplos

Exemplo #1 Shutting down a pool

<?php
class Task extends Threaded
{
    public function run()
    {
        usleep(500000);
    }
}

$pool = new Pool(4);

for ($i = 0; $i < 10; ++$i) {
    $pool->submit(new Task());
}

$pool->shutdown(); // blocks until all submitted tasks have finished executing


Submits an object for execution

  • « Pool::shutdown
  • Pool::submitTo »
  • PHP Manual
  • Pool
  • Submits an object for execution

Pool::submit

(PECL pthreads >= 2.0.0)

Pool::submit — Submits an object for execution

Descrição

public Pool::submit ( Threaded $task ) : int

Submit the task to the next Worker in the Pool

Parâmetros

task

The task for execution

Valor Retornado

the identifier of the Worker executing the object

Exemplos

Exemplo #1 Submitting Tasks

<?php
class MyWork extends Threaded {

    public function run() {
        /* ... */
    }
}

class MyWorker extends Worker {

    public function __construct(Something $something) {
        $this->something = $something;
    }

    public function run() {
        /** ... **/
    }
}

$pool = new Pool(8, \MyWorker::class, [new Something()]);
$pool->submit(new MyWork());
var_dump($pool);
?>

O exemplo acima irá imprimir:

object(Pool)#1 (6) {
  ["size":protected]=>
  int(8)
  ["class":protected]=>
  string(8) "MyWorker"
  ["workers":protected]=>
  array(1) {
    [0]=>
    object(MyWorker)#4 (1) {
      ["something"]=>
      object(Something)#5 (0) {
      }
    }
  }
  ["work":protected]=>
  array(1) {
    [0]=>
    object(MyWork)#3 (1) {
      ["worker"]=>
      object(MyWorker)#5 (1) {
        ["something"]=>
        object(Something)#6 (0) {
        }
      }
    }
  }
  ["ctor":protected]=>
  array(1) {
    [0]=>
    object(Something)#2 (0) {
    }
  }
  ["last":protected]=>
  int(1)
}


Submits a task to a specific worker for execution

  • « Pool::submit
  • Mutex »
  • PHP Manual
  • Pool
  • Submits a task to a specific worker for execution

Pool::submitTo

(PECL pthreads >= 2.0.0)

Pool::submitTo — Submits a task to a specific worker for execution

Descrição

public Pool::submitTo ( int $worker , Threaded $task ) : int

Submit a task to the specified worker in the pool. The workers are indexed from 0, and will only exist if the pool has needed to create them (since threads are lazily spawned).

Parâmetros

worker

The worker to stack the task onto, indexed from 0.

task

The task for execution.

Valor Retornado

The identifier of the worker that accepted the task.

Exemplos

Exemplo #1 Submitting tasks to a specific worker

<?php
class Task extends Threaded {
    public function run() {
        var_dump(Thread::getCurrentThreadID());
    }
}

$pool = new Pool(2);

$pool->submit(new Task());

for ($i = 0; $i < 5; ++$i) {
    $pool->submitTo(0, new Task()); // stack all tasks onto the first worker
}

$pool->submitTo(1, new Task()); // cannot stack the task onto the second worker due to it not existing yet

$pool->shutdown();

O exemplo acima irá imprimir:

int(4475011072)
int(4475011072)
int(4475011072)
int(4475011072)
int(4475011072)
int(4475011072)

Fatal error: Uncaught Exception: The selected worker (1) does not exist in %s:%d


The Mutex class

(PECL pthreads < 3.0.0)

Introdução

Aviso

The Mutex class has been removed in pthreads v3.

The static methods contained in the Mutex class provide direct access to Posix Mutex functionality.

Sinopse da classe

Mutex {
/* Métodos */
final public static create ( bool $lock = ? ) : int
final public static destroy ( int $mutex ) : bool
final public static lock ( int $mutex ) : bool
final public static trylock ( int $mutex ) : bool
final public static unlock ( int $mutex , bool $destroy = ? ) : bool
}

Índice

  • Mutex::create — Create a Mutex
  • Mutex::destroy — Destroy Mutex
  • Mutex::lock — Acquire Mutex
  • Mutex::trylock — Attempt to Acquire Mutex
  • Mutex::unlock — Release Mutex


Create a Mutex

  • « Mutex
  • Mutex::destroy »
  • PHP Manual
  • Mutex
  • Create a Mutex

Mutex::create

(PECL pthreads < 3.0.0)

Mutex::create — Create a Mutex

Aviso

The Mutex class has been removed in pthreads v3.

Descrição

final public static Mutex::create ( bool $lock = ? ) : int

Create, and optionally lock a new Mutex for the caller

Parâmetros

lock

Setting lock to true will lock the Mutex for the caller before returning the handle

Valor Retornado

A newly created and optionally locked Mutex handle

Exemplos

Exemplo #1 Mutex Creation and Destruction

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You have the physical address of the Mutex **/
var_dump($mutex);
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

O exemplo acima irá imprimir:

int(40096976)


Destroy Mutex

  • « Mutex::create
  • Mutex::lock »
  • PHP Manual
  • Mutex
  • Destroy Mutex

Mutex::destroy

(PECL pthreads < 3.0.0)

Mutex::destroy — Destroy Mutex

Aviso

The Mutex class has been removed in pthreads v3.

Descrição

final public static Mutex::destroy ( int $mutex ) : bool

Destroying Mutex handles must be carried out explicitly by the programmer when they are finished with the Mutex handle.

Parâmetros

mutex

A handle returned by a previous call to Mutex::create(). The handle should not be locked by any Thread when Mutex::destroy() is called.

Valor Retornado

A boolean indication of success

Exemplos

Exemplo #1 Mutex Creation and Destruction

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You have the physical address of the Mutex **/
var_dump($mutex);
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

O exemplo acima irá imprimir:

int(40096976)


Acquire Mutex

  • « Mutex::destroy
  • Mutex::trylock »
  • PHP Manual
  • Mutex
  • Acquire Mutex

Mutex::lock

(PECL pthreads < 3.0.0)

Mutex::lock — Acquire Mutex

Aviso

The Mutex class has been removed in pthreads v3.

Descrição

final public static Mutex::lock ( int $mutex ) : bool

Attempt to lock the Mutex for the caller.

An attempt to lock a Mutex owned (locked) by another Thread will result in blocking.

Parâmetros

mutex

A handle returned by a previous call to Mutex::create().

Valor Retornado

A boolean indication of success.

Exemplos

Exemplo #1 Mutex Locking and Unlocking

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You can now lock the mutex in any context **/
var_dump(Mutex::lock($mutex));
/** It is invalid to attempt to destroy a locked Mutex **/
var_dump(Mutex::unlock($mutex));
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)


Attempt to Acquire Mutex

  • « Mutex::lock
  • Mutex::unlock »
  • PHP Manual
  • Mutex
  • Attempt to Acquire Mutex

Mutex::trylock

(PECL pthreads < 3.0.0)

Mutex::trylock — Attempt to Acquire Mutex

Aviso

The Mutex class has been removed in pthreads v3.

Descrição

final public static Mutex::trylock ( int $mutex ) : bool

Attempt to lock the Mutex for the caller without blocking if the Mutex is owned (locked) by another Thread.

Parâmetros

mutex

A handle returned by a previous call to Mutex::create().

Valor Retornado

A boolean indication of success.

Exemplos

Exemplo #1 Mutex Locking and Unlocking

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You can now try to lock the mutex in any context **/
var_dump(Mutex::trylock($mutex));
/** It is invalid to attempt to destroy a locked Mutex **/
var_dump(Mutex::unlock($mutex));
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)


Release Mutex

  • « Mutex::trylock
  • Cond »
  • PHP Manual
  • Mutex
  • Release Mutex

Mutex::unlock

(PECL pthreads < 3.0.0)

Mutex::unlock — Release Mutex

Aviso

The Mutex class has been removed in pthreads v3.

Descrição

final public static Mutex::unlock ( int $mutex , bool $destroy = ? ) : bool

Attempts to unlock the Mutex for the caller, optionally destroying the Mutex handle. The calling thread should own the Mutex at the time of the call.

Parâmetros

mutex

A handle returned by a previous call to Mutex::create().

destroy

When true pthreads will destroy the Mutex after a successful unlock.

Valor Retornado

A boolean indication of success.

Exemplos

Exemplo #1 Mutex Locking and Unlocking

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You can now lock the mutex in any context **/
var_dump(Mutex::lock($mutex));
/** It is invalid to attempt to destroy a locked Mutex **/
var_dump(Mutex::unlock($mutex));
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)


The Cond class

(PECL pthreads < 3.0.0)

Introdução

Aviso

The Cond class has been removed in pthreads v3.

The static methods contained in the Cond class provide direct access to Posix Condition Variables.

Sinopse da classe

Cond {
/* Métodos */
final public static broadcast ( int $condition ) : bool
final public static create ( ) : int
final public static destroy ( int $condition ) : bool
final public static signal ( int $condition ) : bool
final public static wait ( int $condition , int $mutex , int $timeout = ? ) : bool
}

Índice

  • Cond::broadcast — Broadcast a Condition
  • Cond::create — Create a Condition
  • Cond::destroy — Destroy a Condition
  • Cond::signal — Signal a Condition
  • Cond::wait — Wait for Condition


Broadcast a Condition

  • « Cond
  • Cond::create »
  • PHP Manual
  • Cond
  • Broadcast a Condition

Cond::broadcast

(PECL pthreads < 3.0.0)

Cond::broadcast — Broadcast a Condition

Aviso

The Cond class has been removed in pthreads v3.

Descrição

final public static Cond::broadcast ( int $condition ) : bool

Broadcast to all Threads blocking on a call to Cond::wait().

Parâmetros

condition

A handle to a Condition Variable returned by a previous call to Cond::create()

Valor Retornado

A boolean indication of success.

Exemplos

Exemplo #1 Condition Broadcasting

<?php
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** The caller must lock the associated Mutex before a call to broadcast **/
var_dump(Cond::broadcast($cond));
/** Always destroy Cond you have created **/
Cond::destroy($cond);
?>

O exemplo acima irá imprimir:

bool(true)


Create a Condition

  • « Cond::broadcast
  • Cond::destroy »
  • PHP Manual
  • Cond
  • Create a Condition

Cond::create

(PECL pthreads < 3.0.0)

Cond::create — Create a Condition

Aviso

The Cond class has been removed in pthreads v3.

Descrição

final public static Cond::create ( ) : int

Creates a new Condition Variable for the caller.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A handle to a Condition Variable

Exemplos

Exemplo #1 Condition Creation and Destruction

<?php
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** You can now use the Cond in any context **/
var_dump($cond);
/** Always destroy Cond you have created **/
Cond::destroy($cond);
?>

O exemplo acima irá imprimir:

int(4540682)


Destroy a Condition

  • « Cond::create
  • Cond::signal »
  • PHP Manual
  • Cond
  • Destroy a Condition

Cond::destroy

(PECL pthreads < 3.0.0)

Cond::destroy — Destroy a Condition

Aviso

The Cond class has been removed in pthreads v3.

Descrição

final public static Cond::destroy ( int $condition ) : bool

Destroying Condition Variable handles must be carried out explicitly by the programmer when they are finished with the Condition Variable. No Threads should be blocking on a call to Cond::wait() when the call to Cond::destroy() takes place.

Parâmetros

condition

A handle to a Condition Variable returned by a previous call to Cond::create()

Valor Retornado

A boolean indication of success.

Exemplos

Exemplo #1 Condition Creation and Destruction

<?php
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** You can now use the Cond in any context **/
var_dump($cond);
/** Always destroy Cond you have created **/
Cond::destroy($cond);
?>

O exemplo acima irá imprimir:

int(4540682)


Signal a Condition

  • « Cond::destroy
  • Cond::wait »
  • PHP Manual
  • Cond
  • Signal a Condition

Cond::signal

(PECL pthreads < 3.0.0)

Cond::signal — Signal a Condition

Aviso

The Cond class has been removed in pthreads v3.

Descrição

final public static Cond::signal ( int $condition ) : bool

Parâmetros

condition

A handle returned by a previous call to Cond::create()

Valor Retornado

A boolean indication of success.

Exemplos

Exemplo #1 Condition Signalling

<?php
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** The caller must lock the associated Mutex before a call to broadcast **/
var_dump(Cond::signal($cond));
/** Always destroy Cond you have created **/
Cond::destroy($cond);
?>

O exemplo acima irá imprimir:

bool(true)


Wait for Condition

  • « Cond::signal
  • Volatile »
  • PHP Manual
  • Cond
  • Wait for Condition

Cond::wait

(PECL pthreads < 3.0.0)

Cond::wait — Wait for Condition

Aviso

The Cond class has been removed in pthreads v3.

Descrição

final public static Cond::wait ( int $condition , int $mutex , int $timeout = ? ) : bool

Wait for a signal on a Condition Variable, optionally specifying a timeout to limit waiting time.

Parâmetros

condition

A handle returned by a previous call to Cond::create().

mutex

A handle returned by a previous call to Mutex::create() and owned (locked) by the caller.

timeout

An optional timeout, in microseconds ( millionths of a second ).

Valor Retornado

A boolean indication of success.

Exemplos

Exemplo #1 Waiting for Conditions

<?php
/** PLEASE NOTE THIS EXAMPLE WILL CAUSE THE PROCESS TO HANG **/
$mutex = Mutex::create(true);
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** The caller must lock the associated Mutex before a call to broadcast **/
var_dump(Cond::wait($cond, $mutex));
/** Always destroy Cond you have created **/
Cond::destroy($cond);
Mutex::unlock($mutex);
Mutex::destroy($mutex);
?>

O exemplo acima irá imprimir:

int(49685473)


The Volatile class

(PECL pthreads >= 3.0.0)

Introdução

The Volatile class is new to pthreads v3. Its introduction is a consequence of the new immutability semantics of Threaded members of Threaded classes. The Volatile class enables for mutability of its Threaded members, and is also used to store PHP arrays in Threaded contexts.

Sinopse da classe

Volatile extends Threaded implements Collectable , Traversable {
/* Métodos herdados */
public Threaded::chunk ( int $size , bool $preserve ) : array
public Threaded::count ( ) : int
public Threaded::extend ( string $class ) : bool
public Threaded::from ( Closure $run , Closure $construct = ? , array $args = ? ) : Threaded
public Threaded::getTerminationInfo ( ) : array
public Threaded::isRunning ( ) : bool
public Threaded::isTerminated ( ) : bool
public Threaded::isWaiting ( ) : bool
public Threaded::lock ( ) : bool
public Threaded::merge ( mixed $from , bool $overwrite = ? ) : bool
public Threaded::notify ( ) : bool
public Threaded::notifyOne ( ) : bool
public Threaded::pop ( ) : bool
public Threaded::run ( ) : void
public Threaded::shift ( ) : mixed
public Threaded::synchronized ( Closure $block , mixed ...$args ) : mixed
public Threaded::unlock ( ) : bool
public Threaded::wait ( int $timeout = ? ) : bool
}

Exemplos

Exemplo #1 New immutability semantics of Threaded

<?php

class Task extends Threaded
{
    public function __construct()
    {
        $this->data = new Threaded();

        // attempt to overwrite a Threaded property of a Threaded class (invalid)
        $this->data = new StdClass();
    }
}

var_dump((new Task())->data);

O exemplo acima irá imprimir algo similar à:

RuntimeException: Threaded members previously set to Threaded objects are immutable, cannot overwrite data in %s:%d

Exemplo #2 Volatile use-case

<?php

class Task extends Volatile
{
    public function __construct()
    {
        $this->data = new Threaded();

        // attempt to overwrite a Threaded property of a Volatile class (valid)
        $this->data = new StdClass();
    }
}

var_dump((new Task())->data);

O exemplo acima irá imprimir algo similar à:

object(stdClass)#3 (0) {
}


pht

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
  • pht\Thread — The Thread class
    • pht\Thread::addClassTask — Class threading
    • pht\Thread::addFileTask — File threading
    • pht\Thread::addFunctionTask — Function threading
    • pht\Thread::join — Joins a thread
    • pht\Thread::start — Starts the new thread
    • pht\Thread::taskCount — Gets a thread's task count
  • pht\Runnable — The Runnable interface
    • pht\Runnable::run — The entry point of a threaded class
  • pht\HashTable — The HashTable class
    • pht\HashTable::lock — Acquires the hash table's mutex lock
    • pht\HashTable::size — Gets the size of the hash table
    • pht\HashTable::unlock — Releases the hash table's mutex lock
  • pht\Vector — The Vector class
    • pht\Vector::__construct — Vector creation
    • pht\Vector::deleteAt — Deletes a value in the vector
    • pht\Vector::insertAt — Inserts a value into the vector
    • pht\Vector::lock — Acquires the vector's mutex lock
    • pht\Vector::pop — Pops a value to the vector
    • pht\Vector::push — Pushes a value to the vector
    • pht\Vector::resize — Resizes a vector
    • pht\Vector::shift — Shifts a value from the vector
    • pht\Vector::size — Gets the size of the vector
    • pht\Vector::unlock — Releases the vector's mutex lock
    • pht\Vector::unshift — Unshifts a value to the vector front
    • pht\Vector::updateAt — Updates a value in the vector
  • pht\Queue — The Queue class
    • pht\Queue::front — Returns the first value from a queue
    • pht\Queue::lock — Acquires the queue's mutex lock
    • pht\Queue::pop — Pops a value off of the front of a queue
    • pht\Queue::push — Pushes a value to the end of a queue
    • pht\Queue::size — Gets the size of the queue
    • pht\Queue::unlock — Releases the queue's mutex lock
  • pht\AtomicInteger — The AtomicInteger class
    • pht\AtomicInteger::__construct — AtomicInteger creation
    • pht\AtomicInteger::dec — Decrements the atomic integer's value by one
    • pht\AtomicInteger::get — Gets the atomic integer's value
    • pht\AtomicInteger::inc — Increments the atomic integer's value by one
    • pht\AtomicInteger::lock — Acquires the atomic integer's mutex lock
    • pht\AtomicInteger::set — Sets the atomic integer's value
    • pht\AtomicInteger::unlock — Releases the atomic integer's mutex lock
  • pht\Threaded — The Threaded interface
    • pht\Threaded::lock — Acquires the mutex lock
    • pht\Threaded::unlock — Releases the mutex lock


Introdução

pht is a new threading extension for PHP. It enables for classes, functions, and even entire files to be threaded. Currently, pht can only be used with PHP 7.2. This is due to ZTS mode being unsafe in PHP 7.0 and 7.1. Support for PHP >7.2 is coming soon.

Aviso

The pht extension should not be used in a web server environment. Threading should be restricted to CLI-based applications only.

The approach to threading that pht takes is to abstract away the thread itself behind a dedicated object (pht\Thread). Tasks are then added to the thread's internal task queue, where they are processed when the thread is started (via pht\Thread::start()).

All thread tasks will execute in isolation inside of the newly spawned thread. For class tasks, this means the spawned objects cannot be passed around between threads. By keeping the threading contexts completely separate from one-another, there becomes no need to serialise the properties of threaded objects (which is a necessary evil if such objects have to operate in multiple threads).

The isolation of threading contexts makes the passing around of data between them somewhat problematic. To solve this problem, threadable data structures (pht\HashTable, pht\Vector, and pht\Queue) have been implemented to allow for a two-way communication style between threads, where they expose mutex locks to control their integrity. These data structures can be safely passed around between threads, and manipulated by multiple threads using the mutex locks that have been packed in with them. They are reference-counted across threads, and so they do not need to be explicitly destroyed. This approach to threading means that only the given built-in data structures need to be safely passed around between threads.

Atomic values are also supported by pht. Currently, only an pht\AtomicInteger class exists. Like the threaded data structures, it too can safely be passed around between threads.


Dependências

pht requires a ZTS (Zend Thread Safety) version of PHP. Currently, only PHP 7.2 is supported. Support for PHP 7.3 (which will be released at the end of 2018) will be coming soon. PHP 7.0 and 7.1 are unsafe to support, due to race conditions in ZTS mode.

pht should be compatible for any OS with the pthread library (or pthread-win32 library, which is for Windows).


Instalação

pht releases are hosted (along with its source code) on the » pht GitHub repository. Unix developers will need to build from source (» instructions here). Windows developers can download the appropriate .dll file from the » repository's releases page. They will need to ensure that the provided pthreadVC2.dll file (which is distributed alongside the extension's .dll file) is made available in their PATH environment variable.


  • « Instalação
  • pht\Thread »
  • PHP Manual
  • Instalação/Configuração
  • Configurações em Execução

Configurações em Execução

Esta extensão não possui diretivas de configuração definíveis no php.ini.


The Thread class

(PECL pht >= 0.0.1)

Introdução

The pht\Thread class abstracts away a native thread. It has an internal task queue, where the methods pht\Thread::addClassTask(), pht\Thread::addFunctionTask(), and pht\Thread::addFileTask() push new tasks onto this queue. Invoking the pht\Thread::start() method will cause the new thread to be spawned, where it will then begin working through the task queue. A thread may be reused for any number of tasks.

Sinopse da classe

pht\Thread {
/* Métodos */
public addClassTask ( string $className , mixed ...$ctorArgs ) : void
public addFileTask ( string $fileName , mixed ...$globals ) : void
public addFunctionTask ( callable $func , mixed ...$funcArgs ) : void
public join ( ) : void
public start ( ) : void
public taskCount ( ) : int
}

Índice

  • pht\Thread::addClassTask — Class threading
  • pht\Thread::addFileTask — File threading
  • pht\Thread::addFunctionTask — Function threading
  • pht\Thread::join — Joins a thread
  • pht\Thread::start — Starts the new thread
  • pht\Thread::taskCount — Gets a thread's task count


Class threading

  • « pht\Thread
  • pht\Thread::addFileTask »
  • PHP Manual
  • pht\Thread
  • Class threading

pht\Thread::addClassTask

(PECL pht >= 0.0.1)

pht\Thread::addClassTask — Class threading

Descrição

public pht\Thread::addClassTask ( string $className , mixed ...$ctorArgs ) : void

Adds a new class task to a pht\Threads internal task queue.

Parâmetros

className

The name of the class to be threaded. This class must implement the pht\Runnable interface.

ctorArgs

An optional list of arguments for the threaded class' constructor. These arguments will be serialised (since they are being passed to another thread).

Valor Retornado

No return value.

Exemplos

Exemplo #1 Adding a new class task to a thread

<?php

use pht\{Thread, Runnable};

class Task implements Runnable
{
    private $one;

    public function __construct(int $one)
    {
        $this->one = $one;
    }

    public function run()
    {
        var_dump($this->one);
    }
}

$thread = new Thread();

$thread->addClassTask(Task::class, 1);

$thread->start();
$thread->join();

O exemplo acima irá imprimir:

int(1)


File threading

  • « pht\Thread::addClassTask
  • pht\Thread::addFunctionTask »
  • PHP Manual
  • pht\Thread
  • File threading

pht\Thread::addFileTask

(PECL pht >= 0.0.1)

pht\Thread::addFileTask — File threading

Descrição

public pht\Thread::addFileTask ( string $fileName , mixed ...$globals ) : void

Adds a new file task to a pht\Threads internal task queue.

Parâmetros

func

The name of the file to be threaded.

globals

An optional list of arguments for the file. These arguments will be placed into a $_THREAD superglobal, which will be made available inside of the threaded file. All arguments will be serialised (since they are being passed to another thread).

Valor Retornado

No return value.

Exemplos

Exemplo #1 Adding a new file task to a thread

<?php

use pht\Thread;

$thread = new Thread();

$thread->addFileTask('file.php', 1, 2, 3);

$thread->start();
$thread->join();

file.php:

<?php

[$one, $two, $three] = $_THREAD;

var_dump($one, $two, $three);

O exemplo acima irá imprimir:

int(1)
int(2)
int(3)


Function threading

  • « pht\Thread::addFileTask
  • pht\Thread::join »
  • PHP Manual
  • pht\Thread
  • Function threading

pht\Thread::addFunctionTask

(PECL pht >= 0.0.1)

pht\Thread::addFunctionTask — Function threading

Descrição

public pht\Thread::addFunctionTask ( callable $func , mixed ...$funcArgs ) : void

Adds a new function task to a pht\Threads internal task queue.

Parâmetros

func

The function to be threaded. If it is bound to an instance, then $this will become null.

funcArgs

An optional list of arguments for the function. These arguments will be serialised (since they are being passed to another thread).

Valor Retornado

No return value.

Exemplos

Exemplo #1 Adding a new function task to a thread

<?php

use pht\Thread;

class Test
{
    public static function run(){var_dump(5);}
    public static function run2(){var_dump(6);}
}

function aFunc(){var_dump(3);}

$thread = new Thread();

$thread->addFunctionTask(static function($one) {var_dump($one);}, 1);
$thread->addFunctionTask(function() {var_dump(2);});
$thread->addFunctionTask('aFunc');
$thread->addFunctionTask('array_map', function ($n) {var_dump($n);}, [4]);
$thread->addFunctionTask(['Test', 'run']);
$thread->addFunctionTask([new Test, 'run2']);

$thread->start();
$thread->join();

O exemplo acima irá imprimir:

int(1)
int(2)
int(3)
int(4)
int(5)
int(6)


Joins a thread

  • « pht\Thread::addFunctionTask
  • pht\Thread::start »
  • PHP Manual
  • pht\Thread
  • Joins a thread

pht\Thread::join

(PECL pht >= 0.0.1)

pht\Thread::join — Joins a thread

Descrição

public pht\Thread::join ( ) : void

This method will join the spawned thread (though it will first wait for that thread's internal task queue to finish). As a matter of good practice, threads should always be joined. Not joining a thread may lead to undefined behaviour.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Joining a thread

<?php

use pht\Thread;

$thread = new Thread();

$thread->start();
$thread->join();


Starts the new thread

  • « pht\Thread::join
  • pht\Thread::taskCount »
  • PHP Manual
  • pht\Thread
  • Starts the new thread

pht\Thread::start

(PECL pht >= 0.0.1)

pht\Thread::start — Starts the new thread

Descrição

public pht\Thread::start ( ) : void

This will cause a new thread to be spawned for the associated pht\Thread object, where its internal task queue will begin to be processed.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Starting a new thread

<?php

use pht\Thread;

$thread = new Thread();

$thread->start();
$thread->join();


Gets a thread's task count

  • « pht\Thread::start
  • pht\Runnable »
  • PHP Manual
  • pht\Thread
  • Gets a thread's task count

pht\Thread::taskCount

(PECL pht >= 0.0.1)

pht\Thread::taskCount — Gets a thread's task count

Descrição

public pht\Thread::taskCount ( ) : int

Retrieves the current task count of a pht\Thread.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of tasks remaining to be processed.

Exemplos

Exemplo #1 Getting the task count of a thread

<?php

use pht\Thread;

$thread = new Thread();

$thread->addFunctionTask(function (){});
$thread->addFunctionTask(function (){});
$thread->addFunctionTask(function (){});

var_dump($thread->taskCount());

O exemplo acima irá imprimir:

int(3)


The Runnable interface

(PECL pht >= 0.0.1)

Introdução

The pht\Runnable interface enforces the implementation of a run() method on classes that should be threaded. This method acts as the entry point of the threaded class.

Resumo da Interface

pht\Runnable {
/* Métodos */
public run ( ) : void
}

Índice

  • pht\Runnable::run — The entry point of a threaded class


The entry point of a threaded class

  • « pht\Runnable
  • pht\HashTable »
  • PHP Manual
  • pht\Runnable
  • The entry point of a threaded class

pht\Runnable::run

(PECL pht >= 0.0.1)

pht\Runnable::run — The entry point of a threaded class

Descrição

public pht\Runnable::run ( ) : void

This method acts as the entry point of execution for a threaded class. It must be defined by all classes that will be threaded.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.


The HashTable class

(PECL pht >= 0.0.1)

Introdução

The pht\HashTable class is one of the Inter-Thread Communication (ITC) data structures exposed by pht. It can be safely passed around between threads, and manipulated by multiple threads using the mutex locks that have been packed in with the data structure. It is reference-counted across threads, and so it does not need to be explicitly destroyed.

The pht\HashTable class enables for array access upon its objects (along with the isset() and unset() functions). The ArrayAccess interface is not explicitly implemented, however, because it is only needed for such abilities by userland classes.

Sinopse da classe

pht\HashTable implements pht\Threaded {
/* Métodos */
public lock ( ) : void
public size ( ) : int
public unlock ( ) : void
}

Índice

  • pht\HashTable::lock — Acquires the hash table's mutex lock
  • pht\HashTable::size — Gets the size of the hash table
  • pht\HashTable::unlock — Releases the hash table's mutex lock


Acquires the hash table's mutex lock

  • « pht\HashTable
  • pht\HashTable::size »
  • PHP Manual
  • pht\HashTable
  • Acquires the hash table's mutex lock

pht\HashTable::lock

(PECL pht >= 0.0.1)

pht\HashTable::lock — Acquires the hash table's mutex lock

Descrição

public pht\HashTable::lock ( ) : void

This method will acquire the mutex lock associated with the hash table. The mutex lock should always be acquired when manipulating the hash table if it is being used by multiple threads.

The mutex locks of the Inter-Thread Communication (ITC) data structures are not reentrant. Attempting to reacquire an already-acquired mutex lock by the same thread will therefore cause a deadlock.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Locking a hash table's mutex lock

<?php

use pht\{Thread, HashTable};

$thread = new Thread();
$hashTable = new HashTable();

$thread->addFunctionTask(function ($hashTable) {
    $hashTable->lock();
    $hashTable['a'] = 1;
    $hashTable->unlock();
}, $hashTable);

$thread->start();

// $hashTable is currently being used by multiple threads
$hashTable->lock();
$hashTable['b'] = 2;
$hashTable->unlock();

$thread->join();


Gets the size of the hash table

  • « pht\HashTable::lock
  • pht\HashTable::unlock »
  • PHP Manual
  • pht\HashTable
  • Gets the size of the hash table

pht\HashTable::size

(PECL pht >= 0.0.1)

pht\HashTable::size — Gets the size of the hash table

Descrição

public pht\HashTable::size ( ) : int

Returns the current size of the hash table. This operation requires a pht\HashTable's mutex lock to be held if it is being used by multiple threads.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The size of the hash table.

Exemplos

Exemplo #1 Getting a hash table's size

<?php

use pht\HashTable;

$hashTable = new HashTable();

$hashTable['a'] = 1;
$hashTable['b'] = 2;

var_dump($hashTable->size());

O exemplo acima irá imprimir:

int(2)


Releases the hash table's mutex lock

  • « pht\HashTable::size
  • pht\Vector »
  • PHP Manual
  • pht\HashTable
  • Releases the hash table's mutex lock

pht\HashTable::unlock

(PECL pht >= 0.0.1)

pht\HashTable::unlock — Releases the hash table's mutex lock

Descrição

public pht\HashTable::unlock ( ) : void

This method will release the mutex lock associated with the hash table.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Locking a hash table's mutex lock

<?php

use pht\{Thread, HashTable};

$thread = new Thread();
$hashTable = new HashTable();

$thread->addFunctionTask(function ($hashTable) {
    $hashTable->lock();
    $hashTable['a'] = 1;
    $hashTable->unlock();
}, $hashTable);

$thread->start();

// $hashTable is currently being used by multiple threads
$hashTable->lock();
$hashTable['b'] = 2;
$hashTable->unlock();

$thread->join();


The Vector class

(PECL pht >= 0.0.1)

Introdução

The pht\Vector class is one of the Inter-Thread Communication (ITC) data structures exposed by pht. It can be safely passed around between threads, and manipulated by multiple threads using the mutex locks that have been packed in with the data structure. It is reference-counted across threads, and so is does not need to be explicitly destroyed.

The pht\Vector class enables for array access upon its objects (along with the isset() and unset() functions). The ArrayAccess interface is not explicitly implemented, however, because it is only needed for such abilities by userland classes.

Sinopse da classe

pht\Vector implements pht\Threaded {
/* Métodos */
public __construct ( int $size = 0 , mixed $value = 0 ) : Vector
public deleteAt ( int $offset ) : void
public insertAt ( mixed $value , int $offset ) : void
public lock ( ) : void
public pop ( ) : mixed
public push ( mixed $value ) : void
public resize ( int $size , mixed $value = 0 ) : void
public shift ( ) : mixed
public size ( ) : int
public unlock ( ) : void
public unshift ( mixed $value ) : void
public updateAt ( mixed $value , int $offset ) : void
}

Índice

  • pht\Vector::__construct — Vector creation
  • pht\Vector::deleteAt — Deletes a value in the vector
  • pht\Vector::insertAt — Inserts a value into the vector
  • pht\Vector::lock — Acquires the vector's mutex lock
  • pht\Vector::pop — Pops a value to the vector
  • pht\Vector::push — Pushes a value to the vector
  • pht\Vector::resize — Resizes a vector
  • pht\Vector::shift — Shifts a value from the vector
  • pht\Vector::size — Gets the size of the vector
  • pht\Vector::unlock — Releases the vector's mutex lock
  • pht\Vector::unshift — Unshifts a value to the vector front
  • pht\Vector::updateAt — Updates a value in the vector


Vector creation

  • « pht\Vector
  • pht\Vector::deleteAt »
  • PHP Manual
  • pht\Vector
  • Vector creation

pht\Vector::__construct

(PECL pht >= 0.0.1)

pht\Vector::__construct — Vector creation

Descrição

public pht\Vector::__construct ( int $size = 0 , mixed $value = 0 ) : Vector

Handles the creation of a new vector.

Parâmetros

size

The size of the vector that will be created.

value

The value to initialise the empty slots in the vector to.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Creating a new vector

<?php

use pht\Vector;

$vector1 = new Vector(1);
$vector2 = new Vector(2, 1);

var_dump($vector1, $vector2);

O exemplo acima irá imprimir:

object(pht\Vector)#1 (1) {
  [0]=>
  int(0)
}
object(pht\Vector)#2 (2) {
  [0]=>
  int(1)
  [1]=>
  int(1)
}


Deletes a value in the vector

  • « pht\Vector::__construct
  • pht\Vector::insertAt »
  • PHP Manual
  • pht\Vector
  • Deletes a value in the vector

pht\Vector::deleteAt

(PECL pht >= 0.0.1)

pht\Vector::deleteAt — Deletes a value in the vector

Descrição

public pht\Vector::deleteAt ( int $offset ) : void

This method deletes a value at the specified offset in the vector (in linear time).

Since the pht\Vector class supports array access, deleting values can also be performed using the array subset notation ([]) in combination with the unset() function.

Parâmetros

offset

The offset at which the value will be deleted at. This offset must be within the 0..(N-1) range (inclusive), where N is the size of the vector. Attempting to delete at offsets outside of this range will result in an Error exception.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Deleting values in a vector

<?php

use pht\Vector;

$vector = new Vector();

$vector[] = 1;
$vector[] = 2;
$vector[] = 3;
$vector[] = 4;

$vector->deleteAt(1);
unset($vector[1]);

var_dump($vector);

O exemplo acima irá imprimir:

object(pht\Vector)#1 (2) {
  [0]=>
  int(1)
  [1]=>
  int(4)
}


Inserts a value into the vector

  • « pht\Vector::deleteAt
  • pht\Vector::lock »
  • PHP Manual
  • pht\Vector
  • Inserts a value into the vector

pht\Vector::insertAt

(PECL pht >= 0.0.1)

pht\Vector::insertAt — Inserts a value into the vector

Descrição

public pht\Vector::insertAt ( mixed $value , int $offset ) : void

This method inserts a value at the specified offset into the vector (in linear time). The vector will automatically be resized if it is not large enough.

Parâmetros

value

The value to be inserted into the vector. This value will be serialised (since it may be passed around between threads).

offset

The offset at which the value will be inserted at. This offset must be within the 0..N range (inclusive), where N is the size of the vector. Inserting at position N is the equivalent of using pht\Vector::push(), and inserting at position 0 is the equivalent of using pht\Vector::unshift(). Attempting to insert at offsets outside of this range will result in an Error exception.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Inserting a value into a vector

<?php

use pht\Vector;

$vector = new Vector();

$vector->insertAt(3, 0); // insert 3 at start
$vector->insertAt(1, 0); // insert 1 at start (before 3)
$vector->insertAt(2, 1); // insert 2 in middle (after 1 and before 3)

var_dump($vector);

O exemplo acima irá imprimir:

object(pht\Vector)#1 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Acquires the vector's mutex lock

  • « pht\Vector::insertAt
  • pht\Vector::pop »
  • PHP Manual
  • pht\Vector
  • Acquires the vector's mutex lock

pht\Vector::lock

(PECL pht >= 0.0.1)

pht\Vector::lock — Acquires the vector's mutex lock

Descrição

public pht\Vector::lock ( ) : void

This method will acquire the mutex lock associated with the vector. The mutex lock should always be acquired when manipulating the vector if it is being used by multiple threads.

The mutex locks of the Inter-Thread Communication (ITC) data structures are not reentrant. Attempting to reacquire an already-acquired mutex lock by the same thread will therefore cause a deadlock.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Locking a vector's mutex lock

<?php

use pht\{Thread, Vector};

$thread = new Thread();
$vector = new Vector();

$thread->addFunctionTask(function ($vector) {
    $vector->lock();
    $vector[] = 1;
    $vector->unlock();
}, $vector);

$thread->start();

// $vector is currently being used by multiple threads
$vector->lock();
$vector[] = 2;
$vector->unlock();

$thread->join();


Pops a value to the vector

  • « pht\Vector::lock
  • pht\Vector::push »
  • PHP Manual
  • pht\Vector
  • Pops a value to the vector

pht\Vector::pop

(PECL pht >= 0.0.1)

pht\Vector::pop — Pops a value to the vector

Descrição

public pht\Vector::pop ( ) : mixed

This method pops a value from the end of a vector (in constant time). Popping a value from an empty vector will result in an Error exception.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value from the end of the vector.

Exemplos

Exemplo #1 Popping a value from a vector

<?php

use pht\Vector;

$vector = new Vector();

$vector->push(1);
$vector[] = 2;

var_dump($vector->pop());

O exemplo acima irá imprimir:

int(2)


Pushes a value to the vector

  • « pht\Vector::pop
  • pht\Vector::resize »
  • PHP Manual
  • pht\Vector
  • Pushes a value to the vector

pht\Vector::push

(PECL pht >= 0.0.1)

pht\Vector::push — Pushes a value to the vector

Descrição

public pht\Vector::push ( mixed $value ) : void

This method pushes a value onto the end of a vector (in constant time). The vector will automatically be resized if it is not large enough.

Since the pht\Vector class supports array access, new values can also be pushed onto the vector using the empty subset notation ([]).

Parâmetros

value

The value to be pushed onto the end of the vector. This value will be serialised (since it may be passed around between threads).

Valor Retornado

No return value.

Exemplos

Exemplo #1 Pushing values to a vector

<?php

use pht\Vector;

$vector = new Vector();

$vector->push(1);
$vector[] = 2;

var_dump($vector);

O exemplo acima irá imprimir:

object(pht\Vector)#1 (2) {
  [0]=>
  int(1)
  [1]=>
  int(2)
}


Resizes a vector

  • « pht\Vector::push
  • pht\Vector::shift »
  • PHP Manual
  • pht\Vector
  • Resizes a vector

pht\Vector::resize

(PECL pht >= 0.0.1)

pht\Vector::resize — Resizes a vector

Descrição

public pht\Vector::resize ( int $size , mixed $value = 0 ) : void

Resizes the vector. If it is enlarged, then the value parameter will be used to fill in the new slots. If it is made smaller, then the end values will be truncated.

Parâmetros

size

The new size of the vector.

value

The value to initialise the empty vector slots to (only used if the vector is enlarged).

Valor Retornado

No return value.

Exemplos

Exemplo #1 Resizing a vector

<?php

use pht\Vector;

$vector = new Vector(1);
var_dump($vector);
$vector->resize(2, 1);
var_dump($vector);
$vector->resize(1, 2); // unused second arg
var_dump($vector);

O exemplo acima irá imprimir:

object(pht\Vector)#1 (1) {
  [0]=>
  int(0)
}
object(pht\Vector)#1 (2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
object(pht\Vector)#1 (1) {
  [0]=>
  int(0)
}


Shifts a value from the vector

  • « pht\Vector::resize
  • pht\Vector::size »
  • PHP Manual
  • pht\Vector
  • Shifts a value from the vector

pht\Vector::shift

(PECL pht >= 0.0.1)

pht\Vector::shift — Shifts a value from the vector

Descrição

public pht\Vector::shift ( ) : mixed

This method shifts a value from the front of a vector (in linear time). Shifting a value from an empty vector will result in an Error exception.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value from the front of the vector.

Exemplos

Exemplo #1 Shifting a value from a vector

<?php

use pht\Vector;

$vector = new Vector();

$vector->push(1);
$vector[] = 2;

var_dump($vector->shift());

O exemplo acima irá imprimir:

int(1)


Gets the size of the vector

  • « pht\Vector::shift
  • pht\Vector::unlock »
  • PHP Manual
  • pht\Vector
  • Gets the size of the vector

pht\Vector::size

(PECL pht >= 0.0.1)

pht\Vector::size — Gets the size of the vector

Descrição

public pht\Vector::size ( ) : int

Returns the current size of the vector. This operation requires a pht\Vector's mutex lock to be held if it is being used by multiple threads.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The size of the vector.

Exemplos

Exemplo #1 Getting a vector's size

<?php

use pht\Vector;

$vector = new Vector();

$vector[] = 1;
$vector[] = 2;
$vector[] = 3;

var_dump($vector->size());

O exemplo acima irá imprimir:

int(3)


Releases the vector's mutex lock

  • « pht\Vector::size
  • pht\Vector::unshift »
  • PHP Manual
  • pht\Vector
  • Releases the vector's mutex lock

pht\Vector::unlock

(PECL pht >= 0.0.1)

pht\Vector::unlock — Releases the vector's mutex lock

Descrição

public pht\Vector::unlock ( ) : void

This method will release the mutex lock associated with the vector.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Locking a vector's mutex lock

<?php

use pht\{Thread, Vector};

$thread = new Thread();
$vector = new Vector();

$thread->addFunctionTask(function ($vector) {
    $vector->lock();
    $vector[] = 1;
    $vector->unlock();
}, $vector);

$thread->start();

// $vector is currently being used by multiple threads
$vector->lock();
$vector[] = 2;
$vector->unlock();

$thread->join();


Unshifts a value to the vector front

  • « pht\Vector::unlock
  • pht\Vector::updateAt »
  • PHP Manual
  • pht\Vector
  • Unshifts a value to the vector front

pht\Vector::unshift

(PECL pht >= 0.0.1)

pht\Vector::unshift — Unshifts a value to the vector front

Descrição

public pht\Vector::unshift ( mixed $value ) : void

This method unshifts a value to the front of a vector (in linear time). The vector will automatically be resized if it is not large enough.

Parâmetros

value

The value to be pushed onto the beginning of the vector. This value will be serialised (since it may be passed around between threads).

Valor Retornado

No return value.

Exemplos

Exemplo #1 Unshifting a value to the front of a vector

<?php

use pht\Vector;

$vector = new Vector();

for ($i = 0; $i < 3; ++$i) {
    $vector->unshift($i); // causes a quadratic runtime, beware
}

var_dump($vector);

O exemplo acima irá imprimir:

object(pht\Vector)#1 (3) {
  [0]=>
  int(2)
  [1]=>
  int(1)
  [2]=>
  int(0)
}


Updates a value in the vector

  • « pht\Vector::unshift
  • pht\Queue »
  • PHP Manual
  • pht\Vector
  • Updates a value in the vector

pht\Vector::updateAt

(PECL pht >= 0.0.1)

pht\Vector::updateAt — Updates a value in the vector

Descrição

public pht\Vector::updateAt ( mixed $value , int $offset ) : void

This method updates a value at the specified offset in the vector (in linear time). The vector will automatically be resized if it is not large enough.

Since the pht\Vector class supports array access, updating values can also be performed using the array subset notation ([]).

Parâmetros

value

The value to be inserted into the vector. This value will be serialised (since it may be passed around between threads).

offset

The offset at which the value will be updated at. This offset must be within the 0..(N-1) range (inclusive), where N is the size of the vector. Attempting to update at offsets outside of this range will result in an Error exception.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Updating a value in a vector

<?php

use pht\Vector;

$vector = new Vector();

$vector[] = 1;
$vector[] = 2;

$vector->updateAt(3, 0);
$vector[1] = 4;

var_dump($vector);

O exemplo acima irá imprimir:

object(pht\Vector)#1 (2) {
  [0]=>
  int(3)
  [1]=>
  int(4)
}


The Queue class

(PECL pht >= 0.0.1)

Introdução

The pht\Queue class is one of the Inter-Thread Communication (ITC) data structures exposed by pht. It can be safely passed around between threads, and manipulated by multiple threads using the mutex locks that have been packed in with the data structure. It is reference-counted across threads, and so it does not need to be explicitly destroyed.

Sinopse da classe

pht\Queue implements pht\Threaded {
/* Métodos */
public front ( ) : mixed
public lock ( ) : void
public pop ( ) : mixed
public push ( mixed $value ) : void
public size ( ) : int
public unlock ( ) : void
}

Índice

  • pht\Queue::front — Returns the first value from a queue
  • pht\Queue::lock — Acquires the queue's mutex lock
  • pht\Queue::pop — Pops a value off of the front of a queue
  • pht\Queue::push — Pushes a value to the end of a queue
  • pht\Queue::size — Gets the size of the queue
  • pht\Queue::unlock — Releases the queue's mutex lock


Returns the first value from a queue

  • « pht\Queue
  • pht\Queue::lock »
  • PHP Manual
  • pht\Queue
  • Returns the first value from a queue

pht\Queue::front

(PECL pht >= 0.0.1)

pht\Queue::front — Returns the first value from a queue

Descrição

public pht\Queue::front ( ) : mixed

This method will remove a value from the front of the queue (in constant time). Attempting to return the front value from an empty queue will result in an Error exception.

Cuidado

Due to the fact that all values in a pht\Queue are serialised, extracting a value from the queue will require it to be deserialised. This can incur a noticeable performance hit if the inspection of the queue's front value is performed within a loop.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value on the front of the queue.

Exemplos

Exemplo #1 Retrieving the front value of a queue

<?php

use pht\Queue;

$queue = new Queue();

$queue->push(1);

var_dump($queue->front());

O exemplo acima irá imprimir:

int(1)

Exemplo #2 Retrieving the front value in a loop (bad example - don't do this)

<?php

use pht\Queue;

$queue = new Queue();

$queue->push(array_fill(0, 2000, 0));

for ($i = 0; $i < count($queue->front()); ++$i); // quadratic runtime

Exemplo #3 Retrieving the front value in a loop (good example)

<?php

use pht\Queue;

$queue = new Queue();

$queue->push(array_fill(0, 2000, 0));

$front = $queue->front(); // create a separate variable
for ($i = 0; $i < count($front); ++$i); // linear runtime


Acquires the queue's mutex lock

  • « pht\Queue::front
  • pht\Queue::pop »
  • PHP Manual
  • pht\Queue
  • Acquires the queue's mutex lock

pht\Queue::lock

(PECL pht >= 0.0.1)

pht\Queue::lock — Acquires the queue's mutex lock

Descrição

public pht\Queue::lock ( ) : void

This method will acquire the mutex lock associated with the queue. The mutex lock should always be acquired when manipulating the queue if it is being used by multiple threads.

The mutex locks of the Inter-Thread Communication (ITC) data structures are not reentrant. Attempting to reacquire an already-acquired mutex lock by the same thread will therefore cause a deadlock.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Locking a queue's mutex lock

<?php

use pht\{Thread, Queue};

$thread = new Thread();
$queue = new Queue();

$thread->addFunctionTask(function ($queue) {
    $queue->lock();
    $queue->push(1);
    $queue->unlock();
}, $queue);

$thread->start();

// $queue is currently being used by multiple threads
$queue->lock();
$queue->push(1);
$queue->unlock();

$thread->join();

// $queue is only being used in this thread now, so no need to lock it
while ($queue->size()) {
    var_dump($queue->pop());
}

O exemplo acima irá imprimir:

int(1)
int(1)


Pops a value off of the front of a queue

  • « pht\Queue::lock
  • pht\Queue::push »
  • PHP Manual
  • pht\Queue
  • Pops a value off of the front of a queue

pht\Queue::pop

(PECL pht >= 0.0.1)

pht\Queue::pop — Pops a value off of the front of a queue

Descrição

public pht\Queue::pop ( ) : mixed

This method will remove a value from the front of the queue (in constant time). Attempting to pop a value from an empty queue will result in an Error exception.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value removed from the queue.

Exemplos

Exemplo #1 Popping a value from a queue

<?php

use pht\Queue;

$queue = new Queue();

$queue->push(1);

var_dump($queue->pop());

O exemplo acima irá imprimir:

int(1)


Pushes a value to the end of a queue

  • « pht\Queue::pop
  • pht\Queue::size »
  • PHP Manual
  • pht\Queue
  • Pushes a value to the end of a queue

pht\Queue::push

(PECL pht >= 0.0.1)

pht\Queue::push — Pushes a value to the end of a queue

Descrição

public pht\Queue::push ( mixed $value ) : void

This method will add a value onto the queue.

Parâmetros

value

The value to be added to a pht\Queue. This value will be serialised (since it may be passed around between threads).

Valor Retornado

No return value.

Exemplos

Exemplo #1 Pushing a value to a queue

<?php

use pht\Queue;

$queue = new Queue();

$queue->push(1);

var_dump($queue);

O exemplo acima irá imprimir:

object(pht\Queue)#1 (1) {
  [0]=>
  int(1)
}


Gets the size of the queue

  • « pht\Queue::push
  • pht\Queue::unlock »
  • PHP Manual
  • pht\Queue
  • Gets the size of the queue

pht\Queue::size

(PECL pht >= 0.0.1)

pht\Queue::size — Gets the size of the queue

Descrição

public pht\Queue::size ( ) : int

Returns the current size of the queue. This operation requires a pht\Queue's mutex lock to be held if it is being used by multiple threads.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The size of the queue.

Exemplos

Exemplo #1 Getting a queue's size

<?php

use pht\Queue;

$queue = new Queue();

$queue->push(1);
$queue->push(1);

var_dump($queue->size());

O exemplo acima irá imprimir:

int(2)


Releases the queue's mutex lock

  • « pht\Queue::size
  • pht\AtomicInteger »
  • PHP Manual
  • pht\Queue
  • Releases the queue's mutex lock

pht\Queue::unlock

(PECL pht >= 0.0.1)

pht\Queue::unlock — Releases the queue's mutex lock

Descrição

public pht\Queue::unlock ( ) : void

This method will release the mutex lock associated with the queue.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Locking a queue's mutex lock

<?php

use pht\{Thread, Queue};

$thread = new Thread();
$queue = new Queue();

$thread->addFunctionTask(function ($queue) {
    $queue->lock();
    $queue->push(1);
    $queue->unlock();
}, $queue);

$thread->start();

// $queue is currently being used by multiple threads
$queue->lock();
$queue->push(1);
$queue->unlock();

$thread->join();

// $queue is only being used in this thread now, so no need to lock it
while ($queue->size()) {
    var_dump($queue->pop());
}

O exemplo acima irá imprimir:

int(1)
int(1)


The AtomicInteger class

(PECL pht >= 0.0.1)

Introdução

The pht\AtomicInteger class is currently the only supported atomic value. It allows for an integer to be safely passed around between, and manipulated, by multiple threads. The methods exposed by this class do not need mutex locking, since they will acquire the internal mutex lock implicitly. pht\AtomicInteger::lock() and pht\AtomicInteger::unlock() are still exposed, however, for when multiple operations involving the same pht\AtomicInteger object need to be grouped together.

The mutex locks of the atomic values are reentrant safe.

Sinopse da classe

pht\AtomicInteger implements pht\Threaded {
/* Métodos */
public __construct ( int $value = 0 ) : AtomicInteger
public dec ( ) : void
public get ( ) : int
public inc ( ) : void
public lock ( ) : void
public set ( int $value ) : void
public unlock ( ) : void
}

Índice

  • pht\AtomicInteger::__construct — AtomicInteger creation
  • pht\AtomicInteger::dec — Decrements the atomic integer's value by one
  • pht\AtomicInteger::get — Gets the atomic integer's value
  • pht\AtomicInteger::inc — Increments the atomic integer's value by one
  • pht\AtomicInteger::lock — Acquires the atomic integer's mutex lock
  • pht\AtomicInteger::set — Sets the atomic integer's value
  • pht\AtomicInteger::unlock — Releases the atomic integer's mutex lock


AtomicInteger creation

  • « pht\AtomicInteger
  • pht\AtomicInteger::dec »
  • PHP Manual
  • pht\AtomicInteger
  • AtomicInteger creation

pht\AtomicInteger::__construct

(PECL pht >= 0.0.1)

pht\AtomicInteger::__construct — AtomicInteger creation

Descrição

public pht\AtomicInteger::__construct ( int $value = 0 ) : AtomicInteger

Handles the creation of a new atomic integer.

Parâmetros

value

The value to initialise the atomic integer to.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Creating a new atomic integer

<?php

use pht\AtomicInteger;

$atomicInteger = new AtomicInteger(100);

var_dump($atomicInteger->get());

O exemplo acima irá imprimir:

int(100)


Decrements the atomic integer's value by one

  • « pht\AtomicInteger::__construct
  • pht\AtomicInteger::get »
  • PHP Manual
  • pht\AtomicInteger
  • Decrements the atomic integer's value by one

pht\AtomicInteger::dec

(PECL pht >= 0.0.1)

pht\AtomicInteger::dec — Decrements the atomic integer's value by one

Descrição

public pht\AtomicInteger::dec ( ) : void

This method will decrement the atomic integer's value by one. Internally, the mutex lock of the atomic integer will be acquired, and so there is no need to manually acquire it (unless this operation needs to be grouped with other operations on the same atomic integer - see the example in pht\AtomicInteger::lock() for a demonstration of this).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Decrementing an atomic integer's value

<?php

use pht\AtomicInteger;

$atomicInteger = new AtomicInteger();

$atomicInteger->dec();
$atomicInteger->dec();

var_dump($atomicInteger->get());

O exemplo acima irá imprimir:

int(-2)


Gets the atomic integer's value

  • « pht\AtomicInteger::dec
  • pht\AtomicInteger::inc »
  • PHP Manual
  • pht\AtomicInteger
  • Gets the atomic integer's value

pht\AtomicInteger::get

(PECL pht >= 0.0.1)

pht\AtomicInteger::get — Gets the atomic integer's value

Descrição

public pht\AtomicInteger::get ( ) : int

This method will fetch the current value of the atomic integer. Internally, the mutex lock of the atomic integer will be acquired, and so there is no need to manually acquire it (unless this operation needs to be grouped with other operations on the same atomic integer - see the example in pht\AtomicInteger::lock() for a demonstration of this).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current integer value of the atomic integer.

Exemplos

Exemplo #1 Getting an atomic integer's value

<?php

use pht\AtomicInteger;

$atomicInteger = new AtomicInteger(2);

var_dump($atomicInteger->get());

O exemplo acima irá imprimir:

int(2)


Increments the atomic integer's value by one

  • « pht\AtomicInteger::get
  • pht\AtomicInteger::lock »
  • PHP Manual
  • pht\AtomicInteger
  • Increments the atomic integer's value by one

pht\AtomicInteger::inc

(PECL pht >= 0.0.1)

pht\AtomicInteger::inc — Increments the atomic integer's value by one

Descrição

public pht\AtomicInteger::inc ( ) : void

This method will increment the atomic integer's value by one. Internally, the mutex lock of the atomic integer will be acquired, and so there is no need to manually acquire it (unless this operation needs to be grouped with other operations on the same atomic integer - see the example in pht\AtomicInteger::lock() for a demonstration of this).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Incrementing an atomic integer's value

<?php

use pht\AtomicInteger;

$atomicInteger = new AtomicInteger();

$atomicInteger->inc();
$atomicInteger->inc();

var_dump($atomicInteger->get());

O exemplo acima irá imprimir:

int(2)


Acquires the atomic integer's mutex lock

  • « pht\AtomicInteger::inc
  • pht\AtomicInteger::set »
  • PHP Manual
  • pht\AtomicInteger
  • Acquires the atomic integer's mutex lock

pht\AtomicInteger::lock

(PECL pht >= 0.0.1)

pht\AtomicInteger::lock — Acquires the atomic integer's mutex lock

Descrição

public pht\AtomicInteger::lock ( ) : void

This method will acquire the mutex lock associated with the atomic integer. The mutex lock only needs to be acquired when needing to group together multiple operations.

The mutex locks of the atomic values are reentrant safe. It is therefore valid for the same thread to reacquire a mutex lock that it has already acquired.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Grouping together an atomic integer's operations (requiring a mutex lock)

<?php

use pht\AtomicInteger;

$atomicInteger = new AtomicInteger(2);

// assumes $atomicInteger is being used by multiple threads
$atomicInteger->lock();
$atomicInteger->set($atomicInteger->get() * 2); // double the value
$atomicInteger->unlock();

var_dump($atomicInteger->get());

O exemplo acima irá imprimir:

int(4)


Sets the atomic integer's value

  • « pht\AtomicInteger::lock
  • pht\AtomicInteger::unlock »
  • PHP Manual
  • pht\AtomicInteger
  • Sets the atomic integer's value

pht\AtomicInteger::set

(PECL pht >= 0.0.1)

pht\AtomicInteger::set — Sets the atomic integer's value

Descrição

public pht\AtomicInteger::set ( int $value ) : void

This method will set the value of the atomic integer. Internally, the mutex lock of the atomic integer will be acquired, and so there is no need to manually acquire it (unless this operation needs to be grouped with other operations on the same atomic integer - see the example in pht\AtomicInteger::lock() for a demonstration of this).

Parâmetros

value

The value to set the atomic integer to.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Setting an atomic integer's value

<?php

use pht\AtomicInteger;

$atomicInteger = new AtomicInteger();

$atomicInteger->set(20);

var_dump($atomicInteger->get());

O exemplo acima irá imprimir:

int(20)


Releases the atomic integer's mutex lock

  • « pht\AtomicInteger::set
  • pht\Threaded »
  • PHP Manual
  • pht\AtomicInteger
  • Releases the atomic integer's mutex lock

pht\AtomicInteger::unlock

(PECL pht >= 0.0.1)

pht\AtomicInteger::unlock — Releases the atomic integer's mutex lock

Descrição

public pht\AtomicInteger::unlock ( ) : void

This method will release the mutex lock associated with the atomic integer.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.

Exemplos

Exemplo #1 Grouping together an atomic integer's operations (requiring a mutex lock)

<?php

use pht\AtomicInteger;

$atomicInteger = new AtomicInteger(2);

// assumes $atomicInteger is being used by multiple threads
$atomicInteger->lock();
$atomicInteger->set($atomicInteger->get() * 2); // double the value
$atomicInteger->unlock();

var_dump($atomicInteger->get());

O exemplo acima irá imprimir:

int(4)


The Threaded interface

(PECL pht >= 0.0.1)

Introdução

The pht\Threaded interface is an internal interface used by the Inter-Thread Communication (ITC) data structures (pht\HashTable, pht\Queue, and pht\Vector). It allows those data structures to be threaded and ensures that the mutex locking API (pht\Threaded::lock() and pht\Threaded::unlock()) is implemented by each of the ITC data structures. It is not implementable by userland classes (since standalone mutex locks are not exposed).

Resumo da Interface

pht\Threaded {
/* Métodos */
public lock ( ) : void
public unlock ( ) : void
}

Índice

  • pht\Threaded::lock — Acquires the mutex lock
  • pht\Threaded::unlock — Releases the mutex lock


Acquires the mutex lock

  • « pht\Threaded
  • pht\Threaded::unlock »
  • PHP Manual
  • pht\Threaded
  • Acquires the mutex lock

pht\Threaded::lock

(PECL pht >= 0.0.1)

pht\Threaded::lock — Acquires the mutex lock

Descrição

public pht\Threaded::lock ( ) : void

This method will acquire the mutex lock associated with the given class (either a pht\HashTable, pht\Queue, pht\Vector, or pht\AtomicInteger).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.


Releases the mutex lock

  • « pht\Threaded::lock
  • Semaphore »
  • PHP Manual
  • pht\Threaded
  • Releases the mutex lock

pht\Threaded::unlock

(PECL pht >= 0.0.1)

pht\Threaded::unlock — Releases the mutex lock

Descrição

public pht\Threaded::unlock ( ) : void

This method will unlock the mutex lock associated with the given class (either a pht\HashTable, pht\Queue, pht\Vector, or pht\AtomicInteger).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No return value.


Semaphore, Shared Memory and IPC

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Semaphore Funções
    • ftok — Convert a pathname and a project identifier to a System V IPC key
    • msg_get_queue — Create or attach to a message queue
    • msg_queue_exists — Check whether a message queue exists
    • msg_receive — Receive a message from a message queue
    • msg_remove_queue — Destroy a message queue
    • msg_send — Send a message to a message queue
    • msg_set_queue — Set information in the message queue data structure
    • msg_stat_queue — Returns information from the message queue data structure
    • sem_acquire — Acquire a semaphore
    • sem_get — Get a semaphore id
    • sem_release — Release a semaphore
    • sem_remove — Remove a semaphore
    • shm_attach — Creates or open a shared memory segment
    • shm_detach — Disconnects from shared memory segment
    • shm_get_var — Returns a variable from shared memory
    • shm_has_var — Check whether a specific entry exists
    • shm_put_var — Inserts or updates a variable in shared memory
    • shm_remove_var — Removes a variable from shared memory
    • shm_remove — Removes shared memory from Unix systems


Introdução

This module provides wrappers for the System V IPC family of functions. It includes semaphores, shared memory and inter-process messaging (IPC).

Semaphores may be used to provide exclusive access to resources on the current machine, or to limit the number of processes that may simultaneously use a resource.

This module provides also shared memory functions using System V shared memory. Shared memory may be used to provide access to global variables. Different httpd-daemons and even other programs (such as Perl, C, ...) are able to access this data to provide a global data-exchange. Remember, that shared memory is NOT safe against simultaneous access. Use semaphores for synchronization.

Limits of Shared Memory by the Unix OS
SHMMAX | max size of shared memory, normally 131072 bytes
SHMMIN | minimum size of shared memory, normally 1 byte
SHMMNI | max amount of shared memory segments on a system, normally 100
SHMSEG | max amount of shared memory segments per process, normally 6

The messaging functions may be used to send and receive messages to/from other processes. They provide a simple and effective means of exchanging data between processes, without the need for setting up an alternative using Unix domain sockets.

Nota: Esta extensão não está disponível na plataforma Windows.


Instalação

Support for this functions are not enabled by default. To enable System V semaphore support compile PHP with the option --enable-sysvsem. To enable the System V shared memory support compile PHP with the option --enable-sysvshm. To enable the System V messages support compile PHP with the option --enable-sysvmsg.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Semaphore Configuration Options
Nome | Padrão | Modificável | Changelog
sysvshm.init_mem | 10000 | PHP_INI_SYSTEM |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

sysvshm.init_mem int

A default size of the shared memory segment.


Tipos de Recurso

Prior to PHP 8.0.0, this extension defined the resource types sysvmsg queue (System V Message Queue), sysvsem (System V Semaphore) and sysvshm (System V Shared Memory).


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

System V message constants
Constant | Type | Changelog
MSG_IPC_NOWAIT | int |
MSG_EAGAIN | int | As of 5.2.0
MSG_ENOMSG | int | As of 5.2.0
MSG_NOERROR | int |
MSG_EXCEPT | int |


Semaphore Funções

Índice

  • ftok — Convert a pathname and a project identifier to a System V IPC key
  • msg_get_queue — Create or attach to a message queue
  • msg_queue_exists — Check whether a message queue exists
  • msg_receive — Receive a message from a message queue
  • msg_remove_queue — Destroy a message queue
  • msg_send — Send a message to a message queue
  • msg_set_queue — Set information in the message queue data structure
  • msg_stat_queue — Returns information from the message queue data structure
  • sem_acquire — Acquire a semaphore
  • sem_get — Get a semaphore id
  • sem_release — Release a semaphore
  • sem_remove — Remove a semaphore
  • shm_attach — Creates or open a shared memory segment
  • shm_detach — Disconnects from shared memory segment
  • shm_get_var — Returns a variable from shared memory
  • shm_has_var — Check whether a specific entry exists
  • shm_put_var — Inserts or updates a variable in shared memory
  • shm_remove_var — Removes a variable from shared memory
  • shm_remove — Removes shared memory from Unix systems


Convert a pathname and a project identifier to a System V IPC key

  • « Semaphore Funções
  • msg_get_queue »
  • PHP Manual
  • Semaphore Funções
  • Convert a pathname and a project identifier to a System V IPC key

ftok

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ftok — Convert a pathname and a project identifier to a System V IPC key

Descrição

ftok ( string $filename , string $project_id ) : int

The function converts the filename of an existing accessible file and a project identifier into an integer for use with for example shmop_open() and other System V IPC keys.

Parâmetros

filename

Path to an accessible file.

project_id

Project identifier. This must be a one character string.

Valor Retornado

On success the return value will be the created key value, otherwise -1 is returned.

Veja Também

  • shmop_open() - Cria ou abre um bloco de memória compartilhada
  • sem_get() - Get a semaphore id


Create or attach to a message queue

  • « ftok
  • msg_queue_exists »
  • PHP Manual
  • Semaphore Funções
  • Create or attach to a message queue

msg_get_queue

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

msg_get_queue — Create or attach to a message queue

Descrição

msg_get_queue ( int $key , int $permissions = 0666 ) : SysvMessageQueue|false

msg_get_queue() returns an id that can be used to access the System V message queue with the given key. The first call creates the message queue with the optional permissions. A second call to msg_get_queue() for the same key will return a different message queue identifier, but both identifiers access the same underlying message queue.

Parâmetros

key

Message queue numeric ID

permissions

Queue permissions. Default to 0666. If the message queue already exists, the permissions will be ignored.

Valor Retornado

Returns SysvMessageQueue instance that can be used to access the System V message queue, ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns a SysvMessageQueue instance now; previously, a resource was returned.

Veja Também

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_send() - Send a message to a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_set_queue() - Set information in the message queue data structure


Check whether a message queue exists

  • « msg_get_queue
  • msg_receive »
  • PHP Manual
  • Semaphore Funções
  • Check whether a message queue exists

msg_queue_exists

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

msg_queue_exists — Check whether a message queue exists

Descrição

msg_queue_exists ( int $key ) : bool

Checks whether the message queue key exists.

Parâmetros

key

Queue key.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Returns information from the message queue data structure


Receive a message from a message queue

  • « msg_queue_exists
  • msg_remove_queue »
  • PHP Manual
  • Semaphore Funções
  • Receive a message from a message queue

msg_receive

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

msg_receive — Receive a message from a message queue

Descrição

msg_receive ( SysvMessageQueue $queue , int $desired_message_type , int &$received_message_type , int $max_message_size , mixed &$message , bool $unserialize = true , int $flags = 0 , int &$error_code = null ) : bool

msg_receive() will receive the first message from the specified queue of the type specified by desired_message_type.

Parâmetros

queue

The message queue.

desired_message_type

If desired_message_type is 0, the message from the front of the queue is returned. If desired_message_type is greater than 0, then the first message of that type is returned. If desired_message_type is less than 0, the first message on the queue with a type less than or equal to the absolute value of desired_message_type will be read. If no messages match the criteria, your script will wait until a suitable message arrives on the queue. You can prevent the script from blocking by specifying MSG_IPC_NOWAIT in the flags parameter.

received_message_type

The type of the message that was received will be stored in this parameter.

max_message_size

The maximum size of message to be accepted is specified by the max_message_size; if the message in the queue is larger than this size the function will fail (unless you set flags as described below).

message

The received message will be stored in message, unless there were errors receiving the message.

unserialize

If set to true, the message is treated as though it was serialized using the same mechanism as the session module. The message will be unserialized and then returned to your script. This allows you to easily receive arrays or complex object structures from other PHP scripts, or if you are using the WDDX serializer, from any WDDX compatible source.

If unserialize is false, the message will be returned as a binary-safe string.

flags

The optional flags allows you to pass flags to the low-level msgrcv system call. It defaults to 0, but you may specify one or more of the following values (by adding or ORing them together).

Flag values for msg_receive
MSG_IPC_NOWAIT | If there are no messages of the desired_message_type, return immediately and do not wait. The function will fail and return an integer value corresponding to MSG_ENOMSG.
MSG_EXCEPT | Using this flag in combination with a desired_message_type greater than 0 will cause the function to receive the first message that is not equal to desired_message_type.
MSG_NOERROR | If the message is longer than max_message_size, setting this flag will truncate the message to max_message_size and will not signal an error.

error_code

If the function fails, the optional error_code will be set to the value of the system errno variable.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Upon successful completion the message queue data structure is updated as follows: msg_lrpid is set to the process-ID of the calling process, msg_qnum is decremented by 1 and msg_rtime is set to the current time.

Changelog

Versão | Descrição
8.0.0 | queue expects a SysvMessageQueue instance now; previously, a resource was expected.

Veja Também

  • msg_remove_queue() - Destroy a message queue
  • msg_send() - Send a message to a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_set_queue() - Set information in the message queue data structure


Destroy a message queue

  • « msg_receive
  • msg_send »
  • PHP Manual
  • Semaphore Funções
  • Destroy a message queue

msg_remove_queue

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

msg_remove_queue — Destroy a message queue

Descrição

msg_remove_queue ( SysvMessageQueue $queue ) : bool

msg_remove_queue() destroys the message queue specified by the queue. Only use this function when all processes have finished working with the message queue and you need to release the system resources held by it.

Parâmetros

queue

The message queue.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | queue expects a SysvMessageQueue instance now; previously, a resource was expected.

Veja Também

  • msg_get_queue() - Create or attach to a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_set_queue() - Set information in the message queue data structure


Send a message to a message queue

  • « msg_remove_queue
  • msg_set_queue »
  • PHP Manual
  • Semaphore Funções
  • Send a message to a message queue

msg_send

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

msg_send — Send a message to a message queue

Descrição

msg_send ( SysvMessageQueue $queue , int $message_type , string|int|float|bool $message , bool $serialize = true , bool $blocking = true , int &$error_code = null ) : bool

msg_send() sends a message of type message_type (which MUST be greater than 0) to the message queue specified by queue.

Parâmetros

queue

The message queue.

message_type

The type of the message (MUST be greater than 0)

message

The body of the message.

Nota:

If serialize set to false is supplied, MUST be of type: string, int, float or bool. In other case a warning will be issued.

serialize

The optional serialize controls how the message is sent. serialize defaults to true which means that the message is serialized using the same mechanism as the session module before being sent to the queue. This allows complex arrays and objects to be sent to other PHP scripts, or if you are using the WDDX serializer, to any WDDX compatible client.

blocking

If the message is too large to fit in the queue, your script will wait until another process reads messages from the queue and frees enough space for your message to be sent. This is called blocking; you can prevent blocking by setting the optional blocking parameter to false, in which case msg_send() will immediately return false if the message is too big for the queue, and set the optional error_code to MSG_EAGAIN, indicating that you should try to send your message again a little later on.

error_code

If the function fails, the optional errorcode will be set to the value of the system errno variable.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Upon successful completion the message queue data structure is updated as follows: msg_lspid is set to the process-ID of the calling process, msg_qnum is incremented by 1 and msg_stime is set to the current time.

Changelog

Versão | Descrição
8.0.0 | queue expects a SysvMessageQueue instance now; previously, a resource was expected.

Veja Também

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_set_queue() - Set information in the message queue data structure


Set information in the message queue data structure

  • « msg_send
  • msg_stat_queue »
  • PHP Manual
  • Semaphore Funções
  • Set information in the message queue data structure

msg_set_queue

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

msg_set_queue — Set information in the message queue data structure

Descrição

msg_set_queue ( SysvMessageQueue $queue , array $data ) : bool

msg_set_queue() allows you to change the values of the msg_perm.uid, msg_perm.gid, msg_perm.mode and msg_qbytes fields of the underlying message queue data structure.

Changing the data structure will require that PHP be running as the same user that created the queue, owns the queue (as determined by the existing msg_perm.xxx fields), or be running with root privileges. root privileges are required to raise the msg_qbytes values above the system defined limit.

Parâmetros

queue

The message queue.

data

You specify the values you require by setting the value of the keys that you require in the data array.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | queue expects a SysvMessageQueue instance now; previously, a resource was expected.

Veja Também

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_get_queue() - Create or attach to a message queue


Returns information from the message queue data structure

  • « msg_set_queue
  • sem_acquire »
  • PHP Manual
  • Semaphore Funções
  • Returns information from the message queue data structure

msg_stat_queue

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

msg_stat_queue — Returns information from the message queue data structure

Descrição

msg_stat_queue ( SysvMessageQueue $queue ) : array|false

msg_stat_queue() returns the message queue meta data for the message queue specified by the queue. This is useful, for example, to determine which process sent the message that was just received.

Parâmetros

queue

The message queue.

Valor Retornado

On success, the return value is an array whose keys and values have the following meanings:

Array structure for msg_stat_queue
msg_perm.uid | The uid of the owner of the queue.
msg_perm.gid | The gid of the owner of the queue.
msg_perm.mode | The file access mode of the queue.
msg_stime | The time that the last message was sent to the queue.
msg_rtime | The time that the last message was received from the queue.
msg_ctime | The time that the queue was last changed.
msg_qnum | The number of messages waiting to be read from the queue.
msg_qbytes | The maximum number of bytes allowed in one message queue. On Linux, this value may be read and modified via /proc/sys/kernel/msgmnb.
msg_lspid | The pid of the process that sent the last message to the queue.
msg_lrpid | The pid of the process that received the last message from the queue.

Returns false on failure.

Changelog

Versão | Descrição
8.0.0 | queue expects a SysvMessageQueue instance now; previously, a resource was expected.

Veja Também

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_get_queue() - Create or attach to a message queue
  • msg_set_queue() - Set information in the message queue data structure


Acquire a semaphore

  • « msg_stat_queue
  • sem_get »
  • PHP Manual
  • Semaphore Funções
  • Acquire a semaphore

sem_acquire

(PHP 4, PHP 5, PHP 7, PHP 8)

sem_acquire — Acquire a semaphore

Descrição

sem_acquire ( SysvSemaphore $semaphore , bool $non_blocking = false ) : bool

sem_acquire() by default blocks (if necessary) until the semaphore can be acquired. A process attempting to acquire a semaphore which it has already acquired will block forever if acquiring the semaphore would cause its maximum number of semaphore to be exceeded.

After processing a request, any semaphores acquired by the process but not explicitly released will be released automatically and a warning will be generated.

Parâmetros

semaphore

semaphore is a semaphore obtained from sem_get().

non_blocking

Specifies if the process shouldn't wait for the semaphore to be acquired. If set to true, the call will return false immediately if a semaphore cannot be immediately acquired.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | semaphore expects a SysvSemaphore instance now; previously, a resource was expected.

Veja Também

  • sem_get() - Get a semaphore id
  • sem_release() - Release a semaphore


Get a semaphore id

  • « sem_acquire
  • sem_release »
  • PHP Manual
  • Semaphore Funções
  • Get a semaphore id

sem_get

(PHP 4, PHP 5, PHP 7, PHP 8)

sem_get — Get a semaphore id

Descrição

sem_get ( int $key , int $max_acquire = 1 , int $permissions = 0666 , bool $auto_release = true ) : SysvSemaphore|false

sem_get() returns an id that can be used to access the System V semaphore with the given key.

A second call to sem_get() for the same key will return a different semaphore identifier, but both identifiers access the same underlying semaphore.

If key is 0, a new private semaphore is created for each call to sem_get().

Parâmetros

key

max_acquire

The number of processes that can acquire the semaphore simultaneously is set to max_acquire.

permissions

The semaphore permissions. Actually this value is set only if the process finds it is the only process currently attached to the semaphore.

auto_release

Specifies if the semaphore should be automatically released on request shutdown.

Valor Retornado

Returns a positive semaphore identifier on success, or false on error.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns a SysvSemaphore instance now; previously, a resource was returned.
8.0.0 | The type of auto_release has been changed from int to bool.

Notas

Aviso

When using sem_get() to access a semaphore created outside PHP, note that the semaphore must have been created as a set of 3 semaphores (for example, by specifying 3 as the nsems parameter when calling the C semget() function), otherwise PHP will be unable to access the semaphore.

Veja Também

  • sem_acquire() - Acquire a semaphore
  • sem_release() - Release a semaphore
  • ftok() - Convert a pathname and a project identifier to a System V IPC key


Release a semaphore

  • « sem_get
  • sem_remove »
  • PHP Manual
  • Semaphore Funções
  • Release a semaphore

sem_release

(PHP 4, PHP 5, PHP 7, PHP 8)

sem_release — Release a semaphore

Descrição

sem_release ( SysvSemaphore $semaphore ) : bool

sem_release() releases the semaphore if it is currently acquired by the calling process, otherwise a warning is generated.

After releasing the semaphore, sem_acquire() may be called to re-acquire it.

Parâmetros

semaphore

A Semaphore as returned by sem_get().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | semaphore expects a SysvSemaphore instance now; previously, a resource was expected.

Veja Também

  • sem_get() - Get a semaphore id
  • sem_acquire() - Acquire a semaphore


Remove a semaphore

  • « sem_release
  • shm_attach »
  • PHP Manual
  • Semaphore Funções
  • Remove a semaphore

sem_remove

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

sem_remove — Remove a semaphore

Descrição

sem_remove ( SysvSemaphore $semaphore ) : bool

sem_remove() removes the given semaphore.

After removing the semaphore, it is no longer accessible.

Parâmetros

semaphore

A semaphore as returned by sem_get().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | semaphore expects a SysvSemaphore instance now; previously, a resource was expected.

Veja Também

  • sem_get() - Get a semaphore id
  • sem_release() - Release a semaphore
  • sem_acquire() - Acquire a semaphore


Creates or open a shared memory segment

  • « sem_remove
  • shm_detach »
  • PHP Manual
  • Semaphore Funções
  • Creates or open a shared memory segment

shm_attach

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_attach — Creates or open a shared memory segment

Descrição

shm_attach ( int $key , int|null $size = null , int $permissions = 0666 ) : SysvSharedMemory|false

shm_attach() returns an id that can be used to access the System V shared memory with the given key, the first call creates the shared memory segment with size and the optional perm-bits permissions.

A second call to shm_attach() for the same key will return a different SysvSharedMemory instance, but both instances access the same underlying shared memory. size and permissions will be ignored.

Parâmetros

key

A numeric shared memory segment ID

size

The memory size. If not provided, default to the sysvshm.init_mem in the php.ini, otherwise 10000 bytes.

permissions

The optional permission bits. Default to 0666.

Valor Retornado

Returns a SysvSharedMemory instance on success, ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns an SysvSharedMemory instance now; previously, a resource was returned.
8.0.0 | size is nullable now.

Veja Também

  • shm_detach() - Disconnects from shared memory segment
  • ftok() - Convert a pathname and a project identifier to a System V IPC key


Disconnects from shared memory segment

  • « shm_attach
  • shm_get_var »
  • PHP Manual
  • Semaphore Funções
  • Disconnects from shared memory segment

shm_detach

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_detach — Disconnects from shared memory segment

Descrição

shm_detach ( SysvSharedMemory $shm ) : bool

shm_detach() disconnects from the shared memory given by the shm created by shm_attach(). Remember, that shared memory still exist in the Unix system and the data is still present.

Parâmetros

shm

A shared memory segment obtained from shm_attach().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | shm expects a SysvSharedMemory instance now; previously, a resource was expected.

Veja Também

  • shm_attach() - Creates or open a shared memory segment
  • shm_remove() - Removes shared memory from Unix systems
  • shm_remove_var() - Removes a variable from shared memory


Returns a variable from shared memory

  • « shm_detach
  • shm_has_var »
  • PHP Manual
  • Semaphore Funções
  • Returns a variable from shared memory

shm_get_var

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_get_var — Returns a variable from shared memory

Descrição

shm_get_var ( SysvSharedMemory $shm , int $key ) : mixed

shm_get_var() returns the variable with a given key, in the given shared memory segment. The variable is still present in the shared memory.

Parâmetros

shm

A shared memory segment obtained from shm_attach().

key

The variable key.

Valor Retornado

Returns the variable with the given key.

Changelog

Versão | Descrição
8.0.0 | shm expects a SysvSharedMemory instance now; previously, a resource was expected.

Veja Também

  • shm_has_var() - Check whether a specific entry exists
  • shm_put_var() - Inserts or updates a variable in shared memory


Check whether a specific entry exists

  • « shm_get_var
  • shm_put_var »
  • PHP Manual
  • Semaphore Funções
  • Check whether a specific entry exists

shm_has_var

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

shm_has_var — Check whether a specific entry exists

Descrição

shm_has_var ( SysvSharedMemory $shm , int $key ) : bool

Checks whether a specific key exists inside a shared memory segment.

Parâmetros

shm

A shared memory segment obtained from shm_attach().

key

The variable key.

Valor Retornado

Returns true if the entry exists, otherwise false

Changelog

Versão | Descrição
8.0.0 | shm expects a SysvSharedMemory instance now; previously, a resource was expected.

Veja Também

  • shm_get_var() - Returns a variable from shared memory
  • shm_put_var() - Inserts or updates a variable in shared memory


Inserts or updates a variable in shared memory

  • « shm_has_var
  • shm_remove_var »
  • PHP Manual
  • Semaphore Funções
  • Inserts or updates a variable in shared memory

shm_put_var

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_put_var — Inserts or updates a variable in shared memory

Descrição

shm_put_var ( SysvSharedMemory $shm , int $key , mixed $value ) : bool

shm_put_var() inserts or updates the value with the given key.

Warnings (E_WARNING level) will be issued if shm is not a valid SysV shared memory index or if there was not enough shared memory remaining to complete your request.

Parâmetros

shm

A shared memory segment obtained from shm_attach().

key

The variable key.

value

The variable. All variable types that serialize() supports may be used: generally this means all types except for resources and some internal objects that cannot be serialized.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | shm expects a SysvSharedMemory instance now; previously, a resource was expected.

Veja Também

  • shm_get_var() - Returns a variable from shared memory
  • shm_has_var() - Check whether a specific entry exists


Removes a variable from shared memory

  • « shm_put_var
  • shm_remove »
  • PHP Manual
  • Semaphore Funções
  • Removes a variable from shared memory

shm_remove_var

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_remove_var — Removes a variable from shared memory

Descrição

shm_remove_var ( SysvSharedMemory $shm , int $key ) : bool

Removes a variable with a given key and frees the occupied memory.

Parâmetros

shm

A shared memory segment obtained from shm_attach().

key

The variable key.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | shm expects a SysvSharedMemory instance now; previously, a resource was expected.

Veja Também

  • shm_remove() - Removes shared memory from Unix systems


Removes shared memory from Unix systems

  • « shm_remove_var
  • Memória Compartilhada »
  • PHP Manual
  • Semaphore Funções
  • Removes shared memory from Unix systems

shm_remove

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_remove — Removes shared memory from Unix systems

Descrição

shm_remove ( SysvSharedMemory $shm ) : bool

shm_remove() removes the shared memory shm. All data will be destroyed.

Parâmetros

shm

A shared memory segment obtained from shm_attach().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | shm expects a SysvSharedMemory instance now; previously, a resource was expected.

Veja Também

  • shm_remove_var() - Removes a variable from shared memory


Memória Compartilhada

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Funções para Memória Compartilhada
    • shmop_close — Fecha um bloco de memória compartilhada
    • shmop_delete — Deleta um bloco de memória compartilhada
    • shmop_open — Cria ou abre um bloco de memória compartilhada
    • shmop_read — Lê dados de um bloco de memória compartilhada
    • shmop_size — Pega o tamanho do bloco de memória compartilhada
    • shmop_write — Escreve dados em um bloco de memória compartilhada


Introdução

Shmop é um fácil caminho para usar funções que permitem o PHP ler, escrever, criar e deletar segmentos de memória compartilhada UNIX.

Nota: Versões do Windows anteriores ao Windows 2000 não suportam memória compartilhada. Em Windows, Shmop irá somente funcionar quando PHP é executado como um módulo do web server, como Apache ou IIS (CLI e CGI não funcionarão).

Nota: No PHP 4.0.3, estas funções estão prefixadas por shm ao invés de shmop.


  • « Dependências
  • Configurações em Execução »
  • PHP Manual
  • Instalação/Configuração
  • Instalação

Instalação

Para usar shmop você precisará compilar o PHP com o parâmetro --enable-shmop na seu configure.


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • Memória Compartilhada
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


  • « Constantes pré-definidas
  • »
  • PHP Manual
  • Memória Compartilhada
  • Exemplos

Exemplos

Índice


  • « Exemplos
  • Funções para Memória Compartilhada »
  • PHP Manual
  • Exemplos

Exemplo #1 Visão Geral de Operações de Memória Compartilhada

<?php

// Create 100 byte shared memory block with system id of 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if (!$shm_id) {
    echo "Couldn't create shared memory segment\n";
}

// Get shared memory block's size
$shm_size = shmop_size($shm_id);
echo "SHM Block Size: " . $shm_size . " has been created.\n";

// Lets write a test string into shared memory
$shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
if ($shm_bytes_written != strlen("my shared memory block")) {
    echo "Couldn't write the entire length of data\n";
}

// Now lets read the string back
$my_string = shmop_read($shm_id, 0, $shm_size);
if (!$my_string) {
    echo "Couldn't read from shared memory block\n";
}
echo "The data inside shared memory was: " . $my_string . "\n";

//Now lets delete the block and close the shared memory segment
if (!shmop_delete($shm_id)) {
    echo "Couldn't mark shared memory block for deletion.";
}
shmop_close($shm_id);

?>


Funções para Memória Compartilhada

Índice

  • shmop_close — Fecha um bloco de memória compartilhada
  • shmop_delete — Deleta um bloco de memória compartilhada
  • shmop_open — Cria ou abre um bloco de memória compartilhada
  • shmop_read — Lê dados de um bloco de memória compartilhada
  • shmop_size — Pega o tamanho do bloco de memória compartilhada
  • shmop_write — Escreve dados em um bloco de memória compartilhada


Fecha um bloco de memória compartilhada

  • « Funções para Memória Compartilhada
  • shmop_delete »
  • PHP Manual
  • Funções para Memória Compartilhada
  • Fecha um bloco de memória compartilhada

shmop_close

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_close — Fecha um bloco de memória compartilhada

Descrição

shmop_close ( int $shmid ) : void

shmop_close() é usada para fechar um bloco de memória compartilhada.

Parâmetros

shmid

O identificador de bloco de memória compartilhada criado por shmop_open()

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Fechando um bloco de memória compartilhada

<?php
shmop_close($shm_id);
?>

Esse exemplo irá fechar o bloco de memória compartilhada identificado por $shm_id.

Veja Também

  • shmop_open() - Cria ou abre um bloco de memória compartilhada


Deleta um bloco de memória compartilhada

  • « shmop_close
  • shmop_open »
  • PHP Manual
  • Funções para Memória Compartilhada
  • Deleta um bloco de memória compartilhada

shmop_delete

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_delete — Deleta um bloco de memória compartilhada

Descrição

shmop_delete ( int $shmid ) : bool

shmop_delete() é usada para deletar um bloco de memória compartilhada.

Parâmetros

shmid

O identificaor de bloco de memória compartilhada criado por shmop_open().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Deletando um bloco de memória compartilhada

<?php
shmop_delete($shm_id);
?>

Esse exemplo irá deletar um bloco de memória compartilhada identificado por $shm_id.


Cria ou abre um bloco de memória compartilhada

  • « shmop_delete
  • shmop_read »
  • PHP Manual
  • Funções para Memória Compartilhada
  • Cria ou abre um bloco de memória compartilhada

shmop_open

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_open — Cria ou abre um bloco de memória compartilhada

Descrição

shmop_open ( int $key , string $flags , int $mode , int $size ) : int

shmop_open() pode criar ou abrir um bloco de memória compartilhada.

shmop_open() pega 4 parâmetros: chave, que é usado pelo id do sistema para o bloco de memória compartilhada, esse parâmetro pode ser passado como decimal ou hexadecimal. O segundo parâmetro são flags que você pode usar:

  • "a" para acesso (seta SHM_RDONLY para shmat) use essa flag quando você precisar abrir um bloco de memória compartilhada existente como somente leitura
  • "c" para criar (seta IPC_CREATE) use essa flag quando você precisar criar um novo bloco de memória compartilhada ou se um segmento com a mesma chave existir, tente abrir isso para ler e escrever
  • "w" para ler & acesso à escrita use essa flag quando você precisar ler e escrever para um segmento de bloco de memória compartilhada, use essa flag na maior parte dos casos.
  • "n" cria um novo segmento de memória (seta IPC_CREATE|IPC_EXCL) use essa flag quando você quer criar um novo segmento de memória compartilhada mas se um já existir com a mesma flag, irá falhar. Isso é útil para propósitos de segurança, usando isso você pode previnir rápidos exploits.
O terceiro parâmetro é o modo, que são permissões que você deseja designar para o seu segmento de memória, estas são as mesmas permissões para o arquivo. Permissões precisam ser passadas no formato octal ex. 0644. O último parâmetro é o tamanho do bloco de memória compartilhada que você deseja criar em bytes.

Nota: Nota: o 3rd e 4th devem ser colocados como 0 se você está abrindo um segmento de memória existente. Em caso de sucesso shmop_open() irá retornar um id que você pode usar para acessar o segmento de memória compartilhada que você criou.

Exemplo #1 Cria um novo bloco de memória compartilhada

<?php
$shm_key = ftok(__FILE__,'t');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>

Esse exemplo abre um bloco de memória compartilhada com um id do sistema retornado por ftok().


Lê dados de um bloco de memória compartilhada

  • « shmop_open
  • shmop_size »
  • PHP Manual
  • Funções para Memória Compartilhada
  • Lê dados de um bloco de memória compartilhada

shmop_read

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_read — Lê dados de um bloco de memória compartilhada

Descrição

shmop_read ( int $shmid , int $start , int $count ) : string

shmop_read() irá ler uma string de um bloco de memória compartilhada.

shmop_read() pega 3 parâmetros: shmid, que é o identificador do bloco de memória compartilhada criado por shmop_open(), e o último que começa lendo e contando o número de bytes para ler.

Exemplo #1 Lendo um bloco de memória compartilhada

<?php
$shm_data = shmop_read($shm_id, 0, 50);
?>

Esse exemplo irá ler 50 bytes de um bloco de memória compartilhada e armazenaros dados dentro de $shm_data.


Pega o tamanho do bloco de memória compartilhada

  • « shmop_read
  • shmop_write »
  • PHP Manual
  • Funções para Memória Compartilhada
  • Pega o tamanho do bloco de memória compartilhada

shmop_size

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_size — Pega o tamanho do bloco de memória compartilhada

Descrição

shmop_size ( int $shmid ) : int

shmop_size() é usada para pegar o tamanho, em bytes do bloco de memória compartilhada.

Parâmetros

shmid

O identificador do bloco de memória compartilhada criado por shmop_open()

Valor Retornado

Retorna um inteiro, que representa o número de bytes de bloco ocupados pela memória compartilhada.

Exemplos

Exemplo #1 Pegando o tamanho do bloco de memória compartilhada

<?php
$shm_size = shmop_size($shm_id);
?>

Isso irá trazer o tamanho de um bloco de memória compartilhada identificado por $shm_id em $shm_size.


Escreve dados em um bloco de memória compartilhada

  • « shmop_size
  • Sync »
  • PHP Manual
  • Funções para Memória Compartilhada
  • Escreve dados em um bloco de memória compartilhada

shmop_write

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_write — Escreve dados em um bloco de memória compartilhada

Descrição

shmop_write ( int $shmid , string $data , int $offset ) : int

shmop_write() irá escrever uma string em um bloco de memória compartilhada.

shmop_write() pega 3 parâmetros: shmid, que é o identificador do bloco de memória compartilhada criado por shmop_open(), dados, uma string que você quer escrever em um bloco de memória compartilhada e o último, que especifica onde começa a escrita de dados dentro do segmento de memória compartilhada.

Exemplo #1 Escrevendo em um bloco de memória compartilhada

<?php
$shm_bytes_written = shmop_write($shm_id, $my_string, 0);
?>

Esse exemplo irá escrever dados dentro de $my_string em um bloco de memória compartilhada, $shm_bytes_written irá conter o número de bytes escritos.


Sync

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • SyncMutex — The SyncMutex class
    • SyncMutex::__construct — Constructs a new SyncMutex object
    • SyncMutex::lock — Waits for an exclusive lock
    • SyncMutex::unlock — Unlocks the mutex
  • SyncSemaphore — The SyncSemaphore class
    • SyncSemaphore::__construct — Constructs a new SyncSemaphore object
    • SyncSemaphore::lock — Decreases the count of the semaphore or waits
    • SyncSemaphore::unlock — Increases the count of the semaphore
  • SyncEvent — The SyncEvent class
    • SyncEvent::__construct — Constructs a new SyncEvent object
    • SyncEvent::fire — Fires/sets the event
    • SyncEvent::reset — Resets a manual event
    • SyncEvent::wait — Waits for the event to be fired/set
  • SyncReaderWriter — The SyncReaderWriter class
    • SyncReaderWriter::__construct — Constructs a new SyncReaderWriter object
    • SyncReaderWriter::readlock — Waits for a read lock
    • SyncReaderWriter::readunlock — Releases a read lock
    • SyncReaderWriter::writelock — Waits for an exclusive write lock
    • SyncReaderWriter::writeunlock — Releases a write lock
  • SyncSharedMemory — The SyncSharedMemory class
    • SyncSharedMemory::__construct — Constructs a new SyncSharedMemory object
    • SyncSharedMemory::first — Check to see if the object is the first instance system-wide of named shared memory
    • SyncSharedMemory::read — Copy data from named shared memory
    • SyncSharedMemory::size — Returns the size of the named shared memory
    • SyncSharedMemory::write — Copy data to named shared memory


Introdução

The 'sync' extension introduces cross-platform synchonization objects into PHP. Named and unnamed Mutex, Semaphore, Event, Reader-Writer, and named Shared Memory objects provide OS-level synchronization on both POSIX (e.g. Linux) and Windows platforms.

Automatic cleanup of acquired synchronization objects takes place during extension teardown. This means that if PHP prematurely terminates a script (e.g. script execution time is exceeded), objects will not be left in an unknown state. The only exception to this is if PHP itself crashes (e.g. an internal buffer overflow).

Unnamed synchronization objects don't have a lot of use outside of a multithreaded scenario. Unnamed objects are more useful in conjunction with the pthreads PECL extension.

Nota:

Named objects require additional care to be used on all systems. If an object is instantiated with a specific set of parameters, it must always be instantiated with those parameters or the object will probably end up in an inconsistent state until the next reboot or a system administrator cleans up the mess.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

A system with support for POSIX shared memory (shm_open()) or running Windows.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/sync.


  • « Tipos de Recurso
  • SyncMutex »
  • PHP Manual
  • Sync
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


The SyncMutex class

(PECL sync >= 1.0.0)

Introdução

A cross-platform, native implementation of named and unnamed countable mutex objects.

A mutex is a mutual exclusion object that restricts access to a shared resource (e.g. a file) to a single instance. Countable mutexes acquire the mutex a single time and internally track the number of times the mutex is locked. The mutex is unlocked as soon as it goes out of scope or is unlocked the same number of times that it was locked.

Sinopse da classe

SyncMutex {
/* Métodos */
public __construct ( string $name = ? )
public lock ( int $wait = -1 ) : bool
public unlock ( bool $all = false ) : bool
}

Índice

  • SyncMutex::__construct — Constructs a new SyncMutex object
  • SyncMutex::lock — Waits for an exclusive lock
  • SyncMutex::unlock — Unlocks the mutex


Constructs a new SyncMutex object

  • « SyncMutex
  • SyncMutex::lock »
  • PHP Manual
  • SyncMutex
  • Constructs a new SyncMutex object

SyncMutex::__construct

(PECL sync >= 1.0.0)

SyncMutex::__construct — Constructs a new SyncMutex object

Descrição

public SyncMutex::__construct ( string $name = ? )

Constructs a named or unnamed countable mutex.

Parâmetros

name

The name of the mutex if this is a named mutex object.

Nota:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

Valor Retornado

The new SyncMutex object. An exception is thrown if the mutex cannot be created or opened.

Exemplos

Exemplo #1 SyncMutex::__construct() named mutex with lock timeout example

<?php
$mutex = new SyncMutex("UniqueName");

if (!$mutex->lock(3000))
{
    echo "Unable to lock mutex.";

    exit();
}

/* ... */

$mutex->unlock();
?>

Exemplo #2 SyncMutex::__construct() unnamed mutex example

<?php
$mutex = new SyncMutex();

$mutex->lock();

/* ... */

$mutex->unlock();
?>

Veja Também

  • SyncMutex::lock() - Waits for an exclusive lock
  • SyncMutex::unlock() - Unlocks the mutex


Waits for an exclusive lock

  • « SyncMutex::__construct
  • SyncMutex::unlock »
  • PHP Manual
  • SyncMutex
  • Waits for an exclusive lock

SyncMutex::lock

(PECL sync >= 1.0.0)

SyncMutex::lock — Waits for an exclusive lock

Descrição

public SyncMutex::lock ( int $wait = -1 ) : bool

Obtains an exclusive lock on a SyncMutex object. If the lock is already acquired, then this increments an internal counter.

Parâmetros

wait

The number of milliseconds to wait for the exclusive lock. A value of -1 is infinite.

Valor Retornado

A boolean of TRUE if the lock was obtained, FALSE otherwise.

Exemplos

Exemplo #1 SyncMutex::lock() example

<?php
$mutex = new SyncMutex("UniqueName");

if (!$mutex->lock(3000))
{
    echo "Unable to lock mutex.";

    exit();
}

/* ... */

$mutex->unlock();
?>

Veja Também

  • SyncMutex::unlock() - Unlocks the mutex


Unlocks the mutex

  • « SyncMutex::lock
  • SyncSemaphore »
  • PHP Manual
  • SyncMutex
  • Unlocks the mutex

SyncMutex::unlock

(PECL sync >= 1.0.0)

SyncMutex::unlock — Unlocks the mutex

Descrição

public SyncMutex::unlock ( bool $all = false ) : bool

Decreases the internal counter of a SyncMutex object. When the internal counter reaches zero, the actual lock on the object is released.

Parâmetros

all

Specifies whether or not to set the internal counter to zero and therefore release the lock.

Valor Retornado

A boolean of TRUE if the unlock operation was successful, FALSE otherwise.

Exemplos

Exemplo #1 SyncMutex::unlock() example

<?php
$mutex = new SyncMutex("UniqueName");

$mutex->lock();

/* ... */

$mutex->unlock();
?>

Veja Também

  • SyncMutex::lock() - Waits for an exclusive lock


The SyncSemaphore class

(PECL sync >= 1.0.0)

Introdução

A cross-platform, native implementation of named and unnamed semaphore objects.

A semaphore restricts access to a limited resource to a limited number of instances. Semaphores differ from mutexes in that they can allow more than one instance to access a resource at one time while a mutex only allows one instance at a time.

Sinopse da classe

SyncSemaphore {
/* Métodos */
public __construct ( string $name = ? , int $initialval = 1 , bool $autounlock = true )
public lock ( int $wait = -1 ) : bool
public unlock ( int &$prevcount = ? ) : bool
}

Índice

  • SyncSemaphore::__construct — Constructs a new SyncSemaphore object
  • SyncSemaphore::lock — Decreases the count of the semaphore or waits
  • SyncSemaphore::unlock — Increases the count of the semaphore


Constructs a new SyncSemaphore object

  • « SyncSemaphore
  • SyncSemaphore::lock »
  • PHP Manual
  • SyncSemaphore
  • Constructs a new SyncSemaphore object

SyncSemaphore::__construct

(PECL sync >= 1.0.0)

SyncSemaphore::__construct — Constructs a new SyncSemaphore object

Descrição

public SyncSemaphore::__construct ( string $name = ? , int $initialval = 1 , bool $autounlock = true )

Constructs a named or unnamed semaphore.

Parâmetros

name

The name of the semaphore if this is a named semaphore object.

Nota:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

initialval

The initial value of the semaphore. This is the number of locks that may be obtained.

autounlock

Specifies whether or not to automatically unlock the semaphore at the conclusion of the PHP script.

Aviso

If an object is: A named semaphore with an autounlock of FALSE, the object is locked, and the PHP script concludes before the object is unlocked, then the underlying semaphore will end up in an inconsistent state.

Valor Retornado

The new SyncSemaphore object. An exception is thrown if the semaphore cannot be created or opened.

Exemplos

Exemplo #1 SyncSemaphore::__construct() example

<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);

if (!$semaphore->lock(3000))
{
    echo "Unable to lock semaphore.";

    exit();
}

/* ... */

$semaphore->unlock();
?>

Veja Também

  • SyncSemaphore::lock() - Decreases the count of the semaphore or waits
  • SyncSemaphore::unlock() - Increases the count of the semaphore


Decreases the count of the semaphore or waits

  • « SyncSemaphore::__construct
  • SyncSemaphore::unlock »
  • PHP Manual
  • SyncSemaphore
  • Decreases the count of the semaphore or waits

SyncSemaphore::lock

(PECL sync >= 1.0.0)

SyncSemaphore::lock — Decreases the count of the semaphore or waits

Descrição

public SyncSemaphore::lock ( int $wait = -1 ) : bool

Decreases the count of a SyncSemaphore object or waits until the semaphore becomes non-zero.

Parâmetros

wait

The number of milliseconds to wait for the semaphore. A value of -1 is infinite.

Valor Retornado

A boolean of TRUE if the lock operation was successful, FALSE otherwise.

Exemplos

Exemplo #1 SyncSemaphore::lock() example

<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);

if (!$semaphore->lock(3000))
{
    echo "Unable to lock semaphore.";

    exit();
}

/* ... */

$semaphore->unlock();
?>

Veja Também

  • SyncSemaphore::unlock() - Increases the count of the semaphore


Increases the count of the semaphore

  • « SyncSemaphore::lock
  • SyncEvent »
  • PHP Manual
  • SyncSemaphore
  • Increases the count of the semaphore

SyncSemaphore::unlock

(PECL sync >= 1.0.0)

SyncSemaphore::unlock — Increases the count of the semaphore

Descrição

public SyncSemaphore::unlock ( int &$prevcount = ? ) : bool

Increases the count of a SyncSemaphore object.

Parâmetros

prevcount

Returns the previous count of the semaphore.

Valor Retornado

A boolean of TRUE if the unlock operation was successful, FALSE otherwise.

Exemplos

Exemplo #1 SyncSemaphore::unlock() example

<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);

if (!$semaphore->lock(3000))
{
    echo "Unable to lock semaphore.";

    exit();
}

/* ... */

$semaphore->unlock();
?>

Veja Também

  • SyncSemaphore::lock() - Decreases the count of the semaphore or waits


The SyncEvent class

(PECL sync >= 1.0.0)

Introdução

A cross-platform, native implementation of named and unnamed event objects. Both automatic and manual event objects are supported.

An event object waits, without polling, for the object to be fired/set. One instance waits on the event object while another instance fires/sets the event. Event objects are useful wherever a long-running process would otherwise poll a resource (e.g. checking to see if uploaded data needs to be processed).

Sinopse da classe

SyncEvent {
/* Métodos */
public __construct ( string $name = ? , bool $manual = false , bool $prefire = false )
public fire ( ) : bool
public reset ( ) : bool
public wait ( int $wait = -1 ) : bool
}

Índice

  • SyncEvent::__construct — Constructs a new SyncEvent object
  • SyncEvent::fire — Fires/sets the event
  • SyncEvent::reset — Resets a manual event
  • SyncEvent::wait — Waits for the event to be fired/set


Constructs a new SyncEvent object

  • « SyncEvent
  • SyncEvent::fire »
  • PHP Manual
  • SyncEvent
  • Constructs a new SyncEvent object

SyncEvent::__construct

(PECL sync >= 1.0.0)

SyncEvent::__construct — Constructs a new SyncEvent object

Descrição

public SyncEvent::__construct ( string $name = ? , bool $manual = false , bool $prefire = false )

Constructs a named or unnamed event object.

Parâmetros

name

The name of the event if this is a named event object.

Nota:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

manual

Specifies whether or not the event object must be reset manually.

Nota:

Manual reset event objects allow all waiting processes through until the object is reset.

prefire

Specifies whether or not to prefire (signal) the event object.

Nota:

Only has impact if the calling process/thread is the first to create the object.

Valor Retornado

The new SyncEvent object. An exception is thrown if the event object cannot be created or opened.

Exemplos

Exemplo #1 SyncEvent::__construct() example

<?php
// In a web application:
$event = new SyncEvent("GetAppReport");
$event->fire();

// In a cron job:
$event = new SyncEvent("GetAppReport");
$event->wait();
?>

Changelog

Versão | Descrição
PECL sync 1.1.0 | Added prefire.

Veja Também

  • SyncEvent::fire() - Fires/sets the event
  • SyncEvent::reset() - Resets a manual event
  • SyncEvent::wait() - Waits for the event to be fired/set


Fires/sets the event

  • « SyncEvent::__construct
  • SyncEvent::reset »
  • PHP Manual
  • SyncEvent
  • Fires/sets the event

SyncEvent::fire

(PECL sync >= 1.0.0)

SyncEvent::fire — Fires/sets the event

Descrição

public SyncEvent::fire ( ) : bool

Fires/sets a SyncEvent object. Lets multiple threads through that are waiting if the event object was created with a manual value of TRUE.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean of TRUE if the event was fired, FALSE otherwise.

Exemplos

Exemplo #1 SyncEvent::fire() example

<?php
// In a web application:
$event = new SyncEvent("GetAppReport");
$event->fire();

// In a cron job:
$event = new SyncEvent("GetAppReport");
$event->wait();
?>

Veja Também

  • SyncEvent::reset() - Resets a manual event
  • SyncEvent::wait() - Waits for the event to be fired/set


Resets a manual event

  • « SyncEvent::fire
  • SyncEvent::wait »
  • PHP Manual
  • SyncEvent
  • Resets a manual event

SyncEvent::reset

(PECL sync >= 1.0.0)

SyncEvent::reset — Resets a manual event

Descrição

public SyncEvent::reset ( ) : bool

Resets a SyncEvent object that has been fired/set. Only valid for manual event objects.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean value of TRUE if the object was successfully reset, FALSE otherwise.

Exemplos

Exemplo #1 SyncEvent::reset() example

<?php
// In a web application:
$event = new SyncEvent("DemoApplication", true);
$event->wait();

// In a cron job:
$event = new SyncEvent("DemoApplication", true);
$event->reset();
/* ... Do some maintenance task(s) ... */
$event->fire();
?>

Veja Também

  • SyncEvent::fire() - Fires/sets the event
  • SyncEvent::reset()
  • SyncEvent::wait() - Waits for the event to be fired/set


Waits for the event to be fired/set

  • « SyncEvent::reset
  • SyncReaderWriter »
  • PHP Manual
  • SyncEvent
  • Waits for the event to be fired/set

SyncEvent::wait

(PECL sync >= 1.0.0)

SyncEvent::wait — Waits for the event to be fired/set

Descrição

public SyncEvent::wait ( int $wait = -1 ) : bool

Waits for the SyncEvent object to be fired.

Parâmetros

wait

The number of milliseconds to wait for the event to be fired. A value of -1 is infinite.

Valor Retornado

A boolean of TRUE if the event was fired, FALSE otherwise.

Exemplos

Exemplo #1 SyncEvent::wait() example

<?php
// In a web application:
$event = new SyncEvent("GetAppReport");
$event->fire();

// In a cron job:
$event = new SyncEvent("GetAppReport");
$event->wait();
?>

Veja Também

  • SyncEvent::fire() - Fires/sets the event


The SyncReaderWriter class

(PECL sync >= 1.0.0)

Introdução

A cross-platform, native implementation of named and unnamed reader-writer objects.

A reader-writer object allows many readers or one writer to access a resource. This is an efficient solution for managing resources where access will primarily be read-only but exclusive write access is occasionally necessary.

Sinopse da classe

SyncReaderWriter {
/* Métodos */
public __construct ( string $name = ? , bool $autounlock = true )
public readlock ( int $wait = -1 ) : bool
public readunlock ( ) : bool
public writelock ( int $wait = -1 ) : bool
public writeunlock ( ) : bool
}

Índice

  • SyncReaderWriter::__construct — Constructs a new SyncReaderWriter object
  • SyncReaderWriter::readlock — Waits for a read lock
  • SyncReaderWriter::readunlock — Releases a read lock
  • SyncReaderWriter::writelock — Waits for an exclusive write lock
  • SyncReaderWriter::writeunlock — Releases a write lock


Constructs a new SyncReaderWriter object

  • « SyncReaderWriter
  • SyncReaderWriter::readlock »
  • PHP Manual
  • SyncReaderWriter
  • Constructs a new SyncReaderWriter object

SyncReaderWriter::__construct

(PECL sync >= 1.0.0)

SyncReaderWriter::__construct — Constructs a new SyncReaderWriter object

Descrição

public SyncReaderWriter::__construct ( string $name = ? , bool $autounlock = true )

Constructs a named or unnamed reader-writer object.

Parâmetros

name

The name of the reader-writer if this is a named reader-writer object.

Nota:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

autounlock

Specifies whether or not to automatically unlock the reader-writer at the conclusion of the PHP script.

Aviso

If an object is: A named reader-writer with an autounlock of FALSE, the object is locked for either reading or writing, and the PHP script concludes before the object is unlocked, then the underlying objects will end up in an inconsistent state.

Valor Retornado

The new SyncReaderWriter object. An exception is thrown if the reader-writer cannot be created or opened.

Exemplos

Exemplo #1 SyncReaderWriter::__construct() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->readlock();
/* ... */
$readwrite->readunlock();

$readwrite->writelock();
/* ... */
$readwrite->writeunlock();
?>

Veja Também

  • SyncReaderWriter::readlock() - Waits for a read lock
  • SyncReaderWriter::readunlock() - Releases a read lock
  • SyncReaderWriter::writelock() - Waits for an exclusive write lock
  • SyncReaderWriter::writeunlock() - Releases a write lock


Waits for a read lock

  • « SyncReaderWriter::__construct
  • SyncReaderWriter::readunlock »
  • PHP Manual
  • SyncReaderWriter
  • Waits for a read lock

SyncReaderWriter::readlock

(PECL sync >= 1.0.0)

SyncReaderWriter::readlock — Waits for a read lock

Descrição

public SyncReaderWriter::readlock ( int $wait = -1 ) : bool

Obtains a read lock on a SyncReaderWriter object.

Parâmetros

wait

The number of milliseconds to wait for a lock. A value of -1 is infinite.

Valor Retornado

A boolean of TRUE if the lock was obtained, FALSE otherwise.

Exemplos

Exemplo #1 SyncReaderWriter::readlock() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->readlock();
/* ... */
$readwrite->readunlock();
?>

Veja Também

  • SyncReaderWriter::readunlock() - Releases a read lock


Releases a read lock

  • « SyncReaderWriter::readlock
  • SyncReaderWriter::writelock »
  • PHP Manual
  • SyncReaderWriter
  • Releases a read lock

SyncReaderWriter::readunlock

(PECL sync >= 1.0.0)

SyncReaderWriter::readunlock — Releases a read lock

Descrição

public SyncReaderWriter::readunlock ( ) : bool

Releases a read lock on a SyncReaderWriter object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean of TRUE if the unlock operation was successful, FALSE otherwise.

Exemplos

Exemplo #1 SyncReaderWriter::readunlock() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->readlock();
/* ... */
$readwrite->readunlock();
?>

Veja Também

  • SyncReaderWriter::readlock() - Waits for a read lock


Waits for an exclusive write lock

  • « SyncReaderWriter::readunlock
  • SyncReaderWriter::writeunlock »
  • PHP Manual
  • SyncReaderWriter
  • Waits for an exclusive write lock

SyncReaderWriter::writelock

(PECL sync >= 1.0.0)

SyncReaderWriter::writelock — Waits for an exclusive write lock

Descrição

public SyncReaderWriter::writelock ( int $wait = -1 ) : bool

Obtains an exclusive write lock on a SyncReaderWriter object.

Parâmetros

wait

The number of milliseconds to wait for a lock. A value of -1 is infinite.

Valor Retornado

A boolean of TRUE if the lock was obtained, FALSE otherwise.

Exemplos

Exemplo #1 SyncReaderWriter::writelock() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->writelock();
/* ... */
$readwrite->writeunlock();
?>

Veja Também

  • SyncReaderWriter::writeunlock() - Releases a write lock


Releases a write lock

  • « SyncReaderWriter::writelock
  • SyncSharedMemory »
  • PHP Manual
  • SyncReaderWriter
  • Releases a write lock

SyncReaderWriter::writeunlock

(PECL sync >= 1.0.0)

SyncReaderWriter::writeunlock — Releases a write lock

Descrição

public SyncReaderWriter::writeunlock ( ) : bool

Releases a write lock on a SyncReaderWriter object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean of TRUE if the unlock operation was successful, FALSE otherwise.

Exemplos

Exemplo #1 SyncReaderWriter::writeunlock() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->writelock();
/* ... */
$readwrite->writeunlock();
?>

Veja Também

  • SyncReaderWriter::writelock() - Waits for an exclusive write lock


The SyncSharedMemory class

(PECL sync >= 1.1.0)

Introdução

A cross-platform, native, consistent implementation of named shared memory objects.

Shared memory lets two separate processes communicate without the need for complex pipes or sockets. There are several integer-based shared memory implementations for PHP. Named shared memory is an alternative.

Synchronization objects (e.g. SyncMutex) are still required to protect most uses of shared memory.

Sinopse da classe

SyncSharedMemory {
/* Métodos */
public __construct ( string $name , int $size )
public first ( ) : bool
public read ( int $start = 0 , int $length = ? )
public size ( ) : bool
public write ( string $string = ? , int $start = 0 )
}

Índice

  • SyncSharedMemory::__construct — Constructs a new SyncSharedMemory object
  • SyncSharedMemory::first — Check to see if the object is the first instance system-wide of named shared memory
  • SyncSharedMemory::read — Copy data from named shared memory
  • SyncSharedMemory::size — Returns the size of the named shared memory
  • SyncSharedMemory::write — Copy data to named shared memory


Constructs a new SyncSharedMemory object

  • « SyncSharedMemory
  • SyncSharedMemory::first »
  • PHP Manual
  • SyncSharedMemory
  • Constructs a new SyncSharedMemory object

SyncSharedMemory::__construct

(PECL sync >= 1.1.0)

SyncSharedMemory::__construct — Constructs a new SyncSharedMemory object

Descrição

public SyncSharedMemory::__construct ( string $name , int $size )

Constructs a named shared memory object.

Parâmetros

name

The name of the shared memory object.

Nota:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

size

The size, in bytes, of shared memory to reserve.

Nota:

The amount of memory cannot be resized later. Request sufficient storage up front.

Valor Retornado

The new SyncSharedMemory object. An exception is thrown if the shared memory object cannot be created or opened.

Exemplos

Exemplo #1 SyncSharedMemory::__construct() example

<?php
// You will probably need to protect shared memory with other synchronization objects.
// Shared memory goes away when the last reference to it disappears.
$mem = new SyncSharedMemory("AppReportName", 1024);
if ($mem->first())
{
    // Do first time initialization work here.
}

$result = $mem->write(json_encode(array("name" => "my_report.txt")));
?>

Veja Também

  • SyncSharedMemory::first() - Check to see if the object is the first instance system-wide of named shared memory
  • SyncSharedMemory::size() - Returns the size of the named shared memory
  • SyncSharedMemory::write() - Copy data to named shared memory
  • SyncSharedMemory::read() - Copy data from named shared memory


Check to see if the object is the first instance system-wide of named shared memory

  • « SyncSharedMemory::__construct
  • SyncSharedMemory::read »
  • PHP Manual
  • SyncSharedMemory
  • Check to see if the object is the first instance system-wide of named shared memory

SyncSharedMemory::first

(PECL sync >= 1.1.0)

SyncSharedMemory::first — Check to see if the object is the first instance system-wide of named shared memory

Descrição

public SyncSharedMemory::first ( ) : bool

Retrieves the system-wide first instance status of a SyncSharedMemory object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A boolean of TRUE if the object is the first instance system-wide, FALSE otherwise.

Exemplos

Exemplo #1 SyncSharedMemory::first() example

<?php
$mem = new SyncSharedMemory("AppReportName", 1024);
if ($mem->first())
{
    // Do first time initialization work here.
}

var_dump($mem->first());

$mem2 = new SyncSharedMemory("AppReportName", 1024);

var_dump($mem2->first());
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(false)

Veja Também

  • SyncSharedMemory::write() - Copy data to named shared memory
  • SyncSharedMemory::read() - Copy data from named shared memory


Copy data from named shared memory

  • « SyncSharedMemory::first
  • SyncSharedMemory::size »
  • PHP Manual
  • SyncSharedMemory
  • Copy data from named shared memory

SyncSharedMemory::read

(PECL sync >= 1.1.0)

SyncSharedMemory::read — Copy data from named shared memory

Descrição

public SyncSharedMemory::read ( int $start = 0 , int $length = ? )

Copies data from named shared memory.

Parâmetros

start

The start/offset, in bytes, to begin reading.

Nota:

If the value is negative, the starting position will begin at the specified number of bytes from the end of the shared memory segment.

length

The number of bytes to read.

Nota:

If unspecified, reading will stop at the end of the shared memory segment.

If the value is negative, reading will stop the specified number of bytes from the end of the shared memory segment.

Valor Retornado

A string containing the data read from shared memory.

Exemplos

Exemplo #1 SyncSharedMemory::__construct() example

<?php
// You will probably need to protect shared memory with other synchronization objects.
// Shared memory goes away when the last reference to it disappears.
$mem = new SyncSharedMemory("AppReportName", 1024);
if ($mem->first())
{
    // Do first time initialization work here.
}

$result = $mem->write("report.txt");

$result = $mem->read(3, -4);
var_dump($result);
?>

O exemplo acima irá imprimir algo similar à:

string(3) "ort"

Veja Também

  • SyncSharedMemory::__construct() - Constructs a new SyncSharedMemory object
  • SyncSharedMemory::first() - Check to see if the object is the first instance system-wide of named shared memory
  • SyncSharedMemory::write() - Copy data to named shared memory
  • SyncSharedMemory::read()


Returns the size of the named shared memory

  • « SyncSharedMemory::read
  • SyncSharedMemory::write »
  • PHP Manual
  • SyncSharedMemory
  • Returns the size of the named shared memory

SyncSharedMemory::size

(PECL sync >= 1.1.0)

SyncSharedMemory::size — Returns the size of the named shared memory

Descrição

public SyncSharedMemory::size ( ) : bool

Retrieves the shared memory size of a SyncSharedMemory object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An integer containing the size of the shared memory. This will be the same size that was passed to the constructor.

Exemplos

Exemplo #1 SyncSharedMemory::size() example

<?php
$mem = new SyncSharedMemory("AppReportName", 1024);
var_dump($mem->size());
?>

O exemplo acima irá imprimir algo similar à:

int(1024)

Veja Também

  • SyncSharedMemory::__construct() - Constructs a new SyncSharedMemory object
  • SyncSharedMemory::write() - Copy data to named shared memory
  • SyncSharedMemory::read() - Copy data from named shared memory


Copy data to named shared memory

  • « SyncSharedMemory::size
  • Outras Extensões Básicas »
  • PHP Manual
  • SyncSharedMemory
  • Copy data to named shared memory

SyncSharedMemory::write

(PECL sync >= 1.1.0)

SyncSharedMemory::write — Copy data to named shared memory

Descrição

public SyncSharedMemory::write ( string $string = ? , int $start = 0 )

Copies data to named shared memory.

Parâmetros

string

The data to write to shared memoy.

Nota:

If the size of the data exceeds the size of the shared memory, the number of bytes written returned will be less than the length of the input.

start

The start/offset, in bytes, to begin writing.

Nota:

If the value is negative, the starting position will begin at the specified number of bytes from the end of the shared memory segment.

Valor Retornado

An integer containing the number of bytes written to shared memory.

Exemplos

Exemplo #1 SyncSharedMemory::write() example

<?php
// You will probably need to protect shared memory with other synchronization objects.
// Shared memory goes away when the last reference to it disappears.
$mem = new SyncSharedMemory("AppReportName", 1024);
if ($mem->first())
{
    // Do first time initialization work here.
}

$result = $mem->write("report.txt");
var_dump($result);

$result = $mem->write("report.txt", -3);
var_dump($result);
?>

O exemplo acima irá imprimir algo similar à:

int(10)
int(3)

Veja Também

  • SyncSharedMemory::__construct() - Constructs a new SyncSharedMemory object
  • SyncSharedMemory::first() - Check to see if the object is the first instance system-wide of named shared memory
  • SyncSharedMemory::write()
  • SyncSharedMemory::read() - Copy data from named shared memory


Outras Extensões Básicas

  • GeoIP — Geo IP Location
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • GeoIP Funções
  • FANN — FANN (Fast Artificial Neural Network)
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Fann Funções
    • FANNConnection — The FANNConnection class
  • JSON — JavaScript Object Notation
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • JsonSerializable — The JsonSerializable interface
    • Funções da JSON
  • Lua
    • Introdução
    • Instalação/Configuração
    • Lua — A Classw Lua
    • LuaClosure — A Classe LuaClosure
  • LuaSandbox
    • Introdução
    • Instalação/Configuração
    • Differences from Standard Lua
    • Exemplos
    • LuaSandbox — The LuaSandbox class
    • LuaSandboxFunction — The LuaSandboxFunction class
    • LuaSandboxError — The LuaSandboxError class
    • LuaSandboxErrorError — The LuaSandboxErrorError class
    • LuaSandboxFatalError — The LuaSandboxFatalError class
    • LuaSandboxMemoryError — The LuaSandboxMemoryError class
    • LuaSandboxRuntimeError — The LuaSandboxRuntimeError class
    • LuaSandboxSyntaxError — The LuaSandboxSyntaxError class
    • LuaSandboxTimeoutError — The LuaSandboxTimeoutError class
  • Misc. — Funções Miscelâneas
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Misc. Funções
  • Seaslog
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Seaslog Funções
    • SeasLog — The SeasLog class
  • SPL — Standard PHP Library (SPL)
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Estruturas de Dados
    • Iteradores
    • Interfaces
    • Exceções
    • Funções da SPL
    • Manipulação de arquivos
    • Classes e interfaces genéricas
  • Streams
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Stream Filters
    • Stream Contexts
    • Stream Errors
    • Exemplos
    • php_user_filter — The php_user_filter class
    • streamWrapper — The streamWrapper class
    • Stream Funções
  • Swoole
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Swoole Funções
    • Swoole\Async — The Swoole\Async class
    • Swoole\Atomic — The Swoole\Atomic class
    • Swoole\Buffer — The Swoole\Buffer class
    • Swoole\Channel — The Swoole\Channel class
    • Swoole\Client — The Swoole\Client class
    • Swoole\Connection\Iterator — The Swoole\Connection\Iterator class
    • Swoole\Coroutine — The Swoole\Coroutine class
    • Swoole\Event — The Swoole\Event class
    • Swoole\Exception — The Swoole\Exception class
    • Swoole\Http\Client — The Swoole\Http\Client class
    • Swoole\Http\Request — The Swoole\Http\Request class
    • Swoole\Http\Response — The Swoole\Http\Response class
    • Swoole\Http\Server — The Swoole\Http\Server class
    • Swoole\Lock — The Swoole\Lock class
    • Swoole\Mmap — The Swoole\Mmap class
    • Swoole\MySQL — The Swoole\MySQL class
    • Swoole\MySQL\Exception — The Swoole\MySQL\Exception class
    • Swoole\Process — The Swoole\Process class
    • Swoole\Redis\Server — The Swoole\Redis\Server class
    • Swoole\Serialize — The Swoole\Serialize class
    • Swoole\Server — The Swoole\Server class
    • Swoole\Table — The Swoole\Table class
    • Swoole\Timer — The Swoole\Timer class
    • Swoole\WebSocket\Frame — The Swoole\WebSocket\Frame class
    • Swoole\WebSocket\Server — The Swoole\WebSocket\Server class
  • Tidy
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções do Tidy
  • Tokenizer
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções da Tokenizer
  • URLs
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • URL Funções
  • V8js — V8 Javascript Engine Integration
    • Introdução
    • Instalação/Configuração
    • Exemplos
    • V8Js — The V8Js class
    • V8JsException — The V8JsException class
  • Yaml — YAML Data Serialization
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Callbacks
    • Yaml Funções
  • Yaf — Yet Another Framework
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Application Configuration
    • Yaf_Application — The Yaf_Application class
    • Yaf_Bootstrap_Abstract — The Yaf_Bootstrap_Abstract class
    • Yaf_Dispatcher — The Yaf_Dispatcher class
    • Yaf_Config_Abstract — The Yaf_Config_Abstract class
    • Yaf_Config_Ini — The Yaf_Config_Ini class
    • Yaf_Config_Simple — The Yaf_Config_Simple class
    • Yaf_Controller_Abstract — The Yaf_Controller_Abstract class
    • Yaf_Action_Abstract — The Yaf_Action_Abstract class
    • Yaf_View_Interface — The Yaf_View_Interface class
    • Yaf_View_Simple — The Yaf_View_Simple class
    • Yaf_Loader — The Yaf_Loader class
    • Yaf_Plugin_Abstract — The Yaf_Plugin_Abstract class
    • Yaf_Registry — The Yaf_Registry class
    • Yaf_Request_Abstract — The Yaf_Request_Abstract class
    • Yaf_Request_Http — The Yaf_Request_Http class
    • Yaf_Request_Simple — The Yaf_Request_Simple class
    • Yaf_Response_Abstract — The Yaf_Response_Abstract class
    • Yaf_Route_Interface — The Yaf_Route_Interface class
    • Yaf_Route_Map — The Yaf_Route_Map class
    • Yaf_Route_Regex — The Yaf_Route_Regex class
    • Yaf_Route_Rewrite — The Yaf_Route_Rewrite class
    • Yaf_Router — The Yaf_Router class
    • Yaf_Route_Simple — The Yaf_Route_Simple class
    • Yaf_Route_Static — The Yaf_Route_Static class
    • Yaf_Route_Supervar — The Yaf_Route_Supervar class
    • Yaf_Session — The Yaf_Session class
    • Yaf_Exception — The Yaf_Exception class
    • Yaf_Exception_TypeError — The Yaf_Exception_TypeError class
    • Yaf_Exception_StartupError — The Yaf_Exception_StartupError class
    • Yaf_Exception_DispatchFailed — The Yaf_Exception_DispatchFailed class
    • Yaf_Exception_RouterFailed — The Yaf_Exception_RouterFailed class
    • Yaf_Exception_LoadFailed — The Yaf_Exception_LoadFailed class
    • Yaf_Exception_LoadFailed_Module — The Yaf_Exception_LoadFailed_Module class
    • Yaf_Exception_LoadFailed_Controller — The Yaf_Exception_LoadFailed_Controller class
    • Yaf_Exception_LoadFailed_Action — The Yaf_Exception_LoadFailed_Action class
    • Yaf_Exception_LoadFailed_View — The Yaf_Exception_LoadFailed_View class
  • Yaconf
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Yaconf — The Yaconf class
  • Taint
    • Introdução
    • Instalação/Configuração
    • More Details
    • Taint Funções
  • Data Structures
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Collection — The Collection interface
    • Hashable — The Hashable interface
    • Sequence — The Sequence interface
    • Vector — The Vector class
    • Deque — The Deque class
    • Map — The Map class
    • Pair — The Pair class
    • Set — The Set class
    • Stack — The Stack class
    • Queue — The Queue class
    • PriorityQueue — The PriorityQueue class


Geo IP Location

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • GeoIP Funções
    • geoip_asnum_by_name — Get the Autonomous System Numbers (ASN)
    • geoip_continent_code_by_name — Get the two letter continent code
    • geoip_country_code_by_name — Get the two letter country code
    • geoip_country_code3_by_name — Get the three letter country code
    • geoip_country_name_by_name — Get the full country name
    • geoip_database_info — Get GeoIP Database information
    • geoip_db_avail — Determine if GeoIP Database is available
    • geoip_db_filename — Returns the filename of the corresponding GeoIP Database
    • geoip_db_get_all_info — Returns detailed information about all GeoIP database types
    • geoip_domain_by_name — Get the second level domain name
    • geoip_id_by_name — Get the Internet connection type
    • geoip_isp_by_name — Get the Internet Service Provider (ISP) name
    • geoip_netspeedcell_by_name — Get the Internet connection speed
    • geoip_org_by_name — Get the organization name
    • geoip_record_by_name — Returns the detailed City information found in the GeoIP Database
    • geoip_region_by_name — Get the country code and region
    • geoip_region_name_by_code — Returns the region name for some country and region code combo
    • geoip_setup_custom_directory — Set a custom directory for the GeoIP database
    • geoip_time_zone_by_country_and_region — Returns the time zone for some country and region code combo


Introdução

The GeoIP extension allows you to find the location of an IP address. City, State, Country, Longitude, Latitude, and other information as all, such as ISP and connection type can be obtained with the help of GeoIP.

Aviso

This extension does not support MaxMind's current "GeoIP2" databases, only the "GeoIP legacy" database files.


Dependências

This extension requires the GeoIP C library version 1.4.0 or higher to be installed. You can grab the latest version from » http://www.maxmind.com/app/c and compile it yourself.

By default, you will only have access to the Free GeoIP Country or GeoLite City databases. While this module can work with other types of database, you must buy a commercial license from » Maxmind.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/geoip.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

GeoIP Opções de Configuração
Nome | Padrão | Modificável | Changelog
geoip.custom_directory | "" | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

geoip.custom_directory string

Empty by default, but can be set to force a different database path than the one compiled in the library.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

GEOIP_COUNTRY_EDITION (int)
GEOIP_REGION_EDITION_REV0 (int)
GEOIP_CITY_EDITION_REV0 (int)
GEOIP_ORG_EDITION (int)
GEOIP_ISP_EDITION (int)
GEOIP_CITY_EDITION_REV1 (int)
GEOIP_REGION_EDITION_REV1 (int)
GEOIP_PROXY_EDITION (int)
GEOIP_ASNUM_EDITION (int)
GEOIP_NETSPEED_EDITION (int)
GEOIP_DOMAIN_EDITION (int)

The following constants are for net speed:

GEOIP_UNKNOWN_SPEED (int)
GEOIP_DIALUP_SPEED (int)
GEOIP_CABLEDSL_SPEED (int)
GEOIP_CORPORATE_SPEED (int)


GeoIP Funções

Índice

  • geoip_asnum_by_name — Get the Autonomous System Numbers (ASN)
  • geoip_continent_code_by_name — Get the two letter continent code
  • geoip_country_code_by_name — Get the two letter country code
  • geoip_country_code3_by_name — Get the three letter country code
  • geoip_country_name_by_name — Get the full country name
  • geoip_database_info — Get GeoIP Database information
  • geoip_db_avail — Determine if GeoIP Database is available
  • geoip_db_filename — Returns the filename of the corresponding GeoIP Database
  • geoip_db_get_all_info — Returns detailed information about all GeoIP database types
  • geoip_domain_by_name — Get the second level domain name
  • geoip_id_by_name — Get the Internet connection type
  • geoip_isp_by_name — Get the Internet Service Provider (ISP) name
  • geoip_netspeedcell_by_name — Get the Internet connection speed
  • geoip_org_by_name — Get the organization name
  • geoip_record_by_name — Returns the detailed City information found in the GeoIP Database
  • geoip_region_by_name — Get the country code and region
  • geoip_region_name_by_code — Returns the region name for some country and region code combo
  • geoip_setup_custom_directory — Set a custom directory for the GeoIP database
  • geoip_time_zone_by_country_and_region — Returns the time zone for some country and region code combo


Get the Autonomous System Numbers (ASN)

  • « GeoIP Funções
  • geoip_continent_code_by_name »
  • PHP Manual
  • GeoIP Funções
  • Get the Autonomous System Numbers (ASN)

geoip_asnum_by_name

(PECL geoip >= 1.1.0)

geoip_asnum_by_name — Get the Autonomous System Numbers (ASN)

Descrição

geoip_asnum_by_name ( string $hostname ) : string

The geoip_asnum_by_name() function will return the Autonomous System Numbers (ASN) associated with an IP address.

Parâmetros

hostname

The hostname or IP address.

Valor Retornado

Returns the ASN on success, or false if the address cannot be found in the database.

Exemplos

Exemplo #1 A geoip_asnum_by_name() example

This will output the ASN of the host www.example.com.

<?php
$asn = geoip_asnum_by_name('www.example.com');

if ($asn) {
    echo 'The ASN is: ' . $asn;
}
?>

O exemplo acima irá imprimir:

The ASN is: AS15133 EdgeCast Networks, Inc


Get the two letter continent code

  • « geoip_asnum_by_name
  • geoip_country_code_by_name »
  • PHP Manual
  • GeoIP Funções
  • Get the two letter continent code

geoip_continent_code_by_name

(PECL geoip >= 1.0.3)

geoip_continent_code_by_name — Get the two letter continent code

Descrição

geoip_continent_code_by_name ( string $hostname ) : string

The geoip_continent_code_by_name() function will return the two letter continent code corresponding to a hostname or an IP address.

Parâmetros

hostname

The hostname or IP address whose location is to be looked-up.

Valor Retornado

Returns the two letter continent code on success, or false if the address cannot be found in the database.

Continent codes
Code | Continent name
AF | Africa
AN | Antarctica
AS | Asia
EU | Europe
NA | North america
OC | Oceania
SA | South america

Exemplos

Exemplo #1 A geoip_continent_code_by_name() example

This will print where the host example.com is located.

<?php
$continent = geoip_continent_code_by_name('www.example.com');
if ($continent) {
    echo 'This host is located in: ' . $continent;
}
?>

O exemplo acima irá imprimir:

 This host is located in: NA

Veja Também

  • geoip_country_code_by_name() - Get the two letter country code


Get the two letter country code

  • « geoip_continent_code_by_name
  • geoip_country_code3_by_name »
  • PHP Manual
  • GeoIP Funções
  • Get the two letter country code

geoip_country_code_by_name

(PECL geoip >= 0.2.0)

geoip_country_code_by_name — Get the two letter country code

Descrição

geoip_country_code_by_name ( string $hostname ) : string

The geoip_country_code_by_name() function will return the two letter country code corresponding to a hostname or an IP address.

Parâmetros

hostname

The hostname or IP address whose location is to be looked-up.

Valor Retornado

Returns the two letter ISO country code on success, or false if the address cannot be found in the database.

Exemplos

Exemplo #1 A geoip_country_code_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_code_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

O exemplo acima irá imprimir:

This host is located in: US

Notas

Cuidado

Please see » http://www.maxmind.com/en/iso3166 for a complete list of possible return values, including special codes.

Veja Também

  • geoip_country_code3_by_name() - Get the three letter country code
  • geoip_country_name_by_name() - Get the full country name


Get the three letter country code

  • « geoip_country_code_by_name
  • geoip_country_name_by_name »
  • PHP Manual
  • GeoIP Funções
  • Get the three letter country code

geoip_country_code3_by_name

(PECL geoip >= 0.2.0)

geoip_country_code3_by_name — Get the three letter country code

Descrição

geoip_country_code3_by_name ( string $hostname ) : string

The geoip_country_code3_by_name() function will return the three letter country code corresponding to a hostname or an IP address.

Parâmetros

hostname

The hostname or IP address whose location is to be looked-up.

Valor Retornado

Returns the three letter country code on success, or false if the address cannot be found in the database.

Exemplos

Exemplo #1 A geoip_country_code3_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_code3_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

O exemplo acima irá imprimir:

This host is located in: USA

Veja Também

  • geoip_country_code_by_name() - Get the two letter country code
  • geoip_country_name_by_name() - Get the full country name


Get the full country name

  • « geoip_country_code3_by_name
  • geoip_database_info »
  • PHP Manual
  • GeoIP Funções
  • Get the full country name

geoip_country_name_by_name

(PECL geoip >= 0.2.0)

geoip_country_name_by_name — Get the full country name

Descrição

geoip_country_name_by_name ( string $hostname ) : string

The geoip_country_name_by_name() function will return the full country name corresponding to a hostname or an IP address.

Parâmetros

hostname

The hostname or IP address whose location is to be looked-up.

Valor Retornado

Returns the country name on success, or false if the address cannot be found in the database.

Exemplos

Exemplo #1 A geoip_country_name_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_name_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

O exemplo acima irá imprimir:

 This host is located in: United States

Veja Também

  • geoip_country_code_by_name() - Get the two letter country code
  • geoip_country_code3_by_name() - Get the three letter country code


Get GeoIP Database information

  • « geoip_country_name_by_name
  • geoip_db_avail »
  • PHP Manual
  • GeoIP Funções
  • Get GeoIP Database information

geoip_database_info

(PECL geoip >= 0.2.0)

geoip_database_info — Get GeoIP Database information

Descrição

geoip_database_info ( int $database = GEOIP_COUNTRY_EDITION ) : string

The geoip_database_info() function returns the corresponding GeoIP Database version as it is defined inside the binary file.

If this function is called without arguments, it returns the version of the GeoIP Free Country Edition.

Parâmetros

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

Valor Retornado

Returns the corresponding database version, or null on error.

Exemplos

Exemplo #1 A geoip_database_info() example

This will output information regarding the database.

<?php
print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

O exemplo acima irá imprimir:

GEO-106FREE 20060801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved


Determine if GeoIP Database is available

  • « geoip_database_info
  • geoip_db_filename »
  • PHP Manual
  • GeoIP Funções
  • Determine if GeoIP Database is available

geoip_db_avail

(PECL geoip >= 1.0.1)

geoip_db_avail — Determine if GeoIP Database is available

Descrição

geoip_db_avail ( int $database ) : bool

The geoip_db_avail() function returns if the corresponding GeoIP Database is available and can be opened on disk.

It does not indicate if the file is a proper database, only if it is readable.

Parâmetros

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

Valor Retornado

Returns true is database exists, false if not found, or null on error.

Exemplos

Exemplo #1 A geoip_db_avail() example

This will output the current database version string.

<?php

if (geoip_db_avail(GEOIP_COUNTRY_EDITION))
    print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

O exemplo acima irá imprimir:

GEO-106FREE 20080801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved


Returns the filename of the corresponding GeoIP Database

  • « geoip_db_avail
  • geoip_db_get_all_info »
  • PHP Manual
  • GeoIP Funções
  • Returns the filename of the corresponding GeoIP Database

geoip_db_filename

(PECL geoip >= 1.0.1)

geoip_db_filename — Returns the filename of the corresponding GeoIP Database

Descrição

geoip_db_filename ( int $database ) : string

The geoip_db_filename() function returns the filename of the corresponding GeoIP Database.

It does not indicate if the file exists or not on disk, only where the library is looking for the database.

Parâmetros

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

Valor Retornado

Returns the filename of the corresponding database, or null on error.

Exemplos

Exemplo #1 A geoip_db_filename() example

This will output the filename of the corresponding database.

<?php

print geoip_db_filename(GEOIP_COUNTRY_EDITION);

?>

O exemplo acima irá imprimir:

/usr/share/GeoIP/GeoIP.dat


Returns detailed information about all GeoIP database types

  • « geoip_db_filename
  • geoip_domain_by_name »
  • PHP Manual
  • GeoIP Funções
  • Returns detailed information about all GeoIP database types

geoip_db_get_all_info

(PECL geoip >= 1.0.1)

geoip_db_get_all_info — Returns detailed information about all GeoIP database types

Descrição

geoip_db_get_all_info ( ) : array

The geoip_db_get_all_info() function will return detailed information as a multi-dimensional array about all the GeoIP database types.

This function is available even if no databases are installed. It will simply list them as non-available.

The names of the different keys of the returning associative array are as follows:

  • "available" -- Boolean, indicate if DB is available (see geoip_db_avail())
  • "description" -- The database description
  • "filename" -- The database filename on disk (see geoip_db_filename())

Valor Retornado

Returns the associative array.

Exemplos

Exemplo #1 A geoip_db_get_all_info() example

This will print the array containing all the information.

<?php
$infos = geoip_db_get_all_info();
if (is_array($infos)) {
    var_dump($infos);
}
?>

O exemplo acima irá imprimir:

array(11) {
  [1]=>
  array(3) {
    ["available"]=>
    bool(true)
    ["description"]=>
    string(21) "GeoIP Country Edition"
    ["filename"]=>
    string(32) "/usr/share/GeoIP/GeoIP.dat"
  }

[ ... ]

  [11]=>
  array(3) {
    ["available"]=>
    bool(false)
    ["description"]=>
    string(25) "GeoIP Domain Name Edition"
    ["filename"]=>
    string(38) "/usr/share/GeoIP/GeoIPDomain.dat"
  }
}

Exemplo #2 A geoip_db_get_all_info() example

You can use the various constants as keys to get only parts of the information.

<?php
$infos = geoip_db_get_all_info();
if ($infos[GEOIP_COUNTRY_EDITION]['available']) {
    echo $infos[GEOIP_COUNTRY_EDITION]['description'];
}
?>

O exemplo acima irá imprimir:

GeoIP Country Edition


Get the second level domain name

  • « geoip_db_get_all_info
  • geoip_id_by_name »
  • PHP Manual
  • GeoIP Funções
  • Get the second level domain name

geoip_domain_by_name

(PECL geoip >= 1.1.0)

geoip_domain_by_name — Get the second level domain name

Descrição

geoip_domain_by_name ( string $hostname ) : string

The geoip_domain_by_name() function will return the second level domain names associated with a hostname or an IP address.

This function is currently only available to users who have bought a commercial GeoIP Domain Edition. A warning will be issued if the proper database cannot be located.

Parâmetros

hostname

The hostname or IP address.

Valor Retornado

Returns the domain name on success, or false if the address cannot be found in the database.

Exemplos

Exemplo #1 A geoip_domain_by_name() example

This will output the domain associated with IP 61.106.139.1.

<?php
$domain = geoip_domain_by_name('61.106.139.1');

if ($domain) {
    echo 'The domain is: '. $domain;
}

?>

O exemplo acima irá imprimir:

The domain is: von.co.kr


Get the Internet connection type

  • « geoip_domain_by_name
  • geoip_isp_by_name »
  • PHP Manual
  • GeoIP Funções
  • Get the Internet connection type

geoip_id_by_name

(PECL geoip >= 0.2.0)

geoip_id_by_name — Get the Internet connection type

Descrição

geoip_id_by_name ( string $hostname ) : int

The geoip_id_by_name() function will return the Internet connection type corresponding to a hostname or an IP address.

The return value is numeric and can be compared to the following constants:

  • GEOIP_UNKNOWN_SPEED
  • GEOIP_DIALUP_SPEED
  • GEOIP_CABLEDSL_SPEED
  • GEOIP_CORPORATE_SPEED

Parâmetros

hostname

The hostname or IP address whose connection type is to be looked-up.

Valor Retornado

Returns the connection type.

Exemplos

Exemplo #1 A geoip_id_by_name() example

This will output the connection type of the host example.com.

<?php
$netspeed = geoip_id_by_name('www.example.com');

echo 'The connection type is ';

switch ($netspeed) {
    case GEOIP_DIALUP_SPEED:
        echo 'dial-up';
        break;
    case GEOIP_CABLEDSL_SPEED:
        echo 'cable or DSL';
        break;
    case GEOIP_CORPORATE_SPEED:
        echo 'corporate';
        break;
    case GEOIP_UNKNOWN_SPEED:
    default:
        echo 'unknown';
}
?>

O exemplo acima irá imprimir:

The connection type is corporate


Get the Internet Service Provider (ISP) name

  • « geoip_id_by_name
  • geoip_netspeedcell_by_name »
  • PHP Manual
  • GeoIP Funções
  • Get the Internet Service Provider (ISP) name

geoip_isp_by_name

(PECL geoip >= 1.0.2)

geoip_isp_by_name — Get the Internet Service Provider (ISP) name

Descrição

geoip_isp_by_name ( string $hostname ) : string

The geoip_isp_by_name() function will return the name of the Internet Service Provider (ISP) that an IP is assigned to.

This function is currently only available to users who have bought a commercial GeoIP ISP Edition. A warning will be issued if the proper database cannot be located.

Parâmetros

hostname

The hostname or IP address.

Valor Retornado

Returns the ISP name on success, or false if the address cannot be found in the database.

Exemplos

Exemplo #1 A geoip_isp_by_name() example

This will print the ISP name of host example.com.

<?php
$isp = geoip_isp_by_name('www.example.com');
if ($isp) {
    echo 'This host IP is from ISP: ' . $isp;
}
?>

O exemplo acima irá imprimir:

This host IP is from ISP: ICANN c/o Internet Assigned Numbers Authority


Get the Internet connection speed

  • « geoip_isp_by_name
  • geoip_org_by_name »
  • PHP Manual
  • GeoIP Funções
  • Get the Internet connection speed

geoip_netspeedcell_by_name

(PECL geoip >= 1.1.0)

geoip_netspeedcell_by_name — Get the Internet connection speed

Descrição

geoip_netspeedcell_by_name ( string $hostname ) : string

The geoip_netspeedcell_by_name() function will return the Internet connection type and speed corresponding to a hostname or an IP address.

This function is only available if using GeoIP Library version 1.4.8 or newer.

This function is currently only available to users who have bought a commercial GeoIP NetSpeedCell Edition. A warning will be issued if the proper database cannot be located.

The return value is a string, common values are:

  • Cable/DSL
  • Dialup
  • Cellular
  • Corporate

Parâmetros

hostname

The hostname or IP address.

Valor Retornado

Returns the connection speed on success, or false if the address cannot be found in the database.

Exemplos

Exemplo #1 A geoip_netspeedcell_by_name() example

This will output the connection speed of the host example.com.

<?php
$netspeed = geoip_netspeedcell_by_name('www.example.com');

if ($netspeed) {
    echo 'The connection type is: '. $netspeed;
}
?>

O exemplo acima irá imprimir:

The connection type is: Corporate


Get the organization name

  • « geoip_netspeedcell_by_name
  • geoip_record_by_name »
  • PHP Manual
  • GeoIP Funções
  • Get the organization name

geoip_org_by_name

(PECL geoip >= 0.2.0)

geoip_org_by_name — Get the organization name

Descrição

geoip_org_by_name ( string $hostname ) : string

The geoip_org_by_name() function will return the name of the organization that an IP is assigned to.

This function is currently only available to users who have bought a commercial GeoIP Organization, ISP or AS Edition. A warning will be issued if the proper database cannot be located.

Parâmetros

hostname

The hostname or IP address.

Valor Retornado

Returns the organization name on success, or false if the address cannot be found in the database.

Exemplos

Exemplo #1 A geoip_org_by_name() example

This will print to whom the host example.com IP is allocated.

<?php
$org = geoip_org_by_name('www.example.com');
if ($org) {
    echo 'This host IP is allocated to: ' . $org;
}
?>

O exemplo acima irá imprimir:

This host IP is allocated to: ICANN c/o Internet Assigned Numbers Authority


Returns the detailed City information found in the GeoIP Database

  • « geoip_org_by_name
  • geoip_region_by_name »
  • PHP Manual
  • GeoIP Funções
  • Returns the detailed City information found in the GeoIP Database

geoip_record_by_name

(PECL geoip >= 0.2.0)

geoip_record_by_name — Returns the detailed City information found in the GeoIP Database

Descrição

geoip_record_by_name ( string $hostname ) : array

The geoip_record_by_name() function will return the record information corresponding to a hostname or an IP address.

This function is available for both GeoLite City Edition and commercial GeoIP City Edition. A warning will be issued if the proper database cannot be located.

The names of the different keys of the returning associative array are as follows:

  • "continent_code" -- Two letter continent code (as of version 1.0.4 with libgeoip 1.4.3 or newer)
  • "country_code" -- Two letter country code (see geoip_country_code_by_name())
  • "country_code3" -- Three letter country code (see geoip_country_code3_by_name())
  • "country_name" -- The country name (see geoip_country_name_by_name())
  • "region" -- The region code (ex: CA for California)
  • "city" -- The city.
  • "postal_code" -- The Postal Code, FSA or Zip Code.
  • "latitude" -- The Latitude as signed double.
  • "longitude" -- The Longitude as signed double.
  • "dma_code" -- Designated Market Area code (USA and Canada only)
  • "area_code" -- The PSTN area code (ex: 212)

Parâmetros

hostname

The hostname or IP address whose record is to be looked-up.

Valor Retornado

Returns the associative array on success, or false if the address cannot be found in the database.

Changelog

Versão | Descrição
PECL geoip 1.0.4 | Adding the continent_code with GeoIP Library 1.4.3 or newer only
PECL geoip 1.0.3 | Adding country_code3 and country_name

Exemplos

Exemplo #1 A geoip_record_by_name() example

This will print the array containing the record of host example.com.

<?php
$record = geoip_record_by_name('www.example.com');
if ($record) {
    print_r($record);
}
?>

O exemplo acima irá imprimir:

Array
(
    [continent_code] => NA
    [country_code] => US
    [country_code3] => USA
    [country_name] => United States
    [region] => CA
    [city] => Marina Del Rey
    [postal_code] =>
    [latitude] => 33.9776992798
    [longitude] => -118.435096741
    [dma_code] => 803
    [area_code] => 310
)


Get the country code and region

  • « geoip_record_by_name
  • geoip_region_name_by_code »
  • PHP Manual
  • GeoIP Funções
  • Get the country code and region

geoip_region_by_name

(PECL geoip >= 0.2.0)

geoip_region_by_name — Get the country code and region

Descrição

geoip_region_by_name ( string $hostname ) : array

The geoip_region_by_name() function will return the country and region corresponding to a hostname or an IP address.

This function is currently only available to users who have bought a commercial GeoIP Region Edition. A warning will be issued if the proper database cannot be located.

The names of the different keys of the returning associative array are as follows:

  • "country_code" -- Two letter country code (see geoip_country_code_by_name())
  • "region" -- The region code (ex: CA for California)

Parâmetros

hostname

The hostname or IP address whose region is to be looked-up.

Valor Retornado

Returns the associative array on success, or false if the address cannot be found in the database.

Exemplos

Exemplo #1 A geoip_region_by_name() example

This will print the array containing the country code and region of the host example.com.

<?php
$region = geoip_region_by_name('www.example.com');
if ($region) {
    print_r($region);
}
?>

O exemplo acima irá imprimir:

Array
(
    [country_code] => US
    [region] => CA
)


Returns the region name for some country and region code combo

  • « geoip_region_by_name
  • geoip_setup_custom_directory »
  • PHP Manual
  • GeoIP Funções
  • Returns the region name for some country and region code combo

geoip_region_name_by_code

(PECL geoip >= 1.0.4)

geoip_region_name_by_code — Returns the region name for some country and region code combo

Descrição

geoip_region_name_by_code ( string $country_code , string $region_code ) : string

The geoip_region_name_by_code() function will return the region name corresponding to a country and region code combo.

In the United States, the region code corresponds to the two-letter abbreviation of each state. In Canada, the region code corresponds to the two-letter province or territory code as attributed by Canada Post.

For the rest of the world, GeoIP uses FIPS 10-4 codes to represent regions. You can check » http://www.maxmind.com/app/fips10_4 for a detailed list of FIPS 10-4 codes.

This function is always available if using GeoIP Library version 1.4.1 or newer. The data is taken directly from the GeoIP Library and not from any database.

Parâmetros

country_code

The two-letter country code (see geoip_country_code_by_name())

region_code

The two-letter (or digit) region code (see geoip_region_by_name())

Valor Retornado

Returns the region name on success, or false if the country and region code combo cannot be found.

Exemplos

Exemplo #1 A geoip_region_name_by_code() example using region code for US/Canada

This will print the region name for country CA (Canada), region QC (Quebec).

<?php
$region = geoip_region_name_by_code('CA', 'QC');
if ($region) {
    echo 'Region name for CA/QC is: ' . $region;
}
?>

O exemplo acima irá imprimir:

Region name for CA/QC is: Quebec

Exemplo #2 A geoip_region_name_by_code() example using FIPS codes

This will print the region name for country JP (Japan), region 01.

<?php
$region = geoip_region_name_by_code('JP', '01');
if ($region) {
    echo 'Region name for JP/01 is: ' . $region;
}
?>

O exemplo acima irá imprimir:

Region name for JP/01 is: Aichi


Set a custom directory for the GeoIP database

  • « geoip_region_name_by_code
  • geoip_time_zone_by_country_and_region »
  • PHP Manual
  • GeoIP Funções
  • Set a custom directory for the GeoIP database

geoip_setup_custom_directory

(PECL geoip >= 1.1.0)

geoip_setup_custom_directory — Set a custom directory for the GeoIP database

Descrição

geoip_setup_custom_directory ( string $path ) : void

The geoip_setup_custom_directory() function will change the default directory of the GeoIP database. This is equivalent to changing geoip.custom_directory.

Parâmetros

path

The full path of where the GeoIP database is on disk.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 A geoip_setup_custom_directory() example

This will change the GeoIP default database path.

<?php

geoip_setup_custom_directory('/some/other/path');

print geoip_db_filename(GEOIP_COUNTRY_EDITION);

?>

O exemplo acima irá imprimir:

/some/other/path/GeoIP.dat


Returns the time zone for some country and region code combo

  • « geoip_setup_custom_directory
  • FANN »
  • PHP Manual
  • GeoIP Funções
  • Returns the time zone for some country and region code combo

geoip_time_zone_by_country_and_region

(PECL geoip >= 1.0.4)

geoip_time_zone_by_country_and_region — Returns the time zone for some country and region code combo

Descrição

geoip_time_zone_by_country_and_region ( string $country_code , string $region_code = ? ) : string

The geoip_time_zone_by_country_and_region() function will return the time zone corresponding to a country and region code combo.

In the United States, the region code corresponds to the two-letter abbreviation of each state. In Canada, the region code corresponds to the two-letter province or territory code as attributed by Canada Post.

For the rest of the world, GeoIP uses FIPS 10-4 codes to represent regions. You can check » http://www.maxmind.com/app/fips10_4 for a detailed list of FIPS 10-4 codes.

This function is always available if using GeoIP Library version 1.4.1 or newer. The data is taken directly from the GeoIP Library and not from any database.

Parâmetros

country_code

The two-letter country code (see geoip_country_code_by_name())

region_code

The two-letter (or digit) region code (see geoip_region_by_name())

Valor Retornado

Returns the time zone on success, or false if the country and region code combo cannot be found.

Exemplos

Exemplo #1 A geoip_time_zone_by_country_and_region() example using region code for US/Canada

This will print the time zone for country CA (Canada), region QC (Quebec).

<?php
$timezone = geoip_time_zone_by_country_and_region('CA', 'QC');
if ($timezone) {
    echo 'Time zone for CA/QC is: ' . $timezone;
}
?>

O exemplo acima irá imprimir:

Time zone for CA/QC is: America/Montreal

Exemplo #2 A geoip_time_zone_by_country_and_region() example using FIPS codes

This will print the time zone for country JP (Japan), region 01 (Aichi).

<?php
$timezone = geoip_time_zone_by_country_and_region('JP', '01');
if ($timezone) {
    echo 'Time zone for JP/01 is: ' . $timezone;
}
?>

O exemplo acima irá imprimir:

Time zone for JP/01 is: Asia/Tokyo


FANN (Fast Artificial Neural Network)

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • XOR training
  • Fann Funções
    • fann_cascadetrain_on_data — Trains on an entire dataset, for a period of time using the Cascade2 training algorithm
    • fann_cascadetrain_on_file — Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm
    • fann_clear_scaling_params — Clears scaling parameters
    • fann_copy — Creates a copy of a fann structure
    • fann_create_from_file — Constructs a backpropagation neural network from a configuration file
    • fann_create_shortcut_array — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_shortcut — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_sparse_array — Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
    • fann_create_sparse — Creates a standard backpropagation neural network, which is not fully connected
    • fann_create_standard_array — Creates a standard fully connected backpropagation neural network using an array of layer sizes
    • fann_create_standard — Creates a standard fully connected backpropagation neural network
    • fann_create_train_from_callback — Creates the training data struct from a user supplied function
    • fann_create_train — Creates an empty training data struct
    • fann_descale_input — Scale data in input vector after get it from ann based on previously calculated parameters
    • fann_descale_output — Scale data in output vector after get it from ann based on previously calculated parameters
    • fann_descale_train — Descale input and output data based on previously calculated parameters
    • fann_destroy_train — Destructs the training data
    • fann_destroy — Destroys the entire network and properly freeing all the associated memory
    • fann_duplicate_train_data — Returns an exact copy of a fann train data
    • fann_get_activation_function — Returns the activation function
    • fann_get_activation_steepness — Returns the activation steepness for supplied neuron and layer number
    • fann_get_bias_array — Get the number of bias in each layer in the network
    • fann_get_bit_fail_limit — Returns the bit fail limit used during training
    • fann_get_bit_fail — The number of fail bits
    • fann_get_cascade_activation_functions_count — Returns the number of cascade activation functions
    • fann_get_cascade_activation_functions — Returns the cascade activation functions
    • fann_get_cascade_activation_steepnesses_count — The number of activation steepnesses
    • fann_get_cascade_activation_steepnesses — Returns the cascade activation steepnesses
    • fann_get_cascade_candidate_change_fraction — Returns the cascade candidate change fraction
    • fann_get_cascade_candidate_limit — Return the candidate limit
    • fann_get_cascade_candidate_stagnation_epochs — Returns the number of cascade candidate stagnation epochs
    • fann_get_cascade_max_cand_epochs — Returns the maximum candidate epochs
    • fann_get_cascade_max_out_epochs — Returns the maximum out epochs
    • fann_get_cascade_min_cand_epochs — Returns the minimum candidate epochs
    • fann_get_cascade_min_out_epochs — Returns the minimum out epochs
    • fann_get_cascade_num_candidate_groups — Returns the number of candidate groups
    • fann_get_cascade_num_candidates — Returns the number of candidates used during training
    • fann_get_cascade_output_change_fraction — Returns the cascade output change fraction
    • fann_get_cascade_output_stagnation_epochs — Returns the number of cascade output stagnation epochs
    • fann_get_cascade_weight_multiplier — Returns the weight multiplier
    • fann_get_connection_array — Get connections in the network
    • fann_get_connection_rate — Get the connection rate used when the network was created
    • fann_get_errno — Returns the last error number
    • fann_get_errstr — Returns the last errstr
    • fann_get_layer_array — Get the number of neurons in each layer in the network
    • fann_get_learning_momentum — Returns the learning momentum
    • fann_get_learning_rate — Returns the learning rate
    • fann_get_MSE — Reads the mean square error from the network
    • fann_get_network_type — Get the type of neural network it was created as
    • fann_get_num_input — Get the number of input neurons
    • fann_get_num_layers — Get the number of layers in the neural network
    • fann_get_num_output — Get the number of output neurons
    • fann_get_quickprop_decay — Returns the decay which is a factor that weights should decrease in each iteration during quickprop training
    • fann_get_quickprop_mu — Returns the mu factor
    • fann_get_rprop_decrease_factor — Returns the increase factor used during RPROP training
    • fann_get_rprop_delta_max — Returns the maximum step-size
    • fann_get_rprop_delta_min — Returns the minimum step-size
    • fann_get_rprop_delta_zero — Returns the initial step-size
    • fann_get_rprop_increase_factor — Returns the increase factor used during RPROP training
    • fann_get_sarprop_step_error_shift — Returns the sarprop step error shift
    • fann_get_sarprop_step_error_threshold_factor — Returns the sarprop step error threshold factor
    • fann_get_sarprop_temperature — Returns the sarprop temperature
    • fann_get_sarprop_weight_decay_shift — Returns the sarprop weight decay shift
    • fann_get_total_connections — Get the total number of connections in the entire network
    • fann_get_total_neurons — Get the total number of neurons in the entire network
    • fann_get_train_error_function — Returns the error function used during training
    • fann_get_train_stop_function — Returns the stop function used during training
    • fann_get_training_algorithm — Returns the training algorithm
    • fann_init_weights — Initialize the weights using Widrow + Nguyen’s algorithm
    • fann_length_train_data — Returns the number of training patterns in the train data
    • fann_merge_train_data — Merges the train data
    • fann_num_input_train_data — Returns the number of inputs in each of the training patterns in the train data
    • fann_num_output_train_data — Returns the number of outputs in each of the training patterns in the train data
    • fann_print_error — Prints the error string
    • fann_randomize_weights — Give each connection a random weight between min_weight and max_weight
    • fann_read_train_from_file — Reads a file that stores training data
    • fann_reset_errno — Resets the last error number
    • fann_reset_errstr — Resets the last error string
    • fann_reset_MSE — Resets the mean square error from the network
    • fann_run — Will run input through the neural network
    • fann_save_train — Save the training structure to a file
    • fann_save — Saves the entire network to a configuration file
    • fann_scale_input_train_data — Scales the inputs in the training data to the specified range
    • fann_scale_input — Scale data in input vector before feed it to ann based on previously calculated parameters
    • fann_scale_output_train_data — Scales the outputs in the training data to the specified range
    • fann_scale_output — Scale data in output vector before feed it to ann based on previously calculated parameters
    • fann_scale_train_data — Scales the inputs and outputs in the training data to the specified range
    • fann_scale_train — Scale input and output data based on previously calculated parameters
    • fann_set_activation_function_hidden — Sets the activation function for all of the hidden layers
    • fann_set_activation_function_layer — Sets the activation function for all the neurons in the supplied layer
    • fann_set_activation_function_output — Sets the activation function for the output layer
    • fann_set_activation_function — Sets the activation function for supplied neuron and layer
    • fann_set_activation_steepness_hidden — Sets the steepness of the activation steepness for all neurons in the all hidden layers
    • fann_set_activation_steepness_layer — Sets the activation steepness for all of the neurons in the supplied layer number
    • fann_set_activation_steepness_output — Sets the steepness of the activation steepness in the output layer
    • fann_set_activation_steepness — Sets the activation steepness for supplied neuron and layer number
    • fann_set_bit_fail_limit — Set the bit fail limit used during training
    • fann_set_callback — Sets the callback function for use during training
    • fann_set_cascade_activation_functions — Sets the array of cascade candidate activation functions
    • fann_set_cascade_activation_steepnesses — Sets the array of cascade candidate activation steepnesses
    • fann_set_cascade_candidate_change_fraction — Sets the cascade candidate change fraction
    • fann_set_cascade_candidate_limit — Sets the candidate limit
    • fann_set_cascade_candidate_stagnation_epochs — Sets the number of cascade candidate stagnation epochs
    • fann_set_cascade_max_cand_epochs — Sets the max candidate epochs
    • fann_set_cascade_max_out_epochs — Sets the maximum out epochs
    • fann_set_cascade_min_cand_epochs — Sets the min candidate epochs
    • fann_set_cascade_min_out_epochs — Sets the minimum out epochs
    • fann_set_cascade_num_candidate_groups — Sets the number of candidate groups
    • fann_set_cascade_output_change_fraction — Sets the cascade output change fraction
    • fann_set_cascade_output_stagnation_epochs — Sets the number of cascade output stagnation epochs
    • fann_set_cascade_weight_multiplier — Sets the weight multiplier
    • fann_set_error_log — Sets where the errors are logged to
    • fann_set_input_scaling_params — Calculate input scaling parameters for future use based on training data
    • fann_set_learning_momentum — Sets the learning momentum
    • fann_set_learning_rate — Sets the learning rate
    • fann_set_output_scaling_params — Calculate output scaling parameters for future use based on training data
    • fann_set_quickprop_decay — Sets the quickprop decay factor
    • fann_set_quickprop_mu — Sets the quickprop mu factor
    • fann_set_rprop_decrease_factor — Sets the decrease factor used during RPROP training
    • fann_set_rprop_delta_max — Sets the maximum step-size
    • fann_set_rprop_delta_min — Sets the minimum step-size
    • fann_set_rprop_delta_zero — Sets the initial step-size
    • fann_set_rprop_increase_factor — Sets the increase factor used during RPROP training
    • fann_set_sarprop_step_error_shift — Sets the sarprop step error shift
    • fann_set_sarprop_step_error_threshold_factor — Sets the sarprop step error threshold factor
    • fann_set_sarprop_temperature — Sets the sarprop temperature
    • fann_set_sarprop_weight_decay_shift — Sets the sarprop weight decay shift
    • fann_set_scaling_params — Calculate input and output scaling parameters for future use based on training data
    • fann_set_train_error_function — Sets the error function used during training
    • fann_set_train_stop_function — Sets the stop function used during training
    • fann_set_training_algorithm — Sets the training algorithm
    • fann_set_weight_array — Set connections in the network
    • fann_set_weight — Set a connection in the network
    • fann_shuffle_train_data — Shuffles training data, randomizing the order
    • fann_subset_train_data — Returns an copy of a subset of the train data
    • fann_test_data — Test a set of training data and calculates the MSE for the training data
    • fann_test — Test with a set of inputs, and a set of desired outputs
    • fann_train_epoch — Train one epoch with a set of training data
    • fann_train_on_data — Trains on an entire dataset for a period of time
    • fann_train_on_file — Trains on an entire dataset, which is read from file, for a period of time
    • fann_train — Train one iteration with a set of inputs, and a set of desired outputs
  • FANNConnection — The FANNConnection class
    • FANNConnection::__construct — The connection constructor
    • FANNConnection::getFromNeuron — Returns the postions of starting neuron
    • FANNConnection::getToNeuron — Returns the postions of terminating neuron
    • FANNConnection::getWeight — Returns the connection weight
    • FANNConnection::setWeight — Sets the connections weight


Introdução

PHP binding for FANN (Fast Artificial Neural Network) Library which implements multilayer artificial neural networks with support for both fully connected and sparsely connected networks. It includes a framework for easy handling of training data sets. It is easy to use, versatile, well documented, and fast.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

PHP >= 5.2.0 and libfann >= 2.1.0


Instalação

The FANN PHP extension should work on all Linux systems.

  • FANN Library Installation
  • PECL Installation
  • Manual Installation

FANN Library Installation

Before you start installation make sure that libfann is installed on your system. It's part of the main repository in the most Linux distributions (search for fann). You need a development version.

If it is not installed, you need to install it first. Either download it from the » official site or get it from your distro repository. For example on Fedora:

$ sudo yum install fann-devel
or Ubuntu:

$ sudo apt-get install libfann-dev

If the library is re-installed manually, then all old library file should be removed before re-installing otherwise the old library version could be linked.

PECL Installation

This extension is available on PECL. The installation is very simple. Just run:

$ sudo pecl install fann

Manual Installation

For developers and people interested in the latest changes, you can compile the driver from the latest source code on » Github. Go to Github and click the "Download ZIP" button. Then run:

$ unzip php-fann-master.zip
$ cd php-fann-master
$ phpize
$ ./configure
$ make all
$ sudo make install

Make the following changes to php.ini:

  • Make sure the extension_dir variable is pointing to the directory containing fann.so. The build will display where it is installing the PHP driver with output that looks something like:

Installing '/usr/lib/php/extensions/no-debug-non-zts-20060613/fann.so'
    Make sure that it is the same as the PHP extension directory by running:

$ php -i | grep extension_dir
  extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20060613 =>
                   /usr/lib/php/extensions/no-debug-non-zts-20060613
    If it's not, change the extension_dir in php.ini or move fann.so.

  • To load the extension on PHP startup, add a line:

extension=fann.so


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Training algorithms
FANN_TRAIN_INCREMENTAL (int)
Standard backpropagation algorithm, where the weights are updated after each training pattern. This means that the weights are updated many times during a single epoch. For this reason some problems, will train very fast with this algorithm, while other more advanced problems will not train very well.
FANN_TRAIN_BATCH (int)
Standard backpropagation algorithm, where the weights are updated after calculating the mean square error for the whole training set. This means that the weights are only updated once during a epoch. For this reason some problems, will train slower with this algorithm. But since the mean square error is calculated more correctly than in incremental training, some problems will reach a better solutions with this algorithm.
FANN_TRAIN_RPROP (int)
A more advanced batch training algorithm which achieves good results for many problems. The RPROP training algorithm is adaptive, and does therefore not use the learning_rate. Some other parameters can however be set to change the way the RPROP algorithm works, but it is only recommended for users with insight in how the RPROP training algorithm works. The RPROP training algorithm is described by [Riedmiller and Braun, 1993], but the actual learning algorithm used here is the iRPROP- training algorithm which is described by [Igel and Husken, 2000] which is an variety of the standard RPROP training algorithm.
FANN_TRAIN_QUICKPROP (int)
A more advanced batch training algorithm which achieves good results for many problems. The quickprop training algorithm uses the learning_rate parameter along with other more advanced parameters, but it is only recommended to change these advanced parameters, for users with insight in how the quickprop training algorithm works. The quickprop training algorithm is described by [Fahlman, 1988].
FANN_TRAIN_SARPROP (int)
Even more advance training algorithm. Only for version 2.2
Activation functions
FANN_LINEAR (int)
Linear activation function.
FANN_THRESHOLD (int)
Threshold activation function.
FANN_THRESHOLD_SYMMETRIC (int)
Threshold activation function.
FANN_SIGMOID (int)
Sigmoid activation function.
FANN_SIGMOID_STEPWISE (int)
Stepwise linear approximation to sigmoid.
FANN_SIGMOID_SYMMETRIC (int)
Symmetric sigmoid activation function, aka. tanh.
FANN_SIGMOID_SYMMETRIC_STEPWISE (int)
Stepwise linear approximation to symmetric sigmoid
FANN_GAUSSIAN (int)
Gaussian activation function.
FANN_GAUSSIAN_SYMMETRIC (int)
Symmetric gaussian activation function.
FANN_GAUSSIAN_STEPWISE (int)
Stepwise gaussian activation function.
FANN_ELLIOT (int)
Fast (sigmoid like) activation function defined by David Elliott.
FANN_ELLIOT_SYMMETRIC (int)
Fast (symmetric sigmoid like) activation function defined by David Elliott.
FANN_LINEAR_PIECE (int)
Bounded linear activation function.
FANN_LINEAR_PIECE_SYMMETRIC (int)
Bounded linear activation function.
FANN_SIN_SYMMETRIC (int)
Periodical sinus activation function.
FANN_COS_SYMMETRIC (int)
Periodical cosinus activation function.
FANN_SIN (int)
Periodical sinus activation function.
FANN_COS (int)
Periodical cosinus activation function.
Error function used during training
FANN_ERRORFUNC_LINEAR (int)
Standard linear error function.
FANN_ERRORFUNC_TANH (int)
Tanh error function; usually better but may require a lower learning rate. This error function aggressively targets outputs that differ much from the desired, while not targeting outputs that only differ slightly. Not recommended for cascade or incremental training.
Stop criteria used during training
FANN_STOPFUNC_MSE (int)
Stop criteria is Mean Square Error (MSE) value.
FANN_STOPFUNC_BIT (int)
Stop criteria is number of bits that fail. The number of bits means the number of output neurons which differs more than the bit fail limit (see fann_get_bit_fail_limit, fann_set_bit_fail_limit). The bits are counted in all of the training data, so this number can be higher than the number of training data.
Definition of network types used by fann_get_network_type()
FANN_NETTYPE_LAYER (int)
Each layer only has connections to the next layer.
FANN_NETTYPE_SHORTCUT (int)
Each layer has connections to all following layers
Errors
FANN_E_NO_ERROR (int)
No error.
FANN_E_CANT_OPEN_CONFIG_R (int)
Unable to open configuration file for reading.
FANN_E_CANT_OPEN_CONFIG_W (int)
Unable to open configuration file for writing.
FANN_E_WRONG_CONFIG_VERSION (int)
Wrong version of configuration file.
FANN_E_CANT_READ_CONFIG (int)
Error reading info from configuration file.
FANN_E_CANT_READ_NEURON (int)
Error reading neuron info from configuration file.
FANN_E_CANT_READ_CONNECTIONS (int)
Error reading connections from configuration file.
FANN_E_WRONG_NUM_CONNECTIONS (int)
Number of connections not equal to the number expected.
FANN_E_CANT_OPEN_TD_W (int)
Unable to open train data file for writing.
FANN_E_CANT_OPEN_TD_R (int)
Unable to open train data file for reading.
FANN_E_CANT_READ_TD (int)
Error reading training data from file.
FANN_E_CANT_ALLOCATE_MEM (int)
Unable to allocate memory.
FANN_E_CANT_TRAIN_ACTIVATION (int)
Unable to train with the selected activation function.
FANN_E_CANT_USE_ACTIVATION (int)
Unable to use the selected activation function.
FANN_E_TRAIN_DATA_MISMATCH (int)
Irreconcilable differences between two struct fann_train_data structures.
FANN_E_CANT_USE_TRAIN_ALG (int)
Unable to use the selected training algorithm.
FANN_E_TRAIN_DATA_SUBSET (int)
Trying to take subset which is not within the training set.
FANN_E_INDEX_OUT_OF_BOUND (int)
Index is out of bound.
FANN_E_SCALE_NOT_PRESENT (int)
Scaling parameters not present.
FANN_E_INPUT_NO_MATCH (int)
The number of input neurons in the ann and data do not match
FANN_E_OUTPUT_NO_MATCH (int)
The number of output neurons in the ann and data do not match.


  • « Constantes pré-definidas
  • XOR training »
  • PHP Manual
  • FANN
  • Exemplos

Exemplos

Índice

  • XOR training


XOR training

This example shows how to train data for XOR function

Exemplo #1 xor.data file

4 2 1
-1 -1
-1
-1 1
1
1 -1
1
1 1
-1

Exemplo #2 Simple train

<?php
$num_input = 2;
$num_output = 1;
$num_layers = 3;
$num_neurons_hidden = 3;
$desired_error = 0.001;
$max_epochs = 500000;
$epochs_between_reports = 1000;

$ann = fann_create_standard($num_layers, $num_input, $num_neurons_hidden, $num_output);

if ($ann) {
    fann_set_activation_function_hidden($ann, FANN_SIGMOID_SYMMETRIC);
    fann_set_activation_function_output($ann, FANN_SIGMOID_SYMMETRIC);

    $filename = dirname(__FILE__) . "/xor.data";
    if (fann_train_on_file($ann, $filename, $max_epochs, $epochs_between_reports, $desired_error))
        fann_save($ann, dirname(__FILE__) . "/xor_float.net");

    fann_destroy($ann);
}
?>

This example shows how to read and run data for XOR function

Exemplo #3 Simple test

<?php
$train_file = (dirname(__FILE__) . "/xor_float.net");
if (!is_file($train_file))
    die("The file xor_float.net has not been created! Please run simple_train.php to generate it");

$ann = fann_create_from_file($train_file);
if (!$ann)
    die("ANN could not be created");

$input = array(-1, 1);
$calc_out = fann_run($ann, $input);
printf("xor test (%f,%f) -> %f\n", $input[0], $input[1], $calc_out[0]);
fann_destroy($ann);
?>


Fann Funções

Índice

  • fann_cascadetrain_on_data — Trains on an entire dataset, for a period of time using the Cascade2 training algorithm
  • fann_cascadetrain_on_file — Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm
  • fann_clear_scaling_params — Clears scaling parameters
  • fann_copy — Creates a copy of a fann structure
  • fann_create_from_file — Constructs a backpropagation neural network from a configuration file
  • fann_create_shortcut_array — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_shortcut — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_sparse_array — Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
  • fann_create_sparse — Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard_array — Creates a standard fully connected backpropagation neural network using an array of layer sizes
  • fann_create_standard — Creates a standard fully connected backpropagation neural network
  • fann_create_train_from_callback — Creates the training data struct from a user supplied function
  • fann_create_train — Creates an empty training data struct
  • fann_descale_input — Scale data in input vector after get it from ann based on previously calculated parameters
  • fann_descale_output — Scale data in output vector after get it from ann based on previously calculated parameters
  • fann_descale_train — Descale input and output data based on previously calculated parameters
  • fann_destroy_train — Destructs the training data
  • fann_destroy — Destroys the entire network and properly freeing all the associated memory
  • fann_duplicate_train_data — Returns an exact copy of a fann train data
  • fann_get_activation_function — Returns the activation function
  • fann_get_activation_steepness — Returns the activation steepness for supplied neuron and layer number
  • fann_get_bias_array — Get the number of bias in each layer in the network
  • fann_get_bit_fail_limit — Returns the bit fail limit used during training
  • fann_get_bit_fail — The number of fail bits
  • fann_get_cascade_activation_functions_count — Returns the number of cascade activation functions
  • fann_get_cascade_activation_functions — Returns the cascade activation functions
  • fann_get_cascade_activation_steepnesses_count — The number of activation steepnesses
  • fann_get_cascade_activation_steepnesses — Returns the cascade activation steepnesses
  • fann_get_cascade_candidate_change_fraction — Returns the cascade candidate change fraction
  • fann_get_cascade_candidate_limit — Return the candidate limit
  • fann_get_cascade_candidate_stagnation_epochs — Returns the number of cascade candidate stagnation epochs
  • fann_get_cascade_max_cand_epochs — Returns the maximum candidate epochs
  • fann_get_cascade_max_out_epochs — Returns the maximum out epochs
  • fann_get_cascade_min_cand_epochs — Returns the minimum candidate epochs
  • fann_get_cascade_min_out_epochs — Returns the minimum out epochs
  • fann_get_cascade_num_candidate_groups — Returns the number of candidate groups
  • fann_get_cascade_num_candidates — Returns the number of candidates used during training
  • fann_get_cascade_output_change_fraction — Returns the cascade output change fraction
  • fann_get_cascade_output_stagnation_epochs — Returns the number of cascade output stagnation epochs
  • fann_get_cascade_weight_multiplier — Returns the weight multiplier
  • fann_get_connection_array — Get connections in the network
  • fann_get_connection_rate — Get the connection rate used when the network was created
  • fann_get_errno — Returns the last error number
  • fann_get_errstr — Returns the last errstr
  • fann_get_layer_array — Get the number of neurons in each layer in the network
  • fann_get_learning_momentum — Returns the learning momentum
  • fann_get_learning_rate — Returns the learning rate
  • fann_get_MSE — Reads the mean square error from the network
  • fann_get_network_type — Get the type of neural network it was created as
  • fann_get_num_input — Get the number of input neurons
  • fann_get_num_layers — Get the number of layers in the neural network
  • fann_get_num_output — Get the number of output neurons
  • fann_get_quickprop_decay — Returns the decay which is a factor that weights should decrease in each iteration during quickprop training
  • fann_get_quickprop_mu — Returns the mu factor
  • fann_get_rprop_decrease_factor — Returns the increase factor used during RPROP training
  • fann_get_rprop_delta_max — Returns the maximum step-size
  • fann_get_rprop_delta_min — Returns the minimum step-size
  • fann_get_rprop_delta_zero — Returns the initial step-size
  • fann_get_rprop_increase_factor — Returns the increase factor used during RPROP training
  • fann_get_sarprop_step_error_shift — Returns the sarprop step error shift
  • fann_get_sarprop_step_error_threshold_factor — Returns the sarprop step error threshold factor
  • fann_get_sarprop_temperature — Returns the sarprop temperature
  • fann_get_sarprop_weight_decay_shift — Returns the sarprop weight decay shift
  • fann_get_total_connections — Get the total number of connections in the entire network
  • fann_get_total_neurons — Get the total number of neurons in the entire network
  • fann_get_train_error_function — Returns the error function used during training
  • fann_get_train_stop_function — Returns the stop function used during training
  • fann_get_training_algorithm — Returns the training algorithm
  • fann_init_weights — Initialize the weights using Widrow + Nguyen’s algorithm
  • fann_length_train_data — Returns the number of training patterns in the train data
  • fann_merge_train_data — Merges the train data
  • fann_num_input_train_data — Returns the number of inputs in each of the training patterns in the train data
  • fann_num_output_train_data — Returns the number of outputs in each of the training patterns in the train data
  • fann_print_error — Prints the error string
  • fann_randomize_weights — Give each connection a random weight between min_weight and max_weight
  • fann_read_train_from_file — Reads a file that stores training data
  • fann_reset_errno — Resets the last error number
  • fann_reset_errstr — Resets the last error string
  • fann_reset_MSE — Resets the mean square error from the network
  • fann_run — Will run input through the neural network
  • fann_save_train — Save the training structure to a file
  • fann_save — Saves the entire network to a configuration file
  • fann_scale_input_train_data — Scales the inputs in the training data to the specified range
  • fann_scale_input — Scale data in input vector before feed it to ann based on previously calculated parameters
  • fann_scale_output_train_data — Scales the outputs in the training data to the specified range
  • fann_scale_output — Scale data in output vector before feed it to ann based on previously calculated parameters
  • fann_scale_train_data — Scales the inputs and outputs in the training data to the specified range
  • fann_scale_train — Scale input and output data based on previously calculated parameters
  • fann_set_activation_function_hidden — Sets the activation function for all of the hidden layers
  • fann_set_activation_function_layer — Sets the activation function for all the neurons in the supplied layer
  • fann_set_activation_function_output — Sets the activation function for the output layer
  • fann_set_activation_function — Sets the activation function for supplied neuron and layer
  • fann_set_activation_steepness_hidden — Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_layer — Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_output — Sets the steepness of the activation steepness in the output layer
  • fann_set_activation_steepness — Sets the activation steepness for supplied neuron and layer number
  • fann_set_bit_fail_limit — Set the bit fail limit used during training
  • fann_set_callback — Sets the callback function for use during training
  • fann_set_cascade_activation_functions — Sets the array of cascade candidate activation functions
  • fann_set_cascade_activation_steepnesses — Sets the array of cascade candidate activation steepnesses
  • fann_set_cascade_candidate_change_fraction — Sets the cascade candidate change fraction
  • fann_set_cascade_candidate_limit — Sets the candidate limit
  • fann_set_cascade_candidate_stagnation_epochs — Sets the number of cascade candidate stagnation epochs
  • fann_set_cascade_max_cand_epochs — Sets the max candidate epochs
  • fann_set_cascade_max_out_epochs — Sets the maximum out epochs
  • fann_set_cascade_min_cand_epochs — Sets the min candidate epochs
  • fann_set_cascade_min_out_epochs — Sets the minimum out epochs
  • fann_set_cascade_num_candidate_groups — Sets the number of candidate groups
  • fann_set_cascade_output_change_fraction — Sets the cascade output change fraction
  • fann_set_cascade_output_stagnation_epochs — Sets the number of cascade output stagnation epochs
  • fann_set_cascade_weight_multiplier — Sets the weight multiplier
  • fann_set_error_log — Sets where the errors are logged to
  • fann_set_input_scaling_params — Calculate input scaling parameters for future use based on training data
  • fann_set_learning_momentum — Sets the learning momentum
  • fann_set_learning_rate — Sets the learning rate
  • fann_set_output_scaling_params — Calculate output scaling parameters for future use based on training data
  • fann_set_quickprop_decay — Sets the quickprop decay factor
  • fann_set_quickprop_mu — Sets the quickprop mu factor
  • fann_set_rprop_decrease_factor — Sets the decrease factor used during RPROP training
  • fann_set_rprop_delta_max — Sets the maximum step-size
  • fann_set_rprop_delta_min — Sets the minimum step-size
  • fann_set_rprop_delta_zero — Sets the initial step-size
  • fann_set_rprop_increase_factor — Sets the increase factor used during RPROP training
  • fann_set_sarprop_step_error_shift — Sets the sarprop step error shift
  • fann_set_sarprop_step_error_threshold_factor — Sets the sarprop step error threshold factor
  • fann_set_sarprop_temperature — Sets the sarprop temperature
  • fann_set_sarprop_weight_decay_shift — Sets the sarprop weight decay shift
  • fann_set_scaling_params — Calculate input and output scaling parameters for future use based on training data
  • fann_set_train_error_function — Sets the error function used during training
  • fann_set_train_stop_function — Sets the stop function used during training
  • fann_set_training_algorithm — Sets the training algorithm
  • fann_set_weight_array — Set connections in the network
  • fann_set_weight — Set a connection in the network
  • fann_shuffle_train_data — Shuffles training data, randomizing the order
  • fann_subset_train_data — Returns an copy of a subset of the train data
  • fann_test_data — Test a set of training data and calculates the MSE for the training data
  • fann_test — Test with a set of inputs, and a set of desired outputs
  • fann_train_epoch — Train one epoch with a set of training data
  • fann_train_on_data — Trains on an entire dataset for a period of time
  • fann_train_on_file — Trains on an entire dataset, which is read from file, for a period of time
  • fann_train — Train one iteration with a set of inputs, and a set of desired outputs


Trains on an entire dataset, for a period of time using the Cascade2 training algorithm

  • « Fann Funções
  • fann_cascadetrain_on_file »
  • PHP Manual
  • Fann Funções
  • Trains on an entire dataset, for a period of time using the Cascade2 training algorithm

fann_cascadetrain_on_data

(PECL fann >= 1.0.0)

fann_cascadetrain_on_data — Trains on an entire dataset, for a period of time using the Cascade2 training algorithm

Descrição

fann_cascadetrain_on_data ( resource $ann , resource $data , int $max_neurons , int $neurons_between_reports , float $desired_error ) : bool

The cascade output change fraction is a number between 0 and 1 determining how large a fraction the fann_get_MSE() value should change within fann_get_cascade_output_stagnation_epochs() during training of the output connections, in order for the training not to stagnate. If the training stagnates, the training of the output connections will be ended and new candidates will be prepared.

This training uses the parameters set using the fann_set_cascade_..., but it also uses another training algorithm as it’s internal training algorithm. This algorithm can be set to either FANN_TRAIN_RPROP or FANN_TRAIN_QUICKPROP by fann_set_training_algorithm(), and the parameters set for these training algorithms will also affect the cascade training.

Parâmetros

ann

resource da rede neural.

data

Dados de treinamento da resource rede neural.

max_neurons

The maximum number of neurons to be added to neural network.

neurons_between_reports

The number of neurons between printing a status report. A value of zero means no reports should be printed.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on which stop function is chosen by fann_set_train_stop_function()

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_cascadetrain_on_file() - Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm


Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm

  • « fann_cascadetrain_on_data
  • fann_clear_scaling_params »
  • PHP Manual
  • Fann Funções
  • Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm

fann_cascadetrain_on_file

(PECL fann >= 1.0.0)

fann_cascadetrain_on_file — Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm

Descrição

fann_cascadetrain_on_file ( resource $ann , string $filename , int $max_neurons , int $neurons_between_reports , float $desired_error ) : bool

Does the same as fann_cascadetrain_on_data(), but reads the training data directly from a file.

Parâmetros

ann

resource da rede neural.

filename

A file containing the data for training.

max_neurons

The maximum number of neurons to be added to neural network

neurons_between_reports

The number of neurons between printing a status report. A value of zero means no reports should be printed.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on which stop function is chosen by fann_set_train_stop_function().

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_cascadetrain_on_data() - Trains on an entire dataset, for a period of time using the Cascade2 training algorithm


Clears scaling parameters

  • « fann_cascadetrain_on_file
  • fann_copy »
  • PHP Manual
  • Fann Funções
  • Clears scaling parameters

fann_clear_scaling_params

(PECL fann >= 1.0.0)

fann_clear_scaling_params — Clears scaling parameters

Descrição

fann_clear_scaling_params ( resource $ann ) : bool

Clears scaling parameters.

Parâmetros

ann

resource da rede neural.

Valor Retornado

Retorna true no sucesso ou false em outros casos.


Creates a copy of a fann structure

  • « fann_clear_scaling_params
  • fann_create_from_file »
  • PHP Manual
  • Fann Funções
  • Creates a copy of a fann structure

fann_copy

(PECL fann >= 1.0.0)

fann_copy — Creates a copy of a fann structure

Descrição

fann_copy ( resource $ann ) : resource

Creates a copy of a fann structure.

Parâmetros

ann

resource da rede neural.

Valor Retornado

Returns a copy of neural network resource on success, or false on error

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_test() - Test with a set of inputs, and a set of desired outputs


Constructs a backpropagation neural network from a configuration file

  • « fann_copy
  • fann_create_shortcut_array »
  • PHP Manual
  • Fann Funções
  • Constructs a backpropagation neural network from a configuration file

fann_create_from_file

(PECL fann >= 1.0.0)

fann_create_from_file — Constructs a backpropagation neural network from a configuration file

Descrição

fann_create_from_file ( string $configuration_file ) : resource

Constructs a backpropagation neural network from a configuration file, which have been saved by fann_save().

Parâmetros

configuration_file

The configuration file path.

Valor Retornado

Retorna um resource de rede neural no sucesso ou false em erros.

Veja Também

  • fann_save() - Saves the entire network to a configuration file


Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

  • « fann_create_from_file
  • fann_create_shortcut »
  • PHP Manual
  • Fann Funções
  • Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_shortcut_array

(PECL fann >= 1.0.0)

fann_create_shortcut_array — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

Descrição

fann_create_shortcut_array ( int $num_layers , array $layers ) : resource

Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections using an array of layers sizes.

Parâmetros

num_layers

The total number of layers including the input and the output layer.

layers

An array of layers sizes.

Valor Retornado

Returns a neural network resource on success, or false on error.

Veja Também

  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network


Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

  • « fann_create_shortcut_array
  • fann_create_sparse_array »
  • PHP Manual
  • Fann Funções
  • Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_shortcut

(PECL fann >= 1.0.0)

fann_create_shortcut — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

Descrição

fann_create_shortcut ( int $num_layers , int $num_neurons1 , int $num_neurons2 , int ...$num_neuronsN ) : resource

Creates a standard backpropagation neural network, which is not fully connected and which also has shortcut connections.

Shortcut connections are connections that skip layers. A fully connected network with shortcut connections, is a network where all neurons are connected to all neurons in later layers. Including direct connections from the input layer to the output layer.

Parâmetros

num_layers

The total number of layers including the input and the output layer.

num_neurons1

Number of neurons in the first layer.

num_neurons2

Number of neurons in the second layer.

num_neuronsN

Number of neurons in other layers.

Valor Retornado

Returns a neural network resource on success, or false on error.

Veja Também

  • fann_create_shortcut_array() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network


Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes

  • « fann_create_shortcut
  • fann_create_sparse »
  • PHP Manual
  • Fann Funções
  • Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes

fann_create_sparse_array

(PECL fann >= 1.0.0)

fann_create_sparse_array — Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes

Descrição

fann_create_sparse_array ( float $connection_rate , int $num_layers , array $layers ) : resource

Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes.

Parâmetros

connection_rate

The connection rate controls how many connections there will be in the network. If the connection rate is set to 1, the network will be fully connected, but if it is set to 0.5 only half of the connections will be set. A connection rate of 1 will yield the same result as fann_create_standard().

num_layers

The total number of layers including the input and the output layer.

layers

An array of layer sizes.

Valor Retornado

Returns a neural network resource on success, or false on error.

Veja Também

  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections


Creates a standard backpropagation neural network, which is not fully connected

  • « fann_create_sparse_array
  • fann_create_standard_array »
  • PHP Manual
  • Fann Funções
  • Creates a standard backpropagation neural network, which is not fully connected

fann_create_sparse

(PECL fann >= 1.0.0)

fann_create_sparse — Creates a standard backpropagation neural network, which is not fully connected

Descrição

fann_create_sparse ( float $connection_rate , int $num_layers , int $num_neurons1 , int $num_neurons2 , int ...$num_neuronsN ) : resource

Creates a standard backpropagation neural network, which is not fully connected.

Parâmetros

connection_rate

The connection rate controls how many connections there will be in the network. If the connection rate is set to 1, the network will be fully connected, but if it is set to 0.5 only half of the connections will be set. A connection rate of 1 will yield the same result as fann_create_standard().

num_layers

The total number of layers including the input and the output layer.

num_neurons1

Number of neurons in the first layer.

num_neurons2

Number of neurons in the second layer.

num_neuronsN

Number of neurons in other layers.

Valor Retornado

Returns a neural network resource on success, or false on error.

Veja Também

  • fann_create_sparse_array() - Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections


Creates a standard fully connected backpropagation neural network using an array of layer sizes

  • « fann_create_sparse
  • fann_create_standard »
  • PHP Manual
  • Fann Funções
  • Creates a standard fully connected backpropagation neural network using an array of layer sizes

fann_create_standard_array

(PECL fann >= 1.0.0)

fann_create_standard_array — Creates a standard fully connected backpropagation neural network using an array of layer sizes

Descrição

fann_create_standard_array ( int $num_layers , array $layers ) : resource

Creates a standard fully connected backpropagation neural network.

There will be a bias neuron in each layer (except the output layer), and this bias neuron will be connected to all neurons in the next layer. When running the network, the bias nodes always emits 1.

To destroy a neural network use the fann_destroy() function.

Parâmetros

num_layers

The total number of layers including the input and the output layer.

layers

An array of layer sizes.

Valor Retornado

Returns a neural network resource on success, or false on error.

Veja Também

  • fann_create_standard() - Creates a standard fully connected backpropagation neural network
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections


Creates a standard fully connected backpropagation neural network

  • « fann_create_standard_array
  • fann_create_train_from_callback »
  • PHP Manual
  • Fann Funções
  • Creates a standard fully connected backpropagation neural network

fann_create_standard

(PECL fann >= 1.0.0)

fann_create_standard — Creates a standard fully connected backpropagation neural network

Descrição

fann_create_standard ( int $num_layers , int $num_neurons1 , int $num_neurons2 , int ...$num_neuronsN ) : resource

Creates a standard fully connected backpropagation neural network.

There will be a bias neuron in each layer (except the output layer), and this bias neuron will be connected to all neurons in the next layer. When running the network, the bias nodes always emits 1.

To destroy a neural network use the fann_destroy() function.

Parâmetros

num_layers

The total number of layers including the input and the output layer.

num_neurons1

Number of neurons in the first layer.

num_neurons2

Number of neurons in the second layer.

num_neuronsN

Number of neurons in other layers.

Valor Retornado

Returns a neural network resource on success, or false on error.

Veja Também

  • fann_create_standard_array() - Creates a standard fully connected backpropagation neural network using an array of layer sizes
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections


Creates the training data struct from a user supplied function

  • « fann_create_standard
  • fann_create_train »
  • PHP Manual
  • Fann Funções
  • Creates the training data struct from a user supplied function

fann_create_train_from_callback

(PECL fann >= 1.0.0)

fann_create_train_from_callback — Creates the training data struct from a user supplied function

Descrição

fann_create_train_from_callback ( int $num_data , int $num_input , int $num_output , callable $user_function ) : resource

Creates the training data struct from a user supplied function. As the training data are numerable (data 1, data 2...), the user must write a function that receives the number of the training data set (input, output) and returns the set.

Parâmetros

num_data

The number of training data

num_input

The number of inputs per training data

num_output

The number of ouputs per training data

user_function

The user supplied function with following parameters:

  • num - The number of the training data set
  • num_input - The number of inputs per training data
  • num_output - The number of ouputs per training data

The function should return an associative array with keys input and output and two array values of input and output.

Valor Retornado

Retorna um resource de dados de treinamento no sucesso ou false em erros.

Exemplos

Exemplo #1 fann_create_train_from_callback() example

<?php
function create_train_callback($num_data, $num_input, $num_output) {
    return array(
        "input" => array_fill(0, $num_input, 1),
        "output" => array_fill(0, $num_output, 1),
    );
}

$num_data = 3;
$num_input = 2;
$num_output = 1;
$train_data = fann_create_train_from_callback($num_data, $num_input, $num_output, "create_train_callback");
if ($train_data) {
    // Do something with $train_data
}
?>

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_read_train_from_file() - Reads a file that stores training data
  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_destroy_train() - Destructs the training data
  • fann_save_train() - Save the training structure to a file


Creates an empty training data struct

  • « fann_create_train_from_callback
  • fann_descale_input »
  • PHP Manual
  • Fann Funções
  • Creates an empty training data struct

fann_create_train

(PECL fann >= 1.0.0)

fann_create_train — Creates an empty training data struct

Descrição

fann_create_train ( int $num_data , int $num_input , int $num_output ) : resource

Creates an empty training data struct.

Parâmetros

num_data

The number of training data

num_input

The number of inputs per training data

num_output

The number of ouputs per training data

Valor Retornado

Retorna um resource de dados de treinamento no sucesso ou false em erros.

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_read_train_from_file() - Reads a file that stores training data
  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_destroy_train() - Destructs the training data
  • fann_save_train() - Save the training structure to a file


Scale data in input vector after get it from ann based on previously calculated parameters

  • « fann_create_train
  • fann_descale_output »
  • PHP Manual
  • Fann Funções
  • Scale data in input vector after get it from ann based on previously calculated parameters

fann_descale_input

(PECL fann >= 1.0.0)

fann_descale_input — Scale data in input vector after get it from ann based on previously calculated parameters

Descrição

fann_descale_input ( resource $ann , array $input_vector ) : bool

Scale data in input vector after get it from ann based on previously calculated parameters.

Parâmetros

ann

resource da rede neural.

input_vector

Input vector that will be descaled

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_scale_input() - Scale data in input vector before feed it to ann based on previously calculated parameters
  • fann_descale_output() - Scale data in output vector after get it from ann based on previously calculated parameters


Scale data in output vector after get it from ann based on previously calculated parameters

  • « fann_descale_input
  • fann_descale_train »
  • PHP Manual
  • Fann Funções
  • Scale data in output vector after get it from ann based on previously calculated parameters

fann_descale_output

(PECL fann >= 1.0.0)

fann_descale_output — Scale data in output vector after get it from ann based on previously calculated parameters

Descrição

fann_descale_output ( resource $ann , array $output_vector ) : bool

Scale data in output vector after get it from ann based on previously calculated parameters.

Parâmetros

ann

resource da rede neural.

output_vector

Output vector that will be descaled

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_scale_output() - Scale data in output vector before feed it to ann based on previously calculated parameters
  • fann_descale_input() - Scale data in input vector after get it from ann based on previously calculated parameters


Descale input and output data based on previously calculated parameters

  • « fann_descale_output
  • fann_destroy_train »
  • PHP Manual
  • Fann Funções
  • Descale input and output data based on previously calculated parameters

fann_descale_train

(PECL fann >= 1.0.0)

fann_descale_train — Descale input and output data based on previously calculated parameters

Descrição

fann_descale_train ( resource $ann , resource $train_data ) : bool

Descale input and output data based on previously calculated parameters.

Parâmetros

ann

resource da rede neural.

train_data

Dados de treinamento da resource rede neural.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_scale_train() - Scale input and output data based on previously calculated parameters
  • fann_set_scaling_params() - Calculate input and output scaling parameters for future use based on training data


Destructs the training data

  • « fann_descale_train
  • fann_destroy »
  • PHP Manual
  • Fann Funções
  • Destructs the training data

fann_destroy_train

(PECL fann >= 1.0.0)

fann_destroy_train — Destructs the training data

Descrição

fann_destroy_train ( resource $train_data ) : bool

Destructs the training data

Parâmetros

train_data

Dados de treinamento da resource rede neural.

Valor Retornado

Retorna true no sucesso ou false em outros casos.


Destroys the entire network and properly freeing all the associated memory

  • « fann_destroy_train
  • fann_duplicate_train_data »
  • PHP Manual
  • Fann Funções
  • Destroys the entire network and properly freeing all the associated memory

fann_destroy

(PECL fann >= 1.0.0)

fann_destroy — Destroys the entire network and properly freeing all the associated memory

Descrição

fann_destroy ( resource $ann ) : bool

Destroys the entire network and properly freeing all the associated memory.

Parâmetros

ann

resource da rede neural.

Valor Retornado

Retorna true no sucesso ou false em outros casos.


Returns an exact copy of a fann train data

  • « fann_destroy
  • fann_get_activation_function »
  • PHP Manual
  • Fann Funções
  • Returns an exact copy of a fann train data

fann_duplicate_train_data

(PECL fann >= 1.0.0)

fann_duplicate_train_data — Returns an exact copy of a fann train data

Descrição

fann_duplicate_train_data ( resource $data ) : resource

Returns an exact copy of a fann train data resource.

Parâmetros

data

Dados de treinamento da resource rede neural.

Valor Retornado

Retorna um resource de dados de treinamento no sucesso ou false em erros.


Returns the activation function

  • « fann_duplicate_train_data
  • fann_get_activation_steepness »
  • PHP Manual
  • Fann Funções
  • Returns the activation function

fann_get_activation_function

(PECL fann >= 1.0.0)

fann_get_activation_function — Returns the activation function

Descrição

fann_get_activation_function ( resource $ann , int $layer , int $neuron ) : int

Get the activation function for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to get activation functions for the neurons in the input layer.

The return value is one of the activation functions constants.

Parâmetros

ann

resource da rede neural.

layer

Layer number.

neuron

Neuron number.

Valor Retornado

Learning functions constant or -1 if the neuron is not defined in the neural network, or false on error.

Veja Também

  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer


Returns the activation steepness for supplied neuron and layer number

  • « fann_get_activation_function
  • fann_get_bias_array »
  • PHP Manual
  • Fann Funções
  • Returns the activation steepness for supplied neuron and layer number

fann_get_activation_steepness

(PECL fann >= 1.0.0)

fann_get_activation_steepness — Returns the activation steepness for supplied neuron and layer number

Descrição

fann_get_activation_steepness ( resource $ann , int $layer , int $neuron ) : float

Get the activation steepness for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to get activation steepness for the neurons in the input layer.

The steepness of an activation function says something about how fast the activation function goes from the minimum to the maximum. A high value for the activation function will also give a more agressive training.

When training neural networks where the output values should be at the extremes (usually 0 and 1, depending on the activation function), a steep activation function can be used (e.g. 1.0).

The default activation steepness is 0.5.

Parâmetros

ann

resource da rede neural.

layer

Layer number

neuron

Neuron number

Valor Retornado

The activation steepness for the neuron or -1 if the neuron is not defined in the neural network, or false on error.

Veja Também

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number


Get the number of bias in each layer in the network

  • « fann_get_activation_steepness
  • fann_get_bit_fail_limit »
  • PHP Manual
  • Fann Funções
  • Get the number of bias in each layer in the network

fann_get_bias_array

(PECL fann >= 1.0.0)

fann_get_bias_array — Get the number of bias in each layer in the network

Descrição

fann_get_bias_array ( resource $ann ) : array

Get the number of bias in each layer in the network.

Parâmetros

ann

resource da rede neural.

Valor Retornado

An array of numbers of bias in each layer


Returns the bit fail limit used during training

  • « fann_get_bias_array
  • fann_get_bit_fail »
  • PHP Manual
  • Fann Funções
  • Returns the bit fail limit used during training

fann_get_bit_fail_limit

(PECL fann >= 1.0.0)

fann_get_bit_fail_limit — Returns the bit fail limit used during training

Descrição

fann_get_bit_fail_limit ( resource $ann ) : float

Returns the bit fail limit used during training.

The bit fail limit is used during training where the stop function is set to FANN_STOPFUNC_BIT.

The limit is the maximum accepted difference between the desired output and the actual output during training. Each output that diverges more than this limit is counted as an error bit. This difference is divided by two when dealing with symmetric activation functions, so that symmetric and not symmetric activation functions can use the same limit.

The default bit fail limit is 0.35.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The bit fail limit, or false on error.

Veja Também

  • fann_set_bit_fail_limit() - Set the bit fail limit used during training


The number of fail bits

  • « fann_get_bit_fail_limit
  • fann_get_cascade_activation_functions_count »
  • PHP Manual
  • Fann Funções
  • The number of fail bits

fann_get_bit_fail

(PECL fann >= 1.0.0)

fann_get_bit_fail — The number of fail bits

Descrição

fann_get_bit_fail ( resource $ann ) : int

The number of fail bits; means the number of output neurons which differ more than the bit fail limit (see fann_get_bit_fail_limit(), fann_set_bit_fail_limit()). The bits are counted in all of the training data, so this number can be higher than the number of training data.

This value is reset by fann_reset_MSE() and updated by all the same functions which also updates the MSE value (e.g. fann_test_data(), fann_train_epoch())

Parâmetros

ann

resource da rede neural.

Valor Retornado

The number of bits fail, or false on error.

Veja Também

  • fann_get_MSE() - Reads the mean square error from the network
  • fann_reset_MSE() - Resets the mean square error from the network
  • fann_test_data() - Test a set of training data and calculates the MSE for the training data
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail_limit() - Returns the bit fail limit used during training
  • fann_set_bit_fail_limit() - Set the bit fail limit used during training


Returns the number of cascade activation functions

  • « fann_get_bit_fail
  • fann_get_cascade_activation_functions »
  • PHP Manual
  • Fann Funções
  • Returns the number of cascade activation functions

fann_get_cascade_activation_functions_count

(PECL fann >= 1.0.0)

fann_get_cascade_activation_functions_count — Returns the number of cascade activation functions

Descrição

fann_get_cascade_activation_functions_count ( resource $ann ) : int

The number of activation functions in the fann_get_cascade_activation_functions() array.

The default number of activation functions is 6.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The number of cascade activation functions, or false on error.

Veja Também

  • fann_get_cascade_activation_functions() - Returns the cascade activation functions
  • fann_set_cascade_activation_functions() - Sets the array of cascade candidate activation functions


Returns the cascade activation functions

  • « fann_get_cascade_activation_functions_count
  • fann_get_cascade_activation_steepnesses_count »
  • PHP Manual
  • Fann Funções
  • Returns the cascade activation functions

fann_get_cascade_activation_functions

(PECL fann >= 1.0.0)

fann_get_cascade_activation_functions — Returns the cascade activation functions

Descrição

fann_get_cascade_activation_functions ( resource $ann ) : array

The cascade activation functions array is an array of the different activation functions used by the candidates

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

The default activation functions are FANN_SIGMOID, FANN_SIGMOID_SYMMETRIC, FANN_GAUSSIAN, FANN_GAUSSIAN_SYMMETRIC, FANN_ELLIOT, FANN_ELLIOT_SYMMETRIC.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The cascade activation functions, or false on error.

Veja Também

  • fann_get_cascade_activation_functions_count() - Returns the number of cascade activation functions
  • fann_set_cascade_activation_functions() - Sets the array of cascade candidate activation functions


The number of activation steepnesses

  • « fann_get_cascade_activation_functions
  • fann_get_cascade_activation_steepnesses »
  • PHP Manual
  • Fann Funções
  • The number of activation steepnesses

fann_get_cascade_activation_steepnesses_count

(PECL fann >= 1.0.0)

fann_get_cascade_activation_steepnesses_count — The number of activation steepnesses

Descrição

fann_get_cascade_activation_steepnesses_count ( resource $ann ) : int

The number of activation steepnesses in the fann_get_cascade_activation_functions() array.

The default number of activation steepnesses is 4.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The number of activation steepnesses, or false on error.

Veja Também

  • fann_get_cascade_activation_steepnesses() - Returns the cascade activation steepnesses
  • fann_set_cascade_activation_functions() - Sets the array of cascade candidate activation functions


Returns the cascade activation steepnesses

  • « fann_get_cascade_activation_steepnesses_count
  • fann_get_cascade_candidate_change_fraction »
  • PHP Manual
  • Fann Funções
  • Returns the cascade activation steepnesses

fann_get_cascade_activation_steepnesses

(PECL fann >= 1.0.0)

fann_get_cascade_activation_steepnesses — Returns the cascade activation steepnesses

Descrição

fann_get_cascade_activation_steepnesses ( resource $ann ) : array

The cascade activation steepnesses array is an array of the different activation functions used by the candidates.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

The default activation steepnesses are {0.25, 0.50, 0.75, 1.00}.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The cascade activation steepnesses, or false on error.

Veja Também

  • fann_get_cascade_activation_steepnesses_count() - The number of activation steepnesses
  • fann_set_cascade_activation_steepnesses() - Sets the array of cascade candidate activation steepnesses


Returns the cascade candidate change fraction

  • « fann_get_cascade_activation_steepnesses
  • fann_get_cascade_candidate_limit »
  • PHP Manual
  • Fann Funções
  • Returns the cascade candidate change fraction

fann_get_cascade_candidate_change_fraction

(PECL fann >= 1.0.0)

fann_get_cascade_candidate_change_fraction — Returns the cascade candidate change fraction

Descrição

fann_get_cascade_candidate_change_fraction ( resource $ann ) : float

The cascade candidate change fraction is a number between 0 and 1 determining how large a fraction the fann_get_MSE() value should change within fann_get_cascade_candidate_stagnation_epochs() during training of the candidate neurons, in order for the training not to stagnate. If the training stagnates, the training of the candidate neurons will be ended and the best candidate will be selected.

It means that if the MSE does not change by a fraction of fann_get_cascade_candidate_change_fraction() during a period of fann_get_cascade_candidate_stagnation_epochs(), the training of the candidate neurons is stopped because the training has stagnated.

If the cascade candidate change fraction is low, the candidate neurons will be trained more and if the fraction is high they will be trained less.

The default cascade candidate change fraction is 0.01, which is equalent to a 1% change in MSE.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The cascade candidate change fraction, or false on error.

Veja Também

  • fann_set_cascade_candidate_change_fraction() - Sets the cascade candidate change fraction
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_get_cascade_candidate_stagnation_epochs() - Returns the number of cascade candidate stagnation epochs


Return the candidate limit

  • « fann_get_cascade_candidate_change_fraction
  • fann_get_cascade_candidate_stagnation_epochs »
  • PHP Manual
  • Fann Funções
  • Return the candidate limit

fann_get_cascade_candidate_limit

(PECL fann >= 1.0.0)

fann_get_cascade_candidate_limit — Return the candidate limit

Descrição

fann_get_cascade_candidate_limit ( resource $ann ) : float

The candidate limit is a limit for how much the candidate neuron may be trained. The limit is a limit on the proportion between the MSE and candidate score.

Set this to a lower value to avoid overfitting and to a higher if overfitting is not a problem.

The default candidate limit is 1000.0.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The candidate limit, or false on error.

Veja Também

  • fann_set_cascade_candidate_limit() - Sets the candidate limit


Returns the number of cascade candidate stagnation epochs

  • « fann_get_cascade_candidate_limit
  • fann_get_cascade_max_cand_epochs »
  • PHP Manual
  • Fann Funções
  • Returns the number of cascade candidate stagnation epochs

fann_get_cascade_candidate_stagnation_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_candidate_stagnation_epochs — Returns the number of cascade candidate stagnation epochs

Descrição

fann_get_cascade_candidate_stagnation_epochs ( resource $ann ) : int

The number of cascade candidate stagnation epochs determines the number of epochs training is allowed to continue without changing the MSE by a fraction of fann_get_cascade_candidate_change_fraction().

See more info about this parameter in fann_get_cascade_candidate_change_fraction().

The default number of cascade candidate stagnation epochs is 12.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The number of cascade candidate stagnation epochs, or false on error.

Veja Também

  • fann_set_cascade_candidate_stagnation_epochs() - Sets the number of cascade candidate stagnation epochs
  • fann_get_cascade_candidate_change_fraction() - Returns the cascade candidate change fraction


Returns the maximum candidate epochs

  • « fann_get_cascade_candidate_stagnation_epochs
  • fann_get_cascade_max_out_epochs »
  • PHP Manual
  • Fann Funções
  • Returns the maximum candidate epochs

fann_get_cascade_max_cand_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_max_cand_epochs — Returns the maximum candidate epochs

Descrição

fann_get_cascade_max_cand_epochs ( resource $ann ) : int

The maximum candidate epochs determines the maximum number of epochs the input connections to the candidates may be trained before adding a new candidate neuron.

The default max candidate epochs is 150.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The maximum candidate epochs, or false on error.

Veja Também

  • fann_set_cascade_max_cand_epochs() - Sets the max candidate epochs


Returns the maximum out epochs

  • « fann_get_cascade_max_cand_epochs
  • fann_get_cascade_min_cand_epochs »
  • PHP Manual
  • Fann Funções
  • Returns the maximum out epochs

fann_get_cascade_max_out_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_max_out_epochs — Returns the maximum out epochs

Descrição

fann_get_cascade_max_out_epochs ( resource $ann ) : int

The maximum out epochs determines the maximum number of epochs the output connections may be trained after adding a new candidate neuron.

The default max out epochs is 150.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The maximum out epochs, or false on error.

Veja Também

  • fann_set_cascade_max_out_epochs() - Sets the maximum out epochs


Returns the minimum candidate epochs

  • « fann_get_cascade_max_out_epochs
  • fann_get_cascade_min_out_epochs »
  • PHP Manual
  • Fann Funções
  • Returns the minimum candidate epochs

fann_get_cascade_min_cand_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_min_cand_epochs — Returns the minimum candidate epochs

Descrição

fann_get_cascade_min_cand_epochs ( resource $ann ) : int

The minimum candidate epochs determines the minimum number of epochs the input connections to the candidates may be trained before adding a new candidate neuron.

The default min candidate epochs is 50.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The minimum candidate epochs, or false on error.

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_set_cascade_min_cand_epochs() - Sets the min candidate epochs


Returns the minimum out epochs

  • « fann_get_cascade_min_cand_epochs
  • fann_get_cascade_num_candidate_groups »
  • PHP Manual
  • Fann Funções
  • Returns the minimum out epochs

fann_get_cascade_min_out_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_min_out_epochs — Returns the minimum out epochs

Descrição

fann_get_cascade_min_out_epochs ( resource $ann ) : int

The minimum out epochs determines the minimum number of epochs the output connections must be trained after adding a new candidate neuron.

The default min out epochs is 50.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The minimum out epochs, or false on error.

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_set_cascade_min_out_epochs() - Sets the minimum out epochs


Returns the number of candidate groups

  • « fann_get_cascade_min_out_epochs
  • fann_get_cascade_num_candidates »
  • PHP Manual
  • Fann Funções
  • Returns the number of candidate groups

fann_get_cascade_num_candidate_groups

(PECL fann >= 1.0.0)

fann_get_cascade_num_candidate_groups — Returns the number of candidate groups

Descrição

fann_get_cascade_num_candidate_groups ( resource $ann ) : int

The number of candidate groups is the number of groups of identical candidates which will be used during training.

This number can be used to have more candidates without having to define new parameters for the candidates.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this parameter.

The default number of candidate groups is 2.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The number of candidate groups, or false on error.

Veja Também

  • fann_set_cascade_num_candidate_groups() - Sets the number of candidate groups


Returns the number of candidates used during training

  • « fann_get_cascade_num_candidate_groups
  • fann_get_cascade_output_change_fraction »
  • PHP Manual
  • Fann Funções
  • Returns the number of candidates used during training

fann_get_cascade_num_candidates

(PECL fann >= 1.0.0)

fann_get_cascade_num_candidates — Returns the number of candidates used during training

Descrição

fann_get_cascade_num_candidates ( resource $ann ) : int

The number of candidates used during training (calculated by multiplying
fann_get_cascade_activation_functions_count(),
fann_get_cascade_activation_steepnesses_count() and
fann_get_cascade_num_candidate_groups()).

The actual candidates is defined by the fann_get_cascade_activation_functions() and fann_get_cascade_activation_steepnesses() arrays. These arrays define the activation functions and activation steepnesses used for the candidate neurons. If there are 2 activation functions in the activation function array and 3 steepnesses in the steepness array, then there will be 2x3=6 different candidates which will be trained. These 6 different candidates can be copied into several candidate groups, where the only difference between these groups is the initial weights. If the number of groups is set to 2, then the number of candidate neurons will be 2x3x2=12. The number of candidate groups is defined by fann_set_cascade_num_candidate_groups().

The default number of candidates is 6x4x2 = 48

Parâmetros

ann

resource da rede neural.

Valor Retornado

The number of candidates used during training, or false on error.

Veja Também

  • fann_get_cascade_activation_functions() - Returns the cascade activation functions
  • fann_get_cascade_activation_functions_count() - Returns the number of cascade activation functions
  • fann_get_cascade_activation_steepnesses() - Returns the cascade activation steepnesses
  • fann_get_cascade_activation_steepnesses_count() - The number of activation steepnesses
  • fann_get_cascade_num_candidate_groups() - Returns the number of candidate groups


Returns the cascade output change fraction

  • « fann_get_cascade_num_candidates
  • fann_get_cascade_output_stagnation_epochs »
  • PHP Manual
  • Fann Funções
  • Returns the cascade output change fraction

fann_get_cascade_output_change_fraction

(PECL fann >= 1.0.0)

fann_get_cascade_output_change_fraction — Returns the cascade output change fraction

Descrição

fann_get_cascade_output_change_fraction ( resource $ann ) : float

The cascade output change fraction is a number between 0 and 1 determining how large a fraction of the fann_get_MSE() value should change within fann_get_cascade_output_stagnation_epochs() during training of the output connections, in order for the training not to stagnate. If the training stagnates, the training of the output connections will be ended and new candidates will be prepared.

It means that if the MSE does not change by a fraction of fann_get_cascade_output_change_fraction() during a period of fann_get_cascade_output_stagnation_epochs(), the training of the output connections is stopped because the training has stagnated.

If the cascade output change fraction is low, the output connections will be trained more and if the fraction is high, they will be trained less.

The default cascade output change fraction is 0.01, which is equalent to a 1% change in MSE.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The cascade output change fraction, or false on error.

Veja Também

  • fann_set_cascade_output_change_fraction() - Sets the cascade output change fraction
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_get_cascade_output_stagnation_epochs() - Returns the number of cascade output stagnation epochs


Returns the number of cascade output stagnation epochs

  • « fann_get_cascade_output_change_fraction
  • fann_get_cascade_weight_multiplier »
  • PHP Manual
  • Fann Funções
  • Returns the number of cascade output stagnation epochs

fann_get_cascade_output_stagnation_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_output_stagnation_epochs — Returns the number of cascade output stagnation epochs

Descrição

fann_get_cascade_output_stagnation_epochs ( resource $ann ) : int

The number of cascade output stagnation epochs determines the number of epochs training is allowed to continue without changing the MSE by a fraction of fann_get_cascade_output_change_fraction().

See more info about this parameter in fann_get_cascade_output_change_fraction().

The default number of cascade output stagnation epochs is 12.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The number of cascade output stagnation epochs, or false on error.

Veja Também

  • fann_set_cascade_output_stagnation_epochs() - Sets the number of cascade output stagnation epochs
  • fann_get_cascade_output_change_fraction() - Returns the cascade output change fraction


Returns the weight multiplier

  • « fann_get_cascade_output_stagnation_epochs
  • fann_get_connection_array »
  • PHP Manual
  • Fann Funções
  • Returns the weight multiplier

fann_get_cascade_weight_multiplier

(PECL fann >= 1.0.0)

fann_get_cascade_weight_multiplier — Returns the weight multiplier

Descrição

fann_get_cascade_weight_multiplier ( resource $ann ) : float

The weight multiplier is a parameter which is used to multiply the weights from the candidate neuron before adding the neuron to the neural network. This parameter is usually between 0 and 1, and is used to make the training a bit less aggressive.

The default weight multiplier is 0.4.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The weight multiplier, or false on error.

Veja Também

  • fann_set_cascade_weight_multiplier() - Sets the weight multiplier


Get connections in the network

  • « fann_get_cascade_weight_multiplier
  • fann_get_connection_rate »
  • PHP Manual
  • Fann Funções
  • Get connections in the network

fann_get_connection_array

(PECL fann >= 1.0.0)

fann_get_connection_array — Get connections in the network

Descrição

fann_get_connection_array ( resource $ann ) : array

Get connections in the network.

Parâmetros

ann

resource da rede neural.

Valor Retornado

An array of connections in the network


Get the connection rate used when the network was created

  • « fann_get_connection_array
  • fann_get_errno »
  • PHP Manual
  • Fann Funções
  • Get the connection rate used when the network was created

fann_get_connection_rate

(PECL fann >= 1.0.0)

fann_get_connection_rate — Get the connection rate used when the network was created

Descrição

fann_get_connection_rate ( resource $ann ) : float

Get the connection rate used when the network was created.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The connection rate used when the network was created, or false on error.


Returns the last error number

  • « fann_get_connection_rate
  • fann_get_errstr »
  • PHP Manual
  • Fann Funções
  • Returns the last error number

fann_get_errno

(PECL fann >= 1.0.0)

fann_get_errno — Returns the last error number

Descrição

fann_get_errno ( resource $errdat ) : int

Returns the last error number.

Parâmetros

errdat

Um resource de rede neural ou um resource de dados de treinamento.

Valor Retornado

The error number, or false on error.

Veja Também

  • fann_reset_errno() - Resets the last error number
  • fann_get_errstr() - Returns the last errstr


Returns the last errstr

  • « fann_get_errno
  • fann_get_layer_array »
  • PHP Manual
  • Fann Funções
  • Returns the last errstr

fann_get_errstr

(PECL fann >= 1.0.0)

fann_get_errstr — Returns the last errstr

Descrição

fann_get_errstr ( resource $errdat ) : string

Returns the last errstr.

Parâmetros

errdat

Um resource de rede neural ou um resource de dados de treinamento.

Valor Retornado

The last error string, or false on error.

Veja Também

  • fann_reset_errstr() - Resets the last error string
  • fann_get_errno() - Returns the last error number


Get the number of neurons in each layer in the network

  • « fann_get_errstr
  • fann_get_learning_momentum »
  • PHP Manual
  • Fann Funções
  • Get the number of neurons in each layer in the network

fann_get_layer_array

(PECL fann >= 1.0.0)

fann_get_layer_array — Get the number of neurons in each layer in the network

Descrição

fann_get_layer_array ( resource $ann ) : array

Get the number of neurons in each layer in the neural network.

Bias is not included so the layers match the fann_create functions.

Parâmetros

ann

resource da rede neural.

Valor Retornado

An array of numbers of neurons in each leayer


Returns the learning momentum

  • « fann_get_layer_array
  • fann_get_learning_rate »
  • PHP Manual
  • Fann Funções
  • Returns the learning momentum

fann_get_learning_momentum

(PECL fann >= 1.0.0)

fann_get_learning_momentum — Returns the learning momentum

Descrição

fann_get_learning_momentum ( resource $ann ) : float

The learning momentum can be used to speed up FANN_TRAIN_INCREMENTAL training. A too high momentum will however not benefit training. Setting momentum to 0 will be the same as not using the momentum parameter. The recommended value of this parameter is between 0.0 and 1.0.

The default momentum is 0.

Parâmetros

ann

resource da rede neural.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

The learning momentum, or false on error.

Veja Também

  • fann_set_learning_momentum() - Sets the learning momentum
  • fann_set_training_algorithm() - Sets the training algorithm


Returns the learning rate

  • « fann_get_learning_momentum
  • fann_get_MSE »
  • PHP Manual
  • Fann Funções
  • Returns the learning rate

fann_get_learning_rate

(PECL fann >= 1.0.0)

fann_get_learning_rate — Returns the learning rate

Descrição

fann_get_learning_rate ( resource $ann ) : float

The learning rate is used to determine how aggressive training should be for some of the training algorithms (FANN_TRAIN_INCREMENTAL, FANN_TRAIN_BATCH, FANN_TRAIN_QUICKPROP). Do however note that it is not used in FANN_TRAIN_RPROP.

The default learning rate is 0.7.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The learning rate, or false on error.

Veja Também

  • fann_set_learning_rate() - Sets the learning rate
  • fann_set_training_algorithm() - Sets the training algorithm


Reads the mean square error from the network

  • « fann_get_learning_rate
  • fann_get_network_type »
  • PHP Manual
  • Fann Funções
  • Reads the mean square error from the network

fann_get_MSE

(PECL fann >= 1.0.0)

fann_get_MSE — Reads the mean square error from the network

Descrição

fann_get_MSE ( resource $ann ) : float

Reads the mean square error from the network.

Reads the mean square error from the network. This value is calculated during training or testing and can therefore sometimes be a bit off if the weights have been changed since the last calculation of the value.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The mean square error, or false on error.

Veja Também

  • fann_test_data() - Test a set of training data and calculates the MSE for the training data


Get the type of neural network it was created as

  • « fann_get_MSE
  • fann_get_num_input »
  • PHP Manual
  • Fann Funções
  • Get the type of neural network it was created as

fann_get_network_type

(PECL fann >= 1.0.0)

fann_get_network_type — Get the type of neural network it was created as

Descrição

fann_get_network_type ( resource $ann ) : int

Get the type of neural network it was created as.

Parâmetros

ann

resource da rede neural.

Valor Retornado

Network type constant, or false on error.


Get the number of input neurons

  • « fann_get_network_type
  • fann_get_num_layers »
  • PHP Manual
  • Fann Funções
  • Get the number of input neurons

fann_get_num_input

(PECL fann >= 1.0.0)

fann_get_num_input — Get the number of input neurons

Descrição

fann_get_num_input ( resource $ann ) : int

Get the number of input neurons.

Parâmetros

ann

resource da rede neural.

Valor Retornado

Number of input neurons, or false on error


Get the number of layers in the neural network

  • « fann_get_num_input
  • fann_get_num_output »
  • PHP Manual
  • Fann Funções
  • Get the number of layers in the neural network

fann_get_num_layers

(PECL fann >= 1.0.0)

fann_get_num_layers — Get the number of layers in the neural network

Descrição

fann_get_num_layers ( resource $ann ) : int

Get the number of layers in the neural network.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The number of leayers in the neural network, or false on error.


Get the number of output neurons

  • « fann_get_num_layers
  • fann_get_quickprop_decay »
  • PHP Manual
  • Fann Funções
  • Get the number of output neurons

fann_get_num_output

(PECL fann >= 1.0.0)

fann_get_num_output — Get the number of output neurons

Descrição

fann_get_num_output ( resource $ann ) : int

Get the number of output neurons.

Parâmetros

ann

resource da rede neural.

Valor Retornado

Number of output neurons, or false on error


Returns the decay which is a factor that weights should decrease in each iteration during quickprop training

  • « fann_get_num_output
  • fann_get_quickprop_mu »
  • PHP Manual
  • Fann Funções
  • Returns the decay which is a factor that weights should decrease in each iteration during quickprop training

fann_get_quickprop_decay

(PECL fann >= 1.0.0)

fann_get_quickprop_decay — Returns the decay which is a factor that weights should decrease in each iteration during quickprop training

Descrição

fann_get_quickprop_decay ( resource $ann ) : float

The decay is a small negative valued number which is a factor that the weights should decrease in each iteration during quickprop training. This is used to make sure that the weights do not become too high during training.

The default decay is -0.0001.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The decay, or false on error.

Veja Também

  • fann_set_quickprop_decay() - Sets the quickprop decay factor


Returns the mu factor

  • « fann_get_quickprop_decay
  • fann_get_rprop_decrease_factor »
  • PHP Manual
  • Fann Funções
  • Returns the mu factor

fann_get_quickprop_mu

(PECL fann >= 1.0.0)

fann_get_quickprop_mu — Returns the mu factor

Descrição

fann_get_quickprop_mu ( resource $ann ) : float

The mu factor is used to increase and decrease the step-size during quickprop training. The mu factor should always be above 1, since it would otherwise decrease the step-size when it was suppose to increase it.

The default mu factor is 1.75.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The mu factor, or false on error.

Veja Também

  • fann_set_quickprop_mu() - Sets the quickprop mu factor


Returns the increase factor used during RPROP training

  • « fann_get_quickprop_mu
  • fann_get_rprop_delta_max »
  • PHP Manual
  • Fann Funções
  • Returns the increase factor used during RPROP training

fann_get_rprop_decrease_factor

(PECL fann >= 1.0.0)

fann_get_rprop_decrease_factor — Returns the increase factor used during RPROP training

Descrição

fann_get_rprop_decrease_factor ( resource $ann ) : float

The decrease factor is a value smaller than 1, which is used to decrease the step-size during RPROP training.

The default decrease factor is 0.5.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The decrease factor, or false on error.

Veja Também

  • fann_set_rprop_decrease_factor() - Sets the decrease factor used during RPROP training


Returns the maximum step-size

  • « fann_get_rprop_decrease_factor
  • fann_get_rprop_delta_min »
  • PHP Manual
  • Fann Funções
  • Returns the maximum step-size

fann_get_rprop_delta_max

(PECL fann >= 1.0.0)

fann_get_rprop_delta_max — Returns the maximum step-size

Descrição

fann_get_rprop_delta_max ( resource $ann ) : float

The maximum step-size is a positive number determining how large the maximum step-size may be.

The default delta max is 50.0.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The maximum step-size, or false on error.

Veja Também

  • fann_set_rprop_delta_max() - Sets the maximum step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size


Returns the minimum step-size

  • « fann_get_rprop_delta_max
  • fann_get_rprop_delta_zero »
  • PHP Manual
  • Fann Funções
  • Returns the minimum step-size

fann_get_rprop_delta_min

(PECL fann >= 1.0.0)

fann_get_rprop_delta_min — Returns the minimum step-size

Descrição

fann_get_rprop_delta_min ( resource $ann ) : float

The minimum step-size is a small positive number determining how small the minimum step-size may be.

The default value delta min is 0.0.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The minimum step-size, or false on error.

Veja Também

  • fann_set_rprop_delta_min() - Sets the minimum step-size


Returns the initial step-size

  • « fann_get_rprop_delta_min
  • fann_get_rprop_increase_factor »
  • PHP Manual
  • Fann Funções
  • Returns the initial step-size

fann_get_rprop_delta_zero

(PECL fann >= 1.0.0)

fann_get_rprop_delta_zero — Returns the initial step-size

Descrição

fann_get_rprop_delta_zero ( resource $ann ) : int

The initial step-size is a positive number determining the initial step size.

The default delta zero is 0.1.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The initial step-size, or false on error.

Veja Também

  • fann_set_rprop_delta_zero() - Sets the initial step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size
  • fann_get_rprop_delta_max() - Returns the maximum step-size


Returns the increase factor used during RPROP training

  • « fann_get_rprop_delta_zero
  • fann_get_sarprop_step_error_shift »
  • PHP Manual
  • Fann Funções
  • Returns the increase factor used during RPROP training

fann_get_rprop_increase_factor

(PECL fann >= 1.0.0)

fann_get_rprop_increase_factor — Returns the increase factor used during RPROP training

Descrição

fann_get_rprop_increase_factor ( resource $ann ) : float

The increase factor is a value larger than 1, which is used to increase the step-size during RPROP training.

The default increase factor is 1.2.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The increase factor, or false on error.

Veja Também

  • fann_set_rprop_increase_factor() - Sets the increase factor used during RPROP training


Returns the sarprop step error shift

  • « fann_get_rprop_increase_factor
  • fann_get_sarprop_step_error_threshold_factor »
  • PHP Manual
  • Fann Funções
  • Returns the sarprop step error shift

fann_get_sarprop_step_error_shift

(PECL fann >= 1.0.0)

fann_get_sarprop_step_error_shift — Returns the sarprop step error shift

Descrição

fann_get_sarprop_step_error_shift ( resource $ann ) : float

Returns the sarprop step error shift.

The default step error shift is 1.385.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The sarprop step error shift , or false on error.

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_set_sarprop_step_error_shift() - Sets the sarprop step error shift


Returns the sarprop step error threshold factor

  • « fann_get_sarprop_step_error_shift
  • fann_get_sarprop_temperature »
  • PHP Manual
  • Fann Funções
  • Returns the sarprop step error threshold factor

fann_get_sarprop_step_error_threshold_factor

(PECL fann >= 1.0.0)

fann_get_sarprop_step_error_threshold_factor — Returns the sarprop step error threshold factor

Descrição

fann_get_sarprop_step_error_threshold_factor ( resource $ann ) : float

The sarprop step error threshold factor.

The default factor is 0.1.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The sarprop step error threshold factor, or false on error.

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_set_sarprop_step_error_threshold_factor() - Sets the sarprop step error threshold factor


Returns the sarprop temperature

  • « fann_get_sarprop_step_error_threshold_factor
  • fann_get_sarprop_weight_decay_shift »
  • PHP Manual
  • Fann Funções
  • Returns the sarprop temperature

fann_get_sarprop_temperature

(PECL fann >= 1.0.0)

fann_get_sarprop_temperature — Returns the sarprop temperature

Descrição

fann_get_sarprop_temperature ( resource $ann ) : float

Returns the sarprop temperature.

The default temperature is 0.015.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The sarprop temperature, or false on error.

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_set_sarprop_temperature() - Sets the sarprop temperature


Returns the sarprop weight decay shift

  • « fann_get_sarprop_temperature
  • fann_get_total_connections »
  • PHP Manual
  • Fann Funções
  • Returns the sarprop weight decay shift

fann_get_sarprop_weight_decay_shift

(PECL fann >= 1.0.0)

fann_get_sarprop_weight_decay_shift — Returns the sarprop weight decay shift

Descrição

fann_get_sarprop_weight_decay_shift ( resource $ann ) : float

The sarprop weight decay shift.

The default delta max is -6.644.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The sarprop weight decay shift, or false on error.

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_set_sarprop_weight_decay_shift() - Sets the sarprop weight decay shift


Get the total number of connections in the entire network

  • « fann_get_sarprop_weight_decay_shift
  • fann_get_total_neurons »
  • PHP Manual
  • Fann Funções
  • Get the total number of connections in the entire network

fann_get_total_connections

(PECL fann >= 1.0.0)

fann_get_total_connections — Get the total number of connections in the entire network

Descrição

fann_get_total_connections ( resource $ann ) : int

Get the total number of connections in the entire network.

Parâmetros

ann

resource da rede neural.

Valor Retornado

Total number of connections in the entire network, or false on error


Get the total number of neurons in the entire network

  • « fann_get_total_connections
  • fann_get_train_error_function »
  • PHP Manual
  • Fann Funções
  • Get the total number of neurons in the entire network

fann_get_total_neurons

(PECL fann >= 1.0.0)

fann_get_total_neurons — Get the total number of neurons in the entire network

Descrição

fann_get_total_neurons ( resource $ann ) : int

Get the total number of neurons in the entire network. This number does also include the bias neurons, so a 2-4-2 network has 2+4+2 +2(bias) = 10 neurons.

Parâmetros

ann

resource da rede neural.

Valor Retornado

Total number of neurons in the entire network, or false on error.


Returns the error function used during training

  • « fann_get_total_neurons
  • fann_get_train_stop_function »
  • PHP Manual
  • Fann Funções
  • Returns the error function used during training

fann_get_train_error_function

(PECL fann >= 1.0.0)

fann_get_train_error_function — Returns the error function used during training

Descrição

fann_get_train_error_function ( resource $ann ) : int

Returns the error function used during training.

The error functions are described further in error functions constants.

The default error function is FANN_ERRORFUNC_TANH.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The error function constant, or false on error.

Veja Também

  • fann_set_train_error_function() - Sets the error function used during training


Returns the stop function used during training

  • « fann_get_train_error_function
  • fann_get_training_algorithm »
  • PHP Manual
  • Fann Funções
  • Returns the stop function used during training

fann_get_train_stop_function

(PECL fann >= 1.0.0)

fann_get_train_stop_function — Returns the stop function used during training

Descrição

fann_get_train_stop_function ( resource $ann ) : int

Returns the stop function used during training.

The stop functions are described further in stop functions constants.

The default stop function is FANN_STOPFUNC_MSE.

Parâmetros

ann

resource da rede neural.

Valor Retornado

The stop function constant, or false on error.

Veja Também

  • fann_set_train_stop_function() - Sets the stop function used during training


Returns the training algorithm

  • « fann_get_train_stop_function
  • fann_init_weights »
  • PHP Manual
  • Fann Funções
  • Returns the training algorithm

fann_get_training_algorithm

(PECL fann >= 1.0.0)

fann_get_training_algorithm — Returns the training algorithm

Descrição

fann_get_training_algorithm ( resource $ann ) : int

Returns the training algorithm. This training algorithm is used by fann_train_on_data() and associated functions.

Note that this algorithm is also used during fann_cascadetrain_on_data(), although only FANN_TRAIN_RPROP and FANN_TRAIN_QUICKPROP is allowed during cascade training.

Parâmetros

ann

resource da rede neural.

Valor Retornado

Training algorithm constant, or false on error.

Veja Também

  • fann_set_training_algorithm() - Sets the training algorithm


Initialize the weights using Widrow + Nguyen’s algorithm

  • « fann_get_training_algorithm
  • fann_length_train_data »
  • PHP Manual
  • Fann Funções
  • Initialize the weights using Widrow + Nguyen’s algorithm

fann_init_weights

(PECL fann >= 1.0.0)

fann_init_weights — Initialize the weights using Widrow + Nguyen’s algorithm

Descrição

fann_init_weights ( resource $ann , resource $train_data ) : bool

Initialize the weights using Widrow + Nguyen’s algorithm.

This function behaves similarly to fann_randomize_weights(). It will use the algorithm developed by Derrick Nguyen and Bernard Widrow to set the weights in such a way as to speed up training. This technique is not always successful, and in some cases can be less efficient than a purely random initialization.

The algorithm requires access to the range of the input data (for example largest and smallest input), and therefore accepts a second argument, data, which is the training data that will be used to train the network.

Parâmetros

ann

resource da rede neural.

train_data

Dados de treinamento da resource rede neural.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_randomize_weights() - Give each connection a random weight between min_weight and max_weight
  • fann_read_train_from_file() - Reads a file that stores training data


Returns the number of training patterns in the train data

  • « fann_init_weights
  • fann_merge_train_data »
  • PHP Manual
  • Fann Funções
  • Returns the number of training patterns in the train data

fann_length_train_data

(PECL fann >= 1.0.0)

fann_length_train_data — Returns the number of training patterns in the train data

Descrição

fann_length_train_data ( resource $data ) : int

Returns the number of training patterns in the train data resource.

Parâmetros

data

Dados de treinamento da resource rede neural.

Valor Retornado

Number of elements in the train data resource, or false on error.


Merges the train data

  • « fann_length_train_data
  • fann_num_input_train_data »
  • PHP Manual
  • Fann Funções
  • Merges the train data

fann_merge_train_data

(PECL fann >= 1.0.0)

fann_merge_train_data — Merges the train data

Descrição

fann_merge_train_data ( resource $data1 , resource $data2 ) : resource

Merges the data from data1 and data2 into a new train data resource.

Parâmetros

data1

Dados de treinamento da resource rede neural.

data2

Dados de treinamento da resource rede neural.

Valor Retornado

New merged train data resource, or false on error.


Returns the number of inputs in each of the training patterns in the train data

  • « fann_merge_train_data
  • fann_num_output_train_data »
  • PHP Manual
  • Fann Funções
  • Returns the number of inputs in each of the training patterns in the train data

fann_num_input_train_data

(PECL fann >= 1.0.0)

fann_num_input_train_data — Returns the number of inputs in each of the training patterns in the train data

Descrição

fann_num_input_train_data ( resource $data ) : int

Returns the number of inputs in each of the training patterns in the train data resource.

Parâmetros

data

Dados de treinamento da resource rede neural.

Valor Retornado

The number of inputs, or false on error.

Veja Também

  • fann_length_train_data() - Returns the number of training patterns in the train data
  • fann_num_output_train_data() - Returns the number of outputs in each of the training patterns in the train data


Returns the number of outputs in each of the training patterns in the train data

  • « fann_num_input_train_data
  • fann_print_error »
  • PHP Manual
  • Fann Funções
  • Returns the number of outputs in each of the training patterns in the train data

fann_num_output_train_data

(PECL fann >= 1.0.0)

fann_num_output_train_data — Returns the number of outputs in each of the training patterns in the train data

Descrição

fann_num_output_train_data ( resource $data ) : int

Returns the number of outputs in each of the training patterns in the train data resource.

Parâmetros

data

Dados de treinamento da resource rede neural.

Valor Retornado

The number of outputs, or false on error.

Veja Também

  • fann_length_train_data() - Returns the number of training patterns in the train data
  • fann_num_input_train_data() - Returns the number of inputs in each of the training patterns in the train data


Prints the error string

  • « fann_num_output_train_data
  • fann_randomize_weights »
  • PHP Manual
  • Fann Funções
  • Prints the error string

fann_print_error

(PECL fann >= 1.0.0)

fann_print_error — Prints the error string

Descrição

fann_print_error ( resource $errdat ) : void

Prints the error string.

Parâmetros

errdat

Um resource de rede neural ou um resource de dados de treinamento.

Valor Retornado

Nenhum valor é retornado.

Veja Também

  • fann_get_errstr() - Returns the last errstr


Give each connection a random weight between min_weight and max_weight

  • « fann_print_error
  • fann_read_train_from_file »
  • PHP Manual
  • Fann Funções
  • Give each connection a random weight between min_weight and max_weight

fann_randomize_weights

(PECL fann >= 1.0.0)

fann_randomize_weights — Give each connection a random weight between min_weight and max_weight

Descrição

fann_randomize_weights ( resource $ann , float $min_weight , float $max_weight ) : bool

Give each connection a random weight between min_weight and max_weight

From the beginning the weights are random between -0.1 and 0.1.

Parâmetros

ann

resource da rede neural.

min_weight

Minimum weight value

max_weight

Maximum weight value

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_init_weights() - Initialize the weights using Widrow + Nguyen’s algorithm


Reads a file that stores training data

  • « fann_randomize_weights
  • fann_reset_errno »
  • PHP Manual
  • Fann Funções
  • Reads a file that stores training data

fann_read_train_from_file

(PECL fann >= 1.0.0)

fann_read_train_from_file — Reads a file that stores training data

Descrição

fann_read_train_from_file ( string $filename ) : resource

Reads a file that stores training data.

Parâmetros

filename

The input file in the following format:

num_train_data num_input num_output
inputdata seperated by space
outputdata seperated by space

.
.
.

inputdata seperated by space
outputdata seperated by space

Valor Retornado

Retorna um resource de dados de treinamento no sucesso ou false em erros.

Exemplos

Exemplo #1 fann_read_train_from_file() example

<?php
$train_data = fann_read_train_from_file("xor.data");
if ($train_data) {
    // Do something with $train_data for XOR function
}
?>

Contents of xor.data

4 2 1
-1 -1
-1
-1 1
1
1 -1
1
1 1
-1

Veja Também

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_destroy_train() - Destructs the training data
  • fann_save_train() - Save the training structure to a file


Resets the last error number

  • « fann_read_train_from_file
  • fann_reset_errstr »
  • PHP Manual
  • Fann Funções
  • Resets the last error number

fann_reset_errno

(PECL fann >= 1.0.0)

fann_reset_errno — Resets the last error number

Descrição

fann_reset_errno ( resource $errdat ) : void

Resets the last error number.

Parâmetros

errdat

Um resource de rede neural ou um resource de dados de treinamento.

Valor Retornado

Nenhum valor é retornado.

Veja Também

  • fann_get_errno() - Returns the last error number
  • fann_reset_errstr() - Resets the last error string


Resets the last error string

  • « fann_reset_errno
  • fann_reset_MSE »
  • PHP Manual
  • Fann Funções
  • Resets the last error string

fann_reset_errstr

(PECL fann >= 1.0.0)

fann_reset_errstr — Resets the last error string

Descrição

fann_reset_errstr ( resource $errdat ) : void

Resets the last error string.

Parâmetros

errdat

Um resource de rede neural ou um resource de dados de treinamento.

Valor Retornado

Nenhum valor é retornado.

Veja Também

  • fann_get_errstr() - Returns the last errstr
  • fann_reset_errno() - Resets the last error number


Resets the mean square error from the network

  • « fann_reset_errstr
  • fann_run »
  • PHP Manual
  • Fann Funções
  • Resets the mean square error from the network

fann_reset_MSE

(PECL fann >= 1.0.0)

fann_reset_MSE — Resets the mean square error from the network

Descrição

fann_reset_MSE ( string $ann ) : bool

Resets the mean square error from the network.

This function also resets the number of bits that fail.

Parâmetros

ann

resource da rede neural.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_MSE() - Reads the mean square error from the network
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_bit_fail_limit() - Returns the bit fail limit used during training


Will run input through the neural network

  • « fann_reset_MSE
  • fann_save_train »
  • PHP Manual
  • Fann Funções
  • Will run input through the neural network

fann_run

(PECL fann >= 1.0.0)

fann_run — Will run input through the neural network

Descrição

fann_run ( resource $ann , array $input ) : array

Will run input through the neural network, returning an array of outputs, the number of which being equal to the number of neurons in the output layer.

Parâmetros

ann

resource da rede neural.

input

Array of input values

Valor Retornado

Array of output values, or false on error


Save the training structure to a file

  • « fann_run
  • fann_save »
  • PHP Manual
  • Fann Funções
  • Save the training structure to a file

fann_save_train

(PECL fann >= 1.0.0)

fann_save_train — Save the training structure to a file

Descrição

fann_save_train ( resource $data , string $file_name ) : bool

Save the training data to a file, with the format as specified in fann_read_train_from_file().

Parâmetros

data

Dados de treinamento da resource rede neural.

file_name

The file name of the file where training data is saved to.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_read_train_from_file() - Reads a file that stores training data


Saves the entire network to a configuration file

  • « fann_save_train
  • fann_scale_input_train_data »
  • PHP Manual
  • Fann Funções
  • Saves the entire network to a configuration file

fann_save

(PECL fann >= 1.0.0)

fann_save — Saves the entire network to a configuration file

Descrição

fann_save ( resource $ann , string $configuration_file ) : bool

Saves the entire network to a configuration file.

The configuration file contains all information about the neural network and enables fann_create_from_file() to create an exact copy of the neural network and all of the parameters associated with the neural network.

These three parameters (fann_set_callback(), fann_set_error_log(), fann_set_user_data()) are NOT saved to the file because they cannot safely be ported to a different location. Also temporary parameters generated during training like fann_get_MSE() is not saved.

Parâmetros

ann

resource da rede neural.

configuration_file

The configuration file path.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_create_from_file() - Constructs a backpropagation neural network from a configuration file


Scales the inputs in the training data to the specified range

  • « fann_save
  • fann_scale_input »
  • PHP Manual
  • Fann Funções
  • Scales the inputs in the training data to the specified range

fann_scale_input_train_data

(PECL fann >= 1.0.0)

fann_scale_input_train_data — Scales the inputs in the training data to the specified range

Descrição

fann_scale_input_train_data ( resource $train_data , float $new_min , float $new_max ) : bool

Scales the inputs in the training data to the specified range.

Parâmetros

train_data

Dados de treinamento da resource rede neural.

new_min

New minimum after scaling inputs in training data.

new_max

New maximum after scaling inputs in training data.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_scale_output_train_data() - Scales the outputs in the training data to the specified range
  • fann_scale_train_data() - Scales the inputs and outputs in the training data to the specified range


Scale data in input vector before feed it to ann based on previously calculated parameters

  • « fann_scale_input_train_data
  • fann_scale_output_train_data »
  • PHP Manual
  • Fann Funções
  • Scale data in input vector before feed it to ann based on previously calculated parameters

fann_scale_input

(PECL fann >= 1.0.0)

fann_scale_input — Scale data in input vector before feed it to ann based on previously calculated parameters

Descrição

fann_scale_input ( resource $ann , array $input_vector ) : bool

Scale data in input vector before feed it to ann based on previously calculated parameters.

Parâmetros

ann

resource da rede neural.

input_vector

Input vector that will be scaled

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_descale_input() - Scale data in input vector after get it from ann based on previously calculated parameters
  • fann_scale_output() - Scale data in output vector before feed it to ann based on previously calculated parameters


Scales the outputs in the training data to the specified range

  • « fann_scale_input
  • fann_scale_output »
  • PHP Manual
  • Fann Funções
  • Scales the outputs in the training data to the specified range

fann_scale_output_train_data

(PECL fann >= 1.0.0)

fann_scale_output_train_data — Scales the outputs in the training data to the specified range

Descrição

fann_scale_output_train_data ( resource $train_data , float $new_min , float $new_max ) : bool

Scales the outputs in the training data to the specified range.

Parâmetros

train_data

Dados de treinamento da resource rede neural.

new_min

New minimum after scaling outputs in training data.

new_max

New maximum after scaling outputs in training data.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_scale_input_train_data() - Scales the inputs in the training data to the specified range
  • fann_scale_train_data() - Scales the inputs and outputs in the training data to the specified range


Scale data in output vector before feed it to ann based on previously calculated parameters

  • « fann_scale_output_train_data
  • fann_scale_train_data »
  • PHP Manual
  • Fann Funções
  • Scale data in output vector before feed it to ann based on previously calculated parameters

fann_scale_output

(PECL fann >= 1.0.0)

fann_scale_output — Scale data in output vector before feed it to ann based on previously calculated parameters

Descrição

fann_scale_output ( resource $ann , array $output_vector ) : bool

Scale data in output vector before feed it to ann based on previously calculated parameters.

Parâmetros

ann

resource da rede neural.

output_vector

Output vector that will be scaled

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_descale_output() - Scale data in output vector after get it from ann based on previously calculated parameters
  • fann_scale_input() - Scale data in input vector before feed it to ann based on previously calculated parameters


Scales the inputs and outputs in the training data to the specified range

  • « fann_scale_output
  • fann_scale_train »
  • PHP Manual
  • Fann Funções
  • Scales the inputs and outputs in the training data to the specified range

fann_scale_train_data

(PECL fann >= 1.0.0)

fann_scale_train_data — Scales the inputs and outputs in the training data to the specified range

Descrição

fann_scale_train_data ( resource $train_data , float $new_min , float $new_max ) : bool

Scales the inputs and outputs in the training data to the specified range.

Parâmetros

train_data

Dados de treinamento da resource rede neural.

new_min

New minimum after scaling inputs and outputs in training data.

new_max

New maximum after scaling inputs and outputs in training data.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_scale_output_train_data() - Scales the outputs in the training data to the specified range
  • fann_scale_input_train_data() - Scales the inputs in the training data to the specified range


Scale input and output data based on previously calculated parameters

  • « fann_scale_train_data
  • fann_set_activation_function_hidden »
  • PHP Manual
  • Fann Funções
  • Scale input and output data based on previously calculated parameters

fann_scale_train

(PECL fann >= 1.0.0)

fann_scale_train — Scale input and output data based on previously calculated parameters

Descrição

fann_scale_train ( resource $ann , resource $train_data ) : bool

Scale input and output data based on previously calculated parameters.

Parâmetros

ann

resource da rede neural.

train_data

Dados de treinamento da resource rede neural.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_descale_train() - Descale input and output data based on previously calculated parameters
  • fann_set_scaling_params() - Calculate input and output scaling parameters for future use based on training data


Sets the activation function for all of the hidden layers

  • « fann_scale_train
  • fann_set_activation_function_layer »
  • PHP Manual
  • Fann Funções
  • Sets the activation function for all of the hidden layers

fann_set_activation_function_hidden

(PECL fann >= 1.0.0)

fann_set_activation_function_hidden — Sets the activation function for all of the hidden layers

Descrição

fann_set_activation_function_hidden ( resource $ann , int $activation_function ) : bool

Sets the activation function for all of the hidden layers.

Parâmetros

ann

resource da rede neural.

activation_function

The activation functions constant.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number


Sets the activation function for all the neurons in the supplied layer

  • « fann_set_activation_function_hidden
  • fann_set_activation_function_output »
  • PHP Manual
  • Fann Funções
  • Sets the activation function for all the neurons in the supplied layer

fann_set_activation_function_layer

(PECL fann >= 1.0.0)

fann_set_activation_function_layer — Sets the activation function for all the neurons in the supplied layer

Descrição

fann_set_activation_function_layer ( resource $ann , int $activation_function , int $layer ) : bool

Set the activation function for all the neurons in the layer number layer, counting the input layer as layer 0.

It is not possible to set activation functions for the neurons in the input layer.

Parâmetros

ann

resource da rede neural.

activation_function

The activation functions constant.

layer

Layer number.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number


Sets the activation function for the output layer

  • « fann_set_activation_function_layer
  • fann_set_activation_function »
  • PHP Manual
  • Fann Funções
  • Sets the activation function for the output layer

fann_set_activation_function_output

(PECL fann >= 1.0.0)

fann_set_activation_function_output — Sets the activation function for the output layer

Descrição

fann_set_activation_function_output ( resource $ann , int $activation_function ) : bool

Sets the activation function for the output layer.

Parâmetros

ann

resource da rede neural.

activation_function

The activation functions constant.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number


Sets the activation function for supplied neuron and layer

  • « fann_set_activation_function_output
  • fann_set_activation_steepness_hidden »
  • PHP Manual
  • Fann Funções
  • Sets the activation function for supplied neuron and layer

fann_set_activation_function

(PECL fann >= 1.0.0)

fann_set_activation_function — Sets the activation function for supplied neuron and layer

Descrição

fann_set_activation_function ( resource $ann , int $activation_function , int $layer , int $neuron ) : bool

Set the activation function for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to set activation functions for the neurons in the input layer.

When choosing an activation function it is important to note that the activation functions have different range. FANN_SIGMOID is e.g. in the 0 - 1 range while FANN_SIGMOID_SYMMETRIC is in the -1 - 1 range and FANN_LINEAR is unbound.

The supplied activation_function value must be one of the activation functions constants.

The return value is one of the activation functions constants.

Parâmetros

ann

resource da rede neural.

activation_function

The activation functions constant.

layer

Layer number.

neuron

Neuron number.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_get_activation_function() - Returns the activation function


Sets the steepness of the activation steepness for all neurons in the all hidden layers

  • « fann_set_activation_function
  • fann_set_activation_steepness_layer »
  • PHP Manual
  • Fann Funções
  • Sets the steepness of the activation steepness for all neurons in the all hidden layers

fann_set_activation_steepness_hidden

(PECL fann >= 1.0.0)

fann_set_activation_steepness_hidden — Sets the steepness of the activation steepness for all neurons in the all hidden layers

Descrição

fann_set_activation_steepness_hidden ( resource $ann , float $activation_steepness ) : bool

Sets the steepness of the activation steepness for all neurons in the all hidden layers.

Parâmetros

ann

resource da rede neural.

activation_steepness

The activation steepness.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer


Sets the activation steepness for all of the neurons in the supplied layer number

  • « fann_set_activation_steepness_hidden
  • fann_set_activation_steepness_output »
  • PHP Manual
  • Fann Funções
  • Sets the activation steepness for all of the neurons in the supplied layer number

fann_set_activation_steepness_layer

(PECL fann >= 1.0.0)

fann_set_activation_steepness_layer — Sets the activation steepness for all of the neurons in the supplied layer number

Descrição

fann_set_activation_steepness_layer ( resource $ann , float $activation_steepness , int $layer ) : bool

Set the activation steepness for all of the neurons in layer number layer, counting the input layer as layer 0.

It is not possible to set activation steepness for the neurons in the input layer.

Parâmetros

ann

resource da rede neural.

activation_steepness

The activation steepness.

layer

Layer number.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer


Sets the steepness of the activation steepness in the output layer

  • « fann_set_activation_steepness_layer
  • fann_set_activation_steepness »
  • PHP Manual
  • Fann Funções
  • Sets the steepness of the activation steepness in the output layer

fann_set_activation_steepness_output

(PECL fann >= 1.0.0)

fann_set_activation_steepness_output — Sets the steepness of the activation steepness in the output layer

Descrição

fann_set_activation_steepness_output ( resource $ann , float $activation_steepness ) : bool

Sets the steepness of the activation steepness in the output layer.

Parâmetros

ann

resource da rede neural.

activation_steepness

The activation steepness.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer


Sets the activation steepness for supplied neuron and layer number

  • « fann_set_activation_steepness_output
  • fann_set_bit_fail_limit »
  • PHP Manual
  • Fann Funções
  • Sets the activation steepness for supplied neuron and layer number

fann_set_activation_steepness

(PECL fann >= 1.0.0)

fann_set_activation_steepness — Sets the activation steepness for supplied neuron and layer number

Descrição

fann_set_activation_steepness ( resource $ann , float $activation_steepness , int $layer , int $neuron ) : bool

Set the activation steepness for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to set activation steepness for the neurons in the input layer.

The steepness of an activation function says something about how fast the activation function goes from the minimum to the maximum. A high value for the activation function will also give a more agressive training.

When training neural networks where the output values should be at the extremes (usually 0 and 1, depending on the activation function), a steep activation function can be used (e.g. 1.0).

The default activation steepness is 0.5.

Parâmetros

ann

resource da rede neural.

activation_steepness

The activation steepness.

layer

Layer number.

neuron

Neuron number.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer


Set the bit fail limit used during training

  • « fann_set_activation_steepness
  • fann_set_callback »
  • PHP Manual
  • Fann Funções
  • Set the bit fail limit used during training

fann_set_bit_fail_limit

(PECL fann >= 1.0.0)

fann_set_bit_fail_limit — Set the bit fail limit used during training

Descrição

fann_set_bit_fail_limit ( resource $ann , float $bit_fail_limit ) : bool

Set the bit fail limit used during training.

Parâmetros

ann

resource da rede neural.

bit_fail_limit

The bit fail limit.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_bit_fail_limit() - Returns the bit fail limit used during training


Sets the callback function for use during training

  • « fann_set_bit_fail_limit
  • fann_set_cascade_activation_functions »
  • PHP Manual
  • Fann Funções
  • Sets the callback function for use during training

fann_set_callback

(PECL fann >= 1.0.0)

fann_set_callback — Sets the callback function for use during training

Descrição

fann_set_callback ( resource $ann , callable $callback ) : bool

Sets the callback function for use during training. It means that it is called from fann_train_on_data() or fann_train_on_file().

Parâmetros

ann

resource da rede neural.

callback

The supplied callback function takes following parameters:

  • ann - The neural network resource
  • train - The train data resource or null if called from fann_train_on_file()
  • max_epochs - The maximum number of epochs the training should continue
  • epochs_between_reports - The number of epochs between calling this function
  • desired_error - The desired fann_get_MSE() or fann_get_bit_fail(), depending on the stop function chosen by fann_set_train_stop_function()
  • epochs - The current epoch

The callback should return true. If it returns false, the training will terminate.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_on_file() - Trains on an entire dataset, which is read from file, for a period of time


Sets the array of cascade candidate activation functions

  • « fann_set_callback
  • fann_set_cascade_activation_steepnesses »
  • PHP Manual
  • Fann Funções
  • Sets the array of cascade candidate activation functions

fann_set_cascade_activation_functions

(PECL fann >= 1.0.0)

fann_set_cascade_activation_functions — Sets the array of cascade candidate activation functions

Descrição

fann_set_cascade_activation_functions ( resource $ann , array $cascade_activation_functions ) : bool

Sets the array of cascade candidate activation functions.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

Parâmetros

ann

resource da rede neural.

cascade_activation_functions

The array of cascade candidate activation functions.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_cascade_activation_functions_count() - Returns the number of cascade activation functions
  • fann_set_cascade_activation_functions()


Sets the array of cascade candidate activation steepnesses

  • « fann_set_cascade_activation_functions
  • fann_set_cascade_candidate_change_fraction »
  • PHP Manual
  • Fann Funções
  • Sets the array of cascade candidate activation steepnesses

fann_set_cascade_activation_steepnesses

(PECL fann >= 1.0.0)

fann_set_cascade_activation_steepnesses — Sets the array of cascade candidate activation steepnesses

Descrição

fann_set_cascade_activation_steepnesses ( resource $ann , array $cascade_activation_steepnesses_count ) : bool

Sets the array of cascade candidate activation steepnesses.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

Parâmetros

ann

resource da rede neural.

cascade_activation_steepnesses_count

The array of cascade candidate activation steepnesses.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_cascade_activation_steepnesses() - Returns the cascade activation steepnesses
  • fann_get_cascade_activation_steepnesses_count() - The number of activation steepnesses


Sets the cascade candidate change fraction

  • « fann_set_cascade_activation_steepnesses
  • fann_set_cascade_candidate_limit »
  • PHP Manual
  • Fann Funções
  • Sets the cascade candidate change fraction

fann_set_cascade_candidate_change_fraction

(PECL fann >= 1.0.0)

fann_set_cascade_candidate_change_fraction — Sets the cascade candidate change fraction

Descrição

fann_set_cascade_candidate_change_fraction ( resource $ann , float $cascade_candidate_change_fraction ) : bool

Sets the cascade candidate change fraction.

Parâmetros

ann

resource da rede neural.

cascade_candidate_change_fraction

The cascade candidate change fraction.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_cascade_candidate_change_fraction() - Returns the cascade candidate change fraction


Sets the candidate limit

  • « fann_set_cascade_candidate_change_fraction
  • fann_set_cascade_candidate_stagnation_epochs »
  • PHP Manual
  • Fann Funções
  • Sets the candidate limit

fann_set_cascade_candidate_limit

(PECL fann >= 1.0.0)

fann_set_cascade_candidate_limit — Sets the candidate limit

Descrição

fann_set_cascade_candidate_limit ( resource $ann , float $cascade_candidate_limit ) : bool

Sets the candidate limit.

Parâmetros

ann

resource da rede neural.

cascade_candidate_limit

The candidate limit.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_cascade_candidate_limit() - Return the candidate limit


Sets the number of cascade candidate stagnation epochs

  • « fann_set_cascade_candidate_limit
  • fann_set_cascade_max_cand_epochs »
  • PHP Manual
  • Fann Funções
  • Sets the number of cascade candidate stagnation epochs

fann_set_cascade_candidate_stagnation_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_candidate_stagnation_epochs — Sets the number of cascade candidate stagnation epochs

Descrição

fann_set_cascade_candidate_stagnation_epochs ( resource $ann , int $cascade_candidate_stagnation_epochs ) : bool

Sets the number of cascade candidate stagnation epochs.

Parâmetros

ann

resource da rede neural.

cascade_candidate_stagnation_epochs

The number of cascade candidate stagnation epochs.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_cascade_candidate_stagnation_epochs() - Returns the number of cascade candidate stagnation epochs


Sets the max candidate epochs

  • « fann_set_cascade_candidate_stagnation_epochs
  • fann_set_cascade_max_out_epochs »
  • PHP Manual
  • Fann Funções
  • Sets the max candidate epochs

fann_set_cascade_max_cand_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_max_cand_epochs — Sets the max candidate epochs

Descrição

fann_set_cascade_max_cand_epochs ( resource $ann , int $cascade_max_cand_epochs ) : bool

Sets the max candidate epochs.

Parâmetros

ann

resource da rede neural.

cascade_max_cand_epochs

The max candidate epochs.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_cascade_max_cand_epochs() - Returns the maximum candidate epochs


Sets the maximum out epochs

  • « fann_set_cascade_max_cand_epochs
  • fann_set_cascade_min_cand_epochs »
  • PHP Manual
  • Fann Funções
  • Sets the maximum out epochs

fann_set_cascade_max_out_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_max_out_epochs — Sets the maximum out epochs

Descrição

fann_set_cascade_max_out_epochs ( resource $ann , int $cascade_max_out_epochs ) : bool

Sets the maximum out epochs.

Parâmetros

ann

resource da rede neural.

cascade_max_out_epochs

The maximum out epochs.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_cascade_max_out_epochs() - Returns the maximum out epochs


Sets the min candidate epochs

  • « fann_set_cascade_max_out_epochs
  • fann_set_cascade_min_out_epochs »
  • PHP Manual
  • Fann Funções
  • Sets the min candidate epochs

fann_set_cascade_min_cand_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_min_cand_epochs — Sets the min candidate epochs

Descrição

fann_set_cascade_min_cand_epochs ( resource $ann , int $cascade_min_cand_epochs ) : bool

Sets the min candidate epochs.

Parâmetros

ann

resource da rede neural.

cascade_min_cand_epochs

The minimum candidate epochs.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_get_cascade_min_cand_epochs() - Returns the minimum candidate epochs


Sets the minimum out epochs

  • « fann_set_cascade_min_cand_epochs
  • fann_set_cascade_num_candidate_groups »
  • PHP Manual
  • Fann Funções
  • Sets the minimum out epochs

fann_set_cascade_min_out_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_min_out_epochs — Sets the minimum out epochs

Descrição

fann_set_cascade_min_out_epochs ( resource $ann , int $cascade_min_out_epochs ) : bool

Sets the minimum out epochs.

Parâmetros

ann

resource da rede neural.

cascade_min_out_epochs

The minimum out epochs.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_get_cascade_min_out_epochs() - Returns the minimum out epochs


Sets the number of candidate groups

  • « fann_set_cascade_min_out_epochs
  • fann_set_cascade_output_change_fraction »
  • PHP Manual
  • Fann Funções
  • Sets the number of candidate groups

fann_set_cascade_num_candidate_groups

(PECL fann >= 1.0.0)

fann_set_cascade_num_candidate_groups — Sets the number of candidate groups

Descrição

fann_set_cascade_num_candidate_groups ( resource $ann , int $cascade_num_candidate_groups ) : bool

Sets the number of candidate groups.

Parâmetros

ann

resource da rede neural.

cascade_num_candidate_groups

The number of candidate groups.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_cascade_num_candidate_groups() - Returns the number of candidate groups


Sets the cascade output change fraction

  • « fann_set_cascade_num_candidate_groups
  • fann_set_cascade_output_stagnation_epochs »
  • PHP Manual
  • Fann Funções
  • Sets the cascade output change fraction

fann_set_cascade_output_change_fraction

(PECL fann >= 1.0.0)

fann_set_cascade_output_change_fraction — Sets the cascade output change fraction

Descrição

fann_set_cascade_output_change_fraction ( resource $ann , float $cascade_output_change_fraction ) : bool

Sets the cascade output change fraction.

Parâmetros

ann

resource da rede neural.

cascade_output_change_fraction

The cascade output change fraction.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_cascade_output_change_fraction() - Returns the cascade output change fraction


Sets the number of cascade output stagnation epochs

  • « fann_set_cascade_output_change_fraction
  • fann_set_cascade_weight_multiplier »
  • PHP Manual
  • Fann Funções
  • Sets the number of cascade output stagnation epochs

fann_set_cascade_output_stagnation_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_output_stagnation_epochs — Sets the number of cascade output stagnation epochs

Descrição

fann_set_cascade_output_stagnation_epochs ( resource $ann , int $cascade_output_stagnation_epochs ) : bool

Sets the number of cascade output stagnation epochs.

Parâmetros

ann

resource da rede neural.

cascade_output_stagnation_epochs

The number of cascade output stagnation epochs.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_cascade_output_stagnation_epochs() - Returns the number of cascade output stagnation epochs


Sets the weight multiplier

  • « fann_set_cascade_output_stagnation_epochs
  • fann_set_error_log »
  • PHP Manual
  • Fann Funções
  • Sets the weight multiplier

fann_set_cascade_weight_multiplier

(PECL fann >= 1.0.0)

fann_set_cascade_weight_multiplier — Sets the weight multiplier

Descrição

fann_set_cascade_weight_multiplier ( resource $ann , float $cascade_weight_multiplier ) : bool

Sets the weight multiplier.

Parâmetros

ann

resource da rede neural.

cascade_weight_multiplier

The weight multiplier.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_cascade_weight_multiplier() - Returns the weight multiplier


Sets where the errors are logged to

  • « fann_set_cascade_weight_multiplier
  • fann_set_input_scaling_params »
  • PHP Manual
  • Fann Funções
  • Sets where the errors are logged to

fann_set_error_log

(PECL fann >= 1.0.0)

fann_set_error_log — Sets where the errors are logged to

Descrição

fann_set_error_log ( resource $errdat , string $log_file ) : void

Sets where the errors are logged to.

Parâmetros

errdat

Um resource de rede neural ou um resource de dados de treinamento.

log_file

The log file path.

Valor Retornado

Nenhum valor é retornado.


Calculate input scaling parameters for future use based on training data

  • « fann_set_error_log
  • fann_set_learning_momentum »
  • PHP Manual
  • Fann Funções
  • Calculate input scaling parameters for future use based on training data

fann_set_input_scaling_params

(PECL fann >= 1.0.0)

fann_set_input_scaling_params — Calculate input scaling parameters for future use based on training data

Descrição

fann_set_input_scaling_params ( resource $ann , resource $train_data , float $new_input_min , float $new_input_max ) : bool

Calculate input scaling parameters for future use based on training data.

Parâmetros

ann

resource da rede neural.

train_data

Dados de treinamento da resource rede neural.

new_input_min

The desired lower bound in input data after scaling (not strictly followed)

new_input_max

The desired upper bound in input data after scaling (not strictly followed)

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_set_output_scaling_params() - Calculate output scaling parameters for future use based on training data


Sets the learning momentum

  • « fann_set_input_scaling_params
  • fann_set_learning_rate »
  • PHP Manual
  • Fann Funções
  • Sets the learning momentum

fann_set_learning_momentum

(PECL fann >= 1.0.0)

fann_set_learning_momentum — Sets the learning momentum

Descrição

fann_set_learning_momentum ( resource $ann , float $learning_momentum ) : bool

Sets the learning momentum.

More info available in fann_get_learning_momentum().

Parâmetros

ann

resource da rede neural.

learning_momentum

The learning momentum.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_learning_momentum() - Returns the learning momentum
  • fann_set_training_algorithm() - Sets the training algorithm


Sets the learning rate

  • « fann_set_learning_momentum
  • fann_set_output_scaling_params »
  • PHP Manual
  • Fann Funções
  • Sets the learning rate

fann_set_learning_rate

(PECL fann >= 1.0.0)

fann_set_learning_rate — Sets the learning rate

Descrição

fann_set_learning_rate ( resource $ann , float $learning_rate ) : bool

Sets the learning rate.

More info available in fann_get_learning_rate().

Parâmetros

ann

resource da rede neural.

learning_rate

The learning rate.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_learning_rate() - Returns the learning rate
  • fann_set_training_algorithm() - Sets the training algorithm


Calculate output scaling parameters for future use based on training data

  • « fann_set_learning_rate
  • fann_set_quickprop_decay »
  • PHP Manual
  • Fann Funções
  • Calculate output scaling parameters for future use based on training data

fann_set_output_scaling_params

(PECL fann >= 1.0.0)

fann_set_output_scaling_params — Calculate output scaling parameters for future use based on training data

Descrição

fann_set_output_scaling_params ( resource $ann , resource $train_data , float $new_output_min , float $new_output_max ) : bool

Calculate output scaling parameters for future use based on training data.

Parâmetros

ann

resource da rede neural.

train_data

Dados de treinamento da resource rede neural.

new_output_min

The desired lower bound in output data after scaling (not strictly followed)

new_output_max

The desired upper bound in output data after scaling (not strictly followed)

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_set_input_scaling_params() - Calculate input scaling parameters for future use based on training data


Sets the quickprop decay factor

  • « fann_set_output_scaling_params
  • fann_set_quickprop_mu »
  • PHP Manual
  • Fann Funções
  • Sets the quickprop decay factor

fann_set_quickprop_decay

(PECL fann >= 1.0.0)

fann_set_quickprop_decay — Sets the quickprop decay factor

Descrição

fann_set_quickprop_decay ( resource $ann , float $quickprop_decay ) : bool

Sets the quickprop decay factor.

Parâmetros

ann

resource da rede neural.

quickprop_decay

The quickprop decay factor.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_quickprop_decay() - Returns the decay which is a factor that weights should decrease in each iteration during quickprop training


Sets the quickprop mu factor

  • « fann_set_quickprop_decay
  • fann_set_rprop_decrease_factor »
  • PHP Manual
  • Fann Funções
  • Sets the quickprop mu factor

fann_set_quickprop_mu

(PECL fann >= 1.0.0)

fann_set_quickprop_mu — Sets the quickprop mu factor

Descrição

fann_set_quickprop_mu ( resource $ann , float $quickprop_mu ) : bool

Sets the quickprop mu factor.

Parâmetros

ann

resource da rede neural.

quickprop_mu

The mu factor.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_quickprop_mu() - Returns the mu factor


Sets the decrease factor used during RPROP training

  • « fann_set_quickprop_mu
  • fann_set_rprop_delta_max »
  • PHP Manual
  • Fann Funções
  • Sets the decrease factor used during RPROP training

fann_set_rprop_decrease_factor

(PECL fann >= 1.0.0)

fann_set_rprop_decrease_factor — Sets the decrease factor used during RPROP training

Descrição

fann_set_rprop_decrease_factor ( resource $ann , float $rprop_decrease_factor ) : bool

Sets the decrease factor used during RPROP training.

Parâmetros

ann

resource da rede neural.

rprop_decrease_factor

The decrease factor.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_rprop_decrease_factor() - Returns the increase factor used during RPROP training


Sets the maximum step-size

  • « fann_set_rprop_decrease_factor
  • fann_set_rprop_delta_min »
  • PHP Manual
  • Fann Funções
  • Sets the maximum step-size

fann_set_rprop_delta_max

(PECL fann >= 1.0.0)

fann_set_rprop_delta_max — Sets the maximum step-size

Descrição

fann_set_rprop_delta_max ( resource $ann , float $rprop_delta_max ) : bool

The maximum step-size is a positive number determining how large the maximum step-size may be.

Parâmetros

ann

resource da rede neural.

rprop_delta_max

The maximum step-size.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_rprop_delta_max() - Returns the maximum step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size


Sets the minimum step-size

  • « fann_set_rprop_delta_max
  • fann_set_rprop_delta_zero »
  • PHP Manual
  • Fann Funções
  • Sets the minimum step-size

fann_set_rprop_delta_min

(PECL fann >= 1.0.0)

fann_set_rprop_delta_min — Sets the minimum step-size

Descrição

fann_set_rprop_delta_min ( resource $ann , float $rprop_delta_min ) : bool

The minimum step-size is a small positive number determining how small the minimum step-size may be.

Parâmetros

ann

resource da rede neural.

rprop_delta_min

The minimum step-size.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_rprop_delta_min() - Returns the minimum step-size


Sets the initial step-size

  • « fann_set_rprop_delta_min
  • fann_set_rprop_increase_factor »
  • PHP Manual
  • Fann Funções
  • Sets the initial step-size

fann_set_rprop_delta_zero

(PECL fann >= 1.0.0)

fann_set_rprop_delta_zero — Sets the initial step-size

Descrição

fann_set_rprop_delta_zero ( resource $ann , float $rprop_delta_zero ) : bool

The initial step-size is a positive number determining the initial step size.

Parâmetros

ann

resource da rede neural.

rprop_delta_zero

The initial step-size.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_rprop_delta_zero() - Returns the initial step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size
  • fann_get_rprop_delta_max() - Returns the maximum step-size


Sets the increase factor used during RPROP training

  • « fann_set_rprop_delta_zero
  • fann_set_sarprop_step_error_shift »
  • PHP Manual
  • Fann Funções
  • Sets the increase factor used during RPROP training

fann_set_rprop_increase_factor

(PECL fann >= 1.0.0)

fann_set_rprop_increase_factor — Sets the increase factor used during RPROP training

Descrição

fann_set_rprop_increase_factor ( resource $ann , float $rprop_increase_factor ) : bool

Sets the increase factor used during RPROP training.

Parâmetros

ann

resource da rede neural.

rprop_increase_factor

The increase factor.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_rprop_increase_factor() - Returns the increase factor used during RPROP training


Sets the sarprop step error shift

  • « fann_set_rprop_increase_factor
  • fann_set_sarprop_step_error_threshold_factor »
  • PHP Manual
  • Fann Funções
  • Sets the sarprop step error shift

fann_set_sarprop_step_error_shift

(PECL fann >= 1.0.0)

fann_set_sarprop_step_error_shift — Sets the sarprop step error shift

Descrição

fann_set_sarprop_step_error_shift ( resource $ann , float $sarprop_step_error_shift ) : bool

Sets the sarprop step error shift.

Parâmetros

ann

resource da rede neural.

sarprop_step_error_shift

The sarprop step error shift.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_get_sarprop_step_error_shift() - Returns the sarprop step error shift


Sets the sarprop step error threshold factor

  • « fann_set_sarprop_step_error_shift
  • fann_set_sarprop_temperature »
  • PHP Manual
  • Fann Funções
  • Sets the sarprop step error threshold factor

fann_set_sarprop_step_error_threshold_factor

(PECL fann >= 1.0.0)

fann_set_sarprop_step_error_threshold_factor — Sets the sarprop step error threshold factor

Descrição

fann_set_sarprop_step_error_threshold_factor ( resource $ann , float $sarprop_step_error_threshold_factor ) : bool

Sets the sarprop step error threshold factor.

Parâmetros

ann

resource da rede neural.

sarprop_step_error_threshold_factor

The sarprop step error threshold factor.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_get_sarprop_step_error_threshold_factor() - Returns the sarprop step error threshold factor


Sets the sarprop temperature

  • « fann_set_sarprop_step_error_threshold_factor
  • fann_set_sarprop_weight_decay_shift »
  • PHP Manual
  • Fann Funções
  • Sets the sarprop temperature

fann_set_sarprop_temperature

(PECL fann >= 1.0.0)

fann_set_sarprop_temperature — Sets the sarprop temperature

Descrição

fann_set_sarprop_temperature ( resource $ann , float $sarprop_temperature ) : bool

Sets the sarprop temperature.

Parâmetros

ann

resource da rede neural.

sarprop_temperature

The sarprop temperature.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_get_sarprop_temperature() - Returns the sarprop temperature


Sets the sarprop weight decay shift

  • « fann_set_sarprop_temperature
  • fann_set_scaling_params »
  • PHP Manual
  • Fann Funções
  • Sets the sarprop weight decay shift

fann_set_sarprop_weight_decay_shift

(PECL fann >= 1.0.0)

fann_set_sarprop_weight_decay_shift — Sets the sarprop weight decay shift

Descrição

fann_set_sarprop_weight_decay_shift ( resource $ann , float $sarprop_weight_decay_shift ) : bool

Sets the sarprop weight decay shift.

Parâmetros

ann

resource da rede neural.

sarprop_weight_decay_shift

The sarprop weight decay shift.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Notas

Nota:

This function is only available if the fann extension has been build against libfann >= 2.2.

Veja Também

  • fann_get_sarprop_weight_decay_shift() - Returns the sarprop weight decay shift


Calculate input and output scaling parameters for future use based on training data

  • « fann_set_sarprop_weight_decay_shift
  • fann_set_train_error_function »
  • PHP Manual
  • Fann Funções
  • Calculate input and output scaling parameters for future use based on training data

fann_set_scaling_params

(PECL fann >= 1.0.0)

fann_set_scaling_params — Calculate input and output scaling parameters for future use based on training data

Descrição

fann_set_scaling_params ( resource $ann , resource $train_data , float $new_input_min , float $new_input_max , float $new_output_min , float $new_output_max ) : bool

Calculate input and output scaling parameters for future use based on training data.

Parâmetros

ann

resource da rede neural.

train_data

Dados de treinamento da resource rede neural.

new_input_min

The desired lower bound in input data after scaling (not strictly followed)

new_input_max

The desired upper bound in input data after scaling (not strictly followed)

new_output_min

The desired lower bound in output data after scaling (not strictly followed)

new_output_max

The desired upper bound in output data after scaling (not strictly followed)

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_set_input_scaling_params() - Calculate input scaling parameters for future use based on training data
  • fann_set_output_scaling_params() - Calculate output scaling parameters for future use based on training data


Sets the error function used during training

  • « fann_set_scaling_params
  • fann_set_train_stop_function »
  • PHP Manual
  • Fann Funções
  • Sets the error function used during training

fann_set_train_error_function

(PECL fann >= 1.0.0)

fann_set_train_error_function — Sets the error function used during training

Descrição

fann_set_train_error_function ( resource $ann , int $error_function ) : bool

Sets the error function used during training.

The error functions are described further in error functions constants.

Parâmetros

ann

resource da rede neural.

error_function

The error function constant

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_train_error_function() - Returns the error function used during training


Sets the stop function used during training

  • « fann_set_train_error_function
  • fann_set_training_algorithm »
  • PHP Manual
  • Fann Funções
  • Sets the stop function used during training

fann_set_train_stop_function

(PECL fann >= 1.0.0)

fann_set_train_stop_function — Sets the stop function used during training

Descrição

fann_set_train_stop_function ( resource $ann , int $stop_function ) : bool

Sets the stop function used during training.

The stop functions are described further in stop functions constants.

Parâmetros

ann

resource da rede neural.

stop_function

The stop function constant.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_train_stop_function() - Returns the stop function used during training


Sets the training algorithm

  • « fann_set_train_stop_function
  • fann_set_weight_array »
  • PHP Manual
  • Fann Funções
  • Sets the training algorithm

fann_set_training_algorithm

(PECL fann >= 1.0.0)

fann_set_training_algorithm — Sets the training algorithm

Descrição

fann_set_training_algorithm ( resource $ann , int $training_algorithm ) : bool

Sets the training algorithm.

More info available in fann_get_training_algorithm().

Parâmetros

ann

resource da rede neural.

training_algorithm

Training algorithm constant

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_get_training_algorithm() - Returns the training algorithm


Set connections in the network

  • « fann_set_training_algorithm
  • fann_set_weight »
  • PHP Manual
  • Fann Funções
  • Set connections in the network

fann_set_weight_array

(PECL fann >= 1.0.0)

fann_set_weight_array — Set connections in the network

Descrição

fann_set_weight_array ( resource $ann , array $connections ) : bool

Set connections in the network.

Only the weights can be changed, connections and weights are ignored if they do not already exist in the network.

Parâmetros

ann

resource da rede neural.

connections

An array of FANNConnection objects

Valor Retornado

Retorna true no sucesso ou false em outros casos.


Set a connection in the network

  • « fann_set_weight_array
  • fann_shuffle_train_data »
  • PHP Manual
  • Fann Funções
  • Set a connection in the network

fann_set_weight

(PECL fann >= 1.0.0)

fann_set_weight — Set a connection in the network

Descrição

fann_set_weight ( resource $ann , int $from_neuron , int $to_neuron , float $weight ) : bool

Set a connections in the network.

Parâmetros

ann

resource da rede neural.

from_neuron

The neuron where the connection starts

to_neuron

The neuron where the connection ends

weight

Connection weight

Valor Retornado

Retorna true no sucesso ou false em outros casos.


Shuffles training data, randomizing the order

  • « fann_set_weight
  • fann_subset_train_data »
  • PHP Manual
  • Fann Funções
  • Shuffles training data, randomizing the order

fann_shuffle_train_data

(PECL fann >= 1.0.0)

fann_shuffle_train_data — Shuffles training data, randomizing the order

Descrição

fann_shuffle_train_data ( resource $train_data ) : bool

Shuffles training data, randomizing the order. This is recommended for incremental training, while it have no influence during batch training.

Parâmetros

train_data

Dados de treinamento da resource rede neural.

Valor Retornado

Retorna true no sucesso ou false em outros casos.


Returns an copy of a subset of the train data

  • « fann_shuffle_train_data
  • fann_test_data »
  • PHP Manual
  • Fann Funções
  • Returns an copy of a subset of the train data

fann_subset_train_data

(PECL fann >= 1.0.0)

fann_subset_train_data — Returns an copy of a subset of the train data

Descrição

fann_subset_train_data ( resource $data , int $pos , int $length ) : resource

Returns an copy of a subset of the train data resource, starting at position pos and length elements forward.

The fann_subset_train_data(train_data, 0, fann_length_train_data(train_data)) do the same as fann_duplicate_train_data()

Parâmetros

data

Dados de treinamento da resource rede neural.

pos

Starting position.

length

The number of copied elements.

Valor Retornado

Retorna um resource de dados de treinamento no sucesso ou false em erros.

Veja Também

  • fann_duplicate_train_data() - Returns an exact copy of a fann train data


Test a set of training data and calculates the MSE for the training data

  • « fann_subset_train_data
  • fann_test »
  • PHP Manual
  • Fann Funções
  • Test a set of training data and calculates the MSE for the training data

fann_test_data

(PECL fann >= 1.0.0)

fann_test_data — Test a set of training data and calculates the MSE for the training data

Descrição

fann_test_data ( resource $ann , resource $data ) : float

Test a set of training data and calculates the MSE for the training data.

This function updates the MSE and the bit fail values.

Parâmetros

ann

resource da rede neural.

data

Dados de treinamento da resource rede neural.

Valor Retornado

The updated MSE, or false on error.

Veja Também

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_training_algorithm() - Sets the training algorithm


Test with a set of inputs, and a set of desired outputs

  • « fann_test_data
  • fann_train_epoch »
  • PHP Manual
  • Fann Funções
  • Test with a set of inputs, and a set of desired outputs

fann_test

(PECL fann >= 1.0.0)

fann_test — Test with a set of inputs, and a set of desired outputs

Descrição

fann_test ( resource $ann , array $input , array $desired_output ) : array

Test with a set of inputs, and a set of desired outputs. This operation updates the mean square error, but does not change the network in any way.

Parâmetros

ann

resource da rede neural.

input

An array of inputs. This array must be exactly fann_get_num_input() long.

desired_output

An array of desired outputs. This array must be exactly fann_get_num_output() long.

Valor Retornado

Returns test outputs on success, or false on error.

Veja Também

  • fann_test_data() - Test a set of training data and calculates the MSE for the training data
  • fann_train() - Train one iteration with a set of inputs, and a set of desired outputs
  • fann_get_num_input() - Get the number of input neurons
  • fann_get_num_output() - Get the number of output neurons


Train one epoch with a set of training data

  • « fann_test
  • fann_train_on_data »
  • PHP Manual
  • Fann Funções
  • Train one epoch with a set of training data

fann_train_epoch

(PECL fann >= 1.0.0)

fann_train_epoch — Train one epoch with a set of training data

Descrição

fann_train_epoch ( resource $ann , resource $data ) : float

Train one epoch with the training data stored in data. One epoch is where all of the training data is considered exactly once.

This function returns the MSE error as it is calculated either before or during the actual training. This is not the actual MSE after the training epoch, but since calculating this will require to go through the entire training set once more. It is more than adequate to use this value during training.

The training algorithm used by this function is chosen by fann_set_training_algorithm() function.

Parâmetros

ann

resource da rede neural.

data

Dados de treinamento da resource rede neural.

Valor Retornado

The MSE, or false on error.

Veja Também

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_test_data() - Test a set of training data and calculates the MSE for the training data
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_training_algorithm() - Sets the training algorithm


Trains on an entire dataset for a period of time

  • « fann_train_epoch
  • fann_train_on_file »
  • PHP Manual
  • Fann Funções
  • Trains on an entire dataset for a period of time

fann_train_on_data

(PECL fann >= 1.0.0)

fann_train_on_data — Trains on an entire dataset for a period of time

Descrição

fann_train_on_data ( resource $ann , resource $data , int $max_epochs , int $epochs_between_reports , float $desired_error ) : bool

Trains on an entire dataset for a period of time.

This training uses the training algorithm chosen by fann_set_training_algorithm() and the parameters set for these training algorithms.

Parâmetros

ann

resource da rede neural.

data

Dados de treinamento da resource rede neural.

max_epochs

The maximum number of epochs the training should continue

epochs_between_reports

The number of epochs between calling a callback function. A value of zero means that user function is not called.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on the stop function chosen by fann_set_train_stop_function()

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_train_on_file() - Trains on an entire dataset, which is read from file, for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_train_stop_function() - Sets the stop function used during training
  • fann_set_training_algorithm() - Sets the training algorithm
  • fann_set_callback() - Sets the callback function for use during training


Trains on an entire dataset, which is read from file, for a period of time

  • « fann_train_on_data
  • fann_train »
  • PHP Manual
  • Fann Funções
  • Trains on an entire dataset, which is read from file, for a period of time

fann_train_on_file

(PECL fann >= 1.0.0)

fann_train_on_file — Trains on an entire dataset, which is read from file, for a period of time

Descrição

fann_train_on_file ( resource $ann , string $filename , int $max_epochs , int $epochs_between_reports , float $desired_error ) : bool

Trains on an entire dataset, which is read from file, for a period of time.

This training uses the training algorithm chosen by fann_set_training_algorithm() and the parameters set for these training algorithms.

Parâmetros

ann

resource da rede neural.

filename

The file containing train data

max_epochs

The maximum number of epochs the training should continue

epochs_between_reports

The number of epochs between calling a user function. A value of zero means that user function is not called.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on the stop function chosen by fann_set_train_stop_function()

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_train_stop_function() - Sets the stop function used during training
  • fann_set_training_algorithm() - Sets the training algorithm
  • fann_set_callback() - Sets the callback function for use during training


Train one iteration with a set of inputs, and a set of desired outputs

  • « fann_train_on_file
  • FANNConnection »
  • PHP Manual
  • Fann Funções
  • Train one iteration with a set of inputs, and a set of desired outputs

fann_train

(PECL fann >= 1.0.0)

fann_train — Train one iteration with a set of inputs, and a set of desired outputs

Descrição

fann_train ( resource $ann , array $input , array $desired_output ) : bool

Train one iteration with a set of inputs, and a set of desired outputs. This training is always incremental training, since only one pattern is presented.

Parâmetros

ann

resource da rede neural.

input

An array of inputs. This array must be exactly fann_get_num_input() long.

desired_output

An array of desired outputs. This array must be exactly fann_get_num_output() long.

Valor Retornado

Retorna true no sucesso ou false em outros casos.

Veja Também

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_num_input() - Get the number of input neurons
  • fann_get_num_output() - Get the number of output neurons


The FANNConnection class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

FANNConnection is used for the neural network connection. The objects of this class are used in fann_get_connection_array() and fann_set_weight_array().

Sinopse da classe

FANNConnection {
/* Propriedades */
public $from_neuron ;
public $to_neuron ;
public $weight ;
/* Métodos */
public __construct ( int $from_neuron , int $to_neuron , float $weight )
public getFromNeuron ( ) : int
public getToNeuron ( ) : int
public getWeight ( ) : void
public setWeight ( float $weight ) : void
}

Propriedades

from_neuron

The neuron where the connection starts.

to_neuron

The neuron where the connection ends.

weight

The weight of the connection.

Índice

  • FANNConnection::__construct — The connection constructor
  • FANNConnection::getFromNeuron — Returns the postions of starting neuron
  • FANNConnection::getToNeuron — Returns the postions of terminating neuron
  • FANNConnection::getWeight — Returns the connection weight
  • FANNConnection::setWeight — Sets the connections weight


The connection constructor

  • « FANNConnection
  • FANNConnection::getFromNeuron »
  • PHP Manual
  • FANNConnection
  • The connection constructor

FANNConnection::__construct

(PECL fann >= 1.0.0)

FANNConnection::__construct — The connection constructor

Descrição

public FANNConnection::__construct ( int $from_neuron , int $to_neuron , float $weight )

Create new connection and initialize its params. After creating the connection, only weight can be changed.

Parâmetros

from_neuron

The postion number of starting neuron.

to_neuron

The postion number of terminating neuron.

weight

The connection weight value.


Returns the postions of starting neuron

  • « FANNConnection::__construct
  • FANNConnection::getToNeuron »
  • PHP Manual
  • FANNConnection
  • Returns the postions of starting neuron

FANNConnection::getFromNeuron

(PECL fann >= 1.0.0)

FANNConnection::getFromNeuron — Returns the postions of starting neuron

Descrição

public FANNConnection::getFromNeuron ( ) : int

Returns the postions of starting neuron.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The postions of starting neuron.


Returns the postions of terminating neuron

  • « FANNConnection::getFromNeuron
  • FANNConnection::getWeight »
  • PHP Manual
  • FANNConnection
  • Returns the postions of terminating neuron

FANNConnection::getToNeuron

(PECL fann >= 1.0.0)

FANNConnection::getToNeuron — Returns the postions of terminating neuron

Descrição

public FANNConnection::getToNeuron ( ) : int

Returns the positions of terminating neuron.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The postions of terminating neuron.


Returns the connection weight

  • « FANNConnection::getToNeuron
  • FANNConnection::setWeight »
  • PHP Manual
  • FANNConnection
  • Returns the connection weight

FANNConnection::getWeight

(PECL fann >= 1.0.0)

FANNConnection::getWeight — Returns the connection weight

Descrição

public FANNConnection::getWeight ( ) : void

Returns the connection weight.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The connection weight.


Sets the connections weight

  • « FANNConnection::getWeight
  • JSON »
  • PHP Manual
  • FANNConnection
  • Sets the connections weight

FANNConnection::setWeight

(PECL fann >= 1.0.0)

FANNConnection::setWeight — Sets the connections weight

Descrição

public FANNConnection::setWeight ( float $weight ) : void

Sets the connection weight.

This method is different than fann_set_weight(). It does not update the weight value in the network. The network value is updated only after calling fann_set_weight_array().

Parâmetros

weight

The connection weight.

Valor Retornado

Nenhum valor é retornado.


JavaScript Object Notation

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • JsonSerializable — The JsonSerializable interface
    • JsonSerializable::jsonSerialize — Specify data which should be serialized to JSON
  • Funções da JSON
    • json_decode — Decodifica uma string JSON
    • json_encode — Retorna a representação JSON de um valor
    • json_last_error_msg — Retorna uma string contento a mensagem de erro da ultima chamada de json_encode() ou json_decode()
    • json_last_error — Retorna o último erro ocorrido


Introdução

Esta extensão implementa o formato de troca de dados » JavaScript Object Notation (JSON). A decodificação é feita por um parser baseado no JSON_checker de Douglas Crockford.

Nota:

O PHP implementa uma extensção do JSON, além do especificado no » RFC 4627 - podendo também codificar e decodificar tipos escalares e null. RFC 4627 apenas suporta esses valores quando eles estão inseridos dentro de um objeto ou array.

Embora isso seja consistente com a definição expandida de "texto JSON" na nova » RFC 7159 (que pretende susceder RFC 4627) e ECMA-404, isto pode causar problemas de interoperabilidade com parsers JSON antigos que aderem estritamente a RFC 4627 quando decodificando um valor escalar.


Dependências

No PHP 5.2.0, a extensão JSON foi empacotada e compilada por padrão.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/json


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

As seguintes constantes indicam o tipo de erro retornado pela função json_last_error().

JSON_ERROR_NONE (integer)
Sem erros. Disponível desde o PHP 5.3.0.
JSON_ERROR_DEPTH (integer)
O limite de pilha de chamadas foi ultrapassado Disponível desde o PHP 5.3.0.
JSON_ERROR_STATE_MISMATCH (integer)
Ocorre em underflows ou com incongruência de modos. Disponível desde o PHP 5.3.0.
JSON_ERROR_CTRL_CHAR (integer)
Erro em caracter de controle, possivelmente erro de enconding. Disponível desde o PHP 5.3.0.
JSON_ERROR_SYNTAX (integer)
Erro de sintaxe. Disponível desde o PHP 5.3.0.
JSON_ERROR_UTF8 (integer)
Caracteres UTF-8 mal formados, possivelmente erro de enconding. Esta constante está disponível desde o PHP 5.3.3.
JSON_ERROR_RECURSION (integer)

O objeto ou array passado para json_encode() inclui referências recursivas, e não pode ser formatada. Se a opção JSON_PARTIAL_OUTPUT_ON_ERROR foi informada, null será substituido no lugar da referência recursiva.

Esta constante está disponível desde o PHP 5.5.0.

JSON_ERROR_INF_OR_NAN (integer)

Um valor passado para json_encode() inclui NAN ou INF. Se a opção JSON_PARTIAL_OUTPUT_ON_ERROR foi informada, 0 será substituído no lugar do número especial.

Esta constante está disponível desde o PHP 5.5.0.

JSON_ERROR_UNSUPPORTED_TYPE (integer)

Um valor de um tipo não suportado foi informado para json_encode(), por exemplo um resource. Se a opção JSON_PARTIAL_OUTPUT_ON_ERROR foi informada, null será substitui ao invés do valor não suportado.

Esta constante está disponível desde o PHP 5.5.0.

As seguintes constantes podem ser combinadas para formar opções para a função json_encode().

JSON_HEX_TAG (integer)
Todos os caracteres < e > serão convertidos para \u003C and \u003E. Disponível desde o PHP 5.3.0.
JSON_HEX_AMP (integer)
Todos os caracteres & serão convertidos para \u0026. Disponível desde o PHP 5.3.0.
JSON_HEX_APOS (integer)
Todos os caracteres ' serão convertidos para \u0027. Disponível desde o PHP 5.3.0.
JSON_HEX_QUOT (integer)
Todos os caracteres " serão convertidos para \u0022. Disponível desde o PHP 5.3.0.
JSON_FORCE_OBJECT (integer)
Imprime um objeto em vez de um array quando um array não recursivo é usado. Muito útil quando o chamador espera um objeto mas o array está vazio. Disponível desde o PHP 5.3.0.
JSON_NUMERIC_CHECK (integer)
Codifica strings numéricas como números. Disponível desdee o PHP 5.3.3.
JSON_BIGINT_AS_STRING (integer)
Codifica números grandes como seu valor string original. Disponível desde o PHP 5.4.0.
JSON_PRETTY_PRINT (integer)
Formata os dados retornados com espaços em branco. Disponível desde PHP 5.4.0.
JSON_UNESCAPED_SLASHES (integer)
Não escapa o caracter /. Disponível desde o PHP 5.4.0.
JSON_UNESCAPED_UNICODE (integer)
Codifica caracteres Unicode multibyte literalmente (default é formatar como \uXXXX). Disponível desde o PHP 5.4.0.
JSON_PARTIAL_OUTPUT_ON_ERROR (integer)
Substitui valores não identificados ao invés de falhar. Disponível desde PHP 5.5.0.
JSON_PRESERVE_ZERO_FRACTION (integer)
Garante que float sempre são codificados como ponto decimal. Disponível desde o PHP 5.6.6.


The JsonSerializable interface

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Introdução

Objects implementing JsonSerializable can customize their JSON representation when encoded with json_encode().

Resumo da Interface

JsonSerializable {
/* Métodos */
abstract public jsonSerialize ( ) : mixed
}

Índice

  • JsonSerializable::jsonSerialize — Specify data which should be serialized to JSON


Specify data which should be serialized to JSON

  • « JsonSerializable
  • Funções da JSON »
  • PHP Manual
  • JsonSerializable
  • Specify data which should be serialized to JSON

JsonSerializable::jsonSerialize

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

JsonSerializable::jsonSerialize — Specify data which should be serialized to JSON

Descrição

abstract public JsonSerializable::jsonSerialize ( ) : mixed

Serializes the object to a value that can be serialized natively by json_encode().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns data which can be serialized by json_encode(), which is a value of any type other than a resource.

Exemplos

Exemplo #1 JsonSerializable::jsonSerialize() example returning an array

<?php
class ArrayValue implements JsonSerializable {
    public function __construct(array $array) {
        $this->array = $array;
    }

    public function jsonSerialize() {
        return $this->array;
    }
}

$array = [1, 2, 3];
echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT);
?>

O exemplo acima irá imprimir:

[
    1,
    2,
    3
]

Exemplo #2 JsonSerializable::jsonSerialize() example returning an associative array

<?php
class ArrayValue implements JsonSerializable {
    public function __construct(array $array) {
        $this->array = $array;
    }

    public function jsonSerialize() {
        return $this->array;
    }
}

$array = ['foo' => 'bar', 'quux' => 'baz'];
echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT);
?>

O exemplo acima irá imprimir:

{
    "foo": "bar",
    "quux": "baz"
}

Exemplo #3 JsonSerializable::jsonSerialize() example returning an int

<?php
class IntegerValue implements JsonSerializable {
    public function __construct($number) {
        $this->number = (integer) $number;
    }

    public function jsonSerialize() {
        return $this->number;
    }
}

echo json_encode(new IntegerValue(1), JSON_PRETTY_PRINT);
?>

O exemplo acima irá imprimir:

1

Exemplo #4 JsonSerializable::jsonSerialize() example returning a string

<?php
class StringValue implements JsonSerializable {
    public function __construct($string) {
        $this->string = (string) $string;
    }

    public function jsonSerialize() {
        return $this->string;
    }
}

echo json_encode(new StringValue('Hello!'), JSON_PRETTY_PRINT);
?>

O exemplo acima irá imprimir:

"Hello!"


Funções da JSON

Índice

  • json_decode — Decodifica uma string JSON
  • json_encode — Retorna a representação JSON de um valor
  • json_last_error_msg — Retorna uma string contento a mensagem de erro da ultima chamada de json_encode() ou json_decode()
  • json_last_error — Retorna o último erro ocorrido


Decodifica uma string JSON

  • « Funções da JSON
  • json_encode »
  • PHP Manual
  • Funções da JSON
  • Decodifica uma string JSON

json_decode

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL json >= 1.2.0)

json_decode — Decodifica uma string JSON

Descrição

json_decode ( string $json , bool $assoc = ? ) : mixed

Analisa a string codificada JSON e converte-a em uma variável do PHP.

Parâmetros

json

A string json a ser decodificada.

assoc

Quando true, o object retornado será convertido em array associativo.

Valor Retornado

Retorna um object ou um array associativo se o parâmetro opcional assoc é true.

Exemplos

Exemplo #1 json_decode() exemplos

<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));
var_dump(json_decode($json, true));

?>

O exemplo acima irá imprimir:

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

Exemplo #2 Um outro exemplo

<?php

$json = '{"foo-bar": 12345}';

$obj = json_decode($json);
print $obj->{'foo-bar'}; // 12345

?>

Notas

Cuidado

Esta função irá retorna false se o dado codificado JSON possui mais que 127 elementos.

Changelog

Versão | Descrição
5.2.3 | O limite de aninhamento foi aumentado de 20 para 128

Veja Também

  • json_encode() - Retorna a representação JSON de um valor


Retorna a representação JSON de um valor

  • « json_decode
  • json_last_error_msg »
  • PHP Manual
  • Funções da JSON
  • Retorna a representação JSON de um valor

json_encode

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL json >= 1.2.0)

json_encode — Retorna a representação JSON de um valor

Descrição

json_encode ( mixed $value , int $options = 0 , int $depth = 512 ) : string

Retorna a string contendo a representação JSON de um value.

Parâmetros

value

O value a ser codificado. Pode ser qualquer tipo, exceto um resource.

Toda a string deve ser codificada como UTF-8.

Nota:

O PHP implementa uma extensção do JSON, além do especificado no » RFC 4627 - podendo também codificar e decodificar tipos escalares e null. RFC 4627 apenas suporta esses valores quando eles estão inseridos dentro de um objeto ou array.

Embora isso seja consistente com a definição expandida de "texto JSON" na nova » RFC 7159 (que pretende susceder RFC 4627) e ECMA-404, isto pode causar problemas de interoperabilidade com parsers JSON antigos que aderem estritamente a RFC 4627 quando decodificando um valor escalar.

options

Bitmask consistindo de JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICODE. O comportamento destas constantes é descrito na página de constantes JSON.

depth

Define a profundidade máxima. Deve ser maior do que zero.

Valor Retornado

Retorna uma string JSON codificada em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.5.0 | Parâmetro depth foi adicionado.
5.4.0 | options JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, e JSON_UNESCAPED_UNICODE foram adicionadas.
5.3.3 | option JSON_NUMERIC_CHECK foi adicionada.
5.3.0 | O parâmetro options foi adicionado.

Exemplos

Exemplo #1 Um exemplo da json_encode()

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

O exemplo acima irá imprimir:

{"a":1,"b":2,"c":3,"d":4,"e":5}

Exemplo #2 Um exemplo de json_encode() mostrando algumas opções em uso

<?php
$a = array('<foo>',"'bar'",'"baz"','&blong&', "\xc3\xa9");

echo "Normal: ",  json_encode($a), "\n";
echo "Tags: ",    json_encode($a, JSON_HEX_TAG), "\n";
echo "Apos: ",    json_encode($a, JSON_HEX_APOS), "\n";
echo "Quot: ",    json_encode($a, JSON_HEX_QUOT), "\n";
echo "Amp: ",     json_encode($a, JSON_HEX_AMP), "\n";
echo "Unicode: ", json_encode($a, JSON_UNESCAPED_UNICODE), "\n";
echo "All: ",     json_encode($a, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE), "\n\n";

$b = array();

echo "Saída de um array vazio como array: ", json_encode($b), "\n";
echo "Saída de um array vazio como objeto: ", json_encode($b, JSON_FORCE_OBJECT), "\n\n";

$c = array(array(1,2,3));

echo "Saída de um array não-associativo como array: ", json_encode($c), "\n";
echo "Saída de um array não-associativo como objeto: ", json_encode($c, JSON_FORCE_OBJECT), "\n\n";

$d = array('foo' => 'bar', 'baz' => 'long');

echo "Array associativo sempre tem saída como objeto: ", json_encode($d), "\n";
echo "Array associativo sempre tem saída como objeto: ", json_encode($d, JSON_FORCE_OBJECT), "\n\n";
?>

O exemplo acima irá imprimir:

Normal: ["<foo>","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["<foo>","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["<foo>","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["<foo>","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["<foo>","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Saída de um array vazio como array: []
Saída de um array vazio como objeto: {}

Saída de um array não-associativo como array: [[1,2,3]]
Saída de um array não-associativo como objeto: {"0":{"0":1,"1":2,"2":3}}

Array associativo sempre tem saída como objeto: {"foo":"bar","baz":"long"}
Array associativo sempre tem saída como objeto: {"foo":"bar","baz":"long"}

Exemplo #3 Exemplo de array sequencial versus não-sequencial

<?php
echo "Array sequencial".PHP_EOL;
$sequential = array("foo", "bar", "baz", "blong");
var_dump(
 $sequential,
 json_encode($sequential)
);

echo PHP_EOL."Array não-sequencial".PHP_EOL;
$nonsequential = array(1=>"foo", 2=>"bar", 3=>"baz", 4=>"blong");
var_dump(
 $nonsequential,
 json_encode($nonsequential)
);

echo PHP_EOL."Array sequencial com uma chave não definida".PHP_EOL;
unset($sequential[1]);
var_dump(
 $sequential,
 json_encode($sequential)
);
?>

O exemplo acima irá imprimir:

Array sequencial
array(4) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  [2]=>
  string(3) "baz"
  [3]=>
  string(5) "blong"
}
string(27) "["foo","bar","baz","blong"]"

Array não-sequencial
array(4) {
  [1]=>
  string(3) "foo"
  [2]=>
  string(3) "bar"
  [3]=>
  string(3) "baz"
  [4]=>
  string(5) "blong"
}
string(43) "{"1":"foo","2":"bar","3":"baz","4":"blong"}"

Array sequencial com uma chave não definida
array(3) {
  [0]=>
  string(3) "foo"
  [2]=>
  string(3) "baz"
  [3]=>
  string(5) "blong"
}
string(33) "{"0":"foo","2":"baz","3":"blong"}"

Notas

Nota:

Em uma eventual falha ao codificar, json_last_error() pode ser usado para determinar a natureza exata do erro.

Nota:

Quando codificando um array, se as chaves não são uma sequência numérica contínua começando por 0, todas as chaves são codificadas como strings, e especificadas explicitamente para cada par chave-valor.

Nota:

Assim como o codificador JSON referenciado, json_encode() irá gerar JSON que é um valor simples (isto é, nem um objeto e nem um array) se informado um value string, integer, float ou boolean como uma entrada. Enquanto a maioria dos decodificadores aceitará esses valores como JSON válido, alguns podem não aceitar, já que a especificação é ambígua neste ponto.

Para resumir, sempre teste se o seu decodificador JSON pode dar conta da saída que você gerar a partir de json_encode().

Veja Também

  • JsonSerializable
  • json_decode() - Decodifica uma string JSON
  • json_last_error() - Retorna o último erro ocorrido
  • serialize() - Generates a storable representation of a value


Retorna uma string contento a mensagem de erro da ultima chamada de json_encode() ou json_decode()

  • « json_encode
  • json_last_error »
  • PHP Manual
  • Funções da JSON
  • Retorna uma string contento a mensagem de erro da ultima chamada de json_encode() ou json_decode()

json_last_error_msg

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

json_last_error_msg — Retorna uma string contento a mensagem de erro da ultima chamada de json_encode() ou json_decode()

Descrição

json_last_error_msg ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna a mensagem de erro em caso de sucesso ou null com os parâmetros errados.

Veja Também

  • json_last_error() - Retorna o último erro ocorrido


Retorna o último erro ocorrido

  • « json_last_error_msg
  • Lua »
  • PHP Manual
  • Funções da JSON
  • Retorna o último erro ocorrido

json_last_error

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

json_last_error — Retorna o último erro ocorrido

Descrição

json_last_error ( ) : int

Retorna o erro (se houver) ocorrido durante o último JSON encoding/decoding.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um inteiro, o valor pode ser uma das seguintes constantes:

JSON códigos de erro
Constant | Meaning | Availability
JSON_ERROR_NONE | Não ocorreu nenhum erro |
JSON_ERROR_DEPTH | A profundidade máxima da pilha foi excedida |
JSON_ERROR_STATE_MISMATCH | JSON inválido ou mal formado |
JSON_ERROR_CTRL_CHAR | Erro de caractere de controle, possivelmente codificado incorretamente |
JSON_ERROR_SYNTAX | Erro de sintaxe |
JSON_ERROR_UTF8 | caracteres UTF-8 malformado , possivelmente codificado incorretamente | PHP 5.3.3

Exemplos

Exemplo #1 json_last_error() exemplo

<?php
// A valid json string
$json[] = '{"Organization": "PHP Documentation Team"}';

// An invalid json string which will cause an syntax
// error, in this case we used ' instead of " for quotation
$json[] = "{'Organization': 'PHP Documentation Team'}";

foreach ($json as $string) {
    echo 'Decoding: ' . $string;
    json_decode($string);

    switch (json_last_error()) {
        case JSON_ERROR_NONE:
            echo ' - No errors';
        break;
        case JSON_ERROR_DEPTH:
            echo ' - Maximum stack depth exceeded';
        break;
        case JSON_ERROR_STATE_MISMATCH:
            echo ' - Underflow or the modes mismatch';
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo ' - Unexpected control character found';
        break;
        case JSON_ERROR_SYNTAX:
            echo ' - Syntax error, malformed JSON';
        break;
        case JSON_ERROR_UTF8:
            echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
        break;
        default:
            echo ' - Unknown error';
        break;
    }

    echo PHP_EOL;
}
?>

O exemplo acima irá imprimir:

Decoding: {"Organization": "PHP Documentation Team"} - No errors
Decoding: {'Organization': 'PHP Documentation Team'} - Syntax error, malformed JSON

Exemplo #2 json_last_error() com json_encode()

<?php
// An invalid UTF8 sequence
$text = "\xB1\x31";

$json  = json_encode($text);
$error = json_last_error();

var_dump($json, $error === JSON_ERROR_UTF8);
?>

O exemplo acima irá imprimir:

string(4) "null"
bool(true)

Veja Também

  • json_last_error_msg() - Retorna uma string contento a mensagem de erro da ultima chamada de json_encode() ou json_decode()
  • json_decode() - Decodifica uma string JSON
  • json_encode() - Retorna a representação JSON de um valor


Lua

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Lua — A Classw Lua
    • Lua::assign — Atribui uma variável PHP para o script Lua
    • Lua::call — Executa funções Lua
    • Lua::__construct — Construtor Lua
    • Lua::eval — Avalia uma string como código Lua
    • Lua::getVersion — Obtém a versão do interpretador Lua
    • Lua::include — Inclui e interpreta um arquivo de script Lua
    • Lua::registerCallback — Registra uma função PHP no interpretador Lua
  • LuaClosure — A Classe LuaClosure
    • LuaClosure::__invoke — Invoca uma closure lua


Introdução

"Lua é uma linguagem de script poderosa, rápida, leve e incorporável." Esta extensão incorpora o interpretador lua e oferece uma API orientada a objetos para as variáveis e funções lua.


Dependências

Para usar esta extensão é necessário ter o interpretador Lua instalado, disponível no » site oficial da linguagem Lua


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/lua.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


  • « Configurações em Execução
  • Lua »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão não tem recursos definidos.


A Classw Lua

(PECL lua >=0.9.0)

Introdução

Sinopse da classe

Lua {
/* Constantes */
const string LUA_VERSION = Lua 5.1.4 ;
/* Métodos */
public assign ( string $name , string $value ) : mixed
public call ( callable $lua_func , array $args = ? , int $use_self = 0 ) : mixed
public __call ( callable $lua_func , array $args = ? , int $use_self = 0 ) : mixed
public __construct ( string $lua_script_file = NULL )
public eval ( string $statements ) : mixed
public getVersion ( ) : string
public include ( string $file ) : mixed
public registerCallback ( string $name , callable $function ) : mixed
}

Constantes pré-definidas

Lua::LUA_VERSION

Índice

  • Lua::assign — Atribui uma variável PHP para o script Lua
  • Lua::call — Executa funções Lua
  • Lua::__construct — Construtor Lua
  • Lua::eval — Avalia uma string como código Lua
  • Lua::getVersion — Obtém a versão do interpretador Lua
  • Lua::include — Inclui e interpreta um arquivo de script Lua
  • Lua::registerCallback — Registra uma função PHP no interpretador Lua


Atribui uma variável PHP para o script Lua

  • « Lua
  • Lua::call »
  • PHP Manual
  • Lua
  • Atribui uma variável PHP para o script Lua

Lua::assign

(PECL lua >=0.9.0)

Lua::assign — Atribui uma variável PHP para o script Lua

Descrição

public Lua::assign ( string $name , string $value ) : mixed

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

value

Valor Retornado

Retorna $this ou null caso a chamada falhe.

Exemplos

Exemplo #1 Exemplo da função Lua::assign()

<?php
$lua = new Lua();
$lua->assign("variavel_php", array(1=>1, 2, 3)); //os índices dos vetores em lua iniciam com 1
$lua->eval(<<<CODE
    print(variavel_php);
CODE
);
?>

O exemplo acima irá imprimir:

Array
 (
     [1] => 1
     [2] => 2
     [3] => 3
 )


Executa funções Lua

  • « Lua::assign
  • Lua::__construct »
  • PHP Manual
  • Lua
  • Executa funções Lua

Lua::call

Lua::__call

(PECL lua >=0.9.0)

Lua::call -- Lua::__call — Executa funções Lua

Descrição

public Lua::call ( callable $lua_func , array $args = ? , int $use_self = 0 ) : mixed
public Lua::__call ( callable $lua_func , array $args = ? , int $use_self = 0 ) : mixed

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

lua_func

Nome da função lua

args

Argumentos passados para a função Lua

use_self

Indica o uso de self

Valor Retornado

Retorna o resultado da função chamada, null para argumentos incorretos ou false para outros tipos de falha.

Exemplos

Exemplo #1 Exemplo da função Lua::call()

<?php
$lua = new Lua();
$lua->eval(<<<CODE
    function dummy(foo, bar)
        print(foo, ",", bar)
    end
CODE
);
$lua->call("funcaolua", array("Lua ", "adorável\n"));
$lua->funcaolua("Lua ", "adorável"); // __call()
var_dump($lua->call(array("table", "concat"), array(array(1=>1, 2=>2, 3=>3), "-")));
?>

O exemplo acima irá imprimir:

Lua adorável
Lua adorável
string(5) "1-2-3"

Veja Também

  • __call()


Construtor Lua

  • « Lua::call
  • Lua::eval »
  • PHP Manual
  • Lua
  • Construtor Lua

Lua::__construct

(PECL lua >=0.9.0)

Lua::__construct — Construtor Lua

Descrição

public Lua::__construct ( string $lua_script_file = NULL )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

lua_script_file

Valor Retornado


Avalia uma string como código Lua

  • « Lua::__construct
  • Lua::getVersion »
  • PHP Manual
  • Lua
  • Avalia uma string como código Lua

Lua::eval

(PECL lua >=0.9.0)

Lua::eval — Avalia uma string como código Lua

Descrição

public Lua::eval ( string $statements ) : mixed

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

statements

Valor Retornado

Retorna o resultado do código avaliado, null para argumentos incorretos ou false para outros tipos de falha.

Exemplos

Exemplo #1 Exemplo da função Lua::eval()

<?php
$lua = new Lua();
$lua->eval(<<<CODE
    print(2);
CODE
);
?>

O exemplo acima irá imprimir:

2


Obtém a versão do interpretador Lua

  • « Lua::eval
  • Lua::include »
  • PHP Manual
  • Lua
  • Obtém a versão do interpretador Lua

Lua::getVersion

(PECL lua >=0.9.0)

Lua::getVersion — Obtém a versão do interpretador Lua

Descrição

public Lua::getVersion ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna Lua::LUA_VERSION.


Inclui e interpreta um arquivo de script Lua

  • « Lua::getVersion
  • Lua::registerCallback »
  • PHP Manual
  • Lua
  • Inclui e interpreta um arquivo de script Lua

Lua::include

(PECL lua >=0.9.0)

Lua::include — Inclui e interpreta um arquivo de script Lua

Descrição

public Lua::include ( string $file ) : mixed

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

file

Valor Retornado

Retorna o resultado do código incluído, null para argumentos incorretos ou false para outros tipos de falha.


Registra uma função PHP no interpretador Lua

  • « Lua::include
  • LuaClosure »
  • PHP Manual
  • Lua
  • Registra uma função PHP no interpretador Lua

Lua::registerCallback

(Não há informação de versão disponível, talvez apenas no Git)

Lua::registerCallback — Registra uma função PHP no interpretador Lua

Descrição

public Lua::registerCallback ( string $name , callable $function ) : mixed

Registra uma função PHP no interpretador Lua como uma função chamada "$name"

Parâmetros

name

function

Uma função PHP válida

Valor Retornado

Retorna $this, null para argumentos incorretos ou false para outros tipos de falha.

Exemplos

Exemplo #1 Exemplo da função Lua::registerCallback()

<?php
$lua = new Lua();
$lua->registerCallback("echo", "var_dump");
$lua->eval(<<<CODE
    echo({1, 2, 3});
CODE
);
?>

O exemplo acima irá imprimir:

array(3) {
  [1]=>
  float(1)
  [2]=>
  float(2)
  [3]=>
  float(3)
}


A Classe LuaClosure

(PECL lua >=0.9.0)

Introdução

LuaClosure é uma classe wrapper para LUA_TFUNCTION que pode ser retornada a partir de uma chamada para uma função Lua.

Sinopse da classe

LuaClosure {
/* Métodos */
public __invoke ( mixed $arg , mixed $... = ? ) : void
}

Índice

  • LuaClosure::__invoke — Invoca uma closure lua


Invoca uma closure lua

  • « LuaClosure
  • LuaSandbox »
  • PHP Manual
  • LuaClosure
  • Invoca uma closure lua

LuaClosure::__invoke

(PECL lua >=0.9.0)

LuaClosure::__invoke — Invoca uma closure lua

Descrição

public LuaClosure::__invoke ( mixed $arg , mixed $... = ? ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

arg

...

Valor Retornado

Exemplos

Exemplo #1 Exemplo da função LuaClosure::__invoke()

<?php
$lua = new Lua();
$closure = $lua->eval(<<<CODE
    return (function ()
        print("ola mundo")
    end)
CODE
);

$lua->call($closure);
/* depois do PHP 5.3 */
$closure();
?>

O exemplo acima irá imprimir:

ola mundoola mundo


LuaSandbox

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Differences from Standard Lua
  • Exemplos
    • Basic usage for LuaSandbox
  • LuaSandbox — The LuaSandbox class
    • LuaSandbox::callFunction — Call a function in a Lua global variable
    • LuaSandbox::disableProfiler — Disable the profiler
    • LuaSandbox::enableProfiler — Enable the profiler.
    • LuaSandbox::getCPUUsage — Fetch the current CPU time usage of the Lua environment
    • LuaSandbox::getMemoryUsage — Fetch the current memory usage of the Lua environment
    • LuaSandbox::getPeakMemoryUsage — Fetch the peak memory usage of the Lua environment
    • LuaSandbox::getProfilerFunctionReport — Fetch profiler data
    • LuaSandbox::getVersionInfo — Return the versions of LuaSandbox and Lua
    • LuaSandbox::loadBinary — Load a precompiled binary chunk into the Lua environment
    • LuaSandbox::loadString — Load Lua code into the Lua environment
    • LuaSandbox::pauseUsageTimer — Pause the CPU usage timer
    • LuaSandbox::registerLibrary — Register a set of PHP functions as a Lua library
    • LuaSandbox::setCPULimit — Set the CPU time limit for the Lua environment
    • LuaSandbox::setMemoryLimit — Set the memory limit for the Lua environment
    • LuaSandbox::unpauseUsageTimer — Unpause the timer paused by LuaSandbox::pauseUsageTimer
    • LuaSandbox::wrapPhpFunction — Wrap a PHP callable in a LuaSandboxFunction
  • LuaSandboxFunction — The LuaSandboxFunction class
    • LuaSandboxFunction::call — Call a Lua function
    • LuaSandboxFunction::__construct — Unused
    • LuaSandboxFunction::dump — Dump the function as a binary blob
  • LuaSandboxError — The LuaSandboxError class
  • LuaSandboxErrorError — The LuaSandboxErrorError class
  • LuaSandboxFatalError — The LuaSandboxFatalError class
  • LuaSandboxMemoryError — The LuaSandboxMemoryError class
  • LuaSandboxRuntimeError — The LuaSandboxRuntimeError class
  • LuaSandboxSyntaxError — The LuaSandboxSyntaxError class
  • LuaSandboxTimeoutError — The LuaSandboxTimeoutError class


Introdução

LuaSandbox is an extension for PHP 5, PHP 7, and HHVM to allow safely running untrusted Lua 5.1 code from within PHP.

Differences compared to the Lua extension:

  • LuaSandbox has support for time and memory limits.

  • LuaSandbox provides a default-safe environment for running untrusted code. Stock Lua functions were reviewed for security, and several were patched accordingly.

  • LuaSandbox has a PHP interface which is more complex, precise and powerful, but it is less convenient for developers.

  • LuaSandbox supports only Lua 5.1. It is difficult to change this, because LuaSandbox uses heavily modified Lua standard libraries, and due to the lack of backwards compatibility between major Lua versions. LuaSandbox aims to maximise backwards compatibility with user-supplied scripts.


Dependências

To use this extension, Lua 5.1 will need to be installed, available on the » Lua homepage.

To make full use of the timer features, LuaSandbox should be installed on Linux.

If FreeBSD or Mac OS X is used, only real (wall-clock) time is supported, the functions purporting to return CPU time will actually return wall clock time.

If Windows is used, no timer functions will be supported. The time limits will be inoperable.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/luasandbox.

If the operating system is Debian 9 or later, or Ubuntu 18.04 or later, then LuaSandbox should typically be installed from the package php-luasandbox:

sudo apt-get install php-luasandbox

Debian 9 users may need to add

deb http://ftp.debian.org/debian stretch-backports main
to their » sources.list.


  • « Configurações em Execução
  • Differences from Standard Lua »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão não tem recursos definidos.


Differences from Standard Lua

LuaSandbox provides a sandboxed environment which differs in some ways from standard Lua 5.1.

Features that are not available

  • dofile(), loadfile(), and the io package, as they allow direct filesystem access. If needed, filesystem access should be done via PHP callbacks.

  • The package package, including require() and module(), as it depends heavily on direct filesystem access. A pure-Lua rewrite such as that used in the MediaWiki Scribunto extension may be used instead.

  • load() and loadstring(), to allow for static analysis of Lua code.

  • print(), since it outputs to standard output. If needed, output should be done via PHP callbacks.

  • Most of the os package, as it allows manipulation of the process and executing of other processes.

    • os.clock(), os.date(), os.difftime(), and os.time() remain available.

  • Most of the debug package, as it allows manipulation of Lua state and metadata in ways that can break sandboxing.

    • debug.traceback() remains available.

  • string.dump(), as it may expose internal data.

  • collectgarbage(), gcinfo(), and the coroutine package have not been reviewed for security.

Features that have been modified

  • pcall() and xpcall() cannot catch certain errors, particularly timeout errors.

  • tostring() does not include pointer addresses.

  • string.match() has been patched to limit the recursion depth and to periodically check for a timeout.

  • math.random() and math.randomseed() are replaced with versions that don't share state with PHP's rand().

  • The Lua 5.2 __pairs and __ipairs metamethods are supported by pairs() and ipairs().


  • « Differences from Standard Lua
  • Basic usage for LuaSandbox »
  • PHP Manual
  • LuaSandbox
  • Exemplos

Exemplos

Índice

  • Basic usage for LuaSandbox


Basic usage for LuaSandbox

Once you've compiled PHP with LuaSandbox support, you can begin using LuaSandbox to safely run user-provided Lua code.

Exemplo #1 Execute some Lua code

<?php

$sandbox = new LuaSandbox;
$sandbox->setMemoryLimit( 50 * 1024 * 1024 );
$sandbox->setCPULimit( 10 );

// Register some functions in the Lua environment

function frobnosticate( $v ) {
    return [ $v + 42 ];
}

$sandbox->registerLibrary( 'php', [
    'frobnosticate' => 'frobnosticate',
    'output' => function ( $string ) {
        echo "$string\n";
    },
    'error' => function () {
        throw new LuaSandboxRuntimeError( "Something is wrong" );
    }
] );

// Execute some Lua code, including callbacks into PHP and into Lua

$luaCode = <<<EOF
php.output( "Hello, world" );

return "Hi", function ( v )
    return php.frobnosticate( v + 200 )
end
EOF;

list( $hi, $frob ) = $sandbox->loadString( $luaCode )->call();
assert( $frob->call( 4000 ) === [ 4242 ] );

// PHP-thrown LuaSandboxRuntimeError exceptions can be caught inside Lua

list( $ok, $message ) = $sandbox->loadString( 'return pcall( php.error )' )->call();
assert( !$ok );
assert( $message === 'Something is wrong' );

?>


The LuaSandbox class

(PECL luasandbox >= 1.0.0)

Introdução

The LuaSandbox class creates a Lua environment and allows for execution of Lua code.

Sinopse da classe

LuaSandbox {
/* Constants */
const int SAMPLES = 0 ;
const int SECONDS = 1 ;
const int PERCENT = 2 ;
/* Métodos */
public callFunction ( string $name , mixed ...$args ) : array|bool
public disableProfiler ( ) : void
public enableProfiler ( float $period = 0.02 ) : bool
public getCPUUsage ( ) : float
public getMemoryUsage ( ) : int
public getPeakMemoryUsage ( ) : int
public getProfilerFunctionReport ( int $units = LuaSandbox::SECONDS ) : array
public static getVersionInfo ( ) : array
public loadBinary ( string $code , string $chunkName = '' ) : LuaSandboxFunction
public loadString ( string $code , string $chunkName = '' ) : LuaSandboxFunction
public pauseUsageTimer ( ) : bool
public registerLibrary ( string $libname , array $functions ) : void
public setCPULimit ( float|bool $limit ) : void
public setMemoryLimit ( int $limit ) : void
public unpauseUsageTimer ( ) : void
public wrapPhpFunction ( callable $function ) : LuaSandboxFunction
}

Constantes pré-definidas

LuaSandbox::SAMPLES

Used with LuaSandbox::getProfilerFunctionReport() to return timings in samples.

LuaSandbox::SECONDS

Used with LuaSandbox::getProfilerFunctionReport() to return timings in seconds.

LuaSandbox::PERCENT

Used with LuaSandbox::getProfilerFunctionReport() to return timings in percentages of the total.

Índice

  • LuaSandbox::callFunction — Call a function in a Lua global variable
  • LuaSandbox::disableProfiler — Disable the profiler
  • LuaSandbox::enableProfiler — Enable the profiler.
  • LuaSandbox::getCPUUsage — Fetch the current CPU time usage of the Lua environment
  • LuaSandbox::getMemoryUsage — Fetch the current memory usage of the Lua environment
  • LuaSandbox::getPeakMemoryUsage — Fetch the peak memory usage of the Lua environment
  • LuaSandbox::getProfilerFunctionReport — Fetch profiler data
  • LuaSandbox::getVersionInfo — Return the versions of LuaSandbox and Lua
  • LuaSandbox::loadBinary — Load a precompiled binary chunk into the Lua environment
  • LuaSandbox::loadString — Load Lua code into the Lua environment
  • LuaSandbox::pauseUsageTimer — Pause the CPU usage timer
  • LuaSandbox::registerLibrary — Register a set of PHP functions as a Lua library
  • LuaSandbox::setCPULimit — Set the CPU time limit for the Lua environment
  • LuaSandbox::setMemoryLimit — Set the memory limit for the Lua environment
  • LuaSandbox::unpauseUsageTimer — Unpause the timer paused by LuaSandbox::pauseUsageTimer
  • LuaSandbox::wrapPhpFunction — Wrap a PHP callable in a LuaSandboxFunction


Call a function in a Lua global variable

  • « LuaSandbox
  • LuaSandbox::disableProfiler »
  • PHP Manual
  • LuaSandbox
  • Call a function in a Lua global variable

LuaSandbox::callFunction

(PECL luasandbox >= 1.0.0)

LuaSandbox::callFunction — Call a function in a Lua global variable

Descrição

public LuaSandbox::callFunction ( string $name , mixed ...$args ) : array|bool

Calls a function in a Lua global variable.

If the name contains "." characters, the function is located via recursive table accesses, as if the name were a Lua expression.

If the variable does not exist, or is not a function, false will be returned and a warning issued.

For more information about calling Lua functions and the return values, see LuaSandboxFunction::call().

Parâmetros

name

Lua variable name.

args

Arguments to the function.

Valor Retornado

Returns an array of values returned by the Lua function, which may be empty, or false in case of failure.

Exemplos

Exemplo #1 Calling a Lua function

<?php

// create a new LuaSandbox
$sandbox = new LuaSandbox();

// Call Lua's string.match
$captures = $sandbox->callFunction( 'string.match', $string, $pattern );

?>


Disable the profiler

  • « LuaSandbox::callFunction
  • LuaSandbox::enableProfiler »
  • PHP Manual
  • LuaSandbox
  • Disable the profiler

LuaSandbox::disableProfiler

(PECL luasandbox >= 1.1.0)

LuaSandbox::disableProfiler — Disable the profiler

Descrição

public LuaSandbox::disableProfiler ( ) : void

Disables the profiler.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • LuaSandbox::enableProfiler() - Enable the profiler.
  • LuaSandbox::getProfilerFunctionReport() - Fetch profiler data


Enable the profiler.

  • « LuaSandbox::disableProfiler
  • LuaSandbox::getCPUUsage »
  • PHP Manual
  • LuaSandbox
  • Enable the profiler.

LuaSandbox::enableProfiler

(PECL luasandbox >= 1.1.0)

LuaSandbox::enableProfiler — Enable the profiler.

Descrição

public LuaSandbox::enableProfiler ( float $period = 0.02 ) : bool

Enables the profiler. Profiling will begin when Lua code is entered.

The profiler periodically samples the Lua environment to record the running function. Testing indicates that at least on Linux, setting a period less than 1ms will lead to a high overrun count but no performance problems.

Parâmetros

period

Sampling period in seconds.

Valor Retornado

Returns a boolean indicating whether the profiler is enabled.

Veja Também

  • LuaSandbox::disableProfiler() - Disable the profiler
  • LuaSandbox::getProfilerFunctionReport() - Fetch profiler data


Fetch the current CPU time usage of the Lua environment

  • « LuaSandbox::enableProfiler
  • LuaSandbox::getMemoryUsage »
  • PHP Manual
  • LuaSandbox
  • Fetch the current CPU time usage of the Lua environment

LuaSandbox::getCPUUsage

(PECL luasandbox >= 1.0.0)

LuaSandbox::getCPUUsage — Fetch the current CPU time usage of the Lua environment

Descrição

public LuaSandbox::getCPUUsage ( ) : float

Fetches the current CPU time usage of the Lua environment.

This includes time spent in PHP callbacks.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current CPU time usage in seconds.

Nota:

On Windows, this function always returns zero. On operating systems that do not support CLOCK_THREAD_CPUTIME_ID, such as FreeBSD and Mac OS X, this function will return the elapsed wall-clock time, not CPU time.

Veja Também

  • LuaSandbox::getMemoryUsage() - Fetch the current memory usage of the Lua environment
  • LuaSandbox::getPeakMemoryUsage() - Fetch the peak memory usage of the Lua environment
  • LuaSandbox::setCPULimit() - Set the CPU time limit for the Lua environment


Fetch the current memory usage of the Lua environment

  • « LuaSandbox::getCPUUsage
  • LuaSandbox::getPeakMemoryUsage »
  • PHP Manual
  • LuaSandbox
  • Fetch the current memory usage of the Lua environment

LuaSandbox::getMemoryUsage

(PECL luasandbox >= 1.0.0)

LuaSandbox::getMemoryUsage — Fetch the current memory usage of the Lua environment

Descrição

public LuaSandbox::getMemoryUsage ( ) : int

Fetches the current memory usage of the Lua environment.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current memory usage in bytes.

Veja Também

  • LuaSandbox::getPeakMemoryUsage() - Fetch the peak memory usage of the Lua environment
  • LuaSandbox::getCPUUsage() - Fetch the current CPU time usage of the Lua environment
  • LuaSandbox::setMemoryLimit() - Set the memory limit for the Lua environment


Fetch the peak memory usage of the Lua environment

  • « LuaSandbox::getMemoryUsage
  • LuaSandbox::getProfilerFunctionReport »
  • PHP Manual
  • LuaSandbox
  • Fetch the peak memory usage of the Lua environment

LuaSandbox::getPeakMemoryUsage

(PECL luasandbox >= 1.0.0)

LuaSandbox::getPeakMemoryUsage — Fetch the peak memory usage of the Lua environment

Descrição

public LuaSandbox::getPeakMemoryUsage ( ) : int

Fetches the peak memory usage of the Lua environment.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the peak memory usage in bytes.

Veja Também

  • LuaSandbox::getMemoryUsage() - Fetch the current memory usage of the Lua environment
  • LuaSandbox::getCPUUsage() - Fetch the current CPU time usage of the Lua environment
  • LuaSandbox::setMemoryLimit() - Set the memory limit for the Lua environment


Fetch profiler data

  • « LuaSandbox::getPeakMemoryUsage
  • LuaSandbox::getVersionInfo »
  • PHP Manual
  • LuaSandbox
  • Fetch profiler data

LuaSandbox::getProfilerFunctionReport

(PECL luasandbox >= 1.1.0)

LuaSandbox::getProfilerFunctionReport — Fetch profiler data

Descrição

public LuaSandbox::getProfilerFunctionReport ( int $units = LuaSandbox::SECONDS ) : array

For a profiling instance previously started by LuaSandbox::enableProfiler(), get a report of the cost of each function.

The measurement unit used for the cost is determined by the $units parameter:

LuaSandbox::SAMPLES

Measure in number of samples.

LuaSandbox::SECONDS

Measure in seconds of CPU time.

LuaSandbox::PERCENT

Measure percentage of CPU time.

Parâmetros

units

Measurement unit constant.

Valor Retornado

Returns profiler measurements, sorted in descending order, as an associative array. Keys are the Lua function names (with source file and line defined in angle brackets), values are the measurements as int or float.

Nota:

On Windows, this function always returns an empty array. On operating systems that do not support CLOCK_THREAD_CPUTIME_ID, such as FreeBSD and Mac OS X, this function will report the elapsed wall-clock time, not CPU time.

Exemplos

Exemplo #1 Profiling Lua code

<?php

// create a new LuaSandbox
$sandbox = new LuaSandbox();

// Start the profiler
$sandbox->enableProfiler( 0.01 );

// ... Execute some Lua code here ...

// Fetch the profiler data
$data = $sandbox->getProfilerFunctionReport();

?>


Return the versions of LuaSandbox and Lua

  • « LuaSandbox::getProfilerFunctionReport
  • LuaSandbox::loadBinary »
  • PHP Manual
  • LuaSandbox
  • Return the versions of LuaSandbox and Lua

LuaSandbox::getVersionInfo

(PECL luasandbox >= 1.6.0)

LuaSandbox::getVersionInfo — Return the versions of LuaSandbox and Lua

Descrição

public static LuaSandbox::getVersionInfo ( ) : array

Returns the versions of LuaSandbox and Lua.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array with two keys:

element | type | description
LuaSandbox | string | The version of the LuaSandbox extension.
Lua | string | The library name and version as defined by the LUA_RELEASE macro, for example, "Lua 5.1.5".


Load a precompiled binary chunk into the Lua environment

  • « LuaSandbox::getVersionInfo
  • LuaSandbox::loadString »
  • PHP Manual
  • LuaSandbox
  • Load a precompiled binary chunk into the Lua environment

LuaSandbox::loadBinary

(PECL luasandbox >= 1.0.0)

LuaSandbox::loadBinary — Load a precompiled binary chunk into the Lua environment

Descrição

public LuaSandbox::loadBinary ( string $code , string $chunkName = '' ) : LuaSandboxFunction

Loads data generated by LuaSandboxFunction::dump().

Parâmetros

code

Data from LuaSandboxFunction::dump().

chunkName

Name for the loaded function.

Valor Retornado

Returns a LuaSandboxFunction.

Veja Também

  • LuaSandbox::loadString() - Load Lua code into the Lua environment


Load Lua code into the Lua environment

  • « LuaSandbox::loadBinary
  • LuaSandbox::pauseUsageTimer »
  • PHP Manual
  • LuaSandbox
  • Load Lua code into the Lua environment

LuaSandbox::loadString

(PECL luasandbox >= 1.0.0)

LuaSandbox::loadString — Load Lua code into the Lua environment

Descrição

public LuaSandbox::loadString ( string $code , string $chunkName = '' ) : LuaSandboxFunction

Loads Lua code into the Lua environment.

This is the equivalent of standard Lua's loadstring() function.

Parâmetros

code

Lua code.

chunkName

Name for the loaded chunk, for use in error traces.

Valor Retornado

Returns a LuaSandboxFunction which, when executed, will execute the passed $code.

Exemplos

Exemplo #1 Loading code into Lua

<?php

// create a new LuaSandbox
$sandbox = new LuaSandbox();

// Load the code
$function = $sandbox->loadString(
<<<CODE
    return "Hello, world"
CODE
);

// Execute the loaded code
var_dump( $function->call() );

?>

O exemplo acima irá imprimir:

array(1) {
  [0]=>
  string(12) "Hello, world"
}

Veja Também

  • LuaSandbox::registerLibrary() - Register a set of PHP functions as a Lua library
  • LuaSandbox::wrapPhpFunction() - Wrap a PHP callable in a LuaSandboxFunction


Pause the CPU usage timer

  • « LuaSandbox::loadString
  • LuaSandbox::registerLibrary »
  • PHP Manual
  • LuaSandbox
  • Pause the CPU usage timer

LuaSandbox::pauseUsageTimer

(PECL luasandbox >= 1.4.0)

LuaSandbox::pauseUsageTimer — Pause the CPU usage timer

Descrição

public LuaSandbox::pauseUsageTimer ( ) : bool

Pauses the CPU usage timer.

This only has effect when called from within a callback from Lua. When execution returns to Lua, the timer will be automatically unpaused. If a new call into Lua is made, the timer will be unpaused for the duration of that call.

If a PHP callback calls into Lua again with timer not paused, and then that Lua function calls into PHP again, the second PHP call will not be able to pause the timer. The logic is that even though the second PHP call would avoid counting the CPU usage against the limit, the first call still counts it.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a bool indicating whether the timer is now paused.

Exemplos

Exemplo #1 Manipulating the usage timer

<?php

// create a new LuaSandbox and set a CPU limit
$sandbox = new LuaSandbox();
$sandbox->setCPULimit( 1 );

function doWait( $t ) {
    $end = microtime( true ) + $t;
    while ( microtime( true ) < $end ) {
        // waste CPU cycles
    }
}

// Register a PHP callback
$sandbox->registerLibrary( 'php', [
    'test' => function () use ( $sandbox ) {
        $sandbox->pauseUsageTimer();
        doWait( 5 );

        $sandbox->unpauseUsageTimer();
        doWait( 0.1 );
    },
    'test2' => function () use ( $sandbox ) {
        $sandbox->pauseUsageTimer();
        $sandbox->unpauseUsageTimer();
        doWait( 1.1 );
    }
] );

echo "This should not time out...\n";
$sandbox->loadString( 'php.test()' )->call();

echo "This should time out.\n";
try {
    $sandbox->loadString( 'php.test2()' )->call();
    echo "It did not?\n";
} catch ( LuaSandboxTimeoutError $ex ) {
    echo "It did! " . $ex->getMessage() . "\n";
}

?>

O exemplo acima irá imprimir:

This should not time out...
This should time out.
It did! The maximum execution time for this script was exceeded

Veja Também

  • LuaSandbox::setCPULimit() - Set the CPU time limit for the Lua environment
  • LuaSandbox::unpauseUsageTimer() - Unpause the timer paused by LuaSandbox::pauseUsageTimer


Register a set of PHP functions as a Lua library

  • « LuaSandbox::pauseUsageTimer
  • LuaSandbox::setCPULimit »
  • PHP Manual
  • LuaSandbox
  • Register a set of PHP functions as a Lua library

LuaSandbox::registerLibrary

(PECL luasandbox >= 1.0.0)

LuaSandbox::registerLibrary — Register a set of PHP functions as a Lua library

Descrição

public LuaSandbox::registerLibrary ( string $libname , array $functions ) : void

Registers a set of PHP functions as a Lua library, so that Lua can call the relevant PHP code.

For more information about calling Lua functions and the return values, see LuaSandboxFunction::call().

Parâmetros

libname

The name of the library. In the Lua state, the global variable of this name will be set to the table of functions. If the table already exists, the new functions will be added to it.

functions

An array, where each key is a function name, and each value is a corresponding PHP callable.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Registering PHP functions to call from Lua

<?php

// create a new LuaSandbox
$sandbox = new LuaSandbox();

// Register some functions in the Lua environment

function frobnosticate( $v ) {
    return [ $v + 42 ];
}

$sandbox->registerLibrary( 'php', [
    'frobnosticate' => 'frobnosticate',
    'output' => function ( $string ) {
        echo "$string\n";
    },
    'error' => function () {
        throw new LuaSandboxRuntimeError( "Something is wrong" );
    }
] );

?>

Veja Também

  • LuaSandbox::loadString() - Load Lua code into the Lua environment
  • LuaSandbox::wrapPhpFunction() - Wrap a PHP callable in a LuaSandboxFunction


Set the CPU time limit for the Lua environment

  • « LuaSandbox::registerLibrary
  • LuaSandbox::setMemoryLimit »
  • PHP Manual
  • LuaSandbox
  • Set the CPU time limit for the Lua environment

LuaSandbox::setCPULimit

(PECL luasandbox >= 1.0.0)

LuaSandbox::setCPULimit — Set the CPU time limit for the Lua environment

Descrição

public LuaSandbox::setCPULimit ( float|bool $limit ) : void

Sets the CPU time limit for the Lua environment.

If the total user and system time used by the environment after the call to this method exceeds this limit, a LuaSandboxTimeoutError exception is thrown.

Time used in PHP callbacks is included in the limit.

Setting the time limit from a callback while Lua is running causes the timer to be reset, or started if it was not already running.

Nota:

On Windows, the CPU limit will be ignored. On operating systems that do not support CLOCK_THREAD_CPUTIME_ID, such as FreeBSD and Mac OS X, wall-clock time rather than CPU time will be limited.

Parâmetros

limit

Limit as a float in seconds, or false for no limit.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Calling a Lua function

<?php

// create a new LuaSandbox
$sandbox = new LuaSandbox();

// set a time limit
$sandbox->setCPULimit( 2 );

// Run Lua code
$sandbox->loadString( 'while true do end' )->call();

?>

O exemplo acima irá imprimir algo similar à:

PHP Fatal error:  Uncaught LuaSandboxTimeoutError: The maximum execution time for this script was exceeded

Veja Também

  • LuaSandbox::getCPUUsage() - Fetch the current CPU time usage of the Lua environment
  • LuaSandbox::setMemoryLimit() - Set the memory limit for the Lua environment


Set the memory limit for the Lua environment

  • « LuaSandbox::setCPULimit
  • LuaSandbox::unpauseUsageTimer »
  • PHP Manual
  • LuaSandbox
  • Set the memory limit for the Lua environment

LuaSandbox::setMemoryLimit

(PECL luasandbox >= 1.0.0)

LuaSandbox::setMemoryLimit — Set the memory limit for the Lua environment

Descrição

public LuaSandbox::setMemoryLimit ( int $limit ) : void

Sets the memory limit for the Lua environment.

If this limit is exceeded, a LuaSandboxMemoryError exception is thrown.

Parâmetros

limit

Memory limit in bytes.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Calling a Lua function

<?php

// create a new LuaSandbox
$sandbox = new LuaSandbox();

// set a memory limit
$sandbox->setMemoryLimit( 50 * 1024 * 1024 );

// Run Lua code
$sandbox->loadString( 'local x = "x"; while true do x = x .. x; end' )->call();

?>

O exemplo acima irá imprimir algo similar à:

PHP Fatal error:  Uncaught LuaSandboxMemoryError: not enough memory

Veja Também

  • LuaSandbox::getMemoryUsage() - Fetch the current memory usage of the Lua environment
  • LuaSandbox::getPeakMemoryUsage() - Fetch the peak memory usage of the Lua environment
  • LuaSandbox::setCPULimit() - Set the CPU time limit for the Lua environment


Unpause the timer paused by LuaSandbox::pauseUsageTimer

  • « LuaSandbox::setMemoryLimit
  • LuaSandbox::wrapPhpFunction »
  • PHP Manual
  • LuaSandbox
  • Unpause the timer paused by LuaSandbox::pauseUsageTimer

LuaSandbox::unpauseUsageTimer

(PECL luasandbox >= 1.4.0)

LuaSandbox::unpauseUsageTimer — Unpause the timer paused by LuaSandbox::pauseUsageTimer()

Descrição

public LuaSandbox::unpauseUsageTimer ( ) : void

Unpauses the timer paused by LuaSandbox::pauseUsageTimer().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • LuaSandbox::pauseUsageTimer() - Pause the CPU usage timer
  • LuaSandbox::setCPULimit() - Set the CPU time limit for the Lua environment


Wrap a PHP callable in a LuaSandboxFunction

  • « LuaSandbox::unpauseUsageTimer
  • LuaSandboxFunction »
  • PHP Manual
  • LuaSandbox
  • Wrap a PHP callable in a LuaSandboxFunction

LuaSandbox::wrapPhpFunction

(PECL luasandbox >= 1.2.0)

LuaSandbox::wrapPhpFunction — Wrap a PHP callable in a LuaSandboxFunction

Descrição

public LuaSandbox::wrapPhpFunction ( callable $function ) : LuaSandboxFunction

Wraps a PHP callable in a LuaSandboxFunction, so it can be passed into Lua as an anonymous function.

The function must return either an array of values (which may be empty), or null which is equivalent to returning the empty array.

Exceptions will be raised as errors in Lua, however only LuaSandboxRuntimeError exceptions may be caught inside Lua with pcall() or xpcall().

For more information about calling Lua functions and the return values, see LuaSandboxFunction::call().

Parâmetros

function

Callable to wrap.

Valor Retornado

Returns a LuaSandboxFunction.

Veja Também

  • LuaSandbox::loadString() - Load Lua code into the Lua environment
  • LuaSandbox::registerLibrary() - Register a set of PHP functions as a Lua library


The LuaSandboxFunction class

(PECL luasandbox >= 1.0.0)

Introdução

Represents a Lua function, allowing it to be called from PHP.

A LuaSandboxFunction may be obtained as a return value from Lua, as a parameter
passed to a callback from Lua, or by using
LuaSandbox::wrapPhpFunction(),
LuaSandbox::loadString(), or
LuaSandbox::loadBinary().

Sinopse da classe

LuaSandboxFunction {
/* Métodos */
public call ( string ...$args ) : array|bool
public dump ( ) : string
}

Índice

  • LuaSandboxFunction::call — Call a Lua function
  • LuaSandboxFunction::__construct — Unused
  • LuaSandboxFunction::dump — Dump the function as a binary blob


Call a Lua function

  • « LuaSandboxFunction
  • LuaSandboxFunction::__construct »
  • PHP Manual
  • LuaSandboxFunction
  • Call a Lua function

LuaSandboxFunction::call

(PECL luasandbox >= 1.0.0)

LuaSandboxFunction::call — Call a Lua function

Descrição

public LuaSandboxFunction::call ( string ...$args ) : array|bool

Calls a Lua function.

Errors considered to be the fault of the PHP code will result in the function returning false and E_WARNING being raised, for example, a resource type being used as an argument. Lua errors will result in a LuaSandboxRuntimeError exception being thrown.

PHP and Lua types are converted as follows:

  • PHP null is Lua nil, and vice versa.

  • PHP ints and floats are converted to Lua numbers. Infinity and NAN are supported.

  • Lua numbers without a fractional part between approximately -2**53 and 2**53 are converted to PHP ints, with others being converted to PHP floats.

  • PHP bools are Lua booleans, and vice versa.

  • PHP strings are Lua strings, and vice versa.

  • Lua functions are PHP LuaSandboxFunction objects, and vice versa. General PHP callables are not supported.

  • PHP arrays are converted to Lua tables, and vice versa.

    • Note that Lua typically indexes arrays from 1, while PHP indexes arrays from 0. No adjustment is made for these differing conventions.

    • Self-referential arrays are not supported in either direction.

    • PHP references are dereferenced.

    • Lua __pairs and __ipairs are processed. __index is ignored.

    • When converting from PHP to Lua, integer keys between -2**53 and 2**53 are represented as Lua numbers. All other keys are represented as Lua strings.

    • When converting from Lua to PHP, keys other than strings and numbers will result in an error, as will collisions when converting numbers to strings or vice versa (since PHP considers things like $a[0] and $a["0"] as being equivalent).

  • All other types are unsupported and will raise an error/exception, including general PHP objects and Lua userdata and thread types.

Lua functions inherently return a list of results. So on success, this method returns an array containing all of the values returned by Lua, with int keys starting from zero. Lua may return no results, in which case an empty array is returned.

Parâmetros

args

Arguments passed to the function.

Valor Retornado

Returns an array of values returned by the function, which may be empty, or false on error.


Unused

  • « LuaSandboxFunction::call
  • LuaSandboxFunction::dump »
  • PHP Manual
  • LuaSandboxFunction
  • Unused

LuaSandboxFunction::__construct

(PECL luasandbox >= 1.0.0)

LuaSandboxFunction::__construct — Unused

Descrição

final private LuaSandboxFunction::__construct ( )

LuaSandboxFunction are obtained as a return value from Lua,
as a parameter passed to a callback from Lua, or by using
LuaSandbox::wrapPhpFunction(),
LuaSandbox::loadString(), or
LuaSandbox::loadBinary(). They cannot be constructed directly.

Parâmetros

Esta função não possui parâmetros.


Dump the function as a binary blob

  • « LuaSandboxFunction::__construct
  • LuaSandboxError »
  • PHP Manual
  • LuaSandboxFunction
  • Dump the function as a binary blob

LuaSandboxFunction::dump

(PECL luasandbox >= 1.0.0)

LuaSandboxFunction::dump — Dump the function as a binary blob

Descrição

public LuaSandboxFunction::dump ( ) : string

Dumps the function as a binary blob.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string that may be passed to LuaSandbox::loadBinary().


The LuaSandboxError class

(PECL luasandbox >= 1.0.0)

Introdução

Base class for LuaSandbox exceptions

Sinopse da classe

LuaSandboxError extends Exception {
/* Constants */
const int RUN = 2 ;
const int SYNTAX = 3 ;
const int MEM = 4 ;
const int ERR = 5 ;
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Constantes pré-definidas

LuaSandboxError::RUN

LuaSandboxError::SYNTAX

LuaSandboxError::MEM

LuaSandboxError::ERR


The LuaSandboxErrorError class

(PECL luasandbox >= 1.0.0)

Introdução

Exception thrown when Lua encounters an error inside an error handler.

Sinopse da classe

LuaSandboxErrorError extends LuaSandboxFatalError {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The LuaSandboxFatalError class

(PECL luasandbox >= 1.0.0)

Introdução

Uncatchable LuaSandbox exceptions.

These may not be caught inside Lua using pcall() or xpcall().

Sinopse da classe

LuaSandboxFatalError extends LuaSandboxError {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The LuaSandboxMemoryError class

(PECL luasandbox >= 1.0.0)

Introdução

Exception thrown when Lua cannot allocate memory.

Sinopse da classe

LuaSandboxMemoryError extends LuaSandboxFatalError {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Veja Também

  • LuaSandbox::setMemoryLimit()


The LuaSandboxRuntimeError class

(PECL luasandbox >= 1.0.0)

Introdução

Catchable LuaSandbox runtime exceptions.

These may be caught inside Lua using pcall() or xpcall().

Sinopse da classe

LuaSandboxRuntimeError extends LuaSandboxError {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The LuaSandboxSyntaxError class

(PECL luasandbox >= 1.0.0)

Introdução

Exception thrown when Lua code cannot be parsed.

Sinopse da classe

LuaSandboxSyntaxError extends LuaSandboxFatalError {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The LuaSandboxTimeoutError class

(PECL luasandbox >= 1.0.0)

Introdução

Exception thrown when the configured CPU time limit is exceeded.

Sinopse da classe

LuaSandboxTimeoutError extends LuaSandboxFatalError {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Veja Também

  • LuaSandbox::setCPULimit()


Funções Miscelâneas

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Misc. Funções
    • connection_aborted — Verifica se o cliente está desconectado
    • connection_status — Retorna o status da conexão
    • constant — Retorna o valor de uma constante
    • define — Define uma constante
    • defined — Confere se uma constante existe
    • die — Equivalente a exit
    • eval — Executa uma string como código PHP
    • exit — Mostra uma mensagem e termina o script atual
    • get_browser — Diz o que o browser do usuário pode fazer
    • __halt_compiler — Halts the compiler execution
    • highlight_file — Destaca a sintaxe de um arquivo
    • highlight_string — Destaque da sintaxe de uma string
    • hrtime — Get the system's high resolution time
    • ignore_user_abort — Estabelece se acontecerá o encerramento do script quando o usuário abortar a conexão
    • pack — Pack data into binary string
    • php_strip_whitespace — Retorna o código com comentários e espaços em branco removidos
    • sapi_windows_cp_conv — Convert string from one codepage to another
    • sapi_windows_cp_get — Get current codepage
    • sapi_windows_cp_is_utf8 — Indicates whether the codepage is UTF-8 compatible
    • sapi_windows_cp_set — Set process codepage
    • sapi_windows_generate_ctrl_event — Send a CTRL event to another process
    • sapi_windows_set_ctrl_handler — Set or remove a CTRL event handler
    • sapi_windows_vt100_support — Get or set VT100 support for the specified stream associated to an output buffer of a Windows console.
    • show_source — Sinônimo de highlight_file
    • sleep — Atrasa a execução do script
    • sys_getloadavg — Gets system load average
    • time_nanosleep — Atrasa para um número de segundos e nanosegundos
    • time_sleep_until — Paralisa o script até um tempo especificado
    • uniqid — Gera um ID unico
    • unpack — Unpack data from binary string
    • usleep — Atrasa a execução em milionésimos de segundo


Introdução

Estas funções foram colocadas aqui porque pareciam não caber em nenhuma outra categoria.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de Configuração
Nome | Padrão | Modificável | Changelog
ignore_user_abort | "0" | PHP_INI_ALL |
highlight.string | #DD0000 | PHP_INI_ALL |
highlight.comment | #FF9900 | PHP_INI_ALL |
highlight.keyword | #007700 | PHP_INI_ALL |
highlight.bg | #FFFFFF | PHP_INI_ALL | Removido no PHP 6.0.0.
highlight.default | #0000BB | PHP_INI_ALL |
highlight.html | #000000 | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

ignore_user_abort boolean

false por padrão. Se modificado para true os scripts terminaram assim que o cliente tiver abortado sua conexão.

Veja também ignore_user_abort().

highlight.bg string
highlight.comment string
highlight.default string
highlight.html string
highlight.keyword string
highlight.string string

Cores para o modo de destaque da sintaxe. Qualquer coisa aceitável em <font color="??????"> deve funcionar.

browscap string

Nome (ex: browscap.ini) e localização do arquivo com as capacidades do browser. Veja também get_browser().


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

CONNECTION_ABORTED (integer)
CONNECTION_NORMAL (integer)
CONNECTION_TIMEOUT (integer)
__COMPILER_HALT_OFFSET__ (integer)
Added in PHP 5.1.


Misc. Funções

Índice

  • connection_aborted — Verifica se o cliente está desconectado
  • connection_status — Retorna o status da conexão
  • constant — Retorna o valor de uma constante
  • define — Define uma constante
  • defined — Confere se uma constante existe
  • die — Equivalente a exit
  • eval — Executa uma string como código PHP
  • exit — Mostra uma mensagem e termina o script atual
  • get_browser — Diz o que o browser do usuário pode fazer
  • __halt_compiler — Halts the compiler execution
  • highlight_file — Destaca a sintaxe de um arquivo
  • highlight_string — Destaque da sintaxe de uma string
  • hrtime — Get the system's high resolution time
  • ignore_user_abort — Estabelece se acontecerá o encerramento do script quando o usuário abortar a conexão
  • pack — Pack data into binary string
  • php_strip_whitespace — Retorna o código com comentários e espaços em branco removidos
  • sapi_windows_cp_conv — Convert string from one codepage to another
  • sapi_windows_cp_get — Get current codepage
  • sapi_windows_cp_is_utf8 — Indicates whether the codepage is UTF-8 compatible
  • sapi_windows_cp_set — Set process codepage
  • sapi_windows_generate_ctrl_event — Send a CTRL event to another process
  • sapi_windows_set_ctrl_handler — Set or remove a CTRL event handler
  • sapi_windows_vt100_support — Get or set VT100 support for the specified stream associated to an output buffer of a Windows console.
  • show_source — Sinônimo de highlight_file
  • sleep — Atrasa a execução do script
  • sys_getloadavg — Gets system load average
  • time_nanosleep — Atrasa para um número de segundos e nanosegundos
  • time_sleep_until — Paralisa o script até um tempo especificado
  • uniqid — Gera um ID unico
  • unpack — Unpack data from binary string
  • usleep — Atrasa a execução em milionésimos de segundo


Verifica se o cliente está desconectado

  • « Misc. Funções
  • connection_status »
  • PHP Manual
  • Misc. Funções
  • Verifica se o cliente está desconectado

connection_aborted

(PHP 4, PHP 5, PHP 7, PHP 8)

connection_aborted — Verifica se o cliente está desconectado

Descrição

connection_aborted ( ) : int

Verifica se o cliente está desconectado.

Valor Retornado

Retorna 1 se o cliente está desconectado, 0 caso contrário.

Veja Também

  • connection_status() - Retorna o status da conexão
  • ignore_user_abort() - Estabelece se acontecerá o encerramento do script quando o usuário abortar a conexão
  • Tratamento de conexões para um descrição completa sobre tratamento de conexões no PHP.


Retorna o status da conexão

  • « connection_aborted
  • constant »
  • PHP Manual
  • Misc. Funções
  • Retorna o status da conexão

connection_status

(PHP 4, PHP 5, PHP 7, PHP 8)

connection_status — Retorna o status da conexão

Descrição

connection_status ( ) : int

Veja também connection_aborted() e ignore_user_abort().

Valor Retornado

Retorna o bitfield do status da conexão, que pode ser usado com as constantes CONNECTION_XXX para determinar o status da conexão.

Veja Também

  • connection_aborted() - Verifica se o cliente está desconectado
  • ignore_user_abort() - Estabelece se acontecerá o encerramento do script quando o usuário abortar a conexão
  • Manuseamento de Conexão para uma descrição completa de manuseamento de conexão no PHP.


Retorna o valor de uma constante

  • « connection_status
  • define »
  • PHP Manual
  • Misc. Funções
  • Retorna o valor de uma constante

constant

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

constant — Retorna o valor de uma constante

Descrição

constant ( string $name ) : mixed

Retorna o valor de uma constante indicada pelo parâmetro name.

A função constant() é útil se você precisa pegar o valor de uma constante, mas não sabe o seu nome. I.e. esta guardada em uma variável ou é retornada por uma função.

Esta função funciona também com constantes de classes.

Parâmetros

name

O nome da constante.

Valor Retornado

Retorna o valor da constante, ou null se o constante não é definida.

Exemplos

Exemplo #1 Exemplo da constant()

<?php
define("MAXSIZE", 100);
echo MAXSIZE;
echo constant("MAXSIZE"); // mesma coisa que a linha anterior

interface bar {
    const test = 'foobar!';
}

class foo {
    const test = 'foobar!';
}

$const = 'test';

var_dump(constant('bar::'. $const)); // string(7) "foobar!"
var_dump(constant('foo::'. $const)); // string(7) "foobar!"

?>

Veja Também

  • define() - Define uma constante
  • defined() - Confere se uma constante existe
  • The section on Constants


Define uma constante

  • « constant
  • defined »
  • PHP Manual
  • Misc. Funções
  • Define uma constante

define

(PHP 4, PHP 5, PHP 7, PHP 8)

define — Define uma constante

Descrição

define ( string $name , mixed $value , bool $case_insensitive = ? ) : bool

Define uma constante.

Parâmetros

name

O nome da constante.

value

O valor da constante; somente escalar e valores null são permitidos. Valores escalares são integer, float, string ou boolean.

case_insensitive

Se definido para true, a constante será definida case-insensitive. O comportamento padrão é case-sensitive; i.e. CONSTANT e Constant representam valores diferentes.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Definindo Constantes

<?php
define("CONSTANTE", "Alô Mundo.");
echo CONSTANTE; // mostra "Alô Mundo."
echo Constante; // mostra "Constante" e dá um aviso.

define("GREETING", "Alô Você.",TRUE);
echo GREETING; // mostra "Alô você."
echo Greeting; // mostra "Alô você."

?>

Veja Também

  • defined() - Confere se uma constante existe
  • constant() - Retorna o valor de uma constante
  • The section on Constants


Confere se uma constante existe

  • « define
  • die »
  • PHP Manual
  • Misc. Funções
  • Confere se uma constante existe

defined

(PHP 4, PHP 5, PHP 7, PHP 8)

defined — Confere se uma constante existe

Descrição

defined ( string $name ) : bool

Verifica se uma dada constante existe e é definida.

Nota:

Se você quer ver se uma variável existe, use isset() como defined() aplica-se somente para constants. Se você quer ver se uma função existe, use function_exists().

Parâmetros

name

O nome da constante.

Valor Retornado

Retorna true se o nome da constante dado em name foi definida, false caso contrário.

Exemplos

Exemplo #1 Conferindo Constantes

<?php
// Note que deve estar entre apostrofros, este
// exemplo esta conferindo se existe uma constante com o nome de CONSTANT
if (defined('CONSTANT')){
    echo CONSTANT;
    }
?>

Veja Também

  • define() - Define uma constante
  • constant() - Retorna o valor de uma constante
  • get_defined_constants() - Retorna uma matriz associativa com os nomes de todas as constantes e seus valores
  • function_exists() - Retorna true se a função dada está definida
  • The section on Constants


Equivalente a exit

  • « defined
  • eval »
  • PHP Manual
  • Misc. Funções
  • Equivalente a exit

die

(PHP 4, PHP 5, PHP 7, PHP 8)

die — Equivalente a exit()

Descrição

Este construtor da linguagem é equivalente a exit().

Parâmetros

Esta função não possui parâmetros.


Executa uma string como código PHP

  • « die
  • exit »
  • PHP Manual
  • Misc. Funções
  • Executa uma string como código PHP

eval

(PHP 4, PHP 5, PHP 7, PHP 8)

eval — Executa uma string como código PHP

Descrição

eval ( string $code_str ) : mixed

A função eval() executa a string dada no parâmetro code_str como código PHP. Entre outras coisas, isto pode ser útil para guardar código em um campo de texto de um banco de dados para execução posterior.

Há alguns fatores para lembrar quando usar eval(). Lembre-se que a string passada deve ser código PHP valido, incluindo coisas como terminar os comandos com ponto-e-vírgula assim o compilador não morre uma linha após eval(), escapar as coisas propriamente em code_str.

Também se lembre que as variáveis que tenham seus valores em eval() irão reter estes valores para o resto do script.

Um comando return irá terminar a execução do script imediatamente No PHP 4, eval() retorna null a menos que return seja chamado no código executado, caso no qual o valor passado para return é retornado. No PHP 3, eval() não retorna um valor.

Exemplo #1 Exemplo eval()

<?php
$string = 'taça';
$name = 'café';
$str = 'Esta é uma $string com o meu $name nela.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str . "\n";
?>

O exemplo acima irá mostrar

Esta é uma $string com o meu $name nela.
Esta é uma taça com o meu café nela.

Dica

Como toda saída é normalmente enviada direto para o browser, as Funções de Controle de Output podem ser utilizadas para capturar o resultado e guardá-lo em uma string (por exemplo).

Veja também call_user_func().


Mostra uma mensagem e termina o script atual

  • « eval
  • get_browser »
  • PHP Manual
  • Misc. Funções
  • Mostra uma mensagem e termina o script atual

exit

(PHP 4, PHP 5, PHP 7, PHP 8)

exit — Mostra uma mensagem e termina o script atual

Descrição

exit ( string $status = ? ) : void
exit ( int $status ) : void

Nota: Esta não é uma função real, mas uma construção da linguagem.

A função exit() termina a execução do script. Ela mostra o parâmetro status justamente antes de sair.

Se status é um integer, este valor será usado como estado se saída. Estados de saída deve, estar no intervalo de 0 a 254, o estado de saída 255 é reservado pelo php e não deve ser usado. O estado 0 é usado para terminar o programa de maneira bem sucedida.

Exemplo #1 Exemplo exit()

<?php

$filename = '/caminho/para/arquivo';
$file = fopen ($filename, 'r')
    or exit("Não pude abrir o arquivo ($filename)");

?>

Exemplo #2 Exemplo exit() com código de estado

<?php

//sai normalmente
exit;
exit();
exit(0);

//sai com um código de erro
exit(1);
exit(0376); //octal

?>

Nota: A função die() é um apelido para a função exit().

Veja também: register_shutdown_function().


Diz o que o browser do usuário pode fazer

  • « exit
  • __halt_compiler »
  • PHP Manual
  • Misc. Funções
  • Diz o que o browser do usuário pode fazer

get_browser

(PHP 4, PHP 5, PHP 7, PHP 8)

get_browser — Diz o que o browser do usuário pode fazer

Descrição

get_browser ( string $user_agent = ? , bool $return_array = false ) : mixed

Tenta determinar os recursos do navegador do usuário, consultando as informações do navegador no arquivo browscap.ini.

Parâmetros

user_agent

O agente do usuário a ser analisado. Por padrão, o valor do cabeçalho HTTP User-Agent é usado; no entanto, você pode alterar isso (ou seja, procurar outras informações do navegador) passando este parâmetro.

Você pode ignorar esse parâmetro com um valor null.

return_array

Se definido como true, esta função retornará um array, em vez de um object.

Valor Retornado

As informações são retornadas num objeto ou array que conterá vários elementos de dados representando, por exemplo, os números de versão principal e secundaria e a string ID; valores true/false para recursos como frames, JavaScript e cookies; e assim por diante.

O valor cookies significa simplesmente que o navegador é capaz de aceitar cookies e não significa que o usuário habilitou ou não o navegador para aceitar cookies. A única maneira de testar se os cookies são aceitos é definir um com setcookie(), recarregar, e verificar o valor.

Exemplos

Exemplo #1 Listando todas as informações sobre o navegador do usuário

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);
print_r($browser);
?>

O exemplo acima irá imprimir algo similar à:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9
    [majorver] => 0
    [minorver] => 9
    [cssversion] => 2
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [backgroundsounds] =>
    [vbscript] =>
    [javascript] => 1
    [javaapplets] => 1
    [activexcontrols] =>
    [cdf] =>
    [aol] =>
    [beta] => 1
    [win16] =>
    [crawler] =>
    [stripper] =>
    [wap] =>
    [netclr] =>
)

Notas

Nota:

Para que isso funcione, sua diretiva de configuração browscap no php.ini deve apontar para a localização correta do arquivo browscap.ini no seu sistema.

O arquivo browscap.ini não vem com o PHP, mas você pode encontrar um arquivo » php_browscap.ini atualizado aqui.

Embora o arquivo browscap.ini contenha informações sobre muitos navegadores, ele depende das atualizações dos usuários para manter o banco de dados atualizado. O formato do arquivo é bastante autoexplicativo.


Halts the compiler execution

  • « get_browser
  • highlight_file »
  • PHP Manual
  • Misc. Funções
  • Halts the compiler execution

__halt_compiler

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

__halt_compiler — Halts the compiler execution

Descrição

__halt_compiler ( ) : void

Halts the execution of the compiler. This can be useful to embed data in PHP scripts, like the installation files.

Byte position of the data start can be determined by the __COMPILER_HALT_OFFSET__ constant which is defined only if there is a __halt_compiler() presented in the file.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 A __halt_compiler() example

<?php

// open this file
$fp = fopen(__FILE__, 'r');

// seek file pointer to data
fseek($fp, __COMPILER_HALT_OFFSET__);

// and output it
var_dump(stream_get_contents($fp));

// the end of the script execution
__halt_compiler(); the installation data (eg. tar, gz, PHP, etc.)

Notas

Nota:

__halt_compiler() can only be used from the outermost scope.


Destaca a sintaxe de um arquivo

  • « __halt_compiler
  • highlight_string »
  • PHP Manual
  • Misc. Funções
  • Destaca a sintaxe de um arquivo

highlight_file

(PHP 4, PHP 5, PHP 7, PHP 8)

highlight_file — Destaca a sintaxe de um arquivo

Descrição

highlight_file ( string $filename , bool $return = false ) : mixed

Imprime ou retorna a versão com destaque de sintaxe do código contigo no arquivo filename utilizando as cores definidas no destacador de sintaxe nativo do PHP.

Muitos servidores são configurados para destacar automaticamente os arquivos com extensão phps. Por exemplo, o arquivo example.phps quando acessado irá mostrar o código fonte com destaque de cores do arquivos. Para ativar isso, acrescente a seguinte linha no httpd.conf:

AddType application/x-httpd-php-source .phps

Parâmetros

filename

Caminho do arquivo PHP a ser destacado.

return

Informe esse parâmetro como true para fazer essa função retornar o código destacado (ao invés de imprimir).

Valor Retornado

Se return for true, retorna o código destacado como uma string ao invés de imprimir. Se não, irá retornar true no sucesso e false no caso de falhas.

Notas

Cuidado

Cuidados devem ser toamdos quando utilizando a função highlight_file() para prevenir que você não revele informações sensíveis inadivertidamente, como senhas e outros tipos de informações que possam criar risco de seguranaça.

Nota:

Quando o parâmetro return é utilizado, esta função utiliza um buffer interno, de forma que ela não pode ser utilizada dentro de um callback da função ob_start().

Veja Também

  • highlight_string() - Destaque da sintaxe de uma string
  • Diretivas INI de highlighting


Destaque da sintaxe de uma string

  • « highlight_file
  • hrtime »
  • PHP Manual
  • Misc. Funções
  • Destaque da sintaxe de uma string

highlight_string

(PHP 4, PHP 5, PHP 7, PHP 8)

highlight_string — Destaque da sintaxe de uma string

Descrição

highlight_string ( string $str , bool $return = ? ) : mixed

A função highlight_string() mostra o destaque da sintaxe para o parâmetro str usando as cores definidas para o destacador de sintaxe do PHP.

Se o segundo parâmetro return for true então a função highlight_string() irá retornar o código com a sintaxe destacada ao invés de mostrá-lo. Se o segundo parâmetro não for true então highlight_string() irá retornar true se funcionar, false se ocorrer falha.

Exemplo #1 Exemplo highlight_string()

<?php
highlight_string('<?php phpinfo(); ?>');
?>

O exemplo acima irá mostrar (no PHP 4):

<code><font color="#000000">
<font color="#0000BB">&lt;?php phpinfo</font><font color="#007700">(); </font><font color="#0000BB">?&gt;</font>
</font>
</code>

O exemplo acima irá mostrar (no PHP 5):

<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php phpinfo</span><span style="color: #007700">(); </span><span style="color: #0000BB">?&gt;</span>
</span>
</code>

Nota: O parâmetro return tornou-se disponível no PHP 4.2.0. Antes disso é usado como o padrão, que é false

Veja também highlight_file().


Get the system's high resolution time

  • « highlight_string
  • ignore_user_abort »
  • PHP Manual
  • Misc. Funções
  • Get the system's high resolution time

hrtime

(PHP 7 >= 7.3.0, PHP 8)

hrtime — Get the system's high resolution time

Descrição

hrtime ( bool $as_number = false ) : array|int|float|false

Returns the system's high resolution time, counted from an arbitrary point in time. The delivered timestamp is monotonic and can not be adjusted.

Parâmetros

as_number

Whether the high resolution time should be returned as array or number.

Valor Retornado

Returns an array of integers in the form [seconds, nanoseconds], if the parameter as_number is false. Otherwise the nanoseconds are returned as int (64bit platforms) or float (32bit platforms). Returns false on failure.

Exemplos

Exemplo #1 hrtime() usage

<?php
echo hrtime(true), PHP_EOL;
print_r(hrtime());
?>

O exemplo acima irá imprimir algo similar à:

10444739687370679
Array
(
    [0] => 10444739
    [1] => 687464812
)

Veja Também

  • The High resolution timing extension
  • microtime() - Retorna um timestamp Unix em microsegundos


Estabelece se acontecerá o encerramento do script quando o usuário abortar a conexão

  • « hrtime
  • pack »
  • PHP Manual
  • Misc. Funções
  • Estabelece se acontecerá o encerramento do script quando o usuário abortar a conexão

ignore_user_abort

(PHP 4, PHP 5, PHP 7, PHP 8)

ignore_user_abort — Estabelece se acontecerá o encerramento do script quando o usuário abortar a conexão

Descrição

ignore_user_abort ( bool $setting = ? ) : int

Estabelece se um cliente desconectado causa abortagem da conexão.

Parâmetros

setting

Se não é definido, a função irá somente retorna a configuração atual.

Valor Retornado

Retorna a configuração anterior, como booleano.

Notas

PHP não irá detectar que o usuário tenha abortado a conexão até tentar enviar alguma informação para o cliente. Simplesmente usando um comando echo não é garantido que a informação seja enviada, veja flush().

Veja Também

  • connection_aborted() - Verifica se o cliente está desconectado
  • connection_status() - Retorna o status da conexão
  • Tratamento de conexões para uma descrição completa do tratamento de conexão no PHP.


Pack data into binary string

  • « ignore_user_abort
  • php_strip_whitespace »
  • PHP Manual
  • Misc. Funções
  • Pack data into binary string

pack

(PHP 4, PHP 5, PHP 7, PHP 8)

pack — Pack data into binary string

Descrição

pack ( string $format , mixed ...$values ) : string

Pack given arguments into a binary string according to format.

The idea for this function was taken from Perl and all formatting codes work the same as in Perl. However, there are some formatting codes that are missing such as Perl's "u" format code.

Note that the distinction between signed and unsigned values only affects the function unpack(), where as function pack() gives the same result for signed and unsigned format codes.

Parâmetros

format

The format string consists of format codes followed by an optional repeater argument. The repeater argument can be either an integer value or * for repeating to the end of the input data. For a, A, h, H the repeat count specifies how many characters of one data argument are taken, for @ it is the absolute position where to put the next data, for everything else the repeat count specifies how many data arguments are consumed and packed into the resulting binary string.

Currently implemented formats are:

pack() format characters
Code | Description
a | NUL-padded string
A | SPACE-padded string
h | Hex string, low nibble first
H | Hex string, high nibble first
c | signed char
C | unsigned char
s | signed short (always 16 bit, machine byte order)
S | unsigned short (always 16 bit, machine byte order)
n | unsigned short (always 16 bit, big endian byte order)
v | unsigned short (always 16 bit, little endian byte order)
i | signed integer (machine dependent size and byte order)
I | unsigned integer (machine dependent size and byte order)
l | signed long (always 32 bit, machine byte order)
L | unsigned long (always 32 bit, machine byte order)
N | unsigned long (always 32 bit, big endian byte order)
V | unsigned long (always 32 bit, little endian byte order)
q | signed long long (always 64 bit, machine byte order)
Q | unsigned long long (always 64 bit, machine byte order)
J | unsigned long long (always 64 bit, big endian byte order)
P | unsigned long long (always 64 bit, little endian byte order)
f | float (machine dependent size and representation)
g | float (machine dependent size, little endian byte order)
G | float (machine dependent size, big endian byte order)
d | double (machine dependent size and representation)
e | double (machine dependent size, little endian byte order)
E | double (machine dependent size, big endian byte order)
x | NUL byte
X | Back up one byte
Z | NUL-padded string (new in PHP 5.5)
@ NUL-fill to absolute position

values

Valor Retornado

Returns a binary string containing data, ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | This function no longer returns false on failure.
7.2.0 | float and double types supports both Big Endian and Little Endian.
7.0.15,7.1.1 | The "e", "E", "g" and "G" codes were added to enable byte order support for float and double.
5.6.3 | The "q", "Q", "J" and "P" codes were added to enable working with 64-bit numbers.
5.5.0 | The "Z" code was added with equivalent functionality to "a" for Perl compatibility.

Exemplos

Exemplo #1 pack() example

<?php
$binarydata = pack("nvc*", 0x1234, 0x5678, 65, 66);
?>

The resulting binary string will be 6 bytes long and contain the byte sequence 0x12, 0x34, 0x78, 0x56, 0x41, 0x42.

Notas

Cuidado

Note that PHP internally stores int values as signed values of a machine-dependent size (C type long). Integer literals and operations that yield numbers outside the bounds of the int type will be stored as float. When packing these floats as integers, they are first cast into the integer type. This may or may not result in the desired byte pattern.

The most relevant case is when packing unsigned numbers that would be representable with the int type if it were unsigned. In systems where the int type has a 32-bit size, the cast usually results in the same byte pattern as if the int were unsigned (although this relies on implementation-defined unsigned to signed conversions, as per the C standard). In systems where the int type has 64-bit size, the float most likely does not have a mantissa large enough to hold the value without loss of precision. If those systems also have a native 64-bit C int type (most UNIX-like systems don't), the only way to use the I pack format in the upper range is to create int negative values with the same byte representation as the desired unsigned value.

Veja Também

  • unpack() - Unpack data from binary string


Retorna o código com comentários e espaços em branco removidos

  • « pack
  • sapi_windows_cp_conv »
  • PHP Manual
  • Misc. Funções
  • Retorna o código com comentários e espaços em branco removidos

php_strip_whitespace

(PHP 5, PHP 7, PHP 8)

php_strip_whitespace — Retorna o código com comentários e espaços em branco removidos

Descrição

php_strip_whitespace ( string $filename ) : string

Retorna o código-fonte do PHP do arquivo filename com comentários PHP e espaços em branco removidos. Isto pode ser útil para determina a quantidade atual de códigos em seu script comparado com a quantidade de comentários. Similar ao uso de php -w pela linha de comando.

Parâmetros

filename

Caminho para o arquivo PHP.

Valor Retornado

O código-fonte filtrado será retornado em caso de sucesso, ou uma string vazia em falha.

Nota:

Esta função funciona como descrito do PHP 5.0.1. Antes ela poderia retornar somente uma string vazia. Para mais informação sobre este bug e seu comportamento, veja o bug report » #29606.

Exemplos

Exemplo #1 Exemplo da php_strip_whitespace()

<?php
// PHP comment here

/*
 * Another PHP comment
 */

echo        php_strip_whitespace(__FILE__);
// Newlines are considered whitespace, and are removed too:
do_nothing();
?>

O exemplo acima irá imprimir:

<?php
 echo php_strip_whitespace(__FILE__); do_nothing(); ?>

Note que comentários sairam, como espaços em branco e newline depois do primeiro comando echo.


Convert string from one codepage to another

  • « php_strip_whitespace
  • sapi_windows_cp_get »
  • PHP Manual
  • Misc. Funções
  • Convert string from one codepage to another

sapi_windows_cp_conv

(PHP 7 >= 7.1.0, PHP 8)

sapi_windows_cp_conv — Convert string from one codepage to another

Descrição

sapi_windows_cp_conv ( int|string $in_codepage , int|string $out_codepage , string $subject ) : string

Convert string from one codepage to another.

Parâmetros

in_codepage

The codepage of the subject string. Either the codepage name or identifier.

out_codepage

The codepage to convert the subject string to. Either the codepage name or identifier.

subject

The string to convert.

Valor Retornado

The subject string converted to out_codepage, or null on failure.

Erros

This function issues E_WARNING level errors, if invalid codepages are given, or if the subject is not valid for in_codepage.

Veja Também

  • sapi_windows_cp_get() - Get current codepage
  • iconv() - Convert string to requested character encoding


Get current codepage

  • « sapi_windows_cp_conv
  • sapi_windows_cp_is_utf8 »
  • PHP Manual
  • Misc. Funções
  • Get current codepage

sapi_windows_cp_get

(PHP 7 >= 7.1.0, PHP 8)

sapi_windows_cp_get — Get current codepage

Descrição

sapi_windows_cp_get ( string $kind = "" ) : int

Gets the current codepage.

Parâmetros

kind

The kind of operating system codepage to get, either 'ansi' or 'oem'. Any other value refers to the current codepage of the process.

Valor Retornado

If kind is 'ansi', the current ANSI code page of the operating system is returned. If kind is 'oem', the current OEM code page of the operating system is returned. Otherwise, the current codepage of the process is returned.

Veja Também

  • sapi_windows_cp_set() - Set process codepage


Indicates whether the codepage is UTF-8 compatible

  • « sapi_windows_cp_get
  • sapi_windows_cp_set »
  • PHP Manual
  • Misc. Funções
  • Indicates whether the codepage is UTF-8 compatible

sapi_windows_cp_is_utf8

(PHP 7 >= 7.1.0, PHP 8)

sapi_windows_cp_is_utf8 — Indicates whether the codepage is UTF-8 compatible

Descrição

sapi_windows_cp_is_utf8 ( ) : bool

Indicates whether the codepage of the current process is UTF-8 compatible.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns whether the codepage of the current process is UTF-8 compatible.

Veja Também

  • sapi_windows_cp_get() - Get current codepage


Set process codepage

  • « sapi_windows_cp_is_utf8
  • sapi_windows_generate_ctrl_event »
  • PHP Manual
  • Misc. Funções
  • Set process codepage

sapi_windows_cp_set

(PHP 7 >= 7.1.0, PHP 8)

sapi_windows_cp_set — Set process codepage

Descrição

sapi_windows_cp_set ( int $cp ) : bool

Set the codepage of the current process.

Parâmetros

cp

A codepage identifier.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • sapi_windows_cp_get() - Get current codepage


Send a CTRL event to another process

  • « sapi_windows_cp_set
  • sapi_windows_set_ctrl_handler »
  • PHP Manual
  • Misc. Funções
  • Send a CTRL event to another process

sapi_windows_generate_ctrl_event

(PHP 7 >= 7.4.0, PHP 8)

sapi_windows_generate_ctrl_event — Send a CTRL event to another process

Descrição

sapi_windows_generate_ctrl_event ( int $event , int $pid = 0 ) : bool

Sends a CTRL event to another process in the same process group.

Parâmetros

event

The CTRL even to send; either PHP_WINDOWS_EVENT_CTRL_C or PHP_WINDOWS_EVENT_CTRL_BREAK.

pid

The ID of the process to which to send the event to. If 0 is given, the event is sent to all processes of the process group.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Basic sapi_windows_generate_ctrl_event() Usage

This example shows how to pass along CTRL+BREAK events to a child process. In this case the child process echoes I'm still alive every second, until the user presses CTRL+BREAK, what causes only the child process to be terminated.

<?php
// forward CTRL+BREAK events to the child process
sapi_windows_set_ctrl_handler('sapi_windows_generate_ctrl_event');

// create a child process which echoes every second
$cmd = ['php', '-r', 'while (true) { echo "I\'m still alive\n"; sleep(1); }'];
$descspec = array(['pipe', 'r'], ['pipe', 'w'], ['pipe', 'w']);
$options = ['create_process_group' => true];
$proc = proc_open($cmd, $descspec, $pipes, null, null, $options);
while (true) {
    echo fgets($pipes[1]);
}
?>

Veja Também

  • proc_open() - Executa um comando e abre ponteiros para entrada e saída
  • sapi_windows_set_ctrl_handler() - Set or remove a CTRL event handler


Set or remove a CTRL event handler

  • « sapi_windows_generate_ctrl_event
  • sapi_windows_vt100_support »
  • PHP Manual
  • Misc. Funções
  • Set or remove a CTRL event handler

sapi_windows_set_ctrl_handler

(PHP 7 >= 7.4.0, PHP 8)

sapi_windows_set_ctrl_handler — Set or remove a CTRL event handler

Descrição

sapi_windows_set_ctrl_handler ( callable $callable , bool $add = true ) : bool

Sets or removes a CTRL event handler, which allows Windows CLI processes to intercept or ignore CTRL+C and CTRL+BREAK events. Note that in multithreaded environments, this is only possible when called from the main thread.

Parâmetros

callable

A callback function to set or remove. If set, this function will be called whenever a CTRL+C or CTRL+BREAK event occurs. The function is supposed to have the following signature:

handler ( int $event ) : void
event
The CTRL event which has been received; either PHP_WINDOWS_EVENT_CTRL_C or PHP_WINDOWS_EVENT_CTRL_BREAK.
Setting a null callable causes the process to ignore CTRL+C events, but not CTRL+BREAK events.

add

If true, the handler is set. If false, the handler is removed.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Basic sapi_windows_set_ctrl_handler() Usage

This example shows how to intercept CTRL events.

<?php
function ctrl_handler(int $event)
{
    switch ($event) {
        case PHP_WINDOWS_EVENT_CTRL_C:
            echo "You have pressed CTRL+C\n";
            break;
        case PHP_WINDOWS_EVENT_CTRL_BREAK:
            echo "You have pressed CTRL+BREAK\n";
            break;
    }
}

sapi_windows_set_ctrl_handler('ctrl_handler');
while (true); // infinite loop, so the handler can be triggered
?>

Veja Também

  • sapi_windows_generate_ctrl_event() - Send a CTRL event to another process


Get or set VT100 support for the specified stream associated to an output buffer of a Windows console.

  • « sapi_windows_set_ctrl_handler
  • show_source »
  • PHP Manual
  • Misc. Funções
  • Get or set VT100 support for the specified stream associated to an output buffer of a Windows console.

sapi_windows_vt100_support

(PHP 7 >= 7.2.0, PHP 8)

sapi_windows_vt100_support — Get or set VT100 support for the specified stream associated to an output buffer of a Windows console.

Descrição

sapi_windows_vt100_support ( resource $stream , bool $enable = ? ) : bool

If enable is omitted, the function returns true if the stream stream has VT100 control codes enabled, false otherwise.

If enable is specified, the function will try to enable or disable the VT100 features of the stream stream. If the feature has been successfully enabled (or disabled), the function will return true, or false otherwise.

At startup, PHP tries to enable the VT100 feature of the STDOUT/STDERR streams. By the way, if those streams are redirected to a file, the VT100 features may not be enabled.

If VT100 support is enabled, it is possible to use control sequences as they are known from the VT100 terminal. They allow the modification of the terminal's output. On Windows these sequences are called Console Virtual Terminal Sequences.

Aviso

This function uses the ENABLE_VIRTUAL_TERMINAL_PROCESSING flag implemented in the Windows 10 API, so the VT100 feature may not be available on older Windows versions.

Parâmetros

stream

The stream on which the function will operate.

enable

If specified, the VT100 feature will be enabled (if true) or disabled (if false).

Valor Retornado

If enable is not specified: returns true if the VT100 feature is enabled, false otherwise.

If enable is specified: Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 sapi_windows_vt100_support() default state

By default, STDOUT and STDERR have the VT100 feature enabled.

php -r "var_export(sapi_windows_vt100_support(STDOUT));echo ' ';var_export(sapi_windows_vt100_support(STDERR));"

O exemplo acima irá imprimir algo similar à:

true true

By the way, if a stream is redirected, the VT100 feature will not be enabled:

php -r "var_export(sapi_windows_vt100_support(STDOUT));echo ' ';var_export(sapi_windows_vt100_support(STDERR));" 2>NUL

O exemplo acima irá imprimir algo similar à:

true false

Exemplo #2 sapi_windows_vt100_support() changing state

You won't be able to enable the VT100 feature of STDOUT or STDERR if the stream is redirected.

php -r "var_export(sapi_windows_vt100_support(STDOUT, true));echo ' ';var_export(sapi_windows_vt100_support(STDERR, true));" 2>NUL

O exemplo acima irá imprimir algo similar à:

true false

Exemplo #3 Example usage of VT100 support enabled

<?php
$out = fopen('php://stdout','w');
fwrite($out, 'Just forgot a lettr.');
// Moves the cursor two characters backwards
fwrite($out, "\033[2D");
// Inserts one blank, shifting existing text to the right -> Just forgot a lett r.
fwrite($out, "\033[1@");
fwrite($out, 'e');
?>

O exemplo acima irá imprimir:

Just forgot a letter.


Sinônimo de highlight_file

  • « sapi_windows_vt100_support
  • sleep »
  • PHP Manual
  • Misc. Funções
  • Sinônimo de highlight_file

show_source

(PHP 4, PHP 5, PHP 7, PHP 8)

show_source — Sinônimo de highlight_file()

Descrição

Esta função é um apelido para: highlight_file().


Atrasa a execução do script

  • « show_source
  • sys_getloadavg »
  • PHP Manual
  • Misc. Funções
  • Atrasa a execução do script

sleep

(PHP 4, PHP 5, PHP 7, PHP 8)

sleep — Atrasa a execução do script

Descrição

sleep ( int $seconds ) : int

Atrasa a execução do programa por um dado número de seconds.

Parâmetros

seconds

Tempo de parada em segundos.

Valor Retornado

Retorna zero em sucesso, ou false em erros.

Erros

Se o número especificado de seconds é negativo, esta função irá gerar um E_WARNING.

Exemplos

Exemplo #1 Exemplo da sleep()

<?php
// Hora atual
echo date('h:i:s') . "\n";

// Dorme por 10 segundos
sleep(10);

// Acorde!
echo date('h:i:s') . "\n";
?>

Este exemplo irá mostrar(depois de 10 segundos)

05:31:23
05:31:33

Veja Também

usleep() - Atrasa a execução em milionésimos de segundo, set_time_limit() - Limita o tempo de execução do script


Gets system load average

  • « sleep
  • time_nanosleep »
  • PHP Manual
  • Misc. Funções
  • Gets system load average

sys_getloadavg

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

sys_getloadavg — Gets system load average

Descrição

sys_getloadavg ( ) : array|false

Returns three samples representing the average system load (the number of processes in the system run queue) over the last 1, 5 and 15 minutes, respectively. Returns false on failure.

Valor Retornado

Returns an array with three samples (last 1, 5 and 15 minutes).

Exemplos

Exemplo #1 A sys_getloadavg() example

<?php
$load = sys_getloadavg();
if ($load[0] > 0.80) {
    header('HTTP/1.1 503 Too busy, try again later');
    die('Server too busy. Please try again later.');
}
?>

Notas

Nota: esta função não é implementada na plataforma Windows


Atrasa para um número de segundos e nanosegundos

  • « sys_getloadavg
  • time_sleep_until »
  • PHP Manual
  • Misc. Funções
  • Atrasa para um número de segundos e nanosegundos

time_nanosleep

(PHP 5, PHP 7, PHP 8)

time_nanosleep — Atrasa para um número de segundos e nanosegundos

Descrição

time_nanosleep ( int $seconds , int $nanoseconds ) : mixed

Atrasa a execução do programa por um dado número de seconds e nanoseconds.

Parâmetros

seconds

Precisa ser um inteiro positivo.

nanoseconds

Precisa ser um inteiro positivo menor que 1 bilhão.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Se o atraso é interrompido por um sinal, um array associativo irá ser retornado com os componentes:

  • seconds - número de segundos restantes do atraso
  • nanoseconds - número de nanosegundos restante do atraso

Exemplos

Exemplo #1 Exemplo da time_nanosleep()

<?php
// Careful! This won't work as expected if an array is returned
if (time_nanosleep(0, 500000000)) {
    echo "Slept for half a second.\n";
}

// This is better:
if (time_nanosleep(0, 500000000) === true) {
    echo "Slept for half a second.\n";
}

// And this is the best:
$nano = time_nanosleep(2, 100000);

if ($nano === true) {
    echo "Slept for 2 seconds, 100 milliseconds.\n";
} elseif ($nano === false) {
    echo "Sleeping failed.\n";
} elseif (is_array($nano)) {
    $seconds = $nano['seconds'];
    $nanoseconds = $nano['nanoseconds'];
    echo "Interrupted by a signal.\n";
    echo "Time remaining: $seconds seconds, $nanoseconds nanoseconds.";
}
?>

Notas

Nota: esta função não é implementada na plataforma Windows

Veja Também

sleep() - Atrasa a execução do script, usleep() - Atrasa a execução em milionésimos de segundo, set_time_limit() - Limita o tempo de execução do script


Paralisa o script até um tempo especificado

  • « time_nanosleep
  • uniqid »
  • PHP Manual
  • Misc. Funções
  • Paralisa o script até um tempo especificado

time_sleep_until

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

time_sleep_until — Paralisa o script até um tempo especificado

Descrição

time_sleep_until ( float $timestamp ) : bool

Paralisa o script até o especificado timestamp.

Parâmetros

timestamp

O timestamp quando o script deve voltar.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Se o especificado timestamp é do passado, esta função irá gerar um E_WARNING.

Exemplos

Exemplo #1 Um exemplo da time_sleep_until()

<?php

//returns false and generates a warning
var_dump(time_sleep_until(time()-1));

// may only work on faster computers, will sleep up to 0.2 seconds
var_dump(time_sleep_until(time()+0.2));

?>

Notas

Nota: Todos sinais serão enviados depois do script voltar.

Nota: esta função não é implementada na plataforma Windows

Veja Também

  • sleep() - Atrasa a execução do script
  • usleep() - Atrasa a execução em milionésimos de segundo
  • time_nanosleep() - Atrasa para um número de segundos e nanosegundos


Gera um ID unico

  • « time_sleep_until
  • unpack »
  • PHP Manual
  • Misc. Funções
  • Gera um ID unico

uniqid

(PHP 4, PHP 5, PHP 7, PHP 8)

uniqid — Gera um ID unico

Descrição

uniqid ( string $prefix , bool $lcg = ? ) : string

uniqid() retorna um identificador unico prefixado baseado no tempo atual em milionésimos de segundo. O Prefixo pode ser usado se você gera identificadores em vários servidores simultaneamente pode acontecer de gerar o identificador no mesmo milionésimo de segundo. Prefix pode ter até 114 caracteres.

Se o parâmetro lcg, que é opcional, for true, uniqid() irá adicionar a entropia "LCG combinada" ao final do valor retornado, o que deve fazer o resultado mais unico.

Com o parâmetro prefix vazio, a string retornada terá 13 caracteres. Se o parâmetro lcg for true, terá 23 caracteres.

Nota: O parâmetro lcg somente esta disponivel no PHP 4 e PHP 3.0.13 e posterior.

Se você precisa um identificador unico e pretende dar o seu identificador via rede(ex. cookies de seção), é recomendado que você use algo como

<?php
// sem prefixo
$token = md5(uniqid(""));

// melhor, dificil de adivinhar
$better_token = md5(uniqid(rand(), true));
?>

Isto irá criar um identificador de 32 caracteres(a 128 bit hex number) que é extremamente dificil de prever.


Unpack data from binary string

  • « uniqid
  • usleep »
  • PHP Manual
  • Misc. Funções
  • Unpack data from binary string

unpack

(PHP 4, PHP 5, PHP 7, PHP 8)

unpack — Unpack data from binary string

Descrição

unpack ( string $format , string $string , int $offset = 0 ) : array|false

Unpacks from a binary string into an array according to the given format.

The unpacked data is stored in an associative array. To accomplish this you have to name the different format codes and separate them by a slash /. If a repeater argument is present, then each of the array keys will have a sequence number behind the given name.

Parâmetros

format

See pack() for an explanation of the format codes.

string

The packed data.

offset

The offset to begin unpacking from.

Valor Retornado

Returns an associative array containing unpacked elements of binary string, ou false em caso de falha.

Changelog

Versão | Descrição
7.2.0 | float and double types supports both Big Endian and Little Endian.
7.1.0 | The optional offset has been added.
5.5.0 | Changes were made to bring this function into line with Perl: The "a" code now retains trailing NULL bytes. The "A" code now strips all trailing ASCII whitespace (spaces, tabs, newlines, carriage returns, and NULL bytes). The "Z" code was added for NULL-padded strings, and removes trailing NULL bytes.

Exemplos

Exemplo #1 unpack() example

<?php
$binarydata = "\x04\x00\xa0\x00";
$array = unpack("cchars/nint", $binarydata);
print_r($array);
?>

O exemplo acima irá imprimir:

Array
(
    [chars] => 4
    [int] => 160
)

Exemplo #2 unpack() example with a repeater

<?php
$binarydata = "\x04\x00\xa0\x00";
$array = unpack("c2chars/nint", $binarydata);
print_r($array);
?>

O exemplo acima irá imprimir:

Array
(
    [chars1] => 4
    [chars2] => 0
    [int] => 40960
)

Notas

Cuidado

Note that PHP internally stores integral values as signed. If you unpack a large unsigned long and it is of the same size as PHP internally stored values the result will be a negative number even though unsigned unpacking was specified.

Cuidado

If you do not name an element, numeric indices starting from 1 are used. Be aware that if you have more than one unnamed element, some data is overwritten because the numbering restarts from 1 for each element.

Exemplo #3 unpack() example with unnamed keys

<?php
$binarydata = "\x32\x42\x00\xa0";
$array = unpack("c2/n", $binarydata);
var_dump($array);
?>

O exemplo acima irá imprimir:

array(2) {
  [1]=>
  int(160)
  [2]=>
  int(66)
}

Note that the first value from the c specifier is overwritten by the first value from the n specifier.

Veja Também

  • pack() - Pack data into binary string


Atrasa a execução em milionésimos de segundo

  • « unpack
  • Seaslog »
  • PHP Manual
  • Misc. Funções
  • Atrasa a execução em milionésimos de segundo

usleep

(PHP 4, PHP 5, PHP 7, PHP 8)

usleep — Atrasa a execução em milionésimos de segundo

Descrição

usleep ( int $micro_seconds ) : void

Atrasa a execução do programa por um dado número de milionésimos de segundos.

Parâmetros

micro_seconds

Tempo de parada em milionésimos de segundos.

Valor Retornado

Não há valor retornado.

Changelog

Versão | Descrição
5.0.0 | Esta função agora funciona em sistemas Windows.

Exemplos

Exemplo #1 Exemplo da usleep()

<?php

// hora atual
echo date('h:i:s') . "\n";

// espera dois segundos
usleep(2000000);

// de volta!
echo date('h:i:s') . "\n";

?>

O exemplo acima irá imprimir:

11:13:28
11:13:30

Veja Também

  • sleep() - Atrasa a execução do script
  • set_time_limit() - Limita o tempo de execução do script


Seaslog

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Seaslog Funções
    • seaslog_get_author — Get SeasLog author.
    • seaslog_get_version — Get SeasLog version.
  • SeasLog — The SeasLog class
    • SeasLog::alert — Record alert log information
    • SeasLog::analyzerCount — Get log count by level, log_path and key_word
    • SeasLog::analyzerDetail — Get log detail by level, log_path, key_word, start, limit, order
    • SeasLog::closeLoggerStream — Manually release stream flow from logger
    • SeasLog::__construct — Description
    • SeasLog::critical — Record critical log information
    • SeasLog::debug — Record debug log information
    • SeasLog::__destruct — Description
    • SeasLog::emergency — Record emergency log information
    • SeasLog::error — Record error log information
    • SeasLog::flushBuffer — Flush logs buffer, dump to appender file, or send to remote api with tcp/udp
    • SeasLog::getBasePath — Get SeasLog base path.
    • SeasLog::getBuffer — Get the logs buffer in memory as array
    • SeasLog::getBufferEnabled — Determin if buffer enabled
    • SeasLog::getDatetimeFormat — Get SeasLog datetime format style
    • SeasLog::getLastLogger — Get SeasLog last logger path
    • SeasLog::getRequestID — Get SeasLog request_id differentiated requests
    • SeasLog::getRequestVariable — Get SeasLog request variable
    • SeasLog::info — Record info log information
    • SeasLog::log — The Common Record Log Function
    • SeasLog::notice — Record notice log information
    • SeasLog::setBasePath — Set SeasLog base path
    • SeasLog::setDatetimeFormat — Set SeasLog datetime format style
    • SeasLog::setLogger — Set SeasLog logger name
    • SeasLog::setRequestID — Set SeasLog request_id differentiated requests
    • SeasLog::setRequestVariable — Manually set SeasLog request variable
    • SeasLog::warning — Record warning log information


Introdução

The Seaslog is an effective,fast,stable log extension for PHP.

SeasLog requires PHP 5.2.0 or greater. Earlier versions may not work.

The log journal,which is usually the operate record of the system, software and the application record. Through the analysis of the log,it can facilitate users to understand the operation of the system, software and the application situation. If your application log is rich enough, it can also analyze the previous use’s operation behavior,type, regional distribution or other more information. The application log also points the multiple levels at the same time, you can easily get the application analysis of health status, timely find problems and quick positioning, and solve the problem, remedy the loss.

The error_log, syslog function which built in PHP is powerful and excellent performance, but due to various defects (error_log have no error level, no fixed format, syslog regardless of module, and mix with system log ), reducing a lot of flexibility , and can't meet the application requirements.

The good news is that there are a number of third-party log class library established to make up for the defects, such as log4php, plog, monolog (of course, there are many applications in the project development of the log class).

So is there a log of libraries meet the following requirements:

  • Modules, classification
  • Simple configuration(preferably without configuration)
  • Clear log format and easy understanding
  • Simple application and well performance
Seaslog just meet these demands.

What is provided at present:

  • In the PHP project, record the log specification and repidly.
  • Configure the default log directory and module
  • Specified log directory and capture current configuration
  • Preliminary analysis of the early warning framework
  • Efficient log buffer and convenient buffer debug
  • Follow the PSR-3 log interface specification
  • Automatically record error information
  • Automatically record abnormal information
  • Support Connect the TCP port, send with RFC5424
  • Support Connect the UDP port, send with RFC5424
  • Support RequestId differentiated requests
  • Support for log template customizations

Read More » SeasLog Document at Github.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/seaslog


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Seaslog Opções de Configuração
Nome | Padrão | Modificável | Changelog
seaslog.appender | 1 | PHP_INI_SYSTEM |
seaslog.appender_retry | 0 | PHP_INI_ALL |
seaslog.level | 8 | PHP_INI_ALL |
seaslog.remote_host | 127.0.0.1 | PHP_INI_ALL |
seaslog.remote_port | 514 | PHP_INI_ALL |
seaslog.remote_timeout | 1 | PHP_INI_SYSTEM |
seaslog.default_basepath | /var/log/www | PHP_INI_SYSTEM |
seaslog.default_logger | default | PHP_INI_SYSTEM |
seaslog.default_template | %T | %L | %P | %Q | %t | %M | PHP_INI_SYSTEM |
seaslog.default_datetime_format | Y-m-d H:i:s | PHP_INI_SYSTEM |
seaslog.trace_error | 1 | PHP_INI_ALL |
seaslog.trace_exception | 0 | PHP_INI_SYSTEM |
seaslog.trace_notice | 0 | PHP_INI_ALL |
seaslog.trace_warning | 0 | PHP_INI_ALL |
seaslog.use_buffer | 0 | PHP_INI_SYSTEM |
seaslog.buffer_size | 0 | PHP_INI_ALL |
seaslog.buffer_disabled_in_cli | 0 | PHP_INI_SYSTEM |
seaslog.disting_type | 0 | PHP_INI_SYSTEM |
seaslog.disting_folder | 1 | PHP_INI_SYSTEM |
seaslog.disting_by_hour | 0 | PHP_INI_SYSTEM |
seaslog.recall_depth | 0 | PHP_INI_ALL |
seaslog.trim_wrap | 0 | PHP_INI_ALL |
seaslog.ignore_warning | 1 | PHP_INI_ALL |
seaslog.throw_exception | 1 | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

seaslog.appender int

Switch the Record Log Data Store. 1File 2TCP 3UDP (Switch default 1)

SeasLog will send log to tcp://remote_host:remote_port or udp://remote_host:remote_port server, when seaslog.appender configured to `2 (TCP)` or `3 (UDP)`.

When SeasLog send log to TCP/UDP,style follow RFC5424. The `{logInfo}` affected by seaslog.default_template.

The log style finally formatted such as:
<15>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | DEBUG | 21423 | 599157af4e937 | 1466787583.322 | this is a neeke debug
<14>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | INFO | 21423 | 599157af4e937 | 1466787583.323 | this is a info log
<13>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | NOTICE | 21423 | 599157af4e937 | 1466787583.324 | this is a notice log
seaslog.appender_retry int

Record Log Retry Count. Default 0 (Do Not Retry)

seaslog.buffer_disabled_in_cli int

Disable buffer in cli. 1-Y 0-N(Default)

Switch the configure buffer_disabled_in_cli on. The buffer_disabled_in_cli switch default off. If switch buffer_disabled_in_cli on, and running in cli, seaslog.use_buffer setting will be discarded, Seaslog write to the Data Store IMMEDIATELY.

seaslog.buffer_size int

Configure the buffer_size with 100. The buffer_size default 0, it’s meaning don’t use buffer. If buffer_size > 0,SeasLog will rewritten down into the Data Store when the prerecorded log in memory count >= this buffer_size,and then refresh the memory poll.

seaslog.default_basepath string

Default Log Base Path. Defult "/var/log/www".

seaslog.default_datetime_format string

The DateTime Style. Default "Y-m-d H:i:s".

seaslog.default_logger string

Default Logger Path. Default "default".

seaslog.disting_by_hour int

Switch use the logger with hour. 1-Y 0-N(Default)

Nota:

seaslog.disting_by_hour = 1 Switch use Logger DisTing by hour. It’s meaning SeasLog will create the file each one hour.

seaslog.disting_folder int

Switch use the logger with folder. 1-Y(Default) 0-N

Nota:

seaslog.disting_folder = 1 Switch use Logger DisTing by folder, it’s meaning SeasLog will create the file deistic by folder, and when this configure close SeasLog will create file use underline connect Logger and Time like default_20180211.log.

seaslog.disting_type int

Switch use the logger with type. 1-Y 0-N(Default)

Nota:

seaslog.disting_type = 1 Switch use Logger DisTing by type, it’s meaning SeasLog will create the file deistic info\warn\error and the other type.

seaslog.ignore_warning int

Switch ignore SeasLog warning. 1-On(Default) 0-Off

Nota:

seaslog.ignore_warning = 1 Open a warning to ignore SeasLog itself. When directory permissions or receive server ports are blocked, they are ignored; when closed, a warning is thrown.

seaslog.level int

Record logger level. Default 8 (All of them). 0-EMERGENCY 1-ALERT 2-CRITICAL 3-ERROR 4-WARNING 5-NOTICE 6-INFO 7-DEBUG 8-ALL

Nota:

Tips: The configuration item has changed since the 1.7.0 version. Before the 1.7.0 version, the smaller the value, the more logs are taken according to the level: 0-all 1-debug 2-info 3-notice 4-warning 5-error 6-critical 7-alert 8-emergency Before the 1.7.0 version, Default 0 (All of them).

seaslog.recall_depth int

Log function recall depth.Will affected variable `LineNo` in `%F`. Default 0

seaslog.remote_host string

If you use Record TCP or UDP, configure this remote ip. Default "127.0.0.1"

seaslog.remote_port int

If you use Record TCP or UDP, configure this remote port. Default 514

seaslog.remote_timeout int

If you use Record TCP or UDP, configure this remote timeout. Default 1 second

seaslog.throw_exception int

Switch throw SeasLog exception. 1-On(Default) 0-Off

Nota:

seaslog.throw_exception = 1 Open an exception that throws the SeasLog to throw itself. When the directory authority or the receive server port is blocked, throw an exception; do not throw an exception when closed.

seaslog.trace_error int

Automatic Record final error with default logger. 1-Y(Default) 0-N

seaslog.trace_exception int

Automatic Record exception with default logger. 1-Y 0-N(Default)

seaslog.trace_notice int

Automatic Record notice with default logger. 1-Y 0-N(Default)

seaslog.trace_warning int

Automatic Record warning with default logger. 1-Y 0-N(Default)

seaslog.trim_wrap int

Trim the \n and \r in log message. 1-On 0-Off(Default)

seaslog.use_buffer int

Switch use the log buffer with memory. 1-Y 0-N(Default)

Nota:

seaslog.use_buffer = 1 Switch the configure use_buffer on. The use_buffer switch default off. If switch use_buffer on, SeasLog prerecord the log with memory, and them would be rewritten down into the Data Store by request shutdown or php process exit (PHP RSHUTDOWN or PHP MSHUTDOWN).

seaslog.default_template string

Default Log template. Default "%T | %L | %P | %Q | %t | %M".

Nota:

`SeasLog`The following default variables are provided, which can be used directly in the log template and replaced as a corresponding value when the log is eventually generated.

Default log template is:`seaslog.default_template = "%T | %L | %P | %Q | %t | %M"`, that's mean,default log style is:`{dateTime} | {level} | {pid} | {uniqid} | {timeStamp} | {logInfo}`

If you custom log template, such as:`seaslog.default_template = "[%T]:%L %P %Q %t %M" `, that's will mean,log style was custom as:`[{dateTime}]:{level} {pid} {uniqid} {timeStamp} {logInfo}`

Seaslog Default Variable Table
Variable Name | Description
%L | Level.
%M | Message.
%T | DateTime. Such as`2017-08-16 19:15:02`,affected by `seaslog.default_datetime_format`.
%t | Timestamp. Such as`1502882102.862`,accurate to milliseconds.
%Q | RequestId. To distinguish a single request, such as not invoking the `SeasLog::setRequestId($string)` function, the unique value generated by the built-in `static char *get_uniqid ()` function is used when the request is initialized.
%H | HostName.
%P | ProcessId.
%D | Domain:Port. Such as`www.cloudwise.com:80`; When Cli, Such as `cli`.
%R | Request URI. Such as`/app/user/signin`; When Cli it's the index script, Such as `CliIndex.php`.
%m | Request Method. Such as`Get`; When Cli it's the command script, Such as `/bin/bash`.
%I | Client IP; When Cli it's `local`. Priority value: HTTP_X_REAL_IP > HTTP_X_FORWARDED_FOR > REMOTE_ADDR
%F | FileName:LineNo. Such as `UserService.php:118`.
%U | MemoryUsage. byte. Call `zend_memory_usage`.
%u | PeakMemoryUsage. byte. Call `zend_memory_peak_usage`.
%C | `TODO` Class::Action. Such as `UserService::getUserInfo`


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

SEASLOG_VERSION (string)
SEASLOG_AUTHOR (string)
SEASLOG_ALL (string)
"ALL"
SEASLOG_DEBUG (string)
"DEBUG" - Detailed debug information.Fine-grained information events.
SEASLOG_INFO (string)
"INFO" - Interesting events.Emphasizes the running process of the application.
SEASLOG_NOTICE (string)
"NOTICE" - Normal but significant events.Information that is more important than the INFO level during execution.
SEASLOG_WARNING (string)
"WARNING" - Exceptional occurrences that are not errors.Potentially aberrant information that needs attention and needs to be repaired.
SEASLOG_ERROR (string)
"ERROR" - Runtime errors that do not require immediate action but should typically.
SEASLOG_CRITICAL (string)
"CRITICAL" - Critical conditions.Need to be repaired immediately, and the program component is unavailable.
SEASLOG_ALERT (string)
"ALERT" - Action must be taken immediately.Immediate attention should be given to relevant personnel for emergency repairs.
SEASLOG_EMERGENCY (string)
"EMERGENCY" - System is unusable.
SEASLOG_DETAIL_ORDER_ASC (int)
1
SEASLOG_DETAIL_ORDER_DESC (int)
2
SEASLOG_APPENDER_FILE (int)
1
SEASLOG_APPENDER_TCP (int)
2
SEASLOG_APPENDER_UDP (int)
3
SEASLOG_CLOSE_LOGGER_STREAM_MOD_ALL (int)
1
SEASLOG_CLOSE_LOGGER_STREAM_MOD_ASSIGN (int)
2
SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT (int)
1
SEASLOG_REQUEST_VARIABLE_REQUEST_URI (int)
2
SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD (int)
3
SEASLOG_REQUEST_VARIABLE_CLIENT_IP (int)
4


Exemplos

Exemplo #1 Get and set base path

<?php
  $basePath1 = SeasLog::getBasePath();

  SeasLog::setBasePath('/log/base_test');
  $basePath2 = SeasLog::getBasePath();

  var_dump($basePath1,$basePath2);

  ?>

O exemplo acima irá imprimir algo similar à:

  string(12) "/var/log/www"
  string(14) "/log/base_test"

Exemplo #2 Get and set logger

<?php
$lastLogger1 = SeasLog::getLastLogger();

SeasLog::setLogger('testModule/app1');
$lastLogger2 = SeasLog::getLastLogger();

var_dump($lastLogger1,$lastLogger2);

?>

O exemplo acima irá imprimir algo similar à:

string(7) "default"
string(15) "testModule/app1"

Exemplo #3 Fast write log

<?php
SeasLog::log(SEASLOG_ERROR,'this is a error test by ::log');
SeasLog::debug('this is a {userName} debug',array('{userName}' => 'neeke'));
SeasLog::info('this is a info log');
SeasLog::notice('this is a notice log');
SeasLog::warning('your {website} was down,please {action} it ASAP!',array('{website}' => 'github.com','{action}' => 'rboot'));
SeasLog::error('a error log');
SeasLog::critical('some thing was critical');
SeasLog::alert('yes this is a {messageName}',array('{messageName}' => 'alertMSG'));
SeasLog::emergency('Just now, the house next door was completely burnt out! {note}',array('{note}' => 'it`s a joke'));
?>

As the default, seaslog.default_template = "%T | %L | %P | %Q | %t | %M". That's mean,as the default,log record style is: `{dateTime} | {level} | {pid} | {uniqid} | {timeStamp} | {logInfo}`.

O exemplo acima irá imprimir algo similar à:

seaslog.appender = 1

2014-07-27 08:53:52 | ERROR | 23625 | 599159975a9ff | 1406422432.786 | this is a error test by log
2014-07-27 08:53:52 | DEBUG | 23625 | 599159975a9ff | 1406422432.786 | this is a neeke debug
2014-07-27 08:53:52 | INFO | 23625 | 599159975a9ff | 1406422432.787 | this is a info log
2014-07-27 08:53:52 | NOTICE | 23625 | 599159975a9ff | 1406422432.787 | this is a notice log
2014-07-27 08:53:52 | WARNING | 23625 | 599159975a9ff | 1406422432.787 | your github.com was down,please rboot it ASAP!
2014-07-27 08:53:52 | ERROR | 23625 | 599159975a9ff | 1406422432.787 | a error log
2014-07-27 08:53:52 | CRITICAL | 23625 | 599159975a9ff | 1406422432.787 | some thing was critical
2014-07-27 08:53:52 | EMERGENCY | 23625 | 599159975a9ff | 1406422432.787 | Just now, the house next door was completely burnt out! it is a joke

O exemplo acima irá imprimir algo similar à:

seaslog.appender = 2 or seaslog.appender = 3

The log style finally formatted such as:
<15>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | DEBUG | 21423 | 599157af4e937 | 1466787583.322 | this is a neeke debug
<14>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | INFO | 21423 | 599157af4e937 | 1466787583.323 | this is a info log
<13>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | NOTICE | 21423 | 599157af4e937 | 1466787583.324 | this is a notice log

Exemplo #4 Fast count some type of log count value

SeasLog get count value of `grep -wc` use system pipe and return to PHP (array or int).

<?php
$countResult1 = SeasLog::analyzerCount();
$countResult2 = SeasLog::analyzerCount(SEASLOG_WARNING);
$countResult3 = SeasLog::analyzerCount(SEASLOG_ERROR,date('Ymd',time()));

var_dump($countResult1,$countResult2,$countResult3);

?>

O exemplo acima irá imprimir algo similar à:

array(8) {
  ["DEBUG"]=>
  int(3)
  ["INFO"]=>
  int(3)
  ["NOTICE"]=>
  int(3)
  ["WARNING"]=>
  int(3)
  ["ERROR"]=>
  int(6)
  ["CRITICAL"]=>
  int(3)
  ["ALERT"]=>
  int(3)
  ["EMERGENCY"]=>
  int(3)
}
int(7)
int(1)

Exemplo #5 Acquisit some type of log list

SeasLog get count value of `grep -w` use system pipe and return array to PHP.

<?php
$detailErrorArray = SeasLog::analyzerDetail(SEASLOG_ERROR);
var_dump($detailErrorArray);

var_dump(SeasLog::analyzerDetail(SEASLOG_ERROR,date('Ymd',time())));
?>

O exemplo acima irá imprimir algo similar à:

array(6) {
  [0] =>
  string(83) "2014-02-24 00:14:02 | ERROR | 8568 | 599157af4e937 | 1393172042.717 | test error 3 "
  [1] =>
  string(83) "2014-02-24 00:14:04 | ERROR | 8594 | 5991576584446 | 1393172044.104 | test error 3 "
  [2] =>
  string(83) "2014-02-24 00:14:04 | ERROR | 8620 | 1502697015147 | 1393172044.862 | test error 3 "
  [3] =>
  string(83) "2014-02-24 00:14:05 | ERROR | 8646 | 599159975a9ff | 1393172045.989 | test error 3 "
  [4] =>
  string(83) "2014-02-24 00:14:07 | ERROR | 8672 | 599159986ec28 | 1393172047.882 | test error 3 "
  [5] =>
  string(83) "2014-02-24 00:14:08 | ERROR | 8698 | 5991599981cec | 1393172048.736 | test error 3 "
}

array(2) {
  [0] =>
  string(83) "2014-02-24 00:14:02 | ERROR | 8568 | 599157af4e937 | 1393172042.717 | test error 3 "
  [1] =>
  string(83) "2014-02-24 00:14:04 | ERROR | 8594 | 5991576584446 | 1393172044.104 | test error 3 "
}


Seaslog Funções

Índice

  • seaslog_get_author — Get SeasLog author.
  • seaslog_get_version — Get SeasLog version.


Get SeasLog author.

  • « Seaslog Funções
  • seaslog_get_version »
  • PHP Manual
  • Seaslog Funções
  • Get SeasLog author.

seaslog_get_author

(PECL seaslog >=1.0.0)

seaslog_get_author — Get SeasLog author.

Descrição

seaslog_get_author ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return SeasLog author as string.

Exemplos

Exemplo #1 seaslog_get_author() example

<?php

var_dump(seaslog_get_author());

?>

O exemplo acima irá imprimir algo similar à:

string(29) "Chitao.Gao  [ neeke@php.net ]"


Get SeasLog version.

  • « seaslog_get_author
  • SeasLog »
  • PHP Manual
  • Seaslog Funções
  • Get SeasLog version.

seaslog_get_version

(PECL seaslog >=1.0.0)

seaslog_get_version — Get SeasLog version.

Descrição

seaslog_get_version ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return SeasLog version (SEASLOG_VERSION) as string.

Exemplos

Exemplo #1 seaslog_get_version() example

<?php

var_dump(seaslog_get_version());

?>

O exemplo acima irá imprimir algo similar à:

string(5) "1.8.4"


The SeasLog class

(PECL seaslog >=1.0.0)

Introdução

Sinopse da classe

SeasLog {
/* Métodos */
public static alert ( string $message , array $content = ? , string $logger = ? ) : bool
public static analyzerCount ( string $level , string $log_path = ? , string $key_word = ? ) : mixed
public static analyzerDetail ( string $level , string $log_path = ? , string $key_word = ? , int $start = ? , int $limit = ? , int $order = ? ) : mixed
public static closeLoggerStream ( int $model , string $logger ) : bool
public static critical ( string $message , array $content = ? , string $logger = ? ) : bool
public static debug ( string $message , array $content = ? , string $logger = ? ) : bool
public __destruct ( )
public static emergency ( string $message , array $content = ? , string $logger = ? ) : bool
public static error ( string $message , array $content = ? , string $logger = ? ) : bool
public static flushBuffer ( ) : bool
public static Seaslog::getBasePath ( ) : string
public static getBuffer ( ) : array
public static getBufferEnabled ( ) : bool
public static getDatetimeFormat ( ) : string
public static getLastLogger ( ) : string
public static getRequestID ( ) : string
public static getRequestVariable ( int $key ) : bool
public static info ( string $message , array $content = ? , string $logger = ? ) : bool
public static log ( string $level , string $message = ? , array $content = ? , string $logger = ? ) : bool
public static notice ( string $message , array $content = ? , string $logger = ? ) : bool
public static setBasePath ( string $base_path ) : bool
public static setDatetimeFormat ( string $format ) : bool
public static setLogger ( string $logger ) : bool
public static setRequestID ( string $request_id ) : bool
public static setRequestVariable ( int $key , string $value ) : bool
public static warning ( string $message , array $content = ? , string $logger = ? ) : bool
}

Índice

  • SeasLog::alert — Record alert log information
  • SeasLog::analyzerCount — Get log count by level, log_path and key_word
  • SeasLog::analyzerDetail — Get log detail by level, log_path, key_word, start, limit, order
  • SeasLog::closeLoggerStream — Manually release stream flow from logger
  • SeasLog::__construct — Description
  • SeasLog::critical — Record critical log information
  • SeasLog::debug — Record debug log information
  • SeasLog::__destruct — Description
  • SeasLog::emergency — Record emergency log information
  • SeasLog::error — Record error log information
  • SeasLog::flushBuffer — Flush logs buffer, dump to appender file, or send to remote api with tcp/udp
  • SeasLog::getBasePath — Get SeasLog base path.
  • SeasLog::getBuffer — Get the logs buffer in memory as array
  • SeasLog::getBufferEnabled — Determin if buffer enabled
  • SeasLog::getDatetimeFormat — Get SeasLog datetime format style
  • SeasLog::getLastLogger — Get SeasLog last logger path
  • SeasLog::getRequestID — Get SeasLog request_id differentiated requests
  • SeasLog::getRequestVariable — Get SeasLog request variable
  • SeasLog::info — Record info log information
  • SeasLog::log — The Common Record Log Function
  • SeasLog::notice — Record notice log information
  • SeasLog::setBasePath — Set SeasLog base path
  • SeasLog::setDatetimeFormat — Set SeasLog datetime format style
  • SeasLog::setLogger — Set SeasLog logger name
  • SeasLog::setRequestID — Set SeasLog request_id differentiated requests
  • SeasLog::setRequestVariable — Manually set SeasLog request variable
  • SeasLog::warning — Record warning log information


Record alert log information

  • « SeasLog
  • SeasLog::analyzerCount »
  • PHP Manual
  • SeasLog
  • Record alert log information

SeasLog::alert

(PECL seaslog >=1.0.0)

SeasLog::alert — Record alert log information

Descrição

public static SeasLog::alert ( string $message , array $content = ? , string $logger = ? ) : bool

Record alert log information.

Nota:

"ALERT" - Action must be taken immediately. Immediate attention should be given to relevant personnel for emergency repairs.

Parâmetros

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Valor Retornado

Return TRUE on record log information success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::alert() example

<?php

var_dump(SeasLog::alert('log message'));

//with content
var_dump(SeasLog::alert('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::alert('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | ALERT | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | ALERT | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | ALERT | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Veja Também

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


Get log count by level, log_path and key_word

  • « SeasLog::alert
  • SeasLog::analyzerDetail »
  • PHP Manual
  • SeasLog
  • Get log count by level, log_path and key_word

SeasLog::analyzerCount

(PECL seaslog >=1.1.6)

SeasLog::analyzerCount — Get log count by level, log_path and key_word

Descrição

public static SeasLog::analyzerCount ( string $level , string $log_path = ? , string $key_word = ? ) : mixed

`SeasLog` get count value of `grep -ai '{level}' | grep -aic '{key_word}'` use system pipe and return to PHP (array or int).

Parâmetros

level

String. The log information level.

log_path

String. The log information path.

key_word

String. The search key word for log information.

Valor Retornado

If `level` is SEASLOG_ALL or Empty, return all levels count as `array`. If `level` is SEASLOG_INFO or the other level, return count as `int`.

Exemplos

Exemplo #1 SeasLog::analyzerCount() example

<?php

$countResult1 = SeasLog::analyzerCount();

//with `level`
$countResult2 = SeasLog::analyzerCount(SEASLOG_DEBUG);

//with `level` and `log_path`
$countResult3 = SeasLog::analyzerCount(SEASLOG_ERROR,date('Ymd',time()));

//with `level` and `key_word`
$countResult4 = SeasLog::analyzerCount(SEASLOG_DEBUG,NULL,'accessToken');

var_dump($countResult1,$countResult2,$countResult3,$countResult4);

?>

O exemplo acima irá imprimir algo similar à:

array(8) {
  ["DEBUG"]=>
  int(180)
  ["INFO"]=>
  int(214)
  ["NOTICE"]=>
  int(0)
  ["WARNING"]=>
  int(0)
  ["ERROR"]=>
  int(228)
  ["CRITICAL"]=>
  int(244)
  ["ALERT"]=>
  int(1)
  ["EMERGENCY"]=>
  int(0)
}

int(180)

int(228)

int(29)

Veja Também

  • SeasLog::analyzerDetail() - Get log detail by level, log_path, key_word, start, limit, order


Get log detail by level, log_path, key_word, start, limit, order

  • « SeasLog::analyzerCount
  • SeasLog::closeLoggerStream »
  • PHP Manual
  • SeasLog
  • Get log detail by level, log_path, key_word, start, limit, order

SeasLog::analyzerDetail

(PECL seaslog >=1.1.6)

SeasLog::analyzerDetail — Get log detail by level, log_path, key_word, start, limit, order

Descrição

public static SeasLog::analyzerDetail ( string $level , string $log_path = ? , string $key_word = ? , int $start = ? , int $limit = ? , int $order = ? ) : mixed

`SeasLog` get results of `grep -ai '{level}' | grep -ai '{key_word}' | sed -n '{start},{limit}'p` use system pipe and return array to PHP.

Parâmetros

level

String. The log information level.

log_path

String. The log information path.

key_word

String. The search key word for log information.

start

Int. Default is `1`.

limit

Int. Default is `20`.

order

Int. Default is SEASLOG_DETAIL_ORDER_ASC. See also:

  • SEASLOG_DETAIL_ORDER_ASC
  • SEASLOG_DETAIL_ORDER_DESC

Valor Retornado

Return results as array.

Nota:

When `start`,`limit` is not NULL and in Windows, SeasLog will threw exception with message 'Param start and limit don't support Windows'.

Exemplos

Exemplo #1 SeasLog::analyzerDetail() example

<?php

$result1 = SeasLog::analyzerDetail(SEASLOG_ERROR);

//with `logger` and `key_word`
$result2 = SeasLog::analyzerDetail(SEASLOG_ERROR,'test/logger/','neeke');

//with `start` and `limit`
$result3 = SeasLog::analyzerDetail(SEASLOG_ERROR,'test/logger/','neeke',1,2);

var_dump($result1,$result2,$result3);
?>

O exemplo acima irá imprimir algo similar à:

array(20) {
  [0]=>
  string(93) "2018-07-09 12:52:53 | ERROR | 12247 | 5b42ea2580e51 | 1531111973.528 | log message from neeke"
  [1]=>
  string(93) "2018-07-09 12:52:54 | ERROR | 12256 | 5b42ea26d6657 | 1531111974.878 | log message from neeke"
  [2]=>
  string(93) "2018-07-09 12:52:55 | ERROR | 12265 | 5b42ea277b8d4 | 1531111975.506 | log message from neeke"
  [3]=>
  string(104) "2018-07-09 12:52:55 | ERROR | 12274 | 5b42ea27db5dc | 1531111975.898 | log message from the other people"
...
}

array(3) {
  [0]=>
  string(93) "2018-07-09 12:52:53 | ERROR | 12247 | 5b42ea2580e51 | 1531111973.528 | log message from neeke"
  [1]=>
  string(93) "2018-07-09 12:52:54 | ERROR | 12256 | 5b42ea26d6657 | 1531111974.878 | log message from neeke"
  [2]=>
  string(93) "2018-07-09 12:52:55 | ERROR | 12265 | 5b42ea277b8d4 | 1531111975.506 | log message from neeke"
}

array(2) {
  [0]=>
  string(93) "2018-07-09 12:52:53 | ERROR | 12247 | 5b42ea2580e51 | 1531111973.528 | log message from neeke"
  [1]=>
  string(93) "2018-07-09 12:52:54 | ERROR | 12256 | 5b42ea26d6657 | 1531111974.878 | log message from neeke"
}

Veja Também

  • SeasLog::analyzerCount() - Get log count by level, log_path and key_word


Manually release stream flow from logger

  • « SeasLog::analyzerDetail
  • SeasLog::__construct »
  • PHP Manual
  • SeasLog
  • Manually release stream flow from logger

SeasLog::closeLoggerStream

(PECL seaslog >=1.8.6)

SeasLog::closeLoggerStream — Manually release stream flow from logger

Descrição

public static SeasLog::closeLoggerStream ( int $model , string $logger ) : bool

Manually release stream flow from logger. SeasLog caches the stream handle opened by the log logger to save the overhead of creating a stream. The handle will be automatically released at the end of the request. If in CLI mode, the process will also automatically release when it exits. Or you can use the following functions to manually release(manually release function needs to update SeasLog 1.8.6 or updated version).

Parâmetros

model

Constant int.

  • SEASLOG_CLOSE_LOGGER_STREAM_MOD_ALL
  • SEASLOG_CLOSE_LOGGER_STREAM_MOD_ASSIGN

logger

The logger name.

Valor Retornado

Return TRUE on released stream flow success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::closeLoggerStream() example

<?php

var_dump(SeasLog::closeLoggerStream());
var_dump(SeasLog::closeLoggerStream(SEASLOG_CLOSE_LOGGER_STREAM_MOD_ALL));
var_dump(SeasLog::closeLoggerStream(SEASLOG_CLOSE_LOGGER_STREAM_MOD_ASSIGN, 'logger_name'));

?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(true)

Veja Também

  • SeasLog::setLogger() - Set SeasLog logger name
  • SeasLog::getLastLogger() - Get SeasLog last logger path


Description

  • « SeasLog::closeLoggerStream
  • SeasLog::critical »
  • PHP Manual
  • SeasLog
  • Description

SeasLog::__construct

(PECL seaslog >=1.0.0)

SeasLog::__construct — Description

Descrição

public SeasLog::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 SeasLog::__construct() example

<?php

/* ... */

?>

O exemplo acima irá imprimir algo similar à:

...


Record critical log information

  • « SeasLog::__construct
  • SeasLog::debug »
  • PHP Manual
  • SeasLog
  • Record critical log information

SeasLog::critical

(PECL seaslog >=1.0.0)

SeasLog::critical — Record critical log information

Descrição

public static SeasLog::critical ( string $message , array $content = ? , string $logger = ? ) : bool

Record critical log information.

Nota:

"CRITICAL" - Critical conditions.Need to be repaired immediately, and the program component is unavailable.

Parâmetros

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Valor Retornado

Return TRUE on record log information success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::critical() example

<?php

var_dump(SeasLog::critical('log message'));

//with content
var_dump(SeasLog::critical('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::critical('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | CRITICAL | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | CRITICAL | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | CRITICAL | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Veja Também

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


Record debug log information

  • « SeasLog::critical
  • SeasLog::__destruct »
  • PHP Manual
  • SeasLog
  • Record debug log information

SeasLog::debug

(PECL seaslog >=1.0.0)

SeasLog::debug — Record debug log information

Descrição

public static SeasLog::debug ( string $message , array $content = ? , string $logger = ? ) : bool

Record debug log information.

Nota:

"DEBUG" - Detailed debug information.Fine-grained information events.

Parâmetros

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Valor Retornado

Return TRUE on record log information success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::debug() example

<?php

var_dump(SeasLog::debug('log message'));

//with content
var_dump(SeasLog::debug('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::debug('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | DEBUG | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | DEBUG | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | DEBUG | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Veja Também

  • seaslog.default_template
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


Description

  • « SeasLog::debug
  • SeasLog::emergency »
  • PHP Manual
  • SeasLog
  • Description

SeasLog::__destruct

(PECL seaslog >=1.0.0)

SeasLog::__destruct — Description

Descrição

public SeasLog::__destruct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 SeasLog::__destruct() example

<?php

/* ... */

?>

O exemplo acima irá imprimir algo similar à:

...


Record emergency log information

  • « SeasLog::__destruct
  • SeasLog::error »
  • PHP Manual
  • SeasLog
  • Record emergency log information

SeasLog::emergency

(PECL seaslog >=1.0.0)

SeasLog::emergency — Record emergency log information

Descrição

public static SeasLog::emergency ( string $message , array $content = ? , string $logger = ? ) : bool

Record emergency log information.

Nota:

"EMERGENCY" - System is unusable.

Parâmetros

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Valor Retornado

Return TRUE on record log information success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::emergency() example

<?php

var_dump(SeasLog::emergency('log message'));

//with content
var_dump(SeasLog::emergency('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::emergency('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | EMERGENCY | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | EMERGENCY | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | EMERGENCY | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Veja Também

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::log() - The Common Record Log Function


Record error log information

  • « SeasLog::emergency
  • SeasLog::flushBuffer »
  • PHP Manual
  • SeasLog
  • Record error log information

SeasLog::error

(PECL seaslog >=1.0.0)

SeasLog::error — Record error log information

Descrição

public static SeasLog::error ( string $message , array $content = ? , string $logger = ? ) : bool

Record error log information.

Nota:

"ERROR" - Runtime errors that do not require immediate action but should typically.

Parâmetros

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Valor Retornado

Return TRUE on record log information success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::error() example

<?php

var_dump(SeasLog::error('log message'));

//with content
var_dump(SeasLog::error('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::error('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | ERROR | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | ERROR | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | ERROR | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Veja Também

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


Flush logs buffer, dump to appender file, or send to remote api with tcp/udp

  • « SeasLog::error
  • SeasLog::getBasePath »
  • PHP Manual
  • SeasLog
  • Flush logs buffer, dump to appender file, or send to remote api with tcp/udp

SeasLog::flushBuffer

(PECL seaslog >=1.0.0)

SeasLog::flushBuffer — Flush logs buffer, dump to appender file, or send to remote api with tcp/udp

Descrição

public static SeasLog::flushBuffer ( ) : bool

Flush logs buffer by seaslog.appender: dump to file, or send to remote api with tcp/udp.

Nota:

See also: seaslog.appender_retry seaslog.remote_host seaslog.remote_port

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return TRUE on flush buffer success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::flushBuffer() example

<?php

SeasLog::info('info log');
SeasLog::debug('debug log');
var_dump(SeasLog::getBuffer());
var_dump(SeasLog::flushBuffer());
var_dump(SeasLog::getBuffer());

?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(79) "2018-07-07 10:47:58 | INFO | 71910 | 5b4029ded6009 | 1530931678.877 | info log
"
    [1]=>
    string(81) "2018-07-07 10:47:58 | DEBUG | 71910 | 5b4029ded6009 | 1530931678.877 | debug log
"
  }
}
bool(true)
array(0) {
}

Veja Também

  • seaslog.use_buffer
  • seaslog.buffer_size
  • seaslog.buffer_disabled_in_cli
  • SeasLog::getBufferEnabled() - Determin if buffer enabled
  • SeasLog::getBuffer() - Get the logs buffer in memory as array


Get SeasLog base path.

  • « SeasLog::flushBuffer
  • SeasLog::getBuffer »
  • PHP Manual
  • SeasLog
  • Get SeasLog base path.

SeasLog::getBasePath

(PECL seaslog >=1.0.0)

SeasLog::getBasePath — Get SeasLog base path.

Descrição

public static Seaslog::getBasePath ( ) : string

Use the Function SeasLog::getBasePath() will get the value of seaslog.default_basepath what configured in php.ini(seaslog.ini).

If you use Seaslog::setBasePath(), will change the result.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return seaslog.default_basepath as string.

Exemplos

Exemplo #1 SeasLog::getBasePath() example

<?php

var_dump(SeasLog::getBasePath());

?>

O exemplo acima irá imprimir algo similar à:

string(12) "/var/log/www"


Get the logs buffer in memory as array

  • « SeasLog::getBasePath
  • SeasLog::getBufferEnabled »
  • PHP Manual
  • SeasLog
  • Get the logs buffer in memory as array

SeasLog::getBuffer

(PECL seaslog >=1.0.0)

SeasLog::getBuffer — Get the logs buffer in memory as array

Descrição

public static SeasLog::getBuffer ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return an array from logs buffer in memory.

Exemplos

Exemplo #1 SeasLog::getBuffer() example

<?php

var_dump(SeasLog::info('info log'));
var_dump(SeasLog::debug('debug log'));
var_dump(SeasLog::getBuffer());

?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
array(1) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(79) "2018-07-07 10:43:32 | INFO | 71785 | 5b4028d4c58d5 | 1530931412.810 | info log
"
    [1]=>
    string(81) "2018-07-07 10:43:32 | DEBUG | 71785 | 5b4028d4c58d5 | 1530931412.810 | debug log
"
  }
}

Veja Também

  • seaslog.use_buffer
  • seaslog.buffer_size
  • seaslog.buffer_disabled_in_cli
  • SeasLog::getBufferEnabled() - Determin if buffer enabled
  • SeasLog::flushBuffer() - Flush logs buffer, dump to appender file, or send to remote api with tcp/udp


Determin if buffer enabled

  • « SeasLog::getBuffer
  • SeasLog::getDatetimeFormat »
  • PHP Manual
  • SeasLog
  • Determin if buffer enabled

SeasLog::getBufferEnabled

(PECL seaslog >=1.0.0)

SeasLog::getBufferEnabled — Determin if buffer enabled

Descrição

public static SeasLog::getBufferEnabled ( ) : bool

Result join seaslog.use_buffer and seaslog.buffer_disabled_in_cli.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return TRUE on seaslog.use_buffer is true. If switch seaslog.buffer_disabled_in_cli on, and running in cli, seaslog.use_buffer setting will be discarded, Seaslog write to the Data Store IMMEDIATELY.

Exemplos

Exemplo #1 SeasLog::getBufferEnabled() example

<?php

var_dump(SeasLog::getBufferEnabled());

?>

O exemplo acima irá imprimir algo similar à:

bool(false)

Veja Também

  • seaslog.use_buffer
  • seaslog.buffer_size
  • seaslog.buffer_disabled_in_cli
  • SeasLog::getBuffer() - Get the logs buffer in memory as array
  • SeasLog::flushBuffer() - Flush logs buffer, dump to appender file, or send to remote api with tcp/udp


Get SeasLog datetime format style

  • « SeasLog::getBufferEnabled
  • SeasLog::getLastLogger »
  • PHP Manual
  • SeasLog
  • Get SeasLog datetime format style

SeasLog::getDatetimeFormat

(PECL seaslog >=1.0.0)

SeasLog::getDatetimeFormat — Get SeasLog datetime format style

Descrição

public static SeasLog::getDatetimeFormat ( ) : string

Get SeasLog datetime format style. Use the Function SeasLog::getDatetimeFormat() will get the value of seaslog.default_datetime_format what configured in php.ini(seaslog.ini).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Get SeasLog datetime format style of seaslog.default_datetime_format. Use the Function SeasLog::setDatetimeFormat() will change this value.

Exemplos

Exemplo #1 SeasLog::getDatetimeFormat() example

<?php

var_dump(SeasLog::getDateTimeFormat());
var_dump(SeasLog::setDateTimeFormat('Ymd His'));
var_dump(SeasLog::getDateTimeFormat());

?>

O exemplo acima irá imprimir algo similar à:

string(11) "Y-m-d H:i:s"
bool(true)
string(7) "Ymd His"

Veja Também

  • SeasLog::setDatetimeFormat() - Set SeasLog datetime format style


Get SeasLog last logger path

  • « SeasLog::getDatetimeFormat
  • SeasLog::getRequestID »
  • PHP Manual
  • SeasLog
  • Get SeasLog last logger path

SeasLog::getLastLogger

(PECL seaslog >=1.0.0)

SeasLog::getLastLogger — Get SeasLog last logger path

Descrição

public static SeasLog::getLastLogger ( ) : string

Use the Function SeasLog::getLastLogger() will get the value of seaslog.default_logger what configured in php.ini(seaslog.ini).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Use the Function SeasLog::setLogger() will change the value of function SeasLog::getLastLogger().

Exemplos

Exemplo #1 SeasLog::getLastLogger() example

<?php

var_dump(SeasLog::getLastLogger());
SeasLog::setLogger('theNewLogger');
var_dump(SeasLog::getLastLogger());
?>

O exemplo acima irá imprimir algo similar à:

string(7) "default"
string(12) "theNewLogger"

Veja Também

  • SeasLog::setLogger() - Set SeasLog logger name


Get SeasLog request_id differentiated requests

  • « SeasLog::getLastLogger
  • SeasLog::getRequestVariable »
  • PHP Manual
  • SeasLog
  • Get SeasLog request_id differentiated requests

SeasLog::getRequestID

(PECL seaslog >=1.0.0)

SeasLog::getRequestID — Get SeasLog request_id differentiated requests

Descrição

public static SeasLog::getRequestID ( ) : string

To distinguish a single request, such as not invoking the SeasLog::setRequestId() function, the unique value generated by the built-in `static char *get_uniqid ()` function is used when the request is initialized.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return string generated by the built-in `static char *get_uniqid ()` function, or setted by SeasLog::setRequestId() function.

Exemplos

Exemplo #1 SeasLog::getRequestID() example

<?php

var_dump(SeasLog::getRequestID());
var_dump(SeasLog::setRequestID('reqeust_id_test_'.time()))
var_dump(SeasLog::getRequestID());

?>

O exemplo acima irá imprimir algo similar à:

string(13) "5b3f21a209519"
bool(true)
string(26) "reqeust_id_test_1530864034"

Veja Também

  • SeasLog::setRequestID() - Set SeasLog request_id differentiated requests
  • The Variable `%Q` in Seaslog Default Variable Table.


Get SeasLog request variable

  • « SeasLog::getRequestID
  • SeasLog::info »
  • PHP Manual
  • SeasLog
  • Get SeasLog request variable

SeasLog::getRequestVariable

(PECL seaslog >=1.9.0)

SeasLog::getRequestVariable — Get SeasLog request variable

Descrição

public static SeasLog::getRequestVariable ( int $key ) : bool

Get SeasLog request variable.

Parâmetros

key

Constant int.

  • SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT
  • SEASLOG_REQUEST_VARIABLE_REQUEST_URI
  • SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD
  • SEASLOG_REQUEST_VARIABLE_CLIENT_IP

Valor Retornado

Return request variable value on set success.

Exemplos

Exemplo #1 SeasLog::getRequestVariable() example

<?php

$sDomainPort = 'domain:port';
$sRequestUri = 'uri';
$sRequestMethod = 'method';
$sClientIp = 'client_ip';

$iErrorKey = 1000;

$oSeasLog = new SeasLog();

var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT, $sDomainPort));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_URI, $sRequestUri));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD, $sRequestMethod));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_CLIENT_IP, $sClientIp));

var_dump($oSeasLog->setRequestVariable($iErrorKey,NULL));

var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT) == $sDomainPort);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_URI) == $sRequestUri);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD) == $sRequestMethod);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_CLIENT_IP) == $sClientIp);

var_dump($oSeasLog->getRequestVariable($iErrorKey));

?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)

Veja Também

  • SeasLog::setRequestVariable() - Manually set SeasLog request variable


Record info log information

  • « SeasLog::getRequestVariable
  • SeasLog::log »
  • PHP Manual
  • SeasLog
  • Record info log information

SeasLog::info

(PECL seaslog >=1.0.0)

SeasLog::info — Record info log information

Descrição

public static SeasLog::info ( string $message , array $content = ? , string $logger = ? ) : bool

Record info log information.

Nota:

"INFO" - Interesting events.Emphasizes the running process of the application.

Parâmetros

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Valor Retornado

Return TRUE on record log information success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::info() example

<?php

var_dump(SeasLog::info('log message'));

//with content
var_dump(SeasLog::info('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::info('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | INFO | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | INFO | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | INFO | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Veja Também

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


The Common Record Log Function

  • « SeasLog::info
  • SeasLog::notice »
  • PHP Manual
  • SeasLog
  • The Common Record Log Function

SeasLog::log

(PECL seaslog >=1.0.0)

SeasLog::log — The Common Record Log Function

Descrição

public static SeasLog::log ( string $level , string $message = ? , array $content = ? , string $logger = ? ) : bool

The Common Record Log Function.

Parâmetros

level

Can use level in:

  • SEASLOG_DEBUG
  • SEASLOG_INFO
  • SEASLOG_NOTICE
  • SEASLOG_WARNING
  • SEASLOG_ERROR
  • SEASLOG_CRITICAL
  • SEASLOG_ALERT
  • SEASLOG_EMERGENCY
Or you can create a new level self-help.

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Valor Retornado

Return TRUE on record log information success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::log() example

<?php

var_dump(SeasLog::log(SEASLOG_INFO,'info log'));
var_dump(SeasLog::getBuffer());

//create a new level self-help.
var_dump(SeasLog::log('MySelfLevel','info log'));
var_dump(SeasLog::getBuffer());

//with `content`
var_dump(SeasLog::log('MySelfLevel','info log {NAME}',array('NAME' => 'neeke')));
var_dump(SeasLog::getBuffer());

//with `logger`
var_dump(SeasLog::log('MySelfLevel','info log {NAME}',array('NAME' => 'neeke'),'tmp_logger'));
var_dump(SeasLog::getBuffer());

?>

O exemplo acima irá imprimir algo similar à:

bool(true)
array(1) {
  ["/var/log/www/default/20180707.log"]=>
  array(1) {
    [0]=>
    string(79) "2018-07-07 11:12:37 | INFO | 72427 | 5b402fa56a2ea | 1530933157.436 | info log
"
  }
}

bool(true)
array(1) {
  ["/var/log/www/default/20180707.log"]=>
  array(1) {
    [0]=>
    string(86) "2018-07-07 11:13:59 | MySelfLevel | 72470 | 5b402ff781c5e | 1530933239.532 | info log
"
  }
}

bool(true)
array(1) {
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:28:12 | MySelfLevel | 72833 | 5b40334ce6a2f | 1530934092.946 | info log neeke
"
  }
}

bool(true)
array(1) {
  ["/var/log/www/default/20180707.log"]=>
  array(1) {
    [0]=>
    string(86) "2018-07-07 11:20:12 | INFO | 72616 | 5b40316c3641e | 1530933612.222 | info log neeke
"
  }
}

Veja Também

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information


Record notice log information

  • « SeasLog::log
  • SeasLog::setBasePath »
  • PHP Manual
  • SeasLog
  • Record notice log information

SeasLog::notice

(PECL seaslog >=1.0.0)

SeasLog::notice — Record notice log information

Descrição

public static SeasLog::notice ( string $message , array $content = ? , string $logger = ? ) : bool

Record notice log information.

Nota:

"NOTICE" - Normal but significant events.Information that is more important than the INFO level during execution.

Parâmetros

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Valor Retornado

Return TRUE on record log information success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::notice() example

<?php

var_dump(SeasLog::notice('log message'));

//with content
var_dump(SeasLog::notice('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::notice('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | NOTICE | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | NOTICE | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | NOTICE | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Veja Também

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


Set SeasLog base path

  • « SeasLog::notice
  • SeasLog::setDatetimeFormat »
  • PHP Manual
  • SeasLog
  • Set SeasLog base path

SeasLog::setBasePath

(PECL seaslog >=1.0.0)

SeasLog::setBasePath — Set SeasLog base path

Descrição

public static SeasLog::setBasePath ( string $base_path ) : bool

Set SeasLog base path.

Parâmetros

base_path

String.

Valor Retornado

Return TRUE on setted base path success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::setBasePath() example

<?php

/* ... */

?>

O exemplo acima irá imprimir algo similar à:

...


Set SeasLog datetime format style

  • « SeasLog::setBasePath
  • SeasLog::setLogger »
  • PHP Manual
  • SeasLog
  • Set SeasLog datetime format style

SeasLog::setDatetimeFormat

(PECL seaslog >=1.0.0)

SeasLog::setDatetimeFormat — Set SeasLog datetime format style

Descrição

public static SeasLog::setDatetimeFormat ( string $format ) : bool

Set SeasLog datetime format style.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

format

String. Such as `Y-m-d H:i:s` or `Ymd His`. See also first param `format` at date().

Valor Retornado

Return TRUE on setted datetime format success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::setDatetimeFormat() example

<?php

var_dump(SeasLog::setDateTimeFormat('Ymd His'));

?>

O exemplo acima irá imprimir algo similar à:

bool(true)

Veja Também

  • SeasLog::getDateTimeFormat() - Get SeasLog datetime format style


Set SeasLog logger name

  • « SeasLog::setDatetimeFormat
  • SeasLog::setRequestID »
  • PHP Manual
  • SeasLog
  • Set SeasLog logger name

SeasLog::setLogger

(PECL seaslog >=1.0.0)

SeasLog::setLogger — Set SeasLog logger name

Descrição

public static SeasLog::setLogger ( string $logger ) : bool

Use the Function SeasLog::setLogger() will change the value of function SeasLog::getLastLogger(). Than's mean, SeasLog will record loginfo into the logger directory.

Parâmetros

logger

Logger name.

Valor Retornado

Return TRUE on created logger disectory success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::setLogger() example

<?php

var_dump(SeasLog::setLogger('testModule/testLogger'));

?>

O exemplo acima irá imprimir algo similar à:

bool(true)

Veja Também

  • SeasLog::getLastLogger() - Get SeasLog last logger path
  • SeasLog::closeLoggerStream() - Manually release stream flow from logger


Set SeasLog request_id differentiated requests

  • « SeasLog::setLogger
  • SeasLog::setRequestVariable »
  • PHP Manual
  • SeasLog
  • Set SeasLog request_id differentiated requests

SeasLog::setRequestID

(PECL seaslog >=1.0.0)

SeasLog::setRequestID — Set SeasLog request_id differentiated requests

Descrição

public static SeasLog::setRequestID ( string $request_id ) : bool

To distinguish a single request, such as not invoking the SeasLog::setRequestId() function, the unique value generated by the built-in `static char *get_uniqid ()` function is used when the request is initialized.

Parâmetros

request_id

String.

Valor Retornado

Return TRUE on set request_id success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::setRequestID() example

<?php

var_dump(SeasLog::setRequestID(time() . rand()));

?>

O exemplo acima irá imprimir algo similar à:

bool(true)

Veja Também

  • SeasLog::getRequestID() - Get SeasLog request_id differentiated requests


Manually set SeasLog request variable

  • « SeasLog::setRequestID
  • SeasLog::warning »
  • PHP Manual
  • SeasLog
  • Manually set SeasLog request variable

SeasLog::setRequestVariable

(PECL seaslog >=1.9.0)

SeasLog::setRequestVariable — Manually set SeasLog request variable

Descrição

public static SeasLog::setRequestVariable ( int $key , string $value ) : bool

Manually set SeasLog request variable.

Parâmetros

key

Constant int.

  • SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT
  • SEASLOG_REQUEST_VARIABLE_REQUEST_URI
  • SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD
  • SEASLOG_REQUEST_VARIABLE_CLIENT_IP

value

The request variable value.

Valor Retornado

Return TRUE on set success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::setRequestVariable() example

<?php

$sDomainPort = 'domain:port';
$sRequestUri = 'uri';
$sRequestMethod = 'method';
$sClientIp = 'client_ip';

$iErrorKey = 1000;

$oSeasLog = new SeasLog();

var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT, $sDomainPort));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_URI, $sRequestUri));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD, $sRequestMethod));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_CLIENT_IP, $sClientIp));

var_dump($oSeasLog->setRequestVariable($iErrorKey,NULL));

var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT) == $sDomainPort);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_URI) == $sRequestUri);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD) == $sRequestMethod);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_CLIENT_IP) == $sClientIp);

var_dump($oSeasLog->getRequestVariable($iErrorKey));

?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)

Veja Também

  • SeasLog::getRequestVariable() - Get SeasLog request variable


Record warning log information

  • « SeasLog::setRequestVariable
  • SPL »
  • PHP Manual
  • SeasLog
  • Record warning log information

SeasLog::warning

(PECL seaslog >=1.0.0)

SeasLog::warning — Record warning log information

Descrição

public static SeasLog::warning ( string $message , array $content = ? , string $logger = ? ) : bool

Record warning log information.

Nota:

"WARNING" - Exceptional occurrences that are not errors. Potentially aberrant information that needs attention and needs to be repaired.

Parâmetros

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Valor Retornado

Return TRUE on record log information success, FALSE on failure.

Exemplos

Exemplo #1 SeasLog::warning() example

<?php

var_dump(SeasLog::warning('log message'));

//with content
var_dump(SeasLog::warning('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::warning('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | WARNING | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | WARNING | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | WARNING | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Veja Também

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


Standard PHP Library (SPL)

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Estruturas de Dados
    • SplDoublyLinkedList — The SplDoublyLinkedList class
    • SplStack — The SplStack class
    • SplQueue — The SplQueue class
    • SplHeap — The SplHeap class
    • SplMaxHeap — The SplMaxHeap class
    • SplMinHeap — The SplMinHeap class
    • SplPriorityQueue — The SplPriorityQueue class
    • SplFixedArray — The SplFixedArray class
    • SplObjectStorage — The SplObjectStorage class
  • Iteradores
    • AppendIterator — The AppendIterator class
    • ArrayIterator — A classe ArrayIterator
    • CachingIterator — A classe CachingIterator
    • CallbackFilterIterator — The CallbackFilterIterator class
    • DirectoryIterator — A classe DirectoryIterator
    • EmptyIterator — The EmptyIterator class
    • FilesystemIterator — The FilesystemIterator class
    • FilterIterator — A classe FilterIterator
    • GlobIterator — The GlobIterator class
    • InfiniteIterator — The InfiniteIterator class
    • IteratorIterator — The IteratorIterator class
    • LimitIterator — A classe LimitIterator
    • MultipleIterator — The MultipleIterator class
    • NoRewindIterator — The NoRewindIterator class
    • ParentIterator — A classe ParentIterator
    • RecursiveArrayIterator — The RecursiveArrayIterator class
    • RecursiveCachingIterator — A classe RecursiveCachingIterator
    • RecursiveCallbackFilterIterator — The RecursiveCallbackFilterIterator class
    • RecursiveDirectoryIterator — A classe RecursiveDirectoryIterator
    • RecursiveFilterIterator — The RecursiveFilterIterator class
    • RecursiveIteratorIterator — Classe RecursiveIteratorIterator
    • RecursiveRegexIterator — The RecursiveRegexIterator class
    • RecursiveTreeIterator — The RecursiveTreeIterator class
    • RegexIterator — The RegexIterator class
  • Interfaces
    • Countable — Interface Countable
    • OuterIterator — The OuterIterator interface
    • RecursiveIterator — The RecursiveIterator interface
    • SeekableIterator — The SeekableIterator interface
  • Exceções
    • BadFunctionCallException — The BadFunctionCallException class
    • BadMethodCallException — The BadMethodCallException class
    • DomainException — The DomainException class
    • InvalidArgumentException — The InvalidArgumentException class
    • LengthException — The LengthException class
    • LogicException — The LogicException class
    • OutOfBoundsException — The OutOfBoundsException class
    • OutOfRangeException — The OutOfRangeException class
    • OverflowException — The OverflowException class
    • RangeException — The RangeException class
    • RuntimeException — The RuntimeException class
    • UnderflowException — The UnderflowException class
    • UnexpectedValueException — The UnexpectedValueException class
  • Funções da SPL
    • class_implements — Retorna as interfaces que são implementadas pela classe
    • class_parents — Retorna as classes pai de determinada classe
    • class_uses — Return the traits used by the given class
    • iterator_apply — Call a function for every element in an iterator
    • iterator_count — Conta o número de elementos do iterador
    • iterator_to_array — Copia o iterador em um array
    • spl_autoload_call — Tenta todas as funções __autoload() registradas para carregar a classe solicitada
    • spl_autoload_extensions — Registra e retorna as extensões de arquivo padrões para o spl_autoload
    • spl_autoload_functions — Retorna todas as funções __autoload() registradas
    • spl_autoload_register — Registra a função dada como implementação de __autoload()
    • spl_autoload_unregister — Retira a função dada como implementação de __autoload()
    • spl_autoload — Implementação padrão de __autoload()
    • spl_classes — Retorna as classes da SPL disponíveis
    • spl_object_hash — Retorna uma identificação hash do objeto dado
    • spl_object_id — Return the integer object handle for given object
  • Manipulação de arquivos
    • SplFileInfo — The SplFileInfo class
    • SplFileObject — The SplFileObject class
    • SplTempFileObject — The SplTempFileObject class
  • Classes e interfaces genéricas
    • ArrayObject — A classe ArrayObject
    • SplObserver — The SplObserver interface
    • SplSubject — The SplSubject interface


Introdução

SPL é uma coleção de interfaces e classes que servem para resolver problemas padrões.

Nota:

Documentação de legado(antiga) gerada com o "doxygen" pode ser encontrada aqui.


Instalação

Esta extensão está disponível e é compilada por padrão no PHP 5.3.0.

Nota:

A partir do PHP 5.3.0 esta extensão não pode mais ser desabilitada, sendo assim, ela estará sempre disponível.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Aviso

A SPL utiliza constantes de classes desde o PHP 5.1. Versões anteriores utilizam constantes globais no formato RIT_LEAVES_ONLY.

RecursiveIteratorIterator::LEAVES_ONLY (integer)
RecursiveIteratorIterator::SELF_FIRST (integer)
RecursiveIteratorIterator::CHILD_FIRST (integer)
CachingIterator::CALL_TOSTRING (integer)
CachingIterator::CATCH_GET_CHILD (integer)


Estruturas de Dados

Índice

  • SplDoublyLinkedList
  • SplStack
  • SplQueue
  • SplHeap
  • SplMaxHeap
  • SplMinHeap
  • SplPriorityQueue
  • SplFixedArray
  • SplObjectStorage

SPL provides a set of standard datastructures. They are grouped here by their underlying implementation which usually defines their general field of application.

Doubly Linked Lists

A Doubly Linked List (DLL) is a list of nodes linked in both directions to each other. Iterator's operations, access to both ends, addition or removal of nodes have a cost of O(1) when the underlying structure is a DLL. It hence provides a decent implementation for stacks and queues.

  • SplDoublyLinkedList
    • SplStack
    • SplQueue

Heaps

Heaps are tree-like structures that follow the heap-property: each node is greater than or equal to its children, when compared using the implemented compare method which is global to the heap.

  • SplHeap
    • SplMaxHeap
    • SplMinHeap
  • SplPriorityQueue

Arrays

Arrays are structures that store the data in a continuous way, accessible via indexes. Don't confuse them with PHP arrays: PHP arrays are in fact implemented as ordered hashtables.

  • SplFixedArray

Map

A map is a datastructure holding key-value pairs. PHP arrays can be seen as maps from integers/strings to values. SPL provides a map from objects to data. This map can also be used as an object set.

  • SplObjectStorage


The SplDoublyLinkedList class

(PHP 5 >= 5.3.0, PHP 7)

Introdução

The SplDoublyLinkedList class provides the main functionalities of a doubly linked list.

Sinopse da classe

SplDoublyLinkedList implements Iterator , ArrayAccess , Countable , Serializable {
/* Constantes */
const int IT_MODE_LIFO = 2 ;
const int IT_MODE_FIFO = 0 ;
const int IT_MODE_DELETE = 1 ;
const int IT_MODE_KEEP = 0 ;
/* Métodos */
public __construct ( )
public add ( mixed $index , mixed $newval ) : void
public bottom ( ) : mixed
public count ( ) : int
public current ( ) : mixed
public getIteratorMode ( ) : int
public isEmpty ( ) : bool
public key ( ) : mixed
public next ( ) : void
public offsetExists ( mixed $index ) : bool
public offsetGet ( mixed $index ) : mixed
public offsetSet ( mixed $index , mixed $newval ) : void
public offsetUnset ( mixed $index ) : void
public pop ( ) : mixed
public prev ( ) : void
public push ( mixed $value ) : void
public rewind ( ) : void
public serialize ( ) : string
public setIteratorMode ( int $mode ) : void
public shift ( ) : mixed
public top ( ) : mixed
public unserialize ( string $serialized ) : void
public unshift ( mixed $value ) : void
public valid ( ) : bool
}

Constantes pré-definidas

Iteration Direction

SplDoublyLinkedList::IT_MODE_LIFO

The list will be iterated in a last in, first out order, like a stack.

SplDoublyLinkedList::IT_MODE_FIFO

The list will be iterated in a first in, first out order, like a queue.

Iteration Behavior

SplDoublyLinkedList::IT_MODE_DELETE

Iteration will remove the iterated elements.

SplDoublyLinkedList::IT_MODE_KEEP

Iteration will not remove the iterated elements.

Índice

  • SplDoublyLinkedList::add — Add/insert a new value at the specified index
  • SplDoublyLinkedList::bottom — Peeks at the node from the beginning of the doubly linked list
  • SplDoublyLinkedList::__construct — Constructs a new doubly linked list
  • SplDoublyLinkedList::count — Counts the number of elements in the doubly linked list
  • SplDoublyLinkedList::current — Return current array entry
  • SplDoublyLinkedList::getIteratorMode — Returns the mode of iteration
  • SplDoublyLinkedList::isEmpty — Checks whether the doubly linked list is empty
  • SplDoublyLinkedList::key — Return current node index
  • SplDoublyLinkedList::next — Move to next entry
  • SplDoublyLinkedList::offsetExists — Returns whether the requested $index exists
  • SplDoublyLinkedList::offsetGet — Returns the value at the specified $index
  • SplDoublyLinkedList::offsetSet — Sets the value at the specified $index to $newval
  • SplDoublyLinkedList::offsetUnset — Unsets the value at the specified $index
  • SplDoublyLinkedList::pop — Pops a node from the end of the doubly linked list
  • SplDoublyLinkedList::prev — Move to previous entry
  • SplDoublyLinkedList::push — Pushes an element at the end of the doubly linked list
  • SplDoublyLinkedList::rewind — Rewind iterator back to the start
  • SplDoublyLinkedList::serialize — Serializes the storage
  • SplDoublyLinkedList::setIteratorMode — Sets the mode of iteration
  • SplDoublyLinkedList::shift — Shifts a node from the beginning of the doubly linked list
  • SplDoublyLinkedList::top — Peeks at the node from the end of the doubly linked list
  • SplDoublyLinkedList::unserialize — Unserializes the storage
  • SplDoublyLinkedList::unshift — Prepends the doubly linked list with an element
  • SplDoublyLinkedList::valid — Check whether the doubly linked list contains more nodes


Add/insert a new value at the specified index

  • « SplDoublyLinkedList
  • SplDoublyLinkedList::bottom »
  • PHP Manual
  • SplDoublyLinkedList
  • Add/insert a new value at the specified index

SplDoublyLinkedList::add

(PHP 5 >= 5.5.0, PHP 7)

SplDoublyLinkedList::add — Add/insert a new value at the specified index

Descrição

public SplDoublyLinkedList::add ( mixed $index , mixed $newval ) : void

Insert the value newval at the specified index, shuffling the previous value at that index (and all subsequent values) up through the list.

Parâmetros

index

The index where the new value is to be inserted.

newval

The new value for the index.

Valor Retornado

Não há valor retornado.

Erros

Throws OutOfRangeException when index is out of bounds or when index cannot be parsed as an integer.


Peeks at the node from the beginning of the doubly linked list

  • « SplDoublyLinkedList::add
  • SplDoublyLinkedList::__construct »
  • PHP Manual
  • SplDoublyLinkedList
  • Peeks at the node from the beginning of the doubly linked list

SplDoublyLinkedList::bottom

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::bottom — Peeks at the node from the beginning of the doubly linked list

Descrição

public SplDoublyLinkedList::bottom ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value of the first node.

Erros

Throws RuntimeException when the data-structure is empty.


Constructs a new doubly linked list

  • « SplDoublyLinkedList::bottom
  • SplDoublyLinkedList::count »
  • PHP Manual
  • SplDoublyLinkedList
  • Constructs a new doubly linked list

SplDoublyLinkedList::__construct

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::__construct — Constructs a new doubly linked list

Descrição

public SplDoublyLinkedList::__construct ( )

This constructs a new empty doubly linked list.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplDoublyLinkedList::__construct() example

<?php
$dll = new SplDoublyLinkedList();

$dll->push(2);
$dll->push(3);
$dll->unshift(5);

var_dump($dll);
?>

O exemplo acima irá imprimir:

object(SplDoublyLinkedList)#1 (2) {
  ["flags":"SplDoublyLinkedList":private]=>
  int(0)
  ["dllist":"SplDoublyLinkedList":private]=>
  array(3) {
    [0]=>
    int(5)
    [1]=>
    int(2)
    [2]=>
    int(3)
  }
}


Counts the number of elements in the doubly linked list

  • « SplDoublyLinkedList::__construct
  • SplDoublyLinkedList::current »
  • PHP Manual
  • SplDoublyLinkedList
  • Counts the number of elements in the doubly linked list

SplDoublyLinkedList::count

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::count — Counts the number of elements in the doubly linked list

Descrição

public SplDoublyLinkedList::count ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of elements in the doubly linked list.


Return current array entry

  • « SplDoublyLinkedList::count
  • SplDoublyLinkedList::getIteratorMode »
  • PHP Manual
  • SplDoublyLinkedList
  • Return current array entry

SplDoublyLinkedList::current

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::current — Return current array entry

Descrição

public SplDoublyLinkedList::current ( ) : mixed

Get the current doubly linked list node.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current node value.


Returns the mode of iteration

  • « SplDoublyLinkedList::current
  • SplDoublyLinkedList::isEmpty »
  • PHP Manual
  • SplDoublyLinkedList
  • Returns the mode of iteration

SplDoublyLinkedList::getIteratorMode

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::getIteratorMode — Returns the mode of iteration

Descrição

public SplDoublyLinkedList::getIteratorMode ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the different modes and flags that affect the iteration.


Checks whether the doubly linked list is empty

  • « SplDoublyLinkedList::getIteratorMode
  • SplDoublyLinkedList::key »
  • PHP Manual
  • SplDoublyLinkedList
  • Checks whether the doubly linked list is empty

SplDoublyLinkedList::isEmpty

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::isEmpty — Checks whether the doubly linked list is empty

Descrição

public SplDoublyLinkedList::isEmpty ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns whether the doubly linked list is empty.


Return current node index

  • « SplDoublyLinkedList::isEmpty
  • SplDoublyLinkedList::next »
  • PHP Manual
  • SplDoublyLinkedList
  • Return current node index

SplDoublyLinkedList::key

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::key — Return current node index

Descrição

public SplDoublyLinkedList::key ( ) : mixed

This function returns the current node index

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current node index.


Move to next entry

  • « SplDoublyLinkedList::key
  • SplDoublyLinkedList::offsetExists »
  • PHP Manual
  • SplDoublyLinkedList
  • Move to next entry

SplDoublyLinkedList::next

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::next — Move to next entry

Descrição

public SplDoublyLinkedList::next ( ) : void

Move the iterator to the next node.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Returns whether the requested $index exists

  • « SplDoublyLinkedList::next
  • SplDoublyLinkedList::offsetGet »
  • PHP Manual
  • SplDoublyLinkedList
  • Returns whether the requested $index exists

SplDoublyLinkedList::offsetExists

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::offsetExists — Returns whether the requested $index exists

Descrição

public SplDoublyLinkedList::offsetExists ( mixed $index ) : bool

Parâmetros

index

The index being checked.

Valor Retornado

true if the requested index exists, otherwise false


Returns the value at the specified $index

  • « SplDoublyLinkedList::offsetExists
  • SplDoublyLinkedList::offsetSet »
  • PHP Manual
  • SplDoublyLinkedList
  • Returns the value at the specified $index

SplDoublyLinkedList::offsetGet

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::offsetGet — Returns the value at the specified $index

Descrição

public SplDoublyLinkedList::offsetGet ( mixed $index ) : mixed

Parâmetros

index

The index with the value.

Valor Retornado

The value at the specified index.

Erros

Throws OutOfRangeException when index is out of bounds or when index cannot be parsed as an integer.


Sets the value at the specified $index to $newval

  • « SplDoublyLinkedList::offsetGet
  • SplDoublyLinkedList::offsetUnset »
  • PHP Manual
  • SplDoublyLinkedList
  • Sets the value at the specified $index to $newval

SplDoublyLinkedList::offsetSet

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::offsetSet — Sets the value at the specified $index to $newval

Descrição

public SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval ) : void

Sets the value at the specified index to newval.

Parâmetros

index

The index being set.

newval

The new value for the index.

Valor Retornado

Não há valor retornado.

Erros

Throws OutOfRangeException when index is out of bounds or when index cannot be parsed as an integer.


Unsets the value at the specified $index

  • « SplDoublyLinkedList::offsetSet
  • SplDoublyLinkedList::pop »
  • PHP Manual
  • SplDoublyLinkedList
  • Unsets the value at the specified $index

SplDoublyLinkedList::offsetUnset

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::offsetUnset — Unsets the value at the specified $index

Descrição

public SplDoublyLinkedList::offsetUnset ( mixed $index ) : void

Unsets the value at the specified index.

Parâmetros

index

The index being unset.

Valor Retornado

Não há valor retornado.

Erros

Throws OutOfRangeException when index is out of bounds or when index cannot be parsed as an integer.


Pops a node from the end of the doubly linked list

  • « SplDoublyLinkedList::offsetUnset
  • SplDoublyLinkedList::prev »
  • PHP Manual
  • SplDoublyLinkedList
  • Pops a node from the end of the doubly linked list

SplDoublyLinkedList::pop

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::pop — Pops a node from the end of the doubly linked list

Descrição

public SplDoublyLinkedList::pop ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value of the popped node.

Erros

Throws RuntimeException when the data-structure is empty.


Move to previous entry

  • « SplDoublyLinkedList::pop
  • SplDoublyLinkedList::push »
  • PHP Manual
  • SplDoublyLinkedList
  • Move to previous entry

SplDoublyLinkedList::prev

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::prev — Move to previous entry

Descrição

public SplDoublyLinkedList::prev ( ) : void

Move the iterator to the previous node.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Pushes an element at the end of the doubly linked list

  • « SplDoublyLinkedList::prev
  • SplDoublyLinkedList::rewind »
  • PHP Manual
  • SplDoublyLinkedList
  • Pushes an element at the end of the doubly linked list

SplDoublyLinkedList::push

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::push — Pushes an element at the end of the doubly linked list

Descrição

public SplDoublyLinkedList::push ( mixed $value ) : void

Pushes value at the end of the doubly linked list.

Parâmetros

value

The value to push.

Valor Retornado

Não há valor retornado.


Rewind iterator back to the start

  • « SplDoublyLinkedList::push
  • SplDoublyLinkedList::serialize »
  • PHP Manual
  • SplDoublyLinkedList
  • Rewind iterator back to the start

SplDoublyLinkedList::rewind

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::rewind — Rewind iterator back to the start

Descrição

public SplDoublyLinkedList::rewind ( ) : void

This rewinds the iterator to the beginning.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Serializes the storage

  • « SplDoublyLinkedList::rewind
  • SplDoublyLinkedList::setIteratorMode »
  • PHP Manual
  • SplDoublyLinkedList
  • Serializes the storage

SplDoublyLinkedList::serialize

(PHP 5 >= 5.4.0, PHP 7)

SplDoublyLinkedList::serialize — Serializes the storage

Descrição

public SplDoublyLinkedList::serialize ( ) : string

Serializes the storage.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The serialized string.

Veja Também

  • SplDoublyLinkedList::unserialize() - Unserializes the storage


Sets the mode of iteration

  • « SplDoublyLinkedList::serialize
  • SplDoublyLinkedList::shift »
  • PHP Manual
  • SplDoublyLinkedList
  • Sets the mode of iteration

SplDoublyLinkedList::setIteratorMode

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::setIteratorMode — Sets the mode of iteration

Descrição

public SplDoublyLinkedList::setIteratorMode ( int $mode ) : void

Parâmetros

mode

There are two orthogonal sets of modes that can be set:

  • The direction of the iteration (either one or the other):
    • SplDoublyLinkedList::IT_MODE_LIFO (Stack style)
    • SplDoublyLinkedList::IT_MODE_FIFO (Queue style)
  • The behavior of the iterator (either one or the other):
    • SplDoublyLinkedList::IT_MODE_DELETE (Elements are deleted by the iterator)
    • SplDoublyLinkedList::IT_MODE_KEEP (Elements are traversed by the iterator)

The default mode is: SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP

Valor Retornado

Não há valor retornado.


Shifts a node from the beginning of the doubly linked list

  • « SplDoublyLinkedList::setIteratorMode
  • SplDoublyLinkedList::top »
  • PHP Manual
  • SplDoublyLinkedList
  • Shifts a node from the beginning of the doubly linked list

SplDoublyLinkedList::shift

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::shift — Shifts a node from the beginning of the doubly linked list

Descrição

public SplDoublyLinkedList::shift ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value of the shifted node.

Erros

Throws RuntimeException when the data-structure is empty.


Peeks at the node from the end of the doubly linked list

  • « SplDoublyLinkedList::shift
  • SplDoublyLinkedList::unserialize »
  • PHP Manual
  • SplDoublyLinkedList
  • Peeks at the node from the end of the doubly linked list

SplDoublyLinkedList::top

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::top — Peeks at the node from the end of the doubly linked list

Descrição

public SplDoublyLinkedList::top ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value of the last node.

Erros

Throws RuntimeException when the data-structure is empty.


Unserializes the storage

  • « SplDoublyLinkedList::top
  • SplDoublyLinkedList::unshift »
  • PHP Manual
  • SplDoublyLinkedList
  • Unserializes the storage

SplDoublyLinkedList::unserialize

(PHP 5 >= 5.4.0, PHP 7)

SplDoublyLinkedList::unserialize — Unserializes the storage

Descrição

public SplDoublyLinkedList::unserialize ( string $serialized ) : void

Unserializes the storage, from SplDoublyLinkedList::serialize().

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

serialized

The serialized string.

Valor Retornado

Não há valor retornado.

Veja Também

  • SplDoublyLinkedList::serialize() - Serializes the storage


Prepends the doubly linked list with an element

  • « SplDoublyLinkedList::unserialize
  • SplDoublyLinkedList::valid »
  • PHP Manual
  • SplDoublyLinkedList
  • Prepends the doubly linked list with an element

SplDoublyLinkedList::unshift

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::unshift — Prepends the doubly linked list with an element

Descrição

public SplDoublyLinkedList::unshift ( mixed $value ) : void

Prepends value at the beginning of the doubly linked list.

Parâmetros

value

The value to unshift.

Valor Retornado

Não há valor retornado.


Check whether the doubly linked list contains more nodes

  • « SplDoublyLinkedList::unshift
  • SplStack »
  • PHP Manual
  • SplDoublyLinkedList
  • Check whether the doubly linked list contains more nodes

SplDoublyLinkedList::valid

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::valid — Check whether the doubly linked list contains more nodes

Descrição

public SplDoublyLinkedList::valid ( ) : bool

Checks if the doubly linked list contains any more nodes.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the doubly linked list contains any more nodes, false otherwise.


The SplStack class

(PHP 5 >= 5.3.0, PHP 7)

Introdução

The SplStack class provides the main functionalities of a stack implemented using a doubly linked list.

Sinopse da classe

SplStack extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Métodos */
public __construct ( )
public setIteratorMode ( int $mode ) : void
/* Métodos herdados */
public SplDoublyLinkedList::add ( mixed $index , mixed $newval ) : void
public SplDoublyLinkedList::bottom ( ) : mixed
public SplDoublyLinkedList::count ( ) : int
public SplDoublyLinkedList::current ( ) : mixed
public SplDoublyLinkedList::getIteratorMode ( ) : int
public SplDoublyLinkedList::isEmpty ( ) : bool
public SplDoublyLinkedList::key ( ) : mixed
public SplDoublyLinkedList::next ( ) : void
public SplDoublyLinkedList::offsetExists ( mixed $index ) : bool
public SplDoublyLinkedList::offsetGet ( mixed $index ) : mixed
public SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval ) : void
public SplDoublyLinkedList::offsetUnset ( mixed $index ) : void
public SplDoublyLinkedList::pop ( ) : mixed
public SplDoublyLinkedList::prev ( ) : void
public SplDoublyLinkedList::push ( mixed $value ) : void
public SplDoublyLinkedList::rewind ( ) : void
public SplDoublyLinkedList::serialize ( ) : string
public SplDoublyLinkedList::setIteratorMode ( int $mode ) : void
public SplDoublyLinkedList::shift ( ) : mixed
public SplDoublyLinkedList::top ( ) : mixed
public SplDoublyLinkedList::unserialize ( string $serialized ) : void
public SplDoublyLinkedList::unshift ( mixed $value ) : void
public SplDoublyLinkedList::valid ( ) : bool
}

Índice

  • SplStack::__construct — Constructs a new stack implemented using a doubly linked list
  • SplStack::setIteratorMode — Sets the mode of iteration


Constructs a new stack implemented using a doubly linked list

  • « SplStack
  • SplStack::setIteratorMode »
  • PHP Manual
  • SplStack
  • Constructs a new stack implemented using a doubly linked list

SplStack::__construct

(PHP 5 >= 5.3.0, PHP 7)

SplStack::__construct — Constructs a new stack implemented using a doubly linked list

Descrição

public SplStack::__construct ( )

This constructs a new empty stack.

Nota:

This method automatically sets the iterator mode to SplDoublyLinkedList::IT_MODE_LIFO.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplStack::__construct() example

<?php
$q = new SplStack();

$q[] = 1;
$q[] = 2;
$q[] = 3;

foreach ($q as $elem)  {
 echo $elem."\n";
}
?>

O exemplo acima irá imprimir:

3
2
1


Sets the mode of iteration

  • « SplStack::__construct
  • SplQueue »
  • PHP Manual
  • SplStack
  • Sets the mode of iteration

SplStack::setIteratorMode

(PHP 5 >= 5.3.0, PHP 7)

SplStack::setIteratorMode — Sets the mode of iteration

Descrição

public SplStack::setIteratorMode ( int $mode ) : void

Parâmetros

mode

There is only one iteration parameter you can modify.

  • The behavior of the iterator (either one or the other):
    • SplDoublyLinkedList::IT_MODE_DELETE (Elements are deleted by the iterator)
    • SplDoublyLinkedList::IT_MODE_KEEP (Elements are traversed by the iterator)

The default mode is 0x2 : SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP

Aviso

The direction of iteration can no longer be changed for SplStacks. Trying to do so will result in a RuntimeException being thrown.

Valor Retornado

Não há valor retornado.


The SplQueue class

(PHP 5 >= 5.3.0, PHP 7)

Introdução

The SplQueue class provides the main functionalities of a queue implemented using a doubly linked list.

Sinopse da classe

SplQueue extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Métodos */
public __construct ( )
public dequeue ( ) : mixed
public enqueue ( mixed $value ) : void
public setIteratorMode ( int $mode ) : void
/* Métodos herdados */
public SplDoublyLinkedList::add ( mixed $index , mixed $newval ) : void
public SplDoublyLinkedList::bottom ( ) : mixed
public SplDoublyLinkedList::count ( ) : int
public SplDoublyLinkedList::current ( ) : mixed
public SplDoublyLinkedList::getIteratorMode ( ) : int
public SplDoublyLinkedList::isEmpty ( ) : bool
public SplDoublyLinkedList::key ( ) : mixed
public SplDoublyLinkedList::next ( ) : void
public SplDoublyLinkedList::offsetExists ( mixed $index ) : bool
public SplDoublyLinkedList::offsetGet ( mixed $index ) : mixed
public SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval ) : void
public SplDoublyLinkedList::offsetUnset ( mixed $index ) : void
public SplDoublyLinkedList::pop ( ) : mixed
public SplDoublyLinkedList::prev ( ) : void
public SplDoublyLinkedList::push ( mixed $value ) : void
public SplDoublyLinkedList::rewind ( ) : void
public SplDoublyLinkedList::serialize ( ) : string
public SplDoublyLinkedList::setIteratorMode ( int $mode ) : void
public SplDoublyLinkedList::shift ( ) : mixed
public SplDoublyLinkedList::top ( ) : mixed
public SplDoublyLinkedList::unserialize ( string $serialized ) : void
public SplDoublyLinkedList::unshift ( mixed $value ) : void
public SplDoublyLinkedList::valid ( ) : bool
}

Índice

  • SplQueue::__construct — Constructs a new queue implemented using a doubly linked list
  • SplQueue::dequeue — Dequeues a node from the queue
  • SplQueue::enqueue — Adds an element to the queue
  • SplQueue::setIteratorMode — Sets the mode of iteration


Constructs a new queue implemented using a doubly linked list

  • « SplQueue
  • SplQueue::dequeue »
  • PHP Manual
  • SplQueue
  • Constructs a new queue implemented using a doubly linked list

SplQueue::__construct

(PHP 5 >= 5.3.0, PHP 7)

SplQueue::__construct — Constructs a new queue implemented using a doubly linked list

Descrição

public SplQueue::__construct ( )

This constructs a new empty queue.

Nota:

This method automatically sets the iterator mode to SplDoublyLinkedList::IT_MODE_FIFO.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplQueue::__construct() example

<?php
$q = new SplQueue();

$q[] = 1;
$q[] = 2;
$q[] = 3;

foreach ($q as $elem)  {
 echo $elem."\n";
}
?>

O exemplo acima irá imprimir:

1
2
3

Exemplo #2 Efficiently handling tasks with SplQueue

<?php
$q = new SplQueue();
$q->setIteratorMode(SplQueue::IT_MODE_DELETE);

// ... enqueue some tasks on the queue ...

// process them
foreach ($q as $task) {
    // ... process $task ...

    // add new tasks on the queue
    $q[] = $newTask;
    // ...
}
?>


Dequeues a node from the queue

  • « SplQueue::__construct
  • SplQueue::enqueue »
  • PHP Manual
  • SplQueue
  • Dequeues a node from the queue

SplQueue::dequeue

(PHP 5 >= 5.3.0, PHP 7)

SplQueue::dequeue — Dequeues a node from the queue

Descrição

public SplQueue::dequeue ( ) : mixed

Dequeues value from the top of the queue.

Nota:

SplQueue::dequeue() is an alias of SplDoublyLinkedList::shift().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value of the dequeued node.


Adds an element to the queue

  • « SplQueue::dequeue
  • SplQueue::setIteratorMode »
  • PHP Manual
  • SplQueue
  • Adds an element to the queue

SplQueue::enqueue

(PHP 5 >= 5.3.0, PHP 7)

SplQueue::enqueue — Adds an element to the queue

Descrição

public SplQueue::enqueue ( mixed $value ) : void

Enqueues value at the end of the queue.

Nota:

SplQueue::enqueue() is an alias of SplDoublyLinkedList::push().

Parâmetros

value

The value to enqueue.

Valor Retornado

Não há valor retornado.


Sets the mode of iteration

  • « SplQueue::enqueue
  • SplHeap »
  • PHP Manual
  • SplQueue
  • Sets the mode of iteration

SplQueue::setIteratorMode

(PHP 5 >= 5.3.0, PHP 7)

SplQueue::setIteratorMode — Sets the mode of iteration

Descrição

public SplQueue::setIteratorMode ( int $mode ) : void

Parâmetros

mode

There is only one iteration parameter you can modify.

  • The behavior of the iterator (either one or the other):
    • SplDoublyLinkedList::IT_MODE_DELETE (Elements are deleted by the iterator)
    • SplDoublyLinkedList::IT_MODE_KEEP (Elements are traversed by the iterator)

The default mode is: SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP

Aviso

The direction of iteration can not be changed for SplQueues, it is always SplDoublyLinkedList::IT_MODE_FIFO.

Valor Retornado

Não há valor retornado.

Erros

Throws a RuntimeException on trying to change the direction of iteration by using SplDoublyLinkedList::IT_MODE_LIFO.


The SplHeap class

(PHP 5 >= 5.3.0, PHP 7)

Introdução

The SplHeap class provides the main functionalities of a Heap.

Sinopse da classe

abstract SplHeap implements Iterator , Countable {
/* Métodos */
public __construct ( )
abstract protected compare ( mixed $value1 , mixed $value2 ) : int
public count ( ) : int
public current ( ) : mixed
public extract ( ) : mixed
public insert ( mixed $value ) : void
public isCorrupted ( ) : bool
public isEmpty ( ) : bool
public key ( ) : mixed
public next ( ) : void
public recoverFromCorruption ( ) : void
public rewind ( ) : void
public top ( ) : mixed
public valid ( ) : bool
}

Índice

  • SplHeap::compare — Compare elements in order to place them correctly in the heap while sifting up
  • SplHeap::__construct — Constructs a new empty heap
  • SplHeap::count — Counts the number of elements in the heap
  • SplHeap::current — Return current node pointed by the iterator
  • SplHeap::extract — Extracts a node from top of the heap and sift up
  • SplHeap::insert — Inserts an element in the heap by sifting it up
  • SplHeap::isCorrupted — Tells if the heap is in a corrupted state
  • SplHeap::isEmpty — Checks whether the heap is empty
  • SplHeap::key — Return current node index
  • SplHeap::next — Move to the next node
  • SplHeap::recoverFromCorruption — Recover from the corrupted state and allow further actions on the heap
  • SplHeap::rewind — Rewind iterator back to the start (no-op)
  • SplHeap::top — Peeks at the node from the top of the heap
  • SplHeap::valid — Check whether the heap contains more nodes


Compare elements in order to place them correctly in the heap while sifting up

  • « SplHeap
  • SplHeap::__construct »
  • PHP Manual
  • SplHeap
  • Compare elements in order to place them correctly in the heap while sifting up

SplHeap::compare

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::compare — Compare elements in order to place them correctly in the heap while sifting up

Descrição

abstract protected SplHeap::compare ( mixed $value1 , mixed $value2 ) : int

Compare value1 with value2.

Aviso

Throwing exceptions in SplHeap::compare() can corrupt the Heap and place it in a blocked state. You can unblock it by calling SplHeap::recoverFromCorruption(). However, some elements might not be placed correctly and it may hence break the heap-property.

Parâmetros

value1

The value of the first node being compared.

value2

The value of the second node being compared.

Valor Retornado

Result of the comparison, positive integer if value1 is greater than value2, 0 if they are equal, negative integer otherwise.

Nota:

Having multiple elements with the same value in a Heap is not recommended. They will end up in an arbitrary relative position.


Constructs a new empty heap

  • « SplHeap::compare
  • SplHeap::count »
  • PHP Manual
  • SplHeap
  • Constructs a new empty heap

SplHeap::__construct

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::__construct — Constructs a new empty heap

Descrição

public SplHeap::__construct ( )

This constructs a new empty heap.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Counts the number of elements in the heap

  • « SplHeap::__construct
  • SplHeap::current »
  • PHP Manual
  • SplHeap
  • Counts the number of elements in the heap

SplHeap::count

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::count — Counts the number of elements in the heap

Descrição

public SplHeap::count ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of elements in the heap.


Return current node pointed by the iterator

  • « SplHeap::count
  • SplHeap::extract »
  • PHP Manual
  • SplHeap
  • Return current node pointed by the iterator

SplHeap::current

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::current — Return current node pointed by the iterator

Descrição

public SplHeap::current ( ) : mixed

Get the current datastructure node.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current node value.


Extracts a node from top of the heap and sift up

  • « SplHeap::current
  • SplHeap::insert »
  • PHP Manual
  • SplHeap
  • Extracts a node from top of the heap and sift up

SplHeap::extract

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::extract — Extracts a node from top of the heap and sift up

Descrição

public SplHeap::extract ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value of the extracted node.

Erros

Throws RuntimeException when the data-structure is empty.


Inserts an element in the heap by sifting it up

  • « SplHeap::extract
  • SplHeap::isCorrupted »
  • PHP Manual
  • SplHeap
  • Inserts an element in the heap by sifting it up

SplHeap::insert

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::insert — Inserts an element in the heap by sifting it up

Descrição

public SplHeap::insert ( mixed $value ) : void

Insert value in the heap.

Parâmetros

value

The value to insert.

Valor Retornado

Não há valor retornado.


Tells if the heap is in a corrupted state

  • « SplHeap::insert
  • SplHeap::isEmpty »
  • PHP Manual
  • SplHeap
  • Tells if the heap is in a corrupted state

SplHeap::isCorrupted

(PHP 7)

SplHeap::isCorrupted — Tells if the heap is in a corrupted state

Descrição

public SplHeap::isCorrupted ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the heap is corrupted, false otherwise.


Checks whether the heap is empty

  • « SplHeap::isCorrupted
  • SplHeap::key »
  • PHP Manual
  • SplHeap
  • Checks whether the heap is empty

SplHeap::isEmpty

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::isEmpty — Checks whether the heap is empty

Descrição

public SplHeap::isEmpty ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns whether the heap is empty.


Return current node index

  • « SplHeap::isEmpty
  • SplHeap::next »
  • PHP Manual
  • SplHeap
  • Return current node index

SplHeap::key

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::key — Return current node index

Descrição

public SplHeap::key ( ) : mixed

This function returns the current node index

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current node index.


Move to the next node

  • « SplHeap::key
  • SplHeap::recoverFromCorruption »
  • PHP Manual
  • SplHeap
  • Move to the next node

SplHeap::next

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::next — Move to the next node

Descrição

public SplHeap::next ( ) : void

Move to the next node. This will delete the top node of the heap.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Recover from the corrupted state and allow further actions on the heap

  • « SplHeap::next
  • SplHeap::rewind »
  • PHP Manual
  • SplHeap
  • Recover from the corrupted state and allow further actions on the heap

SplHeap::recoverFromCorruption

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::recoverFromCorruption — Recover from the corrupted state and allow further actions on the heap

Descrição

public SplHeap::recoverFromCorruption ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Rewind iterator back to the start (no-op)

  • « SplHeap::recoverFromCorruption
  • SplHeap::top »
  • PHP Manual
  • SplHeap
  • Rewind iterator back to the start (no-op)

SplHeap::rewind

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::rewind — Rewind iterator back to the start (no-op)

Descrição

public SplHeap::rewind ( ) : void

This rewinds the iterator to the beginning. This is a no-op for heaps as the iterator is virtual and in fact never moves from the top of the heap.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Peeks at the node from the top of the heap

  • « SplHeap::rewind
  • SplHeap::valid »
  • PHP Manual
  • SplHeap
  • Peeks at the node from the top of the heap

SplHeap::top

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::top — Peeks at the node from the top of the heap

Descrição

public SplHeap::top ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value of the node on the top.

Erros

Throws RuntimeException when the data-structure is empty.


Check whether the heap contains more nodes

  • « SplHeap::top
  • SplMaxHeap »
  • PHP Manual
  • SplHeap
  • Check whether the heap contains more nodes

SplHeap::valid

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::valid — Check whether the heap contains more nodes

Descrição

public SplHeap::valid ( ) : bool

Checks if the heap contains any more nodes.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the heap contains any more nodes, false otherwise.


The SplMaxHeap class

(PHP 5 >= 5.3.0, PHP 7)

Introdução

The SplMaxHeap class provides the main functionalities of a heap, keeping the maximum on the top.

Sinopse da classe

SplMaxHeap extends SplHeap implements Iterator , Countable {
/* Métodos */
protected compare ( mixed $value1 , mixed $value2 ) : int
/* Métodos herdados */
abstract protected SplHeap::compare ( mixed $value1 , mixed $value2 ) : int
public SplHeap::count ( ) : int
public SplHeap::current ( ) : mixed
public SplHeap::extract ( ) : mixed
public SplHeap::insert ( mixed $value ) : void
public SplHeap::isCorrupted ( ) : bool
public SplHeap::isEmpty ( ) : bool
public SplHeap::key ( ) : mixed
public SplHeap::next ( ) : void
public SplHeap::recoverFromCorruption ( ) : void
public SplHeap::rewind ( ) : void
public SplHeap::top ( ) : mixed
public SplHeap::valid ( ) : bool
}

Índice

  • SplMaxHeap::compare — Compare elements in order to place them correctly in the heap while sifting up


Compare elements in order to place them correctly in the heap while sifting up

  • « SplMaxHeap
  • SplMinHeap »
  • PHP Manual
  • SplMaxHeap
  • Compare elements in order to place them correctly in the heap while sifting up

SplMaxHeap::compare

(PHP 5 >= 5.3.0, PHP 7)

SplMaxHeap::compare — Compare elements in order to place them correctly in the heap while sifting up

Descrição

protected SplMaxHeap::compare ( mixed $value1 , mixed $value2 ) : int

Compare value1 with value2.

Parâmetros

value1

The value of the first node being compared.

value2

The value of the second node being compared.

Valor Retornado

Result of the comparison, positive integer if value1 is greater than value2, 0 if they are equal, negative integer otherwise.

Nota:

Having multiple elements with the same value in a Heap is not recommended. They will end up in an arbitrary relative position.


The SplMinHeap class

(PHP 5 >= 5.3.0, PHP 7)

Introdução

The SplMinHeap class provides the main functionalities of a heap, keeping the minimum on the top.

Sinopse da classe

SplMinHeap extends SplHeap implements Iterator , Countable {
/* Métodos */
protected compare ( mixed $value1 , mixed $value2 ) : int
/* Métodos herdados */
abstract protected SplHeap::compare ( mixed $value1 , mixed $value2 ) : int
public SplHeap::count ( ) : int
public SplHeap::current ( ) : mixed
public SplHeap::extract ( ) : mixed
public SplHeap::insert ( mixed $value ) : void
public SplHeap::isCorrupted ( ) : bool
public SplHeap::isEmpty ( ) : bool
public SplHeap::key ( ) : mixed
public SplHeap::next ( ) : void
public SplHeap::recoverFromCorruption ( ) : void
public SplHeap::rewind ( ) : void
public SplHeap::top ( ) : mixed
public SplHeap::valid ( ) : bool
}

Índice

  • SplMinHeap::compare — Compare elements in order to place them correctly in the heap while sifting up


Compare elements in order to place them correctly in the heap while sifting up

  • « SplMinHeap
  • SplPriorityQueue »
  • PHP Manual
  • SplMinHeap
  • Compare elements in order to place them correctly in the heap while sifting up

SplMinHeap::compare

(PHP 5 >= 5.3.0, PHP 7)

SplMinHeap::compare — Compare elements in order to place them correctly in the heap while sifting up

Descrição

protected SplMinHeap::compare ( mixed $value1 , mixed $value2 ) : int

Compare value1 with value2.

Parâmetros

value1

The value of the first node being compared.

value2

The value of the second node being compared.

Valor Retornado

Result of the comparison, positive integer if value1 is lower than value2, 0 if they are equal, negative integer otherwise.

Nota:

Having multiple elements with the same value in a Heap is not recommended. They will end up in an arbitrary relative position.


The SplPriorityQueue class

(PHP 5 >= 5.3.0, PHP 7)

Introdução

The SplPriorityQueue class provides the main functionalities of a prioritized queue, implemented using a max heap.

Nota: The order of elements with identical priority is undefined. It may differ from the order in which they have been inserted.

Sinopse da classe

SplPriorityQueue implements Iterator , Countable {
/* Métodos */
public __construct ( )
public compare ( mixed $priority1 , mixed $priority2 ) : int
public count ( ) : int
public current ( ) : mixed
public extract ( ) : mixed
public getExtractFlags ( ) : int
public insert ( mixed $value , mixed $priority ) : bool
public isCorrupted ( ) : bool
public isEmpty ( ) : bool
public key ( ) : mixed
public next ( ) : void
public recoverFromCorruption ( ) : void
public rewind ( ) : void
public setExtractFlags ( int $flags ) : void
public top ( ) : mixed
public valid ( ) : bool
}

Índice

  • SplPriorityQueue::compare — Compare priorities in order to place elements correctly in the heap while sifting up
  • SplPriorityQueue::__construct — Constructs a new empty queue
  • SplPriorityQueue::count — Counts the number of elements in the queue
  • SplPriorityQueue::current — Return current node pointed by the iterator
  • SplPriorityQueue::extract — Extracts a node from top of the heap and sift up
  • SplPriorityQueue::getExtractFlags — Get the flags of extraction
  • SplPriorityQueue::insert — Inserts an element in the queue by sifting it up
  • SplPriorityQueue::isCorrupted — Tells if the priority queue is in a corrupted state
  • SplPriorityQueue::isEmpty — Checks whether the queue is empty
  • SplPriorityQueue::key — Return current node index
  • SplPriorityQueue::next — Move to the next node
  • SplPriorityQueue::recoverFromCorruption — Recover from the corrupted state and allow further actions on the queue
  • SplPriorityQueue::rewind — Rewind iterator back to the start (no-op)
  • SplPriorityQueue::setExtractFlags — Sets the mode of extraction
  • SplPriorityQueue::top — Peeks at the node from the top of the queue
  • SplPriorityQueue::valid — Check whether the queue contains more nodes


Compare priorities in order to place elements correctly in the heap while sifting up

  • « SplPriorityQueue
  • SplPriorityQueue::__construct »
  • PHP Manual
  • SplPriorityQueue
  • Compare priorities in order to place elements correctly in the heap while sifting up

SplPriorityQueue::compare

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::compare — Compare priorities in order to place elements correctly in the heap while sifting up

Descrição

public SplPriorityQueue::compare ( mixed $priority1 , mixed $priority2 ) : int

Compare priority1 with priority2.

Parâmetros

priority1

The priority of the first node being compared.

priority2

The priority of the second node being compared.

Valor Retornado

Result of the comparison, positive integer if priority1 is greater than priority2, 0 if they are equal, negative integer otherwise.

Nota:

Multiple elements with the same priority will get dequeued in no particular order.


Constructs a new empty queue

  • « SplPriorityQueue::compare
  • SplPriorityQueue::count »
  • PHP Manual
  • SplPriorityQueue
  • Constructs a new empty queue

SplPriorityQueue::__construct

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::__construct — Constructs a new empty queue

Descrição

public SplPriorityQueue::__construct ( )

This constructs a new empty queue.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Counts the number of elements in the queue

  • « SplPriorityQueue::__construct
  • SplPriorityQueue::current »
  • PHP Manual
  • SplPriorityQueue
  • Counts the number of elements in the queue

SplPriorityQueue::count

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::count — Counts the number of elements in the queue

Descrição

public SplPriorityQueue::count ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of elements in the queue.


Return current node pointed by the iterator

  • « SplPriorityQueue::count
  • SplPriorityQueue::extract »
  • PHP Manual
  • SplPriorityQueue
  • Return current node pointed by the iterator

SplPriorityQueue::current

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::current — Return current node pointed by the iterator

Descrição

public SplPriorityQueue::current ( ) : mixed

Get the current datastructure node.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value or priority (or both) of the current node, depending on the extract flag.


Extracts a node from top of the heap and sift up

  • « SplPriorityQueue::current
  • SplPriorityQueue::getExtractFlags »
  • PHP Manual
  • SplPriorityQueue
  • Extracts a node from top of the heap and sift up

SplPriorityQueue::extract

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::extract — Extracts a node from top of the heap and sift up

Descrição

public SplPriorityQueue::extract ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value or priority (or both) of the extracted node, depending on the extract flag.


Get the flags of extraction

  • « SplPriorityQueue::extract
  • SplPriorityQueue::insert »
  • PHP Manual
  • SplPriorityQueue
  • Get the flags of extraction

SplPriorityQueue::getExtractFlags

(PHP 7)

SplPriorityQueue::getExtractFlags — Get the flags of extraction

Descrição

public SplPriorityQueue::getExtractFlags ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Inserts an element in the queue by sifting it up

  • « SplPriorityQueue::getExtractFlags
  • SplPriorityQueue::isCorrupted »
  • PHP Manual
  • SplPriorityQueue
  • Inserts an element in the queue by sifting it up

SplPriorityQueue::insert

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::insert — Inserts an element in the queue by sifting it up

Descrição

public SplPriorityQueue::insert ( mixed $value , mixed $priority ) : bool

Insert value with the priority priority in the queue.

Parâmetros

value

The value to insert.

priority

The associated priority.

Valor Retornado

Returns true.


Tells if the priority queue is in a corrupted state

  • « SplPriorityQueue::insert
  • SplPriorityQueue::isEmpty »
  • PHP Manual
  • SplPriorityQueue
  • Tells if the priority queue is in a corrupted state

SplPriorityQueue::isCorrupted

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::isCorrupted — Tells if the priority queue is in a corrupted state

Descrição

public SplPriorityQueue::isCorrupted ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the priority queue is corrupted, false otherwise.


Checks whether the queue is empty

  • « SplPriorityQueue::isCorrupted
  • SplPriorityQueue::key »
  • PHP Manual
  • SplPriorityQueue
  • Checks whether the queue is empty

SplPriorityQueue::isEmpty

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::isEmpty — Checks whether the queue is empty

Descrição

public SplPriorityQueue::isEmpty ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns whether the queue is empty.


Return current node index

  • « SplPriorityQueue::isEmpty
  • SplPriorityQueue::next »
  • PHP Manual
  • SplPriorityQueue
  • Return current node index

SplPriorityQueue::key

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::key — Return current node index

Descrição

public SplPriorityQueue::key ( ) : mixed

This function returns the current node index

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current node index.


Move to the next node

  • « SplPriorityQueue::key
  • SplPriorityQueue::recoverFromCorruption »
  • PHP Manual
  • SplPriorityQueue
  • Move to the next node

SplPriorityQueue::next

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::next — Move to the next node

Descrição

public SplPriorityQueue::next ( ) : void

Extracts the top node from the queue.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Recover from the corrupted state and allow further actions on the queue

  • « SplPriorityQueue::next
  • SplPriorityQueue::rewind »
  • PHP Manual
  • SplPriorityQueue
  • Recover from the corrupted state and allow further actions on the queue

SplPriorityQueue::recoverFromCorruption

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::recoverFromCorruption — Recover from the corrupted state and allow further actions on the queue

Descrição

public SplPriorityQueue::recoverFromCorruption ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Rewind iterator back to the start (no-op)

  • « SplPriorityQueue::recoverFromCorruption
  • SplPriorityQueue::setExtractFlags »
  • PHP Manual
  • SplPriorityQueue
  • Rewind iterator back to the start (no-op)

SplPriorityQueue::rewind

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::rewind — Rewind iterator back to the start (no-op)

Descrição

public SplPriorityQueue::rewind ( ) : void

This rewinds the iterator to the beginning. This is a no-op for heaps as the iterator is virtual and in fact never moves from the top of the heap.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Sets the mode of extraction

  • « SplPriorityQueue::rewind
  • SplPriorityQueue::top »
  • PHP Manual
  • SplPriorityQueue
  • Sets the mode of extraction

SplPriorityQueue::setExtractFlags

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::setExtractFlags — Sets the mode of extraction

Descrição

public SplPriorityQueue::setExtractFlags ( int $flags ) : void

Parâmetros

flags

Defines what is extracted by SplPriorityQueue::current(),
SplPriorityQueue::top() and
SplPriorityQueue::extract().

  • SplPriorityQueue::EXTR_DATA (0x00000001): Extract the data
  • SplPriorityQueue::EXTR_PRIORITY (0x00000002): Extract the priority
  • SplPriorityQueue::EXTR_BOTH (0x00000003): Extract an array containing both

The default mode is SplPriorityQueue::EXTR_DATA.

Valor Retornado

Não há valor retornado.


Peeks at the node from the top of the queue

  • « SplPriorityQueue::setExtractFlags
  • SplPriorityQueue::valid »
  • PHP Manual
  • SplPriorityQueue
  • Peeks at the node from the top of the queue

SplPriorityQueue::top

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::top — Peeks at the node from the top of the queue

Descrição

public SplPriorityQueue::top ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value or priority (or both) of the top node, depending on the extract flag.


Check whether the queue contains more nodes

  • « SplPriorityQueue::top
  • SplFixedArray »
  • PHP Manual
  • SplPriorityQueue
  • Check whether the queue contains more nodes

SplPriorityQueue::valid

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::valid — Check whether the queue contains more nodes

Descrição

public SplPriorityQueue::valid ( ) : bool

Checks if the queue contains any more nodes.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the queue contains any more nodes, false otherwise.


The SplFixedArray class

(PHP 5 >= 5.3.0, PHP 7)

Introdução

The SplFixedArray class provides the main functionalities of array. The main difference between a SplFixedArray and a normal PHP array is that the SplFixedArray must be resized manually and allows only integers within the range as indexes. The advantage is that it uses less memory than a standard array.

Sinopse da classe

SplFixedArray implements Iterator , ArrayAccess , Countable {
/* Métodos */
public __construct ( int $size = 0 )
public count ( ) : int
public current ( ) : mixed
public static fromArray ( array $array , bool $save_indexes = true ) : SplFixedArray
public getSize ( ) : int
public key ( ) : int
public next ( ) : void
public offsetExists ( int $index ) : bool
public offsetGet ( int $index ) : mixed
public offsetSet ( int $index , mixed $newval ) : void
public offsetUnset ( int $index ) : void
public rewind ( ) : void
public setSize ( int $size ) : bool
public toArray ( ) : array
public valid ( ) : bool
public __wakeup ( ) : void
}

Exemplos

Exemplo #1 SplFixedArray usage example

<?php
// Initialize the array with a fixed length
$array = new SplFixedArray(5);

$array[1] = 2;
$array[4] = "foo";

var_dump($array[0]); // NULL
var_dump($array[1]); // int(2)

var_dump($array["4"]); // string(3) "foo"

// Increase the size of the array to 10
$array->setSize(10);

$array[9] = "asdf";

// Shrink the array to a size of 2
$array->setSize(2);

// The following lines throw a RuntimeException: Index invalid or out of range
try {
    var_dump($array["non-numeric"]);
} catch(RuntimeException $re) {
    echo "RuntimeException: ".$re->getMessage()."\n";
}

try {
    var_dump($array[-1]);
} catch(RuntimeException $re) {
    echo "RuntimeException: ".$re->getMessage()."\n";
}

try {
    var_dump($array[5]);
} catch(RuntimeException $re) {
    echo "RuntimeException: ".$re->getMessage()."\n";
}
?>

O exemplo acima irá imprimir:

NULL
int(2)
string(3) "foo"
RuntimeException: Index invalid or out of range
RuntimeException: Index invalid or out of range
RuntimeException: Index invalid or out of range

Índice

  • SplFixedArray::__construct — Constructs a new fixed array
  • SplFixedArray::count — Returns the size of the array
  • SplFixedArray::current — Return current array entry
  • SplFixedArray::fromArray — Import a PHP array in a SplFixedArray instance
  • SplFixedArray::getSize — Gets the size of the array
  • SplFixedArray::key — Return current array index
  • SplFixedArray::next — Move to next entry
  • SplFixedArray::offsetExists — Returns whether the requested index exists
  • SplFixedArray::offsetGet — Returns the value at the specified index
  • SplFixedArray::offsetSet — Sets a new value at a specified index
  • SplFixedArray::offsetUnset — Unsets the value at the specified $index
  • SplFixedArray::rewind — Rewind iterator back to the start
  • SplFixedArray::setSize — Change the size of an array
  • SplFixedArray::toArray — Returns a PHP array from the fixed array
  • SplFixedArray::valid — Check whether the array contains more elements
  • SplFixedArray::__wakeup — Reinitialises the array after being unserialised


Constructs a new fixed array

  • « SplFixedArray
  • SplFixedArray::count »
  • PHP Manual
  • SplFixedArray
  • Constructs a new fixed array

SplFixedArray::__construct

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::__construct — Constructs a new fixed array

Descrição

public SplFixedArray::__construct ( int $size = 0 )

Initializes a fixed array with a number of null values equal to size.

Parâmetros

size

The size of the fixed array. This expects a number between 0 and PHP_INT_MAX.

Valor Retornado

Não há valor retornado.

Erros

Throws InvalidArgumentException when size is a negative number.

Raises E_WARNING when size cannot be parsed as a number.

Exemplos

Exemplo #1 SplFixedArray::__construct() example

<?php
$array = new SplFixedArray(5);

$array[1] = 2;
$array[4] = "foo";

foreach($array as $v) {
  var_dump($v);
}
?>

O exemplo acima irá imprimir:

NULL
int(2)
NULL
NULL
string(3) "foo"


Returns the size of the array

  • « SplFixedArray::__construct
  • SplFixedArray::current »
  • PHP Manual
  • SplFixedArray
  • Returns the size of the array

SplFixedArray::count

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::count — Returns the size of the array

Descrição

public SplFixedArray::count ( ) : int

Returns the size of the array.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the size of the array.

Exemplos

Exemplo #1 SplFixedArray::count() example

<?php
$array = new SplFixedArray(5);
echo $array->count() . "\n";
echo count($array) . "\n";
?>

O exemplo acima irá imprimir:

5
5

Notas

Nota:

This method is functionally equivalent to SplFixedArray::getSize().

Nota:

The count of elements is always equal to the set size because all values are initially initialized with null.

Veja Também

  • SplFixedArray::getSize() - Gets the size of the array


Return current array entry

  • « SplFixedArray::count
  • SplFixedArray::fromArray »
  • PHP Manual
  • SplFixedArray
  • Return current array entry

SplFixedArray::current

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::current — Return current array entry

Descrição

public SplFixedArray::current ( ) : mixed

Get the current array element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current element value.

Erros

Throws RuntimeException when the internal array pointer points to an invalid index or is out of bounds.


Import a PHP array in a SplFixedArray instance

  • « SplFixedArray::current
  • SplFixedArray::getSize »
  • PHP Manual
  • SplFixedArray
  • Import a PHP array in a SplFixedArray instance

SplFixedArray::fromArray

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::fromArray — Import a PHP array in a SplFixedArray instance

Descrição

public static SplFixedArray::fromArray ( array $array , bool $save_indexes = true ) : SplFixedArray

Import the PHP array array in a new SplFixedArray instance

Parâmetros

array

The array to import.

save_indexes

Try to save the numeric indexes used in the original array.

Valor Retornado

Returns an instance of SplFixedArray containing the array content.

Exemplos

Exemplo #1 SplFixedArray::fromArray() example

<?php
$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3));

var_dump($fa);

$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3), false);

var_dump($fa);
?>

O exemplo acima irá imprimir:

object(SplFixedArray)#1 (4) {
  [0]=>
  int(2)
  [1]=>
  int(1)
  [2]=>
  NULL
  [3]=>
  int(3)
}
object(SplFixedArray)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Gets the size of the array

  • « SplFixedArray::fromArray
  • SplFixedArray::key »
  • PHP Manual
  • SplFixedArray
  • Gets the size of the array

SplFixedArray::getSize

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::getSize — Gets the size of the array

Descrição

public SplFixedArray::getSize ( ) : int

Gets the size of the array.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the size of the array, as an int.

Exemplos

Exemplo #1 SplFixedArray::getSize() example

<?php
$array = new SplFixedArray(5);
echo $array->getSize()."\n";
$array->setSize(10);
echo $array->getSize()."\n";
?>

O exemplo acima irá imprimir:

5
10

Notas

Nota:

This method is functionally equivalent to SplFixedArray::count()

Veja Também

  • SplFixedArray::count() - Returns the size of the array


Return current array index

  • « SplFixedArray::getSize
  • SplFixedArray::next »
  • PHP Manual
  • SplFixedArray
  • Return current array index

SplFixedArray::key

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::key — Return current array index

Descrição

public SplFixedArray::key ( ) : int

Returns the current array index.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current array index.


Move to next entry

  • « SplFixedArray::key
  • SplFixedArray::offsetExists »
  • PHP Manual
  • SplFixedArray
  • Move to next entry

SplFixedArray::next

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::next — Move to next entry

Descrição

public SplFixedArray::next ( ) : void

Move the iterator to the next array entry.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Returns whether the requested index exists

  • « SplFixedArray::next
  • SplFixedArray::offsetGet »
  • PHP Manual
  • SplFixedArray
  • Returns whether the requested index exists

SplFixedArray::offsetExists

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::offsetExists — Returns whether the requested index exists

Descrição

public SplFixedArray::offsetExists ( int $index ) : bool

Checks whether the requested index index exists.

Parâmetros

index

The index being checked.

Valor Retornado

true if the requested index exists, otherwise false


Returns the value at the specified index

  • « SplFixedArray::offsetExists
  • SplFixedArray::offsetSet »
  • PHP Manual
  • SplFixedArray
  • Returns the value at the specified index

SplFixedArray::offsetGet

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::offsetGet — Returns the value at the specified index

Descrição

public SplFixedArray::offsetGet ( int $index ) : mixed

Returns the value at the index index.

Parâmetros

index

The index with the value.

Valor Retornado

The value at the specified index.

Erros

Throws RuntimeException when index is outside the defined size of the array or when index cannot be parsed as an integer.


Sets a new value at a specified index

  • « SplFixedArray::offsetGet
  • SplFixedArray::offsetUnset »
  • PHP Manual
  • SplFixedArray
  • Sets a new value at a specified index

SplFixedArray::offsetSet

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::offsetSet — Sets a new value at a specified index

Descrição

public SplFixedArray::offsetSet ( int $index , mixed $newval ) : void

Sets the value at the specified index to newval.

Parâmetros

index

The index being set.

newval

The new value for the index.

Valor Retornado

Não há valor retornado.

Erros

Throws RuntimeException when index is outside the defined size of the array or when index cannot be parsed as an integer.


Unsets the value at the specified $index

  • « SplFixedArray::offsetSet
  • SplFixedArray::rewind »
  • PHP Manual
  • SplFixedArray
  • Unsets the value at the specified $index

SplFixedArray::offsetUnset

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::offsetUnset — Unsets the value at the specified $index

Descrição

public SplFixedArray::offsetUnset ( int $index ) : void

Unsets the value at the specified index.

Parâmetros

index

The index being unset.

Valor Retornado

Não há valor retornado.

Erros

Throws RuntimeException when index is outside the defined size of the array or when index cannot be parsed as an integer.


Rewind iterator back to the start

  • « SplFixedArray::offsetUnset
  • SplFixedArray::setSize »
  • PHP Manual
  • SplFixedArray
  • Rewind iterator back to the start

SplFixedArray::rewind

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::rewind — Rewind iterator back to the start

Descrição

public SplFixedArray::rewind ( ) : void

Rewinds the iterator to the beginning.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Change the size of an array

  • « SplFixedArray::rewind
  • SplFixedArray::toArray »
  • PHP Manual
  • SplFixedArray
  • Change the size of an array

SplFixedArray::setSize

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::setSize — Change the size of an array

Descrição

public SplFixedArray::setSize ( int $size ) : bool

Change the size of an array to the new size of size. If size is less than the current array size, any values after the new size will be discarded. If size is greater than the current array size, the array will be padded with null values.

Parâmetros

size

The new array size. This should be a value between 0 and PHP_INT_MAX.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Throws InvalidArgumentException when size is less than zero.

Raises E_WARNING when size cannot be used as a number.

Exemplos

Exemplo #1 SplFixedArray::setSize() example

<?php
   $array = new SplFixedArray(5);
   echo $array->getSize()."\n";
   $array->setSize(10);
   echo $array->getSize()."\n";
?>

O exemplo acima irá imprimir:

5
10


Returns a PHP array from the fixed array

  • « SplFixedArray::setSize
  • SplFixedArray::valid »
  • PHP Manual
  • SplFixedArray
  • Returns a PHP array from the fixed array

SplFixedArray::toArray

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::toArray — Returns a PHP array from the fixed array

Descrição

public SplFixedArray::toArray ( ) : array

Returns a PHP array from the fixed array.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a PHP array, similar to the fixed array.

Exemplos

Exemplo #1 SplFixedArray::toArray() example

<?php
$fa = new SplFixedArray(3);
$fa[0] = 0;
$fa[2] = 2;
var_dump($fa->toArray());
?>

O exemplo acima irá imprimir:

array(3) {
  [0]=>
  int(0)
  [1]=>
  NULL
  [2]=>
  int(2)
}


Check whether the array contains more elements

  • « SplFixedArray::toArray
  • SplFixedArray::__wakeup »
  • PHP Manual
  • SplFixedArray
  • Check whether the array contains more elements

SplFixedArray::valid

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::valid — Check whether the array contains more elements

Descrição

public SplFixedArray::valid ( ) : bool

Checks if the array contains any more elements.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the array contains any more elements, false otherwise.


Reinitialises the array after being unserialised

  • « SplFixedArray::valid
  • SplObjectStorage »
  • PHP Manual
  • SplFixedArray
  • Reinitialises the array after being unserialised

SplFixedArray::__wakeup

(PHP 5 >= 5.5.0, PHP 7)

SplFixedArray::__wakeup — Reinitialises the array after being unserialised

Descrição

public SplFixedArray::__wakeup ( ) : void

Reinitialises the array after being unserialised.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


The SplObjectStorage class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

The SplObjectStorage class provides a map from objects to data or, by ignoring data, an object set. This dual purpose can be useful in many cases involving the need to uniquely identify objects.

Sinopse da classe

SplObjectStorage implements Countable , Iterator , Serializable , ArrayAccess {
/* Métodos */
public addAll ( SplObjectStorage $storage ) : void
public attach ( object $object , mixed $data = null ) : void
public contains ( object $object ) : bool
public count ( ) : int
public current ( ) : object
public detach ( object $object ) : void
public getHash ( object $object ) : string
public getInfo ( ) : mixed
public key ( ) : int
public next ( ) : void
public offsetExists ( object $object ) : bool
public offsetGet ( object $object ) : mixed
public offsetSet ( object $object , mixed $data = null ) : void
public offsetUnset ( object $object ) : void
public removeAll ( SplObjectStorage $storage ) : void
public removeAllExcept ( SplObjectStorage $storage ) : void
public rewind ( ) : void
public serialize ( ) : string
public setInfo ( mixed $data ) : void
public unserialize ( string $serialized ) : void
public valid ( ) : bool
}

Exemplos

Exemplo #1 SplObjectStorage as a set

<?php
// As an object set
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;
$o3 = new StdClass;

$s->attach($o1);
$s->attach($o2);

var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));

$s->detach($o2);

var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Exemplo #2 SplObjectStorage as a map

<?php
// As a map from objects to data
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;
$o3 = new StdClass;

$s[$o1] = "data for object 1";
$s[$o2] = array(1,2,3);

if (isset($s[$o2])) {
    var_dump($s[$o2]);
}
?>

O exemplo acima irá imprimir:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

Índice

  • SplObjectStorage::addAll — Adds all objects from another storage
  • SplObjectStorage::attach — Adds an object in the storage
  • SplObjectStorage::contains — Checks if the storage contains a specific object
  • SplObjectStorage::count — Returns the number of objects in the storage
  • SplObjectStorage::current — Returns the current storage entry
  • SplObjectStorage::detach — Removes an object from the storage
  • SplObjectStorage::getHash — Calculate a unique identifier for the contained objects
  • SplObjectStorage::getInfo — Returns the data associated with the current iterator entry
  • SplObjectStorage::key — Returns the index at which the iterator currently is
  • SplObjectStorage::next — Move to the next entry
  • SplObjectStorage::offsetExists — Checks whether an object exists in the storage
  • SplObjectStorage::offsetGet — Returns the data associated with an object
  • SplObjectStorage::offsetSet — Associates data to an object in the storage
  • SplObjectStorage::offsetUnset — Removes an object from the storage
  • SplObjectStorage::removeAll — Removes objects contained in another storage from the current storage
  • SplObjectStorage::removeAllExcept — Removes all objects except for those contained in another storage from the current storage
  • SplObjectStorage::rewind — Rewind the iterator to the first storage element
  • SplObjectStorage::serialize — Serializes the storage
  • SplObjectStorage::setInfo — Sets the data associated with the current iterator entry
  • SplObjectStorage::unserialize — Unserializes a storage from its string representation
  • SplObjectStorage::valid — Returns if the current iterator entry is valid


Adds all objects from another storage

  • « SplObjectStorage
  • SplObjectStorage::attach »
  • PHP Manual
  • SplObjectStorage
  • Adds all objects from another storage

SplObjectStorage::addAll

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::addAll — Adds all objects from another storage

Descrição

public SplObjectStorage::addAll ( SplObjectStorage $storage ) : void

Adds all objects-data pairs from a different storage in the current storage.

Parâmetros

storage

The storage you want to import.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplObjectStorage::addAll() example

<?php
$o = new StdClass;
$a = new SplObjectStorage();
$a[$o] = "hello";

$b = new SplObjectStorage();
$b->addAll($a);
echo $b[$o]."\n";
?>

O exemplo acima irá imprimir algo similar à:

hello

Veja Também

  • SplObjectStorage::removeAll() - Removes objects contained in another storage from the current storage


Adds an object in the storage

  • « SplObjectStorage::addAll
  • SplObjectStorage::contains »
  • PHP Manual
  • SplObjectStorage
  • Adds an object in the storage

SplObjectStorage::attach

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::attach — Adds an object in the storage

Descrição

public SplObjectStorage::attach ( object $object , mixed $data = null ) : void

Adds an object inside the storage, and optionally associate it to some data.

Parâmetros

object

The object to add.

data

The data to associate with the object.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplObjectStorage::attach() example

<?php
$o1 = new StdClass;
$o2 = new StdClass;
$s = new SplObjectStorage();
$s->attach($o1); // similar to $s[$o1] = NULL;
$s->attach($o2, "hello"); // similar to $s[$o2] = "hello";

var_dump($s[$o1]);
var_dump($s[$o2]);

?>

O exemplo acima irá imprimir algo similar à:

NULL
string(5) "hello"

Veja Também

  • SplObjectStorage::detach() - Removes an object from the storage
  • SplObjectStorage::offsetSet() - Associates data to an object in the storage


Checks if the storage contains a specific object

  • « SplObjectStorage::attach
  • SplObjectStorage::count »
  • PHP Manual
  • SplObjectStorage
  • Checks if the storage contains a specific object

SplObjectStorage::contains

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::contains — Checks if the storage contains a specific object

Descrição

public SplObjectStorage::contains ( object $object ) : bool

Checks if the storage contains the object provided.

Parâmetros

object

The object to look for.

Valor Retornado

Returns true if the object is in the storage, false otherwise.

Exemplos

Exemplo #1 SplObjectStorage::contains() example

<?php
$o1 = new StdClass;
$o2 = new StdClass;

$s = new SplObjectStorage();

$s[$o1] = "hello";
var_dump($s->contains($o1));
var_dump($s->contains($o2));
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(false)

Veja Também

  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage


Returns the number of objects in the storage

  • « SplObjectStorage::contains
  • SplObjectStorage::current »
  • PHP Manual
  • SplObjectStorage
  • Returns the number of objects in the storage

SplObjectStorage::count

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::count — Returns the number of objects in the storage

Descrição

public SplObjectStorage::count ( ) : int

Counts the number of objects in the storage.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of objects in the storage.

Exemplos

Exemplo #1 SplObjectStorage::count() example

<?php
$s = new SplObjectStorage();
$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1);
$s->attach($o2);
$s->attach($o1);
var_dump($s->count());
var_dump(count($s));
?>

O exemplo acima irá imprimir algo similar à:

int(2)
int(2)

Veja Também

  • SplObjectStorage::attach() - Adds an object in the storage
  • SplObjectStorage::detach() - Removes an object from the storage


Returns the current storage entry

  • « SplObjectStorage::count
  • SplObjectStorage::detach »
  • PHP Manual
  • SplObjectStorage
  • Returns the current storage entry

SplObjectStorage::current

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::current — Returns the current storage entry

Descrição

public SplObjectStorage::current ( ) : object

Returns the current storage entry.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The object at the current iterator position.

Exemplos

Exemplo #1 SplObjectStorage::current() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

O exemplo acima irá imprimir algo similar à:

object(stdClass)#2 (0) {
}
string(2) "d1"
object(stdClass)#3 (0) {
}
string(2) "d2"

Veja Também

  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::key() - Returns the index at which the iterator currently is
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid
  • SplObjectStorage::getInfo() - Returns the data associated with the current iterator entry


Removes an object from the storage

  • « SplObjectStorage::current
  • SplObjectStorage::getHash »
  • PHP Manual
  • SplObjectStorage
  • Removes an object from the storage

SplObjectStorage::detach

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::detach — Removes an object from the storage

Descrição

public SplObjectStorage::detach ( object $object ) : void

Removes the object from the storage.

Parâmetros

object

The object to remove.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplObjectStorage::detach() example

<?php
$o = new StdClass;
$s = new SplObjectStorage();
$s->attach($o);
var_dump(count($s));
$s->detach($o);
var_dump(count($s));
?>

O exemplo acima irá imprimir algo similar à:

int(1)
int(0)

Veja Também

  • SplObjectStorage::attach() - Adds an object in the storage
  • SplObjectStorage::removeAll() - Removes objects contained in another storage from the current storage


Calculate a unique identifier for the contained objects

  • « SplObjectStorage::detach
  • SplObjectStorage::getInfo »
  • PHP Manual
  • SplObjectStorage
  • Calculate a unique identifier for the contained objects

SplObjectStorage::getHash

(PHP 5 >= 5.4.0, PHP 7)

SplObjectStorage::getHash — Calculate a unique identifier for the contained objects

Descrição

public SplObjectStorage::getHash ( object $object ) : string

This method calculates an identifier for the objects added to an SplObjectStorage object.

The implementation in SplObjectStorage returns the same value as spl_object_hash().

The storage object will never contain more than one object with the same identifier. As such, it can be used to implement a set (a collection of unique values) where the quality of an object being unique is determined by the value returned by this function being unique.

Parâmetros

object

The object whose identifier is to be calculated.

Valor Retornado

A string with the calculated identifier.

Erros

A RuntimeException is thrown when the returned value is not a string.

Exemplos

Exemplo #1 SplObjectStorage::getHash() example

<?php
class OneSpecimenPerClassStorage extends SplObjectStorage {
    public function getHash($o) {
        return get_class($o);
    }
}
class A {}

$s = new OneSpecimenPerClassStorage;
$o1 = new stdClass;
$o2 = new stdClass;
$o3 = new A;

$s[$o1] = 1;
//$o2 is considered equal to $o1 so the value is replaced
$s[$o2] = 2;
$s[$o3] = 3;

//these are considered equal to the objects before
//so they can be used to access the values stored under them
$p1 = new stdClass;
$p2 = new A;
echo $s[$p1], "\n";
echo $s[$p2], "\n";
?>

O exemplo acima irá imprimir algo similar à:

2
3

Veja Também

  • spl_object_hash() - Retorna uma identificação hash do objeto dado


Returns the data associated with the current iterator entry

  • « SplObjectStorage::getHash
  • SplObjectStorage::key »
  • PHP Manual
  • SplObjectStorage
  • Returns the data associated with the current iterator entry

SplObjectStorage::getInfo

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::getInfo — Returns the data associated with the current iterator entry

Descrição

public SplObjectStorage::getInfo ( ) : mixed

Returns the data, or info, associated with the object pointed by the current iterator position.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The data associated with the current iterator position.

Exemplos

Exemplo #1 SplObjectStorage::getInfo() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

O exemplo acima irá imprimir algo similar à:

object(stdClass)#2 (0) {
}
string(2) "d1"
object(stdClass)#3 (0) {
}
string(2) "d2"

Veja Também

  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::key() - Returns the index at which the iterator currently is
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid
  • SplObjectStorage::setInfo() - Sets the data associated with the current iterator entry


Returns the index at which the iterator currently is

  • « SplObjectStorage::getInfo
  • SplObjectStorage::next »
  • PHP Manual
  • SplObjectStorage
  • Returns the index at which the iterator currently is

SplObjectStorage::key

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::key — Returns the index at which the iterator currently is

Descrição

public SplObjectStorage::key ( ) : int

Returns the index at which the iterator currently is.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The index corresponding to the position of the iterator.

Exemplos

Exemplo #1 SplObjectStorage::key() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)

    var_dump($index);
    var_dump($object);
    $s->next();
}
?>

O exemplo acima irá imprimir algo similar à:

int(0)
object(stdClass)#2 (0) {
}
int(1)
object(stdClass)#3 (0) {
}

Veja Também

  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid


Move to the next entry

  • « SplObjectStorage::key
  • SplObjectStorage::offsetExists »
  • PHP Manual
  • SplObjectStorage
  • Move to the next entry

SplObjectStorage::next

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::next — Move to the next entry

Descrição

public SplObjectStorage::next ( ) : void

Moves the iterator to the next object in the storage.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplObjectStorage::next() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)

    var_dump($index);
    var_dump($object);
    $s->next();
}
?>

O exemplo acima irá imprimir algo similar à:

int(0)
object(stdClass)#2 (0) {
}
int(1)
object(stdClass)#3 (0) {
}

Veja Também

  • SPLObjectStorage::rewind() - Rewind the iterator to the first storage element


Checks whether an object exists in the storage

  • « SplObjectStorage::next
  • SplObjectStorage::offsetGet »
  • PHP Manual
  • SplObjectStorage
  • Checks whether an object exists in the storage

SplObjectStorage::offsetExists

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::offsetExists — Checks whether an object exists in the storage

Descrição

public SplObjectStorage::offsetExists ( object $object ) : bool

Checks whether an object exists in the storage.

Nota:

SplObjectStorage::offsetExists() is an alias of SplObjectStorage::contains().

Parâmetros

object

The object to look for.

Valor Retornado

Returns true if the object exists in the storage, and false otherwise.

Exemplos

Exemplo #1 SplObjectStorage::offsetExists() example

<?php
$s = new SplObjectStorage;
$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1);

var_dump($s->offsetExists($o1)); // Similar to isset($s[$o1])
var_dump($s->offsetExists($o2)); // Similar to isset($s[$o2])
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(false)

Veja Também

  • SplObjectStorage::offsetSet() - Associates data to an object in the storage
  • SplObjectStorage::offsetGet() - Returns the data associated with an object
  • SplObjectStorage::offsetUnset() - Removes an object from the storage


Returns the data associated with an object

  • « SplObjectStorage::offsetExists
  • SplObjectStorage::offsetSet »
  • PHP Manual
  • SplObjectStorage
  • Returns the data associated with an object

SplObjectStorage::offsetGet

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::offsetGet — Returns the data associated with an object

Descrição

public SplObjectStorage::offsetGet ( object $object ) : mixed

Returns the data associated with an object in the storage.

Parâmetros

object

The object to look for.

Valor Retornado

The data previously associated with the object in the storage.

Erros

Throws UnexpectedValueException when object could not be found.

Exemplos

Exemplo #1 SplObjectStorage::offsetGet() example

<?php
$s = new SplObjectStorage;

$o1 = new StdClass;
$o2 = new StdClass;

$s[$o1] = "hello";
$s->attach($o2);

var_dump($s->offsetGet($o1)); // Similar to $s[$o1]
var_dump($s->offsetGet($o2)); // Similar to $s[$o2]
?>

O exemplo acima irá imprimir algo similar à:

string(5) "hello"
NULL

Veja Também

  • SplObjectStorage::offsetSet() - Associates data to an object in the storage
  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage
  • SplObjectStorage::offsetUnset() - Removes an object from the storage


Associates data to an object in the storage

  • « SplObjectStorage::offsetGet
  • SplObjectStorage::offsetUnset »
  • PHP Manual
  • SplObjectStorage
  • Associates data to an object in the storage

SplObjectStorage::offsetSet

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::offsetSet — Associates data to an object in the storage

Descrição

public SplObjectStorage::offsetSet ( object $object , mixed $data = null ) : void

Associate data to an object in the storage.

Nota:

SplObjectStorage::offsetSet() is an alias of SplObjectStorage::attach().

Parâmetros

object

The object to associate data with.

data

The data to associate with the object.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplObjectStorage::offsetSet() example

<?php
$s = new SplObjectStorage;

$o1 = new StdClass;

$s->offsetSet($o1, "hello"); // Similar to $s[$o1] = "hello";

var_dump($s[$o1]);
?>

O exemplo acima irá imprimir algo similar à:

string(5) "hello"

Veja Também

  • SplObjectStorage::attach() - Adds an object in the storage
  • SplObjectStorage::offsetGet() - Returns the data associated with an object
  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage
  • SplObjectStorage::offsetUnset() - Removes an object from the storage


Removes an object from the storage

  • « SplObjectStorage::offsetSet
  • SplObjectStorage::removeAll »
  • PHP Manual
  • SplObjectStorage
  • Removes an object from the storage

SplObjectStorage::offsetUnset

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::offsetUnset — Removes an object from the storage

Descrição

public SplObjectStorage::offsetUnset ( object $object ) : void

Removes an object from the storage.

Nota:

SplObjectStorage::offsetUnset() is an alias of SplObjectStorage::detach().

Parâmetros

object

The object to remove.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplObjectStorage::offsetUnset() example

<?php
$o = new StdClass;
$s = new SplObjectStorage();
$s->attach($o);
var_dump(count($s));
$s->offsetUnset($o); // Similar to unset($s[$o])
var_dump(count($s));
?>

O exemplo acima irá imprimir algo similar à:

int(1)
int(0)

Veja Também

  • SplObjectStorage::offsetGet() - Returns the data associated with an object
  • SplObjectStorage::offsetSet() - Associates data to an object in the storage
  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage


Removes objects contained in another storage from the current storage

  • « SplObjectStorage::offsetUnset
  • SplObjectStorage::removeAllExcept »
  • PHP Manual
  • SplObjectStorage
  • Removes objects contained in another storage from the current storage

SplObjectStorage::removeAll

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::removeAll — Removes objects contained in another storage from the current storage

Descrição

public SplObjectStorage::removeAll ( SplObjectStorage $storage ) : void

Removes objects contained in another storage from the current storage.

Parâmetros

storage

The storage containing the elements to remove.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplObjectStorage::removeAll() example

<?php
$o1 = new StdClass;
$o2 = new StdClass;
$a = new SplObjectStorage();
$a[$o1] = "foo";

$b = new SplObjectStorage();
$b[$o1] = "bar";
$b[$o2] = "gee";

var_dump(count($b));
$b->removeAll($a);
var_dump(count($b));
?>

O exemplo acima irá imprimir algo similar à:

int(2)
int(1)

Veja Também

  • SplObjectStorage::addAll() - Adds all objects from another storage


Removes all objects except for those contained in another storage from the current storage

  • « SplObjectStorage::removeAll
  • SplObjectStorage::rewind »
  • PHP Manual
  • SplObjectStorage
  • Removes all objects except for those contained in another storage from the current storage

SplObjectStorage::removeAllExcept

(PHP 5 >= 5.3.6, PHP 7)

SplObjectStorage::removeAllExcept — Removes all objects except for those contained in another storage from the current storage

Descrição

public SplObjectStorage::removeAllExcept ( SplObjectStorage $storage ) : void

Removes all objects except for those contained in another storage from the current storage.

Parâmetros

storage

The storage containing the elements to retain in the current storage.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplObjectStorage::removeAllExcept() example

<?php
$a = (object) 'a';
$b = (object) 'b';
$c = (object) 'c';

$foo = new SplObjectStorage;
$foo->attach($a);
$foo->attach($b);

$bar = new SplObjectStorage;
$bar->attach($b);
$bar->attach($c);

$foo->removeAllExcept($bar);
var_dump($foo->contains($a));
var_dump($foo->contains($b));
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)


Rewind the iterator to the first storage element

  • « SplObjectStorage::removeAllExcept
  • SplObjectStorage::serialize »
  • PHP Manual
  • SplObjectStorage
  • Rewind the iterator to the first storage element

SplObjectStorage::rewind

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::rewind — Rewind the iterator to the first storage element

Descrição

public SplObjectStorage::rewind ( ) : void

Rewind the iterator to the first storage element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplObjectStorage::rewind() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

O exemplo acima irá imprimir algo similar à:

int(1)
int(0)

Veja Também

  • SplObjectStorage::next() - Move to the next entry


Serializes the storage

  • « SplObjectStorage::rewind
  • SplObjectStorage::setInfo »
  • PHP Manual
  • SplObjectStorage
  • Serializes the storage

SplObjectStorage::serialize

(PHP 5 >= 5.2.2, PHP 7)

SplObjectStorage::serialize — Serializes the storage

Descrição

public SplObjectStorage::serialize ( ) : string

Returns a string representation of the storage.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A string representing the storage.

Exemplos

Exemplo #1 SplObjectStorage::serialize() example

<?php
$s = new SplObjectStorage;
$o = new StdClass;
$s[$o] = "data";

echo $s->serialize()."\n";
?>

O exemplo acima irá imprimir algo similar à:

x:i:1;O:8:"stdClass":0:{},s:4:"data";;m:a:0:{}

Veja Também

  • SplObjectStorage::unserialize() - Unserializes a storage from its string representation


Sets the data associated with the current iterator entry

  • « SplObjectStorage::serialize
  • SplObjectStorage::unserialize »
  • PHP Manual
  • SplObjectStorage
  • Sets the data associated with the current iterator entry

SplObjectStorage::setInfo

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::setInfo — Sets the data associated with the current iterator entry

Descrição

public SplObjectStorage::setInfo ( mixed $data ) : void

Associates data, or info, with the object currently pointed to by the iterator.

Parâmetros

data

The data to associate with the current iterator entry.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplObjectStorage::setInfo() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $s->setInfo("new");
    $s->next();
}
var_dump($s[$o1]);
var_dump($s[$o2]);
?>

O exemplo acima irá imprimir algo similar à:

string(3) "new"
string(3) "new"

Veja Também

  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::key() - Returns the index at which the iterator currently is
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid
  • SplObjectStorage::getInfo() - Returns the data associated with the current iterator entry


Unserializes a storage from its string representation

  • « SplObjectStorage::setInfo
  • SplObjectStorage::valid »
  • PHP Manual
  • SplObjectStorage
  • Unserializes a storage from its string representation

SplObjectStorage::unserialize

(PHP 5 >= 5.2.2, PHP 7)

SplObjectStorage::unserialize — Unserializes a storage from its string representation

Descrição

public SplObjectStorage::unserialize ( string $serialized ) : void

Unserializes storage entries and attach them to the current storage.

Parâmetros

serialized

The serialized representation of a storage.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplObjectStorage::unserialize() example

<?php
$s1 = new SplObjectStorage;
$s2 = new SplObjectStorage;
$o = new StdClass;
$s1[$o] = "data";

$s2->unserialize($s1->serialize());

var_dump(count($s2));
?>

O exemplo acima irá imprimir algo similar à:

int(1)

Veja Também

  • SplObjectStorage::serialize() - Serializes the storage


Returns if the current iterator entry is valid

  • « SplObjectStorage::unserialize
  • Iteradores »
  • PHP Manual
  • SplObjectStorage
  • Returns if the current iterator entry is valid

SplObjectStorage::valid

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::valid — Returns if the current iterator entry is valid

Descrição

public SplObjectStorage::valid ( ) : bool

Returns if the current iterator entry is valid.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the iterator entry is valid, false otherwise.

Exemplos

Exemplo #1 SplObjectStorage::valid() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    echo $s->key()."\n";
    $s->next();
}
?>

O exemplo acima irá imprimir algo similar à:

0
1

Veja Também

  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::getInfo() - Returns the data associated with the current iterator entry


Iteradores

Índice

  • AppendIterator
  • ArrayIterator
  • CachingIterator
  • CallbackFilterIterator
  • DirectoryIterator
  • EmptyIterator
  • FilesystemIterator
  • FilterIterator
  • GlobIterator
  • InfiniteIterator
  • IteratorIterator
  • LimitIterator
  • MultipleIterator
  • NoRewindIterator
  • ParentIterator
  • RecursiveArrayIterator
  • RecursiveCachingIterator
  • RecursiveCallbackFilterIterator
  • RecursiveDirectoryIterator
  • RecursiveFilterIterator
  • RecursiveIteratorIterator
  • RecursiveRegexIterator
  • RecursiveTreeIterator
  • RegexIterator

O SPL fornece um conjunto de interadores para percorrer objetos.

SPL Iterators Class Tree

  • ArrayIterator
    • RecursiveArrayIterator
  • EmptyIterator
  • IteratorIterator
    • AppendIterator
    • CachingIterator
      • RecursiveCachingIterator
    • FilterIterator
      • CallbackFilterIterator
        • RecursiveCallbackFilterIterator
      • RecursiveFilterIterator
        • ParentIterator
      • RegexIterator
        • RecursiveRegexIterator
    • InfiniteIterator
    • LimitIterator
    • NoRewindIterator
  • MultipleIterator
  • RecursiveIteratorIterator
    • RecursiveTreeIterator
  • DirectoryIterator (extends SplFileInfo)
    • FilesystemIterator
      • GlobIterator
      • RecursiveDirectoryIterator


The AppendIterator class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

An Iterator that iterates over several iterators one after the other.

Sinopse da classe

AppendIterator extends IteratorIterator implements OuterIterator {
/* Métodos */
public __construct ( )
public append ( Iterator $iterator ) : void
public current ( ) : mixed
public getArrayIterator ( ) : ArrayIterator
public getInnerIterator ( ) : Iterator
public getIteratorIndex ( ) : int
public key ( ) : scalar
public next ( ) : void
public rewind ( ) : void
public valid ( ) : bool
/* Métodos herdados */
public IteratorIterator::__construct ( Traversable $iterator )
public IteratorIterator::current ( ) : mixed
public IteratorIterator::getInnerIterator ( ) : Traversable
public IteratorIterator::key ( ) : mixed
public IteratorIterator::next ( ) : void
public IteratorIterator::rewind ( ) : void
public IteratorIterator::valid ( ) : bool
}

Índice

  • AppendIterator::append — Appends an iterator
  • AppendIterator::__construct — Constructs an AppendIterator
  • AppendIterator::current — Gets the current value
  • AppendIterator::getArrayIterator — Gets the ArrayIterator
  • AppendIterator::getInnerIterator — Gets the inner iterator
  • AppendIterator::getIteratorIndex — Gets an index of iterators
  • AppendIterator::key — Gets the current key
  • AppendIterator::next — Moves to the next element
  • AppendIterator::rewind — Rewinds the Iterator
  • AppendIterator::valid — Checks validity of the current element


Appends an iterator

  • « AppendIterator
  • AppendIterator::__construct »
  • PHP Manual
  • AppendIterator
  • Appends an iterator

AppendIterator::append

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::append — Appends an iterator

Descrição

public AppendIterator::append ( Iterator $iterator ) : void

Appends an iterator.

Parâmetros

iterator

The iterator to append.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 AppendIterator::append() example

<?php
$array_a = new ArrayIterator(array('a', 'b', 'c'));
$array_b = new ArrayIterator(array('d', 'e', 'f'));

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

foreach ($iterator as $current) {
    echo $current;
}
?>

O exemplo acima irá imprimir:

abcdef

Veja Também

  • AppendIterator::__construct() - Constructs an AppendIterator


Constructs an AppendIterator

  • « AppendIterator::append
  • AppendIterator::current »
  • PHP Manual
  • AppendIterator
  • Constructs an AppendIterator

AppendIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::__construct — Constructs an AppendIterator

Descrição

public AppendIterator::__construct ( )

Constructs an AppendIterator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Iterating AppendIterator with foreach

<?php
$pizzas   = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
$toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));

$appendIterator = new AppendIterator;
$appendIterator->append($pizzas);
$appendIterator->append($toppings);

foreach ($appendIterator as $key => $item) {
    echo $key . ' => ' . $item . PHP_EOL;
}
?>

O exemplo acima irá imprimir:

0 => Margarita
1 => Siciliana
2 => Hawaii
0 => Cheese
1 => Anchovies
2 => Olives
3 => Pineapple
4 => Ham

Exemplo #2 Iterating AppendIterator with the AppendIterator API

<?php
$pizzas   = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
$toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));

$appendIterator = new AppendIterator;
$appendIterator->append($pizzas);
$appendIterator->append($toppings);

while ($appendIterator->valid()) {
    printf(
        '%s => %s => %s%s',
        $appendIterator->getIteratorIndex(),
        $appendIterator->key(),
        $appendIterator->current(),
        PHP_EOL
    );
    $appendIterator->next();
}
?>

O exemplo acima irá imprimir:

0 => 0 => Margarita
0 => 1 => Siciliana
0 => 2 => Hawaii
1 => 0 => Cheese
1 => 1 => Anchovies
1 => 2 => Olives
1 => 3 => Pineapple
1 => 4 => Ham

Notas

Cuidado

When using iterator_to_array() to copy the values of the AppendIterator into an array, you have to set the optional use_key argument to false. When use_key is not false any keys reoccuring in inner iterators will get overwritten in the returned array. There is no way to preserve the original keys.

Veja Também

  • AppendIterator::append() - Appends an iterator


Gets the current value

  • « AppendIterator::__construct
  • AppendIterator::getArrayIterator »
  • PHP Manual
  • AppendIterator
  • Gets the current value

AppendIterator::current

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::current — Gets the current value

Descrição

public AppendIterator::current ( ) : mixed

Gets the current value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current value if it is valid or null otherwise.

Veja Também

  • Iterator::current() - Return the current element
  • AppendIterator::key() - Gets the current key
  • AppendIterator::valid() - Checks validity of the current element
  • AppendIterator::next() - Moves to the next element
  • AppendIterator::rewind() - Rewinds the Iterator


Gets the ArrayIterator

  • « AppendIterator::current
  • AppendIterator::getInnerIterator »
  • PHP Manual
  • AppendIterator
  • Gets the ArrayIterator

AppendIterator::getArrayIterator

(PHP 5 >= 5.2.0, PHP 7)

AppendIterator::getArrayIterator — Gets the ArrayIterator

Descrição

public AppendIterator::getArrayIterator ( ) : ArrayIterator

This method gets the ArrayIterator that is used to store the iterators added with AppendIterator::append().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an ArrayIterator containing the appended iterators.

Veja Também

  • AppendIterator::getInnerIterator() - Gets the inner iterator


Gets the inner iterator

  • « AppendIterator::getArrayIterator
  • AppendIterator::getIteratorIndex »
  • PHP Manual
  • AppendIterator
  • Gets the inner iterator

AppendIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::getInnerIterator — Gets the inner iterator

Descrição

public AppendIterator::getInnerIterator ( ) : Iterator

This method returns the current inner iterator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current inner iterator, or null if there is not one.

Exemplos

Exemplo #1 AppendIterator::getInnerIterator() example

<?php
$array_a = new ArrayIterator(array('a' => 'aardwolf', 'b' => 'bear', 'c' => 'capybara'));
$array_b = new RegexIterator($array_a, '/^[ac]/');

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

foreach ($iterator as $current) {
    $inner = $iterator->getInnerIterator();
    if ($inner instanceOf RegexIterator) {
        echo 'Filtered: ';
    } else {
        echo 'Original: ';
    }
    echo $current . PHP_EOL;
}
?>

O exemplo acima irá imprimir:

Original: aardwolf
Original: bear
Original: capybara
Filtered: aardwolf
Filtered: capybara

Veja Também

  • AppendIterator::getIteratorIndex() - Gets an index of iterators


Gets an index of iterators

  • « AppendIterator::getInnerIterator
  • AppendIterator::key »
  • PHP Manual
  • AppendIterator
  • Gets an index of iterators

AppendIterator::getIteratorIndex

(PHP 5 >= 5.2.0, PHP 7)

AppendIterator::getIteratorIndex — Gets an index of iterators

Descrição

public AppendIterator::getIteratorIndex ( ) : int

Gets the index of the current inner iterator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an int, which is the zero-based index of the current inner iterator.

Exemplos

Exemplo #1 AppendIterator.getIteratorIndex() basic example

<?php
$array_a = new ArrayIterator(array('a' => 'aardwolf', 'b' => 'bear', 'c' => 'capybara'));
$array_b = new ArrayIterator(array('apple', 'orange', 'lemon'));

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

foreach ($iterator as $key => $current) {
    echo $iterator->getIteratorIndex() . '  ' . $key . ' ' . $current . PHP_EOL;
}
?>

O exemplo acima irá imprimir:

0  a aardwolf
0  b bear
0  c capybara
1  0 apple
1  1 orange
1  2 lemon

Veja Também

  • AppendIterator::getInnerIterator() - Gets the inner iterator
  • AppendIterator::getArrayIterator() - Gets the ArrayIterator


Gets the current key

  • « AppendIterator::getIteratorIndex
  • AppendIterator::next »
  • PHP Manual
  • AppendIterator
  • Gets the current key

AppendIterator::key

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::key — Gets the current key

Descrição

public AppendIterator::key ( ) : scalar

Get the current key.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current key if it is valid or null otherwise.

Exemplos

Exemplo #1 AppendIterator::key() basic example

<?php
$array_a = new ArrayIterator(array('a' => 'aardwolf', 'b' => 'bear', 'c' => 'capybara'));
$array_b = new ArrayIterator(array('apple', 'orange', 'lemon'));

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

// Manual iteration
$iterator->rewind();
while ($iterator->valid()) {
    echo $iterator->key() . ' ' . $iterator->current() . PHP_EOL;
    $iterator->next();
}

echo PHP_EOL;

// With foreach
foreach ($iterator as $key => $current) {
    echo $key . ' ' . $current . PHP_EOL;
}
?>

O exemplo acima irá imprimir:

a aardwolf
b bear
c capybara
0 apple
1 orange
2 lemon

a aardwolf
b bear
c capybara
0 apple
1 orange
2 lemon

Veja Também

  • Iterator::key() - Return the key of the current element
  • AppendIterator::current() - Gets the current value
  • AppendIterator::valid() - Checks validity of the current element
  • AppendIterator::next() - Moves to the next element
  • AppendIterator::rewind() - Rewinds the Iterator


Moves to the next element

  • « AppendIterator::key
  • AppendIterator::rewind »
  • PHP Manual
  • AppendIterator
  • Moves to the next element

AppendIterator::next

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::next — Moves to the next element

Descrição

public AppendIterator::next ( ) : void

Moves to the next element. If this means to another Iterator then it rewinds that Iterator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • Iterator::next() - Move forward to next element
  • AppendIterator::current() - Gets the current value
  • AppendIterator::key() - Gets the current key
  • AppendIterator::valid() - Checks validity of the current element
  • AppendIterator::rewind() - Rewinds the Iterator


Rewinds the Iterator

  • « AppendIterator::next
  • AppendIterator::valid »
  • PHP Manual
  • AppendIterator
  • Rewinds the Iterator

AppendIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::rewind — Rewinds the Iterator

Descrição

public AppendIterator::rewind ( ) : void

Rewind to the first element of the first inner Iterator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • Iterator::rewind() - Rewind the Iterator to the first element
  • AppendIterator::current() - Gets the current value
  • AppendIterator::key() - Gets the current key
  • AppendIterator::next() - Moves to the next element
  • AppendIterator::valid() - Checks validity of the current element


Checks validity of the current element

  • « AppendIterator::rewind
  • ArrayIterator »
  • PHP Manual
  • AppendIterator
  • Checks validity of the current element

AppendIterator::valid

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::valid — Checks validity of the current element

Descrição

public AppendIterator::valid ( ) : bool

Checks validity of the current element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the current iteration is valid, false otherwise.

Veja Também

  • AppendIterator::current() - Gets the current value
  • AppendIterator::key() - Gets the current key
  • AppendIterator::next() - Moves to the next element
  • AppendIterator::rewind() - Rewinds the Iterator


A classe ArrayIterator

(PHP 5, PHP 7)

Introdução

Este iterator permite remover e modificar valores e chaves quando iterando arrays e objetos.

Quando você quiser iterar o mesmo array múltiplas vezes você precisa instanciar ArrayObject e criar instâncias de ArrayIterator que é consultado usando foreach ou chamando o método getIterator() diretamente.

Sinopse da classe

ArrayIterator implements ArrayAccess , SeekableIterator , Countable , Serializable {
/* Constantes */
const integer STD_PROP_LIST = 1 ;
const integer ARRAY_AS_PROPS = 2 ;
/* Métodos */
public append ( mixed $value ) : void
public asort ( ) : void
public __construct ( mixed $array = array() , int $flags = 0 )
public count ( ) : int
current ( ) : mixed
public getArrayCopy ( ) : array
public getFlags ( ) : void
key ( ) : mixed
public ksort ( ) : void
public natcasesort ( ) : void
public natsort ( ) : void
next ( ) : void
public offsetExists ( mixed $index ) : bool
public offsetGet ( mixed $index ) : mixed
public offsetSet ( mixed $index , mixed $newval ) : void
public offsetUnset ( mixed $index ) : void
rewind ( ) : void
seek ( int $position ) : void
public serialize ( ) : string
public setFlags ( string $flags ) : void
public uasort ( callable $cmp_function ) : void
public uksort ( callable $cmp_function ) : void
public unserialize ( string $serialized ) : void
valid ( ) : bool
}

Constantes pré-definidas

Flags

ArrayIterator::STD_PROP_LIST

Propriedades do objeto mantém sua funcionalidade normal quando acessadas como lista (var_dump, foreach, etc.).

ArrayIterator::ARRAY_AS_PROPS

Elementos podem ser acessados como propriedades (leitura e escrita).

Índice

  • ArrayIterator::append — Append an element
  • ArrayIterator::asort — Sort array by values
  • ArrayIterator::__construct — Construct an ArrayIterator
  • ArrayIterator::count — Conta os elementos
  • ArrayIterator::current — Retorna o valor do elemento atual do array
  • ArrayIterator::getArrayCopy — Get array copy
  • ArrayIterator::getFlags — Retorna as flags de comportamento
  • ArrayIterator::key — Retorna a chave do elemento atual do array
  • ArrayIterator::ksort — Sort array by keys
  • ArrayIterator::natcasesort — Sort an array naturally, case insensitive
  • ArrayIterator::natsort — Sort an array naturally
  • ArrayIterator::next — Avança para o próximo elemento
  • ArrayIterator::offsetExists — Check if offset exists
  • ArrayIterator::offsetGet — Get value for an offset
  • ArrayIterator::offsetSet — Set value for an offset
  • ArrayIterator::offsetUnset — Unset value for an offset
  • ArrayIterator::rewind — Recoloca o array no início
  • ArrayIterator::seek — Aponta para determinada posição
  • ArrayIterator::serialize — Serialize
  • ArrayIterator::setFlags — Define as flags que irão alterar o comportamento
  • ArrayIterator::uasort — Sort with a user-defined comparison function and maintain index association
  • ArrayIterator::uksort — Sort by keys using a user-defined comparison function
  • ArrayIterator::unserialize — Unserialize
  • ArrayIterator::valid — Verifica se o array possui mais elementos


Append an element

  • « ArrayIterator
  • ArrayIterator::asort »
  • PHP Manual
  • ArrayIterator
  • Append an element

ArrayIterator::append

(PHP 5, PHP 7)

ArrayIterator::append — Append an element

Descrição

public ArrayIterator::append ( mixed $value ) : void

Appends value as the last element.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

value

The value to append.

Valor Retornado

Não há valor retornado.

Notas

Nota:

This method cannot be called when the ArrayIterator refers to an object.

Veja Também

  • ArrayIterator::next() - Avança para o próximo elemento


Sort array by values

  • « ArrayIterator::append
  • ArrayIterator::__construct »
  • PHP Manual
  • ArrayIterator
  • Sort array by values

ArrayIterator::asort

(PHP 5 >= 5.2.0, PHP 7)

ArrayIterator::asort — Sort array by values

Descrição

public ArrayIterator::asort ( ) : void

Sorts an array by values.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • ArrayIterator::ksort() - Sort array by keys
  • ArrayIterator::natcasesort() - Sort an array naturally, case insensitive
  • ArrayIterator::natsort() - Sort an array naturally


Construct an ArrayIterator

  • « ArrayIterator::asort
  • ArrayIterator::count »
  • PHP Manual
  • ArrayIterator
  • Construct an ArrayIterator

ArrayIterator::__construct

(PHP 5, PHP 7)

ArrayIterator::__construct — Construct an ArrayIterator

Descrição

public ArrayIterator::__construct ( mixed $array = array() , int $flags = 0 )

Constructs an ArrayIterator object.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

array

The array or object to be iterated on.

flags

Flags to control the behaviour of the ArrayIterator object. See ArrayIterator::setFlags().

Valor Retornado

An ArrayIterator object.

Erros

ArrayIterator::__construct() throws an InvalidArgumentException if anything besides an array or an object is given.

Veja Também

  • ArrayIterator::getArrayCopy() - Get array copy


Conta os elementos

  • « ArrayIterator::__construct
  • ArrayIterator::current »
  • PHP Manual
  • ArrayIterator
  • Conta os elementos

ArrayIterator::count

(PHP 5, PHP 7)

ArrayIterator::count — Conta os elementos

Descrição

public ArrayIterator::count ( ) : int

Retorna o número de elementos no array, ou o número de atributos públicos no objeto.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O número de elementos ou atributos públicos no array ou objeto, respectivamente.

Veja Também

  • ArrayIterator::getFlags() - Retorna as flags de comportamento


Retorna o valor do elemento atual do array

  • « ArrayIterator::count
  • ArrayIterator::getArrayCopy »
  • PHP Manual
  • ArrayIterator
  • Retorna o valor do elemento atual do array

ArrayIterator::current

(PHP 5, PHP 7)

ArrayIterator::current — Retorna o valor do elemento atual do array

Descrição

ArrayIterator::current ( ) : mixed

Obtém o atual elemento do array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O atual elemento do array.

Exemplos

Exemplo #1 Exemplo de ArrayIterator::current()

<?php
$array = array('1' => 'um',
               '2' => 'dois',
               '3' => 'três');

$arrayobject = new ArrayObject($array);

for($iterator = $arrayobject->getIterator();
    $iterator->valid();
    $iterator->next()) {

    echo $iterator->key() . ' => ' . $iterator->current() . "\n";
}
?>

O exemplo acima irá imprimir:

1 => um
2 => dois
3 => três


Get array copy

  • « ArrayIterator::current
  • ArrayIterator::getFlags »
  • PHP Manual
  • ArrayIterator
  • Get array copy

ArrayIterator::getArrayCopy

(PHP 5, PHP 7)

ArrayIterator::getArrayCopy — Get array copy

Descrição

public ArrayIterator::getArrayCopy ( ) : array

Get a copy of an array.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A copy of the array, or array of public properties if ArrayIterator refers to an object.

Veja Também

  • ArrayIterator::valid() - Verifica se o array possui mais elementos


Retorna as flags de comportamento

  • « ArrayIterator::getArrayCopy
  • ArrayIterator::key »
  • PHP Manual
  • ArrayIterator
  • Retorna as flags de comportamento

ArrayIterator::getFlags

(PHP 5 >= 5.1.0, PHP 7)

ArrayIterator::getFlags — Retorna as flags de comportamento

Descrição

public ArrayIterator::getFlags ( ) : void

Retorna as flags de comportamento do ArrayIterator. Veja o método ArrayIterator::setFlags para saber as flags disponíveis.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna as flags de comportamento do ArrayIterator.

Veja Também

  • ArrayIterator::setFlags() - Define as flags que irão alterar o comportamento
  • ArrayIterator::valid() - Verifica se o array possui mais elementos


Retorna a chave do elemento atual do array

  • « ArrayIterator::getFlags
  • ArrayIterator::ksort »
  • PHP Manual
  • ArrayIterator
  • Retorna a chave do elemento atual do array

ArrayIterator::key

(PHP 5, PHP 7)

ArrayIterator::key — Retorna a chave do elemento atual do array

Descrição

ArrayIterator::key ( ) : mixed

Esta função retorna a chave do elemento atual do array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A chave do atual elemento do array.

Exemplos

Exemplo #1 Exemplo de ArrayIterator::key()

<?php
$array = array('key' => 'value');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

echo $iterator->key(); //key
?>


Sort array by keys

  • « ArrayIterator::key
  • ArrayIterator::natcasesort »
  • PHP Manual
  • ArrayIterator
  • Sort array by keys

ArrayIterator::ksort

(PHP 5 >= 5.2.0, PHP 7)

ArrayIterator::ksort — Sort array by keys

Descrição

public ArrayIterator::ksort ( ) : void

Sorts an array by the keys.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • ArrayIterator::asort() - Sort array by values
  • ArrayIterator::natcasesort() - Sort an array naturally, case insensitive
  • ArrayIterator::natsort() - Sort an array naturally


Sort an array naturally, case insensitive

  • « ArrayIterator::ksort
  • ArrayIterator::natsort »
  • PHP Manual
  • ArrayIterator
  • Sort an array naturally, case insensitive

ArrayIterator::natcasesort

(PHP 5 >= 5.2.0, PHP 7)

ArrayIterator::natcasesort — Sort an array naturally, case insensitive

Descrição

public ArrayIterator::natcasesort ( ) : void

Sort the entries by values using a case insensitive "natural order" algorithm.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • ArrayIterator::asort() - Sort array by values
  • ArrayIterator::ksort() - Sort array by keys
  • ArrayIterator::natsort() - Sort an array naturally
  • natcasesort() - Ordena um array utilizando o algoritmo da "ordem natural" sem diferenciar maiúsculas e minúsculas


Sort an array naturally

  • « ArrayIterator::natcasesort
  • ArrayIterator::next »
  • PHP Manual
  • ArrayIterator
  • Sort an array naturally

ArrayIterator::natsort

(PHP 5 >= 5.2.0, PHP 7)

ArrayIterator::natsort — Sort an array naturally

Descrição

public ArrayIterator::natsort ( ) : void

Sort the entries by values using "natural order" algorithm.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • ArrayIterator::asort() - Sort array by values
  • ArrayIterator::ksort() - Sort array by keys
  • ArrayIterator::natcasesort() - Sort an array naturally, case insensitive
  • natsort() - Ordena um array utilizando o algoritmo da "ordem natural"


Avança para o próximo elemento

  • « ArrayIterator::natsort
  • ArrayIterator::offsetExists »
  • PHP Manual
  • ArrayIterator
  • Avança para o próximo elemento

ArrayIterator::next

(PHP 5, PHP 7)

ArrayIterator::next — Avança para o próximo elemento

Descrição

ArrayIterator::next ( ) : void

O iterador para o próximo elemento do array.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Exemplo de ArrayIterator::next()

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'um';

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

O exemplo acima irá imprimir:

0 => zero
1 => um


Check if offset exists

  • « ArrayIterator::next
  • ArrayIterator::offsetGet »
  • PHP Manual
  • ArrayIterator
  • Check if offset exists

ArrayIterator::offsetExists

(PHP 5, PHP 7)

ArrayIterator::offsetExists — Check if offset exists

Descrição

public ArrayIterator::offsetExists ( mixed $index ) : bool

Checks if the offset exists.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

index

The offset being checked.

Valor Retornado

true if the offset exists, otherwise false

Veja Também

  • ArrayIterator::valid() - Verifica se o array possui mais elementos


Get value for an offset

  • « ArrayIterator::offsetExists
  • ArrayIterator::offsetSet »
  • PHP Manual
  • ArrayIterator
  • Get value for an offset

ArrayIterator::offsetGet

(PHP 5, PHP 7)

ArrayIterator::offsetGet — Get value for an offset

Descrição

public ArrayIterator::offsetGet ( mixed $index ) : mixed

Gets the value from the provided offset.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

index

The offset to get the value from.

Valor Retornado

The value at offset index.

Veja Também

  • ArrayIterator::offsetSet() - Set value for an offset
  • ArrayIterator::offsetUnset() - Unset value for an offset


Set value for an offset

  • « ArrayIterator::offsetGet
  • ArrayIterator::offsetUnset »
  • PHP Manual
  • ArrayIterator
  • Set value for an offset

ArrayIterator::offsetSet

(PHP 5, PHP 7)

ArrayIterator::offsetSet — Set value for an offset

Descrição

public ArrayIterator::offsetSet ( mixed $index , mixed $newval ) : void

Sets a value for a given offset.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

index

The index to set for.

newval

The new value to store at the index.

Valor Retornado

Não há valor retornado.

Veja Também

  • ArrayIterator::offsetGet() - Get value for an offset
  • ArrayIterator::offsetUnset() - Unset value for an offset


Unset value for an offset

  • « ArrayIterator::offsetSet
  • ArrayIterator::rewind »
  • PHP Manual
  • ArrayIterator
  • Unset value for an offset

ArrayIterator::offsetUnset

(PHP 5, PHP 7)

ArrayIterator::offsetUnset — Unset value for an offset

Descrição

public ArrayIterator::offsetUnset ( mixed $index ) : void

Unsets a value for an offset.

If iteration is in progress, and ArrayIterator::offsetUnset() is used to unset the current index of iteration, the iteration position will be advanced to the next index. Since the iteration position is also advanced at the end of a foreach loop body, use of ArrayIterator::offsetUnset() inside a foreach loop may result in indices being skipped.

Parâmetros

index

The offset to unset.

Valor Retornado

Não há valor retornado.

Veja Também

  • ArrayIterator::offsetGet() - Get value for an offset
  • ArrayIterator::offsetSet() - Set value for an offset


Recoloca o array no início

  • « ArrayIterator::offsetUnset
  • ArrayIterator::seek »
  • PHP Manual
  • ArrayIterator
  • Recoloca o array no início

ArrayIterator::rewind

(PHP 5, PHP 7)

ArrayIterator::rewind — Recoloca o array no início

Descrição

ArrayIterator::rewind ( ) : void

Esta função recoloca o iterador no início do array.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Exemplo de ArrayIterator::rewind()

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'um';
$arrayobject[] = 'dois';

$iterator = $arrayobject->getIterator();

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); //retornando ao início
echo $iterator->key(); //0
?>


Aponta para determinada posição

  • « ArrayIterator::rewind
  • ArrayIterator::serialize »
  • PHP Manual
  • ArrayIterator
  • Aponta para determinada posição

ArrayIterator::seek

(PHP 5, PHP 7)

ArrayIterator::seek — Aponta para determinada posição

Descrição

ArrayIterator::seek ( int $position ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

position

A posição para qual quer apontar.

Valor Retornado

Não há valor retornado.


Serialize

  • « ArrayIterator::seek
  • ArrayIterator::setFlags »
  • PHP Manual
  • ArrayIterator
  • Serialize

ArrayIterator::serialize

(PHP 5 >= 5.3.0, PHP 7)

ArrayIterator::serialize — Serialize

Descrição

public ArrayIterator::serialize ( ) : string

Serialize.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The serialized ArrayIterator.

Veja Também

  • ArrayIterator::unserialize() - Unserialize


Define as flags que irão alterar o comportamento

  • « ArrayIterator::serialize
  • ArrayIterator::uasort »
  • PHP Manual
  • ArrayIterator
  • Define as flags que irão alterar o comportamento

ArrayIterator::setFlags

(PHP 5 >= 5.1.0, PHP 7)

ArrayIterator::setFlags — Define as flags que irão alterar o comportamento

Descrição

public ArrayIterator::setFlags ( string $flags ) : void

Define as flags que alteram o comportamento do ArrayIterator

Parâmetros

flags

O novo comportamento do ArrayIterator. Pode ser utilizado bitmask ou constantes. O uso de constantes é fortemente encorajado para garantir compatibilidade com versões futuras.

As flags disponíveis estão listadas abaixo. O atual significado das flags estão descritas nas constantes pré-definidas.

Flags do comportamento do ArrayIterator
value | constant
1 | ArrayIterator::STD_PROP_LIST
2 | ArrayIterator::ARRAY_AS_PROPS

Valor Retornado

Não há valor retornado.

Veja Também

  • ArrayIterator::getFlags() - Retorna as flags de comportamento


Sort with a user-defined comparison function and maintain index association

  • « ArrayIterator::setFlags
  • ArrayIterator::uksort »
  • PHP Manual
  • ArrayIterator
  • Sort with a user-defined comparison function and maintain index association

ArrayIterator::uasort

(PHP 5 >= 5.2.0, PHP 7)

ArrayIterator::uasort — Sort with a user-defined comparison function and maintain index association

Descrição

public ArrayIterator::uasort ( callable $cmp_function ) : void

This method sorts the elements such that indices maintain their correlation with the values they are associated with, using a user-defined comparison function.

Nota:

Se dois itens são comparados como iguais, sua ordenação no array final é indefinidia.

Parâmetros

cmp_function

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int

Valor Retornado

Não há valor retornado.

Veja Também

  • ArrayIterator::asort() - Sort array by values
  • ArrayIterator::uksort() - Sort by keys using a user-defined comparison function
  • usort() - Ordena um array pelos valores utilizando uma função de comparação definida pelo usuário


Sort by keys using a user-defined comparison function

  • « ArrayIterator::uasort
  • ArrayIterator::unserialize »
  • PHP Manual
  • ArrayIterator
  • Sort by keys using a user-defined comparison function

ArrayIterator::uksort

(PHP 5 >= 5.2.0, PHP 7)

ArrayIterator::uksort — Sort by keys using a user-defined comparison function

Descrição

public ArrayIterator::uksort ( callable $cmp_function ) : void

This method sorts the elements by keys using a user-supplied comparison function.

Nota:

Se dois itens são comparados como iguais, sua ordenação no array final é indefinidia.

Parâmetros

cmp_function

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int

Valor Retornado

Não há valor retornado.

Veja Também

  • ArrayIterator::ksort() - Sort array by keys
  • ArrayIterator::uasort() - Sort with a user-defined comparison function and maintain index association
  • uksort() - Ordena um array pelas chaves utilizando uma função de comparação definida pelo usuário.


Unserialize

  • « ArrayIterator::uksort
  • ArrayIterator::valid »
  • PHP Manual
  • ArrayIterator
  • Unserialize

ArrayIterator::unserialize

(PHP 5 >= 5.3.0, PHP 7)

ArrayIterator::unserialize — Unserialize

Descrição

public ArrayIterator::unserialize ( string $serialized ) : void

Unserialize.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

serialized

The serialized ArrayIterator object to be unserialized.

Valor Retornado

Não há valor retornado.

Veja Também

  • ArrayIterator::serialize() - Serialize


Verifica se o array possui mais elementos

  • « ArrayIterator::unserialize
  • CachingIterator »
  • PHP Manual
  • ArrayIterator
  • Verifica se o array possui mais elementos

ArrayIterator::valid

(PHP 5, PHP 7)

ArrayIterator::valid — Verifica se o array possui mais elementos

Descrição

ArrayIterator::valid ( ) : bool

Verifica se o array possui mais algum elemento.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Exemplo de ArrayIterator::valid()

<?php
$array = array('1' => 'um');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

var_dump($iterator->valid()); //bool(true)

$iterator->next(); // avança para o próximo item

//bool(false) porque só existe um único elemento no array
var_dump($iterator->valid());
?>


A classe CachingIterator

Introdução

...

Sinopse da classe

CachingIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator , ArrayAccess , Countable {
/* Métodos */
public __construct ( Iterator $iterator , int $flags = self::CALL_TOSTRING )
public count ( ) : int
public current ( ) : mixed
public getCache ( ) : array
public getFlags ( ) : int
public getInnerIterator ( ) : Iterator
hasNext ( ) : bool
public key ( ) : scalar
next ( ) : void
public offsetExists ( mixed $index ) : void
public offsetGet ( string $index ) : void
public offsetSet ( mixed $index , mixed $newval ) : void
public offsetUnset ( string $index ) : void
rewind ( ) : void
public setFlags ( int $flags ) : void
__toString ( ) : string
valid ( ) : bool
}

Índice

  • CachingIterator::__construct — Construct a new CachingIterator object for the iterator
  • CachingIterator::count — The number of elements in the iterator
  • CachingIterator::current — Return the current element
  • CachingIterator::getCache — Retrieve the contents of the cache
  • CachingIterator::getFlags — Get flags used
  • CachingIterator::getInnerIterator — Returns the inner iterator
  • CachingIterator::hasNext — Verifica se o iterador interno tem ou não um próximo elemento válido
  • CachingIterator::key — Return the key for the current element
  • CachingIterator::next — Avança o iterador
  • CachingIterator::offsetExists — The offsetExists purpose
  • CachingIterator::offsetGet — The offsetGet purpose
  • CachingIterator::offsetSet — The offsetSet purpose
  • CachingIterator::offsetUnset — The offsetUnset purpose
  • CachingIterator::rewind — Recomeça o iterador
  • CachingIterator::setFlags — The setFlags purpose
  • CachingIterator::__toString — Retorna a representação como string do elemento atual
  • CachingIterator::valid — Verifica se o elemento atual é válido ou não


Construct a new CachingIterator object for the iterator

  • « CachingIterator
  • CachingIterator::count »
  • PHP Manual
  • CachingIterator
  • Construct a new CachingIterator object for the iterator

CachingIterator::__construct

(PHP 5, PHP 7)

CachingIterator::__construct — Construct a new CachingIterator object for the iterator

Descrição

public CachingIterator::__construct ( Iterator $iterator , int $flags = self::CALL_TOSTRING )
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

iterator

Iterator to cache

flags

Bitmask of flags.


The number of elements in the iterator

  • « CachingIterator::__construct
  • CachingIterator::current »
  • PHP Manual
  • CachingIterator
  • The number of elements in the iterator

CachingIterator::count

(PHP 5 >= 5.2.2, PHP 7)

CachingIterator::count — The number of elements in the iterator

Descrição

public CachingIterator::count ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

May return the number of elements in the iterator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The count of the elements iterated over.


Return the current element

  • « CachingIterator::count
  • CachingIterator::getCache »
  • PHP Manual
  • CachingIterator
  • Return the current element

CachingIterator::current

(PHP 5, PHP 7)

CachingIterator::current — Return the current element

Descrição

public CachingIterator::current ( ) : mixed
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

May return the current element in the iteration.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Mixed

Veja Também

  • Iterator::current() - Return the current element


Retrieve the contents of the cache

  • « CachingIterator::current
  • CachingIterator::getFlags »
  • PHP Manual
  • CachingIterator
  • Retrieve the contents of the cache

CachingIterator::getCache

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::getCache — Retrieve the contents of the cache

Descrição

public CachingIterator::getCache ( ) : array

Retrieve the contents of the cache.

Nota:

The CachingIterator::FULL_CACHE flag must be being used.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing the cache items.

Erros

Throws a BadMethodCallException when the CachingIterator::FULL_CACHE flag is not being used.

Exemplos

Exemplo #1 CachingIterator::getCache() example

<?php
$iterator = new ArrayIterator(array(1, 2, 3));
$cache    = new CachingIterator($iterator, CachingIterator::FULL_CACHE);

$cache->next();
$cache->next();
var_dump($cache->getCache());

$cache->next();
var_dump($cache->getCache());
?>

O exemplo acima irá imprimir:

array(2) {
  [0]=>
  int(1)
  [1]=>
  int(2)
}
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Get flags used

  • « CachingIterator::getCache
  • CachingIterator::getInnerIterator »
  • PHP Manual
  • CachingIterator
  • Get flags used

CachingIterator::getFlags

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::getFlags — Get flags used

Descrição

public CachingIterator::getFlags ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Get the bitmask of the flags used for this CachingIterator instance.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Description...


Returns the inner iterator

  • « CachingIterator::getFlags
  • CachingIterator::hasNext »
  • PHP Manual
  • CachingIterator
  • Returns the inner iterator

CachingIterator::getInnerIterator

(PHP 5, PHP 7)

CachingIterator::getInnerIterator — Returns the inner iterator

Descrição

public CachingIterator::getInnerIterator ( ) : Iterator
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the iterator sent to the constructor.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an object implementing the Iterator interface.


Verifica se o iterador interno tem ou não um próximo elemento válido

  • « CachingIterator::getInnerIterator
  • CachingIterator::key »
  • PHP Manual
  • CachingIterator
  • Verifica se o iterador interno tem ou não um próximo elemento válido

CachingIterator::hasNext

(PHP 5, PHP 7)

CachingIterator::hasNext — Verifica se o iterador interno tem ou não um próximo elemento válido

Descrição

CachingIterator::hasNext ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Return the key for the current element

  • « CachingIterator::hasNext
  • CachingIterator::next »
  • PHP Manual
  • CachingIterator
  • Return the key for the current element

CachingIterator::key

(PHP 5, PHP 7)

CachingIterator::key — Return the key for the current element

Descrição

public CachingIterator::key ( ) : scalar
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

This method may return a key for the current element.

Parâmetros

Esta função não possui parâmetros.


Avança o iterador

  • « CachingIterator::key
  • CachingIterator::offsetExists »
  • PHP Manual
  • CachingIterator
  • Avança o iterador

CachingIterator::next

(PHP 5, PHP 7)

CachingIterator::next — Avança o iterador

Descrição

CachingIterator::next ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Move o iterador à frente.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


The offsetExists purpose

  • « CachingIterator::next
  • CachingIterator::offsetGet »
  • PHP Manual
  • CachingIterator
  • The offsetExists purpose

CachingIterator::offsetExists

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::offsetExists — The offsetExists purpose

Descrição

public CachingIterator::offsetExists ( mixed $index ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

index

The index being checked.

Valor Retornado

Returns true if an entry referenced by the offset exists, false otherwise.


The offsetGet purpose

  • « CachingIterator::offsetExists
  • CachingIterator::offsetSet »
  • PHP Manual
  • CachingIterator
  • The offsetGet purpose

CachingIterator::offsetGet

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::offsetGet — The offsetGet purpose

Descrição

public CachingIterator::offsetGet ( string $index ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

index

Description...

Valor Retornado

Description...


The offsetSet purpose

  • « CachingIterator::offsetGet
  • CachingIterator::offsetUnset »
  • PHP Manual
  • CachingIterator
  • The offsetSet purpose

CachingIterator::offsetSet

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::offsetSet — The offsetSet purpose

Descrição

public CachingIterator::offsetSet ( mixed $index , mixed $newval ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

index

The index of the element to be set.

newval

The new value for the index.

Valor Retornado

Não há valor retornado.


The offsetUnset purpose

  • « CachingIterator::offsetSet
  • CachingIterator::rewind »
  • PHP Manual
  • CachingIterator
  • The offsetUnset purpose

CachingIterator::offsetUnset

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::offsetUnset — The offsetUnset purpose

Descrição

public CachingIterator::offsetUnset ( string $index ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

index

The index of the element to be unset.

Valor Retornado

Não há valor retornado.


Recomeça o iterador

  • « CachingIterator::offsetUnset
  • CachingIterator::setFlags »
  • PHP Manual
  • CachingIterator
  • Recomeça o iterador

CachingIterator::rewind

(PHP 5, PHP 7)

CachingIterator::rewind — Recomeça o iterador

Descrição

CachingIterator::rewind ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Recomeça o iterador.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


The setFlags purpose

  • « CachingIterator::rewind
  • CachingIterator::__toString »
  • PHP Manual
  • CachingIterator
  • The setFlags purpose

CachingIterator::setFlags

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::setFlags — The setFlags purpose

Descrição

public CachingIterator::setFlags ( int $flags ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Set the flags for the CachingIterator object.

Parâmetros

flags

Bitmask of the flags to set.

Valor Retornado

Não há valor retornado.


Retorna a representação como string do elemento atual

  • « CachingIterator::setFlags
  • CachingIterator::valid »
  • PHP Manual
  • CachingIterator
  • Retorna a representação como string do elemento atual

CachingIterator::__toString

(PHP 5, PHP 7)

CachingIterator::__toString — Retorna a representação como string do elemento atual

Descrição

CachingIterator::__toString ( ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém a representação string do elemento atual.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A representação string do elemento atual.


Verifica se o elemento atual é válido ou não

  • « CachingIterator::__toString
  • CallbackFilterIterator »
  • PHP Manual
  • CachingIterator
  • Verifica se o elemento atual é válido ou não

CachingIterator::valid

(PHP 5, PHP 7)

CachingIterator::valid — Verifica se o elemento atual é válido ou não

Descrição

CachingIterator::valid ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Verifica se o atual elemento é válido.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


The CallbackFilterIterator class

(PHP 5 >= 5.4.0, PHP 7)

Introdução

Sinopse da classe

CallbackFilterIterator extends FilterIterator implements OuterIterator {
/* Métodos */
public __construct ( Iterator $iterator , callable $callback )
public accept ( ) : bool
/* Métodos herdados */
public abstract FilterIterator::accept ( ) : bool
public FilterIterator::__construct ( Iterator $iterator )
FilterIterator::current ( ) : mixed
FilterIterator::getInnerIterator ( ) : Iterator
FilterIterator::key ( ) : mixed
FilterIterator::next ( ) : void
FilterIterator::rewind ( ) : void
FilterIterator::valid ( ) : bool
}

Exemplos

The callback should accept up to three arguments: the current item, the current key and the iterator, respectively.

Exemplo #1 Available callback arguments

<?php

/**
 * Callback for CallbackFilterIterator
 *
 * @param $current   Current item's value
 * @param $key       Current item's key
 * @param $iterator  Iterator being filtered
 * @return boolean   TRUE to accept the current item, FALSE otherwise
 */
function my_callback($current, $key, $iterator) {
    // Your filtering code here
}

?>

Any callable may be used; such as a string containing a function name, an array for a method, or an anonymous function.

Exemplo #2 Callback basic examples

<?php

$dir = new FilesystemIterator(__DIR__);

// Filter large files ( > 100MB)
function is_large_file($current) {
    return $current->isFile() && $current->getSize() > 104857600;
}
$large_files = new CallbackFilterIterator($dir, 'is_large_file');

// Filter directories
$files = new CallbackFilterIterator($dir, function ($current, $key, $iterator) {
    return $current->isDir() && ! $iterator->isDot();
});

?>

Índice

  • CallbackFilterIterator::accept — Calls the callback with the current value, the current key and the inner iterator as arguments
  • CallbackFilterIterator::__construct — Create a filtered iterator from another iterator


Calls the callback with the current value, the current key and the inner iterator as arguments

  • « CallbackFilterIterator
  • CallbackFilterIterator::__construct »
  • PHP Manual
  • CallbackFilterIterator
  • Calls the callback with the current value, the current key and the inner iterator as arguments

CallbackFilterIterator::accept

(PHP 5 >= 5.4.0, PHP 7)

CallbackFilterIterator::accept — Calls the callback with the current value, the current key and the inner iterator as arguments

Descrição

public CallbackFilterIterator::accept ( ) : bool

This method calls the callback with the current value, current key and the inner iterator.

The callback is expected to return true if the current item is to be accepted, or false otherwise.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true to accept the current item, or false otherwise.

Veja Também

  • CallbackFilterIterator Examples
  • CallbackFilterIterator::__construct() - Create a filtered iterator from another iterator


Create a filtered iterator from another iterator

  • « CallbackFilterIterator::accept
  • DirectoryIterator »
  • PHP Manual
  • CallbackFilterIterator
  • Create a filtered iterator from another iterator

CallbackFilterIterator::__construct

(PHP 5 >= 5.4.0, PHP 7)

CallbackFilterIterator::__construct — Create a filtered iterator from another iterator

Descrição

public CallbackFilterIterator::__construct ( Iterator $iterator , callable $callback )

Creates a filtered iterator using the callback to determine which items are accepted or rejected.

Parâmetros

iterator

The iterator to be filtered.

callback

The callback, which should return true to accept the current item or false otherwise. See Examples.

May be any valid callable value.

Valor Retornado

Não há valor retornado.

Veja Também

  • CallbackFilterIterator Examples
  • CallbackFilterIterator::accept() - Calls the callback with the current value, the current key and the inner iterator as arguments


A classe DirectoryIterator

(PHP 5, PHP 7)

Introdução

A classe DirectoryIterator fornece uma interface simples para visualização de conteúdo de diretórios de arquivos.

Sinopse da classe

DirectoryIterator extends SplFileInfo implements Iterator , Traversable , SeekableIterator {
/* Métodos */
__construct ( string $path )
current ( ) : DirectoryIterator
getATime ( ) : int
public getBasename ( string $sufixo = ? ) : string
getCTime ( ) : int
public getExtension ( ) : string
getFilename ( ) : string
getGroup ( ) : int
getInode ( ) : int
getMTime ( ) : int
getOwner ( ) : int
getPath ( ) : string
getPathname ( ) : string
getPerms ( ) : int
getSize ( ) : int
getType ( ) : string
isDir ( ) : bool
isDot ( ) : bool
isExecutable ( ) : bool
isFile ( ) : bool
isLink ( ) : bool
isReadable ( ) : bool
isWritable ( ) : bool
key ( ) : string
next ( ) : void
rewind ( ) : void
public seek ( int $posicao ) : void
public __toString ( ) : string
valid ( ) : string
}

Índice

  • DirectoryIterator::__construct — Constrói um novo iterador de diretório a partir de um caminho
  • DirectoryIterator::current — Retorna $this (necessário para a interface Iterator)
  • DirectoryIterator::getATime — Retorna a data de último acesso do arquivo
  • DirectoryIterator::getBasename — Retorna o nome do item corrente do DirectoryIterator.
  • DirectoryIterator::getCTime — Retorna a data de modificação do inode do arquivo
  • DirectoryIterator::getExtension — Retorna a extensão do arquivo do item corrente do DirectoryIterator
  • DirectoryIterator::getFilename — Retorna o nome do arquivo do elemento atual do diretório
  • DirectoryIterator::getGroup — Retorna o grupo do arquivo
  • DirectoryIterator::getInode — Retorna o inode do arquivo
  • DirectoryIterator::getMTime — Retorna a data da última modificação do arquivo
  • DirectoryIterator::getOwner — Retorna o proprietário do arquivo
  • DirectoryIterator::getPath — Retorna o caminho do diretório
  • DirectoryIterator::getPathname — Retorna o caminho e o nome do arquivo do elemento atual do diretório
  • DirectoryIterator::getPerms — Retorna as permissões do arquivo
  • DirectoryIterator::getSize — Retorna o tamanho do arquivo
  • DirectoryIterator::getType — Retorna o tipo do arquivo
  • DirectoryIterator::isDir — Retorna true se o elemento atual é um diretório
  • DirectoryIterator::isDot — Retorna true se o elemento atual for '.' ou '..'
  • DirectoryIterator::isExecutable — Retorna true se o arquivo for executável
  • DirectoryIterator::isFile — Retorna true se o elemento atual for um arquivo
  • DirectoryIterator::isLink — Retorna true se o elemento atual for um link simbólico
  • DirectoryIterator::isReadable — Retorna true se o arquivo pode ser lido
  • DirectoryIterator::isWritable — Retorna true se o arquivo pode ser modificado
  • DirectoryIterator::key — Retorna o elemento atual do diretório
  • DirectoryIterator::next — Avança para o próximo elemento
  • DirectoryIterator::rewind — Recomeça a iteração do diretório
  • DirectoryIterator::seek — Procura uma determinada posição no item do DirectoryIterator
  • DirectoryIterator::__toString — Retorna o nome do arquivo como texto
  • DirectoryIterator::valid — Verifica se o diretório possui ou não mais elementos


Constrói um novo iterador de diretório a partir de um caminho

  • « DirectoryIterator
  • DirectoryIterator::current »
  • PHP Manual
  • DirectoryIterator
  • Constrói um novo iterador de diretório a partir de um caminho

DirectoryIterator::__construct

(PHP 5, PHP 7)

DirectoryIterator::__construct — Constrói um novo iterador de diretório a partir de um caminho

Descrição

DirectoryIterator::__construct ( string $path )
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Constructs a new dir iterator from a path.

Parâmetros

path

O caminho.

Valor Retornado

Não há valor retornado.


Retorna $this (necessário para a interface Iterator)

  • « DirectoryIterator::__construct
  • DirectoryIterator::getATime »
  • PHP Manual
  • DirectoryIterator
  • Retorna $this (necessário para a interface Iterator)

DirectoryIterator::current

(PHP 5, PHP 7)

DirectoryIterator::current — Retorna $this (necessário para a interface Iterator)

Descrição

DirectoryIterator::current ( ) : DirectoryIterator
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna $this (necessário para interface Iterator).


Retorna a data de último acesso do arquivo

  • « DirectoryIterator::current
  • DirectoryIterator::getBasename »
  • PHP Manual
  • DirectoryIterator
  • Retorna a data de último acesso do arquivo

DirectoryIterator::getATime

(PHP 5, PHP 7)

DirectoryIterator::getATime — Retorna a data de último acesso do arquivo

Descrição

DirectoryIterator::getATime ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém o último tempo de acesso ao arquivo.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O último tempo de acesso ao arquivo.


Retorna o nome do item corrente do DirectoryIterator.

  • « DirectoryIterator::getATime
  • DirectoryIterator::getCTime »
  • PHP Manual
  • DirectoryIterator
  • Retorna o nome do item corrente do DirectoryIterator.

DirectoryIterator::getBasename

(PHP 5 >= 5.2.2, PHP 7)

DirectoryIterator::getBasename — Retorna o nome do item corrente do DirectoryIterator.

Descrição

public DirectoryIterator::getBasename ( string $sufixo = ? ) : string

Retorna o nome do item corrente do DirectoryIterator.

Parâmetros

sufixo

Se o nome base terminar no sufixo, ele é retirado.

Valor Retornado

O nome do item corrente do DirectoryIterator.

Exemplos

Exemplo #1 Exemplo do DirectoryIterator::getBasename()

Esse exemplo irá listar todo o nome base e o nome base com o sufixo .jpg removido dos nomes de arquivo do diretório o qual o script irá rodar.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getBasename() . "\n";
        echo $fileinfo->getBasename('.jpg') . "\n";
    }
}
?>

O exemplo acima irá imprimir algo similar à:

apple.jpg
apple
banana.jpg
banana
index.php
index.php
pear.jpg
pear

Veja Também

  • DirectoryIterator::getFilename() - Retorna o nome do arquivo do elemento atual do diretório
  • DirectoryIterator::getPath() - Retorna o caminho do diretório
  • DirectoryIterator::getPathname() - Retorna o caminho e o nome do arquivo do elemento atual do diretório
  • basename() - Retorna apenas a parte que corresponde ao nome do arquivo de um caminho/path
  • pathinfo() - Retorna informações sobre um caminho de arquivo


Retorna a data de modificação do inode do arquivo

  • « DirectoryIterator::getBasename
  • DirectoryIterator::getExtension »
  • PHP Manual
  • DirectoryIterator
  • Retorna a data de modificação do inode do arquivo

DirectoryIterator::getCTime

(PHP 5, PHP 7)

DirectoryIterator::getCTime — Retorna a data de modificação do inode do arquivo

Descrição

DirectoryIterator::getCTime ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém a data de modificação de inode do arquivo.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A última data de modifição do arquivo.


Retorna a extensão do arquivo do item corrente do DirectoryIterator

  • « DirectoryIterator::getCTime
  • DirectoryIterator::getFilename »
  • PHP Manual
  • DirectoryIterator
  • Retorna a extensão do arquivo do item corrente do DirectoryIterator

DirectoryIterator::getExtension

(PHP 5 >= 5.3.6, PHP 7)

DirectoryIterator::getExtension — Retorna a extensão do arquivo do item corrente do DirectoryIterator

Descrição

public DirectoryIterator::getExtension ( ) : string

Retorna a extensão do arquivo do item corrente do DirectoryIterator.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A extensão do arquivo do item corrente do DirectoryIterator.

Exemplos

Exemplo #1 Exemplo do DirectoryIterator::getExtension()

Esse exemplo irá listar as extensões dos arquivos do diretório o qual o script irá rodar.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getExtension() . "\n";
    }
}
?>

O exemplo acima irá imprimir algo similar à:

jpg
jpg
php
php
jpg

Veja Também

  • pathinfo() - Retorna informações sobre um caminho de arquivo


Retorna o nome do arquivo do elemento atual do diretório

  • « DirectoryIterator::getExtension
  • DirectoryIterator::getGroup »
  • PHP Manual
  • DirectoryIterator
  • Retorna o nome do arquivo do elemento atual do diretório

DirectoryIterator::getFilename

(PHP 5, PHP 7)

DirectoryIterator::getFilename — Retorna o nome do arquivo do elemento atual do diretório

Descrição

DirectoryIterator::getFilename ( ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém o nome do arquivo do elemento atual do diretório.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O nome do arquivo do elemento atual do diretório.


Retorna o grupo do arquivo

  • « DirectoryIterator::getFilename
  • DirectoryIterator::getInode »
  • PHP Manual
  • DirectoryIterator
  • Retorna o grupo do arquivo

DirectoryIterator::getGroup

(PHP 5, PHP 7)

DirectoryIterator::getGroup — Retorna o grupo do arquivo

Descrição

DirectoryIterator::getGroup ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém o grupo do arquivo.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O grupo do arquivo.


Retorna o inode do arquivo

  • « DirectoryIterator::getGroup
  • DirectoryIterator::getMTime »
  • PHP Manual
  • DirectoryIterator
  • Retorna o inode do arquivo

DirectoryIterator::getInode

(PHP 5, PHP 7)

DirectoryIterator::getInode — Retorna o inode do arquivo

Descrição

DirectoryIterator::getInode ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém o inode do arquivo.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O inode do arquivo.


Retorna a data da última modificação do arquivo

  • « DirectoryIterator::getInode
  • DirectoryIterator::getOwner »
  • PHP Manual
  • DirectoryIterator
  • Retorna a data da última modificação do arquivo

DirectoryIterator::getMTime

(PHP 5, PHP 7)

DirectoryIterator::getMTime — Retorna a data da última modificação do arquivo

Descrição

DirectoryIterator::getMTime ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém a data de última modificação do arquivo.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A data de última modificação do arquivo.


Retorna o proprietário do arquivo

  • « DirectoryIterator::getMTime
  • DirectoryIterator::getPath »
  • PHP Manual
  • DirectoryIterator
  • Retorna o proprietário do arquivo

DirectoryIterator::getOwner

(PHP 5, PHP 7)

DirectoryIterator::getOwner — Retorna o proprietário do arquivo

Descrição

DirectoryIterator::getOwner ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém o proprietário do arquivo.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O proprietário do arquivo.


Retorna o caminho do diretório

  • « DirectoryIterator::getOwner
  • DirectoryIterator::getPathname »
  • PHP Manual
  • DirectoryIterator
  • Retorna o caminho do diretório

DirectoryIterator::getPath

(PHP 5, PHP 7)

DirectoryIterator::getPath — Retorna o caminho do diretório

Descrição

DirectoryIterator::getPath ( ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém o caminho do diretório.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O caminho do diretório.


Retorna o caminho e o nome do arquivo do elemento atual do diretório

  • « DirectoryIterator::getPath
  • DirectoryIterator::getPerms »
  • PHP Manual
  • DirectoryIterator
  • Retorna o caminho e o nome do arquivo do elemento atual do diretório

DirectoryIterator::getPathname

(PHP 5, PHP 7)

DirectoryIterator::getPathname — Retorna o caminho e o nome do arquivo do elemento atual do diretório

Descrição

DirectoryIterator::getPathname ( ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém o caminho e nome do arquivo do elemento atual do diretório.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O caminho e nome do arquivo do elemento do diretório.


Retorna as permissões do arquivo

  • « DirectoryIterator::getPathname
  • DirectoryIterator::getSize »
  • PHP Manual
  • DirectoryIterator
  • Retorna as permissões do arquivo

DirectoryIterator::getPerms

(PHP 5, PHP 7)

DirectoryIterator::getPerms — Retorna as permissões do arquivo

Descrição

DirectoryIterator::getPerms ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém as permissões do arquivo.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

As permissões do arquivo.


Retorna o tamanho do arquivo

  • « DirectoryIterator::getPerms
  • DirectoryIterator::getType »
  • PHP Manual
  • DirectoryIterator
  • Retorna o tamanho do arquivo

DirectoryIterator::getSize

(PHP 5, PHP 7)

DirectoryIterator::getSize — Retorna o tamanho do arquivo

Descrição

DirectoryIterator::getSize ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém o tamanho do arquivo.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O tamanho do arquivo.


Retorna o tipo do arquivo

  • « DirectoryIterator::getSize
  • DirectoryIterator::isDir »
  • PHP Manual
  • DirectoryIterator
  • Retorna o tipo do arquivo

DirectoryIterator::getType

(PHP 5, PHP 7)

DirectoryIterator::getType — Retorna o tipo do arquivo

Descrição

DirectoryIterator::getType ( ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém o tipo do arquivo.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O tipo do arquivo.


Retorna true se o elemento atual é um diretório

  • « DirectoryIterator::getType
  • DirectoryIterator::isDot »
  • PHP Manual
  • DirectoryIterator
  • Retorna true se o elemento atual é um diretório

DirectoryIterator::isDir

(PHP 5, PHP 7)

DirectoryIterator::isDir — Retorna true se o elemento atual é um diretório

Descrição

DirectoryIterator::isDir ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Verifica se o arquivo é um diretório.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se é um diretório, false caso contrário


Retorna true se o elemento atual for '.' ou '..'

  • « DirectoryIterator::isDir
  • DirectoryIterator::isExecutable »
  • PHP Manual
  • DirectoryIterator
  • Retorna true se o elemento atual for '.' ou '..'

DirectoryIterator::isDot

(PHP 5, PHP 7)

DirectoryIterator::isDot — Retorna true se o elemento atual for '.' ou '..'

Descrição

DirectoryIterator::isDot ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Verifica se é um diretório e também . ou ...

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se a entrada é . ou .., false caso contrário


Retorna true se o arquivo for executável

  • « DirectoryIterator::isDot
  • DirectoryIterator::isFile »
  • PHP Manual
  • DirectoryIterator
  • Retorna true se o arquivo for executável

DirectoryIterator::isExecutable

(PHP 5, PHP 7)

DirectoryIterator::isExecutable — Retorna true se o arquivo for executável

Descrição

DirectoryIterator::isExecutable ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Verifica se o arquivo é executável.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se a entrada é executável, false caso contrário


Retorna true se o elemento atual for um arquivo

  • « DirectoryIterator::isExecutable
  • DirectoryIterator::isLink »
  • PHP Manual
  • DirectoryIterator
  • Retorna true se o elemento atual for um arquivo

DirectoryIterator::isFile

(PHP 5, PHP 7)

DirectoryIterator::isFile — Retorna true se o elemento atual for um arquivo

Descrição

DirectoryIterator::isFile ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Verifica se é um arquivo.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se a entrada é um arquivo, false caso contrário


Retorna true se o elemento atual for um link simbólico

  • « DirectoryIterator::isFile
  • DirectoryIterator::isReadable »
  • PHP Manual
  • DirectoryIterator
  • Retorna true se o elemento atual for um link simbólico

DirectoryIterator::isLink

(PHP 5, PHP 7)

DirectoryIterator::isLink — Retorna true se o elemento atual for um link simbólico

Descrição

DirectoryIterator::isLink ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Verifica se a entrada é um link simbólico.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se a entrada é um link simbólico, false caso contrário


Retorna true se o arquivo pode ser lido

  • « DirectoryIterator::isLink
  • DirectoryIterator::isWritable »
  • PHP Manual
  • DirectoryIterator
  • Retorna true se o arquivo pode ser lido

DirectoryIterator::isReadable

(PHP 5, PHP 7)

DirectoryIterator::isReadable — Retorna true se o arquivo pode ser lido

Descrição

DirectoryIterator::isReadable ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Verifica se a entrada pode ser lida.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se o arquivo pode ser lido, false caso contrário


Retorna true se o arquivo pode ser modificado

  • « DirectoryIterator::isReadable
  • DirectoryIterator::key »
  • PHP Manual
  • DirectoryIterator
  • Retorna true se o arquivo pode ser modificado

DirectoryIterator::isWritable

(PHP 5, PHP 7)

DirectoryIterator::isWritable — Retorna true se o arquivo pode ser modificado

Descrição

DirectoryIterator::isWritable ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Verifica se a entrada pode ser modificada.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se o arquivo pode ser escrito, false caso contrário


Retorna o elemento atual do diretório

  • « DirectoryIterator::isWritable
  • DirectoryIterator::next »
  • PHP Manual
  • DirectoryIterator
  • Retorna o elemento atual do diretório

DirectoryIterator::key

(PHP 5, PHP 7)

DirectoryIterator::key — Retorna o elemento atual do diretório

Descrição

DirectoryIterator::key ( ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém o elemento atual do diretório.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O elemento atual do diretório.


Avança para o próximo elemento

  • « DirectoryIterator::key
  • DirectoryIterator::rewind »
  • PHP Manual
  • DirectoryIterator
  • Avança para o próximo elemento

DirectoryIterator::next

(PHP 5, PHP 7)

DirectoryIterator::next — Avança para o próximo elemento

Descrição

DirectoryIterator::next ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Move para o próximo elemento.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Recomeça a iteração do diretório

  • « DirectoryIterator::next
  • DirectoryIterator::seek »
  • PHP Manual
  • DirectoryIterator
  • Recomeça a iteração do diretório

DirectoryIterator::rewind

(PHP 5, PHP 7)

DirectoryIterator::rewind — Recomeça a iteração do diretório

Descrição

DirectoryIterator::rewind ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Recomeça a iteração do diretório.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Procura uma determinada posição no item do DirectoryIterator

  • « DirectoryIterator::rewind
  • DirectoryIterator::__toString »
  • PHP Manual
  • DirectoryIterator
  • Procura uma determinada posição no item do DirectoryIterator

DirectoryIterator::seek

(PHP 5 >= 5.3.0, PHP 7)

DirectoryIterator::seek — Procura uma determinada posição no item do DirectoryIterator

Descrição

public DirectoryIterator::seek ( int $posicao ) : void

Procura uma determinada posição no item do DirectoryIterator.

Parâmetros

posicao

Posição de base zero para procurar.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Exemplo do DirectoryIterator::seek()

Procurar o quarto item no diretório que contém o script. Os dois primeiros geralmente são . e ..

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
$iterator->seek(3);
if ($iterator->valid()) {
    echo $iterator->getFilename();
} else {
    echo 'Sem arquivos na posição 3';
}
?>

Veja Também

  • DirectoryIterator::rewind() - Recomeça a iteração do diretório
  • DirectoryIterator::next() - Avança para o próximo elemento
  • SeekableIterator::seek() - Seeks to a position


Retorna o nome do arquivo como texto

  • « DirectoryIterator::seek
  • DirectoryIterator::valid »
  • PHP Manual
  • DirectoryIterator
  • Retorna o nome do arquivo como texto

DirectoryIterator::__toString

(PHP 5, PHP 7)

DirectoryIterator::__toString — Retorna o nome do arquivo como texto

Descrição

public DirectoryIterator::__toString ( ) : string

Retorna o nome do item corrente do DirectoryIterator como texto.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o nome do item corrente do DirectoryIterator como texto.

Exemplos

Exemplo #1 Exemplo do DirectoryIterator::__toString()

Este exemplo irá listar o conteúdo do diretório o qual o script está rodando.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    echo $fileinfo;
}
?>

O exemplo acima irá imprimir algo similar à:

.
..
maça.jpg
banana.jpg
index.php
pera.jpg

Veja Também

  • DirectoryIterator::getFilename() - Retorna o nome do arquivo do elemento atual do diretório
  • O método mágico __toString()


Verifica se o diretório possui ou não mais elementos

  • « DirectoryIterator::__toString
  • EmptyIterator »
  • PHP Manual
  • DirectoryIterator
  • Verifica se o diretório possui ou não mais elementos

DirectoryIterator::valid

(PHP 5, PHP 7)

DirectoryIterator::valid — Verifica se o diretório possui ou não mais elementos

Descrição

DirectoryIterator::valid ( ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Verifica se o diretório contém mais elementos.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


The EmptyIterator class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

The EmptyIterator class for an empty iterator.

Sinopse da classe

EmptyIterator implements Iterator {
/* Métodos */
public current ( ) : mixed
public key ( ) : scalar
public next ( ) : void
public rewind ( ) : void
public valid ( ) : bool
}

Índice

  • EmptyIterator::current — The current() method
  • EmptyIterator::key — The key() method
  • EmptyIterator::next — The next() method
  • EmptyIterator::rewind — The rewind() method
  • EmptyIterator::valid — The valid() method


The current() method

  • « EmptyIterator
  • EmptyIterator::key »
  • PHP Manual
  • EmptyIterator
  • The current() method

EmptyIterator::current

(PHP 5 >= 5.1.0, PHP 7)

EmptyIterator::current — The current() method

Descrição

public EmptyIterator::current ( ) : mixed

This function must not be called. It throws an exception upon access.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Erros

Throws an Exception if called.

Valor Retornado

Não há valor retornado.


The key() method

  • « EmptyIterator::current
  • EmptyIterator::next »
  • PHP Manual
  • EmptyIterator
  • The key() method

EmptyIterator::key

(PHP 5 >= 5.1.0, PHP 7)

EmptyIterator::key — The key() method

Descrição

public EmptyIterator::key ( ) : scalar

This function must not be called. It throws an exception upon access.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Erros

Throws an Exception if called.

Valor Retornado

Não há valor retornado.


The next() method

  • « EmptyIterator::key
  • EmptyIterator::rewind »
  • PHP Manual
  • EmptyIterator
  • The next() method

EmptyIterator::next

(PHP 5 >= 5.1.0, PHP 7)

EmptyIterator::next — The next() method

Descrição

public EmptyIterator::next ( ) : void

No operation, nothing to do.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


The rewind() method

  • « EmptyIterator::next
  • EmptyIterator::valid »
  • PHP Manual
  • EmptyIterator
  • The rewind() method

EmptyIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

EmptyIterator::rewind — The rewind() method

Descrição

public EmptyIterator::rewind ( ) : void

No operation, nothing to do.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


The valid() method

  • « EmptyIterator::rewind
  • FilesystemIterator »
  • PHP Manual
  • EmptyIterator
  • The valid() method

EmptyIterator::valid

(PHP 5 >= 5.1.0, PHP 7)

EmptyIterator::valid — The valid() method

Descrição

public EmptyIterator::valid ( ) : bool

The EmptyIterator valid() method.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

false


The FilesystemIterator class

(PHP 5 >= 5.3.0, PHP 7)

Introdução

The Filesystem iterator

Sinopse da classe

FilesystemIterator extends DirectoryIterator implements SeekableIterator {
/* Constantes */
const int CURRENT_AS_PATHNAME = 32 ;
const int CURRENT_AS_FILEINFO = 0 ;
const int CURRENT_AS_SELF = 16 ;
const int CURRENT_MODE_MASK = 240 ;
const int KEY_AS_PATHNAME = 0 ;
const int KEY_AS_FILENAME = 256 ;
const int FOLLOW_SYMLINKS = 512 ;
const int KEY_MODE_MASK = 3840 ;
const int NEW_CURRENT_AND_KEY = 256 ;
const int SKIP_DOTS = 4096 ;
const int UNIX_PATHS = 8192 ;
/* Métodos */
public __construct ( string $path , int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS )
public current ( ) : mixed
public getFlags ( ) : int
public key ( ) : string
public next ( ) : void
public rewind ( ) : void
public setFlags ( int $flags = ? ) : void
/* Métodos herdados */
DirectoryIterator::current ( ) : DirectoryIterator
DirectoryIterator::getATime ( ) : int
public DirectoryIterator::getBasename ( string $sufixo = ? ) : string
DirectoryIterator::getCTime ( ) : int
public DirectoryIterator::getExtension ( ) : string
DirectoryIterator::getFilename ( ) : string
DirectoryIterator::getGroup ( ) : int
DirectoryIterator::getInode ( ) : int
DirectoryIterator::getMTime ( ) : int
DirectoryIterator::getOwner ( ) : int
DirectoryIterator::getPath ( ) : string
DirectoryIterator::getPathname ( ) : string
DirectoryIterator::getPerms ( ) : int
DirectoryIterator::getSize ( ) : int
DirectoryIterator::getType ( ) : string
DirectoryIterator::isDir ( ) : bool
DirectoryIterator::isDot ( ) : bool
DirectoryIterator::isExecutable ( ) : bool
DirectoryIterator::isFile ( ) : bool
DirectoryIterator::isLink ( ) : bool
DirectoryIterator::isReadable ( ) : bool
DirectoryIterator::isWritable ( ) : bool
DirectoryIterator::key ( ) : string
DirectoryIterator::next ( ) : void
DirectoryIterator::rewind ( ) : void
public DirectoryIterator::seek ( int $posicao ) : void
public DirectoryIterator::__toString ( ) : string
DirectoryIterator::valid ( ) : string
}

Constantes pré-definidas

FilesystemIterator::CURRENT_AS_PATHNAME

Makes FilesystemIterator::current() return the pathname.

FilesystemIterator::CURRENT_AS_FILEINFO

Makes FilesystemIterator::current() return an SplFileInfo instance.

FilesystemIterator::CURRENT_AS_SELF

Makes FilesystemIterator::current() return $this (the FilesystemIterator).

FilesystemIterator::CURRENT_MODE_MASK

Masks FilesystemIterator::current()

FilesystemIterator::KEY_AS_PATHNAME

Makes FilesystemIterator::key() return the pathname.

FilesystemIterator::KEY_AS_FILENAME

Makes FilesystemIterator::key() return the filename.

FilesystemIterator::FOLLOW_SYMLINKS

Makes RecursiveDirectoryIterator::hasChildren() follow symlinks.

FilesystemIterator::KEY_MODE_MASK

Masks FilesystemIterator::key()

FilesystemIterator::NEW_CURRENT_AND_KEY

Same as FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::CURRENT_AS_FILEINFO.

FilesystemIterator::SKIP_DOTS

Skips dot files (. and ..).

FilesystemIterator::UNIX_PATHS

Makes paths use Unix-style forward slash irrespective of system default. Note that the path that is passed to the constructor is not modified.

Changelog

Versão | Descrição
5.3.1 | Added FilesystemIterator::FOLLOW_SYMLINKS

Índice

  • FilesystemIterator::__construct — Constructs a new filesystem iterator
  • FilesystemIterator::current — The current file
  • FilesystemIterator::getFlags — Get the handling flags
  • FilesystemIterator::key — Retrieve the key for the current file
  • FilesystemIterator::next — Move to the next file
  • FilesystemIterator::rewind — Rewinds back to the beginning
  • FilesystemIterator::setFlags — Sets handling flags


Constructs a new filesystem iterator

  • « FilesystemIterator
  • FilesystemIterator::current »
  • PHP Manual
  • FilesystemIterator
  • Constructs a new filesystem iterator

FilesystemIterator::__construct

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::__construct — Constructs a new filesystem iterator

Descrição

public FilesystemIterator::__construct ( string $path , int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS )

Constructs a new filesystem iterator from the path.

Parâmetros

path

The path of the filesystem item to be iterated over.

flags

Flags may be provided which will affect the behavior of some methods. A list of the flags can found under FilesystemIterator predefined constants. They can also be set later with FilesystemIterator::setFlags()

Nota:

FilesystemIterator::SKIP_DOTS is always set, and cannot be removed.

Valor Retornado

Não há valor retornado.

Erros

Throws an UnexpectedValueException if the path cannot be found.

Exemplos

Exemplo #1 FilesystemIterator::__construct() example

<?php
$it = new FilesystemIterator(dirname(__FILE__));
foreach ($it as $fileinfo) {
    echo $fileinfo->getFilename() . "\n";
}
?>

O exemplo acima irá imprimir:

apples.jpg
banana.jpg
example.php

Veja Também

  • FilesystemIterator::setFlags() - Sets handling flags
  • DirectoryIterator::__construct() - Constrói um novo iterador de diretório a partir de um caminho


The current file

  • « FilesystemIterator::__construct
  • FilesystemIterator::getFlags »
  • PHP Manual
  • FilesystemIterator
  • The current file

FilesystemIterator::current

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::current — The current file

Descrição

public FilesystemIterator::current ( ) : mixed

Get file information of the current element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The filename, file information, or $this depending on the set flags. See the FilesystemIterator constants.

Exemplos

Exemplo #1 FilesystemIterator::current() example

This example will list the contents of the directory containing the script.

<?php
$iterator = new FilesystemIterator(__DIR__, FilesystemIterator::CURRENT_AS_PATHNAME);
foreach ($iterator as $fileinfo) {
    echo $iterator->current() . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

/www/examples/apple.jpg
/www/examples/banana.jpg
/www/examples/example.php

Veja Também

  • FilesystemIterator constants
  • DirectoryIterator::current() - Retorna $this (necessário para a interface Iterator)
  • DirectoryIterator::getFileName() - Retorna o nome do arquivo do elemento atual do diretório


Get the handling flags

  • « FilesystemIterator::current
  • FilesystemIterator::key »
  • PHP Manual
  • FilesystemIterator
  • Get the handling flags

FilesystemIterator::getFlags

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::getFlags — Get the handling flags

Descrição

public FilesystemIterator::getFlags ( ) : int

Gets the handling flags, as set in FilesystemIterator::__construct() or FilesystemIterator::setFlags().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The integer value of the set flags.

Veja Também

  • FilesystemIterator::__construct() - Constructs a new filesystem iterator
  • FilesystemIterator::setFlags() - Sets handling flags


Retrieve the key for the current file

  • « FilesystemIterator::getFlags
  • FilesystemIterator::next »
  • PHP Manual
  • FilesystemIterator
  • Retrieve the key for the current file

FilesystemIterator::key

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::key — Retrieve the key for the current file

Descrição

public FilesystemIterator::key ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the pathname or filename depending on the set flags. See the FilesystemIterator constants.

Exemplos

Exemplo #1 FilesystemIterator::key() example

This example will list the contents of the directory containing the script.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_FILENAME);
foreach ($iterator as $fileinfo) {
    echo $iterator->key() . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

apple.jpg
banana.jpg
example.php

Veja Também

  • FilesystemIterator constants
  • DirectoryIterator::key() - Retorna o elemento atual do diretório
  • DirectoryIterator::getFilename() - Retorna o nome do arquivo do elemento atual do diretório
  • DirectoryIterator::getPathname() - Retorna o caminho e o nome do arquivo do elemento atual do diretório


Move to the next file

  • « FilesystemIterator::key
  • FilesystemIterator::rewind »
  • PHP Manual
  • FilesystemIterator
  • Move to the next file

FilesystemIterator::next

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::next — Move to the next file

Descrição

public FilesystemIterator::next ( ) : void

Move to the next file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 FilesystemIterator::next() example

List the contents of a directory using a while loop.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__));
while($iterator->valid()) {
    echo $iterator->getFilename() . "\n";
    $iterator->next();
}
?>

O exemplo acima irá imprimir algo similar à:

apple.jpg
banana.jpg
example.php

Veja Também

  • DirectoryIterator::next() - Avança para o próximo elemento


Rewinds back to the beginning

  • « FilesystemIterator::next
  • FilesystemIterator::setFlags »
  • PHP Manual
  • FilesystemIterator
  • Rewinds back to the beginning

FilesystemIterator::rewind

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::rewind — Rewinds back to the beginning

Descrição

public FilesystemIterator::rewind ( ) : void

Rewinds the directory back to the start.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 FilesystemIterator::rewind() example

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_FILENAME);

echo $iterator->key() . "\n";

$iterator->next();
echo $iterator->key() . "\n";

$iterator->rewind();
echo $iterator->key() . "\n";
?>

O exemplo acima irá imprimir algo similar à:

apple.jpg
banana.jpg
apple.jpg

Veja Também

  • DirectoryIterator::rewind() - Recomeça a iteração do diretório


Sets handling flags

  • « FilesystemIterator::rewind
  • FilterIterator »
  • PHP Manual
  • FilesystemIterator
  • Sets handling flags

FilesystemIterator::setFlags

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::setFlags — Sets handling flags

Descrição

public FilesystemIterator::setFlags ( int $flags = ? ) : void

Sets handling flags.

Parâmetros

flags

The handling flags to set. See the FilesystemIterator constants.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 FilesystemIterator::key() example

This example demonstrates the difference between the FilesystemIterator::KEY_AS_PATHNAME and FilesystemIterator::KEY_AS_FILENAME flags.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_PATHNAME);
echo "Key as Pathname:\n";
foreach ($iterator as $key => $fileinfo) {
    echo $key . "\n";
}

$iterator->setFlags(FilesystemIterator::KEY_AS_FILENAME);
echo "\nKey as Filename:\n";
foreach ($iterator as $key => $fileinfo) {
    echo $key . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

Key as Pathname:
/www/examples/apple.jpg
/www/examples/banana.jpg
/www/examples/example.php

Key as Filename:
apple.jpg
banana.jpg
example.php

Veja Também

  • FilesystemIterator::__construct() - Constructs a new filesystem iterator
  • FilesystemIterator::getFlags() - Get the handling flags


A classe FilterIterator

Introdução

...

Sinopse da classe

abstract FilterIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator {
/* Métodos */
public abstract accept ( ) : bool
public __construct ( Iterator $iterator )
current ( ) : mixed
getInnerIterator ( ) : Iterator
key ( ) : mixed
next ( ) : void
rewind ( ) : void
valid ( ) : bool
}

Índice

  • FilterIterator::accept — Check whether the current element of the iterator is acceptable
  • FilterIterator::__construct — Construct a filterIterator
  • FilterIterator::current — Retorna o valor do elemento atual
  • FilterIterator::getInnerIterator — Retorna o iterador interno
  • FilterIterator::key — Retorna a chave do elemento atual
  • FilterIterator::next — Avança o iterador
  • FilterIterator::rewind — Recomeça o iterador
  • FilterIterator::valid — Verifica se o elemento atual é válido ou não


Check whether the current element of the iterator is acceptable

  • « FilterIterator
  • FilterIterator::__construct »
  • PHP Manual
  • FilterIterator
  • Check whether the current element of the iterator is acceptable

FilterIterator::accept

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::accept — Check whether the current element of the iterator is acceptable

Descrição

public abstract FilterIterator::accept ( ) : bool

Returns whether the current element of the iterator is acceptable through this filter.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the current element is acceptable, otherwise false.

Exemplos

Exemplo #1 FilterIterator::accept() example

<?php
// This iterator filters all values with less than 10 characters
class LengthFilterIterator extends FilterIterator {

    public function accept() {
        // Only accept strings with a length of 10 and greater
        return strlen(parent::current()) >= 10;
    }

}

$arrayIterator = new ArrayIterator(array('test1', 'more than 10 characters'));
$lengthFilter = new LengthFilterIterator($arrayIterator);

foreach ($lengthFilter as $value) {
    echo $value . "\n";
}
?>

O exemplo acima irá imprimir:

more than 10 characters


Construct a filterIterator

  • « FilterIterator::accept
  • FilterIterator::current »
  • PHP Manual
  • FilterIterator
  • Construct a filterIterator

FilterIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::__construct — Construct a filterIterator

Descrição

public FilterIterator::__construct ( Iterator $iterator )

Constructs a new FilterIterator, which consists of a passed in iterator with filters applied to it.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

iterator

The iterator that is being filtered.

Valor Retornado

The FilterIterator.

Veja Também

  • LimitIterator::__construct() - Construct a LimitIterator


Retorna o valor do elemento atual

  • « FilterIterator::__construct
  • FilterIterator::getInnerIterator »
  • PHP Manual
  • FilterIterator
  • Retorna o valor do elemento atual

FilterIterator::current

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::current — Retorna o valor do elemento atual

Descrição

FilterIterator::current ( ) : mixed
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém o valor do atual elemento.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O valor do elemento atual.

Veja Também

  • FilterIterator::key() - Retorna a chave do elemento atual
  • FilterIterator::next() - Avança o iterador


Retorna o iterador interno

  • « FilterIterator::current
  • FilterIterator::key »
  • PHP Manual
  • FilterIterator
  • Retorna o iterador interno

FilterIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::getInnerIterator — Retorna o iterador interno

Descrição

FilterIterator::getInnerIterator ( ) : Iterator
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém o iterador interno.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O iterador interno.


Retorna a chave do elemento atual

  • « FilterIterator::getInnerIterator
  • FilterIterator::next »
  • PHP Manual
  • FilterIterator
  • Retorna a chave do elemento atual

FilterIterator::key

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::key — Retorna a chave do elemento atual

Descrição

FilterIterator::key ( ) : mixed
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Obtém a chave atual.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A chave atual.

Veja Também

  • FilterIterator::next() - Avança o iterador
  • FilterIterator::current() - Retorna o valor do elemento atual


Avança o iterador

  • « FilterIterator::key
  • FilterIterator::rewind »
  • PHP Manual
  • FilterIterator
  • Avança o iterador

FilterIterator::next

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::next — Avança o iterador

Descrição

FilterIterator::next ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Avança o iterador.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • FilterIterator::current() - Retorna o valor do elemento atual
  • FilterIterator::next()


Recomeça o iterador

  • « FilterIterator::next
  • FilterIterator::valid »
  • PHP Manual
  • FilterIterator
  • Recomeça o iterador

FilterIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::rewind — Recomeça o iterador

Descrição

FilterIterator::rewind ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Recomeça o iterador.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • FilterIterator::current() - Retorna o valor do elemento atual
  • FilterIterator::key() - Retorna a chave do elemento atual
  • FilterIterator::next() - Avança o iterador


Verifica se o elemento atual é válido ou não

  • « FilterIterator::rewind
  • GlobIterator »
  • PHP Manual
  • FilterIterator
  • Verifica se o elemento atual é válido ou não

FilterIterator::valid

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::valid — Verifica se o elemento atual é válido ou não

Descrição

FilterIterator::valid ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Verifica se o elemento atual é válido.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se o elemento atual é válido, false caso contrário


The GlobIterator class

(PHP 5 >= 5.3.0, PHP 7)

Introdução

Iterates through a file system in a similar fashion to glob().

Sinopse da classe

GlobIterator extends FilesystemIterator implements SeekableIterator , Countable {
/* Constantes herdadas */
const int FilesystemIterator::CURRENT_AS_PATHNAME = 32 ;
const int FilesystemIterator::CURRENT_AS_FILEINFO = 0 ;
const int FilesystemIterator::CURRENT_AS_SELF = 16 ;
const int FilesystemIterator::CURRENT_MODE_MASK = 240 ;
const int FilesystemIterator::KEY_AS_PATHNAME = 0 ;
const int FilesystemIterator::KEY_AS_FILENAME = 256 ;
const int FilesystemIterator::FOLLOW_SYMLINKS = 512 ;
const int FilesystemIterator::KEY_MODE_MASK = 3840 ;
const int FilesystemIterator::NEW_CURRENT_AND_KEY = 256 ;
const int FilesystemIterator::SKIP_DOTS = 4096 ;
const int FilesystemIterator::UNIX_PATHS = 8192 ;
/* Métodos */
public __construct ( string $pattern , int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO )
public count ( ) : int
/* Métodos herdados */
public FilesystemIterator::__construct ( string $path , int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS )
public FilesystemIterator::current ( ) : mixed
public FilesystemIterator::getFlags ( ) : int
public FilesystemIterator::key ( ) : string
public FilesystemIterator::next ( ) : void
public FilesystemIterator::rewind ( ) : void
public FilesystemIterator::setFlags ( int $flags = ? ) : void
}

Índice

  • GlobIterator::__construct — Construct a directory using glob
  • GlobIterator::count — Get the number of directories and files


Construct a directory using glob

  • « GlobIterator
  • GlobIterator::count »
  • PHP Manual
  • GlobIterator
  • Construct a directory using glob

GlobIterator::__construct

(PHP 5 >= 5.3.0, PHP 7)

GlobIterator::__construct — Construct a directory using glob

Descrição

public GlobIterator::__construct ( string $pattern , int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO )

Constructs a new directory iterator from a glob expression.

Parâmetros

pattern

A glob() pattern.

flags

Option flags, the flags may be a bitmask of the FilesystemIterator constants.

Exemplos

Exemplo #1 GlobIterator example

<?php
$iterator = new GlobIterator('*.dll', FilesystemIterator::KEY_AS_FILENAME);

if (!$iterator->count()) {
    echo 'No matches';
} else {
    $n = 0;

    printf("Matched %d item(s)\r\n", $iterator->count());

    foreach ($iterator as $item) {
        printf("[%d] %s\r\n", ++$n, $iterator->key());
    }
}
?>

O exemplo acima irá imprimir algo similar à:

Matched 2 item(s)
[1] php5ts.dll
[2] php_gd2.dll

Veja Também

  • DirectoryIterator::__construct() - Constrói um novo iterador de diretório a partir de um caminho
  • GlobIterator::count() - Get the number of directories and files
  • glob() - Acha caminhos que combinam com um padrão


Get the number of directories and files

  • « GlobIterator::__construct
  • InfiniteIterator »
  • PHP Manual
  • GlobIterator
  • Get the number of directories and files

GlobIterator::count

(PHP 5 >= 5.3.0, PHP 7)

GlobIterator::count — Get the number of directories and files

Descrição

public GlobIterator::count ( ) : int

Gets the number of directories and files found by the glob expression.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of returned directories and files, as an int.

Exemplos

Exemplo #1 GlobIterator::count() example

<?php
$iterator = new GlobIterator('*.xml');

printf("Matched %d item(s)\r\n", $iterator->count());
?>

O exemplo acima irá imprimir algo similar à:

Matched 8 item(s)

Veja Também

  • GlobIterator::__construct() - Construct a directory using glob
  • count() - Conta o número de elementos de uma variável, ou propriedades de um objeto
  • glob() - Acha caminhos que combinam com um padrão


The InfiniteIterator class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

The InfiniteIterator allows one to infinitely iterate over an iterator without having to manually rewind the iterator upon reaching its end.

Sinopse da classe

InfiniteIterator extends IteratorIterator implements OuterIterator {
/* Métodos */
public __construct ( Iterator $iterator )
public next ( ) : void
/* Métodos herdados */
public IteratorIterator::__construct ( Traversable $iterator )
public IteratorIterator::current ( ) : mixed
public IteratorIterator::getInnerIterator ( ) : Traversable
public IteratorIterator::key ( ) : mixed
public IteratorIterator::next ( ) : void
public IteratorIterator::rewind ( ) : void
public IteratorIterator::valid ( ) : bool
}

Índice

  • InfiniteIterator::__construct — Constructs an InfiniteIterator
  • InfiniteIterator::next — Moves the inner Iterator forward or rewinds it


Constructs an InfiniteIterator

  • « InfiniteIterator
  • InfiniteIterator::next »
  • PHP Manual
  • InfiniteIterator
  • Constructs an InfiniteIterator

InfiniteIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

InfiniteIterator::__construct — Constructs an InfiniteIterator

Descrição

public InfiniteIterator::__construct ( Iterator $iterator )

Constructs an InfiniteIterator from an Iterator.

Parâmetros

iterator

The iterator to infinitely iterate over.

Valor Retornado

Não há valor retornado.

Erros

Throws an E_RECOVERABLE_ERROR if the iterator parameter is not an Iterator.

Exemplos

Exemplo #1 InfiniteIterator::__construct() example

<?php
$arrayit  = new ArrayIterator(array('cat','dog'));
$infinite = new InfiniteIterator($arrayit);
$limit    = new LimitIterator($infinite, 0, 7);
foreach($limit as $value)
{
    echo "$value\n";
}
?>

O exemplo acima irá imprimir:

cat
dog
cat
dog
cat
dog
cat

Veja Também

  • InfiniteIterator::next() - Moves the inner Iterator forward or rewinds it


Moves the inner Iterator forward or rewinds it

  • « InfiniteIterator::__construct
  • IteratorIterator »
  • PHP Manual
  • InfiniteIterator
  • Moves the inner Iterator forward or rewinds it

InfiniteIterator::next

(PHP 5 >= 5.1.0, PHP 7)

InfiniteIterator::next — Moves the inner Iterator forward or rewinds it

Descrição

public InfiniteIterator::next ( ) : void

Moves the inner Iterator forward to its next element if there is one, otherwise rewinds the inner Iterator back to the beginning.

Nota:

Even an InfiniteIterator stops if its inner Iterator is empty.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • InfiniteIterator::__construct() - Constructs an InfiniteIterator


The IteratorIterator class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

This iterator wrapper allows the conversion of anything that is Traversable into an Iterator. It is important to understand that most classes that do not implement Iterators have reasons as most likely they do not allow the full Iterator feature set. If so, techniques should be provided to prevent misuse, otherwise expect exceptions or fatal errors.

Sinopse da classe

IteratorIterator implements OuterIterator {
/* Métodos */
public __construct ( Traversable $iterator )
public current ( ) : mixed
public getInnerIterator ( ) : Traversable
public key ( ) : mixed
public next ( ) : void
public rewind ( ) : void
public valid ( ) : bool
}

Notas

Nota:

This class permits access to methods of the inner iterator via the __call magic method.

Índice

  • IteratorIterator::__construct — Create an iterator from anything that is traversable
  • IteratorIterator::current — Get the current value
  • IteratorIterator::getInnerIterator — Get the inner iterator
  • IteratorIterator::key — Get the key of the current element
  • IteratorIterator::next — Forward to the next element
  • IteratorIterator::rewind — Rewind to the first element
  • IteratorIterator::valid — Checks if the iterator is valid


Create an iterator from anything that is traversable

  • « IteratorIterator
  • IteratorIterator::current »
  • PHP Manual
  • IteratorIterator
  • Create an iterator from anything that is traversable

IteratorIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::__construct — Create an iterator from anything that is traversable

Descrição

public IteratorIterator::__construct ( Traversable $iterator )

Creates an iterator from anything that is traversable.

Parâmetros

iterator

The traversable iterator.

Valor Retornado

Não há valor retornado.

Veja Também

  • Traversable


Get the current value

  • « IteratorIterator::__construct
  • IteratorIterator::getInnerIterator »
  • PHP Manual
  • IteratorIterator
  • Get the current value

IteratorIterator::current

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::current — Get the current value

Descrição

public IteratorIterator::current ( ) : mixed

Get the value of the current element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value of the current element.

Veja Também

  • IteratorIterator::key() - Get the key of the current element


Get the inner iterator

  • « IteratorIterator::current
  • IteratorIterator::key »
  • PHP Manual
  • IteratorIterator
  • Get the inner iterator

IteratorIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::getInnerIterator — Get the inner iterator

Descrição

public IteratorIterator::getInnerIterator ( ) : Traversable

Get the inner iterator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The inner iterator as passed to IteratorIterator::__construct().

Veja Também

  • Iterator
  • OuterIterator


Get the key of the current element

  • « IteratorIterator::getInnerIterator
  • IteratorIterator::next »
  • PHP Manual
  • IteratorIterator
  • Get the key of the current element

IteratorIterator::key

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::key — Get the key of the current element

Descrição

public IteratorIterator::key ( ) : mixed

Get the key of the current element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The key of the current element.

Veja Também

  • IteratorIterator::current() - Get the current value


Forward to the next element

  • « IteratorIterator::key
  • IteratorIterator::rewind »
  • PHP Manual
  • IteratorIterator
  • Forward to the next element

IteratorIterator::next

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::next — Forward to the next element

Descrição

public IteratorIterator::next ( ) : void

Forward to the next element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • IteratorIterator::rewind() - Rewind to the first element
  • IteratorIterator::valid() - Checks if the iterator is valid


Rewind to the first element

  • « IteratorIterator::next
  • IteratorIterator::valid »
  • PHP Manual
  • IteratorIterator
  • Rewind to the first element

IteratorIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::rewind — Rewind to the first element

Descrição

public IteratorIterator::rewind ( ) : void

Rewinds to the first element.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • IteratorIterator::next() - Forward to the next element
  • IteratorIterator::valid() - Checks if the iterator is valid


Checks if the iterator is valid

  • « IteratorIterator::rewind
  • LimitIterator »
  • PHP Manual
  • IteratorIterator
  • Checks if the iterator is valid

IteratorIterator::valid

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::valid — Checks if the iterator is valid

Descrição

public IteratorIterator::valid ( ) : bool

Checks if the iterator is valid.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the iterator is valid, otherwise false

Veja Também

  • iterator_count() - Conta o número de elementos do iterador
  • IteratorIterator::current() - Get the current value


A classe LimitIterator

Introdução

...

Sinopse da classe

LimitIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator {
/* Métodos */
public __construct ( Iterator $iterator , int $offset = 0 , int $limit = -1 )
public current ( ) : mixed
public getInnerIterator ( ) : Iterator
getPosition ( ) : int
public key ( ) : mixed
next ( ) : void
rewind ( ) : void
seek ( int $position ) : void
valid ( ) : bool
}

Exemplos

Exemplo #1 LimitIterator usage example

<?php

// Create an iterator to be limited
$fruits = new ArrayIterator(array(
    'apple',
    'banana',
    'cherry',
    'damson',
    'elderberry'
));

// Loop over first three fruits only
foreach (new LimitIterator($fruits, 0, 3) as $fruit) {
    var_dump($fruit);
}

echo "\n";

// Loop from third fruit until the end
// Note: offset starts from zero for apple
foreach (new LimitIterator($fruits, 2) as $fruit) {
    var_dump($fruit);
}

?>

O exemplo acima irá imprimir:

string(5) "apple"
string(6) "banana"
string(6) "cherry"

string(6) "cherry"
string(6) "damson"
string(10) "elderberry"

Índice

  • LimitIterator::__construct — Construct a LimitIterator
  • LimitIterator::current — Get current element
  • LimitIterator::getInnerIterator — Get inner iterator
  • LimitIterator::getPosition — Retorna a posição atual
  • LimitIterator::key — Get current key
  • LimitIterator::next — Avança o iterador
  • LimitIterator::rewind — Retorna o iterador para o começo especificado no construtor
  • LimitIterator::seek — Aponta para a posição especificada
  • LimitIterator::valid — Verifica se o elemento atual é válido ou não


Construct a LimitIterator

  • « LimitIterator
  • LimitIterator::current »
  • PHP Manual
  • LimitIterator
  • Construct a LimitIterator

LimitIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::__construct — Construct a LimitIterator

Descrição

public LimitIterator::__construct ( Iterator $iterator , int $offset = 0 , int $limit = -1 )

Constructs a new LimitIterator from an iterator with a given starting offset and maximum limit.

Parâmetros

iterator

The Iterator to limit.

offset

Optional offset of the limit.

limit

Optional count of the limit.

Valor Retornado

The new LimitIterator.

Erros

Throws an OutOfRangeException if the offset is less than 0 or the limit is less than -1.

Exemplos

Exemplo #1 LimitIterator::__construct() example

<?php
$ait = new ArrayIterator(array('a', 'b', 'c', 'd', 'e'));
$lit = new LimitIterator($ait, 1, 3);
foreach ($lit as $value) {
    echo $value . "\n";
}
?>

O exemplo acima irá imprimir:

b
c
d

Veja Também

  • LimitIterator examples


Get current element

  • « LimitIterator::__construct
  • LimitIterator::getInnerIterator »
  • PHP Manual
  • LimitIterator
  • Get current element

LimitIterator::current

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::current — Get current element

Descrição

public LimitIterator::current ( ) : mixed

Gets the current element of the inner Iterator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current element or null if there is none.

Veja Também

  • LimitIterator::key() - Get current key
  • LimitIterator::next() - Avança o iterador
  • LimitIterator::rewind() - Retorna o iterador para o começo especificado no construtor
  • LimitIterator::seek() - Aponta para a posição especificada
  • LimitIterator::valid() - Verifica se o elemento atual é válido ou não


Get inner iterator

  • « LimitIterator::current
  • LimitIterator::getPosition »
  • PHP Manual
  • LimitIterator
  • Get inner iterator

LimitIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::getInnerIterator — Get inner iterator

Descrição

public LimitIterator::getInnerIterator ( ) : Iterator

Gets the inner Iterator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The inner iterator passed to LimitIterator::__construct().

Veja Também

  • LimitIterator::__construct() - Construct a LimitIterator
  • IteratorIterator::getInnerIterator() - Get the inner iterator


Retorna a posição atual

  • « LimitIterator::getInnerIterator
  • LimitIterator::key »
  • PHP Manual
  • LimitIterator
  • Retorna a posição atual

LimitIterator::getPosition

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::getPosition — Retorna a posição atual

Descrição

LimitIterator::getPosition ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A posição atual.


Get current key

  • « LimitIterator::getPosition
  • LimitIterator::next »
  • PHP Manual
  • LimitIterator
  • Get current key

LimitIterator::key

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::key — Get current key

Descrição

public LimitIterator::key ( ) : mixed

Gets the key for the current item in the inner Iterator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the key for the current item.

Veja Também

  • LimitIterator::getPosition() - Retorna a posição atual
  • LimitIterator::current() - Get current element
  • LimitIterator::next() - Avança o iterador
  • LimitIterator::rewind() - Retorna o iterador para o começo especificado no construtor
  • LimitIterator::seek() - Aponta para a posição especificada
  • LimitIterator::valid() - Verifica se o elemento atual é válido ou não


Avança o iterador

  • « LimitIterator::key
  • LimitIterator::rewind »
  • PHP Manual
  • LimitIterator
  • Avança o iterador

LimitIterator::next

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::next — Avança o iterador

Descrição

LimitIterator::next ( ) : void

Avança o iterador.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Retorna o iterador para o começo especificado no construtor

  • « LimitIterator::next
  • LimitIterator::seek »
  • PHP Manual
  • LimitIterator
  • Retorna o iterador para o começo especificado no construtor

LimitIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::rewind — Retorna o iterador para o começo especificado no construtor

Descrição

LimitIterator::rewind ( ) : void

Retorna o iterador para o começo especificado no construtor.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Aponta para a posição especificada

  • « LimitIterator::rewind
  • LimitIterator::valid »
  • PHP Manual
  • LimitIterator
  • Aponta para a posição especificada

LimitIterator::seek

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::seek — Aponta para a posição especificada

Descrição

LimitIterator::seek ( int $position ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

position

A posição a ser procurada.

Valor Retornado

Não há valor retornado.


Verifica se o elemento atual é válido ou não

  • « LimitIterator::seek
  • MultipleIterator »
  • PHP Manual
  • LimitIterator
  • Verifica se o elemento atual é válido ou não

LimitIterator::valid

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::valid — Verifica se o elemento atual é válido ou não

Descrição

LimitIterator::valid ( ) : bool

Verifica se o elemento atual é válido ou não.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


The MultipleIterator class

(PHP 5 >= 5.3.0, PHP 7)

Introdução

An Iterator that sequentially iterates over all attached iterators

Sinopse da classe

MultipleIterator implements Iterator {
/* Constantes */
const int MIT_NEED_ANY = 0 ;
const int MIT_NEED_ALL = 1 ;
const int MIT_KEYS_NUMERIC = 0 ;
const int MIT_KEYS_ASSOC = 2 ;
/* Métodos */
public __construct ( int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC )
public attachIterator ( Iterator $iterator , string $infos = ? ) : void
public containsIterator ( Iterator $iterator ) : bool
public countIterators ( ) : int
public current ( ) : array
public detachIterator ( Iterator $iterator ) : void
public getFlags ( ) : int
public key ( ) : array
public next ( ) : void
public rewind ( ) : void
public setFlags ( int $flags ) : void
public valid ( ) : bool
}

Constantes pré-definidas

MultipleIterator::MIT_NEED_ANY

Do not require all sub iterators to be valid in iteration.

MultipleIterator::MIT_NEED_ALL

Require all sub iterators to be valid in iteration.

MultipleIterator::MIT_KEYS_NUMERIC

Keys are created from the sub iterators position.

MultipleIterator::MIT_KEYS_ASSOC

Keys are created from sub iterators associated information.

Índice

  • MultipleIterator::attachIterator — Attaches iterator information
  • MultipleIterator::__construct — Constructs a new MultipleIterator
  • MultipleIterator::containsIterator — Checks if an iterator is attached
  • MultipleIterator::countIterators — Gets the number of attached iterator instances
  • MultipleIterator::current — Gets the registered iterator instances
  • MultipleIterator::detachIterator — Detaches an iterator
  • MultipleIterator::getFlags — Gets the flag information
  • MultipleIterator::key — Gets the registered iterator instances
  • MultipleIterator::next — Moves all attached iterator instances forward
  • MultipleIterator::rewind — Rewinds all attached iterator instances
  • MultipleIterator::setFlags — Sets flags
  • MultipleIterator::valid — Checks the validity of sub iterators


Attaches iterator information

  • « MultipleIterator
  • MultipleIterator::__construct »
  • PHP Manual
  • MultipleIterator
  • Attaches iterator information

MultipleIterator::attachIterator

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::attachIterator — Attaches iterator information

Descrição

public MultipleIterator::attachIterator ( Iterator $iterator , string $infos = ? ) : void

Attaches iterator information.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

iterator

The new iterator to attach.

infos

The associative information for the Iterator, which must be an int, a string, or null.

Valor Retornado

Description...

Erros

An IllegalValueException if the iterator parameter is invalid, or if infos is already associated information.

Veja Também

  • MultipleIterator::__construct() - Constructs a new MultipleIterator


Constructs a new MultipleIterator

  • « MultipleIterator::attachIterator
  • MultipleIterator::containsIterator »
  • PHP Manual
  • MultipleIterator
  • Constructs a new MultipleIterator

MultipleIterator::__construct

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::__construct — Constructs a new MultipleIterator

Descrição

public MultipleIterator::__construct ( int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC )

Construct a new MultipleIterator.

Parâmetros

flags

The flags to set, according to the Flag Constants.

  • MultipleIterator::MIT_NEED_ALL or MultipleIterator::MIT_NEED_ANY
  • MultipleIterator::MIT_KEYS_NUMERIC or MultipleIterator::MIT_KEYS_ASSOC

Defaults to MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Iterating a MultipleIterator

<?php
$people = new ArrayIterator(array('John', 'Jane', 'Jack', 'Judy'));
$roles  = new ArrayIterator(array('Developer', 'Scrum Master', 'Project Owner'));

$team = new MultipleIterator($flags);
$team->attachIterator($people, 'person');
$team->attachIterator($roles, 'role');

foreach ($team as $member) {
    print_r($member);
}
?>

Output with $flags = MIT_NEED_ALL|MIT_KEYS_NUMERIC

Array
(
    [0] => John
    [1] => Developer
)
Array
(
    [0] => Jane
    [1] => Scrum Master
)
Array
(
    [0] => Jack
    [1] => Project Owner
)

Output with $flags = MIT_NEED_ANY|MIT_KEYS_NUMERIC

Array
(
    [0] => John
    [1] => Developer
)
Array
(
    [0] => Jane
    [1] => Scrum Master
)
Array
(
    [0] => Jack
    [1] => Project Owner
)
Array
(
    [0] => Judy
    [1] =>
)

Output with $flags = MIT_NEED_ALL|MIT_KEYS_ASSOC

Array
(
    [person] => John
    [role] => Developer
)
Array
(
    [person] => Jane
    [role] => Scrum Master
)
Array
(
    [person] => Jack
    [role] => Project Owner
)

Output with $flags = MIT_NEED_ANY|MIT_KEYS_ASSOC

Array
(
    [person] => John
    [role] => Developer
)
Array
(
    [person] => Jane
    [role] => Scrum Master
)
Array
(
    [person] => Jack
    [role] => Project Owner
)
Array
(
    [person] => Judy
    [role] =>
)

Veja Também

  • Flag Constants
  • MultipleIterator::valid() - Checks the validity of sub iterators


Checks if an iterator is attached

  • « MultipleIterator::__construct
  • MultipleIterator::countIterators »
  • PHP Manual
  • MultipleIterator
  • Checks if an iterator is attached

MultipleIterator::containsIterator

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::containsIterator — Checks if an iterator is attached

Descrição

public MultipleIterator::containsIterator ( Iterator $iterator ) : bool

Checks if an iterator is attached or not.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

iterator

The iterator to check.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • MultipleIterator::valid() - Checks the validity of sub iterators


Gets the number of attached iterator instances

  • « MultipleIterator::containsIterator
  • MultipleIterator::current »
  • PHP Manual
  • MultipleIterator
  • Gets the number of attached iterator instances

MultipleIterator::countIterators

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::countIterators — Gets the number of attached iterator instances

Descrição

public MultipleIterator::countIterators ( ) : int

Gets the number of attached iterator instances.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of attached iterator instances (as an int).

Veja Também

  • MultipleIterator::containsIterator() - Checks if an iterator is attached


Gets the registered iterator instances

  • « MultipleIterator::countIterators
  • MultipleIterator::detachIterator »
  • PHP Manual
  • MultipleIterator
  • Gets the registered iterator instances

MultipleIterator::current

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::current — Gets the registered iterator instances

Descrição

public MultipleIterator::current ( ) : array

Get the registered iterator instances current() result.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing the current values of each attached iterator, or false if no iterators are attached.

Erros

A RuntimeException if mode MIT_NEED_ALL is set and at least one attached iterator is not valid. Or an IllegalValueException if a key is null and MIT_KEYS_ASSOC is set.

Veja Também

  • MultipleIterator::valid() - Checks the validity of sub iterators


Detaches an iterator

  • « MultipleIterator::current
  • MultipleIterator::getFlags »
  • PHP Manual
  • MultipleIterator
  • Detaches an iterator

MultipleIterator::detachIterator

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::detachIterator — Detaches an iterator

Descrição

public MultipleIterator::detachIterator ( Iterator $iterator ) : void

Detaches an iterator.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

iterator

The iterator to detach.

Valor Retornado

Não há valor retornado.

Veja Também

  • MultipleIterator::attachIterator() - Attaches iterator information


Gets the flag information

  • « MultipleIterator::detachIterator
  • MultipleIterator::key »
  • PHP Manual
  • MultipleIterator
  • Gets the flag information

MultipleIterator::getFlags

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::getFlags — Gets the flag information

Descrição

public MultipleIterator::getFlags ( ) : int

Gets information about the flags.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Information about the flags, as an int.

Veja Também

  • Flag Constants
  • MultipleIterator::__construct() - Constructs a new MultipleIterator
  • MultipleIterator::setFlags() - Sets flags


Gets the registered iterator instances

  • « MultipleIterator::getFlags
  • MultipleIterator::next »
  • PHP Manual
  • MultipleIterator
  • Gets the registered iterator instances

MultipleIterator::key

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::key — Gets the registered iterator instances

Descrição

public MultipleIterator::key ( ) : array

Get the registered iterator instances key() result.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of all registered iterator instances, or false if no sub iterator is attached.

Erros

A LogicException if mode MIT_NEED_ALL is set, and at least one attached iterator is not valid.

Calling this method from foreach triggers warning "Illegal type returned".

Veja Também

  • MultipleIterator::current() - Gets the registered iterator instances


Moves all attached iterator instances forward

  • « MultipleIterator::key
  • MultipleIterator::rewind »
  • PHP Manual
  • MultipleIterator
  • Moves all attached iterator instances forward

MultipleIterator::next

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::next — Moves all attached iterator instances forward

Descrição

public MultipleIterator::next ( ) : void

Moves all attached iterator instances forward.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • MultipleIterator::rewind() - Rewinds all attached iterator instances


Rewinds all attached iterator instances

  • « MultipleIterator::next
  • MultipleIterator::setFlags »
  • PHP Manual
  • MultipleIterator
  • Rewinds all attached iterator instances

MultipleIterator::rewind

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::rewind — Rewinds all attached iterator instances

Descrição

public MultipleIterator::rewind ( ) : void

Rewinds all attached iterator instances.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • MultipleIterator::next() - Moves all attached iterator instances forward


Sets flags

  • « MultipleIterator::rewind
  • MultipleIterator::valid »
  • PHP Manual
  • MultipleIterator
  • Sets flags

MultipleIterator::setFlags

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::setFlags — Sets flags

Descrição

public MultipleIterator::setFlags ( int $flags ) : void

Sets flags.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

flags

The flags to set, according to the Flag Constants

Valor Retornado

Não há valor retornado.

Veja Também

  • Flag Constants
  • MultipleIterator::__construct() - Constructs a new MultipleIterator
  • MultipleIterator::getFlags() - Gets the flag information


Checks the validity of sub iterators

  • « MultipleIterator::setFlags
  • NoRewindIterator »
  • PHP Manual
  • MultipleIterator
  • Checks the validity of sub iterators

MultipleIterator::valid

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::valid — Checks the validity of sub iterators

Descrição

public MultipleIterator::valid ( ) : bool

Checks the validity of sub iterators.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if one or all sub iterators are valid depending on flags, otherwise false

Veja Também

  • MultipleIterator::__construct() - Constructs a new MultipleIterator


The NoRewindIterator class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

This iterator ignores rewind operations. This allows processing an iterator in multiple partial foreach loops.

Sinopse da classe

NoRewindIterator extends IteratorIterator {
/* Métodos */
public __construct ( Iterator $iterator )
public current ( ) : mixed
public getInnerIterator ( ) : iterator
public key ( ) : mixed
public next ( ) : void
public rewind ( ) : void
public valid ( ) : bool
/* Métodos herdados */
public IteratorIterator::__construct ( Traversable $iterator )
public IteratorIterator::current ( ) : mixed
public IteratorIterator::getInnerIterator ( ) : Traversable
public IteratorIterator::key ( ) : mixed
public IteratorIterator::next ( ) : void
public IteratorIterator::rewind ( ) : void
public IteratorIterator::valid ( ) : bool
}

Índice

  • NoRewindIterator::__construct — Construct a NoRewindIterator
  • NoRewindIterator::current — Get the current value
  • NoRewindIterator::getInnerIterator — Get the inner iterator
  • NoRewindIterator::key — Get the current key
  • NoRewindIterator::next — Forward to the next element
  • NoRewindIterator::rewind — Prevents the rewind operation on the inner iterator
  • NoRewindIterator::valid — Validates the iterator


Construct a NoRewindIterator

  • « NoRewindIterator
  • NoRewindIterator::current »
  • PHP Manual
  • NoRewindIterator
  • Construct a NoRewindIterator

NoRewindIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::__construct — Construct a NoRewindIterator

Descrição

public NoRewindIterator::__construct ( Iterator $iterator )

Constructs a NoRewindIterator.

Parâmetros

iterator

The iterator being used.

Valor Retornado

A NoRewindIterator() based on the passed in iterator.

Exemplos

Exemplo #1 NoRewindIterator::__construct() example

The second loop does not output because the iterator is only used once, as it does not rewind.

<?php
$fruit = array('apple', 'banana', 'cranberry');

$arr = new ArrayObject($fruit);
$it  = new NoRewindIterator($arr->getIterator());

echo "Fruit A:\n";
foreach( $it as $item ) {
    echo $item . "\n";
}

echo "Fruit B:\n";
foreach( $it as $item ) {
    echo $item . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

Fruit A:
apple
banana
cranberry
Fruit B:

Veja Também

  • NoRewindIterator::valid() - Validates the iterator


Get the current value

  • « NoRewindIterator::__construct
  • NoRewindIterator::getInnerIterator »
  • PHP Manual
  • NoRewindIterator
  • Get the current value

NoRewindIterator::current

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::current — Get the current value

Descrição

public NoRewindIterator::current ( ) : mixed

Gets the current value.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current value.

Veja Também

  • NoRewindIterator::key() - Get the current key


Get the inner iterator

  • « NoRewindIterator::current
  • NoRewindIterator::key »
  • PHP Manual
  • NoRewindIterator
  • Get the inner iterator

NoRewindIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::getInnerIterator — Get the inner iterator

Descrição

public NoRewindIterator::getInnerIterator ( ) : iterator

Gets the inner iterator, that was passed in to NoRewindIterator.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The inner iterator, as passed to NoRewindIterator::__construct().

Veja Também

  • NoRewindIterator::valid() - Validates the iterator


Get the current key

  • « NoRewindIterator::getInnerIterator
  • NoRewindIterator::next »
  • PHP Manual
  • NoRewindIterator
  • Get the current key

NoRewindIterator::key

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::key — Get the current key

Descrição

public NoRewindIterator::key ( ) : mixed

Gets the current key.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current key.

Veja Também

  • NoRewindIterator::next() - Forward to the next element


Forward to the next element

  • « NoRewindIterator::key
  • NoRewindIterator::rewind »
  • PHP Manual
  • NoRewindIterator
  • Forward to the next element

NoRewindIterator::next

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::next — Forward to the next element

Descrição

public NoRewindIterator::next ( ) : void

Forwards to the next element.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • NoRewindIterator::rewind() - Prevents the rewind operation on the inner iterator


Prevents the rewind operation on the inner iterator

  • « NoRewindIterator::next
  • NoRewindIterator::valid »
  • PHP Manual
  • NoRewindIterator
  • Prevents the rewind operation on the inner iterator

NoRewindIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::rewind — Prevents the rewind operation on the inner iterator

Descrição

public NoRewindIterator::rewind ( ) : void

Prevents the rewind operation on the inner iterator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 NoRewindIterator::rewind() example

This example demonstrates that calling rewind on a NoRewindIterator object has no effect.

<?php
$fruits = array("lemon", "orange", "apple", "pear");

$noRewindIterator = new NoRewindIterator(new ArrayIterator($fruits));

echo $noRewindIterator->current() . "\n";
$noRewindIterator->next();
// now rewind the iterator (nothing should happen)
$noRewindIterator->rewind();
echo $noRewindIterator->current() . "\n";
?>

O exemplo acima irá imprimir:

lemon
orange


Validates the iterator

  • « NoRewindIterator::rewind
  • ParentIterator »
  • PHP Manual
  • NoRewindIterator
  • Validates the iterator

NoRewindIterator::valid

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::valid — Validates the iterator

Descrição

public NoRewindIterator::valid ( ) : bool

Checks whether the iterator is valid.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • NoRewindIterator::getInnerIterator() - Get the inner iterator


A classe ParentIterator

Introdução

...

Sinopse da classe

ParentIterator extends RecursiveFilterIterator implements RecursiveIterator , OuterIterator , Traversable , Iterator {
/* Métodos */
public accept ( ) : bool
public __construct ( RecursiveIterator $iterator )
getChildren ( ) : ParentIterator
hasChildren ( ) : bool
next ( ) : void
rewind ( ) : void
}

Índice

  • ParentIterator::accept — Determines acceptability
  • ParentIterator::__construct — Constructs a ParentIterator
  • ParentIterator::getChildren — Retorna os filhos do iterador interno de um ParentIterator
  • ParentIterator::hasChildren — Verifica se o elemento atual do iterador interno tem ou não filhos
  • ParentIterator::next — Avança o iterador
  • ParentIterator::rewind — Recomeça o iterador


Determines acceptability

  • « ParentIterator
  • ParentIterator::__construct »
  • PHP Manual
  • ParentIterator
  • Determines acceptability

ParentIterator::accept

(PHP 5 >= 5.1.0, PHP 7)

ParentIterator::accept — Determines acceptability

Descrição

public ParentIterator::accept ( ) : bool

Determines if the current element has children.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the current element is acceptable, otherwise false.

Veja Também

  • ParentIterator::hasChildren() - Verifica se o elemento atual do iterador interno tem ou não filhos
  • FilterIterator::accept() - Check whether the current element of the iterator is acceptable


Constructs a ParentIterator

  • « ParentIterator::accept
  • ParentIterator::getChildren »
  • PHP Manual
  • ParentIterator
  • Constructs a ParentIterator

ParentIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

ParentIterator::__construct — Constructs a ParentIterator

Descrição

public ParentIterator::__construct ( RecursiveIterator $iterator )

Constructs a ParentIterator on an iterator.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

iterator

The iterator being constructed upon.

Valor Retornado

The ParentIterator.


Retorna os filhos do iterador interno de um ParentIterator

  • « ParentIterator::__construct
  • ParentIterator::hasChildren »
  • PHP Manual
  • ParentIterator
  • Retorna os filhos do iterador interno de um ParentIterator

ParentIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

ParentIterator::getChildren — Retorna os filhos do iterador interno de um ParentIterator

Descrição

ParentIterator::getChildren ( ) : ParentIterator

Retorna os filhos do iterador interno de um ParentIterator.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Um object.


Verifica se o elemento atual do iterador interno tem ou não filhos

  • « ParentIterator::getChildren
  • ParentIterator::next »
  • PHP Manual
  • ParentIterator
  • Verifica se o elemento atual do iterador interno tem ou não filhos

ParentIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7)

ParentIterator::hasChildren — Verifica se o elemento atual do iterador interno tem ou não filhos

Descrição

ParentIterator::hasChildren ( ) : bool

Verifica se o elemento atual do iterador interno tem filhos.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Avança o iterador

  • « ParentIterator::hasChildren
  • ParentIterator::rewind »
  • PHP Manual
  • ParentIterator
  • Avança o iterador

ParentIterator::next

(PHP 5 >= 5.1.0, PHP 7)

ParentIterator::next — Avança o iterador

Descrição

ParentIterator::next ( ) : void

Avança o iterador.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Recomeça o iterador

  • « ParentIterator::next
  • RecursiveArrayIterator »
  • PHP Manual
  • ParentIterator
  • Recomeça o iterador

ParentIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

ParentIterator::rewind — Recomeça o iterador

Descrição

ParentIterator::rewind ( ) : void

Recomeça o iterador.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


The RecursiveArrayIterator class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

This iterator allows to unset and modify values and keys while iterating over Arrays and Objects in the same way as the ArrayIterator. Additionally it is possible to iterate over the current iterator entry.

Sinopse da classe

RecursiveArrayIterator extends ArrayIterator implements RecursiveIterator {
/* Constantes herdadas */
const integer STD_PROP_LIST = 1 ;
const integer ARRAY_AS_PROPS = 2 ;
/* Constantes */
const int CHILD_ARRAYS_ONLY = 4 ;
/* Métodos */
public getChildren ( ) : RecursiveArrayIterator
public hasChildren ( ) : bool
/* Inherits */
public ArrayIterator::append ( mixed $value ) : void
public ArrayIterator::asort ( ) : void
public ArrayIterator::__construct ( mixed $array = array() , int $flags = 0 )
public ArrayIterator::count ( ) : int
ArrayIterator::current ( ) : mixed
public ArrayIterator::getArrayCopy ( ) : array
public ArrayIterator::getFlags ( ) : void
ArrayIterator::key ( ) : mixed
public ArrayIterator::ksort ( ) : void
public ArrayIterator::natcasesort ( ) : void
public ArrayIterator::natsort ( ) : void
ArrayIterator::next ( ) : void
public ArrayIterator::offsetExists ( mixed $index ) : bool
public ArrayIterator::offsetGet ( mixed $index ) : mixed
public ArrayIterator::offsetSet ( mixed $index , mixed $newval ) : void
public ArrayIterator::offsetUnset ( mixed $index ) : void
ArrayIterator::rewind ( ) : void
ArrayIterator::seek ( int $position ) : void
public ArrayIterator::serialize ( ) : string
public ArrayIterator::setFlags ( string $flags ) : void
public ArrayIterator::uasort ( callable $cmp_function ) : void
public ArrayIterator::uksort ( callable $cmp_function ) : void
public ArrayIterator::unserialize ( string $serialized ) : void
ArrayIterator::valid ( ) : bool
}

Constantes pré-definidas

RecursiveArrayIterator Flags

RecursiveArrayIterator::CHILD_ARRAYS_ONLY

Treat only arrays (not objects) as having children for recursive iteration.

Changelog

Versão | Descrição
5.3.0 | CHILD_ARRAYS_ONLY flag was added.

Índice

  • RecursiveArrayIterator::getChildren — Returns an iterator for the current entry if it is an array or an object
  • RecursiveArrayIterator::hasChildren — Returns whether current entry is an array or an object


Returns an iterator for the current entry if it is an array or an object

  • « RecursiveArrayIterator
  • RecursiveArrayIterator::hasChildren »
  • PHP Manual
  • RecursiveArrayIterator
  • Returns an iterator for the current entry if it is an array or an object

RecursiveArrayIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveArrayIterator::getChildren — Returns an iterator for the current entry if it is an array or an object

Descrição

public RecursiveArrayIterator::getChildren ( ) : RecursiveArrayIterator

Returns an iterator for the current iterator entry.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An iterator for the current entry, if it is an array or object.

Erros

An InvalidArgumentException will be thrown if the current entry does not contain an array or an object.

Exemplos

Exemplo #1 RecursiveArrayIterator::getChildren() example

<?php
$fruits = array("a" => "lemon", "b" => "orange", array("a" => "apple", "p" => "pear"));

$iterator = new RecursiveArrayIterator($fruits);

while ($iterator->valid()) {

    if ($iterator->hasChildren()) {
        // print all children
        foreach ($iterator->getChildren() as $key => $value) {
            echo $key . ' : ' . $value . "\n";
        }
    } else {
        echo "No children.\n";
    }

    $iterator->next();
}
?>

O exemplo acima irá imprimir:

No children.
No children.
a : apple
p : pear

Veja Também

  • RecursiveArrayIterator::hasChildren() - Returns whether current entry is an array or an object


Returns whether current entry is an array or an object

  • « RecursiveArrayIterator::getChildren
  • RecursiveCachingIterator »
  • PHP Manual
  • RecursiveArrayIterator
  • Returns whether current entry is an array or an object

RecursiveArrayIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveArrayIterator::hasChildren — Returns whether current entry is an array or an object

Descrição

public RecursiveArrayIterator::hasChildren ( ) : bool

Returns whether current entry is an array or an object for which an iterator can be obtained via RecursiveArrayIterator::getChildren().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the current entry is an array or an object, otherwise false is returned.

Exemplos

Exemplo #1 RecursiveArrayIterator::hasChildren() example

<?php
$fruits = array("a" => "lemon", "b" => "orange", array("a" => "apple", "p" => "pear"));

$iterator = new RecursiveArrayIterator($fruits);

while ($iterator->valid()) {

    // Check if there are children
    if ($iterator->hasChildren()) {
        // print all children
        foreach ($iterator->getChildren() as $key => $value) {
            echo $key . ' : ' . $value . "\n";
        }
    } else {
        echo "No children.\n";
    }

    $iterator->next();
}
?>

O exemplo acima irá imprimir:

No children.
No children.
a : apple
p : pear

Veja Também

  • RecursiveArrayIterator::getChildren() - Returns an iterator for the current entry if it is an array or an object


A classe RecursiveCachingIterator

Introdução

...

Sinopse da classe

RecursiveCachingIterator extends CachingIterator implements Countable , ArrayAccess , Iterator , Traversable , OuterIterator , RecursiveIterator {
/* Métodos */
public __construct ( Iterator $iterator , int $flags = self::CALL_TOSTRING )
getChildren ( ) : RecursiveCachingIterator
hasChildren ( ) : bolean
/* Herança */
public CachingIterator::__construct ( Iterator $iterator , int $flags = self::CALL_TOSTRING )
public CachingIterator::count ( ) : int
public CachingIterator::current ( ) : mixed
public CachingIterator::getCache ( ) : array
public CachingIterator::getFlags ( ) : int
public CachingIterator::getInnerIterator ( ) : Iterator
CachingIterator::hasNext ( ) : bool
public CachingIterator::key ( ) : scalar
CachingIterator::next ( ) : void
public CachingIterator::offsetExists ( mixed $index ) : void
public CachingIterator::offsetGet ( string $index ) : void
public CachingIterator::offsetSet ( mixed $index , mixed $newval ) : void
public CachingIterator::offsetUnset ( string $index ) : void
CachingIterator::rewind ( ) : void
public CachingIterator::setFlags ( int $flags ) : void
CachingIterator::__toString ( ) : string
CachingIterator::valid ( ) : bool
}

Índice

  • RecursiveCachingIterator::__construct — Construct
  • RecursiveCachingIterator::getChildren — Retorna os filhos do iterador interno como um RecursiveCachingIterator
  • RecursiveCachingIterator::hasChildren — Verifica se o elemento atual do iterador interno possui filhos ou não


Construct

  • « RecursiveCachingIterator
  • RecursiveCachingIterator::getChildren »
  • PHP Manual
  • RecursiveCachingIterator
  • Construct

RecursiveCachingIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

RecursiveCachingIterator::__construct — Construct

Descrição

public RecursiveCachingIterator::__construct ( Iterator $iterator , int $flags = self::CALL_TOSTRING )

Constructs a new RecursiveCachingIterator, which consists of a passed in iterator.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

iterator

The iterator being used.

flags

The flags. Use CALL_TOSTRING to call RecursiveCachingIterator::__toString() for every element (the default), and/or CATCH_GET_CHILD to catch exceptions when trying to get children.

Valor Retornado

The RecursiveCachingIterator.

Veja Também

  • CachingIterator::__construct() - Construct a new CachingIterator object for the iterator


Retorna os filhos do iterador interno como um RecursiveCachingIterator

  • « RecursiveCachingIterator::__construct
  • RecursiveCachingIterator::hasChildren »
  • PHP Manual
  • RecursiveCachingIterator
  • Retorna os filhos do iterador interno como um RecursiveCachingIterator

RecursiveCachingIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveCachingIterator::getChildren — Retorna os filhos do iterador interno como um RecursiveCachingIterator

Descrição

RecursiveCachingIterator::getChildren ( ) : RecursiveCachingIterator
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Os filhos do iterador interno, como um RecursiveCachingIterator.


Verifica se o elemento atual do iterador interno possui filhos ou não

  • « RecursiveCachingIterator::getChildren
  • RecursiveCallbackFilterIterator »
  • PHP Manual
  • RecursiveCachingIterator
  • Verifica se o elemento atual do iterador interno possui filhos ou não

RecursiveCachingIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveCachingIterator::hasChildren — Verifica se o elemento atual do iterador interno possui filhos ou não

Descrição

RecursiveCachingIterator::hasChildren ( ) : bolean
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se o iterador interno tem filhos, false caso contrário


The RecursiveCallbackFilterIterator class

(PHP 5 >= 5.4.0, PHP 7)

Introdução

Sinopse da classe

RecursiveCallbackFilterIterator extends CallbackFilterIterator implements OuterIterator , RecursiveIterator {
/* Métodos */
public __construct ( RecursiveIterator $iterator , string $callback )
public getChildren ( ) : RecursiveCallbackFilterIterator
public hasChildren ( ) : bool
/* Métodos herdados */
public CallbackFilterIterator::accept ( ) : bool
}

Exemplos

The callback should accept up to three arguments: the current item, the current key and the iterator, respectively.

Exemplo #1 Available callback arguments

<?php

/**
 * Callback for RecursiveCallbackFilterIterator
 *
 * @param $current   Current item's value
 * @param $key       Current item's key
 * @param $iterator  Iterator being filtered
 * @return boolean   TRUE to accept the current item, FALSE otherwise
 */
function my_callback($current, $key, $iterator) {
    // Your filtering code here
}

?>

Filtering a recursive iterator generally involves two conditions. The first is that, to allow recursion, the callback function should return true if the current iterator item has children. The second is the normal filter condition, such as a file size or extension check as in the example below.

Exemplo #2 Recursive callback basic example

<?php

$dir = new RecursiveDirectoryIterator(__DIR__);

// Filter large files ( > 100MB)
$files = new RecursiveCallbackFilterIterator($dir, function ($current, $key, $iterator) {
    // Allow recursion
    if ($iterator->hasChildren()) {
        return TRUE;
    }
    // Check for large file
    if ($current->isFile() && $current->getSize() > 104857600) {
        return TRUE;
    }
    return FALSE;
});

foreach (new RecursiveIteratorIterator($files) as $file) {
    echo $file->getPathname() . PHP_EOL;
}

?>

Índice

  • RecursiveCallbackFilterIterator::__construct — Create a RecursiveCallbackFilterIterator from a RecursiveIterator
  • RecursiveCallbackFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveCallbackFilterIterator
  • RecursiveCallbackFilterIterator::hasChildren — Check whether the inner iterator's current element has children


Create a RecursiveCallbackFilterIterator from a RecursiveIterator

  • « RecursiveCallbackFilterIterator
  • RecursiveCallbackFilterIterator::getChildren »
  • PHP Manual
  • RecursiveCallbackFilterIterator
  • Create a RecursiveCallbackFilterIterator from a RecursiveIterator

RecursiveCallbackFilterIterator::__construct

(PHP 5 >= 5.4.0, PHP 7)

RecursiveCallbackFilterIterator::__construct — Create a RecursiveCallbackFilterIterator from a RecursiveIterator

Descrição

public RecursiveCallbackFilterIterator::__construct ( RecursiveIterator $iterator , string $callback )

Creates a filtered iterator from a RecursiveIterator using the callback to determine which items are accepted or rejected.

Parâmetros

iterator

The recursive iterator to be filtered.

callback

The callback, which should return true to accept the current item or false otherwise. See Examples.

May be any valid callable value.

Valor Retornado

Não há valor retornado.

Veja Também

  • RecursiveCallbackFilterIterator Examples
  • RecursiveCallbackFilterIterator::getChildren() - Return the inner iterator's children contained in a RecursiveCallbackFilterIterator
  • RecursiveCallbackFilteriterator::hasChildren() - Check whether the inner iterator's current element has children


Return the inner iterator's children contained in a RecursiveCallbackFilterIterator

  • « RecursiveCallbackFilterIterator::__construct
  • RecursiveCallbackFilterIterator::hasChildren »
  • PHP Manual
  • RecursiveCallbackFilterIterator
  • Return the inner iterator's children contained in a RecursiveCallbackFilterIterator

RecursiveCallbackFilterIterator::getChildren

(PHP 5 >= 5.4.0, PHP 7)

RecursiveCallbackFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveCallbackFilterIterator

Descrição

public RecursiveCallbackFilterIterator::getChildren ( ) : RecursiveCallbackFilterIterator

Fetches the filtered children of the inner iterator.

RecursiveCallbackFilterIterator::hasChildren() should be used to determine if there are children to be fetched.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a RecursiveCallbackFilterIterator containing the children.

Veja Também

  • RecursiveCallbackFilterIterator Examples
  • RecursiveCallbackFilterIterator::__construct() - Create a RecursiveCallbackFilterIterator from a RecursiveIterator
  • RecursiveCallbackFilteriterator::hasChildren() - Check whether the inner iterator's current element has children


Check whether the inner iterator's current element has children

  • « RecursiveCallbackFilterIterator::getChildren
  • RecursiveDirectoryIterator »
  • PHP Manual
  • RecursiveCallbackFilterIterator
  • Check whether the inner iterator's current element has children

RecursiveCallbackFilterIterator::hasChildren

(PHP 5 >= 5.4.0, PHP 7)

RecursiveCallbackFilterIterator::hasChildren — Check whether the inner iterator's current element has children

Descrição

public RecursiveCallbackFilterIterator::hasChildren ( ) : bool

Returns true if the current element has children, false otherwise.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the current element has children, false otherwise.

Exemplos

Exemplo #1 RecursiveCallbackFilterIterator::hasChildren() basic usage

<?php

$dir = new RecursiveDirectoryIterator(__DIR__);

// Recursively iterate over XML files
$files = new RecursiveCallbackFilterIterator($dir, function ($current, $key, $iterator) {
    // Allow recursion into directories
    if ($iterator->hasChildren()) {
        return TRUE;
    }
    // Check for XML file
    if (!strcasecmp($current->getExtension(), 'xml')) {
        return TRUE;
    }
    return FALSE;
});

?>

Veja Também

  • RecursiveCallbackFilterIterator Examples
  • RecursiveCallbackFilterIterator::__construct() - Create a RecursiveCallbackFilterIterator from a RecursiveIterator
  • RecursiveCallbackFilteriterator::getChildren() - Return the inner iterator's children contained in a RecursiveCallbackFilterIterator


A classe RecursiveDirectoryIterator

Introdução

...

Sinopse da classe

RecursiveDirectoryIterator extends DirectoryIterator implements Traversable , Iterator , RecursiveIterator {
/* Métodos */
public __construct ( string $path , int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO )
getChildren ( ) : object
public getSubPath ( ) : string
public getSubPathname ( ) : string
hasChildren ( bool $allow_links = ? ) : bool
key ( ) : string
next ( ) : void
rewind ( ) : void
/* Herança */
DirectoryIterator::current ( ) : DirectoryIterator
DirectoryIterator::getATime ( ) : int
public DirectoryIterator::getBasename ( string $sufixo = ? ) : string
DirectoryIterator::getCTime ( ) : int
public DirectoryIterator::getExtension ( ) : string
DirectoryIterator::getFilename ( ) : string
DirectoryIterator::getGroup ( ) : int
DirectoryIterator::getInode ( ) : int
DirectoryIterator::getMTime ( ) : int
DirectoryIterator::getOwner ( ) : int
DirectoryIterator::getPath ( ) : string
DirectoryIterator::getPathname ( ) : string
DirectoryIterator::getPerms ( ) : int
DirectoryIterator::getSize ( ) : int
DirectoryIterator::getType ( ) : string
DirectoryIterator::isDir ( ) : bool
DirectoryIterator::isDot ( ) : bool
DirectoryIterator::isExecutable ( ) : bool
DirectoryIterator::isFile ( ) : bool
DirectoryIterator::isLink ( ) : bool
DirectoryIterator::isReadable ( ) : bool
DirectoryIterator::isWritable ( ) : bool
DirectoryIterator::key ( ) : string
DirectoryIterator::next ( ) : void
DirectoryIterator::rewind ( ) : void
public DirectoryIterator::seek ( int $posicao ) : void
public DirectoryIterator::__toString ( ) : string
DirectoryIterator::valid ( ) : string
}

Índice

  • RecursiveDirectoryIterator::__construct — Constructs a RecursiveDirectoryIterator
  • RecursiveDirectoryIterator::getChildren — Retorna um iterador para o elemento atual se ele for um diretório
  • RecursiveDirectoryIterator::getSubPath — Get sub path
  • RecursiveDirectoryIterator::getSubPathname — Get sub path and name
  • RecursiveDirectoryIterator::hasChildren — Retorna se o elemento atual é ou não um diretório que não seja '.' nem '..'
  • RecursiveDirectoryIterator::key — Retorna o caminho e o nome do arquivo do elemento atual do diretório
  • RecursiveDirectoryIterator::next — Avança para o próximo elemento
  • RecursiveDirectoryIterator::rewind — Recomeça a iteração do diretório


Constructs a RecursiveDirectoryIterator

  • « RecursiveDirectoryIterator
  • RecursiveDirectoryIterator::getChildren »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Constructs a RecursiveDirectoryIterator

RecursiveDirectoryIterator::__construct

(PHP 5 >= 5.1.2, PHP 7)

RecursiveDirectoryIterator::__construct — Constructs a RecursiveDirectoryIterator

Descrição

public RecursiveDirectoryIterator::__construct ( string $path , int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO )

Constructs a RecursiveDirectoryIterator() for the provided path.

Parâmetros

path

The path of the directory to be iterated over.

flags

Flags may be provided which will affect the behavior of some methods. A list of the flags can found under FilesystemIterator predefined constants. They can also be set later with FilesystemIterator::setFlags().

Valor Retornado

Returns the newly created RecursiveDirectoryIterator.

Erros

Throws an UnexpectedValueException if the path cannot be found or is not a directory.

Exemplos

Exemplo #1 RecursiveDirectoryIterator example

<?php

$directory = '/tmp';

$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));

$it->rewind();
while($it->valid()) {

    if (!$it->isDot()) {
        echo 'SubPathName: ' . $it->getSubPathName() . "\n";
        echo 'SubPath:     ' . $it->getSubPath() . "\n";
        echo 'Key:         ' . $it->key() . "\n\n";
    }

    $it->next();
}

?>

O exemplo acima irá imprimir algo similar à:

SubPathName: fruit/apple.xml
SubPath:     fruit
Key:         /tmp/fruit/apple.xml

SubPathName: stuff.xml
SubPath:
Key:         /tmp/stuff.xml

SubPathName: veggies/carrot.xml
SubPath:     veggies
Key:         /tmp/veggies/carrot.xml

Veja Também

  • FilesystemIterator::__construct() - Constructs a new filesystem iterator
  • RecursiveIteratorIterator::__construct() - Construct a RecursiveIteratorIterator
  • FilesystemIterator predefined constants


Retorna um iterador para o elemento atual se ele for um diretório

  • « RecursiveDirectoryIterator::__construct
  • RecursiveDirectoryIterator::getSubPath »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Retorna um iterador para o elemento atual se ele for um diretório

RecursiveDirectoryIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveDirectoryIterator::getChildren — Retorna um iterador para o elemento atual se ele for um diretório

Descrição

RecursiveDirectoryIterator::getChildren ( ) : object
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Um iterador para o elemento atual, se ele é um diretório.


Get sub path

  • « RecursiveDirectoryIterator::getChildren
  • RecursiveDirectoryIterator::getSubPathname »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Get sub path

RecursiveDirectoryIterator::getSubPath

(PHP 5 >= 5.1.0, PHP 7)

RecursiveDirectoryIterator::getSubPath — Get sub path

Descrição

public RecursiveDirectoryIterator::getSubPath ( ) : string

Returns the sub path relative to the directory given in the constructor.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The sub path.

Exemplos

Exemplo #1 getSubPath() example

$directory = '/tmp';

      $it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));

      foreach ($it as $file) {
          echo 'SubPathName: ' . $it->getSubPathName() . "\n";
          echo 'SubPath:     ' . $it->getSubPath() . "\n\n";
      }

O exemplo acima irá imprimir algo similar à:

     SubPathName: fruit/apple.xml
     SubPath:     fruit

     SubPathName: stuff.xml
     SubPath:

     SubPathName: veggies/carrot.xml
     SubPath:     veggies

Veja Também

  • RecursiveDirectoryIterator::getSubPathName() - Get sub path and name
  • RecursiveDirectoryIterator::key() - Retorna o caminho e o nome do arquivo do elemento atual do diretório


Get sub path and name

  • « RecursiveDirectoryIterator::getSubPath
  • RecursiveDirectoryIterator::hasChildren »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Get sub path and name

RecursiveDirectoryIterator::getSubPathname

(PHP 5 >= 5.1.0, PHP 7)

RecursiveDirectoryIterator::getSubPathname — Get sub path and name

Descrição

public RecursiveDirectoryIterator::getSubPathname ( ) : string

Gets the sub path and filename.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The sub path (sub directory) and filename.

Exemplos

Exemplo #1 getSubPathname() example

$directory = '/tmp';

      $it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));

      foreach ($it as $file) {
          echo 'SubPathName: ' . $it->getSubPathName() . "\n";
          echo 'SubPath:     ' . $it->getSubPath() . "\n\n";
      }

O exemplo acima irá imprimir algo similar à:

     SubPathName: fruit/apple.xml
     SubPath:     fruit

     SubPathName: stuff.xml
     SubPath:

     SubPathName: veggies/carrot.xml
     SubPath:     veggies

Veja Também

  • RecursiveDirectoryIterator::getSubPath() - Get sub path
  • RecursiveDirectoryIterator::key() - Retorna o caminho e o nome do arquivo do elemento atual do diretório


Retorna se o elemento atual é ou não um diretório que não seja '.' nem '..'

  • « RecursiveDirectoryIterator::getSubPathname
  • RecursiveDirectoryIterator::key »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Retorna se o elemento atual é ou não um diretório que não seja '.' nem '..'

RecursiveDirectoryIterator::hasChildren

(PHP 5, PHP 7)

RecursiveDirectoryIterator::hasChildren — Retorna se o elemento atual é ou não um diretório que não seja '.' nem '..'

Descrição

RecursiveDirectoryIterator::hasChildren ( bool $allow_links = ? ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

allow_links

Valor Retornado

Retorna se o atual elemento é um diretório, mas não '.' ou '..'


Retorna o caminho e o nome do arquivo do elemento atual do diretório

  • « RecursiveDirectoryIterator::hasChildren
  • RecursiveDirectoryIterator::next »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Retorna o caminho e o nome do arquivo do elemento atual do diretório

RecursiveDirectoryIterator::key

(PHP 5, PHP 7)

RecursiveDirectoryIterator::key — Retorna o caminho e o nome do arquivo do elemento atual do diretório

Descrição

RecursiveDirectoryIterator::key ( ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O caminho e nome do arquivo do elemento atual do diretório.


Avança para o próximo elemento

  • « RecursiveDirectoryIterator::key
  • RecursiveDirectoryIterator::rewind »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Avança para o próximo elemento

RecursiveDirectoryIterator::next

(PHP 5, PHP 7)

RecursiveDirectoryIterator::next — Avança para o próximo elemento

Descrição

RecursiveDirectoryIterator::next ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Recomeça a iteração do diretório

  • « RecursiveDirectoryIterator::next
  • RecursiveFilterIterator »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Recomeça a iteração do diretório

RecursiveDirectoryIterator::rewind

(PHP 5, PHP 7)

RecursiveDirectoryIterator::rewind — Recomeça a iteração do diretório

Descrição

RecursiveDirectoryIterator::rewind ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


The RecursiveFilterIterator class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

This abstract iterator filters out unwanted values for a RecursiveIterator. This class should be extended to implement custom filters. The RecursiveFilterIterator::accept() must be implemented in the subclass.

Sinopse da classe

abstract RecursiveFilterIterator extends FilterIterator implements OuterIterator , RecursiveIterator {
/* Métodos */
public __construct ( RecursiveIterator $iterator )
public getChildren ( ) : RecursiveFilterIterator
public hasChildren ( ) : bool
/* Métodos herdados */
public abstract FilterIterator::accept ( ) : bool
public FilterIterator::__construct ( Iterator $iterator )
FilterIterator::current ( ) : mixed
FilterIterator::getInnerIterator ( ) : Iterator
FilterIterator::key ( ) : mixed
FilterIterator::next ( ) : void
FilterIterator::rewind ( ) : void
FilterIterator::valid ( ) : bool
}

Índice

  • RecursiveFilterIterator::__construct — Create a RecursiveFilterIterator from a RecursiveIterator
  • RecursiveFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveFilterIterator
  • RecursiveFilterIterator::hasChildren — Check whether the inner iterator's current element has children


Create a RecursiveFilterIterator from a RecursiveIterator

  • « RecursiveFilterIterator
  • RecursiveFilterIterator::getChildren »
  • PHP Manual
  • RecursiveFilterIterator
  • Create a RecursiveFilterIterator from a RecursiveIterator

RecursiveFilterIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

RecursiveFilterIterator::__construct — Create a RecursiveFilterIterator from a RecursiveIterator

Descrição

public RecursiveFilterIterator::__construct ( RecursiveIterator $iterator )

Create a RecursiveFilterIterator from a RecursiveIterator.

Parâmetros

iterator

The RecursiveIterator to be filtered.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Basic RecursiveFilterIterator() example

<?php
class TestsOnlyFilter extends RecursiveFilterIterator {
    public function accept() {
        // Accept the current item if we can recurse into it
        // or it is a value starting with "test"
        return $this->hasChildren() || (strpos($this->current(), "test") !== FALSE);
    }
}

$array    = array("test1", array("taste2", "test3", "test4"), "test5");
$iterator = new RecursiveArrayIterator($array);
$filter   = new TestsOnlyFilter($iterator);

foreach(new RecursiveIteratorIterator($filter) as $key => $value)
{
    echo $value . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

test1
test3
test4
test5

Exemplo #2 RecursiveFilterIterator() example

<?php
class StartsWithFilter extends RecursiveFilterIterator {

    protected $word;

    public function __construct(RecursiveIterator $rit, $word) {
        $this->word = $word;
        parent::__construct($rit);
    }

    public function accept() {
        return $this->hasChildren() OR strpos($this->current(), $this->word) === 0;
    }

    public function getChildren() {
        return new self($this->getInnerIterator()->getChildren(), $this->word);
    }
}

$array    = array("test1", array("taste2", "test3", "test4"), "test5");
$iterator = new RecursiveArrayIterator($array);
$filter   = new StartsWithFilter($iterator, "test");

foreach(new RecursiveIteratorIterator($filter) as $key => $value)
{
    echo $value . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

test1
test3
test4
test5

Veja Também

  • RecursiveFilterIterator::getChildren() - Return the inner iterator's children contained in a RecursiveFilterIterator
  • RecursiveFilterIterator::hasChildren() - Check whether the inner iterator's current element has children
  • FilterIterator::accept() - Check whether the current element of the iterator is acceptable


Return the inner iterator's children contained in a RecursiveFilterIterator

  • « RecursiveFilterIterator::__construct
  • RecursiveFilterIterator::hasChildren »
  • PHP Manual
  • RecursiveFilterIterator
  • Return the inner iterator's children contained in a RecursiveFilterIterator

RecursiveFilterIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveFilterIterator

Descrição

public RecursiveFilterIterator::getChildren ( ) : RecursiveFilterIterator

Return the inner iterator's children contained in a RecursiveFilterIterator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a RecursiveFilterIterator containing the inner iterator's children.

Veja Também

  • RecursiveFilterIterator::hasChildren() - Check whether the inner iterator's current element has children
  • RecursiveIterator::getChildren() - Returns an iterator for the current entry


Check whether the inner iterator's current element has children

  • « RecursiveFilterIterator::getChildren
  • RecursiveIteratorIterator »
  • PHP Manual
  • RecursiveFilterIterator
  • Check whether the inner iterator's current element has children

RecursiveFilterIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveFilterIterator::hasChildren — Check whether the inner iterator's current element has children

Descrição

public RecursiveFilterIterator::hasChildren ( ) : bool

Check whether the inner iterator's current element has children.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the inner iterator has children, otherwise false

Veja Também

  • RecursiveFilterIterator::getChildren() - Return the inner iterator's children contained in a RecursiveFilterIterator
  • RecursiveIterator::hasChildren() - Returns if an iterator can be created for the current entry


Classe RecursiveIteratorIterator

(PHP 5, PHP 7)

Introdução

Pode ser utilizado para percorrer interatores recursivos.

Sinopse da classe

RecursiveIteratorIterator implements OuterIterator {
/* Constantes */
const integer LEAVES_ONLY = 0 ;
const integer SELF_FIRST = 1 ;
const integer CHILD_FIRST = 2 ;
const integer CATCH_GET_CHILD = 16 ;
/* Métodos */
public beginChildren ( ) : void
public beginIteration ( ) : void
public callGetChildren ( ) : RecursiveIterator
public callHasChildren ( ) : bool
public __construct ( Traversable $iterator , int $mode = RecursiveIteratorIterator::LEAVES_ONLY , int $flags = 0 )
current ( ) : mixed
public endChildren ( ) : void
public endIteration ( ) : void
getDepth ( ) : int
public getInnerIterator ( ) : iterator
public getMaxDepth ( ) : mixed
getSubIterator ( ) : RecursiveIterator
key ( ) : mixed
next ( ) : void
public nextElement ( ) : void
rewind ( ) : void
public setMaxDepth ( int $max_depth = -1 ) : void
valid ( ) : bolean
/* Métodos herdados */
public OuterIterator::getInnerIterator ( ) : Iterator
}

Constantes pré-definidas

RecursiveIteratorIterator::LEAVES_ONLY

RecursiveIteratorIterator::SELF_FIRST

RecursiveIteratorIterator::CHILD_FIRST

RecursiveIteratorIterator::CATCH_GET_CHILD

Índice

  • RecursiveIteratorIterator::beginChildren — Begin children
  • RecursiveIteratorIterator::beginIteration — Begin Iteration
  • RecursiveIteratorIterator::callGetChildren — Get children
  • RecursiveIteratorIterator::callHasChildren — Has children
  • RecursiveIteratorIterator::__construct — Construct a RecursiveIteratorIterator
  • RecursiveIteratorIterator::current — Retorna o valor do elemento atual
  • RecursiveIteratorIterator::endChildren — End children
  • RecursiveIteratorIterator::endIteration — End Iteration
  • RecursiveIteratorIterator::getDepth — Retorna a profundidade atual da iteração recursiva
  • RecursiveIteratorIterator::getInnerIterator — Get inner iterator
  • RecursiveIteratorIterator::getMaxDepth — Get max depth
  • RecursiveIteratorIterator::getSubIterator — Retorna o sub-iterador ativo atual
  • RecursiveIteratorIterator::key — Retorna a chave atual
  • RecursiveIteratorIterator::next — Avança para o próximo elemento
  • RecursiveIteratorIterator::nextElement — Next element
  • RecursiveIteratorIterator::rewind — Recomeça o iterador no primeiro elemento do primeiro iterador interno
  • RecursiveIteratorIterator::setMaxDepth — Set max depth
  • RecursiveIteratorIterator::valid — Verifica se a posição atual é válida ou não


Begin children

  • « RecursiveIteratorIterator
  • RecursiveIteratorIterator::beginIteration »
  • PHP Manual
  • RecursiveIteratorIterator
  • Begin children

RecursiveIteratorIterator::beginChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::beginChildren — Begin children

Descrição

public RecursiveIteratorIterator::beginChildren ( ) : void

Is called after calling RecursiveIteratorIterator::getChildren(), and its associated RecursiveIteratorIterator::rewind().

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Begin Iteration

  • « RecursiveIteratorIterator::beginChildren
  • RecursiveIteratorIterator::callGetChildren »
  • PHP Manual
  • RecursiveIteratorIterator
  • Begin Iteration

RecursiveIteratorIterator::beginIteration

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::beginIteration — Begin Iteration

Descrição

public RecursiveIteratorIterator::beginIteration ( ) : void

Called when iteration begins (after the first RecursiveIteratorIterator::rewind() call.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Get children

  • « RecursiveIteratorIterator::beginIteration
  • RecursiveIteratorIterator::callHasChildren »
  • PHP Manual
  • RecursiveIteratorIterator
  • Get children

RecursiveIteratorIterator::callGetChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::callGetChildren — Get children

Descrição

public RecursiveIteratorIterator::callGetChildren ( ) : RecursiveIterator

Get children of the current element.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A RecursiveIterator().


Has children

  • « RecursiveIteratorIterator::callGetChildren
  • RecursiveIteratorIterator::__construct »
  • PHP Manual
  • RecursiveIteratorIterator
  • Has children

RecursiveIteratorIterator::callHasChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::callHasChildren — Has children

Descrição

public RecursiveIteratorIterator::callHasChildren ( ) : bool

Called for each element to test whether it has children.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the element has children, otherwise false


Construct a RecursiveIteratorIterator

  • « RecursiveIteratorIterator::callHasChildren
  • RecursiveIteratorIterator::current »
  • PHP Manual
  • RecursiveIteratorIterator
  • Construct a RecursiveIteratorIterator

RecursiveIteratorIterator::__construct

(PHP 5 >= 5.1.3, PHP 7)

RecursiveIteratorIterator::__construct — Construct a RecursiveIteratorIterator

Descrição

public RecursiveIteratorIterator::__construct ( Traversable $iterator , int $mode = RecursiveIteratorIterator::LEAVES_ONLY , int $flags = 0 )

Creates a RecursiveIteratorIterator from a RecursiveIterator.

Parâmetros

iterator

The iterator being constructed from. Either a RecursiveIterator or IteratorAggregate.

mode

Optional mode. Possible values are

  • RecursiveIteratorIterator::LEAVES_ONLY - The default. Lists only leaves in iteration.
  • RecursiveIteratorIterator::SELF_FIRST - Lists leaves and parents in iteration with parents coming first.
  • RecursiveIteratorIterator::CHILD_FIRST - Lists leaves and parents in iteration with leaves coming first.

flags

Optional flag. Possible values are RecursiveIteratorIterator::CATCH_GET_CHILD which will then ignore exceptions thrown in calls to RecursiveIteratorIterator::getChildren().

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Iterating a RecursiveIteratorIterator

<?php
$array = array(
    array(
        array(
            array(
                'leaf-0-0-0-0',
                'leaf-0-0-0-1'
            ),
            'leaf-0-0-0'
        ),
        array(
            array(
                'leaf-0-1-0-0',
                'leaf-0-1-0-1'
            ),
            'leaf-0-1-0'
        ),
        'leaf-0-0'
    )
);

$iterator = new RecursiveIteratorIterator(
    new RecursiveArrayIterator($array),
    $mode
);
foreach ($iterator as $key => $leaf) {
    echo "$key => $leaf", PHP_EOL;
}
?>

Output with $mode = RecursiveIteratorIterator::LEAVES_ONLY

0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
0 => leaf-0-0-0
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
0 => leaf-0-1-0
0 => leaf-0-0

Output with $mode = RecursiveIteratorIterator::SELF_FIRST

0 => Array
0 => Array
0 => Array
0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
1 => leaf-0-0-0
1 => Array
0 => Array
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
1 => leaf-0-1-0
2 => leaf-0-0

Output with $mode = RecursiveIteratorIterator::CHILD_FIRST

0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
0 => Array
1 => leaf-0-0-0
0 => Array
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
0 => Array
1 => leaf-0-1-0
1 => Array
2 => leaf-0-0
0 => Array


Retorna o valor do elemento atual

  • « RecursiveIteratorIterator::__construct
  • RecursiveIteratorIterator::endChildren »
  • PHP Manual
  • RecursiveIteratorIterator
  • Retorna o valor do elemento atual

RecursiveIteratorIterator::current

(PHP 5, PHP 7)

RecursiveIteratorIterator::current — Retorna o valor do elemento atual

Descrição

RecursiveIteratorIterator::current ( ) : mixed
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O valor do elemento atual.


End children

  • « RecursiveIteratorIterator::current
  • RecursiveIteratorIterator::endIteration »
  • PHP Manual
  • RecursiveIteratorIterator
  • End children

RecursiveIteratorIterator::endChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::endChildren — End children

Descrição

public RecursiveIteratorIterator::endChildren ( ) : void

Called when end recursing one level.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


End Iteration

  • « RecursiveIteratorIterator::endChildren
  • RecursiveIteratorIterator::getDepth »
  • PHP Manual
  • RecursiveIteratorIterator
  • End Iteration

RecursiveIteratorIterator::endIteration

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::endIteration — End Iteration

Descrição

public RecursiveIteratorIterator::endIteration ( ) : void

Called when the iteration ends (when RecursiveIteratorIterator::valid() first returns false.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Retorna a profundidade atual da iteração recursiva

  • « RecursiveIteratorIterator::endIteration
  • RecursiveIteratorIterator::getInnerIterator »
  • PHP Manual
  • RecursiveIteratorIterator
  • Retorna a profundidade atual da iteração recursiva

RecursiveIteratorIterator::getDepth

(PHP 5, PHP 7)

RecursiveIteratorIterator::getDepth — Retorna a profundidade atual da iteração recursiva

Descrição

RecursiveIteratorIterator::getDepth ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A atual profundidade da iteração recursiva.


Get inner iterator

  • « RecursiveIteratorIterator::getDepth
  • RecursiveIteratorIterator::getMaxDepth »
  • PHP Manual
  • RecursiveIteratorIterator
  • Get inner iterator

RecursiveIteratorIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::getInnerIterator — Get inner iterator

Descrição

public RecursiveIteratorIterator::getInnerIterator ( ) : iterator

Gets the current active sub iterator.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current active sub iterator.


Get max depth

  • « RecursiveIteratorIterator::getInnerIterator
  • RecursiveIteratorIterator::getSubIterator »
  • PHP Manual
  • RecursiveIteratorIterator
  • Get max depth

RecursiveIteratorIterator::getMaxDepth

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::getMaxDepth — Get max depth

Descrição

public RecursiveIteratorIterator::getMaxDepth ( ) : mixed

Gets the maximum allowable depth.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The maximum accepted depth, or false if any depth is allowed.

Veja Também

  • RecursiveIteratorIterator::setMaxDepth() - Set max depth


Retorna o sub-iterador ativo atual

  • « RecursiveIteratorIterator::getMaxDepth
  • RecursiveIteratorIterator::key »
  • PHP Manual
  • RecursiveIteratorIterator
  • Retorna o sub-iterador ativo atual

RecursiveIteratorIterator::getSubIterator

(PHP 5, PHP 7)

RecursiveIteratorIterator::getSubIterator — Retorna o sub-iterador ativo atual

Descrição

RecursiveIteratorIterator::getSubIterator ( ) : RecursiveIterator
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O atual sub-iterador ativo.


Retorna a chave atual

  • « RecursiveIteratorIterator::getSubIterator
  • RecursiveIteratorIterator::next »
  • PHP Manual
  • RecursiveIteratorIterator
  • Retorna a chave atual

RecursiveIteratorIterator::key

(PHP 5, PHP 7)

RecursiveIteratorIterator::key — Retorna a chave atual

Descrição

RecursiveIteratorIterator::key ( ) : mixed
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A atual chave.


Avança para o próximo elemento

  • « RecursiveIteratorIterator::key
  • RecursiveIteratorIterator::nextElement »
  • PHP Manual
  • RecursiveIteratorIterator
  • Avança para o próximo elemento

RecursiveIteratorIterator::next

(PHP 5, PHP 7)

RecursiveIteratorIterator::next — Avança para o próximo elemento

Descrição

RecursiveIteratorIterator::next ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Next element

  • « RecursiveIteratorIterator::next
  • RecursiveIteratorIterator::rewind »
  • PHP Manual
  • RecursiveIteratorIterator
  • Next element

RecursiveIteratorIterator::nextElement

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::nextElement — Next element

Descrição

public RecursiveIteratorIterator::nextElement ( ) : void

Called when the next element is available.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Recomeça o iterador no primeiro elemento do primeiro iterador interno

  • « RecursiveIteratorIterator::nextElement
  • RecursiveIteratorIterator::setMaxDepth »
  • PHP Manual
  • RecursiveIteratorIterator
  • Recomeça o iterador no primeiro elemento do primeiro iterador interno

RecursiveIteratorIterator::rewind

(PHP 5, PHP 7)

RecursiveIteratorIterator::rewind — Recomeça o iterador no primeiro elemento do primeiro iterador interno

Descrição

RecursiveIteratorIterator::rewind ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Set max depth

  • « RecursiveIteratorIterator::rewind
  • RecursiveIteratorIterator::valid »
  • PHP Manual
  • RecursiveIteratorIterator
  • Set max depth

RecursiveIteratorIterator::setMaxDepth

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::setMaxDepth — Set max depth

Descrição

public RecursiveIteratorIterator::setMaxDepth ( int $max_depth = -1 ) : void

Set the maximum allowed depth.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

max_depth

The maximum allowed depth. -1 is used for any depth.

Valor Retornado

Não há valor retornado.

Erros

Emits an Exception if max_depth is less than -1.


Verifica se a posição atual é válida ou não

  • « RecursiveIteratorIterator::setMaxDepth
  • RecursiveRegexIterator »
  • PHP Manual
  • RecursiveIteratorIterator
  • Verifica se a posição atual é válida ou não

RecursiveIteratorIterator::valid

(PHP 5, PHP 7)

RecursiveIteratorIterator::valid — Verifica se a posição atual é válida ou não

Descrição

RecursiveIteratorIterator::valid ( ) : bolean
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se a posição atual é válida, false caso contrário


The RecursiveRegexIterator class

(PHP 5 >= 5.2.0, PHP 7)

Introdução

This recursive iterator can filter another recursive iterator via a regular expression.

Sinopse da classe

RecursiveRegexIterator extends RegexIterator implements RecursiveIterator {
/* Constantes herdadas */
const int MATCH = 0 ;
const int GET_MATCH = 1 ;
const int ALL_MATCHES = 2 ;
const int SPLIT = 3 ;
const int REPLACE = 4 ;
const int USE_KEY = 1 ;
/* Métodos */
public __construct ( RecursiveIterator $iterator , string $regex , int $mode = self::MATCH , int $flags = 0 , int $preg_flags = 0 )
public getChildren ( ) : RecursiveRegexIterator
public hasChildren ( ) : bool
/* Métodos herdados */
public RecursiveIterator::getChildren ( ) : RecursiveIterator
public RecursiveIterator::hasChildren ( ) : bool
public RegexIterator::accept ( ) : bool
public RegexIterator::getFlags ( ) : int
public RegexIterator::getMode ( ) : int
public RegexIterator::getPregFlags ( ) : int
public RegexIterator::getRegex ( ) : string
public RegexIterator::setFlags ( int $flags ) : void
public RegexIterator::setMode ( int $mode ) : void
public RegexIterator::setPregFlags ( int $preg_flags ) : void
}

Índice

  • RecursiveRegexIterator::__construct — Creates a new RecursiveRegexIterator
  • RecursiveRegexIterator::getChildren — Returns an iterator for the current entry
  • RecursiveRegexIterator::hasChildren — Returns whether an iterator can be obtained for the current entry


Creates a new RecursiveRegexIterator

  • « RecursiveRegexIterator
  • RecursiveRegexIterator::getChildren »
  • PHP Manual
  • RecursiveRegexIterator
  • Creates a new RecursiveRegexIterator

RecursiveRegexIterator::__construct

(PHP 5 >= 5.2.0, PHP 7)

RecursiveRegexIterator::__construct — Creates a new RecursiveRegexIterator

Descrição

public RecursiveRegexIterator::__construct ( RecursiveIterator $iterator , string $regex , int $mode = self::MATCH , int $flags = 0 , int $preg_flags = 0 )

Creates a new regular expression iterator.

Parâmetros

iterator

The recursive iterator to apply this regex filter to.

regex

The regular expression to match.

mode

Operation mode, see RegexIterator::setMode() for a list of modes.

flags

Special flags, see RegexIterator::setFlags() for a list of available flags.

preg_flags

The regular expression flags. These flags depend on the operation mode parameter:

RegexIterator preg_flags
operation mode | available flags
RecursiveRegexIterator::ALL_MATCHES | See preg_match_all().
RecursiveRegexIterator::GET_MATCH | See preg_match().
RecursiveRegexIterator::MATCH | See preg_match().
RecursiveRegexIterator::REPLACE | none.
RecursiveRegexIterator::SPLIT | See preg_split().

Exemplos

Exemplo #1 RecursiveRegexIterator::__construct() example

Creates a new RegexIterator that filters all strings that start with 'test'.

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $key1 => $value1) {

    if ($rRegexIterator->hasChildren()) {

        // print all children
        echo "Children: ";
        foreach ($rRegexIterator->getChildren() as $key => $value) {
            echo $value . " ";
        }
        echo "\n";
    } else {
        echo "No children\n";
    }

}
?>

O exemplo acima irá imprimir algo similar à:

No children
Children: test4 test5

Veja Também

  • preg_match() - Perform a regular expression match
  • preg_match_all() - Perform a global regular expression match
  • preg_replace() - Realiza uma pesquisa por uma expressão regular e a substitui.
  • preg_split() - Divide a string por uma expressão regular


Returns an iterator for the current entry

  • « RecursiveRegexIterator::__construct
  • RecursiveRegexIterator::hasChildren »
  • PHP Manual
  • RecursiveRegexIterator
  • Returns an iterator for the current entry

RecursiveRegexIterator::getChildren

(PHP 5 >= 5.2.0, PHP 7)

RecursiveRegexIterator::getChildren — Returns an iterator for the current entry

Descrição

public RecursiveRegexIterator::getChildren ( ) : RecursiveRegexIterator

Returns an iterator for the current iterator entry.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An iterator for the current entry, if it can be iterated over by the inner iterator.

Erros

An InvalidArgumentException will be thrown if the current entry does not contain a value that can be iterated over by the inner iterator.

Exemplos

Exemplo #1 RecursiveRegexIterator::getChildren() example

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $key1 => $value1) {

    if ($rRegexIterator->hasChildren()) {

        // print all children
        echo "Children: ";
        foreach ($rRegexIterator->getChildren() as $key => $value) {
            echo $value . " ";
        }
        echo "\n";
    } else {
        echo "No children\n";
    }

}
?>

O exemplo acima irá imprimir:

No children
Children: test4 test5

Veja Também

  • RecursiveRegexIterator::hasChildren() - Returns whether an iterator can be obtained for the current entry


Returns whether an iterator can be obtained for the current entry

  • « RecursiveRegexIterator::getChildren
  • RecursiveTreeIterator »
  • PHP Manual
  • RecursiveRegexIterator
  • Returns whether an iterator can be obtained for the current entry

RecursiveRegexIterator::hasChildren

(PHP 5 >= 5.2.0, PHP 7)

RecursiveRegexIterator::hasChildren — Returns whether an iterator can be obtained for the current entry

Descrição

public RecursiveRegexIterator::hasChildren ( ) : bool

Returns whether an iterator can be obtained for the current entry. This iterator can be obtained via RecursiveRegexIterator::getChildren().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if an iterator can be obtained for the current entry, otherwise returns false.

Exemplos

Exemplo #1 RecursiveRegexIterator::hasChildren() example

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $value) {
    var_dump($rRegexIterator->hasChildren());
}
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)

Veja Também

  • RecursiveRegexIterator::getChildren() - Returns an iterator for the current entry


The RecursiveTreeIterator class

(PHP 5 >= 5.3.0, PHP 7)

Introdução

Allows iterating over a RecursiveIterator to generate an ASCII graphic tree.

Sinopse da classe

RecursiveTreeIterator extends RecursiveIteratorIterator implements OuterIterator {
/* Constantes herdadas */
const integer RecursiveIteratorIterator::LEAVES_ONLY = 0 ;
const integer RecursiveIteratorIterator::SELF_FIRST = 1 ;
const integer RecursiveIteratorIterator::CHILD_FIRST = 2 ;
const integer RecursiveIteratorIterator::CATCH_GET_CHILD = 16 ;
/* Constantes */
const int BYPASS_CURRENT = 4 ;
const int BYPASS_KEY = 8 ;
const int PREFIX_LEFT = 0 ;
const int PREFIX_MID_HAS_NEXT = 1 ;
const int PREFIX_MID_LAST = 2 ;
const int PREFIX_END_HAS_NEXT = 3 ;
const int PREFIX_END_LAST = 4 ;
const int PREFIX_RIGHT = 5 ;
/* Métodos */
public beginChildren ( ) : void
public beginIteration ( ) : RecursiveIterator
public callGetChildren ( ) : RecursiveIterator
public callHasChildren ( ) : bool
public __construct ( RecursiveIterator|IteratorAggregate $it , int $flags = RecursiveTreeIterator::BYPASS_KEY , int $cit_flags = CachingIterator::CATCH_GET_CHILD , int $mode = RecursiveIteratorIterator::SELF_FIRST )
public current ( ) : string
public endChildren ( ) : void
public endIteration ( ) : void
public getEntry ( ) : string
public getPostfix ( ) : string
public getPrefix ( ) : string
public key ( ) : string
public next ( ) : void
public nextElement ( ) : void
public rewind ( ) : void
public setPostfix ( string $postfix ) : void
public setPrefixPart ( int $part , string $value ) : void
public valid ( ) : bool
/* Métodos herdados */
public RecursiveIteratorIterator::beginChildren ( ) : void
public RecursiveIteratorIterator::beginIteration ( ) : void
public RecursiveIteratorIterator::callGetChildren ( ) : RecursiveIterator
public RecursiveIteratorIterator::callHasChildren ( ) : bool
public RecursiveIteratorIterator::__construct ( Traversable $iterator , int $mode = RecursiveIteratorIterator::LEAVES_ONLY , int $flags = 0 )
RecursiveIteratorIterator::current ( ) : mixed
public RecursiveIteratorIterator::endChildren ( ) : void
public RecursiveIteratorIterator::endIteration ( ) : void
RecursiveIteratorIterator::getDepth ( ) : int
public RecursiveIteratorIterator::getInnerIterator ( ) : iterator
public RecursiveIteratorIterator::getMaxDepth ( ) : mixed
RecursiveIteratorIterator::getSubIterator ( ) : RecursiveIterator
RecursiveIteratorIterator::key ( ) : mixed
RecursiveIteratorIterator::next ( ) : void
public RecursiveIteratorIterator::nextElement ( ) : void
RecursiveIteratorIterator::rewind ( ) : void
public RecursiveIteratorIterator::setMaxDepth ( int $max_depth = -1 ) : void
RecursiveIteratorIterator::valid ( ) : bolean
}

Constantes pré-definidas

RecursiveTreeIterator::BYPASS_CURRENT

RecursiveTreeIterator::BYPASS_KEY

RecursiveTreeIterator::PREFIX_LEFT

RecursiveTreeIterator::PREFIX_MID_HAS_NEXT

RecursiveTreeIterator::PREFIX_MID_LAST

RecursiveTreeIterator::PREFIX_END_HAS_NEXT

RecursiveTreeIterator::PREFIX_END_LAST

RecursiveTreeIterator::PREFIX_RIGHT

Índice

  • RecursiveTreeIterator::beginChildren — Begin children
  • RecursiveTreeIterator::beginIteration — Begin iteration
  • RecursiveTreeIterator::callGetChildren — Get children
  • RecursiveTreeIterator::callHasChildren — Has children
  • RecursiveTreeIterator::__construct — Construct a RecursiveTreeIterator
  • RecursiveTreeIterator::current — Get current element
  • RecursiveTreeIterator::endChildren — End children
  • RecursiveTreeIterator::endIteration — End iteration
  • RecursiveTreeIterator::getEntry — Get current entry
  • RecursiveTreeIterator::getPostfix — Get the postfix
  • RecursiveTreeIterator::getPrefix — Get the prefix
  • RecursiveTreeIterator::key — Get the key of the current element
  • RecursiveTreeIterator::next — Move to next element
  • RecursiveTreeIterator::nextElement — Next element
  • RecursiveTreeIterator::rewind — Rewind iterator
  • RecursiveTreeIterator::setPostfix — Set postfix
  • RecursiveTreeIterator::setPrefixPart — Set a part of the prefix
  • RecursiveTreeIterator::valid — Check validity


Begin children

  • « RecursiveTreeIterator
  • RecursiveTreeIterator::beginIteration »
  • PHP Manual
  • RecursiveTreeIterator
  • Begin children

RecursiveTreeIterator::beginChildren

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::beginChildren — Begin children

Descrição

public RecursiveTreeIterator::beginChildren ( ) : void

Called when recursing one level down.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Begin iteration

  • « RecursiveTreeIterator::beginChildren
  • RecursiveTreeIterator::callGetChildren »
  • PHP Manual
  • RecursiveTreeIterator
  • Begin iteration

RecursiveTreeIterator::beginIteration

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::beginIteration — Begin iteration

Descrição

public RecursiveTreeIterator::beginIteration ( ) : RecursiveIterator

Called when iteration begins (after the first RecursiveTreeIterator::rewind() call).

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A RecursiveIterator.


Get children

  • « RecursiveTreeIterator::beginIteration
  • RecursiveTreeIterator::callHasChildren »
  • PHP Manual
  • RecursiveTreeIterator
  • Get children

RecursiveTreeIterator::callGetChildren

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::callGetChildren — Get children

Descrição

public RecursiveTreeIterator::callGetChildren ( ) : RecursiveIterator

Gets children of the current element.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A RecursiveIterator.


Has children

  • « RecursiveTreeIterator::callGetChildren
  • RecursiveTreeIterator::__construct »
  • PHP Manual
  • RecursiveTreeIterator
  • Has children

RecursiveTreeIterator::callHasChildren

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::callHasChildren — Has children

Descrição

public RecursiveTreeIterator::callHasChildren ( ) : bool

Called for each element to test whether it has children.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if there are children, otherwise false


Construct a RecursiveTreeIterator

  • « RecursiveTreeIterator::callHasChildren
  • RecursiveTreeIterator::current »
  • PHP Manual
  • RecursiveTreeIterator
  • Construct a RecursiveTreeIterator

RecursiveTreeIterator::__construct

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::__construct — Construct a RecursiveTreeIterator

Descrição

public RecursiveTreeIterator::__construct
 ( RecursiveIterator|IteratorAggregate $it
, int $flags = RecursiveTreeIterator::BYPASS_KEY
, int $cit_flags = CachingIterator::CATCH_GET_CHILD
, int $mode = RecursiveIteratorIterator::SELF_FIRST
)

Constructs a new RecursiveTreeIterator from the supplied recursive iterator.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

it

The RecursiveIterator or IteratorAggregate to iterate over.

flags

Flags may be provided which will affect the behavior of some methods. A list of the flags can found under RecursiveTreeIterator predefined constants.

caching_it_flags

Flags to affect the behavior of the RecursiveCachingIterator used internally.

mode

Flags to affect the behavior of the RecursiveIteratorIterator used internally.

Valor Retornado

Não há valor retornado.


Get current element

  • « RecursiveTreeIterator::__construct
  • RecursiveTreeIterator::endChildren »
  • PHP Manual
  • RecursiveTreeIterator
  • Get current element

RecursiveTreeIterator::current

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::current — Get current element

Descrição

public RecursiveTreeIterator::current ( ) : string

Gets the current element prefixed and postfixed.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current element prefixed and postfixed.


End children

  • « RecursiveTreeIterator::current
  • RecursiveTreeIterator::endIteration »
  • PHP Manual
  • RecursiveTreeIterator
  • End children

RecursiveTreeIterator::endChildren

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::endChildren — End children

Descrição

public RecursiveTreeIterator::endChildren ( ) : void

Called when end recursing one level.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


End iteration

  • « RecursiveTreeIterator::endChildren
  • RecursiveTreeIterator::getEntry »
  • PHP Manual
  • RecursiveTreeIterator
  • End iteration

RecursiveTreeIterator::endIteration

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::endIteration — End iteration

Descrição

public RecursiveTreeIterator::endIteration ( ) : void

Called when the iteration ends (when RecursiveTreeIterator::valid() first returns false)

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Get current entry

  • « RecursiveTreeIterator::endIteration
  • RecursiveTreeIterator::getPostfix »
  • PHP Manual
  • RecursiveTreeIterator
  • Get current entry

RecursiveTreeIterator::getEntry

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::getEntry — Get current entry

Descrição

public RecursiveTreeIterator::getEntry ( ) : string

Gets the part of the tree built for the current element.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the part of the tree built for the current element.


Get the postfix

  • « RecursiveTreeIterator::getEntry
  • RecursiveTreeIterator::getPrefix »
  • PHP Manual
  • RecursiveTreeIterator
  • Get the postfix

RecursiveTreeIterator::getPostfix

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::getPostfix — Get the postfix

Descrição

public RecursiveTreeIterator::getPostfix ( ) : string

Gets the string to place after the current element.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string to place after the current element.


Get the prefix

  • « RecursiveTreeIterator::getPostfix
  • RecursiveTreeIterator::key »
  • PHP Manual
  • RecursiveTreeIterator
  • Get the prefix

RecursiveTreeIterator::getPrefix

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::getPrefix — Get the prefix

Descrição

public RecursiveTreeIterator::getPrefix ( ) : string

Gets the string to place in front of current element

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the string to place in front of current element


Get the key of the current element

  • « RecursiveTreeIterator::getPrefix
  • RecursiveTreeIterator::next »
  • PHP Manual
  • RecursiveTreeIterator
  • Get the key of the current element

RecursiveTreeIterator::key

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::key — Get the key of the current element

Descrição

public RecursiveTreeIterator::key ( ) : string

Gets the current key prefixed and postfixed.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current key prefixed and postfixed.


Move to next element

  • « RecursiveTreeIterator::key
  • RecursiveTreeIterator::nextElement »
  • PHP Manual
  • RecursiveTreeIterator
  • Move to next element

RecursiveTreeIterator::next

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::next — Move to next element

Descrição

public RecursiveTreeIterator::next ( ) : void

Moves forward to the next element.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Next element

  • « RecursiveTreeIterator::next
  • RecursiveTreeIterator::rewind »
  • PHP Manual
  • RecursiveTreeIterator
  • Next element

RecursiveTreeIterator::nextElement

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::nextElement — Next element

Descrição

public RecursiveTreeIterator::nextElement ( ) : void

Called when the next element is available.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Rewind iterator

  • « RecursiveTreeIterator::nextElement
  • RecursiveTreeIterator::setPostfix »
  • PHP Manual
  • RecursiveTreeIterator
  • Rewind iterator

RecursiveTreeIterator::rewind

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::rewind — Rewind iterator

Descrição

public RecursiveTreeIterator::rewind ( ) : void

Rewinds the iterator to the first element of the top level inner iterator.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Set postfix

  • « RecursiveTreeIterator::rewind
  • RecursiveTreeIterator::setPrefixPart »
  • PHP Manual
  • RecursiveTreeIterator
  • Set postfix

RecursiveTreeIterator::setPostfix

(PHP 5 >= 5.5.3, PHP 7)

RecursiveTreeIterator::setPostfix — Set postfix

Descrição

public RecursiveTreeIterator::setPostfix ( string $postfix ) : void

Sets postfix as used in RecursiveTreeIterator::getPostfix().

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

postfix

Valor Retornado

Não há valor retornado.


Set a part of the prefix

  • « RecursiveTreeIterator::setPostfix
  • RecursiveTreeIterator::valid »
  • PHP Manual
  • RecursiveTreeIterator
  • Set a part of the prefix

RecursiveTreeIterator::setPrefixPart

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::setPrefixPart — Set a part of the prefix

Descrição

public RecursiveTreeIterator::setPrefixPart ( int $part , string $value ) : void

Sets a part of the prefix used in the graphic tree.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

part

One of the RecursiveTreeIterator::PREFIX_* constants.

value

The value to assign to the part of the prefix specified in part.

Valor Retornado

Não há valor retornado.


Check validity

  • « RecursiveTreeIterator::setPrefixPart
  • RegexIterator »
  • PHP Manual
  • RecursiveTreeIterator
  • Check validity

RecursiveTreeIterator::valid

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::valid — Check validity

Descrição

public RecursiveTreeIterator::valid ( ) : bool

Check whether the current position is valid.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the current position is valid, otherwise false


The RegexIterator class

(PHP 5 >= 5.2.0, PHP 7)

Introdução

This iterator can be used to filter another iterator based on a regular expression.

Sinopse da classe

RegexIterator extends FilterIterator {
/* Constantes */
const int MATCH = 0 ;
const int GET_MATCH = 1 ;
const int ALL_MATCHES = 2 ;
const int SPLIT = 3 ;
const int REPLACE = 4 ;
const int USE_KEY = 1 ;
/* Métodos */
public __construct ( Iterator $iterator , string $regex , int $mode = self::MATCH , int $flags = 0 , int $preg_flags = 0 )
public accept ( ) : bool
public getFlags ( ) : int
public getMode ( ) : int
public getPregFlags ( ) : int
public getRegex ( ) : string
public setFlags ( int $flags ) : void
public setMode ( int $mode ) : void
public setPregFlags ( int $preg_flags ) : void
/* Métodos herdados */
public abstract FilterIterator::accept ( ) : bool
public FilterIterator::__construct ( Iterator $iterator )
FilterIterator::current ( ) : mixed
FilterIterator::getInnerIterator ( ) : Iterator
FilterIterator::key ( ) : mixed
FilterIterator::next ( ) : void
FilterIterator::rewind ( ) : void
FilterIterator::valid ( ) : bool
}

Constantes pré-definidas

RegexIterator operation modes

RegexIterator::ALL_MATCHES

Return all matches for the current entry (see preg_match_all()).

RegexIterator::GET_MATCH

Return the first match for the current entry (see preg_match()).

RegexIterator::MATCH

Only execute match (filter) for the current entry (see preg_match()).

RegexIterator::REPLACE

Replace the current entry (see preg_replace(); Not fully implemented yet)

RegexIterator::SPLIT

Returns the split values for the current entry (see preg_split()).

RegexIterator Flags

RegexIterator::USE_KEY

Special flag: Match the entry key instead of the entry value.

Índice

  • RegexIterator::accept — Get accept status
  • RegexIterator::__construct — Create a new RegexIterator
  • RegexIterator::getFlags — Get flags
  • RegexIterator::getMode — Returns operation mode
  • RegexIterator::getPregFlags — Returns the regular expression flags
  • RegexIterator::getRegex — Returns current regular expression
  • RegexIterator::setFlags — Sets the flags
  • RegexIterator::setMode — Sets the operation mode
  • RegexIterator::setPregFlags — Sets the regular expression flags


Get accept status

  • « RegexIterator
  • RegexIterator::__construct »
  • PHP Manual
  • RegexIterator
  • Get accept status

RegexIterator::accept

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::accept — Get accept status

Descrição

public RegexIterator::accept ( ) : bool

Matches (string) RegexIterator::current()
(or RegexIterator::key() if the
RegexIterator::USE_KEY flag is set)
against the regular expression.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if a match, false otherwise.

Exemplos

Exemplo #1 RegexIterator::accept() example

This example shows that only items matching the regular expression are accepted.

<?php
$names = new ArrayIterator(array('Ann', 'Bob', 'Charlie', 'David'));
$filter = new RegexIterator($names, '/^[B-D]/');
foreach ($filter as $name) {
    echo $name . PHP_EOL;
}
?>

O exemplo acima irá imprimir:

Bob
Charlie
David

Veja Também

  • RegexIterator constants
  • RegexIterator::setFlags() - Sets the flags


Create a new RegexIterator

  • « RegexIterator::accept
  • RegexIterator::getFlags »
  • PHP Manual
  • RegexIterator
  • Create a new RegexIterator

RegexIterator::__construct

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::__construct — Create a new RegexIterator

Descrição

public RegexIterator::__construct ( Iterator $iterator , string $regex , int $mode = self::MATCH , int $flags = 0 , int $preg_flags = 0 )

Create a new RegexIterator which filters an Iterator using a regular expression.

Parâmetros

iterator

The iterator to apply this regex filter to.

regex

The regular expression to match.

mode

Operation mode, see RegexIterator::setMode() for a list of modes.

flags

Special flags, see RegexIterator::setFlags() for a list of available flags.

preg_flags

The regular expression flags. These flags depend on the operation mode parameter:

RegexIterator preg_flags
operation mode | available flags
RegexIterator::ALL_MATCHES | See preg_match_all().
RegexIterator::GET_MATCH | See preg_match().
RegexIterator::MATCH | See preg_match().
RegexIterator::REPLACE | none.
RegexIterator::SPLIT | See preg_split().

Erros

Throws an InvalidArgumentException if the regex argument is invalid.

Exemplos

Exemplo #1 RegexIterator::__construct() example

Creates a new RegexIterator that filters all strings that start with 'test'.

<?php
$arrayIterator = new ArrayIterator(array('test 1', 'another test', 'test 123'));
$regexIterator = new RegexIterator($arrayIterator, '/^test/');

foreach ($regexIterator as $value) {
    echo $value . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

test 1
test 123

Veja Também

  • preg_match() - Perform a regular expression match
  • preg_match_all() - Perform a global regular expression match
  • preg_replace() - Realiza uma pesquisa por uma expressão regular e a substitui.
  • preg_split() - Divide a string por uma expressão regular


Get flags

  • « RegexIterator::__construct
  • RegexIterator::getMode »
  • PHP Manual
  • RegexIterator
  • Get flags

RegexIterator::getFlags

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::getFlags — Get flags

Descrição

public RegexIterator::getFlags ( ) : int

Returns the flags, see RegexIterator::setFlags() for a list of available flags.

Valor Retornado

Returns the set flags.

Exemplos

Exemplo #1 RegexIterator::getFlags() example

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/');
$regexIterator->setFlags(RegexIterator::USE_KEY);

if ($regexIterator->getFlags() & RegexIterator::USE_KEY) {
    echo 'Filtering based on the array keys.';
} else {
    echo 'Filtering based on the array values.';
}
?>

O exemplo acima irá imprimir:

Filtering based on the array keys.

Veja Também

  • RegexIterator::setFlags() - Sets the flags


Returns operation mode

  • « RegexIterator::getFlags
  • RegexIterator::getPregFlags »
  • PHP Manual
  • RegexIterator
  • Returns operation mode

RegexIterator::getMode

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::getMode — Returns operation mode

Descrição

public RegexIterator::getMode ( ) : int

Returns the operation mode, see RegexIterator::setMode() for the list of operation modes.

Valor Retornado

Returns the operation mode.

Exemplos

Exemplo #1 RegexIterator::getMode() example

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^[a-z]+/', RegexIterator::GET_MATCH);

$mode = $regexIterator->getMode();
if ($mode & RegexIterator::GET_MATCH) {
    echo 'Getting the match for each item.';
} elseif ($mode & RegexIterator::ALL_MATCHES) {
    echo 'Getting all matches for each item.';
} elseif ($mode & RegexIterator::MATCH) {
    echo 'Getting each item if it matches.';
} elseif ($mode & RegexIterator::SPLIT) {
    echo 'Getting split pieces of each.';
}
?>

O exemplo acima irá imprimir:

Getting the match for each item.

Veja Também

  • RegexIterator::setMode() - Sets the operation mode


Returns the regular expression flags

  • « RegexIterator::getMode
  • RegexIterator::getRegex »
  • PHP Manual
  • RegexIterator
  • Returns the regular expression flags

RegexIterator::getPregFlags

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::getPregFlags — Returns the regular expression flags

Descrição

public RegexIterator::getPregFlags ( ) : int

Returns the regular expression flags, see RegexIterator::__construct() for the list of flags.

Valor Retornado

Returns a bitmask of the regular expression flags.

Exemplos

Exemplo #1 RegexIterator::getPregFlags() example

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/\s/', RegexIterator::SPLIT);
$regexIterator->setPregFlags(PREG_SPLIT_NO_EMPTY | PREG_SPLIT_OFFSET_CAPTURE);

if ($regexIterator->getPregFlags() & PREG_SPLIT_NO_EMPTY) {
    echo 'Ignoring empty pieces';
} else {
    echo 'Not ignoring empty pieces';
}

?>

O exemplo acima irá imprimir:

Ignoring empty pieces

Veja Também

  • RegexIterator::setPregFlags() - Sets the regular expression flags


Returns current regular expression

  • « RegexIterator::getPregFlags
  • RegexIterator::setFlags »
  • PHP Manual
  • RegexIterator
  • Returns current regular expression

RegexIterator::getRegex

(PHP 5 >= 5.4.0, PHP 7)

RegexIterator::getRegex — Returns current regular expression

Descrição

public RegexIterator::getRegex ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Sets the flags

  • « RegexIterator::getRegex
  • RegexIterator::setMode »
  • PHP Manual
  • RegexIterator
  • Sets the flags

RegexIterator::setFlags

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::setFlags — Sets the flags

Descrição

public RegexIterator::setFlags ( int $flags ) : void

Sets the flags.

Parâmetros

flags

The flags to set, a bitmask of class constants.

The available flags are listed below. The actual meanings of these flags are described in the predefined constants.

RegexIterator flags
value | constant
1 | RegexIterator::USE_KEY

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 RegexIterator::setFlags() example

Creates a new RegexIterator that filters all entries whose key starts with 'test'.

<?php
$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/');
$regexIterator->setFlags(RegexIterator::USE_KEY);

foreach ($regexIterator as $key => $value) {
    echo $key . ' => ' . $value . "\n";
}
?>

O exemplo acima irá imprimir:

teststr2 => another test

Veja Também

  • RegexIterator::getFlags() - Get flags


Sets the operation mode

  • « RegexIterator::setFlags
  • RegexIterator::setPregFlags »
  • PHP Manual
  • RegexIterator
  • Sets the operation mode

RegexIterator::setMode

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::setMode — Sets the operation mode

Descrição

public RegexIterator::setMode ( int $mode ) : void

Sets the operation mode.

Parâmetros

mode

The operation mode.

The available modes are listed below. The actual meanings of these modes are described in the predefined constants.

RegexIterator modes
value | constant
0 | RegexIterator::MATCH
1 | RegexIterator::GET_MATCH
2 | RegexIterator::ALL_MATCHES
3 | RegexIterator::SPLIT
4 | RegexIterator::REPLACE

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 RegexIterator::setMode() example

<?php
$test = array ('str1' => 'test 1', 'test str2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
// Filter everything that starts with 'test ' followed by one or more numbers.
$regexIterator = new RegexIterator($arrayIterator, '/^test (\d+)/');
// Operation mode: Replace actual value with the matches
$regexIterator->setMode(RegexIterator::GET_MATCH);

foreach ($regexIterator as $key => $value) {
    // print out the matched number(s)
    echo $key . ' => ' . $value[1] . PHP_EOL;
}
?>

O exemplo acima irá imprimir algo similar à:

str1 => 1
str3 => 123

Veja Também

  • RegexIterator::getMode() - Returns operation mode


Sets the regular expression flags

  • « RegexIterator::setMode
  • Interfaces »
  • PHP Manual
  • RegexIterator
  • Sets the regular expression flags

RegexIterator::setPregFlags

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::setPregFlags — Sets the regular expression flags

Descrição

public RegexIterator::setPregFlags ( int $preg_flags ) : void

Sets the regular expression flags.

Parâmetros

preg_flags

The regular expression flags. See RegexIterator::__construct() for an overview of available flags.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 RegexIterator::setPregFlags() example

Creates a new RegexIterator that filters all entries with where the array key starts with 'test'.

<?php
$test = array ('test 1', 'another test', 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/', RegexIterator::GET_MATCH);

$regexIterator->setPregFlags(PREG_OFFSET_CAPTURE);

foreach ($regexIterator as $key => $value) {
    var_dump($value);
}
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(4) "test"
    [1]=>
    int(0)
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(4) "test"
    [1]=>
    int(0)
  }
}

Veja Também

  • RegexIterator::getPregFlags() - Returns the regular expression flags


Interfaces

Índice

  • Countable
  • OuterIterator
  • RecursiveIterator
  • SeekableIterator

O SPL fornece um conjunto de interfaces.

Veja também as Interfaces e Classes pré-definidas

lista de Interfaces

  • Countable
  • OuterIterator
  • RecursiveIterator
  • SeekableIterator
  • SplObserver
  • SplSubject


Interface Countable

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Classes que implementam Countable podem ser usadas com a função count().

Resumo da Interface

Countable {
/* Métodos */
abstract public count ( ) : int
}

Índice

  • Countable::count — Count elements of an object


Count elements of an object

  • « Countable
  • OuterIterator »
  • PHP Manual
  • Countable
  • Count elements of an object

Countable::count

(PHP 5 >= 5.1.0, PHP 7)

Countable::count — Count elements of an object

Descrição

abstract public Countable::count ( ) : int

This method is executed when using the count() function on an object implementing Countable.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The custom count as an int.

Nota:

The return value is cast to an int.

Exemplos

Exemplo #1 Countable::count() example

<?php
class myCounter implements Countable {
    private $count = 0;
    public function count() {
        return ++$this->count;
    }
}

$counter = new myCounter;

for($i=0; $i<10; ++$i) {
    echo "I have been count()ed " . count($counter) . " times\n";
}
?>

O exemplo acima irá imprimir algo similar à:

I have been count()ed 1 times
I have been count()ed 2 times
I have been count()ed 3 times
I have been count()ed 4 times
I have been count()ed 5 times
I have been count()ed 6 times
I have been count()ed 7 times
I have been count()ed 8 times
I have been count()ed 9 times
I have been count()ed 10 times


The OuterIterator interface

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Classes implementing OuterIterator can be used to iterate over iterators.

Resumo da Interface

OuterIterator extends Iterator {
/* Métodos */
public getInnerIterator ( ) : Iterator
/* Métodos herdados */
abstract public Iterator::current ( ) : mixed
abstract public Iterator::key ( ) : scalar
abstract public Iterator::next ( ) : void
abstract public Iterator::rewind ( ) : void
abstract public Iterator::valid ( ) : bool
}

Índice

  • OuterIterator::getInnerIterator — Returns the inner iterator for the current entry


Returns the inner iterator for the current entry

  • « OuterIterator
  • RecursiveIterator »
  • PHP Manual
  • OuterIterator
  • Returns the inner iterator for the current entry

OuterIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

OuterIterator::getInnerIterator — Returns the inner iterator for the current entry

Descrição

public OuterIterator::getInnerIterator ( ) : Iterator

Returns the inner iterator for the current iterator entry.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The inner iterator for the current entry.


The RecursiveIterator interface

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Classes implementing RecursiveIterator can be used to iterate over iterators recursively.

Resumo da Interface

RecursiveIterator extends Iterator {
/* Métodos */
public getChildren ( ) : RecursiveIterator
public hasChildren ( ) : bool
/* Métodos herdados */
abstract public Iterator::current ( ) : mixed
abstract public Iterator::key ( ) : scalar
abstract public Iterator::next ( ) : void
abstract public Iterator::rewind ( ) : void
abstract public Iterator::valid ( ) : bool
}

Índice

  • RecursiveIterator::getChildren — Returns an iterator for the current entry
  • RecursiveIterator::hasChildren — Returns if an iterator can be created for the current entry


Returns an iterator for the current entry

  • « RecursiveIterator
  • RecursiveIterator::hasChildren »
  • PHP Manual
  • RecursiveIterator
  • Returns an iterator for the current entry

RecursiveIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIterator::getChildren — Returns an iterator for the current entry

Descrição

public RecursiveIterator::getChildren ( ) : RecursiveIterator

Returns an iterator for the current iterator entry.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An iterator for the current entry.

Veja Também

  • RecursiveIterator::hasChildren() - Returns if an iterator can be created for the current entry


Returns if an iterator can be created for the current entry

  • « RecursiveIterator::getChildren
  • SeekableIterator »
  • PHP Manual
  • RecursiveIterator
  • Returns if an iterator can be created for the current entry

RecursiveIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIterator::hasChildren — Returns if an iterator can be created for the current entry

Descrição

public RecursiveIterator::hasChildren ( ) : bool

Returns if an iterator can be created for the current entry. RecursiveIterator::getChildren().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the current entry can be iterated over, otherwise returns false.

Veja Também

  • RecursiveIterator::getChildren() - Returns an iterator for the current entry


The SeekableIterator interface

(PHP 5 >= 5.1.0, PHP 7)

Introdução

The Seekable iterator.

Resumo da Interface

SeekableIterator extends Iterator {
/* Métodos */
abstract public seek ( int $position ) : void
/* Métodos herdados */
abstract public Iterator::current ( ) : mixed
abstract public Iterator::key ( ) : scalar
abstract public Iterator::next ( ) : void
abstract public Iterator::rewind ( ) : void
abstract public Iterator::valid ( ) : bool
}

Exemplo #1 Basic usage

This example demonstrates creating a custom SeekableIterator, seeking to a position and handling an invalid position.

<?php
class MySeekableIterator implements SeekableIterator {

    private $position;

    private $array = array(
        "first element",
        "second element",
        "third element",
        "fourth element"
    );

    /* Method required for SeekableIterator interface */

    public function seek($position) {
      if (!isset($this->array[$position])) {
          throw new OutOfBoundsException("invalid seek position ($position)");
      }

      $this->position = $position;
    }

    /* Methods required for Iterator interface */

    public function rewind() {
        $this->position = 0;
    }

    public function current() {
        return $this->array[$this->position];
    }

    public function key() {
        return $this->position;
    }

    public function next() {
        ++$this->position;
    }

    public function valid() {
        return isset($this->array[$this->position]);
    }
}

try {

    $it = new MySeekableIterator;
    echo $it->current(), "\n";

    $it->seek(2);
    echo $it->current(), "\n";

    $it->seek(1);
    echo $it->current(), "\n";

    $it->seek(10);

} catch (OutOfBoundsException $e) {
    echo $e->getMessage();
}
?>

O exemplo acima irá imprimir algo similar à:

first element
third element
second element
invalid seek position (10)

Índice

  • SeekableIterator::seek — Seeks to a position


Seeks to a position

  • « SeekableIterator
  • Exceções »
  • PHP Manual
  • SeekableIterator
  • Seeks to a position

SeekableIterator::seek

(PHP 5 >= 5.1.0, PHP 7)

SeekableIterator::seek — Seeks to a position

Descrição

abstract public SeekableIterator::seek ( int $position ) : void

Seeks to a given position in the iterator.

Parâmetros

position

The position to seek to.

Valor Retornado

Não há valor retornado.

Erros

Implementations should throw an OutOfBoundsException if the position is not seekable.

Exemplos

Exemplo #1 SeekableIterator::seek() example

Seek to the item at position 3 in the iterator (ArrayIterator implements SeekableIterator).

<?php
$array = array("apple", "banana", "cherry", "damson", "elderberry");
$iterator = new ArrayIterator($array);
$iterator->seek(3);
echo $iterator->current();
?>

O exemplo acima irá imprimir algo similar à:

damson

Veja Também

  • SeekableIterator
  • Iterator


Exceções

Índice

  • BadFunctionCallException
  • BadMethodCallException
  • DomainException
  • InvalidArgumentException
  • LengthException
  • LogicException
  • OutOfBoundsException
  • OutOfRangeException
  • OverflowException
  • RangeException
  • RuntimeException
  • UnderflowException
  • UnexpectedValueException

O SPL fornece um conjunto de Exceptions padrões.

Veja também as Exceções pré-definidas

SPL Exceptions Class Tree

  • LogicException (extends Exception)
    • BadFunctionCallException
      • BadMethodCallException
    • DomainException
    • InvalidArgumentException
    • LengthException
    • OutOfRangeException
  • RuntimeException (extends Exception)
    • OutOfBoundsException
    • OverflowException
    • RangeException
    • UnderflowException
    • UnexpectedValueException


The BadFunctionCallException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Exception thrown if a callback refers to an undefined function or if some arguments are missing.

Sinopse da classe

BadFunctionCallException extends LogicException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The BadMethodCallException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Exception thrown if a callback refers to an undefined method or if some arguments are missing.

Sinopse da classe

BadMethodCallException extends BadFunctionCallException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The DomainException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Exception thrown if a value does not adhere to a defined valid data domain.

Sinopse da classe

DomainException extends LogicException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The InvalidArgumentException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Exception thrown if an argument is not of the expected type.

Sinopse da classe

InvalidArgumentException extends LogicException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The LengthException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Exception thrown if a length is invalid.

Sinopse da classe

LengthException extends LogicException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The LogicException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Exception that represents error in the program logic. This kind of exception should lead directly to a fix in your code.

Sinopse da classe

LogicException extends Exception {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The OutOfBoundsException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Exception thrown if a value is not a valid key. This represents errors that cannot be detected at compile time.

Sinopse da classe

OutOfBoundsException extends RuntimeException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The OutOfRangeException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Exception thrown when an illegal index was requested. This represents errors that should be detected at compile time.

Sinopse da classe

OutOfRangeException extends LogicException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The OverflowException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Exception thrown when adding an element to a full container.

Sinopse da classe

OverflowException extends RuntimeException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The RangeException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Exception thrown to indicate range errors during program execution. Normally this means there was an arithmetic error other than under/overflow. This is the runtime version of DomainException.

Sinopse da classe

RangeException extends RuntimeException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The RuntimeException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Exception thrown if an error which can only be found on runtime occurs.

Sinopse da classe

RuntimeException extends Exception {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The UnderflowException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Exception thrown when performing an invalid operation on an empty container, such as removing an element.

Sinopse da classe

UnderflowException extends RuntimeException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The UnexpectedValueException class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

Exception thrown if a value does not match with a set of values. Typically this happens when a function calls another function and expects the return value to be of a certain type or value not including arithmetic or buffer related errors.

Sinopse da classe

UnexpectedValueException extends RuntimeException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
public Exception::__construct ( string $message = NULL , int $code = ? , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


Funções da SPL

Índice

  • class_implements — Retorna as interfaces que são implementadas pela classe
  • class_parents — Retorna as classes pai de determinada classe
  • class_uses — Return the traits used by the given class
  • iterator_apply — Call a function for every element in an iterator
  • iterator_count — Conta o número de elementos do iterador
  • iterator_to_array — Copia o iterador em um array
  • spl_autoload_call — Tenta todas as funções __autoload() registradas para carregar a classe solicitada
  • spl_autoload_extensions — Registra e retorna as extensões de arquivo padrões para o spl_autoload
  • spl_autoload_functions — Retorna todas as funções __autoload() registradas
  • spl_autoload_register — Registra a função dada como implementação de __autoload()
  • spl_autoload_unregister — Retira a função dada como implementação de __autoload()
  • spl_autoload — Implementação padrão de __autoload()
  • spl_classes — Retorna as classes da SPL disponíveis
  • spl_object_hash — Retorna uma identificação hash do objeto dado
  • spl_object_id — Return the integer object handle for given object


Retorna as interfaces que são implementadas pela classe

  • « Funções da SPL
  • class_parents »
  • PHP Manual
  • Funções da SPL
  • Retorna as interfaces que são implementadas pela classe

class_implements

(PHP 5, PHP 7)

class_implements — Retorna as interfaces que são implementadas pela classe

Descrição

class_implements ( mixed $class , bool $autoload = ? ) : array

Esta função retorna um array com os nomes das interfaces que a classe class e seus pais implementam.

Parâmetros

class

Um objeto (instância da classe) ou uma string (nome da classe).

autoload

Permitir ou não que essa função carregue a classe automaticamente pelo método mágico __autoload O padrão é true.

Valor Retornado

Um array em sucesso, ou false em caso de erro.

Changelog

Versão | Descrição
5.1.0 | Adicionada a opção de passar o parâmetro class como uma string. Adicionado o parâmetro autoload.

Exemplos

Exemplo #1 Exemplo de class_implements()

<?php

interface foo { }
class bar implements foo {}

print_r(class_implements(new bar));

// desde o PHP 5.1.0 você também pode especificar o parâmetro como uma string
print_r(class_implements('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// utiliza o __autoload para carregar a classe 'not_loaded'
print_r(class_implements('not_loaded', true));

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [foo] => foo
)

Array
(
    [interface_of_not_loaded] => interface_of_not_loaded
)

Veja Também

  • class_parents() - Retorna as classes pai de determinada classe
  • get_declared_interfaces() - Retorna um array com todas as interfaces declaradas


Retorna as classes pai de determinada classe

  • « class_implements
  • class_uses »
  • PHP Manual
  • Funções da SPL
  • Retorna as classes pai de determinada classe

class_parents

(PHP 5, PHP 7)

class_parents — Retorna as classes pai de determinada classe

Descrição

class_parents ( mixed $class , bool $autoload = ? ) : array

Esta função retorna um array com o nome das classes pai da class dada.

Parâmetros

class

Um objeto (instância da classe) ou uma string (nome da classe).

autoload

Permitir ou não que essa função carregue a classe automaticamente pelo método mágico __autoload O padrão é true.

Valor Retornado

Um array em sucesso, ou false em caso de erro.

Changelog

Versão | Descrição
5.1.0 | Adicionada a opção de passar o parâmetro class como uma string. Adicionado o parâmetro autoload.

Exemplos

Exemplo #1 Exemplo de class_parents()

<?php

class foo { }
class bar extends foo {}

print_r(class_parents(new bar));

// desde o PHP 5.1.0 você também pode especificar o parâmetro como uma string
print_r(class_parents('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// utiliza o __autoload para carregar a classe 'not_loaded'
print_r(class_parents('not_loaded', true));
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [foo] => foo
)

Array
(
    [parent_of_not_loaded] => parent_of_not_loaded
)

Veja Também

  • class_implements() - Retorna as interfaces que são implementadas pela classe


Return the traits used by the given class

  • « class_parents
  • iterator_apply »
  • PHP Manual
  • Funções da SPL
  • Return the traits used by the given class

class_uses

(PHP 5 >= 5.4.0, PHP 7)

class_uses — Return the traits used by the given class

Descrição

class_uses ( mixed $class , bool $autoload = true ) : array

This function returns an array with the names of the traits that the given class uses. This does however not include any traits used by a parent class.

Parâmetros

class

An object (class instance) or a string (class name).

autoload

Whether to allow this function to load the class automatically through the __autoload() magic method.

Valor Retornado

An array on success, or false on error.

Exemplos

Exemplo #1 class_uses() example

<?php

trait foo { }
class bar {
  use foo;
}

print_r(class_uses(new bar));

print_r(class_uses('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// use __autoload to load the 'not_loaded' class
print_r(class_uses('not_loaded', true));

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [foo] => foo
)

Array
(
    [foo] => foo
)

Array
(
    [trait_of_not_loaded] => trait_of_not_loaded
)

Veja Também

  • class_parents() - Retorna as classes pai de determinada classe
  • get_declared_traits() - Retorna um array de todas as Traits declaradas


Call a function for every element in an iterator

  • « class_uses
  • iterator_count »
  • PHP Manual
  • Funções da SPL
  • Call a function for every element in an iterator

iterator_apply

(PHP 5 >= 5.1.0, PHP 7)

iterator_apply — Call a function for every element in an iterator

Descrição

iterator_apply ( Traversable $iterator , callable $function , array $args = null ) : int

Calls a function for every element in an iterator.

Parâmetros

iterator

The iterator object to iterate over.

function

The callback function to call on every element. This function only receives the given args, so it is nullary by default. If count($args) === 3, for instance, the callback function is ternary.

Nota: The function must return true in order to continue iterating over the iterator.

args

An array of arguments; each element of args is passed to the callback function as separate argument.

Valor Retornado

Returns the iteration count.

Exemplos

Exemplo #1 iterator_apply() example

<?php
function print_caps(Iterator $iterator) {
    echo strtoupper($iterator->current()) . "\n";
    return TRUE;
}

$it = new ArrayIterator(array("Apples", "Bananas", "Cherries"));
iterator_apply($it, "print_caps", array($it));
?>

O exemplo acima irá imprimir:

APPLES
BANANAS
CHERRIES

Veja Também

  • array_walk() - Aplica uma determinada funcão em cada elemento de um array


Conta o número de elementos do iterador

  • « iterator_apply
  • iterator_to_array »
  • PHP Manual
  • Funções da SPL
  • Conta o número de elementos do iterador

iterator_count

(PHP 5 >= 5.1.0, PHP 7)

iterator_count — Conta o número de elementos do iterador

Descrição

iterator_count ( IteratorAggregate $iterator ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Conta os elementos em um iterador.

Parâmetros

iterator

O iterador a ser contado.

Valor Retornado

O número de elementos no iterator.


Copia o iterador em um array

  • « iterator_count
  • spl_autoload_call »
  • PHP Manual
  • Funções da SPL
  • Copia o iterador em um array

iterator_to_array

(PHP 5 >= 5.1.0, PHP 7)

iterator_to_array — Copia o iterador em um array

Descrição

iterator_to_array ( Traversable $iterator , bool $use_keys = true ) : array

Copia os elementos de um iterador em um array.

Parâmetros

iterator

O iterador que está sendo copiado.

use_keys

Se as chaves do iterador serão utilizadas como índices.

A partir do PHP 5.5, se uma chave for um array ou um object, um erro warning será gerado. Chaves null serão convertidas em uma string vazia, chaves float serão truncadas em sua parte integer, chaves resource irão gerar um erro warning e serão convertidas para o seu resource ID, e as chaves boolean serão convertidas para inteiros.

Nota:

Se este parâmetro não for definido ou for definido como true, as chaves duplicadas serão sobrescritas. O último valor com aquela chave estará no array retornado. Defina esse parâmetro como false para receber todos os valores em qualquer caso.

Valor Retornado

Um array contendo os elementos do iterator.

Changelog

Versão | Descrição
5.5.0 | iterator_to_array() recebeu suporte para outros tipos de chave além de integer e string quando o parâmetro use_keys estiver habilitado.
5.2.1 | O parâmetro use_keys foi adicionado.

Exemplos

Exemplo #1 Exemplo da iterator_to_array()

<?php
$iterator = new ArrayIterator(array('recipe'=>'pancakes', 'egg', 'milk', 'flour'));
var_dump(iterator_to_array($iterator, true));
var_dump(iterator_to_array($iterator, false));
?>

O exemplo acima irá imprimir:

array(4) {
  ["recipe"]=>
  string(8) "pancakes"
  [0]=>
  string(3) "egg"
  [1]=>
  string(4) "milk"
  [2]=>
  string(5) "flour"
}
array(4) {
  [0]=>
  string(8) "pancakes"
  [1]=>
  string(3) "egg"
  [2]=>
  string(4) "milk"
  [3]=>
  string(5) "flour"
}


Tenta todas as funções __autoload() registradas para carregar a classe solicitada

  • « iterator_to_array
  • spl_autoload_extensions »
  • PHP Manual
  • Funções da SPL
  • Tenta todas as funções __autoload() registradas para carregar a classe solicitada

spl_autoload_call

(PHP 5 >= 5.1.0, PHP 7)

spl_autoload_call — Tenta todas as funções __autoload() registradas para carregar a classe solicitada

Descrição

spl_autoload_call ( string $class_name ) : void

Esta função pode ser usada para procurar manualmente por uma classe ou interface usando as funções __autoload registradas.

Parâmetros

class_name

O nome da classe sendo procurada.

Valor Retornado

Não há valor retornado.


Registra e retorna as extensões de arquivo padrões para o spl_autoload

  • « spl_autoload_call
  • spl_autoload_functions »
  • PHP Manual
  • Funções da SPL
  • Registra e retorna as extensões de arquivo padrões para o spl_autoload

spl_autoload_extensions

(PHP 5 >= 5.1.0, PHP 7)

spl_autoload_extensions — Registra e retorna as extensões de arquivo padrões para o spl_autoload

Descrição

spl_autoload_extensions ( string $file_extensions = ? ) : string

Esta função permite modificar e verificar as extensões de arquivo que a função __autoload interna de contingência da spl_autoload usará. Quanto chamada sem nenhum argumento, ela apenas retorna a lista atual de extensões separadas por vírgula. Para modificar a lista de extensões de arquivo, simplesmente chame a função com a nova lista de extensões de arquivos a serem usadas em uma única string, cada extensão separada por vírgula.


Retorna todas as funções __autoload() registradas

  • « spl_autoload_extensions
  • spl_autoload_register »
  • PHP Manual
  • Funções da SPL
  • Retorna todas as funções __autoload() registradas

spl_autoload_functions

(PHP 5 >= 5.1.0, PHP 7)

spl_autoload_functions — Retorna todas as funções __autoload() registradas

Descrição

spl_autoload_functions ( ) : array

Esta função retorna um array com todas as funções __autoload registradas. Se a pilha de autoload não estiver ativa, o retorno é false. Se nenhuma função estiver registrada, o retorno será um array vazio.


Registra a função dada como implementação de __autoload()

  • « spl_autoload_functions
  • spl_autoload_unregister »
  • PHP Manual
  • Funções da SPL
  • Registra a função dada como implementação de __autoload()

spl_autoload_register

(PHP 5 >= 5.1.0, PHP 7)

spl_autoload_register — Registra a função dada como implementação de __autoload()

Descrição

spl_autoload_register ( callback $autoload_function = ? ) : bool

Registra a função na pilha de __autoload da SPL. Se a pilha ainda não estiver ativa, ela será ativada. Se nenhum parâmetro for passado, a implementação padrão spl_autoload será registrada. Quando o registro for bem sucedido, o retono é true; em caso de falha, será retornado false.

Se o seu código já possuir uma função __autoload, essa função deve ser registrada na pilha de __autoload explicitamente. Isso é necessário porque a spl_autoload_register() irá de fato substituir internamente a função de __autoload por spl_autoload() ou spl_autoload_call().


Retira a função dada como implementação de __autoload()

  • « spl_autoload_register
  • spl_autoload »
  • PHP Manual
  • Funções da SPL
  • Retira a função dada como implementação de __autoload()

spl_autoload_unregister

(PHP 5 >= 5.1.0, PHP 7)

spl_autoload_unregister — Retira a função dada como implementação de __autoload()

Descrição

spl_autoload_unregister ( mixed $autoload_function ) : bool

Retira uma função da pilha de __autoload da SPL. Se a pilha estiver ativa e ficar vazia após retirar a função, ela será desativada. Quando a remoção é bem sucedida, o retorno é true; em caso de falha será retornado false.

Quando essa função faz com que a pilha de autoload seja desativada, a função de __autoload existente não será reativada.


Implementação padrão de __autoload()

  • « spl_autoload_unregister
  • spl_classes »
  • PHP Manual
  • Funções da SPL
  • Implementação padrão de __autoload()

spl_autoload

(PHP 5 >= 5.1.0, PHP 7)

spl_autoload — Implementação padrão de __autoload()

Descrição

spl_autoload ( string $class_name , string $file_extensions = ? ) : void

Esta funçao é para ser usada como implementação padrão para __autoload(). Se nenhuma outra função for especificada e a autoload_register() for chamada sem argumentos, esta função será usada para qualquer posterior chamada ao __autoload(). Por padrão, ela verifica todos os caminhos de inclusão por arquivos formados pelo nome da classe em minúsculo acrescido das extensões de arquivo .inc e .php.


Retorna as classes da SPL disponíveis

  • « spl_autoload
  • spl_object_hash »
  • PHP Manual
  • Funções da SPL
  • Retorna as classes da SPL disponíveis

spl_classes

(PHP 5, PHP 7)

spl_classes — Retorna as classes da SPL disponíveis

Descrição

spl_classes ( ) : array

Esta função retorna um array com as classes da SPL disponíveis atualmente.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um array contendo as classes SPL disponíveis.

Exemplos

Exemplo #1 Exemplo despl_classes()

<?php

print_r(spl_classes());

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [ArrayObject] => ArrayObject
    [ArrayIterator] => ArrayIterator
    [CachingIterator] => CachingIterator
    [RecursiveCachingIterator] => RecursiveCachingIterator
    [DirectoryIterator] => DirectoryIterator
    [FilterIterator] => FilterIterator
    [LimitIterator] => LimitIterator
    [ParentIterator] => ParentIterator
    [RecursiveDirectoryIterator] => RecursiveDirectoryIterator
    [RecursiveIterator] => RecursiveIterator
    [RecursiveIteratorIterator] => RecursiveIteratorIterator
    [SeekableIterator] => SeekableIterator
    [SimpleXMLIterator] => SimpleXMLIterator
)


Retorna uma identificação hash do objeto dado

  • « spl_classes
  • spl_object_id »
  • PHP Manual
  • Funções da SPL
  • Retorna uma identificação hash do objeto dado

spl_object_hash

(PHP 5 >= 5.2.0, PHP 7)

spl_object_hash — Retorna uma identificação hash do objeto dado

Descrição

spl_object_hash ( object $obj ) : string

Esta função retorna um identificador único para o objeto. Este identificador por ser usado como uma chave hash para guardar objetos ou para identificar um objeto.

Parâmetros

object

Qualquer objeto.

Valor Retornado

Uma string que é única para cada objeto e é sempre a mesma para o mesmo objeto.

Exemplos

Exemplo #1 Exemplo de spl_object_hash()

<?php
$id = spl_object_hash($object);
$storage[$id] = $object;
?>


Return the integer object handle for given object

  • « spl_object_hash
  • Manipulação de arquivos »
  • PHP Manual
  • Funções da SPL
  • Return the integer object handle for given object

spl_object_id

(PHP 7 >= 7.2.0)

spl_object_id — Return the integer object handle for given object

Descrição

spl_object_id ( object $obj ) : int

This function returns a unique identifier for the object. The object id is unique for the lifetime of the object. Once the object is destroyed, its id may be reused for other objects. This behavior is similar to spl_object_hash().

Parâmetros

object

Any object.

Valor Retornado

An integer identifier that is unique for each currently existing object and is always the same for each object.

Exemplos

Exemplo #1 A spl_object_id() example

<?php
$id = spl_object_id($object);
$storage[$id] = $object;
?>

Notas

Nota:

When an object is destroyed, its id may be reused for other objects.


Manipulação de arquivos

Índice

  • SplFileInfo
  • SplFileObject
  • SplTempFileObject

O SPL fornece um conjunto de classes para manipular arquivos.


The SplFileInfo class

(PHP 5 >= 5.1.2, PHP 7)

Introdução

The SplFileInfo class offers a high-level object oriented interface to information for an individual file.

Sinopse da classe

SplFileInfo {
/* Métodos */
public __construct ( string $file_name )
public getATime ( ) : int
public getBasename ( string $suffix = ? ) : string
public getCTime ( ) : int
public getExtension ( ) : string
public getFileInfo ( string $class_name = ? ) : SplFileInfo
public getFilename ( ) : string
public getGroup ( ) : int
public getInode ( ) : int
public getLinkTarget ( ) : string
public getMTime ( ) : int
public getOwner ( ) : int
public getPath ( ) : string
public getPathInfo ( string $class_name = ? ) : SplFileInfo
public getPathname ( ) : string
public getPerms ( ) : int
public getRealPath ( ) : string
public getSize ( ) : int
public getType ( ) : string
public isDir ( ) : bool
public isExecutable ( ) : bool
public isFile ( ) : bool
public isLink ( ) : bool
public isReadable ( ) : bool
public isWritable ( ) : bool
public openFile ( string $open_mode = "r" , bool $use_include_path = false , resource $context = null ) : SplFileObject
public setFileClass ( string $class_name = "SplFileObject" ) : void
public setInfoClass ( string $class_name = "SplFileInfo" ) : void
public __toString ( ) : string
}

Índice

  • SplFileInfo::__construct — Construct a new SplFileInfo object
  • SplFileInfo::getATime — Gets last access time of the file
  • SplFileInfo::getBasename — Gets the base name of the file
  • SplFileInfo::getCTime — Gets the inode change time
  • SplFileInfo::getExtension — Gets the file extension
  • SplFileInfo::getFileInfo — Gets an SplFileInfo object for the file
  • SplFileInfo::getFilename — Gets the filename
  • SplFileInfo::getGroup — Gets the file group
  • SplFileInfo::getInode — Gets the inode for the file
  • SplFileInfo::getLinkTarget — Gets the target of a link
  • SplFileInfo::getMTime — Gets the last modified time
  • SplFileInfo::getOwner — Gets the owner of the file
  • SplFileInfo::getPath — Gets the path without filename
  • SplFileInfo::getPathInfo — Gets an SplFileInfo object for the path
  • SplFileInfo::getPathname — Gets the path to the file
  • SplFileInfo::getPerms — Gets file permissions
  • SplFileInfo::getRealPath — Gets absolute path to file
  • SplFileInfo::getSize — Gets file size
  • SplFileInfo::getType — Gets file type
  • SplFileInfo::isDir — Tells if the file is a directory
  • SplFileInfo::isExecutable — Tells if the file is executable
  • SplFileInfo::isFile — Tells if the object references a regular file
  • SplFileInfo::isLink — Tells if the file is a link
  • SplFileInfo::isReadable — Tells if file is readable
  • SplFileInfo::isWritable — Tells if the entry is writable
  • SplFileInfo::openFile — Gets an SplFileObject object for the file
  • SplFileInfo::setFileClass — Sets the class used with SplFileInfo::openFile
  • SplFileInfo::setInfoClass — Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo
  • SplFileInfo::__toString — Returns the path to the file as a string


Construct a new SplFileInfo object

  • « SplFileInfo
  • SplFileInfo::getATime »
  • PHP Manual
  • SplFileInfo
  • Construct a new SplFileInfo object

SplFileInfo::__construct

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::__construct — Construct a new SplFileInfo object

Descrição

public SplFileInfo::__construct ( string $file_name )

Creates a new SplFileInfo object for the file_name specified. The file does not need to exist, or be readable.

Parâmetros

file_name

Path to the file.

Exemplos

Exemplo #1 SplFileInfo::__construct() example

<?php
$info = new SplFileInfo('example.php');
if ($info->isFile()) {
    echo $info->getRealPath();
}
?>


Gets last access time of the file

  • « SplFileInfo::__construct
  • SplFileInfo::getBasename »
  • PHP Manual
  • SplFileInfo
  • Gets last access time of the file

SplFileInfo::getATime

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getATime — Gets last access time of the file

Descrição

public SplFileInfo::getATime ( ) : int

Gets the last access time for the file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the time the file was last accessed.

Erros

Throws RunTimeException on error.

Veja Também

  • fileatime() - Obtém o último horário de acesso do arquivo


Gets the base name of the file

  • « SplFileInfo::getATime
  • SplFileInfo::getCTime »
  • PHP Manual
  • SplFileInfo
  • Gets the base name of the file

SplFileInfo::getBasename

(PHP 5 >= 5.2.2, PHP 7)

SplFileInfo::getBasename — Gets the base name of the file

Descrição

public SplFileInfo::getBasename ( string $suffix = ? ) : string

This method returns the base name of the file, directory, or link without path info.

Cuidado

SplFileInfo::getBasename() is locale aware, so for it to see the correct basename with multibyte character paths, the matching locale must be set using the setlocale() function.

Parâmetros

suffix

Optional suffix to omit from the base name returned.

Valor Retornado

Returns the base name without path information.

Exemplos

Exemplo #1 SplFileInfo::getBasename() example

<?php
$info = new SplFileInfo('file.txt');
var_dump($info->getBasename());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getBasename());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getBasename('.txt'));
?>

O exemplo acima irá imprimir algo similar à:

string(8) "file.txt"
string(8) "file.txt"
string(4) "file"

Veja Também

  • SplFileInfo::getFilename() - Gets the filename


Gets the inode change time

  • « SplFileInfo::getBasename
  • SplFileInfo::getExtension »
  • PHP Manual
  • SplFileInfo
  • Gets the inode change time

SplFileInfo::getCTime

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getCTime — Gets the inode change time

Descrição

public SplFileInfo::getCTime ( ) : int

Returns the inode change time for the file. The time returned is a Unix timestamp.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The last change time, in a Unix timestamp.

Erros

Throws RunTimeException on error.

Exemplos

Exemplo #1 SplFileInfo::getCTime() example

<?php
$info = new SplFileInfo(__FILE__);
echo 'Last changed at ' . date('g:i a', $info->getCTime());
?>

O exemplo acima irá imprimir algo similar à:

Last changed at 1:49 pm

Veja Também

  • filectime() - Obtém o tempo de modificação do inode do arquivo


Gets the file extension

  • « SplFileInfo::getCTime
  • SplFileInfo::getFileInfo »
  • PHP Manual
  • SplFileInfo
  • Gets the file extension

SplFileInfo::getExtension

(PHP 5 >= 5.3.6, PHP 7)

SplFileInfo::getExtension — Gets the file extension

Descrição

public SplFileInfo::getExtension ( ) : string

Retrieves the file extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string containing the file extension, or an empty string if the file has no extension.

Exemplos

Exemplo #1 SplFileInfo::getExtension() example

<?php

$info = new SplFileInfo('foo.txt');
var_dump($info->getExtension());

$info = new SplFileInfo('photo.jpg');
var_dump($info->getExtension());

$info = new SplFileInfo('something.tar.gz');
var_dump($info->getExtension());

?>

O exemplo acima irá imprimir:

string(3) "txt"
string(3) "jpg"
string(2) "gz"

Notas

Nota:

This method is only available as of PHP 5.3.6. Another way of getting the extension is to use the pathinfo() function.

<?php
$extension = pathinfo($info->getFilename(), PATHINFO_EXTENSION);
?>

Veja Também

  • SplFileInfo::getFilename() - Gets the filename
  • SplFileInfo::getBasename() - Gets the base name of the file
  • pathinfo() - Retorna informações sobre um caminho de arquivo


Gets an SplFileInfo object for the file

  • « SplFileInfo::getExtension
  • SplFileInfo::getFilename »
  • PHP Manual
  • SplFileInfo
  • Gets an SplFileInfo object for the file

SplFileInfo::getFileInfo

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getFileInfo — Gets an SplFileInfo object for the file

Descrição

public SplFileInfo::getFileInfo ( string $class_name = ? ) : SplFileInfo

This method gets an SplFileInfo object for the referenced file.

Parâmetros

class_name

Name of an SplFileInfo derived class to use.

Valor Retornado

An SplFileInfo object created for the file.

Veja Também

  • SplFileInfo::setInfoClass() - Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo


Gets the filename

  • « SplFileInfo::getFileInfo
  • SplFileInfo::getGroup »
  • PHP Manual
  • SplFileInfo
  • Gets the filename

SplFileInfo::getFilename

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getFilename — Gets the filename

Descrição

public SplFileInfo::getFilename ( ) : string

Gets the filename without any path information.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The filename.

Exemplos

Exemplo #1 SplFileInfo::getFilename() example

<?php
$info = new SplFileInfo('foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('/path/to/foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/svn.php');
var_dump($info->getFilename());
?>

O exemplo acima irá imprimir algo similar à:

string(7) "foo.txt"
string(7) "foo.txt"
string(0) ""
string(7) "svn.php"

Veja Também

  • SplFileInfo::getBasename() - Gets the base name of the file


Gets the file group

  • « SplFileInfo::getFilename
  • SplFileInfo::getInode »
  • PHP Manual
  • SplFileInfo
  • Gets the file group

SplFileInfo::getGroup

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getGroup — Gets the file group

Descrição

public SplFileInfo::getGroup ( ) : int

Gets the file group. The group ID is returned in numerical format.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The group id in numerical format.

Erros

Throws RuntimeException on error.

Exemplos

Exemplo #1 SplFileInfo::getGroup() example

<?php
$info = new SplFileInfo(__FILE__);
print_r(posix_getgrgid($info->getGroup()));
?>

O exemplo acima irá imprimir algo similar à:

Veja Também

  • posix_getgrgid() - Return info about a group by group id


Gets the inode for the file

  • « SplFileInfo::getGroup
  • SplFileInfo::getLinkTarget »
  • PHP Manual
  • SplFileInfo
  • Gets the inode for the file

SplFileInfo::getInode

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getInode — Gets the inode for the file

Descrição

public SplFileInfo::getInode ( ) : int

Gets the inode number for the filesystem object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the inode number for the filesystem object.

Erros

Throws RuntimeException on error.

Veja Também

  • fileinode() - Lê o inode do arquivo


Gets the target of a link

  • « SplFileInfo::getInode
  • SplFileInfo::getMTime »
  • PHP Manual
  • SplFileInfo
  • Gets the target of a link

SplFileInfo::getLinkTarget

(PHP 5 >= 5.2.2, PHP 7)

SplFileInfo::getLinkTarget — Gets the target of a link

Descrição

public SplFileInfo::getLinkTarget ( ) : string

Gets the target of a filesystem link.

Nota:

The target may not be the real path on the filesystem. Use SplFileInfo::getRealPath() to determine the true path on the filesystem.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the target of the filesystem link.

Erros

Throws RuntimeException on error.

Exemplos

Exemplo #1 SplFileInfo::getLinkTarget() example

<?php
$info = new SplFileInfo('/Users/bbieber/workspace');
if ($info->isLink()) {
    var_dump($info->getLinkTarget());
    var_dump($info->getRealPath());
}
?>

O exemplo acima irá imprimir algo similar à:

string(19) "Documents/workspace"
string(34) "/Users/bbieber/Documents/workspace"

Veja Também

  • SplFileInfo::isLink() - Tells if the file is a link
  • SplFileInfo::getRealPath() - Gets absolute path to file


Gets the last modified time

  • « SplFileInfo::getLinkTarget
  • SplFileInfo::getOwner »
  • PHP Manual
  • SplFileInfo
  • Gets the last modified time

SplFileInfo::getMTime

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getMTime — Gets the last modified time

Descrição

public SplFileInfo::getMTime ( ) : int

Returns the time when the contents of the file were changed. The time returned is a Unix timestamp.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the last modified time for the file, in a Unix timestamp.

Veja Também

  • filemtime() - Obtém o tempo de modificação do arquivo


Gets the owner of the file

  • « SplFileInfo::getMTime
  • SplFileInfo::getPath »
  • PHP Manual
  • SplFileInfo
  • Gets the owner of the file

SplFileInfo::getOwner

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getOwner — Gets the owner of the file

Descrição

public SplFileInfo::getOwner ( ) : int

Gets the file owner. The owner ID is returned in numerical format.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The owner id in numerical format.

Erros

Throws RuntimeException on error.

Exemplos

Exemplo #1 SplFileInfo::getOwner() example

<?php
$info = new SplFileInfo('file.txt');
print_r(posix_getpwuid($info->getOwner()));
?>

Veja Também

  • posix_getpwuid() - Return info about a user by user id
  • SplFileInfo::getGroup() - Gets the file group


Gets the path without filename

  • « SplFileInfo::getOwner
  • SplFileInfo::getPathInfo »
  • PHP Manual
  • SplFileInfo
  • Gets the path without filename

SplFileInfo::getPath

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getPath — Gets the path without filename

Descrição

public SplFileInfo::getPath ( ) : string

Returns the path to the file, omitting the filename and any trailing slash.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the path to the file.

Exemplos

Exemplo #1 SplFileInfo::getPath() example

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->getPath());

$info = new SplFileInfo('/usr/');
var_dump($info->getPath());?>

O exemplo acima irá imprimir algo similar à:

string(8) "/usr/bin"
string(4) "/usr"

Veja Também

  • SplFileInfo::getRealPath() - Gets absolute path to file
  • SplFileInfo::getFilename() - Gets the filename
  • SplFileInfo::getPathInfo() - Gets an SplFileInfo object for the path


Gets an SplFileInfo object for the path

  • « SplFileInfo::getPath
  • SplFileInfo::getPathname »
  • PHP Manual
  • SplFileInfo
  • Gets an SplFileInfo object for the path

SplFileInfo::getPathInfo

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getPathInfo — Gets an SplFileInfo object for the path

Descrição

public SplFileInfo::getPathInfo ( string $class_name = ? ) : SplFileInfo

Gets an SplFileInfo object for the parent of the current file.

Parâmetros

class_name

Name of an SplFileInfo derived class to use.

Valor Retornado

Returns an SplFileInfo object for the parent path of the file.

Exemplos

Exemplo #1 SplFileInfo::getPathInfo() example

<?php
$info = new SplFileInfo('/usr/bin/php');
$parent_info = $info->getPathInfo();
var_dump($parent_info->getRealPath());
?>

O exemplo acima irá imprimir algo similar à:

string(8) "/usr/bin"

Veja Também

  • SplFileInfo::setInfoClass() - Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo


Gets the path to the file

  • « SplFileInfo::getPathInfo
  • SplFileInfo::getPerms »
  • PHP Manual
  • SplFileInfo
  • Gets the path to the file

SplFileInfo::getPathname

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getPathname — Gets the path to the file

Descrição

public SplFileInfo::getPathname ( ) : string

Returns the path to the file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The path to the file.

Exemplos

Exemplo #1 SplFileInfo::getPathname() example

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->getPathname());
?>

O exemplo acima irá imprimir algo similar à:

string(12) "/usr/bin/php"

Veja Também

  • SplFileInfo::getRealPath() - Gets absolute path to file


Gets file permissions

  • « SplFileInfo::getPathname
  • SplFileInfo::getRealPath »
  • PHP Manual
  • SplFileInfo
  • Gets file permissions

SplFileInfo::getPerms

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getPerms — Gets file permissions

Descrição

public SplFileInfo::getPerms ( ) : int

Gets the file permissions for the file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the file permissions.

Exemplos

Exemplo #1 SplFileInfo::getPerms() example

<?php
$info = new SplFileInfo('/tmp');
echo substr(sprintf('%o', $info->getPerms()), -4);

$info = new SplFileInfo(__FILE__);
echo substr(sprintf('%o', $info->getPerms()), -4);
?>

O exemplo acima irá imprimir algo similar à:

1777
0644


Gets absolute path to file

  • « SplFileInfo::getPerms
  • SplFileInfo::getSize »
  • PHP Manual
  • SplFileInfo
  • Gets absolute path to file

SplFileInfo::getRealPath

(PHP 5 >= 5.2.2, PHP 7)

SplFileInfo::getRealPath — Gets absolute path to file

Descrição

public SplFileInfo::getRealPath ( ) : string

This method expands all symbolic links, resolves relative references and returns the real path to the file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the path to the file, or false if the file does not exist.

Exemplos

Exemplo #1 SplFileInfo::getRealPath() example

<?php
$info = new SplFileInfo('/..//./../../'.__FILE__);
var_dump($info->getRealPath());

$info = new SplFileInfo('/tmp');
var_dump($info->getRealPath());

$info = new SplFileInfo('/I/Do/Not/Exist');
var_dump($info->getRealPath());

$info = new SplFileInfo('php://output');
var_dump($info->getRealPath());

$info = new SplFileInfo("");
var_dump($info->getRealPath());
?>

O exemplo acima irá imprimir algo similar à:

string(28) "/private/tmp/phptempfile.php"
string(12) "/private/tmp"
bool(false)
bool(false)
string(12) "/private/tmp"

Veja Também

  • SplFileInfo::isLink() - Tells if the file is a link
  • realpath() - Retorna o path absoluto canonicalizado


Gets file size

  • « SplFileInfo::getRealPath
  • SplFileInfo::getType »
  • PHP Manual
  • SplFileInfo
  • Gets file size

SplFileInfo::getSize

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getSize — Gets file size

Descrição

public SplFileInfo::getSize ( ) : int

Returns the filesize in bytes for the file referenced.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The filesize in bytes.

Erros

A RuntimeException will be thrown if the file does not exist or an error occurs.

Veja Também

  • filesize() - Obtém o tamanho do arquivo


Gets file type

  • « SplFileInfo::getSize
  • SplFileInfo::isDir »
  • PHP Manual
  • SplFileInfo
  • Gets file type

SplFileInfo::getType

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getType — Gets file type

Descrição

public SplFileInfo::getType ( ) : string

Returns the type of the file referenced.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A string representing the type of the entry. May be one of file, link, dir, block, fifo, char, socket, or unknown

Erros

Throws a RuntimeException on error.

Exemplos

Exemplo #1 SplFileInfo::getType() example

<?php

$info = new SplFileInfo(__FILE__);
echo $info->getType().PHP_EOL;

$info = new SplFileInfo(dirname(__FILE__));
echo $info->getType();

?>

O exemplo acima irá imprimir algo similar à:

file
dir


Tells if the file is a directory

  • « SplFileInfo::getType
  • SplFileInfo::isExecutable »
  • PHP Manual
  • SplFileInfo
  • Tells if the file is a directory

SplFileInfo::isDir

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::isDir — Tells if the file is a directory

Descrição

public SplFileInfo::isDir ( ) : bool

This method can be used to determine if the file is a directory.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if a directory, false otherwise.

Exemplos

Exemplo #1 SplFileInfo::isDir() example

<?php
$d = new SplFileInfo(dirname(__FILE__));
var_dump($d->isDir());

$d = new SplFileInfo(__FILE__);
var_dump($d->isDir());
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(false)


Tells if the file is executable

  • « SplFileInfo::isDir
  • SplFileInfo::isFile »
  • PHP Manual
  • SplFileInfo
  • Tells if the file is executable

SplFileInfo::isExecutable

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::isExecutable — Tells if the file is executable

Descrição

public SplFileInfo::isExecutable ( ) : bool

Checks if the file is executable.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if executable, false otherwise.

Exemplos

Exemplo #1 SplFileInfo::isExecutable() example

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->isExecutable());

$info = new SplFileInfo('/usr/bin');
var_dump($info->isExecutable());

$info = new SplFileInfo('foo');
var_dump($info->isExecutable());
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(false)


Tells if the object references a regular file

  • « SplFileInfo::isExecutable
  • SplFileInfo::isLink »
  • PHP Manual
  • SplFileInfo
  • Tells if the object references a regular file

SplFileInfo::isFile

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::isFile — Tells if the object references a regular file

Descrição

public SplFileInfo::isFile ( ) : bool

Checks if the file referenced by this SplFileInfo object exists and is a regular file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the file exists and is a regular file (not a link), false otherwise.

Exemplos

Exemplo #1 SplFileInfo::isFile() example

<?php
$info = new SplFileInfo(__FILE__);
var_dump($info->isFile());

$info = new SplFileInfo(dirname(__FILE__));
var_dump($info->isFile());
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(false)


Tells if the file is a link

  • « SplFileInfo::isFile
  • SplFileInfo::isReadable »
  • PHP Manual
  • SplFileInfo
  • Tells if the file is a link

SplFileInfo::isLink

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::isLink — Tells if the file is a link

Descrição

public SplFileInfo::isLink ( ) : bool

Use this method to check if the file referenced by the SplFileInfo object is a link.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the file is a link, false otherwise.

Exemplos

Exemplo #1 SplFileInfo::isLink() example

<?php
$info = new SplFileInfo('/path/to/symlink');
if ($info->isLink()) {
    echo 'The real path is '.$info->getRealPath();
}
?>

Veja Também

  • SplFileInfo::getRealPath() - Gets absolute path to file


Tells if file is readable

  • « SplFileInfo::isLink
  • SplFileInfo::isWritable »
  • PHP Manual
  • SplFileInfo
  • Tells if file is readable

SplFileInfo::isReadable

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::isReadable — Tells if file is readable

Descrição

public SplFileInfo::isReadable ( ) : bool

Check if the file is readable.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if readable, false otherwise.

Exemplos

Exemplo #1 SplFileInfo::isReadable() example

<?php
$info = new SplFileInfo(__FILE__);
var_dump($info->isReadable());

$info = new SplFileInfo('foo');
var_dump($info->isReadable());
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(false)


Tells if the entry is writable

  • « SplFileInfo::isReadable
  • SplFileInfo::openFile »
  • PHP Manual
  • SplFileInfo
  • Tells if the entry is writable

SplFileInfo::isWritable

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::isWritable — Tells if the entry is writable

Descrição

public SplFileInfo::isWritable ( ) : bool

Checks if the current entry is writable.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if writable, false otherwise;


Gets an SplFileObject object for the file

  • « SplFileInfo::isWritable
  • SplFileInfo::setFileClass »
  • PHP Manual
  • SplFileInfo
  • Gets an SplFileObject object for the file

SplFileInfo::openFile

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::openFile — Gets an SplFileObject object for the file

Descrição

public SplFileInfo::openFile ( string $open_mode = "r" , bool $use_include_path = false , resource $context = null ) : SplFileObject

Creates an SplFileObject object of the file. This is useful because SplFileObject contains additional methods for manipulating the file whereas SplFileInfo is only useful for gaining information, like whether the file is writable.

Parâmetros

open_mode

The mode for opening the file. See the fopen() documentation for descriptions of possible modes. The default is read only.

use_include_path

Quando mdefinido como true, o nome do arquivo também é procurado no include_path

context

Refira a seção do manual contexto para uma descrição de contextos.

Valor Retornado

The opened file as an SplFileObject object.

Erros

A RuntimeException if the file cannot be opened (e.g. insufficient access rights).

Exemplos

Exemplo #1 SplFileInfo::openFile() example

<?php
$fileinfo = new SplFileInfo('/tmp/foo.txt');

if ($fileinfo->isWritable()) {

    $fileobj = $fileinfo->openFile('a');

    $fileobj->fwrite("appended this sample text");
}
?>

Veja Também

  • SplFileObject
  • stream_context_create() - Creates a stream context
  • fopen() - Abre um arquivo ou URL


Sets the class used with SplFileInfo::openFile

  • « SplFileInfo::openFile
  • SplFileInfo::setInfoClass »
  • PHP Manual
  • SplFileInfo
  • Sets the class used with SplFileInfo::openFile

SplFileInfo::setFileClass

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::setFileClass — Sets the class used with SplFileInfo::openFile()

Descrição

public SplFileInfo::setFileClass ( string $class_name = "SplFileObject" ) : void

Use this method to set a custom class which will be used when SplFileInfo::openFile() is called. The class name passed to this method must be SplFileObject or a class derived from SplFileObject.

Parâmetros

class_name

The class name to use when SplFileInfo::openFile() is called.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplFileInfo::setFileClass() example

<?php
// Create a class extending SplFileObject
class MyFoo extends SplFileObject {}

$info = new SplFileInfo(__FILE__);
// Set the class to use
$info->setFileClass('MyFoo');
var_dump($info->openFile());
?>

O exemplo acima irá imprimir algo similar à:

object(MyFoo)#2 (0) { }

Veja Também

  • SplFileInfo::openFile() - Gets an SplFileObject object for the file


Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo

  • « SplFileInfo::setFileClass
  • SplFileInfo::__toString »
  • PHP Manual
  • SplFileInfo
  • Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo

SplFileInfo::setInfoClass

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::setInfoClass — Sets the class used with SplFileInfo::getFileInfo() and SplFileInfo::getPathInfo()

Descrição

public SplFileInfo::setInfoClass ( string $class_name = "SplFileInfo" ) : void

Use this method to set a custom class which will be used when SplFileInfo::getFileInfo() and SplFileInfo::getPathInfo() are called. The class name passed to this method must be SplFileInfo or a class derived from SplFileInfo.

Parâmetros

class_name

The class name to use when SplFileInfo::getFileInfo() and SplFileInfo::getPathInfo() are called.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplFileInfo::setFileClass() example

<?php
// Define a class which extends SplFileInfo
class MyFoo extends SplFileInfo {}

$info = new SplFileInfo('foo');
// Set the class name to use
$info->setInfoClass('MyFoo');
var_dump($info->getFileInfo());
?>

O exemplo acima irá imprimir algo similar à:

object(MyFoo)#2 (0) { }

Veja Também

  • SplFileInfo::getFileInfo() - Gets an SplFileInfo object for the file


Returns the path to the file as a string

  • « SplFileInfo::setInfoClass
  • SplFileObject »
  • PHP Manual
  • SplFileInfo
  • Returns the path to the file as a string

SplFileInfo::__toString

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::__toString — Returns the path to the file as a string

Descrição

public SplFileInfo::__toString ( ) : string

This method will return the file name of the referenced file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the path to the file.

Exemplos

Exemplo #1 SplFileInfo::__toString() example

<?php
$info = new SplFileInfo('foo');
var_dump($info->__toString());
echo $info.PHP_EOL;

$info = new SplFileInfo('/usr/bin/php');
var_dump($info->__toString());
echo $info.PHP_EOL;
?>

O exemplo acima irá imprimir algo similar à:

string(3) "foo"
foo
string(12) "/usr/bin/php"
/usr/bin/php


The SplFileObject class

(PHP 5 >= 5.1.0, PHP 7)

Introdução

The SplFileObject class offers an object oriented interface for a file.

Sinopse da classe

SplFileObject extends SplFileInfo implements RecursiveIterator , SeekableIterator {
/* Constantes */
const int DROP_NEW_LINE = 1 ;
const int READ_AHEAD = 2 ;
const int SKIP_EMPTY = 4 ;
const int READ_CSV = 8 ;
/* Métodos */
public __construct ( string $filename , string $open_mode = "r" , bool $use_include_path = false , resource $context = ? )
public current ( ) : string|array
public eof ( ) : bool
public fflush ( ) : bool
public fgetc ( ) : string
public fgetcsv
 ( string $delimiter = ","
, string $enclosure = "\""
, string $escape = "\\"
) : array
public fgets ( ) : string
public fgetss ( string $allowable_tags = ? ) : string
public flock ( int $operation , int &$wouldblock = ? ) : bool
public fpassthru ( ) : int
public fputcsv ( array $fields , string $delimiter = "," , string $enclosure = '"' , string $escape = "\\" ) : int|false
public fread ( int $length ) : string|false
public fscanf ( string $format , mixed &...$vars ) : mixed
public fseek ( int $offset , int $whence = SEEK_SET ) : int
public fstat ( ) : array
public ftell ( ) : int
public ftruncate ( int $size ) : bool
public fwrite ( string $str , int $length = ? ) : int
public getChildren ( ) : void
public getCsvControl ( ) : array
public getFlags ( ) : int
public getMaxLineLen ( ) : int
public hasChildren ( ) : bool
public key ( ) : int
public next ( ) : void
public rewind ( ) : void
public seek ( int $line_pos ) : void
public setCsvControl
 ( string $delimiter = ","
, string $enclosure = "\""
, string $escape = "\\"
) : void
public setFlags ( int $flags ) : void
public setMaxLineLen ( int $max_len ) : void
public valid ( ) : bool
/* Métodos herdados */
public SplFileInfo::getATime ( ) : int
public SplFileInfo::getBasename ( string $suffix = ? ) : string
public SplFileInfo::getCTime ( ) : int
public SplFileInfo::getExtension ( ) : string
public SplFileInfo::getFileInfo ( string $class_name = ? ) : SplFileInfo
public SplFileInfo::getFilename ( ) : string
public SplFileInfo::getGroup ( ) : int
public SplFileInfo::getInode ( ) : int
public SplFileInfo::getLinkTarget ( ) : string
public SplFileInfo::getMTime ( ) : int
public SplFileInfo::getOwner ( ) : int
public SplFileInfo::getPath ( ) : string
public SplFileInfo::getPathInfo ( string $class_name = ? ) : SplFileInfo
public SplFileInfo::getPathname ( ) : string
public SplFileInfo::getPerms ( ) : int
public SplFileInfo::getRealPath ( ) : string
public SplFileInfo::getSize ( ) : int
public SplFileInfo::getType ( ) : string
public SplFileInfo::isDir ( ) : bool
public SplFileInfo::isExecutable ( ) : bool
public SplFileInfo::isFile ( ) : bool
public SplFileInfo::isLink ( ) : bool
public SplFileInfo::isReadable ( ) : bool
public SplFileInfo::isWritable ( ) : bool
public SplFileInfo::openFile ( string $open_mode = "r" , bool $use_include_path = false , resource $context = null ) : SplFileObject
public SplFileInfo::setFileClass ( string $class_name = "SplFileObject" ) : void
public SplFileInfo::setInfoClass ( string $class_name = "SplFileInfo" ) : void
public SplFileInfo::__toString ( ) : string
}

Constantes pré-definidas

SplFileObject::DROP_NEW_LINE

Drop newlines at the end of a line.

SplFileObject::READ_AHEAD

Read on rewind/next.

SplFileObject::SKIP_EMPTY

Skips empty lines in the file. This requires the READ_AHEAD flag be enabled, to work as expected.

SplFileObject::READ_CSV

Read lines as CSV rows.

Changelog

Versão | Descrição
5.3.9 | SplFileObject::SKIP_EMPTY value changed to 4. Previously, value was 6.

Índice

  • SplFileObject::__construct — Construct a new file object
  • SplFileObject::current — Retrieve current line of file
  • SplFileObject::eof — Reached end of file
  • SplFileObject::fflush — Flushes the output to the file
  • SplFileObject::fgetc — Gets character from file
  • SplFileObject::fgetcsv — Gets line from file and parse as CSV fields
  • SplFileObject::fgets — Gets line from file
  • SplFileObject::fgetss — Gets line from file and strip HTML tags
  • SplFileObject::flock — Portable file locking
  • SplFileObject::fpassthru — Output all remaining data on a file pointer
  • SplFileObject::fputcsv — Write a field array as a CSV line
  • SplFileObject::fread — Read from file
  • SplFileObject::fscanf — Parses input from file according to a format
  • SplFileObject::fseek — Seek to a position
  • SplFileObject::fstat — Gets information about the file
  • SplFileObject::ftell — Return current file position
  • SplFileObject::ftruncate — Truncates the file to a given length
  • SplFileObject::fwrite — Write to file
  • SplFileObject::getChildren — No purpose
  • SplFileObject::getCsvControl — Get the delimiter, enclosure and escape character for CSV
  • SplFileObject::getCurrentLine — Alias of SplFileObject::fgets
  • SplFileObject::getFlags — Gets flags for the SplFileObject
  • SplFileObject::getMaxLineLen — Get maximum line length
  • SplFileObject::hasChildren — SplFileObject does not have children
  • SplFileObject::key — Get line number
  • SplFileObject::next — Read next line
  • SplFileObject::rewind — Rewind the file to the first line
  • SplFileObject::seek — Seek to specified line
  • SplFileObject::setCsvControl — Set the delimiter, enclosure and escape character for CSV
  • SplFileObject::setFlags — Sets flags for the SplFileObject
  • SplFileObject::setMaxLineLen — Set maximum line length
  • SplFileObject::__toString — Alias of SplFileObject::fgets
  • SplFileObject::valid — Not at EOF


Construct a new file object

  • « SplFileObject
  • SplFileObject::current »
  • PHP Manual
  • SplFileObject
  • Construct a new file object

SplFileObject::__construct

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::__construct — Construct a new file object

Descrição

public SplFileObject::__construct ( string $filename , string $open_mode = "r" , bool $use_include_path = false , resource $context = ? )

Construct a new file object.

Parâmetros

filename

The file to read.

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

open_mode

The mode in which to open the file. See fopen() for a list of allowed modes.

use_include_path

Whether to search in the include_path for filename.

context

A valid context resource created with stream_context_create().

Valor Retornado

Não há valor retornado.

Erros

Throws a RuntimeException if the filename cannot be opened.

Throws a LogicException if the filename is a directory.

Exemplos

Exemplo #1 SplFileObject::__construct() example

This example opens the current file and iterates over its contents line by line.

<?php
$file = new SplFileObject(__FILE__);
foreach ($file as $line_num => $line) {
    echo "Line $line_num is $line";
}
?>

O exemplo acima irá imprimir algo similar à:

Line 0 is <?php
Line 1 is $file = new SplFileObject(__FILE__);
Line 2 is foreach ($file as $line_num => $line) {
Line 3 is     echo "Line $line_num is $line";
Line 4 is }
Line 5 is ?>

Veja Também

  • SplFileInfo::openFile() - Gets an SplFileObject object for the file
  • fopen() - Abre um arquivo ou URL


Retrieve current line of file

  • « SplFileObject::__construct
  • SplFileObject::eof »
  • PHP Manual
  • SplFileObject
  • Retrieve current line of file

SplFileObject::current

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::current — Retrieve current line of file

Descrição

public SplFileObject::current ( ) : string|array

Retrieves the current line of the file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retrieves the current line of the file. If the SplFileObject::READ_CSV flag is set, this method returns an array containing the current line parsed as CSV data.

Exemplos

Exemplo #1 SplFileObject::current() example

<?php
$file = new SplFileObject(__FILE__);
foreach ($file as $k => $line) {
   echo ($file->key() + 1) . ': ' . $file->current();
}
?>

O exemplo acima irá imprimir algo similar à:

1: <?php
2: $file = new SplFileObject(__FILE__);
3: foreach ($file as $line) {
4:     echo ($file->key() + 1) . ': ' . $file->current();
5: }
6: ?>

Veja Também

  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF


Reached end of file

  • « SplFileObject::current
  • SplFileObject::fflush »
  • PHP Manual
  • SplFileObject
  • Reached end of file

SplFileObject::eof

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::eof — Reached end of file

Descrição

public SplFileObject::eof ( ) : bool

Determine whether the end of file has been reached

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if file is at EOF, false otherwise.

Exemplos

Exemplo #1 SplFileObject::eof() example

<?php
$file = new SplFileObject("fruits.txt");
while ( ! $file->eof()) {
    echo $file->fgets();
}
?>

O exemplo acima irá imprimir algo similar à:

apple
banana
cherry
date
elderberry

Veja Também

  • SplFileObject::valid() - Not at EOF
  • feof() - Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo


Flushes the output to the file

  • « SplFileObject::eof
  • SplFileObject::fgetc »
  • PHP Manual
  • SplFileObject
  • Flushes the output to the file

SplFileObject::fflush

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fflush — Flushes the output to the file

Descrição

public SplFileObject::fflush ( ) : bool

Forces a write of all buffered output to the file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 SplFileObject::fflush() example

<?php
$file = new SplFileObject('misc.txt', 'r+');
$file->rewind();
$file->fwrite("Foo");
$file->fflush();
$file->ftruncate($file->ftell());
?>

Veja Também

  • SplFileObject::fwrite() - Write to file


Gets character from file

  • « SplFileObject::fflush
  • SplFileObject::fgetcsv »
  • PHP Manual
  • SplFileObject
  • Gets character from file

SplFileObject::fgetc

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fgetc — Gets character from file

Descrição

public SplFileObject::fgetc ( ) : string

Gets a character from the file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string containing a single character read from the file or false on EOF.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Exemplos

Exemplo #1 SplFileObject::fgetc() example

<?php
$file = new SplFileObject('file.txt');
while (false !== ($char = $file->fgetc())) {
    echo "$char\n";
}
?>

Veja Também

  • SplFileObject::fgets() - Gets line from file


Gets line from file and parse as CSV fields

  • « SplFileObject::fgetc
  • SplFileObject::fgets »
  • PHP Manual
  • SplFileObject
  • Gets line from file and parse as CSV fields

SplFileObject::fgetcsv

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fgetcsv — Gets line from file and parse as CSV fields

Descrição

public SplFileObject::fgetcsv
 ( string $delimiter = ","
, string $enclosure = "\""
, string $escape = "\\"
) : array

Gets a line from the file which is in CSV format and returns an array containing the fields read.

Nota:

The locale settings are taken into account by this function. If LC_CTYPE is e.g. en_US.UTF-8, files in one-byte encodings may be read wrongly by this function.

Parâmetros

delimiter

The field delimiter (one character only). Defaults as a comma or the value set using SplFileObject::setCsvControl().

enclosure

The field enclosure character (one character only). Defaults as a double quotation mark or the value set using SplFileObject::setCsvControl().

escape

The escape character (at most one character). Defaults as a backslash (\) or the value set using SplFileObject::setCsvControl(). An empty string ("") disables the proprietary escape mechanism.

Nota: Usually an enclosure character is escpaped inside a field by doubling it; however, the escape character can be used as an alternative. So for the default parameter values "" and \" have the same meaning. Other than allowing to escape the enclosure character the escape character has no special meaning; it isn't even meant to escape itself.

Valor Retornado

Returns an indexed array containing the fields read, or false on error.

Nota:

A blank line in a CSV file will be returned as an array comprising a single null field unless using SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE, in which case empty lines are skipped.

Changelog

Versão | Descrição
7.4.0 | The escape parameter now also accepts an empty string to disable the proprietary escape mechanism.

Exemplos

Exemplo #1 SplFileObject::fgetcsv() example

<?php
$file = new SplFileObject("data.csv");
while (!$file->eof()) {
    var_dump($file->fgetcsv());
}
?>

Exemplo #2 SplFileObject::READ_CSV example

<?php
$file = new SplFileObject("animals.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
    list($animal, $class, $legs) = $row;
    printf("A %s is a %s with %d legs\n", $animal, $class, $legs);
}
?>

Contents of animals.csv

crocodile,reptile,4
dolphin,mammal,0
duck,bird,2
koala,mammal,4
salmon,fish,0

O exemplo acima irá imprimir algo similar à:

A crocodile is a reptile with 4 legs
A dolphin is a mammal with 0 legs
A duck is a bird with 2 legs
A koala is a mammal with 4 legs
A salmon is a fish with 0 legs

Veja Também

  • SplFileObject::setCsvControl() - Set the delimiter, enclosure and escape character for CSV
  • SplFileObject::setFlags() - Sets flags for the SplFileObject
  • SplFileObject::READ_CSV
  • SplFileObject::current() - Retrieve current line of file


Gets line from file

  • « SplFileObject::fgetcsv
  • SplFileObject::fgetss »
  • PHP Manual
  • SplFileObject
  • Gets line from file

SplFileObject::fgets

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fgets — Gets line from file

Descrição

public SplFileObject::fgets ( ) : string

Gets a line from the file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string containing the next line from the file, or false on error.

Erros

Throws a RuntimeException if the file cannot be read.

Exemplos

Exemplo #1 SplFileObject::fgets() example

This example simply outputs the contents of file.txt line-by-line.

<?php
$file = new SplFileObject("file.txt");
while (!$file->eof()) {
    echo $file->fgets();
}
?>

Veja Também

  • fgets() - Lê uma linha de um ponteiro de arquivo
  • SplFileObject::fgetss() - Gets line from file and strip HTML tags
  • SplFileObject::fgetc() - Gets character from file
  • SplFileObject::current() - Retrieve current line of file


Gets line from file and strip HTML tags

  • « SplFileObject::fgets
  • SplFileObject::flock »
  • PHP Manual
  • SplFileObject
  • Gets line from file and strip HTML tags

SplFileObject::fgetss

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fgetss — Gets line from file and strip HTML tags

Aviso

This function has been DEPRECATED as of PHP 7.3.0, and REMOVED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

public SplFileObject::fgetss ( string $allowable_tags = ? ) : string

Identical to SplFileObject::fgets(), except that SplFileObject::fgetss() attempts to strip any HTML and PHP tags from the text it reads. The function retains the parsing state from call to call, and as such is not equivalent to calling strip_tags() on the return value of SplFileObject::fgets().

Parâmetros

allowable_tags

Optional parameter to specify tags which should not be stripped.

Valor Retornado

Returns a string containing the next line of the file with HTML and PHP code stripped, or false on error.

Exemplos

Exemplo #1 SplFileObject::fgetss() example

<?php
$str = <<<EOD
<html><body>
 <p>Welcome! Today is the <?php echo(date('jS')); ?> of <?= date('F'); ?>.</p>
</body></html>
Text outside of the HTML block.
EOD;
file_put_contents("sample.php", $str);

$file = new SplFileObject("sample.php");
while (!$file->eof()) {
    echo $file->fgetss();
}
?>

O exemplo acima irá imprimir algo similar à:

 Welcome! Today is the  of .

Text outside of the HTML block.

Veja Também

  • fgetss() - Ler uma linha de um ponteiro de arquivo e retira as tags HTML
  • SplFileObject::fgets() - Gets line from file
  • SplFileObject::fgetc() - Gets character from file
  • SplFileObject::current() - Retrieve current line of file
  • The string.strip_tags filter


Portable file locking

  • « SplFileObject::fgetss
  • SplFileObject::fpassthru »
  • PHP Manual
  • SplFileObject
  • Portable file locking

SplFileObject::flock

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::flock — Portable file locking

Descrição

public SplFileObject::flock ( int $operation , int &$wouldblock = ? ) : bool

Locks or unlocks the file in the same portable way as flock().

Parâmetros

operation

operation is one of the following:

  • LOCK_SH to acquire a shared lock (reader).
  • LOCK_EX to acquire an exclusive lock (writer).
  • LOCK_UN to release a lock (shared or exclusive).

It is also possible to add LOCK_NB as a bitmask to one of the above operations, if flock() should not block during the locking attempt.

wouldblock

Set to true if the lock would block (EWOULDBLOCK errno condition).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 SplFileObject::flock() example

<?php
$file = new SplFileObject("/tmp/lock.txt", "w");
if ($file->flock(LOCK_EX)) { // do an exclusive lock
    $file->ftruncate(0);     // truncate file
    $file->fwrite("Write something here\n");
    $file->flock(LOCK_UN);   // release the lock
} else {
    echo "Couldn't get the lock!";
}
?>

Veja Também

  • flock() - Monitor de travamento de arquivos portátil


Output all remaining data on a file pointer

  • « SplFileObject::flock
  • SplFileObject::fputcsv »
  • PHP Manual
  • SplFileObject
  • Output all remaining data on a file pointer

SplFileObject::fpassthru

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fpassthru — Output all remaining data on a file pointer

Descrição

public SplFileObject::fpassthru ( ) : int

Reads to EOF on the given file pointer from the current position and writes the results to the output buffer.

You may need to call SplFileObject::rewind() to reset the file pointer to the beginning of the file if you have already written data to the file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of characters read from handle and passed through to the output.

Exemplos

Exemplo #1 SplFileObject::fpassthru() example

<?php

// Open the file in binary mode
$file = new SplFileObject("./img/ok.png", "rb");

// Send the right headers
header("Content-Type: image/png");
header("Content-Length: " . $file->getSize());

// Dump the picture and end script
$file->fpassthru();
exit;

?>

Veja Também

  • fpassthru() - Imprime todo os dados restantes de um ponteiro de arquivo


Write a field array as a CSV line

  • « SplFileObject::fpassthru
  • SplFileObject::fread »
  • PHP Manual
  • SplFileObject
  • Write a field array as a CSV line

SplFileObject::fputcsv

(PHP 5 >= 5.4.0, PHP 7)

SplFileObject::fputcsv — Write a field array as a CSV line

Descrição

public SplFileObject::fputcsv
 ( array $fields
, string $delimiter = ","
, string $enclosure = '"'
, string $escape = "\\"
) : int|false

Writes the fields array to the file as a CSV line.

Parâmetros

fields

An array of values.

delimiter

The optional delimiter parameter sets the field delimiter (one character only).

enclosure

The optional enclosure parameter sets the field enclosure (one character only).

escape

The optional escape parameter sets the escape character (at most one character). An empty string ("") disables the proprietary escape mechanism.

Nota:

If an enclosure character is contained in a field, it will be escaped by doubling it, unless it is immediately preceded by an escape_char.

Valor Retornado

Returns the length of the written string ou false em caso de falha.

Returns false, and does not write the CSV line to the file, if the delimiter or enclosure parameter is not a single character.

Erros

An E_WARNING level error is issued if the delimiter or enclosure parameter is not a single character.

Changelog

Versão | Descrição
7.4.0 | The escape parameter now also accepts an empty string to disable the proprietary escape mechanism.
5.5.21, 5.6.5 | Added the escape parameter.

Exemplos

Exemplo #1 SplFileObject::fputcsv() example

<?php

$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$file = new SplFileObject('file.csv', 'w');

foreach ($list as $fields) {
    $file->fputcsv($fields);
}

?>

The above example will write the following to file.csv:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

Veja Também

  • fputcsv() - Formata a linha como CSV e a escreve em um ponteiro de arquivo
  • SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields


Read from file

  • « SplFileObject::fputcsv
  • SplFileObject::fscanf »
  • PHP Manual
  • SplFileObject
  • Read from file

SplFileObject::fread

(PHP 5 >= 5.5.11, PHP 7)

SplFileObject::fread — Read from file

Descrição

public SplFileObject::fread ( int $length ) : string|false

Reads the given number of bytes from the file.

Parâmetros

length

The number of bytes to read.

Valor Retornado

Returns the string read from the file ou false em caso de falha.

Exemplos

Exemplo #1 SplFileObject::fread() example

<?php
// Get contents of a file into a string
$filename = "/usr/local/something.txt";
$file = new SplFileObject($filename, "r");
$contents = $file->fread($file->getSize());
?>

Notas

Nota:

Note that SplFileObject::fread() reads from the current position of the file pointer. Use SplFileObject::ftell() to find the current position of the pointer and SplFileObject::rewind() (or SplFileObject::fseek()) to rewind the pointer position.

Veja Também

  • fread() - Leitura binary-safe de arquivo


Parses input from file according to a format

  • « SplFileObject::fread
  • SplFileObject::fseek »
  • PHP Manual
  • SplFileObject
  • Parses input from file according to a format

SplFileObject::fscanf

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fscanf — Parses input from file according to a format

Descrição

public SplFileObject::fscanf ( string $format , mixed &...$vars ) : mixed

Reads a line from the file and interprets it according to the specified format, which is described in the documentation for sprintf().

Any whitespace in the format string matches any whitespace in the line from the file. This means that even a tab \t in the format string can match a single space character in the input stream.

Parâmetros

format

The format string is composed of zero or more directives: ordinary characters (excluding %) that are copied directly to the result and conversion specifications, each of which results in fetching its own parameter.

A conversion specification follows this prototype: %[argnum$][flags][width][.precision]specifier.

Argnum

An integer followed by a dollar sign $, to specify which number argument to treat in the conversion.

Flags
Flag | Descrição
- Left-justify within the given field width; Right justification is the default
+ Prefix positive numbers with a plus sign +; Default only negative are prefixed with a negative sign.
(space) | Pads the result with spaces. This is the default.
0 | Only left-pads numbers with zeros. With s specifiers this can also right-pad with zeros.
'(char) | Pads the result with the character (char).

Width

An integer that says how many characters (minimum) this conversion should result in.

Precision

A period . followed by an integer who's meaning depends on the specifier:

  • For e, E, f and F specifiers: this is the number of digits to be printed after the decimal point (by default, this is 6).
  • For g and G specifiers: this is the maximum number of significant digits to be printed.
  • For s specifier: it acts as a cutoff point, setting a maximum character limit to the string.

Nota: If the period is specified without an explicit value for precision, 0 is assumed.

Nota: Attempting to use a position specifier greater than PHP_INT_MAX will generate warnings.

Specifiers
Specifier | Descrição
% A literal percent character. No argument is required.
b | The argument is treated as an integer and presented as a binary number.
c | The argument is treated as an integer and presented as the character with that ASCII.
d | The argument is treated as an integer and presented as a (signed) decimal number.
e | The argument is treated as scientific notation (e.g. 1.2e+2). The precision specifier stands for the number of digits after the decimal point since PHP 5.2.1. In earlier versions, it was taken as number of significant digits (one less).
E | Like the e specifier but uses uppercase letter (e.g. 1.2E+2).
f | The argument is treated as a float and presented as a floating-point number (locale aware).
F | The argument is treated as a float and presented as a floating-point number (non-locale aware). Available as of PHP 5.0.3.
g

General format.

Let P equal the precision if nonzero, 6 if the precision is omitted, or 1 if the precision is zero. Then, if a conversion with style E would have an exponent of X:

If P > X = -4, the conversion is with style f and precision P - (X + 1). Otherwise, the conversion is with style e and precision P - 1.

G | Like the g specifier but uses E and f.
h | Like the g specifier but uses F. Available as of PHP 8.0.0.
H | Like the g specifier but uses E and F. Available as of PHP 8.0.0.
o | The argument is treated as an integer and presented as an octal number.
s | The argument is treated and presented as a string.
u | The argument is treated as an integer and presented as an unsigned decimal number.
x | The argument is treated as an integer and presented as a hexadecimal number (with lowercase letters).
X | The argument is treated as an integer and presented as a hexadecimal number (with uppercase letters).

Aviso

The c type specifier ignores padding and width

Aviso

Attempting to use a combination of the string and width specifiers with character sets that require more than one byte per character may result in unexpected results

Variables will be co-erced to a suitable type for the specifier:

Type Handling
Type | Specifiers
string | s
integer | d, u, c, o, x, X, b
double | g, G, e, E, f, F

vars

The optional assigned values.

Valor Retornado

If only one parameter is passed to this method, the values parsed will be returned as an array. Otherwise, if optional parameters are passed, the function will return the number of assigned values. The optional parameters must be passed by reference.

Exemplos

Exemplo #1 SplFileObject::fscanf() example

<?php
$file = new SplFileObject("misc.txt");
while ($userinfo = $file->fscanf("%s %s %s")) {
    list ($name, $profession, $countrycode) = $userinfo;
    // Do something with $name $profession $countrycode
}
?>

Contents of users.txt

javier   argonaut    pe
hiroshi  sculptor    jp
robert   slacker     us
luigi    florist     it

Veja Também

  • fscanf() - Interpreta a leitura de um arquivo de acordo com um formato
  • sscanf() - Interpreta a entrada de uma string de acordo com um formato
  • printf() - Mostra uma string formatada
  • sprintf() - Retorna a string formatada


Seek to a position

  • « SplFileObject::fscanf
  • SplFileObject::fstat »
  • PHP Manual
  • SplFileObject
  • Seek to a position

SplFileObject::fseek

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fseek — Seek to a position

Descrição

public SplFileObject::fseek ( int $offset , int $whence = SEEK_SET ) : int

Seek to a position in the file measured in bytes from the beginning of the file, obtained by adding offset to the position specified by whence.

Parâmetros

offset

The offset. A negative value can be used to move backwards through the file which is useful when SEEK_END is used as the whence value.

whence

whence values are:

  • SEEK_SET - Set position equal to offset bytes.
  • SEEK_CUR - Set position to current location plus offset.
  • SEEK_END - Set position to end-of-file plus offset.

If whence is not specified, it is assumed to be SEEK_SET.

Valor Retornado

Returns 0 if the seek was successful, -1 otherwise. Note that seeking past EOF is not considered an error.

Exemplos

Exemplo #1 SplFileObject::fseek() example

<?php
$file = new SplFileObject("somefile.txt");

// Read first line
$data = $file->fgets();

// Move back to the beginning of the file
// Same as $file->rewind();
$file->fseek(0);
?>

Veja Também

  • fseek() - Procura (seeks) em um ponteiro de arquivo


Gets information about the file

  • « SplFileObject::fseek
  • SplFileObject::ftell »
  • PHP Manual
  • SplFileObject
  • Gets information about the file

SplFileObject::fstat

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fstat — Gets information about the file

Descrição

public SplFileObject::fstat ( ) : array

Gathers the statistics of the file. Behaves identically to fstat().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array with the statistics of the file; the format of the array is described in detail on the stat() manual page.

Exemplos

Exemplo #1 SplFileObject::fstat() example

<?php
$file = new SplFileObject("/etc/passwd");
$stat = $file->fstat();

// Print only the associative part
print_r(array_slice($stat, 13));

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Veja Também

  • fstat() - Lê informações sobre um arquivo usando um ponteiro de arquivo aberto
  • stat() - Obtem informações sobre um arquivo


Return current file position

  • « SplFileObject::fstat
  • SplFileObject::ftruncate »
  • PHP Manual
  • SplFileObject
  • Return current file position

SplFileObject::ftell

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::ftell — Return current file position

Descrição

public SplFileObject::ftell ( ) : int

Returns the position of the file pointer which represents the current offset in the file stream.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the position of the file pointer as an integer, or false on error.

Exemplos

Exemplo #1 SplFileObject::ftell() example

<?php
$file = new SplFileObject("/etc/passwd");

// Read first line
$data = $file->fgets();

// Where are we?
echo $file->ftell();
?>

Veja Também

  • ftell() - Retorna a posição de leitura/gravação do ponteiro do arquivo


Truncates the file to a given length

  • « SplFileObject::ftell
  • SplFileObject::fwrite »
  • PHP Manual
  • SplFileObject
  • Truncates the file to a given length

SplFileObject::ftruncate

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::ftruncate — Truncates the file to a given length

Descrição

public SplFileObject::ftruncate ( int $size ) : bool

Truncates the file to size bytes.

Parâmetros

size

The size to truncate to.

Nota:

If size is larger than the file it is extended with null bytes.

If size is smaller than the file, the extra data will be lost.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 SplFileObject::ftruncate() example

<?php
// Create file containing "Hello World!"
$file = new SplFileObject("/tmp/ftruncate", "w+");
$file->fwrite("Hello World!");

// Truncate to 5 bytes
$file->ftruncate(5);

// Rewind and read data
$file->rewind();
echo $file->fgets();
?>

O exemplo acima irá imprimir algo similar à:

Hello

Veja Também

  • ftruncate() - Reduz um arquivo a um tamanho especificado


Write to file

  • « SplFileObject::ftruncate
  • SplFileObject::getChildren »
  • PHP Manual
  • SplFileObject
  • Write to file

SplFileObject::fwrite

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fwrite — Write to file

Descrição

public SplFileObject::fwrite ( string $str , int $length = ? ) : int

Writes the contents of string to the file

Parâmetros

str

The string to be written to the file.

length

If the length argument is given, writing will stop after length bytes have been written or the end of string is reached, whichever comes first.

Valor Retornado

Returns the number of bytes written, or false on error.

Changelog

Versão | Descrição
7.4.0 | The function now returns false instead of zero on failure.

Exemplos

Exemplo #1 SplFileObject::fwrite() example

<?php
$file = new SplFileObject("fwrite.txt", "w");
$written = $file->fwrite("12345");
echo "Wrote $written bytes to file";
?>

O exemplo acima irá imprimir algo similar à:

Wrote 5 bytes to file

Veja Também

  • fwrite() - Escrita binary-safe em arquivos


No purpose

  • « SplFileObject::fwrite
  • SplFileObject::getCsvControl »
  • PHP Manual
  • SplFileObject
  • No purpose

SplFileObject::getChildren

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::getChildren — No purpose

Descrição

public SplFileObject::getChildren ( ) : void

An SplFileObject does not have children so this method returns null.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • RecursiveIterator::getChildren() - Returns an iterator for the current entry


Get the delimiter, enclosure and escape character for CSV

  • « SplFileObject::getChildren
  • SplFileObject::getCurrentLine »
  • PHP Manual
  • SplFileObject
  • Get the delimiter, enclosure and escape character for CSV

SplFileObject::getCsvControl

(PHP 5 >= 5.2.0, PHP 7)

SplFileObject::getCsvControl — Get the delimiter, enclosure and escape character for CSV

Descrição

public SplFileObject::getCsvControl ( ) : array

Gets the delimiter, enclosure and escape character used for parsing CSV fields.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an indexed array containing the delimiter, enclosure and escape character.

Changelog

Versão | Descrição
7.4.0 | The escape character can now be an empty string.
5.6.25, 7.0.10 | Added the escape character to the returned array.

Exemplos

Exemplo #1 SplFileObject::getCsvControl() example

<?php
$file = new SplFileObject("data.txt");
print_r($file->getCsvControl());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => ,
    [1] => "
    [2] => \
)

Veja Também

  • SplFileObject::setCsvControl() - Set the delimiter, enclosure and escape character for CSV
  • SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields


Alias of SplFileObject::fgets

  • « SplFileObject::getCsvControl
  • SplFileObject::getFlags »
  • PHP Manual
  • SplFileObject
  • Alias of SplFileObject::fgets

SplFileObject::getCurrentLine

(PHP 5 >= 5.1.2, PHP 7)

SplFileObject::getCurrentLine — Alias of SplFileObject::fgets()

Descrição

Este método é um apelido para: SplFileObject::fgets().


Gets flags for the SplFileObject

  • « SplFileObject::getCurrentLine
  • SplFileObject::getMaxLineLen »
  • PHP Manual
  • SplFileObject
  • Gets flags for the SplFileObject

SplFileObject::getFlags

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::getFlags — Gets flags for the SplFileObject

Descrição

public SplFileObject::getFlags ( ) : int

Gets the flags set for an instance of SplFileObject as an int.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an int representing the flags.

Exemplos

Exemplo #1 SplFileObject::getFlags() example

<?php
$file = new SplFileObject(__FILE__, "r");

if ($file->getFlags() & SplFileObject::SKIP_EMPTY) {
    echo "Skipping empty lines\n";
} else {
    echo "Not skipping empty lines\n";
}

$file->setFlags(SplFileObject::SKIP_EMPTY);

if ($file->getFlags() & SplFileObject::SKIP_EMPTY) {
    echo "Skipping empty lines\n";
} else {
    echo "Not skipping empty lines\n";
}
?>

O exemplo acima irá imprimir algo similar à:

Not skipping empty lines
Skipping empty lines

Veja Também

  • SplFileObject::setFlags() - Sets flags for the SplFileObject


Get maximum line length

  • « SplFileObject::getFlags
  • SplFileObject::hasChildren »
  • PHP Manual
  • SplFileObject
  • Get maximum line length

SplFileObject::getMaxLineLen

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::getMaxLineLen — Get maximum line length

Descrição

public SplFileObject::getMaxLineLen ( ) : int

Gets the maximum line length as set by SplFileObject::setMaxLineLen().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the maximum line length if one has been set with SplFileObject::setMaxLineLen(), default is 0.

Exemplos

Exemplo #1 SplFileObject::getMaxLineLen() example

<?php
$file = new SplFileObject("file.txt");
var_dump($file->getMaxLineLen());

$file->setMaxLineLen(20);
var_dump($file->getMaxLineLen());
?>

O exemplo acima irá imprimir algo similar à:

int(0)
int(20)

Veja Também

  • SplFileObject::setMaxLineLen() - Set maximum line length


SplFileObject does not have children

  • « SplFileObject::getMaxLineLen
  • SplFileObject::key »
  • PHP Manual
  • SplFileObject
  • SplFileObject does not have children

SplFileObject::hasChildren

(PHP 5 >= 5.1.2, PHP 7)

SplFileObject::hasChildren — SplFileObject does not have children

Descrição

public SplFileObject::hasChildren ( ) : bool

An SplFileObject does not have children so this method always return false.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns false

Veja Também

  • RecursiveIterator::hasChildren() - Returns if an iterator can be created for the current entry


Get line number

  • « SplFileObject::hasChildren
  • SplFileObject::next »
  • PHP Manual
  • SplFileObject
  • Get line number

SplFileObject::key

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::key — Get line number

Descrição

public SplFileObject::key ( ) : int

Gets the current line number.

Nota:

This number may not reflect the actual line number in the file if SplFileObject::setMaxLineLen() is used to read fixed lengths of the file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current line number.

Exemplos

Exemplo #1 SplFileObject::key() example

<?php
$file = new SplFileObject("lipsum.txt");
foreach ($file as $line) {
    echo $file->key() . ". " . $line;
}
?>

O exemplo acima irá imprimir algo similar à:

0. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
1. Duis nec sapien felis, ac sodales nisl.
2. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Exemplo #2 SplFileObject::key() example with SplFileObject::setMaxLineLen()

<?php
$file = new SplFileObject("lipsum.txt");
$file->setMaxLineLen(20);
foreach ($file as $line) {
    echo $file->key() . ". " . $line . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

0. Lorem ipsum dolor s
1. it amet, consectetu
2. r adipiscing elit.
3.

4. Duis nec sapien fel
5. is, ac sodales nisl
6. .

7. Lorem ipsum dolor s
8. it amet, consectetu
9. r adipiscing elit.

Veja Também

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF


Read next line

  • « SplFileObject::key
  • SplFileObject::rewind »
  • PHP Manual
  • SplFileObject
  • Read next line

SplFileObject::next

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::next — Read next line

Descrição

public SplFileObject::next ( ) : void

Moves ahead to the next line in the file.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplFileObject::next() example

<?php
// Read through file line by line
$file = new SplFileObject("misc.txt");
while (!$file->eof()) {
    echo $file->current();
    $file->next();
}
?>

Veja Também

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF


Rewind the file to the first line

  • « SplFileObject::next
  • SplFileObject::seek »
  • PHP Manual
  • SplFileObject
  • Rewind the file to the first line

SplFileObject::rewind

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::rewind — Rewind the file to the first line

Descrição

public SplFileObject::rewind ( ) : void

Rewinds the file back to the first line.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Erros

Throws a RuntimeException if cannot be rewound.

Exemplos

Exemplo #1 SplFileObject::rewind() example

<?php
$file = new SplFileObject("misc.txt");

// Loop over whole file
foreach ($file as $line) { }

// Rewind to first line
$file->rewind();

// Output first line
echo $file->current();
?>

Veja Também

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::valid() - Not at EOF


Seek to specified line

  • « SplFileObject::rewind
  • SplFileObject::setCsvControl »
  • PHP Manual
  • SplFileObject
  • Seek to specified line

SplFileObject::seek

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::seek — Seek to specified line

Descrição

public SplFileObject::seek ( int $line_pos ) : void

Seek to specified line in the file.

Parâmetros

line_pos

The zero-based line number to seek to.

Valor Retornado

Não há valor retornado.

Erros

Throws a LogicException if the line_pos is negative.

Exemplos

Exemplo #1 SplFileObject::seek() example

This example outputs the third line of the script which is found at position 2.

<?php
$file = new SplFileObject(__FILE__);
$file->seek(2);
echo $file->current();
?>

O exemplo acima irá imprimir algo similar à:

$file->seek(2);

Veja Também

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF


Set the delimiter, enclosure and escape character for CSV

  • « SplFileObject::seek
  • SplFileObject::setFlags »
  • PHP Manual
  • SplFileObject
  • Set the delimiter, enclosure and escape character for CSV

SplFileObject::setCsvControl

(PHP 5 >= 5.2.0, PHP 7)

SplFileObject::setCsvControl — Set the delimiter, enclosure and escape character for CSV

Descrição

public SplFileObject::setCsvControl
 ( string $delimiter = ","
, string $enclosure = "\""
, string $escape = "\\"
) : void

Sets the delimiter, enclosure and escape character for parsing CSV fields.

Parâmetros

delimiter

The field delimiter (one character only).

enclosure

The field enclosure character (one character only).

escape

The field escape character (at most one character). An empty string ("") disables the proprietary escape mechanism.

Valor Retornado

Não há valor retornado.

Changelog

Versão | Descrição
7.4.0 | The escape parameter now also accepts an empty string to disable the proprietary escape mechanism.

Exemplos

Exemplo #1 SplFileObject::setCsvControl() example

<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl('|');
foreach ($file as $row) {
    list ($fruit, $quantity) = $row;
    // Do something with values
}
?>

Contents of data.csv

<?php
apples|20
bananas|14
cherries|87
?>

Veja Também

  • SplFileObject::getCsvControl() - Get the delimiter, enclosure and escape character for CSV
  • SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields


Sets flags for the SplFileObject

  • « SplFileObject::setCsvControl
  • SplFileObject::setMaxLineLen »
  • PHP Manual
  • SplFileObject
  • Sets flags for the SplFileObject

SplFileObject::setFlags

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::setFlags — Sets flags for the SplFileObject

Descrição

public SplFileObject::setFlags ( int $flags ) : void

Sets the flags to be used by the SplFileObject.

Parâmetros

flags

Bit mask of the flags to set. See SplFileObject constants for the available flags.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SplFileObject::setFlags() example

<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $fields) {
    var_dump($fields);
}
?>

Veja Também

  • SplFileObject::getFlags() - Gets flags for the SplFileObject


Set maximum line length

  • « SplFileObject::setFlags
  • SplFileObject::__toString »
  • PHP Manual
  • SplFileObject
  • Set maximum line length

SplFileObject::setMaxLineLen

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::setMaxLineLen — Set maximum line length

Descrição

public SplFileObject::setMaxLineLen ( int $max_len ) : void

Sets the maximum length of a line to be read.

Parâmetros

max_len

The maximum length of a line.

Valor Retornado

Não há valor retornado.

Erros

Throws DomainException when max_len is less than zero.

Exemplos

Exemplo #1 SplFileObject::setMaxLineLen() example

<?php
$file = new SplFileObject("lipsum.txt");
$file->setMaxLineLen(20);
foreach ($file as $line) {
    echo $line . "\n";
}
?>

Contents of lipsum.txt

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Duis nec sapien felis, ac sodales nisl.
Nulla vitae magna vitae purus aliquet consequat.

O exemplo acima irá imprimir algo similar à:

Lorem ipsum dolor s
it amet, consectetu
r adipiscing elit.

Duis nec sapien fel
is, ac sodales nisl
.

Nulla vitae magna v
itae purus aliquet
consequat.

Veja Também

  • SplFileObject::getMaxLineLen() - Get maximum line length


Alias of SplFileObject::fgets

  • « SplFileObject::setMaxLineLen
  • SplFileObject::valid »
  • PHP Manual
  • SplFileObject
  • Alias of SplFileObject::fgets

SplFileObject::__toString

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::__toString — Alias of SplFileObject::fgets()

Descrição

Este método é um apelido para: SplFileObject::fgets().

Changelog

Versão | Descrição
7.2.19, 7.3.6 | Changed from an alias of SplFileObject::current() to an alias of SplFileObject::fgets().


Not at EOF

  • « SplFileObject::__toString
  • SplTempFileObject »
  • PHP Manual
  • SplFileObject
  • Not at EOF

SplFileObject::valid

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::valid — Not at EOF

Descrição

public SplFileObject::valid ( ) : bool

Check whether EOF has been reached.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if not reached EOF, false otherwise.

Exemplos

Exemplo #1 SplFileObject::valid() example

<?php
// Loop over a file, line by line
$file = new SplFileObject("file.txt");
while ($file->valid()) {
    echo $file->fgets();
}
?>

Veja Também

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line


The SplTempFileObject class

(PHP 5 >= 5.1.2, PHP 7)

Introdução

The SplTempFileObject class offers an object oriented interface for a temporary file.

Sinopse da classe

SplTempFileObject extends SplFileObject implements SeekableIterator , RecursiveIterator {
/* Constantes herdadas */
const int SplFileObject::DROP_NEW_LINE = 1 ;
const int SplFileObject::READ_AHEAD = 2 ;
const int SplFileObject::SKIP_EMPTY = 4 ;
const int SplFileObject::READ_CSV = 8 ;
/* Métodos */
public __construct ( int $max_memory = ? )
/* Métodos herdados */
public SplFileObject::current ( ) : string|array
public SplFileObject::eof ( ) : bool
public SplFileObject::fflush ( ) : bool
public SplFileObject::fgetc ( ) : string
public SplFileObject::fgetcsv
 ( string $delimiter = ","
, string $enclosure = "\""
, string $escape = "\\"
) : array
public SplFileObject::fgets ( ) : string
public SplFileObject::fgetss ( string $allowable_tags = ? ) : string
public SplFileObject::flock ( int $operation , int &$wouldblock = ? ) : bool
public SplFileObject::fpassthru ( ) : int
public SplFileObject::fputcsv
 ( array $fields
, string $delimiter = ","
, string $enclosure = '"'
, string $escape = "\\"
) : int|false
public SplFileObject::fread ( int $length ) : string|false
public SplFileObject::fscanf ( string $format , mixed &...$vars ) : mixed
public SplFileObject::fseek ( int $offset , int $whence = SEEK_SET ) : int
public SplFileObject::fstat ( ) : array
public SplFileObject::ftell ( ) : int
public SplFileObject::ftruncate ( int $size ) : bool
public SplFileObject::fwrite ( string $str , int $length = ? ) : int
public SplFileObject::getChildren ( ) : void
public SplFileObject::getCsvControl ( ) : array
public SplFileObject::getFlags ( ) : int
public SplFileObject::getMaxLineLen ( ) : int
public SplFileObject::hasChildren ( ) : bool
public SplFileObject::key ( ) : int
public SplFileObject::next ( ) : void
public SplFileObject::rewind ( ) : void
public SplFileObject::seek ( int $line_pos ) : void
public SplFileObject::setCsvControl
 ( string $delimiter = ","
, string $enclosure = "\""
, string $escape = "\\"
) : void
public SplFileObject::setFlags ( int $flags ) : void
public SplFileObject::setMaxLineLen ( int $max_len ) : void
public SplFileObject::valid ( ) : bool
}

Índice

  • SplTempFileObject::__construct — Construct a new temporary file object


Construct a new temporary file object

  • « SplTempFileObject
  • Classes e interfaces genéricas »
  • PHP Manual
  • SplTempFileObject
  • Construct a new temporary file object

SplTempFileObject::__construct

(PHP 5 >= 5.1.2, PHP 7)

SplTempFileObject::__construct — Construct a new temporary file object

Descrição

public SplTempFileObject::__construct ( int $max_memory = ? )

Construct a new temporary file object.

Parâmetros

max_memory

The maximum amount of memory (in bytes, default is 2 MB) for the temporary file to use. If the temporary file exceeds this size, it will be moved to a file in the system's temp directory.

If max_memory is negative, only memory will be used. If max_memory is zero, no memory will be used.

Valor Retornado

Não há valor retornado.

Erros

Throws a RuntimeException if an error occurs.

Exemplos

Exemplo #1 SplTempFileObject() example

This example writes a temporary file in memory which can be written to and read from.

<?php
$temp = new SplTempFileObject();
$temp->fwrite("This is the first line\n");
$temp->fwrite("And this is the second.\n");
echo "Written " . $temp->ftell() . " bytes to temporary file.\n\n";

// Rewind and read what was written
$temp->rewind();
foreach ($temp as $line) {
    echo $line;
}
?>

O exemplo acima irá imprimir algo similar à:

Written 47 bytes to temporary file.

This is the first line
And this is the second.

Veja Também

  • SplFileObject
  • PHP input/output streams (for php://temp and php://memory)


Classes e interfaces genéricas

Índice

  • ArrayObject
  • SplObserver
  • SplSubject

Classes e interfaces que não se enquadram nas outras categorias.


A classe ArrayObject

Introdução

...

Sinopse da classe

ArrayObject implements IteratorAggregate , Traversable , ArrayAccess , Countable {
/* Métodos */
__construct ( mixed $input )
append ( mixed $newval ) : void
public asort ( int $flags = SORT_REGULAR ) : void
count ( ) : int
public exchangeArray ( mixed $input ) : array
public getArrayCopy ( ) : array
public getFlags ( ) : int
getIterator ( ) : ArrayIterator
public getIteratorClass ( ) : string
public ksort ( int $flags = SORT_REGULAR ) : void
public natcasesort ( ) : void
public natsort ( ) : void
offsetExists ( mixed $index ) : bool
offsetGet ( mixed $index ) : mixed
offsetSet ( mixed $index , mixed $newval ) : void
offsetUnset ( mixed $index ) : void
public serialize ( ) : string
public setFlags ( int $flags ) : void
public setIteratorClass ( string $iterator_class ) : void
public uasort ( callable $cmp_function ) : void
public uksort ( callable $cmp_function ) : void
public unserialize ( string $serialized ) : void
}

Constantes pré-definidas

ArrayObject Flags

ArrayObject::STD_PROP_LIST

Properties of the object have their normal functionality when accessed as list (var_dump, foreach, etc.).

ArrayObject::ARRAY_AS_PROPS

Entries can be accessed as properties (read and write).

Índice

  • ArrayObject::append — Acrescenta um valor
  • ArrayObject::asort — Sort the entries by value
  • ArrayObject::__construct — Constrói um novo objeto array
  • ArrayObject::count — Retorna o número de elementos no iterador
  • ArrayObject::exchangeArray — Exchange the array for another one
  • ArrayObject::getArrayCopy — Creates a copy of the ArrayObject
  • ArrayObject::getFlags — Gets the behavior flags
  • ArrayObject::getIterator — Retorna o iterador do ArrayObject
  • ArrayObject::getIteratorClass — Gets the iterator classname for the ArrayObject
  • ArrayObject::ksort — Sort the entries by key
  • ArrayObject::natcasesort — Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::natsort — Sort entries using a "natural order" algorithm
  • ArrayObject::offsetExists — Retorna se o índice solicitado existe ou não
  • ArrayObject::offsetGet — Retorna o valor do índice especificado
  • ArrayObject::offsetSet — Define o valor do índice especificado por $index para $newval
  • ArrayObject::offsetUnset — Destrói o elemento no índice especificado
  • ArrayObject::serialize — Serialize an ArrayObject
  • ArrayObject::setFlags — Sets the behavior flags
  • ArrayObject::setIteratorClass — Sets the iterator classname for the ArrayObject
  • ArrayObject::uasort — Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort — Sort the entries by keys using a user-defined comparison function
  • ArrayObject::unserialize — Unserialize an ArrayObject


Acrescenta um valor

  • « ArrayObject
  • ArrayObject::asort »
  • PHP Manual
  • ArrayObject
  • Acrescenta um valor

ArrayObject::append

(PHP 5, PHP 7)

ArrayObject::append — Acrescenta um valor

Descrição

ArrayObject::append ( mixed $newval ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Sort the entries by value

  • « ArrayObject::append
  • ArrayObject::__construct »
  • PHP Manual
  • ArrayObject
  • Sort the entries by value

ArrayObject::asort

(PHP 5 >= 5.2.0, PHP 7)

ArrayObject::asort — Sort the entries by value

Descrição

public ArrayObject::asort ( int $flags = SORT_REGULAR ) : void

Sorts the entries such that the keys maintain their correlation with the entries they are associated with. This is used mainly when sorting associative arrays where the actual element order is significant.

Parâmetros

flags

The optional second parameter flags may be used to modify the sorting behavior using these values:

Sorting type flags:

  • SORT_REGULAR - compare items normally; the details are described in the comparison operators section
  • SORT_NUMERIC - compare items numerically
  • SORT_STRING - compare items as strings
  • SORT_LOCALE_STRING - compare items as strings, based on the current locale. It uses the locale, which can be changed using setlocale()
  • SORT_NATURAL - compare items as strings using "natural ordering" like natsort()
  • SORT_FLAG_CASE - can be combined (bitwise OR) with SORT_STRING or SORT_NATURAL to sort strings case-insensitively

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ArrayObject::asort() example

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->asort();

foreach ($fruitArrayObject as $key => $val) {
    echo "$key = $val\n";
}
?>

O exemplo acima irá imprimir:

c = apple
b = banana
d = lemon
a = orange

The fruits have been sorted in alphabetical order, and the key associated with each entry has been maintained.

Veja Também

  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function


Constrói um novo objeto array

  • « ArrayObject::asort
  • ArrayObject::count »
  • PHP Manual
  • ArrayObject
  • Constrói um novo objeto array

ArrayObject::__construct

(PHP 5, PHP 7)

ArrayObject::__construct — Constrói um novo objeto array

Descrição

ArrayObject::__construct ( mixed $input )

Constrói um novo object array.

Parâmetros

input

O parâmetro input aceita um array ou um outro ArrayObject.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Exemplo de ArrayObject::__construct()

<?php
$array = array('1' => 'um',
               '2' => 'dois',
               '3' => 'três');

$arrayobject = new ArrayObject($array);

var_dump($arrayobject);
?>

O exemplo acima irá imprimir:

object(ArrayObject)#1 (3) {
  [1]=>
  string(2) "um"
  [2]=>
  string(4) "dois"
  [3]=>
  string(4) "três"
}


Retorna o número de elementos no iterador

  • « ArrayObject::__construct
  • ArrayObject::exchangeArray »
  • PHP Manual
  • ArrayObject
  • Retorna o número de elementos no iterador

ArrayObject::count

(PHP 5, PHP 7)

ArrayObject::count — Retorna o número de elementos no iterador

Descrição

ArrayObject::count ( ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O número de elementos em um iterador.


Exchange the array for another one

  • « ArrayObject::count
  • ArrayObject::getArrayCopy »
  • PHP Manual
  • ArrayObject
  • Exchange the array for another one

ArrayObject::exchangeArray

(PHP 5 >= 5.1.0, PHP 7)

ArrayObject::exchangeArray — Exchange the array for another one

Descrição

public ArrayObject::exchangeArray ( mixed $input ) : array

Exchange the current array with another array or object.

Parâmetros

input

The new array or object to exchange with the current array.

Valor Retornado

Returns the old array.

Exemplos

Exemplo #1 ArrayObject::exchangeArray() example

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);
// Array of locations in Europe
$locations = array('Amsterdam', 'Paris', 'London');

$fruitsArrayObject = new ArrayObject($fruits);

// Now exchange fruits for locations
$old = $fruitsArrayObject->exchangeArray($locations);
print_r($old);
print_r($fruitsArrayObject);

?>

O exemplo acima irá imprimir:

Array
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
)
ArrayObject Object
(
    [0] => Amsterdam
    [1] => Paris
    [2] => London
)


Creates a copy of the ArrayObject

  • « ArrayObject::exchangeArray
  • ArrayObject::getFlags »
  • PHP Manual
  • ArrayObject
  • Creates a copy of the ArrayObject

ArrayObject::getArrayCopy

(PHP 5, PHP 7)

ArrayObject::getArrayCopy — Creates a copy of the ArrayObject

Descrição

public ArrayObject::getArrayCopy ( ) : array

Exports the ArrayObject to an array.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a copy of the array. When the ArrayObject refers to an object, an array of the properties of that object will be returned.

Exemplos

Exemplo #1 ArrayObject::getArrayCopy() example

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);
$fruitsArrayObject['pears'] = 4;

// create a copy of the array
$copy = $fruitsArrayObject->getArrayCopy();
print_r($copy);

?>

O exemplo acima irá imprimir:

Array
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
    [pears] => 4
)


Gets the behavior flags

  • « ArrayObject::getArrayCopy
  • ArrayObject::getIterator »
  • PHP Manual
  • ArrayObject
  • Gets the behavior flags

ArrayObject::getFlags

(PHP 5 >= 5.1.0, PHP 7)

ArrayObject::getFlags — Gets the behavior flags

Descrição

public ArrayObject::getFlags ( ) : int

Gets the behavior flags of the ArrayObject. See the ArrayObject::setFlags method for a list of the available flags.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the behavior flags of the ArrayObject.

Exemplos

Exemplo #1 ArrayObject::getFlags() example

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Get the current flags
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);

// Set new flags
$fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);

// Get the new flags
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);
?>

O exemplo acima irá imprimir:

int(0)
int(2)

Veja Também

  • ArrayObject::setFlags() - Sets the behavior flags


Retorna o iterador do ArrayObject

  • « ArrayObject::getFlags
  • ArrayObject::getIteratorClass »
  • PHP Manual
  • ArrayObject
  • Retorna o iterador do ArrayObject

ArrayObject::getIterator

(PHP 5, PHP 7)

ArrayObject::getIterator — Retorna o iterador do ArrayObject

Descrição

ArrayObject::getIterator ( ) : ArrayIterator

Cria um novo iterador a partir de uma instância de ArrayObject.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Um iterador de um ArrayObject.

Exemplos

Exemplo #1 Exemplo de ArrayObject::getIterator()

<?php
$array = array('1' => 'um',
               '2' => 'dois',
               '3' => 'três');

$arrayobject = new ArrayObject($array);

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

O exemplo acima irá imprimir:

1 => um
2 => dois
3 => três


Gets the iterator classname for the ArrayObject

  • « ArrayObject::getIterator
  • ArrayObject::ksort »
  • PHP Manual
  • ArrayObject
  • Gets the iterator classname for the ArrayObject

ArrayObject::getIteratorClass

(PHP 5 >= 5.1.0, PHP 7)

ArrayObject::getIteratorClass — Gets the iterator classname for the ArrayObject

Descrição

public ArrayObject::getIteratorClass ( ) : string

Gets the class name of the array iterator that is used by ArrayObject::getIterator().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the iterator class name that is used to iterate over this object.

Exemplos

Exemplo #1 ArrayObject::getIteratorClass() example

<?php
// Custom ArrayIterator (inherits from ArrayIterator)
class MyArrayIterator extends ArrayIterator {
    // custom implementation
}

// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Get the current class name
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);

// Set new classname
$fruitsArrayObject->setIteratorClass('MyArrayIterator');

// Get the new iterator classname
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);
?>

O exemplo acima irá imprimir:

string(13) "ArrayIterator"
string(15) "MyArrayIterator"

Veja Também

  • The ArrayObject::setIteratorClass method


Sort the entries by key

  • « ArrayObject::getIteratorClass
  • ArrayObject::natcasesort »
  • PHP Manual
  • ArrayObject
  • Sort the entries by key

ArrayObject::ksort

(PHP 5 >= 5.2.0, PHP 7)

ArrayObject::ksort — Sort the entries by key

Descrição

public ArrayObject::ksort ( int $flags = SORT_REGULAR ) : void

Sorts the entries by key, maintaining key to entry correlations. This is useful mainly for associative arrays.

Parâmetros

flags

The optional second parameter flags may be used to modify the sorting behavior using these values:

Sorting type flags:

  • SORT_REGULAR - compare items normally; the details are described in the comparison operators section
  • SORT_NUMERIC - compare items numerically
  • SORT_STRING - compare items as strings
  • SORT_LOCALE_STRING - compare items as strings, based on the current locale. It uses the locale, which can be changed using setlocale()
  • SORT_NATURAL - compare items as strings using "natural ordering" like natsort()
  • SORT_FLAG_CASE - can be combined (bitwise OR) with SORT_STRING or SORT_NATURAL to sort strings case-insensitively

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ArrayObject::ksort() example

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->ksort();

foreach ($fruitArrayObject as $key => $val) {
    echo "$key = $val\n";
}
 ?>

O exemplo acima irá imprimir:

a = orange
b = banana
c = apple
d = lemon

Veja Também

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function


Sort an array using a case insensitive "natural order" algorithm

  • « ArrayObject::ksort
  • ArrayObject::natsort »
  • PHP Manual
  • ArrayObject
  • Sort an array using a case insensitive "natural order" algorithm

ArrayObject::natcasesort

(PHP 5 >= 5.2.0, PHP 7)

ArrayObject::natcasesort — Sort an array using a case insensitive "natural order" algorithm

Descrição

public ArrayObject::natcasesort ( ) : void

This method is a case insensitive version of ArrayObject::natsort.

This method implements a sort algorithm that orders alphanumeric strings in the way a human being would while maintaining key/value associations. This is described as a "natural ordering".

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ArrayObject::natcasesort() example

<?php
$array = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo "Standard sorting\n";
print_r($arr1);

$arr2->natcasesort();
echo "\nNatural order sorting (case-insensitive)\n";
print_r($arr2);
?>

O exemplo acima irá imprimir:

Standard sorting
ArrayObject Object
(
    [0] => IMG0.png
    [5] => IMG3.png
    [4] => img1.png
    [2] => img10.png
    [1] => img12.png
    [3] => img2.png
)

Natural order sorting (case-insensitive)
ArrayObject Object
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

For more information see: Martin Pool's » Natural Order String Comparison page.

Veja Também

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function


Sort entries using a "natural order" algorithm

  • « ArrayObject::natcasesort
  • ArrayObject::offsetExists »
  • PHP Manual
  • ArrayObject
  • Sort entries using a "natural order" algorithm

ArrayObject::natsort

(PHP 5 >= 5.2.0, PHP 7)

ArrayObject::natsort — Sort entries using a "natural order" algorithm

Descrição

public ArrayObject::natsort ( ) : void

This method implements a sort algorithm that orders alphanumeric strings in the way a human being would while maintaining key/value associations. This is described as a "natural ordering". An example of the difference between this algorithm and the regular computer string sorting algorithms (used in ArrayObject::asort) method can be seen in the example below.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ArrayObject::natsort() example

<?php
$array = array("img12.png", "img10.png", "img2.png", "img1.png");

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo "Standard sorting\n";
print_r($arr1);

$arr2->natsort();
echo "\nNatural order sorting\n";
print_r($arr2);
?>

O exemplo acima irá imprimir:

Standard sorting
ArrayObject Object
(
    [3] => img1.png
    [1] => img10.png
    [0] => img12.png
    [2] => img2.png
)

Natural order sorting
ArrayObject Object
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

For more information see: Martin Pool's » Natural Order String Comparison page.

Veja Também

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function


Retorna se o índice solicitado existe ou não

  • « ArrayObject::natsort
  • ArrayObject::offsetGet »
  • PHP Manual
  • ArrayObject
  • Retorna se o índice solicitado existe ou não

ArrayObject::offsetExists

(PHP 5, PHP 7)

ArrayObject::offsetExists — Retorna se o índice solicitado existe ou não

Descrição

ArrayObject::offsetExists ( mixed $index ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

index

O índice a ser verificado.

Valor Retornado

true se o requisitado $index existe, false caso contrário


Retorna o valor do índice especificado

  • « ArrayObject::offsetExists
  • ArrayObject::offsetSet »
  • PHP Manual
  • ArrayObject
  • Retorna o valor do índice especificado

ArrayObject::offsetGet

(PHP 5, PHP 7)

ArrayObject::offsetGet — Retorna o valor do índice especificado

Descrição

ArrayObject::offsetGet ( mixed $index ) : mixed
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

index

O índice com o valor.

Valor Retornado

O valor no especificado $index.


Define o valor do índice especificado por $index para $newval

  • « ArrayObject::offsetGet
  • ArrayObject::offsetUnset »
  • PHP Manual
  • ArrayObject
  • Define o valor do índice especificado por $index para $newval

ArrayObject::offsetSet

(PHP 5, PHP 7)

ArrayObject::offsetSet — Define o valor do índice especificado por $index para $newval

Descrição

ArrayObject::offsetSet ( mixed $index , mixed $newval ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Sets the value at the specified index to newval.

Parâmetros

index

O índice a ser definido.

newval

O novo valor para o index.

Valor Retornado

Não há valor retornado.


Destrói o elemento no índice especificado

  • « ArrayObject::offsetSet
  • ArrayObject::serialize »
  • PHP Manual
  • ArrayObject
  • Destrói o elemento no índice especificado

ArrayObject::offsetUnset

(PHP 5, PHP 7)

ArrayObject::offsetUnset — Destrói o elemento no índice especificado

Descrição

ArrayObject::offsetUnset ( mixed $index ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Remove o valor no especificado índice.

Parâmetros

index

O índice a ser desregistrado.

Valor Retornado

Não há valor retornado.


Serialize an ArrayObject

  • « ArrayObject::offsetUnset
  • ArrayObject::setFlags »
  • PHP Manual
  • ArrayObject
  • Serialize an ArrayObject

ArrayObject::serialize

(PHP 5 >= 5.3.0, PHP 7)

ArrayObject::serialize — Serialize an ArrayObject

Descrição

public ArrayObject::serialize ( ) : string

Serializes an ArrayObject.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The serialized representation of the ArrayObject.

Exemplos

Exemplo #1 ArrayObject::serialize() example

<?php
$o = new ArrayObject();

$s1 = serialize($o);
$s2 = $o->serialize();

var_dump($s1);
var_dump($s2);
?>

O exemplo acima irá imprimir:

string(45) "C:11:"ArrayObject":21:{x:i:0;a:0:{};m:a:0:{}}"
string(21) "x:i:0;a:0:{};m:a:0:{}"

Veja Também

  • ArrayObject::unserialize() - Unserialize an ArrayObject
  • serialize() - Generates a storable representation of a value
  • Serializing Objects


Sets the behavior flags

  • « ArrayObject::serialize
  • ArrayObject::setIteratorClass »
  • PHP Manual
  • ArrayObject
  • Sets the behavior flags

ArrayObject::setFlags

(PHP 5 >= 5.1.0, PHP 7)

ArrayObject::setFlags — Sets the behavior flags

Descrição

public ArrayObject::setFlags ( int $flags ) : void

Set the flags that change the behavior of the ArrayObject.

Parâmetros

flags

The new ArrayObject behavior. It takes on either a bitmask, or named constants. Using named constants is strongly encouraged to ensure compatibility for future versions.

The available behavior flags are listed below. The actual meanings of these flags are described in the predefined constants.

ArrayObject behavior flags
value | constant
1 | ArrayObject::STD_PROP_LIST
2 | ArrayObject::ARRAY_AS_PROPS

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ArrayObject::setFlags() example

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Try to use array key as property
var_dump($fruitsArrayObject->lemons);
// Set the flag so that the array keys can be used as properties of the ArrayObject
$fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);
// Try it again
var_dump($fruitsArrayObject->lemons);
?>

O exemplo acima irá imprimir:

NULL
int(1)


Sets the iterator classname for the ArrayObject

  • « ArrayObject::setFlags
  • ArrayObject::uasort »
  • PHP Manual
  • ArrayObject
  • Sets the iterator classname for the ArrayObject

ArrayObject::setIteratorClass

(PHP 5 >= 5.1.0, PHP 7)

ArrayObject::setIteratorClass — Sets the iterator classname for the ArrayObject

Descrição

public ArrayObject::setIteratorClass ( string $iterator_class ) : void

Sets the classname of the array iterator that is used by ArrayObject::getIterator().

Parâmetros

iterator_class

The classname of the array iterator to use when iterating over this object.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ArrayObject::setIteratorClass() example

<?php
// Custom ArrayIterator (inherits from ArrayIterator)
class MyArrayIterator extends ArrayIterator {
    // custom implementation
}

// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Set the iterator classname to the newly
$fruitsArrayObject->setIteratorClass('MyArrayIterator');
print_r($fruitsArrayObject->getIterator());

?>

O exemplo acima irá imprimir:

MyArrayIterator Object
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
)


Sort the entries with a user-defined comparison function and maintain key association

  • « ArrayObject::setIteratorClass
  • ArrayObject::uksort »
  • PHP Manual
  • ArrayObject
  • Sort the entries with a user-defined comparison function and maintain key association

ArrayObject::uasort

(PHP 5 >= 5.2.0, PHP 7)

ArrayObject::uasort — Sort the entries with a user-defined comparison function and maintain key association

Descrição

public ArrayObject::uasort ( callable $cmp_function ) : void

This function sorts the entries such that keys maintain their correlation with the entry that they are associated with, using a user-defined comparison function.

This is used mainly when sorting associative arrays where the actual element order is significant.

Parâmetros

cmp_function

Function cmp_function should accept two parameters which will be filled by pairs of entries. The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ArrayObject::uasort() example

<?php
// Comparison function
function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

// Array to be sorted
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
$arrayObject = new ArrayObject($array);
print_r($arrayObject);

// Sort and print the resulting array
$arrayObject->uasort('cmp');
print_r($arrayObject);
?>

O exemplo acima irá imprimir:

Array
(
    [a] => 4
    [b] => 8
    [c] => -1
    [d] => -9
    [e] => 2
    [f] => 5
    [g] => 3
    [h] => -4
)
Array
(
    [d] => -9
    [h] => -4
    [c] => -1
    [e] => 2
    [g] => 3
    [a] => 4
    [f] => 5
    [b] => 8
)

Veja Também

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function


Sort the entries by keys using a user-defined comparison function

  • « ArrayObject::uasort
  • ArrayObject::unserialize »
  • PHP Manual
  • ArrayObject
  • Sort the entries by keys using a user-defined comparison function

ArrayObject::uksort

(PHP 5 >= 5.2.0, PHP 7)

ArrayObject::uksort — Sort the entries by keys using a user-defined comparison function

Descrição

public ArrayObject::uksort ( callable $cmp_function ) : void

This function sorts the keys of the entries using a user-supplied comparison function. The key to entry correlations will be maintained.

Parâmetros

cmp_function

The callback comparison function.

Function cmp_function should accept two parameters which will be filled by pairs of entry keys. The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ArrayObject::uksort() example

<?php
function cmp($a, $b) {
    $a = preg_replace('@^(a|an|the) @', '', $a);
    $b = preg_replace('@^(a|an|the) @', '', $b);
    return strcasecmp($a, $b);
}

$array = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);
$arrayObject = new ArrayObject($array);
$arrayObject->uksort('cmp');

foreach ($arrayObject as $key => $value) {
    echo "$key: $value\n";
}
?>

O exemplo acima irá imprimir:

an apple: 3
a banana: 4
the Earth: 2
John: 1

Veja Também

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association


Unserialize an ArrayObject

  • « ArrayObject::uksort
  • SplObserver »
  • PHP Manual
  • ArrayObject
  • Unserialize an ArrayObject

ArrayObject::unserialize

(PHP 5 >= 5.3.0, PHP 7)

ArrayObject::unserialize — Unserialize an ArrayObject

Descrição

public ArrayObject::unserialize ( string $serialized ) : void

Unserializes a serialized ArrayObject.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

serialized

The serialized ArrayObject.

Valor Retornado

The unserialized ArrayObject.

Veja Também

  • ArrayIterator::serialize() - Serialize
  • unserialize() - Creates a PHP value from a stored representation
  • Serializing Objects


The SplObserver interface

(PHP 5 >= 5.1.0, PHP 7)

Introdução

The SplObserver interface is used alongside SplSubject to implement the Observer Design Pattern.

Resumo da Interface

SplObserver {
/* Métodos */
abstract public update ( SplSubject $subject ) : void
}

Índice

  • SplObserver::update — Receive update from subject


Receive update from subject

  • « SplObserver
  • SplSubject »
  • PHP Manual
  • SplObserver
  • Receive update from subject

SplObserver::update

(PHP 5 >= 5.1.0, PHP 7)

SplObserver::update — Receive update from subject

Descrição

abstract public SplObserver::update ( SplSubject $subject ) : void

This method is called when any SplSubject to which the observer is attached calls SplSubject::notify().

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

subject

The SplSubject notifying the observer of an update.

Valor Retornado

Não há valor retornado.


The SplSubject interface

(PHP 5 >= 5.1.0, PHP 7)

Introdução

The SplSubject interface is used alongside SplObserver to implement the Observer Design Pattern.

Resumo da Interface

SplSubject {
/* Métodos */
abstract public attach ( SplObserver $observer ) : void
abstract public detach ( SplObserver $observer ) : void
abstract public notify ( ) : void
}

Índice

  • SplSubject::attach — Attach an SplObserver
  • SplSubject::detach — Detach an observer
  • SplSubject::notify — Notify an observer


Attach an SplObserver

  • « SplSubject
  • SplSubject::detach »
  • PHP Manual
  • SplSubject
  • Attach an SplObserver

SplSubject::attach

(PHP 5 >= 5.1.0, PHP 7)

SplSubject::attach — Attach an SplObserver

Descrição

abstract public SplSubject::attach ( SplObserver $observer ) : void

Attaches an SplObserver so that it can be notified of updates.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

observer

The SplObserver to attach.

Valor Retornado

Não há valor retornado.


Detach an observer

  • « SplSubject::attach
  • SplSubject::notify »
  • PHP Manual
  • SplSubject
  • Detach an observer

SplSubject::detach

(PHP 5 >= 5.1.0, PHP 7)

SplSubject::detach — Detach an observer

Descrição

abstract public SplSubject::detach ( SplObserver $observer ) : void

Detaches an observer from the subject to no longer notify it of updates.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

observer

The SplObserver to detach.

Valor Retornado

Não há valor retornado.


Notify an observer

  • « SplSubject::detach
  • Streams »
  • PHP Manual
  • SplSubject
  • Notify an observer

SplSubject::notify

(PHP 5 >= 5.1.0, PHP 7)

SplSubject::notify — Notify an observer

Descrição

abstract public SplSubject::notify ( ) : void

Notifies all attached observers.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Streams

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Stream Classes
  • Constantes pré-definidas
  • Stream Filters
  • Stream Contexts
  • Stream Errors
  • Exemplos
    • Example class registered as stream wrapper
  • php_user_filter — The php_user_filter class
    • php_user_filter::filter — Called when applying the filter
    • php_user_filter::onClose — Called when closing the filter
    • php_user_filter::onCreate — Called when creating the filter
  • streamWrapper — The streamWrapper class
    • streamWrapper::__construct — Constructs a new stream wrapper
    • streamWrapper::__destruct — Destructs an existing stream wrapper
    • streamWrapper::dir_closedir — Close directory handle
    • streamWrapper::dir_opendir — Open directory handle
    • streamWrapper::dir_readdir — Read entry from directory handle
    • streamWrapper::dir_rewinddir — Rewind directory handle
    • streamWrapper::mkdir — Create a directory
    • streamWrapper::rename — Renames a file or directory
    • streamWrapper::rmdir — Removes a directory
    • streamWrapper::stream_cast — Retrieve the underlaying resource
    • streamWrapper::stream_close — Close a resource
    • streamWrapper::stream_eof — Tests for end-of-file on a file pointer
    • streamWrapper::stream_flush — Flushes the output
    • streamWrapper::stream_lock — Advisory file locking
    • streamWrapper::stream_metadata — Change stream metadata
    • streamWrapper::stream_open — Opens file or URL
    • streamWrapper::stream_read — Read from stream
    • streamWrapper::stream_seek — Seeks to specific location in a stream
    • streamWrapper::stream_set_option — Change stream options
    • streamWrapper::stream_stat — Retrieve information about a file resource
    • streamWrapper::stream_tell — Retrieve the current position of a stream
    • streamWrapper::stream_truncate — Truncate stream
    • streamWrapper::stream_write — Write to stream
    • streamWrapper::unlink — Delete a file
    • streamWrapper::url_stat — Retrieve information about a file
  • Stream Funções
    • stream_bucket_append — Append bucket to brigade
    • stream_bucket_make_writeable — Return a bucket object from the brigade for operating on
    • stream_bucket_new — Create a new bucket for use on the current stream
    • stream_bucket_prepend — Prepend bucket to brigade
    • stream_context_create — Creates a stream context
    • stream_context_get_default — Retrieve the default stream context
    • stream_context_get_options — Retrieve options for a stream/wrapper/context
    • stream_context_get_params — Retrieves parameters from a context
    • stream_context_set_default — Set the default stream context
    • stream_context_set_option — Sets an option for a stream/wrapper/context
    • stream_context_set_params — Set parameters for a stream/wrapper/context
    • stream_copy_to_stream — Copies data from one stream to another
    • stream_filter_append — Attach a filter to a stream
    • stream_filter_prepend — Attach a filter to a stream
    • stream_filter_register — Register a user defined stream filter
    • stream_filter_remove — Remove a filter from a stream
    • stream_get_contents — Reads remainder of a stream into a string
    • stream_get_filters — Retrieve list of registered filters
    • stream_get_line — Gets line from stream resource up to a given delimiter
    • stream_get_meta_data — Retrieves header/meta data from streams/file pointers
    • stream_get_transports — Retrieve list of registered socket transports
    • stream_get_wrappers — Retrieve list of registered streams
    • stream_is_local — Checks if a stream is a local stream
    • stream_isatty — Check if a stream is a TTY
    • stream_notification_callback — A callback function for the notification context parameter
    • stream_register_wrapper — Sinônimo de stream_wrapper_register
    • stream_resolve_include_path — Resolve filename against the include path
    • stream_select — Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
    • stream_set_blocking — Set blocking/non-blocking mode on a stream
    • stream_set_chunk_size — Set the stream chunk size
    • stream_set_read_buffer — Set read file buffering on the given stream
    • stream_set_timeout — Set timeout period on a stream
    • stream_set_write_buffer — Sets write file buffering on the given stream
    • stream_socket_accept — Accept a connection on a socket created by stream_socket_server
    • stream_socket_client — Open Internet or Unix domain socket connection
    • stream_socket_enable_crypto — Turns encryption on/off on an already connected socket
    • stream_socket_get_name — Retrieve the name of the local or remote sockets
    • stream_socket_pair — Creates a pair of connected, indistinguishable socket streams
    • stream_socket_recvfrom — Receives data from a socket, connected or not
    • stream_socket_sendto — Sends a message to a socket, whether it is connected or not
    • stream_socket_server — Create an Internet or Unix domain server socket
    • stream_socket_shutdown — Shutdown a full-duplex connection
    • stream_supports_lock — Tells whether the stream supports locking
    • stream_wrapper_register — Register a URL wrapper implemented as a PHP class
    • stream_wrapper_restore — Restores a previously unregistered built-in wrapper
    • stream_wrapper_unregister — Unregister a URL wrapper


Introdução

Streams are the way of generalizing file, network, data compression, and other operations which share a common set of functions and uses. In its simplest definition, a stream is a resource object which exhibits streamable behavior. That is, it can be read from or written to in a linear fashion, and may be able to fseek() to an arbitrary location within the stream.

A wrapper is additional code which tells the stream how to handle specific protocols/encodings. For example, the http wrapper knows how to translate a URL into an HTTP/1.0 request for a file on a remote server. There are many wrappers built into PHP by default (See Protocolos e Wrappers suportados), and additional, custom wrappers may be added either within a PHP script using stream_wrapper_register(), or directly from an extension. Because any variety of wrapper may be added to PHP, there is no set limit on what can be done with them. To access the list of currently registered wrappers, use stream_get_wrappers().

A stream is referenced as: scheme://target

  • scheme(string) - The name of the wrapper to be used. Examples include: file, http, https, ftp, ftps, compress.zlib, compress.bz2, and php. See Protocolos e Wrappers suportados for a list of PHP built-in wrappers. If no wrapper is specified, the function default is used (typically file://).
  • target - Depends on the wrapper used. For filesystem related streams this is typically a path and filename of the desired file. For network related streams this is typically a hostname, often with a path appended. Again, see Protocolos e Wrappers suportados for a description of targets for built-in streams.


Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução
  • Stream Classes


  • « Instalação
  • Stream Classes »
  • PHP Manual
  • Instalação/Configuração
  • Configurações em Execução

Configurações em Execução

Esta extensão não possui diretivas de configuração definíveis no php.ini.


Stream Classes

User designed wrappers can be registered via stream_wrapper_register(), using the class definition shown on that manual page.

Class php_user_filter is predefined and is an abstract baseclass for use with user defined filters. See the manual page for stream_filter_register() for details on implementing user defined filters.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Constant | Description
STREAM_FILTER_READ | Used with stream_filter_append() and stream_filter_prepend() to indicate that the specified filter should only be applied when reading
STREAM_FILTER_WRITE | Used with stream_filter_append() and stream_filter_prepend() to indicate that the specified filter should only be applied when writing
STREAM_FILTER_ALL | This constant is equivalent to STREAM_FILTER_READ | STREAM_FILTER_WRITE
PSFS_PASS_ON | Return Code indicating that the userspace filter returned buckets in $out.
PSFS_FEED_ME | Return Code indicating that the userspace filter did not return buckets in $out (i.e. No data available).
PSFS_ERR_FATAL | Return Code indicating that the userspace filter encountered an unrecoverable error (i.e. Invalid data received).
PSFS_FLAG_NORMAL | Regular read/write.
PSFS_FLAG_FLUSH_INC | An incremental flush.
PSFS_FLAG_FLUSH_CLOSE | Final flush prior to closing.
STREAM_USE_PATH | Flag indicating if the stream used the include path.
STREAM_REPORT_ERRORS | Flag indicating if the wrapper is responsible for raising errors using trigger_error() during opening of the stream. If this flag is not set, you should not raise any errors.
STREAM_CLIENT_ASYNC_CONNECT | Open client socket asynchronously. This option must be used together with the STREAM_CLIENT_CONNECT flag. Used with stream_socket_client().
STREAM_CLIENT_CONNECT | Open client socket connection. Client sockets should always include this flag. Used with stream_socket_client().
STREAM_CLIENT_PERSISTENT | Client socket opened with stream_socket_client() should remain persistent between page loads.
STREAM_SERVER_BIND | Tells a stream created with stream_socket_server() to bind to the specified target. Server sockets should always include this flag.
STREAM_SERVER_LISTEN | Tells a stream created with stream_socket_server() and bound using the STREAM_SERVER_BIND flag to start listening on the socket. Connection-orientated transports (such as TCP) must use this flag, otherwise the server socket will not be enabled. Using this flag for connect-less transports (such as UDP) is an error.
STREAM_NOTIFY_RESOLVE | A remote address required for this stream has been resolved, or the resolution failed. See severity for an indication of which happened.
STREAM_NOTIFY_CONNECT | A connection with an external resource has been established.
STREAM_NOTIFY_AUTH_REQUIRED | Additional authorization is required to access the specified resource. Typical issued with severity level of STREAM_NOTIFY_SEVERITY_ERR.
STREAM_NOTIFY_MIME_TYPE_IS | The mime-type of resource has been identified, refer to message for a description of the discovered type.
STREAM_NOTIFY_FILE_SIZE_IS | The size of the resource has been discovered.
STREAM_NOTIFY_REDIRECTED | The external resource has redirected the stream to an alternate location. Refer to message.
STREAM_NOTIFY_PROGRESS | Indicates current progress of the stream transfer in bytes_transferred and possibly bytes_max as well.
STREAM_NOTIFY_COMPLETED | There is no more data available on the stream.
STREAM_NOTIFY_FAILURE | A generic error occurred on the stream, consult message and message_code for details.
STREAM_NOTIFY_AUTH_RESULT | Authorization has been completed (with or without success).
STREAM_NOTIFY_SEVERITY_INFO | Normal, non-error related, notification.
STREAM_NOTIFY_SEVERITY_WARN | Non critical error condition. Processing may continue.
STREAM_NOTIFY_SEVERITY_ERR | A critical error occurred. Processing cannot continue.
STREAM_IPPROTO_ICMP + | Provides a ICMP socket.
STREAM_IPPROTO_IP + | Provides a IP socket.
STREAM_IPPROTO_RAW + | Provides a RAW socket.
STREAM_IPPROTO_TCP + | Provides a TCP socket.
STREAM_IPPROTO_UDP + | Provides a UDP socket.
STREAM_PF_INET + | Internet Protocol Version 4 (IPv4).
STREAM_PF_INET6 + | Internet Protocol Version 6 (IPv6).
STREAM_PF_UNIX + | Unix system internal protocols.
STREAM_SOCK_DGRAM + | Provides datagrams, which are connectionless messages (UDP, for example).
STREAM_SOCK_RAW + | Provides a raw socket, which provides access to internal network protocols and interfaces. Usually this type of socket is just available to the root user.
STREAM_SOCK_RDM + | Provides a RDM (Reliably-delivered messages) socket.
STREAM_SOCK_SEQPACKET + | Provides a sequenced packet stream socket.
STREAM_SOCK_STREAM + | Provides sequenced, two-way byte streams with a transmission mechanism for out-of-band data (TCP, for example).
STREAM_SHUT_RD | Used with stream_socket_shutdown() to disable further receptions. Added in PHP 5.2.1.
STREAM_SHUT_WR | Used with stream_socket_shutdown() to disable further transmissions. Added in PHP 5.2.1.
STREAM_SHUT_RDWR | Used with stream_socket_shutdown() to disable further receptions and transmissions. Added in PHP 5.2.1.
STREAM_CAST_FOR_SELECT | Stream casting, for when stream_select() is calling stream_cast().
STREAM_CAST_AS_STREAM | Stream casting, when stream_cast() is called otherwise (see above).
STREAM_META_TOUCH | Used with stream_metadata(), to specify touch() call.
STREAM_META_OWNER | Used with stream_metadata(), to specify chown() call.
STREAM_META_OWNER_NAME | Used with stream_metadata(), to specify chown() call.
STREAM_META_GROUP | Used with stream_metadata(), to specify chgrp() call.
STREAM_META_GROUP_NAME | Used with stream_metadata(), to specify chgrp() call.
STREAM_META_ACCESS | Used with stream_metadata(), to specify chmod() call.
STREAM_BUFFER_NONE | No buffering.
STREAM_BUFFER_LINE | Line buffering.
STREAM_BUFFER_FULL | Full buffering.

Nota: The constants marked with + are available since PHP 5.1.0 and are meant to be used with stream_socket_pair(). Please note that some of these constants might not be available in your system.

Nota: The STREAM_META_* constants are available since PHP 5.4.0 and are meant to be used with stream_metadata().


Stream Filters

A filter is a final piece of code which may perform operations on data as it is being read from or written to a stream. Any number of filters may be stacked onto a stream. Custom filters can be defined in a PHP script using stream_filter_register() or in an extension. To access the list of currently registered filters, use stream_get_filters().


Stream Contexts

A context is a set of parameters and wrapper specific options which modify or enhance the behavior of a stream. Contexts are created using stream_context_create() and can be passed to most filesystem related stream creation functions (i.e. fopen(), file(), file_get_contents(), etc...).

Options can be specified when calling stream_context_create(), or later using stream_context_set_option(). A list of wrapper specific options can be found in the Opções e parâmetros de contexto chapter.

Parameters can be specified for contexts using the stream_context_set_params() function.


Stream Errors

As with any file or socket related function, an operation on a stream may fail for a variety of normal reasons (i.e.: Unable to connect to remote host, file not found, etc...). A stream related call may also fail because the desired stream is not registered on the running system. See the array returned by stream_get_wrappers() for a list of streams supported by your installation of PHP. As with most PHP internal functions if a failure occurs an E_WARNING message will be generated describing the nature of the error.


Exemplos

Índice

  • Example class registered as stream wrapper

Exemplo #1 Using file_get_contents() to retrieve data from multiple sources

<?php
/* Read local file from /home/bar */
$localfile = file_get_contents("/home/bar/foo.txt");

/* Identical to above, explicitly naming FILE scheme */
$localfile = file_get_contents("file:///home/bar/foo.txt");

/* Read remote file from www.example.com using HTTP */
$httpfile  = file_get_contents("http://www.example.com/foo.txt");

/* Read remote file from www.example.com using HTTPS */
$httpsfile = file_get_contents("https://www.example.com/foo.txt");

/* Read remote file from ftp.example.com using FTP */
$ftpfile   = file_get_contents("ftp://user:pass@ftp.example.com/foo.txt");

/* Read remote file from ftp.example.com using FTPS */
$ftpsfile  = file_get_contents("ftps://user:pass@ftp.example.com/foo.txt");
?>

Exemplo #2 Making a POST request to an https server

<?php
/* Send POST request to https://secure.example.com/form_action.php
* Include form elements named "foo" and "bar" with dummy values
*/

$sock = fsockopen("ssl://secure.example.com", 443, $errno, $errstr, 30);
if (!$sock) die("$errstr ($errno)\n");

$data = "foo=" . urlencode("Value for Foo") . "&bar=" . urlencode("Value for Bar");

fwrite($sock, "POST /form_action.php HTTP/1.0\r\n");
fwrite($sock, "Host: secure.example.com\r\n");
fwrite($sock, "Content-type: application/x-www-form-urlencoded\r\n");
fwrite($sock, "Content-length: " . strlen($data) . "\r\n");
fwrite($sock, "Accept: */*\r\n");
fwrite($sock, "\r\n");
fwrite($sock, $data);

$headers = "";
while ($str = trim(fgets($sock, 4096)))
$headers .= "$str\n";

echo "\n";

$body = "";
while (!feof($sock))
$body .= fgets($sock, 4096);

fclose($sock);
?>

Exemplo #3 Writing data to a compressed file

<?php
/* Create a compressed file containing an arbitrarty string
* File can be read back using compress.zlib stream or just
* decompressed from the command line using 'gzip -d foo-bar.txt.gz'
*/
$fp = fopen("compress.zlib://foo-bar.txt.gz", "wb");
if (!$fp) die("Unable to create file.");

fwrite($fp, "This is a test.\n");

fclose($fp);
?>


Example class registered as stream wrapper

The example below implements a var:// protocol handler that allows read/write access to a named global variable using standard filesystem stream functions such as fread(). The var:// protocol implemented below, given the URL "var://foo" will read/write data to/from $GLOBALS["foo"].

Exemplo #1 A Stream for reading/writing global variables

<?php

class VariableStream {
    var $position;
    var $varname;

    function stream_open($path, $mode, $options, &$opened_path)
    {
        $url = parse_url($path);
        $this->varname = $url["host"];
        $this->position = 0;

        return true;
    }

    function stream_read($count)
    {
        $ret = substr($GLOBALS[$this->varname], $this->position, $count);
        $this->position += strlen($ret);
        return $ret;
    }

    function stream_write($data)
    {
        $left = substr($GLOBALS[$this->varname], 0, $this->position);
        $right = substr($GLOBALS[$this->varname], $this->position + strlen($data));
        $GLOBALS[$this->varname] = $left . $data . $right;
        $this->position += strlen($data);
        return strlen($data);
    }

    function stream_tell()
    {
        return $this->position;
    }

    function stream_eof()
    {
        return $this->position >= strlen($GLOBALS[$this->varname]);
    }

    function stream_seek($offset, $whence)
    {
        switch ($whence) {
            case SEEK_SET:
                if ($offset < strlen($GLOBALS[$this->varname]) && $offset >= 0) {
                     $this->position = $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_CUR:
                if ($offset >= 0) {
                     $this->position += $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_END:
                if (strlen($GLOBALS[$this->varname]) + $offset >= 0) {
                     $this->position = strlen($GLOBALS[$this->varname]) + $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            default:
                return false;
        }
    }

    function stream_metadata($path, $option, $var)
    {
        if($option == STREAM_META_TOUCH) {
            $url = parse_url($path);
            $varname = $url["host"];
            if(!isset($GLOBALS[$varname])) {
                $GLOBALS[$varname] = '';
            }
            return true;
        }
        return false;
    }
}

stream_wrapper_register("var", "VariableStream")
    or die("Failed to register protocol");

$myvar = "";

$fp = fopen("var://myvar", "r+");

fwrite($fp, "line1\n");
fwrite($fp, "line2\n");
fwrite($fp, "line3\n");

rewind($fp);
while (!feof($fp)) {
    echo fgets($fp);
}
fclose($fp);
var_dump($myvar);

?>

O exemplo acima irá imprimir:

line1
line2
line3
string(18) "line1
line2
line3
"


The php_user_filter class

(PHP 5, PHP 7, PHP 8)

Introdução

Children of this class are passed to
stream_filter_register().
Note that the __construct method is not called;
instead, php_user_filter::onCreate() should be used for
initialization.

Sinopse da classe

php_user_filter {
/* Propriedades */
public $filtername ;
public $params ;
/* Métodos */
public filter ( resource $in , resource $out , int &$consumed , bool $closing ) : int
public onClose ( ) : void
public onCreate ( ) : bool
}

Propriedades

filtername

Name of the filter registered by stream_filter_append().

params

Índice

  • php_user_filter::filter — Called when applying the filter
  • php_user_filter::onClose — Called when closing the filter
  • php_user_filter::onCreate — Called when creating the filter


Called when applying the filter

  • « php_user_filter
  • php_user_filter::onClose »
  • PHP Manual
  • php_user_filter
  • Called when applying the filter

php_user_filter::filter

(PHP 5, PHP 7, PHP 8)

php_user_filter::filter — Called when applying the filter

Descrição

public php_user_filter::filter ( resource $in , resource $out , int &$consumed , bool $closing ) : int

This method is called whenever data is read from or written to the attached stream (such as with fread() or fwrite()).

Parâmetros

in

in is a resource pointing to a bucket brigade which contains one or more bucket objects containing data to be filtered.

out

out is a resource pointing to a second bucket brigade into which your modified buckets should be placed.

consumed

consumed, which must always be declared by reference, should be incremented by the length of the data which your filter reads in and alters. In most cases this means you will increment consumed by $bucket->datalen for each $bucket.

closing

If the stream is in the process of closing (and therefore this is the last pass through the filterchain), the closing parameter will be set to true.

Valor Retornado

The filter() method must return one of three values upon completion.

Return Value | Meaning
PSFS_PASS_ON | Filter processed successfully with data available in the out bucket brigade.
PSFS_FEED_ME | Filter processed successfully, however no data was available to return. More data is required from the stream or prior filter.
PSFS_ERR_FATAL (default) | The filter experienced an unrecoverable error and cannot continue.


Called when closing the filter

  • « php_user_filter::filter
  • php_user_filter::onCreate »
  • PHP Manual
  • php_user_filter
  • Called when closing the filter

php_user_filter::onClose

(PHP 5, PHP 7, PHP 8)

php_user_filter::onClose — Called when closing the filter

Descrição

public php_user_filter::onClose ( ) : void

This method is called upon filter shutdown (typically, this is also during stream shutdown), and is executed after the flush method is called. If any resources were allocated or initialized during onCreate() this would be the time to destroy or dispose of them.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return value is ignored.


Called when creating the filter

  • « php_user_filter::onClose
  • streamWrapper »
  • PHP Manual
  • php_user_filter
  • Called when creating the filter

php_user_filter::onCreate

(PHP 5, PHP 7, PHP 8)

php_user_filter::onCreate — Called when creating the filter

Descrição

public php_user_filter::onCreate ( ) : bool

This method is called during instantiation of the filter class object. If your filter allocates or initializes any other resources (such as a buffer), this is the place to do it.

When your filter is first instantiated, and yourfilter->onCreate() is called, a number of properties will be available as shown in the table below.

Property | Contents
FilterClass->filtername | A string containing the name the filter was instantiated with. Filters may be registered under multiple names or under wildcards. Use this property to determine which name was used.
FilterClass->params | The contents of the params parameter passed to stream_filter_append() or stream_filter_prepend().
FilterClass->stream | The stream resource being filtered. Maybe available only during filter() calls when the closing parameter is set to false.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Your implementation of this method should return false on failure, or true on success.


The streamWrapper class

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

Introdução

Allows you to implement your own protocol handlers and streams for use with all the other filesystem functions (such as fopen(), fread() etc.).

Nota:

This is NOT a real class, only a prototype of how a class defining its own protocol should be.

Nota:

Implementing the methods in other ways than described here can lead to undefined behaviour.

An instance of this class is initialized as soon as a stream function tries to access the protocol it is associated with.

Sinopse da classe

streamWrapper {
/* Propriedades */
public resource $context ;
/* Métodos */
__construct ( )
__destruct ( )
public dir_closedir ( ) : bool
public dir_opendir ( string $path , int $options ) : bool
public dir_readdir ( ) : string
public dir_rewinddir ( ) : bool
public mkdir ( string $path , int $mode , int $options ) : bool
public rename ( string $path_from , string $path_to ) : bool
public rmdir ( string $path , int $options ) : bool
public stream_cast ( int $cast_as ) : resource
public stream_close ( ) : void
public stream_eof ( ) : bool
public stream_flush ( ) : bool
public stream_lock ( int $operation ) : bool
public stream_metadata ( string $path , int $option , mixed $value ) : bool
public stream_open ( string $path , string $mode , int $options , string &$opened_path ) : bool
public stream_read ( int $count ) : string
public stream_seek ( int $offset , int $whence = SEEK_SET ) : bool
public stream_set_option ( int $option , int $arg1 , int $arg2 ) : bool
public stream_stat ( ) : array
public stream_tell ( ) : int
public stream_truncate ( int $new_size ) : bool
public stream_write ( string $data ) : int
public unlink ( string $path ) : bool
public url_stat ( string $path , int $flags ) : array
}

Propriedades

resource context

The current context, or null if no context was passed to the caller function.

Use the stream_context_get_options() to parse the context.

Nota:

This property must be public so PHP can populate it with the actual context resource.

Veja Também

  • Example class registered as stream wrapper
  • stream_wrapper_register()
  • stream_wrapper_unregister()
  • stream_wrapper_restore()

Índice

  • streamWrapper::__construct — Constructs a new stream wrapper
  • streamWrapper::__destruct — Destructs an existing stream wrapper
  • streamWrapper::dir_closedir — Close directory handle
  • streamWrapper::dir_opendir — Open directory handle
  • streamWrapper::dir_readdir — Read entry from directory handle
  • streamWrapper::dir_rewinddir — Rewind directory handle
  • streamWrapper::mkdir — Create a directory
  • streamWrapper::rename — Renames a file or directory
  • streamWrapper::rmdir — Removes a directory
  • streamWrapper::stream_cast — Retrieve the underlaying resource
  • streamWrapper::stream_close — Close a resource
  • streamWrapper::stream_eof — Tests for end-of-file on a file pointer
  • streamWrapper::stream_flush — Flushes the output
  • streamWrapper::stream_lock — Advisory file locking
  • streamWrapper::stream_metadata — Change stream metadata
  • streamWrapper::stream_open — Opens file or URL
  • streamWrapper::stream_read — Read from stream
  • streamWrapper::stream_seek — Seeks to specific location in a stream
  • streamWrapper::stream_set_option — Change stream options
  • streamWrapper::stream_stat — Retrieve information about a file resource
  • streamWrapper::stream_tell — Retrieve the current position of a stream
  • streamWrapper::stream_truncate — Truncate stream
  • streamWrapper::stream_write — Write to stream
  • streamWrapper::unlink — Delete a file
  • streamWrapper::url_stat — Retrieve information about a file


Constructs a new stream wrapper

  • « streamWrapper
  • streamWrapper::__destruct »
  • PHP Manual
  • streamWrapper
  • Constructs a new stream wrapper

streamWrapper::__construct

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::__construct — Constructs a new stream wrapper

Descrição

streamWrapper::__construct ( )

Called when opening the stream wrapper, right before streamWrapper::stream_open().

Parâmetros

Esta função não possui parâmetros.


Destructs an existing stream wrapper

  • « streamWrapper::__construct
  • streamWrapper::dir_closedir »
  • PHP Manual
  • streamWrapper
  • Destructs an existing stream wrapper

streamWrapper::__destruct

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::__destruct — Destructs an existing stream wrapper

Descrição

streamWrapper::__destruct ( )

Called when closing the stream wrapper, right before streamWrapper::stream_flush().

Parâmetros

Esta função não possui parâmetros.


Close directory handle

  • « streamWrapper::__destruct
  • streamWrapper::dir_opendir »
  • PHP Manual
  • streamWrapper
  • Close directory handle

streamWrapper::dir_closedir

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::dir_closedir — Close directory handle

Descrição

public streamWrapper::dir_closedir ( ) : bool

This method is called in response to closedir().

Any resources which were locked, or allocated, during opening and use of the directory stream should be released.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • closedir() - Fecha o manipulador do diretório
  • streamWrapper::dir_opendir() - Open directory handle


Open directory handle

  • « streamWrapper::dir_closedir
  • streamWrapper::dir_readdir »
  • PHP Manual
  • streamWrapper
  • Open directory handle

streamWrapper::dir_opendir

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::dir_opendir — Open directory handle

Descrição

public streamWrapper::dir_opendir ( string $path , int $options ) : bool

This method is called in response to opendir().

Parâmetros

path

Specifies the URL that was passed to opendir().

Nota:

The URL can be broken apart with parse_url().

options

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • opendir() - Abre um manipulador de diretório
  • streamWrapper::dir_closedir() - Close directory handle
  • parse_url() - Interpreta uma URL e retorna os seus componentes


Read entry from directory handle

  • « streamWrapper::dir_opendir
  • streamWrapper::dir_rewinddir »
  • PHP Manual
  • streamWrapper
  • Read entry from directory handle

streamWrapper::dir_readdir

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::dir_readdir — Read entry from directory handle

Descrição

public streamWrapper::dir_readdir ( ) : string

This method is called in response to readdir().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Should return string representing the next filename, or false if there is no next file.

Nota:

The return value will be casted to string.

Erros

Emite E_WARNING se uma chamada a essa função falha (não implementada, por exemplo).

Exemplos

Exemplo #1 Listing files from tar archives

<?php
class streamWrapper {
    protected $fp;

    public function dir_opendir($path, $options) {
        $url = parse_url($path);

        $path = $url["host"] . $url["path"];

        if (!is_readable($path)) {
            trigger_error("$path isn't readable for me", E_USER_NOTICE);
            return false;
        }
        if (!is_file($path)) {
            trigger_error("$path isn't a file", E_USER_NOTICE);
            return false;
        }

        $this->fp = fopen($path, "rb");
        return true;
    }

    public function dir_readdir() {
        // Extract the header for this entry
        $header      = fread($this->fp, 512);
        $data = unpack("a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1filetype/a100link/a100linkedfile", $header);

        // Trim the filename and filesize
        $filename    = trim($data["filename"]);

        // No filename? We are the end of the archive
        if (!$filename) {
            return false;
        }

        $octal_bytes = trim($data["size"]);
        // Filesize is defined in octects
        $bytes       = octdec($octal_bytes);

        // tar rounds up filesizes up to multiple of 512 bytes (zero filled)
        $rest        = $bytes % 512;
        if ($rest > 0) {
            $bytes      += 512 - $rest;
        }

        // Seek over the file
        fseek($this->fp, $bytes, SEEK_CUR);

        return $filename;
    }

    public function dir_closedir() {
        return fclose($this->fp);
    }

    public function dir_rewinddir() {
        return fseek($this->fp, 0, SEEK_SET);
    }
}

stream_wrapper_register("tar", "streamWrapper");
$handle = opendir("tar://example.tar");
while (false !== ($file = readdir($handle))) {
    var_dump($file);
}

echo "Rewinding..\n";
rewind($handle);
var_dump(readdir($handle));

closedir($handle);
?>

O exemplo acima irá imprimir algo similar à:

string(13) "construct.xml"
string(16) "dir-closedir.xml"
string(15) "dir-opendir.xml"
string(15) "dir-readdir.xml"
string(17) "dir-rewinddir.xml"
string(9) "mkdir.xml"
string(10) "rename.xml"
string(9) "rmdir.xml"
string(15) "stream-cast.xml"
string(16) "stream-close.xml"
string(14) "stream-eof.xml"
string(16) "stream-flush.xml"
string(15) "stream-lock.xml"
string(15) "stream-open.xml"
string(15) "stream-read.xml"
string(15) "stream-seek.xml"
string(21) "stream-set-option.xml"
string(15) "stream-stat.xml"
string(15) "stream-tell.xml"
string(16) "stream-write.xml"
string(10) "unlink.xml"
string(12) "url-stat.xml"
Rewinding..
string(13) "construct.xml"

Veja Também

  • readdir() - Lê os campos do manipulador do diretório


Rewind directory handle

  • « streamWrapper::dir_readdir
  • streamWrapper::mkdir »
  • PHP Manual
  • streamWrapper
  • Rewind directory handle

streamWrapper::dir_rewinddir

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::dir_rewinddir — Rewind directory handle

Descrição

public streamWrapper::dir_rewinddir ( ) : bool

This method is called in response to rewinddir().

Should reset the output generated by streamWrapper::dir_readdir(). i.e.: The next call to streamWrapper::dir_readdir() should return the first entry in the location returned by streamWrapper::dir_opendir().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • rewinddir() - Voltar (rewind) o manipulador de diretório
  • streamWrapper::dir_readdir() - Read entry from directory handle


Create a directory

  • « streamWrapper::dir_rewinddir
  • streamWrapper::rename »
  • PHP Manual
  • streamWrapper
  • Create a directory

streamWrapper::mkdir

(PHP 5, PHP 7, PHP 8)

streamWrapper::mkdir — Create a directory

Descrição

public streamWrapper::mkdir ( string $path , int $mode , int $options ) : bool

This method is called in response to mkdir().

Nota:

In order for the appropriate error message to be returned this method should not be defined if the wrapper does not support creating directories.

Parâmetros

path

Directory which should be created.

mode

The value passed to mkdir().

options

A bitwise mask of values, such as STREAM_MKDIR_RECURSIVE.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Emite E_WARNING se uma chamada a essa função falha (não implementada, por exemplo).

Notas

Nota:

A propriedade streamWrapper::$context é atualizada se um contexto válido é passado no chamador da função.

Veja Também

  • mkdir() - Cria um diretório
  • streamwrapper::rmdir() - Removes a directory


Renames a file or directory

  • « streamWrapper::mkdir
  • streamWrapper::rmdir »
  • PHP Manual
  • streamWrapper
  • Renames a file or directory

streamWrapper::rename

(PHP 5, PHP 7, PHP 8)

streamWrapper::rename — Renames a file or directory

Descrição

public streamWrapper::rename ( string $path_from , string $path_to ) : bool

This method is called in response to rename().

Should attempt to rename path_from to path_to

Nota:

In order for the appropriate error message to be returned this method should not be defined if the wrapper does not support renaming files.

Parâmetros

path_from

The URL to the current file.

path_to

The URL which the path_from should be renamed to.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Emite E_WARNING se uma chamada a essa função falha (não implementada, por exemplo).

Notas

Nota:

A propriedade streamWrapper::$context é atualizada se um contexto válido é passado no chamador da função.

Veja Também

  • rename() - Renomeia um arquivo ou diretório


Removes a directory

  • « streamWrapper::rename
  • streamWrapper::stream_cast »
  • PHP Manual
  • streamWrapper
  • Removes a directory

streamWrapper::rmdir

(PHP 5, PHP 7, PHP 8)

streamWrapper::rmdir — Removes a directory

Descrição

public streamWrapper::rmdir ( string $path , int $options ) : bool

This method is called in response to rmdir().

Nota:

In order for the appropriate error message to be returned this method should not be defined if the wrapper does not support removing directories.

Parâmetros

path

The directory URL which should be removed.

options

A bitwise mask of values, such as STREAM_MKDIR_RECURSIVE.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Emite E_WARNING se uma chamada a essa função falha (não implementada, por exemplo).

Notas

Nota:

A propriedade streamWrapper::$context é atualizada se um contexto válido é passado no chamador da função.

Veja Também

  • rmdir() - Remove um diretório
  • streamwrapper::mkdir() - Create a directory
  • streamwrapper::unlink() - Delete a file


Retrieve the underlaying resource

  • « streamWrapper::rmdir
  • streamWrapper::stream_close »
  • PHP Manual
  • streamWrapper
  • Retrieve the underlaying resource

streamWrapper::stream_cast

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

streamWrapper::stream_cast — Retrieve the underlaying resource

Descrição

public streamWrapper::stream_cast ( int $cast_as ) : resource

This method is called in response to stream_select().

Parâmetros

cast_as

Can be STREAM_CAST_FOR_SELECT when stream_select() is calling stream_cast() or STREAM_CAST_AS_STREAM when stream_cast() is called for other uses.

Valor Retornado

Should return the underlying stream resource used by the wrapper, or false.

Veja Também

  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec


Close a resource

  • « streamWrapper::stream_cast
  • streamWrapper::stream_eof »
  • PHP Manual
  • streamWrapper
  • Close a resource

streamWrapper::stream_close

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_close — Close a resource

Descrição

public streamWrapper::stream_close ( ) : void

This method is called in response to fclose().

All resources that were locked, or allocated, by the wrapper should be released.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • fclose() - Fecha um ponteiro de arquivo aberto
  • streamWrapper::dir_closedir() - Close directory handle


Tests for end-of-file on a file pointer

  • « streamWrapper::stream_close
  • streamWrapper::stream_flush »
  • PHP Manual
  • streamWrapper
  • Tests for end-of-file on a file pointer

streamWrapper::stream_eof

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_eof — Tests for end-of-file on a file pointer

Descrição

public streamWrapper::stream_eof ( ) : bool

This method is called in response to feof().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Should return true if the read/write position is at the end of the stream and if no more data is available to be read, or false otherwise.

Notas

Aviso

When reading the whole file (for example, with file_get_contents()), PHP will call streamWrapper::stream_read() followed by streamWrapper::stream_eof() in a loop but as long as streamWrapper::stream_read() returns a non-empty string, the return value of streamWrapper::stream_eof() is ignored.

Veja Também

  • feof() - Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo


Flushes the output

  • « streamWrapper::stream_eof
  • streamWrapper::stream_lock »
  • PHP Manual
  • streamWrapper
  • Flushes the output

streamWrapper::stream_flush

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_flush — Flushes the output

Descrição

public streamWrapper::stream_flush ( ) : bool

This method is called in response to fflush() and when the stream is being closed while any unflushed data has been written to it before.

If you have cached data in your stream but not yet stored it into the underlying storage, you should do so now.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Should return true if the cached data was successfully stored (or if there was no data to store), or false if the data could not be stored.

Notas

Nota:

If not implemented, false is assumed as the return value.

Veja Também

  • fflush() - Força a liberação do buffer para um arquivo


Advisory file locking

  • « streamWrapper::stream_flush
  • streamWrapper::stream_metadata »
  • PHP Manual
  • streamWrapper
  • Advisory file locking

streamWrapper::stream_lock

(PHP 5, PHP 7, PHP 8)

streamWrapper::stream_lock — Advisory file locking

Descrição

public streamWrapper::stream_lock ( int $operation ) : bool

This method is called in response to flock(), when file_put_contents() (when flags contains LOCK_EX), stream_set_blocking() and when closing the stream (LOCK_UN).

Parâmetros

operation

operation is one of the following:

  • LOCK_SH to acquire a shared lock (reader).
  • LOCK_EX to acquire an exclusive lock (writer).
  • LOCK_UN to release a lock (shared or exclusive).
  • LOCK_NB if you don't want flock() to block while locking. (not supported on Windows)

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Emits E_WARNING if call to this method fails (i.e. not implemented).

Veja Também

  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • flock() - Monitor de travamento de arquivos portátil


Change stream metadata

  • « streamWrapper::stream_lock
  • streamWrapper::stream_open »
  • PHP Manual
  • streamWrapper
  • Change stream metadata

streamWrapper::stream_metadata

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

streamWrapper::stream_metadata — Change stream metadata

Descrição

public streamWrapper::stream_metadata ( string $path , int $option , mixed $value ) : bool

This method is called to set metadata on the stream. It is called when one of the following functions is called on a stream URL:

  • touch()
  • chmod()
  • chown()
  • chgrp()
Please note that some of these operations may not be available on your system.

Parâmetros

path

The file path or URL to set metadata. Note that in the case of a URL, it must be a :// delimited URL. Other URL forms are not supported.

option

One of:

  • STREAM_META_TOUCH (The method was called in response to touch())
  • STREAM_META_OWNER_NAME (The method was called in response to chown() with string parameter)
  • STREAM_META_OWNER (The method was called in response to chown())
  • STREAM_META_GROUP_NAME (The method was called in response to chgrp())
  • STREAM_META_GROUP (The method was called in response to chgrp())
  • STREAM_META_ACCESS (The method was called in response to chmod())

value

If option is

  • STREAM_META_TOUCH: Array consisting of two arguments of the touch() function.
  • STREAM_META_OWNER_NAME or STREAM_META_GROUP_NAME: The name of the owner user/group as string.
  • STREAM_META_OWNER or STREAM_META_GROUP: The value owner user/group argument as int.
  • STREAM_META_ACCESS: The argument of the chmod() as int.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. If option is not implemented, false should be returned.

Veja Também

  • touch() - Muda o tempo de modificação do arquivo
  • chmod() - Modifica as permissões do arquivo
  • chown() - Modifica o dono do arquivo
  • chgrp() - Modifica o grupo do arquivo


Opens file or URL

  • « streamWrapper::stream_metadata
  • streamWrapper::stream_read »
  • PHP Manual
  • streamWrapper
  • Opens file or URL

streamWrapper::stream_open

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_open — Opens file or URL

Descrição

public streamWrapper::stream_open ( string $path , string $mode , int $options , string &$opened_path ) : bool

This method is called immediately after the wrapper is initialized (f.e. by fopen() and file_get_contents()).

Parâmetros

path

Specifies the URL that was passed to the original function.

Nota:

The URL can be broken apart with parse_url(). Note that only URLs delimited by :// are supported. : and :/ while technically valid URLs, are not.

mode

The mode used to open the file, as detailed for fopen().

Nota:

Remember to check if the mode is valid for the path requested.

options

Holds additional flags set by the streams API. It can hold one or more of the following values OR'd together.

Flag | Description
STREAM_USE_PATH | If path is relative, search for the resource using the include_path.
STREAM_REPORT_ERRORS | If this flag is set, you are responsible for raising errors using trigger_error() during opening of the stream. If this flag is not set, you should not raise any errors.

opened_path

If the path is opened successfully, and STREAM_USE_PATH is set in options, opened_path should be set to the full path of the file/resource that was actually opened.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Emite E_WARNING se uma chamada a essa função falha (não implementada, por exemplo).

Notas

Nota:

A propriedade streamWrapper::$context é atualizada se um contexto válido é passado no chamador da função.

Veja Também

  • fopen() - Abre um arquivo ou URL
  • parse_url() - Interpreta uma URL e retorna os seus componentes


Read from stream

  • « streamWrapper::stream_open
  • streamWrapper::stream_seek »
  • PHP Manual
  • streamWrapper
  • Read from stream

streamWrapper::stream_read

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_read — Read from stream

Descrição

public streamWrapper::stream_read ( int $count ) : string

This method is called in response to fread() and fgets().

Nota:

Remember to update the read/write position of the stream (by the number of bytes that were successfully read).

Parâmetros

count

How many bytes of data from the current position should be returned.

Valor Retornado

If there are less than count bytes available, return as many as are available. If no more data is available, return either false or an empty string.

Erros

Emite E_WARNING se uma chamada a essa função falha (não implementada, por exemplo).

Nota:

If the return value is longer then count an E_WARNING error will be emitted, and excess data will be lost.

Notas

Nota:

streamWrapper::stream_eof() is called directly after calling streamWrapper::stream_read() to check if EOF has been reached. If not implemented, EOF is assumed.

Aviso

When reading the whole file (for example, with file_get_contents()), PHP will call streamWrapper::stream_read() followed by streamWrapper::stream_eof() in a loop but as long as streamWrapper::stream_read() returns a non-empty string, the return value of streamWrapper::stream_eof() is ignored.

Veja Também

  • fread() - Leitura binary-safe de arquivo
  • fgets() - Lê uma linha de um ponteiro de arquivo


Seeks to specific location in a stream

  • « streamWrapper::stream_read
  • streamWrapper::stream_set_option »
  • PHP Manual
  • streamWrapper
  • Seeks to specific location in a stream

streamWrapper::stream_seek

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_seek — Seeks to specific location in a stream

Descrição

public streamWrapper::stream_seek ( int $offset , int $whence = SEEK_SET ) : bool

This method is called in response to fseek().

The read/write position of the stream should be updated according to the offset and whence.

Parâmetros

offset

The stream offset to seek to.

whence

Possible values:

  • SEEK_SET - Set position equal to offset bytes.
  • SEEK_CUR - Set position to current location plus offset.
  • SEEK_END - Set position to end-of-file plus offset.

Nota: The current implementation never sets whence to SEEK_CUR; instead such seeks are internally converted to SEEK_SET seeks.

Valor Retornado

Return true if the position was updated, false otherwise.

Notas

Nota:

If not implemented, false is assumed as the return value.

Nota:

Upon success,
streamWrapper::stream_tell() is called directly after
calling streamWrapper::stream_seek(). If
streamWrapper::stream_tell() fails, the return
value to the caller function will be set to false

Nota:

Not all seeks operations on the stream will result in this function being called. PHP streams have read buffering enabled by default (see also stream_set_read_buffer()) and seeking may be done by merely moving the buffer pointer.

Veja Também

  • fseek() - Procura (seeks) em um ponteiro de arquivo


Change stream options

  • « streamWrapper::stream_seek
  • streamWrapper::stream_stat »
  • PHP Manual
  • streamWrapper
  • Change stream options

streamWrapper::stream_set_option

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

streamWrapper::stream_set_option — Change stream options

Descrição

public streamWrapper::stream_set_option ( int $option , int $arg1 , int $arg2 ) : bool

This method is called to set options on the stream.

Parâmetros

option

One of:

  • STREAM_OPTION_BLOCKING (The method was called in response to stream_set_blocking())
  • STREAM_OPTION_READ_TIMEOUT (The method was called in response to stream_set_timeout())
  • STREAM_OPTION_WRITE_BUFFER (The method was called in response to stream_set_write_buffer())

arg1

If option is

  • STREAM_OPTION_BLOCKING: requested blocking mode (1 meaning block 0 not blocking).
  • STREAM_OPTION_READ_TIMEOUT: the timeout in seconds.
  • STREAM_OPTION_WRITE_BUFFER: buffer mode (STREAM_BUFFER_NONE or STREAM_BUFFER_FULL).

arg2

If option is

  • STREAM_OPTION_BLOCKING: This option is not set.
  • STREAM_OPTION_READ_TIMEOUT: the timeout in microseconds.
  • STREAM_OPTION_WRITE_BUFFER: the requested buffer size.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. If option is not implemented, false should be returned.

Veja Também

  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • stream_set_write_buffer() - Sets write file buffering on the given stream


Retrieve information about a file resource

  • « streamWrapper::stream_set_option
  • streamWrapper::stream_tell »
  • PHP Manual
  • streamWrapper
  • Retrieve information about a file resource

streamWrapper::stream_stat

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_stat — Retrieve information about a file resource

Descrição

public streamWrapper::stream_stat ( ) : array

This method is called in response to fstat().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

See stat().

Erros

Emite E_WARNING se uma chamada a essa função falha (não implementada, por exemplo).

Veja Também

  • stat() - Obtem informações sobre um arquivo
  • streamwrapper::url_stat() - Retrieve information about a file


Retrieve the current position of a stream

  • « streamWrapper::stream_stat
  • streamWrapper::stream_truncate »
  • PHP Manual
  • streamWrapper
  • Retrieve the current position of a stream

streamWrapper::stream_tell

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_tell — Retrieve the current position of a stream

Descrição

public streamWrapper::stream_tell ( ) : int

This method is called in response to fseek() to determine the current position.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Should return the current position of the stream.

Veja Também

  • streamWrapper::stream_tell()


Truncate stream

  • « streamWrapper::stream_tell
  • streamWrapper::stream_write »
  • PHP Manual
  • streamWrapper
  • Truncate stream

streamWrapper::stream_truncate

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

streamWrapper::stream_truncate — Truncate stream

Descrição

public streamWrapper::stream_truncate ( int $new_size ) : bool

Will respond to truncation, e.g., through ftruncate().

Parâmetros

new_size

The new size.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ftruncate() - Reduz um arquivo a um tamanho especificado


Write to stream

  • « streamWrapper::stream_truncate
  • streamWrapper::unlink »
  • PHP Manual
  • streamWrapper
  • Write to stream

streamWrapper::stream_write

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_write — Write to stream

Descrição

public streamWrapper::stream_write ( string $data ) : int

This method is called in response to fwrite().

Nota:

Remember to update the current position of the stream by number of bytes that were successfully written.

Parâmetros

data

Should be stored into the underlying stream.

Nota:

If there is not enough room in the underlying stream, store as much as possible.

Valor Retornado

Should return the number of bytes that were successfully stored, or 0 if none could be stored.

Erros

Emite E_WARNING se uma chamada a essa função falha (não implementada, por exemplo).

Nota:

If the return value is greater the length of data, E_WARNING will be emitted and the return value will truncated to its length.

Veja Também

  • fwrite() - Escrita binary-safe em arquivos


Delete a file

  • « streamWrapper::stream_write
  • streamWrapper::url_stat »
  • PHP Manual
  • streamWrapper
  • Delete a file

streamWrapper::unlink

(PHP 5, PHP 7, PHP 8)

streamWrapper::unlink — Delete a file

Descrição

public streamWrapper::unlink ( string $path ) : bool

This method is called in response to unlink().

Nota:

In order for the appropriate error message to be returned this method should not be defined if the wrapper does not support removing files.

Parâmetros

path

The file URL which should be deleted.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Emite E_WARNING se uma chamada a essa função falha (não implementada, por exemplo).

Notas

Nota:

A propriedade streamWrapper::$context é atualizada se um contexto válido é passado no chamador da função.

Veja Também

  • unlink() - Apaga um arquivo
  • streamWrapper::rmdir() - Removes a directory


Retrieve information about a file

  • « streamWrapper::unlink
  • Stream Funções »
  • PHP Manual
  • streamWrapper
  • Retrieve information about a file

streamWrapper::url_stat

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::url_stat — Retrieve information about a file

Descrição

public streamWrapper::url_stat ( string $path , int $flags ) : array

This method is called in response to all stat() related functions, such as:

  • copy()
  • fileperms()
  • fileinode()
  • filesize()
  • fileowner()
  • filegroup()
  • fileatime()
  • filemtime()
  • filectime()
  • filetype()
  • is_writable()
  • is_readable()
  • is_executable()
  • is_file()
  • is_dir()
  • is_link()
  • file_exists()
  • lstat()
  • stat()
  • SplFileInfo::getPerms()
  • SplFileInfo::getInode()
  • SplFileInfo::getSize()
  • SplFileInfo::getOwner()
  • SplFileInfo::getGroup()
  • SplFileInfo::getATime()
  • SplFileInfo::getMTime()
  • SplFileInfo::getCTime()
  • SplFileInfo::getType()
  • SplFileInfo::isWritable()
  • SplFileInfo::isReadable()
  • SplFileInfo::isExecutable()
  • SplFileInfo::isFile()
  • SplFileInfo::isDir()
  • SplFileInfo::isLink()
  • RecursiveDirectoryIterator::hasChildren()

Parâmetros

path

The file path or URL to stat. Note that in the case of a URL, it must be a :// delimited URL. Other URL forms are not supported.

flags

Holds additional flags set by the streams API. It can hold one or more of the following values OR'd together.

Flag | Description
STREAM_URL_STAT_LINK | For resources with the ability to link to other resource (such as an HTTP Location: forward, or a filesystem symlink). This flag specified that only information about the link itself should be returned, not the resource pointed to by the link. This flag is set in response to calls to lstat(), is_link(), or filetype().
STREAM_URL_STAT_QUIET | If this flag is set, your wrapper should not raise any errors. If this flag is not set, you are responsible for reporting errors using the trigger_error() function during stating of the path.

Valor Retornado

Should return as many elements as stat() does. Unknown or unavailable values should be set to a rational value (usually 0). Pay special attention to mode as documented under stat().

Erros

Emite E_WARNING se uma chamada a essa função falha (não implementada, por exemplo).

Notas

Nota:

A propriedade streamWrapper::$context é atualizada se um contexto válido é passado no chamador da função.

Veja Também

  • stat() - Obtem informações sobre um arquivo
  • streamwrapper::stream_stat() - Retrieve information about a file resource


Stream Funções

Índice

  • stream_bucket_append — Append bucket to brigade
  • stream_bucket_make_writeable — Return a bucket object from the brigade for operating on
  • stream_bucket_new — Create a new bucket for use on the current stream
  • stream_bucket_prepend — Prepend bucket to brigade
  • stream_context_create — Creates a stream context
  • stream_context_get_default — Retrieve the default stream context
  • stream_context_get_options — Retrieve options for a stream/wrapper/context
  • stream_context_get_params — Retrieves parameters from a context
  • stream_context_set_default — Set the default stream context
  • stream_context_set_option — Sets an option for a stream/wrapper/context
  • stream_context_set_params — Set parameters for a stream/wrapper/context
  • stream_copy_to_stream — Copies data from one stream to another
  • stream_filter_append — Attach a filter to a stream
  • stream_filter_prepend — Attach a filter to a stream
  • stream_filter_register — Register a user defined stream filter
  • stream_filter_remove — Remove a filter from a stream
  • stream_get_contents — Reads remainder of a stream into a string
  • stream_get_filters — Retrieve list of registered filters
  • stream_get_line — Gets line from stream resource up to a given delimiter
  • stream_get_meta_data — Retrieves header/meta data from streams/file pointers
  • stream_get_transports — Retrieve list of registered socket transports
  • stream_get_wrappers — Retrieve list of registered streams
  • stream_is_local — Checks if a stream is a local stream
  • stream_isatty — Check if a stream is a TTY
  • stream_notification_callback — A callback function for the notification context parameter
  • stream_register_wrapper — Sinônimo de stream_wrapper_register
  • stream_resolve_include_path — Resolve filename against the include path
  • stream_select — Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • stream_set_blocking — Set blocking/non-blocking mode on a stream
  • stream_set_chunk_size — Set the stream chunk size
  • stream_set_read_buffer — Set read file buffering on the given stream
  • stream_set_timeout — Set timeout period on a stream
  • stream_set_write_buffer — Sets write file buffering on the given stream
  • stream_socket_accept — Accept a connection on a socket created by stream_socket_server
  • stream_socket_client — Open Internet or Unix domain socket connection
  • stream_socket_enable_crypto — Turns encryption on/off on an already connected socket
  • stream_socket_get_name — Retrieve the name of the local or remote sockets
  • stream_socket_pair — Creates a pair of connected, indistinguishable socket streams
  • stream_socket_recvfrom — Receives data from a socket, connected or not
  • stream_socket_sendto — Sends a message to a socket, whether it is connected or not
  • stream_socket_server — Create an Internet or Unix domain server socket
  • stream_socket_shutdown — Shutdown a full-duplex connection
  • stream_supports_lock — Tells whether the stream supports locking
  • stream_wrapper_register — Register a URL wrapper implemented as a PHP class
  • stream_wrapper_restore — Restores a previously unregistered built-in wrapper
  • stream_wrapper_unregister — Unregister a URL wrapper


Append bucket to brigade

  • « Stream Funções
  • stream_bucket_make_writeable »
  • PHP Manual
  • Stream Funções
  • Append bucket to brigade

stream_bucket_append

(PHP 5, PHP 7, PHP 8)

stream_bucket_append — Append bucket to brigade

Descrição

stream_bucket_append ( resource $brigade , object $bucket ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Return a bucket object from the brigade for operating on

  • « stream_bucket_append
  • stream_bucket_new »
  • PHP Manual
  • Stream Funções
  • Return a bucket object from the brigade for operating on

stream_bucket_make_writeable

(PHP 5, PHP 7, PHP 8)

stream_bucket_make_writeable — Return a bucket object from the brigade for operating on

Descrição

stream_bucket_make_writeable ( resource $brigade ) : object
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Create a new bucket for use on the current stream

  • « stream_bucket_make_writeable
  • stream_bucket_prepend »
  • PHP Manual
  • Stream Funções
  • Create a new bucket for use on the current stream

stream_bucket_new

(PHP 5, PHP 7, PHP 8)

stream_bucket_new — Create a new bucket for use on the current stream

Descrição

stream_bucket_new ( resource $stream , string $buffer ) : object
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Prepend bucket to brigade

  • « stream_bucket_new
  • stream_context_create »
  • PHP Manual
  • Stream Funções
  • Prepend bucket to brigade

stream_bucket_prepend

(PHP 5, PHP 7, PHP 8)

stream_bucket_prepend — Prepend bucket to brigade

Descrição

stream_bucket_prepend ( resource $brigade , object $bucket ) : void

This function can be called to prepend a bucket to a bucket brigade. It is typically called from php_user_filter::filter().

Parâmetros

brigade

brigade is a resource pointing to a bucket brigade which contains one or more bucket objects.

bucket

A bucket object.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 stream_bucket_prepend() examples

<?php

class foo extends php_user_filter {
  protected $calls = 0;
  public function filter($in, $out, &$consumed, $closing) {
    while ($bucket = stream_bucket_make_writeable($in)) {
      $consumed += $bucket->datalen;
      if ($this->calls++ == 2) {
        // This bucket will appear again before any other bucket.
        stream_bucket_prepend($in, $bucket);
      }
    }
    return PSFS_FEED_ME;
  }
}
stream_filter_register('test', 'foo');
print  file_get_contents('php://filter/read=test/resource=foo');
?>


Creates a stream context

  • « stream_bucket_prepend
  • stream_context_get_default »
  • PHP Manual
  • Stream Funções
  • Creates a stream context

stream_context_create

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_context_create — Creates a stream context

Descrição

stream_context_create ( array $options = ? , array $params = ? ) : resource

Creates and returns a stream context with any options supplied in options preset.

Parâmetros

options

Must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value. Refer to context options for a list of available wrappers and options.

Default to an empty array.

params

Must be an associative array in the format $arr['parameter'] = $value. Refer to context parameters for a listing of standard stream parameters.

Valor Retornado

A stream context resource.

Exemplos

Exemplo #1 Using stream_context_create()

<?php
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$context = stream_context_create($opts);

/* Sends an http request to www.example.com
   with additional headers shown above */
$fp = fopen('http://www.example.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);
?>

Veja Também

  • stream_context_set_option() - Sets an option for a stream/wrapper/context
  • Listing of supported wrappers (Protocolos e Wrappers suportados)
  • Context options (Opções e parâmetros de contexto)


Retrieve the default stream context

  • « stream_context_create
  • stream_context_get_options »
  • PHP Manual
  • Stream Funções
  • Retrieve the default stream context

stream_context_get_default

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_context_get_default — Retrieve the default stream context

Descrição

stream_context_get_default ( array $options = ? ) : resource

Returns the default stream context which is used whenever file operations (fopen(), file_get_contents(), etc...) are called without a context parameter. Options for the default context can optionally be specified with this function using the same syntax as stream_context_create().

Parâmetros

options
options must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value.

Nota:

As of PHP 5.3.0, the stream_context_set_default() function can be used to set the default context.

Valor Retornado

A stream context resource.

Exemplos

Exemplo #1 Using stream_context_get_default()

<?php
$default_opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar",
    'proxy'=>"tcp://10.54.1.39:8000"
  )
);

$alternate_opts = array(
  'http'=>array(
    'method'=>"POST",
    'header'=>"Content-type: application/x-www-form-urlencoded\r\n" .
              "Content-length: " . strlen("baz=bomb"),
    'content'=>"baz=bomb"
  )
);

$default = stream_context_get_default($default_opts);
$alternate = stream_context_create($alternate_opts);

/* Sends a regular GET request to proxy server at 10.54.1.39
 * For www.example.com using context options specified in $default_opts
 */
readfile('http://www.example.com');

/* Sends a POST request directly to www.example.com
 * Using context options specified in $alternate_opts
 */
readfile('http://www.example.com', false, $alternate);

?>

Veja Também

  • stream_context_create() - Creates a stream context
  • Listing of supported wrappers with context options (Protocolos e Wrappers suportados).


Retrieve options for a stream/wrapper/context

  • « stream_context_get_default
  • stream_context_get_params »
  • PHP Manual
  • Stream Funções
  • Retrieve options for a stream/wrapper/context

stream_context_get_options

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_context_get_options — Retrieve options for a stream/wrapper/context

Descrição

stream_context_get_options ( resource $stream_or_context ) : array

Returns an array of options on the specified stream or context.

Parâmetros

stream_or_context

The stream or context to get options from

Valor Retornado

Returns an associative array with the options.

Exemplos

Exemplo #1 stream_context_get_options() example

<?php
$params = array("method" => "POST");

stream_context_set_default(array("http" => $params));

var_dump(stream_context_get_options(stream_context_get_default()));

?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  ["http"]=>
  array(1) {
    ["method"]=>
    string(4) "POST"
  }
}


Retrieves parameters from a context

  • « stream_context_get_options
  • stream_context_set_default »
  • PHP Manual
  • Stream Funções
  • Retrieves parameters from a context

stream_context_get_params

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

stream_context_get_params — Retrieves parameters from a context

Descrição

stream_context_get_params ( resource $stream_or_context ) : array

Retrieves parameter and options information from the stream or context.

Parâmetros

stream_or_context

A stream resource or a context resource

Valor Retornado

Returns an associate array containing all context options and parameters.

Exemplos

Exemplo #1 stream_context_get_params() example

Basic usage example

<?php
$ctx = stream_context_create();
$params = array("notification" => "stream_notification_callback");
stream_context_set_params($ctx, $params);

var_dump(stream_context_get_params($ctx));
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["notification"]=>
  string(28) "stream_notification_callback"
  ["options"]=>
  array(0) {
  }
}

Veja Também

  • stream_context_set_option() - Sets an option for a stream/wrapper/context
  • stream_context_set_params() - Set parameters for a stream/wrapper/context


Set the default stream context

  • « stream_context_get_params
  • stream_context_set_option »
  • PHP Manual
  • Stream Funções
  • Set the default stream context

stream_context_set_default

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

stream_context_set_default — Set the default stream context

Descrição

stream_context_set_default ( array $options ) : resource

Set the default stream context which will be used whenever file operations (fopen(), file_get_contents(), etc...) are called without a context parameter. Uses the same syntax as stream_context_create().

Parâmetros

options

The options to set for the default context.

Nota:

options must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value.

Valor Retornado

Returns the default stream context.

Exemplos

Exemplo #1 stream_context_set_default() example

<?php
$default_opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar",
    'proxy'=>"tcp://10.54.1.39:8000"
  )
);

$default = stream_context_set_default($default_opts);

/* Sends a regular GET request to proxy server at 10.54.1.39
 * For www.example.com using context options specified in $default_opts
 */
readfile('http://www.example.com');
?>

Veja Também

  • stream_context_create() - Creates a stream context
  • stream_context_get_default() - Retrieve the default stream context
  • Listing of supported wrappers with context options (Protocolos e Wrappers suportados).


Sets an option for a stream/wrapper/context

  • « stream_context_set_default
  • stream_context_set_params »
  • PHP Manual
  • Stream Funções
  • Sets an option for a stream/wrapper/context

stream_context_set_option

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_context_set_option — Sets an option for a stream/wrapper/context

Descrição

stream_context_set_option ( resource $stream_or_context , string $wrapper , string $option , mixed $value ) : bool
stream_context_set_option ( resource $stream_or_context , array $options ) : bool

Sets an option on the specified context. value is set to option for wrapper

Parâmetros

stream_or_context

The stream or context resource to apply the options to.

options

The options to set for stream_or_context.

Nota:

options must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value.

Refer to context options and parameters for a listing of stream options.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set parameters for a stream/wrapper/context

  • « stream_context_set_option
  • stream_copy_to_stream »
  • PHP Manual
  • Stream Funções
  • Set parameters for a stream/wrapper/context

stream_context_set_params

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_context_set_params — Set parameters for a stream/wrapper/context

Descrição

stream_context_set_params ( resource $context , array $params ) : bool

Sets parameters on the specified context.

Parâmetros

context

The stream or context to apply the parameters too.

params

An array of parameters to set.

Nota:

params should be an associative array of the structure: $params['paramname'] = "paramvalue";.

Supported parameters

Parameters | Purpose
notification | Name of user-defined callback function to be called whenever a stream triggers a notification. Only supported for http:// and ftp:// stream wrappers.
options | Array of options as in context options and parameters.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • stream_notification_callback() - A callback function for the notification context parameter


Copies data from one stream to another

  • « stream_context_set_params
  • stream_filter_append »
  • PHP Manual
  • Stream Funções
  • Copies data from one stream to another

stream_copy_to_stream

(PHP 5, PHP 7, PHP 8)

stream_copy_to_stream — Copies data from one stream to another

Descrição

stream_copy_to_stream ( resource $source , resource $dest , int $maxlength = -1 , int $offset = 0 ) : int|false

Makes a copy of up to maxlength bytes of data from the current position (or from the offset position, if specified) in source to dest. If maxlength is not specified, all remaining content in source will be copied.

Parâmetros

source

The source stream

dest

The destination stream

maxlength

Maximum bytes to copy

offset

The offset where to start to copy data

Valor Retornado

Returns the total count of bytes copied, ou false em caso de falha.

Exemplos

Exemplo #1 A stream_copy_to_stream() example

<?php
$src = fopen('http://www.example.com', 'r');
$dest1 = fopen('first1k.txt', 'w');
$dest2 = fopen('remainder.txt', 'w');

echo stream_copy_to_stream($src, $dest1, 1024) . " bytes copied to first1k.txt\n";
echo stream_copy_to_stream($src, $dest2) . " bytes copied to remainder.txt\n";

?>

Veja Também

  • copy() - Copia arquivo


Attach a filter to a stream

  • « stream_copy_to_stream
  • stream_filter_prepend »
  • PHP Manual
  • Stream Funções
  • Attach a filter to a stream

stream_filter_append

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_filter_append — Attach a filter to a stream

Descrição

stream_filter_append ( resource $stream , string $filtername , int $read_write = ? , mixed $params = ? ) : resource

Adds filtername to the list of filters attached to stream.

Parâmetros

stream

The target stream.

filtername

The filter name.

read_write

By default, stream_filter_append() will attach the filter to the read filter chain if the file was opened for reading (i.e. File Mode: r, and/or +). The filter will also be attached to the write filter chain if the file was opened for writing (i.e. File Mode: w, a, and/or +). STREAM_FILTER_READ, STREAM_FILTER_WRITE, and/or STREAM_FILTER_ALL can also be passed to the read_write parameter to override this behavior.

params

This filter will be added with the specified params to the end of the list and will therefore be called last during stream operations. To add a filter to the beginning of the list, use stream_filter_prepend().

Valor Retornado

Returns a resource on success or false on failure. The resource can be used to refer to this filter instance during a call to stream_filter_remove().

false is returned if stream is not a resource or if filtername cannot be located.

Exemplos

Exemplo #1 Controlling where filters are applied

<?php
/* Open a test file for reading and writing */
$fp = fopen('test.txt', 'w+');

/* Apply the ROT13 filter to the
 * write filter chain, but not the
 * read filter chain */
stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);

/* Write a simple string to the file
 * it will be ROT13 transformed on the
 * way out */
fwrite($fp, "This is a test\n");

/* Back up to the beginning of the file */
rewind($fp);

/* Read the contents of the file back out.
 * Had the filter been applied to the
 * read filter chain as well, we would see
 * the text ROT13ed back to its original state */
fpassthru($fp);

fclose($fp);

/* Expected Output
   ---------------

Guvf vf n grfg

 */
?>

Notas

Nota: When using custom (user) filters
stream_filter_register() must be called first in order to register the desired user filter to filtername.

Nota: Stream data is read from resources (both local and remote) in chunks, with any unconsumed data kept in internal buffers. When a new filter is appended to a stream, data in the internal buffers is processed through the new filter at that time. This differs from the behavior of stream_filter_prepend().

Nota: When a filter is added for read and write, two instances of the filter are created. stream_filter_append() must be called twice with STREAM_FILTER_READ and STREAM_FILTER_WRITE to get both filter resources.

Veja Também

  • stream_filter_register() - Register a user defined stream filter
  • stream_filter_prepend() - Attach a filter to a stream
  • stream_get_filters() - Retrieve list of registered filters


Attach a filter to a stream

  • « stream_filter_append
  • stream_filter_register »
  • PHP Manual
  • Stream Funções
  • Attach a filter to a stream

stream_filter_prepend

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_filter_prepend — Attach a filter to a stream

Descrição

stream_filter_prepend ( resource $stream , string $filtername , int $read_write = ? , mixed $params = ? ) : resource

Adds filtername to the list of filters attached to stream.

Parâmetros

stream

The target stream.

filtername

The filter name.

read_write

By default, stream_filter_prepend() will attach the filter to the read filter chain if the file was opened for reading (i.e. File Mode: r, and/or +). The filter will also be attached to the write filter chain if the file was opened for writing (i.e. File Mode: w, a, and/or +). STREAM_FILTER_READ, STREAM_FILTER_WRITE, and/or STREAM_FILTER_ALL can also be passed to the read_write parameter to override this behavior. See stream_filter_append() for an example of using this parameter.

params

This filter will be added with the specified params to the beginning of the list and will therefore be called first during stream operations. To add a filter to the end of the list, use stream_filter_append().

Valor Retornado

Returns a resource on success or false on failure. The resource can be used to refer to this filter instance during a call to stream_filter_remove().

false is returned if stream is not a resource or if filtername cannot be located.

Notas

Nota: When using custom (user) filters
stream_filter_register() must be called first in order to register the desired user filter to filtername.

Nota: Stream data is read from resources (both local and remote) in chunks, with any unconsumed data kept in internal buffers. When a new filter is prepended to a stream, data in the internal buffers, which has already been processed through other filters will not be reprocessed through the new filter at that time. This differs from the behavior of stream_filter_append().

Nota: When a filter is added for read and write, two instances of the filter are created. stream_filter_prepend() must be called twice with STREAM_FILTER_READ and STREAM_FILTER_WRITE to get both filter resources.

Veja Também

  • stream_filter_register() - Register a user defined stream filter
  • stream_filter_append() - Attach a filter to a stream


Register a user defined stream filter

  • « stream_filter_prepend
  • stream_filter_remove »
  • PHP Manual
  • Stream Funções
  • Register a user defined stream filter

stream_filter_register

(PHP 5, PHP 7, PHP 8)

stream_filter_register — Register a user defined stream filter

Descrição

stream_filter_register ( string $filter_name , string $class ) : bool

stream_filter_register() allows you to implement your own filter on any registered stream used with all the other filesystem functions (such as fopen(), fread() etc.).

Parâmetros

filter_name

The filter name to be registered.

class

To implement a filter, you need to define a class as an extension of php_user_filter with a number of member functions. When performing read/write operations on the stream to which your filter is attached, PHP will pass the data through your filter (and any other filters attached to that stream) so that the data may be modified as desired. You must implement the methods exactly as described in php_user_filter - doing otherwise will lead to undefined behaviour.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

stream_filter_register() will return false if the filter_name is already defined.

Exemplos

Exemplo #1 Filter for capitalizing characters on foo-bar.txt stream

The example below implements a filter named strtoupper on the foo-bar.txt stream which will capitalize all letter characters written to/read from that stream.

<?php

/* Define our filter class */
class strtoupper_filter extends php_user_filter {
  function filter($in, $out, &$consumed, $closing)
  {
    while ($bucket = stream_bucket_make_writeable($in)) {
      $bucket->data = strtoupper($bucket->data);
      $consumed += $bucket->datalen;
      stream_bucket_append($out, $bucket);
    }
    return PSFS_PASS_ON;
  }
}

/* Register our filter with PHP */
stream_filter_register("strtoupper", "strtoupper_filter")
    or die("Failed to register filter");

$fp = fopen("foo-bar.txt", "w");

/* Attach the registered filter to the stream just opened */
stream_filter_append($fp, "strtoupper");

fwrite($fp, "Line1\n");
fwrite($fp, "Word - 2\n");
fwrite($fp, "Easy As 123\n");

fclose($fp);

/* Read the contents back out
 */
readfile("foo-bar.txt");

?>

O exemplo acima irá imprimir:

LINE1
WORD - 2
EASY AS 123

Exemplo #2 Registering a generic filter class to match multiple filter names.

<?php

/* Define our filter class */
class string_filter extends php_user_filter {
  var $mode;

  function filter($in, $out, &$consumed, $closing)
  {
    while ($bucket = stream_bucket_make_writeable($in)) {
      if ($this->mode == 1) {
        $bucket->data = strtoupper($bucket->data);
      } elseif ($this->mode == 0) {
        $bucket->data = strtolower($bucket->data);
      }

      $consumed += $bucket->datalen;
      stream_bucket_append($out, $bucket);
    }
    return PSFS_PASS_ON;
  }

  function onCreate()
  {
    if ($this->filtername == 'str.toupper') {
      $this->mode = 1;
    } elseif ($this->filtername == 'str.tolower') {
      $this->mode = 0;
    } else {
      /* Some other str.* filter was asked for,
         report failure so that PHP will keep looking */
      return false;
    }

    return true;
  }
}

/* Register our filter with PHP */
stream_filter_register("str.*", "string_filter")
    or die("Failed to register filter");

$fp = fopen("foo-bar.txt", "w");

/* Attach the registered filter to the stream just opened
   We could alternately bind to str.tolower here */
stream_filter_append($fp, "str.toupper");

fwrite($fp, "Line1\n");
fwrite($fp, "Word - 2\n");
fwrite($fp, "Easy As 123\n");

fclose($fp);

/* Read the contents back out
 */
readfile("foo-bar.txt");
?>

O exemplo acima irá imprimir:

LINE1
WORD - 2
EASY AS 123

Veja Também

  • stream_wrapper_register() - Register a URL wrapper implemented as a PHP class
  • stream_filter_append() - Attach a filter to a stream
  • stream_filter_prepend() - Attach a filter to a stream


Remove a filter from a stream

  • « stream_filter_register
  • stream_get_contents »
  • PHP Manual
  • Stream Funções
  • Remove a filter from a stream

stream_filter_remove

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_filter_remove — Remove a filter from a stream

Descrição

stream_filter_remove ( resource $stream_filter ) : bool

Removes a stream filter previously added to a stream with stream_filter_prepend() or stream_filter_append(). Any data remaining in the filter's internal buffer will be flushed through to the next filter before removing it.

Parâmetros

stream_filter

The stream filter to be removed.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Dynamically refiltering a stream

<?php
/* Open a test file for reading and writing */
$fp = fopen("test.txt", "rw");

$rot13_filter = stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
fwrite($fp, "This is ");
stream_filter_remove($rot13_filter);
fwrite($fp, "a test\n");

rewind($fp);
fpassthru($fp);
fclose($fp);

?>

O exemplo acima irá imprimir:

Guvf vf a test

Veja Também

  • stream_filter_register() - Register a user defined stream filter
  • stream_filter_append() - Attach a filter to a stream
  • stream_filter_prepend() - Attach a filter to a stream


Reads remainder of a stream into a string

  • « stream_filter_remove
  • stream_get_filters »
  • PHP Manual
  • Stream Funções
  • Reads remainder of a stream into a string

stream_get_contents

(PHP 5, PHP 7, PHP 8)

stream_get_contents — Reads remainder of a stream into a string

Descrição

stream_get_contents ( resource $handle , int $maxlength = -1 , int $offset = -1 ) : string|false

Identical to file_get_contents(), except that stream_get_contents() operates on an already open stream resource and returns the remaining contents in a string, up to maxlength bytes and starting at the specified offset.

Parâmetros

handle (resource)

A stream resource (e.g. returned from fopen())

maxlength (int)

The maximum bytes to read. Defaults to -1 (read all the remaining buffer).

offset (int)

Seek to the specified offset before reading. If this number is negative, no seeking will occur and reading will start from the current position.

Valor Retornado

Returns a string ou false em caso de falha.

Exemplos

Exemplo #1 stream_get_contents() example

<?php

if ($stream = fopen('http://www.example.com', 'r')) {
    // print all the page starting at the offset 10
    echo stream_get_contents($stream, -1, 10);

    fclose($stream);
}

if ($stream = fopen('http://www.example.net', 'r')) {
    // print the first 5 bytes
    echo stream_get_contents($stream, 5);

    fclose($stream);
}

?>

Notas

Nota: Esta função é binary-safe.

Veja Também

  • fgets() - Lê uma linha de um ponteiro de arquivo
  • fread() - Leitura binary-safe de arquivo
  • fpassthru() - Imprime todo os dados restantes de um ponteiro de arquivo


Retrieve list of registered filters

  • « stream_get_contents
  • stream_get_line »
  • PHP Manual
  • Stream Funções
  • Retrieve list of registered filters

stream_get_filters

(PHP 5, PHP 7, PHP 8)

stream_get_filters — Retrieve list of registered filters

Descrição

stream_get_filters ( ) : array

Retrieve the list of registered filters on the running system.

Valor Retornado

Returns an indexed array containing the name of all stream filters available.

Exemplos

Exemplo #1 Using stream_get_filters()

<?php
$streamlist = stream_get_filters();
print_r($streamlist);
?>

O exemplo acima irá imprimir algo similar à:

Array (
  [0] => string.rot13
  [1] => string.toupper
  [2] => string.tolower
  [3] => string.base64
  [4] => string.quoted-printable
)

Veja Também

  • stream_filter_register() - Register a user defined stream filter
  • stream_get_wrappers() - Retrieve list of registered streams


Gets line from stream resource up to a given delimiter

  • « stream_get_filters
  • stream_get_meta_data »
  • PHP Manual
  • Stream Funções
  • Gets line from stream resource up to a given delimiter

stream_get_line

(PHP 5, PHP 7, PHP 8)

stream_get_line — Gets line from stream resource up to a given delimiter

Descrição

stream_get_line ( resource $handle , int $length , string $ending = ? ) : string

Gets a line from the given handle.

Reading ends when length bytes have been read, when the string specified by ending is found (which is not included in the return value), or on EOF (whichever comes first).

This function is nearly identical to fgets() except in that it allows end of line delimiters other than the standard \n, \r, and \r\n, and does not return the delimiter itself.

Parâmetros

handle

A valid file handle.

length

The number of bytes to read from the handle.

ending

An optional string delimiter.

Valor Retornado

Returns a string of up to length bytes read from the file pointed to by handle.

If an error occurs, returns false.

Veja Também

  • fread() - Leitura binary-safe de arquivo
  • fgets() - Lê uma linha de um ponteiro de arquivo
  • fgetc() - Lê um caracter do ponteiro de arquivo


Retrieves header/meta data from streams/file pointers

  • « stream_get_line
  • stream_get_transports »
  • PHP Manual
  • Stream Funções
  • Retrieves header/meta data from streams/file pointers

stream_get_meta_data

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_get_meta_data — Retrieves header/meta data from streams/file pointers

Descrição

stream_get_meta_data ( resource $stream ) : array

Returns information about an existing stream.

Parâmetros

stream

The stream can be any stream created by fopen(), fsockopen() and pfsockopen().

Valor Retornado

The result array contains the following items:

  • timed_out (bool) - true if the stream timed out while waiting for data on the last call to fread() or fgets().

  • blocked (bool) - true if the stream is in blocking IO mode. See stream_set_blocking().

  • eof (bool) - true if the stream has reached end-of-file. Note that for socket streams this member can be true even when unread_bytes is non-zero. To determine if there is more data to be read, use feof() instead of reading this item.

  • unread_bytes (int) - the number of bytes currently contained in the PHP's own internal buffer.

    Nota: You shouldn't use this value in a script.

  • stream_type (string) - a label describing the underlying implementation of the stream.

  • wrapper_type (string) - a label describing the protocol wrapper implementation layered over the stream. See Protocolos e Wrappers suportados for more information about wrappers.

  • wrapper_data (mixed) - wrapper specific data attached to this stream. See Protocolos e Wrappers suportados for more information about wrappers and their wrapper data.

  • mode (string) - the type of access required for this stream (see Table 1 of the fopen() reference)

  • seekable (bool) - whether the current stream can be seeked.

  • uri (string) - the URI/filename associated with this stream.

Exemplos

Exemplo #1 stream_get_meta_data() example

<?php
$url = 'http://www.example.com/';

if (!$fp = fopen($url, 'r')) {
    trigger_error("Unable to open URL ($url)", E_USER_ERROR);
}

$meta = stream_get_meta_data($fp);

print_r($meta);

fclose($fp);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [wrapper_data] => Array
        (
            [0] => HTTP/1.1 200 OK
            [1] => Server: Apache/2.2.3 (Red Hat)
            [2] => Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
            [3] => ETag: "b300b4-1b6-4059a80bfd280"
            [4] => Accept-Ranges: bytes
            [5] => Content-Type: text/html; CHARSET=Windows-1252
            [6] => Set-Cookie: FOO=BAR; expires=Fri, 21-Dec-2012 12:00:00 GMT; path=/; domain=.example.com
            [6] => Connection: close
            [7] => Date: Fri, 16 Oct 2009 12:00:00 GMT
            [8] => Age: 1164
            [9] => Content-Length: 438
        )

    [wrapper_type] => http
    [stream_type] => tcp_socket/ssl
    [mode] => r
    [unread_bytes] => 438
    [seekable] =>
    [uri] => http://www.example.com/
    [timed_out] =>
    [blocked] => 1
    [eof] =>
)

Notas

Nota:

This function does NOT work on sockets created by the Socket extension.

Veja Também

  • get_headers() - Retorna todos os cabeçalhos enviados pelo servidor em resposta à requisição HTTP
  • $http_response_header


Retrieve list of registered socket transports

  • « stream_get_meta_data
  • stream_get_wrappers »
  • PHP Manual
  • Stream Funções
  • Retrieve list of registered socket transports

stream_get_transports

(PHP 5, PHP 7, PHP 8)

stream_get_transports — Retrieve list of registered socket transports

Descrição

stream_get_transports ( ) : array

Returns an indexed array containing the name of all socket transports available on the running system.

Valor Retornado

Returns an indexed array of socket transports names.

Exemplos

Exemplo #1 Using stream_get_transports()

<?php
$xportlist = stream_get_transports();
print_r($xportlist);
?>

O exemplo acima irá imprimir algo similar à:

Array (
  [0] => tcp
  [1] => udp
  [2] => unix
  [3] => udg
)

Veja Também

  • stream_get_filters() - Retrieve list of registered filters
  • stream_get_wrappers() - Retrieve list of registered streams


Retrieve list of registered streams

  • « stream_get_transports
  • stream_is_local »
  • PHP Manual
  • Stream Funções
  • Retrieve list of registered streams

stream_get_wrappers

(PHP 5, PHP 7, PHP 8)

stream_get_wrappers — Retrieve list of registered streams

Descrição

stream_get_wrappers ( ) : array

Retrieve list of registered streams available on the running system.

Valor Retornado

Returns an indexed array containing the name of all stream wrappers available on the running system.

Exemplos

Exemplo #1 stream_get_wrappers() example

<?php
print_r(stream_get_wrappers());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => php
    [1] => file
    [2] => http
    [3] => ftp
    [4] => compress.bzip2
    [5] => compress.zlib
)

Exemplo #2 Checking for the existence of a stream wrapper

<?php
// check for the existence of the bzip2 stream wrapper
if (in_array('compress.bzip2', stream_get_wrappers())) {
    echo 'compress.bzip2:// support enabled.';
} else {
    echo 'compress.bzip2:// support not enabled.';
}
?>

Veja Também

  • stream_wrapper_register() - Register a URL wrapper implemented as a PHP class


Checks if a stream is a local stream

  • « stream_get_wrappers
  • stream_isatty »
  • PHP Manual
  • Stream Funções
  • Checks if a stream is a local stream

stream_is_local

(PHP 5 >= 5.2.4, PHP 7, PHP 8)

stream_is_local — Checks if a stream is a local stream

Descrição

stream_is_local ( resource|string $stream ) : bool

Checks if a stream, or a URL, is a local one or not.

Parâmetros

stream

The stream resource or URL to check.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 stream_is_local() example

Basic usage example.

<?php
var_dump(stream_is_local("http://example.com"));
var_dump(stream_is_local("/etc"));
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)


Check if a stream is a TTY

  • « stream_is_local
  • stream_notification_callback »
  • PHP Manual
  • Stream Funções
  • Check if a stream is a TTY

stream_isatty

(PHP 7 >= 7.2.0, PHP 8)

stream_isatty — Check if a stream is a TTY

Descrição

stream_isatty ( resource $stream ) : bool

Determines if stream stream refers to a valid terminal type device. This is a more portable version of posix_isatty(), since it works on Windows systems too.

Parâmetros

stream

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 stream_isatty() example

This command can be used to determine if a standard output / standard error stream is redirected to a file.

php -r "var_export(stream_isatty(STDERR));"

O exemplo acima irá imprimir algo similar à:

true
php -r "var_export(stream_isatty(STDERR));" 2>output.txt

O exemplo acima irá imprimir algo similar à:

false


A callback function for the notification context parameter

  • « stream_isatty
  • stream_register_wrapper »
  • PHP Manual
  • Stream Funções
  • A callback function for the notification context parameter

stream_notification_callback

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

stream_notification_callback — A callback function for the notification context parameter

Descrição

stream_notification_callback ( int $notification_code , int $severity , string $message , int $message_code , int $bytes_transferred , int $bytes_max ) : void

A callable function, used by the notification context parameter, called during an event.

Nota:

This is not a real function, only a prototype of how the function should be.

Parâmetros

notification_code

One of the STREAM_NOTIFY_* notification constants.

severity

One of the STREAM_NOTIFY_SEVERITY_* notification constants.

message

Passed if a descriptive message is available for the event.

message_code

Passed if a descriptive message code is available for the event.

The meaning of this value is dependent on the specific wrapper in use.

bytes_transferred

If applicable, the bytes_transferred will be populated.

bytes_max

If applicable, the bytes_max will be populated.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 stream_notification_callback() example

<?php
function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {

    switch($notification_code) {
        case STREAM_NOTIFY_RESOLVE:
        case STREAM_NOTIFY_AUTH_REQUIRED:
        case STREAM_NOTIFY_COMPLETED:
        case STREAM_NOTIFY_FAILURE:
        case STREAM_NOTIFY_AUTH_RESULT:
            var_dump($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max);
            /* Ignore */
            break;

        case STREAM_NOTIFY_REDIRECTED:
            echo "Being redirected to: ", $message;
            break;

        case STREAM_NOTIFY_CONNECT:
            echo "Connected...";
            break;

        case STREAM_NOTIFY_FILE_SIZE_IS:
            echo "Got the filesize: ", $bytes_max;
            break;

        case STREAM_NOTIFY_MIME_TYPE_IS:
            echo "Found the mime-type: ", $message;
            break;

        case STREAM_NOTIFY_PROGRESS:
            echo "Made some progress, downloaded ", $bytes_transferred, " so far";
            break;
    }
    echo "\n";
}

$ctx = stream_context_create();
stream_context_set_params($ctx, array("notification" => "stream_notification_callback"));

file_get_contents("http://php.net/contact", false, $ctx);
?>

O exemplo acima irá imprimir algo similar à:

Connected...
Found the mime-type: text/html; CHARSET=Windows-1252
Being redirected to: http://no.php.net/contact
Connected...
Got the filesize: 0
Found the mime-type: text/html; CHARSET=Windows-1252
Being redirected to: http://no.php.net/contact.php
Connected...
Got the filesize: 4589
Found the mime-type: text/html;CHARSET=Windows-1252
Made some progress, downloaded 0 so far
Made some progress, downloaded 0 so far
Made some progress, downloaded 0 so far
Made some progress, downloaded 1440 so far
Made some progress, downloaded 2880 so far
Made some progress, downloaded 4320 so far
Made some progress, downloaded 5760 so far
Made some progress, downloaded 6381 so far
Made some progress, downloaded 7002 so far

Exemplo #2 Simple progressbar for commandline download client

<?php
function usage($argv) {
    echo "Usage:\n";
    printf("\tphp %s <http://example.com/file> <localfile>\n", $argv[0]);
    exit(1);
}

function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {
    static $filesize = null;

    switch($notification_code) {
    case STREAM_NOTIFY_RESOLVE:
    case STREAM_NOTIFY_AUTH_REQUIRED:
    case STREAM_NOTIFY_COMPLETED:
    case STREAM_NOTIFY_FAILURE:
    case STREAM_NOTIFY_AUTH_RESULT:
        /* Ignore */
        break;

    case STREAM_NOTIFY_REDIRECTED:
        echo "Being redirected to: ", $message, "\n";
        break;

    case STREAM_NOTIFY_CONNECT:
        echo "Connected...\n";
        break;

    case STREAM_NOTIFY_FILE_SIZE_IS:
        $filesize = $bytes_max;
        echo "Filesize: ", $filesize, "\n";
        break;

    case STREAM_NOTIFY_MIME_TYPE_IS:
        echo "Mime-type: ", $message, "\n";
        break;

    case STREAM_NOTIFY_PROGRESS:
        if ($bytes_transferred > 0) {
            if (!isset($filesize)) {
                printf("\rUnknown filesize.. %2d kb done..", $bytes_transferred/1024);
            } else {
                $length = (int)(($bytes_transferred/$filesize)*100);
                printf("\r[%-100s] %d%% (%2d/%2d kb)", str_repeat("=", $length). ">", $length, ($bytes_transferred/1024), $filesize/1024);
            }
        }
        break;
    }
}

isset($argv[1], $argv[2]) or usage($argv);

$ctx = stream_context_create();
stream_context_set_params($ctx, array("notification" => "stream_notification_callback"));

$fp = fopen($argv[1], "r", false, $ctx);
if (is_resource($fp) && file_put_contents($argv[2], $fp)) {
    echo "\nDone!\n";
    exit(0);
}

$err = error_get_last();
echo "\nErrrrrorr..\n", $err["message"], "\n";
exit(1);
?>

Executing the example above with: php -n fetch.php http://no2.php.net/get/php-5-LATEST.tar.bz2/from/this/mirror php-latest.tar.bz2 will output something similar too:

Connected...
Mime-type: text/html; CHARSET=Windows-1252
Being redirected to: http://no2.php.net/distributions/php-5.2.5.tar.bz2
Connected...
Filesize: 7773024
Mime-type: application/octet-stream
[========================================>                                                           ] 40% (3076/7590 kb)

Veja Também

  • Parâmetros de contexto


Sinônimo de stream_wrapper_register

  • « stream_notification_callback
  • stream_resolve_include_path »
  • PHP Manual
  • Stream Funções
  • Sinônimo de stream_wrapper_register

stream_register_wrapper

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_register_wrapper — Sinônimo de stream_wrapper_register()

Descrição

Esta função é um apelido para: stream_wrapper_register().


Resolve filename against the include path

  • « stream_register_wrapper
  • stream_select »
  • PHP Manual
  • Stream Funções
  • Resolve filename against the include path

stream_resolve_include_path

(PHP 5 >= 5.3.2, PHP 7, PHP 8)

stream_resolve_include_path — Resolve filename against the include path

Descrição

stream_resolve_include_path ( string $filename ) : string|false

Resolve filename against the include path according to the same rules as fopen()/include.

Parâmetros

filename

The filename to resolve.

Valor Retornado

Returns a string containing the resolved absolute filename, ou false em caso de falha.

Exemplos

Exemplo #1 stream_resolve_include_path() example

Basic usage example.

<?php
var_dump(stream_resolve_include_path("test.php"));
?>

O exemplo acima irá imprimir algo similar à:

string(22) "/var/www/html/test.php"


Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec

  • « stream_resolve_include_path
  • stream_set_blocking »
  • PHP Manual
  • Stream Funções
  • Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec

stream_select

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_select — Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec

Descrição

stream_select ( array &$read , array &$write , array &$except , int $tv_sec , int $tv_usec = 0 ) : int

The stream_select() function accepts arrays of streams and waits for them to change status. Its operation is equivalent to that of the socket_select() function except in that it acts on streams.

Parâmetros

read

The streams listed in the read array will be watched to see if characters become available for reading (more precisely, to see if a read will not block - in particular, a stream resource is also ready on end-of-file, in which case an fread() will return a zero length string).

write

The streams listed in the write array will be watched to see if a write will not block.

except

The streams listed in the except array will be watched for high priority exceptional ("out-of-band") data arriving.

Nota:

When stream_select() returns, the arrays read, write and except are modified to indicate which stream resource(s) actually changed status. The original keys of the arrays are preserved.

tv_sec

The tv_sec and tv_usec together form the timeout parameter, tv_sec specifies the number of seconds while tv_usec the number of microseconds. The timeout is an upper bound on the amount of time that stream_select() will wait before it returns. If tv_sec and tv_usec are both set to 0, stream_select() will not wait for data - instead it will return immediately, indicating the current status of the streams.

If tv_sec is null stream_select() can block indefinitely, returning only when an event on one of the watched streams occurs (or if a signal interrupts the system call).

Aviso

Using a timeout value of 0 allows you to instantaneously poll the status of the streams, however, it is NOT a good idea to use a 0 timeout value in a loop as it will cause your script to consume too much CPU time.

It is much better to specify a timeout value of a few seconds, although if you need to be checking and running other code concurrently, using a timeout value of at least 200000 microseconds will help reduce the CPU usage of your script.

Remember that the timeout value is the maximum time that will elapse; stream_select() will return as soon as the requested streams are ready for use.

tv_usec

See tv_sec description.

Valor Retornado

On success stream_select() returns the number of stream resources contained in the modified arrays, which may be zero if the timeout expires before anything interesting happens. On error false is returned and a warning raised (this can happen if the system call is interrupted by an incoming signal).

Exemplos

Exemplo #1 stream_select() Example

This example checks to see if data has arrived for reading on either $stream1 or $stream2. Since the timeout value is 0 it will return immediately:

<?php
/* Prepare the read array */
$read   = array($stream1, $stream2);
$write  = NULL;
$except = NULL;
if (false === ($num_changed_streams = stream_select($read, $write, $except, 0))) {
    /* Error handling */
} elseif ($num_changed_streams > 0) {
    /* At least on one of the streams something interesting happened */
}
?>

Notas

Nota:

Due to a limitation in the current Zend Engine it is not possible to pass a constant modifier like null directly as a parameter to a function which expects this parameter to be passed by reference. Instead use a temporary variable or an expression with the leftmost member being a temporary variable:

<?php
$e = NULL;
stream_select($r, $w, $e, 0);
?>

Nota:

Be sure to use the === operator when checking for an error. Since the stream_select() may return 0 the comparison with == would evaluate to true:

<?php
$e = NULL;
if (false === stream_select($r, $w, $e, 0)) {
    echo "stream_select() failed\n";
}
?>

Nota:

If you read/write to a stream returned in the arrays be aware that they do not necessarily read/write the full amount of data you have requested. Be prepared to even only be able to read/write a single byte.

Nota:

Some streams (like zlib) cannot be selected by this function.

Nota: Windows compatibility

Use of stream_select() on file descriptors returned by proc_open() will fail and return false under Windows.

STDIN from a console changes status as soon as any input events are available, but reading from the stream may still block.

Veja Também

  • stream_set_blocking() - Set blocking/non-blocking mode on a stream


Set blocking/non-blocking mode on a stream

  • « stream_select
  • stream_set_chunk_size »
  • PHP Manual
  • Stream Funções
  • Set blocking/non-blocking mode on a stream

stream_set_blocking

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_set_blocking — Set blocking/non-blocking mode on a stream

Descrição

stream_set_blocking ( resource $stream , bool $enable ) : bool

Sets blocking or non-blocking mode on a stream.

This function works for any stream that supports non-blocking mode (currently, regular files and socket streams).

Parâmetros

stream

The stream.

enable

If enable is false, the given stream will be switched to non-blocking mode, and if true, it will be switched to blocking mode. This affects calls like fgets() and fread() that read from the stream. In non-blocking mode an fgets() call will always return right away while in blocking mode it will wait for data to become available on the stream.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

This function was previously called as set_socket_blocking() and later socket_set_blocking() but this usage is deprecated.

Nota:

On Windows, this has no affect on local files. Non-blocking IO for local files is not supported on Windows.

Veja Também

  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec


Set the stream chunk size

  • « stream_set_blocking
  • stream_set_read_buffer »
  • PHP Manual
  • Stream Funções
  • Set the stream chunk size

stream_set_chunk_size

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

stream_set_chunk_size — Set the stream chunk size

Descrição

stream_set_chunk_size ( resource $stream , int $size ) : int

Set the stream chunk size.

Parâmetros

stream

The target stream.

size

The desired new chunk size.

Valor Retornado

Returns the previous chunk size on success.

Will return false if size is less than 1 or greater than PHP_INT_MAX.

Erros

Will emit an E_WARNING level error if size is less than 1 or greater than PHP_INT_MAX.


Set read file buffering on the given stream

  • « stream_set_chunk_size
  • stream_set_timeout »
  • PHP Manual
  • Stream Funções
  • Set read file buffering on the given stream

stream_set_read_buffer

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

stream_set_read_buffer — Set read file buffering on the given stream

Descrição

stream_set_read_buffer ( resource $stream , int $size ) : int

Sets the read buffer. It's the equivalent of stream_set_write_buffer(), but for read operations.

Parâmetros

stream

The file pointer.

size

The number of bytes to buffer. If size is 0 then read operations are unbuffered. This ensures that all reads with fread() are completed before other processes are allowed to read from that input stream.

Valor Retornado

Returns 0 on success, or another value if the request cannot be honored.

Veja Também

  • stream_set_write_buffer() - Sets write file buffering on the given stream


Set timeout period on a stream

  • « stream_set_read_buffer
  • stream_set_write_buffer »
  • PHP Manual
  • Stream Funções
  • Set timeout period on a stream

stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_set_timeout — Set timeout period on a stream

Descrição

stream_set_timeout ( resource $stream , int $seconds , int $microseconds = 0 ) : bool

Sets the timeout value on stream, expressed in the sum of seconds and microseconds.

When the stream times out, the 'timed_out' key of the array returned by stream_get_meta_data() is set to true, although no error/warning is generated.

Parâmetros

stream

The target stream.

seconds

The seconds part of the timeout to be set.

microseconds

The microseconds part of the timeout to be set.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 stream_set_timeout() example

<?php
$fp = fsockopen("www.example.com", 80);
if (!$fp) {
    echo "Unable to open\n";
} else {

    fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
    stream_set_timeout($fp, 2);
    $res = fread($fp, 2000);

    $info = stream_get_meta_data($fp);
    fclose($fp);

    if ($info['timed_out']) {
        echo 'Connection timed out!';
    } else {
        echo $res;
    }

}
?>

Notas

Nota:

This function doesn't work with advanced operations like stream_socket_recvfrom(), use stream_select() with timeout parameter instead.

This function was previously called as set_socket_timeout() and later socket_set_timeout() but this usage is deprecated.

Veja Também

  • fsockopen() - Abre um socket de conexão Internet ou de domínio Unix
  • fopen() - Abre um arquivo ou URL


Sets write file buffering on the given stream

  • « stream_set_timeout
  • stream_socket_accept »
  • PHP Manual
  • Stream Funções
  • Sets write file buffering on the given stream

stream_set_write_buffer

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_set_write_buffer — Sets write file buffering on the given stream

Descrição

stream_set_write_buffer ( resource $stream , int $buffer ) : int

Sets the buffering for write operations on the given stream to buffer bytes.

Parâmetros

stream

The file pointer.

buffer

The number of bytes to buffer. If buffer is 0 then write operations are unbuffered. This ensures that all writes with fwrite() are completed before other processes are allowed to write to that output stream.

Valor Retornado

Returns 0 on success, or another value if the request cannot be honored.

Exemplos

Exemplo #1 stream_set_write_buffer() example

The following example demonstrates how to use stream_set_write_buffer() to create an unbuffered stream.

<?php
$fp = fopen($file, "w");
if ($fp) {
  if (stream_set_write_buffer($fp, 0) !== 0) {
      // changing the buffering failed
  }
  fwrite($fp, $output);
  fclose($fp);
}
?>

Veja Também

  • fopen() - Abre um arquivo ou URL
  • fwrite() - Escrita binary-safe em arquivos


Accept a connection on a socket created by stream_socket_server

  • « stream_set_write_buffer
  • stream_socket_client »
  • PHP Manual
  • Stream Funções
  • Accept a connection on a socket created by stream_socket_server

stream_socket_accept

(PHP 5, PHP 7, PHP 8)

stream_socket_accept — Accept a connection on a socket created by stream_socket_server()

Descrição

stream_socket_accept ( resource $server_socket , float $timeout = ini_get("default_socket_timeout") , string &$peername = ? ) : resource|false

Accept a connection on a socket previously created by stream_socket_server().

Parâmetros

server_socket

The server socket to accept a connection from.

timeout

Override the default socket accept timeout. Time should be given in seconds.

peername

Will be set to the name (address) of the client which connected, if included and available from the selected transport.

Nota:

Can also be determined later using stream_socket_get_name().

Valor Retornado

Returns a stream to the accepted socket connection ou false em caso de falha.

Notas

Aviso

This function should not be used with UDP server sockets. Instead, use stream_socket_recvfrom() and stream_socket_sendto().

Veja Também

  • stream_socket_server() - Create an Internet or Unix domain server socket
  • stream_socket_get_name() - Retrieve the name of the local or remote sockets
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • fgets() - Lê uma linha de um ponteiro de arquivo
  • fgetss() - Ler uma linha de um ponteiro de arquivo e retira as tags HTML
  • fwrite() - Escrita binary-safe em arquivos
  • fclose() - Fecha um ponteiro de arquivo aberto
  • feof() - Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo
  • Funções cURL


Open Internet or Unix domain socket connection

  • « stream_socket_accept
  • stream_socket_enable_crypto »
  • PHP Manual
  • Stream Funções
  • Open Internet or Unix domain socket connection

stream_socket_client

(PHP 5, PHP 7, PHP 8)

stream_socket_client — Open Internet or Unix domain socket connection

Descrição

stream_socket_client ( string $remote_socket , int &$errno = ? , string &$errstr = ? , float $timeout = ini_get("default_socket_timeout") , int $flags = STREAM_CLIENT_CONNECT , resource $context = ? ) : resource

Initiates a stream or datagram connection to the destination specified by remote_socket. The type of socket created is determined by the transport specified using standard URL formatting: transport://target. For Internet Domain sockets (AF_INET) such as TCP and UDP, the target portion of the remote_socket parameter should consist of a hostname or IP address followed by a colon and a port number. For Unix domain sockets, the target portion should point to the socket file on the filesystem.

Nota:

The stream will by default be opened in blocking mode. You can switch it to non-blocking mode by using stream_set_blocking().

Parâmetros

remote_socket

Address to the socket to connect to.

errno

Will be set to the system level error number if connection fails.

errstr

Will be set to the system level error message if the connection fails.

timeout

Number of seconds until the connect() system call should timeout.

Nota: This parameter only applies when not making asynchronous connection attempts.

Nota:

To set a timeout for reading/writing data over the socket, use the stream_set_timeout(), as the timeout only applies while making connecting the socket.

flags

Bitmask field which may be set to any combination of connection flags. Currently the select of connection flags is limited to STREAM_CLIENT_CONNECT (default), STREAM_CLIENT_ASYNC_CONNECT and STREAM_CLIENT_PERSISTENT.

context

A valid context resource created with stream_context_create().

Valor Retornado

On success a stream resource is returned which may
be used together with the other file functions (such as
fgets(), fgetss(),
fwrite(), fclose(), and
feof()), false on failure.

Erros

On failure the errno and errstr arguments will be populated with the actual system level error that occurred in the system-level connect() call. If the value returned in errno is 0 and the function returned false, it is an indication that the error occurred before the connect() call. This is most likely due to a problem initializing the socket. Note that the errno and errstr arguments will always be passed by reference.

Exemplos

Exemplo #1 stream_socket_client() example

<?php
$fp = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
    while (!feof($fp)) {
        echo fgets($fp, 1024);
    }
    fclose($fp);
}
?>

Exemplo #2 Using UDP connection

Retrieving the day and time from the UDP service "daytime" (port 13) on localhost.

<?php
$fp = stream_socket_client("udp://127.0.0.1:13", $errno, $errstr);
if (!$fp) {
    echo "ERROR: $errno - $errstr<br />\n";
} else {
    fwrite($fp, "\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

Notas

Aviso

UDP sockets will sometimes appear to have opened without an error, even if the remote host is unreachable. The error will only become apparent when you read or write data to/from the socket. The reason for this is because UDP is a "connectionless" protocol, which means that the operating system does not try to establish a link for the socket until it actually needs to send or receive data.

Nota: Quando informando endereços IPv6 numéricos (por exemplo, fe80::1), você precisa englobar o IP entre colchetes. Exemplo: tcp://[fe80::1]:80.

Nota:

Depending on the environment, the Unix domain or the optional connect timeout may not be available. A list of available transports can be retrieved using stream_get_transports(). See Lista de Transportes via Socket Suportados for a list of built in transports.

Veja Também

  • stream_socket_server() - Create an Internet or Unix domain server socket
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • fgets() - Lê uma linha de um ponteiro de arquivo
  • fgetss() - Ler uma linha de um ponteiro de arquivo e retira as tags HTML
  • fwrite() - Escrita binary-safe em arquivos
  • fclose() - Fecha um ponteiro de arquivo aberto
  • feof() - Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo
  • Funções cURL


Turns encryption on/off on an already connected socket

  • « stream_socket_client
  • stream_socket_get_name »
  • PHP Manual
  • Stream Funções
  • Turns encryption on/off on an already connected socket

stream_socket_enable_crypto

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_socket_enable_crypto — Turns encryption on/off on an already connected socket

Descrição

stream_socket_enable_crypto ( resource $stream , bool $enable , int $crypto_type = ? , resource $session_stream = ? ) : mixed

Enable or disable encryption on the stream.

Once the crypto settings are established, cryptography can be turned on and off dynamically by passing true or false in the enable parameter.

Parâmetros

stream

The stream resource.

enable

Enable/disable cryptography on the stream.

crypto_type

Setup encryption on the stream. Valid methods are

  • STREAM_CRYPTO_METHOD_SSLv2_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv3_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv23_CLIENT
  • STREAM_CRYPTO_METHOD_ANY_CLIENT
  • STREAM_CRYPTO_METHOD_TLS_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv2_SERVER
  • STREAM_CRYPTO_METHOD_SSLv3_SERVER
  • STREAM_CRYPTO_METHOD_SSLv23_SERVER
  • STREAM_CRYPTO_METHOD_ANY_SERVER
  • STREAM_CRYPTO_METHOD_TLS_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_0_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_1_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_2_SERVER

If omitted, the crypto_method context option on the stream's SSL context will be used instead.

session_stream

Seed the stream with settings from session_stream.

Valor Retornado

Returns true on success, false if negotiation has failed or 0 if there isn't enough data and you should try again (only for non-blocking sockets).

Changelog

Versão | Descrição
5.6.0 | Introduce STREAM_CRYPTO_METHOD_ANY_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, STREAM_CRYPTO_METHOD_ANY_SERVER, STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, STREAM_CRYPTO_METHOD_TLSv1_2_SERVER.
5.6.0 | The crypto_type is now optional.

Exemplos

Exemplo #1 stream_socket_enable_crypto() example

<?php
$fp = stream_socket_client("tcp://myproto.example.com:31337", $errno, $errstr, 30);
if (!$fp) {
    die("Unable to connect: $errstr ($errno)");
}

/* Turn on encryption for login phase */
stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp, "USER god\r\n");
fwrite($fp, "PASS secret\r\n");

/* Turn off encryption for the rest */
stream_socket_enable_crypto($fp, false);

while ($motd = fgets($fp)) {
    echo $motd;
}

fclose($fp);
?>

O exemplo acima irá imprimir algo similar à:

Veja Também

  • OpenSSL Funções
    •

  • Lista de Transportes via Socket Suportados
    •


Retrieve the name of the local or remote sockets

  • « stream_socket_enable_crypto
  • stream_socket_pair »
  • PHP Manual
  • Stream Funções
  • Retrieve the name of the local or remote sockets

stream_socket_get_name

(PHP 5, PHP 7, PHP 8)

stream_socket_get_name — Retrieve the name of the local or remote sockets

Descrição

stream_socket_get_name ( resource $handle , bool $want_peer ) : string

Returns the local or remote name of a given socket connection.

Parâmetros

handle

The socket to get the name of.

want_peer

If set to true the remote socket name will be returned, if set to false the local socket name will be returned.

Valor Retornado

The name of the socket.

Veja Também

  • stream_socket_accept() - Accept a connection on a socket created by stream_socket_server


Creates a pair of connected, indistinguishable socket streams

  • « stream_socket_get_name
  • stream_socket_recvfrom »
  • PHP Manual
  • Stream Funções
  • Creates a pair of connected, indistinguishable socket streams

stream_socket_pair

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_socket_pair — Creates a pair of connected, indistinguishable socket streams

Descrição

stream_socket_pair ( int $domain , int $type , int $protocol ) : array|false

stream_socket_pair() creates a pair of connected, indistinguishable socket streams. This function is commonly used in IPC (Inter-Process Communication).

Parâmetros

domain

The protocol family to be used: STREAM_PF_INET, STREAM_PF_INET6 or STREAM_PF_UNIX

type

The type of communication to be used: STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM, STREAM_SOCK_SEQPACKET or STREAM_SOCK_STREAM

protocol

The protocol to be used: STREAM_IPPROTO_ICMP, STREAM_IPPROTO_IP, STREAM_IPPROTO_RAW, STREAM_IPPROTO_TCP or STREAM_IPPROTO_UDP

Nota: Please consult the Streams constant list for further details on each constant.

Valor Retornado

Returns an array with the two socket resources on success, or false on failure.

Exemplos

Exemplo #1 A stream_socket_pair() example

This example shows the basic usage of stream_socket_pair() in Inter-Process Communication.

<?php

$sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
$pid     = pcntl_fork();

if ($pid == -1) {
     die('could not fork');

} else if ($pid) {
     /* parent */
    fclose($sockets[0]);

    fwrite($sockets[1], "child PID: $pid\n");
    echo fgets($sockets[1]);

    fclose($sockets[1]);

} else {
    /* child */
    fclose($sockets[1]);

    fwrite($sockets[0], "message from child\n");
    echo fgets($sockets[0]);

    fclose($sockets[0]);
}

?>

O exemplo acima irá imprimir algo similar à:

child PID: 1378
message from child


Receives data from a socket, connected or not

  • « stream_socket_pair
  • stream_socket_sendto »
  • PHP Manual
  • Stream Funções
  • Receives data from a socket, connected or not

stream_socket_recvfrom

(PHP 5, PHP 7, PHP 8)

stream_socket_recvfrom — Receives data from a socket, connected or not

Descrição

stream_socket_recvfrom ( resource $socket , int $length , int $flags = 0 , string &$address = ? ) : string

stream_socket_recvfrom() accepts data from a remote socket up to length bytes.

Parâmetros

socket

The remote socket.

length

The number of bytes to receive from the socket.

flags

The value of flags can be any combination of the following:

Possible values for flags
STREAM_OOB | Process OOB (out-of-band) data.
STREAM_PEEK | Retrieve data from the socket, but do not consume the buffer. Subsequent calls to fread() or stream_socket_recvfrom() will see the same data.

address

If address is provided it will be populated with the address of the remote socket.

Valor Retornado

Returns the read data, as a string

Exemplos

Exemplo #1 stream_socket_recvfrom() example

<?php
/* Open a server socket to port 1234 on localhost */
$server = stream_socket_server('tcp://127.0.0.1:1234');

/* Accept a connection */
$socket = stream_socket_accept($server);

/* Grab a packet (1500 is a typical MTU size) of OOB data */
echo "Received Out-Of-Band: '" . stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";

/* Take a peek at the normal in-band data, but don't consume it. */
echo "Data: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";

/* Get the exact same packet again, but remove it from the buffer this time. */
echo "Data: '" . stream_socket_recvfrom($socket, 1500) . "'\n";

/* Close it up */
fclose($socket);
fclose($server);
?>

Notas

Nota:

If a message received is longer than the length parameter, excess bytes may be discarded depending on the type of socket the message is received from (such as UDP).

Nota:

Calls to stream_socket_recvfrom() on socket-based streams, after calls to buffer-based stream functions (like fread() or stream_get_line()) read data directly from the socket and bypass the stream buffer.

Veja Também

  • stream_socket_sendto() - Sends a message to a socket, whether it is connected or not
  • stream_socket_client() - Open Internet or Unix domain socket connection
  • stream_socket_server() - Create an Internet or Unix domain server socket


Sends a message to a socket, whether it is connected or not

  • « stream_socket_recvfrom
  • stream_socket_server »
  • PHP Manual
  • Stream Funções
  • Sends a message to a socket, whether it is connected or not

stream_socket_sendto

(PHP 5, PHP 7, PHP 8)

stream_socket_sendto — Sends a message to a socket, whether it is connected or not

Descrição

stream_socket_sendto ( resource $socket , string $data , int $flags = 0 , string $address = ? ) : int

Sends the specified data through the socket.

Parâmetros

socket

The socket to send data to.

data

The data to be sent.

flags

The value of flags can be any combination of the following:

possible values for flags
STREAM_OOB Process OOB (out-of-band) data.

address

The address specified when the socket stream was created will be used unless an alternate address is specified in address.

If specified, it must be in dotted quad (or [ipv6]) format.

Valor Retornado

Returns a result code, as an integer.

Exemplos

Exemplo #1 stream_socket_sendto() Example

<?php
/* Open a socket to port 1234 on localhost */
$socket = stream_socket_client('tcp://127.0.0.1:1234');

/* Send ordinary data via ordinary channels. */
fwrite($socket, "Normal data transmit.");

/* Send more data out of band. */
stream_socket_sendto($socket, "Out of Band data.", STREAM_OOB);

/* Close it up */
fclose($socket);
?>

Veja Também

  • stream_socket_recvfrom() - Receives data from a socket, connected or not
  • stream_socket_client() - Open Internet or Unix domain socket connection
  • stream_socket_server() - Create an Internet or Unix domain server socket


Create an Internet or Unix domain server socket

  • « stream_socket_sendto
  • stream_socket_shutdown »
  • PHP Manual
  • Stream Funções
  • Create an Internet or Unix domain server socket

stream_socket_server

(PHP 5, PHP 7, PHP 8)

stream_socket_server — Create an Internet or Unix domain server socket

Descrição

stream_socket_server ( string $local_socket , int &$errno = ? , string &$errstr = ? , int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN , resource $context = ? ) : resource

Creates a stream or datagram socket on the specified local_socket.

This function only creates a socket, to begin accepting connections use stream_socket_accept().

Parâmetros

local_socket

The type of socket created is determined by the transport specified using standard URL formatting: transport://target.

For Internet Domain sockets (AF_INET) such as TCP and UDP, the target portion of the remote_socket parameter should consist of a hostname or IP address followed by a colon and a port number. For Unix domain sockets, the target portion should point to the socket file on the filesystem.

Depending on the environment, Unix domain sockets may not be available. A list of available transports can be retrieved using stream_get_transports(). See Lista de Transportes via Socket Suportados for a list of bulitin transports.

errno

If the optional errno and errstr arguments are present they will be set to indicate the actual system level error that occurred in the system-level socket(), bind(), and listen() calls. If the value returned in errno is 0 and the function returned false, it is an indication that the error occurred before the bind() call. This is most likely due to a problem initializing the socket. Note that the errno and errstr arguments will always be passed by reference.

errstr

See errno description.

flags

A bitmask field which may be set to any combination of socket creation flags.

Nota:

For UDP sockets, you must use STREAM_SERVER_BIND as the flags parameter.

context

Valor Retornado

Returns the created stream, or false on error.

Exemplos

Exemplo #1 Using TCP server sockets

<?php
$socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
if (!$socket) {
  echo "$errstr ($errno)<br />\n";
} else {
  while ($conn = stream_socket_accept($socket)) {
    fwrite($conn, 'The local time is ' . date('n/j/Y g:i a') . "\n");
    fclose($conn);
  }
  fclose($socket);
}
?>

The example below shows how to act as a time server which can respond to time queries as shown in an example on stream_socket_client().

Nota: Most systems require root access to create a server socket on a port below 1024.

Exemplo #2 Using UDP server sockets

<?php
$socket = stream_socket_server("udp://127.0.0.1:1113", $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
    die("$errstr ($errno)");
}

do {
    $pkt = stream_socket_recvfrom($socket, 1, 0, $peer);
    echo "$peer\n";
    stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0, $peer);
} while ($pkt !== false);

?>

Notas

Nota: Quando informando endereços IPv6 numéricos (por exemplo, fe80::1), você precisa englobar o IP entre colchetes. Exemplo: tcp://[fe80::1]:80.

Veja Também

  • stream_socket_client() - Open Internet or Unix domain socket connection
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • fgets() - Lê uma linha de um ponteiro de arquivo
  • fgetss() - Ler uma linha de um ponteiro de arquivo e retira as tags HTML
  • fwrite() - Escrita binary-safe em arquivos
  • fclose() - Fecha um ponteiro de arquivo aberto
  • feof() - Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo
  • Curl extension


Shutdown a full-duplex connection

  • « stream_socket_server
  • stream_supports_lock »
  • PHP Manual
  • Stream Funções
  • Shutdown a full-duplex connection

stream_socket_shutdown

(PHP 5 >= 5.2.1, PHP 7, PHP 8)

stream_socket_shutdown — Shutdown a full-duplex connection

Descrição

stream_socket_shutdown ( resource $stream , int $mode ) : bool

Shutdowns (partially or not) a full-duplex connection.

Nota:

The associated buffer, or buffers, may or may not be emptied.

Parâmetros

stream

An open stream (opened with stream_socket_client(), for example)

mode

One of the following constants: STREAM_SHUT_RD (disable further receptions), STREAM_SHUT_WR (disable further transmissions) or STREAM_SHUT_RDWR (disable further receptions and transmissions).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 A stream_socket_shutdown() example

<?php

$server = stream_socket_server('tcp://127.0.0.1:1337');
$client = stream_socket_client('tcp://127.0.0.1:1337');

var_dump(fputs($client, "hello"));

stream_socket_shutdown($client, STREAM_SHUT_WR);
var_dump(fputs($client, "hello")); // doesn't work now

?>

O exemplo acima irá imprimir algo similar à:

int(5)

Notice: fputs(): send of 5 bytes failed with errno=32 Broken pipe in test.php on line 9
int(0)

Veja Também

  • fclose() - Fecha um ponteiro de arquivo aberto


Tells whether the stream supports locking

  • « stream_socket_shutdown
  • stream_wrapper_register »
  • PHP Manual
  • Stream Funções
  • Tells whether the stream supports locking

stream_supports_lock

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

stream_supports_lock — Tells whether the stream supports locking

Descrição

stream_supports_lock ( resource $stream ) : bool

Tells whether the stream supports locking through flock().

Parâmetros

stream

The stream to check.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • flock() - Monitor de travamento de arquivos portátil


Register a URL wrapper implemented as a PHP class

  • « stream_supports_lock
  • stream_wrapper_restore »
  • PHP Manual
  • Stream Funções
  • Register a URL wrapper implemented as a PHP class

stream_wrapper_register

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

stream_wrapper_register — Register a URL wrapper implemented as a PHP class

Descrição

stream_wrapper_register ( string $protocol , string $class , int $flags = 0 ) : bool

Allows you to implement your own protocol handlers and streams for use with all the other filesystem functions (such as fopen(), fread() etc.).

Parâmetros

protocol

The wrapper name to be registered.

class

The classname which implements the protocol.

flags

Should be set to STREAM_IS_URL if protocol is a URL protocol. Default is 0, local stream.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

stream_wrapper_register() will return false if the protocol already has a handler.

Exemplos

Exemplo #1 How to register a stream wrapper

<?php
$existed = in_array("var", stream_get_wrappers());
if ($existed) {
    stream_wrapper_unregister("var");
}
stream_wrapper_register("var", "VariableStream");
$myvar = "";

$fp = fopen("var://myvar", "r+");

fwrite($fp, "line1\n");
fwrite($fp, "line2\n");
fwrite($fp, "line3\n");

rewind($fp);
while (!feof($fp)) {
    echo fgets($fp);
}
fclose($fp);
var_dump($myvar);

if ($existed) {
    stream_wrapper_restore("var");
}

?>

O exemplo acima irá imprimir:

line1
line2
line3
string(18) "line1
line2
line3
"

Veja Também

  • The streamWrapper prototype class
  • Example class registered as stream wrapper
  • stream_wrapper_unregister() - Unregister a URL wrapper
  • stream_wrapper_restore() - Restores a previously unregistered built-in wrapper
  • stream_get_wrappers() - Retrieve list of registered streams


Restores a previously unregistered built-in wrapper

  • « stream_wrapper_register
  • stream_wrapper_unregister »
  • PHP Manual
  • Stream Funções
  • Restores a previously unregistered built-in wrapper

stream_wrapper_restore

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_wrapper_restore — Restores a previously unregistered built-in wrapper

Descrição

stream_wrapper_restore ( string $protocol ) : bool

Restores a built-in wrapper previously unregistered with stream_wrapper_unregister().

Parâmetros

protocol

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Unregister a URL wrapper

  • « stream_wrapper_restore
  • Swoole »
  • PHP Manual
  • Stream Funções
  • Unregister a URL wrapper

stream_wrapper_unregister

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_wrapper_unregister — Unregister a URL wrapper

Descrição

stream_wrapper_unregister ( string $protocol ) : bool

Allows you to disable an already defined stream wrapper. Once the wrapper has been disabled you may override it with a user-defined wrapper using stream_wrapper_register() or reenable it later on with stream_wrapper_restore().

Parâmetros

protocol

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Swoole

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Swoole Funções
    • swoole_async_dns_lookup — Async and non-blocking hostname to IP lookup
    • swoole_async_read — Read file stream asynchronously
    • swoole_async_readfile — Read a file asynchronously
    • swoole_async_set — Update the async I/O options
    • swoole_async_write — Write data to a file stream asynchronously
    • swoole_async_writefile — Write data to a file asynchronously
    • swoole_client_select — Get the file description which are ready to read/write or error
    • swoole_cpu_num — Get the number of CPU
    • swoole_errno — Get the error code of the latest system call
    • swoole_event_add — Add new callback functions of a socket into the EventLoop
    • swoole_event_defer — Add callback function to the next event loop
    • swoole_event_del — Remove all event callback functions of a socket
    • swoole_event_exit — Exit the eventloop, only available at the client side
    • swoole_event_set — Update the event callback functions of a socket
    • swoole_event_wait — Start the event loop
    • swoole_event_write — Write data to a socket
    • swoole_get_local_ip — Get the IPv4 IP addresses of each NIC on the machine
    • swoole_last_error — Get the lastest error message
    • swoole_load_module — Load a swoole extension
    • swoole_select — Select the file descriptions which are ready to read/write or error in the eventloop
    • swoole_set_process_name — Set the process name
    • swoole_strerror — Convert the Errno into error messages
    • swoole_timer_after — Trigger a one time callback function in the future
    • swoole_timer_exists — Check if a timer callback function is existed
    • swoole_timer_tick — Trigger a timer tick callback function by time interval
    • swoole_version — Get the version of Swoole
  • Swoole\Async — The Swoole\Async class
    • Swoole\Async::dnsLookup — Async and non-blocking hostname to IP lookup.
    • Swoole\Async::read — Read file stream asynchronously.
    • Swoole\Async::readFile — Read a file asynchronously.
    • Swoole\Async::set — Update the async I/O options.
    • Swoole\Async::write — Write data to a file stream asynchronously.
    • Swoole\Async::writeFile — Description
  • Swoole\Atomic — The Swoole\Atomic class
    • Swoole\Atomic::add — Add a number to the value to the atomic object.
    • Swoole\Atomic::cmpset — Compare and set the value of the atomic object.
    • Swoole\Atomic::__construct — Construct a swoole atomic object.
    • Swoole\Atomic::get — Get the current value of the atomic object.
    • Swoole\Atomic::set — Set a new value to the atomic object.
    • Swoole\Atomic::sub — Subtract a number to the value of the atomic object.
  • Swoole\Buffer — The Swoole\Buffer class
    • Swoole\Buffer::append — Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.
    • Swoole\Buffer::clear — Reset the memory buffer.
    • Swoole\Buffer::__construct — Fixed size memory blocks allocation.
    • Swoole\Buffer::__destruct — Destruct the Swoole memory buffer.
    • Swoole\Buffer::expand — Expand the size of memory buffer.
    • Swoole\Buffer::read — Read data from the memory buffer based on offset and length.
    • Swoole\Buffer::recycle — Release the memory to OS which is not used by the memory buffer.
    • Swoole\Buffer::substr — Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.
    • Swoole\Buffer::__toString — Get the string value of the memory buffer.
    • Swoole\Buffer::write — Write data to the memory buffer. The memory allocated for the buffer will not be changed.
  • Swoole\Channel — The Swoole\Channel class
    • Swoole\Channel::__construct — Construct a Swoole Channel
    • Swoole\Channel::__destruct — Destruct a Swoole channel.
    • Swoole\Channel::pop — Read and pop data from swoole channel.
    • Swoole\Channel::push — Write and push data into Swoole channel.
    • Swoole\Channel::stats — Get stats of swoole channel.
  • Swoole\Client — The Swoole\Client class
    • Swoole\Client::close — Close the connection established.
    • Swoole\Client::connect — Connect to the remote TCP or UDP port.
    • Swoole\Client::__construct — Create Swoole sync or async TCP/UDP client, with or without SSL.
    • Swoole\Client::__destruct — Destruct the Swoole client.
    • Swoole\Client::getpeername — Get the remote socket name of the connection.
    • Swoole\Client::getsockname — Get the local socket name of the connection.
    • Swoole\Client::isConnected — Check if the connection is established.
    • Swoole\Client::on — Add callback functions triggered by events.
    • Swoole\Client::pause — Pause receiving data.
    • Swoole\Client::pipe — Redirect the data to another file descriptor.
    • Swoole\Client::recv — Receive data from the remote socket.
    • Swoole\Client::resume — Resume receiving data.
    • Swoole\Client::send — Send data to the remote TCP socket.
    • Swoole\Client::sendfile — Send file to the remote TCP socket.
    • Swoole\Client::sendto — Send data to the remote UDP address.
    • Swoole\Client::set — Set the Swoole client parameters before the connection is established.
    • Swoole\Client::sleep — Remove the TCP client from system event loop.
    • Swoole\Client::wakeup — Add the TCP client back into the system event loop.
  • Swoole\Connection\Iterator — The Swoole\Connection\Iterator class
    • Swoole\Connection\Iterator::count — Count connections.
    • Swoole\Connection\Iterator::current — Return current connection entry.
    • Swoole\Connection\Iterator::key — Return key of the current connection.
    • Swoole\Connection\Iterator::next — Move to the next connection.
    • Swoole\Connection\Iterator::offsetExists — Check if offet exists.
    • Swoole\Connection\Iterator::offsetGet — Offset to retrieve.
    • Swoole\Connection\Iterator::offsetSet — Assign a Connection to the specified offset.
    • Swoole\Connection\Iterator::offsetUnset — Unset an offset.
    • Swoole\Connection\Iterator::rewind — Rewinds iterator
    • Swoole\Connection\Iterator::valid — Check if current position is valid.
  • Swoole\Coroutine — The Swoole\Coroutine class
    • Swoole\Coroutine::call_user_func_array — Call a callback with an array of parameters
    • Swoole\Coroutine::call_user_func — Call a callback given by the first parameter
    • Swoole\Coroutine::cli_wait — Description
    • Swoole\Coroutine::create — Description
    • Swoole\Coroutine\Client::close — Description
    • Swoole\Coroutine\Client::connect — Description
    • Swoole\Coroutine\Client::__construct — Description
    • Swoole\Coroutine\Client::__destruct — Description
    • Swoole\Coroutine\Client::getpeername — Description
    • Swoole\Coroutine\Client::getsockname — Description
    • Swoole\Coroutine\Client::isConnected — Description
    • Swoole\Coroutine\Client::recv — Description
    • Swoole\Coroutine\Client::send — Description
    • Swoole\Coroutine\Client::sendfile — Description
    • Swoole\Coroutine\Client::sendto — Description
    • Swoole\Coroutine\Client::set — Description
    • Swoole\Coroutine\Http\Client::addFile — Description
    • Swoole\Coroutine\Http\Client::close — Description
    • Swoole\Coroutine\Http\Client::__construct — Description
    • Swoole\Coroutine\Http\Client::__destruct — Description
    • Swoole\Coroutine\Http\Client::execute — Description
    • Swoole\Coroutine\Http\Client::get — Description
    • Swoole\Coroutine\Http\Client::getDefer — Description
    • Swoole\Coroutine\Http\Client::isConnected — Description
    • Swoole\Coroutine\Http\Client::post — Description
    • Swoole\Coroutine\Http\Client::recv — Description
    • Swoole\Coroutine\Http\Client::set — Description
    • Swoole\Coroutine\Http\Client::setCookies — Description
    • Swoole\Coroutine\Http\Client::setData — Description
    • Swoole\Coroutine\Http\Client::setDefer — Description
    • Swoole\Coroutine\Http\Client::setHeaders — Description
    • Swoole\Coroutine\Http\Client::setMethod — Description
    • Swoole\Coroutine\MySQL::close — Description
    • Swoole\Coroutine\MySQL::connect — Description
    • Swoole\Coroutine\MySQL::__construct — Description
    • Swoole\Coroutine\MySQL::__destruct — Description
    • Swoole\Coroutine\MySQL::getDefer — Description
    • Swoole\Coroutine\MySQL::query — Description
    • Swoole\Coroutine\MySQL::recv — Description
    • Swoole\Coroutine\MySQL::setDefer — Description
    • Swoole\Coroutine::getuid — Description
    • Swoole\Coroutine::resume — Description
    • Swoole\Coroutine::suspend — Description
  • Swoole\Event — The Swoole\Event class
    • Swoole\Event::add — Add new callback functions of a socket into the EventLoop.
    • Swoole\Event::defer — Add a callback function to the next event loop.
    • Swoole\Event::del — Remove all event callback functions of a socket.
    • Swoole\Event::exit — Exit the eventloop, only available at client side.
    • Swoole\Event::set — Update the event callback functions of a socket.
    • Swoole\Event::wait — Description
    • Swoole\Event::write — Write data to the socket.
  • Swoole\Exception — The Swoole\Exception class
  • Swoole\Http\Client — The Swoole\Http\Client class
    • Swoole\Http\Client::addFile — Add a file to the post form.
    • Swoole\Http\Client::close — Close the http connection.
    • Swoole\Http\Client::__construct — Construct the async HTTP client.
    • Swoole\Http\Client::__destruct — Destruct the HTTP client.
    • Swoole\Http\Client::download — Download a file from the remote server.
    • Swoole\Http\Client::execute — Send the HTTP request after setting the parameters.
    • Swoole\Http\Client::get — Send GET http request to the remote server.
    • Swoole\Http\Client::isConnected — Check if the HTTP connection is connected.
    • Swoole\Http\Client::on — Register callback function by event name.
    • Swoole\Http\Client::post — Send POST http request to the remote server.
    • Swoole\Http\Client::push — Push data to websocket client.
    • Swoole\Http\Client::set — Update the HTTP client paramters.
    • Swoole\Http\Client::setCookies — Set the http request cookies.
    • Swoole\Http\Client::setData — Set the HTTP request body data.
    • Swoole\Http\Client::setHeaders — Set the HTTP request headers.
    • Swoole\Http\Client::setMethod — Set the HTTP request method.
    • Swoole\Http\Client::upgrade — Upgrade to websocket protocol.
  • Swoole\Http\Request — The Swoole\Http\Request class
    • Swoole\Http\Request::__destruct — Destruct the HTTP request.
    • Swoole\Http\Request::rawcontent — Get the raw HTTP POST body.
  • Swoole\Http\Response — The Swoole\Http\Response class
    • Swoole\Http\Response::cookie — Set the cookies of the HTTP response.
    • Swoole\Http\Response::__destruct — Destruct the HTTP response.
    • Swoole\Http\Response::end — Send data for the HTTP request and finish the response.
    • Swoole\Http\Response::gzip — Enable the gzip of response content.
    • Swoole\Http\Response::header — Set the HTTP response headers.
    • Swoole\Http\Response::initHeader — Init the HTTP response header.
    • Swoole\Http\Response::rawcookie — Set the raw cookies to the HTTP response.
    • Swoole\Http\Response::sendfile — Send file through the HTTP response.
    • Swoole\Http\Response::status — Set the status code of the HTTP response.
    • Swoole\Http\Response::write — Append HTTP body content to the HTTP response.
  • Swoole\Http\Server — The Swoole\Http\Server class
    • Swoole\Http\Server::on — Vincula a função de retorno (callback) ao servidor HTTP pelo nome do evento.
    • Swoole\Http\Server::start — Iniciar o servidor http swoole.
  • Swoole\Lock — The Swoole\Lock class
    • Swoole\Lock::__construct — Construct a memory lock.
    • Swoole\Lock::__destruct — Destory a Swoole memory lock.
    • Swoole\Lock::lock_read — Lock a read-write lock for reading.
    • Swoole\Lock::lock — Try to acquire the lock. It will block if the lock is not available.
    • Swoole\Lock::trylock_read — Try to lock a read-write lock for reading and return straight away even the lock is not available.
    • Swoole\Lock::trylock — Try to acquire the lock and return straight away even the lock is not available.
    • Swoole\Lock::unlock — Release the lock.
  • Swoole\Mmap — The Swoole\Mmap class
    • Swoole\Mmap::open — Map a file into memory and return the stream resource which can be used by PHP stream operations.
  • Swoole\MySQL — The Swoole\MySQL class
    • Swoole\MySQL::close — Close the async MySQL connection.
    • Swoole\MySQL::connect — Connect to the remote MySQL server.
    • Swoole\MySQL::__construct — Construct an async MySQL client.
    • Swoole\MySQL::__destruct — Destory the async MySQL client.
    • Swoole\MySQL::getBuffer — Description
    • Swoole\MySQL::on — Register callback function based on event name.
    • Swoole\MySQL::query — Run the SQL query.
  • Swoole\MySQL\Exception — The Swoole\MySQL\Exception class
  • Swoole\Process — The Swoole\Process class
    • Swoole\Process::alarm — High precision timer which triggers signal with fixed interval.
    • Swoole\Process::close — Close the pipe to the child process.
    • Swoole\Process::__construct — Construct a process.
    • Swoole\Process::daemon — Change the process to be a daemon process.
    • Swoole\Process::__destruct — Destory the process.
    • Swoole\Process::exec — Execute system commands.
    • Swoole\Process::exit — Stop the child processes.
    • Swoole\Process::freeQueue — Destroy the message queue created by swoole_process::useQueue.
    • Swoole\Process::kill — Send signal to the child process.
    • Swoole\Process::name — Set name of the process.
    • Swoole\Process::pop — Read and pop data from the message queue.
    • Swoole\Process::push — Write and push data into the message queue.
    • Swoole\Process::read — Read data sending to the process.
    • Swoole\Process::signal — Send signal to the child processes.
    • Swoole\Process::start — Start the process.
    • Swoole\Process::statQueue — Get the stats of the message queue used as the communication method between processes.
    • Swoole\Process::useQueue — Create a message queue as the communication method between the parent process and child processes.
    • Swoole\Process::wait — Wait for the events of child processes.
    • Swoole\Process::write — Write data into the pipe and communicate with the parent process or child processes.
  • Swoole\Redis\Server — The Swoole\Redis\Server class
    • Swoole\Redis\Server::format — Description
    • Swoole\Redis\Server::setHandler — Description
    • Swoole\Redis\Server::start — Description
  • Swoole\Serialize — The Swoole\Serialize class
    • Swoole\Serialize::pack — Serialize the data.
    • Swoole\Serialize::unpack — Unserialize the data.
  • Swoole\Server — The Swoole\Server class
    • Swoole\Server::addlistener — Add a new listener to the server.
    • Swoole\Server::addProcess — Add a user defined swoole_process to the server.
    • Swoole\Server::after — Trigger a callback function after a period of time.
    • Swoole\Server::bind — Bind the connection to a user defined user ID.
    • Swoole\Server::clearTimer — Stop and destory a timer.
    • Swoole\Server::close — Close a connection to the client.
    • Swoole\Server::confirm — Check status of the connection.
    • Swoole\Server::connection_info — Get the connection info by file description.
    • Swoole\Server::connection_list — Get all of the established connections.
    • Swoole\Server::__construct — Construct a Swoole server.
    • Swoole\Server::defer — Delay execution of the callback function at the end of current EventLoop.
    • Swoole\Server\Port::__construct — Construct a server port
    • Swoole\Server\Port::__destruct — Destory server port
    • Swoole\Server\Port::on — Register callback functions by event.
    • Swoole\Server\Port::set — Set protocol of the server port.
    • Swoole\Server::exist — Check if the connection is existed.
    • Swoole\Server::finish — Used in task process for sending result to the worker process when the task is finished.
    • Swoole\Server::getClientInfo — Get the connection info by file description.
    • Swoole\Server::getClientList — Get all of the established connections.
    • Swoole\Server::getLastError — Get the error code of the most recent error.
    • Swoole\Server::heartbeat — Check all the connections on the server.
    • Swoole\Server::listen — Listen on the given IP and port, socket type.
    • Swoole\Server::on — Register a callback function by event name.
    • Swoole\Server::pause — Stop receiving data from the connection.
    • Swoole\Server::protect — Set the connection to be protected mode.
    • Swoole\Server::reload — Restart all the worker process.
    • Swoole\Server::resume — Start receving data from the connection.
    • Swoole\Server::send — Send data to the client.
    • Swoole\Server::sendfile — Send file to the connection.
    • Swoole\Server::sendMessage — Send message to worker processes by ID.
    • Swoole\Server::sendto — Send data to the remote UDP address.
    • Swoole\Server::sendwait — Send data to the remote socket in the blocking way.
    • Swoole\Server::set — Set the runtime settings of the swoole server.
    • Swoole\Server::shutdown — Shutdown the master server process, this function can be called in worker processes.
    • Swoole\Server::start — Inicia o servidor Swoole.
    • Swoole\Server::stats — Get the stats of the Swoole server.
    • Swoole\Server::stop — Stop the Swoole server.
    • Swoole\Server::task — Send data to the task worker processes.
    • Swoole\Server::taskwait — Send data to the task worker processes in blocking way.
    • Swoole\Server::taskWaitMulti — Execute multiple tasks concurrently.
    • Swoole\Server::tick — Repeats a given function at every given time-interval.
  • Swoole\Table — The Swoole\Table class
    • Swoole\Table::column — Set the data type and size of the columns.
    • Swoole\Table::__construct — Construct a Swoole memory table with fixed size.
    • Swoole\Table::count — Count the rows in the table, or count all the elements in the table if $mode = 1.
    • Swoole\Table::create — Create the swoole memory table.
    • Swoole\Table::current — Get the current row.
    • Swoole\Table::decr — Decrement the value in the Swoole table by $row_key and $column_key.
    • Swoole\Table::del — Delete a row in the Swoole table by $row_key.
    • Swoole\Table::destroy — Destroy the Swoole table.
    • Swoole\Table::exist — Check if a row is existed by $row_key.
    • Swoole\Table::get — Get the value in the Swoole table by $row_key and $column_key.
    • Swoole\Table::incr — Increment the value by $row_key and $column_key.
    • Swoole\Table::key — Get the key of current row.
    • Swoole\Table::next — Iterator the next row.
    • Swoole\Table::rewind — Rewind the iterator.
    • Swoole\Table::set — Update a row of the table by $row_key.
    • Swoole\Table::valid — Check current if the current row is valid.
  • Swoole\Timer — The Swoole\Timer class
    • Swoole\Timer::after — Trigger a callback function after a period of time.
    • Swoole\Timer::clear — Delete a timer by timer ID.
    • Swoole\Timer::exists — Check if a timer is existed.
    • Swoole\Timer::tick — Repeats a given function at every given time-interval.
  • Swoole\WebSocket\Frame — The Swoole\WebSocket\Frame class
  • Swoole\WebSocket\Server — The Swoole\WebSocket\Server class
    • Swoole\WebSocket\Server::exist — Check if the file descriptor exists.
    • Swoole\WebSocket\Server::on — Register event callback function
    • Swoole\WebSocket\Server::pack — Get a pack of binary data to send in a single frame.
    • Swoole\WebSocket\Server::push — Push data to the remote client.
    • Swoole\WebSocket\Server::unpack — Unpack the binary data received from the client.


Introdução

Swoole is a high-performance networking framework using an event-driven, asynchronous, non-blocking I/O model. It can be used to develop high-performance, scalable, concurrent TCP, UDP, Unix socket, HTTP, Websocket services. To get started, please check the » Swoole Docs.

Nota: Esta extensão não está disponível na plataforma Windows.


Instalação

Use --with-swoole[=DIR] when compiling PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/swoole


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Swoole Opções de Configuração
Nome | Padrão | Modificável | Changelog
swoole.aio_thread_num | 2 | PHP_INI_ALL |
swoole.display_errors | On | PHP_INI_ALL |
swoole.fast_serialize | Off | PHP_INI_ALL |
swoole.unixsock_buffer_size | 8388608 | PHP_INI_ALL |
swoole.use_namespace | On | PHP_INI_SYSTEM |

Uma rápida explicação das diretivas de configuração.

swoole.aio_thread_num int

POSIX asynchronous I/O thread number

swoole.display_errors string

This determines whether Swoole errors should be printed to the screen.

swoole.fast_serialize string

Whether to enable Swoole fast_serialize.

swoole.unixsock_buffer_size int

Buffer size of Unix socket.

swoole.use_namespace string

Whether to use PHP namespaces


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

SWOOLE_BASE (int)
SWOOLE_THREAD (int)
SWOOLE_PROCESS (int)
SWOOLE_IPC_UNSOCK (int)
SWOOLE_IPC_MSGQUEUE (int)
SWOOLE_IPC_PREEMPTIVE (int)
SWOOLE_SOCK_TCP (int)
SWOOLE_SOCK_TCP6 (int)
SWOOLE_SOCK_UDP (int)
SWOOLE_SOCK_UDP6 (int)
SWOOLE_SOCK_UNIX_DGRAM (int)
SWOOLE_SOCK_UNIX_STREAM (int)
SWOOLE_TCP (int)
SWOOLE_TCP6 (int)
SWOOLE_UDP (int)
SWOOLE_UDP6 (int)
SWOOLE_UNIX_DGRAM (int)
SWOOLE_UNIX_STREAM (int)
SWOOLE_SOCK_SYNC (int)
SWOOLE_SOCK_ASYNC (int)
SWOOLE_SYNC (int)
SWOOLE_ASYNC (int)
SWOOLE_KEEP (int)
SWOOLE_EVENT_READ (int)
SWOOLE_EVENT_WRITE (int)
SWOOLE_VERSION (string)
SWOOLE_AIO_BASE (int)
SWOOLE_AIO_LINUX (int)
SWOOLE_FILELOCK (int)
SWOOLE_MUTEX (int)
SWOOLE_SEM (int)
SWOOLE_RWLOCK (int)
WEBSOCKET_OPCODE_TEXT (int)
WEBSOCKET_OPCODE_BINARY (int)
WEBSOCKET_OPCODE_PING (int)
WEBSOCKET_STATUS_CONNECTION (int)
WEBSOCKET_STATUS_HANDSHAKE (int)
WEBSOCKET_STATUS_FRAME (int)
WEBSOCKET_STATUS_ACTIVE (int)
SWOOLE_FAST_PACK (int)


Swoole Funções

Índice

  • swoole_async_dns_lookup — Async and non-blocking hostname to IP lookup
  • swoole_async_read — Read file stream asynchronously
  • swoole_async_readfile — Read a file asynchronously
  • swoole_async_set — Update the async I/O options
  • swoole_async_write — Write data to a file stream asynchronously
  • swoole_async_writefile — Write data to a file asynchronously
  • swoole_client_select — Get the file description which are ready to read/write or error
  • swoole_cpu_num — Get the number of CPU
  • swoole_errno — Get the error code of the latest system call
  • swoole_event_add — Add new callback functions of a socket into the EventLoop
  • swoole_event_defer — Add callback function to the next event loop
  • swoole_event_del — Remove all event callback functions of a socket
  • swoole_event_exit — Exit the eventloop, only available at the client side
  • swoole_event_set — Update the event callback functions of a socket
  • swoole_event_wait — Start the event loop
  • swoole_event_write — Write data to a socket
  • swoole_get_local_ip — Get the IPv4 IP addresses of each NIC on the machine
  • swoole_last_error — Get the lastest error message
  • swoole_load_module — Load a swoole extension
  • swoole_select — Select the file descriptions which are ready to read/write or error in the eventloop
  • swoole_set_process_name — Set the process name
  • swoole_strerror — Convert the Errno into error messages
  • swoole_timer_after — Trigger a one time callback function in the future
  • swoole_timer_exists — Check if a timer callback function is existed
  • swoole_timer_tick — Trigger a timer tick callback function by time interval
  • swoole_version — Get the version of Swoole


Async and non-blocking hostname to IP lookup

  • « Swoole Funções
  • swoole_async_read »
  • PHP Manual
  • Swoole Funções
  • Async and non-blocking hostname to IP lookup

swoole_async_dns_lookup

(PECL swoole >= 1.9.0)

swoole_async_dns_lookup — Async and non-blocking hostname to IP lookup

Descrição

swoole_async_dns_lookup ( string $hostname , callable $callback ) : bool

Parâmetros

hostname

The host name.

callback
callback ( string $hostname , string $ip ) : mixed
hostname

The host name.

IP

The IP address.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Read file stream asynchronously

  • « swoole_async_dns_lookup
  • swoole_async_readfile »
  • PHP Manual
  • Swoole Funções
  • Read file stream asynchronously

swoole_async_read

(PECL swoole >= 1.9.0)

swoole_async_read — Read file stream asynchronously

Descrição

swoole_async_read ( string $filename , callable $callback , int $chunk_size = 65536 , int $offset = 0 ) : bool

Parâmetros

filename

The filename of the file being read.

callback
callback ( string $filename , string $content ) : mixed
filename

The name of the file.

content

The content readed from the file stream.

chunk_size

The chunk length.

offset

The offset.

Valor Retornado

Whether the read is succeed.


Read a file asynchronously

  • « swoole_async_read
  • swoole_async_set »
  • PHP Manual
  • Swoole Funções
  • Read a file asynchronously

swoole_async_readfile

(PECL swoole >= 1.9.0)

swoole_async_readfile — Read a file asynchronously

Descrição

swoole_async_readfile ( string $filename , callable $callback ) : bool

Parâmetros

filename

The filename of the file being read.

callback
callback ( string $filename , string $content ) : mixed
filename

The name of the file.

content

The content readed from the file.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Update the async I/O options

  • « swoole_async_readfile
  • swoole_async_write »
  • PHP Manual
  • Swoole Funções
  • Update the async I/O options

swoole_async_set

(PECL swoole >= 1.9.0)

swoole_async_set — Update the async I/O options

Descrição

swoole_async_set ( array $settings ) : void

Parâmetros

settings


Write data to a file stream asynchronously

  • « swoole_async_set
  • swoole_async_writefile »
  • PHP Manual
  • Swoole Funções
  • Write data to a file stream asynchronously

swoole_async_write

(PECL swoole >= 1.9.0)

swoole_async_write — Write data to a file stream asynchronously

Descrição

swoole_async_write ( string $filename , string $content , int $offset = ? , callable $callback = ? ) : bool

Parâmetros

filename

The filename being written.

content

The content writing to the file.

offset

The offset.

callback

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Write data to a file asynchronously

  • « swoole_async_write
  • swoole_client_select »
  • PHP Manual
  • Swoole Funções
  • Write data to a file asynchronously

swoole_async_writefile

(PECL swoole >= 1.9.0)

swoole_async_writefile — Write data to a file asynchronously

Descrição

swoole_async_writefile ( string $filename , string $content , callable $callback = ? , int $flags = 0 ) : bool

Parâmetros

filename

The filename being written.

content

The content writing to the file.

callback

flags

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Get the file description which are ready to read/write or error

  • « swoole_async_writefile
  • swoole_cpu_num »
  • PHP Manual
  • Swoole Funções
  • Get the file description which are ready to read/write or error

swoole_client_select

(PECL swoole >= 1.9.0)

swoole_client_select — Get the file description which are ready to read/write or error

Descrição

swoole_client_select ( array &$read_array , array &$write_array , array &$error_array , float $timeout = 0.5 ) : int

Parâmetros

read_array

write_array

error_array

timeout

Valor Retornado


Get the number of CPU

  • « swoole_client_select
  • swoole_errno »
  • PHP Manual
  • Swoole Funções
  • Get the number of CPU

swoole_cpu_num

(PECL swoole >= 1.9.0)

swoole_cpu_num — Get the number of CPU

Descrição

swoole_cpu_num ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of CPU.


Get the error code of the latest system call

  • « swoole_cpu_num
  • swoole_event_add »
  • PHP Manual
  • Swoole Funções
  • Get the error code of the latest system call

swoole_errno

(PECL swoole >= 1.9.0)

swoole_errno — Get the error code of the latest system call

Descrição

swoole_errno ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Add new callback functions of a socket into the EventLoop

  • « swoole_errno
  • swoole_event_defer »
  • PHP Manual
  • Swoole Funções
  • Add new callback functions of a socket into the EventLoop

swoole_event_add

(PECL swoole >= 1.9.0)

swoole_event_add — Add new callback functions of a socket into the EventLoop

Descrição

swoole_event_add ( int $fd , callable $read_callback = ? , callable $write_callback = ? , int $events = 0 ) : int

Parâmetros

fd

read_callback

write_callback

events

Valor Retornado


Add callback function to the next event loop

  • « swoole_event_add
  • swoole_event_del »
  • PHP Manual
  • Swoole Funções
  • Add callback function to the next event loop

swoole_event_defer

(PECL swoole >= 1.9.0)

swoole_event_defer — Add callback function to the next event loop

Descrição

swoole_event_defer ( callable $callback ) : bool

Parâmetros

callback

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Remove all event callback functions of a socket

  • « swoole_event_defer
  • swoole_event_exit »
  • PHP Manual
  • Swoole Funções
  • Remove all event callback functions of a socket

swoole_event_del

(PECL swoole >= 1.9.0)

swoole_event_del — Remove all event callback functions of a socket

Descrição

swoole_event_del ( int $fd ) : bool

Parâmetros

fd

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Exit the eventloop, only available at the client side

  • « swoole_event_del
  • swoole_event_set »
  • PHP Manual
  • Swoole Funções
  • Exit the eventloop, only available at the client side

swoole_event_exit

(PECL swoole >= 1.9.0)

swoole_event_exit — Exit the eventloop, only available at the client side

Descrição

swoole_event_exit ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Update the event callback functions of a socket

  • « swoole_event_exit
  • swoole_event_wait »
  • PHP Manual
  • Swoole Funções
  • Update the event callback functions of a socket

swoole_event_set

(PECL swoole >= 1.9.0)

swoole_event_set — Update the event callback functions of a socket

Descrição

swoole_event_set ( int $fd , callable $read_callback = ? , callable $write_callback = ? , int $events = 0 ) : bool

Parâmetros

fd

read_callback

write_callback

events

Valor Retornado


Start the event loop

  • « swoole_event_set
  • swoole_event_write »
  • PHP Manual
  • Swoole Funções
  • Start the event loop

swoole_event_wait

(PECL swoole >= 1.9.0)

swoole_event_wait — Start the event loop

Descrição

swoole_event_wait ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Write data to a socket

  • « swoole_event_wait
  • swoole_get_local_ip »
  • PHP Manual
  • Swoole Funções
  • Write data to a socket

swoole_event_write

(PECL swoole >= 1.9.0)

swoole_event_write — Write data to a socket

Descrição

swoole_event_write ( int $fd , string $data ) : bool

Parâmetros

fd

data

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Get the IPv4 IP addresses of each NIC on the machine

  • « swoole_event_write
  • swoole_last_error »
  • PHP Manual
  • Swoole Funções
  • Get the IPv4 IP addresses of each NIC on the machine

swoole_get_local_ip

(PECL swoole >= 1.9.0)

swoole_get_local_ip — Get the IPv4 IP addresses of each NIC on the machine

Descrição

swoole_get_local_ip ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get the lastest error message

  • « swoole_get_local_ip
  • swoole_load_module »
  • PHP Manual
  • Swoole Funções
  • Get the lastest error message

swoole_last_error

(PECL swoole >= 1.9.0)

swoole_last_error — Get the lastest error message

Descrição

swoole_last_error ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Load a swoole extension

  • « swoole_last_error
  • swoole_select »
  • PHP Manual
  • Swoole Funções
  • Load a swoole extension

swoole_load_module

(PECL swoole >= 1.9.0)

swoole_load_module — Load a swoole extension

Descrição

swoole_load_module ( string $filename ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Select the file descriptions which are ready to read/write or error in the eventloop

  • « swoole_load_module
  • swoole_set_process_name »
  • PHP Manual
  • Swoole Funções
  • Select the file descriptions which are ready to read/write or error in the eventloop

swoole_select

(PECL swoole >= 1.9.0)

swoole_select — Select the file descriptions which are ready to read/write or error in the eventloop

Descrição

swoole_select ( array &$read_array , array &$write_array , array &$error_array , float $timeout = ? ) : int

Parâmetros

read_array

write_array

error_array

timeout

Valor Retornado


Set the process name

  • « swoole_select
  • swoole_strerror »
  • PHP Manual
  • Swoole Funções
  • Set the process name

swoole_set_process_name

(PECL swoole >= 1.9.0)

swoole_set_process_name — Set the process name

Descrição

swoole_set_process_name ( string $process_name , int $size = 128 ) : void

Parâmetros

process_name

Valor Retornado


Convert the Errno into error messages

  • « swoole_set_process_name
  • swoole_timer_after »
  • PHP Manual
  • Swoole Funções
  • Convert the Errno into error messages

swoole_strerror

(PECL swoole >= 1.9.0)

swoole_strerror — Convert the Errno into error messages

Descrição

swoole_strerror ( int $errno , int $error_type = 0 ) : string

Parâmetros

errno

Valor Retornado


Trigger a one time callback function in the future

  • « swoole_strerror
  • swoole_timer_exists »
  • PHP Manual
  • Swoole Funções
  • Trigger a one time callback function in the future

swoole_timer_after

(PECL swoole >= 1.9.0)

swoole_timer_after — Trigger a one time callback function in the future

Descrição

swoole_timer_after ( int $ms , callable $callback , mixed $param = ? ) : int

Parâmetros

ms

callback

param

Valor Retornado


Check if a timer callback function is existed

  • « swoole_timer_after
  • swoole_timer_tick »
  • PHP Manual
  • Swoole Funções
  • Check if a timer callback function is existed

swoole_timer_exists

(PECL swoole >= 1.9.0)

swoole_timer_exists — Check if a timer callback function is existed

Descrição

swoole_timer_exists ( int $timer_id ) : bool

Parâmetros

timer_id

Valor Retornado


Trigger a timer tick callback function by time interval

  • « swoole_timer_exists
  • swoole_version »
  • PHP Manual
  • Swoole Funções
  • Trigger a timer tick callback function by time interval

swoole_timer_tick

(PECL swoole >= 1.9.0)

swoole_timer_tick — Trigger a timer tick callback function by time interval

Descrição

swoole_timer_tick ( int $ms , callable $callback , mixed $param = ? ) : int

Parâmetros

ms

callback

Valor Retornado


Get the version of Swoole

  • « swoole_timer_tick
  • Swoole\Async »
  • PHP Manual
  • Swoole Funções
  • Get the version of Swoole

swoole_version

(PECL swoole >= 1.9.0)

swoole_version — Get the version of Swoole

Descrição

swoole_version ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The version of Swoole.


The Swoole\Async class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Async {
/* Métodos */
public static dnsLookup ( string $hostname , callable $callback ) : void
public static read ( string $filename , callable $callback , int $chunk_size = ? , int $offset = ? ) : bool
public static readFile ( string $filename , callable $callback ) : void
public static set ( array $settings ) : void
public static write ( string $filename , string $content , int $offset = ? , callable $callback = ? ) : void
public static writeFile ( string $filename , string $content , callable $callback = ? , string $flags = ? ) : void
}

Índice

  • Swoole\Async::dnsLookup — Async and non-blocking hostname to IP lookup.
  • Swoole\Async::read — Read file stream asynchronously.
  • Swoole\Async::readFile — Read a file asynchronously.
  • Swoole\Async::set — Update the async I/O options.
  • Swoole\Async::write — Write data to a file stream asynchronously.
  • Swoole\Async::writeFile — Description


Async and non-blocking hostname to IP lookup.

  • « Swoole\Async
  • Swoole\Async::read »
  • PHP Manual
  • Swoole\Async
  • Async and non-blocking hostname to IP lookup.

Swoole\Async::dnsLookup

(PECL swoole >= 1.9.0)

Swoole\Async::dnsLookup — Async and non-blocking hostname to IP lookup.

Descrição

public static Swoole\Async::dnsLookup ( string $hostname , callable $callback ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

hostname

The host name.

callback
callback ( string $hostname , string $ip ) : mixed
hostname

The host name.

IP

The IP address.


Read file stream asynchronously.

  • « Swoole\Async::dnsLookup
  • Swoole\Async::readFile »
  • PHP Manual
  • Swoole\Async
  • Read file stream asynchronously.

Swoole\Async::read

(PECL swoole >= 1.9.0)

Swoole\Async::read — Read file stream asynchronously.

Descrição

public static Swoole\Async::read ( string $filename , callable $callback , int $chunk_size = ? , int $offset = ? ) : bool

Parâmetros

filename

The name of the file.

callback
callback ( string $filename , string $content ) : mixed
filename

The name of the file.

content

The content readed from the file stream.

chunk_size

The chunk length.

offset

The offset.

Valor Retornado

Whether the read is succeed.


Read a file asynchronously.

  • « Swoole\Async::read
  • Swoole\Async::set »
  • PHP Manual
  • Swoole\Async
  • Read a file asynchronously.

Swoole\Async::readFile

(PECL swoole >= 1.9.0)

Swoole\Async::readFile — Read a file asynchronously.

Descrição

public static Swoole\Async::readFile ( string $filename , callable $callback ) : void

Parâmetros

filename

The filename of the file being read.

callback
callback ( string $filename , string $content ) : mixed
filename

The name of the file.

content

The content readed from the file.


Update the async I/O options.

  • « Swoole\Async::readFile
  • Swoole\Async::write »
  • PHP Manual
  • Swoole\Async
  • Update the async I/O options.

Swoole\Async::set

(PECL swoole >= 1.9.0)

Swoole\Async::set — Update the async I/O options.

Descrição

public static Swoole\Async::set ( array $settings ) : void

Parâmetros

settings


Write data to a file stream asynchronously.

  • « Swoole\Async::set
  • Swoole\Async::writeFile »
  • PHP Manual
  • Swoole\Async
  • Write data to a file stream asynchronously.

Swoole\Async::write

(PECL swoole >= 1.9.0)

Swoole\Async::write — Write data to a file stream asynchronously.

Descrição

public static Swoole\Async::write ( string $filename , string $content , int $offset = ? , callable $callback = ? ) : void

Parâmetros

filename

The filename being written.

content

The content writing to the file.

offset

The offset.

callback


Description

  • « Swoole\Async::write
  • Swoole\Atomic »
  • PHP Manual
  • Swoole\Async
  • Description

Swoole\Async::writeFile

(PECL swoole >= 1.9.0)

Swoole\Async::writeFile — Description

Descrição

public static Swoole\Async::writeFile ( string $filename , string $content , callable $callback = ? , string $flags = ? ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

filename

The filename being written.

content

The content writing to the file.

callback

flags


The Swoole\Atomic class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Atomic {
/* Métodos */
public add ( int $add_value = ? ) : int
public cmpset ( int $cmp_value , int $new_value ) : int
public get ( ) : int
public set ( int $value ) : int
public sub ( int $sub_value = ? ) : int
}

Índice

  • Swoole\Atomic::add — Add a number to the value to the atomic object.
  • Swoole\Atomic::cmpset — Compare and set the value of the atomic object.
  • Swoole\Atomic::__construct — Construct a swoole atomic object.
  • Swoole\Atomic::get — Get the current value of the atomic object.
  • Swoole\Atomic::set — Set a new value to the atomic object.
  • Swoole\Atomic::sub — Subtract a number to the value of the atomic object.


Add a number to the value to the atomic object.

  • « Swoole\Atomic
  • Swoole\Atomic::cmpset »
  • PHP Manual
  • Swoole\Atomic
  • Add a number to the value to the atomic object.

Swoole\Atomic::add

(PECL swoole >= 1.9.0)

Swoole\Atomic::add — Add a number to the value to the atomic object.

Descrição

public Swoole\Atomic::add ( int $add_value = ? ) : int

Add a number to the value to the atomic object.

Parâmetros

add_value

The value which will be added to the current value.

Valor Retornado

The new value of the atomic object.


Compare and set the value of the atomic object.

  • « Swoole\Atomic::add
  • Swoole\Atomic::__construct »
  • PHP Manual
  • Swoole\Atomic
  • Compare and set the value of the atomic object.

Swoole\Atomic::cmpset

(PECL swoole >= 1.9.0)

Swoole\Atomic::cmpset — Compare and set the value of the atomic object.

Descrição

public Swoole\Atomic::cmpset ( int $cmp_value , int $new_value ) : int

Parâmetros

cmp_value

The value to compare with the current value of the atomic object.

new_value

The value to set to the atomic object if the cmp_value is the same as the current value of the atomic object.

Valor Retornado

The new value of the atomic object.


Construct a swoole atomic object.

  • « Swoole\Atomic::cmpset
  • Swoole\Atomic::get »
  • PHP Manual
  • Swoole\Atomic
  • Construct a swoole atomic object.

Swoole\Atomic::__construct

(PECL swoole >= 1.9.0)

Swoole\Atomic::__construct — Construct a swoole atomic object.

Descrição

public Swoole\Atomic::__construct ( int $value = ? )

Swoole atomic object is a integer variable allows any processor to atomically test and modify. It is implemented based on CPU atomic instructions. The Swoole atomic variables have to defined before swoole_server->start.

Compare-and-swap (CAS) is an atomic instruction used in multithreading to achieve synchronization. It compares the content of a memory location with a given value and, only if they are the same, modifies the content of that memory location to a new given value.

Parâmetros

value

The value of the atomic object.


Get the current value of the atomic object.

  • « Swoole\Atomic::__construct
  • Swoole\Atomic::set »
  • PHP Manual
  • Swoole\Atomic
  • Get the current value of the atomic object.

Swoole\Atomic::get

(PECL swoole >= 1.9.0)

Swoole\Atomic::get — Get the current value of the atomic object.

Descrição

public Swoole\Atomic::get ( ) : int

Get the current value of the atomic object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current value of the atomic object.


Set a new value to the atomic object.

  • « Swoole\Atomic::get
  • Swoole\Atomic::sub »
  • PHP Manual
  • Swoole\Atomic
  • Set a new value to the atomic object.

Swoole\Atomic::set

(PECL swoole >= 1.9.0)

Swoole\Atomic::set — Set a new value to the atomic object.

Descrição

public Swoole\Atomic::set ( int $value ) : int

Set a new value to the atomic object.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

value

The value to set to the atomic object.

Valor Retornado

The current value of the atomic object.


Subtract a number to the value of the atomic object.

  • « Swoole\Atomic::set
  • Swoole\Buffer »
  • PHP Manual
  • Swoole\Atomic
  • Subtract a number to the value of the atomic object.

Swoole\Atomic::sub

(PECL swoole >= 1.9.0)

Swoole\Atomic::sub — Subtract a number to the value of the atomic object.

Descrição

public Swoole\Atomic::sub ( int $sub_value = ? ) : int

Subtract a number to the value of the atomic object.

Parâmetros

sub_value

The value which will be subtracted to the current value.

Valor Retornado

The current value of the atomic object.


The Swoole\Buffer class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Buffer {
/* Métodos */
public append ( string $data ) : int
public clear ( ) : void
public __destruct ( ) : void
public expand ( int $size ) : int
public read ( int $offset , int $length ) : string
public recycle ( ) : void
public substr ( int $offset , int $length = ? , bool $remove = ? ) : string
public __toString ( ) : string
public write ( int $offset , string $data ) : void
}

Índice

  • Swoole\Buffer::append — Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.
  • Swoole\Buffer::clear — Reset the memory buffer.
  • Swoole\Buffer::__construct — Fixed size memory blocks allocation.
  • Swoole\Buffer::__destruct — Destruct the Swoole memory buffer.
  • Swoole\Buffer::expand — Expand the size of memory buffer.
  • Swoole\Buffer::read — Read data from the memory buffer based on offset and length.
  • Swoole\Buffer::recycle — Release the memory to OS which is not used by the memory buffer.
  • Swoole\Buffer::substr — Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.
  • Swoole\Buffer::__toString — Get the string value of the memory buffer.
  • Swoole\Buffer::write — Write data to the memory buffer. The memory allocated for the buffer will not be changed.


Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.

  • « Swoole\Buffer
  • Swoole\Buffer::clear »
  • PHP Manual
  • Swoole\Buffer
  • Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.

Swoole\Buffer::append

(PECL swoole >= 1.9.0)

Swoole\Buffer::append — Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.

Descrição

public Swoole\Buffer::append ( string $data ) : int

Parâmetros

data

The string or binary data to append at the end of the memory buffer.

Valor Retornado

The new size of the memory buffer.


Reset the memory buffer.

  • « Swoole\Buffer::append
  • Swoole\Buffer::__construct »
  • PHP Manual
  • Swoole\Buffer
  • Reset the memory buffer.

Swoole\Buffer::clear

(PECL swoole >= 1.9.0)

Swoole\Buffer::clear — Reset the memory buffer.

Descrição

public Swoole\Buffer::clear ( ) : void

Parâmetros

Esta função não possui parâmetros.


Fixed size memory blocks allocation.

  • « Swoole\Buffer::clear
  • Swoole\Buffer::__destruct »
  • PHP Manual
  • Swoole\Buffer
  • Fixed size memory blocks allocation.

Swoole\Buffer::__construct

(PECL swoole >= 1.9.0)

Swoole\Buffer::__construct — Fixed size memory blocks allocation.

Descrição

public Swoole\Buffer::__construct ( int $size = ? )

Parâmetros

size

The size of the memory to allocate.


Destruct the Swoole memory buffer.

  • « Swoole\Buffer::__construct
  • Swoole\Buffer::expand »
  • PHP Manual
  • Swoole\Buffer
  • Destruct the Swoole memory buffer.

Swoole\Buffer::__destruct

(PECL swoole >= 1.9.0)

Swoole\Buffer::__destruct — Destruct the Swoole memory buffer.

Descrição

public Swoole\Buffer::__destruct ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.


Expand the size of memory buffer.

  • « Swoole\Buffer::__destruct
  • Swoole\Buffer::read »
  • PHP Manual
  • Swoole\Buffer
  • Expand the size of memory buffer.

Swoole\Buffer::expand

(PECL swoole >= 1.9.0)

Swoole\Buffer::expand — Expand the size of memory buffer.

Descrição

public Swoole\Buffer::expand ( int $size ) : int

Parâmetros

size

The new size of the memory buffer.

Valor Retornado

The new size of the memory buffer.


Read data from the memory buffer based on offset and length.

  • « Swoole\Buffer::expand
  • Swoole\Buffer::recycle »
  • PHP Manual
  • Swoole\Buffer
  • Read data from the memory buffer based on offset and length.

Swoole\Buffer::read

(PECL swoole >= 1.9.0)

Swoole\Buffer::read — Read data from the memory buffer based on offset and length.

Descrição

public Swoole\Buffer::read ( int $offset , int $length ) : string

Parâmetros

offset

The offset.

length

The length.

Valor Retornado

The data readed from the memory buffer.


Release the memory to OS which is not used by the memory buffer.

  • « Swoole\Buffer::read
  • Swoole\Buffer::substr »
  • PHP Manual
  • Swoole\Buffer
  • Release the memory to OS which is not used by the memory buffer.

Swoole\Buffer::recycle

(PECL swoole >= 1.9.0)

Swoole\Buffer::recycle — Release the memory to OS which is not used by the memory buffer.

Descrição

public Swoole\Buffer::recycle ( ) : void

Parâmetros

Esta função não possui parâmetros.


Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.

  • « Swoole\Buffer::recycle
  • Swoole\Buffer::__toString »
  • PHP Manual
  • Swoole\Buffer
  • Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.

Swoole\Buffer::substr

(PECL swoole >= 1.9.0)

Swoole\Buffer::substr — Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.

Descrição

public Swoole\Buffer::substr ( int $offset , int $length = ? , bool $remove = ? ) : string

If $remove is set to be true and $offset is set to be 0, the data will be removed from the buffer. The memory for storing the data will be released when the buffer object is deconstructed.

Parâmetros

offset

The offset.

length

The length.

remove

Whether to remove the data from the memory buffer.

Valor Retornado

The data or string readed from the memory buffer.


Get the string value of the memory buffer.

  • « Swoole\Buffer::substr
  • Swoole\Buffer::write »
  • PHP Manual
  • Swoole\Buffer
  • Get the string value of the memory buffer.

Swoole\Buffer::__toString

(PECL swoole >= 1.9.0)

Swoole\Buffer::__toString — Get the string value of the memory buffer.

Descrição

public Swoole\Buffer::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The string value of the memory buffer.


Write data to the memory buffer. The memory allocated for the buffer will not be changed.

  • « Swoole\Buffer::__toString
  • Swoole\Channel »
  • PHP Manual
  • Swoole\Buffer
  • Write data to the memory buffer. The memory allocated for the buffer will not be changed.

Swoole\Buffer::write

(PECL swoole >= 1.9.0)

Swoole\Buffer::write — Write data to the memory buffer. The memory allocated for the buffer will not be changed.

Descrição

public Swoole\Buffer::write ( int $offset , string $data ) : void

Parâmetros

offset

The offset.

data

The data to write to the memory buffer.

Valor Retornado


The Swoole\Channel class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Channel {
/* Métodos */
public __destruct ( ) : void
public pop ( ) : mixed
public push ( string $data ) : bool
public stats ( ) : array
}

Índice

  • Swoole\Channel::__construct — Construct a Swoole Channel
  • Swoole\Channel::__destruct — Destruct a Swoole channel.
  • Swoole\Channel::pop — Read and pop data from swoole channel.
  • Swoole\Channel::push — Write and push data into Swoole channel.
  • Swoole\Channel::stats — Get stats of swoole channel.


Construct a Swoole Channel

  • « Swoole\Channel
  • Swoole\Channel::__destruct »
  • PHP Manual
  • Swoole\Channel
  • Construct a Swoole Channel

Swoole\Channel::__construct

(PECL swoole >= 1.9.0)

Swoole\Channel::__construct — Construct a Swoole Channel

Descrição

public Swoole\Channel::__construct ( string $size )

Swoole channel is memory data structure works like Chan in Golang, implemented based on shared memory and mutex locks. It can be used as high performance message queue in memory. Construct a swoole channel with a fixed size. The minimum size of a swoole channel is 64KB. Exceptions will be thrown if there is not enough memory.

Parâmetros

size

The size of the Swoole channel.


Destruct a Swoole channel.

  • « Swoole\Channel::__construct
  • Swoole\Channel::pop »
  • PHP Manual
  • Swoole\Channel
  • Destruct a Swoole channel.

Swoole\Channel::__destruct

(PECL swoole >= 1.9.0)

Swoole\Channel::__destruct — Destruct a Swoole channel.

Descrição

public Swoole\Channel::__destruct ( ) : void

Parâmetros

Esta função não possui parâmetros.


Read and pop data from swoole channel.

  • « Swoole\Channel::__destruct
  • Swoole\Channel::push »
  • PHP Manual
  • Swoole\Channel
  • Read and pop data from swoole channel.

Swoole\Channel::pop

(PECL swoole >= 1.9.0)

Swoole\Channel::pop — Read and pop data from swoole channel.

Descrição

public Swoole\Channel::pop ( ) : mixed

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

If the channel is empty, the function will return false, or return the unserialized data.


Write and push data into Swoole channel.

  • « Swoole\Channel::pop
  • Swoole\Channel::stats »
  • PHP Manual
  • Swoole\Channel
  • Write and push data into Swoole channel.

Swoole\Channel::push

(PECL swoole >= 1.9.0)

Swoole\Channel::push — Write and push data into Swoole channel.

Descrição

public Swoole\Channel::push ( string $data ) : bool

Data can be any non-empty PHP variable, the variable will be serialized if it is not string type.

If size of the data is more than 8KB, swoole channel will use temp files storage.

The function will return true if the write operation is succeeded, or return false if there is not enough space.

Parâmetros

data

The data to push into the Swoole channel.

Valor Retornado

Wheter the data is pushed into he Swoole channel.


Get stats of swoole channel.

  • « Swoole\Channel::push
  • Swoole\Client »
  • PHP Manual
  • Swoole\Channel
  • Get stats of swoole channel.

Swoole\Channel::stats

(PECL swoole >= 1.9.0)

Swoole\Channel::stats — Get stats of swoole channel.

Descrição

public Swoole\Channel::stats ( ) : array

Get the numbers of queued elements and total size of the memory used by the queue.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The stats of the Swoole channel.


The Swoole\Client class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Client {
/* Constants */
const int MSG_OOB = 1 ;
const int MSG_PEEK = 2 ;
const int MSG_DONTWAIT = 128 ;
const int MSG_WAITALL = 64 ;
/* Propriedades */
public $errCode ;
public $sock ;
public $reuse ;
public $reuseCount ;
/* Métodos */
public close ( bool $force = ? ) : bool
public connect ( string $host , int $port = ? , int $timeout = ? , int $flag = ? ) : bool
public __destruct ( ) : void
public getpeername ( ) : array
public getsockname ( ) : array
public isConnected ( ) : bool
public on ( string $event , callable $callback ) : void
public pause ( ) : void
public pipe ( string $socket ) : void
public recv ( string $size = ? , string $flag = ? ) : void
public resume ( ) : void
public send ( string $data , string $flag = ? ) : int
public sendfile ( string $filename , int $offset = ? ) : bool
public sendto ( string $ip , int $port , string $data ) : bool
public set ( array $settings ) : void
public sleep ( ) : void
public wakeup ( ) : void
}

Propriedades

errCode

sock

reuse

reuseCount

Constantes pré-definidas

Swoole\Client::MSG_OOB

Swoole\Client::MSG_PEEK

Swoole\Client::MSG_DONTWAIT

Swoole\Client::MSG_WAITALL

Índice

  • Swoole\Client::close — Close the connection established.
  • Swoole\Client::connect — Connect to the remote TCP or UDP port.
  • Swoole\Client::__construct — Create Swoole sync or async TCP/UDP client, with or without SSL.
  • Swoole\Client::__destruct — Destruct the Swoole client.
  • Swoole\Client::getpeername — Get the remote socket name of the connection.
  • Swoole\Client::getsockname — Get the local socket name of the connection.
  • Swoole\Client::isConnected — Check if the connection is established.
  • Swoole\Client::on — Add callback functions triggered by events.
  • Swoole\Client::pause — Pause receiving data.
  • Swoole\Client::pipe — Redirect the data to another file descriptor.
  • Swoole\Client::recv — Receive data from the remote socket.
  • Swoole\Client::resume — Resume receiving data.
  • Swoole\Client::send — Send data to the remote TCP socket.
  • Swoole\Client::sendfile — Send file to the remote TCP socket.
  • Swoole\Client::sendto — Send data to the remote UDP address.
  • Swoole\Client::set — Set the Swoole client parameters before the connection is established.
  • Swoole\Client::sleep — Remove the TCP client from system event loop.
  • Swoole\Client::wakeup — Add the TCP client back into the system event loop.


Close the connection established.

  • « Swoole\Client
  • Swoole\Client::connect »
  • PHP Manual
  • Swoole\Client
  • Close the connection established.

Swoole\Client::close

(PECL swoole >= 1.9.0)

Swoole\Client::close — Close the connection established.

Descrição

public Swoole\Client::close ( bool $force = ? ) : bool

Parâmetros

force

Whether force to close the connection.

Valor Retornado

Whether the connection is closed.


Connect to the remote TCP or UDP port.

  • « Swoole\Client::close
  • Swoole\Client::__construct »
  • PHP Manual
  • Swoole\Client
  • Connect to the remote TCP or UDP port.

Swoole\Client::connect

(PECL swoole >= 1.9.0)

Swoole\Client::connect — Connect to the remote TCP or UDP port.

Descrição

public Swoole\Client::connect ( string $host , int $port = ? , int $timeout = ? , int $flag = ? ) : bool

Parâmetros

host

The host name of the remote address.

port

The port number of the remote address.

timeout

The timeout(second) of connect/send/recv, the dafault value is 0.1s

flag

If the type of client is UDP, the $flag means if to enable the configuration udp_connect. If the configuration udp_connect is enabled, the client will only receive the data from specified ip:port. If the type of client is TCP and the $flag is set to 1, it must use swoole_client_select to check the connection status before send/recv.

Valor Retornado

Whether the connection is established.


Create Swoole sync or async TCP/UDP client, with or without SSL.

  • « Swoole\Client::connect
  • Swoole\Client::__destruct »
  • PHP Manual
  • Swoole\Client
  • Create Swoole sync or async TCP/UDP client, with or without SSL.

Swoole\Client::__construct

(PECL swoole >= 1.9.0)

Swoole\Client::__construct — Create Swoole sync or async TCP/UDP client, with or without SSL.

Descrição

public Swoole\Client::__construct ( int $sock_type , int $is_async = ? )

Parâmetros

sock_type

The type of socket: SWOOLE_TCP, SWOOLE_UDP, SWOOLE_ASYNC, SWOOLE_SSL, SWOOLE_KEEP.

is_async

Synchronous or asynchronous client.


Destruct the Swoole client.

  • « Swoole\Client::__construct
  • Swoole\Client::getpeername »
  • PHP Manual
  • Swoole\Client
  • Destruct the Swoole client.

Swoole\Client::__destruct

(PECL swoole >= 1.9.0)

Swoole\Client::__destruct — Destruct the Swoole client.

Descrição

public Swoole\Client::__destruct ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.


Get the remote socket name of the connection.

  • « Swoole\Client::__destruct
  • Swoole\Client::getsockname »
  • PHP Manual
  • Swoole\Client
  • Get the remote socket name of the connection.

Swoole\Client::getpeername

(PECL swoole >= 1.9.0)

Swoole\Client::getpeername — Get the remote socket name of the connection.

Descrição

public Swoole\Client::getpeername ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The host and port of the remote socket.


Get the local socket name of the connection.

  • « Swoole\Client::getpeername
  • Swoole\Client::isConnected »
  • PHP Manual
  • Swoole\Client
  • Get the local socket name of the connection.

Swoole\Client::getsockname

(PECL swoole >= 1.9.0)

Swoole\Client::getsockname — Get the local socket name of the connection.

Descrição

public Swoole\Client::getsockname ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The host and port of the local socket.


Check if the connection is established.

  • « Swoole\Client::getsockname
  • Swoole\Client::on »
  • PHP Manual
  • Swoole\Client
  • Check if the connection is established.

Swoole\Client::isConnected

(PECL swoole >= 1.9.0)

Swoole\Client::isConnected — Check if the connection is established.

Descrição

public Swoole\Client::isConnected ( ) : bool

This method returns the connection status of application layer.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Whether the connection is established.


Add callback functions triggered by events.

  • « Swoole\Client::isConnected
  • Swoole\Client::pause »
  • PHP Manual
  • Swoole\Client
  • Add callback functions triggered by events.

Swoole\Client::on

(PECL swoole >= 1.9.0)

Swoole\Client::on — Add callback functions triggered by events.

Descrição

public Swoole\Client::on ( string $event , callable $callback ) : void

Parâmetros

event

callback


Pause receiving data.

  • « Swoole\Client::on
  • Swoole\Client::pipe »
  • PHP Manual
  • Swoole\Client
  • Pause receiving data.

Swoole\Client::pause

(PECL swoole >= 1.9.0)

Swoole\Client::pause — Pause receiving data.

Descrição

public Swoole\Client::pause ( ) : void

Parâmetros

Esta função não possui parâmetros.


Redirect the data to another file descriptor.

  • « Swoole\Client::pause
  • Swoole\Client::recv »
  • PHP Manual
  • Swoole\Client
  • Redirect the data to another file descriptor.

Swoole\Client::pipe

(PECL swoole >= 1.9.0)

Swoole\Client::pipe — Redirect the data to another file descriptor.

Descrição

public Swoole\Client::pipe ( string $socket ) : void

Parâmetros

socket


Receive data from the remote socket.

  • « Swoole\Client::pipe
  • Swoole\Client::resume »
  • PHP Manual
  • Swoole\Client
  • Receive data from the remote socket.

Swoole\Client::recv

(PECL swoole >= 1.9.0)

Swoole\Client::recv — Receive data from the remote socket.

Descrição

public Swoole\Client::recv ( string $size = ? , string $flag = ? ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

size

flag

Valor Retornado


Resume receiving data.

  • « Swoole\Client::recv
  • Swoole\Client::send »
  • PHP Manual
  • Swoole\Client
  • Resume receiving data.

Swoole\Client::resume

(PECL swoole >= 1.9.0)

Swoole\Client::resume — Resume receiving data.

Descrição

public Swoole\Client::resume ( ) : void

Parâmetros

Esta função não possui parâmetros.


Send data to the remote TCP socket.

  • « Swoole\Client::resume
  • Swoole\Client::sendfile »
  • PHP Manual
  • Swoole\Client
  • Send data to the remote TCP socket.

Swoole\Client::send

(PECL swoole >= 1.9.0)

Swoole\Client::send — Send data to the remote TCP socket.

Descrição

public Swoole\Client::send ( string $data , string $flag = ? ) : int

Parâmetros

data

The data to send which can be string or binary

flag

Valor Retornado

If the client sends data successfully, it returns the length of data sent. Or it returns false and sets $swoole_client->errCode. For sync client, there is no limit for the data to send. For async client, The limit for the data to send is socket_buffer_size.


Send file to the remote TCP socket.

  • « Swoole\Client::send
  • Swoole\Client::sendto »
  • PHP Manual
  • Swoole\Client
  • Send file to the remote TCP socket.

Swoole\Client::sendfile

(PECL swoole >= 1.9.0)

Swoole\Client::sendfile — Send file to the remote TCP socket.

Descrição

public Swoole\Client::sendfile ( string $filename , int $offset = ? ) : bool

This is a wrapper of the Linux sendfile system call.

Parâmetros

filename

File path of the file to send.

offset

Offset of the file to send

Valor Retornado


Send data to the remote UDP address.

  • « Swoole\Client::sendfile
  • Swoole\Client::set »
  • PHP Manual
  • Swoole\Client
  • Send data to the remote UDP address.

Swoole\Client::sendto

(PECL swoole >= 1.9.0)

Swoole\Client::sendto — Send data to the remote UDP address.

Descrição

public Swoole\Client::sendto ( string $ip , int $port , string $data ) : bool

The swoole client should be type of SWOOLE_SOCK_UDP or SWOOLE_SOCK_UDP6.

Parâmetros

ip

The IP address of remote host, IPv4 or IPv6.

port

The port number of remote host.

data

The data to send which should be less-than 64K.

Valor Retornado


Set the Swoole client parameters before the connection is established.

  • « Swoole\Client::sendto
  • Swoole\Client::sleep »
  • PHP Manual
  • Swoole\Client
  • Set the Swoole client parameters before the connection is established.

Swoole\Client::set

(PECL swoole >= 1.9.0)

Swoole\Client::set — Set the Swoole client parameters before the connection is established.

Descrição

public Swoole\Client::set ( array $settings ) : void

Parâmetros

settings

Valor Retornado


Remove the TCP client from system event loop.

  • « Swoole\Client::set
  • Swoole\Client::wakeup »
  • PHP Manual
  • Swoole\Client
  • Remove the TCP client from system event loop.

Swoole\Client::sleep

(PECL swoole >= 1.9.0)

Swoole\Client::sleep — Remove the TCP client from system event loop.

Descrição

public Swoole\Client::sleep ( ) : void

Remove the TCP client from system event loop.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Add the TCP client back into the system event loop.

  • « Swoole\Client::sleep
  • Swoole\Connection\Iterator »
  • PHP Manual
  • Swoole\Client
  • Add the TCP client back into the system event loop.

Swoole\Client::wakeup

(PECL swoole >= 1.9.0)

Swoole\Client::wakeup — Add the TCP client back into the system event loop.

Descrição

public Swoole\Client::wakeup ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Swoole\Connection\Iterator class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Connection\Iterator implements Iterator , Countable , ArrayAccess {
/* Métodos */
public count ( ) : int
public current ( ) : Connection
public key ( ) : int
public next ( ) : Connection
public offsetExists ( int $index ) : bool
public offsetGet ( string $index ) : Connection
public offsetSet ( int $offset , mixed $connection ) : void
public offsetUnset ( int $offset ) : void
public rewind ( ) : void
public valid ( ) : bool
}

Índice

  • Swoole\Connection\Iterator::count — Count connections.
  • Swoole\Connection\Iterator::current — Return current connection entry.
  • Swoole\Connection\Iterator::key — Return key of the current connection.
  • Swoole\Connection\Iterator::next — Move to the next connection.
  • Swoole\Connection\Iterator::offsetExists — Check if offet exists.
  • Swoole\Connection\Iterator::offsetGet — Offset to retrieve.
  • Swoole\Connection\Iterator::offsetSet — Assign a Connection to the specified offset.
  • Swoole\Connection\Iterator::offsetUnset — Unset an offset.
  • Swoole\Connection\Iterator::rewind — Rewinds iterator
  • Swoole\Connection\Iterator::valid — Check if current position is valid.


Count connections.

  • « Swoole\Connection\Iterator
  • Swoole\Connection\Iterator::current »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Count connections.

Swoole\Connection\Iterator::count

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::count — Count connections.

Descrição

public Swoole\Connection\Iterator::count ( ) : int

Gets the number of connections.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of connections.


Return current connection entry.

  • « Swoole\Connection\Iterator::count
  • Swoole\Connection\Iterator::key »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Return current connection entry.

Swoole\Connection\Iterator::current

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::current — Return current connection entry.

Descrição

public Swoole\Connection\Iterator::current ( ) : Connection

Get current connection entry.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current connection entry.


Return key of the current connection.

  • « Swoole\Connection\Iterator::current
  • Swoole\Connection\Iterator::next »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Return key of the current connection.

Swoole\Connection\Iterator::key

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::key — Return key of the current connection.

Descrição

public Swoole\Connection\Iterator::key ( ) : int

This function returns key of the current connection.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Key of the current connection.


Move to the next connection.

  • « Swoole\Connection\Iterator::key
  • Swoole\Connection\Iterator::offsetExists »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Move to the next connection.

Swoole\Connection\Iterator::next

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::next — Move to the next connection.

Descrição

public Swoole\Connection\Iterator::next ( ) : Connection

The iterator to the next connection.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Check if offet exists.

  • « Swoole\Connection\Iterator::next
  • Swoole\Connection\Iterator::offsetGet »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Check if offet exists.

Swoole\Connection\Iterator::offsetExists

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::offsetExists — Check if offet exists.

Descrição

public Swoole\Connection\Iterator::offsetExists ( int $index ) : bool

Check if offset exists.

Parâmetros

index

The offset being checked.

Valor Retornado

Returns TRUE if the offset exists, otherwise FALSE.


Offset to retrieve.

  • « Swoole\Connection\Iterator::offsetExists
  • Swoole\Connection\Iterator::offsetSet »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Offset to retrieve.

Swoole\Connection\Iterator::offsetGet

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::offsetGet — Offset to retrieve.

Descrição

public Swoole\Connection\Iterator::offsetGet ( string $index ) : Connection

Return the connection at specified offset.

Parâmetros

index

The offset to retrieve.

Valor Retornado


Assign a Connection to the specified offset.

  • « Swoole\Connection\Iterator::offsetGet
  • Swoole\Connection\Iterator::offsetUnset »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Assign a Connection to the specified offset.

Swoole\Connection\Iterator::offsetSet

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::offsetSet — Assign a Connection to the specified offset.

Descrição

public Swoole\Connection\Iterator::offsetSet ( int $offset , mixed $connection ) : void

Assign a Connection to the specified offset.

Parâmetros

offset

The offset to assign the Connection to.

connection

The connection to set.

Valor Retornado


Unset an offset.

  • « Swoole\Connection\Iterator::offsetSet
  • Swoole\Connection\Iterator::rewind »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Unset an offset.

Swoole\Connection\Iterator::offsetUnset

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::offsetUnset — Unset an offset.

Descrição

public Swoole\Connection\Iterator::offsetUnset ( int $offset ) : void

Unsets an offset.

Parâmetros

offset

The offset to unset.

Valor Retornado


Rewinds iterator

  • « Swoole\Connection\Iterator::offsetUnset
  • Swoole\Connection\Iterator::valid »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Rewinds iterator

Swoole\Connection\Iterator::rewind

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::rewind — Rewinds iterator

Descrição

public Swoole\Connection\Iterator::rewind ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Check if current position is valid.

  • « Swoole\Connection\Iterator::rewind
  • Swoole\Coroutine »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Check if current position is valid.

Swoole\Connection\Iterator::valid

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::valid — Check if current position is valid.

Descrição

public Swoole\Connection\Iterator::valid ( ) : bool

Checks if the current position is valid.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns TRUE if the current iterator position is valid, otherwise FALSE.


The Swoole\Coroutine class

(PECL swoole >= 2.0.0)

Introdução

Sinopse da classe

Swoole\Coroutine {
/* Métodos */
public static call_user_func_array ( callable $callback , array $param_array ) : mixed
public static call_user_func ( callable $callback , mixed ...$args ) : mixed
public static cli_wait ( ) : ReturnType
public static create ( ) : ReturnType
public Swoole\Coroutine\Client::close ( ) : ReturnType
public Swoole\Coroutine\Client::connect ( ) : ReturnType
public Swoole\Coroutine\Client::__destruct ( ) : ReturnType
public Swoole\Coroutine\Client::getpeername ( ) : ReturnType
public Swoole\Coroutine\Client::getsockname ( ) : ReturnType
public Swoole\Coroutine\Client::isConnected ( ) : ReturnType
public Swoole\Coroutine\Client::recv ( ) : ReturnType
public Swoole\Coroutine\Client::send ( ) : ReturnType
public Swoole\Coroutine\Client::sendfile ( ) : ReturnType
public Swoole\Coroutine\Client::sendto ( ) : ReturnType
public Swoole\Coroutine\Client::set ( ) : ReturnType
public Swoole\Coroutine\Http\Client::addFile ( ) : ReturnType
public Swoole\Coroutine\Http\Client::close ( ) : ReturnType
public Swoole\Coroutine\Http\Client::__destruct ( ) : ReturnType
public Swoole\Coroutine\Http\Client::execute ( ) : ReturnType
public Swoole\Coroutine\Http\Client::get ( ) : ReturnType
public Swoole\Coroutine\Http\Client::getDefer ( ) : ReturnType
public Swoole\Coroutine\Http\Client::isConnected ( ) : ReturnType
public Swoole\Coroutine\Http\Client::post ( ) : ReturnType
public Swoole\Coroutine\Http\Client::recv ( ) : ReturnType
public Swoole\Coroutine\Http\Client::set ( ) : ReturnType
public Swoole\Coroutine\Http\Client::setCookies ( ) : ReturnType
public Swoole\Coroutine\Http\Client::setData ( ) : ReturnType
public Swoole\Coroutine\Http\Client::setDefer ( ) : ReturnType
public Swoole\Coroutine\Http\Client::setHeaders ( ) : ReturnType
public Swoole\Coroutine\Http\Client::setMethod ( ) : ReturnType
public Swoole\Coroutine\MySQL::close ( ) : ReturnType
public Swoole\Coroutine\MySQL::connect ( ) : ReturnType
public Swoole\Coroutine\MySQL::__destruct ( ) : ReturnType
public Swoole\Coroutine\MySQL::getDefer ( ) : ReturnType
public Swoole\Coroutine\MySQL::query ( ) : ReturnType
public Swoole\Coroutine\MySQL::recv ( ) : ReturnType
public Swoole\Coroutine\MySQL::setDefer ( ) : ReturnType
public static getuid ( ) : ReturnType
public static resume ( ) : ReturnType
public static suspend ( ) : ReturnType
}

Índice

  • Swoole\Coroutine::call_user_func_array — Call a callback with an array of parameters
  • Swoole\Coroutine::call_user_func — Call a callback given by the first parameter
  • Swoole\Coroutine::cli_wait — Description
  • Swoole\Coroutine::create — Description
  • Swoole\Coroutine\Client::close — Description
  • Swoole\Coroutine\Client::connect — Description
  • Swoole\Coroutine\Client::__construct — Description
  • Swoole\Coroutine\Client::__destruct — Description
  • Swoole\Coroutine\Client::getpeername — Description
  • Swoole\Coroutine\Client::getsockname — Description
  • Swoole\Coroutine\Client::isConnected — Description
  • Swoole\Coroutine\Client::recv — Description
  • Swoole\Coroutine\Client::send — Description
  • Swoole\Coroutine\Client::sendfile — Description
  • Swoole\Coroutine\Client::sendto — Description
  • Swoole\Coroutine\Client::set — Description
  • Swoole\Coroutine\Http\Client::addFile — Description
  • Swoole\Coroutine\Http\Client::close — Description
  • Swoole\Coroutine\Http\Client::__construct — Description
  • Swoole\Coroutine\Http\Client::__destruct — Description
  • Swoole\Coroutine\Http\Client::execute — Description
  • Swoole\Coroutine\Http\Client::get — Description
  • Swoole\Coroutine\Http\Client::getDefer — Description
  • Swoole\Coroutine\Http\Client::isConnected — Description
  • Swoole\Coroutine\Http\Client::post — Description
  • Swoole\Coroutine\Http\Client::recv — Description
  • Swoole\Coroutine\Http\Client::set — Description
  • Swoole\Coroutine\Http\Client::setCookies — Description
  • Swoole\Coroutine\Http\Client::setData — Description
  • Swoole\Coroutine\Http\Client::setDefer — Description
  • Swoole\Coroutine\Http\Client::setHeaders — Description
  • Swoole\Coroutine\Http\Client::setMethod — Description
  • Swoole\Coroutine\MySQL::close — Description
  • Swoole\Coroutine\MySQL::connect — Description
  • Swoole\Coroutine\MySQL::__construct — Description
  • Swoole\Coroutine\MySQL::__destruct — Description
  • Swoole\Coroutine\MySQL::getDefer — Description
  • Swoole\Coroutine\MySQL::query — Description
  • Swoole\Coroutine\MySQL::recv — Description
  • Swoole\Coroutine\MySQL::setDefer — Description
  • Swoole\Coroutine::getuid — Description
  • Swoole\Coroutine::resume — Description
  • Swoole\Coroutine::suspend — Description


Call a callback with an array of parameters

  • « Swoole\Coroutine
  • Swoole\Coroutine::call_user_func »
  • PHP Manual
  • Swoole\Coroutine
  • Call a callback with an array of parameters

Swoole\Coroutine::call_user_func_array

(PECL swoole >= 2.0.0)

Swoole\Coroutine::call_user_func_array — Call a callback with an array of parameters

Descrição

public static Swoole\Coroutine::call_user_func_array ( callable $callback , array $param_array ) : mixed

Calls the callback given by the first parameter with the parameters in param_array.

Parâmetros

callback

The callable to be called.

param_array

Zero or more parameters in the array to be passed to the callback.

Valor Retornado


Call a callback given by the first parameter

  • « Swoole\Coroutine::call_user_func_array
  • Swoole\Coroutine::cli_wait »
  • PHP Manual
  • Swoole\Coroutine
  • Call a callback given by the first parameter

Swoole\Coroutine::call_user_func

(PECL swoole >= 2.0.0)

Swoole\Coroutine::call_user_func — Call a callback given by the first parameter

Descrição

public static Swoole\Coroutine::call_user_func ( callable $callback , mixed ...$args ) : mixed

Calls the callback given by the first parameter and passes the remaining parameters as arguments.

Parâmetros

callback

The callable to be called.

args

Zero or more parameters to be passed to the callback.

Valor Retornado


Description

  • « Swoole\Coroutine::call_user_func
  • Swoole\Coroutine::create »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine::cli_wait

(PECL swoole >= 2.0.0)

Swoole\Coroutine::cli_wait — Description

Descrição

public static Swoole\Coroutine::cli_wait ( ) : ReturnType

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine::cli_wait
  • Swoole\Coroutine\Client::close »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine::create

(PECL swoole >= 2.0.0)

Swoole\Coroutine::create — Description

Descrição

public static Swoole\Coroutine::create ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine::create
  • Swoole\Coroutine\Client::connect »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::close

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::close — Description

Descrição

public Swoole\Coroutine\Client::close ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Client::close
  • Swoole\Coroutine\Client::__construct »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::connect

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::connect — Description

Descrição

public Swoole\Coroutine\Client::connect ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Client::connect
  • Swoole\Coroutine\Client::__destruct »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::__construct

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::__construct — Description

Descrição

public Swoole\Coroutine\Client::__construct ( )

Parâmetros

Esta função não possui parâmetros.


Description

  • « Swoole\Coroutine\Client::__construct
  • Swoole\Coroutine\Client::getpeername »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::__destruct

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::__destruct — Description

Descrição

public Swoole\Coroutine\Client::__destruct ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Client::__destruct
  • Swoole\Coroutine\Client::getsockname »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::getpeername

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::getpeername — Description

Descrição

public Swoole\Coroutine\Client::getpeername ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Client::getpeername
  • Swoole\Coroutine\Client::isConnected »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::getsockname

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::getsockname — Description

Descrição

public Swoole\Coroutine\Client::getsockname ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Client::getsockname
  • Swoole\Coroutine\Client::recv »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::isConnected

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::isConnected — Description

Descrição

public Swoole\Coroutine\Client::isConnected ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Client::isConnected
  • Swoole\Coroutine\Client::send »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::recv

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::recv — Description

Descrição

public Swoole\Coroutine\Client::recv ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Client::recv
  • Swoole\Coroutine\Client::sendfile »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::send

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::send — Description

Descrição

public Swoole\Coroutine\Client::send ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Client::send
  • Swoole\Coroutine\Client::sendto »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::sendfile

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::sendfile — Description

Descrição

public Swoole\Coroutine\Client::sendfile ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Client::sendfile
  • Swoole\Coroutine\Client::set »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::sendto

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::sendto — Description

Descrição

public Swoole\Coroutine\Client::sendto ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Client::sendto
  • Swoole\Coroutine\Http\Client::addFile »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::set

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::set — Description

Descrição

public Swoole\Coroutine\Client::set ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Client::set
  • Swoole\Coroutine\Http\Client::close »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::addFile

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::addFile — Description

Descrição

public Swoole\Coroutine\Http\Client::addFile ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::addFile
  • Swoole\Coroutine\Http\Client::__construct »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::close

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::close — Description

Descrição

public Swoole\Coroutine\Http\Client::close ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::close
  • Swoole\Coroutine\Http\Client::__destruct »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::__construct

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::__construct — Description

Descrição

public Swoole\Coroutine\Http\Client::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.


Description

  • « Swoole\Coroutine\Http\Client::__construct
  • Swoole\Coroutine\Http\Client::execute »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::__destruct

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::__destruct — Description

Descrição

public Swoole\Coroutine\Http\Client::__destruct ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::__destruct
  • Swoole\Coroutine\Http\Client::get »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::execute

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::execute — Description

Descrição

public Swoole\Coroutine\Http\Client::execute ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::execute
  • Swoole\Coroutine\Http\Client::getDefer »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::get

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::get — Description

Descrição

public Swoole\Coroutine\Http\Client::get ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::get
  • Swoole\Coroutine\Http\Client::isConnected »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::getDefer

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::getDefer — Description

Descrição

public Swoole\Coroutine\Http\Client::getDefer ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::getDefer
  • Swoole\Coroutine\Http\Client::post »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::isConnected

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::isConnected — Description

Descrição

public Swoole\Coroutine\Http\Client::isConnected ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::isConnected
  • Swoole\Coroutine\Http\Client::recv »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::post

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::post — Description

Descrição

public Swoole\Coroutine\Http\Client::post ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::post
  • Swoole\Coroutine\Http\Client::set »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::recv

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::recv — Description

Descrição

public Swoole\Coroutine\Http\Client::recv ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::recv
  • Swoole\Coroutine\Http\Client::setCookies »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::set

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::set — Description

Descrição

public Swoole\Coroutine\Http\Client::set ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::set
  • Swoole\Coroutine\Http\Client::setData »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::setCookies

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::setCookies — Description

Descrição

public Swoole\Coroutine\Http\Client::setCookies ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::setCookies
  • Swoole\Coroutine\Http\Client::setDefer »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::setData

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::setData — Description

Descrição

public Swoole\Coroutine\Http\Client::setData ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::setData
  • Swoole\Coroutine\Http\Client::setHeaders »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::setDefer

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::setDefer — Description

Descrição

public Swoole\Coroutine\Http\Client::setDefer ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::setDefer
  • Swoole\Coroutine\Http\Client::setMethod »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::setHeaders

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::setHeaders — Description

Descrição

public Swoole\Coroutine\Http\Client::setHeaders ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::setHeaders
  • Swoole\Coroutine\MySQL::close »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::setMethod

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::setMethod — Description

Descrição

public Swoole\Coroutine\Http\Client::setMethod ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\Http\Client::setMethod
  • Swoole\Coroutine\MySQL::connect »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::close

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::close — Description

Descrição

public Swoole\Coroutine\MySQL::close ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\MySQL::close
  • Swoole\Coroutine\MySQL::__construct »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::connect

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::connect — Description

Descrição

public Swoole\Coroutine\MySQL::connect ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\MySQL::connect
  • Swoole\Coroutine\MySQL::__destruct »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::__construct

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::__construct — Description

Descrição

public Swoole\Coroutine\MySQL::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.


Description

  • « Swoole\Coroutine\MySQL::__construct
  • Swoole\Coroutine\MySQL::getDefer »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::__destruct

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::__destruct — Description

Descrição

public Swoole\Coroutine\MySQL::__destruct ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\MySQL::__destruct
  • Swoole\Coroutine\MySQL::query »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::getDefer

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::getDefer — Description

Descrição

public Swoole\Coroutine\MySQL::getDefer ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\MySQL::getDefer
  • Swoole\Coroutine\MySQL::recv »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::query

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::query — Description

Descrição

public Swoole\Coroutine\MySQL::query ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\MySQL::query
  • Swoole\Coroutine\MySQL::setDefer »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::recv

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::recv — Description

Descrição

public Swoole\Coroutine\MySQL::recv ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\MySQL::recv
  • Swoole\Coroutine::getuid »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::setDefer

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::setDefer — Description

Descrição

public Swoole\Coroutine\MySQL::setDefer ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine\MySQL::setDefer
  • Swoole\Coroutine::resume »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine::getuid

(PECL swoole >= 2.0.0)

Swoole\Coroutine::getuid — Description

Descrição

public static Swoole\Coroutine::getuid ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine::getuid
  • Swoole\Coroutine::suspend »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine::resume

(PECL swoole >= 2.0.0)

Swoole\Coroutine::resume — Description

Descrição

public static Swoole\Coroutine::resume ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\Coroutine::resume
  • Swoole\Event »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine::suspend

(PECL swoole >= 2.0.0)

Swoole\Coroutine::suspend — Description

Descrição

public static Swoole\Coroutine::suspend ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Swoole\Event class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Event {
/* Métodos */
public static add ( int $fd , callable $read_callback , callable $write_callback = ? , string $events = ? ) : bool
public static defer ( mixed $callback ) : void
public static del ( string $fd ) : bool
public static exit ( ) : void
public static set ( int $fd , string $read_callback = ? , string $write_callback = ? , string $events = ? ) : bool
public static wait ( ) : void
public static write ( string $fd , string $data ) : void
}

Índice

  • Swoole\Event::add — Add new callback functions of a socket into the EventLoop.
  • Swoole\Event::defer — Add a callback function to the next event loop.
  • Swoole\Event::del — Remove all event callback functions of a socket.
  • Swoole\Event::exit — Exit the eventloop, only available at client side.
  • Swoole\Event::set — Update the event callback functions of a socket.
  • Swoole\Event::wait — Description
  • Swoole\Event::write — Write data to the socket.


Add new callback functions of a socket into the EventLoop.

  • « Swoole\Event
  • Swoole\Event::defer »
  • PHP Manual
  • Swoole\Event
  • Add new callback functions of a socket into the EventLoop.

Swoole\Event::add

(PECL swoole >= 1.9.0)

Swoole\Event::add — Add new callback functions of a socket into the EventLoop.

Descrição

public static Swoole\Event::add ( int $fd , callable $read_callback , callable $write_callback = ? , string $events = ? ) : bool

Parâmetros

fd

read_callback

write_callback

events

Valor Retornado


Add a callback function to the next event loop.

  • « Swoole\Event::add
  • Swoole\Event::del »
  • PHP Manual
  • Swoole\Event
  • Add a callback function to the next event loop.

Swoole\Event::defer

(PECL swoole >= 1.9.0)

Swoole\Event::defer — Add a callback function to the next event loop.

Descrição

public static Swoole\Event::defer ( mixed $callback ) : void

Parâmetros

callback

Valor Retornado


Remove all event callback functions of a socket.

  • « Swoole\Event::defer
  • Swoole\Event::exit »
  • PHP Manual
  • Swoole\Event
  • Remove all event callback functions of a socket.

Swoole\Event::del

(PECL swoole >= 1.9.0)

Swoole\Event::del — Remove all event callback functions of a socket.

Descrição

public static Swoole\Event::del ( string $fd ) : bool

Parâmetros

fd

Valor Retornado


Exit the eventloop, only available at client side.

  • « Swoole\Event::del
  • Swoole\Event::set »
  • PHP Manual
  • Swoole\Event
  • Exit the eventloop, only available at client side.

Swoole\Event::exit

(PECL swoole >= 1.9.0)

Swoole\Event::exit — Exit the eventloop, only available at client side.

Descrição

public static Swoole\Event::exit ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Update the event callback functions of a socket.

  • « Swoole\Event::exit
  • Swoole\Event::wait »
  • PHP Manual
  • Swoole\Event
  • Update the event callback functions of a socket.

Swoole\Event::set

(PECL swoole >= 1.9.0)

Swoole\Event::set — Update the event callback functions of a socket.

Descrição

public static Swoole\Event::set ( int $fd , string $read_callback = ? , string $write_callback = ? , string $events = ? ) : bool

Parâmetros

fd

read_callback

write_callback

events

Valor Retornado


Description

  • « Swoole\Event::set
  • Swoole\Event::write »
  • PHP Manual
  • Swoole\Event
  • Description

Swoole\Event::wait

(PECL swoole >= 1.9.0)

Swoole\Event::wait — Description

Descrição

public static Swoole\Event::wait ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Write data to the socket.

  • « Swoole\Event::wait
  • Swoole\Exception »
  • PHP Manual
  • Swoole\Event
  • Write data to the socket.

Swoole\Event::write

(PECL swoole >= 1.9.0)

Swoole\Event::write — Write data to the socket.

Descrição

public static Swoole\Event::write ( string $fd , string $data ) : void

Parâmetros

fd

data

Valor Retornado


The Swoole\Exception class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Exception extends Exception implements Throwable {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
}


The Swoole\Http\Client class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Http\Client {
/* Propriedades */
public $errCode ;
public $sock ;
/* Métodos */
public addFile ( string $path , string $name , string $type = ? , string $filename = ? , string $offset = ? ) : void
public close ( ) : void
public __destruct ( ) : void
public download ( string $path , string $file , callable $callback , int $offset = ? ) : void
public execute ( string $path , string $callback ) : void
public get ( string $path , callable $callback ) : void
public isConnected ( ) : bool
public on ( string $event_name , callable $callback ) : void
public post ( string $path , string $data , callable $callback ) : void
public push ( string $data , string $opcode = ? , string $finish = ? ) : void
public set ( array $settings ) : void
public setCookies ( array $cookies ) : void
public setData ( string $data ) : ReturnType
public setHeaders ( array $headers ) : void
public setMethod ( string $method ) : void
public upgrade ( string $path , string $callback ) : void
}

Propriedades

errCode

sock

Índice

  • Swoole\Http\Client::addFile — Add a file to the post form.
  • Swoole\Http\Client::close — Close the http connection.
  • Swoole\Http\Client::__construct — Construct the async HTTP client.
  • Swoole\Http\Client::__destruct — Destruct the HTTP client.
  • Swoole\Http\Client::download — Download a file from the remote server.
  • Swoole\Http\Client::execute — Send the HTTP request after setting the parameters.
  • Swoole\Http\Client::get — Send GET http request to the remote server.
  • Swoole\Http\Client::isConnected — Check if the HTTP connection is connected.
  • Swoole\Http\Client::on — Register callback function by event name.
  • Swoole\Http\Client::post — Send POST http request to the remote server.
  • Swoole\Http\Client::push — Push data to websocket client.
  • Swoole\Http\Client::set — Update the HTTP client paramters.
  • Swoole\Http\Client::setCookies — Set the http request cookies.
  • Swoole\Http\Client::setData — Set the HTTP request body data.
  • Swoole\Http\Client::setHeaders — Set the HTTP request headers.
  • Swoole\Http\Client::setMethod — Set the HTTP request method.
  • Swoole\Http\Client::upgrade — Upgrade to websocket protocol.


Add a file to the post form.

  • « Swoole\Http\Client
  • Swoole\Http\Client::close »
  • PHP Manual
  • Swoole\Http\Client
  • Add a file to the post form.

Swoole\Http\Client::addFile

(PECL swoole >= 1.9.0)

Swoole\Http\Client::addFile — Add a file to the post form.

Descrição

public Swoole\Http\Client::addFile ( string $path , string $name , string $type = ? , string $filename = ? , string $offset = ? ) : void

Parâmetros

path

name

type

filename

offset

Valor Retornado


Close the http connection.

  • « Swoole\Http\Client::addFile
  • Swoole\Http\Client::__construct »
  • PHP Manual
  • Swoole\Http\Client
  • Close the http connection.

Swoole\Http\Client::close

(PECL swoole >= 1.9.0)

Swoole\Http\Client::close — Close the http connection.

Descrição

public Swoole\Http\Client::close ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Construct the async HTTP client.

  • « Swoole\Http\Client::close
  • Swoole\Http\Client::__destruct »
  • PHP Manual
  • Swoole\Http\Client
  • Construct the async HTTP client.

Swoole\Http\Client::__construct

(PECL swoole >= 1.9.0)

Swoole\Http\Client::__construct — Construct the async HTTP client.

Descrição

public Swoole\Http\Client::__construct ( string $host , string $port = ? , bool $ssl = ? )

Parâmetros

host

The hostname of the remote host.

port

The port number of the remote host.

ssl

Whether to enable SSL.


Destruct the HTTP client.

  • « Swoole\Http\Client::__construct
  • Swoole\Http\Client::download »
  • PHP Manual
  • Swoole\Http\Client
  • Destruct the HTTP client.

Swoole\Http\Client::__destruct

(PECL swoole >= 1.9.0)

Swoole\Http\Client::__destruct — Destruct the HTTP client.

Descrição

public Swoole\Http\Client::__destruct ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Download a file from the remote server.

  • « Swoole\Http\Client::__destruct
  • Swoole\Http\Client::execute »
  • PHP Manual
  • Swoole\Http\Client
  • Download a file from the remote server.

Swoole\Http\Client::download

(PECL swoole >= 1.9.0)

Swoole\Http\Client::download — Download a file from the remote server.

Descrição

public Swoole\Http\Client::download ( string $path , string $file , callable $callback , int $offset = ? ) : void

Parâmetros

path

file

callback

offset

Valor Retornado


Send the HTTP request after setting the parameters.

  • « Swoole\Http\Client::download
  • Swoole\Http\Client::get »
  • PHP Manual
  • Swoole\Http\Client
  • Send the HTTP request after setting the parameters.

Swoole\Http\Client::execute

(PECL swoole >= 1.9.0)

Swoole\Http\Client::execute — Send the HTTP request after setting the parameters.

Descrição

public Swoole\Http\Client::execute ( string $path , string $callback ) : void

Parâmetros

path

callback

Valor Retornado


Send GET http request to the remote server.

  • « Swoole\Http\Client::execute
  • Swoole\Http\Client::isConnected »
  • PHP Manual
  • Swoole\Http\Client
  • Send GET http request to the remote server.

Swoole\Http\Client::get

(PECL swoole >= 1.9.0)

Swoole\Http\Client::get — Send GET http request to the remote server.

Descrição

public Swoole\Http\Client::get ( string $path , callable $callback ) : void

Parâmetros

path

callback

Valor Retornado


Check if the HTTP connection is connected.

  • « Swoole\Http\Client::get
  • Swoole\Http\Client::on »
  • PHP Manual
  • Swoole\Http\Client
  • Check if the HTTP connection is connected.

Swoole\Http\Client::isConnected

(PECL swoole >= 1.9.0)

Swoole\Http\Client::isConnected — Check if the HTTP connection is connected.

Descrição

public Swoole\Http\Client::isConnected ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Register callback function by event name.

  • « Swoole\Http\Client::isConnected
  • Swoole\Http\Client::post »
  • PHP Manual
  • Swoole\Http\Client
  • Register callback function by event name.

Swoole\Http\Client::on

(PECL swoole >= 1.9.0)

Swoole\Http\Client::on — Register callback function by event name.

Descrição

public Swoole\Http\Client::on ( string $event_name , callable $callback ) : void

Parâmetros

event_name

callback

Valor Retornado


Send POST http request to the remote server.

  • « Swoole\Http\Client::on
  • Swoole\Http\Client::push »
  • PHP Manual
  • Swoole\Http\Client
  • Send POST http request to the remote server.

Swoole\Http\Client::post

(PECL swoole >= 1.9.0)

Swoole\Http\Client::post — Send POST http request to the remote server.

Descrição

public Swoole\Http\Client::post ( string $path , string $data , callable $callback ) : void

Parâmetros

path

data

callback

Valor Retornado


Push data to websocket client.

  • « Swoole\Http\Client::post
  • Swoole\Http\Client::set »
  • PHP Manual
  • Swoole\Http\Client
  • Push data to websocket client.

Swoole\Http\Client::push

(PECL swoole >= 1.9.0)

Swoole\Http\Client::push — Push data to websocket client.

Descrição

public Swoole\Http\Client::push ( string $data , string $opcode = ? , string $finish = ? ) : void

Parâmetros

data

opcode

finish

Valor Retornado


Update the HTTP client paramters.

  • « Swoole\Http\Client::push
  • Swoole\Http\Client::setCookies »
  • PHP Manual
  • Swoole\Http\Client
  • Update the HTTP client paramters.

Swoole\Http\Client::set

(PECL swoole >= 1.9.0)

Swoole\Http\Client::set — Update the HTTP client paramters.

Descrição

public Swoole\Http\Client::set ( array $settings ) : void

Parâmetros

settings

Valor Retornado


Set the http request cookies.

  • « Swoole\Http\Client::set
  • Swoole\Http\Client::setData »
  • PHP Manual
  • Swoole\Http\Client
  • Set the http request cookies.

Swoole\Http\Client::setCookies

(PECL swoole >= 1.9.0)

Swoole\Http\Client::setCookies — Set the http request cookies.

Descrição

public Swoole\Http\Client::setCookies ( array $cookies ) : void

Parâmetros

cookies

Valor Retornado


Set the HTTP request body data.

  • « Swoole\Http\Client::setCookies
  • Swoole\Http\Client::setHeaders »
  • PHP Manual
  • Swoole\Http\Client
  • Set the HTTP request body data.

Swoole\Http\Client::setData

(PECL swoole >= 1.9.0)

Swoole\Http\Client::setData — Set the HTTP request body data.

Descrição

public Swoole\Http\Client::setData ( string $data ) : ReturnType

The HTTP method will be changed to be POST.

Parâmetros

data

Valor Retornado


Set the HTTP request headers.

  • « Swoole\Http\Client::setData
  • Swoole\Http\Client::setMethod »
  • PHP Manual
  • Swoole\Http\Client
  • Set the HTTP request headers.

Swoole\Http\Client::setHeaders

(PECL swoole >= 1.9.0)

Swoole\Http\Client::setHeaders — Set the HTTP request headers.

Descrição

public Swoole\Http\Client::setHeaders ( array $headers ) : void

Parâmetros

headers

Valor Retornado


Set the HTTP request method.

  • « Swoole\Http\Client::setHeaders
  • Swoole\Http\Client::upgrade »
  • PHP Manual
  • Swoole\Http\Client
  • Set the HTTP request method.

Swoole\Http\Client::setMethod

(PECL swoole >= 1.9.0)

Swoole\Http\Client::setMethod — Set the HTTP request method.

Descrição

public Swoole\Http\Client::setMethod ( string $method ) : void

Parâmetros

method

Valor Retornado


Upgrade to websocket protocol.

  • « Swoole\Http\Client::setMethod
  • Swoole\Http\Request »
  • PHP Manual
  • Swoole\Http\Client
  • Upgrade to websocket protocol.

Swoole\Http\Client::upgrade

(PECL swoole >= 1.9.0)

Swoole\Http\Client::upgrade — Upgrade to websocket protocol.

Descrição

public Swoole\Http\Client::upgrade ( string $path , string $callback ) : void

Parâmetros

path

callback

Valor Retornado


The Swoole\Http\Request class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Http\Request {
/* Métodos */
public __destruct ( ) : void
public rawcontent ( ) : string
}

Índice

  • Swoole\Http\Request::__destruct — Destruct the HTTP request.
  • Swoole\Http\Request::rawcontent — Get the raw HTTP POST body.


Destruct the HTTP request.

  • « Swoole\Http\Request
  • Swoole\Http\Request::rawcontent »
  • PHP Manual
  • Swoole\Http\Request
  • Destruct the HTTP request.

Swoole\Http\Request::__destruct

(PECL swoole >= 1.9.0)

Swoole\Http\Request::__destruct — Destruct the HTTP request.

Descrição

public Swoole\Http\Request::__destruct ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get the raw HTTP POST body.

  • « Swoole\Http\Request::__destruct
  • Swoole\Http\Response »
  • PHP Manual
  • Swoole\Http\Request
  • Get the raw HTTP POST body.

Swoole\Http\Request::rawcontent

(PECL swoole >= 1.9.0)

Swoole\Http\Request::rawcontent — Get the raw HTTP POST body.

Descrição

public Swoole\Http\Request::rawcontent ( ) : string

This method is used for the POST data which isn't in the form of `application/x-www-form-urlencoded`.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Swoole\Http\Response class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Http\Response {
/* Métodos */
public cookie ( string $name , string $value = ? , string $expires = ? , string $path = ? , string $domain = ? , string $secure = ? , string $httponly = ? ) : string
public __destruct ( ) : void
public end ( string $content = ? ) : void
public gzip ( string $compress_level = ? ) : ReturnType
public header ( string $key , string $value , string $ucwords = ? ) : void
public initHeader ( ) : ReturnType
public rawcookie ( string $name , string $value = ? , string $expires = ? , string $path = ? , string $domain = ? , string $secure = ? , string $httponly = ? ) : ReturnType
public sendfile ( string $filename , int $offset = ? ) : ReturnType
public status ( string $http_code ) : ReturnType
public write ( string $content ) : void
}

Índice

  • Swoole\Http\Response::cookie — Set the cookies of the HTTP response.
  • Swoole\Http\Response::__destruct — Destruct the HTTP response.
  • Swoole\Http\Response::end — Send data for the HTTP request and finish the response.
  • Swoole\Http\Response::gzip — Enable the gzip of response content.
  • Swoole\Http\Response::header — Set the HTTP response headers.
  • Swoole\Http\Response::initHeader — Init the HTTP response header.
  • Swoole\Http\Response::rawcookie — Set the raw cookies to the HTTP response.
  • Swoole\Http\Response::sendfile — Send file through the HTTP response.
  • Swoole\Http\Response::status — Set the status code of the HTTP response.
  • Swoole\Http\Response::write — Append HTTP body content to the HTTP response.


Set the cookies of the HTTP response.

  • « Swoole\Http\Response
  • Swoole\Http\Response::__destruct »
  • PHP Manual
  • Swoole\Http\Response
  • Set the cookies of the HTTP response.

Swoole\Http\Response::cookie

(PECL swoole >= 1.9.0)

Swoole\Http\Response::cookie — Set the cookies of the HTTP response.

Descrição

public Swoole\Http\Response::cookie ( string $name , string $value = ? , string $expires = ? , string $path = ? , string $domain = ? , string $secure = ? , string $httponly = ? ) : string

Parâmetros

name

value

expires

path

domain

secure

httponly

Valor Retornado


Destruct the HTTP response.

  • « Swoole\Http\Response::cookie
  • Swoole\Http\Response::end »
  • PHP Manual
  • Swoole\Http\Response
  • Destruct the HTTP response.

Swoole\Http\Response::__destruct

(PECL swoole >= 1.9.0)

Swoole\Http\Response::__destruct — Destruct the HTTP response.

Descrição

public Swoole\Http\Response::__destruct ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Send data for the HTTP request and finish the response.

  • « Swoole\Http\Response::__destruct
  • Swoole\Http\Response::gzip »
  • PHP Manual
  • Swoole\Http\Response
  • Send data for the HTTP request and finish the response.

Swoole\Http\Response::end

(PECL swoole >= 1.9.0)

Swoole\Http\Response::end — Send data for the HTTP request and finish the response.

Descrição

public Swoole\Http\Response::end ( string $content = ? ) : void

Parâmetros

content

Valor Retornado


Enable the gzip of response content.

  • « Swoole\Http\Response::end
  • Swoole\Http\Response::header »
  • PHP Manual
  • Swoole\Http\Response
  • Enable the gzip of response content.

Swoole\Http\Response::gzip

(PECL swoole >= 1.9.0)

Swoole\Http\Response::gzip — Enable the gzip of response content.

Descrição

public Swoole\Http\Response::gzip ( string $compress_level = ? ) : ReturnType

The header about Content-Encoding will be added automatically.

Parâmetros

compress_level

Valor Retornado


Set the HTTP response headers.

  • « Swoole\Http\Response::gzip
  • Swoole\Http\Response::initHeader »
  • PHP Manual
  • Swoole\Http\Response
  • Set the HTTP response headers.

Swoole\Http\Response::header

(PECL swoole >= 1.9.0)

Swoole\Http\Response::header — Set the HTTP response headers.

Descrição

public Swoole\Http\Response::header ( string $key , string $value , string $ucwords = ? ) : void

Parâmetros

key

value

ucwords

Valor Retornado


Init the HTTP response header.

  • « Swoole\Http\Response::header
  • Swoole\Http\Response::rawcookie »
  • PHP Manual
  • Swoole\Http\Response
  • Init the HTTP response header.

Swoole\Http\Response::initHeader

(PECL swoole >= 1.9.0)

Swoole\Http\Response::initHeader — Init the HTTP response header.

Descrição

public Swoole\Http\Response::initHeader ( ) : ReturnType

Init the HTTP response header.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Set the raw cookies to the HTTP response.

  • « Swoole\Http\Response::initHeader
  • Swoole\Http\Response::sendfile »
  • PHP Manual
  • Swoole\Http\Response
  • Set the raw cookies to the HTTP response.

Swoole\Http\Response::rawcookie

(PECL swoole >= 1.9.0)

Swoole\Http\Response::rawcookie — Set the raw cookies to the HTTP response.

Descrição

public Swoole\Http\Response::rawcookie ( string $name , string $value = ? , string $expires = ? , string $path = ? , string $domain = ? , string $secure = ? , string $httponly = ? ) : ReturnType

Parâmetros

name

value

expires

path

domain

secure

httponly

Valor Retornado


Send file through the HTTP response.

  • « Swoole\Http\Response::rawcookie
  • Swoole\Http\Response::status »
  • PHP Manual
  • Swoole\Http\Response
  • Send file through the HTTP response.

Swoole\Http\Response::sendfile

(PECL swoole >= 1.9.0)

Swoole\Http\Response::sendfile — Send file through the HTTP response.

Descrição

public Swoole\Http\Response::sendfile ( string $filename , int $offset = ? ) : ReturnType

Send file through the HTTP response.

Parâmetros

filename

offset

Valor Retornado


Set the status code of the HTTP response.

  • « Swoole\Http\Response::sendfile
  • Swoole\Http\Response::write »
  • PHP Manual
  • Swoole\Http\Response
  • Set the status code of the HTTP response.

Swoole\Http\Response::status

(PECL swoole >= 1.9.0)

Swoole\Http\Response::status — Set the status code of the HTTP response.

Descrição

public Swoole\Http\Response::status ( string $http_code ) : ReturnType

Set the status code of the HTTP response.

Parâmetros

http_code

Valor Retornado


Append HTTP body content to the HTTP response.

  • « Swoole\Http\Response::status
  • Swoole\Http\Server »
  • PHP Manual
  • Swoole\Http\Response
  • Append HTTP body content to the HTTP response.

Swoole\Http\Response::write

(PECL swoole >= 1.9.0)

Swoole\Http\Response::write — Append HTTP body content to the HTTP response.

Descrição

public Swoole\Http\Response::write ( string $content ) : void

Append HTTP body content to the HTTP response.

Parâmetros

content

Valor Retornado


The Swoole\Http\Server class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Http\Server extends Swoole\Server {
/* Métodos */
public on ( string $event_name , callable $callback ) : void
public start ( ) : void
/* Métodos herdados */
public Swoole\Server::addlistener ( string $host , int $port , string $socket_type ) : void
public Swoole\Server::addProcess ( swoole_process $process ) : bool
public Swoole\Server::after ( int $after_time_ms , callable $callback , string $param = ? ) : ReturnType
public Swoole\Server::bind ( int $fd , int $uid ) : bool
public Swoole\Server::clearTimer ( int $timer_id ) : void
swoole_timer_clear ( int $timer_id ) : void
public Swoole\Server::close ( int $fd , bool $reset = ? ) : bool
public Swoole\Server::confirm ( int $fd ) : bool
public Swoole\Server::connection_info ( int $fd , int $reactor_id = ? ) : array
public Swoole\Server::connection_list ( int $start_fd , int $pagesize = ? ) : array
public Swoole\Server::defer ( callable $callback ) : void
public Swoole\Server\Port::__destruct ( ) : void
public Swoole\Server\Port::on ( string $event_name , callable $callback ) : ReturnType
public Swoole\Server\Port::set ( array $settings ) : void
public Swoole\Server::exist ( int $fd ) : bool
public Swoole\Server::finish ( string $data ) : void
public Swoole\Server::getClientInfo ( int $fd , int $reactor_id = ? ) : ReturnType
public Swoole\Server::getClientList ( int $start_fd , int $pagesize = ? ) : array
public Swoole\Server::getLastError ( ) : int
public Swoole\Server::heartbeat ( bool $if_close_connection ) : mixed
public Swoole\Server::listen ( string $host , int $port , string $socket_type ) : bool
public Swoole\Server::on ( string $event_name , callable $callback ) : void
public Swoole\Server::pause ( int $fd ) : void
public Swoole\Server::protect ( int $fd , bool $is_protected = ? ) : void
public Swoole\Server::reload ( ) : bool
public Swoole\Server::resume ( int $fd ) : void
public Swoole\Server::send ( int $fd , string $data , int $reactor_id = ? ) : bool
public Swoole\Server::sendfile ( int $fd , string $filename , int $offset = ? ) : bool
public Swoole\Server::sendMessage ( int $worker_id , string $data ) : bool
public Swoole\Server::sendto ( string $ip , int $port , string $data , string $server_socket = ? ) : bool
public Swoole\Server::sendwait ( int $fd , string $data ) : bool
public Swoole\Server::set ( array $settings ) : ReturnType
public Swoole\Server::shutdown ( ) : void
public Swoole\Server::start ( ) : void
public Swoole\Server::stats ( ) : array
public Swoole\Server::stop ( int $worker_id = ? ) : bool
public Swoole\Server::task ( string $data , int $dst_worker_id = ? , callable $callback = ? ) : mixed
public Swoole\Server::taskwait ( string $data , float $timeout = ? , int $worker_id = ? ) : void
public Swoole\Server::taskWaitMulti ( array $tasks , double $timeout_ms = ? ) : void
public Swoole\Server::tick ( int $interval_ms , callable $callback ) : void
}

Índice

  • Swoole\Http\Server::on — Vincula a função de retorno (callback) ao servidor HTTP pelo nome do evento.
  • Swoole\Http\Server::start — Iniciar o servidor http swoole.


Vincula a função de retorno (callback) ao servidor HTTP pelo nome do evento.

  • « Swoole\Http\Server
  • Swoole\Http\Server::start »
  • PHP Manual
  • Swoole\Http\Server
  • Vincula a função de retorno (callback) ao servidor HTTP pelo nome do evento.

Swoole\Http\Server::on

(PECL swoole >= 1.9.0)

Swoole\Http\Server::on — Vincula a função de retorno (callback) ao servidor HTTP pelo nome do evento.

Descrição

public Swoole\Http\Server::on ( string $event_name , callable $callback ) : void

Vincula a função de retorno (callback) ao servidor HTTP pelo nome do evento.

Parâmetros

event_name

callback

Valor Retornado


Iniciar o servidor http swoole.

  • « Swoole\Http\Server::on
  • Swoole\Lock »
  • PHP Manual
  • Swoole\Http\Server
  • Iniciar o servidor http swoole.

Swoole\Http\Server::start

(PECL swoole >= 1.9.0)

Swoole\Http\Server::start — Iniciar o servidor http swoole.

Descrição

public Swoole\Http\Server::start ( ) : void

Inicia o servidor http swoole.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Swoole\Lock class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Lock {
/* Métodos */
public __destruct ( ) : void
public lock_read ( ) : void
public lock ( ) : void
public trylock_read ( ) : void
public trylock ( ) : void
public unlock ( ) : void
}

Índice

  • Swoole\Lock::__construct — Construct a memory lock.
  • Swoole\Lock::__destruct — Destory a Swoole memory lock.
  • Swoole\Lock::lock_read — Lock a read-write lock for reading.
  • Swoole\Lock::lock — Try to acquire the lock. It will block if the lock is not available.
  • Swoole\Lock::trylock_read — Try to lock a read-write lock for reading and return straight away even the lock is not available.
  • Swoole\Lock::trylock — Try to acquire the lock and return straight away even the lock is not available.
  • Swoole\Lock::unlock — Release the lock.


Construct a memory lock.

  • « Swoole\Lock
  • Swoole\Lock::__destruct »
  • PHP Manual
  • Swoole\Lock
  • Construct a memory lock.

Swoole\Lock::__construct

(PECL swoole >= 1.9.0)

Swoole\Lock::__construct — Construct a memory lock.

Descrição

public Swoole\Lock::__construct ( string $type = ? , string $file_lock_location = ? )

Swoole lock is used for data synchronization between multiple theads or processes.

Parâmetros

type

file_lock_location


Destory a Swoole memory lock.

  • « Swoole\Lock::__construct
  • Swoole\Lock::lock_read »
  • PHP Manual
  • Swoole\Lock
  • Destory a Swoole memory lock.

Swoole\Lock::__destruct

(PECL swoole >= 1.9.0)

Swoole\Lock::__destruct — Destory a Swoole memory lock.

Descrição

public Swoole\Lock::__destruct ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Lock a read-write lock for reading.

  • « Swoole\Lock::__destruct
  • Swoole\Lock::lock »
  • PHP Manual
  • Swoole\Lock
  • Lock a read-write lock for reading.

Swoole\Lock::lock_read

(PECL swoole >= 1.9.0)

Swoole\Lock::lock_read — Lock a read-write lock for reading.

Descrição

public Swoole\Lock::lock_read ( ) : void

Lock a read-write lock for reading.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Try to acquire the lock. It will block if the lock is not available.

  • « Swoole\Lock::lock_read
  • Swoole\Lock::trylock_read »
  • PHP Manual
  • Swoole\Lock
  • Try to acquire the lock. It will block if the lock is not available.

Swoole\Lock::lock

(PECL swoole >= 1.9.0)

Swoole\Lock::lock — Try to acquire the lock. It will block if the lock is not available.

Descrição

public Swoole\Lock::lock ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Try to lock a read-write lock for reading and return straight away even the lock is not available.

  • « Swoole\Lock::lock
  • Swoole\Lock::trylock »
  • PHP Manual
  • Swoole\Lock
  • Try to lock a read-write lock for reading and return straight away even the lock is not available.

Swoole\Lock::trylock_read

(PECL swoole >= 1.9.0)

Swoole\Lock::trylock_read — Try to lock a read-write lock for reading and return straight away even the lock is not available.

Descrição

public Swoole\Lock::trylock_read ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Try to acquire the lock and return straight away even the lock is not available.

  • « Swoole\Lock::trylock_read
  • Swoole\Lock::unlock »
  • PHP Manual
  • Swoole\Lock
  • Try to acquire the lock and return straight away even the lock is not available.

Swoole\Lock::trylock

(PECL swoole >= 1.9.0)

Swoole\Lock::trylock — Try to acquire the lock and return straight away even the lock is not available.

Descrição

public Swoole\Lock::trylock ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Release the lock.

  • « Swoole\Lock::trylock
  • Swoole\Mmap »
  • PHP Manual
  • Swoole\Lock
  • Release the lock.

Swoole\Lock::unlock

(PECL swoole >= 1.9.0)

Swoole\Lock::unlock — Release the lock.

Descrição

public Swoole\Lock::unlock ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Swoole\Mmap class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Mmap {
/* Métodos */
public static open ( string $filename , string $size = ? , string $offset = ? ) : ReturnType
}

Índice

  • Swoole\Mmap::open — Map a file into memory and return the stream resource which can be used by PHP stream operations.


Map a file into memory and return the stream resource which can be used by PHP stream operations.

  • « Swoole\Mmap
  • Swoole\MySQL »
  • PHP Manual
  • Swoole\Mmap
  • Map a file into memory and return the stream resource which can be used by PHP stream operations.

Swoole\Mmap::open

(PECL swoole >= 1.9.0)

Swoole\Mmap::open — Map a file into memory and return the stream resource which can be used by PHP stream operations.

Descrição

public static Swoole\Mmap::open ( string $filename , string $size = ? , string $offset = ? ) : ReturnType

Parâmetros

filename

size

offset

Valor Retornado


The Swoole\MySQL class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\MySQL {
/* Métodos */
public close ( ) : void
public connect ( array $server_config , callable $callback ) : void
public __destruct ( ) : void
public getBuffer ( ) : ReturnType
public on ( string $event_name , callable $callback ) : void
public query ( string $sql , callable $callback ) : ReturnType
}

Índice

  • Swoole\MySQL::close — Close the async MySQL connection.
  • Swoole\MySQL::connect — Connect to the remote MySQL server.
  • Swoole\MySQL::__construct — Construct an async MySQL client.
  • Swoole\MySQL::__destruct — Destory the async MySQL client.
  • Swoole\MySQL::getBuffer — Description
  • Swoole\MySQL::on — Register callback function based on event name.
  • Swoole\MySQL::query — Run the SQL query.


Close the async MySQL connection.

  • « Swoole\MySQL
  • Swoole\MySQL::connect »
  • PHP Manual
  • Swoole\MySQL
  • Close the async MySQL connection.

Swoole\MySQL::close

(PECL swoole >= 1.9.0)

Swoole\MySQL::close — Close the async MySQL connection.

Descrição

public Swoole\MySQL::close ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Connect to the remote MySQL server.

  • « Swoole\MySQL::close
  • Swoole\MySQL::__construct »
  • PHP Manual
  • Swoole\MySQL
  • Connect to the remote MySQL server.

Swoole\MySQL::connect

(PECL swoole >= 1.9.0)

Swoole\MySQL::connect — Connect to the remote MySQL server.

Descrição

public Swoole\MySQL::connect ( array $server_config , callable $callback ) : void

Connect to the remote MySQL server.

Parâmetros

server_config

callback

Valor Retornado


Construct an async MySQL client.

  • « Swoole\MySQL::connect
  • Swoole\MySQL::__destruct »
  • PHP Manual
  • Swoole\MySQL
  • Construct an async MySQL client.

Swoole\MySQL::__construct

(PECL swoole >= 1.9.0)

Swoole\MySQL::__construct — Construct an async MySQL client.

Descrição

public Swoole\MySQL::__construct ( )

Construct an async MySQL client.

Parâmetros

Esta função não possui parâmetros.


Destory the async MySQL client.

  • « Swoole\MySQL::__construct
  • Swoole\MySQL::getBuffer »
  • PHP Manual
  • Swoole\MySQL
  • Destory the async MySQL client.

Swoole\MySQL::__destruct

(PECL swoole >= 1.9.0)

Swoole\MySQL::__destruct — Destory the async MySQL client.

Descrição

public Swoole\MySQL::__destruct ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Description

  • « Swoole\MySQL::__destruct
  • Swoole\MySQL::on »
  • PHP Manual
  • Swoole\MySQL
  • Description

Swoole\MySQL::getBuffer

(PECL swoole >= 1.9.0)

Swoole\MySQL::getBuffer — Description

Descrição

public Swoole\MySQL::getBuffer ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Register callback function based on event name.

  • « Swoole\MySQL::getBuffer
  • Swoole\MySQL::query »
  • PHP Manual
  • Swoole\MySQL
  • Register callback function based on event name.

Swoole\MySQL::on

(PECL swoole >= 1.9.0)

Swoole\MySQL::on — Register callback function based on event name.

Descrição

public Swoole\MySQL::on ( string $event_name , callable $callback ) : void

Register callback function based on event name, current only 'close' event is supported.

Parâmetros

event_name

callback

Valor Retornado


Run the SQL query.

  • « Swoole\MySQL::on
  • Swoole\MySQL\Exception »
  • PHP Manual
  • Swoole\MySQL
  • Run the SQL query.

Swoole\MySQL::query

(PECL swoole >= 1.9.0)

Swoole\MySQL::query — Run the SQL query.

Descrição

public Swoole\MySQL::query ( string $sql , callable $callback ) : ReturnType

Parâmetros

sql

callback

Valor Retornado


The Swoole\MySQL\Exception class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\MySQL\Exception extends Exception implements Throwable {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
}


The Swoole\Process class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Process {
/* Constants */
const int IPC_NOWAIT = 256 ;
/* Métodos */
public static alarm ( int $interval_usec ) : void
public close ( ) : void
public static daemon ( bool $nochdir = ? , bool $noclose = ? ) : void
public __destruct ( ) : void
public exec ( string $exec_file , string $args ) : ReturnType
public exit ( string $exit_code = ? ) : void
public freeQueue ( ) : void
public static kill ( int $pid , string $signal_no = ? ) : void
public name ( string $process_name ) : void
public pop ( int $maxsize = ? ) : mixed
public push ( string $data ) : bool
public read ( int $maxsize = ? ) : string
public static signal ( string $signal_no , callable $callback ) : void
public start ( ) : void
public statQueue ( ) : array
public useQueue ( int $key , int $mode = ? ) : bool
public static wait ( bool $blocking = ? ) : array
public write ( string $data ) : int
}

Constantes pré-definidas

Swoole\Process::IPC_NOWAIT

Índice

  • Swoole\Process::alarm — High precision timer which triggers signal with fixed interval.
  • Swoole\Process::close — Close the pipe to the child process.
  • Swoole\Process::__construct — Construct a process.
  • Swoole\Process::daemon — Change the process to be a daemon process.
  • Swoole\Process::__destruct — Destory the process.
  • Swoole\Process::exec — Execute system commands.
  • Swoole\Process::exit — Stop the child processes.
  • Swoole\Process::freeQueue — Destroy the message queue created by swoole_process::useQueue.
  • Swoole\Process::kill — Send signal to the child process.
  • Swoole\Process::name — Set name of the process.
  • Swoole\Process::pop — Read and pop data from the message queue.
  • Swoole\Process::push — Write and push data into the message queue.
  • Swoole\Process::read — Read data sending to the process.
  • Swoole\Process::signal — Send signal to the child processes.
  • Swoole\Process::start — Start the process.
  • Swoole\Process::statQueue — Get the stats of the message queue used as the communication method between processes.
  • Swoole\Process::useQueue — Create a message queue as the communication method between the parent process and child processes.
  • Swoole\Process::wait — Wait for the events of child processes.
  • Swoole\Process::write — Write data into the pipe and communicate with the parent process or child processes.


High precision timer which triggers signal with fixed interval.

  • « Swoole\Process
  • Swoole\Process::close »
  • PHP Manual
  • Swoole\Process
  • High precision timer which triggers signal with fixed interval.

Swoole\Process::alarm

(PECL swoole >= 1.9.0)

Swoole\Process::alarm — High precision timer which triggers signal with fixed interval.

Descrição

public static Swoole\Process::alarm ( int $interval_usec ) : void

Parâmetros

interval_usec

Valor Retornado


Close the pipe to the child process.

  • « Swoole\Process::alarm
  • Swoole\Process::__construct »
  • PHP Manual
  • Swoole\Process
  • Close the pipe to the child process.

Swoole\Process::close

(PECL swoole >= 1.9.0)

Swoole\Process::close — Close the pipe to the child process.

Descrição

public Swoole\Process::close ( ) : void

Close the pipe to the child process.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Construct a process.

  • « Swoole\Process::close
  • Swoole\Process::daemon »
  • PHP Manual
  • Swoole\Process
  • Construct a process.

Swoole\Process::__construct

(PECL swoole >= 1.9.0)

Swoole\Process::__construct — Construct a process.

Descrição

public Swoole\Process::__construct ( callable $callback , bool $redirect_stdin_and_stdout = ? , int $pipe_type = ? )

Parâmetros

callback

redirect_stdin_and_stdout

pipe_type


Change the process to be a daemon process.

  • « Swoole\Process::__construct
  • Swoole\Process::__destruct »
  • PHP Manual
  • Swoole\Process
  • Change the process to be a daemon process.

Swoole\Process::daemon

(PECL swoole >= 1.9.0)

Swoole\Process::daemon — Change the process to be a daemon process.

Descrição

public static Swoole\Process::daemon ( bool $nochdir = ? , bool $noclose = ? ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

nochdir

noclose

Valor Retornado


Destory the process.

  • « Swoole\Process::daemon
  • Swoole\Process::exec »
  • PHP Manual
  • Swoole\Process
  • Destory the process.

Swoole\Process::__destruct

(PECL swoole >= 1.9.0)

Swoole\Process::__destruct — Destory the process.

Descrição

public Swoole\Process::__destruct ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Execute system commands.

  • « Swoole\Process::__destruct
  • Swoole\Process::exit »
  • PHP Manual
  • Swoole\Process
  • Execute system commands.

Swoole\Process::exec

(PECL swoole >= 1.9.0)

Swoole\Process::exec — Execute system commands.

Descrição

public Swoole\Process::exec ( string $exec_file , string $args ) : ReturnType

The process will be replaced to be the system command process, but the pipe to the parent process will be kept.

Parâmetros

exec_file

args

Valor Retornado


Stop the child processes.

  • « Swoole\Process::exec
  • Swoole\Process::freeQueue »
  • PHP Manual
  • Swoole\Process
  • Stop the child processes.

Swoole\Process::exit

(PECL swoole >= 1.9.0)

Swoole\Process::exit — Stop the child processes.

Descrição

public Swoole\Process::exit ( string $exit_code = ? ) : void

Parâmetros

exit_code

Valor Retornado


Destroy the message queue created by swoole_process::useQueue.

  • « Swoole\Process::exit
  • Swoole\Process::kill »
  • PHP Manual
  • Swoole\Process
  • Destroy the message queue created by swoole_process::useQueue.

Swoole\Process::freeQueue

(PECL swoole >= 1.9.0)

Swoole\Process::freeQueue — Destroy the message queue created by swoole_process::useQueue.

Descrição

public Swoole\Process::freeQueue ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Send signal to the child process.

  • « Swoole\Process::freeQueue
  • Swoole\Process::name »
  • PHP Manual
  • Swoole\Process
  • Send signal to the child process.

Swoole\Process::kill

(PECL swoole >= 1.9.0)

Swoole\Process::kill — Send signal to the child process.

Descrição

public static Swoole\Process::kill ( int $pid , string $signal_no = ? ) : void

Send signal to the child process.

Parâmetros

pid

signal_no

Valor Retornado


Set name of the process.

  • « Swoole\Process::kill
  • Swoole\Process::pop »
  • PHP Manual
  • Swoole\Process
  • Set name of the process.

Swoole\Process::name

(PECL swoole >= 1.9.0)

Swoole\Process::name — Set name of the process.

Descrição

public Swoole\Process::name ( string $process_name ) : void

Parâmetros

process_name

Valor Retornado


Read and pop data from the message queue.

  • « Swoole\Process::name
  • Swoole\Process::push »
  • PHP Manual
  • Swoole\Process
  • Read and pop data from the message queue.

Swoole\Process::pop

(PECL swoole >= 1.9.0)

Swoole\Process::pop — Read and pop data from the message queue.

Descrição

public Swoole\Process::pop ( int $maxsize = ? ) : mixed

Parâmetros

maxsize

Valor Retornado


Write and push data into the message queue.

  • « Swoole\Process::pop
  • Swoole\Process::read »
  • PHP Manual
  • Swoole\Process
  • Write and push data into the message queue.

Swoole\Process::push

(PECL swoole >= 1.9.0)

Swoole\Process::push — Write and push data into the message queue.

Descrição

public Swoole\Process::push ( string $data ) : bool

Parâmetros

data

Valor Retornado


Read data sending to the process.

  • « Swoole\Process::push
  • Swoole\Process::signal »
  • PHP Manual
  • Swoole\Process
  • Read data sending to the process.

Swoole\Process::read

(PECL swoole >= 1.9.0)

Swoole\Process::read — Read data sending to the process.

Descrição

public Swoole\Process::read ( int $maxsize = ? ) : string

Parâmetros

maxsize

Valor Retornado


Send signal to the child processes.

  • « Swoole\Process::read
  • Swoole\Process::start »
  • PHP Manual
  • Swoole\Process
  • Send signal to the child processes.

Swoole\Process::signal

(PECL swoole >= 1.9.0)

Swoole\Process::signal — Send signal to the child processes.

Descrição

public static Swoole\Process::signal ( string $signal_no , callable $callback ) : void

Parâmetros

signal_no

callback

Valor Retornado

If signal sent successfully, it returns TRUE, otherwise it returns FALSE.


Start the process.

  • « Swoole\Process::signal
  • Swoole\Process::statQueue »
  • PHP Manual
  • Swoole\Process
  • Start the process.

Swoole\Process::start

(PECL swoole >= 1.9.0)

Swoole\Process::start — Start the process.

Descrição

public Swoole\Process::start ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get the stats of the message queue used as the communication method between processes.

  • « Swoole\Process::start
  • Swoole\Process::useQueue »
  • PHP Manual
  • Swoole\Process
  • Get the stats of the message queue used as the communication method between processes.

Swoole\Process::statQueue

(PECL swoole >= 1.9.0)

Swoole\Process::statQueue — Get the stats of the message queue used as the communication method between processes.

Descrição

public Swoole\Process::statQueue ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The array of status of the message queue.


Create a message queue as the communication method between the parent process and child processes.

  • « Swoole\Process::statQueue
  • Swoole\Process::wait »
  • PHP Manual
  • Swoole\Process
  • Create a message queue as the communication method between the parent process and child processes.

Swoole\Process::useQueue

(PECL swoole >= 1.9.0)

Swoole\Process::useQueue — Create a message queue as the communication method between the parent process and child processes.

Descrição

public Swoole\Process::useQueue ( int $key , int $mode = ? ) : bool

Parâmetros

key

mode

Valor Retornado


Wait for the events of child processes.

  • « Swoole\Process::useQueue
  • Swoole\Process::write »
  • PHP Manual
  • Swoole\Process
  • Wait for the events of child processes.

Swoole\Process::wait

(PECL swoole >= 1.9.0)

Swoole\Process::wait — Wait for the events of child processes.

Descrição

public static Swoole\Process::wait ( bool $blocking = ? ) : array

Parâmetros

blocking

Valor Retornado


Write data into the pipe and communicate with the parent process or child processes.

  • « Swoole\Process::wait
  • Swoole\Redis\Server »
  • PHP Manual
  • Swoole\Process
  • Write data into the pipe and communicate with the parent process or child processes.

Swoole\Process::write

(PECL swoole >= 1.9.0)

Swoole\Process::write — Write data into the pipe and communicate with the parent process or child processes.

Descrição

public Swoole\Process::write ( string $data ) : int

Parâmetros

data

Valor Retornado


The Swoole\Redis\Server class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Redis\Server extends Swoole\Server {
/* Constants */
const int NIL = 1 ;
const int ERROR = 0 ;
const int STATUS = 2 ;
const int INT = 3 ;
const int STRING = 4 ;
const int SET = 5 ;
const int MAP = 6 ;
/* Métodos */
public static format ( string $type , string $value = ? ) : ReturnType
public setHandler ( string $command , string $callback , string $number_of_string_param = ? , string $type_of_array_param = ? ) : ReturnType
public start ( ) : ReturnType
/* Métodos herdados */
public Swoole\Server::addlistener ( string $host , int $port , string $socket_type ) : void
public Swoole\Server::addProcess ( swoole_process $process ) : bool
public Swoole\Server::after ( int $after_time_ms , callable $callback , string $param = ? ) : ReturnType
public Swoole\Server::bind ( int $fd , int $uid ) : bool
public Swoole\Server::clearTimer ( int $timer_id ) : void
swoole_timer_clear ( int $timer_id ) : void
public Swoole\Server::close ( int $fd , bool $reset = ? ) : bool
public Swoole\Server::confirm ( int $fd ) : bool
public Swoole\Server::connection_info ( int $fd , int $reactor_id = ? ) : array
public Swoole\Server::connection_list ( int $start_fd , int $pagesize = ? ) : array
public Swoole\Server::defer ( callable $callback ) : void
public Swoole\Server\Port::__destruct ( ) : void
public Swoole\Server\Port::on ( string $event_name , callable $callback ) : ReturnType
public Swoole\Server\Port::set ( array $settings ) : void
public Swoole\Server::exist ( int $fd ) : bool
public Swoole\Server::finish ( string $data ) : void
public Swoole\Server::getClientInfo ( int $fd , int $reactor_id = ? ) : ReturnType
public Swoole\Server::getClientList ( int $start_fd , int $pagesize = ? ) : array
public Swoole\Server::getLastError ( ) : int
public Swoole\Server::heartbeat ( bool $if_close_connection ) : mixed
public Swoole\Server::listen ( string $host , int $port , string $socket_type ) : bool
public Swoole\Server::on ( string $event_name , callable $callback ) : void
public Swoole\Server::pause ( int $fd ) : void
public Swoole\Server::protect ( int $fd , bool $is_protected = ? ) : void
public Swoole\Server::reload ( ) : bool
public Swoole\Server::resume ( int $fd ) : void
public Swoole\Server::send ( int $fd , string $data , int $reactor_id = ? ) : bool
public Swoole\Server::sendfile ( int $fd , string $filename , int $offset = ? ) : bool
public Swoole\Server::sendMessage ( int $worker_id , string $data ) : bool
public Swoole\Server::sendto ( string $ip , int $port , string $data , string $server_socket = ? ) : bool
public Swoole\Server::sendwait ( int $fd , string $data ) : bool
public Swoole\Server::set ( array $settings ) : ReturnType
public Swoole\Server::shutdown ( ) : void
public Swoole\Server::start ( ) : void
public Swoole\Server::stats ( ) : array
public Swoole\Server::stop ( int $worker_id = ? ) : bool
public Swoole\Server::task ( string $data , int $dst_worker_id = ? , callable $callback = ? ) : mixed
public Swoole\Server::taskwait ( string $data , float $timeout = ? , int $worker_id = ? ) : void
public Swoole\Server::taskWaitMulti ( array $tasks , double $timeout_ms = ? ) : void
public Swoole\Server::tick ( int $interval_ms , callable $callback ) : void
}

Constantes pré-definidas

Swoole\Redis\Server::NIL

Swoole\Redis\Server::ERROR

Swoole\Redis\Server::STATUS

Swoole\Redis\Server::INT

Swoole\Redis\Server::STRING

Swoole\Redis\Server::SET

Swoole\Redis\Server::MAP

Índice

  • Swoole\Redis\Server::format — Description
  • Swoole\Redis\Server::setHandler — Description
  • Swoole\Redis\Server::start — Description


Description

  • « Swoole\Redis\Server
  • Swoole\Redis\Server::setHandler »
  • PHP Manual
  • Swoole\Redis\Server
  • Description

Swoole\Redis\Server::format

(PECL swoole >= 1.9.0)

Swoole\Redis\Server::format — Description

Descrição

public static Swoole\Redis\Server::format ( string $type , string $value = ? ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

type

value

Valor Retornado


Description

  • « Swoole\Redis\Server::format
  • Swoole\Redis\Server::start »
  • PHP Manual
  • Swoole\Redis\Server
  • Description

Swoole\Redis\Server::setHandler

(PECL swoole >= 1.9.0)

Swoole\Redis\Server::setHandler — Description

Descrição

public Swoole\Redis\Server::setHandler ( string $command , string $callback , string $number_of_string_param = ? , string $type_of_array_param = ? ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

command

callback

number_of_string_param

type_of_array_param

Valor Retornado


Description

  • « Swoole\Redis\Server::setHandler
  • Swoole\Serialize »
  • PHP Manual
  • Swoole\Redis\Server
  • Description

Swoole\Redis\Server::start

(PECL swoole >= 1.9.0)

Swoole\Redis\Server::start — Description

Descrição

public Swoole\Redis\Server::start ( ) : ReturnType

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Swoole\Serialize class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Serialize {
/* Métodos */
public static pack ( string $data , int $is_fast = ? ) : ReturnType
public static unpack ( string $data , string $args = ? ) : ReturnType
}

Índice

  • Swoole\Serialize::pack — Serialize the data.
  • Swoole\Serialize::unpack — Unserialize the data.


Serialize the data.

  • « Swoole\Serialize
  • Swoole\Serialize::unpack »
  • PHP Manual
  • Swoole\Serialize
  • Serialize the data.

Swoole\Serialize::pack

(PECL swoole >= 1.9.0)

Swoole\Serialize::pack — Serialize the data.

Descrição

public static Swoole\Serialize::pack ( string $data , int $is_fast = ? ) : ReturnType

Swoole provides a fast and high performance serialization module.

Parâmetros

data

is_fast

Valor Retornado


Unserialize the data.

  • « Swoole\Serialize::pack
  • Swoole\Server »
  • PHP Manual
  • Swoole\Serialize
  • Unserialize the data.

Swoole\Serialize::unpack

(PECL swoole >= 1.9.0)

Swoole\Serialize::unpack — Unserialize the data.

Descrição

public static Swoole\Serialize::unpack ( string $data , string $args = ? ) : ReturnType

Unserialize the data.

Parâmetros

string

args

Valor Retornado


The Swoole\Server class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Server {
/* Métodos */
public addlistener ( string $host , int $port , string $socket_type ) : void
public addProcess ( swoole_process $process ) : bool
public after ( int $after_time_ms , callable $callback , string $param = ? ) : ReturnType
public bind ( int $fd , int $uid ) : bool
public clearTimer ( int $timer_id ) : void
swoole_timer_clear ( int $timer_id ) : void
public close ( int $fd , bool $reset = ? ) : bool
public confirm ( int $fd ) : bool
public connection_info ( int $fd , int $reactor_id = ? ) : array
public connection_list ( int $start_fd , int $pagesize = ? ) : array
public defer ( callable $callback ) : void
public Swoole\Server\Port::__destruct ( ) : void
public Swoole\Server\Port::on ( string $event_name , callable $callback ) : ReturnType
public Swoole\Server\Port::set ( array $settings ) : void
public exist ( int $fd ) : bool
public finish ( string $data ) : void
public getClientInfo ( int $fd , int $reactor_id = ? ) : ReturnType
public getClientList ( int $start_fd , int $pagesize = ? ) : array
public getLastError ( ) : int
public heartbeat ( bool $if_close_connection ) : mixed
public listen ( string $host , int $port , string $socket_type ) : bool
public on ( string $event_name , callable $callback ) : void
public pause ( int $fd ) : void
public protect ( int $fd , bool $is_protected = ? ) : void
public reload ( ) : bool
public resume ( int $fd ) : void
public send ( int $fd , string $data , int $reactor_id = ? ) : bool
public sendfile ( int $fd , string $filename , int $offset = ? ) : bool
public sendMessage ( int $worker_id , string $data ) : bool
public sendto ( string $ip , int $port , string $data , string $server_socket = ? ) : bool
public sendwait ( int $fd , string $data ) : bool
public set ( array $settings ) : ReturnType
public shutdown ( ) : void
public start ( ) : void
public stats ( ) : array
public stop ( int $worker_id = ? ) : bool
public task ( string $data , int $dst_worker_id = ? , callable $callback = ? ) : mixed
public taskwait ( string $data , float $timeout = ? , int $worker_id = ? ) : void
public taskWaitMulti ( array $tasks , double $timeout_ms = ? ) : void
public tick ( int $interval_ms , callable $callback ) : void
}

Índice

  • Swoole\Server::addlistener — Add a new listener to the server.
  • Swoole\Server::addProcess — Add a user defined swoole_process to the server.
  • Swoole\Server::after — Trigger a callback function after a period of time.
  • Swoole\Server::bind — Bind the connection to a user defined user ID.
  • Swoole\Server::clearTimer — Stop and destory a timer.
  • Swoole\Server::close — Close a connection to the client.
  • Swoole\Server::confirm — Check status of the connection.
  • Swoole\Server::connection_info — Get the connection info by file description.
  • Swoole\Server::connection_list — Get all of the established connections.
  • Swoole\Server::__construct — Construct a Swoole server.
  • Swoole\Server::defer — Delay execution of the callback function at the end of current EventLoop.
  • Swoole\Server\Port::__construct — Construct a server port
  • Swoole\Server\Port::__destruct — Destory server port
  • Swoole\Server\Port::on — Register callback functions by event.
  • Swoole\Server\Port::set — Set protocol of the server port.
  • Swoole\Server::exist — Check if the connection is existed.
  • Swoole\Server::finish — Used in task process for sending result to the worker process when the task is finished.
  • Swoole\Server::getClientInfo — Get the connection info by file description.
  • Swoole\Server::getClientList — Get all of the established connections.
  • Swoole\Server::getLastError — Get the error code of the most recent error.
  • Swoole\Server::heartbeat — Check all the connections on the server.
  • Swoole\Server::listen — Listen on the given IP and port, socket type.
  • Swoole\Server::on — Register a callback function by event name.
  • Swoole\Server::pause — Stop receiving data from the connection.
  • Swoole\Server::protect — Set the connection to be protected mode.
  • Swoole\Server::reload — Restart all the worker process.
  • Swoole\Server::resume — Start receving data from the connection.
  • Swoole\Server::send — Send data to the client.
  • Swoole\Server::sendfile — Send file to the connection.
  • Swoole\Server::sendMessage — Send message to worker processes by ID.
  • Swoole\Server::sendto — Send data to the remote UDP address.
  • Swoole\Server::sendwait — Send data to the remote socket in the blocking way.
  • Swoole\Server::set — Set the runtime settings of the swoole server.
  • Swoole\Server::shutdown — Shutdown the master server process, this function can be called in worker processes.
  • Swoole\Server::start — Inicia o servidor Swoole.
  • Swoole\Server::stats — Get the stats of the Swoole server.
  • Swoole\Server::stop — Stop the Swoole server.
  • Swoole\Server::task — Send data to the task worker processes.
  • Swoole\Server::taskwait — Send data to the task worker processes in blocking way.
  • Swoole\Server::taskWaitMulti — Execute multiple tasks concurrently.
  • Swoole\Server::tick — Repeats a given function at every given time-interval.


Add a new listener to the server.

  • « Swoole\Server
  • Swoole\Server::addProcess »
  • PHP Manual
  • Swoole\Server
  • Add a new listener to the server.

Swoole\Server::addlistener

(PECL swoole >= 1.9.0)

Swoole\Server::addlistener — Add a new listener to the server.

Descrição

public Swoole\Server::addlistener ( string $host , int $port , string $socket_type ) : void

Parâmetros

host

port

socket_type

Valor Retornado


Add a user defined swoole_process to the server.

  • « Swoole\Server::addlistener
  • Swoole\Server::after »
  • PHP Manual
  • Swoole\Server
  • Add a user defined swoole_process to the server.

Swoole\Server::addProcess

(PECL swoole >= 1.9.0)

Swoole\Server::addProcess — Add a user defined swoole_process to the server.

Descrição

public Swoole\Server::addProcess ( swoole_process $process ) : bool

Parâmetros

process

Valor Retornado


Trigger a callback function after a period of time.

  • « Swoole\Server::addProcess
  • Swoole\Server::bind »
  • PHP Manual
  • Swoole\Server
  • Trigger a callback function after a period of time.

Swoole\Server::after

(PECL swoole >= 1.9.0)

Swoole\Server::after — Trigger a callback function after a period of time.

Descrição

public Swoole\Server::after ( int $after_time_ms , callable $callback , string $param = ? ) : ReturnType

Parâmetros

after_time_ms

callback

param

Valor Retornado


Bind the connection to a user defined user ID.

  • « Swoole\Server::after
  • Swoole\Server::clearTimer »
  • PHP Manual
  • Swoole\Server
  • Bind the connection to a user defined user ID.

Swoole\Server::bind

(PECL swoole >= 1.9.0)

Swoole\Server::bind — Bind the connection to a user defined user ID.

Descrição

public Swoole\Server::bind ( int $fd , int $uid ) : bool

Parâmetros

fd

uid

Valor Retornado


Stop and destory a timer.

  • « Swoole\Server::bind
  • Swoole\Server::close »
  • PHP Manual
  • Swoole\Server
  • Stop and destory a timer.

Swoole\Server::clearTimer

swoole_timer_clear

(PECL swoole >= 1.9.0)

Swoole\Server::clearTimer -- swoole_timer_clear — Stop and destory a timer.

Descrição

Estilo orientado à objeto (method):

public Swoole\Server::clearTimer ( int $timer_id ) : void

Estilo procedural:

swoole_timer_clear ( int $timer_id ) : void

Stop and destory a timer

Parâmetros

timer_id

Valor Retornado


Close a connection to the client.

  • « Swoole\Server::clearTimer
  • Swoole\Server::confirm »
  • PHP Manual
  • Swoole\Server
  • Close a connection to the client.

Swoole\Server::close

(PECL swoole >= 1.9.0)

Swoole\Server::close — Close a connection to the client.

Descrição

public Swoole\Server::close ( int $fd , bool $reset = ? ) : bool

Parâmetros

fd

reset

Valor Retornado


Check status of the connection.

  • « Swoole\Server::close
  • Swoole\Server::connection_info »
  • PHP Manual
  • Swoole\Server
  • Check status of the connection.

Swoole\Server::confirm

(PECL swoole >= 1.9.0)

Swoole\Server::confirm — Check status of the connection.

Descrição

public Swoole\Server::confirm ( int $fd ) : bool

Parâmetros

fd

Valor Retornado


Get the connection info by file description.

  • « Swoole\Server::confirm
  • Swoole\Server::connection_list »
  • PHP Manual
  • Swoole\Server
  • Get the connection info by file description.

Swoole\Server::connection_info

(PECL swoole >= 1.9.0)

Swoole\Server::connection_info — Get the connection info by file description.

Descrição

public Swoole\Server::connection_info ( int $fd , int $reactor_id = ? ) : array

Parâmetros

fd

reactor_id

Valor Retornado


Get all of the established connections.

  • « Swoole\Server::connection_info
  • Swoole\Server::__construct »
  • PHP Manual
  • Swoole\Server
  • Get all of the established connections.

Swoole\Server::connection_list

(PECL swoole >= 1.9.0)

Swoole\Server::connection_list — Get all of the established connections.

Descrição

public Swoole\Server::connection_list ( int $start_fd , int $pagesize = ? ) : array

Parâmetros

start_fd

pagesize

Valor Retornado


Construct a Swoole server.

  • « Swoole\Server::connection_list
  • Swoole\Server::defer »
  • PHP Manual
  • Swoole\Server
  • Construct a Swoole server.

Swoole\Server::__construct

(PECL swoole >= 1.9.0)

Swoole\Server::__construct — Construct a Swoole server.

Descrição

public Swoole\Server::__construct ( string $host , int $port = ? , integr $mode = ? , int $sock_type = ? )

Parâmetros

host

port

mode

sock_type


Delay execution of the callback function at the end of current EventLoop.

  • « Swoole\Server::__construct
  • Swoole\Server\Port::__construct »
  • PHP Manual
  • Swoole\Server
  • Delay execution of the callback function at the end of current EventLoop.

Swoole\Server::defer

(PECL swoole >= 1.9.0)

Swoole\Server::defer — Delay execution of the callback function at the end of current EventLoop.

Descrição

public Swoole\Server::defer ( callable $callback ) : void

Parâmetros

callback

Valor Retornado


Construct a server port

  • « Swoole\Server::defer
  • Swoole\Server\Port::__destruct »
  • PHP Manual
  • Swoole\Server
  • Construct a server port

Swoole\Server\Port::__construct

(PECL swoole >= 1.9.0)

Swoole\Server\Port::__construct — Construct a server port

Descrição

private Swoole\Server\Port::__construct ( )

Parâmetros

Esta função não possui parâmetros.


Destory server port

  • « Swoole\Server\Port::__construct
  • Swoole\Server\Port::on »
  • PHP Manual
  • Swoole\Server
  • Destory server port

Swoole\Server\Port::__destruct

(PECL swoole >= 1.9.0)

Swoole\Server\Port::__destruct — Destory server port

Descrição

public Swoole\Server\Port::__destruct ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Register callback functions by event.

  • « Swoole\Server\Port::__destruct
  • Swoole\Server\Port::set »
  • PHP Manual
  • Swoole\Server
  • Register callback functions by event.

Swoole\Server\Port::on

(PECL swoole >= 1.9.0)

Swoole\Server\Port::on — Register callback functions by event.

Descrição

public Swoole\Server\Port::on ( string $event_name , callable $callback ) : ReturnType

Parâmetros

event_name

callback

Valor Retornado


Set protocol of the server port.

  • « Swoole\Server\Port::on
  • Swoole\Server::exist »
  • PHP Manual
  • Swoole\Server
  • Set protocol of the server port.

Swoole\Server\Port::set

(PECL swoole >= 1.9.0)

Swoole\Server\Port::set — Set protocol of the server port.

Descrição

public Swoole\Server\Port::set ( array $settings ) : void

Parâmetros

settings

Valor Retornado


Check if the connection is existed.

  • « Swoole\Server\Port::set
  • Swoole\Server::finish »
  • PHP Manual
  • Swoole\Server
  • Check if the connection is existed.

Swoole\Server::exist

(PECL swoole >= 1.9.0)

Swoole\Server::exist — Check if the connection is existed.

Descrição

public Swoole\Server::exist ( int $fd ) : bool

Parâmetros

fd

Valor Retornado


Used in task process for sending result to the worker process when the task is finished.

  • « Swoole\Server::exist
  • Swoole\Server::getClientInfo »
  • PHP Manual
  • Swoole\Server
  • Used in task process for sending result to the worker process when the task is finished.

Swoole\Server::finish

(PECL swoole >= 1.9.0)

Swoole\Server::finish — Used in task process for sending result to the worker process when the task is finished.

Descrição

public Swoole\Server::finish ( string $data ) : void

Parâmetros

data

Valor Retornado


Get the connection info by file description.

  • « Swoole\Server::finish
  • Swoole\Server::getClientList »
  • PHP Manual
  • Swoole\Server
  • Get the connection info by file description.

Swoole\Server::getClientInfo

(PECL swoole >= 1.9.0)

Swoole\Server::getClientInfo — Get the connection info by file description.

Descrição

public Swoole\Server::getClientInfo ( int $fd , int $reactor_id = ? ) : ReturnType

Parâmetros

fd

reactor_id

Valor Retornado


Get all of the established connections.

  • « Swoole\Server::getClientInfo
  • Swoole\Server::getLastError »
  • PHP Manual
  • Swoole\Server
  • Get all of the established connections.

Swoole\Server::getClientList

(PECL swoole >= 1.9.0)

Swoole\Server::getClientList — Get all of the established connections.

Descrição

public Swoole\Server::getClientList ( int $start_fd , int $pagesize = ? ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

start_fd

pagesize

Valor Retornado


Get the error code of the most recent error.

  • « Swoole\Server::getClientList
  • Swoole\Server::heartbeat »
  • PHP Manual
  • Swoole\Server
  • Get the error code of the most recent error.

Swoole\Server::getLastError

(PECL swoole >= 1.9.0)

Swoole\Server::getLastError — Get the error code of the most recent error.

Descrição

public Swoole\Server::getLastError ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Check all the connections on the server.

  • « Swoole\Server::getLastError
  • Swoole\Server::listen »
  • PHP Manual
  • Swoole\Server
  • Check all the connections on the server.

Swoole\Server::heartbeat

(PECL swoole >= 1.9.0)

Swoole\Server::heartbeat — Check all the connections on the server.

Descrição

public Swoole\Server::heartbeat ( bool $if_close_connection ) : mixed

Parâmetros

if_close_connection

Valor Retornado


Listen on the given IP and port, socket type.

  • « Swoole\Server::heartbeat
  • Swoole\Server::on »
  • PHP Manual
  • Swoole\Server
  • Listen on the given IP and port, socket type.

Swoole\Server::listen

(PECL swoole >= 1.9.0)

Swoole\Server::listen — Listen on the given IP and port, socket type.

Descrição

public Swoole\Server::listen ( string $host , int $port , string $socket_type ) : bool

Parâmetros

host

port

socket_type

Valor Retornado


Register a callback function by event name.

  • « Swoole\Server::listen
  • Swoole\Server::pause »
  • PHP Manual
  • Swoole\Server
  • Register a callback function by event name.

Swoole\Server::on

(PECL swoole >= 1.9.0)

Swoole\Server::on — Register a callback function by event name.

Descrição

public Swoole\Server::on ( string $event_name , callable $callback ) : void

Parâmetros

event_name

callback

Valor Retornado


Stop receiving data from the connection.

  • « Swoole\Server::on
  • Swoole\Server::protect »
  • PHP Manual
  • Swoole\Server
  • Stop receiving data from the connection.

Swoole\Server::pause

(PECL swoole >= 1.9.0)

Swoole\Server::pause — Stop receiving data from the connection.

Descrição

public Swoole\Server::pause ( int $fd ) : void

Parâmetros

fd

Valor Retornado


Set the connection to be protected mode.

  • « Swoole\Server::pause
  • Swoole\Server::reload »
  • PHP Manual
  • Swoole\Server
  • Set the connection to be protected mode.

Swoole\Server::protect

(PECL swoole >= 1.9.0)

Swoole\Server::protect — Set the connection to be protected mode.

Descrição

public Swoole\Server::protect ( int $fd , bool $is_protected = ? ) : void

Parâmetros

fd

is_protected

Valor Retornado


Restart all the worker process.

  • « Swoole\Server::protect
  • Swoole\Server::resume »
  • PHP Manual
  • Swoole\Server
  • Restart all the worker process.

Swoole\Server::reload

(PECL swoole >= 1.9.0)

Swoole\Server::reload — Restart all the worker process.

Descrição

public Swoole\Server::reload ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Start receving data from the connection.

  • « Swoole\Server::reload
  • Swoole\Server::send »
  • PHP Manual
  • Swoole\Server
  • Start receving data from the connection.

Swoole\Server::resume

(PECL swoole >= 1.9.0)

Swoole\Server::resume — Start receving data from the connection.

Descrição

public Swoole\Server::resume ( int $fd ) : void

Parâmetros

fd

Valor Retornado


Send data to the client.

  • « Swoole\Server::resume
  • Swoole\Server::sendfile »
  • PHP Manual
  • Swoole\Server
  • Send data to the client.

Swoole\Server::send

(PECL swoole >= 1.9.0)

Swoole\Server::send — Send data to the client.

Descrição

public Swoole\Server::send ( int $fd , string $data , int $reactor_id = ? ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

fd

data

reactor_id

Valor Retornado


Send file to the connection.

  • « Swoole\Server::send
  • Swoole\Server::sendMessage »
  • PHP Manual
  • Swoole\Server
  • Send file to the connection.

Swoole\Server::sendfile

(PECL swoole >= 1.9.0)

Swoole\Server::sendfile — Send file to the connection.

Descrição

public Swoole\Server::sendfile ( int $fd , string $filename , int $offset = ? ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

fd

filename

offset

Valor Retornado


Send message to worker processes by ID.

  • « Swoole\Server::sendfile
  • Swoole\Server::sendto »
  • PHP Manual
  • Swoole\Server
  • Send message to worker processes by ID.

Swoole\Server::sendMessage

(PECL swoole >= 1.9.0)

Swoole\Server::sendMessage — Send message to worker processes by ID.

Descrição

public Swoole\Server::sendMessage ( int $worker_id , string $data ) : bool

Parâmetros

dst_worker_id

data

Valor Retornado


Send data to the remote UDP address.

  • « Swoole\Server::sendMessage
  • Swoole\Server::sendwait »
  • PHP Manual
  • Swoole\Server
  • Send data to the remote UDP address.

Swoole\Server::sendto

(PECL swoole >= 1.9.0)

Swoole\Server::sendto — Send data to the remote UDP address.

Descrição

public Swoole\Server::sendto ( string $ip , int $port , string $data , string $server_socket = ? ) : bool

Parâmetros

ip

port

data

server_socket

Valor Retornado


Send data to the remote socket in the blocking way.

  • « Swoole\Server::sendto
  • Swoole\Server::set »
  • PHP Manual
  • Swoole\Server
  • Send data to the remote socket in the blocking way.

Swoole\Server::sendwait

(PECL swoole >= 1.9.0)

Swoole\Server::sendwait — Send data to the remote socket in the blocking way.

Descrição

public Swoole\Server::sendwait ( int $fd , string $data ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

fd

data

Valor Retornado


Set the runtime settings of the swoole server.

  • « Swoole\Server::sendwait
  • Swoole\Server::shutdown »
  • PHP Manual
  • Swoole\Server
  • Set the runtime settings of the swoole server.

Swoole\Server::set

(PECL swoole >= 1.9.0)

Swoole\Server::set — Set the runtime settings of the swoole server.

Descrição

public Swoole\Server::set ( array $settings ) : ReturnType

Set the runtime settings of the swoole server. The settings can be accessed by $server->setting when the swoole server has started.

Parâmetros

settings

Valor Retornado


Shutdown the master server process, this function can be called in worker processes.

  • « Swoole\Server::set
  • Swoole\Server::start »
  • PHP Manual
  • Swoole\Server
  • Shutdown the master server process, this function can be called in worker processes.

Swoole\Server::shutdown

(PECL swoole >= 1.9.0)

Swoole\Server::shutdown — Shutdown the master server process, this function can be called in worker processes.

Descrição

public Swoole\Server::shutdown ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Inicia o servidor Swoole.

  • « Swoole\Server::shutdown
  • Swoole\Server::stats »
  • PHP Manual
  • Swoole\Server
  • Inicia o servidor Swoole.

Swoole\Server::start

(PECL swoole >= 1.9.0)

Swoole\Server::start — Inicia o servidor Swoole.

Descrição

public Swoole\Server::start ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get the stats of the Swoole server.

  • « Swoole\Server::start
  • Swoole\Server::stop »
  • PHP Manual
  • Swoole\Server
  • Get the stats of the Swoole server.

Swoole\Server::stats

(PECL swoole >= 1.9.0)

Swoole\Server::stats — Get the stats of the Swoole server.

Descrição

public Swoole\Server::stats ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Stop the Swoole server.

  • « Swoole\Server::stats
  • Swoole\Server::task »
  • PHP Manual
  • Swoole\Server
  • Stop the Swoole server.

Swoole\Server::stop

(PECL swoole >= 1.9.0)

Swoole\Server::stop — Stop the Swoole server.

Descrição

public Swoole\Server::stop ( int $worker_id = ? ) : bool

Parâmetros

worker_id

Valor Retornado


Send data to the task worker processes.

  • « Swoole\Server::stop
  • Swoole\Server::taskwait »
  • PHP Manual
  • Swoole\Server
  • Send data to the task worker processes.

Swoole\Server::task

(PECL swoole >= 1.9.0)

Swoole\Server::task — Send data to the task worker processes.

Descrição

public Swoole\Server::task ( string $data , int $dst_worker_id = ? , callable $callback = ? ) : mixed

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

data

dst_worker_id

callback

Valor Retornado


Send data to the task worker processes in blocking way.

  • « Swoole\Server::task
  • Swoole\Server::taskWaitMulti »
  • PHP Manual
  • Swoole\Server
  • Send data to the task worker processes in blocking way.

Swoole\Server::taskwait

(PECL swoole >= 1.9.0)

Swoole\Server::taskwait — Send data to the task worker processes in blocking way.

Descrição

public Swoole\Server::taskwait ( string $data , float $timeout = ? , int $worker_id = ? ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

data

timeout

worker_id

Valor Retornado


Execute multiple tasks concurrently.

  • « Swoole\Server::taskwait
  • Swoole\Server::tick »
  • PHP Manual
  • Swoole\Server
  • Execute multiple tasks concurrently.

Swoole\Server::taskWaitMulti

(PECL swoole >= 1.9.0)

Swoole\Server::taskWaitMulti — Execute multiple tasks concurrently.

Descrição

public Swoole\Server::taskWaitMulti ( array $tasks , double $timeout_ms = ? ) : void

Parâmetros

tasks

timeout_ms

Valor Retornado


Repeats a given function at every given time-interval.

  • « Swoole\Server::taskWaitMulti
  • Swoole\Table »
  • PHP Manual
  • Swoole\Server
  • Repeats a given function at every given time-interval.

Swoole\Server::tick

(PECL swoole >= 1.9.0)

Swoole\Server::tick — Repeats a given function at every given time-interval.

Descrição

public Swoole\Server::tick ( int $interval_ms , callable $callback ) : void

Parâmetros

interval_ms

callback

Valor Retornado


The Swoole\Table class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Table implements Iterator , Countable {
/* Constants */
const int TYPE_INT = 1 ;
const int TYPE_STRING = 7 ;
const int TYPE_FLOAT = 6 ;
/* Métodos */
public column ( string $name , string $type , int $size = ? ) : ReturnType
public count ( ) : int
public create ( ) : void
public current ( ) : array
public decr ( string $key , string $column , int $decrby = ? ) : ReturnType
public del ( string $key ) : void
public destroy ( ) : void
public exist ( string $key ) : bool
public get ( string $row_key , string $column_key ) : int
public incr ( string $key , string $column , int $incrby = ? ) : void
public key ( ) : string
public next ( ) : ReturnType
public rewind ( ) : void
public set ( string $key , array $value ) : VOID
public valid ( ) : bool
}

Constantes pré-definidas

Swoole\Table::TYPE_INT

Swoole\Table::TYPE_STRING

Swoole\Table::TYPE_FLOAT

Índice

  • Swoole\Table::column — Set the data type and size of the columns.
  • Swoole\Table::__construct — Construct a Swoole memory table with fixed size.
  • Swoole\Table::count — Count the rows in the table, or count all the elements in the table if $mode = 1.
  • Swoole\Table::create — Create the swoole memory table.
  • Swoole\Table::current — Get the current row.
  • Swoole\Table::decr — Decrement the value in the Swoole table by $row_key and $column_key.
  • Swoole\Table::del — Delete a row in the Swoole table by $row_key.
  • Swoole\Table::destroy — Destroy the Swoole table.
  • Swoole\Table::exist — Check if a row is existed by $row_key.
  • Swoole\Table::get — Get the value in the Swoole table by $row_key and $column_key.
  • Swoole\Table::incr — Increment the value by $row_key and $column_key.
  • Swoole\Table::key — Get the key of current row.
  • Swoole\Table::next — Iterator the next row.
  • Swoole\Table::rewind — Rewind the iterator.
  • Swoole\Table::set — Update a row of the table by $row_key.
  • Swoole\Table::valid — Check current if the current row is valid.


Set the data type and size of the columns.

  • « Swoole\Table
  • Swoole\Table::__construct »
  • PHP Manual
  • Swoole\Table
  • Set the data type and size of the columns.

Swoole\Table::column

(PECL swoole >= 1.9.0)

Swoole\Table::column — Set the data type and size of the columns.

Descrição

public Swoole\Table::column ( string $name , string $type , int $size = ? ) : ReturnType

Parâmetros

name

type

size

Valor Retornado


Construct a Swoole memory table with fixed size.

  • « Swoole\Table::column
  • Swoole\Table::count »
  • PHP Manual
  • Swoole\Table
  • Construct a Swoole memory table with fixed size.

Swoole\Table::__construct

(PECL swoole >= 1.9.0)

Swoole\Table::__construct — Construct a Swoole memory table with fixed size.

Descrição

public Swoole\Table::__construct ( int $table_size )

Parâmetros

table_size


Count the rows in the table, or count all the elements in the table if $mode = 1.

  • « Swoole\Table::__construct
  • Swoole\Table::create »
  • PHP Manual
  • Swoole\Table
  • Count the rows in the table, or count all the elements in the table if $mode = 1.

Swoole\Table::count

(PECL swoole >= 1.9.0)

Swoole\Table::count — Count the rows in the table, or count all the elements in the table if $mode = 1.

Descrição

public Swoole\Table::count ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Create the swoole memory table.

  • « Swoole\Table::count
  • Swoole\Table::current »
  • PHP Manual
  • Swoole\Table
  • Create the swoole memory table.

Swoole\Table::create

(PECL swoole >= 1.9.0)

Swoole\Table::create — Create the swoole memory table.

Descrição

public Swoole\Table::create ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get the current row.

  • « Swoole\Table::create
  • Swoole\Table::decr »
  • PHP Manual
  • Swoole\Table
  • Get the current row.

Swoole\Table::current

(PECL swoole >= 1.9.0)

Swoole\Table::current — Get the current row.

Descrição

public Swoole\Table::current ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Decrement the value in the Swoole table by $row_key and $column_key.

  • « Swoole\Table::current
  • Swoole\Table::del »
  • PHP Manual
  • Swoole\Table
  • Decrement the value in the Swoole table by $row_key and $column_key.

Swoole\Table::decr

(PECL swoole >= 1.9.0)

Swoole\Table::decr — Decrement the value in the Swoole table by $row_key and $column_key.

Descrição

public Swoole\Table::decr ( string $key , string $column , int $decrby = ? ) : ReturnType

Parâmetros

key

column

decrby

Valor Retornado


Delete a row in the Swoole table by $row_key.

  • « Swoole\Table::decr
  • Swoole\Table::destroy »
  • PHP Manual
  • Swoole\Table
  • Delete a row in the Swoole table by $row_key.

Swoole\Table::del

(PECL swoole >= 1.9.0)

Swoole\Table::del — Delete a row in the Swoole table by $row_key.

Descrição

public Swoole\Table::del ( string $key ) : void

Parâmetros

key

Valor Retornado


Destroy the Swoole table.

  • « Swoole\Table::del
  • Swoole\Table::exist »
  • PHP Manual
  • Swoole\Table
  • Destroy the Swoole table.

Swoole\Table::destroy

(PECL swoole >= 1.9.0)

Swoole\Table::destroy — Destroy the Swoole table.

Descrição

public Swoole\Table::destroy ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Check if a row is existed by $row_key.

  • « Swoole\Table::destroy
  • Swoole\Table::get »
  • PHP Manual
  • Swoole\Table
  • Check if a row is existed by $row_key.

Swoole\Table::exist

(PECL swoole >= 1.9.0)

Swoole\Table::exist — Check if a row is existed by $row_key.

Descrição

public Swoole\Table::exist ( string $key ) : bool

Parâmetros

key

Valor Retornado


Get the value in the Swoole table by $row_key and $column_key.

  • « Swoole\Table::exist
  • Swoole\Table::incr »
  • PHP Manual
  • Swoole\Table
  • Get the value in the Swoole table by $row_key and $column_key.

Swoole\Table::get

(PECL swoole >= 1.9.0)

Swoole\Table::get — Get the value in the Swoole table by $row_key and $column_key.

Descrição

public Swoole\Table::get ( string $row_key , string $column_key ) : int

Parâmetros

row_key

column_key

Valor Retornado


Increment the value by $row_key and $column_key.

  • « Swoole\Table::get
  • Swoole\Table::key »
  • PHP Manual
  • Swoole\Table
  • Increment the value by $row_key and $column_key.

Swoole\Table::incr

(PECL swoole >= 1.9.0)

Swoole\Table::incr — Increment the value by $row_key and $column_key.

Descrição

public Swoole\Table::incr ( string $key , string $column , int $incrby = ? ) : void

Parâmetros

key

column

incrby

Valor Retornado


Get the key of current row.

  • « Swoole\Table::incr
  • Swoole\Table::next »
  • PHP Manual
  • Swoole\Table
  • Get the key of current row.

Swoole\Table::key

(PECL swoole >= 1.9.0)

Swoole\Table::key — Get the key of current row.

Descrição

public Swoole\Table::key ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Iterator the next row.

  • « Swoole\Table::key
  • Swoole\Table::rewind »
  • PHP Manual
  • Swoole\Table
  • Iterator the next row.

Swoole\Table::next

(PECL swoole >= 1.9.0)

Swoole\Table::next — Iterator the next row.

Descrição

public Swoole\Table::next ( ) : ReturnType

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Rewind the iterator.

  • « Swoole\Table::next
  • Swoole\Table::set »
  • PHP Manual
  • Swoole\Table
  • Rewind the iterator.

Swoole\Table::rewind

(PECL swoole >= 1.9.0)

Swoole\Table::rewind — Rewind the iterator.

Descrição

public Swoole\Table::rewind ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Update a row of the table by $row_key.

  • « Swoole\Table::rewind
  • Swoole\Table::valid »
  • PHP Manual
  • Swoole\Table
  • Update a row of the table by $row_key.

Swoole\Table::set

(PECL swoole >= 1.9.0)

Swoole\Table::set — Update a row of the table by $row_key.

Descrição

public Swoole\Table::set ( string $key , array $value ) : VOID

Parâmetros

key

value

Valor Retornado


Check current if the current row is valid.

  • « Swoole\Table::set
  • Swoole\Timer »
  • PHP Manual
  • Swoole\Table
  • Check current if the current row is valid.

Swoole\Table::valid

(PECL swoole >= 1.9.0)

Swoole\Table::valid — Check current if the current row is valid.

Descrição

public Swoole\Table::valid ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Swoole\Timer class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\Timer {
/* Métodos */
public static after ( int $after_time_ms , callable $callback ) : void
public static clear ( int $timer_id ) : void
public static exists ( int $timer_id ) : bool
public static tick ( int $interval_ms , callable $callback , string $param = ? ) : void
}

Índice

  • Swoole\Timer::after — Trigger a callback function after a period of time.
  • Swoole\Timer::clear — Delete a timer by timer ID.
  • Swoole\Timer::exists — Check if a timer is existed.
  • Swoole\Timer::tick — Repeats a given function at every given time-interval.


Trigger a callback function after a period of time.

  • « Swoole\Timer
  • Swoole\Timer::clear »
  • PHP Manual
  • Swoole\Timer
  • Trigger a callback function after a period of time.

Swoole\Timer::after

(PECL swoole >= 1.9.0)

Swoole\Timer::after — Trigger a callback function after a period of time.

Descrição

public static Swoole\Timer::after ( int $after_time_ms , callable $callback ) : void

Trigger a callback function after a period of time.

Parâmetros

after_time_ms

callback

Valor Retornado


Delete a timer by timer ID.

  • « Swoole\Timer::after
  • Swoole\Timer::exists »
  • PHP Manual
  • Swoole\Timer
  • Delete a timer by timer ID.

Swoole\Timer::clear

(PECL swoole >= 1.9.0)

Swoole\Timer::clear — Delete a timer by timer ID.

Descrição

public static Swoole\Timer::clear ( int $timer_id ) : void

Delete a timer by timer ID.

Parâmetros

timer_id

Valor Retornado


Check if a timer is existed.

  • « Swoole\Timer::clear
  • Swoole\Timer::tick »
  • PHP Manual
  • Swoole\Timer
  • Check if a timer is existed.

Swoole\Timer::exists

(PECL swoole >= 1.9.0)

Swoole\Timer::exists — Check if a timer is existed.

Descrição

public static Swoole\Timer::exists ( int $timer_id ) : bool

Check if a timer is existed.

Parâmetros

timer_id

Valor Retornado


Repeats a given function at every given time-interval.

  • « Swoole\Timer::exists
  • Swoole\WebSocket\Frame »
  • PHP Manual
  • Swoole\Timer
  • Repeats a given function at every given time-interval.

Swoole\Timer::tick

(PECL swoole >= 1.9.0)

Swoole\Timer::tick — Repeats a given function at every given time-interval.

Descrição

public static Swoole\Timer::tick ( int $interval_ms , callable $callback , string $param = ? ) : void

Parâmetros

interval_ms

callback

param

Valor Retornado


The Swoole\WebSocket\Frame class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\WebSocket\Frame {
/* Métodos */
}


The Swoole\WebSocket\Server class

(PECL swoole >= 1.9.0)

Introdução

Sinopse da classe

Swoole\WebSocket\Server extends Swoole\Http\Server {
/* Métodos */
public exist ( int $fd ) : bool
public on ( string $event_name , callable $callback ) : ReturnType
public static pack ( string $data , string $opcode = ? , string $finish = ? , string $mask = ? ) : binary
public push ( string $fd , string $data , string $opcode = ? , string $finish = ? ) : void
public static unpack ( binary $data ) : string
/* Métodos herdados */
public Swoole\Http\Server::on ( string $event_name , callable $callback ) : void
public Swoole\Http\Server::start ( ) : void
}

Índice

  • Swoole\WebSocket\Server::exist — Check if the file descriptor exists.
  • Swoole\WebSocket\Server::on — Register event callback function
  • Swoole\WebSocket\Server::pack — Get a pack of binary data to send in a single frame.
  • Swoole\WebSocket\Server::push — Push data to the remote client.
  • Swoole\WebSocket\Server::unpack — Unpack the binary data received from the client.


Check if the file descriptor exists.

  • « Swoole\WebSocket\Server
  • Swoole\WebSocket\Server::on »
  • PHP Manual
  • Swoole\WebSocket\Server
  • Check if the file descriptor exists.

Swoole\WebSocket\Server::exist

(PECL swoole >= 1.9.0)

Swoole\WebSocket\Server::exist — Check if the file descriptor exists.

Descrição

public Swoole\WebSocket\Server::exist ( int $fd ) : bool

Parâmetros

fd

Valor Retornado


Register event callback function

  • « Swoole\WebSocket\Server::exist
  • Swoole\WebSocket\Server::pack »
  • PHP Manual
  • Swoole\WebSocket\Server
  • Register event callback function

Swoole\WebSocket\Server::on

(PECL swoole >= 1.9.0)

Swoole\WebSocket\Server::on — Register event callback function

Descrição

public Swoole\WebSocket\Server::on ( string $event_name , callable $callback ) : ReturnType

Register event callback function

Parâmetros

event_name

callback

Valor Retornado


Get a pack of binary data to send in a single frame.

  • « Swoole\WebSocket\Server::on
  • Swoole\WebSocket\Server::push »
  • PHP Manual
  • Swoole\WebSocket\Server
  • Get a pack of binary data to send in a single frame.

Swoole\WebSocket\Server::pack

(PECL swoole >= 1.9.0)

Swoole\WebSocket\Server::pack — Get a pack of binary data to send in a single frame.

Descrição

public static Swoole\WebSocket\Server::pack ( string $data , string $opcode = ? , string $finish = ? , string $mask = ? ) : binary

Parâmetros

data

opcode

finish

mask

Valor Retornado


Push data to the remote client.

  • « Swoole\WebSocket\Server::pack
  • Swoole\WebSocket\Server::unpack »
  • PHP Manual
  • Swoole\WebSocket\Server
  • Push data to the remote client.

Swoole\WebSocket\Server::push

(PECL swoole >= 1.9.0)

Swoole\WebSocket\Server::push — Push data to the remote client.

Descrição

public Swoole\WebSocket\Server::push ( string $fd , string $data , string $opcode = ? , string $finish = ? ) : void

Parâmetros

fd

data

opcode

finish

Valor Retornado


Unpack the binary data received from the client.

  • « Swoole\WebSocket\Server::push
  • Tidy »
  • PHP Manual
  • Swoole\WebSocket\Server
  • Unpack the binary data received from the client.

Swoole\WebSocket\Server::unpack

(PECL swoole >= 1.9.0)

Swoole\WebSocket\Server::unpack — Unpack the binary data received from the client.

Descrição

public static Swoole\WebSocket\Server::unpack ( binary $data ) : string

Parâmetros

data

Valor Retornado


Tidy

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Exemplos
  • Funções do Tidy
    • ob_tidyhandler — ob_start callback function to repair the buffer
    • tidy_access_count — Returns the Number of Tidy accessibility warnings encountered for specified document
    • tidy_config_count — Returns the Number of Tidy configuration errors encountered for specified document
    • tidy_error_count — Returns the Number of Tidy errors encountered for specified document
    • tidy_get_output — Return a string representing the parsed tidy markup
    • tidy_warning_count — Returns the Number of Tidy warnings encountered for specified document


Introdução

Tidy é uma implementação do Tidy HTML clean e um utilitário reparador que permite você não somente limpar e manipular documentos HTML, mas também percorrer a árvore do documento.


Dependências

Para usar o Tidy, você irá precisar da libtidy instalada, disponível na homepage do tidy » http://tidy.sourceforge.net/.


Instalação

Tidy atualmente é disponível para PHP 4.3.x e PHP 5 como extensão PECL de » https://pecl.php.net/package/tidy.

Nota:

Tidy 1.0 é somente para PHP 4.3.x, e Tidy 2.0 é somente para PHP 5.

Se » PEAR está disponível em seu sistema *nix-like você pode usar o instalador pear para instalar a extensão tidy, pelo seguinte comando: pecl install tidy.

Você sempre pode fazer download do pacote tar.gz e instalar o tidy manualmente:

Exemplo #1 instalação do tidy manualmente no PHP 4.3.x

gunzip tidy-xxx.tgz
tar -xvf tidy-xxx.tar
cd tidy-xxx
phpize
./configure && make && make install

Usuários Windows podem fazer download da extensão DLL de php_tidy.dll.

No PHP 5 você irá precisar somente compilar usando a opção --with-tidy.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de Configuração do Tidy
Nome | Padrão | Modificável | Changelog
tidy.default_config | "" | PHP_INI_SYSTEM |
tidy.clean_output | "0" | PHP_INI_USER | PHP_INI_PERDIR antes do PHP 5.4.0
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

tidy.default_config string

Caminho padrão para o arquivo de configuração do tidy.

tidy.clean_output bool

Torna on/off a saída reparada pelo Tidy.

Aviso

Não ative tidy.clean_output se você está gerando conteúdo não-html como imagens dinâmicas.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Cada TIDY_TAG_XXX representa uma tag HTML. Por exemplo, TIDY_TAG_A representa a tag <a href="XX">link</a>. Cada TIDY_ATTR_XXX representa um atributo HTML. Por exemplo TIDY_ATTR_HREF representaria o atributo href no exemplo anterior.

As seguintes constantes são definidas:

Constantes de tag do Tidy
Constante
TIDY_TAG_UNKNOWN
TIDY_TAG_A
TIDY_TAG_ABBR
TIDY_TAG_ACRONYM
TIDY_TAG_ALIGN
TIDY_TAG_APPLET
TIDY_TAG_AREA
TIDY_TAG_B
TIDY_TAG_BASE
TIDY_TAG_BASEFONT
TIDY_TAG_BDO
TIDY_TAG_BGSOUND
TIDY_TAG_BIG
TIDY_TAG_BLINK
TIDY_TAG_BLOCKQUOTE
TIDY_TAG_BODY
TIDY_TAG_BR
TIDY_TAG_BUTTON
TIDY_TAG_CAPTION
TIDY_TAG_CENTER
TIDY_TAG_CITE
TIDY_TAG_CODE
TIDY_TAG_COL
TIDY_TAG_COLGROUP
TIDY_TAG_COMMENT
TIDY_TAG_DD
TIDY_TAG_DEL
TIDY_TAG_DFN
TIDY_TAG_DIR
TIDY_TAG_DIV
TIDY_TAG_DL
TIDY_TAG_DT
TIDY_TAG_EM
TIDY_TAG_EMBED
TIDY_TAG_FIELDSET
TIDY_TAG_FONT
TIDY_TAG_FORM
TIDY_TAG_FRAME
TIDY_TAG_FRAMESET
TIDY_TAG_H1
TIDY_TAG_H2
TIDY_TAG_H3
TIDY_TAG_H4
TIDY_TAG_H5
TIDY_TAG_H6
TIDY_TAG_HEAD
TIDY_TAG_HR
TIDY_TAG_HTML
TIDY_TAG_I
TIDY_TAG_IFRAME
TIDY_TAG_ILAYER
TIDY_TAG_IMG
TIDY_TAG_INPUT
TIDY_TAG_INS
TIDY_TAG_ISINDEX
TIDY_TAG_KBD
TIDY_TAG_KEYGEN
TIDY_TAG_LABEL
TIDY_TAG_LAYER
TIDY_TAG_LEGEND
TIDY_TAG_LI
TIDY_TAG_LINK
TIDY_TAG_LISTING
TIDY_TAG_MAP
TIDY_TAG_MARQUEE
TIDY_TAG_MENU
TIDY_TAG_META
TIDY_TAG_MULTICOL
TIDY_TAG_NOBR
TIDY_TAG_NOEMBED
TIDY_TAG_NOFRAMES
TIDY_TAG_NOLAYER
TIDY_TAG_NOSAVE
TIDY_TAG_NOSCRIPT
TIDY_TAG_OBJECT
TIDY_TAG_OL
TIDY_TAG_OPTGROUP
TIDY_TAG_OPTION
TIDY_TAG_P
TIDY_TAG_PARAM
TIDY_TAG_PLAINTEXT
TIDY_TAG_PRE
TIDY_TAG_Q
TIDY_TAG_RP
TIDY_TAG_RT
TIDY_TAG_RTC
TIDY_TAG_RUBY
TIDY_TAG_S
TIDY_TAG_SAMP
TIDY_TAG_SCRIPT
TIDY_TAG_SELECT
TIDY_TAG_SERVER
TIDY_TAG_SERVLET
TIDY_TAG_SMALL
TIDY_TAG_SPACER
TIDY_TAG_SPAN
TIDY_TAG_STRIKE
TIDY_TAG_STRONG
TIDY_TAG_STYLE
TIDY_TAG_SUB
TIDY_TAG_TABLE
TIDY_TAG_TBODY
TIDY_TAG_TD
TIDY_TAG_TEXTAREA
TIDY_TAG_TFOOT
TIDY_TAG_TH
TIDY_TAG_THEAD
TIDY_TAG_TITLE
TIDY_TAG_TR
TIDY_TAG_TR
TIDY_TAG_TT
TIDY_TAG_U
TIDY_TAG_UL
TIDY_TAG_VAR
TIDY_TAG_WBR
TIDY_TAG_XMP

Constantes de atributo do Tidy
Constante
TIDY_ATTR_UNKNOWN
TIDY_ATTR_ABBR
TIDY_ATTR_ACCEPT
TIDY_ATTR_ACCEPT_CHARSET
TIDY_ATTR_ACCESSKEY
TIDY_ATTR_ACTION
TIDY_ATTR_ADD_DATE
TIDY_ATTR_ALIGN
TIDY_ATTR_ALINK
TIDY_ATTR_ALT
TIDY_ATTR_ARCHIVE
TIDY_ATTR_AXIS
TIDY_ATTR_BACKGROUND
TIDY_ATTR_BGCOLOR
TIDY_ATTR_BGPROPERTIES
TIDY_ATTR_BORDER
TIDY_ATTR_BORDERCOLOR
TIDY_ATTR_BOTTOMMARGIN
TIDY_ATTR_CELLPADDING
TIDY_ATTR_CELLSPACING
TIDY_ATTR_CHAR
TIDY_ATTR_CHAROFF
TIDY_ATTR_CHARSET
TIDY_ATTR_CHECKED
TIDY_ATTR_CITE
TIDY_ATTR_CLASS
TIDY_ATTR_CLASSID
TIDY_ATTR_CLEAR
TIDY_ATTR_CODE
TIDY_ATTR_CODEBASE
TIDY_ATTR_CODETYPE
TIDY_ATTR_COLOR
TIDY_ATTR_COLS
TIDY_ATTR_COLSPAN
TIDY_ATTR_COMPACT
TIDY_ATTR_CONTENT
TIDY_ATTR_COORDS
TIDY_ATTR_DATA
TIDY_ATTR_DATAFLD
TIDY_ATTR_DATAPAGESIZE
TIDY_ATTR_DATASRC
TIDY_ATTR_DATETIME
TIDY_ATTR_DECLARE
TIDY_ATTR_DEFER
TIDY_ATTR_DIR
TIDY_ATTR_DISABLED
TIDY_ATTR_ENCODING
TIDY_ATTR_ENCTYPE
TIDY_ATTR_FACE
TIDY_ATTR_FOR
TIDY_ATTR_FRAME
TIDY_ATTR_FRAMEBORDER
TIDY_ATTR_FRAMESPACING
TIDY_ATTR_GRIDX
TIDY_ATTR_GRIDY
TIDY_ATTR_HEADERS
TIDY_ATTR_HEIGHT
TIDY_ATTR_HREF
TIDY_ATTR_HREFLANG
TIDY_ATTR_HSPACE
TIDY_ATTR_HTTP_EQUIV
TIDY_ATTR_ID
TIDY_ATTR_ISMAP
TIDY_ATTR_LABEL
TIDY_ATTR_LANG
TIDY_ATTR_LANGUAGE
TIDY_ATTR_LAST_MODIFIED
TIDY_ATTR_LAST_VISIT
TIDY_ATTR_LEFTMARGIN
TIDY_ATTR_LINK
TIDY_ATTR_LONGDESC
TIDY_ATTR_LOWSRC
TIDY_ATTR_MARGINHEIGHT
TIDY_ATTR_MARGINWIDTH
TIDY_ATTR_MAXLENGTH
TIDY_ATTR_MEDIA
TIDY_ATTR_METHOD
TIDY_ATTR_MULTIPLE
TIDY_ATTR_NAME
TIDY_ATTR_NOHREF
TIDY_ATTR_NORESIZE
TIDY_ATTR_NOSHADE
TIDY_ATTR_NOWRAP
TIDY_ATTR_OBJECT
TIDY_ATTR_OnAFTERUPDATE
TIDY_ATTR_OnBEFOREUNLOAD
TIDY_ATTR_OnBEFOREUPDATE
TIDY_ATTR_OnBLUR
TIDY_ATTR_OnCHANGE
TIDY_ATTR_OnCLICK
TIDY_ATTR_OnDATAAVAILABLE
TIDY_ATTR_OnDATASETCHANGED
TIDY_ATTR_OnDATASETCOMPLETE
TIDY_ATTR_OnDBLCLICK
TIDY_ATTR_OnERRORUPDATE
TIDY_ATTR_OnFOCUS
TIDY_ATTR_OnKEYDOWN
TIDY_ATTR_OnKEYPRESS
TIDY_ATTR_OnKEYUP
TIDY_ATTR_OnLOAD
TIDY_ATTR_OnMOUSEDOWN
TIDY_ATTR_OnMOUSEMOVE
TIDY_ATTR_OnMOUSEOUT
TIDY_ATTR_OnMOUSEOVER
TIDY_ATTR_OnMOUSEUP
TIDY_ATTR_OnRESET
TIDY_ATTR_OnROWENTER
TIDY_ATTR_OnROWEXIT
TIDY_ATTR_OnSELECT
TIDY_ATTR_OnSUBMIT
TIDY_ATTR_OnUNLOAD
TIDY_ATTR_PROFILE
TIDY_ATTR_PROMPT
TIDY_ATTR_RBSPAN
TIDY_ATTR_READONLY
TIDY_ATTR_REL
TIDY_ATTR_REV
TIDY_ATTR_RIGHTMARGIN
TIDY_ATTR_ROWS
TIDY_ATTR_ROWSPAN
TIDY_ATTR_RULES
TIDY_ATTR_SCHEME
TIDY_ATTR_SCOPE
TIDY_ATTR_SCROLLING
TIDY_ATTR_SELECTED
TIDY_ATTR_SHAPE
TIDY_ATTR_SHOWGRID
TIDY_ATTR_SHOWGRIDX
TIDY_ATTR_SHOWGRIDY
TIDY_ATTR_SIZE
TIDY_ATTR_SPAN
TIDY_ATTR_SRC
TIDY_ATTR_STANDBY
TIDY_ATTR_START
TIDY_ATTR_STYLE
TIDY_ATTR_SUMMARY
TIDY_ATTR_TABINDEX
TIDY_ATTR_TARGET
TIDY_ATTR_TEXT
TIDY_ATTR_TITLE
TIDY_ATTR_TOPMARGIN
TIDY_ATTR_TYPE
TIDY_ATTR_USEMAP
TIDY_ATTR_VALIGN
TIDY_ATTR_VALUE
TIDY_ATTR_VALUETYPE
TIDY_ATTR_VERSION
TIDY_ATTR_VLINK
TIDY_ATTR_VSPACE
TIDY_ATTR_WIDTH
TIDY_ATTR_WRAP
TIDY_ATTR_XML_LANG
TIDY_ATTR_XML_SPACE
TIDY_ATTR_XMLNS

Constantes de tipo de node do Tidy
Constante | Descrição
TIDY_NODETYPE_ROOT | root node
TIDY_NODETYPE_DOCTYPE | doctype
TIDY_NODETYPE_COMMENT | Comentário HTML
TIDY_NODETYPE_PROCINS | Processamento de instrução
TIDY_NODETYPE_TEXT | Texto
TIDY_NODETYPE_START | Tag inicial
TIDY_NODETYPE_END | Tag final
TIDY_NODETYPE_STARTEND | Tag vazia
TIDY_NODETYPE_CDATA | CDATA
TIDY_NODETYPE_SECTION | Seção XML
TIDY_NODETYPE_ASP | Código ASP
TIDY_NODETYPE_JSTE | Código JSTE
TIDY_NODETYPE_PHP | Código PHP
TIDY_NODETYPE_XMLDECL | Declaração XML


  • « Constantes pré-definidas
  • Exemplos »
  • PHP Manual
  • Tidy
  • Exemplos

Exemplos

Índice

  • Exemplos


Exemplos

Este exemplo simples mostra o básico do uso do Tidy.

Exemplo #1 Básico uso do Tidy

<?php
ob_start();
?>
<html>a html document</html>
<?php
$html = ob_get_clean();

// Specify configuration
$config = array(
           'indent'         => true,
           'output-xhtml'   => true,
           'wrap'           => 200);

// Tidy
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();

// Output
echo $tidy;
?>


Funções do Tidy

Classes pré-definidas

tidyNode

Propriedades

  • value - o valor da tag (e.g. the html text)

  • name - o nome da tag (e.g. html, a, etc..)

  • type - o tipo de node (uma das constantes acima, e.g. TIDY_NODETYPE_PHP)

  • line* - a linha onde o node inicia

  • column* - a coluna onde o node inicia

  • proprietary* - true se o node refere-se a uma tag proprietária

  • id - o ID da tag (um das constantes acima, e.g. TIDY_TAG_FRAME)

  • attribute - um array com os atributos do node atual, ou null se não existir algum

  • child - um array com o filho do tidyNodes, ou null se não existir algum

Nota:

As propriedades marcadas com * estão disponíveis somente a partir do PHP 5.1.0.

Índice

  • ob_tidyhandler — ob_start callback function to repair the buffer
  • tidy_access_count — Returns the Number of Tidy accessibility warnings encountered for specified document
  • tidy_config_count — Returns the Number of Tidy configuration errors encountered for specified document
  • tidy_error_count — Returns the Number of Tidy errors encountered for specified document
  • tidy_get_output — Return a string representing the parsed tidy markup
  • tidy_warning_count — Returns the Number of Tidy warnings encountered for specified document


ob_start callback function to repair the buffer

  • « Funções do Tidy
  • tidy_access_count »
  • PHP Manual
  • Funções do Tidy
  • ob_start callback function to repair the buffer

ob_tidyhandler

(PHP 5, PHP 7, PHP 8)

ob_tidyhandler — ob_start callback function to repair the buffer

Descrição

ob_tidyhandler ( string $input , int $mode = ? ) : string

Callback function for ob_start() to repair the buffer.

Parâmetros

input

The buffer.

mode

The buffer mode.

Valor Retornado

Returns the modified buffer.

Exemplos

Exemplo #1 ob_tidyhandler() example

<?php
ob_start('ob_tidyhandler');

echo '<p>test</i>';
?>

O exemplo acima irá imprimir:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

Veja Também

  • ob_start() - Ativa o buffer de saída


Returns the Number of Tidy accessibility warnings encountered for specified document

  • « ob_tidyhandler
  • tidy_config_count »
  • PHP Manual
  • Funções do Tidy
  • Returns the Number of Tidy accessibility warnings encountered for specified document

tidy_access_count

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy_access_count — Returns the Number of Tidy accessibility warnings encountered for specified document

Descrição

tidy_access_count ( tidy $tidy ) : int

tidy_access_count() returns the number of accessibility warnings found for the specified document.

Parâmetros

tidy

Um objeto Tidy.

Valor Retornado

Returns the number of warnings.

Exemplos

Exemplo #1 tidy_access_count() example

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Title</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

// select the accessibility check level: 1, 2 or 3
$config = array('accessibility-check' => 3);

$tidy = new tidy();
$tidy->parseString($html, $config);
$tidy->cleanRepair();

/* Never forget to call this! */
$tidy->diagnose();

echo tidy_access_count($tidy); //5

?>

Notas

Nota:

Due to the design of the TidyLib, you must call tidy_diagnose() before tidy_access_count() or it will return always 0. You must also need to enable the accessibility-check option.

Veja Também

  • tidy_error_count() - Returns the Number of Tidy errors encountered for specified document
  • tidy_warning_count() - Returns the Number of Tidy warnings encountered for specified document


Returns the Number of Tidy configuration errors encountered for specified document

  • « tidy_access_count
  • tidy_error_count »
  • PHP Manual
  • Funções do Tidy
  • Returns the Number of Tidy configuration errors encountered for specified document

tidy_config_count

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy_config_count — Returns the Number of Tidy configuration errors encountered for specified document

Descrição

tidy_config_count ( tidy $tidy ) : int

Returns the number of errors encountered in the configuration of the specified tidy tidy.

Parâmetros

tidy

Um objeto Tidy.

Valor Retornado

Returns the number of errors.

Exemplos

Exemplo #1 tidy_config_count() example

<?php
$html = '<p>test</I>';

$config = array('doctype' => 'bogus');

$tidy = tidy_parse_string($html, $config);

/* This outputs 1, because 'bogus' isn't a valid doctype */
echo tidy_config_count($tidy);
?>


Returns the Number of Tidy errors encountered for specified document

  • « tidy_config_count
  • tidy_get_output »
  • PHP Manual
  • Funções do Tidy
  • Returns the Number of Tidy errors encountered for specified document

tidy_error_count

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy_error_count — Returns the Number of Tidy errors encountered for specified document

Descrição

tidy_error_count ( tidy $tidy ) : int

Returns the number of Tidy errors encountered for the specified document.

Parâmetros

tidy

Um objeto Tidy.

Valor Retornado

Returns the number of errors.

Exemplos

Exemplo #1 tidy_error_count() example

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1

echo $tidy->errorBuffer;
?>

O exemplo acima irá imprimir:

1
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 8 - Warning: discarding unexpected </i>
line 2 column 1 - Error: <bogustag> is not recognized!
line 2 column 1 - Warning: discarding unexpected <bogustag>
line 2 column 16 - Warning: discarding unexpected </bogustag>
line 1 column 1 - Warning: inserting missing 'title' element

Veja Também

  • tidy_access_count() - Returns the Number of Tidy accessibility warnings encountered for specified document
  • tidy_warning_count() - Returns the Number of Tidy warnings encountered for specified document


Return a string representing the parsed tidy markup

  • « tidy_error_count
  • tidy_warning_count »
  • PHP Manual
  • Funções do Tidy
  • Return a string representing the parsed tidy markup

tidy_get_output

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy_get_output — Return a string representing the parsed tidy markup

Descrição

tidy_get_output ( tidy $tidy ) : string

Gets a string with the repaired html.

Parâmetros

tidy

Um objeto Tidy.

Valor Retornado

Returns the parsed tidy markup.

Exemplos

Exemplo #1 tidy_get_output() example

<?php

$html = '<p>paragraph</i>';
$tidy = tidy_parse_string($html);

$tidy->cleanRepair();

echo tidy_get_output($tidy);
?>

O exemplo acima irá imprimir:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>paragraph</p>
</body>
</html>


Returns the Number of Tidy warnings encountered for specified document

  • « tidy_get_output
  • Tokenizer »
  • PHP Manual
  • Funções do Tidy
  • Returns the Number of Tidy warnings encountered for specified document

tidy_warning_count

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy_warning_count — Returns the Number of Tidy warnings encountered for specified document

Descrição

tidy_warning_count ( tidy $tidy ) : int

Returns the number of Tidy warnings encountered for the specified document.

Parâmetros

tidy

Um objeto Tidy.

Valor Retornado

Returns the number of warnings.

Exemplos

Exemplo #1 tidy_warning_count() example

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1
echo tidy_warning_count($tidy) . "\n"; //5
?>

Veja Também

  • tidy_error_count() - Returns the Number of Tidy errors encountered for specified document
  • tidy_access_count() - Returns the Number of Tidy accessibility warnings encountered for specified document


Tokenizer

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Funções da Tokenizer
    • token_get_all — Divide um dado fonte em tokens do PHP
    • token_name — Pega o nome simbólico de um dado token do PHP


Introdução

As funções de tokenizer formam uma interface para o tokenizer do PHP imbutido no Engine Zend. Usando essas funções você pode escrever ferramentas próprias para análise e modificação de código PHP sem ter que lidar com a especificação da linguagem em um nível léxico.

Veja também o apêndice sobre tokens.


Instalação

Começando no PHP 4.3.0, essas funções estão habilitadas a menos que seja dito o contrário. Para versões anteriores, você tem que configurar e compilar o PHP com --enable-tokenizer. Você pode desabilitar suporte à extensão tokenizer com --disable-tokenizer.

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.

Nota: Suporte integrado para tokenizer está disponível a partir do PHP 4.3.0.


Constantes pré-definidas

Quando a extensão for ou compilado no PHP ou carregada dinamicamente em tempo de execução, os tokens listados em Lista de Tokens do Parser são definidos como constantes.


Exemplos

Aqui está um exemplo simples de scripts PHP usando o tokenizer que lerá um arquivo PHP, retirará todos os comentários do fonte e imprimirá apenas o código puro.

Exemplo #1 Retirando os comentários com o tokenizer

<?php
/*
* T_ML_COMMENT does not exist in PHP 5.
* The following three lines define it in order to
* preserve backwards compatibility.
*
* The next two lines define the PHP 5 only T_DOC_COMMENT,
* which we will mask as T_ML_COMMENT for PHP 4.
*/
if (!defined('T_ML_COMMENT')) {
   define('T_ML_COMMENT', T_COMMENT);
} else {
   define('T_DOC_COMMENT', T_ML_COMMENT);
}

$source = file_get_contents('example.php');
$tokens = token_get_all($source);

foreach ($tokens as $token) {
   if (is_string($token)) {
       // simple 1-character token
       echo $token;
   } else {
       // token array
       list($id, $text) = $token;

       switch ($id) {
           case T_COMMENT:
           case T_ML_COMMENT: // we've defined this
           case T_DOC_COMMENT: // and this
               // no action on comments
               break;

           default:
               // anything else -> output "as is"
               echo $text;
               break;
       }
   }
}
?>


Funções da Tokenizer

Índice

  • token_get_all — Divide um dado fonte em tokens do PHP
  • token_name — Pega o nome simbólico de um dado token do PHP


Divide um dado fonte em tokens do PHP

  • « Funções da Tokenizer
  • token_name »
  • PHP Manual
  • Funções da Tokenizer
  • Divide um dado fonte em tokens do PHP

token_get_all

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

token_get_all — Divide um dado fonte em tokens do PHP

Descrição

token_get_all ( string $source ) : array

token_get_all() avalia do o fonte source em tokens da linguagem PHP usando o avaliador léxico do Zend engine.

Para uma lista dos tokens do avaliador, veja Lista de Tokens do Parser, ou use token_name() para traduzir um valor de um token para sua representação em formato string.

Parâmetros

source

O código-fonte do PHP à ser avaliado.

Valor Retornado

Um array de identificadores de tokens. Cada identificador de token individual ou é um caracter único (ex.: ;, ., >, !, etc...), ou um array com três elementos contendo o índice do token no elemento 0, a string contendo o token original no elemento 1 e o número da linha no elemento 2.

Exemplos

Exemplo #1 Exemplo de uso de token_get_all()

<?php
$tokens = token_get_all('<?php'); // => array(array(T_OPEN_TAG, '<?'));
$tokens = token_get_all('<?php echo; ?>'); /* => array(
                                                  array(T_OPEN_TAG, '<?php'),
                                                  array(T_ECHO, 'echo'),
                                                  ';',
                                                  array(T_CLOSE_TAG, '?>') ); */
/* Note no exemplo a seguir que a string é avaliada com T_INLINE_HTML
   ao invés de esperado T_COMMENT (T_ML_COMMENT no PHP <5).
   Isso é porque nenhuma tag de abertura/fechamento foi usada no "código" provido.
   Isso seria equivalente a coloar comentários fora das tags <?php ?> em um arquivo normal. */
$tokens = token_get_all('/* comment */'); // => array(array(T_INLINE_HTML, '/* comment */'));
?>

Changelog

Versão | Descrição
5.2.2 | Números de linha são retornados no elemento 2


Pega o nome simbólico de um dado token do PHP

  • « token_get_all
  • URLs »
  • PHP Manual
  • Funções da Tokenizer
  • Pega o nome simbólico de um dado token do PHP

token_name

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

token_name — Pega o nome simbólico de um dado token do PHP

Descrição

token_name ( int $token ) : string

token_name() Pega o nome simbólico para o token do PHP.

Parâmetros

token

O valor do token.

Valor Retornado

O nome simbólico do token passado como parâmetro. O nome retornado é o mesmo nome da constante definida pelo token.

Exemplos

Exemplo #1 Exemplo de token_name()

<?php
// 260 é o valor do token T_REQUIRE
echo token_name(260);        // -> "T_REQUIRE"

// uma constante token é igual ao seu próprio nome
echo token_name(T_FUNCTION); // -> "T_FUNCTION"
?>

Veja Também

  • Lista de Tokens do Avaliador


URLs

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • URL Funções
    • base64_decode — Decodifica dados codificados com MIME base64
    • base64_encode — Codifica dados com MIME base64
    • get_headers — Retorna todos os cabeçalhos enviados pelo servidor em resposta à requisição HTTP
    • get_meta_tags — Extrai as informações das tag meta de um arquivo e retorna como uma matriz
    • http_build_query — Gera a string de consulta (query) em formato URL
    • parse_url — Interpreta uma URL e retorna os seus componentes
    • rawurldecode — Decodifica uma URL
    • rawurlencode — Codifica uma URL de acordo com RFC 3986
    • urldecode — Decodifica uma URL codificada
    • urlencode — Codifica uma URL


  • « URLs
  • Instalação/Configuração »
  • PHP Manual
  • URLs
  • Introdução

Introdução

Lidando com URLs: codificando, decodificando e interpretando.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

As seguintes constantes são para uso com parse_url() e estão disponíveis desde o PHP 5.1.2.

PHP_URL_SCHEME (integer)
PHP_URL_HOST (integer)
PHP_URL_PORT (integer)
PHP_URL_USER (integer)
PHP_URL_PASS (integer)
PHP_URL_PATH (integer)
PHP_URL_QUERY (integer)
PHP_URL_FRAGMENT (integer)


URL Funções

Índice

  • base64_decode — Decodifica dados codificados com MIME base64
  • base64_encode — Codifica dados com MIME base64
  • get_headers — Retorna todos os cabeçalhos enviados pelo servidor em resposta à requisição HTTP
  • get_meta_tags — Extrai as informações das tag meta de um arquivo e retorna como uma matriz
  • http_build_query — Gera a string de consulta (query) em formato URL
  • parse_url — Interpreta uma URL e retorna os seus componentes
  • rawurldecode — Decodifica uma URL
  • rawurlencode — Codifica uma URL de acordo com RFC 3986
  • urldecode — Decodifica uma URL codificada
  • urlencode — Codifica uma URL


Decodifica dados codificados com MIME base64

  • « URL Funções
  • base64_encode »
  • PHP Manual
  • URL Funções
  • Decodifica dados codificados com MIME base64

base64_decode

(PHP 4, PHP 5, PHP 7, PHP 8)

base64_decode — Decodifica dados codificados com MIME base64

Descrição

base64_decode ( string $data , bool $strict = ? ) : string

Decodifica uma informação base64 data.

Parâmetros

data

A informação a ser decodificada.

strict

Retorna false se a entrada contém espaço ou algum outro separador.

Valor Retornado

Retorna a informação original ou false em falha. O dado retornado pode ser binário.

Changelog

Versão | Descrição
5.2.0 | Adicionado strict

Exemplos

Exemplo #1 Exemplo da base64_decode()

<?php
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
echo base64_decode($str);
?>

O exemplo acima irá imprimir:

This is an encoded string

Veja Também

  • base64_encode() - Codifica dados com MIME base64
  • » RFC 2045 section 6.8


Codifica dados com MIME base64

  • « base64_decode
  • get_headers »
  • PHP Manual
  • URL Funções
  • Codifica dados com MIME base64

base64_encode

(PHP 4, PHP 5, PHP 7, PHP 8)

base64_encode — Codifica dados com MIME base64

Descrição

base64_encode ( string $data ) : string

Codifica a dada data com base64.

Esta codificação é designada para que dados binários durem no transporte sobre camadas de transorte que não são 8-bit clean, como mensagens de e-mail.

Dados codificados na Base-64 tem aproximadamente 33% mais espaço que dos dados originais.

Parâmetros

data

A informação a ser codificada.

Valor Retornado

A informação codificada, como uma string.

Exemplos

Exemplo #1 Exemplo base64_encode()

<?php
  $str = 'This is an encoded string';
  echo base64_encode($str);
?>

O exemplo acima irá imprimir:

VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==

Veja Também

  • base64_decode() - Decodifica dados codificados com MIME base64
  • chunk_split() - Divide uma string em pequenos pedaços
  • convert_uuencode() - Codifica com uuencode uma string
  • Seção 6.8 do » RFC 2045


Retorna todos os cabeçalhos enviados pelo servidor em resposta à requisição HTTP

  • « base64_encode
  • get_meta_tags »
  • PHP Manual
  • URL Funções
  • Retorna todos os cabeçalhos enviados pelo servidor em resposta à requisição HTTP

get_headers

(PHP 5, PHP 7, PHP 8)

get_headers — Retorna todos os cabeçalhos enviados pelo servidor em resposta à requisição HTTP

Descrição

get_headers ( string $url , int $format = ? ) : array

get_headers() retorna um array com os cabeçalhos enviados pelo servidor em resposta à requisição HTTP.

Parâmetros

url

A URL alvo.

format

Se o parâmetro opcional format tiver valor 1, get_headers() avalia a resposta e configura as chaves do array.

Valor Retornado

Retorna um array indexado ou associativo com os cabeçalhos, ou false em caso de falha.

Changelog

Versão | Descrição
5.1.3 | Essa função agora usa o contexto de streaming padrão, que pode ser alterado com a função stream_context_get_default().

Exemplos

Exemplo #1 Exemplo de uso de get_headers()

<?php
$url = 'http://www.example.com';

print_r(get_headers($url));

print_r(get_headers($url, 1));
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    [5] => Accept-Ranges: bytes
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

Array
(
    [0] => HTTP/1.1 200 OK
    [Date] => Sat, 29 May 2004 12:28:14 GMT
    [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
    [ETag] => "3f80f-1b6-3e1cb03b"
    [Accept-Ranges] => bytes
    [Content-Length] => 438
    [Connection] => close
    [Content-Type] => text/html
)


Extrai as informações das tag meta de um arquivo e retorna como uma matriz

  • « get_headers
  • http_build_query »
  • PHP Manual
  • URL Funções
  • Extrai as informações das tag meta de um arquivo e retorna como uma matriz

get_meta_tags

(PHP 4, PHP 5, PHP 7, PHP 8)

get_meta_tags — Extrai as informações das tag meta de um arquivo e retorna como uma matriz

Descrição

get_meta_tags ( string $filename , bool $use_include_path = ? ) : array

Abre filename e interpreta linha a linha procurando por tags <meta> no arquivo. Este pode ser um arquivo local ou uma URL. A interpretação termina em </head>.

Estabelecendo use_include_path em true fará com que o PHP tente abrir o arquivo dentro do include path como na diretiva include_path. Isto é usado para arquivos locais, não URLs.

Exemplo #1 O que get_meta_tags() interpreta

<meta name="author" content="name">
<meta name="keywords" content="php documentation">
<meta name="DESCRIPTION" content="a php manual">
<meta name="geo.position" content="49.33;-86.59">
</head> <!-- parsing stops here -->
(preste atenção aos finais de linha - PHP usa uma função nativa para interpretar, então um arquivo do Mac não irá funcionar).

O valor da propriedade name se torna a chave, o valor da propriedade content se torna o valor na matriz retornada, então você pode facilmente usar as funções de matriz para trabalhar com os valores. Caracteres especiais na propriedade name são substituidos por "_", o resto é convertido para minúsculas. Se duas tags meta tiverem o mesmo nome, apenas a ultima é retornada.

Exemplo #2 O que get_meta_tags() retorna

<?php
// Assumindo que as tags acima estão em www.example.com
$tags = get_meta_tags('http://www.example.com/');

// Veja que todas as chaves estão agora em minúsculas, e
// que agora o . foi substituido por _ na chave.
echo $tags['author'];       // name
echo $tags['keywords'];     // php documentation
echo $tags['description'];  // a php manual
echo $tags['geo_position']; // 49.33;-86.59
?>

Nota:

Apartir do PHP 4.0.5, get_meta_tags() suporta atributos HTML que não estejam entre aspas.

Veja também htmlentities() e urlencode().


Gera a string de consulta (query) em formato URL

  • « get_meta_tags
  • parse_url »
  • PHP Manual
  • URL Funções
  • Gera a string de consulta (query) em formato URL

http_build_query

(PHP 5, PHP 7, PHP 8)

http_build_query — Gera a string de consulta (query) em formato URL

Descrição

http_build_query ( array $formdata , string $numeric_prefix = ? , string $arg_separator = ? ) : string

Gera a string de consulta (query) em formato URL a partir de um array associativo (ou indexado).

Parâmetros

formdata

Pode ser uma array ou objeto contendo propriedades.

O array form pode ser uma estrutura simples, unidimensional, ou um array de arrays (que, por sua vez, pode contar outros array).

numeric_prefix

Se índices numéricos são usados no array base e esse parâmetro for fornecido, o número índice dos elementos será prefixado com seu valor, apenas no array base.

Isso é feito para permitir nomes de variáveis aceitáveis quando os dados forem decodificados pelo PHP ou por outra aplicação CGI posteriormente.

arg_separator

arg_separator.output é usado para separar argumentos, a não que esse parâmetro seja especificado. Nesse caso, o valor passado é usado como separador.

Valor Retornado

Retorna um string no formato de uma URL.

Changelog

Versão | Descrição
5.1.2 | O parâmetro arg_separator foi adicionao.
5.1.3 | colchetes são escapados, ou seja, recebem um caracter de controle.

Exemplos

Exemplo #1 Exemplo de uso de http_build_query()

<?php
$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
echo http_build_query($data, '', '&amp;'); // foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor

?>

Exemplo #2 http_build_query() com elementos indexados numericamente.

<?php
$data = array('foo', 'bar', 'baz', 'boom', 'cow' => 'milk', 'php' =>'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, 'myvar_');
?>

O exemplo acima irá imprimir:

0=foo&1=bar&2=baz&3=boom&cow=milk&php=hypertext+processor
myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_3=boom&cow=milk&php=hypertext+processor

Exemplo #3 http_build_query() com arrays complexos

<?php
$data = array('user'=>array('name'=>'Bob Smith',
                            'age'=>47,
                            'sex'=>'M',
                            'dob'=>'5/12/1956'),
              'pastimes'=>array('golf', 'opera', 'poker', 'rap'),
              'children'=>array('bobby'=>array('age'=>12,
                                               'sex'=>'M'),
                                'sally'=>array('age'=>8,
                                               'sex'=>'F')),
              'CEO');

echo http_build_query($data, 'flags_');
?>

isso resultará : (quebra de linhas para legibilidade)

user%5Bname%5D=Bob+Smith&user%5Bage%5D=47&user%5Bsex%5D=M&
user%5Bdob%5D=5%2F12%2F1956&pastimes%5B0%5D=golf&pastimes%5B1%5D=opera&
pastimes%5B2%5D=poker&pastimes%5B3%5D=rap&children%5Bbobby%5D%5Bage%5D=12&
children%5Bbobby%5D%5Bsex%5D=M&children%5Bsally%5D%5Bage%5D=8&
children%5Bsally%5D%5Bsex%5D=F&flags_0=CEO

Nota:

Apenas o elemento indexado numericamente no array base "CEO" recebeu um prefixo. Os outros índices numéricos, encontrados abaixo de "pastimes", não requerem uma string de prefixo para serem nomes de variáveis aceitáveis.

Exemplo #4 Usando http_build_query() com um objeto

<?php
class myClass {
    var $foo;
    var $baz;

    function myClass() {
        $this->foo = 'bar';
        $this->baz = 'boom';
    }
}

$data = new myClass();

echo http_build_query($data); // foo=bar&baz=boom

?>

Veja Também

  • parse_str() - Converte a string em variáveis
  • parse_url() - Interpreta uma URL e retorna os seus componentes
  • urlencode() - Codifica uma URL
  • array_walk() - Aplica uma determinada funcão em cada elemento de um array


Interpreta uma URL e retorna os seus componentes

  • « http_build_query
  • rawurldecode »
  • PHP Manual
  • URL Funções
  • Interpreta uma URL e retorna os seus componentes

parse_url

(PHP 4, PHP 5, PHP 7, PHP 8)

parse_url — Interpreta uma URL e retorna os seus componentes

Descrição

parse_url ( string $url , int $component = -1 ) : mixed

Esta função retorna uma matriz associativa retornando os vários componentes que estão presentes em uma url. Se um dos elementos não estiver presente, não será criada uma entrada para ele. Os valores dos elementos do array não são codificados.

Esta função não é um meio para validar a URL indicada, ela somente quebra nas partes listadas. URLs parciais também são aceitas, parse_url() tenta o melhor para interpreta-las corretamente.

Parâmetros

url

A URL a ser interpretada. Caracteres inválidos são substituídos por _.

component

Especifique uma das opções PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY ou PHP_URL_FRAGMENT para retornar um componente específico da URL como uma string (exceto para a opção PHP_URL_PORT, neste caso, um integer é retornado).

Valor Retornado

Para URLs extremamente mal formadas, parse_url() pode retornar false.

Se o parâmetro component for omitido, um array associativo é retornado. O array será composto de ao menos um elemento. As possíveis chaves do array são:

  • scheme - e.g. http
  • host
  • port
  • user
  • pass
  • path
  • query - após a interrogação ?
  • fragment - após a cancela #

Se o parâmetro component for informado, parse_url() retorna uma string (ou um integer, em caso de PHP_URL_PORT) ao invés de um array. Se o componente requisitado não existir na URL, null será retornado.

Changelog

Versão | Descrição
5.4.7 | Corrigido o reconhecimento do host quando o protocolo é omitido e um separador de componentes existe.
5.3.3 | Removido o E_WARNING que era emitido quando a interpretação de uma URL falhava.
5.1.2 | Adicionado o parâmetro component.

Exemplos

Exemplo #1 Um exemplo da parse_url()

<?php
$url = 'http://username:password@hostname:9090/path?arg=value#anchor';

var_dump(parse_url($url));
var_dump(parse_url($url, PHP_URL_SCHEME));
var_dump(parse_url($url, PHP_URL_USER));
var_dump(parse_url($url, PHP_URL_PASS));
var_dump(parse_url($url, PHP_URL_HOST));
var_dump(parse_url($url, PHP_URL_PORT));
var_dump(parse_url($url, PHP_URL_PATH));
var_dump(parse_url($url, PHP_URL_QUERY));
var_dump(parse_url($url, PHP_URL_FRAGMENT));
?>

O exemplo acima irá imprimir:

array(8) {
  ["scheme"]=>
  string(4) "http"
  ["host"]=>
  string(8) "hostname"
  ["port"]=>
  int(9090)
  ["user"]=>
  string(8) "username"
  ["pass"]=>
  string(8) "password"
  ["path"]=>
  string(5) "/path"
  ["query"]=>
  string(9) "arg=value"
  ["fragment"]=>
  string(6) "anchor"
}
string(4) "http"
string(8) "username"
string(8) "password"
string(8) "hostname"
int(9090)
string(5) "/path"
string(9) "arg=value"
string(6) "anchor"

Exemplo #2 Um exemplo da parse_url() sem o protocolo

<?php
$url = '//www.example.com/path?googleguy=googley';

// Prior to 5.4.7 this would show the path as "//www.example.com/path"
var_dump(parse_url($url));
?>

O exemplo acima irá imprimir:

array(3) {
  ["host"]=>
  string(15) "www.example.com"
  ["path"]=>
  string(5) "/path"
  ["query"]=>
  string(17) "googleguy=googley"
}

Notas

Nota:

Esta função pode não retornar resultados corretos para URLs relativas.

Nota:

O propósito dessa função é interpretar URLs e não URIs. Porém, para compatibilidade com versões anteriores, ela é capaz de interpretar o protocolo file:// no qual barras triplas (file:///...) são permitidas. Qualquer outro protocolo é inválido.

Veja Também

  • pathinfo() - Retorna informações sobre um caminho de arquivo
  • parse_str() - Converte a string em variáveis
  • http_build_query() - Gera a string de consulta (query) em formato URL
  • dirname() - Retorna o caminho/path do diretório pai
  • basename() - Retorna apenas a parte que corresponde ao nome do arquivo de um caminho/path


Decodifica uma URL

  • « parse_url
  • rawurlencode »
  • PHP Manual
  • URL Funções
  • Decodifica uma URL

rawurldecode

(PHP 4, PHP 5, PHP 7, PHP 8)

rawurldecode — Decodifica uma URL

Descrição

rawurldecode ( string $str ) : string

Retorna uma string em que as sequencias com o sinal porcento (%) seguida por dois digitos hexadecimais são substituidas pelos caracteres correspondentes.

Parâmetros

str

A URL a ser decodificada.

Valor Retornado

Retorna a URL decodificada, como uma string.

Exemplos

Exemplo #1 Exemplo da rawurldecode()

<?php

echo rawurldecode('foo%20bar%40baz'); // foo bar@baz

?>

Notas

Nota:

rawurldecode() não decodifica os sinais de adição ('+') em espaços. A função urldecode() faz isto.

Veja Também

  • rawurlencode() - Codifica uma URL de acordo com RFC 3986
  • urldecode() - Decodifica uma URL codificada
  • urlencode() - Codifica uma URL


Codifica uma URL de acordo com RFC 3986

  • « rawurldecode
  • urldecode »
  • PHP Manual
  • URL Funções
  • Codifica uma URL de acordo com RFC 3986

rawurlencode

(PHP 4, PHP 5, PHP 7, PHP 8)

rawurlencode — Codifica uma URL de acordo com RFC 3986

Descrição

rawurlencode ( string $str ) : string

Codifica uma dada string de acordo com » RFC 3986.

Parâmetros

str

A URL a ser codificada.

Valor Retornado

Retorna uma string na qual todos os caracteres alfa-numericos com exceção de -_.~ são substituidos com um sinal de porcento (%) seguido de dois digitos hexadecimais. Esta codificação esta descrita na » RFC 3986 para proteger caracteres de serem interpretados como delimitadores de URL, e para proteger URLs de serem embaralhadas por transmissão em meios com conversões de caracteres (como alguns sistemas de email).

Nota:

Anteriormente ao PHP 5.3.0, rawurlencode codificava til (~) conforme o » RFC 1738.

Changelog

Versão | Descrição
5.3.4 | Til não é mais codificado quando rawurlencode() é utilizado em strings EBCDIC.
5.3.0 | Codifica conforme » RFC 3986.

Exemplos

Exemplo #1 Incluindo uma senha em uma URL de FTP

<?php
echo '<a href="ftp://user:', rawurlencode('foo @+%/'),
     '@ftp.example.com/x.txt">';
?>

O exemplo acima irá imprimir:

<a href="ftp://user:foo%20%40%2B%25%2F@ftp.example.com/x.txt">

Ou, se você quiser passar informação no componente PATH_INFO se uma URL:

Exemplo #2 Exemplo 2 de rawurlencode()

<?php
echo '<a href="http://example.com/department_list_script/',
    rawurlencode('sales and marketing/Miami'), '">';
?>

O exemplo acima irá imprimir:

<a href="http://example.com/department_list_script/sales%20and%20marketing%2FMiami">

Veja Também

  • rawurldecode() - Decodifica uma URL
  • urldecode() - Decodifica uma URL codificada
  • urlencode() - Codifica uma URL
  • » RFC 3986


Decodifica uma URL codificada

  • « rawurlencode
  • urlencode »
  • PHP Manual
  • URL Funções
  • Decodifica uma URL codificada

urldecode

(PHP 4, PHP 5, PHP 7, PHP 8)

urldecode — Decodifica uma URL codificada

Descrição

urldecode ( string $str ) : string

Decodifica qualquer %## codificado na string. Os símbolos 'mais' ('+') são decodificados para um caractere de espaço.

Parâmetros

str

A string a ser decodificada.

Valor Retornado

Retorna a string decodificada.

Exemplos

Exemplo #1 Exemplo da urldecode()

<?php
$query = "my=apples&are=green+and+red";

foreach (explode('&', $query) as $chunk) {
    $param = explode("=", $chunk);

    if ($param) {
        printf("Value for parameter \"%s\" is \"%s\"<br/>\n", urldecode($param[0]), urldecode($param[1]));
    }
}
?>

Notas

Aviso

As superglobais $_GET e $_REQUEST já são decodificadas. Usar urldecode() em um elemento $_GET ou $_REQUEST podem gerar resultados inesperados e perigosos.

Veja Também

  • urlencode() - Codifica uma URL
  • rawurlencode() - Codifica uma URL de acordo com RFC 3986
  • rawurldecode() - Decodifica uma URL
  • » RFC 3986


Codifica uma URL

  • « urldecode
  • V8js »
  • PHP Manual
  • URL Funções
  • Codifica uma URL

urlencode

(PHP 4, PHP 5, PHP 7, PHP 8)

urlencode — Codifica uma URL

Descrição

urlencode ( string $str ) : string

Retorna uma string em que todos os caracteres não-alfanuméricos com exceção de -_. são substituidos com um sinal de porcento (%) siguido por dois digitos hexadecimais e espaços codificados como um sinal de (+). É codificada do mesmo jeito que dados vindos de um formulário WWW é codificado, isto é, da mesma maneira que application/x-www-form-urlencoded. Isto é diferente da codificação RFC1738 (veja rawurlencode()) nesta por razões historicas, espaços são codificados como sinais de mais(+). Esta função é conveniente para codificar uma string que será passada como parte de uma URL, como um meio de passar variáveis para a próxima pagina:

Exemplo #1 Exemplo urlencode()

<?php
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?>

Nota: Seja cuidadoso com variaveis que sejam iguais a entidades HTML. Coisas como &amp, &copy e &pound são interpretados pelo browser e a entidade atual é usada ao invés do nome de variavel desejado. Isto é um problema obvio que o W3C vem falando a todos a anos. A referrência esta aqui: » http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2. O PHP suporta que se mude o separador de argumentos para o ponto e vírgula sugerido pelo W3C através da diretiva de configuração arg_separator. Infelizmente a maior parte dos aplicativos não envia os dados neste formato. Um meio mais portável é usar &amp; ao invés de & como separador. Você não precisa mudar arg_separator para isto. Deixe como &, mas simplesmente codifique as suar URLs usando htmlentities(urlencode($data)).

Exemplo #2 Exemplo urlencode() e htmlentities()

<?php
echo '<a href="mycgi?foo=', htmlentities(urlencode($userinput)), '">';
?>

Veja também urldecode(),
htmlentities(),
rawurldecode() e
rawurlencode().


V8 Javascript Engine Integration

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Exemplos
  • V8Js — The V8Js class
    • V8Js::__construct — Construct a new V8Js object
    • V8Js::executeString — Execute a string as Javascript code
    • V8Js::getExtensions — Return an array of registered extensions
    • V8Js::getPendingException — Return pending uncaught Javascript exception
    • V8Js::registerExtension — Register Javascript extensions for V8Js
  • V8JsException — The V8JsException class
    • V8JsException::getJsFileName — The getJsFileName purpose
    • V8JsException::getJsLineNumber — The getJsLineNumber purpose
    • V8JsException::getJsSourceLine — The getJsSourceLine purpose
    • V8JsException::getJsTrace — The getJsTrace purpose


  • « V8js
  • Instalação/Configuração »
  • PHP Manual
  • V8js
  • Introdução

Introdução

This extension embeds the » V8 Javascript Engine into PHP.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

PHP 5.3.3+ and V8 library and headers installed in proper paths.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/v8js


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

V8js Opções de Configuração
Nome | Padrão | Modificável | Changelog
v8js.max_disposed_contexts | 25 | PHP_INI_ALL |
v8js.flags |  | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

v8js.max_disposed_contexts int

Sets limit for disposed contexts before forcing V8 to do garbage collection.

v8js.flags string

Sets V8 command line flags. The list of available flags can be obtained in CLI mode by setting this parameter to --help. Example:

$ php -r 'ini_set("v8js.flags", "--help"); new V8Js;' | less

Nota:

For these flags to be effective in runtime the ini_set() call has to be done before any V8Js objects are instantiated!


  • « Configurações em Execução
  • Exemplos »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão não tem recursos definidos.


Exemplos

Basic usage

Exemplo #1 Basic Javascript execution

<?php

$v8 = new V8Js();

/* basic.js */
$JS = <<< EOT
len = print('Hello' + ' ' + 'World!' + "\\n");
len;
EOT;

try {
  var_dump($v8->executeString($JS, 'basic.js'));
} catch (V8JsException $e) {
  var_dump($e);
}

?>

O exemplo acima irá imprimir:

Hello World!
int(13)


The V8Js class

(PECL v8js >= 0.1.0)

Introdução

This is the core class for V8Js extension. Each instance created from this class has own context in which all JavaScript is compiled and executed.

See V8Js::__construct() for more information.

Sinopse da classe

V8Js {
/* Constants */
const string V8_VERSION ;
const int FLAG_NONE = 1 ;
const int FLAG_FORCE_ARRAY = 2 ;
/* Methods */
public __construct ( string $object_name = "PHP" , array $variables = array() , array $extensions = array() , bool $report_uncaught_exceptions = true )
public executeString ( string $script , string $identifier = "V8Js::executeString()" , int $flags = V8Js::FLAG_NONE ) : mixed
public static getExtensions ( ) : array
public getPendingException ( ) : V8JsException
public static registerExtension ( string $extension_name , string $script , array $dependencies = array() , bool $auto_enable = false ) : bool
}

Constantes pré-definidas

V8Js::V8_VERSION

The V8 Javascript Engine version.

V8Js::FLAG_NONE

No flags.

V8Js::FLAG_FORCE_ARRAY

Forces all JS objects to be associative arrays in PHP.

Índice

  • V8Js::__construct — Construct a new V8Js object
  • V8Js::executeString — Execute a string as Javascript code
  • V8Js::getExtensions — Return an array of registered extensions
  • V8Js::getPendingException — Return pending uncaught Javascript exception
  • V8Js::registerExtension — Register Javascript extensions for V8Js


Construct a new V8Js object

  • « V8Js
  • V8Js::executeString »
  • PHP Manual
  • V8Js
  • Construct a new V8Js object

V8Js::__construct

(PECL v8js >= 0.1.0)

V8Js::__construct — Construct a new V8Js object

Descrição

public V8Js::__construct
 ( string $object_name = "PHP"
, array $variables = array()
, array $extensions = array()
, bool $report_uncaught_exceptions = true
)

Constructs a new V8Js object.

Parâmetros

object_name

The name of the object passed to Javascript.

variables

Map of PHP variables that will be available in Javascript. Must be an associative array in format array("name-for-js" => "name-of-php-variable"). Defaults to empty array.

extensions

List of extensions registered using V8Js::registerExtension() which should be available in the Javascript context of the created V8Js object.

Nota:

Extensions registered to be enabled automatically do not need to be listed in this array. Also if an extension has dependencies, those dependencies can be omitted as well. Defaults to empty array.

report_uncaught_exceptions

Controls whether uncaught Javascript exceptions are reported immediately or not. Defaults to true. If set to false the uncaught exception can be accessed using V8Js::getPendingException().

Valor Retornado

Returns a new V8Js context object.


Execute a string as Javascript code

  • « V8Js::__construct
  • V8Js::getExtensions »
  • PHP Manual
  • V8Js
  • Execute a string as Javascript code

V8Js::executeString

(PECL v8js >= 0.1.0)

V8Js::executeString — Execute a string as Javascript code

Descrição

public V8Js::executeString ( string $script , string $identifier = "V8Js::executeString()" , int $flags = V8Js::FLAG_NONE ) : mixed

Compiles and executes the string passed with script as Javascript code.

Parâmetros

script

The code string to be executed.

identifier

Identifier string for the executed code. Used for debugging.

flags

Execution flags. This value must be one of the V8Js::FLAG_* constants, defaulting to V8Js::FLAG_NONE.

  • V8Js::FLAG_NONE: no flags

  • V8Js::FLAG_FORCE_ARRAY: forces all Javascript objects passed to PHP to be associative arrays

Valor Retornado

Returns the last variable instantiated in the Javascript code converted to matching PHP variable type.


Return an array of registered extensions

  • « V8Js::executeString
  • V8Js::getPendingException »
  • PHP Manual
  • V8Js
  • Return an array of registered extensions

V8Js::getExtensions

(PECL v8js >= 0.1.0)

V8Js::getExtensions — Return an array of registered extensions

Descrição

public static V8Js::getExtensions ( ) : array

This function returns array of Javascript extensions registered using V8Js::registerExtension().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array of registered extensions or an empty array if there are none.


Return pending uncaught Javascript exception

  • « V8Js::getExtensions
  • V8Js::registerExtension »
  • PHP Manual
  • V8Js
  • Return pending uncaught Javascript exception

V8Js::getPendingException

(PECL v8js >= 0.1.0)

V8Js::getPendingException — Return pending uncaught Javascript exception

Descrição

public V8Js::getPendingException ( ) : V8JsException

Returns any pending uncaught Javascript exception as V8JsException left from earlier V8Js::executeString() call(s).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Either V8JsException or null.


Register Javascript extensions for V8Js

  • « V8Js::getPendingException
  • V8JsException »
  • PHP Manual
  • V8Js
  • Register Javascript extensions for V8Js

V8Js::registerExtension

(PECL v8js >= 0.1.0)

V8Js::registerExtension — Register Javascript extensions for V8Js

Descrição

public static V8Js::registerExtension ( string $extension_name , string $script , array $dependencies = array() , bool $auto_enable = false ) : bool

Registers passed Javascript script as extension to be used in V8Js contexts.

Parâmetros

extension_name

Name of the extension to be registered.

script

The Javascript code to be registered.

dependencies

Array of extension names the extension to be registered depends on. Any such extension is enabled automatically when this extension is loaded.

Nota:

All extensions, including the dependencies, must be registered before any V8Js are created which use them.

auto_enable

If set to true, the extension will be enabled automatically in all V8Js contexts.

Valor Retornado

Returns true if extension was registered successfully, false otherwise.


The V8JsException class

(PECL v8js >= 0.1.0)

Introdução

Sinopse da classe

V8JsException extends Exception {
/* Propriedades */
protected $JsFileName ;
protected $JsLineNumber ;
protected $JsSourceLine ;
protected $JsTrace ;
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
final public getJsFileName ( ) : string
final public getJsLineNumber ( ) : int
final public getJsSourceLine ( ) : string
final public getJsTrace ( ) : string
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Propriedades

JsFileName

JsLineNumber

JsSourceLine

JsTrace

Índice

  • V8JsException::getJsFileName — The getJsFileName purpose
  • V8JsException::getJsLineNumber — The getJsLineNumber purpose
  • V8JsException::getJsSourceLine — The getJsSourceLine purpose
  • V8JsException::getJsTrace — The getJsTrace purpose


The getJsFileName purpose

  • « V8JsException
  • V8JsException::getJsLineNumber »
  • PHP Manual
  • V8JsException
  • The getJsFileName purpose

V8JsException::getJsFileName

(PECL v8js >= 0.1.0)

V8JsException::getJsFileName — The getJsFileName purpose

Descrição

final public V8JsException::getJsFileName ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getJsLineNumber purpose

  • « V8JsException::getJsFileName
  • V8JsException::getJsSourceLine »
  • PHP Manual
  • V8JsException
  • The getJsLineNumber purpose

V8JsException::getJsLineNumber

(PECL v8js >= 0.1.0)

V8JsException::getJsLineNumber — The getJsLineNumber purpose

Descrição

final public V8JsException::getJsLineNumber ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getJsSourceLine purpose

  • « V8JsException::getJsLineNumber
  • V8JsException::getJsTrace »
  • PHP Manual
  • V8JsException
  • The getJsSourceLine purpose

V8JsException::getJsSourceLine

(PECL v8js >= 0.1.0)

V8JsException::getJsSourceLine — The getJsSourceLine purpose

Descrição

final public V8JsException::getJsSourceLine ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getJsTrace purpose

  • « V8JsException::getJsSourceLine
  • Yaml »
  • PHP Manual
  • V8JsException
  • The getJsTrace purpose

V8JsException::getJsTrace

(PECL v8js >= 0.1.0)

V8JsException::getJsTrace — The getJsTrace purpose

Descrição

final public V8JsException::getJsTrace ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


YAML Data Serialization

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Callbacks
    • Parse callbacks
    • Emit callbacks
  • Yaml Funções
    • yaml_emit_file — Send the YAML representation of a value to a file
    • yaml_emit — Returns the YAML representation of a value
    • yaml_parse_file — Parse a YAML stream from a file
    • yaml_parse_url — Parse a Yaml stream from a URL
    • yaml_parse — Parse a YAML stream


Introdução

This extension implements the » YAML Ain't Markup Language (YAML) data serialization standard. Parsing and emiting are handled by the » LibYAML library.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

This extension requires the » LibYAML C library version 0.1.0 or higher to be installed.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/yaml.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Yaml Opções de Configuração
Nome | Padrão | Modificável | Changelog
yaml.decode_binary | 0 | PHP_INI_ALL |
yaml.decode_php | 0 | PHP_INI_ALL | Added in 1.2.0, before 2.0.0 the default was 1
yaml.decode_timestamp | 0 | PHP_INI_ALL |
yaml.output_canonical | 0 | PHP_INI_ALL |
yaml.output_indent | 2 | PHP_INI_ALL |
yaml.output_width | 80 | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

yaml.decode_binary bool

Off by default, but can be set to on to cause base64 binary encoded entities which have the explicit tag "tag:yaml.org,2002:binary" to be decoded.

yaml.decode_php bool

Off by default, but can be set to on to cause serialized php objects which have the explicit tag "!php/object" to be unserialized.

yaml.decode_timestamp int

Controls the decoding of both implicit and explicit "tag:yaml.org,2002:timestamp" scalars in the YAML document stream. The default setting of 0 will not apply any decoding. A setting of 1 will use strtotime() to parse the timestamp value as a Unix timestamp. A setting of 2 will use date_create() to parse the timestamp value as DateTime object.

yaml.output_canonical bool

Off by default, but can be set to on to cause canonical form output.

yaml.output_indent int

Number of spaces to indent sections. Value should be between 1 and 10.

yaml.output_width int

Set the preferred line width. -1 means unlimited.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Scalar entity styles usable by yaml_parse() callback methods.
YAML_ANY_SCALAR_STYLE (int)
YAML_PLAIN_SCALAR_STYLE (int)
YAML_SINGLE_QUOTED_SCALAR_STYLE (int)
YAML_DOUBLE_QUOTED_SCALAR_STYLE (int)
YAML_LITERAL_SCALAR_STYLE (int)
YAML_FOLDED_SCALAR_STYLE (int)
Common tags usable by yaml_parse() callback methods.
YAML_NULL_TAG (string)
"tag:yaml.org,2002:null"
YAML_BOOL_TAG (string)
"tag:yaml.org,2002:bool"
YAML_STR_TAG (string)
"tag:yaml.org,2002:str"
YAML_INT_TAG (string)
"tag:yaml.org,2002:int"
YAML_FLOAT_TAG (string)
"tag:yaml.org,2002:float"
YAML_TIMESTAMP_TAG (string)
"tag:yaml.org,2002:timestamp"
YAML_SEQ_TAG (string)
"tag:yaml.org,2002:seq"
YAML_MAP_TAG (string)
"tag:yaml.org,2002:map"
YAML_PHP_TAG (string)
"!php/object"
Encoding types for yaml_emit()
YAML_ANY_ENCODING (int)
Let the emitter choose an encoding.
YAML_UTF8_ENCODING (int)
Encode as UTF8.
YAML_UTF16LE_ENCODING (int)
Encode as UTF16LE.
YAML_UTF16BE_ENCODING (int)
Encode as UTF16BE.
Linebreak types for yaml_emit()
YAML_ANY_BREAK (int)
Let emitter choose linebreak character.
YAML_CR_BREAK (int)
Use \r as break character (Mac style).
YAML_LN_BREAK (int)
Use \n as break character (Unix style).
YAML_CRLN_BREAK (int)
Use \r\n as break character (DOS style).


Exemplos

Exemplo #1 Yaml Example

<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> "2001-01-23",
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
    );

// generate a YAML representation of the invoice
$yaml = yaml_emit($invoice);
var_dump($yaml);

// convert the YAML back into a PHP variable
$parsed = yaml_parse($yaml);

// check that roundtrip conversion produced an equivalent structure
var_dump($parsed == $invoice);
?>

O exemplo acima irá imprimir algo similar à:

string(631) "---
invoice: 34843
date: "2001-01-23"
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"
bool(true)


  • « Exemplos
  • Parse callbacks »
  • PHP Manual
  • Yaml
  • Callbacks

Callbacks

Índice

  • Parse callbacks
  • Emit callbacks


Parse callbacks

Parse callables are invoked by yaml_parse(), yaml_parse_file() or yaml_parse_url() functions when a registered YAML tag is encountered. The callback is passed the tagged entity's value, the tag, and flags indicating the scalar entity style. The callback must return the data that the YAML parser should emit for this entity.

Exemplo #1 Parse callback example

<?php
/**
 * Parsing callback for yaml tag.
 * @param mixed $value Data from yaml file
 * @param string $tag Tag that triggered callback
 * @param int $flags Scalar entity style (see YAML_*_SCALAR_STYLE)
 * @return mixed Value that YAML parser should emit for the given value
 */
function tag_callback ($value, $tag, $flags) {
  var_dump(func_get_args()); // debugging
  return "Hello {$value}";
}

$yaml = <<<YAML
greeting: !example/hello World
YAML;

$result = yaml_parse($yaml, 0, $ndocs, array(
    '!example/hello' => 'tag_callback',
  ));

var_dump($result);
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  [0]=>
  string(5) "World"
  [1]=>
  string(14) "!example/hello"
  [2]=>
  int(1)
}
array(1) {
  ["greeting"]=>
  string(11) "Hello World"
}


Emit callbacks

Emit callbacks are invoked when an instance of a registered class is emitted by yaml_emit() or yaml_emit_file(). The callback is passed the object to be emitted. The callback must return an array having two keys: "tag" and "data". The value associated with the "tag" key must be a string to be used as the YAML tag in the output. The value associated with the "data" key will be encoded as YAML and emitted in place of the intercepted object.

Exemplo #1 Emit callback example

<?php
class EmitExample {
  public $data;    // data may be in any pecl/yaml suitable type

  public function __construct ($d) {
    $this->data = $d;
  }

  /**
   * Yaml emit callback function, referred on yaml_emit call by class name.
   *
   * Expected to return an array with 2 values:
   *   - 'tag': custom tag for this serialization
   *   - 'data': value to convert to yaml (array, string, bool, number)
   *
   * @param object $obj Object to be emitted
   * @return array Tag and surrogate data to emit
   */
  public static function yamlEmit (EmitExample $obj) {
    return array(
      'tag' => '!example/emit',
      'data' => $obj->data,
    );
  }
}

$emit_callbacks = array(
  'EmitExample' => array('EmitExample', 'yamlEmit')
);

$t = new EmitExample(array('a','b','c'));
$yaml = yaml_emit(
  array(
    'example' => $t,
  ),
  YAML_ANY_ENCODING,
  YAML_ANY_BREAK,
  $emit_callbacks
);
var_dump($yaml);
?>

O exemplo acima irá imprimir algo similar à:

string(43) "---
example: !example/emit
- a
- b
- c
...
"


Yaml Funções

Índice

  • yaml_emit_file — Send the YAML representation of a value to a file
  • yaml_emit — Returns the YAML representation of a value
  • yaml_parse_file — Parse a YAML stream from a file
  • yaml_parse_url — Parse a Yaml stream from a URL
  • yaml_parse — Parse a YAML stream


Send the YAML representation of a value to a file

  • « Yaml Funções
  • yaml_emit »
  • PHP Manual
  • Yaml Funções
  • Send the YAML representation of a value to a file

yaml_emit_file

(PECL yaml >= 0.5.0)

yaml_emit_file — Send the YAML representation of a value to a file

Descrição

yaml_emit_file ( string $filename , mixed $data , int $encoding = YAML_ANY_ENCODING , int $linebreak = YAML_ANY_BREAK , array $callbacks = null ) : bool

Generate a YAML representation of the provided data in the filename.

Parâmetros

filename

Path to the file.

data

The data being encoded. Can be any type except a resource.

encoding

Output character encoding chosen from YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING.

linebreak

Output linebreak style chosen from YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.

callbacks

Content handlers for emitting YAML nodes. Associative array of classname => callable mappings. See emit callbacks for more details.

Valor Retornado

Returns true on success.

Changelog

Versão | Descrição
PECL yaml 1.1.0 | The callbacks parameter was added.

Veja Também

  • yaml_emit() - Returns the YAML representation of a value
  • yaml_parse() - Parse a YAML stream


Returns the YAML representation of a value

  • « yaml_emit_file
  • yaml_parse_file »
  • PHP Manual
  • Yaml Funções
  • Returns the YAML representation of a value

yaml_emit

(PECL yaml >= 0.5.0)

yaml_emit — Returns the YAML representation of a value

Descrição

yaml_emit ( mixed $data , int $encoding = YAML_ANY_ENCODING , int $linebreak = YAML_ANY_BREAK , array $callbacks = null ) : string

Generate a YAML representation of the provided data.

Parâmetros

data

The data being encoded. Can be any type except a resource.

encoding

Output character encoding chosen from YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING.

linebreak

Output linebreak style chosen from YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.

callbacks

Content handlers for emitting YAML nodes. Associative array of classname => callable mappings. See emit callbacks for more details.

Valor Retornado

Returns a YAML encoded string on success.

Changelog

Versão | Descrição
PECL yaml 1.1.0 | The callbacks parameter was added.

Exemplos

Exemplo #1 yaml_emit() example

<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> 980208000,
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
  );
var_dump(yaml_emit($invoice));
?>

O exemplo acima irá imprimir algo similar à:

string(628) "---
invoice: 34843
date: 980208000
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"

Veja Também

  • yaml_emit_file() - Send the YAML representation of a value to a file
  • yaml_parse() - Parse a YAML stream


Parse a YAML stream from a file

  • « yaml_emit
  • yaml_parse_url »
  • PHP Manual
  • Yaml Funções
  • Parse a YAML stream from a file

yaml_parse_file

(PECL yaml >= 0.4.0)

yaml_parse_file — Parse a YAML stream from a file

Descrição

yaml_parse_file ( string $filename , int $pos = 0 , int &$ndocs = ? , array $callbacks = null ) : mixed

Convert all or part of a YAML document stream read from a file to a PHP variable.

Parâmetros

filename

Path to the file.

pos

Document to extract from stream (-1 for all documents, 0 for first document, ...).

ndocs

If ndocs is provided, then it is filled with the number of documents found in stream.

callbacks

Content handlers for YAML nodes. Associative array of YAML tag => callable mappings. See parse callbacks for more details.

Valor Retornado

Returns the value encoded in input in appropriate PHP type ou false em caso de falha. If pos is -1 an array will be returned with one entry for each document found in the stream.

Notas

Aviso

Processing untrusted user input with yaml_parse_file() is dangerous if the use of unserialize() is enabled for nodes using the !php/object tag. This behavior can be disabled by using the yaml.decode_php ini setting.

Veja Também

  • yaml_parse() - Parse a YAML stream
  • yaml_parse_url() - Parse a Yaml stream from a URL
  • yaml_emit() - Returns the YAML representation of a value


Parse a Yaml stream from a URL

  • « yaml_parse_file
  • yaml_parse »
  • PHP Manual
  • Yaml Funções
  • Parse a Yaml stream from a URL

yaml_parse_url

(PECL yaml >= 0.4.0)

yaml_parse_url — Parse a Yaml stream from a URL

Descrição

yaml_parse_url ( string $url , int $pos = 0 , int &$ndocs = ? , array $callbacks = null ) : mixed

Convert all or part of a YAML document stream read from a URL to a PHP variable.

Parâmetros

url

url should be of the form "scheme://...". PHP will search for a protocol handler (also known as a wrapper) for that scheme. If no wrappers for that protocol are registered, PHP will emit a notice to help you track potential problems in your script and then continue as though filename specifies a regular file.

pos

Document to extract from stream (-1 for all documents, 0 for first document, ...).

ndocs

If ndocs is provided, then it is filled with the number of documents found in stream.

callbacks

Content handlers for YAML nodes. Associative array of YAML tag => callable mappings. See parse callbacks for more

Valor Retornado

Returns the value encoded in input in appropriate PHP type ou false em caso de falha. If pos is -1 an array will be returned with one entry for each document found in the stream.

Notas

Aviso

Processing untrusted user input with yaml_parse_url() is dangerous if the use of unserialize() is enabled for nodes using the !php/object tag. This behavior can be disabled by using the yaml.decode_php ini setting.

Veja Também

  • yaml_parse() - Parse a YAML stream
  • yaml_parse_file() - Parse a YAML stream from a file
  • yaml_emit() - Returns the YAML representation of a value


Parse a YAML stream

  • « yaml_parse_url
  • Yaf »
  • PHP Manual
  • Yaml Funções
  • Parse a YAML stream

yaml_parse

(PECL yaml >= 0.4.0)

yaml_parse — Parse a YAML stream

Descrição

yaml_parse ( string $input , int $pos = 0 , int &$ndocs = ? , array $callbacks = null ) : mixed

Convert all or part of a YAML document stream to a PHP variable.

Parâmetros

input

The string to parse as a YAML document stream.

pos

Document to extract from stream (-1 for all documents, 0 for first document, ...).

ndocs

If ndocs is provided, then it is filled with the number of documents found in stream.

callbacks

Content handlers for YAML nodes. Associative array of YAML tag => callable mappings. See parse callbacks for more details.

Valor Retornado

Returns the value encoded in input in appropriate PHP type ou false em caso de falha. If pos is -1 an array will be returned with one entry for each document found in the stream.

Exemplos

Exemplo #1 yaml_parse() example

<?php
$yaml = <<<EOD
---
invoice: 34843
date: "2001-01-23"
bill-to: &id001
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to: *id001
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
EOD;

$parsed = yaml_parse($yaml);
var_dump($parsed);
?>

O exemplo acima irá imprimir algo similar à:

array(8) {
  ["invoice"]=>
  int(34843)
  ["date"]=>
  string(10) "2001-01-23"
  ["bill-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(34) "458 Walkman Dr.
        Suite #292"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["ship-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(34) "458 Walkman Dr.
        Suite #292"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["product"]=>
  array(2) {
    [0]=>
    array(4) {
      ["sku"]=>
      string(6) "BL394D"
      ["quantity"]=>
      int(4)
      ["description"]=>
      string(10) "Basketball"
      ["price"]=>
      int(450)
    }
    [1]=>
    array(4) {
      ["sku"]=>
      string(7) "BL4438H"
      ["quantity"]=>
      int(1)
      ["description"]=>
      string(10) "Super Hoop"
      ["price"]=>
      int(2392)
    }
  }
  ["tax"]=>
  float(251.42)
  ["total"]=>
  float(4443.52)
  ["comments"]=>
  string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338."
}

Notas

Aviso

Processing untrusted user input with yaml_parse() is dangerous if the use of unserialize() is enabled for nodes using the !php/object tag. This behavior can be disabled by using the yaml.decode_php ini setting.

Veja Também

  • yaml_parse_file() - Parse a YAML stream from a file
  • yaml_parse_url() - Parse a Yaml stream from a URL
  • yaml_emit() - Returns the YAML representation of a value


Yet Another Framework

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Application Configuration
  • Yaf_Application — The Yaf_Application class
    • Yaf_Application::app — Retrieve an Application instance
    • Yaf_Application::bootstrap — Call bootstrap
    • Yaf_Application::clearLastError — Clear the last error info
    • Yaf_Application::__construct — Yaf_Application constructor
    • Yaf_Application::__destruct — The __destruct purpose
    • Yaf_Application::environ — Retrive environ
    • Yaf_Application::execute — Execute a callback
    • Yaf_Application::getAppDirectory — Get the application directory
    • Yaf_Application::getConfig — Retrive the config instance
    • Yaf_Application::getDispatcher — Get Yaf_Dispatcher instance
    • Yaf_Application::getLastErrorMsg — Get message of the last occurred error
    • Yaf_Application::getLastErrorNo — Get code of last occurred error
    • Yaf_Application::getModules — Get defined module names
    • Yaf_Application::run — Start Yaf_Application
    • Yaf_Application::setAppDirectory — Change the application directory
  • Yaf_Bootstrap_Abstract — The Yaf_Bootstrap_Abstract class
  • Yaf_Dispatcher — The Yaf_Dispatcher class
    • Yaf_Dispatcher::autoRender — Switch on/off autorendering
    • Yaf_Dispatcher::catchException — Switch on/off exception catching
    • Yaf_Dispatcher::__construct — Yaf_Dispatcher constructor
    • Yaf_Dispatcher::disableView — Disable view rendering
    • Yaf_Dispatcher::dispatch — Dispatch a request
    • Yaf_Dispatcher::enableView — Enable view rendering
    • Yaf_Dispatcher::flushInstantly — Switch on/off the instant flushing
    • Yaf_Dispatcher::getApplication — Retrive the application
    • Yaf_Dispatcher::getDefaultAction — Retrive the default action name
    • Yaf_Dispatcher::getDefaultController — Retrive the default controller name
    • Yaf_Dispatcher::getDefaultModule — Retrive the default module name
    • Yaf_Dispatcher::getInstance — Retrive the dispatcher instance
    • Yaf_Dispatcher::getRequest — Retrive the request instance
    • Yaf_Dispatcher::getRouter — Retrive router instance
    • Yaf_Dispatcher::initView — Initialize view and return it
    • Yaf_Dispatcher::registerPlugin — Register a plugin
    • Yaf_Dispatcher::returnResponse — The returnResponse purpose
    • Yaf_Dispatcher::setDefaultAction — Change default action name
    • Yaf_Dispatcher::setDefaultController — Change default controller name
    • Yaf_Dispatcher::setDefaultModule — Change default module name
    • Yaf_Dispatcher::setErrorHandler — Set error handler
    • Yaf_Dispatcher::setRequest — The setRequest purpose
    • Yaf_Dispatcher::setView — Set a custom view engine
    • Yaf_Dispatcher::throwException — Switch on/off exception throwing
  • Yaf_Config_Abstract — The Yaf_Config_Abstract class
    • Yaf_Config_Abstract::get — Getter
    • Yaf_Config_Abstract::readonly — Find a config whether readonly
    • Yaf_Config_Abstract::set — Setter
    • Yaf_Config_Abstract::toArray — Cast to array
  • Yaf_Config_Ini — The Yaf_Config_Ini class
    • Yaf_Config_Ini::__construct — Yaf_Config_Ini constructor
    • Yaf_Config_Ini::count — Count all elements in Yaf_Config.ini
    • Yaf_Config_Ini::current — Retrieve the current value
    • Yaf_Config_Ini::__get — Retrieve a element
    • Yaf_Config_Ini::__isset — Determine if a key is exists
    • Yaf_Config_Ini::key — Fetch current element's key
    • Yaf_Config_Ini::next — Advance the internal pointer
    • Yaf_Config_Ini::offsetExists — The offsetExists purpose
    • Yaf_Config_Ini::offsetGet — The offsetGet purpose
    • Yaf_Config_Ini::offsetSet — The offsetSet purpose
    • Yaf_Config_Ini::offsetUnset — The offsetUnset purpose
    • Yaf_Config_Ini::readonly — The readonly purpose
    • Yaf_Config_Ini::rewind — The rewind purpose
    • Yaf_Config_Ini::__set — The __set purpose
    • Yaf_Config_Ini::toArray — Return config as a PHP array
    • Yaf_Config_Ini::valid — The valid purpose
  • Yaf_Config_Simple — The Yaf_Config_Simple class
    • Yaf_Config_Simple::__construct — The __construct purpose
    • Yaf_Config_Simple::count — The count purpose
    • Yaf_Config_Simple::current — The current purpose
    • Yaf_Config_Simple::__get — The __get purpose
    • Yaf_Config_Simple::__isset — The __isset purpose
    • Yaf_Config_Simple::key — The key purpose
    • Yaf_Config_Simple::next — The next purpose
    • Yaf_Config_Simple::offsetExists — The offsetExists purpose
    • Yaf_Config_Simple::offsetGet — The offsetGet purpose
    • Yaf_Config_Simple::offsetSet — The offsetSet purpose
    • Yaf_Config_Simple::offsetUnset — The offsetUnset purpose
    • Yaf_Config_Simple::readonly — The readonly purpose
    • Yaf_Config_Simple::rewind — The rewind purpose
    • Yaf_Config_Simple::__set — The __set purpose
    • Yaf_Config_Simple::toArray — Returns a PHP array
    • Yaf_Config_Simple::valid — The valid purpose
  • Yaf_Controller_Abstract — The Yaf_Controller_Abstract class
    • Yaf_Controller_Abstract::__construct — Yaf_Controller_Abstract constructor
    • Yaf_Controller_Abstract::display — The display purpose
    • Yaf_Controller_Abstract::forward — Foward to another action
    • Yaf_Controller_Abstract::getInvokeArg — The getInvokeArg purpose
    • Yaf_Controller_Abstract::getInvokeArgs — The getInvokeArgs purpose
    • Yaf_Controller_Abstract::getModuleName — Get module name
    • Yaf_Controller_Abstract::getName — Get self name
    • Yaf_Controller_Abstract::getRequest — Retrieve current request object
    • Yaf_Controller_Abstract::getResponse — Retrieve current response object
    • Yaf_Controller_Abstract::getView — Retrieve the view engine
    • Yaf_Controller_Abstract::getViewpath — The getViewpath purpose
    • Yaf_Controller_Abstract::init — Controller initializer
    • Yaf_Controller_Abstract::initView — The initView purpose
    • Yaf_Controller_Abstract::redirect — Redirect to a URL
    • Yaf_Controller_Abstract::render — Render view template
    • Yaf_Controller_Abstract::setViewpath — The setViewpath purpose
  • Yaf_Action_Abstract — The Yaf_Action_Abstract class
    • Yaf_Action_Abstract::execute — Action entry point
    • Yaf_Action_Abstract::getController — Retrieve controller object
    • Yaf_Action_Abstract::getControllerName — Get controller name
  • Yaf_View_Interface — The Yaf_View_Interface class
    • Yaf_View_Interface::assign — Assign value to View engine
    • Yaf_View_Interface::display — Render and output a template
    • Yaf_View_Interface::getScriptPath — The getScriptPath purpose
    • Yaf_View_Interface::render — Render a template
    • Yaf_View_Interface::setScriptPath — The setScriptPath purpose
  • Yaf_View_Simple — The Yaf_View_Simple class
    • Yaf_View_Simple::assign — Assign values
    • Yaf_View_Simple::assignRef — The assignRef purpose
    • Yaf_View_Simple::clear — Clear Assigned values
    • Yaf_View_Simple::__construct — Constructor of Yaf_View_Simple
    • Yaf_View_Simple::display — Render and display
    • Yaf_View_Simple::eval — Render template
    • Yaf_View_Simple::__get — Retrieve assigned variable
    • Yaf_View_Simple::getScriptPath — Get templates directory
    • Yaf_View_Simple::__isset — The __isset purpose
    • Yaf_View_Simple::render — Render template
    • Yaf_View_Simple::__set — Set value to engine
    • Yaf_View_Simple::setScriptPath — Set tempaltes directory
  • Yaf_Loader — The Yaf_Loader class
    • Yaf_Loader::autoload — The autoload purpose
    • Yaf_Loader::clearLocalNamespace — The clearLocalNamespace purpose
    • Yaf_Loader::__construct — The __construct purpose
    • Yaf_Loader::getInstance — The getInstance purpose
    • Yaf_Loader::getLibraryPath — Get the library path
    • Yaf_Loader::getLocalNamespace — The getLocalNamespace purpose
    • Yaf_Loader::getNamespacePath — Retieve path of a registered namespace
    • Yaf_Loader::getLocalNamespace — Retrive all register namespaces info
    • Yaf_Loader::import — The import purpose
    • Yaf_Loader::isLocalName — The isLocalName purpose
    • Yaf_Loader::registerLocalNamespace — Register local class prefix
    • Yaf_Loader::registerNamespace — Register namespace with searching path
    • Yaf_Loader::setLibraryPath — Change the library path
  • Yaf_Plugin_Abstract — The Yaf_Plugin_Abstract class
    • Yaf_Plugin_Abstract::dispatchLoopShutdown — The dispatchLoopShutdown purpose
    • Yaf_Plugin_Abstract::dispatchLoopStartup — Hook before dispatch loop
    • Yaf_Plugin_Abstract::postDispatch — The postDispatch purpose
    • Yaf_Plugin_Abstract::preDispatch — The preDispatch purpose
    • Yaf_Plugin_Abstract::preResponse — The preResponse purpose
    • Yaf_Plugin_Abstract::routerShutdown — The routerShutdown purpose
    • Yaf_Plugin_Abstract::routerStartup — RouterStartup hook
  • Yaf_Registry — The Yaf_Registry class
    • Yaf_Registry::__construct — Yaf_Registry implements singleton
    • Yaf_Registry::del — Remove an item from registry
    • Yaf_Registry::get — Retrieve an item from registry
    • Yaf_Registry::has — Check whether an item exists
    • Yaf_Registry::set — Add an item into registry
  • Yaf_Request_Abstract — The Yaf_Request_Abstract class
    • Yaf_Request_Abstract::clearParams — Remove all params
    • Yaf_Request_Abstract::getActionName — The getActionName purpose
    • Yaf_Request_Abstract::getBaseUri — The getBaseUri purpose
    • Yaf_Request_Abstract::getControllerName — The getControllerName purpose
    • Yaf_Request_Abstract::getEnv — Retrieve ENV varialbe
    • Yaf_Request_Abstract::getException — The getException purpose
    • Yaf_Request_Abstract::getLanguage — Retrieve client's prefered language
    • Yaf_Request_Abstract::getMethod — Retrieve the request method
    • Yaf_Request_Abstract::getModuleName — The getModuleName purpose
    • Yaf_Request_Abstract::getParam — Retrieve calling parameter
    • Yaf_Request_Abstract::getParams — Retrieve all calling parameters
    • Yaf_Request_Abstract::getRequestUri — The getRequestUri purpose
    • Yaf_Request_Abstract::getServer — Retrieve SERVER variable
    • Yaf_Request_Abstract::isCli — Determine if request is CLI request
    • Yaf_Request_Abstract::isDispatched — Determin if the request is dispatched
    • Yaf_Request_Abstract::isGet — Determine if request is GET request
    • Yaf_Request_Abstract::isHead — Determine if request is HEAD request
    • Yaf_Request_Abstract::isOptions — Determine if request is OPTIONS request
    • Yaf_Request_Abstract::isPost — Determine if request is POST request
    • Yaf_Request_Abstract::isPut — Determine if request is PUT request
    • Yaf_Request_Abstract::isRouted — Determin if request has been routed
    • Yaf_Request_Abstract::isXmlHttpRequest — Determine if request is AJAX request
    • Yaf_Request_Abstract::setActionName — Set action name
    • Yaf_Request_Abstract::setBaseUri — Set base URI
    • Yaf_Request_Abstract::setControllerName — Set controller name
    • Yaf_Request_Abstract::setDispatched — The setDispatched purpose
    • Yaf_Request_Abstract::setModuleName — Set module name
    • Yaf_Request_Abstract::setParam — Set a calling parameter to a request
    • Yaf_Request_Abstract::setRequestUri — The setRequestUri purpose
    • Yaf_Request_Abstract::setRouted — The setRouted purpose
  • Yaf_Request_Http — The Yaf_Request_Http class
    • Yaf_Request_Http::__construct — Constructor of Yaf_Request_Http
    • Yaf_Request_Http::get — Retrieve variable from client
    • Yaf_Request_Http::getCookie — Retrieve Cookie variable
    • Yaf_Request_Http::getFiles — The getFiles purpose
    • Yaf_Request_Http::getPost — Retrieve POST variable
    • Yaf_Request_Http::getQuery — Fetch a query parameter
    • Yaf_Request_Http::getRaw — Retrieve Raw request body
    • Yaf_Request_Http::getRequest — The getRequest purpose
    • Yaf_Request_Http::isXmlHttpRequest — Determin if request is Ajax Request
  • Yaf_Request_Simple — The Yaf_Request_Simple class
    • Yaf_Request_Simple::__construct — Constructor of Yaf_Request_Simple
    • Yaf_Request_Simple::get — The get purpose
    • Yaf_Request_Simple::getCookie — The getCookie purpose
    • Yaf_Request_Simple::getFiles — The getFiles purpose
    • Yaf_Request_Simple::getPost — The getPost purpose
    • Yaf_Request_Simple::getQuery — The getQuery purpose
    • Yaf_Request_Simple::getRequest — The getRequest purpose
    • Yaf_Request_Simple::isXmlHttpRequest — Determin if request is AJAX request
  • Yaf_Response_Abstract — The Yaf_Response_Abstract class
    • Yaf_Response_Abstract::appendBody — Append to response body
    • Yaf_Response_Abstract::clearBody — Discard all exists response body
    • Yaf_Response_Abstract::clearHeaders — Discard all set headers
    • Yaf_Response_Abstract::__construct — The __construct purpose
    • Yaf_Response_Abstract::__destruct — The __destruct purpose
    • Yaf_Response_Abstract::getBody — Retrieve a exists content
    • Yaf_Response_Abstract::getHeader — The getHeader purpose
    • Yaf_Response_Abstract::prependBody — The prependBody purpose
    • Yaf_Response_Abstract::response — Send response
    • Yaf_Response_Abstract::setAllHeaders — The setAllHeaders purpose
    • Yaf_Response_Abstract::setBody — Set content to response
    • Yaf_Response_Abstract::setHeader — Set reponse header
    • Yaf_Response_Abstract::setRedirect — The setRedirect purpose
    • Yaf_Response_Abstract::__toString — Retrieve all bodys as string
  • Yaf_Route_Interface — The Yaf_Route_Interface class
    • Yaf_Route_Interface::assemble — Assemble a request
    • Yaf_Route_Interface::route — Route a request
  • Yaf_Route_Map — The Yaf_Route_Map class
    • Yaf_Route_Map::assemble — Assemble a url
    • Yaf_Route_Map::__construct — The __construct purpose
    • Yaf_Route_Map::route — The route purpose
  • Yaf_Route_Regex — The Yaf_Route_Regex class
    • Yaf_Route_Regex::assemble — Assemble a url
    • Yaf_Route_Regex::__construct — Yaf_Route_Regex constructor
    • Yaf_Route_Regex::route — The route purpose
  • Yaf_Route_Rewrite — The Yaf_Route_Rewrite class
    • Yaf_Route_Rewrite::assemble — Assemble a url
    • Yaf_Route_Rewrite::__construct — Yaf_Route_Rewrite constructor
    • Yaf_Route_Rewrite::route — The route purpose
  • Yaf_Router — The Yaf_Router class
    • Yaf_Router::addConfig — Add config-defined routes into Router
    • Yaf_Router::addRoute — Add new Route into Router
    • Yaf_Router::__construct — Yaf_Router constructor
    • Yaf_Router::getCurrentRoute — Get the effective route name
    • Yaf_Router::getRoute — Retrieve a route by name
    • Yaf_Router::getRoutes — Retrieve registered routes
    • Yaf_Router::route — The route purpose
  • Yaf_Route_Simple — The Yaf_Route_Simple class
    • Yaf_Route_Simple::assemble — Assemble a url
    • Yaf_Route_Simple::__construct — Yaf_Route_Simple constructor
    • Yaf_Route_Simple::route — Route a request
  • Yaf_Route_Static — The Yaf_Route_Static class
    • Yaf_Route_Static::assemble — Assemble a url
    • Yaf_Route_Static::match — The match purpose
    • Yaf_Route_Static::route — Route a request
  • Yaf_Route_Supervar — The Yaf_Route_Supervar class
    • Yaf_Route_Supervar::assemble — Assemble a url
    • Yaf_Route_Supervar::__construct — The __construct purpose
    • Yaf_Route_Supervar::route — The route purpose
  • Yaf_Session — The Yaf_Session class
    • Yaf_Session::__construct — Constructor of Yaf_Session
    • Yaf_Session::count — The count purpose
    • Yaf_Session::current — The current purpose
    • Yaf_Session::del — The del purpose
    • Yaf_Session::__get — The __get purpose
    • Yaf_Session::getInstance — The getInstance purpose
    • Yaf_Session::has — The has purpose
    • Yaf_Session::__isset — The __isset purpose
    • Yaf_Session::key — The key purpose
    • Yaf_Session::next — The next purpose
    • Yaf_Session::offsetExists — The offsetExists purpose
    • Yaf_Session::offsetGet — The offsetGet purpose
    • Yaf_Session::offsetSet — The offsetSet purpose
    • Yaf_Session::offsetUnset — The offsetUnset purpose
    • Yaf_Session::rewind — The rewind purpose
    • Yaf_Session::__set — The __set purpose
    • Yaf_Session::start — The start purpose
    • Yaf_Session::__unset — The __unset purpose
    • Yaf_Session::valid — The valid purpose
  • Yaf_Exception — The Yaf_Exception class
    • Yaf_Exception::__construct — The __construct purpose
    • Yaf_Exception::getPrevious — The getPrevious purpose
  • Yaf_Exception_TypeError — The Yaf_Exception_TypeError class
  • Yaf_Exception_StartupError — The Yaf_Exception_StartupError class
  • Yaf_Exception_DispatchFailed — The Yaf_Exception_DispatchFailed class
  • Yaf_Exception_RouterFailed — The Yaf_Exception_RouterFailed class
  • Yaf_Exception_LoadFailed — The Yaf_Exception_LoadFailed class
  • Yaf_Exception_LoadFailed_Module — The Yaf_Exception_LoadFailed_Module class
  • Yaf_Exception_LoadFailed_Controller — The Yaf_Exception_LoadFailed_Controller class
  • Yaf_Exception_LoadFailed_Action — The Yaf_Exception_LoadFailed_Action class
  • Yaf_Exception_LoadFailed_View — The Yaf_Exception_LoadFailed_View class


Introdução

The Yet Another Framework (Yaf) extension is a PHP framework that is used to develop web applications.

Yaf requires PHP 5.2.1 or greater. Earlier versions may not work.

A simple Yaf benchmark can be found at » Yaf Performance.

For a quick start guide, please refer to the Tutorials section.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/yaf.

Windows binaries (DLL files) for this PECL extension are available from the PECL website.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Yaf Opções de Configuração
Nome | Padrão | Modificável | Changelog
yaf.library |  | PHP_INI_ALL |
yaf.action_prefer | 0 | PHP_INI_ALL |
yaf.lowcase_path | 0 | PHP_INI_ALL |
yaf.use_spl_autoload | 0 | PHP_INI_ALL |
yaf.forward_limit | 5 | PHP_INI_ALL |
yaf.name_suffix | 1 | PHP_INI_ALL |
yaf.name_separator |  | PHP_INI_ALL |
yaf.cache_config | 0 | PHP_INI_SYSTEM |
yaf.environ | product | PHP_INI_SYSTEM |
yaf.use_namespace | 0 | PHP_INI_SYSTEM |

Uma rápida explicação das diretivas de configuração.

yaf.library string

The global library path, Yaf_loader will search global library in this directory.

yaf.action_prefer int

If there is only one part in PATH_INFO, should it consider as a controller or action.

If this configure On, it will be considered as a Action name.

yaf.lowcase_path int

Whether lowercase all the path during the class autoloading.

yaf.use_spl_autoload int

When this value is On, if Yaf_Loader can not find a class, it will return false, then give chance to other auto load function to be called.

When this value is Off, if Yaf_Loader can not find a class, it will return true, and make the class autoloading failed immediately.

Nota:

Yaf will register its loader during a instantiation of Yaf_Application, so any other auto loaders which is register before the instantiation will be called before Yaf_Loader::autoload().

When this value is Off(default), Yaf_Loader::autoload() will always return true.

yaf.forward_limit int

The max forward count, default is 5. that means you can have a max value of 5 in the forward stack.

This is a protection for prevent recursive Yaf_Controller_Abstract::forward().

yaf.name_suffix int

When this On, Yaf_Loader will identify a class by it's suffix to decide whether it is a MVC Class.

When this Off, Yaf_Loader will look at the prefix of the class name.

yaf.name_separator string

When this is not empty, Yaf_Loader will identify the class suffix and string value of this.

For example, when this value is "_", Yaf_Loader will take Index_Controller as a Controller Class, IndexController as a normal class.

yaf.cache_config int

If this is On, and in the meantime you are using ini config file as the parameter of Yaf_Application(), the compiling result of the ini config file will be cached in the PHP process.

Nota:

Yaf examine the mtime of the ini file, if it was changed since last compiling, Yaf will reload it.

Aviso

Yaf use the ini file path as the cache entry key, so do use the absolute path in ini file path, otherwise there might be some conflicts if two application use the same relative path of ini config.

yaf.environ string

This value is "product" by default, used for Yaf to fetch the config section of a ini config file.

That is, if this value is "product", Yaf will use the section named "product" in the ini config file(the first parameter of the Yaf_Application) as the final config of the Yaf_Application.

yaf.use_namespace int

Only works as of PHP 5.3, if this value is On, All classes of Yaf will named in namespace style.

For example:

Yaf_Route_Rewrite => \Yaf\Route\Rewrite
Yaf_Request_Http  => \Yaf\Request\Http
There is a exception, that is some classes like Yaf_Controller_Abstract. The last component is a keyword of PHP, could not be used as a class name, so for such classes:
Yaf_Controller_Abstract => \Yaf\Controller_Abstract
Yaf_Route_Static => \Yaf\Route_Static


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

YAF_VERSION (string)
YAF_ENVIRON (string)
YAF_ERR_STARTUP_FAILED (int)
YAF_ERR_ROUTE_FAILED (int)
YAF_ERR_DISPATCH_FAILED (int)
YAF_ERR_AUTOLOAD_FAILED (int)
YAF_ERR_NOTFOUND_MODULE (int)
YAF_ERR_NOTFOUND_CONTROLLER (int)
YAF_ERR_NOTFOUND_ACTION (int)
YAF_ERR_NOTFOUND_VIEW (int)
YAF_ERR_CALL_FAILED (int)
YAF_ERR_TYPE_ERROR (int)


Exemplos

Exemplo #1 A classic Application directory layout

- index.php
- .htaccess
+ conf
  |- application.ini //application config
- application/
  - Bootstrap.php
  + controllers
     - Index.php //default controller
  + views
     |+ index
        - index.phtml //view template for default action
  + modules
  - library
  - models
  - plugins

Exemplo #2 Entry

index.php in the top directory is the only way in of the application, you should rewrite all request to it. (You can use .htaccess in Apache + php_mod)

<?php
define("APPLICATION_PATH",  dirname(__FILE__));

$app  = new Yaf_Application(APPLICATION_PATH . "/conf/application.ini");
$app->bootstrap() //call bootstrap methods defined in Bootstrap.php
 ->run();
?>

Exemplo #3 Rewrite rule

#for apache (.htaccess)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php

#for nginx
server {
  listen ****;
  server_name  domain.com;
  root   document_root;
  index  index.php index.html index.htm;

  if (!-e $request_filename) {
    rewrite ^/(.*)  /index.php$1 last;
  }
}

#for lighttpd
$HTTP["host"] =~ "(www.)?domain.com$" {
  url.rewrite = (
     "^/(.+)/?$"  => "/index.php/$1",
  )
}

Exemplo #4 Application config

[yaf]
;APPLICATION_PATH is the constant defined in index.php
application.directory=APPLICATION_PATH "/application/"

;product section inherit from yaf section
[product:yaf]
foo=bar

Exemplo #5 Default controller

<?php
class IndexController extends Yaf_Controller_Abstract {
   /* default action */
   public function indexAction() {
       $this->_view->word = "hello world";
       //or
       // $this->getView()->word = "hello world";
   }
}
?>

Exemplo #6 Default view template

<html>
 <head>
   <title>Hello World</title>
 </head>
 <body>
   <?php echo $word;?>
 </body>
</html>

Exemplo #7 Run the Application

O exemplo acima irá imprimir algo similar à:

<html>
 <head>
   <title>Hello World</title>
 </head>
 <body>
   hello world
 </body>
</html>

Nota:

you can also generate above example by use Yaf codes generator, which could be found here yaf@github.


Application Configuration

You should give an array of config or an ini config file(see Yaf_Config_Ini) path to Yaf_Application::__construct().

Yaf will merge the application configurations and user configurations automatically. The application configurations have prefix "yaf." or "application.". If both "yaf." and "application." exist, "application." will be accepted preferentially.

Exemplo #1 An PHP array example

<?php
    $configs = array(
            "application" => array(
                "directory" => dirname(__FILE__),
                "dispatcher" => array(
                      "catchException" => 0,
                    ),
                "view" => array(
                       "ext" => "phtml",
                    ),
                ),
           );
    $app = new Yaf_Application($configs);
?>

Exemplo #2 An ini file example

[yaf]
yaf.directory = APPLICATION_PATH "/appliation"
yaf.dispatcher.catchException = 0

[product : yaf]
; user configuration list here

Yaf Application Config
Nome | Padrão | Changelog
application.directory |  |
application.ext | "php" |
application.view.ext | "phtml" |
application.modules | "index" |
application.library | application.directory . "/library" |
application.library.directory | application.directory . "/library" |
application.library.namespace | "" |
application.bootstrap | application.directory . "/Bootstrap" . application.ext |
application.baseUri | "" |
application.dispatcher.defaultRoute |  |
application.dispatcher.throwException | 1 |
application.dispatcher.catchException | 0 |
application.dispatcher.defaultModule | "index" |
application.dispatcher.defaultController | "index" |
application.dispatcher.defaultAction | "index" |
application.system |  |

Uma rápida explicação das diretivas de configuração.

application.directory string

The directory of the application, that is the folder which contains the "controllers", "views", "models", "plugins" folders.

Nota:

This config entry is the only one which doesn't has a default value. You should always define it manually.

application.ext string

The file ext of the PHP script, used in class autoloading( Yaf_Loader).

application.view.ext string

The file ext of the view template scripts.

application.modules string

A comma-separated list of the registered modules, used in the route process, especially while there are more than three segments in the PATH_INFO,

Yaf need a way to find out whether the first segment is a module name or not.

application.library string

The local library directory, see Yaf_Loader and yaf.library.

Nota:

After Yaf 2.1.6, this config entry can be an array. The library path will try to use the items setted in application.library.directory

application.library.directory string

Alias of application.library. Introduced in Yaf 2.1.6

application.library.namespace string

A comma-separated prefix of local library namespace.

Introduced in Yaf 2.1.6

application.bootstrap string

A absolute path of the Bootstrap class script.

application.baseUri string

Used to remove a fixed prefix of request uri in route process. Take a example, comes a request with request uri "/prefix/controller/action". if you set application.baseUri to "/prefix", then only "/controller/action" will take as the PATH_INFO in route process.

In generally, there is no need to set this value.

application.dispatcher.throwException bool

If it set to On, Yaf will throw an exception while some error occurring. See also Yaf_Dispatcher::throwException().

application.dispatcher.catchException bool

If it set to On, Yaf will forward to Error controller/Action while there is an unhandled exception. See also Yaf_Dispatcher::catchException().

application.dispatcher.defaultRoute string

The default Route, if it is not specificed, Static route will be used as default. See: Yaf_Router::addRoute().

application.dispatcher.defaultModule string

The default module name, see also Yaf_Dispatcher::setDefaultModule().

application.dispatcher.defaultController string

The default controller name, see also Yaf_Dispatcher::setDefaultController().

application.dispatcher.defaultAction string

The default action name, see also Yaf_Dispatcher::setDefaultAction().

application.system string

Set yaf runtime configure in application.ini, like: application.system.lowcase_path

Nota:

only those PHP_INI_ALL configures can be set in this way


The Yaf_Application class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

Yaf_Application provides a bootstrapping facility for applications which provides reusable resources, common- and module-based bootstrap classes and dependency checking.

Nota:

Yaf_Application implements the singleton pattern, and Yaf_Application can not be serialized or unserialized which will cause problem when you try to use PHPUnit to write some test case for Yaf.

You may use @backupGlobals annotation of PHPUnit to control the backup and restore operations for global variables. thus can solve this problem.

Sinopse da classe

final Yaf_Application {
/* Propriedades */
protected $config ;
protected $dispatcher ;
protected static $_app ;
protected $_modules ;
protected $_running ;
protected $_environ ;
/* Métodos */
public staticapp ( ) : mixed
public bootstrap ( Yaf_Bootstrap_Abstract $bootstrap = ? ) : void
public clearLastError ( ) : Yaf_Application
public __construct ( mixed $config , string $envrion = ? )
public __destruct ( ) : void
public environ ( ) : void
public execute ( callable $entry , string ...$args ) : void
public getAppDirectory ( ) : Yaf_Application
public getConfig ( ) : Yaf_Config_Abstract
public getDispatcher ( ) : Yaf_Dispatcher
public getLastErrorMsg ( ) : string
public getLastErrorNo ( ) : int
public getModules ( ) : array
public run ( ) : void
public setAppDirectory ( string $directory ) : Yaf_Application
}

Propriedades

config

dispatcher

_app

_modules

_running

_environ

Índice

  • Yaf_Application::app — Retrieve an Application instance
  • Yaf_Application::bootstrap — Call bootstrap
  • Yaf_Application::clearLastError — Clear the last error info
  • Yaf_Application::__construct — Yaf_Application constructor
  • Yaf_Application::__destruct — The __destruct purpose
  • Yaf_Application::environ — Retrive environ
  • Yaf_Application::execute — Execute a callback
  • Yaf_Application::getAppDirectory — Get the application directory
  • Yaf_Application::getConfig — Retrive the config instance
  • Yaf_Application::getDispatcher — Get Yaf_Dispatcher instance
  • Yaf_Application::getLastErrorMsg — Get message of the last occurred error
  • Yaf_Application::getLastErrorNo — Get code of last occurred error
  • Yaf_Application::getModules — Get defined module names
  • Yaf_Application::run — Start Yaf_Application
  • Yaf_Application::setAppDirectory — Change the application directory


Retrieve an Application instance

  • « Yaf_Application
  • Yaf_Application::bootstrap »
  • PHP Manual
  • Yaf_Application
  • Retrieve an Application instance

Yaf_Application::app

(Yaf >=1.0.0)

Yaf_Application::app — Retrieve an Application instance

Descrição

public staticYaf_Application::app ( ) : mixed

Retrieve the Yaf_Application instance. Alternatively, we also could use Yaf_Dispatcher::getApplication().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A Yaf_Application instance, if no Yaf_Application was initialized before, null will be returned.

Veja Também

  • Yaf_Dispatcher::getApplication() - Retrive the application


Call bootstrap

  • « Yaf_Application::app
  • Yaf_Application::clearLastError »
  • PHP Manual
  • Yaf_Application
  • Call bootstrap

Yaf_Application::bootstrap

(Yaf >=1.0.0)

Yaf_Application::bootstrap — Call bootstrap

Descrição

public Yaf_Application::bootstrap ( Yaf_Bootstrap_Abstract $bootstrap = ? ) : void

Run a Bootstrap, all the methods defined in the Bootstrap and named with prefix "_init" will be called according to their declaration order, if the parameter bootstrap is not supplied, Yaf will look for a Bootstrap under application.directory.

Parâmetros

bootstrap

A Yaf_Bootstrap_Abstract instance

Valor Retornado

Yaf_Application instance

Exemplos

Exemplo #1 A Bootstrap()example

<?php
/**
 * This file should be under the APPLICATION_PATH . "/application/"(which was defined in the config passed to Yaf_Application).
 * and named Bootstrap.php,  so the Yaf_Application can find it
 */
class Bootstrap extends Yaf_Bootstrap_Abstract {
    function _initConfig(Yaf_Dispatcher $dispatcher) {
        echo "1st called\n";
    }

    function _initPlugin($dispatcher) {
        echo "2nd called\n";
    }
}
?>

Exemplo #2 Yaf_Application::bootstrap()example

<?php

defined('APPLICATION_PATH')                  // APPLICATION_PATH will be used in the ini config file
    || define('APPLICATION_PATH', __DIR__)); //__DIR__ was introduced after PHP 5.3

$application = new Yaf_Application(APPLICATION_PATH.'/conf/application.ini');
$application->bootstrap();
?>

O exemplo acima irá imprimir algo similar à:

1st called
2nd called

Veja Também

  • Yaf_Bootstrap_Abstract


Clear the last error info

  • « Yaf_Application::bootstrap
  • Yaf_Application::__construct »
  • PHP Manual
  • Yaf_Application
  • Clear the last error info

Yaf_Application::clearLastError

(Yaf >=2.1.2)

Yaf_Application::clearLastError — Clear the last error info

Descrição

public Yaf_Application::clearLastError ( ) : Yaf_Application

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 Yaf_Application::clearLastError()example

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
   Yaf_Application::app()->clearLastError();
   var_dump(Yaf_Application::app()->getLastErrorNo());
}

$config = array(
 "application" => array(
   "directory" => "/tmp/notexists",
     "dispatcher" => array(
       "throwException" => 0, //trigger error instead of throw exception when error occure
      ),
  ),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

O exemplo acima irá imprimir algo similar à:

int(0)


Yaf_Application constructor

  • « Yaf_Application::clearLastError
  • Yaf_Application::__destruct »
  • PHP Manual
  • Yaf_Application
  • Yaf_Application constructor

Yaf_Application::__construct

(Yaf >=1.0.0)

Yaf_Application::__construct — Yaf_Application constructor

Descrição

public Yaf_Application::__construct ( mixed $config , string $envrion = ? )

Instance a Yaf_Application.

Parâmetros

config

A ini config file path, or a config array

If is a ini config file, there should be a section named as the one defined by yaf.environ, which is "product" by default.

Nota:

If you use a ini configuration file as your applicatioin's config container. you would open the yaf.cache_config to improve performance.

And the config entry(and there default value) list blow:

Exemplo #1 A ini config file example

[product]
;this one should alway be defined, and have no default value
application.directory=APPLICATION_PATH

;following configs have default value, you may no need to define them
application.library = APPLICATION_PATH . "/library"
application.dispatcher.throwException=1
application.dispatcher.catchException=1

application.baseUri=""

;the php script ext name
ap.ext=php

;the view template ext name
ap.view.ext=phtml

ap.dispatcher.defaultModuel=Index
ap.dispatcher.defaultController=Index
ap.dispatcher.defaultAction=index

;defined modules
ap.modules=Index

envrion

Which section will be loaded as the final config

Valor Retornado

Exemplos

Exemplo #2 Yaf_Application::__construct()example

<?php
defined('APPLICATION_PATH')                  // APPLICATION_PATH will be used in the ini config file
    || define('APPLICATION_PATH', __DIR__)); //__DIR__ was introduced after PHP 5.3

$application = new Yaf_Application(APPLICATION_PATH.'/conf/application.ini');
$application->bootstrap()->run();
?>

O exemplo acima irá imprimir algo similar à:

Exemplo #3 Yaf_Application::__construct()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
$application->bootstrap()->run();
?>

O exemplo acima irá imprimir
algo similar à:

Veja Também

  • Yaf_Config_Ini
    •


The __destruct purpose

  • « Yaf_Application::__construct
  • Yaf_Application::environ »
  • PHP Manual
  • Yaf_Application
  • The __destruct purpose

Yaf_Application::__destruct

(Yaf >=1.0.0)

Yaf_Application::__destruct — The __destruct purpose

Descrição

public Yaf_Application::__destruct ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retrive environ

  • « Yaf_Application::__destruct
  • Yaf_Application::execute »
  • PHP Manual
  • Yaf_Application
  • Retrive environ

Yaf_Application::environ

(Yaf >=1.0.0)

Yaf_Application::environ — Retrive environ

Descrição

public Yaf_Application::environ ( ) : void

Retrive environ which was defined in yaf.environ which has a default value "product".

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 Yaf_Application::environ()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->environ());
?>

O exemplo acima irá imprimir algo similar à:

product


Execute a callback

  • « Yaf_Application::environ
  • Yaf_Application::getAppDirectory »
  • PHP Manual
  • Yaf_Application
  • Execute a callback

Yaf_Application::execute

(Yaf >=1.0.0)

Yaf_Application::execute — Execute a callback

Descrição

public Yaf_Application::execute ( callable $entry , string ...$args ) : void

This method is typically used to run Yaf_Application in a crontab work. Make the crontab work can also use the autoloader and Bootstrap mechanism.

Parâmetros

entry

a valid callback

args

parameters will pass to the callback

Valor Retornado

Exemplos

Exemplo #1 Yaf_Application::execute()example

<?php
function main($argc, $argv) {
}

$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
$application->execute("main", $argc,  $argv);
?>

O exemplo acima irá imprimir algo similar à:


Get the application directory

  • « Yaf_Application::execute
  • Yaf_Application::getConfig »
  • PHP Manual
  • Yaf_Application
  • Get the application directory

Yaf_Application::getAppDirectory

(Yaf >=2.1.4)

Yaf_Application::getAppDirectory — Get the application directory

Descrição

public Yaf_Application::getAppDirectory ( ) : Yaf_Application

Parâmetros

directory

Valor Retornado


Retrive the config instance

  • « Yaf_Application::getAppDirectory
  • Yaf_Application::getDispatcher »
  • PHP Manual
  • Yaf_Application
  • Retrive the config instance

Yaf_Application::getConfig

(Yaf >=1.0.0)

Yaf_Application::getConfig — Retrive the config instance

Descrição

public Yaf_Application::getConfig ( ) : Yaf_Config_Abstract

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A Yaf_Config_Abstract instance

Exemplos

Exemplo #1 Yaf_Application::getConfig()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->getConfig());
?>

O exemplo acima irá imprimir algo similar à:

Yaf_Config_Simple Object
(
    [_config:protected] => Array
        (
            [application] => Array
                (
                    [directory] => /home/laruence/local/www/htdocs/application
                )

        )

    [_readonly:protected] => 1
)


Get Yaf_Dispatcher instance

  • « Yaf_Application::getConfig
  • Yaf_Application::getLastErrorMsg »
  • PHP Manual
  • Yaf_Application
  • Get Yaf_Dispatcher instance

Yaf_Application::getDispatcher

(Yaf >=1.0.0)

Yaf_Application::getDispatcher — Get Yaf_Dispatcher instance

Descrição

public Yaf_Application::getDispatcher ( ) : Yaf_Dispatcher

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 Yaf_Application::getDispatcher()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->getDispatcher());
?>

O exemplo acima irá imprimir algo similar à:

Yaf_Dispatcher Object
(
    [_router:protected] => Yaf_Router Object
        (
            [_routes:protected] => Array
                (
                    [_default] => Yaf_Route_Static Object
                        (
                        )

                )

            [_current:protected] =>
        )

    [_view:protected] =>
    [_request:protected] => Yaf_Request_Http Object
        (
            [module] =>
            [controller] =>
            [action] =>
            [method] => Cli
            [params:protected] => Array
                (
                )

            [language:protected] =>
            [_exception:protected] =>
            [_base_uri:protected] =>
            [uri:protected] =>
            [dispatched:protected] =>
            [routed:protected] =>
        )

    [_plugins:protected] => Array
        (
        )

    [_auto_render:protected] => 1
    [_return_response:protected] =>
    [_instantly_flush:protected] =>
    [_default_module:protected] => Index
    [_default_controller:protected] => Index
    [_default_action:protected] => index
    [_response] => Yaf_Response_Cli Object
        (
            [_header:protected] => Array
                (
                )

            [_body:protected] =>
            [_sendheader:protected] =>
        )

)


Get message of the last occurred error

  • « Yaf_Application::getDispatcher
  • Yaf_Application::getLastErrorNo »
  • PHP Manual
  • Yaf_Application
  • Get message of the last occurred error

Yaf_Application::getLastErrorMsg

(Yaf >=2.1.2)

Yaf_Application::getLastErrorMsg — Get message of the last occurred error

Descrição

public Yaf_Application::getLastErrorMsg ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 Yaf_Application::getLastErrorMsg()example

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
   var_dump(Yaf_Application::app()->getLastErrorMsg());
}

$config = array(
 "application" => array(
   "directory" => "/tmp/notexists",
     "dispatcher" => array(
       "throwException" => 0, //trigger error instead of throw exception when error occure
      ),
  ),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

O exemplo acima irá imprimir algo similar à:

string(69) "Could not find controller script /tmp/notexists/controllers/Index.php"


Get code of last occurred error

  • « Yaf_Application::getLastErrorMsg
  • Yaf_Application::getModules »
  • PHP Manual
  • Yaf_Application
  • Get code of last occurred error

Yaf_Application::getLastErrorNo

(Yaf >=2.1.2)

Yaf_Application::getLastErrorNo — Get code of last occurred error

Descrição

public Yaf_Application::getLastErrorNo ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 Yaf_Application::getLastErrorNo()example

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
   var_dump(Yaf_Application::app()->getLastErrorNo());
   var_dump(Yaf_Application::app()->getLastErrorNo() == YAF_ERR_NOTFOUND_CONTROLLER);
}

$config = array(
  "application" => array(
   "directory" => "/tmp/notexists",
     "dispatcher" => array(
       "throwException" => 0, //trigger error instead of throw exception when error occure
      ),
  ),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

O exemplo acima irá imprimir algo similar à:

int(516)
bool(true)


Get defined module names

  • « Yaf_Application::getLastErrorNo
  • Yaf_Application::run »
  • PHP Manual
  • Yaf_Application
  • Get defined module names

Yaf_Application::getModules

(Yaf >=1.0.0)

Yaf_Application::getModules — Get defined module names

Descrição

public Yaf_Application::getModules ( ) : array

Get the modules list defined in config, if no one defined, there will always be a module named "Index".

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 Yaf_Application::getModules()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->getModules());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Index
)


Start Yaf_Application

  • « Yaf_Application::getModules
  • Yaf_Application::setAppDirectory »
  • PHP Manual
  • Yaf_Application
  • Start Yaf_Application

Yaf_Application::run

(Yaf >=1.0.0)

Yaf_Application::run — Start Yaf_Application

Descrição

public Yaf_Application::run ( ) : void

Run a Yaf_Application, let the Yaf_Application accept a request and route this request, dispatch to controller/action and render response. Finally, return the response to the client.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Change the application directory

  • « Yaf_Application::run
  • Yaf_Bootstrap_Abstract »
  • PHP Manual
  • Yaf_Application
  • Change the application directory

Yaf_Application::setAppDirectory

(Yaf >=2.1.4)

Yaf_Application::setAppDirectory — Change the application directory

Descrição

public Yaf_Application::setAppDirectory ( string $directory ) : Yaf_Application

Parâmetros

directory

Valor Retornado


The Yaf_Bootstrap_Abstract class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

Bootstrap is a mechanism used to do some initial config before a Application run.

User may define their own Bootstrap class by inheriting Yaf_Bootstrap_Abstract

Any method declared in Bootstrap class with leading "_init", will be called by Yaf_Application::bootstrap() one by one according to their defined order.

Exemplos

Exemplo #1 Bootstrap example

<?php
   /* bootstrap class should be defined under ./application/Bootstrap.php */
   class Bootstrap extends Yaf_Bootstrap_Abstract {
        public function _initConfig(Yaf_Dispatcher $dispatcher) {
            var_dump(__METHOD__);
        }
        public function _initPlugin(Yaf_Dispatcher $dispatcher) {
            var_dump(__METHOD__);
        }
   }

   $config = array(
       "application" => array(
           "directory" => dirname(__FILE__) . "/application/",
       ),
   );

   $app = new Yaf_Application($config);
   $app->bootstrap();
?>

O exemplo acima irá imprimir algo similar à:

string(22) "Bootstrap::_initConfig"
string(22) "Bootstrap::_initPlugin"

Sinopse da classe

abstract Yaf_Bootstrap_Abstract {
/* Propriedades */
/* Métodos */
}


The Yaf_Dispatcher class

(Yaf >=1.0.0)

Introdução

Yaf_Dispatcher purpose is to initialize the request environment, route the incoming request, and then dispatch any discovered actions; it aggregates any responses and returns them when the process is complete.

Yaf_Dispatcher also implements the Singleton pattern, meaning only a single instance of it may be available at any given time. This allows it to also act as a registry on which the other objects in the dispatch process may draw.

Sinopse da classe

final Yaf_Dispatcher {
/* Propriedades */
protected $_router ;
protected $_view ;
protected $_request ;
protected $_plugins ;
protected static $_instance ;
protected $_auto_render ;
protected $_return_response ;
protected $_instantly_flush ;
protected $_default_module ;
protected $_default_controller ;
protected $_default_action ;
/* Métodos */
public autoRender ( bool $flag = ? ) : Yaf_Dispatcher
public catchException ( bool $flag = ? ) : Yaf_Dispatcher
public __construct ( )
public disableView ( ) : bool
public dispatch ( Yaf_Request_Abstract $request ) : Yaf_Response_Abstract
public enableView ( ) : Yaf_Dispatcher
public flushInstantly ( bool $flag = ? ) : Yaf_Dispatcher
public getApplication ( ) : Yaf_Application
public getDefaultAction ( ) : string
public getDefaultController ( ) : string
public getDefaultModule ( ) : string
public static getInstance ( ) : Yaf_Dispatcher
public getRequest ( ) : Yaf_Request_Abstract
public getRouter ( ) : Yaf_Router
public initView ( string $templates_dir , array $options = ? ) : Yaf_View_Interface
public registerPlugin ( Yaf_Plugin_Abstract $plugin ) : Yaf_Dispatcher
public returnResponse ( bool $flag ) : Yaf_Dispatcher
public setDefaultAction ( string $action ) : Yaf_Dispatcher
public setDefaultController ( string $controller ) : Yaf_Dispatcher
public setDefaultModule ( string $module ) : Yaf_Dispatcher
public setErrorHandler ( call $callback , int $error_types ) : Yaf_Dispatcher
public setRequest ( Yaf_Request_Abstract $request ) : Yaf_Dispatcher
public setView ( Yaf_View_Interface $view ) : Yaf_Dispatcher
public throwException ( bool $flag = ? ) : Yaf_Dispatcher
}

Propriedades

_router

_view

_request

_plugins

_instance

_auto_render

_return_response

_instantly_flush

_default_module

_default_controller

_default_action

Índice

  • Yaf_Dispatcher::autoRender — Switch on/off autorendering
  • Yaf_Dispatcher::catchException — Switch on/off exception catching
  • Yaf_Dispatcher::__construct — Yaf_Dispatcher constructor
  • Yaf_Dispatcher::disableView — Disable view rendering
  • Yaf_Dispatcher::dispatch — Dispatch a request
  • Yaf_Dispatcher::enableView — Enable view rendering
  • Yaf_Dispatcher::flushInstantly — Switch on/off the instant flushing
  • Yaf_Dispatcher::getApplication — Retrive the application
  • Yaf_Dispatcher::getDefaultAction — Retrive the default action name
  • Yaf_Dispatcher::getDefaultController — Retrive the default controller name
  • Yaf_Dispatcher::getDefaultModule — Retrive the default module name
  • Yaf_Dispatcher::getInstance — Retrive the dispatcher instance
  • Yaf_Dispatcher::getRequest — Retrive the request instance
  • Yaf_Dispatcher::getRouter — Retrive router instance
  • Yaf_Dispatcher::initView — Initialize view and return it
  • Yaf_Dispatcher::registerPlugin — Register a plugin
  • Yaf_Dispatcher::returnResponse — The returnResponse purpose
  • Yaf_Dispatcher::setDefaultAction — Change default action name
  • Yaf_Dispatcher::setDefaultController — Change default controller name
  • Yaf_Dispatcher::setDefaultModule — Change default module name
  • Yaf_Dispatcher::setErrorHandler — Set error handler
  • Yaf_Dispatcher::setRequest — The setRequest purpose
  • Yaf_Dispatcher::setView — Set a custom view engine
  • Yaf_Dispatcher::throwException — Switch on/off exception throwing


Switch on/off autorendering

  • « Yaf_Dispatcher
  • Yaf_Dispatcher::catchException »
  • PHP Manual
  • Yaf_Dispatcher
  • Switch on/off autorendering

Yaf_Dispatcher::autoRender

(Yaf >=1.0.0)

Yaf_Dispatcher::autoRender — Switch on/off autorendering

Descrição

public Yaf_Dispatcher::autoRender ( bool $flag = ? ) : Yaf_Dispatcher

Yaf_Dispatcher will render automatically after dispatches a incoming request, you can prevent the rendering by calling this method with flag true

Nota:

you can simply return false in a action to prevent the auto-rendering of that action

Parâmetros

flag

bool

Nota:

since 2.2.0, if this parameter is not given, then the current state will be renturned

Valor Retornado

Exemplos

Exemplo #1 Yaf_Dispatcher::autoRender()example

<?php
class IndexController extends Yaf_Controller_Abstract {
     /* init method will be called as soon as a controller is initialized */
     public function init() {
         if ($this->getRequest()->isXmlHttpRequest()) {
             //do not call render for ajax request
             //we will outpu a json string
             Yaf_Dispatcher::getInstance()->autoRender(FALSE);
         }
     }

}
?>

O exemplo acima irá imprimir algo similar à:


Switch on/off exception catching

  • « Yaf_Dispatcher::autoRender
  • Yaf_Dispatcher::__construct »
  • PHP Manual
  • Yaf_Dispatcher
  • Switch on/off exception catching

Yaf_Dispatcher::catchException

(Yaf >=1.0.0)

Yaf_Dispatcher::catchException — Switch on/off exception catching

Descrição

public Yaf_Dispatcher::catchException ( bool $flag = ? ) : Yaf_Dispatcher

While the application.dispatcher.throwException is On(you can also calling to Yaf_Dispatcher::throwException(TRUE)() to enable it), Yaf will throw Exception when error occurrs instead of trigger error.

then if you enable Yaf_Dispatcher::catchException()(also can enabled by set application.dispatcher.catchException), all uncaught Exceptions will be caught by ErrorController::error if you have defined one.

Parâmetros

flag

bool

Valor Retornado

Exemplos

Exemplo #1 Yaf_Dispatcher::catchException()example

/* if you defined a ErrorController like following */
<?php
class ErrorController extends Yaf_Controller_Abstract {
     /**
      * you can also call to Yaf_Request_Abstract::getException to get the
      * un-caught exception.
      */
     public function errorAction($exception) {
        /* error occurs */
        switch ($exception->getCode()) {
            case YAF_ERR_NOTFOUND_MODULE:
            case YAF_ERR_NOTFOUND_CONTROLLER:
            case YAF_ERR_NOTFOUND_ACTION:
            case YAF_ERR_NOTFOUND_VIEW:
                echo 404, ":", $exception->getMessage();
                break;
            default :
                $message = $exception->getMessage();
                echo 0, ":", $exception->getMessage();
                break;
        }
     }
}
?>

O exemplo acima irá imprimir algo similar à:

/* now if some error occur, assuming access a non-exists controller(or you can throw a exception yourself): */
404:Could not find controller script **/application/controllers/No-exists-controller.php

Veja Também

  • Yaf_Dispatcher::throwException() - Switch on/off exception throwing
  • Yaf_Dispatcher::setErrorHandler() - Set error handler


Yaf_Dispatcher constructor

  • « Yaf_Dispatcher::catchException
  • Yaf_Dispatcher::disableView »
  • PHP Manual
  • Yaf_Dispatcher
  • Yaf_Dispatcher constructor

Yaf_Dispatcher::__construct

(Yaf >=1.0.0)

Yaf_Dispatcher::__construct — Yaf_Dispatcher constructor

Descrição

public Yaf_Dispatcher::__construct ( )

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Disable view rendering

  • « Yaf_Dispatcher::__construct
  • Yaf_Dispatcher::dispatch »
  • PHP Manual
  • Yaf_Dispatcher
  • Disable view rendering

Yaf_Dispatcher::disableView

(Yaf >=1.0.0)

Yaf_Dispatcher::disableView — Disable view rendering

Descrição

public Yaf_Dispatcher::disableView ( ) : bool

disable view engine, used in some app that user will output by theirself

Nota:

you can simply return false in a action to prevent the auto-rendering of that action

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Dispatch a request

  • « Yaf_Dispatcher::disableView
  • Yaf_Dispatcher::enableView »
  • PHP Manual
  • Yaf_Dispatcher
  • Dispatch a request

Yaf_Dispatcher::dispatch

(Yaf >=1.0.0)

Yaf_Dispatcher::dispatch — Dispatch a request

Descrição

public Yaf_Dispatcher::dispatch ( Yaf_Request_Abstract $request ) : Yaf_Response_Abstract

This method does the heavy work of the Yaf_Dispatcher. It take a request object.

The dispatch process has three distinct events:

  • Routing
  • Dispatching
  • Response
Routing takes place exactly once, using the values in the request object when dispatch() is called. Dispatching takes place in a loop; a request may either indicate multiple actions to dispatch, or the controller or a plugin may reset the request object to force additional actions to dispatch(see Yaf_Plugin_Abstract. When all is done, the Yaf_Dispatcher returns a response.

Parâmetros

request

Valor Retornado


Enable view rendering

  • « Yaf_Dispatcher::dispatch
  • Yaf_Dispatcher::flushInstantly »
  • PHP Manual
  • Yaf_Dispatcher
  • Enable view rendering

Yaf_Dispatcher::enableView

(Yaf >=1.0.0)

Yaf_Dispatcher::enableView — Enable view rendering

Descrição

public Yaf_Dispatcher::enableView ( ) : Yaf_Dispatcher

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Switch on/off the instant flushing

  • « Yaf_Dispatcher::enableView
  • Yaf_Dispatcher::getApplication »
  • PHP Manual
  • Yaf_Dispatcher
  • Switch on/off the instant flushing

Yaf_Dispatcher::flushInstantly

(Yaf >=1.0.0)

Yaf_Dispatcher::flushInstantly — Switch on/off the instant flushing

Descrição

public Yaf_Dispatcher::flushInstantly ( bool $flag = ? ) : Yaf_Dispatcher

Parâmetros

flag

bool

Nota:

since 2.2.0, if this parameter is not given, then the current state will be renturned

Valor Retornado


Retrive the application

  • « Yaf_Dispatcher::flushInstantly
  • Yaf_Dispatcher::getDefaultAction »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrive the application

Yaf_Dispatcher::getApplication

(Yaf >=1.0.0)

Yaf_Dispatcher::getApplication — Retrive the application

Descrição

public Yaf_Dispatcher::getApplication ( ) : Yaf_Application

Retrive the Yaf_Application instance. same as Yaf_Application::app().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • Yaf_Application::app() - Retrieve an Application instance


Retrive the default action name

  • « Yaf_Dispatcher::getApplication
  • Yaf_Dispatcher::getDefaultController »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrive the default action name

Yaf_Dispatcher::getDefaultAction

(Yaf >=3.2.0)

Yaf_Dispatcher::getDefaultAction — Retrive the default action name

Descrição

public Yaf_Dispatcher::getDefaultAction ( ) : string

get the default action name

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

string, default action name, default is "index"


Retrive the default controller name

  • « Yaf_Dispatcher::getDefaultAction
  • Yaf_Dispatcher::getDefaultModule »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrive the default controller name

Yaf_Dispatcher::getDefaultController

(Yaf >=3.2.0)

Yaf_Dispatcher::getDefaultController — Retrive the default controller name

Descrição

public Yaf_Dispatcher::getDefaultController ( ) : string

get the default controller name

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

string, default controller name, default is "Index"


Retrive the default module name

  • « Yaf_Dispatcher::getDefaultController
  • Yaf_Dispatcher::getInstance »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrive the default module name

Yaf_Dispatcher::getDefaultModule

(Yaf >=3.2.0)

Yaf_Dispatcher::getDefaultModule — Retrive the default module name

Descrição

public Yaf_Dispatcher::getDefaultModule ( ) : string

get the default module name

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

string, module name, default is "Index"


Retrive the dispatcher instance

  • « Yaf_Dispatcher::getDefaultModule
  • Yaf_Dispatcher::getRequest »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrive the dispatcher instance

Yaf_Dispatcher::getInstance

(Yaf >=1.0.0)

Yaf_Dispatcher::getInstance — Retrive the dispatcher instance

Descrição

public static Yaf_Dispatcher::getInstance ( ) : Yaf_Dispatcher

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retrive the request instance

  • « Yaf_Dispatcher::getInstance
  • Yaf_Dispatcher::getRouter »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrive the request instance

Yaf_Dispatcher::getRequest

(Yaf >=1.0.0)

Yaf_Dispatcher::getRequest — Retrive the request instance

Descrição

public Yaf_Dispatcher::getRequest ( ) : Yaf_Request_Abstract

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retrive router instance

  • « Yaf_Dispatcher::getRequest
  • Yaf_Dispatcher::initView »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrive router instance

Yaf_Dispatcher::getRouter

(Yaf >=1.0.0)

Yaf_Dispatcher::getRouter — Retrive router instance

Descrição

public Yaf_Dispatcher::getRouter ( ) : Yaf_Router

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Initialize view and return it

  • « Yaf_Dispatcher::getRouter
  • Yaf_Dispatcher::registerPlugin »
  • PHP Manual
  • Yaf_Dispatcher
  • Initialize view and return it

Yaf_Dispatcher::initView

(Yaf >=1.0.0)

Yaf_Dispatcher::initView — Initialize view and return it

Descrição

public Yaf_Dispatcher::initView ( string $templates_dir , array $options = ? ) : Yaf_View_Interface

Parâmetros

templates_dir

options

Valor Retornado


Register a plugin

  • « Yaf_Dispatcher::initView
  • Yaf_Dispatcher::returnResponse »
  • PHP Manual
  • Yaf_Dispatcher
  • Register a plugin

Yaf_Dispatcher::registerPlugin

(Yaf >=1.0.0)

Yaf_Dispatcher::registerPlugin — Register a plugin

Descrição

public Yaf_Dispatcher::registerPlugin ( Yaf_Plugin_Abstract $plugin ) : Yaf_Dispatcher

Register a plugin(see Yaf_Plugin_Abstract). Generally, we register plugins in Bootstrap(see Yaf_Bootstrap_Abstract).

Parâmetros

plugin

Valor Retornado

Exemplos

Exemplo #1 Yaf_Dispatcher::registerPlugin()example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract {
  public function _initPlugin(Yaf_Dispatcher $dispatcher) {
    /**
    * Yaf assumes plugin scripts under [application.directory] .  "/plugins"
    * for this case, it will be:
    * [application.directory] . "/plugins/" . "User" . [application.ext]
    */
    $user = new UserPlugin();
    $dispatcher->registerPlugin($user);
  }
}
?>

Veja Também

  • Yaf_Plugin_Abstract
  • Yaf_Bootstrap_Abstract


The returnResponse purpose

  • « Yaf_Dispatcher::registerPlugin
  • Yaf_Dispatcher::setDefaultAction »
  • PHP Manual
  • Yaf_Dispatcher
  • The returnResponse purpose

Yaf_Dispatcher::returnResponse

(Yaf >=1.0.0)

Yaf_Dispatcher::returnResponse — The returnResponse purpose

Descrição

public Yaf_Dispatcher::returnResponse ( bool $flag ) : Yaf_Dispatcher

Parâmetros

flag

Valor Retornado


Change default action name

  • « Yaf_Dispatcher::returnResponse
  • Yaf_Dispatcher::setDefaultController »
  • PHP Manual
  • Yaf_Dispatcher
  • Change default action name

Yaf_Dispatcher::setDefaultAction

(Yaf >=1.0.0)

Yaf_Dispatcher::setDefaultAction — Change default action name

Descrição

public Yaf_Dispatcher::setDefaultAction ( string $action ) : Yaf_Dispatcher

Parâmetros

action

Valor Retornado


Change default controller name

  • « Yaf_Dispatcher::setDefaultAction
  • Yaf_Dispatcher::setDefaultModule »
  • PHP Manual
  • Yaf_Dispatcher
  • Change default controller name

Yaf_Dispatcher::setDefaultController

(Yaf >=1.0.0)

Yaf_Dispatcher::setDefaultController — Change default controller name

Descrição

public Yaf_Dispatcher::setDefaultController ( string $controller ) : Yaf_Dispatcher

Parâmetros

controller

Valor Retornado


Change default module name

  • « Yaf_Dispatcher::setDefaultController
  • Yaf_Dispatcher::setErrorHandler »
  • PHP Manual
  • Yaf_Dispatcher
  • Change default module name

Yaf_Dispatcher::setDefaultModule

(Yaf >=1.0.0)

Yaf_Dispatcher::setDefaultModule — Change default module name

Descrição

public Yaf_Dispatcher::setDefaultModule ( string $module ) : Yaf_Dispatcher

Parâmetros

module

Valor Retornado


Set error handler

  • « Yaf_Dispatcher::setDefaultModule
  • Yaf_Dispatcher::setRequest »
  • PHP Manual
  • Yaf_Dispatcher
  • Set error handler

Yaf_Dispatcher::setErrorHandler

(Yaf >=1.0.0)

Yaf_Dispatcher::setErrorHandler — Set error handler

Descrição

public Yaf_Dispatcher::setErrorHandler ( call $callback , int $error_types ) : Yaf_Dispatcher

Set error handler for Yaf. when application.dispatcher.throwException is off, Yaf will trigger catchable error while unexpected errors occrred.

Thus, this error handler will be called while the error raise.

Parâmetros

callback

A callable callback

error_types

Valor Retornado

Veja Também

  • Yaf_Dispatcher::throwException() - Switch on/off exception throwing
  • Yaf_Application::getLastErrorNo() - Get code of last occurred error
  • Yaf_Application::getLastErrorMsg() - Get message of the last occurred error


The setRequest purpose

  • « Yaf_Dispatcher::setErrorHandler
  • Yaf_Dispatcher::setView »
  • PHP Manual
  • Yaf_Dispatcher
  • The setRequest purpose

Yaf_Dispatcher::setRequest

(Yaf >=1.0.0)

Yaf_Dispatcher::setRequest — The setRequest purpose

Descrição

public Yaf_Dispatcher::setRequest ( Yaf_Request_Abstract $request ) : Yaf_Dispatcher

Parâmetros

plugin

Valor Retornado


Set a custom view engine

  • « Yaf_Dispatcher::setRequest
  • Yaf_Dispatcher::throwException »
  • PHP Manual
  • Yaf_Dispatcher
  • Set a custom view engine

Yaf_Dispatcher::setView

(Yaf >=1.0.0)

Yaf_Dispatcher::setView — Set a custom view engine

Descrição

public Yaf_Dispatcher::setView ( Yaf_View_Interface $view ) : Yaf_Dispatcher

This method provides a solution if you want use a custom view engine instead of Yaf_View_Simple

Parâmetros

view

A Yaf_View_Interface instance

Valor Retornado

Exemplos

Exemplo #1 A custom View engine()example

<?php
require "/path/to/smarty/Smarty.class.php";

class Smarty_Adapter implements Yaf_View_Interface
{
    /**
     * Smarty object
     * @var Smarty
     */
    public $_smarty;

    /**
     * Constructor
     *
     * @param string $tmplPath
     * @param array $extraParams
     * @return void
     */
    public function __construct($tmplPath = null, $extraParams = array()) {
        $this->_smarty = new Smarty;

        if (null !== $tmplPath) {
            $this->setScriptPath($tmplPath);
        }

        foreach ($extraParams as $key => $value) {
            $this->_smarty->$key = $value;
        }
    }

    /**
     * Set the path to the templates
     *
     * @param string $path The directory to set as the path.
     * @return void
     */
    public function setScriptPath($path)
    {
        if (is_readable($path)) {
            $this->_smarty->template_dir = $path;
            return;
        }

        throw new Exception('Invalid path provided');
    }

    /**
     * Assign a variable to the template
     *
     * @param string $key The variable name.
     * @param mixed $val The variable value.
     * @return void
     */
    public function __set($key, $val)
    {
        $this->_smarty->assign($key, $val);
    }

    /**
     * Allows testing with empty() and isset() to work
     *
     * @param string $key
     * @return boolean
     */
    public function __isset($key)
    {
        return (null !== $this->_smarty->get_template_vars($key));
    }

    /**
     * Allows unset() on object properties to work
     *
     * @param string $key
     * @return void
     */
    public function __unset($key)
    {
        $this->_smarty->clear_assign($key);
    }

    /**
     * Assign variables to the template
     *
     * Allows setting a specific key to the specified value, OR passing
     * an array of key => value pairs to set en masse.
     *
     * @see __set()
     * @param string|array $spec The assignment strategy to use (key or
     * array of key => value pairs)
     * @param mixed $value (Optional) If assigning a named variable,
     * use this as the value.
     * @return void
     */
    public function assign($spec, $value = null) {
        if (is_array($spec)) {
            $this->_smarty->assign($spec);
            return;
        }

        $this->_smarty->assign($spec, $value);
    }

    /**
     * Clear all assigned variables
     *
     * Clears all variables assigned to Yaf_View either via
     * {@link assign()} or property overloading
     * ({@link __get()}/{@link __set()}).
     *
     * @return void
     */
    public function clearVars() {
        $this->_smarty->clear_all_assign();
    }

    /**
     * Processes a template and returns the output.
     *
     * @param string $name The template to process.
     * @return string The output.
     */
    public function render($name, $value = NULL) {
        return $this->_smarty->fetch($name);
    }

    public function display($name, $value = NULL) {
        echo $this->_smarty->fetch($name);
    }

}
?>

Exemplo #2 Yaf_Dispatcher::setView()example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract {

    /**
     * there are some config for smarty in the config:
     *
     * smarty.left_delimiter   = "{{"
     * smarty.right_delimiter  = "}}"
     * smarty.template_dir     = APPLICATION_PATH "/views/scripts/"
     * smarty.compile_dir      = APPLICATION_PATH "/views/templates_c/"
     * smarty.cache_dir        = APPLICATION_PATH "/views/templates_d/"
     *
     */
    public function _initConfig() {
        $config = Yaf_Application::app()->getConfig();
        Yaf_Registry::set("config", $config);
    }

    public function _initLocalName() {
        /** we put class Smarty_Adapter under the local library directory */
        Yaf_Loader::getInstance()->registerLocalNamespace('Smarty');
    }

    public function _initSmarty(Yaf_Dispatcher $dispatcher) {
        $smarty = new Smarty_Adapter(null, Yaf_Registry::get("config")->get("smarty"));
        $dispatcher->setView($smarty);
        /* now the Smarty view engine become the default view engine of Yaf */
    }
}
?>

Veja Também

  • Yaf_View_Interface
  • Yaf_View_Simple


Switch on/off exception throwing

  • « Yaf_Dispatcher::setView
  • Yaf_Config_Abstract »
  • PHP Manual
  • Yaf_Dispatcher
  • Switch on/off exception throwing

Yaf_Dispatcher::throwException

(Yaf >=1.0.0)

Yaf_Dispatcher::throwException — Switch on/off exception throwing

Descrição

public Yaf_Dispatcher::throwException ( bool $flag = ? ) : Yaf_Dispatcher

Siwtch on/off exception throwing while unexpected error occurring. When this is on, Yaf will throwing exceptions instead of triggering catchable errors.

You can also use application.dispatcher.throwException to achieve the same purpose.

Parâmetros

flag

bool

Valor Retornado

Exemplos

Exemplo #1 Yaf_Dispatcher::throwexception()example

<?php

$config = array(
    'application' => array(
        'directory' => dirname(__FILE__),
    ),
);
$app = new Yaf_Application($config);

$app->getDispatcher()->throwException(true);

try {
    $app->run();
} catch (Yaf_Exception $e) {
    var_dump($e->getMessage());
}
?>

O exemplo acima irá imprimir algo similar à:

string(59) "Could not find controller script /tmp/controllers/Index.php"

Exemplo #2 Yaf_Dispatcher::throwexception()example

<?php

$config = array(
    'application' => array(
        'directory' => dirname(__FILE__),
    ),
);
$app = new Yaf_Application($config);

$app->getDispatcher()->throwException(false);

$app->run();
?>

O exemplo acima irá imprimir algo similar à:

PHP Catchable fatal error:  Yaf_Application::run(): Could not find controller script /tmp/controllers/Index.php in /tmp/1.php on line 12

Veja Também

  • Yaf_Dispatcher::catchException() - Switch on/off exception catching
  • Yaf_Exception


The Yaf_Config_Abstract class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

abstract Yaf_Config_Abstract {
/* Propriedades */
protected $_config ;
protected $_readonly ;
/* Métodos */
abstract public get ( string $name , mixed $value ) : mixed
abstract public readonly ( ) : bool
abstract public set ( ) : Yaf_Config_Abstract
abstract public toArray ( ) : array
}

Propriedades

_config

_readonly

Índice

  • Yaf_Config_Abstract::get — Getter
  • Yaf_Config_Abstract::readonly — Find a config whether readonly
  • Yaf_Config_Abstract::set — Setter
  • Yaf_Config_Abstract::toArray — Cast to array


Getter

  • « Yaf_Config_Abstract
  • Yaf_Config_Abstract::readonly »
  • PHP Manual
  • Yaf_Config_Abstract
  • Getter

Yaf_Config_Abstract::get

(Yaf >=1.0.0)

Yaf_Config_Abstract::get — Getter

Descrição

abstract public Yaf_Config_Abstract::get ( string $name , mixed $value ) : mixed

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Find a config whether readonly

  • « Yaf_Config_Abstract::get
  • Yaf_Config_Abstract::set »
  • PHP Manual
  • Yaf_Config_Abstract
  • Find a config whether readonly

Yaf_Config_Abstract::readonly

(Yaf >=1.0.0)

Yaf_Config_Abstract::readonly — Find a config whether readonly

Descrição

abstract public Yaf_Config_Abstract::readonly ( ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Setter

  • « Yaf_Config_Abstract::readonly
  • Yaf_Config_Abstract::toArray »
  • PHP Manual
  • Yaf_Config_Abstract
  • Setter

Yaf_Config_Abstract::set

(Yaf >=1.0.0)

Yaf_Config_Abstract::set — Setter

Descrição

abstract public Yaf_Config_Abstract::set ( ) : Yaf_Config_Abstract

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Cast to array

  • « Yaf_Config_Abstract::set
  • Yaf_Config_Ini »
  • PHP Manual
  • Yaf_Config_Abstract
  • Cast to array

Yaf_Config_Abstract::toArray

(Yaf >=1.0.0)

Yaf_Config_Abstract::toArray — Cast to array

Descrição

abstract public Yaf_Config_Abstract::toArray ( ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Yaf_Config_Ini class

(Yaf >=1.0.0)

Introdução

Yaf_Config_Ini enables developers to store configuration data in a familiar INI format and read them in the application by using nested object property syntax. The INI format is specialized to provide both the ability to have a hierarchy of configuration data keys and inheritance between configuration data sections. Configuration data hierarchies are supported by separating the keys with the dot or period character ("."). A section may extend or inherit from another section by following the section name with a colon character (":") and the name of the section from which data are to be inherited.

Nota:

Yaf_Config_Ini utilizes the » parse_ini_file() PHP function. Please review this documentation to be aware of its specific behaviors, which propagate to Yaf_Config_Ini, such as how the special values of "true", "false", "yes", "no", and "null" are handled.

Sinopse da classe

Yaf_Config_Ini extends Yaf_Config_Abstract implements Iterator , ArrayAccess , Countable {
/* Propriedades */
/* Métodos */
public __construct ( string $config_file , string $section = ? )
public count ( ) : void
public current ( ) : void
public __get ( string $name = ? ) : void
public __isset ( string $name ) : void
public key ( ) : void
public next ( ) : void
public offsetExists ( string $name ) : void
public offsetGet ( string $name ) : void
public offsetSet ( string $name , string $value ) : void
public offsetUnset ( string $name ) : void
public readonly ( ) : void
public rewind ( ) : void
public __set ( string $name , mixed $value ) : void
public toArray ( ) : array
public valid ( ) : void
/* Métodos herdados */
abstract public Yaf_Config_Abstract::get ( string $name , mixed $value ) : mixed
abstract public Yaf_Config_Abstract::readonly ( ) : bool
abstract public Yaf_Config_Abstract::set ( ) : Yaf_Config_Abstract
abstract public Yaf_Config_Abstract::toArray ( ) : array
}

Propriedades

_config

_readonly

Exemplos

Exemplo #1 Yaf_Config_Ini()example

This example illustrates a basic use of Yaf_Config_Ini for loading configuration data from an INI file. In this example there are configuration data for both a production system and for a staging system. Because the staging system configuration data are very similar to those for production, the staging section inherits from the production section. In this case, the decision is arbitrary and could have been written conversely, with the production section inheriting from the staging section, though this may not be the case for more complex situations. Suppose, then, that the following configuration data are contained in /path/to/config.ini:

; Production site configuration data
[production]
webhost                  = www.example.com
database.adapter         = pdo_mysql
database.params.host     = db.example.com
database.params.username = dbuser
database.params.password = secret
database.params.dbname   = dbname

; Staging site configuration data inherits from production and
; overrides values as necessary
[staging : production]
database.params.host     = dev.example.com
database.params.username = devuser
database.params.password = devsecret
<?php
$config = new Yaf_Config_Ini('/path/to/config.ini', 'staging');

var_dump($config->database->params->host);
var_dump($config->database->params->dbname);
var_dump($config->get("database.params.username"));
?>

O exemplo acima irá imprimir algo similar à:

string(15) "dev.example.com"
string(6) "dbname"
string(7) "devuser

Índice

  • Yaf_Config_Ini::__construct — Yaf_Config_Ini constructor
  • Yaf_Config_Ini::count — Count all elements in Yaf_Config.ini
  • Yaf_Config_Ini::current — Retrieve the current value
  • Yaf_Config_Ini::__get — Retrieve a element
  • Yaf_Config_Ini::__isset — Determine if a key is exists
  • Yaf_Config_Ini::key — Fetch current element's key
  • Yaf_Config_Ini::next — Advance the internal pointer
  • Yaf_Config_Ini::offsetExists — The offsetExists purpose
  • Yaf_Config_Ini::offsetGet — The offsetGet purpose
  • Yaf_Config_Ini::offsetSet — The offsetSet purpose
  • Yaf_Config_Ini::offsetUnset — The offsetUnset purpose
  • Yaf_Config_Ini::readonly — The readonly purpose
  • Yaf_Config_Ini::rewind — The rewind purpose
  • Yaf_Config_Ini::__set — The __set purpose
  • Yaf_Config_Ini::toArray — Return config as a PHP array
  • Yaf_Config_Ini::valid — The valid purpose


Yaf_Config_Ini constructor

  • « Yaf_Config_Ini
  • Yaf_Config_Ini::count »
  • PHP Manual
  • Yaf_Config_Ini
  • Yaf_Config_Ini constructor

Yaf_Config_Ini::__construct

(Yaf >=1.0.0)

Yaf_Config_Ini::__construct — Yaf_Config_Ini constructor

Descrição

public Yaf_Config_Ini::__construct ( string $config_file , string $section = ? )

Yaf_Config_Ini constructor

Parâmetros

config_file

path to an INI configure file

section

which section in that INI file you want to be parsed

Valor Retornado


Count all elements in Yaf_Config.ini

  • « Yaf_Config_Ini::__construct
  • Yaf_Config_Ini::current »
  • PHP Manual
  • Yaf_Config_Ini
  • Count all elements in Yaf_Config.ini

Yaf_Config_Ini::count

(Yaf >=1.0.0)

Yaf_Config_Ini::count — Count all elements in Yaf_Config.ini

Descrição

public Yaf_Config_Ini::count ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retrieve the current value

  • « Yaf_Config_Ini::count
  • Yaf_Config_Ini::__get »
  • PHP Manual
  • Yaf_Config_Ini
  • Retrieve the current value

Yaf_Config_Ini::current

(Yaf >=1.0.0)

Yaf_Config_Ini::current — Retrieve the current value

Descrição

public Yaf_Config_Ini::current ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retrieve a element

  • « Yaf_Config_Ini::current
  • Yaf_Config_Ini::__isset »
  • PHP Manual
  • Yaf_Config_Ini
  • Retrieve a element

Yaf_Config_Ini::__get

(Yaf >=1.0.0)

Yaf_Config_Ini::__get — Retrieve a element

Descrição

public Yaf_Config_Ini::__get ( string $name = ? ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


Determine if a key is exists

  • « Yaf_Config_Ini::__get
  • Yaf_Config_Ini::key »
  • PHP Manual
  • Yaf_Config_Ini
  • Determine if a key is exists

Yaf_Config_Ini::__isset

(Yaf >=1.0.0)

Yaf_Config_Ini::__isset — Determine if a key is exists

Descrição

public Yaf_Config_Ini::__isset ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


Fetch current element's key

  • « Yaf_Config_Ini::__isset
  • Yaf_Config_Ini::next »
  • PHP Manual
  • Yaf_Config_Ini
  • Fetch current element's key

Yaf_Config_Ini::key

(Yaf >=1.0.0)

Yaf_Config_Ini::key — Fetch current element's key

Descrição

public Yaf_Config_Ini::key ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Advance the internal pointer

  • « Yaf_Config_Ini::key
  • Yaf_Config_Ini::offsetExists »
  • PHP Manual
  • Yaf_Config_Ini
  • Advance the internal pointer

Yaf_Config_Ini::next

(Yaf >=1.0.0)

Yaf_Config_Ini::next — Advance the internal pointer

Descrição

public Yaf_Config_Ini::next ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The offsetExists purpose

  • « Yaf_Config_Ini::next
  • Yaf_Config_Ini::offsetGet »
  • PHP Manual
  • Yaf_Config_Ini
  • The offsetExists purpose

Yaf_Config_Ini::offsetExists

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetExists — The offsetExists purpose

Descrição

public Yaf_Config_Ini::offsetExists ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The offsetGet purpose

  • « Yaf_Config_Ini::offsetExists
  • Yaf_Config_Ini::offsetSet »
  • PHP Manual
  • Yaf_Config_Ini
  • The offsetGet purpose

Yaf_Config_Ini::offsetGet

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetGet — The offsetGet purpose

Descrição

public Yaf_Config_Ini::offsetGet ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The offsetSet purpose

  • « Yaf_Config_Ini::offsetGet
  • Yaf_Config_Ini::offsetUnset »
  • PHP Manual
  • Yaf_Config_Ini
  • The offsetSet purpose

Yaf_Config_Ini::offsetSet

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetSet — The offsetSet purpose

Descrição

public Yaf_Config_Ini::offsetSet ( string $name , string $value ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

value

Valor Retornado


The offsetUnset purpose

  • « Yaf_Config_Ini::offsetSet
  • Yaf_Config_Ini::readonly »
  • PHP Manual
  • Yaf_Config_Ini
  • The offsetUnset purpose

Yaf_Config_Ini::offsetUnset

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetUnset — The offsetUnset purpose

Descrição

public Yaf_Config_Ini::offsetUnset ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The readonly purpose

  • « Yaf_Config_Ini::offsetUnset
  • Yaf_Config_Ini::rewind »
  • PHP Manual
  • Yaf_Config_Ini
  • The readonly purpose

Yaf_Config_Ini::readonly

(Yaf >=1.0.0)

Yaf_Config_Ini::readonly — The readonly purpose

Descrição

public Yaf_Config_Ini::readonly ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The rewind purpose

  • « Yaf_Config_Ini::readonly
  • Yaf_Config_Ini::__set »
  • PHP Manual
  • Yaf_Config_Ini
  • The rewind purpose

Yaf_Config_Ini::rewind

(Yaf >=1.0.0)

Yaf_Config_Ini::rewind — The rewind purpose

Descrição

public Yaf_Config_Ini::rewind ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The __set purpose

  • « Yaf_Config_Ini::rewind
  • Yaf_Config_Ini::toArray »
  • PHP Manual
  • Yaf_Config_Ini
  • The __set purpose

Yaf_Config_Ini::__set

(Yaf >=1.0.0)

Yaf_Config_Ini::__set — The __set purpose

Descrição

public Yaf_Config_Ini::__set ( string $name , mixed $value ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

value

Valor Retornado


Return config as a PHP array

  • « Yaf_Config_Ini::__set
  • Yaf_Config_Ini::valid »
  • PHP Manual
  • Yaf_Config_Ini
  • Return config as a PHP array

Yaf_Config_Ini::toArray

(Yaf >=1.0.0)

Yaf_Config_Ini::toArray — Return config as a PHP array

Descrição

public Yaf_Config_Ini::toArray ( ) : array

Returns a PHP array from the Yaf_Config_Ini

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The valid purpose

  • « Yaf_Config_Ini::toArray
  • Yaf_Config_Simple »
  • PHP Manual
  • Yaf_Config_Ini
  • The valid purpose

Yaf_Config_Ini::valid

(Yaf >=1.0.0)

Yaf_Config_Ini::valid — The valid purpose

Descrição

public Yaf_Config_Ini::valid ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Yaf_Config_Simple class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Config_Simple extends Yaf_Config_Abstract implements Iterator , ArrayAccess , Countable {
/* Propriedades */
protected $_readonly ;
/* Métodos */
public __construct ( array $configs , bool $readonly = false )
public count ( ) : void
public current ( ) : void
public __get ( string $name = ? ) : void
public __isset ( string $name ) : void
public key ( ) : void
public next ( ) : void
public offsetExists ( string $name ) : void
public offsetGet ( string $name ) : void
public offsetSet ( string $name , string $value ) : void
public offsetUnset ( string $name ) : void
public readonly ( ) : void
public rewind ( ) : void
public __set ( string $name , string $value ) : void
public toArray ( ) : array
public valid ( ) : void
/* Métodos herdados */
abstract public Yaf_Config_Abstract::get ( string $name , mixed $value ) : mixed
abstract public Yaf_Config_Abstract::readonly ( ) : bool
abstract public Yaf_Config_Abstract::set ( ) : Yaf_Config_Abstract
abstract public Yaf_Config_Abstract::toArray ( ) : array
}

Propriedades

_config

_readonly

Índice

  • Yaf_Config_Simple::__construct — The __construct purpose
  • Yaf_Config_Simple::count — The count purpose
  • Yaf_Config_Simple::current — The current purpose
  • Yaf_Config_Simple::__get — The __get purpose
  • Yaf_Config_Simple::__isset — The __isset purpose
  • Yaf_Config_Simple::key — The key purpose
  • Yaf_Config_Simple::next — The next purpose
  • Yaf_Config_Simple::offsetExists — The offsetExists purpose
  • Yaf_Config_Simple::offsetGet — The offsetGet purpose
  • Yaf_Config_Simple::offsetSet — The offsetSet purpose
  • Yaf_Config_Simple::offsetUnset — The offsetUnset purpose
  • Yaf_Config_Simple::readonly — The readonly purpose
  • Yaf_Config_Simple::rewind — The rewind purpose
  • Yaf_Config_Simple::__set — The __set purpose
  • Yaf_Config_Simple::toArray — Returns a PHP array
  • Yaf_Config_Simple::valid — The valid purpose


The __construct purpose

  • « Yaf_Config_Simple
  • Yaf_Config_Simple::count »
  • PHP Manual
  • Yaf_Config_Simple
  • The __construct purpose

Yaf_Config_Simple::__construct

(Yaf >=1.0.0)

Yaf_Config_Simple::__construct — The __construct purpose

Descrição

public Yaf_Config_Simple::__construct ( array $configs , bool $readonly = false )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

configs

readonly

Valor Retornado


The count purpose

  • « Yaf_Config_Simple::__construct
  • Yaf_Config_Simple::current »
  • PHP Manual
  • Yaf_Config_Simple
  • The count purpose

Yaf_Config_Simple::count

(Yaf >=1.0.0)

Yaf_Config_Simple::count — The count purpose

Descrição

public Yaf_Config_Simple::count ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The current purpose

  • « Yaf_Config_Simple::count
  • Yaf_Config_Simple::__get »
  • PHP Manual
  • Yaf_Config_Simple
  • The current purpose

Yaf_Config_Simple::current

(Yaf >=1.0.0)

Yaf_Config_Simple::current — The current purpose

Descrição

public Yaf_Config_Simple::current ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The __get purpose

  • « Yaf_Config_Simple::current
  • Yaf_Config_Simple::__isset »
  • PHP Manual
  • Yaf_Config_Simple
  • The __get purpose

Yaf_Config_Simple::__get

(Yaf >=1.0.0)

Yaf_Config_Simple::__get — The __get purpose

Descrição

public Yaf_Config_Simple::__get ( string $name = ? ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The __isset purpose

  • « Yaf_Config_Simple::__get
  • Yaf_Config_Simple::key »
  • PHP Manual
  • Yaf_Config_Simple
  • The __isset purpose

Yaf_Config_Simple::__isset

(Yaf >=1.0.0)

Yaf_Config_Simple::__isset — The __isset purpose

Descrição

public Yaf_Config_Simple::__isset ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The key purpose

  • « Yaf_Config_Simple::__isset
  • Yaf_Config_Simple::next »
  • PHP Manual
  • Yaf_Config_Simple
  • The key purpose

Yaf_Config_Simple::key

(Yaf >=1.0.0)

Yaf_Config_Simple::key — The key purpose

Descrição

public Yaf_Config_Simple::key ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The next purpose

  • « Yaf_Config_Simple::key
  • Yaf_Config_Simple::offsetExists »
  • PHP Manual
  • Yaf_Config_Simple
  • The next purpose

Yaf_Config_Simple::next

(Yaf >=1.0.0)

Yaf_Config_Simple::next — The next purpose

Descrição

public Yaf_Config_Simple::next ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The offsetExists purpose

  • « Yaf_Config_Simple::next
  • Yaf_Config_Simple::offsetGet »
  • PHP Manual
  • Yaf_Config_Simple
  • The offsetExists purpose

Yaf_Config_Simple::offsetExists

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetExists — The offsetExists purpose

Descrição

public Yaf_Config_Simple::offsetExists ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The offsetGet purpose

  • « Yaf_Config_Simple::offsetExists
  • Yaf_Config_Simple::offsetSet »
  • PHP Manual
  • Yaf_Config_Simple
  • The offsetGet purpose

Yaf_Config_Simple::offsetGet

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetGet — The offsetGet purpose

Descrição

public Yaf_Config_Simple::offsetGet ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The offsetSet purpose

  • « Yaf_Config_Simple::offsetGet
  • Yaf_Config_Simple::offsetUnset »
  • PHP Manual
  • Yaf_Config_Simple
  • The offsetSet purpose

Yaf_Config_Simple::offsetSet

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetSet — The offsetSet purpose

Descrição

public Yaf_Config_Simple::offsetSet ( string $name , string $value ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

value

Valor Retornado


The offsetUnset purpose

  • « Yaf_Config_Simple::offsetSet
  • Yaf_Config_Simple::readonly »
  • PHP Manual
  • Yaf_Config_Simple
  • The offsetUnset purpose

Yaf_Config_Simple::offsetUnset

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetUnset — The offsetUnset purpose

Descrição

public Yaf_Config_Simple::offsetUnset ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The readonly purpose

  • « Yaf_Config_Simple::offsetUnset
  • Yaf_Config_Simple::rewind »
  • PHP Manual
  • Yaf_Config_Simple
  • The readonly purpose

Yaf_Config_Simple::readonly

(Yaf >=1.0.0)

Yaf_Config_Simple::readonly — The readonly purpose

Descrição

public Yaf_Config_Simple::readonly ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The rewind purpose

  • « Yaf_Config_Simple::readonly
  • Yaf_Config_Simple::__set »
  • PHP Manual
  • Yaf_Config_Simple
  • The rewind purpose

Yaf_Config_Simple::rewind

(Yaf >=1.0.0)

Yaf_Config_Simple::rewind — The rewind purpose

Descrição

public Yaf_Config_Simple::rewind ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The __set purpose

  • « Yaf_Config_Simple::rewind
  • Yaf_Config_Simple::toArray »
  • PHP Manual
  • Yaf_Config_Simple
  • The __set purpose

Yaf_Config_Simple::__set

(Yaf >=1.0.0)

Yaf_Config_Simple::__set — The __set purpose

Descrição

public Yaf_Config_Simple::__set ( string $name , string $value ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

value

Valor Retornado


Returns a PHP array

  • « Yaf_Config_Simple::__set
  • Yaf_Config_Simple::valid »
  • PHP Manual
  • Yaf_Config_Simple
  • Returns a PHP array

Yaf_Config_Simple::toArray

(Yaf >=1.0.0)

Yaf_Config_Simple::toArray — Returns a PHP array

Descrição

public Yaf_Config_Simple::toArray ( ) : array

Returns a PHP array from the Yaf_Config_Simple

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The valid purpose

  • « Yaf_Config_Simple::toArray
  • Yaf_Controller_Abstract »
  • PHP Manual
  • Yaf_Config_Simple
  • The valid purpose

Yaf_Config_Simple::valid

(Yaf >=1.0.0)

Yaf_Config_Simple::valid — The valid purpose

Descrição

public Yaf_Config_Simple::valid ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Yaf_Controller_Abstract class

(Yaf >=1.0.0)

Introdução

Yaf_Controller_Abstract is the heart of Yaf's system. MVC stands for Model-View-Controller and is a design pattern targeted at separating application logic from display logic.

Every custom controller shall inherit Yaf_Controller_Abstract.

You will find that you can not define __construct function for your custom controller, thus, Yaf_Controller_Abstract provides a magic method: Yaf_Controller_Abstract::init().

If you have defined a init() method in your custom controller, it will be called as long as the controller was instantiated.

Action may have arguments, when a request coming, if there are the same name variable in the request parameters(see Yaf_Request_Abstract::getParam()) after routed, Yaf will pass them to the action method (see Yaf_Action_Abstract::execute()).

Nota:

These arguments are directly fetched without filtering, it should be carefully processed before use them.

Sinopse da classe

abstract Yaf_Controller_Abstract {
/* Propriedades */
public $actions ;
protected $_module ;
protected $_name ;
protected $_request ;
protected $_response ;
protected $_invoke_args ;
protected $_view ;
/* Métodos */
final private __construct ( )
protected display ( string $tpl , array $parameters = ? ) : bool
public forward ( string $action , array $paramters = ? ) : void
public getInvokeArg ( string $name ) : void
public getInvokeArgs ( ) : void
public getModuleName ( ) : string
public getName ( ) : string
public getRequest ( ) : Yaf_Request_Abstract
public getResponse ( ) : Yaf_Response_Abstract
public getView ( ) : Yaf_View_Interface
public getViewpath ( ) : string
public init ( ) : void
public initView ( array $options = ? ) : void
public redirect ( string $url ) : bool
protected render ( string $tpl , array $parameters = ? ) : string
public setViewpath ( string $view_directory ) : void
}

Propriedades

actions

You can also define a action method in a separate PHP script by using this property and Yaf_Action_Abstract.

Exemplo #1 define action in a separate file

<?php
class IndexController extends Yaf_Controller_Abstract {
    protected $actions = array(
        /** now dummyAction is defined in a separate file */
        "dummy" => "actions/Dummy_action.php",
    );

    /* action method may have arguments */
    public indexAction($name, $id) {
       /* $name and $id are unsafe raw data */
       assert($name == $this->getRequest()->getParam("name"));
       assert($id   == $this->_request->getParam("id"));
    }
}
?>

Exemplo #2 Dummy_action.php

<?php
class DummyAction extends Yaf_Action_Abstract {
    /* a action class shall define this method  as the entry point */
    public execute() {
    }
}
?>

_module

module name

_name

controller name

_request

current request object

_response

current response object

_invoke_args

_view

view engine object

Índice

  • Yaf_Controller_Abstract::__construct — Yaf_Controller_Abstract constructor
  • Yaf_Controller_Abstract::display — The display purpose
  • Yaf_Controller_Abstract::forward — Foward to another action
  • Yaf_Controller_Abstract::getInvokeArg — The getInvokeArg purpose
  • Yaf_Controller_Abstract::getInvokeArgs — The getInvokeArgs purpose
  • Yaf_Controller_Abstract::getModuleName — Get module name
  • Yaf_Controller_Abstract::getName — Get self name
  • Yaf_Controller_Abstract::getRequest — Retrieve current request object
  • Yaf_Controller_Abstract::getResponse — Retrieve current response object
  • Yaf_Controller_Abstract::getView — Retrieve the view engine
  • Yaf_Controller_Abstract::getViewpath — The getViewpath purpose
  • Yaf_Controller_Abstract::init — Controller initializer
  • Yaf_Controller_Abstract::initView — The initView purpose
  • Yaf_Controller_Abstract::redirect — Redirect to a URL
  • Yaf_Controller_Abstract::render — Render view template
  • Yaf_Controller_Abstract::setViewpath — The setViewpath purpose


Yaf_Controller_Abstract constructor

  • « Yaf_Controller_Abstract
  • Yaf_Controller_Abstract::display »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Yaf_Controller_Abstract constructor

Yaf_Controller_Abstract::__construct

(Yaf >=1.0.0)

Yaf_Controller_Abstract::__construct — Yaf_Controller_Abstract constructor

Descrição

final private Yaf_Controller_Abstract::__construct ( )

Yaf_Controller_Abstract::__construct() is final, which means it can not be overridden. You may want to see Yaf_Controller_Abstract::init() instead.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • Yaf_Controller_Abstract::init() - Controller initializer


The display purpose

  • « Yaf_Controller_Abstract::__construct
  • Yaf_Controller_Abstract::forward »
  • PHP Manual
  • Yaf_Controller_Abstract
  • The display purpose

Yaf_Controller_Abstract::display

(Yaf >=1.0.0)

Yaf_Controller_Abstract::display — The display purpose

Descrição

protected Yaf_Controller_Abstract::display ( string $tpl , array $parameters = ? ) : bool

Parâmetros

tpl

parameters

Valor Retornado


Foward to another action

  • « Yaf_Controller_Abstract::display
  • Yaf_Controller_Abstract::getInvokeArg »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Foward to another action

Yaf_Controller_Abstract::forward

(Yaf >=1.0.0)

Yaf_Controller_Abstract::forward — Foward to another action

Descrição

public Yaf_Controller_Abstract::forward ( string $action , array $paramters = ? ) : void
public Yaf_Controller_Abstract::forward ( string $controller , string $action , array $paramters = ? ) : void
public Yaf_Controller_Abstract::forward ( string $module , string $controller , string $action , array $paramters = ? ) : void

forward current execution process to other action.

Nota:

this method doesn't switch to the destination action immediately, it will take place after current flow finish.

Parâmetros

module

destination module name, if NULL was given, then default module name is assumed

controller

destination controller name

action

destination action name

paramters

calling arguments

Exemplos

Exemplo #1 Yaf_Controller_Abstract::forward()example

<?php
class IndexController extends Yaf_Controller_Abstract
{
    public function indexAction(){
         $logined = $_SESSION["login"];
         if (!$logined) {
             $this->forward("login", array("from" => "Index")); // forward to login action
             return FALSE;  // this is important, this finish current working flow
                            // and tell the Yaf do not doing auto-render
         }

         // other processes
    }

    public function loginAction() {
         echo "login, redirected from ", $this->_request->getParam("from") , " action";
    }
}
?>

O exemplo acima irá imprimir algo similar à:

   login, redirected from Index action

Valor Retornado

return FALSE on failure

Veja Também

  • Yaf_Request_Abstrace::getParam()


The getInvokeArg purpose

  • « Yaf_Controller_Abstract::forward
  • Yaf_Controller_Abstract::getInvokeArgs »
  • PHP Manual
  • Yaf_Controller_Abstract
  • The getInvokeArg purpose

Yaf_Controller_Abstract::getInvokeArg

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getInvokeArg — The getInvokeArg purpose

Descrição

public Yaf_Controller_Abstract::getInvokeArg ( string $name ) : void

Parâmetros

name

Valor Retornado


The getInvokeArgs purpose

  • « Yaf_Controller_Abstract::getInvokeArg
  • Yaf_Controller_Abstract::getModuleName »
  • PHP Manual
  • Yaf_Controller_Abstract
  • The getInvokeArgs purpose

Yaf_Controller_Abstract::getInvokeArgs

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getInvokeArgs — The getInvokeArgs purpose

Descrição

public Yaf_Controller_Abstract::getInvokeArgs ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get module name

  • « Yaf_Controller_Abstract::getInvokeArgs
  • Yaf_Controller_Abstract::getName »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Get module name

Yaf_Controller_Abstract::getModuleName

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getModuleName — Get module name

Descrição

public Yaf_Controller_Abstract::getModuleName ( ) : string

get the controller's module name

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get self name

  • « Yaf_Controller_Abstract::getModuleName
  • Yaf_Controller_Abstract::getRequest »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Get self name

Yaf_Controller_Abstract::getName

(Yaf >=3.2.0)

Yaf_Controller_Abstract::getName — Get self name

Descrição

public Yaf_Controller_Abstract::getName ( ) : string

get the controller's name

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

string, controller name


Retrieve current request object

  • « Yaf_Controller_Abstract::getName
  • Yaf_Controller_Abstract::getResponse »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Retrieve current request object

Yaf_Controller_Abstract::getRequest

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getRequest — Retrieve current request object

Descrição

public Yaf_Controller_Abstract::getRequest ( ) : Yaf_Request_Abstract

retrieve current request object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Yaf_Request_Abstract instance


Retrieve current response object

  • « Yaf_Controller_Abstract::getRequest
  • Yaf_Controller_Abstract::getView »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Retrieve current response object

Yaf_Controller_Abstract::getResponse

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getResponse — Retrieve current response object

Descrição

public Yaf_Controller_Abstract::getResponse ( ) : Yaf_Response_Abstract

retrieve current response object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Yaf_Response_Abstract instance


Retrieve the view engine

  • « Yaf_Controller_Abstract::getResponse
  • Yaf_Controller_Abstract::getViewpath »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Retrieve the view engine

Yaf_Controller_Abstract::getView

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getView — Retrieve the view engine

Descrição

public Yaf_Controller_Abstract::getView ( ) : Yaf_View_Interface

retrieve view engine

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getViewpath purpose

  • « Yaf_Controller_Abstract::getView
  • Yaf_Controller_Abstract::init »
  • PHP Manual
  • Yaf_Controller_Abstract
  • The getViewpath purpose

Yaf_Controller_Abstract::getViewpath

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getViewpath — The getViewpath purpose

Descrição

public Yaf_Controller_Abstract::getViewpath ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Controller initializer

  • « Yaf_Controller_Abstract::getViewpath
  • Yaf_Controller_Abstract::initView »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Controller initializer

Yaf_Controller_Abstract::init

(Yaf >=1.0.0)

Yaf_Controller_Abstract::init — Controller initializer

Descrição

public Yaf_Controller_Abstract::init ( ) : void

Yaf_Controller_Abstract::__construct() is final, which means users can not override it. but users can define Yaf_Controller_Abstract::init(), which will be called after controller object is instantiated.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • Yaf_Controller_Abstract::__construct() - Yaf_Controller_Abstract constructor


The initView purpose

  • « Yaf_Controller_Abstract::init
  • Yaf_Controller_Abstract::redirect »
  • PHP Manual
  • Yaf_Controller_Abstract
  • The initView purpose

Yaf_Controller_Abstract::initView

(Yaf >=1.0.0)

Yaf_Controller_Abstract::initView — The initView purpose

Descrição

public Yaf_Controller_Abstract::initView ( array $options = ? ) : void

Parâmetros

options

Valor Retornado


Redirect to a URL

  • « Yaf_Controller_Abstract::initView
  • Yaf_Controller_Abstract::render »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Redirect to a URL

Yaf_Controller_Abstract::redirect

(Yaf >=1.0.0)

Yaf_Controller_Abstract::redirect — Redirect to a URL

Descrição

public Yaf_Controller_Abstract::redirect ( string $url ) : bool

redirect to a URL by sending a 302 header

Parâmetros

url

a location URL

Valor Retornado

bool


Render view template

  • « Yaf_Controller_Abstract::redirect
  • Yaf_Controller_Abstract::setViewpath »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Render view template

Yaf_Controller_Abstract::render

(Yaf >=1.0.0)

Yaf_Controller_Abstract::render — Render view template

Descrição

protected Yaf_Controller_Abstract::render ( string $tpl , array $parameters = ? ) : string

Parâmetros

tpl

parameters

Valor Retornado


The setViewpath purpose

  • « Yaf_Controller_Abstract::render
  • Yaf_Action_Abstract »
  • PHP Manual
  • Yaf_Controller_Abstract
  • The setViewpath purpose

Yaf_Controller_Abstract::setViewpath

(Yaf >=1.0.0)

Yaf_Controller_Abstract::setViewpath — The setViewpath purpose

Descrição

public Yaf_Controller_Abstract::setViewpath ( string $view_directory ) : void

Parâmetros

view_directory

Valor Retornado


The Yaf_Action_Abstract class

(Yaf >=1.0.0)

Introdução

A action can be defined in a separate file in Yaf(see Yaf_Controller_Abstract). that is a action method can also be a Yaf_Action_Abstract class.

Since there should be a entry point which can be called by Yaf (as of PHP 5.3, there is a new magic method __invoke, but Yaf is not only works with PHP 5.3+, Yaf choose another magic method execute), you must implement the abstract method Yaf_Action_Abstract::execute() in your custom action class.

Sinopse da classe

Yaf_Action_Abstract extends Yaf_Controller_Abstract {
/* Propriedades */
protected $_controller ;
/* Métodos */
abstract publicexecute ( mixed ...$args ) : mixed
publicgetController ( ) : Yaf_Controller_Abstract
public getControllerName ( ) : string
/* Métodos herdados */
final private Yaf_Controller_Abstract::__construct ( )
protected Yaf_Controller_Abstract::display ( string $tpl , array $parameters = ? ) : bool
public Yaf_Controller_Abstract::forward ( string $action , array $paramters = ? ) : void
public Yaf_Controller_Abstract::getInvokeArg ( string $name ) : void
public Yaf_Controller_Abstract::getInvokeArgs ( ) : void
public Yaf_Controller_Abstract::getModuleName ( ) : string
public Yaf_Controller_Abstract::getName ( ) : string
public Yaf_Controller_Abstract::getRequest ( ) : Yaf_Request_Abstract
public Yaf_Controller_Abstract::getResponse ( ) : Yaf_Response_Abstract
public Yaf_Controller_Abstract::getView ( ) : Yaf_View_Interface
public Yaf_Controller_Abstract::getViewpath ( ) : string
public Yaf_Controller_Abstract::init ( ) : void
public Yaf_Controller_Abstract::initView ( array $options = ? ) : void
public Yaf_Controller_Abstract::redirect ( string $url ) : bool
protected Yaf_Controller_Abstract::render ( string $tpl , array $parameters = ? ) : string
public Yaf_Controller_Abstract::setViewpath ( string $view_directory ) : void
}

Propriedades

_module

_name

_request

_response

_invoke_args

_view

_controller

Índice

  • Yaf_Action_Abstract::execute — Action entry point
  • Yaf_Action_Abstract::getController — Retrieve controller object
  • Yaf_Action_Abstract::getControllerName — Get controller name


Action entry point

  • « Yaf_Action_Abstract
  • Yaf_Action_Abstract::getController »
  • PHP Manual
  • Yaf_Action_Abstract
  • Action entry point

Yaf_Action_Abstract::execute

(Yaf >=1.0.0)

Yaf_Action_Abstract::execute — Action entry point

Descrição

abstract publicYaf_Action_Abstract::execute ( mixed ...$args ) : mixed

user should always define this method for a action, this is the entry point of an action. Yaf_Action_Abstract::execute() may have agruments.

Nota:

The value retrived from the request is not safe. you should do some filtering work before you use it.

Parâmetros

args

Valor Retornado

Exemplos

Exemplo #1 Yaf_Action_Abstract::execute()example

<?php
/**
 * A controller example
 */
class ProductController extends Yaf_Controller_Abstract {
      protected $actions = array(
          "index" => "actions/Index.php",
      );
}
?>

Exemplo #2 Yaf_Action_Abstract::execute()example

<?php
/**
 * ListAction
 */
class ListAction extends Yaf_Action_Abstract {
     public function execute ($name, $id) {
         assert($name == $this->getRequest()->getParam("name"));
         assert($id   == $this->getRequest()->getParam("id"));
     }
}
?>

O exemplo acima irá imprimir algo similar à:

/**
 * Now assuming we are using the Yaf_Route_Static route
 * for request: http://yourdomain/product/list/name/yaf/id/22
 * will result:
 */
 bool(true)
 bool(true)

Veja Também


Retrieve controller object

  • « Yaf_Action_Abstract::execute
  • Yaf_Action_Abstract::getControllerName »
  • PHP Manual
  • Yaf_Action_Abstract
  • Retrieve controller object

Yaf_Action_Abstract::getController

(Yaf >=1.0.0)

Yaf_Action_Abstract::getController — Retrieve controller object

Descrição

publicYaf_Action_Abstract::getController ( ) : Yaf_Controller_Abstract

retrieve current controller object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Yaf_Controller_Abstract instance


Get controller name

  • « Yaf_Action_Abstract::getController
  • Yaf_View_Interface »
  • PHP Manual
  • Yaf_Action_Abstract
  • Get controller name

Yaf_Action_Abstract::getControllerName

(Não há informação de versão disponível, talvez apenas no Git)

Yaf_Action_Abstract::getControllerName — Get controller name

Descrição

public Yaf_Action_Abstract::getControllerName ( ) : string

get the controller's name

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

string, controller name


The Yaf_View_Interface class

(Yaf >=1.0.0)

Introdução

Yaf provides a ability for developers to use custom view engine instead of built-in engine which is Yaf_View_Simple. There is a example to explain how to do this, please see Yaf_Dispatcher::setView().

Sinopse da classe

Yaf_View_Interface {
/* Métodos */
abstract public assign ( string $name , string $value = ? ) : bool
abstract public display ( string $tpl , array $tpl_vars = ? ) : bool
abstract public getScriptPath ( ) : void
abstract public render ( string $tpl , array $tpl_vars = ? ) : string
abstract public setScriptPath ( string $template_dir ) : void
}

Índice

  • Yaf_View_Interface::assign — Assign value to View engine
  • Yaf_View_Interface::display — Render and output a template
  • Yaf_View_Interface::getScriptPath — The getScriptPath purpose
  • Yaf_View_Interface::render — Render a template
  • Yaf_View_Interface::setScriptPath — The setScriptPath purpose


Assign value to View engine

  • « Yaf_View_Interface
  • Yaf_View_Interface::display »
  • PHP Manual
  • Yaf_View_Interface
  • Assign value to View engine

Yaf_View_Interface::assign

(Yaf >=1.0.0)

Yaf_View_Interface::assign — Assign value to View engine

Descrição

abstract public Yaf_View_Interface::assign ( string $name , string $value = ? ) : bool

Assigan values to View engine, then the value can access directly by name in template.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

value

Valor Retornado


Render and output a template

  • « Yaf_View_Interface::assign
  • Yaf_View_Interface::getScriptPath »
  • PHP Manual
  • Yaf_View_Interface
  • Render and output a template

Yaf_View_Interface::display

(Yaf >=1.0.0)

Yaf_View_Interface::display — Render and output a template

Descrição

abstract public Yaf_View_Interface::display ( string $tpl , array $tpl_vars = ? ) : bool

Render a template and output the result immediatly.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

tpl

tpl_vars

Valor Retornado


The getScriptPath purpose

  • « Yaf_View_Interface::display
  • Yaf_View_Interface::render »
  • PHP Manual
  • Yaf_View_Interface
  • The getScriptPath purpose

Yaf_View_Interface::getScriptPath

(Yaf >=1.0.0)

Yaf_View_Interface::getScriptPath — The getScriptPath purpose

Descrição

abstract public Yaf_View_Interface::getScriptPath ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Render a template

  • « Yaf_View_Interface::getScriptPath
  • Yaf_View_Interface::setScriptPath »
  • PHP Manual
  • Yaf_View_Interface
  • Render a template

Yaf_View_Interface::render

(Yaf >=1.0.0)

Yaf_View_Interface::render — Render a template

Descrição

abstract public Yaf_View_Interface::render ( string $tpl , array $tpl_vars = ? ) : string

Render a template and return the result.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

tpl

tpl_vars

Valor Retornado


The setScriptPath purpose

  • « Yaf_View_Interface::render
  • Yaf_View_Simple »
  • PHP Manual
  • Yaf_View_Interface
  • The setScriptPath purpose

Yaf_View_Interface::setScriptPath

(Yaf >=1.0.0)

Yaf_View_Interface::setScriptPath — The setScriptPath purpose

Descrição

abstract public Yaf_View_Interface::setScriptPath ( string $template_dir ) : void

Set the templates base directory, this is usually called by Yaf_Dispatcher

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

template_dir

A absolute path to the template directory, by default, Yaf_Dispatcher use application.directory . "/views" as this paramter.

Valor Retornado


The Yaf_View_Simple class

(Yaf >=1.0.0)

Introdução

Yaf_View_Simple is the built-in template engine in Yaf, it is a simple but fast template engine, and only support PHP script template.

Sinopse da classe

Yaf_View_Simple implements Yaf_View_Interface {
/* Propriedades */
protected $_tpl_vars ;
protected $_tpl_dir ;
/* Métodos */
public assign ( string $name , mixed $value = ? ) : bool
public assignRef ( string $name , mixed &$value ) : bool
public clear ( string $name = ? ) : bool
final public __construct ( string $template_dir , array $options = ? )
public display ( string $tpl , array $tpl_vars = ? ) : bool
public eval ( string $tpl_content , array $tpl_vars = ? ) : string
public __get ( string $name = ? ) : void
public getScriptPath ( ) : string
public __isset ( string $name ) : void
public render ( string $tpl , array $tpl_vars = ? ) : string
public __set ( string $name , mixed $value ) : void
public setScriptPath ( string $template_dir ) : bool
}

Propriedades

_tpl_vars

_tpl_dir

Índice

  • Yaf_View_Simple::assign — Assign values
  • Yaf_View_Simple::assignRef — The assignRef purpose
  • Yaf_View_Simple::clear — Clear Assigned values
  • Yaf_View_Simple::__construct — Constructor of Yaf_View_Simple
  • Yaf_View_Simple::display — Render and display
  • Yaf_View_Simple::eval — Render template
  • Yaf_View_Simple::__get — Retrieve assigned variable
  • Yaf_View_Simple::getScriptPath — Get templates directory
  • Yaf_View_Simple::__isset — The __isset purpose
  • Yaf_View_Simple::render — Render template
  • Yaf_View_Simple::__set — Set value to engine
  • Yaf_View_Simple::setScriptPath — Set tempaltes directory


Assign values

  • « Yaf_View_Simple
  • Yaf_View_Simple::assignRef »
  • PHP Manual
  • Yaf_View_Simple
  • Assign values

Yaf_View_Simple::assign

(Yaf >=1.0.0)

Yaf_View_Simple::assign — Assign values

Descrição

public Yaf_View_Simple::assign ( string $name , mixed $value = ? ) : bool

assign variable to view engine

Parâmetros

name

A string or an array.

if is string, then the next argument $value is required.

value

mixed value

Valor Retornado

Exemplos

Exemplo #1 Yaf_View_Simple::assign()example

<?php
class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {
        $this->getView()->assign("foo", "bar");
        $this->_view->assign( array( "key" => "value", "name" => "value"));
    }
?>

Exemplo #2 template()example

<html>
 <head>
  <title><?php echo $foo; ?></title>
 </head>
<body>
  <?php
    foreach ($this->_tpl_vars as $name => value) {
         echo $$name; // or echo $this->_tpl_vars[$name];
    }
  ?>
</body>
</html>

Veja Também

  • Yaf_View_Simple::assignRef() - The assignRef purpose
  • Yaf_View_Interface::clear()
  • Yaf_View_Simple::__set() - Set value to engine


The assignRef purpose

  • « Yaf_View_Simple::assign
  • Yaf_View_Simple::clear »
  • PHP Manual
  • Yaf_View_Simple
  • The assignRef purpose

Yaf_View_Simple::assignRef

(Yaf >=1.0.0)

Yaf_View_Simple::assignRef — The assignRef purpose

Descrição

public Yaf_View_Simple::assignRef ( string $name , mixed &$value ) : bool

unlike Yaf_View_Simple::assign(), this method assign a ref value to engine.

Parâmetros

name

A string name which will be used to access the value in the tempalte.

value

mixed value

Valor Retornado

Exemplos

Exemplo #1 Yaf_View_Simple::assignRef()example

<?php
class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {
        $value = "bar";
        $this->getView()->assign("foo", $value);

        /* plz note that there was a bug before Yaf 2.1.4,
         * which make following output "bar";
         */
        $dummy = $this->getView()->render("index/index.phtml");
        echo $value;

        //prevent the auto-render
        Yaf_Dispatcher::getInstance()->autoRender(FALSE);
    }
?>

Exemplo #2 template()example

<html>
 <head>
  <title><?php echo $foo;  $foo = "changed"; ?></title>
 </head>
<body>
</body>
</html>

O exemplo acima irá imprimir algo similar à:

/* access the index controller will result: */
changed

Veja Também

  • Yaf_View_Simple::assign() - Assign values
  • Yaf_View_Simple::__set() - Set value to engine


Clear Assigned values

  • « Yaf_View_Simple::assignRef
  • Yaf_View_Simple::__construct »
  • PHP Manual
  • Yaf_View_Simple
  • Clear Assigned values

Yaf_View_Simple::clear

(Yaf >=2.2.0)

Yaf_View_Simple::clear — Clear Assigned values

Descrição

public Yaf_View_Simple::clear ( string $name = ? ) : bool

clear assigned variable

Parâmetros

name

assigned variable name

if empty, will clear all assigned variables

Valor Retornado

Exemplos

Exemplo #1 Yaf_View_Simple::clear()example

<?php
class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {
        $this->getView()->clear("foo")->clear("bar"); // clear "foo" and "bar"
        $this->_view->clear(); //clear all assigned variables
    }
?>

Veja Também

  • Yaf_View_Simple::assignRef() - The assignRef purpose
  • Yaf_View_Interface::assign() - Assign value to View engine
  • Yaf_View_Simple::__set() - Set value to engine


Constructor of Yaf_View_Simple

  • « Yaf_View_Simple::clear
  • Yaf_View_Simple::display »
  • PHP Manual
  • Yaf_View_Simple
  • Constructor of Yaf_View_Simple

Yaf_View_Simple::__construct

(Yaf >=1.0.0)

Yaf_View_Simple::__construct — Constructor of Yaf_View_Simple

Descrição

final public Yaf_View_Simple::__construct ( string $template_dir , array $options = ? )

Parâmetros

template_dir

The base directory of the templates, by default, it is APPLICATOIN . "/views" for Yaf.

options

Options for the engine, as of Yaf 2.1.13, you can use short tag
      "<?=$var?>" in your template(regardless of "short_open_tag"),
      so comes a option named "short_tag",  you can switch this off
      to prevent use short_tag in template.

Exemplos

Exemplo #1 Yaf_View_Simple::__constructor()example

<?php
   define ("TEMPLATE_DIRECTORY", APPLICATOIN_PATH . '/views');
   $view = new Yaf_View_Simple(TEMPLATE_DIRECTORY, array(
                           'short_tag' => false //doesn't allow use short tag in template
   ));
?>

Valor Retornado


Render and display

  • « Yaf_View_Simple::__construct
  • Yaf_View_Simple::eval »
  • PHP Manual
  • Yaf_View_Simple
  • Render and display

Yaf_View_Simple::display

(Yaf >=1.0.0)

Yaf_View_Simple::display — Render and display

Descrição

public Yaf_View_Simple::display ( string $tpl , array $tpl_vars = ? ) : bool

Render a template and display the result instantly.

Parâmetros

tpl

tpl_vars

Valor Retornado


Render template

  • « Yaf_View_Simple::display
  • Yaf_View_Simple::__get »
  • PHP Manual
  • Yaf_View_Simple
  • Render template

Yaf_View_Simple::eval

(Yaf >=2.2.0)

Yaf_View_Simple::eval — Render template

Descrição

public Yaf_View_Simple::eval ( string $tpl_content , array $tpl_vars = ? ) : string

Render a string tempalte and return the result.

Parâmetros

tpl_content

string template

tpl_vars

Valor Retornado


Retrieve assigned variable

  • « Yaf_View_Simple::eval
  • Yaf_View_Simple::getScriptPath »
  • PHP Manual
  • Yaf_View_Simple
  • Retrieve assigned variable

Yaf_View_Simple::__get

(Yaf >=1.0.0)

Yaf_View_Simple::__get — Retrieve assigned variable

Descrição

public Yaf_View_Simple::__get ( string $name = ? ) : void

Retrieve assigned varaiable

Nota:

parameter can be empty since 2.1.11

Parâmetros

name

the assigned variable name

if this is empty, all assigned variables will be returned

Valor Retornado


Get templates directory

  • « Yaf_View_Simple::__get
  • Yaf_View_Simple::__isset »
  • PHP Manual
  • Yaf_View_Simple
  • Get templates directory

Yaf_View_Simple::getScriptPath

(Yaf >=1.0.0)

Yaf_View_Simple::getScriptPath — Get templates directory

Descrição

public Yaf_View_Simple::getScriptPath ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The __isset purpose

  • « Yaf_View_Simple::getScriptPath
  • Yaf_View_Simple::render »
  • PHP Manual
  • Yaf_View_Simple
  • The __isset purpose

Yaf_View_Simple::__isset

(Yaf >=1.0.0)

Yaf_View_Simple::__isset — The __isset purpose

Descrição

public Yaf_View_Simple::__isset ( string $name ) : void

Parâmetros

name

Valor Retornado


Render template

  • « Yaf_View_Simple::__isset
  • Yaf_View_Simple::__set »
  • PHP Manual
  • Yaf_View_Simple
  • Render template

Yaf_View_Simple::render

(Yaf >=1.0.0)

Yaf_View_Simple::render — Render template

Descrição

public Yaf_View_Simple::render ( string $tpl , array $tpl_vars = ? ) : string

Render a template and return the result.

Parâmetros

tpl

tpl_vars

Valor Retornado


Set value to engine

  • « Yaf_View_Simple::render
  • Yaf_View_Simple::setScriptPath »
  • PHP Manual
  • Yaf_View_Simple
  • Set value to engine

Yaf_View_Simple::__set

(Yaf >=1.0.0)

Yaf_View_Simple::__set — Set value to engine

Descrição

public Yaf_View_Simple::__set ( string $name , mixed $value ) : void

This is a alternative and easier way to Yaf_View_Simple::assign().

Parâmetros

name

A string value name.

value

Mixed value.

Valor Retornado

Exemplos

Exemplo #1 Yaf_View_Simple::__set()example

<?php
class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {
        $this->getView()->foo = "bar"; // same as assign("foo", "bar");
    }
?>

Veja Também

  • Yaf_View_Simple::assignRef() - The assignRef purpose
  • Yaf_View_Interface::assign() - Assign value to View engine


Set tempaltes directory

  • « Yaf_View_Simple::__set
  • Yaf_Loader »
  • PHP Manual
  • Yaf_View_Simple
  • Set tempaltes directory

Yaf_View_Simple::setScriptPath

(Yaf >=1.0.0)

Yaf_View_Simple::setScriptPath — Set tempaltes directory

Descrição

public Yaf_View_Simple::setScriptPath ( string $template_dir ) : bool

Parâmetros

template_dir

Valor Retornado


The Yaf_Loader class

(Yaf >=1.0.0)

Introdução

Yaf_Loader introduces a comprehensive autoloading solution for Yaf.

The first time an instance of Yaf_Application is retrieved, Yaf_Loader will instance a singleton, and registers itself with spl_autoload. You retrieve an instance using the Yaf_Loader::getInstance()

Yaf_Loader attempt to load a class only one shot, if failed, depend on yaf.use_spl_auload, if this config is On Yaf_Loader::autoload() will return false, thus give the chance to other autoload function. if it is Off (by default), Yaf_Loader::autoload() will return true, and more important is that a very useful warning will be triggered (very useful to find out why a class could not be loaded).

Nota:

Please keep yaf.use_spl_autoload Off unless there is some library have their own autoload mechanism and impossible to rewrite it.

By default, Yaf_Loader assume all library (class defined script) store in the global library directory, which is defined in the php.ini(yaf.library).

If you want Yaf_Loader search some classes(libraries) in the local class directory(which is defined in application.ini, and by default, it is application.directory . "/library"), you should register the class prefix using the Yaf_Loader::registerLocalNameSpace()

Let's see some examples(assuming APPLICATION_PATH is application.directory):

Exemplo #1 Config example

// Assuming the following configure in php.ini:
yaf.library = "/global_dir"

//Assuming the following configure in application.ini
application.library = APPLICATION_PATH "/library"
Assuming the following local name space is registered:

Exemplo #2 Register localnamespace

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
     public function _initLoader($dispatcher) {
          Yaf_Loader::getInstance()->registerLocalNameSpace(array("Foo", "Bar"));
     }
?>
Then the autoload examples:

Exemplo #3 Load class example

class Foo_Bar_Test =>
  // APPLICATION_PATH/library/Foo/Bar/Test.php

class GLO_Name  =>
  // /global_dir/Glo/Name.php

class BarNon_Test
  // /global_dir/Barnon/Test.php
As of PHP 5.3, you can use namespace:

Exemplo #4 Load namespace class example

class \Foo\Bar\Dummy =>
   // APPLICATION_PATH/library/Foo/Bar/Dummy.php

class \FooBar\Bar\Dummy =>
   // /global_dir/FooBar/Bar/Dummy.php

You may noticed that all the folder with the first letter capitalized, you can make them lowercase by set yaf.lowcase_path = On in php.ini

Yaf_Loader is also designed to load the MVC classes, and the rule is:

Exemplo #5 MVC class loading example

Controller Classes =>
// APPLICATION_PATH/controllers/

Model Classes =>
// APPLICATION_PATH/models/

Plugin Classes =>
// APPLICATION_PATH/plugins/
Yaf identify a class's suffix(this is by default, you can also change to the prefix by change the configure yaf.name_suffix) to decide whether it is a MVC class:

Exemplo #6 MVC class distinctions

Controller Classes =>
    // ***Controller

Model Classes =>
    // ***Model

Plugin Classes =>
    // ***Plugin
some examples:

Exemplo #7 MVC loading example

class IndexController
    // APPLICATION_PATH/controllers/Index.php

class DataModel =>
   // APPLICATION_PATH/models/Data.php

class DummyPlugin =>
  // APPLICATION_PATH/plugins/Dummy.php

class A_B_TestModel =>
  // APPLICATION_PATH/models/A/B/Test.php

Nota:

As of 2.1.18, Yaf supports Controllers autoloading for user script side, (which means the autoloading triggered by user php script, eg: access a controller static property in Bootstrap or Plugins), but autoloader only try to locate controller class script under the default module folder, which is "APPLICATION_PATH/controllers/".

also, the directory will be affected by yaf.lowcase_path.

Sinopse da classe

Yaf_Loader {
/* Propriedades */
protected $_local_ns ;
protected $_library ;
protected $_global_library ;
static $_instance ;
/* Métodos */
public autoload ( ) : void
public clearLocalNamespace ( ) : void
private __construct ( )
public static getInstance ( ) : void
public getLibraryPath ( bool $is_global = false ) : Yaf_Loader
public getLocalNamespace ( ) : void
public getNamespacePath ( string $namespaces ) : string
public getNamespaces ( ) : array
public static import ( ) : void
public isLocalName ( ) : void
public registerLocalNamespace ( mixed $prefix ) : void
public registerNamespace ( string|array $namespaces , string $path = ? ) : bool
public setLibraryPath ( string $directory , bool $is_global = false ) : Yaf_Loader
}

Propriedades

_local_ns

_library

By default, this value is application.directory . "/library", you can change this either in the application.ini(application.library) or call to Yaf_Loader::setLibraryPath()

_global_library

_instance

Índice

  • Yaf_Loader::autoload — The autoload purpose
  • Yaf_Loader::clearLocalNamespace — The clearLocalNamespace purpose
  • Yaf_Loader::__construct — The __construct purpose
  • Yaf_Loader::getInstance — The getInstance purpose
  • Yaf_Loader::getLibraryPath — Get the library path
  • Yaf_Loader::getLocalNamespace — The getLocalNamespace purpose
  • Yaf_Loader::getNamespacePath — Retieve path of a registered namespace
  • Yaf_Loader::getLocalNamespace — Retrive all register namespaces info
  • Yaf_Loader::import — The import purpose
  • Yaf_Loader::isLocalName — The isLocalName purpose
  • Yaf_Loader::registerLocalNamespace — Register local class prefix
  • Yaf_Loader::registerNamespace — Register namespace with searching path
  • Yaf_Loader::setLibraryPath — Change the library path


The autoload purpose

  • « Yaf_Loader
  • Yaf_Loader::clearLocalNamespace »
  • PHP Manual
  • Yaf_Loader
  • The autoload purpose

Yaf_Loader::autoload

(Yaf >=1.0.0)

Yaf_Loader::autoload — The autoload purpose

Descrição

public Yaf_Loader::autoload ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The clearLocalNamespace purpose

  • « Yaf_Loader::autoload
  • Yaf_Loader::__construct »
  • PHP Manual
  • Yaf_Loader
  • The clearLocalNamespace purpose

Yaf_Loader::clearLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::clearLocalNamespace — The clearLocalNamespace purpose

Descrição

public Yaf_Loader::clearLocalNamespace ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The __construct purpose

  • « Yaf_Loader::clearLocalNamespace
  • Yaf_Loader::getInstance »
  • PHP Manual
  • Yaf_Loader
  • The __construct purpose

Yaf_Loader::__construct

(Yaf >=1.0.0)

Yaf_Loader::__construct — The __construct purpose

Descrição

private Yaf_Loader::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getInstance purpose

  • « Yaf_Loader::__construct
  • Yaf_Loader::getLibraryPath »
  • PHP Manual
  • Yaf_Loader
  • The getInstance purpose

Yaf_Loader::getInstance

(Yaf >=1.0.0)

Yaf_Loader::getInstance — The getInstance purpose

Descrição

public static Yaf_Loader::getInstance ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get the library path

  • « Yaf_Loader::getInstance
  • Yaf_Loader::getLocalNamespace »
  • PHP Manual
  • Yaf_Loader
  • Get the library path

Yaf_Loader::getLibraryPath

(Yaf >=2.1.4)

Yaf_Loader::getLibraryPath — Get the library path

Descrição

public Yaf_Loader::getLibraryPath ( bool $is_global = false ) : Yaf_Loader

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getLocalNamespace purpose

  • « Yaf_Loader::getLibraryPath
  • Yaf_Loader::getNamespacePath »
  • PHP Manual
  • Yaf_Loader
  • The getLocalNamespace purpose

Yaf_Loader::getLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::getLocalNamespace — The getLocalNamespace purpose

Descrição

public Yaf_Loader::getLocalNamespace ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retieve path of a registered namespace

  • « Yaf_Loader::getLocalNamespace
  • Yaf_Loader::getLocalNamespace »
  • PHP Manual
  • Yaf_Loader
  • Retieve path of a registered namespace

Yaf_Loader::getNamespacePath

(Yaf >=3.2.0)

Yaf_Loader::getNamespacePath — Retieve path of a registered namespace

Descrição

public Yaf_Loader::getNamespacePath ( string $namespaces ) : string

retrieve path of a registered namespace

Parâmetros

namespace

a string of namespace.

Valor Retornado

string path, if the namespace is not registered, then null default library will be returned

Exemplos

Exemplo #1 Yaf_Loader::registerNamespace()example

<?php
$loader = Yaf_Loader::getInstance("/var/application/lib");
$loader->registerNamespace("\Vendor\PHP", "/var/lib/php");

$loader->getNamespacePath("\Vendor\PHP"); // '/var/lib/php'
$loader->getNamespacePath("\Vendor\JSP"); // '/var/application/lib'

?>


Retrive all register namespaces info

  • « Yaf_Loader::getNamespacePath
  • Yaf_Loader::import »
  • PHP Manual
  • Yaf_Loader
  • Retrive all register namespaces info

Yaf_Loader::getLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::getLocalNamespace — Retrive all register namespaces info

Descrição

public Yaf_Loader::getNamespaces ( ) : array

get registered namespaces info

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

array


The import purpose

  • « Yaf_Loader::getLocalNamespace
  • Yaf_Loader::isLocalName »
  • PHP Manual
  • Yaf_Loader
  • The import purpose

Yaf_Loader::import

(Yaf >=1.0.0)

Yaf_Loader::import — The import purpose

Descrição

public static Yaf_Loader::import ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The isLocalName purpose

  • « Yaf_Loader::import
  • Yaf_Loader::registerLocalNamespace »
  • PHP Manual
  • Yaf_Loader
  • The isLocalName purpose

Yaf_Loader::isLocalName

(Yaf >=1.0.0)

Yaf_Loader::isLocalName — The isLocalName purpose

Descrição

public Yaf_Loader::isLocalName ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Register local class prefix

  • « Yaf_Loader::isLocalName
  • Yaf_Loader::registerNamespace »
  • PHP Manual
  • Yaf_Loader
  • Register local class prefix

Yaf_Loader::registerLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::registerLocalNamespace — Register local class prefix

Descrição

public Yaf_Loader::registerLocalNamespace ( mixed $prefix ) : void

Register local class prefix name, Yaf_Loader search classes in two library directories, the one is configured via application.library.directory(in application.ini) which is called local libraray directory; the other is configured via yaf.library (in php.ini) which is callled global library directory, since it can be shared by many applications in the same server.

When an autloading is trigger, Yaf_Loader will determine which library directory should be searched in by exame the prefix name of the missed classname. If the prefix name is registered as a localnamespack then look for it in local library directory, otherwise look for it in global library directory.

Nota:

If yaf.library is not configured, then the global library directory is assumed to be the local library directory. in that case, all autoloading will look for local library directory. But if you want your Yaf application be strong, then always register your own classes as local classes.

Parâmetros

prefix

a string or a array of class name prefix. all class prefix with these prefix will be loaded in local library path.

Valor Retornado

bool

Exemplos

Exemplo #1 Yaf_Loader::registerLocalNamespace()example

<?php
$loader = Yaf_Loader::getInstance('/local/library/', '/global/library');
$loader->registerLocalNamespace("Baidu");
$loader->registerLocalNamespace(array("Sina", "Weibo"));

$loader->autoload("Baidu_Name"); // search in '/local/library/'
$loader->autoload("Sina");       // search '/local/library/'
$loader->autoload("Global_Name");// search in '/global/library/'
$loader->autoload("Foo_Bar");    // search in '/global/library/'

?>


Register namespace with searching path

  • « Yaf_Loader::registerLocalNamespace
  • Yaf_Loader::setLibraryPath »
  • PHP Manual
  • Yaf_Loader
  • Register namespace with searching path

Yaf_Loader::registerNamespace

(Yaf >=3.2.0)

Yaf_Loader::registerNamespace — Register namespace with searching path

Descrição

public Yaf_Loader::registerNamespace ( string|array $namespaces , string $path = ? ) : bool

Register a namespace with searching path, Yaf_Loader searchs classes under this namespace in path, the one is also could be configureded via application.library.directory.namespace(in application.ini);

Nota:

Yaf still think underline as folder separator.

Parâmetros

namespace

a string of namespace, or a array of namespaces with paths.

path

a string of path, it it better to use abosolute path here for performance

Valor Retornado

bool

Exemplos

Exemplo #1 Yaf_Loader::registerNamespace()example

<?php
$loader = Yaf_Loader::getInstance();
$loader->registerNamespace("\Vendor\PHP", "/var/lib/php");
$loader->registerNamespace(array(
     "\Vendor\ASP" => "/var/lib/asp",
     "\Vendor\JSP" => "/usr/lib/vendor/",
));

$loader->autoload("\Vendor\PHP\Dummy");   //load '/var/lib/php/Dummy.php'
$loader->autoload("\Vendor\PHP\Foo_Bar"); //load '/var/lib/php/Foo/Bar.php'
$loader->autoload("\Vendor\JSP\Dummy");   //load '/usr/lib/vendor/Dummy.php'

?>


Change the library path

  • « Yaf_Loader::registerNamespace
  • Yaf_Plugin_Abstract »
  • PHP Manual
  • Yaf_Loader
  • Change the library path

Yaf_Loader::setLibraryPath

(Yaf >=2.1.4)

Yaf_Loader::setLibraryPath — Change the library path

Descrição

public Yaf_Loader::setLibraryPath ( string $directory , bool $is_global = false ) : Yaf_Loader

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Yaf_Plugin_Abstract class

(Yaf >=1.0.0)

Introdução

Plugins allow for easy extensibility and customization of the framework.

Plugins are classes. The actual class definition will vary based on the component -- you may need to implement this interface, but the fact remains that the plugin is itself a class.

A plugin could be loaded into Yaf by using Yaf_Dispatcher::registerPlugin(), after registering, All the methods which the plugin implemented according to this interface, will be called at the proper time.

Exemplos

Exemplo #1 Plugin example

<?php
   /* bootstrap class should be defined under ./application/Bootstrap.php */
   class Bootstrap extends Yaf_Bootstrap_Abstract {
        public function _initPlugin(Yaf_Dispatcher $dispatcher) {
            /* register a plugin */
            $dispatcher->registerPlugin(new TestPlugin());
        }
   }

   /* plugin class should be placed under ./application/plugins/ */
   class TestPlugin extends Yaf_Plugin_Abstract {
        public function routerStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            /* before router
               in this hook,  user can do some url rewrite */
            var_dump("routerStartup");
        }
        public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            /* router complete
               in this hook, user can do login check */
            var_dump("routerShutdown");
        }
        public function dispatchLoopStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            var_dump("dispatchLoopStartup");
        }
        public function preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            var_dump("preDispatch");
        }
        public function postDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            var_dump("postDispatch");
        }
        public function dispatchLoopShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            /* final hook
               in this hook user can do logging or implement layout */
            var_dump("dispatchLoopShutdown");
        }
   }

   Class IndexController extends Yaf_Controller_Abstract {
        public function indexAction() {
            return FALSE; //prevent rendering
        }
   }

   $config = array(
       "application" => array(
           "directory" => dirname(__FILE__) . "/application/",
       ),
   );

   $app = new Yaf_Application($config);
   $app->bootstrap()->run();
?>

O exemplo acima irá imprimir algo similar à:

string(13) "routerStartup"
string(14) "routerShutdown"
string(19) "dispatchLoopStartup"
string(11) "preDispatch"
string(12) "postDispatch"
string(20) "dispatchLoopShutdown"

Sinopse da classe

Yaf_Plugin_Abstract {
/* Métodos */
public dispatchLoopShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void
public dispatchLoopStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void
public postDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void
public preDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void
public preResponse ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void
public routerShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void
public routerStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void
}

Índice

  • Yaf_Plugin_Abstract::dispatchLoopShutdown — The dispatchLoopShutdown purpose
  • Yaf_Plugin_Abstract::dispatchLoopStartup — Hook before dispatch loop
  • Yaf_Plugin_Abstract::postDispatch — The postDispatch purpose
  • Yaf_Plugin_Abstract::preDispatch — The preDispatch purpose
  • Yaf_Plugin_Abstract::preResponse — The preResponse purpose
  • Yaf_Plugin_Abstract::routerShutdown — The routerShutdown purpose
  • Yaf_Plugin_Abstract::routerStartup — RouterStartup hook


The dispatchLoopShutdown purpose

  • « Yaf_Plugin_Abstract
  • Yaf_Plugin_Abstract::dispatchLoopStartup »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • The dispatchLoopShutdown purpose

Yaf_Plugin_Abstract::dispatchLoopShutdown

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::dispatchLoopShutdown — The dispatchLoopShutdown purpose

Descrição

public Yaf_Plugin_Abstract::dispatchLoopShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void

This is the latest hook in Yaf plugin hook system, if a custom plugin implement this method, then it will be called after the dispatch loop finished.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

request

response

Valor Retornado

Veja Também

  • Yaf_Plugin_Abstract::routerStartup() - RouterStartup hook
  • Yaf_Plugin_Abstract::routerShutdown() - The routerShutdown purpose
  • Yaf_Plugin_Abstract::dispatchLoopStartup() - Hook before dispatch loop
  • Yaf_Plugin_Abstract::preDispatch() - The preDispatch purpose
  • Yaf_Plugin_Abstract::postDispatch() - The postDispatch purpose


Hook before dispatch loop

  • « Yaf_Plugin_Abstract::dispatchLoopShutdown
  • Yaf_Plugin_Abstract::postDispatch »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • Hook before dispatch loop

Yaf_Plugin_Abstract::dispatchLoopStartup

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::dispatchLoopStartup — Hook before dispatch loop

Descrição

public Yaf_Plugin_Abstract::dispatchLoopStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void

Parâmetros

request

response

Valor Retornado


The postDispatch purpose

  • « Yaf_Plugin_Abstract::dispatchLoopStartup
  • Yaf_Plugin_Abstract::preDispatch »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • The postDispatch purpose

Yaf_Plugin_Abstract::postDispatch

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::postDispatch — The postDispatch purpose

Descrição

public Yaf_Plugin_Abstract::postDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

request

response

Valor Retornado


The preDispatch purpose

  • « Yaf_Plugin_Abstract::postDispatch
  • Yaf_Plugin_Abstract::preResponse »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • The preDispatch purpose

Yaf_Plugin_Abstract::preDispatch

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::preDispatch — The preDispatch purpose

Descrição

public Yaf_Plugin_Abstract::preDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

request

response

Valor Retornado


The preResponse purpose

  • « Yaf_Plugin_Abstract::preDispatch
  • Yaf_Plugin_Abstract::routerShutdown »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • The preResponse purpose

Yaf_Plugin_Abstract::preResponse

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::preResponse — The preResponse purpose

Descrição

public Yaf_Plugin_Abstract::preResponse ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

request

response

Valor Retornado


The routerShutdown purpose

  • « Yaf_Plugin_Abstract::preResponse
  • Yaf_Plugin_Abstract::routerStartup »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • The routerShutdown purpose

Yaf_Plugin_Abstract::routerShutdown

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::routerShutdown — The routerShutdown purpose

Descrição

public Yaf_Plugin_Abstract::routerShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void

This hook will be trigged after the route process finished, this hook is usually used for login check.

Parâmetros

request

response

Valor Retornado

Exemplos

Exemplo #1 Yaf_Plugin_Abstract::routerShutdown()example

<?php
class UserInitPlugin extends Yaf_Plugin_Abstract {

    public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
        $controller = $request->getControllerName();

        /**
         * Use access controller is unecessary for APIs
         */
        if (in_array(strtolower($controller), array(
            'api',
        ))) {
            return TRUE;
        }

        if (Yaf_Session::getInstance()->has("login")) {
            return TRUE;
        }

        /* Use access check failed, need to login */
        $response->setRedirect("http://yourdomain.com/login/");
        return FALSE;
    }
?>

Veja Também

  • Yaf_Plugin_Abstract::routerStartup() - RouterStartup hook
  • Yaf_Plugin_Abstract::dispatchLoopStartup() - Hook before dispatch loop
  • Yaf_Plugin_Abstract::preDispatch() - The preDispatch purpose
  • Yaf_Plugin_Abstract::postDispatch() - The postDispatch purpose
  • Yaf_Plugin_Abstract::dispatchLoopShutdown() - The dispatchLoopShutdown purpose


RouterStartup hook

  • « Yaf_Plugin_Abstract::routerShutdown
  • Yaf_Registry »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • RouterStartup hook

Yaf_Plugin_Abstract::routerStartup

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::routerStartup — RouterStartup hook

Descrição

public Yaf_Plugin_Abstract::routerStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ) : void

This is the earliest hook in Yaf plugin hook system, if a custom plugin implement this method, then it will be called before routing a request.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

request

response

Valor Retornado

Veja Também

  • Yaf_Plugin_Abstract::routerShutdown() - The routerShutdown purpose
  • Yaf_Plugin_Abstract::dispatchLoopStartup() - Hook before dispatch loop
  • Yaf_Plugin_Abstract::preDispatch() - The preDispatch purpose
  • Yaf_Plugin_Abstract::postDispatch() - The postDispatch purpose
  • Yaf_Plugin_Abstract::dispatchLoopShutdown() - The dispatchLoopShutdown purpose


The Yaf_Registry class

(Yaf >=1.0.0)

Introdução

All methods of Yaf_Registry declared as static, making it unversally accessible. This provides the ability to get or set any custom data from anyway in your code as necessary.

Sinopse da classe

Yaf_Registry {
/* Propriedades */
static $_instance ;
protected $_entries ;
/* Métodos */
private __construct ( )
public static del ( string $name ) : void
public static get ( string $name ) : mixed
public static has ( string $name ) : bool
public static set ( string $name , string $value ) : bool
}

Propriedades

_instance

_entries

Índice

  • Yaf_Registry::__construct — Yaf_Registry implements singleton
  • Yaf_Registry::del — Remove an item from registry
  • Yaf_Registry::get — Retrieve an item from registry
  • Yaf_Registry::has — Check whether an item exists
  • Yaf_Registry::set — Add an item into registry


Yaf_Registry implements singleton

  • « Yaf_Registry
  • Yaf_Registry::del »
  • PHP Manual
  • Yaf_Registry
  • Yaf_Registry implements singleton

Yaf_Registry::__construct

(Yaf >=1.0.0)

Yaf_Registry::__construct — Yaf_Registry implements singleton

Descrição

private Yaf_Registry::__construct ( )

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Remove an item from registry

  • « Yaf_Registry::__construct
  • Yaf_Registry::get »
  • PHP Manual
  • Yaf_Registry
  • Remove an item from registry

Yaf_Registry::del

(Yaf >=1.0.0)

Yaf_Registry::del — Remove an item from registry

Descrição

public static Yaf_Registry::del ( string $name ) : void

Remove an item from registry

Parâmetros

name

Valor Retornado


Retrieve an item from registry

  • « Yaf_Registry::del
  • Yaf_Registry::has »
  • PHP Manual
  • Yaf_Registry
  • Retrieve an item from registry

Yaf_Registry::get

(Yaf >=1.0.0)

Yaf_Registry::get — Retrieve an item from registry

Descrição

public static Yaf_Registry::get ( string $name ) : mixed

Retrieve an item from registry

Parâmetros

name

Valor Retornado


Check whether an item exists

  • « Yaf_Registry::get
  • Yaf_Registry::set »
  • PHP Manual
  • Yaf_Registry
  • Check whether an item exists

Yaf_Registry::has

(Yaf >=1.0.0)

Yaf_Registry::has — Check whether an item exists

Descrição

public static Yaf_Registry::has ( string $name ) : bool

Check whether an item exists

Parâmetros

name

Valor Retornado


Add an item into registry

  • « Yaf_Registry::has
  • Yaf_Request_Abstract »
  • PHP Manual
  • Yaf_Registry
  • Add an item into registry

Yaf_Registry::set

(Yaf >=1.0.0)

Yaf_Registry::set — Add an item into registry

Descrição

public static Yaf_Registry::set ( string $name , string $value ) : bool

Add an item into registry

Parâmetros

name

value

Valor Retornado


The Yaf_Request_Abstract class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Request_Abstract {
/* Constants */
const string SCHEME_HTTP = http ;
const string SCHEME_HTTPS = https ;
/* Propriedades */
public $module ;
public $controller ;
public $action ;
public $method ;
protected $params ;
protected $language ;
protected $_exception ;
protected $_base_uri ;
protected $uri ;
protected $dispatched ;
protected $routed ;
/* Métodos */
public clearParams ( ) : bool
public getActionName ( ) : void
public getBaseUri ( ) : void
public getControllerName ( ) : void
public getEnv ( string $name , string $default = ? ) : void
public getException ( ) : void
public getLanguage ( ) : void
public getMethod ( ) : string
public getModuleName ( ) : void
public getParam ( string $name , string $default = ? ) : mixed
public getParams ( ) : array
public getRequestUri ( ) : void
public getServer ( string $name , string $default = ? ) : void
public isCli ( ) : bool
public isDispatched ( ) : bool
public isGet ( ) : bool
public isHead ( ) : bool
public isOptions ( ) : bool
public isPost ( ) : bool
public isPut ( ) : bool
public isRouted ( ) : bool
public isXmlHttpRequest ( ) : bool
public setActionName ( string $action , bool $format_name = true ) : void
public setBaseUri ( string $uir ) : bool
public setControllerName ( string $controller , bool $format_name = true ) : void
public setDispatched ( ) : void
public setModuleName ( string $module , bool $format_name = true ) : void
public setParam ( string $name , string $value = ? ) : bool
public setRequestUri ( string $uir ) : void
public setRouted ( string $flag = ? ) : void
}

Propriedades

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Constantes pré-definidas

Yaf_Request_Abstract::SCHEME_HTTP

Yaf_Request_Abstract::SCHEME_HTTPS

Índice

  • Yaf_Request_Abstract::clearParams — Remove all params
  • Yaf_Request_Abstract::getActionName — The getActionName purpose
  • Yaf_Request_Abstract::getBaseUri — The getBaseUri purpose
  • Yaf_Request_Abstract::getControllerName — The getControllerName purpose
  • Yaf_Request_Abstract::getEnv — Retrieve ENV varialbe
  • Yaf_Request_Abstract::getException — The getException purpose
  • Yaf_Request_Abstract::getLanguage — Retrieve client's prefered language
  • Yaf_Request_Abstract::getMethod — Retrieve the request method
  • Yaf_Request_Abstract::getModuleName — The getModuleName purpose
  • Yaf_Request_Abstract::getParam — Retrieve calling parameter
  • Yaf_Request_Abstract::getParams — Retrieve all calling parameters
  • Yaf_Request_Abstract::getRequestUri — The getRequestUri purpose
  • Yaf_Request_Abstract::getServer — Retrieve SERVER variable
  • Yaf_Request_Abstract::isCli — Determine if request is CLI request
  • Yaf_Request_Abstract::isDispatched — Determin if the request is dispatched
  • Yaf_Request_Abstract::isGet — Determine if request is GET request
  • Yaf_Request_Abstract::isHead — Determine if request is HEAD request
  • Yaf_Request_Abstract::isOptions — Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isPost — Determine if request is POST request
  • Yaf_Request_Abstract::isPut — Determine if request is PUT request
  • Yaf_Request_Abstract::isRouted — Determin if request has been routed
  • Yaf_Request_Abstract::isXmlHttpRequest — Determine if request is AJAX request
  • Yaf_Request_Abstract::setActionName — Set action name
  • Yaf_Request_Abstract::setBaseUri — Set base URI
  • Yaf_Request_Abstract::setControllerName — Set controller name
  • Yaf_Request_Abstract::setDispatched — The setDispatched purpose
  • Yaf_Request_Abstract::setModuleName — Set module name
  • Yaf_Request_Abstract::setParam — Set a calling parameter to a request
  • Yaf_Request_Abstract::setRequestUri — The setRequestUri purpose
  • Yaf_Request_Abstract::setRouted — The setRouted purpose


Remove all params

  • « Yaf_Request_Abstract
  • Yaf_Request_Abstract::getActionName »
  • PHP Manual
  • Yaf_Request_Abstract
  • Remove all params

Yaf_Request_Abstract::clearParams

(Não há informação de versão disponível, talvez apenas no Git)

Yaf_Request_Abstract::clearParams — Remove all params

Descrição

public Yaf_Request_Abstract::clearParams ( ) : bool

Remove all params set by router, or Yaf_Request_Abstract::setParam()

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

bool

Veja Também

  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isGet() - Determine if request is GET request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


The getActionName purpose

  • « Yaf_Request_Abstract::clearParams
  • Yaf_Request_Abstract::getBaseUri »
  • PHP Manual
  • Yaf_Request_Abstract
  • The getActionName purpose

Yaf_Request_Abstract::getActionName

(Yaf >=1.0.0)

Yaf_Request_Abstract::getActionName — The getActionName purpose

Descrição

public Yaf_Request_Abstract::getActionName ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getBaseUri purpose

  • « Yaf_Request_Abstract::getActionName
  • Yaf_Request_Abstract::getControllerName »
  • PHP Manual
  • Yaf_Request_Abstract
  • The getBaseUri purpose

Yaf_Request_Abstract::getBaseUri

(Yaf >=1.0.0)

Yaf_Request_Abstract::getBaseUri — The getBaseUri purpose

Descrição

public Yaf_Request_Abstract::getBaseUri ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getControllerName purpose

  • « Yaf_Request_Abstract::getBaseUri
  • Yaf_Request_Abstract::getEnv »
  • PHP Manual
  • Yaf_Request_Abstract
  • The getControllerName purpose

Yaf_Request_Abstract::getControllerName

(Yaf >=1.0.0)

Yaf_Request_Abstract::getControllerName — The getControllerName purpose

Descrição

public Yaf_Request_Abstract::getControllerName ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retrieve ENV varialbe

  • « Yaf_Request_Abstract::getControllerName
  • Yaf_Request_Abstract::getException »
  • PHP Manual
  • Yaf_Request_Abstract
  • Retrieve ENV varialbe

Yaf_Request_Abstract::getEnv

(Yaf >=1.0.0)

Yaf_Request_Abstract::getEnv — Retrieve ENV varialbe

Descrição

public Yaf_Request_Abstract::getEnv ( string $name , string $default = ? ) : void

Retrieve ENV variable

Parâmetros

name

the variable name

default

if this parameter is provide, this will be returned if the varialbe can not be found

Valor Retornado

Returns string

Veja Também

  • Yaf_Request_Abstract::getServer() - Retrieve SERVER variable
  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter


The getException purpose

  • « Yaf_Request_Abstract::getEnv
  • Yaf_Request_Abstract::getLanguage »
  • PHP Manual
  • Yaf_Request_Abstract
  • The getException purpose

Yaf_Request_Abstract::getException

(Yaf >=1.0.0)

Yaf_Request_Abstract::getException — The getException purpose

Descrição

public Yaf_Request_Abstract::getException ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retrieve client's prefered language

  • « Yaf_Request_Abstract::getException
  • Yaf_Request_Abstract::getMethod »
  • PHP Manual
  • Yaf_Request_Abstract
  • Retrieve client's prefered language

Yaf_Request_Abstract::getLanguage

(Yaf >=1.0.0)

Yaf_Request_Abstract::getLanguage — Retrieve client's prefered language

Descrição

public Yaf_Request_Abstract::getLanguage ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string


Retrieve the request method

  • « Yaf_Request_Abstract::getLanguage
  • Yaf_Request_Abstract::getModuleName »
  • PHP Manual
  • Yaf_Request_Abstract
  • Retrieve the request method

Yaf_Request_Abstract::getMethod

(Yaf >=1.0.0)

Yaf_Request_Abstract::getMethod — Retrieve the request method

Descrição

public Yaf_Request_Abstract::getMethod ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return a string, like "POST", "GET" etc.

Veja Também

  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isCli() - Determine if request is CLI request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


The getModuleName purpose

  • « Yaf_Request_Abstract::getMethod
  • Yaf_Request_Abstract::getParam »
  • PHP Manual
  • Yaf_Request_Abstract
  • The getModuleName purpose

Yaf_Request_Abstract::getModuleName

(Yaf >=1.0.0)

Yaf_Request_Abstract::getModuleName — The getModuleName purpose

Descrição

public Yaf_Request_Abstract::getModuleName ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retrieve calling parameter

  • « Yaf_Request_Abstract::getModuleName
  • Yaf_Request_Abstract::getParams »
  • PHP Manual
  • Yaf_Request_Abstract
  • Retrieve calling parameter

Yaf_Request_Abstract::getParam

(Yaf >=1.0.0)

Yaf_Request_Abstract::getParam — Retrieve calling parameter

Descrição

public Yaf_Request_Abstract::getParam ( string $name , string $default = ? ) : mixed

Parâmetros

name

default

Valor Retornado

Veja Também

  • Yaf_Request_Abstract::setParam() - Set a calling parameter to a request


Retrieve all calling parameters

  • « Yaf_Request_Abstract::getParam
  • Yaf_Request_Abstract::getRequestUri »
  • PHP Manual
  • Yaf_Request_Abstract
  • Retrieve all calling parameters

Yaf_Request_Abstract::getParams

(Yaf >=1.0.0)

Yaf_Request_Abstract::getParams — Retrieve all calling parameters

Descrição

public Yaf_Request_Abstract::getParams ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • Yaf_Request_Abstract::setParam() - Set a calling parameter to a request


The getRequestUri purpose

  • « Yaf_Request_Abstract::getParams
  • Yaf_Request_Abstract::getServer »
  • PHP Manual
  • Yaf_Request_Abstract
  • The getRequestUri purpose

Yaf_Request_Abstract::getRequestUri

(Yaf >=1.0.0)

Yaf_Request_Abstract::getRequestUri — The getRequestUri purpose

Descrição

public Yaf_Request_Abstract::getRequestUri ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retrieve SERVER variable

  • « Yaf_Request_Abstract::getRequestUri
  • Yaf_Request_Abstract::isCli »
  • PHP Manual
  • Yaf_Request_Abstract
  • Retrieve SERVER variable

Yaf_Request_Abstract::getServer

(Yaf >=1.0.0)

Yaf_Request_Abstract::getServer — Retrieve SERVER variable

Descrição

public Yaf_Request_Abstract::getServer ( string $name , string $default = ? ) : void

Retrieve SERVER variable

Parâmetros

name

the variable name

default

if this parameter is provide, this will be returned if the variable can not be found

Valor Retornado

Veja Também

  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter
  • Yaf_Request_Abstract::getEnv() - Retrieve ENV varialbe


Determine if request is CLI request

  • « Yaf_Request_Abstract::getServer
  • Yaf_Request_Abstract::isDispatched »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is CLI request

Yaf_Request_Abstract::isCli

(Yaf >=1.0.0)

Yaf_Request_Abstract::isCli — Determine if request is CLI request

Descrição

public Yaf_Request_Abstract::isCli ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

bolean

Veja Também

  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isGet() - Determine if request is GET request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


Determin if the request is dispatched

  • « Yaf_Request_Abstract::isCli
  • Yaf_Request_Abstract::isGet »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determin if the request is dispatched

Yaf_Request_Abstract::isDispatched

(Yaf >=1.0.0)

Yaf_Request_Abstract::isDispatched — Determin if the request is dispatched

Descrição

public Yaf_Request_Abstract::isDispatched ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

boolean

Veja Também

  • Yaf_Dispatcher::dispatch() - Dispatch a request


Determine if request is GET request

  • « Yaf_Request_Abstract::isDispatched
  • Yaf_Request_Abstract::isHead »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is GET request

Yaf_Request_Abstract::isGet

(Yaf >=1.0.0)

Yaf_Request_Abstract::isGet — Determine if request is GET request

Descrição

public Yaf_Request_Abstract::isGet ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

boolean

Veja Também

  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isCli() - Determine if request is CLI request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


Determine if request is HEAD request

  • « Yaf_Request_Abstract::isGet
  • Yaf_Request_Abstract::isOptions »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is HEAD request

Yaf_Request_Abstract::isHead

(Yaf >=1.0.0)

Yaf_Request_Abstract::isHead — Determine if request is HEAD request

Descrição

public Yaf_Request_Abstract::isHead ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

boolean

Veja Também

  • Yaf_Request_Abstract::isGet() - Determine if request is GET request
  • Yaf_Request_Abstract::isCli() - Determine if request is CLI request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


Determine if request is OPTIONS request

  • « Yaf_Request_Abstract::isHead
  • Yaf_Request_Abstract::isPost »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is OPTIONS request

Yaf_Request_Abstract::isOptions

(Yaf >=1.0.0)

Yaf_Request_Abstract::isOptions — Determine if request is OPTIONS request

Descrição

public Yaf_Request_Abstract::isOptions ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

boolean


Determine if request is POST request

  • « Yaf_Request_Abstract::isOptions
  • Yaf_Request_Abstract::isPut »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is POST request

Yaf_Request_Abstract::isPost

(Yaf >=1.0.0)

Yaf_Request_Abstract::isPost — Determine if request is POST request

Descrição

public Yaf_Request_Abstract::isPost ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

boolean

Veja Também

  • Yaf_Request_Abstract::isGet() - Determine if request is GET request
  • Yaf_Request_Abstract::isCli() - Determine if request is CLI request
  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


Determine if request is PUT request

  • « Yaf_Request_Abstract::isPost
  • Yaf_Request_Abstract::isRouted »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is PUT request

Yaf_Request_Abstract::isPut

(Yaf >=1.0.0)

Yaf_Request_Abstract::isPut — Determine if request is PUT request

Descrição

public Yaf_Request_Abstract::isPut ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

boolean

Veja Também

  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isCli() - Determine if request is CLI request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isGet() - Determine if request is GET request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


Determin if request has been routed

  • « Yaf_Request_Abstract::isPut
  • Yaf_Request_Abstract::isXmlHttpRequest »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determin if request has been routed

Yaf_Request_Abstract::isRouted

(Yaf >=1.0.0)

Yaf_Request_Abstract::isRouted — Determin if request has been routed

Descrição

public Yaf_Request_Abstract::isRouted ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

boolean


Determine if request is AJAX request

  • « Yaf_Request_Abstract::isRouted
  • Yaf_Request_Abstract::setActionName »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is AJAX request

Yaf_Request_Abstract::isXmlHttpRequest

(Yaf >=1.0.0)

Yaf_Request_Abstract::isXmlHttpRequest — Determine if request is AJAX request

Descrição

public Yaf_Request_Abstract::isXmlHttpRequest ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

boolean

Veja Também

  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isCli() - Determine if request is CLI request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isGet() - Determine if request is GET request


Set action name

  • « Yaf_Request_Abstract::isXmlHttpRequest
  • Yaf_Request_Abstract::setBaseUri »
  • PHP Manual
  • Yaf_Request_Abstract
  • Set action name

Yaf_Request_Abstract::setActionName

(Yaf >=1.0.0)

Yaf_Request_Abstract::setActionName — Set action name

Descrição

public Yaf_Request_Abstract::setActionName ( string $action , bool $format_name = true ) : void

set action name to request, this is usually used by custom router to set route result controller name.

Parâmetros

action

string, action name, it should in lower case style, like "index" or "foo_bar"

format_name

this is introduced in Yaf 3.2.0, by default Yaf will format the name into lower case style, if this is set to false , Yaf will set the original name to request.

Valor Retornado


Set base URI

  • « Yaf_Request_Abstract::setActionName
  • Yaf_Request_Abstract::setControllerName »
  • PHP Manual
  • Yaf_Request_Abstract
  • Set base URI

Yaf_Request_Abstract::setBaseUri

(Yaf >=1.0.0)

Yaf_Request_Abstract::setBaseUri — Set base URI

Descrição

public Yaf_Request_Abstract::setBaseUri ( string $uir ) : bool

Set base URI, base URI is used when doing routing, in routing phase request URI is used to route a request, while base URI is used to skip the leadding part(base URI) of request URI. That is, if comes a request with request URI a/b/c, then if you set base URI to "a/b", only "/c" will be used in routing phase.

Nota:

generally, you don't need to set this, Yaf will determine it automatically.

Parâmetros

uir

base URI

Valor Retornado

bool


Set controller name

  • « Yaf_Request_Abstract::setBaseUri
  • Yaf_Request_Abstract::setDispatched »
  • PHP Manual
  • Yaf_Request_Abstract
  • Set controller name

Yaf_Request_Abstract::setControllerName

(Yaf >=1.0.0)

Yaf_Request_Abstract::setControllerName — Set controller name

Descrição

public Yaf_Request_Abstract::setControllerName ( string $controller , bool $format_name = true ) : void

set controller name to request, this is usually used by custom router to set route result controller name.

Parâmetros

controller

string, controller name, this should be in camel style, like "Index" or "Foo_Bar"

format_name

this is introduced in Yaf 3.2.0, by default Yaf will format the name into camel mode, if this is set to false , Yaf will set the original name to request.

Valor Retornado


The setDispatched purpose

  • « Yaf_Request_Abstract::setControllerName
  • Yaf_Request_Abstract::setModuleName »
  • PHP Manual
  • Yaf_Request_Abstract
  • The setDispatched purpose

Yaf_Request_Abstract::setDispatched

(Yaf >=1.0.0)

Yaf_Request_Abstract::setDispatched — The setDispatched purpose

Descrição

public Yaf_Request_Abstract::setDispatched ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Set module name

  • « Yaf_Request_Abstract::setDispatched
  • Yaf_Request_Abstract::setParam »
  • PHP Manual
  • Yaf_Request_Abstract
  • Set module name

Yaf_Request_Abstract::setModuleName

(Yaf >=1.0.0)

Yaf_Request_Abstract::setModuleName — Set module name

Descrição

public Yaf_Request_Abstract::setModuleName ( string $module , bool $format_name = true ) : void

set module name to request, this is usually used by custom router to set route result module name.

Parâmetros

module

string module name, it should be in camel style, like "Index" or "Foo_Bar"

format_name

this is introduced in Yaf 3.2.0, by default Yaf will format the name into camel mode, if this is set to false , Yaf will set the original name to request.

Valor Retornado


Set a calling parameter to a request

  • « Yaf_Request_Abstract::setModuleName
  • Yaf_Request_Abstract::setRequestUri »
  • PHP Manual
  • Yaf_Request_Abstract
  • Set a calling parameter to a request

Yaf_Request_Abstract::setParam

(Yaf >=1.0.0)

Yaf_Request_Abstract::setParam — Set a calling parameter to a request

Descrição

public Yaf_Request_Abstract::setParam ( string $name , string $value = ? ) : bool

Set a parameter to request, which can be retrieved by Yaf_Request_Abstract::getParam()

Parâmetros

name

value

Valor Retornado

Veja Também

  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter
  • Yaf_Request_Abstract::getParams() - Retrieve all calling parameters


The setRequestUri purpose

  • « Yaf_Request_Abstract::setParam
  • Yaf_Request_Abstract::setRouted »
  • PHP Manual
  • Yaf_Request_Abstract
  • The setRequestUri purpose

Yaf_Request_Abstract::setRequestUri

(Yaf >=2.1.0)

Yaf_Request_Abstract::setRequestUri — The setRequestUri purpose

Descrição

public Yaf_Request_Abstract::setRequestUri ( string $uir ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

uir

Valor Retornado


The setRouted purpose

  • « Yaf_Request_Abstract::setRequestUri
  • Yaf_Request_Http »
  • PHP Manual
  • Yaf_Request_Abstract
  • The setRouted purpose

Yaf_Request_Abstract::setRouted

(Yaf >=1.0.0)

Yaf_Request_Abstract::setRouted — The setRouted purpose

Descrição

public Yaf_Request_Abstract::setRouted ( string $flag = ? ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

flag

Valor Retornado


The Yaf_Request_Http class

(Yaf >=1.0.0)

Introdução

Any request from client is initialized as a Yaf_Request_Http. you can get the request information like, uri query and post parameters via methods of this class.

Nota:

For security, $_GET/$_POST are readonly in Yaf, which means if you set a value to these global variables, you can not get it from Yaf_Request_Http::getQuery() or Yaf_Request_Http::getPost().

But there do is some usage need such feature, like unit testing. thus Yaf can be built with --enable-yaf-debug, which will allow Yaf read the value user set via script.

in such case, Yaf will throw a E_STRICT warning to remind you about that: Strict Standards: you are running yaf in debug mode

Sinopse da classe

Yaf_Request_Http extends Yaf_Request_Abstract {
/* Propriedades */
/* Métodos */
public __construct ( string $request_uri = ? , string $base_uri = ? )
public get ( string $name , string $default = ? ) : mixed
public getCookie ( string $name , string $default = ? ) : mixed
public getFiles ( ) : void
public getPost ( string $name , string $default = ? ) : mixed
public getQuery ( string $name , string $default = ? ) : mixed
public getRaw ( ) : mixed
public getRequest ( ) : void
public isXmlHttpRequest ( ) : bool
/* Métodos herdados */
public Yaf_Request_Abstract::clearParams ( ) : bool
public Yaf_Request_Abstract::getActionName ( ) : void
public Yaf_Request_Abstract::getBaseUri ( ) : void
public Yaf_Request_Abstract::getControllerName ( ) : void
public Yaf_Request_Abstract::getEnv ( string $name , string $default = ? ) : void
public Yaf_Request_Abstract::getException ( ) : void
public Yaf_Request_Abstract::getLanguage ( ) : void
public Yaf_Request_Abstract::getMethod ( ) : string
public Yaf_Request_Abstract::getModuleName ( ) : void
public Yaf_Request_Abstract::getParam ( string $name , string $default = ? ) : mixed
public Yaf_Request_Abstract::getParams ( ) : array
public Yaf_Request_Abstract::getRequestUri ( ) : void
public Yaf_Request_Abstract::getServer ( string $name , string $default = ? ) : void
public Yaf_Request_Abstract::isCli ( ) : bool
public Yaf_Request_Abstract::isDispatched ( ) : bool
public Yaf_Request_Abstract::isGet ( ) : bool
public Yaf_Request_Abstract::isHead ( ) : bool
public Yaf_Request_Abstract::isOptions ( ) : bool
public Yaf_Request_Abstract::isPost ( ) : bool
public Yaf_Request_Abstract::isPut ( ) : bool
public Yaf_Request_Abstract::isRouted ( ) : bool
public Yaf_Request_Abstract::isXmlHttpRequest ( ) : bool
public Yaf_Request_Abstract::setActionName ( string $action , bool $format_name = true ) : void
public Yaf_Request_Abstract::setBaseUri ( string $uir ) : bool
public Yaf_Request_Abstract::setControllerName ( string $controller , bool $format_name = true ) : void
public Yaf_Request_Abstract::setDispatched ( ) : void
public Yaf_Request_Abstract::setModuleName ( string $module , bool $format_name = true ) : void
public Yaf_Request_Abstract::setParam ( string $name , string $value = ? ) : bool
public Yaf_Request_Abstract::setRequestUri ( string $uir ) : void
public Yaf_Request_Abstract::setRouted ( string $flag = ? ) : void
}

Propriedades

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Índice

  • Yaf_Request_Http::__construct — Constructor of Yaf_Request_Http
  • Yaf_Request_Http::get — Retrieve variable from client
  • Yaf_Request_Http::getCookie — Retrieve Cookie variable
  • Yaf_Request_Http::getFiles — The getFiles purpose
  • Yaf_Request_Http::getPost — Retrieve POST variable
  • Yaf_Request_Http::getQuery — Fetch a query parameter
  • Yaf_Request_Http::getRaw — Retrieve Raw request body
  • Yaf_Request_Http::getRequest — The getRequest purpose
  • Yaf_Request_Http::isXmlHttpRequest — Determin if request is Ajax Request


Constructor of Yaf_Request_Http

  • « Yaf_Request_Http
  • Yaf_Request_Http::get »
  • PHP Manual
  • Yaf_Request_Http
  • Constructor of Yaf_Request_Http

Yaf_Request_Http::__construct

(Yaf >=1.0.0)

Yaf_Request_Http::__construct — Constructor of Yaf_Request_Http

Descrição

public Yaf_Request_Http::__construct ( string $request_uri = ? , string $base_uri = ? )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retrieve variable from client

  • « Yaf_Request_Http::__construct
  • Yaf_Request_Http::getCookie »
  • PHP Manual
  • Yaf_Request_Http
  • Retrieve variable from client

Yaf_Request_Http::get

(Yaf >=1.0.0)

Yaf_Request_Http::get — Retrieve variable from client

Descrição

public Yaf_Request_Http::get ( string $name , string $default = ? ) : mixed

Retrieve variable from client, this method will search the name in request pramas, if the name is not found, then will search in POST, GET, Cookie, Server

Parâmetros

name

the variable name

default

if this parameter is provide, this will be returned if the varialbe can not be found

Valor Retornado

Veja Também

  • Yaf_Request_Http::getQuery() - Fetch a query parameter
  • Yaf_Request_Http::getPost() - Retrieve POST variable
  • Yaf_Request_Http::getCookie() - Retrieve Cookie variable
  • Yaf_Request_Http::getRaw() - Retrieve Raw request body
  • Yaf_Request_Abstract::getServer() - Retrieve SERVER variable
  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter


Retrieve Cookie variable

  • « Yaf_Request_Http::get
  • Yaf_Request_Http::getFiles »
  • PHP Manual
  • Yaf_Request_Http
  • Retrieve Cookie variable

Yaf_Request_Http::getCookie

(Yaf >=1.0.0)

Yaf_Request_Http::getCookie — Retrieve Cookie variable

Descrição

public Yaf_Request_Http::getCookie ( string $name , string $default = ? ) : mixed

Retrieve Cookie variable

Parâmetros

name

the cookie name

default

if this parameter is provide, this will be returned if the cookie can not be found

Valor Retornado

Veja Também

  • Yaf_Request_Http::get() - Retrieve variable from client
  • Yaf_Request_Http::getQuery() - Fetch a query parameter
  • Yaf_Request_Http::getPost() - Retrieve POST variable
  • Yaf_Request_Http::getRaw() - Retrieve Raw request body
  • Yaf_Request_Abstract::getServer() - Retrieve SERVER variable
  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter


The getFiles purpose

  • « Yaf_Request_Http::getCookie
  • Yaf_Request_Http::getPost »
  • PHP Manual
  • Yaf_Request_Http
  • The getFiles purpose

Yaf_Request_Http::getFiles

(Yaf >=1.0.0)

Yaf_Request_Http::getFiles — The getFiles purpose

Descrição

public Yaf_Request_Http::getFiles ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retrieve POST variable

  • « Yaf_Request_Http::getFiles
  • Yaf_Request_Http::getQuery »
  • PHP Manual
  • Yaf_Request_Http
  • Retrieve POST variable

Yaf_Request_Http::getPost

(Yaf >=1.0.0)

Yaf_Request_Http::getPost — Retrieve POST variable

Descrição

public Yaf_Request_Http::getPost ( string $name , string $default = ? ) : mixed

Retrieve POST variable

Parâmetros

name

the variable name

default

if this parameter is provide, this will be returned if the varialbe can not be found

Valor Retornado

Veja Também

  • Yaf_Request_Http::get() - Retrieve variable from client
  • Yaf_Request_Http::getQuery() - Fetch a query parameter
  • Yaf_Request_Http::getCookie() - Retrieve Cookie variable
  • Yaf_Request_Http::getRaw() - Retrieve Raw request body
  • Yaf_Request_Abstract::getServer() - Retrieve SERVER variable
  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter


Fetch a query parameter

  • « Yaf_Request_Http::getPost
  • Yaf_Request_Http::getRaw »
  • PHP Manual
  • Yaf_Request_Http
  • Fetch a query parameter

Yaf_Request_Http::getQuery

(Yaf >=1.0.0)

Yaf_Request_Http::getQuery — Fetch a query parameter

Descrição

public Yaf_Request_Http::getQuery ( string $name , string $default = ? ) : mixed

Retrieve GET variable

Parâmetros

name

the variable name

default

if this parameter is provide, this will be returned if the variable can not be found

Valor Retornado

Veja Também

  • Yaf_Request_Http::get() - Retrieve variable from client
  • Yaf_Request_Http::getPost() - Retrieve POST variable
  • Yaf_Request_Http::getCookie() - Retrieve Cookie variable
  • Yaf_Request_Http::getRaw() - Retrieve Raw request body
  • Yaf_Request_Abstract::getServer() - Retrieve SERVER variable
  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter


Retrieve Raw request body

  • « Yaf_Request_Http::getQuery
  • Yaf_Request_Http::getRequest »
  • PHP Manual
  • Yaf_Request_Http
  • Retrieve Raw request body

Yaf_Request_Http::getRaw

(Yaf >=3.0.7)

Yaf_Request_Http::getRaw — Retrieve Raw request body

Descrição

public Yaf_Request_Http::getRaw ( ) : mixed

Retrieve Raw request body

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return string on success, FALSE on failure.

Veja Também

  • Yaf_Request_Http::get() - Retrieve variable from client
  • Yaf_Request_Http::getPost() - Retrieve POST variable
  • Yaf_Request_Http::getCookie() - Retrieve Cookie variable
  • Yaf_Request_Http::getQuery() - Fetch a query parameter
  • Yaf_Request_Abstract::getServer() - Retrieve SERVER variable
  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter


The getRequest purpose

  • « Yaf_Request_Http::getRaw
  • Yaf_Request_Http::isXmlHttpRequest »
  • PHP Manual
  • Yaf_Request_Http
  • The getRequest purpose

Yaf_Request_Http::getRequest

(Yaf >=1.0.0)

Yaf_Request_Http::getRequest — The getRequest purpose

Descrição

public Yaf_Request_Http::getRequest ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Determin if request is Ajax Request

  • « Yaf_Request_Http::getRequest
  • Yaf_Request_Simple »
  • PHP Manual
  • Yaf_Request_Http
  • Determin if request is Ajax Request

Yaf_Request_Http::isXmlHttpRequest

(Yaf >=1.0.0)

Yaf_Request_Http::isXmlHttpRequest — Determin if request is Ajax Request

Descrição

public Yaf_Request_Http::isXmlHttpRequest ( ) : bool

Check the request whether it is a Ajax Request.

Nota:

This method depends on the request header: HTTP_X_REQUESTED_WITH, some Javascript library doesn't set this header while doing Ajax request

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

boolean


The Yaf_Request_Simple class

(Yaf >=1.0.0)

Introdução

Yaf_Request_Simple is particularlly used for test puporse. ie. simulate some espacial request under CLI mode.

Sinopse da classe

Yaf_Request_Simple extends Yaf_Request_Abstract {
/* Constants */
const string SCHEME_HTTP = http ;
const string SCHEME_HTTPS = https ;
/* Propriedades */
/* Métodos */
public __construct ( string $method = ? , string $module = ? , string $controller = ? , string $action = ? , array $params = ? )
public get ( ) : void
public getCookie ( ) : void
public getFiles ( ) : void
public getPost ( ) : void
public getQuery ( ) : void
public getRequest ( ) : void
public isXmlHttpRequest ( ) : void
/* Métodos herdados */
public Yaf_Request_Abstract::clearParams ( ) : bool
public Yaf_Request_Abstract::getActionName ( ) : void
public Yaf_Request_Abstract::getBaseUri ( ) : void
public Yaf_Request_Abstract::getControllerName ( ) : void
public Yaf_Request_Abstract::getEnv ( string $name , string $default = ? ) : void
public Yaf_Request_Abstract::getException ( ) : void
public Yaf_Request_Abstract::getLanguage ( ) : void
public Yaf_Request_Abstract::getMethod ( ) : string
public Yaf_Request_Abstract::getModuleName ( ) : void
public Yaf_Request_Abstract::getParam ( string $name , string $default = ? ) : mixed
public Yaf_Request_Abstract::getParams ( ) : array
public Yaf_Request_Abstract::getRequestUri ( ) : void
public Yaf_Request_Abstract::getServer ( string $name , string $default = ? ) : void
public Yaf_Request_Abstract::isCli ( ) : bool
public Yaf_Request_Abstract::isDispatched ( ) : bool
public Yaf_Request_Abstract::isGet ( ) : bool
public Yaf_Request_Abstract::isHead ( ) : bool
public Yaf_Request_Abstract::isOptions ( ) : bool
public Yaf_Request_Abstract::isPost ( ) : bool
public Yaf_Request_Abstract::isPut ( ) : bool
public Yaf_Request_Abstract::isRouted ( ) : bool
public Yaf_Request_Abstract::isXmlHttpRequest ( ) : bool
public Yaf_Request_Abstract::setActionName ( string $action , bool $format_name = true ) : void
public Yaf_Request_Abstract::setBaseUri ( string $uir ) : bool
public Yaf_Request_Abstract::setControllerName ( string $controller , bool $format_name = true ) : void
public Yaf_Request_Abstract::setDispatched ( ) : void
public Yaf_Request_Abstract::setModuleName ( string $module , bool $format_name = true ) : void
public Yaf_Request_Abstract::setParam ( string $name , string $value = ? ) : bool
public Yaf_Request_Abstract::setRequestUri ( string $uir ) : void
public Yaf_Request_Abstract::setRouted ( string $flag = ? ) : void
}

Propriedades

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Constantes pré-definidas

Yaf_Request_Simple::SCHEME_HTTP

Yaf_Request_Simple::SCHEME_HTTPS

Índice

  • Yaf_Request_Simple::__construct — Constructor of Yaf_Request_Simple
  • Yaf_Request_Simple::get — The get purpose
  • Yaf_Request_Simple::getCookie — The getCookie purpose
  • Yaf_Request_Simple::getFiles — The getFiles purpose
  • Yaf_Request_Simple::getPost — The getPost purpose
  • Yaf_Request_Simple::getQuery — The getQuery purpose
  • Yaf_Request_Simple::getRequest — The getRequest purpose
  • Yaf_Request_Simple::isXmlHttpRequest — Determin if request is AJAX request


Constructor of Yaf_Request_Simple

  • « Yaf_Request_Simple
  • Yaf_Request_Simple::get »
  • PHP Manual
  • Yaf_Request_Simple
  • Constructor of Yaf_Request_Simple

Yaf_Request_Simple::__construct

(Yaf >=1.0.0)

Yaf_Request_Simple::__construct — Constructor of Yaf_Request_Simple

Descrição

public Yaf_Request_Simple::__construct ( string $method = ? , string $module = ? , string $controller = ? , string $action = ? , array $params = ? )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The get purpose

  • « Yaf_Request_Simple::__construct
  • Yaf_Request_Simple::getCookie »
  • PHP Manual
  • Yaf_Request_Simple
  • The get purpose

Yaf_Request_Simple::get

(Yaf >=1.0.0)

Yaf_Request_Simple::get — The get purpose

Descrição

public Yaf_Request_Simple::get ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getCookie purpose

  • « Yaf_Request_Simple::get
  • Yaf_Request_Simple::getFiles »
  • PHP Manual
  • Yaf_Request_Simple
  • The getCookie purpose

Yaf_Request_Simple::getCookie

(Yaf >=1.0.0)

Yaf_Request_Simple::getCookie — The getCookie purpose

Descrição

public Yaf_Request_Simple::getCookie ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getFiles purpose

  • « Yaf_Request_Simple::getCookie
  • Yaf_Request_Simple::getPost »
  • PHP Manual
  • Yaf_Request_Simple
  • The getFiles purpose

Yaf_Request_Simple::getFiles

(Yaf >=1.0.0)

Yaf_Request_Simple::getFiles — The getFiles purpose

Descrição

public Yaf_Request_Simple::getFiles ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getPost purpose

  • « Yaf_Request_Simple::getFiles
  • Yaf_Request_Simple::getQuery »
  • PHP Manual
  • Yaf_Request_Simple
  • The getPost purpose

Yaf_Request_Simple::getPost

(Yaf >=1.0.0)

Yaf_Request_Simple::getPost — The getPost purpose

Descrição

public Yaf_Request_Simple::getPost ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getQuery purpose

  • « Yaf_Request_Simple::getPost
  • Yaf_Request_Simple::getRequest »
  • PHP Manual
  • Yaf_Request_Simple
  • The getQuery purpose

Yaf_Request_Simple::getQuery

(Yaf >=1.0.0)

Yaf_Request_Simple::getQuery — The getQuery purpose

Descrição

public Yaf_Request_Simple::getQuery ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getRequest purpose

  • « Yaf_Request_Simple::getQuery
  • Yaf_Request_Simple::isXmlHttpRequest »
  • PHP Manual
  • Yaf_Request_Simple
  • The getRequest purpose

Yaf_Request_Simple::getRequest

(Yaf >=1.0.0)

Yaf_Request_Simple::getRequest — The getRequest purpose

Descrição

public Yaf_Request_Simple::getRequest ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Determin if request is AJAX request

  • « Yaf_Request_Simple::getRequest
  • Yaf_Response_Abstract »
  • PHP Manual
  • Yaf_Request_Simple
  • Determin if request is AJAX request

Yaf_Request_Simple::isXmlHttpRequest

(Yaf >=1.0.0)

Yaf_Request_Simple::isXmlHttpRequest — Determin if request is AJAX request

Descrição

public Yaf_Request_Simple::isXmlHttpRequest ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Always returns false for Yaf_Request_Simple

Veja Também

  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request
  • Yaf_Request_Http::isXmlHTTPRequest() - Determin if request is Ajax Request


The Yaf_Response_Abstract class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Response_Abstract {
/* Constants */
const string DEFAULT_BODY = "content" ;
/* Propriedades */
protected $_header ;
protected $_body ;
protected $_sendheader ;
/* Métodos */
public appendBody ( string $content , string $key = ? ) : bool
public clearBody ( string $key = ? ) : bool
public clearHeaders ( ) : void
public __construct ( )
public __destruct ( ) : void
public getBody ( string $key = ? ) : mixed
public getHeader ( ) : void
public prependBody ( string $content , string $key = ? ) : bool
public response ( ) : void
protected setAllHeaders ( ) : void
public setBody ( string $content , string $key = ? ) : bool
public setHeader ( string $name , string $value , bool $replace = ? ) : bool
public setRedirect ( string $url ) : bool
private __toString ( ) : string
}

Propriedades

_header

_body

_sendheader

Índice

  • Yaf_Response_Abstract::appendBody — Append to response body
  • Yaf_Response_Abstract::clearBody — Discard all exists response body
  • Yaf_Response_Abstract::clearHeaders — Discard all set headers
  • Yaf_Response_Abstract::__construct — The __construct purpose
  • Yaf_Response_Abstract::__destruct — The __destruct purpose
  • Yaf_Response_Abstract::getBody — Retrieve a exists content
  • Yaf_Response_Abstract::getHeader — The getHeader purpose
  • Yaf_Response_Abstract::prependBody — The prependBody purpose
  • Yaf_Response_Abstract::response — Send response
  • Yaf_Response_Abstract::setAllHeaders — The setAllHeaders purpose
  • Yaf_Response_Abstract::setBody — Set content to response
  • Yaf_Response_Abstract::setHeader — Set reponse header
  • Yaf_Response_Abstract::setRedirect — The setRedirect purpose
  • Yaf_Response_Abstract::__toString — Retrieve all bodys as string


Append to response body

  • « Yaf_Response_Abstract
  • Yaf_Response_Abstract::clearBody »
  • PHP Manual
  • Yaf_Response_Abstract
  • Append to response body

Yaf_Response_Abstract::appendBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::appendBody — Append to response body

Descrição

public Yaf_Response_Abstract::appendBody ( string $content , string $key = ? ) : bool

Append a content to a exists content block

Parâmetros

body

content string

key

the content key, you can set a content with a key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY will be used

Nota:

this parameter is introduced as of 2.2.0

Valor Retornado

bool

Exemplos

Exemplo #1 Yaf_Response_Abstract::appendBody()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("Hello")->prependBody(" World");

echo $response;
?>

O exemplo acima irá imprimir algo similar à:

Hello World

Veja Também

  • Yaf_Config_Ini

Veja Também

  • Yaf_Response_Abstract::getBody() - Retrieve a exists content
  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::prependBody() - The prependBody purpose
  • Yaf_Response_Abstract::clearBody() - Discard all exists response body


Discard all exists response body

  • « Yaf_Response_Abstract::appendBody
  • Yaf_Response_Abstract::clearHeaders »
  • PHP Manual
  • Yaf_Response_Abstract
  • Discard all exists response body

Yaf_Response_Abstract::clearBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::clearBody — Discard all exists response body

Descrição

public Yaf_Response_Abstract::clearBody ( string $key = ? ) : bool

Clear existsed content

Parâmetros

key

the content key, if you don't specific, then all contents will be cleared.

Nota:

this parameter is introduced as of 2.2.0

Valor Retornado

Veja Também

  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::appendBody() - Append to response body
  • Yaf_Response_Abstract::prependBody() - The prependBody purpose
  • Yaf_Response_Abstract::getBody() - Retrieve a exists content


Discard all set headers

  • « Yaf_Response_Abstract::clearBody
  • Yaf_Response_Abstract::__construct »
  • PHP Manual
  • Yaf_Response_Abstract
  • Discard all set headers

Yaf_Response_Abstract::clearHeaders

(Yaf >=1.0.0)

Yaf_Response_Abstract::clearHeaders — Discard all set headers

Descrição

public Yaf_Response_Abstract::clearHeaders ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • Yaf_Response_Abstract::getHeader() - The getHeader purpose
  • Yaf_Response_Abstract::setHeader() - Set reponse header


The __construct purpose

  • « Yaf_Response_Abstract::clearHeaders
  • Yaf_Response_Abstract::__destruct »
  • PHP Manual
  • Yaf_Response_Abstract
  • The __construct purpose

Yaf_Response_Abstract::__construct

(Yaf >=1.0.0)

Yaf_Response_Abstract::__construct — The __construct purpose

Descrição

public Yaf_Response_Abstract::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The __destruct purpose

  • « Yaf_Response_Abstract::__construct
  • Yaf_Response_Abstract::getBody »
  • PHP Manual
  • Yaf_Response_Abstract
  • The __destruct purpose

Yaf_Response_Abstract::__destruct

(Yaf >=1.0.0)

Yaf_Response_Abstract::__destruct — The __destruct purpose

Descrição

public Yaf_Response_Abstract::__destruct ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retrieve a exists content

  • « Yaf_Response_Abstract::__destruct
  • Yaf_Response_Abstract::getHeader »
  • PHP Manual
  • Yaf_Response_Abstract
  • Retrieve a exists content

Yaf_Response_Abstract::getBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::getBody — Retrieve a exists content

Descrição

public Yaf_Response_Abstract::getBody ( string $key = ? ) : mixed

Retrieve a exists content

Parâmetros

key

the content key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY will be used. if you pass in a null, then all contents will be returned as a array

Nota:

this parameter is introduced as of 2.2.0

Valor Retornado

Exemplos

Exemplo #1 Yaf_Response_Abstract::getBody()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("Hello")->setBody(" World", "footer");

var_dump($response->getBody()); //default
var_dump($response->getBody(Yaf_Response_Abstract::DEFAULT_BODY)); //same as above
var_dump($response->getBody("footer"));
var_dump($response->getBody(NULL)); //get all
?>

O exemplo acima irá imprimir algo similar à:

string(5) "Hello"
string(5) "Hello"
string(6) " World"
array(2) {
  ["content"]=>
  string(5) "Hello"
  ["footer"]=>
  string(6) " World"
}

Veja Também

  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::appendBody() - Append to response body
  • Yaf_Response_Abstract::prependBody() - The prependBody purpose
  • Yaf_Response_Abstract::clearBody() - Discard all exists response body


The getHeader purpose

  • « Yaf_Response_Abstract::getBody
  • Yaf_Response_Abstract::prependBody »
  • PHP Manual
  • Yaf_Response_Abstract
  • The getHeader purpose

Yaf_Response_Abstract::getHeader

(Yaf >=1.0.0)

Yaf_Response_Abstract::getHeader — The getHeader purpose

Descrição

public Yaf_Response_Abstract::getHeader ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • Yaf_Response_Abstract::setHeader() - Set reponse header
  • Yaf_Response_Abstract::cleanHeaders()


The prependBody purpose

  • « Yaf_Response_Abstract::getHeader
  • Yaf_Response_Abstract::response »
  • PHP Manual
  • Yaf_Response_Abstract
  • The prependBody purpose

Yaf_Response_Abstract::prependBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::prependBody — The prependBody purpose

Descrição

public Yaf_Response_Abstract::prependBody ( string $content , string $key = ? ) : bool

prepend a content to a exists content block

Parâmetros

body

content string

key

the content key, you can set a content with a key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY will be used

Nota:

this parameter is introduced as of 2.2.0

Valor Retornado

bool

Exemplos

Exemplo #1 Yaf_Response_Abstract::prependBody()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("World")->prependBody("Hello ");

echo $response;
?>

O exemplo acima irá imprimir algo similar à:

Hello World

Veja Também

  • Yaf_Response_Abstract::getBody() - Retrieve a exists content
  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::appendBody() - Append to response body
  • Yaf_Response_Abstract::clearBody() - Discard all exists response body


Send response

  • « Yaf_Response_Abstract::prependBody
  • Yaf_Response_Abstract::setAllHeaders »
  • PHP Manual
  • Yaf_Response_Abstract
  • Send response

Yaf_Response_Abstract::response

(Yaf >=1.0.0)

Yaf_Response_Abstract::response — Send response

Descrição

public Yaf_Response_Abstract::response ( ) : void

send response

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 Yaf_Response_Abstract::response()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("Hello")->setBody(" World", "footer");

$response->response();
?>

O exemplo acima irá imprimir algo similar à:

Hello World

Veja Também

  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::clearBody() - Discard all exists response body


The setAllHeaders purpose

  • « Yaf_Response_Abstract::response
  • Yaf_Response_Abstract::setBody »
  • PHP Manual
  • Yaf_Response_Abstract
  • The setAllHeaders purpose

Yaf_Response_Abstract::setAllHeaders

(Yaf >=1.0.0)

Yaf_Response_Abstract::setAllHeaders — The setAllHeaders purpose

Descrição

protected Yaf_Response_Abstract::setAllHeaders ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Set content to response

  • « Yaf_Response_Abstract::setAllHeaders
  • Yaf_Response_Abstract::setHeader »
  • PHP Manual
  • Yaf_Response_Abstract
  • Set content to response

Yaf_Response_Abstract::setBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::setBody — Set content to response

Descrição

public Yaf_Response_Abstract::setBody ( string $content , string $key = ? ) : bool

Set content to response

Parâmetros

body

content string

key

the content key, you can set a content with a key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY will be used

Nota:

this parameter is introduced as of 2.2.0

Valor Retornado

Exemplos

Exemplo #1 Yaf_Response_Abstract::setBody()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("Hello")->setBody(" World", "footer");

print_r($response);
echo $response;
?>

O exemplo acima irá imprimir algo similar à:

Yaf_Response_Http Object
(
    [_header:protected] => Array
        (
        )

    [_body:protected] => Array
        (
            [content] => Hello
            [footer] =>  World
        )

    [_sendheader:protected] => 1
    [_response_code:protected] => 200
)
Hello World

Veja Também

  • Yaf_Response_Abstract::getBody() - Retrieve a exists content
  • Yaf_Response_Abstract::appendBody() - Append to response body
  • Yaf_Response_Abstract::prependBody() - The prependBody purpose
  • Yaf_Response_Abstract::clearBody() - Discard all exists response body


Set reponse header

  • « Yaf_Response_Abstract::setBody
  • Yaf_Response_Abstract::setRedirect »
  • PHP Manual
  • Yaf_Response_Abstract
  • Set reponse header

Yaf_Response_Abstract::setHeader

(Yaf >=1.0.0)

Yaf_Response_Abstract::setHeader — Set reponse header

Descrição

public Yaf_Response_Abstract::setHeader ( string $name , string $value , bool $replace = ? ) : bool

Used to send a HTTP header

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • Yaf_Response_Abstract::getHeader() - The getHeader purpose
  • Yaf_Response_Abstract::cleanHeaders()


The setRedirect purpose

  • « Yaf_Response_Abstract::setHeader
  • Yaf_Response_Abstract::__toString »
  • PHP Manual
  • Yaf_Response_Abstract
  • The setRedirect purpose

Yaf_Response_Abstract::setRedirect

(Yaf >=1.0.0)

Yaf_Response_Abstract::setRedirect — The setRedirect purpose

Descrição

public Yaf_Response_Abstract::setRedirect ( string $url ) : bool

Parâmetros

url

address redircted to

Valor Retornado


Retrieve all bodys as string

  • « Yaf_Response_Abstract::setRedirect
  • Yaf_Route_Interface »
  • PHP Manual
  • Yaf_Response_Abstract
  • Retrieve all bodys as string

Yaf_Response_Abstract::__toString

(Yaf >=1.0.0)

Yaf_Response_Abstract::__toString — Retrieve all bodys as string

Descrição

private Yaf_Response_Abstract::__toString ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Yaf_Route_Interface class

(Yaf >=1.0.0)

Introdução

Yaf_Route_Interface used for developer defined their custom route.

Sinopse da classe

Yaf_Route_Interface {
/* Métodos */
abstract public assemble ( array $info , array $query = ? ) : string
abstract public route ( Yaf_Request_Abstract $request ) : bool
}

Índice

  • Yaf_Route_Interface::assemble — Assemble a request
  • Yaf_Route_Interface::route — Route a request


Assemble a request

  • « Yaf_Route_Interface
  • Yaf_Route_Interface::route »
  • PHP Manual
  • Yaf_Route_Interface
  • Assemble a request

Yaf_Route_Interface::assemble

(Yaf >=2.3.0)

Yaf_Route_Interface::assemble — Assemble a request

Descrição

abstract public Yaf_Route_Interface::assemble ( array $info , array $query = ? ) : string

this method returns a url according to the argument info, and append query strings to the url according to the argument query.

a route should implement this method according to its own route rules, and do a reverse progress.

Parâmetros

info

query

Valor Retornado


Route a request

  • « Yaf_Route_Interface::assemble
  • Yaf_Route_Map »
  • PHP Manual
  • Yaf_Route_Interface
  • Route a request

Yaf_Route_Interface::route

(Yaf >=1.0.0)

Yaf_Route_Interface::route — Route a request

Descrição

abstract public Yaf_Route_Interface::route ( Yaf_Request_Abstract $request ) : bool

Yaf_Route_Interface::route() is the only method that a custom route should implement.

Nota:

since of 2.3.0, there is another method should also be implemented, see Yaf_Route_Interface::assemble().

if this method return true, then the route process will be end. otherwise, Yaf_Router will call next route in the route stack to route request.

This method would set the route result to the parameter request, by
calling Yaf_Request_Abstract::setControllerName(),
Yaf_Request_Abstract::setActionName() and
Yaf_Request_Abstract::setModuleName().

This method should also call Yaf_Request_Abstract::setRouted() to make the request routed at last.

Parâmetros

request

A Yaf_Request_Abstract instance.

Valor Retornado


The Yaf_Route_Map class

(Yaf >=1.0.0)

Introdução

Yaf_Route_Map is a built-in route, it simply convert a URI endpoint (that part of the URI which comes after the base URI: see Yaf_Request_Abstract::setBaseUri()) to a controller name or action name(depends on the parameter passed to Yaf_Route_Map::__construct()) in following rule: A => controller A. A/B/C => controller A_B_C. A/B/C/D/E => controller A_B_C_D_E.

If the second parameter of Yaf_Route_Map::__construct() is specified, then only the part before delimiter of URI will used to routing, the part after it is used to routing request parameters (see the example section of Yaf_Route_Map::__construct()).

Sinopse da classe

Yaf_Route_Map implements Yaf_Route_Interface {
/* Propriedades */
protected $_ctl_router ;
protected $_delimiter ;
/* Métodos */
public assemble ( array $info , array $query = ? ) : string
public __construct ( string $controller_prefer = false , string $delimiter = "" )
public route ( Yaf_Request_Abstract $request ) : bool
}

Propriedades

_ctl_router

_delimiter

Índice

  • Yaf_Route_Map::assemble — Assemble a url
  • Yaf_Route_Map::__construct — The __construct purpose
  • Yaf_Route_Map::route — The route purpose


Assemble a url

  • « Yaf_Route_Map
  • Yaf_Route_Map::__construct »
  • PHP Manual
  • Yaf_Route_Map
  • Assemble a url

Yaf_Route_Map::assemble

(Yaf >=2.3.0)

Yaf_Route_Map::assemble — Assemble a url

Descrição

public Yaf_Route_Map::assemble ( array $info , array $query = ? ) : string

Assemble a url.

Parâmetros

info

query

Exemplos

Exemplo #1 Yaf_Route_Map::assemble()example

<?php

$router = new Yaf_Router();

$route  = new Yaf_Route_Map();

$router->addRoute("map", $route);

var_dump($router->getRoute('map')->assemble(
                        array(
                                ':c' => 'foo_bar'
                        ),
                        array(
                                'tkey1' => 'tval1',
                                'tkey2' => 'tval2'
                        )
                   )
);

$route = new Yaf_Route_Map(true, '_');
$router->addRoute("map", $route);

var_dump($router->getRoute('map')->assemble(
                        array(
                                ':a' => 'foo_bar'
                        ),
                        array(
                                'tkey1' => 'tval1',
                                'tkey2' => 'tval2'
                        )
                   )
);

O exemplo acima irá imprimir algo similar à:

string(%d) "/foo/bar?tkey1=tval1&tkey2=tval2"
string(%d) "/foo/bar/_/tkey1/tval1/tkey2/tval2"

Valor Retornado


The __construct purpose

  • « Yaf_Route_Map::assemble
  • Yaf_Route_Map::route »
  • PHP Manual
  • Yaf_Route_Map
  • The __construct purpose

Yaf_Route_Map::__construct

(Yaf >=1.0.0)

Yaf_Route_Map::__construct — The __construct purpose

Descrição

public Yaf_Route_Map::__construct ( string $controller_prefer = false , string $delimiter = "" )

Parâmetros

controller_prefer

Whether the result should considering as controller or action

delimiter

Valor Retornado

Exemplos

Exemplo #1 Yaf_Route_Map()example

<?php
   /**
    * Add a map route to Yaf_Router route stack
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Map());
?>

O exemplo acima irá imprimir algo similar à:

/* for http://yourdomain.com/product/foo/bar
 * route will result in following values:
 */
array(
  "controller" => "product_foo_bar",
)

Exemplo #2 Yaf_Route_Map()example

<?php
   /**
    * Add a map route to Yaf_Router route stack
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Map(true, "_"));
?>

O exemplo acima irá imprimir algo similar à:

/* for http://yourdomain.com/user/list/_/foo/22
 * route will result in following values:
 */
array(
    "action" => "user_list",
)

/**
 * and request parameters:
 */
array(
  "foo"   => 22,
)

Exemplo #3 Yaf_Route_Map()example

<?php
   /**
    * Add a map route to Yaf_Router route stack by calling addconfig
    */
    $config = array(
        "name" => array(
           "type"  => "map",         //Yaf_Route_Map route
           "controllerPrefer" => FALSE,
           "delimiter"        => "#!",
           ),
    );
    Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
        new Yaf_Config_Simple($config));
?>

Veja Também

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Rewrite


The route purpose

  • « Yaf_Route_Map::__construct
  • Yaf_Route_Regex »
  • PHP Manual
  • Yaf_Route_Map
  • The route purpose

Yaf_Route_Map::route

(Yaf >=1.0.0)

Yaf_Route_Map::route — The route purpose

Descrição

public Yaf_Route_Map::route ( Yaf_Request_Abstract $request ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

request

Valor Retornado


The Yaf_Route_Regex class

(Yaf >=1.0.0)

Introdução

Yaf_Route_Regex is the most flexible route among the Yaf built-in routes.

Sinopse da classe

Yaf_Route_Regex extends Yaf_Route_Interface implements Yaf_Route_Interface {
/* Propriedades */
protected $_route ;
protected $_default ;
protected $_maps ;
protected $_verify ;
/* Métodos */
public assemble ( array $info , array $query = ? ) : string
public __construct ( string $match , array $route , array $map = ? , array $verify = ? , string $reverse = ? )
public route ( Yaf_Request_Abstract $request ) : bool
/* Métodos herdados */
abstract public Yaf_Route_Interface::assemble ( array $info , array $query = ? ) : string
abstract public Yaf_Route_Interface::route ( Yaf_Request_Abstract $request ) : bool
}

Propriedades

_route

_default

_maps

_verify

Índice

  • Yaf_Route_Regex::assemble — Assemble a url
  • Yaf_Route_Regex::__construct — Yaf_Route_Regex constructor
  • Yaf_Route_Regex::route — The route purpose


Assemble a url

  • « Yaf_Route_Regex
  • Yaf_Route_Regex::__construct »
  • PHP Manual
  • Yaf_Route_Regex
  • Assemble a url

Yaf_Route_Regex::assemble

(Yaf >=2.3.0)

Yaf_Route_Regex::assemble — Assemble a url

Descrição

public Yaf_Route_Regex::assemble ( array $info , array $query = ? ) : string

Assemble a url.

Parâmetros

info

query

Exemplos

Exemplo #1 Yaf_Route_Regex::assemble()example

<?php

$router = new Yaf_Router();

$route  = new Yaf_Route_Regex(
            "#^/product/([^/]+)/([^/])+#",
            array(
                'controller' => "product",  //route to product controller,
                ),
            array(),
            array(),
            '/:m/:c/:a'
        );

$router->addRoute("regex", $route);

var_dump($router->getRoute('regex')->assemble(
            array(
                ':m' => 'module',
                ':c' => 'controller',
                ':a' => 'action'
                ),
            array(
                'tkey1' => 'tval1',
                'tkey2' =>
                'tval2'
                )
            )
        );

O exemplo acima irá imprimir algo similar à:

string(49) "/module/controller/action?tkey1=tval1&tkey2=tval2"

Valor Retornado


Yaf_Route_Regex constructor

  • « Yaf_Route_Regex::assemble
  • Yaf_Route_Regex::route »
  • PHP Manual
  • Yaf_Route_Regex
  • Yaf_Route_Regex constructor

Yaf_Route_Regex::__construct

(Yaf >=1.0.0)

Yaf_Route_Regex::__construct — Yaf_Route_Regex constructor

Descrição

public Yaf_Route_Regex::__construct ( string $match , array $route , array $map = ? , array $verify = ? , string $reverse = ? )

Parâmetros

match

A complete Regex pattern, will be used to match a request uri, if doesn't matched, Yaf_Route_Regex will return false.

route

When the match pattern matches the request uri, Yaf_Route_Regex will use this to decide which m/c/a to routed.

either of m/c/a in this array is optianl, if you don't assgian a specific value, it will be routed to default.

map

A array to assign name to the captrues in the match result.

verify

reverse

a string, used to assemble url, see Yaf_Route_Regex::assemble().

Nota:

this parameter is introduced in 2.3.0

Valor Retornado

Exemplos

Exemplo #1 Yaf_Route_Regex()example

<?php
   /**
    * Add a regex route to Yaf_Router route stack
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Regex(
           "#^/product/([^/]+)/([^/])+#", //match request uri leading "/product"
           array(
               'controller' => "product",  //route to product controller,
           ),
           array(
              1 => "name",   // now you can call $request->getParam("name")
              2 => "id",     // to get the first captrue in the match pattern.
           )
        )
    );
?>

Exemplo #2 Yaf_Route_Regex(as of 2.3.0)()example

<?php
   /**
    * Use match result as MVC name
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Regex(
           "#^/product/([^/]+)/([^/])+#i", //match request uri leading "/product"
           array(
              'controller' => ":name", // route to :name, which is $1 in the match result as controller name
           ),
           array(
              1 => "name",   // now you can call $request->getParam("name")
              2 => "id",     // to get the first captrue in the match pattern.
           )
        )
    );
?>

Exemplo #3 Yaf_Route_Regex and named capture ground(as of 2.3.0)()example

<?php
   /**
    * Use match result as MVC name
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Regex(
           "#^/product/(?<name>[^/]+)/([^/])+#i", //match request uri leading "/product"
           array(
           'controller' => ":name", // route to :name,
                                    // which is named capture group 'name' in the match result as controller name
           ),
           array(
              2 => "id",     // to get the first captrue in the match pattern.
           )
        )
    );
?>

Exemplo #4 Yaf_Route_Regex()example

<?php
   /**
    * Add a regex route to Yaf_Router route stack by calling addconfig
    */
    $config = array(
        "name" => array(
           "type"  => "regex",          //Yaf_Route_Regex route
           "match" => "#(.*)#",         //match arbitrary request uri
           "route" => array(
               'controller' => "product",  //route to product controller,
               'action'     => "dummy",    //route to dummy action
           ),
           "map" => array(
              1 => "uri",   // now you can call $request->getParam("uri")
           ),
        ),
    );
    Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
        new Yaf_Config_Simple($config));
?>

Veja Também

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Router::addConfig() - Add config-defined routes into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Rewrite
  • Yaf_Route_Map


The route purpose

  • « Yaf_Route_Regex::__construct
  • Yaf_Route_Rewrite »
  • PHP Manual
  • Yaf_Route_Regex
  • The route purpose

Yaf_Route_Regex::route

(Yaf >=1.0.0)

Yaf_Route_Regex::route — The route purpose

Descrição

public Yaf_Route_Regex::route ( Yaf_Request_Abstract $request ) : bool

Route a incoming request.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

request

Valor Retornado

If the pattern given by the first parameter of Yaf_Route_Regex::_construct() matche the request uri, return true, otherwise return false.


The Yaf_Route_Rewrite class

(Yaf >=1.0.0)

Introdução

For usage, please see the example section of Yaf_Route_Rewrite::__construct()

Sinopse da classe

Yaf_Route_Rewrite extends Yaf_Route_Interface implements Yaf_Route_Interface {
/* Propriedades */
protected $_route ;
protected $_default ;
protected $_verify ;
/* Métodos */
public assemble ( array $info , array $query = ? ) : string
public __construct ( string $match , array $route , array $verify = ? )
public route ( Yaf_Request_Abstract $request ) : bool
/* Métodos herdados */
abstract public Yaf_Route_Interface::assemble ( array $info , array $query = ? ) : string
abstract public Yaf_Route_Interface::route ( Yaf_Request_Abstract $request ) : bool
}

Propriedades

_route

_default

_verify

Índice

  • Yaf_Route_Rewrite::assemble — Assemble a url
  • Yaf_Route_Rewrite::__construct — Yaf_Route_Rewrite constructor
  • Yaf_Route_Rewrite::route — The route purpose


Assemble a url

  • « Yaf_Route_Rewrite
  • Yaf_Route_Rewrite::__construct »
  • PHP Manual
  • Yaf_Route_Rewrite
  • Assemble a url

Yaf_Route_Rewrite::assemble

(Yaf >=2.3.0)

Yaf_Route_Rewrite::assemble — Assemble a url

Descrição

public Yaf_Route_Rewrite::assemble ( array $info , array $query = ? ) : string

Assemble a url.

Parâmetros

info

query

Exemplos

Exemplo #1 Yaf_Route_Rewrite::assemble()example

router = new Yaf_Router();

$route  = new Yaf_Route_Rewrite(
                "/product/:name/:id/*",
                array(
                        'controller' => "product",
                ),
                array()
);

$router->addRoute("rewrite", $route);

var_dump($router->getRoute('rewrite')->assemble(
                        array(
                                ':name' => 'foo',
                                ':id' => 'bar',
                                ':tmpkey1' => 'tmpval1'
                        ),
                        array(
                                'tkey1' => 'tval1',
                                'tkey2' => 'tval2'
                             )
                        )
);

O exemplo acima irá imprimir algo similar à:

string(57) "/product/foo/bar/tmpkey1/tmpval1/?tkey1=tval1&tkey2=tval2"

Valor Retornado


Yaf_Route_Rewrite constructor

  • « Yaf_Route_Rewrite::assemble
  • Yaf_Route_Rewrite::route »
  • PHP Manual
  • Yaf_Route_Rewrite
  • Yaf_Route_Rewrite constructor

Yaf_Route_Rewrite::__construct

(Yaf >=1.0.0)

Yaf_Route_Rewrite::__construct — Yaf_Route_Rewrite constructor

Descrição

public Yaf_Route_Rewrite::__construct ( string $match , array $route , array $verify = ? )

Parâmetros

match

A pattern, will be used to match a request uri, if it doesn't match, Yaf_Route_Rewrite will return false.

You can use :name style to name segments matched, and use * to match the rest of the URL segments.

route

When the match pattern matches the request uri, Yaf_Route_Rewrite will use this to decide which module/controller/action is the destination.

Either of module/controller/action in this array is optional, if you don't assign a specific value, it will be routed to default.

verify

Valor Retornado

Exemplos

Exemplo #1 Yaf_Route_Rewrite()example

<?php
   /**
    * Add a rewrite route to Yaf_Router route stack
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_rewrite(
           "/product/:name/:id/*", //match request uri leading "/product"
           array(
               'controller' => "product",  //route to product controller,
           ),
        )
    );
?>

O exemplo acima irá imprimir algo similar à:

/* for http://yourdomain.com/product/foo/22/foo/bar
 * route will result in following values:
 */
array(
  "controller" => "product",
  "module"     => "index", //(default)
  "action"     => "index", //(default)
)

/**
 * and request parameters:
 */
array(
  "name" => "foo",
  "id"   => 22,
  "foo"  => bar
)

Exemplo #2 Yaf_Route_Rewrite()example

<?php
   /**
    * Add a rewrite route to Yaf_Router route stack by calling addconfig
    */
    $config = array(
        "name" => array(
           "type"  => "rewrite",        //Yaf_Route_Rewrite route
           "match" => "/user-list/:id", //match only /user/list/?/
           "route" => array(
               'controller' => "user",  //route to user controller,
               'action'     => "list",  //route to list action
           ),
        ),
    );
    Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
        new Yaf_Config_Simple($config));
?>

O exemplo acima irá imprimir algo similar à:

/* for http://yourdomain.com/user-list/22
 * route will result in following values:
 */
array(
  "controller" => "user",
  "action"     => "list",
  "module"     => "index", //(default)
)

/**
 * and request parameters:
 */
array(
  "id"   => 22,
)

Exemplo #3 Yaf_Route_Rewrite(as of 2.3.0)()example

<?php
   /**
    * Add a rewrite route use match result as m/c/a name
    */
    $config = array(
        "name" => array(
           "type"  => "rewrite",
           "match" => "/user-list/:a/:id", //match only /user-list/*
           "route" => array(
               'controller' => "user",   //route to user controller,
               'action'     => ":a",     //route to :a action
           ),
        ),
    );
    Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
        new Yaf_Config_Simple($config));
?>

O exemplo acima irá imprimir algo similar à:

/* for http://yourdomain.com/user-list/list/22
 * route will result in following values:
 */
array(
  "controller" => "user",
  "action"     => "list",
  "module"     => "index", //(default)
)

/**
 * and request parameters:
 */
array(
  "id"   => 22,
)

Veja Também

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Router::addConfig() - Add config-defined routes into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Map


The route purpose

  • « Yaf_Route_Rewrite::__construct
  • Yaf_Router »
  • PHP Manual
  • Yaf_Route_Rewrite
  • The route purpose

Yaf_Route_Rewrite::route

(Yaf >=1.0.0)

Yaf_Route_Rewrite::route — The route purpose

Descrição

public Yaf_Route_Rewrite::route ( Yaf_Request_Abstract $request ) : bool

Parâmetros

request

Valor Retornado


The Yaf_Router class

(Yaf >=1.0.0)

Introdução

Yaf_Router is the standard framework router. Routing is the process of taking a URI endpoint (that part of the URI which comes after the base URI: see Yaf_Request_Abstract::setBaseUri()) and decomposing it into parameters to determine which module, controller, and action of that controller should receive the request. This values of the module, controller, action and other parameters are packaged into a Yaf_Request_Abstract object which is then processed by Yaf_Dispatcher. Routing occurs only once: when the request is initially received and before the first controller is dispatched. Yaf_Router is designed to allow for mod_rewrite-like functionality using pure PHP structures. It is very loosely based on Ruby on Rails routing and does not require any prior knowledge of webserver URL rewriting. It is designed to work with a single Apache mod_rewrite rule (one of):

Exemplo #1 Rewrite rule for Apache

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css|html)$ index.php
or (preferred):

Exemplo #2 Rewrite rule for Apache

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
If using Lighttpd, the following rewrite rule is valid:

Exemplo #3 Rewrite rule for Lighttpd

url.rewrite-once = (
  ".*\?(.*)$" => "/index.php?$1",
  ".*\.(js|ico|gif|jpg|png|css|html)$" => "$0",
  "" => "/index.php"
)
If using Nginx, use the following rewrite rule:

Exemplo #4 Rewrite rule for Nginx

server {
  listen ****;
  server_name  yourdomain.com;
  root   document_root;
  index  index.php index.html;

  if (!-e $request_filename) {
    rewrite ^/(.*)  /index.php/$1 last;
  }
}

Default route

Yaf_Router comes preconfigured with a default route Yaf_Route_Static, which will match URIs in the shape of controller/action. Additionally, a module name may be specified as the first path element, allowing URIs of the form module/controller/action. Finally, it will also match any additional parameters appended to the URI by default - controller/action/var1/value1/var2/value2.

Nota:

Module name must be defined in config, considering application.module="Index,Foo,Bar", in this case, only index, foo and bar can be considered as a module name. if doesn't config, there is only one module named "Index".

Some examples of how such routes are matched:

Exemplo #5 Yaf_Route_Static(default route)example

// Assuming the following configure:
$conf = array(
   "application" => array(
      "modules" => "Index,Blog",
   ),
);

Controller only:
http://example/news
    controller == news
Action only(when defined yaf.action_prefer=1 in php.ini)
    action  == news

Invalid module maps to controller name:
http://example/foo
    controller == foo

Module + controller:
http://example/blog/archive
    module     == blog
    controller == archive

Module + controller + action:
http://example/blog/archive/list
    module     == blog
    controller == archive
    action     == list

Module + controller + action + params:
http://example/blog/archive/list/sort/alpha/date/desc
    module     == blog
    controller == archive
    action     == list
    sort       == alpha
    date       == desc

Sinopse da classe

Yaf_Router {
/* Propriedades */
protected $_routes ;
protected $_current ;
/* Métodos */
public addConfig ( Yaf_Config_Abstract $config ) : bool
public addRoute ( string $name , Yaf_Route_Abstract $route ) : bool
public __construct ( )
public getCurrentRoute ( ) : string
public getRoute ( string $name ) : Yaf_Route_Interface
public getRoutes ( ) : mixed
public route ( Yaf_Request_Abstract $request ) : bool
}

Propriedades

_routes

registered routes stack

_current

after routing phase, this indicated the name of which route is used to route current request. you can get this name by Yaf_Router::getCurrentRoute().

Índice

  • Yaf_Router::addConfig — Add config-defined routes into Router
  • Yaf_Router::addRoute — Add new Route into Router
  • Yaf_Router::__construct — Yaf_Router constructor
  • Yaf_Router::getCurrentRoute — Get the effective route name
  • Yaf_Router::getRoute — Retrieve a route by name
  • Yaf_Router::getRoutes — Retrieve registered routes
  • Yaf_Router::route — The route purpose


Add config-defined routes into Router

  • « Yaf_Router
  • Yaf_Router::addRoute »
  • PHP Manual
  • Yaf_Router
  • Add config-defined routes into Router

Yaf_Router::addConfig

(Yaf >=1.0.0)

Yaf_Router::addConfig — Add config-defined routes into Router

Descrição

public Yaf_Router::addConfig ( Yaf_Config_Abstract $config ) : bool

Add routes defined by configs into Yaf_Router's route stack

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An Yaf_Config_Abstract instance, which should contains one or more valid route configs

Exemplos

Exemplo #1 application.ini()example

;the order is very important, the prior one will be called first

;a rewrite route match request /product/*/*
routes.route_name.type="rewrite"
routes.route_name.match="/product/:name/:value"
routes.route_name.route.controller=product
routes.route_name.route.action=info

;a regex route match request /list/*/*
routes.route_name1.type="regex"
routes.route_name1.match="#^list/([^/]*)/([^/]*)#"
routes.route_name1.route.controller=Index
routes.route_name1.route.action=action
routes.route_name1.map.1=name
routes.route_name1.map.2=value

;a simple route match /**?c=controller&a=action&m=module
routes.route_name2.type="simple"
routes.route_name2.controller=c
routes.route_name2.module=m
routes.route_name2.action=a

;a simple router match /**?r=PATH_INFO
routes.route_name3.type="supervar"
routes.route_name3.varname=r

;a map route match any request to controller
routes.route_name4.type="map"
routes.route_name4.controllerPrefer=TRUE
routes.route_namer.delimiter="#!"

Exemplo #2 Yaf_Dispatcher::autoConfig()example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
    public function _initConfig() {
        $config = Yaf_Application::app()->getConfig();
        Yaf_Registry::set("config", $config);
    }

    public function _initRoute(Yaf_Dispatcher $dispatcher) {
        $router = $dispatcher->getRouter();
        /**
         * we can add some pre-defined routes in application.ini
         */
        $router->addConfig(Yaf_Registry::get("config")->routes);
    }
?>

Veja Também

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Rewrite
  • Yaf_Route_Map


Add new Route into Router

  • « Yaf_Router::addConfig
  • Yaf_Router::__construct »
  • PHP Manual
  • Yaf_Router
  • Add new Route into Router

Yaf_Router::addRoute

(Yaf >=1.0.0)

Yaf_Router::addRoute — Add new Route into Router

Descrição

public Yaf_Router::addRoute ( string $name , Yaf_Route_Abstract $route ) : bool

defaultly, Yaf_Router using a Yaf_Route_Static as its defualt route. you can add new routes into router's route stack by calling this method.

the newer route will be called before the older(route stack), and if the newer router return true, the router process will be end. otherwise, the older one will be called.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Exemplos

Exemplo #1 Yaf_Dispatcher::autoRender()example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
    public function _initConfig() {
        $config = Yaf_Application::app()->getConfig();
        Yaf_Registry::set("config", $config);
    }

    public function _initRoute(Yaf_Dispatcher $dispatcher) {
        $router = $dispatcher->getRouter();
        /**
         * we can add some pre-defined routes in application.ini
         */
        $router->addConfig(Yaf_Registry::get("config")->routes);
        /**
         * add a Rewrite route, then for a request uri:
         * http://***/product/list/22/foo
         * will be matched by this route, and result:
         *
         *  [module] =>
         *  [controller] => product
         *  [action] => info
         *  [method] => GET
         *  [params:protected] => Array
         *      (
         *          [id] => 22
         *          [name] => foo
         *      )
         *
         */
        $route  = new Yaf_Route_Rewrite(
            "/product/list/:id/:name",
            array(
                "controller" => "product",
                "action"     => "info",
            )
        );

        $router->addRoute('dummy', $route);
    }
?>

Veja Também

  • Yaf_Router::addConfig() - Add config-defined routes into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Rewrite
  • Yaf_Route_Map


Yaf_Router constructor

  • « Yaf_Router::addRoute
  • Yaf_Router::getCurrentRoute »
  • PHP Manual
  • Yaf_Router
  • Yaf_Router constructor

Yaf_Router::__construct

(Yaf >=1.0.0)

Yaf_Router::__construct — Yaf_Router constructor

Descrição

public Yaf_Router::__construct ( )

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get the effective route name

  • « Yaf_Router::__construct
  • Yaf_Router::getRoute »
  • PHP Manual
  • Yaf_Router
  • Get the effective route name

Yaf_Router::getCurrentRoute

(Yaf >=1.0.0)

Yaf_Router::getCurrentRoute — Get the effective route name

Descrição

public Yaf_Router::getCurrentRoute ( ) : string

Get the name of the route which is effective in the route process.

Nota:

You should call this method after the route process finished, since before that, this method will always return null.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

String, the name of the effective route.

Exemplos

Exemplo #1 Register some routes in Bootstrap

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
    public function _initConfig() {
        $config = Yaf_Application::app()->getConfig();
        Yaf_Registry::set("config", $config);
    }

    public function _initRoute(Yaf_Dispatcher $dispatcher) {
        $router = $dispatcher->getRouter();
        $rewrite_route  = new Yaf_Route_Rewrite(
            "/product/list/:page",
            array(
                "controller" => "product",
                "action"     => "list",
            )
        );

        $regex_route  = new Yaf_Route_Rewrite(
            "#^/product/info/(\d+)",
            array(
                "controller" => "product",
                "action"     => "info",
            )
        );

        $router->addRoute('rewrite', $rewrite_route)->addRoute('regex', $regex_route);
    }

    /**
     * register plugin
     */
    public function __initPlugins(Yaf_Dispatcher $dispatcher) {
        $dispatcher->registerPlugin(new DummyPlugin());
    }
?>

Exemplo #2 plugin Dummy.php (under application.directory/plugins)

<?php
class DummyPlugin extends Yaf_Plugin_Abstract {

    public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
         var_dump(Yaf_Dispatcher::getInstance()->getRouter()->getCurrentRoute());
    }
?>
?>

O exemplo acima irá imprimir algo similar à:

/* for http://yourdomain.com/product/list/1
 * DummyPlugin will output:
 */
string(7) "rewrite"

/* for http://yourdomain.com/product/info/34
 * DummyPlugin will output:
 */
string(5) "regex"

/* for other request URI
 * DummyPlugin will output:
 */
string(8) "_default"

Veja Também

  • Yaf_Bootstrap_Abstract
  • Yaf_Plugin_Abstract
  • Yaf_Router::addRoute() - Add new Route into Router


Retrieve a route by name

  • « Yaf_Router::getCurrentRoute
  • Yaf_Router::getRoutes »
  • PHP Manual
  • Yaf_Router
  • Retrieve a route by name

Yaf_Router::getRoute

(Yaf >=1.0.0)

Yaf_Router::getRoute — Retrieve a route by name

Descrição

public Yaf_Router::getRoute ( string $name ) : Yaf_Route_Interface

Retrieve a route by name, see also Yaf_Router::getCurrentRoute()

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • Yaf_Bootstrap_Abstract
  • Yaf_Plugin_Abstract
  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Router::getCurrentRoute() - Get the effective route name


Retrieve registered routes

  • « Yaf_Router::getRoute
  • Yaf_Router::route »
  • PHP Manual
  • Yaf_Router
  • Retrieve registered routes

Yaf_Router::getRoutes

(Yaf >=1.0.0)

Yaf_Router::getRoutes — Retrieve registered routes

Descrição

public Yaf_Router::getRoutes ( ) : mixed

Retrieve registered routes

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The route purpose

  • « Yaf_Router::getRoutes
  • Yaf_Route_Simple »
  • PHP Manual
  • Yaf_Router
  • The route purpose

Yaf_Router::route

(Yaf >=1.0.0)

Yaf_Router::route — The route purpose

Descrição

public Yaf_Router::route ( Yaf_Request_Abstract $request ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Yaf_Route_Simple class

(Yaf >=1.0.0)

Introdução

Yaf_Route_Simple will match the query string, and find the route info.

all you need to do is tell Yaf_Route_Simple what key in the $_GET is module, what key is controller, and what key is action.

Yaf_Route_Simple::route() will always return true, so it is important put Yaf_Route_Simple in the front of the Route stack, otherwise all the other routes will not be called.

Sinopse da classe

Yaf_Route_Simple implements Yaf_Route_Interface {
/* Propriedades */
protected $controller ;
protected $module ;
protected $action ;
/* Métodos */
public assemble ( array $info , array $query = ? ) : string
public __construct ( string $module_name , string $controller_name , string $action_name )
public route ( Yaf_Request_Abstract $request ) : bool
}

Propriedades

controller

module

action

Índice

  • Yaf_Route_Simple::assemble — Assemble a url
  • Yaf_Route_Simple::__construct — Yaf_Route_Simple constructor
  • Yaf_Route_Simple::route — Route a request


Assemble a url

  • « Yaf_Route_Simple
  • Yaf_Route_Simple::__construct »
  • PHP Manual
  • Yaf_Route_Simple
  • Assemble a url

Yaf_Route_Simple::assemble

(Yaf >=2.3.0)

Yaf_Route_Simple::assemble — Assemble a url

Descrição

public Yaf_Route_Simple::assemble ( array $info , array $query = ? ) : string

Assemble a url.

Parâmetros

info

query

Exemplos

Exemplo #1 Yaf_Route_Simple::assemble()example

<?php

$router = new Yaf_Router();

$route  = new Yaf_Route_Simple('m', 'c', 'a');

$router->addRoute("simple", $route);

var_dump($router->getRoute('simple')->assemble(
            array(
                ':a' => 'yafaction',
                'tkey' => 'tval',
                ':c' => 'yafcontroller',
                ':m' => 'yafmodule'
                ),
            array(
                'tkey1' => 'tval1',
                'tkey2' => 'tval2'
                )
            ));

O exemplo acima irá imprimir algo similar à:

string(64) "?m=yafmodule&c=yafcontroller&a=yafaction&tkey1=tval1&tkey2=tval2"

Valor Retornado


Yaf_Route_Simple constructor

  • « Yaf_Route_Simple::assemble
  • Yaf_Route_Simple::route »
  • PHP Manual
  • Yaf_Route_Simple
  • Yaf_Route_Simple constructor

Yaf_Route_Simple::__construct

(Yaf >=1.0.0)

Yaf_Route_Simple::__construct — Yaf_Route_Simple constructor

Descrição

public Yaf_Route_Simple::__construct ( string $module_name , string $controller_name , string $action_name )

Yaf_Route_Simple will get route info from query string. and the parameters of this constructor will used as keys while searching for the route info in $_GET.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

module_name

The key name of the module info.

controller_name

the key name of the controller info.

action_name

the key name of the action info.

Valor Retornado

Always return true.

Exemplos

Exemplo #1 Yaf_Route_Simple::route()example

<?php
   $route = new Yaf_Route_Simple("m", "controller", "act");
   Yaf_Router::getInstance()->addRoute("simple", $route);
?>

Exemplo #2 Yaf_Route_Simple::route()example

Request: http://yourdomain.com/path/?controller=a&act=b
=> module = default(index), controller = a, action = b

Request: http://yourdomain.com/path
=> module = default(index), controller = default(index), action = default(index)

Veja Também

  • Yaf_Route_Supervar::route() - The route purpose
  • Yaf_Route_Static::route() - Route a request
  • Yaf_Route_Regex::route() - The route purpose
  • Yaf_Route_Rewrite::route() - The route purpose
  • Yaf_Route_Map::route() - The route purpose


Route a request

  • « Yaf_Route_Simple::__construct
  • Yaf_Route_Static »
  • PHP Manual
  • Yaf_Route_Simple
  • Route a request

Yaf_Route_Simple::route

(Yaf >=1.0.0)

Yaf_Route_Simple::route — Route a request

Descrição

public Yaf_Route_Simple::route ( Yaf_Request_Abstract $request ) : bool

see Yaf_Route_Simple::__construct()

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

request

Valor Retornado

always be true

Veja Também

  • Yaf_Route_Supervar::route() - The route purpose
  • Yaf_Route_Static::route() - Route a request
  • Yaf_Route_Regex::route() - The route purpose
  • Yaf_Route_Rewrite::route() - The route purpose
  • Yaf_Route_Map::route() - The route purpose


The Yaf_Route_Static class

(Yaf >=1.0.0)

Introdução

Defaultly, Yaf_Router only have a Yaf_Route_Static as its default route.

And Yaf_Route_Static is designed to handle the 80% requirement.

please *NOTE* that it is unnecessary to instance a Yaf_Route_Static, also unecesary to add it into Yaf_Router's routes stack, since there is always be one in Yaf_Router's routes stack, and always be called at the last time.

Sinopse da classe

Yaf_Route_Static implements Yaf_Router {
/* Métodos */
public assemble ( array $info , array $query = ? ) : string
public match ( string $uri ) : void
public route ( Yaf_Request_Abstract $request ) : bool
}

Índice

  • Yaf_Route_Static::assemble — Assemble a url
  • Yaf_Route_Static::match — The match purpose
  • Yaf_Route_Static::route — Route a request


Assemble a url

  • « Yaf_Route_Static
  • Yaf_Route_Static::match »
  • PHP Manual
  • Yaf_Route_Static
  • Assemble a url

Yaf_Route_Static::assemble

(Yaf >=2.3.0)

Yaf_Route_Static::assemble — Assemble a url

Descrição

public Yaf_Route_Static::assemble ( array $info , array $query = ? ) : string

Assemble a url.

Parâmetros

info

query

Exemplos

Exemplo #1 Yaf_Route_Static::assemble()example

<?php

$router = new Yaf_Router();

$route  = new Yaf_Route_Static();

$router->addRoute("static", $route);

var_dump($router->getRoute('static')->assemble(
            array(
                ':a' => 'yafaction',
                'tkey' => 'tval',
                ':c' => 'yafcontroller',
                ':m' => 'yafmodule'
            ),
        )
);

var_dump($router->getRoute('static')->assemble(
            array(
                ':a' => 'yafaction',
                'tkey' => 'tval',
                ':c' => 'yafcontroller',
                ':m' => 'yafmodule'
            ),
            array(
                'tkey1' => 'tval1',
                'tkey2' => 'tval2'
            )
        )
);

O exemplo acima irá imprimir algo similar à:

string(%d) "/yafmodule/yafcontroller/yafaction"
string(%d) "/yafmodule/yafcontroller/yafaction?tkey1=tval1&tkey2=tval2"

Valor Retornado


The match purpose

  • « Yaf_Route_Static::assemble
  • Yaf_Route_Static::route »
  • PHP Manual
  • Yaf_Route_Static
  • The match purpose

Yaf_Route_Static::match

(Yaf >=1.0.0)

Yaf_Route_Static::match — The match purpose

Descrição

public Yaf_Route_Static::match ( string $uri ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

uri

Valor Retornado


Route a request

  • « Yaf_Route_Static::match
  • Yaf_Route_Supervar »
  • PHP Manual
  • Yaf_Route_Static
  • Route a request

Yaf_Route_Static::route

(Yaf >=1.0.0)

Yaf_Route_Static::route — Route a request

Descrição

public Yaf_Route_Static::route ( Yaf_Request_Abstract $request ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

request

Valor Retornado

always be true

Exemplos

Exemplo #1 Yaf_Route_Static::route()example

// assuming there is only one module defined:Index
Request: http://yourdomain.com/a/b
=> module = index, controller=a, action=b

//assuming ap.action_prefer = On
Request: http://yourdomain.com/b
=> module = default(index), controller = default(index), action = b

//assuming ap.action_prefer = Off
Request: http://yourdomain.com/b
=> module = default(index), controller = b, action = default(index)

Request: http://yourdomain.com/a/b/foo/bar/test/a/id/4
=> module = default(index), controller = a, action = b, request parameters: foo = bar, test = a, id = 4

Veja Também

  • Yaf_Route_Supervar::route() - The route purpose
  • Yaf_Route_Simple::route() - Route a request
  • Yaf_Route_Regex::route() - The route purpose
  • Yaf_Route_Rewrite::route() - The route purpose
  • Yaf_Route_Map::route() - The route purpose


The Yaf_Route_Supervar class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Route_Supervar implements Yaf_Route_Interface {
/* Propriedades */
protected $_var_name ;
/* Métodos */
public assemble ( array $info , array $query = ? ) : string
public __construct ( string $supervar_name )
public route ( Yaf_Request_Abstract $request ) : bool
}

Propriedades

_var_name

Índice

  • Yaf_Route_Supervar::assemble — Assemble a url
  • Yaf_Route_Supervar::__construct — The __construct purpose
  • Yaf_Route_Supervar::route — The route purpose


Assemble a url

  • « Yaf_Route_Supervar
  • Yaf_Route_Supervar::__construct »
  • PHP Manual
  • Yaf_Route_Supervar
  • Assemble a url

Yaf_Route_Supervar::assemble

(Yaf >=2.3.0)

Yaf_Route_Supervar::assemble — Assemble a url

Descrição

public Yaf_Route_Supervar::assemble ( array $info , array $query = ? ) : string

Assemble a url.

Parâmetros

info

query

Exemplos

Exemplo #1 Yaf_Route_Supervar::assemble()example

<?php

$router = new Yaf_Router();

$route  = new Yaf_Route_Supervar('r');

$router->addRoute("supervar", $route);

var_dump($router->getRoute('supervar')->assemble(
        array(
              ':a' => 'yafaction',
              'tkey' => 'tval',
              ':c' => 'yafcontroller',
              ':m' => 'yafmodule'
        ),
        array(
              'tkey1' => 'tval1',
              'tkey2' => 'tval2'
        )
));

try {
var_dump($router->getRoute('supervar')->assemble(
        array(
              ':a' => 'yafaction',
              'tkey' => 'tval',
              ':m' => 'yafmodule'
        ),
        array(
              'tkey1' => 'tval1',
              'tkey2' => 'tval2',
              1 => array(),
        )
));
} catch (Exception $e) {
    var_dump($e->getMessage());
}

O exemplo acima irá imprimir algo similar à:

string(%d) "?r=/yafmodule/yafcontroller/yafaction&tkey1=tval1&tkey2=tval2"
string(%d) "You need to specify the controller by ':c'"

Valor Retornado


The __construct purpose

  • « Yaf_Route_Supervar::assemble
  • Yaf_Route_Supervar::route »
  • PHP Manual
  • Yaf_Route_Supervar
  • The __construct purpose

Yaf_Route_Supervar::__construct

(Yaf >=1.0.0)

Yaf_Route_Supervar::__construct — The __construct purpose

Descrição

public Yaf_Route_Supervar::__construct ( string $supervar_name )

Yaf_Route_Supervar is similar with Yaf_Route_Static, the difference is Yaf_Route_Supervar will look for path info in query string, and the parameter supervar_name is the key.

Parâmetros

supervar_name

The name of key.

Valor Retornado

Exemplos

Exemplo #1 Yaf_Route_Supervar()example

<?php
   /**
    * Add a supervar route to Yaf_Router route stack
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Supervar("r"));
    );
?>

O exemplo acima irá imprimir algo similar à:

/** for request: http://yourdomain.com/xx/oo/?r=/ctr/act/var/value
  * will result in following:
  */
  array (
    "module"   => index(default),
    "controller" => ctr,
    "action"     => act,
    "params"     => array(
          "var" => value,
     )
  )

Veja Também

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Router::addConfig() - Add config-defined routes into Router
  • Yaf_Route_Static
  • Yaf_Route_Regex
  • Yaf_Route_Simple
  • Yaf_Route_Rewrite
  • Yaf_Route_Map


The route purpose

  • « Yaf_Route_Supervar::__construct
  • Yaf_Session »
  • PHP Manual
  • Yaf_Route_Supervar
  • The route purpose

Yaf_Route_Supervar::route

(Yaf >=1.0.0)

Yaf_Route_Supervar::route — The route purpose

Descrição

public Yaf_Route_Supervar::route ( Yaf_Request_Abstract $request ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

request

Valor Retornado

If there is a key(which was defined in Yaf_Route_Supervar::__construct()) in $_GET, return true. otherwise return false.


The Yaf_Session class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Session implements Iterator , ArrayAccess , Countable {
/* Propriedades */
protected static $_instance ;
protected $_session ;
protected $_started ;
/* Métodos */
private __construct ( )
public count ( ) : void
public current ( ) : void
public del ( string $name ) : void
public __get ( string $name ) : void
public static getInstance ( ) : void
public has ( string $name ) : void
public __isset ( string $name ) : void
public key ( ) : void
public next ( ) : void
public offsetExists ( string $name ) : void
public offsetGet ( string $name ) : void
public offsetSet ( string $name , string $value ) : void
public offsetUnset ( string $name ) : void
public rewind ( ) : void
public __set ( string $name , string $value ) : void
public start ( ) : void
public __unset ( string $name ) : void
public valid ( ) : void
}

Propriedades

_instance

_session

_started

Índice

  • Yaf_Session::__construct — Constructor of Yaf_Session
  • Yaf_Session::count — The count purpose
  • Yaf_Session::current — The current purpose
  • Yaf_Session::del — The del purpose
  • Yaf_Session::__get — The __get purpose
  • Yaf_Session::getInstance — The getInstance purpose
  • Yaf_Session::has — The has purpose
  • Yaf_Session::__isset — The __isset purpose
  • Yaf_Session::key — The key purpose
  • Yaf_Session::next — The next purpose
  • Yaf_Session::offsetExists — The offsetExists purpose
  • Yaf_Session::offsetGet — The offsetGet purpose
  • Yaf_Session::offsetSet — The offsetSet purpose
  • Yaf_Session::offsetUnset — The offsetUnset purpose
  • Yaf_Session::rewind — The rewind purpose
  • Yaf_Session::__set — The __set purpose
  • Yaf_Session::start — The start purpose
  • Yaf_Session::__unset — The __unset purpose
  • Yaf_Session::valid — The valid purpose


Constructor of Yaf_Session

  • « Yaf_Session
  • Yaf_Session::count »
  • PHP Manual
  • Yaf_Session
  • Constructor of Yaf_Session

Yaf_Session::__construct

(Yaf >=1.0.0)

Yaf_Session::__construct — Constructor of Yaf_Session

Descrição

private Yaf_Session::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The count purpose

  • « Yaf_Session::__construct
  • Yaf_Session::current »
  • PHP Manual
  • Yaf_Session
  • The count purpose

Yaf_Session::count

(Yaf >=1.0.0)

Yaf_Session::count — The count purpose

Descrição

public Yaf_Session::count ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The current purpose

  • « Yaf_Session::count
  • Yaf_Session::del »
  • PHP Manual
  • Yaf_Session
  • The current purpose

Yaf_Session::current

(Yaf >=1.0.0)

Yaf_Session::current — The current purpose

Descrição

public Yaf_Session::current ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The del purpose

  • « Yaf_Session::current
  • Yaf_Session::__get »
  • PHP Manual
  • Yaf_Session
  • The del purpose

Yaf_Session::del

(Yaf >=1.0.0)

Yaf_Session::del — The del purpose

Descrição

public Yaf_Session::del ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The __get purpose

  • « Yaf_Session::del
  • Yaf_Session::getInstance »
  • PHP Manual
  • Yaf_Session
  • The __get purpose

Yaf_Session::__get

(Yaf >=1.0.0)

Yaf_Session::__get — The __get purpose

Descrição

public Yaf_Session::__get ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The getInstance purpose

  • « Yaf_Session::__get
  • Yaf_Session::has »
  • PHP Manual
  • Yaf_Session
  • The getInstance purpose

Yaf_Session::getInstance

(Yaf >=1.0.0)

Yaf_Session::getInstance — The getInstance purpose

Descrição

public static Yaf_Session::getInstance ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The has purpose

  • « Yaf_Session::getInstance
  • Yaf_Session::__isset »
  • PHP Manual
  • Yaf_Session
  • The has purpose

Yaf_Session::has

(Yaf >=1.0.0)

Yaf_Session::has — The has purpose

Descrição

public Yaf_Session::has ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The __isset purpose

  • « Yaf_Session::has
  • Yaf_Session::key »
  • PHP Manual
  • Yaf_Session
  • The __isset purpose

Yaf_Session::__isset

(Yaf >=1.0.0)

Yaf_Session::__isset — The __isset purpose

Descrição

public Yaf_Session::__isset ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The key purpose

  • « Yaf_Session::__isset
  • Yaf_Session::next »
  • PHP Manual
  • Yaf_Session
  • The key purpose

Yaf_Session::key

(Yaf >=1.0.0)

Yaf_Session::key — The key purpose

Descrição

public Yaf_Session::key ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The next purpose

  • « Yaf_Session::key
  • Yaf_Session::offsetExists »
  • PHP Manual
  • Yaf_Session
  • The next purpose

Yaf_Session::next

(Yaf >=1.0.0)

Yaf_Session::next — The next purpose

Descrição

public Yaf_Session::next ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The offsetExists purpose

  • « Yaf_Session::next
  • Yaf_Session::offsetGet »
  • PHP Manual
  • Yaf_Session
  • The offsetExists purpose

Yaf_Session::offsetExists

(Yaf >=1.0.0)

Yaf_Session::offsetExists — The offsetExists purpose

Descrição

public Yaf_Session::offsetExists ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The offsetGet purpose

  • « Yaf_Session::offsetExists
  • Yaf_Session::offsetSet »
  • PHP Manual
  • Yaf_Session
  • The offsetGet purpose

Yaf_Session::offsetGet

(Yaf >=1.0.0)

Yaf_Session::offsetGet — The offsetGet purpose

Descrição

public Yaf_Session::offsetGet ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The offsetSet purpose

  • « Yaf_Session::offsetGet
  • Yaf_Session::offsetUnset »
  • PHP Manual
  • Yaf_Session
  • The offsetSet purpose

Yaf_Session::offsetSet

(Yaf >=1.0.0)

Yaf_Session::offsetSet — The offsetSet purpose

Descrição

public Yaf_Session::offsetSet ( string $name , string $value ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

value

Valor Retornado


The offsetUnset purpose

  • « Yaf_Session::offsetSet
  • Yaf_Session::rewind »
  • PHP Manual
  • Yaf_Session
  • The offsetUnset purpose

Yaf_Session::offsetUnset

(Yaf >=1.0.0)

Yaf_Session::offsetUnset — The offsetUnset purpose

Descrição

public Yaf_Session::offsetUnset ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The rewind purpose

  • « Yaf_Session::offsetUnset
  • Yaf_Session::__set »
  • PHP Manual
  • Yaf_Session
  • The rewind purpose

Yaf_Session::rewind

(Yaf >=1.0.0)

Yaf_Session::rewind — The rewind purpose

Descrição

public Yaf_Session::rewind ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The __set purpose

  • « Yaf_Session::rewind
  • Yaf_Session::start »
  • PHP Manual
  • Yaf_Session
  • The __set purpose

Yaf_Session::__set

(Yaf >=1.0.0)

Yaf_Session::__set — The __set purpose

Descrição

public Yaf_Session::__set ( string $name , string $value ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

value

Valor Retornado


The start purpose

  • « Yaf_Session::__set
  • Yaf_Session::__unset »
  • PHP Manual
  • Yaf_Session
  • The start purpose

Yaf_Session::start

(Yaf >=1.0.0)

Yaf_Session::start — The start purpose

Descrição

public Yaf_Session::start ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The __unset purpose

  • « Yaf_Session::start
  • Yaf_Session::valid »
  • PHP Manual
  • Yaf_Session
  • The __unset purpose

Yaf_Session::__unset

(Yaf >=1.0.0)

Yaf_Session::__unset — The __unset purpose

Descrição

public Yaf_Session::__unset ( string $name ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


The valid purpose

  • « Yaf_Session::__unset
  • Yaf_Exception »
  • PHP Manual
  • Yaf_Session
  • The valid purpose

Yaf_Session::valid

(Yaf >=1.0.0)

Yaf_Session::valid — The valid purpose

Descrição

public Yaf_Session::valid ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Yaf_Exception class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Exception extends Exception {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
public __construct ( )
public getPrevious ( ) : void
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Índice

  • Yaf_Exception::__construct — The __construct purpose
  • Yaf_Exception::getPrevious — The getPrevious purpose


The __construct purpose

  • « Yaf_Exception
  • Yaf_Exception::getPrevious »
  • PHP Manual
  • Yaf_Exception
  • The __construct purpose

Yaf_Exception::__construct

(Yaf >=1.0.0)

Yaf_Exception::__construct — The __construct purpose

Descrição

public Yaf_Exception::__construct ( )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The getPrevious purpose

  • « Yaf_Exception::__construct
  • Yaf_Exception_TypeError »
  • PHP Manual
  • Yaf_Exception
  • The getPrevious purpose

Yaf_Exception::getPrevious

(Yaf >=1.0.0)

Yaf_Exception::getPrevious — The getPrevious purpose

Descrição

public Yaf_Exception::getPrevious ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The Yaf_Exception_TypeError class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Exception_TypeError extends Yaf_Exception {
/* Propriedades */
/* Métodos */
/* Métodos herdados */
public Yaf_Exception::__construct ( )
public Yaf_Exception::getPrevious ( ) : void
}


The Yaf_Exception_StartupError class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Exception_StartupError extends Yaf_Exception {
/* Propriedades */
/* Métodos */
/* Métodos herdados */
public Yaf_Exception::__construct ( )
public Yaf_Exception::getPrevious ( ) : void
}


The Yaf_Exception_DispatchFailed class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Exception_DispatchFailed extends Yaf_Exception {
/* Propriedades */
/* Métodos */
/* Métodos herdados */
public Yaf_Exception::__construct ( )
public Yaf_Exception::getPrevious ( ) : void
}


The Yaf_Exception_RouterFailed class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Exception_RouterFailed extends Yaf_Exception {
/* Propriedades */
/* Métodos */
/* Métodos herdados */
public Yaf_Exception::__construct ( )
public Yaf_Exception::getPrevious ( ) : void
}


The Yaf_Exception_LoadFailed class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Exception_LoadFailed extends Yaf_Exception {
/* Propriedades */
/* Métodos */
/* Métodos herdados */
public Yaf_Exception::__construct ( )
public Yaf_Exception::getPrevious ( ) : void
}


The Yaf_Exception_LoadFailed_Module class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Exception_LoadFailed_Module extends Yaf_Exception_LoadFailed {
/* Propriedades */
/* Métodos */
/* Métodos herdados */
public Yaf_Exception::__construct ( )
public Yaf_Exception::getPrevious ( ) : void
}


The Yaf_Exception_LoadFailed_Controller class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Exception_LoadFailed_Controller extends Yaf_Exception_LoadFailed {
/* Propriedades */
/* Métodos */
/* Métodos herdados */
public Yaf_Exception::__construct ( )
public Yaf_Exception::getPrevious ( ) : void
}


The Yaf_Exception_LoadFailed_Action class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Exception_LoadFailed_Action extends Yaf_Exception_LoadFailed {
/* Propriedades */
/* Métodos */
/* Métodos herdados */
public Yaf_Exception::__construct ( )
public Yaf_Exception::getPrevious ( ) : void
}


The Yaf_Exception_LoadFailed_View class

(Yaf >=1.0.0)

Introdução

Sinopse da classe

Yaf_Exception_LoadFailed_View extends Yaf_Exception_LoadFailed {
/* Propriedades */
/* Métodos */
/* Métodos herdados */
public Yaf_Exception::__construct ( )
public Yaf_Exception::getPrevious ( ) : void
}


Yaconf

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Yaconf — The Yaconf class
    • Yaconf::get — Retrieve a item
    • Yaconf::has — Determine if a item exists


Introdução

Yet Another Configurations Container (Yaconf) is a configurations container, it parses INI files, and store the result in PHP when PHP is started, the result lives with the whole PHP lifecycle.

Yaconf stores all configurations as interned string or immutable array, which means they are not refcounted-able, thus when you retrieving configurations from yaconf, it could be considered as zero-copy, very fast.

Yaconf supports sections and sections inheritance in INI files. if PHP is built as non-ZTS build, Yaconf also supports automatically reloading after INI files are changed.

Yaconf requires PHP 7.0 or greater.

Exemplo #1 INI example

;simple key val
key=val
;hash
hash.a=val
;array
arr.0=val
;or
arr[]=val
;use PHP constants
version=PHP_VERION
;use enviroment
env=${PATH}

Exemplo #2 INI sections example

[SectionA]
key=val
hash.a=val

;SectionB inherits SectionA
[SectionB:SectionA]
;override configuration key in SectionA
key=new_val


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

Yaconf requires PHP 7.0 and above.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/yaconf.

Windows binaries (DLL files) for this PECL extension are available from the PECL website.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Yaconf Opções de Configuração
Nome | Padrão | Modificável | Changelog
yaconf.check_delay | 300 | PHP_INI_SYSTEM |
yaconf.directory | /tmp/conf/ | PHP_INI_SYSTEM |

Uma rápida explicação das diretivas de configuração.

yaconf.check_delay int

In which interval Yaconf will detect ini file's change(by directory's mtime), if it is set to zero, you have to restart php to reloading configurations.

yaconf.directory string

Path to directory which all INI configuration files are placed in.


  • « Tipos de Recurso
  • Yaconf »
  • PHP Manual
  • Yaconf
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


The Yaconf class

(PECL yaconf >= 1.0.0)

Introdução

Yaconf is a configurations container, it parses INIT files, stores the result in PHP when PHP is started, the result lives with the whole PHP lifecycle.

Sinopse da classe

Yaconf {
/* Métodos */
public static get ( string $name , mixed $default_value = NULL ) : mixed
public static has ( string $name ) : bool
}

Índice

  • Yaconf::get — Retrieve a item
  • Yaconf::has — Determine if a item exists


Retrieve a item

  • « Yaconf
  • Yaconf::has »
  • PHP Manual
  • Yaconf
  • Retrieve a item

Yaconf::get

(PECL yaconf >= 1.0.0)

Yaconf::get — Retrieve a item

Descrição

public static Yaconf::get ( string $name , mixed $default_value = NULL ) : mixed

Parâmetros

name

Configuration key, the key looks like "filename.key", or "filename.sectionName,key".

default_value

if the key doesn't exists, Yaconf::get will return this as result.

Valor Retornado

Returns configuration result(string or array) if the key exists, return default_value if not.

Exemplos

Exemplo #1 INI()example

;filenmame foo.ini, placed in directory which is yaconf.directoy
[SectionA]
;key value pair
key=val
;hash[a]=val
hash.a=val
;arr[0]=val
arr.0=val
;or
arr[]=val

;SectionB inherits SectionA
[SectionB:SectionA]
;override configuration key in SectionA
key=new_val

O exemplo acima irá imprimir algo similar à:

php7 -r 'var_dump(Yaconf::get("foo.SectionA.key"));'
//string(3) "val"

php7 -r 'var_dump(Yaconf::get("foo.SectionB.key"));'
//string(7) "new_val"

php7 -r 'var_dump(Yaconf::get("foo")["SectionA"]["hash"]);'
//array(1)


Determine if a item exists

  • « Yaconf::get
  • Taint »
  • PHP Manual
  • Yaconf
  • Determine if a item exists

Yaconf::has

(PECL yaconf >= 1.0.0)

Yaconf::has — Determine if a item exists

Descrição

public static Yaconf::has ( string $name ) : bool

Parâmetros

name

Valor Retornado


Taint

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • More Details
    • Functions and Statements which will spread the tainted mark of a tainted string
    • Functions and statements which will check tainted string
    • Functions which untaint the tainted string
  • Taint Funções
    • is_tainted — Checks whether a string is tainted
    • taint — Taint a string
    • untaint — Untaint strings


Introdução

Taint is an extension, which is used for detecting XSS codes(tainted string). And also can be used to spot sql injection vulnerabilities, and shell inject, etc.

When taint is enabled, if you pass a tainted string (comes from $_GET, $_POST or $_COOKIE) to some functions, taint will warn you about that.

Exemplo #1 Taint()example

<?php
$a = trim($_GET['a']);

$file_name = '/tmp' .  $a;
$output    = "Welcome, {$a} !!!";
$var       = "output";
$sql       = "Select *  from " . $a;
$sql      .= "ooxx";

echo $output;

print $$var;

include($file_name);

mysql_query($sql);
?>

O exemplo acima irá imprimir algo similar à:

Warning: main() [function.echo]: Attempt to echo a string that might be tainted

Warning: main() [function.echo]: Attempt to print a string that might be tainted

Warning: include() [function.include]: File path contains data that might be tainted

Warning: mysql_query() [function.mysql-query]: SQL statement contains data that might be tainted


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/taint.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Taint Opções de Configuração
Nome | Padrão | Modificável | Changelog
taint.enable | 0 | PHP_INI_SYSTEM |
taint.error_level | E_WARNING | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

taint.enable int

Whether enable the taint.

taint.error_level int

the error type which taint will report as when taint find a tainted string.


  • « Configurações em Execução
  • More Details »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão não tem recursos definidos.


More Details

Índice

  • Functions and Statements which will spread the tainted mark of a tainted string
  • Functions and statements which will check tainted string
  • Functions which untaint the tainted string


Functions and Statements which will spread the tainted mark of a tainted string

Function/Statement | Since
= (assign) | 0.1.0
. (concat) | 0.1.0
"{$var}" (variable substitution) | 0.1.0
.= (assign concat) | 0.1.0
strval | 0.3.0
explode/split | 0.3.0
implode/join | 0.3.0
sprintf | 0.3.0
vsprintf | 0.3.0
trim | 0.4.0
rtrim | 0.4.0
ltrim | 0.4.0
strstr | 0.5.0
str_pad | 0.5.0
str_replace | 0.5.0
substr | 0.5.0
strtolower | 0.5.0
strtoupper | 0.5.0


Functions and statements which will check tainted string

Function/Statement | Since
Basic statments
eval | 0.1.0
include/include_once | 0.1.0
require/require_once | 0.1.0
Outputing Functions
echo | 0.1.0
print | 0.1.0
printf | 0.1.0
file_put_contents | 0.1.0
File System Functions
fopen | 0.2.0
opendir | 0.2.0
basename | 0.2.0
dirname | 0.2.0
file | 0.2.0
pathinfo | 0.2.0
Database relevant Functions
mysql_query | 0.2.0
mysqli_query/MySQLi::query | 0.2.0
sqlite_query/SqliteDataBase::query | 0.3.0
sqlite_single_query/SqliteDataBase::singleQuery | 0.3.0
oci_parse | 0.3.0
PDO::query | 0.3.0
PDO::prepare | 0.3.0
SQLite3::query | 2.0.1
SQLite3::prepare | 2.0.1
Command Line relevant Functions
system | 0.1.0
exec | 0.1.0
proc_open | 0.1.0
passthru | 0.1.0
shell_exec | 0.3.0


Functions which untaint the tainted string

Function | Since
addslashes | 0.1.0
addcslashes | 0.1.0
htmlspecialchars | 0.1.0
htmlentities | 0.1.0
escapeshellcmd | 0.1.0
mysql_escape_string | 0.1.0
mysql_real_escape_string | 0.1.0
mysqli_escape_string/MySQLi::escape_string | 0.1.0
mysqli_real_escape_string/MySQLi::real_escape_string | 0.1.0
sqlite_escape_string/SqliteDataBase::escapeString | 0.3.0
PDO::quote | 0.3.0


Taint Funções

Índice

  • is_tainted — Checks whether a string is tainted
  • taint — Taint a string
  • untaint — Untaint strings


Checks whether a string is tainted

  • « Taint Funções
  • taint »
  • PHP Manual
  • Taint Funções
  • Checks whether a string is tainted

is_tainted

(PECL taint >=0.1.0)

is_tainted — Checks whether a string is tainted

Descrição

is_tainted ( string $string ) : bool

Checks whether a string is tainted

Parâmetros

string

Valor Retornado

Return TRUE if the string is tainted, FALSE otherwise.


Taint a string

  • « is_tainted
  • untaint »
  • PHP Manual
  • Taint Funções
  • Taint a string

taint

(PECL taint >=0.1.0)

taint — Taint a string

Descrição

taint ( string &$string , string ...$strings ) : bool

Make a string tainted. This is used for testing purpose only.

Parâmetros

string

strings

Valor Retornado

Return TRUE if the transformation is done. Always return TRUE if the taint extension is not enabled.


Untaint strings

  • « taint
  • Data Structures »
  • PHP Manual
  • Taint Funções
  • Untaint strings

untaint

(PECL taint >=0.1.0)

untaint — Untaint strings

Descrição

untaint ( string &$string , string ...$strings ) : bool

Untaint strings

Parâmetros

string

strings

Valor Retornado


Data Structures

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
  • Constantes pré-definidas
  • Exemplos
  • Collection — The Collection interface
    • Ds\Collection::clear — Removes all values
    • Ds\Collection::copy — Returns a shallow copy of the collection
    • Ds\Collection::isEmpty — Returns whether the collection is empty
    • Ds\Collection::toArray — Converts the collection to an array
  • Hashable — The Hashable interface
    • Ds\Hashable::equals — Determines whether an object is equal to the current instance
    • Ds\Hashable::hash — Returns a scalar value to be used as a hash value
  • Sequence — The Sequence interface
    • Ds\Sequence::allocate — Allocates enough memory for a required capacity
    • Ds\Sequence::apply — Updates all values by applying a callback function to each value
    • Ds\Sequence::capacity — Returns the current capacity
    • Ds\Sequence::contains — Determines if the sequence contains given values
    • Ds\Sequence::filter — Creates a new sequence using a callable to determine which values to include
    • Ds\Sequence::find — Attempts to find a value's index
    • Ds\Sequence::first — Returns the first value in the sequence
    • Ds\Sequence::get — Returns the value at a given index
    • Ds\Sequence::insert — Inserts values at a given index
    • Ds\Sequence::join — Joins all values together as a string
    • Ds\Sequence::last — Returns the last value
    • Ds\Sequence::map — Returns the result of applying a callback to each value
    • Ds\Sequence::merge — Returns the result of adding all given values to the sequence
    • Ds\Sequence::pop — Removes and returns the last value
    • Ds\Sequence::push — Adds values to the end of the sequence
    • Ds\Sequence::reduce — Reduces the sequence to a single value using a callback function
    • Ds\Sequence::remove — Removes and returns a value by index
    • Ds\Sequence::reverse — Reverses the sequence in-place
    • Ds\Sequence::reversed — Returns a reversed copy
    • Ds\Sequence::rotate — Rotates the sequence by a given number of rotations
    • Ds\Sequence::set — Updates a value at a given index
    • Ds\Sequence::shift — Removes and returns the first value
    • Ds\Sequence::slice — Returns a sub-sequence of a given range
    • Ds\Sequence::sort — Sorts the sequence in-place
    • Ds\Sequence::sorted — Returns a sorted copy
    • Ds\Sequence::sum — Returns the sum of all values in the sequence
    • Ds\Sequence::unshift — Adds values to the front of the sequence
  • Vector — The Vector class
    • Ds\Vector::allocate — Allocates enough memory for a required capacity
    • Ds\Vector::apply — Updates all values by applying a callback function to each value
    • Ds\Vector::capacity — Returns the current capacity
    • Ds\Vector::clear — Removes all values
    • Ds\Vector::__construct — Creates a new instance
    • Ds\Vector::contains — Determines if the vector contains given values
    • Ds\Vector::copy — Returns a shallow copy of the vector
    • Ds\Vector::count — Returns the number of values in the collection
    • Ds\Vector::filter — Creates a new vector using a callable to determine which values to include
    • Ds\Vector::find — Attempts to find a value's index
    • Ds\Vector::first — Returns the first value in the vector
    • Ds\Vector::get — Returns the value at a given index
    • Ds\Vector::insert — Inserts values at a given index
    • Ds\Vector::isEmpty — Returns whether the vector is empty
    • Ds\Vector::join — Joins all values together as a string
    • Ds\Vector::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Vector::last — Returns the last value
    • Ds\Vector::map — Returns the result of applying a callback to each value
    • Ds\Vector::merge — Returns the result of adding all given values to the vector
    • Ds\Vector::pop — Removes and returns the last value
    • Ds\Vector::push — Adds values to the end of the vector
    • Ds\Vector::reduce — Reduces the vector to a single value using a callback function
    • Ds\Vector::remove — Removes and returns a value by index
    • Ds\Vector::reverse — Reverses the vector in-place
    • Ds\Vector::reversed — Returns a reversed copy
    • Ds\Vector::rotate — Rotates the vector by a given number of rotations
    • Ds\Vector::set — Updates a value at a given index
    • Ds\Vector::shift — Removes and returns the first value
    • Ds\Vector::slice — Returns a sub-vector of a given range
    • Ds\Vector::sort — Sorts the vector in-place
    • Ds\Vector::sorted — Returns a sorted copy
    • Ds\Vector::sum — Returns the sum of all values in the vector
    • Ds\Vector::toArray — Converts the vector to an array
    • Ds\Vector::unshift — Adds values to the front of the vector
  • Deque — The Deque class
    • Ds\Deque::allocate — Allocates enough memory for a required capacity
    • Ds\Deque::apply — Updates all values by applying a callback function to each value
    • Ds\Deque::capacity — Returns the current capacity
    • Ds\Deque::clear — Removes all values from the deque
    • Ds\Deque::__construct — Creates a new instance
    • Ds\Deque::contains — Determines if the deque contains given values
    • Ds\Deque::copy — Returns a shallow copy of the deque
    • Ds\Deque::count — Returns the number of values in the collection
    • Ds\Deque::filter — Creates a new deque using a callable to determine which values to include
    • Ds\Deque::find — Attempts to find a value's index
    • Ds\Deque::first — Returns the first value in the deque
    • Ds\Deque::get — Returns the value at a given index
    • Ds\Deque::insert — Inserts values at a given index
    • Ds\Deque::isEmpty — Returns whether the deque is empty
    • Ds\Deque::join — Joins all values together as a string
    • Ds\Deque::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Deque::last — Returns the last value
    • Ds\Deque::map — Returns the result of applying a callback to each value
    • Ds\Deque::merge — Returns the result of adding all given values to the deque
    • Ds\Deque::pop — Removes and returns the last value
    • Ds\Deque::push — Adds values to the end of the deque
    • Ds\Deque::reduce — Reduces the deque to a single value using a callback function
    • Ds\Deque::remove — Removes and returns a value by index
    • Ds\Deque::reverse — Reverses the deque in-place
    • Ds\Deque::reversed — Returns a reversed copy
    • Ds\Deque::rotate — Rotates the deque by a given number of rotations
    • Ds\Deque::set — Updates a value at a given index
    • Ds\Deque::shift — Removes and returns the first value
    • Ds\Deque::slice — Returns a sub-deque of a given range
    • Ds\Deque::sort — Sorts the deque in-place
    • Ds\Deque::sorted — Returns a sorted copy
    • Ds\Deque::sum — Returns the sum of all values in the deque
    • Ds\Deque::toArray — Converts the deque to an array
    • Ds\Deque::unshift — Adds values to the front of the deque
  • Map — The Map class
    • Ds\Map::allocate — Allocates enough memory for a required capacity
    • Ds\Map::apply — Updates all values by applying a callback function to each value
    • Ds\Map::capacity — Returns the current capacity
    • Ds\Map::clear — Removes all values
    • Ds\Map::__construct — Creates a new instance
    • Ds\Map::copy — Returns a shallow copy of the map
    • Ds\Map::count — Returns the number of values in the map
    • Ds\Map::diff — Creates a new map using keys that aren't in another map
    • Ds\Map::filter — Creates a new map using a callable to determine which pairs to include
    • Ds\Map::first — Returns the first pair in the map
    • Ds\Map::get — Returns the value for a given key
    • Ds\Map::hasKey — Determines whether the map contains a given key
    • Ds\Map::hasValue — Determines whether the map contains a given value
    • Ds\Map::intersect — Creates a new map by intersecting keys with another map
    • Ds\Map::isEmpty — Returns whether the map is empty
    • Ds\Map::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Map::keys — Returns a set of the map's keys
    • Ds\Map::ksort — Sorts the map in-place by key
    • Ds\Map::ksorted — Returns a copy, sorted by key
    • Ds\Map::last — Returns the last pair of the map
    • Ds\Map::map — Returns the result of applying a callback to each value
    • Ds\Map::merge — Returns the result of adding all given associations
    • Ds\Map::pairs — Returns a sequence containing all the pairs of the map
    • Ds\Map::put — Associates a key with a value
    • Ds\Map::putAll — Associates all key-value pairs of a traversable object or array
    • Ds\Map::reduce — Reduces the map to a single value using a callback function
    • Ds\Map::remove — Removes and returns a value by key
    • Ds\Map::reverse — Reverses the map in-place
    • Ds\Map::reversed — Returns a reversed copy
    • Ds\Map::skip — Returns the pair at a given positional index
    • Ds\Map::slice — Returns a subset of the map defined by a starting index and length
    • Ds\Map::sort — Sorts the map in-place by value
    • Ds\Map::sorted — Returns a copy, sorted by value
    • Ds\Map::sum — Returns the sum of all values in the map
    • Ds\Map::toArray — Converts the map to an array
    • Ds\Map::union — Creates a new map using values from the current instance and another map
    • Ds\Map::values — Returns a sequence of the map's values
    • Ds\Map::xor — Creates a new map using keys of either the current instance or of another map, but not of both
  • Pair — The Pair class
    • Ds\Pair::clear — Removes all values
    • Ds\Pair::__construct — Creates a new instance
    • Ds\Pair::copy — Returns a shallow copy of the pair
    • Ds\Pair::isEmpty — Returns whether the pair is empty
    • Ds\Pair::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Pair::toArray — Converts the pair to an array
  • Set — The Set class
    • Ds\Set::add — Adds values to the set
    • Ds\Set::allocate — Allocates enough memory for a required capacity
    • Ds\Set::capacity — Returns the current capacity
    • Ds\Set::clear — Removes all values
    • Ds\Set::__construct — Creates a new instance
    • Ds\Set::contains — Determines if the set contains all values
    • Ds\Set::copy — Returns a shallow copy of the set
    • Ds\Set::count — Returns the number of values in the set
    • Ds\Set::diff — Creates a new set using values that aren't in another set
    • Ds\Set::filter — Creates a new set using a callable to determine which values to include
    • Ds\Set::first — Returns the first value in the set
    • Ds\Set::get — Returns the value at a given index
    • Ds\Set::intersect — Creates a new set by intersecting values with another set
    • Ds\Set::isEmpty — Returns whether the set is empty
    • Ds\Set::join — Joins all values together as a string
    • Ds\Set::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Set::last — Returns the last value in the set
    • Ds\Set::merge — Returns the result of adding all given values to the set
    • Ds\Set::reduce — Reduces the set to a single value using a callback function
    • Ds\Set::remove — Removes all given values from the set
    • Ds\Set::reverse — Reverses the set in-place
    • Ds\Set::reversed — Returns a reversed copy
    • Ds\Set::slice — Returns a sub-set of a given range
    • Ds\Set::sort — Sorts the set in-place
    • Ds\Set::sorted — Returns a sorted copy
    • Ds\Set::sum — Returns the sum of all values in the set
    • Ds\Set::toArray — Converts the set to an array
    • Ds\Set::union — Creates a new set using values from the current instance and another set
    • Ds\Set::xor — Creates a new set using values in either the current instance or in another set, but not in both
  • Stack — The Stack class
    • Ds\Stack::allocate — Allocates enough memory for a required capacity
    • Ds\Stack::capacity — Returns the current capacity
    • Ds\Stack::clear — Removes all values
    • Ds\Stack::__construct — Creates a new instance
    • Ds\Stack::copy — Returns a shallow copy of the stack
    • Ds\Stack::count — Retorna o número de valores na pilha
    • Ds\Stack::isEmpty — Returns whether the stack is empty
    • Ds\Stack::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Stack::peek — Retorna o valor no topo da pilha
    • Ds\Stack::pop — Removes and returns the value at the top of the stack
    • Ds\Stack::push — Pushes values onto the stack
    • Ds\Stack::toArray — Converts the stack to an array
  • Queue — The Queue class
    • Ds\Queue::allocate — Allocates enough memory for a required capacity
    • Ds\Queue::capacity — Returns the current capacity
    • Ds\Queue::clear — Removes all values
    • Ds\Queue::__construct — Creates a new instance
    • Ds\Queue::copy — Returns a shallow copy of the queue
    • Ds\Queue::count — Returns the number of values in the queue
    • Ds\Queue::isEmpty — Returns whether the queue is empty
    • Ds\Queue::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Queue::peek — Returns the value at the front of the queue
    • Ds\Queue::pop — Removes and returns the value at the front of the queue
    • Ds\Queue::push — Pushes values into the queue
    • Ds\Queue::toArray — Converts the queue to an array
  • PriorityQueue — The PriorityQueue class
    • Ds\PriorityQueue::allocate — Allocates enough memory for a required capacity
    • Ds\PriorityQueue::capacity — Returns the current capacity
    • Ds\PriorityQueue::clear — Removes all values
    • Ds\PriorityQueue::__construct — Creates a new instance
    • Ds\PriorityQueue::copy — Returns a shallow copy of the queue
    • Ds\PriorityQueue::count — Returns the number of values in the queue
    • Ds\PriorityQueue::isEmpty — Returns whether the queue is empty
    • Ds\PriorityQueue::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\PriorityQueue::peek — Returns the value at the front of the queue
    • Ds\PriorityQueue::pop — Removes and returns the value with the highest priority
    • Ds\PriorityQueue::push — Pushes values into the queue
    • Ds\PriorityQueue::toArray — Converts the queue to an array


Introdução

Efficient data structures for PHP 7, provided as an alternative to the array.

See » this blog post for benchmarks, discussion and frequently asked questions.


  • « Introdução
  • Dependências »
  • PHP Manual
  • Data Structures
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

PHP 7 is required by both the extension and the compatibility polyfill.


Instalação

The easiest way to install the extension is via » PECL

pecl install ds

You can also build directly from source:

# Dependencies you might need to install
# sudo apt-get install git build-essential php7.0-dev

git clone https://github.com/php-ds/extension "php-ds"
cd php-ds

# Build and install the extension
phpize
./configure
make
make install

# Clean up the build files
make clean
phpize --clean

If you're on Windows, you can » download a compiled .dll on PECL

Nota:

If you're using Composer, it's highly recommended that you include » php-ds/php-ds in your project so that your code is still functional in an environment where the extension is not installed. The extension will take priority if installed.


  • « Instalação
  • Exemplos »
  • PHP Manual
  • Data Structures
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Exemplos

Exemplo #1 Vector

<?php

$vector = new \Ds\Vector();

$vector->push('a');
$vector->push('b', 'c');

$vector[] = 'd';

print_r($vector);

?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)

Exemplo #2 Map

<?php

$map = new \Ds\Map();

$map->put('a', 1);
$map->put('b', 2);

$map['c'] = 3;

print_r($map);

?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)


The Collection interface

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

Collection is the base interface which covers functionality common to all the data structures in this library. It guarantees that all structures are traversable, countable, and can be converted to json using json_encode().

Resumo da Interface

Ds\Collection implements Traversable , Countable , JsonSerializable {
/* Métodos */
abstract public clear ( ) : void
abstract public copy ( ) : Ds\Collection
abstract public isEmpty ( ) : bool
abstract public toArray ( ) : array
}

Índice

  • Ds\Collection::clear — Removes all values
  • Ds\Collection::copy — Returns a shallow copy of the collection
  • Ds\Collection::isEmpty — Returns whether the collection is empty
  • Ds\Collection::toArray — Converts the collection to an array


Removes all values

  • « Collection
  • Ds\Collection::copy »
  • PHP Manual
  • Collection
  • Removes all values

Ds\Collection::clear

(PECL ds >= 1.0.0)

Ds\Collection::clear — Removes all values

Descrição

abstract public Ds\Collection::clear ( ) : void

Removes all values from the collection.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Collection::clear() example

<?php
$collection = new \Ds\Vector([1, 2, 3]);
print_r($collection);

$collection->clear();
print_r($collection);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Vector Object
(
)


Returns a shallow copy of the collection

  • « Ds\Collection::clear
  • Ds\Collection::isEmpty »
  • PHP Manual
  • Collection
  • Returns a shallow copy of the collection

Ds\Collection::copy

(PECL ds >= 1.0.0)

Ds\Collection::copy — Returns a shallow copy of the collection

Descrição

abstract public Ds\Collection::copy ( ) : Ds\Collection

Returns a shallow copy of the collection.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a shallow copy of the collection.

Exemplos

Exemplo #1 Ds\Collection::copy() example

<?php
$a = new \Ds\Vector([1, 2, 3]);
$b = $a->copy();

$b->push(4);

print_r($a);
print_r($b);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)


Returns whether the collection is empty

  • « Ds\Collection::copy
  • Ds\Collection::toArray »
  • PHP Manual
  • Collection
  • Returns whether the collection is empty

Ds\Collection::isEmpty

(PECL ds >= 1.0.0)

Ds\Collection::isEmpty — Returns whether the collection is empty

Descrição

abstract public Ds\Collection::isEmpty ( ) : bool

Returns whether the collection is empty.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the collection is empty, false otherwise.

Exemplos

Exemplo #1 Ds\Collection::isEmpty() example

<?php
$a = new \Ds\Vector([1, 2, 3]);
$b = new \Ds\Vector();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)


Converts the collection to an array

  • « Ds\Collection::isEmpty
  • Hashable »
  • PHP Manual
  • Collection
  • Converts the collection to an array

Ds\Collection::toArray

(PECL ds >= 1.0.0)

Ds\Collection::toArray — Converts the collection to an array

Descrição

abstract public Ds\Collection::toArray ( ) : array

Converts the collection to an array.

Nota:

Casting to an array is not supported yet.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing all the values in the same order as the collection.

Exemplos

Exemplo #1 Ds\Collection::toArray() example

<?php
$collection = new \Ds\Vector([1, 2, 3]);

var_dump($collection->toArray());
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


The Hashable interface

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

Hashable is an interface which allows objects to be used as keys. It’s an alternative to spl_object_hash(), which determines an object’s hash based on its handle: this means that two objects that are considered equal by an implicit definition would not treated as equal because they are not the same instance.

hash() is used to return a scalar value to be used as the object's hash value, which determines where it goes in the hash table. While this value does not have to be unique, objects which are equal must have the same hash value.

equals() is used to determine if two objects are equal. It's guaranteed that the comparing object will be an instance of the same class as the subject.

Resumo da Interface

Ds\Hashable {
/* Métodos */
abstract public equals ( object $obj ) : bool
abstract public hash ( ) : mixed
}

Índice

  • Ds\Hashable::equals — Determines whether an object is equal to the current instance
  • Ds\Hashable::hash — Returns a scalar value to be used as a hash value


Determines whether an object is equal to the current instance

  • « Hashable
  • Ds\Hashable::hash »
  • PHP Manual
  • Hashable
  • Determines whether an object is equal to the current instance

Ds\Hashable::equals

(PECL ds >= 1.0.0)

Ds\Hashable::equals — Determines whether an object is equal to the current instance

Descrição

abstract public Ds\Hashable::equals ( object $obj ) : bool

Determines whether another object is equal to the current instance.

This method allows objects to be used as keys in structures such as Ds\Map and Ds\Set, or any other lookup structure that honors this interface.

Nota:

It's guaranteed that obj is an instance of the same class.

Cuidado

It's important that objects which are equal also have the same hash value. See Ds\Hashable::hash().

Parâmetros

obj

The object to compare the current instance to, which is always an instance of the same class.

Valor Retornado

true if equal, false otherwise.


Returns a scalar value to be used as a hash value

  • « Ds\Hashable::equals
  • Sequence »
  • PHP Manual
  • Hashable
  • Returns a scalar value to be used as a hash value

Ds\Hashable::hash

(PECL ds >= 1.0.0)

Ds\Hashable::hash — Returns a scalar value to be used as a hash value

Descrição

abstract public Ds\Hashable::hash ( ) : mixed

Returns a scalar value to be used as the hash value of the objects.

While the hash value does not define equality, all objects that are equal according to Ds\Hashable::equals() must have the same hash value. Hash values of equal objects don't have to be unique, for example you could just return true for all objects and nothing would break - the only implication would be that hash tables then turn into linked lists because all your objects will be hashed to the same bucket. It's therefore very important that you pick a good hash value, such as an ID or email address.

This method allows objects to be used as keys in structures such as Ds\Map and Ds\Set, or any other lookup structure that honors this interface.

Cuidado

Do not pick a value that might change within the object, such as a public property. Hash table lookups would fail because the hash has changed.

Cuidado

All objects that are equal must have the same hash value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A scalar value to be used as this object's hash value.

Exemplos

Exemplo #1 Ds\Hashable::hash() example

<?php
class HashableObject implements \Ds\Hashable
{
    private $name;
    private $email;

    public function __construct($name, $email)
    {
        $this->name  = $name;
        $this->email = $email;
    }

    /**
     * Should return the same value for all equal objects, but doesn't have to
     * be unique. This value will not be used to determine equality.
     */
    public function hash()
    {
        return $this->email;
    }

    /**
     * This determines equality, usually during a hash table lookup to determine
     * if the bucket's key matches the lookup key. The hash has to be equal if
     * the objects are equal, otherwise this determination wouldn't be reached.
     */
    public function equals($obj): bool
    {
        return $this->name  === $obj->name
            && $this->email === $obj->email;
    }
}
?>


The Sequence interface

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

A Sequence describes the behaviour of values arranged in a single, linear dimension. Some languages refer to this as a "List". It’s similar to an array that uses incremental integer keys, with the exception of a few characteristics:

  • Values will always be indexed as [0, 1, 2, …, size - 1].
  • Only allowed to access values by index in the range [0, size - 1].

Use cases:

  • Wherever you would use an array as a list (not concerned with keys).
  • A more efficient alternative to SplDoublyLinkedList and SplFixedArray.

Resumo da Interface

Ds\Sequence implements Ds\Collection , ArrayAccess {
/* Métodos */
abstract public allocate ( int $capacity ) : void
abstract public apply ( callable $callback ) : void
abstract public capacity ( ) : int
abstract public contains ( mixed ...$values ) : bool
abstract public filter ( callable $callback = ? ) : Ds\Sequence
abstract public find ( mixed $value ) : mixed
abstract public first ( ) : mixed
abstract public get ( int $index ) : mixed
abstract public insert ( int $index , mixed ...$values ) : void
abstract public join ( string $glue = ? ) : string
abstract public last ( ) : mixed
abstract public map ( callable $callback ) : Ds\Sequence
abstract public merge ( mixed $values ) : Ds\Sequence
abstract public pop ( ) : mixed
abstract public push ( mixed ...$values ) : void
abstract public reduce ( callable $callback , mixed $initial = ? ) : mixed
abstract public remove ( int $index ) : mixed
abstract public reverse ( ) : void
abstract public reversed ( ) : Ds\Sequence
abstract public rotate ( int $rotations ) : void
abstract public set ( int $index , mixed $value ) : void
abstract public shift ( ) : mixed
abstract public slice ( int $index , int $length = ? ) : Ds\Sequence
abstract public sort ( callable $comparator = ? ) : void
abstract public sorted ( callable $comparator = ? ) : Ds\Sequence
abstract public sum ( ) : int|float
abstract public unshift ( mixed $values = ? ) : void
}

Changelog

Versão | Descrição
PECL ds 1.3.0 | The interface now extends ArrayAccess.

Índice

  • Ds\Sequence::allocate — Allocates enough memory for a required capacity
  • Ds\Sequence::apply — Updates all values by applying a callback function to each value
  • Ds\Sequence::capacity — Returns the current capacity
  • Ds\Sequence::contains — Determines if the sequence contains given values
  • Ds\Sequence::filter — Creates a new sequence using a callable to determine which values to include
  • Ds\Sequence::find — Attempts to find a value's index
  • Ds\Sequence::first — Returns the first value in the sequence
  • Ds\Sequence::get — Returns the value at a given index
  • Ds\Sequence::insert — Inserts values at a given index
  • Ds\Sequence::join — Joins all values together as a string
  • Ds\Sequence::last — Returns the last value
  • Ds\Sequence::map — Returns the result of applying a callback to each value
  • Ds\Sequence::merge — Returns the result of adding all given values to the sequence
  • Ds\Sequence::pop — Removes and returns the last value
  • Ds\Sequence::push — Adds values to the end of the sequence
  • Ds\Sequence::reduce — Reduces the sequence to a single value using a callback function
  • Ds\Sequence::remove — Removes and returns a value by index
  • Ds\Sequence::reverse — Reverses the sequence in-place
  • Ds\Sequence::reversed — Returns a reversed copy
  • Ds\Sequence::rotate — Rotates the sequence by a given number of rotations
  • Ds\Sequence::set — Updates a value at a given index
  • Ds\Sequence::shift — Removes and returns the first value
  • Ds\Sequence::slice — Returns a sub-sequence of a given range
  • Ds\Sequence::sort — Sorts the sequence in-place
  • Ds\Sequence::sorted — Returns a sorted copy
  • Ds\Sequence::sum — Returns the sum of all values in the sequence
  • Ds\Sequence::unshift — Adds values to the front of the sequence


Allocates enough memory for a required capacity

  • « Sequence
  • Ds\Sequence::apply »
  • PHP Manual
  • Sequence
  • Allocates enough memory for a required capacity

Ds\Sequence::allocate

(PECL ds >= 1.0.0)

Ds\Sequence::allocate — Allocates enough memory for a required capacity

Descrição

abstract public Ds\Sequence::allocate ( int $capacity ) : void

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Parâmetros

capacity

The number of values for which capacity should be allocated.

Nota:

Capacity will stay the same if this value is less than or equal to the current capacity.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Sequence::allocate() example

<?php
$sequence = new \Ds\Vector();
var_dump($sequence->capacity());

$vector->allocate(100);
var_dump($sequence->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(10)
int(100)


Updates all values by applying a callback function to each value

  • « Ds\Sequence::allocate
  • Ds\Sequence::capacity »
  • PHP Manual
  • Sequence
  • Updates all values by applying a callback function to each value

Ds\Sequence::apply

(PECL ds >= 1.0.0)

Ds\Sequence::apply — Updates all values by applying a callback function to each value

Descrição

abstract public Ds\Sequence::apply ( callable $callback ) : void

Updates all values by applying a callback function to each value in the sequence.

Parâmetros

callback

callback ( mixed $value ) : mixed

A callable to apply to each value in the sequence.

The callback should return what the value should be replaced by.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Sequence::apply() example

<?php
$sequence = new \Ds\Sequence([1, 2, 3]);
$sequence->apply(function($value) { return $value * 2; });

print_r($sequence);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)


Returns the current capacity

  • « Ds\Sequence::apply
  • Ds\Sequence::contains »
  • PHP Manual
  • Sequence
  • Returns the current capacity

Ds\Sequence::capacity

(PECL ds >= 1.0.0)

Ds\Sequence::capacity — Returns the current capacity

Descrição

abstract public Ds\Sequence::capacity ( ) : int

Returns the current capacity.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current capacity.

Exemplos

Exemplo #1 Ds\Sequence::capacity() example

<?php
$sequence = new \Ds\Vector();
var_dump($sequence->capacity());

$sequence->push(...range(1, 50));
var_dump($sequence->capacity());

$sequence[] = "a";
var_dump($sequence->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(10)
int(50)
int(75)


Determines if the sequence contains given values

  • « Ds\Sequence::capacity
  • Ds\Sequence::filter »
  • PHP Manual
  • Sequence
  • Determines if the sequence contains given values

Ds\Sequence::contains

(PECL ds >= 1.0.0)

Ds\Sequence::contains — Determines if the sequence contains given values

Descrição

abstract public Ds\Sequence::contains ( mixed ...$values ) : bool

Determines if the sequence contains all values.

Parâmetros

values

Values to check.

Valor Retornado

false if any of the provided values are not in the sequence, true otherwise.

Exemplos

Exemplo #1 Ds\Sequence::contains() example

<?php
$sequence = new \Ds\Vector(['a', 'b', 'c', 1, 2, 3]);

var_dump($sequence->contains('a'));                // true
var_dump($sequence->contains('a', 'b'));           // true
var_dump($sequence->contains('c', 'd'));           // false

var_dump($sequence->contains(...['c', 'b', 'a'])); // true

// Always strict
var_dump($sequence->contains(1));                  // true
var_dump($sequence->contains('1'));                // false

var_dump($sequece->contains(...[]));               // true
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(false)
bool(true)


Creates a new sequence using a callable to determine which values to include

  • « Ds\Sequence::contains
  • Ds\Sequence::find »
  • PHP Manual
  • Sequence
  • Creates a new sequence using a callable to determine which values to include

Ds\Sequence::filter

(PECL ds >= 1.0.0)

Ds\Sequence::filter — Creates a new sequence using a callable to determine which values to include

Descrição

abstract public Ds\Sequence::filter ( callable $callback = ? ) : Ds\Sequence

Creates a new sequence using a callable to determine which values to include.

Parâmetros

callback

callback ( mixed $value ) : bool

Optional callable which returns true if the value should be included, false otherwise.

If a callback is not provided, only values which are true (see converting to boolean) will be included.

Valor Retornado

A new sequence containing all the values for which either the callback returned true, or all values that convert to true if a callback was not provided.

Exemplos

Exemplo #1 Ds\Sequence::filter() example using callback function

<?php
$sequence = new \Ds\Vector([1, 2, 3, 4, 5]);

var_dump($sequence->filter(function($value) {
    return $value % 2 == 0;
}));
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Vector)#3 (2) {
  [0]=>
  int(2)
  [1]=>
  int(4)
}

Exemplo #2 Ds\Sequence::filter() example without a callback function

<?php
$sequence = new \Ds\Vector([0, 1, 'a', true, false]);

var_dump($sequence->filter());
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Vector)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}


Attempts to find a value's index

  • « Ds\Sequence::filter
  • Ds\Sequence::first »
  • PHP Manual
  • Sequence
  • Attempts to find a value's index

Ds\Sequence::find

(PECL ds >= 1.0.0)

Ds\Sequence::find — Attempts to find a value's index

Descrição

abstract public Ds\Sequence::find ( mixed $value ) : mixed

Returns the index of the value, or false if not found.

Parâmetros

value

The value to find.

Valor Retornado

The index of the value, or false if not found.

Nota:

Values will be compared by value and by type.

Exemplos

Exemplo #1 Ds\Sequence::find() example

<?php
$sequence = new \Ds\Vector(["a", 1, true]);

var_dump($sequence->find("a")); // 0
var_dump($sequence->find("b")); // false
var_dump($sequence->find("1")); // false
var_dump($sequence->find(1));   // 1
?>

O exemplo acima irá imprimir algo similar à:

int(0)
bool(false)
bool(false)
int(1)


Returns the first value in the sequence

  • « Ds\Sequence::find
  • Ds\Sequence::get »
  • PHP Manual
  • Sequence
  • Returns the first value in the sequence

Ds\Sequence::first

(PECL ds >= 1.0.0)

Ds\Sequence::first — Returns the first value in the sequence

Descrição

abstract public Ds\Sequence::first ( ) : mixed

Returns the first value in the sequence.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The first value in the sequence.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Sequence::first() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);
var_dump($sequence->first());
?>

O exemplo acima irá imprimir algo similar à:

int(1)


Returns the value at a given index

  • « Ds\Sequence::first
  • Ds\Sequence::insert »
  • PHP Manual
  • Sequence
  • Returns the value at a given index

Ds\Sequence::get

(PECL ds >= 1.0.0)

Ds\Sequence::get — Returns the value at a given index

Descrição

abstract public Ds\Sequence::get ( int $index ) : mixed

Returns the value at a given index.

Parâmetros

index

The index to access, starting at 0.

Valor Retornado

The value at the requested index.

Erros

OutOfRangeException if the index is not valid.

Exemplos

Exemplo #1 Ds\Sequence::get() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

var_dump($sequence->get(0));
var_dump($sequence->get(1));
var_dump($sequence->get(2));
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"
string(1) "b"
string(1) "c"

Exemplo #2 Ds\Sequence::get() example using array syntax

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

var_dump($sequence[0]);
var_dump($sequence[1]);
var_dump($sequence[2]);
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"
string(1) "b"
string(1) "c"


Inserts values at a given index

  • « Ds\Sequence::get
  • Ds\Sequence::join »
  • PHP Manual
  • Sequence
  • Inserts values at a given index

Ds\Sequence::insert

(PECL ds >= 1.0.0)

Ds\Sequence::insert — Inserts values at a given index

Descrição

abstract public Ds\Sequence::insert ( int $index , mixed ...$values ) : void

Inserts values into the sequence at a given index.

Parâmetros

index

The index at which to insert. 0 <= index <= count

Nota:

You can insert at the index equal to the number of values.

values

The value or values to insert.

Valor Retornado

Não há valor retornado.

Erros

OutOfRangeException if the index is not valid.

Exemplos

Exemplo #1 Ds\Sequence::insert() example

<?php
$sequence = new \Ds\Vector();

$sequence->insert(0, "e");             // [e]
$sequence->insert(1, "f");             // [e, f]
$sequence->insert(2, "g");             // [e, f, g]
$sequence->insert(0, "a", "b");        // [a, b, e, f, g]
$sequence->insert(2, ...["c", "d"]);   // [a, b, c, d, e, f, g]

var_dump($sequence);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Vector)#1 (7) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
  [3]=>
  string(1) "d"
  [4]=>
  string(1) "e"
  [5]=>
  string(1) "f"
  [6]=>
  string(1) "g"
}


Joins all values together as a string

  • « Ds\Sequence::insert
  • Ds\Sequence::last »
  • PHP Manual
  • Sequence
  • Joins all values together as a string

Ds\Sequence::join

(PECL ds >= 1.0.0)

Ds\Sequence::join — Joins all values together as a string

Descrição

abstract public Ds\Sequence::join ( string $glue = ? ) : string

Joins all values together as a string using an optional separator between each value.

Parâmetros

glue

An optional string to separate each value.

Valor Retornado

All values of the sequence joined together as a string.

Exemplos

Exemplo #1 Ds\Sequence::join() example using a separator string

<?php
$sequence = new \Ds\Vector(["a", "b", "c", 1, 2, 3]);

var_dump($sequence->join("|"));
?>

O exemplo acima irá imprimir algo similar à:

string(11) "a|b|c|1|2|3"

Exemplo #2 Ds\Sequence::join() example without a separator string

<?php
$sequence = new \Ds\Vector(["a", "b", "c", 1, 2, 3]);

var_dump($sequence->join());
?>

O exemplo acima irá imprimir algo similar à:

string(11) "abc123"


Returns the last value

  • « Ds\Sequence::join
  • Ds\Sequence::map »
  • PHP Manual
  • Sequence
  • Returns the last value

Ds\Sequence::last

(PECL ds >= 1.0.0)

Ds\Sequence::last — Returns the last value

Descrição

abstract public Ds\Sequence::last ( ) : mixed

Returns the last value in the sequence.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The last value in the sequence.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Sequence::last() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);
var_dump($sequence->last());
?>

O exemplo acima irá imprimir algo similar à:

int(3)


Returns the result of applying a callback to each value

  • « Ds\Sequence::last
  • Ds\Sequence::merge »
  • PHP Manual
  • Sequence
  • Returns the result of applying a callback to each value

Ds\Sequence::map

(PECL ds >= 1.0.0)

Ds\Sequence::map — Returns the result of applying a callback to each value

Descrição

abstract public Ds\Sequence::map ( callable $callback ) : Ds\Sequence

Returns the result of applying a callback function to each value in the sequence.

Parâmetros

callback

callback ( mixed $value ) : mixed

A callable to apply to each value in the sequence.

The callable should return what the new value will be in the new sequence.

Valor Retornado

The result of applying a callback to each value in the sequence.

Nota:

The values of the current instance won't be affected.

Exemplos

Exemplo #1 Ds\Sequence::map() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

print_r($sequence->map(function($value) { return $value * 2; }));
print_r($sequence);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)


Returns the result of adding all given values to the sequence

  • « Ds\Sequence::map
  • Ds\Sequence::pop »
  • PHP Manual
  • Sequence
  • Returns the result of adding all given values to the sequence

Ds\Sequence::merge

(PECL ds >= 1.0.0)

Ds\Sequence::merge — Returns the result of adding all given values to the sequence

Descrição

abstract public Ds\Sequence::merge ( mixed $values ) : Ds\Sequence

Returns the result of adding all given values to the sequence.

Parâmetros

values

A traversable object or an array.

Valor Retornado

The result of adding all given values to the sequence, effectively the same as adding the values to a copy, then returning that copy.

Nota:

The current instance won't be affected.

Exemplos

Exemplo #1 Ds\Sequence::merge() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

var_dump($sequence->merge([4, 5, 6]));
var_dump($sequence);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Vector)#2 (6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
}
object(Ds\Vector)#1 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Removes and returns the last value

  • « Ds\Sequence::merge
  • Ds\Sequence::push »
  • PHP Manual
  • Sequence
  • Removes and returns the last value

Ds\Sequence::pop

(PECL ds >= 1.0.0)

Ds\Sequence::pop — Removes and returns the last value

Descrição

abstract public Ds\Sequence::pop ( ) : mixed

Removes and returns the last value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The removed last value.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Sequence::pop() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

var_dump($sequence->pop());
var_dump($sequence->pop());
var_dump($sequence->pop());
?>

O exemplo acima irá imprimir algo similar à:

int(3)
int(2)
int(1)


Adds values to the end of the sequence

  • « Ds\Sequence::pop
  • Ds\Sequence::reduce »
  • PHP Manual
  • Sequence
  • Adds values to the end of the sequence

Ds\Sequence::push

(PECL ds >= 1.0.0)

Ds\Sequence::push — Adds values to the end of the sequence

Descrição

abstract public Ds\Sequence::push ( mixed ...$values ) : void

Adds values to the end of the sequence.

Parâmetros

values

The values to add.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Sequence::push() example

<?php
$sequence = new \Ds\Vector();

$sequence->push("a");
$sequence->push("b");
$sequence->push("c", "d");
$sequence->push(...["e", "f"]);

print_r($sequence);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)


Reduces the sequence to a single value using a callback function

  • « Ds\Sequence::push
  • Ds\Sequence::remove »
  • PHP Manual
  • Sequence
  • Reduces the sequence to a single value using a callback function

Ds\Sequence::reduce

(PECL ds >= 1.0.0)

Ds\Sequence::reduce — Reduces the sequence to a single value using a callback function

Descrição

abstract public Ds\Sequence::reduce ( callable $callback , mixed $initial = ? ) : mixed

Reduces the sequence to a single value using a callback function.

Parâmetros

callback
callback ( mixed $carry , mixed $value ) : mixed
carry

The return value of the previous callback, or initial if it's the first iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be null.

Valor Retornado

The return value of the final callback.

Exemplos

Exemplo #1 Ds\Sequence::reduce() with initial value example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

$callback = function($carry, $value) {
    return $carry * $value;
};

var_dump($sequence->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 =  5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

O exemplo acima irá imprimir algo similar à:

int(30)

Exemplo #2 Ds\Sequence::reduce() without an initial value example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

var_dump($sequence->reduce(function($carry, $value) {
    return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 =  6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

O exemplo acima irá imprimir algo similar à:

int(21)


Removes and returns a value by index

  • « Ds\Sequence::reduce
  • Ds\Sequence::reverse »
  • PHP Manual
  • Sequence
  • Removes and returns a value by index

Ds\Sequence::remove

(PECL ds >= 1.0.0)

Ds\Sequence::remove — Removes and returns a value by index

Descrição

abstract public Ds\Sequence::remove ( int $index ) : mixed

Removes and returns a value by index.

Parâmetros

index

The index of the value to remove.

Valor Retornado

The value that was removed.

Erros

OutOfRangeException if the index is not valid.

Exemplos

Exemplo #1 Ds\Sequence::remove() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

var_dump($sequence->remove(1));
var_dump($sequence->remove(0));
var_dump($sequence->remove(0));
?>

O exemplo acima irá imprimir algo similar à:

string(1) "b"
string(1) "a"
string(1) "c"


Reverses the sequence in-place

  • « Ds\Sequence::remove
  • Ds\Sequence::reversed »
  • PHP Manual
  • Sequence
  • Reverses the sequence in-place

Ds\Sequence::reverse

(PECL ds >= 1.0.0)

Ds\Sequence::reverse — Reverses the sequence in-place

Descrição

abstract public Ds\Sequence::reverse ( ) : void

Reverses the sequence in-place.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Sequence::reverse() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);
$sequence->reverse();

print_r($sequence);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => c
    [1] => b
    [2] => a
)


Returns a reversed copy

  • « Ds\Sequence::reverse
  • Ds\Sequence::rotate »
  • PHP Manual
  • Sequence
  • Returns a reversed copy

Ds\Sequence::reversed

(PECL ds >= 1.0.0)

Ds\Sequence::reversed — Returns a reversed copy

Descrição

abstract public Ds\Sequence::reversed ( ) : Ds\Sequence

Returns a reversed copy of the sequence.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A reversed copy of the sequence.

Nota:

The current instance is not affected.

Exemplos

Exemplo #1 Ds\Sequence::reversed() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

print_r($sequence->reversed());
print_r($sequence);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
)


Rotates the sequence by a given number of rotations

  • « Ds\Sequence::reversed
  • Ds\Sequence::set »
  • PHP Manual
  • Sequence
  • Rotates the sequence by a given number of rotations

Ds\Sequence::rotate

(PECL ds >= 1.0.0)

Ds\Sequence::rotate — Rotates the sequence by a given number of rotations

Descrição

abstract public Ds\Sequence::rotate ( int $rotations ) : void

Rotates the sequence by a given number of rotations, which is equivalent to successively calling $sequence->push($sequence->shift()) if the number of rotations is positive, or $sequence->unshift($sequence->pop()) if negative.

Parâmetros

rotations

The number of times the sequence should be rotated.

Valor Retornado

Não há valor retornado.. The sequence of the current instance will be rotated.

Exemplos

Exemplo #1 Ds\Sequence::rotate() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c", "d"]);

$sequence->rotate(1);  // "a" is shifted, then pushed.
print_r($sequence);

$sequence->rotate(2);  // "b" and "c" are both shifted, the pushed.
print_r($sequence);
?>

O exemplo acima irá imprimir algo similar à:

(
    [0] => b
    [1] => c
    [2] => d
    [3] => a
)
Ds\Vector Object
(
    [0] => d
    [1] => a
    [2] => b
    [3] => c
)


Updates a value at a given index

  • « Ds\Sequence::rotate
  • Ds\Sequence::shift »
  • PHP Manual
  • Sequence
  • Updates a value at a given index

Ds\Sequence::set

(PECL ds >= 1.0.0)

Ds\Sequence::set — Updates a value at a given index

Descrição

abstract public Ds\Sequence::set ( int $index , mixed $value ) : void

Updates a value at a given index.

Parâmetros

index

The index of the value to update.

value

The new value.

Valor Retornado

Não há valor retornado.

Erros

OutOfRangeException if the index is not valid.

Exemplos

Exemplo #1 Ds\Sequence::set() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

$sequence->set(1, "_");
print_r($sequence);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => a
    [1] => _
    [2] => c
)

Exemplo #2 Ds\Sequence::set() example using array syntax

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

$sequence[1] = "_";
print_r($sequence);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => a
    [1] => _
    [2] => c
)


Removes and returns the first value

  • « Ds\Sequence::set
  • Ds\Sequence::slice »
  • PHP Manual
  • Sequence
  • Removes and returns the first value

Ds\Sequence::shift

(PECL ds >= 1.0.0)

Ds\Sequence::shift — Removes and returns the first value

Descrição

abstract public Ds\Sequence::shift ( ) : mixed

Removes and returns the first value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The first value, which was removed.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Sequence::shift() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

var_dump($sequence->shift());
var_dump($sequence->shift());
var_dump($sequence->shift());
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"
string(1) "b"
string(1) "c"


Returns a sub-sequence of a given range

  • « Ds\Sequence::shift
  • Ds\Sequence::sort »
  • PHP Manual
  • Sequence
  • Returns a sub-sequence of a given range

Ds\Sequence::slice

(PECL ds >= 1.0.0)

Ds\Sequence::slice — Returns a sub-sequence of a given range

Descrição

abstract public Ds\Sequence::slice ( int $index , int $length = ? ) : Ds\Sequence

Creates a sub-sequence of a given range.

Parâmetros

index

The index at which the sub-sequence starts.

If positive, the sequence will start at that index in the sequence. If negative, the sequence will start that far from the end.

length

If a length is given and is positive, the resulting sequence will have up to that many values in it. If the length results in an overflow, only values up to the end of the sequence will be included. If a length is given and is negative, the sequence will stop that many values from the end. If a length is not provided, the resulting sequence will contain all values between the index and the end of the sequence.

Valor Retornado

A sub-sequence of the given range.

Exemplos

Exemplo #1 Ds\Sequence::slice() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c", "d", "e"]);

// Slice from 2 onwards
print_r($sequence->slice(2));

// Slice from 1, for a length of 3
print_r($sequence->slice(1, 3));

// Slice from 1 onwards
print_r($sequence->slice(1));

// Slice from 2 from the end onwards
print_r($sequence->slice(-2));

// Slice from 1 to 1 from the end
print_r($sequence->slice(1, -1));
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => c
    [1] => d
    [2] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
    [3] => e
)
Ds\Vector Object
(
    [0] => d
    [1] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)


Sorts the sequence in-place

  • « Ds\Sequence::slice
  • Ds\Sequence::sorted »
  • PHP Manual
  • Sequence
  • Sorts the sequence in-place

Ds\Sequence::sort

(PECL ds >= 1.0.0)

Ds\Sequence::sort — Sorts the sequence in-place

Descrição

abstract public Ds\Sequence::sort ( callable $comparator = ? ) : void

Sorts the sequence in-place, using an optional comparator function.

Parâmetros

comparator

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
Cuidado

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Sequence::sort() example

<?php
$sequence = new \Ds\Vector([4, 5, 1, 3, 2]);
$sequence->sort();

print_r($sequence);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Exemplo #2 Ds\Sequence::sort() example using a comparator

<?php
$sequence = new \Ds\Vector([4, 5, 1, 3, 2]);

$sequence->sort(function($a, $b) {
    return $b <=> $a;
});

print_r($sequence);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns a sorted copy

  • « Ds\Sequence::sort
  • Ds\Sequence::sum »
  • PHP Manual
  • Sequence
  • Returns a sorted copy

Ds\Sequence::sorted

(PECL ds >= 1.0.0)

Ds\Sequence::sorted — Returns a sorted copy

Descrição

abstract public Ds\Sequence::sorted ( callable $comparator = ? ) : Ds\Sequence

Returns a sorted copy, using an optional comparator function.

Parâmetros

comparator

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
Cuidado

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Valor Retornado

Returns a sorted copy of the sequence.

Exemplos

Exemplo #1 Ds\Sequence::sorted() example

<?php
$sequence = new \Ds\Vector([4, 5, 1, 3, 2]);

print_r($sequence->sorted());
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Exemplo #2 Ds\Sequence::sorted() example using a comparator

<?php
$sequence = new \Ds\Vector([4, 5, 1, 3, 2]);

$sorted = $sequence->sorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns the sum of all values in the sequence

  • « Ds\Sequence::sorted
  • Ds\Sequence::unshift »
  • PHP Manual
  • Sequence
  • Returns the sum of all values in the sequence

Ds\Sequence::sum

(PECL ds >= 1.0.0)

Ds\Sequence::sum — Returns the sum of all values in the sequence

Descrição

abstract public Ds\Sequence::sum ( ) : int|float

Returns the sum of all values in the sequence.

Nota:

Arrays and objects are considered equal to zero when calculating the sum.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The sum of all the values in the sequence as either a float or int depending on the values in the sequence.

Exemplos

Exemplo #1 Ds\Sequence::sum() integer example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);
var_dump($sequence->sum());
?>

O exemplo acima irá imprimir algo similar à:

int(6)

Exemplo #2 Ds\Sequence::sum() float example

<?php
$sequence = new \Ds\Vector([1, 2.5, 3]);
var_dump($sequence->sum());
?>

O exemplo acima irá imprimir algo similar à:

float(6.5)


Adds values to the front of the sequence

  • « Ds\Sequence::sum
  • Vector »
  • PHP Manual
  • Sequence
  • Adds values to the front of the sequence

Ds\Sequence::unshift

(PECL ds >= 1.0.0)

Ds\Sequence::unshift — Adds values to the front of the sequence

Descrição

abstract public Ds\Sequence::unshift ( mixed $values = ? ) : void

Adds values to the front of the sequence, moving all the current values forward to make room for the new values.

Parâmetros

values

The values to add to the front of the sequence.

Nota:

Multiple values will be added in the same order that they are passed.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Sequence::unshift() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

$sequence->unshift("a");
$sequence->unshift("b", "c");

print_r($sequence);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => a
    [3] => 1
    [4] => 2
    [5] => 3
)


The Vector class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

A Vector is a sequence of values in a contiguous buffer that grows and shrinks automatically. It’s the most efficient sequential structure because a value’s index is a direct mapping to its index in the buffer, and the growth factor isn't bound to a specific multiple or exponent.

Strengths

  • Supports array syntax (square brackets).
  • Uses less overall memory than an array for the same number of values.
  • Automatically frees allocated memory when its size drops low enough.
  • Capacity does not have to be a power of 2.
  • get(),
set(),
push(),
pop() are all O(1).

Weaknesses

  • shift(),
unshift(),
insert() and
remove() are all O(n).

Sinopse da classe

Ds\Vector implements Ds\Sequence , ArrayAccess {
/* Constants */
const int MIN_CAPACITY = 10 ;
/* Métodos */
public allocate ( int $capacity ) : void
public apply ( callable $callback ) : void
public capacity ( ) : int
public clear ( ) : void
public contains ( mixed ...$values ) : bool
public copy ( ) : Ds\Vector
public filter ( callable $callback = ? ) : Ds\Vector
public find ( mixed $value ) : mixed
public first ( ) : mixed
public get ( int $index ) : mixed
public insert ( int $index , mixed ...$values ) : void
public isEmpty ( ) : bool
public join ( string $glue = ? ) : string
public last ( ) : mixed
public map ( callable $callback ) : Ds\Vector
public merge ( mixed $values ) : Ds\Vector
public pop ( ) : mixed
public push ( mixed ...$values ) : void
public reduce ( callable $callback , mixed $initial = ? ) : mixed
public remove ( int $index ) : mixed
public reverse ( ) : void
public reversed ( ) : Ds\Vector
public rotate ( int $rotations ) : void
public set ( int $index , mixed $value ) : void
public shift ( ) : mixed
public slice ( int $index , int $length = ? ) : Ds\Vector
public sort ( callable $comparator = ? ) : void
public sorted ( callable $comparator = ? ) : Ds\Vector
public sum ( ) : int|float
public toArray ( ) : array
public unshift ( mixed $values = ? ) : void
}

Constantes pré-definidas

Ds\Vector::MIN_CAPACITY

Changelog

Versão | Descrição
PECL ds 1.3.0 | The class now implements ArrayAccess.

Índice

  • Ds\Vector::allocate — Allocates enough memory for a required capacity
  • Ds\Vector::apply — Updates all values by applying a callback function to each value
  • Ds\Vector::capacity — Returns the current capacity
  • Ds\Vector::clear — Removes all values
  • Ds\Vector::__construct — Creates a new instance
  • Ds\Vector::contains — Determines if the vector contains given values
  • Ds\Vector::copy — Returns a shallow copy of the vector
  • Ds\Vector::count — Returns the number of values in the collection
  • Ds\Vector::filter — Creates a new vector using a callable to determine which values to include
  • Ds\Vector::find — Attempts to find a value's index
  • Ds\Vector::first — Returns the first value in the vector
  • Ds\Vector::get — Returns the value at a given index
  • Ds\Vector::insert — Inserts values at a given index
  • Ds\Vector::isEmpty — Returns whether the vector is empty
  • Ds\Vector::join — Joins all values together as a string
  • Ds\Vector::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Vector::last — Returns the last value
  • Ds\Vector::map — Returns the result of applying a callback to each value
  • Ds\Vector::merge — Returns the result of adding all given values to the vector
  • Ds\Vector::pop — Removes and returns the last value
  • Ds\Vector::push — Adds values to the end of the vector
  • Ds\Vector::reduce — Reduces the vector to a single value using a callback function
  • Ds\Vector::remove — Removes and returns a value by index
  • Ds\Vector::reverse — Reverses the vector in-place
  • Ds\Vector::reversed — Returns a reversed copy
  • Ds\Vector::rotate — Rotates the vector by a given number of rotations
  • Ds\Vector::set — Updates a value at a given index
  • Ds\Vector::shift — Removes and returns the first value
  • Ds\Vector::slice — Returns a sub-vector of a given range
  • Ds\Vector::sort — Sorts the vector in-place
  • Ds\Vector::sorted — Returns a sorted copy
  • Ds\Vector::sum — Returns the sum of all values in the vector
  • Ds\Vector::toArray — Converts the vector to an array
  • Ds\Vector::unshift — Adds values to the front of the vector


Allocates enough memory for a required capacity

  • « Vector
  • Ds\Vector::apply »
  • PHP Manual
  • Vector
  • Allocates enough memory for a required capacity

Ds\Vector::allocate

(PECL ds >= 1.0.0)

Ds\Vector::allocate — Allocates enough memory for a required capacity

Descrição

public Ds\Vector::allocate ( int $capacity ) : void

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Parâmetros

capacity

The number of values for which capacity should be allocated.

Nota:

Capacity will stay the same if this value is less than or equal to the current capacity.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Vector::allocate() example

<?php
$vector = new \Ds\Vector();
var_dump($vector->capacity());

$vector->allocate(100);
var_dump($vector->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(10)
int(100)


Updates all values by applying a callback function to each value

  • « Ds\Vector::allocate
  • Ds\Vector::capacity »
  • PHP Manual
  • Vector
  • Updates all values by applying a callback function to each value

Ds\Vector::apply

(PECL ds >= 1.0.0)

Ds\Vector::apply — Updates all values by applying a callback function to each value

Descrição

public Ds\Vector::apply ( callable $callback ) : void

Updates all values by applying a callback function to each value in the vector.

Parâmetros

callback

callback ( mixed $value ) : mixed

A callable to apply to each value in the vector.

The callback should return what the value should be replaced by.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Vector::apply() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
$vector->apply(function($value) { return $value * 2; });

print_r($vector);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)


Returns the current capacity

  • « Ds\Vector::apply
  • Ds\Vector::clear »
  • PHP Manual
  • Vector
  • Returns the current capacity

Ds\Vector::capacity

(PECL ds >= 1.0.0)

Ds\Vector::capacity — Returns the current capacity

Descrição

public Ds\Vector::capacity ( ) : int

Returns the current capacity.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current capacity.

Exemplos

Exemplo #1 Ds\Vector::capacity() example

<?php
$vector = new \Ds\Vector();
var_dump($vector->capacity());

$vector->push(...range(1, 50));
var_dump($vector->capacity());

$vector[] = "a";
var_dump($vector->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(10)
int(50)
int(75)


Removes all values

  • « Ds\Vector::capacity
  • Ds\Vector::__construct »
  • PHP Manual
  • Vector
  • Removes all values

Ds\Vector::clear

(PECL ds >= 1.0.0)

Ds\Vector::clear — Removes all values

Descrição

public Ds\Vector::clear ( ) : void

Removes all values from the vector.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Vector::clear() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
print_r($vector);

$vector->clear();
print_r($vector);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Vector Object
(
)


Creates a new instance

  • « Ds\Vector::clear
  • Ds\Vector::contains »
  • PHP Manual
  • Vector
  • Creates a new instance

Ds\Vector::__construct

(PECL ds >= 1.0.0)

Ds\Vector::__construct — Creates a new instance

Descrição

public Ds\Vector::__construct ( mixed $values = ? )

Creates a new instance, using either a traversable object or an array for the initial values.

Parâmetros

values

A traversable object or an array to use for the initial values.

Exemplos

Exemplo #1 Ds\Vector::__construct() example

<?php
$vector = new \Ds\Vector();
var_dump($vector);

$vector = new \Ds\Vector([1, 2, 3]);
var_dump($vector);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Vector)#2 (0) {
}
object(Ds\Vector)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Determines if the vector contains given values

  • « Ds\Vector::__construct
  • Ds\Vector::copy »
  • PHP Manual
  • Vector
  • Determines if the vector contains given values

Ds\Vector::contains

(PECL ds >= 1.0.0)

Ds\Vector::contains — Determines if the vector contains given values

Descrição

public Ds\Vector::contains ( mixed ...$values ) : bool

Determines if the vector contains all values.

Parâmetros

values

Values to check.

Valor Retornado

false if any of the provided values are not in the vector, true otherwise.

Exemplos

Exemplo #1 Ds\Vector::contains() example

<?php
$vector = new \Ds\Vector(['a', 'b', 'c', 1, 2, 3]);

var_dump($vector->contains('a'));                // true
var_dump($vector->contains('a', 'b'));           // true
var_dump($vector->contains('c', 'd'));           // false

var_dump($vector->contains(...['c', 'b', 'a'])); // true

// Always strict
var_dump($vector->contains(1));                  // true
var_dump($vector->contains('1'));                // false

var_dump($sequece->contains(...[]));               // true
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(false)
bool(true)


Returns a shallow copy of the vector

  • « Ds\Vector::contains
  • Ds\Vector::count »
  • PHP Manual
  • Vector
  • Returns a shallow copy of the vector

Ds\Vector::copy

(PECL ds >= 1.0.0)

Ds\Vector::copy — Returns a shallow copy of the vector

Descrição

public Ds\Vector::copy ( ) : Ds\Vector

Returns a shallow copy of the vector.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a shallow copy of the vector.

Exemplos

Exemplo #1 Ds\Vector::copy() example

<?php
$a = new \Ds\Vector([1, 2, 3]);
$b = $a->copy();

// Updating the copy doesn't affect the original
$b->push(4);

print_r($a);
print_r($b);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)


Returns the number of values in the collection

  • « Ds\Vector::copy
  • Ds\Vector::filter »
  • PHP Manual
  • Vector
  • Returns the number of values in the collection

Ds\Vector::count

(PECL ds >= 1.0.0)

Ds\Vector::count — Returns the number of values in the collection

See Countable::count()


Creates a new vector using a callable to determine which values to include

  • « Ds\Vector::count
  • Ds\Vector::find »
  • PHP Manual
  • Vector
  • Creates a new vector using a callable to determine which values to include

Ds\Vector::filter

(PECL ds >= 1.0.0)

Ds\Vector::filter — Creates a new vector using a callable to determine which values to include

Descrição

public Ds\Vector::filter ( callable $callback = ? ) : Ds\Vector

Creates a new vector using a callable to determine which values to include.

Parâmetros

callback

callback ( mixed $value ) : bool

Optional callable which returns true if the value should be included, false otherwise.

If a callback is not provided, only values which are true (see converting to boolean) will be included.

Valor Retornado

A new vector containing all the values for which either the callback returned true, or all values that convert to true if a callback was not provided.

Exemplos

Exemplo #1 Ds\Vector::filter() example using callback function

<?php
$vector = new \Ds\Vector([1, 2, 3, 4, 5]);

var_dump($vector->filter(function($value) {
    return $value % 2 == 0;
}));
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Vector)#3 (2) {
  [0]=>
  int(2)
  [1]=>
  int(4)
}

Exemplo #2 Ds\Vector::filter() example without a callback function

<?php
$vector = new \Ds\Vector([0, 1, 'a', true, false]);

var_dump($vector->filter());
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Vector)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}


Attempts to find a value's index

  • « Ds\Vector::filter
  • Ds\Vector::first »
  • PHP Manual
  • Vector
  • Attempts to find a value's index

Ds\Vector::find

(PECL ds >= 1.0.0)

Ds\Vector::find — Attempts to find a value's index

Descrição

public Ds\Vector::find ( mixed $value ) : mixed

Returns the index of the value, or false if not found.

Parâmetros

value

The value to find.

Valor Retornado

The index of the value, or false if not found.

Nota:

Values will be compared by value and by type.

Exemplos

Exemplo #1 Ds\Vector::find() example

<?php
$vector = new \Ds\Vector(["a", 1, true]);

var_dump($vector->find("a")); // 0
var_dump($vector->find("b")); // false
var_dump($vector->find("1")); // false
var_dump($vector->find(1));   // 1
?>

O exemplo acima irá imprimir algo similar à:

int(0)
bool(false)
bool(false)
int(1)


Returns the first value in the vector

  • « Ds\Vector::find
  • Ds\Vector::get »
  • PHP Manual
  • Vector
  • Returns the first value in the vector

Ds\Vector::first

(PECL ds >= 1.0.0)

Ds\Vector::first — Returns the first value in the vector

Descrição

public Ds\Vector::first ( ) : mixed

Returns the first value in the vector.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The first value in the vector.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Vector::first() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
var_dump($vector->first());
?>

O exemplo acima irá imprimir algo similar à:

int(1)


Returns the value at a given index

  • « Ds\Vector::first
  • Ds\Vector::insert »
  • PHP Manual
  • Vector
  • Returns the value at a given index

Ds\Vector::get

(PECL ds >= 1.0.0)

Ds\Vector::get — Returns the value at a given index

Descrição

public Ds\Vector::get ( int $index ) : mixed

Returns the value at a given index.

Parâmetros

index

The index to access, starting at 0.

Valor Retornado

The value at the requested index.

Erros

OutOfRangeException if the index is not valid.

Exemplos

Exemplo #1 Ds\Vector::get() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

var_dump($vector->get(0));
var_dump($vector->get(1));
var_dump($vector->get(2));
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"
string(1) "b"
string(1) "c"

Exemplo #2 Ds\Vector::get() example using array syntax

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

var_dump($vector[0]);
var_dump($vector[1]);
var_dump($vector[2]);
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"
string(1) "b"
string(1) "c"


Inserts values at a given index

  • « Ds\Vector::get
  • Ds\Vector::isEmpty »
  • PHP Manual
  • Vector
  • Inserts values at a given index

Ds\Vector::insert

(PECL ds >= 1.0.0)

Ds\Vector::insert — Inserts values at a given index

Descrição

public Ds\Vector::insert ( int $index , mixed ...$values ) : void

Inserts values into the vector at a given index.

Parâmetros

index

The index at which to insert. 0 <= index <= count

Nota:

You can insert at the index equal to the number of values.

values

The value or values to insert.

Valor Retornado

Não há valor retornado.

Erros

OutOfRangeException if the index is not valid.

Exemplos

Exemplo #1 Ds\Vector::insert() example

<?php
$vector = new \Ds\Vector();

$vector->insert(0, "e");             // [e]
$vector->insert(1, "f");             // [e, f]
$vector->insert(2, "g");             // [e, f, g]
$vector->insert(0, "a", "b");        // [a, b, e, f, g]
$vector->insert(2, ...["c", "d"]);   // [a, b, c, d, e, f, g]

var_dump($vector);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Vector)#1 (7) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
  [3]=>
  string(1) "d"
  [4]=>
  string(1) "e"
  [5]=>
  string(1) "f"
  [6]=>
  string(1) "g"
}


Returns whether the vector is empty

  • « Ds\Vector::insert
  • Ds\Vector::join »
  • PHP Manual
  • Vector
  • Returns whether the vector is empty

Ds\Vector::isEmpty

(PECL ds >= 1.0.0)

Ds\Vector::isEmpty — Returns whether the vector is empty

Descrição

public Ds\Vector::isEmpty ( ) : bool

Returns whether the vector is empty.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the vector is empty, false otherwise.

Exemplos

Exemplo #1 Ds\Vector::isEmpty() example

<?php
$a = new \Ds\Vector([1, 2, 3]);
$b = new \Ds\Vector();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)


Joins all values together as a string

  • « Ds\Vector::isEmpty
  • Ds\Vector::jsonSerialize »
  • PHP Manual
  • Vector
  • Joins all values together as a string

Ds\Vector::join

(PECL ds >= 1.0.0)

Ds\Vector::join — Joins all values together as a string

Descrição

public Ds\Vector::join ( string $glue = ? ) : string

Joins all values together as a string using an optional separator between each value.

Parâmetros

glue

An optional string to separate each value.

Valor Retornado

All values of the vector joined together as a string.

Exemplos

Exemplo #1 Ds\Vector::join() example using a separator string

<?php
$vector = new \Ds\Vector(["a", "b", "c", 1, 2, 3]);

var_dump($vector->join("|"));
?>

O exemplo acima irá imprimir algo similar à:

string(11) "a|b|c|1|2|3"

Exemplo #2 Ds\Vector::join() example without a separator string

<?php
$vector = new \Ds\Vector(["a", "b", "c", 1, 2, 3]);

var_dump($vector->join());
?>

O exemplo acima irá imprimir algo similar à:

string(11) "abc123"


Returns a representation that can be converted to JSON

  • « Ds\Vector::join
  • Ds\Vector::last »
  • PHP Manual
  • Vector
  • Returns a representation that can be converted to JSON

Ds\Vector::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Vector::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Nota:

You should never need to call this directly.


Returns the last value

  • « Ds\Vector::jsonSerialize
  • Ds\Vector::map »
  • PHP Manual
  • Vector
  • Returns the last value

Ds\Vector::last

(PECL ds >= 1.0.0)

Ds\Vector::last — Returns the last value

Descrição

public Ds\Vector::last ( ) : mixed

Returns the last value in the vector.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The last value in the vector.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Vector::last() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
var_dump($vector->last());
?>

O exemplo acima irá imprimir algo similar à:

int(3)


Returns the result of applying a callback to each value

  • « Ds\Vector::last
  • Ds\Vector::merge »
  • PHP Manual
  • Vector
  • Returns the result of applying a callback to each value

Ds\Vector::map

(PECL ds >= 1.0.0)

Ds\Vector::map — Returns the result of applying a callback to each value

Descrição

public Ds\Vector::map ( callable $callback ) : Ds\Vector

Returns the result of applying a callback function to each value in the vector.

Parâmetros

callback

callback ( mixed $value ) : mixed

A callable to apply to each value in the vector.

The callable should return what the new value will be in the new vector.

Valor Retornado

The result of applying a callback to each value in the vector.

Nota:

The values of the current instance won't be affected.

Exemplos

Exemplo #1 Ds\Vector::map() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

print_r($vector->map(function($value) { return $value * 2; }));
print_r($vector);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)


Returns the result of adding all given values to the vector

  • « Ds\Vector::map
  • Ds\Vector::pop »
  • PHP Manual
  • Vector
  • Returns the result of adding all given values to the vector

Ds\Vector::merge

(PECL ds >= 1.0.0)

Ds\Vector::merge — Returns the result of adding all given values to the vector

Descrição

public Ds\Vector::merge ( mixed $values ) : Ds\Vector

Returns the result of adding all given values to the vector.

Parâmetros

values

A traversable object or an array.

Valor Retornado

The result of adding all given values to the vector, effectively the same as adding the values to a copy, then returning that copy.

Nota:

The current instance won't be affected.

Exemplos

Exemplo #1 Ds\Vector::merge() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

var_dump($vector->merge([4, 5, 6]));
var_dump($vector);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Vector)#2 (6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
}
object(Ds\Vector)#1 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Removes and returns the last value

  • « Ds\Vector::merge
  • Ds\Vector::push »
  • PHP Manual
  • Vector
  • Removes and returns the last value

Ds\Vector::pop

(PECL ds >= 1.0.0)

Ds\Vector::pop — Removes and returns the last value

Descrição

public Ds\Vector::pop ( ) : mixed

Removes and returns the last value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The removed last value.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Vector::pop() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

var_dump($vector->pop());
var_dump($vector->pop());
var_dump($vector->pop());
?>

O exemplo acima irá imprimir algo similar à:

int(3)
int(2)
int(1)


Adds values to the end of the vector

  • « Ds\Vector::pop
  • Ds\Vector::reduce »
  • PHP Manual
  • Vector
  • Adds values to the end of the vector

Ds\Vector::push

(PECL ds >= 1.0.0)

Ds\Vector::push — Adds values to the end of the vector

Descrição

public Ds\Vector::push ( mixed ...$values ) : void

Adds values to the end of the vector.

Parâmetros

values

The values to add.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Vector::push() example

<?php
$vector = new \Ds\Vector();

$vector->push("a");
$vector->push("b");
$vector->push("c", "d");
$vector->push(...["e", "f"]);

print_r($vector);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)


Reduces the vector to a single value using a callback function

  • « Ds\Vector::push
  • Ds\Vector::remove »
  • PHP Manual
  • Vector
  • Reduces the vector to a single value using a callback function

Ds\Vector::reduce

(PECL ds >= 1.0.0)

Ds\Vector::reduce — Reduces the vector to a single value using a callback function

Descrição

public Ds\Vector::reduce ( callable $callback , mixed $initial = ? ) : mixed

Reduces the vector to a single value using a callback function.

Parâmetros

callback
callback ( mixed $carry , mixed $value ) : mixed
carry

The return value of the previous callback, or initial if it's the first iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be null.

Valor Retornado

The return value of the final callback.

Exemplos

Exemplo #1 Ds\Vector::reduce() with initial value example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

$callback = function($carry, $value) {
    return $carry * $value;
};

var_dump($vector->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 =  5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

O exemplo acima irá imprimir algo similar à:

int(30)

Exemplo #2 Ds\Vector::reduce() without an initial value example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

var_dump($vector->reduce(function($carry, $value) {
    return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 =  6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

O exemplo acima irá imprimir algo similar à:

int(21)


Removes and returns a value by index

  • « Ds\Vector::reduce
  • Ds\Vector::reverse »
  • PHP Manual
  • Vector
  • Removes and returns a value by index

Ds\Vector::remove

(PECL ds >= 1.0.0)

Ds\Vector::remove — Removes and returns a value by index

Descrição

public Ds\Vector::remove ( int $index ) : mixed

Removes and returns a value by index.

Parâmetros

index

The index of the value to remove.

Valor Retornado

The value that was removed.

Erros

OutOfRangeException if the index is not valid.

Exemplos

Exemplo #1 Ds\Vector::remove() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

var_dump($vector->remove(1));
var_dump($vector->remove(0));
var_dump($vector->remove(0));
?>

O exemplo acima irá imprimir algo similar à:

string(1) "b"
string(1) "a"
string(1) "c"


Reverses the vector in-place

  • « Ds\Vector::remove
  • Ds\Vector::reversed »
  • PHP Manual
  • Vector
  • Reverses the vector in-place

Ds\Vector::reverse

(PECL ds >= 1.0.0)

Ds\Vector::reverse — Reverses the vector in-place

Descrição

public Ds\Vector::reverse ( ) : void

Reverses the vector in-place.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Vector::reverse() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);
$vector->reverse();

print_r($vector);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => c
    [1] => b
    [2] => a
)


Returns a reversed copy

  • « Ds\Vector::reverse
  • Ds\Vector::rotate »
  • PHP Manual
  • Vector
  • Returns a reversed copy

Ds\Vector::reversed

(PECL ds >= 1.0.0)

Ds\Vector::reversed — Returns a reversed copy

Descrição

public Ds\Vector::reversed ( ) : Ds\Vector

Returns a reversed copy of the vector.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A reversed copy of the vector.

Nota:

The current instance is not affected.

Exemplos

Exemplo #1 Ds\Vector::reversed() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

print_r($vector->reversed());
print_r($vector);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
)


Rotates the vector by a given number of rotations

  • « Ds\Vector::reversed
  • Ds\Vector::set »
  • PHP Manual
  • Vector
  • Rotates the vector by a given number of rotations

Ds\Vector::rotate

(PECL ds >= 1.0.0)

Ds\Vector::rotate — Rotates the vector by a given number of rotations

Descrição

public Ds\Vector::rotate ( int $rotations ) : void

Rotates the vector by a given number of rotations, which is equivalent to successively calling $vector->push($vector->shift()) if the number of rotations is positive, or $vector->unshift($vector->pop()) if negative.

Parâmetros

rotations

The number of times the vector should be rotated.

Valor Retornado

Não há valor retornado.. The vector of the current instance will be rotated.

Exemplos

Exemplo #1 Ds\Vector::rotate() example

<?php
$vector = new \Ds\Vector(["a", "b", "c", "d"]);

$vector->rotate(1);  // "a" is shifted, then pushed.
print_r($vector);

$vector->rotate(2);  // "b" and "c" are both shifted, the pushed.
print_r($vector);
?>

O exemplo acima irá imprimir algo similar à:

(
    [0] => b
    [1] => c
    [2] => d
    [3] => a
)
Ds\Vector Object
(
    [0] => d
    [1] => a
    [2] => b
    [3] => c
)


Updates a value at a given index

  • « Ds\Vector::rotate
  • Ds\Vector::shift »
  • PHP Manual
  • Vector
  • Updates a value at a given index

Ds\Vector::set

(PECL ds >= 1.0.0)

Ds\Vector::set — Updates a value at a given index

Descrição

public Ds\Vector::set ( int $index , mixed $value ) : void

Updates a value at a given index.

Parâmetros

index

The index of the value to update.

value

The new value.

Valor Retornado

Não há valor retornado.

Erros

OutOfRangeException if the index is not valid.

Exemplos

Exemplo #1 Ds\Vector::set() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

$vector->set(1, "_");
print_r($vector);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => a
    [1] => _
    [2] => c
)

Exemplo #2 Ds\Vector::set() example using array syntax

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

$vector[1] = "_";
print_r($vector);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => a
    [1] => _
    [2] => c
)


Removes and returns the first value

  • « Ds\Vector::set
  • Ds\Vector::slice »
  • PHP Manual
  • Vector
  • Removes and returns the first value

Ds\Vector::shift

(PECL ds >= 1.0.0)

Ds\Vector::shift — Removes and returns the first value

Descrição

public Ds\Vector::shift ( ) : mixed

Removes and returns the first value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The first value, which was removed.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Vector::shift() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

var_dump($vector->shift());
var_dump($vector->shift());
var_dump($vector->shift());
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"
string(1) "b"
string(1) "c"


Returns a sub-vector of a given range

  • « Ds\Vector::shift
  • Ds\Vector::sort »
  • PHP Manual
  • Vector
  • Returns a sub-vector of a given range

Ds\Vector::slice

(PECL ds >= 1.0.0)

Ds\Vector::slice — Returns a sub-vector of a given range

Descrição

public Ds\Vector::slice ( int $index , int $length = ? ) : Ds\Vector

Creates a sub-vector of a given range.

Parâmetros

index

The index at which the sub-vector starts.

If positive, the vector will start at that index in the vector. If negative, the vector will start that far from the end.

length

If a length is given and is positive, the resulting vector will have up to that many values in it. If the length results in an overflow, only values up to the end of the vector will be included. If a length is given and is negative, the vector will stop that many values from the end. If a length is not provided, the resulting vector will contain all values between the index and the end of the vector.

Valor Retornado

A sub-vector of the given range.

Exemplos

Exemplo #1 Ds\Vector::slice() example

<?php
$vector = new \Ds\Vector(["a", "b", "c", "d", "e"]);

// Slice from 2 onwards
print_r($vector->slice(2));

// Slice from 1, for a length of 3
print_r($vector->slice(1, 3));

// Slice from 1 onwards
print_r($vector->slice(1));

// Slice from 2 from the end onwards
print_r($vector->slice(-2));

// Slice from 1 to 1 from the end
print_r($vector->slice(1, -1));
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => c
    [1] => d
    [2] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
    [3] => e
)
Ds\Vector Object
(
    [0] => d
    [1] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)


Sorts the vector in-place

  • « Ds\Vector::slice
  • Ds\Vector::sorted »
  • PHP Manual
  • Vector
  • Sorts the vector in-place

Ds\Vector::sort

(PECL ds >= 1.0.0)

Ds\Vector::sort — Sorts the vector in-place

Descrição

public Ds\Vector::sort ( callable $comparator = ? ) : void

Sorts the vector in-place, using an optional comparator function.

Parâmetros

comparator

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
Cuidado

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Vector::sort() example

<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);
$vector->sort();

print_r($vector);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Exemplo #2 Ds\Vector::sort() example using a comparator

<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);

$vector->sort(function($a, $b) {
    return $b <=> $a;
});

print_r($vector);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns a sorted copy

  • « Ds\Vector::sort
  • Ds\Vector::sum »
  • PHP Manual
  • Vector
  • Returns a sorted copy

Ds\Vector::sorted

(PECL ds >= 1.0.0)

Ds\Vector::sorted — Returns a sorted copy

Descrição

public Ds\Vector::sorted ( callable $comparator = ? ) : Ds\Vector

Returns a sorted copy, using an optional comparator function.

Parâmetros

comparator

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
Cuidado

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Valor Retornado

Returns a sorted copy of the vector.

Exemplos

Exemplo #1 Ds\Vector::sorted() example

<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);

print_r($vector->sorted());
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Exemplo #2 Ds\Vector::sorted() example using a comparator

<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);

$sorted = $vector->sorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns the sum of all values in the vector

  • « Ds\Vector::sorted
  • Ds\Vector::toArray »
  • PHP Manual
  • Vector
  • Returns the sum of all values in the vector

Ds\Vector::sum

(PECL ds >= 1.0.0)

Ds\Vector::sum — Returns the sum of all values in the vector

Descrição

public Ds\Vector::sum ( ) : int|float

Returns the sum of all values in the vector.

Nota:

Arrays and objects are considered equal to zero when calculating the sum.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The sum of all the values in the vector as either a float or int depending on the values in the vector.

Exemplos

Exemplo #1 Ds\Vector::sum() integer example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
var_dump($vector->sum());
?>

O exemplo acima irá imprimir algo similar à:

int(6)

Exemplo #2 Ds\Vector::sum() float example

<?php
$vector = new \Ds\Vector([1, 2.5, 3]);
var_dump($vector->sum());
?>

O exemplo acima irá imprimir algo similar à:

float(6.5)


Converts the vector to an array

  • « Ds\Vector::sum
  • Ds\Vector::unshift »
  • PHP Manual
  • Vector
  • Converts the vector to an array

Ds\Vector::toArray

(PECL ds >= 1.0.0)

Ds\Vector::toArray — Converts the vector to an array

Descrição

public Ds\Vector::toArray ( ) : array

Converts the vector to an array.

Nota:

Casting to an array is not supported yet.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing all the values in the same order as the vector.

Exemplos

Exemplo #1 Ds\Vector::toArray() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

var_dump($vector->toArray());
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Adds values to the front of the vector

  • « Ds\Vector::toArray
  • Deque »
  • PHP Manual
  • Vector
  • Adds values to the front of the vector

Ds\Vector::unshift

(PECL ds >= 1.0.0)

Ds\Vector::unshift — Adds values to the front of the vector

Descrição

public Ds\Vector::unshift ( mixed $values = ? ) : void

Adds values to the front of the vector, moving all the current values forward to make room for the new values.

Parâmetros

values

The values to add to the front of the vector.

Nota:

Multiple values will be added in the same order that they are passed.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Vector::unshift() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

$vector->unshift("a");
$vector->unshift("b", "c");

print_r($vector);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => a
    [3] => 1
    [4] => 2
    [5] => 3
)


The Deque class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

A Deque (pronounced “deck”) is a sequence of values in a contiguous buffer that grows and shrinks automatically. The name is a common abbreviation of “double-ended queue” and is used internally by Ds\Queue.

Two pointers are used to keep track of a head and a tail. The pointers can “wrap around” the end of the buffer, which avoids the need to move other values around to make room. This makes shift and unshift very fast?—? something a Ds\Vector can’t compete with.

Accessing a value by index requires a translation between the index and its corresponding position in the buffer: ((head + position) % capacity).

Strengths

  • Supports array syntax (square brackets).
  • Uses less overall memory than an array for the same number of values.
  • Automatically frees allocated memory when its size drops low enough.
  • get(),
set(),
push(),
pop(),
shift(), and
unshift() are all O(1).

Weaknesses

  • Capacity must be a power of 2.
  • insert() and remove() are O(n).

Sinopse da classe

Ds\Deque implements Ds\Sequence , ArrayAccess {
/* Constants */
const int MIN_CAPACITY = 8 ;
/* Métodos */
public allocate ( int $capacity ) : void
public apply ( callable $callback ) : void
public capacity ( ) : int
public clear ( ) : void
public contains ( mixed ...$values ) : bool
public copy ( ) : Ds\Deque
public filter ( callable $callback = ? ) : Ds\Deque
public find ( mixed $value ) : mixed
public first ( ) : mixed
public get ( int $index ) : mixed
public insert ( int $index , mixed ...$values ) : void
public isEmpty ( ) : bool
public join ( string $glue = ? ) : string
public last ( ) : mixed
public map ( callable $callback ) : Ds\Deque
public merge ( mixed $values ) : Ds\Deque
public pop ( ) : mixed
public push ( mixed ...$values ) : void
public reduce ( callable $callback , mixed $initial = ? ) : mixed
public remove ( int $index ) : mixed
public reverse ( ) : void
public reversed ( ) : Ds\Deque
public rotate ( int $rotations ) : void
public set ( int $index , mixed $value ) : void
public shift ( ) : mixed
public slice ( int $index , int $length = ? ) : Ds\Deque
public sort ( callable $comparator = ? ) : void
public sorted ( callable $comparator = ? ) : Ds\Deque
public sum ( ) : int|float
public toArray ( ) : array
public unshift ( mixed $values = ? ) : void
}

Constantes pré-definidas

Ds\Deque::MIN_CAPACITY

Changelog

Versão | Descrição
PECL ds 1.3.0 | The class now implements ArrayAccess.

Índice

  • Ds\Deque::allocate — Allocates enough memory for a required capacity
  • Ds\Deque::apply — Updates all values by applying a callback function to each value
  • Ds\Deque::capacity — Returns the current capacity
  • Ds\Deque::clear — Removes all values from the deque
  • Ds\Deque::__construct — Creates a new instance
  • Ds\Deque::contains — Determines if the deque contains given values
  • Ds\Deque::copy — Returns a shallow copy of the deque
  • Ds\Deque::count — Returns the number of values in the collection
  • Ds\Deque::filter — Creates a new deque using a callable to determine which values to include
  • Ds\Deque::find — Attempts to find a value's index
  • Ds\Deque::first — Returns the first value in the deque
  • Ds\Deque::get — Returns the value at a given index
  • Ds\Deque::insert — Inserts values at a given index
  • Ds\Deque::isEmpty — Returns whether the deque is empty
  • Ds\Deque::join — Joins all values together as a string
  • Ds\Deque::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Deque::last — Returns the last value
  • Ds\Deque::map — Returns the result of applying a callback to each value
  • Ds\Deque::merge — Returns the result of adding all given values to the deque
  • Ds\Deque::pop — Removes and returns the last value
  • Ds\Deque::push — Adds values to the end of the deque
  • Ds\Deque::reduce — Reduces the deque to a single value using a callback function
  • Ds\Deque::remove — Removes and returns a value by index
  • Ds\Deque::reverse — Reverses the deque in-place
  • Ds\Deque::reversed — Returns a reversed copy
  • Ds\Deque::rotate — Rotates the deque by a given number of rotations
  • Ds\Deque::set — Updates a value at a given index
  • Ds\Deque::shift — Removes and returns the first value
  • Ds\Deque::slice — Returns a sub-deque of a given range
  • Ds\Deque::sort — Sorts the deque in-place
  • Ds\Deque::sorted — Returns a sorted copy
  • Ds\Deque::sum — Returns the sum of all values in the deque
  • Ds\Deque::toArray — Converts the deque to an array
  • Ds\Deque::unshift — Adds values to the front of the deque


Allocates enough memory for a required capacity

  • « Deque
  • Ds\Deque::apply »
  • PHP Manual
  • Deque
  • Allocates enough memory for a required capacity

Ds\Deque::allocate

(PECL ds >= 1.0.0)

Ds\Deque::allocate — Allocates enough memory for a required capacity

Descrição

public Ds\Deque::allocate ( int $capacity ) : void

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Parâmetros

capacity

The number of values for which capacity should be allocated.

Nota:

Capacity will stay the same if this value is less than or equal to the current capacity.

Nota:

Capacity will always be rounded up to the nearest power of 2.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Deque::allocate() example

<?php
$deque = new \Ds\Deque();
var_dump($deque->capacity());

$deque->allocate(100);
var_dump($deque->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(8)
int(128)


Updates all values by applying a callback function to each value

  • « Ds\Deque::allocate
  • Ds\Deque::capacity »
  • PHP Manual
  • Deque
  • Updates all values by applying a callback function to each value

Ds\Deque::apply

(PECL ds >= 1.0.0)

Ds\Deque::apply — Updates all values by applying a callback function to each value

Descrição

public Ds\Deque::apply ( callable $callback ) : void

Updates all values by applying a callback function to each value in the deque.

Parâmetros

callback

callback ( mixed $value ) : mixed

A callable to apply to each value in the deque.

The callback should return what the value should be replaced by.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Deque::apply() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
$deque->apply(function($value) { return $value * 2; });

print_r($deque);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)


Returns the current capacity

  • « Ds\Deque::apply
  • Ds\Deque::clear »
  • PHP Manual
  • Deque
  • Returns the current capacity

Ds\Deque::capacity

(PECL ds >= 1.0.0)

Ds\Deque::capacity — Returns the current capacity

Descrição

public Ds\Deque::capacity ( ) : int

Returns the current capacity.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current capacity.

Exemplos

Exemplo #1 Ds\Deque::capacity() example

<?php
$deque = new \Ds\Deque();
var_dump($deque->capacity());

$deque->push(...range(1, 50));
var_dump($deque->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(8)
int(64)


Removes all values from the deque

  • « Ds\Deque::capacity
  • Ds\Deque::__construct »
  • PHP Manual
  • Deque
  • Removes all values from the deque

Ds\Deque::clear

(PECL ds >= 1.0.0)

Ds\Deque::clear — Removes all values from the deque

Descrição

public Ds\Deque::clear ( ) : void

Removes all values from the deque.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Deque::clear() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
print_r($deque);

$deque->clear();
print_r($deque);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Deque Object
(
)


Creates a new instance

  • « Ds\Deque::clear
  • Ds\Deque::contains »
  • PHP Manual
  • Deque
  • Creates a new instance

Ds\Deque::__construct

(PECL ds >= 1.0.0)

Ds\Deque::__construct — Creates a new instance

Descrição

public Ds\Deque::__construct ( mixed $values = ? )

Creates a new instance, using either a traversable object or an array for the initial values.

Parâmetros

values

A traversable object or an array to use for the initial values.

Exemplos

Exemplo #1 Ds\Deque::__construct() example

<?php
$deque = new \Ds\Deque();
var_dump($deque);

$deque = new \Ds\Deque([1, 2, 3]);
var_dump($deque);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Deque)#2 (0) {
}
object(Ds\Deque)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Determines if the deque contains given values

  • « Ds\Deque::__construct
  • Ds\Deque::copy »
  • PHP Manual
  • Deque
  • Determines if the deque contains given values

Ds\Deque::contains

(PECL ds >= 1.0.0)

Ds\Deque::contains — Determines if the deque contains given values

Descrição

public Ds\Deque::contains ( mixed ...$values ) : bool

Determines if the deque contains all values.

Parâmetros

values

Values to check.

Valor Retornado

false if any of the provided values are not in the deque, true otherwise.

Exemplos

Exemplo #1 Ds\Deque::contains() example

<?php
$deque = new \Ds\Deque(['a', 'b', 'c', 1, 2, 3]);

var_dump($deque->contains('a'));                // true
var_dump($deque->contains('a', 'b'));           // true
var_dump($deque->contains('c', 'd'));           // false

var_dump($deque->contains(...['c', 'b', 'a'])); // true

// Always strict
var_dump($deque->contains(1));                  // true
var_dump($deque->contains('1'));                // false

var_dump($sequece->contains(...[]));               // true
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(false)
bool(true)


Returns a shallow copy of the deque

  • « Ds\Deque::contains
  • Ds\Deque::count »
  • PHP Manual
  • Deque
  • Returns a shallow copy of the deque

Ds\Deque::copy

(PECL ds >= 1.0.0)

Ds\Deque::copy — Returns a shallow copy of the deque

Descrição

public Ds\Deque::copy ( ) : Ds\Deque

Returns a shallow copy of the deque.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A shallow copy of the deque.

Exemplos

Exemplo #1 Ds\Deque::copy() example

<?php
$a = new \Ds\Deque([1, 2, 3]);
$b = $a->copy();

$b->push(4);

print_r($a);
print_r($b);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)


Returns the number of values in the collection

  • « Ds\Deque::copy
  • Ds\Deque::filter »
  • PHP Manual
  • Deque
  • Returns the number of values in the collection

Ds\Deque::count

(PECL ds >= 1.0.0)

Ds\Deque::count — Returns the number of values in the collection

See Countable::count()


Creates a new deque using a callable to determine which values to include

  • « Ds\Deque::count
  • Ds\Deque::find »
  • PHP Manual
  • Deque
  • Creates a new deque using a callable to determine which values to include

Ds\Deque::filter

(PECL ds >= 1.0.0)

Ds\Deque::filter — Creates a new deque using a callable to determine which values to include

Descrição

public Ds\Deque::filter ( callable $callback = ? ) : Ds\Deque

Creates a new deque using a callable to determine which values to include.

Parâmetros

callback

callback ( mixed $value ) : bool

Optional callable which returns true if the value should be included, false otherwise.

If a callback is not provided, only values which are true (see converting to boolean) will be included.

Valor Retornado

A new deque containing all the values for which either the callback returned true, or all values that convert to true if a callback was not provided.

Exemplos

Exemplo #1 Ds\Deque::filter() example using callback function

<?php
$deque = new \Ds\Deque([1, 2, 3, 4, 5]);

var_dump($deque->filter(function($value) {
    return $value % 2 == 0;
}));
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Deque)#3 (2) {
  [0]=>
  int(2)
  [1]=>
  int(4)
}

Exemplo #2 Ds\Deque::filter() example without a callback function

<?php
$deque = new \Ds\Deque([0, 1, 'a', true, false]);

var_dump($deque->filter());
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Deque)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}


Attempts to find a value's index

  • « Ds\Deque::filter
  • Ds\Deque::first »
  • PHP Manual
  • Deque
  • Attempts to find a value's index

Ds\Deque::find

(PECL ds >= 1.0.0)

Ds\Deque::find — Attempts to find a value's index

Descrição

public Ds\Deque::find ( mixed $value ) : mixed

Returns the index of the value, or false if not found.

Parâmetros

value

The value to find.

Valor Retornado

The index of the value, or false if not found.

Nota:

Values will be compared by value and by type.

Exemplos

Exemplo #1 Ds\Deque::find() example

<?php
$deque = new \Ds\Deque(["a", 1, true]);

var_dump($deque->find("a")); // 0
var_dump($deque->find("b")); // false
var_dump($deque->find("1")); // false
var_dump($deque->find(1));   // 1
?>

O exemplo acima irá imprimir algo similar à:

int(0)
bool(false)
bool(false)
int(1)


Returns the first value in the deque

  • « Ds\Deque::find
  • Ds\Deque::get »
  • PHP Manual
  • Deque
  • Returns the first value in the deque

Ds\Deque::first

(PECL ds >= 1.0.0)

Ds\Deque::first — Returns the first value in the deque

Descrição

public Ds\Deque::first ( ) : mixed

Returns the first value in the deque.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The first value in the deque.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Deque::first() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
var_dump($deque->first());
?>

O exemplo acima irá imprimir algo similar à:

int(1)


Returns the value at a given index

  • « Ds\Deque::first
  • Ds\Deque::insert »
  • PHP Manual
  • Deque
  • Returns the value at a given index

Ds\Deque::get

(PECL ds >= 1.0.0)

Ds\Deque::get — Returns the value at a given index

Descrição

public Ds\Deque::get ( int $index ) : mixed

Returns the value at a given index.

Parâmetros

index

The index to access, starting at 0.

Valor Retornado

The value at the requested index.

Erros

OutOfRangeException if the index is not valid.

Exemplos

Exemplo #1 Ds\Deque::get() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

var_dump($deque->get(0));
var_dump($deque->get(1));
var_dump($deque->get(2));
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"
string(1) "b"
string(1) "c"

Exemplo #2 Ds\Deque::get() example using array syntax

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

var_dump($deque[0]);
var_dump($deque[1]);
var_dump($deque[2]);
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"
string(1) "b"
string(1) "c"


Inserts values at a given index

  • « Ds\Deque::get
  • Ds\Deque::isEmpty »
  • PHP Manual
  • Deque
  • Inserts values at a given index

Ds\Deque::insert

(PECL ds >= 1.0.0)

Ds\Deque::insert — Inserts values at a given index

Descrição

public Ds\Deque::insert ( int $index , mixed ...$values ) : void

Inserts values into the deque at a given index.

Parâmetros

index

The index at which to insert. 0 <= index <= count

Nota:

You can insert at the index equal to the number of values.

values

The value or values to insert.

Valor Retornado

Não há valor retornado.

Erros

OutOfRangeException if the index is not valid.

Exemplos

Exemplo #1 Ds\Deque::insert() example

<?php
$deque = new \Ds\Deque();

$deque->insert(0, "e");             // [e]
$deque->insert(1, "f");             // [e, f]
$deque->insert(2, "g");             // [e, f, g]
$deque->insert(0, "a", "b");        // [a, b, e, f, g]
$deque->insert(2, ...["c", "d"]);   // [a, b, c, d, e, f, g]

var_dump($deque);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Deque)#1 (7) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
  [3]=>
  string(1) "d"
  [4]=>
  string(1) "e"
  [5]=>
  string(1) "f"
  [6]=>
  string(1) "g"
}


Returns whether the deque is empty

  • « Ds\Deque::insert
  • Ds\Deque::join »
  • PHP Manual
  • Deque
  • Returns whether the deque is empty

Ds\Deque::isEmpty

(PECL ds >= 1.0.0)

Ds\Deque::isEmpty — Returns whether the deque is empty

Descrição

public Ds\Deque::isEmpty ( ) : bool

Returns whether the deque is empty.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the deque is empty, false otherwise.

Exemplos

Exemplo #1 Ds\Deque::isEmpty() example

<?php
$a = new \Ds\Deque([1, 2, 3]);
$b = new \Ds\Deque();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)


Joins all values together as a string

  • « Ds\Deque::isEmpty
  • Ds\Deque::jsonSerialize »
  • PHP Manual
  • Deque
  • Joins all values together as a string

Ds\Deque::join

(PECL ds >= 1.0.0)

Ds\Deque::join — Joins all values together as a string

Descrição

public Ds\Deque::join ( string $glue = ? ) : string

Joins all values together as a string using an optional separator between each value.

Parâmetros

glue

An optional string to separate each value.

Valor Retornado

All values of the deque joined together as a string.

Exemplos

Exemplo #1 Ds\Deque::join() example using a separator string

<?php
$deque = new \Ds\Deque(["a", "b", "c", 1, 2, 3]);

var_dump($deque->join("|"));
?>

O exemplo acima irá imprimir algo similar à:

string(11) "a|b|c|1|2|3"

Exemplo #2 Ds\Deque::join() example without a separator string

<?php
$deque = new \Ds\Deque(["a", "b", "c", 1, 2, 3]);

var_dump($deque->join());
?>

O exemplo acima irá imprimir algo similar à:

string(11) "abc123"


Returns a representation that can be converted to JSON

  • « Ds\Deque::join
  • Ds\Deque::last »
  • PHP Manual
  • Deque
  • Returns a representation that can be converted to JSON

Ds\Deque::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Deque::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Nota:

You should never need to call this directly.


Returns the last value

  • « Ds\Deque::jsonSerialize
  • Ds\Deque::map »
  • PHP Manual
  • Deque
  • Returns the last value

Ds\Deque::last

(PECL ds >= 1.0.0)

Ds\Deque::last — Returns the last value

Descrição

public Ds\Deque::last ( ) : mixed

Returns the last value in the deque.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The last value in the deque.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Deque::last() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
var_dump($deque->last());
?>

O exemplo acima irá imprimir algo similar à:

int(3)


Returns the result of applying a callback to each value

  • « Ds\Deque::last
  • Ds\Deque::merge »
  • PHP Manual
  • Deque
  • Returns the result of applying a callback to each value

Ds\Deque::map

(PECL ds >= 1.0.0)

Ds\Deque::map — Returns the result of applying a callback to each value

Descrição

public Ds\Deque::map ( callable $callback ) : Ds\Deque

Returns the result of applying a callback function to each value in the deque.

Parâmetros

callback

callback ( mixed $value ) : mixed

A callable to apply to each value in the deque.

The callable should return what the new value will be in the new deque.

Valor Retornado

The result of applying a callback to each value in the deque.

Nota:

The values of the current instance won't be affected.

Exemplos

Exemplo #1 Ds\Deque::map() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

print_r($deque->map(function($value) { return $value * 2; }));
print_r($deque);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)
Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)


Returns the result of adding all given values to the deque

  • « Ds\Deque::map
  • Ds\Deque::pop »
  • PHP Manual
  • Deque
  • Returns the result of adding all given values to the deque

Ds\Deque::merge

(PECL ds >= 1.0.0)

Ds\Deque::merge — Returns the result of adding all given values to the deque

Descrição

public Ds\Deque::merge ( mixed $values ) : Ds\Deque

Returns the result of adding all given values to the deque.

Parâmetros

values

A traversable object or an array.

Valor Retornado

The result of adding all given values to the deque, effectively the same as adding the values to a copy, then returning that copy.

Nota:

The current instance won't be affected.

Exemplos

Exemplo #1 Ds\Deque::merge() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

var_dump($deque->merge([4, 5, 6]));
var_dump($deque);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Deque)#2 (6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
}
object(Ds\Deque)#1 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Removes and returns the last value

  • « Ds\Deque::merge
  • Ds\Deque::push »
  • PHP Manual
  • Deque
  • Removes and returns the last value

Ds\Deque::pop

(PECL ds >= 1.0.0)

Ds\Deque::pop — Removes and returns the last value

Descrição

public Ds\Deque::pop ( ) : mixed

Removes and returns the last value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The removed last value.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Deque::pop() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

var_dump($deque->pop());
var_dump($deque->pop());
var_dump($deque->pop());
?>

O exemplo acima irá imprimir algo similar à:

int(3)
int(2)
int(1)


Adds values to the end of the deque

  • « Ds\Deque::pop
  • Ds\Deque::reduce »
  • PHP Manual
  • Deque
  • Adds values to the end of the deque

Ds\Deque::push

(PECL ds >= 1.0.0)

Ds\Deque::push — Adds values to the end of the deque

Descrição

public Ds\Deque::push ( mixed ...$values ) : void

Adds values to the end of the deque.

Parâmetros

values

The values to add.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Deque::push() example

<?php
$deque = new \Ds\Deque();

$deque->push("a");
$deque->push("b");
$deque->push("c", "d");
$deque->push(...["e", "f"]);

print_r($deque);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)


Reduces the deque to a single value using a callback function

  • « Ds\Deque::push
  • Ds\Deque::remove »
  • PHP Manual
  • Deque
  • Reduces the deque to a single value using a callback function

Ds\Deque::reduce

(PECL ds >= 1.0.0)

Ds\Deque::reduce — Reduces the deque to a single value using a callback function

Descrição

public Ds\Deque::reduce ( callable $callback , mixed $initial = ? ) : mixed

Reduces the deque to a single value using a callback function.

Parâmetros

callback
callback ( mixed $carry , mixed $value ) : mixed
carry

The return value of the previous callback, or initial if it's the first iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be null.

Valor Retornado

The return value of the final callback.

Exemplos

Exemplo #1 Ds\Deque::reduce() with initial value example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

$callback = function($carry, $value) {
    return $carry * $value;
};

var_dump($deque->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 =  5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

O exemplo acima irá imprimir algo similar à:

int(30)

Exemplo #2 Ds\Deque::reduce() without an initial value example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

var_dump($deque->reduce(function($carry, $value) {
    return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 =  6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

O exemplo acima irá imprimir algo similar à:

int(21)


Removes and returns a value by index

  • « Ds\Deque::reduce
  • Ds\Deque::reverse »
  • PHP Manual
  • Deque
  • Removes and returns a value by index

Ds\Deque::remove

(PECL ds >= 1.0.0)

Ds\Deque::remove — Removes and returns a value by index

Descrição

public Ds\Deque::remove ( int $index ) : mixed

Removes and returns a value by index.

Parâmetros

index

The index of the value to remove.

Valor Retornado

The value that was removed.

Erros

OutOfRangeException if the index is not valid.

Exemplos

Exemplo #1 Ds\Deque::remove() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

var_dump($deque->remove(1));
var_dump($deque->remove(0));
var_dump($deque->remove(0));
?>

O exemplo acima irá imprimir algo similar à:

string(1) "b"
string(1) "a"
string(1) "c"


Reverses the deque in-place

  • « Ds\Deque::remove
  • Ds\Deque::reversed »
  • PHP Manual
  • Deque
  • Reverses the deque in-place

Ds\Deque::reverse

(PECL ds >= 1.0.0)

Ds\Deque::reverse — Reverses the deque in-place

Descrição

public Ds\Deque::reverse ( ) : void

Reverses the deque in-place.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Deque::reverse() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);
$deque->reverse();

print_r($deque);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => c
    [1] => b
    [2] => a
)


Returns a reversed copy

  • « Ds\Deque::reverse
  • Ds\Deque::rotate »
  • PHP Manual
  • Deque
  • Returns a reversed copy

Ds\Deque::reversed

(PECL ds >= 1.0.0)

Ds\Deque::reversed — Returns a reversed copy

Descrição

public Ds\Deque::reversed ( ) : Ds\Deque

Returns a reversed copy of the deque.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A reversed copy of the deque.

Nota:

The current instance is not affected.

Exemplos

Exemplo #1 Ds\Deque::reversed() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

print_r($deque->reversed());
print_r($deque);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Deque Object
(
    [0] => a
    [1] => b
    [2] => c
)


Rotates the deque by a given number of rotations

  • « Ds\Deque::reversed
  • Ds\Deque::set »
  • PHP Manual
  • Deque
  • Rotates the deque by a given number of rotations

Ds\Deque::rotate

(PECL ds >= 1.0.0)

Ds\Deque::rotate — Rotates the deque by a given number of rotations

Descrição

public Ds\Deque::rotate ( int $rotations ) : void

Rotates the deque by a given number of rotations, which is equivalent to successively calling $deque->push($deque->shift()) if the number of rotations is positive, or $deque->unshift($deque->pop()) if negative.

Parâmetros

rotations

The number of times the deque should be rotated.

Valor Retornado

Não há valor retornado.. The deque of the current instance will be rotated.

Exemplos

Exemplo #1 Ds\Deque::rotate() example

<?php
$deque = new \Ds\Deque(["a", "b", "c", "d"]);

$deque->rotate(1);  // "a" is shifted, then pushed.
print_r($deque);

$deque->rotate(2);  // "b" and "c" are both shifted, the pushed.
print_r($deque);
?>

O exemplo acima irá imprimir algo similar à:

(
    [0] => b
    [1] => c
    [2] => d
    [3] => a
)
Ds\Deque Object
(
    [0] => d
    [1] => a
    [2] => b
    [3] => c
)


Updates a value at a given index

  • « Ds\Deque::rotate
  • Ds\Deque::shift »
  • PHP Manual
  • Deque
  • Updates a value at a given index

Ds\Deque::set

(PECL ds >= 1.0.0)

Ds\Deque::set — Updates a value at a given index

Descrição

public Ds\Deque::set ( int $index , mixed $value ) : void

Updates a value at a given index.

Parâmetros

index

The index of the value to update.

value

The new value.

Valor Retornado

Não há valor retornado.

Erros

OutOfRangeException if the index is not valid.

Exemplos

Exemplo #1 Ds\Deque::set() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

$deque->set(1, "_");
print_r($deque);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => a
    [1] => _
    [2] => c
)

Exemplo #2 Ds\Deque::set() example using array syntax

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

$deque[1] = "_";
print_r($deque);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => a
    [1] => _
    [2] => c
)


Removes and returns the first value

  • « Ds\Deque::set
  • Ds\Deque::slice »
  • PHP Manual
  • Deque
  • Removes and returns the first value

Ds\Deque::shift

(PECL ds >= 1.0.0)

Ds\Deque::shift — Removes and returns the first value

Descrição

public Ds\Deque::shift ( ) : mixed

Removes and returns the first value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The first value, which was removed.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Deque::shift() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

var_dump($deque->shift());
var_dump($deque->shift());
var_dump($deque->shift());
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"
string(1) "b"
string(1) "c"


Returns a sub-deque of a given range

  • « Ds\Deque::shift
  • Ds\Deque::sort »
  • PHP Manual
  • Deque
  • Returns a sub-deque of a given range

Ds\Deque::slice

(PECL ds >= 1.0.0)

Ds\Deque::slice — Returns a sub-deque of a given range

Descrição

public Ds\Deque::slice ( int $index , int $length = ? ) : Ds\Deque

Creates a sub-deque of a given range.

Parâmetros

index

The index at which the sub-deque starts.

If positive, the deque will start at that index in the deque. If negative, the deque will start that far from the end.

length

If a length is given and is positive, the resulting deque will have up to that many values in it. If the length results in an overflow, only values up to the end of the deque will be included. If a length is given and is negative, the deque will stop that many values from the end. If a length is not provided, the resulting deque will contain all values between the index and the end of the deque.

Valor Retornado

A sub-deque of the given range.

Exemplos

Exemplo #1 Ds\Deque::slice() example

<?php
$deque = new \Ds\Deque(["a", "b", "c", "d", "e"]);

// Slice from 2 onwards
print_r($deque->slice(2));

// Slice from 1, for a length of 3
print_r($deque->slice(1, 3));

// Slice from 1 onwards
print_r($deque->slice(1));

// Slice from 2 from the end onwards
print_r($deque->slice(-2));

// Slice from 1 to 1 from the end
print_r($deque->slice(1, -1));
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => c
    [1] => d
    [2] => e
)
Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => d
    [3] => e
)
Ds\Deque Object
(
    [0] => d
    [1] => e
)
Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => d
)


Sorts the deque in-place

  • « Ds\Deque::slice
  • Ds\Deque::sorted »
  • PHP Manual
  • Deque
  • Sorts the deque in-place

Ds\Deque::sort

(PECL ds >= 1.0.0)

Ds\Deque::sort — Sorts the deque in-place

Descrição

public Ds\Deque::sort ( callable $comparator = ? ) : void

Sorts the deque in-place, using an optional comparator function.

Parâmetros

comparator

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
Cuidado

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Deque::sort() example

<?php
$deque = new \Ds\Deque([4, 5, 1, 3, 2]);
$deque->sort();

print_r($deque);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Exemplo #2 Ds\Deque::sort() example using a comparator

<?php
$deque = new \Ds\Deque([4, 5, 1, 3, 2]);

$deque->sort(function($a, $b) {
    return $b <=> $a;
});

print_r($deque);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns a sorted copy

  • « Ds\Deque::sort
  • Ds\Deque::sum »
  • PHP Manual
  • Deque
  • Returns a sorted copy

Ds\Deque::sorted

(PECL ds >= 1.0.0)

Ds\Deque::sorted — Returns a sorted copy

Descrição

public Ds\Deque::sorted ( callable $comparator = ? ) : Ds\Deque

Returns a sorted copy, using an optional comparator function.

Parâmetros

comparator

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
Cuidado

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Valor Retornado

Returns a sorted copy of the deque.

Exemplos

Exemplo #1 Ds\Deque::sorted() example

<?php
$deque = new \Ds\Deque([4, 5, 1, 3, 2]);

print_r($deque->sorted());
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Exemplo #2 Ds\Deque::sorted() example using a comparator

<?php
$deque = new \Ds\Deque([4, 5, 1, 3, 2]);

$sorted = $deque->sorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns the sum of all values in the deque

  • « Ds\Deque::sorted
  • Ds\Deque::toArray »
  • PHP Manual
  • Deque
  • Returns the sum of all values in the deque

Ds\Deque::sum

(PECL ds >= 1.0.0)

Ds\Deque::sum — Returns the sum of all values in the deque

Descrição

public Ds\Deque::sum ( ) : int|float

Returns the sum of all values in the deque.

Nota:

Arrays and objects are considered equal to zero when calculating the sum.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The sum of all the values in the deque as either a float or int depending on the values in the deque.

Exemplos

Exemplo #1 Ds\Deque::sum() integer example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
var_dump($deque->sum());
?>

O exemplo acima irá imprimir algo similar à:

int(6)

Exemplo #2 Ds\Deque::sum() float example

<?php
$deque = new \Ds\Deque([1, 2.5, 3]);
var_dump($deque->sum());
?>

O exemplo acima irá imprimir algo similar à:

float(6.5)


Converts the deque to an array

  • « Ds\Deque::sum
  • Ds\Deque::unshift »
  • PHP Manual
  • Deque
  • Converts the deque to an array

Ds\Deque::toArray

(PECL ds >= 1.0.0)

Ds\Deque::toArray — Converts the deque to an array

Descrição

public Ds\Deque::toArray ( ) : array

Converts the deque to an array.

Nota:

Casting to an array is not supported yet.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing all the values in the same order as the deque.

Exemplos

Exemplo #1 Ds\Deque::toArray() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

var_dump($deque->toArray());
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Adds values to the front of the deque

  • « Ds\Deque::toArray
  • Map »
  • PHP Manual
  • Deque
  • Adds values to the front of the deque

Ds\Deque::unshift

(PECL ds >= 1.0.0)

Ds\Deque::unshift — Adds values to the front of the deque

Descrição

public Ds\Deque::unshift ( mixed $values = ? ) : void

Adds values to the front of the deque, moving all the current values forward to make room for the new values.

Parâmetros

values

The values to add to the front of the deque.

Nota:

Multiple values will be added in the same order that they are passed.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Deque::unshift() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

$deque->unshift("a");
$deque->unshift("b", "c");

print_r($deque);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => a
    [3] => 1
    [4] => 2
    [5] => 3
)


The Map class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

A Map is a sequential collection of key-value pairs, almost identical to an array used in a similar context. Keys can be any type, but must be unique. Values are replaced if added to the map using the same key.

Strengths

  • Keys and values can be any type, including objects.
  • Supports array syntax (square brackets).
  • Insertion order is preserved.
  • Performance and memory efficiency is very similar to an array.
  • Automatically frees allocated memory when its size drops low enough.

Weaknesses

  • Can’t be converted to an array when objects are used as keys.

Sinopse da classe

Ds\Map implements Ds\Collection , ArrayAccess {
/* Constants */
const int MIN_CAPACITY = 16 ;
/* Métodos */
public allocate ( int $capacity ) : void
public apply ( callable $callback ) : void
public capacity ( ) : int
public clear ( ) : void
public copy ( ) : Ds\Map
public diff ( Ds\Map $map ) : Ds\Map
public filter ( callable $callback = ? ) : Ds\Map
public first ( ) : Ds\Pair
public get ( mixed $key , mixed $default = ? ) : mixed
public hasKey ( mixed $key ) : bool
public hasValue ( mixed $value ) : bool
public intersect ( Ds\Map $map ) : Ds\Map
public isEmpty ( ) : bool
public keys ( ) : Ds\Set
public ksort ( callable $comparator = ? ) : void
public ksorted ( callable $comparator = ? ) : Ds\Map
public last ( ) : Ds\Pair
public map ( callable $callback ) : Ds\Map
public merge ( mixed $values ) : Ds\Map
public pairs ( ) : Ds\Sequence
public put ( mixed $key , mixed $value ) : void
public putAll ( mixed $pairs ) : void
public reduce ( callable $callback , mixed $initial = ? ) : mixed
public remove ( mixed $key , mixed $default = ? ) : mixed
public reverse ( ) : void
public reversed ( ) : Ds\Map
public skip ( int $position ) : Ds\Pair
public slice ( int $index , int $length = ? ) : Ds\Map
public sort ( callable $comparator = ? ) : void
public sorted ( callable $comparator = ? ) : Ds\Map
public sum ( ) : int|float
public toArray ( ) : array
public union ( Ds\Map $map ) : Ds\Map
public values ( ) : Ds\Sequence
public xor ( Ds\Map $map ) : Ds\Map
}

Constantes pré-definidas

Ds\Map::MIN_CAPACITY

Changelog

Versão | Descrição
PECL ds 1.3.0 | The class now implements ArrayAccess.

Índice

  • Ds\Map::allocate — Allocates enough memory for a required capacity
  • Ds\Map::apply — Updates all values by applying a callback function to each value
  • Ds\Map::capacity — Returns the current capacity
  • Ds\Map::clear — Removes all values
  • Ds\Map::__construct — Creates a new instance
  • Ds\Map::copy — Returns a shallow copy of the map
  • Ds\Map::count — Returns the number of values in the map
  • Ds\Map::diff — Creates a new map using keys that aren't in another map
  • Ds\Map::filter — Creates a new map using a callable to determine which pairs to include
  • Ds\Map::first — Returns the first pair in the map
  • Ds\Map::get — Returns the value for a given key
  • Ds\Map::hasKey — Determines whether the map contains a given key
  • Ds\Map::hasValue — Determines whether the map contains a given value
  • Ds\Map::intersect — Creates a new map by intersecting keys with another map
  • Ds\Map::isEmpty — Returns whether the map is empty
  • Ds\Map::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Map::keys — Returns a set of the map's keys
  • Ds\Map::ksort — Sorts the map in-place by key
  • Ds\Map::ksorted — Returns a copy, sorted by key
  • Ds\Map::last — Returns the last pair of the map
  • Ds\Map::map — Returns the result of applying a callback to each value
  • Ds\Map::merge — Returns the result of adding all given associations
  • Ds\Map::pairs — Returns a sequence containing all the pairs of the map
  • Ds\Map::put — Associates a key with a value
  • Ds\Map::putAll — Associates all key-value pairs of a traversable object or array
  • Ds\Map::reduce — Reduces the map to a single value using a callback function
  • Ds\Map::remove — Removes and returns a value by key
  • Ds\Map::reverse — Reverses the map in-place
  • Ds\Map::reversed — Returns a reversed copy
  • Ds\Map::skip — Returns the pair at a given positional index
  • Ds\Map::slice — Returns a subset of the map defined by a starting index and length
  • Ds\Map::sort — Sorts the map in-place by value
  • Ds\Map::sorted — Returns a copy, sorted by value
  • Ds\Map::sum — Returns the sum of all values in the map
  • Ds\Map::toArray — Converts the map to an array
  • Ds\Map::union — Creates a new map using values from the current instance and another map
  • Ds\Map::values — Returns a sequence of the map's values
  • Ds\Map::xor — Creates a new map using keys of either the current instance or of another map, but not of both


Allocates enough memory for a required capacity

  • « Map
  • Ds\Map::apply »
  • PHP Manual
  • Map
  • Allocates enough memory for a required capacity

Ds\Map::allocate

(PECL ds >= 1.0.0)

Ds\Map::allocate — Allocates enough memory for a required capacity

Descrição

public Ds\Map::allocate ( int $capacity ) : void

Allocates enough memory for a required capacity.

Parâmetros

capacity

The number of values for which capacity should be allocated.

Nota:

Capacity will stay the same if this value is less than or equal to the current capacity.

Nota:

Capacity will always be rounded up to the nearest power of 2.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Map::allocate() example

<?php
$map = new \Ds\Map();
var_dump($map->capacity());

$map->allocate(100);
var_dump($map->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(16)
int(128)


Updates all values by applying a callback function to each value

  • « Ds\Map::allocate
  • Ds\Map::capacity »
  • PHP Manual
  • Map
  • Updates all values by applying a callback function to each value

Ds\Map::apply

(PECL ds >= 1.0.0)

Ds\Map::apply — Updates all values by applying a callback function to each value

Descrição

public Ds\Map::apply ( callable $callback ) : void

Updates all values by applying a callback function to each value in the map.

Parâmetros

callback

callback ( mixed $key , mixed $value ) : mixed

A callable to apply to each value in the map.

The callback should return what the value should be replaced by.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Map::apply() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$map->apply(function($key, $value) { return $value * 2; });

print_r($map);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 4
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 6
        )

)


Returns the current capacity

  • « Ds\Map::apply
  • Ds\Map::clear »
  • PHP Manual
  • Map
  • Returns the current capacity

Ds\Map::capacity

(PECL ds >= 1.0.0)

Ds\Map::capacity — Returns the current capacity

Descrição

public Ds\Map::capacity ( ) : int

Returns the current capacity.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current capacity.

Exemplos

Exemplo #1 Ds\Map::capacity() example

<?php
$map = new \Ds\Map();
var_dump($map->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(16)


Removes all values

  • « Ds\Map::capacity
  • Ds\Map::__construct »
  • PHP Manual
  • Map
  • Removes all values

Ds\Map::clear

(PECL ds >= 1.0.0)

Ds\Map::clear — Removes all values

Descrição

public Ds\Map::clear ( ) : void

Removes all values from the map.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Map::clear() example

<?php
$map = new \Ds\Map([
    "a" => 1,
    "b" => 2,
    "c" => 3,
]);
print_r($map);

$map->clear();
print_r($map);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)
Ds\Map Object
(
)


Creates a new instance

  • « Ds\Map::clear
  • Ds\Map::copy »
  • PHP Manual
  • Map
  • Creates a new instance

Ds\Map::__construct

(PECL ds >= 1.0.0)

Ds\Map::__construct — Creates a new instance

Descrição

public Ds\Map::__construct ( mixed ...$values )

Creates a new instance, using either a traversable object or an array for the initial values.

Parâmetros

values

A traversable object or an array to use for the initial values.

Exemplos

Exemplo #1 Ds\Map::__construct() example

<?php
$map = new \Ds\Map();
var_dump($map);

$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Map)#1 (0) {
}
object(Ds\Map)#2 (3) {
  [0]=>
  object(Ds\Pair)#1 (2) {
    ["key"]=>
    string(1) "a"
    ["value"]=>
    int(1)
  }
  [1]=>
  object(Ds\Pair)#3 (2) {
    ["key"]=>
    string(1) "b"
    ["value"]=>
    int(2)
  }
  [2]=>
  object(Ds\Pair)#4 (2) {
    ["key"]=>
    string(1) "c"
    ["value"]=>
    int(3)
  }
}


Returns a shallow copy of the map

  • « Ds\Map::__construct
  • Ds\Map::count »
  • PHP Manual
  • Map
  • Returns a shallow copy of the map

Ds\Map::copy

(PECL ds >= 1.0.0)

Ds\Map::copy — Returns a shallow copy of the map

Descrição

public Ds\Map::copy ( ) : Ds\Map

Returns a shallow copy of the map.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a shallow copy of the map.

Exemplos

Exemplo #1 Ds\Map::copy() example

<?php
$map = new \Ds\Map([
    "a" => 1,
    "b" => 2,
    "c" => 3,
]);

print_r($map->copy());
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)


Returns the number of values in the map

  • « Ds\Map::copy
  • Ds\Map::diff »
  • PHP Manual
  • Map
  • Returns the number of values in the map

Ds\Map::count

(PECL ds >= 1.0.0)

Ds\Map::count — Returns the number of values in the map

See Countable::count()


Creates a new map using keys that aren't in another map

  • « Ds\Map::count
  • Ds\Map::filter »
  • PHP Manual
  • Map
  • Creates a new map using keys that aren't in another map

Ds\Map::diff

(PECL ds >= 1.0.0)

Ds\Map::diff — Creates a new map using keys that aren't in another map

Descrição

public Ds\Map::diff ( Ds\Map $map ) : Ds\Map

Returns the result of removing all keys from the current instance that are present in a given map.

A \ B = {x ? A | x ? B}

Parâmetros

map

The map containing the keys to exclude in the resulting map.

Valor Retornado

The result of removing all keys from the current instance that are present in a given map.

See Also

  • » Compliment on Wikipedia

Exemplos

Exemplo #1 Ds\Map::diff() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map(["b" => 4, "c" => 5, "d" => 6]);

var_dump($a->diff($b));
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Map)#3 (1) {
  [0]=>
  object(Ds\Pair)#4 (2) {
    ["key"]=>
    string(1) "a"
    ["value"]=>
    int(1)
  }
}


Creates a new map using a callable to determine which pairs to include

  • « Ds\Map::diff
  • Ds\Map::first »
  • PHP Manual
  • Map
  • Creates a new map using a callable to determine which pairs to include

Ds\Map::filter

(PECL ds >= 1.0.0)

Ds\Map::filter — Creates a new map using a callable to determine which pairs to include

Descrição

public Ds\Map::filter ( callable $callback = ? ) : Ds\Map

Creates a new map using a callable to determine which pairs to include.

Parâmetros

callback

callback ( mixed $key , mixed $value ) : bool

Optional callable which returns true if the pair should be included, false otherwise.

If a callback is not provided, only values which are true (see converting to boolean) will be included.

Valor Retornado

A new map containing all the pairs for which either the callback returned true, or all values that convert to true if a callback was not provided.

Exemplos

Exemplo #1 Ds\Map::filter() example using callback function

<?php
$map = new \Ds\Map(["a", "b", "c", "d", "e"]);

var_dump($map->filter(function($key, $value) {
    return $key % 2 == 0;
}));
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Map)#3 (3) {
  [0]=>
  object(Ds\Pair)#2 (2) {
    ["key"]=>
    int(0)
    ["value"]=>
    string(1) "a"
  }
  [1]=>
  object(Ds\Pair)#4 (2) {
    ["key"]=>
    int(2)
    ["value"]=>
    string(1) "c"
  }
  [2]=>
  object(Ds\Pair)#5 (2) {
    ["key"]=>
    int(4)
    ["value"]=>
    string(1) "e"
  }
}

Exemplo #2 Ds\Map::filter() example without a callback function

<?php
$map = new \Ds\Map(["a" => 0, "b" => 1, "c" => true, "d" => false]);

var_dump($map->filter());
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Map)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}


Returns the first pair in the map

  • « Ds\Map::filter
  • Ds\Map::get »
  • PHP Manual
  • Map
  • Returns the first pair in the map

Ds\Map::first

(PECL ds >= 1.0.0)

Ds\Map::first — Returns the first pair in the map

Descrição

public Ds\Map::first ( ) : Ds\Pair

Returns the first pair in the map.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The first pair in the map.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Map::first() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->first());
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Pair)#2 (2) {
  ["key"]=>
  string(1) "a"
  ["value"]=>
  int(1)
}


Returns the value for a given key

  • « Ds\Map::first
  • Ds\Map::hasKey »
  • PHP Manual
  • Map
  • Returns the value for a given key

Ds\Map::get

(PECL ds >= 1.0.0)

Ds\Map::get — Returns the value for a given key

Descrição

public Ds\Map::get ( mixed $key , mixed $default = ? ) : mixed

Returns the value for a given key, or an optional default value if the key could not be found.

Nota:

Keys of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Nota:

You can also use array syntax to access values by key, eg. $map["key"].

Cuidado

Be careful when using array syntax. Scalar keys will be coerced to integers by the engine. For example, $map["1"] will attempt to access int(1), while $map->get("1") will correctly look up the string key.

See Arrays.

Parâmetros

key

The key to look up.

default

The optional default value, returned if the key could not be found.

Valor Retornado

The value mapped to the given key, or the default value if provided and the key could not be found in the map.

Erros

OutOfBoundsException if the key could not be found and a default value was not provided.

Exemplos

Exemplo #1 Ds\Map::get() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->get("a"));       // 1
var_dump($map->get("d", 10));   // 10 (default used)
?>

O exemplo acima irá imprimir algo similar à:

int(1)
int(10)

Exemplo #2 Ds\Map::get() example using array syntax

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map["a"])); // 1
?>

O exemplo acima irá imprimir algo similar à:

int(1)


Determines whether the map contains a given key

  • « Ds\Map::get
  • Ds\Map::hasValue »
  • PHP Manual
  • Map
  • Determines whether the map contains a given key

Ds\Map::hasKey

(PECL ds >= 1.0.0)

Ds\Map::hasKey — Determines whether the map contains a given key

Descrição

public Ds\Map::hasKey ( mixed $key ) : bool

Determines whether the map contains a given key.

Parâmetros

key

The key to look for.

Valor Retornado

Returns true if the key could found, false otherwise.

Exemplos

Exemplo #1 Ds\Map::hasKey() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->hasKey("a")); // true
var_dump($map->hasKey("e")); // false
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(false)


Determines whether the map contains a given value

  • « Ds\Map::hasKey
  • Ds\Map::intersect »
  • PHP Manual
  • Map
  • Determines whether the map contains a given value

Ds\Map::hasValue

(PECL ds >= 1.0.0)

Ds\Map::hasValue — Determines whether the map contains a given value

Descrição

public Ds\Map::hasValue ( mixed $value ) : bool

Determines whether the map contains a given value.

Parâmetros

value

The value to look for.

Valor Retornado

Returns true if the value could found, false otherwise.

Exemplos

Exemplo #1 Ds\Map::hasValue() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->hasValue(1)); // true
var_dump($map->hasValue(4)); // false
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(false)


Creates a new map by intersecting keys with another map

  • « Ds\Map::hasValue
  • Ds\Map::isEmpty »
  • PHP Manual
  • Map
  • Creates a new map by intersecting keys with another map

Ds\Map::intersect

(PECL ds >= 1.0.0)

Ds\Map::intersect — Creates a new map by intersecting keys with another map

Descrição

public Ds\Map::intersect ( Ds\Map $map ) : Ds\Map

Creates a new map containing the pairs of the current instance whose keys are also present in the given map. In other words, returns a copy of the current instance with all keys removed that are not also in the other map.

A n B = {x : x ? A ? x ? B}

Nota:

Values from the current instance will be kept.

Parâmetros

map

The other map, containing the keys to intersect with.

Valor Retornado

The key intersection of the current instance and another map.

See Also

  • » Intersection on Wikipedia

Exemplos

Exemplo #1 Ds\Map::intersect() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map(["b" => 4, "c" => 5, "d" => 6]);

var_dump($a->intersect($b));
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Map)#3 (2) {
  [0]=>
  object(Ds\Pair)#4 (2) {
    ["key"]=>
    string(1) "b"
    ["value"]=>
    int(2)
  }
  [1]=>
  object(Ds\Pair)#5 (2) {
    ["key"]=>
    string(1) "c"
    ["value"]=>
    int(3)
  }
}


Returns whether the map is empty

  • « Ds\Map::intersect
  • Ds\Map::jsonSerialize »
  • PHP Manual
  • Map
  • Returns whether the map is empty

Ds\Map::isEmpty

(PECL ds >= 1.0.0)

Ds\Map::isEmpty — Returns whether the map is empty

Descrição

public Ds\Map::isEmpty ( ) : bool

Returns whether the map is empty.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the map is empty, false otherwise.

Exemplos

Exemplo #1 Ds\Map::isEmpty() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)


Returns a representation that can be converted to JSON

  • « Ds\Map::isEmpty
  • Ds\Map::keys »
  • PHP Manual
  • Map
  • Returns a representation that can be converted to JSON

Ds\Map::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Map::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Nota:

You should never need to call this directly.


Returns a set of the map's keys

  • « Ds\Map::jsonSerialize
  • Ds\Map::ksort »
  • PHP Manual
  • Map
  • Returns a set of the map's keys

Ds\Map::keys

(PECL ds >= 1.0.0)

Ds\Map::keys — Returns a set of the map's keys

Descrição

public Ds\Map::keys ( ) : Ds\Set

Returns a set containing all the keys of the map, in the same order.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A Ds\Set containing all the keys of the map.

Exemplos

Exemplo #1 Ds\Map::keys() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->keys());
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Set)#2 (3) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
}


Sorts the map in-place by key

  • « Ds\Map::keys
  • Ds\Map::ksorted »
  • PHP Manual
  • Map
  • Sorts the map in-place by key

Ds\Map::ksort

(PECL ds >= 1.0.0)

Ds\Map::ksort — Sorts the map in-place by key

Descrição

public Ds\Map::ksort ( callable $comparator = ? ) : void

Sorts the map in-place by key, using an optional comparator function.

Parâmetros

comparator

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
Cuidado

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Map::ksort() example

<?php
$map = new \Ds\Map(["b" => 2, "c" => 3, "a" => 1]);
$map->ksort();

print_r($map);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)

Exemplo #2 Ds\Map::ksort() example using a comparator

<?php
$map = new \Ds\Map([1 => "x", 2 => "y", 0 => "z"]);

// Reverse
$map->ksort(function($a, $b) {
    return $b <=> $a;
});

print_r($map);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 2
            [value] => y
        )

    [1] => Ds\Pair Object
        (
            [key] => 1
            [value] => x
        )

    [2] => Ds\Pair Object
        (
            [key] => 0
            [value] => z
        )

)


Returns a copy, sorted by key

  • « Ds\Map::ksort
  • Ds\Map::last »
  • PHP Manual
  • Map
  • Returns a copy, sorted by key

Ds\Map::ksorted

(Não há informação de versão disponível, talvez apenas no Git)

Ds\Map::ksorted — Returns a copy, sorted by key

Descrição

public Ds\Map::ksorted ( callable $comparator = ? ) : Ds\Map

Returns a copy sorted by key, using an optional comparator function.

Parâmetros

comparator

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
Cuidado

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Valor Retornado

Returns a copy of the map, sorted by key.

Exemplos

Exemplo #1 Ds\Map::ksorted() example

<?php
$map = new \Ds\Map(["b" => 2, "c" => 3, "a" => 1]);

print_r($map->ksorted());
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)

Exemplo #2 Ds\Map::ksorted() example using a comparator

<?php
$map = new \Ds\Map([1 => "x", 2 => "y", 0 => "z"]);

// Reverse
$sorted = $map->ksorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 2
            [value] => y
        )

    [1] => Ds\Pair Object
        (
            [key] => 1
            [value] => x
        )

    [2] => Ds\Pair Object
        (
            [key] => 0
            [value] => z
        )

)


Returns the last pair of the map

  • « Ds\Map::ksorted
  • Ds\Map::map »
  • PHP Manual
  • Map
  • Returns the last pair of the map

Ds\Map::last

(PECL ds >= 1.0.0)

Ds\Map::last — Returns the last pair of the map

Descrição

public Ds\Map::last ( ) : Ds\Pair

Returns the last pair of the map.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The last pair of the map.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Map::last() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->last());
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Pair)#2 (2) {
  ["key"]=>
  string(1) "c"
  ["value"]=>
  int(3)
}


Returns the result of applying a callback to each value

  • « Ds\Map::last
  • Ds\Map::merge »
  • PHP Manual
  • Map
  • Returns the result of applying a callback to each value

Ds\Map::map

(PECL ds >= 1.0.0)

Ds\Map::map — Returns the result of applying a callback to each value

Descrição

public Ds\Map::map ( callable $callback ) : Ds\Map

Returns the result of applying a callback function to each value of the map.

Parâmetros

callback

callback ( mixed $key , mixed $value ) : mixed

A callable to apply to each value in the map.

The callable should return what the key will be mapped to in the resulting map.

Valor Retornado

The result of applying a callback to each value in the map.

Nota:

The keys and values of the current instance won't be affected.

Exemplos

Exemplo #1 Ds\Map::map() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

print_r($map->map(function($key, $value) { return $value * 2; }));
print_r($map);
?>

O exemplo acima irá imprimir algo similar à:

(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 4
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 6
        )

)
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)


Returns the result of adding all given associations

  • « Ds\Map::map
  • Ds\Map::pairs »
  • PHP Manual
  • Map
  • Returns the result of adding all given associations

Ds\Map::merge

(PECL ds >= 1.0.0)

Ds\Map::merge — Returns the result of adding all given associations

Descrição

public Ds\Map::merge ( mixed $values ) : Ds\Map

Returns the result of associating all keys of a given traversable object or array with their corresponding values, combined with the current instance.

Nota:

Values of the current instance will be overwritten by those provided where keys are equal.

Parâmetros

values

A traversable object or an array.

Valor Retornado

The result of associating all keys of a given traversable object or array with their corresponding values, combined with the current instance.

Nota:

The current instance won't be affected.

Exemplos

Exemplo #1 Ds\Map::merge() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

print_r($map->merge(["a" => 10, "e" => 50]));
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 10
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

    [3] => Ds\Pair Object
        (
            [key] => e
            [value] => 50
        )

)


Returns a sequence containing all the pairs of the map

  • « Ds\Map::merge
  • Ds\Map::put »
  • PHP Manual
  • Map
  • Returns a sequence containing all the pairs of the map

Ds\Map::pairs

(PECL ds >= 1.0.0)

Ds\Map::pairs — Returns a sequence containing all the pairs of the map

Descrição

public Ds\Map::pairs ( ) : Ds\Sequence

Returns a Ds\Sequence containing all the pairs of the map.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Ds\Sequence containing all the pairs of the map.

Exemplos

Exemplo #1 Ds\Map::pairs() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->pairs());
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Map)#8 (3) {
  [0]=>
  object(Ds\Pair)#5 (2) {
    ["key"]=>
    string(1) "a"
    ["value"]=>
    int(1)
  }
  [1]=>
  object(Ds\Pair)#6 (2) {
    ["key"]=>
    string(1) "b"
    ["value"]=>
    int(2)
  }
  [2]=>
  object(Ds\Pair)#7 (2) {
    ["key"]=>
    string(1) "c"
    ["value"]=>
    int(3)
  }
}
p


Associates a key with a value

  • « Ds\Map::pairs
  • Ds\Map::putAll »
  • PHP Manual
  • Map
  • Associates a key with a value

Ds\Map::put

(PECL ds >= 1.0.0)

Ds\Map::put — Associates a key with a value

Descrição

public Ds\Map::put ( mixed $key , mixed $value ) : void

Associates a key with a value, overwriting a previous association if one exists.

Nota:

Keys of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Nota:

You can also use array syntax to associate values by key, eg. $map["key"] = $value.

Cuidado

Be careful when using array syntax. Scalar keys will be coerced to integers by the engine. For example, $map["1"] will attempt to access int(1), while $map->get("1") will correctly look up the string key.

See Arrays.

Parâmetros

key

The key to associate the value with.

value

The value to be associated with the key.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Map::put() example

<?php
$map = new \Ds\Map();

$map->put("a", 1);
$map->put("b", 2);
$map->put("c", 3);

print_r($map);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)

Exemplo #2 Ds\Map::put() example using objects as keys

<?php
class HashableObject implements \Ds\Hashable
{
    /**
     * An arbitrary value to use as the hash value. Does not define equality.
     */
    private $value;

    public function __construct($value)
    {
        $this->value = $value;
    }

    public function hash()
    {
        return $this->value;
    }

    public function equals($obj): bool
    {
        return $this->value === $obj->value;
    }
}

$map = new \Ds\Map();

$obj = new \ArrayIterator([]);

// Using the same instance multiple times will overwrite the previous value.
$map->put($obj, 1);
$map->put($obj, 2);

// Using multiple instances of the same object will create new associations.
$map->put(new \stdClass(), 3);
$map->put(new \stdClass(), 4);

// Using multiple instances of equal hashable objects will overwrite previous values.
$map->put(new \HashableObject(1), 5);
$map->put(new \HashableObject(1), 6);
$map->put(new \HashableObject(2), 7);
$map->put(new \HashableObject(2), 8);

var_dump($map);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Map)#1 (5) {
  [0]=>
  object(Ds\Pair)#7 (2) {
    ["key"]=>
    object(ArrayIterator)#2 (1) {
      ["storage":"ArrayIterator":private]=>
      array(0) {
      }
    }
    ["value"]=>
    int(2)
  }
  [1]=>
  object(Ds\Pair)#8 (2) {
    ["key"]=>
    object(stdClass)#3 (0) {
    }
    ["value"]=>
    int(3)
  }
  [2]=>
  object(Ds\Pair)#9 (2) {
    ["key"]=>
    object(stdClass)#4 (0) {
    }
    ["value"]=>
    int(4)
  }
  [3]=>
  object(Ds\Pair)#10 (2) {
    ["key"]=>
    object(HashableObject)#5 (1) {
      ["value":"HashableObject":private]=>
      int(1)
    }
    ["value"]=>
    int(6)
  }
  [4]=>
  object(Ds\Pair)#11 (2) {
    ["key"]=>
    object(HashableObject)#6 (1) {
      ["value":"HashableObject":private]=>
      int(2)
    }
    ["value"]=>
    int(8)
  }
}


Associates all key-value pairs of a traversable object or array

  • « Ds\Map::put
  • Ds\Map::reduce »
  • PHP Manual
  • Map
  • Associates all key-value pairs of a traversable object or array

Ds\Map::putAll

(PECL ds >= 1.0.2)

Ds\Map::putAll — Associates all key-value pairs of a traversable object or array

Descrição

public Ds\Map::putAll ( mixed $pairs ) : void

Associates all key-value pairs of a traversable object or array.

Nota:

Keys of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Parâmetros

pairs

traversable object or array.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Map::putAll() example

<?php
$map = new \Ds\Map();

$map->putAll([
    "a" => 1,
    "b" => 2,
    "c" => 3,
]);

print_r($map);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)


Reduces the map to a single value using a callback function

  • « Ds\Map::putAll
  • Ds\Map::remove »
  • PHP Manual
  • Map
  • Reduces the map to a single value using a callback function

Ds\Map::reduce

(PECL ds >= 1.0.0)

Ds\Map::reduce — Reduces the map to a single value using a callback function

Descrição

public Ds\Map::reduce ( callable $callback , mixed $initial = ? ) : mixed

Reduces the map to a single value using a callback function.

Parâmetros

callback
callback ( mixed $carry , mixed $key , mixed $value ) : mixed
carry

The return value of the previous callback, or initial if it's the first iteration.

key

The key of the current iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be null.

Valor Retornado

The return value of the final callback.

Exemplos

Exemplo #1 Ds\Map::reduce() with initial value example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

$callback = function($carry, $key, $value) {
    return $carry * $value;
};

var_dump($map->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 =  5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

O exemplo acima irá imprimir algo similar à:

int(30)

Exemplo #2 Ds\Map::reduce() without an initial value example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->reduce(function($carry, $key, $value) {
    return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 =  6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

O exemplo acima irá imprimir algo similar à:

int(21)


Removes and returns a value by key

  • « Ds\Map::reduce
  • Ds\Map::reverse »
  • PHP Manual
  • Map
  • Removes and returns a value by key

Ds\Map::remove

(PECL ds >= 1.0.0)

Ds\Map::remove — Removes and returns a value by key

Descrição

public Ds\Map::remove ( mixed $key , mixed $default = ? ) : mixed

Removes and returns a value by key, or return an optional default value if the key could not be found.

Nota:

Keys of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Nota:

You can also use array syntax to access values by key, eg. $map["key"].

Cuidado

Be careful when using array syntax. Scalar keys will be coerced to integers by the engine. For example, $map["1"] will attempt to access int(1), while $map->get("1") will correctly look up the string key.

See Arrays.

Parâmetros

key

The key to remove.

default

The optional default value, returned if the key could not be found.

Valor Retornado

The value that was removed, or the default value if provided and the key could not be found in the map.

Erros

OutOfBoundsException if the key could not be found and a default value was not provided.

Exemplos

Exemplo #1 Ds\Map::remove() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->remove("a"));      //  1
var_dump($map->remove("e", 10));  // 10 (default used)
?>

O exemplo acima irá imprimir algo similar à:

int(1)
int(10)


Reverses the map in-place

  • « Ds\Map::remove
  • Ds\Map::reversed »
  • PHP Manual
  • Map
  • Reverses the map in-place

Ds\Map::reverse

(PECL ds >= 1.0.0)

Ds\Map::reverse — Reverses the map in-place

Descrição

public Ds\Map::reverse ( ) : void

Reverses the map in-place.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Map::reverse() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$map->reverse();

print_r($map);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

)


Returns a reversed copy

  • « Ds\Map::reverse
  • Ds\Map::skip »
  • PHP Manual
  • Map
  • Returns a reversed copy

Ds\Map::reversed

(PECL ds >= 1.0.0)

Ds\Map::reversed — Returns a reversed copy

Descrição

public Ds\Map::reversed ( ) : Ds\Map

Returns a reversed copy of the map.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A reversed copy of the map.

Nota:

The current instance is not affected.

Exemplos

Exemplo #1 Ds\Map::reversed() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

print_r($map->reversed());
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

)


Returns the pair at a given positional index

  • « Ds\Map::reversed
  • Ds\Map::slice »
  • PHP Manual
  • Map
  • Returns the pair at a given positional index

Ds\Map::skip

(PECL ds >= 1.0.0)

Ds\Map::skip — Returns the pair at a given positional index

Descrição

public Ds\Map::skip ( int $position ) : Ds\Pair

Returns the pair at a given zero-based position.

Parâmetros

position

The zero-based positional index to return.

Valor Retornado

Returns the Ds\Pair at the given position.

Erros

OutOfRangeException if the position is not valid.

Exemplos

Exemplo #1 Ds\Map::skip() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->skip(1));
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Pair)#2 (2) {
  ["key"]=>
  string(1) "b"
  ["value"]=>
  int(2)
}


Returns a subset of the map defined by a starting index and length

  • « Ds\Map::skip
  • Ds\Map::sort »
  • PHP Manual
  • Map
  • Returns a subset of the map defined by a starting index and length

Ds\Map::slice

(PECL ds >= 1.0.0)

Ds\Map::slice — Returns a subset of the map defined by a starting index and length

Descrição

public Ds\Map::slice ( int $index , int $length = ? ) : Ds\Map

Returns a subset of the map defined by a starting index and length.

Parâmetros

index

The index at which the range starts.

If positive, the range will start at that index in the map. If negative, the range will start that far from the end.

length

If a length is given and is positive, the resulting map will have up to that many pairs in it. If a length is given and is negative, the range will stop that many pairs from the end. If the length results in an overflow, only pairs up to the end of the map will be included. If a length is not provided, the resulting map will contain all pairs between the index and the end of the map.

Valor Retornado

A subset of the map defined by a starting index and length.

Exemplos

Exemplo #1 Ds\Map::slice() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5]);

// Slice from 2 onwards
print_r($map->slice(2)->toArray());

// Slice from 1, for a length of 3
print_r($map->slice(1, 3)->toArray());

// Slice from 1 onwards
print_r($map->slice(1)->toArray());

// Slice from 2 from the end onwards
print_r($map->slice(-2)->toArray());

// Slice from 1 to 1 from the end
print_r($map->slice(1, -1)->toArray());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [c] => 3
    [d] => 4
    [e] => 5
)
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
)
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
    [e] => 5
)
Array
(
    [d] => 4
    [e] => 5
)
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
)


Sorts the map in-place by value

  • « Ds\Map::slice
  • Ds\Map::sorted »
  • PHP Manual
  • Map
  • Sorts the map in-place by value

Ds\Map::sort

(PECL ds >= 1.0.0)

Ds\Map::sort — Sorts the map in-place by value

Descrição

public Ds\Map::sort ( callable $comparator = ? ) : void

Sorts the map in-place by value, using an optional comparator function.

Parâmetros

comparator

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
Cuidado

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Map::sort() example

<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);
$map->sort();

print_r($map);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => c
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

)

Exemplo #2 Ds\Map::sort() example using a comparator

<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);

$map->sort(function($a, $b) {
    return $b <=> $a;
});

print_r($map);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

    [1] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 1
        )

)


Returns a copy, sorted by value

  • « Ds\Map::sort
  • Ds\Map::sum »
  • PHP Manual
  • Map
  • Returns a copy, sorted by value

Ds\Map::sorted

(PECL ds >= 1.0.0)

Ds\Map::sorted — Returns a copy, sorted by value

Descrição

public Ds\Map::sorted ( callable $comparator = ? ) : Ds\Map

Returns a copy, sorted by value using an optional comparator function.

Parâmetros

comparator

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
Cuidado

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Valor Retornado

Returns a copy of the map, sorted by value.

Exemplos

Exemplo #1 Ds\Map::sort() example

<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);

print_r($map->sorted());
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => c
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

)

Exemplo #2 Ds\Map::sort() example using a comparator

<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);

// Reverse
$sorted = $map->sorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

    [1] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 1
        )

)


Returns the sum of all values in the map

  • « Ds\Map::sorted
  • Ds\Map::toArray »
  • PHP Manual
  • Map
  • Returns the sum of all values in the map

Ds\Map::sum

(Não há informação de versão disponível, talvez apenas no Git)

Ds\Map::sum — Returns the sum of all values in the map

Descrição

public Ds\Map::sum ( ) : int|float

Returns the sum of all values in the map.

Nota:

Arrays and objects are considered equal to zero when calculating the sum.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The sum of all the values in the map as either a float or int depending on the values in the map.

Exemplos

Exemplo #1 Ds\Map::sum() integer example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->sum());
?>

O exemplo acima irá imprimir algo similar à:

int(6)

Exemplo #2 Ds\Map::sum() float example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2.5, "c" => 3]);
var_dump($map->sum());
?>

O exemplo acima irá imprimir algo similar à:

float(6.5)


Converts the map to an array

  • « Ds\Map::sum
  • Ds\Map::union »
  • PHP Manual
  • Map
  • Converts the map to an array

Ds\Map::toArray

(PECL ds >= 1.0.0)

Ds\Map::toArray — Converts the map to an array

Descrição

public Ds\Map::toArray ( ) : array

Converts the map to an array.

Cuidado

Maps where non-scalar keys are can't be converted to an array.

Cuidado

An array will treat all numeric keys as integers, eg. "1" and 1 as keys in the map will only result in 1 being included in the array.

Nota:

Casting to an array is not supported yet.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing all the values in the same order as the map.

Exemplos

Exemplo #1 Ds\Map::toArray() example

<?php
$map = new \Ds\Map([
    "a" => 1,
    "b" => 2,
    "c" => 3,
]);

var_dump($map->toArray());
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  ["a"]=>
  int(1)
  ["b"]=>
  int(2)
  ["c"]=>
  int(3)
}


Creates a new map using values from the current instance and another map

  • « Ds\Map::toArray
  • Ds\Map::values »
  • PHP Manual
  • Map
  • Creates a new map using values from the current instance and another map

Ds\Map::union

(PECL ds >= 1.0.0)

Ds\Map::union — Creates a new map using values from the current instance and another map

Descrição

public Ds\Map::union ( Ds\Map $map ) : Ds\Map

Creates a new map that contains the pairs of the current instance as well as the pairs of another map.

A ? B = {x: x ? A ? x ? B}

Nota:

Values of the current instance will be overwritten by those provided where keys are equal.

Parâmetros

map

The other map, to combine with the current instance.

Valor Retornado

A new map containing all the pairs of the current instance as well as another map.

See Also

  • » Union on Wikipedia

Exemplos

Exemplo #1 Ds\Map::union() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map(["b" => 3, "c" => 4, "d" => 5]);

print_r($a->union($b));
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 4
        )

    [3] => Ds\Pair Object
        (
            [key] => d
            [value] => 5
        )

)


Returns a sequence of the map's values

  • « Ds\Map::union
  • Ds\Map::xor »
  • PHP Manual
  • Map
  • Returns a sequence of the map's values

Ds\Map::values

(PECL ds >= 1.0.0)

Ds\Map::values — Returns a sequence of the map's values

Descrição

public Ds\Map::values ( ) : Ds\Sequence

Returns a sequence containing all the values of the map, in the same order.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A Ds\Sequence containing all the values of the map.

Exemplos

Exemplo #1 Ds\Map::values() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->values());
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Vector)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Creates a new map using keys of either the current instance or of another map, but not of both

  • « Ds\Map::values
  • Pair »
  • PHP Manual
  • Map
  • Creates a new map using keys of either the current instance or of another map, but not of both

Ds\Map::xor

(PECL ds >= 1.0.0)

Ds\Map::xor — Creates a new map using keys of either the current instance or of another map, but not of both

Descrição

public Ds\Map::xor ( Ds\Map $map ) : Ds\Map

Creates a new map containing keys of the current instance as well as another map, but not of both.

A ? B = {x : x ? (A \ B) ? (B \ A)}

Parâmetros

map

The other map.

Valor Retornado

A new map containing keys in the current instance as well as another map, but not in both.

See Also

  • » Symmetric Difference on Wikipedia

Exemplos

Exemplo #1 Ds\Map::xor() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map(["b" => 4, "c" => 5, "d" => 6]);

print_r($a->xor($b));
?>

O exemplo acima irá imprimir algo similar à:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => d
            [value] => 6
        )

)


The Pair class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

A pair is used by Ds\Map to pair keys with values.

Sinopse da classe

Ds\Pair implements JsonSerializable {
/* Métodos */
public __construct ( mixed $key = ? , mixed $value = ? )
public clear ( ) : void
public copy ( ) : Ds\Pair
public isEmpty ( ) : bool
public toArray ( ) : array
}

Índice

  • Ds\Pair::clear — Removes all values
  • Ds\Pair::__construct — Creates a new instance
  • Ds\Pair::copy — Returns a shallow copy of the pair
  • Ds\Pair::isEmpty — Returns whether the pair is empty
  • Ds\Pair::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Pair::toArray — Converts the pair to an array


Removes all values

  • « Pair
  • Ds\Pair::__construct »
  • PHP Manual
  • Pair
  • Removes all values

Ds\Pair::clear

(Não há informação de versão disponível, talvez apenas no Git)

Ds\Pair::clear — Removes all values

Descrição

public Ds\Pair::clear ( ) : void

Removes all values from the pair.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Pair::clear() example

<?php
$pair = new \Ds\Pair("a", 1);
print_r($pair);

$pair->clear();
print_r($pair);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Pair Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Pair Object
(
)


Creates a new instance

  • « Ds\Pair::clear
  • Ds\Pair::copy »
  • PHP Manual
  • Pair
  • Creates a new instance

Ds\Pair::__construct

(PECL ds >= 1.0.0)

Ds\Pair::__construct — Creates a new instance

Descrição

public Ds\Pair::__construct ( mixed $key = ? , mixed $value = ? )

Creates a new instance using a given key and value.

Parâmetros

key

The key.

value

The value.


Returns a shallow copy of the pair

  • « Ds\Pair::__construct
  • Ds\Pair::isEmpty »
  • PHP Manual
  • Pair
  • Returns a shallow copy of the pair

Ds\Pair::copy

(Não há informação de versão disponível, talvez apenas no Git)

Ds\Pair::copy — Returns a shallow copy of the pair

Descrição

public Ds\Pair::copy ( ) : Ds\Pair

Returns a shallow copy of the pair.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a shallow copy of the pair.

Exemplos

Exemplo #1 Ds\Pair::copy() example

<?php
$a = new \Ds\Pair("a", 1);
$b = $a->copy();

$a->key = "x";

print_r($a);
print_r($b);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Pair Object
(
    [key] => x
    [value] => 1
)
Ds\Pair Object
(
    [key] => a
    [value] => 1
)


Returns whether the pair is empty

  • « Ds\Pair::copy
  • Ds\Pair::jsonSerialize »
  • PHP Manual
  • Pair
  • Returns whether the pair is empty

Ds\Pair::isEmpty

(Não há informação de versão disponível, talvez apenas no Git)

Ds\Pair::isEmpty — Returns whether the pair is empty

Descrição

public Ds\Pair::isEmpty ( ) : bool

Returns whether the pair is empty.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the pair is empty, false otherwise.

Exemplos

Exemplo #1 Ds\Pair::isEmpty() example

<?php
$a = new \Ds\Pair("a", 1);
$b = new \Ds\Pair();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)


Returns a representation that can be converted to JSON

  • « Ds\Pair::isEmpty
  • Ds\Pair::toArray »
  • PHP Manual
  • Pair
  • Returns a representation that can be converted to JSON

Ds\Pair::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Pair::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Nota:

You should never need to call this directly.


Converts the pair to an array

  • « Ds\Pair::jsonSerialize
  • Set »
  • PHP Manual
  • Pair
  • Converts the pair to an array

Ds\Pair::toArray

(PECL ds >= 1.0.0)

Ds\Pair::toArray — Converts the pair to an array

Descrição

public Ds\Pair::toArray ( ) : array

Converts the pair to an array.

Nota:

Casting to an array is not supported yet.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing all the values in the same order as the pair.

Exemplos

Exemplo #1 Ds\Pair::toArray() example

<?php
$pair = new \Ds\Pair("a", 1);

var_dump($pair->toArray());
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["key"]=>
  string(1) "a"
  ["value"]=>
  int(1)
}


The Set class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

A Set is a sequence of unique values. This implementation uses the same hash table as Ds\Map, where values are used as keys and the mapped value is ignored.

Strengths

  • Values can be any type, including objects.
  • Supports array syntax (square brackets).
  • Insertion order is preserved.
  • Automatically frees allocated memory when its size drops low enough.
  • add(),
remove() and
contains() are all O(1).

Weaknesses

  • Doesn’t support
                push(),
                pop(),
                insert(),
                shift(), or
                unshift().
  • get() is O(n) if there are deleted values in the buffer before the accessed index, O(1) otherwise.

Sinopse da classe

Ds\Set implements Ds\Collection , ArrayAccess {
/* Constants */
const int MIN_CAPACITY = 16 ;
/* Métodos */
public add ( mixed ...$values ) : void
public allocate ( int $capacity ) : void
public capacity ( ) : int
public clear ( ) : void
public contains ( mixed ...$values ) : bool
public copy ( ) : Ds\Set
public diff ( Ds\Set $set ) : Ds\Set
public filter ( callable $callback = ? ) : Ds\Set
public first ( ) : mixed
public get ( int $index ) : mixed
public intersect ( Ds\Set $set ) : Ds\Set
public isEmpty ( ) : bool
public join ( string $glue = ? ) : string
public last ( ) : mixed
public merge ( mixed $values ) : Ds\Set
public reduce ( callable $callback , mixed $initial = ? ) : mixed
public remove ( mixed ...$values ) : void
public reverse ( ) : void
public reversed ( ) : Ds\Set
public slice ( int $index , int $length = ? ) : Ds\Set
public sort ( callable $comparator = ? ) : void
public sorted ( callable $comparator = ? ) : Ds\Set
public sum ( ) : int|float
public toArray ( ) : array
public union ( Ds\Set $set ) : Ds\Set
public xor ( Ds\Set $set ) : Ds\Set
}

Constantes pré-definidas

Ds\Set::MIN_CAPACITY

Changelog

Versão | Descrição
PECL ds 1.3.0 | The class now implements ArrayAccess.

Índice

  • Ds\Set::add — Adds values to the set
  • Ds\Set::allocate — Allocates enough memory for a required capacity
  • Ds\Set::capacity — Returns the current capacity
  • Ds\Set::clear — Removes all values
  • Ds\Set::__construct — Creates a new instance
  • Ds\Set::contains — Determines if the set contains all values
  • Ds\Set::copy — Returns a shallow copy of the set
  • Ds\Set::count — Returns the number of values in the set
  • Ds\Set::diff — Creates a new set using values that aren't in another set
  • Ds\Set::filter — Creates a new set using a callable to determine which values to include
  • Ds\Set::first — Returns the first value in the set
  • Ds\Set::get — Returns the value at a given index
  • Ds\Set::intersect — Creates a new set by intersecting values with another set
  • Ds\Set::isEmpty — Returns whether the set is empty
  • Ds\Set::join — Joins all values together as a string
  • Ds\Set::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Set::last — Returns the last value in the set
  • Ds\Set::merge — Returns the result of adding all given values to the set
  • Ds\Set::reduce — Reduces the set to a single value using a callback function
  • Ds\Set::remove — Removes all given values from the set
  • Ds\Set::reverse — Reverses the set in-place
  • Ds\Set::reversed — Returns a reversed copy
  • Ds\Set::slice — Returns a sub-set of a given range
  • Ds\Set::sort — Sorts the set in-place
  • Ds\Set::sorted — Returns a sorted copy
  • Ds\Set::sum — Returns the sum of all values in the set
  • Ds\Set::toArray — Converts the set to an array
  • Ds\Set::union — Creates a new set using values from the current instance and another set
  • Ds\Set::xor — Creates a new set using values in either the current instance or in another set, but not in both


Adds values to the set

  • « Set
  • Ds\Set::allocate »
  • PHP Manual
  • Set
  • Adds values to the set

Ds\Set::add

(PECL ds >= 1.0.0)

Ds\Set::add — Adds values to the set

Descrição

public Ds\Set::add ( mixed ...$values ) : void

Adds all given values to the set that haven't already been added.

Nota:

Values of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Cuidado

All comparisons are strict (type and value).

Parâmetros

values

Values to add to the set.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Set::add() example using integers

<?php
$set = new \Ds\Set();

$set->add(1);
$set->add(1);
$set->add(2);
$set->add(3);

// Strict comparison would not treat these the same as int(1)
$set->add("1");
$set->add(true);

var_dump($set);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Set)#1 (5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  string(1) "1"
  [4]=>
  bool(true)
}

Exemplo #2 Ds\Set::add() example using objects

<?php
class HashableObject implements \Ds\Hashable
{
    /**
     * An arbitrary value to use as the hash value. Does not define equality.
     */
    private $value;

    public function __construct($value)
    {
        $this->value = $value;
    }

    public function hash()
    {
        return $this->value;
    }

    public function equals($obj): bool
    {
        return $this->value === $obj->value;
    }
}

$set = new \Ds\Set();

$obj = new \ArrayIterator([]);

// Adding the same instance multiple times will only add the first.
$set->add($obj);
$set->add($obj);

// Adding multiple instances of the same object will add them all.
$set->add(new \stdClass());
$set->add(new \stdClass());

// Adding multiple instances of equal hashable objects will only add the first.
$set->add(new \HashableObject(1));
$set->add(new \HashableObject(1));
$set->add(new \HashableObject(2));
$set->add(new \HashableObject(2));

var_dump($set);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Set)#1 (5) {
  [0]=>
  object(ArrayIterator)#2 (1) {
    ["storage":"ArrayIterator":private]=>
    array(0) {
    }
  }
  [1]=>
  object(stdClass)#3 (0) {
  }
  [2]=>
  object(stdClass)#4 (0) {
  }
  [3]=>
  object(HashableObject)#5 (1) {
    ["value":"HashableObject":private]=>
    int(1)
  }
  [4]=>
  object(HashableObject)#6 (1) {
    ["value":"HashableObject":private]=>
    int(2)
  }
}


Allocates enough memory for a required capacity

  • « Ds\Set::add
  • Ds\Set::capacity »
  • PHP Manual
  • Set
  • Allocates enough memory for a required capacity

Ds\Set::allocate

(PECL ds >= 1.0.0)

Ds\Set::allocate — Allocates enough memory for a required capacity

Descrição

public Ds\Set::allocate ( int $capacity ) : void

Allocates enough memory for a required capacity.

Parâmetros

capacity

The number of values for which capacity should be allocated.

Nota:

Capacity will stay the same if this value is less than or equal to the current capacity.

Nota:

Capacity will always be rounded up to the nearest power of 2.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Set::allocate() example

<?php
$set = new \Ds\Set();
var_dump($set->capacity());

$set->allocate(100);
var_dump($set->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(16)
int(128)


Returns the current capacity

  • « Ds\Set::allocate
  • Ds\Set::clear »
  • PHP Manual
  • Set
  • Returns the current capacity

Ds\Set::capacity

(PECL ds >= 1.0.0)

Ds\Set::capacity — Returns the current capacity

Descrição

public Ds\Set::capacity ( ) : int

Returns the current capacity.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current capacity.

Exemplos

Exemplo #1 Ds\Set::capacity() example

<?php
$set = new \Ds\Set();
var_dump($set->capacity());

$set->push(...range(1, 50));
var_dump($set->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(16)
int(64)


Removes all values

  • « Ds\Set::capacity
  • Ds\Set::__construct »
  • PHP Manual
  • Set
  • Removes all values

Ds\Set::clear

(PECL ds >= 1.0.0)

Ds\Set::clear — Removes all values

Descrição

public Ds\Set::clear ( ) : void

Removes all values from the set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Set::clear() example

<?php
$set = new \Ds\Set([1, 2, 3]);
print_r($set);

$set->clear();
print_r($set);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Set Object
(
)


Creates a new instance

  • « Ds\Set::clear
  • Ds\Set::contains »
  • PHP Manual
  • Set
  • Creates a new instance

Ds\Set::__construct

(PECL ds >= 1.0.0)

Ds\Set::__construct — Creates a new instance

Descrição

public Ds\Set::__construct ( mixed ...$values )

Creates a new instance, using either a traversable object or an array for the initial values.

Parâmetros

values

A traversable object or an array to use for the initial values.

Exemplos

Exemplo #1 Ds\Set::__construct() example

<?php
$set = new \Ds\Set();
var_dump($set);

$set = new \Ds\Set([1, 2, 3]);
var_dump($set);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Set)#1 (0) {
}
object(Ds\Set)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Determines if the set contains all values

  • « Ds\Set::__construct
  • Ds\Set::copy »
  • PHP Manual
  • Set
  • Determines if the set contains all values

Ds\Set::contains

(PECL ds >= 1.0.0)

Ds\Set::contains — Determines if the set contains all values

Descrição

public Ds\Set::contains ( mixed ...$values ) : bool

Determines if the set contains all values.

Nota:

Values of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Cuidado

All comparisons are strict (type and value).

Parâmetros

values

Values to check.

Valor Retornado

false if any of the provided values are not in the set, true otherwise.

Exemplos

Exemplo #1 Ds\Set::contains() example

<?php
$set = new \Ds\Set([1, 2, 3]);

var_dump($set->contains(1));                // true
var_dump($set->contains(1, 2));             // true
var_dump($set->contains(...[1, 2]));        // true

var_dump($set->contains("1"));              // false
var_dump($set->contains(...[1, 2, 3, 4]));  // false

var_dump($set->contains(...[]));            // true
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(true)


Returns a shallow copy of the set

  • « Ds\Set::contains
  • Ds\Set::count »
  • PHP Manual
  • Set
  • Returns a shallow copy of the set

Ds\Set::copy

(PECL ds >= 1.0.0)

Ds\Set::copy — Returns a shallow copy of the set

Descrição

public Ds\Set::copy ( ) : Ds\Set

Returns a shallow copy of the set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a shallow copy of the set.

Exemplos

Exemplo #1 Ds\Set::copy() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = $a->copy();

// Updating the copy doesn't affect the original
$b->add(4);

print_r($a);
print_r($b);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)


Returns the number of values in the set

  • « Ds\Set::copy
  • Ds\Set::diff »
  • PHP Manual
  • Set
  • Returns the number of values in the set

Ds\Set::count

(PECL ds >= 1.0.0)

Ds\Set::count — Returns the number of values in the set

See Countable::count()


Creates a new set using values that aren't in another set

  • « Ds\Set::count
  • Ds\Set::filter »
  • PHP Manual
  • Set
  • Creates a new set using values that aren't in another set

Ds\Set::diff

(PECL ds >= 1.0.0)

Ds\Set::diff — Creates a new set using values that aren't in another set

Descrição

public Ds\Set::diff ( Ds\Set $set ) : Ds\Set

Creates a new set using values that aren't in another set.

A \ B = {x ? A | x ? B}

Parâmetros

set

Set containing the values to exclude.

Valor Retornado

A new set containing all values that were not in the other set.

See Also

  • » Compliment on Wikipedia

Exemplos

Exemplo #1 Ds\Set::diff() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set([3, 4, 5]);

var_dump($a->diff($b));
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Set)#3 (2) {
  [0]=>
  int(1)
  [1]=>
  int(2)
}


Creates a new set using a callable to determine which values to include

  • « Ds\Set::diff
  • Ds\Set::first »
  • PHP Manual
  • Set
  • Creates a new set using a callable to determine which values to include

Ds\Set::filter

(PECL ds >= 1.0.0)

Ds\Set::filter — Creates a new set using a callable to determine which values to include

Descrição

public Ds\Set::filter ( callable $callback = ? ) : Ds\Set

Creates a new set using a callable to determine which values to include.

Parâmetros

callback

callback ( mixed $value ) : bool

Optional callable which returns true if the value should be included, false otherwise.

If a callback is not provided, only values which are true (see converting to boolean) will be included.

Valor Retornado

A new set containing all the values for which either the callback returned true, or all values that convert to true if a callback was not provided.

Exemplos

Exemplo #1 Ds\Set::filter() example using callback function

<?php
$set = new \Ds\Set([1, 2, 3, 4, 5]);

var_dump($set->filter(function($value) {
    return $value % 2 == 0;
}));
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Set)#3 (2) {
  [0]=>
  int(2)
  [1]=>
  int(4)
}

Exemplo #2 Ds\Set::filter() example without a callback function

<?php
$set = new \Ds\Set([0, 1, 'a', true, false]);

var_dump($set->filter());
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Set)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}


Returns the first value in the set

  • « Ds\Set::filter
  • Ds\Set::get »
  • PHP Manual
  • Set
  • Returns the first value in the set

Ds\Set::first

(PECL ds >= 1.0.0)

Ds\Set::first — Returns the first value in the set

Descrição

public Ds\Set::first ( ) : mixed

Returns the first value in the set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The first value in the set.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Set::first() example

<?php
$set = new \Ds\Set([1, 2, 3]);
var_dump($set->first());
?>

O exemplo acima irá imprimir algo similar à:

int(1)


Returns the value at a given index

  • « Ds\Set::first
  • Ds\Set::intersect »
  • PHP Manual
  • Set
  • Returns the value at a given index

Ds\Set::get

(PECL ds >= 1.0.0)

Ds\Set::get — Returns the value at a given index

Descrição

public Ds\Set::get ( int $index ) : mixed

Returns the value at a given index.

Parâmetros

index

The index to access, starting at 0.

Valor Retornado

The value at the requested index.

Erros

OutOfRangeException if the index is not valid.

Exemplos

Exemplo #1 Ds\Set::get() example

<?php
$set = new \Ds\Set(["a", "b", "c"]);

var_dump($set->get(0));
var_dump($set->get(1));
var_dump($set->get(2));
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"
string(1) "b"
string(1) "c"

Exemplo #2 Ds\Set::get() example using array syntax

<?php
$set = new \Ds\Set(["a", "b", "c"]);

var_dump($set[0]);
var_dump($set[1]);
var_dump($set[2]);
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"
string(1) "b"
string(1) "c"


Creates a new set by intersecting values with another set

  • « Ds\Set::get
  • Ds\Set::isEmpty »
  • PHP Manual
  • Set
  • Creates a new set by intersecting values with another set

Ds\Set::intersect

(PECL ds >= 1.0.0)

Ds\Set::intersect — Creates a new set by intersecting values with another set

Descrição

public Ds\Set::intersect ( Ds\Set $set ) : Ds\Set

Creates a new set using values common to both the current instance and another set. In other words, returns a copy of the current instance with all values removed that are not in the other set.

A n B = {x : x ? A ? x ? B}

Parâmetros

set

The other set.

Valor Retornado

The intersection of the current instance and another set.

See Also

  • » Intersection on Wikipedia

Exemplos

Exemplo #1 Ds\Set::intersect() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set([3, 4, 5]);

var_dump($a->intersect($b));
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Set)#3 (1) {
  [0]=>
  int(3)
}


Returns whether the set is empty

  • « Ds\Set::intersect
  • Ds\Set::join »
  • PHP Manual
  • Set
  • Returns whether the set is empty

Ds\Set::isEmpty

(PECL ds >= 1.0.0)

Ds\Set::isEmpty — Returns whether the set is empty

Descrição

public Ds\Set::isEmpty ( ) : bool

Returns whether the set is empty.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the set is empty, false otherwise.

Exemplos

Exemplo #1 Ds\Set::isEmpty() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)


Joins all values together as a string

  • « Ds\Set::isEmpty
  • Ds\Set::jsonSerialize »
  • PHP Manual
  • Set
  • Joins all values together as a string

Ds\Set::join

(PECL ds >= 1.0.0)

Ds\Set::join — Joins all values together as a string

Descrição

public Ds\Set::join ( string $glue = ? ) : string

Joins all values together as a string using an optional separator between each value.

Parâmetros

glue

An optional string to separate each value.

Valor Retornado

All values of the set joined together as a string.

Exemplos

Exemplo #1 Ds\Set::join() example using a separator string

<?php
$set = new \Ds\Set(["a", "b", "c", 1, 2, 3]);

var_dump($set->join("|"));
?>

O exemplo acima irá imprimir algo similar à:

string(11) "a|b|c|1|2|3"

Exemplo #2 Ds\Set::join() example without a separator string

<?php
$set = new \Ds\Set(["a", "b", "c", 1, 2, 3]);

var_dump($set->join());
?>

O exemplo acima irá imprimir algo similar à:

string(11) "abc123"


Returns a representation that can be converted to JSON

  • « Ds\Set::join
  • Ds\Set::last »
  • PHP Manual
  • Set
  • Returns a representation that can be converted to JSON

Ds\Set::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Set::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Nota:

You should never need to call this directly.


Returns the last value in the set

  • « Ds\Set::jsonSerialize
  • Ds\Set::merge »
  • PHP Manual
  • Set
  • Returns the last value in the set

Ds\Set::last

(PECL ds >= 1.0.0)

Ds\Set::last — Returns the last value in the set

Descrição

public Ds\Set::last ( ) : mixed

Returns the last value in the set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The last value in the set.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Set::last() example

<?php
$set = new \Ds\Set([1, 2, 3]);
var_dump($set->last());
?>

O exemplo acima irá imprimir algo similar à:

int(3)


Returns the result of adding all given values to the set

  • « Ds\Set::last
  • Ds\Set::reduce »
  • PHP Manual
  • Set
  • Returns the result of adding all given values to the set

Ds\Set::merge

(PECL ds >= 1.0.3)

Ds\Set::merge — Returns the result of adding all given values to the set

Descrição

public Ds\Set::merge ( mixed $values ) : Ds\Set

Returns the result of adding all given values to the set.

Parâmetros

values

A traversable object or an array.

Valor Retornado

The result of adding all given values to the set, effectively the same as adding the values to a copy, then returning that copy.

Nota:

The current instance won't be affected.

Exemplos

Exemplo #1 Ds\Set::merge() example

<?php
$set = new \Ds\Set([1, 2, 3]);

var_dump($set->merge([3, 4, 5]));
var_dump($set);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Set)#2 (6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
}
object(Ds\Set)#1 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Reduces the set to a single value using a callback function

  • « Ds\Set::merge
  • Ds\Set::remove »
  • PHP Manual
  • Set
  • Reduces the set to a single value using a callback function

Ds\Set::reduce

(PECL ds >= 1.0.0)

Ds\Set::reduce — Reduces the set to a single value using a callback function

Descrição

public Ds\Set::reduce ( callable $callback , mixed $initial = ? ) : mixed

Reduces the set to a single value using a callback function.

Parâmetros

callback
callback ( mixed $carry , mixed $value ) : mixed
carry

The return value of the previous callback, or initial if it's the first iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be null.

Valor Retornado

The return value of the final callback.

Exemplos

Exemplo #1 Ds\Set::reduce() with initial value example

<?php
$set = new \Ds\Set([1, 2, 3]);

$callback = function($carry, $value) {
    return $carry * $value;
};

var_dump($set->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 =  5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

O exemplo acima irá imprimir algo similar à:

int(30)

Exemplo #2 Ds\Set::reduce() without an initial value example

<?php
$set = new \Ds\Set([1, 2, 3]);

var_dump($set->reduce(function($carry, $value) {
    return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 =  6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

O exemplo acima irá imprimir algo similar à:

int(21)


Removes all given values from the set

  • « Ds\Set::reduce
  • Ds\Set::reverse »
  • PHP Manual
  • Set
  • Removes all given values from the set

Ds\Set::remove

(PECL ds >= 1.0.0)

Ds\Set::remove — Removes all given values from the set

Descrição

public Ds\Set::remove ( mixed ...$values ) : void

Removes all given values from the set, ignoring any that are not in the set.

Parâmetros

values

The values to remove.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Set::remove() example

<?php
$set = new \Ds\Set([1, 2, 3, 4, 5]);

$set->remove(1);            // Remove 1
$set->remove(1, 2);         // Can't find 1, but remove 2
$set->remove(...[3, 4]);    // Remove 3 and 4

var_dump($set);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Set)#1 (1) {
  [0]=>
  int(5)
}


Reverses the set in-place

  • « Ds\Set::remove
  • Ds\Set::reversed »
  • PHP Manual
  • Set
  • Reverses the set in-place

Ds\Set::reverse

(PECL ds >= 1.0.0)

Ds\Set::reverse — Reverses the set in-place

Descrição

public Ds\Set::reverse ( ) : void

Reverses the set in-place.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Set::reverse() example

<?php
$set = new \Ds\Set(["a", "b", "c"]);
$set->reverse();

print_r($set);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Set Object
(
    [0] => c
    [1] => b
    [2] => a
)


Returns a reversed copy

  • « Ds\Set::reverse
  • Ds\Set::slice »
  • PHP Manual
  • Set
  • Returns a reversed copy

Ds\Set::reversed

(PECL ds >= 1.0.0)

Ds\Set::reversed — Returns a reversed copy

Descrição

public Ds\Set::reversed ( ) : Ds\Set

Returns a reversed copy of the set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A reversed copy of the set.

Nota:

The current instance is not affected.

Exemplos

Exemplo #1 Ds\Set::reversed() example

<?php
$set = new \Ds\Set(["a", "b", "c"]);

print_r($set->reversed());
print_r($set);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Set Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Set Object
(
    [0] => a
    [1] => b
    [2] => c
)


Returns a sub-set of a given range

  • « Ds\Set::reversed
  • Ds\Set::sort »
  • PHP Manual
  • Set
  • Returns a sub-set of a given range

Ds\Set::slice

(PECL ds >= 1.0.0)

Ds\Set::slice — Returns a sub-set of a given range

Descrição

public Ds\Set::slice ( int $index , int $length = ? ) : Ds\Set

Creates a sub-set of a given range.

Parâmetros

index

The index at which the sub-set starts.

If positive, the set will start at that index in the set. If negative, the set will start that far from the end.

length

If a length is given and is positive, the resulting set will have up to that many values in it. If the length results in an overflow, only values up to the end of the set will be included. If a length is given and is negative, the set will stop that many values from the end. If a length is not provided, the resulting set will contain all values between the index and the end of the set.

Valor Retornado

A sub-set of the given range.

Exemplos

Exemplo #1 Ds\Set::slice() example

<?php
$set = new \Ds\Set(["a", "b", "c", "d", "e"]);

// Slice from 2 onwards
print_r($set->slice(2));

// Slice from 1, for a length of 3
print_r($set->slice(1, 3));

// Slice from 1 onwards
print_r($set->slice(1));

// Slice from 2 from the end onwards
print_r($set->slice(-2));

// Slice from 1 to 1 from the end
print_r($set->slice(1, -1));
?>

O exemplo acima irá imprimir algo similar à:

Ds\Set Object
(
    [0] => c
    [1] => d
    [2] => e
)
Ds\Set Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Set Object
(
    [0] => b
    [1] => c
    [2] => d
    [3] => e
)
Ds\Set Object
(
    [0] => d
    [1] => e
)
Ds\Set Object
(
    [0] => b
    [1] => c
    [2] => d
)


Sorts the set in-place

  • « Ds\Set::slice
  • Ds\Set::sorted »
  • PHP Manual
  • Set
  • Sorts the set in-place

Ds\Set::sort

(PECL ds >= 1.0.0)

Ds\Set::sort — Sorts the set in-place

Descrição

public Ds\Set::sort ( callable $comparator = ? ) : void

Sorts the set in-place, using an optional comparator function.

Parâmetros

comparator

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
Cuidado

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Set::sort() example

<?php
$set = new \Ds\Set([4, 5, 1, 3, 2]);
$set->sort();

print_r($set);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Exemplo #2 Ds\Set::sort() example using a comparator

<?php
$set = new \Ds\Set([4, 5, 1, 3, 2]);

$set->sort(function($a, $b) {
    return $b <=> $a;
});

print_r($set);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Set Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns a sorted copy

  • « Ds\Set::sort
  • Ds\Set::sum »
  • PHP Manual
  • Set
  • Returns a sorted copy

Ds\Set::sorted

(PECL ds >= 1.0.0)

Ds\Set::sorted — Returns a sorted copy

Descrição

public Ds\Set::sorted ( callable $comparator = ? ) : Ds\Set

Returns a sorted copy, using an optional comparator function.

Parâmetros

comparator

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
Cuidado

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Valor Retornado

Returns a sorted copy of the set.

Exemplos

Exemplo #1 Ds\Set::sorted() example

<?php
$set = new \Ds\Set([4, 5, 1, 3, 2]);

print_r($set->sorted());
?>

O exemplo acima irá imprimir algo similar à:

Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Exemplo #2 Ds\Set::sorted() example using a comparator

<?php
$set = new \Ds\Set([4, 5, 1, 3, 2]);

$sorted = $set->sorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Set Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns the sum of all values in the set

  • « Ds\Set::sorted
  • Ds\Set::toArray »
  • PHP Manual
  • Set
  • Returns the sum of all values in the set

Ds\Set::sum

(PECL ds >= 1.0.0)

Ds\Set::sum — Returns the sum of all values in the set

Descrição

public Ds\Set::sum ( ) : int|float

Returns the sum of all values in the set.

Nota:

Arrays and objects are considered equal to zero when calculating the sum.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The sum of all the values in the set as either a float or int depending on the values in the set.

Exemplos

Exemplo #1 Ds\Set::sum() integer example

<?php
$set = new \Ds\Set([1, 2, 3]);
var_dump($set->sum());
?>

O exemplo acima irá imprimir algo similar à:

int(6)

Exemplo #2 Ds\Set::sum() float example

<?php
$set = new \Ds\Set([1, 2.5, 3]);
var_dump($set->sum());
?>

O exemplo acima irá imprimir algo similar à:

float(6.5)


Converts the set to an array

  • « Ds\Set::sum
  • Ds\Set::union »
  • PHP Manual
  • Set
  • Converts the set to an array

Ds\Set::toArray

(PECL ds >= 1.0.0)

Ds\Set::toArray — Converts the set to an array

Descrição

public Ds\Set::toArray ( ) : array

Converts the set to an array.

Nota:

Casting to an array is not supported yet.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing all the values in the same order as the set.

Exemplos

Exemplo #1 Ds\Set::toArray() example

<?php
$set = new \Ds\Set([1, 2, 3]);

var_dump($set->toArray());
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Creates a new set using values from the current instance and another set

  • « Ds\Set::toArray
  • Ds\Set::xor »
  • PHP Manual
  • Set
  • Creates a new set using values from the current instance and another set

Ds\Set::union

(PECL ds >= 1.0.0)

Ds\Set::union — Creates a new set using values from the current instance and another set

Descrição

public Ds\Set::union ( Ds\Set $set ) : Ds\Set

Creates a new set that contains the values of the current instance as well as the values of another set.

A ? B = {x: x ? A ? x ? B}

Parâmetros

set

The other set, to combine with the current instance.

Valor Retornado

A new set containing all the values of the current instance as well as another set.

See Also

  • » Union on Wikipedia

Exemplos

Exemplo #1 Ds\Set::union() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set([3, 4, 5]);

var_dump($a->union($b));
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Set)#3 (5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
}


Creates a new set using values in either the current instance or in another set, but not in both

  • « Ds\Set::union
  • Stack »
  • PHP Manual
  • Set
  • Creates a new set using values in either the current instance or in another set, but not in both

Ds\Set::xor

(PECL ds >= 1.0.0)

Ds\Set::xor — Creates a new set using values in either the current instance or in another set, but not in both

Descrição

public Ds\Set::xor ( Ds\Set $set ) : Ds\Set

Creates a new set containing values in the current instance as well as another set, but not in both.

A ? B = {x : x ? (A \ B) ? (B \ A)}

Parâmetros

set

The other set.

Valor Retornado

A new set containing values in the current instance as well as another set, but not in both.

See Also

  • » Symmetric Difference on Wikipedia

Exemplos

Exemplo #1 Ds\Set::xor() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set([3, 4, 5]);

var_dump($a->xor($b));
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Set)#3 (4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(4)
  [3]=>
  int(5)
}


The Stack class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

A Stack is a “last in, first out” or “LIFO” collection that only allows access to the value at the top of the structure and iterates in that order, destructively.

Uses a Ds\Vector internally.

Sinopse da classe

Ds\Stack implements Ds\Collection , ArrayAccess {
/* Métodos */
public allocate ( int $capacity ) : void
public capacity ( ) : int
public clear ( ) : void
public copy ( ) : Ds\Stack
public isEmpty ( ) : bool
public peek ( ) : mixed
public pop ( ) : mixed
public push ( mixed ...$values ) : void
public toArray ( ) : array
}

Changelog

Versão | Descrição
PECL ds 1.3.0 | The class now implements ArrayAccess.

Índice

  • Ds\Stack::allocate — Allocates enough memory for a required capacity
  • Ds\Stack::capacity — Returns the current capacity
  • Ds\Stack::clear — Removes all values
  • Ds\Stack::__construct — Creates a new instance
  • Ds\Stack::copy — Returns a shallow copy of the stack
  • Ds\Stack::count — Retorna o número de valores na pilha
  • Ds\Stack::isEmpty — Returns whether the stack is empty
  • Ds\Stack::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Stack::peek — Retorna o valor no topo da pilha
  • Ds\Stack::pop — Removes and returns the value at the top of the stack
  • Ds\Stack::push — Pushes values onto the stack
  • Ds\Stack::toArray — Converts the stack to an array


Allocates enough memory for a required capacity

  • « Stack
  • Ds\Stack::capacity »
  • PHP Manual
  • Stack
  • Allocates enough memory for a required capacity

Ds\Stack::allocate

(PECL ds >= 1.0.0)

Ds\Stack::allocate — Allocates enough memory for a required capacity

Descrição

public Ds\Stack::allocate ( int $capacity ) : void

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Parâmetros

capacity

The number of values for which capacity should be allocated.

Nota:

Capacity will stay the same if this value is less than or equal to the current capacity.

Valor Retornado

Não há valor retornado.


Returns the current capacity

  • « Ds\Stack::allocate
  • Ds\Stack::clear »
  • PHP Manual
  • Stack
  • Returns the current capacity

Ds\Stack::capacity

(PECL ds >= 1.0.0)

Ds\Stack::capacity — Returns the current capacity

Descrição

public Ds\Stack::capacity ( ) : int

Returns the current capacity.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current capacity.


Removes all values

  • « Ds\Stack::capacity
  • Ds\Stack::__construct »
  • PHP Manual
  • Stack
  • Removes all values

Ds\Stack::clear

(PECL ds >= 1.0.0)

Ds\Stack::clear — Removes all values

Descrição

public Ds\Stack::clear ( ) : void

Removes all values from the stack.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Stack::clear() example

<?php
$stack = new \Ds\Stack([1, 2, 3]);
print_r($stack);

$stack->clear();
print_r($stack);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Stack Object
(
    [0] => 3
    [1] => 2
    [2] => 1
)
Ds\Stack Object
(
)


Creates a new instance

  • « Ds\Stack::clear
  • Ds\Stack::copy »
  • PHP Manual
  • Stack
  • Creates a new instance

Ds\Stack::__construct

(PECL ds >= 1.0.0)

Ds\Stack::__construct — Creates a new instance

Descrição

public Ds\Stack::__construct ( mixed $values = ? )

Creates a new instance, using either a traversable object or an array for the initial values.

Parâmetros

values

A traversable object or an array to use for the initial values.

Exemplos

Exemplo #1 Ds\Stack::__construct() example

<?php
$stack = new \Ds\Stack();
print_r($stack);

$stack = new \Ds\Stack([1, 2, 3]);
print_r($stack);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Stack Object
(
)
Ds\Stack Object
(
    [0] => 3
    [1] => 2
    [2] => 1
)


Returns a shallow copy of the stack

  • « Ds\Stack::__construct
  • Ds\Stack::count »
  • PHP Manual
  • Stack
  • Returns a shallow copy of the stack

Ds\Stack::copy

(PECL ds >= 1.0.0)

Ds\Stack::copy — Returns a shallow copy of the stack

Descrição

public Ds\Stack::copy ( ) : Ds\Stack

Returns a shallow copy of the stack.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a shallow copy of the stack.

Exemplos

Exemplo #1 Ds\Stack::copy() example

<?php
$a = new \Ds\Stack([1, 2, 3]);
$b = $a->copy();

// Updating the copy doesn't affect the original
$b->push(4);

print_r($a);
print_r($b);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Stack Object
(
    [0] => 3
    [1] => 2
    [2] => 1
)
Ds\Stack Object
(
    [0] => 4
    [1] => 3
    [2] => 2
    [3] => 1
)


Retorna o número de valores na pilha

  • « Ds\Stack::copy
  • Ds\Stack::isEmpty »
  • PHP Manual
  • Stack
  • Retorna o número de valores na pilha

Ds\Stack::count

(PECL ds >= 1.0.0)

Ds\Stack::count — Retorna o número de valores na pilha

Veja Countable::count()


Returns whether the stack is empty

  • « Ds\Stack::count
  • Ds\Stack::jsonSerialize »
  • PHP Manual
  • Stack
  • Returns whether the stack is empty

Ds\Stack::isEmpty

(PECL ds >= 1.0.0)

Ds\Stack::isEmpty — Returns whether the stack is empty

Descrição

public Ds\Stack::isEmpty ( ) : bool

Returns whether the stack is empty.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the stack is empty, false otherwise.

Exemplos

Exemplo #1 Ds\Stack::isEmpty() example

<?php
$a = new \Ds\Stack([1, 2, 3]);
$b = new \Ds\Stack();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)


Returns a representation that can be converted to JSON

  • « Ds\Stack::isEmpty
  • Ds\Stack::peek »
  • PHP Manual
  • Stack
  • Returns a representation that can be converted to JSON

Ds\Stack::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Stack::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Nota:

You should never need to call this directly.


Retorna o valor no topo da pilha

  • « Ds\Stack::jsonSerialize
  • Ds\Stack::pop »
  • PHP Manual
  • Stack
  • Retorna o valor no topo da pilha

Ds\Stack::peek

(PECL ds >= 1.0.0)

Ds\Stack::peek — Retorna o valor no topo da pilha

Descrição

public Ds\Stack::peek ( ) : mixed

Retorna o valor no topo da pilha, mas não o remove.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O valor no topo da pilha.

Erros

UnderflowException se vazio.

Exemplos

Exemplo #1 Exemplo Ds\Stack::peek()

<?php
$stack = new \Ds\Stack();

$stack->push("a");
$stack->push("b");
$stack->push("c");

var_dump($stack->peek());
?>

O exemplo acima irá imprimir algo similar à:

string(1) "c"


Removes and returns the value at the top of the stack

  • « Ds\Stack::peek
  • Ds\Stack::push »
  • PHP Manual
  • Stack
  • Removes and returns the value at the top of the stack

Ds\Stack::pop

(PECL ds >= 1.0.0)

Ds\Stack::pop — Removes and returns the value at the top of the stack

Descrição

public Ds\Stack::pop ( ) : mixed

Removes and returns the value at the top of the stack.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The removed value which was at the top of the stack.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Stack::pop() example

<?php
$stack = new \Ds\Stack();

$stack->push("a");
$stack->push("b");
$stack->push("c");

var_dump($stack->pop());
var_dump($stack->pop());
var_dump($stack->pop());
?>

O exemplo acima irá imprimir algo similar à:

string(1) "c"
string(1) "b"
string(1) "a"


Pushes values onto the stack

  • « Ds\Stack::pop
  • Ds\Stack::toArray »
  • PHP Manual
  • Stack
  • Pushes values onto the stack

Ds\Stack::push

(PECL ds >= 1.0.0)

Ds\Stack::push — Pushes values onto the stack

Descrição

public Ds\Stack::push ( mixed ...$values ) : void

Pushes values onto the stack.

Parâmetros

values

The values to push onto the stack.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Stack::push() example

<?php
$stack = new \Ds\Stack();

$stack->push("a");
$stack->push("b");
$stack->push("c", "d");
$stack->push(...["e", "f"]);

print_r($stack);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Stack Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)


Converts the stack to an array

  • « Ds\Stack::push
  • Queue »
  • PHP Manual
  • Stack
  • Converts the stack to an array

Ds\Stack::toArray

(PECL ds >= 1.0.0)

Ds\Stack::toArray — Converts the stack to an array

Descrição

public Ds\Stack::toArray ( ) : array

Converts the stack to an array.

Nota:

Casting to an array is not supported yet.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing all the values in the same order as the stack.

Exemplos

Exemplo #1 Ds\Stack::toArray() example

<?php
$stack = new \Ds\Stack([1, 2, 3]);

var_dump($stack->toArray());
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  [0]=>
  int(3)
  [1]=>
  int(2)
  [2]=>
  int(1)
}


The Queue class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

A Queue is a “first in, first out” or “FIFO” collection that only allows access to the value at the front of the queue and iterates in that order, destructively.

Sinopse da classe

Ds\Queue implements Ds\Collection , ArrayAccess {
/* Constants */
const int MIN_CAPACITY = 8 ;
/* Métodos */
public allocate ( int $capacity ) : void
public capacity ( ) : int
public clear ( ) : void
public copy ( ) : Ds\Queue
public isEmpty ( ) : bool
public peek ( ) : mixed
public pop ( ) : mixed
public push ( mixed ...$values ) : void
public toArray ( ) : array
}

Constantes pré-definidas

Ds\Queue::MIN_CAPACITY

Changelog

Versão | Descrição
PECL ds 1.3.0 | The class now implements ArrayAccess.

Índice

  • Ds\Queue::allocate — Allocates enough memory for a required capacity
  • Ds\Queue::capacity — Returns the current capacity
  • Ds\Queue::clear — Removes all values
  • Ds\Queue::__construct — Creates a new instance
  • Ds\Queue::copy — Returns a shallow copy of the queue
  • Ds\Queue::count — Returns the number of values in the queue
  • Ds\Queue::isEmpty — Returns whether the queue is empty
  • Ds\Queue::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Queue::peek — Returns the value at the front of the queue
  • Ds\Queue::pop — Removes and returns the value at the front of the queue
  • Ds\Queue::push — Pushes values into the queue
  • Ds\Queue::toArray — Converts the queue to an array


Allocates enough memory for a required capacity

  • « Queue
  • Ds\Queue::capacity »
  • PHP Manual
  • Queue
  • Allocates enough memory for a required capacity

Ds\Queue::allocate

(PECL ds >= 1.0.0)

Ds\Queue::allocate — Allocates enough memory for a required capacity

Descrição

public Ds\Queue::allocate ( int $capacity ) : void

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Nota:

Capacity will always be rounded up to the nearest power of 2.

Parâmetros

capacity

The number of values for which capacity should be allocated.

Nota:

Capacity will stay the same if this value is less than or equal to the current capacity.

Nota:

Capacity will always be rounded up to the nearest power of 2.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Queue::allocate() example

<?php
$queue = new \Ds\Queue();
var_dump($queue->capacity());

$queue->allocate(100);
var_dump($queue->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(8)
int(128)


Returns the current capacity

  • « Ds\Queue::allocate
  • Ds\Queue::clear »
  • PHP Manual
  • Queue
  • Returns the current capacity

Ds\Queue::capacity

(PECL ds >= 1.0.0)

Ds\Queue::capacity — Returns the current capacity

Descrição

public Ds\Queue::capacity ( ) : int

Returns the current capacity.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current capacity.

Exemplos

Exemplo #1 Ds\Queue::capacity() example

<?php
$queue = new \Ds\Queue();
var_dump($queue->capacity());

$queue->push(...range(1, 50));
var_dump($queue->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(8)
int(64)


Removes all values

  • « Ds\Queue::capacity
  • Ds\Queue::__construct »
  • PHP Manual
  • Queue
  • Removes all values

Ds\Queue::clear

(PECL ds >= 1.0.0)

Ds\Queue::clear — Removes all values

Descrição

public Ds\Queue::clear ( ) : void

Removes all values from the queue.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Queue::clear() example

<?php
$queue = new \Ds\Queue([1, 2, 3]);
print_r($queue);

$queue->clear();
print_r($queue);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Queue Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Queue Object
(
)


Creates a new instance

  • « Ds\Queue::clear
  • Ds\Queue::copy »
  • PHP Manual
  • Queue
  • Creates a new instance

Ds\Queue::__construct

(PECL ds >= 1.0.0)

Ds\Queue::__construct — Creates a new instance

Descrição

public Ds\Queue::__construct ( mixed $values = ? )

Creates a new instance, using either a traversable object or an array for the initial values.

Parâmetros

values

A traversable object or an array to use for the initial values.

Exemplos

Exemplo #1 Ds\Queue::__construct() example

<?php
$queue = new \Ds\Queue();
var_dump($queue);

$queue = new \Ds\Queue([1, 2, 3]);
var_dump($queue);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\Queue)#2 (0) {
}
object(Ds\Queue)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Returns a shallow copy of the queue

  • « Ds\Queue::__construct
  • Ds\Queue::count »
  • PHP Manual
  • Queue
  • Returns a shallow copy of the queue

Ds\Queue::copy

(PECL ds >= 1.0.0)

Ds\Queue::copy — Returns a shallow copy of the queue

Descrição

public Ds\Queue::copy ( ) : Ds\Queue

Returns a shallow copy of the queue.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a shallow copy of the queue.

Exemplos

Exemplo #1 Ds\Queue::copy() example

<?php
$a = new \Ds\Queue([1, 2, 3]);
$b = $a->copy();

// Updating the copy doesn't affect the original
$b->push(4);

print_r($a);
print_r($b);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Queue Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Queue Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)


Returns the number of values in the queue

  • « Ds\Queue::copy
  • Ds\Queue::isEmpty »
  • PHP Manual
  • Queue
  • Returns the number of values in the queue

Ds\Queue::count

(PECL ds >= 1.0.0)

Ds\Queue::count — Returns the number of values in the queue

See Countable::count()


Returns whether the queue is empty

  • « Ds\Queue::count
  • Ds\Queue::jsonSerialize »
  • PHP Manual
  • Queue
  • Returns whether the queue is empty

Ds\Queue::isEmpty

(PECL ds >= 1.0.0)

Ds\Queue::isEmpty — Returns whether the queue is empty

Descrição

public Ds\Queue::isEmpty ( ) : bool

Returns whether the queue is empty.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the queue is empty, false otherwise.

Exemplos

Exemplo #1 Ds\Queue::isEmpty() example

<?php
$a = new \Ds\Queue([1, 2, 3]);
$b = new \Ds\Queue();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)


Returns a representation that can be converted to JSON

  • « Ds\Queue::isEmpty
  • Ds\Queue::peek »
  • PHP Manual
  • Queue
  • Returns a representation that can be converted to JSON

Ds\Queue::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Queue::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Nota:

You should never need to call this directly.


Returns the value at the front of the queue

  • « Ds\Queue::jsonSerialize
  • Ds\Queue::pop »
  • PHP Manual
  • Queue
  • Returns the value at the front of the queue

Ds\Queue::peek

(PECL ds >= 1.0.0)

Ds\Queue::peek — Returns the value at the front of the queue

Descrição

public Ds\Queue::peek ( ) : mixed

Returns the value at the front of the queue, but does not remove it.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value at the front of the queue.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Queue::peek() example

<?php
$queue = new \Ds\Queue();

$queue->push("a");
$queue->push("b");
$queue->push("c");

var_dump($queue->peek());
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"


Removes and returns the value at the front of the queue

  • « Ds\Queue::peek
  • Ds\Queue::push »
  • PHP Manual
  • Queue
  • Removes and returns the value at the front of the queue

Ds\Queue::pop

(PECL ds >= 1.0.0)

Ds\Queue::pop — Removes and returns the value at the front of the queue

Descrição

public Ds\Queue::pop ( ) : mixed

Removes and returns the value at the front of the queue.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The removed value which was at the front of the queue.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\Queue::pop() example

<?php
$queue = new \Ds\Queue();

$queue->push("a");
$queue->push("b");
$queue->push("c");

var_dump($queue->pop());
var_dump($queue->pop());
var_dump($queue->pop());
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"
string(1) "b"
string(1) "c"


Pushes values into the queue

  • « Ds\Queue::pop
  • Ds\Queue::toArray »
  • PHP Manual
  • Queue
  • Pushes values into the queue

Ds\Queue::push

(PECL ds >= 1.0.0)

Ds\Queue::push — Pushes values into the queue

Descrição

public Ds\Queue::push ( mixed ...$values ) : void

Pushes values into the queue.

Parâmetros

values

The values to push into the queue.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\Queue::push() example

<?php
$queue = new \Ds\Queue();

$queue->push("a");
$queue->push("b");
$queue->push("c", "d");
$queue->push(...["e", "f"]);

print_r($queue);
?>

O exemplo acima irá imprimir algo similar à:

Ds\Queue Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)


Converts the queue to an array

  • « Ds\Queue::push
  • PriorityQueue »
  • PHP Manual
  • Queue
  • Converts the queue to an array

Ds\Queue::toArray

(PECL ds >= 1.0.0)

Ds\Queue::toArray — Converts the queue to an array

Descrição

public Ds\Queue::toArray ( ) : array

Converts the queue to an array.

Nota:

Casting to an array is not supported yet.

Nota:

This method is not destructive.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing all the values in the same order as the queue.

Exemplos

Exemplo #1 Ds\Queue::toArray() example

<?php
$queue = new \Ds\Queue([1, 2, 3]);

var_dump($queue->toArray());
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


The PriorityQueue class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

A PriorityQueue is very similar to a Queue. Values are pushed into the queue with an assigned priority, and the value with the highest priority will always be at the front of the queue.

Implemented using a max heap.

Nota:

"First in, first out" ordering is preserved for values with the same priority.

Nota:

Iterating over a PriorityQueue is destructive, equivalent to successive pop operations until the queue is empty.

Sinopse da classe

Ds\PriorityQueue implements Ds\Collection {
/* Constants */
const int MIN_CAPACITY = 8 ;
/* Métodos */
public allocate ( int $capacity ) : void
public capacity ( ) : int
public clear ( ) : void
public copy ( ) : Ds\PriorityQueue
public isEmpty ( ) : bool
public peek ( ) : mixed
public pop ( ) : mixed
public push ( mixed $value , int $priority ) : void
public toArray ( ) : array
}

Constantes pré-definidas

Ds\PriorityQueue::MIN_CAPACITY

Índice

  • Ds\PriorityQueue::allocate — Allocates enough memory for a required capacity
  • Ds\PriorityQueue::capacity — Returns the current capacity
  • Ds\PriorityQueue::clear — Removes all values
  • Ds\PriorityQueue::__construct — Creates a new instance
  • Ds\PriorityQueue::copy — Returns a shallow copy of the queue
  • Ds\PriorityQueue::count — Returns the number of values in the queue
  • Ds\PriorityQueue::isEmpty — Returns whether the queue is empty
  • Ds\PriorityQueue::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\PriorityQueue::peek — Returns the value at the front of the queue
  • Ds\PriorityQueue::pop — Removes and returns the value with the highest priority
  • Ds\PriorityQueue::push — Pushes values into the queue
  • Ds\PriorityQueue::toArray — Converts the queue to an array


Allocates enough memory for a required capacity

  • « PriorityQueue
  • Ds\PriorityQueue::capacity »
  • PHP Manual
  • PriorityQueue
  • Allocates enough memory for a required capacity

Ds\PriorityQueue::allocate

(PECL ds >= 1.0.0)

Ds\PriorityQueue::allocate — Allocates enough memory for a required capacity

Descrição

public Ds\PriorityQueue::allocate ( int $capacity ) : void

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Parâmetros

capacity

The number of values for which capacity should be allocated.

Nota:

Capacity will stay the same if this value is less than or equal to the current capacity.

Nota:

Capacity will always be rounded up to the nearest power of 2.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\PriorityQueue::allocate() example

<?php
$queue = new \Ds\PriorityQueue();
var_dump($queue->capacity());

$queue->allocate(100);
var_dump($queue->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(8)
int(128)


Returns the current capacity

  • « Ds\PriorityQueue::allocate
  • Ds\PriorityQueue::clear »
  • PHP Manual
  • PriorityQueue
  • Returns the current capacity

Ds\PriorityQueue::capacity

(PECL ds >= 1.0.0)

Ds\PriorityQueue::capacity — Returns the current capacity

Descrição

public Ds\PriorityQueue::capacity ( ) : int

Returns the current capacity.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current capacity.

Exemplos

Exemplo #1 Ds\PriorityQueue::capacity() example

<?php
$queue = new \Ds\PriorityQueue();
var_dump($queue->capacity());
?>

O exemplo acima irá imprimir algo similar à:

int(8)


Removes all values

  • « Ds\PriorityQueue::capacity
  • Ds\PriorityQueue::__construct »
  • PHP Manual
  • PriorityQueue
  • Removes all values

Ds\PriorityQueue::clear

(PECL ds >= 1.0.0)

Ds\PriorityQueue::clear — Removes all values

Descrição

public Ds\PriorityQueue::clear ( ) : void

Removes all values from the queue.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\PriorityQueue::clear() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a",  5);
$queue->push("b", 15);
$queue->push("c", 10);

$queue->clear();
print_r($queue);
?>

O exemplo acima irá imprimir algo similar à:

Ds\PriorityQueue Object
(
)


Creates a new instance

  • « Ds\PriorityQueue::clear
  • Ds\PriorityQueue::copy »
  • PHP Manual
  • PriorityQueue
  • Creates a new instance

Ds\PriorityQueue::__construct

(PECL ds >= 1.0.0)

Ds\PriorityQueue::__construct — Creates a new instance

Descrição

public Ds\PriorityQueue::__construct ( )

Creates a new instance.

Exemplos

Exemplo #1 Ds\PriorityQueue::__construct() example

<?php
$queue = new \Ds\PriorityQueue();
var_dump($queue);
?>

O exemplo acima irá imprimir algo similar à:

object(Ds\PriorityQueue)#1 (0) {
}


Returns a shallow copy of the queue

  • « Ds\PriorityQueue::__construct
  • Ds\PriorityQueue::count »
  • PHP Manual
  • PriorityQueue
  • Returns a shallow copy of the queue

Ds\PriorityQueue::copy

(PECL ds >= 1.0.0)

Ds\PriorityQueue::copy — Returns a shallow copy of the queue

Descrição

public Ds\PriorityQueue::copy ( ) : Ds\PriorityQueue

Returns a shallow copy of the queue.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a shallow copy of the queue.

Exemplos

Exemplo #1 Ds\PriorityQueue::copy() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a",  5);
$queue->push("b", 15);
$queue->push("c", 10);

print_r($queue->copy());
?>

O exemplo acima irá imprimir algo similar à:

Ds\PriorityQueue Object
(
    [0] => b
    [1] => c
    [2] => a
)


Returns the number of values in the queue

  • « Ds\PriorityQueue::copy
  • Ds\PriorityQueue::isEmpty »
  • PHP Manual
  • PriorityQueue
  • Returns the number of values in the queue

Ds\PriorityQueue::count

(PECL ds >= 1.0.0)

Ds\PriorityQueue::count — Returns the number of values in the queue

See Countable::count()


Returns whether the queue is empty

  • « Ds\PriorityQueue::count
  • Ds\PriorityQueue::jsonSerialize »
  • PHP Manual
  • PriorityQueue
  • Returns whether the queue is empty

Ds\PriorityQueue::isEmpty

(PECL ds >= 1.0.0)

Ds\PriorityQueue::isEmpty — Returns whether the queue is empty

Descrição

public Ds\PriorityQueue::isEmpty ( ) : bool

Returns whether the queue is empty.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the queue is empty, false otherwise.

Exemplos

Exemplo #1 Ds\PriorityQueue::isEmpty() example

<?php
$a = new \Ds\PriorityQueue();
$b = new \Ds\PriorityQueue();

$a->push("a",  5);
$a->push("b", 15);
$a->push("c", 10);

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)


Returns a representation that can be converted to JSON

  • « Ds\PriorityQueue::isEmpty
  • Ds\PriorityQueue::peek »
  • PHP Manual
  • PriorityQueue
  • Returns a representation that can be converted to JSON

Ds\PriorityQueue::jsonSerialize

(PECL ds >= 1.0.0)

Ds\PriorityQueue::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Nota:

You should never need to call this directly.


Returns the value at the front of the queue

  • « Ds\PriorityQueue::jsonSerialize
  • Ds\PriorityQueue::pop »
  • PHP Manual
  • PriorityQueue
  • Returns the value at the front of the queue

Ds\PriorityQueue::peek

(PECL ds >= 1.0.0)

Ds\PriorityQueue::peek — Returns the value at the front of the queue

Descrição

public Ds\PriorityQueue::peek ( ) : mixed

Returns the value at the front of the queue, but does not remove it.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value at the front of the queue.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\PriorityQueue::peek() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a",  5);
$queue->push("b", 15);
$queue->push("c", 10);

var_dump($queue->peek());
?>

O exemplo acima irá imprimir algo similar à:

string(1) "b"


Removes and returns the value with the highest priority

  • « Ds\PriorityQueue::peek
  • Ds\PriorityQueue::push »
  • PHP Manual
  • PriorityQueue
  • Removes and returns the value with the highest priority

Ds\PriorityQueue::pop

(PECL ds >= 1.0.0)

Ds\PriorityQueue::pop — Removes and returns the value with the highest priority

Descrição

public Ds\PriorityQueue::pop ( ) : mixed

Removes and returns the value at the front of the queue, ie. the value with the highest priority.

Nota:

Values with equal priority fall back to FIFO (first in first out).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The removed value which was at the front of the queue.

Erros

UnderflowException if empty.

Exemplos

Exemplo #1 Ds\PriorityQueue::pop() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a",  5);
$queue->push("b", 15);
$queue->push("c", 10);

print_r($queue->pop());
print_r($queue->pop());
print_r($queue->pop());
?>

O exemplo acima irá imprimir algo similar à:

string(1) "a"
string(1) "b"
string(1) "c"


Pushes values into the queue

  • « Ds\PriorityQueue::pop
  • Ds\PriorityQueue::toArray »
  • PHP Manual
  • PriorityQueue
  • Pushes values into the queue

Ds\PriorityQueue::push

(PECL ds >= 1.0.0)

Ds\PriorityQueue::push — Pushes values into the queue

Descrição

public Ds\PriorityQueue::push ( mixed $value , int $priority ) : void

Pushes a value with a given priority into the queue.

Parâmetros

value

The value to push into the queue.

priority

The priority associated with the value.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Ds\PriorityQueue::push() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a",  5);
$queue->push("b", 15);
$queue->push("c", 10);

print_r($queue->pop());
print_r($queue->pop());
print_r($queue->pop());
?>

O exemplo acima irá imprimir algo similar à:

string(1) "b"
string(1) "c"
string(1) "a"


Converts the queue to an array

  • « Ds\PriorityQueue::push
  • Outros Serviços »
  • PHP Manual
  • PriorityQueue
  • Converts the queue to an array

Ds\PriorityQueue::toArray

(PECL ds >= 1.0.0)

Ds\PriorityQueue::toArray — Converts the queue to an array

Descrição

public Ds\PriorityQueue::toArray ( ) : array

Converts the queue to an array.

Nota:

This method is not destructive.

Nota:

Casting to an array is not supported yet.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array containing all the values in the same order as the queue.

Exemplos

Exemplo #1 Ds\PriorityQueue::toArray() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a",  5);
$queue->push("b", 15);
$queue->push("c", 10);

var_dump($queue->toArray());
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  [0]=>
  string(1) "b"
  [1]=>
  string(1) "c"
  [2]=>
  string(1) "a"
}


Outros Serviços

  • cURL — Biblioteca Client URL
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções cURL
    • CURLFile — A classe CURLFile
  • Event
    • Introdução
    • Instalação/Configuração
    • Exemplos
    • Event flags
    • About event persistence
    • Event callbacks
    • Constructing signal events
    • Event — The Event class
    • EventBase — The EventBase class
    • EventBuffer — The EventBuffer class
    • EventBufferEvent — The EventBufferEvent class
    • About buffer event callbacks
    • EventConfig — The EventConfig class
    • EventDnsBase — The EventDnsBase class
    • EventHttp — The EventHttp class
    • EventHttpConnection — The EventHttpConnection class
    • EventHttpRequest — The EventHttpRequest class
    • EventListener — The EventListener class
    • EventSslContext — The EventSslContext class
    • EventUtil — The EventUtil class
  • FTP
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • FTP Funções
  • Gearman
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • GearmanClient — The GearmanClient class
    • GearmanJob — The GearmanJob class
    • GearmanTask — The GearmanTask class
    • GearmanWorker — The GearmanWorker class
    • GearmanException — The GearmanException class
  • LDAP — Lightweight Directory Access Protocol
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Using the PHP LDAP calls
    • LDAP controls
    • Exemplos
    • LDAP Funções
  • Memcache
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Memcache — The Memcache class
    • Memcache Funções
  • Memcached
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Expiration Times
    • Callbacks
    • Sessions support
    • Memcached — The Memcached class
    • MemcachedException — The MemcachedException class
  • mqseries
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • mqseries Funções
  • Network
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções da Network
  • RRD — RRDtool
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • RRD Funções
    • RRDCreator — The RRDCreator class
    • RRDGraph — The RRDGraph class
    • RRDUpdater — The RRDUpdater class
  • ScoutAPM
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Scoutapm Funções
  • SNMP
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções SNMP
    • SNMP — The SNMP class
    • SNMPException — The SNMPException class
  • Sockets
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Socket Errors
    • Funções para Socket
  • SSH2 — Secure Shell2
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • SSH2 Funções
  • Stomp — Stomp Client
    • Introdução
    • Instalação/Configuração
    • Exemplos
    • Stomp Funções
    • Stomp — The Stomp class
    • StompFrame — The StompFrame class
    • StompException — The StompException class
  • SVM — Support Vector Machine
    • Introdução
    • Instalação/Configuração
    • Exemplos
    • SVM — The SVM class
    • SVMModel — The SVMModel class
  • SVN — Subversion
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • SVN Funções
  • TCP — TCP Wrappers
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções de TCP
  • Varnish
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • VarnishAdmin — The VarnishAdmin class
    • VarnishStat — The VarnishStat class
    • VarnishLog — The VarnishLog class
  • YAZ
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • YAZ Funções
  • API de Mensagens 0MQ — ZMQ
    • Introdução
    • Instalação/Configuração
    • ZMQ — A classe ZMQ
    • ZMQContext — A classe ZMQContext
    • ZMQSocket — A classe ZMQSocket
    • ZMQPoll — A classe ZMQPoll
    • ZMQDevice — A classe ZMQDevice
  • ZooKeeper
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • ZooKeeper Funções
    • Zookeeper — The Zookeeper class
    • ZookeeperConfig — The ZookeeperConfig class
    • ZookeeperException — The ZookeeperException class
    • ZookeeperAuthenticationException — The ZookeeperAuthenticationException class
    • ZookeeperConnectionException — The ZookeeperConnectionException class
    • ZookeeperMarshallingException — The ZookeeperMarshallingException class
    • ZookeeperNoNodeException — The ZookeeperNoNodeException class
    • ZookeeperOperationTimeoutException — The ZookeeperOperationTimeoutException class
    • ZookeeperSessionException — The ZookeeperSessionException class


Biblioteca Client URL

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Exemplo básico de cURL
  • Funções cURL
    • curl_close — Fecha uma sessão cURL
    • curl_copy_handle — Copia um controlador cURL com todas as suas opções
    • curl_errno — Retorna o número do último erro
    • curl_error — Return a string containing the last error for the current session
    • curl_escape — Codifica uma URL
    • curl_exec — Perform a cURL session
    • curl_file_create — Cria um objeto do tipo CURLFile
    • curl_getinfo — Get information regarding a specific transfer
    • curl_init — Initialize a cURL session
    • curl_multi_add_handle — Add a normal cURL handle to a cURL multi handle
    • curl_multi_close — Close a set of cURL handles
    • curl_multi_errno — Return the last multi curl error number
    • curl_multi_exec — Run the sub-connections of the current cURL handle
    • curl_multi_getcontent — Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set
    • curl_multi_info_read — Get information about the current transfers
    • curl_multi_init — Returns a new cURL multi handle
    • curl_multi_remove_handle — Remove a multi handle from a set of cURL handles
    • curl_multi_select — Wait for activity on any curl_multi connection
    • curl_multi_setopt — Configura uma opção no multi controlador cURL
    • curl_multi_strerror — Retorna uma string que descreve o código de erro
    • curl_pause — Pausa e despausa uma conexão
    • curl_reset — Reseta todas as opções de um controlador de sessão libcurl
    • curl_setopt_array — Set multiple options for a cURL transfer
    • curl_setopt — Set an option for a cURL transfer
    • curl_share_close — Fecha um controlador de compartilhamento de cURL
    • curl_share_errno — Return the last share curl error number
    • curl_share_init — Inicializa um controlador de compartilhamento de cURL
    • curl_share_setopt — Configura uma opção para um controlador de compartilhamento de cURL.
    • curl_share_strerror — Return string describing the given error code
    • curl_strerror — Retorna uma string que descreve o código de erro informado
    • curl_unescape — Decodifica a parte codificada da URL fornecida
    • curl_version — Gets cURL version information
  • CURLFile — A classe CURLFile
    • CURLFile::__construct — Criar um objeto CURLFile
    • CURLFile::getFilename — Obtém o nome do arquivo
    • CURLFile::getMimeType — Obtém o tipo de MIME
    • CURLFile::getPostFilename — Obtém o nome do arquivo utilizando o POST
    • CURLFile::setMimeType — Define o tipo de MIME
    • CURLFile::setPostFilename — Define o nome do arquivo para o POST


Introdução

O PHP suporta libcurl, uma biblioteca criada por Daniel Stenberg, que permite que você se conecte e se comunique com diferentes tipos de servidores usando diferentes tipos de protocolos. libcurl atualmente suporta os protocolos https, ftp, gopher, telnet, dict, file e ldap. libcurl também suporta certificados HTTPS, HTTP POST, HTTP PUT, upload via FTP (isso também pode ser feito com a extensão ftp do PHP), upload HTTP por formulário, proxies, cookies, e autenticação com usuário e senha.


Dependências

Para poder utilizar as funções cURL no PHP, você precisa instalar o pacote » libcurl. O PHP requer libcurl versão 7.10.5 ou superior.


Instalação

Para usar o suporte a cURL no PHP, é necessário compilar o PHP com a opção --with-curl[=DIR] onde DIR é o diretório que contém os diretórios lib e include. No diretório include deve haver uma pasta chamada curl que deve conter os arquivos easy.h e curl.h. Deve haver um arquivo chamado libcurl.a localizado na pasta lib. Antes do PHP 5.5.0 era possível configurar o PHP para utilizar o cURL para streams de URL --with-curlwrappers.

Nota: Observação para os usuários de Win32
Para ativar este módulo em ambiente Windows, libeay32.dll e ssleay32.dll ou a partir do OpenSSL 1.1 libcrypto-*.dll e libssl-*.dll, precisam estar presentes no seu PATH. A libssh2.dll tambem precisa estar no seu PATH. Você não precisa da libcurl.dll do site do cURL.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de Configuração cURL
Nome | Padrão | Modificável | Changelog
curl.cainfo | NULL | PHP_INI_SYSTEM | Disponível desde o PHP 5.3.7.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

curl.cainfo string

Um valor padrão para a opção CURLOPT_CAINFO. É necessário que seja um caminho absoluto.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão define dois tipos de recursos: um controlador cURL e um controlador cURL múltiplo.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Descrições e usos para estas constantes estão documentados nas funções curl_setopt(), curl_multi_setopt() e curl_getinfo().

CURLOPT_AUTOREFERER (integer)
Disponível a partir do PHP 5.1.0
CURLOPT_COOKIESESSION (integer)
Disponível a partir do PHP 5.1.0
CURLOPT_DNS_USE_GLOBAL_CACHE (integer)
CURLOPT_DNS_CACHE_TIMEOUT (integer)
CURLOPT_FTP_SSL (integer)
Disponível a partir do PHP 5.2.0
CURLFTP_CREATE_DIR (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.19.3
CURLFTP_CREATE_DIR_NONE (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.19.3
CURLFTP_CREATE_DIR_RETRY (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.19.3
CURLFTPSSL_TRY (integer)
Disponível a partir do PHP 5.2.0
CURLFTPSSL_ALL (integer)
Disponível a partir do PHP 5.2.0
CURLFTPSSL_CONTROL (integer)
Disponível a partir do PHP 5.2.0
CURLFTPSSL_NONE (integer)
Disponível a partir do PHP 5.2.0
CURLOPT_PRIVATE (integer)
Disponível a partir do PHP 5.2.4
CURLOPT_FTPSSLAUTH (integer)
Disponível a partir do PHP 5.1.0
CURLOPT_PORT (integer)
CURLOPT_FILE (integer)
CURLOPT_INFILE (integer)
CURLOPT_INFILESIZE (integer)
CURLOPT_URL (integer)
CURLOPT_PROXY (integer)
CURLOPT_VERBOSE (integer)
CURLOPT_HEADER (integer)
CURLOPT_HTTPHEADER (integer)
CURLOPT_NOPROGRESS (integer)
CURLOPT_NOBODY (integer)
CURLOPT_FAILONERROR (integer)
CURLOPT_UPLOAD (integer)
CURLOPT_POST (integer)
CURLOPT_FTPLISTONLY (integer)
CURLOPT_FTPAPPEND (integer)
CURLOPT_FTP_CREATE_MISSING_DIRS (integer)
CURLOPT_NETRC (integer)
CURLOPT_FOLLOWLOCATION (integer)
Esta constante não está disponível quando a diretiva open_basedir estiver ativa.
CURLOPT_FTPASCII (integer)
CURLOPT_PUT (integer)
CURLOPT_MUTE (integer)
CURLOPT_USERPWD (integer)
CURLOPT_PROXYUSERPWD (integer)
CURLOPT_RANGE (integer)
CURLOPT_TIMEOUT (integer)
CURLOPT_TIMEOUT_MS (integer)
CURLOPT_TCP_NODELAY (integer)
Disponível a partir do PHP 5.2.1
CURLOPT_POSTFIELDS (integer)
CURLOPT_PROGRESSFUNCTION (integer)
Disponível a partir do PHP 5.3.0
CURLOPT_REFERER (integer)
CURLOPT_USERAGENT (integer)
CURLOPT_FTPPORT (integer)
CURLOPT_FTP_USE_EPSV (integer)
CURLOPT_LOW_SPEED_LIMIT (integer)
CURLOPT_LOW_SPEED_TIME (integer)
CURLOPT_RESUME_FROM (integer)
CURLOPT_COOKIE (integer)
CURLOPT_COOKIELIST (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.14.1
CURLOPT_SSLCERT (integer)
CURLOPT_SSLCERTPASSWD (integer)
CURLOPT_WRITEHEADER (integer)
CURLOPT_SSL_VERIFYHOST (integer)
CURLOPT_COOKIEFILE (integer)
CURLOPT_SSLVERSION (integer)
CURL_SSLVERSION_DEFAULT (integer)
CURL_SSLVERSION_TLSv1 (integer)
CURL_SSLVERSION_SSLv2 (integer)
CURL_SSLVERSION_SSLv3 (integer)
CURL_SSLVERSION_TLSv1_0 (integer)
Disponível a partir do PHP 5.5.19 e 5.6.3
CURL_SSLVERSION_TLSv1_1 (integer)
Disponível a partir do PHP 5.5.19 e 5.6.3
CURL_SSLVERSION_TLSv1_2 (integer)
Disponível a partir do PHP 5.5.19 e 5.6.3
CURLOPT_TIMECONDITION (integer)
CURLOPT_TIMEVALUE (integer)
CURLOPT_CUSTOMREQUEST (integer)
CURLOPT_STDERR (integer)
CURLOPT_TRANSFERTEXT (integer)
CURLOPT_RETURNTRANSFER (integer)
CURLOPT_QUOTE (integer)
CURLOPT_POSTQUOTE (integer)
CURLOPT_INTERFACE (integer)
CURLOPT_KRB4LEVEL (integer)
CURLOPT_HTTPPROXYTUNNEL (integer)
CURLOPT_FILETIME (integer)
CURLOPT_WRITEFUNCTION (integer)
CURLOPT_READFUNCTION (integer)
CURLOPT_PASSWDFUNCTION (integer)
CURLOPT_HEADERFUNCTION (integer)
CURLOPT_MAXREDIRS (integer)
CURLOPT_MAXCONNECTS (integer)
CURLOPT_CLOSEPOLICY (integer)
Removido no PHP 5.6.0.
CURLOPT_FRESH_CONNECT (integer)
CURLOPT_FORBID_REUSE (integer)
CURLOPT_RANDOM_FILE (integer)
CURLOPT_EGDSOCKET (integer)
CURLOPT_CONNECTTIMEOUT (integer)
CURLOPT_CONNECTTIMEOUT_MS (integer)
CURLOPT_SSL_VERIFYPEER (integer)
CURLOPT_CAINFO (integer)
CURLOPT_CAPATH (integer)
CURLOPT_COOKIEJAR (integer)
CURLOPT_SSL_CIPHER_LIST (integer)
CURLOPT_BINARYTRANSFER (integer)
CURLOPT_NOSIGNAL (integer)
CURLOPT_PROXYTYPE (integer)
Disponível a partir do cURL 7.10.
CURLOPT_BUFFERSIZE (integer)
CURLOPT_HTTPGET (integer)
CURLOPT_HTTP_VERSION (integer)
CURLOPT_SSLKEY (integer)
CURLOPT_SSLKEYTYPE (integer)
CURLOPT_SSLKEYPASSWD (integer)
CURLOPT_SSLENGINE (integer)
CURLOPT_SSLENGINE_DEFAULT (integer)
CURLOPT_SSLCERTTYPE (integer)
CURLOPT_CRLF (integer)
CURLOPT_ENCODING (integer)
CURLOPT_PROXYPORT (integer)
CURLOPT_UNRESTRICTED_AUTH (integer)
CURLOPT_FTP_USE_EPRT (integer)
CURLOPT_HTTP200ALIASES (integer)
CURLOPT_HTTPAUTH (integer)
CURLAUTH_BASIC (integer)
CURLAUTH_DIGEST (integer)
CURLAUTH_GSSNEGOTIATE (integer)
CURLAUTH_NEGOTIATE (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.38.0.
CURLAUTH_NTLM (integer)
CURLAUTH_NTLM_WB (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.22.0
CURLAUTH_ANY (integer)
CURLAUTH_ANYSAFE (integer)
CURLOPT_PROXYAUTH (integer)
CURLOPT_MAX_RECV_SPEED_LARGE (integer)
Disponível a partir do PHP 5.4.0 e cURL 7.15.5
CURLOPT_MAX_SEND_SPEED_LARGE (integer)
Disponível a partir do PHP 5.4.0 e cURL 7.15.5
CURLOPT_HEADEROPT (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.37.0
CURLOPT_PROXYHEADER (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.37.0
CURLCLOSEPOLICY_LEAST_RECENTLY_USED (integer)
Removido no PHP 5.6.0.
CURLCLOSEPOLICY_LEAST_TRAFFIC (integer)
Removido no PHP 5.6.0.
CURLCLOSEPOLICY_SLOWEST (integer)
Removido no PHP 5.6.0.
CURLCLOSEPOLICY_CALLBACK (integer)
Removido no PHP 5.6.0.
CURLCLOSEPOLICY_OLDEST (integer)
Removido no PHP 5.6.0.
CURLINFO_PRIVATE (integer)
Disponível a partir do PHP 5.2.4
CURLINFO_EFFECTIVE_URL (integer)
CURLINFO_HTTP_CODE (integer)
A partir do PHP 5.5.0 e cURL 7.10.8 este é um apelido obsoleto de CURLINFO_RESPONSE_CODE
CURLINFO_RESPONSE_CODE (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.10.8
CURLINFO_HEADER_OUT (integer)
Disponível a partir do PHP 5.1.3
CURLINFO_HEADER_SIZE (integer)
CURLINFO_REQUEST_SIZE (integer)
CURLINFO_TOTAL_TIME (integer)
CURLINFO_NAMELOOKUP_TIME (integer)
CURLINFO_CONNECT_TIME (integer)
CURLINFO_PRETRANSFER_TIME (integer)
CURLINFO_SIZE_UPLOAD (integer)
CURLINFO_SIZE_DOWNLOAD (integer)
CURLINFO_SPEED_DOWNLOAD (integer)
CURLINFO_SPEED_UPLOAD (integer)
CURLINFO_FILETIME (integer)
CURLINFO_SSL_VERIFYRESULT (integer)
CURLINFO_CONTENT_LENGTH_DOWNLOAD (integer)
CURLINFO_CONTENT_LENGTH_UPLOAD (integer)
CURLINFO_STARTTRANSFER_TIME (integer)
CURLINFO_CONTENT_TYPE (integer)
CURLINFO_REDIRECT_TIME (integer)
CURLINFO_REDIRECT_COUNT (integer)
CURLINFO_REDIRECT_URL (string)
Disponível a partir do PHP 5.3.7
CURLINFO_PRIMARY_IP (string)
Disponível a partir do PHP 5.4.7
CURLINFO_PRIMARY_PORT (integer)
Disponível a partir do PHP 5.4.7
CURLINFO_LOCAL_IP (string)
Disponível a partir do PHP 5.4.7
CURLINFO_LOCAL_PORT (integer)
Disponível a partir do PHP 5.4.7
CURL_PUSH_OK (integer)
Disponível a partir do PHP 7.1.0 e cURL 7.44.0
CURL_PUSH_DENY (integer)
Disponível a partir do PHP 7.1.0 e cURL 7.44.0
CURL_REDIR_POST_301 (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.18.2
CURL_REDIR_POST_302 (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.18.2
CURL_REDIR_POST_303 (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.25.1
CURL_REDIR_POST_ALL (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.18.2
CURL_TIMECOND_IFMODSINCE (integer)
CURL_TIMECOND_IFUNMODSINCE (integer)
CURL_TIMECOND_LASTMOD (integer)
CURL_VERSION_ALTSVC (integer)
Disponível a partir do PHP 7.3.6 e cURL 7.64.1
CURL_VERSION_ASYNCHDNS (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.10.7
CURL_VERSION_BROTLI (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.57.0
CURL_VERSION_CONV (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.15.4
CURL_VERSION_CURLDEBUG (integer)
Disponível a partir do PHP 7.3.6 e cURL 7.19.6
CURL_VERSION_DEBUG (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.10.6
CURL_VERSION_GSSAPI (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.38.0
CURL_VERSION_GSSNEGOTIATE (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.10.6 (obsoleto a partir do cURL 7.38.0)
CURL_VERSION_IDN (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.12.0
CURL_VERSION_MULTI_SSL (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.56.0
CURL_VERSION_NTLM (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.10.6
CURL_VERSION_NTLM_WB (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.22.0
CURL_VERSION_IPV6 (integer)
CURL_VERSION_KERBEROS4 (integer)
CURL_VERSION_KERBEROS5 (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.40.0
CURL_VERSION_HTTP2 (integer)
Disponível a partir do PHP 5.5.24 e 5.6.8 e cURL 7.33.0
CURL_VERSION_PSL (integer)
Disponível a partir do PHP 7.3.6 e cURL 7.47.0
CURL_VERSION_SPNEGO (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.10.8
CURL_VERSION_SSPI (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.13.2
CURL_VERSION_SSL (integer)
CURL_VERSION_TLSAUTH_SRP (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.21.4
CURL_VERSION_UNIX_SOCKETS (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.40.0
CURL_VERSION_LIBZ (integer)
CURLVERSION_NOW (integer)
CURLE_OK (integer)
CURLE_UNSUPPORTED_PROTOCOL (integer)
CURLE_FAILED_INIT (integer)
CURLE_URL_MALFORMAT (integer)
CURLE_URL_MALFORMAT_USER (integer)
CURLE_COULDNT_RESOLVE_PROXY (integer)
CURLE_COULDNT_RESOLVE_HOST (integer)
CURLE_COULDNT_CONNECT (integer)
CURLE_FTP_WEIRD_SERVER_REPLY (integer)
CURLE_FTP_ACCESS_DENIED (integer)
CURLE_FTP_USER_PASSWORD_INCORRECT (integer)
CURLE_FTP_WEIRD_PASS_REPLY (integer)
CURLE_FTP_WEIRD_USER_REPLY (integer)
CURLE_FTP_WEIRD_PASV_REPLY (integer)
CURLE_FTP_WEIRD_227_FORMAT (integer)
CURLE_FTP_CANT_GET_HOST (integer)
CURLE_FTP_CANT_RECONNECT (integer)
CURLE_FTP_COULDNT_SET_BINARY (integer)
CURLE_PARTIAL_FILE (integer)
CURLE_FTP_COULDNT_RETR_FILE (integer)
CURLE_FTP_WRITE_ERROR (integer)
CURLE_FTP_QUOTE_ERROR (integer)
CURLE_HTTP_NOT_FOUND (integer)
CURLE_WRITE_ERROR (integer)
CURLE_MALFORMAT_USER (integer)
CURLE_FTP_COULDNT_STOR_FILE (integer)
CURLE_READ_ERROR (integer)
CURLE_OUT_OF_MEMORY (integer)
CURLE_OPERATION_TIMEOUTED (integer)
CURLE_FTP_COULDNT_SET_ASCII (integer)
CURLE_FTP_PORT_FAILED (integer)
CURLE_FTP_COULDNT_USE_REST (integer)
CURLE_FTP_COULDNT_GET_SIZE (integer)
CURLE_HTTP_RANGE_ERROR (integer)
CURLE_HTTP_POST_ERROR (integer)
CURLE_SSL_CONNECT_ERROR (integer)
CURLE_FTP_BAD_DOWNLOAD_RESUME (integer)
CURLE_FILE_COULDNT_READ_FILE (integer)
CURLE_LDAP_CANNOT_BIND (integer)
CURLE_LDAP_SEARCH_FAILED (integer)
CURLE_LIBRARY_NOT_FOUND (integer)
CURLE_FUNCTION_NOT_FOUND (integer)
CURLE_ABORTED_BY_CALLBACK (integer)
CURLE_BAD_FUNCTION_ARGUMENT (integer)
CURLE_BAD_CALLING_ORDER (integer)
CURLE_HTTP_PORT_FAILED (integer)
CURLE_BAD_PASSWORD_ENTERED (integer)
CURLE_TOO_MANY_REDIRECTS (integer)
CURLE_UNKNOWN_TELNET_OPTION (integer)
CURLE_TELNET_OPTION_SYNTAX (integer)
CURLE_OBSOLETE (integer)
CURLE_SSL_PEER_CERTIFICATE (integer)
CURLE_GOT_NOTHING (integer)
CURLE_SSL_ENGINE_NOTFOUND (integer)
CURLE_SSL_ENGINE_SETFAILED (integer)
CURLE_SEND_ERROR (integer)
CURLE_RECV_ERROR (integer)
CURLE_SHARE_IN_USE (integer)
CURLE_SSL_CERTPROBLEM (integer)
CURLE_SSL_CIPHER (integer)
CURLE_SSL_CACERT (integer)
CURLE_BAD_CONTENT_ENCODING (integer)
CURLE_LDAP_INVALID_URL (integer)
CURLE_FILESIZE_EXCEEDED (integer)
CURLE_FTP_SSL_FAILED (integer)
CURLE_SSH (integer)
Disponível a partir do PHP 5.3.0 e cURL 7.16.1.
CURLFTPAUTH_DEFAULT (integer)
Disponível a partir do PHP 5.1.0
CURLFTPAUTH_SSL (integer)
Disponível a partir do PHP 5.1.0
CURLFTPAUTH_TLS (integer)
Disponível a partir do PHP 5.1.0
CURLPROXY_HTTP (integer)
Disponível a partir do cURL 7.10.
CURLPROXY_HTTP_1_0 (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.19.3
CURLPROXY_SOCKS4 (integer)
Disponível a partir do PHP 5.2.10 e cURL 7.10.
CURLPROXY_SOCKS5 (integer)
Disponível a partir do cURL 7.10.
CURL_NETRC_OPTIONAL (integer)
CURL_NETRC_IGNORED (integer)
CURL_NETRC_REQUIRED (integer)
CURL_HTTP_VERSION_NONE (integer)
CURL_HTTP_VERSION_1_0 (integer)
CURL_HTTP_VERSION_1_1 (integer)
CURL_HTTP_VERSION_2 (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.43.0
CURL_HTTP_VERSION_2_0 (integer)
Disponível a partir do PHP 5.5.24 e 5.6.8 e cURL 7.33.0
CURL_HTTP_VERSION_2TLS (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.47.0
CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.49.0
CURLM_CALL_MULTI_PERFORM (integer)
CURLM_OK (integer)
CURLM_BAD_HANDLE (integer)
CURLM_BAD_EASY_HANDLE (integer)
CURLM_OUT_OF_MEMORY (integer)
CURLM_INTERNAL_ERROR (integer)
CURLMSG_DONE (integer)
CURLOPT_KEYPASSWD (integer)
CURLOPT_SSH_AUTH_TYPES (integer)
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 (integer)
CURLOPT_SSH_PRIVATE_KEYFILE (integer)
CURLOPT_SSH_PUBLIC_KEYFILE (integer)
CURLOPT_SSL_OPTIONS (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.25.0
CURLSSLOPT_ALLOW_BEAST (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.25.0
CURLSSLOPT_NO_REVOKE (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.44.0
CURLOPT_USERNAME (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.19.1
CURLOPT_SASL_IR (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.31.0
CURLOPT_DNS_INTERFACE (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.33.0
CURLOPT_DNS_LOCAL_IP4 (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.33.0
CURLOPT_DNS_LOCAL_IP6 (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.33.0
CURLOPT_XOAUTH2_BEARER (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.33.0
CURLOPT_LOGIN_OPTIONS (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.34.0
CURLOPT_EXPECT_100_TIMEOUT_MS (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.36.0
CURLOPT_SSL_ENABLE_ALPN (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.36.0
CURLOPT_SSL_ENABLE_NPN (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.36.0
CURLOPT_PINNEDPUBLICKEY (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.39.0
CURLOPT_UNIX_SOCKET_PATH (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.40.0
CURLOPT_SSL_VERIFYSTATUS (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.41.0
CURLOPT_PATH_AS_IS (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.42.0
CURLOPT_SSL_FALSESTART (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.42.0
CURLOPT_PIPEWAIT (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.43.0
CURLOPT_PROXY_SERVICE_NAME (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.43.0
CURLOPT_SERVICE_NAME (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.43.0
CURLOPT_DEFAULT_PROTOCOL (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.45.0
CURLOPT_STREAM_WEIGHT (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.46.0
CURLOPT_TFTP_NO_OPTIONS (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.48.0
CURLOPT_CONNECT_TO (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.49.0
CURLOPT_TCP_FASTOPEN (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.49.0
CURLOPT_TCP_KEEPALIVE (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.25.0
CURLOPT_TCP_KEEPIDLE (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.25.0
CURLOPT_TCP_KEEPINTVL (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.25.0
CURLMOPT_PIPELINING (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.16.0.
CURLMOPT_MAXCONNECTS (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.16.3.
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.30.0
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.30.0
CURLMOPT_MAX_HOST_CONNECTIONS (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.30.0
CURLMOPT_MAX_PIPELINE_LENGTH (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.30.0
CURLMOPT_MAX_TOTAL_CONNECTIONS (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.30.0
CURLMOPT_PUSHFUNCTION (integer)
Disponível a partir do PHP 7.1.0 e cURL 7.44.0
CURLSSH_AUTH_AGENT (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.28.0
CURLSSH_AUTH_ANY (integer)
CURLSSH_AUTH_DEFAULT (integer)
CURLSSH_AUTH_HOST (integer)
CURLSSH_AUTH_KEYBOARD (integer)
CURLSSH_AUTH_NONE (integer)
CURLSSH_AUTH_PASSWORD (integer)
CURLSSH_AUTH_PUBLICKEY (integer)
CURL_WRAPPERS_ENABLED (integer)
Definido se o PHP foi configurado com --with-curlwrappers. Movido para o PECL no PHP 5.5.0.
CURLPAUSE_ALL (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.18.0.
CURLPAUSE_CONT (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.18.0.
CURLPAUSE_RECV (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.18.0.
CURLPAUSE_RECV_CONT (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.18.0.
CURLPAUSE_SEND (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.18.0.
CURLPAUSE_SEND_CONT (integer)
Disponível a partir do PHP 5.5.0 e cURL 7.18.0.
CURLPIPE_NOTHING (integer)
Disponível a partir do PHP 7.0.0 e cURL 7.43.0.
CURLPIPE_HTTP1 (integer)
Disponível a partir do PHP 7.0.0 e cURL 7.43.0.
CURLPIPE_MULTIPLEX (integer)
Disponível a partir do PHP 7.0.0 e cURL 7.43.0.
CURLPROXY_SOCKS4A (integer)
Disponível a partir do PHP 5.5.23 e PHP 5.6.7 e cURL 7.18.0.
CURLPROXY_SOCKS5_HOSTNAME (integer)
Disponível a partir do PHP 5.5.23 e PHP 5.6.7 e cURL 7.18.0.
CURLHEADER_SEPARATE (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.37.0.
CURLHEADER_UNIFIED (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.37.0.
CURLPROTO_SMB (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.40.0.
CURLPROTO_SMBS (integer)
Disponível a partir do PHP 7.0.7 e cURL 7.40.0.
CURLOPT_REQUEST_TARGET (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.55.0.
CURLAUTH_GSSAPI (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.54.1
CURLE_WEIRD_SERVER_REPLY (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.51.0
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.55.0
CURLINFO_CONTENT_LENGTH_UPLOAD_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.55.0
CURLINFO_HTTP_VERSION (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.50.0
CURLINFO_PROTOCOL (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLINFO_PROXY_SSL_VERIFYRESULT (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLINFO_SCHEME (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLINFO_SIZE_DOWNLOAD_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.50.0
CURLINFO_SIZE_UPLOAD_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.50.0
CURLINFO_SPEED_DOWNLOAD_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.50.0
CURLINFO_SPEED_UPLOAD_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.50.0
CURL_MAX_READ_SIZE (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.53.0
CURLOPT_ABSTRACT_UNIX_SOCKET (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.53.0
CURLOPT_KEEP_SENDING_ON_ERROR (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.51.0
CURLOPT_PRE_PROXY (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_CAINFO (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_CAPATH (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_CRLFILE (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_KEYPASSWD (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_PINNEDPUBLICKEY (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_SSLCERT (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_SSLCERTTYPE (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_SSL_CIPHER_LIST (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_SSLKEY (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_SSLKEYTYPE (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_SSL_OPTIONS (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_SSL_VERIFYHOST (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_SSL_VERIFYPEER (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_SSLVERSION (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_TLSAUTH_PASSWORD (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_TLSAUTH_TYPE (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_PROXY_TLSAUTH_USERNAME (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLOPT_SOCKS5_AUTH (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.55.0
CURLOPT_SUPPRESS_CONNECT_HEADERS (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.54.0
CURLPROXY_HTTPS (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURL_SSLVERSION_MAX_DEFAULT (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.54.0
CURL_SSLVERSION_MAX_NONE (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_0 (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_1 (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_2 (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_3 (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.54.0
CURL_SSLVERSION_TLSv1_3 (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURL_VERSION_HTTPS_PROXY (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLAUTH_BEARER (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.61.0.
CURLINFO_APPCONNECT_TIME_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.61.0
CURLINFO_CONNECT_TIME_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.61.0
CURLINFO_FILETIME_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.59.0
CURLINFO_NAMELOOKUP_TIME_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.61.0
CURLINFO_PRETRANSFER_TIME_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.61.0
CURLINFO_REDIRECT_TIME_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.61.0
CURLINFO_STARTTRANSFER_TIME_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.61.0
CURLINFO_TOTAL_TIME_T (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.61.0
CURL_LOCK_DATA_CONNECT (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.10.0
CURL_LOCK_DATA_PSL (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.61.0
CURLOPT_DISALLOW_USERNAME_IN_URL (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.61.0
CURLOPT_DNS_SHUFFLE_ADDRESSES (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.60.0
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.59.0
CURLOPT_HAPROXYPROTOCOL (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.60.0
CURLOPT_PROXY_TLS13_CIPHERS (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.61.0
CURLOPT_SSH_COMPRESSION (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.56.0
CURLOPT_TIMEVALUE_LARGE (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.59.0
CURLOPT_TLS13_CIPHERS (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.61.0
CURLSSH_AUTH_GSSAPI (integer)
Disponível a partir do PHP 7.3.0 e cURL 7.58.0
CURLOPT_HTTP09_ALLOWED (integer)
Disponível a partir do PHP 7.3.15 e 7.4.3, respectivamente, e cURL 7.64.0


  • « Constantes pré-definidas
  • Exemplo básico de cURL »
  • PHP Manual
  • cURL
  • Exemplos

Exemplos

Índice

  • Exemplo básico de cURL


Exemplo básico de cURL

Uma vez que você tenha compilado o PHP com suporte a cURL, você pode começar a usar as funções cURL. A ideia por trás das funções cURL é que você inicie uma sessão cURL usando curl_init(), permitindo que você configure suas opções para a transferência através da curl_setopt(), podendo assim executar a sessão com curl_exec() e finalizá-la usando curl_close(). Aqui está um exemplo que usa as funções cURL para pegar o conteúdo da página exemplo.com.br e colocar em um arquivo:

Exemplo #1 Usando o módulo cURL do PHP para pegar o conteúdo de exemplo.com.br

<?php

$ch = curl_init("http://www.exemplo.com.br/");
$fp = fopen("pagina_exemplo.txt", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
if(curl_error($ch)) {
    fwrite($fp, curl_error($ch));
}
curl_close($ch);
fclose($fp);
?>


Funções cURL

Índice

  • curl_close — Fecha uma sessão cURL
  • curl_copy_handle — Copia um controlador cURL com todas as suas opções
  • curl_errno — Retorna o número do último erro
  • curl_error — Return a string containing the last error for the current session
  • curl_escape — Codifica uma URL
  • curl_exec — Perform a cURL session
  • curl_file_create — Cria um objeto do tipo CURLFile
  • curl_getinfo — Get information regarding a specific transfer
  • curl_init — Initialize a cURL session
  • curl_multi_add_handle — Add a normal cURL handle to a cURL multi handle
  • curl_multi_close — Close a set of cURL handles
  • curl_multi_errno — Return the last multi curl error number
  • curl_multi_exec — Run the sub-connections of the current cURL handle
  • curl_multi_getcontent — Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set
  • curl_multi_info_read — Get information about the current transfers
  • curl_multi_init — Returns a new cURL multi handle
  • curl_multi_remove_handle — Remove a multi handle from a set of cURL handles
  • curl_multi_select — Wait for activity on any curl_multi connection
  • curl_multi_setopt — Configura uma opção no multi controlador cURL
  • curl_multi_strerror — Retorna uma string que descreve o código de erro
  • curl_pause — Pausa e despausa uma conexão
  • curl_reset — Reseta todas as opções de um controlador de sessão libcurl
  • curl_setopt_array — Set multiple options for a cURL transfer
  • curl_setopt — Set an option for a cURL transfer
  • curl_share_close — Fecha um controlador de compartilhamento de cURL
  • curl_share_errno — Return the last share curl error number
  • curl_share_init — Inicializa um controlador de compartilhamento de cURL
  • curl_share_setopt — Configura uma opção para um controlador de compartilhamento de cURL.
  • curl_share_strerror — Return string describing the given error code
  • curl_strerror — Retorna uma string que descreve o código de erro informado
  • curl_unescape — Decodifica a parte codificada da URL fornecida
  • curl_version — Gets cURL version information


Fecha uma sessão cURL

  • « Funções cURL
  • curl_copy_handle »
  • PHP Manual
  • Funções cURL
  • Fecha uma sessão cURL

curl_close

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

curl_close — Fecha uma sessão cURL

Descrição

curl_close ( resource $ch ) : void

Fecha uma sessão cURL e libera todos os recursos. O controlador cURL, ch, também é deletado.

Parâmetros

ch

Um handle cURL retornado por curl_init().

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Iniciando uma nova sessão cURL e acessando uma página web

<?php
// Cria uma nova sessão cURL
$ch = curl_init();

// Configura uma URL e outras opções apropriadas
curl_setopt($ch, CURLOPT_URL, "http://www.exemplo.com.br/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// Executa a sessão
curl_exec($ch);

// Fecha a sessão cURL e libera recursos
curl_close($ch);
?>

Veja Também

  • curl_init() - Initialize a cURL session
  • curl_multi_close() - Close a set of cURL handles


Copia um controlador cURL com todas as suas opções

  • « curl_close
  • curl_errno »
  • PHP Manual
  • Funções cURL
  • Copia um controlador cURL com todas as suas opções

curl_copy_handle

(PHP 5, PHP 7, PHP 8)

curl_copy_handle — Copia um controlador cURL com todas as suas opções

Descrição

curl_copy_handle ( resource $ch ) : resource

Copia um controlador cURL, mantendo as opções escolhidas.

Parâmetros

ch

Um handle cURL retornado por curl_init().

Valor Retornado

Retorna um novo controlador cURL.

Exemplos

Exemplo #1 Copiando um controlador cURL

<?php
// Cria uma nova sessão cURL
$ch = curl_init();

// Configura uma URL e outras opções apropriadas
curl_setopt($ch, CURLOPT_URL, 'http://www.exemplo.com.br/');
curl_setopt($ch, CURLOPT_HEADER, 0);

// Copia o controlador
$ch2 = curl_copy_handle($ch);

// Executa a sessão (abrindo a página exemplo.com.br)
curl_exec($ch2);

// Fecha os recursos cURL
curl_close($ch2);
curl_close($ch);
?>


Retorna o número do último erro

  • « curl_copy_handle
  • curl_error »
  • PHP Manual
  • Funções cURL
  • Retorna o número do último erro

curl_errno

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

curl_errno — Retorna o número do último erro

Descrição

curl_errno ( resource $ch ) : int

Retorna o número do erro para a última operação cURL.

Parâmetros

ch

Um handle cURL retornado por curl_init().

Valor Retornado

Retorna o número do erro ou 0 (zero) caso nenhum erro tenha acontecido.

Exemplos

Exemplo #1 Exemplo de curl_errno()

<?php
// Cria um novo manipulador curl para uma página existente
$ch = curl_init('http://404.php.net/');

// Executa
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);

// Verifica se ocorreu algum erro
if(curl_errno($ch))
{
    echo 'Curl error: ' . curl_error($ch);
}

// Fecha o manipulador
curl_close($ch);
?>

Veja Também

  • curl_error() - Return a string containing the last error for the current session
  • » Códigos de erro cURL


Return a string containing the last error for the current session

  • « curl_errno
  • curl_escape »
  • PHP Manual
  • Funções cURL
  • Return a string containing the last error for the current session

curl_error

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

curl_error — Return a string containing the last error for the current session

Descrição

curl_error ( resource $ch ) : string

Returns a clear text error message for the last cURL operation.

Parâmetros

ch

Um handle cURL retornado por curl_init().

Valor Retornado

Returns the error message or '' (the empty string) if no error occurred.

Exemplos

Exemplo #1 curl_error() example

<?php
// Create a curl handle to a non-existing location
$ch = curl_init('http://404.php.net/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if(curl_exec($ch) === false)
{
    echo 'Curl error: ' . curl_error($ch);
}
else
{
    echo 'Operation completed without any errors';
}

// Close handle
curl_close($ch);
?>

Veja Também

  • curl_errno() - Retorna o número do último erro
  • » Curl error codes


Codifica uma URL

  • « curl_error
  • curl_exec »
  • PHP Manual
  • Funções cURL
  • Codifica uma URL

curl_escape

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_escape — Codifica uma URL

Descrição

curl_escape ( resource $ch , string $str ) : string

Essa função codifica uma URL de acordo com » RFC 3986.

Parâmetros

ch

Um handle cURL retornado por curl_init().

str

A string a ser codificada.

Valor Retornado

Retorna a string codificada ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de curl_escape()

<?php
// Cria um controlador curl
$ch = curl_init();

// Codifica uma string usada como parâmetro GET
$location = curl_escape($ch, 'Hofbräuhaus / München');
// Resultado: Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen

// Cria uma URL com a string codificada
$url = "http://example.com/add_location.php?location={$location}";
// Resultado: http://example.com/add_location.php?location=Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen

// Envia a requisição HTTP e fecha o controlador
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
?>

Veja Também

  • curl_unescape() - Decodifica a parte codificada da URL fornecida
  • urlencode() - Codifica uma URL
  • rawurlencode() - Codifica uma URL de acordo com RFC 3986
  • » RFC 3986


Perform a cURL session

  • « curl_escape
  • curl_file_create »
  • PHP Manual
  • Funções cURL
  • Perform a cURL session

curl_exec

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

curl_exec — Perform a cURL session

Descrição

curl_exec ( resource $ch ) : mixed

Execute the given cURL session.

This function should be called after initializing a cURL session and all the options for the session are set.

Parâmetros

ch

Um handle cURL retornado por curl_init().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. However, if the CURLOPT_RETURNTRANSFER option is set, it will return the result on success, false on failure.

Exemplos

Exemplo #1 Fetching a web page

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

Veja Também

  • curl_multi_exec() - Run the sub-connections of the current cURL handle


Cria um objeto do tipo CURLFile

  • « curl_exec
  • curl_getinfo »
  • PHP Manual
  • Funções cURL
  • Cria um objeto do tipo CURLFile

curl_file_create

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_file_create — Cria um objeto do tipo CURLFile

Descrição

Esta função é um apelido para: CURLFile::__construct()


Get information regarding a specific transfer

  • « curl_file_create
  • curl_init »
  • PHP Manual
  • Funções cURL
  • Get information regarding a specific transfer

curl_getinfo

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

curl_getinfo — Get information regarding a specific transfer

Descrição

curl_getinfo ( resource $ch , int $opt = 0 ) : mixed

Gets information about the last transfer.

Parâmetros

ch

Um handle cURL retornado por curl_init().

opt

This may be one of the following constants:

  • CURLINFO_EFFECTIVE_URL - Last effective URL
  • CURLINFO_HTTP_CODE - Last received HTTP code
  • CURLINFO_FILETIME - Remote time of the retrieved document, if -1 is returned the time of the document is unknown
  • CURLINFO_TOTAL_TIME - Total transaction time in seconds for last transfer
  • CURLINFO_NAMELOOKUP_TIME - Time in seconds until name resolving was complete
  • CURLINFO_CONNECT_TIME - Time in seconds it took to establish the connection
  • CURLINFO_PRETRANSFER_TIME - Time in seconds from start until just before file transfer begins
  • CURLINFO_STARTTRANSFER_TIME - Time in seconds until the first byte is about to be transferred
  • CURLINFO_REDIRECT_COUNT - Number of redirects
  • CURLINFO_REDIRECT_TIME - Time in seconds of all redirection steps before final transaction was started
  • CURLINFO_SIZE_UPLOAD - Total number of bytes uploaded
  • CURLINFO_SIZE_DOWNLOAD - Total number of bytes downloaded
  • CURLINFO_SPEED_DOWNLOAD - Average download speed
  • CURLINFO_SPEED_UPLOAD - Average upload speed
  • CURLINFO_HEADER_SIZE - Total size of all headers received
  • CURLINFO_HEADER_OUT - The request string sent. For this to work, add the CURLINFO_HEADER_OUT option to the handle by calling curl_setopt()
  • CURLINFO_REQUEST_SIZE - Total size of issued requests, currently only for HTTP requests
  • CURLINFO_SSL_VERIFYRESULT - Result of SSL certification verification requested by setting CURLOPT_SSL_VERIFYPEER
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD - content-length of download, read from Content-Length: field
  • CURLINFO_CONTENT_LENGTH_UPLOAD - Specified size of upload
  • CURLINFO_CONTENT_TYPE - Content-Type: of the requested document, NULL indicates server did not send valid Content-Type: header

Valor Retornado

If opt is given, returns its value as a string. Otherwise, returns an associative array with the following elements (which correspond to opt), or false on failure:

  • "url"
  • "content_type"
  • "http_code"
  • "header_size"
  • "request_size"
  • "filetime"
  • "ssl_verify_result"
  • "redirect_count"
  • "total_time"
  • "namelookup_time"
  • "connect_time"
  • "pretransfer_time"
  • "size_upload"
  • "size_download"
  • "speed_download"
  • "speed_upload"
  • "download_content_length"
  • "upload_content_length"
  • "starttransfer_time"
  • "redirect_time"
  • "certinfo"
  • "request_header" (This is only set if the CURLINFO_HEADER_OUT is set by a previous call to curl_setopt())

Changelog

Versão | Descrição
5.1.3 | Introduced CURLINFO_HEADER_OUT.

Exemplos

Exemplo #1 curl_getinfo() example

<?php
// Create a curl handle
$ch = curl_init('http://www.yahoo.com/');

// Execute
curl_exec($ch);

// Check if any error occured
if(!curl_errno($ch))
{
 $info = curl_getinfo($ch);

 echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
}

// Close handle
curl_close($ch);
?>

Notas

Nota:

Information gathered by this function is kept if the handle is re-used. This means that unless a statistic is overridden internally by this function, the previous info is returned.


Initialize a cURL session

  • « curl_getinfo
  • curl_multi_add_handle »
  • PHP Manual
  • Funções cURL
  • Initialize a cURL session

curl_init

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

curl_init — Initialize a cURL session

Descrição

curl_init ( string $url = null ) : resource

Initializes a new session and return a cURL handle for use with the curl_setopt(), curl_exec(), and curl_close() functions.

Parâmetros

url

If provided, the CURLOPT_URL option will be set to its value. You can manually set this using the curl_setopt() function.

Nota:

The file protocol is disabled by cURL if open_basedir is set.

Valor Retornado

Returns a cURL handle on success, false on errors.

Exemplos

Exemplo #1 Initializing a new cURL session and fetching a web page

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

Veja Também

  • curl_close() - Fecha uma sessão cURL
  • curl_multi_init() - Returns a new cURL multi handle


Add a normal cURL handle to a cURL multi handle

  • « curl_init
  • curl_multi_close »
  • PHP Manual
  • Funções cURL
  • Add a normal cURL handle to a cURL multi handle

curl_multi_add_handle

(PHP 5, PHP 7, PHP 8)

curl_multi_add_handle — Add a normal cURL handle to a cURL multi handle

Descrição

curl_multi_add_handle ( resource $mh , resource $ch ) : int

Adds the ch handle to the multi handle mh

Parâmetros

mh

Um cURL "multi handle" retornado por curl_multi_init().

ch

Um handle cURL retornado por curl_init().

Valor Retornado

Returns 0 on success, or one of the CURLM_XXX errors code.

Exemplos

Exemplo #1 curl_multi_add_handle() example

This example will create two cURL handles, add them to a multi handle, and then run them in parallel.

<?php
// create both cURL resources
$ch1 = curl_init();
$ch2 = curl_init();

// set URL and other appropriate options
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

//create the multiple cURL handle
$mh = curl_multi_init();

//add the two handles
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
//execute the handles
do {
    curl_multi_exec($mh,$running);
} while($running > 0);

//close all the handles
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);
?>

Veja Também

  • curl_multi_remove_handle() - Remove a multi handle from a set of cURL handles
  • curl_multi_init() - Returns a new cURL multi handle
  • curl_init() - Initialize a cURL session


Close a set of cURL handles

  • « curl_multi_add_handle
  • curl_multi_errno »
  • PHP Manual
  • Funções cURL
  • Close a set of cURL handles

curl_multi_close

(PHP 5, PHP 7, PHP 8)

curl_multi_close — Close a set of cURL handles

Descrição

curl_multi_close ( resource $mh ) : void

Closes a set of cURL handles.

Parâmetros

mh

Um cURL "multi handle" retornado por curl_multi_init().

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 curl_multi_close() example

This example will create two cURL handles, add them to a multi handle, and then run them in parallel.

<?php
// create both cURL resources
$ch1 = curl_init();
$ch2 = curl_init();

// set URL and other appropriate options
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

//create the multiple cURL handle
$mh = curl_multi_init();

//add the two handles
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
//execute the handles
do {
    curl_multi_exec($mh,$running);
} while ($running > 0);

//close the handles
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Veja Também

  • curl_multi_init() - Returns a new cURL multi handle
  • curl_close() - Fecha uma sessão cURL


Return the last multi curl error number

  • « curl_multi_close
  • curl_multi_exec »
  • PHP Manual
  • Funções cURL
  • Return the last multi curl error number

curl_multi_errno

(PHP 7 >= 7.1.0, PHP 8)

curl_multi_errno — Return the last multi curl error number

Descrição

curl_multi_errno ( CurlMultiHandle $multi_handle ) : int

Return an integer containing the last multi curl error number.

Parâmetros

mh

Um cURL "multi handle" retornado por curl_multi_init().

Valor Retornado

Return an integer containing the last multi curl error number.

Changelog

Versão | Descrição
8.0.0 | The function no longer returns false on failure.
8.0.0 | multi_handle expects a CurlMultiHandle instance now; previously, a resource was expected.

Veja Também

  • curl_errno() - Retorna o número do último erro


Run the sub-connections of the current cURL handle

  • « curl_multi_errno
  • curl_multi_getcontent »
  • PHP Manual
  • Funções cURL
  • Run the sub-connections of the current cURL handle

curl_multi_exec

(PHP 5, PHP 7, PHP 8)

curl_multi_exec — Run the sub-connections of the current cURL handle

Descrição

curl_multi_exec ( resource $mh , int &$still_running ) : int

Processes each of the handles in the stack. This method can be called whether or not a handle needs to read or write data.

Parâmetros

mh

Um cURL "multi handle" retornado por curl_multi_init().

still_running

A reference to a flag to tell whether the operations are still running.

Valor Retornado

A cURL code defined in the cURL Predefined Constants.

Nota:

This only returns errors regarding the whole multi stack. There might still have occurred problems on individual transfers even when this function returns CURLM_OK.

Exemplos

Exemplo #1 curl_multi_exec() example

This example will create two cURL handles, add them to a multi handle, and then run them in parallel.

<?php
// create both cURL resources
$ch1 = curl_init();
$ch2 = curl_init();

// set URL and other appropriate options
curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

//create the multiple cURL handle
$mh = curl_multi_init();

//add the two handles
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$active = null;
//execute the handles
do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

//close the handles
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Veja Também

  • curl_multi_init() - Returns a new cURL multi handle
  • curl_multi_select() - Wait for activity on any curl_multi connection
  • curl_exec() - Perform a cURL session


Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set

  • « curl_multi_exec
  • curl_multi_info_read »
  • PHP Manual
  • Funções cURL
  • Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set

curl_multi_getcontent

(PHP 5, PHP 7, PHP 8)

curl_multi_getcontent — Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set

Descrição

curl_multi_getcontent ( resource $ch ) : string

If CURLOPT_RETURNTRANSFER is an option that is set for a specific handle, then this function will return the content of that cURL handle in the form of a string.

Parâmetros

ch

Um handle cURL retornado por curl_init().

Valor Retornado

Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set.

Veja Também

  • curl_multi_init() - Returns a new cURL multi handle


Get information about the current transfers

  • « curl_multi_getcontent
  • curl_multi_init »
  • PHP Manual
  • Funções cURL
  • Get information about the current transfers

curl_multi_info_read

(PHP 5, PHP 7, PHP 8)

curl_multi_info_read — Get information about the current transfers

Descrição

curl_multi_info_read ( resource $mh , int &$msgs_in_queue = null ) : array

Ask the multi handle if there are any messages or information from the individual transfers. Messages may include information such as an error code from the transfer or just the fact that a transfer is completed.

Repeated calls to this function will return a new result each time, until a false is returned as a signal that there is no more to get at this point. The integer pointed to with msgs_in_queue will contain the number of remaining messages after this function was called.

Aviso

The data the returned resource points to will not survive calling curl_multi_remove_handle().

Parâmetros

mh

Um cURL "multi handle" retornado por curl_multi_init().

msgs_in_queue

Number of messages that are still in the queue

Valor Retornado

On success, returns an associative array for the message, false on failure.

Contents of the returned array
Key: | Value:
msg | The CURLMSG_DONE constant. Other return values are currently not available.
result | One of the CURLE_* constants. If everything is OK, the CURLE_OK will be the result.
handle | Resource of type curl indicates the handle which it concerns.

Exemplos

Exemplo #1 A curl_multi_info_read() example

<?php

$urls = array(
   "http://www.cnn.com/",
   "http://www.bbc.co.uk/",
   "http://www.yahoo.com/"
);

$mh = curl_multi_init();

foreach ($urls as $i => $url) {
    $conn[$i] = curl_init($url);
    curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1);
    curl_multi_add_handle($mh, $conn[$i]);
}

do {
    $status = curl_multi_exec($mh, $active);
    $info = curl_multi_info_read($mh);
    if (false !== $info) {
        var_dump($info);
    }
} while ($status === CURLM_CALL_MULTI_PERFORM || $active);

foreach ($urls as $i => $url) {
    $res[$i] = curl_multi_getcontent($conn[$i]);
    curl_close($conn[$i]);
}

var_dump(curl_multi_info_read($mh));

?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(5) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(7) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(6) of type (curl)
}
bool(false)

Changelog

Versão | Descrição
5.2.0 | msgs_in_queue was added.

Veja Também

  • curl_multi_init() - Returns a new cURL multi handle


Returns a new cURL multi handle

  • « curl_multi_info_read
  • curl_multi_remove_handle »
  • PHP Manual
  • Funções cURL
  • Returns a new cURL multi handle

curl_multi_init

(PHP 5, PHP 7, PHP 8)

curl_multi_init — Returns a new cURL multi handle

Descrição

curl_multi_init ( ) : resource

Allows the processing of multiple cURL handles in parallel.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a cURL multi handle resource on success, false on failure.

Exemplos

Exemplo #1 curl_multi_init() example

This example will create two cURL handles, add them to a multi handle, and then run them in parallel.

<?php
// create both cURL resources
$ch1 = curl_init();
$ch2 = curl_init();

// set URL and other appropriate options
curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

//create the multiple cURL handle
$mh = curl_multi_init();

//add the two handles
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$active = null;
//execute the handles
do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

//close the handles
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Veja Também

  • curl_init() - Initialize a cURL session
  • curl_multi_close() - Close a set of cURL handles


Remove a multi handle from a set of cURL handles

  • « curl_multi_init
  • curl_multi_select »
  • PHP Manual
  • Funções cURL
  • Remove a multi handle from a set of cURL handles

curl_multi_remove_handle

(PHP 5, PHP 7, PHP 8)

curl_multi_remove_handle — Remove a multi handle from a set of cURL handles

Descrição

curl_multi_remove_handle ( resource $mh , resource $ch ) : int

Removes a given ch handle from the given mh handle. When the ch handle has been removed, it is again perfectly legal to run curl_exec() on this handle. Removing the ch handle while being used, will effectively halt the transfer in progress involving that handle.

Parâmetros

mh

Um cURL "multi handle" retornado por curl_multi_init().

ch

Um handle cURL retornado por curl_init().

Valor Retornado

Returns 0 on success, or one of the CURLM_XXX error codes.

Veja Também

  • curl_init() - Initialize a cURL session
  • curl_multi_init() - Returns a new cURL multi handle
  • curl_multi_add_handle() - Add a normal cURL handle to a cURL multi handle


Wait for activity on any curl_multi connection

  • « curl_multi_remove_handle
  • curl_multi_setopt »
  • PHP Manual
  • Funções cURL
  • Wait for activity on any curl_multi connection

curl_multi_select

(PHP 5, PHP 7, PHP 8)

curl_multi_select — Wait for activity on any curl_multi connection

Descrição

curl_multi_select ( resource $mh , float $timeout = 1.0 ) : int

Blocks until there is activity on any of the curl_multi connections.

Parâmetros

mh

Um cURL "multi handle" retornado por curl_multi_init().

timeout

Time, in seconds, to wait for a response.

Valor Retornado

On success, returns the number of descriptors contained in the descriptor sets. On failure, this function will return -1 on a select failure or timeout (from the underlying select system call).

Veja Também

  • curl_multi_init() - Returns a new cURL multi handle


Configura uma opção no multi controlador cURL

  • « curl_multi_select
  • curl_multi_strerror »
  • PHP Manual
  • Funções cURL
  • Configura uma opção no multi controlador cURL

curl_multi_setopt

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_multi_setopt — Configura uma opção no multi controlador cURL

Descrição

curl_multi_setopt ( resource $mh , int $option , mixed $value ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

mh

option

Uma das constantes CURLMOPT_*.

value

O valor a ser configurado em option.

value deve ser um int para os seguintes valores do parâmetro option:

Opção | Configura o value para
CURLMOPT_PIPELINING | Passe 1 para habilitar ou 0 para desabilitar. Habilitar pipelining em um multi controlador irá fazer com que ele tente utilizar HTTP Pipelining quando possível para transferências usando esse controlador. Isso significa que se você adicionar uma segunda requisição que pode utilizar uma conexão já existente, a segunda requisição será transmitida ("piped") na mesma conexão. A partir do cURL 7.43.0 você também pode passar 2 para tentar fazer a nova transferência usando uma conexão HTTP/2 já existente se for possível. Ao invés de usar números inteiros literalmente, você pode usar as constantes CURLPIPE_* quando disponíveis.
CURLMOPT_MAXCONNECTS | Passe um número que será usado como o número máximo de conexões abertas simultaneamente que libcurl pode deixar em cache. Por padrão, o tamanho será aumentado para abranger quatro vezes o número de controladores adicionados via curl_multi_add_handle(). Quando o cache estiver cheio, o curl fecha o mais antigo para evitar que o número de conexões abertas aumentem.
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE | Passe um número que especifica o limite de tamanho de cada parte para pipelining em bytes.
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE | Passe um número que especifica o limite de tamanho de penalidade para pipelining em bytes.
CURLMOPT_MAX_HOST_CONNECTIONS | Passe um número que especifica o número máximo de conexões à um único host.
CURLMOPT_MAX_PIPELINE_LENGTH | Passe um número que especifica o número máximo de requisições em um pipeline.
CURLMOPT_MAX_TOTAL_CONNECTIONS | Passe um número que especifica o número máximo de conexões abertas simultaneamentes.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.0.7 | Introduzido CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH e CURLMOPT_MAX_TOTAL_CONNECTIONS.


Retorna uma string que descreve o código de erro

  • « curl_multi_setopt
  • curl_pause »
  • PHP Manual
  • Funções cURL
  • Retorna uma string que descreve o código de erro

curl_multi_strerror

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_multi_strerror — Retorna uma string que descreve o código de erro

Descrição

curl_multi_strerror ( int $errornum ) : string

Retorna um texto descrevendo o código de erro de CURLM informado como parâmetro.

Parâmetros

errornum

Uma das constantes de » códigos de erros de CURLM.

Valor Retornado

Retorna a descrição do erro para um código de erro válido, caso contrário null.

Exemplos

Exemplo #1 Exemplo de curl_multi_strerror()

<?php
// Cria os manipuladores cURL
$ch1 = curl_init("http://example.com"/);
$ch2 = curl_init("http://php.net/");

// Cria um "multi" manipulador cURL
$mh = curl_multi_init();

// Adiciona os manipuladores ao "multi" manipulador
curl_multi_add_handle($mh, $ch1);
curl_multi_add_handle($mh, $ch2);

// Executa o "multi" manipulador
do {
    $status = curl_multi_exec($mh, $active);
    // Verifica se houve erro
    if($status > 0) {
        // Exibe a mensagem de erro
        echo "ERROR!\n " . curl_multi_strerror($status);
    }
} while ($status === CURLM_CALL_MULTI_PERFORM || $active);
?>

Veja Também

  • curl_strerror() - Retorna uma string que descreve o código de erro informado
  • » Códigos de erros do cURL


Pausa e despausa uma conexão

  • « curl_multi_strerror
  • curl_reset »
  • PHP Manual
  • Funções cURL
  • Pausa e despausa uma conexão

curl_pause

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_pause — Pausa e despausa uma conexão

Descrição

curl_pause ( resource $ch , int $bitmask ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

ch

Um handle cURL retornado por curl_init().

bitmask

Uma das constantes CURLPAUSE_*.

Valor Retornado

Retorna um código de erro (CURLE_OK se não houver erro).


Reseta todas as opções de um controlador de sessão libcurl

  • « curl_pause
  • curl_setopt_array »
  • PHP Manual
  • Funções cURL
  • Reseta todas as opções de um controlador de sessão libcurl

curl_reset

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_reset — Reseta todas as opções de um controlador de sessão libcurl

Descrição

curl_reset ( resource $ch ) : void

Essa função reinicializa todas as opções configuradas no controlador cURL informado para os valores padrões.

Parâmetros

ch

Um handle cURL retornado por curl_init().

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Exemplo de curl_reset()

<?php
// Cria um controlador curl
$ch = curl_init();

// Configura a opção CURLOPT_USERAGENT
curl_setopt($ch, CURLOPT_USERAGENT, "My test user-agent");

// Reseta todas as opções que foram configuradas anteriormente
curl_reset($ch);

// Envia a requisição HTTP
curl_setopt($ch, CURLOPT_URL, 'http://example.com/');
curl_exec($ch); // o user-agent configurado anteriormente não será enviado porque foi resetado por curl_reset

// Fecha o controlador
curl_close($ch);
?>

Notas

Nota:

curl_reset() também reseta a URL informada no parâmetro curl_init().

Veja Também

  • curl_setopt() - Set an option for a cURL transfer


Set multiple options for a cURL transfer

  • « curl_reset
  • curl_setopt »
  • PHP Manual
  • Funções cURL
  • Set multiple options for a cURL transfer

curl_setopt_array

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

curl_setopt_array — Set multiple options for a cURL transfer

Descrição

curl_setopt_array ( resource $ch , array $options ) : bool

Sets multiple options for a cURL session. This function is useful for setting a large amount of cURL options without repetitively calling curl_setopt().

Parâmetros

ch

Um handle cURL retornado por curl_init().

options

An array specifying which options to set and their values. The keys should be valid curl_setopt() constants or their integer equivalents.

Valor Retornado

Returns true if all options were successfully set. If an option could not be successfully set, false is immediately returned, ignoring any future options in the options array.

Exemplos

Exemplo #1 Initializing a new cURL session and fetching a web page

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
$options = array(CURLOPT_URL => 'http://www.example.com/',
                 CURLOPT_HEADER => false
                );

curl_setopt_array($ch, $options);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

Prior to PHP 5.1.3 this function can be simulated with:

Exemplo #2 Our own implementation of curl_setopt_array()

<?php
if (!function_exists('curl_setopt_array')) {
   function curl_setopt_array(&$ch, $curl_options)
   {
       foreach ($curl_options as $option => $value) {
           if (!curl_setopt($ch, $option, $value)) {
               return false;
           }
       }
       return true;
   }
}
?>

Notas

Nota:

As with curl_setopt(), passing an array to CURLOPT_POST will encode the data as multipart/form-data, while passing a URL-encoded string will encode the data as application/x-www-form-urlencoded.

Veja Também

  • curl_setopt() - Set an option for a cURL transfer


Set an option for a cURL transfer

  • « curl_setopt_array
  • curl_share_close »
  • PHP Manual
  • Funções cURL
  • Set an option for a cURL transfer

curl_setopt

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

curl_setopt — Set an option for a cURL transfer

Descrição

curl_setopt ( CurlHandle $handle , int $option , mixed $value ) : bool

Sets an option on the given cURL session handle.

Parâmetros

ch

Um handle cURL retornado por curl_init().

option

The CURLOPT_XXX option to set.

value

The value to be set on option.

value should be a bool for the following values of the option parameter:

Option | Set value to | Notes
CURLOPT_AUTOREFERER | true to automatically set the Referer: field in requests where it follows a Location: redirect.
CURLOPT_BINARYTRANSFER | true to return the raw output when CURLOPT_RETURNTRANSFER is used. | From PHP 5.1.3, this option has no effect: the raw output will always be returned when CURLOPT_RETURNTRANSFER is used.
CURLOPT_COOKIESESSION | true to mark this as a new cookie "session". It will force libcurl to ignore all cookies it is about to load that are "session cookies" from the previous session. By default, libcurl always stores and loads all cookies, independent if they are session cookies or not. Session cookies are cookies without expiry date and they are meant to be alive and existing for this "session" only.
CURLOPT_CERTINFO | true to output SSL certification information to STDERR on secure transfers. | Added in cURL 7.19.1. Available since PHP 5.3.2. Requires CURLOPT_VERBOSE to be on to have an effect.
CURLOPT_CONNECT_ONLY | true tells the library to perform all the required proxy authentication and connection setup, but no data transfer. This option is implemented for HTTP, SMTP and POP3. | Added in 7.15.2. Available since PHP 5.5.0.
CURLOPT_CRLF | true to convert Unix newlines to CRLF newlines on transfers.
CURLOPT_DISALLOW_USERNAME_IN_URL | true to not allow URLs that include a username. Usernames are allowed by default (0). | Added in cURL 7.61.0. Available since PHP 7.3.0.
CURLOPT_DNS_SHUFFLE_ADDRESSES | true to shuffle the order of all returned addresses so that they will be used in a random order, when a name is resolved and more than one IP address is returned. This may cause IPv4 to be used before IPv6 or vice versa. | Added in cURL 7.60.0. Available since PHP 7.3.0.
CURLOPT_HAPROXYPROTOCOL | true to send an HAProxy PROXY protocol v1 header at the start of the connection. The default action is not to send this header. | Added in cURL 7.60.0. Available since PHP 7.3.0.
CURLOPT_SSH_COMPRESSION | true to enable built-in SSH compression. This is a request, not an order; the server may or may not do it. | Added in cURL 7.56.0. Available since PHP 7.3.0.
CURLOPT_DNS_USE_GLOBAL_CACHE | true to use a global DNS cache. This option is not thread-safe. It is conditionally enabled by default if PHP is built for non-threaded use (CLI, FCGI, Apache2-Prefork, etc.).
CURLOPT_FAILONERROR | true to fail verbosely if the HTTP code returned is greater than or equal to 400. The default behavior is to return the page normally, ignoring the code.
CURLOPT_SSL_FALSESTART | true to enable TLS false start. | Added in cURL 7.42.0. Available since PHP 7.0.7.
CURLOPT_FILETIME | true to attempt to retrieve the modification date of the remote document. This value can be retrieved using the CURLINFO_FILETIME option with curl_getinfo().
CURLOPT_FOLLOWLOCATION | true to follow any "Location: " header that the server sends as part of the HTTP header. See also CURLOPT_MAXREDIRS.
CURLOPT_FORBID_REUSE | true to force the connection to explicitly close when it has finished processing, and not be pooled for reuse.
CURLOPT_FRESH_CONNECT | true to force the use of a new connection instead of a cached one.
CURLOPT_FTP_USE_EPRT | true to use EPRT (and LPRT) when doing active FTP downloads. Use false to disable EPRT and LPRT and use PORT only.
CURLOPT_FTP_USE_EPSV | true to first try an EPSV command for FTP transfers before reverting back to PASV. Set to false to disable EPSV.
CURLOPT_FTP_CREATE_MISSING_DIRS | true to create missing directories when an FTP operation encounters a path that currently doesn't exist.
CURLOPT_FTPAPPEND | true to append to the remote file instead of overwriting it.
CURLOPT_TCP_NODELAY | true to disable TCP's Nagle algorithm, which tries to minimize the number of small packets on the network. | Available since PHP 5.2.1 for versions compiled with libcurl 7.11.2 or greater.
CURLOPT_FTPASCII | An alias of CURLOPT_TRANSFERTEXT. Use that instead.
CURLOPT_FTPLISTONLY | true to only list the names of an FTP directory.
CURLOPT_HEADER | true to include the header in the output.
CURLINFO_HEADER_OUT | true to track the handle's request string. | Available since PHP 5.1.3. The CURLINFO_ prefix is intentional.
CURLOPT_HTTP09_ALLOWED | Whether to allow HTTP/0.9 responses. Defaults to false as of libcurl 7.66.0; formerly it defaulted to true. | Available since PHP 7.3.15 and 7.4.3, respectively, if built against libcurl >= 7.64.0
CURLOPT_HTTPGET | true to reset the HTTP request method to GET. Since GET is the default, this is only necessary if the request method has been changed.
CURLOPT_HTTPPROXYTUNNEL | true to tunnel through a given HTTP proxy.
CURLOPT_HTTP_CONTENT_DECODING | false to get the raw HTTP response body. | Available as of PHP 5.5.0 if built against libcurl >= 7.16.2.
CURLOPT_KEEP_SENDING_ON_ERROR | true to keep sending the request body if the HTTP code returned is equal to or larger than 300. The default action would be to stop sending and close the stream or connection. Suitable for manual NTLM authentication. Most applications do not need this option. | Available as of PHP 7.3.0 if built against libcurl >= 7.51.0.
CURLOPT_MUTE | true to be completely silent with regards to the cURL functions. | Removed in cURL 7.15.5 (You can use CURLOPT_RETURNTRANSFER instead)
CURLOPT_NETRC | true to scan the ~/.netrc file to find a username and password for the remote site that a connection is being established with.
CURLOPT_NOBODY | true to exclude the body from the output. Request method is then set to HEAD. Changing this to false does not change it to GET.
CURLOPT_NOPROGRESS

true to disable the progress meter for cURL transfers.

Nota:

PHP automatically sets this option to true, this should only be changed for debugging purposes.

CURLOPT_NOSIGNAL | true to ignore any cURL function that causes a signal to be sent to the PHP process. This is turned on by default in multi-threaded SAPIs so timeout options can still be used. | Added in cURL 7.10.
CURLOPT_PATH_AS_IS | true to not handle dot dot sequences. | Added in cURL 7.42.0. Available since PHP 7.0.7.
CURLOPT_PIPEWAIT | true to wait for pipelining/multiplexing. | Added in cURL 7.43.0. Available since PHP 7.0.7.
CURLOPT_POST | true to do a regular HTTP POST. This POST is the normal application/x-www-form-urlencoded kind, most commonly used by HTML forms.
CURLOPT_PUT | true to HTTP PUT a file. The file to PUT must be set with CURLOPT_INFILE and CURLOPT_INFILESIZE.
CURLOPT_RETURNTRANSFER | true to return the transfer as a string of the return value of curl_exec() instead of outputting it directly.
CURLOPT_SASL_IR | true to enable sending the initial response in the first packet. | Added in cURL 7.31.10. Available since PHP 7.0.7.
CURLOPT_SSL_ENABLE_ALPN | false to disable ALPN in the SSL handshake (if the SSL backend libcurl is built to use supports it), which can be used to negotiate http2. | Added in cURL 7.36.0. Available since PHP 7.0.7.
CURLOPT_SSL_ENABLE_NPN | false to disable NPN in the SSL handshake (if the SSL backend libcurl is built to use supports it), which can be used to negotiate http2. | Added in cURL 7.36.0. Available since PHP 7.0.7.
CURLOPT_SSL_VERIFYPEER | false to stop cURL from verifying the peer's certificate. Alternate certificates to verify against can be specified with the CURLOPT_CAINFO option or a certificate directory can be specified with the CURLOPT_CAPATH option. | true by default as of cURL 7.10. Default bundle installed as of cURL 7.10.
CURLOPT_SSL_VERIFYSTATUS | true to verify the certificate's status. | Added in cURL 7.41.0. Available since PHP 7.0.7.
CURLOPT_PROXY_SSL_VERIFYPEER | false to stop cURL from verifying the peer's certificate. Alternate certificates to verify against can be specified with the CURLOPT_CAINFO option or a certificate directory can be specified with the CURLOPT_CAPATH option. When set to false, the peer certificate verification succeeds regardless. | true by default. Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_SUPPRESS_CONNECT_HEADERS | true to suppress proxy CONNECT response headers from the user callback functions CURLOPT_HEADERFUNCTION and CURLOPT_WRITEFUNCTION, when CURLOPT_HTTPPROXYTUNNEL is used and a CONNECT request is made. | Added in cURL 7.54.0. Available since PHP 7.3.0.
CURLOPT_TCP_FASTOPEN | true to enable TCP Fast Open. | Added in cURL 7.49.0. Available since PHP 7.0.7.
CURLOPT_TFTP_NO_OPTIONS | true to not send TFTP options requests. | Added in cURL 7.48.0. Available since PHP 7.0.7.
CURLOPT_TRANSFERTEXT | true to use ASCII mode for FTP transfers. For LDAP, it retrieves data in plain text instead of HTML. On Windows systems, it will not set STDOUT to binary mode.
CURLOPT_UNRESTRICTED_AUTH | true to keep sending the username and password when following locations (using CURLOPT_FOLLOWLOCATION), even when the hostname has changed.
CURLOPT_UPLOAD | true to prepare for an upload.
CURLOPT_VERBOSE | true to output verbose information. Writes output to STDERR, or the file specified using CURLOPT_STDERR.

value should be an int for the following values of the option parameter:

Option | Set value to | Notes
CURLOPT_BUFFERSIZE | The size of the buffer to use for each read. There is no guarantee this request will be fulfilled, however. | Added in cURL 7.10.
CURLOPT_CLOSEPOLICY One of the CURLCLOSEPOLICY_* values.

Nota:

This option is deprecated, as it was never implemented in cURL and never had any effect.

Removed in PHP 5.6.0.
CURLOPT_CONNECTTIMEOUT | The number of seconds to wait while trying to connect. Use 0 to wait indefinitely.
CURLOPT_CONNECTTIMEOUT_MS | The number of milliseconds to wait while trying to connect. Use 0 to wait indefinitely. If libcurl is built to use the standard system name resolver, that portion of the connect will still use full-second resolution for timeouts with a minimum timeout allowed of one second. | Added in cURL 7.16.2. Available since PHP 5.2.3.
CURLOPT_DNS_CACHE_TIMEOUT | The number of seconds to keep DNS entries in memory. This option is set to 120 (2 minutes) by default.
CURLOPT_EXPECT_100_TIMEOUT_MS | The timeout for Expect: 100-continue responses in milliseconds. Defaults to 1000 milliseconds. | Added in cURL 7.36.0. Available since PHP 7.0.7.
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS | Head start for ipv6 for the happy eyeballs algorithm. Happy eyeballs attempts to connect to both IPv4 and IPv6 addresses for dual-stack hosts, preferring IPv6 first for timeout milliseconds. Defaults to CURL_HET_DEFAULT, which is currently 200 milliseconds. | Added in cURL 7.59.0. Available since PHP 7.3.0.
CURLOPT_FTPSSLAUTH | The FTP authentication method (when is activated): CURLFTPAUTH_SSL (try SSL first), CURLFTPAUTH_TLS (try TLS first), or CURLFTPAUTH_DEFAULT (let cURL decide). | Added in cURL 7.12.2.
CURLOPT_HEADEROPT | How to deal with headers. One of the following constants: CURLHEADER_UNIFIED: the headers specified in CURLOPT_HTTPHEADER will be used in requests both to servers and proxies. With this option enabled, CURLOPT_PROXYHEADER will not have any effect. CURLHEADER_SEPARATE: makes CURLOPT_HTTPHEADER headers only get sent to a server and not to a proxy. Proxy headers must be set with CURLOPT_PROXYHEADER to get used. Note that if a non-CONNECT request is sent to a proxy, libcurl will send both server headers and proxy headers. When doing CONNECT, libcurl will send CURLOPT_PROXYHEADER headers only to the proxy and then CURLOPT_HTTPHEADER headers only to the server. Defaults to CURLHEADER_SEPARATE as of cURL 7.42.1, and CURLHEADER_UNIFIED before. | Added in cURL 7.37.0. Available since PHP 7.0.7.
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (default, lets CURL decide which version to use), CURL_HTTP_VERSION_1_0 (forces HTTP/1.0), CURL_HTTP_VERSION_1_1 (forces HTTP/1.1), CURL_HTTP_VERSION_2_0 (attempts HTTP 2), CURL_HTTP_VERSION_2 (alias of CURL_HTTP_VERSION_2_0), CURL_HTTP_VERSION_2TLS (attempts HTTP 2 over TLS (HTTPS) only) or CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (issues non-TLS HTTP requests using HTTP/2 without HTTP/1.1 Upgrade).
CURLOPT_HTTPAUTH

The HTTP authentication method(s) to use. The options are: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_ANY, and CURLAUTH_ANYSAFE.

The bitwise | (or) operator can be used to combine more than one method. If this is done, cURL will poll the server to see what methods it supports and pick the best one.

CURLAUTH_ANY is an alias for CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLAUTH_ANYSAFE is an alias for CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLOPT_INFILESIZE | The expected size, in bytes, of the file when uploading a file to a remote site. Note that using this option will not stop libcurl from sending more data, as exactly what is sent depends on CURLOPT_READFUNCTION.
CURLOPT_LOW_SPEED_LIMIT | The transfer speed, in bytes per second, that the transfer should be below during the count of CURLOPT_LOW_SPEED_TIME seconds before PHP considers the transfer too slow and aborts.
CURLOPT_LOW_SPEED_TIME | The number of seconds the transfer speed should be below CURLOPT_LOW_SPEED_LIMIT before PHP considers the transfer too slow and aborts.
CURLOPT_MAXCONNECTS | The maximum amount of persistent connections that are allowed. When the limit is reached, CURLOPT_CLOSEPOLICY is used to determine which connection to close.
CURLOPT_MAXREDIRS | The maximum amount of HTTP redirections to follow. Use this option alongside CURLOPT_FOLLOWLOCATION. Default value of 20 is set to prevent infinite redirects. Setting to -1 allows inifinite redirects, and 0 refuses all redirects.
CURLOPT_PORT | An alternative port number to connect to.
CURLOPT_POSTREDIR | A bitmask of 1 (301 Moved Permanently), 2 (302 Found) and 4 (303 See Other) if the HTTP POST method should be maintained when CURLOPT_FOLLOWLOCATION is set and a specific type of redirect occurs. | Added in cURL 7.19.1. Available since PHP 5.3.2.
CURLOPT_PROTOCOLS

Bitmask of CURLPROTO_* values. If used, this bitmask limits what protocols libcurl may use in the transfer. This allows you to have a libcurl built to support a wide range of protocols but still limit specific transfers to only be allowed to use a subset of them. By default libcurl will accept all protocols it supports. See also CURLOPT_REDIR_PROTOCOLS.

Valid protocol options are: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL

Added in cURL 7.19.4.
CURLOPT_PROXYAUTH | The HTTP authentication method(s) to use for the proxy connection. Use the same bitmasks as described in CURLOPT_HTTPAUTH. For proxy authentication, only CURLAUTH_BASIC and CURLAUTH_NTLM are currently supported. | Added in cURL 7.10.7.
CURLOPT_PROXYPORT | The port number of the proxy to connect to. This port number can also be set in CURLOPT_PROXY.
CURLOPT_PROXYTYPE | Either CURLPROXY_HTTP (default), CURLPROXY_SOCKS4, CURLPROXY_SOCKS5, CURLPROXY_SOCKS4A or CURLPROXY_SOCKS5_HOSTNAME. | Added in cURL 7.10.
CURLOPT_REDIR_PROTOCOLS | Bitmask of CURLPROTO_* values. If used, this bitmask limits what protocols libcurl may use in a transfer that it follows to in a redirect when CURLOPT_FOLLOWLOCATION is enabled. This allows you to limit specific transfers to only be allowed to use a subset of protocols in redirections. By default libcurl will allow all protocols except for FILE and SCP. This is a difference compared to pre-7.19.4 versions which unconditionally would follow to all protocols supported. See also CURLOPT_PROTOCOLS for protocol constant values. | Added in cURL 7.19.4.
CURLOPT_RESUME_FROM | The offset, in bytes, to resume a transfer from.
CURLOPT_SOCKS5_AUTH

The SOCKS5 authentication method(s) to use. The options are: CURLAUTH_BASIC, CURLAUTH_GSSAPI, CURLAUTH_NONE.

The bitwise | (or) operator can be used to combine more than one method. If this is done, cURL will poll the server to see what methods it supports and pick the best one.

CURLAUTH_BASIC allows username/password authentication.

CURLAUTH_GSSAPI allows GSS-API authentication.

CURLAUTH_NONE allows no authentication.

Defaults to CURLAUTH_BASIC|CURLAUTH_GSSAPI. Set the actual username and password with the CURLOPT_PROXYUSERPWD option.

Available as of 7.3.0 and curl >= 7.55.0.
CURLOPT_SSL_OPTIONS | Set SSL behavior options, which is a bitmask of any of the following constants: CURLSSLOPT_ALLOW_BEAST: do not attempt to use any workarounds for a security flaw in the SSL3 and TLS1.0 protocols. CURLSSLOPT_NO_REVOKE: disable certificate revocation checks for those SSL backends where such behavior is present. | Added in cURL 7.25.0. Available since PHP 7.0.7.
CURLOPT_SSL_VERIFYHOST | 1 to check the existence of a common name in the SSL peer certificate. 2 to check the existence of a common name and also verify that it matches the hostname provided. 0 to not check the names. In production environments the value of this option should be kept at 2 (default value). | Support for value 1 removed in cURL 7.28.1.
CURLOPT_SSLVERSION One of CURL_SSLVERSION_DEFAULT (0), CURL_SSLVERSION_TLSv1 (1), CURL_SSLVERSION_SSLv2 (2), CURL_SSLVERSION_SSLv3 (3), CURL_SSLVERSION_TLSv1_0 (4), CURL_SSLVERSION_TLSv1_1 (5) or CURL_SSLVERSION_TLSv1_2 (6). The maximum TLS version can be set by using one of the CURL_SSLVERSION_MAX_* constants. It is also possible to OR one of the CURL_SSLVERSION_* constants with one of the CURL_SSLVERSION_MAX_* constants. CURL_SSLVERSION_MAX_DEFAULT (the maximum version supported by the library), CURL_SSLVERSION_MAX_TLSv1_0, CURL_SSLVERSION_MAX_TLSv1_1, CURL_SSLVERSION_MAX_TLSv1_2, or CURL_SSLVERSION_MAX_TLSv1_3.

Nota:

Your best bet is to not set this and let it use the default. Setting it to 2 or 3 is very dangerous given the known vulnerabilities in SSLv2 and SSLv3.

CURLOPT_PROXY_SSL_OPTIONS | Set proxy SSL behavior options, which is a bitmask of any of the following constants: CURLSSLOPT_ALLOW_BEAST: do not attempt to use any workarounds for a security flaw in the SSL3 and TLS1.0 protocols. CURLSSLOPT_NO_REVOKE: disable certificate revocation checks for those SSL backends where such behavior is present. (curl >= 7.44.0) CURLSSLOPT_NO_PARTIALCHAIN: do not accept "partial" certificate chains, which it otherwise does by default. (curl >= 7.68.0) | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY_SSL_VERIFYHOST | Set to 2 to verify in the HTTPS proxy's certificate name fields against the proxy name. When set to 0 the connection succeeds regardless of the names used in the certificate. Use that ability with caution! 1 treated as a debug option in curl 7.28.0 and earlier. From curl 7.28.1 to 7.65.3 CURLE_BAD_FUNCTION_ARGUMENT is returned. From curl 7.66.0 onwards 1 and 2 is treated as the same value. In production environments the value of this option should be kept at 2 (default value). | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY_SSLVERSION One of CURL_SSLVERSION_DEFAULT, CURL_SSLVERSION_TLSv1, CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1, CURL_SSLVERSION_TLSv1_2, CURL_SSLVERSION_TLSv1_3, CURL_SSLVERSION_MAX_DEFAULT, CURL_SSLVERSION_MAX_TLSv1_0, CURL_SSLVERSION_MAX_TLSv1_1, CURL_SSLVERSION_MAX_TLSv1_2, CURL_SSLVERSION_MAX_TLSv1_3 or CURL_SSLVERSION_SSLv3.

Nota:

Your best bet is to not set this and let it use the default CURL_SSLVERSION_DEFAULT which will attempt to figure out the remote SSL protocol version.

Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_STREAM_WEIGHT | Set the numerical stream weight (a number between 1 and 256). | Added in cURL 7.46.0. Available since PHP 7.0.7.
CURLOPT_TCP_KEEPALIVE | If set to 1, TCP keepalive probes will be sent. The delay and frequency of these probes can be controlled by the CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL options, provided the operating system supports them. If set to 0 (default) keepalive probes are disabled. | Added in cURL 7.25.0. Available since PHP 5.5.0.
CURLOPT_TCP_KEEPIDLE | Sets the delay, in seconds, that the operating system will wait while the connection is idle before sending keepalive probes, if CURLOPT_TCP_KEEPALIVE is enabled. Not all operating systems support this option. The default is 60. | Added in cURL 7.25.0. Available since PHP 5.5.0.
CURLOPT_TCP_KEEPINTVL | Sets the interval, in seconds, that the operating system will wait between sending keepalive probes, if CURLOPT_TCP_KEEPALIVE is enabled. Not all operating systems support this option. The default is 60. | Added in cURL 7.25.0. Available since PHP 5.5.0.
CURLOPT_TIMECONDITION | How CURLOPT_TIMEVALUE is treated. Use CURL_TIMECOND_IFMODSINCE to return the page only if it has been modified since the time specified in CURLOPT_TIMEVALUE. If it hasn't been modified, a "304 Not Modified" header will be returned assuming CURLOPT_HEADER is true. Use CURL_TIMECOND_IFUNMODSINCE for the reverse effect. CURL_TIMECOND_IFMODSINCE is the default.
CURLOPT_TIMEOUT | The maximum number of seconds to allow cURL functions to execute.
CURLOPT_TIMEOUT_MS | The maximum number of milliseconds to allow cURL functions to execute. If libcurl is built to use the standard system name resolver, that portion of the connect will still use full-second resolution for timeouts with a minimum timeout allowed of one second. | Added in cURL 7.16.2. Available since PHP 5.2.3.
CURLOPT_TIMEVALUE | The time in seconds since January 1st, 1970. The time will be used by CURLOPT_TIMECONDITION. By default, CURL_TIMECOND_IFMODSINCE is used.
CURLOPT_TIMEVALUE_LARGE | The time in seconds since January 1st, 1970. The time will be used by CURLOPT_TIMECONDITION. Defaults to zero. The difference between this option and CURLOPT_TIMEVALUE is the type of the argument. On systems where 'long' is only 32 bit wide, this option has to be used to set dates beyond the year 2038. | Added in cURL 7.59.0. Available since PHP 7.3.0.
CURLOPT_MAX_RECV_SPEED_LARGE | If a download exceeds this speed (counted in bytes per second) on cumulative average during the transfer, the transfer will pause to keep the average rate less than or equal to the parameter value. Defaults to unlimited speed. | Added in cURL 7.15.5. Available since PHP 5.4.0.
CURLOPT_MAX_SEND_SPEED_LARGE | If an upload exceeds this speed (counted in bytes per second) on cumulative average during the transfer, the transfer will pause to keep the average rate less than or equal to the parameter value. Defaults to unlimited speed. | Added in cURL 7.15.5. Available since PHP 5.4.0.
CURLOPT_SSH_AUTH_TYPES | A bitmask consisting of one or more of CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD. Set to CURLSSH_AUTH_ANY to let libcurl pick one. | Added in cURL 7.16.1.
CURLOPT_IPRESOLVE | Allows an application to select what kind of IP addresses to use when resolving host names. This is only interesting when using host names that resolve addresses using more than one version of IP, possible values are CURL_IPRESOLVE_WHATEVER, CURL_IPRESOLVE_V4, CURL_IPRESOLVE_V6, by default CURL_IPRESOLVE_WHATEVER. | Added in cURL 7.10.8.
CURLOPT_FTP_FILEMETHOD | Tell curl which method to use to reach a file on a FTP(S) server. Possible values are CURLFTPMETHOD_MULTICWD, CURLFTPMETHOD_NOCWD and CURLFTPMETHOD_SINGLECWD. | Added in cURL 7.15.1. Available since PHP 5.3.0.

value should be a string for the following values of the option parameter:

Option | Set value to | Notes
CURLOPT_ABSTRACT_UNIX_SOCKET | Enables the use of an abstract Unix domain socket instead of establishing a TCP connection to a host and sets the path to the given string. This option shares the same semantics as CURLOPT_UNIX_SOCKET_PATH. These two options share the same storage and therefore only one of them can be set per handle. | Available since PHP 7.3.0 and cURL 7.53.0
CURLOPT_CAINFO | The name of a file holding one or more certificates to verify the peer with. This only makes sense when used in combination with CURLOPT_SSL_VERIFYPEER. | Might require an absolute path.
CURLOPT_CAPATH | A directory that holds multiple CA certificates. Use this option alongside CURLOPT_SSL_VERIFYPEER.
CURLOPT_COOKIE | The contents of the "Cookie: " header to be used in the HTTP request. Note that multiple cookies are separated with a semicolon followed by a space (e.g., "fruit=apple; colour=red")
CURLOPT_COOKIEFILE | The name of the file containing the cookie data. The cookie file can be in Netscape format, or just plain HTTP-style headers dumped into a file. If the name is an empty string, no cookies are loaded, but cookie handling is still enabled.
CURLOPT_COOKIEJAR | The name of a file to save all internal cookies to when the handle is closed, e.g. after a call to curl_close.
CURLOPT_COOKIELIST | A cookie string (i.e. a single line in Netscape/Mozilla format, or a regular HTTP-style Set-Cookie header) adds that single cookie to the internal cookie store. "ALL" erases all cookies held in memory. "SESS" erases all session cookies held in memory. "FLUSH" writes all known cookies to the file specified by CURLOPT_COOKIEJAR. "RELOAD" loads all cookies from the files specified by CURLOPT_COOKIEFILE. | Available since PHP 5.5.0 and cURL 7.14.1.
CURLOPT_CUSTOMREQUEST

A custom request method to use instead of "GET" or "HEAD" when doing a HTTP request. This is useful for doing "DELETE" or other, more obscure HTTP requests. Valid values are things like "GET", "POST", "CONNECT" and so on; i.e. Do not enter a whole HTTP request line here. For instance, entering "GET /index.html HTTP/1.0\r\n\r\n" would be incorrect.

Nota:

Don't do this without making sure the server supports the custom request method first.

CURLOPT_DEFAULT_PROTOCOL

The default protocol to use if the URL is missing a scheme name.

Added in cURL 7.45.0. Available since PHP 7.0.7.
CURLOPT_DNS_INTERFACE

Set the name of the network interface that the DNS resolver should bind to. This must be an interface name (not an address).

Added in cURL 7.33.0. Available since PHP 7.0.7.
CURLOPT_DNS_LOCAL_IP4

Set the local IPv4 address that the resolver should bind to. The argument should contain a single numerical IPv4 address as a string.

Added in cURL 7.33.0. Available since PHP 7.0.7.
CURLOPT_DNS_LOCAL_IP6

Set the local IPv6 address that the resolver should bind to. The argument should contain a single numerical IPv6 address as a string.

Added in cURL 7.33.0. Available since PHP 7.0.7.
CURLOPT_EGDSOCKET | Like CURLOPT_RANDOM_FILE, except a filename to an Entropy Gathering Daemon socket.
CURLOPT_ENCODING | The contents of the "Accept-Encoding: " header. This enables decoding of the response. Supported encodings are "identity", "deflate", and "gzip". If an empty string, "", is set, a header containing all supported encoding types is sent. | Added in cURL 7.10.
CURLOPT_FTPPORT | The value which will be used to get the IP address to use for the FTP "PORT" instruction. The "PORT" instruction tells the remote server to connect to our specified IP address. The string may be a plain IP address, a hostname, a network interface name (under Unix), or just a plain '-' to use the systems default IP address.
CURLOPT_INTERFACE | The name of the outgoing network interface to use. This can be an interface name, an IP address or a host name.
CURLOPT_KEYPASSWD | The password required to use the CURLOPT_SSLKEY or CURLOPT_SSH_PRIVATE_KEYFILE private key. | Added in cURL 7.16.1.
CURLOPT_KRB4LEVEL | The KRB4 (Kerberos 4) security level. Any of the following values (in order from least to most powerful) are valid: "clear", "safe", "confidential", "private".. If the string does not match one of these, "private" is used. Setting this option to null will disable KRB4 security. Currently KRB4 security only works with FTP transactions.
CURLOPT_LOGIN_OPTIONS | Can be used to set protocol specific login options, such as the preferred authentication mechanism via "AUTH=NTLM" or "AUTH=*", and should be used in conjunction with the CURLOPT_USERNAME option. | Added in cURL 7.34.0. Available since PHP 7.0.7.
CURLOPT_PINNEDPUBLICKEY | Set the pinned public key. The string can be the file name of your pinned public key. The file format expected is "PEM" or "DER". The string can also be any number of base64 encoded sha256 hashes preceded by "sha256//" and separated by ";". | Added in cURL 7.39.0. Available since PHP 7.0.7.
CURLOPT_POSTFIELDS | The full data to post in a HTTP "POST" operation. This parameter can either be passed as a urlencoded string like 'para1=val1&para2=val2&...' or as an array with the field name as key and field data as value. If value is an array, the Content-Type header will be set to multipart/form-data. Files can be sent using CURLFile, in which case value must be an array.
CURLOPT_PRIVATE | Any data that should be associated with this cURL handle. This data can subsequently be retrieved with the CURLINFO_PRIVATE option of curl_getinfo(). cURL does nothing with this data. When using a cURL multi handle, this private data is typically a unique key to identify a standard cURL handle. | Added in cURL 7.10.3.
CURLOPT_PRE_PROXY | Set a string holding the host name or dotted numerical IP address to be used as the preproxy that curl connects to before it connects to the HTTP(S) proxy specified in the CURLOPT_PROXY option for the upcoming request. The preproxy can only be a SOCKS proxy and it should be prefixed with [scheme]:// to specify which kind of socks is used. A numerical IPv6 address must be written within [brackets]. Setting the preproxy to an empty string explicitly disables the use of a preproxy. To specify port number in this string, append :[port] to the end of the host name. The proxy's port number may optionally be specified with the separate option CURLOPT_PROXYPORT. Defaults to using port 1080 for proxies if a port is not specified. | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY | The HTTP proxy to tunnel requests through.
CURLOPT_PROXY_SERVICE_NAME | The proxy authentication service name. | Added in cURL 7.34.0. Available since PHP 7.0.7.
CURLOPT_PROXY_CAINFO | The path to proxy Certificate Authority (CA) bundle. Set the path as a string naming a file holding one or more certificates to verify the HTTPS proxy with. This option is for connecting to an HTTPS proxy, not an HTTPS server. Defaults set to the system path where libcurl's cacert bundle is assumed to be stored. | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY_CAPATH | The directory holding multiple CA certificates to verify the HTTPS proxy with. | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY_CRLFILE | Set the file name with the concatenation of CRL (Certificate Revocation List) in PEM format to use in the certificate validation that occurs during the SSL exchange. | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY_KEYPASSWD | Set the string be used as the password required to use the CURLOPT_PROXY_SSLKEY private key. You never needed a passphrase to load a certificate but you need one to load your private key. This option is for connecting to an HTTPS proxy, not an HTTPS server. | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY_PINNEDPUBLICKEY | Set the pinned public key for HTTPS proxy. The string can be the file name of your pinned public key. The file format expected is "PEM" or "DER". The string can also be any number of base64 encoded sha256 hashes preceded by "sha256//" and separated by ";" | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY_SSLCERT | The file name of your client certificate used to connect to the HTTPS proxy. The default format is "P12" on Secure Transport and "PEM" on other engines, and can be changed with CURLOPT_PROXY_SSLCERTTYPE. With NSS or Secure Transport, this can also be the nickname of the certificate you wish to authenticate with as it is named in the security database. If you want to use a file from the current directory, please precede it with "./" prefix, in order to avoid confusion with a nickname. | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY_SSLCERTTYPE | The format of your client certificate used when connecting to an HTTPS proxy. Supported formats are "PEM" and "DER", except with Secure Transport. OpenSSL (versions 0.9.3 and later) and Secure Transport (on iOS 5 or later, or OS X 10.7 or later) also support "P12" for PKCS#12-encoded files. Defaults to "PEM". | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY_SSL_CIPHER_LIST | The list of ciphers to use for the connection to the HTTPS proxy. The list must be syntactically correct, it consists of one or more cipher strings separated by colons. Commas or spaces are also acceptable separators but colons are normally used, !, - and + can be used as operators. | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY_TLS13_CIPHERS | The list of cipher suites to use for the TLS 1.3 connection to a proxy. The list must be syntactically correct, it consists of one or more cipher suite strings separated by colons. This option is currently used only when curl is built to use OpenSSL 1.1.1 or later. If you are using a different SSL backend you can try setting TLS 1.3 cipher suites by using the CURLOPT_PROXY_SSL_CIPHER_LIST option. | Available since PHP 7.3.0 and libcurl >= cURL 7.61.0. Available when built with OpenSSL >= 1.1.1.
CURLOPT_PROXY_SSLKEY | The file name of your private key used for connecting to the HTTPS proxy. The default format is "PEM" and can be changed with CURLOPT_PROXY_SSLKEYTYPE. (iOS and Mac OS X only) This option is ignored if curl was built against Secure Transport. | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0. Available if built TLS enabled.
CURLOPT_PROXY_SSLKEYTYPE | The format of your private key. Supported formats are "PEM", "DER" and "ENG". | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY_TLSAUTH_PASSWORD | The password to use for the TLS authentication method specified with the CURLOPT_PROXY_TLSAUTH_TYPE option. Requires that the CURLOPT_PROXY_TLSAUTH_USERNAME option to also be set. | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY_TLSAUTH_TYPE The method of the TLS authentication used for the HTTPS connection. Supported method is "SRP".

Nota:

Secure Remote Password (SRP) authentication for TLS provides mutual authentication if both sides have a shared secret. To use TLS-SRP, you must also set the CURLOPT_PROXY_TLSAUTH_USERNAME and CURLOPT_PROXY_TLSAUTH_PASSWORD options.

Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXY_TLSAUTH_USERNAME | Tusername to use for the HTTPS proxy TLS authentication method specified with the CURLOPT_PROXY_TLSAUTH_TYPE option. Requires that the CURLOPT_PROXY_TLSAUTH_PASSWORD option to also be set. | Available since PHP 7.3.0 and libcurl >= cURL 7.52.0.
CURLOPT_PROXYUSERPWD | A username and password formatted as "[username]:[password]" to use for the connection to the proxy.
CURLOPT_RANDOM_FILE | A filename to be used to seed the random number generator for SSL.
CURLOPT_RANGE | Range(s) of data to retrieve in the format "X-Y" where X or Y are optional. HTTP transfers also support several intervals, separated with commas in the format "X-Y,N-M".
CURLOPT_REFERER | The contents of the "Referer: " header to be used in a HTTP request.
CURLOPT_SERVICE_NAME | The authentication service name. | Added in cURL 7.43.0. Available since PHP 7.0.7.
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 | A string containing 32 hexadecimal digits. The string should be the MD5 checksum of the remote host's public key, and libcurl will reject the connection to the host unless the md5sums match. This option is only for SCP and SFTP transfers. | Added in cURL 7.17.1.
CURLOPT_SSH_PUBLIC_KEYFILE | The file name for your public key. If not used, libcurl defaults to $HOME/.ssh/id_dsa.pub if the HOME environment variable is set, and just "id_dsa.pub" in the current directory if HOME is not set. | Added in cURL 7.16.1.
CURLOPT_SSH_PRIVATE_KEYFILE | The file name for your private key. If not used, libcurl defaults to $HOME/.ssh/id_dsa if the HOME environment variable is set, and just "id_dsa" in the current directory if HOME is not set. If the file is password-protected, set the password with CURLOPT_KEYPASSWD. | Added in cURL 7.16.1.
CURLOPT_SSL_CIPHER_LIST | A list of ciphers to use for SSL. For example, RC4-SHA and TLSv1 are valid cipher lists.
CURLOPT_SSLCERT | The name of a file containing a PEM formatted certificate.
CURLOPT_SSLCERTPASSWD | The password required to use the CURLOPT_SSLCERT certificate.
CURLOPT_SSLCERTTYPE | The format of the certificate. Supported formats are "PEM" (default), "DER", and "ENG". As of OpenSSL 0.9.3, "P12" (for PKCS#12-encoded files) is also supported. | Added in cURL 7.9.3.
CURLOPT_SSLENGINE | The identifier for the crypto engine of the private SSL key specified in CURLOPT_SSLKEY.
CURLOPT_SSLENGINE_DEFAULT | The identifier for the crypto engine used for asymmetric crypto operations.
CURLOPT_SSLKEY | The name of a file containing a private SSL key.
CURLOPT_SSLKEYPASSWD

The secret password needed to use the private SSL key specified in CURLOPT_SSLKEY.

Nota:

Since this option contains a sensitive password, remember to keep the PHP script it is contained within safe.

CURLOPT_SSLKEYTYPE | The key type of the private SSL key specified in CURLOPT_SSLKEY. Supported key types are "PEM" (default), "DER", and "ENG".
CURLOPT_TLS13_CIPHERS | The list of cipher suites to use for the TLS 1.3 connection. The list must be syntactically correct, it consists of one or more cipher suite strings separated by colons. This option is currently used only when curl is built to use OpenSSL 1.1.1 or later. If you are using a different SSL backend you can try setting TLS 1.3 cipher suites by using the CURLOPT_SSL_CIPHER_LIST option. | Available since PHP 7.3.0 and libcurl >= cURL 7.61.0. Available when built with OpenSSL >= 1.1.1.
CURLOPT_UNIX_SOCKET_PATH | Enables the use of Unix domain sockets as connection endpoint and sets the path to the given string. | Added in cURL 7.40.0. Available since PHP 7.0.7.
CURLOPT_URL | The URL to fetch. This can also be set when initializing a session with curl_init().
CURLOPT_USERAGENT | The contents of the "User-Agent: " header to be used in a HTTP request.
CURLOPT_USERNAME | The user name to use in authentication. | Added in cURL 7.19.1. Available since PHP 5.5.0.
CURLOPT_USERPWD | A username and password formatted as "[username]:[password]" to use for the connection.
CURLOPT_XOAUTH2_BEARER | Specifies the OAuth 2.0 access token. | Added in cURL 7.33.0. Available since PHP 7.0.7.

value should be an array for the following values of the option parameter:

Option | Set value to | Notes
CURLOPT_CONNECT_TO | Connect to a specific host and port instead of the URL's host and port. Accepts an array of strings with the format HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT. | Added in cURL 7.49.0. Available since PHP 7.0.7.
CURLOPT_HTTP200ALIASES | An array of HTTP 200 responses that will be treated as valid responses and not as errors. | Added in cURL 7.10.3.
CURLOPT_HTTPHEADER | An array of HTTP header fields to set, in the format array('Content-type: text/plain', 'Content-length: 100')
CURLOPT_POSTQUOTE | An array of FTP commands to execute on the server after the FTP request has been performed.
CURLOPT_PROXYHEADER | An array of custom HTTP headers to pass to proxies. | Added in cURL 7.37.0. Available since PHP 7.0.7.
CURLOPT_QUOTE | An array of FTP commands to execute on the server prior to the FTP request.
CURLOPT_RESOLVE | Provide a custom address for a specific host and port pair. An array of hostname, port, and IP address strings, each element separated by a colon. In the format: array("example.com:80:127.0.0.1") | Added in cURL 7.21.3. Available since PHP 5.5.0.

value should be a stream resource (using fopen(), for example) for the following values of the option parameter:

Option | Set value to
CURLOPT_FILE | The file that the transfer should be written to. The default is STDOUT (the browser window).
CURLOPT_INFILE | The file that the transfer should be read from when uploading.
CURLOPT_STDERR | An alternative location to output errors to instead of STDERR.
CURLOPT_WRITEHEADER | The file that the header part of the transfer is written to.

value should be the name of a valid function or a Closure for the following values of the option parameter:

Option | Set value to
CURLOPT_HEADERFUNCTION | A callback accepting two parameters. The first is the cURL resource, the second is a string with the header data to be written. The header data must be written by this callback. Return the number of bytes written.
CURLOPT_PASSWDFUNCTION | A callback accepting three parameters. The first is the cURL resource, the second is a string containing a password prompt, and the third is the maximum password length. Return the string containing the password.
CURLOPT_PROGRESSFUNCTION

A callback accepting five parameters. The first is the cURL resource, the second is the total number of bytes expected to be downloaded in this transfer, the third is the number of bytes downloaded so far, the fourth is the total number of bytes expected to be uploaded in this transfer, and the fifth is the number of bytes uploaded so far.

Nota:

The callback is only called when the CURLOPT_NOPROGRESS option is set to false.

Return a non-zero value to abort the transfer. In which case, the transfer will set a CURLE_ABORTED_BY_CALLBACK error.

CURLOPT_READFUNCTION | A callback accepting three parameters. The first is the cURL resource, the second is a stream resource provided to cURL through the option CURLOPT_INFILE, and the third is the maximum amount of data to be read. The callback must return a string with a length equal or smaller than the amount of data requested, typically by reading it from the passed stream resource. It should return an empty string to signal EOF.
CURLOPT_WRITEFUNCTION | A callback accepting two parameters. The first is the cURL resource, and the second is a string with the data to be written. The data must be saved by this callback. It must return the exact number of bytes written or the transfer will be aborted with an error.

Other values:

Option | Set value to
CURLOPT_SHARE | A result of curl_share_init(). Makes the cURL handle to use the data from the shared handle.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | handle expects a CurlHandle instance now; previously, a resource was expected.
7.3.15, 7.4.3 | Introduced CURLOPT_HTTP09_ALLOWED .
7.3.0 | Introduced CURLOPT_ABSTRACT_UNIX_SOCKET, CURLOPT_KEEP_SENDING_ON_ERROR, CURLOPT_PRE_PROXY, CURLOPT_PROXY_CAINFO, CURLOPT_PROXY_CAPATH, CURLOPT_PROXY_CRLFILE, CURLOPT_PROXY_KEYPASSWD, CURLOPT_PROXY_PINNEDPUBLICKEY, CURLOPT_PROXY_SSLCERT, CURLOPT_PROXY_SSLCERTTYPE, CURLOPT_PROXY_SSL_CIPHER_LIST, CURLOPT_PROXY_SSLKEY, CURLOPT_PROXY_SSLKEYTYPE, CURLOPT_PROXY_SSL_OPTIONS, CURLOPT_PROXY_SSL_VERIFYHOST, CURLOPT_PROXY_SSL_VERIFYPEER, CURLOPT_PROXY_SSLVERSION, CURLOPT_PROXY_TLSAUTH_PASSWORD, CURLOPT_PROXY_TLSAUTH_TYPE, CURLOPT_PROXY_TLSAUTH_USERNAME, CURLOPT_SOCKS5_AUTH, CURLOPT_SUPPRESS_CONNECT_HEADERS, CURLOPT_DISALLOW_USERNAME_IN_URL, CURLOPT_DNS_SHUFFLE_ADDRESSES, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CURLOPT_HAPROXYPROTOCOL, CURLOPT_PROXY_TLS13_CIPHERS, CURLOPT_SSH_COMPRESSION, CURLOPT_TIMEVALUE_LARGE and CURLOPT_TLS13_CIPHERS.
7.0.7 | Introduced CURL_HTTP_VERSION_2, CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, CURL_HTTP_VERSION_2TLS, CURL_REDIR_POST_301, CURL_REDIR_POST_302, CURL_REDIR_POST_303, CURL_REDIR_POST_ALL, CURL_VERSION_KERBEROS5, CURL_VERSION_PSL, CURL_VERSION_UNIX_SOCKETS, CURLAUTH_NEGOTIATE, CURLAUTH_NTLM_WB, CURLFTP_CREATE_DIR, CURLFTP_CREATE_DIR_NONE, CURLFTP_CREATE_DIR_RETRY, CURLHEADER_SEPARATE, CURLHEADER_UNIFIED, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH, CURLMOPT_MAX_TOTAL_CONNECTIONS, CURLOPT_CONNECT_TO, CURLOPT_DEFAULT_PROTOCOL, CURLOPT_DNS_INTERFACE, CURLOPT_DNS_LOCAL_IP4, CURLOPT_DNS_LOCAL_IP6, CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOPT_HEADEROPT, CURLOPT_LOGIN_OPTIONS, CURLOPT_PATH_AS_IS, CURLOPT_PINNEDPUBLICKEY, CURLOPT_PIPEWAIT, CURLOPT_PROXY_SERVICE_NAME, CURLOPT_PROXYHEADER, CURLOPT_SASL_IR, CURLOPT_SERVICE_NAME, CURLOPT_SSL_ENABLE_ALPN, CURLOPT_SSL_ENABLE_NPN, CURLOPT_SSL_FALSESTART, CURLOPT_SSL_VERIFYSTATUS, CURLOPT_STREAM_WEIGHT, CURLOPT_TCP_FASTOPEN, CURLOPT_TFTP_NO_OPTIONS, CURLOPT_UNIX_SOCKET_PATH, CURLOPT_XOAUTH2_BEARER, CURLPROTO_SMB, CURLPROTO_SMBS, CURLPROXY_HTTP_1_0, CURLSSH_AUTH_AGENT and CURLSSLOPT_NO_REVOKE.

Exemplos

Exemplo #1 Initializing a new cURL session and fetching a web page

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

Notas

Nota:

Passing an array to CURLOPT_POSTFIELDS will encode the data as multipart/form-data, while passing a URL-encoded string will encode the data as application/x-www-form-urlencoded.

Veja Também

  • curl_setopt_array() - Set multiple options for a cURL transfer


Fecha um controlador de compartilhamento de cURL

  • « curl_setopt
  • curl_share_errno »
  • PHP Manual
  • Funções cURL
  • Fecha um controlador de compartilhamento de cURL

curl_share_close

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_share_close — Fecha um controlador de compartilhamento de cURL

Descrição

curl_share_close ( resource $sh ) : void

Fecha um controlador de compartilhamento de cURL e libera todos os recursos.

Parâmetros

sh

Um controlador de compartilhamento de cURL retornado por curl_share_init()

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Exemplo de curl_share_setopt()

Este exemplo irá criar um controlador de compartilhamento de cURL, adicionar dois controladores cURL nele, e então executá-los com o compartilhamento de cookies.

<?php
// Cria o controlador de compartilhamento de cURL e configura-o para compartilhar os cookies
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// Inicializa o primeiro controlador cURL e atribui o controlador de compartilhamento à ele
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// Executa o primeiro controlador cURL
curl_exec($ch1);

// Inicializa o segundo controlador cURL e atribui o controlador de compartilhamento à ele
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// Executa o segundo controlador cURL
//  todos os cookies do controlador $ch1 são compartilhados com o controlador $ch2
curl_exec($ch2);

// Fecha o controlador de compartilhamento de cURL
curl_share_close($sh);

// Fecha os controladores cURL
curl_close($ch1);
curl_close($ch2);
?>

Veja Também

  • curl_share_init() - Inicializa um controlador de compartilhamento de cURL


Return the last share curl error number

  • « curl_share_close
  • curl_share_init »
  • PHP Manual
  • Funções cURL
  • Return the last share curl error number

curl_share_errno

(PHP 7 >= 7.1.0, PHP 8)

curl_share_errno — Return the last share curl error number

Descrição

curl_share_errno ( CurlShareHandle $share_handle ) : int

Return an integer containing the last share curl error number.

Parâmetros

share_handle

A cURL share handle returned by curl_share_init().

Valor Retornado

Returns an integer containing the last share curl error number, ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | The function no longer returns false on failure.
8.0.0 | share_handle expects a CurlShareHandle instance now; previously, a resource was expected.

Veja Também

  • curl_errno() - Retorna o número do último erro


Inicializa um controlador de compartilhamento de cURL

  • « curl_share_errno
  • curl_share_setopt »
  • PHP Manual
  • Funções cURL
  • Inicializa um controlador de compartilhamento de cURL

curl_share_init

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_share_init — Inicializa um controlador de compartilhamento de cURL

Descrição

curl_share_init ( ) : resource

Permite compartilhar dados entre controladores de cURL.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um resource do tipo "Controlador de Compartilhamento de cURL" ("cURL Share Handle").

Exemplos

Exemplo #1 Exemplo de curl_share_init()

Este exemplo irá criar um controlador de compartilhamento de cURL, adicionar dois controladores cURL nele, e então executá-los com o compartilhamento de cookies.

<?php
// Cria o controlador de compartilhamento de cURL e configura-o para compartilhar os cookies
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// Inicializa o primeiro controlador cURL e atribui o controlador de compartilhamento à ele
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// Executa o primeiro controlador cURL
curl_exec($ch1);

// Inicializa o segundo controlador cURL e atribui o controlador de compartilhamento à ele
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// Executa o segundo controlador cURL
//  todos os cookies do controlador $ch1 são compartilhados com o controlador $ch2
curl_exec($ch2);

// Fecha o controlador de compartilhamento de cURL
curl_share_close($sh);

// Fecha os controladores cURL
curl_close($ch1);
curl_close($ch2);
?>

Veja Também

  • curl_share_setopt() - Configura uma opção para um controlador de compartilhamento de cURL.
  • curl_share_close() - Fecha um controlador de compartilhamento de cURL


Configura uma opção para um controlador de compartilhamento de cURL.

  • « curl_share_init
  • curl_share_strerror »
  • PHP Manual
  • Funções cURL
  • Configura uma opção para um controlador de compartilhamento de cURL.

curl_share_setopt

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_share_setopt — Configura uma opção para um controlador de compartilhamento de cURL.

Descrição

curl_share_setopt ( resource $sh , int $option , string $value ) : bool

Configura uma opção no controlador de compartilhamento de cURL informado.

Parâmetros

sh

Um controlador de compartilhamento de cURL retornado por curl_share_init().

option

Opção | Descrição
CURLSHOPT_SHARE | Especifica um tipo de dado que deve ser compartilhado.
CURLSHOPT_UNSHARE | Especifica um tipo de dado que não será mais compartilhado.

value

Valor | Descrição
CURL_LOCK_DATA_COOKIE | Compartilha dados de cookies.
CURL_LOCK_DATA_DNS | Compartilha o cache de DNS. Note que quando for utilizado multi controladores cURL, todos os controladores adicionados ao mesmo multi controlador irão compartilhar o cache de DNS por padrão.
CURL_LOCK_DATA_SSL_SESSION | Compartilha IDs de sessão SSL, reduzindo o tempo gasto no manuseio da conexão SSL ao reconectar no mesmo servidor. Note que IDs de sessão SSL são reusados no mesmo controlador por padrão.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de curl_share_setopt()

Este exemplo irá criar um controlador de compartilhamento de cURL, adicionar dois controladores cURL nele, e então executá-los com o compartilhamento de cookies.

<?php
// Cria o controlador de compartilhamento de cURL e configura-o para compartilhar os cookies
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// Inicializa o primeiro controlador cURL e atribui o controlador de compartilhamento à ele
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// Executa o primeiro controlador cURL
curl_exec($ch1);

// Inicializa o segundo controlador cURL e atribui o controlador de compartilhamento à ele
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// Executa o segundo controlador cURL
//  todos os cookies do controlador $ch1 são compartilhados com o controlador $ch2
curl_exec($ch2);

// Fecha o controlador de compartilhamento de cURL
curl_share_close($sh);

// Fecha os controladores cURL
curl_close($ch1);
curl_close($ch2);
?>


Return string describing the given error code

  • « curl_share_setopt
  • curl_strerror »
  • PHP Manual
  • Funções cURL
  • Return string describing the given error code

curl_share_strerror

(PHP 7 >= 7.1.0, PHP 8)

curl_share_strerror — Return string describing the given error code

Descrição

curl_share_strerror ( int $error_code ) : string|null

Returns a text error message describing the given error code.

Parâmetros

error_code

One of the » cURL error codes constants.

Valor Retornado

Returns error description or null for invalid error code.

Veja Também

  • curl_share_errno() - Return the last share curl error number
  • curl_strerror() - Retorna uma string que descreve o código de erro informado


Retorna uma string que descreve o código de erro informado

  • « curl_share_strerror
  • curl_unescape »
  • PHP Manual
  • Funções cURL
  • Retorna uma string que descreve o código de erro informado

curl_strerror

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_strerror — Retorna uma string que descreve o código de erro informado

Descrição

curl_strerror ( int $errornum ) : string

Retorna um texto descrevendo o código de erro informado como parâmetro.

Parâmetros

errornum

Uma das constantes de » códigos de erros do cURL.

Valor Retornado

Retorna a descrição do erro ou null se o código de erro é inválido.

Exemplos

Exemplo #1 curl_errno() example

<?php
// Cria um manipulador curl com um protocolo escrito de forma incorreta na URL
$ch = curl_init("htp://example.com/");

// Envia a requisição
curl_exec($ch);

// Verifica se houve erros e exibe a mensagem de erro
if($errno = curl_errno($ch)) {
    $error_message = curl_strerror($errno);
    echo "cURL error ({$errno}):\n {$error_message}";
}

// Fecha o manipulador
curl_close($ch);
?>

O exemplo acima irá imprimir:

cURL error (1):
 Unsupported protocol

Veja Também

  • curl_errno() - Retorna o número do último erro
  • curl_error() - Return a string containing the last error for the current session
  • » Códigos de erros do cURL


Decodifica a parte codificada da URL fornecida

  • « curl_strerror
  • curl_version »
  • PHP Manual
  • Funções cURL
  • Decodifica a parte codificada da URL fornecida

curl_unescape

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_unescape — Decodifica a parte codificada da URL fornecida

Descrição

curl_unescape ( resource $ch , string $str ) : string

Essa função decodifica a parte codificada da URL fornecida.

Parâmetros

ch

Um handle cURL retornado por curl_init().

str

A URL codificada a ser decodificada.

Valor Retornado

Retorna a string decodificada ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de curl_escape()

<?php
// Cria um manipulador curl
$ch = curl_init('http://example.com/redirect.php');

// Envia a requisição HTTP e segue os redirecionamentos
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_exec($ch);

// Captura a última URL
$effective_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
// ie. "http://example.com/show_location.php?loc=M%C3%BCnchen"

// Decodifica a URL
$effective_url_decoded = curl_unescape($ch, $effective_url);
// "http://example.com/show_location.php?loc=München"

// Fecha o manipulador
curl_close($ch);
?>

Notas

Nota:

curl_unescape() não decodifica os símbolos de mais (+) em espaços. Mas urldecode() faz isso.

Veja Também

  • curl_escape() - Codifica uma URL
  • urlencode() - Codifica uma URL
  • urldecode() - Decodifica uma URL codificada
  • rawurlencode() - Codifica uma URL de acordo com RFC 3986
  • rawurldecode() - Decodifica uma URL


Gets cURL version information

  • « curl_unescape
  • CURLFile »
  • PHP Manual
  • Funções cURL
  • Gets cURL version information

curl_version

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

curl_version — Gets cURL version information

Descrição

curl_version ( int $age = CURLVERSION_NOW ) : array

Returns information about the cURL version.

Parâmetros

age

Valor Retornado

Returns an associative array with the following elements:

Indice | Value description
version_number | cURL 24 bit version number
version | cURL version number, as a string
ssl_version_number | OpenSSL 24 bit version number
ssl_version | OpenSSL version number, as a string
libz_version | zlib version number, as a string
host | Information about the host where cURL was built
age |
features | A bitmask of the CURL_VERSION_XXX constants
protocols | An array of protocols names supported by cURL

Exemplos

Exemplo #1 curl_version() example

This example will check which features that's available in cURL build by using the 'features' bitmask returned by curl_version().

<?php
// Get curl version array
$version = curl_version();

// These are the bitfields that can be used
// to check for features in the curl build
$bitfields = Array(
            'CURL_VERSION_IPV6',
            'CURL_VERSION_KERBEROS4',
            'CURL_VERSION_SSL',
            'CURL_VERSION_LIBZ'
            );

foreach($bitfields as $feature)
{
    echo $feature . ($version['features'] & constant($feature) ? ' matches' : ' does not match');
    echo PHP_EOL;
}
?>


A classe CURLFile

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Introdução

CURLFile deve ser utilizada para fazer o upload de arquivos com CURLOPT_POSTFIELDS.

Sinopse da classe

CURLFile {
/* Propriedades */
public mixed $name ;
public mixed $mime ;
public mixed $postname ;
/* Métodos */
public __construct ( string $filename , string $mimetype = ? , string $postname = ? )
public getFilename ( ) : string
public getMimeType ( ) : string
public getPostFilename ( ) : string
public setMimeType ( string $mime ) : void
public setPostFilename ( string $postname ) : void
}

Propriedades

name

Nome do arquivo a ser feito o upload.

mime

MIME type do arquivo (o padrão é application/octet-stream).

postname

O nome do arquivo no campo de upload (o valor padrão é a propriedade name).

Veja Também

  • curl_setopt()

Índice

  • CURLFile::__construct — Criar um objeto CURLFile
  • CURLFile::getFilename — Obtém o nome do arquivo
  • CURLFile::getMimeType — Obtém o tipo de MIME
  • CURLFile::getPostFilename — Obtém o nome do arquivo utilizando o POST
  • CURLFile::setMimeType — Define o tipo de MIME
  • CURLFile::setPostFilename — Define o nome do arquivo para o POST


Criar um objeto CURLFile

  • « CURLFile
  • CURLFile::getFilename »
  • PHP Manual
  • CURLFile
  • Criar um objeto CURLFile

CURLFile::__construct

curl_file_create

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

CURLFile::__construct -- curl_file_create — Criar um objeto CURLFile

Descrição

Estilo orientado à objeto

public CURLFile::__construct ( string $filename , string $mimetype = ? , string $postname = ? )

Estilo procedural

curl_file_create ( string $filename , string $mimetype = ? , string $postname = ? ) : CURLFile

Cria um objeto CURLFile, usado para o upload de um arquivo CURLOPT_POSTFIELDS.

Parâmetros

filename

Caminho para onde arquivo que será enviado.

mimetype

O mimetype do arquivo.

postname

Nome do arquivo a ser usado nos dados de upload.

Valor Retornado

Retorna um objeto CURLFile.

Exemplos

Exemplo #1 CURLFile::__construct() example

Estilo orientado à objeto

<?php
/* http://example.com/upload.php:
<?php var_dump($_FILES); ?>
*/

// Cria um manipulador cURL
$ch = curl_init('http://example.com/upload.php');

// Cria um objeto CURLFile
$cfile = new CURLFile('cats.jpg','image/jpeg','test_name');

// Atribui dados ao POST
$data = array('test_file' => $cfile);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

// Executa o manipulador
curl_exec($ch);
?>

Estilo procedural

<?php
/* http://example.com/upload.php:
<?php var_dump($_FILES); ?>
*/

// Cria um manipulador cURL
$ch = curl_init('http://example.com/upload.php');

// Cria um objeto CURLFile
$cfile = curl_file_create('cats.jpg','image/jpeg','test_name');

// Atribui dados ao POST
$data = array('test_file' => $cfile);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

// Executa o manipulador
curl_exec($ch);
?>

O exemplo acima irá imprimir:

array(1) {
  ["test_file"]=>
  array(5) {
    ["name"]=>
    string(9) "test_name"
    ["type"]=>
    string(10) "image/jpeg"
    ["tmp_name"]=>
    string(14) "/tmp/phpPC9Kbx"
    ["error"]=>
    int(0)
    ["size"]=>
    int(46334)
  }
}

Veja Também

  • curl_setopt() - Set an option for a cURL transfer


Obtém o nome do arquivo

  • « CURLFile::__construct
  • CURLFile::getMimeType »
  • PHP Manual
  • CURLFile
  • Obtém o nome do arquivo

CURLFile::getFilename

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

CURLFile::getFilename — Obtém o nome do arquivo

Descrição

public CURLFile::getFilename ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o nome do arquivo.


Obtém o tipo de MIME

  • « CURLFile::getFilename
  • CURLFile::getPostFilename »
  • PHP Manual
  • CURLFile
  • Obtém o tipo de MIME

CURLFile::getMimeType

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

CURLFile::getMimeType — Obtém o tipo de MIME

Descrição

public CURLFile::getMimeType ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o tipo de MIME.


Obtém o nome do arquivo utilizando o POST

  • « CURLFile::getMimeType
  • CURLFile::setMimeType »
  • PHP Manual
  • CURLFile
  • Obtém o nome do arquivo utilizando o POST

CURLFile::getPostFilename

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

CURLFile::getPostFilename — Obtém o nome do arquivo utilizando o POST

Descrição

public CURLFile::getPostFilename ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o nome do arquivo utilizando o POST.


Define o tipo de MIME

  • « CURLFile::getPostFilename
  • CURLFile::setPostFilename »
  • PHP Manual
  • CURLFile
  • Define o tipo de MIME

CURLFile::setMimeType

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

CURLFile::setMimeType — Define o tipo de MIME

Descrição

public CURLFile::setMimeType ( string $mime ) : void

Parâmetros

mime

Tipo de MIME utilizado nos dados utilizando POST.

Valor Retornado

Não há valor retornado.


Define o nome do arquivo para o POST

  • « CURLFile::setMimeType
  • Event »
  • PHP Manual
  • CURLFile
  • Define o nome do arquivo para o POST

CURLFile::setPostFilename

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

CURLFile::setPostFilename — Define o nome do arquivo para o POST

Descrição

public CURLFile::setPostFilename ( string $postname ) : void

Parâmetros

postname

Nome do arquivo a ser utilizado no dados do POST.

Valor Retornado

Não há valor retornado.


Event

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Exemplos
  • Event flags
  • About event persistence
  • Event callbacks
  • Constructing signal events
  • Event — The Event class
    • Event::add — Makes event pending
    • Event::addSignal — Makes signal event pending
    • Event::addTimer — Makes timer event pending
    • Event::__construct — Constructs Event object
    • Event::del — Makes event non-pending
    • Event::delSignal — Makes signal event non-pending
    • Event::delTimer — Makes timer event non-pending
    • Event::free — Make event non-pending and free resources allocated for this event
    • Event::getSupportedMethods — Returns array with of the names of the methods supported in this version of Libevent
    • Event::pending — Detects whether event is pending or scheduled
    • Event::set — Re-configures event
    • Event::setPriority — Set event priority
    • Event::setTimer — Re-configures timer event
    • Event::signal — Constructs signal event object
    • Event::timer — Constructs timer event object
  • EventBase — The EventBase class
    • EventBase::__construct — Constructs EventBase object
    • EventBase::dispatch — Dispatch pending events
    • EventBase::exit — Stop dispatching events
    • EventBase::free — Free resources allocated for this event base
    • EventBase::getFeatures — Returns bitmask of features supported
    • EventBase::getMethod — Returns event method in use
    • EventBase::getTimeOfDayCached — Returns the current event base time
    • EventBase::gotExit — Checks if the event loop was told to exit
    • EventBase::gotStop — Checks if the event loop was told to exit
    • EventBase::loop — Dispatch pending events
    • EventBase::priorityInit — Sets number of priorities per event base
    • EventBase::reInit — Re-initialize event base(after a fork)
    • EventBase::stop — Tells event_base to stop dispatching events
  • EventBuffer — The EventBuffer class
    • EventBuffer::add — Append data to the end of an event buffer
    • EventBuffer::addBuffer — Move all data from a buffer provided to the current instance of EventBuffer
    • EventBuffer::appendFrom — Moves the specified number of bytes from a source buffer to the end of the current buffer
    • EventBuffer::__construct — Constructs EventBuffer object
    • EventBuffer::copyout — Copies out specified number of bytes from the front of the buffer
    • EventBuffer::drain — Removes specified number of bytes from the front of the buffer without copying it anywhere
    • EventBuffer::enableLocking — Descrição
    • EventBuffer::expand — Reserves space in buffer
    • EventBuffer::freeze — Prevent calls that modify an event buffer from succeeding
    • EventBuffer::lock — Acquires a lock on buffer
    • EventBuffer::prepend — Prepend data to the front of the buffer
    • EventBuffer::prependBuffer — Moves all data from source buffer to the front of current buffer
    • EventBuffer::pullup — Linearizes data within buffer and returns it's contents as a string
    • EventBuffer::read — Read data from an evbuffer and drain the bytes read
    • EventBuffer::readFrom — Read data from a file onto the end of the buffer
    • EventBuffer::readLine — Extracts a line from the front of the buffer
    • EventBuffer::search — Scans the buffer for an occurrence of a string
    • EventBuffer::searchEol — Scans the buffer for an occurrence of an end of line
    • EventBuffer::substr — Substracts a portion of the buffer data
    • EventBuffer::unfreeze — Re-enable calls that modify an event buffer
    • EventBuffer::unlock — Releases lock acquired by EventBuffer::lock
    • EventBuffer::write — Write contents of the buffer to a file or socket
  • EventBufferEvent — The EventBufferEvent class
    • EventBufferEvent::close — Closes file descriptor associated with the current buffer event
    • EventBufferEvent::connect — Connect buffer event's file descriptor to given address or UNIX socket
    • EventBufferEvent::connectHost — Connects to a hostname with optionally asyncronous DNS resolving
    • EventBufferEvent::__construct — Constructs EventBufferEvent object
    • EventBufferEvent::createPair — Creates two buffer events connected to each other
    • EventBufferEvent::disable — Disable events read, write, or both on a buffer event
    • EventBufferEvent::enable — Enable events read, write, or both on a buffer event
    • EventBufferEvent::free — Free a buffer event
    • EventBufferEvent::getDnsErrorString — Returns string describing the last failed DNS lookup attempt
    • EventBufferEvent::getEnabled — Returns bitmask of events currently enabled on the buffer event
    • EventBufferEvent::getInput — Returns underlying input buffer associated with current buffer event
    • EventBufferEvent::getOutput — Returns underlying output buffer associated with current buffer event
    • EventBufferEvent::read — Read buffer's data
    • EventBufferEvent::readBuffer — Drains the entire contents of the input buffer and places them into buf
    • EventBufferEvent::setCallbacks — Assigns read, write and event(status) callbacks
    • EventBufferEvent::setPriority — Assign a priority to a bufferevent
    • EventBufferEvent::setTimeouts — Set the read and write timeout for a buffer event
    • EventBufferEvent::setWatermark — Adjusts read and/or write watermarks
    • EventBufferEvent::sslError — Returns most recent OpenSSL error reported on the buffer event
    • EventBufferEvent::sslFilter — Create a new SSL buffer event to send its data over another buffer event
    • EventBufferEvent::sslGetCipherInfo — Returns a textual description of the cipher
    • EventBufferEvent::sslGetCipherName — Returns the current cipher name of the SSL connection
    • EventBufferEvent::sslGetCipherVersion — Returns version of cipher used by current SSL connection
    • EventBufferEvent::sslGetProtocol — Returns the name of the protocol used for current SSL connection
    • EventBufferEvent::sslRenegotiate — Tells a bufferevent to begin SSL renegotiation
    • EventBufferEvent::sslSocket — Creates a new SSL buffer event to send its data over an SSL on a socket
    • EventBufferEvent::write — Adds data to a buffer event's output buffer
    • EventBufferEvent::writeBuffer — Adds contents of the entire buffer to a buffer event's output buffer
  • About buffer event callbacks
  • EventConfig — The EventConfig class
    • EventConfig::avoidMethod — Tells libevent to avoid specific event method
    • EventConfig::__construct — Constructs EventConfig object
    • EventConfig::requireFeatures — Enters a required event method feature that the application demands
    • EventConfig::setMaxDispatchInterval — Prevents priority inversion
  • EventDnsBase — The EventDnsBase class
    • EventDnsBase::addNameserverIp — Adds a nameserver to the DNS base
    • EventDnsBase::addSearch — Adds a domain to the list of search domains
    • EventDnsBase::clearSearch — Removes all current search suffixes
    • EventDnsBase::__construct — Constructs EventDnsBase object
    • EventDnsBase::countNameservers — Gets the number of configured nameservers
    • EventDnsBase::loadHosts — Loads a hosts file (in the same format as /etc/hosts) from hosts file
    • EventDnsBase::parseResolvConf — Scans the resolv.conf-formatted file
    • EventDnsBase::setOption — Set the value of a configuration option
    • EventDnsBase::setSearchNdots — Set the 'ndots' parameter for searches
  • EventHttp — The EventHttp class
    • EventHttp::accept — Makes an HTTP server accept connections on the specified socket stream or resource
    • EventHttp::addServerAlias — Adds a server alias to the HTTP server object
    • EventHttp::bind — Binds an HTTP server on the specified address and port
    • EventHttp::__construct — Constructs EventHttp object(the HTTP server)
    • EventHttp::removeServerAlias — Removes server alias
    • EventHttp::setAllowedMethods — Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks
    • EventHttp::setCallback — Sets a callback for specified URI
    • EventHttp::setDefaultCallback — Sets default callback to handle requests that are not caught by specific callbacks
    • EventHttp::setMaxBodySize — Sets maximum request body size
    • EventHttp::setMaxHeadersSize — Sets maximum HTTP header size
    • EventHttp::setTimeout — Sets the timeout for an HTTP request
  • EventHttpConnection — The EventHttpConnection class
    • EventHttpConnection::__construct — Constructs EventHttpConnection object
    • EventHttpConnection::getBase — Returns event base associated with the connection
    • EventHttpConnection::getPeer — Gets the remote address and port associated with the connection
    • EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection
    • EventHttpConnection::setCloseCallback — Set callback for connection close
    • EventHttpConnection::setLocalAddress — Sets the IP address from which HTTP connections are made
    • EventHttpConnection::setLocalPort — Sets the local port from which connections are made
    • EventHttpConnection::setMaxBodySize — Sets maximum body size for the connection
    • EventHttpConnection::setMaxHeadersSize — Sets maximum header size
    • EventHttpConnection::setRetries — Sets the retry limit for the connection
    • EventHttpConnection::setTimeout — Sets the timeout for the connection
  • EventHttpRequest — The EventHttpRequest class
    • EventHttpRequest::addHeader — Adds an HTTP header to the headers of the request
    • EventHttpRequest::cancel — Cancels a pending HTTP request
    • EventHttpRequest::clearHeaders — Removes all output headers from the header list of the request
    • EventHttpRequest::closeConnection — Closes associated HTTP connection
    • EventHttpRequest::__construct — Constructs EventHttpRequest object
    • EventHttpRequest::findHeader — Finds the value belonging a header
    • EventHttpRequest::free — Frees the object and removes associated events
    • EventHttpRequest::getBufferEvent — Returns EventBufferEvent object
    • EventHttpRequest::getCommand — Returns the request command(method)
    • EventHttpRequest::getConnection — Returns EventHttpConnection object
    • EventHttpRequest::getHost — Returns the request host
    • EventHttpRequest::getInputBuffer — Returns the input buffer
    • EventHttpRequest::getInputHeaders — Returns associative array of the input headers
    • EventHttpRequest::getOutputBuffer — Returns the output buffer of the request
    • EventHttpRequest::getOutputHeaders — Returns associative array of the output headers
    • EventHttpRequest::getResponseCode — Returns the response code
    • EventHttpRequest::getUri — Returns the request URI
    • EventHttpRequest::removeHeader — Removes an HTTP header from the headers of the request
    • EventHttpRequest::sendError — Send an HTML error message to the client
    • EventHttpRequest::sendReply — Send an HTML reply to the client
    • EventHttpRequest::sendReplyChunk — Send another data chunk as part of an ongoing chunked reply
    • EventHttpRequest::sendReplyEnd — Complete a chunked reply, freeing the request as appropriate
    • EventHttpRequest::sendReplyStart — Initiate a chunked reply
  • EventListener — The EventListener class
    • EventListener::__construct — Creates new connection listener associated with an event base
    • EventListener::disable — Disables an event connect listener object
    • EventListener::enable — Enables an event connect listener object
    • EventListener::getBase — Returns event base associated with the event listener
    • EventListener::getSocketName — Retreives the current address to which the listener's socket is bound
    • EventListener::setCallback — The setCallback purpose
    • EventListener::setErrorCallback — Set event listener's error callback
  • EventSslContext — The EventSslContext class
    • EventSslContext::__construct — Constructs an OpenSSL context for use with Event classes
  • EventUtil — The EventUtil class
    • EventUtil::__construct — The abstract constructor
    • EventUtil::getLastSocketErrno — Returns the most recent socket error number
    • EventUtil::getLastSocketError — Returns the most recent socket error
    • EventUtil::getSocketFd — Returns numeric file descriptor of a socket, or stream
    • EventUtil::getSocketName — Retreives the current address to which the socket is bound
    • EventUtil::setSocketOption — Sets socket options
    • EventUtil::sslRandPoll — Generates entropy by means of OpenSSL's RAND_poll()


Introdução

This is an extension to efficiently schedule I/O, time and signal based events using the best I/O notification mechanism available for specific platform. This is a port of libevent to the PHP infrastructure.

Nota:

Note, Windows support introduced in event-1.9.0 .

Version 1.0.0 introduces new object-oriented API (breaking backwards compatibility), and support of libevent 2+ including HTTP, DNS, OpenSSL and the event listener.

Nota:

Note, event-1.0.0 and greater is not compatible with previous versions.


Dependências

This extension requires » libevent library. Most modern distributions provide packages for libevent.

OpenSSL features require » OpenSSL library.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/event .


Exemplos

Exemplo #1 Simple HTTP client

<?php
// Read callback
function readcb($bev, $base) {
    //$input = $bev->input; //$bev->getInput();

    //$pos = $input->search("TTP");
    $pos = $bev->input->search("TTP");

    while (($n = $bev->input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}

// Event callback
function eventcb($bev, $events, $base) {
    if ($events & EventBufferEvent::CONNECTED) {
        echo "Connected.\n";
    } elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
        if ($events & EventBufferEvent::ERROR) {
            echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
        }

        echo "Closing\n";
        $base->exit();
        exit("Done\n");
    }
}

if ($argc != 3) {
    echo <<<EOS
Trivial HTTP 0.x client
Syntax: php {$argv[0]} [hostname] [resource]
Example: php {$argv[0]} www.google.com /

EOS;
    exit();
}

$base = new EventBase();

$dns_base = new EventDnsBase($base, TRUE); // We'll use async DNS resolving
if (!$dns_base) {
    exit("Failed to init DNS Base\n");
}

$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS,
    "readcb", /* writecb */ NULL, "eventcb"
);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

//$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

$output = $bev->output; //$bev->getOutput();
if (!$output->add(
    "GET {$argv[2]} HTTP/1.0\r\n".
    "Host: {$argv[1]}\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

if (!$bev->connectHost($dns_base, $argv[1], 80, EventUtil::AF_UNSPEC)) {
    exit("Can't connect to host {$argv[1]}\n");
}

$base->dispatch();
?>

O exemplo acima irá imprimir algo similar à:

Connected.
HTTP/1.1 301 Moved Permanently
Date: Fri, 01 Mar 2013 18:47:48 GMT
Location: http://www.google.co.uk/
Content-Type: text/html; CHARSET=Windows-1252
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Age: 133438
Expires: Sat, 30 Mar 2013 05:39:28 GMT
Connection: close

<HTML><HEAD><meta http-equiv="content-type" content="text/html;CHARSET=Windows-1252">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.co.uk/">here</A>.
</BODY></HTML>
Closing
Done

Exemplo #2 HTTP client using asynchronous DNS resolver

<?php
/*
 * 1. Connect to 127.0.0.1 at port 80
 * by means of EventBufferEvent::connect().
 *
 * 2. Request /index.cphp via HTTP/1.0
 * using the output buffer.
 *
 * 3. Asyncronously read the response and print it to stdout.
 */

// Read callback
function readcb($bev, $base) {
    $input = $bev->getInput();

    while (($n = $input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}

// Event callback
function eventcb($bev, $events, $base) {
    if ($events & EventBufferEvent::CONNECTED) {
        echo "Connected.\n";
    } elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
        if ($events & EventBufferEvent::ERROR) {
            echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
        }

        echo "Closing\n";
        $base->exit();
        exit("Done\n");
    }
}

$base = new EventBase();

echo "step 1\n";
$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

echo "step 2\n";
$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

echo "step 3\n";
// Send request
$output = $bev->getOutput();
if (!$output->add(
    "GET /index.cphp HTTP/1.0\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

/* Connect to the host syncronously.
We know the IP, and don't need to resolve DNS. */
if (!$bev->connect("127.0.0.1:80")) {
    exit("Can't connect to host\n");
}

// Dispatch pending events
$base->dispatch();
?>

Exemplo #3 Echo server

<?php
/*
 * Simple echo server based on libevent's connection listener.
 *
 * Usage:
 * 1) In one terminal window run:
 *
 * $ php listener.php 9881
 *
 * 2) In another terminal window open up connection, e.g.:
 *
 * $ nc 127.0.0.1 9881
 *
 * 3) start typing. The server should repeat the input.
 */

class MyListenerConnection {
    private $bev, $base;

    public function __destruct() {
        $this->bev->free();
    }

    public function __construct($base, $fd) {
        $this->base = $base;

        $this->bev = new EventBufferEvent($base, $fd, EventBufferEvent::OPT_CLOSE_ON_FREE);

        $this->bev->setCallbacks(array($this, "echoReadCallback"), NULL,
            array($this, "echoEventCallback"), NULL);

        if (!$this->bev->enable(Event::READ)) {
            echo "Failed to enable READ\n";
            return;
        }
    }

    public function echoReadCallback($bev, $ctx) {
        // Copy all the data from the input buffer to the output buffer

        // Variant #1
        $bev->output->addBuffer($bev->input);

        /* Variant #2 */
        /*
        $input    = $bev->getInput();
        $output = $bev->getOutput();
        $output->addBuffer($input);
        */
    }

    public function echoEventCallback($bev, $events, $ctx) {
        if ($events & EventBufferEvent::ERROR) {
            echo "Error from bufferevent\n";
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            //$bev->free();
            $this->__destruct();
        }
    }
}

class MyListener {
    public $base,
        $listener,
        $socket;
    private $conn = array();

    public function __destruct() {
        foreach ($this->conn as &$c) $c = NULL;
    }

    public function __construct($port) {
        $this->base = new EventBase();
        if (!$this->base) {
            echo "Couldn't open event base";
            exit(1);
        }

        // Variant #1
        /*
        $this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
        if (!socket_bind($this->socket, '0.0.0.0', $port)) {
            echo "Unable to bind socket\n";
            exit(1);
        }
        $this->listener = new EventListener($this->base,
            array($this, "acceptConnCallback"), $this->base,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1, $this->socket);
         */

        // Variant #2
         $this->listener = new EventListener($this->base,
             array($this, "acceptConnCallback"), $this->base,
             EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE, -1,
             "0.0.0.0:$port");

        if (!$this->listener) {
            echo "Couldn't create listener";
            exit(1);
        }

        $this->listener->setErrorCallback(array($this, "accept_error_cb"));
    }

    public function dispatch() {
        $this->base->dispatch();
    }

    // This callback is invoked when there is data to read on $bev
    public function acceptConnCallback($listener, $fd, $address, $ctx) {
        // We got a new connection! Set up a bufferevent for it. */
        $base = $this->base;
        $this->conn[] = new MyListenerConnection($base, $fd);
    }

    public function accept_error_cb($listener, $ctx) {
        $base = $this->base;

        fprintf(STDERR, "Got an error %d (%s) on the listener. "
            ."Shutting down.\n",
            EventUtil::getLastSocketErrno(),
            EventUtil::getLastSocketError());

        $base->exit(NULL);
    }
}

$port = 9808;

if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$l = new MyListener($port);
$l->dispatch();
?>

Exemplo #4 SSL echo server

<?php
/*
 * SSL echo server
 *
 * To test:
 * 1) Run:
 * $ php examples/ssl-echo-server/server.php 9998
 *
 * 2) in another terminal window run:
 * $ socat - SSL:127.0.0.1:9998,verify=1,cafile=examples/ssl-echo-server/cert.pem
 */

class MySslEchoServer {
    public $port,
        $base,
        $bev,
        $listener,
        $ctx;

    function __construct ($port, $host = "127.0.0.1") {
        $this->port = $port;
        $this->ctx = $this->init_ssl();
        if (!$this->ctx) {
            exit("Failed creating SSL context\n");
        }

        $this->base = new EventBase();
        if (!$this->base) {
            exit("Couldn't open event base\n");
        }

        $this->listener = new EventListener($this->base,
            array($this, "ssl_accept_cb"), $this->ctx,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1, "$host:$port");
        if (!$this->listener) {
            exit("Couldn't create listener\n");
        }

        $this->listener->setErrorCallback(array($this, "accept_error_cb"));
    }
    function dispatch() {
        $this->base->dispatch();
    }

    // This callback is invoked when there is data to read on $bev.
    function ssl_read_cb($bev, $ctx) {
        $in = $bev->input; //$bev->getInput();

        printf("Received %zu bytes\n", $in->length);
        printf("----- data ----\n");
        printf("%ld:\t%s\n", (int) $in->length, $in->pullup(-1));

        $bev->writeBuffer($in);
    }

    // This callback is invoked when some even occurs on the event listener,
    // e.g. connection closed, or an error occurred
    function ssl_event_cb($bev, $events, $ctx) {
        if ($events & EventBufferEvent::ERROR) {
            // Fetch errors from the SSL error stack
            while ($err = $bev->sslError()) {
                fprintf(STDERR, "Bufferevent error %s.\n", $err);
            }
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            $bev->free();
        }
    }

    // This callback is invoked when a client accepts new connection
    function ssl_accept_cb($listener, $fd, $address, $ctx) {
        // We got a new connection! Set up a bufferevent for it.
        $this->bev = EventBufferEvent::sslSocket($this->base, $fd, $this->ctx,
            EventBufferEvent::SSL_ACCEPTING, EventBufferEvent::OPT_CLOSE_ON_FREE);

        if (!$this->bev) {
            echo "Failed creating ssl buffer\n";
            $this->base->exit(NULL);
            exit(1);
        }

        $this->bev->enable(Event::READ);
        $this->bev->setCallbacks(array($this, "ssl_read_cb"), NULL,
            array($this, "ssl_event_cb"), NULL);
    }

    // This callback is invoked when we failed to setup new connection for a client
    function accept_error_cb($listener, $ctx) {
        fprintf(STDERR, "Got an error %d (%s) on the listener. "
            ."Shutting down.\n",
            EventUtil::getLastSocketErrno(),
            EventUtil::getLastSocketError());

        $this->base->exit(NULL);
    }

    // Initialize SSL structures, create an EventSslContext
    // Optionally create self-signed certificates
    function init_ssl() {
        // We *must* have entropy. Otherwise there's no point to crypto.
        if (!EventUtil::sslRandPoll()) {
            exit("EventUtil::sslRandPoll failed\n");
        }

        $local_cert = __DIR__."/cert.pem";
        $local_pk   = __DIR__."/privkey.pem";

        if (!file_exists($local_cert) || !file_exists($local_pk)) {
            echo "Couldn't read $local_cert or $local_pk file.  To generate a key\n",
                "and self-signed certificate, run:\n",
                "  openssl genrsa -out $local_pk 2048\n",
                "  openssl req -new -key $local_pk -out cert.req\n",
                "  openssl x509 -req -days 365 -in cert.req -signkey $local_pk -out $local_cert\n";

            return FALSE;
        }

        $ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, array (
             EventSslContext::OPT_LOCAL_CERT  => $local_cert,
             EventSslContext::OPT_LOCAL_PK    => $local_pk,
             //EventSslContext::OPT_PASSPHRASE  => "echo server",
             EventSslContext::OPT_VERIFY_PEER => true,
             EventSslContext::OPT_ALLOW_SELF_SIGNED => false,
        ));

        return $ctx;
    }
}

// Allow to override the port
$port = 9999;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port\n");
}

$l = new MySslEchoServer($port);
$l->dispatch();
?>

Exemplo #5 Signal handler

<?php
/*
Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan    3976  0.2  0.0 139896 11256 pts/1    S+   10:25   0:00 php examples/signal.php
ruslan    3978  0.0  0.0   9572   864 pts/2    S+   10:26   0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
*/
class MyEventSignal {
    private $base;

    function __construct($base) {
        $this->base = $base;
    }

    function eventSighandler($no, $c) {
        echo "Caught signal $no\n";
        event_base_loopexit($c->base);
    }
}

$base = event_base_new();
$c    = new MyEventSignal($base);
$no   = SIGTERM;
$ev   = evsignal_new($base, $no, array($c,'eventSighandler'), $c);

evsignal_add($ev);

event_base_loop($base);
?>

Exemplo #6 Use libevent's loop to process requests of `eio' extension

<?php
// Callback for eio_nop()
function my_nop_cb($d, $r) {
    echo "step 6\n";
}

$dir = "/tmp/abc-eio-temp";
if (file_exists($dir)) {
    rmdir($dir);
}

echo "step 1\n";

$base = new EventBase();

echo "step 2\n";

eio_init();

eio_mkdir($dir, 0750, EIO_PRI_DEFAULT, "my_nop_cb");

$event = new Event($base, eio_get_event_stream(),
    Event::READ | Event::PERSIST, function ($fd, $events, $base) {
    echo "step 5\n";

    while (eio_nreqs()) {
        eio_poll();
    }

    $base->stop();
}, $base);

echo "step 3\n";

$event->add();

echo "step 4\n";

$base->dispatch();

echo "Done\n";
?>

Exemplo #7 Miscellaneous

<?php
/* {{{ Config & supported stuff */
echo "Supported methods:\n";
foreach (Event::getSupportedMethods() as $m) {
    echo $m, PHP_EOL;
}

// Avoiding "select" method
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "`select' method avoided\n";
}

// Create event_base associated with the config
$base = new EventBase($cfg);
echo "Event method used: ", $base->getMethod(), PHP_EOL;

echo "Features:\n";
$features = $base->getFeatures();
($features & EventConfig::FEATURE_ET) and print("ET - edge-triggered IO\n");
($features & EventConfig::FEATURE_O1) and print("O1 - O(1) operation for adding/deletting events\n");
($features & EventConfig::FEATURE_FDS) and print("FDS - arbitrary file descriptor types, and not just sockets\n");

// Require FDS feature
if ($cfg->requireFeatures(EventConfig::FEATURE_FDS)) {
    echo "FDS feature is now requried\n";

    $base = new EventBase($cfg);
    ($base->getFeatures() & EventConfig::FEATURE_FDS)
        and print("FDS - arbitrary file descriptor types, and not just sockets\n");
}
/* }}} */

/* {{{ Base */
$base = new EventBase();
$event = new Event($base, STDIN, Event::READ | Event::PERSIST, function ($fd, $events, $arg) {
    static $max_iterations = 0;

    if (++$max_iterations >= 5) {
        /* exit after 5 iterations with timeout of 2.33 seconds */
        echo "Stopping...\n";
        $arg[0]->exit(2.33);
    }

    echo fgets($fd);
}, array (&$base));

$event->add();
$base->loop();
/* Base }}} */
?>

Exemplo #8 Simple HTTP server

<?php
/*
 * Simple HTTP server.
 *
 * To test it:
 * 1) Run it on a port of your choice, e.g.:
 * $ php examples/http.php 8010
 * 2) In another terminal connect to some address on this port
 * and make GET or POST request(others are turned off here), e.g.:
 * $ nc -t 127.0.0.1 8010
 * POST /about HTTP/1.0
 * Content-Type: text/plain
 * Content-Length: 4
 * Connection: close
 * (press Enter)
 *
 * It will output
 * a=12
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * $ nc -t 127.0.0.1 8010
 * GET /dump HTTP/1.0
 * Content-Type: text/plain
 * Content-Encoding: UTF-8
 * Connection: close
 * (press Enter)
 *
 * It will output:
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 * (press Enter)
 *
 * $ nc -t 127.0.0.1 8010
 * GET /unknown HTTP/1.0
 * Connection: close
 *
 * It will output:
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * 3) See what the server outputs on the previous terminal window.
 */

function _http_dump($req, $data) {
    static $counter      = 0;
    static $max_requests = 2;

    if (++$counter >= $max_requests)  {
        echo "Counter reached max requests $max_requests. Exiting\n";
        exit();
    }

    echo __METHOD__, " called\n";
    echo "request:"; var_dump($req);
    echo "data:"; var_dump($data);

    echo "\n===== DUMP =====\n";
    echo "Command:", $req->getCommand(), PHP_EOL;
    echo "URI:", $req->getUri(), PHP_EOL;
    echo "Input headers:"; var_dump($req->getInputHeaders());
    echo "Output headers:"; var_dump($req->getOutputHeaders());

    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";

    echo "\n >> Reading input buffer ...\n";
    $buf = $req->getInputBuffer();
    while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
        echo $s, PHP_EOL;
    }
    echo "No more data in the buffer\n";
}

function _http_about($req) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

function _http_default($req, $data) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

$port = 8010;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

O exemplo acima irá imprimir algo similar à:

a=12
HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
(press Enter)

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

Exemplo #9 Simple HTTPS server

<?php
/*
 * Simple HTTPS server.
 *
 * 1) Run the server: `php examples/https.php 9999`
 * 2) Test it: `php examples/ssl-connection.php 9999`
 */

function _http_dump($req, $data) {
    static $counter      = 0;
    static $max_requests = 200;

    if (++$counter >= $max_requests)  {
        echo "Counter reached max requests $max_requests. Exiting\n";
        exit();
    }

    echo __METHOD__, " called\n";
    echo "request:"; var_dump($req);
    echo "data:"; var_dump($data);

    echo "\n===== DUMP =====\n";
    echo "Command:", $req->getCommand(), PHP_EOL;
    echo "URI:", $req->getUri(), PHP_EOL;
    echo "Input headers:"; var_dump($req->getInputHeaders());
    echo "Output headers:"; var_dump($req->getOutputHeaders());

    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";

    $buf = $req->getInputBuffer();
    echo "\n >> Reading input buffer (", $buf->length, ") ...\n";
    while ($s = $buf->read(1024)) {
        echo $s;
    }
    echo "\nNo more data in the buffer\n";
}

function _http_about($req) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

function _http_default($req, $data) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

function _http_400($req) {
    $req->sendError(400);
}

function _init_ssl() {
    $local_cert = __DIR__."/ssl-echo-server/cert.pem";
    $local_pk   = __DIR__."/ssl-echo-server/privkey.pem";

    $ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, array (
        EventSslContext::OPT_LOCAL_CERT  => $local_cert,
        EventSslContext::OPT_LOCAL_PK    => $local_pk,
        //EventSslContext::OPT_PASSPHRASE  => "test",
        EventSslContext::OPT_ALLOW_SELF_SIGNED => true,
    ));

    return $ctx;
}

$port = 9999;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}
$ip = '0.0.0.0';

$base = new EventBase();
$ctx  = _init_ssl();
$http = new EventHttp($base, $ctx);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setCallback("/err400", "_http_400");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind($ip, $port);
$base->dispatch();

Exemplo #10 OpenSSL connection

<?php
/*
 * Sample OpenSSL client.
 *
 * Usage:
 * 1) Launch a server, e.g.:
 * $ php examples/https.php 9999
 *
 * 2) Launch the client in another terminal:
 * $ php examples/ssl-connection.php 9999
 */

function _request_handler($req, $base) {
    echo __FUNCTION__, PHP_EOL;

    if (is_null($req)) {
        echo "Timed out\n";
    } else {
        $response_code = $req->getResponseCode();

        if ($response_code == 0) {
            echo "Connection refused\n";
        } elseif ($response_code != 200) {
            echo "Unexpected response: $response_code\n";
        } else {
            echo "Success: $response_code\n";
            $buf = $req->getInputBuffer();
            echo "Body:\n";
            while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
                echo $s, PHP_EOL;
            }
        }
    }

    $base->exit(NULL);
}

function _init_ssl() {
    $ctx = new EventSslContext(EventSslContext::SSLv3_CLIENT_METHOD, array ());

    return $ctx;
}

// Allow to override the port
$port = 9999;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port\n");
}
$host = '127.0.0.1';

$ctx = _init_ssl();
if (!$ctx) {
    trigger_error("Failed creating SSL context", E_USER_ERROR);
}

$base = new EventBase();
if (!$base) {
    trigger_error("Failed to initialize event base", E_USER_ERROR);
}

$conn = new EventHttpConnection($base, NULL, $host, $port, $ctx);
$conn->setTimeout(50);

$req = new EventHttpRequest("_request_handler", $base);
$req->addHeader("Host", $host, EventHttpRequest::OUTPUT_HEADER);
$buf = $req->getOutputBuffer();
$buf->add("<html>HTML TEST</html>");
//$req->addHeader("Content-Length", $buf->length, EventHttpRequest::OUTPUT_HEADER);
//$req->addHeader("Connection", "close", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_POST, "/dump");

$base->dispatch();
echo "END\n";
?>

Exemplo #11 EventHttpConnection::makeRequest() example

<?php
function _request_handler($req, $base) {
    echo __FUNCTION__, PHP_EOL;

    if (is_null($req)) {
        echo "Timed out\n";
    } else {
        $response_code = $req->getResponseCode();

        if ($response_code == 0) {
            echo "Connection refused\n";
        } elseif ($response_code != 200) {
            echo "Unexpected response: $response_code\n";
        } else {
            echo "Success: $response_code\n";
            $buf = $req->getInputBuffer();
            echo "Body:\n";
            while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
                echo $s, PHP_EOL;
            }
        }
    }

    $base->exit(NULL);
}

$address = "127.0.0.1";
$port = 80;

$base = new EventBase();
$conn = new EventHttpConnection($base, NULL, $address, $port);
$conn->setTimeout(5);
$req = new EventHttpRequest("_request_handler", $base);

$req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
$req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");

$base->loop();
?>

O exemplo acima irá imprimir algo similar à:

_request_handler
Success: 200
Body:
PHP, date:
2013-03-13T20:27:52+05:00

Exemplo #12 Connection listener based on a UNIX domain socket

<?php
/*
 * Simple echo server based on libevent's connection listener.
 *
 * Usage:
 * 1) In one terminal window run:
 *
 * $ php unix-domain-listener.php [path-to-socket]
 *
 * 2) In another terminal window open up connection
 * to the socket, e.g.:
 *
 * $ socat - GOPEN:/tmp/1.sock
 *
 * 3) Start typing. The server should repeat the input.
 */

class MyListenerConnection {
    private $bev, $base;

    public function __destruct() {
        if ($this->bev) {
            $this->bev->free();
        }
    }

    public function __construct($base, $fd) {
        $this->base = $base;

        $this->bev = new EventBufferEvent($base, $fd, EventBufferEvent::OPT_CLOSE_ON_FREE);

        $this->bev->setCallbacks(array($this, "echoReadCallback"), NULL,
            array($this, "echoEventCallback"), NULL);

        if (!$this->bev->enable(Event::READ)) {
            echo "Failed to enable READ\n";
            return;
        }
    }

    public function echoReadCallback($bev, $ctx) {
        // Copy all the data from the input buffer to the output buffer
        $bev->output->addBuffer($bev->input);
    }

    public function echoEventCallback($bev, $events, $ctx) {
        if ($events & EventBufferEvent::ERROR) {
            echo "Error from bufferevent\n";
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            $bev->free();
            $bev = NULL;
        }
    }
}

class MyListener {
    public $base,
        $listener,
        $socket;
    private $conn = array();

    public function __destruct() {
        foreach ($this->conn as &$c) $c = NULL;
    }

    public function __construct($sock_path) {
        $this->base = new EventBase();
        if (!$this->base) {
            echo "Couldn't open event base";
            exit(1);
        }

        if (file_exists($sock_path)) {
            unlink($sock_path);
        }

         $this->listener = new EventListener($this->base,
             array($this, "acceptConnCallback"), $this->base,
             EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE, -1,
             "unix:$sock_path");

        if (!$this->listener) {
            trigger_error("Couldn't create listener", E_USER_ERROR);
        }

        $this->listener->setErrorCallback(array($this, "accept_error_cb"));
    }

    public function dispatch() {
        $this->base->dispatch();
    }

    // This callback is invoked when there is data to read on $bev
    public function acceptConnCallback($listener, $fd, $address, $ctx) {
        // We got a new connection! Set up a bufferevent for it. */
        $base = $this->base;
        $this->conn[] = new MyListenerConnection($base, $fd);
    }

    public function accept_error_cb($listener, $ctx) {
        $base = $this->base;

        fprintf(STDERR, "Got an error %d (%s) on the listener. "
            ."Shutting down.\n",
            EventUtil::getLastSocketErrno(),
            EventUtil::getLastSocketError());

        $base->exit(NULL);
    }
}

if ($argc <= 1) {
    exit("Socket path is not provided\n");
}
$sock_path = $argv[1];

$l = new MyListener($sock_path);
$l->dispatch();
?>

Exemplo #13 Simple SMTP server

<?php
 /*
 * Author: Andrew Rose <hello at andrewrose dot co dot uk>
 *
 * Usage:
 * 1) Prepare cert.pem certificate and privkey.pem private key files.
 * 2) Launch the server script
 * 3) Open TLS connection, e.g.:
 *      $ openssl s_client -connect localhost:25 -starttls smtp -crlf
 * 4) Start testing the commands listed in `cmd` method below.
 */

class Handler {
    public $domainName = FALSE;
    public $connections = [];
    public $buffers = [];
    public $maxRead = 256000;

    public function __construct() {
        $this->ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, [
            EventSslContext::OPT_LOCAL_CERT  => 'cert.pem',
            EventSslContext::OPT_LOCAL_PK    => 'privkey.pem',
            //EventSslContext::OPT_PASSPHRASE  => '',
            EventSslContext::OPT_VERIFY_PEER => false, // change to true with authentic cert
            EventSslContext::OPT_ALLOW_SELF_SIGNED => true // change to false with authentic cert
        ]);

        $this->base = new EventBase();
        if (!$this->base) {
            exit("Couldn't open event base\n");
        }

        if (!$this->listener = new EventListener($this->base,
            [$this, 'ev_accept'],
            $this->ctx,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1,
            '0.0.0.0:25'))
        {
            exit("Couldn't create listener\n");
        }

        $this->listener->setErrorCallback([$this, 'ev_error']);
        $this->base->dispatch();
    }

    public function ev_accept($listener, $fd, $address, $ctx) {
        static $id = 0;
        $id += 1;

        $this->connections[$id]['clientData'] = '';
        $this->connections[$id]['cnx'] = new EventBufferEvent($this->base, $fd,
            EventBufferEvent::OPT_CLOSE_ON_FREE);

        if (!$this->connections[$id]['cnx']) {
            echo "Failed creating buffer\n";
            $this->base->exit(NULL);
            exit(1);
        }

        $this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL,
            [$this, 'ev_error'], $id);
        $this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);

        $this->ev_write($id, '220 '.$this->domainName." wazzzap?\r\n");
    }

    function ev_error($listener, $ctx) {
        $errno = EventUtil::getLastSocketErrno();

        fprintf(STDERR, "Got an error %d (%s) on the listener. Shutting down.\n",
            $errno, EventUtil::getLastSocketError());

        if ($errno != 0) {
            $this->base->exit(NULL);
            exit();
        }
    }

    public function ev_close($id) {
        $this->connections[$id]['cnx']->disable(Event::READ | Event::WRITE);
        unset($this->connections[$id]);
    }

    protected function ev_write($id, $string) {
        echo 'S('.$id.'): '.$string;
        $this->connections[$id]['cnx']->write($string);
    }

    public function ev_read($buffer, $id) {
        while($buffer->input->length > 0) {
            $this->connections[$id]['clientData'] .= $buffer->input->read($this->maxRead);
            $clientDataLen = strlen($this->connections[$id]['clientData']);

            if($this->connections[$id]['clientData'][$clientDataLen-1] == "\n"
                && $this->connections[$id]['clientData'][$clientDataLen-2] == "\r")
            {
                // remove the trailing \r\n
                $line = substr($this->connections[$id]['clientData'], 0,
                    strlen($this->connections[$id]['clientData']) - 2);

                $this->connections[$id]['clientData'] = '';
                $this->cmd($buffer, $id, $line);
            }
        }
    }

    protected function cmd($buffer, $id, $line) {
        switch ($line) {
            case strncmp('EHLO ', $line, 4):
                $this->ev_write($id, "250-STARTTLS\r\n");
                $this->ev_write($id, "250 OK ehlo\r\n");
                break;

            case strncmp('HELO ', $line, 4):
                $this->ev_write($id, "250-STARTTLS\r\n");
                $this->ev_write($id, "250 OK helo\r\n");
                break;

            case strncmp('QUIT', $line, 3):
                $this->ev_write($id, "250 OK quit\r\n");
                $this->ev_close($id);
                break;

            case strncmp('STARTTLS', $line, 3):
                $this->ev_write($id, "220 Ready to start TLS\r\n");
                $this->connections[$id]['cnx'] = EventBufferEvent::sslFilter($this->base,
                    $this->connections[$id]['cnx'], $this->ctx,
                    EventBufferEvent::SSL_ACCEPTING,
                    EventBufferEvent::OPT_CLOSE_ON_FREE);
                $this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL, [$this, 'ev_error'], $id);
                $this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);
                break;

            default:
                echo 'unknown command: '.$line."\n";
                break;
        }
    }
}

new Handler();


Event flags

Event::READ This flag indicates an event that becomes active when the provided file descriptor (usually a stream resource, or socket) is ready for reading.

Event::WRITE flag indicates an event that becomes active when the provided file descriptor (usually a stream resource, or socket) is ready for writing.

Event::SIGNAL used to implement signal detection. See "Constructing signal events" below.

Event::TIMEOUT indicates an event that becomes active after a timeout elapses. The Event::TIMEOUT flag is ignored when constructing an event: one can either set a timeout when event is added , or not. It is set in the $what argument to the callback function when a timeout has occurred.

See also » Fast portable non-blocking network programming with Libevent, Working with events, Event flags


About event persistence

By default, whenever a pending event becomes active (because its file descriptor is ready to read or write, or because its timeout expires), it becomes non-pending right before its callback is executed. Thus, to make the event pending again one may call Event::add() on it again from inside the callback function.

If the Event::PERSIST flag is set on an event, however, the event is persistent . This means that event remains pending even when its callback is activated. Event::del() method can be called to make it non-pending.

The timeout on a persistent event resets whenever the event's callback runs. Thus, if one has an event with flags Event::READ | Event::PERSIST and a timeout of five seconds, the event will become active:

  1. Whenever the socket or file descriptor is ready for reading.

  2. Whenever five seconds have passed since the event last became active.

See also » Fast portable non-blocking network programming with Libevent, About Event Persistence


Event callbacks

If a callback is registered for an event, it will be called when the event becomes active. To associate a callback with event one can pass a callable to either Event::__construct() , or Event::set() , or one of the factory methods like Event::timer() .

An event callback should match the following prototype:

callback ( mixed $fd = null , int $what = ? , mixed $arg = null ) : void

fd

The file descriptor, stream resource or socket associated with the event. For signal event fd is equal to the signal number.

what

Bit mask of all events triggered.

arg

User custom data.

Event::timer() expects the callback to match the following prototype:

callback ( mixed $arg = null ) : void

arg

User custom data.

Event::signal() expects the callback to match the following prototype:

callback ( int $signum = ? , mixed $arg = null ) : void

signum

The number of the triggered signal(e.g. SIGTERM ).

arg

User custom data.


Constructing signal events

Event can also watch for POSIX-style signals. To construct a handler for a signal, use Event::__construct() constructor with Event::SIGNAL flag, or Event::signal() factory method.

Exemplo #1 Handling SIGTERM signal

<?php
/*
Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan    3976  0.2  0.0 139896 11256 pts/1    S+   10:25   0:00 php examples/signal.php
ruslan    3978  0.0  0.0   9572   864 pts/2    S+   10:26   0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
*/
class MyEventSignal {
    private $base, $ev;

    public function __construct($base) {
        $this->base = $base;
        $this->ev = Event::signal($base, SIGTERM, array($this, 'eventSighandler'));
        $this->ev->add();
    }

    public function eventSighandler($no, $c) {
        echo "Caught signal $no\n";
        $this->base->exit();
    }
}

$base = new EventBase();
$c    = new MyEventSignal($base);

$base->loop();
?>

Note that signal callbacks are run in the event loop after the signal occurs, so it is safe for them to call functions that you are not supposed to call from a regular POSIX signal handler.

See also » Fast portable non-blocking network programming with Libevent, Constructing Signal Events .


The Event class

(PECL event >= 1.2.6-beta)

Introdução

Event class represents and event firing on a file descriptor being ready to read from or write to; a file descriptor becoming ready to read from or write to(edge-triggered I/O only); a timeout expiring; a signal occuring; a user-triggered event.

Every event is associated with EventBase . However, event will never fire until it is added (via Event::add() ). An added event remains in pending state until the registered event occurs, thus turning it to active state. To handle events user may register a callback which is called when event becomes active. If event is configured persistent , it remains pending. If it is not persistent, it stops being pending when it's callback runs. Event::del() method deletes event, thus making it non-pending. By means of Event::add() method it could be added again.

Sinopse da classe

final Event {
/* Constants */
const int ET = 32 ;
const int PERSIST = 16 ;
const int READ = 2 ;
const int WRITE = 4 ;
const int SIGNAL = 8 ;
const int TIMEOUT = 1 ;
/* Propriedades */
public readonly bool $pending ;
/* Métodos */
public add ( float $timeout = ? ) : bool
public addSignal ( float $timeout = ? ) : bool
public addTimer ( float $timeout = ? ) : bool
public __construct ( EventBase $base , mixed $fd , int $what , callable $cb , mixed $arg = NULL )
public del ( ) : bool
public delSignal ( ) : bool
public delTimer ( ) : bool
public free ( ) : void
public static getSupportedMethods ( ) : array
public pending ( int $flags ) : bool
public set ( EventBase $base , mixed $fd , int $what = ? , callable $cb = ? , mixed $arg = ? ) : bool
public setPriority ( int $priority ) : bool
public setTimer ( EventBase $base , callable $cb , mixed $arg = ? ) : bool
public static signal ( EventBase $base , int $signum , callable $cb , mixed $arg = ? ) : Event
public static timer ( EventBase $base , callable $cb , mixed $arg = ? ) : Event
}

Propriedades

pending

Whether event is pending. See About event persistence .

Constantes pré-definidas

Event::ET

Indicates that the event should be edge-triggered, if the underlying event base backend supports edge-triggered events. This affects the semantics of Event::READ and Event::WRITE .

Event::PERSIST

Indicates that the event is persistent. See About event persistence .

Event::READ

This flag indicates an event that becomes active when the provided file descriptor(usually a stream resource, or socket) is ready for reading.

Event::WRITE

This flag indicates an event that becomes active when the provided file descriptor(usually a stream resource, or socket) is ready for reading.

Event::SIGNAL

Used to implement signal detection. See "Constructing signal events" below.

Event::TIMEOUT

This flag indicates an event that becomes active after a timeout elapses.

The Event::TIMEOUT flag is ignored when constructing an event: one can either set a timeout when event is added , or not. It is set in the $what argument to the callback function when a timeout has occurred.

Índice

  • Event::add — Makes event pending
  • Event::addSignal — Makes signal event pending
  • Event::addTimer — Makes timer event pending
  • Event::__construct — Constructs Event object
  • Event::del — Makes event non-pending
  • Event::delSignal — Makes signal event non-pending
  • Event::delTimer — Makes timer event non-pending
  • Event::free — Make event non-pending and free resources allocated for this event
  • Event::getSupportedMethods — Returns array with of the names of the methods supported in this version of Libevent
  • Event::pending — Detects whether event is pending or scheduled
  • Event::set — Re-configures event
  • Event::setPriority — Set event priority
  • Event::setTimer — Re-configures timer event
  • Event::signal — Constructs signal event object
  • Event::timer — Constructs timer event object


Makes event pending

  • « Event
  • Event::addSignal »
  • PHP Manual
  • Event
  • Makes event pending

Event::add

(PECL event >= 1.2.6-beta)

Event::add — Makes event pending

Descrição

public Event::add ( float $timeout = ? ) : bool

Marks event pending. Non-pending event will never occur, and the event callback will never be called. In conjuction with Event::del() an event could be re-scheduled by user at any time.

If Event::add() is called on an already pending event, libevent will leave it pending and re-schedule it with the given timeout(if specified). If in this case timeout is not specified, Event::add() has no effect.

Parâmetros

timeout

Timeout in seconds.

Valor Retornado

Returns true on success. Otherwise false

Veja Também

  • Event::addSignal() - Makes signal event pending
  • Event::addTimer() - Makes timer event pending
  • Event::del() - Makes event non-pending


Makes signal event pending

  • « Event::add
  • Event::addTimer »
  • PHP Manual
  • Event
  • Makes signal event pending

Event::addSignal

(PECL event >= 1.2.6-beta)

Event::addSignal — Makes signal event pending

Descrição

public Event::addSignal ( float $timeout = ? ) : bool

Event::addSignal() is an alias of Event::add()

Exemplos

Exemplo #1 Event::addSignal() example

<?php
/*
Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan    3976  0.2  0.0 139896 11256 pts/1    S+   10:25   0:00 php examples/signal.php
ruslan    3978  0.0  0.0   9572   864 pts/2    S+   10:26   0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
*/
class MyEventSignal {
    private $base, $ev;

    public function __construct($base) {
        $this->base = $base;
        $this->ev = Event::signal($base, SIGTERM, array($this, 'eventSighandler'));
        $this->ev->addSignal();
    }

    public function eventSighandler($no, $c) {
        echo "Caught signal $no\n";
        $this->base->exit();
    }
}

$base = new EventBase();
$c    = new MyEventSignal($base);

$base->loop();
?>

O exemplo acima irá imprimir algo similar à:

Caught signal 15

Veja Também

  • Event::add() - Makes event pending
  • Event::del() - Makes event non-pending
  • Event::delSignal() - Makes signal event non-pending
  • Event::signal() - Constructs signal event object


Makes timer event pending

  • « Event::addSignal
  • Event::__construct »
  • PHP Manual
  • Event
  • Makes timer event pending

Event::addTimer

(PECL event >= 1.2.6-beta)

Event::addTimer — Makes timer event pending

Descrição

public Event::addTimer ( float $timeout = ? ) : bool

Event::addTimer() is an alias of Event::add()

Valor Retornado

Exemplos

Exemplo #1 Event::addTimer() example

<?php
$base = new EventBase();
$n = 2;
$e = Event::timer($base, function($n) use (&$e) {
    echo "$n seconds elapsed\n";
    $e->delTimer();
}, $n);
$e->addTimer($n);
$base->loop();
?>

O exemplo acima irá imprimir algo similar à:

2 seconds elapsed

Veja Também

  • Event::add() - Makes event pending
  • Event::del() - Makes event non-pending
  • Event::delTimer() - Makes timer event non-pending


Constructs Event object

  • « Event::addTimer
  • Event::del »
  • PHP Manual
  • Event
  • Constructs Event object

Event::__construct

(PECL event >= 1.2.6-beta)

Event::__construct — Constructs Event object

Descrição

public Event::__construct ( EventBase $base , mixed $fd , int $what , callable $cb , mixed $arg = NULL )

Constructs Event object.

Parâmetros

base

The event base to associate with.

fd

stream resource, socket resource, or numeric file descriptor. For timer events pass -1 . For signal events pass the signal number, e.g. SIGHUP .

what

Event flags. See Event flags .

cb

The event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Valor Retornado

Returns Event object.

Veja Também

  • Event::signal() - Constructs signal event object
  • Event::timer() - Constructs timer event object


Makes event non-pending

  • « Event::__construct
  • Event::delSignal »
  • PHP Manual
  • Event
  • Makes event non-pending

Event::del

(PECL event >= 1.2.6-beta)

Event::del — Makes event non-pending

Descrição

public Event::del ( ) : bool

Removes an event from the set of monitored events, i.e. makes it non-pending.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true on success. Otherwise false

Veja Também

  • Event::add() - Makes event pending


Makes signal event non-pending

  • « Event::del
  • Event::delTimer »
  • PHP Manual
  • Event
  • Makes signal event non-pending

Event::delSignal

(PECL event >= 1.2.6-beta)

Event::delSignal — Makes signal event non-pending

Descrição

public Event::delSignal ( ) : bool

Event::delSignal() is an alias of Event::del()

Veja Também

  • Event::del() - Makes event non-pending


Makes timer event non-pending

  • « Event::delSignal
  • Event::free »
  • PHP Manual
  • Event
  • Makes timer event non-pending

Event::delTimer

(PECL event >= 1.2.6-beta)

Event::delTimer — Makes timer event non-pending

Descrição

public Event::delTimer ( ) : bool

Event::delTimer() is an alias of Event::del() .

Veja Também

  • Event::del() - Makes event non-pending


Make event non-pending and free resources allocated for this event

  • « Event::delTimer
  • Event::getSupportedMethods »
  • PHP Manual
  • Event
  • Make event non-pending and free resources allocated for this event

Event::free

(PECL event >= 1.2.6-beta)

Event::free — Make event non-pending and free resources allocated for this event

Descrição

public Event::free ( ) : void

Removes event from the list of events monitored by libevent, and free resources allocated for the event.

Aviso

The Event::free() method currently doesn't destruct the object itself. To destruct the object completely call unset() , or assign null.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • Event::__construct() - Constructs Event object


Returns array with of the names of the methods supported in this version of Libevent

  • « Event::free
  • Event::pending »
  • PHP Manual
  • Event
  • Returns array with of the names of the methods supported in this version of Libevent

Event::getSupportedMethods

(PECL event >= 1.2.6-beta)

Event::getSupportedMethods — Returns array with of the names of the methods supported in this version of Libevent

Descrição

public static Event::getSupportedMethods ( ) : array

Returns array with of the names of the methods(backends) supported in this version of Libevent.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns array.

Veja Também

  • EventConfig


Detects whether event is pending or scheduled

  • « Event::getSupportedMethods
  • Event::set »
  • PHP Manual
  • Event
  • Detects whether event is pending or scheduled

Event::pending

(PECL event >= 1.2.6-beta)

Event::pending — Detects whether event is pending or scheduled

Descrição

public Event::pending ( int $flags ) : bool

Detects whether event is pending or scheduled

Parâmetros

flags

One of, or a composition of the following constants: Event::READ , Event::WRITE , Event::TIMEOUT , Event::SIGNAL .

Valor Retornado

Returns true if event is pending or scheduled. Otherwise false.


Re-configures event

  • « Event::pending
  • Event::setPriority »
  • PHP Manual
  • Event
  • Re-configures event

Event::set

(PECL event >= 1.2.6-beta)

Event::set — Re-configures event

Descrição

public Event::set ( EventBase $base , mixed $fd , int $what = ? , callable $cb = ? , mixed $arg = ? ) : bool

Re-configures event. Note, this function doesn't invoke obsolete libevent's event_set. It calls event_assign instead.

Parâmetros

base

The event base to associate the event with.

fd

Stream resource, socket resource, or numeric file descriptor. For timer events pass -1 . For signal events pass the signal number, e.g. SIGHUP .

what

See Event flags .

cb

The event callback. See Event callbacks .

arg

Custom data associated with the event. It will be passed to the callback when the event becomes active.

Valor Retornado

Returns true on success. Otherwise false.


Set event priority

  • « Event::set
  • Event::setTimer »
  • PHP Manual
  • Event
  • Set event priority

Event::setPriority

(PECL event >= 1.2.6-beta)

Event::setPriority — Set event priority

Descrição

public Event::setPriority ( int $priority ) : bool

Set event priority.

Parâmetros

priority

The event priority.

Valor Retornado

Returns true on success. Otherwise false.


Re-configures timer event

  • « Event::setPriority
  • Event::signal »
  • PHP Manual
  • Event
  • Re-configures timer event

Event::setTimer

(PECL event >= 1.2.6-beta)

Event::setTimer — Re-configures timer event

Descrição

public Event::setTimer ( EventBase $base , callable $cb , mixed $arg = ? ) : bool

Re-configures timer event. Note, this function doesn't invoke obsolete libevent's event_set . It calls event_assign instead.

Parâmetros

base

The event base to associate with.

cb

The timer event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • Event::__construct() - Constructs Event object
  • Event::timer() - Constructs timer event object


Constructs signal event object

  • « Event::setTimer
  • Event::timer »
  • PHP Manual
  • Event
  • Constructs signal event object

Event::signal

(PECL event >= 1.2.6-beta)

Event::signal — Constructs signal event object

Descrição

public static Event::signal ( EventBase $base , int $signum , callable $cb , mixed $arg = ? ) : Event

Constructs signal event object. This is a straightforward method to create a signal event. Note, the generic Event::__construct() method can contruct signal event objects too.

Parâmetros

base

The associated event base object.

signum

The signal number.

cb

The signal event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Valor Retornado

Returns Event object on success. Otherwise false.

Veja Também

  • Constructing signal events


Constructs timer event object

  • « Event::signal
  • EventBase »
  • PHP Manual
  • Event
  • Constructs timer event object

Event::timer

(PECL event >= 1.2.6-beta)

Event::timer — Constructs timer event object

Descrição

public static Event::timer ( EventBase $base , callable $cb , mixed $arg = ? ) : Event

Constructs timer event object. This is a straightforward method to create a timer event. Note, the generic Event::__construct() method can contruct signal event objects too.

Parâmetros

base

The associated event base object.

cb

The signal event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Valor Retornado

Returns Event object on success. Otherwise false.


The EventBase class

(PECL event >= 1.2.6-beta)

Introdução

EventBase class represents libevent's event base structure. It holds a set of events and can poll to determine which events are active.

Each event base has a method , or a backend that it uses to determine which events are ready. The recognized methods are: select , poll , epoll , kqueue , devpoll , evport and win32 .

To configure event base to use, or avoid specific backend EventConfig class can be used.

Aviso

Do NOT destroy the EventBase object as long as resources of the associated Event objects are not released. Otherwise, it will lead to unpredictable results!

Sinopse da classe

final EventBase {
/* Constants */
const int LOOP_ONCE = 1 ;
const int LOOP_NONBLOCK = 2 ;
const int NOLOCK = 1 ;
const int STARTUP_IOCP = 4 ;
const int NO_CACHE_TIME = 8 ;
const int EPOLL_USE_CHANGELIST = 16 ;
/* Métodos */
public __construct ( EventConfig $cfg = ? )
public dispatch ( ) : void
public exit ( float $timeout = ? ) : bool
public free ( ) : void
public getFeatures ( ) : int
public getMethod ( ) : string
public getTimeOfDayCached ( ) : float
public gotExit ( ) : bool
public gotStop ( ) : bool
public loop ( int $flags = ? ) : bool
public priorityInit ( int $n_priorities ) : bool
public reInit ( ) : bool
public stop ( ) : bool
}

Constantes pré-definidas

EventBase::LOOP_ONCE

Flag used with EventBase::loop() method which means: "block until libevent has an active event, then exit once all active events have had their callbacks run".

EventBase::LOOP_NONBLOCK

Flag used with EventBase::loop() method which means: "do not block: see which events are ready now, run the callbacks of the highest-priority ones, then exit".

EventBase::NOLOCK

Configuration flag. Do not allocate a lock for the event base, even if we have locking set up".

EventBase::STARTUP_IOCP

Windows-only configuration flag. Enables the IOCP dispatcher at startup.

EventBase::NO_CACHE_TIME

Configuration flag. Instead of checking the current time every time the event loop is ready to run timeout callbacks, check after each timeout callback.

EventBase::EPOLL_USE_CHANGELIST

If we are using the epoll backend, this flag says that it is safe to use Libevent's internal change-list code to batch up adds and deletes in order to try to do as few syscalls as possible.

Setting this flag can make code run faster, but it may trigger a Linux bug: it is not safe to use this flag if one has any fds cloned by dup(), or its variants. Doing so will produce strange and hard-to-diagnose bugs.

This flag can also be activated by settnig the EVENT_EPOLL_USE_CHANGELIST environment variable.

This flag has no effect if one winds up using a backend other than epoll .

Índice

  • EventBase::__construct — Constructs EventBase object
  • EventBase::dispatch — Dispatch pending events
  • EventBase::exit — Stop dispatching events
  • EventBase::free — Free resources allocated for this event base
  • EventBase::getFeatures — Returns bitmask of features supported
  • EventBase::getMethod — Returns event method in use
  • EventBase::getTimeOfDayCached — Returns the current event base time
  • EventBase::gotExit — Checks if the event loop was told to exit
  • EventBase::gotStop — Checks if the event loop was told to exit
  • EventBase::loop — Dispatch pending events
  • EventBase::priorityInit — Sets number of priorities per event base
  • EventBase::reInit — Re-initialize event base(after a fork)
  • EventBase::stop — Tells event_base to stop dispatching events


Constructs EventBase object

  • « EventBase
  • EventBase::dispatch »
  • PHP Manual
  • EventBase
  • Constructs EventBase object

EventBase::__construct

(PECL event >= 1.2.6-beta)

EventBase::__construct — Constructs EventBase object

Descrição

public EventBase::__construct ( EventConfig $cfg = ? )

Constructs EventBase object

Parâmetros

cfg

Optional EventConfig object.

Valor Retornado

Returns EventBase object.

Veja Também

  • EventConfig


Dispatch pending events

  • « EventBase::__construct
  • EventBase::exit »
  • PHP Manual
  • EventBase
  • Dispatch pending events

EventBase::dispatch

(PECL event >= 1.2.6-beta)

EventBase::dispatch — Dispatch pending events

Descrição

public EventBase::dispatch ( ) : void

Wait for events to become active, and run their callbacks. The same as EventBase::loop() with no flags set.

Aviso

Do NOT destroy the EventBase object as long as resources of the associated Event objects are not released. Otherwise, it will lead to unpredictable results!

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBase::loop() - Dispatch pending events


Stop dispatching events

  • « EventBase::dispatch
  • EventBase::free »
  • PHP Manual
  • EventBase
  • Stop dispatching events

EventBase::exit

(PECL event >= 1.2.6-beta)

EventBase::exit — Stop dispatching events

Descrição

public EventBase::exit ( float $timeout = ? ) : bool

Tells event base to stop optionally after given number of seconds.

Parâmetros

timeout

Optional number of seconds after which the event base should stop dispatching events.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBase::stop() - Tells event_base to stop dispatching events


Free resources allocated for this event base

  • « EventBase::exit
  • EventBase::getFeatures »
  • PHP Manual
  • EventBase
  • Free resources allocated for this event base

EventBase::free

(PECL event >= 1.10.0)

EventBase::free — Free resources allocated for this event base

Descrição

public EventBase::free ( ) : void

Deallocates resources allocated by libevent for the EventBase object.

Aviso

The EventBase::free() method doesn't destruct the object itself. To destruct the object completely call unset() , or assign null.

This method does not deallocate or detach any of the events that are currently associated with the EventBase object, or close any of their sockets - beware.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventBase::__construct() - Constructs EventBase object


Returns bitmask of features supported

  • « EventBase::free
  • EventBase::getMethod »
  • PHP Manual
  • EventBase
  • Returns bitmask of features supported

EventBase::getFeatures

(PECL event >= 1.2.6-beta)

EventBase::getFeatures — Returns bitmask of features supported

Descrição

public EventBase::getFeatures ( ) : int

Returns bitmask of features supported.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns integer representing a bitmask of supported features. See EventConfig::FEATURE_* constants .

Exemplos

Exemplo #1 EventBase::getFeatures() example

<?php
// Avoiding "select" method
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "`select' method avoided\n";
}

$base = new EventBase($cfg);

echo "Features:\n";
$features = $base->getFeatures();
($features & EventConfig::FEATURE_ET) and print("ET - edge-triggered IO\n");
($features & EventConfig::FEATURE_O1) and print("O1 - O(1) operation for adding/deletting events\n");
($features & EventConfig::FEATURE_FDS) and print("FDS - arbitrary file descriptor types, and not just sockets\n");
?>

Veja Também

  • EventBase::getMethod() - Returns event method in use
  • EventConfig


Returns event method in use

  • « EventBase::getFeatures
  • EventBase::getTimeOfDayCached »
  • PHP Manual
  • EventBase
  • Returns event method in use

EventBase::getMethod

(PECL event >= 1.2.6-beta)

EventBase::getMethod — Returns event method in use

Descrição

public EventBase::getMethod ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

String representing used event method(backend).

Exemplos

Exemplo #1 EventBase::getMethod() example

<?php
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "`select' method avoided\n";
}

// Create event_base associated with the config
$base = new EventBase($cfg);
echo "Event method used: ", $base->getMethod(), PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

`select' method avoided
Event method used: epoll

Veja Também

  • EventBase::getFeatures() - Returns bitmask of features supported


Returns the current event base time

  • « EventBase::getMethod
  • EventBase::gotExit »
  • PHP Manual
  • EventBase
  • Returns the current event base time

EventBase::getTimeOfDayCached

(PECL event >= 1.2.6-beta)

EventBase::getTimeOfDayCached — Returns the current event base time

Descrição

public EventBase::getTimeOfDayCached ( ) : float

On success returns the current time(as returned by gettimeofday() ), looking at the cached value in base if possible, and calling gettimeofday() or clock_gettime() as appropriate if there is no cached time.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current event base time. On failure returns null.


Checks if the event loop was told to exit

  • « EventBase::getTimeOfDayCached
  • EventBase::gotStop »
  • PHP Manual
  • EventBase
  • Checks if the event loop was told to exit

EventBase::gotExit

(PECL event >= 1.2.6-beta)

EventBase::gotExit — Checks if the event loop was told to exit

Descrição

public EventBase::gotExit ( ) : bool

Checks if the event loop was told to exit by EventBase::exit() .

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true, event loop was told to exit by EventBase::exit() . Otherwise false.

Veja Também

  • EventBase::exit() - Stop dispatching events
  • EventBase::stop() - Tells event_base to stop dispatching events
  • EventBase::gotStop() - Checks if the event loop was told to exit


Checks if the event loop was told to exit

  • « EventBase::gotExit
  • EventBase::loop »
  • PHP Manual
  • EventBase
  • Checks if the event loop was told to exit

EventBase::gotStop

(PECL event >= 1.2.6-beta)

EventBase::gotStop — Checks if the event loop was told to exit

Descrição

public EventBase::gotStop ( ) : bool

Checks if the event loop was told to exit by EventBase::stop() .

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true, event loop was told to stop by EventBase::stop() . Otherwise false.

Veja Também

  • EventBase::exit() - Stop dispatching events
  • EventBase::stop() - Tells event_base to stop dispatching events
  • EventBase::gotExit() - Checks if the event loop was told to exit


Dispatch pending events

  • « EventBase::gotStop
  • EventBase::priorityInit »
  • PHP Manual
  • EventBase
  • Dispatch pending events

EventBase::loop

(PECL event >= 1.2.6-beta)

EventBase::loop — Dispatch pending events

Descrição

public EventBase::loop ( int $flags = ? ) : bool

Wait for events to become active, and run their callbacks.

Aviso

Do NOT destroy the EventBase object as long as resources of the associated Event objects are not released. Otherwise, it will lead to unpredictable results!

Parâmetros

flags

Optional flags. One of EventBase::LOOP_* constants. See EventBase constants .

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBase::dispatch() - Dispatch pending events


Sets number of priorities per event base

  • « EventBase::loop
  • EventBase::reInit »
  • PHP Manual
  • EventBase
  • Sets number of priorities per event base

EventBase::priorityInit

(PECL event >= 1.2.6-beta)

EventBase::priorityInit — Sets number of priorities per event base

Descrição

public EventBase::priorityInit ( int $n_priorities ) : bool

Sets number of priorities per event base.

Parâmetros

n_priorities

The number of priorities per event base.

Valor Retornado

Returns true on success, otherwise false.

Veja Também

  • Event::setPriority() - Set event priority


Re-initialize event base(after a fork)

  • « EventBase::priorityInit
  • EventBase::stop »
  • PHP Manual
  • EventBase
  • Re-initialize event base(after a fork)

EventBase::reInit

(PECL event >= 1.2.6-beta)

EventBase::reInit — Re-initialize event base(after a fork)

Descrição

public EventBase::reInit ( ) : bool

Re-initialize event base. Should be called after a fork.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true on success. Otherwise false.


Tells event_base to stop dispatching events

  • « EventBase::reInit
  • EventBuffer »
  • PHP Manual
  • EventBase
  • Tells event_base to stop dispatching events

EventBase::stop

(PECL event >= 1.2.6-beta)

EventBase::stop — Tells event_base to stop dispatching events

Descrição

public EventBase::stop ( ) : bool

Tells event_base to stop dispatching events

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBase::exit() - Stop dispatching events
  • EventBase::gotStop() - Checks if the event loop was told to exit


The EventBuffer class

(PECL event >= 1.5.0)

Introdução

EventBuffer represents Libevent's "evbuffer", an utility functionality for buffered I/O.

Event buffers are meant to be generally useful for doing the "buffer" part of buffered network I/O.

Sinopse da classe

EventBuffer {
/* Constants */
const int EOL_ANY = 0 ;
const int EOL_CRLF = 1 ;
const int EOL_CRLF_STRICT = 2 ;
const int EOL_LF = 3 ;
const int PTR_SET = 0 ;
const int PTR_ADD = 1 ;
/* Propriedades */
public readonly int $length ;
public readonly int $contiguous_space ;
/* Métodos */
public add ( string $data ) : bool
public addBuffer ( EventBuffer $buf ) : bool
public appendFrom ( EventBuffer $buf , int $len ) : int
public __construct ( )
public copyout ( string &$data , int $max_bytes ) : int
public drain ( int $len ) : bool
public enableLocking ( ) : void
public expand ( int $len ) : bool
public freeze ( bool $at_front ) : bool
public lock ( ) : void
public prepend ( string $data ) : bool
public prependBuffer ( EventBuffer $buf ) : bool
public pullup ( int $size ) : string
public read ( int $max_bytes ) : string
public read ( mixed $fd , int $howmuch ) : int
public readLine ( int $eol_style ) : string
public search ( string $what , int $start = -1 , int $end = -1 ) : mixed
public searchEol ( int $start = -1 , int $eol_style = EventBuffer::EOL_ANY ) : mixed
public substr ( int $start , int $length = ? ) : string
public unfreeze ( bool $at_front ) : bool
public unlock ( ) : bool
public write ( mixed $fd , int $howmuch = ? ) : int
}

Propriedades

length

The number of bytes stored in an event buffer.

contiguous_space

The number of bytes stored contiguously at the front of the buffer. The bytes in a buffer may be stored in multiple separate chunks of memory; the property returns the number of bytes currently stored in the first chunk.

Constantes pré-definidas

EventBuffer::EOL_ANY

The end of line is any sequence of any number of carriage return and linefeed characters. This format is not very useful; it exists mainly for backward compatibility.

EventBuffer::EOL_CRLF

The end of the line is an optional carriage return, followed by a linefeed. (In other words, it is either a "\r\n" or a "\n" .) This format is useful in parsing text-based Internet protocols, since the standards generally prescribe a "\r\n" line-terminator, but nonconformant clients sometimes say just "\n" .

EventBuffer::EOL_CRLF_STRICT

The end of a line is a single carriage return, followed by a single linefeed. (This is also known as "\r\n" . The ASCII values are 0x0D 0x0A ).

EventBuffer::EOL_LF

The end of a line is a single linefeed character. (This is also known as "\n" . It is ASCII value is 0x0A .)

EventBuffer::PTR_SET

Flag used as argument of EventBuffer::setPosition() method. If this flag specified, the position pointer is moved to an absolute position within the buffer.

EventBuffer::PTR_ADD

The same as EventBuffer::PTR_SET , except this flag causes EventBuffer::setPosition() method to move position forward up to the specified number of bytes(instead of setting absolute position).

Índice

  • EventBuffer::add — Append data to the end of an event buffer
  • EventBuffer::addBuffer — Move all data from a buffer provided to the current instance of EventBuffer
  • EventBuffer::appendFrom — Moves the specified number of bytes from a source buffer to the end of the current buffer
  • EventBuffer::__construct — Constructs EventBuffer object
  • EventBuffer::copyout — Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain — Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::enableLocking — Descrição
  • EventBuffer::expand — Reserves space in buffer
  • EventBuffer::freeze — Prevent calls that modify an event buffer from succeeding
  • EventBuffer::lock — Acquires a lock on buffer
  • EventBuffer::prepend — Prepend data to the front of the buffer
  • EventBuffer::prependBuffer — Moves all data from source buffer to the front of current buffer
  • EventBuffer::pullup — Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::read — Read data from an evbuffer and drain the bytes read
  • EventBuffer::readFrom — Read data from a file onto the end of the buffer
  • EventBuffer::readLine — Extracts a line from the front of the buffer
  • EventBuffer::search — Scans the buffer for an occurrence of a string
  • EventBuffer::searchEol — Scans the buffer for an occurrence of an end of line
  • EventBuffer::substr — Substracts a portion of the buffer data
  • EventBuffer::unfreeze — Re-enable calls that modify an event buffer
  • EventBuffer::unlock — Releases lock acquired by EventBuffer::lock
  • EventBuffer::write — Write contents of the buffer to a file or socket


Append data to the end of an event buffer

  • « EventBuffer
  • EventBuffer::addBuffer »
  • PHP Manual
  • EventBuffer
  • Append data to the end of an event buffer

EventBuffer::add

(PECL event >= 1.2.6-beta)

EventBuffer::add — Append data to the end of an event buffer

Descrição

public EventBuffer::add ( string $data ) : bool

Append data to the end of an event buffer.

Parâmetros

data

String to be appended to the end of the buffer.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBuffer::addBuffer() - Move all data from a buffer provided to the current instance of EventBuffer


Move all data from a buffer provided to the current instance of EventBuffer

  • « EventBuffer::add
  • EventBuffer::appendFrom »
  • PHP Manual
  • EventBuffer
  • Move all data from a buffer provided to the current instance of EventBuffer

EventBuffer::addBuffer

(PECL event >= 1.2.6-beta)

EventBuffer::addBuffer — Move all data from a buffer provided to the current instance of EventBuffer

Descrição

public EventBuffer::addBuffer ( EventBuffer $buf ) : bool

Move all data from the buffer provided in buf parameter to the end of current EventBuffer . This is a destructive add. The data from one buffer moves into the other buffer. However, no unnecessary memory copies occur.

Parâmetros

buf

The source EventBuffer object.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBuffer::add() - Append data to the end of an event buffer


Moves the specified number of bytes from a source buffer to the end of the current buffer

  • « EventBuffer::addBuffer
  • EventBuffer::__construct »
  • PHP Manual
  • EventBuffer
  • Moves the specified number of bytes from a source buffer to the end of the current buffer

EventBuffer::appendFrom

(PECL event >= 1.6.0)

EventBuffer::appendFrom — Moves the specified number of bytes from a source buffer to the end of the current buffer

Descrição

public EventBuffer::appendFrom ( EventBuffer $buf , int $len ) : int

Moves the specified number of bytes from a source buffer to the end of the current buffer. If there are fewer number of bytes, it moves all the bytes available from the source buffer.

Parâmetros

buf

Source buffer.

len

Valor Retornado

Returns the number of bytes read.

Changelog

Versão | Descrição
PECL event 1.6.0 | Renamed EventBuffer::appendFrom()(the old method name) to EventBuffer::appendFrom().

Veja Também

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read


Constructs EventBuffer object

  • « EventBuffer::appendFrom
  • EventBuffer::copyout »
  • PHP Manual
  • EventBuffer
  • Constructs EventBuffer object

EventBuffer::__construct

(PECL event >= 1.2.6-beta)

EventBuffer::__construct — Constructs EventBuffer object

Descrição

public EventBuffer::__construct ( )

Constructs EventBuffer object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns EventBuffer object.


Copies out specified number of bytes from the front of the buffer

  • « EventBuffer::__construct
  • EventBuffer::drain »
  • PHP Manual
  • EventBuffer
  • Copies out specified number of bytes from the front of the buffer

EventBuffer::copyout

(PECL event >= 1.2.6-beta)

EventBuffer::copyout — Copies out specified number of bytes from the front of the buffer

Descrição

public EventBuffer::copyout ( string &$data , int $max_bytes ) : int

Behaves just like EventBuffer::read() , but does not drain any data from the buffer. I.e. it copies the first max_bytes bytes from the front of the buffer into data . If there are fewer than max_bytes bytes available, the function copies all the bytes there are.

Parâmetros

data

Output string.

max_bytes

The number of bytes to copy.

Valor Retornado

Returns the number of bytes copied, or -1 on failure.

Veja Também

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer


Removes specified number of bytes from the front of the buffer without copying it anywhere

  • « EventBuffer::copyout
  • EventBuffer::enableLocking »
  • PHP Manual
  • EventBuffer
  • Removes specified number of bytes from the front of the buffer without copying it anywhere

EventBuffer::drain

(PECL event >= 1.2.6-beta)

EventBuffer::drain — Removes specified number of bytes from the front of the buffer without copying it anywhere

Descrição

public EventBuffer::drain ( int $len ) : bool

Behaves as EventBuffer::read() , except that it does not copy the data: it just removes it from the front of the buffer.

Parâmetros

len

The number of bytes to remove from the buffer.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer


Descrição

  • « EventBuffer::drain
  • EventBuffer::expand »
  • PHP Manual
  • EventBuffer
  • Descrição

EventBuffer::enableLocking

(PECL event >= 1.2.6-beta)

EventBuffer::enableLocking —

Descrição

public EventBuffer::enableLocking ( ) : void

Enable locking on an EventBuffer so that it can safely be used by multiple threads at the same time. When locking is enabled, the lock will be held when callbacks are invoked. This could result in deadlock if you aren't careful. Plan accordingly!

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • » Evbuffers and Thread-safety


Reserves space in buffer

  • « EventBuffer::enableLocking
  • EventBuffer::freeze »
  • PHP Manual
  • EventBuffer
  • Reserves space in buffer

EventBuffer::expand

(PECL event >= 1.2.6-beta)

EventBuffer::expand — Reserves space in buffer

Descrição

public EventBuffer::expand ( int $len ) : bool

Alters the last chunk of memory in the buffer, or adds a new chunk, such that the buffer is now large enough to contain len bytes without any further allocations.

Parâmetros

len

The number of bytes to reserve for the buffer

Valor Retornado

Returns true on success. Otherwise false.


Prevent calls that modify an event buffer from succeeding

  • « EventBuffer::expand
  • EventBuffer::lock »
  • PHP Manual
  • EventBuffer
  • Prevent calls that modify an event buffer from succeeding

EventBuffer::freeze

(PECL event >= 1.2.6-beta)

EventBuffer::freeze — Prevent calls that modify an event buffer from succeeding

Descrição

public EventBuffer::freeze ( bool $at_front ) : bool

Prevent calls that modify an event buffer from succeeding

Parâmetros

at_front

Whether to disable changes to the front or end of the buffer.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBuffer::unfreeze() - Re-enable calls that modify an event buffer


Acquires a lock on buffer

  • « EventBuffer::freeze
  • EventBuffer::prepend »
  • PHP Manual
  • EventBuffer
  • Acquires a lock on buffer

EventBuffer::lock

(PECL event >= 1.2.6-beta)

EventBuffer::lock — Acquires a lock on buffer

Descrição

public EventBuffer::lock ( ) : void

Acquires a lock on buffer. Can be used in pair with EventBuffer::unlock() to make a set of operations atomic, i.e. thread-safe. Note, it is not needed to lock buffers for individual operations. When locking is enabled(see EventBuffer::enableLocking() ), individual operations on event buffers are already atomic.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventBuffer::unlock() - Releases lock acquired by EventBuffer::lock


Prepend data to the front of the buffer

  • « EventBuffer::lock
  • EventBuffer::prependBuffer »
  • PHP Manual
  • EventBuffer
  • Prepend data to the front of the buffer

EventBuffer::prepend

(PECL event >= 1.2.6-beta)

EventBuffer::prepend — Prepend data to the front of the buffer

Descrição

public EventBuffer::prepend ( string $data ) : bool

Prepend data to the front of the buffer.

Parâmetros

data

String to be prepended to the front of the buffer.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBuffer::prependBuffer() - Moves all data from source buffer to the front of current buffer
  • EventBuffer::add() - Append data to the end of an event buffer
  • EventBuffer::addBuffer() - Move all data from a buffer provided to the current instance of EventBuffer


Moves all data from source buffer to the front of current buffer

  • « EventBuffer::prepend
  • EventBuffer::pullup »
  • PHP Manual
  • EventBuffer
  • Moves all data from source buffer to the front of current buffer

EventBuffer::prependBuffer

(PECL event >= 1.2.6-beta)

EventBuffer::prependBuffer — Moves all data from source buffer to the front of current buffer

Descrição

public EventBuffer::prependBuffer ( EventBuffer $buf ) : bool

Behaves as EventBuffer::addBuffer() , except that it moves data to the front of the buffer.

Parâmetros

buf

Source buffer.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBuffer::add() - Append data to the end of an event buffer
  • EventBuffer::addBuffer() - Move all data from a buffer provided to the current instance of EventBuffer
  • EventBuffer::prepend() - Prepend data to the front of the buffer


Linearizes data within buffer and returns it's contents as a string

  • « EventBuffer::prependBuffer
  • EventBuffer::read »
  • PHP Manual
  • EventBuffer
  • Linearizes data within buffer and returns it's contents as a string

EventBuffer::pullup

(PECL event >= 1.2.6-beta)

EventBuffer::pullup — Linearizes data within buffer and returns it's contents as a string

Descrição

public EventBuffer::pullup ( int $size ) : string

"Linearizes" the first size bytes of the buffer, copying or moving them as needed to ensure that they are all contiguous and occupying the same chunk of memory. If size is negative, the function linearizes the entire buffer.

Aviso

Calling EventBuffer::pullup() with a large size can be quite slow, since it potentially needs to copy the entire buffer's contents.

Parâmetros

size

The number of bytes required to be contiguous within the buffer.

Valor Retornado

If size is greater than the number of bytes in the buffer, the function returns null. Otherwise, EventBuffer::pullup() returns string.

Veja Também

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer


Read data from an evbuffer and drain the bytes read

  • « EventBuffer::pullup
  • EventBuffer::readFrom »
  • PHP Manual
  • EventBuffer
  • Read data from an evbuffer and drain the bytes read

EventBuffer::read

(PECL event >= 1.6.0)

EventBuffer::read — Read data from an evbuffer and drain the bytes read

Descrição

public EventBuffer::read ( int $max_bytes ) : string

Read the first max_bytes from the buffer and drain the bytes read. If more max_bytes are requested than are available in the buffer, it only extracts as many bytes as available.

Parâmetros

max_bytes

Maxmimum number of bytes to read from the buffer.

Valor Retornado

Returns string read, or false on failure.

Changelog

Versão | Descrição
PECL event 1.6.0 | Renamed EventBuffer::read()(the old method name) to EventBuffer::read(). EventBuffer::read() now takes only max_bytes argument; returns string instead of integer.

Veja Também

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer


Read data from a file onto the end of the buffer

  • « EventBuffer::read
  • EventBuffer::readLine »
  • PHP Manual
  • EventBuffer
  • Read data from a file onto the end of the buffer

EventBuffer::readFrom

(PECL event >= 1.7.0)

EventBuffer::readFrom — Read data from a file onto the end of the buffer

Descrição

public EventBuffer::read ( mixed $fd , int $howmuch ) : int

Read data from the file specified by fd onto the end of the buffer.

Parâmetros

fd

Socket resource, stream, or numeric file descriptor.

howmuch

Maxmimum number of bytes to read.

Valor Retornado

Returns the number of bytes read, or false on failure.

Veja Também

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer


Extracts a line from the front of the buffer

  • « EventBuffer::readFrom
  • EventBuffer::search »
  • PHP Manual
  • EventBuffer
  • Extracts a line from the front of the buffer

EventBuffer::readLine

(PECL event >= 1.2.6-beta)

EventBuffer::readLine — Extracts a line from the front of the buffer

Descrição

public EventBuffer::readLine ( int $eol_style ) : string

Extracts a line from the front of the buffer and returns it in a newly allocated string. If there is not a whole line to read, the function returns null. The line terminator is not included in the copied string.

Parâmetros

eol_style

One of EventBuffer:EOL_* constants .

Valor Retornado

On success returns the line read from the buffer, otherwise null.

Veja Também

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer


Scans the buffer for an occurrence of a string

  • « EventBuffer::readLine
  • EventBuffer::searchEol »
  • PHP Manual
  • EventBuffer
  • Scans the buffer for an occurrence of a string

EventBuffer::search

(PECL event >= 1.2.6-beta)

EventBuffer::search — Scans the buffer for an occurrence of a string

Descrição

public EventBuffer::search ( string $what , int $start = -1 , int $end = -1 ) : mixed

Scans the buffer for an occurrence of the string what . It returns numeric position of the string, or false if the string was not found.

If the start argument is provided, it points to the position at which the search should begin; otherwise, the search is performed from the start of the string. If end argument provided, the search is performed between start and end buffer positions.

Parâmetros

what

String to search.

start

Start search position.

end

End search position.

Valor Retornado

Returns numeric position of the first occurance of the string in the buffer, or false if string is not found.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Exemplos

Exemplo #1 EventBuffer::search() example

<?php
// Count total occurances of 'str' in 'buf'
function count_instances($buf, $str) {
    $total = 0;
    $p     = 0;
    $i     = 0;

    while (1) {
        $p = $buf->search($str, $p);
        if ($p === FALSE) {
            break;
        }
        ++$total;
        ++$p;
    }

    return $total;
}

$buf = new EventBuffer();
$buf->add("Some string within a string inside another string");
var_dump(count_instances($buf, "str"));
?>

O exemplo acima irá imprimir algo similar à:

int(3)

Veja Também

  • EventBuffer::searchEol() - Scans the buffer for an occurrence of an end of line


Scans the buffer for an occurrence of an end of line

  • « EventBuffer::search
  • EventBuffer::substr »
  • PHP Manual
  • EventBuffer
  • Scans the buffer for an occurrence of an end of line

EventBuffer::searchEol

(PECL event >= 1.5.0)

EventBuffer::searchEol — Scans the buffer for an occurrence of an end of line

Descrição

public EventBuffer::searchEol ( int $start = -1 , int $eol_style = EventBuffer::EOL_ANY ) : mixed

Scans the buffer for an occurrence of an end of line specified by eol_style parameter . It returns numeric position of the string, or false if the string was not found.

If the start argument is provided, it represents the position at which the search should begin; otherwise, the search is performed from the start of the string. If end argument provided, the search is performed between start and end buffer positions.

Parâmetros

start

Start search position.

eol_style

One of EventBuffer:EOL_* constants .

Valor Retornado

Returns numeric position of the first occurance of end-of-line symbol in the buffer, or false if not found.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Veja Também

  • EventBuffer::search() - Scans the buffer for an occurrence of a string


Substracts a portion of the buffer data

  • « EventBuffer::searchEol
  • EventBuffer::unfreeze »
  • PHP Manual
  • EventBuffer
  • Substracts a portion of the buffer data

EventBuffer::substr

(PECL event >= 1.6.0)

EventBuffer::substr — Substracts a portion of the buffer data

Descrição

public EventBuffer::substr ( int $start , int $length = ? ) : string

Substracts up to length bytes of the buffer data beginning at start position.

Parâmetros

start

The start position of data to be substracted.

length

Maximum number of bytes to substract.

Valor Retornado

Returns the data substracted as a string on success, or false on failure.

Veja Também

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read


Re-enable calls that modify an event buffer

  • « EventBuffer::substr
  • EventBuffer::unlock »
  • PHP Manual
  • EventBuffer
  • Re-enable calls that modify an event buffer

EventBuffer::unfreeze

(PECL event >= 1.2.6-beta)

EventBuffer::unfreeze — Re-enable calls that modify an event buffer

Descrição

public EventBuffer::unfreeze ( bool $at_front ) : bool

Re-enable calls that modify an event buffer.

Parâmetros

at_front

Whether to enable events at the front or at the end of the buffer.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBuffer::freeze() - Prevent calls that modify an event buffer from succeeding


Releases lock acquired by EventBuffer::lock

  • « EventBuffer::unfreeze
  • EventBuffer::write »
  • PHP Manual
  • EventBuffer
  • Releases lock acquired by EventBuffer::lock

EventBuffer::unlock

(PECL event >= 1.2.6-beta)

EventBuffer::unlock — Releases lock acquired by EventBuffer::lock

Descrição

public EventBuffer::unlock ( ) : bool

Releases lock acquired by EventBuffer::lock() .

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBuffer::lock() - Acquires a lock on buffer


Write contents of the buffer to a file or socket

  • « EventBuffer::unlock
  • EventBufferEvent »
  • PHP Manual
  • EventBuffer
  • Write contents of the buffer to a file or socket

EventBuffer::write

(PECL event >= 1.6.0)

EventBuffer::write — Write contents of the buffer to a file or socket

Descrição

public EventBuffer::write ( mixed $fd , int $howmuch = ? ) : int

Write contents of the buffer to a file descriptor. The buffer will be drained after the bytes have been successfully written.

Parâmetros

fd

Socket resource, stream or numeric file descriptor associated normally associated with a socket.

howmuch

The maximum number of bytes to write.

Valor Retornado

Returns the number of bytes written, or false on error.

Veja Também

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read


The EventBufferEvent class

(PECL event >= 1.2.6-beta)

Introdução

Represents Libevent's buffer event.

Usually an application wants to perform some amount of data buffering in addition to just responding to events. When we want to write data, for example, the usual pattern looks like:

  1. Decide that we want to write some data to a connection; put that data in a buffer.

  2. Wait for the connection to become writable

  3. Write as much of the data as we can

  4. Remember how much we wrote, and if we still have more data to write, wait for the connection to become writable again.

This buffered I/O pattern is common enough that Libevent provides a generic mechanism for it. A "buffer event" consists of an underlying transport (like a socket), a read buffer, and a write buffer. Instead of regular events, which give callbacks when the underlying transport is ready to be read or written, a buffer event invokes its user-supplied callbacks when it has read or written enough data.

Sinopse da classe

final EventBufferEvent {
/* Constants */
const int READING = 1 ;
const int WRITING = 2 ;
const int EOF = 16 ;
const int ERROR = 32 ;
const int TIMEOUT = 64 ;
const int CONNECTED = 128 ;
const int OPT_CLOSE_ON_FREE = 1 ;
const int OPT_THREADSAFE = 2 ;
const int OPT_DEFER_CALLBACKS = 4 ;
const int OPT_UNLOCK_CALLBACKS = 8 ;
const int SSL_OPEN = 0 ;
const int SSL_CONNECTING = 1 ;
const int SSL_ACCEPTING = 2 ;
/* Propriedades */
public int $fd ;
public int $priority ;
public readonly EventBuffer $input ;
public readonly EventBuffer $output ;
/* Métodos */
public close ( ) : void
public connect ( string $addr ) : bool
public connectHost ( EventDnsBase $dns_base , string $hostname , int $port , int $family = EventUtil::AF_UNSPEC ) : bool
public __construct ( EventBase $base , mixed $socket = null , int $options = 0 , callable $readcb = null , callable $writecb = null , callable $eventcb = null )
public static createPair ( EventBase $base , int $options = 0 ) : array
public disable ( int $events ) : bool
public enable ( int $events ) : bool
public free ( ) : void
public getDnsErrorString ( ) : string
public getEnabled ( ) : int
public getInput ( ) : EventBuffer
public getOutput ( ) : EventBuffer
public read ( int $size ) : string
public readBuffer ( EventBuffer $buf ) : bool
public setCallbacks ( callable $readcb , callable $writecb , callable $eventcb , string $arg = ? ) : void
public setPriority ( int $priority ) : bool
public setTimeouts ( float $timeout_read , float $timeout_write ) : bool
public setWatermark ( int $events , int $lowmark , int $highmark ) : void
public sslError ( ) : string
public static sslFilter ( EventBase $base , EventBufferEvent $underlying , EventSslContext $ctx , int $state , int $options = 0 ) : EventBufferEvent
public sslGetCipherInfo ( ) : string
public sslGetCipherName ( ) : string
public sslGetCipherVersion ( ) : string
public sslGetProtocol ( ) : string
public sslRenegotiate ( ) : void
public static sslSocket ( EventBase $base , mixed $socket , EventSslContext $ctx , int $state , int $options = ? ) : EventBufferEvent
public write ( string $data ) : bool
public writeBuffer ( EventBuffer $buf ) : bool
}

Propriedades

fd

Numeric file descriptor associated with the buffer event. Normally represents a bound socket. Equals to null, if there is no file descriptor(socket) associated with the buffer event.

priority

The priority of the events used to implement the buffer event.

input

Underlying input buffer object( EventBuffer )

output

Underlying output buffer object( EventBuffer )

Constantes pré-definidas

EventBufferEvent::READING

An event occurred during a read operation on the bufferevent. See the other flags for which event it was.

EventBufferEvent::WRITING

An event occurred during a write operation on the bufferevent. See the other flags for which event it was.

EventBufferEvent::EOF

Got an end-of-file indication on the buffer event.

EventBufferEvent::ERROR

An error occurred during a bufferevent operation. For more information on what the error was, call EventUtil::getLastSocketErrno() and/or EventUtil::getLastSocketError() .

EventBufferEvent::TIMEOUT

EventBufferEvent::CONNECTED

Finished a requested connection on the bufferevent.

EventBufferEvent::OPT_CLOSE_ON_FREE

When the buffer event is freed, close the underlying transport. This will close an underlying socket, free an underlying buffer event, etc.

EventBufferEvent::OPT_THREADSAFE

Automatically allocate locks for the bufferevent, so that it’s safe to use from multiple threads.

EventBufferEvent::OPT_DEFER_CALLBACKS

When this flag is set, the bufferevent defers all of its callbacks. See » Fast portable non-blocking network programming with Libevent, Deferred callbacks .

EventBufferEvent::OPT_UNLOCK_CALLBACKS

By default, when the bufferevent is set up to be threadsafe, the buffer event’s locks are held whenever the any user-provided callback is invoked. Setting this option makes Libevent release the buffer event’s lock when it’s invoking the callbacks.

EventBufferEvent::SSL_OPEN

The SSL handshake is done

EventBufferEvent::SSL_CONNECTING

SSL is currently performing negotiation as a client

EventBufferEvent::SSL_ACCEPTING

SSL is currently performing negotiation as a server

Índice

  • EventBufferEvent::close — Closes file descriptor associated with the current buffer event
  • EventBufferEvent::connect — Connect buffer event's file descriptor to given address or UNIX socket
  • EventBufferEvent::connectHost — Connects to a hostname with optionally asyncronous DNS resolving
  • EventBufferEvent::__construct — Constructs EventBufferEvent object
  • EventBufferEvent::createPair — Creates two buffer events connected to each other
  • EventBufferEvent::disable — Disable events read, write, or both on a buffer event
  • EventBufferEvent::enable — Enable events read, write, or both on a buffer event
  • EventBufferEvent::free — Free a buffer event
  • EventBufferEvent::getDnsErrorString — Returns string describing the last failed DNS lookup attempt
  • EventBufferEvent::getEnabled — Returns bitmask of events currently enabled on the buffer event
  • EventBufferEvent::getInput — Returns underlying input buffer associated with current buffer event
  • EventBufferEvent::getOutput — Returns underlying output buffer associated with current buffer event
  • EventBufferEvent::read — Read buffer's data
  • EventBufferEvent::readBuffer — Drains the entire contents of the input buffer and places them into buf
  • EventBufferEvent::setCallbacks — Assigns read, write and event(status) callbacks
  • EventBufferEvent::setPriority — Assign a priority to a bufferevent
  • EventBufferEvent::setTimeouts — Set the read and write timeout for a buffer event
  • EventBufferEvent::setWatermark — Adjusts read and/or write watermarks
  • EventBufferEvent::sslError — Returns most recent OpenSSL error reported on the buffer event
  • EventBufferEvent::sslFilter — Create a new SSL buffer event to send its data over another buffer event
  • EventBufferEvent::sslGetCipherInfo — Returns a textual description of the cipher
  • EventBufferEvent::sslGetCipherName — Returns the current cipher name of the SSL connection
  • EventBufferEvent::sslGetCipherVersion — Returns version of cipher used by current SSL connection
  • EventBufferEvent::sslGetProtocol — Returns the name of the protocol used for current SSL connection
  • EventBufferEvent::sslRenegotiate — Tells a bufferevent to begin SSL renegotiation
  • EventBufferEvent::sslSocket — Creates a new SSL buffer event to send its data over an SSL on a socket
  • EventBufferEvent::write — Adds data to a buffer event's output buffer
  • EventBufferEvent::writeBuffer — Adds contents of the entire buffer to a buffer event's output buffer


Closes file descriptor associated with the current buffer event

  • « EventBufferEvent
  • EventBufferEvent::connect »
  • PHP Manual
  • EventBufferEvent
  • Closes file descriptor associated with the current buffer event

EventBufferEvent::close

(PECL event >= 1.10.0)

EventBufferEvent::close — Closes file descriptor associated with the current buffer event

Descrição

public EventBufferEvent::close ( ) : void

Closes file descriptor associated with the current buffer event.

This method may be used in cases when the EventBufferEvent::OPT_CLOSE_ON_FREE option is not appropriate.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Connect buffer event's file descriptor to given address or UNIX socket

  • « EventBufferEvent::close
  • EventBufferEvent::connectHost »
  • PHP Manual
  • EventBufferEvent
  • Connect buffer event's file descriptor to given address or UNIX socket

EventBufferEvent::connect

(PECL event >= 1.2.6-beta)

EventBufferEvent::connect — Connect buffer event's file descriptor to given address or UNIX socket

Descrição

public EventBufferEvent::connect ( string $addr ) : bool

Connect buffer event's file descriptor to given address(optionally with port), or a UNIX domain socket.

If socket is not assigned to the buffer event, this function allocates a new socket and makes it non-blocking internally.

To resolve DNS names(asyncronously), use EventBufferEvent::connectHost() method.

Parâmetros

addr

Should contain an IP address with optional port number, or a path to UNIX domain socket. Recognized formats are:

[IPv6Address]:port
[IPv6Address]
IPv6Address
IPv4Address:port
IPv4Address
unix:path
Note, 'unix:' prefix is currently not case sensitive.

Valor Retornado

Returns true on success. Otherwise false.

Exemplos

Exemplo #1 EventBufferEvent::connect() example

<?php
/*
 * 1. Connect to 127.0.0.1 at port 80
 * by means of EventBufferEvent::connect().
 *
 * 2. Request /index.cphp via HTTP/1.0
 * using the output buffer.
 *
 * 3. Asyncronously read the response and print it to stdout.
 */

/* Read callback */
function readcb($bev, $base) {
    $input = $bev->getInput();

    while (($n = $input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}

/* Event callback */
function eventcb($bev, $events, $base) {
    if ($events & EventBufferEvent::CONNECTED) {
        echo "Connected.\n";
    } elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
        if ($events & EventBufferEvent::ERROR) {
            echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
        }

        echo "Closing\n";
        $base->exit();
        exit("Done\n");
    }
}

$base = new EventBase();

echo "step 1\n";
$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

echo "step 2\n";
$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

echo "step 3\n";
/* Send request */
$output = $bev->getOutput();
if (!$output->add(
    "GET /index.cphp HTTP/1.0\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

/* Connect to the host syncronously.
 * We know the IP, and don't need to resolve DNS. */
if (!$bev->connect("127.0.0.1:80")) {
    exit("Can't connect to host\n");
}

/* Dispatch pending events */
$base->dispatch();

O exemplo acima irá imprimir algo similar à:

step 1
step 2
step 3
Connected.
HTTP/1.1 200 OK
Server: nginx/1.2.6
Date: Sat, 09 Mar 2013 10:06:58 GMT
Content-Type: text/html; CHARSET=Windows-1252
Connection: close
X-Powered-By: PHP/5.4.11--pl2-gentoo

sdfsdfsf
Closing
Done

Exemplo #2 Connect to UNIX domain socket which presumably is served by a server, read response from the server and output it to the console

<?php
class MyUnixSocketClient {
    private $base, $bev;

    function __construct($base, $sock_path) {
        $this->base = $base;
        $this->bev = new EventBufferEvent($base, NULL, EventBufferEvent::OPT_CLOSE_ON_FREE,
            array ($this, "read_cb"), NULL, array ($this, "event_cb"));

        if (!$this->bev->connect("unix:$sock_path")) {
            trigger_error("Failed to connect to socket `$sock_path'", E_USER_ERROR);
        }

        $this->bev->enable(Event::READ);
    }

    function __destruct() {
        if ($this->bev) {
            $this->bev->free();
            $this->bev = NULL;
        }
    }

    function dispatch() {
        $this->base->dispatch();
    }

    function read_cb($bev, $unused) {
        $in = $bev->input;

        printf("Received %ld bytes\n", $in->length);
        printf("----- data ----\n");
        printf("%ld:\t%s\n", (int) $in->length, $in->pullup(-1));

        $this->bev->free();
        $this->bev = NULL;
        $this->base->exit(NULL);
    }

    function event_cb($bev, $events, $unused) {
        if ($events & EventBufferEvent::ERROR) {
            echo "Error from bufferevent\n";
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            $bev->free();
            $bev = NULL;
        } elseif ($events & EventBufferEvent::CONNECTED) {
            $bev->output->add("test\n");
        }
    }
}

if ($argc <= 1) {
    exit("Socket path is not provided\n");
}
$sock_path = $argv[1];

$base = new EventBase();
$cl = new MyUnixSocketClient($base, $sock_path);
$cl->dispatch();
?>

O exemplo acima irá imprimir algo similar à:

Received 5 bytes
----- data ----
5:  test

Veja Também

  • EventBufferEvent::connectHost() - Connects to a hostname with optionally asyncronous DNS resolving


Connects to a hostname with optionally asyncronous DNS resolving

  • « EventBufferEvent::connect
  • EventBufferEvent::__construct »
  • PHP Manual
  • EventBufferEvent
  • Connects to a hostname with optionally asyncronous DNS resolving

EventBufferEvent::connectHost

(PECL event >= 1.2.6-beta)

EventBufferEvent::connectHost — Connects to a hostname with optionally asyncronous DNS resolving

Descrição

public EventBufferEvent::connectHost ( EventDnsBase $dns_base , string $hostname , int $port , int $family = EventUtil::AF_UNSPEC ) : bool

Resolves the DNS name hostname, looking for addresses of type family ( EventUtil::AF_* constants). If the name resolution fails, it invokes the event callback with an error event. If it succeeds, it launches a connection attempt just as EventBufferEvent::connect() would.

dns_base is optional. May be null, or an object created with EventDnsBase::__construct() . For asyncronous hostname resolving pass a valid event dns base resource. Otherwise the hostname resolving will block.

Nota:

EventDnsBase is available only if Event configured --with-event-extra ( event_extra library, libevent protocol-specific functionality support including HTTP, DNS, and RPC ).

Nota:

EventBufferEvent::connectHost() requires libevent-2.0.3-alpha or greater.

Parâmetros

dns_base

Object of EventDnsBase in case if DNS is to be resolved asyncronously. Otherwise null.

hostname

Hostname to connect to. Recognized formats are:

www.example.com (hostname)
 1.2.3.4 (ipv4address)
 ::1 (ipv6address)
[::1] ([ipv6address])

port

Port number

family

Address family. EventUtil::AF_UNSPEC , EventUtil::AF_INET , or EventUtil::AF_INET6 . See EventUtil constants .

Valor Retornado

Returns true on success. Otherwise false.

Exemplos

Exemplo #1 EventBufferEvent::connectHost() example

<?php
/* Read callback */
function readcb($bev, $base) {
    //$input = $bev->input; //$bev->getInput();

    //$pos = $input->search("TTP");
    $pos = $bev->input->search("TTP");

    while (($n = $bev->input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}

/* Event callback */
function eventcb($bev, $events, $base) {
    if ($events & EventBufferEvent::CONNECTED) {
        echo "Connected.\n";
    } elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
        if ($events & EventBufferEvent::ERROR) {
            echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
        }

        echo "Closing\n";
        $base->exit();
        exit("Done\n");
    }
}

$base = new EventBase();

$dns_base = new EventDnsBase($base, TRUE); // We'll use async DNS resolving
if (!$dns_base) {
    exit("Failed to init DNS Base\n");
}

$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS,
    "readcb", /* writecb */ NULL, "eventcb", $base
);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

//$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

$output = $bev->output; //$bev->getOutput();
if (!$output->add(
    "GET {$argv[2]} HTTP/1.0\r\n".
    "Host: {$argv[1]}\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

if (!$bev->connectHost($dns_base, $argv[1], 80, EventUtil::AF_UNSPEC)) {
    exit("Can't connect to host {$argv[1]}\n");
}

$base->dispatch();
?>

O exemplo acima irá imprimir algo similar à:

Connected.
HTTP/1.0 301 Moved Permanently
Location: http://www.google.co.uk/
Content-Type: text/html; CHARSET=Windows-1252
Date: Sat, 09 Mar 2013 12:21:19 GMT
Expires: Mon, 08 Apr 2013 12:21:19 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN

<HTML><HEAD><meta http-equiv="content-type" content="text/html;CHARSET=Windows-1252">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.co.uk/">here</A>.
</BODY></HTML>
Closing
Done

Veja Também

  • EventBufferEvent::connect() - Connect buffer event's file descriptor to given address or UNIX socket


Constructs EventBufferEvent object

  • « EventBufferEvent::connectHost
  • EventBufferEvent::createPair »
  • PHP Manual
  • EventBufferEvent
  • Constructs EventBufferEvent object

EventBufferEvent::__construct

(PECL event >= 1.2.6-beta)

EventBufferEvent::__construct — Constructs EventBufferEvent object

Descrição

public EventBufferEvent::__construct ( EventBase $base , mixed $socket = null , int $options = 0 , callable $readcb = null , callable $writecb = null , callable $eventcb = null )

Create a buffer event on a socket, stream or a file descriptor. Passing null to socket means that the socket should be created later, e.g. by means of EventBufferEvent::connect() .

Parâmetros

base

Event base that should be associated with the new buffer event.

socket

May be created as a stream(not necessarily by means of sockets extension)

options

One of EventBufferEvent::OPT_* constants , or 0 .

readcb

Read event callback. See About buffer event callbacks .

writecb

Write event callback. See About buffer event callbacks .

eventcb

Status-change event callback. See About buffer event callbacks .

arg

A variable that will be passed to all the callbacks.

Valor Retornado

Returns buffer event resource optionally associated with socket resource. */

Veja Também

  • EventBufferEvent::sslFilter() - Create a new SSL buffer event to send its data over another buffer event
  • EventBufferEvent::sslSocket() - Creates a new SSL buffer event to send its data over an SSL on a socket


Creates two buffer events connected to each other

  • « EventBufferEvent::__construct
  • EventBufferEvent::disable »
  • PHP Manual
  • EventBufferEvent
  • Creates two buffer events connected to each other

EventBufferEvent::createPair

(PECL event >= 1.2.6-beta)

EventBufferEvent::createPair — Creates two buffer events connected to each other

Descrição

public static EventBufferEvent::createPair ( EventBase $base , int $options = 0 ) : array

Returns array of two EventBufferEvent objects connected to each other. All the usual options are supported, except for EventBufferEvent::OPT_CLOSE_ON_FREE , which has no effect, and EventBufferEvent::OPT_DEFER_CALLBACKS , which is always on.

Parâmetros

base

Associated event base

options

EventBufferEvent::OPT_* constants combined with bitwise OR operator.

Valor Retornado

Returns array of two EventBufferEvent objects connected to each other.

Changelog

Versão | Descrição
PECL event 1.9.0 | Method made static.


Disable events read, write, or both on a buffer event

  • « EventBufferEvent::createPair
  • EventBufferEvent::enable »
  • PHP Manual
  • EventBufferEvent
  • Disable events read, write, or both on a buffer event

EventBufferEvent::disable

(PECL event >= 1.2.6-beta)

EventBufferEvent::disable — Disable events read, write, or both on a buffer event

Descrição

public EventBufferEvent::disable ( int $events ) : bool

Disable events Event::READ , Event::WRITE , or Event::READ | Event::WRITE on a buffer event.

Parâmetros

events

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBufferEvent::enable() - Enable events read, write, or both on a buffer event


Enable events read, write, or both on a buffer event

  • « EventBufferEvent::disable
  • EventBufferEvent::free »
  • PHP Manual
  • EventBufferEvent
  • Enable events read, write, or both on a buffer event

EventBufferEvent::enable

(PECL event >= 1.2.6-beta)

EventBufferEvent::enable — Enable events read, write, or both on a buffer event

Descrição

public EventBufferEvent::enable ( int $events ) : bool

Enable events Event::READ , Event::WRITE , or Event::READ | Event::WRITE on a buffer event.

Parâmetros

events

Event::READ , Event::WRITE , or Event::READ | Event::WRITE on a buffer event.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBufferEvent::disable() - Disable events read, write, or both on a buffer event


Free a buffer event

  • « EventBufferEvent::enable
  • EventBufferEvent::getDnsErrorString »
  • PHP Manual
  • EventBufferEvent
  • Free a buffer event

EventBufferEvent::free

(PECL event >= 1.2.6-beta)

EventBufferEvent::free — Free a buffer event

Descrição

public EventBufferEvent::free ( ) : void

Free resources allocated by buffer event.

Usually there is no need to call this method, since normally it is done within internal object destructors. However, sometimes we have a long-time script allocating lots of instances, or a script with a heavy memory usage, where we need to free resources as soon as possible. In such cases EventBufferEvent::free() may be used to protect the script against running up to the memory_limit .

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Returns string describing the last failed DNS lookup attempt

  • « EventBufferEvent::free
  • EventBufferEvent::getEnabled »
  • PHP Manual
  • EventBufferEvent
  • Returns string describing the last failed DNS lookup attempt

EventBufferEvent::getDnsErrorString

(PECL event >= 1.2.6-beta)

EventBufferEvent::getDnsErrorString — Returns string describing the last failed DNS lookup attempt

Descrição

public EventBufferEvent::getDnsErrorString ( ) : string

Returns string describing the last failed DNS lookup attempt made by EventBufferEvent::connectHost() , or an empty string, if there is no DNS error detected.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string describing DNS lookup error, or an empty string for no error.

Veja Também

  • EventBufferEvent::connectHost() - Connects to a hostname with optionally asyncronous DNS resolving


Returns bitmask of events currently enabled on the buffer event

  • « EventBufferEvent::getDnsErrorString
  • EventBufferEvent::getInput »
  • PHP Manual
  • EventBufferEvent
  • Returns bitmask of events currently enabled on the buffer event

EventBufferEvent::getEnabled

(PECL event >= 1.2.6-beta)

EventBufferEvent::getEnabled — Returns bitmask of events currently enabled on the buffer event

Descrição

public EventBufferEvent::getEnabled ( ) : int

Returns bitmask of events currently enabled on the buffer event

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns integer representing a bitmask of events currently enabled on the buffer event

Veja Também

  • EventBufferEvent::enable() - Enable events read, write, or both on a buffer event
  • EventBufferEvent::disable() - Disable events read, write, or both on a buffer event


Returns underlying input buffer associated with current buffer event

  • « EventBufferEvent::getEnabled
  • EventBufferEvent::getOutput »
  • PHP Manual
  • EventBufferEvent
  • Returns underlying input buffer associated with current buffer event

EventBufferEvent::getInput

(PECL event >= 1.2.6-beta)

EventBufferEvent::getInput — Returns underlying input buffer associated with current buffer event

Descrição

public EventBufferEvent::getInput ( ) : EventBuffer

Returns underlying input buffer associated with current buffer event. An input buffer is a storage for data to read.

Note, there is also input property of EventBufferEvent class.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns instance of EventBuffer input buffer associated with current buffer event.

Exemplos

Exemplo #1 Buffer event's read callback

<?php
function readcb($bev, $base) {
    $input = $bev->input; //$bev->getInput();

    while (($n = $input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}
?>

Veja Também

  • EventBufferEvent::getOutput() - Returns underlying output buffer associated with current buffer event


Returns underlying output buffer associated with current buffer event

  • « EventBufferEvent::getInput
  • EventBufferEvent::read »
  • PHP Manual
  • EventBufferEvent
  • Returns underlying output buffer associated with current buffer event

EventBufferEvent::getOutput

(PECL event >= 1.2.6-beta)

EventBufferEvent::getOutput — Returns underlying output buffer associated with current buffer event

Descrição

public EventBufferEvent::getOutput ( ) : EventBuffer

Returns underlying output buffer associated with current buffer event. An output buffer is a storage for data to be written.

Note, there is also output property of EventBufferEvent class.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns instance of EventBuffer output buffer associated with current buffer event.

Exemplos

Exemplo #1 EventBufferEvent::getOutput() example

<?php
$base = new EventBase();

$dns_base = new EventDnsBase($base, TRUE); // Use async DNS resolving
if (!$dns_base) {
    exit("Failed to init DNS Base\n");
}

$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS,
    "readcb", /* writecb */ NULL, "eventcb", $base
);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

$bev->enable(Event::READ | Event::WRITE);

$output = $bev->getOutput();
if (!$output->add(
    "GET {$argv[2]} HTTP/1.0\r\n".
    "Host: {$argv[1]}\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

/* ... */
?>

Veja Também

  • EventBufferEvent::getInput() - Returns underlying input buffer associated with current buffer event


Read buffer's data

  • « EventBufferEvent::getOutput
  • EventBufferEvent::readBuffer »
  • PHP Manual
  • EventBufferEvent
  • Read buffer's data

EventBufferEvent::read

(PECL event >= 1.2.6-beta)

EventBufferEvent::read — Read buffer's data

Descrição

public EventBufferEvent::read ( int $size ) : string

Removes up to size bytes from the input buffer. Returns a string of data read from the input buffer.

Parâmetros

size

Maximum number of bytes to read

Valor Retornado

Returns string of data read from the input buffer.

Veja Também

  • EventBufferEvent::readBuffer() - Drains the entire contents of the input buffer and places them into buf


Drains the entire contents of the input buffer and places them into buf

  • « EventBufferEvent::read
  • EventBufferEvent::setCallbacks »
  • PHP Manual
  • EventBufferEvent
  • Drains the entire contents of the input buffer and places them into buf

EventBufferEvent::readBuffer

(PECL event >= 1.2.6-beta)

EventBufferEvent::readBuffer — Drains the entire contents of the input buffer and places them into buf

Descrição

public EventBufferEvent::readBuffer ( EventBuffer $buf ) : bool

Drains the entire contents of the input buffer and places them into buf .

Parâmetros

buf

Target buffer

Valor Retornado

Returns true on success; Otherwise false.

Veja Também

  • EventBufferEvent::read() - Read buffer's data


Assigns read, write and event(status) callbacks

  • « EventBufferEvent::readBuffer
  • EventBufferEvent::setPriority »
  • PHP Manual
  • EventBufferEvent
  • Assigns read, write and event(status) callbacks

EventBufferEvent::setCallbacks

(PECL event >= 1.2.6-beta)

EventBufferEvent::setCallbacks — Assigns read, write and event(status) callbacks

Descrição

public EventBufferEvent::setCallbacks ( callable $readcb , callable $writecb , callable $eventcb , string $arg = ? ) : void

Assigns read, write and event(status) callbacks.

Parâmetros

readcb

Read event callback. See About buffer event callbacks .

writecb

Write event callback. See About buffer event callbacks .

eventcb

Status-change event callback. See About buffer event callbacks .

arg

A variable that will be passed to all the callbacks.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventBufferEvent::__construct() - Constructs EventBufferEvent object


Assign a priority to a bufferevent

  • « EventBufferEvent::setCallbacks
  • EventBufferEvent::setTimeouts »
  • PHP Manual
  • EventBufferEvent
  • Assign a priority to a bufferevent

EventBufferEvent::setPriority

(PECL event >= 1.2.6-beta)

EventBufferEvent::setPriority — Assign a priority to a bufferevent

Descrição

public EventBufferEvent::setPriority ( int $priority ) : bool

Assign a priority to a bufferevent

Aviso

Only supported for socket buffer events

Parâmetros

priority

Priority value.

Valor Retornado

Returns true on success. Otherwise false.


Set the read and write timeout for a buffer event

  • « EventBufferEvent::setPriority
  • EventBufferEvent::setWatermark »
  • PHP Manual
  • EventBufferEvent
  • Set the read and write timeout for a buffer event

EventBufferEvent::setTimeouts

(PECL event >= 1.2.6-beta)

EventBufferEvent::setTimeouts — Set the read and write timeout for a buffer event

Descrição

public EventBufferEvent::setTimeouts ( float $timeout_read , float $timeout_write ) : bool

Set the read and write timeout for a buffer event

Parâmetros

timeout_read

Read timeout

timeout_write

Write timeout

Valor Retornado

Returns true on success. Otherwise false.


Adjusts read and/or write watermarks

  • « EventBufferEvent::setTimeouts
  • EventBufferEvent::sslError »
  • PHP Manual
  • EventBufferEvent
  • Adjusts read and/or write watermarks

EventBufferEvent::setWatermark

(PECL event >= 1.2.6-beta)

EventBufferEvent::setWatermark — Adjusts read and/or write watermarks

Descrição

public EventBufferEvent::setWatermark ( int $events , int $lowmark , int $highmark ) : void

Adjusts the read watermarks, the write watermarks , or both, of a single buffer event.

A buffer event watermark is an edge, a value specifying number of bytes to be read or written before callback is invoked. By default every read/write event triggers a callback invokation. See » Fast portable non-blocking network programming with Libevent: Callbacks and watermarks

Parâmetros

events

Bitmask of Event::READ , Event::WRITE , or both.

lowmark

Minimum watermark value.

highmark

Maximum watermark value. 0 means "unlimited".

Valor Retornado

Não há valor retornado.


Returns most recent OpenSSL error reported on the buffer event

  • « EventBufferEvent::setWatermark
  • EventBufferEvent::sslFilter »
  • PHP Manual
  • EventBufferEvent
  • Returns most recent OpenSSL error reported on the buffer event

EventBufferEvent::sslError

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslError — Returns most recent OpenSSL error reported on the buffer event

Descrição

public EventBufferEvent::sslError ( ) : string

Returns most recent OpenSSL error reported on the buffer event.

Nota:

This function is available only if Event is compiled with OpenSSL support.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns OpenSSL error string reported on the buffer event, or false, if there is no more error to return.

Exemplos

Exemplo #1 EventBufferEvent::sslError() example

<?php
// This callback is invoked when some even occurs on the event listener,
// e.g. connection closed, or an error occured
function ssl_event_cb($bev, $events, $ctx) {
    if ($events & EventBufferEvent::ERROR) {
        // Fetch errors from the SSL error stack
        while ($err = $bev->sslError()) {
            fprintf(STDERR, "Bufferevent error %s.\n", $err);
        }
    }

    if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
        $bev->free();
    }
}
?>

Veja Também

  • EventBufferEvent::sslRenegotiate() - Tells a bufferevent to begin SSL renegotiation


Create a new SSL buffer event to send its data over another buffer event

  • « EventBufferEvent::sslError
  • EventBufferEvent::sslGetCipherInfo »
  • PHP Manual
  • EventBufferEvent
  • Create a new SSL buffer event to send its data over another buffer event

EventBufferEvent::sslFilter

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslFilter — Create a new SSL buffer event to send its data over another buffer event

Descrição

public static EventBufferEvent::sslFilter ( EventBase $base , EventBufferEvent $underlying , EventSslContext $ctx , int $state , int $options = 0 ) : EventBufferEvent

Create a new SSL buffer event to send its data over another buffer event

Nota:

This function is available only if Event is compiled with OpenSSL support.

Parâmetros

base

Associated event base.

underlying

A socket buffer event to use for this SSL.

ctx

Object of EventSslContext class.

state

The current state of SSL connection: EventBufferEvent::SSL_OPEN , EventBufferEvent::SSL_ACCEPTING or EventBufferEvent::SSL_CONNECTING .

options

One or more buffer event options.

Valor Retornado

Returns a new SSL EventBufferEvent object.

Exemplos

Exemplo #1 Simple SMTP server

<?php
 /*
 * Author: Andrew Rose <hello at andrewrose dot co dot uk>
 *
 * Usage:
 * 1) Prepare cert.pem certificate and privkey.pem private key files.
 * 2) Launch the server script
 * 3) Open TLS connection, e.g.:
 *      $ openssl s_client -connect localhost:25 -starttls smtp -crlf
 * 4) Start testing the commands listed in `cmd` method below.
 */

class Handler {
    public $domainName = FALSE;
    public $connections = [];
    public $buffers = [];
    public $maxRead = 256000;

    public function __construct() {
        $this->ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, [
            EventSslContext::OPT_LOCAL_CERT  => 'cert.pem',
            EventSslContext::OPT_LOCAL_PK    => 'privkey.pem',
            //EventSslContext::OPT_PASSPHRASE  => '',
            EventSslContext::OPT_VERIFY_PEER => false, // change to true with authentic cert
            EventSslContext::OPT_ALLOW_SELF_SIGNED => true // change to false with authentic cert
        ]);

        $this->base = new EventBase();
        if (!$this->base) {
            exit("Couldn't open event base\n");
        }

        if (!$this->listener = new EventListener($this->base,
            [$this, 'ev_accept'],
            $this->ctx,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1,
            '0.0.0.0:25'))
        {
            exit("Couldn't create listener\n");
        }

        $this->listener->setErrorCallback([$this, 'ev_error']);
        $this->base->dispatch();
    }

    public function ev_accept($listener, $fd, $address, $ctx) {
        static $id = 0;
        $id += 1;

        $this->connections[$id]['clientData'] = '';
        $this->connections[$id]['cnx'] = new EventBufferEvent($this->base, $fd,
            EventBufferEvent::OPT_CLOSE_ON_FREE);

        if (!$this->connections[$id]['cnx']) {
            echo "Failed creating buffer\n";
            $this->base->exit(NULL);
            exit(1);
        }

        $this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL,
            [$this, 'ev_error'], $id);
        $this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);

        $this->ev_write($id, '220 '.$this->domainName." wazzzap?\r\n");
    }

    function ev_error($listener, $ctx) {
        $errno = EventUtil::getLastSocketErrno();

        fprintf(STDERR, "Got an error %d (%s) on the listener. Shutting down.\n",
            $errno, EventUtil::getLastSocketError());

        if ($errno != 0) {
            $this->base->exit(NULL);
            exit();
        }
    }

    public function ev_close($id) {
        $this->connections[$id]['cnx']->disable(Event::READ | Event::WRITE);
        unset($this->connections[$id]);
    }

    protected function ev_write($id, $string) {
        echo 'S('.$id.'): '.$string;
        $this->connections[$id]['cnx']->write($string);
    }

    public function ev_read($buffer, $id) {
        while($buffer->input->length > 0) {
            $this->connections[$id]['clientData'] .= $buffer->input->read($this->maxRead);
            $clientDataLen = strlen($this->connections[$id]['clientData']);

            if($this->connections[$id]['clientData'][$clientDataLen-1] == "\n"
                && $this->connections[$id]['clientData'][$clientDataLen-2] == "\r")
            {
                // remove the trailing \r\n
                $line = substr($this->connections[$id]['clientData'], 0,
                    strlen($this->connections[$id]['clientData']) - 2);

                $this->connections[$id]['clientData'] = '';
                $this->cmd($buffer, $id, $line);
            }
        }
    }

    protected function cmd($buffer, $id, $line) {
        switch ($line) {
            case strncmp('EHLO ', $line, 4):
                $this->ev_write($id, "250-STARTTLS\r\n");
                $this->ev_write($id, "250 OK ehlo\r\n");
                break;

            case strncmp('HELO ', $line, 4):
                $this->ev_write($id, "250-STARTTLS\r\n");
                $this->ev_write($id, "250 OK helo\r\n");
                break;

            case strncmp('QUIT', $line, 3):
                $this->ev_write($id, "250 OK quit\r\n");
                $this->ev_close($id);
                break;

            case strncmp('STARTTLS', $line, 3):
                $this->ev_write($id, "220 Ready to start TLS\r\n");
                $this->connections[$id]['cnx'] = EventBufferEvent::sslFilter($this->base,
                    $this->connections[$id]['cnx'], $this->ctx,
                    EventBufferEvent::SSL_ACCEPTING,
                    EventBufferEvent::OPT_CLOSE_ON_FREE);
                $this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL, [$this, 'ev_error'], $id);
                $this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);
                break;

            default:
                echo 'unknown command: '.$line."\n";
                break;
        }
    }
}

new Handler();

Veja Também

  • EventBufferEvent::sslSocket() - Creates a new SSL buffer event to send its data over an SSL on a socket


Returns a textual description of the cipher

  • « EventBufferEvent::sslFilter
  • EventBufferEvent::sslGetCipherName »
  • PHP Manual
  • EventBufferEvent
  • Returns a textual description of the cipher

EventBufferEvent::sslGetCipherInfo

(PECL event >= 1.10.0)

EventBufferEvent::sslGetCipherInfo — Returns a textual description of the cipher

Descrição

public EventBufferEvent::sslGetCipherInfo ( ) : string

Retrieves description of the current cipher by means of the SSL_CIPHER_description SSL API function (see SSL_CIPHER_get_name(3) man page).

Nota:

This function is available only if Event is compiled with OpenSSL support.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a textual description of the cipher on success, or false on error.


Returns the current cipher name of the SSL connection

  • « EventBufferEvent::sslGetCipherInfo
  • EventBufferEvent::sslGetCipherVersion »
  • PHP Manual
  • EventBufferEvent
  • Returns the current cipher name of the SSL connection

EventBufferEvent::sslGetCipherName

(PECL event >= 1.10.0)

EventBufferEvent::sslGetCipherName — Returns the current cipher name of the SSL connection

Descrição

public EventBufferEvent::sslGetCipherName ( ) : string

Retrieves name of cipher used by current SSL connection.

Nota:

This function is available only if Event is compiled with OpenSSL support.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current cipher name of the SSL connection, or false on error.


Returns version of cipher used by current SSL connection

  • « EventBufferEvent::sslGetCipherName
  • EventBufferEvent::sslGetProtocol »
  • PHP Manual
  • EventBufferEvent
  • Returns version of cipher used by current SSL connection

EventBufferEvent::sslGetCipherVersion

(PECL event >= 1.10.0)

EventBufferEvent::sslGetCipherVersion — Returns version of cipher used by current SSL connection

Descrição

public EventBufferEvent::sslGetCipherVersion ( ) : string

Retrieves version of cipher used by current SSL connection.

Nota:

This function is available only if Event is compiled with OpenSSL support.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current cipher version of the SSL connection, or false on error.


Returns the name of the protocol used for current SSL connection

  • « EventBufferEvent::sslGetCipherVersion
  • EventBufferEvent::sslRenegotiate »
  • PHP Manual
  • EventBufferEvent
  • Returns the name of the protocol used for current SSL connection

EventBufferEvent::sslGetProtocol

(PECL event >= 1.10.0)

EventBufferEvent::sslGetProtocol — Returns the name of the protocol used for current SSL connection

Descrição

public EventBufferEvent::sslGetProtocol ( ) : string

Returns the name of the protocol used for current SSL connection.

Nota:

This function is available only if Event is compiled with OpenSSL support.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the name of the protocol used for current SSL connection.


Tells a bufferevent to begin SSL renegotiation

  • « EventBufferEvent::sslGetProtocol
  • EventBufferEvent::sslSocket »
  • PHP Manual
  • EventBufferEvent
  • Tells a bufferevent to begin SSL renegotiation

EventBufferEvent::sslRenegotiate

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslRenegotiate — Tells a bufferevent to begin SSL renegotiation

Descrição

public EventBufferEvent::sslRenegotiate ( ) : void

Tells a bufferevent to begin SSL renegotiation.

Aviso

Calling this function tells the SSL to renegotiate, and the buffer event to invoke appropriate callbacks. This is an advanced topic; this should be generally avoided unless one really knows what he/she does, especially since many SSL versions have had known security issues related to renegotiation.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Creates a new SSL buffer event to send its data over an SSL on a socket

  • « EventBufferEvent::sslRenegotiate
  • EventBufferEvent::write »
  • PHP Manual
  • EventBufferEvent
  • Creates a new SSL buffer event to send its data over an SSL on a socket

EventBufferEvent::sslSocket

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslSocket — Creates a new SSL buffer event to send its data over an SSL on a socket

Descrição

public static EventBufferEvent::sslSocket ( EventBase $base , mixed $socket , EventSslContext $ctx , int $state , int $options = ? ) : EventBufferEvent

Creates a new SSL buffer event to send its data over an SSL on a socket.

Parâmetros

base

Associated event base.

socket

Socket to use for this SSL. Can be stream or socket resource, numeric file descriptor, or null. If socket is null, it is assumed that the file descriptor for the socket will be assigned later, for instance, by means of EventBufferEvent::connectHost() method.

ctx

Object of EventSslContext class.

state

The current state of SSL connection: EventBufferEvent::SSL_OPEN , EventBufferEvent::SSL_ACCEPTING or EventBufferEvent::SSL_CONNECTING .

options

The buffer event options.

Valor Retornado

Returns EventBufferEvent object.

Veja Também

  • EventBufferEvent::sslFilter() - Create a new SSL buffer event to send its data over another buffer event


Adds data to a buffer event's output buffer

  • « EventBufferEvent::sslSocket
  • EventBufferEvent::writeBuffer »
  • PHP Manual
  • EventBufferEvent
  • Adds data to a buffer event's output buffer

EventBufferEvent::write

(PECL event >= 1.2.6-beta)

EventBufferEvent::write — Adds data to a buffer event's output buffer

Descrição

public EventBufferEvent::write ( string $data ) : bool

Adds data to a buffer event's output buffer

Parâmetros

data

Data to be added to the underlying buffer.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBufferEvent::writeBuffer() - Adds contents of the entire buffer to a buffer event's output buffer


Adds contents of the entire buffer to a buffer event's output buffer

  • « EventBufferEvent::write
  • About buffer event callbacks »
  • PHP Manual
  • EventBufferEvent
  • Adds contents of the entire buffer to a buffer event's output buffer

EventBufferEvent::writeBuffer

(PECL event >= 1.2.6-beta)

EventBufferEvent::writeBuffer — Adds contents of the entire buffer to a buffer event's output buffer

Descrição

public EventBufferEvent::writeBuffer ( EventBuffer $buf ) : bool

Adds contents of the entire buffer to a buffer event's output buffer

Parâmetros

buf

Source EventBuffer object.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventBufferEvent::write() - Adds data to a buffer event's output buffer


About buffer event callbacks

An object of EventBufferEvent class represents a buffer event . The asynchronous nature of I/O performed by Libevent implies that a socket(or other kind of file descriptor) is not always available. Event invokes corresponding callbacks when the resource becomes available for reading or writing, or when some event occurs(e.g. error, "end of line" etc.).

Read and write callbacks should match the following prototype:

callback ( EventBufferEvent $bev = null , mixed $arg = null ) : void

bev

Associated EventBufferEvent object.

arg

Custom variable attached to all callbacks via EventBufferEvent::__construct() , or EventBufferEvent::setCallbacks() .

Event callback should match the following prototype:

callback ( EventBufferEvent $bev = null , int $events = 0 , mixed $arg = null ) : void

bev

Associated EventBufferEvent object.

events

Bit mask of events: EventBufferEvent::READING , EventBufferEvent::WRITING , EventBufferEvent::EOL , EventBufferEvent::ERROR and EventBufferEvent::TIMEOUT . See EventBufferEvent constants

arg

Custom variable attached to all callbacks via EventBufferEvent::__construct() , or EventBufferEvent::setCallbacks() .


The EventConfig class

(PECL event >= 1.2.6-beta)

Introdução

Represents configuration structure which could be used in construction of the EventBase .

Sinopse da classe

final EventConfig {
/* Constants */
const int FEATURE_ET = 1 ;
const int FEATURE_O1 = 2 ;
const int FEATURE_FDS = 4 ;
/* Métodos */
public avoidMethod ( string $method ) : bool
public __construct ( )
public requireFeatures ( int $feature ) : bool
public setMaxDispatchInterval ( int $max_interval , int $max_callbacks , int $min_priority ) : void
}

Constantes pré-definidas

EventConfig::FEATURE_ET

Requires a backend method that supports edge-triggered I/O.

EventConfig::FEATURE_O1

Requires a backend method where adding or deleting a single event, or having a single event become active, is an O(1) operation.

EventConfig::FEATURE_FDS

Requires a backend method that can support arbitrary file descriptor types, and not just sockets.

Índice

  • EventConfig::avoidMethod — Tells libevent to avoid specific event method
  • EventConfig::__construct — Constructs EventConfig object
  • EventConfig::requireFeatures — Enters a required event method feature that the application demands
  • EventConfig::setMaxDispatchInterval — Prevents priority inversion


Tells libevent to avoid specific event method

  • « EventConfig
  • EventConfig::__construct »
  • PHP Manual
  • EventConfig
  • Tells libevent to avoid specific event method

EventConfig::avoidMethod

(PECL event >= 1.2.6-beta)

EventConfig::avoidMethod — Tells libevent to avoid specific event method

Descrição

public EventConfig::avoidMethod ( string $method ) : bool

Tells libevent to avoid specific event method(backend). See » Creating an event base .

Parâmetros

method

The backend method to avoid. See EventConfig constants .

Valor Retornado

Returns true on success, otherwise false.

Exemplos

Exemplo #1 EventConfig::avoidMethod() example

<?php
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "`select' method avoided\n";
}
?>

Veja Também

  • EventBase::__construct() - Constructs EventBase object


Constructs EventConfig object

  • « EventConfig::avoidMethod
  • EventConfig::requireFeatures »
  • PHP Manual
  • EventConfig
  • Constructs EventConfig object

EventConfig::__construct

(PECL event >= 1.2.6-beta)

EventConfig::__construct — Constructs EventConfig object

Descrição

public EventConfig::__construct ( )

Constructs EventConfig object which could be passed to EventBase::__construct() constructor.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns EventConfig object.

Exemplos

Exemplo #1 EventConfig::__construct() example

<?php
// Avoiding "select" method
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "`select' method avoided\n";
}

// Create event_base associated with the config
$base = new EventBase($cfg);

/* Now $base is configured to avoid select backend(method) */
?>

Veja Também

  • EventBase::__construct() - Constructs EventBase object


Enters a required event method feature that the application demands

  • « EventConfig::__construct
  • EventConfig::setMaxDispatchInterval »
  • PHP Manual
  • EventConfig
  • Enters a required event method feature that the application demands

EventConfig::requireFeatures

(PECL event >= 1.2.6-beta)

EventConfig::requireFeatures — Enters a required event method feature that the application demands

Descrição

public EventConfig::requireFeatures ( int $feature ) : bool

Enters a required event method feature that the application demands

Parâmetros

feature

Bitmask of required features. See EventConfig::FEATURE_* constants

Valor Retornado

Exemplos

Exemplo #1 EventConfig::requireFeatures() example

<?php
$cfg = new EventConfig();

// Create event_base associated with the config
$base = new EventBase($cfg);

// Require FDS feature
if ($cfg->requireFeatures(EventConfig::FEATURE_FDS)) {
    echo "FDS feature is now requried\n";

    $base = new EventBase($cfg);
    ($base->getFeatures() & EventConfig::FEATURE_FDS)
        and print("FDS - arbitrary file descriptor types, and not just sockets\n");
}
?>

O exemplo acima irá imprimir algo similar à:

FDS feature is now requried
FDS - arbitrary file descriptor types, and not just sockets

Veja Também

  • EventBase::getFeatures() - Returns bitmask of features supported


Prevents priority inversion

  • « EventConfig::requireFeatures
  • EventDnsBase »
  • PHP Manual
  • EventConfig
  • Prevents priority inversion

EventConfig::setMaxDispatchInterval

(Não há informação de versão disponível, talvez apenas no Git)

EventConfig::setMaxDispatchInterval — Prevents priority inversion

Descrição

public EventConfig::setMaxDispatchInterval ( int $max_interval , int $max_callbacks , int $min_priority ) : void

Prevents priority inversion by limiting how many low-priority event callbacks can be invoked before checking for more high-priority events.

Nota:

Available since libevent 2.1.0-alpha .

Parâmetros

max_interval

An interval after which Libevent should stop running callbacks and check for more events, or 0 , if there should be no such interval.

max_callbacks

A number of callbacks after which Libevent should stop running callbacks and check for more events, or -1 , if there should be no such limit.

min_priority

A priority below which max_interval and max_callbacks should not be enforced. If this is set to 0 , they are enforced for events of every priority; if it's set to 1 , they're enforced for events of priority 1 and above, and so on.

Valor Retornado

Returns true on success, otherwise false.


The EventDnsBase class

(PECL event >= 1.2.6-beta)

Introdução

Represents Libevent's DNS base structure. Used to resolve DNS asyncronously, parse configuration files like resolv.conf etc.

Sinopse da classe

final EventDnsBase {
/* Constants */
const int OPTION_SEARCH = 1 ;
const int OPTION_NAMESERVERS = 2 ;
const int OPTION_MISC = 4 ;
const int OPTION_HOSTSFILE = 8 ;
const int OPTIONS_ALL = 15 ;
/* Métodos */
public addNameserverIp ( string $ip ) : bool
public addSearch ( string $domain ) : void
public clearSearch ( ) : void
public __construct ( EventBase $base , bool $initialize )
public countNameservers ( ) : int
public loadHosts ( string $hosts ) : bool
public parseResolvConf ( int $flags , string $filename ) : bool
public setOption ( string $option , string $value ) : bool
public setSearchNdots ( int $ndots ) : bool
}

Constantes pré-definidas

EventDnsBase::OPTION_SEARCH

Tells to read the domain and search fields from the resolv.conf file and the ndots option, and use them to decide which domains(if any) to search for hostnames that aren’t fully-qualified.

EventDnsBase::OPTION_NAMESERVERS

Tells to learn the nameservers from the resolv.conf file.

EventDnsBase::OPTION_MISC

EventDnsBase::OPTION_HOSTSFILE

Tells to read a list of hosts from /etc/hosts as part of loading the resolv.conf file.

EventDnsBase::OPTIONS_ALL

Tells to learn as much as it can from the resolv.conf file.

Índice

  • EventDnsBase::addNameserverIp — Adds a nameserver to the DNS base
  • EventDnsBase::addSearch — Adds a domain to the list of search domains
  • EventDnsBase::clearSearch — Removes all current search suffixes
  • EventDnsBase::__construct — Constructs EventDnsBase object
  • EventDnsBase::countNameservers — Gets the number of configured nameservers
  • EventDnsBase::loadHosts — Loads a hosts file (in the same format as /etc/hosts) from hosts file
  • EventDnsBase::parseResolvConf — Scans the resolv.conf-formatted file
  • EventDnsBase::setOption — Set the value of a configuration option
  • EventDnsBase::setSearchNdots — Set the 'ndots' parameter for searches


Adds a nameserver to the DNS base

  • « EventDnsBase
  • EventDnsBase::addSearch »
  • PHP Manual
  • EventDnsBase
  • Adds a nameserver to the DNS base

EventDnsBase::addNameserverIp

(PECL event >= 1.2.6-beta)

EventDnsBase::addNameserverIp — Adds a nameserver to the DNS base

Descrição

public EventDnsBase::addNameserverIp ( string $ip ) : bool

Adds a nameserver to the evdns_base.

Parâmetros

ip

The nameserver string, either as an IPv4 address, an IPv6 address, an IPv4 address with a port ( IPv4:Port ), or an IPv6 address with a port ( [IPv6]:Port ).

Valor Retornado

Returns true on success. Otherwise false.


Adds a domain to the list of search domains

  • « EventDnsBase::addNameserverIp
  • EventDnsBase::clearSearch »
  • PHP Manual
  • EventDnsBase
  • Adds a domain to the list of search domains

EventDnsBase::addSearch

(PECL event >= 1.2.6-beta)

EventDnsBase::addSearch — Adds a domain to the list of search domains

Descrição

public EventDnsBase::addSearch ( string $domain ) : void

Adds a domain to the list of search domains

Parâmetros

domain

Search domain.

Valor Retornado

Não há valor retornado.


Removes all current search suffixes

  • « EventDnsBase::addSearch
  • EventDnsBase::__construct »
  • PHP Manual
  • EventDnsBase
  • Removes all current search suffixes

EventDnsBase::clearSearch

(PECL event >= 1.2.6-beta)

EventDnsBase::clearSearch — Removes all current search suffixes

Descrição

public EventDnsBase::clearSearch ( ) : void

Removes all current search suffixes from the DNS base; the EventDnsBase::addSearch() function adds a suffix.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventDnsBase::addSearch() - Adds a domain to the list of search domains


Constructs EventDnsBase object

  • « EventDnsBase::clearSearch
  • EventDnsBase::countNameservers »
  • PHP Manual
  • EventDnsBase
  • Constructs EventDnsBase object

EventDnsBase::__construct

(PECL event >= 1.2.6-beta)

EventDnsBase::__construct — Constructs EventDnsBase object

Descrição

public EventDnsBase::__construct ( EventBase $base , bool $initialize )

Constructs EventDnsBase object.

Parâmetros

base

Event base.

initialize

If the initialize argument is true, it tries to configure the DNS base sensibly given your operating system’s default. Otherwise, it leaves the event DNS base empty, with no nameservers or options configured. In the latter case DNS base should be configured manually, e.g. with EventDnsBase::parseResolvConf() .

Valor Retornado

Returns EventDnsBase object.


Gets the number of configured nameservers

  • « EventDnsBase::__construct
  • EventDnsBase::loadHosts »
  • PHP Manual
  • EventDnsBase
  • Gets the number of configured nameservers

EventDnsBase::countNameservers

(PECL event >= 1.2.6-beta)

EventDnsBase::countNameservers — Gets the number of configured nameservers

Descrição

public EventDnsBase::countNameservers ( ) : int

Gets the number of configured nameservers

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of configured nameservers(not necessarily the number of running nameservers). This is useful for double-checking whether our calls to the various nameserver configuration functions have been successful.


Loads a hosts file (in the same format as /etc/hosts) from hosts file

  • « EventDnsBase::countNameservers
  • EventDnsBase::parseResolvConf »
  • PHP Manual
  • EventDnsBase
  • Loads a hosts file (in the same format as /etc/hosts) from hosts file

EventDnsBase::loadHosts

(PECL event >= 1.2.6-beta)

EventDnsBase::loadHosts — Loads a hosts file (in the same format as /etc/hosts) from hosts file

Descrição

public EventDnsBase::loadHosts ( string $hosts ) : bool

Loads a hosts file (in the same format as /etc/hosts ) from hosts file.

Parâmetros

hosts

Path to the hosts' file.

Valor Retornado

Returns true on success. Otherwise false.


Scans the resolv.conf-formatted file

  • « EventDnsBase::loadHosts
  • EventDnsBase::setOption »
  • PHP Manual
  • EventDnsBase
  • Scans the resolv.conf-formatted file

EventDnsBase::parseResolvConf

(PECL event >= 1.2.6-beta)

EventDnsBase::parseResolvConf — Scans the resolv.conf-formatted file

Descrição

public EventDnsBase::parseResolvConf ( int $flags , string $filename ) : bool

Scans the resolv.conf-formatted file stored in filename, and read in all the options from it that are listed in flags

Parâmetros

flags

Determines what information is parsed from the resolv.conf file. See the man page for resolv.conf for the format of this file.

The following directives are not parsed from the file: sortlist, rotate, no-check-names, inet6, debug .

If this function encounters an error, the possible return values are:

  • 1 = failed to open file
  • 2 = failed to stat file
  • 3 = file too large
  • 4 = out of memory
  • 5 = short read from file
  • 6 = no nameservers listed in the file

filename

Path to resolv.conf file.

Valor Retornado

Returns true on success. Otherwise false.


Set the value of a configuration option

  • « EventDnsBase::parseResolvConf
  • EventDnsBase::setSearchNdots »
  • PHP Manual
  • EventDnsBase
  • Set the value of a configuration option

EventDnsBase::setOption

(PECL event >= 1.2.6-beta)

EventDnsBase::setOption — Set the value of a configuration option

Descrição

public EventDnsBase::setOption ( string $option , string $value ) : bool

Set the value of a configuration option.

Parâmetros

option

The currently available configuration options are: "ndots" , "timeout" , "max-timeouts" , "max-inflight" , and "attempts" .

value

Option value.

Valor Retornado

Returns true on success. Otherwise false.


Set the 'ndots' parameter for searches

  • « EventDnsBase::setOption
  • EventHttp »
  • PHP Manual
  • EventDnsBase
  • Set the 'ndots' parameter for searches

EventDnsBase::setSearchNdots

(PECL event >= 1.2.6-beta)

EventDnsBase::setSearchNdots — Set the 'ndots' parameter for searches

Descrição

public EventDnsBase::setSearchNdots ( int $ndots ) : bool

Set the 'ndots' parameter for searches. Sets the number of dots which, when found in a name, causes the first query to be without any search domain.

Parâmetros

ndots

The number of dots.

Valor Retornado

Returns true on success. Otherwise false.


The EventHttp class

(PECL event >= 1.4.0-beta)

Introdução

Represents HTTP server.

Sinopse da classe

final EventHttp {
/* Métodos */
public accept ( mixed $socket ) : bool
public addServerAlias ( string $alias ) : bool
public bind ( string $address , int $port ) : void
public __construct ( EventBase $base , EventSslContext $ctx = null )
public removeServerAlias ( string $alias ) : bool
public setAllowedMethods ( int $methods ) : void
public setCallback ( string $path , string $cb , string $arg = ? ) : void
public setDefaultCallback ( string $cb , string $arg = ? ) : void
public setMaxBodySize ( int $value ) : void
public setMaxHeadersSize ( int $value ) : void
public setTimeout ( int $value ) : void
}

Índice

  • EventHttp::accept — Makes an HTTP server accept connections on the specified socket stream or resource
  • EventHttp::addServerAlias — Adds a server alias to the HTTP server object
  • EventHttp::bind — Binds an HTTP server on the specified address and port
  • EventHttp::__construct — Constructs EventHttp object(the HTTP server)
  • EventHttp::removeServerAlias — Removes server alias
  • EventHttp::setAllowedMethods — Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks
  • EventHttp::setCallback — Sets a callback for specified URI
  • EventHttp::setDefaultCallback — Sets default callback to handle requests that are not caught by specific callbacks
  • EventHttp::setMaxBodySize — Sets maximum request body size
  • EventHttp::setMaxHeadersSize — Sets maximum HTTP header size
  • EventHttp::setTimeout — Sets the timeout for an HTTP request


Makes an HTTP server accept connections on the specified socket stream or resource

  • « EventHttp
  • EventHttp::addServerAlias »
  • PHP Manual
  • EventHttp
  • Makes an HTTP server accept connections on the specified socket stream or resource

EventHttp::accept

(PECL event >= 1.2.6-beta)

EventHttp::accept — Makes an HTTP server accept connections on the specified socket stream or resource

Descrição

public EventHttp::accept ( mixed $socket ) : bool

Makes an HTTP server accept connections on the specified socket stream or resource. The socket should be ready to accept connections.

Can be called multiple times to accept connections on different sockets.

Nota:

To bind a socket, listen , and accept connections on the socket in s single call use EventHttp::bind() . EventHttp::accept() is needed only if one already has a socket ready to accept connections.

Parâmetros

socket

Socket resource, stream or numeric file descriptor representing a socket ready to accept connections.

Valor Retornado

Returns true on success. Otherwise false.

Exemplos

Exemplo #1 EventHttp::accept() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$addresses = array (
     8091 => "127.0.0.1",
     8092 => "127.0.0.2",
);
$i = 0;

$socket = array();

foreach ($addresses as $port => $ip) {
    echo $ip, " ", $port, PHP_EOL;
    $socket[$i] = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    if (!socket_bind($socket[$i], $ip, $port)) {
        exit("socket_bind failed\n");
    }
    socket_listen($socket[$i], 0);
    socket_set_nonblock($socket[$i]);

    if (!$http->accept($socket[$i])) {
        echo "Accept failed\n";
        exit(1);
    }

    ++$i;
}

$http->setCallback("/some-page", function() {
 echo "(some-page)\n";
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
    echo "OK\n";
});

$http->setDefaultCallback(function($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
    echo "OK\n";
});

$signal = Event::signal($base, SIGINT, function () use ($base) {
    echo "Caught SIGINT. Stopping...\n";
    $base->stop();
});
$signal->add();

$base->dispatch();
echo "END\n";
// We didn't close sockets, since Libevent already sets
// CLOSE_ON_FREE and CLOSE_ON_EXEC flags on the file
// descriptor associated with the sockets.
?>

O exemplo acima irá imprimir algo similar à:

Client:
$ nc 127.0.0.1 8091
GET /about HTTP/1.0
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

Server:
127.0.0.1 8091
127.0.0.2 8092
URI: /about
OK

Veja Também

  • EventHttp::bind() - Binds an HTTP server on the specified address and port


Adds a server alias to the HTTP server object

  • « EventHttp::accept
  • EventHttp::bind »
  • PHP Manual
  • EventHttp
  • Adds a server alias to the HTTP server object

EventHttp::addServerAlias

(PECL event >= 1.4.0-beta)

EventHttp::addServerAlias — Adds a server alias to the HTTP server object

Descrição

public EventHttp::addServerAlias ( string $alias ) : bool

Adds a server alias to the HTTP server object.

Parâmetros

alias

The alias to add.

Valor Retornado

Returns true on success. Otherwise false.

Exemplos

Exemplo #1 EventHttp::addServerAlias() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$http->bind("127.0.0.1", 8088)) {
    exit("bind(1) failed\n");
};

if (!$http->addServerAlias("local.net")) {
    exit("Failed to add server alias\n");
}

$http->setCallback("/about", function($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
});
$base->dispatch();
?>

Veja Também

  • EventHttp::removeServerAlias() - Removes server alias


Binds an HTTP server on the specified address and port

  • « EventHttp::addServerAlias
  • EventHttp::__construct »
  • PHP Manual
  • EventHttp
  • Binds an HTTP server on the specified address and port

EventHttp::bind

(PECL event >= 1.2.6-beta)

EventHttp::bind — Binds an HTTP server on the specified address and port

Descrição

public EventHttp::bind ( string $address , int $port ) : void

Binds an HTTP server on the specified address and port.

Can be called multiple times to bind the same HTTP server to multiple different ports.

Parâmetros

address

A string containing the IP address to listen(2) on.

port

The port number to listen on.

Valor Retornado

Returns true on success. Otherwise false.

Exemplos

Exemplo #1 EventHttp::bind() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$http->bind("127.0.0.1", 8088)) {
    exit("bind(1) failed\n");
};
if (!$http->bind("127.0.0.1", 8089)) {
    exit("bind(2) failed\n");
};

$http->setCallback("/about", function($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
    echo "OK\n";
});

$base->dispatch();
?>

O exemplo acima irá imprimir algo similar à:

Client:

$ nc 127.0.0.1 8088
GET /about HTTP/1.0
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

$ nc 127.0.0.1 8089
GET /unknown HTTP/1.0
Connection: close

HTTP/1.1 404 Not Found
Content-Type: text/html
Date: Wed, 13 Mar 2013 04:14:41 GMT
Content-Length: 149
Connection: close

<html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL /unknown was not found on this server.</p></body></html>

Server:
URI: /about
OK

Veja Também

  • EventHttp::accept() - Makes an HTTP server accept connections on the specified socket stream or resource


Constructs EventHttp object(the HTTP server)

  • « EventHttp::bind
  • EventHttp::removeServerAlias »
  • PHP Manual
  • EventHttp
  • Constructs EventHttp object(the HTTP server)

EventHttp::__construct

(PECL event >= 1.2.6-beta)

EventHttp::__construct — Constructs EventHttp object(the HTTP server)

Descrição

public EventHttp::__construct ( EventBase $base , EventSslContext $ctx = null )

Constructs the HTTP server object.

Parâmetros

base

Associated event base.

ctx

EventSslContext class object. Turns plain HTTP server into HTTPS server. It means that if ctx is configured correctly, then the underlying buffer events will be based on OpenSSL sockets. Thus, all traffic will pass through the SSL or TLS.

Nota:

This parameter is available only if Event is compiled with OpenSSL support and only with Libevent 2.1.0-alpha and higher.

Valor Retornado

Returns EventHttp object.

Changelog

Versão | Descrição
PECL event 1.9.0 | OpenSSL support (ctx) added.

Exemplos

Exemplo #1 Simple HTTP server

<?php
/*
 * Simple HTTP server.
 *
 * To test it:
 * 1) Run it on a port of your choice, e.g.:
 * $ php examples/http.php 8010
 * 2) In another terminal connect to some address on this port
 * and make GET or POST request(others are turned off here), e.g.:
 * $ nc -t 127.0.0.1 8010
 * POST /about HTTP/1.0
 * Content-Type: text/plain
 * Content-Length: 4
 * Connection: close
 * (press Enter)
 *
 * It will output
 * a=12
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * $ nc -t 127.0.0.1 8010
 * GET /dump HTTP/1.0
 * Content-Type: text/plain
 * Content-Encoding: UTF-8
 * Connection: close
 * (press Enter)
 *
 * It will output:
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 * (press Enter)
 *
 * $ nc -t 127.0.0.1 8010
 * GET /unknown HTTP/1.0
 * Connection: close
 *
 * It will output:
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * 3) See what the server outputs on the previous terminal window.
 */

function _http_dump($req, $data) {
    static $counter      = 0;
    static $max_requests = 2;

    if (++$counter >= $max_requests)  {
        echo "Counter reached max requests $max_requests. Exiting\n";
        exit();
    }

    echo __METHOD__, " called\n";
    echo "request:"; var_dump($req);
    echo "data:"; var_dump($data);

    echo "\n===== DUMP =====\n";
    echo "Command:", $req->getCommand(), PHP_EOL;
    echo "URI:", $req->getUri(), PHP_EOL;
    echo "Input headers:"; var_dump($req->getInputHeaders());
    echo "Output headers:"; var_dump($req->getOutputHeaders());

    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";

    echo "\n >> Reading input buffer ...\n";
    $buf = $req->getInputBuffer();
    while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
        echo $s, PHP_EOL;
    }
    echo "No more data in the buffer\n";
}

function _http_about($req) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

function _http_default($req, $data) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

$port = 8010;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

O exemplo acima irá imprimir algo similar à:

a=12
HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
(press Enter)

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close


Removes server alias

  • « EventHttp::__construct
  • EventHttp::setAllowedMethods »
  • PHP Manual
  • EventHttp
  • Removes server alias

EventHttp::removeServerAlias

(PECL event >= 1.4.0-beta)

EventHttp::removeServerAlias — Removes server alias

Descrição

public EventHttp::removeServerAlias ( string $alias ) : bool

Removes server alias added with EventHttp::addServerAlias()

Parâmetros

alias

The alias to remove.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventHttp::addServerAlias() - Adds a server alias to the HTTP server object


Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

  • « EventHttp::removeServerAlias
  • EventHttp::setCallback »
  • PHP Manual
  • EventHttp
  • Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

EventHttp::setAllowedMethods

(PECL event >= 1.4.0-beta)

EventHttp::setAllowedMethods — Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

Descrição

public EventHttp::setAllowedMethods ( int $methods ) : void

Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

If not supported they will generate a "405 Method not allowed" response.

By default this includes the following methods: GET , POST , HEAD , PUT , DELETE . See EventHttpRequest::CMD_* constants.

Parâmetros

methods

A bit mask of EventHttpRequest::CMD_* constants .

Valor Retornado

Não há valor retornado.


Sets a callback for specified URI

  • « EventHttp::setAllowedMethods
  • EventHttp::setDefaultCallback »
  • PHP Manual
  • EventHttp
  • Sets a callback for specified URI

EventHttp::setCallback

(PECL event >= 1.4.0-beta)

EventHttp::setCallback — Sets a callback for specified URI

Descrição

public EventHttp::setCallback ( string $path , string $cb , string $arg = ? ) : void

Sets a callback for specified URI.

Parâmetros

path

The path for which to invoke the callback.

cb

The callback callable that gets invoked on requested path . It should match the following prototype:

callback ( EventHttpRequest $req = NULL , mixed $arg = NULL ) : void

req

EventHttpRequest object.

arg

Custom data.

arg

Custom data.

Valor Retornado

Returns true on success. Otherwise false.

Exemplos

Exemplo #1 EventHttp::setCallback() example

<?php
/*
 * Simple HTTP server.
 *
 * To test it:
 * 1) Run it on a port of your choice, e.g.:
 * $ php examples/http.php 8010
 * 2) In another terminal connect to some address on this port
 * and make GET or POST request(others are turned off here), e.g.:
 * $ nc -t 127.0.0.1 8010
 * POST /about HTTP/1.0
 * Content-Type: text/plain
 * Content-Length: 4
 * Connection: close
 * (press Enter)
 *
 * It will output
 * a=12
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * 3) See what the server outputs on the previous terminal window.
 */

function _http_dump($req, $data) {
    static $counter      = 0;
    static $max_requests = 2;

    if (++$counter >= $max_requests)  {
        echo "Counter reached max requests $max_requests. Exiting\n";
        exit();
    }

    echo __METHOD__, " called\n";
    echo "request:"; var_dump($req);
    echo "data:"; var_dump($data);

    echo "\n===== DUMP =====\n";
    echo "Command:", $req->getCommand(), PHP_EOL;
    echo "URI:", $req->getUri(), PHP_EOL;
    echo "Input headers:"; var_dump($req->getInputHeaders());
    echo "Output headers:"; var_dump($req->getOutputHeaders());

    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";

    echo "\n >> Reading input buffer ...\n";
    $buf = $req->getInputBuffer();
    while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
        echo $s, PHP_EOL;
    }
    echo "No more data in the buffer\n";
}

function _http_about($req) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

function _http_default($req, $data) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

$port = 8010;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

O exemplo acima irá imprimir algo similar à:

a=12
HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

Veja Também

  • EventHttp::setDefaultCallback() - Sets default callback to handle requests that are not caught by specific callbacks


Sets default callback to handle requests that are not caught by specific callbacks

  • « EventHttp::setCallback
  • EventHttp::setMaxBodySize »
  • PHP Manual
  • EventHttp
  • Sets default callback to handle requests that are not caught by specific callbacks

EventHttp::setDefaultCallback

(PECL event >= 1.4.0-beta)

EventHttp::setDefaultCallback — Sets default callback to handle requests that are not caught by specific callbacks

Descrição

public EventHttp::setDefaultCallback ( string $cb , string $arg = ? ) : void

Sets default callback to handle requests that are not caught by specific callbacks

Parâmetros

cb

The callback callable . It should match the following prototype:

callback ( EventHttpRequest $req = NULL , mixed $arg = NULL ) : void

req

EventHttpRequest object.

arg

Custom data.

arg

User custom data passed to the callback.

Valor Retornado

Returns true on success. Otherwise false.

Exemplos

Exemplo #1 EventHttp::setDefaultCallback() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$http->bind("127.0.0.1", 8088)) {
    exit("bind(1) failed\n");
};

$http->setDefaultCallback(function($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
});

$base->dispatch();
?>

Veja Também

  • EventHttp::setCallback() - Sets a callback for specified URI


Sets maximum request body size

  • « EventHttp::setDefaultCallback
  • EventHttp::setMaxHeadersSize »
  • PHP Manual
  • EventHttp
  • Sets maximum request body size

EventHttp::setMaxBodySize

(PECL event >= 1.4.0-beta)

EventHttp::setMaxBodySize — Sets maximum request body size

Descrição

public EventHttp::setMaxBodySize ( int $value ) : void

Sets maximum request body size.

Parâmetros

value

The body size in bytes.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventHttp::setMaxHeadersSize() - Sets maximum HTTP header size


Sets maximum HTTP header size

  • « EventHttp::setMaxBodySize
  • EventHttp::setTimeout »
  • PHP Manual
  • EventHttp
  • Sets maximum HTTP header size

EventHttp::setMaxHeadersSize

(PECL event >= 1.4.0-beta)

EventHttp::setMaxHeadersSize — Sets maximum HTTP header size

Descrição

public EventHttp::setMaxHeadersSize ( int $value ) : void

Sets maximum HTTP header size.

Parâmetros

value

The header size in bytes.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventHttp::setMaxHeadersSize()


Sets the timeout for an HTTP request

  • « EventHttp::setMaxHeadersSize
  • EventHttpConnection »
  • PHP Manual
  • EventHttp
  • Sets the timeout for an HTTP request

EventHttp::setTimeout

(PECL event >= 1.4.0-beta)

EventHttp::setTimeout — Sets the timeout for an HTTP request

Descrição

public EventHttp::setTimeout ( int $value ) : void

Sets the timeout for an HTTP request.

Parâmetros

value

The timeout in seconds.

Valor Retornado

Não há valor retornado.


The EventHttpConnection class

(PECL event >= 1.4.0-beta)

Introdução

Represents an HTTP connection.

Sinopse da classe

EventHttpConnection {
/* Métodos */
public __construct ( EventBase $base , EventDnsBase $dns_base , string $address , int $port , EventSslContext $ctx = null )
public getBase ( ) : EventBase
public getPeer ( string &$address , int &$port ) : void
public makeRequest ( EventHttpRequest $req , int $type , string $uri ) : bool
public setCloseCallback ( callable $callback , mixed $data = ? ) : void
public setLocalAddress ( string $address ) : void
public setLocalPort ( int $port ) : void
public setMaxBodySize ( string $max_size ) : void
public setMaxHeadersSize ( string $max_size ) : void
public setRetries ( int $retries ) : void
public setTimeout ( int $timeout ) : void
}

Índice

  • EventHttpConnection::__construct — Constructs EventHttpConnection object
  • EventHttpConnection::getBase — Returns event base associated with the connection
  • EventHttpConnection::getPeer — Gets the remote address and port associated with the connection
  • EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection
  • EventHttpConnection::setCloseCallback — Set callback for connection close
  • EventHttpConnection::setLocalAddress — Sets the IP address from which HTTP connections are made
  • EventHttpConnection::setLocalPort — Sets the local port from which connections are made
  • EventHttpConnection::setMaxBodySize — Sets maximum body size for the connection
  • EventHttpConnection::setMaxHeadersSize — Sets maximum header size
  • EventHttpConnection::setRetries — Sets the retry limit for the connection
  • EventHttpConnection::setTimeout — Sets the timeout for the connection


Constructs EventHttpConnection object

  • « EventHttpConnection
  • EventHttpConnection::getBase »
  • PHP Manual
  • EventHttpConnection
  • Constructs EventHttpConnection object

EventHttpConnection::__construct

(PECL event >= 1.2.6-beta)

EventHttpConnection::__construct — Constructs EventHttpConnection object

Descrição

public EventHttpConnection::__construct ( EventBase $base , EventDnsBase $dns_base , string $address , int $port , EventSslContext $ctx = null )

Constructs EventHttpConnection object.

Parâmetros

base

Associated event base.

dns_base

If dns_base is null, hostname resolution will block.

address

The address to connect to.

port

The port to connect to.

ctx

EventSslContext class object. Enables OpenSSL.

Nota:

This parameter is available only if Event is compiled with OpenSSL support and only with Libevent 2.1.0-alpha and higher.

Valor Retornado

Returns EventHttpConnection object.

Changelog

Versão | Descrição
PECL event 1.9.0 | OpenSSL support (ctx) added.


Returns event base associated with the connection

  • « EventHttpConnection::__construct
  • EventHttpConnection::getPeer »
  • PHP Manual
  • EventHttpConnection
  • Returns event base associated with the connection

EventHttpConnection::getBase

(PECL event >= 1.2.6-beta)

EventHttpConnection::getBase — Returns event base associated with the connection

Descrição

public EventHttpConnection::getBase ( ) : EventBase

Returns event base associated with the connection.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

On success returns EventBase object associated with the connection. Otherwise false.


Gets the remote address and port associated with the connection

  • « EventHttpConnection::getBase
  • EventHttpConnection::makeRequest »
  • PHP Manual
  • EventHttpConnection
  • Gets the remote address and port associated with the connection

EventHttpConnection::getPeer

(PECL event >= 1.2.6-beta)

EventHttpConnection::getPeer — Gets the remote address and port associated with the connection

Descrição

public EventHttpConnection::getPeer ( string &$address , int &$port ) : void

Gets the remote address and port associated with the connection

Parâmetros

address

Address of the peer.

port

Port of the peer.

Valor Retornado

Não há valor retornado.


Makes an HTTP request over the specified connection

  • « EventHttpConnection::getPeer
  • EventHttpConnection::setCloseCallback »
  • PHP Manual
  • EventHttpConnection
  • Makes an HTTP request over the specified connection

EventHttpConnection::makeRequest

(PECL event >= 1.4.0-beta)

EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection

Descrição

public EventHttpConnection::makeRequest ( EventHttpRequest $req , int $type , string $uri ) : bool

Makes an HTTP request over the specified connection. type is one of EventHttpRequest::CMD_* constants.

Parâmetros

req

The connection object over which to send the request.

type

One of EventHttpRequest::CMD_* constants .

uri

The URI associated with the request.

Valor Retornado

Returns true on success. Otherwise false.

Exemplos

Exemplo #1 EventHttpConnection::makeRequest() example

<?php
function _request_handler($req, $base) {
    echo __FUNCTION__, PHP_EOL;

    if (is_null($req)) {
        echo "Timed out\n";
    } else {
        $response_code = $req->getResponseCode();

        if ($response_code == 0) {
            echo "Connection refused\n";
        } elseif ($response_code != 200) {
            echo "Unexpected response: $response_code\n";
        } else {
            echo "Success: $response_code\n";
            $buf = $req->getInputBuffer();
            echo "Body:\n";
            while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
                echo $s, PHP_EOL;
            }
        }
    }

    $base->exit(NULL);
}

$address = "127.0.0.1";
$port = 80;

$base = new EventBase();
$conn = new EventHttpConnection($base, NULL, $address, $port);
$conn->setTimeout(5);
$req = new EventHttpRequest("_request_handler", $base);

$req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
$req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");

$base->loop();
?>

O exemplo acima irá imprimir algo similar à:

_request_handler
Success: 200
Body:
PHP, date:
2013-03-13T20:27:52+05:00

Veja Também

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request


Set callback for connection close

  • « EventHttpConnection::makeRequest
  • EventHttpConnection::setLocalAddress »
  • PHP Manual
  • EventHttpConnection
  • Set callback for connection close

EventHttpConnection::setCloseCallback

(PECL event >= 1.8.0)

EventHttpConnection::setCloseCallback — Set callback for connection close

Descrição

public EventHttpConnection::setCloseCallback ( callable $callback , mixed $data = ? ) : void

Sets callback for connection close.

Parâmetros

callback

Callback which is called when connection is closed. Should match the following prototype:

callback ( EventHttpConnection $conn = null , mixed $arg = null ) : void

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 EventHttpConnection::setCloseCallback() example

<?php
/*
 * Setting up close-connection callback
 *
 * The script handles closed connections using HTTP API.
 *
 * Usage:
 * 1) Launch the server:
 * $ php examples/http_closecb.php 4242
 *
 * 2) Launch a client in another terminal. Telnet-like
 * session should look like the following:
 *
 * $ nc -t 127.0.0.1 4242
 * GET / HTTP/1.0
 * Connection: close
 *
 * The server will output something similar to the following:
 *
 * HTTP/1.0 200 OK
 * Content-Type: multipart/x-mixed-replace;boundary=boundarydonotcross
 * Connection: close
 *
 * <html>
 *
 * 3) Terminate the client connection abruptly,
 * i.e. kill the process, or just press Ctrl-C.
 *
 * 4) Check if the server called _close_callback.
 * The script should output "_close_callback" string to standard output.
 *
 * 5) Check if the server's process has no orphaned connections,
 * e.g. with `lsof` utility.
 */

function _close_callback($conn)
{
    echo __FUNCTION__, PHP_EOL;
}

function _http_default($req, $dummy)
{
    $conn = $req->getConnection();
    $conn->setCloseCallback('_close_callback', NULL);

    /*
    By enabling Event::READ we protect the server against unclosed conections.
    This is a peculiarity of Libevent. The library disables Event::READ events
     on this connection, and the server is not notified about terminated
    connections.

    So each time client terminates connection abruptly, we get an orphaned
    connection. For instance, the following is a part of `lsof -p $PID | grep TCP`
    command after client has terminated connection:

    57-php     15057 ruslan  6u  unix 0xffff8802fb59c780   0t0  125187 socket
    58:php     15057 ruslan  7u  IPv4             125189   0t0     TCP *:4242 (LISTEN)
    59:php     15057 ruslan  8u  IPv4             124342   0t0     TCP localhost:4242->localhost:37375 (CLOSE_WAIT)

    where $PID is our process ID.

    The following block of code fixes such kind of orphaned connections.
     */
    $bev = $req->getBufferEvent();
    $bev->enable(Event::READ);
    // We have to free it explicitly. See
EventHttpRequest::getConnection()
$bev->free(); // we have to free it explicitly

    $req->addHeader(
        'Content-Type',
        'multipart/x-mixed-replace;boundary=boundarydonotcross',
        EventHttpRequest::OUTPUT_HEADER
    );

    $buf = new EventBuffer();
    $buf->add('<html>');

    $req->sendReply(200, "OK");
    $req->sendReplyChunk($buf);
}

$port = 4242;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);

$http->setDefaultCallback("_http_default", NULL);
$http->bind("0.0.0.0", $port);
$base->loop();

?>


Sets the IP address from which HTTP connections are made

  • « EventHttpConnection::setCloseCallback
  • EventHttpConnection::setLocalPort »
  • PHP Manual
  • EventHttpConnection
  • Sets the IP address from which HTTP connections are made

EventHttpConnection::setLocalAddress

(PECL event >= 1.2.6-beta)

EventHttpConnection::setLocalAddress — Sets the IP address from which HTTP connections are made

Descrição

public EventHttpConnection::setLocalAddress ( string $address ) : void

Sets the IP address from which http connections are made.

Parâmetros

address

The IP address from which HTTP connections are made.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventHttpConnection::setLocalPort() - Sets the local port from which connections are made


Sets the local port from which connections are made

  • « EventHttpConnection::setLocalAddress
  • EventHttpConnection::setMaxBodySize »
  • PHP Manual
  • EventHttpConnection
  • Sets the local port from which connections are made

EventHttpConnection::setLocalPort

(PECL event >= 1.2.6-beta)

EventHttpConnection::setLocalPort — Sets the local port from which connections are made

Descrição

public EventHttpConnection::setLocalPort ( int $port ) : void

Sets the local port from which connections are made.

Parâmetros

port

The port number.

Valor Retornado

Veja Também

  • EventHttpConnection::setLocalAddress() - Sets the IP address from which HTTP connections are made


Sets maximum body size for the connection

  • « EventHttpConnection::setLocalPort
  • EventHttpConnection::setMaxHeadersSize »
  • PHP Manual
  • EventHttpConnection
  • Sets maximum body size for the connection

EventHttpConnection::setMaxBodySize

(PECL event >= 1.2.6-beta)

EventHttpConnection::setMaxBodySize — Sets maximum body size for the connection

Descrição

public EventHttpConnection::setMaxBodySize ( string $max_size ) : void

Sets maximum body size for the connection.

Parâmetros

max_size

The maximum body size in bytes.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventHttpConnection::setMaxHeadersSize() - Sets maximum header size


Sets maximum header size

  • « EventHttpConnection::setMaxBodySize
  • EventHttpConnection::setRetries »
  • PHP Manual
  • EventHttpConnection
  • Sets maximum header size

EventHttpConnection::setMaxHeadersSize

(PECL event >= 1.2.6-beta)

EventHttpConnection::setMaxHeadersSize — Sets maximum header size

Descrição

public EventHttpConnection::setMaxHeadersSize ( string $max_size ) : void

Sets maximum header size for the connection.

Parâmetros

max_size

The maximum header size in bytes.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventHttpConnection::setMaxBodySize() - Sets maximum body size for the connection


Sets the retry limit for the connection

  • « EventHttpConnection::setMaxHeadersSize
  • EventHttpConnection::setTimeout »
  • PHP Manual
  • EventHttpConnection
  • Sets the retry limit for the connection

EventHttpConnection::setRetries

(PECL event >= 1.2.6-beta)

EventHttpConnection::setRetries — Sets the retry limit for the connection

Descrição

public EventHttpConnection::setRetries ( int $retries ) : void

Sets the retry limit for the connection

Parâmetros

retries

The retry limit. -1 means infinity.

Valor Retornado

Não há valor retornado.


Sets the timeout for the connection

  • « EventHttpConnection::setRetries
  • EventHttpRequest »
  • PHP Manual
  • EventHttpConnection
  • Sets the timeout for the connection

EventHttpConnection::setTimeout

(PECL event >= 1.2.6-beta)

EventHttpConnection::setTimeout — Sets the timeout for the connection

Descrição

public EventHttpConnection::setTimeout ( int $timeout ) : void

Sets the timeout for the connection

Parâmetros

timeout

Timeout in seconds.

Valor Retornado

Não há valor retornado.


The EventHttpRequest class

(PECL event >= 1.4.0-beta)

Introdução

Represents an HTTP request.

Sinopse da classe

EventHttpRequest {
/* Constants */
const int CMD_GET = 1 ;
const int CMD_POST = 2 ;
const int CMD_HEAD = 4 ;
const int CMD_PUT = 8 ;
const int CMD_DELETE = 16 ;
const int CMD_OPTIONS = 32 ;
const int CMD_TRACE = 64 ;
const int CMD_CONNECT = 128 ;
const int CMD_PATCH = 256 ;
const int INPUT_HEADER = 1 ;
const int OUTPUT_HEADER = 2 ;
/* Métodos */
public addHeader ( string $key , string $value , int $type ) : bool
public cancel ( ) : void
public clearHeaders ( ) : void
public closeConnection ( ) : void
public __construct ( callable $callback , mixed $data = null )
public findHeader ( string $key , string $type ) : void
public free ( ) : void
public closeConnection ( ) : EventBufferEvent
public getCommand ( ) : void
public closeConnection ( ) : EventHttpConnection
public getHost ( ) : string
public getInputBuffer ( ) : EventBuffer
public getInputHeaders ( ) : array
public getOutputBuffer ( ) : EventBuffer
public getOutputHeaders ( ) : void
public getResponseCode ( ) : int
public getUri ( ) : string
public removeHeader ( string $key , string $type ) : void
public sendError ( int $error , string $reason = null ) : void
public sendReply ( int $code , string $reason , EventBuffer $buf = ? ) : void
public sendReplyChunk ( EventBuffer $buf ) : void
public sendReplyEnd ( ) : void
public sendReplyStart ( int $code , string $reason ) : void
}

Constantes pré-definidas

EventHttpRequest::CMD_GET

GET method(command)

EventHttpRequest::CMD_POST

POST method(command)

EventHttpRequest::CMD_HEAD

HEAD method(command)

EventHttpRequest::CMD_PUT

PUT method(command)

EventHttpRequest::CMD_DELETE

DELETE command(method)

EventHttpRequest::CMD_OPTIONS

OPTIONS method(command)

EventHttpRequest::CMD_TRACE

TRACE method(command)

EventHttpRequest::CMD_CONNECT

CONNECT method(command)

EventHttpRequest::CMD_PATCH

PATCH method(command)

EventHttpRequest::INPUT_HEADER

Request input header type.

EventHttpRequest::OUTPUT_HEADER

Request output header type.

Índice

  • EventHttpRequest::addHeader — Adds an HTTP header to the headers of the request
  • EventHttpRequest::cancel — Cancels a pending HTTP request
  • EventHttpRequest::clearHeaders — Removes all output headers from the header list of the request
  • EventHttpRequest::closeConnection — Closes associated HTTP connection
  • EventHttpRequest::__construct — Constructs EventHttpRequest object
  • EventHttpRequest::findHeader — Finds the value belonging a header
  • EventHttpRequest::free — Frees the object and removes associated events
  • EventHttpRequest::getBufferEvent — Returns EventBufferEvent object
  • EventHttpRequest::getCommand — Returns the request command(method)
  • EventHttpRequest::getConnection — Returns EventHttpConnection object
  • EventHttpRequest::getHost — Returns the request host
  • EventHttpRequest::getInputBuffer — Returns the input buffer
  • EventHttpRequest::getInputHeaders — Returns associative array of the input headers
  • EventHttpRequest::getOutputBuffer — Returns the output buffer of the request
  • EventHttpRequest::getOutputHeaders — Returns associative array of the output headers
  • EventHttpRequest::getResponseCode — Returns the response code
  • EventHttpRequest::getUri — Returns the request URI
  • EventHttpRequest::removeHeader — Removes an HTTP header from the headers of the request
  • EventHttpRequest::sendError — Send an HTML error message to the client
  • EventHttpRequest::sendReply — Send an HTML reply to the client
  • EventHttpRequest::sendReplyChunk — Send another data chunk as part of an ongoing chunked reply
  • EventHttpRequest::sendReplyEnd — Complete a chunked reply, freeing the request as appropriate
  • EventHttpRequest::sendReplyStart — Initiate a chunked reply


Adds an HTTP header to the headers of the request

  • « EventHttpRequest
  • EventHttpRequest::cancel »
  • PHP Manual
  • EventHttpRequest
  • Adds an HTTP header to the headers of the request

EventHttpRequest::addHeader

(PECL event >= 1.4.0-beta)

EventHttpRequest::addHeader — Adds an HTTP header to the headers of the request

Descrição

public EventHttpRequest::addHeader ( string $key , string $value , int $type ) : bool

Adds an HTTP header to the headers of the request.

Parâmetros

key

Header name.

value

Header value.

type

One of EventHttpRequest::*_HEADER constants .

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventHttpRequest::removeHeader() - Removes an HTTP header from the headers of the request


Cancels a pending HTTP request

  • « EventHttpRequest::addHeader
  • EventHttpRequest::clearHeaders »
  • PHP Manual
  • EventHttpRequest
  • Cancels a pending HTTP request

EventHttpRequest::cancel

(PECL event >= 1.4.0-beta)

EventHttpRequest::cancel — Cancels a pending HTTP request

Descrição

public EventHttpRequest::cancel ( ) : void

Cancels a pending HTTP request.

Cancels an ongoing HTTP request. The callback associated with this request is not executed and the request object is freed. If the request is currently being processed, e.g. it is ongoing, the corresponding EventHttpConnection object is going to get reset.

A request cannot be canceled if its callback has executed already. A request may be canceled reentrantly from its chunked callback.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Removes all output headers from the header list of the request

  • « EventHttpRequest::cancel
  • EventHttpRequest::closeConnection »
  • PHP Manual
  • EventHttpRequest
  • Removes all output headers from the header list of the request

EventHttpRequest::clearHeaders

(PECL event >= 1.4.0-beta)

EventHttpRequest::clearHeaders — Removes all output headers from the header list of the request

Descrição

public EventHttpRequest::clearHeaders ( ) : void

Removes all output headers from the header list of the request.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request


Closes associated HTTP connection

  • « EventHttpRequest::clearHeaders
  • EventHttpRequest::__construct »
  • PHP Manual
  • EventHttpRequest
  • Closes associated HTTP connection

EventHttpRequest::closeConnection

(PECL event >= 1.8.0)

EventHttpRequest::closeConnection — Closes associated HTTP connection

Descrição

public EventHttpRequest::closeConnection ( ) : void

Closes HTTP connection associated with the request.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Constructs EventHttpRequest object

  • « EventHttpRequest::closeConnection
  • EventHttpRequest::findHeader »
  • PHP Manual
  • EventHttpRequest
  • Constructs EventHttpRequest object

EventHttpRequest::__construct

(PECL event >= 1.4.0-beta)

EventHttpRequest::__construct — Constructs EventHttpRequest object

Descrição

public EventHttpRequest::__construct ( callable $callback , mixed $data = null )

Constructs EventHttpRequest object.

Parâmetros

callback

Gets invoked on requesting path. Should match the following prototype:

callback ( EventHttpRequest $req = null , mixed $arg = null ) : void
data

User custom data passed to the callback.

Valor Retornado

Returns EventHttpRequest object.

Exemplos

Exemplo #1 EventHttpRequest::__construct() example

<?php

function _request_handler($req, $base) {
    echo __FUNCTION__, PHP_EOL;

    if (is_null($req)) {
        echo "Timed out\n";
    } else {
        $response_code = $req->getResponseCode();

        if ($response_code == 0) {
            echo "Connection refused\n";
        } elseif ($response_code != 200) {
            echo "Unexpected response: $response_code\n";
        } else {
            echo "Success: $response_code\n";
            $buf = $req->getInputBuffer();
            echo "Body:\n";
            while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
                echo $s, PHP_EOL;
            }
        }
    }

    $base->exit(NULL);
}

$address = "127.0.0.1";
$port = 80;

$base = new EventBase();
$conn = new EventHttpConnection($base, NULL, $address, $port);
$conn->setTimeout(5);
$req = new EventHttpRequest("_request_handler", $base);

$req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
$req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");

$base->loop();
?>

Veja Também

  • EventHttpRequest::cancel() - Cancels a pending HTTP request
  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request


Finds the value belonging a header

  • « EventHttpRequest::__construct
  • EventHttpRequest::free »
  • PHP Manual
  • EventHttpRequest
  • Finds the value belonging a header

EventHttpRequest::findHeader

(PECL event >= 1.4.0-beta)

EventHttpRequest::findHeader — Finds the value belonging a header

Descrição

public EventHttpRequest::findHeader ( string $key , string $type ) : void

Finds the value belonging a header.

Parâmetros

key

The header name.

type

One of EventHttpRequest::*_HEADER constants .

Valor Retornado

Returns null if header not found.

Veja Também

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request


Frees the object and removes associated events

  • « EventHttpRequest::findHeader
  • EventHttpRequest::getBufferEvent »
  • PHP Manual
  • EventHttpRequest
  • Frees the object and removes associated events

EventHttpRequest::free

(PECL event >= 1.4.0-beta)

EventHttpRequest::free — Frees the object and removes associated events

Descrição

public EventHttpRequest::free ( ) : void

Frees the object and removes associated events.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Returns EventBufferEvent object

  • « EventHttpRequest::free
  • EventHttpRequest::getCommand »
  • PHP Manual
  • EventHttpRequest
  • Returns EventBufferEvent object

EventHttpRequest::getBufferEvent

(PECL event >= 1.8.0)

EventHttpRequest::getBufferEvent — Returns EventBufferEvent object

Descrição

public EventHttpRequest::closeConnection ( ) : EventBufferEvent

Returns EventBufferEvent object which represents buffer event that the connection is using.

Aviso

The reference counter of the returned object will be incremented by one to protect internal structures against premature destruction when the method is called from a user callback. So the EventBufferEvent object should be freed explicitly with EventBufferEvent::free() method. Otherwise memory will leak.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns EventBufferEvent object.

Veja Também

  • EventHttpRequest::getConnection() - Returns EventHttpConnection object


Returns the request command(method)

  • « EventHttpRequest::getBufferEvent
  • EventHttpRequest::getConnection »
  • PHP Manual
  • EventHttpRequest
  • Returns the request command(method)

EventHttpRequest::getCommand

(PECL event >= 1.4.0-beta)

EventHttpRequest::getCommand — Returns the request command(method)

Descrição

public EventHttpRequest::getCommand ( ) : void

Returns the request command, one of EventHttpRequest::CMD_* constants.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the request command, one of EventHttpRequest::CMD_* constants.


Returns EventHttpConnection object

  • « EventHttpRequest::getCommand
  • EventHttpRequest::getHost »
  • PHP Manual
  • EventHttpRequest
  • Returns EventHttpConnection object

EventHttpRequest::getConnection

(PECL event >= 1.8.0)

EventHttpRequest::getConnection — Returns EventHttpConnection object

Descrição

public EventHttpRequest::closeConnection ( ) : EventHttpConnection

Returns EventHttpConnection object which represents HTTP connection associated with the request.

Aviso

Libevent API allows HTTP request objects to be not bound to any HTTP connection. Therefore we can't unambiguously associate EventHttpRequest with EventHttpConnection . Thus, we construct EventHttpConnection object on-the-fly. Having no information about the event base, DNS base and connection-close callback, we just leave these fields unset.

EventHttpRequest::getConnection() method is usually useful when we need to set up a callback on connection close. See EventHttpConnection::setCloseCallback() .

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns EventHttpConnection object.

Veja Também

  • EventHttpConnection::setCloseCallback() - Set callback for connection close
  • EventHttpRequest::getBufferEvent() - Returns EventBufferEvent object


Returns the request host

  • « EventHttpRequest::getConnection
  • EventHttpRequest::getInputBuffer »
  • PHP Manual
  • EventHttpRequest
  • Returns the request host

EventHttpRequest::getHost

(PECL event >= 1.4.0-beta)

EventHttpRequest::getHost — Returns the request host

Descrição

public EventHttpRequest::getHost ( ) : string

Returns the request host.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the request host.

Veja Também

  • EventHttpRequest::getUri() - Returns the request URI
  • EventHttpRequest::getCommand() - Returns the request command(method)


Returns the input buffer

  • « EventHttpRequest::getHost
  • EventHttpRequest::getInputHeaders »
  • PHP Manual
  • EventHttpRequest
  • Returns the input buffer

EventHttpRequest::getInputBuffer

(PECL event >= 1.4.0-beta)

EventHttpRequest::getInputBuffer — Returns the input buffer

Descrição

public EventHttpRequest::getInputBuffer ( ) : EventBuffer

Returns the input buffer.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the input buffer.

Veja Também

  • EventHttpRequest::getOutputBuffer() - Returns the output buffer of the request


Returns associative array of the input headers

  • « EventHttpRequest::getInputBuffer
  • EventHttpRequest::getOutputBuffer »
  • PHP Manual
  • EventHttpRequest
  • Returns associative array of the input headers

EventHttpRequest::getInputHeaders

(PECL event >= 1.4.0-beta)

EventHttpRequest::getInputHeaders — Returns associative array of the input headers

Descrição

public EventHttpRequest::getInputHeaders ( ) : array

Returns associative array of the input headers.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns associative array of the input headers.

Veja Também

  • EventHttpRequest::getOutputHeaders() - Returns associative array of the output headers


Returns the output buffer of the request

  • « EventHttpRequest::getInputHeaders
  • EventHttpRequest::getOutputHeaders »
  • PHP Manual
  • EventHttpRequest
  • Returns the output buffer of the request

EventHttpRequest::getOutputBuffer

(PECL event >= 1.4.0-beta)

EventHttpRequest::getOutputBuffer — Returns the output buffer of the request

Descrição

public EventHttpRequest::getOutputBuffer ( ) : EventBuffer

Returns the output buffer of the request.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the output buffer of the request.

Veja Também

  • EventHttpRequest::getInputBuffer() - Returns the input buffer


Returns associative array of the output headers

  • « EventHttpRequest::getOutputBuffer
  • EventHttpRequest::getResponseCode »
  • PHP Manual
  • EventHttpRequest
  • Returns associative array of the output headers

EventHttpRequest::getOutputHeaders

(PECL event >= 1.4.0-beta)

EventHttpRequest::getOutputHeaders — Returns associative array of the output headers

Descrição

public EventHttpRequest::getOutputHeaders ( ) : void

Returns associative array of the output headers.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • EventHttpRequest::getInputHeaders() - Returns associative array of the input headers


Returns the response code

  • « EventHttpRequest::getOutputHeaders
  • EventHttpRequest::getUri »
  • PHP Manual
  • EventHttpRequest
  • Returns the response code

EventHttpRequest::getResponseCode

(PECL event >= 1.4.0-beta)

EventHttpRequest::getResponseCode — Returns the response code

Descrição

public EventHttpRequest::getResponseCode ( ) : int

Returns the response code.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the response code of the request.

Veja Também

  • EventHttpRequest::getCommand() - Returns the request command(method)
  • EventHttpRequest::getHost() - Returns the request host
  • EventHttpRequest::getUri() - Returns the request URI


Returns the request URI

  • « EventHttpRequest::getResponseCode
  • EventHttpRequest::removeHeader »
  • PHP Manual
  • EventHttpRequest
  • Returns the request URI

EventHttpRequest::getUri

(PECL event >= 1.4.0-beta)

EventHttpRequest::getUri — Returns the request URI

Descrição

public EventHttpRequest::getUri ( ) : string

Returns the request URI

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the request URI

Veja Também

  • EventHttpRequest::getCommand() - Returns the request command(method)
  • EventHttpRequest::getHost() - Returns the request host
  • EventHttpRequest::getResponseCode() - Returns the response code


Removes an HTTP header from the headers of the request

  • « EventHttpRequest::getUri
  • EventHttpRequest::sendError »
  • PHP Manual
  • EventHttpRequest
  • Removes an HTTP header from the headers of the request

EventHttpRequest::removeHeader

(PECL event >= 1.4.0-beta)

EventHttpRequest::removeHeader — Removes an HTTP header from the headers of the request

Descrição

public EventHttpRequest::removeHeader ( string $key , string $type ) : void

Removes an HTTP header from the headers of the request.

Parâmetros

key

The header name.

type

type is one of EventHttpRequest::*_HEADER constants.

Valor Retornado

Removes an HTTP header from the headers of the request.

Veja Também

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request


Send an HTML error message to the client

  • « EventHttpRequest::removeHeader
  • EventHttpRequest::sendReply »
  • PHP Manual
  • EventHttpRequest
  • Send an HTML error message to the client

EventHttpRequest::sendError

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendError — Send an HTML error message to the client

Descrição

public EventHttpRequest::sendError ( int $error , string $reason = null ) : void

Send an HTML error message to the client.

Parâmetros

error

The HTTP error code.

reason

A brief explanation ofthe error. If null, the standard meaning of the error code will be used.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 EventHttpRequest::sendError() example

<?php
function _http_400($req) {
    $req->sendError(400);
}

$base = new EventBase();
$http = new EventHttp($base);

$http->setCallback("/err400", "_http_400");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

Veja Também

  • EventHttpRequest::sendReply() - Send an HTML reply to the client


Send an HTML reply to the client

  • « EventHttpRequest::sendError
  • EventHttpRequest::sendReplyChunk »
  • PHP Manual
  • EventHttpRequest
  • Send an HTML reply to the client

EventHttpRequest::sendReply

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReply — Send an HTML reply to the client

Descrição

public EventHttpRequest::sendReply ( int $code , string $reason , EventBuffer $buf = ? ) : void

Send an HTML reply to the client. The body of the reply consists of data in optional buf parameter.

Parâmetros

code

The HTTP response code to send.

reason

A brief message to send with the response code.

buf

The body of the response.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventHttpRequest::sendError() - Send an HTML error message to the client
  • EventHttpRequest::sendReplyChunk() - Send another data chunk as part of an ongoing chunked reply


Send another data chunk as part of an ongoing chunked reply

  • « EventHttpRequest::sendReply
  • EventHttpRequest::sendReplyEnd »
  • PHP Manual
  • EventHttpRequest
  • Send another data chunk as part of an ongoing chunked reply

EventHttpRequest::sendReplyChunk

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReplyChunk — Send another data chunk as part of an ongoing chunked reply

Descrição

public EventHttpRequest::sendReplyChunk ( EventBuffer $buf ) : void

Send another data chunk as part of an ongoing chunked reply. After calling this method buf will be empty.

Parâmetros

buf

The data chunk to send as part of the reply.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventHttpRequest::sendReplyStart() - Initiate a chunked reply
  • EventHttpRequest::sendReplyEnd() - Complete a chunked reply, freeing the request as appropriate


Complete a chunked reply, freeing the request as appropriate

  • « EventHttpRequest::sendReplyChunk
  • EventHttpRequest::sendReplyStart »
  • PHP Manual
  • EventHttpRequest
  • Complete a chunked reply, freeing the request as appropriate

EventHttpRequest::sendReplyEnd

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReplyEnd — Complete a chunked reply, freeing the request as appropriate

Descrição

public EventHttpRequest::sendReplyEnd ( ) : void

Complete a chunked reply, freeing the request as appropriate.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventHttpRequest::sendReplyStart() - Initiate a chunked reply
  • EventHttpRequest::sendReplyChunk() - Send another data chunk as part of an ongoing chunked reply


Initiate a chunked reply

  • « EventHttpRequest::sendReplyEnd
  • EventListener »
  • PHP Manual
  • EventHttpRequest
  • Initiate a chunked reply

EventHttpRequest::sendReplyStart

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReplyStart — Initiate a chunked reply

Descrição

public EventHttpRequest::sendReplyStart ( int $code , string $reason ) : void

Initiate a reply that uses Transfer-Encoding chunked .

This allows the caller to stream the reply back to the client and is useful when either not all of the reply data is immediately available or when sending very large replies.

The caller needs to supply data chunks with EventHttpRequest::sendReplyChunk() and complete the reply by calling EventHttpRequest::sendReplyEnd() .

Parâmetros

code

The HTTP response code to send.

reason

A brief message to send with the response code.

Valor Retornado

Não há valor retornado.

Veja Também

  • EventHttpRequest::sendReplyChunk() - Send another data chunk as part of an ongoing chunked reply
  • EventHttpRequest::sendReplyEnd() - Complete a chunked reply, freeing the request as appropriate


The EventListener class

(PECL event >= 1.5.0)

Introdução

Represents a connection listener.

Sinopse da classe

final EventListener {
/* Constants */
const int OPT_LEAVE_SOCKETS_BLOCKING = 1 ;
const int OPT_CLOSE_ON_FREE = 2 ;
const int OPT_CLOSE_ON_EXEC = 4 ;
const int OPT_REUSEABLE = 8 ;
const int OPT_THREADSAFE = 16 ;
/* Propriedades */
public readonly int $fd ;
/* Métodos */
public __construct ( EventBase $base , callable $cb , mixed $data , int $flags , int $backlog , mixed $target )
public disable ( ) : bool
public enable ( ) : bool
public getBase ( ) : void
public static getSocketName ( string &$address , mixed &$port = ? ) : bool
public setCallback ( callable $cb , mixed $arg = null ) : void
public setErrorCallback ( string $cb ) : void
}

Propriedades

fd

Numeric file descriptor of the underlying socket. (Added in event-1.6.0 .)

Constantes pré-definidas

EventListener::OPT_LEAVE_SOCKETS_BLOCKING

By default Libevent turns underlying file descriptors, or sockets, to non-blocking mode. This flag tells Libevent to leave them in blocking mode.

EventListener::OPT_CLOSE_ON_FREE

If this option is set, the connection listener closes its underlying socket when the EventListener object is freed.

EventListener::OPT_CLOSE_ON_EXEC

If this option is set, the connection listener sets the close-on-exec flag on the underlying listener socket. See platform documentation for fcntl and FD_CLOEXEC for more information.

EventListener::OPT_REUSEABLE

By default on some platforms, once a listener socket is closed, no other socket can bind to the same port until a while has passed. Setting this option makes Libevent mark the socket as reusable, so that once it is closed, another socket can be opened to listen on the same port.

EventListener::OPT_THREADSAFE

Allocate locks for the listener, so that it’s safe to use it from multiple threads.

Índice

  • EventListener::__construct — Creates new connection listener associated with an event base
  • EventListener::disable — Disables an event connect listener object
  • EventListener::enable — Enables an event connect listener object
  • EventListener::getBase — Returns event base associated with the event listener
  • EventListener::getSocketName — Retreives the current address to which the listener's socket is bound
  • EventListener::setCallback — The setCallback purpose
  • EventListener::setErrorCallback — Set event listener's error callback


Creates new connection listener associated with an event base

  • « EventListener
  • EventListener::disable »
  • PHP Manual
  • EventListener
  • Creates new connection listener associated with an event base

EventListener::__construct

(PECL event >= 1.2.6-beta)

EventListener::__construct — Creates new connection listener associated with an event base

Descrição

public EventListener::__construct ( EventBase $base , callable $cb , mixed $data , int $flags , int $backlog , mixed $target )

Creates new connection listener associated with an event base.

Parâmetros

base

Associated event base.

cb

A callable that will be invoked when new connection received.

data

Custom user data attached to cb .

flags

Bit mask of EventListener::OPT_* constants. See EventListener constants .

backlog

Controls the maximum number of pending connections that the network stack should allow to wait in a not-yet-accepted state at any time; see documentation for your system’s listen function for more details. If backlog is negative, Libevent tries to pick a good value for the backlog ; if it is zero, Event assumes that listen is already called on the socket( target )

target

May be string, socket resource, or a stream associated with a socket. In case if target is a string, the string will be parsed as network address. It will be interpreted as a UNIX domain socket path, if prefixed with 'unix:' , e.g. 'unix:/tmp/my.sock' .

Valor Retornado

Returns EventListener object representing the event connection listener.

Changelog

Versão | Descrição
PECL event 1.5.0 | UNIX domain sockets' support added.

Exemplos

Exemplo #1 EventListener::__construct() example

<?php
/*
 * Simple echo server based on libevent's connection listener.
 *
 * Usage:
 * 1) In one terminal window run:
 *
 * $ php listener.php 9881
 *
 * 2) In another terminal window open up connection, e.g.:
 *
 * $ nc 127.0.0.1 9881
 *
 * 3) start typing. The server should repeat the input.
 */

class MyListenerConnection {
    private $bev, $base;

    public function __destruct() {
        $this->bev->free();
    }

    public function __construct($base, $fd) {
        $this->base = $base;

        $this->bev = new EventBufferEvent($base, $fd, EventBufferEvent::OPT_CLOSE_ON_FREE);

        $this->bev->setCallbacks(array($this, "echoReadCallback"), NULL,
            array($this, "echoEventCallback"), NULL);

        if (!$this->bev->enable(Event::READ)) {
            echo "Failed to enable READ\n";
            return;
        }
    }

    public function echoReadCallback($bev, $ctx) {
        // Copy all the data from the input buffer to the output buffer

        // Variant #1
        $bev->output->addBuffer($bev->input);

        /* Variant #2 */
        /*
        $input    = $bev->getInput();
        $output = $bev->getOutput();
        $output->addBuffer($input);
        */
    }

    public function echoEventCallback($bev, $events, $ctx) {
        if ($events & EventBufferEvent::ERROR) {
            echo "Error from bufferevent\n";
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            //$bev->free();
            $this->__destruct();
        }
    }
}

class MyListener {
    public $base,
        $listener,
        $socket;
    private $conn = array();

    public function __destruct() {
        foreach ($this->conn as &$c) $c = NULL;
    }

    public function __construct($port) {
        $this->base = new EventBase();
        if (!$this->base) {
            echo "Couldn't open event base";
            exit(1);
        }

        // Variant #1
        /*
        $this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
        if (!socket_bind($this->socket, '0.0.0.0', $port)) {
            echo "Unable to bind socket\n";
            exit(1);
        }
        $this->listener = new EventListener($this->base,
            array($this, "acceptConnCallback"), $this->base,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1, $this->socket);
         */

        // Variant #2
         $this->listener = new EventListener($this->base,
             array($this, "acceptConnCallback"), $this->base,
             EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE, -1,
             "0.0.0.0:$port");

        if (!$this->listener) {
            echo "Couldn't create listener";
            exit(1);
        }

        $this->listener->setErrorCallback(array($this, "accept_error_cb"));
    }

    public function dispatch() {
        $this->base->dispatch();
    }

    // This callback is invoked when there is data to read on $bev
    public function acceptConnCallback($listener, $fd, $address, $ctx) {
        // We got a new connection! Set up a bufferevent for it. */
        $base = $this->base;
        $this->conn[] = new MyListenerConnection($base, $fd);
    }

    public function accept_error_cb($listener, $ctx) {
        $base = $this->base;

        fprintf(STDERR, "Got an error %d (%s) on the listener. "
            ."Shutting down.\n",
            EventUtil::getLastSocketErrno(),
            EventUtil::getLastSocketError());

        $base->exit(NULL);
    }
}

$port = 9808;

if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$l = new MyListener($port);
$l->dispatch();
?>


Disables an event connect listener object

  • « EventListener::__construct
  • EventListener::enable »
  • PHP Manual
  • EventListener
  • Disables an event connect listener object

EventListener::disable

(PECL event >= 1.2.6-beta)

EventListener::disable — Disables an event connect listener object

Descrição

public EventListener::disable ( ) : bool

Disables an event connect listener object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventListener::enable() - Enables an event connect listener object


Enables an event connect listener object

  • « EventListener::disable
  • EventListener::getBase »
  • PHP Manual
  • EventListener
  • Enables an event connect listener object

EventListener::enable

(PECL event >= 1.2.6-beta)

EventListener::enable — Enables an event connect listener object

Descrição

public EventListener::enable ( ) : bool

Enables an event connect listener object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • EventListener::disable() - Disables an event connect listener object


Returns event base associated with the event listener

  • « EventListener::enable
  • EventListener::getSocketName »
  • PHP Manual
  • EventListener
  • Returns event base associated with the event listener

EventListener::getBase

(PECL event >= 1.2.6-beta)

EventListener::getBase — Returns event base associated with the event listener

Descrição

public EventListener::getBase ( ) : void

Returns event base associated with the event listener.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns event base associated with the event listener.


Retreives the current address to which the listener's socket is bound

  • « EventListener::getBase
  • EventListener::setCallback »
  • PHP Manual
  • EventListener
  • Retreives the current address to which the listener's socket is bound

EventListener::getSocketName

(PECL event >= 1.5.0)

EventListener::getSocketName — Retreives the current address to which the listener's socket is bound

Descrição

public static EventListener::getSocketName ( string &$address , mixed &$port = ? ) : bool

Retreives the current address to which the listener's socket is bound.

Parâmetros

address

Output parameter. IP-address depending on the socket address family.

port

Output parameter. The port the socket is bound to.

Valor Retornado

Returns true on success. Otherwise false.


The setCallback purpose

  • « EventListener::getSocketName
  • EventListener::setErrorCallback »
  • PHP Manual
  • EventListener
  • The setCallback purpose

EventListener::setCallback

(PECL event >= 1.2.6-beta)

EventListener::setCallback — The setCallback purpose

Descrição

public EventListener::setCallback ( callable $cb , mixed $arg = null ) : void

Adjust event connect listener's callback and optionally the callback argument.

Parâmetros

cb

The new callback for new connections. Ignored if null.

Should match the following prototype:

callback ( EventListener $listener = null , mixed $fd = null , array $address = null , mixed $arg = null ) : void

listener

The EventListener object.

fd

The file descriptor or a resource associated with the listener.

address

Array of two elements: IP address and the server port.

arg

User custom data attached to the callback.

arg

Custom user data attached to the callback. Ignored if null.

Valor Retornado

Não há valor retornado.


Set event listener's error callback

  • « EventListener::setCallback
  • EventSslContext »
  • PHP Manual
  • EventListener
  • Set event listener's error callback

EventListener::setErrorCallback

(PECL event >= 1.2.6-beta)

EventListener::setErrorCallback — Set event listener's error callback

Descrição

public EventListener::setErrorCallback ( string $cb ) : void

Set event listener's error callback

Parâmetros

cb

The error callback. Should match the following prototype:

callback ( EventListener $listener = null , mixed $data = null ) : void

listener

The EventListener object.

data

User custom data attached to the callback.

Valor Retornado

Veja Também

  • EventListener::setCallback() - The setCallback purpose


The EventSslContext class

(PECL event >= 1.2.6-beta)

Introdução

Represents SSL_CTX structure. Provides methods and properties to configure the SSL context.

Sinopse da classe

final EventSslContext {
/* Constants */
const int SSLv2_CLIENT_METHOD = 1 ;
const int SSLv3_CLIENT_METHOD = 2 ;
const int SSLv23_CLIENT_METHOD = 3 ;
const int TLS_CLIENT_METHOD = 4 ;
const int SSLv2_SERVER_METHOD = 5 ;
const int SSLv3_SERVER_METHOD = 6 ;
const int SSLv23_SERVER_METHOD = 7 ;
const int TLS_SERVER_METHOD = 8 ;
const int OPT_LOCAL_CERT = 1 ;
const int OPT_LOCAL_PK = 2 ;
const int OPT_PASSPHRASE = 3 ;
const int OPT_CA_FILE = 4 ;
const int OPT_CA_PATH = 5 ;
const int OPT_ALLOW_SELF_SIGNED = 6 ;
const int OPT_VERIFY_PEER = 7 ;
const int OPT_VERIFY_DEPTH = 8 ;
const int OPT_CIPHERS = 9 ;
/* Propriedades */
public string $local_cert ;
public string $local_pk ;
/* Métodos */
public __construct ( string $method , string $options )
}

Propriedades

local_cert

Path to local certificate file on filesystem. It must be a PEM-encoded file which contains certificate. It can optionally contain the certificate chain of issuers.

local_pk

Path to local private key file

Constantes pré-definidas

EventSslContext::SSLv2_CLIENT_METHOD

SSLv2 client method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv3_CLIENT_METHOD

SSLv3 client method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv23_CLIENT_METHOD

SSLv23 client method. See SSL_CTX_new(3) man page.

EventSslContext::TLS_CLIENT_METHOD

TLS client method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv2_SERVER_METHOD

SSLv2 server method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv3_SERVER_METHOD

SSLv3 server method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv23_SERVER_METHOD

SSLv23 server method. See SSL_CTX_new(3) man page.

EventSslContext::TLS_SERVER_METHOD

TLS server method. See SSL_CTX_new(3) man page.

EventSslContext::OPT_LOCAL_CERT

Key for an item of the options' array used in EventSslContext::__construct() . The option points to path of local certificate.

EventSslContext::OPT_LOCAL_PK

Key for an item of the options' array used in EventSslContext::__construct() . The option points to path of the private key.

EventSslContext::OPT_PASSPHRASE

Key for an item of the options' array used in EventSslContext::__construct() . Represents passphrase of the certificate.

EventSslContext::OPT_CA_FILE

Key for an item of the options' array used in EventSslContext::__construct() . Represents path of the certificate authority file.

EventSslContext::OPT_CA_PATH

Key for an item of the options' array used in EventSslContext::__construct() . Represents path where the certificate authority file should be searched for.

EventSslContext::OPT_ALLOW_SELF_SIGNED

Key for an item of the options' array used in EventSslContext::__construct() . Represents option that allows self-signed certificates.

EventSslContext::OPT_VERIFY_PEER

Key for an item of the options' array used in EventSslContext::__construct() . Represents option that tells Event to verify peer.

EventSslContext::OPT_VERIFY_DEPTH

Key for an item of the options' array used in EventSslContext::__construct() . Represents maximum depth for the certificate chain verification that shall be allowed for the SSL context.

EventSslContext::OPT_CIPHERS

Key for an item of the options' array used in EventSslContext::__construct() . Represents the cipher list for the SSL context.

Índice

  • EventSslContext::__construct — Constructs an OpenSSL context for use with Event classes


Constructs an OpenSSL context for use with Event classes

  • « EventSslContext
  • EventUtil »
  • PHP Manual
  • EventSslContext
  • Constructs an OpenSSL context for use with Event classes

EventSslContext::__construct

(PECL event >= 1.2.6-beta)

EventSslContext::__construct — Constructs an OpenSSL context for use with Event classes

Descrição

public EventSslContext::__construct ( string $method , string $options )

Creates SSL context holding pointer to SSL_CTX (see the system manual).

Parâmetros

method

One of EventSslContext::*_METHOD constants .

options

Associative array of SSL context options One of EventSslContext::OPT_* constants .

Valor Retornado

Returns EventSslContext object.

Exemplos

Exemplo #1 EventSslContext::__construct() example

<?php
$ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, array(
     EventSslContext::OPT_LOCAL_CERT        => $local_cert,
     EventSslContext::OPT_LOCAL_PK          => $local_pk,
     EventSslContext::OPT_PASSPHRASE        => "echo server",
     EventSslContext::OPT_VERIFY_PEER       => true,
     EventSslContext::OPT_ALLOW_SELF_SIGNED => false,
));
?>


The EventUtil class

(PECL event >= 1.5.0)

Introdução

EventUtil is a singleton with supplimentary methods and constants.

Sinopse da classe

final EventUtil {
/* Constants */
const int AF_INET = 2 ;
const int AF_INET6 = 10 ;
const int AF_UNSPEC = 0 ;
const int LIBEVENT_VERSION_NUMBER = 33559808 ;
const int SO_DEBUG = 1 ;
const int SO_REUSEADDR = 2 ;
const int SO_KEEPALIVE = 9 ;
const int SO_DONTROUTE = 5 ;
const int SO_LINGER = 13 ;
const int SO_BROADCAST = 6 ;
const int SO_OOBINLINE = 10 ;
const int SO_SNDBUF = 7 ;
const int SO_RCVBUF = 8 ;
const int SO_SNDLOWAT = 19 ;
const int SO_RCVLOWAT = 18 ;
const int SO_SNDTIMEO = 21 ;
const int SO_RCVTIMEO = 20 ;
const int SO_TYPE = 3 ;
const int SO_ERROR = 4 ;
const int SOL_SOCKET = 1 ;
const int SOL_TCP = 6 ;
const int SOL_UDP = 17 ;
const int IPPROTO_IP = 0 ;
const int IPPROTO_IPV6 = 41 ;
/* Métodos */
abstract public __construct ( )
public static getLastSocketErrno ( mixed $socket = null ) : int
public static getLastSocketError ( mixed $socket = ? ) : string
public static getSocketFd ( mixed $socket ) : int
public static getSocketName ( mixed $socket , string &$address , mixed &$port = ? ) : bool
public static setSocketOption ( mixed $socket , int $level , int $optname , mixed $optval ) : bool
public static sslRandPoll ( ) : void
}

Constantes pré-definidas

EventUtil::AF_INET

IPv4 address family

EventUtil::AF_INET6

IPv6 address family

EventUtil::AF_UNSPEC

Unspecified IP address family

EventUtil::SO_DEBUG

Socket option. Enable socket debugging. Only allowed for processes with the CAP_NET_ADMIN capability or an effective user ID of 0 . (Added in event-1.6.0.)

EventUtil::SO_REUSEADDR

Socket option. Indicates that the rules used in validating addresses supplied in a bind(2) call should allow reuse of local addresses. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_KEEPALIVE

Socket option. Enable sending of keep-alive messages on connection-oriented sockets. Expects an integer boolean flag. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_DONTROUTE

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_LINGER

Socket option. When enabled, a close(2) or shutdown(2) will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_BROADCAST

Socket option. Reports whether transmission of broadcast messages is supported. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_OOBINLINE

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_SNDBUF

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_RCVBUF

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_SNDLOWAT

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_RCVLOWAT

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_SNDTIMEO

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_RCVTIMEO

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_TYPE

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_ERROR

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SOL_SOCKET

Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SOL_TCP

Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SOL_UDP

Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::IPPROTO_IP

See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::IPPROTO_IPV6

See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::LIBEVENT_VERSION_NUMBER

Libevent' version number at the time when Event extension had been compiled with the library.

Índice

  • EventUtil::__construct — The abstract constructor
  • EventUtil::getLastSocketErrno — Returns the most recent socket error number
  • EventUtil::getLastSocketError — Returns the most recent socket error
  • EventUtil::getSocketFd — Returns numeric file descriptor of a socket, or stream
  • EventUtil::getSocketName — Retreives the current address to which the socket is bound
  • EventUtil::setSocketOption — Sets socket options
  • EventUtil::sslRandPoll — Generates entropy by means of OpenSSL's RAND_poll()


The abstract constructor

  • « EventUtil
  • EventUtil::getLastSocketErrno »
  • PHP Manual
  • EventUtil
  • The abstract constructor

EventUtil::__construct

(PECL event >= 1.2.6-beta)

EventUtil::__construct — The abstract constructor

Descrição

abstract public EventUtil::__construct ( )

EventUtil is a singleton. Therefore the constructor is abstract, and it is impossible to create objects based on this class.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Returns the most recent socket error number

  • « EventUtil::__construct
  • EventUtil::getLastSocketError »
  • PHP Manual
  • EventUtil
  • Returns the most recent socket error number

EventUtil::getLastSocketErrno

(PECL event >= 1.2.6-beta)

EventUtil::getLastSocketErrno — Returns the most recent socket error number

Descrição

public static EventUtil::getLastSocketErrno ( mixed $socket = null ) : int

Returns the most recent socket error number( errno ).

Parâmetros

socket

Socket resource, stream or a file descriptor of a socket.

Valor Retornado

Returns the most recent socket error number( errno ).

Veja Também

  • EventUtil::getLastSocketError() - Returns the most recent socket error


Returns the most recent socket error

  • « EventUtil::getLastSocketErrno
  • EventUtil::getSocketFd »
  • PHP Manual
  • EventUtil
  • Returns the most recent socket error

EventUtil::getLastSocketError

(PECL event >= 1.2.6-beta)

EventUtil::getLastSocketError — Returns the most recent socket error

Descrição

public static EventUtil::getLastSocketError ( mixed $socket = ? ) : string

Returns the most recent socket error.

Parâmetros

socket

Socket resource, stream or a file descriptor of a socket.

Valor Retornado

Returns the most recent socket error.

Veja Também

  • EventUtil::getLastSocketErrno() - Returns the most recent socket error number


Returns numeric file descriptor of a socket, or stream

  • « EventUtil::getLastSocketError
  • EventUtil::getSocketName »
  • PHP Manual
  • EventUtil
  • Returns numeric file descriptor of a socket, or stream

EventUtil::getSocketFd

(PECL event >= 1.7.0)

EventUtil::getSocketFd — Returns numeric file descriptor of a socket, or stream

Descrição

public static EventUtil::getSocketFd ( mixed $socket ) : int

Returns numeric file descriptor of a socket or stream specified by socket argument just like the Event extension does it internally for all methods accepting socket resource or stream.

Parâmetros

socket

Socket resource or stream.

Valor Retornado

Returns numeric file descriptor of a socket, or stream. EventUtil::getSocketFd() returns false in case if it is whether failed to recognize the type of the underlying file, or detected that the file descriptor associated with socket is not valid.


Retreives the current address to which the socket is bound

  • « EventUtil::getSocketFd
  • EventUtil::setSocketOption »
  • PHP Manual
  • EventUtil
  • Retreives the current address to which the socket is bound

EventUtil::getSocketName

(PECL event >= 1.5.0)

EventUtil::getSocketName — Retreives the current address to which the socket is bound

Descrição

public static EventUtil::getSocketName ( mixed $socket , string &$address , mixed &$port = ? ) : bool

Retreives the current address to which the socket is bound.

Parâmetros

socket

Socket resource, stream or a file descriptor of a socket.

address

Output parameter. IP-address, or the UNIX domain socket path depending on the socket address family.

port

Output parameter. The port the socket is bound to. Has no meaning for UNIX domain sockets.

Valor Retornado

Returns true on success. Otherwise false.


Sets socket options

  • « EventUtil::getSocketName
  • EventUtil::sslRandPoll »
  • PHP Manual
  • EventUtil
  • Sets socket options

EventUtil::setSocketOption

(PECL event >= 1.6.0)

EventUtil::setSocketOption — Sets socket options

Descrição

public static EventUtil::setSocketOption ( mixed $socket , int $level , int $optname , mixed $optval ) : bool

Sets socket options.

Parâmetros

socket

Socket resource, stream, or numeric file descriptor associated with the socket.

level

One of EventUtil::SOL_* constants. Specifies the protocol level at which the option resides. For example, to retrieve options at the socket level, a level parameter of EventUtil::SOL_SOCKET would be used. Other levels, such as TCP, can be used by specifying the protocol number of that level. Protocol numbers can be found by using the getprotobyname() function. See EventUtil constants .

optname

Option name(type). Has the same meaning as corresponding parameter of socket_get_option() function. See EventUtil constants .

optval

Accepts the same values as optval parameter of the socket_get_option() function.

Valor Retornado

Returns true on success. Otherwise false.

Veja Também

  • socket_get_option() - Pega opções de socket para o socket
  • socket_set_option() - Configura opções de socket para o socket


Generates entropy by means of OpenSSL's RAND_poll()

  • « EventUtil::setSocketOption
  • FTP »
  • PHP Manual
  • EventUtil
  • Generates entropy by means of OpenSSL's RAND_poll()

EventUtil::sslRandPoll

(PECL event >= 1.2.6-beta)

EventUtil::sslRandPoll — Generates entropy by means of OpenSSL's RAND_poll()

Descrição

public static EventUtil::sslRandPoll ( ) : void

Generates entropy by means of OpenSSL's RAND_poll() (see the system manual).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


FTP

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • FTP Funções
    • ftp_alloc — Aloca espaço para um arquivo a ser enviado para o servidor (uploaded)
    • ftp_append — Append the contents of a file to another file on the FTP server
    • ftp_cdup — Muda para o diretório acima
    • ftp_chdir — Muda o diretório atual em um servidor FTP
    • ftp_chmod — Estabelece as permissões de um arquivo via FTP
    • ftp_close — Fecha uma conexão FTP
    • ftp_connect — Abre uma conexão FTP
    • ftp_delete — Exclui um arquivo no servidor FTP
    • ftp_exec — Solicita a execução de um comando no servidor FTP
    • ftp_fget — Copia um arquivo do servidor FTP e salva em um arquivo aberto
    • ftp_fput — Envia um arquivo aberto para um servidor php
    • ftp_get_option — Obtém várias opções em tempo de execução da conexão FTP atual
    • ftp_get — Copia um arquivo do servidor FTP
    • ftp_login — Realiza o login em uma conexão FTP
    • ftp_mdtm — Retorna a hora da ultima modificação no arquivo indicado
    • ftp_mkdir — Cria um diretório
    • ftp_mlsd — Returns a list of files in the given directory
    • ftp_nb_continue — Continua a receber/enviar um arquivo (sem bloquear)
    • ftp_nb_fget — Obtém um arquivo de um servidor FTP e escreve-o para um arquivo aberto(sem bloquear)
    • ftp_nb_fput — Grava um arquivo a partir de um arquivo aberto no servidor FTP (sem bloquear)
    • ftp_nb_get — Obtém um arquivo do servidor FTP e escreve-o em um arquivo local (sem bloquear)
    • ftp_nb_put — Grava um arquivo no servidor FTP (sem bloquear)
    • ftp_nlist — Retorna a lista dos arquivos em um dado diretório
    • ftp_pasv — Muda o modo passivo em on(ligado) ou off(desligado)
    • ftp_put — Envia um arquivo para o servidor FTP
    • ftp_pwd — Retorna o nome do diretório atual
    • ftp_quit — Sinônimo de ftp_close
    • ftp_raw — Envia um comando arbritário para o servidor FTP
    • ftp_rawlist — Retorna uma lista detalhada dos arquivos em um diretório
    • ftp_rename — Renomeia um arquivo ou diretório no servidor FTP
    • ftp_rmdir — Remove um diretório
    • ftp_set_option — Define opções diversas em tempo de execução
    • ftp_site — Envia o comando SITE para o servidor
    • ftp_size — Retorna o tamanho de um dado arquivo
    • ftp_ssl_connect — Abre uma conexão SSL-FTP segura
    • ftp_systype — Retorna o identificador do tipo do sistema do servidor FTP remoto


Introdução

As funções nesta extenção implementam o acesso de clientes para servidores de arquivos usando o File Transfer Protocol (FTP) como definido em » http://www.faqs.org/rfcs/rfc959. Esta extenção permite acesso detalhado ao servidor FTP provendo um grande controle ao script. Se você quer somente ler ou escrever em um servidor FTP, você pode considerar o uso do wrapper ftp:// com as funções do sistema de arquivo o que prove um meio fácil e intuitivo.


Instalação

Para utilizar as funções de FTP na sua configuração do PHP, você deve adicionar a opção --enable-ftp quando estiver instalando o PHP.

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.


Tipos de Recurso

Este extenção usa um tipo resource, o qual é o identificador da conexão FTP, retornado por ftp_connect() ou ftp_ssl_connect().


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

FTP_ASCII (integer)

FTP_TEXT (integer)

FTP_BINARY (integer)

FTP_IMAGE (integer)

FTP_TIMEOUT_SEC (integer)

Veja ftp_set_option() para informação.

As seguintes constantes foram introduzidas no PHP 4.3.0.

FTP_AUTOSEEK (integer)

Veja ftp_set_option() para informações.

FTP_AUTORESUME (integer)

Determina automaticamente a posição de reinício e início para requisições GET e PUT (funciona somente se FTP_AUTOSEEK estiver ativada)

FTP_FAILED (integer)

A transferência assincronoma falhou

FTP_FINISHED (integer)

A transferência assincronoma terminou

FTP_MOREDATA (integer)

A transferência assincronoma ainda esta ativa


  • « Constantes pré-definidas
  • »
  • PHP Manual
  • FTP
  • Exemplos

Exemplos

Índice


  • « Exemplos
  • FTP Funções »
  • PHP Manual
  • Exemplos

Exemplo #1 Exemplo da FTP

<?php
// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// check connection
if ((!$conn_id) || (!$login_result)) {
        echo "FTP connection has failed!";
        echo "Attempted to connect to $ftp_server for user $ftp_user_name";
        exit;
    } else {
        echo "Connected to $ftp_server, for user $ftp_user_name";
    }

// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// check upload status
if (!$upload) {
        echo "FTP upload has failed!";
    } else {
        echo "Uploaded $source_file to $ftp_server as $destination_file";
    }

// close the FTP stream
ftp_close($conn_id);
?>


FTP Funções

Índice

  • ftp_alloc — Aloca espaço para um arquivo a ser enviado para o servidor (uploaded)
  • ftp_append — Append the contents of a file to another file on the FTP server
  • ftp_cdup — Muda para o diretório acima
  • ftp_chdir — Muda o diretório atual em um servidor FTP
  • ftp_chmod — Estabelece as permissões de um arquivo via FTP
  • ftp_close — Fecha uma conexão FTP
  • ftp_connect — Abre uma conexão FTP
  • ftp_delete — Exclui um arquivo no servidor FTP
  • ftp_exec — Solicita a execução de um comando no servidor FTP
  • ftp_fget — Copia um arquivo do servidor FTP e salva em um arquivo aberto
  • ftp_fput — Envia um arquivo aberto para um servidor php
  • ftp_get_option — Obtém várias opções em tempo de execução da conexão FTP atual
  • ftp_get — Copia um arquivo do servidor FTP
  • ftp_login — Realiza o login em uma conexão FTP
  • ftp_mdtm — Retorna a hora da ultima modificação no arquivo indicado
  • ftp_mkdir — Cria um diretório
  • ftp_mlsd — Returns a list of files in the given directory
  • ftp_nb_continue — Continua a receber/enviar um arquivo (sem bloquear)
  • ftp_nb_fget — Obtém um arquivo de um servidor FTP e escreve-o para um arquivo aberto(sem bloquear)
  • ftp_nb_fput — Grava um arquivo a partir de um arquivo aberto no servidor FTP (sem bloquear)
  • ftp_nb_get — Obtém um arquivo do servidor FTP e escreve-o em um arquivo local (sem bloquear)
  • ftp_nb_put — Grava um arquivo no servidor FTP (sem bloquear)
  • ftp_nlist — Retorna a lista dos arquivos em um dado diretório
  • ftp_pasv — Muda o modo passivo em on(ligado) ou off(desligado)
  • ftp_put — Envia um arquivo para o servidor FTP
  • ftp_pwd — Retorna o nome do diretório atual
  • ftp_quit — Sinônimo de ftp_close
  • ftp_raw — Envia um comando arbritário para o servidor FTP
  • ftp_rawlist — Retorna uma lista detalhada dos arquivos em um diretório
  • ftp_rename — Renomeia um arquivo ou diretório no servidor FTP
  • ftp_rmdir — Remove um diretório
  • ftp_set_option — Define opções diversas em tempo de execução
  • ftp_site — Envia o comando SITE para o servidor
  • ftp_size — Retorna o tamanho de um dado arquivo
  • ftp_ssl_connect — Abre uma conexão SSL-FTP segura
  • ftp_systype — Retorna o identificador do tipo do sistema do servidor FTP remoto


Aloca espaço para um arquivo a ser enviado para o servidor (uploaded)

  • « FTP Funções
  • ftp_append »
  • PHP Manual
  • FTP Funções
  • Aloca espaço para um arquivo a ser enviado para o servidor (uploaded)

ftp_alloc

(PHP 5, PHP 7, PHP 8)

ftp_alloc — Aloca espaço para um arquivo a ser enviado para o servidor (uploaded)

Descrição

ftp_alloc ( resource $ftp_stream , int $filesize , string &$result = ? ) : bool

Envia um commando ALLO para o servidor FTP para alocar espaçõ para que um arquivo seja enviado.

Nota:

Muitos servidores FTP não suportam esse comando. Esses servidores podem retorna um código de falha (false) indicando que o comando não é suportado ou um código de sucesso (true) para indicar que pre-alocação não é necessário e o cliente deve continuar como se a operação tivesse sucedido. Por isso, talvez seja melhor usar essa função apenas em servidores que requerem pre-alocação explicitamente.

Parâmetros

ftp_stream

O link indentificado da conexão FTP.

filezise

O número de bytes a serem alocados.

return

Uma representação textual da resposta dos servidores será retornada por referência em result se uma variável for fornecida.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Um exemplo de ftp_alloc()

<?php

$file = "/home/user/myfile";

/* connect to the server */
$conn_id = ftp_connect('ftp.example.com');
$login_result = ftp_login($conn_id, 'anonymous', 'user@example.com');

if (ftp_alloc($conn_id, filesize($file), $result)) {
  echo "Space successfully allocated on server.  Sending $file.\n";
  ftp_put($conn_id, '/incomming/myfile', $file, FTP_BINARY);
} else {
  echo "Unable to allocate space on server.  Server said: $result\n";
}

ftp_close($conn_id);

?>

Veja Também

  • ftp_put() - Envia um arquivo para o servidor FTP
  • ftp_fput() - Envia um arquivo aberto para um servidor php


Append the contents of a file to another file on the FTP server

  • « ftp_alloc
  • ftp_cdup »
  • PHP Manual
  • FTP Funções
  • Append the contents of a file to another file on the FTP server

ftp_append

(PHP 7 >= 7.2.0, PHP 8)

ftp_append — Append the contents of a file to another file on the FTP server

Descrição

ftp_append ( resource $ftp , string $remote_filename , string $local_filename , int $mode = FTP_BINARY ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

ftp

remote_filename

local_filename

mode

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Muda para o diretório acima

  • « ftp_append
  • ftp_chdir »
  • PHP Manual
  • FTP Funções
  • Muda para o diretório acima

ftp_cdup

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_cdup — Muda para o diretório acima

Descrição

ftp_cdup ( resource $ftp_stream ) : bool

Muda para o diretório acima.

Parâmetros

ftp_stream

O identificador de link da conexão FTP.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo ftp_cdup()

<?php
// define a conexão básica
$conn_id = ftp_connect($ftp_server);

// login com nome de usuário e senha
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// muda o diretório atual para html
ftp_chdir($conn_id, 'html');

echo ftp_pwd($conn_id); // /html

// retorna o diretório acima
if (ftp_cdup($conn_id)) {
  echo "cdup bem sucedido\n";
} else {
  echo "cdup não foi bem sucedido\n";
}

echo ftp_pwd($conn_id); // /

ftp_close($conn_id);
?>

Veja Também

  • ftp_chdir() - Muda o diretório atual em um servidor FTP
  • ftp_pwd() - Retorna o nome do diretório atual


Muda o diretório atual em um servidor FTP

  • « ftp_cdup
  • ftp_chmod »
  • PHP Manual
  • FTP Funções
  • Muda o diretório atual em um servidor FTP

ftp_chdir

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_chdir — Muda o diretório atual em um servidor FTP

Descrição

ftp_chdir ( resource $ftp_stream , string $directory ) : bool

Muda o diretório atual para o especificado.

Parâmetros

ftp_stream

O identificador da conexão FTP.

directory

O diretório de destino.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Se houver falha ao mudar o diretório, o PHP irá também enviar um warning.

Exemplos

Exemplo #1 Exemplo ftp_chdir()

<?php

// estabelece a conexão
$conn_id = ftp_connect($ftp_server);

// login com o nome de usuário e senha
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// confere a conexão
if ((!$conn_id) || (!$login_result)) {
    die("A conexão FTP falhou!");
}

echo "Diretório atual: " . ftp_pwd($conn_id) . "\n";

// tenta mudar para algumDiretorio
if (ftp_chdir($conn_id, "algumDiretorio")) {
    echo "O diretório atual agora é: " . ftp_pwd($conn_id) . "\n";
} else {
    echo "Não foi possível mudar o diretório\n";
}
// fecha a conexão
ftp_close($conn_id);
?>

Veja Também

  • ftp_cdup() - Muda para o diretório acima
  • ftp_pwd() - Retorna o nome do diretório atual


Estabelece as permissões de um arquivo via FTP

  • « ftp_chdir
  • ftp_close »
  • PHP Manual
  • FTP Funções
  • Estabelece as permissões de um arquivo via FTP

ftp_chmod

(PHP 5, PHP 7, PHP 8)

ftp_chmod — Estabelece as permissões de um arquivo via FTP

Descrição

ftp_chmod ( resource $ftp_stream , int $mode , string $filename ) : int

Estabelece as permissões para o arquivo remoto especificado para modo.

Parâmetros

ftp_stream

O identificador da conexão FTP.

mode

As novas permisões, dadas como um valor octal.

filename

O nome do arquivo remoto.

Valor Retornado

Retorna as novas permissões em caso de sucesso, o false em caso de erro.

Exemplos

Exemplo #1 Exemplo ftp_chmod()

<?php
$file = 'public_html/index.php';

// define a conexão básica
$conn_id = ftp_connect($ftp_server);

// login com nome de usuário e senha
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// tenta usar o chmod em $file para 644
if (ftp_chmod($conn_id, 0644, $file) !== false) {
   echo "Foram mudadas as permissões do arquivo $file para 644\n";
} else {
echo "não foi possível usar o chmod no arquivo $file\n";
}

// fecha a conexão
ftp_close($conn_id);
?>

Veja Também

  • chmod() - Modifica as permissões do arquivo


Fecha uma conexão FTP

  • « ftp_chmod
  • ftp_connect »
  • PHP Manual
  • FTP Funções
  • Fecha uma conexão FTP

ftp_close

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ftp_close — Fecha uma conexão FTP

Descrição

ftp_close ( resource $ftp_stream ) : bool

ftp_close() fecha o identificador de recurso dado e libera o resource.

Nota:

Após chamar esta função, você não pode mais usar a conexão FTP e deve criar uma nova com ftp_connect().

Parâmetros

ftp_stream

O identificador da conexão FTP.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo ftp_close()

<?php

// define a conexão básica
$conn_id = ftp_connect($ftp_server);

// login com nome de usuário e senha
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// mostra o diretório atual
echo ftp_pwd($conn_id); // /

// fecha esta conexão
ftp_close($conn_id);
?>

Veja Também

  • ftp_connect() - Abre uma conexão FTP


Abre uma conexão FTP

  • « ftp_close
  • ftp_delete »
  • PHP Manual
  • FTP Funções
  • Abre uma conexão FTP

ftp_connect

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_connect — Abre uma conexão FTP

Descrição

ftp_connect ( string $host , int $port = ? , int $timeout = ? ) : resource

ftp_connect() abre uma conexão FTP com o host especificado.

Parâmetros

host

O endereço do servidor de FTP. Este parâmetro não deve ter nenhuma barra ao final e não deve ser prefixado com ftp://.

port

Este parâmetro especifica uma porta alternativa para conectar. Se for omitida ou for definida como zero, então a porta padrão do FTP, 21, será usada.

timeout

Este parâmetro define o limite de tempo para todas as operações de rede subsequentes. Se omitido, o valor padrão é 90 segundos. O limite de tempo pode ser modificado e obtido a qualquer hora com ftp_set_option() e ftp_get_option().

Valor Retornado

Retorna um stream FTP em caso de sucesso, ou false em caso de erro.

Exemplos

Exemplo #1 ftp_connect() example

<?php

$ftp_server = "ftp.example.com";

// set up a connection or die
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

?>

Changelog

Versão | Descrição
4.2.0 | timeout foi adicionado.

Veja Também

  • ftp_close() - Fecha uma conexão FTP
  • ftp_ssl_connect() - Abre uma conexão SSL-FTP segura


Exclui um arquivo no servidor FTP

  • « ftp_connect
  • ftp_exec »
  • PHP Manual
  • FTP Funções
  • Exclui um arquivo no servidor FTP

ftp_delete

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_delete — Exclui um arquivo no servidor FTP

Descrição

ftp_delete ( resource $ftp_stream , string $path ) : bool

ftp_delete() apaga o arquivo especificado por path no servidor FTP.

Parâmetros

ftp_stream

O identificador da conexão FTP.

path

O arquivo para excluir.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo ftp_delete()

<?php
$file = 'public_html/old.txt';

// Define a conexão básica
$conn_id = ftp_connect($ftp_server);

// login com nome de usuário e senha
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// tenta excluir $file
if (ftp_delete($conn_id, $file)) {
   echo "O arquivo $file foi excluído\n";
} else {
   echo "não foi possível excluir $file\n";
}

// fecha a conexão
ftp_close($conn_id);
?>


Solicita a execução de um comando no servidor FTP

  • « ftp_delete
  • ftp_fget »
  • PHP Manual
  • FTP Funções
  • Solicita a execução de um comando no servidor FTP

ftp_exec

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

ftp_exec — Solicita a execução de um comando no servidor FTP

Descrição

ftp_exec ( resource $ftp_stream , string $command ) : bool

Envia uma solicitação SITE EXEC command para o servidor FTP.

Parâmetros

ftp_stream

O identificador da conexão FTP.

command

O comando a executar.

Valor Retornado

Retorna true se o comando for bem sucedido (o servidor enviou o código de resposta: 200); se não retorna false.

Exemplos

Exemplo #1 Exemplo ftp_exec()

<?php

// variable initialization
$command = 'ls -al >files.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// execute command
if (ftp_exec($conn_id, $command)) {
    echo "$command executed successfully\n";
} else {
    echo "could not execute $command\n";
}

// close the connection
ftp_close($conn_id);

?>

Veja Também

  • ftp_raw() - Envia um comando arbritário para o servidor FTP


Copia um arquivo do servidor FTP e salva em um arquivo aberto

  • « ftp_exec
  • ftp_fput »
  • PHP Manual
  • FTP Funções
  • Copia um arquivo do servidor FTP e salva em um arquivo aberto

ftp_fget

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_fget — Copia um arquivo do servidor FTP e salva em um arquivo aberto

Descrição

ftp_fget ( resource $ftp_stream , resource $handle , string $remote_file , int $mode , int $resumepos = ? ) : bool

ftp_fget() obtém remote_file do servidor FTP, e escreve-o no ponteiro de arquivo dado.

Parâmetros

ftp_stream

O identificador da conexão FTP.

handle

Um ponteiro de arquivo aberto no qual nós guardaremos os dados.

remote_file

O caminho do arquivo remoto.

mode

O modo de transferência. Deve ser FTP_ASCII ou FTP_BINARY.

resumepos

A posição no arquivo remoto a partir da qual começar a baixar.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo ftp_fget()

<?php

// path to remote file
$remote_file = 'somefile.txt';
$local_file = 'localfile.txt';

// open some file to write to
$handle = fopen($local_file, 'w');

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to download $remote_file and save it to $handle
if (ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
 echo "successfully written to $local_file\n";
} else {
 echo "There was a problem while downloading $remote_file to $local_file\n";
}

// close the connection and the file handler
ftp_close($conn_id);
fclose($handle);
?>

Changelog

Versão | Descrição
4.3.0 | resumepos foi adicionado.

Veja Também

  • ftp_get() - Copia um arquivo do servidor FTP
  • ftp_nb_get() - Obtém um arquivo do servidor FTP e escreve-o em um arquivo local (sem bloquear)
  • ftp_nb_fget() - Obtém um arquivo de um servidor FTP e escreve-o para um arquivo aberto(sem bloquear)


Envia um arquivo aberto para um servidor php

  • « ftp_fget
  • ftp_get_option »
  • PHP Manual
  • FTP Funções
  • Envia um arquivo aberto para um servidor php

ftp_fput

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_fput — Envia um arquivo aberto para um servidor php

Descrição

ftp_fput ( resource $ftp_stream , string $remote_file , resource $handle , int $mode , int $startpos = ? ) : bool

ftp_fput() envia os dados a partir do ponteiro de arquivo para um arquivo remoto no servidor ftp.

Parâmetros

ftp_stream

O identificador da conexão FTP.

remote_file

O caminho para o arquivo remoto.

handle

Um ponteiro de arquivo aberto para um arquivo local. A leitura para no final do arquivo.

mode

O modo de transferência. Deve ser FTP_ASCII ou FTP_BINARY.

startpos

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de ftp_fput()

<?php

// open some file for reading
$file = 'somefile.txt';
$fp = fopen($file, 'r');

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to upload $file
if (ftp_fput($conn_id, $file, $fp, FTP_ASCII)) {
    echo "Successfully uploaded $file\n";
} else {
    echo "There was a problem while uploading $file\n";
}

// close the connection and the file handler
ftp_close($conn_id);
fclose($fp);

?>

Changelog

Versão | Descrição
4.3.0 | startpos foi adicionado.

Veja Também

  • ftp_put() - Envia um arquivo para o servidor FTP
  • ftp_nb_fput() - Grava um arquivo a partir de um arquivo aberto no servidor FTP (sem bloquear)
  • ftp_nb_put() - Grava um arquivo no servidor FTP (sem bloquear)


Obtém várias opções em tempo de execução da conexão FTP atual

  • « ftp_fput
  • ftp_get »
  • PHP Manual
  • FTP Funções
  • Obtém várias opções em tempo de execução da conexão FTP atual

ftp_get_option

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ftp_get_option — Obtém várias opções em tempo de execução da conexão FTP atual

Descrição

ftp_get_option ( resource $ftp_stream , int $option ) : mixed

Esta função retorna o valor para a option solicitada da conexão FTP especificada.

Parâmetros

ftp_stream

O identificador para a conexão FTP.

option

Atualmente, as seguintes opções são suportadas:

Opções em tempo de execução do FTP suportadas
FTP_TIMEOUT_SEC | Retorna o limite de tempo usado atualmente para as operações de rede.
FTP_AUTOSEEK | Retorna true se esta opção estiver ativa, false se não.

Valor Retornado

Retorna o valor em caso de sucesso ou false se a option indicada não for suportada, neste caso, uma mensagem de aviso também é emitida.

Exemplos

Exemplo #1 Exemplo ftp_get_option()

<?php
// Get the timeout of the given FTP stream
$timeout = ftp_get_option($conn_id, FTP_TIMEOUT_SEC);
?>

Veja Também

  • ftp_set_option() - Define opções diversas em tempo de execução


Copia um arquivo do servidor FTP

  • « ftp_get_option
  • ftp_login »
  • PHP Manual
  • FTP Funções
  • Copia um arquivo do servidor FTP

ftp_get

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_get — Copia um arquivo do servidor FTP

Descrição

ftp_get ( resource $ftp_stream , string $local_file , string $remote_file , int $mode , int $resumepos = ? ) : bool

ftp_get() obtém um arquivo remoto a partir de um servidor FTP, e salva-o em um arquivo local.

Parâmetros

ftp_stream

O identificador com a conexão FTP.

local_file

O caminho para o arquivo local (será sobrescrito se já existir).

remote_file

O caminho para o arquivo remoto.

mode

O modo de transferência. Deve ser FTP_ASCII ou FTP_BINARY.

resumepos

A posição no arquivo remoto a partir da qual continuar.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo ftp_get()

<?php

// define some variables
$local_file = 'local.zip';
$server_file = 'server.zip';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to download $server_file and save to $local_file
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
    echo "Successfully written to $local_file\n";
} else {
    echo "There was a problem\n";
}

// close the connection
ftp_close($conn_id);

?>

Changelog

Versão | Descrição
4.3.0 | resumepos foi adicionado.

Veja Também

  • ftp_pasv() - Muda o modo passivo em on(ligado) ou off(desligado)
  • ftp_fget() - Copia um arquivo do servidor FTP e salva em um arquivo aberto
  • ftp_nb_get() - Obtém um arquivo do servidor FTP e escreve-o em um arquivo local (sem bloquear)
  • ftp_nb_fget() - Obtém um arquivo de um servidor FTP e escreve-o para um arquivo aberto(sem bloquear)


Realiza o login em uma conexão FTP

  • « ftp_get
  • ftp_mdtm »
  • PHP Manual
  • FTP Funções
  • Realiza o login em uma conexão FTP

ftp_login

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_login — Realiza o login em uma conexão FTP

Descrição

ftp_login ( resource $ftp_stream , string $username , string $password ) : bool

Realiza o login em uma conexão FTP.

Parâmetros

ftp_stream

O identificador da conexão FTP.

username

O nome de usuário (USER).

password

A senha (PASS).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Se o login falhar, o PHP irá escrever um aviso.

Exemplos

Exemplo #1 Exemplo ftp_login()

<?php

$ftp_server = "ftp.example.com";
$ftp_user = "foo";
$ftp_pass = "bar";

// set up a connection or die
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

// try to login
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
    echo "Connected as $ftp_user@$ftp_server\n";
} else {
    echo "Couldn't connect as $ftp_user\n";
}

// close the connection
ftp_close($conn_id);
?>


Retorna a hora da ultima modificação no arquivo indicado

  • « ftp_login
  • ftp_mkdir »
  • PHP Manual
  • FTP Funções
  • Retorna a hora da ultima modificação no arquivo indicado

ftp_mdtm

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_mdtm — Retorna a hora da ultima modificação no arquivo indicado

Descrição

ftp_mdtm ( resource $ftp_stream , string $remote_file ) : int

ftp_mdtm() retorna a hora da ultima modificação em um arquivo remoto.

Nota:

Nem todos os servidores suportam isto!

Nota:

ftp_mdtm() não funciona com diretórios.

Parâmetros

ftp_stream

O identificador com a conexão FTP.

remote_file

O arquivo a partir do qual extrair a hora da ultima modificação.

Valor Retornado

Retorna a hora da ultima modificação como um timestamp Unix em caso de sucesso, -1 em caso de erro.

Exemplos

Exemplo #1 Exemplo ftp_mdtm()

<?php

$file = 'somefile.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

//  get the last modified time
$buff = ftp_mdtm($conn_id, $file);

if ($buff != -1) {
    // somefile.txt was last modified on: March 26 2003 14:16:41.
    echo "$file was last modified on : " . date("F d Y H:i:s.", $buff);
} else {
    echo "Couldn't get mdtime";
}

// close the connection
ftp_close($conn_id);

?>


Cria um diretório

  • « ftp_mdtm
  • ftp_mlsd »
  • PHP Manual
  • FTP Funções
  • Cria um diretório

ftp_mkdir

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_mkdir — Cria um diretório

Descrição

ftp_mkdir ( resource $ftp_stream , string $directory ) : string

Cria o directory especificado no servidor FTP.

Parâmetros

ftp_stream

O identificador com a conexão FTP.

directory

O nome do diretório que será criado.

Valor Retornado

Retorna o nome do diretório recem criado em caso de sucesso ou false emmcaso de erro.

Exemplos

Exemplo #1 Exemplo ftp_mkdir()

<?php

$dir = 'www';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to create the directory $dir
if (ftp_mkdir($conn_id, $dir)) {
 echo "successfully created $dir\n";
} else {
 echo "There was a problem while creating $dir\n";
}

// close the connection
ftp_close($conn_id);
?>

Veja Também

  • ftp_rmdir() - Remove um diretório


Returns a list of files in the given directory

  • « ftp_mkdir
  • ftp_nb_continue »
  • PHP Manual
  • FTP Funções
  • Returns a list of files in the given directory

ftp_mlsd

(PHP 7 >= 7.2.0, PHP 8)

ftp_mlsd — Returns a list of files in the given directory

Descrição

ftp_mlsd ( resource $ftp , string $directory ) : array|false

Parâmetros

ftp

The link identifier of the FTP connection.

directory

The directory to be listed.

Valor Retornado

Returns an array of arrays with file infos from the specified directory on success or false on error.

Exemplos

Exemplo #1 ftp_mlsd() example

<?php

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// get contents of the current directory
$contents = ftp_mlsd($conn_id, ".");

// output $contents
var_dump($contents);

?>

O exemplo acima irá imprimir algo similar à:

array(5) {
  [0]=>
  array(8) {
    ["name"]=>
    string(1) "."
    ["modify"]=>
    string(14) "20171212154511"
    ["perm"]=>
    string(7) "flcdmpe"
    ["type"]=>
    string(4) "cdir"
    ["unique"]=>
    string(11) "811U5740002"
    ["UNIX.group"]=>
    string(2) "33"
    ["UNIX.mode"]=>
    string(4) "0755"
    ["UNIX.owner"]=>
    string(2) "33"
  }
  [1]=>
  array(8) {
    ["name"]=>
    string(2) ".."
    ["modify"]=>
    string(14) "20171212154511"
    ["perm"]=>
    string(7) "flcdmpe"
    ["type"]=>
    string(4) "pdir"
    ["unique"]=>
    string(11) "811U5740002"
    ["UNIX.group"]=>
    string(2) "33"
    ["UNIX.mode"]=>
    string(4) "0755"
    ["UNIX.owner"]=>
    string(2) "33"
  }
  [2]=>
  array(8) {
    ["name"]=>
    string(11) "public_html"
    ["modify"]=>
    string(14) "20171211171525"
    ["perm"]=>
    string(7) "flcdmpe"
    ["type"]=>
    string(3) "dir"
    ["unique"]=>
    string(11) "811U5740525"
    ["UNIX.group"]=>
    string(2) "33"
    ["UNIX.mode"]=>
    string(4) "0755"
    ["UNIX.owner"]=>
    string(2) "33"
  }
  [3]=>
  array(8) {
    ["name"]=>
    string(10) "public_ftp"
    ["modify"]=>
    string(14) "20171211174536"
    ["perm"]=>
    string(7) "flcdmpe"
    ["type"]=>
    string(3) "dir"
    ["unique"]=>
    string(11) "811U57405EE"
    ["UNIX.group"]=>
    string(2) "33"
    ["UNIX.mode"]=>
    string(4) "0755"
    ["UNIX.owner"]=>
    string(2) "33"
  }
  [4]=>
  array(8) {
    ["name"]=>
    string(3) "www"
    ["modify"]=>
    string(14) "www"
    ["perm"]=>
    string(7) "flcdmpe"
    ["type"]=>
    string(3) "dir"
    ["unique"]=>
    string(11) "811U5740780"
    ["UNIX.group"]=>
    string(2) "33"
    ["UNIX.mode"]=>
    string(4) "0755"
    ["UNIX.owner"]=>
    string(2) "33"
  }
}

Veja Também

  • ftp_rawlist() - Retorna uma lista detalhada dos arquivos em um diretório
  • ftp_nlist() - Retorna a lista dos arquivos em um dado diretório


Continua a receber/enviar um arquivo (sem bloquear)

  • « ftp_mlsd
  • ftp_nb_fget »
  • PHP Manual
  • FTP Funções
  • Continua a receber/enviar um arquivo (sem bloquear)

ftp_nb_continue

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_nb_continue — Continua a receber/enviar um arquivo (sem bloquear)

Descrição

ftp_nb_continue ( resource $ftp_stream ) : int

Continua a receber/enviar um arquivo sem bloquear.

Parâmetros

ftp_stream

O identificador com a conexão FTP.

Valor Retornado

Retorna FTP_FAILED ou FTP_FINISHED ou FTP_MOREDATA.

Exemplos

Exemplo #1 Exemplo ftp_nb_continue()

<?php

// Initate the download
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Continue downloading...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error downloading the file...";
   exit(1);
}
?>


Obtém um arquivo de um servidor FTP e escreve-o para um arquivo aberto(sem bloquear)

  • « ftp_nb_continue
  • ftp_nb_fput »
  • PHP Manual
  • FTP Funções
  • Obtém um arquivo de um servidor FTP e escreve-o para um arquivo aberto(sem bloquear)

ftp_nb_fget

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_nb_fget — Obtém um arquivo de um servidor FTP e escreve-o para um arquivo aberto(sem bloquear)

Descrição

ftp_nb_fget ( resource $ftp_stream , resource $handle , string $remote_file , int $mode , int $resumepos = ? ) : int

ftp_nb_fget() obtém um arquivo remoto do servidor FTP.

A diferença entre esta função e ftp_fget() é que esta função obtém o arquivo de forma assincronoma, assim seu programa pode realizar outras operações enquanto o arquivo esta sendo copiado.

Parâmetros

ftp_stream

O identificador com a conexão FTP.

handle

Um ponteiro de arquivo aberto para o qual nós guardamos os dados.

remote_file

O caminho para o arquivo remoto.

mode

O modo de transferência. Deve ser FTP_ASCII ou FTP_BINARY.

resumepos

Valor Retornado

Retorna FTP_FAILED ou FTP_FINISHED ou FTP_MOREDATA.

Exemplos

Exemplo #1 Exemplo ftp_nb_fget()

<?php

// open some file for reading
$file = 'index.php';
$fp = fopen($file, 'w');

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Initate the download
$ret = ftp_nb_fget($conn_id, $fp, $file, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Do whatever you want
   echo ".";

   // Continue downloading...
   $ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error downloading the file...";
   exit(1);
}

// close filepointer
fclose($fp);
?>

Veja Também

  • ftp_nb_get() - Obtém um arquivo do servidor FTP e escreve-o em um arquivo local (sem bloquear)
  • ftp_nb_continue() - Continua a receber/enviar um arquivo (sem bloquear)
  • ftp_fget() - Copia um arquivo do servidor FTP e salva em um arquivo aberto
  • ftp_get() - Copia um arquivo do servidor FTP


Grava um arquivo a partir de um arquivo aberto no servidor FTP (sem bloquear)

  • « ftp_nb_fget
  • ftp_nb_get »
  • PHP Manual
  • FTP Funções
  • Grava um arquivo a partir de um arquivo aberto no servidor FTP (sem bloquear)

ftp_nb_fput

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_nb_fput — Grava um arquivo a partir de um arquivo aberto no servidor FTP (sem bloquear)

Descrição

ftp_nb_fput ( resource $ftp_stream , string $remote_file , resource $handle , int $mode , int $startpos = ? ) : int

ftp_nb_fput() envia os dados do ponteiro de arquivo para o arquivo remoto no servidor FTP.

A diferença entra esta função e ftp_fput() é que esta função envia o arquivo de forma assimcronoma, assim o seu programa pode realizar outras operações enquanto o arquivo esta sendo carregado.

Parâmetros

ftp_stream

O identificador da conexão FTP.

remote_file

O caminho para o arquivo remoto.

handle

Um ponteiro de arquivo aberto para o arquivo local. A leitura termina ao finbal do arquivo.

mode

O modo de transferência. Deve ser FTP_ASCII ou FTP_BINARY.

startpos

Valor Retornado

Retorna FTP_FAILED ou FTP_FINISHED ou FTP_MOREDATA.

Exemplos

Exemplo #1 Exemplo ftp_nb_fput()

<?php

$file = 'index.php';

$fp = fopen($file, 'r');

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Initate the upload
$ret = ftp_nb_fput($conn_id, $file, $fp, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Do whatever you want
   echo ".";

   // Continue upload...
   $ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error uploading the file...";
   exit(1);
}

fclose($fp);
?>

Veja Também

  • ftp_nb_put() - Grava um arquivo no servidor FTP (sem bloquear)
  • ftp_nb_continue() - Continua a receber/enviar um arquivo (sem bloquear)
  • ftp_put() - Envia um arquivo para o servidor FTP
  • ftp_fput() - Envia um arquivo aberto para um servidor php


Obtém um arquivo do servidor FTP e escreve-o em um arquivo local (sem bloquear)

  • « ftp_nb_fput
  • ftp_nb_put »
  • PHP Manual
  • FTP Funções
  • Obtém um arquivo do servidor FTP e escreve-o em um arquivo local (sem bloquear)

ftp_nb_get

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_nb_get — Obtém um arquivo do servidor FTP e escreve-o em um arquivo local (sem bloquear)

Descrição

ftp_nb_get ( resource $ftp_stream , string $local_file , string $remote_file , int $mode , int $resumepos = ? ) : int

ftp_nb_get() obtém um arquivo remoto do servidor FTP e salva-o em um arquivo local.

A diferença entre esta função é ftp_get() é que esta função obtém o arquivo de forma assincronoma, assim o seu programa pode realizar outras operações enquanto o arquivo esta sendo baixado.

Parâmetros

ftp_stream

O identificador com a conexão FTP.

local_file

O caminho para o arquivo local (será sobrescrito se o arquivo local já existir).

remote_file

O caminho para o arquivo remoto.

mode

O modo de transferência. Deve ser FTP_ASCII ou FTP_BINARY.

resumepos

Valor Retornado

Retorna FTP_FAILED ou FTP_FINISHED ou FTP_MOREDATA.

Exemplos

Exemplo #1 Exemplo ftp_nb_get()

<?php

// Initate the download
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Do whatever you want
   echo ".";

   // Continue downloading...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error downloading the file...";
   exit(1);
}
?>

Exemplo #2 Continuando um download com ftp_nb_get()

<?php

// Initate
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY,
                      filesize("test"));
// OR: $ret = ftp_nb_get($my_connection, "test", "README",
//                           FTP_BINARY, FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {

   // Do whatever you want
   echo ".";

   // Continue downloading...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error downloading the file...";
   exit(1);
}
?>

Exemplo #3 Continuando um download na posição 100 para um novo arquivo com ftp_nb_get()

<?php

// Disable Autoseek
ftp_set_option($my_connection, FTP_AUTOSEEK, false);

// Initiate
$ret = ftp_nb_get($my_connection, "newfile", "README", FTP_BINARY, 100);
while ($ret == FTP_MOREDATA) {

   /* ... */

   // Continue downloading...
   $ret = ftp_nb_continue($my_connection);
}
?>

No exemplo acima, newfile é 100 bytes menor do que README no servidor FTP porque nós começamos a ler a partir da posição 100. Se nós não disabilitarmos FTP_AUTOSEEK, os primeiros 100 bytes de newfile serão '\0'.

Veja Também

  • ftp_nb_fget() - Obtém um arquivo de um servidor FTP e escreve-o para um arquivo aberto(sem bloquear)
  • ftp_nb_continue() - Continua a receber/enviar um arquivo (sem bloquear)
  • ftp_fget() - Copia um arquivo do servidor FTP e salva em um arquivo aberto
  • ftp_get() - Copia um arquivo do servidor FTP


Grava um arquivo no servidor FTP (sem bloquear)

  • « ftp_nb_get
  • ftp_nlist »
  • PHP Manual
  • FTP Funções
  • Grava um arquivo no servidor FTP (sem bloquear)

ftp_nb_put

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_nb_put — Grava um arquivo no servidor FTP (sem bloquear)

Descrição

ftp_nb_put ( resource $ftp_stream , string $remote_file , string $local_file , int $mode , int $startpos = ? ) : int

ftp_nb_put() grava um arquivo local em um servidor FTP.

A diferença entre esta função e ftp_put() é que esta função envia o arquivo de forma assincronoma, assim o seu programa pode realizar outras operações enquanto o seu arquivo esta sendo carregado.

Parâmetros

ftp_stream

O identificador com a conexão FTP.

remote_file

O caminho para o arquivo remoto.

local_file

O caminho para o arquivo local.

mode

O modo de transferência. Deve ser FTP_ASCII ou FTP_BINARY.

startpos

Valor Retornado

Retorna FTP_FAILED ou FTP_FINISHED ou FTP_MOREDATA.

Exemplos

Exemplo #1 Exemplo ftp_nb_put()

<?php

// Initiate the Upload
$ret = ftp_nb_put($my_connection, "test.remote", "test.local", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Do whatever you want
   echo ".";

   // Continue uploading...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error uploading the file...";
   exit(1);
}
?>

Exemplo #2 Continuando um upload com ftp_nb_put()

<?php

// Initiate
$ret = ftp_nb_put($my_connection, "test.remote", "test.local",
                      FTP_BINARY, ftp_size("test.remote"));
// OR: $ret = ftp_nb_put($my_connection, "test.remote", "test.local",
//                           FTP_BINARY, FTP_AUTORESUME);

while ($ret == FTP_MOREDATA) {

   // Do whatever you want
   echo ".";

   // Continue uploading...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error uploading the file...";
   exit(1);
}
?>

Veja Também

  • ftp_nb_fput() - Grava um arquivo a partir de um arquivo aberto no servidor FTP (sem bloquear)
  • ftp_nb_continue() - Continua a receber/enviar um arquivo (sem bloquear)
  • ftp_put() - Envia um arquivo para o servidor FTP
  • ftp_fput() - Envia um arquivo aberto para um servidor php


Retorna a lista dos arquivos em um dado diretório

  • « ftp_nb_put
  • ftp_pasv »
  • PHP Manual
  • FTP Funções
  • Retorna a lista dos arquivos em um dado diretório

ftp_nlist

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_nlist — Retorna a lista dos arquivos em um dado diretório

Descrição

ftp_nlist ( resource $ftp_stream , string $directory ) : array

Parâmetros

ftp_stream

O identificador da conexão FTP.

directory

O diretório que será listado. Este parãmetro também pode incluir argumentos, ex: ftp_nlist($conn_id, "-la /your/dir"); Note que este parâmetro não é escapado assim pode haver alguns problemas com nomes de arquivo contendo espaços e outros caracteres.

Valor Retornado

Retorna uma array com os nomes dos arquivos do diretório especificado em caso de sucesso, ou false em caso de erro.

Exemplos

Exemplo #1 Exemplo ftp_nlist()

<?php

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// get contents of the current directory
$contents = ftp_nlist($conn_id, ".");

// output $contents
var_dump($contents);

?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  [0]=>
  string(11) "public_html"
  [1]=>
  string(10) "public_ftp"
  [2]=>
  string(3) "www"

Veja Também

  • ftp_rawlist() - Retorna uma lista detalhada dos arquivos em um diretório


Muda o modo passivo em on(ligado) ou off(desligado)

  • « ftp_nlist
  • ftp_put »
  • PHP Manual
  • FTP Funções
  • Muda o modo passivo em on(ligado) ou off(desligado)

ftp_pasv

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_pasv — Muda o modo passivo em on(ligado) ou off(desligado)

Descrição

ftp_pasv ( resource $ftp_stream , bool $pasv ) : bool

ftp_pasv() muda o modo passivo em on ou off. No modo passivo, as conexões de dados são iniciadas pelo cliente, ao invés do servidor. Pode ser necessário se o cliente estiver atrás de um firewall.

Note que ftp_pasv() pode somente ser chamada depois do login ter sido feito com sucesso, caso contrário irá falhar.

Parâmetros

ftp_stream

O identificador da conexão FTP.

pasv

Se true, o modo passivo esta ligado, se não esta desligado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo ftp_pasv()

<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// turn passive mode on
ftp_pasv($conn_id, true);

// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
 echo "successfully uploaded $file\n";
} else {
 echo "There was a problem while uploading $file\n";
}

// close the connection
ftp_close($conn_id);
?>


Envia um arquivo para o servidor FTP

  • « ftp_pasv
  • ftp_pwd »
  • PHP Manual
  • FTP Funções
  • Envia um arquivo para o servidor FTP

ftp_put

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_put — Envia um arquivo para o servidor FTP

Descrição

ftp_put ( resource $ftp_stream , string $remote_file , string $local_file , int $mode , int $startpos = ? ) : bool

ftp_put() grava um arquivo local em um servidor FTP.

Parâmetros

ftp_stream

O identificador da conexão FTP.

remote_file

O caminho para o arquivo remoto.

local_file

O caminho para o arquivo local.

mode

O modo de transferência. Deve ser FTP_ASCII ou FTP_BINARY.

startpos

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo ftp_put()

<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
 echo "successfully uploaded $file\n";
} else {
 echo "There was a problem while uploading $file\n";
}

// close the connection
ftp_close($conn_id);
?>

Changelog

Versão | Descrição
4.3.0 | startpos foi adicionado.

Veja Também

  • ftp_pasv() - Muda o modo passivo em on(ligado) ou off(desligado)
  • ftp_fput() - Envia um arquivo aberto para um servidor php
  • ftp_nb_fput() - Grava um arquivo a partir de um arquivo aberto no servidor FTP (sem bloquear)
  • ftp_nb_put() - Grava um arquivo no servidor FTP (sem bloquear)


Retorna o nome do diretório atual

  • « ftp_put
  • ftp_quit »
  • PHP Manual
  • FTP Funções
  • Retorna o nome do diretório atual

ftp_pwd

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_pwd — Retorna o nome do diretório atual

Descrição

ftp_pwd ( resource $ftp_stream ) : string

Parâmetros

ftp_stream

O identificador da conexão FTP.

Valor Retornado

Retorna o nome do diretório atual ou false em caso de erro.

Exemplos

Exemplo #1 Exemplo ftp_pwd()

<?php

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// change directory to public_html
ftp_chdir($conn_id, 'public_html');

// print current directory
echo ftp_pwd($conn_id); // /public_html

// close the connection
ftp_close($conn_id);
?>

Veja Também

  • ftp_chdir() - Muda o diretório atual em um servidor FTP
  • ftp_cdup() - Muda para o diretório acima


Sinônimo de ftp_close

  • « ftp_pwd
  • ftp_raw »
  • PHP Manual
  • FTP Funções
  • Sinônimo de ftp_close

ftp_quit

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_quit — Sinônimo de ftp_close()

Descrição

Esta função é um apelido para: ftp_close().


Envia um comando arbritário para o servidor FTP

  • « ftp_quit
  • ftp_rawlist »
  • PHP Manual
  • FTP Funções
  • Envia um comando arbritário para o servidor FTP

ftp_raw

(PHP 5, PHP 7, PHP 8)

ftp_raw — Envia um comando arbritário para o servidor FTP

Descrição

ftp_raw ( resource $ftp_stream , string $command ) : array

Envia um command arbritário para o servidor FTP.

Parâmetros

ftp_stream

O identificador da conexão FTP.

command

O comando a executar.

Valor Retornado

Retorna a resposta do servidor como um array de strings. Nenhuma interpretação é realizada na string de resposta, nem ftp_raw() determina se o comando foi bem sucedido

Exemplos

Exemplo #1 Usando ftp_raw() para fazer o login em um servidor FTP manualmente.

<?php
$fp = ftp_connect("ftp.example.com");

/* This is the same as:
   ftp_login($fp, "joeblow", "secret"); */
ftp_raw($fp, "USER joeblow");
ftp_raw($fp, "PASS secret");
?>

Veja Também

  • ftp_exec() - Solicita a execução de um comando no servidor FTP


Retorna uma lista detalhada dos arquivos em um diretório

  • « ftp_raw
  • ftp_rename »
  • PHP Manual
  • FTP Funções
  • Retorna uma lista detalhada dos arquivos em um diretório

ftp_rawlist

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_rawlist — Retorna uma lista detalhada dos arquivos em um diretório

Descrição

ftp_rawlist ( resource $ftp_stream , string $directory , bool $recursive = ? ) : array

ftp_rawlist() executa o comando LIST do FTP, e retorna o resutado como uma array.

Parâmetros

ftp_stream

O identificador da conexão FTP.

directory

O caminho para o diretório.

recursive

Se for definido como true, o comando executado será LIST -R.

Valor Retornado

Retorna uma array aonde cada elemento corresponde a uma linha de texto.

A saída não é interpretada de maneira nenhuma. O identificador do tipo do sistema retornado por ftp_systype() pode ser usado para determinar como os resultados devem ser interpretados.

Exemplos

Exemplo #1 Exemplo ftp_rawlist()

<?php

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// get the file list for /
$buff = ftp_rawlist($conn_id, '/');

// close the connection
ftp_close($conn_id);

// output the buffer
var_dump($buff);
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  [0]=>
  string(65) "drwxr-x---   3 vincent  vincent      4096 Jul 12 12:16 public_ftp"
  [1]=>
  string(66) "drwxr-x---  15 vincent  vincent      4096 Nov  3 21:31 public_html"
  [2]=>
  string(73) "lrwxrwxrwx   1 vincent  vincent        11 Jul 12 12:16 www -> public_html"
}

Changelog

Versão | Descrição
4.3.0 | recursive foi adicionado.

Veja Também

  • ftp_nlist() - Retorna a lista dos arquivos em um dado diretório


Renomeia um arquivo ou diretório no servidor FTP

  • « ftp_rawlist
  • ftp_rmdir »
  • PHP Manual
  • FTP Funções
  • Renomeia um arquivo ou diretório no servidor FTP

ftp_rename

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_rename — Renomeia um arquivo ou diretório no servidor FTP

Descrição

ftp_rename ( resource $ftp_stream , string $oldname , string $newname ) : bool

ftp_rename() renomeia um arquivo ou diretório no servidor FTP.

Parâmetros

ftp_stream

O identificador da conexão FTP.

oldname

O nome do arquivo/diretório anterior.

newname

O novo nome.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo ftp_rename()

<?php
$old_file = 'somefile.txt.bak';
$new_file = 'somefile.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to rename $old_file to $new_file
if (ftp_rename($conn_id, $old_file, $new_file)) {
 echo "successfully renamed $old_file to $new_file\n";
} else {
 echo "There was a problem while renaming $old_file to $new_file\n";
}

// close the connection
ftp_close($conn_id);
?>


Remove um diretório

  • « ftp_rename
  • ftp_set_option »
  • PHP Manual
  • FTP Funções
  • Remove um diretório

ftp_rmdir

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_rmdir — Remove um diretório

Descrição

ftp_rmdir ( resource $ftp_stream , string $directory ) : bool

Remove o directory especificado no servidor FTP.

Parâmetros

ftp_stream

O identificador da conexão FTP.

directory

O diretório a excluir. Isto deve set um caminho absoluto ou relativo a um diretório vazio.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo ftp_rmdir()

<?php

$dir = 'www/';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to delete the directory $dir
if (ftp_rmdir($conn_id, $dir)) {
    echo "Successfully deleted $dir\n";
} else {
    echo "There was a problem while deleting $dir\n";
}

ftp_close($conn_id);

?>

Veja Também

  • ftp_mkdir() - Cria um diretório


Define opções diversas em tempo de execução

  • « ftp_rmdir
  • ftp_site »
  • PHP Manual
  • FTP Funções
  • Define opções diversas em tempo de execução

ftp_set_option

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ftp_set_option — Define opções diversas em tempo de execução

Descrição

ftp_set_option ( resource $ftp_stream , int $option , mixed $value ) : bool

Esta função controla várias opções em tempo de execução para a conexão FTP especificada.

Parâmetros

ftp_stream

O identificador da conexão FTP.

option

Atualmente, as seguintes opções são suportadas:

Opção em tempo de execução do FTP suportada
FTP_TIMEOUT_SEC | Muda o limite de tempo em segundos usado para todas as operações de rede relacionadas. value deve ser um inteiro que seja maior do que 0. O limite de tempo padrão é 90 segundos.
FTP_AUTOSEEK | Quando ativado, requisições GET ou PUT com um parâmetro resumepos ou startpos irá primeiro procurar a posição especificada no arquivo. Isto esta ativado por padrâo.

value

Este valor depende de qual option foi escolhida para ser alterada.

Valor Retornado

Retorna true se a opção pode ser definida; false se não. Uma mensagem de aviso será emitida se option não for suportada ou se o value passado não for o valor esperado para a option dada.

Exemplos

Exemplo #1 Exemplo ftp_set_option()

<?php
// Set the network timeout to 10 seconds
ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 10);
?>

Veja Também

  • ftp_get_option() - Obtém várias opções em tempo de execução da conexão FTP atual


Envia o comando SITE para o servidor

  • « ftp_set_option
  • ftp_size »
  • PHP Manual
  • FTP Funções
  • Envia o comando SITE para o servidor

ftp_site

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_site — Envia o comando SITE para o servidor

Descrição

ftp_site ( resource $ftp_stream , string $command ) : bool

ftp_site() envia o comando SITE dado para o servidor FTPr.

Comandos SITE não são padronizados, e variam de servidor para servidor. Eles são utéis para manipular coisas como permissões de arquivos e membros de grupos.

Parâmetros

ftp_stream

O identificador da conexão FTP.

command

O comando SITE. Note que este parâmetro não é escapado assim pode ter alguns problemas com nomes de arquivos contendo espações ou outros caracteres.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Enviando um comando SITE para um servidor FTP

<?php
/* Connect to FTP server */
$conn = ftp_connect('ftp.example.com');
if (!$conn) die('Unable to connect to ftp.example.com');

/* Login as "user" with password "pass" */
if (!ftp_login($conn, 'user', 'pass')) die('Error logging into ftp.example.com');

/* Issue: "SITE CHMOD 0600 /home/user/privatefile" command to ftp server */
if (ftp_site($conn, 'CHMOD 0600 /home/user/privatefile')) {
   echo "Command executed successfully.\n";
} else {
   die('Command failed.');
}
?>

Veja Também

  • ftp_raw() - Envia um comando arbritário para o servidor FTP


Retorna o tamanho de um dado arquivo

  • « ftp_site
  • ftp_ssl_connect »
  • PHP Manual
  • FTP Funções
  • Retorna o tamanho de um dado arquivo

ftp_size

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_size — Retorna o tamanho de um dado arquivo

Descrição

ftp_size ( resource $ftp_stream , string $remote_file ) : int

ftp_size() retorna o tamanho de um dado arquivo em bytes

Nota:

Nem todos os servidoresw suportam isto.

Parâmetros

ftp_stream

O identificador da conexão FTP.

remote_file

O arquivo remoto.

Valor Retornado

Retorna o nome do arquivo em caso de sucesso, -1 em caso de erro.

Exemplos

Exemplo #1 Exemplo ftp_size()

<?php

$file = 'somefile.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// get the size of $file
$res = ftp_size($conn_id, $file);

if ($res != -1) {
    echo "size of $file is $res bytes";
} else {
    echo "couldn't get the size";
}

// close the connection
ftp_close($conn_id);

?>

Veja Também

  • ftp_rawlist() - Retorna uma lista detalhada dos arquivos em um diretório


Abre uma conexão SSL-FTP segura

  • « ftp_size
  • ftp_systype »
  • PHP Manual
  • FTP Funções
  • Abre uma conexão SSL-FTP segura

ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_ssl_connect — Abre uma conexão SSL-FTP segura

Descrição

ftp_ssl_connect ( string $host , int $port = ? , int $timeout = ? ) : resource

ftp_ssl_connect() abre uma conexão SSL-FTP com host(servidor) especificado.

Nota: Por que esta função pode não existir

ftp_ssl_connect() esta disponível apenas se o suporte a OpenSSL esta ativado em sua versão do PHP. Se não estiver definido e você compilou o suporte FTP então este é o motivo. Para o Windows, você deve compilar os seus proprios binários para ter suporte a esta função.

Parâmetros

host

O endereço do servidor FTP. Este parâmetro não deve ter barra ao final e não deve ter o prefixo ftp://.

port

Este parâmetro especifica uma porta alternativa para conectar. Se for omitido ou definido como zero, então a porta padrão do FTP, 21 será usada.

timeout

Este parâmetro especifica o limite de tempo para todas as operações de rede subsequentes. Se omitido, o valor padrão é 90 segundos. O limite de tempo pode ser mudado e obtido a qualquer tempo com ftp_set_option() e ftp_get_option().

Valor Retornado

Retorna um stream SSL-FTP em caso de sucesso ou false em caso de erro.

Changelog

Versão | Descrição
5.2.2 | A função foi modificada para retornar false quando ela não pode usar uma conexão SSL, ao invés de usar uma conexão não SSL como anteriormente.

Exemplos

Exemplo #1 Exemplo ftp_ssl_connect()

<?php

// set up basic ssl connection
$conn_id = ftp_ssl_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

echo ftp_pwd($conn_id); // /

// close the ssl connection
ftp_close($conn_id);
?>

Veja Também

  • ftp_connect() - Abre uma conexão FTP


Retorna o identificador do tipo do sistema do servidor FTP remoto

  • « ftp_ssl_connect
  • Gearman »
  • PHP Manual
  • FTP Funções
  • Retorna o identificador do tipo do sistema do servidor FTP remoto

ftp_systype

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_systype — Retorna o identificador do tipo do sistema do servidor FTP remoto

Descrição

ftp_systype ( resource $ftp_stream ) : string

Retorna o identificador do tipo do sistema do servidor FTP remoto.

Parâmetros

ftp_stream

O identificador com a conexão FTP.

Valor Retornado

Retorna o tipo do sistema remoto, ou false em caso de erro.

Exemplos

Exemplo #1 Exemplo ftp_systype()

<?php

// ftp connection
$ftp = ftp_connect('ftp.example.com');
ftp_login($ftp, 'user', 'password');

// get the system type
if ($type = ftp_systype($ftp)) {
    echo "Example.com is powered by $type\n";
} else {
    echo "Couldn't get the systype";
}

?>

O exemplo acima irá imprimir algo similar à:

Example.com is powered by UNIX


Gearman

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Basic usage
    • Basic Gearman client and worker, background
    • Basic Gearman client and worker, submitting tasks
  • GearmanClient — The GearmanClient class
    • GearmanClient::addOptions — Add client options
    • GearmanClient::addServer — Add a job server to the client
    • GearmanClient::addServers — Add a list of job servers to the client
    • GearmanClient::addTask — Add a task to be run in parallel
    • GearmanClient::addTaskBackground — Add a background task to be run in parallel
    • GearmanClient::addTaskHigh — Add a high priority task to run in parallel
    • GearmanClient::addTaskHighBackground — Add a high priority background task to be run in parallel
    • GearmanClient::addTaskLow — Add a low priority task to run in parallel
    • GearmanClient::addTaskLowBackground — Add a low priority background task to be run in parallel
    • GearmanClient::addTaskStatus — Add a task to get status
    • GearmanClient::clearCallbacks — Clear all task callback functions
    • GearmanClient::clone — Create a copy of a GearmanClient object
    • GearmanClient::__construct — Create a GearmanClient instance
    • GearmanClient::context — Get the application context
    • GearmanClient::data — Get the application data (deprecated)
    • GearmanClient::do — Run a single task and return a result [deprecated]
    • GearmanClient::doBackground — Run a task in the background
    • GearmanClient::doHigh — Run a single high priority task
    • GearmanClient::doHighBackground — Run a high priority task in the background
    • GearmanClient::doJobHandle — Get the job handle for the running task
    • GearmanClient::doLow — Run a single low priority task
    • GearmanClient::doLowBackground — Run a low priority task in the background
    • GearmanClient::doNormal — Run a single task and return a result
    • GearmanClient::doStatus — Get the status for the running task
    • GearmanClient::echo — Send data to all job servers to see if they echo it back [deprecated]
    • GearmanClient::error — Returns an error string for the last error encountered
    • GearmanClient::getErrno — Get an errno value
    • GearmanClient::jobStatus — Get the status of a background job
    • GearmanClient::ping — Send data to all job servers to see if they echo it back
    • GearmanClient::removeOptions — Remove client options
    • GearmanClient::returnCode — Get the last Gearman return code
    • GearmanClient::runTasks — Run a list of tasks in parallel
    • GearmanClient::setClientCallback — Callback function when there is a data packet for a task (deprecated)
    • GearmanClient::setCompleteCallback — Set a function to be called on task completion
    • GearmanClient::setContext — Set application context
    • GearmanClient::setCreatedCallback — Set a callback for when a task is queued
    • GearmanClient::setData — Set application data (deprecated)
    • GearmanClient::setDataCallback — Callback function when there is a data packet for a task
    • GearmanClient::setExceptionCallback — Set a callback for worker exceptions
    • GearmanClient::setFailCallback — Set callback for job failure
    • GearmanClient::setOptions — Set client options
    • GearmanClient::setStatusCallback — Set a callback for collecting task status
    • GearmanClient::setTimeout — Set socket I/O activity timeout
    • GearmanClient::setWarningCallback — Set a callback for worker warnings
    • GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates
    • GearmanClient::timeout — Get current socket I/O activity timeout value
    • GearmanClient::wait — Wait for I/O activity on all connections in a client
  • GearmanJob — The GearmanJob class
    • GearmanJob::complete — Send the result and complete status (deprecated)
    • GearmanJob::__construct — Create a GearmanJob instance
    • GearmanJob::data — Send data for a running job (deprecated)
    • GearmanJob::exception — Send exception for running job (deprecated)
    • GearmanJob::fail — Send fail status (deprecated)
    • GearmanJob::functionName — Get function name
    • GearmanJob::handle — Get the job handle
    • GearmanJob::returnCode — Get last return code
    • GearmanJob::sendComplete — Send the result and complete status
    • GearmanJob::sendData — Send data for a running job
    • GearmanJob::sendException — Send exception for running job (exception)
    • GearmanJob::sendFail — Send fail status
    • GearmanJob::sendStatus — Send status
    • GearmanJob::sendWarning — Send a warning
    • GearmanJob::setReturn — Set a return value
    • GearmanJob::status — Send status (deprecated)
    • GearmanJob::unique — Get the unique identifier
    • GearmanJob::warning — Send a warning (deprecated)
    • GearmanJob::workload — Get workload
    • GearmanJob::workloadSize — Get size of work load
  • GearmanTask — The GearmanTask class
    • GearmanTask::__construct — Create a GearmanTask instance
    • GearmanTask::create — Create a task (deprecated)
    • GearmanTask::data — Get data returned for a task
    • GearmanTask::dataSize — Get the size of returned data
    • GearmanTask::function — Get associated function name (deprecated)
    • GearmanTask::functionName — Get associated function name
    • GearmanTask::isKnown — Determine if task is known
    • GearmanTask::isRunning — Test whether the task is currently running
    • GearmanTask::jobHandle — Get the job handle
    • GearmanTask::recvData — Read work or result data into a buffer for a task
    • GearmanTask::returnCode — Get the last return code
    • GearmanTask::sendData — Send data for a task (deprecated)
    • GearmanTask::sendWorkload — Send data for a task
    • GearmanTask::taskDenominator — Get completion percentage denominator
    • GearmanTask::taskNumerator — Get completion percentage numerator
    • GearmanTask::unique — Get the unique identifier for a task
    • GearmanTask::uuid — Get the unique identifier for a task (deprecated)
  • GearmanWorker — The GearmanWorker class
    • GearmanWorker::addFunction — Register and add callback function
    • GearmanWorker::addOptions — Add worker options
    • GearmanWorker::addServer — Add a job server
    • GearmanWorker::addServers — Add job servers
    • GearmanWorker::clone — Create a copy of the worker
    • GearmanWorker::__construct — Create a GearmanWorker instance
    • GearmanWorker::echo — Test job server response
    • GearmanWorker::error — Get the last error encountered
    • GearmanWorker::getErrno — Get errno
    • GearmanWorker::options — Get worker options
    • GearmanWorker::register — Register a function with the job server
    • GearmanWorker::removeOptions — Remove worker options
    • GearmanWorker::returnCode — Get last Gearman return code
    • GearmanWorker::setId — Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers
    • GearmanWorker::setOptions — Set worker options
    • GearmanWorker::setTimeout — Set socket I/O activity timeout
    • GearmanWorker::timeout — Get socket I/O activity timeout
    • GearmanWorker::unregister — Unregister a function name with the job servers
    • GearmanWorker::unregisterAll — Unregister all function names with the job servers
    • GearmanWorker::wait — Wait for activity from one of the job servers
    • GearmanWorker::work — Wait for and perform jobs
  • GearmanException — The GearmanException class


Introdução

» Gearman is a generic application framework for farming out work to multiple machines or processes. It allows applications to complete tasks in parallel, to load balance processing, and to call functions between languages. The framework can be used in a variety of applications, from high-availability web sites to the transport of database replication events.

This extension provides classes for writing Gearman clients and workers.


Dependências

This extension requires the » libgearman, » libevent and » uuid libraries, and a running Gearman server.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/gearman


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Return values. Always check GearmanClient::error() or GearmanWorker() for a string error, as it may contain more details:

GEARMAN_SUCCESS (int)
Whatever action was taken was successful.
GEARMAN_IO_WAIT (int)
When in non-blocking mode, an event is hit that would have blocked.
GEARMAN_ERRNO (int)
A system error. Check GearmanClient::errno() or GearmanWorker::errno() for the system error code that was returned.
GEARMAN_NO_ACTIVE_FDS (int)
GearmanClient::wait() or GearmanWorker() was called with no connections.
GEARMAN_UNEXPECTED_PACKET (int)
Indicates something going very wrong in gearmand. Applies only to GearmanWorker.
GEARMAN_GETADDRINFO (int)
DNS resolution failed (invalid host, port, etc).
GEARMAN_NO_SERVERS (int)
Did not call GearmanClient::addServer() before submitting jobs or tasks.
GEARMAN_LOST_CONNECTION (int)
Lost a connection during a request.
GEARMAN_MEMORY_ALLOCATION_FAILURE (int)
Memory allocation failed (ran out of memory).
GEARMAN_SERVER_ERROR (int)
Something went wrong in the Gearman server and it could not handle the request gracefully.
GEARMAN_WORK_DATA (int)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Sent to update the client with data from a running job. A worker uses this when it needs to send updates, send partial results, or flush data during long running jobs.
GEARMAN_WORK_WARNING (int)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Updates the client with a warning. The behavior is just like GEARMAN_WORK_DATA, but should be treated as a warning instead of normal response data.
GEARMAN_WORK_STATUS (int)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Sent to update the status of a long running job. Use GearmanClient::doStatus() to obtain the percentage complete of the task.
GEARMAN_WORK_EXCEPTION (int)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Indicates that a job failed with a given exception.
GEARMAN_WORK_FAIL (int)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Indicates that the job failed.
GEARMAN_COULD_NOT_CONNECT (int)
Failed to connect to servers.
GEARMAN_INVALID_FUNCTION_NAME (int)
Trying to register a function name of NULL or using the callback interface without specifying callbacks.
GEARMAN_INVALID_WORKER_FUNCTION (int)
Trying to register a function with a NULL callback function.
GEARMAN_NO_REGISTERED_FUNCTIONS (int)
When a worker gets a job for a function it did not register.
GEARMAN_NO_JOBS (int)
For a non-blocking worker, when GearmanWorker::work() does not have any active jobs.
GEARMAN_ECHO_DATA_CORRUPTION (int)
After GearmanClient::echo() or GearmanWorker::echo() the data returned doesn't match the data sent.
GEARMAN_NEED_WORKLOAD_FN (int)
When the client opted to stream the workload of a task, but did not specify a workload callback function.
GEARMAN_PAUSE (int)
For the non-blocking client task interface, can be returned from the task callback to "pause" the call and return from GearmanClient::runTasks(). Call GearmanClient::runTasks() again to continue.
GEARMAN_UNKNOWN_STATE (int)
Internal client/worker state error.
GEARMAN_SEND_BUFFER_TOO_SMALL (int)
Internal error: trying to flush more data in one atomic chunk than is possible due to hard-coded buffer sizes.
GEARMAN_TIMEOUT (int)
Hit the timeout limit set by the client/worker.

GearmanClient options:

GEARMAN_CLIENT_GENERATE_UNIQUE (int)
Generate a unique id (UUID) for each task.
GEARMAN_CLIENT_NON_BLOCKING (int)
Run the cient in a non-blocking mode.
GEARMAN_CLIENT_UNBUFFERED_RESULT (int)
Allow the client to read data in chunks rather than have the library buffer the entire data result and pass that back.
GEARMAN_CLIENT_FREE_TASKS (int)
Automatically free task objects once they are complete. This is the default setting in this extension to prevent memory leaks.

GearmanWorker options:

GEARMAN_WORKER_NON_BLOCKING (int)
Run the worker in non-blocking mode.
GEARMAN_WORKER_GRAB_UNIQ (int)
Return the client assigned unique ID in addition to the job handle.

Base Gearman configuration:

GEARMAN_DEFAULT_TCP_HOST (string)
GEARMAN_DEFAULT_TCP_PORT (int)
GEARMAN_DEFAULT_SOCKET_TIMEOUT (int)
GEARMAN_DEFAULT_SOCKET_SEND_SIZE (int)
GEARMAN_DEFAULT_SOCKET_RECV_SIZE (int)
GEARMAN_MAX_ERROR_SIZE (int)
GEARMAN_PACKET_HEADER_SIZE (int)
GEARMAN_JOB_HANDLE_SIZE (int)
GEARMAN_OPTION_SIZE (int)
GEARMAN_UNIQUE_SIZE (int)
GEARMAN_MAX_COMMAND_ARGS (int)
GEARMAN_ARGS_BUFFER_SIZE (int)
GEARMAN_SEND_BUFFER_SIZE (int)
GEARMAN_RECV_BUFFER_SIZE (int)
GEARMAN_WORKER_WAIT_TIMEOUT (int)


Exemplos

Índice

  • Basic usage
  • Basic Gearman client and worker, background
  • Basic Gearman client and worker, submitting tasks


Basic usage

Exemplo #1 Basic Gearman client and worker

This example shows a very simple client and worker. The client sends a string to the job server, and the worker reverses the string and sends it back. The job is performed synchronously.

<?php

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
  $result = $gmclient->doNormal("reverse", "Hello!");

  # Check for various return packets and errors.
  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      echo "Data: $result\n";
      break;
    case GEARMAN_WORK_STATUS:
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      echo "Success: $result\n";
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x, $workload_size);
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

# A much simpler and less verbose version of the above function would be:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

O exemplo acima irá imprimir algo similar à:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:36
Workload: Hello! (6)
Sending status: 1/6 complete
Sending status: 2/6 complete
Sending status: 3/6 complete
Sending status: 4/6 complete
Sending status: 5/6 complete
Sending status: 6/6 complete
Result: !olleH

% php reverse_client.php
Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH


Basic Gearman client and worker, background

Exemplo #1 Basic Gearman client and worker, background

This example shows a very simple client and worker. The client sends a string to the job server as a background job, and the worker reverses the string. Note that since the work is performed asynchronously, the client does not wait for the job to complete and exits (and hence the client never receives the results).

<?php

# create our client object
$gmclient= new GearmanClient();

# add the default server (localhost)
$gmclient->addServer();

# run reverse client in the background
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

echo "done!\n";

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x, $workload_size);
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

# A much simpler and less verbose version of the above function would be:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

O exemplo acima irá imprimir algo similar à:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:41
Workload: this is a test (14)
1/14 complete
2/14 complete
3/14 complete
4/14 complete
5/14 complete
6/14 complete
7/14 complete
8/14 complete
9/14 complete
10/14 complete
11/14 complete
12/14 complete
13/14 complete
14/14 complete
Result: tset a si siht

% php reverse_client_bg.php
done!


Basic Gearman client and worker, submitting tasks

Exemplo #1 Basic Gearman client and worker, submitting tasks

In this example, the basic reverse client extended to run two tasks in parallel. The reverse worker is unchanged except to add sending of data back during processing.

<?php

# create the gearman client
$gmc= new GearmanClient();

# add the default server (localhost)
$gmc->addServer();

# register some callbacks
$gmc->setCreatedCallback("reverse_created");
$gmc->setDataCallback("reverse_data");
$gmc->setStatusCallback("reverse_status");
$gmc->setCompleteCallback("reverse_complete");
$gmc->setFailCallback("reverse_fail");

# set some arbitrary application data
$data['foo'] = 'bar';

# add two tasks
$task= $gmc->addTask("reverse", "foo", $data);
$task2= $gmc->addTaskLow("reverse", "bar", NULL);

# run the tasks in parallel (assuming multiple workers)
if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}

echo "DONE\n";

function reverse_created($task)
{
    echo "CREATED: " . $task->jobHandle() . "\n";
}

function reverse_status($task)
{
    echo "STATUS: " . $task->jobHandle() . " - " . $task->taskNumerator() .
         "/" . $task->taskDenominator() . "\n";
}

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->jobHandle() . ", " . $task->data() . "\n";
}

function reverse_fail($task)
{
    echo "FAILED: " . $task->jobHandle() . "\n";
}

function reverse_data($task)
{
    echo "DATA: " . $task->data() . "\n";
}

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

# A much simpler and less verbose version of the above function would be:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

O exemplo acima irá imprimir algo similar à:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:45
Workload: foo (3)
1/3 complete
2/3 complete
3/3 complete
Result: oof
Received job: H:foo.local:44
Workload: bar (3)
1/3 complete
2/3 complete
3/3 complete
Result: rab

% php reverse_client_task.php
CREATED: H:foo.local:44
CREATED: H:foo.local:45
STATUS: H:foo.local:45 - 1/3
DATA: f
STATUS: H:foo.local:45 - 2/3
DATA: o
STATUS: H:foo.local:45 - 3/3
DATA: o
COMPLETE: H:foo.local:45, oof
STATUS: H:foo.local:44 - 1/3
DATA: b
STATUS: H:foo.local:44 - 2/3
DATA: a
STATUS: H:foo.local:44 - 3/3
DATA: r
COMPLETE: H:foo.local:44, rab
DONE


The GearmanClient class

(PECL gearman >= 0.5.0)

Introdução

Represents a class for connecting to a Gearman job server and making requests to perform some function on provided data. The function performed must be one registered by a Gearman worker and the data passed is opaque to the job server.

Sinopse da classe

GearmanClient {
/* Métodos */
public addOptions ( int $options ) : bool
public addServer ( string $host = 127.0.0.1 , int $port = 4730 ) : bool
public addServers ( string $servers = 127.0.0.1:4730 ) : bool
public addTask ( string $function_name , string $workload , mixed &$context = ? , string $unique = ? ) : GearmanTask
public addTaskBackground ( string $function_name , string $workload , mixed &$context = ? , string $unique = ? ) : GearmanTask
public addTaskHigh ( string $function_name , string $workload , mixed &$context = ? , string $unique = ? ) : GearmanTask
public addTaskHighBackground ( string $function_name , string $workload , mixed &$context = ? , string $unique = ? ) : GearmanTask
public addTaskLow ( string $function_name , string $workload , mixed &$context = ? , string $unique = ? ) : GearmanTask
public addTaskLowBackground ( string $function_name , string $workload , mixed &$context = ? , string $unique = ? ) : GearmanTask
public addTaskStatus ( string $job_handle , string &$context = ? ) : GearmanTask
public clearCallbacks ( ) : bool
public clone ( ) : GearmanClient
public __construct ( )
public context ( ) : string
public data ( ) : string
public do ( string $function_name , string $workload , string $unique = ? ) : string
public doBackground ( string $function_name , string $workload , string $unique = ? ) : string
public doHigh ( string $function_name , string $workload , string $unique = ? ) : string
public doHighBackground ( string $function_name , string $workload , string $unique = ? ) : string
public doJobHandle ( ) : string
public doLow ( string $function_name , string $workload , string $unique = ? ) : string
public doLowBackground ( string $function_name , string $workload , string $unique = ? ) : string
public doNormal ( string $function_name , string $workload , string $unique = ? ) : string
public doStatus ( ) : array
public echo ( string $workload ) : bool
public error ( ) : string
public getErrno ( ) : int
public jobStatus ( string $job_handle ) : array
public ping ( string $workload ) : bool
public removeOptions ( int $options ) : bool
public returnCode ( ) : int
public runTasks ( ) : bool
public setClientCallback ( callable $callback ) : void
public setCompleteCallback ( callable $callback ) : bool
public setContext ( string $context ) : bool
public setCreatedCallback ( string $callback ) : bool
public setData ( string $data ) : bool
public setDataCallback ( callable $callback ) : bool
public setExceptionCallback ( callable $callback ) : bool
public setFailCallback ( callable $callback ) : bool
public setOptions ( int $options ) : bool
public setStatusCallback ( callable $callback ) : bool
public setTimeout ( int $timeout ) : bool
public setWarningCallback ( callable $callback ) : bool
public setWorkloadCallback ( callable $callback ) : bool
public timeout ( ) : int
public wait ( ) : bool
}

Índice

  • GearmanClient::addOptions — Add client options
  • GearmanClient::addServer — Add a job server to the client
  • GearmanClient::addServers — Add a list of job servers to the client
  • GearmanClient::addTask — Add a task to be run in parallel
  • GearmanClient::addTaskBackground — Add a background task to be run in parallel
  • GearmanClient::addTaskHigh — Add a high priority task to run in parallel
  • GearmanClient::addTaskHighBackground — Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLow — Add a low priority task to run in parallel
  • GearmanClient::addTaskLowBackground — Add a low priority background task to be run in parallel
  • GearmanClient::addTaskStatus — Add a task to get status
  • GearmanClient::clearCallbacks — Clear all task callback functions
  • GearmanClient::clone — Create a copy of a GearmanClient object
  • GearmanClient::__construct — Create a GearmanClient instance
  • GearmanClient::context — Get the application context
  • GearmanClient::data — Get the application data (deprecated)
  • GearmanClient::do — Run a single task and return a result [deprecated]
  • GearmanClient::doBackground — Run a task in the background
  • GearmanClient::doHigh — Run a single high priority task
  • GearmanClient::doHighBackground — Run a high priority task in the background
  • GearmanClient::doJobHandle — Get the job handle for the running task
  • GearmanClient::doLow — Run a single low priority task
  • GearmanClient::doLowBackground — Run a low priority task in the background
  • GearmanClient::doNormal — Run a single task and return a result
  • GearmanClient::doStatus — Get the status for the running task
  • GearmanClient::echo — Send data to all job servers to see if they echo it back [deprecated]
  • GearmanClient::error — Returns an error string for the last error encountered
  • GearmanClient::getErrno — Get an errno value
  • GearmanClient::jobStatus — Get the status of a background job
  • GearmanClient::ping — Send data to all job servers to see if they echo it back
  • GearmanClient::removeOptions — Remove client options
  • GearmanClient::returnCode — Get the last Gearman return code
  • GearmanClient::runTasks — Run a list of tasks in parallel
  • GearmanClient::setClientCallback — Callback function when there is a data packet for a task (deprecated)
  • GearmanClient::setCompleteCallback — Set a function to be called on task completion
  • GearmanClient::setContext — Set application context
  • GearmanClient::setCreatedCallback — Set a callback for when a task is queued
  • GearmanClient::setData — Set application data (deprecated)
  • GearmanClient::setDataCallback — Callback function when there is a data packet for a task
  • GearmanClient::setExceptionCallback — Set a callback for worker exceptions
  • GearmanClient::setFailCallback — Set callback for job failure
  • GearmanClient::setOptions — Set client options
  • GearmanClient::setStatusCallback — Set a callback for collecting task status
  • GearmanClient::setTimeout — Set socket I/O activity timeout
  • GearmanClient::setWarningCallback — Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates
  • GearmanClient::timeout — Get current socket I/O activity timeout value
  • GearmanClient::wait — Wait for I/O activity on all connections in a client


Add client options

  • « GearmanClient
  • GearmanClient::addServer »
  • PHP Manual
  • GearmanClient
  • Add client options

GearmanClient::addOptions

(PECL gearman >= 0.6.0)

GearmanClient::addOptions — Add client options

Descrição

public GearmanClient::addOptions ( int $options ) : bool

Adds one or more options to those already set.

Parâmetros

options

The options to add. One of the following constants, or a combination of them using the bitwise OR operator (|): GEARMAN_CLIENT_GENERATE_UNIQUE, GEARMAN_CLIENT_NON_BLOCKING, GEARMAN_CLIENT_UNBUFFERED_RESULT or GEARMAN_CLIENT_FREE_TASKS.

Valor Retornado

Always returns true.


Add a job server to the client

  • « GearmanClient::addOptions
  • GearmanClient::addServers »
  • PHP Manual
  • GearmanClient
  • Add a job server to the client

GearmanClient::addServer

(PECL gearman >= 0.5.0)

GearmanClient::addServer — Add a job server to the client

Descrição

public GearmanClient::addServer ( string $host = 127.0.0.1 , int $port = 4730 ) : bool

Adds a job server to a list of servers that can be used to run a task. No socket I/O happens here; the server is simply added to the list.

Parâmetros

host

O nome do servidor.

port

A porta do servidor.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Adding two job servers

<?php

# Create our client object.
$gmclient= new GearmanClient();

# Add two job servers, the first on the default 4730 port
$gmclient->addServer("10.0.0.1");
$gmclient->addServer("10.0.0.2", 7003);

?>

Veja Também

  • GearmanClient::addServers() - Add a list of job servers to the client


Add a list of job servers to the client

  • « GearmanClient::addServer
  • GearmanClient::addTask »
  • PHP Manual
  • GearmanClient
  • Add a list of job servers to the client

GearmanClient::addServers

(PECL gearman >= 0.5.0)

GearmanClient::addServers — Add a list of job servers to the client

Descrição

public GearmanClient::addServers ( string $servers = 127.0.0.1:4730 ) : bool

Adds a list of job servers that can be used to run a task. No socket I/O happens here; the servers are simply added to the full list of servers.

Parâmetros

servers

A comma-separated list of servers, each server specified in the format 'host:port'.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Add two job servers

<?php

# Create our client object.
$gmclient= new GearmanClient();

# Add multiple job servers, the first on the default 4730 port
$gmclient->addServers("10.0.0.1,10.0.0.2:7003");

?>

Veja Também

  • GearmanClient::addServer() - Add a job server to the client


Add a task to be run in parallel

  • « GearmanClient::addServers
  • GearmanClient::addTaskBackground »
  • PHP Manual
  • GearmanClient
  • Add a task to be run in parallel

GearmanClient::addTask

(PECL gearman >= 0.5.0)

GearmanClient::addTask — Add a task to be run in parallel

Descrição

public GearmanClient::addTask ( string $function_name , string $workload , mixed &$context = ? , string $unique = ? ) : GearmanTask

Adds a task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Note that enough workers need to be available for the tasks to all run in parallel.

Parâmetros

function_name

Uma função registrada a executar

workload

Dados serializados a processar

context

Contexto da aplicação associado à tarefa

unique

Um identificador único da tarefa

Valor Retornado

A GearmanTask object or false if the task could not be added.

Exemplos

Exemplo #1 Basic submission of two tasks

<?php

# Create our gearman client
$gmclient= new GearmanClient();

# add the default job server
$gmclient->addServer();

# set a function to be called when the work is complete
$gmclient->setCompleteCallback("complete");

# add a task to perform the "reverse" function on the string "Hello World!"
$gmclient->addTask("reverse", "Hello World!", null, "1");

# add another task to perform the "reverse" function on the string "!dlroW olleH"
$gmclient->addTask("reverse", "!dlroW olleH", null, "2");

# run the tasks
$gmclient->runTasks();

function complete($task)
{
  print "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

O exemplo acima irá imprimir algo similar à:

COMPLETE: 2, Hello World!
COMPLETE: 1, !dlroW olleH

Exemplo #2 Basic submission of two tasks with passing application context

<?php

$client = new GearmanClient();
$client->addServer();

# set a function to be called when the work is complete
$client->setCompleteCallback("reverse_complete");

# Add some tasks for a placeholder of where to put the results
$results = array();
$client->addTask("reverse", "Hello World!", &$results, "t1");
$client->addTask("reverse", "!dlroW olleH", &$results, "t2");

$client->runTasks();

# The results should now be filled in from the callbacks
foreach ($results as $id => $result)
   echo $id . ": " . $result['handle'] . ", " . $result['data'] . "\n";

function reverse_complete($task, $results)
{
   $results[$task->unique()] = array("handle"=>$task->jobHandle(), "data"=>$task->data());
}

?>

O exemplo acima irá imprimir algo similar à:

t2: H.foo:21, Hello World!
t1: H:foo:22, !dlroW olleH

Veja Também

  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel


Add a background task to be run in parallel

  • « GearmanClient::addTask
  • GearmanClient::addTaskHigh »
  • PHP Manual
  • GearmanClient
  • Add a background task to be run in parallel

GearmanClient::addTaskBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskBackground — Add a background task to be run in parallel

Descrição

public GearmanClient::addTaskBackground ( string $function_name , string $workload , mixed &$context = ? , string $unique = ? ) : GearmanTask

Adds a background task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work.

Parâmetros

function_name

Uma função registrada a executar

workload

Dados serializados a processar

context

Contexto da aplicação associado à tarefa

unique

Um identificador único da tarefa

Valor Retornado

A GearmanTask object or false if the task could not be added.

Exemplos

Exemplo #1 Two tasks, one background and one not

This example illustrates the difference between running a background task and a normal task. The client adds two tasks to execute the same function, but one is added with addTaskBackground(). A callback is set so that progress of the job can be tracked. A simple worker with an artificial delay reports on the job progress and the client picks this up through the callback. Two workers are run for this example. Note that the background task does not show in the client output.

<?php

# The client script

# create our gearman client
$gmc= new GearmanClient();

# add the default job server
$gmc->addServer();

# set a couple of callbacks so we can track progress
$gmc->setCompleteCallback("reverse_complete");
$gmc->setStatusCallback("reverse_status");

# add a task for the "reverse" function
$task= $gmc->addTask("reverse", "Hello World!", null, "1");

# add another task, but this one to run in the background
$task= $gmc->addTaskBackground("reverse", "!dlroW olleH", null, "2");

if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}

echo "DONE\n";

function reverse_status($task)
{
    echo "STATUS: " . $task->unique() . ", " . $task->jobHandle() . " - " . $task->taskNumerator() .
         "/" . $task->taskDenominator() . "\n";
}

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>
<?php

# The worker script

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

?>

Worker output for two workers running:

Received job: H:foo.local:65
Workload: !dlroW olleH (12)
1/12 complete
Received job: H:foo.local:66
Workload: Hello World! (12)
Sending status: 1/12 complete
Sending status: 2/12 complete
Sending status: 2/12 complete
Sending status: 3/12 complete
Sending status: 3/12 complete
Sending status: 4/12 complete
Sending status: 4/12 complete
Sending status: 5/12 complete
Sending status: 5/12 complete
Sending status: 6/12 complete
Sending status: 6/12 complete
Sending status: 7/12 complete
Sending status: 7/12 complete
Sending status: 8/12 complete
Sending status: 8/12 complete
Sending status: 9/12 complete
Sending status: 9/12 complete
Sending status: 10/12 complete
Sending status: 10/12 complete
Sending status: 11/12 complete
Sending status: 11/12 complete
Sending status: 12/12 complete
Sending status: 12/12 complete
Result: !dlroW olleH
Result: Hello World!

Client output:

STATUS: 1, H:foo.local:66 - 1/12
STATUS: 1, H:foo.local:66 - 2/12
STATUS: 1, H:foo.local:66 - 3/12
STATUS: 1, H:foo.local:66 - 4/12
STATUS: 1, H:foo.local:66 - 5/12
STATUS: 1, H:foo.local:66 - 6/12
STATUS: 1, H:foo.local:66 - 7/12
STATUS: 1, H:foo.local:66 - 8/12
STATUS: 1, H:foo.local:66 - 9/12
STATUS: 1, H:foo.local:66 - 10/12
STATUS: 1, H:foo.local:66 - 11/12
STATUS: 1, H:foo.local:66 - 12/12
COMPLETE: 1, !dlroW olleH
DONE

Veja Também

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel


Add a high priority task to run in parallel

  • « GearmanClient::addTaskBackground
  • GearmanClient::addTaskHighBackground »
  • PHP Manual
  • GearmanClient
  • Add a high priority task to run in parallel

GearmanClient::addTaskHigh

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHigh — Add a high priority task to run in parallel

Descrição

public GearmanClient::addTaskHigh ( string $function_name , string $workload , mixed &$context = ? , string $unique = ? ) : GearmanTask

Adds a high priority task to be run in parallel with other tasks. Call this method for all the high priority tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Tasks with a high priority will be selected from the queue before those of normal or low priority.

Parâmetros

function_name

Uma função registrada a executar

workload

Dados serializados a processar

context

Contexto da aplicação associado à tarefa

unique

Um identificador único da tarefa

Valor Retornado

A GearmanTask object or false if the task could not be added.

Exemplos

Exemplo #1 A high priority task along with two normal tasks

A high priority task is included among two other tasks. A single worker is available, so that tasks are run one at a time, with the high priority task run first.

<?php

# create the gearman client
$gmc= new GearmanClient();

# add the default job server
$gmc->addServer();

# set the callback for when the job is complete
$gmc->setCompleteCallback("reverse_complete");

# add tasks, one of which is high priority
$task= $gmc->addTask("reverse", "Hello World!", null, "1");
$task= $gmc->addTaskHigh("reverse", "!dlroW olleH", null, "2");
$task= $gmc->addTask("reverse", "Hello World!", null, "3");

if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}
echo "DONE\n";

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

O exemplo acima irá imprimir algo similar à:

COMPLETE: 2, Hello World!
COMPLETE: 3, !dlroW olleH
COMPLETE: 1, !dlroW olleH
DONE

Veja Também

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel


Add a high priority background task to be run in parallel

  • « GearmanClient::addTaskHigh
  • GearmanClient::addTaskLow »
  • PHP Manual
  • GearmanClient
  • Add a high priority background task to be run in parallel

GearmanClient::addTaskHighBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHighBackground — Add a high priority background task to be run in parallel

Descrição

public GearmanClient::addTaskHighBackground ( string $function_name , string $workload , mixed &$context = ? , string $unique = ? ) : GearmanTask

Adds a high priority background task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Tasks with a high priority will be selected from the queue before those of normal or low priority.

Parâmetros

function_name

Uma função registrada a executar

workload

Dados serializados a processar

context

Contexto da aplicação associado à tarefa

unique

Um identificador único da tarefa

Valor Retornado

A GearmanTask object or false if the task could not be added.

Veja Também

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel


Add a low priority task to run in parallel

  • « GearmanClient::addTaskHighBackground
  • GearmanClient::addTaskLowBackground »
  • PHP Manual
  • GearmanClient
  • Add a low priority task to run in parallel

GearmanClient::addTaskLow

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLow — Add a low priority task to run in parallel

Descrição

public GearmanClient::addTaskLow ( string $function_name , string $workload , mixed &$context = ? , string $unique = ? ) : GearmanTask

Adds a low priority background task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Tasks with a low priority will be selected from the queue after those of normal or low priority.

Parâmetros

function_name

Uma função registrada a executar

workload

Dados serializados a processar

context

Contexto da aplicação associado à tarefa

unique

Um identificador único da tarefa

Valor Retornado

A GearmanTask object or false if the task could not be added.

Exemplos

Exemplo #1 A low priority task along with two normal tasks

A low priority task is included among two other tasks. A single worker is available, so that tasks are run one at a time, with the low priority task run last.

<?php

# create the gearman client
$gmc= new GearmanClient();

# add the default job server
$gmc->addServer();

# set the callback for when the job is complete
$gmc->setCompleteCallback("reverse_complete");

# add tasks, one of which is low priority
$task= $gmc->addTask("reverse", "Hello World!", null, "1");
$task= $gmc->addTaskLow("reverse", "!dlroW olleH", null, "2");
$task= $gmc->addTask("reverse", "Hello World!", null, "3");

if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}
echo "DONE\n";

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

O exemplo acima irá imprimir algo similar à:

COMPLETE: 3, !dlroW olleH
COMPLETE: 1, !dlroW olleH
COMPLETE: 2, Hello World!
DONE

Veja Também

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel


Add a low priority background task to be run in parallel

  • « GearmanClient::addTaskLow
  • GearmanClient::addTaskStatus »
  • PHP Manual
  • GearmanClient
  • Add a low priority background task to be run in parallel

GearmanClient::addTaskLowBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLowBackground — Add a low priority background task to be run in parallel

Descrição

public GearmanClient::addTaskLowBackground ( string $function_name , string $workload , mixed &$context = ? , string $unique = ? ) : GearmanTask

Adds a low priority background task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Tasks with a low priority will be selected from the queue after those of normal or high priority.

Parâmetros

function_name

Uma função registrada a executar

workload

Dados serializados a processar

context

Contexto da aplicação associado à tarefa

unique

Um identificador único da tarefa

Valor Retornado

A GearmanTask object or false if the task could not be added.

Veja Também

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel


Add a task to get status

  • « GearmanClient::addTaskLowBackground
  • GearmanClient::clearCallbacks »
  • PHP Manual
  • GearmanClient
  • Add a task to get status

GearmanClient::addTaskStatus

(PECL gearman >= 0.5.0)

GearmanClient::addTaskStatus — Add a task to get status

Descrição

public GearmanClient::addTaskStatus ( string $job_handle , string &$context = ? ) : GearmanTask

Used to request status information from the Gearman server, which will call the specified status callback (set using GearmanClient::setStatusCallback()).

Parâmetros

job_handle

The job handle for the task to get status for

context

Data to be passed to the status callback, generally a reference to an array or object

Valor Retornado

A GearmanTask object.

Exemplos

Exemplo #1 Monitor completion of multiple background tasks

An artificial delay is introduced in the worker in this example to simulate a long running process. There is only one worker running for this example.

<?php

/* create our object */
$gmclient= new GearmanClient();

/* add the default server */
$gmclient->addServer();

/* start some background jobs and save the handles */
$handles = array();
$handles[0] = $gmclient->doBackground("reverse", "Hello World!");
$handles[1] = $gmclient->doBackground("reverse", "!dlroW olleH");

$gmclient->setStatusCallback("reverse_status");

/* Poll the server to see when those background jobs finish; */
/* a better method would be to use event callbacks */
do
{
   /* Use the context variable to track how many tasks have completed */
   $done = 0;
   $gmclient->addTaskStatus($handles[0], &$done);
   $gmclient->addTaskStatus($handles[1], &$done);
   $gmclient->runTasks();
   echo "Done: $done\n";
   sleep(1);
}
while ($done != 2);

function reverse_status($task, $done)
{
   if (!$task->isKnown())
      $done++;
}

?>

O exemplo acima irá imprimir algo similar à:

Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 2

Veja Também

  • GearmanClient::setStatusCallback() - Set a callback for collecting task status


Clear all task callback functions

  • « GearmanClient::addTaskStatus
  • GearmanClient::clone »
  • PHP Manual
  • GearmanClient
  • Clear all task callback functions

GearmanClient::clearCallbacks

(PECL gearman >= 0.5.0)

GearmanClient::clearCallbacks — Clear all task callback functions

Descrição

public GearmanClient::clearCallbacks ( ) : bool

Clears all the task callback functions that have previously been set.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Always returns true.

Veja Também

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Create a copy of a GearmanClient object

  • « GearmanClient::clearCallbacks
  • GearmanClient::__construct »
  • PHP Manual
  • GearmanClient
  • Create a copy of a GearmanClient object

GearmanClient::clone

(PECL gearman >= 0.5.0)

GearmanClient::clone — Create a copy of a GearmanClient object

Descrição

public GearmanClient::clone ( ) : GearmanClient

Creates a copy of a GearmanClient object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A GearmanClient on success, false on failure.


Create a GearmanClient instance

  • « GearmanClient::clone
  • GearmanClient::context »
  • PHP Manual
  • GearmanClient
  • Create a GearmanClient instance

GearmanClient::__construct

(PECL gearman >= 0.5.0)

GearmanClient::__construct — Create a GearmanClient instance

Descrição

public GearmanClient::__construct ( )

Creates a GearmanClient instance representing a client that connects to the job server and submits tasks to complete.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A GearmanClient object.

Veja Também

  • GearmanClient::clone() - Create a copy of a GearmanClient object


Get the application context

  • « GearmanClient::__construct
  • GearmanClient::data »
  • PHP Manual
  • GearmanClient
  • Get the application context

GearmanClient::context

(PECL gearman >= 0.6.0)

GearmanClient::context — Get the application context

Descrição

public GearmanClient::context ( ) : string

Get the application context previously set with GearmanClient::setContext().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The same context data structure set with GearmanClient::setContext()

Veja Também

  • GearmanClient::setContext() - Set application context


Get the application data (deprecated)

  • « GearmanClient::context
  • GearmanClient::do »
  • PHP Manual
  • GearmanClient
  • Get the application data (deprecated)

GearmanClient::data

(PECL gearman <= 0.5.0)

GearmanClient::data — Get the application data (deprecated)

Descrição

public GearmanClient::data ( ) : string

Get the application data previously set with GearmanClient::setData().

Nota:

This method was replaced by GearmanClient::setContext() in the 0.6.0 release of the Gearman extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The same string data set with GearmanClient::setData()

Veja Também

  • GearmanClient::setData() - Set application data (deprecated)


Run a single task and return a result [deprecated]

  • « GearmanClient::data
  • GearmanClient::doBackground »
  • PHP Manual
  • GearmanClient
  • Run a single task and return a result [deprecated]

GearmanClient::do

(PECL gearman >= 0.5.0)

GearmanClient::do — Run a single task and return a result [deprecated]

Descrição

public GearmanClient::do ( string $function_name , string $workload , string $unique = ? ) : string

The GearmanClient::do() method is deprecated as of pecl/gearman 1.0.0. Use GearmanClient::doNormal().

Parâmetros

function_name

Uma função registrada a executar

workload

Dados serializados a processar

unique

Um identificador único da tarefa

Valor Retornado

A string representing the results of running a task.

Exemplos

Exemplo #1 Simple job submission with immediate return

<?php

# Client code

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

$result = $gmclient->doNormal("reverse", "Hello!");

echo "Success: $result\n";

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

O exemplo acima irá imprimir algo similar à:

Starting
Sending job
Success: !olleH

Exemplo #2 Submitting a job and retrieving incremental status

A job is submitted and the script loops to retrieve status information. The worker has an artificial delay which results in a long running job and sends status and data as processing occurs. Each subsequent call to GearmanClient::do() produces status information on the running job.

<?php

# Client code

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
  $result = $gmclient->doNormal("reverse", "Hello!");
  # Check for various return packets and errors.

  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      echo "Data: $result\n";
      break;
    case GEARMAN_WORK_STATUS:
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      echo "Error: " . $gmclient->error() . "\n";
      echo "Errno: " . $gmclient->getErrno() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>
<?php

# Worker code

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " + $x + 1 . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

?>

O exemplo acima irá imprimir algo similar à:

Worker output:

Starting
Waiting for job...
Received job: H:foo.local:106
Workload: Hello! (6)
1/6 complete
2/6 complete
3/6 complete
4/6 complete
5/6 complete
6/6 complete
Result: !olleH

Client output:

Starting
Sending job
Status: 1/6 complete
Data: H
Status: 2/6 complete
Data: e
Status: 3/6 complete
Data: l
Status: 4/6 complete
Data: l
Status: 5/6 complete
Data: o
Status: 6/6 complete
Data: !
Success: !olleH

Veja Também

  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background


Run a task in the background

  • « GearmanClient::do
  • GearmanClient::doHigh »
  • PHP Manual
  • GearmanClient
  • Run a task in the background

GearmanClient::doBackground

(PECL gearman >= 0.5.0)

GearmanClient::doBackground — Run a task in the background

Descrição

public GearmanClient::doBackground ( string $function_name , string $workload , string $unique = ? ) : string

Runs a task in the background, returning a job handle which can be used to get the status of the running task.

Parâmetros

function_name

Uma função registrada a executar

workload

Dados serializados a processar

unique

Um identificador único da tarefa

Valor Retornado

The job handle for the submitted task.

Exemplos

Exemplo #1 Submit and monitor a background job

The worker in this example has an artificial delay introduced to mimic a long running job. The client script periodically checks the status of the running job.

<?php

/* create our object */
$gmclient= new GearmanClient();

/* add the default server */
$gmclient->addServer();

/* run reverse client */
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

$done = false;
do
{
   sleep(3);
   $stat = $gmclient->jobStatus($job_handle);
   if (!$stat[0]) // the job is known so it is not done
      $done = true;
   echo "Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denominator: " . $stat[3] . "\n";
}
while(!$done);

echo "done!\n";

?>

O exemplo acima irá imprimir algo similar à:

Running: true, numerator: 3, denominator: 14
Running: true, numerator: 6, denominator: 14
Running: true, numerator: 9, denominator: 14
Running: true, numerator: 12, denominator: 14
Running: false, numerator: 0, denominator: 0
done!

Veja Também

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background


Run a single high priority task

  • « GearmanClient::doBackground
  • GearmanClient::doHighBackground »
  • PHP Manual
  • GearmanClient
  • Run a single high priority task

GearmanClient::doHigh

(PECL gearman >= 0.5.0)

GearmanClient::doHigh — Run a single high priority task

Descrição

public GearmanClient::doHigh ( string $function_name , string $workload , string $unique = ? ) : string

Runs a single high priority task and returns a string representation of the result. It is up to the GearmanClient and GearmanWorker to agree on the format of the result. High priority tasks will get precedence over normal and low priority tasks in the job queue.

Parâmetros

function_name

Uma função registrada a executar

workload

Dados serializados a processar

unique

Um identificador único da tarefa

Valor Retornado

A string representing the results of running a task.

Veja Também

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background


Run a high priority task in the background

  • « GearmanClient::doHigh
  • GearmanClient::doJobHandle »
  • PHP Manual
  • GearmanClient
  • Run a high priority task in the background

GearmanClient::doHighBackground

(PECL gearman >= 0.5.0)

GearmanClient::doHighBackground — Run a high priority task in the background

Descrição

public GearmanClient::doHighBackground ( string $function_name , string $workload , string $unique = ? ) : string

Runs a high priority task in the background, returning a job handle which can be used to get the status of the running task. High priority tasks take precedence over normal and low priority tasks in the job queue.

Parâmetros

function_name

Uma função registrada a executar

workload

Dados serializados a processar

unique

Um identificador único da tarefa

Valor Retornado

The job handle for the submitted task.

Veja Também

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background


Get the job handle for the running task

  • « GearmanClient::doHighBackground
  • GearmanClient::doLow »
  • PHP Manual
  • GearmanClient
  • Get the job handle for the running task

GearmanClient::doJobHandle

(PECL gearman >= 0.5.0)

GearmanClient::doJobHandle — Get the job handle for the running task

Descrição

public GearmanClient::doJobHandle ( ) : string

Gets that job handle for a running task. This should be used between repeated GearmanClient::doNormal() calls. The job handle can then be used to get information on the task.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The job handle for the running task.

Veja Também

  • GearmanClient::jobStatus() - Get the status of a background job


Run a single low priority task

  • « GearmanClient::doJobHandle
  • GearmanClient::doLowBackground »
  • PHP Manual
  • GearmanClient
  • Run a single low priority task

GearmanClient::doLow

(PECL gearman >= 0.5.0)

GearmanClient::doLow — Run a single low priority task

Descrição

public GearmanClient::doLow ( string $function_name , string $workload , string $unique = ? ) : string

Runs a single low priority task and returns a string representation of the result. It is up to the GearmanClient and GearmanWorker to agree on the format of the result. Normal and high priority tasks will get precedence over low priority tasks in the job queue.

Parâmetros

function_name

Uma função registrada a executar

workload

Dados serializados a processar

unique

Um identificador único da tarefa

Valor Retornado

A string representing the results of running a task.

Veja Também

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background


Run a low priority task in the background

  • « GearmanClient::doLow
  • GearmanClient::doNormal »
  • PHP Manual
  • GearmanClient
  • Run a low priority task in the background

GearmanClient::doLowBackground

(PECL gearman >= 0.5.0)

GearmanClient::doLowBackground — Run a low priority task in the background

Descrição

public GearmanClient::doLowBackground ( string $function_name , string $workload , string $unique = ? ) : string

Runs a low priority task in the background, returning a job handle which can be used to get the status of the running task. Normal and high priority tasks take precedence over low priority tasks in the job queue.

Parâmetros

function_name

Uma função registrada a executar

workload

Dados serializados a processar

unique

Um identificador único da tarefa

Valor Retornado

The job handle for the submitted task.

Veja Também

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background


Run a single task and return a result

  • « GearmanClient::doLowBackground
  • GearmanClient::doStatus »
  • PHP Manual
  • GearmanClient
  • Run a single task and return a result

GearmanClient::doNormal

(Não há informação de versão disponível, talvez apenas no Git)

GearmanClient::doNormal — Run a single task and return a result

Descrição

public GearmanClient::doNormal ( string $function_name , string $workload , string $unique = ? ) : string

Runs a single task and returns a string representation of the result. It is up to the GearmanClient and GearmanWorker to agree on the format of the result.

Parâmetros

function_name

Uma função registrada a executar

workload

Dados serializados a processar

unique

Um identificador único da tarefa

Valor Retornado

A string representing the results of running a task.

Exemplos

Exemplo #1 Simple job submission with immediate return

<?php

?>
<?php

# Client code

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

$result = $gmclient->doNormal("reverse", "Hello!");

echo "Success: $result\n";

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

O exemplo acima irá imprimir algo similar à:

Starting
Sending job
Success: !olleH

Exemplo #2 Submitting a job and retrieving incremental status

A job is submitted and the script loops to retrieve status information. The worker has an artificial delay which results in a long running job and sends status and data as processing occurs. Each subsequent call to GearmanClient::doNormal() produces status information on the running job.

<?php

# Client code

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
  $result = $gmclient->doNormal("reverse", "Hello!");
  # Check for various return packets and errors.

  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      echo "Data: $result\n";
      break;
    case GEARMAN_WORK_STATUS:
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      echo "Error: " . $gmclient->error() . "\n";
      echo "Errno: " . $gmclient->getErrno() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>
<?php

# Worker code

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " + $x + 1 . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

?>

O exemplo acima irá imprimir algo similar à:

Worker output:

Starting
Waiting for job...
Received job: H:foo.local:106
Workload: Hello! (6)
1/6 complete
2/6 complete
3/6 complete
4/6 complete
5/6 complete
6/6 complete
Result: !olleH

Client output:

Starting
Sending job
Status: 1/6 complete
Data: H
Status: 2/6 complete
Data: e
Status: 3/6 complete
Data: l
Status: 4/6 complete
Data: l
Status: 5/6 complete
Data: o
Status: 6/6 complete
Data: !
Success: !olleH

Veja Também

  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background


Get the status for the running task

  • « GearmanClient::doNormal
  • GearmanClient::echo »
  • PHP Manual
  • GearmanClient
  • Get the status for the running task

GearmanClient::doStatus

(PECL gearman >= 0.5.0)

GearmanClient::doStatus — Get the status for the running task

Descrição

public GearmanClient::doStatus ( ) : array

Returns the status for the running task. This should be used between repeated GearmanClient::doNormal() calls.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array representing the percentage completion given as a fraction, with the first element the numerator and the second element the denomintor.

Exemplos

Exemplo #1 Get the status of a long running job

The worker in this example has an artificial delay added during processing of the string to be reversed. After each delay it calls GearmanJob::status() which the client then picks up.

<?php

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
  $result = $gmclient->doNormal("reverse", "Hello!");

  # Check for various return packets and errors.
  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      break;
    case GEARMAN_WORK_STATUS:
      # get the current job status
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>

O exemplo acima irá imprimir algo similar à:

Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH

Veja Também

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanJob::status() - Send status (deprecated)


Send data to all job servers to see if they echo it back [deprecated]

  • « GearmanClient::doStatus
  • GearmanClient::error »
  • PHP Manual
  • GearmanClient
  • Send data to all job servers to see if they echo it back [deprecated]

GearmanClient::echo

(PECL gearman >= 0.5.0)

GearmanClient::echo — Send data to all job servers to see if they echo it back [deprecated]

Descrição

public GearmanClient::echo ( string $workload ) : bool

The GearmanClient::echo() method is deprecated as of pecl/gearman 1.0.0. Use GearmanClient::ping().

Parâmetros

workload

Some arbitrary serialized data to be echo back

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Returns an error string for the last error encountered

  • « GearmanClient::echo
  • GearmanClient::getErrno »
  • PHP Manual
  • GearmanClient
  • Returns an error string for the last error encountered

GearmanClient::error

(PECL gearman >= 0.5.0)

GearmanClient::error — Returns an error string for the last error encountered

Descrição

public GearmanClient::error ( ) : string

Returns an error string for the last error encountered.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A human readable error string.

Veja Também

  • GearmanClient::getErrno() - Get an errno value


Get an errno value

  • « GearmanClient::error
  • GearmanClient::jobStatus »
  • PHP Manual
  • GearmanClient
  • Get an errno value

GearmanClient::getErrno

(PECL gearman >= 0.5.0)

GearmanClient::getErrno — Get an errno value

Descrição

public GearmanClient::getErrno ( ) : int

Value of errno in the case of a GEARMAN_ERRNO return value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A valid Gearman errno.

Veja Também

  • GearmanClient::error() - Returns an error string for the last error encountered


Get the status of a background job

  • « GearmanClient::getErrno
  • GearmanClient::ping »
  • PHP Manual
  • GearmanClient
  • Get the status of a background job

GearmanClient::jobStatus

gearman_job_status

(PECL gearman >= 0.5.0)

GearmanClient::jobStatus -- gearman_job_status — Get the status of a background job

Descrição

Estilo orientado à objeto (method):

public GearmanClient::jobStatus ( string $job_handle ) : array

Gets the status for a background job given a job handle. The status information will specify whether the job is known, whether the job is currently running, and the percentage completion.

Parâmetros

job_handle

O manipulador do job associado no servidor Gearman

Valor Retornado

An array containing status information for the job corresponding to the supplied job handle. The first array element is a boolean indicating whether the job is even known, the second is a boolean indicating whether the job is still running, and the third and fourth elements correspond to the numerator and denominator of the fractional completion percentage, respectively.

Exemplos

Exemplo #1 Monitor the status of a long running background job

<?php

/* create our object */
$gmclient= new GearmanClient();

/* add the default server */
$gmclient->addServer();

/* run reverse client */
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

$done = false;
do
{
   sleep(3);
   $stat = $gmclient->jobStatus($job_handle);
   if (!$stat[0]) // the job is known so it is not done
      $done = true;
   echo "Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denomintor: " . $stat[3] . "\n";
}
while(!$done);

echo "done!\n";

?>

O exemplo acima irá imprimir algo similar à:

Running: true, numerator: 3, denomintor: 14
Running: true, numerator: 6, denomintor: 14
Running: true, numerator: 9, denomintor: 14
Running: true, numerator: 12, denomintor: 14
Running: false, numerator: 0, denomintor: 0
done!

Veja Também

  • GearmanClient::doStatus() - Get the status for the running task


Send data to all job servers to see if they echo it back

  • « GearmanClient::jobStatus
  • GearmanClient::removeOptions »
  • PHP Manual
  • GearmanClient
  • Send data to all job servers to see if they echo it back

GearmanClient::ping

(Não há informação de versão disponível, talvez apenas no Git)

GearmanClient::ping — Send data to all job servers to see if they echo it back

Descrição

public GearmanClient::ping ( string $workload ) : bool

Sends some arbitrary data to all job servers to see if they echo it back. The data sent is not used or processed in any other way. Primarily used for testing and debugging.

Parâmetros

workload

Some arbitrary serialized data to be echo back

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Remove client options

  • « GearmanClient::ping
  • GearmanClient::returnCode »
  • PHP Manual
  • GearmanClient
  • Remove client options

GearmanClient::removeOptions

(PECL gearman >= 0.6.0)

GearmanClient::removeOptions — Remove client options

Descrição

public GearmanClient::removeOptions ( int $options ) : bool

Removes (unsets) one or more options.

Parâmetros

options

The options to be removed (unset)

Valor Retornado

Always returns true.


Get the last Gearman return code

  • « GearmanClient::removeOptions
  • GearmanClient::runTasks »
  • PHP Manual
  • GearmanClient
  • Get the last Gearman return code

GearmanClient::returnCode

(PECL gearman >= 0.5.0)

GearmanClient::returnCode — Get the last Gearman return code

Descrição

public GearmanClient::returnCode ( ) : int

Returns the last Gearman return code.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A valid Gearman return code.


Run a list of tasks in parallel

  • « GearmanClient::returnCode
  • GearmanClient::setClientCallback »
  • PHP Manual
  • GearmanClient
  • Run a list of tasks in parallel

GearmanClient::runTasks

(PECL gearman >= 0.5.0)

GearmanClient::runTasks — Run a list of tasks in parallel

Descrição

public GearmanClient::runTasks ( ) : bool

For a set of tasks previously added with GearmanClient::addTask(), GearmanClient::addTaskHigh(), GearmanClient::addTaskLow(), GearmanClient::addTaskBackground(), GearmanClient::addTaskHighBackground(), or GearmanClient::addTaskLowBackground(), this call starts running the tasks in parallel.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanClient::addTask() - Add a task to be run in parallel


Callback function when there is a data packet for a task (deprecated)

  • « GearmanClient::runTasks
  • GearmanClient::setCompleteCallback »
  • PHP Manual
  • GearmanClient
  • Callback function when there is a data packet for a task (deprecated)

GearmanClient::setClientCallback

(PECL gearman <= 0.5.0)

GearmanClient::setClientCallback — Callback function when there is a data packet for a task (deprecated)

Descrição

public GearmanClient::setClientCallback ( callable $callback ) : void

Sets the callback function for accepting data packets for a task. The callback function should take a single argument, a GearmanTask object.

Nota:

This method has been replaced by GearmanClient::setDataCallback() in the 0.6.0 release of the Gearman extension.

Parâmetros

callback

A function or method to call

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set a function to be called on task completion

  • « GearmanClient::setClientCallback
  • GearmanClient::setContext »
  • PHP Manual
  • GearmanClient
  • Set a function to be called on task completion

GearmanClient::setCompleteCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCompleteCallback — Set a function to be called on task completion

Descrição

public GearmanClient::setCompleteCallback ( callable $callback ) : bool

Use to set a function to be called when a GearmanTask is completed, or when GearmanJob::sendComplete() is invoked by a worker (whichever happens first).

This callback executes only when executing a GearmanTask using GearmanClient::runTasks(). It is not used for individual jobs.

Parâmetros

callback

A function to be called

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set application context

  • « GearmanClient::setCompleteCallback
  • GearmanClient::setCreatedCallback »
  • PHP Manual
  • GearmanClient
  • Set application context

GearmanClient::setContext

(PECL gearman >= 0.6.0)

GearmanClient::setContext — Set application context

Descrição

public GearmanClient::setContext ( string $context ) : bool

Sets an arbitrary string to provide application context that can later be retrieved by GearmanClient::context().

Parâmetros

context

Arbitrary context data

Valor Retornado

Always returns true.

Veja Também

  • GearmanClient::context() - Get the application context


Set a callback for when a task is queued

  • « GearmanClient::setContext
  • GearmanClient::setData »
  • PHP Manual
  • GearmanClient
  • Set a callback for when a task is queued

GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCreatedCallback — Set a callback for when a task is queued

Descrição

public GearmanClient::setCreatedCallback ( string $callback ) : bool

Sets a function to be called when a task is received and queued by the Gearman job server. The callback should accept a single argument, a GearmanTask object.

Parâmetros

callback

A function to call

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set application data (deprecated)

  • « GearmanClient::setCreatedCallback
  • GearmanClient::setDataCallback »
  • PHP Manual
  • GearmanClient
  • Set application data (deprecated)

GearmanClient::setData

(PECL gearman <= 0.5.0)

GearmanClient::setData — Set application data (deprecated)

Descrição

public GearmanClient::setData ( string $data ) : bool

Sets some arbitrary application data that can later be retrieved by GearmanClient::data().

Nota:

This method has been replaced by GearmanCient::setContext() in the 0.6.0 release of the Gearman extension.

Parâmetros

data

Valor Retornado

Always returns true.

Veja Também

  • GearmanClient::data() - Get the application data (deprecated)


Callback function when there is a data packet for a task

  • « GearmanClient::setData
  • GearmanClient::setExceptionCallback »
  • PHP Manual
  • GearmanClient
  • Callback function when there is a data packet for a task

GearmanClient::setDataCallback

(PECL gearman >= 0.6.0)

GearmanClient::setDataCallback — Callback function when there is a data packet for a task

Descrição

public GearmanClient::setDataCallback ( callable $callback ) : bool

Sets the callback function for accepting data packets for a task. The callback function should take a single argument, a GearmanTask object.

Parâmetros

callback

A function or method to call

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set a callback for worker exceptions

  • « GearmanClient::setDataCallback
  • GearmanClient::setFailCallback »
  • PHP Manual
  • GearmanClient
  • Set a callback for worker exceptions

GearmanClient::setExceptionCallback

(PECL gearman >= 0.5.0)

GearmanClient::setExceptionCallback — Set a callback for worker exceptions

Descrição

public GearmanClient::setExceptionCallback ( callable $callback ) : bool

Specifies a function to call when a worker for a task sends an exception.

Parâmetros

callback

Function to call when the worker throws an exception

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set callback for job failure

  • « GearmanClient::setExceptionCallback
  • GearmanClient::setOptions »
  • PHP Manual
  • GearmanClient
  • Set callback for job failure

GearmanClient::setFailCallback

(PECL gearman >= 0.5.0)

GearmanClient::setFailCallback — Set callback for job failure

Descrição

public GearmanClient::setFailCallback ( callable $callback ) : bool

Sets the callback function to be used when a task does not complete successfully. The function should accept a single argument, a GearmanTask object.

Parâmetros

callback

A function to call

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set client options

  • « GearmanClient::setFailCallback
  • GearmanClient::setStatusCallback »
  • PHP Manual
  • GearmanClient
  • Set client options

GearmanClient::setOptions

(PECL gearman >= 0.5.0)

GearmanClient::setOptions — Set client options

Descrição

public GearmanClient::setOptions ( int $options ) : bool

Sets one or more client options.

Parâmetros

options

The options to be set

Valor Retornado

Always returns true.


Set a callback for collecting task status

  • « GearmanClient::setOptions
  • GearmanClient::setTimeout »
  • PHP Manual
  • GearmanClient
  • Set a callback for collecting task status

GearmanClient::setStatusCallback

(PECL gearman >= 0.5.0)

GearmanClient::setStatusCallback — Set a callback for collecting task status

Descrição

public GearmanClient::setStatusCallback ( callable $callback ) : bool

Sets a callback function used for getting updated status information from a worker. The function should accept a single argument, a GearmanTask object.

Parâmetros

callback

A function to call

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set socket I/O activity timeout

  • « GearmanClient::setStatusCallback
  • GearmanClient::setWarningCallback »
  • PHP Manual
  • GearmanClient
  • Set socket I/O activity timeout

GearmanClient::setTimeout

(PECL gearman >= 0.6.0)

GearmanClient::setTimeout — Set socket I/O activity timeout

Descrição

public GearmanClient::setTimeout ( int $timeout ) : bool

Sets the timeout for socket I/O activity.

Parâmetros

timeout

An interval of time in milliseconds

Valor Retornado

Always returns true.


Set a callback for worker warnings

  • « GearmanClient::setTimeout
  • GearmanClient::setWorkloadCallback »
  • PHP Manual
  • GearmanClient
  • Set a callback for worker warnings

GearmanClient::setWarningCallback

(PECL gearman >= 0.5.0)

GearmanClient::setWarningCallback — Set a callback for worker warnings

Descrição

public GearmanClient::setWarningCallback ( callable $callback ) : bool

Sets a function to be called when a worker sends a warning. The callback should accept a single argument, a GearmanTask object.

Parâmetros

callback

A function to call

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set a callback for accepting incremental data updates

  • « GearmanClient::setWarningCallback
  • GearmanClient::timeout »
  • PHP Manual
  • GearmanClient
  • Set a callback for accepting incremental data updates

GearmanClient::setWorkloadCallback

(PECL gearman >= 0.5.0)

GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates

Descrição

public GearmanClient::setWorkloadCallback ( callable $callback ) : bool

Sets a function to be called when a worker needs to send back data prior to job completion. A worker can do this when it needs to send updates, send partial results, or flush data during long running jobs. The callback should accept a single argument, a GearmanTask object.

Parâmetros

callback

A function to call

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings


Get current socket I/O activity timeout value

  • « GearmanClient::setWorkloadCallback
  • GearmanClient::wait »
  • PHP Manual
  • GearmanClient
  • Get current socket I/O activity timeout value

GearmanClient::timeout

(PECL gearman >= 0.6.0)

GearmanClient::timeout — Get current socket I/O activity timeout value

Descrição

public GearmanClient::timeout ( ) : int

Returns the timeout in milliseconds to wait for I/O activity.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Timeout in milliseconds to wait for I/O activity. A negative value means an infinite timeout.

Veja Também

  • GearmanClient::setTimeout() - Set socket I/O activity timeout


Wait for I/O activity on all connections in a client

  • « GearmanClient::timeout
  • GearmanJob »
  • PHP Manual
  • GearmanClient
  • Wait for I/O activity on all connections in a client

GearmanClient::wait

(PECL gearman >= 0.6.0)

GearmanClient::wait — Wait for I/O activity on all connections in a client

Descrição

public GearmanClient::wait ( ) : bool

This waits for activity from any one of the connected servers.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true on success false on an error.

Veja Também

  • GearmanWorker::wait() - Wait for activity from one of the job servers


The GearmanJob class

(PECL gearman >= 0.5.0)

Introdução

Sinopse da classe

GearmanJob {
/* Métodos */
public complete ( string $result ) : bool
public __construct ( )
public data ( string $data ) : bool
public exception ( string $exception ) : bool
public fail ( ) : bool
public functionName ( ) : string
public handle ( ) : string
public returnCode ( ) : int
public sendComplete ( string $result ) : bool
public sendData ( string $data ) : bool
public sendException ( string $exception ) : bool
public sendFail ( ) : bool
public sendStatus ( int $numerator , int $denominator ) : bool
public sendWarning ( string $warning ) : bool
public setReturn ( int $gearman_return_t ) : bool
public status ( int $numerator , int $denominator ) : bool
public unique ( ) : string
public warning ( string $warning ) : bool
public workload ( ) : string
public workloadSize ( ) : int
}

Índice

  • GearmanJob::complete — Send the result and complete status (deprecated)
  • GearmanJob::__construct — Create a GearmanJob instance
  • GearmanJob::data — Send data for a running job (deprecated)
  • GearmanJob::exception — Send exception for running job (deprecated)
  • GearmanJob::fail — Send fail status (deprecated)
  • GearmanJob::functionName — Get function name
  • GearmanJob::handle — Get the job handle
  • GearmanJob::returnCode — Get last return code
  • GearmanJob::sendComplete — Send the result and complete status
  • GearmanJob::sendData — Send data for a running job
  • GearmanJob::sendException — Send exception for running job (exception)
  • GearmanJob::sendFail — Send fail status
  • GearmanJob::sendStatus — Send status
  • GearmanJob::sendWarning — Send a warning
  • GearmanJob::setReturn — Set a return value
  • GearmanJob::status — Send status (deprecated)
  • GearmanJob::unique — Get the unique identifier
  • GearmanJob::warning — Send a warning (deprecated)
  • GearmanJob::workload — Get workload
  • GearmanJob::workloadSize — Get size of work load


Send the result and complete status (deprecated)

  • « GearmanJob
  • GearmanJob::__construct »
  • PHP Manual
  • GearmanJob
  • Send the result and complete status (deprecated)

GearmanJob::complete

(PECL gearman <= 0.5.0)

GearmanJob::complete — Send the result and complete status (deprecated)

Descrição

public GearmanJob::complete ( string $result ) : bool

Sends result data and the complete status update for this job.

Nota:

This method has been replaced by GearmanJob::sendComplete() in the 0.6.0 release of the Gearman extension.

Parâmetros

result

Serialized result data.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanJob::sendFail() - Send fail status
  • GearmanJob::setReturn() - Set a return value


Create a GearmanJob instance

  • « GearmanJob::complete
  • GearmanJob::data »
  • PHP Manual
  • GearmanJob
  • Create a GearmanJob instance

GearmanJob::__construct

(PECL gearman >= 0.5.0)

GearmanJob::__construct — Create a GearmanJob instance

Descrição

public GearmanJob::__construct ( )

Creates a GearmanJob instance representing a job the worker is to complete.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A GearmanJob object.


Send data for a running job (deprecated)

  • « GearmanJob::__construct
  • GearmanJob::exception »
  • PHP Manual
  • GearmanJob
  • Send data for a running job (deprecated)

GearmanJob::data

(PECL gearman <= 0.5.0)

GearmanJob::data — Send data for a running job (deprecated)

Descrição

public GearmanJob::data ( string $data ) : bool

Sends data to the job server (and any listening clients) for this job.

Nota:

This method has been replaced by GearmanJob::sendData() in the 0.6.0 release of the Gearman extension.

Parâmetros

data

Arbitrary serialized data.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanJob::workload() - Get workload
  • GearmanTask::data() - Get data returned for a task


Send exception for running job (deprecated)

  • « GearmanJob::data
  • GearmanJob::fail »
  • PHP Manual
  • GearmanJob
  • Send exception for running job (deprecated)

GearmanJob::exception

(PECL gearman <= 0.5.0)

GearmanJob::exception — Send exception for running job (deprecated)

Descrição

public GearmanJob::exception ( string $exception ) : bool

Sends the supplied exception when this job is running.

Nota:

This method has been replaced by GearmanJob::sendException() in the 0.6.0 release of the Gearman extension.

Parâmetros

exception

An exception description.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning


Send fail status (deprecated)

  • « GearmanJob::exception
  • GearmanJob::functionName »
  • PHP Manual
  • GearmanJob
  • Send fail status (deprecated)

GearmanJob::fail

(PECL gearman <= 0.5.0)

GearmanJob::fail — Send fail status (deprecated)

Descrição

public GearmanJob::fail ( ) : bool

Sends failure status for this job, indicating that the job failed in a known way (as opposed to failing due to a thrown exception).

Nota:

This method has been replaced by GearmanJob::sendFail() in the 0.6.0 release of the Gearman extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning


Get function name

  • « GearmanJob::fail
  • GearmanJob::handle »
  • PHP Manual
  • GearmanJob
  • Get function name

GearmanJob::functionName

(PECL gearman >= 0.5.0)

GearmanJob::functionName — Get function name

Descrição

public GearmanJob::functionName ( ) : string

Returns the function name for this job. This is the function the work will execute to perform the job.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The name of a function.

Veja Também

  • GearmanTask::function() - Get associated function name (deprecated)


Get the job handle

  • « GearmanJob::functionName
  • GearmanJob::returnCode »
  • PHP Manual
  • GearmanJob
  • Get the job handle

GearmanJob::handle

(PECL gearman >= 0.5.0)

GearmanJob::handle — Get the job handle

Descrição

public GearmanJob::handle ( ) : string

Returns the opaque job handle assigned by the job server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An opaque job handle.

Veja Também

  • GearmanTask::jobHandle() - Get the job handle


Get last return code

  • « GearmanJob::handle
  • GearmanJob::sendComplete »
  • PHP Manual
  • GearmanJob
  • Get last return code

GearmanJob::returnCode

(PECL gearman >= 0.5.0)

GearmanJob::returnCode — Get last return code

Descrição

public GearmanJob::returnCode ( ) : int

Returns the last return code issued by the job server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A valid Gearman return code.

Veja Também

  • GearmanTask::returnCode() - Get the last return code


Send the result and complete status

  • « GearmanJob::returnCode
  • GearmanJob::sendData »
  • PHP Manual
  • GearmanJob
  • Send the result and complete status

GearmanJob::sendComplete

(PECL gearman >= 0.6.0)

GearmanJob::sendComplete — Send the result and complete status

Descrição

public GearmanJob::sendComplete ( string $result ) : bool

Sends result data and the complete status update for this job.

Parâmetros

result

Serialized result data.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanJob::sendFail() - Send fail status
  • GearmanJob::setReturn() - Set a return value


Send data for a running job

  • « GearmanJob::sendComplete
  • GearmanJob::sendException »
  • PHP Manual
  • GearmanJob
  • Send data for a running job

GearmanJob::sendData

(PECL gearman >= 0.6.0)

GearmanJob::sendData — Send data for a running job

Descrição

public GearmanJob::sendData ( string $data ) : bool

Sends data to the job server (and any listening clients) for this job.

Parâmetros

data

Arbitrary serialized data.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanJob::workload() - Get workload
  • GearmanTask::data() - Get data returned for a task


Send exception for running job (exception)

  • « GearmanJob::sendData
  • GearmanJob::sendFail »
  • PHP Manual
  • GearmanJob
  • Send exception for running job (exception)

GearmanJob::sendException

(PECL gearman >= 0.6.0)

GearmanJob::sendException — Send exception for running job (exception)

Descrição

public GearmanJob::sendException ( string $exception ) : bool

Sends the supplied exception when this job is running.

Parâmetros

exception

An exception description.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning


Send fail status

  • « GearmanJob::sendException
  • GearmanJob::sendStatus »
  • PHP Manual
  • GearmanJob
  • Send fail status

GearmanJob::sendFail

(PECL gearman >= 0.6.0)

GearmanJob::sendFail — Send fail status

Descrição

public GearmanJob::sendFail ( ) : bool

Sends failure status for this job, indicating that the job failed in a known way (as opposed to failing due to a thrown exception).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning


Send status

  • « GearmanJob::sendFail
  • GearmanJob::sendWarning »
  • PHP Manual
  • GearmanJob
  • Send status

GearmanJob::sendStatus

(PECL gearman >= 0.6.0)

GearmanJob::sendStatus — Send status

Descrição

public GearmanJob::sendStatus ( int $numerator , int $denominator ) : bool

Sends status information to the job server and any listening clients. Use this to specify what percentage of the job has been completed.

Parâmetros

numerator

The numerator of the precentage completed expressed as a fraction.

denominator

The denominator of the precentage completed expressed as a fraction.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanClient::jobStatus() - Get the status of a background job
  • GearmanTask::taskDenominator() - Get completion percentage denominator
  • GearmanTask::taskNumerator() - Get completion percentage numerator


Send a warning

  • « GearmanJob::sendStatus
  • GearmanJob::setReturn »
  • PHP Manual
  • GearmanJob
  • Send a warning

GearmanJob::sendWarning

(PECL gearman >= 0.6.0)

GearmanJob::sendWarning — Send a warning

Descrição

public GearmanJob::sendWarning ( string $warning ) : bool

Sends a warning for this job while it is running.

Parâmetros

warning

A warning message.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanJob::sendComplete() - Send the result and complete status
  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::sendFail() - Send fail status


Set a return value

  • « GearmanJob::sendWarning
  • GearmanJob::status »
  • PHP Manual
  • GearmanJob
  • Set a return value

GearmanJob::setReturn

(PECL gearman >= 0.5.0)

GearmanJob::setReturn — Set a return value

Descrição

public GearmanJob::setReturn ( int $gearman_return_t ) : bool

Sets the return value for this job, indicates how the job completed.

Parâmetros

gearman_return_t

A valid Gearman return value.

Valor Retornado

Description...


Send status (deprecated)

  • « GearmanJob::setReturn
  • GearmanJob::unique »
  • PHP Manual
  • GearmanJob
  • Send status (deprecated)

GearmanJob::status

(PECL gearman <= 0.5.0)

GearmanJob::status — Send status (deprecated)

Descrição

public GearmanJob::status ( int $numerator , int $denominator ) : bool

Sends status information to the job server and any listening clients. Use this to specify what percentage of the job has been completed.

Nota:

This method has been replaced by GearmanJob::sendStatus() in the 0.6.0 release of the Gearman extenstion.

Parâmetros

numerator

The numerator of the precentage completed expressed as a fraction.

denominator

The denominator of the precentage completed expressed as a fraction.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanClient::jobStatus() - Get the status of a background job
  • GearmanTask::taskDenominator() - Get completion percentage denominator
  • GearmanTask::taskNumerator() - Get completion percentage numerator


Get the unique identifier

  • « GearmanJob::status
  • GearmanJob::warning »
  • PHP Manual
  • GearmanJob
  • Get the unique identifier

GearmanJob::unique

(PECL gearman >= 0.5.0)

GearmanJob::unique — Get the unique identifier

Descrição

public GearmanJob::unique ( ) : string

Returns the unique identifier for this job. The identifier is assigned by the client.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An opaque unique identifier.

Veja Também

  • GearmanClient::do() - Run a single task and return a result [deprecated]
  • GearmanTask::uuid() - Get the unique identifier for a task (deprecated)


Send a warning (deprecated)

  • « GearmanJob::unique
  • GearmanJob::workload »
  • PHP Manual
  • GearmanJob
  • Send a warning (deprecated)

GearmanJob::warning

(PECL gearman <= 0.5.0)

GearmanJob::warning — Send a warning (deprecated)

Descrição

public GearmanJob::warning ( string $warning ) : bool

Sends a warning for this job while it is running.

Nota:

This method has been replaced by GearmanJob::sendWarning() in the 0.6.0 release of the Gearman extension.

Parâmetros

warning

A warning messages.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • GearmanJob::sendComplete() - Send the result and complete status
  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::sendFail() - Send fail status


Get workload

  • « GearmanJob::warning
  • GearmanJob::workloadSize »
  • PHP Manual
  • GearmanJob
  • Get workload

GearmanJob::workload

(PECL gearman >= 0.5.0)

GearmanJob::workload — Get workload

Descrição

public GearmanJob::workload ( ) : string

Returns the workload for the job. This is serialized data that is to be processed by the worker.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Serialized data.

Veja Também

  • GearmanClient::do() - Run a single task and return a result [deprecated]
  • GearmanJob::workloadSize() - Get size of work load


Get size of work load

  • « GearmanJob::workload
  • GearmanTask »
  • PHP Manual
  • GearmanJob
  • Get size of work load

GearmanJob::workloadSize

(PECL gearman >= 0.5.0)

GearmanJob::workloadSize — Get size of work load

Descrição

public GearmanJob::workloadSize ( ) : int

Returns the size of the job's work load (the data the worker is to process) in bytes.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The size in bytes.

Veja Também

  • GearmanJob::workload() - Get workload


The GearmanTask class

(PECL gearman >= 0.5.0)

Introdução

Sinopse da classe

GearmanTask {
/* Métodos */
public __construct ( )
public create ( ) : GearmanTask|false
public data ( ) : string
public dataSize ( ) : int
public function ( ) : string
public functionName ( ) : string
public isKnown ( ) : bool
public isRunning ( ) : bool
public jobHandle ( ) : string
public recvData ( int $data_len ) : array
public returnCode ( ) : int
public sendData ( string $data ) : int
public sendWorkload ( string $data ) : int
public taskDenominator ( ) : int
public taskNumerator ( ) : int
public unique ( ) : string
public uuid ( ) : string
}

Índice

  • GearmanTask::__construct — Create a GearmanTask instance
  • GearmanTask::create — Create a task (deprecated)
  • GearmanTask::data — Get data returned for a task
  • GearmanTask::dataSize — Get the size of returned data
  • GearmanTask::function — Get associated function name (deprecated)
  • GearmanTask::functionName — Get associated function name
  • GearmanTask::isKnown — Determine if task is known
  • GearmanTask::isRunning — Test whether the task is currently running
  • GearmanTask::jobHandle — Get the job handle
  • GearmanTask::recvData — Read work or result data into a buffer for a task
  • GearmanTask::returnCode — Get the last return code
  • GearmanTask::sendData — Send data for a task (deprecated)
  • GearmanTask::sendWorkload — Send data for a task
  • GearmanTask::taskDenominator — Get completion percentage denominator
  • GearmanTask::taskNumerator — Get completion percentage numerator
  • GearmanTask::unique — Get the unique identifier for a task
  • GearmanTask::uuid — Get the unique identifier for a task (deprecated)


Create a GearmanTask instance

  • « GearmanTask
  • GearmanTask::create »
  • PHP Manual
  • GearmanTask
  • Create a GearmanTask instance

GearmanTask::__construct

(PECL gearman >= 0.5.0)

GearmanTask::__construct — Create a GearmanTask instance

Descrição

public GearmanTask::__construct ( )

Creates a GearmanTask instance representing a task to be submitted to a job server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A GearmanTask object.


Create a task (deprecated)

  • « GearmanTask::__construct
  • GearmanTask::data »
  • PHP Manual
  • GearmanTask
  • Create a task (deprecated)

GearmanTask::create

(PECL gearman <= 0.5.0)

GearmanTask::create — Create a task (deprecated)

Descrição

public GearmanTask::create ( ) : GearmanTask|false

Returns a new GearmanTask object.

Nota:

This method was removed in the 0.6.0 version of the Gearman extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A GearmanTask oject ou false em caso de falha.


Get data returned for a task

  • « GearmanTask::create
  • GearmanTask::dataSize »
  • PHP Manual
  • GearmanTask
  • Get data returned for a task

GearmanTask::data

(PECL gearman >= 0.5.0)

GearmanTask::data — Get data returned for a task

Descrição

public GearmanTask::data ( ) : string

Returns data being returned for a task by a worker.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The serialized data, or false if no data is present.

Veja Também

  • GearmanTask::dataSize() - Get the size of returned data


Get the size of returned data

  • « GearmanTask::data
  • GearmanTask::function »
  • PHP Manual
  • GearmanTask
  • Get the size of returned data

GearmanTask::dataSize

(PECL gearman >= 0.5.0)

GearmanTask::dataSize — Get the size of returned data

Descrição

public GearmanTask::dataSize ( ) : int

Returns the size of the data being returned for a task.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The data size, or false if there is no data.

Veja Também

  • GearmanTask::data() - Get data returned for a task


Get associated function name (deprecated)

  • « GearmanTask::dataSize
  • GearmanTask::functionName »
  • PHP Manual
  • GearmanTask
  • Get associated function name (deprecated)

GearmanTask::function

(PECL gearman <= 0.5.0)

GearmanTask::function — Get associated function name (deprecated)

Descrição

public GearmanTask::function ( ) : string

Returns the name of the function this task is associated with, i.e., the function the Gearman worker calls.

Nota:

This method has been replaced by GearmanTask::functionName() in the 0.6.0 release of the Gearman extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A function name.


Get associated function name

  • « GearmanTask::function
  • GearmanTask::isKnown »
  • PHP Manual
  • GearmanTask
  • Get associated function name

GearmanTask::functionName

(PECL gearman >= 0.6.0)

GearmanTask::functionName — Get associated function name

Descrição

public GearmanTask::functionName ( ) : string

Returns the name of the function this task is associated with, i.e., the function the Gearman worker calls.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A function name.


Determine if task is known

  • « GearmanTask::functionName
  • GearmanTask::isRunning »
  • PHP Manual
  • GearmanTask
  • Determine if task is known

GearmanTask::isKnown

(PECL gearman >= 0.5.0)

GearmanTask::isKnown — Determine if task is known

Descrição

public GearmanTask::isKnown ( ) : bool

Gets the status information for whether or not this task is known to the job server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the task is known, false otherwise.


Test whether the task is currently running

  • « GearmanTask::isKnown
  • GearmanTask::jobHandle »
  • PHP Manual
  • GearmanTask
  • Test whether the task is currently running

GearmanTask::isRunning

(PECL gearman >= 0.5.0)

GearmanTask::isRunning — Test whether the task is currently running

Descrição

public GearmanTask::isRunning ( ) : bool

Indicates whether or not this task is currently running.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the task is running, false otherwise.


Get the job handle

  • « GearmanTask::isRunning
  • GearmanTask::recvData »
  • PHP Manual
  • GearmanTask
  • Get the job handle

GearmanTask::jobHandle

gearman_job_handle

(PECL gearman >= 0.5.0)

GearmanTask::jobHandle -- gearman_job_handle — Get the job handle

Descrição

public GearmanTask::jobHandle ( ) : string

Returns the job handle for this task.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The opaque job handle.

Veja Também

  • GearmanClient::doJobHandle() - Get the job handle for the running task


Read work or result data into a buffer for a task

  • « GearmanTask::jobHandle
  • GearmanTask::returnCode »
  • PHP Manual
  • GearmanTask
  • Read work or result data into a buffer for a task

GearmanTask::recvData

(PECL gearman >= 0.5.0)

GearmanTask::recvData — Read work or result data into a buffer for a task

Descrição

public GearmanTask::recvData ( int $data_len ) : array

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

data_len

Length of data to be read.

Valor Retornado

An array whose first element is the length of data read and the second is the data buffer. Returns false if the read failed.

Veja Também

  • GearmanTask::sendData() - Send data for a task (deprecated)


Get the last return code

  • « GearmanTask::recvData
  • GearmanTask::sendData »
  • PHP Manual
  • GearmanTask
  • Get the last return code

GearmanTask::returnCode

(PECL gearman >= 0.5.0)

GearmanTask::returnCode — Get the last return code

Descrição

public GearmanTask::returnCode ( ) : int

Returns the last Gearman return code for this task.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A valid Gearman return code.

Veja Também

  • GearmanClient::returnCode() - Get the last Gearman return code


Send data for a task (deprecated)

  • « GearmanTask::returnCode
  • GearmanTask::sendWorkload »
  • PHP Manual
  • GearmanTask
  • Send data for a task (deprecated)

GearmanTask::sendData

(PECL gearman <= 0.5.0)

GearmanTask::sendData — Send data for a task (deprecated)

Descrição

public GearmanTask::sendData ( string $data ) : int

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

data

Data to send to the worker.

Valor Retornado

The length of data sent, or false if the send failed.

Veja Também

  • GearmanTask::recvData() - Read work or result data into a buffer for a task


Send data for a task

  • « GearmanTask::sendData
  • GearmanTask::taskDenominator »
  • PHP Manual
  • GearmanTask
  • Send data for a task

GearmanTask::sendWorkload

(PECL gearman >= 0.6.0)

GearmanTask::sendWorkload — Send data for a task

Descrição

public GearmanTask::sendWorkload ( string $data ) : int

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

data

Data to send to the worker.

Valor Retornado

The length of data sent, or false if the send failed.

Veja Também

  • GearmanTask::recvData() - Read work or result data into a buffer for a task


Get completion percentage denominator

  • « GearmanTask::sendWorkload
  • GearmanTask::taskNumerator »
  • PHP Manual
  • GearmanTask
  • Get completion percentage denominator

GearmanTask::taskDenominator

(PECL gearman >= 0.5.0)

GearmanTask::taskDenominator — Get completion percentage denominator

Descrição

public GearmanTask::taskDenominator ( ) : int

Returns the denominator of the percentage of the task that is complete expressed as a fraction.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A number between 0 and 100, or false if cannot be determined.

Veja Também

  • GearmanTask::taskNumerator() - Get completion percentage numerator


Get completion percentage numerator

  • « GearmanTask::taskDenominator
  • GearmanTask::unique »
  • PHP Manual
  • GearmanTask
  • Get completion percentage numerator

GearmanTask::taskNumerator

(PECL gearman >= 0.5.0)

GearmanTask::taskNumerator — Get completion percentage numerator

Descrição

public GearmanTask::taskNumerator ( ) : int

Returns the numerator of the percentage of the task that is complete expressed as a fraction.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A number between 0 and 100, or false if cannot be determined.

Veja Também

  • GearmanTask::taskDenominator() - Get completion percentage denominator


Get the unique identifier for a task

  • « GearmanTask::taskNumerator
  • GearmanTask::uuid »
  • PHP Manual
  • GearmanTask
  • Get the unique identifier for a task

GearmanTask::unique

(PECL gearman >= 0.6.0)

GearmanTask::unique — Get the unique identifier for a task

Descrição

public GearmanTask::unique ( ) : string

Returns the unique identifier for this task. This is assigned by the GearmanClient, as opposed to the job handle which is set by the Gearman job server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The unique identifier, or false if no identifier is assigned.

Veja Também

  • GearmanClient::do() - Run a single task and return a result [deprecated]
  • GearmanClient::addTask() - Add a task to be run in parallel


Get the unique identifier for a task (deprecated)

  • « GearmanTask::unique
  • GearmanWorker »
  • PHP Manual
  • GearmanTask
  • Get the unique identifier for a task (deprecated)

GearmanTask::uuid

(PECL gearman <= 0.5.0)

GearmanTask::uuid — Get the unique identifier for a task (deprecated)

Descrição

public GearmanTask::uuid ( ) : string

Returns the unique identifier for this task. This is assigned by the GearmanClient, as opposed to the job handle which is set by the Gearman job server.

Nota:

This method has been replaced by GearmanTask::unique() in the 0.6.0 release of the Gearman extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The unique identifier, or false if no identifier is assigned.

Veja Também

  • GearmanClient::do() - Run a single task and return a result [deprecated]
  • GearmanClient::addTask() - Add a task to be run in parallel


The GearmanWorker class

(PECL gearman >= 0.5.0)

Introdução

Sinopse da classe

GearmanWorker {
/* Métodos */
public addFunction ( string $function_name , callable $function , mixed &$context = ? , int $timeout = ? ) : bool
public addOptions ( int $option ) : bool
public addServer ( string $host = 127.0.0.1 , int $port = 4730 ) : bool
public addServers ( string $servers = 127.0.0.1:4730 ) : bool
public clone ( ) : void
public __construct ( )
public echo ( string $workload ) : bool
public error ( ) : string
public getErrno ( ) : int
public options ( ) : int
public register ( string $function_name , int $timeout = ? ) : bool
public removeOptions ( int $option ) : bool
public returnCode ( ) : int
public setId ( string $id ) : bool
public setOptions ( int $option ) : bool
public setTimeout ( int $timeout ) : bool
public timeout ( ) : int
public unregister ( string $function_name ) : bool
public unregisterAll ( ) : bool
public wait ( ) : bool
public work ( ) : bool
}

Índice

  • GearmanWorker::addFunction — Register and add callback function
  • GearmanWorker::addOptions — Add worker options
  • GearmanWorker::addServer — Add a job server
  • GearmanWorker::addServers — Add job servers
  • GearmanWorker::clone — Create a copy of the worker
  • GearmanWorker::__construct — Create a GearmanWorker instance
  • GearmanWorker::echo — Test job server response
  • GearmanWorker::error — Get the last error encountered
  • GearmanWorker::getErrno — Get errno
  • GearmanWorker::options — Get worker options
  • GearmanWorker::register — Register a function with the job server
  • GearmanWorker::removeOptions — Remove worker options
  • GearmanWorker::returnCode — Get last Gearman return code
  • GearmanWorker::setId — Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers
  • GearmanWorker::setOptions — Set worker options
  • GearmanWorker::setTimeout — Set socket I/O activity timeout
  • GearmanWorker::timeout — Get socket I/O activity timeout
  • GearmanWorker::unregister — Unregister a function name with the job servers
  • GearmanWorker::unregisterAll — Unregister all function names with the job servers
  • GearmanWorker::wait — Wait for activity from one of the job servers
  • GearmanWorker::work — Wait for and perform jobs


Register and add callback function

  • « GearmanWorker
  • GearmanWorker::addOptions »
  • PHP Manual
  • GearmanWorker
  • Register and add callback function

GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

GearmanWorker::addFunction — Register and add callback function

Descrição

public GearmanWorker::addFunction ( string $function_name , callable $function , mixed &$context = ? , int $timeout = ? ) : bool

Registers a function name with the job server and specifies a callback corresponding to that function. Optionally specify extra application context data to be used when the callback is called and a timeout.

Parâmetros

function_name

The name of a function to register with the job server

function

A callback that gets called when a job for the registered function name is submitted

context

A reference to arbitrary application context data that can be modified by the worker function

timeout

An interval of time in seconds

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Simple worker making use of extra application context data

<?php

# get a gearman worker
$worker= new GearmanWorker();

# add the default server (localhost)
$worker->addServer();

# define a variable to hold application data
$count= 0;

# add the "reverse" function
$worker->addFunction("reverse", "reverse_cb", $count);

# start the worker
while ($worker->work());

function reverse_cb($job, &$count)
{
  $count++;
  return "$count: " . strrev($job->workload());
}

?>

Running a client that submits two jobs for the reverse function would have output similar to the following:

1: olleh
2: dlrow

Veja Também

  • GearmanClient::do() - Run a single task and return a result [deprecated]


Add worker options

  • « GearmanWorker::addFunction
  • GearmanWorker::addServer »
  • PHP Manual
  • GearmanWorker
  • Add worker options

GearmanWorker::addOptions

(PECL gearman >= 0.6.0)

GearmanWorker::addOptions — Add worker options

Descrição

public GearmanWorker::addOptions ( int $option ) : bool

Adds one or more options to the options previously set.

Parâmetros

option

The options to be added

Valor Retornado

Always returns true.

Veja Também

  • GearmanWorker::options() - Get worker options
  • GearmanClient::setOptions() - Set client options
  • GearmanClient::removeOptions() - Remove client options


Add a job server

  • « GearmanWorker::addOptions
  • GearmanWorker::addServers »
  • PHP Manual
  • GearmanWorker
  • Add a job server

GearmanWorker::addServer

(PECL gearman >= 0.5.0)

GearmanWorker::addServer — Add a job server

Descrição

public GearmanWorker::addServer ( string $host = 127.0.0.1 , int $port = 4730 ) : bool

Adds a job server to this worker. This goes into a list of servers than can be used to run jobs. No socket I/O happens here.

Parâmetros

host

O nome do servidor.

port

A porta do servidor.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Add alternate Gearman servers

<?php
$worker= new GearmanWorker();
$worker->addServer("10.0.0.1");
$worker->addServer("10.0.0.2", 7003);
?>

Veja Também

  • GearmanWorker::addServers() - Add job servers


Add job servers

  • « GearmanWorker::addServer
  • GearmanWorker::clone »
  • PHP Manual
  • GearmanWorker
  • Add job servers

GearmanWorker::addServers

(PECL gearman >= 0.5.0)

GearmanWorker::addServers — Add job servers

Descrição

public GearmanWorker::addServers ( string $servers = 127.0.0.1:4730 ) : bool

Adds one or more job servers to this worker. These go into a list of servers that can be used to run jobs. No socket I/O happens here.

Parâmetros

servers

A comma separated list of job servers in the format host:port. If no port is specified, it defaults to 4730.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Add two job servers

<?php

$worker= new GearmanWorker();
$worker->addServers("10.0.0.1,10.0.0.2:7003");

?>

Veja Também

  • GearmanWorker::addServer() - Add a job server


Create a copy of the worker

  • « GearmanWorker::addServers
  • GearmanWorker::__construct »
  • PHP Manual
  • GearmanWorker
  • Create a copy of the worker

GearmanWorker::clone

(PECL gearman >= 0.5.0)

GearmanWorker::clone — Create a copy of the worker

Descrição

public GearmanWorker::clone ( ) : void

Creates a copy of the worker.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A GearmanWorker object


Create a GearmanWorker instance

  • « GearmanWorker::clone
  • GearmanWorker::echo »
  • PHP Manual
  • GearmanWorker
  • Create a GearmanWorker instance

GearmanWorker::__construct

(PECL gearman >= 0.5.0)

GearmanWorker::__construct — Create a GearmanWorker instance

Descrição

public GearmanWorker::__construct ( )

Creates a GearmanWorker instance representing a worker that connects to the job server and accepts tasks to run.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A GearmanWorker object

Veja Também

  • GearmanWorker::clone() - Create a copy of the worker


Test job server response

  • « GearmanWorker::__construct
  • GearmanWorker::error »
  • PHP Manual
  • GearmanWorker
  • Test job server response

GearmanWorker::echo

(PECL gearman >= 0.6.0)

GearmanWorker::echo — Test job server response

Descrição

public GearmanWorker::echo ( string $workload ) : bool

Sends data to all job servers to see if they echo it back. This is a test function to see if job servers are responding properly.

Parâmetros

workload

Arbitrary serialized data

Valor Retornado

Standard Gearman return value.

Veja Também

  • GearmanClient::echo() - Send data to all job servers to see if they echo it back [deprecated]


Get the last error encountered

  • « GearmanWorker::echo
  • GearmanWorker::getErrno »
  • PHP Manual
  • GearmanWorker
  • Get the last error encountered

GearmanWorker::error

(PECL gearman >= 0.5.0)

GearmanWorker::error — Get the last error encountered

Descrição

public GearmanWorker::error ( ) : string

Returns an error string for the last error encountered.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An error string.

Veja Também

  • GearmanWorker::getErrno() - Get errno


Get errno

  • « GearmanWorker::error
  • GearmanWorker::options »
  • PHP Manual
  • GearmanWorker
  • Get errno

GearmanWorker::getErrno

(PECL gearman >= 0.5.0)

GearmanWorker::getErrno — Get errno

Descrição

public GearmanWorker::getErrno ( ) : int

Returns the value of errno in the case of a GEARMAN_ERRNO return value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A valid errno.

Veja Também

  • GearmanWorker::error() - Get the last error encountered


Get worker options

  • « GearmanWorker::getErrno
  • GearmanWorker::register »
  • PHP Manual
  • GearmanWorker
  • Get worker options

GearmanWorker::options

(PECL gearman >= 0.6.0)

GearmanWorker::options — Get worker options

Descrição

public GearmanWorker::options ( ) : int

Gets the options previously set for the worker.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The options currently set for the worker.

Veja Também

  • GearmanWorker::setOptions() - Set worker options


Register a function with the job server

  • « GearmanWorker::options
  • GearmanWorker::removeOptions »
  • PHP Manual
  • GearmanWorker
  • Register a function with the job server

GearmanWorker::register

(PECL gearman >= 0.6.0)

GearmanWorker::register — Register a function with the job server

Descrição

public GearmanWorker::register ( string $function_name , int $timeout = ? ) : bool

Registers a function name with the job server with an optional timeout. The timeout specifies how many seconds the server will wait before marking a job as failed. If the timeout is set to zero, there is no timeout.

Parâmetros

function_name

The name of a function to register with the job server

timeout

An interval of time in seconds

Valor Retornado

A standard Gearman return value.

Veja Também

  • GearmanWorker::unregister() - Unregister a function name with the job servers
  • GearmanWorker::unregisterAll() - Unregister all function names with the job servers


Remove worker options

  • « GearmanWorker::register
  • GearmanWorker::returnCode »
  • PHP Manual
  • GearmanWorker
  • Remove worker options

GearmanWorker::removeOptions

(PECL gearman >= 0.6.0)

GearmanWorker::removeOptions — Remove worker options

Descrição

public GearmanWorker::removeOptions ( int $option ) : bool

Removes (unsets) one or more worker options.

Parâmetros

option

The options to be removed (unset)

Valor Retornado

Always returns true.

Veja Também

  • GearmanWorker::options() - Get worker options
  • GearmanWorker::setOptions() - Set worker options
  • GearmanWorker::addOptions() - Add worker options


Get last Gearman return code

  • « GearmanWorker::removeOptions
  • GearmanWorker::setId »
  • PHP Manual
  • GearmanWorker
  • Get last Gearman return code

GearmanWorker::returnCode

(PECL gearman >= 0.5.0)

GearmanWorker::returnCode — Get last Gearman return code

Descrição

public GearmanWorker::returnCode ( ) : int

Returns the last Gearman return code.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A valid Gearman return code.

Veja Também

  • GearmanWorker::error() - Get the last error encountered
  • GearmanWorker::getErrno() - Get errno


Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers

  • « GearmanWorker::returnCode
  • GearmanWorker::setOptions »
  • PHP Manual
  • GearmanWorker
  • Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers

GearmanWorker::setId

(Não há informação de versão disponível, talvez apenas no Git)

GearmanWorker::setId — Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers

Descrição

public GearmanWorker::setId ( string $id ) : bool

Assigns the worker an identifier.

Parâmetros

id

A string identifier.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 GearmanWorker::setId() example

Set an identifier for a simple worker.

<?php
$worker= new GearmanWorker();
$worker->setId('test');
?>

O exemplo acima irá imprimir algo similar à:

Run the following command:
gearadmin --workers

Output:
30 ::3a3a:3361:3361:3a33%976303667 - : test


Set worker options

  • « GearmanWorker::setId
  • GearmanWorker::setTimeout »
  • PHP Manual
  • GearmanWorker
  • Set worker options

GearmanWorker::setOptions

(PECL gearman >= 0.5.0)

GearmanWorker::setOptions — Set worker options

Descrição

public GearmanWorker::setOptions ( int $option ) : bool

Sets one or more options to the supplied value.

Parâmetros

option

The options to be set

Valor Retornado

Always returns true.

Veja Também

  • GearmanWorker::options() - Get worker options
  • GearmanWorker::addOptions() - Add worker options
  • GearmanWorker::removeOptions() - Remove worker options
  • GearmanClient::setOptions() - Set client options


Set socket I/O activity timeout

  • « GearmanWorker::setOptions
  • GearmanWorker::timeout »
  • PHP Manual
  • GearmanWorker
  • Set socket I/O activity timeout

GearmanWorker::setTimeout

(PECL gearman >= 0.6.0)

GearmanWorker::setTimeout — Set socket I/O activity timeout

Descrição

public GearmanWorker::setTimeout ( int $timeout ) : bool

Sets the interval of time to wait for socket I/O activity.

Parâmetros

timeout

An interval of time in milliseconds. A negative value indicates an infinite timeout.

Valor Retornado

Always returns true.

Exemplos

Exemplo #1 A simple worker with a 5 second timeout

<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

# Set the timeout to 5 seconds
$gmworker->setTimeout(5000);

echo "Waiting for job...\n";
while(@$gmworker->work() || $gmworker->returnCode() == GEARMAN_TIMEOUT)
{
  if ($gmworker->returnCode() == GEARMAN_TIMEOUT)
  {
    # Normally one would want to do something useful here ...
    echo "Timeout. Waiting for next job...\n";
    continue;
  }

  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

echo "Done\n";

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

Running the worker with no submitted jobs will generate output that looks like the following:

Starting
Waiting for job...
Timeout. Waiting for next job...
Timeout. Waiting for next job...
Timeout. Waiting for next job...

Veja Também

  • GearmanWorker::timeout() - Get socket I/O activity timeout


Get socket I/O activity timeout

  • « GearmanWorker::setTimeout
  • GearmanWorker::unregister »
  • PHP Manual
  • GearmanWorker
  • Get socket I/O activity timeout

GearmanWorker::timeout

(PECL gearman >= 0.6.0)

GearmanWorker::timeout — Get socket I/O activity timeout

Descrição

public GearmanWorker::timeout ( ) : int

Returns the current time to wait, in milliseconds, for socket I/O activity.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A time period is milliseconds. A negative value indicates an infinite timeout.

Veja Também

  • GearmanWorker::setTimeout() - Set socket I/O activity timeout


Unregister a function name with the job servers

  • « GearmanWorker::timeout
  • GearmanWorker::unregisterAll »
  • PHP Manual
  • GearmanWorker
  • Unregister a function name with the job servers

GearmanWorker::unregister

(PECL gearman >= 0.6.0)

GearmanWorker::unregister — Unregister a function name with the job servers

Descrição

public GearmanWorker::unregister ( string $function_name ) : bool

Unregisters a function name with the job servers ensuring that no more jobs (for that function) are sent to this worker.

Parâmetros

function_name

The name of a function to register with the job server

Valor Retornado

A standard Gearman return value.

Veja Também

  • GearmanWorker::register() - Register a function with the job server
  • GearmanWorker::unregisterAll() - Unregister all function names with the job servers


Unregister all function names with the job servers

  • « GearmanWorker::unregister
  • GearmanWorker::wait »
  • PHP Manual
  • GearmanWorker
  • Unregister all function names with the job servers

GearmanWorker::unregisterAll

(PECL gearman >= 0.6.0)

GearmanWorker::unregisterAll — Unregister all function names with the job servers

Descrição

public GearmanWorker::unregisterAll ( ) : bool

Unregisters all previously registered functions, ensuring that no more jobs are sent to this worker.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A standard Gearman return value.

Veja Também

  • GearmanWorker::register() - Register a function with the job server
  • GearmanWorker::unregister() - Unregister a function name with the job servers


Wait for activity from one of the job servers

  • « GearmanWorker::unregisterAll
  • GearmanWorker::work »
  • PHP Manual
  • GearmanWorker
  • Wait for activity from one of the job servers

GearmanWorker::wait

(PECL gearman >= 0.6.0)

GearmanWorker::wait — Wait for activity from one of the job servers

Descrição

public GearmanWorker::wait ( ) : bool

Causes the worker to wait for activity from one of the Gearman job servers when operating in non-blocking I/O mode. On failure, issues a E_WARNING with the last Gearman error encountered.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Running worker in non-blocking mode

<?php

echo "Starting\n";

# Create our worker object
$worker= new GearmanWorker();

# Make the worker non-blocking
$worker->addOptions(GEARMAN_WORKER_NON_BLOCKING);

# Add the default server (localhost, port 4730)
$worker->addServer();

# Add our reverse function
$worker->addFunction('reverse', 'reverse_fn');

# Try to grab a job
while (@$worker->work() ||
       $worker->returnCode() == GEARMAN_IO_WAIT ||
       $worker->returnCode() == GEARMAN_NO_JOBS)
{
  if ($worker->returnCode() == GEARMAN_SUCCESS)
    continue;

  echo "Waiting for next job...\n";
  if (!@$worker->wait())
  {
    if ($worker->returnCode() == GEARMAN_NO_ACTIVE_FDS)
    {
      # We are not connected to any servers, so wait a bit before
      # trying to reconnect.
      sleep(5);
      continue;
    }
    break;
  }
}

echo "Worker Error: " . $worker->error() . "\n";

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

Veja Também

  • GearmanWorker::work() - Wait for and perform jobs


Wait for and perform jobs

  • « GearmanWorker::wait
  • GearmanException »
  • PHP Manual
  • GearmanWorker
  • Wait for and perform jobs

GearmanWorker::work

(PECL gearman >= 0.5.0)

GearmanWorker::work — Wait for and perform jobs

Descrição

public GearmanWorker::work ( ) : bool

Waits for a job to be assigned and then calls the appropriate callback function. Issues an E_WARNING with the last Gearman error if the return code is not one of GEARMAN_SUCCESS, GEARMAN_IO_WAIT, or GEARMAN_WORK_FAIL.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 GearmanWorker::work() example

<?php

# create the worker
$worker = new GearmanWorker();

# add the default job server (localhost)
$worker->addServer();

# add the reverse function
$worker->addFunction("reverse", "my_reverse_function");

# start te worker listening for job submissions
while ($worker->work());

function my_reverse_function($job)
{
  return strrev($job->workload());
}

?>

Veja Também

  • GearmanWorker::addFunction() - Register and add callback function


The GearmanException class

(PECL gearman >= 0.5.0)

Introdução

Sinopse da classe

GearmanException extends Exception {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


Lightweight Directory Access Protocol

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Using the PHP LDAP calls
  • LDAP controls
  • Exemplos
    • Basic usage
    • LDAP Controls
  • LDAP Funções
    • ldap_8859_to_t61 — Translate 8859 characters to t61 characters
    • ldap_add_ext — Add entries to LDAP directory
    • ldap_add — Add entries to LDAP directory
    • ldap_bind_ext — Bind to LDAP directory
    • ldap_bind — Bind to LDAP directory
    • ldap_close — Sinônimo de ldap_unbind
    • ldap_compare — Compare value of attribute found in entry specified with DN
    • ldap_connect — Connect to an LDAP server
    • ldap_control_paged_result_response — Retrieve the LDAP pagination cookie
    • ldap_control_paged_result — Send LDAP pagination control
    • ldap_count_entries — Count the number of entries in a search
    • ldap_delete_ext — Delete an entry from a directory
    • ldap_delete — Delete an entry from a directory
    • ldap_dn2ufn — Convert DN to User Friendly Naming format
    • ldap_err2str — Convert LDAP error number into string error message
    • ldap_errno — Return the LDAP error number of the last LDAP command
    • ldap_error — Return the LDAP error message of the last LDAP command
    • ldap_escape — Escape a string for use in an LDAP filter or DN
    • ldap_exop_passwd — PASSWD extended operation helper
    • ldap_exop_refresh — Refresh extended operation helper
    • ldap_exop_whoami — WHOAMI extended operation helper
    • ldap_exop — Performs an extended operation
    • ldap_explode_dn — Splits DN into its component parts
    • ldap_first_attribute — Return first attribute
    • ldap_first_entry — Return first result id
    • ldap_first_reference — Return first reference
    • ldap_free_result — Free result memory
    • ldap_get_attributes — Get attributes from a search result entry
    • ldap_get_dn — Get the DN of a result entry
    • ldap_get_entries — Get all result entries
    • ldap_get_option — Get the current value for given option
    • ldap_get_values_len — Get all binary values from a result entry
    • ldap_get_values — Get all values from a result entry
    • ldap_list — Single-level search
    • ldap_mod_add_ext — Add attribute values to current attributes
    • ldap_mod_add — Add attribute values to current attributes
    • ldap_mod_del_ext — Delete attribute values from current attributes
    • ldap_mod_del — Delete attribute values from current attributes
    • ldap_mod_replace_ext — Replace attribute values with new ones
    • ldap_mod_replace — Replace attribute values with new ones
    • ldap_modify_batch — Batch and execute modifications on an LDAP entry
    • ldap_modify — Sinônimo de ldap_mod_replace
    • ldap_next_attribute — Get the next attribute in result
    • ldap_next_entry — Get next result entry
    • ldap_next_reference — Get next reference
    • ldap_parse_exop — Parse result object from an LDAP extended operation
    • ldap_parse_reference — Extract information from reference entry
    • ldap_parse_result — Extract information from result
    • ldap_read — Read an entry
    • ldap_rename_ext — Modify the name of an entry
    • ldap_rename — Modify the name of an entry
    • ldap_sasl_bind — Bind to LDAP directory using SASL
    • ldap_search — Search LDAP tree
    • ldap_set_option — Set the value of the given option
    • ldap_set_rebind_proc — Set a callback function to do re-binds on referral chasing
    • ldap_sort — Sort LDAP result entries on the client side
    • ldap_start_tls — Start TLS
    • ldap_t61_to_8859 — Translate t61 characters to 8859 characters
    • ldap_unbind — Unbind from LDAP directory


Introdução

LDAP is the Lightweight Directory Access Protocol, and is a protocol used to access "Directory Servers". The Directory is a special kind of database that holds information in a tree structure.

The concept is similar to your hard disk directory structure, except that in this context, the root directory is "The world" and the first level subdirectories are "countries". Lower levels of the directory structure contain entries for companies, organisations or places, while yet lower still we find directory entries for people, and perhaps equipment or documents.

To refer to a file in a subdirectory on your hard disk, you might use something like:

   /usr/local/myapp/docs

The forwards slash marks each division in the reference, and the sequence is read from left to right.

The equivalent to the fully qualified file reference in LDAP is the "distinguished name", referred to simply as "dn". An example dn might be:

   cn=John Smith,ou=Accounts,o=My Company,c=US

The comma marks each division in the reference, and the sequence is read from right to left. You would read this dn as:

   country = US
   organization = My Company
   organizationalUnit = Accounts
   commonName = John Smith

In the same way as there are no hard rules about how you organise the directory structure of a hard disk, a directory server manager can set up any structure that is meaningful for the purpose. However, there are some conventions that are used. The message is that you can not write code to access a directory server unless you know something about its structure, any more than you can use a database without some knowledge of what is available.

Lots of information about LDAP can be found at

  • » Mozilla

  • » OpenLDAP Project

  • Internet Engineering Taskforce RFCs » 4510 through » 4519.

The Netscape SDK contains a helpful » Programmer's Guide in HTML format.


Dependências

You will need to get and compile LDAP client libraries from either » OpenLDAP or » Bind9.net in order to compile PHP with LDAP support. For PHP 5.6 or newer you will need OpenLDAP 2.4 or newer.


Instalação

LDAP support in PHP is not enabled by default. You will need to use the --with-ldap[=DIR] configuration option when compiling PHP to enable LDAP support. DIR is the LDAP base install directory. To enable SASL support, be sure --with-ldap-sasl[=DIR] is used, and that sasl.h exists on the system.

Nota: Note to Win32 Users

Para esta extensão funcionar, existem arquivos DLL que devem estar disponíveis no PATH do sistema Windows. Para saber como fazer isso, veja o FAQ intitulado "Como eu adiciono o meu diretório PHP no PATH no Windows". Embora copiando arquivos DLL da pasta do PHP no diretório system do Windows também funcione (porque o diretório system está por padrão no PATH do sistema), isto não é recomendado. Esta extensão requer que os seguintes arquivos estejam no PATH: libeay32.dll and ssleay32.dll, or, as of OpenSSL 1.1 libcrypto-*.dll and libssl-*.dll

In order to use Oracle LDAP libraries, proper Oracle environment has to be set.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

LDAP configuration options
Nome | Padrão | Modificável | Changelog
ldap.max_links | "-1" | PHP_INI_SYSTEM |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

ldap.max_links int

The maximum number of LDAP connections per process.


Tipos de Recurso

Most LDAP functions operate on or return resources (e.g. ldap_connect() returns a positive LDAP link identifier required by most LDAP functions).


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

LDAP_DEREF_NEVER (int)
Alias dereferencing rule - Never.
LDAP_DEREF_SEARCHING (int)
Alias dereferencing rule - Searching.
LDAP_DEREF_FINDING (int)
Alias dereferencing rule - Finding.
LDAP_DEREF_ALWAYS (int)
Alias dereferencing rule - Always.
LDAP_OPT_DEREF (int)
Specifies alternative rules for following aliases at the server.
LDAP_OPT_SIZELIMIT (int)

Specifies the maximum number of entries that can be returned on a search operation.

Nota: The actual size limit for operations is also bounded by the server's configured maximum number of return entries. The lesser of these two settings is the actual size limit.

LDAP_OPT_TIMELIMIT (int)
Specifies the number of seconds to wait for search results.

Nota: The actual time limit for operations is also bounded by the server's configured maximum time. The lesser of these two settings is the actual time limit.

LDAP_OPT_NETWORK_TIMEOUT (int)
Option for ldap_set_option() to allow setting network timeout. (Available as of PHP 5.3.0)
LDAP_OPT_PROTOCOL_VERSION (int)
Specifies the LDAP protocol to be used (V2 or V3).
LDAP_OPT_ERROR_NUMBER (int)
Latest session error number.
LDAP_OPT_REFERRALS (int)
Specifies whether to automatically follow referrals returned by the LDAP server.
LDAP_OPT_RESTART (int)
Determines whether or not the connection should be implicitly restarted.
LDAP_OPT_HOST_NAME (int)
Sets/gets a space-separated of hosts when trying to connect.
LDAP_OPT_ERROR_STRING (int)
Alias of LDAP_OPT_DIAGNOSTIC_MESSAGE.
LDAP_OPT_DIAGNOSTIC_MESSAGE (int)
Gets the latest session error message.
LDAP_OPT_MATCHED_DN (int)
Sets/gets the matched DN associated with the connection.
LDAP_OPT_SERVER_CONTROLS (int)
Specifies a default list of server controls to be sent with each request.
LDAP_OPT_CLIENT_CONTROLS (int)
Specifies a default list of client controls to be processed with each request.
LDAP_OPT_DEBUG_LEVEL (int)
Specifies a bitwise level for debug traces.
LDAP_OPT_X_KEEPALIVE_IDLE (int)
Specifies the number of seconds a connection needs to remain idle before TCP starts sending keepalive probes.
LDAP_OPT_X_KEEPALIVE_PROBES (int)
Specifies the maximum number of keepalive probes TCP should send before dropping the connection.
LDAP_OPT_X_KEEPALIVE_INTERVAL (int)
Specifies the interval in seconds between individual keepalive probes.
LDAP_OPT_X_TLS_CACERTDIR (string)
Specifies the path of the directory containing CA certificates.
LDAP_OPT_X_TLS_CACERTFILE (string)
Specifies the full-path of the CA certificate file.
LDAP_OPT_X_TLS_CERTFILE (string)
Specifies the full-path of the certificate file.
LDAP_OPT_X_TLS_CIPHER_SUITE (string)
Specifies the allowed cipher suite.
LDAP_OPT_X_TLS_CRLCHECK (int)
Specifies the CRL evaluation strategy. This must be one of: LDAP_OPT_X_TLS_CRL_NONE,LDAP_OPT_X_TLS_CRL_PEER, LDAP_OPT_X_TLS_CRL_ALL.

Nota: This option is only valid for OpenSSL.

LDAP_OPT_X_TLS_CRLFILE (string)
Specifies the full-path of the CRL file.

Nota: This option is only valid for GnuTLS.

LDAP_OPT_X_TLS_DHFILE (string)
Specifies the full-path of the file containing the parameters for Diffie-Hellman ephemeral key exchange.

Nota: This option is ignored by GnuTLS and Mozilla NSS.

LDAP_OPT_X_TLS_KEYFILE (string)
Specifies the full-path of the certificate key file.
LDAP_OPT_X_TLS_PROTOCOL_MIN (int)
Specifies the minimum protocol version. This can be one of: LDAP_OPT_X_TLS_PROTOCOL_SSL2,LDAP_OPT_X_TLS_PROTOCOL_SSL3, LDAP_OPT_X_TLS_PROTOCOL_TLS1_0, LDAP_OPT_X_TLS_PROTOCOL_TLS1_1, LDAP_OPT_X_TLS_PROTOCOL_TLS1_2
LDAP_OPT_X_TLS_RANDOM_FILE (string)
Sets/gets the random file when one of the system default ones are not available.
LDAP_OPT_X_TLS_REQUIRE_CERT (int)
Specifies the certificate checking checking strategy. This must be one of: LDAP_OPT_X_TLS_NEVER,LDAP_OPT_X_TLS_HARD, LDAP_OPT_X_TLS_DEMAND, LDAP_OPT_X_TLS_ALLOW, LDAP_OPT_X_TLS_TRY. (Available as of PHP 7.0.0)
GSLC_SSL_NO_AUTH (int)
SSL Authentication Mode - No authentication required. (Only for Oracle LDAP)
GSLC_SSL_ONEWAY_AUTH (int)
SSL Authentication Mode - Only server authentication required. (Only for Oracle LDAP)
GSLC_SSL_TWOWAY_AUTH (int)
SSL Authentication Mode - Both server and client authentication required. (Only for Oracle LDAP)
LDAP_EXOP_START_TLS (string)
Extended Operation constant - Start TLS (» RFC 4511).
LDAP_EXOP_MODIFY_PASSWD (string)
Extended Operation constant - Modify password (» RFC 3062).
LDAP_EXOP_REFRESH (string)
Extended Operation Constant - Refresh (» RFC 2589).
LDAP_EXOP_WHO_AM_I (string)
Extended Operation Constant - WHOAMI (» RFC 4532).
LDAP_EXOP_TURN (string)
Extended Operation Constant - Turn (» RFC 4531).
LDAP_CONTROL_MANAGEDSAIT (string)
Control Constant - Manage DSA IT (» RFC 3296). Available as of PHP 7.3.0.
LDAP_CONTROL_PROXY_AUTHZ (string)
Control Constant - Proxied Authorization (» RFC 4370). Available as of PHP 7.3.0.
LDAP_CONTROL_SUBENTRIES (string)
Control Constant - Subentries (» RFC 3672). Available as of PHP 7.3.0.
LDAP_CONTROL_VALUESRETURNFILTER (string)
Control Constant - Filter returned values (» RFC 3876). Available as of PHP 7.3.0.
LDAP_CONTROL_ASSERT (string)
Control Constant - Assertion (» RFC 4528). Available as of PHP 7.3.0.
LDAP_CONTROL_PRE_READ (string)
Control Constant - Pre read (» RFC 4527). Available as of PHP 7.3.0.
LDAP_CONTROL_POST_READ (string)
Control Constant - Post read (» RFC 4527). Available as of PHP 7.3.0.
LDAP_CONTROL_SORTREQUEST (string)
Control Constant - Sort request (» RFC 2891). Available as of PHP 7.3.0.
LDAP_CONTROL_SORTRESPONSE (string)
Control Constant - Sort response (» RFC 2891). Available as of PHP 7.3.0.
LDAP_CONTROL_PAGEDRESULTS (string)
Control Constant - Paged results (» RFC 2696). Available as of PHP 7.3.0.
LDAP_CONTROL_AUTHZID_REQUEST (string)
Control Constant - Authorization Identity Request (» RFC 3829). Available as of PHP 7.3.0.
LDAP_CONTROL_AUTHZID_RESPONSE (string)
Control Constant - Authorization Identity Response (» RFC 3829). Available as of PHP 7.3.0.
LDAP_CONTROL_SYNC (string)
Control Constant - Content Synchronization Operation (» RFC 4533). Available as of PHP 7.3.0.
LDAP_CONTROL_SYNC_STATE (string)
Control Constant - Content Synchronization Operation State (» RFC 4533). Available as of PHP 7.3.0.
LDAP_CONTROL_SYNC_DONE (string)
Control Constant - Content Synchronization Operation Done (» RFC 4533). Available as of PHP 7.3.0.
LDAP_CONTROL_DONTUSECOPY (string)
Control Constant - Don't Use Copy (» RFC 6171). Available as of PHP 7.3.0.
LDAP_CONTROL_PASSWORDPOLICYREQUEST (string)
Control Constant - Password Policy Request. Available as of PHP 7.3.0.
LDAP_CONTROL_PASSWORDPOLICYRESPONSE (string)
Control Constant - Password Policy Response. Available as of PHP 7.3.0.
LDAP_CONTROL_X_INCREMENTAL_VALUES (string)
Control Constant - Active Directory Incremental Values. Available as of PHP 7.3.0.
LDAP_CONTROL_X_DOMAIN_SCOPE (string)
Control Constant - Active Directory Domain Scope. Available as of PHP 7.3.0.
LDAP_CONTROL_X_PERMISSIVE_MODIFY (string)
Control Constant - Active Directory Permissive Modify. Available as of PHP 7.3.0.
LDAP_CONTROL_X_SEARCH_OPTIONS (string)
Control Constant - Active Directory Search Options. Available as of PHP 7.3.0.
LDAP_CONTROL_X_TREE_DELETE (string)
Control Constant - Active Directory Tree Delete. Available as of PHP 7.3.0.
LDAP_CONTROL_X_EXTENDED_DN (string)
Control Constant - Active Directory Extended DN. Available as of PHP 7.3.0.
LDAP_CONTROL_VLVREQUEST (string)
Control Constant - Virtual List View Request. Available as of PHP 7.3.0.
LDAP_CONTROL_VLVRESPONSE (string)
Control Constant - Virtual List View Response. Available as of PHP 7.3.0.


Using the PHP LDAP calls

Before you can use the LDAP calls you will need to know...

  • The name or address of the directory server you will use

  • The "base dn" of the server (the part of the world directory that is held on this server, which could be "o=My Company,c=US")

  • Whether you need a password to access the server (many servers will provide read access for an "anonymous bind" but require a password for anything else)

The typical sequence of LDAP calls you will make in an application will follow this pattern:

  ldap_connect()    // establish connection to server
     |
  ldap_bind()       // anonymous or authenticated "login"
     |
  do something like search or update the directory
  and display the results
     |
  ldap_close()      // "logout"


LDAP controls

Controls are special objects which may be sent alongside an LDAP request to alter LDAP server behavior while performing the request. There may also be controls sent by the server alongside the response to provide more information, usually to answer a control object from the request.

Nota:

Not all controls are supported by all LDAP servers. To know which controls are supported by a server, you need to query the root DSE by reading an empty dn with the filter (objectClass=*).

Exemplo #1 Testing support for paged result control

<?php

// $ds is a valid link identifier for a directory server

$result = ldap_read($ds, '', '(objectClass=*)', ['supportedControl']);
if (!in_array(LDAP_CONTROL_PAGEDRESULTS, ldap_get_entries($ds, $result)[0]['supportedcontrol'])) {
  die("This server does not support paged result control");
}

?>

As of PHP 7.3, you can send controls with your request in all request functions using the serverctrls parameter. When a ext version of a function exists, you should use it if you want to get access to the full response object and be able to parse response controls from it using ldap_parse_result().

serverctrls must be an array containing an array for each control to send, containing the following keys:

oid (string)
The OID of the control. You should use constants starting with LDAP_CONTROL_ for this. See LDAP Constants.
iscritical (bool)
If a control is noted as critical, the request will fail if the control is not supported by the server, or if it fails to be applied. Note that some controls should always be marked as critical as noted in the RFC introducing them. Defaults to false.
value (mixed)
If applicable, the value of the control. Read below for more information.

Most control values are sent to the server BER-encoded. You may either BER-encode the value yourself, or you can instead pass an array with the correct keys so that the encoding is done for you. Supported controls to be passed as an array are:

  • LDAP_CONTROL_PAGEDRESULTS Expected keys are [size] and [cookie]

  • LDAP_CONTROL_ASSERT Expected key is filter

  • LDAP_CONTROL_VALUESRETURNFILTER Expected key is filter

  • LDAP_CONTROL_PRE_READ Expected key is attrs

  • LDAP_CONTROL_POST_READ Expected key is attrs

  • LDAP_CONTROL_SORTREQUEST Expects an array of arrays with keys attr, [oid], [reverse].

  • LDAP_CONTROL_VLVREQUEST Expected keys are before, after, attrvalue|(offset, count), [context]

The following controls do not need any value:

  • LDAP_CONTROL_PASSWORDPOLICYREQUEST

  • LDAP_CONTROL_MANAGEDSAIT

  • LDAP_CONTROL_DONTUSECOPY

The control LDAP_CONTROL_PROXY_AUTHZ is a special case as its value is not expected to be BER-encoded, so you can directly use a string for its value.

When controls are parsed by ldap_parse_result(), values are turned into an array if supported. This is supported for:

  • LDAP_CONTROL_PASSWORDPOLICYRESPONSE Keys are expire, grace, [error]

  • LDAP_CONTROL_PAGEDRESULTS Keys are size, cookie

  • LDAP_CONTROL_PRE_READ Keys are dn and LDAP attributes names

  • LDAP_CONTROL_POST_READ Keys are dn and LDAP attributes names

  • LDAP_CONTROL_SORTRESPONSE Keys are errcode, [attribute]

  • LDAP_CONTROL_VLVRESPONSE Keys are target, count, errcode, context


  • « LDAP controls
  • Basic usage »
  • PHP Manual
  • LDAP
  • Exemplos

Exemplos

Índice

  • Basic usage
  • LDAP Controls


Basic usage

Retrieve information for all entries where the surname starts with "S" from a directory server, displaying an extract with name and email address.

Exemplo #1 LDAP search example

<?php
// basic sequence with LDAP is connect, bind, search, interpret search
// result, close connection

echo "<h3>LDAP query test</h3>";
echo "Connecting ...";
$ds=ldap_connect("localhost");  // must be a valid LDAP server!
echo "connect result is " . $ds . "<br />";

if ($ds) {
    echo "Binding ...";
    $r=ldap_bind($ds);     // this is an "anonymous" bind, typically
                           // read-only access
    echo "Bind result is " . $r . "<br />";

    echo "Searching for (sn=S*) ...";
    // Search surname entry
    $sr=ldap_search($ds, "o=My Company, c=US", "sn=S*");
    echo "Search result is " . $sr . "<br />";

    echo "Number of entries returned is " . ldap_count_entries($ds, $sr) . "<br />";

    echo "Getting entries ...<p>";
    $info = ldap_get_entries($ds, $sr);
    echo "Data for " . $info["count"] . " items returned:<p>";

    for ($i=0; $i<$info["count"]; $i++) {
        echo "dn is: " . $info[$i]["dn"] . "<br />";
        echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
        echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
    }

    echo "Closing connection";
    ldap_close($ds);

} else {
    echo "<h4>Unable to connect to LDAP server</h4>";
}
?>


LDAP Controls

Here are some examples of using LDAP Controls with PHP >= 7.3.0.

Exemplo #1 Bind with ppolicy information

<?php

$user   = 'cn=admin,dc=example,dc=com';
$passwd = 'adminpassword';

$ds = ldap_connect('ldap://localhost');

if ($ds) {
    $r = ldap_bind_ext($ds, $user, $passwd, [['oid' => LDAP_CONTROL_PASSWORDPOLICYREQUEST]]);

    if (ldap_parse_result($ds, $r, $errcode, $matcheddn, $errmsg, $referrals, $ctrls)) {
        if ($errcode != 0) {
            die("Error: $errmsg ($errcode)");
        }
        if (isset($ctrls[LDAP_CONTROL_PASSWORDPOLICYRESPONSE])) {
            $value = $ctrls[LDAP_CONTROL_PASSWORDPOLICYRESPONSE]['value'];
            echo "Expires in: ".$value['expire']." seconds\n";
            echo "Number of auth left: ".$value['grace']."\n";
            if (isset($value['error'])) {
                echo "Ppolicy error code: ".$value['error'];
            }
        }
    }
} else {
    die("Unable to connect to LDAP server");
}
?>

Exemplo #2 Modify description only if it's not empty

<?php
// $link is an LDAP connection

$result = ldap_mod_replace_ext(
    $link,
    'o=test,dc=example,dc=com',
    ['description' => 'New description'],
    [
        [
            'oid'         => LDAP_CONTROL_ASSERT,
            'iscritical'  => TRUE,
            'value'       => ['filter' => '(!(description=*))']
        ]
    ]
);

// Then use ldap_parse_result
?>

Exemplo #3 Read some values before deletion

<?php
// $link is an LDAP connection

$result = ldap_delete_ext(
    $link,
    'o=test,dc=example,dc=com',
    [
        [
            'oid'         => LDAP_CONTROL_PRE_READ,
            'iscritical'  => TRUE,
            'value'       => ['attrs' => ['o', 'description']]
        ]
    ]
);

// Then use ldap_parse_result
?>

Exemplo #4 Delete a reference

<?php
// $link is an LDAP connection

// Without the control it would delete the referenced node
// Make sure to set the control as critical to avoid that
$result = ldap_delete_ext(
    $link,
    'cn=reference,dc=example,dc=com',
    [['oid' => LDAP_CONTROL_MANAGEDSAIT, 'iscritical' => TRUE]]
);

// Then use ldap_parse_result
?>

Exemplo #5 Use pagination for a search

<?php
// $link is an LDAP connection

$cookie = '';

do {
    $result = ldap_search(
        $link, 'dc=example,dc=base', '(cn=*)', ['cn'], 0, 0, 0, LDAP_DEREF_NEVER,
        [['oid' => LDAP_CONTROL_PAGEDRESULTS, 'value' => ['size' => 2, 'cookie' => $cookie]]]
    );
    ldap_parse_result($link, $result, $errcode , $matcheddn , $errmsg , $referrals, $controls);
    // To keep the example short errors are not tested
    $entries = ldap_get_entries($link, $result);
    foreach ($entries as $entry) {
        echo "cn: ".$entry['cn'][0]."\n";
    }
    if (isset($controls[LDAP_CONTROL_PAGEDRESULTS]['value']['cookie'])) {
        // You need to pass the cookie from the last call to the next one
        $cookie = $controls[LDAP_CONTROL_PAGEDRESULTS]['value']['cookie'];
    } else {
        $cookie = '';
    }
    // Empty cookie means last page
} while (!empty($cookie));
?>


LDAP Funções

Índice

  • ldap_8859_to_t61 — Translate 8859 characters to t61 characters
  • ldap_add_ext — Add entries to LDAP directory
  • ldap_add — Add entries to LDAP directory
  • ldap_bind_ext — Bind to LDAP directory
  • ldap_bind — Bind to LDAP directory
  • ldap_close — Sinônimo de ldap_unbind
  • ldap_compare — Compare value of attribute found in entry specified with DN
  • ldap_connect — Connect to an LDAP server
  • ldap_control_paged_result_response — Retrieve the LDAP pagination cookie
  • ldap_control_paged_result — Send LDAP pagination control
  • ldap_count_entries — Count the number of entries in a search
  • ldap_delete_ext — Delete an entry from a directory
  • ldap_delete — Delete an entry from a directory
  • ldap_dn2ufn — Convert DN to User Friendly Naming format
  • ldap_err2str — Convert LDAP error number into string error message
  • ldap_errno — Return the LDAP error number of the last LDAP command
  • ldap_error — Return the LDAP error message of the last LDAP command
  • ldap_escape — Escape a string for use in an LDAP filter or DN
  • ldap_exop_passwd — PASSWD extended operation helper
  • ldap_exop_refresh — Refresh extended operation helper
  • ldap_exop_whoami — WHOAMI extended operation helper
  • ldap_exop — Performs an extended operation
  • ldap_explode_dn — Splits DN into its component parts
  • ldap_first_attribute — Return first attribute
  • ldap_first_entry — Return first result id
  • ldap_first_reference — Return first reference
  • ldap_free_result — Free result memory
  • ldap_get_attributes — Get attributes from a search result entry
  • ldap_get_dn — Get the DN of a result entry
  • ldap_get_entries — Get all result entries
  • ldap_get_option — Get the current value for given option
  • ldap_get_values_len — Get all binary values from a result entry
  • ldap_get_values — Get all values from a result entry
  • ldap_list — Single-level search
  • ldap_mod_add_ext — Add attribute values to current attributes
  • ldap_mod_add — Add attribute values to current attributes
  • ldap_mod_del_ext — Delete attribute values from current attributes
  • ldap_mod_del — Delete attribute values from current attributes
  • ldap_mod_replace_ext — Replace attribute values with new ones
  • ldap_mod_replace — Replace attribute values with new ones
  • ldap_modify_batch — Batch and execute modifications on an LDAP entry
  • ldap_modify — Sinônimo de ldap_mod_replace
  • ldap_next_attribute — Get the next attribute in result
  • ldap_next_entry — Get next result entry
  • ldap_next_reference — Get next reference
  • ldap_parse_exop — Parse result object from an LDAP extended operation
  • ldap_parse_reference — Extract information from reference entry
  • ldap_parse_result — Extract information from result
  • ldap_read — Read an entry
  • ldap_rename_ext — Modify the name of an entry
  • ldap_rename — Modify the name of an entry
  • ldap_sasl_bind — Bind to LDAP directory using SASL
  • ldap_search — Search LDAP tree
  • ldap_set_option — Set the value of the given option
  • ldap_set_rebind_proc — Set a callback function to do re-binds on referral chasing
  • ldap_sort — Sort LDAP result entries on the client side
  • ldap_start_tls — Start TLS
  • ldap_t61_to_8859 — Translate t61 characters to 8859 characters
  • ldap_unbind — Unbind from LDAP directory


Translate 8859 characters to t61 characters

  • « LDAP Funções
  • ldap_add_ext »
  • PHP Manual
  • LDAP Funções
  • Translate 8859 characters to t61 characters

ldap_8859_to_t61

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

ldap_8859_to_t61 — Translate 8859 characters to t61 characters

Descrição

ldap_8859_to_t61 ( string $value ) : string|false

Translate ISO-8859 characters to t61 characters.

This function is useful if you have to talk to a legacy LDAPv2 server.

Parâmetros

value

The text to be translated.

Valor Retornado

Return the t61 translation of value, ou false em caso de falha.

Veja Também

  • ldap_t61_to_8859() - Translate t61 characters to 8859 characters


Add entries to LDAP directory

  • « ldap_8859_to_t61
  • ldap_add »
  • PHP Manual
  • LDAP Funções
  • Add entries to LDAP directory

ldap_add_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_add_ext — Add entries to LDAP directory

Descrição

ldap_add_ext ( resource $ldap , string $dn , array $entry , array|null $controls = null ) : resource|false

Does the same thing as ldap_add() but returns the LDAP result resource to be parsed with ldap_parse_result().

Parâmetros

See ldap_add()

Valor Retornado

Returns an LDAP result identifier or false on error.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].

Notas

Nota: Esta função é binary-safe.

Veja Também

  • ldap_add() - Add entries to LDAP directory
  • ldap_parse_result() - Extract information from result


Add entries to LDAP directory

  • « ldap_add_ext
  • ldap_bind_ext »
  • PHP Manual
  • LDAP Funções
  • Add entries to LDAP directory

ldap_add

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_add — Add entries to LDAP directory

Descrição

ldap_add ( resource $ldap , string $dn , array $entry , array|null $controls = null ) : bool

Add entries in the LDAP directory.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

An array that specifies the information about the entry. The values in the entries are indexed by individual attributes. In case of multiple values for an attribute, they are indexed using integers starting with 0.

<?php
$entry["attribute1"] = "value";
$entry["attribute2"][0] = "value1";
$entry["attribute2"][1] = "value2";
?>

controls

Array of LDAP Controls to send with the request.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Exemplos

Exemplo #1 Complete example with authenticated bind

<?php
$ds = ldap_connect("localhost");  // assuming the LDAP server is on this host

if ($ds) {
    // bind with appropriate dn to give update access
    $r = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");

    // prepare data
    $info["cn"] = "John Jones";
    $info["sn"] = "Jones";
    $info["objectclass"] = "person";

    // add data to directory
    $r = ldap_add($ds, "cn=John Jones, o=My Company, c=US", $info);

    ldap_close($ds);
} else {
    echo "Unable to connect to LDAP server";
}
?>

Notas

Nota: Esta função é binary-safe.

Veja Também

  • ldap_add_ext() - Add entries to LDAP directory
  • ldap_delete() - Delete an entry from a directory


Bind to LDAP directory

  • « ldap_add
  • ldap_bind »
  • PHP Manual
  • LDAP Funções
  • Bind to LDAP directory

ldap_bind_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_bind_ext — Bind to LDAP directory

Descrição

ldap_bind_ext ( resource $ldap , string|null $dn = null , string|null $password = null , array|null $controls = null ) : resource|false

Does the same thing as ldap_bind() but returns the LDAP result resource to be parsed with ldap_parse_result().

Parâmetros

See ldap_bind()

Valor Retornado

Returns an LDAP result identifier or false on error.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].

Veja Também

  • ldap_bind() - Bind to LDAP directory
  • ldap_parse_result() - Extract information from result


Bind to LDAP directory

  • « ldap_bind_ext
  • ldap_close »
  • PHP Manual
  • LDAP Funções
  • Bind to LDAP directory

ldap_bind

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_bind — Bind to LDAP directory

Descrição

ldap_bind ( resource $ldap , string|null $dn = null , string|null $password = null ) : bool

Binds to the LDAP directory with specified RDN and password.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

dn

password

If password is not specified or is empty, an anonymous bind is attempted. The dn can also be left empty for an anonymous bind. This is defined in https://tools.ietf.org/html/rfc2251#section-4.2.2

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Using LDAP Bind

<?php

// using ldap bind
$ldaprdn  = 'uname';     // ldap rdn or dn
$ldappass = 'password';  // associated password

// connect to ldap server
$ldapconn = ldap_connect("ldap://ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }

}

?>

Exemplo #2 Using LDAP Bind Anonymously

<?php

//using ldap bind anonymously

// connect to ldap server
$ldapconn = ldap_connect("ldap://ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding anonymously
    $ldapbind = ldap_bind($ldapconn);

    if ($ldapbind) {
        echo "LDAP bind anonymous successful...";
    } else {
        echo "LDAP bind anonymous failed...";
    }

}

?>

Veja Também

  • ldap_bind_ext() - Bind to LDAP directory
  • ldap_unbind() - Unbind from LDAP directory


Sinônimo de ldap_unbind

  • « ldap_bind
  • ldap_compare »
  • PHP Manual
  • LDAP Funções
  • Sinônimo de ldap_unbind

ldap_close

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_close — Sinônimo de ldap_unbind()

Descrição

Esta função é um apelido para: ldap_unbind().


Compare value of attribute found in entry specified with DN

  • « ldap_close
  • ldap_connect »
  • PHP Manual
  • LDAP Funções
  • Compare value of attribute found in entry specified with DN

ldap_compare

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

ldap_compare — Compare value of attribute found in entry specified with DN

Descrição

ldap_compare ( resource $ldap , string $dn , string $attribute , string $value , array|null $controls = null ) : bool|int

Compare value of attribute with value of same attribute in an LDAP directory entry.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

attribute

The attribute name.

value

The compared value.

controls

Array of LDAP Controls to send with the request.

Valor Retornado

Returns true if value matches otherwise returns false. Returns -1 on error.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Exemplos

The following example demonstrates how to check whether or not given password matches the one defined in DN specified entry.

Exemplo #1 Complete example of password check

<?php

$ds=ldap_connect("localhost");  // assuming the LDAP server is on this host

if ($ds) {

    // bind
    if (ldap_bind($ds)) {

        // prepare data
        $dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
        $value = "secretpassword";
        $attr = "password";

        // compare value
        $r=ldap_compare($ds, $dn, $attr, $value);

        if ($r === -1) {
            echo "Error: " . ldap_error($ds);
        } elseif ($r === true) {
            echo "Password correct.";
        } elseif ($r === false) {
            echo "Wrong guess! Password incorrect.";
        }

    } else {
        echo "Unable to bind to LDAP server.";
    }

    ldap_close($ds);

} else {
    echo "Unable to connect to LDAP server.";
}
?>

Notas

Aviso

ldap_compare() can NOT be used to compare BINARY values!


Connect to an LDAP server

  • « ldap_compare
  • ldap_control_paged_result_response »
  • PHP Manual
  • LDAP Funções
  • Connect to an LDAP server

ldap_connect

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_connect — Connect to an LDAP server

Descrição

ldap_connect ( string|null $uri = null ) : resource|false
Aviso

The following signature is still supported for backwards compatibility (except for using named parameters), but is considered deprecated and should not be used anymore!

ldap_connect ( string $host = null , int $port = 389 ) : resource|false

Creates an LDAP link identifier and checks whether the given uri is plausible.

Nota: This function does not open a connection. It checks whether the given parameters are plausible and can be used to open a connection as soon as one is needed.

Parâmetros

uri

A full LDAP URI of the form ldap://hostname:port or ldaps://hostname:port for SSL encryption.

You can also provide multiple LDAP-URIs separated by a space as one string

Note that hostname:port is not a supported LDAP URI as the schema is missing.

host

The hostname to connect to.

port

The port to connect to.

Valor Retornado

Returns a positive LDAP link identifier when the provided LDAP URI seems plausible. It's a syntactic check of the provided parameter but the server(s) will not be contacted! If the syntactic check fails it returns false. ldap_connect() will otherwise return a resource as it does not actually connect but just initializes the connecting parameters. The actual connect happens with the next calls to ldap_* funcs, usually with ldap_bind().

If no argument is specified then the link identifier of the already opened link will be returned.

Exemplos

Exemplo #1 Example of connecting to LDAP server.

<?php

// LDAP variables
$ldapuri = "ldap://ldap.example.com:389";  // your ldap-uri

// Connecting to LDAP
$ldapconn = ldap_connect($ldapuri)
          or die("That LDAP-URI was not parseable");

?>

Exemplo #2 Example of connecting securely to LDAP server.

<?php

// make sure your host is the correct one
// that you issued your secure certificate to
$ldaphost = "ldaps://ldap.example.com/";

// Connecting to LDAP
$ldapconn = ldap_connect($ldaphost)
          or die("That LDAP-URI was not parseable");

?>

Veja Também

  • ldap_bind() - Bind to LDAP directory


Retrieve the LDAP pagination cookie

  • « ldap_connect
  • ldap_control_paged_result »
  • PHP Manual
  • LDAP Funções
  • Retrieve the LDAP pagination cookie

ldap_control_paged_result_response

(PHP 5 >= 5.4.0, PHP 7)

ldap_control_paged_result_response — Retrieve the LDAP pagination cookie

Aviso

This function has been DEPRECATED as of PHP 7.4.0, and REMOVED as of PHP 8.0.0. Instead the controls parameter of ldap_search() should be used. See also LDAP Controls for details.

Descrição

ldap_control_paged_result_response ( resource $link , resource $result , string &$cookie = ? , int &$estimated = ? ) : bool

Retrieve the pagination information send by the server.

Parâmetros

link

An LDAP link identifier, returned by ldap_connect().

result

cookie

An opaque structure sent by the server.

estimated

The estimated number of entries to retrieve.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.4.0 | This function has been deprecated.

Veja Também

  • ldap_control_paged_result() - Send LDAP pagination control
  • » RFC2696 : LDAP Control Extension for Simple Paged Results Manipulation


Send LDAP pagination control

  • « ldap_control_paged_result_response
  • ldap_count_entries »
  • PHP Manual
  • LDAP Funções
  • Send LDAP pagination control

ldap_control_paged_result

(PHP 5 >= 5.4.0, PHP 7)

ldap_control_paged_result — Send LDAP pagination control

Aviso

This function has been DEPRECATED as of PHP 7.4.0, and REMOVED as of PHP 8.0.0. Instead the controls parameter of ldap_search() should be used. See also LDAP Controls for details.

Descrição

ldap_control_paged_result ( resource $link , int $pagesize , bool $iscritical = false , string $cookie = "" ) : bool

Enable LDAP pagination by sending the pagination control (page size, cookie...).

Parâmetros

link

An LDAP link identifier, returned by ldap_connect().

pagesize

The number of entries by page.

iscritical

Indicates whether the pagination is critical or not. If true and if the server doesn't support pagination, the search will return no result.

cookie

An opaque structure sent by the server (ldap_control_paged_result_response()).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.4.0 | This function has been deprecated.

Exemplos

The example below show the retrieval of the first page of a search paginated with one entry by page.

Exemplo #1 LDAP pagination

<?php
     // $ds is a valid link identifier (see ldap_connect)
     ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);

     $dn        = 'ou=example,dc=org';
     $filter    = '(|(sn=Doe*)(givenname=John*))';
     $justthese = array('ou', 'sn', 'givenname', 'mail');

     // enable pagination with a page size of 1.
     ldap_control_paged_result($ds, 1);

     $sr = ldap_search($ds, $dn, $filter, $justthese);

     $info = ldap_get_entries($ds, $sr);

     echo $info['count'] . ' entries returned' . PHP_EOL;

The example below show the retrieval of all the result paginated with 100 entries by page.

Exemplo #2 LDAP pagination

<?php
     // $ds is a valid link identifier (see ldap_connect)
     ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);

     $dn        = 'ou=example,dc=org';
     $filter    = '(|(sn=Doe*)(givenname=John*))';
     $justthese = array('ou', 'sn', 'givenname', 'mail');

     // enable pagination with a page size of 100.
     $pageSize = 100;

     $cookie = '';
     do {
         ldap_control_paged_result($ds, $pageSize, true, $cookie);

         $result  = ldap_search($ds, $dn, $filter, $justthese);
         $entries = ldap_get_entries($ds, $result);

         foreach ($entries as $e) {
             echo $e['dn'] . PHP_EOL;
         }

         ldap_control_paged_result_response($ds, $result, $cookie);

     } while($cookie !== null && $cookie != '');

Notas

Nota:

Pagination control is a LDAPv3 protocol feature.

Veja Também

  • ldap_control_paged_result_response() - Retrieve the LDAP pagination cookie
  • » RFC2696 : LDAP Control Extension for Simple Paged Results Manipulation


Count the number of entries in a search

  • « ldap_control_paged_result
  • ldap_delete_ext »
  • PHP Manual
  • LDAP Funções
  • Count the number of entries in a search

ldap_count_entries

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_count_entries — Count the number of entries in a search

Descrição

ldap_count_entries ( resource $ldap , resource $result ) : int

Returns the number of entries stored in the result of previous search operations.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

result

The internal LDAP result.

Valor Retornado

Returns number of entries in the result or false on error.

Exemplos

Exemplo #1 ldap-count-entries() example

Retrieve number of entries in the result.

// $ds is a valid link identifier (see ldap_connect)

     $dn        = 'ou=example,dc=org';
     $filter    = '(|(sn=Doe*)(givenname=John*))';
     $justthese = array('ou', 'sn', 'givenname', 'mail');

     $sr = ldap_search($ds, $dn, $filter, $justthese);

     var_dump(ldap_count_entries($ds, $sr));

O exemplo acima irá imprimir algo similar à:

     int(1)


Delete an entry from a directory

  • « ldap_count_entries
  • ldap_delete »
  • PHP Manual
  • LDAP Funções
  • Delete an entry from a directory

ldap_delete_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_delete_ext — Delete an entry from a directory

Descrição

ldap_delete_ext ( resource $ldap , string $dn , array|null $controls = null ) : resource|false

Does the same thing as ldap_delete() but returns the LDAP result resource to be parsed with ldap_parse_result().

Parâmetros

See ldap_delete()

Valor Retornado

Returns an LDAP result identifier or false on error.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].

Veja Também

  • ldap_delete() - Delete an entry from a directory
  • ldap_parse_result() - Extract information from result


Delete an entry from a directory

  • « ldap_delete_ext
  • ldap_dn2ufn »
  • PHP Manual
  • LDAP Funções
  • Delete an entry from a directory

ldap_delete

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_delete — Delete an entry from a directory

Descrição

ldap_delete ( resource $ldap , string $dn , array|null $controls = null ) : bool

Deletes a particular entry in LDAP directory.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

controls

Array of LDAP Controls to send with the request.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Veja Também

  • ldap_delete_ext() - Delete an entry from a directory
  • ldap_add() - Add entries to LDAP directory


Convert DN to User Friendly Naming format

  • « ldap_delete
  • ldap_err2str »
  • PHP Manual
  • LDAP Funções
  • Convert DN to User Friendly Naming format

ldap_dn2ufn

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_dn2ufn — Convert DN to User Friendly Naming format

Descrição

ldap_dn2ufn ( string $dn ) : string|false

Turns the specified dn, into a more user-friendly form, stripping off type names.

Parâmetros

dn

The distinguished name of an LDAP entity.

Valor Retornado

Returns the user friendly name, ou false em caso de falha.


Convert LDAP error number into string error message

  • « ldap_dn2ufn
  • ldap_errno »
  • PHP Manual
  • LDAP Funções
  • Convert LDAP error number into string error message

ldap_err2str

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_err2str — Convert LDAP error number into string error message

Descrição

ldap_err2str ( int $errno ) : string

Returns the string error message explaining the error number errno. While LDAP errno numbers are standardized, different libraries return different or even localized textual error messages. Never check for a specific error message text, but always use an error number to check.

Parâmetros

errno

The error number.

Valor Retornado

Returns the error message, as a string.

Exemplos

Exemplo #1 Enumerating all LDAP error messages

<?php
  for ($i=0; $i<100; $i++) {
    printf("Error $i: %s<br />\n", ldap_err2str($i));
  }
?>

Veja Também

  • ldap_errno() - Return the LDAP error number of the last LDAP command
  • ldap_error() - Return the LDAP error message of the last LDAP command


Return the LDAP error number of the last LDAP command

  • « ldap_err2str
  • ldap_error »
  • PHP Manual
  • LDAP Funções
  • Return the LDAP error number of the last LDAP command

ldap_errno

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_errno — Return the LDAP error number of the last LDAP command

Descrição

ldap_errno ( resource $ldap ) : int

Returns the standardized error number returned by the last LDAP command. This number can be converted into a textual error message using ldap_err2str().

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

Valor Retornado

Return the LDAP error number of the last LDAP command for this link.

Exemplos

Unless you lower your warning level in your php.ini sufficiently or prefix your LDAP commands with @ (at) characters to suppress warning output, the errors generated will also show up in your HTML output.

Exemplo #1 Generating and catching an error

<?php
// This example contains an error, which we will catch.
$ld = ldap_connect("localhost");
$bind = ldap_bind($ld);
// syntax error in filter expression (errno 87),
// must be "objectclass=*" to work.
$res =  @ldap_search($ld, "o=Myorg, c=DE", "objectclass");
if (!$res) {
    echo "LDAP-Errno: " . ldap_errno($ld) . "<br />\n";
    echo "LDAP-Error: " . ldap_error($ld) . "<br />\n";
    die("Argh!<br />\n");
}
$info = ldap_get_entries($ld, $res);
echo $info["count"] . " matching entries.<br />\n";
?>

Veja Também

  • ldap_err2str() - Convert LDAP error number into string error message
  • ldap_error() - Return the LDAP error message of the last LDAP command


Return the LDAP error message of the last LDAP command

  • « ldap_errno
  • ldap_escape »
  • PHP Manual
  • LDAP Funções
  • Return the LDAP error message of the last LDAP command

ldap_error

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_error — Return the LDAP error message of the last LDAP command

Descrição

ldap_error ( resource $ldap ) : string

Returns the string error message explaining the error generated by the last LDAP command for the given ldap. While LDAP errno numbers are standardized, different libraries return different or even localized textual error messages. Never check for a specific error message text, but always use an error number to check.

Unless you lower your warning level in your php.ini sufficiently or prefix your LDAP commands with @ (at) characters to suppress warning output, the errors generated will also show up in your HTML output.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

Valor Retornado

Returns string error message.

Veja Também

  • ldap_err2str() - Convert LDAP error number into string error message
  • ldap_errno() - Return the LDAP error number of the last LDAP command


Escape a string for use in an LDAP filter or DN

  • « ldap_error
  • ldap_exop_passwd »
  • PHP Manual
  • LDAP Funções
  • Escape a string for use in an LDAP filter or DN

ldap_escape

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

ldap_escape — Escape a string for use in an LDAP filter or DN

Descrição

ldap_escape ( string $value , string $ignore = "" , int $flags = 0 ) : string

Escapes value for use in the context implied by flags.

Parâmetros

value

The value to escape.

ignore

Characters to ignore when escaping.

flags

The context the escaped string will be used in: LDAP_ESCAPE_FILTER for filters to be used with ldap_search(), or LDAP_ESCAPE_DN for DNs. If neither flag is passed, all chars are escaped.

Valor Retornado

Returns the escaped string.

Exemplos

When building an LDAP filter, you should use ldap_escape with LDAP_ESCAPE_FILTER flag.

Exemplo #1 Searching for an email address

<?php
// $ds is a valid link identifier for a directory server

// $mail is an email address provided by the user in a form

$base   = "o=My Company, c=US";
$filter = "(mail=".ldap_escape($mail, "", LDAP_ESCAPE_FILTER).")";

$sr = ldap_search($ds, $base, $filter, array("sn", "givenname", "mail"));

$info = ldap_get_entries($ds, $sr);

echo $info["count"]." entries returned\n";
?>


PASSWD extended operation helper

  • « ldap_escape
  • ldap_exop_refresh »
  • PHP Manual
  • LDAP Funções
  • PASSWD extended operation helper

ldap_exop_passwd

(PHP 7 >= 7.2.0, PHP 8)

ldap_exop_passwd — PASSWD extended operation helper

Descrição

ldap_exop_passwd ( resource $ldap , string $user = "" , string $old_password = "" , string $new_password = "" , array &$controls = null ) : string|bool

Performs a PASSWD extended operation.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

user

dn of the user to change the password of.

old_password

The old password of this user. May be ommited depending of server configuration.

new_password

The new password for this user. May be omitted or empty to have a generated password.

controls

If provided, a password policy request control is send with the request and this is filled with an array of LDAP Controls returned with the request.

Valor Retornado

Returns the generated password if new_password is empty or omitted. Otherwise returns true on success and false on failure.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Exemplos

Exemplo #1 PASSWD extended operation

<?php
$ds = ldap_connect("localhost");  // assuming the LDAP server is on this host

if ($ds) {
    // bind with appropriate dn to give update access
    $bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");
    if (!$bind) {
      echo "Unable to bind to LDAP server";
      exit;
    }

    // use PASSWD EXOP to change the user password for a generated one
    $genpw = ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", "secret");
    if ($genpw) {
      // use the generated password to bind
      $bind = ldap_bind($ds, "cn=root, o=My Company, c=US", $genpw);
    }

    // set the password back to "secret"
    ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", $genpw, "secret");

    ldap_close($ds);
} else {
    echo "Unable to connect to LDAP server";
}
?>

Veja Também

  • ldap_exop() - Performs an extended operation
  • ldap_parse_exop() - Parse result object from an LDAP extended operation


Refresh extended operation helper

  • « ldap_exop_passwd
  • ldap_exop_whoami »
  • PHP Manual
  • LDAP Funções
  • Refresh extended operation helper

ldap_exop_refresh

(PHP 7 >= 7.3.0, PHP 8)

ldap_exop_refresh — Refresh extended operation helper

Descrição

ldap_exop_refresh ( resource $ldap , string $dn , int $ttl ) : int|false

Performs a Refresh extended operation and returns the data.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

dn

dn of the entry to refresh.

ttl

Time in seconds (between 1 and 31557600) that the client requests that the entry exists in the directory before being automatically removed.

Valor Retornado

From RFC: The responseTtl field is the time in seconds which the server chooses to have as the time-to-live field for that entry. It must not be any smaller than that which the client requested, and it may be larger. However, to allow servers to maintain a relatively accurate directory, and to prevent clients from abusing the dynamic extensions, servers are permitted to shorten a client-requested time-to-live value, down to a minimum of 86400 seconds (one day). false will be returned on error.

Veja Também

  • ldap_exop() - Performs an extended operation


WHOAMI extended operation helper

  • « ldap_exop_refresh
  • ldap_exop »
  • PHP Manual
  • LDAP Funções
  • WHOAMI extended operation helper

ldap_exop_whoami

(PHP 7 >= 7.2.0, PHP 8)

ldap_exop_whoami — WHOAMI extended operation helper

Descrição

ldap_exop_whoami ( resource $ldap ) : string|false

Performs a WHOAMI extended operation and returns the data.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

Valor Retornado

The data returned by the server, or false on error.

Veja Também

  • ldap_exop() - Performs an extended operation


Performs an extended operation

  • « ldap_exop_whoami
  • ldap_explode_dn »
  • PHP Manual
  • LDAP Funções
  • Performs an extended operation

ldap_exop

(PHP 7 >= 7.2.0, PHP 8)

ldap_exop — Performs an extended operation

Descrição

ldap_exop ( resource $link , string $reqoid , string $reqdata = null , array $serverctrls = null , string &$retdata = ? , string &$retoid = ? ) : mixed

Performs an extended operation on the specified link with reqoid the OID of the operation and reqdata the data.

Parâmetros

link

An LDAP link identifier, returned by ldap_connect().

reqoid

The extended operation request OID. You may use one of LDAP_EXOP_START_TLS, LDAP_EXOP_MODIFY_PASSWD, LDAP_EXOP_REFRESH, LDAP_EXOP_WHO_AM_I, LDAP_EXOP_TURN, or a string with the OID of the operation you want to send.

reqdata

The extended operation request data. May be NULL for some operations like LDAP_EXOP_WHO_AM_I, may also need to be BER encoded.

serverctrls

Array of LDAP Controls to send with the request.

retdata

Will be filled with the extended operation response data if provided. If not provided you may use ldap_parse_exop on the result object later to get this data.

retoid

Will be filled with the response OID if provided, usually equal to the request OID.

Valor Retornado

When used with retdata, returns true on success or false on error. When used without retdata, returns a result identifier or false on error.

Changelog

Versão | Descrição
7.3 | Support for serverctrls added

Exemplos

Exemplo #1 Whoami extended operation

<?php
$ds = ldap_connect("localhost");  // assuming the LDAP server is on this host

if ($ds) {
    // bind with appropriate dn to give update access
    $bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");
    if (!$bind) {
      echo "Unable to bind to LDAP server";
      exit;
    }

    // Call WHOAMI EXOP
    $r = ldap_exop($ds, LDAP_EXOP_WHO_AM_I);

    // Parse the result object
    ldap_parse_exop($ds, $r, $retdata);
    // Output: string(31) "dn:cn=root, o=My Company, c=US"
    var_dump($retdata);

    // Same thing using $retdata parameter
    $success = ldap_exop($ds, LDAP_EXOP_WHO_AM_I, NULL, NULL, $retdata, $retoid);
    if ($success) {
      var_dump($retdata);
    }

    ldap_close($ds);
} else {
    echo "Unable to connect to LDAP server";
}
?>

Veja Também

  • ldap_parse_result() - Extract information from result
  • ldap_parse_exop() - Parse result object from an LDAP extended operation
  • ldap_exop_whoami() - WHOAMI extended operation helper
  • ldap_exop_refresh() - Refresh extended operation helper
  • ldap_exop_passwd() - PASSWD extended operation helper


Splits DN into its component parts

  • « ldap_exop
  • ldap_first_attribute »
  • PHP Manual
  • LDAP Funções
  • Splits DN into its component parts

ldap_explode_dn

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_explode_dn — Splits DN into its component parts

Descrição

ldap_explode_dn ( string $dn , int $with_attrib ) : array|false

Splits the DN returned by ldap_get_dn() and breaks it up into its component parts. Each part is known as Relative Distinguished Name, or RDN.

Parâmetros

dn

The distinguished name of an LDAP entity.

with_attrib

Used to request if the RDNs are returned with only values or their attributes as well. To get RDNs with the attributes (i.e. in attribute=value format) set with_attrib to 0 and to get only values set it to 1.

Valor Retornado

Returns an array of all DN components, ou false em caso de falha. The first element in the array has count key and represents the number of returned values, next elements are numerically indexed DN components.


Return first attribute

  • « ldap_explode_dn
  • ldap_first_entry »
  • PHP Manual
  • LDAP Funções
  • Return first attribute

ldap_first_attribute

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_first_attribute — Return first attribute

Descrição

ldap_first_attribute ( resource $ldap , resource $entry ) : string|false

Gets the first attribute in the given entry. Remaining attributes are retrieved by calling ldap_next_attribute() successively.

Similar to reading entries, attributes are also read one by one from a particular entry.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

entry

ber_identifier

ber_identifier is the identifier to internal memory location pointer. It is passed by reference. The same ber_identifier is passed to ldap_next_attribute() , which modifies that pointer.

Nota:

This parameter is no longer used as this is now handled automatically by PHP. For backwards compatibility PHP will not throw an error if this parameter is passed.

Valor Retornado

Returns the first attribute in the entry on success and false on error.

Veja Também

  • ldap_next_attribute() - Get the next attribute in result
  • ldap_get_attributes() - Get attributes from a search result entry


Return first result id

  • « ldap_first_attribute
  • ldap_first_reference »
  • PHP Manual
  • LDAP Funções
  • Return first result id

ldap_first_entry

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_first_entry — Return first result id

Descrição

ldap_first_entry ( resource $ldap , resource $result ) : resource|false

Returns the entry identifier for first entry in the result. This entry identifier is then supplied to ldap_next_entry() routine to get successive entries from the result.

Entries in the LDAP result are read sequentially using the ldap_first_entry() and ldap_next_entry() functions.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

result

Valor Retornado

Returns the result entry identifier for the first entry on success and false on error.

Veja Também

  • ldap_get_entries() - Get all result entries


Return first reference

  • « ldap_first_entry
  • ldap_free_result »
  • PHP Manual
  • LDAP Funções
  • Return first reference

ldap_first_reference

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

ldap_first_reference — Return first reference

Descrição

ldap_first_reference ( resource $ldap , resource $result ) : resource|false
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Free result memory

  • « ldap_first_reference
  • ldap_get_attributes »
  • PHP Manual
  • LDAP Funções
  • Free result memory

ldap_free_result

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_free_result — Free result memory

Descrição

ldap_free_result ( resource $ldap ) : bool

Frees up the memory allocated internally to store the result. All result memory will be automatically freed when the script terminates.

Typically all the memory allocated for the LDAP result gets freed at the end of the script. In case the script is making successive searches which return large result sets, ldap_free_result() could be called to keep the runtime memory usage by the script low.

Parâmetros

ldap

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Get attributes from a search result entry

  • « ldap_free_result
  • ldap_get_dn »
  • PHP Manual
  • LDAP Funções
  • Get attributes from a search result entry

ldap_get_attributes

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_get_attributes — Get attributes from a search result entry

Descrição

ldap_get_attributes ( resource $ldap , resource $entry ) : array

Reads attributes and values from an entry in the search result.

Having located a specific entry in the directory, you can find out what information is held for that entry by using this call. You would use this call for an application which "browses" directory entries and/or where you do not know the structure of the directory entries. In many applications you will be searching for a specific attribute such as an email address or a surname, and won't care what other data is held.

return_value["count"] = number of attributes in the entry
return_value[0] = first attribute
return_value[n] = nth attribute

return_value["attribute"]["count"] = number of values for attribute
return_value["attribute"][0] = first value of the attribute
return_value["attribute"][i] = (i+1)th value of the attribute

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

entry

Valor Retornado

Returns a complete entry information in a multi-dimensional array on success and false on error.

Exemplos

Exemplo #1 Show the list of attributes held for a particular directory entry

<?php
// $ds is the link identifier for the directory

// $sr is a valid search result from a prior call to
// one of the ldap directory search calls

$entry = ldap_first_entry($ds, $sr);

$attrs = ldap_get_attributes($ds, $entry);

echo $attrs["count"] . " attributes held for this entry:<p>";

for ($i=0; $i < $attrs["count"]; $i++) {
    echo $attrs[$i] . "<br />";
}
?>

Veja Também

  • ldap_first_attribute() - Return first attribute
  • ldap_next_attribute() - Get the next attribute in result


Get the DN of a result entry

  • « ldap_get_attributes
  • ldap_get_entries »
  • PHP Manual
  • LDAP Funções
  • Get the DN of a result entry

ldap_get_dn

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_get_dn — Get the DN of a result entry

Descrição

ldap_get_dn ( resource $ldap , resource $entry ) : string|false

Finds out the DN of an entry in the result.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

entry

Valor Retornado

Returns the DN of the result entry and false on error.


Get all result entries

  • « ldap_get_dn
  • ldap_get_option »
  • PHP Manual
  • LDAP Funções
  • Get all result entries

ldap_get_entries

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_get_entries — Get all result entries

Descrição

ldap_get_entries ( resource $ldap , resource $result ) : array|false

Reads multiple entries from the given result, and then reading the attributes and multiple values.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

result

Valor Retornado

Returns a complete result information in a multi-dimensional array on success and false on error.

The structure of the array is as follows. The attribute index is converted to lowercase. (Attributes are case-insensitive for directory servers, but not when used as array indices.)

return_value["count"] = number of entries in the result
return_value[0] : refers to the details of first entry

return_value[i]["dn"] =  DN of the ith entry in the result

return_value[i]["count"] = number of attributes in ith entry
return_value[i][j] = NAME of the jth attribute in the ith entry in the result

return_value[i]["attribute"]["count"] = number of values for
                                        attribute in ith entry
return_value[i]["attribute"][j] = jth value of attribute in ith entry

Veja Também

  • ldap_first_entry() - Return first result id
  • ldap_next_entry() - Get next result entry


Get the current value for given option

  • « ldap_get_entries
  • ldap_get_values_len »
  • PHP Manual
  • LDAP Funções
  • Get the current value for given option

ldap_get_option

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ldap_get_option — Get the current value for given option

Descrição

ldap_get_option ( resource $ldap , int $option , array|string|int &$value = null ) : bool

Sets value to the value of the specified option.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

option

The parameter option can be one of:

Option | Type | since
LDAP_OPT_DEREF | int
LDAP_OPT_SIZELIMIT | int
LDAP_OPT_TIMELIMIT | int
LDAP_OPT_NETWORK_TIMEOUT | int
LDAP_OPT_PROTOCOL_VERSION | int
LDAP_OPT_ERROR_NUMBER | int
LDAP_OPT_DIAGNOSTIC_MESSAGE | int
LDAP_OPT_REFERRALS | int
LDAP_OPT_RESTART | int
LDAP_OPT_HOST_NAME | string
LDAP_OPT_ERROR_STRING | string
LDAP_OPT_MATCHED_DN | string
LDAP_OPT_SERVER_CONTROLS | array
LDAP_OPT_CLIENT_CONTROLS | array
LDAP_OPT_X_KEEPALIVE_IDLE | int | 7.1
LDAP_OPT_X_KEEPALIVE_PROBES | int | 7.1
LDAP_OPT_X_KEEPALIVE_INTERVAL | int | 7.1
LDAP_OPT_X_TLS_CACERTDIR | string | 7.1
LDAP_OPT_X_TLS_CACERTFILE | string | 7.1
LDAP_OPT_X_TLS_CERTFILE | string | 7.1
LDAP_OPT_X_TLS_CIPHER_SUITE | string | 7.1
LDAP_OPT_X_TLS_CRLCHECK | int | 7.1
LDAP_OPT_X_TLS_CRL_NONE | int | 7.1
LDAP_OPT_X_TLS_CRL_PEER | int | 7.1
LDAP_OPT_X_TLS_CRL_ALL | int | 7.1
LDAP_OPT_X_TLS_CRLFILE | string | 7.1
LDAP_OPT_X_TLS_DHFILE | string | 7.1
LDAP_OPT_X_TLS_KEYFILE | string | 7.1
LDAP_OPT_X_TLS_PACKAGE | string | 7.1
LDAP_OPT_X_TLS_PROTOCOL_MIN | int | 7.1
LDAP_OPT_X_TLS_RANDOM_FILE | string | 7.1
LDAP_OPT_X_TLS_REQUIRE_CERT | int

value

This will be set to the option value.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Check protocol version

<?php
// $ds is a valid link identifier for a directory server
if (ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version)) {
    echo "Using protocol version $version\n";
} else {
    echo "Unable to determine protocol version\n";
}
?>

Notas

Nota:

This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.

Veja Também

  • ldap_set_option() - Set the value of the given option


Get all binary values from a result entry

  • « ldap_get_option
  • ldap_get_values »
  • PHP Manual
  • LDAP Funções
  • Get all binary values from a result entry

ldap_get_values_len

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_get_values_len — Get all binary values from a result entry

Descrição

ldap_get_values_len ( resource $ldap , resource $entry , string $attribute ) : array|false

Reads all the values of the attribute in the entry in the result.

This function is used exactly like ldap_get_values() except that it handles binary data and not string data.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

entry

attribute

Valor Retornado

Returns an array of values for the attribute on success and false on error. Individual values are accessed by integer index in the array. The first index is 0. The number of values can be found by indexing "count" in the resultant array.

Veja Também

  • ldap_get_values() - Get all values from a result entry


Get all values from a result entry

  • « ldap_get_values_len
  • ldap_list »
  • PHP Manual
  • LDAP Funções
  • Get all values from a result entry

ldap_get_values

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_get_values — Get all values from a result entry

Descrição

ldap_get_values ( resource $ldap , resource $entry , string $attribute ) : array|false

Reads all the values of the attribute in the entry in the result.

This call needs a entry, so needs to be preceded by one of the ldap search calls and one of the calls to get an individual entry.

You application will either be hard coded to look for certain attributes (such as "surname" or "mail") or you will have to use the ldap_get_attributes() call to work out what attributes exist for a given entry.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

entry

attribute

Valor Retornado

Returns an array of values for the attribute on success and false on error. The number of values can be found by indexing "count" in the resultant array. Individual values are accessed by integer index in the array. The first index is 0.

LDAP allows more than one entry for an attribute, so it can, for example, store a number of email addresses for one person's directory entry all labeled with the attribute "mail"

    return_value["count"] = number of values for attribute
    return_value[0] = first value of attribute
    return_value[i] = ith value of attribute

Exemplos

Exemplo #1 List all values of the "mail" attribute for a directory entry

<?php
// $ds is a valid link identifier for a directory server

// $sr is a valid search result from a prior call to
//     one of the ldap directory search calls

// $entry is a valid entry identifier from a prior call to
//        one of the calls that returns a directory entry

$values = ldap_get_values($ds, $entry, "mail");

echo $values["count"] . " email addresses for this entry.<br />";

for ($i=0; $i < $values["count"]; $i++) {
    echo $values[$i] . "<br />";
}
?>

Veja Também

  • ldap_get_values_len() - Get all binary values from a result entry


Single-level search

  • « ldap_get_values
  • ldap_mod_add_ext »
  • PHP Manual
  • LDAP Funções
  • Single-level search

ldap_list

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_list — Single-level search

Descrição

ldap_list ( resource|array $ldap , array|string $base , array|string $filter , array $attributes = [] , int $attributes_only = 0 , int $sizelimit = -1 , int $timelimit = -1 , int $deref = LDAP_DEREF_NEVER , array|null $controls = null ) : resource|array|false

Performs the search for a specified filter on the directory with the scope LDAP_SCOPE_ONELEVEL.

LDAP_SCOPE_ONELEVEL means that the search should only return information that is at the level immediately below the base given in the call. (Equivalent to typing "ls" and getting a list of files and folders in the current working directory.)

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

base

The base DN for the directory.

filter

attributes

An array of the required attributes, e.g. array("mail", "sn", "cn"). Note that the "dn" is always returned irrespective of which attributes types are requested.

Using this parameter is much more efficient than the default action (which is to return all attributes and their associated values). The use of this parameter should therefore be considered good practice.

attributes_only

Should be set to 1 if only attribute types are wanted. If set to 0 both attributes types and attribute values are fetched which is the default behaviour.

sizelimit

Enables you to limit the count of entries fetched. Setting this to 0 means no limit.

Nota:

This parameter can NOT override server-side preset sizelimit. You can set it lower though.

Some directory server hosts will be configured to return no more than a preset number of entries. If this occurs, the server will indicate that it has only returned a partial results set. This also occurs if you use this parameter to limit the count of fetched entries.

timelimit

Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.

Nota:

This parameter can NOT override server-side preset timelimit. You can set it lower though.

deref

Specifies how aliases should be handled during the search. It can be one of the following:

  • LDAP_DEREF_NEVER - (default) aliases are never dereferenced.
  • LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but not when locating the base object of the search.
  • LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base object but not during the search.
  • LDAP_DEREF_ALWAYS - aliases should be dereferenced always.

controls

Array of LDAP Controls to send with the request.

Valor Retornado

Returns a search result identifier or false on error.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Exemplos

Exemplo #1 Produce a list of all organizational units of an organization

<?php
// $ds is a valid link identifier for a directory server

$basedn = "o=My Company, c=US";
$justthese = array("ou");

$sr = ldap_list($ds, $basedn, "ou=*", $justthese);

$info = ldap_get_entries($ds, $sr);

for ($i=0; $i < $info["count"]; $i++) {
    echo $info[$i]["ou"][0];
}
?>

Veja Também

  • ldap_search() - Search LDAP tree


Add attribute values to current attributes

  • « ldap_list
  • ldap_mod_add »
  • PHP Manual
  • LDAP Funções
  • Add attribute values to current attributes

ldap_mod_add_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_mod_add_ext — Add attribute values to current attributes

Descrição

ldap_mod_add_ext ( resource $ldap , string $dn , array $entry , array|null $controls = null ) : resource|false

Does the same thing as ldap_mod_add() but returns the LDAP result resource to be parsed with ldap_parse_result().

Parâmetros

See ldap_mod_add()

Valor Retornado

Returns an LDAP result identifier or false on error.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Veja Também

  • ldap_mod_add() - Add attribute values to current attributes
  • ldap_parse_result() - Extract information from result


Add attribute values to current attributes

  • « ldap_mod_add_ext
  • ldap_mod_del_ext »
  • PHP Manual
  • LDAP Funções
  • Add attribute values to current attributes

ldap_mod_add

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_mod_add — Add attribute values to current attributes

Descrição

ldap_mod_add ( resource $ldap , string $dn , array $entry , array|null $controls = null ) : bool

Adds one or more attribute values to the specified dn. To add a whole new object see ldap_add() function.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

An associative array listing the attirbute values to add. If an attribute was not existing yet it will be added. If an attribute is existing you can only add values to it if it supports multiple values.

controls

Array of LDAP Controls to send with the request.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Notas

Nota: Esta função é binary-safe.

Veja Também

  • ldap_mod_add_ext() - Add attribute values to current attributes
  • ldap_mod_del() - Delete attribute values from current attributes
  • ldap_mod_replace() - Replace attribute values with new ones
  • ldap_modify_batch() - Batch and execute modifications on an LDAP entry


Delete attribute values from current attributes

  • « ldap_mod_add
  • ldap_mod_del »
  • PHP Manual
  • LDAP Funções
  • Delete attribute values from current attributes

ldap_mod_del_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_mod_del_ext — Delete attribute values from current attributes

Descrição

ldap_mod_del_ext ( resource $ldap , string $dn , array $entry , array|null $controls = null ) : resource|false

Does the same thing as ldap_mod_del() but returns the LDAP result resource to be parsed with ldap_parse_result().

Parâmetros

See ldap_mod_del()

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Valor Retornado

Returns an LDAP result identifier or false on error.

Veja Também

  • ldap_mod_del() - Delete attribute values from current attributes
  • ldap_parse_result() - Extract information from result


Delete attribute values from current attributes

  • « ldap_mod_del_ext
  • ldap_mod_replace_ext »
  • PHP Manual
  • LDAP Funções
  • Delete attribute values from current attributes

ldap_mod_del

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_mod_del — Delete attribute values from current attributes

Descrição

ldap_mod_del ( resource $ldap , string $dn , array $entry , array|null $controls = null ) : bool

Removes one or more attribute values from the specified dn. Object deletions are done by the ldap_delete() function.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

controls

Array of LDAP Controls to send with the request.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Veja Também

  • ldap_mod_del_ext() - Delete attribute values from current attributes
  • ldap_mod_add() - Add attribute values to current attributes
  • ldap_mod_replace() - Replace attribute values with new ones
  • ldap_modify_batch() - Batch and execute modifications on an LDAP entry


Replace attribute values with new ones

  • « ldap_mod_del
  • ldap_mod_replace »
  • PHP Manual
  • LDAP Funções
  • Replace attribute values with new ones

ldap_mod_replace_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_mod_replace_ext — Replace attribute values with new ones

Descrição

ldap_mod_replace_ext ( resource $ldap , string $dn , array $entry , array|null $controls = null ) : resource|false

Does the same thing as ldap_mod_replace() but returns the LDAP result resource to be parsed with ldap_parse_result().

Parâmetros

See ldap_mod_replace()

Valor Retornado

Returns an LDAP result identifier or false on error.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Veja Também

  • ldap_mod_replace() - Replace attribute values with new ones
  • ldap_parse_result() - Extract information from result


Replace attribute values with new ones

  • « ldap_mod_replace_ext
  • ldap_modify_batch »
  • PHP Manual
  • LDAP Funções
  • Replace attribute values with new ones

ldap_mod_replace

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_mod_replace — Replace attribute values with new ones

Descrição

ldap_mod_replace ( resource $ldap , string $dn , array $entry , array|null $controls = null ) : bool

Replaces one or more attributes from the specified dn. It may also add or remove attributes.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

An associative array listing the attributes to replace. Sending an empty array as value will remove the attribute, while sending an attribute not existing yet on this entry will add it.

controls

Array of LDAP Controls to send with the request.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Notas

Nota: Esta função é binary-safe.

Veja Também

  • ldap_mod_replace_ext() - Replace attribute values with new ones
  • ldap_mod_del() - Delete attribute values from current attributes
  • ldap_mod_add() - Add attribute values to current attributes
  • ldap_modify_batch() - Batch and execute modifications on an LDAP entry


Batch and execute modifications on an LDAP entry

  • « ldap_mod_replace
  • ldap_modify »
  • PHP Manual
  • LDAP Funções
  • Batch and execute modifications on an LDAP entry

ldap_modify_batch

(PHP 5.4 >= 5.4.26, PHP 5.5 >= 5.5.10, PHP 5.6 >= 5.6.0, PHP 7, PHP 8)

ldap_modify_batch — Batch and execute modifications on an LDAP entry

Descrição

ldap_modify_batch ( resource $ldap , string $dn , array $modifications_info , array|null $controls = null ) : bool

Modifies an existing entry in the LDAP directory. Allows detailed specification of the modifications to perform.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

modifications_info

An array that specifies the modifications to make. Each entry in this array is an associative array with two or three keys: attrib maps to the name of the attribute to modify, modtype maps to the type of modification to perform, and (depending on the type of modification) values maps to an array of attribute values relevant to the modification.

Possible values for modtype include:

LDAP_MODIFY_BATCH_ADD

Each value specified through values is added (as an additional value) to the attribute named by attrib.

LDAP_MODIFY_BATCH_REMOVE

Each value specified through values is removed from the attribute named by attrib. Any value of the attribute not contained in the values array will remain untouched.

LDAP_MODIFY_BATCH_REMOVE_ALL

All values are removed from the attribute named by attrib. A values entry must not be provided.

LDAP_MODIFY_BATCH_REPLACE

All current values of the attribute named by attrib are replaced with the values specified through values.

Note that any value for attrib must be a string, any value for values must be an array of strings, and any value for modtype must be one of the LDAP_MODIFY_BATCH_* constants listed above.

controls

Array of LDAP Controls to send with the request.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Exemplos

Exemplo #1 Add a telephone number to a contact

<?php
$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "telephoneNumber",
        "modtype" => LDAP_MODIFY_BATCH_ADD,
        "values"  => ["+1 555 555 1717"],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);
?>

Exemplo #2 Rename a user

<?php
$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "sn",
        "modtype" => LDAP_MODIFY_BATCH_REPLACE,
        "values"  => ["Smith-Jones"],
    ],
    [
        "attrib"  => "givenName",
        "modtype" => LDAP_MODIFY_BATCH_REPLACE,
        "values"  => ["Jack"],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);
ldap_rename($connection, $dn, "cn=Jack Smith-Jones", NULL, TRUE);
?>

Exemplo #3 Add two e-mail addresses to a user

<?php
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "mail",
        "modtype" => LDAP_MODIFY_BATCH_ADD,
        "values"  => [
            "jack.smith@example.com",
            "jack.smith-jones@example.com",
        ],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);
?>

Exemplo #4 Change a user's password

<?php
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "userPassword",
        "modtype" => LDAP_MODIFY_BATCH_REMOVE,
        "values"  => ["Tr0ub4dor&3"],
    ],
    [
        "attrib"  => "userPassword",
        "modtype" => LDAP_MODIFY_BATCH_ADD,
        "values"  => ["correct horse battery staple"],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);
?>

Exemplo #5 Change a user's password (Active Directory)

<?php
function adifyPw($pw)
{
    return iconv("UTF-8", "UTF-16LE", '"' . $pw . '"');
}

$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=ad,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "unicodePwd",
        "modtype" => LDAP_MODIFY_BATCH_REMOVE,
        "values"  => [adifyPw("Tr0ub4dor&3")],
    ],
    [
        "attrib"  => "unicodePwd",
        "modtype" => LDAP_MODIFY_BATCH_ADD,
        "values"  => [adifyPw("correct horse battery staple")],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);


Sinônimo de ldap_mod_replace

  • « ldap_modify_batch
  • ldap_next_attribute »
  • PHP Manual
  • LDAP Funções
  • Sinônimo de ldap_mod_replace

ldap_modify

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_modify — Sinônimo de ldap_mod_replace()

Descrição

Esta função é um apelido para: ldap_mod_replace().

Veja Também

  • ldap_rename() - Modify the name of an entry


Get the next attribute in result

  • « ldap_modify
  • ldap_next_entry »
  • PHP Manual
  • LDAP Funções
  • Get the next attribute in result

ldap_next_attribute

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_next_attribute — Get the next attribute in result

Descrição

ldap_next_attribute ( resource $ldap , resource $entry ) : string|false

Retrieves the attributes in an entry. The first call to ldap_next_attribute() is made with the entry returned from ldap_first_attribute().

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

entry

ber_identifier

The internal state of the pointer is maintained by this parameter.

Nota:

This parameter is no longer used as this is now handled automatically by PHP. For backwards compatibility PHP will not throw an error if this parameter is passed.

Valor Retornado

Returns the next attribute in an entry on success and false on error.

Veja Também

  • ldap_get_attributes() - Get attributes from a search result entry


Get next result entry

  • « ldap_next_attribute
  • ldap_next_reference »
  • PHP Manual
  • LDAP Funções
  • Get next result entry

ldap_next_entry

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_next_entry — Get next result entry

Descrição

ldap_next_entry ( resource $ldap , resource $result ) : resource|false

Retrieve the entries stored in the result. Successive calls to the ldap_next_entry() return entries one by one till there are no more entries. The first call to ldap_next_entry() is made after the call to ldap_first_entry() with the result as returned from the ldap_first_entry().

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

result

Valor Retornado

Returns entry identifier for the next entry in the result whose entries are being read starting with ldap_first_entry(). If there are no more entries in the result then it returns false.

Veja Também

  • ldap_get_entries() - Get all result entries


Get next reference

  • « ldap_next_entry
  • ldap_parse_exop »
  • PHP Manual
  • LDAP Funções
  • Get next reference

ldap_next_reference

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

ldap_next_reference — Get next reference

Descrição

ldap_next_reference ( resource $ldap , resource $entry ) : resource|false
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Parse result object from an LDAP extended operation

  • « ldap_next_reference
  • ldap_parse_reference »
  • PHP Manual
  • LDAP Funções
  • Parse result object from an LDAP extended operation

ldap_parse_exop

(PHP 7 >= 7.2.0, PHP 8)

ldap_parse_exop — Parse result object from an LDAP extended operation

Descrição

ldap_parse_exop ( resource $ldap , resource $result , string &$response_data = null , string &$response_oid = null ) : bool

Parse LDAP extended operation data from result object result

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

result

An LDAP result resource, returned by ldap_exop().

response_data

Will be filled by the response data.

response_oid

Will be filled by the response OID.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ldap_exop() - Performs an extended operation


Extract information from reference entry

  • « ldap_parse_exop
  • ldap_parse_result »
  • PHP Manual
  • LDAP Funções
  • Extract information from reference entry

ldap_parse_reference

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

ldap_parse_reference — Extract information from reference entry

Descrição

ldap_parse_reference ( resource $ldap , resource $entry , array &$referrals ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Extract information from result

  • « ldap_parse_reference
  • ldap_read »
  • PHP Manual
  • LDAP Funções
  • Extract information from result

ldap_parse_result

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

ldap_parse_result — Extract information from result

Descrição

ldap_parse_result ( resource $ldap , resource $result , int &$error_code , string &$matched_dn = null , string &$error_message = null , array &$referrals = null , array &$controls = null ) : bool

Parses an LDAP search result.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

result_identifier

An LDAP result resource, returned by ldap_list() or ldap_search().

error_code

A reference to a variable that will be set to the LDAP error code in the result, or 0 if no error occurred.

matched_dn

A reference to a variable that will be set to a matched DN if one was recognised within the request, otherwise it will be set to null.

error_message

A reference to a variable that will be set to the LDAP error message in the result, or an empty string if no error occurred.

referrals

A reference to a variable that will be set to an array set to all of the referral strings in the result, or an empty array if no referrals were returned.

controls

An array of LDAP Controls which have been sent with the response.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.3 | Support for controls added

Exemplos

Exemplo #1 ldap_parse_result() example

<?php
$result = ldap_search($link, "cn=userref,dc=my-domain,dc=com", "(cn=user*)");
$errcode = $dn = $errmsg = $refs =  null;
if (ldap_parse_result($link, $result, $errcode, $dn, $errmsg, $refs)) {
    // do something with $errcode, $dn, $errmsg and $refs
}
?>


Read an entry

  • « ldap_parse_result
  • ldap_rename_ext »
  • PHP Manual
  • LDAP Funções
  • Read an entry

ldap_read

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_read — Read an entry

Descrição

ldap_read ( resource|array $ldap , array|string $base , array|string $filter , array $attributes = [] , int $attributes_only = 0 , int $sizelimit = -1 , int $timelimit = -1 , int $deref = LDAP_DEREF_NEVER , array|null $controls = null ) : resource|array|false

Performs the search for a specified filter on the directory with the scope LDAP_SCOPE_BASE. So it is equivalent to reading an entry from the directory.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

base

The base DN for the directory.

filter

An empty filter is not allowed. If you want to retrieve absolutely all information for this entry, use a filter of objectClass=*. If you know which entry types are used on the directory server, you might use an appropriate filter such as objectClass=inetOrgPerson.

attributes

An array of the required attributes, e.g. array("mail", "sn", "cn"). Note that the "dn" is always returned irrespective of which attributes types are requested.

Using this parameter is much more efficient than the default action (which is to return all attributes and their associated values). The use of this parameter should therefore be considered good practice.

attributes_only

Should be set to 1 if only attribute types are wanted. If set to 0 both attributes types and attribute values are fetched which is the default behaviour.

sizelimit

Enables you to limit the count of entries fetched. Setting this to 0 means no limit.

Nota:

This parameter can NOT override server-side preset sizelimit. You can set it lower though.

Some directory server hosts will be configured to return no more than a preset number of entries. If this occurs, the server will indicate that it has only returned a partial results set. This also occurs if you use this parameter to limit the count of fetched entries.

timelimit

Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.

Nota:

This parameter can NOT override server-side preset timelimit. You can set it lower though.

deref

Specifies how aliases should be handled during the search. It can be one of the following:

  • LDAP_DEREF_NEVER - (default) aliases are never dereferenced.
  • LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but not when locating the base object of the search.
  • LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base object but not during the search.
  • LDAP_DEREF_ALWAYS - aliases should be dereferenced always.

controls

Array of LDAP Controls to send with the request.

Valor Retornado

Returns a search result identifier or false on error.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
4.0.5 | Parallel searches support was added. See ldap_search() for details.
7.3 | Support for controls added


Modify the name of an entry

  • « ldap_read
  • ldap_rename »
  • PHP Manual
  • LDAP Funções
  • Modify the name of an entry

ldap_rename_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_rename_ext — Modify the name of an entry

Descrição

ldap_rename_ext ( resource $ldap , string $dn , string $new_rdn , string $new_parent , bool $delete_old_rdn , array|null $controls = null ) : resource|false

Does the same thing as ldap_rename() but returns the LDAP result resource to be parsed with ldap_parse_result().

Parâmetros

See ldap_rename()

Valor Retornado

Returns an LDAP result identifier or false on error.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Veja Também

  • ldap_rename() - Modify the name of an entry
  • ldap_parse_result() - Extract information from result


Modify the name of an entry

  • « ldap_rename_ext
  • ldap_sasl_bind »
  • PHP Manual
  • LDAP Funções
  • Modify the name of an entry

ldap_rename

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

ldap_rename — Modify the name of an entry

Descrição

ldap_rename ( resource $ldap , string $dn , string $new_rdn , string $new_parent , bool $delete_old_rdn , array|null $controls = null ) : bool

The entry specified by dn is renamed/moved.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

new_rdn

The new RDN.

new_parent

The new parent/superior entry.

delete_old_rdn

If true the old RDN value(s) is removed, else the old RDN value(s) is retained as non-distinguished values of the entry.

controls

Array of LDAP Controls to send with the request.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Notas

Nota:

This function currently only works with LDAPv3. You may have to use ldap_set_option() prior to binding to use LDAPv3. This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.

Veja Também

  • ldap_rename_ext() - Modify the name of an entry
  • ldap_modify() - Sinônimo de ldap_mod_replace


Bind to LDAP directory using SASL

  • « ldap_rename
  • ldap_search »
  • PHP Manual
  • LDAP Funções
  • Bind to LDAP directory using SASL

ldap_sasl_bind

(PHP 5, PHP 7, PHP 8)

ldap_sasl_bind — Bind to LDAP directory using SASL

Descrição

ldap_sasl_bind ( resource $ldap , string|null $dn = null , string|null $password = null , string|null $mech = null , string|null $realm = null , string|null $authc_id = null , string|null $authz_id = null , string|null $props = null ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | dn, password, mech, realm, authc_id, authz_id and props are nullable now.

Notas

Nota: Requirement
ldap_sasl_bind() requires SASL support (sasl.h). Be sure --with-ldap-sasl is used when configuring PHP otherwise this function will be undefined.


Search LDAP tree

  • « ldap_sasl_bind
  • ldap_set_option »
  • PHP Manual
  • LDAP Funções
  • Search LDAP tree

ldap_search

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_search — Search LDAP tree

Descrição

ldap_search ( resource|array $ldap , array|string $base , array|string $filter , array $attributes = [] , int $attributes_only = 0 , int $sizelimit = -1 , int $timelimit = -1 , int $deref = LDAP_DEREF_NEVER , array|null $controls = null ) : resource|array|false

Performs the search for a specified filter on the directory with the scope of LDAP_SCOPE_SUBTREE. This is equivalent to searching the entire directory.

From 4.0.5 on it's also possible to do parallel searches. To do this you use an array of link identifiers, rather than a single identifier, as the first argument. If you don't want the same base DN and the same filter for all the searches, you can also use an array of base DNs and/or an array of filters. Those arrays must be of the same size as the link identifier array since the first entries of the arrays are used for one search, the second entries are used for another, and so on. When doing parallel searches an array of search result identifiers is returned, except in case of error, then the entry corresponding to the search will be false. This is very much like the value normally returned, except that a result identifier is always returned when a search was made. There are some rare cases where the normal search returns false while the parallel search returns an identifier.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

base

The base DN for the directory.

filter

The search filter can be simple or advanced, using boolean operators in the format described in the LDAP documentation (see the » Netscape Directory SDK or » RFC4515 for full information on filters).

attributes

An array of the required attributes, e.g. array("mail", "sn", "cn"). Note that the "dn" is always returned irrespective of which attributes types are requested.

Using this parameter is much more efficient than the default action (which is to return all attributes and their associated values). The use of this parameter should therefore be considered good practice.

attributes_only

Should be set to 1 if only attribute types are wanted. If set to 0 both attributes types and attribute values are fetched which is the default behaviour.

sizelimit

Enables you to limit the count of entries fetched. Setting this to 0 means no limit.

Nota:

This parameter can NOT override server-side preset sizelimit. You can set it lower though.

Some directory server hosts will be configured to return no more than a preset number of entries. If this occurs, the server will indicate that it has only returned a partial results set. This also occurs if you use this parameter to limit the count of fetched entries.

timelimit

Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.

Nota:

This parameter can NOT override server-side preset timelimit. You can set it lower though.

deref

Specifies how aliases should be handled during the search. It can be one of the following:

  • LDAP_DEREF_NEVER - (default) aliases are never dereferenced.
  • LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but not when locating the base object of the search.
  • LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base object but not during the search.
  • LDAP_DEREF_ALWAYS - aliases should be dereferenced always.

controls

Array of LDAP Controls to send with the request.

Valor Retornado

Returns a search result identifier or false on error.

Changelog

Versão | Descrição
8.0.0 | controls is nullable now; previously, it defaulted to [].
7.3 | Support for controls added

Exemplos

The example below retrieves the organizational unit, surname, given name and email address for all people in "My Company" where the surname or given name contains the substring $person. This example uses a boolean filter to tell the server to look for information in more than one attribute.

Exemplo #1 LDAP search

<?php
// $ds is a valid link identifier for a directory server

// $person is all or part of a person's name, eg "Jo"

$dn = "o=My Company, c=US";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("ou", "sn", "givenname", "mail");

$sr=ldap_search($ds, $dn, $filter, $justthese);

$info = ldap_get_entries($ds, $sr);

echo $info["count"]." entries returned\n";
?>


Set the value of the given option

  • « ldap_search
  • ldap_set_rebind_proc »
  • PHP Manual
  • LDAP Funções
  • Set the value of the given option

ldap_set_option

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ldap_set_option — Set the value of the given option

Descrição

ldap_set_option ( resource|null $ldap , int $option , array|string|int|bool $value ) : bool

Sets the value of the specified option to be value.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

option

The parameter option can be one of:

Option | Type | Available since
LDAP_OPT_DEREF | int
LDAP_OPT_SIZELIMIT | int
LDAP_OPT_TIMELIMIT | int
LDAP_OPT_NETWORK_TIMEOUT | int
LDAP_OPT_PROTOCOL_VERSION | int
LDAP_OPT_ERROR_NUMBER | int
LDAP_OPT_REFERRALS | bool
LDAP_OPT_RESTART | bool
LDAP_OPT_HOST_NAME | string
LDAP_OPT_ERROR_STRING | string
LDAP_OPT_DIAGNOSTIC_MESSAGE | string
LDAP_OPT_MATCHED_DN | string
LDAP_OPT_SERVER_CONTROLS | array
LDAP_OPT_CLIENT_CONTROLS | array
LDAP_OPT_X_KEEPALIVE_IDLE | int | PHP 7.1.0
LDAP_OPT_X_KEEPALIVE_PROBES | int | PHP 7.1.0
LDAP_OPT_X_KEEPALIVE_INTERVAL | int | PHP 7.1.0
LDAP_OPT_X_TLS_CACERTDIR | string | PHP 7.1.0
LDAP_OPT_X_TLS_CACERTFILE | string | PHP 7.1.0
LDAP_OPT_X_TLS_CERTFILE | string | PHP 7.1.0
LDAP_OPT_X_TLS_CIPHER_SUITE | string | PHP 7.1.0
LDAP_OPT_X_TLS_CRLCHECK | int | PHP 7.1.0
LDAP_OPT_X_TLS_CRLFILE | string | PHP 7.1.0
LDAP_OPT_X_TLS_DHFILE | string | PHP 7.1.0
LDAP_OPT_X_TLS_KEYFILE | string | PHP 7.1.0
LDAP_OPT_X_TLS_PROTOCOL_MIN | int | PHP 7.1.0
LDAP_OPT_X_TLS_RANDOM_FILE | string | PHP 7.1.0
LDAP_OPT_X_TLS_REQUIRE_CERT | int | PHP 7.0.5

LDAP_OPT_SERVER_CONTROLS and LDAP_OPT_CLIENT_CONTROLS require a list of controls, this means that the value must be an array of controls. A control consists of an oid identifying the control, an optional value, and an optional flag for criticality. In PHP a control is given by an array containing an element with the key oid and string value, and two optional elements. The optional elements are key value with string value and key iscritical with boolean value. iscritical defaults to false if not supplied. See » draft-ietf-ldapext-ldap-c-api-xx.txt for details. See also the second example below.

value

The new value for the specified option.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Set protocol version

<?php
// $ds is a valid link identifier for a directory server
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
    echo "Using LDAPv3";
} else {
    echo "Failed to set protocol version to 3";
}
?>

Exemplo #2 Set server controls

<?php
// $ds is a valid link identifier for a directory server
// control with no value
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => true);
// iscritical defaults to FALSE
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// try to set both controls
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) {
    echo "Failed to set server controls";
}
?>

Notas

Nota:

This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.

Veja Também

  • ldap_get_option() - Get the current value for given option


Set a callback function to do re-binds on referral chasing

  • « ldap_set_option
  • ldap_sort »
  • PHP Manual
  • LDAP Funções
  • Set a callback function to do re-binds on referral chasing

ldap_set_rebind_proc

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ldap_set_rebind_proc — Set a callback function to do re-binds on referral chasing

Descrição

ldap_set_rebind_proc ( resource $ldap , callable|null $callback ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Changelog

Versão | Descrição
8.0.0 | callback is nullable now.


Sort LDAP result entries on the client side

  • « ldap_set_rebind_proc
  • ldap_start_tls »
  • PHP Manual
  • LDAP Funções
  • Sort LDAP result entries on the client side

ldap_sort

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ldap_sort — Sort LDAP result entries on the client side

Descrição

ldap_sort ( resource $link , resource $result , string $sortfilter ) : bool

Sort the result of a LDAP search, returned by ldap_search().

As this function sorts the returned values on the client side it is possible that you might not get the expected results in case you reach the sizelimit either of the server or defined within ldap_search().

Aviso

Este recurso está OBSOLETO desde o PHP 7.0.0. Depender desse recurso é altamente desencorajado.

Parâmetros

link

An LDAP link identifier, returned by ldap_connect().

result

An search result identifier, returned by ldap_search().

sortfilter

The attribute to use as a key in the sort.

Exemplos

Sorting the result of a search.

Exemplo #1 LDAP sort

<?php
     // $ds is a valid link identifier (see ldap_connect)

     $dn        = 'ou=example,dc=org';
     $filter    = '(|(sn=Doe*)(givenname=John*))';
     $justthese = array('ou', 'sn', 'givenname', 'mail');

     $sr = ldap_search($ds, $dn, $filter, $justthese);

     // Sort
     ldap_sort($ds, $sr, 'sn');

     // Retrieving the data
     $info = ldap_get_entries($ds, $sr);


Start TLS

  • « ldap_sort
  • ldap_t61_to_8859 »
  • PHP Manual
  • LDAP Funções
  • Start TLS

ldap_start_tls

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ldap_start_tls — Start TLS

Descrição

ldap_start_tls ( resource $ldap ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Translate t61 characters to 8859 characters

  • « ldap_start_tls
  • ldap_unbind »
  • PHP Manual
  • LDAP Funções
  • Translate t61 characters to 8859 characters

ldap_t61_to_8859

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

ldap_t61_to_8859 — Translate t61 characters to 8859 characters

Descrição

ldap_t61_to_8859 ( string $value ) : string|false
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Unbind from LDAP directory

  • « ldap_t61_to_8859
  • Memcache »
  • PHP Manual
  • LDAP Funções
  • Unbind from LDAP directory

ldap_unbind

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_unbind — Unbind from LDAP directory

Descrição

ldap_unbind ( resource $ldap ) : bool

Unbinds from the LDAP directory.

Parâmetros

ldap

An LDAP link identifier, returned by ldap_connect().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ldap_bind() - Bind to LDAP directory


Memcache

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Basic usage
  • Memcache — The Memcache class
    • Memcache::add — Add an item to the server
    • Memcache::addServer — Add a memcached server to connection pool
    • Memcache::close — Close memcached server connection
    • Memcache::connect — Open memcached server connection
    • Memcache::decrement — Decrement item's value
    • Memcache::delete — Delete item from the server
    • Memcache::flush — Flush all existing items at the server
    • Memcache::get — Retrieve item from the server
    • Memcache::getExtendedStats — Get statistics from all servers in pool
    • Memcache::getServerStatus — Returns server status
    • Memcache::getStats — Get statistics of the server
    • Memcache::getVersion — Return version of the server
    • Memcache::increment — Increment item's value
    • Memcache::pconnect — Open memcached server persistent connection
    • Memcache::replace — Replace value of the existing item
    • Memcache::set — Store data at the server
    • Memcache::setCompressThreshold — Enable automatic compression of large values
    • Memcache::setServerParams — Changes server parameters and status at runtime
  • Memcache Funções
    • memcache_debug — Turn debug output on/off


Introdução

Memcache module provides handy procedural and object oriented interface to memcached, highly effective caching daemon, which was especially designed to decrease database load in dynamic web applications.

The Memcache module also provides a session handler (memcache).

More information about memcached can be found at » http://www.memcached.org/.


Dependências

This module uses functions of » zlib to support on-the-fly data compression. Zlib is required to install this module.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP. Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/memcache.

Nota:

It's possible to disable memcache session handler support. The 'pecl install' option prompts for this (default is enabled) however when compiling statically into PHP the --disable-memcache-session configure option may be used.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Memcache Configuration Options
Nome | Padrão | Modificável | Changelog
memcache.allow_failover | "1" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Available since memcache 2.1.0.
memcache.chunk_size | "8192" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Available since memcache 2.2.0.
memcache.hash_function | "crc32" | PHP_INI_ALL | Available since memcache 2.2.0.
session.save_handler | "files" | PHP_INI_ALL | Supported since memcache 2.1.2
session.save_path | "" | PHP_INI_ALL | Supported since memcache 2.1.2
memcache.protocol | ascii | >PHP_INI_ALL | Supported since memcache 3.0.0
memcache.redundancy | 1 | >PHP_INI_ALL | Supported since memcache 3.0.0
memcache.session_redundancy | 2 | >PHP_INI_ALL | Supported since memcache 3.0.0
memcache.compress_threshold | 20000 | >PHP_INI_ALL | Supported since memcache 3.0.3
memcache.lock_timeout | 15 | >PHP_INI_ALL | Supported since memcache 3.0.4
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

memcache.allow_failover bool

Whether to transparently failover to other servers on errors.

memcache.max_failover_attempts int

Defines how many servers to try when setting and getting data. Used only in conjunction with memcache.allow_failover.

memcache.chunk_size int

Data will be transferred in chunks of this size, setting the value lower requires more network writes. Try increasing this value to 32768 if noticing otherwise inexplicable slowdowns.

memcache.default_port string

The default TCP port number to use when connecting to the memcached server if no other port is specified.

memcache.hash_strategy string

Controls which strategy to use when mapping keys to servers. Set this value to consistent to enable consistent hashing which allows servers to be added or removed from the pool without causing keys to be remapped. Setting this value to standard results in the old strategy being used.

memcache.hash_function string

Controls which hash function to apply when mapping keys to servers, crc32 uses the standard CRC32 hash while fnv uses FNV-1a.

session.save_handler string

Use memcache as a session handler by setting this value to memcache.

session.save_path string

Defines a comma separated of server urls to use for session storage, for example "tcp://host1:11211, tcp://host2:11211".

Each url may contain parameters which are applied to that server, they are the same as for the Memcache::addServer() method. For example "tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

memcache.protocol string

memcache.redundancy int

memcache.session_redundancy int

memcache.compress_threshold int

memcache.lock_timeout int


Tipos de Recurso

There is only one resource type used in memcache module - it's the link identifier for a cache server connection.


Constantes pré-definidas

Memcache Constants
Name | Description
MEMCACHE_COMPRESSED (int) | Used to turn on-the-fly data compression on with Memcache::set(), Memcache::add() e Memcache::replace().
MEMCACHE_HAVE_SESSION (int) | 1 if this Memcache session handler is available, 0 otherwise.
MEMCACHE_USER1 (int) | Used to turn user-defined application flag on with Memcache::set(), Memcache::add() e Memcache::replace().
MEMCACHE_USER2 (int) | Used to turn user-defined application flag on with Memcache::set(), Memcache::add() e Memcache::replace().
MEMCACHE_USER3 (int) | Used to turn user-defined application flag on with Memcache::set(), Memcache::add() e Memcache::replace().
MEMCACHE_USER4 (int) | Used to turn user-defined application flag on with Memcache::set(), Memcache::add() e Memcache::replace().


  • « Constantes pré-definidas
  • Basic usage »
  • PHP Manual
  • Memcache
  • Exemplos

Exemplos

Índice

  • Basic usage


Basic usage

Exemplo #1 memcache extension overview example

In this example, an object is being saved in the cache and then retrieved back. Object and other non-scalar types are serialized before saving, so it's impossible to store resources (i.e. connection identifiers and others) in the cache.

<?php

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");

$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";

$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";

var_dump($get_result);

?>

Exemplo #2 Using memcache session handler

<?php

$session_save_path = "tcp://$host:$port?persistent=1&weight=2&timeout=2&retry_interval=10,  ,tcp://$host:$port  ";
ini_set('session.save_handler', 'memcache');
ini_set('session.save_path', $session_save_path);

?>


The Memcache class

(PECL memcache >= 0.2.0)

Introdução

Represents a connection to a set of memcache servers.

Sinopse da classe

Memcache {
add ( string $key , mixed $var , int $flag = ? , int $expire = ? ) : bool
addServer ( string $host , int $port = 11211 , bool $persistent = ? , int $weight = ? , int $timeout = ? , int $retry_interval = ? , bool $status = ? , callable $failure_callback = ? , int $timeoutms = ? ) : bool
close ( ) : bool
connect ( string $host , int $port = ? , int $timeout = ? ) : bool
decrement ( string $key , int $value = 1 ) : int|false
delete ( string $key , int $timeout = 0 ) : bool
flush ( ) : bool
get ( string $key , int &$flags = ? ) : string
getExtendedStats ( string $type = ? , int $slabid = ? , int $limit = 100 ) : array
getServerStatus ( string $host , int $port = 11211 ) : int
getStats ( string $type = ? , int $slabid = ? , int $limit = 100 ) : array|false
getVersion ( ) : string|false
increment ( string $key , int $value = 1 ) : int|false
pconnect ( string $host , int $port = ? , int $timeout = ? ) : mixed
replace ( string $key , mixed $var , int $flag = ? , int $expire = ? ) : bool
set ( string $key , mixed $var , int $flag = ? , int $expire = ? ) : bool
setCompressThreshold ( int $threshold , float $min_savings = ? ) : bool
setServerParams ( string $host , int $port = 11211 , int $timeout = ? , int $retry_interval = false , bool $status = ? , callable $failure_callback = ? ) : bool
}

Índice

  • Memcache::add — Add an item to the server
  • Memcache::addServer — Add a memcached server to connection pool
  • Memcache::close — Close memcached server connection
  • Memcache::connect — Open memcached server connection
  • Memcache::decrement — Decrement item's value
  • Memcache::delete — Delete item from the server
  • Memcache::flush — Flush all existing items at the server
  • Memcache::get — Retrieve item from the server
  • Memcache::getExtendedStats — Get statistics from all servers in pool
  • Memcache::getServerStatus — Returns server status
  • Memcache::getStats — Get statistics of the server
  • Memcache::getVersion — Return version of the server
  • Memcache::increment — Increment item's value
  • Memcache::pconnect — Open memcached server persistent connection
  • Memcache::replace — Replace value of the existing item
  • Memcache::set — Store data at the server
  • Memcache::setCompressThreshold — Enable automatic compression of large values
  • Memcache::setServerParams — Changes server parameters and status at runtime


Add an item to the server

  • « Memcache
  • Memcache::addServer »
  • PHP Manual
  • Memcache
  • Add an item to the server

Memcache::add

(PECL memcache >= 0.2.0)

Memcache::add — Add an item to the server

Descrição

Memcache::add ( string $key , mixed $var , int $flag = ? , int $expire = ? ) : bool

Memcache::add() stores variable var with key only if such key doesn't exist at the server yet. Also you can use memcache_add() function.

Parâmetros

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Returns false if such key already exist. For the rest Memcache::add() behaves similarly to Memcache::set().

Exemplos

Exemplo #1 Memcache::add() example

<?php

$memcache_obj = memcache_connect("localhost", 11211);

/* procedural API */
memcache_add($memcache_obj, 'var_key', 'test variable', false, 30);

/* OO API */
$memcache_obj->add('var_key', 'test variable', false, 30);

?>

Veja Também

  • Memcache::set() - Store data at the server
  • Memcache::replace() - Replace value of the existing item


Add a memcached server to connection pool

  • « Memcache::add
  • Memcache::close »
  • PHP Manual
  • Memcache
  • Add a memcached server to connection pool

Memcache::addServer

(PECL memcache >= 2.0.0)

Memcache::addServer — Add a memcached server to connection pool

Descrição

Memcache::addServer ( string $host , int $port = 11211 , bool $persistent = ? , int $weight = ? , int $timeout = ? , int $retry_interval = ? , bool $status = ? , callable $failure_callback = ? , int $timeoutms = ? ) : bool

Memcache::addServer() adds a server to the connection pool. You can also use the memcache_add_server() function.

When using this method (as opposed to Memcache::connect() and Memcache::pconnect()) the network connection is not established until actually needed. Thus there is no overhead in adding a large number of servers to the pool, even though they might not all be used.

Failover may occur at any stage in any of the methods, as long as other servers are available the request the user won't notice. Any kind of socket or Memcached server level errors (except out-of-memory) may trigger the failover. Normal client errors such as adding an existing key will not trigger a failover.

Nota:

This function has been added to Memcache version 2.0.0.

Parâmetros

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

Please note: port defaults to memcache.default_port if not specified. For this reason it is wise to specify the port explicitly in this method call.

persistent

Controls the use of a persistent connection. Default to true.

weight

Number of buckets to create for this server which in turn control its probability of it being selected. The probability is relative to the total weight of all servers.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

retry_interval

Controls how often a failed server will be retried, the default value is 15 seconds. Setting this parameter to -1 disables automatic retry. Neither this nor the persistent parameter has any effect when the extension is loaded dynamically via dl().

Each failed connection struct has its own timeout and before it has expired the struct will be skipped when selecting backends to serve a request. Once expired the connection will be successfully reconnected or marked as failed for another retry_interval seconds. The typical effect is that each web server child will retry the connection about every retry_interval seconds when serving a page.

status

Controls if the server should be flagged as online. Setting this parameter to false and retry_interval to -1 allows a failed server to be kept in the pool so as not to affect the key distribution algorithm. Requests for this server will then failover or fail immediately depending on the memcache.allow_failover setting. Default to true, meaning the server should be considered online.

failure_callback

Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attempted. The function takes two parameters, the hostname and port of the failed server.

timeoutms

Notas

Aviso

When the port is unspecified, this method defaults to the value set of the PHP ini directive memcache.default_port If this value was changed elsewhere in your application it might lead to unexpected results: for this reason it is wise to always specify the port explicitly in this method call.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Memcache::addServer() example

<?php

/* OO API */

$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
$memcache->addServer('memcache_host2', 11211);

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_add_server($memcache_obj, 'memcache_host2', 11211);

?>

Veja Também

  • Memcache::connect() - Open memcached server connection
  • Memcache::pconnect() - Open memcached server persistent connection
  • Memcache::close() - Close memcached server connection
  • Memcache::setServerParams() - Changes server parameters and status at runtime
  • Memcache::getServerStatus() - Returns server status


Close memcached server connection

  • « Memcache::addServer
  • Memcache::connect »
  • PHP Manual
  • Memcache
  • Close memcached server connection

Memcache::close

(PECL memcache >= 0.4.0)

Memcache::close — Close memcached server connection

Descrição

Memcache::close ( ) : bool

Memcache::close() closes connection to memcached server. This function doesn't close persistent connections, which are closed only during web-server shutdown/restart. Also you can use memcache_close() function.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Memcache::close() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/*
do something here...
*/
memcache_close($memcache_obj);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/*
do something here...
*/
$memcache_obj->close();

?>

Veja Também

  • Memcache::connect() - Open memcached server connection
  • Memcache::pconnect() - Open memcached server persistent connection


Open memcached server connection

  • « Memcache::close
  • Memcache::decrement »
  • PHP Manual
  • Memcache
  • Open memcached server connection

Memcache::connect

(PECL memcache >= 0.2.0)

Memcache::connect — Open memcached server connection

Descrição

Memcache::connect ( string $host , int $port = ? , int $timeout = ? ) : bool

Memcache::connect() establishes a connection to the memcached server. The connection, which was opened using Memcache::connect() will be automatically closed at the end of script execution. Also you can close it with Memcache::close(). Also you can use memcache_connect() function.

Parâmetros

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

Please note: port defaults to memcache.default_port if not specified. For this reason it is wise to specify the port explicitly in this method call.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

Notas

Aviso

When the port is unspecified, this method defaults to the value set of the PHP ini directive memcache.default_port If this value was changed elsewhere in your application it might lead to unexpected results: for this reason it is wise to always specify the port explicitly in this method call.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Memcache::connect() example

<?php

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);

/* OO API */

$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);

?>

Veja Também

  • Memcache::pconnect() - Open memcached server persistent connection
  • Memcache::close() - Close memcached server connection


Decrement item's value

  • « Memcache::connect
  • Memcache::delete »
  • PHP Manual
  • Memcache
  • Decrement item's value

Memcache::decrement

(PECL memcache >= 0.2.0)

Memcache::decrement — Decrement item's value

Descrição

Memcache::decrement ( string $key , int $value = 1 ) : int|false

Memcache::decrement() decrements value of the item by value. Similarly to Memcache::increment(), current value of the item is being converted to numerical and after that value is subtracted.

Nota:

New item's value will not be less than zero.

Nota:

Do not use Memcache::decrement() with item, which was stored compressed, because consequent call to Memcache::get() will fail.

Memcache::decrement() does not create an item if it didn't exist. Also you can use memcache_decrement() function.

Parâmetros

key

Key of the item do decrement.

value

Decrement the item by value.

Valor Retornado

Returns item's new value on success ou false em caso de falha.

Exemplos

Exemplo #1 Memcache::decrement() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* decrement item by 2 */
$new_value = memcache_decrement($memcache_obj, 'test_item', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* decrement item by 3 */
$new_value = $memcache_obj->decrement('test_item', 3);
?>

Veja Também

  • Memcache::increment() - Increment item's value
  • Memcache::replace() - Replace value of the existing item


Delete item from the server

  • « Memcache::decrement
  • Memcache::flush »
  • PHP Manual
  • Memcache
  • Delete item from the server

Memcache::delete

(PECL memcache >= 0.2.0)

Memcache::delete — Delete item from the server

Descrição

Memcache::delete ( string $key , int $timeout = 0 ) : bool

Memcache::delete() deletes an item with the key.

Parâmetros

key

The key associated with the item to delete.

timeout

This deprecated parameter is not supported, and defaults to 0 seconds. Do not use this parameter.

Changelog

Versão | Descrição
Unknown | It's not recommended to use the timeout parameter. The behavior differs between memcached versions, but setting to 0 is safe. Other values for this deprecated feature may cause the memcache delete to fail.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Memcache::delete() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);

/* item will be deleted by the server */
memcache_delete($memcache_obj, 'key_to_delete');

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->delete('key_to_delete');

?>

Veja Também

  • Memcache::set() - Store data at the server
  • Memcache::replace() - Replace value of the existing item


Flush all existing items at the server

  • « Memcache::delete
  • Memcache::get »
  • PHP Manual
  • Memcache
  • Flush all existing items at the server

Memcache::flush

(PECL memcache >= 1.0.0)

Memcache::flush — Flush all existing items at the server

Descrição

Memcache::flush ( ) : bool

Memcache::flush() immediately invalidates all existing items. Memcache::flush() doesn't actually free any resources, it only marks all the items as expired, so occupied memory will be overwritten by new items. Also you can use memcache_flush() function.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Memcache::flush() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);

memcache_flush($memcache_obj);

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->flush();

?>


Retrieve item from the server

  • « Memcache::flush
  • Memcache::getExtendedStats »
  • PHP Manual
  • Memcache
  • Retrieve item from the server

Memcache::get

(PECL memcache >= 0.2.0)

Memcache::get — Retrieve item from the server

Descrição

Memcache::get ( string $key , int &$flags = ? ) : string
Memcache::get ( array $keys , array &$flags = ? ) : array

Memcache::get() returns previously stored data of an item, if such key exists on the server at this moment.

You can pass array of keys to Memcache::get() to get array of values. The result array will contain only found key-value pairs.

Parâmetros

key

The key or array of keys to fetch.

flags

If present, flags fetched along with the values will be written to this parameter. These flags are the same as the ones given to for example Memcache::set(). The lowest byte of the int is reserved for pecl/memcache internal usage (e.g. to indicate compression and serialization status).

Valor Retornado

Returns the value associated with the key or an array of found key-value pairs when key is an array. Returns false on failure, key is not found or key is an empty array.

Exemplos

Exemplo #1 Memcache::get() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, 'some_key');

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get('some_key');

/*
You also can use array of keys as a parameter.
If such item wasn't found at the server, the result
array simply will not include such key.
*/

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, Array('some_key', 'another_key'));

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'second_key'));

?>


Get statistics from all servers in pool

  • « Memcache::get
  • Memcache::getServerStatus »
  • PHP Manual
  • Memcache
  • Get statistics from all servers in pool

Memcache::getExtendedStats

(PECL memcache >= 2.0.0)

Memcache::getExtendedStats — Get statistics from all servers in pool

Descrição

Memcache::getExtendedStats ( string $type = ? , int $slabid = ? , int $limit = 100 ) : array

Memcache::getExtendedStats() returns a two-dimensional associative array with server statistics. Array keys correspond to host:port of server and values contain the individual server statistics. A failed server will have its corresponding entry set to false. You can also use the memcache_get_extended_stats() function.

Nota:

This function has been added to Memcache version 2.0.0.

Parâmetros

type

The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".

slabid

Used in conjunction with type set to cachedump to identify the slab to dump from. The cachedump command ties up the server and is strictly to be used for debugging purposes.

limit

Used in conjunction with type set to cachedump to limit the number of entries to dump.

Aviso

The cachedump stat type has been removed from the memcached daemon due to security reasons.

Valor Retornado

Returns a two-dimensional associative array of server statistics or false on failure.

Exemplos

Exemplo #1 Memcache::getExtendedStats() example

<?php
    $memcache_obj = new Memcache;
    $memcache_obj->addServer('memcache_host', 11211);
    $memcache_obj->addServer('failed_host', 11211);

    $stats = $memcache_obj->getExtendedStats();
    print_r($stats);
?>

O exemplo acima irá imprimir:

Array
(
    [memcache_host:11211] => Array
        (
            [pid] => 3756
            [uptime] => 603011
            [time] => 1133810435
            [version] => 1.1.12
            [rusage_user] => 0.451931
            [rusage_system] => 0.634903
            [curr_items] => 2483
            [total_items] => 3079
            [bytes] => 2718136
            [curr_connections] => 2
            [total_connections] => 807
            [connection_structures] => 13
            [cmd_get] => 9748
            [cmd_set] => 3096
            [get_hits] => 5976
            [get_misses] => 3772
            [bytes_read] => 3448968
            [bytes_written] => 2318883
            [limit_maxbytes] => 33554432
        )

    [failed_host:11211] => false
)

Veja Também

  • Memcache::getVersion() - Return version of the server
  • Memcache::getStats() - Get statistics of the server


Returns server status

  • « Memcache::getExtendedStats
  • Memcache::getStats »
  • PHP Manual
  • Memcache
  • Returns server status

Memcache::getServerStatus

(PECL memcache >= 2.1.0)

Memcache::getServerStatus — Returns server status

Descrição

Memcache::getServerStatus ( string $host , int $port = 11211 ) : int

Memcache::getServerStatus() returns a the servers online/offline status. You can also use memcache_get_server_status() function.

Nota:

This function has been added to Memcache version 2.1.0.

Parâmetros

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections.

Valor Retornado

Returns a the servers status. 0 if server is failed, non-zero otherwise

Exemplos

Exemplo #1 Memcache::getServerStatus() example

<?php

/* OO API */
$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
echo $memcache->getServerStatus('memcache_host', 11211);

/* procedural API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_server_status($memcache, 'memcache_host', 11211);

?>

Veja Também

  • Memcache::addServer() - Add a memcached server to connection pool
  • Memcache::setServerParams() - Changes server parameters and status at runtime


Get statistics of the server

  • « Memcache::getServerStatus
  • Memcache::getVersion »
  • PHP Manual
  • Memcache
  • Get statistics of the server

Memcache::getStats

(PECL memcache >= 0.2.0)

Memcache::getStats — Get statistics of the server

Descrição

Memcache::getStats ( string $type = ? , int $slabid = ? , int $limit = 100 ) : array|false

Memcache::getStats() returns an associative array with server's statistics. Array keys correspond to stats parameters and values to parameter's values. Also you can use memcache_get_stats() function.

Parâmetros

type

The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".

slabid

Used in conjunction with type set to cachedump to identify the slab to dump from. The cachedump command ties up the server and is strictly to be used for debugging purposes.

limit

Used in conjunction with type set to cachedump to limit the number of entries to dump.

Valor Retornado

Returns an associative array of server statistics ou false em caso de falha.

Veja Também

  • Memcache::getVersion() - Return version of the server
  • Memcache::getExtendedStats() - Get statistics from all servers in pool


Return version of the server

  • « Memcache::getStats
  • Memcache::increment »
  • PHP Manual
  • Memcache
  • Return version of the server

Memcache::getVersion

(PECL memcache >= 0.2.0)

Memcache::getVersion — Return version of the server

Descrição

Memcache::getVersion ( ) : string|false

Memcache::getVersion() returns a string with server's version number. Also you can use memcache_get_version() function.

Valor Retornado

Returns a string of server version number ou false em caso de falha.

Exemplos

Exemplo #1 Memcache::getVersion() example

<?php

/* OO API */
$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);
echo $memcache->getVersion();

/* procedural API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_version($memcache);

?>

Veja Também

  • Memcache::getExtendedStats() - Get statistics from all servers in pool
  • Memcache::getStats() - Get statistics of the server


Increment item's value

  • « Memcache::getVersion
  • Memcache::pconnect »
  • PHP Manual
  • Memcache
  • Increment item's value

Memcache::increment

(PECL memcache >= 0.2.0)

Memcache::increment — Increment item's value

Descrição

Memcache::increment ( string $key , int $value = 1 ) : int|false

Memcache::increment() increments value of an item by the specified value. If item specified by key was not numeric and cannot be converted to a number, it will change its value to value. Memcache::increment() does not create an item if it doesn't already exist.

Nota:

Do not use Memcache::increment() with items that have been stored compressed because subsequent calls to Memcache::get() will fail.

Also you can use memcache_increment() function.

Parâmetros

key

Key of the item to increment.

value

Increment the item by value.

Valor Retornado

Returns new items value on success ou false em caso de falha.

Exemplos

Exemplo #1 Memcache::increment() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* increment counter by 2 */
$current_value = memcache_increment($memcache_obj, 'counter', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* increment counter by 3 */
$current_value = $memcache_obj->increment('counter', 3);

?>

Veja Também

  • Memcache::decrement() - Decrement item's value
  • Memcache::replace() - Replace value of the existing item


Open memcached server persistent connection

  • « Memcache::increment
  • Memcache::replace »
  • PHP Manual
  • Memcache
  • Open memcached server persistent connection

Memcache::pconnect

(PECL memcache >= 0.4.0)

Memcache::pconnect — Open memcached server persistent connection

Descrição

Memcache::pconnect ( string $host , int $port = ? , int $timeout = ? ) : mixed

Memcache::pconnect() is similar to Memcache::connect() with the difference, that the connection it establishes is persistent. This connection is not closed after the end of script execution and by Memcache::close() function. Also you can use memcache_pconnect() function.

Parâmetros

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

Valor Retornado

Returns a Memcache object ou false em caso de falha.

Exemplos

Exemplo #1 Memcache::pconnect() example

<?php

/* procedural API */
$memcache_obj = memcache_pconnect('memcache_host', 11211);

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->pconnect('memcache_host', 11211);

?>

Veja Também

  • Memcache::connect() - Open memcached server connection


Replace value of the existing item

  • « Memcache::pconnect
  • Memcache::set »
  • PHP Manual
  • Memcache
  • Replace value of the existing item

Memcache::replace

(PECL memcache >= 0.2.0)

Memcache::replace — Replace value of the existing item

Descrição

Memcache::replace ( string $key , mixed $var , int $flag = ? , int $expire = ? ) : bool

Memcache::replace() should be used to replace value of
existing item with key. In case if item with such
key doesn't exists, Memcache::replace() returns
false. For the rest Memcache::replace() behaves
similarly to Memcache::set().
Also you can use memcache_replace() function.

Parâmetros

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Memcache::replace() example

<?php

$memcache_obj = memcache_connect('memcache_host', 11211);

/* procedural API */
memcache_replace($memcache_obj, "test_key", "some variable", false, 30);

/* OO API */
$memcache_obj->replace("test_key", "some variable", false, 30);

?>

Veja Também

  • Memcache::set() - Store data at the server
  • Memcache::add() - Add an item to the server


Store data at the server

  • « Memcache::replace
  • Memcache::setCompressThreshold »
  • PHP Manual
  • Memcache
  • Store data at the server

Memcache::set

(PECL memcache >= 0.2.0)

Memcache::set — Store data at the server

Descrição

Memcache::set ( string $key , mixed $var , int $flag = ? , int $expire = ? ) : bool

Memcache::set() stores an item var with key on the memcached server. Parameter expire is expiration time in seconds. If it's 0, the item never expires (but memcached server doesn't guarantee this item to be stored all the time, it could be deleted from the cache to make place for other items). You can use MEMCACHE_COMPRESSED constant as flag value if you want to use on-the-fly compression (uses zlib).

Nota:

Remember that resource variables (i.e. file and connection descriptors) cannot be stored in the cache, because they cannot be adequately represented in serialized state.

Also you can use memcache_set() function.

Parâmetros

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Memcache::set() example

<?php
/* procedural API */

/* connect to memcached server */
$memcache_obj = memcache_connect('memcache_host', 11211);

/*
set value of item with key 'var_key'
using 0 as flag value, compression is not used
expire time is 30 seconds
*/
memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);

echo memcache_get($memcache_obj, 'var_key');

?>

Exemplo #2 Memcache::set() example

<?php
/* OO API */

$memcache_obj = new Memcache;

/* connect to memcached server */
$memcache_obj->connect('memcache_host', 11211);

/*
set value of item with key 'var_key', using on-the-fly compression
expire time is 50 seconds
*/
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);

echo $memcache_obj->get('var_key');

?>

Veja Também

  • Memcache::add() - Add an item to the server
  • Memcache::replace() - Replace value of the existing item


Enable automatic compression of large values

  • « Memcache::set
  • Memcache::setServerParams »
  • PHP Manual
  • Memcache
  • Enable automatic compression of large values

Memcache::setCompressThreshold

(PECL memcache >= 2.0.0)

Memcache::setCompressThreshold — Enable automatic compression of large values

Descrição

Memcache::setCompressThreshold ( int $threshold , float $min_savings = ? ) : bool

Memcache::setCompressThreshold() enables automatic compression of large values. You can also use the memcache_set_compress_threshold() function.

Nota:

This function has been added to Memcache version 2.0.0.

Parâmetros

threshold

Controls the minimum value length before attempting to compress automatically.

min_saving

Specifies the minimum amount of savings to actually store the value compressed. The supplied value must be between 0 and 1. Default value is 0.2 giving a minimum 20% compression savings.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Memcache::setCompressThreshold() example

<?php

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->setCompressThreshold(20000, 0.2);

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_compress_threshold($memcache_obj, 20000, 0.2);

?>


Changes server parameters and status at runtime

  • « Memcache::setCompressThreshold
  • Memcache Funções »
  • PHP Manual
  • Memcache
  • Changes server parameters and status at runtime

Memcache::setServerParams

(PECL memcache >= 2.1.0)

Memcache::setServerParams — Changes server parameters and status at runtime

Descrição

Memcache::setServerParams ( string $host , int $port = 11211 , int $timeout = ? , int $retry_interval = false , bool $status = ? , callable $failure_callback = ? ) : bool

Memcache::setServerParams() changes server parameters at runtime. You can also use the memcache_set_server_params() function.

Nota:

This function has been added to Memcache version 2.1.0.

Parâmetros

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

retry_interval

Controls how often a failed server will be retried, the default value is 15 seconds. Setting this parameter to -1 disables automatic retry. Neither this nor the persistent parameter has any effect when the extension is loaded dynamically via dl().

status

Controls if the server should be flagged as online. Setting this parameter to false and retry_interval to -1 allows a failed server to be kept in the pool so as not to affect the key distribution algorithm. Requests for this server will then failover or fail immediately depending on the memcache.allow_failover setting. Default to true, meaning the server should be considered online.

failure_callback

Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attempted. The function takes two parameters, the hostname and port of the failed server.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Memcache::setServerParams() example

<?php

function _callback_memcache_failure($host, $port) {
    print "memcache '$host:$port' failed";
}

/* OO API */

$memcache = new Memcache;

// Add the server in offline mode
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);

// Bring the server back online
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

?>

Veja Também

  • Memcache::addServer() - Add a memcached server to connection pool
  • Memcache::getServerStatus() - Returns server status


  • « Memcache::setServerParams
  • memcache_debug »
  • PHP Manual
  • Memcache
  • Memcache Funções

Memcache Funções

Índice

  • memcache_debug — Turn debug output on/off


Turn debug output on/off

  • « Memcache Funções
  • Memcached »
  • PHP Manual
  • Memcache Funções
  • Turn debug output on/off

memcache_debug

(PECL memcache >= 0.2.0)

memcache_debug — Turn debug output on/off

Descrição

memcache_debug ( bool $on_off ) : bool

memcache_debug() turns on debug output if parameter on_off is equal to true and turns off if it's false.

Nota:

memcache_debug() is accessible only if PHP was built with --enable-debug option and always returns true in this case. Otherwise, this function has no effect and always returns false.

Parâmetros

on_off

Turns debug output on if equals to true. Turns debug output off if equals to false.

Valor Retornado

Returns true if PHP was built with --enable-debug option, otherwise returns false.


Memcached

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Expiration Times
  • Callbacks
    • Result callbacks
    • Read-through cache callbacks
  • Sessions support
  • Memcached — The Memcached class
    • Memcached::add — Add an item under a new key
    • Memcached::addByKey — Add an item under a new key on a specific server
    • Memcached::addServer — Add a server to the server pool
    • Memcached::addServers — Add multiple servers to the server pool
    • Memcached::append — Append data to an existing item
    • Memcached::appendByKey — Append data to an existing item on a specific server
    • Memcached::cas — Compare and swap an item
    • Memcached::casByKey — Compare and swap an item on a specific server
    • Memcached::__construct — Create a Memcached instance
    • Memcached::decrement — Decrement numeric item's value
    • Memcached::decrementByKey — Decrement numeric item's value, stored on a specific server
    • Memcached::delete — Delete an item
    • Memcached::deleteByKey — Delete an item from a specific server
    • Memcached::deleteMulti — Delete multiple items
    • Memcached::deleteMultiByKey — Delete multiple items from a specific server
    • Memcached::fetch — Fetch the next result
    • Memcached::fetchAll — Fetch all the remaining results
    • Memcached::flush — Invalidate all items in the cache
    • Memcached::get — Retrieve an item
    • Memcached::getAllKeys — Gets the keys stored on all the servers
    • Memcached::getByKey — Retrieve an item from a specific server
    • Memcached::getDelayed — Request multiple items
    • Memcached::getDelayedByKey — Request multiple items from a specific server
    • Memcached::getMulti — Retrieve multiple items
    • Memcached::getMultiByKey — Retrieve multiple items from a specific server
    • Memcached::getOption — Retrieve a Memcached option value
    • Memcached::getResultCode — Return the result code of the last operation
    • Memcached::getResultMessage — Return the message describing the result of the last operation
    • Memcached::getServerByKey — Map a key to a server
    • Memcached::getServerList — Get the list of the servers in the pool
    • Memcached::getStats — Get server pool statistics
    • Memcached::getVersion — Get server pool version info
    • Memcached::increment — Increment numeric item's value
    • Memcached::incrementByKey — Increment numeric item's value, stored on a specific server
    • Memcached::isPersistent — Check if a persitent connection to memcache is being used
    • Memcached::isPristine — Check if the instance was recently created
    • Memcached::prepend — Prepend data to an existing item
    • Memcached::prependByKey — Prepend data to an existing item on a specific server
    • Memcached::quit — Close any open connections
    • Memcached::replace — Replace the item under an existing key
    • Memcached::replaceByKey — Replace the item under an existing key on a specific server
    • Memcached::resetServerList — Clears all servers from the server list
    • Memcached::set — Store an item
    • Memcached::setByKey — Store an item on a specific server
    • Memcached::setMulti — Store multiple items
    • Memcached::setMultiByKey — Store multiple items on a specific server
    • Memcached::setOption — Set a Memcached option
    • Memcached::setOptions — Set Memcached options
    • Memcached::setSaslAuthData — Set the credentials to use for authentication
    • Memcached::touch — Set a new expiration on an item
    • Memcached::touchByKey — Set a new expiration on an item on a specific server
  • MemcachedException — The MemcachedException class


Introdução

» memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

This extension uses the libmemcached library to provide an API for communicating with memcached servers. It also provides a session handler (memcached).

Information about libmemcached can be found at » http://libmemcached.org/libMemcached.html.


Dependências

This extension requires » libmemcached client library (version 1.0.0 or greater). For SASL authentication support, libmemcached must be built with SASL enabled.

Since version 0.2.0, this extension requires PHP version 5.2.0 or higher.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/memcached.

If libmemcached is installed in a non-standard location, use --with-libmemcached-dir=DIR switch, where DIR is the libmemcached install prefix. This directory has to contain the include/libmemcached/memcached.h file.

Zlib is required for compression support. To specify non-standard installation of Zlib, use --with-zlib-dir=DIR switch, where DIR is the Zlib install prefix.

Session handler support is enabled by default. To disable it, use --disable-memcached-session switch.

SASL authentication support is disabled by default. To enable it, use --enable-memcached-sasl switch. This requires that libsasl2 has been installed and that libmemcached has been built with SASL support enabled.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Memcached Opções de Configuração
Nome | Padrão | Modificável | Changelog
memcached.sess_locking | On | PHP_INI_ALL | Available as of memcached 0.1.0.
memcached.sess_consistent_hash | On | PHP_INI_ALL | Available as of memcached 2.1.0. Default value is On as of memcached 3.0.0.
memcached.sess_binary | Off | PHP_INI_ALL | Available as of memcached 2.0.0. Replaced by memcached.sess_binary_protocol as of memcached 3.0.0.
memcached.sess_lock_wait | 150000 | PHP_INI_ALL | Available as of memcached 0.1.0. Removed as of memcached 3.0.0.
memcached.sess_prefix | memc.sess.key. | PHP_INI_ALL | Available as of memcached 0.1.0.
memcached.sess_number_of_replicas | 0 | PHP_INI_ALL | Available as of memcached 2.1.0.
memcached.sess_randomize_replica_read | Off | PHP_INI_ALL | Available as of memcached 2.1.0.
memcached.sess_remove_failed | On | PHP_INI_ALL | Available as of memcached 2.1.0. Replaced by memcached.sess_remove_failed_servers as of memcached 3.0.0.
memcached.compression_type | fastlz | PHP_INI_ALL | Available as of memcached 0.1.0.
memcached.compression_factor | 1.3 | PHP_INI_ALL | Available as of memcached 0.1.0.
memcached.compression_threshold | 2000 | PHP_INI_ALL | Available as of memcached 0.1.0.
memcached.serializer | igbinary | PHP_INI_ALL | Available as of memcached 0.1.0.
memcached.use_sasl | Off | PHP_INI_ALL | Available as of memcached 2.2.0. Removed as of memcached 3.0.0.
memcached.default_binary_protocol | Off | PHP_INI_ALL | Available as of memcached 3.0.0.
memcached.default_connect_timeout | 0 | PHP_INI_ALL | Available as of memcached 3.0.0.
memcached.default_consistent_hash | Off | PHP_INI_ALL | Available as of memcached 3.0.0.
memcached.sess_binary_protocol | On | PHP_INI_ALL | Available as of memcached 3.0.0. Replace memcached.sess_binary.
memcached.sess_connect_timeout | 1000 | PHP_INI_ALL | Available as of memcached 2.2.0.
memcached.sess_consistent_hash_type | ketama | PHP_INI_ALL | Available as of memcached 3.1.0.
memcached.sess_lock_expire | 0 | PHP_INI_ALL | Available as of memcached 2.2.0.
memcached.sess_lock_retries | 5 | PHP_INI_ALL | Available as of memcached 3.0.0.
memcached.sess_lock_wait_max | 150 | PHP_INI_ALL | Available as of memcached 3.0.0. Default value 150 as of memcached 3.1.0 (previously 2000).
memcached.sess_lock_wait_min | 150 | PHP_INI_ALL | Available as of memcached 3.0.0. Default value 150 as of memcached 3.1.0 (previously 1000).
memcached.sess_persistent | Off | PHP_INI_ALL | Available as of memcached 3.0.0.
memcached.sess_remove_failed_servers | Off | PHP_INI_ALL | Available as of memcached 3.0.0. Replace memcached.sess_remove_failed.
memcached.sess_server_failure_limit | 0 | PHP_INI_ALL | Available as of memcached 3.0.0.
memcached.sess_sasl_password | null | PHP_INI_ALL | Available as of memcached 2.2.0.
memcached.sess_sasl_username | null | PHP_INI_ALL | Available as of memcached 2.2.0.
memcached.store_retry_count | 2 | PHP_INI_ALL | Available as of memcached 2.2.0.

Uma rápida explicação das diretivas de configuração.

memcached.sess_locking bool

Use session locking. Valid values: On, Off, the default is On.

memcached.sess_consistent_hash bool

If set to On, consistent hashing (libketama) is used for session handling. When consistent hashing is used, one can add or remove cache node(s) without messing up too much with existing keys. Default is On.

memcached.sess_binary bool

Use memcached session binary mode. Libmemcached replicas only work if binary mode is enabled. The default is Off.

memcached.sess_lock_wait int

Session spin lock retry wait time in microseconds. Be careful when setting this value. Valid values are integers, where 0 is interpreted as the default value. Negative values result in a reduces locking to a try lock. The default is 150000.

memcached.sess_prefix string

Memcached session key prefix. Valid values are strings less than 219 bytes long. The default value is "memc.sess.key."

memcached.sess_number_of_replicas int

Write data to a number of additional memcached servers. This is "poor man's HA" as libmemcached calls it. If this value is positive and sess_remove_failed_servers is enabled when a memcached server fails the session will continue to be available from a replica. However, if the failed memcache server becomes available again it will read the session from there which could have old data or no data at all. Default is 0.

memcached.sess_randomize_replica_read bool

Memcached session replica read randomize.

memcached.sess_remove_failed int

Allow failed memcached server to automatically be removed.

memcached.compression_type string

Set the compression type, valid values are: fastlz, zlib. The default is fastlz.

memcached.compression_factor float

Compression factor. Store compressed value only if the compression factor (saving) exceeds the set limit. Store compressed if: plain_len > comp_len * factor. The default value is 1.3 (23% space saving).

memcached.compression_threshold int

The compression threshold. Do not compress serialized values below this threshold. The default is 2000 bytes.

memcached.serializer string

Set the default serializer for new memcached objects. Valid values are: php, igbinary, json, json_array, msgpack.

json

Standard php JSON encoding. This serializer is fast and compact but only works on UTF-8 encoded data and does not fully implement serializing. See the JSON extension. Available as of memcached 0.2.0.

json_array

As json, but decodes into arrays. Available as of memcached 2.0.0.

php

The standard PHP serializer.

igbinary

A binary serializer. Available as of memcached 0.1.4.

msgpack

A cross-language binary serializer. Available as of memcached 2.2.0.

The default is igbinary if available, then msgpack if available, then php otherwise.

memcached.use_sasl bool

Use SASL authentication for connections. Valid values: On, Off. The default is Off.

memcached.default_binary_protocol bool

Sets the default memcached protocol for new connections. (To configure the memcached protocol for connections used by sessions, use memcached.sess_binary_protocol instead) If set to On, the memcached binary protocol is used by default. If set to Off, the memcached text protocol is used. Default is Off

memcached.default_connect_timeout int

Sets the default memcached connection timeout for new connections. (To configure the memcached connection timeout for sessions, use memcached.sess_connect_timeout instead) In non-blocking mode this changes the value of the timeout. during socket connection in milliseconds. Specifying -1 means an infinite timeout. Specifying 0 means using the memcached library's default connection timeout. Default is 0.

memcached.default_consistent_hash bool

Sets the default for consistent hashing for new connections. (To configure consistent hashing for session connections, use memcached.sess_consistent_hash instead) If set to On, consistent hashing (libketama) is used for session handling. When consistent hashing is used, one can add or remove cache node(s) without messing up too much with existing keys default is Off

memcached.sess_binary_protocol bool

Use the memcached binary protocol for memcached sessions (Instead of the text protocol) libmemcached replicas work only if binary mode is enabled. However, certain proxies (such as twemproxy) will work only if the binary protocol is disabled. In older versions of php-memcached, this setting was Off and was called memcached.sess_binary. Default is On with libmemcached 1.0.18 or newer. Default is Off with older version.

memcached.sess_connect_timeout int

memcached connect timeout value In non-blocking mode this changes the value of the timeout during socket connection in milliseconds. Specifying -1 means an infinite timeout.

memcached.sess_consistent_hash_type string

Memcached session consistent hash type. If set to 'ketama', consistent hashing (libketama) is used for session handling (default for php-memcached 3.x) if set to 'ketama_weighted', weighted consistent hashing (libketama) is used for session handling (default for php-memcached 2.x). Default is "ketama".

memcached.sess_lock_expire int

The time, in seconds, before a lock should release itself. Setting to 0 results in the default behaviour, which is to use PHP's max_execution_time. Default is 0.

memcached.sess_lock_retries int

The number of times to retry locking the session lock, not including the first attempt. Default is 5.

memcached.sess_lock_wait_max int

The maximum time, in milliseconds, to wait between session lock attempts. The default is 150.

memcached.sess_lock_wait_min int

The minimum time, in milliseconds, to wait between session lock attempts. This value is double on each lock retry until memcached.sess_lock_wait_max is reached, after which any further retries will take sess_lock_wait_max seconds. The default is 150.

memcached.sess_persistent bool

Whether or not to re-use the memcached connections corresponding to the value(s) of session.save_path after the execution of the script ends. Don't use this if certain settings (e.g. SASL settings, sess_binary_protocol) would be overridden between requests. Default is Off.

memcached.sess_remove_failed_servers bool

Allow failed memcached server to automatically be removed. Default is Off. (In previous versions, this setting was called memcached.sess_remove_failed)

memcached.sess_server_failure_limit int

Set this value to enable the server be removed after configured number of continuous times connection failure. Default is 0.

memcached.sess_sasl_password string

Session SASL password Both username and password need to be set for SASL to be enabled

memcached.sess_sasl_username string

Session SASL username Both username and password need to be set for SASL to be enabled

memcached.store_retry_count int

The amount of retries for failed store commands. This mechanism allows transparent fail-over to secondary servers when set/increment/decrement/setMulti operations fail on the desired server in a multi-server environment. the default is 2


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Memcached::OPT_COMPRESSION

Enables or disables payload compression. When enabled, item values longer than a certain threshold (currently 100 bytes) will be compressed during storage and decompressed during retrieval transparently.

Type: boolean, default: true.

Memcached::OPT_SERIALIZER

Specifies the serializer to use for serializing non-scalar values. The valid serializers are Memcached::SERIALIZER_PHP or Memcached::SERIALIZER_IGBINARY. The latter is supported only when memcached is configured with --enable-memcached-igbinary option and the igbinary extension is loaded.

Type: integer, default: Memcached::SERIALIZER_PHP.

Memcached::SERIALIZER_PHP

The default PHP serializer.

Memcached::SERIALIZER_IGBINARY

The » igbinary serializer. Instead of textual representation it stores PHP data structures in a compact binary form, resulting in space and time gains.

Memcached::SERIALIZER_JSON

The JSON serializer. Requires PHP 5.2.10+.

Memcached::OPT_PREFIX_KEY

This can be used to create a "domain" for your item keys. The value specified here will be prefixed to each of the keys. It cannot be longer than 128 characters and will reduce the maximum available key size. The prefix is applied only to the item keys, not to the server keys.

Type: string, default: "".

Memcached::OPT_HASH

Specifies the hashing algorithm used for the item keys. The valid values are supplied via Memcached::HASH_* constants. Each hash algorithm has its advantages and its disadvantages. Go with the default if you don't know or don't care.

Type: integer, default: Memcached::HASH_DEFAULT

Memcached::HASH_DEFAULT

The default (Jenkins one-at-a-time) item key hashing algorithm.

Memcached::HASH_MD5

MD5 item key hashing algorithm.

Memcached::HASH_CRC

CRC item key hashing algorithm.

Memcached::HASH_FNV1_64

FNV1_64 item key hashing algorithm.

Memcached::HASH_FNV1A_64

FNV1_64A item key hashing algorithm.

Memcached::HASH_FNV1_32

FNV1_32 item key hashing algorithm.

Memcached::HASH_FNV1A_32

FNV1_32A item key hashing algorithm.

Memcached::HASH_HSIEH

Hsieh item key hashing algorithm.

Memcached::HASH_MURMUR

Murmur item key hashing algorithm.

Memcached::OPT_DISTRIBUTION

Specifies the method of distributing item keys to the servers. Currently supported methods are modulo and consistent hashing. Consistent hashing delivers better distribution and allows servers to be added to the cluster with minimal cache losses.

Type: integer, default: Memcached::DISTRIBUTION_MODULA.

Memcached::DISTRIBUTION_MODULA

Modulo-based key distribution algorithm.

Memcached::DISTRIBUTION_CONSISTENT

Consistent hashing key distribution algorithm (based on libketama).

Memcached::OPT_LIBKETAMA_COMPATIBLE

Enables or disables compatibility with libketama-like behavior. When enabled, the item key hashing algorithm is set to MD5 and distribution is set to be weighted consistent hashing distribution. This is useful because other libketama-based clients (Python, Ruby, etc.) with the same server configuration will be able to access the keys transparently.

Nota:

It is highly recommended to enable this option if you want to use consistent hashing, and it may be enabled by default in future releases.

Type: boolean, default: false.

Memcached::OPT_BUFFER_WRITES

Enables or disables buffered I/O. Enabling buffered I/O causes storage commands to "buffer" instead of being sent. Any action that retrieves data causes this buffer to be sent to the remote connection. Quitting the connection or closing down the connection will also cause the buffered data to be pushed to the remote connection.

Type: boolean, default: false.

Memcached::OPT_BINARY_PROTOCOL

Enable the use of the binary protocol. Please note that you cannot toggle this option on an open connection.

Type: boolean, default: false.

Memcached::OPT_NO_BLOCK

Enables or disables asynchronous I/O. This is the fastest transport available for storage functions.

Type: boolean, default: false.

Memcached::OPT_TCP_NODELAY

Enables or disables the no-delay feature for connecting sockets (may be faster in some environments).

Type: boolean, default: false.

Memcached::OPT_SOCKET_SEND_SIZE

The maximum socket send buffer in bytes.

Type: integer, default: varies by platform/kernel configuration.

Memcached::OPT_SOCKET_RECV_SIZE

The maximum socket receive buffer in bytes.

Type: integer, default: varies by platform/kernel configuration.

Memcached::OPT_CONNECT_TIMEOUT

In non-blocking mode this set the value of the timeout during socket connection, in milliseconds.

Type: integer, default: 1000.

Memcached::OPT_RETRY_TIMEOUT

The amount of time, in seconds, to wait until retrying a failed connection attempt.

Type: integer, default: 0.

Memcached::OPT_SEND_TIMEOUT

Socket sending timeout, in microseconds. In cases where you cannot use non-blocking I/O this will allow you to still have timeouts on the sending of data.

Type: integer, default: 0.

Memcached::OPT_RECV_TIMEOUT

Socket reading timeout, in microseconds. In cases where you cannot use non-blocking I/O this will allow you to still have timeouts on the reading of data.

Type: integer, default: 0.

Memcached::OPT_POLL_TIMEOUT

Timeout for connection polling, in milliseconds.

Type: integer, default: 1000.

Memcached::OPT_CACHE_LOOKUPS

Enables or disables caching of DNS lookups.

Type: boolean, default: false.

Memcached::OPT_SERVER_FAILURE_LIMIT

Specifies the failure limit for server connection attempts. The server will be removed after this many continuous connection failures.

Type: integer, default: 0.

Memcached::HAVE_IGBINARY

Indicates whether igbinary serializer support is available.

Type: boolean.

Memcached::HAVE_JSON

Indicates whether JSON serializer support is available.

Type: boolean.

Memcached::HAVE_MSGPACK

Indicates whether msgpack serializer support is available.

Type: boolean.

Available as of Memcached 3.0.0.

Memcached::HAVE_SESSION

Type: boolean.

Available as of Memcached 3.0.0.

Memcached::HAVE_SASL

Type: boolean.

Available as of Memcached 3.0.0.

Memcached::GET_EXTENDED

A flag for Memcached::get(), Memcached::getMulti() and Memcached::getMultiByKey() to ensure that the CAS token values are returned as well.

Available as of Memcached 3.0.0.

Memcached::GET_PRESERVE_ORDER

A flag for Memcached::getMulti() and Memcached::getMultiByKey() to ensure that the keys are returned in the same order as they were requested in. Non-existing keys get a default value of NULL.

Memcached::RES_SUCCESS

The operation was successful.

Memcached::RES_FAILURE

The operation failed in some fashion.

Memcached::RES_HOST_LOOKUP_FAILURE

DNS lookup failed.

Memcached::RES_UNKNOWN_READ_FAILURE

Failed to read network data.

Memcached::RES_PROTOCOL_ERROR

Bad command in memcached protocol.

Memcached::RES_CLIENT_ERROR

Error on the client side.

Memcached::RES_SERVER_ERROR

Error on the server side.

Memcached::RES_WRITE_FAILURE

Failed to write network data.

Memcached::RES_DATA_EXISTS

Failed to do compare-and-swap: item you are trying to store has been modified since you last fetched it.

Memcached::RES_NOTSTORED

Item was not stored: but not because of an error. This normally means that either the condition for an "add" or a "replace" command wasn't met, or that the item is in a delete queue.

Memcached::RES_NOTFOUND

Item with this key was not found (with "get" operation or "cas" operations).

Memcached::RES_PARTIAL_READ

Partial network data read error.

Memcached::RES_SOME_ERRORS

Some errors occurred during multi-get.

Memcached::RES_NO_SERVERS

Server list is empty.

Memcached::RES_END

End of result set.

Memcached::RES_ERRNO

System error.

Memcached::RES_BUFFERED

The operation was buffered.

Memcached::RES_TIMEOUT

The operation timed out.

Memcached::RES_BAD_KEY_PROVIDED

Bad key.

Memcached::RES_CONNECTION_SOCKET_CREATE_FAILURE

Failed to create network socket.

Memcached::RES_PAYLOAD_FAILURE

Payload failure: could not compress/decompress or serialize/unserialize the value.

Memcached::RES_AUTH_PROBLEM

Available as of Memcached 3.0.0.

Memcached::RES_AUTH_FAILURE

Available as of Memcached 3.0.0.

Memcached::RES_AUTH_CONTINUE

Available as of Memcached 3.0.0.

Memcached::RES_E2BIG

Available as of Memcached 3.0.0.

Memcached::RES_KEY_TOO_BIG

Available as of Memcached 3.0.0.

Memcached::RES_SERVER_TEMPORARILY_DISABLED

Available as of Memcached 3.0.0.

Memcached::RES_SERVER_MEMORY_ALLOCATION_FAILURE

Available as of Memcached 3.0.0.


Expiration Times

Some storage commands involve sending an expiration value (relative to an item or to an operation requested by the client) to the server. In all such cases, the actual value sent may either be Unix time (number of seconds since January 1, 1970, as an integer), or a number of seconds starting from current time. In the latter case, this number of seconds may not exceed 60*60*24*30 (number of seconds in 30 days); if the expiration value is larger than that, the server will consider it to be real Unix time value rather than an offset from current time.

If the expiration value is 0 (the default), the item never expires (although it may be deleted from the server to make place for other items).


  • « Expiration Times
  • Result callbacks »
  • PHP Manual
  • Memcached
  • Callbacks

Callbacks

Índice

  • Result callbacks
  • Read-through cache callbacks


Result callbacks

Result callables are invoked by Memcached::getDelayed() or Memcached::getDelayedBykey() methods for each item in the result set. The callback is passed the Memcached object and the array with the item information. The callback does not have to return anything.

Exemplo #1 Result callback example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items);
$m->getDelayed(array('key1', 'key3'), true, 'result_cb');

function result_cb($memc, $item)
{
    var_dump($item);
}
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  ["key"]=>
  string(4) "key1"
  ["value"]=>
  string(6) "value1"
  ["cas"]=>
  float(49)
}
array(3) {
  ["key"]=>
  string(4) "key3"
  ["value"]=>
  string(6) "value3"
  ["cas"]=>
  float(50)
}


Read-through cache callbacks

Read-through cache callbacks are invoked when an item cannot be retrieved from the server. The callback is passed the Memcached object, the requested key, and the by-reference value variable. The callback is responsible for setting the value and returning true or false. If the callback returns true, Memcached will store the populated value on the server and return it to the original calling function. Only Memcached::get() and Memcached::getByKey() support these callbacks, because the memcache protocol does not provide information on which keys were not found in the multi-key request.

Exemplo #1 Read-through callback example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$profile_info = $m->get('user:'.$user_id, 'user_info_cb');

function user_info_cb($memc, $key, &$value)
{
    $user_id = substr($key, 5);
    /* lookup profile info in the DB */
    /* ... */
    $value = $profile_info;
    return true;
}
?>


Sessions support

Memcached provides a custom session handler that can be used to store user sessions in memcache. A completely separate memcached instance is used for that internally, so you can use a different server pool if necessary. The session keys are stored under the prefix memc.sess.key., so be aware of this if you use the same server pool for sessions and generic caching.

session.save_handler string

Set to memcached to enable sessions support.

session.save_path string

Defines a comma separated of hostname:port entries to use for session server pool, for example "sess1:11211, sess2:11211".


The Memcached class

(PECL memcached >= 0.1.0)

Introdução

Represents a connection to a set of memcached servers.

Sinopse da classe

Memcached {
public __construct ( string $persistent_id = ? )
public add ( string $key , mixed $value , int $expiration = ? ) : bool
public addByKey ( string $server_key , string $key , mixed $value , int $expiration = ? ) : bool
public addServer ( string $host , int $port , int $weight = 0 ) : bool
public addServers ( array $servers ) : bool
public append ( string $key , string $value ) : bool
public appendByKey ( string $server_key , string $key , string $value ) : bool
public cas ( float $cas_token , string $key , mixed $value , int $expiration = ? ) : bool
public casByKey ( float $cas_token , string $server_key , string $key , mixed $value , int $expiration = ? ) : bool
public decrement ( string $key , int $offset = 1 , int $initial_value = 0 , int $expiry = 0 ) : int|false
public decrementByKey ( string $server_key , string $key , int $offset = 1 , int $initial_value = 0 , int $expiry = 0 ) : int|false
public delete ( string $key , int $time = 0 ) : bool
public deleteByKey ( string $server_key , string $key , int $time = 0 ) : bool
public deleteMulti ( array $keys , int $time = 0 ) : array
public deleteMultiByKey ( string $server_key , array $keys , int $time = 0 ) : bool
public fetch ( ) : array
public fetchAll ( ) : array|false
public flush ( int $delay = 0 ) : bool
public get ( string $key , callable $cache_cb = ? , int $$flags = ? ) : mixed
public getAllKeys ( ) : array|false
public getByKey ( string $server_key , string $key , callable $cache_cb = ? , int $flags = ? ) : mixed
public getDelayed ( array $keys , bool $with_cas = ? , callable $value_cb = ? ) : bool
public getDelayedByKey ( string $server_key , array $keys , bool $with_cas = ? , callable $value_cb = ? ) : bool
public getMulti ( array $keys , int $flags = ? ) : mixed
public getMultiByKey ( string $server_key , array $keys , int $flags = ? ) : array|false
public getOption ( int $option ) : mixed
public getResultCode ( ) : int
public getResultMessage ( ) : string
public getServerByKey ( string $server_key ) : array
public getServerList ( ) : array
public getStats ( ) : array|false
public getVersion ( ) : array
public increment ( string $key , int $offset = 1 , int $initial_value = 0 , int $expiry = 0 ) : int|false
public incrementByKey ( string $server_key , string $key , int $offset = 1 , int $initial_value = 0 , int $expiry = 0 ) : int|false
public isPersistent ( ) : bool
public isPristine ( ) : bool
public prepend ( string $key , string $value ) : bool
public prependByKey ( string $server_key , string $key , string $value ) : bool
public quit ( ) : bool
public replace ( string $key , mixed $value , int $expiration = ? ) : bool
public replaceByKey ( string $server_key , string $key , mixed $value , int $expiration = ? ) : bool
public resetServerList ( ) : bool
public set ( string $key , mixed $value , int $expiration = ? ) : bool
public setByKey ( string $server_key , string $key , mixed $value , int $expiration = ? ) : bool
public setMulti ( array $items , int $expiration = ? ) : bool
public setMultiByKey ( string $server_key , array $items , int $expiration = ? ) : bool
public setOption ( int $option , mixed $value ) : bool
public setOptions ( array $options ) : bool
public setSaslAuthData ( string $username , string $password ) : void
public touch ( string $key , int $expiration ) : bool
public touchByKey ( string $server_key , string $key , int $expiration ) : bool
}

Índice

  • Memcached::add — Add an item under a new key
  • Memcached::addByKey — Add an item under a new key on a specific server
  • Memcached::addServer — Add a server to the server pool
  • Memcached::addServers — Add multiple servers to the server pool
  • Memcached::append — Append data to an existing item
  • Memcached::appendByKey — Append data to an existing item on a specific server
  • Memcached::cas — Compare and swap an item
  • Memcached::casByKey — Compare and swap an item on a specific server
  • Memcached::__construct — Create a Memcached instance
  • Memcached::decrement — Decrement numeric item's value
  • Memcached::decrementByKey — Decrement numeric item's value, stored on a specific server
  • Memcached::delete — Delete an item
  • Memcached::deleteByKey — Delete an item from a specific server
  • Memcached::deleteMulti — Delete multiple items
  • Memcached::deleteMultiByKey — Delete multiple items from a specific server
  • Memcached::fetch — Fetch the next result
  • Memcached::fetchAll — Fetch all the remaining results
  • Memcached::flush — Invalidate all items in the cache
  • Memcached::get — Retrieve an item
  • Memcached::getAllKeys — Gets the keys stored on all the servers
  • Memcached::getByKey — Retrieve an item from a specific server
  • Memcached::getDelayed — Request multiple items
  • Memcached::getDelayedByKey — Request multiple items from a specific server
  • Memcached::getMulti — Retrieve multiple items
  • Memcached::getMultiByKey — Retrieve multiple items from a specific server
  • Memcached::getOption — Retrieve a Memcached option value
  • Memcached::getResultCode — Return the result code of the last operation
  • Memcached::getResultMessage — Return the message describing the result of the last operation
  • Memcached::getServerByKey — Map a key to a server
  • Memcached::getServerList — Get the list of the servers in the pool
  • Memcached::getStats — Get server pool statistics
  • Memcached::getVersion — Get server pool version info
  • Memcached::increment — Increment numeric item's value
  • Memcached::incrementByKey — Increment numeric item's value, stored on a specific server
  • Memcached::isPersistent — Check if a persitent connection to memcache is being used
  • Memcached::isPristine — Check if the instance was recently created
  • Memcached::prepend — Prepend data to an existing item
  • Memcached::prependByKey — Prepend data to an existing item on a specific server
  • Memcached::quit — Close any open connections
  • Memcached::replace — Replace the item under an existing key
  • Memcached::replaceByKey — Replace the item under an existing key on a specific server
  • Memcached::resetServerList — Clears all servers from the server list
  • Memcached::set — Store an item
  • Memcached::setByKey — Store an item on a specific server
  • Memcached::setMulti — Store multiple items
  • Memcached::setMultiByKey — Store multiple items on a specific server
  • Memcached::setOption — Set a Memcached option
  • Memcached::setOptions — Set Memcached options
  • Memcached::setSaslAuthData — Set the credentials to use for authentication
  • Memcached::touch — Set a new expiration on an item
  • Memcached::touchByKey — Set a new expiration on an item on a specific server


Add an item under a new key

  • « Memcached
  • Memcached::addByKey »
  • PHP Manual
  • Memcached
  • Add an item under a new key

Memcached::add

(PECL memcached >= 0.1.0)

Memcached::add — Add an item under a new key

Descrição

public Memcached::add ( string $key , mixed $value , int $expiration = ? ) : bool

Memcached::add() is similar to Memcached::set(), but the operation fails if the key already exists on the server.

Parâmetros

key

A chave sobre a qual guardar o valor.

value

O valor para guardar.

expiration

O tempo de expiração, padrão é 0. Veja Tempos de Expiração para maiores informações.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key already exists.

Veja Também

  • Memcached::addByKey() - Add an item under a new key on a specific server
  • Memcached::set() - Store an item
  • Memcached::replace() - Replace the item under an existing key


Add an item under a new key on a specific server

  • « Memcached::add
  • Memcached::addServer »
  • PHP Manual
  • Memcached
  • Add an item under a new key on a specific server

Memcached::addByKey

(PECL memcached >= 0.1.0)

Memcached::addByKey — Add an item under a new key on a specific server

Descrição

public Memcached::addByKey ( string $server_key , string $key , mixed $value , int $expiration = ? ) : bool

Memcached::addByKey() is functionally equivalent to Memcached::add(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

key

A chave sobre a qual guardar o valor.

value

O valor para guardar.

expiration

O tempo de expiração, padrão é 0. Veja Tempos de Expiração para maiores informações.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key already exists.

Veja Também

  • Memcached::add() - Add an item under a new key
  • Memcached::set() - Store an item
  • Memcached::replace() - Replace the item under an existing key


Add a server to the server pool

  • « Memcached::addByKey
  • Memcached::addServers »
  • PHP Manual
  • Memcached
  • Add a server to the server pool

Memcached::addServer

(PECL memcached >= 0.1.0)

Memcached::addServer — Add a server to the server pool

Descrição

public Memcached::addServer ( string $host , int $port , int $weight = 0 ) : bool

Memcached::addServer() adds the specified server to the server pool. No connection is established to the server at this time, but if you are using consistent key distribution option (via Memcached::DISTRIBUTION_CONSISTENT or Memcached::OPT_LIBKETAMA_COMPATIBLE), some of the internal data structures will have to be updated. Thus, if you need to add multiple servers, it is better to use Memcached::addServers() as the update then happens only once.

The same server may appear multiple times in the server pool, because no duplication checks are made. This is not advisable; instead, use the weight option to increase the selection weighting of this server.

Parâmetros

host

The hostname of the memcache server. If the hostname is invalid, data-related operations will set Memcached::RES_HOST_LOOKUP_FAILURE result code. As of version 2.0.0b1, this parameter may also specify the path of a unix socket filepath ex. /path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

The port on which memcache is running. Usually, this is 11211. As of version 2.0.0b1, set this parameter to 0 when using UNIX domain sockets.

weight

The weight of the server relative to the total weight of all the servers in the pool. This controls the probability of the server being selected for operations. This is used only with consistent distribution option and usually corresponds to the amount of memory available to memcache on that server.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Memcached::addServer() example

<?php
$m = new Memcached();

/* Add 2 servers, so that the second one
   is twice as likely to be selected. */
$m->addServer('mem1.domain.com', 11211, 33);
$m->addServer('mem2.domain.com', 11211, 67);
?>

Veja Também

  • Memcached::addServers() - Add multiple servers to the server pool
  • Memcached::resetServerList() - Clears all servers from the server list


Add multiple servers to the server pool

  • « Memcached::addServer
  • Memcached::append »
  • PHP Manual
  • Memcached
  • Add multiple servers to the server pool

Memcached::addServers

(PECL memcached >= 0.1.1)

Memcached::addServers — Add multiple servers to the server pool

Descrição

public Memcached::addServers ( array $servers ) : bool

Memcached::addServers() adds servers to the server pool. Each entry in servers is supposed to be an array containing hostname, port, and, optionally, weight of the server. No connection is established to the servers at this time.

The same server may appear multiple times in the server pool, because no duplication checks are made. This is not advisable; instead, use the weight option to increase the selection weighting of this server.

Parâmetros

array

Array of the servers to add to the pool.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Memcached::addServers() example

<?php
$m = new Memcached();

$servers = array(
    array('mem1.domain.com', 11211, 33),
    array('mem2.domain.com', 11211, 67)
);
$m->addServers($servers);
?>

Veja Também

  • Memcached::addServer() - Add a server to the server pool
  • Memcached::resetServerList() - Clears all servers from the server list


Append data to an existing item

  • « Memcached::addServers
  • Memcached::appendByKey »
  • PHP Manual
  • Memcached
  • Append data to an existing item

Memcached::append

(PECL memcached >= 0.1.0)

Memcached::append — Append data to an existing item

Descrição

public Memcached::append ( string $key , string $value ) : bool

Memcached::append() appends the given value string to the value of an existing item. The reason that value is forced to be a string is that appending mixed types is not well-defined.

Nota:

If the Memcached::OPT_COMPRESSION is enabled, the operation will fail and a warning will be issued, because appending compressed data to a value that is potentially already compressed is not possible.

Parâmetros

key

A chave sobre a qual guardar o valor.

value

The string to append.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Exemplos

Exemplo #1 Memcached::append() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->setOption(Memcached::OPT_COMPRESSION, false);

$m->set('foo', 'abc');
$m->append('foo', 'def');
var_dump($m->get('foo'));
?>

O exemplo acima irá imprimir:

string(6) "abcdef"

Veja Também

  • Memcached::appendByKey() - Append data to an existing item on a specific server
  • Memcached::prepend() - Prepend data to an existing item


Append data to an existing item on a specific server

  • « Memcached::append
  • Memcached::cas »
  • PHP Manual
  • Memcached
  • Append data to an existing item on a specific server

Memcached::appendByKey

(PECL memcached >= 0.1.0)

Memcached::appendByKey — Append data to an existing item on a specific server

Descrição

public Memcached::appendByKey ( string $server_key , string $key , string $value ) : bool

Memcached::appendByKey() is functionally equivalent to Memcached::append(), except that the free-form server_key can be used to map the key to a specific server.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

key

A chave sobre a qual guardar o valor.

value

The string to append.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Veja Também

  • Memcached::append() - Append data to an existing item
  • Memcached::prepend() - Prepend data to an existing item


Compare and swap an item

  • « Memcached::appendByKey
  • Memcached::casByKey »
  • PHP Manual
  • Memcached
  • Compare and swap an item

Memcached::cas

(PECL memcached >= 0.1.0)

Memcached::cas — Compare and swap an item

Descrição

public Memcached::cas ( float $cas_token , string $key , mixed $value , int $expiration = ? ) : bool

Memcached::cas() performs a "check and set" operation, so that the item will be stored only if no other client has updated it since it was last fetched by this client. The check is done via the cas_token parameter which is a unique 64-bit value assigned to the existing item by memcache. See the documentation for Memcached::get*() methods for how to obtain this token. Note that the token is represented as a double due to the limitations of PHP's integer space.

Parâmetros

cas_token

Unique value associated with the existing item. Generated by memcache.

key

A chave sobre a qual guardar o valor.

value

O valor para guardar.

expiration

O tempo de expiração, padrão é 0. Veja Tempos de Expiração para maiores informações.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. The Memcached::getResultCode() will return Memcached::RES_DATA_EXISTS if the item you are trying to store has been modified since you last fetched it.

Exemplos

Exemplo #1 Memcached::cas() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

do {
    /* fetch IP list and its token */
    $ips = $m->get('ip_block', null, $cas);
    /* if list doesn't exist yet, create it and do
       an atomic add which will fail if someone else already added it */
    if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
        $ips = array($_SERVER['REMOTE_ADDR']);
        $m->add('ip_block', $ips);
    /* otherwise, add IP to the list and store via compare-and-swap
       with the token, which will fail if someone else updated the list */
    } else {
        $ips[] = $_SERVER['REMOTE_ADDR'];
        $m->cas($cas, 'ip_block', $ips);
    }
} while ($m->getResultCode() != Memcached::RES_SUCCESS);

?>

Veja Também

  • Memcached::casByKey() - Compare and swap an item on a specific server


Compare and swap an item on a specific server

  • « Memcached::cas
  • Memcached::__construct »
  • PHP Manual
  • Memcached
  • Compare and swap an item on a specific server

Memcached::casByKey

(PECL memcached >= 0.1.0)

Memcached::casByKey — Compare and swap an item on a specific server

Descrição

public Memcached::casByKey ( float $cas_token , string $server_key , string $key , mixed $value , int $expiration = ? ) : bool

Memcached::casByKey() is functionally equivalent to Memcached::cas(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Parâmetros

cas_token

Unique value associated with the existing item. Generated by memcache.

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

key

A chave sobre a qual guardar o valor.

value

O valor para guardar.

expiration

O tempo de expiração, padrão é 0. Veja Tempos de Expiração para maiores informações.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. The Memcached::getResultCode() will return Memcached::RES_DATA_EXISTS if the item you are trying to store has been modified since you last fetched it.

Veja Também

  • Memcached::cas() - Compare and swap an item


Create a Memcached instance

  • « Memcached::casByKey
  • Memcached::decrement »
  • PHP Manual
  • Memcached
  • Create a Memcached instance

Memcached::__construct

(PECL memcached >= 0.1.0)

Memcached::__construct — Create a Memcached instance

Descrição

public Memcached::__construct ( string $persistent_id = ? )

Creates a Memcached instance representing the connection to the memcache servers.

Parâmetros

persistent_id

By default the Memcached instances are destroyed at the end of the request. To create an instance that persists between requests, use persistent_id to specify a unique ID for the instance. All instances created with the same persistent_id will share the same connection.

Valor Retornado

A Memcached object.

Exemplos

Exemplo #1 Creating a Memcached object

<?php
/* Create a regular instance */
$m = new Memcached();
echo get_class($m);

/* Create a persistent instance */
$m2 = new Memcached('story_pool');
$m3 = new Memcached('story_pool');

/* now $m2 and $m3 share the same connection */
?>


Decrement numeric item's value

  • « Memcached::__construct
  • Memcached::decrementByKey »
  • PHP Manual
  • Memcached
  • Decrement numeric item's value

Memcached::decrement

(PECL memcached >= 0.1.0)

Memcached::decrement — Decrement numeric item's value

Descrição

public Memcached::decrement ( string $key , int $offset = 1 , int $initial_value = 0 , int $expiry = 0 ) : int|false

Memcached::decrement() decrements a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. If the operation would decrease the value below 0, the new value will be 0. Memcached::decrement() will set the item to the initial_value parameter if the key doesn't exist.

Parâmetros

key

The key of the item to decrement.

offset

The amount by which to decrement the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Valor Retornado

Returns item's new value on success ou false em caso de falha.

Exemplos

Exemplo #1 Memcached::decrement() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 5);
$n = $m->decrement('counter');
var_dump($n);

$n = $m->decrement('counter', 10);
var_dump($n);

var_dump($m->get('counter'));

$m->set('counter', 'abc');
$n = $m->increment('counter');
// ^ will fail due to item value not being numeric
var_dump($n);
?>

O exemplo acima irá imprimir:

int(4)
int(0)
int(0)
bool(false)

Veja Também

  • Memcached::increment() - Increment numeric item's value
  • Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server
  • Memcached::decrementByKey() - Decrement numeric item's value, stored on a specific server


Decrement numeric item's value, stored on a specific server

  • « Memcached::decrement
  • Memcached::delete »
  • PHP Manual
  • Memcached
  • Decrement numeric item's value, stored on a specific server

Memcached::decrementByKey

(PECL memcached >= 2.0.0)

Memcached::decrementByKey — Decrement numeric item's value, stored on a specific server

Descrição

public Memcached::decrementByKey ( string $server_key , string $key , int $offset = 1 , int $initial_value = 0 , int $expiry = 0 ) : int|false

Memcached::decrementByKey() decrements a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. If the operation would decrease the value below 0, the new value will be 0. Memcached::decrementByKey() will set the item to the initial_value parameter if the key doesn't exist.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

key

The key of the item to decrement.

offset

The amount by which to decrement the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Valor Retornado

Returns item's new value on success ou false em caso de falha.

Veja Também

  • Memcached::decrement() - Decrement numeric item's value
  • Memcached::increment() - Increment numeric item's value
  • Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server


Delete an item

  • « Memcached::decrementByKey
  • Memcached::deleteByKey »
  • PHP Manual
  • Memcached
  • Delete an item

Memcached::delete

(PECL memcached >= 0.1.0)

Memcached::delete — Delete an item

Descrição

public Memcached::delete ( string $key , int $time = 0 ) : bool

Memcached::delete() deletes the key from the server. The time parameter is the amount of time in seconds (or Unix time until which) the client wishes the server to refuse add and replace commands for this key. For this amount of time, the item is put into a delete queue, which means that it won't possible to retrieve it by the get command, but add and replace command with this key will also fail (the set command will succeed, however). After the time passes, the item is finally deleted from server memory. The parameter time defaults to 0 (which means that the item will be deleted immediately and further storage commands with this key will succeed).

Parâmetros

key

The key to be deleted.

time

The amount of time the server will wait to delete the item.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Exemplos

Exemplo #1 Memcached::delete() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->delete('key1');
?>

Veja Também

  • Memcached::deleteByKey() - Delete an item from a specific server
  • Memcached::deleteMulti() - Delete multiple items


Delete an item from a specific server

  • « Memcached::delete
  • Memcached::deleteMulti »
  • PHP Manual
  • Memcached
  • Delete an item from a specific server

Memcached::deleteByKey

(PECL memcached >= 0.1.0)

Memcached::deleteByKey — Delete an item from a specific server

Descrição

public Memcached::deleteByKey ( string $server_key , string $key , int $time = 0 ) : bool

Memcached::deleteByKey() is functionally equivalent to Memcached::delete(), except that the free-form server_key can be used to map the key to a specific server.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

key

The key to be deleted.

time

The amount of time the server will wait to delete the item.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Veja Também

  • Memcached::delete() - Delete an item
  • Memcached::deleteMulti() - Delete multiple items
  • Memcached::deleteMultiByKey() - Delete multiple items from a specific server


Delete multiple items

  • « Memcached::deleteByKey
  • Memcached::deleteMultiByKey »
  • PHP Manual
  • Memcached
  • Delete multiple items

Memcached::deleteMulti

(PECL memcached >= 2.0.0)

Memcached::deleteMulti — Delete multiple items

Descrição

public Memcached::deleteMulti ( array $keys , int $time = 0 ) : array

Memcached::deleteMulti() deletes the array of keys from the server. The time parameter is the amount of time in seconds (or Unix time until which) the client wishes the server to refuse add and replace commands for these keys. For this amount of time, the item is put into a delete queue, which means that it won't be possible to retrieve it by the get command, but add and replace command with these keys will also fail (the set command will succeed, however). After the time passes, the item is finally deleted from server memory. The parameter time defaults to 0 (which means that the item will be deleted immediately and further storage commands with these keys will succeed).

Parâmetros

keys

The keys to be deleted.

time

The amount of time the server will wait to delete the items.

Valor Retornado

Returns array indexed by keys and where values are indicating whether operation succeeded or not. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Veja Também

  • Memcached::delete() - Delete an item
  • Memcached::deleteByKey() - Delete an item from a specific server
  • Memcached::deleteMultiByKey() - Delete multiple items from a specific server


Delete multiple items from a specific server

  • « Memcached::deleteMulti
  • Memcached::fetch »
  • PHP Manual
  • Memcached
  • Delete multiple items from a specific server

Memcached::deleteMultiByKey

(PECL memcached >= 2.0.0)

Memcached::deleteMultiByKey — Delete multiple items from a specific server

Descrição

public Memcached::deleteMultiByKey ( string $server_key , array $keys , int $time = 0 ) : bool

Memcached::deleteMultiByKey() is functionally equivalent to Memcached::deleteMulti(), except that the free-form server_key can be used to map the keys to a specific server.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

keys

The keys to be deleted.

time

The amount of time the server will wait to delete the items.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Veja Também

  • Memcached::delete() - Delete an item
  • Memcached::deleteByKey() - Delete an item from a specific server
  • Memcached::deleteMulti() - Delete multiple items


Fetch the next result

  • « Memcached::deleteMultiByKey
  • Memcached::fetchAll »
  • PHP Manual
  • Memcached
  • Fetch the next result

Memcached::fetch

(PECL memcached >= 0.1.0)

Memcached::fetch — Fetch the next result

Descrição

public Memcached::fetch ( ) : array

Memcached::fetch() retrieves the next result from the last request.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the next result or false otherwise. The Memcached::getResultCode() will return Memcached::RES_END if result set is exhausted.

Exemplos

Exemplo #1 Memcached::fetch() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
while ($result = $m->fetch()) {
    var_dump($result);
}
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  ["key"]=>
  string(3) "int"
  "value"]=>
  int(99)
  ["cas"]=>
  float(2363)
}
array(3) {
  ["key"]=>
  string(5) "array"
  ["value"]=>
  array(2) {
    [0]=>
    int(11)
    [1]=>
    int(12)
  }
  ["cas"]=>
  float(2365)
}

Veja Também

  • Memcached::fetchAll() - Fetch all the remaining results
  • Memcached::getDelayed() - Request multiple items


Fetch all the remaining results

  • « Memcached::fetch
  • Memcached::flush »
  • PHP Manual
  • Memcached
  • Fetch all the remaining results

Memcached::fetchAll

(PECL memcached >= 0.1.0)

Memcached::fetchAll — Fetch all the remaining results

Descrição

public Memcached::fetchAll ( ) : array|false

Memcached::fetchAll() retrieves all the remaining results from the last request.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the results ou false em caso de falha. Use Memcached::getResultCode() se necessário.

Exemplos

Exemplo #1 Memcached::getDelayed() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>

O exemplo acima irá imprimir:

array(2) {
  [0]=>
  array(3) {
    ["key"]=>
    string(3) "int"
    ["value"]=>
    int(99)
    ["cas"]=>
    float(2363)
  }
  [1]=>
  array(3) {
    ["key"]=>
    string(5) "array"
    ["value"]=>
    array(2) {
      [0]=>
      int(11)
      [1]=>
      int(12)
    }
    ["cas"]=>
    float(2365)
  }
}

Veja Também

  • Memcached::fetch() - Fetch the next result
  • Memcached::getDelayed() - Request multiple items


Invalidate all items in the cache

  • « Memcached::fetchAll
  • Memcached::get »
  • PHP Manual
  • Memcached
  • Invalidate all items in the cache

Memcached::flush

(PECL memcached >= 0.1.0)

Memcached::flush — Invalidate all items in the cache

Descrição

public Memcached::flush ( int $delay = 0 ) : bool

Memcached::flush() invalidates all existing cache items immediately (by default) or after the delay specified. After invalidation none of the items will be returned in response to a retrieval command (unless it's stored again under the same key after Memcached::flush() has invalidated the items). The flush does not actually free all the memory taken up by the existing items; that will happen gradually as new items are stored.

Parâmetros

delay

Number of seconds to wait before invalidating the items.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Use Memcached::getResultCode() se necessário.

Exemplos

Exemplo #1 Memcached::flush() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

/* flush all items in 10 seconds */
$m->flush(10);
?>


Retrieve an item

  • « Memcached::flush
  • Memcached::getAllKeys »
  • PHP Manual
  • Memcached
  • Retrieve an item

Memcached::get

(PECL memcached >= 0.1.0)

Memcached::get — Retrieve an item

Descrição

public Memcached::get ( string $key , callable $cache_cb = ? , int $$flags = ? ) : mixed

Memcached::get() returns the item that was previously stored under the key. If the item is found and the flags is given Memcached::GET_EXTENDED, it will also return the CAS token value for the item. See Memcached::cas() for how to use CAS tokens. Read-through caching callback may be specified via cache_cb parameter.

Parâmetros

key

The key of the item to retrieve.

cache_cb

Read-through caching callback or null.

flags

Flags to control the returned result. When Memcached::GET_EXTENDED is given, the function will also return the CAS token.

Valor Retornado

Returns the value stored in the cache or false otherwise. If the flags is set to Memcached::GET_EXTENDED, an array containing the value and the CAS token is returned instead of only the value. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Exemplos

Exemplo #1 Memcached::get() example #1

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('foo', 100);
var_dump($m->get('foo'));
?>

O exemplo acima irá imprimir:

int(100)

Exemplo #2 Memcached::get() example #2

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

if (!($ip = $m->get('ip_block'))) {
    if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
        $ip = array();
        $m->set('ip_block', $ip);
    } else {
        /* log error */
        /* ...       */
    }
}
?>

Changelog

Versão | Descrição
PECL memcached 3.0.0 | The &cas_token parameter was removed. Instead flags was added and when it is given the value of Memcached::GET_EXTENDED it will ensure the CAS token to be fetched.

Veja Também

  • Memcached::getByKey() - Retrieve an item from a specific server
  • Memcached::getMulti() - Retrieve multiple items
  • Memcached::getDelayed() - Request multiple items


Gets the keys stored on all the servers

  • « Memcached::get
  • Memcached::getByKey »
  • PHP Manual
  • Memcached
  • Gets the keys stored on all the servers

Memcached::getAllKeys

(PECL memcached >= 2.0.0)

Memcached::getAllKeys — Gets the keys stored on all the servers

Descrição

public Memcached::getAllKeys ( ) : array|false

Memcached::getAllKeys() queries each memcache server and retrieves an array of all keys stored on them at that point in time. This is not an atomic operation, so it isn't a truly consistent snapshot of the keys at point in time. As memcache doesn't guarantee to return all keys you also cannot assume that all keys have been returned.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the keys stored on all the servers on success ou false em caso de falha.


Retrieve an item from a specific server

  • « Memcached::getAllKeys
  • Memcached::getDelayed »
  • PHP Manual
  • Memcached
  • Retrieve an item from a specific server

Memcached::getByKey

(PECL memcached >= 0.1.0)

Memcached::getByKey — Retrieve an item from a specific server

Descrição

public Memcached::getByKey ( string $server_key , string $key , callable $cache_cb = ? , int $flags = ? ) : mixed

Memcached::getByKey() is functionally equivalent to Memcached::get(), except that the free-form server_key can be used to map the key to a specific server.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

key

The key of the item to fetch.

cache_cb

Read-through caching callback or null

flags

Flags to control the returned result. When value of Memcached::GET_EXTENDED is given will return the CAS token.

Valor Retornado

Returns the value stored in the cache or false otherwise. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Changelog

Versão | Descrição
PECL memcached 3.0.0 | The &cas_token parameter was removed. Instead flags was added and when it is given the value of Memcached::GET_EXTENDED it will ensure the CAS token to be fetched.

Veja Também

  • Memcached::get() - Retrieve an item
  • Memcached::getMulti() - Retrieve multiple items
  • Memcached::getDelayed() - Request multiple items


Request multiple items

  • « Memcached::getByKey
  • Memcached::getDelayedByKey »
  • PHP Manual
  • Memcached
  • Request multiple items

Memcached::getDelayed

(PECL memcached >= 0.1.0)

Memcached::getDelayed — Request multiple items

Descrição

public Memcached::getDelayed ( array $keys , bool $with_cas = ? , callable $value_cb = ? ) : bool

Memcached::getDelayed() issues a request to memcache for multiple items the keys of which are specified in the keys array. The method does not wait for response and returns right away. When you are ready to collect the items, call either Memcached::fetch() or Memcached::fetchAll(). If with_cas is true, the CAS token values will also be requested.

Instead of fetching the results explicitly, you can specify a result callback via value_cb parameter.

Parâmetros

keys

Array of keys to request.

with_cas

Whether to request CAS token values also.

value_cb

The result callback or null.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Use Memcached::getResultCode() se necessário.

Exemplos

Exemplo #1 Memcached::getDelayed() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>

O exemplo acima irá imprimir:

array(2) {
  [0]=>
  array(3) {
    ["key"]=>
    string(3) "int"
    ["value"]=>
    int(99)
    ["cas"]=>
    float(2363)
  }
  [1]=>
  array(3) {
    ["key"]=>
    string(5) "array"
    ["value"]=>
    array(2) {
      [0]=>
      int(11)
      [1]=>
      int(12)
    }
    ["cas"]=>
    float(2365)
  }
}

Veja Também

  • Memcached::getDelayedByKey() - Request multiple items from a specific server
  • Memcached::fetch() - Fetch the next result
  • Memcached::fetchAll() - Fetch all the remaining results


Request multiple items from a specific server

  • « Memcached::getDelayed
  • Memcached::getMulti »
  • PHP Manual
  • Memcached
  • Request multiple items from a specific server

Memcached::getDelayedByKey

(PECL memcached >= 0.1.0)

Memcached::getDelayedByKey — Request multiple items from a specific server

Descrição

public Memcached::getDelayedByKey ( string $server_key , array $keys , bool $with_cas = ? , callable $value_cb = ? ) : bool

Memcached::getDelayedByKey() is functionally equivalent to Memcached::getDelayed(), except that the free-form server_key can be used to map the keys to a specific server.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

keys

Array of keys to request.

with_cas

Whether to request CAS token values also.

value_cb

The result callback or null.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Use Memcached::getResultCode() se necessário.

Veja Também

  • Memcached::getDelayed() - Request multiple items
  • Memcached::fetch() - Fetch the next result
  • Memcached::fetchAll() - Fetch all the remaining results


Retrieve multiple items

  • « Memcached::getDelayedByKey
  • Memcached::getMultiByKey »
  • PHP Manual
  • Memcached
  • Retrieve multiple items

Memcached::getMulti

(PECL memcached >= 0.1.0)

Memcached::getMulti — Retrieve multiple items

Descrição

public Memcached::getMulti ( array $keys , int $flags = ? ) : mixed

Memcached::getMulti() is similar to Memcached::get(), but instead of a single key item, it retrieves multiple items the keys of which are specified in the keys array.

Nota:

Before v3.0 a second argument &cas_tokens was in use. It was filled with the CAS token values for the found items. The &cas_tokens parameter was removed in v3.0 of the extension. It was replaced with a new flag Memcached::GET_EXTENDED that needs is to be used as the value for flags.

The flags parameter can be used to specify additional options for Memcached::getMulti(). Memcached::GET_PRESERVE_ORDER ensures that the keys are returned in the same order as they were requested in. Memcached::GET_EXTENDED ensures that the CAS tokens will be fetched too.

Parâmetros

keys

Array of keys to retrieve.

flags

The flags for the get operation.

Valor Retornado

Returns the array of found items ou false em caso de falha. Use Memcached::getResultCode() se necessário.

Exemplos

Exemplo #1 Memcached::getMulti() example for Memcached v3

<?php
// Valid for v3 of the extension

$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items);
$result = $m->getMulti(array('key1', 'key3', 'badkey'));
var_dump($result);
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key3"]=>
  string(6) "value3"
}

Exemplo #2 Memcached::getMulti() example for Memcached v1 and v2

<?php
// Valid for v1 and v2 of the extension

$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items);
$result = $m->getMulti(array('key1', 'key3', 'badkey'), $cas);
var_dump($result, $cas);
?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key3"]=>
  string(6) "value3"
}
array(2) {
  ["key1"]=>
  float(2360)
  ["key3"]=>
  float(2362)
}

Exemplo #3 Memcached::GET_PRESERVE_ORDER example for Memcached v3

<?php
// Valid for v3 of the extension

$m = new Memcached();
$m->addServer('localhost', 11211);

$data = array(
    'foo' => 'foo-data',
    'bar' => 'bar-data',
    'baz' => 'baz-data',
    'lol' => 'lol-data',
    'kek' => 'kek-data',
);

$m->setMulti($data, 3600);

$keys = array_keys($data);
$keys[] = 'zoo';
$got = $m->getMulti($keys, Memcached::GET_PRESERVE_ORDER);

foreach ($got as $k => $v) {
    echo "$k $v\n";
}
?>

O exemplo acima irá imprimir algo similar à:

foo foo-data
bar bar-data
baz baz-data
lol lol-data
kek kek-data
zoo

Exemplo #4 Memcached::GET_PRESERVE_ORDER example for Memcached v1 and v2

<?php
// Valid for v1 and v2 of the extension

$m = new Memcached();
$m->addServer('localhost', 11211);

$data = array(
    'foo' => 'foo-data',
    'bar' => 'bar-data',
    'baz' => 'baz-data',
    'lol' => 'lol-data',
    'kek' => 'kek-data',
);

$m->setMulti($data, 3600);

$null = null;
$keys = array_keys($data);
$keys[] = 'zoo';
$got = $m->getMulti($keys, $null, Memcached::GET_PRESERVE_ORDER);

foreach ($got as $k => $v) {
    echo "$k $v\n";
}
?>

O exemplo acima irá imprimir algo similar à:

foo foo-data
bar bar-data
baz baz-data
lol lol-data
kek kek-data
zoo

Changelog

Versão | Descrição
PECL memcached 3.0.0 | The &cas_tokens parameter was removed. The Memcached::GET_EXTENDED was added and when passed as a flag it ensures the CAS tokens to be fetched.

Veja Também

  • Memcached::getMultiByKey() - Retrieve multiple items from a specific server
  • Memcached::get() - Retrieve an item
  • Memcached::getDelayed() - Request multiple items


Retrieve multiple items from a specific server

  • « Memcached::getMulti
  • Memcached::getOption »
  • PHP Manual
  • Memcached
  • Retrieve multiple items from a specific server

Memcached::getMultiByKey

(PECL memcached >= 0.1.0)

Memcached::getMultiByKey — Retrieve multiple items from a specific server

Descrição

public Memcached::getMultiByKey ( string $server_key , array $keys , int $flags = ? ) : array|false

Memcached::getMultiByKey() is functionally equivalent to Memcached::getMulti(), except that the free-form server_key can be used to map the keys to a specific server.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

keys

Array of keys to retrieve.

flags

The flags for the get operation.

Valor Retornado

Returns the array of found items ou false em caso de falha. Use Memcached::getResultCode() se necessário.

Changelog

Versão | Descrição
PECL memcached 3.0.0 | The &cas_tokens parameter was removed. The Memcached::GET_EXTENDED was added and when passed as a flag it ensures the CAS tokens to be fetched.

Veja Também

  • Memcached::getMulti() - Retrieve multiple items
  • Memcached::get() - Retrieve an item
  • Memcached::getDelayed() - Request multiple items


Retrieve a Memcached option value

  • « Memcached::getMultiByKey
  • Memcached::getResultCode »
  • PHP Manual
  • Memcached
  • Retrieve a Memcached option value

Memcached::getOption

(PECL memcached >= 0.1.0)

Memcached::getOption — Retrieve a Memcached option value

Descrição

public Memcached::getOption ( int $option ) : mixed

This method returns the value of a Memcached option. Some options correspond to the ones defined by libmemcached, and some are specific to the extension. See Memcached Constants for more information.

Parâmetros

option

One of the Memcached::OPT_* constants.

Valor Retornado

Returns the value of the requested option, or false on error.

Exemplos

Exemplo #1 Retrieving Memcached options

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_COMPRESSION));
var_dump($m->getOption(Memcached::OPT_POLL_TIMEOUT));
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
int(1000)

Veja Também

  • Memcached::getOption()
  • Memcached::setOption() - Set a Memcached option
  • Memcached Constants


Return the result code of the last operation

  • « Memcached::getOption
  • Memcached::getResultMessage »
  • PHP Manual
  • Memcached
  • Return the result code of the last operation

Memcached::getResultCode

(PECL memcached >= 0.1.0)

Memcached::getResultCode — Return the result code of the last operation

Descrição

public Memcached::getResultCode ( ) : int

Memcached::getResultCode() returns one of the Memcached::RES_* constants that is the result of the last executed Memcached method.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Result code of the last Memcached operation.

Exemplos

Exemplo #1 Memcached::getResultCode() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->add('foo', 'bar');
if ($m->getResultCode() == Memcached::RES_NOTSTORED) {
    /* ... */
}
?>


Return the message describing the result of the last operation

  • « Memcached::getResultCode
  • Memcached::getServerByKey »
  • PHP Manual
  • Memcached
  • Return the message describing the result of the last operation

Memcached::getResultMessage

(PECL memcached >= 1.0.0)

Memcached::getResultMessage — Return the message describing the result of the last operation

Descrição

public Memcached::getResultMessage ( ) : string

Memcached::getResultMessage() returns a string that describes the result code of the last executed Memcached method.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Message describing the result of the last Memcached operation.

Exemplos

Exemplo #1 Memcached::getResultMessage() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->add('foo', 'bar'); // first time should succeed
$m->add('foo', 'bar');
echo $m->getResultMessage(),"\n";
?>

O exemplo acima irá imprimir:

NOT STORED


Map a key to a server

  • « Memcached::getResultMessage
  • Memcached::getServerList »
  • PHP Manual
  • Memcached
  • Map a key to a server

Memcached::getServerByKey

(PECL memcached >= 0.1.0)

Memcached::getServerByKey — Map a key to a server

Descrição

public Memcached::getServerByKey ( string $server_key ) : array

Memcached::getServerByKey() returns the server that would be selected by a particular server_key in all the Memcached::*ByKey() operations.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

Valor Retornado

Returns an array containing three keys of host, port, and weight on success or false on failure. Use Memcached::getResultCode() se necessário.

Exemplos

Exemplo #1 Memcached::getServerByKey() example

<?php
$m = new Memcached();
$m->addServers(array(
    array('mem1.domain.com', 11211, 40),
    array('mem2.domain.com', 11211, 40),
    array('mem3.domain.com', 11211, 20),
));

$m->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);

var_dump($m->getServerByKey('user'));
var_dump($m->getServerByKey('log'));
var_dump($m->getServerByKey('ip'));
?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  ["host"]=>
  string(15) "mem3.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(20)
}
array(3) {
  ["host"]=>
  string(15) "mem2.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(40)
}
array(3) {
  ["host"]=>
  string(15) "mem2.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(40)
}


Get the list of the servers in the pool

  • « Memcached::getServerByKey
  • Memcached::getStats »
  • PHP Manual
  • Memcached
  • Get the list of the servers in the pool

Memcached::getServerList

(PECL memcached >= 0.1.0)

Memcached::getServerList — Get the list of the servers in the pool

Descrição

public Memcached::getServerList ( ) : array

Memcached::getServerList() returns the list of all servers that are in its server pool.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The list of all servers in the server pool.

Exemplos

Exemplo #1 Memcached::getServerList() example

<?php
$m = new Memcached();
$m->addServers(array(
    array('mem1.domain.com', 11211, 20),
    array('mem2.domain.com', 11311, 80),
));
var_dump($m->getServerList());
?>

O exemplo acima irá imprimir:

array(2) {
  [0]=>
  array(3) {
    ["host"]=>
    string(15) "mem1.domain.com"
    ["port"]=>
    int(11211)
    ["weight"]=>
    int(20)
  }
  [1]=>
  array(3) {
    ["host"]=>
    string(15) "mem2.domain.com"
    ["port"]=>
    int(11311)
    ["weight"]=>
    int(80)
  }
}


Get server pool statistics

  • « Memcached::getServerList
  • Memcached::getVersion »
  • PHP Manual
  • Memcached
  • Get server pool statistics

Memcached::getStats

(PECL memcached >= 0.1.0)

Memcached::getStats — Get server pool statistics

Descrição

public Memcached::getStats ( ) : array|false

Memcached::getStats() returns an array containing the state of all available memcache servers. See » memcache protocol specification for details on these statistics.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Array of server statistics, one entry per server, ou false em caso de falha.

Exemplos

Exemplo #1 Memcached::getStats() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

print_r($m->getStats());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [localhost:11211] => Array
        (
            [pid] => 4933
            [uptime] => 786123
            [threads] => 1
            [time] => 1233868010
            [pointer_size] => 32
            [rusage_user_seconds] => 0
            [rusage_user_microseconds] => 140000
            [rusage_system_seconds] => 23
            [rusage_system_microseconds] => 210000
            [curr_items] => 145
            [total_items] => 2374
            [limit_maxbytes] => 67108864
            [curr_connections] => 2
            [total_connections] => 151
            [connection_structures] => 3
            [bytes] => 20345
            [cmd_get] => 213343
            [cmd_set] => 2381
            [get_hits] => 204223
            [get_misses] => 9120
            [evictions] => 0
            [bytes_read] => 9092476
            [bytes_written] => 15420512
            [version] => 1.2.6
        )

)


Get server pool version info

  • « Memcached::getStats
  • Memcached::increment »
  • PHP Manual
  • Memcached
  • Get server pool version info

Memcached::getVersion

(PECL memcached >= 0.1.5)

Memcached::getVersion — Get server pool version info

Descrição

public Memcached::getVersion ( ) : array

Memcached::getVersion() returns an array containing the version info for all available memcache servers.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Array of server versions, one entry per server.

Exemplos

Exemplo #1 Memcached::getVersion() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

print_r($m->getVersion());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [localhost:11211] => 1.2.6
)


Increment numeric item's value

  • « Memcached::getVersion
  • Memcached::incrementByKey »
  • PHP Manual
  • Memcached
  • Increment numeric item's value

Memcached::increment

(PECL memcached >= 0.1.0)

Memcached::increment — Increment numeric item's value

Descrição

public Memcached::increment ( string $key , int $offset = 1 , int $initial_value = 0 , int $expiry = 0 ) : int|false

Memcached::increment() increments a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. Memcached::increment() will set the item to the initial_value parameter if the key doesn't exist.

Parâmetros

key

The key of the item to increment.

offset

The amount by which to increment the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Valor Retornado

Returns new item's value on success ou false em caso de falha.

Exemplos

Exemplo #1 Memcached::increment() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 0);
$m->increment('counter');
$n = $m->increment('counter', 10);
var_dump($n);

$m->set('counter', 'abc');
$n = $m->increment('counter');
// ^ will fail due to item value not being numeric
var_dump($n);
?>

O exemplo acima irá imprimir:

int(11)
bool(false)

Veja Também

  • Memcached::decrement() - Decrement numeric item's value
  • Memcached::decrementByKey() - Decrement numeric item's value, stored on a specific server
  • Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server


Increment numeric item's value, stored on a specific server

  • « Memcached::increment
  • Memcached::isPersistent »
  • PHP Manual
  • Memcached
  • Increment numeric item's value, stored on a specific server

Memcached::incrementByKey

(PECL memcached >= 2.0.0)

Memcached::incrementByKey — Increment numeric item's value, stored on a specific server

Descrição

public Memcached::incrementByKey ( string $server_key , string $key , int $offset = 1 , int $initial_value = 0 , int $expiry = 0 ) : int|false

Memcached::incrementByKey() increments a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. Memcached::incrementByKey() will set the item to the initial_value parameter if the key doesn't exist.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

key

The key of the item to increment.

offset

The amount by which to increment the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Valor Retornado

Returns new item's value on success ou false em caso de falha.

Veja Também

  • Memcached::decrement() - Decrement numeric item's value
  • Memcached::decrementByKey() - Decrement numeric item's value, stored on a specific server
  • Memcached::increment() - Increment numeric item's value


Check if a persitent connection to memcache is being used

  • « Memcached::incrementByKey
  • Memcached::isPristine »
  • PHP Manual
  • Memcached
  • Check if a persitent connection to memcache is being used

Memcached::isPersistent

(PECL memcached >= 2.0.0)

Memcached::isPersistent — Check if a persitent connection to memcache is being used

Descrição

public Memcached::isPersistent ( ) : bool

Memcached::isPersistent() checks if the connections to the memcache servers are persistent connections.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if Memcache instance uses a persistent connection, false otherwise.

Veja Também

  • Memcached::isPristine() - Check if the instance was recently created


Check if the instance was recently created

  • « Memcached::isPersistent
  • Memcached::prepend »
  • PHP Manual
  • Memcached
  • Check if the instance was recently created

Memcached::isPristine

(PECL memcached >= 2.0.0)

Memcached::isPristine — Check if the instance was recently created

Descrição

public Memcached::isPristine ( ) : bool

Memcached::isPristine() checks if the Memcache instance was recently created.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the true if instance is recently created, false otherwise.

Veja Também

  • Memcached::isPersistent() - Check if a persitent connection to memcache is being used


Prepend data to an existing item

  • « Memcached::isPristine
  • Memcached::prependByKey »
  • PHP Manual
  • Memcached
  • Prepend data to an existing item

Memcached::prepend

(PECL memcached >= 0.1.0)

Memcached::prepend — Prepend data to an existing item

Descrição

public Memcached::prepend ( string $key , string $value ) : bool

Memcached::prepend() prepends the given value string to the value of an existing item. The reason that value is forced to be a string is that prepending mixed types is not well-defined.

Nota:

If the Memcached::OPT_COMPRESSION is enabled, the operation will fail and a warning will be issued, because prepending compressed data to a value that is potentially already compressed is not possible.

Parâmetros

key

The key of the item to prepend the data to.

value

The string to prepend.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Exemplos

Exemplo #1 Memcached::prepend() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->setOption(Memcached::OPT_COMPRESSION, false);

$m->set('foo', 'abc');
$m->prepend('foo', 'def');
var_dump($m->get('foo'));
?>

O exemplo acima irá imprimir:

string(6) "defabc"

Veja Também

  • Memcached::prependByKey() - Prepend data to an existing item on a specific server
  • Memcached::append() - Append data to an existing item


Prepend data to an existing item on a specific server

  • « Memcached::prepend
  • Memcached::quit »
  • PHP Manual
  • Memcached
  • Prepend data to an existing item on a specific server

Memcached::prependByKey

(PECL memcached >= 0.1.0)

Memcached::prependByKey — Prepend data to an existing item on a specific server

Descrição

public Memcached::prependByKey ( string $server_key , string $key , string $value ) : bool

Memcached::prependByKey() is functionally equivalent to Memcached::prepend(), except that the free-form server_key can be used to map the key to a specific server.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

key

The key of the item to prepend the data to.

value

The string to prepend.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Veja Também

  • Memcached::prepend() - Prepend data to an existing item
  • Memcached::append() - Append data to an existing item


Close any open connections

  • « Memcached::prependByKey
  • Memcached::replace »
  • PHP Manual
  • Memcached
  • Close any open connections

Memcached::quit

(PECL memcached >= 2.0.0)

Memcached::quit — Close any open connections

Descrição

public Memcached::quit ( ) : bool

Memcached::quit() closes any open connections to the memcache servers.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Replace the item under an existing key

  • « Memcached::quit
  • Memcached::replaceByKey »
  • PHP Manual
  • Memcached
  • Replace the item under an existing key

Memcached::replace

(PECL memcached >= 0.1.0)

Memcached::replace — Replace the item under an existing key

Descrição

public Memcached::replace ( string $key , mixed $value , int $expiration = ? ) : bool

Memcached::replace() is similar to Memcached::set(), but the operation fails if the key does not exist on the server.

Parâmetros

key

A chave sobre a qual guardar o valor.

value

O valor para guardar.

expiration

O tempo de expiração, padrão é 0. Veja Tempos de Expiração para maiores informações.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Veja Também

  • Memcached::replaceByKey() - Replace the item under an existing key on a specific server
  • Memcached::set() - Store an item
  • Memcached::add() - Add an item under a new key


Replace the item under an existing key on a specific server

  • « Memcached::replace
  • Memcached::resetServerList »
  • PHP Manual
  • Memcached
  • Replace the item under an existing key on a specific server

Memcached::replaceByKey

(PECL memcached >= 0.1.0)

Memcached::replaceByKey — Replace the item under an existing key on a specific server

Descrição

public Memcached::replaceByKey ( string $server_key , string $key , mixed $value , int $expiration = ? ) : bool

Memcached::replaceByKey() is functionally equivalent to Memcached::replace(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

key

A chave sobre a qual guardar o valor.

value

O valor para guardar.

expiration

O tempo de expiração, padrão é 0. Veja Tempos de Expiração para maiores informações.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Veja Também

  • Memcached::replace() - Replace the item under an existing key
  • Memcached::set() - Store an item
  • Memcached::add() - Add an item under a new key


Clears all servers from the server list

  • « Memcached::replaceByKey
  • Memcached::set »
  • PHP Manual
  • Memcached
  • Clears all servers from the server list

Memcached::resetServerList

(PECL memcached >= 2.0.0)

Memcached::resetServerList — Clears all servers from the server list

Descrição

public Memcached::resetServerList ( ) : bool

Memcached::resetserverlist() removes all memcache servers from the known server list, resetting it back to empty.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • Memcached::addServer() - Add a server to the server pool
  • Memcached::addServers() - Add multiple servers to the server pool


Store an item

  • « Memcached::resetServerList
  • Memcached::setByKey »
  • PHP Manual
  • Memcached
  • Store an item

Memcached::set

(PECL memcached >= 0.1.0)

Memcached::set — Store an item

Descrição

public Memcached::set ( string $key , mixed $value , int $expiration = ? ) : bool

Memcached::set() stores the value on a memcache server under the specified key. The expiration parameter can be used to control when the value is considered expired.

The value can be any valid PHP type except for resources, because those cannot be represented in a serialized form. If the Memcached::OPT_COMPRESSION option is turned on, the serialized value will also be compressed before storage.

Parâmetros

key

A chave sobre a qual guardar o valor.

value

O valor para guardar.

expiration

O tempo de expiração, padrão é 0. Veja Tempos de Expiração para maiores informações.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Use Memcached::getResultCode() se necessário.

Exemplos

Exemplo #1 Memcached::set() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));
/* expire 'object' key in 5 minutes */
$m->set('object', new stdclass, time() + 300);

var_dump($m->get('int'));
var_dump($m->get('string'));
var_dump($m->get('array'));
var_dump($m->get('object'));
?>

O exemplo acima irá imprimir algo similar à:

int(99)
string(15) "a simple string"
array(2) {
  [0]=>
  int(11)
  [1]=>
  int(12)
}
object(stdClass)#1 (0) {
}

Veja Também

  • Memcached::setByKey() - Store an item on a specific server
  • Memcached::add() - Add an item under a new key
  • Memcached::replace() - Replace the item under an existing key


Store an item on a specific server

  • « Memcached::set
  • Memcached::setMulti »
  • PHP Manual
  • Memcached
  • Store an item on a specific server

Memcached::setByKey

(PECL memcached >= 0.1.0)

Memcached::setByKey — Store an item on a specific server

Descrição

public Memcached::setByKey ( string $server_key , string $key , mixed $value , int $expiration = ? ) : bool

Memcached::setByKey() is functionally equivalent to Memcached::set(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

key

A chave sobre a qual guardar o valor.

value

O valor para guardar.

expiration

O tempo de expiração, padrão é 0. Veja Tempos de Expiração para maiores informações.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Use Memcached::getResultCode() se necessário.

Exemplos

Exemplo #1 Memcached::setByKey() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

/* keep IP blocks on a certain server */
$m->setByKey('api-cache', 'block-ip:169.254.253.252', 1);
$m->setByKey('api-cache', 'block-ip:169.127.127.202', 1);
?>

Veja Também

  • Memcached::set() - Store an item


Store multiple items

  • « Memcached::setByKey
  • Memcached::setMultiByKey »
  • PHP Manual
  • Memcached
  • Store multiple items

Memcached::setMulti

(PECL memcached >= 0.1.0)

Memcached::setMulti — Store multiple items

Descrição

public Memcached::setMulti ( array $items , int $expiration = ? ) : bool

Memcached::setMulti() is similar to Memcached::set(), but instead of a single key/value item, it works on multiple items specified in items. The expiration time applies to all the items at once.

Parâmetros

items

Um array de pares chave/valor para guardar no servidor.

expiration

O tempo de expiração, padrão é 0. Veja Tempos de Expiração para maiores informações.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Use Memcached::getResultCode() se necessário.

Exemplos

Exemplo #1 Memcached::setMulti() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items, time() + 300);
?>

Veja Também

  • Memcached::setMultiByKey() - Store multiple items on a specific server
  • Memcached::set() - Store an item


Store multiple items on a specific server

  • « Memcached::setMulti
  • Memcached::setOption »
  • PHP Manual
  • Memcached
  • Store multiple items on a specific server

Memcached::setMultiByKey

(PECL memcached >= 0.1.0)

Memcached::setMultiByKey — Store multiple items on a specific server

Descrição

public Memcached::setMultiByKey ( string $server_key , array $items , int $expiration = ? ) : bool

Memcached::setMultiByKey() is functionally equivalent to Memcached::setMulti(), except that the free-form server_key can be used to map the keys from items to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

items

Um array de pares chave/valor para guardar no servidor.

expiration

O tempo de expiração, padrão é 0. Veja Tempos de Expiração para maiores informações.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Use Memcached::getResultCode() se necessário.

Veja Também

  • Memcached::setMulti() - Store multiple items
  • Memcached::set() - Store an item


Set a Memcached option

  • « Memcached::setMultiByKey
  • Memcached::setOptions »
  • PHP Manual
  • Memcached
  • Set a Memcached option

Memcached::setOption

(PECL memcached >= 0.1.0)

Memcached::setOption — Set a Memcached option

Descrição

public Memcached::setOption ( int $option , mixed $value ) : bool

This method sets the value of a Memcached option. Some options correspond to the ones defined by libmemcached, and some are specific to the extension. See Memcached Constants for more information.

The options listed below require values specified via constants.

  • Memcached::OPT_HASH requires Memcached::HASH_* values.

  • Memcached::OPT_DISTRIBUTION requires Memcached::DISTRIBUTION_* values.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Setting a Memcached option

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);
$m->setOption(Memcached::OPT_HASH, Memcached::HASH_MURMUR);
$m->setOption(Memcached::OPT_PREFIX_KEY, "widgets");
echo "Prefix key is now: ", $m->getOption(Memcached::OPT_PREFIX_KEY), "\n";
?>

O exemplo acima irá imprimir:

bool(true)
Prefix key is now: widgets

Veja Também

  • Memcached::getOption() - Retrieve a Memcached option value
  • Memcached::setOptions() - Set Memcached options
  • Memcached Constants


Set Memcached options

  • « Memcached::setOption
  • Memcached::setSaslAuthData »
  • PHP Manual
  • Memcached
  • Set Memcached options

Memcached::setOptions

(PECL memcached >= 2.0.0)

Memcached::setOptions — Set Memcached options

Descrição

public Memcached::setOptions ( array $options ) : bool

Memcached::setOptions() is a variation of the Memcached::setOption() that takes an array of options to be set.

Parâmetros

options

An associative array of options where the key is the option to set and the value is the new value for the option.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Setting Memcached options

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);

$m->setOptions(array(Memcached::OPT_HASH => Memcached::HASH_MURMUR, Memcached::OPT_PREFIX_KEY => "widgets"));

var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);
echo "Prefix key is now: ", $m->getOption(Memcached::OPT_PREFIX_KEY), "\n";
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)
Prefix key is now: widgets

Veja Também

  • Memcached::getOption() - Retrieve a Memcached option value
  • Memcached::setOption() - Set a Memcached option
  • Memcached Constants


Set the credentials to use for authentication

  • « Memcached::setOptions
  • Memcached::touch »
  • PHP Manual
  • Memcached
  • Set the credentials to use for authentication

Memcached::setSaslAuthData

(PECL memcached >= 2.0.0)

Memcached::setSaslAuthData — Set the credentials to use for authentication

Descrição

public Memcached::setSaslAuthData ( string $username , string $password ) : void

Memcached::setSaslAuthData() sets the username and password that should be used for SASL authentication with the memcache servers.

This method is only available when the memcached extension is built with SASL support. Please refer to Memcached setup for how to do this.

Parâmetros

username

The username to use for authentication.

password

The password to use for authentication.

Valor Retornado

Não há valor retornado.


Set a new expiration on an item

  • « Memcached::setSaslAuthData
  • Memcached::touchByKey »
  • PHP Manual
  • Memcached
  • Set a new expiration on an item

Memcached::touch

(PECL memcached >= 2.0.0)

Memcached::touch — Set a new expiration on an item

Descrição

public Memcached::touch ( string $key , int $expiration ) : bool

Memcached::touch() sets a new expiration value on the given key.

Parâmetros

key

A chave sobre a qual guardar o valor.

expiration

O tempo de expiração, padrão é 0. Veja Tempos de Expiração para maiores informações.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Use Memcached::getResultCode() se necessário.

Veja Também

  • Memcached::touchByKey() - Set a new expiration on an item on a specific server


Set a new expiration on an item on a specific server

  • « Memcached::touch
  • MemcachedException »
  • PHP Manual
  • Memcached
  • Set a new expiration on an item on a specific server

Memcached::touchByKey

(PECL memcached >= 2.0.0)

Memcached::touchByKey — Set a new expiration on an item on a specific server

Descrição

public Memcached::touchByKey ( string $server_key , string $key , int $expiration ) : bool

Memcached::touchByKey() is functionally equivalent to Memcached::touch(), except that the free-form server_key can be used to map the key to a specific server.

Parâmetros

server_key

A chave identificando o servidor onde armazenar ou recuperar o valor. Em vez de fazer o hash do item, é feito o hash da chave do servidor quando decidindo com qual servidor memcached conectar. Isto permite que itens relacionados sejam agrupados em um único servidor para maior eficiência de operações múltiplas.

key

A chave sobre a qual guardar o valor.

expiration

O tempo de expiração, padrão é 0. Veja Tempos de Expiração para maiores informações.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Use Memcached::getResultCode() se necessário.

Veja Também

  • Memcached::touch() - Set a new expiration on an item


The MemcachedException class

(PECL memcached >= 0.1.0)

Introdução

Sinopse da classe

MemcachedException extends RuntimeException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


mqseries

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • mqseries Funções
    • mqseries_back — MQSeries MQBACK
    • mqseries_begin — MQseries MQBEGIN
    • mqseries_close — MQSeries MQCLOSE
    • mqseries_cmit — MQSeries MQCMIT
    • mqseries_conn — MQSeries MQCONN
    • mqseries_connx — MQSeries MQCONNX
    • mqseries_disc — MQSeries MQDISC
    • mqseries_get — MQSeries MQGET
    • mqseries_inq — MQSeries MQINQ
    • mqseries_open — MQSeries MQOPEN
    • mqseries_put1 — MQSeries MQPUT1
    • mqseries_put — MQSeries MQPUT
    • mqseries_set — MQSeries MQSET
    • mqseries_strerror — Returns the error message corresponding to a result code (MQRC)


Introdução

This extension aims to provide an interface for communicating with IBMs WebSphere MQ series Queue managers.

The interface mimics the C-API client interface of WebSphere MQ Series as close as possible. Using the same naming conventions and possibilities of the C-API. In order to understand the workings of this extension some level of understanding the C-API is required.

For MQ-options, MQ-structures, MQ-results etc. please read the WebSphere MQ Application Programming Guide and WebSphere MQ Application Programming Reference.


Dependências

A working IBM WebSphere MQ installation. If building the extension the SDK for IBM WebSphere MQ is also required.

Nota: Be aware that when running against a IBM WebSphere MQ Client installation some methods are not available. This is not a problem of the extension but just the way the WebSphere MQ Client Interface works.

Installation requirements on non windows platforms

Build the extension and put it in the PHP extension directory.

Installation requirements on Windows

No additional requirements.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/mqseries.

Nota: The official name of this extension is mqseries.

There are two ways to connect to a queue manager. These depend on the way the extension is compiled and linked.

  • First one and also the default one is using the mqic libraries. Compiling and linking the extension against these IBM WebSphere MQSeries libraries allows the extension to connect to the Queue manager using the client interface. Remote connections are possible this way.

  • The other way is to compile and link against the mqm libraries. Using these libraries it is possible to make use of the transaction management of a queue manager.

Currently selecting the libraries to use is done by changing the config.m4 file.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

There are no extra configuration parameters.


Tipos de Recurso

This extension defines a connection and object_handle resources.

The mqseries_conn() and mqseries_connx() define the connectionn handles.

The mqseries_open() defines the object handle.


Constantes pré-definidas

For each WebSphere MQ Constant there is a mqseries counterpart.

For definitions and usage see the WebSphere MQ Application Programming Guide and WebSphere MQ Application Programming Reference red books.

The name of the mqseries counterpart is made by appending the WebSphere MQ constant with MQSERIES_, for example the CompletionCode constants are:

mqseries constants
PHP Constant | MQ Constant
MQSERIES_MQCC_OK | MQCC_OK
MQSERIES_MQCC_WARNING | MQCC_WARNING
MQSERIES_MQCC_FAILED | MQCC_FAILED
MQSERIES_MQCC_UNKNOWN | MQCC_UNKNOWN


mqseries Funções

Índice

  • mqseries_back — MQSeries MQBACK
  • mqseries_begin — MQseries MQBEGIN
  • mqseries_close — MQSeries MQCLOSE
  • mqseries_cmit — MQSeries MQCMIT
  • mqseries_conn — MQSeries MQCONN
  • mqseries_connx — MQSeries MQCONNX
  • mqseries_disc — MQSeries MQDISC
  • mqseries_get — MQSeries MQGET
  • mqseries_inq — MQSeries MQINQ
  • mqseries_open — MQSeries MQOPEN
  • mqseries_put1 — MQSeries MQPUT1
  • mqseries_put — MQSeries MQPUT
  • mqseries_set — MQSeries MQSET
  • mqseries_strerror — Returns the error message corresponding to a result code (MQRC)


MQSeries MQBACK

  • « mqseries Funções
  • mqseries_begin »
  • PHP Manual
  • mqseries Funções
  • MQSeries MQBACK

mqseries_back

(PECL mqseries >= 0.10.0)

mqseries_back — MQSeries MQBACK

Descrição

mqseries_back ( resource $hconn , resource &$compCode , resource &$reason ) : void

The mqseries_back() (MQBACK) call indicates to the queue manager that all the message gets and puts that have occurred since the last syncpoint are to be backed out. Messages put as part of a unit of work are deleted; messages retrieved as part of a unit of work are reinstated on the queue.

Using mqseries_back() only works in conjunction with mqseries_begin() and only function when connecting directly to a Queueu manager. Not via the mqclient interface.

Parâmetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 mqseries_back() example

<?php
    mqseries_back($conn, $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Notas

Nota:

mqseries_back() will not function when using MQSeries Client to connect to a Queueu Manager.

Veja Também

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_begin() - MQseries MQBEGIN


MQseries MQBEGIN

  • « mqseries_back
  • mqseries_close »
  • PHP Manual
  • mqseries Funções
  • MQseries MQBEGIN

mqseries_begin

(PECL mqseries >= 0.10.0)

mqseries_begin — MQseries MQBEGIN

Descrição

mqseries_begin ( resource $hconn , array $beginOptions , resource &$compCode , resource &$reason ) : void

The mqseries_begin() (MQBEGIN) call begins a unit of work that is coordinated by the queue manager, and that may involve external resource managers.

Using mqseries_begin() starts the unit of work. Either mqseries_back() or mqseries_cmit() ends the unit of work.

Parâmetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 mqseries_begin() example

<?php
    $mqbo = array();
    mqseries_begin( $conn,
                    $mqbo,
                    $comp_code,
                    $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        /* reason code 2121 is a warning for more information see MQSeries reference manual.*/
        if ($reason !== 2121) {
            printf("CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        }
    }
?>

Notas

Nota:

mqseries_begin() will not function when using MQSeries Client to connect to a Queueu Manager.

Veja Também

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_back() - MQSeries MQBACK
  • mqseries_cmit() - MQSeries MQCMIT


MQSeries MQCLOSE

  • « mqseries_begin
  • mqseries_cmit »
  • PHP Manual
  • mqseries Funções
  • MQSeries MQCLOSE

mqseries_close

(PECL mqseries >= 0.10.0)

mqseries_close — MQSeries MQCLOSE

Descrição

mqseries_close ( resource $hconn , resource $hobj , int $options , resource &$compCode , resource &$reason ) : void

The mqseries_close() (MQCLOSE) call relinquishes access to an object, and is the inverse of the mqseries_open() (MQOPEN) call.

Parâmetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

options

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 mqseries_close() example

<?php
    mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("close CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Veja Também

  • mqseries_open() - MQSeries MQOPEN
  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX


MQSeries MQCMIT

  • « mqseries_close
  • mqseries_conn »
  • PHP Manual
  • mqseries Funções
  • MQSeries MQCMIT

mqseries_cmit

(PECL mqseries >= 0.10.0)

mqseries_cmit — MQSeries MQCMIT

Descrição

mqseries_cmit ( resource $hconn , resource &$compCode , resource &$reason ) : void

The mqseries_cmit() (MQCMIT) call indicates to the queue manager that the application has reached a syncpoint, and that all of the message gets and puts that have occurred since the last syncpoint are to be made permanent. Messages put as part of a unit of work are made available to other applications; messages retrieved as part of a unit of work are deleted.

Parâmetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 mqseries_cmit() example

<?php
    mqseries_cmit($conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("cmit CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Notas

Nota:

mqseries_back() will not function when using MQSeries Client to connect to a Queueu Manager.

Veja Também

  • mqseries_begin() - MQseries MQBEGIN
  • mqseries_back() - MQSeries MQBACK
  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX


MQSeries MQCONN

  • « mqseries_cmit
  • mqseries_connx »
  • PHP Manual
  • mqseries Funções
  • MQSeries MQCONN

mqseries_conn

(PECL mqseries >= 0.10.0)

mqseries_conn — MQSeries MQCONN

Descrição

mqseries_conn ( string $qManagerName , resource &$hconn , resource &$compCode , resource &$reason ) : void

The mqseries_conn() (MQCONN) call connects an application program to a queue manager. It provides a queue manager connection handle, which is used by the application on subsequent message queuing calls.

Parâmetros

qManagerName

Name of queue manager.

Name of the queue manager the application wishes to connect.

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 mqseries_conn() example

<?php
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("conn CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

Veja Também

  • mqseries_disc() - MQSeries MQDISC


MQSeries MQCONNX

  • « mqseries_conn
  • mqseries_disc »
  • PHP Manual
  • mqseries Funções
  • MQSeries MQCONNX

mqseries_connx

(PECL mqseries >= 0.10.0)

mqseries_connx — MQSeries MQCONNX

Descrição

mqseries_connx ( string $qManagerName , array &$connOptions , resource &$hconn , resource &$compCode , resource &$reason ) : void

The mqseries_connx() (MQCONNX) call connects an application program to a queue manager. It provides a queue manager connection handle, which is used by the application on subsequent MQ calls.

The mqseries_connx() call is like the mqseries_conn() (MQCONN) call, except that MQCONNX allows options to be specified to control the way that the call works.

Parâmetros

qManagerName

Name of queue manager.

Name of the queue manager the application wishes to connect.

connOps

Options that control the action of function

See also the MQCNO structure.

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 mqseries_connx() example

<?php
    $mqcno = array(
        'Version' => MQSERIES_MQCNO_VERSION_2,
        'Options' => MQSERIES_MQCNO_STANDARD_BINDING,
        'MQCD' => array('ChannelName' => 'MQNX9420.CLIENT',
        'ConnectionName' => 'localhost',
        'TransportType' => MQSERIES_MQXPT_TCP)
    );

    mqseries_connx('MQNX9420', $mqcno, $conn, $comp_code,$reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("Connx CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }

?>

Exemplo #2 mqseries_connx() example using SSL connection & OCSP Responder URL

<?php
    $mqcno = array(
        'Version' => 4, //MQCNO_VERSION_4
        'Options' => MQSERIES_MQCNO_STANDARD_BINDING,
        'MQCD' => array(
            'Version' => 7, //MQCD_VERSION_7
            'ConnectionName' => 'localhost',
            'TransportType' => MQSERIES_MQXPT_TCP,
            'ChannelName' => 'CONNECTIONCHANNEL',
            'SSLCipherSpec' => 'NULL_SHA'
        ),
        'MQSCO' => array(
            'KeyRepository' => '/var/mqm/qmgrs/QUEUEMGR/ssl/key', //Local path where the SSL key repository can be found
            'MQAIR' => array(
                'Version' => 2, //MQAIR_VERSION_2
                'AuthInfoType' => 2, //MQAIT_OCSP
                'OCSPResponderURL' => 'http://dummy.OCSP.responder'
            )
        )
    );

    mqseries_connx('QUEUEMGR', $mqcno, $conn, $comp_code,$reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("Connx CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }

?>

Veja Também

  • mqseries_disc() - MQSeries MQDISC


MQSeries MQDISC

  • « mqseries_connx
  • mqseries_get »
  • PHP Manual
  • mqseries Funções
  • MQSeries MQDISC

mqseries_disc

(PECL mqseries >= 0.10.0)

mqseries_disc — MQSeries MQDISC

Descrição

mqseries_disc ( resource $hconn , resource &$compCode , resource &$reason ) : void

The mqseries_disc() (MQDISC) call breaks the connection between the queue manager and the application program, and is the inverse of the mqseries_conn() (MQCONN) or mqseries_connx() (MQCONNX) call.

Parâmetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 mqseries_disc() example

<?php
    mqseries_disc($conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("disc CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Veja Também

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX


MQSeries MQGET

  • « mqseries_disc
  • mqseries_inq »
  • PHP Manual
  • mqseries Funções
  • MQSeries MQGET

mqseries_get

(PECL mqseries >= 0.10.0)

mqseries_get — MQSeries MQGET

Descrição

mqseries_get ( resource $hConn , resource $hObj , array &$md , array &$gmo , int &$bufferLength , string &$msg , int &$data_length , resource &$compCode , resource &$reason ) : void

The mqseries_get() (MQGET) call retrieves a message from a local queue that has been opened using the mqseries_open() (MQOPEN) call

Parâmetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

md

Message descriptor (MQMD).

gmo

Get message options (MQGMO).

bufferLength

Expected length of the result buffer

msg

Buffer holding the message that was retrieved from the object.

data_length

Actual buffer length

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 mqseries_get() example

<?php
// open connection to the queue manager
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connection to the testq queue
    mqseries_open(
                $conn,
                array('ObjectName' => 'TESTQ'),
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
// $obj now holds the reference to the object (TESTQ)

// setup empty message descriptor.
    $mdg = array();
// setup get message options
    $gmo = array('Options' => MQSERIES_MQGMO_FAIL_IF_QUIESCING | MQSERIES_MQGMO_WAIT, 'WaitInterval' => 3000);

// get the message from the queue
    mqseries_get($conn, $obj, $mdg, $gmo, 255, $msg, $data_length, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("GET CompCode:%d Reason:%d Text:%s<br>", $comp_code, $reason, mqseries_strerror($reason));
    }

// close the object reference $obj
    mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);

// disconnect from the queue manager.
    mqseries_disc($conn, $comp_code, $reason);

?>

Veja Também

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_put() - MQSeries MQPUT


MQSeries MQINQ

  • « mqseries_get
  • mqseries_open »
  • PHP Manual
  • mqseries Funções
  • MQSeries MQINQ

mqseries_inq

(PECL mqseries >= 0.10.0)

mqseries_inq — MQSeries MQINQ

Descrição

mqseries_inq ( resource $hconn , resource $hobj , int $selectorCount , array $selectors , int $intAttrCount , resource &$intAttr , int $charAttrLength , resource &$charAttr , resource &$compCode , resource &$reason ) : void

The mqseries_inq() (MQINQ) call returns an array of integers and a set of character strings containing the attributes of an object.

Parâmetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

selectorCount

Count of selectors.

selectors

Array of attribute selectors.

intAttrLength

Count of integer attributes.

intAttr

Array of integer attributes.

charAttrLength

Length of character attributes buffer.

charAttr

Character attributes.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 mqseries_inq() example

<?php
    $int_attr = array();
    $char_attr = "";

    mqseries_inq($conn, $obj, 1, array(MQSERIES_MQCA_Q_MGR_NAME), 0, $int_attr, 48, $char_attr, $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("INQ CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    } else {
        echo "INQ QManager name result ".$char_attr."<br>\n";
    }
?>

Veja Também

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN


MQSeries MQOPEN

  • « mqseries_inq
  • mqseries_put1 »
  • PHP Manual
  • mqseries Funções
  • MQSeries MQOPEN

mqseries_open

(PECL mqseries >= 0.10.0)

mqseries_open — MQSeries MQOPEN

Descrição

mqseries_open ( resource $hconn , array &$objDesc , int $option , resource &$hobj , resource &$compCode , resource &$reason ) : void

The mqseries_open() (MQOPEN) call establishes access to an object.

Parâmetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

objDesc

Object descriptor. (MQOD)

options

Options that control the action of the function.

hObj

Object handle.

This handle represents the object to be used.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 mqseries_open() example

<?php
    $mqods = array('ObjectName' => 'TESTQ');
    mqseries_open(
                $conn,
                $mqods,
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("open CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

Veja Também

  • mqseries_close() - MQSeries MQCLOSE


MQSeries MQPUT1

  • « mqseries_open
  • mqseries_put »
  • PHP Manual
  • mqseries Funções
  • MQSeries MQPUT1

mqseries_put1

(PECL mqseries >= 0.10.0)

mqseries_put1 — MQSeries MQPUT1

Descrição

mqseries_put1 ( resource $hconn , resource &$objDesc , resource &$msgDesc , resource &$pmo , string $buffer , resource &$compCode , resource &$reason ) : void

The mqseries_put1() (MQPUT1) call puts one message on a queue. The queue need not be open.

You can use both the mqseries_put() and mqseries_put1() calls to put messages on a queue; which call to use depends on the circumstances. Use the mqseries_put() (MQPUT) call to place multiple messages on the same queue. Use the mqseries_put1() (MQPUT1) call to put only one message on a queue. This call encapsulates the MQOPEN, MQPUT, and MQCLOSE calls into a single call, minimizing the number of calls that must be issued.

Parâmetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

objDesc

Object descriptor. (MQOD)

This is a structure which identifies the queue to which the message is added.

msgDesc

Message descriptor (MQMD).

pmo

Put message options (MQPMO).

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valor Retornado

Não há valor retornado.

Veja Também

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_get() - MQSeries MQGET


MQSeries MQPUT

  • « mqseries_put1
  • mqseries_set »
  • PHP Manual
  • mqseries Funções
  • MQSeries MQPUT

mqseries_put

(PECL mqseries >= 0.10.0)

mqseries_put — MQSeries MQPUT

Descrição

mqseries_put ( resource $hConn , resource $hObj , array &$md , array &$pmo , string $message , resource &$compCode , resource &$reason ) : void

The mqseries_put() (MQPUT) call puts a message on a queue or distribution list. The queue or distribution list must already be open.

Parâmetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

md

Message descriptor (MQMD).

pmo

Put message options (MQPMO).

message

The actual message to put onto the queue.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 mqseries_put() example

<?php
// open connection to the queue manager
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connectio to the testq queueu
    mqseries_open(
                $conn,
                array('ObjectName' => 'TESTQ'),
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
// $obj now holds the reference to the object (TESTQ)

// setup the message descriptor array. Check MQSeries reference manuals.
    $md = array(
                'Version' => MQSERIES_MQMD_VERSION_1,
                'Expiry' => MQSERIES_MQEI_UNLIMITED,
                'Report' => MQSERIES_MQRO_NONE,
                'MsgType' => MQSERIES_MQMT_DATAGRAM,
                'Format' => MQSERIES_MQFMT_STRING,
                'Priority' => 1,
                'Persistence' => MQSERIES_MQPER_PERSISTENT);

// setup the put message options.
    $pmo = array('Options' => MQSERIES_MQPMO_NEW_MSG_ID|MQSERIES_MQPMO_SYNCPOINT);

// put the message 'Ping' on the queueu.
    mqseries_put($conn, $obj, $md, $pmo, 'Ping', $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("put CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }

// close the object reference $obj
    mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);

// disconnect from the queue manager.
    mqseries_disc($conn, $comp_code, $reason);

?>

Veja Também

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_get() - MQSeries MQGET


MQSeries MQSET

  • « mqseries_put
  • mqseries_strerror »
  • PHP Manual
  • mqseries Funções
  • MQSeries MQSET

mqseries_set

(PECL mqseries >= 0.10.0)

mqseries_set — MQSeries MQSET

Descrição

mqseries_set ( resource $hConn , resource $hObj , int $selectorCount , array $selectors , int $intAttrCount , array $intAttrs , int $charAttrLength , array $charAttrs , resource &$compCode , resource &$reason ) : void

The mqseries_set() (MQSET) call is used to change the attributes of an object represented by a handle. The object must be a queue.

Parâmetros

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

selectorCount

Count of selectors.

selectors

Array of attribute selectors.

intAttrCount

Count of integer attributes.

intAttrs

Array of integer attributes.

charAttrLength

Length of character attributes buffer.

charAttrs

Character attributes.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Valor Retornado

Não há valor retornado.

Veja Também

  • mqseries_inq() - MQSeries MQINQ


Returns the error message corresponding to a result code (MQRC)

  • « mqseries_set
  • Network »
  • PHP Manual
  • mqseries Funções
  • Returns the error message corresponding to a result code (MQRC)

mqseries_strerror

(PECL mqseries >= 0.10.0)

mqseries_strerror — Returns the error message corresponding to a result code (MQRC)

Descrição

mqseries_strerror ( int $reason ) : string

mqseries_strerror() returns the message that correspond to the reason result code.

Parâmetros

reason

Reason code qualifying the compCode.

Valor Retornado

string representation of the reason code message.

Exemplos

Exemplo #1 mqseries_strerror() example

<?php
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("open CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

O exemplo acima irá imprimir:

Connx CompCode:2 Reason:2059 Text:Queue manager not available for connection.


Network

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções da Network
    • checkdnsrr — Checa os registros DNS correspondentes para o nome do host ou endereço IP informado
    • closelog — Close connection to system logger
    • dns_check_record — Sinônimo de checkdnsrr
    • dns_get_mx — Sinônimo de getmxrr
    • dns_get_record — Fetch DNS Resource Records associated with a hostname
    • fsockopen — Abre um socket de conexão Internet ou de domínio Unix
    • gethostbyaddr — Obtém nome do host de Internet correspondendo ao endereçõ de IP fornecido.
    • gethostbyname — Get the IPv4 address corresponding to a given Internet host name
    • gethostbynamel — Get a list of IPv4 addresses corresponding to a given Internet host name
    • gethostname — Gets the host name
    • getmxrr — Obtém registros MX correspondendo ao nome do host de Internet fornecido.
    • getprotobyname — Get protocol number associated with protocol name
    • getprotobynumber — Get protocol name associated with protocol number
    • getservbyname — Get port number associated with an Internet service and protocol
    • getservbyport — Get Internet service which corresponds to port and protocol
    • header_register_callback — Call a header function
    • header_remove — Remove os cabeçalhos definidos anteriormente
    • header — Send a raw HTTP header
    • headers_list — Retorna uma lista de cabeçalhos enviados para o servidor (ou pronto para enviar)
    • headers_sent — Checks if or where headers have been sent
    • http_response_code — Get or Set the HTTP response code
    • inet_ntop — Converts a packed internet address to a human readable representation
    • inet_pton — Converts a human readable IP address to its packed in_addr representation
    • ip2long — Converts a string containing an (IPv4) Internet Protocol dotted address into a long integer
    • long2ip — Converts an long integer address into a string in (IPv4) Internet standard dotted format
    • openlog — Open connection to system logger
    • pfsockopen — Open persistent Internet or Unix domain socket connection
    • setcookie — Envia um cookie
    • setrawcookie — Send a cookie without urlencoding the cookie value
    • socket_get_status — Sinônimo de stream_get_meta_data
    • socket_set_blocking — Sinônimo de stream_set_blocking
    • socket_set_timeout — Sinônimo de stream_set_timeout
    • syslog — Generate a system log message


  • « Network
  • Instalação/Configuração »
  • PHP Manual
  • Network
  • Introdução

Introdução

Provê várias funções para rede.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de Configuração de Rede
Name | Default | Changeable | Changelog
define_syslog_variables | "0" | PHP_INI_ALL |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

define_syslog_variables boolean

Se define ou não as várias variáveis de syslog (e.g. $LOG_PID, $LOG_CRON, etc.). Desligá-la é uma boa idéia de sábia performance. No tempo de execução, você pode definir estas variáveis chamando define_syslog_variables().


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão define um resource de ponteiro de arquivo retornado pela fsockopen() e pfsockopen().


Constantes pré-definidas

As constantes listadas abaixo estão sempre disponíveis como parte do núcleo do PHP.

Opções da openlog()
Constante | Descrição
LOG_CONS | se há um erro enquanto enviando dados para o logger do sistema, escreverá diretamente para o console do sistema
LOG_NDELAY | abre a conexão para o logger imediatamente
LOG_ODELAY | (padrão) atrasa a abertura da conexão até a primeira mensagem está logada
LOG_NOWAIT |
LOG_PERROR | exibe a mensagem de log também para o erro padrão
LOG_PID | inclui PID com cada mensagem
Facilidades da openlog()
Constante | Descrição
LOG_AUTH | mensagens de segurança/autorização (usa LOG_AUTHPRIV no lugar em sistemas onde essa constante está definida)
LOG_AUTHPRIV | mensagens de segurança/autorização (privado)
LOG_CRON | clock daemon (cron and at)
LOG_DAEMON | outros daemons de sistema
LOG_KERN | mensagens de kernel
LOG_LOCAL0 ... LOG_LOCAL7 | reservada para uso local, esta não está disponível em Windows
LOG_LPR | line printer subsystem
LOG_MAIL | mail subsystem
LOG_NEWS | USENET news subsystem
LOG_SYSLOG | mensagens geradas internamente por syslogd
LOG_USER | mensagens de nível-usuário genéricas
LOG_UUCP | UUCP subsystem
Prioridades (em ordem decrescente) de syslog()
Constante | Descrição
LOG_EMERG | sistema está inutilizável
LOG_ALERT | ação deve ser tomada imediatamente
LOG_CRIT | condições críticas
LOG_ERR | condições de erro
LOG_WARNING | condições de alertas
LOG_NOTICE | condição normal, mas significativa
LOG_INFO | mensagem informativa
LOG_DEBUG | mensagem de debug-level
Opções da dns_get_record()
Constante | Descrição
DNS_A | Recurso de Endereço IPv4
DNS_MX | Recurso de cambista de Email
DNS_CNAME | Recurso de Alias (Nome Canônico)
DNS_NS | Recurso de Servidor de Nome Autorizado
DNS_PTR | Recurso de Indicador
DNS_HINFO | Recurso de Host Info (Ver IANA's » Nomes de Sistemas Operacionais para o significado destes valores)
DNS_SOA | Início do Recurso de Autoridade
DNS_TXT | Text Resource
DNS_ANY | Qualquer registro de Recurso. Na maioria dos sistemas retorna todos os registros de recursos, entretadno ele não seria confiado para usos críticos. Tente DNS_ALL no lugar.
DNS_AAAA | Recurso de Endereço de IPv6
DNS_ALL | Iterativamente examina o nome do servidor para cada tipo de gravação disponível.


Funções da Network

Índice

  • checkdnsrr — Checa os registros DNS correspondentes para o nome do host ou endereço IP informado
  • closelog — Close connection to system logger
  • dns_check_record — Sinônimo de checkdnsrr
  • dns_get_mx — Sinônimo de getmxrr
  • dns_get_record — Fetch DNS Resource Records associated with a hostname
  • fsockopen — Abre um socket de conexão Internet ou de domínio Unix
  • gethostbyaddr — Obtém nome do host de Internet correspondendo ao endereçõ de IP fornecido.
  • gethostbyname — Get the IPv4 address corresponding to a given Internet host name
  • gethostbynamel — Get a list of IPv4 addresses corresponding to a given Internet host name
  • gethostname — Gets the host name
  • getmxrr — Obtém registros MX correspondendo ao nome do host de Internet fornecido.
  • getprotobyname — Get protocol number associated with protocol name
  • getprotobynumber — Get protocol name associated with protocol number
  • getservbyname — Get port number associated with an Internet service and protocol
  • getservbyport — Get Internet service which corresponds to port and protocol
  • header_register_callback — Call a header function
  • header_remove — Remove os cabeçalhos definidos anteriormente
  • header — Send a raw HTTP header
  • headers_list — Retorna uma lista de cabeçalhos enviados para o servidor (ou pronto para enviar)
  • headers_sent — Checks if or where headers have been sent
  • http_response_code — Get or Set the HTTP response code
  • inet_ntop — Converts a packed internet address to a human readable representation
  • inet_pton — Converts a human readable IP address to its packed in_addr representation
  • ip2long — Converts a string containing an (IPv4) Internet Protocol dotted address into a long integer
  • long2ip — Converts an long integer address into a string in (IPv4) Internet standard dotted format
  • openlog — Open connection to system logger
  • pfsockopen — Open persistent Internet or Unix domain socket connection
  • setcookie — Envia um cookie
  • setrawcookie — Send a cookie without urlencoding the cookie value
  • socket_get_status — Sinônimo de stream_get_meta_data
  • socket_set_blocking — Sinônimo de stream_set_blocking
  • socket_set_timeout — Sinônimo de stream_set_timeout
  • syslog — Generate a system log message


Checa os registros DNS correspondentes para o nome do host ou endereço IP informado

  • « Funções da Network
  • closelog »
  • PHP Manual
  • Funções da Network
  • Checa os registros DNS correspondentes para o nome do host ou endereço IP informado

checkdnsrr

(PHP 4, PHP 5, PHP 7, PHP 8)

checkdnsrr — Checa os registros DNS correspondentes para o nome do host ou endereço IP informado

Descrição

checkdnsrr ( string $host , string $type = "MX" ) : bool

Pesquisa o DNS para os registros type correspondentes host.

Parâmetros

host

host pode ser o endereço IP em notação quádrupla separada por pontos ou o nome do host.

type

type pode ser: A, MX, NS, SOA, PTR, CNAME, AAAA, A6, SRV, NAPTR, TXT or ANY.

Valor Retornado

Retorna true se o registro for encontrado; retorna false se não encontrar registros ou um erro ocorrer.

Changelog

Versão | Descrição
5.3.0 | Esta função está disponível na plataforma Windows.
5.2.4 | type TXT foi adicionado.

Notas

Nota:

Para compatibilidade com Windows antes dessa implementação, tente a classe » PEAR » Net_DNS.

Veja Também

  • dns_get_record() - Fetch DNS Resource Records associated with a hostname
  • getmxrr() - Obtém registros MX correspondendo ao nome do host de Internet fornecido.
  • gethostbyaddr() - Obtém nome do host de Internet correspondendo ao endereçõ de IP fornecido.
  • gethostbyname() - Get the IPv4 address corresponding to a given Internet host name
  • gethostbynamel() - Get a list of IPv4 addresses corresponding to a given Internet host name
  • the named(8) manual page


Close connection to system logger

  • « checkdnsrr
  • dns_check_record »
  • PHP Manual
  • Funções da Network
  • Close connection to system logger

closelog

(PHP 4, PHP 5, PHP 7, PHP 8)

closelog — Close connection to system logger

Descrição

closelog ( ) : bool

closelog() closes the descriptor being used to write to the system logger. The use of closelog() is optional.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • syslog() - Generate a system log message
  • openlog() - Open connection to system logger


Sinônimo de checkdnsrr

  • « closelog
  • dns_get_mx »
  • PHP Manual
  • Funções da Network
  • Sinônimo de checkdnsrr

dns_check_record

(PHP 5, PHP 7, PHP 8)

dns_check_record — Sinônimo de checkdnsrr()

Descrição

Esta função é um apelido para: checkdnsrr().


Sinônimo de getmxrr

  • « dns_check_record
  • dns_get_record »
  • PHP Manual
  • Funções da Network
  • Sinônimo de getmxrr

dns_get_mx

(PHP 5, PHP 7, PHP 8)

dns_get_mx — Sinônimo de getmxrr()

Descrição

Esta função é um apelido para: getmxrr().


Fetch DNS Resource Records associated with a hostname

  • « dns_get_mx
  • fsockopen »
  • PHP Manual
  • Funções da Network
  • Fetch DNS Resource Records associated with a hostname

dns_get_record

(PHP 5, PHP 7, PHP 8)

dns_get_record — Fetch DNS Resource Records associated with a hostname

Descrição

dns_get_record ( string $hostname , int $type = DNS_ANY , array &$authoritative_name_servers = null , array &$additional_records = null , bool $raw = false ) : array|false

Fetch DNS Resource Records associated with the given hostname.

Parâmetros

hostname

hostname should be a valid DNS hostname such as "www.example.com". Reverse lookups can be generated using in-addr.arpa notation, but gethostbyaddr() is more suitable for the majority of reverse lookups.

Nota:

Per DNS standards, email addresses are given in user.host format (for example: hostmaster.example.com as opposed to hostmaster@example.com), be sure to check this value and modify if necessary before using it with a functions such as mail().

type

By default, dns_get_record() will search for any resource records associated with hostname. To limit the query, specify the optional type parameter. May be any one of the following: DNS_A, DNS_CNAME, DNS_HINFO, DNS_CAA, DNS_MX, DNS_NS, DNS_PTR, DNS_SOA, DNS_TXT, DNS_AAAA, DNS_SRV, DNS_NAPTR, DNS_A6, DNS_ALL or DNS_ANY.

Nota:

Because of eccentricities in the performance of libresolv between platforms, DNS_ANY will not always return every record, the slower DNS_ALL will collect all records more reliably.

Nota:

DNS_CAA is not supported on Windows.

authoritative_name_servers

Passed by reference and, if given, will be populated with Resource Records for the Authoritative Name Servers.

additional_records

Passed by reference and, if given, will be populated with any Additional Records.

raw

The type will be interpreted as a raw DNS type ID (the DNS_* constants cannot be used). The return value will contain a data key, which needs to be manually parsed.

Valor Retornado

This function returns an array of associative arrays, ou false em caso de falha. Each associative array contains at minimum the following keys:

Basic DNS attributes
Attribute | Meaning
host | The record in the DNS namespace to which the rest of the associated data refers.
class | dns_get_record() only returns Internet class records and as such this parameter will always return IN.
type | String containing the record type. Additional attributes will also be contained in the resulting array dependant on the value of type. See table below.
ttl | "Time To Live" remaining for this record. This will not equal the record's original ttl, but will rather equal the original ttl minus whatever length of time has passed since the authoritative name server was queried.

Other keys in associative arrays dependant on 'type'
Type | Extra Columns
A | ip: An IPv4 addresses in dotted decimal notation.
MX | pri: Priority of mail exchanger. Lower numbers indicate greater priority. target: FQDN of the mail exchanger. See also dns_get_mx().
CNAME | target: FQDN of location in DNS namespace to which the record is aliased.
NS | target: FQDN of the name server which is authoritative for this hostname.
PTR | target: Location within the DNS namespace to which this record points.
TXT | txt: Arbitrary string data associated with this record.
HINFO | cpu: IANA number designating the CPU of the machine referenced by this record. os: IANA number designating the Operating System on the machine referenced by this record. See IANA's » Operating System Names for the meaning of these values.
CAA | flags: A one-byte bitfield; currently only bit 0 is defined, meaning 'critical'; other bits are reserved and should be ignored. tag: The CAA tag name (alphanumeric ASCII string). value: The CAA tag value (binary string, may use subformats). For additional information see: » RFC 6844
SOA | mname: FQDN of the machine from which the resource records originated. rname: Email address of the administrative contact for this domain. serial: Serial # of this revision of the requested domain. refresh: Refresh interval (seconds) secondary name servers should use when updating remote copies of this domain. retry: Length of time (seconds) to wait after a failed refresh before making a second attempt. expire: Maximum length of time (seconds) a secondary DNS server should retain remote copies of the zone data without a successful refresh before discarding. minimum-ttl: Minimum length of time (seconds) a client can continue to use a DNS resolution before it should request a new resolution from the server. Can be overridden by individual resource records.
AAAA | ipv6: IPv6 address
A6(PHP >= 5.1.0) | masklen: Length (in bits) to inherit from the target specified by chain. ipv6: Address for this specific record to merge with chain. chain: Parent record to merge with ipv6 data.
SRV | pri: (Priority) lowest priorities should be used first. weight: Ranking to weight which of commonly prioritized targets should be chosen at random. target and port: hostname and port where the requested service can be found. For additional information see: » RFC 2782
NAPTR | order and pref: Equivalent to pri and weight above. flags, services, regex, and replacement: Parameters as defined by » RFC 2915.

Changelog

Versão | Descrição
7.0.16, 7.1.2 | Added support for CAA record type.

Exemplos

Exemplo #1 Using dns_get_record()

<?php
$result = dns_get_record("php.net");
print_r($result);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)

Exemplo #2 Using dns_get_record() and DNS_ANY

Since it's very common to want the IP address of a mail server once the MX record has been resolved, dns_get_record() also returns an array in additional_records which contains associate records. authoritative_name_servers is returned as well containing a list of authoritative name servers.

<?php
/* Request "ANY" record for php.net,
   and create $authns and $addtl arrays
   containing list of name servers and
   any additional records which go with
   them */
$result = dns_get_record("php.net", DNS_ANY, $authns, $addtl);
echo "Result = ";
print_r($result);
echo "Auth NS = ";
print_r($authns);
echo "Additional = ";
print_r($addtl);
?>

O exemplo acima irá imprimir algo similar à:

Result = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)
Auth NS = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [1] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [2] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [3] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

)
Additional = Array
(
    [0] => Array
        (
            [host] => pair2.php.net
            [type] => A
            [ip] => 216.92.131.5
            [class] => IN
            [ttl] => 6766
        )

    [1] => Array
        (
            [host] => remote1.easydns.com
            [type] => A
            [ip] => 64.39.29.212
            [class] => IN
            [ttl] => 100384
        )

    [2] => Array
        (
            [host] => remote2.easydns.com
            [type] => A
            [ip] => 212.100.224.80
            [class] => IN
            [ttl] => 81241
        )

    [3] => Array
        (
            [host] => ns1.easydns.com
            [type] => A
            [ip] => 216.220.40.243
            [class] => IN
            [ttl] => 81241
        )

    [4] => Array
        (
            [host] => ns2.easydns.com
            [type] => A
            [ip] => 216.220.40.244
            [class] => IN
            [ttl] => 81241
        )

)

Notas

Nota:

For compatibility with versions before PHP 5.3.0 on some operating systems, try the » PEAR class » Net_DNS.

Veja Também

  • dns_get_mx() - Sinônimo de getmxrr
  • dns_check_record() - Sinônimo de checkdnsrr


Abre um socket de conexão Internet ou de domínio Unix

  • « dns_get_record
  • gethostbyaddr »
  • PHP Manual
  • Funções da Network
  • Abre um socket de conexão Internet ou de domínio Unix

fsockopen

(PHP 4, PHP 5, PHP 7, PHP 8)

fsockopen — Abre um socket de conexão Internet ou de domínio Unix

Descrição

fsockopen ( string $hostname , int $port = -1 , int &$errno = ? , string &$errstr = ? , float $timeout = ini_get("default_socket_timeout") ) : resource

Inicia uma conexão socket para o recurso especificado em hostname.

O PHP suporta alvos na Internet ou domínios Unix, conforme descrito em Lista de Transportes via Socket Suportados. Uma lista dos transportes suportados pode ser encontrada utilizando a função stream_get_transports().

Por padrão o socket será aberto em modo de bloqueio. Você pode mudar para o modo desbloqueado utilizando a função stream_set_blocking().

A função stream_socket_client() é similar mas provê um número maior de opções, incluindo conxão não bloqueada e a habilidade de adicionar um contexto de corrente (stream context).

Parâmetros

hostname

Se você compilou com suporte a OpenSSL, você pode colocar os prefixos ssl:// ou tls:// ao hostname para utilizar SSL ou uma conexão cliente TLS sobre TCP/IP para conectar com o host remoto.

port

O número da porta. Pode ser omitido e pulado com -1 para transportes que não usam portas, como unix://.

errno

Se informado, guarda o número do erro do sistema que aconteceu na chamada de connect() no nível do sistema.

Se o valor retornado em errno é 0 e a função retornou false, é um indicativo que o erro aconteceu antes da chamada de connect(). É bem provável que isso aconteça por um problema de inicialização de socket.

errstr

A mensagem de erro como string.

timeout

Timeout de conexão, em segundos.

Nota:

Se você precisa de um timeout para ler/escrever dados através do socket, use stream_set_timeout(), já que o parâmetro timeout de fsockopen() somente é aplicado enquanto o socket está conectando.

Valor Retornado

fsockopen() retorna um ponteiro de arquivo que pode ser usado em em conjunto com outras funções de arquivo (como fgets(), fgetss(), fwrite(), fclose(), e feof()). Se a chamada falhar, ela retornará false.

Erros

Dispara um E_WARNING se hostname não é um domínio válido.

Exemplos

Exemplo #1 fsockopen() Exemplo

<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.example.com\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
    }
    fclose($fp);
}
?>

Exemplo #2 Utilizando conexão UDP

O exemplo abaixo mostra como recuperar o valor de dia e hora do serviço UDP (porta 13) da sua própria máquina.

<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
    echo "ERRO: $errno - $errstr<br />\n";
} else {
    fwrite($fp, "\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

Notas

Nota:

Dependedendo do ambiente, o domínio Unix ou o opcional timeout de conexão não estarão disponíveis.

Aviso

Sockets UDP algumas vezes irão parecer que foram abertos sem erro, mesmo que o host remoto seja inalcançável. O erro só se tornará aparente quando você ler ou escrever dados de/para o socket. A razão disso é porque o UDP é um protocolo "sem conexão", o que significa que o sistema operacional não tenta estabelecer uma ligação para o socket até que ele realmente precise enviar ou receber dados.

Nota: Quando informando endereços IPv6 numéricos (por exemplo, fe80::1), você precisa englobar o IP entre colchetes. Exemplo: tcp://[fe80::1]:80.

Veja Também

  • pfsockopen() - Open persistent Internet or Unix domain socket connection
  • stream_socket_client() - Open Internet or Unix domain socket connection
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • fgets() - Lê uma linha de um ponteiro de arquivo
  • fgetss() - Ler uma linha de um ponteiro de arquivo e retira as tags HTML
  • fwrite() - Escrita binary-safe em arquivos
  • fclose() - Fecha um ponteiro de arquivo aberto
  • feof() - Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo
  • socket_connect() - Inicializa uma conexão em um socket
  • A extensão Curl


Obtém nome do host de Internet correspondendo ao endereçõ de IP fornecido.

  • « fsockopen
  • gethostbyname »
  • PHP Manual
  • Funções da Network
  • Obtém nome do host de Internet correspondendo ao endereçõ de IP fornecido.

gethostbyaddr

(PHP 4, PHP 5, PHP 7, PHP 8)

gethostbyaddr — Obtém nome do host de Internet correspondendo ao endereçõ de IP fornecido.

Descrição

gethostbyaddr ( string $ip_address ) : string

Retorna o nome do host do host de Internet especificado por ip_address.

Parâmetros

ip_address

O endereço IP do host.

Valor Retornado

Retorna o nome do host ou o não modificado ip_address em falha.

Exemplos

Exemplo #1 Um simples exemplo de gethostbyaddr()

<?php
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

echo $hostname;
?>

Veja Também

  • gethostbyname() - Get the IPv4 address corresponding to a given Internet host name
  • gethostbynamel() - Get a list of IPv4 addresses corresponding to a given Internet host name


Get the IPv4 address corresponding to a given Internet host name

  • « gethostbyaddr
  • gethostbynamel »
  • PHP Manual
  • Funções da Network
  • Get the IPv4 address corresponding to a given Internet host name

gethostbyname

(PHP 4, PHP 5, PHP 7, PHP 8)

gethostbyname — Get the IPv4 address corresponding to a given Internet host name

Descrição

gethostbyname ( string $hostname ) : string

Returns the IPv4 address of the Internet host specified by hostname.

Parâmetros

hostname

The host name.

Valor Retornado

Returns the IPv4 address or a string containing the unmodified hostname on failure.

Exemplos

Exemplo #1 A simple gethostbyname() example

<?php
$ip = gethostbyname('www.example.com');

echo $ip;
?>

Veja Também

  • gethostbyaddr() - Obtém nome do host de Internet correspondendo ao endereçõ de IP fornecido.
  • gethostbynamel() - Get a list of IPv4 addresses corresponding to a given Internet host name
  • inet_pton() - Converts a human readable IP address to its packed in_addr representation
  • inet_ntop() - Converts a packed internet address to a human readable representation


Get a list of IPv4 addresses corresponding to a given Internet host name

  • « gethostbyname
  • gethostname »
  • PHP Manual
  • Funções da Network
  • Get a list of IPv4 addresses corresponding to a given Internet host name

gethostbynamel

(PHP 4, PHP 5, PHP 7, PHP 8)

gethostbynamel — Get a list of IPv4 addresses corresponding to a given Internet host name

Descrição

gethostbynamel ( string $hostname ) : array|false

Returns a list of IPv4 addresses to which the Internet host specified by hostname resolves.

Parâmetros

hostname

The host name.

Valor Retornado

Returns an array of IPv4 addresses or false if hostname could not be resolved.

Exemplos

Exemplo #1 gethostbynamel() example

<?php
$hosts = gethostbynamel('www.example.com');
print_r($hosts);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => 192.0.34.166
)

Veja Também

  • gethostbyname() - Get the IPv4 address corresponding to a given Internet host name
  • gethostbyaddr() - Obtém nome do host de Internet correspondendo ao endereçõ de IP fornecido.
  • checkdnsrr() - Checa os registros DNS correspondentes para o nome do host ou endereço IP informado
  • getmxrr() - Obtém registros MX correspondendo ao nome do host de Internet fornecido.
  • the named(8) manual page


Gets the host name

  • « gethostbynamel
  • getmxrr »
  • PHP Manual
  • Funções da Network
  • Gets the host name

gethostname

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

gethostname — Gets the host name

Descrição

gethostname ( ) : string|false

gethostname() gets the standard host name for the local machine.

Valor Retornado

Returns a string with the hostname on success, otherwise false is returned.

Exemplos

Exemplo #1 A simple gethostname() example

<?php
echo gethostname(); // may output e.g,: sandie

// Or, an option that also works before PHP 5.3
echo php_uname('n'); // may output e.g,: sandie
?>

Veja Também

  • gethostbyname() - Get the IPv4 address corresponding to a given Internet host name
  • gethostbyaddr() - Obtém nome do host de Internet correspondendo ao endereçõ de IP fornecido.
  • php_uname() - Retorna informação sobre o sistema operacional que o PHP foi construído


Obtém registros MX correspondendo ao nome do host de Internet fornecido.

  • « gethostname
  • getprotobyname »
  • PHP Manual
  • Funções da Network
  • Obtém registros MX correspondendo ao nome do host de Internet fornecido.

getmxrr

(PHP 4, PHP 5, PHP 7, PHP 8)

getmxrr — Obtém registros MX correspondendo ao nome do host de Internet fornecido.

Descrição

getmxrr ( string $hostname , array &$mxhosts , array &$weight = ? ) : bool

Pesquisa DNS para registros MX correspondendo a hostname.

Parâmetros

hostname

The Internet host name.

mxhosts

Uma lista dos registros MX encontrados é colocada dentro de um array mxhosts.

weight

Se o array weight é dado, ele será preenchido com a informação de weight colhida.

Valor Retornado

Retorna true se algum registro foi encontrado; retorna false se nenhum registro foi encontrado ou se um erro ocorreu.

Notas

Nota:

Esta função não seria usada para propósitos de verificação de endereços. Apenas os mailexchangers encontrados no DNS são retornados, entretanto, de acordo com » RFC 2821 quando nenhum mail exchangers está listado, hostname seria usado como apenas mail exchanger com uma prioridade 0.

Nota:

Esta função não é implementada em plataformas Windows. Tente a classe » PEAR » Net_DNS.

Veja Também

  • checkdnsrr() - Checa os registros DNS correspondentes para o nome do host ou endereço IP informado
  • dns_get_record() - Fetch DNS Resource Records associated with a hostname
  • gethostbyname() - Get the IPv4 address corresponding to a given Internet host name
  • gethostbynamel() - Get a list of IPv4 addresses corresponding to a given Internet host name
  • gethostbyaddr() - Obtém nome do host de Internet correspondendo ao endereçõ de IP fornecido.
  • the named(8) manual page


Get protocol number associated with protocol name

  • « getmxrr
  • getprotobynumber »
  • PHP Manual
  • Funções da Network
  • Get protocol number associated with protocol name

getprotobyname

(PHP 4, PHP 5, PHP 7, PHP 8)

getprotobyname — Get protocol number associated with protocol name

Descrição

getprotobyname ( string $protocol ) : int|false

getprotobyname() returns the protocol number associated with the protocol protocol as per /etc/protocols.

Parâmetros

protocol

The protocol name.

Valor Retornado

Returns the protocol number, ou false em caso de falha.

Exemplos

Exemplo #1 getprotobyname() example

<?php
$protocol = 'tcp';
$get_prot = getprotobyname($protocol);
if ($get_prot === FALSE) {
    echo 'Invalid Protocol';
} else {
    echo 'Protocol #' . $get_prot;
}
?>

Veja Também

  • getprotobynumber() - Get protocol name associated with protocol number


Get protocol name associated with protocol number

  • « getprotobyname
  • getservbyname »
  • PHP Manual
  • Funções da Network
  • Get protocol name associated with protocol number

getprotobynumber

(PHP 4, PHP 5, PHP 7, PHP 8)

getprotobynumber — Get protocol name associated with protocol number

Descrição

getprotobynumber ( int $protocol ) : string|false

getprotobynumber() returns the protocol name associated with protocol protocol as per /etc/protocols.

Parâmetros

protocol

The protocol number.

Valor Retornado

Returns the protocol name as a string, ou false em caso de falha.

Veja Também

  • getprotobyname() - Get protocol number associated with protocol name


Get port number associated with an Internet service and protocol

  • « getprotobynumber
  • getservbyport »
  • PHP Manual
  • Funções da Network
  • Get port number associated with an Internet service and protocol

getservbyname

(PHP 4, PHP 5, PHP 7, PHP 8)

getservbyname — Get port number associated with an Internet service and protocol

Descrição

getservbyname ( string $service , string $protocol ) : int|false

getservbyname() returns the Internet port which corresponds to service for the specified protocol as per /etc/services.

Parâmetros

service

The Internet service name, as a string.

protocol

protocol is either "tcp" or "udp" (in lowercase).

Valor Retornado

Returns the port number, or false if service or protocol is not found.

Exemplos

Exemplo #1 getservbyname() example

<?php
$services = array('http', 'ftp', 'ssh', 'telnet', 'imap',
'smtp', 'nicname', 'gopher', 'finger', 'pop3', 'www');

foreach ($services as $service) {
    $port = getservbyname($service, 'tcp');
    echo $service . ": " . $port . "<br />\n";
}
?>

Veja Também

  • getservbyport() - Get Internet service which corresponds to port and protocol
  • » http://www.iana.org/assignments/port-numbers for a complete list of port numbers.


Get Internet service which corresponds to port and protocol

  • « getservbyname
  • header_register_callback »
  • PHP Manual
  • Funções da Network
  • Get Internet service which corresponds to port and protocol

getservbyport

(PHP 4, PHP 5, PHP 7, PHP 8)

getservbyport — Get Internet service which corresponds to port and protocol

Descrição

getservbyport ( int $port , string $protocol ) : string|false

getservbyport() returns the Internet service associated with port for the specified protocol as per /etc/services.

Parâmetros

port

The port number.

protocol

protocol is either "tcp" or "udp" (in lowercase).

Valor Retornado

Returns the Internet service name as a string, ou false em caso de falha.

Veja Também

  • getservbyname() - Get port number associated with an Internet service and protocol


Call a header function

  • « getservbyport
  • header_remove »
  • PHP Manual
  • Funções da Network
  • Call a header function

header_register_callback

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

header_register_callback — Call a header function

Descrição

header_register_callback ( callable $callback ) : bool

Registers a function that will be called when PHP starts sending output.

The callback is executed just after PHP prepares all headers to be sent, and before any other output is sent, creating a window to manipulate the outgoing headers before being sent.

Parâmetros

callback

Function called just before the headers are sent. It gets no parameters and the return value is ignored.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 header_register_callback() example

<?php

header('Content-Type: text/plain');
header('X-Test: foo');

function foo() {
 foreach (headers_list() as $header) {
   if (strpos($header, 'X-Powered-By:') !== false) {
     header_remove('X-Powered-By');
   }
   header_remove('X-Test');
 }
}

$result = header_register_callback('foo');
echo "a";
?>

O exemplo acima irá imprimir algo similar à:

Content-Type: text/plain

a

Notas

header_register_callback() is executed just as the headers are about to be sent out, so any output from this function can break output.

Nota:

Headers só serão acessíveis e retornados quando a SAPI que os suporta estiver em uso.

Veja Também

  • headers_list() - Retorna uma lista de cabeçalhos enviados para o servidor (ou pronto para enviar)
  • header_remove() - Remove os cabeçalhos definidos anteriormente
  • header() - Send a raw HTTP header


Remove os cabeçalhos definidos anteriormente

  • « header_register_callback
  • header »
  • PHP Manual
  • Funções da Network
  • Remove os cabeçalhos definidos anteriormente

header_remove

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

header_remove — Remove os cabeçalhos definidos anteriormente

Descrição

header_remove ( string $name = ? ) : void

Remove um cabeçalho HTTP previamente definido usando header().

Parâmetros

name

O nome do cabeçalho a ser removido.

Nota: Este parâmetro é case-sensitive

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Removendo um cabeçalho específico.

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove("X-Foo");
?>

O exemplo acima irá imprimir algo similar à:

X-Bar: Baz

Exemplo #2 Removendo todos os cabeçalhos definidos anteriormente.

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove();
?>

O exemplo acima irá imprimir algo similar à:

Notas

Cuidado

    Esta função irá remover todos os cabeçalhos setados pelo PHP,
    incluindo cookies, session e o X-Powered-By cabeçalhos.

Nota:

    Headers só serão acessíveis e retornados quando a SAPI que os suporta
    estiver em uso.

Veja Também

  • header() - Send a raw HTTP header
    •

  • headers_sent() - Checks if or where headers have been sent
    •


Send a raw HTTP header

  • « header_remove
  • headers_list »
  • PHP Manual
  • Funções da Network
  • Send a raw HTTP header

header

(PHP 4, PHP 5, PHP 7, PHP 8)

header — Send a raw HTTP header

Descrição

header ( string $header , bool $replace = true , int $response_code = 0 ) : void

header() is used to send a raw HTTP header. See the » HTTP/1.1 specification for more information on HTTP headers.

Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include, or require, functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.

<html>
<?php
/* This will give an error. Note the output
 * above, which is before the header() call */
header('Location: http://www.example.com/');
exit;
?>

Parâmetros

header

The header string.

There are two special-case header calls. The first is a header that starts with the string "HTTP/" (case is not significant), which will be used to figure out the HTTP status code to send. For example, if you have configured Apache to use a PHP script to handle requests for missing files (using the ErrorDocument directive), you may want to make sure that your script generates the proper status code.

<?php
header("HTTP/1.0 404 Not Found");
?>

The second special case is the "Location:" header. Not only does it send this header back to the browser, but it also returns a REDIRECT (302) status code to the browser unless the 201 or a 3xx status code has already been set.

<?php
header("Location: http://www.example.com/"); /* Redirect browser */

/* Make sure that code below does not get executed when we redirect. */
exit;
?>

replace

The optional replace parameter indicates whether the header should replace a previous similar header, or add a second header of the same type. By default it will replace, but if you pass in false as the second argument you can force multiple headers of the same type. For example:

<?php
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM', false);
?>

response_code

Forces the HTTP response code to the specified value. Note that this parameter only has an effect if the header is not empty.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Download dialog

If you want the user to be prompted to save the data you are sending, such as a generated PDF file, you can use the » Content-Disposition header to supply a recommended filename and force the browser to display the save dialog.

<?php
// We'll be outputting a PDF
header('Content-Type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// The PDF source is in original.pdf
readfile('original.pdf');
?>

Exemplo #2 Caching directives

PHP scripts often generate dynamic content that must not be cached by the client browser or any proxy caches between the server and the client browser. Many proxies and clients can be forced to disable caching with:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

Nota:

You may find that your pages aren't cached even if you don't output all of the headers above. There are a number of options that users may be able to set for their browser that change its default caching behavior. By sending the headers above, you should override any settings that may otherwise cause the output of your script to be cached.

Additionally, session_cache_limiter() and the session.cache_limiter configuration setting can be used to automatically generate the correct caching-related headers when sessions are being used.

Notas

Nota:

Headers só serão acessíveis e retornados quando a SAPI que os suporta estiver em uso.

Nota:

You can use output buffering to get around this problem, with the overhead of all of your output to the browser being buffered in the server until you send it. You can do this by calling ob_start() and ob_end_flush() in your script, or setting the output_buffering configuration directive on in your php.ini or server configuration files.

Nota:

The HTTP status header line will always be the first sent to the client, regardless of the actual header() call being the first or not. The status may be overridden by calling header() with a new status line at any time unless the HTTP headers have already been sent.

Nota:

There is a bug in Microsoft Internet Explorer 4.01 that prevents this from working. There is no workaround. There is also a bug in Microsoft Internet Explorer 5.5 that interferes with this, which can be resolved by upgrading to Service Pack 2 or later.

Nota:

Most contemporary clients accept relative URIs as argument to » Location:, but some older clients require an absolute URI including the scheme, hostname and absolute path. You can usually use $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] and dirname() to make an absolute URI from a relative one yourself:

<?php
/* Redirect to a different page in the current directory that was requested */
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>

Nota:

Session ID is not passed with Location header even if session.use_trans_sid is enabled. It must by passed manually using SID constant.

Veja Também

  • headers_sent() - Checks if or where headers have been sent
  • setcookie() - Envia um cookie
  • http_response_code() - Get or Set the HTTP response code
  • header_remove() - Remove os cabeçalhos definidos anteriormente
  • The section on HTTP authentication


Retorna uma lista de cabeçalhos enviados para o servidor (ou pronto para enviar)

  • « header
  • headers_sent »
  • PHP Manual
  • Funções da Network
  • Retorna uma lista de cabeçalhos enviados para o servidor (ou pronto para enviar)

headers_list

(PHP 5, PHP 7, PHP 8)

headers_list — Retorna uma lista de cabeçalhos enviados para o servidor (ou pronto para enviar)

Descrição

headers_list ( ) : array

headers_list() Irá retornar uma lista de cabeçalhos a serem enviados para o navegador / cliente. Para determinar se esses cabeçalhos têm ou ainda não foram enviados, use headers_sent().

Valor Retornado

Retorna um array indexado de cabeçalhos.

Exemplos

Exemplo #1 Exemplos usando headers_list()

<?php

/* setcookie() Irá adicionar um cabeçalho de resposta por conta própria */
setcookie('foo', 'bar');

/* Define um cabeçalho de resposta personalizado
   Isso será ignorado pela maioria dos clientes */
header("X-Sample-Test: foo");

/* Específica o conteúdo de texto simples em nossa resposta */
header('Content-type: text/plain');

/* Quais cabeçalhos serão enviados? */
var_dump(headers_list());

?>

O exemplo acima irá imprimir:

array(4) {
  [0]=>
  string(23) "X-Powered-By: PHP/5.1.3"
  [1]=>
  string(19) "Set-Cookie: foo=bar"
  [2]=>
  string(18) "X-Sample-Test: foo"
  [3]=>
  string(24) "Content-type: text/plain"
}

Notas

Nota:

Headers só serão acessíveis e retornados quando a SAPI que os suporta estiver em uso.

Veja Também

  • headers_sent() - Checks if or where headers have been sent
  • header() - Send a raw HTTP header
  • setcookie() - Envia um cookie
  • apache_response_headers() - Obtém todos os cabeçalhos da resposta HTTP
  • http_response_code() - Get or Set the HTTP response code


Checks if or where headers have been sent

  • « headers_list
  • http_response_code »
  • PHP Manual
  • Funções da Network
  • Checks if or where headers have been sent

headers_sent

(PHP 4, PHP 5, PHP 7, PHP 8)

headers_sent — Checks if or where headers have been sent

Descrição

headers_sent ( string &$filename = null , int &$line = null ) : bool

Checks if or where headers have been sent.

You can't add any more header lines using the header() function once the header block has already been sent. Using this function you can at least prevent getting HTTP header related error messages. Another option is to use Output Buffering.

Parâmetros

filename

If the optional filename and line parameters are set, headers_sent() will put the PHP source file name and line number where output started in the filename and line variables.

line

The line number where the output started.

Valor Retornado

headers_sent() will return false if no HTTP headers have already been sent or true otherwise.

Exemplos

Exemplo #1 Examples using headers_sent()

<?php

// If no headers are sent, send one
if (!headers_sent()) {
    header('Location: http://www.example.com/');
    exit;
}

// An example using the optional file and line parameters
// Note that $filename and $linenum are passed in for later use.
// Do not assign them values beforehand.
if (!headers_sent($filename, $linenum)) {
    header('Location: http://www.example.com/');
    exit;

// You would most likely trigger an error here.
} else {

    echo "Headers already sent in $filename on line $linenum\n" .
          "Cannot redirect, for now please click this <a " .
          "href=\"http://www.example.com\">link</a> instead\n";
    exit;
}

?>

Notas

Nota:

Headers só serão acessíveis e retornados quando a SAPI que os suporta estiver em uso.

Veja Também

  • ob_start() - Ativa o buffer de saída
  • trigger_error() - Gera uma mensagem a nível de usuário de erro/aviso/notícia
  • headers_list() - Retorna uma lista de cabeçalhos enviados para o servidor (ou pronto para enviar)
  • header() - Send a raw HTTP header for a more detailed discussion of the matters involved.


Get or Set the HTTP response code

  • « headers_sent
  • inet_ntop »
  • PHP Manual
  • Funções da Network
  • Get or Set the HTTP response code

http_response_code

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

http_response_code — Get or Set the HTTP response code

Descrição

http_response_code ( int $response_code = 0 ) : int|bool

Gets or sets the HTTP response status code.

Parâmetros

response_code

The optional response_code will set the response code.

Valor Retornado

If response_code is provided, then the previous status code will be returned. If response_code is not provided, then the current status code will be returned. Both of these values will default to a 200 status code if used in a web server environment.

false will be returned if response_code is not provided and it is not invoked in a web server environment (such as from a CLI application). true will be returned if response_code is provided and it is not invoked in a web server environment (but only when no previous response status has been set).

Exemplos

Exemplo #1 Using http_response_code() in a web server environment

<?php

// Get the current response code and set a new one
var_dump(http_response_code(404));

// Get the new response code
var_dump(http_response_code());
?>

O exemplo acima irá imprimir:

int(200)
int(404)

Exemplo #2 Using http_response_code() in a CLI environment

<?php

// Get the current default response code
var_dump(http_response_code());

// Set a response code
var_dump(http_response_code(201));

// Get the new response code
var_dump(http_response_code());
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)
int(201)

Veja Também

  • header() - Send a raw HTTP header
  • headers_list() - Retorna uma lista de cabeçalhos enviados para o servidor (ou pronto para enviar)


Converts a packed internet address to a human readable representation

  • « http_response_code
  • inet_pton »
  • PHP Manual
  • Funções da Network
  • Converts a packed internet address to a human readable representation

inet_ntop

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

inet_ntop — Converts a packed internet address to a human readable representation

Descrição

inet_ntop ( string $ip ) : string|false

This function converts a 32bit IPv4, or 128bit IPv6 address (if PHP was built with IPv6 support enabled) into an address family appropriate string representation.

Parâmetros

ip

A 32bit IPv4, or 128bit IPv6 address.

Valor Retornado

Returns a string representation of the address ou false em caso de falha.

Exemplos

Exemplo #1 inet_ntop() Example

<?php
$packed = chr(127) . chr(0) . chr(0) . chr(1);
$expanded = inet_ntop($packed);

/* Outputs: 127.0.0.1 */
echo $expanded;

$packed = str_repeat(chr(0), 15) . chr(1);
$expanded = inet_ntop($packed);

/* Outputs: ::1 */
echo $expanded;
?>

Veja Também

  • long2ip() - Converts an long integer address into a string in (IPv4) Internet standard dotted format
  • ip2long() - Converts a string containing an (IPv4) Internet Protocol dotted address into a long integer
  • inet_pton() - Converts a human readable IP address to its packed in_addr representation


Converts a human readable IP address to its packed in_addr representation

  • « inet_ntop
  • ip2long »
  • PHP Manual
  • Funções da Network
  • Converts a human readable IP address to its packed in_addr representation

inet_pton

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

inet_pton — Converts a human readable IP address to its packed in_addr representation

Descrição

inet_pton ( string $ip ) : string|false

This function converts a human readable IPv4 or IPv6 address (if PHP was built with IPv6 support enabled) into an address family appropriate 32bit or 128bit binary structure.

Parâmetros

ip

A human readable IPv4 or IPv6 address.

Valor Retornado

Returns the in_addr representation of the given ip, or false if a syntactically invalid ip is given (for example, an IPv4 address without dots or an IPv6 address without colons).

Exemplos

Exemplo #1 inet_pton() Example

<?php
$in_addr = inet_pton('127.0.0.1');

$in6_addr = inet_pton('::1');
?>

Veja Também

  • ip2long() - Converts a string containing an (IPv4) Internet Protocol dotted address into a long integer
  • long2ip() - Converts an long integer address into a string in (IPv4) Internet standard dotted format
  • inet_ntop() - Converts a packed internet address to a human readable representation


Converts a string containing an (IPv4) Internet Protocol dotted address into a long integer

  • « inet_pton
  • long2ip »
  • PHP Manual
  • Funções da Network
  • Converts a string containing an (IPv4) Internet Protocol dotted address into a long integer

ip2long

(PHP 4, PHP 5, PHP 7, PHP 8)

ip2long — Converts a string containing an (IPv4) Internet Protocol dotted address into a long integer

Descrição

ip2long ( string $ip ) : int|false

The function ip2long() generates a long integer representation of IPv4 Internet network address from its Internet standard format (dotted string) representation.

ip2long() will also work with non-complete IP addresses. Read » http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm for more info.

Parâmetros

ip

A standard format address.

Valor Retornado

Returns the long integer or false if ip is invalid.

Exemplos

Exemplo #1 ip2long() Example

<?php
$ip = gethostbyname('www.example.com');
$out = "The following URLs are equivalent:<br />\n";
$out .= 'http://www.example.com/, http://' . $ip . '/, and http://' . sprintf("%u", ip2long($ip)) . "/<br />\n";
echo $out;
?>

Exemplo #2 Displaying an IP address

This second example shows how to print a converted address with the printf() function:

<?php
$ip   = gethostbyname('www.example.com');
$long = ip2long($ip);

if ($long == -1 || $long === FALSE) {
    echo 'Invalid IP, please try again';
} else {
    echo $ip   . "\n";            // 192.0.34.166
    echo $long . "\n";            // 3221234342 (-1073732954 on 32-bit systems, due to integer overflow)
    printf("%u\n", ip2long($ip)); // 3221234342
}
?>

Notas

Nota:

Because PHP's int type is signed, and many IP addresses will result in negative integers on 32-bit architectures, you need to use the "%u" formatter of sprintf() or printf() to get the string representation of the unsigned IP address.

Nota:

ip2long() will return false for the IP 255.255.255.255 in PHP 5 <= 5.0.2, and -1 on 64-bits systems in PHP 5 <=5.2.4. It was fixed in PHP 5.2.5 where it returns 4294967295. 32-bit systems will return -1 due to the integer value overflowing.

Veja Também

  • long2ip() - Converts an long integer address into a string in (IPv4) Internet standard dotted format
  • sprintf() - Retorna a string formatada


Converts an long integer address into a string in (IPv4) Internet standard dotted format

  • « ip2long
  • openlog »
  • PHP Manual
  • Funções da Network
  • Converts an long integer address into a string in (IPv4) Internet standard dotted format

long2ip

(PHP 4, PHP 5, PHP 7, PHP 8)

long2ip — Converts an long integer address into a string in (IPv4) Internet standard dotted format

Descrição

long2ip ( int $ip ) : string|false

The function long2ip() generates an Internet address in dotted format (i.e.: aaa.bbb.ccc.ddd) from the long integer representation.

Parâmetros

ip

A proper address representation in long integer.

Valor Retornado

Returns the Internet IP address as a string, ou false em caso de falha.

Changelog

Versão | Descrição
7.1.0 | The parameter type of ip has been changed from string to int.

Notas

Nota:

On 32-bit architectures, casting integer representations of IP addresses from string to int will not give correct results for numbers which exceed PHP_INT_MAX.

Veja Também

  • ip2long() - Converts a string containing an (IPv4) Internet Protocol dotted address into a long integer


Open connection to system logger

  • « long2ip
  • pfsockopen »
  • PHP Manual
  • Funções da Network
  • Open connection to system logger

openlog

(PHP 4, PHP 5, PHP 7, PHP 8)

openlog — Open connection to system logger

Descrição

openlog ( string $prefix , int $flags , int $facility ) : bool

openlog() opens a connection to the system logger for a program.

The use of openlog() is optional. It will automatically be called by syslog() if necessary, in which case prefix will default to false.

Parâmetros

prefix

The string prefix is added to each message.

flags

The flags argument is used to indicate what logging options will be used when generating a log message.

openlog() Options
Constant | Description
LOG_CONS | if there is an error while sending data to the system logger, write directly to the system console
LOG_NDELAY | open the connection to the logger immediately
LOG_ODELAY | (default) delay opening the connection until the first message is logged
LOG_PERROR | print log message also to standard error
LOG_PID | include PID with each message
You can use one or more of these options. When using multiple options you need to OR them, i.e. to open the connection immediately, write to the console and include the PID in each message, you will use: LOG_CONS | LOG_NDELAY | LOG_PID

facility

The facility argument is used to specify what type of program is logging the message. This allows you to specify (in your machine's syslog configuration) how messages coming from different facilities will be handled.

openlog() Facilities
Constant | Description
LOG_AUTH | security/authorization messages (use LOG_AUTHPRIV instead in systems where that constant is defined)
LOG_AUTHPRIV | security/authorization messages (private)
LOG_CRON | clock daemon (cron and at)
LOG_DAEMON | other system daemons
LOG_KERN | kernel messages
LOG_LOCAL0 ... LOG_LOCAL7 | reserved for local use, these are not available in Windows
LOG_LPR | line printer subsystem
LOG_MAIL | mail subsystem
LOG_NEWS | USENET news subsystem
LOG_SYSLOG | messages generated internally by syslogd
LOG_USER | generic user-level messages
LOG_UUCP | UUCP subsystem

Nota:

LOG_USER is the only valid log type under Windows operating systems

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • syslog() - Generate a system log message
  • closelog() - Close connection to system logger


Open persistent Internet or Unix domain socket connection

  • « openlog
  • setcookie »
  • PHP Manual
  • Funções da Network
  • Open persistent Internet or Unix domain socket connection

pfsockopen

(PHP 4, PHP 5, PHP 7, PHP 8)

pfsockopen — Open persistent Internet or Unix domain socket connection

Descrição

pfsockopen ( string $hostname , int $port = -1 , int &$errno = ? , string &$errstr = ? , float $timeout = ini_get("default_socket_timeout") ) : resource

This function behaves exactly as fsockopen() with the difference that the connection is not closed after the script finishes. It is the persistent version of fsockopen().

Parâmetros

For parameter information, see the fsockopen() documentation.

Veja Também

  • fsockopen() - Abre um socket de conexão Internet ou de domínio Unix


Envia um cookie

  • « pfsockopen
  • setrawcookie »
  • PHP Manual
  • Funções da Network
  • Envia um cookie

setcookie

(PHP 4, PHP 5, PHP 7, PHP 8)

setcookie — Envia um cookie

Descrição

setcookie ( string $name , string $value = "" , int $expire = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ) : bool

A função setcookie() define um cookie para ser enviado juntamente com o resto dos cabeçalhos HTTP. Como outros cabeçalhos (headers), os cookies devem ser enviados antes de qualquer saída do seu script (isso é uma restrição do protocolo). O que quer dizer que você deve colocar chamadas a essa função antes de qualquer saída, incluindo as tags <html> e <head> e também espaços em branco.

Uma vez que os cookies foram setados, eles podem ser acessados no próximo carregamento da página através do array $_COOKIE. Os valores dos cookies também podem existir no $_REQUEST.

Parâmetros

A » RFC 6265 fornece a referência normativa de como cada parâmetro de setcookie() é interpretado.

name

O nome do cookie.

value

O valor do cookie. Esse valor é guardado no computador do cliente; não guarde informação sensível. Supondo que o name seja 'nomedocookie', o valor pode ser lido través de $_COOKIE['nomedocookie']

expire

O tempo para o cookie expirar. Esse valor é uma timestamp Unix, portanto é o número de segundos desde a época (epoch). Em outras palavras, você provavelmente irá utilizar isso com a função time() mais o número de segundos que você quer que ele expire. Ou você pode utilizar a função mktime(). time()+60*60*24*30 irá configurar o cookie para expirar em 30 dias. Se configurado para 0, ou omitido, o cookie irá expirar ao fim da sessao (quando o navegador fechar).

Nota:

Você pode ver que o parâmetro expire recebe uma timestamp Unix, ao contrário do formato de data Wdy, DD-Mon-YYYY HH:MM:SS GMT, isso se dá porque o PHP faz essa conversão internamente.

path

O caminho no servidor aonde o cookie estará disponível. Se configurado para '/', o cookie estará dosponível para todo o domain. Se configurado para o diretório '/foo/', o cookie estará disponível apenas dentro do diretório /foo/ e todos os subdiretórios como /foo/bar do domain. O valor padrão é o diretório atual onde o cookie está sendo configurado.

domain

O (sub)domínio para qual o cookie estará disponível. Definindo para um subdomínio (como 'www.example.com') deixará o cookie disponível para aquele subdomínio e todos os outros sub-domínios abaixo dele (exemplo w2.www.example.com). Para deixar o cookie disponível para todo o domínio (incluindo todos os subdomínios dele), simplesmente defina o valor para o nome do domínio ('example.com', nesse caso).

Browsers antigos ainda implementam a » RFC 2109 e podem requerer um . no início para funcionar com todos os subdomínios.

secure

Indica que o cookie só podera ser transimitido sob uma conexão segura HTTPS do cliente. Quando configurado para true, o cookie será enviado somente se uma conexão segura existir. No lado do servidor, fica por conta do programador enviar esse tipo de cookie somente sob uma conexão segura (ex respeitando $_SERVER["HTTPS"]).

httponly

Quando for true o cookie será acessível somente sob o protocolo HTTP. Isso significa que o cookie não será acessível por linguagens de script, como JavaScript. É dito que essa configuração pode ajudar a reduzir ou identificar roubos de identidade através de ataques do tipo XSS (entretanto ela não é suportada por todos os browsers), mas essa informação é constantemente discutida. Foi adicionada no PHP 5.2.0. true ou false

Valor Retornado

Se existe saída antes da chamada dessa função, setcookie() irá falhar e retornará false. Se a função setcookie() for executada com sucesso, ela retornará true. Isso não indica que o usuário aceitou o cookie.

Exemplos

Alguns exemplos para seguir de como enviar cookies:

Exemplo #1 Exemplo de setcookie() para enviar cookies

<?php
$value = 'alguma coisa de algum lugar';

setcookie("CookieTeste", $value);
setcookie("CookieTeste", $value, time()+3600);  /* expira em 1 hora */
setcookie("CookieTeste", $value, time()+3600, "/~rasmus/", ".example.com", 1);
?>

Note que a porção do valor do cookie será automaticamente codificada com urlencode quando você enviar o cookie, e quando ele for recebido, será automaticamente decodificado e atribuido a uma variável com o mesmo nome do cookie. Se você não quer que isso aconteça, você pode utilizar no lugar a função setrawcookie() se você estiver utilizando o PHP 5. Para ver o conteúdo do nosso cookie de teste em um script, simplesmente utilize um dos exemplos abaixo:

<?php
// Mostra um cookie individual
echo $_COOKIE["CookieTeste"];

// Outra maneira de depurar(debug)/testar é vendo todos os cookies
print_r($_COOKIE);
?>

Exemplo #2 Exemplo de setcookie() para deletar cookies

Quando estiver deletando um cookie, tenha certeza de que a data de expiração dele está no passado, para acionar o mecanismo de remoção do seu navegador. O exemplo a seguir mostra como deletar os cookies enviados no exemplo anterior:

<?php
// Configura a data de expiração para uma hora atrás
setcookie("CookieTeste", "", time() - 3600);
setcookie("CookieTeste", "", time() - 3600, "/~rasmus/", ".example.com", 1);
?>

Exemplo #3 setcookie() e arrays

Você pode também enviar cookies de array, utilizando a notação de array no nome dele. Isso tem o efeito de enviar tantos cookies quantos elementos houverem no array, mas quando o cookie for recebido todos os valores serão colocados em um array com o nome do cookie:

<?php
// envia os cookies
setcookie("cookie[tres]", "cookietres");
setcookie("cookie[dois]", "cookiedois);
setcookie("cookie[um]", "cookieum");

// Depois que a página recarregar, mostra eles
if (isset($_COOKIE['cookie'])) {
    foreach ($_COOKIE['cookie'] as $nome => $valor) {
        $nome = htmlspecialchars($nome);
        $valor = htmlspecialchars($valor);
        echo "$nome : $valor <br />\n";
    }
}
?>

O exemplo acima irá imprimir:

tres : cookietres
dois : cookiedois
um : cookieum

Changelog

Versão | Descrição
5.5.0 | Um atributo Max-Age (idade máxima) agora é incluído no cabeçalho Set-Cookie enviado ao cliente.
5.2.0 | O parâmetro httponly foi adicionado.

Notas

Nota:

Você pode utilizar o output buffering para enviar a saída antes de chamar essa função, com o custo de toda sua saída ser guardada em buffer no servidor até que você a envie. Você pode fazer isso chamando ob_start() e ob_end_flush() em seu script, ou configurando a diretiva output_buffering no seu php.ini ou arquivos de configuração do servidor.

Problemas comuns:

  • Os cookies não estarão disponíveis até o próximo carregamento da página a qual o cookie deverá estar visível. Para testar se um cookie foi enviado com sucesso, verifique o cookie no próximo carregamento da página antes que ele expire. O tempo para expirar é configurado pelo parâmetro expire. Uma maneira boa de depurar a existência dos cookies é chamando a função print_r($_COOKIE);.
  • Os cookies devem ser deletados com os mesmos parâmetros com os quais foram configurados. Se o argumento de valor for uma string vazia, ou false, e todos os outros argumentos forem iguais a chamada anterior de setcookie, então o cookie com o nome especificado será deletado do cliente remoto. Internamente isso é feito colocando o valor do cookie para 'deleted' e a data de expiração para um ano no passado.
  • Quando você configurar um cookie com o valor false será tentando deletar o cookie. Portanto evite utilizar valores booleanos. No lugar, utilize 0 para false e 1 for true.
  • Nomes de cookies podem ser configurados como arrays e estarão disponíves para seus scripts PHP como arrays mas cookies separados serão guardados no sistema do usuário. Considere utilizar explode() para enviar um cookie com nomes e valores múltiplos. Não é recomendado o uso da função serialize() para esse propósito, pois ele pode resultar em furos de segurança.

Várias chamadas para a função setcookie() são feitas na ordem em que são chamadas.

Veja Também

  • header() - Send a raw HTTP header
  • setrawcookie() - Send a cookie without urlencoding the cookie value
  • Seção de cookies
  • » RFC 6265
  • » RFC 2109


Send a cookie without urlencoding the cookie value

  • « setcookie
  • socket_get_status »
  • PHP Manual
  • Funções da Network
  • Send a cookie without urlencoding the cookie value

setrawcookie

(PHP 5, PHP 7, PHP 8)

setrawcookie — Send a cookie without urlencoding the cookie value

Descrição

setrawcookie ( string $name , string $value = ? , int $expires = 0 , string $path = ? , string $domain = ? , bool $secure = false , bool $httponly = false ) : bool

Alternative signature available as of PHP 7.3.0:

setrawcookie ( string $name , string $value = ? , array $options = [] ) : bool

setrawcookie() is exactly the same as setcookie() except that the cookie value will not be automatically urlencoded when sent to the browser.

Parâmetros

For parameter information, see the setcookie() documentation.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.3.0 | An alternative signature supporting an options array has been added. This signature supports also setting of the SameSite cookie attribute.

Veja Também

  • setcookie() - Envia um cookie


Sinônimo de stream_get_meta_data

  • « setrawcookie
  • socket_set_blocking »
  • PHP Manual
  • Funções da Network
  • Sinônimo de stream_get_meta_data

socket_get_status

(PHP 4, PHP 5, PHP 7, PHP 8)

socket_get_status — Sinônimo de stream_get_meta_data()

Descrição

Esta função é um apelido para: stream_get_meta_data().


Sinônimo de stream_set_blocking

  • « socket_get_status
  • socket_set_timeout »
  • PHP Manual
  • Funções da Network
  • Sinônimo de stream_set_blocking

socket_set_blocking

(PHP 4, PHP 5, PHP 7, PHP 8)

socket_set_blocking — Sinônimo de stream_set_blocking()

Descrição

Esta função é um apelido para: stream_set_blocking().


Sinônimo de stream_set_timeout

  • « socket_set_blocking
  • syslog »
  • PHP Manual
  • Funções da Network
  • Sinônimo de stream_set_timeout

socket_set_timeout

(PHP 4, PHP 5, PHP 7, PHP 8)

socket_set_timeout — Sinônimo de stream_set_timeout()

Descrição

Esta função é um apelido para: stream_set_timeout().


Generate a system log message

  • « socket_set_timeout
  • RRD »
  • PHP Manual
  • Funções da Network
  • Generate a system log message

syslog

(PHP 4, PHP 5, PHP 7, PHP 8)

syslog — Generate a system log message

Descrição

syslog ( int $priority , string $message ) : bool

syslog() generates a log message that will be distributed by the system logger.

For information on setting up a user defined log handler, see the syslog.conf (5) Unix manual page. More information on the syslog facilities and option can be found in the man pages for syslog (3) on Unix machines.

Parâmetros

priority

priority is a combination of the facility and the level. Possible values are:

syslog() Priorities (in descending order)
Constant | Description
LOG_EMERG | system is unusable
LOG_ALERT | action must be taken immediately
LOG_CRIT | critical conditions
LOG_ERR | error conditions
LOG_WARNING | warning conditions
LOG_NOTICE | normal, but significant, condition
LOG_INFO | informational message
LOG_DEBUG | debug-level message

message

The message to send, except that the two characters %m will be replaced by the error message string (strerror) corresponding to the present value of errno.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Using syslog()

<?php
// open syslog, include the process ID and also send
// the log to standard error, and use a user defined
// logging mechanism
openlog("myScriptLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);

// some code

if (authorized_client()) {
    // do something
} else {
    // unauthorized client!
    // log the attempt
    $access = date("Y/m/d H:i:s");
    syslog(LOG_WARNING, "Unauthorized client: $access {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})");
}

closelog();
?>

Notas

On Windows NT, the syslog service is emulated using the Event Log.

Nota:

Use of LOG_LOCAL0 through LOG_LOCAL7 for the facility parameter of openlog() is not available in Windows.

Veja Também

  • openlog() - Open connection to system logger
  • closelog() - Close connection to system logger


RRDtool

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Procedural PECL/rrd example
    • OOP PECL/rrd example
  • RRD Funções
    • rrd_create — Creates rrd database file
    • rrd_error — Gets latest error message
    • rrd_fetch — Fetch the data for graph as array
    • rrd_first — Gets the timestamp of the first sample from rrd file
    • rrd_graph — Creates image from a data
    • rrd_info — Gets information about rrd file
    • rrd_last — Gets unix timestamp of the last sample
    • rrd_lastupdate — Gets information about last updated data
    • rrd_restore — Restores the RRD file from XML dump
    • rrd_tune — Tunes some RRD database file header options
    • rrd_update — Updates the RRD database
    • rrd_version — Gets information about underlying rrdtool library
    • rrd_xport — Exports the information about RRD database
    • rrdc_disconnect — Close any outstanding connection to rrd caching daemon
  • RRDCreator — The RRDCreator class
    • RRDCreator::addArchive — Adds RRA - archive of data values for each data source
    • RRDCreator::addDataSource — Adds data source definition for RRD database
    • RRDCreator::__construct — Creates new RRDCreator instance
    • RRDCreator::save — Saves the RRD database to a file
  • RRDGraph — The RRDGraph class
    • RRDGraph::__construct — Creates new RRDGraph instance
    • RRDGraph::save — Saves the result of query into image
    • RRDGraph::saveVerbose — Saves the RRD database query into image and returns the verbose information about generated graph
    • RRDGraph::setOptions — Sets the options for rrd graph export
  • RRDUpdater — The RRDUpdater class
    • RRDUpdater::__construct — Creates new RRDUpdater instance
    • RRDUpdater::update — Update the RRD database file


Introdução

The PECL/rrd extension provides bindings to the RRDtool C library. RRDtool is the open source industry standard, high performance data logging and graphing system for time series data.

The RRDtool homepage is » http://www.mrtg.org/rrdtool/.


Dependências

You need to install librrd first to be able to use PECL/rrd. Most common option is using of librrd-dev package from your favourite linux distro. PECL/rrd is tested with librrd 1.4.3, older or newer versions might or might not work for you. PECL/rrd installation is tested with PHP 5.3.2 or newer.

Aviso

Librrd and hence extension itself aren't mostly thread safe. There are many global and shared states in librrd. It can be dangerous use this extension in multi threaded environments like Apache2 mpm worker. If there are many parallel requests, one request can change some global librrd state of other runnig requests.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/rrd.


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • RRD
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


  • « Constantes pré-definidas
  • Procedural PECL/rrd example »
  • PHP Manual
  • RRD
  • Exemplos

Exemplos

Índice

  • Procedural PECL/rrd example
  • OOP PECL/rrd example


Procedural PECL/rrd example

Exemplo #1 Procedural usage of rrd

<?php
$rrdFile = dirname(__FILE__) . "/speed.rrd";

//create rrd file
rrd_create($rrdFile,
 array(
  "--start",920804400,
  "DS:speed:COUNTER:600:U:U",
  "RRA:AVERAGE:0.5:1:24",
  "RRA:AVERAGE:0.5:6:10"
  )
);

//update rrd file
rrd_update($rrdFile,
 array(
  "920804700:12345",
  "920805000:12357"
  )
);

//graph output
rrd_graph(dirname(__FILE__) . "/speed.png",
 array(
  "--start", "920804400",
  "--end", "920808000",
  "--vertical-label", "m/s",
  "DEF:myspeed=$rrdFile:speed:AVERAGE",
  "CDEF:realspeed=myspeed,1000,*",
  "LINE2:realspeed#FF0000"
 )
);
?>


OOP PECL/rrd example

Exemplo #1 OO usage of rrd

<?php
$rrdFile = dirname(__FILE__) . "/speed.rrd";
$outputPngFile = dirname(__FILE__) . "/speed.png";

$creator = new RRDCreator($rrdFile, "now -10d", 500);
$creator->addDataSource("speed:COUNTER:600:U:U");
$creator->addArchive("AVERAGE:0.5:1:24");
$creator->addArchive("AVERAGE:0.5:6:10");
$creator->save();

$updater = new RRDUpdater($rrdFile);
$updater->update(array("speed" => "12345"), "920804700");
$updater->update(array("speed" => "12357"), "920805000");

$graphObj = new RRDGraph($outputPngFile);
$graphObj->setOptions(
    array(
        "--start" => "920804400",
        "--end" => 920808000,
        "--vertical-label" => "m/s",
        "DEF:myspeed=$rrdFile:speed:AVERAGE",
        "CDEF:realspeed=myspeed,1000,*",
        "LINE2:realspeed#FF0000"
    )
);
$graphObj->save();
?>


RRD Funções

Índice

  • rrd_create — Creates rrd database file
  • rrd_error — Gets latest error message
  • rrd_fetch — Fetch the data for graph as array
  • rrd_first — Gets the timestamp of the first sample from rrd file
  • rrd_graph — Creates image from a data
  • rrd_info — Gets information about rrd file
  • rrd_last — Gets unix timestamp of the last sample
  • rrd_lastupdate — Gets information about last updated data
  • rrd_restore — Restores the RRD file from XML dump
  • rrd_tune — Tunes some RRD database file header options
  • rrd_update — Updates the RRD database
  • rrd_version — Gets information about underlying rrdtool library
  • rrd_xport — Exports the information about RRD database
  • rrdc_disconnect — Close any outstanding connection to rrd caching daemon


Creates rrd database file

  • « RRD Funções
  • rrd_error »
  • PHP Manual
  • RRD Funções
  • Creates rrd database file

rrd_create

(PECL rrd >= 0.9.0)

rrd_create — Creates rrd database file

Descrição

rrd_create ( string $filename , array $options ) : bool

Creates the rdd database file.

Parâmetros

filename

Filename for newly created rrd file.

options

Options for rrd create - list of strings. See man page of rrd create for whole list of options.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Gets latest error message

  • « rrd_create
  • rrd_fetch »
  • PHP Manual
  • RRD Funções
  • Gets latest error message

rrd_error

(PECL rrd >= 0.9.0)

rrd_error — Gets latest error message

Descrição

rrd_error ( ) : string

Returns latest global rrd error message.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Latest error message.


Fetch the data for graph as array

  • « rrd_error
  • rrd_first »
  • PHP Manual
  • RRD Funções
  • Fetch the data for graph as array

rrd_fetch

(PECL rrd >= 0.9.0)

rrd_fetch — Fetch the data for graph as array

Descrição

rrd_fetch ( string $filename , array $options ) : array

Gets data for graph output from RRD database file as array. This function has same result as rrd_graph(), but fetched data are returned as array, no image file is created.

Parâmetros

filename

RRD database file name.

options

Array of options for resolution specification.

Valor Retornado

Returns information about retrieved graph data.


Gets the timestamp of the first sample from rrd file

  • « rrd_fetch
  • rrd_graph »
  • PHP Manual
  • RRD Funções
  • Gets the timestamp of the first sample from rrd file

rrd_first

(PECL rrd >= 0.9.0)

rrd_first — Gets the timestamp of the first sample from rrd file

Descrição

rrd_first ( string $file , int $raaindex = 0 ) : int

Returns the first data sample from the specified RRA of the RRD file.

Parâmetros

file

RRD database file name.

raaindex

The index number of the RRA that is to be examined. Default value is 0.

Valor Retornado

Integer number of unix timestamp, false if some error occurs.


Creates image from a data

  • « rrd_first
  • rrd_info »
  • PHP Manual
  • RRD Funções
  • Creates image from a data

rrd_graph

(PECL rrd >= 0.9.0)

rrd_graph — Creates image from a data

Descrição

rrd_graph ( string $filename , array $options ) : array

Creates image for a particular data from RRD file.

Parâmetros

filename

The filename to output the graph to. This will generally end in either .png, .svg or .eps, depending on the format you want to output.

options

Options for generating image. See man page of rrd graph for all possible options. All options (data definitions, variable defintions, etc.) are allowed.

Valor Retornado

Array with information about generated image is returned, false when error occurs.


Gets information about rrd file

  • « rrd_graph
  • rrd_last »
  • PHP Manual
  • RRD Funções
  • Gets information about rrd file

rrd_info

(PECL rrd >= 0.9.0)

rrd_info — Gets information about rrd file

Descrição

rrd_info ( string $filename ) : array

Returns information about particular RRD database file.

Parâmetros

file

RRD database file name.

Valor Retornado

Array with information about requsted RRD file, false when error occurs.


Gets unix timestamp of the last sample

  • « rrd_info
  • rrd_lastupdate »
  • PHP Manual
  • RRD Funções
  • Gets unix timestamp of the last sample

rrd_last

(PECL rrd >= 0.9.0)

rrd_last — Gets unix timestamp of the last sample

Descrição

rrd_last ( string $filename ) : int

Returns the UNIX timestamp of the most recent update of the RRD database.

Parâmetros

filename

RRD database file name.

Valor Retornado

Integer as unix timestamp of the most recent data from the RRD database.


Gets information about last updated data

  • « rrd_last
  • rrd_restore »
  • PHP Manual
  • RRD Funções
  • Gets information about last updated data

rrd_lastupdate

(PECL rrd >= 0.9.0)

rrd_lastupdate — Gets information about last updated data

Descrição

rrd_lastupdate ( string $filename ) : array

Gets array of the UNIX timestamp and the values stored for each date in the most recent update of the RRD database file.

Parâmetros

file

RRD database file name.

Valor Retornado

Array of information about last update, false when error occurs.


Restores the RRD file from XML dump

  • « rrd_lastupdate
  • rrd_tune »
  • PHP Manual
  • RRD Funções
  • Restores the RRD file from XML dump

rrd_restore

(PECL rrd >= 0.9.0)

rrd_restore — Restores the RRD file from XML dump

Descrição

rrd_restore ( string $xml_file , string $rrd_file , array $options = ? ) : bool

Restores the RRD file from the XML dump.

Parâmetros

xml_file

XML filename with the dump of the original RRD database file.

rrd_file

Restored RRD database file name.

options

Array of options for restoring. See man page for rrd restore.

Valor Retornado

Returns true on success, false otherwise.


Tunes some RRD database file header options

  • « rrd_restore
  • rrd_update »
  • PHP Manual
  • RRD Funções
  • Tunes some RRD database file header options

rrd_tune

(PECL rrd >= 0.9.0)

rrd_tune — Tunes some RRD database file header options

Descrição

rrd_tune ( string $filename , array $options ) : bool

Change some options in the RRD dabase header file. E.g. renames the source for the data etc.

Parâmetros

filename

RRD database file name.

options

Options with RRD database file properties which will be changed. See rrd tune man page for details.

Valor Retornado

Returns true on success, false otherwise.


Updates the RRD database

  • « rrd_tune
  • rrd_version »
  • PHP Manual
  • RRD Funções
  • Updates the RRD database

rrd_update

(PECL rrd >= 0.9.0)

rrd_update — Updates the RRD database

Descrição

rrd_update ( string $filename , array $options ) : bool

Updates the RRD database file. The input data is time interpolated according to the properties of the RRD database file.

Parâmetros

filename

RRD database file name. This database will be updated.

options

Options for updating the RRD database. This is list of strings. See man page of rrd update for whole list of options.

Valor Retornado

Returns true on success, false when error occurs.


Gets information about underlying rrdtool library

  • « rrd_update
  • rrd_xport »
  • PHP Manual
  • RRD Funções
  • Gets information about underlying rrdtool library

rrd_version

(PECL rrd >= 1.0.0)

rrd_version — Gets information about underlying rrdtool library

Descrição

rrd_version ( ) : string

Returns information about underlying rrdtool library.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

String with rrdtool version number e.g. "1.4.3".


Exports the information about RRD database

  • « rrd_version
  • rrdc_disconnect »
  • PHP Manual
  • RRD Funções
  • Exports the information about RRD database

rrd_xport

(PECL rrd >= 0.9.0)

rrd_xport — Exports the information about RRD database

Descrição

rrd_xport ( array $options ) : array

Exports the information about RRD database file. This data can be converted to XML file via user space PHP script and then restored back as RRD database file.

Parâmetros

options

Array of options for the export, see rrd xport man page.

Valor Retornado

Array with information about RRD database file, false when error occurs.


Close any outstanding connection to rrd caching daemon

  • « rrd_xport
  • RRDCreator »
  • PHP Manual
  • RRD Funções
  • Close any outstanding connection to rrd caching daemon

rrdc_disconnect

(PECL rrd >= 1.1.2)

rrdc_disconnect — Close any outstanding connection to rrd caching daemon

Descrição

rrdc_disconnect ( ) : void

Close any outstanding connection to rrd caching daemon.

This function is automatically called when the whole PHP process is terminated. It depends on used SAPI. For example, it's called automatically at the end of command line script.

It's up user whether he wants to call this function at the end of every request or otherwise.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


The RRDCreator class

(PECL rrd >= 0.9.0)

Introdução

Class for creation of RRD database file.

Sinopse da classe

RRDCreator {
/* Métodos */
public addArchive ( string $description ) : void
public addDataSource ( string $description ) : void
public __construct ( string $path , string $startTime = ? , int $step = 0 )
public save ( ) : bool
}

Índice

  • RRDCreator::addArchive — Adds RRA - archive of data values for each data source
  • RRDCreator::addDataSource — Adds data source definition for RRD database
  • RRDCreator::__construct — Creates new RRDCreator instance
  • RRDCreator::save — Saves the RRD database to a file


Adds RRA - archive of data values for each data source

  • « RRDCreator
  • RRDCreator::addDataSource »
  • PHP Manual
  • RRDCreator
  • Adds RRA - archive of data values for each data source

RRDCreator::addArchive

(PECL rrd >= 0.9.0)

RRDCreator::addArchive — Adds RRA - archive of data values for each data source

Descrição

public RRDCreator::addArchive ( string $description ) : void

Adds RRA definition by description of archive. Archive consists of a number of data values or statistics for each of the defined data-sources (DS). Data sources are defined by method RRDCreator::addDataSource(). You need call this method for each requested archive.

Parâmetros

description

Definition of archive - RRA. This has same format as RRA definition in rrd create command. See man page of rrd create for more details.

Valor Retornado

Não há valor retornado.


Adds data source definition for RRD database

  • « RRDCreator::addArchive
  • RRDCreator::__construct »
  • PHP Manual
  • RRDCreator
  • Adds data source definition for RRD database

RRDCreator::addDataSource

(PECL rrd >= 0.9.0)

RRDCreator::addDataSource — Adds data source definition for RRD database

Descrição

public RRDCreator::addDataSource ( string $description ) : void

RRD can accept input from several data sources (DS), e.g incoming and outgoing traffic. This method adds data source by description. You need call this method for each data source.

Parâmetros

description

Definition of data source - DS. This has same format as DS definition in rrd create command. See man page of rrd create for more details.

Valor Retornado

Não há valor retornado.


Creates new RRDCreator instance

  • « RRDCreator::addDataSource
  • RRDCreator::save »
  • PHP Manual
  • RRDCreator
  • Creates new RRDCreator instance

RRDCreator::__construct

(PECL rrd >= 0.9.0)

RRDCreator::__construct — Creates new RRDCreator instance

Descrição

public RRDCreator::__construct ( string $path , string $startTime = ? , int $step = 0 )

Creates new RRDCreator instance.

Parâmetros

path

Path for newly created RRD database file.

startTime

Time for the first value in RRD database. Parameter supports all formats which are supported by rrd create call.

intstep

Base interval in seconds with which data will be fed into the RRD database.

Valor Retornado

Não há valor retornado.


Saves the RRD database to a file

  • « RRDCreator::__construct
  • RRDGraph »
  • PHP Manual
  • RRDCreator
  • Saves the RRD database to a file

RRDCreator::save

(PECL rrd >= 0.9.0)

RRDCreator::save — Saves the RRD database to a file

Descrição

public RRDCreator::save ( ) : bool

Saves the RRD database into file, which name is defined by RRDCreator::__construct().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


The RRDGraph class

(PECL rrd >= 0.9.0)

Introdução

Class for exporting data from RRD database to image file.

Sinopse da classe

RRDGraph {
/* Métodos */
public __construct ( string $path )
public save ( ) : array
public saveVerbose ( ) : array
public setOptions ( array $options ) : void
}

Índice

  • RRDGraph::__construct — Creates new RRDGraph instance
  • RRDGraph::save — Saves the result of query into image
  • RRDGraph::saveVerbose — Saves the RRD database query into image and returns the verbose information about generated graph
  • RRDGraph::setOptions — Sets the options for rrd graph export


Creates new RRDGraph instance

  • « RRDGraph
  • RRDGraph::save »
  • PHP Manual
  • RRDGraph
  • Creates new RRDGraph instance

RRDGraph::__construct

(PECL rrd >= 0.9.0)

RRDGraph::__construct — Creates new RRDGraph instance

Descrição

public RRDGraph::__construct ( string $path )

Creates new RRDGraph instance. This instance is responsible for rendering the result of RRD database query into image.

Parâmetros

path

Full path for the newly created image.

Valor Retornado

Não há valor retornado.


Saves the result of query into image

  • « RRDGraph::__construct
  • RRDGraph::saveVerbose »
  • PHP Manual
  • RRDGraph
  • Saves the result of query into image

RRDGraph::save

(PECL rrd >= 0.9.0)

RRDGraph::save — Saves the result of query into image

Descrição

public RRDGraph::save ( ) : array

Saves the result of RRD database query into image defined by RRDGraph::__construct().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Array with information about generated image is returned, false if error occurs.


Saves the RRD database query into image and returns the verbose information about generated graph

  • « RRDGraph::save
  • RRDGraph::setOptions »
  • PHP Manual
  • RRDGraph
  • Saves the RRD database query into image and returns the verbose information about generated graph

RRDGraph::saveVerbose

(PECL rrd >= 0.9.0)

RRDGraph::saveVerbose — Saves the RRD database query into image and returns the verbose information about generated graph

Descrição

public RRDGraph::saveVerbose ( ) : array

Saves the RRD database query into image file defined by method RRDGraph::__construct() and returns the verbose information about generated graph, if "-" is used as image filename, image data are also returned in result array.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Array with detailed information about generated image is returned, optionally with image data, false if error occurs.


Sets the options for rrd graph export

  • « RRDGraph::saveVerbose
  • RRDUpdater »
  • PHP Manual
  • RRDGraph
  • Sets the options for rrd graph export

RRDGraph::setOptions

(PECL rrd >= 0.9.0)

RRDGraph::setOptions — Sets the options for rrd graph export

Descrição

public RRDGraph::setOptions ( array $options ) : void

Parâmetros

options

List of options for the image generation from the RRD database file. It can be list of strings or list of strings with keys for better readability. Read the rrd graph man pages for list of available options.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 RRDGraph::setOptions() example

<?php
$graphObj->setOptions(array(
    "--start" => "920804400",
    "--end" => 920808000,
    "--vertical-label" => "m/s",
    "DEF:myspeed=$rrdFile:speed:AVERAGE",
    "CDEF:realspeed=myspeed,1000,*",
    "LINE2:realspeed#FF0000"
));
?>

Exemplo #2 Set multiple color options

<?php
$graphObj->setOptions(array(
    "--start" => "920804400",
    "--end" => 920808000,
    "--vertical-label" => "m/s",
    "--color=BACK#00000000",
    "--color=GRID#00000000",
    "--color=MGRID#00000000",
    "DEF:myspeed=$rrdFile:speed:AVERAGE",
    "CDEF:realspeed=myspeed,1000,*",
    "LINE2:realspeed#FF0000"
));
?>

Don't use key value syntax for same rrd option. It looks more readable, but it doesn't work.

<?php
$graphObj->setOptions(array(
    "--color" => "BACK#00000000",
    "--color" => "GRID#00000000",
    "--color" => "MGRID#00000000"
));
?>

In nature of php it's same as

<?php
$graphObj->setOptions(array(
    "--color" => "MGRID#00000000"
));
?>


The RRDUpdater class

(PECL rrd >= 0.9.0)

Introdução

Class for updating RDD database file.

Sinopse da classe

RRDUpdater {
/* Métodos */
public __construct ( string $path )
public update ( array $values , string $time = time() ) : bool
}

Índice

  • RRDUpdater::__construct — Creates new RRDUpdater instance
  • RRDUpdater::update — Update the RRD database file


Creates new RRDUpdater instance

  • « RRDUpdater
  • RRDUpdater::update »
  • PHP Manual
  • RRDUpdater
  • Creates new RRDUpdater instance

RRDUpdater::__construct

(PECL rrd >= 0.9.0)

RRDUpdater::__construct — Creates new RRDUpdater instance

Descrição

public RRDUpdater::__construct ( string $path )

Creates new RRDUpdater instance. This instance is responsible for updating the RRD database file.

Parâmetros

path

Filesystem path for RRD database file, which will be updated.

Valor Retornado

Não há valor retornado.


Update the RRD database file

  • « RRDUpdater::__construct
  • ScoutAPM »
  • PHP Manual
  • RRDUpdater
  • Update the RRD database file

RRDUpdater::update

(PECL rrd >= 0.9.0)

RRDUpdater::update — Update the RRD database file

Descrição

public RRDUpdater::update ( array $values , string $time = time() ) : bool

Updates the RRD file defined via RRDUpdater::__construct(). The file is updated with a specific values.

Parâmetros

values

Data for update. Key is data source name.

time

Time value for updating the RRD with a particulat data. Default value is current time.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Throws a Exception on error.

Exemplos

Exemplo #1 RRDUpdater::update() examples

<?php
$updator = new RRDUpdater("speed.rrd");
//updates the data source "speed" with value "12411"
//for time defined by timestamp "920807700"
$updator->update(array("speed" => "12411"), "920807700");
?>


ScoutAPM

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
  • Constantes pré-definidas
  • Scoutapm Funções
    • scoutapm_get_calls — Returns a list of instrumented calls that have occurred
    • scoutapm_list_instrumented_functions — List functions scoutapm will instrument.


Introdução

Nota: Esta extensão não está disponível na plataforma Windows.

ScoutAPM's extension for PHP provides additional capabilities to application monitoring over just using the base PHP userland library.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

  • PHP >= 7.1.0
  • Windows is not currently supported


Instalação

This extension is available on PECL. Run:

$ sudo pecl install scoutapm
You may need to add Scout to your php.ini, for example:
extension=scoutapm.so


  • « Configurações em Execução
  • Scoutapm Funções »
  • PHP Manual
  • ScoutAPM
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Scoutapm Funções

Índice

  • scoutapm_get_calls — Returns a list of instrumented calls that have occurred
  • scoutapm_list_instrumented_functions — List functions scoutapm will instrument.


Returns a list of instrumented calls that have occurred

  • « Scoutapm Funções
  • scoutapm_list_instrumented_functions »
  • PHP Manual
  • Scoutapm Funções
  • Returns a list of instrumented calls that have occurred

scoutapm_get_calls

(PECL scoutapm >= 1.0.0)

scoutapm_get_calls — Returns a list of instrumented calls that have occurred

Descrição

scoutapm_get_calls ( ) : array

Returns a list of any instrumented function calls since scoutapm_get_calls() was last called. The list is cleared each time the function is called.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

scoutapm_get_calls() returns an array containing a list of all recorded calls to instrumented function calls.

Exemplos

Exemplo #1 Fetch instrumented calls

<?php

file_get_contents('a.txt');
file_get_contents('b.txt');

print_r(scoutapm_get_calls());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [function] => file_get_contents
            [entered] => 1576839727.7934
            [exited] => 1576839727.7935
            [time_taken] => 2.7894973754883E-5
            [argv] => Array
                (
                    [0] => a.txt
                )

        )

    [1] => Array
        (
            [function] => file_get_contents
            [entered] => 1576839727.7935
            [exited] => 1576839727.7935
            [time_taken] => 7.8678131103516E-6
            [argv] => Array
                (
                    [0] => b.txt
                )

        )

)


List functions scoutapm will instrument.

  • « scoutapm_get_calls
  • SNMP »
  • PHP Manual
  • Scoutapm Funções
  • List functions scoutapm will instrument.

scoutapm_list_instrumented_functions

(PECL scoutapm >= 1.0.2)

scoutapm_list_instrumented_functions — List functions scoutapm will instrument.

Descrição

scoutapm_list_instrumented_functions ( ) : array

Returns a list of the functions the extension will instrument.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

scoutapm_list_instrumented_functions() returns an array containing a list of all functions that the scoutapm extension is able to instrument in the current installation.

Exemplos

Exemplo #1 Fetch the list of functions scoutapm will instrument

<?php
print_r(scoutapm_list_instrumented_functions());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => file_get_contents
    [1] => file_put_contents
    [2] => fopen
    [3] => fread
    [4] => fwrite
    [5] => pdo->exec
    [6] => pdo->query
    [7] => pdo->prepare
    [8] => pdostatement->execute
)


SNMP

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções SNMP
    • snmp_get_quick_print — Fetches the current value of the NET-SNMP library's quick_print setting
    • snmp_get_valueretrieval — Return the method how the SNMP values will be returned
    • snmp_read_mib — Reads and parses a MIB file into the active MIB tree
    • snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer
    • snmp_set_oid_numeric_print — Set the OID output format
    • snmp_set_oid_output_format — Set the OID output format
    • snmp_set_quick_print — Set the value of enable within the NET-SNMP library
    • snmp_set_valueretrieval — Specify the method how the SNMP values will be returned
    • snmp2_get — Fetch an SNMP object
    • snmp2_getnext — Fetch the SNMP object which follows the given object id
    • snmp2_real_walk — Return all objects including their respective object ID within the specified one
    • snmp2_set — Set the value of an SNMP object
    • snmp2_walk — Fetch all the SNMP objects from an agent
    • snmp3_get — Fetch an SNMP object
    • snmp3_getnext — Fetch the SNMP object which follows the given object id
    • snmp3_real_walk — Return all objects including their respective object ID within the specified one
    • snmp3_set — Set the value of an SNMP object
    • snmp3_walk — Fetch all the SNMP objects from an agent
    • snmpget — Fetch an SNMP object
    • snmpgetnext — Fetch the SNMP object which follows the given object id
    • snmprealwalk — Return all objects including their respective object ID within the specified one
    • snmpset — Set the value of an SNMP object
    • snmpwalk — Fetch all the SNMP objects from an agent
    • snmpwalkoid — Query for a tree of information about a network entity
  • SNMP — The SNMP class
    • SNMP::close — Close SNMP session
    • SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent
    • SNMP::get — Fetch an SNMP object
    • SNMP::getErrno — Get last error code
    • SNMP::getError — Get last error message
    • SNMP::getnext — Fetch an SNMP object which follows the given object id
    • SNMP::set — Set the value of an SNMP object
    • SNMP::setSecurity — Configures security-related SNMPv3 session parameters
    • SNMP::walk — Fetch SNMP object subtree
  • SNMPException — The SNMPException class


Introdução

A extensão SNMP provê um kit de ferramentas muito simples e fácil de usar para controlar dispositivos remotos através do Simple Network Management Protocol.

Como é um wrapper da biblioteca básica Net-SNMP (ou UCD-SNMP em sistemas mais antigos), todos os conceitos básicos são os mesmos e as funções PHP alteram seus comportamentos dependendo dos arquivos de configuração Net-SNMP e das variáveis de ambiente.

Uma API Orientada a Objeto está disponível a partir do PHP 5.4.

Mais informações sobre o Net-SNMP podem ser encontradas em » http://www.net-snmp.org/


Dependências

A instalação do pacote » Net-SNMP é requerida para para utilizar as funções SNMP. As funções SNMPv3 só estarão disponíveis quando o pacote » OpenSSL também estiver instalado

No Windows, as funções SNMP somente estão disponíveis no NT e não no Win95/98.

A partir do PHP 5.4.0 a versão 5.3+ do Net-SNMP é requerida para instalações Unix e o Net-SNMP 5.4+ para Windows.


Instalação

The Windows distribution of Net-SNMP contains support files for SNMP in the mibs directory. This directory should added to Windows' environment variables, as MIBDIRS, with the value being the full path to the mibs directory: e.g. c:\usr\mibs.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Para snmp_set_oid_output_format()
SNMP_OID_OUTPUT_SUFFIX (integer)
Desde o PHP 5.4.0
SNMP_OID_OUTPUT_MODULE (integer)
Desde o PHP 5.4.0
SNMP_OID_OUTPUT_FULL (integer)
Desde o PHP 5.2.0
SNMP_OID_OUTPUT_NUMERIC (integer)
Desde o PHP 5.2.0
SNMP_OID_OUTPUT_UCD (integer)
Desde o PHP 5.4.0
SNMP_OID_OUTPUT_NONE (integer)
Desde o PHP 5.4.0
Para snmp_set_valueretrieval()
SNMP_VALUE_LIBRARY (integer)
SNMP_VALUE_PLAIN (integer)
SNMP_VALUE_OBJECT (integer)
Tipos SNMP retornados se SNMP_VALUE_OBJECT foi utilizado com snmp_set_valueretrieval()
SNMP_BIT_STR (integer)
SNMP_OCTET_STR (integer)
SNMP_OPAQUE (integer)
SNMP_NULL (integer)
SNMP_OBJECT_ID (integer)
SNMP_IPADDRESS (integer)
SNMP_COUNTER (integer)
SNMP_UNSIGNED (integer)
SNMP_TIMETICKS (integer)
SNMP_UINTEGER (integer)
SNMP_INTEGER (integer)
SNMP_COUNTER64 (integer)


Funções SNMP

Índice

  • snmp_get_quick_print — Fetches the current value of the NET-SNMP library's quick_print setting
  • snmp_get_valueretrieval — Return the method how the SNMP values will be returned
  • snmp_read_mib — Reads and parses a MIB file into the active MIB tree
  • snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer
  • snmp_set_oid_numeric_print — Set the OID output format
  • snmp_set_oid_output_format — Set the OID output format
  • snmp_set_quick_print — Set the value of enable within the NET-SNMP library
  • snmp_set_valueretrieval — Specify the method how the SNMP values will be returned
  • snmp2_get — Fetch an SNMP object
  • snmp2_getnext — Fetch the SNMP object which follows the given object id
  • snmp2_real_walk — Return all objects including their respective object ID within the specified one
  • snmp2_set — Set the value of an SNMP object
  • snmp2_walk — Fetch all the SNMP objects from an agent
  • snmp3_get — Fetch an SNMP object
  • snmp3_getnext — Fetch the SNMP object which follows the given object id
  • snmp3_real_walk — Return all objects including their respective object ID within the specified one
  • snmp3_set — Set the value of an SNMP object
  • snmp3_walk — Fetch all the SNMP objects from an agent
  • snmpget — Fetch an SNMP object
  • snmpgetnext — Fetch the SNMP object which follows the given object id
  • snmprealwalk — Return all objects including their respective object ID within the specified one
  • snmpset — Set the value of an SNMP object
  • snmpwalk — Fetch all the SNMP objects from an agent
  • snmpwalkoid — Query for a tree of information about a network entity


Fetches the current value of the NET-SNMP library's quick_print setting

  • « Funções SNMP
  • snmp_get_valueretrieval »
  • PHP Manual
  • Funções SNMP
  • Fetches the current value of the NET-SNMP library's quick_print setting

snmp_get_quick_print

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp_get_quick_print — Fetches the current value of the NET-SNMP library's quick_print setting

Descrição

snmp_get_quick_print ( ) : bool

Returns the current value stored in the NET-SNMP Library for quick_print. quick_print is off by default.

Valor Retornado

Returns true if quick_print is on, false otherwise.

Exemplos

Exemplo #1 snmp_get_quick_print() example

<?php
$quickprint = snmp_get_quick_print();
?>

Veja Também

  • snmp_set_quick_print() - Set the value of enable within the NET-SNMP library for a full description of what quick_print does.


Return the method how the SNMP values will be returned

  • « snmp_get_quick_print
  • snmp_read_mib »
  • PHP Manual
  • Funções SNMP
  • Return the method how the SNMP values will be returned

snmp_get_valueretrieval

(PHP 4 >= 4.3.3, PHP 5, PHP 7, PHP 8)

snmp_get_valueretrieval — Return the method how the SNMP values will be returned

Descrição

snmp_get_valueretrieval ( ) : int

Valor Retornado

OR-ed combitantion of constants ( SNMP_VALUE_LIBRARY or SNMP_VALUE_PLAIN ) with possible SNMP_VALUE_OBJECT set.

Exemplos

Exemplo #1 Using snmp_get_valueretrieval

<?php
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 if (snmp_get_valueretrieval() & SNMP_VALUE_OBJECT) {
   echo $ret->value;
 } else {
   echo $ret;
 }
?>

Veja Também

  • snmp_set_valueretrieval() - Specify the method how the SNMP values will be returned
  • Constantes pré-definidas


Reads and parses a MIB file into the active MIB tree

  • « snmp_get_valueretrieval
  • snmp_set_enum_print »
  • PHP Manual
  • Funções SNMP
  • Reads and parses a MIB file into the active MIB tree

snmp_read_mib

(PHP 5, PHP 7, PHP 8)

snmp_read_mib — Reads and parses a MIB file into the active MIB tree

Descrição

snmp_read_mib ( string $filename ) : bool

This function is used to load additional, e.g. vendor specific, MIBs so that human readable OIDs like VENDOR-MIB::foo.1 instead of error prone numeric OIDs can be used.

The order in which the MIBs are loaded does matter as the underlying Net-SNMP libary will print warnings if referenced objects cannot be resolved.

Parâmetros

filename

The filename of the MIB.

Exemplos

Exemplo #1 Using snmp_read_mib()

<?php
 print_r( snmprealwalk('localhost', 'public', '.1.3.6.1.2.1.2.3.4.5') );

 snmp_read_mib('./FOO-BAR-MIB.txt');
 print_r( snmprealwalk('localhost', 'public', 'FOO-BAR-MIB::someTable' );
?>

The above example is made up but the results would look like:

Array
(
    [iso.3.6.1.2.1.2.3.4.5.0] => Gauge32: 6
)
Array
(
    [FOO-BAR-MIB::someTable.0] => Gauge32: 6
)


Return all values that are enums with their enum value instead of the raw integer

  • « snmp_read_mib
  • snmp_set_oid_numeric_print »
  • PHP Manual
  • Funções SNMP
  • Return all values that are enums with their enum value instead of the raw integer

snmp_set_enum_print

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer

Descrição

snmp_set_enum_print ( bool $enable ) : bool

This function toggles if snmpwalk/snmpget etc. should automatically lookup enum values in the MIB and return them together with their human readable string.

Parâmetros

enable

As the value is interpreted as boolean by the Net-SNMP library, it can only be "0" or "1".

Exemplos

Exemplo #1 Using snmp_set_enum_print()

<?php
 snmp_set_enum_print(0);
 echo snmpget('localhost', 'public', 'IF-MIB::ifOperStatus.3') . "\n";
 snmp_set_enum_print(1);
 echo snmpget('localhost', 'public', 'IF-MIB::ifOperStatus.3') . "\n";
?>

The above would return

 INTEGER: up(1)
 INTEGER: 1


Set the OID output format

  • « snmp_set_enum_print
  • snmp_set_oid_output_format »
  • PHP Manual
  • Funções SNMP
  • Set the OID output format

snmp_set_oid_numeric_print

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

snmp_set_oid_numeric_print — Set the OID output format

Descrição

snmp_set_oid_numeric_print ( int $format ) : bool

Esta função é um apelido para: snmp_set_oid_output_format().

Veja Também

  • snmp_set_oid_output_format() - Set the OID output format


Set the OID output format

  • « snmp_set_oid_numeric_print
  • snmp_set_quick_print »
  • PHP Manual
  • Funções SNMP
  • Set the OID output format

snmp_set_oid_output_format

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

snmp_set_oid_output_format — Set the OID output format

Descrição

snmp_set_oid_output_format ( int $format ) : bool

snmp_set_oid_output_format() sets the output format to be full or numeric.

Parâmetros

format
OID .1.3.6.1.2.1.1.3.0 representation for various format values
SNMP_OID_OUTPUT_FULL | .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NUMERIC | .1.3.6.1.2.1.1.3.0

Begining from PHP 5.4.0 four additional constants available:

SNMP_OID_OUTPUT_MODULE | DISMAN-EVENT-MIB::sysUpTimeInstance
SNMP_OID_OUTPUT_SUFFIX | sysUpTimeInstance
SNMP_OID_OUTPUT_UCD | system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NONE | Undefined

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Using snmprealwalk()

<?php

 snmp_read_mib("/usr/share/mibs/netsnmp/NET-SNMP-TC");

 // default or SNMP_OID_OUTPUT_MODULE in PHP >= 5.3.6
 print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );

 snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC);
 print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );

 snmp_set_oid_output_format(SNMP_OID_OUTPUT_FULL);
 print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );
?>

The above would output:

 Array
 (
    [RFC1213-MIB::sysObjectID.0] => OID: NET-SNMP-TC::linux
 )
 Array
 (
    [.1.3.6.1.2.1.1.2.0] => OID: .1.3.6.1.4.1.8072.3.2.10
 )
 Array
 (
    [.iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0] => OID: .iso.org.dod.internet.private.enterprises.netSnmp.netSnmpEnumerations.netSnmpAgentOIDs.linux
 )


Set the value of enable within the NET-SNMP library

  • « snmp_set_oid_output_format
  • snmp_set_valueretrieval »
  • PHP Manual
  • Funções SNMP
  • Set the value of enable within the NET-SNMP library

snmp_set_quick_print

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp_set_quick_print — Set the value of enable within the NET-SNMP library

Descrição

snmp_set_quick_print ( bool $enable ) : bool

Sets the value of enable within the NET-SNMP library. When this is set (1), the SNMP library will return 'quick printed' values. This means that just the value will be printed. When enable is not enabled (default) the NET-SNMP library prints extra information including the type of the value (i.e. IpAddress or OID). Additionally, if quick_print is not enabled, the library prints additional hex values for all strings of three characters or less.

By default the NET-SNMP library returns verbose values, quick_print is used to return only the value.

Currently strings are still returned with extra quotes, this will be corrected in a later release.

Parâmetros

enable

Valor Retornado

Não há valor retornado.

Exemplos

Setting quick_print is often used when using the information returned rather than displaying it.

Exemplo #1 Using snmp_set_quick_print()

<?php
snmp_set_quick_print(0);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a\n";
snmp_set_quick_print(1);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a\n";
?>

O exemplo acima irá imprimir algo similar à:

'Timeticks: (0) 0:00:00.00'
'0:00:00.00'

Veja Também

  • snmp_get_quick_print() - Fetches the current value of the NET-SNMP library's quick_print setting


Specify the method how the SNMP values will be returned

  • « snmp_set_quick_print
  • snmp2_get »
  • PHP Manual
  • Funções SNMP
  • Specify the method how the SNMP values will be returned

snmp_set_valueretrieval

(PHP 4 >= 4.3.3, PHP 5, PHP 7, PHP 8)

snmp_set_valueretrieval — Specify the method how the SNMP values will be returned

Descrição

snmp_set_valueretrieval ( int $method ) : bool

Parâmetros

method
types
SNMP_VALUE_LIBRARY | The return values will be as returned by the Net-SNMP library.
SNMP_VALUE_PLAIN | The return values will be the plain value without the SNMP type hint.
SNMP_VALUE_OBJECT | The return values will be objects with the properties "value" and "type", where the latter is one of the SNMP_OCTET_STR, SNMP_COUNTER etc. constants. The way "value" is returned is based on which one of constants SNMP_VALUE_LIBRARY, SNMP_VALUE_PLAIN is set.

Exemplos

Exemplo #1 Using snmp_set_valueretrieval()

<?php
 snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // $ret = "STRING: lo"

 snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // $ret = "lo";

 snmp_set_valueretrieval(SNMP_VALUE_OBJECT);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => lo
 // )

 // PHP 5.4+ examples
 snmp_set_valueretrieval(SNMP_VALUE_OBJECT | SNMP_VALUE_PLAIN);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => lo
 // )

 snmp_set_valueretrieval(SNMP_VALUE_OBJECT | SNMP_VALUE_LIBRARY);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => STRING: lo
 // )

?>

Veja Também

  • snmp_get_valueretrieval() - Return the method how the SNMP values will be returned
  • Constantes pré-definidas


Fetch an SNMP object

  • « snmp_set_valueretrieval
  • snmp2_getnext »
  • PHP Manual
  • Funções SNMP
  • Fetch an SNMP object

snmp2_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

snmp2_get — Fetch an SNMP object

Descrição

snmp2_get ( string $hostname , string $community , array|string $object_id , int $timeout = -1 , int $retries = -1 ) : stdClass|array|string|bool

The snmp2_get() function is used to read the value of an SNMP object specified by the object_id.

Parâmetros

hostname

The SNMP agent.

community

The read community.

object_id

The SNMP object.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Returns SNMP object value on success or false on error.

Exemplos

Exemplo #1 Using snmp2_get()

<?php
$syscontact = snmp2_get("127.0.0.1", "public", "system.SysContact.0");
?>

Veja Também

  • snmp2_set() - Set the value of an SNMP object


Fetch the SNMP object which follows the given object id

  • « snmp2_get
  • snmp2_real_walk »
  • PHP Manual
  • Funções SNMP
  • Fetch the SNMP object which follows the given object id

snmp2_getnext

(PHP >= 5.2.0, PHP 7, PHP 8)

snmp2_getnext — Fetch the SNMP object which follows the given object id

Descrição

snmp2_getnext ( string $hostname , string $community , array|string $object_id , int $timeout = -1 , int $retries = -1 ) : stdClass|array|string|bool

The snmp2_get_next() function is used to read the value of the SNMP object that follows the specified object_id.

Parâmetros

hostname

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Returns SNMP object value on success or false on error. In case of an error, an E_WARNING message is shown.

Exemplos

Exemplo #1 Using snmp2_get_next()

<?php
$nameOfSecondInterface = snmp2_get_next('localhost', 'public', 'IF-MIB::ifName.1';
?>

Veja Também

  • snmp2_get() - Fetch an SNMP object
  • snmp2_walk() - Fetch all the SNMP objects from an agent


Return all objects including their respective object ID within the specified one

  • « snmp2_getnext
  • snmp2_set »
  • PHP Manual
  • Funções SNMP
  • Return all objects including their respective object ID within the specified one

snmp2_real_walk

(PHP >= 5.2.0, PHP 7, PHP 8)

snmp2_real_walk — Return all objects including their respective object ID within the specified one

Descrição

snmp2_real_walk ( string $hostname , string $community , array|string $object_id , int $timeout = -1 , int $retries = -1 ) : array|bool

The snmp2_real_walk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Parâmetros

hostname

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Returns an associative array of the SNMP object ids and their values on success or false on error. In case of an error, an E_WARNING message is shown.

Exemplos

Exemplo #1 Using snmp2_real_walk()

<?php
 print_r(snmp2_real_walk("localhost", "public", "IF-MIB::ifName"));
?>

The above will output something like:

    Array
      (
      [IF-MIB::ifName.1] => STRING: lo
      [IF-MIB::ifName.2] => STRING: eth0
      [IF-MIB::ifName.3] => STRING: eth2
      [IF-MIB::ifName.4] => STRING: sit0
      [IF-MIB::ifName.5] => STRING: sixxs
    )

Veja Também

  • snmp2_walk() - Fetch all the SNMP objects from an agent


Set the value of an SNMP object

  • « snmp2_real_walk
  • snmp2_walk »
  • PHP Manual
  • Funções SNMP
  • Set the value of an SNMP object

snmp2_set

(PHP >= 5.2.0, PHP 7, PHP 8)

snmp2_set — Set the value of an SNMP object

Descrição

snmp2_set ( string $hostname , string $community , array|string $object_id , array|string $type , array|string $value , int $timeout = -1 , int $retries = -1 ) : array|bool

snmp2_set() is used to set the value of an SNMP object specified by the object_id.

Parâmetros

hostname

The hostname of the SNMP agent (server).

community

The write community.

object_id

The SNMP object id.

type

O MIB define o tipo de cada id de objeto. Pode ser um caractere da lista abaixo.

types
= Lista de MIBs id
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

Se OPAQUE_SPECIAL_TYPES foi definido durante a compilação da biblioteca SNMP, os seguintes também são válidos:

types
U | unsigned int64
I | signed int64
F | float
D | double

A maioria dos tipos tem correspondentes óbvios com tipos ASN.1. 's', 'x', 'd' e 'b' são modos diferentes de especificar um valor OCTET STRING e 'u' também é utilizado para manipular valores Gauge32.

Se MIB-Files foi carregado na árvore MIB com "snmp_read_mib" ou por especificá-lo na configuração do libsnmp, '=' pode ser utilizado como parâmetro type para todos os identificadores de objeto que podem ser lidos automaticamente do MIB.

Note que há duas maneiras de configurar o tipo BITS, assim: "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Utilizando "b" e uma lista de bits. Esse método não é recomendado desde que requisições GET para o mesmo OID pode retornar algo com 0xF8.
  • Utilizando "x" e um número hex sem (!) o prefixo "0x".

Veja a seção de exemplo para mais detalhes.

value

The new value.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Exemplos

Exemplo #1 Using snmp2_set()

<?php
  snmp2_set("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>

Exemplo #2 Using snmp2_set() for setting BITS SNMP object id

<?php
  snmp2_set("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  snmp2_set("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>

Veja Também

  • snmp2_get() - Fetch an SNMP object


Fetch all the SNMP objects from an agent

  • « snmp2_set
  • snmp3_get »
  • PHP Manual
  • Funções SNMP
  • Fetch all the SNMP objects from an agent

snmp2_walk

(PHP >= 5.2.0, PHP 7, PHP 8)

snmp2_walk — Fetch all the SNMP objects from an agent

Descrição

snmp2_walk ( string $hostname , string $community , array|string $object_id , int $timeout = -1 , int $retries = -1 ) : array|bool

snmp2_walk() function is used to read all the values from an SNMP agent specified by the hostname.

Parâmetros

hostname

The SNMP agent (server).

community

The read community.

object_id

If null, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Returns an array of SNMP object values starting from the object_id as root or false on error.

Exemplos

Exemplo #1 snmp2_walk() Example

<?php
$a = snmp2_walk("127.0.0.1", "public", "");

foreach ($a as $val) {
    echo "$val\n";
}

?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

Veja Também

  • snmp2_real_walk() - Return all objects including their respective object ID within the specified one


Fetch an SNMP object

  • « snmp2_walk
  • snmp3_getnext »
  • PHP Manual
  • Funções SNMP
  • Fetch an SNMP object

snmp3_get

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp3_get — Fetch an SNMP object

Descrição

snmp3_get ( string $hostname , string $security_name , string $security_level , string $auth_protocol , string $auth_passphrase , string $privacy_protocol , string $privacy_passphrase , array|string $object_id , int $timeout = -1 , int $retries = -1 ) : stdClass|array|string|bool

The snmp3_get() function is used to read the value of an SNMP object specified by the object_id.

Parâmetros

hostname

The hostname of the SNMP agent (server).

security_name

the security name, usually some kind of username

security_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

privacy_protocol

the privacy protocol (DES or AES)

privacy_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Returns SNMP object value on success or false on error.

Exemplos

Exemplo #1 Using snmp3_get()

<?php
$nameOfSecondInterface = snmp3_get('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName.2');
?>

Veja Também

  • snmp3_set() - Set the value of an SNMP object


Fetch the SNMP object which follows the given object id

  • « snmp3_get
  • snmp3_real_walk »
  • PHP Manual
  • Funções SNMP
  • Fetch the SNMP object which follows the given object id

snmp3_getnext

(PHP 5, PHP 7, PHP 8)

snmp3_getnext — Fetch the SNMP object which follows the given object id

Descrição

snmp3_getnext ( string $hostname , string $security_name , string $security_level , string $auth_protocol , string $auth_passphrase , string $privacy_protocol , string $privacy_passphrase , array|string $object_id , int $timeout = -1 , int $retries = -1 ) : stdClass|array|string|bool

The snmp3_getnext() function is used to read the value of the SNMP object that follows the specified object_id.

Parâmetros

hostname

The hostname of the SNMP agent (server).

security_name

the security name, usually some kind of username

security_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

privacy_protocol

the privacy protocol (DES or AES)

privacy_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Returns SNMP object value on success or false on error. In case of an error, an E_WARNING message is shown.

Exemplos

Exemplo #1 Using snmp3_getnext()

<?php
$nameOfSecondInterface = snmp3_getnext('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName.1');
?>

Veja Também

  • snmp3_get() - Fetch an SNMP object
  • snmp3_walk() - Fetch all the SNMP objects from an agent


Return all objects including their respective object ID within the specified one

  • « snmp3_getnext
  • snmp3_set »
  • PHP Manual
  • Funções SNMP
  • Return all objects including their respective object ID within the specified one

snmp3_real_walk

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp3_real_walk — Return all objects including their respective object ID within the specified one

Descrição

snmp3_real_walk ( string $hostname , string $security_name , string $security_level , string $auth_protocol , string $auth_passphrase , string $privacy_protocol , string $privacy_passphrase , array|string $object_id , int $timeout = -1 , int $retries = -1 ) : array|bool

The snmp3_real_walk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Parâmetros

hostname

The hostname of the SNMP agent (server).

security_name

the security name, usually some kind of username

security_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

privacy_protocol

the privacy protocol (DES or AES)

privacy_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Returns an associative array of the SNMP object ids and their values on success or false on error. In case of an error, an E_WARNING message is shown.

Exemplos

Exemplo #1 Using snmp3_real_walk()

<?php
 var_export(snmp3_real_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName'));
?>

The above will output something like:

array (
  'IF-MIB::ifName.1' => 'STRING: lo',
  'IF-MIB::ifName.2' => 'STRING: eth0',
  'IF-MIB::ifName.3' => 'STRING: eth2',
  'IF-MIB::ifName.4' => 'STRING: sit0',
  'IF-MIB::ifName.5' => 'STRING: sixxs',
)

Veja Também

  • snmpwalk() - Fetch all the SNMP objects from an agent


Set the value of an SNMP object

  • « snmp3_real_walk
  • snmp3_walk »
  • PHP Manual
  • Funções SNMP
  • Set the value of an SNMP object

snmp3_set

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp3_set — Set the value of an SNMP object

Descrição

snmp3_set ( string $hostname , string $security_name , string $security_level , string $auth_protocol , string $auth_passphrase , string $privacy_protocol , string $privacy_passphrase , array|string $object_id , array|string $type , array|string $value , int $timeout = -1 , int $retries = -1 ) : array|bool

snmp3_set() is used to set the value of an SNMP object specified by the object_id.

Even if the security level does not use an auth or priv protocol/password valid values have to be specified.

Parâmetros

hostname

The hostname of the SNMP agent (server).

security_name

the security name, usually some kind of username

security_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

privacy_protocol

the privacy protocol (DES or AES)

privacy_passphrase

the privacy pass phrase

object_id

The SNMP object id.

type

O MIB define o tipo de cada id de objeto. Pode ser um caractere da lista abaixo.

types
= Lista de MIBs id
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

Se OPAQUE_SPECIAL_TYPES foi definido durante a compilação da biblioteca SNMP, os seguintes também são válidos:

types
U | unsigned int64
I | signed int64
F | float
D | double

A maioria dos tipos tem correspondentes óbvios com tipos ASN.1. 's', 'x', 'd' e 'b' são modos diferentes de especificar um valor OCTET STRING e 'u' também é utilizado para manipular valores Gauge32.

Se MIB-Files foi carregado na árvore MIB com "snmp_read_mib" ou por especificá-lo na configuração do libsnmp, '=' pode ser utilizado como parâmetro type para todos os identificadores de objeto que podem ser lidos automaticamente do MIB.

Note que há duas maneiras de configurar o tipo BITS, assim: "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Utilizando "b" e uma lista de bits. Esse método não é recomendado desde que requisições GET para o mesmo OID pode retornar algo com 0xF8.
  • Utilizando "x" e um número hex sem (!) o prefixo "0x".

Veja a seção de exemplo para mais detalhes.

value

The new value

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Exemplos

Exemplo #1 Using snmp3_set()

<?php
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifAlias.3', 's', "foo");
?>

Exemplo #2 Using snmp3_set() for setting BITS SNMP object id

<?php
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'x', 'F0');
?>


Fetch all the SNMP objects from an agent

  • « snmp3_set
  • snmpget »
  • PHP Manual
  • Funções SNMP
  • Fetch all the SNMP objects from an agent

snmp3_walk

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp3_walk — Fetch all the SNMP objects from an agent

Descrição

snmp3_walk ( string $hostname , string $security_name , string $security_level , string $auth_protocol , string $auth_passphrase , string $privacy_protocol , string $privacy_passphrase , array|string $object_id , int $timeout = -1 , int $retries = -1 ) : array|bool

snmp3_walk() function is used to read all the values from an SNMP agent specified by the hostname.

Even if the security level does not use an auth or priv protocol/password valid values have to be specified.

Parâmetros

hostname

The hostname of the SNMP agent (server).

security_name

the security name, usually some kind of username

security_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

privacy_protocol

the privacy protocol (DES or AES)

privacy_passphrase

the privacy pass phrase

object_id

If null, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Returns an array of SNMP object values starting from the object_id as root or false on error.

Exemplos

Exemplo #1 snmp3_walk() Example

<?php
$ret = snmp3_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName');
var_export($ret);
?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost:

array (
  0 => 'STRING: lo',
  1 => 'STRING: eth0',
  2 => 'STRING: eth2',
  3 => 'STRING: sit0',
  4 => 'STRING: sixxs',
)

Veja Também

  • snmp3_real_walk() - Return all objects including their respective object ID within the specified one


Fetch an SNMP object

  • « snmp3_walk
  • snmpgetnext »
  • PHP Manual
  • Funções SNMP
  • Fetch an SNMP object

snmpget

(PHP 4, PHP 5, PHP 7, PHP 8)

snmpget — Fetch an SNMP object

Descrição

snmpget ( string $hostname , string $community , array|string $object_id , int $timeout = -1 , int $retries = -1 ) : stdClass|array|string|bool

The snmpget() function is used to read the value of an SNMP object specified by the object_id.

Parâmetros

hostname

The SNMP agent.

community

The read community.

object_id

The SNMP object.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Returns SNMP object value on success or false on error.

Exemplos

Exemplo #1 Using snmpget()

<?php
$syscontact = snmpget("127.0.0.1", "public", "system.SysContact.0");
?>

Veja Também

  • snmpset() - Set the value of an SNMP object


Fetch the SNMP object which follows the given object id

  • « snmpget
  • snmprealwalk »
  • PHP Manual
  • Funções SNMP
  • Fetch the SNMP object which follows the given object id

snmpgetnext

(PHP 5, PHP 7, PHP 8)

snmpgetnext — Fetch the SNMP object which follows the given object id

Descrição

snmpgetnext ( string $hostname , string $community , array|string $object_id , int $timeout = -1 , int $retries = -1 ) : stdClass|array|string|bool

The snmpgetnext() function is used to read the value of the SNMP object that follows the specified object_id.

Parâmetros

hostname

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Returns SNMP object value on success or false on error. In case of an error, an E_WARNING message is shown.

Exemplos

Exemplo #1 Using snmpgetnext()

<?php
$nameOfSecondInterface = snmpgetnetxt('localhost', 'public', 'IF-MIB::ifName.1';
?>

Veja Também

  • snmpget() - Fetch an SNMP object
  • snmpwalk() - Fetch all the SNMP objects from an agent


Return all objects including their respective object ID within the specified one

  • « snmpgetnext
  • snmpset »
  • PHP Manual
  • Funções SNMP
  • Return all objects including their respective object ID within the specified one

snmprealwalk

(PHP 4, PHP 5, PHP 7, PHP 8)

snmprealwalk — Return all objects including their respective object ID within the specified one

Descrição

snmprealwalk ( string $hostname , string $community , array|string $object_id , int $timeout = -1 , int $retries = -1 ) : array|bool

The snmprealwalk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Parâmetros

hostname

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Returns an associative array of the SNMP object ids and their values on success or false on error. In case of an error, an E_WARNING message is shown.

Exemplos

Exemplo #1 Using snmprealwalk()

<?php
 print_r(snmprealwalk("localhost", "public", "IF-MIB::ifName"));
?>

The above will output something like:

    Array
      (
      [IF-MIB::ifName.1] => STRING: lo
      [IF-MIB::ifName.2] => STRING: eth0
      [IF-MIB::ifName.3] => STRING: eth2
      [IF-MIB::ifName.4] => STRING: sit0
      [IF-MIB::ifName.5] => STRING: sixxs
    )

Veja Também

  • snmpwalk() - Fetch all the SNMP objects from an agent


Set the value of an SNMP object

  • « snmprealwalk
  • snmpwalk »
  • PHP Manual
  • Funções SNMP
  • Set the value of an SNMP object

snmpset

(PHP 4, PHP 5, PHP 7, PHP 8)

snmpset — Set the value of an SNMP object

Descrição

snmpset ( string $hostname , string $community , array|string $object_id , array|string $type , array|string $value , int $timeout = -1 , int $retries = -1 ) : array|bool

snmpset() is used to set the value of an SNMP object specified by the object_id.

Parâmetros

hostname

The hostname of the SNMP agent (server).

community

The write community.

object_id

The SNMP object id.

type

O MIB define o tipo de cada id de objeto. Pode ser um caractere da lista abaixo.

types
= Lista de MIBs id
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

Se OPAQUE_SPECIAL_TYPES foi definido durante a compilação da biblioteca SNMP, os seguintes também são válidos:

types
U | unsigned int64
I | signed int64
F | float
D | double

A maioria dos tipos tem correspondentes óbvios com tipos ASN.1. 's', 'x', 'd' e 'b' são modos diferentes de especificar um valor OCTET STRING e 'u' também é utilizado para manipular valores Gauge32.

Se MIB-Files foi carregado na árvore MIB com "snmp_read_mib" ou por especificá-lo na configuração do libsnmp, '=' pode ser utilizado como parâmetro type para todos os identificadores de objeto que podem ser lidos automaticamente do MIB.

Note que há duas maneiras de configurar o tipo BITS, assim: "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Utilizando "b" e uma lista de bits. Esse método não é recomendado desde que requisições GET para o mesmo OID pode retornar algo com 0xF8.
  • Utilizando "x" e um número hex sem (!) o prefixo "0x".

Veja a seção de exemplo para mais detalhes.

value

The new value.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Exemplos

Exemplo #1 Using snmpset()

<?php
  snmpset("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>

Exemplo #2 Using snmpset() for setting BITS SNMP object id

<?php
  snmpset("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  snmpset("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>

Veja Também

  • snmpget() - Fetch an SNMP object


Fetch all the SNMP objects from an agent

  • « snmpset
  • snmpwalkoid »
  • PHP Manual
  • Funções SNMP
  • Fetch all the SNMP objects from an agent

snmpwalk

(PHP 4, PHP 5, PHP 7, PHP 8)

snmpwalk — Fetch all the SNMP objects from an agent

Descrição

snmpwalk ( string $hostname , string $community , array|string $object_id , int $timeout = -1 , int $retries = -1 ) : array|bool

snmpwalk() function is used to read all the values from an SNMP agent specified by the hostname.

Parâmetros

hostname

The SNMP agent (server).

community

The read community.

object_id

If null, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Returns an array of SNMP object values starting from the object_id as root or false on error.

Exemplos

Exemplo #1 snmpwalk() Example

<?php
$a = snmpwalk("127.0.0.1", "public", "");

foreach ($a as $val) {
    echo "$val\n";
}

?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

Veja Também

  • snmprealwalk() - Return all objects including their respective object ID within the specified one


Query for a tree of information about a network entity

  • « snmpwalk
  • SNMP »
  • PHP Manual
  • Funções SNMP
  • Query for a tree of information about a network entity

snmpwalkoid

(PHP 4, PHP 5, PHP 7, PHP 8)

snmpwalkoid — Query for a tree of information about a network entity

Descrição

snmpwalkoid ( string $hostname , string $community , array|string $object_id , int $timeout = -1 , int $retries = -1 ) : array|bool

snmpwalkoid() function is used to read all object ids and their respective values from an SNMP agent specified by hostname.

The existence of snmpwalkoid() and snmpwalk() has historical reasons. Both functions are provided for backward compatibility. Use snmprealwalk() instead.

Parâmetros

hostname

The SNMP agent.

community

The read community.

object_id

If null, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Valor Retornado

Returns an associative array with object ids and their respective object value starting from the object_id as root or false on error.

Exemplos

Exemplo #1 snmpwalkoid() Example

<?php
$a = snmpwalkoid("127.0.0.1", "public", "");
for (reset($a); $i = key($a); next($a)) {
    echo "$i: $a[$i]<br />\n";
}
?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

Veja Também

  • snmpwalk() - Fetch all the SNMP objects from an agent


The SNMP class

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Introdução

Represents SNMP session.

Sinopse da classe

SNMP {
/* Propriedades */
public int $max_oids ;
public int $valueretrieval ;
public bool $quick_print ;
public bool $enum_print ;
public int $oid_output_format ;
public bool $oid_increasing_check ;
public int $exceptions_enabled ;
public array $info ;
/* Métodos */
public __construct ( int $version , string $hostname , string $community , int $timeout = -1 , int $retries = -1 )
public close ( ) : bool
public get ( array|string $objectId , bool $preserveKeys = false ) : array|bool
public getErrno ( ) : int
public getError ( ) : string
public getnext ( array|string $objectId ) : array|bool
public set ( array|string $objectId , array|string $type , array|string $value ) : array|bool
public setSecurity
 ( string $securityLevel
, string $authProtocol = ""
, string $authPassphrase = ""
, string $privacyProtocol = ""
, string $privacyPassphrase = ""
, string $contextName = ""
, string $contextEngineId = ""
) : bool
public walk ( array|string $objectId , bool $suffixAsKey = false , int $maxRepetitions = -1 , int $nonRepeaters = -1 ) : array|bool
/* Constantes */
const int ERRNO_NOERROR = 0 ;
const int ERRNO_GENERIC = 2 ;
const int ERRNO_TIMEOUT = 4 ;
const int ERRNO_ERROR_IN_REPLY = 8 ;
const int ERRNO_OID_NOT_INCREASING = 16 ;
const int ERRNO_OID_PARSING_ERROR = 32 ;
const int ERRNO_MULTIPLE_SET_QUERIES = 64 ;
const int ERRNO_ANY = 126 ;
const int VERSION_1 = 0 ;
const int VERSION_2C = 1 ;
const int VERSION_2c = 1 ;
const int VERSION_3 = 3 ;
}

Propriedades

max_oids

Maximum OID per GET/SET/GETBULK request

valueretrieval

Controls the method how the SNMP values will be returned

SNMP_VALUE_LIBRARY | The return values will be as returned by the Net-SNMP library.
SNMP_VALUE_PLAIN | The return values will be the plain value without the SNMP type hint.
SNMP_VALUE_OBJECT | The return values will be objects with the properties "value" and "type", where the latter is one of the SNMP_OCTET_STR, SNMP_COUNTER etc. constants. The way "value" is returned is based on which one of SNMP_VALUE_LIBRARY, SNMP_VALUE_PLAIN is set
quick_print

Value of quick_print within the NET-SNMP library

Sets the value of quick_print within the NET-SNMP library. When this is set (1), the SNMP library will return 'quick printed' values. This means that just the value will be printed. When quick_print is not enabled (default) the NET-SNMP library prints extra information including the type of the value (i.e. IpAddress or OID). Additionally, if quick_print is not enabled, the library prints additional hex values for all strings of three characters or less.

enum_print

Controls the way enum values are printed

Parameter toggles if walk/get etc. should automatically lookup enum values in the MIB and return them together with their human readable string.

oid_output_format

Controls OID output format

OID .1.3.6.1.2.1.1.3.0 representation for various oid_output_format values
SNMP_OID_OUTPUT_FULL | .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NUMERIC | .1.3.6.1.2.1.1.3.0
SNMP_OID_OUTPUT_MODULE | DISMAN-EVENT-MIB::sysUpTimeInstance
SNMP_OID_OUTPUT_SUFFIX | sysUpTimeInstance
SNMP_OID_OUTPUT_UCD | system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NONE | Undefined
oid_increasing_check

Controls disabling check for increasing OID while walking OID tree

Some SNMP agents are known for returning OIDs out of order but can complete the walk anyway. Other agents return OIDs that are out of order and can cause SNMP::walk() to loop indefinitely until memory limit will be reached. PHP SNMP library by default performs OID increasing check and stops walking on OID tree when it detects possible loop with issuing warning about non-increasing OID faced. Set oid_increasing_check to false to disable this check.

exceptions_enabled

Controls which failures will raise SNMPException instead of warning. Use bitwise OR'ed SNMP::ERRNO_* constants. By default all SNMP exceptions are disabled.

info

Read-only property with remote agent configuration: hostname, port, default timeout, default retries count

Constantes pré-definidas

SNMP Error Types

SNMP::ERRNO_NOERROR

No SNMP-specific error occurred.

SNMP::ERRNO_GENERIC

A generic SNMP error occurred.

SNMP::ERRNO_TIMEOUT

Request to SNMP agent timed out.

SNMP::ERRNO_ERROR_IN_REPLY

SNMP agent returned an error in reply.

SNMP::ERRNO_OID_NOT_INCREASING

SNMP agent faced OID cycling reporning non-increasing OID while executing (BULK)WALK command. This indicates bogus remote SNMP agent.

SNMP::ERRNO_OID_PARSING_ERROR

Library failed while parsing OID (and/or type for SET command). No queries has been made.

SNMP::ERRNO_MULTIPLE_SET_QUERIES

Library will use multiple queries for SET operation requested. That means that operation will be performed in a non-transaction manner and second or subsequent chunks may fail if a type or value failure will be faced.

SNMP::ERRNO_ANY

All SNMP::ERRNO_* codes bitwise OR'ed.

SNMP Protocol Versions

SNMP::VERSION_1

SNMP::VERSION_2C, SNMP::VERSION_2c

SNMP::VERSION_3

Índice

  • SNMP::close — Close SNMP session
  • SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent
  • SNMP::get — Fetch an SNMP object
  • SNMP::getErrno — Get last error code
  • SNMP::getError — Get last error message
  • SNMP::getnext — Fetch an SNMP object which follows the given object id
  • SNMP::set — Set the value of an SNMP object
  • SNMP::setSecurity — Configures security-related SNMPv3 session parameters
  • SNMP::walk — Fetch SNMP object subtree


Close SNMP session

  • « SNMP
  • SNMP::__construct »
  • PHP Manual
  • SNMP
  • Close SNMP session

SNMP::close

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::close — Close SNMP session

Descrição

public SNMP::close ( ) : bool

Frees previously allocated SNMP session object.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 SNMP::close() example

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  # ...
  # get, walk, etc goes here
  # ...
  $session->close();
?>

Veja Também

  • SNMP::__construct() - Creates SNMP instance representing session to remote SNMP agent


Creates SNMP instance representing session to remote SNMP agent

  • « SNMP::close
  • SNMP::get »
  • PHP Manual
  • SNMP
  • Creates SNMP instance representing session to remote SNMP agent

SNMP::__construct

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent

Descrição

public SNMP::__construct ( int $version , string $hostname , string $community , int $timeout = -1 , int $retries = -1 )

The function description goes here.

Parâmetros

version

SNMP protocol version:
SNMP::VERSION_1,
SNMP::VERSION_2C,
SNMP::VERSION_3.

hostname

The SNMP agent. hostname may be suffixed with optional SNMP agent port after colon. IPv6 addresses must be enclosed in square brackets if used with port. If FQDN is used for hostname it will be resolved by php-snmp library, not by Net-SNMP engine. Usage of IPv6 addresses when specifying FQDN may be forced by enclosing FQDN into square brackets. Here it is some examples:

IPv4 with default port | 127.0.0.1
IPv6 with default port | ::1 or [::1]
IPv4 with specific port | 127.0.0.1:1161
IPv6 with specific port | [::1]:1161
FQDN with default port | host.domain
FQDN with specific port | host.domain:1161
FQDN with default port, force usage of IPv6 address | [host.domain]
FQDN with specific port, force usage of IPv6 address | [host.domain]:1161

community

The purpuse of community is SNMP version specific:

SNMP::VERSION_1 | SNMP community
SNMP::VERSION_2C | SNMP community
SNMP::VERSION_3 | SNMPv3 securityName
timeout

The number of microseconds until the first timeout.

retries

The number of retries in case timeout occurs.

Valor Retornado

Returns SNMP object representing remote SNMP agent.

Erros

SNMP::__construct() throws an exception when parameters count or types are wrong or unknown SNMP protocol version specified.

Exemplos

Exemplo #1 Fetching sysLocation

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $sysdescr = $session->get("sysDescr.0");
  echo "$sysdescr\n";
?>

O exemplo acima irá imprimir algo similar à:

STRING: Test server

Veja Também

  • SNMP::close() - Close SNMP session


Fetch an SNMP object

  • « SNMP::__construct
  • SNMP::getErrno »
  • PHP Manual
  • SNMP
  • Fetch an SNMP object

SNMP::get

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::get — Fetch an SNMP object

Descrição

public SNMP::get ( array|string $objectId , bool $preserveKeys = false ) : array|bool

Fetch an SNMP object specified in objectId using GET query.

Parâmetros

If objectId is a string, then SNMP::get() will return SNMP object as string. If objectId is a array, all requested SNMP objects will be returned as associative array of the SNMP object ids and their values.

objectId

The SNMP object (OID) or objects

preserveKeys

When objectId is a array and preserveKeys set to true keys in results will be taken exactly as in objectId, otherwise SNMP::oid_output_format property is used to determinate the form of keys.

Valor Retornado

Returns SNMP objects requested as string or array depending on objectId type or false on error.

Erros

Esse método não lança nenhuma exceção por padrão. Para ativar o lançamento de exceções SNMPException quando algum erro ocorrer, o parâmetro exceptions_enabled deve ser configurado. Veja SNMP::$exceptions_enabledessa explicação para mais detalhes.

Exemplos

Exemplo #1 Single SNMP object

Single SNMP object may be requested in two ways: as string resulting string return value or as single-element array with associative array as output.

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $sysdescr = $session->get("sysDescr.0");
  echo "$sysdescr\n";
  $sysdescr = $session->get(array("sysDescr.0"));
  print_r($sysdescr);
?>

O exemplo acima irá imprimir algo similar à:

STRING: Test server
Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
)

Exemplo #2 Multiple SNMP objects

$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $results = $session->get(array("sysDescr.0", "sysName.0"));
  print_r($results);
  $session->close();

O exemplo acima irá imprimir algo similar à:

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysName.0] => STRING: myhost.nodomain
)

Veja Também

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Get last error message


Get last error code

  • « SNMP::get
  • SNMP::getError »
  • PHP Manual
  • SNMP
  • Get last error code

SNMP::getErrno

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::getErrno — Get last error code

Descrição

public SNMP::getErrno ( ) : int

Returns error code from last SNMP request.

Valor Retornado

Returns one of SNMP error code values described in constants chapter.

Exemplos

Exemplo #1 SNMP::getErrno() example

<?php
$session = new SNMP(SNMP::VERSION_2c, '127.0.0.1', 'boguscommunity');
var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->getErrno() == SNMP::ERRNO_TIMEOUT);
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)

Veja Também

  • SNMP::getError() - Get last error message


Get last error message

  • « SNMP::getErrno
  • SNMP::getnext »
  • PHP Manual
  • SNMP
  • Get last error message

SNMP::getError

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::getError — Get last error message

Descrição

public SNMP::getError ( ) : string

Returns string with error from last SNMP request.

Valor Retornado

String describing error from last SNMP request.

Exemplos

Exemplo #1 SNMP::getError() example

<?php
$session = new SNMP(SNMP::VERSION_2c, '127.0.0.1', 'boguscommunity');
var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->getError());
?>

O exemplo acima irá imprimir:

bool(false)
string(26) "No response from 127.0.0.1"

Veja Também

  • SNMP::getErrno() - Get last error code


Fetch an SNMP object which follows the given object id

  • « SNMP::getError
  • SNMP::set »
  • PHP Manual
  • SNMP
  • Fetch an SNMP object which follows the given object id

SNMP::getnext

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::getnext — Fetch an SNMP object which follows the given object id

Descrição

public SNMP::getnext ( array|string $objectId ) : array|bool

Fetch an SNMP object that follows specified objectId.

Parâmetros

If objectId is a string, then SNMP::getnext() will return SNMP object as string. If objectId is a array, all requested SNMP objects will be returned as associative array of the SNMP object ids and their values.

objectId

The SNMP object (OID) or objects

Valor Retornado

Returns SNMP objects requested as string or array depending on objectId type or false on error.

Erros

Esse método não lança nenhuma exceção por padrão. Para ativar o lançamento de exceções SNMPException quando algum erro ocorrer, o parâmetro exceptions_enabled deve ser configurado. Veja SNMP::$exceptions_enabledessa explicação para mais detalhes.

Exemplos

Exemplo #1 Single SNMP object

Single SNMP object may be requested in two ways: as string resulting string return value or as single-element array with associative array as output.

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $nsysdescr = $session->getnext("sysDescr.0");
  echo "$nsysdescr\n";
  $nsysdescr = $session->getnext(array("sysDescr.0"));
  print_r($nsysdescr);
?>

O exemplo acima irá imprimir algo similar à:

OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
Array
(
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
)

Exemplo #2 Miltiple SNMP objects

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $results = $session->getnext(array("sysDescr.0", "sysName.0"));
  print_r($results);
  $session->close();
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
    [SNMPv2-MIB::sysLocation.0] => STRING: Nowhere
)

Veja Também

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Get last error message


Set the value of an SNMP object

  • « SNMP::getnext
  • SNMP::setSecurity »
  • PHP Manual
  • SNMP
  • Set the value of an SNMP object

SNMP::set

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::set — Set the value of an SNMP object

Descrição

public SNMP::set ( array|string $objectId , array|string $type , array|string $value ) : array|bool

Requests remote SNMP agent setting the value of one or more SNMP objects specified by the objectId.

Parâmetros

If objectId is string, both type and value must be string too. If objectId is array value must be equal-sized array containing corresponding values, type may be either string (it's value will be used for all objectId-value pairs) or equal-sized array with per-OID value. When any other parameters' combinations are used, a number of E_WARNING messages may be shown with detailed description.

objectId

The SNMP object id

When count of OIDs in object_id array is greater than max_oids object property set method will have to use multiple queries to perform requested value updates. In this case type and value checks are made per-chunk so second or subsequent requests may fail due to wrong type or value for OID requested. To mark this a warning is raised when count of OIDs in object_id array is greater than max_oids.

type

O MIB define o tipo de cada id de objeto. Pode ser um caractere da lista abaixo.

types
= Lista de MIBs id
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

Se OPAQUE_SPECIAL_TYPES foi definido durante a compilação da biblioteca SNMP, os seguintes também são válidos:

types
U | unsigned int64
I | signed int64
F | float
D | double

A maioria dos tipos tem correspondentes óbvios com tipos ASN.1. 's', 'x', 'd' e 'b' são modos diferentes de especificar um valor OCTET STRING e 'u' também é utilizado para manipular valores Gauge32.

Se MIB-Files foi carregado na árvore MIB com "snmp_read_mib" ou por especificá-lo na configuração do libsnmp, '=' pode ser utilizado como parâmetro type para todos os identificadores de objeto que podem ser lidos automaticamente do MIB.

Note que há duas maneiras de configurar o tipo BITS, assim: "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Utilizando "b" e uma lista de bits. Esse método não é recomendado desde que requisições GET para o mesmo OID pode retornar algo com 0xF8.
  • Utilizando "x" e um número hex sem (!) o prefixo "0x".

Veja a seção de exemplo para mais detalhes.

value

The new value.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Esse método não lança nenhuma exceção por padrão. Para ativar o lançamento de exceções SNMPException quando algum erro ocorrer, o parâmetro exceptions_enabled deve ser configurado. Veja SNMP::$exceptions_enabledessa explicação para mais detalhes.

Exemplos

Exemplo #1 Set single SNMP object id

<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set('SNMPv2-MIB::sysContact.0', 's', "Nobody");
?>

Exemplo #2 Set multiple values using single SNMP::set() call

<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), array('s', 's'), array("Nobody", "Nowhere"));
// or
  $session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), 's', array("Nobody", "Nowhere"));
?>

Exemplo #3 Using SNMP::set() for setting BITS SNMP object id

<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set('FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  $session->set('FOO-MIB::bar.42', 'x', 'F0');
?>

Veja Também

  • SNMP::get() - Fetch an SNMP object


Configures security-related SNMPv3 session parameters

  • « SNMP::set
  • SNMP::walk »
  • PHP Manual
  • SNMP
  • Configures security-related SNMPv3 session parameters

SNMP::setSecurity

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::setSecurity — Configures security-related SNMPv3 session parameters

Descrição

public SNMP::setSecurity
 ( string $securityLevel
, string $authProtocol = ""
, string $authPassphrase = ""
, string $privacyProtocol = ""
, string $privacyPassphrase = ""
, string $contextName = ""
, string $contextEngineId = ""
) : bool

setSecurity configures security-related session parameters used in SNMP protocol version 3

Parâmetros

securityLevel

the security level (noAuthNoPriv|authNoPriv|authPriv)

authProtocol

the authentication protocol (MD5 or SHA)

authPassphrase

the authentication pass phrase

privacyProtocol

the privacy protocol (DES or AES)

privacyPassphrase

the privacy pass phrase

contextName

the context name

contextEngineId

the context EngineID

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 SNMP::setSecurity() example

<?php
  $session = new SNMP(SNMP::VERSION_3, $hostname, $rwuser, $timeout, $retries);
  $session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass, '', 'aeeeff');
?>

Veja Também

  • SNMP::__construct() - Creates SNMP instance representing session to remote SNMP agent


Fetch SNMP object subtree

  • « SNMP::setSecurity
  • SNMPException »
  • PHP Manual
  • SNMP
  • Fetch SNMP object subtree

SNMP::walk

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::walk — Fetch SNMP object subtree

Descrição

public SNMP::walk ( array|string $objectId , bool $suffixAsKey = false , int $maxRepetitions = -1 , int $nonRepeaters = -1 ) : array|bool

SNMP::walk() is used to read SNMP subtree rooted at specified objectId.

Parâmetros

objectId

Root of subtree to be fetched

suffixAsKey

By default full OID notation is used for keys in output array. If set to true subtree prefix will be removed from keys leaving only suffix of object_id.

nonRepeaters

This specifies the number of supplied variables that should not be iterated over. The default is to use this value from SNMP object.

maxRepetitions

This specifies the maximum number of iterations over the repeating variables. The default is to use this value from SNMP object.

Valor Retornado

Returns an associative array of the SNMP object ids and their values on success or false on error. When a SNMP error occures SNMP::getErrno() and SNMP::getError() can be used for retrieving error number (specific to SNMP extension, see class constants) and error message respectively.

Erros

Esse método não lança nenhuma exceção por padrão. Para ativar o lançamento de exceções SNMPException quando algum erro ocorrer, o parâmetro exceptions_enabled deve ser configurado. Veja SNMP::$exceptions_enabledessa explicação para mais detalhes.

Exemplos

Exemplo #1 SNMP::walk() example

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $fulltree = $session->walk(".");
  print_r($fulltree);
  $session->close();
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
    [DISMAN-EVENT-MIB::sysUpTimeInstance] => Timeticks: (1150681750) 133 days, 4:20:17.50
    [SNMPv2-MIB::sysContact.0] => STRING: Nobody
    [SNMPv2-MIB::sysName.0] => STRING: server.localdomain
    ...
)

Exemplo #2 suffixAsKey example

suffixAsKey may be used when merging multiple SNMP subtrees into one. This example maps interface names to their type.

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $session->valueretrieval = SNMP_VALUE_PLAIN;
  $ifDescr = $session->walk(".1.3.6.1.2.1.2.2.1.2", TRUE);
  $session->valueretrieval = SNMP_VALUE_LIBRARY;
  $ifType = $session->walk(".1.3.6.1.2.1.2.2.1.3", TRUE);
  print_r($ifDescr);
  print_r($ifType);
  $result = array();
  foreach($ifDescr as $i => $n) {
    $result[$n] = $ifType[$i];
  }
  print_r($result);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [1] => igb0
    [2] => igb1
    [3] => ipfw0
    [4] => lo0
    [5] => lagg0
)
Array
(
    [1] => INTEGER: ieee8023adLag(161)
    [2] => INTEGER: ieee8023adLag(161)
    [3] => INTEGER: ethernetCsmacd(6)
    [4] => INTEGER: softwareLoopback(24)
    [5] => INTEGER: ethernetCsmacd(6)
)
Array
(
    [igb0] => INTEGER: ieee8023adLag(161)
    [igb1] => INTEGER: ieee8023adLag(161)
    [ipfw0] => INTEGER: ethernetCsmacd(6)
    [lo0] => INTEGER: softwareLoopback(24)
    [lagg0] => INTEGER: ethernetCsmacd(6)
)

Veja Também

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Get last error message


The SNMPException class

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Introdução

Represents an error raised by SNMP. You should not throw a SNMPException from your own code. See Exceptions for more information about Exceptions in PHP.

Sinopse da classe

SNMPException extends RuntimeException {
/* Propriedades */
protected string $code ;
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Propriedades

code

SNMPlibrary error code. Use Exception::getCode() to access it.


Sockets

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Socket Errors
  • Funções para Socket
    • socket_accept — Aceita uma conexão com um socket
    • socket_addrinfo_bind — Create and bind to a socket from a given addrinfo
    • socket_addrinfo_connect — Create and connect to a socket from a given addrinfo
    • socket_addrinfo_explain — Get information about addrinfo
    • socket_addrinfo_lookup — Get array with contents of getaddrinfo about the given hostname
    • socket_bind — Passa um nome para o socket
    • socket_clear_error — Limpa o erro no socket ou o último código de erro
    • socket_close — Fecha um socket resource
    • socket_cmsg_space — Calculate message buffer size
    • socket_connect — Inicializa uma conexão em um socket
    • socket_create_listen — Abre uma porta do socket para aceitar conexões
    • socket_create_pair — Cria um par de sockets irreconhecíveis e armazena-os no fds.
    • socket_create — Cria um socket (endpoint para comunicação)
    • socket_export_stream — Export a socket into a stream that encapsulates a socket
    • socket_get_option — Pega opções de socket para o socket
    • socket_getopt — Sinônimo de socket_get_option
    • socket_getpeername — Pergunta ao lado remoto do socket dado qual deve ser o resultado em host/port ou no endereço UNIX filesystem, dependendo deste tipo.
    • socket_getsockname — Pergunta o lado local dado do socket no qual deve retornar resultados no host/port ou no endereço UNIX filesystem, dependendo do tipo.
    • socket_import_stream — Import a stream
    • socket_last_error — Retorna o último erro no socket
    • socket_listen — Abre escuta para uma conexão no socket
    • socket_read — Lê um comprimento máximo de bytes de um socket
    • socket_recv — Recebe dados de um socket conectado
    • socket_recvfrom — Recebe dados de um socket, conectado ou não
    • socket_recvmsg — Read a message
    • socket_select — Executa a chamada de sistema select() nos arrays dados de sockets com um timeout especificado
    • socket_send — Envia dados para um socket conectado
    • socket_sendmsg — Send a message
    • socket_sendto — Envia uma mensagem para o socket, se estiver conectado ou não
    • socket_set_block — Configura o modo bloqueio em um socket resource
    • socket_set_nonblock — Configura o modo nonblocking para o arquivo de descrição fd
    • socket_set_option — Configura opções de socket para o socket
    • socket_setopt — Sinônimo de socket_set_option
    • socket_shutdown — Fecha um socket para receber, enviar dados ou ambos.
    • socket_strerror — Retorna uma string descrevendo o erro do socket
    • socket_write — Escreve em um socket
    • socket_wsaprotocol_info_export — Exports the WSAPROTOCOL_INFO Structure
    • socket_wsaprotocol_info_import — Imports a Socket from another Process
    • socket_wsaprotocol_info_release — Releases an exported WSAPROTOCOL_INFO Structure


Introdução

A extensão socket implementa uma interface de baixo nível para funções de comunicação sockets baseadas no popular BSD sockets, disponibilizando acionar como um servidor socket ou como um cliente.

Para saber mais informações sobre sockets cliente-servidor, veja
stream_socket_client(),
stream_socket_server(),
fsockopen(), e
pfsockopen().

Quando usando estas funções, é importante relembrar que enquanto muitas delas tem nomes idênticos equivalentes em C, eles tem frequentemente declarações diferentes. Por favor tenha certeza lendo as descrições para evitar confusão.

Aqueles não familiarizados com programação usando socket podem encontrar muito material útil nas "man pages" de Unix, e há uma infinidade de tutoriais com informações usando socket em C na web, muito dos quais podem ser aplicados, com pequenas modificações, para programação usando socket em PHP. O » UNIX Socket FAQ pode ser um bom começo.

Nota:

Esta extensão foi movida para o repositório » PECL e não é mais incluída como parte do PHP.5.3.0.


Instalação

As funções de socket descritas aqui fazem parte de uma extensão do PHP que deve ser habilitada na hora de compilar adicionando a opção --enable-sockets à linha de comando configure.

Nota: O suporte ao IPv6 foi adicionado no PHP 5.0.0.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

socket_accept(),
socket_create_listen() e
socket_create() retorna resources de socket.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

AF_UNIX (integer)
AF_INET (integer)
AF_INET6 (integer)
SOCK_STREAM (integer)
SOCK_DGRAM (integer)
SOCK_RAW (integer)
SOCK_SEQPACKET (integer)
SOCK_RDM (integer)
MSG_OOB (integer)
MSG_WAITALL (integer)
MSG_PEEK (integer)
MSG_DONTROUTE (integer)
MSG_EOR (integer)
MSG_EOF (integer)
SO_DEBUG (integer)
SO_REUSEADDR (integer)
SO_KEEPALIVE (integer)
SO_DONTROUTE (integer)
SO_LINGER (integer)
SO_BROADCAST (integer)
SO_OOBINLINE (integer)
SO_SNDBUF (integer)
SO_RCVBUF (integer)
SO_SNDLOWAT (integer)
SO_RCVLOWAT (integer)
SO_SNDTIMEO (integer)
SO_RCVTIMEO (integer)
SO_TYPE (integer)
SO_ERROR (integer)
SOL_SOCKET (integer)
PHP_NORMAL_READ (integer)
PHP_BINARY_READ (integer)
SOL_TCP (integer)
SOL_UDP (integer)


Exemplos

Exemplo #1 Exemplo de socket: Simples servidor TCP/IP

Este exemplo mostra uma simples troca de informações do servidor. Alterar as variáveis address e port para o conjunto da sua configuração e execução. Você deve então conectar o servidor com uma linha de comando similiar a: telnet 192.168.1.53 10000 (onde o endereço e a porta partem da sua configuração). Algo que você digitar então irá sair no lado do servidor, e mostrar isso para você. Para desconectar, digite 'quit'.

#!/usr/local/bin/php -q
<?php
error_reporting(E_ALL);

/* Allow the script to hang around waiting for connections. */
set_time_limit(0);

/* Turn on implicit output flushing so we see what we're getting
 * as it comes in. */
ob_implicit_flush();

$address = '192.168.1.53';
$port = 10000;

if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
}

if (socket_bind($sock, $address, $port) === false) {
    echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}

if (socket_listen($sock, 5) === false) {
    echo "socket_listen() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}

do {
    if (($msgsock = socket_accept($sock)) === false) {
        echo "socket_accept() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
        break;
    }
    /* Send instructions. */
    $msg = "\nWelcome to the PHP Test Server. \n" .
        "To quit, type 'quit'. To shut down the server type 'shutdown'.\n";
    socket_write($msgsock, $msg, strlen($msg));

    do {
        if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ))) {
            echo "socket_read() failed: reason: " . socket_strerror(socket_last_error($msgsock)) . "\n";
            break 2;
        }
        if (!$buf = trim($buf)) {
            continue;
        }
        if ($buf == 'quit') {
            break;
        }
        if ($buf == 'shutdown') {
            socket_close($msgsock);
            break 2;
        }
        $talkback = "PHP: You said '$buf'.\n";
        socket_write($msgsock, $talkback, strlen($talkback));
        echo "$buf\n";
    } while (true);
    socket_close($msgsock);
} while (true);

socket_close($sock);
?>

Exemplo #2 Exemplo de Socket: Simples cliente TCP/IP

Este exemplo mostra um simples, one-shot cliente HTTP. Isso simplesmente conecta à uma página, envia um cabeçalho de requisição, mostra a resposta, e sai.

<?php
error_reporting(E_ALL);

echo "<h2>TCP/IP Connection</h2>\n";

/* Get the port for the WWW service. */
$service_port = getservbyname('www', 'tcp');

/* Get the IP address for the target host. */
$address = gethostbyname('www.example.com');

/* Create a TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}

echo "Attempting to connect to '$address' on port '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "OK.\n";
}

$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';

echo "Sending HTTP HEAD request...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";

echo "Reading response:\n\n";
while ($out = socket_read($socket, 2048)) {
    echo $out;
}

echo "Closing socket...";
socket_close($socket);
echo "OK.\n\n";
?>


Socket Errors

A extensão socket foi escrita para disponibilizar uma interface útil e poderosa para sockets BSD. Tem-se notado que as funções funcionam igualmente bem em Win32 e Unix. Quase todas as funções de sockets devem falhar sob certas condições e portanto emite uma mensagem E_WARNING descrevendo o erro. De vez em quando isso não acontece para desespero do desenvolvedor. Por exemplo a função socket_read() deve de repente emitir uma mensagem E_WARNING porque a conexão foi quebrada inesperadamente. É comum esconder as mensagens de warning com o operador @ e pegar o código de erro dentro da aplicação com a função socket_last_error(). Você deve chamar a função socket_strerror() com esse código de erro para retornar uma string descrevendo o erro. Veja sua descrição para mais informações.

Nota:

A mensagem de E_WARNING gerada pela extensão socket estão em inglês dificilmente a mensagem de erro retornada ira aparecer correto dependendo da localidade padrão (LC_MESSAGES):

Warning - socket_bind() unable to bind address [98]: Die Adresse wird bereits verwendet


Funções para Socket

Índice

  • socket_accept — Aceita uma conexão com um socket
  • socket_addrinfo_bind — Create and bind to a socket from a given addrinfo
  • socket_addrinfo_connect — Create and connect to a socket from a given addrinfo
  • socket_addrinfo_explain — Get information about addrinfo
  • socket_addrinfo_lookup — Get array with contents of getaddrinfo about the given hostname
  • socket_bind — Passa um nome para o socket
  • socket_clear_error — Limpa o erro no socket ou o último código de erro
  • socket_close — Fecha um socket resource
  • socket_cmsg_space — Calculate message buffer size
  • socket_connect — Inicializa uma conexão em um socket
  • socket_create_listen — Abre uma porta do socket para aceitar conexões
  • socket_create_pair — Cria um par de sockets irreconhecíveis e armazena-os no fds.
  • socket_create — Cria um socket (endpoint para comunicação)
  • socket_export_stream — Export a socket into a stream that encapsulates a socket
  • socket_get_option — Pega opções de socket para o socket
  • socket_getopt — Sinônimo de socket_get_option
  • socket_getpeername — Pergunta ao lado remoto do socket dado qual deve ser o resultado em host/port ou no endereço UNIX filesystem, dependendo deste tipo.
  • socket_getsockname — Pergunta o lado local dado do socket no qual deve retornar resultados no host/port ou no endereço UNIX filesystem, dependendo do tipo.
  • socket_import_stream — Import a stream
  • socket_last_error — Retorna o último erro no socket
  • socket_listen — Abre escuta para uma conexão no socket
  • socket_read — Lê um comprimento máximo de bytes de um socket
  • socket_recv — Recebe dados de um socket conectado
  • socket_recvfrom — Recebe dados de um socket, conectado ou não
  • socket_recvmsg — Read a message
  • socket_select — Executa a chamada de sistema select() nos arrays dados de sockets com um timeout especificado
  • socket_send — Envia dados para um socket conectado
  • socket_sendmsg — Send a message
  • socket_sendto — Envia uma mensagem para o socket, se estiver conectado ou não
  • socket_set_block — Configura o modo bloqueio em um socket resource
  • socket_set_nonblock — Configura o modo nonblocking para o arquivo de descrição fd
  • socket_set_option — Configura opções de socket para o socket
  • socket_setopt — Sinônimo de socket_set_option
  • socket_shutdown — Fecha um socket para receber, enviar dados ou ambos.
  • socket_strerror — Retorna uma string descrevendo o erro do socket
  • socket_write — Escreve em um socket
  • socket_wsaprotocol_info_export — Exports the WSAPROTOCOL_INFO Structure
  • socket_wsaprotocol_info_import — Imports a Socket from another Process
  • socket_wsaprotocol_info_release — Releases an exported WSAPROTOCOL_INFO Structure


Aceita uma conexão com um socket

  • « Funções para Socket
  • socket_addrinfo_bind »
  • PHP Manual
  • Funções para Socket
  • Aceita uma conexão com um socket

socket_accept

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_accept — Aceita uma conexão com um socket

Descrição

socket_accept ( resource $socket ) : resource

Após o socket socket ter sido criado usando socket_create(), passar um nome com socket_bind(), e dizer para listar conexões com socket_listen(), essa função irá aceitar conexões vindas neste socket. Uma vez que uma conexão com sucesso é feita, um novo "resource" do socket é retornado, que deve ser usado para comunicação. Se há múltiplas conexões na fila do socket, a primeira irá ser usada. Se não há conexões pendentes, socket_accept() irá bloquear até que uma conexão esteja presente. Se socket não for desbloqueado usando socket_set_blocking() ou socket_set_nonblock(), irá retornar false.

O socket resource retornado por socket_accept() não deve ser usado para aceitar novas conexões. A escuta original, socket, de qualquer modo, permanecer aberta e deve ser reutilizada.

Parâmetros

socket

Um válido resource de socket criado com socket_create().

Valor Retornado

Returns a new socket resource on success, or false on error. The actual error code can be retrieved by calling socket_last_error(). This error code may be passed to socket_strerror() para pegar uma explicação textual do erro.

Veja Também

  • socket_connect() - Inicializa uma conexão em um socket
  • socket_listen() - Abre escuta para uma conexão no socket
  • socket_create() - Cria um socket (endpoint para comunicação)
  • socket_bind() - Passa um nome para o socket
  • socket_strerror() - Retorna uma string descrevendo o erro do socket


Create and bind to a socket from a given addrinfo

  • « socket_accept
  • socket_addrinfo_connect »
  • PHP Manual
  • Funções para Socket
  • Create and bind to a socket from a given addrinfo

socket_addrinfo_bind

(PHP 7 >= 7.2.0, PHP 8)

socket_addrinfo_bind — Create and bind to a socket from a given addrinfo

Descrição

socket_addrinfo_bind ( AddressInfo $address ) : Socket|false

Create a Socket instance, and bind it to the provided AddressInfo. The return value of this function may be used with socket_listen().

Parâmetros

address

AddressInfo instance created from socket_addrinfo_lookup().

Valor Retornado

Returns a Socket instance on success or false on failure.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns a Socket instance now; previously, a resource was returned.
8.0.0 | address is an AddressInfo instance now; previously, it was a resource.

Veja Também

  • socket_addrinfo_connect() - Create and connect to a socket from a given addrinfo
  • socket_addrinfo_explain() - Get information about addrinfo
  • socket_addrinfo_lookup() - Get array with contents of getaddrinfo about the given hostname
  • socket_listen() - Abre escuta para uma conexão no socket


Create and connect to a socket from a given addrinfo

  • « socket_addrinfo_bind
  • socket_addrinfo_explain »
  • PHP Manual
  • Funções para Socket
  • Create and connect to a socket from a given addrinfo

socket_addrinfo_connect

(PHP 7 >= 7.2.0, PHP 8)

socket_addrinfo_connect — Create and connect to a socket from a given addrinfo

Descrição

socket_addrinfo_connect ( AddressInfo $address ) : Socket|false

Create a Socket instance, and connect it to the provided AddressInfo instance. The return value of this function may be used with the rest of the socket functions.

Parâmetros

address

AddressInfo instance created from socket_addrinfo_lookup()

Valor Retornado

Returns a Socket instance on success or false on failure.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns a Socket instance now; previously, a resource was returned.
8.0.0 | address is an AddressInfo instance now; previously, it was a resource.

Veja Também

  • socket_addrinfo_bind() - Create and bind to a socket from a given addrinfo
  • socket_addrinfo_explain() - Get information about addrinfo
  • socket_addrinfo_lookup() - Get array with contents of getaddrinfo about the given hostname


Get information about addrinfo

  • « socket_addrinfo_connect
  • socket_addrinfo_lookup »
  • PHP Manual
  • Funções para Socket
  • Get information about addrinfo

socket_addrinfo_explain

(PHP 7 >= 7.2.0, PHP 8)

socket_addrinfo_explain — Get information about addrinfo

Descrição

socket_addrinfo_explain ( AddressInfo $address ) : array

socket_addrinfo_explain() exposed the underlying addrinfo structure.

Parâmetros

address

AddressInfo instance created from socket_addrinfo_lookup()

Valor Retornado

Returns an array containing the fields in the addrinfo structure.

Changelog

Versão | Descrição
8.0.0 | address is an AddressInfo instance now; previously, it was a resource.

Veja Também

  • socket_addrinfo_bind() - Create and bind to a socket from a given addrinfo
  • socket_addrinfo_connect() - Create and connect to a socket from a given addrinfo
  • socket_addrinfo_lookup() - Get array with contents of getaddrinfo about the given hostname


Get array with contents of getaddrinfo about the given hostname

  • « socket_addrinfo_explain
  • socket_bind »
  • PHP Manual
  • Funções para Socket
  • Get array with contents of getaddrinfo about the given hostname

socket_addrinfo_lookup

(PHP 7 >= 7.2.0, PHP 8)

socket_addrinfo_lookup — Get array with contents of getaddrinfo about the given hostname

Descrição

socket_addrinfo_lookup ( string $host , string|null $service = null , array $hints = [] ) : array|false

Lookup different ways we can connect to host. The returned array contains a set of AddressInfo instances that we can bind to using socket_addrinfo_bind().

Parâmetros

host

Hostname to search.

service

The service to connect to. If service is a name, it is translated to the corresponding port number.

hints

Hints provide criteria for selecting addresses returned. You may specify the hints as defined by getadrinfo.

Valor Retornado

Returns an array of AddressInfo instances that can be used with the other socket_addrinfo functions. On failure, false is returned.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns a array of AddressInfo instances now; previously, an array of resources was returned.
8.0.0 | service is nullable now.

Veja Também

  • socket_addrinfo_bind() - Create and bind to a socket from a given addrinfo
  • socket_addrinfo_connect() - Create and connect to a socket from a given addrinfo
  • socket_addrinfo_explain() - Get information about addrinfo


Passa um nome para o socket

  • « socket_addrinfo_lookup
  • socket_clear_error »
  • PHP Manual
  • Funções para Socket
  • Passa um nome para o socket

socket_bind

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_bind — Passa um nome para o socket

Descrição

socket_bind ( resource $socket , string $address , int $port = ? ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

socket_bind() passa o nome dado em address para o socket descrito por socket, que deve ser um resource socket válido criado com socket_create().

O parâmetro address é qualquer endereço IP na notação "dotted-quad" (ex. 127.0.0.1), se o socket é da família AF_INET; ou o pathname de um Unix-domain socket, se o socket é da família AF_UNIX.

O parâmetro port é somente usado quando estiver conectando com um socket AF_INET, e determina a porta no host remoto para o qual a conexão deve ser feita.

Retorna true em caso de sucesso ou false em caso de falha. O código de erro pode ser retornado com socket_last_error(). Esse código deve ser passado para socket_strerror() para pegar uma explicação textual do erro. Note que socket_last_error() é reportado para retornar um código de erro inválido no caso de você estar tentando passar um socket para um endereço errado que não pertence à sua máquina Windows 9x/ME.

Veja também
socket_connect(),
socket_listen(),
socket_create(),
socket_last_error() e
socket_strerror().


Limpa o erro no socket ou o último código de erro

  • « socket_bind
  • socket_close »
  • PHP Manual
  • Funções para Socket
  • Limpa o erro no socket ou o último código de erro

socket_clear_error

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

socket_clear_error — Limpa o erro no socket ou o último código de erro

Descrição

socket_clear_error ( resource $socket = ? ) : void

Essa função limpa o código de erro dado no socket ou o último erro de socket global se nenhum for especificado.

Essa função permite explicitamente resetar qualquer valor do código de erro do socket ou da extensão global do último código de erro. Isso deve ser útil para detectar dentro de uma parte da aplicação se um erro ocorreu ou não.

Parâmetros

socket

Um válido resource de socket criado com socket_create().

Valor Retornado

Não há valor retornado.

Veja Também

  • socket_last_error() - Retorna o último erro no socket
  • socket_strerror() - Retorna uma string descrevendo o erro do socket


Fecha um socket resource

  • « socket_clear_error
  • socket_cmsg_space »
  • PHP Manual
  • Funções para Socket
  • Fecha um socket resource

socket_close

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_close — Fecha um socket resource

Descrição

socket_close ( resource $socket ) : void
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

socket_close() fecha o socket resource dado por socket.

Nota:

socket_close() não pode ser usado  em arquivos PHP file resources
criados com fopen(), popen(),
fsockopen(), ou pfsockopen(); isso serve
parapara sockets criados com socket_create() ou
socket_accept().

Veja também socket_bind(), socket_listen(),
socket_create() e
socket_strerror().


Calculate message buffer size

  • « socket_close
  • socket_connect »
  • PHP Manual
  • Funções para Socket
  • Calculate message buffer size

socket_cmsg_space

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

socket_cmsg_space — Calculate message buffer size

Descrição

socket_cmsg_space ( int $level , int $type , int $num = 0 ) : int|null

Calculates the size of the buffer that should be allocated for receiving the ancillary data.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

level

type

Valor Retornado

Veja Também

  • socket_recvmsg() - Read a message
  • socket_sendmsg() - Send a message


Inicializa uma conexão em um socket

  • « socket_cmsg_space
  • socket_create_listen »
  • PHP Manual
  • Funções para Socket
  • Inicializa uma conexão em um socket

socket_connect

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_connect — Inicializa uma conexão em um socket

Descrição

socket_connect ( resource $socket , string $address , int $port = ? ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Inicializa uma conexão usando o socket resource socket, que deve ser um válido socket resource criado com socket_create().

O parâmetro address é qualquer endereço IP na notação "dotted-quad" (ex. 127.0.0.1), se o socket é da família AF_INET; ou o pathname de um Unix-domain socket, se o socket é da família AF_UNIX.

O parâmetro port é somente usado quando estiver conectando com um socket AF_INET, e determina a porta no host remoto para o qual a conexão deve ser feita.

Retorna true em caso de sucesso ou false em caso de falha. O código de erro pode ser retornado com socket_last_error(). Esse código deve ser passado para socket_strerror() para pegar uma explicação textual do erro.

Veja também
socket_bind(),
socket_listen(),
socket_create(),
socket_last_error() e
socket_strerror().


Abre uma porta do socket para aceitar conexões

  • « socket_connect
  • socket_create_pair »
  • PHP Manual
  • Funções para Socket
  • Abre uma porta do socket para aceitar conexões

socket_create_listen

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_create_listen — Abre uma porta do socket para aceitar conexões

Descrição

socket_create_listen ( int $port , int $backlog = ? ) : resource
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Essa função significa facilidade na tarefa de criação de um novo socket que esteja na escuta somente para aceitar novas conexões.

socket_create_listen() cria um novo socket resource do tipo AF_INET escutando all interfaces loacis na porta especificada esperando por novas conexões.

O parâmetro backlog define o comprimento máximo da fila de espera de conexões pendentes até onde ela deve crescer. SOMAXCONN deve ser passado como o parâmetro backlog, veja socket_listen() para maiores informações.

socket_create_listen() retorna um novo socket resource em caso de sucesso ou false em caso de erro. O código de erro pode ser retornado com socket_last_error(). Esse código deve ser passado para socket_strerror() para pegar uma explicação textual do erro.

Nota:

Se você quer criar um socket com somente escutas em certas interfaces você deve precisar usar socket_create(), socket_bind() e socket_listen().

Veja também
socket_create(),
socket_bind(),
socket_listen(),
socket_last_error() e
socket_strerror().


Cria um par de sockets irreconhecíveis e armazena-os no fds.

  • « socket_create_listen
  • socket_create »
  • PHP Manual
  • Funções para Socket
  • Cria um par de sockets irreconhecíveis e armazena-os no fds.

socket_create_pair

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_create_pair — Cria um par de sockets irreconhecíveis e armazena-os no fds.

Descrição

socket_create_pair ( int $domain , int $type , int $protocol , array $&fd ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Cria um socket (endpoint para comunicação)

  • « socket_create_pair
  • socket_export_stream »
  • PHP Manual
  • Funções para Socket
  • Cria um socket (endpoint para comunicação)

socket_create

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_create — Cria um socket (endpoint para comunicação)

Descrição

socket_create ( int $domain , int $type , int $protocol ) : resource

Cria e retorna um socket resource, também referenciado como um endpoint para comunicação. Uma conexão típica de rede é feita em cima de 2 sockets, um realizando o papel do cliente, e o outro realizando o papel de servidor.

O parâmetro domain especifica a família do protocolo para ser usado pelo socket.

Famílias disponíveis Endereços/Protocolos
Domínio | Descrição
AF_INET | IPv4 baseado nos protocolos de Internet. TCP e UDP são protocolos comuns dessa família de protocolos.
AF_INET6 | IPv6 baseado nos protocolos de Internet. TCP e UDP são protocolos comuns dessa família de protocolos. Suporta adicionado no PHP 5.0.0.
AF_UNIX | Família de protocolos de comunicação local. Alta eficiência e baixo sobrecarga fazem deste uma forte forma de IPC (Processos internos de comunicação).

O parâmetro type seleciona o tipo de comunicação para ser usado pelo socket.

Tipos de socket disponíveis
Tipo | Descrição
SOCK_STREAM | Fornece sequencial, seguro, e em ambos os sentidos, conexões baseadas em "byte streams". Dados "out-of-band" do mecanismo de transmissão devem ser suportados. O protocolo TCP é baseado neste tipo de socket.
SOCK_DGRAM | Suporta diagrama de dados (baixa conexão, mensagens inconfiáveis de um comprimento máximo fixo). O protocolo UDP protocol é baseado neste tipo de socket.
SOCK_SEQPACKET | Fornece um sequencial, seguro, e em duas direções de tipos de conexões para transmissão de dados endereçados para o diagrama de dados de comprimento máximo fixo; um consumidor é requerido para ler um pacote inteiro com cada chamada de leitura.
SOCK_RAW | Fornece um protocolo de rede de acesso rápido. Este tipo especial de socket pode ser usado manualmente para construir algum tipo de protocolo. Um uso comum para esse tipo de socket é desempenhar requisições ICMP (como ping, traceroute, etc).
SOCK_RDM | Fornece uma camada seguro que não garante ordenação. Isso é comumente não implementado no seu sistema operacional.

O parâmetro protocol configura o protocolo especificado dentro do domain especificado para ser usado quando houver comunicação de retorno com o socket. O valor da propriedade pode ser retornado pelo nome usando getprotobyname(). Se o protocolo desejado é TCP, ou UDP as constantes correspondentes são SOL_TCP, e SOL_UDP podem também ser usadas.

Protocolos comuns
Nome | Descrição
icmp | O protocolo de controle de mensagens internet "The Internet Control Message Protocol" é usado primariamente por gateways e hosts para reportar erros no diagrama de dados de comunicação. O comando "ping" (presente em muitos modernos sistemas operacionais) é um exemplo aplicado de ICMP.
udp | O protocolo de diagrama de dados de usuários "User Datagram Protocol" é de conexão baixa, inseguro, protocolo com comprimento fixo. Dois destes aspectos, UDP requer uma quantidade mínima de sobrecarga de protocolo.
tcp | O protocolo de controle de transmissão é uma conexão, seguro, fluxo orientado, e protocolo de ida e volta. TCP garante que todos os pacotes de dados irão ser recebidos na ordem que eles são enviados. Se algum pacote está perdido de alguma maneira durante a comunicação, TCP irá automaticamente retransmitir o pacote até que o host de destino reconheça aquele pacote. Por razões de segurança e performance, o TCP implementa nele próprio decisões apropriadas de limite de octetos do diagrama de dados abaixo da camada de comunicação. Portanto, aplicações TCP devem permitir para possibilidades de registro de transmissões.

socket_create() retorna um socket resource em caso de sucesso, ou false em caso de erro. O código de erro atual pode ser retornado chamando socket_last_error(). Esse código de erro deve ser passado para socket_strerror() para pegar uma explicação textual do erro.

Nota:

Se um inválido domain ou type é dado, socket_create() padrão é para AF_INET e SOCK_STREAM respectivamente e adicionamente emitem uma mensagem E_WARNING.

Veja também
socket_accept(),
socket_bind(),
socket_connect(),
socket_listen(),
socket_last_error(), e
socket_strerror().


Export a socket into a stream that encapsulates a socket

  • « socket_create
  • socket_get_option »
  • PHP Manual
  • Funções para Socket
  • Export a socket into a stream that encapsulates a socket

socket_export_stream

(PHP 7 >= 7.0.7, PHP 8)

socket_export_stream — Export a socket into a stream that encapsulates a socket

Descrição

socket_export_stream ( Socket $socket ) : resource|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

socket

Valor Retornado

Return resource ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | socket is a Socket instance now; previously, it was a resource.


Pega opções de socket para o socket

  • « socket_export_stream
  • socket_getopt »
  • PHP Manual
  • Funções para Socket
  • Pega opções de socket para o socket

socket_get_option

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

socket_get_option — Pega opções de socket para o socket

Descrição

socket_get_option ( resource $socket , int $level , int $optname ) : mixed
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Nota:

Essa função é para ser usada chamando socket_getopt() primeiramente para PHP 4.3.0


Sinônimo de socket_get_option

  • « socket_get_option
  • socket_getpeername »
  • PHP Manual
  • Funções para Socket
  • Sinônimo de socket_get_option

socket_getopt

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_getopt — Sinônimo de socket_get_option()

Descrição

Esta função é um apelido para: socket_get_option().


Pergunta ao lado remoto do socket dado qual deve ser o resultado em host/port ou no endereço UNIX filesystem, dependendo deste tipo.

  • « socket_getopt
  • socket_getsockname »
  • PHP Manual
  • Funções para Socket
  • Pergunta ao lado remoto do socket dado qual deve ser o resultado em host/port ou no endereço UNIX filesystem, dependendo deste tipo.

socket_getpeername

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_getpeername — Pergunta ao lado remoto do socket dado qual deve ser o resultado em host/port ou no endereço UNIX filesystem, dependendo deste tipo.

Descrição

socket_getpeername ( resource $socket , string $&addr , int $&port = ? ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Se o socket dado é do tipo AF_INET ou AF_INET6, socket_getpeername() irá retornar o peers (remote) IP address na notação apropriada (ex. 127.0.0.1 ou fe80::1) no parâmetro address e, se o parâmetro opcional port está presente, também o associa à porta.

Se o socket dado é do tipo AF_UNIX, socket_getpeername() irá retornar o endereço UNIX filesystem (ex. /var/run/daemon.sock) no parâmetro address.

Nota: socket_getpeername() não deve ser usado com sockets AF_UNIX criados com socket_accept(). Somente sockets criados com socket_connect() ou um socket de servidor primário seguindo uma chamada para socket_bind() irá retornar valores significativos.

Retorna true em caso de sucesso ou false em caso de falha. socket_getpeername() deve também retornar false se o tipo de socket não é algum destes AF_INET, AF_INET6, ou AF_UNIX, no caso o último código de erro do socket não é atualizado.

Veja também
socket_getsockname(),
socket_last_error() e
socket_strerror().


Pergunta o lado local dado do socket no qual deve retornar resultados no host/port ou no endereço UNIX filesystem, dependendo do tipo.

  • « socket_getpeername
  • socket_import_stream »
  • PHP Manual
  • Funções para Socket
  • Pergunta o lado local dado do socket no qual deve retornar resultados no host/port ou no endereço UNIX filesystem, dependendo do tipo.

socket_getsockname

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_getsockname — Pergunta o lado local dado do socket no qual deve retornar resultados no host/port ou no endereço UNIX filesystem, dependendo do tipo.

Descrição

socket_getsockname ( resource $socket , string $&addr , int $&port = ? ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Se o socket dado é do tipo AF_INET ou AF_INET6, socket_getsockname() irá retornar o endereço IP local IP address na notação apropriada (ex. 127.0.0.1 ou fe80::1) no parâmetro address e, se o parâmetro opcional port está presente, também associa-o à porta.

Se o socket dado é do tipo AF_UNIX, socket_getsockname() irá retornar o endereço UNIX filesystem (ex. /var/run/daemon.sock) no parâmetro address.

Nota: socket_getsockname() não deve ser usado com sockets AF_UNIX criados com socket_connect(). Somente sockets criados com socket_accept() ou sockets de servidores primários seguidos de uma chamada para socket_bind() irão retornar valores significativos.

Retorna true em caso de sucesso ou false em caso de falha. socket_getsockname() deve também retornar false se o tipo de socket não é algum destes AF_INET, AF_INET6, ou AF_UNIX, no caso o último código de erro do socket não é atualizado.

Veja também
socket_getpeername(),
socket_last_error() e
socket_strerror().


Import a stream

  • « socket_getsockname
  • socket_last_error »
  • PHP Manual
  • Funções para Socket
  • Import a stream

socket_import_stream

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

socket_import_stream — Import a stream

Descrição

socket_import_stream ( resource $stream ) : Socket|false

Imports a stream that encapsulates a socket into a socket extension resource.

Parâmetros

stream

The stream resource to import.

Valor Retornado

Returns false on failure.

Changelog

Versão | Descrição
8.0.0 | On success, this function returns a Socket instance now; previously, a resource was returned.

Exemplos

Exemplo #1 socket_import_stream() example

<?php
$stream = stream_socket_server("udp://0.0.0.0:58380", $errno, $errstr, STREAM_SERVER_BIND);
$sock   = socket_import_stream($stream);
?>

Veja Também

  • stream_socket_server() - Create an Internet or Unix domain server socket


Retorna o último erro no socket

  • « socket_import_stream
  • socket_listen »
  • PHP Manual
  • Funções para Socket
  • Retorna o último erro no socket

socket_last_error

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_last_error — Retorna o último erro no socket

Descrição

socket_last_error ( resource $socket = ? ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Essa função retorna um código de erro do socket.

Se o socket resource é passado para esta função, o último erro que ocorreu neste socket em particular é retornado. Se o socket resource é omitido, o código de erro da última falha na função de socket é retornado. O último é em particular útil como socket_create() que não retorna uma falha no socket e socket_select() que pode falhar por razões não diretamente vinculadas com um socket em particular. O código de erro é conveniente ser colocado para socket_strerror() que retorna uma string descrevendo o código de erro dado.

<?php
if (false == ($socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) {
    die("Couldn't create socket, error code is: " . socket_last_error() .
        ",error message is: " . socket_strerror(socket_last_error()));
}
?>

Nota:

socket_last_error() não limpa o código de erro, use socket_clear_error() para este propósito.


Abre escuta para uma conexão no socket

  • « socket_last_error
  • socket_read »
  • PHP Manual
  • Funções para Socket
  • Abre escuta para uma conexão no socket

socket_listen

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_listen — Abre escuta para uma conexão no socket

Descrição

socket_listen ( resource $socket , int $backlog = ? ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Após o socket socket ter sido criado usando socket_create() e associado para um nome com socket_bind(), ele deve dizer para aguardar por escuta em conexões que irão entrar socket.

Um máximo de backlog em conexões entrantes irão ser listadas para este processamento. Se uma requisição de conexão chegar com um limite de clientes devem receber um erro com uma identificação de ECONNREFUSED, ou, se o protocolo abaixo suporta retransmissão, a requisição deve ser ignorada de forma até serem bem sucedidas.

Nota:

O máximo número passado para o parâmetro backlog altamente dependente da plataforma abaixo. No linux, isso é silenciosamente truncado para SOMAXCONN. No win32, se passado SOMAXCONN, o disponibilizador de serviço abaixo responsável pelo socket irá configurar o backlog para o valor máximo reasonable. Não há uma condição para procurar o valor do backlog atual nesta plataforma.

socket_listen() é aplicável somente para sockets do tipo SOCK_STREAM ou SOCK_SEQPACKET.

Retorna true em caso de sucesso ou false em caso de falha. O código de erro pode ser retornado com socket_last_error(). Isso código deve ser passado para socket_strerror() para pegar uma explicação textual do erro.

Veja também
socket_accept(),
socket_bind(),
socket_connect(),
socket_create() e
socket_strerror().


Lê um comprimento máximo de bytes de um socket

  • « socket_listen
  • socket_recv »
  • PHP Manual
  • Funções para Socket
  • Lê um comprimento máximo de bytes de um socket

socket_read

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_read — Lê um comprimento máximo de bytes de um socket

Descrição

socket_read ( resource $socket , int $length , int $type = ? ) : string
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

A função socket_read() lê o socket resource socket criado pelas funções socket_create() ou socket_accept(). O número máximo de bytes lidos é especificado pelo parâmetro length. Caso contrário você pode usar \r, \n, uo \0 para finalizar a leitura (dependendo do parâmetro type, veja abaixo).

socket_read() retorna dados como uma string em caso de sucesso, ou false em caso de erro. O código de erro pode ser retornado com socket_last_error(). Esse código deve ser passado para socket_strerror() para pegar uma explicação textual do erro.

Nota:

socket_read() deve retornar uma string de comprimento zero ("") indicando o fim da comunicação (ex. o ponto final remoto encerra a conexão).

O parâmetro opcional type é usado com constantes:

  • PHP_BINARY_READ - usa a função do sistema read(). Seguro para leitura de dados binários. (Padrão no PHP >= 4.1.0)
  • PHP_NORMAL_READ - lê até o final em \n ou \r. (Padrão no PHP <= 4.0.6)

Veja também
socket_accept(),
socket_bind(),
socket_connect(),
socket_listen(),
socket_last_error(),
socket_strerror() e
socket_write().


Recebe dados de um socket conectado

  • « socket_read
  • socket_recvfrom »
  • PHP Manual
  • Funções para Socket
  • Recebe dados de um socket conectado

socket_recv

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_recv — Recebe dados de um socket conectado

Descrição

socket_recv ( resource $socket , string &$buf , int $len , int $flags ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Recebe dados de um socket, conectado ou não

  • « socket_recv
  • socket_recvmsg »
  • PHP Manual
  • Funções para Socket
  • Recebe dados de um socket, conectado ou não

socket_recvfrom

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_recvfrom — Recebe dados de um socket, conectado ou não

Descrição

socket_recvfrom ( resource $socket , string $&buf , int $len , int $flags , string $&name , int $&port = ? ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Read a message

  • « socket_recvfrom
  • socket_select »
  • PHP Manual
  • Funções para Socket
  • Read a message

socket_recvmsg

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

socket_recvmsg — Read a message

Descrição

socket_recvmsg ( Socket $socket , array &$message , int $flags = 0 ) : int|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

socket

message

flags

Valor Retornado

Changelog

Versão | Descrição
8.0.0 | socket is a Socket instance now; previously, it was a resource.

Veja Também

  • socket_sendmsg() - Send a message
  • socket_cmsg_space() - Calculate message buffer size


Executa a chamada de sistema select() nos arrays dados de sockets com um timeout especificado

  • « socket_recvmsg
  • socket_send »
  • PHP Manual
  • Funções para Socket
  • Executa a chamada de sistema select() nos arrays dados de sockets com um timeout especificado

socket_select

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_select — Executa a chamada de sistema select() nos arrays dados de sockets com um timeout especificado

Descrição

socket_select ( array $&read , array $&write , array $&except , int $tv_sec , int $tv_usec = ? ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

socket_select() aceita arrays de sockets e aguarda até que seu status seja alterado. Estes vem com "background" de sockets BSD irá reconhecer aquele array de socket resource são de fato a chamada ao arquivo descritor de configuração (fds). Três arrays independentes de socket resources são observados.

A lista de sockets no array read irá ser mostrada para ver se o caractere disponível anterior à leitura (mais precisamente, para ver se a leitura não está obstruída - em particular, um socket resource está também no fim-de-arquivo (EOF) , neste caso o socket_read() irá retornar uma string com comprimento zero.

A lista de sockets no array write irá ser visualizada para mostrar se não é uma escrita não está obstruída.

A lista de sockets no array except irá mostrar caso haja exceções.

Aviso

Na saída, os arrays são modificados para indicar qual socket resource atualmente alterou seu status.

Você não precisa passar cada array para socket_select(). Você pode deixá-los de fora e usar um array vazio ou null ao invés disso. Também não se esqueça que esses arrays são passados by reference e irão ser modificados após o retorno de socket_select().

Exemplo #1 Exemplo de socket_select()

<?php
/* Prepare the read array */
$read = array($socket1, $socket2);

$num_changed_sockets = socket_select($read, $write = NULL, $except = NULL, 0);

if ($num_changed_sockets === false) {
    /* Error handling */
} else if ($num_changed_sockets > 0) {
    /* At least at one of the sockets something interesting happened */
}
?>

Nota:

Devido a uma limitação no atual Zend Engine não é possível passar um modificador de constante como null diretamente como parâmetro para uma função que tem exceção para este parâmetro sendo passado por referência. Ao invés disso use uma variável temporária ou uma expressão com o leftmost member sendo uma variável temporária:

Exemplo #2 Usando null com socket_select()

<?php
socket_select($r, $w, $e = NULL, 0);
?>

O tv_sec e tv_usec juntos formam o parâmetro timeout. O timeout é o limite máximo da quantidade de tempo passado antes do retorno de socket_select(). tv_sec deve ser zero , causando o retorno imediato de socket_select(). Isso é útil para polling. Se tv_sec é null (sem timeout), socket_select() pode bloquear definitivamente.

Em caso de sucesso socket_select() retorna o número de socket resorces contidos nos arrays modificados, que deve ser zero se alguma coisa interessante acontecer antes do timeout expirar. Em caso de erro, false é retornado. O código do erro pode ser retornado com socket_last_error().

Nota:

Tenha certeza de usar o operador === quando checar por um erro. Desde de que socket_select() deve retornar 0 a comparação com == deve retornar true:

Exemplo #3 Entendendo resultados de socket_select()

<?php
if (false === socket_select($r, $w, $e = NULL, 0)) {
    echo "socket_select() failed, reason: " .
        socket_strerror(socket_last_error()) . "\n";
}
?>

Nota:

Esteja consciente que algumas implementações de sockets precisam ser manuseadas com muito cuidado. As regras básicas:

  • Você deve sempre tentar usar socket_select() sem timeout. Seu programa não deve fazer nada se não há dados disponíveis. Códigos que dependem de timeouts não são usualmente portáveis e dificultam o debug.
  • No socket resource deve ser adicionado alguma configuração se você não pretende checar o resultado após a chamada de socket_select(), e responder de forma apropriada. Após o retorno de socket_select(), todos os sockets resources em todos os arrays devem ser checados. Algum socket resource que está disponível para escrita deve ser escrito, e algum socket resource disponível para leitura deve ser lido.
  • Se você está lendo/escrevendo um retorno de socket em array esteja consciente que eles não necessariamente estão lendo/escrevendo a quantidade completa de dados que você requisitou. Esteja preparado para somente habilitar para leitura/escrita um único byte.
  • Isso é comum na grande maioria de implementações de socket que pegam exceções através do except array está fora do limite de dados recebidos no socket.

Veja também
socket_read(),
socket_write(),
socket_last_error() e
socket_strerror().


Envia dados para um socket conectado

  • « socket_select
  • socket_sendmsg »
  • PHP Manual
  • Funções para Socket
  • Envia dados para um socket conectado

socket_send

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_send — Envia dados para um socket conectado

Descrição

socket_send ( resource $socket , string $buf , int $len , int $flags ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

A função socket_send() envia len bytes para o socket socket de buf

O valor de flags pode ser alguma combinação ORed das seguintes:

Possíveis valores para flags
0x1 | Processo OOB (out-of-band) de dados
0x2 | Ver mensagens de entrada.
0x4 | Bypass routing, usa interface direta.
0x8 | Fluxo completo de dados.
0x100 | Transação completa de dados.

Veja também socket_sendmsg() e socket_sendto().


Send a message

  • « socket_send
  • socket_sendto »
  • PHP Manual
  • Funções para Socket
  • Send a message

socket_sendmsg

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

socket_sendmsg — Send a message

Descrição

socket_sendmsg ( Socket $socket , array $message , int $flags = 0 ) : int|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

socket

message

flags

Valor Retornado

Returns the number of bytes sent, ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | socket is a Socket instance now; previously, it was a resource.

Veja Também

  • socket_recvmsg() - Read a message
  • socket_cmsg_space() - Calculate message buffer size


Envia uma mensagem para o socket, se estiver conectado ou não

  • « socket_sendmsg
  • socket_set_block »
  • PHP Manual
  • Funções para Socket
  • Envia uma mensagem para o socket, se estiver conectado ou não

socket_sendto

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_sendto — Envia uma mensagem para o socket, se estiver conectado ou não

Descrição

socket_sendto ( resource $socket , string $buf , int $len , int $flags , string $addr , int $port = ? ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

A função socket_sendto() envia len bytes de buf através do socket socket para a port no endereço addr

O valor de flags pode ser um dos seguintes:

Valores possíveis para flags
0x1 | Processo OOB (out-of-band) de dados.
0x2 | Ver mensagens de entrada.
0x4 | Bypass routing, usa interface direta.
0x8 | Fluxo completo de dados.
0x100 | Transação completa de dados.

Exemplo #1 Exemplo socket_sendto()

<?php
    $sh = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
    if (socket_bind($sh, '127.0.0.1', 4242)) {
        echo "Socket bound correctly";
    }
    $buf = 'Test Message';
    $len = strlen($buf);
    if (socket_sendto($sh, $buf, $len, 0x100, '192.168.0.2', 4242) !== FALSE) {
        echo "Message sent correctly";
    }
    socket_close($sh);
?>

Veja também socket_send() e socket_sendmsg().


Configura o modo bloqueio em um socket resource

  • « socket_sendto
  • socket_set_nonblock »
  • PHP Manual
  • Funções para Socket
  • Configura o modo bloqueio em um socket resource

socket_set_block

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

socket_set_block — Configura o modo bloqueio em um socket resource

Descrição

socket_set_block ( resource $socket ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Retorna true em caso de sucesso ou false em caso de falha.

Veja também socket_set_nonblock() e socket_set_option()


Configura o modo nonblocking para o arquivo de descrição fd

  • « socket_set_block
  • socket_set_option »
  • PHP Manual
  • Funções para Socket
  • Configura o modo nonblocking para o arquivo de descrição fd

socket_set_nonblock

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_set_nonblock — Configura o modo nonblocking para o arquivo de descrição fd

Descrição

socket_set_nonblock ( resource $socket ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Configura opções de socket para o socket

  • « socket_set_nonblock
  • socket_setopt »
  • PHP Manual
  • Funções para Socket
  • Configura opções de socket para o socket

socket_set_option

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

socket_set_option — Configura opções de socket para o socket

Descrição

socket_set_option ( resource $socket , int $level , int $optname , mixed $optval ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Nota:

Essa função é usado chamando socket_setopt() primariamente para PHP 4.3.0


Sinônimo de socket_set_option

  • « socket_set_option
  • socket_shutdown »
  • PHP Manual
  • Funções para Socket
  • Sinônimo de socket_set_option

socket_setopt

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_setopt — Sinônimo de socket_set_option()

Descrição

Esta função é um apelido para: socket_set_option().


Fecha um socket para receber, enviar dados ou ambos.

  • « socket_setopt
  • socket_strerror »
  • PHP Manual
  • Funções para Socket
  • Fecha um socket para receber, enviar dados ou ambos.

socket_shutdown

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_shutdown — Fecha um socket para receber, enviar dados ou ambos.

Descrição

socket_shutdown ( resource $socket , int $how = ? ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

A função socket_shutdown() permite que você pare a entrada, saída ou todos os dados (este é o padrão) de serem enviados através do socket

O valor de how pode ser um dos seguintes:

possible values for how
0 | Fecha o socjet para leitura
1 | Fecha o socket para escrita
2 | Fecha o socket para leitura e escrita


Retorna uma string descrevendo o erro do socket

  • « socket_shutdown
  • socket_write »
  • PHP Manual
  • Funções para Socket
  • Retorna uma string descrevendo o erro do socket

socket_strerror

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_strerror — Retorna uma string descrevendo o erro do socket

Descrição

socket_strerror ( int $errno ) : string
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

socket_strerror() pega como parâmetro errno um código de erro de socket retornado por socket_last_error() e retorna a explicação em texto correspondente. Isso faz com que isso tenha uma imagem de saída mais agradável porque alguma coisa não funciona; for exemplo, ao invés de ter que fazer procura de uma inclusão de um arquivo do sistema do que '-111' significa, você somente passa isso para socket_strerror(), e ele lhe fala o que acontece.

Exemplo #1 Exemplo de socket_strerror()

<?php
if (false == ($socket = @socket_create(AF_INET, SOCK_STREAM, 0))) {
   echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
}

if (false == (@socket_bind($socket, '127.0.0.1', 80))) {
   echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($socket)) . "\n";
}
?>

A saída esperada do exemplo acima (assumindo que o script não está rodando com privilégios de root):

socket_bind() failed: reason: Permission denied

Veja também
socket_accept(),
socket_bind(),
socket_connect(),
socket_listen(), e
socket_create().


Escreve em um socket

  • « socket_strerror
  • socket_wsaprotocol_info_export »
  • PHP Manual
  • Funções para Socket
  • Escreve em um socket

socket_write

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_write — Escreve em um socket

Descrição

socket_write ( resource $socket , string $buffer , int $length = ? ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

A função socket_write() escreve em um socket socket de buffer.

O parâmetro opcional length pode especificar um comprimento alternativo de bytes escritos para o socket. Se esse comprimento é maior do que o comprimento do buffer, isso será silenciosamente truncado para o comprimento do buffer.

Retorna o número de bytes escritos com sucesso para o socket ou false em um erro. O código de erro pode ser retornado com socket_last_error(). Esse código deve ser passado para socket_strerror() para pegar uma explicação textual do erro.

Nota:

socket_write() não necessariamente escreve todos os bytes dados do buffer. Isso é valido, dependendo da rede, buffers etc., somente uma quantidade segura de dados, sempre um byte, é escrito embora seu buffer seja maior. Você deve prestar atenção para involuntariamente esquecer de transmitir o restante dos seus dados.

Nota:

Isso é perfeitamente válido para socket_write() retornar zero que significa que não tem bytes para escrever. Tenha certeza de usar o operador === para checar por false em caso de um erro.

Veja também
socket_accept(),
socket_bind(),
socket_connect(),
socket_listen(),
socket_read() e
socket_strerror().


Exports the WSAPROTOCOL_INFO Structure

  • « socket_write
  • socket_wsaprotocol_info_import »
  • PHP Manual
  • Funções para Socket
  • Exports the WSAPROTOCOL_INFO Structure

socket_wsaprotocol_info_export

(PHP 7 >= 7.3.0, PHP 8)

socket_wsaprotocol_info_export — Exports the WSAPROTOCOL_INFO Structure

Descrição

socket_wsaprotocol_info_export ( Socket $socket , int $process_id ) : string|false

Exports the WSAPROTOCOL_INFO structure into shared memory and returns an identifier to be used with socket_wsaprotocol_info_import(). The exported ID is only valid for the given process_id.

Nota: This function is available only on Windows.

Parâmetros

socket

A Socket instance.

process_id

The ID of the process which will import the socket.

Valor Retornado

Returns an identifier to be used for the import, ou false em caso de falha

Changelog

Versão | Descrição
8.0.0 | socket is a Socket instance now; previously, it was a resource.

Veja Também

  • socket_wsaprotocol_info_import() - Imports a Socket from another Process
  • socket_wsaprotocol_info_release() - Releases an exported WSAPROTOCOL_INFO Structure


Imports a Socket from another Process

  • « socket_wsaprotocol_info_export
  • socket_wsaprotocol_info_release »
  • PHP Manual
  • Funções para Socket
  • Imports a Socket from another Process

socket_wsaprotocol_info_import

(PHP 7 >= 7.3.0, PHP 8)

socket_wsaprotocol_info_import — Imports a Socket from another Process

Descrição

socket_wsaprotocol_info_import ( string $info_id ) : Socket|false

Imports a socket which has formerly been exported from another process.

Nota: This function is available only on Windows.

Parâmetros

info_id

The ID which has been returned by a former call to socket_wsaprotocol_info_export().

Valor Retornado

Returns a Socket instance on success, ou false em caso de falha

Changelog

Versão | Descrição
8.0.0 | On success, this function returns a Socket instance now; previously, a resource was returned.

Veja Também

  • socket_wsaprotocol_info_export() - Exports the WSAPROTOCOL_INFO Structure


Releases an exported WSAPROTOCOL_INFO Structure

  • « socket_wsaprotocol_info_import
  • SSH2 »
  • PHP Manual
  • Funções para Socket
  • Releases an exported WSAPROTOCOL_INFO Structure

socket_wsaprotocol_info_release

(PHP 7 >= 7.3.0, PHP 8)

socket_wsaprotocol_info_release — Releases an exported WSAPROTOCOL_INFO Structure

Descrição

socket_wsaprotocol_info_release ( string $info_id ) : bool

Releases the shared memory corresponding to the given info_id.

Nota: This function is available only on Windows.

Parâmetros

info_id

The ID which has been returned by a former call to socket_wsaprotocol_info_export().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • socket_wsaprotocol_info_export() - Exports the WSAPROTOCOL_INFO Structure


Secure Shell2

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • SSH2 Funções
    • ssh2_auth_agent — Authenticate over SSH using the ssh agent
    • ssh2_auth_hostbased_file — Authenticate using a public hostkey
    • ssh2_auth_none — Authenticate as "none"
    • ssh2_auth_password — Authenticate over SSH using a plain password
    • ssh2_auth_pubkey_file — Authenticate using a public key
    • ssh2_connect — Connect to an SSH server
    • ssh2_disconnect — Close a connection to a remote SSH server
    • ssh2_exec — Execute a command on a remote server
    • ssh2_fetch_stream — Fetch an extended data stream
    • ssh2_fingerprint — Retrieve fingerprint of remote server
    • ssh2_forward_accept — Accept a connection created by a listener
    • ssh2_forward_listen — Bind a port on the remote server and listen for connections
    • ssh2_methods_negotiated — Return list of negotiated methods
    • ssh2_poll — Poll the channels/listeners/streams for events
    • ssh2_publickey_add — Add an authorized publickey
    • ssh2_publickey_init — Initialize Publickey subsystem
    • ssh2_publickey_list — List currently authorized publickeys
    • ssh2_publickey_remove — Remove an authorized publickey
    • ssh2_scp_recv — Request a file via SCP
    • ssh2_scp_send — Send a file via SCP
    • ssh2_sftp_chmod — Changes file mode
    • ssh2_sftp_lstat — Stat a symbolic link
    • ssh2_sftp_mkdir — Create a directory
    • ssh2_sftp_readlink — Return the target of a symbolic link
    • ssh2_sftp_realpath — Resolve the realpath of a provided path string
    • ssh2_sftp_rename — Rename a remote file
    • ssh2_sftp_rmdir — Remove a directory
    • ssh2_sftp_stat — Stat a file on a remote filesystem
    • ssh2_sftp_symlink — Create a symlink
    • ssh2_sftp_unlink — Delete a file
    • ssh2_sftp — Initialize SFTP subsystem
    • ssh2_shell — Request an interactive shell
    • ssh2_tunnel — Open a tunnel through a remote server


Introdução

Bindings to the » libssh2 library which provide access to resources (shell, remote exec, tunneling, file transfer) on a remote machine using a secure cryptographic transport.


Dependências

The » OpenSSL and » libssh2 libraries are required. Ensure that the development libraries are installed, where a typical package name might be openssl-dev.

Version 1.2 or newer of the libssh2 library is required, although it's possible newer releases of pecl/ssh2 may require newer versions (see the release notes).

The ssh2_auth_agent() function will only be available with libssh >= 1.2.3.

support for stream_set_timeout() to channel streams will only be available with libssh >= 1.2.9.

Libssh2 comes in two flavours: gcrypt or openssl. Some linux distributions build libssh2 with the gcrypt library, some use openssl. Libssh2 has some issues when compiled with gcrypt, please use openssl.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/ssh2.

Windows binaries (DLL files) for this PECL extension are available from the PECL website.


Tipos de Recurso

This extension defines the following resource types:

  • SSH2 Session
  • SSH2 Listener
  • SSH2 SFTP
  • SSH2 Publickey Subsystem (as of ssh2 0.10)


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

SSH2_FINGERPRINT_MD5 (int)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as an MD5 hash.
SSH2_FINGERPRINT_SHA1 (int)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as an SHA1 hash.
SSH2_FINGERPRINT_HEX (int)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as a string of hexits.
SSH2_FINGERPRINT_RAW (int)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as a raw string of 8-bit characters.
SSH2_TERM_UNIT_CHARS (int)
Flag to ssh2_shell() specifying that width and height are provided as character sizes.
SSH2_TERM_UNIT_PIXELS (int)
Flag to ssh2_shell() specifying that width and height are provided in pixel units.
SSH2_DEFAULT_TERM_WIDTH (int)
Default terminal width requested by ssh2_shell().
SSH2_DEFAULT_TERM_HEIGHT (int)
Default terminal height requested by ssh2_shell().
SSH2_DEFAULT_TERM_UNIT (int)
Default terminal units requested by ssh2_shell().
SSH2_STREAM_STDIO (int)
Flag to ssh2_fetch_stream() requesting STDIO subchannel.
SSH2_STREAM_STDERR (int)
Flag to ssh2_fetch_stream() requesting STDERR subchannel.
SSH2_DEFAULT_TERMINAL (string)
Default terminal type (e.g. vt102, ansi, xterm, vanilla) requested by ssh2_shell().
SSH2_POLLIN (int)
SSH2_POLLEXT (int)
SSH2_POLLOUT (int)
SSH2_POLLERR (int)
SSH2_POLLHUP (int)
SSH2_POLLNVAL (int)
SSH2_POLL_SESSION_CLOSED (int)
SSH2_POLL_CHANNEL_CLOSED (int)
SSH2_POLL_LISTENER_CLOSED (int)


SSH2 Funções

Índice

  • ssh2_auth_agent — Authenticate over SSH using the ssh agent
  • ssh2_auth_hostbased_file — Authenticate using a public hostkey
  • ssh2_auth_none — Authenticate as "none"
  • ssh2_auth_password — Authenticate over SSH using a plain password
  • ssh2_auth_pubkey_file — Authenticate using a public key
  • ssh2_connect — Connect to an SSH server
  • ssh2_disconnect — Close a connection to a remote SSH server
  • ssh2_exec — Execute a command on a remote server
  • ssh2_fetch_stream — Fetch an extended data stream
  • ssh2_fingerprint — Retrieve fingerprint of remote server
  • ssh2_forward_accept — Accept a connection created by a listener
  • ssh2_forward_listen — Bind a port on the remote server and listen for connections
  • ssh2_methods_negotiated — Return list of negotiated methods
  • ssh2_poll — Poll the channels/listeners/streams for events
  • ssh2_publickey_add — Add an authorized publickey
  • ssh2_publickey_init — Initialize Publickey subsystem
  • ssh2_publickey_list — List currently authorized publickeys
  • ssh2_publickey_remove — Remove an authorized publickey
  • ssh2_scp_recv — Request a file via SCP
  • ssh2_scp_send — Send a file via SCP
  • ssh2_sftp_chmod — Changes file mode
  • ssh2_sftp_lstat — Stat a symbolic link
  • ssh2_sftp_mkdir — Create a directory
  • ssh2_sftp_readlink — Return the target of a symbolic link
  • ssh2_sftp_realpath — Resolve the realpath of a provided path string
  • ssh2_sftp_rename — Rename a remote file
  • ssh2_sftp_rmdir — Remove a directory
  • ssh2_sftp_stat — Stat a file on a remote filesystem
  • ssh2_sftp_symlink — Create a symlink
  • ssh2_sftp_unlink — Delete a file
  • ssh2_sftp — Initialize SFTP subsystem
  • ssh2_shell — Request an interactive shell
  • ssh2_tunnel — Open a tunnel through a remote server


Authenticate over SSH using the ssh agent

  • « SSH2 Funções
  • ssh2_auth_hostbased_file »
  • PHP Manual
  • SSH2 Funções
  • Authenticate over SSH using the ssh agent

ssh2_auth_agent

(PECL ssh2 >= 0.12)

ssh2_auth_agent — Authenticate over SSH using the ssh agent

Descrição

ssh2_auth_agent ( resource $session , string $username ) : bool

Authenticate over SSH using the ssh agent

Nota: The ssh2_auth_agent() function will only be available when the ssh2 extension is compiled with libssh >= 1.2.3.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Authenticating with a ssh agent

<?php
$connection = ssh2_connect('shell.example.com', 22);

if (ssh2_auth_agent($connection, 'username')) {
  echo "Authentication Successful!\n";
} else {
  die('Authentication Failed...');
}
?>


Authenticate using a public hostkey

  • « ssh2_auth_agent
  • ssh2_auth_none »
  • PHP Manual
  • SSH2 Funções
  • Authenticate using a public hostkey

ssh2_auth_hostbased_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_hostbased_file — Authenticate using a public hostkey

Descrição

ssh2_auth_hostbased_file ( resource $session , string $username , string $hostname , string $pubkeyfile , string $privkeyfile , string $passphrase = ? , string $local_username = ? ) : bool

Authenticate using a public hostkey read from a file.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

hostname

pubkeyfile

privkeyfile

passphrase

If privkeyfile is encrypted (which it should be), the passphrase must be provided.

local_username

If local_username is omitted, then the value for username will be used for it.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Authentication using a public hostkey

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_hostbased_file($connection, 'remoteusername', 'myhost.example.com',
                             '/usr/local/etc/hostkey_rsa.pub',
                             '/usr/local/etc/hostkey_rsa', 'secret',
                             'localusername')) {
  echo "Public Key Hostbased Authentication Successful\n";
} else {
  die('Public Key Hostbased Authentication Failed');
}
?>

Notas

Nota:

ssh2_auth_hostbased_file() requires libssh2 >= 0.7 and PHP/SSH2 >= 0.7


Authenticate as "none"

  • « ssh2_auth_hostbased_file
  • ssh2_auth_password »
  • PHP Manual
  • SSH2 Funções
  • Authenticate as "none"

ssh2_auth_none

(PECL ssh2 >= 0.9.0)

ssh2_auth_none — Authenticate as "none"

Descrição

ssh2_auth_none ( resource $session , string $username ) : mixed

Attempt "none" authentication which usually will (and should) fail. As part of the failure, this function will return an array of accepted authentication methods.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

Valor Retornado

Returns true if the server does accept "none" as an authentication method, or an array of accepted authentication methods on failure.

Exemplos

Exemplo #1 Retrieving a list of authentication methods

<?php
$connection = ssh2_connect('shell.example.com', 22);

$auth_methods = ssh2_auth_none($connection, 'user');

if (in_array('password', $auth_methods)) {
  echo "Server supports password based authentication\n";
}
?>


Authenticate over SSH using a plain password

  • « ssh2_auth_none
  • ssh2_auth_pubkey_file »
  • PHP Manual
  • SSH2 Funções
  • Authenticate over SSH using a plain password

ssh2_auth_password

(PECL ssh2 >= 0.9.0)

ssh2_auth_password — Authenticate over SSH using a plain password

Descrição

ssh2_auth_password ( resource $session , string $username , string $password ) : bool

Authenticate over SSH using a plain password. Since version 0.12 this function also supports keyboard_interactive method.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

password

Password for username

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Authenticating with a password

<?php
$connection = ssh2_connect('shell.example.com', 22);

if (ssh2_auth_password($connection, 'username', 'secret')) {
  echo "Authentication Successful!\n";
} else {
  die('Authentication Failed...');
}
?>


Authenticate using a public key

  • « ssh2_auth_password
  • ssh2_connect »
  • PHP Manual
  • SSH2 Funções
  • Authenticate using a public key

ssh2_auth_pubkey_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_pubkey_file — Authenticate using a public key

Descrição

ssh2_auth_pubkey_file ( resource $session , string $username , string $pubkeyfile , string $privkeyfile , string $passphrase = ? ) : bool

Authenticate using a public key read from a file.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

pubkeyfile

The public key file needs to be in OpenSSH's format. It should look something like:

ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110

privkeyfile

passphrase

If privkeyfile is encrypted (which it should be), the passphrase must be provided.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Authentication using a public key

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_pubkey_file($connection, 'username',
                          '/home/username/.ssh/id_rsa.pub',
                          '/home/username/.ssh/id_rsa', 'secret')) {
  echo "Public Key Authentication Successful\n";
} else {
  die('Public Key Authentication Failed');
}
?>

Notas

Nota:

The underlying libssh library doesn't support partial auths very cleanly That is, if you need to supply both a public key and a password it will appear as if this function has failed. In this particular case a failure from this call may just mean that auth hasn't been completed yet. You would need to ignore this failure and continue on and call ssh2_auth_password() in order to complete authentication.


Connect to an SSH server

  • « ssh2_auth_pubkey_file
  • ssh2_disconnect »
  • PHP Manual
  • SSH2 Funções
  • Connect to an SSH server

ssh2_connect

(PECL ssh2 >= 0.9.0)

ssh2_connect — Connect to an SSH server

Descrição

ssh2_connect ( string $host , int $port = 22 , array $methods = ? , array $callbacks = ? ) : resource

Establish a connection to a remote SSH server.

Once connected, the client should verify the server's hostkey using ssh2_fingerprint(), then authenticate using either password or public key.

Parâmetros

host

port

methods

methods may be an associative array with up to four parameters as described below.

methods may be an associative array with any or all of the following parameters.
Index | Meaning | Supported Values*
kex | List of key exchange methods to advertise, comma separated in order of preference. | diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, and diffie-hellman-group-exchange-sha1
hostkey | List of hostkey methods to advertise, comma separated in order of preference. | ssh-rsa and ssh-dss
client_to_server | Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from client to server.
server_to_client | Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from server to client.

* - Supported Values are dependent on methods supported by underlying library. See » libssh2 documentation for additional information.

client_to_server and server_to_client may be an associative array with any or all of the following parameters.
Index | Meaning | Supported Values*
crypt | List of crypto methods to advertise, comma separated in order of preference. | rijndael-cbc@lysator.liu.se, aes256-cbc, aes192-cbc, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, and none**
comp | List of compression methods to advertise, comma separated in order of preference. | zlib and none
mac | List of MAC methods to advertise, comma separated in order of preference. | hmac-sha1, hmac-sha1-96, hmac-ripemd160, hmac-ripemd160@openssh.com, and none**

Nota: Crypt and MAC method "none"

For security reasons, none is disabled by the underlying » libssh2 library unless explicitly enabled during build time by using the appropriate ./configure options. See documentation for the underlying library for more information.

callbacks

callbacks may be an associative array with any or all of the following parameters.

Callbacks parameters
Index | Meaning | Prototype
ignore | Name of function to call when an SSH2_MSG_IGNORE packet is received | void ignore_cb($message)
debug | Name of function to call when an SSH2_MSG_DEBUG packet is received | void debug_cb($message, $language, $always_display)
macerror | Name of function to call when a packet is received but the message authentication code failed. If the callback returns true, the mismatch will be ignored, otherwise the connection will be terminated. | bool macerror_cb($packet)
disconnect | Name of function to call when an SSH2_MSG_DISCONNECT packet is received | void disconnect_cb($reason, $message, $language)

Valor Retornado

Returns a resource on success, or false on error.

Exemplos

Exemplo #1 ssh2_connect() example

Open a connection forcing 3des-cbc when sending packets, any strength aes cipher when receiving packets, no compression in either direction, and Group1 key exchange.

<?php
/* Notify the user if the server terminates the connection */
function my_ssh_disconnect($reason, $message, $language) {
  printf("Server disconnected with reason code [%d] and message: %s\n",
         $reason, $message);
}

$methods = array(
  'kex' => 'diffie-hellman-group1-sha1',
  'client_to_server' => array(
    'crypt' => '3des-cbc',
    'comp' => 'none'),
  'server_to_client' => array(
    'crypt' => 'aes256-cbc,aes192-cbc,aes128-cbc',
    'comp' => 'none'));

$callbacks = array('disconnect' => 'my_ssh_disconnect');

$connection = ssh2_connect('shell.example.com', 22, $methods, $callbacks);
if (!$connection) die('Connection failed');
?>

Veja Também

  • ssh2_fingerprint() - Retrieve fingerprint of remote server
  • ssh2_auth_none() - Authenticate as "none"
  • ssh2_auth_password() - Authenticate over SSH using a plain password
  • ssh2_auth_pubkey_file() - Authenticate using a public key
  • ssh2_disconnect() - Close a connection to a remote SSH server


Close a connection to a remote SSH server

  • « ssh2_connect
  • ssh2_exec »
  • PHP Manual
  • SSH2 Funções
  • Close a connection to a remote SSH server

ssh2_disconnect

(PECL ssh2 >= 1.0)

ssh2_disconnect — Close a connection to a remote SSH server

Descrição

ssh2_disconnect ( resource $session ) : bool

Close a connection to a remote SSH server.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ssh2_connect() - Connect to an SSH server


Execute a command on a remote server

  • « ssh2_disconnect
  • ssh2_fetch_stream »
  • PHP Manual
  • SSH2 Funções
  • Execute a command on a remote server

ssh2_exec

(PECL ssh2 >= 0.9.0)

ssh2_exec — Execute a command on a remote server

Descrição

ssh2_exec ( resource $session , string $command , string $pty = ? , array $env = ? , int $width = 80 , int $height = 25 , int $width_height_type = SSH2_TERM_UNIT_CHARS ) : resource|false

Execute a command at the remote end and allocate a channel for it.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

command

pty

env

env may be passed as an associative array of name/value pairs to set in the target environment.

width

Width of the virtual terminal.

height

Height of the virtual terminal.

width_height_type

width_height_type should be one of SSH2_TERM_UNIT_CHARS or SSH2_TERM_UNIT_PIXELS.

Valor Retornado

Returns a stream on success ou false em caso de falha.

Exemplos

Exemplo #1 Executing a command

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_exec($connection, '/usr/local/bin/php -i');
?>

Veja Também

  • ssh2_connect() - Connect to an SSH server
  • ssh2_shell() - Request an interactive shell
  • ssh2_tunnel() - Open a tunnel through a remote server


Fetch an extended data stream

  • « ssh2_exec
  • ssh2_fingerprint »
  • PHP Manual
  • SSH2 Funções
  • Fetch an extended data stream

ssh2_fetch_stream

(PECL ssh2 >= 0.9.0)

ssh2_fetch_stream — Fetch an extended data stream

Descrição

ssh2_fetch_stream ( resource $channel , int $streamid ) : resource

Fetches an alternate substream associated with an SSH2 channel stream. The SSH2 protocol currently defines only one substream, STDERR, which has a substream ID of SSH2_STREAM_STDERR (defined as 1).

Parâmetros

channel

streamid

An SSH2 channel stream.

Valor Retornado

Returns the requested stream resource.

Exemplos

Exemplo #1 Opening a shell and retrieving the stderr stream associated with it

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stdio_stream = ssh2_shell($connection);
$stderr_stream = ssh2_fetch_stream($stdio_stream, SSH2_STREAM_STDERR);
?>

Veja Também

  • ssh2_shell() - Request an interactive shell
  • ssh2_exec() - Execute a command on a remote server
  • ssh2_connect() - Connect to an SSH server


Retrieve fingerprint of remote server

  • « ssh2_fetch_stream
  • ssh2_forward_accept »
  • PHP Manual
  • SSH2 Funções
  • Retrieve fingerprint of remote server

ssh2_fingerprint

(PECL ssh2 >= 0.9.0)

ssh2_fingerprint — Retrieve fingerprint of remote server

Descrição

ssh2_fingerprint ( resource $session , int $flags = SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX ) : string

Returns a server hostkey hash from an active session.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

flags

flags may be either of SSH2_FINGERPRINT_MD5 or SSH2_FINGERPRINT_SHA1 logically ORed with SSH2_FINGERPRINT_HEX or SSH2_FINGERPRINT_RAW.

Valor Retornado

Returns the hostkey hash as a string.

Exemplos

Exemplo #1 Checking the fingerprint against a known value

<?php
$known_host = '6F89C2F0A719B30CC38ABDF90755F2E4';

$connection = ssh2_connect('shell.example.com', 22);

$fingerprint = ssh2_fingerprint($connection,
               SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX);

if ($fingerprint != $known_host) {
  die("HOSTKEY MISMATCH!\n" .
      "Possible Man-In-The-Middle Attack?");
}
?>


Accept a connection created by a listener

  • « ssh2_fingerprint
  • ssh2_forward_listen »
  • PHP Manual
  • SSH2 Funções
  • Accept a connection created by a listener

ssh2_forward_accept

(PECL ssh2 >= 0.9.0)

ssh2_forward_accept — Accept a connection created by a listener

Descrição

ssh2_forward_accept ( resource $listener ) : resource|false

Accepts a connection created by a listener.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

desc

An SSH2 Listener resource, obtained from a call to ssh2_forward_listen().

Valor Retornado

Returns a stream resource, ou false em caso de falha.


Bind a port on the remote server and listen for connections

  • « ssh2_forward_accept
  • ssh2_methods_negotiated »
  • PHP Manual
  • SSH2 Funções
  • Bind a port on the remote server and listen for connections

ssh2_forward_listen

(PECL ssh2 >= 0.9.0)

ssh2_forward_listen — Bind a port on the remote server and listen for connections

Descrição

ssh2_forward_listen ( resource $session , int $port , string $host = ? , int $max_connections = 16 ) : resource|false

Binds a port on the remote server and listen for connections.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

session

An SSH Session resource, obtained from a call to ssh2_connect().

port

The port of the remote server.

host

max_connections

Valor Retornado

Returns an SSH2 Listener, ou false em caso de falha.

Veja Também

  • ssh2_forward_accept() - Accept a connection created by a listener


Return list of negotiated methods

  • « ssh2_forward_listen
  • ssh2_poll »
  • PHP Manual
  • SSH2 Funções
  • Return list of negotiated methods

ssh2_methods_negotiated

(PECL ssh2 >= 0.9.0)

ssh2_methods_negotiated — Return list of negotiated methods

Descrição

ssh2_methods_negotiated ( resource $session ) : array

Returns list of negotiated methods.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

Valor Retornado

Exemplos

Exemplo #1 Determining what methods were negotiated

<?php
$connection = ssh2_connect('shell.example.com', 22);
$methods = ssh2_methods_negotiated($connection);

echo "Encryption keys were negotiated using: {$methods['kex']}\n";
echo "Server identified using an {$methods['hostkey']} with ";
echo "fingerprint: " . ssh2_fingerprint($connection) . "\n";

echo "Client to Server packets will use methods:\n";
echo "\tCrypt: {$methods['client_to_server']['crypt']}\n";
echo "\tComp: {$methods['client_to_server']['comp']}\n";
echo "\tMAC: {$methods['client_to_server']['mac']}\n";

echo "Server to Client packets will use methods:\n";
echo "\tCrypt: {$methods['server_to_client']['crypt']}\n";
echo "\tComp: {$methods['server_to_client']['comp']}\n";
echo "\tMAC: {$methods['server_to_client']['mac']}\n";

?>

Veja Também

  • ssh2_connect() - Connect to an SSH server


Poll the channels/listeners/streams for events

  • « ssh2_methods_negotiated
  • ssh2_publickey_add »
  • PHP Manual
  • SSH2 Funções
  • Poll the channels/listeners/streams for events

ssh2_poll

(PECL ssh2 >= 0.9.0)

ssh2_poll — Poll the channels/listeners/streams for events

Descrição

ssh2_poll ( array &$desc , int $timeout = 30 ) : int

Polls the channels/listeners/streams for events, and returns the number of descriptors which returned non-zero revents.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

desc

An indexed array of subarrays with the keys 'resource' and 'events'. The value of the resource is a (channel) stream or an SSH2 Listener resource. The value of the event are SSH2_POLL* flags bitwise ORed together. Each subarray will be populated with an 'revents' element on return, whose values are SSH2_POLL* flags bitwise ORed together of the events that occurred.

timeout

The timeout in seconds.

Valor Retornado

Returns the number of descriptors which returned non-zero revents.


Add an authorized publickey

  • « ssh2_poll
  • ssh2_publickey_init »
  • PHP Manual
  • SSH2 Funções
  • Add an authorized publickey

ssh2_publickey_add

(PECL ssh2 >= 0.10)

ssh2_publickey_add — Add an authorized publickey

Descrição

ssh2_publickey_add ( resource $pkey , string $algoname , string $blob , bool $overwrite = false , array $attributes = ? ) : bool

Nota: O subsistema de chave pública utilizado para gerenciar chaves de um servidor qual o cliente já está autenticado. Para autenticar em um servidor remoto utilizando chaves públicas veja a função ssh2_auth_pubkey_file().

Parâmetros

pkey

Publickey Subsystem resource created by ssh2_publickey_init().

algoname

Publickey algorithm (e.g.): ssh-dss, ssh-rsa

blob

Publickey blob as raw binary data

overwrite

If the specified key already exists, should it be overwritten?

attributes

Associative array of attributes to assign to this public key. Refer to ietf-secsh-publickey-subsystem for a list of supported attributes. To mark an attribute as mandatory, precede its name with an asterisk. If the server is unable to support an attribute marked mandatory, it will abort the add process.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Adding a publickey with ssh2_publickey_add()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'password');
$pkey = ssh2_publickey_init($ssh2);

$keyblob = base64_decode('
AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5PTrLRdjNONxXH1tVFGn0
Bd26BF0aCP9qyJRlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xj
zaLpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VEHYckxQ16CjSTibI5X
69GmnYC9PNqEYq/1TP+HF10=');

ssh2_publickey_add($pkey, 'ssh-rsa', $keyblob, false, array('comment'=>"John's Key"));
?>

Veja Também

  • ssh2_publickey_init() - Initialize Publickey subsystem
  • ssh2_publickey_remove() - Remove an authorized publickey
  • ssh2_publickey_list() - List currently authorized publickeys


Initialize Publickey subsystem

  • « ssh2_publickey_add
  • ssh2_publickey_list »
  • PHP Manual
  • SSH2 Funções
  • Initialize Publickey subsystem

ssh2_publickey_init

(PECL ssh2 >= 0.10)

ssh2_publickey_init — Initialize Publickey subsystem

Descrição

ssh2_publickey_init ( resource $session ) : resource|false

Request the Publickey subsystem from an already connected SSH2 server.

The publickey subsystem allows an already connected and authenticated client to manage the list of authorized public keys stored on the target server in an implementation agnostic manner. If the remote server does not support the publickey subsystem, the ssh2_publickey_init() function will return false.

Parâmetros

session

Valor Retornado

Returns an SSH2 Publickey Subsystem resource for use with all other ssh2_publickey_*() methods ou false em caso de falha.

Notas

Nota: O subsistema de chave pública utilizado para gerenciar chaves de um servidor qual o cliente já está autenticado. Para autenticar em um servidor remoto utilizando chaves públicas veja a função ssh2_auth_pubkey_file().

Veja Também

  • ssh2_publickey_add() - Add an authorized publickey
  • ssh2_publickey_remove() - Remove an authorized publickey
  • ssh2_publickey_list() - List currently authorized publickeys


List currently authorized publickeys

  • « ssh2_publickey_init
  • ssh2_publickey_remove »
  • PHP Manual
  • SSH2 Funções
  • List currently authorized publickeys

ssh2_publickey_list

(PECL ssh2 >= 0.10)

ssh2_publickey_list — List currently authorized publickeys

Descrição

ssh2_publickey_list ( resource $pkey ) : array

List currently authorized publickeys.

Parâmetros

pkey

Publickey Subsystem resource

Valor Retornado

Returns a numerically indexed array of keys, each of which is an associative array containing: name, blob, and attrs elements.

Publickey elements
Array Key | Meaning
name | Name of algorithm used by this publickey, for example: ssh-dss or ssh-rsa.
blob | Publickey blob as raw binary data.
attrs | Attributes assigned to this publickey. The most common attribute, and the only one supported by publickey version 1 servers, is comment, which may be any freeform string.

Exemplos

Exemplo #1 Listing authorized keys with ssh2_publickey_list()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'secret');
$pkey = ssh2_publickey_init($ssh2);

$list = ssh2_publickey_list($pkey);

foreach($list as $key) {
  echo "Key: {$key['name']}\n";
  echo "Blob: " . chunk_split(base64_encode($key['blob']), 40, "\n") . "\n";
  echo "Comment: {$key['attrs']['comment']}\n\n";
}
?>

O exemplo acima irá imprimir:

Key: ssh-rsa
Blob: AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5P
TrLRdjNONxXH1tVFGn0Bd26BF0aCP9qyJRlvdJ3j
4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xjza
Lpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VE
HYckxQ16CjSTibI5X69GmnYC9PNqEYq/1TP+HF10
Comment: John's Key

Key: ssh-rsa
Blob: AAAAB3NzaHVt6VqSGd5C1yc2EAAAABIwA232dnJA
AIEA5HVt6VqSGd5PTrLRdjNONxX/1TP+HF1HVt6V
qSGd50H1tVFGn0BB3NzaC1yc2EAd26BF0aCP9qyJ
RlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26HVt6Vq
SGd5sDHwfL351xjzaLpipu\BGB3NzaC1yc2EA/1T
Comment: Alice's Key

Notas

Nota: O subsistema de chave pública utilizado para gerenciar chaves de um servidor qual o cliente já está autenticado. Para autenticar em um servidor remoto utilizando chaves públicas veja a função ssh2_auth_pubkey_file().

Veja Também

  • ssh2_publickey_init() - Initialize Publickey subsystem
  • ssh2_publickey_add() - Add an authorized publickey
  • ssh2_publickey_remove() - Remove an authorized publickey


Remove an authorized publickey

  • « ssh2_publickey_list
  • ssh2_scp_recv »
  • PHP Manual
  • SSH2 Funções
  • Remove an authorized publickey

ssh2_publickey_remove

(PECL ssh2 >= 0.10)

ssh2_publickey_remove — Remove an authorized publickey

Descrição

ssh2_publickey_remove ( resource $pkey , string $algoname , string $blob ) : bool

Removes an authorized publickey.

Parâmetros

pkey

Publickey Subsystem Resource

algoname

Publickey algorithm (e.g.): ssh-dss, ssh-rsa

blob

Publickey blob as raw binary data

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota: O subsistema de chave pública utilizado para gerenciar chaves de um servidor qual o cliente já está autenticado. Para autenticar em um servidor remoto utilizando chaves públicas veja a função ssh2_auth_pubkey_file().

Veja Também

  • ssh2_publickey_init() - Initialize Publickey subsystem
  • ssh2_publickey_add() - Add an authorized publickey
  • ssh2_publickey_list() - List currently authorized publickeys


Request a file via SCP

  • « ssh2_publickey_remove
  • ssh2_scp_send »
  • PHP Manual
  • SSH2 Funções
  • Request a file via SCP

ssh2_scp_recv

(PECL ssh2 >= 0.9.0)

ssh2_scp_recv — Request a file via SCP

Descrição

ssh2_scp_recv ( resource $session , string $remote_file , string $local_file ) : bool

Copy a file from the remote server to the local filesystem using the SCP protocol.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

remote_file

Path to the remote file.

local_file

Path to the local file.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Downloading a file via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_recv($connection, '/remote/filename', '/local/filename');
?>

Veja Também

  • ssh2_scp_send() - Send a file via SCP
  • copy() - Copia arquivo


Send a file via SCP

  • « ssh2_scp_recv
  • ssh2_sftp_chmod »
  • PHP Manual
  • SSH2 Funções
  • Send a file via SCP

ssh2_scp_send

(PECL ssh2 >= 0.9.0)

ssh2_scp_send — Send a file via SCP

Descrição

ssh2_scp_send ( resource $session , string $local_file , string $remote_file , int $create_mode = 0644 ) : bool

Copy a file from the local filesystem to the remote server using the SCP protocol.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

local_file

Path to the local file.

remote_file

Path to the remote file.

create_mode

The file will be created with the mode specified by create_mode.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Uploading a file via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_send($connection, '/local/filename', '/remote/filename', 0644);
?>

Veja Também

  • ssh2_scp_recv() - Request a file via SCP
  • copy() - Copia arquivo


Changes file mode

  • « ssh2_scp_send
  • ssh2_sftp_lstat »
  • PHP Manual
  • SSH2 Funções
  • Changes file mode

ssh2_sftp_chmod

(PECL ssh2 >= 0.12)

ssh2_sftp_chmod — Changes file mode

Descrição

ssh2_sftp_chmod ( resource $sftp , string $filename , int $mode ) : bool

Attempts to change the mode of the specified file to that given in mode.

Parâmetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

Path to the file.

mode

Permissions on the file. See the chmod() for more details on this parameter.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Changing the mode of a file on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_chmod($sftp, '/somedir/somefile', 0755);
?>

Veja Também

  • chmod() - Modifica as permissões do arquivo
  • ssh2_sftp() - Initialize SFTP subsystem
  • ssh2_connect() - Connect to an SSH server


Stat a symbolic link

  • « ssh2_sftp_chmod
  • ssh2_sftp_mkdir »
  • PHP Manual
  • SSH2 Funções
  • Stat a symbolic link

ssh2_sftp_lstat

(PECL ssh2 >= 0.9.0)

ssh2_sftp_lstat — Stat a symbolic link

Descrição

ssh2_sftp_lstat ( resource $sftp , string $path ) : array

Stats a symbolic link on the remote filesystem without following the link.

This function is similar to using the lstat() function with the ssh2.sftp:// wrapper in PHP 5 and returns the same values.

Parâmetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

path

Path to the remote symbolic link.

Valor Retornado

See the documentation for stat() for details on the values which may be returned.

Exemplos

Exemplo #1 Stating a symbolic link via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_lstat($sftp, '/path/to/symlink');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

Veja Também

  • ssh2_sftp_stat() - Stat a file on a remote filesystem
  • lstat() - Obtém informações sobre um arquivo ou link simbólico
  • stat() - Obtem informações sobre um arquivo


Create a directory

  • « ssh2_sftp_lstat
  • ssh2_sftp_readlink »
  • PHP Manual
  • SSH2 Funções
  • Create a directory

ssh2_sftp_mkdir

(PECL ssh2 >= 0.9.0)

ssh2_sftp_mkdir — Create a directory

Descrição

ssh2_sftp_mkdir ( resource $sftp , string $dirname , int $mode = 0777 , bool $recursive = false ) : bool

Creates a directory on the remote file server with permissions set to mode.

This function is similar to using mkdir() with the ssh2.sftp:// wrapper.

Parâmetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

dirname

Path of the new directory.

mode

Permissions on the new directory. The actual mode is affected by the current umask.

recursive

If recursive is true any parent directories required for dirname will be automatically created as well.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Creating a directory on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_mkdir($sftp, '/home/username/newdir');
/* Or:  mkdir("ssh2.sftp://$sftp/home/username/newdir"); */
?>

Veja Também

  • mkdir() - Cria um diretório
  • ssh2_sftp_rmdir() - Remove a directory


Return the target of a symbolic link

  • « ssh2_sftp_mkdir
  • ssh2_sftp_realpath »
  • PHP Manual
  • SSH2 Funções
  • Return the target of a symbolic link

ssh2_sftp_readlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_readlink — Return the target of a symbolic link

Descrição

ssh2_sftp_readlink ( resource $sftp , string $link ) : string

Returns the target of a symbolic link.

Parâmetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

link

Path of the symbolic link.

Valor Retornado

Returns the target of the symbolic link.

Exemplos

Exemplo #1 Reading a symbolic link

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$target = ssh2_sftp_readlink($sftp, '/tmp/mysql.sock');
/* $target is now (e.g.): '/var/run/mysql.sock' */
?>

Veja Também

  • readlink() - Retornar o alvo de um link simbólico
  • ssh2_sftp_symlink() - Create a symlink


Resolve the realpath of a provided path string

  • « ssh2_sftp_readlink
  • ssh2_sftp_rename »
  • PHP Manual
  • SSH2 Funções
  • Resolve the realpath of a provided path string

ssh2_sftp_realpath

(PECL ssh2 >= 0.9.0)

ssh2_sftp_realpath — Resolve the realpath of a provided path string

Descrição

ssh2_sftp_realpath ( resource $sftp , string $filename ) : string

Translates filename into the effective real path on the remote filesystem.

Parâmetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

Valor Retornado

Returns the real path as a string.

Exemplos

Exemplo #1 Resolving a pathname

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$realpath = ssh2_sftp_realpath($sftp, '/home/username/../../../..//./usr/../etc/passwd');
/* $realpath is now: '/etc/passwd' */
?>

Veja Também

  • realpath() - Retorna o path absoluto canonicalizado
  • ssh2_sftp_symlink() - Create a symlink
  • ssh2_sftp_readlink() - Return the target of a symbolic link


Rename a remote file

  • « ssh2_sftp_realpath
  • ssh2_sftp_rmdir »
  • PHP Manual
  • SSH2 Funções
  • Rename a remote file

ssh2_sftp_rename

(PECL ssh2 >= 0.9.0)

ssh2_sftp_rename — Rename a remote file

Descrição

ssh2_sftp_rename ( resource $sftp , string $from , string $to ) : bool

Renames a file on the remote filesystem.

Parâmetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

from

The current file that is being renamed.

to

The new file name that replaces from.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Renaming a file via sftp

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rename($sftp, '/home/username/oldname', '/home/username/newname');
?>

Veja Também

  • rename() - Renomeia um arquivo ou diretório


Remove a directory

  • « ssh2_sftp_rename
  • ssh2_sftp_stat »
  • PHP Manual
  • SSH2 Funções
  • Remove a directory

ssh2_sftp_rmdir

(PECL ssh2 >= 0.9.0)

ssh2_sftp_rmdir — Remove a directory

Descrição

ssh2_sftp_rmdir ( resource $sftp , string $dirname ) : bool

Removes a directory from the remote file server.

This function is similar to using rmdir() with the ssh2.sftp:// wrapper.

Parâmetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

dirname

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Removing a directory on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rmdir($sftp, '/home/username/deltodel');
/* Or:  rmdir("ssh2.sftp://$sftp/home/username/dirtodel"); */
?>

Veja Também

  • rmdir() - Remove um diretório
  • ssh2_sftp_mkdir() - Create a directory


Stat a file on a remote filesystem

  • « ssh2_sftp_rmdir
  • ssh2_sftp_symlink »
  • PHP Manual
  • SSH2 Funções
  • Stat a file on a remote filesystem

ssh2_sftp_stat

(PECL ssh2 >= 0.9.0)

ssh2_sftp_stat — Stat a file on a remote filesystem

Descrição

ssh2_sftp_stat ( resource $sftp , string $path ) : array

Stats a file on the remote filesystem following any symbolic links.

This function is similar to using the stat() function with the ssh2.sftp:// wrapper in PHP 5 and returns the same values.

Parâmetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

path

Valor Retornado

See the documentation for stat() for details on the values which may be returned.

Exemplos

Exemplo #1 Stating a file via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_stat($sftp, '/path/to/file');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

Veja Também

  • ssh2_sftp_lstat() - Stat a symbolic link
  • lstat() - Obtém informações sobre um arquivo ou link simbólico
  • stat() - Obtem informações sobre um arquivo


Create a symlink

  • « ssh2_sftp_stat
  • ssh2_sftp_unlink »
  • PHP Manual
  • SSH2 Funções
  • Create a symlink

ssh2_sftp_symlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_symlink — Create a symlink

Descrição

ssh2_sftp_symlink ( resource $sftp , string $target , string $link ) : bool

Creates a symbolic link named link on the remote filesystem pointing to target.

Parâmetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

target

Target of the symbolic link.

link

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Creating a symbolic link

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_symlink($sftp, '/var/run/mysql.sock', '/tmp/mysql.sock');
?>

Veja Também

  • ssh2_sftp_readlink() - Return the target of a symbolic link
  • symlink() - Cria um link simbólico


Delete a file

  • « ssh2_sftp_symlink
  • ssh2_sftp »
  • PHP Manual
  • SSH2 Funções
  • Delete a file

ssh2_sftp_unlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_unlink — Delete a file

Descrição

ssh2_sftp_unlink ( resource $sftp , string $filename ) : bool

Deletes a file on the remote filesystem.

Parâmetros

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Deleting a file

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_unlink($sftp, '/home/username/stale_file');
?>

Veja Também

  • unlink() - Apaga um arquivo


Initialize SFTP subsystem

  • « ssh2_sftp_unlink
  • ssh2_shell »
  • PHP Manual
  • SSH2 Funções
  • Initialize SFTP subsystem

ssh2_sftp

(PECL ssh2 >= 0.9.0)

ssh2_sftp — Initialize SFTP subsystem

Descrição

ssh2_sftp ( resource $session ) : resource|false

Request the SFTP subsystem from an already connected SSH2 server.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

Valor Retornado

This method returns an SSH2 SFTP resource for use with all other ssh2_sftp_*() methods and the ssh2.sftp:// fopen wrapper, ou false em caso de falha.

Exemplos

Exemplo #1 Opening a file via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);

$stream = fopen('ssh2.sftp://' . intval($sftp) . '/path/to/file', 'r');
?>

Veja Também

  • ssh2_scp_recv() - Request a file via SCP
  • ssh2_scp_send() - Send a file via SCP


Request an interactive shell

  • « ssh2_sftp
  • ssh2_tunnel »
  • PHP Manual
  • SSH2 Funções
  • Request an interactive shell

ssh2_shell

(PECL ssh2 >= 0.9.0)

ssh2_shell — Request an interactive shell

Descrição

ssh2_shell ( resource $session , string $term_type = "vanilla" , array|null $env = null , int $width = 80 , int $height = 25 , int $width_height_type = SSH2_TERM_UNIT_CHARS ) : resource|false

Open a shell at the remote end and allocate a stream for it.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

term_type

term_type should correspond to one of the entries in the target system's /etc/termcap file.

env

env may be passed as an associative array of name/value pairs to set in the target environment.

width

Width of the virtual terminal.

height

Height of the virtual terminal.

width_height_type

width_height_type should be one of SSH2_TERM_UNIT_CHARS or SSH2_TERM_UNIT_PIXELS.

Valor Retornado

Returns a stream resource on success, ou false em caso de falha.

Exemplos

Exemplo #1 Requesting an interactive shell

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_shell($connection, 'vt102', null, 80, 24, SSH2_TERM_UNIT_CHARS);
?>

Veja Também

  • ssh2_exec() - Execute a command on a remote server
  • ssh2_tunnel() - Open a tunnel through a remote server
  • ssh2_fetch_stream() - Fetch an extended data stream


Open a tunnel through a remote server

  • « ssh2_shell
  • Stomp »
  • PHP Manual
  • SSH2 Funções
  • Open a tunnel through a remote server

ssh2_tunnel

(PECL ssh2 >= 0.9.0)

ssh2_tunnel — Open a tunnel through a remote server

Descrição

ssh2_tunnel ( resource $session , string $host , int $port ) : resource

Open a socket stream to an arbitrary host/port by way of the currently connected SSH server.

Parâmetros

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

host

port

Valor Retornado

Exemplos

Exemplo #1 Opening a tunnel to an arbitrary host

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_pubkey_file($connection, 'username', 'id_dsa.pub', 'id_dsa');

$tunnel = ssh2_tunnel($connection, '10.0.0.101', 12345);
?>

Veja Também

  • ssh2_connect() - Connect to an SSH server
  • fsockopen() - Abre um socket de conexão Internet ou de domínio Unix


Stomp Client

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Exemplos
  • Stomp Funções
    • stomp_connect_error — Returns a string description of the last connect error
    • stomp_version — Gets the current stomp extension version
  • Stomp — The Stomp class
    • Stomp::abort — Rolls back a transaction in progress
    • Stomp::ack — Acknowledges consumption of a message
    • Stomp::begin — Starts a transaction
    • Stomp::commit — Commits a transaction in progress
    • Stomp::__construct — Opens a connection
    • Stomp::__destruct — Closes stomp connection
    • Stomp::error — Gets the last stomp error
    • Stomp::getReadTimeout — Gets read timeout
    • Stomp::getSessionId — Gets the current stomp session ID
    • Stomp::hasFrame — Indicates whether or not there is a frame ready to read
    • Stomp::readFrame — Reads the next frame
    • Stomp::send — Sends a message
    • Stomp::setReadTimeout — Sets read timeout
    • Stomp::subscribe — Registers to listen to a given destination
    • Stomp::unsubscribe — Removes an existing subscription
  • StompFrame — The StompFrame class
    • StompFrame::__construct — Constructor
  • StompException — The StompException class
    • StompException::getDetails — Get exception details


Introdução

This extension allows php applications to communicate with any Stomp compliant Message Brokers through easy object oriented and procedural interfaces. » Stomp official site


Dependências

PECL/stomp requires PHP 5.2.2 or newer.

The » OpenSSL package >= 0.9.6 and the openssl extension may also be required to use stomp over SSL.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/stomp


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Stomp Opções de Configuração
Nome | Padrão | Modificável | Changelog
stomp.default_broker | tcp://localhost:61613 | PHP_INI_ALL |
stomp.default_connection_timeout_sec | 2 | PHP_INI_ALL |
stomp.default_connection_timeout_usec | 0 | PHP_INI_ALL |
stomp.default_read_timeout_sec | 2 | PHP_INI_ALL |
stomp.default_read_timeout_usec | 0 | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

stomp.default_broker string

The default broker URI to use when connecting to the message broker if no other URI is specified.

stomp.default_connection_timeout_sec int

The seconds part of the default connection timeout.

stomp.default_connection_timeout_usec int

The microseconds part of the default connection timeout.

stomp.default_read_timeout_sec int

The seconds part of the default reading timeout.

stomp.default_read_timeout_usec int

The microseconds part of the default reading timeout.


Tipos de Recurso

There is only one resource type used in the stomp extension - it's the link identifier for a stomp connection.


Exemplos

Exemplo #1 Estilo orientado à objeto

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* send a message to the queue 'foo' */
$stomp->send($queue, $msg);

/* subscribe to messages from the queue 'foo' */
$stomp->subscribe($queue);

/* read a frame */
$frame = $stomp->readFrame();

if ($frame->body === $msg) {
    var_dump($frame);

    /* acknowledge that the frame was received */
    $stomp->ack($frame);
}

/* close connection */
unset($stomp);

?>

O exemplo acima irá imprimir algo similar à:

object(StompFrame)#2 (3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["headers"]=>
  array(5) {
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257226805828"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
  ["body"]=>
  string(3) "bar"
}

Exemplo #2 Estilo procedural

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* begin a transaction */
stomp_begin($link, 't1');

/* send a message to the queue 'foo' */
stomp_send($link, $queue, $msg, array('transaction' => 't1'));

/* commit a transaction */
stomp_commit($link, 't1');

/* subscribe to messages from the queue 'foo' */
stomp_subscribe($link, $queue);

/* read a frame */
$frame = stomp_read_frame($link);

if ($frame['body'] === $msg) {
    var_dump($frame);

    /* acknowledge that the frame was received */
    stomp_ack($link, $frame['headers']['message-id']);
}

/* close connection */
stomp_close($link);

?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["body"]=>
  string(3) "bar"
  ["headers"]=>
  array(6) {
    ["transaction"]=>
    string(2) "t1"
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:3:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257227037059"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
}


Stomp Funções

Índice

  • stomp_connect_error — Returns a string description of the last connect error
  • stomp_version — Gets the current stomp extension version


Returns a string description of the last connect error

  • « Stomp Funções
  • stomp_version »
  • PHP Manual
  • Stomp Funções
  • Returns a string description of the last connect error

stomp_connect_error

(PECL stomp >= 0.3.0)

stomp_connect_error — Returns a string description of the last connect error

Descrição

stomp_connect_error ( ) : string

Returns a string description of the last connect error.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A string that describes the error, or null if no error occurred.

Exemplos

Exemplo #1 stomp_connect_error() example

<?php
$link = stomp_connect('http://localhost:61613');

if(!$link) {
    die('Connection failed: ' . stomp_connect_error());
}
?>

O exemplo acima irá imprimir algo similar à:

Connection failed: Invalid Broker URI scheme


Gets the current stomp extension version

  • « stomp_connect_error
  • Stomp »
  • PHP Manual
  • Stomp Funções
  • Gets the current stomp extension version

stomp_version

(PECL stomp >= 0.1.0)

stomp_version — Gets the current stomp extension version

Descrição

stomp_version ( ) : string

Returns a string containing the version of the current stomp extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

It returns the current stomp extension version

Exemplos

Exemplo #1 stomp_version() example

<?php

var_dump(stomp_version());

?>

O exemplo acima irá imprimir algo similar à:

string(5) "0.2.0"


The Stomp class

(PECL stomp >= 0.1.0)

Introdução

Represents a connection between PHP and a Stomp compliant Message Broker.

Sinopse da classe

Stomp {
/* Métodos */
public abort ( string $transaction_id , array $headers = ? ) : bool
public ack ( mixed $msg , array $headers = ? ) : bool
public begin ( string $transaction_id , array $headers = ? ) : bool
public commit ( string $transaction_id , array $headers = ? ) : bool
public __construct ( string $broker = ini_get("stomp.default_broker_uri") , string $username = ? , string $password = ? , array $headers = ? )
public __destruct ( ) : bool
public error ( ) : string
public getReadTimeout ( ) : array
public getSessionId ( ) : string|false
public hasFrame ( ) : bool
public readFrame ( string $class_name = "stompFrame" ) : stompframe
public send ( string $destination , mixed $msg , array $headers = ? ) : bool
public setReadTimeout ( int $seconds , int $microseconds = ? ) : void
public subscribe ( string $destination , array $headers = ? ) : bool
public unsubscribe ( string $destination , array $headers = ? ) : bool
}

Índice

  • Stomp::abort — Rolls back a transaction in progress
  • Stomp::ack — Acknowledges consumption of a message
  • Stomp::begin — Starts a transaction
  • Stomp::commit — Commits a transaction in progress
  • Stomp::__construct — Opens a connection
  • Stomp::__destruct — Closes stomp connection
  • Stomp::error — Gets the last stomp error
  • Stomp::getReadTimeout — Gets read timeout
  • Stomp::getSessionId — Gets the current stomp session ID
  • Stomp::hasFrame — Indicates whether or not there is a frame ready to read
  • Stomp::readFrame — Reads the next frame
  • Stomp::send — Sends a message
  • Stomp::setReadTimeout — Sets read timeout
  • Stomp::subscribe — Registers to listen to a given destination
  • Stomp::unsubscribe — Removes an existing subscription


Rolls back a transaction in progress

  • « Stomp
  • Stomp::ack »
  • PHP Manual
  • Stomp
  • Rolls back a transaction in progress

Stomp::abort

stomp_abort

(PECL stomp >= 0.1.0)

Stomp::abort -- stomp_abort — Rolls back a transaction in progress

Descrição

Estilo orientado à objeto (method):

public Stomp::abort ( string $transaction_id , array $headers = ? ) : bool

Estilo procedural:

stomp_abort ( resource $link , string $transaction_id , array $headers = ? ) : bool

Rolls back a transaction in progress.

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

transaction_id

The transaction to abort.

headers

Um array associativo contendo os headers adicionais.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Dica

O Stomp é naturalmente assíncrono. Comunicação síncrona pode ser implementada adicionando-se um header receipt. Isto fará os métodos não retornarem até o servidor devolver o recibo da mensagem ou até que um timeout ocorra.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* begin a transaction */
$stomp->begin('t1');

/* send a message to the queue */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));

/* rollback */
$stomp->abort('t1');

/* close connection */
unset($stomp);
?>

Exemplo #2 Estilo procedural

<?php

/* connection */
$link = stomp_connect('tcp://localhost:61613');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* begin a transaction */
stomp_begin($link, 't1');

/* send a message to the queue 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));

/* rollback */
stomp_abort($link, 't1');

/* close connection */
stomp_close($link);

?>


Acknowledges consumption of a message

  • « Stomp::abort
  • Stomp::begin »
  • PHP Manual
  • Stomp
  • Acknowledges consumption of a message

Stomp::ack

stomp_ack

(PECL stomp >= 0.1.0)

Stomp::ack -- stomp_ack — Acknowledges consumption of a message

Descrição

Estilo orientado à objeto (method):

public Stomp::ack ( mixed $msg , array $headers = ? ) : bool

Estilo procedural:

stomp_ack ( resource $link , mixed $msg , array $headers = ? ) : bool

Acknowledges consumption of a message from a subscription using client acknowledgment.

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

msg

The message/messageId to be acknowledged.

headers

Um array associativo contendo os headers adicionais.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

Um header de transição pode ser especificado, indicadno que a mensagem de conhecimento (acknowledgment) deve ser parte da transação nomeada.

Dica

O Stomp é naturalmente assíncrono. Comunicação síncrona pode ser implementada adicionando-se um header receipt. Isto fará os métodos não retornarem até o servidor devolver o recibo da mensagem ou até que um timeout ocorra.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* send a message to the queue 'foo' */
$stomp->send($queue, $msg);

/* subscribe to messages from the queue 'foo' */
$stomp->subscribe($queue);

/* read a frame */
$frame = $stomp->readFrame();

if ($frame->body === $msg) {
    /* acknowledge that the frame was received */
    $stomp->ack($frame);
}

/* remove the subscription */
$stomp->unsubscribe($queue);

/* close connection */
unset($stomp);

?>

Exemplo #2 Estilo procedural

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* begin a transaction */
stomp_begin($link, 't1');

/* send a message to the queue 'foo' */
stomp_send($link, $queue, $msg, array('transaction' => 't1'));

/* commit a transaction */
stomp_commit($link, 't1');

/* subscribe to messages from the queue 'foo' */
stomp_subscribe($link, $queue);

/* read a frame */
$frame = stomp_read_frame($link);

if ($frame['body'] === $msg) {
    /* acknowledge that the frame was received */
    stomp_ack($link, $frame['headers']['message-id']);
}

/* remove the subscription */
stomp_unsubscribe($link, $queue);

/* close connection */
stomp_close($link);

?>


Starts a transaction

  • « Stomp::ack
  • Stomp::commit »
  • PHP Manual
  • Stomp
  • Starts a transaction

Stomp::begin

stomp_begin

(PECL stomp >= 0.1.0)

Stomp::begin -- stomp_begin — Starts a transaction

Descrição

Estilo orientado à objeto (method):

public Stomp::begin ( string $transaction_id , array $headers = ? ) : bool

Estilo procedural:

stomp_begin ( resource $link , string $transaction_id , array $headers = ? ) : bool

Starts a transaction.

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

transaction_id

The transaction id.

headers

Um array associativo contendo os headers adicionais.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Dica

O Stomp é naturalmente assíncrono. Comunicação síncrona pode ser implementada adicionando-se um header receipt. Isto fará os métodos não retornarem até o servidor devolver o recibo da mensagem ou até que um timeout ocorra.

Exemplos

See stomp_commit() or stomp_abort().


Commits a transaction in progress

  • « Stomp::begin
  • Stomp::__construct »
  • PHP Manual
  • Stomp
  • Commits a transaction in progress

Stomp::commit

stomp_commit

(PECL stomp >= 0.1.0)

Stomp::commit -- stomp_commit — Commits a transaction in progress

Descrição

Estilo orientado à objeto (method):

public Stomp::commit ( string $transaction_id , array $headers = ? ) : bool

Estilo procedural:

stomp_commit ( resource $link , string $transaction_id , array $headers = ? ) : bool

Commits a transaction in progress.

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

transaction_id

The transaction id.

headers

Um array associativo contendo os headers adicionais.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Dica

O Stomp é naturalmente assíncrono. Comunicação síncrona pode ser implementada adicionando-se um header receipt. Isto fará os métodos não retornarem até o servidor devolver o recibo da mensagem ou até que um timeout ocorra.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* begin a transaction */
$stomp->begin('t1');

/* send a message to the queue */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));

/* commit */
$stomp->commit('t1');

/* close connection */
unset($stomp);

?>

Exemplo #2 Estilo procedural

<?php

/* connection */
$link = stomp_connect('tcp://localhost:61613');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* begin a transaction */
stomp_begin($link, 't1');

/* send a message to the queue 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));

/* commit */
stomp_commit($link, 't1');

/* close connection */
stomp_close($link);

?>


Opens a connection

  • « Stomp::commit
  • Stomp::__destruct »
  • PHP Manual
  • Stomp
  • Opens a connection

Stomp::__construct

stomp_connect

(PECL stomp >= 0.1.0)

Stomp::__construct -- stomp_connect — Opens a connection

Descrição

Estilo orientado à objeto (constructor):

public Stomp::__construct ( string $broker = ini_get("stomp.default_broker_uri") , string $username = ? , string $password = ? , array $headers = ? )

Estilo procedural:

stomp_connect ( string $broker = ini_get("stomp.default_broker_uri") , string $username = ? , string $password = ? , array $headers = ? ) : resource

Opens a connection to a stomp compliant Message Broker.

Parâmetros

broker

The broker URI

username

The username.

password

The password.

headers

Um array associativo contendo os headers adicionais.

Valor Retornado

Nota:

Um header de transição pode ser especificado, indicadno que a mensagem de conhecimento (acknowledgment) deve ser parte da transação nomeada.

Changelog

Versão | Descrição
PECL stomp 1.0.1 | The headers parameter was added

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* close connection */
unset($stomp);

?>

Exemplo #2 Estilo procedural

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* close connection */
stomp_close($link);

?>


Closes stomp connection

  • « Stomp::__construct
  • Stomp::error »
  • PHP Manual
  • Stomp
  • Closes stomp connection

Stomp::__destruct

stomp_close

(PECL stomp >= 0.1.0)

Stomp::__destruct -- stomp_close — Closes stomp connection

Descrição

Estilo orientado à objeto (destructor):

public Stomp::__destruct ( ) : bool

Estilo procedural:

stomp_close ( resource $link ) : bool

Closes a previously opened connection.

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

See stomp_connect().


Gets the last stomp error

  • « Stomp::__destruct
  • Stomp::getReadTimeout »
  • PHP Manual
  • Stomp
  • Gets the last stomp error

Stomp::error

stomp_error

(PECL stomp >= 0.1.0)

Stomp::error -- stomp_error — Gets the last stomp error

Descrição

Estilo orientado à objeto (method):

public Stomp::error ( ) : string

Estilo procedural:

stomp_error ( resource $link ) : string

Gets the last stomp error.

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

Valor Retornado

Returns an error string or false if no error occurred.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->error());

if (!$stomp->abort('unknown-transaction', array('receipt' => 'foo'))) {
    var_dump($stomp->error());
}

/* close connection */
unset($stomp);

?>

O exemplo acima irá imprimir algo similar à:

bool(false)
string(43) "Invalid transaction id: unknown-transaction"

Exemplo #2 Estilo procedural

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_error($link));

if (!stomp_abort($link, 'unknown-transaction', array('receipt' => 'foo'))) {
    var_dump(stomp_error($link));
}

/* close connection */
stomp_close($link);

?>

O exemplo acima irá imprimir algo similar à:

bool(false)
string(43) "Invalid transaction id: unknown-transaction"


Gets read timeout

  • « Stomp::error
  • Stomp::getSessionId »
  • PHP Manual
  • Stomp
  • Gets read timeout

Stomp::getReadTimeout

stomp_get_read_timeout

(PECL stomp >= 0.3.0)

Stomp::getReadTimeout -- stomp_get_read_timeout — Gets read timeout

Descrição

Estilo orientado à objeto (method):

public Stomp::getReadTimeout ( ) : array

Estilo procedural:

stomp_get_read_timeout ( resource $link ) : array

Gets read timeout

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

Valor Retornado

Returns an array with 2 elements: sec and usec.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->getReadTimeout());

/* close connection */
unset($stomp);

?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["sec"]=>
  int(2)
  ["usec"]=>
  int(0)
}

Exemplo #2 Estilo procedural

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_get_read_timeout($link));

/* close connection */
stomp_close($link);

?>

O exemplo acima irá imprimir algo similar à:

array(2) {
  ["sec"]=>
  int(2)
  ["usec"]=>
  int(0)
}


Gets the current stomp session ID

  • « Stomp::getReadTimeout
  • Stomp::hasFrame »
  • PHP Manual
  • Stomp
  • Gets the current stomp session ID

Stomp::getSessionId

stomp_get_session_id

(PECL stomp >= 0.1.0)

Stomp::getSessionId -- stomp_get_session_id — Gets the current stomp session ID

Descrição

Estilo orientado à objeto (method):

public Stomp::getSessionId ( ) : string|false

Estilo procedural:

stomp_get_session_id ( resource $link ) : string|false

Gets the current stomp session ID.

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

Valor Retornado

string session id on success ou false em caso de falha.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->getSessionId());

/* close connection */
unset($stomp);

?>

O exemplo acima irá imprimir algo similar à:

string(35) "ID:php.net-52873-1257291895530-4:14"

Exemplo #2 Estilo procedural

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_get_session_id($link));

/* close connection */
stomp_close($link);

?>

O exemplo acima irá imprimir algo similar à:

string(35) "ID:php.net-52873-1257291895530-4:14"


Indicates whether or not there is a frame ready to read

  • « Stomp::getSessionId
  • Stomp::readFrame »
  • PHP Manual
  • Stomp
  • Indicates whether or not there is a frame ready to read

Stomp::hasFrame

stomp_has_frame

(PECL stomp >= 0.1.0)

Stomp::hasFrame -- stomp_has_frame — Indicates whether or not there is a frame ready to read

Descrição

Estilo orientado à objeto (method):

public Stomp::hasFrame ( ) : bool

Estilo procedural:

stomp_has_frame ( resource $link ) : bool

Indicates whether or not there is a frame ready to read.

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

Valor Retornado

Returns true if a frame is ready to read, or false otherwise.


Reads the next frame

  • « Stomp::hasFrame
  • Stomp::send »
  • PHP Manual
  • Stomp
  • Reads the next frame

Stomp::readFrame

stomp_read_frame

(PECL stomp >= 0.1.0)

Stomp::readFrame -- stomp_read_frame — Reads the next frame

Descrição

Estilo orientado à objeto (method):

public Stomp::readFrame ( string $class_name = "stompFrame" ) : stompframe

Estilo procedural:

stomp_read_frame ( resource $link ) : array

Reads the next frame. It is possible to instantiate an object of a specific class, and pass parameters to that class's constructor.

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

class_name

The name of the class to instantiate. If not specified, a stompFrame object is returned.

Valor Retornado

Nota:

Um header de transição pode ser especificado, indicadno que a mensagem de conhecimento (acknowledgment) deve ser parte da transação nomeada.

Changelog

Versão | Descrição
Stomp 0.4.0 | class_name parameter was added.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* subscribe to messages from the queue 'foo' */
$stomp->subscribe('/queue/foo');

/* read a frame */
var_dump($stomp->readFrame());

/* close connection */
unset($stomp);

?>

O exemplo acima irá imprimir algo similar à:

object(StompFrame)#2 (3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["headers"]=>
  array(5) {
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257226805828"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
  ["body"]=>
  string(3) "bar"
}

Exemplo #2 Estilo procedural

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* subscribe to messages from the queue 'foo' */
stomp_subscribe($link, '/queue/foo');

/* read a frame */
$frame = stomp_read_frame($link);

/* close connection */
stomp_close($link);

?>

O exemplo acima irá imprimir algo similar à:

array(3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["body"]=>
  string(3) "bar"
  ["headers"]=>
  array(6) {
    ["transaction"]=>
    string(2) "t1"
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:3:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257227037059"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
}


Sends a message

  • « Stomp::readFrame
  • Stomp::setReadTimeout »
  • PHP Manual
  • Stomp
  • Sends a message

Stomp::send

stomp_send

(PECL stomp >= 0.1.0)

Stomp::send -- stomp_send — Sends a message

Descrição

Estilo orientado à objeto (method):

public Stomp::send ( string $destination , mixed $msg , array $headers = ? ) : bool

Estilo procedural:

stomp_send ( resource $link , string $destination , mixed $msg , array $headers = ? ) : bool

Sends a message to the Message Broker.

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

destination

Where to send the message

msg

Message to send.

headers

Um array associativo contendo os headers adicionais.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

Um header de transição pode ser especificado, indicadno que a mensagem de conhecimento (acknowledgment) deve ser parte da transação nomeada.

Dica

O Stomp é naturalmente assíncrono. Comunicação síncrona pode ser implementada adicionando-se um header receipt. Isto fará os métodos não retornarem até o servidor devolver o recibo da mensagem ou até que um timeout ocorra.

Exemplos

See stomp_ack().


Sets read timeout

  • « Stomp::send
  • Stomp::subscribe »
  • PHP Manual
  • Stomp
  • Sets read timeout

Stomp::setReadTimeout

stomp_set_read_timeout

(PECL stomp >= 0.3.0)

Stomp::setReadTimeout -- stomp_set_read_timeout — Sets read timeout

Descrição

Estilo orientado à objeto (method):

public Stomp::setReadTimeout ( int $seconds , int $microseconds = ? ) : void

Estilo procedural:

stomp_set_read_timeout ( resource $link , int $seconds , int $microseconds = ? ) : void

Sets read timeout.

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

seconds

The seconds part of the timeout to be set.

microseconds

The microseconds part of the timeout to be set.

Exemplos

Exemplo #1 Estilo orientado à objeto

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

$stomp->setReadTimeout(10);

/* close connection */
unset($stomp);

?>

Exemplo #2 Estilo procedural

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

stomp_set_read_timeout($link, 10);

/* close connection */
stomp_close($link);

?>


Registers to listen to a given destination

  • « Stomp::setReadTimeout
  • Stomp::unsubscribe »
  • PHP Manual
  • Stomp
  • Registers to listen to a given destination

Stomp::subscribe

stomp_subscribe

(PECL stomp >= 0.1.0)

Stomp::subscribe -- stomp_subscribe — Registers to listen to a given destination

Descrição

Estilo orientado à objeto (method):

public Stomp::subscribe ( string $destination , array $headers = ? ) : bool

Estilo procedural:

stomp_subscribe ( resource $link , string $destination , array $headers = ? ) : bool

Registers to listen to a given destination.

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

destination

Destination to subscribe to.

headers

Um array associativo contendo os headers adicionais.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Dica

O Stomp é naturalmente assíncrono. Comunicação síncrona pode ser implementada adicionando-se um header receipt. Isto fará os métodos não retornarem até o servidor devolver o recibo da mensagem ou até que um timeout ocorra.

Exemplos

See stomp_ack().


Removes an existing subscription

  • « Stomp::subscribe
  • StompFrame »
  • PHP Manual
  • Stomp
  • Removes an existing subscription

Stomp::unsubscribe

stomp_unsubscribe

(PECL stomp >= 0.1.0)

Stomp::unsubscribe -- stomp_unsubscribe — Removes an existing subscription

Descrição

Estilo orientado à objeto (method):

public Stomp::unsubscribe ( string $destination , array $headers = ? ) : bool

Estilo procedural:

stomp_unsubscribe ( resource $link , string $destination , array $headers = ? ) : bool

Removes an existing subscription.

Parâmetros

link

Somente no estilo procedural: O link stomp retornado por stomp_connect().

destination

Subscription to remove.

headers

Um array associativo contendo os headers adicionais.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Dica

O Stomp é naturalmente assíncrono. Comunicação síncrona pode ser implementada adicionando-se um header receipt. Isto fará os métodos não retornarem até o servidor devolver o recibo da mensagem ou até que um timeout ocorra.

Exemplos

See stomp_ack().


The StompFrame class

(PECL stomp >= 0.1.0)

Introdução

Represents a message which was sent or received from a Stomp compliant Message Broker.

Sinopse da classe

StompFrame {
/* Propriedades */
public $command ;
public $headers ;
public $body ;
/* Métodos */
__construct ( string $command = ? , array $headers = ? , string $body = ? )
}

Propriedades

command

Frame command.

headers

Frame headers (array).

body

Frame body.

Índice

  • StompFrame::__construct — Constructor


Constructor

  • « StompFrame
  • StompException »
  • PHP Manual
  • StompFrame
  • Constructor

StompFrame::__construct

(PECL stomp >= 0.1.0)

StompFrame::__construct — Constructor

Descrição

StompFrame::__construct ( string $command = ? , array $headers = ? , string $body = ? )

Constructor.

Parâmetros

command

Frame command

headers

Frame headers (array).

body

Frame body.


The StompException class

(PECL stomp >= 0.1.0)

Introdução

Represents an error raised by the stomp extension. See Exceptions for more information about Exceptions in PHP.

Sinopse da classe

StompException extends Exception {
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
/* Métodos */
public getDetails ( ) : string
}

Índice

  • StompException::getDetails — Get exception details


Get exception details

  • « StompException
  • SVM »
  • PHP Manual
  • StompException
  • Get exception details

StompException::getDetails

(PECL stomp >= 0.1.0)

StompException::getDetails — Get exception details

Descrição

public StompException::getDetails ( ) : string

Get exception details.

Valor Retornado

string containing the error details.


Support Vector Machine

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Exemplos
  • SVM — The SVM class
    • SVM::__construct — Construct a new SVM object
    • SVM::crossvalidate — Test training params on subsets of the training data
    • SVM::getOptions — Return the current training parameters
    • SVM::setOptions — Set training parameters
    • SVM::train — Create a SVMModel based on training data
  • SVMModel — The SVMModel class
    • SVMModel::checkProbabilityModel — Returns true if the model has probability information
    • SVMModel::__construct — Construct a new SVMModel
    • SVMModel::getLabels — Get the labels the model was trained on
    • SVMModel::getNrClass — Returns the number of classes the model was trained with
    • SVMModel::getSvmType — Get the SVM type the model was trained with
    • SVMModel::getSvrProbability — Get the sigma value for regression types
    • SVMModel::load — Load a saved SVM Model
    • SVMModel::predict_probability — Return class probabilities for previous unseen data
    • SVMModel::predict — Predict a value for previously unseen data
    • SVMModel::save — Save a model to a file


Introdução

LibSVM is an efficient solver for SVM classification and regression problems. The svm extension wraps this in a PHP interface for easy use in PHP scripts.


Dependências

Libsvm itself is required, and is available through some package management - libsvm-devel for RPM based system or libsvm-dev for Debian based ones. Alternatively it is available direct from the website. If installing from the » official website then some steps will need to be taken as the package does not install automatically. For example, assuming the latest version is 3.1:

wget http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz
tar xvzf libsvm-3.1.tar.gz
cd libsvm-3.1
make lib
cp libsvm.so.1 /usr/lib
ln -s libsvm.so.1 libsvm.so
ldconfig
ldconfig --print | grep libsvm

This last step should show libsvm is installed.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/svm


Exemplos

The basic process is to define parameters, supply training data to generate a model on, then make predictions based on the model. There are a default set of parameters that should get some results with most any input, so we'll start by looking at the data.

Data is supplied in either a file, a stream, or as an array. If supplied in a file or a stream, it must contain one line per training example, which must be formatted as an integer class (usually 1 and -1) followed by a series of feature/value pairs, in increasing feature order. The features are integers, the values floats, usually scaled 0-1. For example:

-1 1:0.43 3:0.12 9284:0.2

In a document classification problem, say a spam checker, each line would represent a document. There would be two classes, -1 for spam, 1 for ham. Each feature would represent some word, and the value would represent that importance of that word to the document (perhaps the frequency count, with the total scaled to unit length). Features that were 0 (e.g. the word did not appear in the document at all) would simply not be included.

In array mode, the data must be passed as an array of arrays. Each sub-array must have the class as the first element, then key => value sets for the feature values pairs.

This data is passed to the SVM class's train function, which will return an SVM model is successful.

Once a model has been generated, it can be used to make predictions about previously unseen data. This can be passed as an array to the model's predict function, in the same format as before, but without the label. The response will be the class.

Models can be saved and restored as required, using the save and load functions, which both take a file location.

Exemplo #1 Train from array

<?php
$data = array(
    array(-1, 1 => 0.43, 3 => 0.12, 9284 => 0.2),
    array(1, 1 => 0.22, 5 => 0.01, 94 => 0.11),
);

$svm = new SVM();
$model = $svm->train($data);

$data = array(1 => 0.43, 3 => 0.12, 9284 => 0.2);
$result = $model->predict($data);
var_dump($result);
$model->save('model.svm');
?>

O exemplo acima irá imprimir algo similar à:

int(-1)

Exemplo #2 Train from a file

<?php
$svm = new SVM();
$model = $svm->train("traindata.txt");
?>


The SVM class

(PECL svm >= 0.1.0)

Introdução

Sinopse da classe

SVM {
/* Constants */
const int C_SVC = 0 ;
const int NU_SVC = 1 ;
const int ONE_CLASS = 2 ;
const int EPSILON_SVR = 3 ;
const int NU_SVR = 4 ;
const int KERNEL_LINEAR = 0 ;
const int KERNEL_POLY = 1 ;
const int KERNEL_RBF = 2 ;
const int KERNEL_SIGMOID = 3 ;
const int KERNEL_PRECOMPUTED = 4 ;
const int OPT_TYPE = 101 ;
const int OPT_KERNEL_TYPE = 102 ;
const int OPT_DEGREE = 103 ;
const int OPT_SHRINKING = 104 ;
const int OPT_PROPABILITY = 105 ;
const int OPT_GAMMA = 201 ;
const int OPT_NU = 202 ;
const int OPT_EPS = 203 ;
const int OPT_P = 204 ;
const int OPT_COEF_ZERO = 205 ;
const int OPT_C = 206 ;
const int OPT_CACHE_SIZE = 207 ;
/* Methods */
public __construct ( )
public svm::crossvalidate ( array $problem , int $number_of_folds ) : float
public getOptions ( ) : array
public setOptions ( array $params ) : bool
public svm::train ( array $problem , array $weights = ? ) : SVMModel
}

Constantes pré-definidas

SVM Constants

SVM::C_SVC

The basic C_SVC SVM type. The default, and a good starting point

SVM::NU_SVC

The NU_SVC type uses a different, more flexible, error weighting

SVM::ONE_CLASS

One class SVM type. Train just on a single class, using outliers as negative examples

SVM::EPSILON_SVR

A SVM type for regression (predicting a value rather than just a class)

SVM::NU_SVR

A NU style SVM regression type

SVM::KERNEL_LINEAR

A very simple kernel, can work well on large document classification problems

SVM::KERNEL_POLY

A polynomial kernel

SVM::KERNEL_RBF

The common Gaussian RBD kernel. Handles non-linear problems well and is a good default for classification

SVM::KERNEL_SIGMOID

A kernel based on the sigmoid function. Using this makes the SVM very similar to a two layer sigmoid based neural network

SVM::KERNEL_PRECOMPUTED

A precomputed kernel - currently unsupported.

SVM::OPT_TYPE

The options key for the SVM type

SVM::OPT_KERNEL_TYPE

The options key for the kernel type

SVM::OPT_DEGREE

SVM::OPT_SHRINKING

Training parameter, boolean, for whether to use the shrinking heuristics

SVM::OPT_PROBABILITY

Training parameter, boolean, for whether to collect and use probability estimates

SVM::OPT_GAMMA

Algorithm parameter for Poly, RBF and Sigmoid kernel types.

SVM::OPT_NU

The option key for the nu parameter, only used in the NU_ SVM types

SVM::OPT_EPS

The option key for the Epsilon parameter, used in epsilon regression

SVM::OPT_P

Training parameter used by Episilon SVR regression

SVM::OPT_COEF_ZERO

Algorithm parameter for poly and sigmoid kernels

SVM::OPT_C

The option for the cost parameter that controls tradeoff between errors and generality - effectively the penalty for misclassifying training examples.

SVM::OPT_CACHE_SIZE

Memory cache size, in MB

Índice

  • SVM::__construct — Construct a new SVM object
  • SVM::crossvalidate — Test training params on subsets of the training data
  • SVM::getOptions — Return the current training parameters
  • SVM::setOptions — Set training parameters
  • SVM::train — Create a SVMModel based on training data


Construct a new SVM object

  • « SVM
  • SVM::crossvalidate »
  • PHP Manual
  • SVM
  • Construct a new SVM object

SVM::__construct

(PECL svm >= 0.1.0)

SVM::__construct — Construct a new SVM object

Descrição

public SVM::__construct ( )

Constructs a new SVM object ready to accept training data.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Throws SVMException if the libsvm library could not be loaded


Test training params on subsets of the training data

  • « SVM::__construct
  • SVM::getOptions »
  • PHP Manual
  • SVM
  • Test training params on subsets of the training data

SVM::crossvalidate

(PECL svm >= 0.1.0)

SVM::crossvalidate — Test training params on subsets of the training data

Descrição

public svm::crossvalidate ( array $problem , int $number_of_folds ) : float

Crossvalidate can be used to test the effectiveness of the current parameter set on a subset of the training data. Given a problem set and a n "folds", it separates the problem set into n subsets, and the repeatedly trains on one subset and tests on another. While the accuracy will generally be lower than a SVM trained on the enter data set, the accuracy score returned should be relatively useful, so it can be used to test different training parameters.

Parâmetros

problem

The problem data. This can either be in the form of an array, the URL of an SVMLight formatted file, or a stream to an opened SVMLight formatted datasource.

number_of_folds

The number of sets the data should be divided into and cross tested. A higher number means smaller training sets and less reliability. 5 is a good number to start with.

Valor Retornado

The correct percentage, expressed as a floating point number from 0-1. In the case of NU_SVC or EPSILON_SVR kernels the mean squared error will returned instead.

Veja Também

  • SVM::train() - Create a SVMModel based on training data


Return the current training parameters

  • « SVM::crossvalidate
  • SVM::setOptions »
  • PHP Manual
  • SVM
  • Return the current training parameters

SVM::getOptions

(PECL svm >= 0.1.0)

SVM::getOptions — Return the current training parameters

Descrição

public SVM::getOptions ( ) : array

Retrieve an array containing the training parameters. The parameters will be keyed on the predefined SVM constants.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array of configuration settings.


Set training parameters

  • « SVM::getOptions
  • SVM::train »
  • PHP Manual
  • SVM
  • Set training parameters

SVM::setOptions

(PECL svm >= 0.1.0)

SVM::setOptions — Set training parameters

Descrição

public SVM::setOptions ( array $params ) : bool

Set one or more training parameters.

Parâmetros

params

An array of training parameters, keyed on the SVM constants.

Valor Retornado

Return true on success, throws SVMException on error.


Create a SVMModel based on training data

  • « SVM::setOptions
  • SVMModel »
  • PHP Manual
  • SVM
  • Create a SVMModel based on training data

SVM::train

(PECL svm >= 0.1.0)

SVM::train — Create a SVMModel based on training data

Descrição

public svm::train ( array $problem , array $weights = ? ) : SVMModel

Train a support vector machine based on the supplied training data.

Parâmetros

problem

The problem can be provided in three different ways. An array, where the data should start with the class label (usually 1 or -1) then followed by a sparse data set of dimension => data pairs. A URL to a file containing a SVM Light formatted problem, with the each line being a new training example, the start of each line containing the class (1, -1) then a series of tab separated data values shows as key:value. A opened stream pointing to a data source formatted as in the file above.

weights

Weights are an optional set of weighting parameters for the different classes, to help account for unbalanced training sets. For example, if the classes were 1 and -1, and -1 had significantly more example than one, the weight for -1 could be 0.5. Weights should be in the range 0-1.

Valor Retornado

Returns an SVMModel that can be used to classify previously unseen data. Throws SVMException on error


The SVMModel class

(PECL svm >= 0.1.0)

Introdução

The SVMModel is the end result of the training process. It can be used to classify previously unseen data.

Sinopse da classe

SVMModel {
/* Methods */
public checkProbabilityModel ( ) : bool
public __construct ( string $filename = ? )
public getLabels ( ) : array
public getNrClass ( ) : int
public getSvmType ( ) : int
public getSvrProbability ( ) : float
public load ( string $filename ) : bool
public predict_probability ( array $data ) : float
public predict ( array $data ) : float
public save ( string $filename ) : bool
}

Índice

  • SVMModel::checkProbabilityModel — Returns true if the model has probability information
  • SVMModel::__construct — Construct a new SVMModel
  • SVMModel::getLabels — Get the labels the model was trained on
  • SVMModel::getNrClass — Returns the number of classes the model was trained with
  • SVMModel::getSvmType — Get the SVM type the model was trained with
  • SVMModel::getSvrProbability — Get the sigma value for regression types
  • SVMModel::load — Load a saved SVM Model
  • SVMModel::predict_probability — Return class probabilities for previous unseen data
  • SVMModel::predict — Predict a value for previously unseen data
  • SVMModel::save — Save a model to a file


Returns true if the model has probability information

  • « SVMModel
  • SVMModel::__construct »
  • PHP Manual
  • SVMModel
  • Returns true if the model has probability information

SVMModel::checkProbabilityModel

(PECL svm >= 0.1.5)

SVMModel::checkProbabilityModel — Returns true if the model has probability information

Descrição

public SVMModel::checkProbabilityModel ( ) : bool

Returns true if the model contains probability information.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return a boolean value


Construct a new SVMModel

  • « SVMModel::checkProbabilityModel
  • SVMModel::getLabels »
  • PHP Manual
  • SVMModel
  • Construct a new SVMModel

SVMModel::__construct

(PECL svm >= 0.1.0)

SVMModel::__construct — Construct a new SVMModel

Descrição

public SVMModel::__construct ( string $filename = ? )

Build a new SVMModel. Models will usually be created from the SVM::train function, but then saved models may be restored directly.

Parâmetros

filename

The filename for the saved model file this model should load.

Valor Retornado

Throws SVMException on error

Veja Também

  • SVMModel::load() - Load a saved SVM Model


Get the labels the model was trained on

  • « SVMModel::__construct
  • SVMModel::getNrClass »
  • PHP Manual
  • SVMModel
  • Get the labels the model was trained on

SVMModel::getLabels

(PECL svm >= 0.1.5)

SVMModel::getLabels — Get the labels the model was trained on

Descrição

public SVMModel::getLabels ( ) : array

Return an array of labels that the model was trained on. For regression and one class models an empty array is returned.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return an array of labels

Veja Também

  • SVMModel::getNrClass() - Returns the number of classes the model was trained with


Returns the number of classes the model was trained with

  • « SVMModel::getLabels
  • SVMModel::getSvmType »
  • PHP Manual
  • SVMModel
  • Returns the number of classes the model was trained with

SVMModel::getNrClass

(PECL svm >= 0.1.5)

SVMModel::getNrClass — Returns the number of classes the model was trained with

Descrição

public SVMModel::getNrClass ( ) : int

Returns the number of classes the model was trained with, will return 2 for one class and regression models.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return an integer number of classes


Get the SVM type the model was trained with

  • « SVMModel::getNrClass
  • SVMModel::getSvrProbability »
  • PHP Manual
  • SVMModel
  • Get the SVM type the model was trained with

SVMModel::getSvmType

(PECL svm >= 0.1.5)

SVMModel::getSvmType — Get the SVM type the model was trained with

Descrição

public SVMModel::getSvmType ( ) : int

Returns an integer value representing the type of the SVM model used, e.g SVM::C_SVC.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Return an integer SVM type


Get the sigma value for regression types

  • « SVMModel::getSvmType
  • SVMModel::load »
  • PHP Manual
  • SVMModel
  • Get the sigma value for regression types

SVMModel::getSvrProbability

(PECL svm >= 0.1.5)

SVMModel::getSvrProbability — Get the sigma value for regression types

Descrição

public SVMModel::getSvrProbability ( ) : float

For regression models, returns a sigma value. If there is no probability information or the model is not SVR, 0 is returned.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a sigma value


Load a saved SVM Model

  • « SVMModel::getSvrProbability
  • SVMModel::predict_probability »
  • PHP Manual
  • SVMModel
  • Load a saved SVM Model

SVMModel::load

(PECL svm >= 0.1.00.1.0)

SVMModel::load — Load a saved SVM Model

Descrição

public SVMModel::load ( string $filename ) : bool

Load a model file ready for classification or regression.

Parâmetros

filename

The filename of the model.

Valor Retornado

Throws SVMException on error. Returns true on success.

Veja Também

  • SVMModel::save() - Save a model to a file


Return class probabilities for previous unseen data

  • « SVMModel::load
  • SVMModel::predict »
  • PHP Manual
  • SVMModel
  • Return class probabilities for previous unseen data

SVMModel::predict_probability

(PECL svm >= 0.1.4)

SVMModel::predict_probability — Return class probabilities for previous unseen data

Descrição

public SVMModel::predict_probability ( array $data ) : float

This function accepts an array of data and attempts to predict the class, as with the predict function. Additionally, however, this function returns an array of probabilities, one per class in the model, which represent the estimated chance of the data supplied being a member of that class. Requires that the model to be used has been trained with the probability parameter set to true.

Parâmetros

data

The array to be classified. This should be a series of key => value pairs in increasing key order, but not necessarily continuous.

probabilities

The supplied value will be filled with the probabilities. This will be either null, in the case of a model without probability information, or an array where the index is the class name and the value the predicted probability.

Valor Retornado

Float the predicted value. This will be a class label in the case of classification, a real value in the case of regression. Throws SVMException on error

Veja Também

  • SVM::predict()


Predict a value for previously unseen data

  • « SVMModel::predict_probability
  • SVMModel::save »
  • PHP Manual
  • SVMModel
  • Predict a value for previously unseen data

SVMModel::predict

(PECL svm >= 0.1.0)

SVMModel::predict — Predict a value for previously unseen data

Descrição

public SVMModel::predict ( array $data ) : float

This function accepts an array of data and attempts to predict the class or regression value based on the model extracted from previously trained data.

Parâmetros

data

The array to be classified. This should be a series of key => value pairs in increasing key order, but not necessarily continuous.

Valor Retornado

Float the predicted value. This will be a class label in the case of classification, a real value in the case of regression. Throws SVMException on error

Veja Também

  • SVM::train() - Create a SVMModel based on training data


Save a model to a file

  • « SVMModel::predict
  • SVN »
  • PHP Manual
  • SVMModel
  • Save a model to a file

SVMModel::save

(PECL svm >= 0.1.0)

SVMModel::save — Save a model to a file

Descrição

public SVMModel::save ( string $filename ) : bool

Save the model data to a file, for later use.

Parâmetros

filename

The file to save the model to.

Valor Retornado

Throws SVMException on error. Returns true on success.

Veja Também

  • SVMModel::load() - Load a saved SVM Model


Subversion

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • SVN Funções
    • svn_add — Schedules the addition of an item in a working directory
    • svn_auth_get_parameter — Retrieves authentication parameter
    • svn_auth_set_parameter — Sets an authentication parameter
    • svn_blame — Get the SVN blame for a file
    • svn_cat — Returns the contents of a file in a repository
    • svn_checkout — Checks out a working copy from the repository
    • svn_cleanup — Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
    • svn_client_version — Returns the version of the SVN client libraries
    • svn_commit — Sends changes from the local working copy to the repository
    • svn_delete — Delete items from a working copy or repository
    • svn_diff — Recursively diffs two paths
    • svn_export — Export the contents of a SVN directory
    • svn_fs_abort_txn — Abort a transaction, returns true if everything is okay, false otherwise
    • svn_fs_apply_text — Creates and returns a stream that will be used to replace
    • svn_fs_begin_txn2 — Create a new transaction
    • svn_fs_change_node_prop — Return true if everything is ok, false otherwise
    • svn_fs_check_path — Determines what kind of item lives at path in a given repository fsroot
    • svn_fs_contents_changed — Return true if content is different, false otherwise
    • svn_fs_copy — Copies a file or a directory, returns true if all is ok, false otherwise
    • svn_fs_delete — Deletes a file or a directory, return true if all is ok, false otherwise
    • svn_fs_dir_entries — Enumerates the directory entries under path; returns a hash of dir names to file type
    • svn_fs_file_contents — Returns a stream to access the contents of a file from a given version of the fs
    • svn_fs_file_length — Returns the length of a file from a given version of the fs
    • svn_fs_is_dir — Return true if the path points to a directory, false otherwise
    • svn_fs_is_file — Return true if the path points to a file, false otherwise
    • svn_fs_make_dir — Creates a new empty directory, returns true if all is ok, false otherwise
    • svn_fs_make_file — Creates a new empty file, returns true if all is ok, false otherwise
    • svn_fs_node_created_rev — Returns the revision in which path under fsroot was created
    • svn_fs_node_prop — Returns the value of a property for a node
    • svn_fs_props_changed — Return true if props are different, false otherwise
    • svn_fs_revision_prop — Fetches the value of a named property
    • svn_fs_revision_root — Get a handle on a specific version of the repository root
    • svn_fs_txn_root — Creates and returns a transaction root
    • svn_fs_youngest_rev — Returns the number of the youngest revision in the filesystem
    • svn_import — Imports an unversioned path into a repository
    • svn_log — Returns the commit log messages of a repository URL
    • svn_ls — Returns list of directory contents in repository URL, optionally at revision number
    • svn_mkdir — Creates a directory in a working copy or repository
    • svn_repos_create — Create a new subversion repository at path
    • svn_repos_fs_begin_txn_for_commit — Create a new transaction
    • svn_repos_fs_commit_txn — Commits a transaction and returns the new revision
    • svn_repos_fs — Gets a handle on the filesystem for a repository
    • svn_repos_hotcopy — Make a hot-copy of the repos at repospath; copy it to destpath
    • svn_repos_open — Open a shared lock on a repository
    • svn_repos_recover — Run recovery procedures on the repository located at path
    • svn_revert — Revert changes to the working copy
    • svn_status — Returns the status of working copy files and directories
    • svn_update — Update working copy


Introdução

This extension implements PHP bindings for » Subversion (SVN), a version control system, allowing PHP scripts to communicate with SVN repositories and working copies without direct command line calls to the svn executable.

Aviso

Esta extensão é EXPERIMENTAL. O comportamento desta extensão — incluindo o nome de suas funções e qualquer outra documentação sobre esta extensão — poderá mudar sem aviso em futuras versões do PHP. Esta extensão deve ser usada por sua própria conta e risco.


Dependências

The Subversion binaries are not necessary to use this extension. However, when compiling the extension, libsvn (the Subversion headers) must be available.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/svn

If ./configure is having trouble finding the SVN files (for example, Subversion was installed with a different prefix directory), use ./configure --with-svn=$USR_PATH to specify the directory where the include/subversion-1/ folder is located.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.

Aviso

If the extension is compiled against libsvn 1.3, functions that work with working copies will fail when used on working copies created by Subversion 1.4.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

SVN_REVISION_HEAD (int)
Magic number (-1) specifying the HEAD revision
Constants usable with svn_auth_set_parameter()
SVN_AUTH_PARAM_DEFAULT_USERNAME (string)
Property for default username to use when performing basic authentication
SVN_AUTH_PARAM_DEFAULT_PASSWORD (string)
Property for default password to use when performing basic authentication
SVN_AUTH_PARAM_NON_INTERACTIVE (string)
SVN_AUTH_PARAM_DONT_STORE_PASSWORDS (string)
SVN_AUTH_PARAM_NO_AUTH_CACHE (string)
SVN_AUTH_PARAM_SSL_SERVER_FAILURES (string)
SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO (string)
SVN_AUTH_PARAM_CONFIG (string)
SVN_AUTH_PARAM_SERVER_GROUP (string)
SVN_AUTH_PARAM_CONFIG_DIR (string)
PHP_SVN_AUTH_PARAM_IGNORE_SSL_VERIFY_ERRORS (string)
Custom property for ignoring SSL cert verification errors
Filesystem constants
SVN_FS_CONFIG_FS_TYPE (string)
Configuration key that determines filesystem type
SVN_FS_TYPE_BDB (string)
Filesystem is Berkeley-DB implementation
SVN_FS_TYPE_FSFS (string)
Filesystem is native-filesystem implementation
Reserved property constants
SVN_PROP_REVISION_DATE (string)
svn:date
SVN_PROP_REVISION_ORIG_DATE (string)
svn:original-date
SVN_PROP_REVISION_AUTHOR (string)
svn:author
SVN_PROP_REVISION_LOG (string)
svn:log
Working copy status constants
SVN_WC_STATUS_NONE (int)
Status does not exist
SVN_WC_STATUS_UNVERSIONED (int)
Item is not versioned in working copy
SVN_WC_STATUS_NORMAL (int)
Item exists, nothing else is happening
SVN_WC_STATUS_ADDED (int)
Item is scheduled for addition
SVN_WC_STATUS_MISSING (int)
Item is versioned but missing from the working copy
SVN_WC_STATUS_DELETED (int)
Item is scheduled for deletion
SVN_WC_STATUS_REPLACED (int)
Item was deleted and then re-added
SVN_WC_STATUS_MODIFIED (int)
Item (text or properties) was modified
SVN_WC_STATUS_MERGED (int)
Item's local modifications were merged with repository modifications
SVN_WC_STATUS_CONFLICTED (int)
Item's local modifications conflicted with repository modifications
SVN_WC_STATUS_IGNORED (int)
Item is unversioned but configured to be ignored
SVN_WC_STATUS_OBSTRUCTED (int)
Unversioned item is in the way of a versioned resource
SVN_WC_STATUS_EXTERNAL (int)
Unversioned path that is populated using svn:externals
SVN_WC_STATUS_INCOMPLETE (int)
Directory does not contain complete entries list
Node type constants
SVN_NODE_NONE (int)
Absent
SVN_NODE_FILE (int)
File
SVN_NODE_DIR (int)
Directory
SVN_NODE_UNKNOWN (int)
Something Subversion cannot identify


SVN Funções

Índice

  • svn_add — Schedules the addition of an item in a working directory
  • svn_auth_get_parameter — Retrieves authentication parameter
  • svn_auth_set_parameter — Sets an authentication parameter
  • svn_blame — Get the SVN blame for a file
  • svn_cat — Returns the contents of a file in a repository
  • svn_checkout — Checks out a working copy from the repository
  • svn_cleanup — Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
  • svn_client_version — Returns the version of the SVN client libraries
  • svn_commit — Sends changes from the local working copy to the repository
  • svn_delete — Delete items from a working copy or repository
  • svn_diff — Recursively diffs two paths
  • svn_export — Export the contents of a SVN directory
  • svn_fs_abort_txn — Abort a transaction, returns true if everything is okay, false otherwise
  • svn_fs_apply_text — Creates and returns a stream that will be used to replace
  • svn_fs_begin_txn2 — Create a new transaction
  • svn_fs_change_node_prop — Return true if everything is ok, false otherwise
  • svn_fs_check_path — Determines what kind of item lives at path in a given repository fsroot
  • svn_fs_contents_changed — Return true if content is different, false otherwise
  • svn_fs_copy — Copies a file or a directory, returns true if all is ok, false otherwise
  • svn_fs_delete — Deletes a file or a directory, return true if all is ok, false otherwise
  • svn_fs_dir_entries — Enumerates the directory entries under path; returns a hash of dir names to file type
  • svn_fs_file_contents — Returns a stream to access the contents of a file from a given version of the fs
  • svn_fs_file_length — Returns the length of a file from a given version of the fs
  • svn_fs_is_dir — Return true if the path points to a directory, false otherwise
  • svn_fs_is_file — Return true if the path points to a file, false otherwise
  • svn_fs_make_dir — Creates a new empty directory, returns true if all is ok, false otherwise
  • svn_fs_make_file — Creates a new empty file, returns true if all is ok, false otherwise
  • svn_fs_node_created_rev — Returns the revision in which path under fsroot was created
  • svn_fs_node_prop — Returns the value of a property for a node
  • svn_fs_props_changed — Return true if props are different, false otherwise
  • svn_fs_revision_prop — Fetches the value of a named property
  • svn_fs_revision_root — Get a handle on a specific version of the repository root
  • svn_fs_txn_root — Creates and returns a transaction root
  • svn_fs_youngest_rev — Returns the number of the youngest revision in the filesystem
  • svn_import — Imports an unversioned path into a repository
  • svn_log — Returns the commit log messages of a repository URL
  • svn_ls — Returns list of directory contents in repository URL, optionally at revision number
  • svn_mkdir — Creates a directory in a working copy or repository
  • svn_repos_create — Create a new subversion repository at path
  • svn_repos_fs_begin_txn_for_commit — Create a new transaction
  • svn_repos_fs_commit_txn — Commits a transaction and returns the new revision
  • svn_repos_fs — Gets a handle on the filesystem for a repository
  • svn_repos_hotcopy — Make a hot-copy of the repos at repospath; copy it to destpath
  • svn_repos_open — Open a shared lock on a repository
  • svn_repos_recover — Run recovery procedures on the repository located at path
  • svn_revert — Revert changes to the working copy
  • svn_status — Returns the status of working copy files and directories
  • svn_update — Update working copy


Schedules the addition of an item in a working directory

  • « SVN Funções
  • svn_auth_get_parameter »
  • PHP Manual
  • SVN Funções
  • Schedules the addition of an item in a working directory

svn_add

(PECL svn >= 0.1.0)

svn_add — Schedules the addition of an item in a working directory

Descrição

svn_add ( string $path , bool $recursive = true , bool $force = false ) : bool

Adds the file, directory or symbolic link at path to the working directory. The item will be added to the repository the next time you call svn_commit() on the working copy.

Parâmetros

path

Path of item to add.

Nota: Caminhos relativos serão resolvidos como se o diretório atual fosse aquele que contém o binário do PHP. Para usar o diretório de trabalho do script, utilize antes realpath() ou dirname(__FILE__).

recursive

If item is directory, whether or not to recursively add all of its contents. Default is true

force

If true, Subversion will recurse into already versioned directories in order to add unversioned files that may be hiding in those directories. Default is false

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Exemplos

Exemplo #1 svn_add() example

In a working directory where svn status returns:

$ svn status
?      foobar.txt

...this code:

<?php
svn_add('foobar.txt');
?>

...will schedule foobar.txt for addition into the repository.

Veja Também

  • » SVN documentation on svn add


Retrieves authentication parameter

  • « svn_add
  • svn_auth_set_parameter »
  • PHP Manual
  • SVN Funções
  • Retrieves authentication parameter

svn_auth_get_parameter

(PECL svn >= 0.1.0)

svn_auth_get_parameter — Retrieves authentication parameter

Descrição

svn_auth_get_parameter ( string $key ) : string

Retrieves authentication parameter at key. For a list of valid keys and their meanings, consult the authentication constants list.

Parâmetros

key

String key name. Use the authentication constants defined by this extension to specify a key.

Valor Retornado

Returns the string value of the parameter at key; returns null if parameter does not exist.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • svn_auth_set_parameter() - Sets an authentication parameter
  • Authentication constants


Sets an authentication parameter

  • « svn_auth_get_parameter
  • svn_blame »
  • PHP Manual
  • SVN Funções
  • Sets an authentication parameter

svn_auth_set_parameter

(PECL svn >= 0.1.0)

svn_auth_set_parameter — Sets an authentication parameter

Descrição

svn_auth_set_parameter ( string $key , string $value ) : void

Sets authentication parameter at key to value. For a list of valid keys and their meanings, consult the authentication constants list.

Parâmetros

key

String key name. Use the authentication constants defined by this extension to specify a key.

value

String value to set to parameter at key. Format of value varies with the parameter.

Valor Retornado

Não há valor retornado.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Exemplos

Exemplo #1 Default authentication example

This example configures SVN so that the default username to use is 'Bob' and the default password is 'abc123':

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
?>

Veja Também

  • svn_auth_get_parameter() - Retrieves authentication parameter
  • Authentication constants


Get the SVN blame for a file

  • « svn_auth_set_parameter
  • svn_cat »
  • PHP Manual
  • SVN Funções
  • Get the SVN blame for a file

svn_blame

(PECL svn >= 0.3.0)

svn_blame — Get the SVN blame for a file

Descrição

svn_blame ( string $repository_url , int $revision_no = SVN_REVISION_HEAD ) : array

Get the SVN blame of a file from a repository URL.

Parâmetros

repository_url

The repository URL.

revision_no

The revision number.

Valor Retornado

An array of SVN blame information separated by line which includes the revision number, line number, line of code, author, and date.

Exemplos

Exemplo #1 svn_blame() example

<?php
$svnurl = 'http://svn.example.org/svnroot/foo/trunk/index.php';

print_r( svn_blame($svnurl) );

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] = Array
          (
           [rev] = 1
           [line_no] = 1
           [line] = Hello World
           [author] = joesmith
           [date] = 2007-07-02T05:51:26.628396Z
          )
    [1] = Array
          ...

Veja Também

  • svn_diff() - Recursively diffs two paths
  • svn_logs()
  • svn_status() - Returns the status of working copy files and directories


Returns the contents of a file in a repository

  • « svn_blame
  • svn_checkout »
  • PHP Manual
  • SVN Funções
  • Returns the contents of a file in a repository

svn_cat

(PECL svn >= 0.1.0)

svn_cat — Returns the contents of a file in a repository

Descrição

svn_cat ( string $repos_url , int $revision_no = ? ) : string

Returns the contents of the URL repos_url to a file in the repository, optionally at revision number revision_no.

Parâmetros

repos_url

String URL path to item in a repository.

revision_no

Integer revision number of item to retrieve, default is the HEAD revision.

Valor Retornado

Returns the string contents of the item from the repository on success, and false on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Exemplos

Exemplo #1 Basic example

This example retrieves the contents of a file at revision 28:

<?php
$contents = svn_cat('http://www.example.com/svnroot/calc/gui.c', 28)
?>

Veja Também

  • svn_list()
  • » SVN documentation on svn cat


Checks out a working copy from the repository

  • « svn_cat
  • svn_cleanup »
  • PHP Manual
  • SVN Funções
  • Checks out a working copy from the repository

svn_checkout

(PECL svn >= 0.1.0)

svn_checkout — Checks out a working copy from the repository

Descrição

svn_checkout ( string $repos , string $targetpath , int $revision = ? , int $flags = 0 ) : bool

Checks out a working copy from the repository at repos to targetpath at revision revision.

Parâmetros

repos

String URL path to directory in repository to check out.

targetpath

String local path to directory to check out in to

Nota: Caminhos relativos serão resolvidos como se o diretório atual fosse aquele que contém o binário do PHP. Para usar o diretório de trabalho do script, utilize antes realpath() ou dirname(__FILE__).

revision

Integer revision number of repository to check out. Default is HEAD, the most recent revision.

flags

Any combination of SVN_NON_RECURSIVE and SVN_IGNORE_EXTERNALS.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Exemplos

Exemplo #1 Basic example

This example demonstrates how to check out a directory from a repository to a directory named calc:

<?php
svn_checkout('http://www.example.com/svnroot/calc/trunk', dirname(__FILE__) . '/calc');
?>

The dirname(__FILE__) call is necessary in order to convert the calc relative path into an absolute one. If calc exists, you can also use realpath() to retrieve an absolute path.

Veja Também

  • svn_add() - Schedules the addition of an item in a working directory
  • svn_commit() - Sends changes from the local working copy to the repository
  • svn_status() - Returns the status of working copy files and directories
  • svn_update() - Update working copy
  • » SVN documentation on svn checkout


Recursively cleanup a working copy directory, finishing incomplete operations and removing locks

  • « svn_checkout
  • svn_client_version »
  • PHP Manual
  • SVN Funções
  • Recursively cleanup a working copy directory, finishing incomplete operations and removing locks

svn_cleanup

(PECL svn >= 0.1.0)

svn_cleanup — Recursively cleanup a working copy directory, finishing incomplete operations and removing locks

Descrição

svn_cleanup ( string $workingdir ) : bool

Recursively cleanup working copy directory workingdir, finishing any incomplete operations and removing working copy locks. Use when a working copy is in limbo and needs to be usable again.

Parâmetros

workingdir

String path to local working directory to cleanup

Nota: Caminhos relativos serão resolvidos como se o diretório atual fosse aquele que contém o binário do PHP. Para usar o diretório de trabalho do script, utilize antes realpath() ou dirname(__FILE__).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Exemplos

Exemplo #1 Basic example

This example demonstrates clean up of a working copy in a directory named help-me:

<?php
svn_cleanup(realpath('help-me'));
?>

The realpath() call is necessary due to SVN's quirky handling of relative paths.

Veja Também

  • update()
  • » SVN documentation on svn cleanup


Returns the version of the SVN client libraries

  • « svn_cleanup
  • svn_commit »
  • PHP Manual
  • SVN Funções
  • Returns the version of the SVN client libraries

svn_client_version

(PECL svn >= 0.1.0)

svn_client_version — Returns the version of the SVN client libraries

Descrição

svn_client_version ( ) : string

Returns the version of the SVN client libraries

Valor Retornado

String version number, usually in form of x.y.z.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Exemplos

Exemplo #1 Basic example

<?php
echo svn_client_version();
?>

O exemplo acima irá imprimir algo similar à:

1.3.1


Sends changes from the local working copy to the repository

  • « svn_client_version
  • svn_delete »
  • PHP Manual
  • SVN Funções
  • Sends changes from the local working copy to the repository

svn_commit

(PECL svn >= 0.1.0)

svn_commit — Sends changes from the local working copy to the repository

Descrição

svn_commit ( string $log , array $targets , bool $recursive = true ) : array

Commits changes made in the local working copy files enumerated in the targets array to the repository, with the log message log. Directories in the targets array will be recursively committed unless recursive is set to false.

Nota: This function does not have any parameters for specifying authentication, so a username and password must be set using svn_auth_set_parameter()

Parâmetros

log

String log text to commit

targets

Array of local paths of files to be committed

Aviso

This parameter must be an array, a string for a single target is not acceptable.

Nota: Caminhos relativos serão resolvidos como se o diretório atual fosse aquele que contém o binário do PHP. Para usar o diretório de trabalho do script, utilize antes realpath() ou dirname(__FILE__).

recursive

Boolean flag to disable recursive committing of directories in the targets array. Default is true.

Valor Retornado

Returns array in form of:

array(
    0 => integer revision number of commit
    1 => string ISO 8601 date and time of commit
    2 => name of committer
)

Returns false on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Exemplos

Exemplo #1 Basic example

This example commits the calculator directory to a repository, using the username Bob and the password abc123 (hopefully, his password is stronger):

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
var_dump(svn_commit('Log message of Bob\'s commit', array(realpath('calculator'))));
?>

O exemplo acima irá imprimir:

array(
  0 => 1415,
  1 => '2007-05-26T01:44:28.453125Z',
  2 => 'Bob'
)

Veja Também

  • svn_auth_set_parameter() - Sets an authentication parameter
  • » SVN documentation on svn commit


Delete items from a working copy or repository

  • « svn_commit
  • svn_diff »
  • PHP Manual
  • SVN Funções
  • Delete items from a working copy or repository

svn_delete

(PECL svn >= 0.4.0)

svn_delete — Delete items from a working copy or repository

Descrição

svn_delete ( string $path , bool $force = false ) : bool

Deletes the file, directory or symbolic link at path from the working directory. The item will be deleted from the repository the next time you call svn_commit() on the working copy.

Parâmetros

path

Path of item to delete.

Nota: Caminhos relativos serão resolvidos como se o diretório atual fosse aquele que contém o binário do PHP. Para usar o diretório de trabalho do script, utilize antes realpath() ou dirname(__FILE__).

force

If true, the file will be deleted even if it has local modifications. Otherwise, local modifications will result in a failure. Default is false

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Veja Também

  • » SVN documentation on svn delete


Recursively diffs two paths

  • « svn_delete
  • svn_export »
  • PHP Manual
  • SVN Funções
  • Recursively diffs two paths

svn_diff

(PECL svn >= 0.1.0)

svn_diff — Recursively diffs two paths

Descrição

svn_diff ( string $path1 , int $rev1 , string $path2 , int $rev2 ) : array

Recursively diffs two paths, path1 and path2.

Nota:

This is not a general-purpose diff utility. Only local files that are versioned may be diffed: other files will fail.

Parâmetros

path1

First path to diff. This can be a URL to a file/directory in an SVN repository or a local file/directory path.

Nota: Caminhos relativos serão resolvidos como se o diretório atual fosse aquele que contém o binário do PHP. Para usar o diretório de trabalho do script, utilize antes realpath() ou dirname(__FILE__).

Aviso

If a local file path has only backslashes and no forward slashes, this extension will fail to find the path. Always replace all backslashes with forward slashes when using this function.

rev1

First path's revision number. Use SVN_REVISION_HEAD to specify the most recent revision.

path2

Second path to diff. See path1 for description.

rev2

Second path's revision number. See rev1 for description.

Valor Retornado

Returns an array-list consisting of two streams: the first is the diff output and the second contains error stream output. The streams can be read using fread(). Returns false or null on error.

The diff output will, by default, be in the form of Subversion's custom unified diff format, but an » external diff engine may be used depending on Subversion's configuration.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Exemplos

Exemplo #1 Basic example

This example demonstrates the basic usage of this function, and the retrieval of contents from the stream:

<?php
list($diff, $errors) = svn_diff(
    'http://www.example.com/svnroot/trunk/foo', SVN_REVISION_HEAD,
    'http://www.example.com/svnroot/branches/dev/foo', SVN_REVISION_HEAD
);
if (!$diff) exit;
$contents = '';
while (!feof($diff)) {
  $contents .= fread($diff, 8192);
}
fclose($diff);
fclose($errors);
var_dump($contents);
?>

O exemplo acima irá imprimir:

Index: http://www.example.com/svnroot/trunk/foo
===================================================================
--- http://www.example.com/svnroot/trunk/foo        (.../foo) (revision 23)
+++ http://www.example.com/svnroot/branches/dev/foo (.../foo) (revision 27)
 // further diff output

Exemplo #2 Diffing two revisions of a repository path

This example implements a wrapper function that allows a user to easily diff two revisions of the same item using an external repository path (the default syntax is somewhat verbose):

<?php
function svn_diff_same_item($path, $rev1, $rev2) {
    return svn_diff($path, $rev1, $path, $rev2);
}
?>

Exemplo #3 Portably diffing two local files

This example implements a wrapper function that portably diffs two local files, compensating for the realpath() fix and the backslashes bug:

<?php
function svn_diff_local($path1, $rev1, $path2, $rev2) {
    $path1 = str_replace('\\', '/', realpath($path1));
    $path2 = str_replace('\\', '/', realpath($path2));
    return svn_diff($path1, $rev1, $path2, $rev2);
}
?>

Veja Também

  • » SVN documentation on svn diff


Export the contents of a SVN directory

  • « svn_diff
  • svn_fs_abort_txn »
  • PHP Manual
  • SVN Funções
  • Export the contents of a SVN directory

svn_export

(PECL svn >= 0.3.0)

svn_export — Export the contents of a SVN directory

Descrição

svn_export ( string $frompath , string $topath , bool $working_copy = true , int $revision_no = -1 ) : bool

Export the contents of either a working copy or repository into a 'clean' directory.

Parâmetros

frompath

The path to the current repository.

topath

The path to the new repository.

working_copy

If true, it will export uncommitted files from the working copy.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 svn_export() example

<?php
$working_dir     = '../';
$new_working_dir = '/home/user/devel/foo/trunk';

svn_export($working_dir, $new_working_dir);
?>

Veja Também

  • svn_import() - Imports an unversioned path into a repository


Abort a transaction, returns true if everything is okay, false otherwise

  • « svn_export
  • svn_fs_apply_text »
  • PHP Manual
  • SVN Funções
  • Abort a transaction, returns true if everything is okay, false otherwise

svn_fs_abort_txn

(PECL svn >= 0.2.0)

svn_fs_abort_txn — Abort a transaction, returns true if everything is okay, false otherwise

Descrição

svn_fs_abort_txn ( resource $txn ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Abort a transaction, returns true if everything is okay, false otherwise

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Creates and returns a stream that will be used to replace

  • « svn_fs_abort_txn
  • svn_fs_begin_txn2 »
  • PHP Manual
  • SVN Funções
  • Creates and returns a stream that will be used to replace

svn_fs_apply_text

(PECL svn >= 0.2.0)

svn_fs_apply_text — Creates and returns a stream that will be used to replace

Descrição

svn_fs_apply_text ( resource $root , string $path ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Creates and returns a stream that will be used to replace

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Create a new transaction

  • « svn_fs_apply_text
  • svn_fs_change_node_prop »
  • PHP Manual
  • SVN Funções
  • Create a new transaction

svn_fs_begin_txn2

(PECL svn >= 0.2.0)

svn_fs_begin_txn2 — Create a new transaction

Descrição

svn_fs_begin_txn2 ( resource $repos , int $rev ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Create a new transaction

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Return true if everything is ok, false otherwise

  • « svn_fs_begin_txn2
  • svn_fs_check_path »
  • PHP Manual
  • SVN Funções
  • Return true if everything is ok, false otherwise

svn_fs_change_node_prop

(PECL svn >= 0.2.0)

svn_fs_change_node_prop — Return true if everything is ok, false otherwise

Descrição

svn_fs_change_node_prop ( resource $root , string $path , string $name , string $value ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Return true if everything is ok, false otherwise

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Determines what kind of item lives at path in a given repository fsroot

  • « svn_fs_change_node_prop
  • svn_fs_contents_changed »
  • PHP Manual
  • SVN Funções
  • Determines what kind of item lives at path in a given repository fsroot

svn_fs_check_path

(PECL svn >= 0.1.0)

svn_fs_check_path — Determines what kind of item lives at path in a given repository fsroot

Descrição

svn_fs_check_path ( resource $fsroot , string $path ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Determines what kind of item lives at path in a given repository fsroot

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Return true if content is different, false otherwise

  • « svn_fs_check_path
  • svn_fs_copy »
  • PHP Manual
  • SVN Funções
  • Return true if content is different, false otherwise

svn_fs_contents_changed

(PECL svn >= 0.2.0)

svn_fs_contents_changed — Return true if content is different, false otherwise

Descrição

svn_fs_contents_changed ( resource $root1 , string $path1 , resource $root2 , string $path2 ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Return true if content is different, false otherwise

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Copies a file or a directory, returns true if all is ok, false otherwise

  • « svn_fs_contents_changed
  • svn_fs_delete »
  • PHP Manual
  • SVN Funções
  • Copies a file or a directory, returns true if all is ok, false otherwise

svn_fs_copy

(PECL svn >= 0.2.0)

svn_fs_copy — Copies a file or a directory, returns true if all is ok, false otherwise

Descrição

svn_fs_copy ( resource $from_root , string $from_path , resource $to_root , string $to_path ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Copies a file or a directory, returns true if all is ok, false otherwise

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Deletes a file or a directory, return true if all is ok, false otherwise

  • « svn_fs_copy
  • svn_fs_dir_entries »
  • PHP Manual
  • SVN Funções
  • Deletes a file or a directory, return true if all is ok, false otherwise

svn_fs_delete

(PECL svn >= 0.2.0)

svn_fs_delete — Deletes a file or a directory, return true if all is ok, false otherwise

Descrição

svn_fs_delete ( resource $root , string $path ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Deletes a file or a directory, return true if all is ok, false otherwise

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Enumerates the directory entries under path; returns a hash of dir names to file type

  • « svn_fs_delete
  • svn_fs_file_contents »
  • PHP Manual
  • SVN Funções
  • Enumerates the directory entries under path; returns a hash of dir names to file type

svn_fs_dir_entries

(PECL svn >= 0.1.0)

svn_fs_dir_entries — Enumerates the directory entries under path; returns a hash of dir names to file type

Descrição

svn_fs_dir_entries ( resource $fsroot , string $path ) : array
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Enumerates the directory entries under path; returns a hash of dir names to file type

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Returns a stream to access the contents of a file from a given version of the fs

  • « svn_fs_dir_entries
  • svn_fs_file_length »
  • PHP Manual
  • SVN Funções
  • Returns a stream to access the contents of a file from a given version of the fs

svn_fs_file_contents

(PECL svn >= 0.1.0)

svn_fs_file_contents — Returns a stream to access the contents of a file from a given version of the fs

Descrição

svn_fs_file_contents ( resource $fsroot , string $path ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns a stream to access the contents of a file from a given version of the fs

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Returns the length of a file from a given version of the fs

  • « svn_fs_file_contents
  • svn_fs_is_dir »
  • PHP Manual
  • SVN Funções
  • Returns the length of a file from a given version of the fs

svn_fs_file_length

(PECL svn >= 0.1.0)

svn_fs_file_length — Returns the length of a file from a given version of the fs

Descrição

svn_fs_file_length ( resource $fsroot , string $path ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the length of a file from a given version of the fs

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Return true if the path points to a directory, false otherwise

  • « svn_fs_file_length
  • svn_fs_is_file »
  • PHP Manual
  • SVN Funções
  • Return true if the path points to a directory, false otherwise

svn_fs_is_dir

(PECL svn >= 0.2.0)

svn_fs_is_dir — Return true if the path points to a directory, false otherwise

Descrição

svn_fs_is_dir ( resource $root , string $path ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Return true if the path points to a directory, false otherwise

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Return true if the path points to a file, false otherwise

  • « svn_fs_is_dir
  • svn_fs_make_dir »
  • PHP Manual
  • SVN Funções
  • Return true if the path points to a file, false otherwise

svn_fs_is_file

(PECL svn >= 0.2.0)

svn_fs_is_file — Return true if the path points to a file, false otherwise

Descrição

svn_fs_is_file ( resource $root , string $path ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Return true if the path points to a file, false otherwise

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Creates a new empty directory, returns true if all is ok, false otherwise

  • « svn_fs_is_file
  • svn_fs_make_file »
  • PHP Manual
  • SVN Funções
  • Creates a new empty directory, returns true if all is ok, false otherwise

svn_fs_make_dir

(PECL svn >= 0.2.0)

svn_fs_make_dir — Creates a new empty directory, returns true if all is ok, false otherwise

Descrição

svn_fs_make_dir ( resource $root , string $path ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Creates a new empty directory, returns true if all is ok, false otherwise

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Creates a new empty file, returns true if all is ok, false otherwise

  • « svn_fs_make_dir
  • svn_fs_node_created_rev »
  • PHP Manual
  • SVN Funções
  • Creates a new empty file, returns true if all is ok, false otherwise

svn_fs_make_file

(PECL svn >= 0.2.0)

svn_fs_make_file — Creates a new empty file, returns true if all is ok, false otherwise

Descrição

svn_fs_make_file ( resource $root , string $path ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Creates a new empty file, returns true if all is ok, false otherwise

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Returns the revision in which path under fsroot was created

  • « svn_fs_make_file
  • svn_fs_node_prop »
  • PHP Manual
  • SVN Funções
  • Returns the revision in which path under fsroot was created

svn_fs_node_created_rev

(PECL svn >= 0.1.0)

svn_fs_node_created_rev — Returns the revision in which path under fsroot was created

Descrição

svn_fs_node_created_rev ( resource $fsroot , string $path ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the revision in which path under fsroot was created

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Returns the value of a property for a node

  • « svn_fs_node_created_rev
  • svn_fs_props_changed »
  • PHP Manual
  • SVN Funções
  • Returns the value of a property for a node

svn_fs_node_prop

(PECL svn >= 0.1.0)

svn_fs_node_prop — Returns the value of a property for a node

Descrição

svn_fs_node_prop ( resource $fsroot , string $path , string $propname ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the value of a property for a node

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Return true if props are different, false otherwise

  • « svn_fs_node_prop
  • svn_fs_revision_prop »
  • PHP Manual
  • SVN Funções
  • Return true if props are different, false otherwise

svn_fs_props_changed

(PECL svn >= 0.2.0)

svn_fs_props_changed — Return true if props are different, false otherwise

Descrição

svn_fs_props_changed ( resource $root1 , string $path1 , resource $root2 , string $path2 ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Return true if props are different, false otherwise

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Fetches the value of a named property

  • « svn_fs_props_changed
  • svn_fs_revision_root »
  • PHP Manual
  • SVN Funções
  • Fetches the value of a named property

svn_fs_revision_prop

(PECL svn >= 0.1.0)

svn_fs_revision_prop — Fetches the value of a named property

Descrição

svn_fs_revision_prop ( resource $fs , int $revnum , string $propname ) : string
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Fetches the value of a named property

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Get a handle on a specific version of the repository root

  • « svn_fs_revision_prop
  • svn_fs_txn_root »
  • PHP Manual
  • SVN Funções
  • Get a handle on a specific version of the repository root

svn_fs_revision_root

(PECL svn >= 0.1.0)

svn_fs_revision_root — Get a handle on a specific version of the repository root

Descrição

svn_fs_revision_root ( resource $fs , int $revnum ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Get a handle on a specific version of the repository root

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Creates and returns a transaction root

  • « svn_fs_revision_root
  • svn_fs_youngest_rev »
  • PHP Manual
  • SVN Funções
  • Creates and returns a transaction root

svn_fs_txn_root

(PECL svn >= 0.2.0)

svn_fs_txn_root — Creates and returns a transaction root

Descrição

svn_fs_txn_root ( resource $txn ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Creates and returns a transaction root

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Returns the number of the youngest revision in the filesystem

  • « svn_fs_txn_root
  • svn_import »
  • PHP Manual
  • SVN Funções
  • Returns the number of the youngest revision in the filesystem

svn_fs_youngest_rev

(PECL svn >= 0.1.0)

svn_fs_youngest_rev — Returns the number of the youngest revision in the filesystem

Descrição

svn_fs_youngest_rev ( resource $fs ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Returns the number of the youngest revision in the filesystem

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Imports an unversioned path into a repository

  • « svn_fs_youngest_rev
  • svn_log »
  • PHP Manual
  • SVN Funções
  • Imports an unversioned path into a repository

svn_import

(PECL svn >= 0.2.0)

svn_import — Imports an unversioned path into a repository

Descrição

svn_import ( string $path , string $url , bool $nonrecursive ) : bool

Commits unversioned path into repository at url. If path is a directory and nonrecursive is false, the directory will be imported recursively.

Parâmetros

path

Path of file or directory to import.

Nota: Caminhos relativos serão resolvidos como se o diretório atual fosse aquele que contém o binário do PHP. Para usar o diretório de trabalho do script, utilize antes realpath() ou dirname(__FILE__).

url

Repository URL to import into.

nonrecursive

Whether or not to refrain from recursively processing directories.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Exemplos

Exemplo #1 Basic example

This example demonstrates a basic use-case of this function. To import a directory named new-files into the repository at http://www.example.com/svnroot/incoming/abc, use:

<?php
svn_import(realpath('new-files'), 'http://www.example.com/svnroot/incoming/abc', false);
?>

Veja Também

  • svn_add() - Schedules the addition of an item in a working directory
  • » SVN documentation for svn import


Returns the commit log messages of a repository URL

  • « svn_import
  • svn_ls »
  • PHP Manual
  • SVN Funções
  • Returns the commit log messages of a repository URL

svn_log

(PECL svn >= 0.1.0)

svn_log — Returns the commit log messages of a repository URL

Descrição

svn_log ( string $repos_url , int $start_revision = ? , int $end_revision = ? , int $limit = 0 , int $flags = SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY ) : array

svn_log() returns the complete history of the item at the repository URL repos_url, or the history of a specific revision if start_revision is set. This function is equivalent to svn log --verbose -r $start_revision $repos_url.

Parâmetros

repos_url

Repository URL of the item to retrieve log history from.

start_revision

Revision number of the first log to retrieve. Use SVN_REVISION_HEAD to retrieve the log from the most recent revision.

end_revision

Revision number of the last log to retrieve. Defaults to start_revision if specified or to SVN_REVISION_INITIAL otherwise.

limit

Number of logs to retrieve.

flags

Any combination of SVN_OMIT_MESSAGES, SVN_DISCOVER_CHANGED_PATHS and SVN_STOP_ON_COPY.

Valor Retornado

On success, this function returns an array file listing in the format of:

[0] => Array, ordered most recent (highest) revision first
(
    [rev] => integer revision number
    [author] => string author name
    [msg] => string log message
    [date] => string date formatted per ISO 8601, i.e. date('c')
    [paths] => Array, describing changed files
        (
            [0] => Array
                (
                    [action] => string letter signifying change
                    [path] =>  absolute repository path of changed file
                )
            [1] => ...
        )
)
[1] => ...

Nota:

The output will always be a numerically indexed array of arrays, even when there are none or only one log message(s).

The value of action is a subset of the » status output in the first column, where possible values are:

Actions
Letter | Description
M | Item/props was modified
A | Item was added
D | Item was deleted
R | Item was replaced

If no changes were made to the item, an empty array is returned.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Exemplos

Exemplo #1 svn_log() example

<?php
print_r( svn_log('http://www.example.com/', 23) );
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
    (
        [rev] => 23
        [author] => 'joe'
        [msg] => 'Add cheese and salami to our sandwich.'
        [date] => '2007-04-06T16:00:27-04:00'
        [paths] => Array
            (
                [0] => Array
                    (
                        [action] => 'M'
                        [path] =>  '/sandwich.txt'
                    )
            )
    )
)

Veja Também

  • » SVN documentation on svn log


Returns list of directory contents in repository URL, optionally at revision number

  • « svn_log
  • svn_mkdir »
  • PHP Manual
  • SVN Funções
  • Returns list of directory contents in repository URL, optionally at revision number

svn_ls

(PECL svn >= 0.1.0)

svn_ls — Returns list of directory contents in repository URL, optionally at revision number

Descrição

svn_ls ( string $repos_url , int $revision_no = SVN_REVISION_HEAD , bool $recurse = false , bool $peg = false ) : array

This function queries the repository URL and returns a list of files and directories, optionally from a specific revision. This is equivalent to svn list $repos_url[@$revision_no]

Nota:

This function does not work with working copies. repos_url must be a repository URL.

Parâmetros

url

URL of the repository, eg. http://www.example.com/svnroot. To access a local Subversion repository via filesystem, use the file URI scheme, eg. file:///home/user/svn-repos

revision

Integer revision number to retrieve listing of. When omitted, the HEAD revision is used.

recurse

Enables recursion.

Valor Retornado

On success, this function returns an array file listing in the format of:

[0] => Array
    (
        [created_rev] => integer revision number of last edit
        [last_author] => string author name of last edit
        [size] => integer byte file size of file
        [time] => string date of last edit in form 'M d H:i'
                  or 'M d Y', depending on how old the file is
        [time_t] => integer unix timestamp of last edit
        [name] => name of file/directory
        [type] => type, can be 'file' or 'dir'
    )
[1] => ...

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Exemplos

Exemplo #1 svn_ls() example

<?php
print_r( svn_ls('http://www.example.com/svnroot/') );
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Array
        (
            [created_rev] => 20
            [last_author] => Joe
            [size] => 0
            [time] => Apr 02 09:28
            [time_t] => 1175520529
            [name] => tags
            [type] => dir
        )
    [1] => Array
        (
            [created_rev] => 23
            [last_author] => Bob
            [size] => 0
            [time] => Apr 02 15:15
            [time_t] => 1175541322
            [name] => trunk
            [type] => dir
        )
)

Veja Também

  • » SVN documentation on svn list


Creates a directory in a working copy or repository

  • « svn_ls
  • svn_repos_create »
  • PHP Manual
  • SVN Funções
  • Creates a directory in a working copy or repository

svn_mkdir

(PECL svn >= 0.4.0)

svn_mkdir — Creates a directory in a working copy or repository

Descrição

svn_mkdir ( string $path , string $log_message = ? ) : bool

Creates a directory in a working copy or repository.

Parâmetros

path

The path to the working copy or repository.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • svn_add() - Schedules the addition of an item in a working directory
  • svn_copy()


Create a new subversion repository at path

  • « svn_mkdir
  • svn_repos_fs_begin_txn_for_commit »
  • PHP Manual
  • SVN Funções
  • Create a new subversion repository at path

svn_repos_create

(PECL svn >= 0.1.0)

svn_repos_create — Create a new subversion repository at path

Descrição

svn_repos_create ( string $path , array $config = ? , array $fsconfig = ? ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Create a new subversion repository at path

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Create a new transaction

  • « svn_repos_create
  • svn_repos_fs_commit_txn »
  • PHP Manual
  • SVN Funções
  • Create a new transaction

svn_repos_fs_begin_txn_for_commit

(PECL svn >= 0.2.0)

svn_repos_fs_begin_txn_for_commit — Create a new transaction

Descrição

svn_repos_fs_begin_txn_for_commit ( resource $repos , int $rev , string $author , string $log_msg ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Create a new transaction

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Commits a transaction and returns the new revision

  • « svn_repos_fs_begin_txn_for_commit
  • svn_repos_fs »
  • PHP Manual
  • SVN Funções
  • Commits a transaction and returns the new revision

svn_repos_fs_commit_txn

(PECL svn >= 0.2.0)

svn_repos_fs_commit_txn — Commits a transaction and returns the new revision

Descrição

svn_repos_fs_commit_txn ( resource $txn ) : int
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Commits a transaction and returns the new revision

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Gets a handle on the filesystem for a repository

  • « svn_repos_fs_commit_txn
  • svn_repos_hotcopy »
  • PHP Manual
  • SVN Funções
  • Gets a handle on the filesystem for a repository

svn_repos_fs

(PECL svn >= 0.1.0)

svn_repos_fs — Gets a handle on the filesystem for a repository

Descrição

svn_repos_fs ( resource $repos ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Gets a handle on the filesystem for a repository

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Make a hot-copy of the repos at repospath; copy it to destpath

  • « svn_repos_fs
  • svn_repos_open »
  • PHP Manual
  • SVN Funções
  • Make a hot-copy of the repos at repospath; copy it to destpath

svn_repos_hotcopy

(PECL svn >= 0.1.0)

svn_repos_hotcopy — Make a hot-copy of the repos at repospath; copy it to destpath

Descrição

svn_repos_hotcopy ( string $repospath , string $destpath , bool $cleanlogs ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Make a hot-copy of the repos at repospath; copy it to destpath

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Open a shared lock on a repository

  • « svn_repos_hotcopy
  • svn_repos_recover »
  • PHP Manual
  • SVN Funções
  • Open a shared lock on a repository

svn_repos_open

(PECL svn >= 0.1.0)

svn_repos_open — Open a shared lock on a repository

Descrição

svn_repos_open ( string $path ) : resource
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Open a shared lock on a repository.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Run recovery procedures on the repository located at path

  • « svn_repos_open
  • svn_revert »
  • PHP Manual
  • SVN Funções
  • Run recovery procedures on the repository located at path

svn_repos_recover

(PECL svn >= 0.1.0)

svn_repos_recover — Run recovery procedures on the repository located at path

Descrição

svn_repos_recover ( string $path ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Run recovery procedures on the repository located at path.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.


Revert changes to the working copy

  • « svn_repos_recover
  • svn_status »
  • PHP Manual
  • SVN Funções
  • Revert changes to the working copy

svn_revert

(PECL svn >= 0.3.0)

svn_revert — Revert changes to the working copy

Descrição

svn_revert ( string $path , bool $recursive = false ) : bool

Revert any local changes to the path in a working copy.

Parâmetros

path

The path to the working repository.

recursive

Optionally make recursive changes.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • svn_delete() - Delete items from a working copy or repository
  • svn_export() - Export the contents of a SVN directory


Returns the status of working copy files and directories

  • « svn_revert
  • svn_update »
  • PHP Manual
  • SVN Funções
  • Returns the status of working copy files and directories

svn_status

(PECL svn >= 0.1.0)

svn_status — Returns the status of working copy files and directories

Descrição

svn_status ( string $path , int $flags = 0 ) : array

Returns the status of working copy files and directories, giving modifications, additions, deletions and other changes to items in the working copy.

Parâmetros

path

Local path to file or directory to retrieve status of.

Nota: Caminhos relativos serão resolvidos como se o diretório atual fosse aquele que contém o binário do PHP. Para usar o diretório de trabalho do script, utilize antes realpath() ou dirname(__FILE__).

flags

Any combination of Svn::NON_RECURSIVE, Svn::ALL (regardless of modification status), Svn::SHOW_UPDATES (entries will be added for items that are out-of-date), Svn::NO_IGNORE (disregard svn:ignore properties when scanning for new files) and Svn::IGNORE_EXTERNALS.

Valor Retornado

Returns a numerically indexed array of associative arrays detailing the status of items in the repository:

Array (
    [0] => Array (
        // information on item
    )
    [1] => ...
)

The information on the item is an associative array that can contain the following keys:

path
String path to file/directory of this entry on local filesystem.
text_status
Status of item's text. Veja em status constants os valores possíveis.
repos_text_status
Status of item's text in repository. Only accurate if update was set to true. Veja em status constants os valores possíveis.
prop_status
Status of item's properties. Veja em status constants os valores possíveis.
repos_prop_status
Status of item's property in repository. Only accurate if update was set to true. Veja em status constants os valores possíveis.
locked
Whether or not the item is locked. (Only set if true.)
copied
Whether or not the item was copied (scheduled for addition with history). (Only set if true.)
switched
Whether or not the item was switched using the switch command. (Only set if true)

These keys are only set if the item is versioned:

name
Base name of item in repository.
url
URL of item in repository.
repos
Base URL of repository.
revision
Integer revision of item in working copy.
kind
Type of item, i.e. file or directory. Veja em type constants os valores possíveis.
schedule
Scheduled action for item, i.e. addition or deletion. Constants for these magic numbers are not available, they can be emulated by using:
<?php
if (!defined('svn_wc_schedule_normal')) {
    define('svn_wc_schedule_normal',  0); // nothing special
    define('svn_wc_schedule_add',     1); // item will be added
    define('svn_wc_schedule_delete',  2); // item will be deleted
    define('svn_wc_schedule_replace', 3); // item will be added and deleted
}
?>
deleted
Whether or not the item was deleted, but parent revision lags behind. (Only set if true.)
absent
Whether or not the item is absent, that is, Subversion knows that there should be something there but there isn't. (Only set if true.)
incomplete
Whether or not the entries file for a directory is incomplete. (Only set if true.)
cmt_date
Integer Unix timestamp of last commit date. (Unaffected by update.)
cmt_rev
Integer revision of last commit. (Unaffected by update.)
cmt_author
String author of last commit. (Unaffected by update.)
prop_time
Integer Unix timestamp of last up-to-date time for properties
text_time
Integer Unix timestamp of last up-to-date time for text

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Exemplos

Exemplo #1 Basic example

This example demonstrates a basic, theoretical usage of this function.

<?php
print_r(svn_status(realpath('wc')));
?>

O exemplo acima irá imprimir algo similar à:

Array (
    [0] => Array (
        [path] => /home/bob/wc/sandwich.txt
        [text_status] => 8 // item was modified
        [repos_text_status] => 1 // no information available, use update
        [prop_status] => 3 // no changes
        [repos_prop_status] => 1 // no information available, use update
        [name] => sandwich.txt
        [url] => http://www.example.com/svnroot/deli/trunk/sandwich.txt
        [repos] => http://www.example.com/svnroot/
        [revision] => 123
        [kind] => 1 // file
        [schedule] => 0 // no special actions scheduled
        [cmt_date] => 1165543135
        [cmt_rev] => 120
        [cmt_author] => Alice
        [prop_time] => 1180201728
        [text_time] => 1180201729
    )
)

Veja Também

  • svn_update() - Update working copy
  • svn_log() - Returns the commit log messages of a repository URL
  • » SVN documentation for svn status


Update working copy

  • « svn_status
  • TCP »
  • PHP Manual
  • SVN Funções
  • Update working copy

svn_update

(PECL svn >= 0.1.0)

svn_update — Update working copy

Descrição

svn_update ( string $path , int $revno = SVN_REVISION_HEAD , bool $recurse = true ) : int

Update working copy at path to revision revno. If recurse is true, directories will be recursively updated.

Parâmetros

path

Path to local working copy.

Nota: Caminhos relativos serão resolvidos como se o diretório atual fosse aquele que contém o binário do PHP. Para usar o diretório de trabalho do script, utilize antes realpath() ou dirname(__FILE__).

revno

Revision number to update to, default is SVN_REVISION_HEAD.

recurse

Whether or not to recursively update directories.

Valor Retornado

Returns new revision number on success, returns false on failure.

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Exemplos

Exemplo #1 Basic example

This example demonstrates basic usage of this function:

<?php
echo svn_update(realpath('working-copy'));
?>

O exemplo acima irá imprimir algo similar à:

234

Veja Também

  • svn_checkout() - Checks out a working copy from the repository
  • svn_commit() - Sends changes from the local working copy to the repository
  • » SVN documentation for svn update


TCP Wrappers

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções de TCP
    • tcpwrap_check — Performs a tcpwrap check


Introdução

A TCP wrappers fornece um mecanismo clássico do Unix que foi projetado para verificar se o cliente remoto está disponível para conexão pelo dada endereço IP.


Instalação

Tcpwrap está atualmente disponível através do PECL » https://pecl.php.net/package/tcpwrap.

Se » PEAR está disponível em seu sistema *nix-like você pode usar o instalador pear para instalar a extensão tcpwrap, pelo seguinte comando: pear -v install tcpwrap.

Você pode sempre fazer download do pacote tar.gz e instalar a tcpwrap manualmente:

Exemplo #1 Instalando tcpwrap manualmente

gunzip tcpwrap-xxx.tgz
tar -xvf tcpwrap-xxx.tar
cd tcpwrap-xxx
phpize
./configure && make && make install


  • « Tipos de Recurso
  • Funções de TCP »
  • PHP Manual
  • TCP
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


  • « Constantes pré-definidas
  • tcpwrap_check »
  • PHP Manual
  • TCP
  • Funções de TCP

Funções de TCP

Índice

  • tcpwrap_check — Performs a tcpwrap check


Performs a tcpwrap check

  • « Funções de TCP
  • Varnish »
  • PHP Manual
  • Funções de TCP
  • Performs a tcpwrap check

tcpwrap_check

(PECL tcpwrap >= 0.1.0)

tcpwrap_check — Performs a tcpwrap check

Descrição

tcpwrap_check ( string $daemon , string $address , string $user = ? , bool $nodns = false ) : bool

This function consults the /etc/hosts.allow and /etc/hosts.deny files to check if access to service daemon should be granted or denied for a client.

Parâmetros

daemon

The service name.

address

The client remote address. Can be either an IP address or a domain name.

user

An optional user name.

nodns

If address looks like domain name then DNS is used to resolve it to IP address; set nodns to true to avoid this.

Valor Retornado

This function returns true if access should be granted, false otherwise.

Exemplos

Exemplo #1 Deny all connections from localhost

If your /etc/hosts.deny file contains:

php: 127.0.0.1

And your code looks like:

<?php
if (!tcpwrap_check('php', $_SERVER['REMOTE_ADDR'])) {
  die('You are not welcome here');
}
?>

Veja Também

For more details please consult hosts_access(3) man page.


Varnish

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Basic VarnishAdmin usage
    • Basic VarnishStat usage
    • Basic VarnishLog usage
  • VarnishAdmin — The VarnishAdmin class
    • VarnishAdmin::auth — Authenticate on a varnish instance
    • VarnishAdmin::ban — Ban URLs using a VCL expression
    • VarnishAdmin::banUrl — Ban an URL using a VCL expression
    • VarnishAdmin::clearPanic — Clear varnish instance panic messages
    • VarnishAdmin::connect — Connect to a varnish instance administration interface
    • VarnishAdmin::__construct — VarnishAdmin constructor
    • VarnishAdmin::disconnect — Disconnect from a varnish instance administration interface
    • VarnishAdmin::getPanic — Get the last panic message on a varnish instance
    • VarnishAdmin::getParams — Fetch current varnish instance configuration parameters
    • VarnishAdmin::isRunning — Check if the varnish slave process is currently running
    • VarnishAdmin::setCompat — Set the class compat configuration param
    • VarnishAdmin::setHost — Set the class host configuration param
    • VarnishAdmin::setIdent — Set the class ident configuration param
    • VarnishAdmin::setParam — Set configuration param on the current varnish instance
    • VarnishAdmin::setPort — Set the class port configuration param
    • VarnishAdmin::setSecret — Set the class secret configuration param
    • VarnishAdmin::setTimeout — Set the class timeout configuration param
    • VarnishAdmin::start — Start varnish worker process
    • VarnishAdmin::stop — Stop varnish worker process
  • VarnishStat — The VarnishStat class
    • VarnishStat::__construct — VarnishStat constructor
    • VarnishStat::getSnapshot — Get the current varnish instance statistics snapshot
  • VarnishLog — The VarnishLog class
    • VarnishLog::__construct — Varnishlog constructor
    • VarnishLog::getLine — Get next log line
    • VarnishLog::getTagName — Get the log tag string representation by its index


Introdução

Varnish Cache is an open source, state of the art web application accelerator. The extension makes it possible to interact with a running varnish instance through TCP socket or shared memory.


Dependências

To use this extension, you will need Varnish Cache of the version >=3.0 installed, available on the » Varnish Cache homepage


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/varnish.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/varnish/.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

VARNISH_STATUS_SYNTAX (int)
VARNISH_STATUS_UNKNOWN (int)
VARNISH_STATUS_UNIMPL (int)
VARNISH_STATUS_TOOFEW (int)
VARNISH_STATUS_TOOMANY (int)
VARNISH_STATUS_PARAM (int)
VARNISH_STATUS_AUTH (int)
VARNISH_STATUS_OK (int)
VARNISH_STATUS_CANT (int)
VARNISH_STATUS_COMMS (int)
VARNISH_STATUS_CLOSE (int)
VARNISH_CONFIG_IDENT (string)
VARNISH_CONFIG_HOST (string)
VARNISH_CONFIG_PORT (string)
VARNISH_CONFIG_TIMEOUT (string)
VARNISH_CONFIG_SECRET (string)
VARNISH_CONFIG_COMPAT (string)
VARNISH_COMPAT_2 (int)
VARNISH_COMPAT_3 (int)


  • « Constantes pré-definidas
  • Basic VarnishAdmin usage »
  • PHP Manual
  • Varnish
  • Exemplos

Exemplos

Índice

  • Basic VarnishAdmin usage
  • Basic VarnishStat usage
  • Basic VarnishLog usage


Basic VarnishAdmin usage

The example illustrates a simple usage of the ban functionality

Exemplo #1 Ban an URL

<?php

$args = array(
    VARNISH_CONFIG_HOST    => "::1",
    VARNISH_CONFIG_PORT    => 6082,
    VARNISH_CONFIG_SECRET  => "5174826b-8595-4958-aa7a-0609632ad7ca",
    VARNISH_CONFIG_TIMEOUT => 300,
);

$va = new VarnishAdmin($args);

try {
    if(!$va->connect()) {
        throw new VarnishException("Connection failed\n");
    }
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

try {
    if(!$va->auth()) {
        throw new VarnishException("Auth failed\n");
    }
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

try {
    $status = $va->ban('req.url ~ "^/$"');
    if (VARNISH_STATUS_OK != $status) {
        throw new VarnishException("Ban method returned $status status\n");
    }
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

exit(0);

?>


Basic VarnishStat usage

The example illustrates getting varnish statistic snapshot from shared memory

Exemplo #1 Get statistic snapshot

<?php

$vs = new VarnishStat;

try {
    $data = $vs->getSnapshot();
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

exit(0);
?>


Basic VarnishLog usage

The example illustrates reading varnish log lines from shared memory

Exemplo #1 Read varnish shared memory log

<?php

$vl = new VarnishLog;
while(1) {
    $line = $vl->getLine();
    printf("%s %d %s", VarnishLog::getTagName($line['tag'], $line['id'],
    $line['data']);
}

exit(0);
?>


The VarnishAdmin class

(PECL varnish >= 0.3)

Introdução

Sinopse da classe

VarnishAdmin {
/* Métodos */
public auth ( ) : bool
public ban ( string $vcl_regex ) : int
public banUrl ( string $vcl_regex ) : int
public clearPanic ( ) : int
public connect ( ) : bool
public __construct ( array $args = ? )
public disconnect ( ) : bool
public getPanic ( ) : string
public getParams ( ) : array
public isRunning ( ) : bool
public setCompat ( int $compat ) : void
public setHost ( string $host ) : void
public setIdent ( string $ident ) : void
public setParam ( string $name , string|int $value ) : int
public setPort ( int $port ) : void
public setSecret ( string $secret ) : void
public setTimeout ( int $timeout ) : void
public start ( ) : int
public stop ( ) : int
}

Índice

  • VarnishAdmin::auth — Authenticate on a varnish instance
  • VarnishAdmin::ban — Ban URLs using a VCL expression
  • VarnishAdmin::banUrl — Ban an URL using a VCL expression
  • VarnishAdmin::clearPanic — Clear varnish instance panic messages
  • VarnishAdmin::connect — Connect to a varnish instance administration interface
  • VarnishAdmin::__construct — VarnishAdmin constructor
  • VarnishAdmin::disconnect — Disconnect from a varnish instance administration interface
  • VarnishAdmin::getPanic — Get the last panic message on a varnish instance
  • VarnishAdmin::getParams — Fetch current varnish instance configuration parameters
  • VarnishAdmin::isRunning — Check if the varnish slave process is currently running
  • VarnishAdmin::setCompat — Set the class compat configuration param
  • VarnishAdmin::setHost — Set the class host configuration param
  • VarnishAdmin::setIdent — Set the class ident configuration param
  • VarnishAdmin::setParam — Set configuration param on the current varnish instance
  • VarnishAdmin::setPort — Set the class port configuration param
  • VarnishAdmin::setSecret — Set the class secret configuration param
  • VarnishAdmin::setTimeout — Set the class timeout configuration param
  • VarnishAdmin::start — Start varnish worker process
  • VarnishAdmin::stop — Stop varnish worker process


Authenticate on a varnish instance

  • « VarnishAdmin
  • VarnishAdmin::ban »
  • PHP Manual
  • VarnishAdmin
  • Authenticate on a varnish instance

VarnishAdmin::auth

(PECL varnish >= 0.3)

VarnishAdmin::auth — Authenticate on a varnish instance

Descrição

public VarnishAdmin::auth ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Ban URLs using a VCL expression

  • « VarnishAdmin::auth
  • VarnishAdmin::banUrl »
  • PHP Manual
  • VarnishAdmin
  • Ban URLs using a VCL expression

VarnishAdmin::ban

(PECL varnish >= 0.3)

VarnishAdmin::ban — Ban URLs using a VCL expression

Descrição

public VarnishAdmin::ban ( string $vcl_regex ) : int

Parâmetros

vcl_regex

Varnish VCL expression. It's based on the varnish ban command.

Valor Retornado

Returns the varnish command status.


Ban an URL using a VCL expression

  • « VarnishAdmin::ban
  • VarnishAdmin::clearPanic »
  • PHP Manual
  • VarnishAdmin
  • Ban an URL using a VCL expression

VarnishAdmin::banUrl

(PECL varnish >= 0.3)

VarnishAdmin::banUrl — Ban an URL using a VCL expression

Descrição

public VarnishAdmin::banUrl ( string $vcl_regex ) : int

Parâmetros

vcl_regex

URL regular expression in PCRE compatible syntax. It's based on the ban.url varnish command.

Valor Retornado

Returns the varnish command status.


Clear varnish instance panic messages

  • « VarnishAdmin::banUrl
  • VarnishAdmin::connect »
  • PHP Manual
  • VarnishAdmin
  • Clear varnish instance panic messages

VarnishAdmin::clearPanic

(PECL varnish >= 0.4)

VarnishAdmin::clearPanic — Clear varnish instance panic messages

Descrição

public VarnishAdmin::clearPanic ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the varnish command status.


Connect to a varnish instance administration interface

  • « VarnishAdmin::clearPanic
  • VarnishAdmin::__construct »
  • PHP Manual
  • VarnishAdmin
  • Connect to a varnish instance administration interface

VarnishAdmin::connect

(PECL varnish >= 0.3)

VarnishAdmin::connect — Connect to a varnish instance administration interface

Descrição

public VarnishAdmin::connect ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


VarnishAdmin constructor

  • « VarnishAdmin::connect
  • VarnishAdmin::disconnect »
  • PHP Manual
  • VarnishAdmin
  • VarnishAdmin constructor

VarnishAdmin::__construct

(PECL varnish >= 0.3)

VarnishAdmin::__construct — VarnishAdmin constructor

Descrição

public VarnishAdmin::__construct ( array $args = ? )

Parâmetros

args

Configuration arguments. The possible keys are:

VARNISH_CONFIG_IDENT - local varnish instance ident
VARNISH_CONFIG_HOST - varnish instance ip
VARNISH_CONFIG_PORT - varnish instance port
VARNISH_CONFIG_SECRET - varnish instance secret
VARNISH_CONFIG_TIMEOUT - connection read timeout
VARNISH_CONFIG_COMPAT - varnish major version compatibility

Valor Retornado

Exemplos

Exemplo #1 VarnishAdmin::__construct() example

<?php
    $args = array(
        VARNISH_CONFIG_HOST => "::1",
        VARNISH_CONFIG_PORT => 6082,
        VARNISH_CONFIG_SECRET => "5174826b-8595-4958-aa7a-0609632ad7ca",
        VARNISH_CONFIG_TIMEOUT => 300,
    );
    $va = new VarnishAdmin($args);
?>


Disconnect from a varnish instance administration interface

  • « VarnishAdmin::__construct
  • VarnishAdmin::getPanic »
  • PHP Manual
  • VarnishAdmin
  • Disconnect from a varnish instance administration interface

VarnishAdmin::disconnect

(PECL varnish >= 1.0.0)

VarnishAdmin::disconnect — Disconnect from a varnish instance administration interface

Descrição

public VarnishAdmin::disconnect ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Get the last panic message on a varnish instance

  • « VarnishAdmin::disconnect
  • VarnishAdmin::getParams »
  • PHP Manual
  • VarnishAdmin
  • Get the last panic message on a varnish instance

VarnishAdmin::getPanic

(PECL varnish >= 0.4)

VarnishAdmin::getPanic — Get the last panic message on a varnish instance

Descrição

public VarnishAdmin::getPanic ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the last panic message on the current varnish instance.


Fetch current varnish instance configuration parameters

  • « VarnishAdmin::getPanic
  • VarnishAdmin::isRunning »
  • PHP Manual
  • VarnishAdmin
  • Fetch current varnish instance configuration parameters

VarnishAdmin::getParams

(PECL varnish >= 0.4)

VarnishAdmin::getParams — Fetch current varnish instance configuration parameters

Descrição

public VarnishAdmin::getParams ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array with the varnish configuration parameters.


Check if the varnish slave process is currently running

  • « VarnishAdmin::getParams
  • VarnishAdmin::setCompat »
  • PHP Manual
  • VarnishAdmin
  • Check if the varnish slave process is currently running

VarnishAdmin::isRunning

(PECL varnish >= 0.3)

VarnishAdmin::isRunning — Check if the varnish slave process is currently running

Descrição

public VarnishAdmin::isRunning ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set the class compat configuration param

  • « VarnishAdmin::isRunning
  • VarnishAdmin::setHost »
  • PHP Manual
  • VarnishAdmin
  • Set the class compat configuration param

VarnishAdmin::setCompat

(PECL varnish >= 0.9.2)

VarnishAdmin::setCompat — Set the class compat configuration param

Descrição

public VarnishAdmin::setCompat ( int $compat ) : void

Parâmetros

compat

Varnish compatibility option.

Valor Retornado


Set the class host configuration param

  • « VarnishAdmin::setCompat
  • VarnishAdmin::setIdent »
  • PHP Manual
  • VarnishAdmin
  • Set the class host configuration param

VarnishAdmin::setHost

(PECL varnish >= 0.8)

VarnishAdmin::setHost — Set the class host configuration param

Descrição

public VarnishAdmin::setHost ( string $host ) : void

Parâmetros

host

Connection host configuration parameter.

Valor Retornado


Set the class ident configuration param

  • « VarnishAdmin::setHost
  • VarnishAdmin::setParam »
  • PHP Manual
  • VarnishAdmin
  • Set the class ident configuration param

VarnishAdmin::setIdent

(PECL varnish >= 0.8)

VarnishAdmin::setIdent — Set the class ident configuration param

Descrição

public VarnishAdmin::setIdent ( string $ident ) : void

Parâmetros

ident

Connection ident configuration parameter.

Valor Retornado


Set configuration param on the current varnish instance

  • « VarnishAdmin::setIdent
  • VarnishAdmin::setPort »
  • PHP Manual
  • VarnishAdmin
  • Set configuration param on the current varnish instance

VarnishAdmin::setParam

(PECL varnish >= 0.4)

VarnishAdmin::setParam — Set configuration param on the current varnish instance

Descrição

public VarnishAdmin::setParam ( string $name , string|int $value ) : int

Parâmetros

name

Varnish configuration param name.

value

Varnish configuration param value.

Valor Retornado

Returns the varnish command status.


Set the class port configuration param

  • « VarnishAdmin::setParam
  • VarnishAdmin::setSecret »
  • PHP Manual
  • VarnishAdmin
  • Set the class port configuration param

VarnishAdmin::setPort

(PECL varnish >= 0.8)

VarnishAdmin::setPort — Set the class port configuration param

Descrição

public VarnishAdmin::setPort ( int $port ) : void

Parâmetros

port

Connection port configuration parameter.

Valor Retornado


Set the class secret configuration param

  • « VarnishAdmin::setPort
  • VarnishAdmin::setTimeout »
  • PHP Manual
  • VarnishAdmin
  • Set the class secret configuration param

VarnishAdmin::setSecret

(PECL varnish >= 0.8)

VarnishAdmin::setSecret — Set the class secret configuration param

Descrição

public VarnishAdmin::setSecret ( string $secret ) : void

Parâmetros

secret

Connection secret configuration parameter.

Valor Retornado


Set the class timeout configuration param

  • « VarnishAdmin::setSecret
  • VarnishAdmin::start »
  • PHP Manual
  • VarnishAdmin
  • Set the class timeout configuration param

VarnishAdmin::setTimeout

(PECL varnish >= 0.8)

VarnishAdmin::setTimeout — Set the class timeout configuration param

Descrição

public VarnishAdmin::setTimeout ( int $timeout ) : void

Parâmetros

timeout

Connection timeout configuration parameter.

Valor Retornado


Start varnish worker process

  • « VarnishAdmin::setTimeout
  • VarnishAdmin::stop »
  • PHP Manual
  • VarnishAdmin
  • Start varnish worker process

VarnishAdmin::start

(PECL varnish >= 0.3)

VarnishAdmin::start — Start varnish worker process

Descrição

public VarnishAdmin::start ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the varnish command status.


Stop varnish worker process

  • « VarnishAdmin::start
  • VarnishStat »
  • PHP Manual
  • VarnishAdmin
  • Stop varnish worker process

VarnishAdmin::stop

(PECL varnish >= 0.3)

VarnishAdmin::stop — Stop varnish worker process

Descrição

public VarnishAdmin::stop ( ) : int

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the varnish command status.


The VarnishStat class

(PECL varnish >= 0.3)

Introdução

Sinopse da classe

VarnishStat {
/* Métodos */
public __construct ( array $args = ? )
public getSnapshot ( ) : array
}

Índice

  • VarnishStat::__construct — VarnishStat constructor
  • VarnishStat::getSnapshot — Get the current varnish instance statistics snapshot


VarnishStat constructor

  • « VarnishStat
  • VarnishStat::getSnapshot »
  • PHP Manual
  • VarnishStat
  • VarnishStat constructor

VarnishStat::__construct

(PECL varnish >= 0.3)

VarnishStat::__construct — VarnishStat constructor

Descrição

public VarnishStat::__construct ( array $args = ? )

Parâmetros

args

Configuration arguments. The possible keys are:

VARNISH_CONFIG_IDENT - local varnish instance ident path

Valor Retornado


Get the current varnish instance statistics snapshot

  • « VarnishStat::__construct
  • VarnishLog »
  • PHP Manual
  • VarnishStat
  • Get the current varnish instance statistics snapshot

VarnishStat::getSnapshot

(PECL varnish >= 0.3)

VarnishStat::getSnapshot — Get the current varnish instance statistics snapshot

Descrição

public VarnishStat::getSnapshot ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Array with the varnish statistic snapshot. The array keys are identical to that in the varnishstat tool.


The VarnishLog class

(PECL varnish >= 0.6)

Introdução

Sinopse da classe

VarnishLog {
/* Constants */
const int TAG_Debug = 0 ;
const int TAG_Error = 1 ;
const int TAG_CLI = 2 ;
const int TAG_StatSess = 3 ;
const int TAG_ReqEnd = 4 ;
const int TAG_SessionOpen = 5 ;
const int TAG_SessionClose = 6 ;
const int TAG_BackendOpen = 7 ;
const int TAG_BackendXID = 8 ;
const int TAG_BackendReuse = 9 ;
const int TAG_BackendClose = 10 ;
const int TAG_HttpGarbage = 11 ;
const int TAG_Backend = 12 ;
const int TAG_Length = 13 ;
const int TAG_FetchError = 14 ;
const int TAG_RxRequest = 15 ;
const int TAG_RxResponse = 16 ;
const int TAG_RxStatus = 17 ;
const int TAG_RxURL = 18 ;
const int TAG_RxProtocol = 19 ;
const int TAG_RxHeader = 20 ;
const int TAG_TxRequest = 21 ;
const int TAG_TxResponse = 22 ;
const int TAG_TxStatus = 23 ;
const int TAG_TxURL = 24 ;
const int TAG_TxProtocol = 25 ;
const int TAG_TxHeader = 26 ;
const int TAG_ObjRequest = 27 ;
const int TAG_ObjResponse = 28 ;
const int TAG_ObjStatus = 29 ;
const int TAG_ObjURL = 30 ;
const int TAG_ObjProtocol = 31 ;
const int TAG_ObjHeader = 32 ;
const int TAG_LostHeader = 33 ;
const int TAG_TTL = 34 ;
const int TAG_Fetch_Body = 35 ;
const int TAG_VCL_acl = 36 ;
const int TAG_VCL_call = 37 ;
const int TAG_VCL_trace = 38 ;
const int TAG_VCL_return = 39 ;
const int TAG_VCL_error = 40 ;
const int TAG_ReqStart = 41 ;
const int TAG_Hit = 42 ;
const int TAG_HitPass = 43 ;
const int TAG_ExpBan = 44 ;
const int TAG_ExpKill = 45 ;
const int TAG_WorkThread = 46 ;
const int TAG_ESI_xmlerror = 47 ;
const int TAG_Hash = 48 ;
const int TAG_Backend_health = 49 ;
const int TAG_VCL_Log = 50 ;
const int TAG_Gzip = 51 ;
/* Métodos */
public __construct ( array $args = ? )
public getLine ( ) : array
public static getTagName ( int $index ) : string
}

Constantes pré-definidas

VarnishLog::TAG_Debug

VarnishLog::TAG_Error

VarnishLog::TAG_CLI

VarnishLog::TAG_StatSess

VarnishLog::TAG_ReqEnd

VarnishLog::TAG_SessionOpen

VarnishLog::TAG_SessionClose

VarnishLog::TAG_BackendOpen

VarnishLog::TAG_BackendXID

VarnishLog::TAG_BackendReuse

VarnishLog::TAG_BackendClose

VarnishLog::TAG_HttpGarbage

VarnishLog::TAG_Backend

VarnishLog::TAG_Length

VarnishLog::TAG_FetchError

VarnishLog::TAG_RxRequest

VarnishLog::TAG_RxResponse

VarnishLog::TAG_RxStatus

VarnishLog::TAG_RxURL

VarnishLog::TAG_RxProtocol

VarnishLog::TAG_RxHeader

VarnishLog::TAG_TxRequest

VarnishLog::TAG_TxResponse

VarnishLog::TAG_TxStatus

VarnishLog::TAG_TxURL

VarnishLog::TAG_TxProtocol

VarnishLog::TAG_TxHeader

VarnishLog::TAG_ObjRequest

VarnishLog::TAG_ObjResponse

VarnishLog::TAG_ObjStatus

VarnishLog::TAG_ObjURL

VarnishLog::TAG_ObjProtocol

VarnishLog::TAG_ObjHeader

VarnishLog::TAG_LostHeader

VarnishLog::TAG_TTL

VarnishLog::TAG_Fetch_Body

VarnishLog::TAG_VCL_acl

VarnishLog::TAG_VCL_call

VarnishLog::TAG_VCL_trace

VarnishLog::TAG_VCL_return

VarnishLog::TAG_VCL_error

VarnishLog::TAG_ReqStart

VarnishLog::TAG_Hit

VarnishLog::TAG_HitPass

VarnishLog::TAG_ExpBan

VarnishLog::TAG_ExpKill

VarnishLog::TAG_WorkThread

VarnishLog::TAG_ESI_xmlerror

VarnishLog::TAG_Hash

VarnishLog::TAG_Backend_health

VarnishLog::TAG_VCL_Log

VarnishLog::TAG_Gzip

Índice

  • VarnishLog::__construct — Varnishlog constructor
  • VarnishLog::getLine — Get next log line
  • VarnishLog::getTagName — Get the log tag string representation by its index


Varnishlog constructor

  • « VarnishLog
  • VarnishLog::getLine »
  • PHP Manual
  • VarnishLog
  • Varnishlog constructor

VarnishLog::__construct

(PECL varnish >= 0.6)

VarnishLog::__construct — Varnishlog constructor

Descrição

public VarnishLog::__construct ( array $args = ? )

Parâmetros

args

Configuration arguments. The possible keys are:

VARNISH_CONFIG_IDENT - local varnish instance ident path

Valor Retornado


Get next log line

  • « VarnishLog::__construct
  • VarnishLog::getTagName »
  • PHP Manual
  • VarnishLog
  • Get next log line

VarnishLog::getLine

(PECL varnish >= 0.6)

VarnishLog::getLine — Get next log line

Descrição

public VarnishLog::getLine ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array with the log line data.


Get the log tag string representation by its index

  • « VarnishLog::getLine
  • YAZ »
  • PHP Manual
  • VarnishLog
  • Get the log tag string representation by its index

VarnishLog::getTagName

(PECL varnish >= 0.6)

VarnishLog::getTagName — Get the log tag string representation by its index

Descrição

public static VarnishLog::getTagName ( int $index ) : string

Parâmetros

index

Log tag index.

Valor Retornado

Returns the log tag name as string.


YAZ

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • YAZ Funções
    • yaz_addinfo — Returns additional error information
    • yaz_ccl_conf — Configure CCL parser
    • yaz_ccl_parse — Invoke CCL Parser
    • yaz_close — Close YAZ connection
    • yaz_connect — Prepares for a connection to a Z39.50 server
    • yaz_database — Specifies the databases within a session
    • yaz_element — Specifies Element-Set Name for retrieval
    • yaz_errno — Returns error number
    • yaz_error — Returns error description
    • yaz_es_result — Inspects Extended Services Result
    • yaz_es — Prepares for an Extended Service Request
    • yaz_get_option — Returns value of option for connection
    • yaz_hits — Returns number of hits for last search
    • yaz_itemorder — Prepares for Z39.50 Item Order with an ILL-Request package
    • yaz_present — Prepares for retrieval (Z39.50 present)
    • yaz_range — Specifies a range of records to retrieve
    • yaz_record — Returns a record
    • yaz_scan_result — Returns Scan Response result
    • yaz_scan — Prepares for a scan
    • yaz_schema — Specifies schema for retrieval
    • yaz_search — Prepares for a search
    • yaz_set_option — Sets one or more options for connection
    • yaz_sort — Sets sorting criteria
    • yaz_syntax — Specifies the preferred record syntax for retrieval
    • yaz_wait — Wait for Z39.50 requests to complete


Introdução

This extension offers a PHP interface to the YAZ toolkit that implements the » Z39.50 Protocol for Information Retrieval. With this extension you can easily implement a Z39.50 origin (client) that searches or scans Z39.50 targets (servers) in parallel.

The module hides most of the complexity of Z39.50 so it should be fairly easy to use. It supports persistent stateless connections very similar to those offered by the various RDB APIs that are available for PHP. This means that sessions are stateless but shared among users, thus saving the connect and initialize phase steps in most cases.

YAZ is available at » http://www.indexdata.dk/yaz/. You can find news information, example scripts, etc. for this extension at » http://www.indexdata.dk/phpyaz/.

Nota:

Esta extensão foi movida para o repositório » PECL e não é mais incluída como parte do PHP.5.0.0.


Dependências

Obtain YAZ (ANSI/NISO Z39.50 support) and install it. YAZ can be fetched in source or in various prebuilt packages from the » YAZ archive. Systems such as Debian GNU/Linux, Suse Linux, FreeBSD also has YAZ as part of their distribution.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/yaz

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.

Nota: Information specific to Windows users

php_yaz.dll depends on yaz.dll. The yaz.dll is part of the Win32 ZIP from the PHP site. It is also part of the Windows YAZ install available from the » YAZ WIN32 area.

On windows, don't forget to add the PHP directory to the PATH, so that the yaz.dll file can be found by the system.

Aviso

As extensões IMAP, recode e YAZ não podem ser utilizadas em paralelo por conterem símbolos internos de mesmo nome. Yaz 2.0 e superiores não sofrem deste problema.


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • YAZ
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Exemplos

PHP/YAZ keeps track of connections with targets (Z-Associations). A resource represents a connection to a target.

The script below demonstrates the parallel searching feature of the API. When invoked with no arguments it prints a query form; else (arguments are supplied) it searches the targets as given in array host.

Exemplo #1 Parallel searching using Yaz

<?php
$host=$_REQUEST[host];
$query=$_REQUEST[query];
$num_hosts = count($host);
if (empty($query) || count($host) == 0) {
    echo '<form method="get">
    <input type="checkbox"
    name="host[]" value="bagel.indexdata.dk/gils" />
        GILS test
    <input type="checkbox"
    name="host[]" value="localhost:9999/Default" />
        local test
    <input type="checkbox" checked="checked"
    name="host[]" value="z3950.loc.gov:7090/voyager" />
        Library of Congress
    <br />
    RPN Query:
    <input type="text" size="30" name="query" />
    <input type="submit" name="action" value="Search" />
    </form>
    ';
} else {
    echo 'You searched for ' . htmlspecialchars($query) . '<br />';
    for ($i = 0; $i < $num_hosts; $i++) {
        $id[] = yaz_connect($host[$i]);
        yaz_syntax($id[$i], "usmarc");
        yaz_range($id[$i], 1, 10);
        yaz_search($id[$i], "rpn", $query);
    }
    yaz_wait();
    for ($i = 0; $i < $num_hosts; $i++) {
        echo '<hr />' . $host[$i] . ':';
        $error = yaz_error($id[$i]);
        if (!empty($error)) {
            echo "Error: $error";
        } else {
            $hits = yaz_hits($id[$i]);
            echo "Result Count $hits";
        }
        echo '<dl>';
        for ($p = 1; $p <= 10; $p++) {
            $rec = yaz_record($id[$i], $p, "string");
            if (empty($rec)) continue;
            echo "<dt><b>$p</b></dt><dd>";
            echo nl2br($rec);
            echo "</dd>";
        }
        echo '</dl>';
    }
}
?>


YAZ Funções

Índice

  • yaz_addinfo — Returns additional error information
  • yaz_ccl_conf — Configure CCL parser
  • yaz_ccl_parse — Invoke CCL Parser
  • yaz_close — Close YAZ connection
  • yaz_connect — Prepares for a connection to a Z39.50 server
  • yaz_database — Specifies the databases within a session
  • yaz_element — Specifies Element-Set Name for retrieval
  • yaz_errno — Returns error number
  • yaz_error — Returns error description
  • yaz_es_result — Inspects Extended Services Result
  • yaz_es — Prepares for an Extended Service Request
  • yaz_get_option — Returns value of option for connection
  • yaz_hits — Returns number of hits for last search
  • yaz_itemorder — Prepares for Z39.50 Item Order with an ILL-Request package
  • yaz_present — Prepares for retrieval (Z39.50 present)
  • yaz_range — Specifies a range of records to retrieve
  • yaz_record — Returns a record
  • yaz_scan_result — Returns Scan Response result
  • yaz_scan — Prepares for a scan
  • yaz_schema — Specifies schema for retrieval
  • yaz_search — Prepares for a search
  • yaz_set_option — Sets one or more options for connection
  • yaz_sort — Sets sorting criteria
  • yaz_syntax — Specifies the preferred record syntax for retrieval
  • yaz_wait — Wait for Z39.50 requests to complete


Returns additional error information

  • « YAZ Funções
  • yaz_ccl_conf »
  • PHP Manual
  • YAZ Funções
  • Returns additional error information

yaz_addinfo

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_addinfo — Returns additional error information

Descrição

yaz_addinfo ( resource $id ) : string

Returns additional error information for the last request on the server.

With some servers, this function may return the same string as yaz_error().

Parâmetros

id

The connection resource returned by yaz_connect().

Valor Retornado

A string containing additional error information or an empty string if the last operation was successful or if no additional information was provided by the server.

Veja Também

  • yaz_error() - Returns error description
  • yaz_errno() - Returns error number


Configure CCL parser

  • « yaz_addinfo
  • yaz_ccl_parse »
  • PHP Manual
  • YAZ Funções
  • Configure CCL parser

yaz_ccl_conf

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_ccl_conf — Configure CCL parser

Descrição

yaz_ccl_conf ( resource $id , array $config ) : void

This function configures the CCL query parser for a server with definitions of access points (CCL qualifiers) and their mapping to RPN.

To map a specific CCL query to RPN afterwards call the yaz_ccl_parse() function.

Parâmetros

id

The connection resource returned by yaz_connect().

config

An array of configuration. Each key of the array is the name of a CCL field and the corresponding value holds a string that specifies a mapping to RPN.

The mapping is a sequence of attribute-type, attribute-value pairs. Attribute-type and attribute-value is separated by an equal sign (=). Each pair is separated by white space.

Additional information can be found on the » CCL page.

Valor Retornado

Não há valor retornado.

Exemplos

In the example below, the CCL parser is configured to support three CCL fields: ti, au and isbn. Each field is mapped to their BIB-1 equivalent. It is assumed that variable $id is the connection ID.

Exemplo #1 CCL configuration

<?php
$fields = array(
  "ti" => "1=4",
  "au"   => "1=1",
  "isbn" => "1=7"
);
yaz_ccl_conf($id, $fields);
?>

Veja Também

  • yaz_ccl_parse() - Invoke CCL Parser


Invoke CCL Parser

  • « yaz_ccl_conf
  • yaz_close »
  • PHP Manual
  • YAZ Funções
  • Invoke CCL Parser

yaz_ccl_parse

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_ccl_parse — Invoke CCL Parser

Descrição

yaz_ccl_parse ( resource $id , string $query , array &$result ) : bool

This function invokes a CCL parser. It converts a given CCL FIND query to an RPN query which may be passed to the yaz_search() function to perform a search.

To define a set of valid CCL fields call yaz_ccl_conf() prior to this function.

Parâmetros

id

The connection resource returned by yaz_connect().

query

The CCL FIND query.

result

If the function was executed successfully, this will be an array containing the valid RPN query under the key rpn.

Upon failure, three indexes are set in this array to indicate the cause of failure:

  • errorcode - the CCL error code (integer)

  • errorstring - the CCL error string

  • errorpos - approximate position in query of failure (integer is character position)

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 CCL Parsing

We will try to search using CCL. In the example below, $ccl is a CCL query.

<?php

yaz_ccl_conf($id, $fields);  // see example for yaz_ccl_conf
if (!yaz_ccl_parse($id, $ccl, &$cclresult)) {
    echo 'Error: ' . $cclresult["errorstring"];
} else {
    $rpn = $cclresult["rpn"];
    yaz_search($id, "rpn", $rpn);
}
?>


Close YAZ connection

  • « yaz_ccl_parse
  • yaz_connect »
  • PHP Manual
  • YAZ Funções
  • Close YAZ connection

yaz_close

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_close — Close YAZ connection

Descrição

yaz_close ( resource $id ) : bool

Closes the connection given by parameter id.

Nota:

This function will only close a non-persistent connection opened by setting the persistent option to false with yaz_connect().

Parâmetros

id

The connection resource returned by yaz_connect().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • yaz_connect() - Prepares for a connection to a Z39.50 server


Prepares for a connection to a Z39.50 server

  • « yaz_close
  • yaz_database »
  • PHP Manual
  • YAZ Funções
  • Prepares for a connection to a Z39.50 server

yaz_connect

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_connect — Prepares for a connection to a Z39.50 server

Descrição

yaz_connect ( string $zurl , mixed $options = ? ) : mixed

This function returns a connection resource on success, zero on failure.

yaz_connect() prepares for a connection to a Z39.50 server. This function is non-blocking and does not attempt to establish a connection - it merely prepares a connect to be performed later when yaz_wait() is called.

Nota:

The » YAZ proxy is a freely available Z39.50 proxy.

Parâmetros

zurl

A string that takes the form host[:port][/database]. If port is omitted, port 210 is used. If database is omitted Default is used.

options

If given as a string, it is treated as the Z39.50 V2 authentication string (OpenAuth).

If given as an array, the contents of the array serves as options.

user

Username for authentication.

group

Group for authentication.

password

Password for authentication.

cookie

Cookie for session (YAZ proxy).

proxy

Proxy for connection (YAZ proxy).

persistent

A boolean. If true the connection is persistent; If false the connection is not persistent. By default connections are persistent.

Nota:

If you open a persistent connection, you won't be able to close it later with yaz_close().

piggyback

A boolean. If true piggyback is enabled for searches; If false piggyback is disabled. By default piggyback is enabled.

Enabling piggyback is more efficient and usually saves a network-round-trip for first time fetches of records. However, a few Z39.50 servers do not support piggyback or they ignore element set names. For those, piggyback should be disabled.

charset

A string that specifies character set to be used in Z39.50 language and character set negotiation. Use strings such as: ISO-8859-1, UTF-8, UTF-16.

Most Z39.50 servers do not support this feature (and thus, this is ignored). Many servers use the ISO-8859-1 encoding for queries and messages. MARC21/USMARC records are not affected by this setting.

preferredMessageSize

An integer that specifies the maximum byte size of all records to be returned by a target during retrieval. See the » Z39.50 standard for more information.

Nota:

This option is supported in PECL YAZ 1.0.5 or later.

maximumRecordSize

An integer that specifies the maximum byte size of a single record to be returned by a target during retrieval. This entity is referred to as Exceptional-record-size in the » Z39.50 standard.

Nota:

This option is supported in PECL YAZ 1.0.5 or later.

Valor Retornado

A connection resource on success, false on error.

Changelog

Versão | Descrição
4.1.0 | The parameter options was added.

Veja Também

  • yaz_close() - Close YAZ connection


Specifies the databases within a session

  • « yaz_connect
  • yaz_element »
  • PHP Manual
  • YAZ Funções
  • Specifies the databases within a session

yaz_database

(PHP 4 >= 4.0.6, PECL yaz >= 0.9.0)

yaz_database — Specifies the databases within a session

Descrição

yaz_database ( resource $id , string $databases ) : bool

This function allows you to change databases within a session by specifying one or more databases to be used in search, retrieval, etc. - overriding databases specified in call to yaz_connect().

Parâmetros

id

The connection resource returned by yaz_connect().

databases

A string containing one or more databases. Multiple databases are separated by a plus sign +.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Specifies Element-Set Name for retrieval

  • « yaz_database
  • yaz_errno »
  • PHP Manual
  • YAZ Funções
  • Specifies Element-Set Name for retrieval

yaz_element

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_element — Specifies Element-Set Name for retrieval

Descrição

yaz_element ( resource $id , string $elementset ) : bool

This function sets the element set name for retrieval.

Call this function before yaz_search() or yaz_present() to specify the element set name for records to be retrieved.

Nota:

If this function appears to have no effect, see the description of the piggybacking option in yaz_connect().

Parâmetros

id

The connection resource returned by yaz_connect().

elementset

Most servers support F (for full records) and B (for brief records).

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Returns error number

  • « yaz_element
  • yaz_error »
  • PHP Manual
  • YAZ Funções
  • Returns error number

yaz_errno

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_errno — Returns error number

Descrição

yaz_errno ( resource $id ) : int

Returns an error number for the server (last request) identified by id.

yaz_errno() should be called after network activity for each server - (after yaz_wait() returns) to determine the success or failure of the last operation (e.g. search).

Parâmetros

id

The connection resource returned by yaz_connect().

Valor Retornado

Returns an error code. The error code is either a Z39.50 diagnostic code (usually a Bib-1 diagnostic) or a client side error code which is generated by PHP/YAZ itself, such as "Connect failed", "Init Rejected", etc.

Veja Também

  • yaz_error() - Returns error description
  • yaz_addinfo() - Returns additional error information


Returns error description

  • « yaz_errno
  • yaz_es_result »
  • PHP Manual
  • YAZ Funções
  • Returns error description

yaz_error

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_error — Returns error description

Descrição

yaz_error ( resource $id ) : string

yaz_error() returns an English text message corresponding to the last error number as returned by yaz_errno().

Parâmetros

id

The connection resource returned by yaz_connect().

Valor Retornado

Returns an error text message for server (last request), identified by parameter id. An empty string is returned if the last operation was successful.

Veja Também

  • yaz_errno() - Returns error number
  • yaz_addinfo() - Returns additional error information


Inspects Extended Services Result

  • « yaz_error
  • yaz_es »
  • PHP Manual
  • YAZ Funções
  • Inspects Extended Services Result

yaz_es_result

(PHP 4 >= 4.2.0, PECL yaz >= 0.9.0)

yaz_es_result — Inspects Extended Services Result

Descrição

yaz_es_result ( resource $id ) : array

This function inspects the last returned Extended Service result from a server. An Extended Service is initiated by either yaz_item_order() or yaz_es().

Parâmetros

id

The connection resource returned by yaz_connect().

Valor Retornado

Returns array with element targetReference for the reference for the extended service operation (generated and returned from the server).

Veja Também

  • yaz_es() - Prepares for an Extended Service Request


Prepares for an Extended Service Request

  • « yaz_es_result
  • yaz_get_option »
  • PHP Manual
  • YAZ Funções
  • Prepares for an Extended Service Request

yaz_es

(PECL yaz >= 0.9.0)

yaz_es — Prepares for an Extended Service Request

Descrição

yaz_es ( resource $id , string $type , array $args ) : void

This function prepares for an Extended Service Request. Extended Services is family of various Z39.50 facilities, such as Record Update, Item Order, Database administration etc.

Nota:

Many Z39.50 Servers do not support Extended Services.

The yaz_es() creates an Extended Service Request packages and puts it into a queue of operations. Use yaz_wait() to send the request(s) to the server. After completion of yaz_wait() the result of the Extended Service operation should be expected with a call to yaz_es_result().

Parâmetros

id

The connection resource returned by yaz_connect().

type

A string which represents the type of the Extended Service: itemorder (Item Order), create (Create Database), drop (Drop Database), commit (Commit Operation), update (Update Record), xmlupdate (XML Update). Each type is specified in the following section.

args

An array with extended service options plus package specific options. The options are identical to those offered in the C API of ZOOM C. Refer to the ZOOM » Extended Services.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Record Update

<?php
$con = yaz_connect("myhost/database");
$args = array (
    "record" => "<gils><title>some title</title></gils>",
    "syntax" => "xml",
    "action" => "specialUpdate"
);
yaz_es($con, "update", $args);
yaz_wait();
$result = yaz_es_result($id);
?>

Veja Também

  • yaz_es_result() - Inspects Extended Services Result


Returns value of option for connection

  • « yaz_es
  • yaz_hits »
  • PHP Manual
  • YAZ Funções
  • Returns value of option for connection

yaz_get_option

(PECL yaz >= 0.9.0)

yaz_get_option — Returns value of option for connection

Descrição

yaz_get_option ( resource $id , string $name ) : string

Returns the value of the option specified with name.

Parâmetros

id

The connection resource returned by yaz_connect().

name

The option name.

Valor Retornado

Returns the value of the specified option or an empty string if the option wasn't set.

Veja Também

  • The description of yaz_set_option() - Sets one or more options for connection for available options


Returns number of hits for last search

  • « yaz_get_option
  • yaz_itemorder »
  • PHP Manual
  • YAZ Funções
  • Returns number of hits for last search

yaz_hits

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_hits — Returns number of hits for last search

Descrição

yaz_hits ( resource $id , array &$searchresult = ? ) : int

yaz_hits() returns the number of hits for the last search.

Parâmetros

id

The connection resource returned by yaz_connect().

searchresult

Result array for detailed search result information.

Valor Retornado

Returns the number of hits for the last search or 0 if no search was performed.

The search result array (if supplied) holds information that is returned by a Z39.50 server in the SearchResult-1 format part of a search response. The SearchResult-1 format can be used to obtain information about hit counts for various parts of the query (subquery). In particular, it is possible to obtain hit counts for the individual search terms in a query. Information for first subquery is in $array[0], second subquery in $array[1], and so forth.

searchresult members
Element | Description
id | Sub query ID2 (string)
count | Result count / hits (integer)
subquery.term | Sub query term (string)
interpretation.term | Interpretated sub query term (string)
recommendation.term | Recommended sub query term (string)

Nota:

The SearchResult facility requires PECL YAZ 1.0.5 or later and YAZ 2.1.9 or later.

Nota:

Very few Z39.50 implementations support the SearchResult facility.


Prepares for Z39.50 Item Order with an ILL-Request package

  • « yaz_hits
  • yaz_present »
  • PHP Manual
  • YAZ Funções
  • Prepares for Z39.50 Item Order with an ILL-Request package

yaz_itemorder

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_itemorder — Prepares for Z39.50 Item Order with an ILL-Request package

Descrição

yaz_itemorder ( resource $id , array $args ) : void

This function prepares for an Extended Services request using the Profile for the Use of Z39.50 Item Order Extended Service to Transport ILL (Profile/1). See » this and the » specification.

Parâmetros

id

The connection resource returned by yaz_connect().

args

Must be an associative array with information about the Item Order request to be sent. The key of the hash is the name of the corresponding ASN.1 tag path. For example, the ISBN below the Item-ID has the key item-id,ISBN.

The ILL-Request parameters are:

protocol-version-num
transaction-id,initial-requester-id,person-or-institution-symbol,person
transaction-id,initial-requester-id,person-or-institution-symbol,institution
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-person
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-institution
transaction-id,transaction-group-qualifier
transaction-id,transaction-qualifier
transaction-id,sub-transaction-qualifier
service-date-time,this,date
service-date-time,this,time
service-date-time,original,date
service-date-time,original,time
requester-id,person-or-institution-symbol,person
requester-id,person-or-institution-symbol,institution
requester-id,name-of-person-or-institution,name-of-person
requester-id,name-of-person-or-institution,name-of-institution
responder-id,person-or-institution-symbol,person
responder-id,person-or-institution-symbol,institution
responder-id,name-of-person-or-institution,name-of-person
responder-id,name-of-person-or-institution,name-of-institution
transaction-type
delivery-address,postal-address,name-of-person-or-institution,name-of-person
delivery-address,postal-address,name-of-person-or-institution,name-of-institution
delivery-address,postal-address,extended-postal-delivery-address
delivery-address,postal-address,street-and-number
delivery-address,postal-address,post-office-box
delivery-address,postal-address,city
delivery-address,postal-address,region
delivery-address,postal-address,country
delivery-address,postal-address,postal-code
delivery-address,electronic-address,telecom-service-identifier
delivery-address,electronic-address,telecom-service-addreess
billing-address,postal-address,name-of-person-or-institution,name-of-person
billing-address,postal-address,name-of-person-or-institution,name-of-institution
billing-address,postal-address,extended-postal-delivery-address
billing-address,postal-address,street-and-number
billing-address,postal-address,post-office-box
billing-address,postal-address,city
billing-address,postal-address,region
billing-address,postal-address,country
billing-address,postal-address,postal-code
billing-address,electronic-address,telecom-service-identifier
billing-address,electronic-address,telecom-service-addreess
ill-service-type
requester-optional-messages,can-send-RECEIVED
requester-optional-messages,can-send-RETURNED
requester-optional-messages,requester-SHIPPED
requester-optional-messages,requester-CHECKED-IN
search-type,level-of-service
search-type,need-before-date
search-type,expiry-date
search-type,expiry-flag
place-on-hold
client-id,client-name
client-id,client-status
client-id,client-identifier
item-id,item-type
item-id,call-number
item-id,author
item-id,title
item-id,sub-title
item-id,sponsoring-body
item-id,place-of-publication
item-id,publisher
item-id,series-title-number
item-id,volume-issue
item-id,edition
item-id,publication-date
item-id,publication-date-of-component
item-id,author-of-article
item-id,title-of-article
item-id,pagination
item-id,ISBN
item-id,ISSN
item-id,additional-no-letters
item-id,verification-reference-source
copyright-complicance
retry-flag
forward-flag
requester-note
forward-note

There are also a few parameters that are part of the Extended Services Request package and the ItemOrder package:

package-name
user-id
contact-name
contact-phone
contact-email
itemorder-item

Valor Retornado

Não há valor retornado.


Prepares for retrieval (Z39.50 present)

  • « yaz_itemorder
  • yaz_range »
  • PHP Manual
  • YAZ Funções
  • Prepares for retrieval (Z39.50 present)

yaz_present

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_present — Prepares for retrieval (Z39.50 present)

Descrição

yaz_present ( resource $id ) : bool

This function prepares for retrieval of records after a successful search.

The yaz_range() function should be called prior to this function to specify the range of records to be retrieved.

Parâmetros

id

The connection resource returned by yaz_connect().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Specifies a range of records to retrieve

  • « yaz_present
  • yaz_record »
  • PHP Manual
  • YAZ Funções
  • Specifies a range of records to retrieve

yaz_range

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_range — Specifies a range of records to retrieve

Descrição

yaz_range ( resource $id , int $start , int $number ) : void

Specifies a range of records to retrieve.

This function should be called before yaz_search() or yaz_present().

Parâmetros

id

The connection resource returned by yaz_connect().

start

Specifies the position of the first record to be retrieved. The records numbers goes from 1 to yaz_hits().

number

Specifies the number of records to be retrieved.

Valor Retornado

Não há valor retornado.


Returns a record

  • « yaz_range
  • yaz_scan_result »
  • PHP Manual
  • YAZ Funções
  • Returns a record

yaz_record

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_record — Returns a record

Descrição

yaz_record ( resource $id , int $pos , string $type ) : string

The yaz_record() function inspects a record in the current result set at the position specified by parameter pos.

Parâmetros

id

The connection resource returned by yaz_connect().

pos

The record position. Records positions in a result set are numbered 1, 2, ... $hits where $hits is the count returned by yaz_hits().

type

The type specifies the form of the returned record.

Nota:

It is the application which is responsible for actually ensuring that the records are returned from the Z39.50/SRW server in the proper format. The type given only specifies a conversion to take place on the client side (in PHP/YAZ).

Besides conversion of the transfer record to a string/array, PHP/YAZ it is also possible to perform a character set conversion of the record. Especially for USMARC/MARC21 that is recommended since these are typically returned in the character set MARC-8 that is not supported by browsers, etc. To specify a conversion, add ; charset=from, to where from is the original character set of the record and to is the resulting character set (as seen by PHP).

string

The record is returned as a string for simple display. In this mode, all MARC records are converted to a line-by-line format since ISO2709 is hardly readable. XML records and SUTRS are returned in their original format. GRS-1 are returned in a (ugly) line-by-line format.

This format is suitable if records are to be displayed in a quick way - for debugging - or because it is not feasible to perform proper display.

xml

The record is returned as an XML string if possible. In this mode, all MARC records are converted to » MARCXML. XML records and SUTRS are returned in their original format. GRS-1 is not supported.

This format is similar to string except that MARC records are converted to MARCXML

This format is suitable if records are processed by an XML parser or XSLT processor afterwards.

raw

The record is returned as a string in its original form. This type is suitable for MARC, XML and SUTRS. It does not work for GRS-1.

MARC records are returned as a ISO2709 string. XML and SUTRS are returned as strings.

syntax

The syntax of the record is returned as a string, i.e. USmarc, GRS-1, XML, etc.

database

The name of database associated with record at the position is returned as a string.

array

The record is returned as an array that reflects the GRS-1 structure. This type is suitable for MARC and GRS-1. XML, SUTRS are not supported and if the actual record is XML or SUTRS an empty string will be returned.

The array returned consists of a list corresponding to each leaf/internal node of GRS-1. Each list item consists a sub list with first element path and data (if data is available).

The path which is a string holds a list of each tree component (of the structured GRS-1 record) from root to leaf. Each component is a tag type, tag value pair of the form (type, value

String tags normally has a corresponding tag type 3. MARC can also be returned as an array (they are converted to GRS-1 internally).

Valor Retornado

Returns the record at position pos or an empty string if no record exists at the given position.

If no database record exists at the given position an empty string is returned.

Exemplos

Exemplo #1 Array for GRS-1 record

Consider this GRS-1 record:

(4,52)Robert M. Pirsig
(4,70)
      (4,90)
            (2,7)Transworld Publishers, ltd.
This record has two nodes at root level. First element at root level is (4,52) [tag type 4, tag value 52], and has data Robert M. Pirsig. Second element at root level (4,70) has a subtree with a single element (4,90). (4,90) has yet another sub tree (2,7) with data Transworld Publishers, ltd..

If this record is present at position $p, then

<?php

$ar = yaz_record($id, $p, "array");
print_r($ar);

?>
will output:
Array
(
    [0] => Array
        (
            [0] => (4,52)
            [1] => Robert M. Pirsig
        )
    [1] => Array
        (
            [0] => (4,70)
        )
    [2] => Array
        (
            [0] => (4,70)(4,90)
        )
    [3] => Array
        (
            [0] => (4,70)(4,90)(2,7)
            [1] => Transworld Publishers, ltd.
        )
)

Exemplo #2 Working with MARCXML

The following PHP snippet returns a MARC21/USMARC record as MARCXML. The original record is returned in marc-8 (unknown to most XML parsers), so we convert it to UTF-8 (which all XML parsers must support).

<?php
$rec = yaz_record($id, $p, "xml; charset=marc-8,utf-8");
?>

The record $rec can be processed with the Sablotron XSLT processor as follows:

<?php

$xslfile = 'display.xsl';
$processor = xslt_create();
$parms = array('/_xml' => $rec);
$res = xslt_process($processor, 'arg:/_xml', $xslfile, NULL, $parms);
xslt_free($processor);
$res = preg_replace("'</?html[^>]*>'", '', $res);
echo $res;

?>

For PHP 5 the XSL extension must be used instead of Sablotron XSLT.


Returns Scan Response result

  • « yaz_record
  • yaz_scan »
  • PHP Manual
  • YAZ Funções
  • Returns Scan Response result

yaz_scan_result

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_scan_result — Returns Scan Response result

Descrição

yaz_scan_result ( resource $id , array &$result = ? ) : array

yaz_scan_result() returns terms and associated information as received from the server in the last performed yaz_scan().

Parâmetros

id

The connection resource returned by yaz_connect().

result

If given, this array will be modified to hold additional information taken from the Scan Response:

  • number - Number of entries returned

  • stepsize - Step size

  • position - Position of term

  • status - Scan status

Valor Retornado

Returns an array (0..n-1) where n is the number of terms returned. Each value is a pair where the first item is the term, and the second item is the result-count.


Prepares for a scan

  • « yaz_scan_result
  • yaz_schema »
  • PHP Manual
  • YAZ Funções
  • Prepares for a scan

yaz_scan

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_scan — Prepares for a scan

Descrição

yaz_scan ( resource $id , string $type , string $startterm , array $flags = ? ) : void

This function prepares for a Z39.50 Scan Request on the specified connection.

To actually transfer the Scan Request to the server and receive the Scan Response, yaz_wait() must be called. Upon completion of yaz_wait() call yaz_error() and yaz_scan_result() to handle the response.

Parâmetros

id

The connection resource returned by yaz_connect().

type

Currently only type rpn is supported.

startterm

Starting term point for the scan.

The form in which the starting term is specified is given by parameter type.

The syntax this parameter is similar to the RPN query as described in yaz_search(). It consists of zero or more @attr-operator specifications, then followed by exactly one token.

flags

This optional parameter specifies additional information to control the behaviour of the scan request. Three indexes are currently read from the flags array: number (number of terms requested), position (preferred position of term) and stepSize (preferred step size).

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 PHP function that scans titles

<?php
function scan_titles($id, $startterm)
{
  yaz_scan($id, "rpn", "@attr 1=4 " . $startterm);
  yaz_wait();
  $errno = yaz_errno($id);
  if ($errno == 0) {
    $ar = yaz_scan_result($id, $options);
    echo 'Scan ok; ';
    foreach ($options as $key => $val) {
      echo "$key = $val &nbsp;";
    }
    echo '<br /><table>';
    while (list($key, list($k, $term, $tcount)) = each($ar)) {
      if (empty($k)) continue;
      echo "<tr><td>$term</td><td>$tcount</td></tr>";
    }
    echo '</table>';
  } else {
    echo "Scan failed. Error: " . yaz_error($id) . "<br />";
  }
}
?>


Specifies schema for retrieval

  • « yaz_scan
  • yaz_search »
  • PHP Manual
  • YAZ Funções
  • Specifies schema for retrieval

yaz_schema

(PHP 4 >= 4.2.0, PECL yaz >= 0.9.0)

yaz_schema — Specifies schema for retrieval

Descrição

yaz_schema ( resource $id , string $schema ) : void

yaz_schema() specifies the schema for retrieval.

This function should be called before yaz_search() or yaz_present().

Parâmetros

id

The connection resource returned by yaz_connect().

schema

Must be specified as an OID (Object Identifier) in a raw dot-notation (like 1.2.840.10003.13.4) or as one of the known registered schemas: GILS-schema, Holdings, Zthes, ...

Valor Retornado

Não há valor retornado.


Prepares for a search

  • « yaz_schema
  • yaz_set_option »
  • PHP Manual
  • YAZ Funções
  • Prepares for a search

yaz_search

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_search — Prepares for a search

Descrição

yaz_search ( resource $id , string $type , string $query ) : bool

yaz_search() prepares for a search on the given connection.

Like yaz_connect() this function is non-blocking and only prepares for a search to be executed later when yaz_wait() is called.

Parâmetros

id

The connection resource returned by yaz_connect().

type

This parameter represents the query type - only "rpn" is supported now in which case the third argument specifies a Type-1 query in prefix query notation.

query

The RPN query is a textual representation of the Type-1 query as defined by the Z39.50 standard. However, in the text representation as used by YAZ a prefix notation is used, that is the operator precedes the operands. The query string is a sequence of tokens where white space is ignored unless surrounded by double quotes. Tokens beginning with an at-character (@) are considered operators, otherwise they are treated as search terms.

RPN Operators
Construct | Description
@and query1 query2 | intersection of query1 and query2
@or query1 query2 | union of query1 and query2
@not query1 query2 | query1 and not query2
@set name | result set reference
@attrset set query | specifies attribute-set for query. This construction is only allowed once - in the beginning of the whole query
@attr [set] type=value query | applies attribute to query. The type and value are integers specifying the attribute-type and attribute-value respectively. The set, if given, specifies the attribute-set.

You can find information about attributes at the » Z39.50 Maintenance Agency site.

Nota:

If you would like to use a more friendly notation, use the CCL parser - functions yaz_ccl_conf() and yaz_ccl_parse().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Query Examples

You can search for simple terms, like this:

computer
which matches documents where "computer" occur. No attributes are specified.

The query

"knuth donald"
matches documents where "knuth donald" occur (provided that the server supports phrase search).

This query applies two attributes for the same phrase.

@attr 1=1003 @attr 4=1 "knuth donald"
First attribute is type 1 (Bib-1 use), attribute value is 1003 (Author). Second attribute has is type 4 (structure), value 1 (phrase), so this should match documents where Donald Knuth is author.

The query

@and @or a b @not @or c d e
would in infix notation look like (a or b) and ((c or d) not e).

Another, more complex, one:

@attrset gils @and @attr 1=4 art @attr 1=2000 company
The query as a whole uses the GILS attributeset. The query matches documents where art occur in the title (GILS,BIB-1) and in which company occur as Distributor (GILS).


Sets one or more options for connection

  • « yaz_search
  • yaz_sort »
  • PHP Manual
  • YAZ Funções
  • Sets one or more options for connection

yaz_set_option

(PECL yaz >= 0.9.0)

yaz_set_option — Sets one or more options for connection

Descrição

yaz_set_option ( resource $id , string $name , string $value ) : void
yaz_set_option ( resource $id , array $options ) : void

Sets one or more options on the given connection.

Parâmetros

id

The connection resource returned by yaz_connect().

name or options

May be either a string or an array.

If given as a string, this will be the name of the option to set. You'll need to give it's value.

If given as an array, this will be an associative array (option name => option value).

PHP/YAZ Connection Options
Name | Description
implementationName | implementation name of server
implementationVersion | implementation version of server
implementationId | implementation ID of server
schema | schema for retrieval. By default, no schema is used. Setting this option is equivalent to using function yaz_schema()
preferredRecordSyntax | record syntax for retrieval. By default, no syntax is used. Setting this option is equivalent to using function yaz_syntax()
start | offset for first record to be retrieved via yaz_search() or yaz_present(). First record is numbered has a start value of 0. Second record has start value 1. Setting this option in combination with option count has the same effect as calling yaz_range() except that records are numbered from 1 in yaz_range()
count | maximum number of records to be retrieved via yaz_search() or yaz_present().
elementSetName | element-set-name for retrieval. Setting this option is equivalent to calling yaz_element().
value

The new value of the option. Use this only if the previous argument is a string.

Valor Retornado

Não há valor retornado.


Sets sorting criteria

  • « yaz_set_option
  • yaz_syntax »
  • PHP Manual
  • YAZ Funções
  • Sets sorting criteria

yaz_sort

(PHP 4 >= 4.0.7, PECL yaz >= 0.9.0)

yaz_sort — Sets sorting criteria

Descrição

yaz_sort ( resource $id , string $criteria ) : void

This function sets sorting criteria and enables Z39.50 Sort.

Call this function before yaz_search(). Using this function alone does not have any effect. When used in conjunction with yaz_search(), a Z39.50 Sort will be sent after a search response has been received and before any records are retrieved with Z39.50 Present (yaz_present().

Parâmetros

id

The connection resource returned by yaz_connect().

criteria

A string that takes the form field1 flags1 field2 flags2 where field1 specifies the primary attributes for sort, field2 seconds, etc..

The field specifies either a numerical attribute combinations consisting of type=value pairs separated by comma (e.g. 1=4,2=1) ; or the field may specify a plain string criteria (e.g. title. The flags is a sequence of the following characters which may not be separated by any white space.

Sort Flags
a

Sort ascending

d

Sort descending

i

Case insensitive sorting

s

Case sensitive sorting

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Sort Criterias

To sort on Bib1 attribute title, case insensitive, and ascending you would use the following sort criteria:

1=4 ia

If the secondary sorting criteria should be author, case sensitive and ascending you would use:

1=4 ia 1=1003 sa


Specifies the preferred record syntax for retrieval

  • « yaz_sort
  • yaz_wait »
  • PHP Manual
  • YAZ Funções
  • Specifies the preferred record syntax for retrieval

yaz_syntax

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_syntax — Specifies the preferred record syntax for retrieval

Descrição

yaz_syntax ( resource $id , string $syntax ) : void

yaz_syntax() specifies the preferred record syntax for retrieval

This function should be called before yaz_search() or yaz_present().

Parâmetros

id

The connection resource returned by yaz_connect().

syntax

The syntax must be specified as an OID (Object Identifier) in a raw dot-notation (like 1.2.840.10003.5.10) or as one of the known registered record syntaxes (sutrs, usmarc, grs1, xml, etc.).

Valor Retornado

Não há valor retornado.


Wait for Z39.50 requests to complete

  • « yaz_syntax
  • API de Mensagens 0MQ »
  • PHP Manual
  • YAZ Funções
  • Wait for Z39.50 requests to complete

yaz_wait

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_wait — Wait for Z39.50 requests to complete

Descrição

yaz_wait ( array &$options = ? ) : mixed

This function carries out networked (blocked) activity for outstanding
requests which have been prepared by the functions
yaz_connect(), yaz_search(),
yaz_present(), yaz_scan() and
yaz_itemorder().

yaz_wait() returns when all servers have either completed all requests or aborted (in case of errors).

Parâmetros

options

An associative array of options:

timeout

Sets timeout in seconds. If a server has not responded within the timeout it is considered dead and yaz_wait() returns. The default value for timeout is 15 seconds.

event

A boolean.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. In event mode, returns resource ou false em caso de falha.


ZMQ

  • Introdução
  • Instalação/Configuração
    • Dependências
  • ZMQ — A classe ZMQ
    • ZMQ::__construct — Construtor da classe ZMQ
  • ZMQContext — A classe ZMQContext
    • ZMQContext::__construct — Constrói um novo objeto ZMQContext
    • ZMQContext::getOpt — Obtém uma opção de contexto
    • ZMQContext::getSocket — Cria um novo socket
    • ZMQContext::isPersistent — Retorna se o contexto é persistente
    • ZMQContext::setOpt — Define uma opção de socket
  • ZMQSocket — A classe ZMQSocket
    • ZMQSocket::bind — Associa o socket
    • ZMQSocket::connect — Conecta o socket
    • ZMQSocket::__construct — Constrói um novo ZMQSocket
    • ZMQSocket::disconnect — Desconecta um socket
    • ZMQSocket::getEndpoints — Obtém uma lista de destinos
    • ZMQSocket::getPersistentId — Obtém o id persistente
    • ZMQSocket::getSocketType — Retorna o tipo de socket
    • ZMQSocket::getSockOpt — Obtém a opção do socket
    • ZMQSocket::isPersistent — Verifica se o socket é persistente
    • ZMQSocket::recv — Recebe uma mensagem
    • ZMQSocket::recvMulti — Recebe uma mensagem com várias partes
    • ZMQSocket::send — Envia uma mensagem
    • ZMQSocket::sendmulti — Envia uma mensagem com várias partes
    • ZMQSocket::setSockOpt — Define uma opção de socket
    • ZMQSocket::unbind — Desassocia o socket
  • ZMQPoll — A classe ZMQPoll
    • ZMQPoll::add — Adiciona o item na lista de pesquisa
    • ZMQPoll::clear — Limpa a lista de consulta
    • ZMQPoll::count — Conta os itens na lista de consulta
    • ZMQPoll::getLastErrors — Obtém erros da consulta
    • ZMQPoll::poll — Consulta os itens
    • ZMQPoll::remove — Remove um item da lista de consulta
  • ZMQDevice — A classe ZMQDevice
    • ZMQDevice::__construct — Constrói um novo dispositivo
    • ZMQDevice::getIdleTimeout — Obtém o tempo limite de inatividade
    • ZMQDevice::getTimerTimeout — Obtém o tempo limite do temporizador
    • ZMQDevice::run — Executa o novo dispositivo
    • ZMQDevice::setIdleCallback — Define a função de retorno de inatividade
    • ZMQDevice::setIdleTimeout — Define o tempo limite de inatividade
    • ZMQDevice::setTimerCallback — Define a função de retorno do temporizador
    • ZMQDevice::setTimerTimeout — Define o tempo limite do temporizador


Introdução

"ØMQ é uma biblioteca que permite a criação e implementação rápida de aplicações baseadas na troca rápida de mensagens." --0MQ Website

Para mais informações sobre 0MQ, consulte » http://zeromq.org/.


  • « Introdução
  • Dependências »
  • PHP Manual
  • API de Mensagens 0MQ
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências


Dependências

A extensão ZMQ requer uma versão igual ou superior a versão 2.0.7 da biblioteca 0MQ. A biblioteca 0MQ pode ser adquirida em » http://zeromq.org/area:download.

Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/zmq


A classe ZMQ

(PECL zmq >= 0.5.0)

Introdução

Sinopse da classe

ZMQ {
/* Constantes */
const integer SOCKET_PAIR ;
const integer SOCKET_PUB ;
const integer SOCKET_SUB ;
const integer SOCKET_REQ ;
const integer SOCKET_REP ;
const integer SOCKET_XREQ ;
const integer SOCKET_XREP ;
const integer SOCKET_PUSH ;
const integer SOCKET_PULL ;
const integer SOCKET_ROUTER ;
const integer SOCKET_DEALER ;
const integer SOCKET_XPUB ;
const integer SOCKET_XSUB ;
const integer SOCKET_STREAM ;
const integer SOCKOPT_HWM ;
const integer SOCKOPT_SNDHWM ;
const integer SOCKOPT_RCVHWM ;
const integer SOCKOPT_AFFINITY ;
const integer SOCKOPT_IDENTITY ;
const integer SOCKOPT_SUBSCRIBE ;
const integer SOCKOPT_UNSUBSCRIBE ;
const integer SOCKOPT_RATE ;
const integer SOCKOPT_RECOVERY_IVL ;
const integer SOCKOPT_RECONNECT_IVL ;
const integer SOCKOPT_RECONNECT_IVL_MAX ;
const integer SOCKOPT_MCAST_LOOP ;
const integer SOCKOPT_SNDBUF ;
const integer SOCKOPT_RCVBUF ;
const integer SOCKOPT_RCVMORE ;
const integer SOCKOPT_TYPE ;
const integer SOCKOPT_LINGER ;
const integer SOCKOPT_BACKLOG ;
const integer SOCKOPT_MAXMSGSIZE ;
const integer SOCKOPT_SNDTIMEO ;
const integer SOCKOPT_RCVTIMEO ;
const integer SOCKOPT_IPV4ONLY ;
const integer SOCKOPT_LAST_ENDPOINT ;
const integer SOCKOPT_TCP_KEEPALIVE_IDLE ;
const integer SOCKOPT_TCP_KEEPALIVE_CNT ;
const integer SOCKOPT_TCP_KEEPALIVE_INTVL ;
const integer SOCKOPT_TCP_ACCEPT_FILTER ;
const integer SOCKOPT_TCP_ACCEPT_FILTER ;
const integer SOCKOPT_DELAY_ATTACH_ON_CONNECT ;
const integer SOCKOPT_XPUB_VERBOSE ;
const integer SOCKOPT_ROUTER_RAW ;
const integer SOCKOPT_IPV6 ;
const integer CTXOPT_MAX_SOCKETS ;
const integer POLL_IN ;
const integer POLL_OUT ;
const integer MODE_NOBLOCK ;
const integer MODE_DONTWAIT ;
const integer MODE_SNDMORE ;
const integer ERR_INTERNAL ;
const integer ERR_EAGAIN ;
const integer ERR_ENOTSUP ;
const integer ERR_EFSM ;
const integer ERR_ETERM ;
/* Métodos */
private__construct ( )
}

Constantes pré-definidas

Tipos de Constantes ZMQ

ZMQ::SOCKET_PAIR

Padrão de paridade exclusiva

ZMQ::SOCKET_PUB

Socket de publicação

ZMQ::SOCKET_SUB

Socket de subscrição

ZMQ::SOCKET_REQ

Socket de requisição

ZMQ::SOCKET_REP

Socket de resposta

ZMQ::SOCKET_XREQ

Um pseudônimo para SOCKET_DEALER

ZMQ::SOCKET_XREP

Um pseudônimo para SOCKET_ROUTER

ZMQ::SOCKET_PUSH

Um socket para envio de fluxo

ZMQ::SOCKET_PULL

Um socket para recepção de fluxo

ZMQ::SOCKET_ROUTER

Um socket de resposta extendido que pode rotear respostas para os solicitantes

ZMQ::SOCKET_DEALER

Um socket extendido de requisição que equilibra a carga para todos os clientes conectados

ZMQ::SOCKET_XPUB

Similar ao SOCKET_PUB, exceto que é possível receber subscrições como mensagens. A mensagem de subscrição é 0 (não subscrever) ou 1 (subscrever) seguido por um tópico.

ZMQ::SOCKET_XSUB

Similar ao SOCKET_SUB, exceto que é possível enviar subscrições como mensagens. Consulte SOCKET_XPUB para saber o formato.

ZMQ::SOCKET_STREAM

Usado para enviar e receber dados via TCP de um cliente não ØMQ. Disponível se compilado em versão igual ou superior a 4.x da ZeroMQ (Valor: int)

ZMQ::SOCKOPT_HWM

O marcador High Water Mark (HWM) para as mensagens que entram e saem, é um marcador de limite do número máximo de mensagens que a ØMQ enfileira na memória para um cliente qualquer ao qual o socket especificado esteja se comunicando. Definir esta opção em um socket afetará apenas as conexões feitas após a configuração da opção. Na ZeroMQ 3.x esta opção é um wrapper para a configuração de SNDHWM e RCVHWM. (Valor: int).

ZMQ::SOCKOPT_SNDHWM

A opção ZMQ_SNDHWM define o limite HWM para as mensagens de saída no socket especificado. Disponível se compilado na versão 3.x ou maior da ZeroMQ (Valor: int).

ZMQ::SOCKOPT_RCVHWM

A opção ZMQ_RCVHWM define o limite HWM para as mensagens de entrada no socket especificado. Disponível se compilado na versão 3.x ou maior da ZeroMQ (Valor: int).

ZMQ::SOCKOPT_AFFINITY

Define a relação com a thread de I/O (Valor: int)

ZMQ::SOCKOPT_IDENTITY

Define a identidade do socket (Valor: string)

ZMQ::SOCKOPT_SUBSCRIBE

Estabelece um filtro de mensagens. Válido para o socket subscrito (Valor: string)

ZMQ::SOCKOPT_UNSUBSCRIBE

Remove um filtro de mensagens. Válido para o socket subscrito (Valor: string)

ZMQ::SOCKOPT_RATE

Define a taxa de envio para sockets multicast (pgm) (Valor: int >= 0)

ZMQ::SOCKOPT_RECOVERY_IVL

Define o intervalo de recuperação multicast (Valor: int >= 0)

ZMQ::SOCKOPT_RECONNECT_IVL

Define o intervalo de reconexão inicial (Valor: int >= 0)

ZMQ::SOCKOPT_RECONNECT_IVL_MAX

Define o intervalo máximo de reconexão (Valor: int >= 0)

ZMQ::SOCKOPT_MCAST_LOOP

Controla o retorno do multicast (Valor: int >= 0)

ZMQ::SOCKOPT_SNDBUF

Define o tamanho do buffer do kernel de transmissão (Valor: int >= 0)

ZMQ::SOCKOPT_RCVBUF

Define o tamanho do buffer do kernel de recepção (Valor: int >= 0)

ZMQ::SOCKOPT_RCVMORE

Recebe mensagens com várias partes (Valor: int)

ZMQ::SOCKOPT_TYPE

Obtém o tipo de socket. Válido para o método getSockOpt (Valor: int)

ZMQ::SOCKOPT_LINGER

O tempo de permanência após fechamento do socket. Especifica por quanto tempo o socket fica bloqueado enquanto tenta dar vazão às mensagens depois que ele tenha sido fechado (Valor: int)

ZMQ::SOCKOPT_BACKLOG

A opção SOCKOPT_BACKLOG define o comprimento máximo da fila de conexões de clientes para o socket especificado; isso só se aplica a transportes orientados a conexão. (Valor: int)

ZMQ::SOCKOPT_MAXMSGSIZE

Limita o tamanho máximo da mensagem de entrada. O valor -1 significa que não há limite. Disponível se compilado em versão igual ou superior a 3.x da ZeroMQ (Valor: int)

ZMQ::SOCKOPT_SNDTIMEO

Define o tempo limite para a operação de envio no socket. O valor -1 indica que não há limite. Disponível se compilado em versão igual ou superior a 3.x da ZeroMQ (Valor: int)

ZMQ::SOCKOPT_RCVTIMEO

Define o tempo limite para a operação de recepção no socket. O valor -1 indica que não há limite. Disponível se compilado em versão igual ou superior a 3.x da ZeroMQ (Valor: int)

ZMQ::SOCKOPT_IPV4ONLY

Desabilita o suporte ao IPV6 caso o valor seja 1. Disponível se compilado em versão igual ou superior a 3.x da ZeroMQ (Valor: int)

ZMQ::SOCKOPT_LAST_ENDPOINT

Recupera o último destino conectado - para o uso com as portas * coringa. Disponível se compilado em versão igual ou superior a 3.x da ZeroMQ (Valor: int)

ZMQ::SOCKOPT_TCP_KEEPALIVE_IDLE

Tempo de ociosidade para os pacotes TCP keepalive. Disponível se compilado em versão igual ou superior a 3.x da ZeroMQ (Valor: int)

ZMQ::SOCKOPT_TCP_KEEPALIVE_CNT

Contador para os pacotes TCp keepalive. Disponível se compilado em versão igual ou superior a 3.x da ZeroMQ (Valor: int)

ZMQ::SOCKOPT_TCP_KEEPALIVE_INTVL

Intervalo para os pacotes TCP keepalive. Disponível se compilado em versão igual ou superior a 3.x da ZeroMQ (Valor: int)

ZMQ::SOCKOPT_DELAY_ATTACH_ON_CONNECT

Define uma string CIDR para comparar com as conexões TCP de entrada. Disponível se compilado em versão igual ou superior a 3.x da ZeroMQ (Valor: int)

ZMQ::SOCKOPT_TCP_ACCEPT_FILTER

Define uma string CIDR para comparar com as conexões TCP de entrada. Disponível se compilado em versão igual ou superior a 3.x da ZeroMQ (Valor: int)

ZMQ::SOCKOPT_XPUB_VERBOSE

Define que a opção XPUB deve receber uma mensagem de aplicação em cada instância de subscrição. Disponível se compilado em versão igual ou superior a 3.x da ZeroMQ (Valor: int)

ZMQ::SOCKOPT_ROUTER_RAW

Define o modo raw (sem processamento) para o ROUTER, quando passado o valor 1. No modo raw, ao usar um socket TCP, a leitura e escrita dos dados será realizada sem o processamento do ZeroMQ. Disponível se compilado em versão igual ou superior a 4.0 da ZeroMQ (Valor: string)

ZMQ::SOCKOPT_IPV6

Habilita o protocolo IPV6. Disponível se compilado em versão igual ou superior a 4.0 da ZeroMQ (Valor: string)

ZMQ::CTXOPT_MAX_SOCKETS

O número máximo de sockets para o contexto. Disponível se compilado em versão igual ou superior a 3.x da ZeroMQ (Valor: int)

ZMQ::POLL_IN

Consulta se há dados de entrada

ZMQ::POLL_OUT

Consulta se há dados e saída

ZMQ::MODE_NOBLOCK

Define a operação como não bloqueante. Constante obsoleta, use ZMQ::MODE_DONTWAIT

ZMQ::MODE_DONTWAIT

Define a operação como não bloqueante

ZMQ::MODE_SNDMORE

Envia uma mensagem particionada (com várias partes)

ZMQ::DEVICE_FORWARDER

Define um dispositivo de encaminhamento

ZMQ::DEVICE_QUEUE

Define um dispositivo de enfileiramento

ZMQ::DEVICE_STREAMER

Define um dispositivo de fluxo

ZMQ::ERR_INTERNAL

Erro interno na extensão ZMQ

ZMQ::ERR_EAGAIN

Impleca que a operação será bloqueante caso ZMQ::MODE_DONTWAIT seja usada

ZMQ::ERR_ENOTSUP

A operação não é suportada pelo tipo de socket informado

ZMQ::ERR_EFSM

A operação não pode ser executada porque o socket não está em um estado válido

ZMQ::ERR_ETERM

O contexto foi encerrado

Índice

  • ZMQ::__construct — Construtor da classe ZMQ


Construtor da classe ZMQ

  • « ZMQ
  • ZMQContext »
  • PHP Manual
  • ZMQ
  • Construtor da classe ZMQ

ZMQ::__construct

(PECL zmq >= 0.5.0)

ZMQ::__construct — Construtor da classe ZMQ

Descrição

privateZMQ::__construct ( )

Um construtor privado para prevenir a inicialização direta. Esta classe abriga as constantes para a extensão ZMQ.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


A classe ZMQContext

(PECL zmq >= 0.5.0)

Introdução

Sinopse da classe

ZMQContext {
/* Métodos */
__construct ( integer $io_threads = 1 , boolean $is_persistent = true )
public getOpt ( string $key ) : mixed
public getSocket ( integer $type , string $persistent_id = null , callback $on_new_socket = null ) : ZMQSocket
public isPersistent ( ) : boolean
public setOpt ( integer $key , mixed $value ) : ZMQContext
}

Índice

  • ZMQContext::__construct — Constrói um novo objeto ZMQContext
  • ZMQContext::getOpt — Obtém uma opção de contexto
  • ZMQContext::getSocket — Cria um novo socket
  • ZMQContext::isPersistent — Retorna se o contexto é persistente
  • ZMQContext::setOpt — Define uma opção de socket


Constrói um novo objeto ZMQContext

  • « ZMQContext
  • ZMQContext::getOpt »
  • PHP Manual
  • ZMQContext
  • Constrói um novo objeto ZMQContext

ZMQContext::__construct

(PECL zmq >= 0.5.0)

ZMQContext::__construct — Constrói um novo objeto ZMQContext

Descrição

ZMQContext::__construct ( integer $io_threads = 1 , boolean $is_persistent = true )

Constrói um novo contexto ZMQ. O contexto é usado para inicializar os sockets. Um contexto persistente é necessário para inicializar sockets persistentes.

Parâmetros

io_threads

Número de threads de I/O no contexto.

is_persistent

Indica se o contexto é persistente. Um contexto persistente é armazenado ao longo de várias requisições e é um requisito para os sockets persistentes.

Exemplos

Exemplo #1 Um exemplo de ZMQContext()

Constrói um novo contexto e aloca um socket de requisição a partir dele

<?php
/* Aloca um novo contexto */
$contexto = new ZMQContext();

/* Cria um novo socket */
$socket = $contexto->getSocket(ZMQ::SOCKET_REQ, 'meu socket');

/* Conecta o socket */
$socket->connect("tcp://exemplo.com:1234");

/* Envia uma requisição */
$socket->send("Olá");

/* Recebe a resposta */
$mensagem = $socket->recv();
?>

Valor Retornado

Lança uma exceção ZMQContextException caso a inicialização do contexto falhe.


Obtém uma opção de contexto

  • « ZMQContext::__construct
  • ZMQContext::getSocket »
  • PHP Manual
  • ZMQContext
  • Obtém uma opção de contexto

ZMQContext::getOpt

(PECL zmq >= 1.0.4)

ZMQContext::getOpt — Obtém uma opção de contexto

Descrição

public ZMQContext::getOpt ( string $key ) : mixed

Retorna o valor de uma opção de contexto.

Parâmetros

key

Um interiro representando a opção. Consulte as constentes ZMQ::CTXOPT_*.

Valor Retornado

Retorna tanto uma string quanto um int dependendo do parâmetro key. Lança uma exceção ZMQContextException caso haja erro.


Cria um novo socket

  • « ZMQContext::getOpt
  • ZMQContext::isPersistent »
  • PHP Manual
  • ZMQContext
  • Cria um novo socket

ZMQContext::getSocket

(PECL zmq >= 0.5.0)

ZMQContext::getSocket — Cria um novo socket

Descrição

public ZMQContext::getSocket ( integer $type , string $persistent_id = null , callback $on_new_socket = null ) : ZMQSocket

Um atalho para criar sockets a partir de um contexto. Se o contexto não for persistente, o parâmetro persistent_id é ignorado e o socket continua sendo não persistente. o parâmetro on_new_socket é chamado apenas quando uma nova estrutura de socket for criada.

Parâmetros

type

Uma constante ZMQ::SOCKET_* que especifica o tipo do socket.

persistent_id

Se o parâmetro persistent_id for especificado, o socket será persistente ao longo de várias requisições.

on_new_socket

Uma função de retorno que é executada quando uma nova estrutura de socket é criada. Essa função não é invocada se uma conexão persistente for reusada. A função de retorno tem um ZMQSocket e um persistent_id como argumentos.

Exemplos

Exemplo #1 Um exemplo de ZMQContext()

Uso básico

<?php
/* Aloca um novo contexto */
$contexto = new ZMQContext();

/* Cria um novo socket */
$socket = $contexto->getSocket(ZMQ::SOCKET_REQ, 'meu socket');

/* Conecta o socket */
$socket->connect("tcp://exemplo.com:1234");

/* Envia uma requisição */
$socket->send("Olá");

/* Recebe a resposta */
$mensagem = $socket->recv();
echo "Mensagem recebida: {$mensagem}\n";
?>

Valor Retornado

Retorna um objeto ZMQSocket caso haja sucesso. Lança um aexceção ZMQSocketException caso haja erro.


Retorna se o contexto é persistente

  • « ZMQContext::getSocket
  • ZMQContext::setOpt »
  • PHP Manual
  • ZMQContext
  • Retorna se o contexto é persistente

ZMQContext::isPersistent

(PECL zmq >= 0.5.0)

ZMQContext::isPersistent — Retorna se o contexto é persistente

Descrição

public ZMQContext::isPersistent ( ) : boolean

Retorna se o contexto é persistente. É necessário um contexto persistente para uma conexão persistente pois cada socket é alocado a partir de um contexto.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true se o contexto for persistente e false caso contrário.


Define uma opção de socket

  • « ZMQContext::isPersistent
  • ZMQSocket »
  • PHP Manual
  • ZMQContext
  • Define uma opção de socket

ZMQContext::setOpt

(PECL zmq >= 1.0.4)

ZMQContext::setOpt — Define uma opção de socket

Descrição

public ZMQContext::setOpt ( integer $key , mixed $value ) : ZMQContext

Define uma opção de contexto ZMQ. O tipo do parâmetro value depende do parâmetro key. Consulte os Tipos de Constantes ZMQ para mais informações.

Parâmetros

key

Uma das constantes ZMQ::CTXOPT_*.

value

O valor do parâmetro.

Valor Retornado

Retorna o objeto atual. Lança uma exceção do tipo ZMQContextException caso haja erro.


A classe ZMQSocket

(PECL zmq >= 0.5.0)

Introdução

Sinopse da classe

ZMQSocket {
/* Métodos */
public bind ( string $dsn , boolean $force = false ) : ZMQSocket
public connect ( string $dsn , boolean $force = false ) : ZMQSocket
__construct ( ZMQContext $context , int $type , string $persistent_id = null , callback $on_new_socket = null )
public disconnect ( string $dsn ) : ZMQSocket
public getEndpoints ( ) : array
public getPersistentId ( ) : string
public getSocketType ( ) : integer
public getSockOpt ( string $key ) : mixed
public isPersistent ( ) : boolean
public recv ( integer $mode = 0 ) : string
public recvMulti ( integer $mode = 0 ) : string
public send ( string $message , integer $mode = 0 ) : ZMQSocket
public send ( array $message , integer $mode = 0 ) : ZMQSocket
public setSockOpt ( integer $key , mixed $value ) : ZMQSocket
public unbind ( string $dsn ) : ZMQSocket
}

Índice

  • ZMQSocket::bind — Associa o socket
  • ZMQSocket::connect — Conecta o socket
  • ZMQSocket::__construct — Constrói um novo ZMQSocket
  • ZMQSocket::disconnect — Desconecta um socket
  • ZMQSocket::getEndpoints — Obtém uma lista de destinos
  • ZMQSocket::getPersistentId — Obtém o id persistente
  • ZMQSocket::getSocketType — Retorna o tipo de socket
  • ZMQSocket::getSockOpt — Obtém a opção do socket
  • ZMQSocket::isPersistent — Verifica se o socket é persistente
  • ZMQSocket::recv — Recebe uma mensagem
  • ZMQSocket::recvMulti — Recebe uma mensagem com várias partes
  • ZMQSocket::send — Envia uma mensagem
  • ZMQSocket::sendmulti — Envia uma mensagem com várias partes
  • ZMQSocket::setSockOpt — Define uma opção de socket
  • ZMQSocket::unbind — Desassocia o socket


Associa o socket

  • « ZMQSocket
  • ZMQSocket::connect »
  • PHP Manual
  • ZMQSocket
  • Associa o socket

ZMQSocket::bind

(PECL zmq >= 0.5.0)

ZMQSocket::bind — Associa o socket

Descrição

public ZMQSocket::bind ( string $dsn , boolean $force = false ) : ZMQSocket

Associa o socket a um destino. O destino é definido no formato transporte://endereco, onde transporte é um dos seguintes itens: inproc, ipc, tcp, pgm or epgm.

Parâmetros

dsn

O destino que será associado, por exemplo transporte://endereco.

force

Tenta associar ao destino mesmo que o socket já tenha sido associado ao destino informado.

Valor Retornado

Retorna o objeto atual. Lança um aexceção ZMQSocketException caso haja erro.


Conecta o socket

  • « ZMQSocket::bind
  • ZMQSocket::__construct »
  • PHP Manual
  • ZMQSocket
  • Conecta o socket

ZMQSocket::connect

(PECL zmq >= 0.5.0)

ZMQSocket::connect — Conecta o socket

Descrição

public ZMQSocket::connect ( string $dsn , boolean $force = false ) : ZMQSocket

Conecta o socket ao destino remoto. O destino é definido no formato transporte://endereco, onde transporte é um dos seguintes itens: inproc, ipc, tcp, pgm or epgm.

Parâmetros

dsn

O destino da conexão, por exemplo transporte://endereco.

force

Tenta conectar mesmo se o socket já foi conectado a um dado destino.

Exemplos

Exemplo #1 Um exemplo de ZMQContext()

Constrói um novo contexto e aloca a requisição do socket a partir dele

<?php
/* Nome do servidor */
$destino = "tcp://127.0.0.1:5555";

/* Cria um socket */
$socket = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ, 'meu socket');

/* Obtém uma lista dos destinos conectados */
$destinos = $socket->getEndpoints();

/* Verifica se o socket está conectado */
if (!in_array($destino, $destinos['connect'])) {
    echo "<p>Conectando em $destino</p>";
    $socket->connect($destino);
} else {
    echo "<p>Já está conectado em $destino</p>";
}

/* Envia e Recebe */
$socket->send("Olá!");
$mensagem = $socket->recv();

echo "<p>O servidor disse: {$mensagem}</p>";
?>

Valor Retornado

Retorna o objeto atual. Lança uma exceção ZMQSocketException caso haja erro.


Constrói um novo ZMQSocket

  • « ZMQSocket::connect
  • ZMQSocket::disconnect »
  • PHP Manual
  • ZMQSocket
  • Constrói um novo ZMQSocket

ZMQSocket::__construct

(PECL zmq >= 0.5.0)

ZMQSocket::__construct — Constrói um novo ZMQSocket

Descrição

ZMQSocket::__construct ( ZMQContext $context , int $type , string $persistent_id = null , callback $on_new_socket = null )

Constrói um objeto ZMQSocket. O parâmetro persistent_id pode ser usado para alocar um socket persistente. Um socket persistente deve ser alocado a partir de um contexto persistente e permanece conectado ao longo de várias requisições. O parâmetro persistent_id pode ser usado para chamar novamente o mesmo socket ao longo de várias requisições. O parâmetro on_new_socket é chamado apenas quando uma nova instância de socket for criada.

Parâmetros

context

Um objeto ZMQContext.

type

O tipo do socket. Consulte as constantes ZMQ::SOCKET_*.

persistent_id

Se o parâmetro persistent_id for especificado, o socket será persistente ao longo de várias requisições. Se o parâmetro context não for persistente, o socket volta para o modo não persistente.

on_new_socket

Uma finção de retorno que é executada quando uma nova instância de socket é criada. Essa função não é invocada se a conexão em uso for persistente e estiver sendo reusada.

Exemplos

Exemplo #1 Um exemplo de ZMQSocket()

Usando uma função de retorno para associar/conectar o socket

<?php

/*
  O socket é persistente e por isso essa função é chamada apanas na
  primeira requisição ao script.
*/
function novo_socket_cb(ZMQSocket $socket, $id_persistente = null)
{
    if ($id_persistente === 'servidor') {
        $socket->bind("tcp://localhost:12122");
    } else {
        $socket->connect("tcp://localhost:12122");
    }
}

/* Aloca um novo contexto */
$contexto = new ZMQContext();

/* Cria um novo socket */
$socket = $context->getSocket(ZMQ::SOCKET_REP, 'servidor', 'novo_socket_cb');

$mensagem = $socket->recv();
echo "Mensagem recebida: {$mensagem}\n";
?>

Assinatura da função de retorno

Nota:

function novo_socket_cb(ZMQSocket $socket, string $persistent_id = null);

Valor Retornado

Lança uma exceção ZMQSocketException caso haja erro.


Desconecta um socket

  • « ZMQSocket::__construct
  • ZMQSocket::getEndpoints »
  • PHP Manual
  • ZMQSocket
  • Desconecta um socket

ZMQSocket::disconnect

(PECL zmq >= 1.0.4)

ZMQSocket::disconnect — Desconecta um socket

Descrição

public ZMQSocket::disconnect ( string $dsn ) : ZMQSocket

Desconecta o socket de um destino remoto previamente conectado. O destino é definido no formato transporte://endereco onde transporte é um dos itens a seguir: inproc, ipc, tcp, pgm or epgm.

Parâmetros

dsn

O destino conectado, por exemplo transporte://endereco.

Valor Retornado

Retorna o objeto atual. Lança uma exceção ZMQSocketException caso haja erro.


Obtém uma lista de destinos

  • « ZMQSocket::disconnect
  • ZMQSocket::getPersistentId »
  • PHP Manual
  • ZMQSocket
  • Obtém uma lista de destinos

ZMQSocket::getEndpoints

(PECL zmq >= 0.5.0)

ZMQSocket::getEndpoints — Obtém uma lista de destinos

Descrição

public ZMQSocket::getEndpoints ( ) : array

Retorna uma lista de destinos onde aos quais o socket está connectado ou associado.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um vetor (array) contendo elementos 'bind' (associados) e 'connect' (conectados).


Obtém o id persistente

  • « ZMQSocket::getEndpoints
  • ZMQSocket::getSocketType »
  • PHP Manual
  • ZMQSocket
  • Obtém o id persistente

ZMQSocket::getPersistentId

(PECL zmq >= 0.5.0)

ZMQSocket::getPersistentId — Obtém o id persistente

Descrição

public ZMQSocket::getPersistentId ( ) : string

Retorna o id do socket persistente.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna a string com o id persistente atribuído ao objeto e null caso o socket não seja persistente.


Retorna o tipo de socket

  • « ZMQSocket::getPersistentId
  • ZMQSocket::getSockOpt »
  • PHP Manual
  • ZMQSocket
  • Retorna o tipo de socket

ZMQSocket::getSocketType

(PECL zmq >= 0.5.0)

ZMQSocket::getSocketType — Retorna o tipo de socket

Descrição

public ZMQSocket::getSocketType ( ) : integer

Retorna o tipo de socket.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um inteiro representando o tipo do socket. O inteiro pode ser comparado com as constantes ZMQ::SOCKET_*.


Obtém a opção do socket

  • « ZMQSocket::getSocketType
  • ZMQSocket::isPersistent »
  • PHP Manual
  • ZMQSocket
  • Obtém a opção do socket

ZMQSocket::getSockOpt

(PECL zmq >= 0.5.0)

ZMQSocket::getSockOpt — Obtém a opção do socket

Descrição

public ZMQSocket::getSockOpt ( string $key ) : mixed

Retorna o valor de uma opção de socket.

Parâmetros

key

Um inteiro representando a opção. Consulte as constantes ZMQ::SOCKOPT_*.

Valor Retornado

Retorna tanto uma string ou um int dependendo do parâmetro key. Lança uma exceção ZMQSocketException caso haja erro.


Verifica se o socket é persistente

  • « ZMQSocket::getSockOpt
  • ZMQSocket::recv »
  • PHP Manual
  • ZMQSocket
  • Verifica se o socket é persistente

ZMQSocket::isPersistent

(PECL zmq >= 0.5.0)

ZMQSocket::isPersistent — Verifica se o socket é persistente

Descrição

public ZMQSocket::isPersistent ( ) : boolean

Verifica se o socket é persistente

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um bool baseado em caso o socket seja persistente ou não.


Recebe uma mensagem

  • « ZMQSocket::isPersistent
  • ZMQSocket::recvMulti »
  • PHP Manual
  • ZMQSocket
  • Recebe uma mensagem

ZMQSocket::recv

(PECL zmq >= 0.5.0)

ZMQSocket::recv — Recebe uma mensagem

Descrição

public ZMQSocket::recv ( integer $mode = 0 ) : string

Recebe uma mensagem a partir de um socket. Por padrão a recepção será bloqueada até que uma mensagem esteja disponível, a menos que a constante ZMQ::MODE_NOBLOCK seja usada. A constante ZMQ::SOCKOPT_RCVMORE pode ser usada para receber mensagens com várias partes. Consulte ZMQSocket::setSockOpt() para mais informações.

Parâmetros

mode

Passa indicadores para a recepção de mensagens com várias partes ou oerações não bloqueantes. Consulte as constantes ZMQ::MODE_*.

Exemplos

Exemplo #1 A exemplo de envio/recepção

Envio / recepção não bloqueantes

<?php

/* Cria um novo objeto de enfileiramento, é necessário existir um servidor na outra ponta */
$fila = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ);
$fila->connect("tcp://127.0.0.1:5555");

/* Atribui o socket 1 à fila, envia e recebe */
$tentativas = 5;
$enviando = true;

/* Inicia um laço */
do {
    try {
        /* Tenta enviar / receber */
        if ($enviando) {
            echo "Enviando mensagem\n";
            $fila->send("Isso é uma mensagem", ZMQ::MODE_NOBLOCK);
            $enviando = false;
        } else {
            echo "Obteve resposta: " . $fila->recv(ZMQ::MODE_NOBLOCK) . "\n";
            break;
        }
    } catch (ZMQSocketException $e) {
        /* EAGAIN significa que a operação foi bloqueada, tentar novamente */
        if ($e->getCode() === ZMQ::ERR_EAGAIN) {
            echo " - Obteve EAGAIN, tentando novamente ($tentativas)\n";
        } else {
            die(" - Erro: " . $e->getMessage());
        }
    }
    /* Dá uma pausa durante as operações */
    usleep(5);
} while (--$tentativas);
?>

O exemplo acima irá imprimir algo similar à:

Enviando mensagem
 - Obteve EAGAIN, tentando novamente (4)
Obteve resposta: Isso é uma mensagem

Valor Retornado

Retorna a mensagem. Lança uma exceção ZMQSocketException caso haja erro. Se a constante ZMQ::MODE_NOBLOCK for usada e operação seja bloqueada, bool falso é retornado.


Recebe uma mensagem com várias partes

  • « ZMQSocket::recv
  • ZMQSocket::send »
  • PHP Manual
  • ZMQSocket
  • Recebe uma mensagem com várias partes

ZMQSocket::recvMulti

(PECL zmq >= 0.8.0)

ZMQSocket::recvMulti — Recebe uma mensagem com várias partes

Descrição

public ZMQSocket::recvMulti ( integer $mode = 0 ) : string

Recebe um array de mensagem com várias partes de um socket. Por padrão a recepção será bloqueada até que uma mensagem esteja disponível, a menos que a constante ZMQ::MODE_NOBLOCK seja usada.

Parâmetros

mode

Passa indicadores de modo para receber mensagens com várias partes ou operações não bloqueantes. Consulte as constantes ZMQ::MODE_*.

Valor Retornado

Retorna o array de partes da mensagem. Lança uma exceção ZMQSocketException caso haja erro. Se a constante ZMQ::MODE_NOBLOCK for usada e a operação seja bloqueada, bool falso será retornado.


Envia uma mensagem

  • « ZMQSocket::recvMulti
  • ZMQSocket::sendmulti »
  • PHP Manual
  • ZMQSocket
  • Envia uma mensagem

ZMQSocket::send

(PECL zmq >= 0.5.0)

ZMQSocket::send — Envia uma mensagem

Descrição

public ZMQSocket::send ( string $message , integer $mode = 0 ) : ZMQSocket

Envia uma mensagem usando o socket. A operação pode bloquear, a menos que a constante ZMQ::MODE_NOBLOCK seja usada.

Parâmetros

message

A mensagem a ser enviada.

mode

Passa um indicador para receber mensagens com várias partes ou operações não bloqueantes. Consulte as constantes ZMQ::MODE_*.

Valor Retornado

Retorna o objeto atual. Lança uma exceção ZMQSocketException caso haja erro. Se a constante ZMQ::MODE_NOBLOCK for usada e a operação bloquear, bool falso será retornado.


Envia uma mensagem com várias partes

  • « ZMQSocket::send
  • ZMQSocket::setSockOpt »
  • PHP Manual
  • ZMQSocket
  • Envia uma mensagem com várias partes

ZMQSocket::sendmulti

(PECL zmq >= 0.8.0)

ZMQSocket::sendmulti — Envia uma mensagem com várias partes

Descrição

public ZMQSocket::send ( array $message , integer $mode = 0 ) : ZMQSocket

Envia uma mensagem com várias partes usando o socket. A operação pode bloquear, exceto caso ZMQ::MODE_NOBLOCK seja usada.

Parâmetros

message

A mensagem a ser enviada - um vetor (array) de strings

mode

Passa um indicador para receber mensagens com várias partes ou operações não bloqueantes. Consulte as constantes ZMQ::MODE_*.

Valor Retornado

Retorna o objeto atual. Lança uma exceção ZMQSocketException caso haja erro. Se a constante ZMQ::MODE_NOBLOCK for usada e a operação bloqueie, bool falso será retornado.


Define uma opção de socket

  • « ZMQSocket::sendmulti
  • ZMQSocket::unbind »
  • PHP Manual
  • ZMQSocket
  • Define uma opção de socket

ZMQSocket::setSockOpt

(PECL zmq >= 0.5.0)

ZMQSocket::setSockOpt — Define uma opção de socket

Descrição

public ZMQSocket::setSockOpt ( integer $key , mixed $value ) : ZMQSocket

Define uma opção para o socket ZMQ. O tipo do parâmetro value depende do parâmetro key. Consulte Tipos de Constantes ZMQ para mais informações.

Parâmetros

key

Uma das constantes ZMQ::SOCKOPT_*.

value

O valor do parâmetro.

Valor Retornado

Retorna o objeto atual. Lança uma exceção ZMQSocketException caso haja erro.


Desassocia o socket

  • « ZMQSocket::setSockOpt
  • ZMQPoll »
  • PHP Manual
  • ZMQSocket
  • Desassocia o socket

ZMQSocket::unbind

(PECL zmq >= 1.0.4)

ZMQSocket::unbind — Desassocia o socket

Descrição

public ZMQSocket::unbind ( string $dsn ) : ZMQSocket

Desassocia o socket de um destino. O destino é definido no formato transporte://endereco onde transporte é um dos seguintes: inproc, ipc, tcp, pgm or epgm.

Parâmetros

dsn

O destino associado anteriormente. Por exemplo transporte://endereco.

Valor Retornado

Retorna o objeto atual. Lança uma ZMQSocketException em caso de erro.


A classe ZMQPoll

(PECL zmq >= 0.5.0)

Introdução

Sinopse da classe

ZMQPoll {
/* Métodos */
public add ( mixed $entry , integer $type ) : string
public clear ( ) : ZMQPoll
public count ( ) : integer
public getLastErrors ( ) : array
public poll ( array &$readable , array &$writable , integer $tempo_limite = -1 ) : integer
public remove ( mixed $item ) : boolean
}

Índice

  • ZMQPoll::add — Adiciona o item na lista de pesquisa
  • ZMQPoll::clear — Limpa a lista de consulta
  • ZMQPoll::count — Conta os itens na lista de consulta
  • ZMQPoll::getLastErrors — Obtém erros da consulta
  • ZMQPoll::poll — Consulta os itens
  • ZMQPoll::remove — Remove um item da lista de consulta


Adiciona o item na lista de pesquisa

  • « ZMQPoll
  • ZMQPoll::clear »
  • PHP Manual
  • ZMQPoll
  • Adiciona o item na lista de pesquisa

ZMQPoll::add

(PECL zmq >= 0.5.0)

ZMQPoll::add — Adiciona o item na lista de pesquisa

Descrição

public ZMQPoll::add ( mixed $entry , integer $type ) : string

Adiciona um novo item na lista de pesquisa e retorna o id interno do item adicionado. O item pode ser removido da lista através da string de identificação retornada.

Parâmetros

entry

Um objeto ZMQSocket ou um recurso de fluxo (stream) PHP

type

Define para qual atividade o socket será consultado. Consulte as constantes ZMQ::POLL_IN e ZMQ::POLL_OUT.

Valor Retornado

Retorna uma string de identificação do item adicionado, que pode ser usada posteriormente para remover o item. Lança uma exceção ZMQPollException caso haja erro.


Limpa a lista de consulta

  • « ZMQPoll::add
  • ZMQPoll::count »
  • PHP Manual
  • ZMQPoll
  • Limpa a lista de consulta

ZMQPoll::clear

(PECL zmq >= 0.5.0)

ZMQPoll::clear — Limpa a lista de consulta

Descrição

public ZMQPoll::clear ( ) : ZMQPoll

Exclui todos os elementos da lista de consulta.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o objeto atual.


Conta os itens na lista de consulta

  • « ZMQPoll::clear
  • ZMQPoll::getLastErrors »
  • PHP Manual
  • ZMQPoll
  • Conta os itens na lista de consulta

ZMQPoll::count

(PECL zmq >= 0.5.0)

ZMQPoll::count — Conta os itens na lista de consulta

Descrição

public ZMQPoll::count ( ) : integer

Conta os itens na lista de consulta.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um int representando a quantidade de itens na lista de consulta.


Obtém erros da consulta

  • « ZMQPoll::count
  • ZMQPoll::poll »
  • PHP Manual
  • ZMQPoll
  • Obtém erros da consulta

ZMQPoll::getLastErrors

(PECL zmq >= 0.5.0)

ZMQPoll::getLastErrors — Obtém erros da consulta

Descrição

public ZMQPoll::getLastErrors ( ) : array

Retorna os ids dos objetos que tiveram erro na última consulta.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um array contendo os ids dos itens que tiveram erro na última consulta. Um arrau vazio é retornado se não houveram erros.


Consulta os itens

  • « ZMQPoll::getLastErrors
  • ZMQPoll::remove »
  • PHP Manual
  • ZMQPoll
  • Consulta os itens

ZMQPoll::poll

(PECL zmq >= 0.5.0)

ZMQPoll::poll — Consulta os itens

Descrição

public ZMQPoll::poll ( array &$readable , array &$writable , integer $tempo_limite = -1 ) : integer

Consulta os itens na lista de pesquisa atual. Os itens de leitura e escrita são retornados nos parâmetros readable e writable. A função ZMQPoll::getLastErrors() pode ser usada para verificar se houveram erros.

Parâmetros

readable

Um array (vetor) onde os ZMQSockets de leitura ou recursos de fluxo (streams) PHP são retornados. O array será esvaziado no inicio da operação.

writable

Um array (vetor) onde os ZMQSockets de escrita ou recursos de fluxo (streams) PHP são retornados. O array será esvaziado no inicio da operação.

tempo_limite

O tempo limite de execução da operação. -1 significa que a pesquisa espera até pelo menos um item entre em atividade. Note que a partir da versão 1.0.0 o tempo limite de consulta é definido em milisegundos, em vez de microsegundos.

Exemplos

Exemplo #1 Um exemplo de ZMQPoll()

Cria um servidor de consulta simples

<?php

/* Cria um socket, padrão requisição-resposta (socket de resposta) */
$contexto = new ZMQContext();
$servidor  = $contexto->getSocket(ZMQ::SOCKET_REP);

/* Associa à porta 5555 em 127.0.0.1 */
$servidor->bind("tcp://127.0.0.1:5555");

/* Cria uma nova lista de consulta para mensagens de entrada/saída */
$consulta = new ZMQPoll();

/* Adiciona o objeto e espera por consultas de entrada/saída */
$id = $consulta->add($servidor, ZMQ::POLL_IN | ZMQ::POLL_OUT);
echo "Adicionou o objeto com id " . $id . "\n";

/* Inicializa os arrays de leitura e escrita */
$leitura = array();
$escrita = array();

while (true) {
   /* Quantidade de eventos recuperados */
   $eventos = 0;

   try {
       /* Pesquisa até que haja algo a ser feito */
       $eventos = $consulta->poll($leitura, $escrita, -1);
       $erros = $consulta->getLastErrors();

       if (count($erros) > 0) {
           foreach ($erros as $erro) {
               echo "Erro ao consultar objeto " . $erro . "\n";
           }
       }
   } catch (ZMQPollException $e) {
       echo "A pesquisa falhou: " . $e->getMessage() . "\n";
   }

   if ($eventos > 0) {
       /* Itera através dos objetos de leitura e mensagens recebidas */
       foreach ($leitura as $le) {
           try {
               echo "Mensagem recebida: " . $le->recv() . "\n";
           } catch (ZMQException $e) {
               echo "o método recv falhou: " . $e->getMessage() . "\n";
           }
       }

       /* Itera através dos objetos de escrita e das mensagens enviada */
       foreach ($escrita as $es) {
           try {
               $es->send("Recebido!");
           } catch (ZMQException $e) {
               echo "o método send falhou: " . $e->getMessage() . "\n";
           }
       }
   }
}
?>

Valor Retornado

Retorna um inteiro representando a quantidade de itens com atividade. Lança uma exceção ZMQPollException caso haja erro.


Remove um item da lista de consulta

  • « ZMQPoll::poll
  • ZMQDevice »
  • PHP Manual
  • ZMQPoll
  • Remove um item da lista de consulta

ZMQPoll::remove

(PECL zmq >= 0.5.0)

ZMQPoll::remove — Remove um item da lista de consulta

Descrição

public ZMQPoll::remove ( mixed $item ) : boolean

Remove o item da lista de consulta. O parâmetro item pode ser um objeto ZMQSocket, um recurso de fluxo (stream) ou o id retornado pelo método ZMQPoll::add().

Parâmetros

item

O objeto ZMQSocket, recurso de fluxo (stream) ou a string id do item.

Valor Retornado

Retorna verdadeiro caso o item tenha sido removido e falso caso o objeto com o id informado não existe na lista de pesquisa.


A classe ZMQDevice

(PECL zmq >= 0.5.0)

Introdução

Sinopse da classe

ZMQDevice {
/* Métodos */
__construct ( ZMQSocket $frontend , ZMQSocket $backend , ZMQSocket $listener = ? )
public getIdleTimeout ( ) : ZMQDevice
public getTimerTimeout ( ) : ZMQDevice
public run ( ) : void
public setIdleCallback ( callable $cb_func , integer $timeout , mixed $user_data = ? ) : ZMQDevice
public setIdleTimeout ( integer $timeout ) : ZMQDevice
public setTimerCallback ( callable $cb_func , integer $timeout , mixed $user_data = ? ) : ZMQDevice
public setTimerTimeout ( integer $timeout ) : ZMQDevice
}

Índice

  • ZMQDevice::__construct — Constrói um novo dispositivo
  • ZMQDevice::getIdleTimeout — Obtém o tempo limite de inatividade
  • ZMQDevice::getTimerTimeout — Obtém o tempo limite do temporizador
  • ZMQDevice::run — Executa o novo dispositivo
  • ZMQDevice::setIdleCallback — Define a função de retorno de inatividade
  • ZMQDevice::setIdleTimeout — Define o tempo limite de inatividade
  • ZMQDevice::setTimerCallback — Define a função de retorno do temporizador
  • ZMQDevice::setTimerTimeout — Define o tempo limite do temporizador


Constrói um novo dispositivo

  • « ZMQDevice
  • ZMQDevice::getIdleTimeout »
  • PHP Manual
  • ZMQDevice
  • Constrói um novo dispositivo

ZMQDevice::__construct

(PECL zmq >= 0.5.0)

ZMQDevice::__construct — Constrói um novo dispositivo

Descrição

ZMQDevice::__construct ( ZMQSocket $frontend , ZMQSocket $backend , ZMQSocket $listener = ? )

"Dispositivos ØMQ podem itermediar endereços, serviços, filas, ou qualquer outra abstração que se deseje definir sobre a mensagem e as camadas de socket." -- zguide

Parâmetros

frontend

Parametro de entrada dos dispositivos. Geralmente de onde as mensagens estão vindo.

backend

Parâmetro de destino dos dispositivos. Geralmente para onde as mensagens estão indo.

listener

Um socket ouvinte (listener), que recebe uma cópia de todas as mensagens indo em ambas direções. O tipo desse socket deve ser SUB, PULL ou DEALER.

Valor Retornado

A chamada para este método prepara o dispositivo. Geralmente os dispositivos são processos se longa execução, assim, executar esse método a partir de um script interativo não é recomendado. Esse método lança uma exceção ZMQDeviceException caso o dispositivo não possa ser inicializado.


Obtém o tempo limite de inatividade

  • « ZMQDevice::__construct
  • ZMQDevice::getTimerTimeout »
  • PHP Manual
  • ZMQDevice
  • Obtém o tempo limite de inatividade

ZMQDevice::getIdleTimeout

(Não há informação de versão disponível, talvez apenas no Git)

ZMQDevice::getIdleTimeout — Obtém o tempo limite de inatividade

Descrição

public ZMQDevice::getIdleTimeout ( ) : ZMQDevice

Obtém o valor do tempo limite de inatividade do retorno. Adicionado na versão 1.0.0 da extensão ZMQ.

Valor Retornado

Esse método retorna o valor do tempo limite de inatividade do retorno.


Obtém o tempo limite do temporizador

  • « ZMQDevice::getIdleTimeout
  • ZMQDevice::run »
  • PHP Manual
  • ZMQDevice
  • Obtém o tempo limite do temporizador

ZMQDevice::getTimerTimeout

(Não há informação de versão disponível, talvez apenas no Git)

ZMQDevice::getTimerTimeout — Obtém o tempo limite do temporizador

Descrição

public ZMQDevice::getTimerTimeout ( ) : ZMQDevice

Obtém o valor do tempo limite do temporizador. Adicionado na versão 1.0.0 da extensão ZMQ.

Valor Retornado

Este método retorna o valor do tempo limite do temporizador.


Executa o novo dispositivo

  • « ZMQDevice::getTimerTimeout
  • ZMQDevice::setIdleCallback »
  • PHP Manual
  • ZMQDevice
  • Executa o novo dispositivo

ZMQDevice::run

(Não há informação de versão disponível, talvez apenas no Git)

ZMQDevice::run — Executa o novo dispositivo

Descrição

public ZMQDevice::run ( ) : void

Executa o dispositivo.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A chamada para este método ficará bloqueada até que o dispositivo seja executado. Não é recomendado que os dispositivos sejam usados a partir de scripts interativos. Caso haja falha, esse método lançará uma exceção ZMQDeviceException.


Define a função de retorno de inatividade

  • « ZMQDevice::run
  • ZMQDevice::setIdleTimeout »
  • PHP Manual
  • ZMQDevice
  • Define a função de retorno de inatividade

ZMQDevice::setIdleCallback

(Não há informação de versão disponível, talvez apenas no Git)

ZMQDevice::setIdleCallback — Define a função de retorno de inatividade

Descrição

public ZMQDevice::setIdleCallback ( callable $cb_func , integer $timeout , mixed $user_data = ? ) : ZMQDevice

Define a função de retorno de inatividade. Se o tempo limite de inatividade for definido, a função de retorno será chamada se a consulta interna ficar sem eventos durante o tempo limite. Se a função de retorno retornar falso ou um valor que seja avaliado para falso, o dispositivo é interrompido. A assinatura da função de retorno é cb_func(mixed $user_data).

Parâmetros

cb_func

A função de retorno que será invocada de o dispositivo ficar inativo. Retornando falso ou um valor que avalia para falso dessa função causará a interrupção do dispositivo.

timeout

Com que frequência invocar a função de retorno em milissegundos. A função de retorno de inatividade é invocada periodicamente quando não há atividade no dispositivo. O valor do tempo limite garante que haverá no mínimo essa quantidade de milissegundos entre as chamadas à função de retorno.

user_data

Dados adicionais pasados para a função de retorno.

Valor Retornado

Em caso de sucesso, esse método retorna o objeto atual.


Define o tempo limite de inatividade

  • « ZMQDevice::setIdleCallback
  • ZMQDevice::setTimerCallback »
  • PHP Manual
  • ZMQDevice
  • Define o tempo limite de inatividade

ZMQDevice::setIdleTimeout

(Não há informação de versão disponível, talvez apenas no Git)

ZMQDevice::setIdleTimeout — Define o tempo limite de inatividade

Descrição

public ZMQDevice::setIdleTimeout ( integer $timeout ) : ZMQDevice

Define o tempo limite da função de retorno de inatividade. A função de retorno de inatividade é invocada periodicamente quando o dispositivo está ocioso.

Parâmetros

timeout

O valor do tempo limite da função de retorno de inatividade.

Valor Retornado

Caso haja sucesso, esse método retorna o objeto atual.


Define a função de retorno do temporizador

  • « ZMQDevice::setIdleTimeout
  • ZMQDevice::setTimerTimeout »
  • PHP Manual
  • ZMQDevice
  • Define a função de retorno do temporizador

ZMQDevice::setTimerCallback

(Não há informação de versão disponível, talvez apenas no Git)

ZMQDevice::setTimerCallback — Define a função de retorno do temporizador

Descrição

public ZMQDevice::setTimerCallback ( callable $cb_func , integer $timeout , mixed $user_data = ? ) : ZMQDevice

Define a função de retorno do temporizador. A função de retorno do temporizados será invocada após a passagem do tempo limite. A diferença entre as funções de retorno de inatividade e do temporizador é que a função de retorno por inatividade é invocada apenas quando o dispositivo está ocioso. A assinatura da função de retorno é cb_func(mized $user_data). Adicionada à extensão ZMQ na versão 1.1.0.

Parâmetros

cb_func

Função de retorno que será invocada quando o dispositido estiver ocioso. Retornando falso ou um valor que avalie para falso nessa função causará a interrupção do dispositivo.

timeout

Com que frequência invocar a função de retorno em milissegundos. A função de retorno de inatividade é invocada periodicamente quando não há atividade no dispositivo. O valor do tempo limite garante que haverá no mínimo essa quantidade de milissegundos entre as chamadas à função de retorno.

user_data

Dados adicionais pasados para a função de retorno.

Valor Retornado

Em caso de sucesso, esse método retorna o objeto atual.


Define o tempo limite do temporizador

  • « ZMQDevice::setTimerCallback
  • ZooKeeper »
  • PHP Manual
  • ZMQDevice
  • Define o tempo limite do temporizador

ZMQDevice::setTimerTimeout

(Não há informação de versão disponível, talvez apenas no Git)

ZMQDevice::setTimerTimeout — Define o tempo limite do temporizador

Descrição

public ZMQDevice::setTimerTimeout ( integer $timeout ) : ZMQDevice

Define o tempo limite da função de retorno do temporizador. A função de retorno do temporizador é invocada periodicamente caso o mesmo seja definido. Adicionada à extensão ZMQ na versão 1.1.0.

Parâmetros

timeout

O valor do tempo limite da função de retorno do temporizador.

Valor Retornado

Em caso de sucesso, esse método retorna o objeto atual.


ZooKeeper

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • ZooKeeper Funções
    • zookeeper_dispatch — Calls callbacks for pending operations
  • Zookeeper — The Zookeeper class
    • Zookeeper::addAuth — Specify application credentials
    • Zookeeper::close — Close the zookeeper handle and free up any resources
    • Zookeeper::connect — Create a handle to used communicate with zookeeper
    • Zookeeper::__construct — Create a handle to used communicate with zookeeper
    • Zookeeper::create — Create a node synchronously
    • Zookeeper::delete — Delete a node in zookeeper synchronously
    • Zookeeper::exists — Checks the existence of a node in zookeeper synchronously
    • Zookeeper::get — Gets the data associated with a node synchronously
    • Zookeeper::getAcl — Gets the acl associated with a node synchronously
    • Zookeeper::getChildren — Lists the children of a node synchronously
    • Zookeeper::getClientId — Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
    • Zookeeper::getConfig — Get instance of ZookeeperConfig
    • Zookeeper::getRecvTimeout — Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect
    • Zookeeper::getState — Get the state of the zookeeper connection
    • Zookeeper::isRecoverable — Checks if the current zookeeper connection state can be recovered
    • Zookeeper::set — Sets the data associated with a node
    • Zookeeper::setAcl — Sets the acl associated with a node synchronously
    • Zookeeper::setDebugLevel — Sets the debugging level for the library
    • Zookeeper::setDeterministicConnOrder — Enable/disable quorum endpoint order randomization
    • Zookeeper::setLogStream — Sets the stream to be used by the library for logging
    • Zookeeper::setWatcher — Set a watcher function
  • ZookeeperConfig — The ZookeeperConfig class
    • ZookeeperConfig::add — Add servers to the ensemble
    • ZookeeperConfig::get — Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously
    • ZookeeperConfig::remove — Remove servers from the ensemble
    • ZookeeperConfig::set — Change ZK cluster ensemble membership and roles of ensemble peers
  • ZookeeperException — The ZookeeperException class
  • ZookeeperAuthenticationException — The ZookeeperAuthenticationException class
  • ZookeeperConnectionException — The ZookeeperConnectionException class
  • ZookeeperMarshallingException — The ZookeeperMarshallingException class
  • ZookeeperNoNodeException — The ZookeeperNoNodeException class
  • ZookeeperOperationTimeoutException — The ZookeeperOperationTimeoutException class
  • ZookeeperSessionException — The ZookeeperSessionException class


Introdução

This extension uses libzookeeper library to provide API for communicating with ZooKeeper service.

ZooKeeper is an Apache project that enables centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.


Dependências

This extension requires » ZooKeeper C Binding (version 3.4.1 or greater). For more information, see » ZooKeeper Programmer's Guide.

This extension requires PHP version 5.2.0 or higher. Since 0.6.0, it requires PHP version 7.0.0 or higher.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/zookeeper.

To enable zookeeper support, configure with --with-libzookeeper-dir=DIR. DIR is the install prefix of ZooKeeper C Binding, which must contain the include/zookeeper/zookeeper.h

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Zookeeper Opções de Configuração
Nome | Padrão | Modificável | Changelog
zookeeper.recv_timeout | 10000 | PHP_INI_ALL |
zookeeper.session_lock | 1 | PHP_INI_SYSTEM |
zookeeper.sess_lock_wait | 150000 | PHP_INI_ALL |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

zookeeper.recv_timeout int

Default the timeout for any ZooKeeper session.

zookeeper.session_lock int

Enable PHP session locking.

zookeeper.sess_lock_wait int

PHP Session spin lock retry wait time in microseconds. Be carefull when setting this value. Valid values are integers, where 0 is interpreted as the default value. Negative values result in a reduces locking to a try lock.


  • « Tipos de Recurso
  • ZooKeeper Funções »
  • PHP Manual
  • ZooKeeper
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


  • « Constantes pré-definidas
  • zookeeper_dispatch »
  • PHP Manual
  • ZooKeeper
  • ZooKeeper Funções

ZooKeeper Funções

Índice

  • zookeeper_dispatch — Calls callbacks for pending operations


Calls callbacks for pending operations

  • « ZooKeeper Funções
  • Zookeeper »
  • PHP Manual
  • ZooKeeper Funções
  • Calls callbacks for pending operations

zookeeper_dispatch

(PECL zookeeper >= 0.4.0)

zookeeper_dispatch — Calls callbacks for pending operations

Descrição

zookeeper_dispatch ( ) : void

The zookeeper_dispatch() function calls the callbacks passwd by operations like Zookeeper::get() or Zookeeper::exists().

Cuidado

Since version 0.4.0, this function must be called manually to achieve asynchronous operations. If you want that to be done automatically, you also can declare ticks at the beginning of your program.

After PHP 7.1, you can ignore this function. This extension uses EG(vm_interrupt) to implement async dispatch.

Erros

This method emits PHP warning when callback could not be invoked.

Exemplos

Exemplo #1 zookeeper_dispatch() example #1

Dispatch callbacks manually.

<?php
$client = new Zookeeper();
$client->connect('localhost:2181');
$client->get('/zookeeper', function() {
    echo "Callback was called".PHP_EOL;
});
while(true) {
    sleep(1);
    zookeeper_dispatch();
}
?>

Exemplo #2 zookeeper_dispatch() example #2

Declare ticks.

<?php
declare(ticks=1);

$client = new Zookeeper();
$client->connect('localhost:2181');
$client->get('/zookeeper', function() {
    echo "Callback was called".PHP_EOL;
});
while(true) {
    sleep(1);
}
?>

Veja Também

  • Zookeeper::addAuth() - Specify application credentials
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::exists() - Checks the existence of a node in zookeeper synchronously
  • Zookeeper::get() - Gets the data associated with a node synchronously
  • Zookeeper::getChildren() - Lists the children of a node synchronously
  • Zookeeper::setWatcher() - Set a watcher function


The Zookeeper class

(PECL zookeeper >= 0.1.0)

Introdução

Represents ZooKeeper session.

Sinopse da classe

Zookeeper {
/* Métodos */
public __construct ( string $host = '' , callable $watcher_cb = null , int $recv_timeout = 10000 )
public addAuth ( string $scheme , string $cert , callable $completion_cb = null ) : bool
public close ( ) : void
public connect ( string $host , callable $watcher_cb = null , int $recv_timeout = 10000 ) : void
public create ( string $path , string $value , array $acls , int $flags = null ) : string
public delete ( string $path , int $version = -1 ) : bool
public exists ( string $path , callable $watcher_cb = null ) : array
public get ( string $path , callable $watcher_cb = null , array &$stat = null , int $max_size = 0 ) : string
public getAcl ( string $path ) : array
public getChildren ( string $path , callable $watcher_cb = null ) : array
public getClientId ( ) : int
public getConfig ( ) : ZookeeperConfig
public getRecvTimeout ( ) : int
public getState ( ) : int
public isRecoverable ( ) : bool
public set ( string $path , string $value , int $version = -1 , array &$stat = null ) : bool
public setAcl ( string $path , int $version , array $acl ) : bool
public static setDebugLevel ( int $logLevel ) : bool
public static setDeterministicConnOrder ( bool $yesOrNo ) : bool
public setLogStream ( resource $stream ) : bool
public setWatcher ( callable $watcher_cb ) : bool
/* Constantes */
const int PERM_READ = 1 ;
const int PERM_WRITE = 2 ;
const int PERM_CREATE = 4 ;
const int PERM_DELETE = 8 ;
const int PERM_ADMIN = 16 ;
const int PERM_ALL = 31 ;
const int EPHEMERAL = 1 ;
const int SEQUENCE = 2 ;
const int LOG_LEVEL_ERROR = 1 ;
const int LOG_LEVEL_WARN = 2 ;
const int LOG_LEVEL_INFO = 3 ;
const int LOG_LEVEL_DEBUG = 4 ;
const int EXPIRED_SESSION_STATE = -112 ;
const int AUTH_FAILED_STATE = -113 ;
const int CONNECTING_STATE = 1 ;
const int ASSOCIATING_STATE = 2 ;
const int CONNECTED_STATE = 3 ;
const int READONLY_STATE = 5 ;
const int NOTCONNECTED_STATE = 999 ;
const int CREATED_EVENT = 1 ;
const int DELETED_EVENT = 2 ;
const int CHANGED_EVENT = 3 ;
const int CHILD_EVENT = 4 ;
const int SESSION_EVENT = -1 ;
const int NOTWATCHING_EVENT = -2 ;
const int SYSTEMERROR = -1 ;
const int RUNTIMEINCONSISTENCY = -2 ;
const int DATAINCONSISTENCY = -3 ;
const int CONNECTIONLOSS = -4 ;
const int MARSHALLINGERROR = -5 ;
const int UNIMPLEMENTED = -6 ;
const int OPERATIONTIMEOUT = -7 ;
const int BADARGUMENTS = -8 ;
const int INVALIDSTATE = -9 ;
const int NEWCONFIGNOQUORUM = -13 ;
const int RECONFIGINPROGRESS = -14 ;
const int OK = 0 ;
const int APIERROR = -100 ;
const int NONODE = -101 ;
const int NOAUTH = -102 ;
const int BADVERSION = -103 ;
const int NOCHILDRENFOREPHEMERALS = -108 ;
const int NODEEXISTS = -110 ;
const int NOTEMPTY = -111 ;
const int SESSIONEXPIRED = -112 ;
const int INVALIDCALLBACK = -113 ;
const int INVALIDACL = -114 ;
const int AUTHFAILED = -115 ;
const int CLOSING = -116 ;
const int NOTHING = -117 ;
const int SESSIONMOVED = -118 ;
const int NOTREADONLY = -119 ;
const int EPHEMERALONLOCALSESSION = -120 ;
const int NOWATCHER = -121 ;
const int RECONFIGDISABLED = -122 ;
}

Constantes pré-definidas

ZooKeeper Permissions

Zookeeper::PERM_READ

Can read nodes value and list its children

Zookeeper::PERM_WRITE

Can set the nodes value

Zookeeper::PERM_CREATE

Can create children

Zookeeper::PERM_DELETE

Can delete children

Zookeeper::PERM_ADMIN

Can execute set_acl()

Zookeeper::PERM_ALL

All of the above flags ORd together

ZooKeeper Create Flags

Zookeeper::EPHEMERAL

If Zookeeper::EPHEMERAL flag is set, the node will automatically get removed if the client session goes away.

Zookeeper::SEQUENCE

If the Zookeeper::SEQUENCE flag is set, a unique monotonically increasing sequence number is appended to the path name. The sequence number is always fixed length of 10 digits, 0 padded.

ZooKeeper Log Levels

Zookeeper::LOG_LEVEL_ERROR

Outputs only error mesages

Zookeeper::LOG_LEVEL_WARN

Outputs errors/warnings

Zookeeper::LOG_LEVEL_INFO

Outputs big action messages besides errors/warnings

Zookeeper::LOG_LEVEL_DEBUG

Outputs all

ZooKeeper States

Zookeeper::EXPIRED_SESSION_STATE

Connected but session expired

Zookeeper::AUTH_FAILED_STATE

Connected but auth failed

Zookeeper::CONNECTING_STATE

Connecting

Zookeeper::ASSOCIATING_STATE

Associating

Zookeeper::CONNECTED_STATE

Connected

Zookeeper::READONLY_STATE

TODO: help us improve this extension.

Zookeeper::NOTCONNECTED_STATE

Connection failed

ZooKeeper Watch Types

Zookeeper::CREATED_EVENT

A node has been created

This is only generated by watches on non-existent nodes. These watches are set using Zookeeper::exists.

Zookeeper::DELETED_EVENT

A node has been deleted

This is only generated by watches on nodes. These watches are set using Zookeeper::exists and Zookeeper::get.

Zookeeper::CHANGED_EVENT

A node has changed

This is only generated by watches on nodes. These watches are set using Zookeeper::exists and Zookeeper::get.

Zookeeper::CHILD_EVENT

A change as occurred in the list of children

This is only generated by watches on the child list of a node. These watches are set using Zookeeper::getChildren.

Zookeeper::SESSION_EVENT

A session has been lost

This is generated when a client loses contact or reconnects with a server.

Zookeeper::NOTWATCHING_EVENT

A watch has been removed

This is generated when the server for some reason, probably a resource constraint, will no longer watch a node for a client.

ZooKeeper System and Server-side Errors

Zookeeper::SYSTEMERROR

This is never thrown by the server, it shouldn't be used other than to indicate a range. Specifically error codes greater than this value, but lesser than Zookeeper::APIERROR, are system errors.

Zookeeper::RUNTIMEINCONSISTENCY

A runtime inconsistency was found.

Zookeeper::DATAINCONSISTENCY

A data inconsistency was found.

Zookeeper::CONNECTIONLOSS

Connection to the server has been lost.

Zookeeper::MARSHALLINGERROR

Error while marshalling or unmarshalling data.

Zookeeper::UNIMPLEMENTED

Operation is unimplemented.

Zookeeper::OPERATIONTIMEOUT

Operation timeout.

Zookeeper::BADARGUMENTS

Invalid arguments.

Zookeeper::INVALIDSTATE

Invliad zhandle state.

Zookeeper::NEWCONFIGNOQUORUM

No quorum of new config is connected and up-to-date with the leader of last committed config - try invoking reconfiguration after new servers are connected and synced.

Available as of ZooKeeper 3.5.0

Zookeeper::RECONFIGINPROGRESS

Reconfiguration requested while another reconfiguration is currently in progress. This is currently not supported. Please retry.

Available as of ZooKeeper 3.5.0

ZooKeeper API Errors

Zookeeper::OK

Everything is OK.

Zookeeper::APIERROR

This is never thrown by the server, it shouldn't be used other than to indicate a range. Specifically error codes greater than this value are API errors (while values less than this indicate a Zookeeper::SYSTEMERROR).

Zookeeper::NONODE

Node does not exist.

Zookeeper::NOAUTH

Not authenticated.

Zookeeper::BADVERSION

Version conflict.

Zookeeper::NOCHILDRENFOREPHEMERALS

Ephemeral nodes may not have children.

Zookeeper::NODEEXISTS

The node already exists.

Zookeeper::NOTEMPTY

The node has children.

Zookeeper::SESSIONEXPIRED

The session has been expired by the server.

Zookeeper::INVALIDCALLBACK

Invalid callback specified.

Zookeeper::INVALIDACL

Invalid ACL specified.

Zookeeper::AUTHFAILED

Client authentication failed.

Zookeeper::CLOSING

ZooKeeper is closing.

Zookeeper::NOTHING

(not error) No server responses to process.

Zookeeper::SESSIONMOVED

Session moved to another server, so operation is ignored.

Zookeeper::NOTREADONLY

State-changing request is passed to read-only server.

Zookeeper::EPHEMERALONLOCALSESSION

Attempt to create ephemeral node on a local session.

Zookeeper::NOWATCHER

The watcher couldn't be found.

Zookeeper::RECONFIGDISABLED

Attempts to perform a reconfiguration operation when reconfiguration feature is disabled.

Índice

  • Zookeeper::addAuth — Specify application credentials
  • Zookeeper::close — Close the zookeeper handle and free up any resources
  • Zookeeper::connect — Create a handle to used communicate with zookeeper
  • Zookeeper::__construct — Create a handle to used communicate with zookeeper
  • Zookeeper::create — Create a node synchronously
  • Zookeeper::delete — Delete a node in zookeeper synchronously
  • Zookeeper::exists — Checks the existence of a node in zookeeper synchronously
  • Zookeeper::get — Gets the data associated with a node synchronously
  • Zookeeper::getAcl — Gets the acl associated with a node synchronously
  • Zookeeper::getChildren — Lists the children of a node synchronously
  • Zookeeper::getClientId — Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
  • Zookeeper::getConfig — Get instance of ZookeeperConfig
  • Zookeeper::getRecvTimeout — Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect
  • Zookeeper::getState — Get the state of the zookeeper connection
  • Zookeeper::isRecoverable — Checks if the current zookeeper connection state can be recovered
  • Zookeeper::set — Sets the data associated with a node
  • Zookeeper::setAcl — Sets the acl associated with a node synchronously
  • Zookeeper::setDebugLevel — Sets the debugging level for the library
  • Zookeeper::setDeterministicConnOrder — Enable/disable quorum endpoint order randomization
  • Zookeeper::setLogStream — Sets the stream to be used by the library for logging
  • Zookeeper::setWatcher — Set a watcher function


Specify application credentials

  • « Zookeeper
  • Zookeeper::close »
  • PHP Manual
  • Zookeeper
  • Specify application credentials

Zookeeper::addAuth

(PECL zookeeper >= 0.1.0)

Zookeeper::addAuth — Specify application credentials

Descrição

public Zookeeper::addAuth ( string $scheme , string $cert , callable $completion_cb = null ) : bool

The application calls this function to specify its credentials for purposes of authentication. The server will use the security provider specified by the scheme parameter to authenticate the client connection. If the authentication request has failed: - the server connection is dropped. - the watcher is called with the ZOO_AUTH_FAILED_STATE value as the state parameter.

Parâmetros

scheme

The id of authentication scheme. Natively supported: "digest" password-based authentication

cert

Application credentials. The actual value depends on the scheme.

completion_cb

The routine to invoke when the request completes. One of the following result codes may be passed into the completion callback: - ZOK operation completed successfully - ZAUTHFAILED authentication failed

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

This method emits PHP error/warning when parameters count or types are wrong or operation fails.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Exemplos

Exemplo #1 Zookeeper::addAuth() example

Add auth before requesting node value.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$value = 'nodevalue';
$zookeeper->set($path, $value);

$zookeeper->addAuth('digest', 'user0:passwd0');
$r = $zookeeper->get($path);
if ($r)
  echo $r;
else
  echo 'ERR';
?>

O exemplo acima irá imprimir:

nodevalue

Veja Também

  • Zookeeper::create() - Create a node synchronously
  • Zookeeper::setAcl() - Sets the acl associated with a node synchronously
  • Zookeeper::getAcl() - Gets the acl associated with a node synchronously
  • ZooKeeper States
  • ZookeeperException


Close the zookeeper handle and free up any resources

  • « Zookeeper::addAuth
  • Zookeeper::connect »
  • PHP Manual
  • Zookeeper
  • Close the zookeeper handle and free up any resources

Zookeeper::close

(PECL zookeeper >= 0.5.0)

Zookeeper::close — Close the zookeeper handle and free up any resources

Descrição

public Zookeeper::close ( ) : void

Erros

This method emits ZookeeperException and it's derivatives when closing an uninitialized instance.

Veja Também

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • ZookeeperException


Create a handle to used communicate with zookeeper

  • « Zookeeper::close
  • Zookeeper::__construct »
  • PHP Manual
  • Zookeeper
  • Create a handle to used communicate with zookeeper

Zookeeper::connect

(PECL zookeeper >= 0.2.0)

Zookeeper::connect — Create a handle to used communicate with zookeeper

Descrição

public Zookeeper::connect ( string $host , callable $watcher_cb = null , int $recv_timeout = 10000 ) : void

This method creates a new handle and a zookeeper session that corresponds to that handle. Session establishment is asynchronous, meaning that the session should not be considered established until (and unless) an event of state ZOO_CONNECTED_STATE is received.

Parâmetros

host

Comma separated host:port pairs, each corresponding to a zk server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"

watcher_cb

The global watcher callback function. When notifications are triggered this function will be invoked.

recv_timeout

The timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE).

Erros

This method emits PHP error/warning when parameters count or types are wrong or could not init instance.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Veja Também

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • ZookeeperException


Create a handle to used communicate with zookeeper

  • « Zookeeper::connect
  • Zookeeper::create »
  • PHP Manual
  • Zookeeper
  • Create a handle to used communicate with zookeeper

Zookeeper::__construct

(PECL zookeeper >= 0.1.0)

Zookeeper::__construct — Create a handle to used communicate with zookeeper

Descrição

public Zookeeper::__construct ( string $host = '' , callable $watcher_cb = null , int $recv_timeout = 10000 )

This method creates a new handle and a zookeeper session that corresponds to that handle. Session establishment is asynchronous, meaning that the session should not be considered established until (and unless) an event of state ZOO_CONNECTED_STATE is received.

Parâmetros

host

comma separated host:port pairs, each corresponding to a zk server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"

watcher_cb

the global watcher callback function. When notifications are triggered this function will be invoked.

recv_timeout

the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE).

Erros

This method emits PHP error/warning when parameters count or types are wrong or could not init instance.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Veja Também

  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • ZookeeperException


Create a node synchronously

  • « Zookeeper::__construct
  • Zookeeper::delete »
  • PHP Manual
  • Zookeeper
  • Create a node synchronously

Zookeeper::create

(PECL zookeeper >= 0.1.0)

Zookeeper::create — Create a node synchronously

Descrição

public Zookeeper::create ( string $path , string $value , array $acls , int $flags = null ) : string

This method will create a node in ZooKeeper. A node can only be created if it does not already exists. The Create Flags affect the creation of nodes. If ZOO_EPHEMERAL flag is set, the node will automatically get removed if the client session goes away. If the ZOO_SEQUENCE flag is set, a unique monotonically increasing sequence number is appended to the path name.

Parâmetros

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

value

The data to be stored in the node.

acls

The initial ACL of the node. The ACL must not be null or empty.

flags

this parameter can be set to 0 for normal create or an OR of the Create Flags

Valor Retornado

Returns the path of the new node (this might be different than the supplied path because of the ZOO_SEQUENCE flag) on success, and false on failure.

Erros

This method emits PHP error/warning when parameters count or types are wrong or fail to create node.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Exemplos

Exemplo #1 Zookeeper::create() example

Create a new node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$aclArray = array(
  array(
    'perms'  => Zookeeper::PERM_ALL,
    'scheme' => 'world',
    'id'     => 'anyone',
  )
);
$path = '/path/to/newnode';
$realPath = $zookeeper->create($path, null, $aclArray);
if ($realPath)
  echo $realPath;
else
  echo 'ERR';
?>

O exemplo acima irá imprimir:

/path/to/newnode

Veja Também

  • Zookeeper::delete() - Delete a node in zookeeper synchronously
  • Zookeeper::getChildren() - Lists the children of a node synchronously
  • ZooKeeper Permissions
  • ZookeeperException


Delete a node in zookeeper synchronously

  • « Zookeeper::create
  • Zookeeper::exists »
  • PHP Manual
  • Zookeeper
  • Delete a node in zookeeper synchronously

Zookeeper::delete

(PECL zookeeper >= 0.2.0)

Zookeeper::delete — Delete a node in zookeeper synchronously

Descrição

public Zookeeper::delete ( string $path , int $version = -1 ) : bool

Parâmetros

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

version

The expected version of the node. The function will fail if the actual version of the node does not match the expected version. If -1 is used the version check will not take place.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

This method emits PHP error/warning when parameters count or types are wrong or fail to delete node.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Exemplos

Exemplo #1 Zookeeper::delete() example

Delete a existing node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$r = $zookeeper->delete($path);
if ($r)
  echo 'SUCCESS';
else
  echo 'ERR';
?>

O exemplo acima irá imprimir:

SUCCESS

Veja Também

  • Zookeeper::create() - Create a node synchronously
  • Zookeeper::getChildren() - Lists the children of a node synchronously
  • ZookeeperException


Checks the existence of a node in zookeeper synchronously

  • « Zookeeper::delete
  • Zookeeper::get »
  • PHP Manual
  • Zookeeper
  • Checks the existence of a node in zookeeper synchronously

Zookeeper::exists

(PECL zookeeper >= 0.1.0)

Zookeeper::exists — Checks the existence of a node in zookeeper synchronously

Descrição

public Zookeeper::exists ( string $path , callable $watcher_cb = null ) : array

Parâmetros

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

watcher_cb

if nonzero, a watch will be set at the server to notify the client if the node changes. The watch will be set even if the node does not

Valor Retornado

Returns the value of stat for the path if the given node exists, otherwise false.

Erros

This method emits PHP error/warning when parameters count or types are wrong or fail to check the existence of a node.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Exemplos

Exemplo #1 Zookeeper::exists() example

Check the existence of a node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$r = $zookeeper->exists($path);
if ($r)
  echo 'EXISTS';
else
  echo 'N/A or ERR';
?>

O exemplo acima irá imprimir:

EXISTS

Veja Também

  • Zookeeper::get() - Gets the data associated with a node synchronously
  • ZookeeperException


Gets the data associated with a node synchronously

  • « Zookeeper::exists
  • Zookeeper::getAcl »
  • PHP Manual
  • Zookeeper
  • Gets the data associated with a node synchronously

Zookeeper::get

(PECL zookeeper >= 0.1.0)

Zookeeper::get — Gets the data associated with a node synchronously

Descrição

public Zookeeper::get ( string $path , callable $watcher_cb = null , array &$stat = null , int $max_size = 0 ) : string

Parâmetros

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

watcher_cb

If nonzero, a watch will be set at the server to notify the client if the node changes.

stat

If not NULL, will hold the value of stat for the path on return.

max_size

Max size of the data. If 0 is used, this method will return the whole data.

Valor Retornado

Returns the data on success, and false on failure.

Erros

This method emits PHP error/warning when parameters count or types are wrong or fail to get value from node.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Exemplos

Exemplo #1 Zookeeper::get() example

Get value from node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$value = 'nodevalue';
$zookeeper->set($path, $value);

$r = $zookeeper->get($path);
if ($r)
  echo $r;
else
  echo 'ERR';
?>

O exemplo acima irá imprimir:

nodevalue

Exemplo #2 Zookeeper::get() stat example

Get node stat info.

<?php
$zookeeper = new Zookeeper('localhost:2181');
$path = '/path/to/node';
$stat = [];
$zookeeper->get($path, null, $stat);
var_dump($stat);
?>

O exemplo acima irá imprimir:

array(11) {
  ["czxid"]=>
  float(0)
  ["mzxid"]=>
  float(0)
  ["ctime"]=>
  float(0)
  ["mtime"]=>
  float(0)
  ["version"]=>
  int(0)
  ["cversion"]=>
  int(-2)
  ["aversion"]=>
  int(0)
  ["ephemeralOwner"]=>
  float(0)
  ["dataLength"]=>
  int(0)
  ["numChildren"]=>
  int(2)
  ["pzxid"]=>
  float(0)
}

Veja Também

  • Zookeeper::set() - Sets the data associated with a node
  • ZookeeperException


Gets the acl associated with a node synchronously

  • « Zookeeper::get
  • Zookeeper::getChildren »
  • PHP Manual
  • Zookeeper
  • Gets the acl associated with a node synchronously

Zookeeper::getAcl

(PECL zookeeper >= 0.1.0)

Zookeeper::getAcl — Gets the acl associated with a node synchronously

Descrição

public Zookeeper::getAcl ( string $path ) : array

Parâmetros

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

Valor Retornado

Return acl array on success and false on failure.

Erros

This method emits PHP error/warning when parameters count or types are wrong or fail to get ACL of a node.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Exemplos

Exemplo #1 Zookeeper::getAcl() example

Get ACL of a node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$aclArray = array(
  array(
    'perms'  => Zookeeper::PERM_ALL,
    'scheme' => 'world',
    'id'     => 'anyone',
  )
);
$path = '/path/to/newnode';
$zookeeper->setAcl($path, $aclArray);

$r = $zookeeper->getAcl($path);
if ($r)
  var_dump($r);
else
  echo 'ERR';
?>

O exemplo acima irá imprimir:

array(1) {
  [0]=>
  array(3) {
    ["perms"]=>
    int(31)
    ["scheme"]=>
    string(5) "world"
    ["id"]=>
    string(6) "anyone"
  }
}

Veja Também

  • Zookeeper::create() - Create a node synchronously
  • Zookeeper::setAcl() - Sets the acl associated with a node synchronously
  • ZooKeeper Permissions
  • ZookeeperException


Lists the children of a node synchronously

  • « Zookeeper::getAcl
  • Zookeeper::getClientId »
  • PHP Manual
  • Zookeeper
  • Lists the children of a node synchronously

Zookeeper::getChildren

(PECL zookeeper >= 0.1.0)

Zookeeper::getChildren — Lists the children of a node synchronously

Descrição

public Zookeeper::getChildren ( string $path , callable $watcher_cb = null ) : array

Parâmetros

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

watcher_cb

If nonzero, a watch will be set at the server to notify the client if the node changes.

Valor Retornado

Returns an array with children paths on success, and false on failure.

Erros

This method emits PHP error/warning when parameters count or types are wrong or fail to list children of a node.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Exemplos

Exemplo #1 Zookeeper::getChildren() example

Lists children of a node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/zookeeper';
$r = $zookeeper->getchildren($path);
if ($r)
  var_dump($r);
else
  echo 'ERR';
?>

O exemplo acima irá imprimir:

array(1) {
  [0]=>
  string(6) "config"
}

Veja Também

  • Zookeeper::create() - Create a node synchronously
  • Zookeeper::delete() - Delete a node in zookeeper synchronously
  • ZookeeperException


Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)

  • « Zookeeper::getChildren
  • Zookeeper::getConfig »
  • PHP Manual
  • Zookeeper
  • Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)

Zookeeper::getClientId

(PECL zookeeper >= 0.1.0)

Zookeeper::getClientId — Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)

Descrição

public Zookeeper::getClientId ( ) : int

Valor Retornado

Returns the client session id on success, and false on failure.

Erros

This method emits PHP error/warning when it could not get client session id.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Veja Também

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • Zookeeper::getState() - Get the state of the zookeeper connection
  • ZooKeeper States
  • ZookeeperException


Get instance of ZookeeperConfig

  • « Zookeeper::getClientId
  • Zookeeper::getRecvTimeout »
  • PHP Manual
  • Zookeeper
  • Get instance of ZookeeperConfig

Zookeeper::getConfig

(PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0)

Zookeeper::getConfig — Get instance of ZookeeperConfig

Descrição

public Zookeeper::getConfig ( ) : ZookeeperConfig

Valor Retornado

Returns instance of ZookeeperConfig.

Veja Também

  • ZookeeperConfig


Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect

  • « Zookeeper::getConfig
  • Zookeeper::getState »
  • PHP Manual
  • Zookeeper
  • Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect

Zookeeper::getRecvTimeout

(PECL zookeeper >= 0.1.0)

Zookeeper::getRecvTimeout — Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect

Descrição

public Zookeeper::getRecvTimeout ( ) : int

Valor Retornado

Returns the timeout for this session on success, and false on failure.

Erros

This method emits PHP error/warning when operation fails.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Veja Também

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • ZookeeperException


Get the state of the zookeeper connection

  • « Zookeeper::getRecvTimeout
  • Zookeeper::isRecoverable »
  • PHP Manual
  • Zookeeper
  • Get the state of the zookeeper connection

Zookeeper::getState

(PECL zookeeper >= 0.1.0)

Zookeeper::getState — Get the state of the zookeeper connection

Descrição

public Zookeeper::getState ( ) : int

Valor Retornado

Returns the state of zookeeper connection on success, and false on failure.

Erros

This method emits PHP error/warning when it fails to get state of zookeeper connection.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Veja Também

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • Zookeeper::getClientId() - Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
  • ZooKeeper States
  • ZookeeperException


Checks if the current zookeeper connection state can be recovered

  • « Zookeeper::getState
  • Zookeeper::set »
  • PHP Manual
  • Zookeeper
  • Checks if the current zookeeper connection state can be recovered

Zookeeper::isRecoverable

(PECL zookeeper >= 0.1.0)

Zookeeper::isRecoverable — Checks if the current zookeeper connection state can be recovered

Descrição

public Zookeeper::isRecoverable ( ) : bool

The application must close the handle and try to reconnect.

Valor Retornado

Returns true/false on success, and false on failure.

Erros

This method emits PHP error/warning when operation fails.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Veja Também

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • Zookeeper::getClientId() - Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
  • ZooKeeper States
  • ZookeeperException


Sets the data associated with a node

  • « Zookeeper::isRecoverable
  • Zookeeper::setAcl »
  • PHP Manual
  • Zookeeper
  • Sets the data associated with a node

Zookeeper::set

(PECL zookeeper >= 0.1.0)

Zookeeper::set — Sets the data associated with a node

Descrição

public Zookeeper::set ( string $path , string $value , int $version = -1 , array &$stat = null ) : bool

Parâmetros

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

value

The data to be stored in the node.

version

The expected version of the node. The function will fail if the actual version of the node does not match the expected version. If -1 is used the version check will not take place.

stat

If not NULL, will hold the value of stat for the path on return.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

This method emits PHP error/warning when parameters count or types are wrong or fail to save value to node.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Exemplos

Exemplo #1 Zookeeper::set() example

Save value to node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$value = 'nodevalue';
$r = $zookeeper->set($path, $value);
if ($r)
  echo 'SUCCESS';
else
  echo 'ERR';
?>

O exemplo acima irá imprimir:

SUCCESS

Veja Também

  • Zookeeper::create() - Create a node synchronously
  • Zookeeper::get() - Gets the data associated with a node synchronously
  • ZookeeperException


Sets the acl associated with a node synchronously

  • « Zookeeper::set
  • Zookeeper::setDebugLevel »
  • PHP Manual
  • Zookeeper
  • Sets the acl associated with a node synchronously

Zookeeper::setAcl

(PECL zookeeper >= 0.1.0)

Zookeeper::setAcl — Sets the acl associated with a node synchronously

Descrição

public Zookeeper::setAcl ( string $path , int $version , array $acl ) : bool

Parâmetros

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

version

The expected version of the path.

acl

The acl to be set on the path.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

This method emits PHP error/warning when parameters count or types are wrong or fail to set ACL for a node.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Exemplos

Exemplo #1 Zookeeper::setAcl() example

Set ACL for a node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$aclArray = array(
  array(
    'perms'  => Zookeeper::PERM_ALL,
    'scheme' => 'world',
    'id'     => 'anyone',
  )
);
$path = '/path/to/newnode';
$zookeeper->setAcl($path, $aclArray);

$r = $zookeeper->getAcl($path);
if ($r)
  var_dump($r);
else
  echo 'ERR';
?>

O exemplo acima irá imprimir:

array(1) {
  [0]=>
  array(3) {
    ["perms"]=>
    int(31)
    ["scheme"]=>
    string(5) "world"
    ["id"]=>
    string(6) "anyone"
  }
}

Veja Também

  • Zookeeper::create() - Create a node synchronously
  • Zookeeper::getAcl() - Gets the acl associated with a node synchronously
  • ZooKeeper Permissions
  • ZookeeperException


Sets the debugging level for the library

  • « Zookeeper::setAcl
  • Zookeeper::setDeterministicConnOrder »
  • PHP Manual
  • Zookeeper
  • Sets the debugging level for the library

Zookeeper::setDebugLevel

(PECL zookeeper >= 0.1.0)

Zookeeper::setDebugLevel — Sets the debugging level for the library

Descrição

public static Zookeeper::setDebugLevel ( int $logLevel ) : bool

Parâmetros

logLevel

ZooKeeper log level constants.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

This method emits PHP error/warning when parameters count or types are wrong or fail to set debug level.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Exemplos

Exemplo #1 Zookeeper::setDebugLevel() example

Set debugl level.

<?php
$r = Zookeeper::setDebugLevel(Zookeeper::LOG_LEVEL_WARN);
if ($r)
  echo 'SUCCESS';
else
  echo 'ERR';
?>
?>

O exemplo acima irá imprimir:

SUCCESS

Veja Também

  • ZooKeeper Log Levels
  • ZookeeperException


Enable/disable quorum endpoint order randomization

  • « Zookeeper::setDebugLevel
  • Zookeeper::setLogStream »
  • PHP Manual
  • Zookeeper
  • Enable/disable quorum endpoint order randomization

Zookeeper::setDeterministicConnOrder

(PECL zookeeper >= 0.1.0)

Zookeeper::setDeterministicConnOrder — Enable/disable quorum endpoint order randomization

Descrição

public static Zookeeper::setDeterministicConnOrder ( bool $yesOrNo ) : bool

If passed a true value, will make the client connect to quorum peers in the order as specified in the zookeeper_init() call. A false value causes zookeeper_init() to permute the peer endpoints which is good for more even client connection distribution among the quorum peers. ZooKeeper C Client uses false by default.

Parâmetros

yesOrNo

Disable/enable quorum endpoint order randomization.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

This method emits PHP error/warning when parameters count or types are wrong or operation fails.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Veja Também

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • ZookeeperException


Sets the stream to be used by the library for logging

  • « Zookeeper::setDeterministicConnOrder
  • Zookeeper::setWatcher »
  • PHP Manual
  • Zookeeper
  • Sets the stream to be used by the library for logging

Zookeeper::setLogStream

(PECL zookeeper >= 0.1.0)

Zookeeper::setLogStream — Sets the stream to be used by the library for logging

Descrição

public Zookeeper::setLogStream ( resource $stream ) : bool

The zookeeper library uses stderr as its default log stream. Application must make sure the stream is writable. Passing in NULL resets the stream to its default value (stderr).

Parâmetros

stream

The stream to be used by the library for logging.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

This method emits PHP error/warning when parameters count or types are wrong or operation fails.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Veja Também

  • Zookeeper::setDebugLevel() - Sets the debugging level for the library
  • ZookeeperException


Set a watcher function

  • « Zookeeper::setLogStream
  • ZookeeperConfig »
  • PHP Manual
  • Zookeeper
  • Set a watcher function

Zookeeper::setWatcher

(PECL zookeeper >= 0.1.0)

Zookeeper::setWatcher — Set a watcher function

Descrição

public Zookeeper::setWatcher ( callable $watcher_cb ) : bool

Parâmetros

watcher_cb

A watch will be set at the server to notify the client if the node changes.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

This method emits PHP error/warning when parameters count or types are wrong or fail to set watcher.

Cuidado

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Veja Também

  • Zookeeper::exists() - Checks the existence of a node in zookeeper synchronously
  • Zookeeper::get() - Gets the data associated with a node synchronously
  • ZookeeperException


The ZookeeperConfig class

(PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0)

Introdução

The ZooKeeper Config handling class.

Sinopse da classe

ZookeeperConfig {
/* Métodos */
public add ( string $members , int $version = -1 , array &$stat = null ) : void
public get ( callable $watcher_cb = null , array &$stat = null ) : string
public remove ( string $id_list , int $version = -1 , array &$stat = null ) : void
public set ( string $members , int $version = -1 , array &$stat = null ) : void
}

Índice

  • ZookeeperConfig::add — Add servers to the ensemble
  • ZookeeperConfig::get — Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously
  • ZookeeperConfig::remove — Remove servers from the ensemble
  • ZookeeperConfig::set — Change ZK cluster ensemble membership and roles of ensemble peers


Add servers to the ensemble

  • « ZookeeperConfig
  • ZookeeperConfig::get »
  • PHP Manual
  • ZookeeperConfig
  • Add servers to the ensemble

ZookeeperConfig::add

(PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0)

ZookeeperConfig::add — Add servers to the ensemble

Descrição

public ZookeeperConfig::add ( string $members , int $version = -1 , array &$stat = null ) : void

Parâmetros

members

Comma separated list of servers to be added to the ensemble. Each has a configuration line for a server to be added (as would appear in a configuration file), only for maj. quorums.

version

The expected version of the node. The function will fail if the actual version of the node does not match the expected version. If -1 is used the version check will not take place.

stat

If not NULL, will hold the value of stat for the path on return.

Erros

This method emits ZookeeperException and it's derivatives when parameters count or types are wrong or fail to save value to node.

Exemplos

Exemplo #1 ZookeeperConfig::add() example

Add members.

<?php
$client = new Zookeeper();
$client->connect('localhost:2181');
$client->addAuth('digest', 'timandes:timandes');
$zkConfig = $client->getConfig();
$zkConfig->set("server.1=localhost:2888:3888:participant;0.0.0.0:2181");
$zkConfig->add("server.2=localhost:2889:3889:participant;0.0.0.0:2182");
$r = $zkConfig->get();
if ($r)
  echo $r;
else
  echo 'ERR';
?>

O exemplo acima irá imprimir:

server.1=localhost:2888:3888:participant;0.0.0.0:2181
server.2=localhost:2889:3889:participant;0.0.0.0:2182
version=0xca01e881a2

Veja Também

  • ZookeeperConfig::get() - Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously
  • ZookeeperConfig::set() - Change ZK cluster ensemble membership and roles of ensemble peers
  • ZookeeperConfig::remove() - Remove servers from the ensemble
  • ZookeeperException


Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously

  • « ZookeeperConfig::add
  • ZookeeperConfig::remove »
  • PHP Manual
  • ZookeeperConfig
  • Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously

ZookeeperConfig::get

(PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0)

ZookeeperConfig::get — Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously

Descrição

public ZookeeperConfig::get ( callable $watcher_cb = null , array &$stat = null ) : string

Parâmetros

watcher_cb

If nonzero, a watch will be set at the server to notify the client if the node changes.

stat

If not NULL, will hold the value of stat for the path on return.

Valor Retornado

Returns the configuration string on success, and false on failure.

Erros

This method emits ZookeeperException and it's derivatives when parameters count or types are wrong or fail to get configuration.

Exemplos

Exemplo #1 ZookeeperConfig::get() example

Get configuration.

<?php
$zk = new Zookeeper();
$zk->connect('localhost:2181');
$zk->addAuth('digest', 'timandes:timandes');
$zkConfig = $zk->getConfig();
$r = $zkConfig->get();
if ($r)
  echo $r;
else
  echo 'ERR';
?>

O exemplo acima irá imprimir:

server.1=localhost:2888:3888:participant;0.0.0.0:2181
version=0xca01e881a2

Veja Também

  • ZookeeperConfig::set() - Change ZK cluster ensemble membership and roles of ensemble peers
  • ZookeeperConfig::add() - Add servers to the ensemble
  • ZookeeperConfig::remove() - Remove servers from the ensemble
  • ZookeeperException


Remove servers from the ensemble

  • « ZookeeperConfig::get
  • ZookeeperConfig::set »
  • PHP Manual
  • ZookeeperConfig
  • Remove servers from the ensemble

ZookeeperConfig::remove

(PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0)

ZookeeperConfig::remove — Remove servers from the ensemble

Descrição

public ZookeeperConfig::remove ( string $id_list , int $version = -1 , array &$stat = null ) : void

Parâmetros

id_list

Comma separated list of server IDs to be removed from the ensemble. Each has an id of a server to be removed, only for maj. quorums.

version

The expected version of the node. The function will fail if the actual version of the node does not match the expected version. If -1 is used the version check will not take place.

stat

If not NULL, will hold the value of stat for the path on return.

Erros

This method emits ZookeeperException and it's derivatives when parameters count or types are wrong or fail to save value to node.

Exemplos

Exemplo #1 ZookeeperConfig::remove() example

Remove members.

<?php
$client = new Zookeeper();
$client->connect('localhost:2181');
$client->addAuth('digest', 'timandes:timandes');
$zkConfig = $client->getConfig();
$zkConfig->set("server.1=localhost:2888:3888:participant;0.0.0.0:2181,server.2=localhost:2889:3889:participant;0.0.0.0:2182");
$zkConfig->remove("2");
echo $zkConfig->get();
if ($r)
  echo $r;
else
  echo 'ERR';
?>

O exemplo acima irá imprimir:

server.1=localhost:2888:3888:participant;0.0.0.0:2181
version=0xca01e881a2

Veja Também

  • ZookeeperConfig::get() - Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously
  • ZookeeperConfig::add() - Add servers to the ensemble
  • ZookeeperConfig::set() - Change ZK cluster ensemble membership and roles of ensemble peers
  • ZookeeperException


Change ZK cluster ensemble membership and roles of ensemble peers

  • « ZookeeperConfig::remove
  • ZookeeperException »
  • PHP Manual
  • ZookeeperConfig
  • Change ZK cluster ensemble membership and roles of ensemble peers

ZookeeperConfig::set

(PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0)

ZookeeperConfig::set — Change ZK cluster ensemble membership and roles of ensemble peers

Descrição

public ZookeeperConfig::set ( string $members , int $version = -1 , array &$stat = null ) : void

Parâmetros

members

Comma separated list of new membership (e.g., contents of a membership configuration file) - for use only with a non-incremental reconfiguration.

version

The expected version of the node. The function will fail if the actual version of the node does not match the expected version. If -1 is used the version check will not take place.

stat

If not NULL, will hold the value of stat for the path on return.

Erros

This method emits ZookeeperException and it's derivatives when parameters count or types are wrong or fail to save value to node.

Exemplos

Exemplo #1 ZookeeperConfig::set() example

Reconfig.

<?php
$client = new Zookeeper();
$client->connect('localhost:2181');
$client->addAuth('digest', 'timandes:timandes');
$zkConfig = $client->getConfig();
$zkConfig->set("server.1=localhost:2888:3888:participant;0.0.0.0:2181");
?>

Veja Também

  • ZookeeperConfig::get() - Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously
  • ZookeeperConfig::add() - Add servers to the ensemble
  • ZookeeperConfig::remove() - Remove servers from the ensemble
  • ZookeeperException


The ZookeeperException class

(PECL zookeeper >= 0.3.0)

Introdução

The ZooKeeper exception handling class.

Sinopse da classe

ZookeeperException extends Exception {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The ZookeeperAuthenticationException class

(PECL zookeeper >= 0.3.0)

Introdução

The ZooKeeper authentication exception handling class.

Sinopse da classe

ZookeeperAuthenticationException extends ZookeeperException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The ZookeeperConnectionException class

(PECL zookeeper >= 0.3.0)

Introdução

The ZooKeeper connection exception handling class.

Sinopse da classe

ZookeeperConnectionException extends ZookeeperException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The ZookeeperMarshallingException class

(PECL zookeeper >= 0.3.0)

Introdução

The ZooKeeper exception (while marshalling or unmarshalling data) handling class.

Sinopse da classe

ZookeeperMarshallingException extends ZookeeperException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The ZookeeperNoNodeException class

(PECL zookeeper >= 0.3.0)

Introdução

The ZooKeeper exception (when node does not exist) handling class.

Sinopse da classe

ZookeeperNoNodeException extends ZookeeperException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The ZookeeperOperationTimeoutException class

(PECL zookeeper >= 0.3.0)

Introdução

The ZooKeeper operation timeout exception handling class.

Sinopse da classe

ZookeeperOperationTimeoutException extends ZookeeperException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The ZookeeperSessionException class

(PECL zookeeper >= 0.3.0)

Introdução

The ZooKeeper session exception handling class.

Sinopse da classe

ZookeeperSessionException extends ZookeeperException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


Extensões de Engine de Busca

  • Solr — Apache Solr
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Solr Funções
    • Exemplos
    • SolrUtils — The SolrUtils class
    • SolrInputDocument — The SolrInputDocument class
    • SolrDocument — The SolrDocument class
    • SolrDocumentField — The SolrDocumentField class
    • SolrObject — The SolrObject class
    • SolrClient — The SolrClient class
    • SolrResponse — The SolrResponse class
    • SolrQueryResponse — The SolrQueryResponse class
    • SolrUpdateResponse — The SolrUpdateResponse class
    • SolrPingResponse — The SolrPingResponse class
    • SolrGenericResponse — The SolrGenericResponse class
    • SolrParams — The SolrParams class
    • SolrModifiableParams — The SolrModifiableParams class
    • SolrQuery — The SolrQuery class
    • SolrDisMaxQuery — The SolrDisMaxQuery class
    • SolrCollapseFunction — The SolrCollapseFunction class
    • SolrException — The SolrException class
    • SolrClientException — The SolrClientException class
    • SolrServerException — The SolrServerException class
    • SolrIllegalArgumentException — The SolrIllegalArgumentException class
    • SolrIllegalOperationException — The SolrIllegalOperationException class
    • SolrMissingMandatoryParameterException — The SolrMissingMandatoryParameterException class
  • Sphinx — Sphinx Client
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • SphinxClient — The SphinxClient class


Apache Solr

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Solr Funções
    • solr_get_version — Retorna a versão atual da extensão Apache Solr
  • Exemplos
  • SolrUtils — The SolrUtils class
    • SolrUtils::digestXmlResponse — Parses an response XML string into a SolrObject
    • SolrUtils::escapeQueryChars — Escapes a lucene query string
    • SolrUtils::getSolrVersion — Returns the current version of the Solr extension
    • SolrUtils::queryPhrase — Prepares a phrase from an unescaped lucene string
  • SolrInputDocument — The SolrInputDocument class
    • SolrInputDocument::addChildDocument — Adds a child document for block indexing
    • SolrInputDocument::addChildDocuments — Adds an array of child documents
    • SolrInputDocument::addField — Adds a field to the document
    • SolrInputDocument::clear — Resets the input document
    • SolrInputDocument::__clone — Creates a copy of a SolrDocument
    • SolrInputDocument::__construct — Constructor
    • SolrInputDocument::deleteField — Removes a field from the document
    • SolrInputDocument::__destruct — Destructor
    • SolrInputDocument::fieldExists — Checks if a field exists
    • SolrInputDocument::getBoost — Retrieves the current boost value for the document
    • SolrInputDocument::getChildDocuments — Returns an array of child documents (SolrInputDocument)
    • SolrInputDocument::getChildDocumentsCount — Returns the number of child documents
    • SolrInputDocument::getField — Retrieves a field by name
    • SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field
    • SolrInputDocument::getFieldCount — Returns the number of fields in the document
    • SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document
    • SolrInputDocument::hasChildDocuments — Returns true if the document has any child documents
    • SolrInputDocument::merge — Merges one input document into another
    • SolrInputDocument::reset — This is an alias of SolrInputDocument::clear
    • SolrInputDocument::setBoost — Sets the boost value for this document
    • SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field
    • SolrInputDocument::sort — Sorts the fields within the document
    • SolrInputDocument::toArray — Returns an array representation of the input document
  • SolrDocument — The SolrDocument class
    • SolrDocument::addField — Adds a field to the document
    • SolrDocument::clear — Drops all the fields in the document
    • SolrDocument::__clone — Creates a copy of a SolrDocument object
    • SolrDocument::__construct — Constructor
    • SolrDocument::current — Retrieves the current field
    • SolrDocument::deleteField — Removes a field from the document
    • SolrDocument::__destruct — Destructor
    • SolrDocument::fieldExists — Checks if a field exists in the document
    • SolrDocument::__get — Access the field as a property
    • SolrDocument::getChildDocuments — Returns an array of child documents (SolrDocument)
    • SolrDocument::getChildDocumentsCount — Returns the number of child documents
    • SolrDocument::getField — Retrieves a field by name
    • SolrDocument::getFieldCount — Returns the number of fields in this document
    • SolrDocument::getFieldNames — Returns an array of fields names in the document
    • SolrDocument::getInputDocument — Returns a SolrInputDocument equivalent of the object
    • SolrDocument::hasChildDocuments — Checks whether the document has any child documents
    • SolrDocument::__isset — Checks if a field exists
    • SolrDocument::key — Retrieves the current key
    • SolrDocument::merge — Merges source to the current SolrDocument
    • SolrDocument::next — Moves the internal pointer to the next field
    • SolrDocument::offsetExists — Checks if a particular field exists
    • SolrDocument::offsetGet — Retrieves a field
    • SolrDocument::offsetSet — Adds a field to the document
    • SolrDocument::offsetUnset — Removes a field
    • SolrDocument::reset — This is an alias to SolrDocument::clear()
    • SolrDocument::rewind — Resets the internal pointer to the beginning
    • SolrDocument::serialize — Used for custom serialization
    • SolrDocument::__set — Adds another field to the document
    • SolrDocument::sort — Sorts the fields in the document
    • SolrDocument::toArray — Returns an array representation of the document
    • SolrDocument::unserialize — Custom serialization of SolrDocument objects
    • SolrDocument::__unset — Removes a field from the document
    • SolrDocument::valid — Checks if the current position internally is still valid
  • SolrDocumentField — The SolrDocumentField class
    • SolrDocumentField::__construct — Constructor
    • SolrDocumentField::__destruct — Destructor
  • SolrObject — The SolrObject class
    • SolrObject::__construct — Creates Solr object
    • SolrObject::__destruct — Destructor
    • SolrObject::getPropertyNames — Returns an array of all the names of the properties
    • SolrObject::offsetExists — Checks if the property exists
    • SolrObject::offsetGet — Used to retrieve a property
    • SolrObject::offsetSet — Sets the value for a property
    • SolrObject::offsetUnset — Unsets the value for the property
  • SolrClient — The SolrClient class
    • SolrClient::addDocument — Adds a document to the index
    • SolrClient::addDocuments — Adds a collection of SolrInputDocument instances to the index
    • SolrClient::commit — Finalizes all add/deletes made to the index
    • SolrClient::__construct — Constructor for the SolrClient object
    • SolrClient::deleteById — Delete by Id
    • SolrClient::deleteByIds — Deletes by Ids
    • SolrClient::deleteByQueries — Removes all documents matching any of the queries
    • SolrClient::deleteByQuery — Deletes all documents matching the given query
    • SolrClient::__destruct — Destructor for SolrClient
    • SolrClient::getById — Get Document By Id. Utilizes Solr Realtime Get (RTG)
    • SolrClient::getByIds — Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)
    • SolrClient::getDebug — Returns the debug data for the last connection attempt
    • SolrClient::getOptions — Returns the client options set internally
    • SolrClient::optimize — Defragments the index
    • SolrClient::ping — Checks if Solr server is still up
    • SolrClient::query — Sends a query to the server
    • SolrClient::request — Sends a raw update request
    • SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit
    • SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr
    • SolrClient::setServlet — Changes the specified servlet type to a new value
    • SolrClient::system — Retrieve Solr Server information
    • SolrClient::threads — Checks the threads status
  • SolrResponse — The SolrResponse class
    • SolrResponse::getDigestedResponse — Returns the XML response as serialized PHP data
    • SolrResponse::getHttpStatus — Returns the HTTP status of the response
    • SolrResponse::getHttpStatusMessage — Returns more details on the HTTP status
    • SolrResponse::getRawRequest — Returns the raw request sent to the Solr server
    • SolrResponse::getRawRequestHeaders — Returns the raw request headers sent to the Solr server
    • SolrResponse::getRawResponse — Returns the raw response from the server
    • SolrResponse::getRawResponseHeaders — Returns the raw response headers from the server
    • SolrResponse::getRequestUrl — Returns the full URL the request was sent to
    • SolrResponse::getResponse — Returns a SolrObject representing the XML response from the server
    • SolrResponse::setParseMode — Sets the parse mode
    • SolrResponse::success — Was the request a success
  • SolrQueryResponse — The SolrQueryResponse class
    • SolrQueryResponse::__construct — Constructor
    • SolrQueryResponse::__destruct — Destructor
  • SolrUpdateResponse — The SolrUpdateResponse class
    • SolrUpdateResponse::__construct — Constructor
    • SolrUpdateResponse::__destruct — Destructor
  • SolrPingResponse — The SolrPingResponse class
    • SolrPingResponse::__construct — Constructor
    • SolrPingResponse::__destruct — Destructor
    • SolrPingResponse::getResponse — Returns the response from the server
  • SolrGenericResponse — The SolrGenericResponse class
    • SolrGenericResponse::__construct — Constructor
    • SolrGenericResponse::__destruct — Destructor
  • SolrParams — The SolrParams class
    • SolrParams::add — This is an alias for SolrParams::addParam
    • SolrParams::addParam — Adds a parameter to the object
    • SolrParams::get — This is an alias for SolrParams::getParam
    • SolrParams::getParam — Returns a parameter value
    • SolrParams::getParams — Returns an array of non URL-encoded parameters
    • SolrParams::getPreparedParams — Returns an array of URL-encoded parameters
    • SolrParams::serialize — Used for custom serialization
    • SolrParams::set — An alias of SolrParams::setParam
    • SolrParams::setParam — Sets the parameter to the specified value
    • SolrParams::toString — Returns all the name-value pair parameters in the object
    • SolrParams::unserialize — Used for custom serialization
  • SolrModifiableParams — The SolrModifiableParams class
    • SolrModifiableParams::__construct — Constructor
    • SolrModifiableParams::__destruct — Destructor
  • SolrQuery — The SolrQuery class
    • SolrQuery::addExpandFilterQuery — Overrides main filter query, determines which documents to include in the main group
    • SolrQuery::addExpandSortField — Orders the documents within the expanded groups (expand.sort parameter)
    • SolrQuery::addFacetDateField — Maps to facet.date
    • SolrQuery::addFacetDateOther — Adds another facet.date.other parameter
    • SolrQuery::addFacetField — Adds another field to the facet
    • SolrQuery::addFacetQuery — Adds a facet query
    • SolrQuery::addField — Specifies which fields to return in the result
    • SolrQuery::addFilterQuery — Specifies a filter query
    • SolrQuery::addGroupField — Add a field to be used to group results
    • SolrQuery::addGroupFunction — Allows grouping results based on the unique values of a function query (group.func parameter)
    • SolrQuery::addGroupQuery — Allows grouping of documents that match the given query
    • SolrQuery::addGroupSortField — Add a group sort field (group.sort parameter)
    • SolrQuery::addHighlightField — Maps to hl.fl
    • SolrQuery::addMltField — Sets a field to use for similarity
    • SolrQuery::addMltQueryField — Maps to mlt.qf
    • SolrQuery::addSortField — Used to control how the results should be sorted
    • SolrQuery::addStatsFacet — Requests a return of sub results for values within the given facet
    • SolrQuery::addStatsField — Maps to stats.field parameter
    • SolrQuery::collapse — Collapses the result set to a single document per group
    • SolrQuery::__construct — Constructor
    • SolrQuery::__destruct — Destructor
    • SolrQuery::getExpand — Returns true if group expanding is enabled
    • SolrQuery::getExpandFilterQueries — Returns the expand filter queries
    • SolrQuery::getExpandQuery — Returns the expand query expand.q parameter
    • SolrQuery::getExpandRows — Returns The number of rows to display in each group (expand.rows)
    • SolrQuery::getExpandSortFields — Returns an array of fields
    • SolrQuery::getFacet — Returns the value of the facet parameter
    • SolrQuery::getFacetDateEnd — Returns the value for the facet.date.end parameter
    • SolrQuery::getFacetDateFields — Returns all the facet.date fields
    • SolrQuery::getFacetDateGap — Returns the value of the facet.date.gap parameter
    • SolrQuery::getFacetDateHardEnd — Returns the value of the facet.date.hardend parameter
    • SolrQuery::getFacetDateOther — Returns the value for the facet.date.other parameter
    • SolrQuery::getFacetDateStart — Returns the lower bound for the first date range for all date faceting on this field
    • SolrQuery::getFacetFields — Returns all the facet fields
    • SolrQuery::getFacetLimit — Returns the maximum number of constraint counts that should be returned for the facet fields
    • SolrQuery::getFacetMethod — Returns the value of the facet.method parameter
    • SolrQuery::getFacetMinCount — Returns the minimum counts for facet fields should be included in the response
    • SolrQuery::getFacetMissing — Returns the current state of the facet.missing parameter
    • SolrQuery::getFacetOffset — Returns an offset into the list of constraints to be used for pagination
    • SolrQuery::getFacetPrefix — Returns the facet prefix
    • SolrQuery::getFacetQueries — Returns all the facet queries
    • SolrQuery::getFacetSort — Returns the facet sort type
    • SolrQuery::getFields — Returns the list of fields that will be returned in the response
    • SolrQuery::getFilterQueries — Returns an array of filter queries
    • SolrQuery::getGroup — Returns true if grouping is enabled
    • SolrQuery::getGroupCachePercent — Returns group cache percent value
    • SolrQuery::getGroupFacet — Returns the group.facet parameter value
    • SolrQuery::getGroupFields — Returns group fields (group.field parameter values)
    • SolrQuery::getGroupFormat — Returns the group.format value
    • SolrQuery::getGroupFunctions — Returns group functions (group.func parameter values)
    • SolrQuery::getGroupLimit — Returns the group.limit value
    • SolrQuery::getGroupMain — Returns the group.main value
    • SolrQuery::getGroupNGroups — Returns the group.ngroups value
    • SolrQuery::getGroupOffset — Returns the group.offset value
    • SolrQuery::getGroupQueries — Returns all the group.query parameter values
    • SolrQuery::getGroupSortFields — Returns the group.sort value
    • SolrQuery::getGroupTruncate — Returns the group.truncate value
    • SolrQuery::getHighlight — Returns the state of the hl parameter
    • SolrQuery::getHighlightAlternateField — Returns the highlight field to use as backup or default
    • SolrQuery::getHighlightFields — Returns all the fields that Solr should generate highlighted snippets for
    • SolrQuery::getHighlightFormatter — Returns the formatter for the highlighted output
    • SolrQuery::getHighlightFragmenter — Returns the text snippet generator for highlighted text
    • SolrQuery::getHighlightFragsize — Returns the number of characters of fragments to consider for highlighting
    • SolrQuery::getHighlightHighlightMultiTerm — Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries
    • SolrQuery::getHighlightMaxAlternateFieldLength — Returns the maximum number of characters of the field to return
    • SolrQuery::getHighlightMaxAnalyzedChars — Returns the maximum number of characters into a document to look for suitable snippets
    • SolrQuery::getHighlightMergeContiguous — Returns whether or not the collapse contiguous fragments into a single fragment
    • SolrQuery::getHighlightRegexMaxAnalyzedChars — Returns the maximum number of characters from a field when using the regex fragmenter
    • SolrQuery::getHighlightRegexPattern — Returns the regular expression for fragmenting
    • SolrQuery::getHighlightRegexSlop — Returns the deviation factor from the ideal fragment size
    • SolrQuery::getHighlightRequireFieldMatch — Returns if a field will only be highlighted if the query matched in this particular field
    • SolrQuery::getHighlightSimplePost — Returns the text which appears after a highlighted term
    • SolrQuery::getHighlightSimplePre — Returns the text which appears before a highlighted term
    • SolrQuery::getHighlightSnippets — Returns the maximum number of highlighted snippets to generate per field
    • SolrQuery::getHighlightUsePhraseHighlighter — Returns the state of the hl.usePhraseHighlighter parameter
    • SolrQuery::getMlt — Returns whether or not MoreLikeThis results should be enabled
    • SolrQuery::getMltBoost — Returns whether or not the query will be boosted by the interesting term relevance
    • SolrQuery::getMltCount — Returns the number of similar documents to return for each result
    • SolrQuery::getMltFields — Returns all the fields to use for similarity
    • SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query
    • SolrQuery::getMltMaxNumTokens — Retorna o número máximo de tokens para analisar em cada campo do documento que não é armazenado com suporte a TermVector
    • SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored
    • SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs
    • SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document
    • SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored
    • SolrQuery::getMltQueryFields — Returns the query fields and their boosts
    • SolrQuery::getQuery — Returns the main query
    • SolrQuery::getRows — Returns the maximum number of documents
    • SolrQuery::getSortFields — Returns all the sort fields
    • SolrQuery::getStart — Returns the offset in the complete result set
    • SolrQuery::getStats — Returns whether or not stats is enabled
    • SolrQuery::getStatsFacets — Returns all the stats facets that were set
    • SolrQuery::getStatsFields — Returns all the statistics fields
    • SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled
    • SolrQuery::getTermsField — Returns the field from which the terms are retrieved
    • SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set
    • SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set
    • SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return
    • SolrQuery::getTermsLowerBound — Returns the term to start at
    • SolrQuery::getTermsMaxCount — Returns the maximum document frequency
    • SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included
    • SolrQuery::getTermsPrefix — Returns the term prefix
    • SolrQuery::getTermsReturnRaw — Whether or not to return raw characters
    • SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted
    • SolrQuery::getTermsUpperBound — Returns the term to stop at
    • SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish
    • SolrQuery::removeExpandFilterQuery — Removes an expand filter query
    • SolrQuery::removeExpandSortField — Removes an expand sort field from the expand.sort parameter
    • SolrQuery::removeFacetDateField — Removes one of the facet date fields
    • SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters
    • SolrQuery::removeFacetField — Removes one of the facet.date parameters
    • SolrQuery::removeFacetQuery — Removes one of the facet.query parameters
    • SolrQuery::removeField — Removes a field from the list of fields
    • SolrQuery::removeFilterQuery — Removes a filter query
    • SolrQuery::removeHighlightField — Removes one of the fields used for highlighting
    • SolrQuery::removeMltField — Removes one of the moreLikeThis fields
    • SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields
    • SolrQuery::removeSortField — Removes one of the sort fields
    • SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters
    • SolrQuery::removeStatsField — Removes one of the stats.field parameters
    • SolrQuery::setEchoHandler — Toggles the echoHandler parameter
    • SolrQuery::setEchoParams — Determines what kind of parameters to include in the response
    • SolrQuery::setExpand — Enables/Disables the Expand Component
    • SolrQuery::setExpandQuery — Sets the expand.q parameter
    • SolrQuery::setExpandRows — Sets the number of rows to display in each group (expand.rows). Server Default 5
    • SolrQuery::setExplainOther — Sets the explainOther common query parameter
    • SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting
    • SolrQuery::setFacetDateEnd — Maps to facet.date.end
    • SolrQuery::setFacetDateGap — Maps to facet.date.gap
    • SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend
    • SolrQuery::setFacetDateStart — Maps to facet.date.start
    • SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count
    • SolrQuery::setFacetLimit — Maps to facet.limit
    • SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field
    • SolrQuery::setFacetMinCount — Maps to facet.mincount
    • SolrQuery::setFacetMissing — Maps to facet.missing
    • SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination
    • SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet
    • SolrQuery::setFacetSort — Determines the ordering of the facet field constraints
    • SolrQuery::setGroup — Enable/Disable result grouping (group parameter)
    • SolrQuery::setGroupCachePercent — Enables caching for result grouping
    • SolrQuery::setGroupFacet — Sets group.facet parameter
    • SolrQuery::setGroupFormat — Sets the group format, result structure (group.format parameter)
    • SolrQuery::setGroupLimit — Specifies the number of results to return for each group. The server default value is 1
    • SolrQuery::setGroupMain — If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
    • SolrQuery::setGroupNGroups — If true, Solr includes the number of groups that have matched the query in the results
    • SolrQuery::setGroupOffset — Sets the group.offset parameter
    • SolrQuery::setGroupTruncate — If true, facet counts are based on the most relevant document of each group matching the query
    • SolrQuery::setHighlight — Enables or disables highlighting
    • SolrQuery::setHighlightAlternateField — Specifies the backup field to use
    • SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output
    • SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text
    • SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting
    • SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms
    • SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return
    • SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets
    • SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment
    • SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze
    • SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting
    • SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size
    • SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting
    • SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term
    • SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term
    • SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field
    • SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase
    • SolrQuery::setMlt — Enables or disables moreLikeThis
    • SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance
    • SolrQuery::setMltCount — Set the number of similar documents to return for each result
    • SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included
    • SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse
    • SolrQuery::setMltMaxWordLength — Sets the maximum word length
    • SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency
    • SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs
    • SolrQuery::setMltMinWordLength — Sets the minimum word length
    • SolrQuery::setOmitHeader — Exclude the header from the returned results
    • SolrQuery::setQuery — Sets the search query
    • SolrQuery::setRows — Specifies the maximum number of rows to return in the result
    • SolrQuery::setShowDebugInfo — Flag to show debug information
    • SolrQuery::setStart — Specifies the number of rows to skip
    • SolrQuery::setStats — Enables or disables the Stats component
    • SolrQuery::setTerms — Enables or disables the TermsComponent
    • SolrQuery::setTermsField — Sets the name of the field to get the Terms from
    • SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set
    • SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set
    • SolrQuery::setTermsLimit — Sets the maximum number of terms to return
    • SolrQuery::setTermsLowerBound — Specifies the Term to start from
    • SolrQuery::setTermsMaxCount — Sets the maximum document frequency
    • SolrQuery::setTermsMinCount — Sets the minimum document frequency
    • SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix
    • SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term
    • SolrQuery::setTermsSort — Specifies how to sort the returned terms
    • SolrQuery::setTermsUpperBound — Sets the term to stop at
    • SolrQuery::setTimeAllowed — The time allowed for search to finish
  • SolrDisMaxQuery — The SolrDisMaxQuery class
    • SolrDisMaxQuery::addBigramPhraseField — Adds a Phrase Bigram Field (pf2 parameter)
    • SolrDisMaxQuery::addBoostQuery — Adds a boost query field with value and optional boost (bq parameter)
    • SolrDisMaxQuery::addPhraseField — Adds a Phrase Field (pf parameter)
    • SolrDisMaxQuery::addQueryField — Add a query field with optional boost (qf parameter)
    • SolrDisMaxQuery::addTrigramPhraseField — Adds a Trigram Phrase Field (pf3 parameter)
    • SolrDisMaxQuery::addUserField — Adds a field to User Fields Parameter (uf)
    • SolrDisMaxQuery::__construct — Class Constructor
    • SolrDisMaxQuery::removeBigramPhraseField — Removes phrase bigram field (pf2 parameter)
    • SolrDisMaxQuery::removeBoostQuery — Removes a boost query partial by field name (bq)
    • SolrDisMaxQuery::removePhraseField — Removes a Phrase Field (pf parameter)
    • SolrDisMaxQuery::removeQueryField — Removes a Query Field (qf parameter)
    • SolrDisMaxQuery::removeTrigramPhraseField — Removes a Trigram Phrase Field (pf3 parameter)
    • SolrDisMaxQuery::removeUserField — Removes a field from The User Fields Parameter (uf)
    • SolrDisMaxQuery::setBigramPhraseFields — Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
    • SolrDisMaxQuery::setBigramPhraseSlop — Sets Bigram Phrase Slop (ps2 parameter)
    • SolrDisMaxQuery::setBoostFunction — Sets a Boost Function (bf parameter)
    • SolrDisMaxQuery::setBoostQuery — Directly Sets Boost Query Parameter (bq)
    • SolrDisMaxQuery::setMinimumMatch — Set Minimum "Should" Match (mm)
    • SolrDisMaxQuery::setPhraseFields — Sets Phrase Fields and their boosts (and slops) using pf2 parameter
    • SolrDisMaxQuery::setPhraseSlop — Sets the default slop on phrase queries (ps parameter)
    • SolrDisMaxQuery::setQueryAlt — Set Query Alternate (q.alt parameter)
    • SolrDisMaxQuery::setQueryPhraseSlop — Specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)
    • SolrDisMaxQuery::setTieBreaker — Sets Tie Breaker parameter (tie parameter)
    • SolrDisMaxQuery::setTrigramPhraseFields — Directly Sets Trigram Phrase Fields (pf3 parameter)
    • SolrDisMaxQuery::setTrigramPhraseSlop — Sets Trigram Phrase Slop (ps3 parameter)
    • SolrDisMaxQuery::setUserFields — Sets User Fields parameter (uf)
    • SolrDisMaxQuery::useDisMaxQueryParser — Switch QueryParser to be DisMax Query Parser
    • SolrDisMaxQuery::useEDisMaxQueryParser — Switch QueryParser to be EDisMax
  • SolrCollapseFunction — The SolrCollapseFunction class
    • SolrCollapseFunction::__construct — Constructor
    • SolrCollapseFunction::getField — Returns the field that is being collapsed on
    • SolrCollapseFunction::getHint — Returns collapse hint
    • SolrCollapseFunction::getMax — Returns max parameter
    • SolrCollapseFunction::getMin — Returns min parameter
    • SolrCollapseFunction::getNullPolicy — Returns null policy
    • SolrCollapseFunction::getSize — Returns size parameter
    • SolrCollapseFunction::setField — Sets the field to collapse on
    • SolrCollapseFunction::setHint — Sets collapse hint
    • SolrCollapseFunction::setMax — Selects the group heads by the max value of a numeric field or function query
    • SolrCollapseFunction::setMin — Sets the initial size of the collapse data structures when collapsing on a numeric field only
    • SolrCollapseFunction::setNullPolicy — Sets the NULL Policy
    • SolrCollapseFunction::setSize — Sets the initial size of the collapse data structures when collapsing on a numeric field only
    • SolrCollapseFunction::__toString — Returns a string representing the constructed collapse function
  • SolrException — The SolrException class
    • SolrException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrClientException — The SolrClientException class
    • SolrClientException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrServerException — The SolrServerException class
    • SolrServerException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrIllegalArgumentException — The SolrIllegalArgumentException class
    • SolrIllegalArgumentException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrIllegalOperationException — The SolrIllegalOperationException class
    • SolrIllegalOperationException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrMissingMandatoryParameterException — The SolrMissingMandatoryParameterException class


Introdução

A extensão Solr permite comunicar-se de forma eficaz com um servidor Apache Solr a partir do PHP.

A extensão Solr é uma biblioteca extremamente rápida, leve, rica em recursos, que permite aos desenvolvedores PHP de comunicarem com instâncias Solr.

Versões 1.x dessa extensão PECL suportam Apache Solr Server 1.3-3.x

Versões 2.x dessa extensão PECL suportam Apache Solr Server 4.0+

Existem funcionalidades nativas para acrescentar documentos e fazer atualizações no servidor Solr.

Também contém funcionalidades que permitem consultas avançadas para localizar documentos.


Dependências

PHP version 5.2.11 or later is required.

The libxml and curl extensions must also be enabled for the Apache Solr extension to be available.

libxml2 2.6.31 or later is required.

libcurl 7.18.0 or later is also required.

The above library versions are required and attempting to hack the code to make it compile is strongly discouraged. It will fail, possibly with errors that could be hard to debug


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/solr.

For help and support, please visit the extension google group. » Apache Solr PHP Extension

Windows binaries (DLL files) for this PECL extension are available from the PECL website.

Nota:

The solr module can be compiled in debug mode by passing the --enable-solr-debug flag to configure

When building manually, be sure to include curl and libxml support within the build.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

SOLR_MAJOR_VERSION (int)
SOLR_MINOR_VERSION (int)
SOLR_PATCH_VERSION (int)
SOLR_EXTENSION_VERSION (string)


  • « Constantes pré-definidas
  • solr_get_version »
  • PHP Manual
  • Solr
  • Solr Funções

Solr Funções

Índice

  • solr_get_version — Retorna a versão atual da extensão Apache Solr


Retorna a versão atual da extensão Apache Solr

  • « Solr Funções
  • Exemplos »
  • PHP Manual
  • Solr Funções
  • Retorna a versão atual da extensão Apache Solr

solr_get_version

(PECL solr >= 0.9.1)

solr_get_version — Retorna a versão atual da extensão Apache Solr

Descrição

solr_get_version ( ) : string

Essa função retorna uma string com a versão atual da extensão Solr.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna uma string, ou false se falhar.

Erros

Essa função não lança nenhum erro ou exeções.

Exemplos

Exemplo #1 solr_get_version() example

<?php

$solr_version = solr_get_version();

print $solr_version;

?>

O exemplo acima irá imprimir algo similar à:

0.9.6

Veja Também

  • SolrUtils::getSolrVersion() - Returns the current version of the Solr extension


Exemplos

Examples of how to use the Apache Solr extension in PHP

Exemplo #1 Contents of the BootStrap file

<?php

/* Domain name of the Solr server */
define('SOLR_SERVER_HOSTNAME', 'solr.example.com');

/* Whether or not to run in secure mode */
define('SOLR_SECURE', true);

/* HTTP Port to connection */
define('SOLR_SERVER_PORT', ((SOLR_SECURE) ? 8443 : 8983));

/* HTTP Basic Authentication Username */
define('SOLR_SERVER_USERNAME', 'admin');

/* HTTP Basic Authentication password */
define('SOLR_SERVER_PASSWORD', 'changeit');

/* HTTP connection timeout */
/* This is maximum time in seconds allowed for the http data transfer operation. Default value is 30 seconds */
define('SOLR_SERVER_TIMEOUT', 10);

/* File name to a PEM-formatted private key + private certificate (concatenated in that order) */
define('SOLR_SSL_CERT', 'certs/combo.pem');

/* File name to a PEM-formatted private certificate only */
define('SOLR_SSL_CERT_ONLY', 'certs/solr.crt');

/* File name to a PEM-formatted private key */
define('SOLR_SSL_KEY', 'certs/solr.key');

/* Password for PEM-formatted private key file */
define('SOLR_SSL_KEYPASSWORD', 'StrongAndSecurePassword');

/* Name of file holding one or more CA certificates to verify peer with*/
define('SOLR_SSL_CAINFO', 'certs/cacert.crt');

/* Name of directory holding multiple CA certificates to verify peer with */
define('SOLR_SSL_CAPATH', 'certs/');

?>

Exemplo #2 Adding a document to the index

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

print_r($updateResponse->getResponse());

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 446
        )

)

Exemplo #3 Merging one document into another document

<?php

include "bootstrap.php";

$doc = new SolrDocument();

$second_doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

$second_doc->addField('cat', 'Lucene Search');

$second_doc->merge($doc, true);

print_r($second_doc->toArray());

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

        )

)

Exemplo #4 Searching for documents - SolrObject responses

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response);

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [wt] => xml
                    [rows] => 50
                    [start] => 0
                    [indent] => on
                    [q] => lucene
                    [fl] => cat,features,id,timestamp
                    [version] => 2.2
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 3
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => Software
                                    [1] => Lucene
                                )

                            [id] => 334456
                        )

                    [1] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => Software
                                    [1] => Lucene
                                )

                            [id] => 334455
                        )

                    [2] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => software
                                    [1] => search
                                )

                            [features] => Array
                                (
                                    [0] => Advanced Full-Text Search Capabilities using Lucene
                                    [1] => Optimized for High Volume Web Traffic
                                    [2] => Standards Based Open Interfaces - XML and HTTP
                                    [3] => Comprehensive HTML Administration Interfaces
                                    [4] => Scalability - Efficient Replication to other Solr Search Servers
                                    [5] => Flexible and Adaptable with XML configuration and Schema
                                    [6] => Good unicode support: héllo (hello with an accent over the e)
                                )

                            [id] => SOLR1000
                            [timestamp] => 2009-09-04T20:38:55.906
                        )

                )

        )

)

Exemplo #5 Searching for documents - SolrDocument responses

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$query_response->setParseMode(SolrQueryResponse::PARSE_SOLR_DOC);

$response = $query_response->getResponse();

print_r($response);

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [wt] => xml
                    [rows] => 50
                    [start] => 0
                    [indent] => on
                    [q] => lucene
                    [fl] => cat,features,id,timestamp
                    [version] => 2.2
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 3
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 19740
                        )

                    [1] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 25485
                        )

                    [2] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 25052
                        )

                )

        )

)

Exemplo #6 Simple TermsComponent example - basic

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

$query->setTermsField('cat');

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [electronics] => 14
                    [Lucene] => 4
                    [Software] => 4
                    [memory] => 3
                    [card] => 2
                    [connector] => 2
                    [drive] => 2
                    [graphics] => 2
                    [hard] => 2
                    [monitor] => 2
                )

        )

)

Exemplo #7 Simple TermsComponent example - using a prefix

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

/* Return only terms starting with $prefix */
$prefix = 'c';

$query->setTermsField('cat')->setTermsPrefix($prefix);

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [card] => 2
                    [connector] => 2
                    [camera] => 1
                    [copier] => 1
                )

        )

)

Exemplo #8 Simple TermsComponent example - specifying a minimum frequency

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

/* Return only terms starting with $prefix */
$prefix = 'c';

/* Return only terms with a frequency of 2 or greater */
$min_frequency = 2;

$query->setTermsField('cat')->setTermsPrefix($prefix)->setTermsMinCount($min_frequency);

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 0
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [card] => 2
                    [connector] => 2
                )

        )

)

Exemplo #9 Simple Facet Example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2);

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
            [1] => 3
            [184] => 3
            [2] => 3
            [3200] => 3
            [400] => 3
            [500] => 3
            [ddr] => 3
            [i] => 3
            [ipod] => 3
            [memori] => 3
            [pc] => 3
            [pin] => 3
            [pod] => 3
            [sdram] => 3
            [system] => 3
            [unbuff] => 3
            [canon] => 2
            [corsair] => 2
            [drive] => 2
            [hard] => 2
            [mb] => 2
            [n] => 2
            [power] => 2
            [retail] => 2
            [video] => 2
            [x] => 2
        )

)

Exemplo #10 Simple Facet Example - with optional field override for mincount

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2)->setFacetMinCount(4, 'name');

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
        )

)

Exemplo #11 Facet Date Example

<?php

include "bootstrap.php";

$options = array
(
        'hostname' => SOLR_SERVER_HOSTNAME,
        'login'    => SOLR_SERVER_USERNAME,
        'password' => SOLR_SERVER_PASSWORD,
        'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetDateField('manufacturedate_dt');

$query->setFacetDateStart('2006-02-13T00:00:00Z');

$query->setFacetDateEnd('2012-02-13T00:00:00Z');

$query->setFacetDateGap('+1YEAR');

$query->setFacetDateHardEnd(1);

$query->addFacetDateOther('before');

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_dates;

print_r($facet_data);

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [manufacturedate_dt] => SolrObject Object
        (
            [2006-02-13T00:00:00Z] => 9
            [2007-02-13T00:00:00Z] => 0
            [2008-02-13T00:00:00Z] => 0
            [2009-02-13T00:00:00Z] => 0
            [2010-02-13T00:00:00Z] => 0
            [2011-02-13T00:00:00Z] => 0
            [gap] => +1YEAR
            [start] => 2006-02-13T00:00:00Z
            [end] => 2012-02-13T00:00:00Z
            [before] => 2
        )

)

Exemplo #12 Connecting to SSL-Enabled Server

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'timeout'  => SOLR_SERVER_TIMEOUT,
    'secure'   => SOLR_SECURE,
    'ssl_cert' => SOLR_SSL_CERT_ONLY,
    'ssl_key'  => SOLR_SSL_KEY,
    'ssl_keypassword' => SOLR_SSL_KEYPASSWORD,
    'ssl_cainfo' => SOLR_SSL_CAINFO,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2)->setFacetMinCount(4, 'name');

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
        )

)

Exemplo #13 Collapsing a SolrQuery

<?php
include "bootstrap.php";

$options = array
(
        'hostname' => SOLR_SERVER_HOSTNAME,
        'login'    => SOLR_SERVER_USERNAME,
        'password' => SOLR_SERVER_PASSWORD,
        'port'     => SOLR_SERVER_PORT,
        'path'     => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$collapseFunction = new SolrCollapseFunction('manu_id_s');

$collapseFunction
->setSize(2)
->setNullPolicy(SolrCollapseFunction::NULLPOLICY_IGNORE);

$query
->collapse($collapseFunction)
->setRows(4);

$queryResponse = $client->query($query);

$response = $queryResponse->getResponse();

print_r($response);
?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [q] => *:*
                    [indent] => on
                    [fq] => {!collapse field=manu_id_s size=2 nullPolicy=ignore}
                    [rows] => 4
                    [version] => 2.2
                    [wt] => xml
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 14
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [id] => SP2514N
                            [name] => Array
                                (
                                    [0] => Samsung SpinPoint P120 SP2514N - hard drive - 250 GB - ATA-133
                                )

                            [manu] => Array
                                (
                                    [0] => Samsung Electronics Co. Ltd.
                                )

                            [manu_id_s] => samsung
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => 7200RPM, 8MB cache, IDE Ultra ATA-133
                                    [1] => NoiseGuard, SilentSeek technology, Fluid Dynamic Bearing (FDB) motor
                                )

                            [price] => Array
                                (
                                    [0] => 92
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [store] => Array
                                (
                                    [0] => 35.0752,-97.032
                                )

                            [_version_] => 1510294336412057600
                        )

                    [1] => SolrObject Object
                        (
                            [id] => 6H500F0
                            [name] => Array
                                (
                                    [0] => Maxtor DiamondMax 11 - hard drive - 500 GB - SATA-300
                                )

                            [manu] => Array
                                (
                                    [0] => Maxtor Corp.
                                )

                            [manu_id_s] => maxtor
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => SATA 3.0Gb/s, NCQ
                                    [1] => 8.5ms seek
                                    [2] => 16MB cache
                                )

                            [price] => Array
                                (
                                    [0] => 350
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 45.17614,-93.87341
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [_version_] => 1510294336449806336
                        )

                    [2] => SolrObject Object
                        (
                            [id] => F8V7067-APL-KIT
                            [name] => Array
                                (
                                    [0] => Belkin Mobile Power Cord for iPod w/ Dock
                                )

                            [manu] => Array
                                (
                                    [0] => Belkin
                                )

                            [manu_id_s] => belkin
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => connector
                                )

                            [features] => Array
                                (
                                    [0] => car power adapter, white
                                )

                            [weight] => Array
                                (
                                    [0] => 4
                                )

                            [price] => Array
                                (
                                    [0] => 19.95
                                )

                            [popularity] => Array
                                (
                                    [0] => 1
                                )

                            [inStock] => Array
                                (
                                    [0] =>
                                )

                            [store] => Array
                                (
                                    [0] => 45.18014,-93.87741
                                )

                            [manufacturedate_dt] => 2005-08-01T16:30:25Z
                            [_version_] => 1510294336458194944
                        )

                    [3] => SolrObject Object
                        (
                            [id] => MA147LL/A
                            [name] => Array
                                (
                                    [0] => Apple 60 GB iPod with Video Playback Black
                                )

                            [manu] => Array
                                (
                                    [0] => Apple Computer Inc.
                                )

                            [manu_id_s] => apple
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => music
                                )

                            [features] => Array
                                (
                                    [0] => iTunes, Podcasts, Audiobooks
                                    [1] => Stores up to 15,000 songs, 25,000 photos, or 150 hours of video
                                    [2] => 2.5-inch, 320x240 color TFT LCD display with LED backlight
                                    [3] => Up to 20 hours of battery life
                                    [4] => Plays AAC, MP3, WAV, AIFF, Audible, Apple Lossless, H.264 video
                                    [5] => Notes, Calendar, Phone book, Hold button, Date display, Photo wallet, Built-in games, JPEG photo playback, Upgradeable firmware, USB 2.0 compatibility, Playback speed control, Rechargeable capability, Battery level indication
                                )

                            [includes] => Array
                                (
                                    [0] => earbud headphones, USB cable
                                )

                            [weight] => Array
                                (
                                    [0] => 5.5
                                )

                            [price] => Array
                                (
                                    [0] => 399
                                )

                            [popularity] => Array
                                (
                                    [0] => 10
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 37.7752,-100.0232
                                )

                            [manufacturedate_dt] => 2005-10-12T08:00:00Z
                            [_version_] => 1510294336562003968
                        )

                )

        )

)

Exemplo #14 Solr Real Time Get (RTG) example SolrClient::getById()

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$response = $client->getById('GB18030TEST');
print_r($response->getResponse());

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [doc] => SolrObject Object
        (
            [id] => GB18030TEST
            [name] => Array
                (
                    [0] => Test with some GB18030 encoded characters
                )

            [features] => Array
                (
                    [0] => No accents here
                    [1] => ??????
                    [2] => This is a feature (translated)
                    [3] => ?????????
                    [4] => This document is very shiny (translated)
                )

            [price] => Array
                (
                    [0] => 0
                )

            [inStock] => Array
                (
                    [0] => 1
                )

            [_version_] => 1510294336239042560
        )

)


The SolrUtils class

(PECL solr >= 0.9.2)

Introdução

Contains utility methods for retrieving the current extension version and preparing query phrases.

Also contains method for escaping query strings and parsing XML responses.

Sinopse da classe

abstract SolrUtils {
/* Métodos */
public static digestXmlResponse ( string $xmlresponse , int $parse_mode = 0 ) : SolrObject
public static escapeQueryChars ( string $str ) : string|false
public static getSolrVersion ( ) : string
public static queryPhrase ( string $str ) : string
}

Índice

  • SolrUtils::digestXmlResponse — Parses an response XML string into a SolrObject
  • SolrUtils::escapeQueryChars — Escapes a lucene query string
  • SolrUtils::getSolrVersion — Returns the current version of the Solr extension
  • SolrUtils::queryPhrase — Prepares a phrase from an unescaped lucene string


Parses an response XML string into a SolrObject

  • « SolrUtils
  • SolrUtils::escapeQueryChars »
  • PHP Manual
  • SolrUtils
  • Parses an response XML string into a SolrObject

SolrUtils::digestXmlResponse

(PECL solr >= 0.9.2)

SolrUtils::digestXmlResponse — Parses an response XML string into a SolrObject

Descrição

public static SolrUtils::digestXmlResponse ( string $xmlresponse , int $parse_mode = 0 ) : SolrObject

This method parses an response XML string from the Apache Solr server into a SolrObject. It throws a SolrException if there was an error.

Parâmetros

xmlresponse

The XML response string from the Solr server.

parse_mode

Use SolrResponse::PARSE_SOLR_OBJ or SolrResponse::PARSE_SOLR_DOC

Valor Retornado

Returns the SolrObject representing the XML response.

If the parse_mode parameter is set to SolrResponse::PARSE_SOLR_OBJ Solr documents will be parses as SolrObject instances.

If it is set to SolrResponse::PARSE_SOLR_DOC, they will be parsed as SolrDocument instances.


Escapes a lucene query string

  • « SolrUtils::digestXmlResponse
  • SolrUtils::getSolrVersion »
  • PHP Manual
  • SolrUtils
  • Escapes a lucene query string

SolrUtils::escapeQueryChars

(PECL solr >= 0.9.2)

SolrUtils::escapeQueryChars — Escapes a lucene query string

Descrição

public static SolrUtils::escapeQueryChars ( string $str ) : string|false

Lucene supports escaping special characters that are part of the query syntax.

The current list special characters are:

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \ /

These characters are part of the query syntax and must be escaped

Parâmetros

str

This is the query string to be escaped.

Valor Retornado

Returns the escaped string ou false em caso de falha.


Returns the current version of the Solr extension

  • « SolrUtils::escapeQueryChars
  • SolrUtils::queryPhrase »
  • PHP Manual
  • SolrUtils
  • Returns the current version of the Solr extension

SolrUtils::getSolrVersion

(PECL solr >= 0.9.2)

SolrUtils::getSolrVersion — Returns the current version of the Solr extension

Descrição

public static SolrUtils::getSolrVersion ( ) : string

Returns the current Solr version.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current version of the Apache Solr extension.


Prepares a phrase from an unescaped lucene string

  • « SolrUtils::getSolrVersion
  • SolrInputDocument »
  • PHP Manual
  • SolrUtils
  • Prepares a phrase from an unescaped lucene string

SolrUtils::queryPhrase

(PECL solr >= 0.9.2)

SolrUtils::queryPhrase — Prepares a phrase from an unescaped lucene string

Descrição

public static SolrUtils::queryPhrase ( string $str ) : string

Prepares a phrase from an unescaped lucene string.

Parâmetros

str

The lucene phrase.

Valor Retornado

Returns the phrase contained in double quotes.


The SolrInputDocument class

(PECL solr >= 0.9.2)

Introdução

This class represents a Solr document that is about to be submitted to the Solr index.

Sinopse da classe

final SolrInputDocument {
/* Constantes */
const int SORT_DEFAULT = 1 ;
const int SORT_ASC = 1 ;
const int SORT_DESC = 2 ;
const int SORT_FIELD_NAME = 1 ;
const int SORT_FIELD_VALUE_COUNT = 2 ;
const int SORT_FIELD_BOOST_VALUE = 4 ;
/* Métodos */
public addChildDocument ( SolrInputDocument $child ) : void
public addChildDocuments ( array &$docs ) : void
public addField ( string $fieldName , string $fieldValue , float $fieldBoostValue = 0.0 ) : bool
public clear ( ) : bool
public __clone ( ) : void
public __construct ( )
public deleteField ( string $fieldName ) : bool
public __destruct ( ) : void
public fieldExists ( string $fieldName ) : bool
public getBoost ( ) : float
public getChildDocuments ( ) : array
public getChildDocumentsCount ( ) : int
public getField ( string $fieldName ) : SolrDocumentField
public getFieldBoost ( string $fieldName ) : float
public getFieldCount ( ) : int|false
public getFieldNames ( ) : array
public hasChildDocuments ( ) : bool
public merge ( SolrInputDocument $sourceDoc , bool $overwrite = true ) : bool
public reset ( ) : bool
public setBoost ( float $documentBoostValue ) : bool
public setFieldBoost ( string $fieldName , float $fieldBoostValue ) : bool
public sort ( int $sortOrderBy , int $sortDirection = SolrInputDocument::SORT_ASC ) : bool
public toArray ( ) : array
}

Constantes pré-definidas

SolrInputDocument Class Constants

SolrInputDocument::SORT_DEFAULT

Sorts the fields in ascending order.

SolrInputDocument::SORT_ASC

Sorts the fields in ascending order.

SolrInputDocument::SORT_DESC

Sorts the fields in descending order.

SolrInputDocument::SORT_FIELD_NAME

Sorts the fields by name

SolrInputDocument::SORT_FIELD_VALUE_COUNT

Sorts the fields by number of values.

SolrInputDocument::SORT_FIELD_BOOST_VALUE

Sorts the fields by boost value.

Índice

  • SolrInputDocument::addChildDocument — Adds a child document for block indexing
  • SolrInputDocument::addChildDocuments — Adds an array of child documents
  • SolrInputDocument::addField — Adds a field to the document
  • SolrInputDocument::clear — Resets the input document
  • SolrInputDocument::__clone — Creates a copy of a SolrDocument
  • SolrInputDocument::__construct — Constructor
  • SolrInputDocument::deleteField — Removes a field from the document
  • SolrInputDocument::__destruct — Destructor
  • SolrInputDocument::fieldExists — Checks if a field exists
  • SolrInputDocument::getBoost — Retrieves the current boost value for the document
  • SolrInputDocument::getChildDocuments — Returns an array of child documents (SolrInputDocument)
  • SolrInputDocument::getChildDocumentsCount — Returns the number of child documents
  • SolrInputDocument::getField — Retrieves a field by name
  • SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field
  • SolrInputDocument::getFieldCount — Returns the number of fields in the document
  • SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document
  • SolrInputDocument::hasChildDocuments — Returns true if the document has any child documents
  • SolrInputDocument::merge — Merges one input document into another
  • SolrInputDocument::reset — This is an alias of SolrInputDocument::clear
  • SolrInputDocument::setBoost — Sets the boost value for this document
  • SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field
  • SolrInputDocument::sort — Sorts the fields within the document
  • SolrInputDocument::toArray — Returns an array representation of the input document


Adds a child document for block indexing

  • « SolrInputDocument
  • SolrInputDocument::addChildDocuments »
  • PHP Manual
  • SolrInputDocument
  • Adds a child document for block indexing

SolrInputDocument::addChildDocument

(PECL solr >= 2.3.0)

SolrInputDocument::addChildDocument — Adds a child document for block indexing

Descrição

public SolrInputDocument::addChildDocument ( SolrInputDocument $child ) : void

Adds a child document to construct a document block with nested documents.

Parâmetros

child

A SolrInputDocument object.

Erros

Throws SolrIllegalArgumentException on failure.

Throws SolrException on internal failure.

Valor Retornado

Exemplos

Exemplo #1 SolrInputDocument::addChildDocument() example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_SERVER_STORE_PATH,
);

$client = new SolrClient($options);

$product = new SolrInputDocument();

$product->addField('id', 'P-BLACK');
$product->addField('cat', 'tshirt');
$product->addField('cat', 'polo');
$product->addField('content_type', 'product');

$small = new SolrInputDocument();
$small->addField('id', 'TS-BLK-S');
$small->addField('content_type', 'sku');
$small->addField('size', 'S');
$small->addField('inventory', 100);

$medium = new SolrInputDocument();
$medium->addField('id', 'TS-BLK-M');
$medium->addField('content_type', 'sku');
$medium->addField('size', 'M');
$medium->addField('inventory', 200);

$large = new SolrInputDocument();
$large->addField('id', 'TS-BLK-L');
$large->addField('content_type', 'sku');
$large->addField('size', 'L');
$large->addField('inventory', 300);

// add child documents
$product->addChildDocument($small);
$product->addChildDocument($medium);
$product->addChildDocument($large);

// add product document block to the index
$updateResponse = $client->addDocument(
        $product,
        true, // overwrite if the document exists
        10000 // commit within 10 seconds
);

print_r($updateResponse->getResponse());

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 5
        )
)

Veja Também

  • SolrInputDocument::addChildDocuments() - Adds an array of child documents
  • SolrInputDocument::hasChildDocuments() - Returns true if the document has any child documents
  • SolrInputDocument::getChildDocuments() - Returns an array of child documents (SolrInputDocument)
  • SolrInputDocument::getChildDocumentsCount() - Returns the number of child documents


Adds an array of child documents

  • « SolrInputDocument::addChildDocument
  • SolrInputDocument::addField »
  • PHP Manual
  • SolrInputDocument
  • Adds an array of child documents

SolrInputDocument::addChildDocuments

(PECL solr >= 2.3.0)

SolrInputDocument::addChildDocuments — Adds an array of child documents

Descrição

public SolrInputDocument::addChildDocuments ( array &$docs ) : void

Adds an array of child documents to the current input document.

Parâmetros

docs

An array of SolrInputDocument objects.

Erros

Throws SolrIllegalArgumentException on failure.

Throws SolrException on internal failure.

Valor Retornado

Exemplos

Exemplo #1 SolrInputDocument::addChildDocuments() example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_SERVER_STORE_PATH,
);

$client = new SolrClient($options);

$product = new SolrInputDocument();

$product->addField('id', 'P-BLACK');
$product->addField('cat', 'tshirt');
$product->addField('cat', 'polo');
$product->addField('content_type', 'product');

$small = new SolrInputDocument();
$small->addField('id', 'TS-BLK-S');
$small->addField('content_type', 'sku');
$small->addField('size', 'S');
$small->addField('inventory', 100);

$medium = new SolrInputDocument();
$medium->addField('id', 'TS-BLK-M');
$medium->addField('content_type', 'sku');
$medium->addField('size', 'M');
$medium->addField('inventory', 200);

$large = new SolrInputDocument();
$large->addField('id', 'TS-BLK-L');
$large->addField('content_type', 'sku');
$large->addField('size', 'L');
$large->addField('inventory', 300);

// add child documents
$skus = [$small, $medium, $large];
$product->addChildDocuments($skus);

// add the product document block to the index
$updateResponse = $client->addDocument(
        $product,
        true, // overwrite if the document exists
        10000 // commit within 10 seconds
);

print_r($updateResponse->getResponse());

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 5
        )
)

Veja Também

  • SolrInputDocument::addChildDocument() - Adds a child document for block indexing
  • SolrInputDocument::hasChildDocuments() - Returns true if the document has any child documents
  • SolrInputDocument::getChildDocuments() - Returns an array of child documents (SolrInputDocument)
  • SolrInputDocument::getChildDocumentsCount() - Returns the number of child documents


Adds a field to the document

  • « SolrInputDocument::addChildDocuments
  • SolrInputDocument::clear »
  • PHP Manual
  • SolrInputDocument
  • Adds a field to the document

SolrInputDocument::addField

(PECL solr >= 0.9.2)

SolrInputDocument::addField — Adds a field to the document

Descrição

public SolrInputDocument::addField ( string $fieldName , string $fieldValue , float $fieldBoostValue = 0.0 ) : bool

For multi-value fields, if a valid boost value is specified, the specified value will be multiplied by the current boost value for this field.

Parâmetros

fieldName

The name of the field

fieldValue

The value for the field.

fieldBoostValue

The index time boost for the field. Though this cannot be negative, you can still pass values less than 1.0 but they must be greater than zero.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Resets the input document

  • « SolrInputDocument::addField
  • SolrInputDocument::__clone »
  • PHP Manual
  • SolrInputDocument
  • Resets the input document

SolrInputDocument::clear

(PECL solr >= 0.9.2)

SolrInputDocument::clear — Resets the input document

Descrição

public SolrInputDocument::clear ( ) : bool

Resets the document by dropping all the fields and resets the document boost to zero.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Creates a copy of a SolrDocument

  • « SolrInputDocument::clear
  • SolrInputDocument::__construct »
  • PHP Manual
  • SolrInputDocument
  • Creates a copy of a SolrDocument

SolrInputDocument::__clone

(PECL solr >= 0.9.2)

SolrInputDocument::__clone — Creates a copy of a SolrDocument

Descrição

public SolrInputDocument::__clone ( ) : void

Should not be called directly. It is used to create a deep copy of a SolrInputDocument.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Creates a new SolrInputDocument instance.


Constructor

  • « SolrInputDocument::__clone
  • SolrInputDocument::deleteField »
  • PHP Manual
  • SolrInputDocument
  • Constructor

SolrInputDocument::__construct

(PECL solr >= 0.9.2)

SolrInputDocument::__construct — Constructor

Descrição

public SolrInputDocument::__construct ( )

Constructor.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None.


Removes a field from the document

  • « SolrInputDocument::__construct
  • SolrInputDocument::__destruct »
  • PHP Manual
  • SolrInputDocument
  • Removes a field from the document

SolrInputDocument::deleteField

(PECL solr >= 0.9.2)

SolrInputDocument::deleteField — Removes a field from the document

Descrição

public SolrInputDocument::deleteField ( string $fieldName ) : bool

Removes a field from the document.

Parâmetros

fieldName

The name of the field.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Destructor

  • « SolrInputDocument::deleteField
  • SolrInputDocument::fieldExists »
  • PHP Manual
  • SolrInputDocument
  • Destructor

SolrInputDocument::__destruct

(PECL solr >= 0.9.2)

SolrInputDocument::__destruct — Destructor

Descrição

public SolrInputDocument::__destruct ( ) : void

Destructor

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None.


Checks if a field exists

  • « SolrInputDocument::__destruct
  • SolrInputDocument::getBoost »
  • PHP Manual
  • SolrInputDocument
  • Checks if a field exists

SolrInputDocument::fieldExists

(PECL solr >= 0.9.2)

SolrInputDocument::fieldExists — Checks if a field exists

Descrição

public SolrInputDocument::fieldExists ( string $fieldName ) : bool

Checks if a field exists

Parâmetros

fieldName

Name of the field.

Valor Retornado

Returns true if the field was found and false if it was not found.


Retrieves the current boost value for the document

  • « SolrInputDocument::fieldExists
  • SolrInputDocument::getChildDocuments »
  • PHP Manual
  • SolrInputDocument
  • Retrieves the current boost value for the document

SolrInputDocument::getBoost

(PECL solr >= 0.9.2)

SolrInputDocument::getBoost — Retrieves the current boost value for the document

Descrição

public SolrInputDocument::getBoost ( ) : float

Retrieves the current boost value for the document.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the boost value on success and false on failure.


Returns an array of child documents (SolrInputDocument)

  • « SolrInputDocument::getBoost
  • SolrInputDocument::getChildDocumentsCount »
  • PHP Manual
  • SolrInputDocument
  • Returns an array of child documents (SolrInputDocument)

SolrInputDocument::getChildDocuments

(PECL solr >= 2.3.0)

SolrInputDocument::getChildDocuments — Returns an array of child documents (SolrInputDocument)

Descrição

public SolrInputDocument::getChildDocuments ( ) : array

Returns an array of child documents (SolrInputDocument)

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrInputDocument::addChildDocument() - Adds a child document for block indexing
  • SolrInputDocument::addChildDocuments() - Adds an array of child documents
  • SolrInputDocument::hasChildDocuments() - Returns true if the document has any child documents
  • SolrInputDocument::getChildDocumentsCount() - Returns the number of child documents


Returns the number of child documents

  • « SolrInputDocument::getChildDocuments
  • SolrInputDocument::getField »
  • PHP Manual
  • SolrInputDocument
  • Returns the number of child documents

SolrInputDocument::getChildDocumentsCount

(PECL solr >= 2.3.0)

SolrInputDocument::getChildDocumentsCount — Returns the number of child documents

Descrição

public SolrInputDocument::getChildDocumentsCount ( ) : int

Returns the number of child documents

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrInputDocument::addChildDocument() - Adds a child document for block indexing
  • SolrInputDocument::addChildDocuments() - Adds an array of child documents
  • SolrInputDocument::hasChildDocuments() - Returns true if the document has any child documents
  • SolrInputDocument::getChildDocuments() - Returns an array of child documents (SolrInputDocument)


Retrieves a field by name

  • « SolrInputDocument::getChildDocumentsCount
  • SolrInputDocument::getFieldBoost »
  • PHP Manual
  • SolrInputDocument
  • Retrieves a field by name

SolrInputDocument::getField

(PECL solr >= 0.9.2)

SolrInputDocument::getField — Retrieves a field by name

Descrição

public SolrInputDocument::getField ( string $fieldName ) : SolrDocumentField

Retrieves a field in the document.

Parâmetros

fieldName

The name of the field.

Valor Retornado

Returns a SolrDocumentField object on success and false on failure.


Retrieves the boost value for a particular field

  • « SolrInputDocument::getField
  • SolrInputDocument::getFieldCount »
  • PHP Manual
  • SolrInputDocument
  • Retrieves the boost value for a particular field

SolrInputDocument::getFieldBoost

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field

Descrição

public SolrInputDocument::getFieldBoost ( string $fieldName ) : float

Retrieves the boost value for a particular field.

Parâmetros

fieldName

The name of the field.

Valor Retornado

Returns the boost value for the field or false if there was an error.


Returns the number of fields in the document

  • « SolrInputDocument::getFieldBoost
  • SolrInputDocument::getFieldNames »
  • PHP Manual
  • SolrInputDocument
  • Returns the number of fields in the document

SolrInputDocument::getFieldCount

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldCount — Returns the number of fields in the document

Descrição

public SolrInputDocument::getFieldCount ( ) : int|false

Returns the number of fields in the document.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success ou false em caso de falha.


Returns an array containing all the fields in the document

  • « SolrInputDocument::getFieldCount
  • SolrInputDocument::hasChildDocuments »
  • PHP Manual
  • SolrInputDocument
  • Returns an array containing all the fields in the document

SolrInputDocument::getFieldNames

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document

Descrição

public SolrInputDocument::getFieldNames ( ) : array

Returns an array containing all the fields in the document.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array on success and false on failure.


Returns true if the document has any child documents

  • « SolrInputDocument::getFieldNames
  • SolrInputDocument::merge »
  • PHP Manual
  • SolrInputDocument
  • Returns true if the document has any child documents

SolrInputDocument::hasChildDocuments

(PECL solr >= 2.3.0)

SolrInputDocument::hasChildDocuments — Returns true if the document has any child documents

Descrição

public SolrInputDocument::hasChildDocuments ( ) : bool

Checks whether the document has any child documents

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrInputDocument::addChildDocument() - Adds a child document for block indexing
  • SolrInputDocument::addChildDocuments() - Adds an array of child documents
  • SolrInputDocument::getChildDocuments() - Returns an array of child documents (SolrInputDocument)
  • SolrInputDocument::getChildDocumentsCount() - Returns the number of child documents


Merges one input document into another

  • « SolrInputDocument::hasChildDocuments
  • SolrInputDocument::reset »
  • PHP Manual
  • SolrInputDocument
  • Merges one input document into another

SolrInputDocument::merge

(PECL solr >= 0.9.2)

SolrInputDocument::merge — Merges one input document into another

Descrição

public SolrInputDocument::merge ( SolrInputDocument $sourceDoc , bool $overwrite = true ) : bool

Merges one input document into another.

Parâmetros

sourceDoc

The source document.

overwrite

If this is true it will replace matching fields in the destination document.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. In the future, this will be modified to return the number of fields in the new document.


This is an alias of SolrInputDocument::clear

  • « SolrInputDocument::merge
  • SolrInputDocument::setBoost »
  • PHP Manual
  • SolrInputDocument
  • This is an alias of SolrInputDocument::clear

SolrInputDocument::reset

(PECL solr >= 0.9.2)

SolrInputDocument::reset — This is an alias of SolrInputDocument::clear

Descrição

public SolrInputDocument::reset ( ) : bool

This is an alias of SolrInputDocument::clear

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Sets the boost value for this document

  • « SolrInputDocument::reset
  • SolrInputDocument::setFieldBoost »
  • PHP Manual
  • SolrInputDocument
  • Sets the boost value for this document

SolrInputDocument::setBoost

(PECL solr >= 0.9.2)

SolrInputDocument::setBoost — Sets the boost value for this document

Descrição

public SolrInputDocument::setBoost ( float $documentBoostValue ) : bool

Sets the boost value for this document.

Parâmetros

documentBoostValue

The index-time boost value for this document.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Sets the index-time boost value for a field

  • « SolrInputDocument::setBoost
  • SolrInputDocument::sort »
  • PHP Manual
  • SolrInputDocument
  • Sets the index-time boost value for a field

SolrInputDocument::setFieldBoost

(PECL solr >= 0.9.2)

SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field

Descrição

public SolrInputDocument::setFieldBoost ( string $fieldName , float $fieldBoostValue ) : bool

Sets the index-time boost value for a field. This replaces the current boost value for this field.

Parâmetros

fieldName

The name of the field.

fieldBoostValue

The index time boost value.


Sorts the fields within the document

  • « SolrInputDocument::setFieldBoost
  • SolrInputDocument::toArray »
  • PHP Manual
  • SolrInputDocument
  • Sorts the fields within the document

SolrInputDocument::sort

(PECL solr >= 0.9.2)

SolrInputDocument::sort — Sorts the fields within the document

Descrição

public SolrInputDocument::sort ( int $sortOrderBy , int $sortDirection = SolrInputDocument::SORT_ASC ) : bool

The fields are rearranged according to the specified criteria and sort direction

   Fields can be sorted by boost values, field names and number of values.

   The $order_by parameter must be one of :

   * SolrInputDocument::SORT_FIELD_NAME
   * SolrInputDocument::SORT_FIELD_BOOST_VALUE
   * SolrInputDocument::SORT_FIELD_VALUE_COUNT

   The sort direction can be one of :

   * SolrInputDocument::SORT_DEFAULT
   * SolrInputDocument::SORT_ASC
   * SolrInputDocument::SORT_DESC

Parâmetros

sortOrderBy

The sort criteria

sortDirection

The sort direction

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Returns an array representation of the input document

  • « SolrInputDocument::sort
  • SolrDocument »
  • PHP Manual
  • SolrInputDocument
  • Returns an array representation of the input document

SolrInputDocument::toArray

(PECL solr >= 0.9.2)

SolrInputDocument::toArray — Returns an array representation of the input document

Descrição

public SolrInputDocument::toArray ( ) : array

Returns an array representation of the input document.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array containing the fields. It returns false on failure.


The SolrDocument class

(PECL solr >= 0.9.2)

Introdução

Represents a Solr document retrieved from a query response.

Sinopse da classe

final SolrDocument implements ArrayAccess , Iterator , Serializable {
/* Constantes */
const int SORT_DEFAULT = 1 ;
const int SORT_ASC = 1 ;
const int SORT_DESC = 2 ;
const int SORT_FIELD_NAME = 1 ;
const int SORT_FIELD_VALUE_COUNT = 2 ;
const int SORT_FIELD_BOOST_VALUE = 4 ;
/* Métodos */
public addField ( string $fieldName , string $fieldValue ) : bool
public clear ( ) : bool
public __clone ( ) : void
public __construct ( )
public current ( ) : SolrDocumentField
public deleteField ( string $fieldName ) : bool
public __destruct ( ) : void
public fieldExists ( string $fieldName ) : bool
public __get ( string $fieldName ) : SolrDocumentField
public getChildDocuments ( ) : array
public getChildDocumentsCount ( ) : int
public getField ( string $fieldName ) : SolrDocumentField
public getFieldCount ( ) : int
public getFieldNames ( ) : array
public getInputDocument ( ) : SolrInputDocument
public hasChildDocuments ( ) : bool
public __isset ( string $fieldName ) : bool
public key ( ) : string
public merge ( SolrDocument $sourceDoc , bool $overwrite = true ) : bool
public next ( ) : void
public offsetExists ( string $fieldName ) : bool
public offsetGet ( string $fieldName ) : SolrDocumentField
public offsetSet ( string $fieldName , string $fieldValue ) : void
public offsetUnset ( string $fieldName ) : void
public reset ( ) : bool
public rewind ( ) : void
public serialize ( ) : string
public __set ( string $fieldName , string $fieldValue ) : bool
public sort ( int $sortOrderBy , int $sortDirection = SolrDocument::SORT_ASC ) : bool
public toArray ( ) : array
public unserialize ( string $serialized ) : void
public __unset ( string $fieldName ) : bool
public valid ( ) : bool
}

Constantes pré-definidas

SolrDocument::SORT_DEFAULT

Default mode for sorting fields within the document.

SolrDocument::SORT_ASC

Sorts the fields in ascending order

SolrDocument::SORT_DESC

Sorts the fields in descending order

SolrDocument::SORT_FIELD_NAME

Sorts the fields by field name.

SolrDocument::SORT_FIELD_VALUE_COUNT

Sorts the fields by number of values in each field.

SolrDocument::SORT_FIELD_BOOST_VALUE

Sorts the fields by thier boost values.

Índice

  • SolrDocument::addField — Adds a field to the document
  • SolrDocument::clear — Drops all the fields in the document
  • SolrDocument::__clone — Creates a copy of a SolrDocument object
  • SolrDocument::__construct — Constructor
  • SolrDocument::current — Retrieves the current field
  • SolrDocument::deleteField — Removes a field from the document
  • SolrDocument::__destruct — Destructor
  • SolrDocument::fieldExists — Checks if a field exists in the document
  • SolrDocument::__get — Access the field as a property
  • SolrDocument::getChildDocuments — Returns an array of child documents (SolrDocument)
  • SolrDocument::getChildDocumentsCount — Returns the number of child documents
  • SolrDocument::getField — Retrieves a field by name
  • SolrDocument::getFieldCount — Returns the number of fields in this document
  • SolrDocument::getFieldNames — Returns an array of fields names in the document
  • SolrDocument::getInputDocument — Returns a SolrInputDocument equivalent of the object
  • SolrDocument::hasChildDocuments — Checks whether the document has any child documents
  • SolrDocument::__isset — Checks if a field exists
  • SolrDocument::key — Retrieves the current key
  • SolrDocument::merge — Merges source to the current SolrDocument
  • SolrDocument::next — Moves the internal pointer to the next field
  • SolrDocument::offsetExists — Checks if a particular field exists
  • SolrDocument::offsetGet — Retrieves a field
  • SolrDocument::offsetSet — Adds a field to the document
  • SolrDocument::offsetUnset — Removes a field
  • SolrDocument::reset — This is an alias to SolrDocument::clear()
  • SolrDocument::rewind — Resets the internal pointer to the beginning
  • SolrDocument::serialize — Used for custom serialization
  • SolrDocument::__set — Adds another field to the document
  • SolrDocument::sort — Sorts the fields in the document
  • SolrDocument::toArray — Returns an array representation of the document
  • SolrDocument::unserialize — Custom serialization of SolrDocument objects
  • SolrDocument::__unset — Removes a field from the document
  • SolrDocument::valid — Checks if the current position internally is still valid


Adds a field to the document

  • « SolrDocument
  • SolrDocument::clear »
  • PHP Manual
  • SolrDocument
  • Adds a field to the document

SolrDocument::addField

(PECL solr >= 0.9.2)

SolrDocument::addField — Adds a field to the document

Descrição

public SolrDocument::addField ( string $fieldName , string $fieldValue ) : bool

This method adds a field to the SolrDocument instance.

Parâmetros

fieldName

The name of the field

fieldValue

The value of the field.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Drops all the fields in the document

  • « SolrDocument::addField
  • SolrDocument::__clone »
  • PHP Manual
  • SolrDocument
  • Drops all the fields in the document

SolrDocument::clear

(PECL solr >= 0.9.2)

SolrDocument::clear — Drops all the fields in the document

Descrição

public SolrDocument::clear ( ) : bool

Resets the current object. Discards all the fields and resets the document boost to zero.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Creates a copy of a SolrDocument object

  • « SolrDocument::clear
  • SolrDocument::__construct »
  • PHP Manual
  • SolrDocument
  • Creates a copy of a SolrDocument object

SolrDocument::__clone

(PECL solr >= 0.9.2)

SolrDocument::__clone — Creates a copy of a SolrDocument object

Descrição

public SolrDocument::__clone ( ) : void

Creates a copy of a SolrDocument object. Not to be called directly.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None.


Constructor

  • « SolrDocument::__clone
  • SolrDocument::current »
  • PHP Manual
  • SolrDocument
  • Constructor

SolrDocument::__construct

(PECL solr >= 0.9.2)

SolrDocument::__construct — Constructor

Descrição

public SolrDocument::__construct ( )

Constructor for SolrDocument

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Retrieves the current field

  • « SolrDocument::__construct
  • SolrDocument::deleteField »
  • PHP Manual
  • SolrDocument
  • Retrieves the current field

SolrDocument::current

(PECL solr >= 0.9.2)

SolrDocument::current — Retrieves the current field

Descrição

public SolrDocument::current ( ) : SolrDocumentField

Retrieves the current field

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the field


Removes a field from the document

  • « SolrDocument::current
  • SolrDocument::__destruct »
  • PHP Manual
  • SolrDocument
  • Removes a field from the document

SolrDocument::deleteField

(PECL solr >= 0.9.2)

SolrDocument::deleteField — Removes a field from the document

Descrição

public SolrDocument::deleteField ( string $fieldName ) : bool

Removes a field from the document.

Parâmetros

fieldName

Name of the field

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Destructor

  • « SolrDocument::deleteField
  • SolrDocument::fieldExists »
  • PHP Manual
  • SolrDocument
  • Destructor

SolrDocument::__destruct

(PECL solr >= 0.9.2)

SolrDocument::__destruct — Destructor

Descrição

public SolrDocument::__destruct ( ) : void

Destructor for SolrDocument.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Checks if a field exists in the document

  • « SolrDocument::__destruct
  • SolrDocument::__get »
  • PHP Manual
  • SolrDocument
  • Checks if a field exists in the document

SolrDocument::fieldExists

(PECL solr >= 0.9.2)

SolrDocument::fieldExists — Checks if a field exists in the document

Descrição

public SolrDocument::fieldExists ( string $fieldName ) : bool

Checks if the requested field as a valid fieldname in the document.

Parâmetros

fieldName

The name of the field.

Valor Retornado

Returns true if the field is present and false if it does not.


Access the field as a property

  • « SolrDocument::fieldExists
  • SolrDocument::getChildDocuments »
  • PHP Manual
  • SolrDocument
  • Access the field as a property

SolrDocument::__get

(PECL solr >= 0.9.2)

SolrDocument::__get — Access the field as a property

Descrição

public SolrDocument::__get ( string $fieldName ) : SolrDocumentField

Magic method for accessing the field as a property.

Parâmetros

fieldName

The name of the field.

Valor Retornado

Returns a SolrDocumentField instance.


Returns an array of child documents (SolrDocument)

  • « SolrDocument::__get
  • SolrDocument::getChildDocumentsCount »
  • PHP Manual
  • SolrDocument
  • Returns an array of child documents (SolrDocument)

SolrDocument::getChildDocuments

(PECL solr >= 2.3.0)

SolrDocument::getChildDocuments — Returns an array of child documents (SolrDocument)

Descrição

public SolrDocument::getChildDocuments ( ) : array

Returns an array of child documents (SolrDocument)

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrDocument::hasChildDocuments() - Checks whether the document has any child documents
  • SolrDocument::getChildDocumentsCount() - Returns the number of child documents


Returns the number of child documents

  • « SolrDocument::getChildDocuments
  • SolrDocument::getField »
  • PHP Manual
  • SolrDocument
  • Returns the number of child documents

SolrDocument::getChildDocumentsCount

(PECL solr >= 2.3.0)

SolrDocument::getChildDocumentsCount — Returns the number of child documents

Descrição

public SolrDocument::getChildDocumentsCount ( ) : int

Returns the number of child documents

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrDocument::hasChildDocuments() - Checks whether the document has any child documents
  • SolrDocument::getChildDocuments() - Returns an array of child documents (SolrDocument)


Retrieves a field by name

  • « SolrDocument::getChildDocumentsCount
  • SolrDocument::getFieldCount »
  • PHP Manual
  • SolrDocument
  • Retrieves a field by name

SolrDocument::getField

(PECL solr >= 0.9.2)

SolrDocument::getField — Retrieves a field by name

Descrição

public SolrDocument::getField ( string $fieldName ) : SolrDocumentField

Retrieves a field by name.

Parâmetros

fieldName

Name of the field.

Valor Retornado

Returns a SolrDocumentField on success and false on failure.


Returns the number of fields in this document

  • « SolrDocument::getField
  • SolrDocument::getFieldNames »
  • PHP Manual
  • SolrDocument
  • Returns the number of fields in this document

SolrDocument::getFieldCount

(PECL solr >= 0.9.2)

SolrDocument::getFieldCount — Returns the number of fields in this document

Descrição

public SolrDocument::getFieldCount ( ) : int

Returns the number of fields in this document. Multi-value fields are only counted once.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and false on failure.


Returns an array of fields names in the document

  • « SolrDocument::getFieldCount
  • SolrDocument::getInputDocument »
  • PHP Manual
  • SolrDocument
  • Returns an array of fields names in the document

SolrDocument::getFieldNames

(PECL solr >= 0.9.2)

SolrDocument::getFieldNames — Returns an array of fields names in the document

Descrição

public SolrDocument::getFieldNames ( ) : array

Returns an array of fields names in the document.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array containing the names of the fields in this document.


Returns a SolrInputDocument equivalent of the object

  • « SolrDocument::getFieldNames
  • SolrDocument::hasChildDocuments »
  • PHP Manual
  • SolrDocument
  • Returns a SolrInputDocument equivalent of the object

SolrDocument::getInputDocument

(PECL solr >= 0.9.2)

SolrDocument::getInputDocument — Returns a SolrInputDocument equivalent of the object

Descrição

public SolrDocument::getInputDocument ( ) : SolrInputDocument

Returns a SolrInputDocument equivalent of the object. This is useful if one wishes to resubmit/update a document retrieved from a query.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a SolrInputDocument on success and null on failure.


Checks whether the document has any child documents

  • « SolrDocument::getInputDocument
  • SolrDocument::__isset »
  • PHP Manual
  • SolrDocument
  • Checks whether the document has any child documents

SolrDocument::hasChildDocuments

(PECL solr >= 2.3.0)

SolrDocument::hasChildDocuments — Checks whether the document has any child documents

Descrição

public SolrDocument::hasChildDocuments ( ) : bool

Checks whether the document has any child documents

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrDocument::getChildDocuments() - Returns an array of child documents (SolrDocument)
  • SolrDocument::getChildDocumentsCount() - Returns the number of child documents


Checks if a field exists

  • « SolrDocument::hasChildDocuments
  • SolrDocument::key »
  • PHP Manual
  • SolrDocument
  • Checks if a field exists

SolrDocument::__isset

(PECL solr >= 0.9.2)

SolrDocument::__isset — Checks if a field exists

Descrição

public SolrDocument::__isset ( string $fieldName ) : bool

Checks if a field exists

Parâmetros

fieldName

Name of the field.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Retrieves the current key

  • « SolrDocument::__isset
  • SolrDocument::merge »
  • PHP Manual
  • SolrDocument
  • Retrieves the current key

SolrDocument::key

(PECL solr >= 0.9.2)

SolrDocument::key — Retrieves the current key

Descrição

public SolrDocument::key ( ) : string

Retrieves the current key.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current key.


Merges source to the current SolrDocument

  • « SolrDocument::key
  • SolrDocument::next »
  • PHP Manual
  • SolrDocument
  • Merges source to the current SolrDocument

SolrDocument::merge

(PECL solr >= 0.9.2)

SolrDocument::merge — Merges source to the current SolrDocument

Descrição

public SolrDocument::merge ( SolrDocument $sourceDoc , bool $overwrite = true ) : bool

Merges source to the current SolrDocument.

Parâmetros

sourceDoc

The source document.

overwrite

If this is true then fields with the same name in the destination document will be overwritten.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Moves the internal pointer to the next field

  • « SolrDocument::merge
  • SolrDocument::offsetExists »
  • PHP Manual
  • SolrDocument
  • Moves the internal pointer to the next field

SolrDocument::next

(PECL solr >= 0.9.2)

SolrDocument::next — Moves the internal pointer to the next field

Descrição

public SolrDocument::next ( ) : void

Moves the internal pointer to the next field.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This method has no return value.


Checks if a particular field exists

  • « SolrDocument::next
  • SolrDocument::offsetGet »
  • PHP Manual
  • SolrDocument
  • Checks if a particular field exists

SolrDocument::offsetExists

(PECL solr >= 0.9.2)

SolrDocument::offsetExists — Checks if a particular field exists

Descrição

public SolrDocument::offsetExists ( string $fieldName ) : bool

Checks if a particular field exists. This is used when the object is treated as an array.

Parâmetros

fieldName

The name of the field.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Retrieves a field

  • « SolrDocument::offsetExists
  • SolrDocument::offsetSet »
  • PHP Manual
  • SolrDocument
  • Retrieves a field

SolrDocument::offsetGet

(PECL solr >= 0.9.2)

SolrDocument::offsetGet — Retrieves a field

Descrição

public SolrDocument::offsetGet ( string $fieldName ) : SolrDocumentField

This is used to retrieve the field when the object is treated as an array.

Parâmetros

fieldName

The name of the field.

Valor Retornado

Returns a SolrDocumentField object.


Adds a field to the document

  • « SolrDocument::offsetGet
  • SolrDocument::offsetUnset »
  • PHP Manual
  • SolrDocument
  • Adds a field to the document

SolrDocument::offsetSet

(PECL solr >= 0.9.2)

SolrDocument::offsetSet — Adds a field to the document

Descrição

public SolrDocument::offsetSet ( string $fieldName , string $fieldValue ) : void

Used when the object is treated as an array to add a field to the document.

Parâmetros

fieldName

The name of the field.

fieldValue

The value for this field.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Removes a field

  • « SolrDocument::offsetSet
  • SolrDocument::reset »
  • PHP Manual
  • SolrDocument
  • Removes a field

SolrDocument::offsetUnset

(PECL solr >= 0.9.2)

SolrDocument::offsetUnset — Removes a field

Descrição

public SolrDocument::offsetUnset ( string $fieldName ) : void

Removes a field from the document.

Parâmetros

fieldName

The name of the field.

Valor Retornado

No return value.


This is an alias to SolrDocument::clear()

  • « SolrDocument::offsetUnset
  • SolrDocument::rewind »
  • PHP Manual
  • SolrDocument
  • This is an alias to SolrDocument::clear()

SolrDocument::reset

(PECL solr >= 0.9.2)

SolrDocument::reset — This is an alias to SolrDocument::clear()

Descrição

public SolrDocument::reset ( ) : bool

This is an alias to SolrDocument::clear()

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Resets the internal pointer to the beginning

  • « SolrDocument::reset
  • SolrDocument::serialize »
  • PHP Manual
  • SolrDocument
  • Resets the internal pointer to the beginning

SolrDocument::rewind

(PECL solr >= 0.9.2)

SolrDocument::rewind — Resets the internal pointer to the beginning

Descrição

public SolrDocument::rewind ( ) : void

Resets the internal pointer to the beginning.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

This method has no return value.


Used for custom serialization

  • « SolrDocument::rewind
  • SolrDocument::__set »
  • PHP Manual
  • SolrDocument
  • Used for custom serialization

SolrDocument::serialize

(PECL solr >= 0.9.2)

SolrDocument::serialize — Used for custom serialization

Descrição

public SolrDocument::serialize ( ) : string

Used for custom serialization.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string representing the serialized Solr document.


Adds another field to the document

  • « SolrDocument::serialize
  • SolrDocument::sort »
  • PHP Manual
  • SolrDocument
  • Adds another field to the document

SolrDocument::__set

(PECL solr >= 0.9.2)

SolrDocument::__set — Adds another field to the document

Descrição

public SolrDocument::__set ( string $fieldName , string $fieldValue ) : bool

Adds another field to the document. Used to set the fields as new properties.

Parâmetros

fieldName

Name of the field.

fieldValue

Field value.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Sorts the fields in the document

  • « SolrDocument::__set
  • SolrDocument::toArray »
  • PHP Manual
  • SolrDocument
  • Sorts the fields in the document

SolrDocument::sort

(PECL solr >= 0.9.2)

SolrDocument::sort — Sorts the fields in the document

Descrição

public SolrDocument::sort ( int $sortOrderBy , int $sortDirection = SolrDocument::SORT_ASC ) : bool

The fields are rearranged according to the specified criteria and sort direction

   Fields can be sorted by boost values, field names and number of values.

   The sortOrderBy parameter must be one of :

   * SolrDocument::SORT_FIELD_NAME
   * SolrDocument::SORT_FIELD_BOOST_VALUE
   * SolrDocument::SORT_FIELD_VALUE_COUNT

   The sortDirection can be one of :

   * SolrDocument::SORT_DEFAULT
   * SolrDocument::SORT_ASC
   * SolrDocument::SORT_DESC

   The default way is to sort in ascending order.

Parâmetros

sortOrderBy

The sort criteria.

sortDirection

The sort direction.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Returns an array representation of the document

  • « SolrDocument::sort
  • SolrDocument::unserialize »
  • PHP Manual
  • SolrDocument
  • Returns an array representation of the document

SolrDocument::toArray

(PECL solr >= 0.9.2)

SolrDocument::toArray — Returns an array representation of the document

Descrição

public SolrDocument::toArray ( ) : array

Returns an array representation of the document.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array representation of the document.

Exemplos

Exemplo #1 SolrDocument::toArray() example

<?php

$doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

print_r($doc->toArray());

?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

        )

)


Custom serialization of SolrDocument objects

  • « SolrDocument::toArray
  • SolrDocument::__unset »
  • PHP Manual
  • SolrDocument
  • Custom serialization of SolrDocument objects

SolrDocument::unserialize

(PECL solr >= 0.9.2)

SolrDocument::unserialize — Custom serialization of SolrDocument objects

Descrição

public SolrDocument::unserialize ( string $serialized ) : void

Custom serialization of SolrDocument objects

Parâmetros

serialized

An XML representation of the document.

Valor Retornado

None.


Removes a field from the document

  • « SolrDocument::unserialize
  • SolrDocument::valid »
  • PHP Manual
  • SolrDocument
  • Removes a field from the document

SolrDocument::__unset

(PECL solr >= 0.9.2)

SolrDocument::__unset — Removes a field from the document

Descrição

public SolrDocument::__unset ( string $fieldName ) : bool

Removes a field from the document when the field is access as an object property.

Parâmetros

fieldName

The name of the field.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Checks if the current position internally is still valid

  • « SolrDocument::__unset
  • SolrDocumentField »
  • PHP Manual
  • SolrDocument
  • Checks if the current position internally is still valid

SolrDocument::valid

(PECL solr >= 0.9.2)

SolrDocument::valid — Checks if the current position internally is still valid

Descrição

public SolrDocument::valid ( ) : bool

Checks if the current position internally is still valid. It is used during foreach operations.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true on success and false if the current position is no longer valid.


The SolrDocumentField class

(PECL solr >= 0.9.2)

Introdução

This represents a field in a Solr document. All its properties are read-only.

Sinopse da classe

final SolrDocumentField {
/* Propriedades */
public readonly string $name ;
public readonly float $boost ;
public readonly array $values ;
/* Métodos */
public __construct ( )
public __destruct ( ) : void
}

Propriedades

name

The name of the field.

boost

The boost value for the field

values

An array of values for this field

Índice

  • SolrDocumentField::__construct — Constructor
  • SolrDocumentField::__destruct — Destructor


Constructor

  • « SolrDocumentField
  • SolrDocumentField::__destruct »
  • PHP Manual
  • SolrDocumentField
  • Constructor

SolrDocumentField::__construct

(PECL solr >= 0.9.2)

SolrDocumentField::__construct — Constructor

Descrição

public SolrDocumentField::__construct ( )

Constructor.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None.


Destructor

  • « SolrDocumentField::__construct
  • SolrObject »
  • PHP Manual
  • SolrDocumentField
  • Destructor

SolrDocumentField::__destruct

(PECL solr >= 0.9.2)

SolrDocumentField::__destruct — Destructor

Descrição

public SolrDocumentField::__destruct ( ) : void

Destructor.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None.


The SolrObject class

(PECL solr >= 0.9.2)

Introdução

This is an object whose properties can also by accessed using the array syntax. All its properties are read-only.

Sinopse da classe

final SolrObject implements ArrayAccess {
/* Métodos */
public __construct ( )
public __destruct ( ) : void
public getPropertyNames ( ) : array
public offsetExists ( string $property_name ) : bool
public offsetGet ( string $property_name ) : mixed
public offsetSet ( string $property_name , string $property_value ) : void
public offsetUnset ( string $property_name ) : void
}

Índice

  • SolrObject::__construct — Creates Solr object
  • SolrObject::__destruct — Destructor
  • SolrObject::getPropertyNames — Returns an array of all the names of the properties
  • SolrObject::offsetExists — Checks if the property exists
  • SolrObject::offsetGet — Used to retrieve a property
  • SolrObject::offsetSet — Sets the value for a property
  • SolrObject::offsetUnset — Unsets the value for the property


Creates Solr object

  • « SolrObject
  • SolrObject::__destruct »
  • PHP Manual
  • SolrObject
  • Creates Solr object

SolrObject::__construct

(PECL solr >= 0.9.2)

SolrObject::__construct — Creates Solr object

Descrição

public SolrObject::__construct ( )

Creates Solr object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None

Exemplos

Exemplo #1 SolrObject::__construct() example

<?php
/* ... */
?>

O exemplo acima irá imprimir algo similar à:

...

Veja Também

  • Classname::Method()


Destructor

  • « SolrObject::__construct
  • SolrObject::getPropertyNames »
  • PHP Manual
  • SolrObject
  • Destructor

SolrObject::__destruct

(PECL solr >= 0.9.2)

SolrObject::__destruct — Destructor

Descrição

public SolrObject::__destruct ( ) : void

The destructor

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None.


Returns an array of all the names of the properties

  • « SolrObject::__destruct
  • SolrObject::offsetExists »
  • PHP Manual
  • SolrObject
  • Returns an array of all the names of the properties

SolrObject::getPropertyNames

(PECL solr >= 0.9.2)

SolrObject::getPropertyNames — Returns an array of all the names of the properties

Descrição

public SolrObject::getPropertyNames ( ) : array

Returns an array of all the names of the properties

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array.


Checks if the property exists

  • « SolrObject::getPropertyNames
  • SolrObject::offsetGet »
  • PHP Manual
  • SolrObject
  • Checks if the property exists

SolrObject::offsetExists

(PECL solr >= 0.9.2)

SolrObject::offsetExists — Checks if the property exists

Descrição

public SolrObject::offsetExists ( string $property_name ) : bool

Checks if the property exists. This is used when the object is treated as an array.

Parâmetros

property_name

The name of the property.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Used to retrieve a property

  • « SolrObject::offsetExists
  • SolrObject::offsetSet »
  • PHP Manual
  • SolrObject
  • Used to retrieve a property

SolrObject::offsetGet

(PECL solr >= 0.9.2)

SolrObject::offsetGet — Used to retrieve a property

Descrição

public SolrObject::offsetGet ( string $property_name ) : mixed

Used to get the value of a property. This is used when the object is treated as an array.

Parâmetros

property_name

Name of the property.

Valor Retornado

Returns the property value.


Sets the value for a property

  • « SolrObject::offsetGet
  • SolrObject::offsetUnset »
  • PHP Manual
  • SolrObject
  • Sets the value for a property

SolrObject::offsetSet

(PECL solr >= 0.9.2)

SolrObject::offsetSet — Sets the value for a property

Descrição

public SolrObject::offsetSet ( string $property_name , string $property_value ) : void

Sets the value for a property. This is used when the object is treated as an array. This object is read-only. This should never be attempted.

Parâmetros

property_name

The name of the property.

property_value

The new value.

Valor Retornado

None.


Unsets the value for the property

  • « SolrObject::offsetSet
  • SolrClient »
  • PHP Manual
  • SolrObject
  • Unsets the value for the property

SolrObject::offsetUnset

(PECL solr >= 0.9.2)

SolrObject::offsetUnset — Unsets the value for the property

Descrição

public SolrObject::offsetUnset ( string $property_name ) : void

Unsets the value for the property. This is used when the object is treated as an array. This object is read-only. This should never be attempted.

Parâmetros

property_name

The name of the property.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 SolrObject::offsetUnset() example

<?php
/* ... */
?>

O exemplo acima irá imprimir algo similar à:

...

Veja Também

  • Classname::Method()


The SolrClient class

(PECL solr >= 0.9.2)

Introdução

Used to send requests to a Solr server. Currently, cloning and serialization of SolrClient instances is not supported.

Sinopse da classe

final SolrClient {
/* Constantes */
const int SEARCH_SERVLET_TYPE = 1 ;
const int UPDATE_SERVLET_TYPE = 2 ;
const int THREADS_SERVLET_TYPE = 4 ;
const int PING_SERVLET_TYPE = 8 ;
const int TERMS_SERVLET_TYPE = 16 ;
const int SYSTEM_SERVLET_TYPE = 32 ;
const string DEFAULT_SEARCH_SERVLET = select ;
const string DEFAULT_UPDATE_SERVLET = update ;
const string DEFAULT_THREADS_SERVLET = admin/threads ;
const string DEFAULT_PING_SERVLET = admin/ping ;
const string DEFAULT_TERMS_SERVLET = terms ;
const string DEFAULT_SYSTEM_SERVLET = admin/system ;
/* Métodos */
public addDocument ( SolrInputDocument $doc , bool $overwrite = true , int $commitWithin = 0 ) : SolrUpdateResponse
public addDocuments ( array $docs , bool $overwrite = true , int $commitWithin = 0 ) : void
public commit ( bool $softCommit = false , bool $waitSearcher = true , bool $expungeDeletes = false ) : SolrUpdateResponse
public __construct ( array $clientOptions )
public deleteById ( string $id ) : SolrUpdateResponse
public deleteByIds ( array $ids ) : SolrUpdateResponse
public deleteByQueries ( array $queries ) : SolrUpdateResponse
public deleteByQuery ( string $query ) : SolrUpdateResponse
public __destruct ( ) : void
public getById ( string $id ) : SolrQueryResponse
public getByIds ( array $ids ) : SolrQueryResponse
public getDebug ( ) : string
public getOptions ( ) : array
public optimize ( int $maxSegments = 1 , bool $softCommit = true , bool $waitSearcher = true ) : SolrUpdateResponse
public ping ( ) : SolrPingResponse
public query ( SolrParams $query ) : SolrQueryResponse
public request ( string $raw_request ) : SolrUpdateResponse
public rollback ( ) : SolrUpdateResponse
public setResponseWriter ( string $responseWriter ) : void
public setServlet ( int $type , string $value ) : bool
public system ( ) : void
public threads ( ) : void
}

Constantes pré-definidas

SolrClient::SEARCH_SERVLET_TYPE

Used when updating the search servlet.

SolrClient::UPDATE_SERVLET_TYPE

Used when updating the update servlet.

SolrClient::THREADS_SERVLET_TYPE

Used when updating the threads servlet.

SolrClient::PING_SERVLET_TYPE

Used when updating the ping servlet.

SolrClient::TERMS_SERVLET_TYPE

Used when updating the terms servlet.

SolrClient::SYSTEM_SERVLET_TYPE

Used when retrieving system information from the system servlet.

SolrClient::DEFAULT_SEARCH_SERVLET

This is the initial value for the search servlet.

SolrClient::DEFAULT_UPDATE_SERVLET

This is the initial value for the update servlet.

SolrClient::DEFAULT_THREADS_SERVLET

This is the initial value for the threads servlet.

SolrClient::DEFAULT_PING_SERVLET

This is the initial value for the ping servlet.

SolrClient::DEFAULT_TERMS_SERVLET

This is the initial value for the terms servlet used for the TermsComponent

SolrClient::DEFAULT_SYSTEM_SERVLET

This is the initial value for the system servlet used to obtain Solr Server information

Índice

  • SolrClient::addDocument — Adds a document to the index
  • SolrClient::addDocuments — Adds a collection of SolrInputDocument instances to the index
  • SolrClient::commit — Finalizes all add/deletes made to the index
  • SolrClient::__construct — Constructor for the SolrClient object
  • SolrClient::deleteById — Delete by Id
  • SolrClient::deleteByIds — Deletes by Ids
  • SolrClient::deleteByQueries — Removes all documents matching any of the queries
  • SolrClient::deleteByQuery — Deletes all documents matching the given query
  • SolrClient::__destruct — Destructor for SolrClient
  • SolrClient::getById — Get Document By Id. Utilizes Solr Realtime Get (RTG)
  • SolrClient::getByIds — Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)
  • SolrClient::getDebug — Returns the debug data for the last connection attempt
  • SolrClient::getOptions — Returns the client options set internally
  • SolrClient::optimize — Defragments the index
  • SolrClient::ping — Checks if Solr server is still up
  • SolrClient::query — Sends a query to the server
  • SolrClient::request — Sends a raw update request
  • SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit
  • SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr
  • SolrClient::setServlet — Changes the specified servlet type to a new value
  • SolrClient::system — Retrieve Solr Server information
  • SolrClient::threads — Checks the threads status


Adds a document to the index

  • « SolrClient
  • SolrClient::addDocuments »
  • PHP Manual
  • SolrClient
  • Adds a document to the index

SolrClient::addDocument

(PECL solr >= 0.9.2)

SolrClient::addDocument — Adds a document to the index

Descrição

public SolrClient::addDocument ( SolrInputDocument $doc , bool $overwrite = true , int $commitWithin = 0 ) : SolrUpdateResponse

This method adds a document to the index.

Parâmetros

doc

The SolrInputDocument instance.

overwrite

Whether to overwrite existing document or not. If false there will be duplicates (several documents with the same ID).

Aviso

PECL Solr < 2.0 $allowDups was used instead of $overwrite, which does the same functionality with exact opposite bool flag.

$allowDups = false is the same as $overwrite = true

commitWithin

Number of milliseconds within which to auto commit this document. Available since Solr 1.4 . Default (0) means disabled.

When this value specified, it leaves the control of when to do the commit to Solr itself, optimizing number of commits to a minimum while still fulfilling the update latency requirements, and Solr will automatically do a commit when the oldest add in the buffer is due.

Valor Retornado

Returns a SolrUpdateResponse object or throws an Exception on failure.

Erros

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Exemplos

Exemplo #1 SolrClient::addDocument() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

// you will have to commit changes to be written if you didn't use $commitWithin
$client->commit();

print_r($updateResponse->getResponse());

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

)

Exemplo #2 SolrClient::addDocument() example 2

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

// No need to call commit() because $commitWithin is passed, so Solr Server will auto commit within 10 seconds
$updateResponse = $client->addDocument($doc, false, 10000);

print_r($updateResponse->getResponse());

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

)

Veja Também

  • SolrClient::addDocuments() - Adds a collection of SolrInputDocument instances to the index
  • SolrClient::commit() - Finalizes all add/deletes made to the index


Adds a collection of SolrInputDocument instances to the index

  • « SolrClient::addDocument
  • SolrClient::commit »
  • PHP Manual
  • SolrClient
  • Adds a collection of SolrInputDocument instances to the index

SolrClient::addDocuments

(PECL solr >= 0.9.2)

SolrClient::addDocuments — Adds a collection of SolrInputDocument instances to the index

Descrição

public SolrClient::addDocuments ( array $docs , bool $overwrite = true , int $commitWithin = 0 ) : void

Adds a collection of documents to the index.

Parâmetros

docs

An array containing the collection of SolrInputDocument instances. This array must be an actual variable.

overwrite

Whether to overwrite existing documents or not. If false there will be duplicates (several documents with the same ID).

Aviso

PECL Solr < 2.0 $allowDups was used instead of $overwrite, which does the same functionality with exact opposite bool flag.

$allowDups = false is the same as $overwrite = true

commitWithin

Number of milliseconds within which to auto commit this document. Available since Solr 1.4 . Default (0) means disabled.

When this value specified, it leaves the control of when to do the commit to Solr itself, optimizing number of commits to a minimum while still fulfilling the update latency requirements, and Solr will automatically do a commit when the oldest add in the buffer is due.

Valor Retornado

Returns a SolrUpdateResponse object or throws an exception on failure.

Erros

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Exemplos

Exemplo #1 SolrClient::addDocuments() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$doc2 = clone $doc;

$doc2->deleteField('id');
$doc2->addField('id', 334456);

$docs = array($doc, $doc2);

$updateResponse = $client->addDocuments($docs);

// no changes will be written to disk unless $commitWithin is passed or SolrClient::commit is called

print_r($updateResponse->getResponse());

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

)

Veja Também

  • SolrClient::addDocument() - Adds a document to the index
  • SolrClient::commit() - Finalizes all add/deletes made to the index


Finalizes all add/deletes made to the index

  • « SolrClient::addDocuments
  • SolrClient::__construct »
  • PHP Manual
  • SolrClient
  • Finalizes all add/deletes made to the index

SolrClient::commit

(PECL solr >= 0.9.2)

SolrClient::commit — Finalizes all add/deletes made to the index

Descrição

public SolrClient::commit ( bool $softCommit = false , bool $waitSearcher = true , bool $expungeDeletes = false ) : SolrUpdateResponse

This method finalizes all add/deletes made to the index.

Parâmetros

softCommit

This will refresh the 'view' of the index in a more performant manner, but without "on-disk" guarantees. (Solr4.0+)

A soft commit is much faster since it only makes index changes visible and does not fsync index files or write a new index descriptor. If the JVM crashes or there is a loss of power, changes that occurred after the last hard commit will be lost. Search collections that have near-real-time requirements (that want index changes to be quickly visible to searches) will want to soft commit often but hard commit less frequently.

waitSearcher

block until a new searcher is opened and registered as the main query searcher, making the changes visible.

expungeDeletes

Merge segments with deletes away. (Solr1.4+)

Valor Retornado

Returns a SolrUpdateResponse object on success or throws an exception on failure.

Erros

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Changelog

Versão | Descrição
PECL solr 1.1.0, 2.0.0 | $maxSegments removed
PECL solr 2.0.0b | API Changed: SolrClient::commit ([ int $maxSegments = 0 [, bool $softCommit = false [, bool $waitSearcher = true[, bool $expungeDeletes = false ]]] )
PECL solr 0.9.2 | Signature: SolrClient::commit ([ int $maxSegments = 1 [, bool $waitFlush = true [, bool $waitSearcher = true ]]] ). $waitFlush: Block until index changes are flushed to disk.

Notas

Aviso

PECL Solr >= 2.0 only supports Solr Server >= 4.0

Veja Também

  • SolrClient::optimize() - Defragments the index
  • SolrClient::rollback() - Rollbacks all add/deletes made to the index since the last commit


Constructor for the SolrClient object

  • « SolrClient::commit
  • SolrClient::deleteById »
  • PHP Manual
  • SolrClient
  • Constructor for the SolrClient object

SolrClient::__construct

(PECL solr >= 0.9.2)

SolrClient::__construct — Constructor for the SolrClient object

Descrição

public SolrClient::__construct ( array $clientOptions )

Constructor for the SolrClient object

Parâmetros

clientOptions

This is an array containing one of the following keys :

- secure          (Boolean value indicating whether or not to connect in secure mode)
 - hostname        (The hostname for the Solr server)
 - port            (The port number)
 - path            (The path to solr)
 - wt              (The name of the response writer e.g. xml, json)
 - login           (The username used for HTTP Authentication, if any)
 - password        (The HTTP Authentication password)
 - proxy_host      (The hostname for the proxy server, if any)
 - proxy_port      (The proxy port)
 - proxy_login     (The proxy username)
 - proxy_password  (The proxy password)
 - timeout         (This is maximum time in seconds allowed for the http data transfer operation. Default is 30 seconds)
 - ssl_cert        (File name to a PEM-formatted file containing the private key + private certificate (concatenated in that order) )
 - ssl_key         (File name to a PEM-formatted private key file only)
 - ssl_keypassword (Password for private key)
 - ssl_cainfo      (Name of file holding one or more CA certificates to verify peer with)
 - ssl_capath      (Name of directory holding multiple CA certificates to verify peer with )

 Please note the if the ssl_cert file only contains the private certificate, you have to specify a separate ssl_key file

 The ssl_keypassword option is required if the ssl_cert or ssl_key options are set.

Erros

Throws SolrIllegalArgumentException on failure.

Exemplos

Exemplo #1 SolrClient::__construct() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_PATH_TO_SOLR,
    'wt'       => 'xml',
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

?>

O exemplo acima irá imprimir algo similar à:

Veja Também

  • SolrClient::getOptions() - Returns the client options set internally


Delete by Id

  • « SolrClient::__construct
  • SolrClient::deleteByIds »
  • PHP Manual
  • SolrClient
  • Delete by Id

SolrClient::deleteById

(PECL solr >= 0.9.2)

SolrClient::deleteById — Delete by Id

Descrição

public SolrClient::deleteById ( string $id ) : SolrUpdateResponse

Deletes the document with the specified ID. Where ID is the value of the uniqueKey field declared in the schema

Parâmetros

id

The value of the uniqueKey field declared in the schema

Valor Retornado

Returns a SolrUpdateResponse on success and throws an exception on failure.

Erros

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Veja Também

  • SolrClient::deleteByIds() - Deletes by Ids
  • SolrClient::deleteByQuery() - Deletes all documents matching the given query
  • SolrClient::deleteByQueries() - Removes all documents matching any of the queries


Deletes by Ids

  • « SolrClient::deleteById
  • SolrClient::deleteByQueries »
  • PHP Manual
  • SolrClient
  • Deletes by Ids

SolrClient::deleteByIds

(PECL solr >= 0.9.2)

SolrClient::deleteByIds — Deletes by Ids

Descrição

public SolrClient::deleteByIds ( array $ids ) : SolrUpdateResponse

Deletes a collection of documents with the specified set of ids.

Parâmetros

ids

An array of IDs representing the uniqueKey field declared in the schema for each document to be deleted. This must be an actual php variable.

Valor Retornado

Returns a SolrUpdateResponse on success and throws an exception on failure.

Erros

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Veja Também

  • SolrClient::deleteById() - Delete by Id
  • SolrClient::deleteByQuery() - Deletes all documents matching the given query
  • SolrClient::deleteByQueries() - Removes all documents matching any of the queries


Removes all documents matching any of the queries

  • « SolrClient::deleteByIds
  • SolrClient::deleteByQuery »
  • PHP Manual
  • SolrClient
  • Removes all documents matching any of the queries

SolrClient::deleteByQueries

(PECL solr >= 0.9.2)

SolrClient::deleteByQueries — Removes all documents matching any of the queries

Descrição

public SolrClient::deleteByQueries ( array $queries ) : SolrUpdateResponse

Removes all documents matching any of the queries

Parâmetros

queries

The array of queries. This must be an actual php variable.

Valor Retornado

Returns a SolrUpdateResponse on success and throws a SolrClientException on failure.

Erros

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Veja Também

  • SolrClient::deleteById() - Delete by Id
  • SolrClient::deleteByIds() - Deletes by Ids
  • SolrClient::deleteByQuery() - Deletes all documents matching the given query


Deletes all documents matching the given query

  • « SolrClient::deleteByQueries
  • SolrClient::__destruct »
  • PHP Manual
  • SolrClient
  • Deletes all documents matching the given query

SolrClient::deleteByQuery

(PECL solr >= 0.9.2)

SolrClient::deleteByQuery — Deletes all documents matching the given query

Descrição

public SolrClient::deleteByQuery ( string $query ) : SolrUpdateResponse

Deletes all documents matching the given query.

Parâmetros

query

The query

Valor Retornado

Returns a SolrUpdateResponse on success and throws an exception on failure.

Erros

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Exemplos

Exemplo #1 SolrQuery::deleteByQuery() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

//This will erase the entire index
$client->deleteByQuery("*:*");
$client->commit();

?>

Veja Também

  • SolrClient::deleteById() - Delete by Id
  • SolrClient::deleteByIds() - Deletes by Ids
  • SolrClient::deleteByQueries() - Removes all documents matching any of the queries


Destructor for SolrClient

  • « SolrClient::deleteByQuery
  • SolrClient::getById »
  • PHP Manual
  • SolrClient
  • Destructor for SolrClient

SolrClient::__destruct

(PECL solr >= 0.9.2)

SolrClient::__destruct — Destructor for SolrClient

Descrição

public SolrClient::__destruct ( ) : void

Destructor

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Destructor for SolrClient

Veja Também

  • SolrClient::__construct() - Constructor for the SolrClient object


Get Document By Id. Utilizes Solr Realtime Get (RTG)

  • « SolrClient::__destruct
  • SolrClient::getByIds »
  • PHP Manual
  • SolrClient
  • Get Document By Id. Utilizes Solr Realtime Get (RTG)

SolrClient::getById

(PECL solr >= 2.2.0)

SolrClient::getById — Get Document By Id. Utilizes Solr Realtime Get (RTG)

Descrição

public SolrClient::getById ( string $id ) : SolrQueryResponse

Get Document By Id. Utilizes Solr Realtime Get (RTG).

Parâmetros

id

Document ID

Valor Retornado

SolrQueryResponse

Exemplos

Exemplo #1 SolrClient::getById() example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$response = $client->getById('GB18030TEST');
print_r($response->getResponse());

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [doc] => SolrObject Object
        (
            [id] => GB18030TEST
            [name] => Array
                (
                    [0] => Test with some GB18030 encoded characters
                )

            [features] => Array
                (
                    [0] => No accents here
                    [1] => ??????
                    [2] => This is a feature (translated)
                    [3] => ?????????
                    [4] => This document is very shiny (translated)
                )

            [price] => Array
                (
                    [0] => 0
                )

            [inStock] => Array
                (
                    [0] => 1
                )

            [_version_] => 1510294336239042560
        )

)

Veja Também

  • SolrClient::getByIds() - Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)


Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)

  • « SolrClient::getById
  • SolrClient::getDebug »
  • PHP Manual
  • SolrClient
  • Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)

SolrClient::getByIds

(PECL solr >= 2.2.0)

SolrClient::getByIds — Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)

Descrição

public SolrClient::getByIds ( array $ids ) : SolrQueryResponse

Get Documents by their Ids. Utilizes Solr Realtime Get (RTG).

Parâmetros

ids

Document ids

Valor Retornado

SolrQueryResponse

Exemplos

Exemplo #1 SolrClient::getByIds() example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$response = $client->getByIds(['GB18030TEST', '6H500F0']);

print_r($response->getResponse());

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [response] => SolrObject Object
        (
            [numFound] => 2
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [id] => GB18030TEST
                            [name] => Array
                                (
                                    [0] => Test with some GB18030 encoded characters
                                )

                            [features] => Array
                                (
                                    [0] => No accents here
                                    [1] => ??????
                                    [2] => This is a feature (translated)
                                    [3] => ?????????
                                    [4] => This document is very shiny (translated)
                                )

                            [price] => Array
                                (
                                    [0] => 0
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [_version_] => 1510294336239042560
                        )

                    [1] => SolrObject Object
                        (
                            [id] => 6H500F0
                            [name] => Array
                                (
                                    [0] => Maxtor DiamondMax 11 - hard drive - 500 GB - SATA-300
                                )

                            [manu] => Array
                                (
                                    [0] => Maxtor Corp.
                                )

                            [manu_id_s] => maxtor
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => SATA 3.0Gb/s, NCQ
                                    [1] => 8.5ms seek
                                    [2] => 16MB cache
                                )

                            [price] => Array
                                (
                                    [0] => 350
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 45.17614,-93.87341
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [_version_] => 1510294336449806336
                        )

                )

        )

)

Veja Também

  • SolrClient::getById() - Get Document By Id. Utilizes Solr Realtime Get (RTG)


Returns the debug data for the last connection attempt

  • « SolrClient::getByIds
  • SolrClient::getOptions »
  • PHP Manual
  • SolrClient
  • Returns the debug data for the last connection attempt

SolrClient::getDebug

(PECL solr >= 0.9.7)

SolrClient::getDebug — Returns the debug data for the last connection attempt

Descrição

public SolrClient::getDebug ( ) : string

Returns the debug data for the last connection attempt

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string on success and null if there is nothing to return.


Returns the client options set internally

  • « SolrClient::getDebug
  • SolrClient::optimize »
  • PHP Manual
  • SolrClient
  • Returns the client options set internally

SolrClient::getOptions

(PECL solr >= 0.9.6)

SolrClient::getOptions — Returns the client options set internally

Descrição

public SolrClient::getOptions ( ) : array

Returns the client options set internally. Very useful for debugging. The values returned are readonly and can only be set when the object is instantiated.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array containing all the options for the SolrClient object set internally.

Veja Também

  • SolrClient::__construct() - Constructor for the SolrClient object


Defragments the index

  • « SolrClient::getOptions
  • SolrClient::ping »
  • PHP Manual
  • SolrClient
  • Defragments the index

SolrClient::optimize

(PECL solr >= 0.9.2)

SolrClient::optimize — Defragments the index

Descrição

public SolrClient::optimize ( int $maxSegments = 1 , bool $softCommit = true , bool $waitSearcher = true ) : SolrUpdateResponse

Defragments the index for faster search performance.

Parâmetros

maxSegments

Optimizes down to at most this number of segments. Since Solr 1.3

softCommit

This will refresh the 'view' of the index in a more performant manner, but without "on-disk" guarantees. (Solr4.0+)

waitSearcher

Block until a new searcher is opened and registered as the main query searcher, making the changes visible.

Valor Retornado

Returns a SolrUpdateResponse on success or throws an exception on failure.

Erros

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Notas

Aviso

PECL Solr >= 2.0 only supports Solr Server >= 4.0

Prior to PECL Solr 2.0 this method used to accept these arguments "int $maxSegments, bool $waitFlush, bool $waitSearcher".

Veja Também

  • SolrClient::commit() - Finalizes all add/deletes made to the index
  • SolrClient::rollback() - Rollbacks all add/deletes made to the index since the last commit


Checks if Solr server is still up

  • « SolrClient::optimize
  • SolrClient::query »
  • PHP Manual
  • SolrClient
  • Checks if Solr server is still up

SolrClient::ping

(PECL solr >= 0.9.2)

SolrClient::ping — Checks if Solr server is still up

Descrição

public SolrClient::ping ( ) : SolrPingResponse

Checks if the Solr server is still alive. Sends a HEAD request to the Apache Solr server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a SolrPingResponse object on success and throws an exception on failure.

Erros

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to satisfy the request.

Exemplos

Exemplo #1 SolrClient::ping() example

<?php
$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$pingresponse = $client->ping();

?>

O exemplo acima irá imprimir algo similar à:


Sends a query to the server

  • « SolrClient::ping
  • SolrClient::request »
  • PHP Manual
  • SolrClient
  • Sends a query to the server

SolrClient::query

(PECL solr >= 0.9.2)

SolrClient::query — Sends a query to the server

Descrição

public SolrClient::query ( SolrParams $query ) : SolrQueryResponse

Sends a query to the server.

Parâmetros

query

A SolrParams object. It is recommended to use SolrQuery for advanced queries.

Valor Retornado

Returns a SolrQueryResponse object on success and throws an exception on failure.

Erros

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to satisfy the query.

Exemplos

Exemplo #1 SolrClient::query() example

<?php

$options = array
(
    'hostname' => 'localhost',
    'login'    => 'username',
    'password' => 'password',
    'port'     => '8983',
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response);

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 3
            [params] => SolrObject Object
                (
                    [fl] => cat,features,id,timestamp
                    [indent] => on
                    [start] => 0
                    [q] => lucene
                    [wt] => xml
                    [version] => 2.2
                    [rows] => 50
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 1
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [id] => SOLR1000
                            [cat] => Array
                                (
                                    [0] => software
                                    [1] => search
                                )

                            [features] => Array
                                (
                                    [0] => Advanced Full-Text Search Capabilities using Lucene
                                    [1] => Optimized for High Volume Web Traffic
                                    [2] => Standards Based Open Interfaces - XML and HTTP
                                    [3] => Comprehensive HTML Administration Interfaces
                                    [4] => Scalability - Efficient Replication to other Solr Search Servers
                                    [5] => Flexible and Adaptable with XML configuration and Schema
                                    [6] => Good unicode support: héllo (hello with an accent over the e)
                                )

                        )

                )

        )

)


Sends a raw update request

  • « SolrClient::query
  • SolrClient::rollback »
  • PHP Manual
  • SolrClient
  • Sends a raw update request

SolrClient::request

(PECL solr >= 0.9.2)

SolrClient::request — Sends a raw update request

Descrição

public SolrClient::request ( string $raw_request ) : SolrUpdateResponse

Sends a raw XML update request to the server

Parâmetros

raw_request

An XML string with the raw request to the server.

Valor Retornado

Returns a SolrUpdateResponse on success. Throws an exception on failure.

Erros

Throws SolrIllegalArgumentException if raw_request was an empty string

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to satisfy the query.

Exemplos

Exemplo #1 SolrClient::request() example

<?php
$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$update_response = $client->request("<commit/>");

$response = $update_response->getResponse();

print_r($response);
?>

O exemplo acima irá imprimir algo similar à:

...


Rollbacks all add/deletes made to the index since the last commit

  • « SolrClient::request
  • SolrClient::setResponseWriter »
  • PHP Manual
  • SolrClient
  • Rollbacks all add/deletes made to the index since the last commit

SolrClient::rollback

(PECL solr >= 0.9.2)

SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit

Descrição

public SolrClient::rollback ( ) : SolrUpdateResponse

Rollbacks all add/deletes made to the index since the last commit. It neither calls any event listeners nor creates a new searcher.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a SolrUpdateResponse on success or throws a SolrClientException on failure.

Veja Também

  • SolrClient::commit() - Finalizes all add/deletes made to the index
  • SolrClient::optimize() - Defragments the index


Sets the response writer used to prepare the response from Solr

  • « SolrClient::rollback
  • SolrClient::setServlet »
  • PHP Manual
  • SolrClient
  • Sets the response writer used to prepare the response from Solr

SolrClient::setResponseWriter

(PECL solr >= 0.9.11)

SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr

Descrição

public SolrClient::setResponseWriter ( string $responseWriter ) : void

Sets the response writer used to prepare the response from Solr

Parâmetros

responseWriter

One of the following:

  • json
  • phps
  • xml

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SolrClient::setResponseWriter() example

<?php

// This is my custom class for objects
class SolrClass
{
   public $_properties = array();

   public function __get($property_name) {

      if (property_exists($this, $property_name)) {

          return $this->$property_name;

      } else if (isset($_properties[$property_name])) {

          return $_properties[$property_name];
      }

      return null;
   }
}

$options = array
(
  'hostname' => 'localhost',
  'port' => 8983,
  'path' => '/solr/core1'
);

$client = new SolrClient($options);

$client->setResponseWriter("json");

//$response = $client->ping();

$query = new SolrQuery();

$query->setQuery("*:*");

$query->set("objectClassName", "SolrClass");

$query->set("objectPropertiesStorageMode", 1); // 0 for independent properties, 1 for combined

try
{

$response = $client->query($query);

$resp = $response->getResponse();

print_r($response);

print_r($resp);

} catch (Exception $e) {

print_r($e);

}

?>


Changes the specified servlet type to a new value

  • « SolrClient::setResponseWriter
  • SolrClient::system »
  • PHP Manual
  • SolrClient
  • Changes the specified servlet type to a new value

SolrClient::setServlet

(PECL solr >= 0.9.2)

SolrClient::setServlet — Changes the specified servlet type to a new value

Descrição

public SolrClient::setServlet ( int $type , string $value ) : bool

Changes the specified servlet type to a new value

Parâmetros

type

One of the following :

- SolrClient::SEARCH_SERVLET_TYPE
 - SolrClient::UPDATE_SERVLET_TYPE
 - SolrClient::THREADS_SERVLET_TYPE
 - SolrClient::PING_SERVLET_TYPE
 - SolrClient::TERMS_SERVLET_TYPE

value

The new value for the servlet

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Retrieve Solr Server information

  • « SolrClient::setServlet
  • SolrClient::threads »
  • PHP Manual
  • SolrClient
  • Retrieve Solr Server information

SolrClient::system

(PECL solr >= 2.0.0)

SolrClient::system — Retrieve Solr Server information

Descrição

public SolrClient::system ( ) : void

Retrieve Solr Server information

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a SolrGenericResponse object on success.

Erros

Emits SolrClientException if the client failed, or there was a connection issue.

Emits SolrServerException if the Solr Server failed to satisfy the query.


Checks the threads status

  • « SolrClient::system
  • SolrResponse »
  • PHP Manual
  • SolrClient
  • Checks the threads status

SolrClient::threads

(PECL solr >= 0.9.2)

SolrClient::threads — Checks the threads status

Descrição

public SolrClient::threads ( ) : void

Checks the threads status

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a SolrGenericResponse object.

Erros

Throws SolrClientException if the client failed, or there was a connection issue.

throws SolrServerException if the Solr Server failed to process the request.


The SolrResponse class

(PECL solr >= 0.9.2)

Introdução

Represents a response from the Solr server.

Sinopse da classe

abstract SolrResponse {
/* Constantes */
const int PARSE_SOLR_OBJ = 0 ;
const int PARSE_SOLR_DOC = 1 ;
/* Propriedades */
protected int $http_status ;
protected int $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Métodos */
public getDigestedResponse ( ) : string
public getHttpStatus ( ) : int
public getHttpStatusMessage ( ) : string
public getRawRequest ( ) : string
public getRawRequestHeaders ( ) : string
public getRawResponse ( ) : string
public getRawResponseHeaders ( ) : string
public getRequestUrl ( ) : string
public getResponse ( ) : SolrObject
public setParseMode ( int $parser_mode = 0 ) : bool
public success ( ) : bool
}

Propriedades

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request.

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server.

http_raw_response

The response message from the server.

http_digested_response

The response in PHP serialized format.

Constantes pré-definidas

SolrResponse Class Constants

SolrResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Índice

  • SolrResponse::getDigestedResponse — Returns the XML response as serialized PHP data
  • SolrResponse::getHttpStatus — Returns the HTTP status of the response
  • SolrResponse::getHttpStatusMessage — Returns more details on the HTTP status
  • SolrResponse::getRawRequest — Returns the raw request sent to the Solr server
  • SolrResponse::getRawRequestHeaders — Returns the raw request headers sent to the Solr server
  • SolrResponse::getRawResponse — Returns the raw response from the server
  • SolrResponse::getRawResponseHeaders — Returns the raw response headers from the server
  • SolrResponse::getRequestUrl — Returns the full URL the request was sent to
  • SolrResponse::getResponse — Returns a SolrObject representing the XML response from the server
  • SolrResponse::setParseMode — Sets the parse mode
  • SolrResponse::success — Was the request a success


Returns the XML response as serialized PHP data

  • « SolrResponse
  • SolrResponse::getHttpStatus »
  • PHP Manual
  • SolrResponse
  • Returns the XML response as serialized PHP data

SolrResponse::getDigestedResponse

(PECL solr >= 0.9.2)

SolrResponse::getDigestedResponse — Returns the XML response as serialized PHP data

Descrição

public SolrResponse::getDigestedResponse ( ) : string

Returns the XML response as serialized PHP data

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the XML response as serialized PHP data


Returns the HTTP status of the response

  • « SolrResponse::getDigestedResponse
  • SolrResponse::getHttpStatusMessage »
  • PHP Manual
  • SolrResponse
  • Returns the HTTP status of the response

SolrResponse::getHttpStatus

(PECL solr >= 0.9.2)

SolrResponse::getHttpStatus — Returns the HTTP status of the response

Descrição

public SolrResponse::getHttpStatus ( ) : int

Returns the HTTP status of the response.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the HTTP status of the response.


Returns more details on the HTTP status

  • « SolrResponse::getHttpStatus
  • SolrResponse::getRawRequest »
  • PHP Manual
  • SolrResponse
  • Returns more details on the HTTP status

SolrResponse::getHttpStatusMessage

(PECL solr >= 0.9.2)

SolrResponse::getHttpStatusMessage — Returns more details on the HTTP status

Descrição

public SolrResponse::getHttpStatusMessage ( ) : string

Returns more details on the HTTP status.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns more details on the HTTP status


Returns the raw request sent to the Solr server

  • « SolrResponse::getHttpStatusMessage
  • SolrResponse::getRawRequestHeaders »
  • PHP Manual
  • SolrResponse
  • Returns the raw request sent to the Solr server

SolrResponse::getRawRequest

(PECL solr >= 0.9.2)

SolrResponse::getRawRequest — Returns the raw request sent to the Solr server

Descrição

public SolrResponse::getRawRequest ( ) : string

Returns the raw request sent to the Solr server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the raw request sent to the Solr server


Returns the raw request headers sent to the Solr server

  • « SolrResponse::getRawRequest
  • SolrResponse::getRawResponse »
  • PHP Manual
  • SolrResponse
  • Returns the raw request headers sent to the Solr server

SolrResponse::getRawRequestHeaders

(PECL solr >= 0.9.2)

SolrResponse::getRawRequestHeaders — Returns the raw request headers sent to the Solr server

Descrição

public SolrResponse::getRawRequestHeaders ( ) : string

Returns the raw request headers sent to the Solr server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the raw request headers sent to the Solr server


Returns the raw response from the server

  • « SolrResponse::getRawRequestHeaders
  • SolrResponse::getRawResponseHeaders »
  • PHP Manual
  • SolrResponse
  • Returns the raw response from the server

SolrResponse::getRawResponse

(PECL solr >= 0.9.2)

SolrResponse::getRawResponse — Returns the raw response from the server

Descrição

public SolrResponse::getRawResponse ( ) : string

Returns the raw response from the server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the raw response from the server.


Returns the raw response headers from the server

  • « SolrResponse::getRawResponse
  • SolrResponse::getRequestUrl »
  • PHP Manual
  • SolrResponse
  • Returns the raw response headers from the server

SolrResponse::getRawResponseHeaders

(PECL solr >= 0.9.2)

SolrResponse::getRawResponseHeaders — Returns the raw response headers from the server

Descrição

public SolrResponse::getRawResponseHeaders ( ) : string

Returns the raw response headers from the server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the raw response headers from the server.


Returns the full URL the request was sent to

  • « SolrResponse::getRawResponseHeaders
  • SolrResponse::getResponse »
  • PHP Manual
  • SolrResponse
  • Returns the full URL the request was sent to

SolrResponse::getRequestUrl

(PECL solr >= 0.9.2)

SolrResponse::getRequestUrl — Returns the full URL the request was sent to

Descrição

public SolrResponse::getRequestUrl ( ) : string

Returns the full URL the request was sent to.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the full URL the request was sent to


Returns a SolrObject representing the XML response from the server

  • « SolrResponse::getRequestUrl
  • SolrResponse::setParseMode »
  • PHP Manual
  • SolrResponse
  • Returns a SolrObject representing the XML response from the server

SolrResponse::getResponse

(PECL solr >= 0.9.2)

SolrResponse::getResponse — Returns a SolrObject representing the XML response from the server

Descrição

public SolrResponse::getResponse ( ) : SolrObject

Returns a SolrObject representing the XML response from the server.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a SolrObject representing the XML response from the server


Sets the parse mode

  • « SolrResponse::getResponse
  • SolrResponse::success »
  • PHP Manual
  • SolrResponse
  • Sets the parse mode

SolrResponse::setParseMode

(PECL solr >= 0.9.2)

SolrResponse::setParseMode — Sets the parse mode

Descrição

public SolrResponse::setParseMode ( int $parser_mode = 0 ) : bool

Sets the parse mode.

Parâmetros

parser_mode

SolrResponse::PARSE_SOLR_DOC parses documents in SolrDocument instances. SolrResponse::PARSE_SOLR_OBJ parses document into SolrObjects.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Was the request a success

  • « SolrResponse::setParseMode
  • SolrQueryResponse »
  • PHP Manual
  • SolrResponse
  • Was the request a success

SolrResponse::success

(PECL solr >= 0.9.2)

SolrResponse::success — Was the request a success

Descrição

public SolrResponse::success ( ) : bool

Used to check if the request to the server was successful.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if it was successful and false if it was not.


The SolrQueryResponse class

(PECL solr >= 0.9.2)

Introdução

Represents a response to a query request.

Sinopse da classe

final SolrQueryResponse extends SolrResponse {
/* Constantes */
const int PARSE_SOLR_OBJ = 0 ;
const int PARSE_SOLR_DOC = 1 ;
/* Propriedades herdadas */
const int SolrResponse::PARSE_SOLR_OBJ = 0 ;
const int SolrResponse::PARSE_SOLR_DOC = 1 ;
protected int $http_status ;
protected int $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Métodos */
public __construct ( )
public __destruct ( ) : void
/* Métodos herdados */
public SolrResponse::getDigestedResponse ( ) : string
public SolrResponse::getHttpStatus ( ) : int
public SolrResponse::getHttpStatusMessage ( ) : string
public SolrResponse::getRawRequest ( ) : string
public SolrResponse::getRawRequestHeaders ( ) : string
public SolrResponse::getRawResponse ( ) : string
public SolrResponse::getRawResponseHeaders ( ) : string
public SolrResponse::getRequestUrl ( ) : string
public SolrResponse::getResponse ( ) : SolrObject
public SolrResponse::setParseMode ( int $parser_mode = 0 ) : bool
public SolrResponse::success ( ) : bool
}

Constantes pré-definidas

SolrQueryResponse Class constants

SolrQueryResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrQueryResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Índice

  • SolrQueryResponse::__construct — Constructor
  • SolrQueryResponse::__destruct — Destructor


Constructor

  • « SolrQueryResponse
  • SolrQueryResponse::__destruct »
  • PHP Manual
  • SolrQueryResponse
  • Constructor

SolrQueryResponse::__construct

(PECL solr >= 0.9.2)

SolrQueryResponse::__construct — Constructor

Descrição

public SolrQueryResponse::__construct ( )

Constructor

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None


Destructor

  • « SolrQueryResponse::__construct
  • SolrUpdateResponse »
  • PHP Manual
  • SolrQueryResponse
  • Destructor

SolrQueryResponse::__destruct

(PECL solr >= 0.9.2)

SolrQueryResponse::__destruct — Destructor

Descrição

public SolrQueryResponse::__destruct ( ) : void

Destructor.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None


The SolrUpdateResponse class

(PECL solr >= 0.9.2)

Introdução

Represents a response to an update request.

Sinopse da classe

final SolrUpdateResponse extends SolrResponse {
/* Constantes */
const int PARSE_SOLR_OBJ = 0 ;
const int PARSE_SOLR_DOC = 1 ;
/* Propriedades herdadas */
const int SolrResponse::PARSE_SOLR_OBJ = 0 ;
const int SolrResponse::PARSE_SOLR_DOC = 1 ;
protected int $http_status ;
protected int $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Métodos */
public __construct ( )
public __destruct ( ) : void
/* Métodos herdados */
public SolrResponse::getDigestedResponse ( ) : string
public SolrResponse::getHttpStatus ( ) : int
public SolrResponse::getHttpStatusMessage ( ) : string
public SolrResponse::getRawRequest ( ) : string
public SolrResponse::getRawRequestHeaders ( ) : string
public SolrResponse::getRawResponse ( ) : string
public SolrResponse::getRawResponseHeaders ( ) : string
public SolrResponse::getRequestUrl ( ) : string
public SolrResponse::getResponse ( ) : SolrObject
public SolrResponse::setParseMode ( int $parser_mode = 0 ) : bool
public SolrResponse::success ( ) : bool
}

Constantes pré-definidas

SolrUpdateResponse Class Constants

SolrUpdateResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrUpdateResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Índice

  • SolrUpdateResponse::__construct — Constructor
  • SolrUpdateResponse::__destruct — Destructor


Constructor

  • « SolrUpdateResponse
  • SolrUpdateResponse::__destruct »
  • PHP Manual
  • SolrUpdateResponse
  • Constructor

SolrUpdateResponse::__construct

(PECL solr >= 0.9.2)

SolrUpdateResponse::__construct — Constructor

Descrição

public SolrUpdateResponse::__construct ( )

Constructor

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None


Destructor

  • « SolrUpdateResponse::__construct
  • SolrPingResponse »
  • PHP Manual
  • SolrUpdateResponse
  • Destructor

SolrUpdateResponse::__destruct

(PECL solr >= 0.9.2)

SolrUpdateResponse::__destruct — Destructor

Descrição

public SolrUpdateResponse::__destruct ( ) : void

Destructor

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None


The SolrPingResponse class

(PECL solr >= 0.9.2)

Introdução

Represents a response to a ping request to the server

Sinopse da classe

final SolrPingResponse extends SolrResponse {
/* Constantes */
const int PARSE_SOLR_OBJ = 0 ;
const int PARSE_SOLR_DOC = 1 ;
/* Propriedades */
/* Métodos */
public __construct ( )
public __destruct ( ) : void
public getResponse ( ) : string
/* Métodos herdados */
public SolrResponse::getDigestedResponse ( ) : string
public SolrResponse::getHttpStatus ( ) : int
public SolrResponse::getHttpStatusMessage ( ) : string
public SolrResponse::getRawRequest ( ) : string
public SolrResponse::getRawRequestHeaders ( ) : string
public SolrResponse::getRawResponse ( ) : string
public SolrResponse::getRawResponseHeaders ( ) : string
public SolrResponse::getRequestUrl ( ) : string
public SolrResponse::getResponse ( ) : SolrObject
public SolrResponse::setParseMode ( int $parser_mode = 0 ) : bool
public SolrResponse::success ( ) : bool
}

Propriedades

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server

http_raw_response

The response message from the server

http_digested_response

The response in PHP serialized format.

Constantes pré-definidas

SolrPingResponse Class Constants

SolrPingResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrPingResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Índice

  • SolrPingResponse::__construct — Constructor
  • SolrPingResponse::__destruct — Destructor
  • SolrPingResponse::getResponse — Returns the response from the server


Constructor

  • « SolrPingResponse
  • SolrPingResponse::__destruct »
  • PHP Manual
  • SolrPingResponse
  • Constructor

SolrPingResponse::__construct

(PECL solr >= 0.9.2)

SolrPingResponse::__construct — Constructor

Descrição

public SolrPingResponse::__construct ( )

Constructor

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None


Destructor

  • « SolrPingResponse::__construct
  • SolrPingResponse::getResponse »
  • PHP Manual
  • SolrPingResponse
  • Destructor

SolrPingResponse::__destruct

(PECL solr >= 0.9.2)

SolrPingResponse::__destruct — Destructor

Descrição

public SolrPingResponse::__destruct ( ) : void

Destructor

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None


Returns the response from the server

  • « SolrPingResponse::__destruct
  • SolrGenericResponse »
  • PHP Manual
  • SolrPingResponse
  • Returns the response from the server

SolrPingResponse::getResponse

(PECL solr >= 0.9.2)

SolrPingResponse::getResponse — Returns the response from the server

Descrição

public SolrPingResponse::getResponse ( ) : string

Returns the response from the server. This should be empty because the request as a HEAD request.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an empty string.


The SolrGenericResponse class

(PECL solr >= 0.9.2)

Introdução

Represents a response from the solr server.

Sinopse da classe

final SolrGenericResponse extends SolrResponse {
/* Constantes */
const int PARSE_SOLR_OBJ = 0 ;
const int PARSE_SOLR_DOC = 1 ;
/* Propriedades herdadas */
const int SolrResponse::PARSE_SOLR_OBJ = 0 ;
const int SolrResponse::PARSE_SOLR_DOC = 1 ;
protected int $http_status ;
protected int $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Métodos */
public __construct ( )
public __destruct ( ) : void
/* Métodos herdados */
public SolrResponse::getDigestedResponse ( ) : string
public SolrResponse::getHttpStatus ( ) : int
public SolrResponse::getHttpStatusMessage ( ) : string
public SolrResponse::getRawRequest ( ) : string
public SolrResponse::getRawRequestHeaders ( ) : string
public SolrResponse::getRawResponse ( ) : string
public SolrResponse::getRawResponseHeaders ( ) : string
public SolrResponse::getRequestUrl ( ) : string
public SolrResponse::getResponse ( ) : SolrObject
public SolrResponse::setParseMode ( int $parser_mode = 0 ) : bool
public SolrResponse::success ( ) : bool
}

Constantes pré-definidas

SolrGenericResponse Class constants

SolrGenericResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrGenericResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Índice

  • SolrGenericResponse::__construct — Constructor
  • SolrGenericResponse::__destruct — Destructor


Constructor

  • « SolrGenericResponse
  • SolrGenericResponse::__destruct »
  • PHP Manual
  • SolrGenericResponse
  • Constructor

SolrGenericResponse::__construct

(PECL solr >= 0.9.2)

SolrGenericResponse::__construct — Constructor

Descrição

public SolrGenericResponse::__construct ( )

Constructor

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None


Destructor

  • « SolrGenericResponse::__construct
  • SolrParams »
  • PHP Manual
  • SolrGenericResponse
  • Destructor

SolrGenericResponse::__destruct

(PECL solr >= 0.9.2)

SolrGenericResponse::__destruct — Destructor

Descrição

public SolrGenericResponse::__destruct ( ) : void

Destructor.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None


The SolrParams class

(PECL solr >= 0.9.2)

Introdução

Represents a collection of name-value pairs sent to the Solr server during a request.

Sinopse da classe

abstract SolrParams implements Serializable {
/* Métodos */
final public add ( string $name , string $value ) : SolrParams
public addParam ( string $name , string $value ) : SolrParams
final public get ( string $param_name ) : mixed
final public getParam ( string $param_name = ? ) : mixed
final public getParams ( ) : array
final public getPreparedParams ( ) : array
final public serialize ( ) : string
final public set ( string $name , string $value ) : void
public setParam ( string $name , string $value ) : SolrParams
final public toString ( bool $url_encode = false ) : string
final public unserialize ( string $serialized ) : void
}

Índice

  • SolrParams::add — This is an alias for SolrParams::addParam
  • SolrParams::addParam — Adds a parameter to the object
  • SolrParams::get — This is an alias for SolrParams::getParam
  • SolrParams::getParam — Returns a parameter value
  • SolrParams::getParams — Returns an array of non URL-encoded parameters
  • SolrParams::getPreparedParams — Returns an array of URL-encoded parameters
  • SolrParams::serialize — Used for custom serialization
  • SolrParams::set — An alias of SolrParams::setParam
  • SolrParams::setParam — Sets the parameter to the specified value
  • SolrParams::toString — Returns all the name-value pair parameters in the object
  • SolrParams::unserialize — Used for custom serialization


This is an alias for SolrParams::addParam

  • « SolrParams
  • SolrParams::addParam »
  • PHP Manual
  • SolrParams
  • This is an alias for SolrParams::addParam

SolrParams::add

(PECL solr >= 0.9.2)

SolrParams::add — This is an alias for SolrParams::addParam

Descrição

final public SolrParams::add ( string $name , string $value ) : SolrParams

This is an alias for SolrParams::addParam

Parâmetros

name

The name of the parameter

value

The value of the parameter

Valor Retornado

Returns a SolrParams instance on success


Adds a parameter to the object

  • « SolrParams::add
  • SolrParams::get »
  • PHP Manual
  • SolrParams
  • Adds a parameter to the object

SolrParams::addParam

(PECL solr >= 0.9.2)

SolrParams::addParam — Adds a parameter to the object

Descrição

public SolrParams::addParam ( string $name , string $value ) : SolrParams

Adds a parameter to the object. This is used for parameters that can be specified multiple times.

Parâmetros

name

Name of parameter

value

Value of parameter

Valor Retornado

Returns a SolrParam object on success and false on failure.


This is an alias for SolrParams::getParam

  • « SolrParams::addParam
  • SolrParams::getParam »
  • PHP Manual
  • SolrParams
  • This is an alias for SolrParams::getParam

SolrParams::get

(PECL solr >= 0.9.2)

SolrParams::get — This is an alias for SolrParams::getParam

Descrição

final public SolrParams::get ( string $param_name ) : mixed

This is an alias for SolrParams::getParam

Parâmetros

param_name

Then name of the parameter

Valor Retornado

Returns an array or string depending on the type of parameter


Returns a parameter value

  • « SolrParams::get
  • SolrParams::getParams »
  • PHP Manual
  • SolrParams
  • Returns a parameter value

SolrParams::getParam

(PECL solr >= 0.9.2)

SolrParams::getParam — Returns a parameter value

Descrição

final public SolrParams::getParam ( string $param_name = ? ) : mixed

Returns a parameter with name param_name

Parâmetros

param_name

The name of the parameter

Valor Retornado

Returns a string or an array depending on the type of the parameter


Returns an array of non URL-encoded parameters

  • « SolrParams::getParam
  • SolrParams::getPreparedParams »
  • PHP Manual
  • SolrParams
  • Returns an array of non URL-encoded parameters

SolrParams::getParams

(PECL solr >= 0.9.2)

SolrParams::getParams — Returns an array of non URL-encoded parameters

Descrição

final public SolrParams::getParams ( ) : array

Returns an array of non URL-encoded parameters

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array of non URL-encoded parameters


Returns an array of URL-encoded parameters

  • « SolrParams::getParams
  • SolrParams::serialize »
  • PHP Manual
  • SolrParams
  • Returns an array of URL-encoded parameters

SolrParams::getPreparedParams

(PECL solr >= 0.9.2)

SolrParams::getPreparedParams — Returns an array of URL-encoded parameters

Descrição

final public SolrParams::getPreparedParams ( ) : array

Returns an array on URL-encoded parameters

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array on URL-encoded parameters


Used for custom serialization

  • « SolrParams::getPreparedParams
  • SolrParams::set »
  • PHP Manual
  • SolrParams
  • Used for custom serialization

SolrParams::serialize

(PECL solr >= 0.9.2)

SolrParams::serialize — Used for custom serialization

Descrição

final public SolrParams::serialize ( ) : string

Used for custom serialization

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Used for custom serialization


An alias of SolrParams::setParam

  • « SolrParams::serialize
  • SolrParams::setParam »
  • PHP Manual
  • SolrParams
  • An alias of SolrParams::setParam

SolrParams::set

(PECL solr >= 0.9.2)

SolrParams::set — An alias of SolrParams::setParam

Descrição

final public SolrParams::set ( string $name , string $value ) : void

An alias of SolrParams::setParam

Parâmetros

name

Then name of the parameter

value

The parameter value

Valor Retornado

Returns an instance of the SolrParams object on success


Sets the parameter to the specified value

  • « SolrParams::set
  • SolrParams::toString »
  • PHP Manual
  • SolrParams
  • Sets the parameter to the specified value

SolrParams::setParam

(PECL solr >= 0.9.2)

SolrParams::setParam — Sets the parameter to the specified value

Descrição

public SolrParams::setParam ( string $name , string $value ) : SolrParams

Sets the query parameter to the specified value. This is used for parameters that can only be specified once. Subsequent calls with the same parameter name will override the existing value

Parâmetros

name

Name of the parameter

value

Value of the parameter

Valor Retornado

Returns a SolrParam object on success and false on value.

Exemplos

Exemplo #1 SolrParams::setParam() example

<?php

$param = new SolrParams();

$param->setParam('q', 'solr')->setParam('rows', 2);

?>

O exemplo acima irá imprimir algo similar à:


Returns all the name-value pair parameters in the object

  • « SolrParams::setParam
  • SolrParams::unserialize »
  • PHP Manual
  • SolrParams
  • Returns all the name-value pair parameters in the object

SolrParams::toString

(PECL solr >= 0.9.2)

SolrParams::toString — Returns all the name-value pair parameters in the object

Descrição

final public SolrParams::toString ( bool $url_encode = false ) : string

Returns all the name-value pair parameters in the object

Parâmetros

url_encode

Whether to return URL-encoded values

Valor Retornado

Returns a string on success and false on failure.


Used for custom serialization

  • « SolrParams::toString
  • SolrModifiableParams »
  • PHP Manual
  • SolrParams
  • Used for custom serialization

SolrParams::unserialize

(PECL solr >= 0.9.2)

SolrParams::unserialize — Used for custom serialization

Descrição

final public SolrParams::unserialize ( string $serialized ) : void

Used for custom serialization

Parâmetros

serialized

The serialized representation of the object

Valor Retornado

None


The SolrModifiableParams class

(PECL solr >= 0.9.2)

Introdução

Represents a collection of name-value pairs sent to the Solr server during a request.

Sinopse da classe

SolrModifiableParams extends SolrParams implements Serializable {
/* Métodos */
public __construct ( )
public __destruct ( ) : void
/* Métodos herdados */
final public SolrParams::add ( string $name , string $value ) : SolrParams
public SolrParams::addParam ( string $name , string $value ) : SolrParams
final public SolrParams::get ( string $param_name ) : mixed
final public SolrParams::getParam ( string $param_name = ? ) : mixed
final public SolrParams::getParams ( ) : array
final public SolrParams::getPreparedParams ( ) : array
final public SolrParams::serialize ( ) : string
final public SolrParams::set ( string $name , string $value ) : void
public SolrParams::setParam ( string $name , string $value ) : SolrParams
final public SolrParams::toString ( bool $url_encode = false ) : string
final public SolrParams::unserialize ( string $serialized ) : void
}

Índice

  • SolrModifiableParams::__construct — Constructor
  • SolrModifiableParams::__destruct — Destructor


Constructor

  • « SolrModifiableParams
  • SolrModifiableParams::__destruct »
  • PHP Manual
  • SolrModifiableParams
  • Constructor

SolrModifiableParams::__construct

(PECL solr >= 0.9.2)

SolrModifiableParams::__construct — Constructor

Descrição

public SolrModifiableParams::__construct ( )

Constructor

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None


Destructor

  • « SolrModifiableParams::__construct
  • SolrQuery »
  • PHP Manual
  • SolrModifiableParams
  • Destructor

SolrModifiableParams::__destruct

(PECL solr >= 0.9.2)

SolrModifiableParams::__destruct — Destructor

Descrição

public SolrModifiableParams::__destruct ( ) : void

Destructor

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None


The SolrQuery class

(PECL solr >= 0.9.2)

Introdução

Represents a collection of name-value pairs sent to the Solr server during a request.

Sinopse da classe

SolrQuery extends SolrModifiableParams implements Serializable {
/* Constantes */
const int ORDER_ASC = 0 ;
const int ORDER_DESC = 1 ;
const int FACET_SORT_INDEX = 0 ;
const int FACET_SORT_COUNT = 1 ;
const int TERMS_SORT_INDEX = 0 ;
const int TERMS_SORT_COUNT = 1 ;
/* Propriedades */
/* Métodos */
public addExpandFilterQuery ( string $fq ) : SolrQuery
public addExpandSortField ( string $field , string $order = ? ) : SolrQuery
public addFacetDateField ( string $dateField ) : SolrQuery
public addFacetDateOther ( string $value , string $field_override = ? ) : SolrQuery
public addFacetField ( string $field ) : SolrQuery
public addFacetQuery ( string $facetQuery ) : SolrQuery
public addField ( string $field ) : SolrQuery
public addFilterQuery ( string $fq ) : SolrQuery
public addGroupField ( string $value ) : SolrQuery
public addGroupFunction ( string $value ) : SolrQuery
public addGroupQuery ( string $value ) : SolrQuery
public addGroupSortField ( string $field , int $order = ? ) : SolrQuery
public addHighlightField ( string $field ) : SolrQuery
public addMltField ( string $field ) : SolrQuery
public addMltQueryField ( string $field , float $boost ) : SolrQuery
public addSortField ( string $field , int $order = SolrQuery::ORDER_DESC ) : SolrQuery
public addStatsFacet ( string $field ) : SolrQuery
public addStatsField ( string $field ) : SolrQuery
public collapse ( SolrCollapseFunction $collapseFunction ) : SolrQuery
public __construct ( string $q = ? )
public __destruct ( ) : void
public getExpand ( ) : bool
public getExpandFilterQueries ( ) : array
public getExpandQuery ( ) : array
public getExpandRows ( ) : int
public getExpandSortFields ( ) : array
public getFacet ( ) : bool
public getFacetDateEnd ( string $field_override = ? ) : string
public getFacetDateFields ( ) : array
public getFacetDateGap ( string $field_override = ? ) : string
public getFacetDateHardEnd ( string $field_override = ? ) : string
public getFacetDateOther ( string $field_override = ? ) : array
public getFacetDateStart ( string $field_override = ? ) : string
public getFacetFields ( ) : array
public getFacetLimit ( string $field_override = ? ) : int
public getFacetMethod ( string $field_override = ? ) : string
public getFacetMinCount ( string $field_override = ? ) : int
public getFacetMissing ( string $field_override = ? ) : bool
public getFacetOffset ( string $field_override = ? ) : int
public getFacetPrefix ( string $field_override = ? ) : string
public getFacetQueries ( ) : array
public getFacetSort ( string $field_override = ? ) : int
public getFields ( ) : array
public getFilterQueries ( ) : array
public getGroup ( ) : bool
public getGroupCachePercent ( ) : int
public getGroupFacet ( ) : bool
public getGroupFields ( ) : array
public getGroupFormat ( ) : string
public getGroupFunctions ( ) : array
public getGroupLimit ( ) : int
public getGroupMain ( ) : bool
public getGroupNGroups ( ) : bool
public getGroupOffset ( ) : int
public getGroupQueries ( ) : array
public getGroupSortFields ( ) : array
public getGroupTruncate ( ) : bool
public getHighlight ( ) : bool
public getHighlightAlternateField ( string $field_override = ? ) : string
public getHighlightFields ( ) : array
public getHighlightFormatter ( string $field_override = ? ) : string
public getHighlightFragmenter ( string $field_override = ? ) : string
public getHighlightFragsize ( string $field_override = ? ) : int
public getHighlightHighlightMultiTerm ( ) : bool
public getHighlightMaxAlternateFieldLength ( string $field_override = ? ) : int
public getHighlightMaxAnalyzedChars ( ) : int
public getHighlightMergeContiguous ( string $field_override = ? ) : bool
public getHighlightRegexMaxAnalyzedChars ( ) : int
public getHighlightRegexPattern ( ) : string
public getHighlightRegexSlop ( ) : float
public getHighlightRequireFieldMatch ( ) : bool
public getHighlightSimplePost ( string $field_override = ? ) : string
public getHighlightSimplePre ( string $field_override = ? ) : string
public getHighlightSnippets ( string $field_override = ? ) : int
public getHighlightUsePhraseHighlighter ( ) : bool
public getMlt ( ) : bool
public getMltBoost ( ) : bool
public getMltCount ( ) : int
public getMltFields ( ) : array
public getMltMaxNumQueryTerms ( ) : int
public getMltMaxNumTokens ( ) : int
public getMltMaxWordLength ( ) : int
public getMltMinDocFrequency ( ) : int
public getMltMinTermFrequency ( ) : int
public getMltMinWordLength ( ) : int
public getMltQueryFields ( ) : array
public getQuery ( ) : string
public getRows ( ) : int
public getSortFields ( ) : array
public getStart ( ) : int
public getStats ( ) : bool
public getStatsFacets ( ) : array
public getStatsFields ( ) : array
public getTerms ( ) : bool
public getTermsField ( ) : string
public getTermsIncludeLowerBound ( ) : bool
public getTermsIncludeUpperBound ( ) : bool
public getTermsLimit ( ) : int
public getTermsLowerBound ( ) : string
public getTermsMaxCount ( ) : int
public getTermsMinCount ( ) : int
public getTermsPrefix ( ) : string
public getTermsReturnRaw ( ) : bool
public getTermsSort ( ) : int
public getTermsUpperBound ( ) : string
public getTimeAllowed ( ) : int
public removeExpandFilterQuery ( string $fq ) : SolrQuery
public removeExpandSortField ( string $field ) : SolrQuery
public removeFacetDateField ( string $field ) : SolrQuery
public removeFacetDateOther ( string $value , string $field_override = ? ) : SolrQuery
public removeFacetField ( string $field ) : SolrQuery
public removeFacetQuery ( string $value ) : SolrQuery
public removeField ( string $field ) : SolrQuery
public removeFilterQuery ( string $fq ) : SolrQuery
public removeHighlightField ( string $field ) : SolrQuery
public removeMltField ( string $field ) : SolrQuery
public removeMltQueryField ( string $queryField ) : SolrQuery
public removeSortField ( string $field ) : SolrQuery
public removeStatsFacet ( string $value ) : SolrQuery
public removeStatsField ( string $field ) : SolrQuery
public setEchoHandler ( bool $flag ) : SolrQuery
public setEchoParams ( string $type ) : SolrQuery
public setExpand ( bool $value ) : SolrQuery
public setExpandQuery ( string $q ) : SolrQuery
public setExpandRows ( int $value ) : SolrQuery
public setExplainOther ( string $query ) : SolrQuery
public setFacet ( bool $flag ) : SolrQuery
public setFacetDateEnd ( string $value , string $field_override = ? ) : SolrQuery
public setFacetDateGap ( string $value , string $field_override = ? ) : SolrQuery
public setFacetDateHardEnd ( bool $value , string $field_override = ? ) : SolrQuery
public setFacetDateStart ( string $value , string $field_override = ? ) : SolrQuery
public setFacetEnumCacheMinDefaultFrequency ( int $frequency , string $field_override = ? ) : SolrQuery
public setFacetLimit ( int $limit , string $field_override = ? ) : SolrQuery
public setFacetMethod ( string $method , string $field_override = ? ) : SolrQuery
public setFacetMinCount ( int $mincount , string $field_override = ? ) : SolrQuery
public setFacetMissing ( bool $flag , string $field_override = ? ) : SolrQuery
public setFacetOffset ( int $offset , string $field_override = ? ) : SolrQuery
public setFacetPrefix ( string $prefix , string $field_override = ? ) : SolrQuery
public setFacetSort ( int $facetSort , string $field_override = ? ) : SolrQuery
public setGroup ( bool $value ) : SolrQuery
public setGroupCachePercent ( int $percent ) : SolrQuery
public setGroupFacet ( bool $value ) : SolrQuery
public setGroupFormat ( string $value ) : SolrQuery
public setGroupLimit ( int $value ) : SolrQuery
public setGroupMain ( string $value ) : SolrQuery
public setGroupNGroups ( bool $value ) : SolrQuery
public setGroupOffset ( int $value ) : SolrQuery
public setGroupTruncate ( bool $value ) : SolrQuery
public setHighlight ( bool $flag ) : SolrQuery
public setHighlightAlternateField ( string $field , string $field_override = ? ) : SolrQuery
public setHighlightFormatter ( string $formatter , string $field_override = ? ) : SolrQuery
public setHighlightFragmenter ( string $fragmenter , string $field_override = ? ) : SolrQuery
public setHighlightFragsize ( int $size , string $field_override = ? ) : SolrQuery
public setHighlightHighlightMultiTerm ( bool $flag ) : SolrQuery
public setHighlightMaxAlternateFieldLength ( int $fieldLength , string $field_override = ? ) : SolrQuery
public setHighlightMaxAnalyzedChars ( int $value ) : SolrQuery
public setHighlightMergeContiguous ( bool $flag , string $field_override = ? ) : SolrQuery
public setHighlightRegexMaxAnalyzedChars ( int $maxAnalyzedChars ) : SolrQuery
public setHighlightRegexPattern ( string $value ) : SolrQuery
public setHighlightRegexSlop ( float $factor ) : SolrQuery
public setHighlightRequireFieldMatch ( bool $flag ) : SolrQuery
public setHighlightSimplePost ( string $simplePost , string $field_override = ? ) : SolrQuery
public setHighlightSimplePre ( string $simplePre , string $field_override = ? ) : SolrQuery
public setHighlightSnippets ( int $value , string $field_override = ? ) : SolrQuery
public setHighlightUsePhraseHighlighter ( bool $flag ) : SolrQuery
public setMlt ( bool $flag ) : SolrQuery
public setMltBoost ( bool $flag ) : SolrQuery
public setMltCount ( int $count ) : SolrQuery
public setMltMaxNumQueryTerms ( int $value ) : SolrQuery
public setMltMaxNumTokens ( int $value ) : SolrQuery
public setMltMaxWordLength ( int $maxWordLength ) : SolrQuery
public setMltMinDocFrequency ( int $minDocFrequency ) : SolrQuery
public setMltMinTermFrequency ( int $minTermFrequency ) : SolrQuery
public setMltMinWordLength ( int $minWordLength ) : SolrQuery
public setOmitHeader ( bool $flag ) : SolrQuery
public setQuery ( string $query ) : SolrQuery
public setRows ( int $rows ) : SolrQuery
public setShowDebugInfo ( bool $flag ) : SolrQuery
public setStart ( int $start ) : SolrQuery
public setStats ( bool $flag ) : SolrQuery
public setTerms ( bool $flag ) : SolrQuery
public setTermsField ( string $fieldname ) : SolrQuery
public setTermsIncludeLowerBound ( bool $flag ) : SolrQuery
public setTermsIncludeUpperBound ( bool $flag ) : SolrQuery
public setTermsLimit ( int $limit ) : SolrQuery
public setTermsLowerBound ( string $lowerBound ) : SolrQuery
public setTermsMaxCount ( int $frequency ) : SolrQuery
public setTermsMinCount ( int $frequency ) : SolrQuery
public setTermsPrefix ( string $prefix ) : SolrQuery
public setTermsReturnRaw ( bool $flag ) : SolrQuery
public setTermsSort ( int $sortType ) : SolrQuery
public setTermsUpperBound ( string $upperBound ) : SolrQuery
public setTimeAllowed ( int $timeAllowed ) : SolrQuery
/* Métodos herdados */
public SolrModifiableParams::__construct ( )
public SolrModifiableParams::__destruct ( ) : void
}

Constantes pré-definidas

SolrQuery::ORDER_ASC

Used to specify that the sorting should be in acending order

SolrQuery::ORDER_DESC

Used to specify that the sorting should be in descending order

SolrQuery::FACET_SORT_INDEX

Used to specify that the facet should sort by index

SolrQuery::FACET_SORT_COUNT

Used to specify that the facet should sort by count

SolrQuery::TERMS_SORT_INDEX

Used in the TermsComponent

SolrQuery::TERMS_SORT_COUNT

Used in the TermsComponent

Índice

  • SolrQuery::addExpandFilterQuery — Overrides main filter query, determines which documents to include in the main group
  • SolrQuery::addExpandSortField — Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::addFacetDateField — Maps to facet.date
  • SolrQuery::addFacetDateOther — Adds another facet.date.other parameter
  • SolrQuery::addFacetField — Adds another field to the facet
  • SolrQuery::addFacetQuery — Adds a facet query
  • SolrQuery::addField — Specifies which fields to return in the result
  • SolrQuery::addFilterQuery — Specifies a filter query
  • SolrQuery::addGroupField — Add a field to be used to group results
  • SolrQuery::addGroupFunction — Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery — Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField — Add a group sort field (group.sort parameter)
  • SolrQuery::addHighlightField — Maps to hl.fl
  • SolrQuery::addMltField — Sets a field to use for similarity
  • SolrQuery::addMltQueryField — Maps to mlt.qf
  • SolrQuery::addSortField — Used to control how the results should be sorted
  • SolrQuery::addStatsFacet — Requests a return of sub results for values within the given facet
  • SolrQuery::addStatsField — Maps to stats.field parameter
  • SolrQuery::collapse — Collapses the result set to a single document per group
  • SolrQuery::__construct — Constructor
  • SolrQuery::__destruct — Destructor
  • SolrQuery::getExpand — Returns true if group expanding is enabled
  • SolrQuery::getExpandFilterQueries — Returns the expand filter queries
  • SolrQuery::getExpandQuery — Returns the expand query expand.q parameter
  • SolrQuery::getExpandRows — Returns The number of rows to display in each group (expand.rows)
  • SolrQuery::getExpandSortFields — Returns an array of fields
  • SolrQuery::getFacet — Returns the value of the facet parameter
  • SolrQuery::getFacetDateEnd — Returns the value for the facet.date.end parameter
  • SolrQuery::getFacetDateFields — Returns all the facet.date fields
  • SolrQuery::getFacetDateGap — Returns the value of the facet.date.gap parameter
  • SolrQuery::getFacetDateHardEnd — Returns the value of the facet.date.hardend parameter
  • SolrQuery::getFacetDateOther — Returns the value for the facet.date.other parameter
  • SolrQuery::getFacetDateStart — Returns the lower bound for the first date range for all date faceting on this field
  • SolrQuery::getFacetFields — Returns all the facet fields
  • SolrQuery::getFacetLimit — Returns the maximum number of constraint counts that should be returned for the facet fields
  • SolrQuery::getFacetMethod — Returns the value of the facet.method parameter
  • SolrQuery::getFacetMinCount — Returns the minimum counts for facet fields should be included in the response
  • SolrQuery::getFacetMissing — Returns the current state of the facet.missing parameter
  • SolrQuery::getFacetOffset — Returns an offset into the list of constraints to be used for pagination
  • SolrQuery::getFacetPrefix — Returns the facet prefix
  • SolrQuery::getFacetQueries — Returns all the facet queries
  • SolrQuery::getFacetSort — Returns the facet sort type
  • SolrQuery::getFields — Returns the list of fields that will be returned in the response
  • SolrQuery::getFilterQueries — Returns an array of filter queries
  • SolrQuery::getGroup — Returns true if grouping is enabled
  • SolrQuery::getGroupCachePercent — Returns group cache percent value
  • SolrQuery::getGroupFacet — Returns the group.facet parameter value
  • SolrQuery::getGroupFields — Returns group fields (group.field parameter values)
  • SolrQuery::getGroupFormat — Returns the group.format value
  • SolrQuery::getGroupFunctions — Returns group functions (group.func parameter values)
  • SolrQuery::getGroupLimit — Returns the group.limit value
  • SolrQuery::getGroupMain — Returns the group.main value
  • SolrQuery::getGroupNGroups — Returns the group.ngroups value
  • SolrQuery::getGroupOffset — Returns the group.offset value
  • SolrQuery::getGroupQueries — Returns all the group.query parameter values
  • SolrQuery::getGroupSortFields — Returns the group.sort value
  • SolrQuery::getGroupTruncate — Returns the group.truncate value
  • SolrQuery::getHighlight — Returns the state of the hl parameter
  • SolrQuery::getHighlightAlternateField — Returns the highlight field to use as backup or default
  • SolrQuery::getHighlightFields — Returns all the fields that Solr should generate highlighted snippets for
  • SolrQuery::getHighlightFormatter — Returns the formatter for the highlighted output
  • SolrQuery::getHighlightFragmenter — Returns the text snippet generator for highlighted text
  • SolrQuery::getHighlightFragsize — Returns the number of characters of fragments to consider for highlighting
  • SolrQuery::getHighlightHighlightMultiTerm — Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries
  • SolrQuery::getHighlightMaxAlternateFieldLength — Returns the maximum number of characters of the field to return
  • SolrQuery::getHighlightMaxAnalyzedChars — Returns the maximum number of characters into a document to look for suitable snippets
  • SolrQuery::getHighlightMergeContiguous — Returns whether or not the collapse contiguous fragments into a single fragment
  • SolrQuery::getHighlightRegexMaxAnalyzedChars — Returns the maximum number of characters from a field when using the regex fragmenter
  • SolrQuery::getHighlightRegexPattern — Returns the regular expression for fragmenting
  • SolrQuery::getHighlightRegexSlop — Returns the deviation factor from the ideal fragment size
  • SolrQuery::getHighlightRequireFieldMatch — Returns if a field will only be highlighted if the query matched in this particular field
  • SolrQuery::getHighlightSimplePost — Returns the text which appears after a highlighted term
  • SolrQuery::getHighlightSimplePre — Returns the text which appears before a highlighted term
  • SolrQuery::getHighlightSnippets — Returns the maximum number of highlighted snippets to generate per field
  • SolrQuery::getHighlightUsePhraseHighlighter — Returns the state of the hl.usePhraseHighlighter parameter
  • SolrQuery::getMlt — Returns whether or not MoreLikeThis results should be enabled
  • SolrQuery::getMltBoost — Returns whether or not the query will be boosted by the interesting term relevance
  • SolrQuery::getMltCount — Returns the number of similar documents to return for each result
  • SolrQuery::getMltFields — Returns all the fields to use for similarity
  • SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query
  • SolrQuery::getMltMaxNumTokens — Retorna o número máximo de tokens para analisar em cada campo do documento que não é armazenado com suporte a TermVector
  • SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored
  • SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs
  • SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document
  • SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored
  • SolrQuery::getMltQueryFields — Returns the query fields and their boosts
  • SolrQuery::getQuery — Returns the main query
  • SolrQuery::getRows — Returns the maximum number of documents
  • SolrQuery::getSortFields — Returns all the sort fields
  • SolrQuery::getStart — Returns the offset in the complete result set
  • SolrQuery::getStats — Returns whether or not stats is enabled
  • SolrQuery::getStatsFacets — Returns all the stats facets that were set
  • SolrQuery::getStatsFields — Returns all the statistics fields
  • SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled
  • SolrQuery::getTermsField — Returns the field from which the terms are retrieved
  • SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set
  • SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set
  • SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return
  • SolrQuery::getTermsLowerBound — Returns the term to start at
  • SolrQuery::getTermsMaxCount — Returns the maximum document frequency
  • SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included
  • SolrQuery::getTermsPrefix — Returns the term prefix
  • SolrQuery::getTermsReturnRaw — Whether or not to return raw characters
  • SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted
  • SolrQuery::getTermsUpperBound — Returns the term to stop at
  • SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish
  • SolrQuery::removeExpandFilterQuery — Removes an expand filter query
  • SolrQuery::removeExpandSortField — Removes an expand sort field from the expand.sort parameter
  • SolrQuery::removeFacetDateField — Removes one of the facet date fields
  • SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters
  • SolrQuery::removeFacetField — Removes one of the facet.date parameters
  • SolrQuery::removeFacetQuery — Removes one of the facet.query parameters
  • SolrQuery::removeField — Removes a field from the list of fields
  • SolrQuery::removeFilterQuery — Removes a filter query
  • SolrQuery::removeHighlightField — Removes one of the fields used for highlighting
  • SolrQuery::removeMltField — Removes one of the moreLikeThis fields
  • SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields
  • SolrQuery::removeSortField — Removes one of the sort fields
  • SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters
  • SolrQuery::removeStatsField — Removes one of the stats.field parameters
  • SolrQuery::setEchoHandler — Toggles the echoHandler parameter
  • SolrQuery::setEchoParams — Determines what kind of parameters to include in the response
  • SolrQuery::setExpand — Enables/Disables the Expand Component
  • SolrQuery::setExpandQuery — Sets the expand.q parameter
  • SolrQuery::setExpandRows — Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExplainOther — Sets the explainOther common query parameter
  • SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting
  • SolrQuery::setFacetDateEnd — Maps to facet.date.end
  • SolrQuery::setFacetDateGap — Maps to facet.date.gap
  • SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend
  • SolrQuery::setFacetDateStart — Maps to facet.date.start
  • SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count
  • SolrQuery::setFacetLimit — Maps to facet.limit
  • SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field
  • SolrQuery::setFacetMinCount — Maps to facet.mincount
  • SolrQuery::setFacetMissing — Maps to facet.missing
  • SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination
  • SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet
  • SolrQuery::setFacetSort — Determines the ordering of the facet field constraints
  • SolrQuery::setGroup — Enable/Disable result grouping (group parameter)
  • SolrQuery::setGroupCachePercent — Enables caching for result grouping
  • SolrQuery::setGroupFacet — Sets group.facet parameter
  • SolrQuery::setGroupFormat — Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupLimit — Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain — If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups — If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupOffset — Sets the group.offset parameter
  • SolrQuery::setGroupTruncate — If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setHighlight — Enables or disables highlighting
  • SolrQuery::setHighlightAlternateField — Specifies the backup field to use
  • SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output
  • SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text
  • SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting
  • SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms
  • SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return
  • SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets
  • SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment
  • SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze
  • SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting
  • SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size
  • SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting
  • SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term
  • SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term
  • SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field
  • SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase
  • SolrQuery::setMlt — Enables or disables moreLikeThis
  • SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance
  • SolrQuery::setMltCount — Set the number of similar documents to return for each result
  • SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included
  • SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse
  • SolrQuery::setMltMaxWordLength — Sets the maximum word length
  • SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency
  • SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs
  • SolrQuery::setMltMinWordLength — Sets the minimum word length
  • SolrQuery::setOmitHeader — Exclude the header from the returned results
  • SolrQuery::setQuery — Sets the search query
  • SolrQuery::setRows — Specifies the maximum number of rows to return in the result
  • SolrQuery::setShowDebugInfo — Flag to show debug information
  • SolrQuery::setStart — Specifies the number of rows to skip
  • SolrQuery::setStats — Enables or disables the Stats component
  • SolrQuery::setTerms — Enables or disables the TermsComponent
  • SolrQuery::setTermsField — Sets the name of the field to get the Terms from
  • SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set
  • SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set
  • SolrQuery::setTermsLimit — Sets the maximum number of terms to return
  • SolrQuery::setTermsLowerBound — Specifies the Term to start from
  • SolrQuery::setTermsMaxCount — Sets the maximum document frequency
  • SolrQuery::setTermsMinCount — Sets the minimum document frequency
  • SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix
  • SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term
  • SolrQuery::setTermsSort — Specifies how to sort the returned terms
  • SolrQuery::setTermsUpperBound — Sets the term to stop at
  • SolrQuery::setTimeAllowed — The time allowed for search to finish


Overrides main filter query, determines which documents to include in the main group

  • « SolrQuery
  • SolrQuery::addExpandSortField »
  • PHP Manual
  • SolrQuery
  • Overrides main filter query, determines which documents to include in the main group

SolrQuery::addExpandFilterQuery

(PECL solr >= 2.2.0)

SolrQuery::addExpandFilterQuery — Overrides main filter query, determines which documents to include in the main group

Descrição

public SolrQuery::addExpandFilterQuery ( string $fq ) : SolrQuery

Overrides main filter query, determines which documents to include in the main group.

Parâmetros

fq

Valor Retornado

SolrQuery

Veja Também

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query


Orders the documents within the expanded groups (expand.sort parameter)

  • « SolrQuery::addExpandFilterQuery
  • SolrQuery::addFacetDateField »
  • PHP Manual
  • SolrQuery
  • Orders the documents within the expanded groups (expand.sort parameter)

SolrQuery::addExpandSortField

(PECL solr >= 2.2.0)

SolrQuery::addExpandSortField — Orders the documents within the expanded groups (expand.sort parameter)

Descrição

public SolrQuery::addExpandSortField ( string $field , string $order = ? ) : SolrQuery

Orders the documents within the expanded groups (expand.sort parameter).

Parâmetros

field

field name

order

Order ASC/DESC, utilizes SolrQuery::ORDER_* constants.

Default: SolrQuery::ORDER_DESC

Valor Retornado

SolrQuery

Veja Também

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query


Maps to facet.date

  • « SolrQuery::addExpandSortField
  • SolrQuery::addFacetDateOther »
  • PHP Manual
  • SolrQuery
  • Maps to facet.date

SolrQuery::addFacetDateField

(PECL solr >= 0.9.2)

SolrQuery::addFacetDateField — Maps to facet.date

Descrição

public SolrQuery::addFacetDateField ( string $dateField ) : SolrQuery

This method allows you to specify a field which should be treated as a facet.

It can be used multiple times with different field names to indicate multiple facet fields

Parâmetros

dateField

The name of the date field.

Valor Retornado

Returns a SolrQuery object.


Adds another facet.date.other parameter

  • « SolrQuery::addFacetDateField
  • SolrQuery::addFacetField »
  • PHP Manual
  • SolrQuery
  • Adds another facet.date.other parameter

SolrQuery::addFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::addFacetDateOther — Adds another facet.date.other parameter

Descrição

public SolrQuery::addFacetDateOther ( string $value , string $field_override = ? ) : SolrQuery

Sets the facet.date.other parameter. Accepts an optional field override

Parâmetros

value

The value to use.

field_override

The field name for the override.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Adds another field to the facet

  • « SolrQuery::addFacetDateOther
  • SolrQuery::addFacetQuery »
  • PHP Manual
  • SolrQuery
  • Adds another field to the facet

SolrQuery::addFacetField

(PECL solr >= 0.9.2)

SolrQuery::addFacetField — Adds another field to the facet

Descrição

public SolrQuery::addFacetField ( string $field ) : SolrQuery

Adds another field to the facet

Parâmetros

field

The name of the field

Valor Retornado

Returns the current SolrQuery object, if the return value is used.

Exemplos

Exemplo #1 SolrQuery::addFacetField() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery($query);

$query->addField('price')->addField('color');

$query->setFacet(true);

$query->addFacetField('price')->addFacetField('color');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response['facet_counts']['facet_fields']);

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [color] => SolrObject Object
        (
            [blue] => 20
            [green] => 100
        )

)


Adds a facet query

  • « SolrQuery::addFacetField
  • SolrQuery::addField »
  • PHP Manual
  • SolrQuery
  • Adds a facet query

SolrQuery::addFacetQuery

(PECL solr >= 0.9.2)

SolrQuery::addFacetQuery — Adds a facet query

Descrição

public SolrQuery::addFacetQuery ( string $facetQuery ) : SolrQuery

Adds a facet query

Parâmetros

facetQuery

The facet query

Valor Retornado

Returns the current SolrQuery object, if the return value is used.

Exemplos

Exemplo #1 SolrQuery::addFacetField() example

<?php

$options = array
(
        'hostname' => SOLR_SERVER_HOSTNAME,
        'login'    => SOLR_SERVER_USERNAME,
        'password' => SOLR_SERVER_PASSWORD,
        'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetQuery('price:[* TO 500]')->addFacetQuery('price:[500 TO *]');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response->facet_counts->facet_queries);

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [price:[* TO 500]] => 14
    [price:[500 TO *]] => 2
)


Specifies which fields to return in the result

  • « SolrQuery::addFacetQuery
  • SolrQuery::addFilterQuery »
  • PHP Manual
  • SolrQuery
  • Specifies which fields to return in the result

SolrQuery::addField

(PECL solr >= 0.9.2)

SolrQuery::addField — Specifies which fields to return in the result

Descrição

public SolrQuery::addField ( string $field ) : SolrQuery

This method is used to used to specify a set of fields to return, thereby restricting the amount of data returned in the response.

It should be called multiple time, once for each field name.

Parâmetros

field

The name of the field

Valor Retornado

Returns the current SolrQuery object


Specifies a filter query

  • « SolrQuery::addField
  • SolrQuery::addGroupField »
  • PHP Manual
  • SolrQuery
  • Specifies a filter query

SolrQuery::addFilterQuery

(PECL solr >= 0.9.2)

SolrQuery::addFilterQuery — Specifies a filter query

Descrição

public SolrQuery::addFilterQuery ( string $fq ) : SolrQuery

Specifies a filter query

Parâmetros

fq

The filter query

Valor Retornado

Returns the current SolrQuery object.

Exemplos

Exemplo #1 SolrQuery::addFilterQuery() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('*:*');

$query->addFilterQuery('color:blue,green');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response['facet_counts']['facet_fields']);

?>

O exemplo acima irá imprimir algo similar à:

 &fq=color:blue,green


Add a field to be used to group results

  • « SolrQuery::addFilterQuery
  • SolrQuery::addGroupFunction »
  • PHP Manual
  • SolrQuery
  • Add a field to be used to group results

SolrQuery::addGroupField

(PECL solr >= 2.2.0)

SolrQuery::addGroupField — Add a field to be used to group results

Descrição

public SolrQuery::addGroupField ( string $value ) : SolrQuery

The name of the field by which to group results. The field must be single-valued, and either be indexed or a field type that has a value source and works in a function query, such as ExternalFileField. It must also be a string-based field, such as StrField or TextField Uses group.field parameter

Parâmetros

value

Veja Também

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Allows grouping results based on the unique values of a function query (group.func parameter)

  • « SolrQuery::addGroupField
  • SolrQuery::addGroupQuery »
  • PHP Manual
  • SolrQuery
  • Allows grouping results based on the unique values of a function query (group.func parameter)

SolrQuery::addGroupFunction

(PECL solr >= 2.2.0)

SolrQuery::addGroupFunction — Allows grouping results based on the unique values of a function query (group.func parameter)

Descrição

public SolrQuery::addGroupFunction ( string $value ) : SolrQuery

Adds a group function (group.func parameter) Allows grouping results based on the unique values of a function query.

Parâmetros

value

Valor Retornado

SolrQuery

Veja Também

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Allows grouping of documents that match the given query

  • « SolrQuery::addGroupFunction
  • SolrQuery::addGroupSortField »
  • PHP Manual
  • SolrQuery
  • Allows grouping of documents that match the given query

SolrQuery::addGroupQuery

(PECL solr >= 2.2.0)

SolrQuery::addGroupQuery — Allows grouping of documents that match the given query

Descrição

public SolrQuery::addGroupQuery ( string $value ) : SolrQuery

Allows grouping of documents that match the given query. Adds query to the group.query parameter

Parâmetros

value

Valor Retornado

SolrQuery

Veja Também

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Add a group sort field (group.sort parameter)

  • « SolrQuery::addGroupQuery
  • SolrQuery::addHighlightField »
  • PHP Manual
  • SolrQuery
  • Add a group sort field (group.sort parameter)

SolrQuery::addGroupSortField

(PECL solr >= 2.2.0)

SolrQuery::addGroupSortField — Add a group sort field (group.sort parameter)

Descrição

public SolrQuery::addGroupSortField ( string $field , int $order = ? ) : SolrQuery

Allow sorting group documents, using group sort field (group.sort parameter).

Parâmetros

field

Field name

order

Order ASC/DESC, utilizes SolrQuery::ORDER_* constants

Valor Retornado

Exemplos

Exemplo #1 SolrQuery::addGroupSortField() example

<?php

$solrQuery = new SolrQuery('*:*');
$solrQuery
    ->setGroup(true)
    ->addGroupSortField('price', SolrQuery::ORDER_ASC);

echo $solrQuery;
?>

O exemplo acima irá imprimir algo similar à:

q=*:*&group=true&group.sort=price asc

Veja Também

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Maps to hl.fl

  • « SolrQuery::addGroupSortField
  • SolrQuery::addMltField »
  • PHP Manual
  • SolrQuery
  • Maps to hl.fl

SolrQuery::addHighlightField

(PECL solr >= 0.9.2)

SolrQuery::addHighlightField — Maps to hl.fl

Descrição

public SolrQuery::addHighlightField ( string $field ) : SolrQuery

Maps to hl.fl. This is used to specify that highlighted snippets should be generated for a particular field

Parâmetros

field

Name of the field

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets a field to use for similarity

  • « SolrQuery::addHighlightField
  • SolrQuery::addMltQueryField »
  • PHP Manual
  • SolrQuery
  • Sets a field to use for similarity

SolrQuery::addMltField

(PECL solr >= 0.9.2)

SolrQuery::addMltField — Sets a field to use for similarity

Descrição

public SolrQuery::addMltField ( string $field ) : SolrQuery

Maps to mlt.fl. It specifies that a field should be used for similarity.

Parâmetros

field

The name of the field

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Maps to mlt.qf

  • « SolrQuery::addMltField
  • SolrQuery::addSortField »
  • PHP Manual
  • SolrQuery
  • Maps to mlt.qf

SolrQuery::addMltQueryField

(PECL solr >= 0.9.2)

SolrQuery::addMltQueryField — Maps to mlt.qf

Descrição

public SolrQuery::addMltQueryField ( string $field , float $boost ) : SolrQuery

Maps to mlt.qf. It is used to specify query fields and their boosts

Parâmetros

field

The name of the field

boost

Its boost value

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Used to control how the results should be sorted

  • « SolrQuery::addMltQueryField
  • SolrQuery::addStatsFacet »
  • PHP Manual
  • SolrQuery
  • Used to control how the results should be sorted

SolrQuery::addSortField

(PECL solr >= 0.9.2)

SolrQuery::addSortField — Used to control how the results should be sorted

Descrição

public SolrQuery::addSortField ( string $field , int $order = SolrQuery::ORDER_DESC ) : SolrQuery

Used to control how the results should be sorted.

Parâmetros

field

The name of the field

order

The sort direction. This should be either SolrQuery::ORDER_ASC or SolrQuery::ORDER_DESC.

Valor Retornado

Returns the current SolrQuery object.


Requests a return of sub results for values within the given facet

  • « SolrQuery::addSortField
  • SolrQuery::addStatsField »
  • PHP Manual
  • SolrQuery
  • Requests a return of sub results for values within the given facet

SolrQuery::addStatsFacet

(PECL solr >= 0.9.2)

SolrQuery::addStatsFacet — Requests a return of sub results for values within the given facet

Descrição

public SolrQuery::addStatsFacet ( string $field ) : SolrQuery

Requests a return of sub results for values within the given facet. Maps to the stats.facet field

Parâmetros

field

The name of the field

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Maps to stats.field parameter

  • « SolrQuery::addStatsFacet
  • SolrQuery::collapse »
  • PHP Manual
  • SolrQuery
  • Maps to stats.field parameter

SolrQuery::addStatsField

(PECL solr >= 0.9.2)

SolrQuery::addStatsField — Maps to stats.field parameter

Descrição

public SolrQuery::addStatsField ( string $field ) : SolrQuery

Maps to stats.field parameter This methods adds another stats.field parameter.

Parâmetros

field

The name of the field

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Collapses the result set to a single document per group

  • « SolrQuery::addStatsField
  • SolrQuery::__construct »
  • PHP Manual
  • SolrQuery
  • Collapses the result set to a single document per group

SolrQuery::collapse

(Não há informação de versão disponível, talvez apenas no Git)

SolrQuery::collapse — Collapses the result set to a single document per group

Descrição

public SolrQuery::collapse ( SolrCollapseFunction $collapseFunction ) : SolrQuery

Collapses the result set to a single document per group before it forwards the result set to the rest of the search components.

So all downstream components (faceting, highlighting, etc...) will work with the collapsed result set.

Parâmetros

collapseFunction

Valor Retornado

Returns the current SolrQuery object

Exemplos

Exemplo #1 SolrQuery::collapse() example

<?php

include "bootstrap.php";

$options = array
(
        'hostname' => SOLR_SERVER_HOSTNAME,
        'login'    => SOLR_SERVER_USERNAME,
        'password' => SOLR_SERVER_PASSWORD,
        'port'     => SOLR_SERVER_PORT,
        'path'     => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$collapseFunction = new SolrCollapseFunction('manu_id_s');

$collapseFunction
->setSize(2)
->setNullPolicy(SolrCollapseFunction::NULLPOLICY_IGNORE);

$query
->collapse($collapseFunction)
->setRows(4);

$queryResponse = $client->query($query);

$response = $queryResponse->getResponse();

print_r($response);

?>

O exemplo acima irá imprimir algo similar à:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [q] => *:*
                    [indent] => on
                    [fq] => {!collapse field=manu_id_s size=2 nullPolicy=ignore}
                    [rows] => 4
                    [version] => 2.2
                    [wt] => xml
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 14
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [id] => SP2514N
                            [name] => Array
                                (
                                    [0] => Samsung SpinPoint P120 SP2514N - hard drive - 250 GB - ATA-133
                                )

                            [manu] => Array
                                (
                                    [0] => Samsung Electronics Co. Ltd.
                                )

                            [manu_id_s] => samsung
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => 7200RPM, 8MB cache, IDE Ultra ATA-133
                                    [1] => NoiseGuard, SilentSeek technology, Fluid Dynamic Bearing (FDB) motor
                                )

                            [price] => Array
                                (
                                    [0] => 92
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [store] => Array
                                (
                                    [0] => 35.0752,-97.032
                                )

                            [_version_] => 1510294336412057600
                        )

                    [1] => SolrObject Object
                        (
                            [id] => 6H500F0
                            [name] => Array
                                (
                                    [0] => Maxtor DiamondMax 11 - hard drive - 500 GB - SATA-300
                                )

                            [manu] => Array
                                (
                                    [0] => Maxtor Corp.
                                )

                            [manu_id_s] => maxtor
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => SATA 3.0Gb/s, NCQ
                                    [1] => 8.5ms seek
                                    [2] => 16MB cache
                                )

                            [price] => Array
                                (
                                    [0] => 350
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 45.17614,-93.87341
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [_version_] => 1510294336449806336
                        )

                    [2] => SolrObject Object
                        (
                            [id] => F8V7067-APL-KIT
                            [name] => Array
                                (
                                    [0] => Belkin Mobile Power Cord for iPod w/ Dock
                                )

                            [manu] => Array
                                (
                                    [0] => Belkin
                                )

                            [manu_id_s] => belkin
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => connector
                                )

                            [features] => Array
                                (
                                    [0] => car power adapter, white
                                )

                            [weight] => Array
                                (
                                    [0] => 4
                                )

                            [price] => Array
                                (
                                    [0] => 19.95
                                )

                            [popularity] => Array
                                (
                                    [0] => 1
                                )

                            [inStock] => Array
                                (
                                    [0] =>
                                )

                            [store] => Array
                                (
                                    [0] => 45.18014,-93.87741
                                )

                            [manufacturedate_dt] => 2005-08-01T16:30:25Z
                            [_version_] => 1510294336458194944
                        )

                    [3] => SolrObject Object
                        (
                            [id] => MA147LL/A
                            [name] => Array
                                (
                                    [0] => Apple 60 GB iPod with Video Playback Black
                                )

                            [manu] => Array
                                (
                                    [0] => Apple Computer Inc.
                                )

                            [manu_id_s] => apple
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => music
                                )

                            [features] => Array
                                (
                                    [0] => iTunes, Podcasts, Audiobooks
                                    [1] => Stores up to 15,000 songs, 25,000 photos, or 150 hours of video
                                    [2] => 2.5-inch, 320x240 color TFT LCD display with LED backlight
                                    [3] => Up to 20 hours of battery life
                                    [4] => Plays AAC, MP3, WAV, AIFF, Audible, Apple Lossless, H.264 video
                                    [5] => Notes, Calendar, Phone book, Hold button, Date display, Photo wallet, Built-in games, JPEG photo playback, Upgradeable firmware, USB 2.0 compatibility, Playback speed control, Rechargeable capability, Battery level indication
                                )

                            [includes] => Array
                                (
                                    [0] => earbud headphones, USB cable
                                )

                            [weight] => Array
                                (
                                    [0] => 5.5
                                )

                            [price] => Array
                                (
                                    [0] => 399
                                )

                            [popularity] => Array
                                (
                                    [0] => 10
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 37.7752,-100.0232
                                )

                            [manufacturedate_dt] => 2005-10-12T08:00:00Z
                            [_version_] => 1510294336562003968
                        )

                )

        )

)


Constructor

  • « SolrQuery::collapse
  • SolrQuery::__destruct »
  • PHP Manual
  • SolrQuery
  • Constructor

SolrQuery::__construct

(PECL solr >= 0.9.2)

SolrQuery::__construct — Constructor

Descrição

public SolrQuery::__construct ( string $q = ? )

Constructor.

Parâmetros

q

Optional search query

Valor Retornado

None

Erros

Emits SolrIllegalArgumentException in case of an invalid parameter was passed.

Changelog

Versão | Descrição
PECL solr 2.0.0 | If q was invalid, then a SolrIllegalArgumentException is now thrown. Previously an error was emitted.


Destructor

  • « SolrQuery::__construct
  • SolrQuery::getExpand »
  • PHP Manual
  • SolrQuery
  • Destructor

SolrQuery::__destruct

(PECL solr >= 0.9.2)

SolrQuery::__destruct — Destructor

Descrição

public SolrQuery::__destruct ( ) : void

Destructor

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

None.


Returns true if group expanding is enabled

  • « SolrQuery::__destruct
  • SolrQuery::getExpandFilterQueries »
  • PHP Manual
  • SolrQuery
  • Returns true if group expanding is enabled

SolrQuery::getExpand

(PECL solr >= 2.2.0)

SolrQuery::getExpand — Returns true if group expanding is enabled

Descrição

public SolrQuery::getExpand ( ) : bool

Returns true if group expanding is enabled


Returns the expand filter queries

  • « SolrQuery::getExpand
  • SolrQuery::getExpandQuery »
  • PHP Manual
  • SolrQuery
  • Returns the expand filter queries

SolrQuery::getExpandFilterQueries

(PECL solr >= 2.2.0)

SolrQuery::getExpandFilterQueries — Returns the expand filter queries

Descrição

public SolrQuery::getExpandFilterQueries ( ) : array

Returns the expand filter queries


Returns the expand query expand.q parameter

  • « SolrQuery::getExpandFilterQueries
  • SolrQuery::getExpandRows »
  • PHP Manual
  • SolrQuery
  • Returns the expand query expand.q parameter

SolrQuery::getExpandQuery

(PECL solr >= 2.2.0)

SolrQuery::getExpandQuery — Returns the expand query expand.q parameter

Descrição

public SolrQuery::getExpandQuery ( ) : array

Returns the expand query expand.q parameter


Returns The number of rows to display in each group (expand.rows)

  • « SolrQuery::getExpandQuery
  • SolrQuery::getExpandSortFields »
  • PHP Manual
  • SolrQuery
  • Returns The number of rows to display in each group (expand.rows)

SolrQuery::getExpandRows

(PECL solr >= 2.2.0)

SolrQuery::getExpandRows — Returns The number of rows to display in each group (expand.rows)

Descrição

public SolrQuery::getExpandRows ( ) : int

Returns The number of rows to display in each group (expand.rows)


Returns an array of fields

  • « SolrQuery::getExpandRows
  • SolrQuery::getFacet »
  • PHP Manual
  • SolrQuery
  • Returns an array of fields

SolrQuery::getExpandSortFields

(PECL solr >= 2.2.0)

SolrQuery::getExpandSortFields — Returns an array of fields

Descrição

public SolrQuery::getExpandSortFields ( ) : array

Returns an array of fields


Returns the value of the facet parameter

  • « SolrQuery::getExpandSortFields
  • SolrQuery::getFacetDateEnd »
  • PHP Manual
  • SolrQuery
  • Returns the value of the facet parameter

SolrQuery::getFacet

(PECL solr >= 0.9.2)

SolrQuery::getFacet — Returns the value of the facet parameter

Descrição

public SolrQuery::getFacet ( ) : bool

Returns the value of the facet parameter.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a boolean on success and null if not set


Returns the value for the facet.date.end parameter

  • « SolrQuery::getFacet
  • SolrQuery::getFacetDateFields »
  • PHP Manual
  • SolrQuery
  • Returns the value for the facet.date.end parameter

SolrQuery::getFacetDateEnd

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateEnd — Returns the value for the facet.date.end parameter

Descrição

public SolrQuery::getFacetDateEnd ( string $field_override = ? ) : string

Returns the value for the facet.date.end parameter. This method accepts an optional field override

Parâmetros

field_override

The name of the field

Valor Retornado

Returns a string on success and null if not set


Returns all the facet.date fields

  • « SolrQuery::getFacetDateEnd
  • SolrQuery::getFacetDateGap »
  • PHP Manual
  • SolrQuery
  • Returns all the facet.date fields

SolrQuery::getFacetDateFields

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateFields — Returns all the facet.date fields

Descrição

public SolrQuery::getFacetDateFields ( ) : array

Returns all the facet.date fields

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns all the facet.date fields as an array or null if none was set


Returns the value of the facet.date.gap parameter

  • « SolrQuery::getFacetDateFields
  • SolrQuery::getFacetDateHardEnd »
  • PHP Manual
  • SolrQuery
  • Returns the value of the facet.date.gap parameter

SolrQuery::getFacetDateGap

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateGap — Returns the value of the facet.date.gap parameter

Descrição

public SolrQuery::getFacetDateGap ( string $field_override = ? ) : string

Returns the value of the facet.date.gap parameter. It accepts an optional field override

Parâmetros

field_override

The name of the field

Valor Retornado

Returns a string on success and null if not set


Returns the value of the facet.date.hardend parameter

  • « SolrQuery::getFacetDateGap
  • SolrQuery::getFacetDateOther »
  • PHP Manual
  • SolrQuery
  • Returns the value of the facet.date.hardend parameter

SolrQuery::getFacetDateHardEnd

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateHardEnd — Returns the value of the facet.date.hardend parameter

Descrição

public SolrQuery::getFacetDateHardEnd ( string $field_override = ? ) : string

Returns the value of the facet.date.hardend parameter. Accepts an optional field override

Parâmetros

field_override

The name of the field

Valor Retornado

Returns a string on success and null if not set


Returns the value for the facet.date.other parameter

  • « SolrQuery::getFacetDateHardEnd
  • SolrQuery::getFacetDateStart »
  • PHP Manual
  • SolrQuery
  • Returns the value for the facet.date.other parameter

SolrQuery::getFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateOther — Returns the value for the facet.date.other parameter

Descrição

public SolrQuery::getFacetDateOther ( string $field_override = ? ) : array

Returns the value for the facet.date.other parameter. This method accepts an optional field override.

Parâmetros

field_override

The name of the field

Valor Retornado

Returns an array on success and null if not set.


Returns the lower bound for the first date range for all date faceting on this field

  • « SolrQuery::getFacetDateOther
  • SolrQuery::getFacetFields »
  • PHP Manual
  • SolrQuery
  • Returns the lower bound for the first date range for all date faceting on this field

SolrQuery::getFacetDateStart

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateStart — Returns the lower bound for the first date range for all date faceting on this field

Descrição

public SolrQuery::getFacetDateStart ( string $field_override = ? ) : string

Returns the lower bound for the first date range for all date faceting on this field. Accepts an optional field override

Parâmetros

field_override

The name of the field

Valor Retornado

Returns a string on success and null if not set


Returns all the facet fields

  • « SolrQuery::getFacetDateStart
  • SolrQuery::getFacetLimit »
  • PHP Manual
  • SolrQuery
  • Returns all the facet fields

SolrQuery::getFacetFields

(PECL solr >= 0.9.2)

SolrQuery::getFacetFields — Returns all the facet fields

Descrição

public SolrQuery::getFacetFields ( ) : array

Returns all the facet fields

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array of all the fields and null if none was set


Returns the maximum number of constraint counts that should be returned for the facet fields

  • « SolrQuery::getFacetFields
  • SolrQuery::getFacetMethod »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of constraint counts that should be returned for the facet fields

SolrQuery::getFacetLimit

(PECL solr >= 0.9.2)

SolrQuery::getFacetLimit — Returns the maximum number of constraint counts that should be returned for the facet fields

Descrição

public SolrQuery::getFacetLimit ( string $field_override = ? ) : int

Returns the maximum number of constraint counts that should be returned for the facet fields. This method accepts an optional field override

Parâmetros

field_override

The name of the field to override for

Valor Retornado

Returns an integer on success and null if not set


Returns the value of the facet.method parameter

  • « SolrQuery::getFacetLimit
  • SolrQuery::getFacetMinCount »
  • PHP Manual
  • SolrQuery
  • Returns the value of the facet.method parameter

SolrQuery::getFacetMethod

(PECL solr >= 0.9.2)

SolrQuery::getFacetMethod — Returns the value of the facet.method parameter

Descrição

public SolrQuery::getFacetMethod ( string $field_override = ? ) : string

Returns the value of the facet.method parameter. This accepts an optional field override.

Parâmetros

field_override

The name of the field

Valor Retornado

Returns a string on success and null if not set


Returns the minimum counts for facet fields should be included in the response

  • « SolrQuery::getFacetMethod
  • SolrQuery::getFacetMissing »
  • PHP Manual
  • SolrQuery
  • Returns the minimum counts for facet fields should be included in the response

SolrQuery::getFacetMinCount

(PECL solr >= 0.9.2)

SolrQuery::getFacetMinCount — Returns the minimum counts for facet fields should be included in the response

Descrição

public SolrQuery::getFacetMinCount ( string $field_override = ? ) : int

Returns the minimum counts for facet fields should be included in the response. It accepts an optional field override

Parâmetros

field_override

The name of the field

Valor Retornado

Returns an integer on success and null if not set


Returns the current state of the facet.missing parameter

  • « SolrQuery::getFacetMinCount
  • SolrQuery::getFacetOffset »
  • PHP Manual
  • SolrQuery
  • Returns the current state of the facet.missing parameter

SolrQuery::getFacetMissing

(PECL solr >= 0.9.2)

SolrQuery::getFacetMissing — Returns the current state of the facet.missing parameter

Descrição

public SolrQuery::getFacetMissing ( string $field_override = ? ) : bool

Returns the current state of the facet.missing parameter. This accepts an optional field override

Parâmetros

field_override

The name of the field

Valor Retornado

Returns a boolean on success and null if not set


Returns an offset into the list of constraints to be used for pagination

  • « SolrQuery::getFacetMissing
  • SolrQuery::getFacetPrefix »
  • PHP Manual
  • SolrQuery
  • Returns an offset into the list of constraints to be used for pagination

SolrQuery::getFacetOffset

(PECL solr >= 0.9.2)

SolrQuery::getFacetOffset — Returns an offset into the list of constraints to be used for pagination

Descrição

public SolrQuery::getFacetOffset ( string $field_override = ? ) : int

Returns an offset into the list of constraints to be used for pagination. Accepts an optional field override

Parâmetros

field_override

The name of the field to override for.

Valor Retornado

Returns an integer on success and null if not set


Returns the facet prefix

  • « SolrQuery::getFacetOffset
  • SolrQuery::getFacetQueries »
  • PHP Manual
  • SolrQuery
  • Returns the facet prefix

SolrQuery::getFacetPrefix

(PECL solr >= 0.9.2)

SolrQuery::getFacetPrefix — Returns the facet prefix

Descrição

public SolrQuery::getFacetPrefix ( string $field_override = ? ) : string

Returns the facet prefix

Parâmetros

field_override

The name of the field

Valor Retornado

Returns a string on success and null if not set.


Returns all the facet queries

  • « SolrQuery::getFacetPrefix
  • SolrQuery::getFacetSort »
  • PHP Manual
  • SolrQuery
  • Returns all the facet queries

SolrQuery::getFacetQueries

(PECL solr >= 0.9.2)

SolrQuery::getFacetQueries — Returns all the facet queries

Descrição

public SolrQuery::getFacetQueries ( ) : array

Returns all the facet queries

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array on success and null if not set.


Returns the facet sort type

  • « SolrQuery::getFacetQueries
  • SolrQuery::getFields »
  • PHP Manual
  • SolrQuery
  • Returns the facet sort type

SolrQuery::getFacetSort

(PECL solr >= 0.9.2)

SolrQuery::getFacetSort — Returns the facet sort type

Descrição

public SolrQuery::getFacetSort ( string $field_override = ? ) : int

Returns an integer (SolrQuery::FACET_SORT_INDEX or SolrQuery::FACET_SORT_COUNT)

Parâmetros

field_override

The name of the field

Valor Retornado

Returns an integer (SolrQuery::FACET_SORT_INDEX or SolrQuery::FACET_SORT_COUNT) on success or null if not set.


Returns the list of fields that will be returned in the response

  • « SolrQuery::getFacetSort
  • SolrQuery::getFilterQueries »
  • PHP Manual
  • SolrQuery
  • Returns the list of fields that will be returned in the response

SolrQuery::getFields

(PECL solr >= 0.9.2)

SolrQuery::getFields — Returns the list of fields that will be returned in the response

Descrição

public SolrQuery::getFields ( ) : array

Returns the list of fields that will be returned in the response

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array on success and null if not set.


Returns an array of filter queries

  • « SolrQuery::getFields
  • SolrQuery::getGroup »
  • PHP Manual
  • SolrQuery
  • Returns an array of filter queries

SolrQuery::getFilterQueries

(PECL solr >= 0.9.2)

SolrQuery::getFilterQueries — Returns an array of filter queries

Descrição

public SolrQuery::getFilterQueries ( ) : array

Returns an array of filter queries. These are queries that can be used to restrict the super set of documents that can be returned, without influencing score

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array on success and null if not set.


Returns true if grouping is enabled

  • « SolrQuery::getFilterQueries
  • SolrQuery::getGroupCachePercent »
  • PHP Manual
  • SolrQuery
  • Returns true if grouping is enabled

SolrQuery::getGroup

(PECL solr >= 2.2.0)

SolrQuery::getGroup — Returns true if grouping is enabled

Descrição

public SolrQuery::getGroup ( ) : bool

Returns true if grouping is enabled

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)


Returns group cache percent value

  • « SolrQuery::getGroup
  • SolrQuery::getGroupFacet »
  • PHP Manual
  • SolrQuery
  • Returns group cache percent value

SolrQuery::getGroupCachePercent

(PECL solr >= 2.2.0)

SolrQuery::getGroupCachePercent — Returns group cache percent value

Descrição

public SolrQuery::getGroupCachePercent ( ) : int

Returns group cache percent value

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Returns the group.facet parameter value

  • « SolrQuery::getGroupCachePercent
  • SolrQuery::getGroupFields »
  • PHP Manual
  • SolrQuery
  • Returns the group.facet parameter value

SolrQuery::getGroupFacet

(PECL solr >= 2.2.0)

SolrQuery::getGroupFacet — Returns the group.facet parameter value

Descrição

public SolrQuery::getGroupFacet ( ) : bool

Returns the group.facet parameter value

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrQuery::setGroupFacet() - Sets group.facet parameter


Returns group fields (group.field parameter values)

  • « SolrQuery::getGroupFacet
  • SolrQuery::getGroupFormat »
  • PHP Manual
  • SolrQuery
  • Returns group fields (group.field parameter values)

SolrQuery::getGroupFields

(PECL solr >= 2.2.0)

SolrQuery::getGroupFields — Returns group fields (group.field parameter values)

Descrição

public SolrQuery::getGroupFields ( ) : array

Returns group fields (group.field parameter values)

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrQuery::addGroupField() - Add a field to be used to group results


Returns the group.format value

  • « SolrQuery::getGroupFields
  • SolrQuery::getGroupFunctions »
  • PHP Manual
  • SolrQuery
  • Returns the group.format value

SolrQuery::getGroupFormat

(PECL solr >= 2.2.0)

SolrQuery::getGroupFormat — Returns the group.format value

Descrição

public SolrQuery::getGroupFormat ( ) : string

Returns the group.format value

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)


Returns group functions (group.func parameter values)

  • « SolrQuery::getGroupFormat
  • SolrQuery::getGroupLimit »
  • PHP Manual
  • SolrQuery
  • Returns group functions (group.func parameter values)

SolrQuery::getGroupFunctions

(PECL solr >= 2.2.0)

SolrQuery::getGroupFunctions — Returns group functions (group.func parameter values)

Descrição

public SolrQuery::getGroupFunctions ( ) : array

Returns group functions (group.func parameter values)

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)


Returns the group.limit value

  • « SolrQuery::getGroupFunctions
  • SolrQuery::getGroupMain »
  • PHP Manual
  • SolrQuery
  • Returns the group.limit value

SolrQuery::getGroupLimit

(PECL solr >= 2.2.0)

SolrQuery::getGroupLimit — Returns the group.limit value

Descrição

public SolrQuery::getGroupLimit ( ) : int

Returns the group.limit value

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1


Returns the group.main value

  • « SolrQuery::getGroupLimit
  • SolrQuery::getGroupNGroups »
  • PHP Manual
  • SolrQuery
  • Returns the group.main value

SolrQuery::getGroupMain

(PECL solr >= 2.2.0)

SolrQuery::getGroupMain — Returns the group.main value

Descrição

public SolrQuery::getGroupMain ( ) : bool

Returns the group.main value

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple


Returns the group.ngroups value

  • « SolrQuery::getGroupMain
  • SolrQuery::getGroupOffset »
  • PHP Manual
  • SolrQuery
  • Returns the group.ngroups value

SolrQuery::getGroupNGroups

(PECL solr >= 2.2.0)

SolrQuery::getGroupNGroups — Returns the group.ngroups value

Descrição

public SolrQuery::getGroupNGroups ( ) : bool

Returns the group.ngroups value

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results


Returns the group.offset value

  • « SolrQuery::getGroupNGroups
  • SolrQuery::getGroupQueries »
  • PHP Manual
  • SolrQuery
  • Returns the group.offset value

SolrQuery::getGroupOffset

(PECL solr >= 2.2.0)

SolrQuery::getGroupOffset — Returns the group.offset value

Descrição

public SolrQuery::getGroupOffset ( ) : int

Returns the group.offset value

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrQuery::setGroupOffset() - Sets the group.offset parameter


Returns all the group.query parameter values

  • « SolrQuery::getGroupOffset
  • SolrQuery::getGroupSortFields »
  • PHP Manual
  • SolrQuery
  • Returns all the group.query parameter values

SolrQuery::getGroupQueries

(PECL solr >= 2.2.0)

SolrQuery::getGroupQueries — Returns all the group.query parameter values

Descrição

public SolrQuery::getGroupQueries ( ) : array

Returns all the group.query parameter values

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

array

Veja Também

  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query


Returns the group.sort value

  • « SolrQuery::getGroupQueries
  • SolrQuery::getGroupTruncate »
  • PHP Manual
  • SolrQuery
  • Returns the group.sort value

SolrQuery::getGroupSortFields

(PECL solr >= 2.2.0)

SolrQuery::getGroupSortFields — Returns the group.sort value

Descrição

public SolrQuery::getGroupSortFields ( ) : array

Returns the group.sort value

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)


Returns the group.truncate value

  • « SolrQuery::getGroupSortFields
  • SolrQuery::getHighlight »
  • PHP Manual
  • SolrQuery
  • Returns the group.truncate value

SolrQuery::getGroupTruncate

(PECL solr >= 2.2.0)

SolrQuery::getGroupTruncate — Returns the group.truncate value

Descrição

public SolrQuery::getGroupTruncate ( ) : bool

Returns the group.truncate value

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query


Returns the state of the hl parameter

  • « SolrQuery::getGroupTruncate
  • SolrQuery::getHighlightAlternateField »
  • PHP Manual
  • SolrQuery
  • Returns the state of the hl parameter

SolrQuery::getHighlight

(PECL solr >= 0.9.2)

SolrQuery::getHighlight — Returns the state of the hl parameter

Descrição

public SolrQuery::getHighlight ( ) : bool

Returns a boolean indicating whether or not to enable highlighted snippets to be generated in the query response.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a boolean on success and null if not set.


Returns the highlight field to use as backup or default

  • « SolrQuery::getHighlight
  • SolrQuery::getHighlightFields »
  • PHP Manual
  • SolrQuery
  • Returns the highlight field to use as backup or default

SolrQuery::getHighlightAlternateField

(PECL solr >= 0.9.2)

SolrQuery::getHighlightAlternateField — Returns the highlight field to use as backup or default

Descrição

public SolrQuery::getHighlightAlternateField ( string $field_override = ? ) : string

Returns the highlight field to use as backup or default. It accepts an optional override.

Parâmetros

field_override

The name of the field

Valor Retornado

Returns a string on success and null if not set.


Returns all the fields that Solr should generate highlighted snippets for

  • « SolrQuery::getHighlightAlternateField
  • SolrQuery::getHighlightFormatter »
  • PHP Manual
  • SolrQuery
  • Returns all the fields that Solr should generate highlighted snippets for

SolrQuery::getHighlightFields

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFields — Returns all the fields that Solr should generate highlighted snippets for

Descrição

public SolrQuery::getHighlightFields ( ) : array

Returns all the fields that Solr should generate highlighted snippets for

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array on success and null if not set.


Returns the formatter for the highlighted output

  • « SolrQuery::getHighlightFields
  • SolrQuery::getHighlightFragmenter »
  • PHP Manual
  • SolrQuery
  • Returns the formatter for the highlighted output

SolrQuery::getHighlightFormatter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFormatter — Returns the formatter for the highlighted output

Descrição

public SolrQuery::getHighlightFormatter ( string $field_override = ? ) : string

Returns the formatter for the highlighted output

Parâmetros

field_override

The name of the field

Valor Retornado

Returns a string on success and null if not set.


Returns the text snippet generator for highlighted text

  • « SolrQuery::getHighlightFormatter
  • SolrQuery::getHighlightFragsize »
  • PHP Manual
  • SolrQuery
  • Returns the text snippet generator for highlighted text

SolrQuery::getHighlightFragmenter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFragmenter — Returns the text snippet generator for highlighted text

Descrição

public SolrQuery::getHighlightFragmenter ( string $field_override = ? ) : string

Returns the text snippet generator for highlighted text. Accepts an optional field override.

Parâmetros

field_override

The name of the field

Valor Retornado

Returns a string on success and null if not set.


Returns the number of characters of fragments to consider for highlighting

  • « SolrQuery::getHighlightFragmenter
  • SolrQuery::getHighlightHighlightMultiTerm »
  • PHP Manual
  • SolrQuery
  • Returns the number of characters of fragments to consider for highlighting

SolrQuery::getHighlightFragsize

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFragsize — Returns the number of characters of fragments to consider for highlighting

Descrição

public SolrQuery::getHighlightFragsize ( string $field_override = ? ) : int

Returns the number of characters of fragments to consider for highlighting. Zero implies no fragmenting. The entire field should be used.

Parâmetros

field_override

The name of the field

Valor Retornado

Returns an integer on success or null if not set.


Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

  • « SolrQuery::getHighlightFragsize
  • SolrQuery::getHighlightMaxAlternateFieldLength »
  • PHP Manual
  • SolrQuery
  • Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

SolrQuery::getHighlightHighlightMultiTerm

(PECL solr >= 0.9.2)

SolrQuery::getHighlightHighlightMultiTerm — Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

Descrição

public SolrQuery::getHighlightHighlightMultiTerm ( ) : bool

Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a boolean on success and null if not set.


Returns the maximum number of characters of the field to return

  • « SolrQuery::getHighlightHighlightMultiTerm
  • SolrQuery::getHighlightMaxAnalyzedChars »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of characters of the field to return

SolrQuery::getHighlightMaxAlternateFieldLength

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMaxAlternateFieldLength — Returns the maximum number of characters of the field to return

Descrição

public SolrQuery::getHighlightMaxAlternateFieldLength ( string $field_override = ? ) : int

Returns the maximum number of characters of the field to return

Parâmetros

field_override

The name of the field

Valor Retornado

Returns an integer on success and null if not set.


Returns the maximum number of characters into a document to look for suitable snippets

  • « SolrQuery::getHighlightMaxAlternateFieldLength
  • SolrQuery::getHighlightMergeContiguous »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of characters into a document to look for suitable snippets

SolrQuery::getHighlightMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMaxAnalyzedChars — Returns the maximum number of characters into a document to look for suitable snippets

Descrição

public SolrQuery::getHighlightMaxAnalyzedChars ( ) : int

Returns the maximum number of characters into a document to look for suitable snippets

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Returns whether or not the collapse contiguous fragments into a single fragment

  • « SolrQuery::getHighlightMaxAnalyzedChars
  • SolrQuery::getHighlightRegexMaxAnalyzedChars »
  • PHP Manual
  • SolrQuery
  • Returns whether or not the collapse contiguous fragments into a single fragment

SolrQuery::getHighlightMergeContiguous

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMergeContiguous — Returns whether or not the collapse contiguous fragments into a single fragment

Descrição

public SolrQuery::getHighlightMergeContiguous ( string $field_override = ? ) : bool

Returns whether or not the collapse contiguous fragments into a single fragment. Accepts an optional field override.

Parâmetros

field_override

The name of the field

Valor Retornado

Returns a boolean on success and null if not set.


Returns the maximum number of characters from a field when using the regex fragmenter

  • « SolrQuery::getHighlightMergeContiguous
  • SolrQuery::getHighlightRegexPattern »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of characters from a field when using the regex fragmenter

SolrQuery::getHighlightRegexMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexMaxAnalyzedChars — Returns the maximum number of characters from a field when using the regex fragmenter

Descrição

public SolrQuery::getHighlightRegexMaxAnalyzedChars ( ) : int

Returns the maximum number of characters from a field when using the regex fragmenter

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Returns the regular expression for fragmenting

  • « SolrQuery::getHighlightRegexMaxAnalyzedChars
  • SolrQuery::getHighlightRegexSlop »
  • PHP Manual
  • SolrQuery
  • Returns the regular expression for fragmenting

SolrQuery::getHighlightRegexPattern

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexPattern — Returns the regular expression for fragmenting

Descrição

public SolrQuery::getHighlightRegexPattern ( ) : string

Returns the regular expression used for fragmenting

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string on success and null if not set.


Returns the deviation factor from the ideal fragment size

  • « SolrQuery::getHighlightRegexPattern
  • SolrQuery::getHighlightRequireFieldMatch »
  • PHP Manual
  • SolrQuery
  • Returns the deviation factor from the ideal fragment size

SolrQuery::getHighlightRegexSlop

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexSlop — Returns the deviation factor from the ideal fragment size

Descrição

public SolrQuery::getHighlightRegexSlop ( ) : float

Returns the factor by which the regex fragmenter can deviate from the ideal fragment size to accomodate the regular expression

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a double on success and null if not set.


Returns if a field will only be highlighted if the query matched in this particular field

  • « SolrQuery::getHighlightRegexSlop
  • SolrQuery::getHighlightSimplePost »
  • PHP Manual
  • SolrQuery
  • Returns if a field will only be highlighted if the query matched in this particular field

SolrQuery::getHighlightRequireFieldMatch

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRequireFieldMatch — Returns if a field will only be highlighted if the query matched in this particular field

Descrição

public SolrQuery::getHighlightRequireFieldMatch ( ) : bool

Returns if a field will only be highlighted if the query matched in this particular field.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a boolean on success and null if not set.


Returns the text which appears after a highlighted term

  • « SolrQuery::getHighlightRequireFieldMatch
  • SolrQuery::getHighlightSimplePre »
  • PHP Manual
  • SolrQuery
  • Returns the text which appears after a highlighted term

SolrQuery::getHighlightSimplePost

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSimplePost — Returns the text which appears after a highlighted term

Descrição

public SolrQuery::getHighlightSimplePost ( string $field_override = ? ) : string

Returns the text which appears after a highlighted term. Accepts an optional field override

Parâmetros

field_override

The name of the field

Valor Retornado

Returns a string on success and null if not set.


Returns the text which appears before a highlighted term

  • « SolrQuery::getHighlightSimplePost
  • SolrQuery::getHighlightSnippets »
  • PHP Manual
  • SolrQuery
  • Returns the text which appears before a highlighted term

SolrQuery::getHighlightSimplePre

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSimplePre — Returns the text which appears before a highlighted term

Descrição

public SolrQuery::getHighlightSimplePre ( string $field_override = ? ) : string

Returns the text which appears before a highlighted term. Accepts an optional field override

Parâmetros

field_override

The name of the field

Valor Retornado

Returns a string on success and null if not set.


Returns the maximum number of highlighted snippets to generate per field

  • « SolrQuery::getHighlightSimplePre
  • SolrQuery::getHighlightUsePhraseHighlighter »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of highlighted snippets to generate per field

SolrQuery::getHighlightSnippets

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSnippets — Returns the maximum number of highlighted snippets to generate per field

Descrição

public SolrQuery::getHighlightSnippets ( string $field_override = ? ) : int

Returns the maximum number of highlighted snippets to generate per field. Accepts an optional field override

Parâmetros

field_override

The name of the field

Valor Retornado

Returns an integer on success and null if not set.


Returns the state of the hl.usePhraseHighlighter parameter

  • « SolrQuery::getHighlightSnippets
  • SolrQuery::getMlt »
  • PHP Manual
  • SolrQuery
  • Returns the state of the hl.usePhraseHighlighter parameter

SolrQuery::getHighlightUsePhraseHighlighter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightUsePhraseHighlighter — Returns the state of the hl.usePhraseHighlighter parameter

Descrição

public SolrQuery::getHighlightUsePhraseHighlighter ( ) : bool

Returns whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a boolean on success and null if not set.


Returns whether or not MoreLikeThis results should be enabled

  • « SolrQuery::getHighlightUsePhraseHighlighter
  • SolrQuery::getMltBoost »
  • PHP Manual
  • SolrQuery
  • Returns whether or not MoreLikeThis results should be enabled

SolrQuery::getMlt

(PECL solr >= 0.9.2)

SolrQuery::getMlt — Returns whether or not MoreLikeThis results should be enabled

Descrição

public SolrQuery::getMlt ( ) : bool

Returns whether or not MoreLikeThis results should be enabled

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a boolean on success and null if not set.


Returns whether or not the query will be boosted by the interesting term relevance

  • « SolrQuery::getMlt
  • SolrQuery::getMltCount »
  • PHP Manual
  • SolrQuery
  • Returns whether or not the query will be boosted by the interesting term relevance

SolrQuery::getMltBoost

(PECL solr >= 0.9.2)

SolrQuery::getMltBoost — Returns whether or not the query will be boosted by the interesting term relevance

Descrição

public SolrQuery::getMltBoost ( ) : bool

Returns whether or not the query will be boosted by the interesting term relevance

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a boolean on success and null if not set.


Returns the number of similar documents to return for each result

  • « SolrQuery::getMltBoost
  • SolrQuery::getMltFields »
  • PHP Manual
  • SolrQuery
  • Returns the number of similar documents to return for each result

SolrQuery::getMltCount

(PECL solr >= 0.9.2)

SolrQuery::getMltCount — Returns the number of similar documents to return for each result

Descrição

public SolrQuery::getMltCount ( ) : int

Returns the number of similar documents to return for each result

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Returns all the fields to use for similarity

  • « SolrQuery::getMltCount
  • SolrQuery::getMltMaxNumQueryTerms »
  • PHP Manual
  • SolrQuery
  • Returns all the fields to use for similarity

SolrQuery::getMltFields

(PECL solr >= 0.9.2)

SolrQuery::getMltFields — Returns all the fields to use for similarity

Descrição

public SolrQuery::getMltFields ( ) : array

Returns all the fields to use for similarity

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array on success and null if not set.


Returns the maximum number of query terms that will be included in any generated query

  • « SolrQuery::getMltFields
  • SolrQuery::getMltMaxNumTokens »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of query terms that will be included in any generated query

SolrQuery::getMltMaxNumQueryTerms

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query

Descrição

public SolrQuery::getMltMaxNumQueryTerms ( ) : int

Returns the maximum number of query terms that will be included in any generated query

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Retorna o número máximo de tokens para analisar em cada campo do documento que não é armazenado com suporte a TermVector

  • « SolrQuery::getMltMaxNumQueryTerms
  • SolrQuery::getMltMaxWordLength »
  • PHP Manual
  • SolrQuery
  • Retorna o número máximo de tokens para analisar em cada campo do documento que não é armazenado com suporte a TermVector

SolrQuery::getMltMaxNumTokens

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxNumTokens — Retorna o número máximo de tokens para analisar em cada campo do documento que não é armazenado com suporte a TermVector

Descrição

public SolrQuery::getMltMaxNumTokens ( ) : int

Retorna o número máximo de tokens para analisar em cada campo do documento que não é armazenado com suporte a TermVector

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um inteiro em caso de sucesso e null se não for definido.


Returns the maximum word length above which words will be ignored

  • « SolrQuery::getMltMaxNumTokens
  • SolrQuery::getMltMinDocFrequency »
  • PHP Manual
  • SolrQuery
  • Returns the maximum word length above which words will be ignored

SolrQuery::getMltMaxWordLength

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored

Descrição

public SolrQuery::getMltMaxWordLength ( ) : int

Returns the maximum word length above which words will be ignored

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

  • « SolrQuery::getMltMaxWordLength
  • SolrQuery::getMltMinTermFrequency »
  • PHP Manual
  • SolrQuery
  • Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

SolrQuery::getMltMinDocFrequency

(PECL solr >= 0.9.2)

SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

Descrição

public SolrQuery::getMltMinDocFrequency ( ) : int

Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Returns the frequency below which terms will be ignored in the source document

  • « SolrQuery::getMltMinDocFrequency
  • SolrQuery::getMltMinWordLength »
  • PHP Manual
  • SolrQuery
  • Returns the frequency below which terms will be ignored in the source document

SolrQuery::getMltMinTermFrequency

(PECL solr >= 0.9.2)

SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document

Descrição

public SolrQuery::getMltMinTermFrequency ( ) : int

Returns the frequency below which terms will be ignored in the source document

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Returns the minimum word length below which words will be ignored

  • « SolrQuery::getMltMinTermFrequency
  • SolrQuery::getMltQueryFields »
  • PHP Manual
  • SolrQuery
  • Returns the minimum word length below which words will be ignored

SolrQuery::getMltMinWordLength

(PECL solr >= 0.9.2)

SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored

Descrição

public SolrQuery::getMltMinWordLength ( ) : int

Returns the minimum word length below which words will be ignored

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Returns the query fields and their boosts

  • « SolrQuery::getMltMinWordLength
  • SolrQuery::getQuery »
  • PHP Manual
  • SolrQuery
  • Returns the query fields and their boosts

SolrQuery::getMltQueryFields

(PECL solr >= 0.9.2)

SolrQuery::getMltQueryFields — Returns the query fields and their boosts

Descrição

public SolrQuery::getMltQueryFields ( ) : array

Returns the query fields and their boosts

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array on success and null if not set.


Returns the main query

  • « SolrQuery::getMltQueryFields
  • SolrQuery::getRows »
  • PHP Manual
  • SolrQuery
  • Returns the main query

SolrQuery::getQuery

(PECL solr >= 0.9.2)

SolrQuery::getQuery — Returns the main query

Descrição

public SolrQuery::getQuery ( ) : string

Returns the main search query

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string on success and null if not set.


Returns the maximum number of documents

  • « SolrQuery::getQuery
  • SolrQuery::getSortFields »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of documents

SolrQuery::getRows

(PECL solr >= 0.9.2)

SolrQuery::getRows — Returns the maximum number of documents

Descrição

public SolrQuery::getRows ( ) : int

Returns the maximum number of documents from the complete result set to return to the client for every request

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Returns all the sort fields

  • « SolrQuery::getRows
  • SolrQuery::getStart »
  • PHP Manual
  • SolrQuery
  • Returns all the sort fields

SolrQuery::getSortFields

(PECL solr >= 0.9.2)

SolrQuery::getSortFields — Returns all the sort fields

Descrição

public SolrQuery::getSortFields ( ) : array

Returns all the sort fields

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array on success and null if none of the parameters was set.


Returns the offset in the complete result set

  • « SolrQuery::getSortFields
  • SolrQuery::getStats »
  • PHP Manual
  • SolrQuery
  • Returns the offset in the complete result set

SolrQuery::getStart

(PECL solr >= 0.9.2)

SolrQuery::getStart — Returns the offset in the complete result set

Descrição

public SolrQuery::getStart ( ) : int

Returns the offset in the complete result set for the queries where the set of returned documents should begin.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Returns whether or not stats is enabled

  • « SolrQuery::getStart
  • SolrQuery::getStatsFacets »
  • PHP Manual
  • SolrQuery
  • Returns whether or not stats is enabled

SolrQuery::getStats

(PECL solr >= 0.9.2)

SolrQuery::getStats — Returns whether or not stats is enabled

Descrição

public SolrQuery::getStats ( ) : bool

Returns whether or not stats is enabled

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a boolean on success and null if not set.


Returns all the stats facets that were set

  • « SolrQuery::getStats
  • SolrQuery::getStatsFields »
  • PHP Manual
  • SolrQuery
  • Returns all the stats facets that were set

SolrQuery::getStatsFacets

(PECL solr >= 0.9.2)

SolrQuery::getStatsFacets — Returns all the stats facets that were set

Descrição

public SolrQuery::getStatsFacets ( ) : array

Returns all the stats facets that were set

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array on success and null if not set.


Returns all the statistics fields

  • « SolrQuery::getStatsFacets
  • SolrQuery::getTerms »
  • PHP Manual
  • SolrQuery
  • Returns all the statistics fields

SolrQuery::getStatsFields

(PECL solr >= 0.9.2)

SolrQuery::getStatsFields — Returns all the statistics fields

Descrição

public SolrQuery::getStatsFields ( ) : array

Returns all the statistics fields

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array on success and null if not set.


Returns whether or not the TermsComponent is enabled

  • « SolrQuery::getStatsFields
  • SolrQuery::getTermsField »
  • PHP Manual
  • SolrQuery
  • Returns whether or not the TermsComponent is enabled

SolrQuery::getTerms

(PECL solr >= 0.9.2)

SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled

Descrição

public SolrQuery::getTerms ( ) : bool

Returns whether or not the TermsComponent is enabled

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a boolean on success and null if not set.


Returns the field from which the terms are retrieved

  • « SolrQuery::getTerms
  • SolrQuery::getTermsIncludeLowerBound »
  • PHP Manual
  • SolrQuery
  • Returns the field from which the terms are retrieved

SolrQuery::getTermsField

(PECL solr >= 0.9.2)

SolrQuery::getTermsField — Returns the field from which the terms are retrieved

Descrição

public SolrQuery::getTermsField ( ) : string

Returns the field from which the terms are retrieved

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string on success and null if not set.


Returns whether or not to include the lower bound in the result set

  • « SolrQuery::getTermsField
  • SolrQuery::getTermsIncludeUpperBound »
  • PHP Manual
  • SolrQuery
  • Returns whether or not to include the lower bound in the result set

SolrQuery::getTermsIncludeLowerBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set

Descrição

public SolrQuery::getTermsIncludeLowerBound ( ) : bool

Returns whether or not to include the lower bound in the result set

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a boolean on success and null if not set.


Returns whether or not to include the upper bound term in the result set

  • « SolrQuery::getTermsIncludeLowerBound
  • SolrQuery::getTermsLimit »
  • PHP Manual
  • SolrQuery
  • Returns whether or not to include the upper bound term in the result set

SolrQuery::getTermsIncludeUpperBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set

Descrição

public SolrQuery::getTermsIncludeUpperBound ( ) : bool

Returns whether or not to include the upper bound term in the result set

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a boolean on success and null if not set.


Returns the maximum number of terms Solr should return

  • « SolrQuery::getTermsIncludeUpperBound
  • SolrQuery::getTermsLowerBound »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of terms Solr should return

SolrQuery::getTermsLimit

(PECL solr >= 0.9.2)

SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return

Descrição

public SolrQuery::getTermsLimit ( ) : int

Returns the maximum number of terms Solr should return

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Returns the term to start at

  • « SolrQuery::getTermsLimit
  • SolrQuery::getTermsMaxCount »
  • PHP Manual
  • SolrQuery
  • Returns the term to start at

SolrQuery::getTermsLowerBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsLowerBound — Returns the term to start at

Descrição

public SolrQuery::getTermsLowerBound ( ) : string

Returns the term to start at

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string on success and null if not set.


Returns the maximum document frequency

  • « SolrQuery::getTermsLowerBound
  • SolrQuery::getTermsMinCount »
  • PHP Manual
  • SolrQuery
  • Returns the maximum document frequency

SolrQuery::getTermsMaxCount

(PECL solr >= 0.9.2)

SolrQuery::getTermsMaxCount — Returns the maximum document frequency

Descrição

public SolrQuery::getTermsMaxCount ( ) : int

Returns the maximum document frequency

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Returns the minimum document frequency to return in order to be included

  • « SolrQuery::getTermsMaxCount
  • SolrQuery::getTermsPrefix »
  • PHP Manual
  • SolrQuery
  • Returns the minimum document frequency to return in order to be included

SolrQuery::getTermsMinCount

(PECL solr >= 0.9.2)

SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included

Descrição

public SolrQuery::getTermsMinCount ( ) : int

Returns the minimum document frequency to return in order to be included

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Returns the term prefix

  • « SolrQuery::getTermsMinCount
  • SolrQuery::getTermsReturnRaw »
  • PHP Manual
  • SolrQuery
  • Returns the term prefix

SolrQuery::getTermsPrefix

(PECL solr >= 0.9.2)

SolrQuery::getTermsPrefix — Returns the term prefix

Descrição

public SolrQuery::getTermsPrefix ( ) : string

Returns the prefix to which matching terms must be restricted. This will restrict matches to only terms that start with the prefix

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string on success and null if not set.


Whether or not to return raw characters

  • « SolrQuery::getTermsPrefix
  • SolrQuery::getTermsSort »
  • PHP Manual
  • SolrQuery
  • Whether or not to return raw characters

SolrQuery::getTermsReturnRaw

(PECL solr >= 0.9.2)

SolrQuery::getTermsReturnRaw — Whether or not to return raw characters

Descrição

public SolrQuery::getTermsReturnRaw ( ) : bool

Returns a boolean indicating whether or not to return the raw characters of the indexed term, regardless of if it is human readable

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a boolean on success and null if not set.


Returns an integer indicating how terms are sorted

  • « SolrQuery::getTermsReturnRaw
  • SolrQuery::getTermsUpperBound »
  • PHP Manual
  • SolrQuery
  • Returns an integer indicating how terms are sorted

SolrQuery::getTermsSort

(PECL solr >= 0.9.2)

SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted

Descrição

public SolrQuery::getTermsSort ( ) : int

SolrQuery::TERMS_SORT_INDEX indicates that the terms are returned by index order. SolrQuery::TERMS_SORT_COUNT implies that the terms are sorted by term frequency (highest count first)

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an integer on success and null if not set.


Returns the term to stop at

  • « SolrQuery::getTermsSort
  • SolrQuery::getTimeAllowed »
  • PHP Manual
  • SolrQuery
  • Returns the term to stop at

SolrQuery::getTermsUpperBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsUpperBound — Returns the term to stop at

Descrição

public SolrQuery::getTermsUpperBound ( ) : string

Returns the term to stop at

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string on success and null if not set.


Returns the time in milliseconds allowed for the query to finish

  • « SolrQuery::getTermsUpperBound
  • SolrQuery::removeExpandFilterQuery »
  • PHP Manual
  • SolrQuery
  • Returns the time in milliseconds allowed for the query to finish

SolrQuery::getTimeAllowed

(PECL solr >= 0.9.2)

SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish

Descrição

public SolrQuery::getTimeAllowed ( ) : int

Returns the time in milliseconds allowed for the query to finish.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns and integer on success and null if it is not set.


Removes an expand filter query

  • « SolrQuery::getTimeAllowed
  • SolrQuery::removeExpandSortField »
  • PHP Manual
  • SolrQuery
  • Removes an expand filter query

SolrQuery::removeExpandFilterQuery

(PECL solr >= 2.2.0)

SolrQuery::removeExpandFilterQuery — Removes an expand filter query

Descrição

public SolrQuery::removeExpandFilterQuery ( string $fq ) : SolrQuery

Removes an expand filter query.

Parâmetros

fq

Valor Retornado

SolrQuery

Veja Também

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group


Removes an expand sort field from the expand.sort parameter

  • « SolrQuery::removeExpandFilterQuery
  • SolrQuery::removeFacetDateField »
  • PHP Manual
  • SolrQuery
  • Removes an expand sort field from the expand.sort parameter

SolrQuery::removeExpandSortField

(PECL solr >= 2.2.0)

SolrQuery::removeExpandSortField — Removes an expand sort field from the expand.sort parameter

Descrição

public SolrQuery::removeExpandSortField ( string $field ) : SolrQuery

Removes an expand sort field from the expand.sort parameter.

Parâmetros

field

field name

Valor Retornado

SolrQuery

Veja Também

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query


Removes one of the facet date fields

  • « SolrQuery::removeExpandSortField
  • SolrQuery::removeFacetDateOther »
  • PHP Manual
  • SolrQuery
  • Removes one of the facet date fields

SolrQuery::removeFacetDateField

(PECL solr >= 0.9.2)

SolrQuery::removeFacetDateField — Removes one of the facet date fields

Descrição

public SolrQuery::removeFacetDateField ( string $field ) : SolrQuery

The name of the field

Parâmetros

field

The name of the date field to remove

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Removes one of the facet.date.other parameters

  • « SolrQuery::removeFacetDateField
  • SolrQuery::removeFacetField »
  • PHP Manual
  • SolrQuery
  • Removes one of the facet.date.other parameters

SolrQuery::removeFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters

Descrição

public SolrQuery::removeFacetDateOther ( string $value , string $field_override = ? ) : SolrQuery

Removes one of the facet.date.other parameters

Parâmetros

value

The value

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Removes one of the facet.date parameters

  • « SolrQuery::removeFacetDateOther
  • SolrQuery::removeFacetQuery »
  • PHP Manual
  • SolrQuery
  • Removes one of the facet.date parameters

SolrQuery::removeFacetField

(PECL solr >= 0.9.2)

SolrQuery::removeFacetField — Removes one of the facet.date parameters

Descrição

public SolrQuery::removeFacetField ( string $field ) : SolrQuery

Removes one of the facet.date parameters

Parâmetros

field

The name of the field

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Removes one of the facet.query parameters

  • « SolrQuery::removeFacetField
  • SolrQuery::removeField »
  • PHP Manual
  • SolrQuery
  • Removes one of the facet.query parameters

SolrQuery::removeFacetQuery

(PECL solr >= 0.9.2)

SolrQuery::removeFacetQuery — Removes one of the facet.query parameters

Descrição

public SolrQuery::removeFacetQuery ( string $value ) : SolrQuery

Removes one of the facet.query parameters.

Parâmetros

value

The value

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Removes a field from the list of fields

  • « SolrQuery::removeFacetQuery
  • SolrQuery::removeFilterQuery »
  • PHP Manual
  • SolrQuery
  • Removes a field from the list of fields

SolrQuery::removeField

(PECL solr >= 0.9.2)

SolrQuery::removeField — Removes a field from the list of fields

Descrição

public SolrQuery::removeField ( string $field ) : SolrQuery

Removes a field from the list of fields

Parâmetros

field

Name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Removes a filter query

  • « SolrQuery::removeField
  • SolrQuery::removeHighlightField »
  • PHP Manual
  • SolrQuery
  • Removes a filter query

SolrQuery::removeFilterQuery

(PECL solr >= 0.9.2)

SolrQuery::removeFilterQuery — Removes a filter query

Descrição

public SolrQuery::removeFilterQuery ( string $fq ) : SolrQuery

Removes a filter query.

Parâmetros

fq

The filter query to remove

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Removes one of the fields used for highlighting

  • « SolrQuery::removeFilterQuery
  • SolrQuery::removeMltField »
  • PHP Manual
  • SolrQuery
  • Removes one of the fields used for highlighting

SolrQuery::removeHighlightField

(PECL solr >= 0.9.2)

SolrQuery::removeHighlightField — Removes one of the fields used for highlighting

Descrição

public SolrQuery::removeHighlightField ( string $field ) : SolrQuery

Removes one of the fields used for highlighting.

Parâmetros

field

The name of the field

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Removes one of the moreLikeThis fields

  • « SolrQuery::removeHighlightField
  • SolrQuery::removeMltQueryField »
  • PHP Manual
  • SolrQuery
  • Removes one of the moreLikeThis fields

SolrQuery::removeMltField

(PECL solr >= 0.9.2)

SolrQuery::removeMltField — Removes one of the moreLikeThis fields

Descrição

public SolrQuery::removeMltField ( string $field ) : SolrQuery

Removes one of the moreLikeThis fields.

Parâmetros

field

Name of the field

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Removes one of the moreLikeThis query fields

  • « SolrQuery::removeMltField
  • SolrQuery::removeSortField »
  • PHP Manual
  • SolrQuery
  • Removes one of the moreLikeThis query fields

SolrQuery::removeMltQueryField

(PECL solr >= 0.9.2)

SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields

Descrição

public SolrQuery::removeMltQueryField ( string $queryField ) : SolrQuery

Removes one of the moreLikeThis query fields.

Parâmetros

queryField

The query field

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Removes one of the sort fields

  • « SolrQuery::removeMltQueryField
  • SolrQuery::removeStatsFacet »
  • PHP Manual
  • SolrQuery
  • Removes one of the sort fields

SolrQuery::removeSortField

(PECL solr >= 0.9.2)

SolrQuery::removeSortField — Removes one of the sort fields

Descrição

public SolrQuery::removeSortField ( string $field ) : SolrQuery

Removes one of the sort fields

Parâmetros

field

The name of the field

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Removes one of the stats.facet parameters

  • « SolrQuery::removeSortField
  • SolrQuery::removeStatsField »
  • PHP Manual
  • SolrQuery
  • Removes one of the stats.facet parameters

SolrQuery::removeStatsFacet

(PECL solr >= 0.9.2)

SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters

Descrição

public SolrQuery::removeStatsFacet ( string $value ) : SolrQuery

Removes one of the stats.facet parameters

Parâmetros

value

The value

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Removes one of the stats.field parameters

  • « SolrQuery::removeStatsFacet
  • SolrQuery::setEchoHandler »
  • PHP Manual
  • SolrQuery
  • Removes one of the stats.field parameters

SolrQuery::removeStatsField

(PECL solr >= 0.9.2)

SolrQuery::removeStatsField — Removes one of the stats.field parameters

Descrição

public SolrQuery::removeStatsField ( string $field ) : SolrQuery

Removes one of the stats.field parameters

Parâmetros

field

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Toggles the echoHandler parameter

  • « SolrQuery::removeStatsField
  • SolrQuery::setEchoParams »
  • PHP Manual
  • SolrQuery
  • Toggles the echoHandler parameter

SolrQuery::setEchoHandler

(PECL solr >= 0.9.2)

SolrQuery::setEchoHandler — Toggles the echoHandler parameter

Descrição

public SolrQuery::setEchoHandler ( bool $flag ) : SolrQuery

If set to true, Solr places the name of the handle used in the response to the client for debugging purposes.

Parâmetros

flag

true or false

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Determines what kind of parameters to include in the response

  • « SolrQuery::setEchoHandler
  • SolrQuery::setExpand »
  • PHP Manual
  • SolrQuery
  • Determines what kind of parameters to include in the response

SolrQuery::setEchoParams

(PECL solr >= 0.9.2)

SolrQuery::setEchoParams — Determines what kind of parameters to include in the response

Descrição

public SolrQuery::setEchoParams ( string $type ) : SolrQuery

Instructs Solr what kinds of Request parameters should be included in the response for debugging purposes, legal values include:

- none - don't include any request parameters for debugging
- explicit - include the parameters explicitly specified by the client in the request
- all - include all parameters involved in this request, either specified explicitly by the client, or implicit because of the request handler configuration.

Parâmetros

type

The type of parameters to include

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Enables/Disables the Expand Component

  • « SolrQuery::setEchoParams
  • SolrQuery::setExpandQuery »
  • PHP Manual
  • SolrQuery
  • Enables/Disables the Expand Component

SolrQuery::setExpand

(PECL solr >= 2.2.0)

SolrQuery::setExpand — Enables/Disables the Expand Component

Descrição

public SolrQuery::setExpand ( bool $value ) : SolrQuery

Enables/Disables the Expand Component.

Parâmetros

value

Bool flag

Valor Retornado

SolrQuery

Exemplos

Exemplo #1 SolrQuery::setExpand() example

<?php

$query = new SolrQuery('lucene');

$query
    ->setExpand(true)
    ->setExpandRows(50)
    ->setExpandQuery('text:product')
    ->addExpandFilterQuery('manu:apple')
    ->addExpandFilterQuery('inStock:true')
    ->addExpandSortField('score', SolrQuery::ORDER_DESC)
    ->addExpandSortField('title', SolrQuery::ORDER_ASC);

echo $query.PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

q=lucene&expand=true&expand.rows=50&expand.q=text:product&expand.fq=manu:apple&expand.fq=inStock:true&expand.sort=score desc,title asc

Veja Também

  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query


Sets the expand.q parameter

  • « SolrQuery::setExpand
  • SolrQuery::setExpandRows »
  • PHP Manual
  • SolrQuery
  • Sets the expand.q parameter

SolrQuery::setExpandQuery

(PECL solr >= 2.2.0)

SolrQuery::setExpandQuery — Sets the expand.q parameter

Descrição

public SolrQuery::setExpandQuery ( string $q ) : SolrQuery

Sets the expand.q parameter.

Overrides the main q parameter, determines which documents to include in the main group.

Parâmetros

q

Valor Retornado

SolrQuery

Veja Também

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query


Sets the number of rows to display in each group (expand.rows). Server Default 5

  • « SolrQuery::setExpandQuery
  • SolrQuery::setExplainOther »
  • PHP Manual
  • SolrQuery
  • Sets the number of rows to display in each group (expand.rows). Server Default 5

SolrQuery::setExpandRows

(PECL solr >= 2.2.0)

SolrQuery::setExpandRows — Sets the number of rows to display in each group (expand.rows). Server Default 5

Descrição

public SolrQuery::setExpandRows ( int $value ) : SolrQuery

Sets the number of rows to display in each group (expand.rows). Server Default 5

Parâmetros

value

Valor Retornado

SolrQuery

Veja Também

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query


Sets the explainOther common query parameter

  • « SolrQuery::setExpandRows
  • SolrQuery::setFacet »
  • PHP Manual
  • SolrQuery
  • Sets the explainOther common query parameter

SolrQuery::setExplainOther

(PECL solr >= 0.9.2)

SolrQuery::setExplainOther — Sets the explainOther common query parameter

Descrição

public SolrQuery::setExplainOther ( string $query ) : SolrQuery

Sets the explainOther common query parameter

Parâmetros

query

The Lucene query to identify a set of documents

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Maps to the facet parameter. Enables or disables facetting

  • « SolrQuery::setExplainOther
  • SolrQuery::setFacetDateEnd »
  • PHP Manual
  • SolrQuery
  • Maps to the facet parameter. Enables or disables facetting

SolrQuery::setFacet

(PECL solr >= 0.9.2)

SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting

Descrição

public SolrQuery::setFacet ( bool $flag ) : SolrQuery

Enables or disables faceting.

Parâmetros

value

true enables faceting and false disables it.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Maps to facet.date.end

  • « SolrQuery::setFacet
  • SolrQuery::setFacetDateGap »
  • PHP Manual
  • SolrQuery
  • Maps to facet.date.end

SolrQuery::setFacetDateEnd

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateEnd — Maps to facet.date.end

Descrição

public SolrQuery::setFacetDateEnd ( string $value , string $field_override = ? ) : SolrQuery

Maps to facet.date.end

Parâmetros

value

See facet.date.end

field_override

Name of the field

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Maps to facet.date.gap

  • « SolrQuery::setFacetDateEnd
  • SolrQuery::setFacetDateHardEnd »
  • PHP Manual
  • SolrQuery
  • Maps to facet.date.gap

SolrQuery::setFacetDateGap

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateGap — Maps to facet.date.gap

Descrição

public SolrQuery::setFacetDateGap ( string $value , string $field_override = ? ) : SolrQuery

Maps to facet.date.gap

Parâmetros

value

See facet.date.gap

field_override

The name of the field

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Maps to facet.date.hardend

  • « SolrQuery::setFacetDateGap
  • SolrQuery::setFacetDateStart »
  • PHP Manual
  • SolrQuery
  • Maps to facet.date.hardend

SolrQuery::setFacetDateHardEnd

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend

Descrição

public SolrQuery::setFacetDateHardEnd ( bool $value , string $field_override = ? ) : SolrQuery

Maps to facet.date.hardend

Parâmetros

value

See facet.date.hardend

field_override

The name of the field

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Maps to facet.date.start

  • « SolrQuery::setFacetDateHardEnd
  • SolrQuery::setFacetEnumCacheMinDefaultFrequency »
  • PHP Manual
  • SolrQuery
  • Maps to facet.date.start

SolrQuery::setFacetDateStart

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateStart — Maps to facet.date.start

Descrição

public SolrQuery::setFacetDateStart ( string $value , string $field_override = ? ) : SolrQuery

Maps to facet.date.start

Parâmetros

value

See facet.date.start

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the minimum document frequency used for determining term count

  • « SolrQuery::setFacetDateStart
  • SolrQuery::setFacetLimit »
  • PHP Manual
  • SolrQuery
  • Sets the minimum document frequency used for determining term count

SolrQuery::setFacetEnumCacheMinDefaultFrequency

(PECL solr >= 0.9.2)

SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count

Descrição

public SolrQuery::setFacetEnumCacheMinDefaultFrequency ( int $frequency , string $field_override = ? ) : SolrQuery

Sets the minimum document frequency used for determining term count

Parâmetros

value

The minimum frequency

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Maps to facet.limit

  • « SolrQuery::setFacetEnumCacheMinDefaultFrequency
  • SolrQuery::setFacetMethod »
  • PHP Manual
  • SolrQuery
  • Maps to facet.limit

SolrQuery::setFacetLimit

(PECL solr >= 0.9.2)

SolrQuery::setFacetLimit — Maps to facet.limit

Descrição

public SolrQuery::setFacetLimit ( int $limit , string $field_override = ? ) : SolrQuery

Maps to facet.limit. Sets the maximum number of constraint counts that should be returned for the facet fields.

Parâmetros

limit

The maximum number of constraint counts

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Specifies the type of algorithm to use when faceting a field

  • « SolrQuery::setFacetLimit
  • SolrQuery::setFacetMinCount »
  • PHP Manual
  • SolrQuery
  • Specifies the type of algorithm to use when faceting a field

SolrQuery::setFacetMethod

(PECL solr >= 0.9.2)

SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field

Descrição

public SolrQuery::setFacetMethod ( string $method , string $field_override = ? ) : SolrQuery

Specifies the type of algorithm to use when faceting a field. This method accepts optional field override.

Parâmetros

method

The method to use.

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Maps to facet.mincount

  • « SolrQuery::setFacetMethod
  • SolrQuery::setFacetMissing »
  • PHP Manual
  • SolrQuery
  • Maps to facet.mincount

SolrQuery::setFacetMinCount

(PECL solr >= 0.9.2)

SolrQuery::setFacetMinCount — Maps to facet.mincount

Descrição

public SolrQuery::setFacetMinCount ( int $mincount , string $field_override = ? ) : SolrQuery

Sets the minimum counts for facet fields that should be included in the response

Parâmetros

mincount

The minimum count

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Maps to facet.missing

  • « SolrQuery::setFacetMinCount
  • SolrQuery::setFacetOffset »
  • PHP Manual
  • SolrQuery
  • Maps to facet.missing

SolrQuery::setFacetMissing

(PECL solr >= 0.9.2)

SolrQuery::setFacetMissing — Maps to facet.missing

Descrição

public SolrQuery::setFacetMissing ( bool $flag , string $field_override = ? ) : SolrQuery

Used to indicate that in addition to the Term-based constraints of a facet field, a count of all matching results which have no value for the field should be computed

Parâmetros

flag

true turns this feature on. false disables it.

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the offset into the list of constraints to allow for pagination

  • « SolrQuery::setFacetMissing
  • SolrQuery::setFacetPrefix »
  • PHP Manual
  • SolrQuery
  • Sets the offset into the list of constraints to allow for pagination

SolrQuery::setFacetOffset

(PECL solr >= 0.9.2)

SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination

Descrição

public SolrQuery::setFacetOffset ( int $offset , string $field_override = ? ) : SolrQuery

Sets the offset into the list of constraints to allow for pagination.

Parâmetros

offset

The offset

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Specifies a string prefix with which to limits the terms on which to facet

  • « SolrQuery::setFacetOffset
  • SolrQuery::setFacetSort »
  • PHP Manual
  • SolrQuery
  • Specifies a string prefix with which to limits the terms on which to facet

SolrQuery::setFacetPrefix

(PECL solr >= 0.9.2)

SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet

Descrição

public SolrQuery::setFacetPrefix ( string $prefix , string $field_override = ? ) : SolrQuery

Specifies a string prefix with which to limits the terms on which to facet.

Parâmetros

prefix

The prefix string

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Determines the ordering of the facet field constraints

  • « SolrQuery::setFacetPrefix
  • SolrQuery::setGroup »
  • PHP Manual
  • SolrQuery
  • Determines the ordering of the facet field constraints

SolrQuery::setFacetSort

(PECL solr >= 0.9.2)

SolrQuery::setFacetSort — Determines the ordering of the facet field constraints

Descrição

public SolrQuery::setFacetSort ( int $facetSort , string $field_override = ? ) : SolrQuery

Determines the ordering of the facet field constraints

Parâmetros

facetSort

Use SolrQuery::FACET_SORT_INDEX for sorting by index order or SolrQuery::FACET_SORT_COUNT for sorting by count.

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Enable/Disable result grouping (group parameter)

  • « SolrQuery::setFacetSort
  • SolrQuery::setGroupCachePercent »
  • PHP Manual
  • SolrQuery
  • Enable/Disable result grouping (group parameter)

SolrQuery::setGroup

(PECL solr >= 2.2.0)

SolrQuery::setGroup — Enable/Disable result grouping (group parameter)

Descrição

public SolrQuery::setGroup ( bool $value ) : SolrQuery

Enable/Disable result grouping (group parameter)

Parâmetros

value

Valor Retornado

Veja Também

  • SolrQuery::getGroup() - Returns true if grouping is enabled
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Enables caching for result grouping

  • « SolrQuery::setGroup
  • SolrQuery::setGroupFacet »
  • PHP Manual
  • SolrQuery
  • Enables caching for result grouping

SolrQuery::setGroupCachePercent

(PECL solr >= 2.2.0)

SolrQuery::setGroupCachePercent — Enables caching for result grouping

Descrição

public SolrQuery::setGroupCachePercent ( int $percent ) : SolrQuery

Setting this parameter to a number greater than 0 enables caching for result grouping. Result Grouping executes two searches; this option caches the second search. The server default value is 0. Testing has shown that group caching only improves search time with Boolean, wildcard, and fuzzy queries. For simple queries like term or "match all" queries, group caching degrades performance. group.cache.percent parameter

Parâmetros

percent

Valor Retornado

Erros

Emits SolrIllegalArgumentException in case of an invalid parameter was passed.

Veja Também

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)


Sets group.facet parameter

  • « SolrQuery::setGroupCachePercent
  • SolrQuery::setGroupFormat »
  • PHP Manual
  • SolrQuery
  • Sets group.facet parameter

SolrQuery::setGroupFacet

(PECL solr >= 2.2.0)

SolrQuery::setGroupFacet — Sets group.facet parameter

Descrição

public SolrQuery::setGroupFacet ( bool $value ) : SolrQuery

Determines whether to compute grouped facets for the field facets specified in facet.field parameters. Grouped facets are computed based on the first specified group.

Parâmetros

value

Valor Retornado

Veja Também

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Sets the group format, result structure (group.format parameter)

  • « SolrQuery::setGroupFacet
  • SolrQuery::setGroupLimit »
  • PHP Manual
  • SolrQuery
  • Sets the group format, result structure (group.format parameter)

SolrQuery::setGroupFormat

(PECL solr >= 2.2.0)

SolrQuery::setGroupFormat — Sets the group format, result structure (group.format parameter)

Descrição

public SolrQuery::setGroupFormat ( string $value ) : SolrQuery

Sets the group.format parameter. If this parameter is set to simple, the grouped documents are presented in a single flat list, and the start and rows parameters affect the numbers of documents instead of groups. Accepts: grouped/simple

Parâmetros

value

Valor Retornado

Veja Também

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Specifies the number of results to return for each group. The server default value is 1

  • « SolrQuery::setGroupFormat
  • SolrQuery::setGroupMain »
  • PHP Manual
  • SolrQuery
  • Specifies the number of results to return for each group. The server default value is 1

SolrQuery::setGroupLimit

(PECL solr >= 2.2.0)

SolrQuery::setGroupLimit — Specifies the number of results to return for each group. The server default value is 1

Descrição

public SolrQuery::setGroupLimit ( int $value ) : SolrQuery

Specifies the number of results to return for each group. The server default value is 1.

Parâmetros

value

Valor Retornado

Veja Também

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple

  • « SolrQuery::setGroupLimit
  • SolrQuery::setGroupNGroups »
  • PHP Manual
  • SolrQuery
  • If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple

SolrQuery::setGroupMain

(PECL solr >= 2.2.0)

SolrQuery::setGroupMain — If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple

Descrição

public SolrQuery::setGroupMain ( string $value ) : SolrQuery

If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.

Parâmetros

value

Valor Retornado

Veja Também

Veja Também

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupMain()
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


If true, Solr includes the number of groups that have matched the query in the results

  • « SolrQuery::setGroupMain
  • SolrQuery::setGroupOffset »
  • PHP Manual
  • SolrQuery
  • If true, Solr includes the number of groups that have matched the query in the results

SolrQuery::setGroupNGroups

(PECL solr >= 2.2.0)

SolrQuery::setGroupNGroups — If true, Solr includes the number of groups that have matched the query in the results

Descrição

public SolrQuery::setGroupNGroups ( bool $value ) : SolrQuery

If true, Solr includes the number of groups that have matched the query in the results.

Parâmetros

value

Valor Retornado

Veja Também

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Sets the group.offset parameter

  • « SolrQuery::setGroupNGroups
  • SolrQuery::setGroupTruncate »
  • PHP Manual
  • SolrQuery
  • Sets the group.offset parameter

SolrQuery::setGroupOffset

(PECL solr >= 2.2.0)

SolrQuery::setGroupOffset — Sets the group.offset parameter

Descrição

public SolrQuery::setGroupOffset ( int $value ) : SolrQuery

Sets the group.offset parameter.

Parâmetros

value

Valor Retornado

Veja Também

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


If true, facet counts are based on the most relevant document of each group matching the query

  • « SolrQuery::setGroupOffset
  • SolrQuery::setHighlight »
  • PHP Manual
  • SolrQuery
  • If true, facet counts are based on the most relevant document of each group matching the query

SolrQuery::setGroupTruncate

(PECL solr >= 2.2.0)

SolrQuery::setGroupTruncate — If true, facet counts are based on the most relevant document of each group matching the query

Descrição

public SolrQuery::setGroupTruncate ( bool $value ) : SolrQuery

If true, facet counts are based on the most relevant document of each group matching the query. The server default value is false. group.truncate parameter

Parâmetros

value

Valor Retornado

Veja Também

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Enables or disables highlighting

  • « SolrQuery::setGroupTruncate
  • SolrQuery::setHighlightAlternateField »
  • PHP Manual
  • SolrQuery
  • Enables or disables highlighting

SolrQuery::setHighlight

(PECL solr >= 0.9.2)

SolrQuery::setHighlight — Enables or disables highlighting

Descrição

public SolrQuery::setHighlight ( bool $flag ) : SolrQuery

Setting it to true enables highlighted snippets to be generated in the query response.

Setting it to false disables highlighting

Parâmetros

flag

Enable or disable highlighting

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Specifies the backup field to use

  • « SolrQuery::setHighlight
  • SolrQuery::setHighlightFormatter »
  • PHP Manual
  • SolrQuery
  • Specifies the backup field to use

SolrQuery::setHighlightAlternateField

(PECL solr >= 0.9.2)

SolrQuery::setHighlightAlternateField — Specifies the backup field to use

Descrição

public SolrQuery::setHighlightAlternateField ( string $field , string $field_override = ? ) : SolrQuery

If a snippet cannot be generated because there were no matching terms, one can specify a field to use as the backup or default summary

Parâmetros

field

The name of the backup field

field_override

The name of the field we are overriding this setting for.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Specify a formatter for the highlight output

  • « SolrQuery::setHighlightAlternateField
  • SolrQuery::setHighlightFragmenter »
  • PHP Manual
  • SolrQuery
  • Specify a formatter for the highlight output

SolrQuery::setHighlightFormatter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output

Descrição

public SolrQuery::setHighlightFormatter ( string $formatter , string $field_override = ? ) : SolrQuery

Specify a formatter for the highlight output.

Parâmetros

formatter

Currently the only legal value is "simple"

field_override

The name of the field.


Sets a text snippet generator for highlighted text

  • « SolrQuery::setHighlightFormatter
  • SolrQuery::setHighlightFragsize »
  • PHP Manual
  • SolrQuery
  • Sets a text snippet generator for highlighted text

SolrQuery::setHighlightFragmenter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text

Descrição

public SolrQuery::setHighlightFragmenter ( string $fragmenter , string $field_override = ? ) : SolrQuery

Specify a text snippet generator for highlighted text.

Parâmetros

fragmenter

The standard fragmenter is gap. Another option is regex, which tries to create fragments that resembles a certain regular expression

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


The size of fragments to consider for highlighting

  • « SolrQuery::setHighlightFragmenter
  • SolrQuery::setHighlightHighlightMultiTerm »
  • PHP Manual
  • SolrQuery
  • The size of fragments to consider for highlighting

SolrQuery::setHighlightFragsize

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting

Descrição

public SolrQuery::setHighlightFragsize ( int $size , string $field_override = ? ) : SolrQuery

Sets the size, in characters, of fragments to consider for highlighting. "0" indicates that the whole field value should be used (no fragmenting).

Parâmetros

size

The size, in characters, of fragments to consider for highlighting

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Use SpanScorer to highlight phrase terms

  • « SolrQuery::setHighlightFragsize
  • SolrQuery::setHighlightMaxAlternateFieldLength »
  • PHP Manual
  • SolrQuery
  • Use SpanScorer to highlight phrase terms

SolrQuery::setHighlightHighlightMultiTerm

(PECL solr >= 0.9.2)

SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms

Descrição

public SolrQuery::setHighlightHighlightMultiTerm ( bool $flag ) : SolrQuery

Use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Parâmetros

flag

Whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the maximum number of characters of the field to return

  • « SolrQuery::setHighlightHighlightMultiTerm
  • SolrQuery::setHighlightMaxAnalyzedChars »
  • PHP Manual
  • SolrQuery
  • Sets the maximum number of characters of the field to return

SolrQuery::setHighlightMaxAlternateFieldLength

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return

Descrição

public SolrQuery::setHighlightMaxAlternateFieldLength ( int $fieldLength , string $field_override = ? ) : SolrQuery

If SolrQuery::setHighlightAlternateField() was passed the value true, this parameter specifies the maximum number of characters of the field to return

Any value less than or equal to 0 means unlimited.

Parâmetros

fieldLength

The length of the field

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Specifies the number of characters into a document to look for suitable snippets

  • « SolrQuery::setHighlightMaxAlternateFieldLength
  • SolrQuery::setHighlightMergeContiguous »
  • PHP Manual
  • SolrQuery
  • Specifies the number of characters into a document to look for suitable snippets

SolrQuery::setHighlightMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets

Descrição

public SolrQuery::setHighlightMaxAnalyzedChars ( int $value ) : SolrQuery

Specifies the number of characters into a document to look for suitable snippets

Parâmetros

value

The number of characters into a document to look for suitable snippets

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Whether or not to collapse contiguous fragments into a single fragment

  • « SolrQuery::setHighlightMaxAnalyzedChars
  • SolrQuery::setHighlightRegexMaxAnalyzedChars »
  • PHP Manual
  • SolrQuery
  • Whether or not to collapse contiguous fragments into a single fragment

SolrQuery::setHighlightMergeContiguous

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment

Descrição

public SolrQuery::setHighlightMergeContiguous ( bool $flag , string $field_override = ? ) : SolrQuery

Whether or not to collapse contiguous fragments into a single fragment

Parâmetros

value

Whether or not to collapse contiguous fragments into a single fragment

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Specify the maximum number of characters to analyze

  • « SolrQuery::setHighlightMergeContiguous
  • SolrQuery::setHighlightRegexPattern »
  • PHP Manual
  • SolrQuery
  • Specify the maximum number of characters to analyze

SolrQuery::setHighlightRegexMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze

Descrição

public SolrQuery::setHighlightRegexMaxAnalyzedChars ( int $maxAnalyzedChars ) : SolrQuery

Specify the maximum number of characters to analyze from a field when using the regex fragmenter

Parâmetros

maxAnalyzedChars

The maximum number of characters to analyze from a field when using the regex fragmenter

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Specify the regular expression for fragmenting

  • « SolrQuery::setHighlightRegexMaxAnalyzedChars
  • SolrQuery::setHighlightRegexSlop »
  • PHP Manual
  • SolrQuery
  • Specify the regular expression for fragmenting

SolrQuery::setHighlightRegexPattern

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting

Descrição

public SolrQuery::setHighlightRegexPattern ( string $value ) : SolrQuery

Specifies the regular expression for fragmenting. This could be used to extract sentences

Parâmetros

value

The regular expression for fragmenting. This could be used to extract sentences

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the factor by which the regex fragmenter can stray from the ideal fragment size

  • « SolrQuery::setHighlightRegexPattern
  • SolrQuery::setHighlightRequireFieldMatch »
  • PHP Manual
  • SolrQuery
  • Sets the factor by which the regex fragmenter can stray from the ideal fragment size

SolrQuery::setHighlightRegexSlop

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size

Descrição

public SolrQuery::setHighlightRegexSlop ( float $factor ) : SolrQuery

The factor by which the regex fragmenter can stray from the ideal fragment size ( specfied by SolrQuery::setHighlightFragsize )to accommodate the regular expression

Parâmetros

factor

The factor by which the regex fragmenter can stray from the ideal fragment size

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Require field matching during highlighting

  • « SolrQuery::setHighlightRegexSlop
  • SolrQuery::setHighlightSimplePost »
  • PHP Manual
  • SolrQuery
  • Require field matching during highlighting

SolrQuery::setHighlightRequireFieldMatch

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting

Descrição

public SolrQuery::setHighlightRequireFieldMatch ( bool $flag ) : SolrQuery

If true, then a field will only be highlighted if the query matched in this particular field.

This will only work if SolrQuery::setHighlightUsePhraseHighlighter() was set to true

Parâmetros

flag

true or false

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the text which appears after a highlighted term

  • « SolrQuery::setHighlightRequireFieldMatch
  • SolrQuery::setHighlightSimplePre »
  • PHP Manual
  • SolrQuery
  • Sets the text which appears after a highlighted term

SolrQuery::setHighlightSimplePost

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term

Descrição

public SolrQuery::setHighlightSimplePost ( string $simplePost , string $field_override = ? ) : SolrQuery

Sets the text which appears before a highlighted term

Parâmetros

simplePost

Sets the text which appears after a highlighted term

The default is </em>

field_override

The name of the field.


Sets the text which appears before a highlighted term

  • « SolrQuery::setHighlightSimplePost
  • SolrQuery::setHighlightSnippets »
  • PHP Manual
  • SolrQuery
  • Sets the text which appears before a highlighted term

SolrQuery::setHighlightSimplePre

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term

Descrição

public SolrQuery::setHighlightSimplePre ( string $simplePre , string $field_override = ? ) : SolrQuery

Sets the text which appears before a highlighted term

The default is <em>

Parâmetros

simplePre

The text which appears before a highlighted term

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the maximum number of highlighted snippets to generate per field

  • « SolrQuery::setHighlightSimplePre
  • SolrQuery::setHighlightUsePhraseHighlighter »
  • PHP Manual
  • SolrQuery
  • Sets the maximum number of highlighted snippets to generate per field

SolrQuery::setHighlightSnippets

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field

Descrição

public SolrQuery::setHighlightSnippets ( int $value , string $field_override = ? ) : SolrQuery

Sets the maximum number of highlighted snippets to generate per field

Parâmetros

value

The maximum number of highlighted snippets to generate per field

field_override

The name of the field.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Whether to highlight phrase terms only when they appear within the query phrase

  • « SolrQuery::setHighlightSnippets
  • SolrQuery::setMlt »
  • PHP Manual
  • SolrQuery
  • Whether to highlight phrase terms only when they appear within the query phrase

SolrQuery::setHighlightUsePhraseHighlighter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase

Descrição

public SolrQuery::setHighlightUsePhraseHighlighter ( bool $flag ) : SolrQuery

Sets whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document

Parâmetros

value

Whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Enables or disables moreLikeThis

  • « SolrQuery::setHighlightUsePhraseHighlighter
  • SolrQuery::setMltBoost »
  • PHP Manual
  • SolrQuery
  • Enables or disables moreLikeThis

SolrQuery::setMlt

(PECL solr >= 0.9.2)

SolrQuery::setMlt — Enables or disables moreLikeThis

Descrição

public SolrQuery::setMlt ( bool $flag ) : SolrQuery

Enables or disables moreLikeThis

Parâmetros

flag

true enables it and false turns it off.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Set if the query will be boosted by the interesting term relevance

  • « SolrQuery::setMlt
  • SolrQuery::setMltCount »
  • PHP Manual
  • SolrQuery
  • Set if the query will be boosted by the interesting term relevance

SolrQuery::setMltBoost

(PECL solr >= 0.9.2)

SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance

Descrição

public SolrQuery::setMltBoost ( bool $flag ) : SolrQuery

Set if the query will be boosted by the interesting term relevance

Parâmetros

value

Sets to true or false

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Set the number of similar documents to return for each result

  • « SolrQuery::setMltBoost
  • SolrQuery::setMltMaxNumQueryTerms »
  • PHP Manual
  • SolrQuery
  • Set the number of similar documents to return for each result

SolrQuery::setMltCount

(PECL solr >= 0.9.2)

SolrQuery::setMltCount — Set the number of similar documents to return for each result

Descrição

public SolrQuery::setMltCount ( int $count ) : SolrQuery

Set the number of similar documents to return for each result

Parâmetros

count

The number of similar documents to return for each result

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the maximum number of query terms included

  • « SolrQuery::setMltCount
  • SolrQuery::setMltMaxNumTokens »
  • PHP Manual
  • SolrQuery
  • Sets the maximum number of query terms included

SolrQuery::setMltMaxNumQueryTerms

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included

Descrição

public SolrQuery::setMltMaxNumQueryTerms ( int $value ) : SolrQuery

Sets the maximum number of query terms that will be included in any generated query.

Parâmetros

value

The maximum number of query terms that will be included in any generated query

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Specifies the maximum number of tokens to parse

  • « SolrQuery::setMltMaxNumQueryTerms
  • SolrQuery::setMltMaxWordLength »
  • PHP Manual
  • SolrQuery
  • Specifies the maximum number of tokens to parse

SolrQuery::setMltMaxNumTokens

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse

Descrição

public SolrQuery::setMltMaxNumTokens ( int $value ) : SolrQuery

Specifies the maximum number of tokens to parse in each example doc field that is not stored with TermVector support.

Parâmetros

value

The maximum number of tokens to parse

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the maximum word length

  • « SolrQuery::setMltMaxNumTokens
  • SolrQuery::setMltMinDocFrequency »
  • PHP Manual
  • SolrQuery
  • Sets the maximum word length

SolrQuery::setMltMaxWordLength

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxWordLength — Sets the maximum word length

Descrição

public SolrQuery::setMltMaxWordLength ( int $maxWordLength ) : SolrQuery

Sets the maximum word length above which words will be ignored.

Parâmetros

maxWordLength

The maximum word length above which words will be ignored

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the mltMinDoc frequency

  • « SolrQuery::setMltMaxWordLength
  • SolrQuery::setMltMinTermFrequency »
  • PHP Manual
  • SolrQuery
  • Sets the mltMinDoc frequency

SolrQuery::setMltMinDocFrequency

(PECL solr >= 0.9.2)

SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency

Descrição

public SolrQuery::setMltMinDocFrequency ( int $minDocFrequency ) : SolrQuery

The frequency at which words will be ignored which do not occur in at least this many docs.

Parâmetros

minDocFrequency

Sets the frequency at which words will be ignored which do not occur in at least this many docs.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the frequency below which terms will be ignored in the source docs

  • « SolrQuery::setMltMinDocFrequency
  • SolrQuery::setMltMinWordLength »
  • PHP Manual
  • SolrQuery
  • Sets the frequency below which terms will be ignored in the source docs

SolrQuery::setMltMinTermFrequency

(PECL solr >= 0.9.2)

SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs

Descrição

public SolrQuery::setMltMinTermFrequency ( int $minTermFrequency ) : SolrQuery

Sets the frequency below which terms will be ignored in the source docs

Parâmetros

minTermFrequency

The frequency below which terms will be ignored in the source docs

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the minimum word length

  • « SolrQuery::setMltMinTermFrequency
  • SolrQuery::setOmitHeader »
  • PHP Manual
  • SolrQuery
  • Sets the minimum word length

SolrQuery::setMltMinWordLength

(PECL solr >= 0.9.2)

SolrQuery::setMltMinWordLength — Sets the minimum word length

Descrição

public SolrQuery::setMltMinWordLength ( int $minWordLength ) : SolrQuery

Sets the minimum word length below which words will be ignored.

Parâmetros

minWordLength

The minimum word length below which words will be ignored

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Exclude the header from the returned results

  • « SolrQuery::setMltMinWordLength
  • SolrQuery::setQuery »
  • PHP Manual
  • SolrQuery
  • Exclude the header from the returned results

SolrQuery::setOmitHeader

(PECL solr >= 0.9.2)

SolrQuery::setOmitHeader — Exclude the header from the returned results

Descrição

public SolrQuery::setOmitHeader ( bool $flag ) : SolrQuery

Exclude the header from the returned results.

Parâmetros

flag

true excludes the header from the result.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the search query

  • « SolrQuery::setOmitHeader
  • SolrQuery::setRows »
  • PHP Manual
  • SolrQuery
  • Sets the search query

SolrQuery::setQuery

(PECL solr >= 0.9.2)

SolrQuery::setQuery — Sets the search query

Descrição

public SolrQuery::setQuery ( string $query ) : SolrQuery

Sets the search query.

Parâmetros

query

The search query

Valor Retornado

Returns the current SolrQuery object


Specifies the maximum number of rows to return in the result

  • « SolrQuery::setQuery
  • SolrQuery::setShowDebugInfo »
  • PHP Manual
  • SolrQuery
  • Specifies the maximum number of rows to return in the result

SolrQuery::setRows

(PECL solr >= 0.9.2)

SolrQuery::setRows — Specifies the maximum number of rows to return in the result

Descrição

public SolrQuery::setRows ( int $rows ) : SolrQuery

Specifies the maximum number of rows to return in the result

Parâmetros

rows

The maximum number of rows to return

Valor Retornado

Returns the current SolrQuery object.


Flag to show debug information

  • « SolrQuery::setRows
  • SolrQuery::setStart »
  • PHP Manual
  • SolrQuery
  • Flag to show debug information

SolrQuery::setShowDebugInfo

(PECL solr >= 0.9.2)

SolrQuery::setShowDebugInfo — Flag to show debug information

Descrição

public SolrQuery::setShowDebugInfo ( bool $flag ) : SolrQuery

Whether to show debug info

Parâmetros

flag

Whether to show debug info. true or false

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Specifies the number of rows to skip

  • « SolrQuery::setShowDebugInfo
  • SolrQuery::setStats »
  • PHP Manual
  • SolrQuery
  • Specifies the number of rows to skip

SolrQuery::setStart

(PECL solr >= 0.9.2)

SolrQuery::setStart — Specifies the number of rows to skip

Descrição

public SolrQuery::setStart ( int $start ) : SolrQuery

Specifies the number of rows to skip. Useful in pagination of results.

Parâmetros

start

The number of rows to skip.

Valor Retornado

Returns the current SolrQuery object.


Enables or disables the Stats component

  • « SolrQuery::setStart
  • SolrQuery::setTerms »
  • PHP Manual
  • SolrQuery
  • Enables or disables the Stats component

SolrQuery::setStats

(PECL solr >= 0.9.2)

SolrQuery::setStats — Enables or disables the Stats component

Descrição

public SolrQuery::setStats ( bool $flag ) : SolrQuery

Enables or disables the Stats component.

Parâmetros

flag

true turns on the stats component and false disables it.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Enables or disables the TermsComponent

  • « SolrQuery::setStats
  • SolrQuery::setTermsField »
  • PHP Manual
  • SolrQuery
  • Enables or disables the TermsComponent

SolrQuery::setTerms

(PECL solr >= 0.9.2)

SolrQuery::setTerms — Enables or disables the TermsComponent

Descrição

public SolrQuery::setTerms ( bool $flag ) : SolrQuery

Enables or disables the TermsComponent

Parâmetros

flag

true enables it. false turns it off

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the name of the field to get the Terms from

  • « SolrQuery::setTerms
  • SolrQuery::setTermsIncludeLowerBound »
  • PHP Manual
  • SolrQuery
  • Sets the name of the field to get the Terms from

SolrQuery::setTermsField

(PECL solr >= 0.9.2)

SolrQuery::setTermsField — Sets the name of the field to get the Terms from

Descrição

public SolrQuery::setTermsField ( string $fieldname ) : SolrQuery

Sets the name of the field to get the terms from

Parâmetros

fieldname

The field name

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Include the lower bound term in the result set

  • « SolrQuery::setTermsField
  • SolrQuery::setTermsIncludeUpperBound »
  • PHP Manual
  • SolrQuery
  • Include the lower bound term in the result set

SolrQuery::setTermsIncludeLowerBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set

Descrição

public SolrQuery::setTermsIncludeLowerBound ( bool $flag ) : SolrQuery

Include the lower bound term in the result set.

Parâmetros

flag

Include the lower bound term in the result set

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Include the upper bound term in the result set

  • « SolrQuery::setTermsIncludeLowerBound
  • SolrQuery::setTermsLimit »
  • PHP Manual
  • SolrQuery
  • Include the upper bound term in the result set

SolrQuery::setTermsIncludeUpperBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set

Descrição

public SolrQuery::setTermsIncludeUpperBound ( bool $flag ) : SolrQuery

Include the upper bound term in the result set.

Parâmetros

flag

true or false

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the maximum number of terms to return

  • « SolrQuery::setTermsIncludeUpperBound
  • SolrQuery::setTermsLowerBound »
  • PHP Manual
  • SolrQuery
  • Sets the maximum number of terms to return

SolrQuery::setTermsLimit

(PECL solr >= 0.9.2)

SolrQuery::setTermsLimit — Sets the maximum number of terms to return

Descrição

public SolrQuery::setTermsLimit ( int $limit ) : SolrQuery

Sets the maximum number of terms to return

Parâmetros

limit

The maximum number of terms to return. All the terms will be returned if the limit is negative.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Specifies the Term to start from

  • « SolrQuery::setTermsLimit
  • SolrQuery::setTermsMaxCount »
  • PHP Manual
  • SolrQuery
  • Specifies the Term to start from

SolrQuery::setTermsLowerBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsLowerBound — Specifies the Term to start from

Descrição

public SolrQuery::setTermsLowerBound ( string $lowerBound ) : SolrQuery

Specifies the Term to start from

Parâmetros

lowerBound

The lower bound Term

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the maximum document frequency

  • « SolrQuery::setTermsLowerBound
  • SolrQuery::setTermsMinCount »
  • PHP Manual
  • SolrQuery
  • Sets the maximum document frequency

SolrQuery::setTermsMaxCount

(PECL solr >= 0.9.2)

SolrQuery::setTermsMaxCount — Sets the maximum document frequency

Descrição

public SolrQuery::setTermsMaxCount ( int $frequency ) : SolrQuery

Sets the maximum document frequency.

Parâmetros

frequency

The maximum document frequency.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the minimum document frequency

  • « SolrQuery::setTermsMaxCount
  • SolrQuery::setTermsPrefix »
  • PHP Manual
  • SolrQuery
  • Sets the minimum document frequency

SolrQuery::setTermsMinCount

(PECL solr >= 0.9.2)

SolrQuery::setTermsMinCount — Sets the minimum document frequency

Descrição

public SolrQuery::setTermsMinCount ( int $frequency ) : SolrQuery

Sets the minimum doc frequency to return in order to be included

Parâmetros

frequency

The minimum frequency

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Restrict matches to terms that start with the prefix

  • « SolrQuery::setTermsMinCount
  • SolrQuery::setTermsReturnRaw »
  • PHP Manual
  • SolrQuery
  • Restrict matches to terms that start with the prefix

SolrQuery::setTermsPrefix

(PECL solr >= 0.9.2)

SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix

Descrição

public SolrQuery::setTermsPrefix ( string $prefix ) : SolrQuery

Restrict matches to terms that start with the prefix

Parâmetros

prefix

Restrict matches to terms that start with the prefix

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Return the raw characters of the indexed term

  • « SolrQuery::setTermsPrefix
  • SolrQuery::setTermsSort »
  • PHP Manual
  • SolrQuery
  • Return the raw characters of the indexed term

SolrQuery::setTermsReturnRaw

(PECL solr >= 0.9.2)

SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term

Descrição

public SolrQuery::setTermsReturnRaw ( bool $flag ) : SolrQuery

If true, return the raw characters of the indexed term, regardless of if it is human readable

Parâmetros

value

true or false

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Specifies how to sort the returned terms

  • « SolrQuery::setTermsReturnRaw
  • SolrQuery::setTermsUpperBound »
  • PHP Manual
  • SolrQuery
  • Specifies how to sort the returned terms

SolrQuery::setTermsSort

(PECL solr >= 0.9.2)

SolrQuery::setTermsSort — Specifies how to sort the returned terms

Descrição

public SolrQuery::setTermsSort ( int $sortType ) : SolrQuery

If SolrQuery::TERMS_SORT_COUNT, sorts the terms by the term frequency (highest count first). If SolrQuery::TERMS_SORT_INDEX, returns the terms in index order

Parâmetros

sortType

SolrQuery::TERMS_SORT_INDEX or SolrQuery::TERMS_SORT_COUNT

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


Sets the term to stop at

  • « SolrQuery::setTermsSort
  • SolrQuery::setTimeAllowed »
  • PHP Manual
  • SolrQuery
  • Sets the term to stop at

SolrQuery::setTermsUpperBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsUpperBound — Sets the term to stop at

Descrição

public SolrQuery::setTermsUpperBound ( string $upperBound ) : SolrQuery

Sets the term to stop at

Parâmetros

upperBound

The term to stop at

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


The time allowed for search to finish

  • « SolrQuery::setTermsUpperBound
  • SolrDisMaxQuery »
  • PHP Manual
  • SolrQuery
  • The time allowed for search to finish

SolrQuery::setTimeAllowed

(PECL solr >= 0.9.2)

SolrQuery::setTimeAllowed — The time allowed for search to finish

Descrição

public SolrQuery::setTimeAllowed ( int $timeAllowed ) : SolrQuery

The time allowed for a search to finish. This value only applies to the search and not to requests in general. Time is in milliseconds. Values less than or equal to zero implies no time restriction. Partial results may be returned, if there are any.

Parâmetros

timeAllowed

The time allowed for a search to finish.

Valor Retornado

Returns the current SolrQuery object, if the return value is used.


The SolrDisMaxQuery class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

Sinopse da classe

SolrDisMaxQuery extends SolrQuery implements Serializable {
/* Propriedades herdadas */
const int SolrQuery::ORDER_ASC = 0 ;
const int SolrQuery::ORDER_DESC = 1 ;
const int SolrQuery::FACET_SORT_INDEX = 0 ;
const int SolrQuery::FACET_SORT_COUNT = 1 ;
const int SolrQuery::TERMS_SORT_INDEX = 0 ;
const int SolrQuery::TERMS_SORT_COUNT = 1 ;
/* Métodos */
public addBigramPhraseField ( string $field , string $boost , string $slop = ? ) : SolrDisMaxQuery
public addBoostQuery ( string $field , string $value , string $boost = ? ) : SolrDisMaxQuery
public addPhraseField ( string $field , string $boost , string $slop = ? ) : SolrDisMaxQuery
public addQueryField ( string $field , string $boost = ? ) : SolrDisMaxQuery
public addTrigramPhraseField ( string $field , string $boost , string $slop = ? ) : SolrDisMaxQuery
public addUserField ( string $field ) : SolrDisMaxQuery
public __construct ( string $q = ? )
public removeBigramPhraseField ( string $field ) : SolrDisMaxQuery
public removeBoostQuery ( string $field ) : SolrDisMaxQuery
public removePhraseField ( string $field ) : SolrDisMaxQuery
public removeQueryField ( string $field ) : SolrDisMaxQuery
public removeTrigramPhraseField ( string $field ) : SolrDisMaxQuery
public removeUserField ( string $field ) : SolrDisMaxQuery
public setBigramPhraseFields ( string $fields ) : SolrDisMaxQuery
public setBigramPhraseSlop ( string $slop ) : SolrDisMaxQuery
public setBoostFunction ( string $function ) : SolrDisMaxQuery
public setBoostQuery ( string $q ) : SolrDisMaxQuery
public setMinimumMatch ( string $value ) : SolrDisMaxQuery
public setPhraseFields ( string $fields ) : SolrDisMaxQuery
public setPhraseSlop ( string $slop ) : SolrDisMaxQuery
public setQueryAlt ( string $q ) : SolrDisMaxQuery
public setQueryPhraseSlop ( string $slop ) : SolrDisMaxQuery
public setTieBreaker ( string $tieBreaker ) : SolrDisMaxQuery
public setTrigramPhraseFields ( string $fields ) : SolrDisMaxQuery
public setTrigramPhraseSlop ( string $slop ) : SolrDisMaxQuery
public setUserFields ( string $fields ) : SolrDisMaxQuery
public useDisMaxQueryParser ( ) : SolrDisMaxQuery
public useEDisMaxQueryParser ( ) : SolrDisMaxQuery
/* Métodos herdados */
public SolrQuery::addExpandFilterQuery ( string $fq ) : SolrQuery
public SolrQuery::addExpandSortField ( string $field , string $order = ? ) : SolrQuery
public SolrQuery::addFacetDateField ( string $dateField ) : SolrQuery
public SolrQuery::addFacetDateOther ( string $value , string $field_override = ? ) : SolrQuery
public SolrQuery::addFacetField ( string $field ) : SolrQuery
public SolrQuery::addFacetQuery ( string $facetQuery ) : SolrQuery
public SolrQuery::addField ( string $field ) : SolrQuery
public SolrQuery::addFilterQuery ( string $fq ) : SolrQuery
public SolrQuery::addGroupField ( string $value ) : SolrQuery
public SolrQuery::addGroupFunction ( string $value ) : SolrQuery
public SolrQuery::addGroupQuery ( string $value ) : SolrQuery
public SolrQuery::addGroupSortField ( string $field , int $order = ? ) : SolrQuery
public SolrQuery::addHighlightField ( string $field ) : SolrQuery
public SolrQuery::addMltField ( string $field ) : SolrQuery
public SolrQuery::addMltQueryField ( string $field , float $boost ) : SolrQuery
public SolrQuery::addSortField ( string $field , int $order = SolrQuery::ORDER_DESC ) : SolrQuery
public SolrQuery::addStatsFacet ( string $field ) : SolrQuery
public SolrQuery::addStatsField ( string $field ) : SolrQuery
public SolrQuery::collapse ( SolrCollapseFunction $collapseFunction ) : SolrQuery
public SolrQuery::__construct ( string $q = ? )
public SolrQuery::__destruct ( ) : void
public SolrQuery::getExpand ( ) : bool
public SolrQuery::getExpandFilterQueries ( ) : array
public SolrQuery::getExpandQuery ( ) : array
public SolrQuery::getExpandRows ( ) : int
public SolrQuery::getExpandSortFields ( ) : array
public SolrQuery::getFacet ( ) : bool
public SolrQuery::getFacetDateEnd ( string $field_override = ? ) : string
public SolrQuery::getFacetDateFields ( ) : array
public SolrQuery::getFacetDateGap ( string $field_override = ? ) : string
public SolrQuery::getFacetDateHardEnd ( string $field_override = ? ) : string
public SolrQuery::getFacetDateOther ( string $field_override = ? ) : array
public SolrQuery::getFacetDateStart ( string $field_override = ? ) : string
public SolrQuery::getFacetFields ( ) : array
public SolrQuery::getFacetLimit ( string $field_override = ? ) : int
public SolrQuery::getFacetMethod ( string $field_override = ? ) : string
public SolrQuery::getFacetMinCount ( string $field_override = ? ) : int
public SolrQuery::getFacetMissing ( string $field_override = ? ) : bool
public SolrQuery::getFacetOffset ( string $field_override = ? ) : int
public SolrQuery::getFacetPrefix ( string $field_override = ? ) : string
public SolrQuery::getFacetQueries ( ) : array
public SolrQuery::getFacetSort ( string $field_override = ? ) : int
public SolrQuery::getFields ( ) : array
public SolrQuery::getFilterQueries ( ) : array
public SolrQuery::getGroup ( ) : bool
public SolrQuery::getGroupCachePercent ( ) : int
public SolrQuery::getGroupFacet ( ) : bool
public SolrQuery::getGroupFields ( ) : array
public SolrQuery::getGroupFormat ( ) : string
public SolrQuery::getGroupFunctions ( ) : array
public SolrQuery::getGroupLimit ( ) : int
public SolrQuery::getGroupMain ( ) : bool
public SolrQuery::getGroupNGroups ( ) : bool
public SolrQuery::getGroupOffset ( ) : int
public SolrQuery::getGroupQueries ( ) : array
public SolrQuery::getGroupSortFields ( ) : array
public SolrQuery::getGroupTruncate ( ) : bool
public SolrQuery::getHighlight ( ) : bool
public SolrQuery::getHighlightAlternateField ( string $field_override = ? ) : string
public SolrQuery::getHighlightFields ( ) : array
public SolrQuery::getHighlightFormatter ( string $field_override = ? ) : string
public SolrQuery::getHighlightFragmenter ( string $field_override = ? ) : string
public SolrQuery::getHighlightFragsize ( string $field_override = ? ) : int
public SolrQuery::getHighlightHighlightMultiTerm ( ) : bool
public SolrQuery::getHighlightMaxAlternateFieldLength ( string $field_override = ? ) : int
public SolrQuery::getHighlightMaxAnalyzedChars ( ) : int
public SolrQuery::getHighlightMergeContiguous ( string $field_override = ? ) : bool
public SolrQuery::getHighlightRegexMaxAnalyzedChars ( ) : int
public SolrQuery::getHighlightRegexPattern ( ) : string
public SolrQuery::getHighlightRegexSlop ( ) : float
public SolrQuery::getHighlightRequireFieldMatch ( ) : bool
public SolrQuery::getHighlightSimplePost ( string $field_override = ? ) : string
public SolrQuery::getHighlightSimplePre ( string $field_override = ? ) : string
public SolrQuery::getHighlightSnippets ( string $field_override = ? ) : int
public SolrQuery::getHighlightUsePhraseHighlighter ( ) : bool
public SolrQuery::getMlt ( ) : bool
public SolrQuery::getMltBoost ( ) : bool
public SolrQuery::getMltCount ( ) : int
public SolrQuery::getMltFields ( ) : array
public SolrQuery::getMltMaxNumQueryTerms ( ) : int
public SolrQuery::getMltMaxNumTokens ( ) : int
public SolrQuery::getMltMaxWordLength ( ) : int
public SolrQuery::getMltMinDocFrequency ( ) : int
public SolrQuery::getMltMinTermFrequency ( ) : int
public SolrQuery::getMltMinWordLength ( ) : int
public SolrQuery::getMltQueryFields ( ) : array
public SolrQuery::getQuery ( ) : string
public SolrQuery::getRows ( ) : int
public SolrQuery::getSortFields ( ) : array
public SolrQuery::getStart ( ) : int
public SolrQuery::getStats ( ) : bool
public SolrQuery::getStatsFacets ( ) : array
public SolrQuery::getStatsFields ( ) : array
public SolrQuery::getTerms ( ) : bool
public SolrQuery::getTermsField ( ) : string
public SolrQuery::getTermsIncludeLowerBound ( ) : bool
public SolrQuery::getTermsIncludeUpperBound ( ) : bool
public SolrQuery::getTermsLimit ( ) : int
public SolrQuery::getTermsLowerBound ( ) : string
public SolrQuery::getTermsMaxCount ( ) : int
public SolrQuery::getTermsMinCount ( ) : int
public SolrQuery::getTermsPrefix ( ) : string
public SolrQuery::getTermsReturnRaw ( ) : bool
public SolrQuery::getTermsSort ( ) : int
public SolrQuery::getTermsUpperBound ( ) : string
public SolrQuery::getTimeAllowed ( ) : int
public SolrQuery::removeExpandFilterQuery ( string $fq ) : SolrQuery
public SolrQuery::removeExpandSortField ( string $field ) : SolrQuery
public SolrQuery::removeFacetDateField ( string $field ) : SolrQuery
public SolrQuery::removeFacetDateOther ( string $value , string $field_override = ? ) : SolrQuery
public SolrQuery::removeFacetField ( string $field ) : SolrQuery
public SolrQuery::removeFacetQuery ( string $value ) : SolrQuery
public SolrQuery::removeField ( string $field ) : SolrQuery
public SolrQuery::removeFilterQuery ( string $fq ) : SolrQuery
public SolrQuery::removeHighlightField ( string $field ) : SolrQuery
public SolrQuery::removeMltField ( string $field ) : SolrQuery
public SolrQuery::removeMltQueryField ( string $queryField ) : SolrQuery
public SolrQuery::removeSortField ( string $field ) : SolrQuery
public SolrQuery::removeStatsFacet ( string $value ) : SolrQuery
public SolrQuery::removeStatsField ( string $field ) : SolrQuery
public SolrQuery::setEchoHandler ( bool $flag ) : SolrQuery
public SolrQuery::setEchoParams ( string $type ) : SolrQuery
public SolrQuery::setExpand ( bool $value ) : SolrQuery
public SolrQuery::setExpandQuery ( string $q ) : SolrQuery
public SolrQuery::setExpandRows ( int $value ) : SolrQuery
public SolrQuery::setExplainOther ( string $query ) : SolrQuery
public SolrQuery::setFacet ( bool $flag ) : SolrQuery
public SolrQuery::setFacetDateEnd ( string $value , string $field_override = ? ) : SolrQuery
public SolrQuery::setFacetDateGap ( string $value , string $field_override = ? ) : SolrQuery
public SolrQuery::setFacetDateHardEnd ( bool $value , string $field_override = ? ) : SolrQuery
public SolrQuery::setFacetDateStart ( string $value , string $field_override = ? ) : SolrQuery
public SolrQuery::setFacetEnumCacheMinDefaultFrequency ( int $frequency , string $field_override = ? ) : SolrQuery
public SolrQuery::setFacetLimit ( int $limit , string $field_override = ? ) : SolrQuery
public SolrQuery::setFacetMethod ( string $method , string $field_override = ? ) : SolrQuery
public SolrQuery::setFacetMinCount ( int $mincount , string $field_override = ? ) : SolrQuery
public SolrQuery::setFacetMissing ( bool $flag , string $field_override = ? ) : SolrQuery
public SolrQuery::setFacetOffset ( int $offset , string $field_override = ? ) : SolrQuery
public SolrQuery::setFacetPrefix ( string $prefix , string $field_override = ? ) : SolrQuery
public SolrQuery::setFacetSort ( int $facetSort , string $field_override = ? ) : SolrQuery
public SolrQuery::setGroup ( bool $value ) : SolrQuery
public SolrQuery::setGroupCachePercent ( int $percent ) : SolrQuery
public SolrQuery::setGroupFacet ( bool $value ) : SolrQuery
public SolrQuery::setGroupFormat ( string $value ) : SolrQuery
public SolrQuery::setGroupLimit ( int $value ) : SolrQuery
public SolrQuery::setGroupMain ( string $value ) : SolrQuery
public SolrQuery::setGroupNGroups ( bool $value ) : SolrQuery
public SolrQuery::setGroupOffset ( int $value ) : SolrQuery
public SolrQuery::setGroupTruncate ( bool $value ) : SolrQuery
public SolrQuery::setHighlight ( bool $flag ) : SolrQuery
public SolrQuery::setHighlightAlternateField ( string $field , string $field_override = ? ) : SolrQuery
public SolrQuery::setHighlightFormatter ( string $formatter , string $field_override = ? ) : SolrQuery
public SolrQuery::setHighlightFragmenter ( string $fragmenter , string $field_override = ? ) : SolrQuery
public SolrQuery::setHighlightFragsize ( int $size , string $field_override = ? ) : SolrQuery
public SolrQuery::setHighlightHighlightMultiTerm ( bool $flag ) : SolrQuery
public SolrQuery::setHighlightMaxAlternateFieldLength ( int $fieldLength , string $field_override = ? ) : SolrQuery
public SolrQuery::setHighlightMaxAnalyzedChars ( int $value ) : SolrQuery
public SolrQuery::setHighlightMergeContiguous ( bool $flag , string $field_override = ? ) : SolrQuery
public SolrQuery::setHighlightRegexMaxAnalyzedChars ( int $maxAnalyzedChars ) : SolrQuery
public SolrQuery::setHighlightRegexPattern ( string $value ) : SolrQuery
public SolrQuery::setHighlightRegexSlop ( float $factor ) : SolrQuery
public SolrQuery::setHighlightRequireFieldMatch ( bool $flag ) : SolrQuery
public SolrQuery::setHighlightSimplePost ( string $simplePost , string $field_override = ? ) : SolrQuery
public SolrQuery::setHighlightSimplePre ( string $simplePre , string $field_override = ? ) : SolrQuery
public SolrQuery::setHighlightSnippets ( int $value , string $field_override = ? ) : SolrQuery
public SolrQuery::setHighlightUsePhraseHighlighter ( bool $flag ) : SolrQuery
public SolrQuery::setMlt ( bool $flag ) : SolrQuery
public SolrQuery::setMltBoost ( bool $flag ) : SolrQuery
public SolrQuery::setMltCount ( int $count ) : SolrQuery
public SolrQuery::setMltMaxNumQueryTerms ( int $value ) : SolrQuery
public SolrQuery::setMltMaxNumTokens ( int $value ) : SolrQuery
public SolrQuery::setMltMaxWordLength ( int $maxWordLength ) : SolrQuery
public SolrQuery::setMltMinDocFrequency ( int $minDocFrequency ) : SolrQuery
public SolrQuery::setMltMinTermFrequency ( int $minTermFrequency ) : SolrQuery
public SolrQuery::setMltMinWordLength ( int $minWordLength ) : SolrQuery
public SolrQuery::setOmitHeader ( bool $flag ) : SolrQuery
public SolrQuery::setQuery ( string $query ) : SolrQuery
public SolrQuery::setRows ( int $rows ) : SolrQuery
public SolrQuery::setShowDebugInfo ( bool $flag ) : SolrQuery
public SolrQuery::setStart ( int $start ) : SolrQuery
public SolrQuery::setStats ( bool $flag ) : SolrQuery
public SolrQuery::setTerms ( bool $flag ) : SolrQuery
public SolrQuery::setTermsField ( string $fieldname ) : SolrQuery
public SolrQuery::setTermsIncludeLowerBound ( bool $flag ) : SolrQuery
public SolrQuery::setTermsIncludeUpperBound ( bool $flag ) : SolrQuery
public SolrQuery::setTermsLimit ( int $limit ) : SolrQuery
public SolrQuery::setTermsLowerBound ( string $lowerBound ) : SolrQuery
public SolrQuery::setTermsMaxCount ( int $frequency ) : SolrQuery
public SolrQuery::setTermsMinCount ( int $frequency ) : SolrQuery
public SolrQuery::setTermsPrefix ( string $prefix ) : SolrQuery
public SolrQuery::setTermsReturnRaw ( bool $flag ) : SolrQuery
public SolrQuery::setTermsSort ( int $sortType ) : SolrQuery
public SolrQuery::setTermsUpperBound ( string $upperBound ) : SolrQuery
public SolrQuery::setTimeAllowed ( int $timeAllowed ) : SolrQuery
}

Constantes pré-definidas

SolrDisMaxQuery::ORDER_ASC

Used to specify that the sorting should be in acending order (Duplicated for easier migration)

SolrDisMaxQuery::ORDER_DESC

Used to specify that the sorting should be in descending order (Duplicated for easier migration)

SolrDisMaxQuery::FACET_SORT_INDEX

Used to specify that the facet should sort by index (Duplicated for easier migration)

SolrDisMaxQuery::FACET_SORT_COUNT

Used to specify that the facet should sort by count (Duplicated for easier migration)

SolrDisMaxQuery::TERMS_SORT_INDEX

Used in the TermsComponent (Duplicated for easier migration)

SolrDisMaxQuery::TERMS_SORT_COUNT

Used in the TermsComponent (Duplicated for easier migration)

Índice

  • SolrDisMaxQuery::addBigramPhraseField — Adds a Phrase Bigram Field (pf2 parameter)
  • SolrDisMaxQuery::addBoostQuery — Adds a boost query field with value and optional boost (bq parameter)
  • SolrDisMaxQuery::addPhraseField — Adds a Phrase Field (pf parameter)
  • SolrDisMaxQuery::addQueryField — Add a query field with optional boost (qf parameter)
  • SolrDisMaxQuery::addTrigramPhraseField — Adds a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::addUserField — Adds a field to User Fields Parameter (uf)
  • SolrDisMaxQuery::__construct — Class Constructor
  • SolrDisMaxQuery::removeBigramPhraseField — Removes phrase bigram field (pf2 parameter)
  • SolrDisMaxQuery::removeBoostQuery — Removes a boost query partial by field name (bq)
  • SolrDisMaxQuery::removePhraseField — Removes a Phrase Field (pf parameter)
  • SolrDisMaxQuery::removeQueryField — Removes a Query Field (qf parameter)
  • SolrDisMaxQuery::removeTrigramPhraseField — Removes a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::removeUserField — Removes a field from The User Fields Parameter (uf)
  • SolrDisMaxQuery::setBigramPhraseFields — Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
  • SolrDisMaxQuery::setBigramPhraseSlop — Sets Bigram Phrase Slop (ps2 parameter)
  • SolrDisMaxQuery::setBoostFunction — Sets a Boost Function (bf parameter)
  • SolrDisMaxQuery::setBoostQuery — Directly Sets Boost Query Parameter (bq)
  • SolrDisMaxQuery::setMinimumMatch — Set Minimum "Should" Match (mm)
  • SolrDisMaxQuery::setPhraseFields — Sets Phrase Fields and their boosts (and slops) using pf2 parameter
  • SolrDisMaxQuery::setPhraseSlop — Sets the default slop on phrase queries (ps parameter)
  • SolrDisMaxQuery::setQueryAlt — Set Query Alternate (q.alt parameter)
  • SolrDisMaxQuery::setQueryPhraseSlop — Specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)
  • SolrDisMaxQuery::setTieBreaker — Sets Tie Breaker parameter (tie parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields — Directly Sets Trigram Phrase Fields (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseSlop — Sets Trigram Phrase Slop (ps3 parameter)
  • SolrDisMaxQuery::setUserFields — Sets User Fields parameter (uf)
  • SolrDisMaxQuery::useDisMaxQueryParser — Switch QueryParser to be DisMax Query Parser
  • SolrDisMaxQuery::useEDisMaxQueryParser — Switch QueryParser to be EDisMax


Adds a Phrase Bigram Field (pf2 parameter)

  • « SolrDisMaxQuery
  • SolrDisMaxQuery::addBoostQuery »
  • PHP Manual
  • SolrDisMaxQuery
  • Adds a Phrase Bigram Field (pf2 parameter)

SolrDisMaxQuery::addBigramPhraseField

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::addBigramPhraseField — Adds a Phrase Bigram Field (pf2 parameter)

Descrição

public SolrDisMaxQuery::addBigramPhraseField ( string $field , string $boost , string $slop = ? ) : SolrDisMaxQuery

Adds a Phrase Bigram Field (pf2 parameter) output format: field~slop^boost OR field^boost Slop is optional

Parâmetros

field

boost

slop

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::addBigramPhraseField() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
    ->addBigramPhraseField('cat', 2, 5.1)
    ->addBigramPhraseField('feature', 4.5)
;
echo $dismaxQuery;

?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&pf2=cat~5.1^2 feature^4.5

Veja Também

  • SolrDisMaxQuery::removeBigramPhraseField() - Removes phrase bigram field (pf2 parameter)
  • SolrDisMaxQuery::setBigramPhraseFields() - Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
  • SolrDisMaxQuery::setBigramPhraseSlop() - Sets Bigram Phrase Slop (ps2 parameter)


Adds a boost query field with value and optional boost (bq parameter)

  • « SolrDisMaxQuery::addBigramPhraseField
  • SolrDisMaxQuery::addPhraseField »
  • PHP Manual
  • SolrDisMaxQuery
  • Adds a boost query field with value and optional boost (bq parameter)

SolrDisMaxQuery::addBoostQuery

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::addBoostQuery — Adds a boost query field with value and optional boost (bq parameter)

Descrição

public SolrDisMaxQuery::addBoostQuery ( string $field , string $value , string $boost = ? ) : SolrDisMaxQuery

Adds a Boost Query field with value [and boost] (bq parameter)

Parâmetros

field

value

boost

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::addBoostQuery() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
    ->addBoostQuery('cat', 'clothing', 2)
    ->addBoostQuery('cat', 'electronics', 5.1)
;
echo $dismaxQuery.PHP_EOL;
?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&bq=cat:clothing^2 cat:electronics^5.1

Veja Também

  • SolrDisMaxQuery::removeBoostQuery() - Removes a boost query partial by field name (bq)
  • SolrDisMaxQuery::setBoostQuery() - Directly Sets Boost Query Parameter (bq)


Adds a Phrase Field (pf parameter)

  • « SolrDisMaxQuery::addBoostQuery
  • SolrDisMaxQuery::addQueryField »
  • PHP Manual
  • SolrDisMaxQuery
  • Adds a Phrase Field (pf parameter)

SolrDisMaxQuery::addPhraseField

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::addPhraseField — Adds a Phrase Field (pf parameter)

Descrição

public SolrDisMaxQuery::addPhraseField ( string $field , string $boost , string $slop = ? ) : SolrDisMaxQuery

Adds a Phrase Field (pf parameter)

Parâmetros

field

field name

boost

slop

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::addPhraseField() example

<?php
$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
    ->addPhraseField('cat', 3, 1)
    ->addPhraseField('third', 4, 2)
    ->addPhraseField('source', 55)
;
echo $dismaxQuery;
?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&pf=cat~1^3 third~2^4 source^55

Veja Também

  • SolrDisMaxQuery::removePhraseField() - Removes a Phrase Field (pf parameter)
  • SolrDisMaxQuery::setPhraseFields() - Sets Phrase Fields and their boosts (and slops) using pf2 parameter


Add a query field with optional boost (qf parameter)

  • « SolrDisMaxQuery::addPhraseField
  • SolrDisMaxQuery::addTrigramPhraseField »
  • PHP Manual
  • SolrDisMaxQuery
  • Add a query field with optional boost (qf parameter)

SolrDisMaxQuery::addQueryField

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::addQueryField — Add a query field with optional boost (qf parameter)

Descrição

public SolrDisMaxQuery::addQueryField ( string $field , string $boost = ? ) : SolrDisMaxQuery

Add a query field with optional boost (qf parameter)

Parâmetros

field

field name

boost

Boost value. Boosts documents with matching terms.

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::addQueryField() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
    ->addQueryField("location", 4)
    ->addQueryField("price")
    ->addQueryField("sku")
    ->addQueryField("title",3.4)
;
echo $dismaxQuery;

?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&qf=location^4 price sku title^3.4

Veja Também

  • SolrDisMaxQuery::removeQueryField() - Removes a Query Field (qf parameter)


Adds a Trigram Phrase Field (pf3 parameter)

  • « SolrDisMaxQuery::addQueryField
  • SolrDisMaxQuery::addUserField »
  • PHP Manual
  • SolrDisMaxQuery
  • Adds a Trigram Phrase Field (pf3 parameter)

SolrDisMaxQuery::addTrigramPhraseField

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::addTrigramPhraseField — Adds a Trigram Phrase Field (pf3 parameter)

Descrição

public SolrDisMaxQuery::addTrigramPhraseField ( string $field , string $boost , string $slop = ? ) : SolrDisMaxQuery

Adds a Trigram Phrase Field (pf3 parameter)

Parâmetros

field

Field Name

boost

Field Boost

slop

Field Slop

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::addTrigramPhraseField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addTrigramPhraseField('cat', 2, 5.1)
->addTrigramPhraseField('feature', 4.5)
;
echo $dismaxQuery.PHP_EOL;

?>

O exemplo acima irá imprimir:

q=lucene&defType=%s&pf3=cat~5.1^2 feature^4.5

Veja Também

  • SolrDisMaxQuery::removeTrigramPhraseField() - Removes a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields() - Directly Sets Trigram Phrase Fields (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseSlop() - Sets Trigram Phrase Slop (ps3 parameter)


Adds a field to User Fields Parameter (uf)

  • « SolrDisMaxQuery::addTrigramPhraseField
  • SolrDisMaxQuery::__construct »
  • PHP Manual
  • SolrDisMaxQuery
  • Adds a field to User Fields Parameter (uf)

SolrDisMaxQuery::addUserField

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::addUserField — Adds a field to User Fields Parameter (uf)

Descrição

public SolrDisMaxQuery::addUserField ( string $field ) : SolrDisMaxQuery

Adds a field to The User Fields Parameter (uf)

Parâmetros

field

Field Name

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::addUserField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addUserField('cat')
->addUserField('text')
->addUserField('*_dt');

echo $dismaxQuery.PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&uf=cat text *_dt

Veja Também

  • SolrDisMaxQuery::removeUserField() - Removes a field from The User Fields Parameter (uf)
  • SolrDisMaxQuery::setUserFields() - Sets User Fields parameter (uf)


Class Constructor

  • « SolrDisMaxQuery::addUserField
  • SolrDisMaxQuery::removeBigramPhraseField »
  • PHP Manual
  • SolrDisMaxQuery
  • Class Constructor

SolrDisMaxQuery::__construct

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::__construct — Class Constructor

Descrição

public SolrDisMaxQuery::__construct ( string $q = ? )

Class constructor initializes the object and sets the q parameter if passed

Parâmetros

q

Search Query (q parameter)

Valor Retornado

Erros

Emits SolrIllegalArgumentException in case of an invalid parameter was passed.

Exemplos

Exemplo #1 SolrDisMaxQuery::__construct() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
echo $dismaxQuery;

?>

O exemplo acima irá imprimir:

q=lucene&defType=edismax

Veja Também


Removes phrase bigram field (pf2 parameter)

  • « SolrDisMaxQuery::__construct
  • SolrDisMaxQuery::removeBoostQuery »
  • PHP Manual
  • SolrDisMaxQuery
  • Removes phrase bigram field (pf2 parameter)

SolrDisMaxQuery::removeBigramPhraseField

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::removeBigramPhraseField — Removes phrase bigram field (pf2 parameter)

Descrição

public SolrDisMaxQuery::removeBigramPhraseField ( string $field ) : SolrDisMaxQuery

Removes a Bigram Phrase Field (pf2 parameter) that was previously added using SolrDisMaxQuery::addBigramPhraseField()

Parâmetros

field

The Field Name

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::removeBigramPhraseField() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
    ->addBigramPhraseField('cat', 2, 5.1)
    ->addBigramPhraseField('feature', 4.5)
;
echo $dismaxQuery.PHP_EOL;

// remove cat from pf2
$dismaxQuery
    ->removeBigramPhraseField('cat');
echo $dismaxQuery.PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&pf2=cat~5.1^2 feature^4.5
q=lucene&defType=edismax&pf2=feature^4.5

Veja Também

  • SolrDisMaxQuery::addBigramPhraseField() - Adds a Phrase Bigram Field (pf2 parameter)
  • SolrDisMaxQuery::setBigramPhraseFields() - Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
  • SolrDisMaxQuery::setBigramPhraseSlop() - Sets Bigram Phrase Slop (ps2 parameter)


Removes a boost query partial by field name (bq)

  • « SolrDisMaxQuery::removeBigramPhraseField
  • SolrDisMaxQuery::removePhraseField »
  • PHP Manual
  • SolrDisMaxQuery
  • Removes a boost query partial by field name (bq)

SolrDisMaxQuery::removeBoostQuery

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::removeBoostQuery — Removes a boost query partial by field name (bq)

Descrição

public SolrDisMaxQuery::removeBoostQuery ( string $field ) : SolrDisMaxQuery

Removes a boost query partial from the existing query, only if SolrDisMaxQuery::addBoostQuery() was used.

Parâmetros

field

Field Name

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::removeBoostQuery() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
    ->addBoostQuery('cat', 'electronics', 5.1)
    ->addBoostQuery('cat', 'hard drive')
;
echo $dismaxQuery.PHP_EOL;
// now remove a query part with field 'cat'
$dismaxQuery
->removeBoostQuery('cat');
echo $dismaxQuery . PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&bq=cat:electronics^5.1 cat:hard drive
q=lucene&defType=edismax&bq=cat:hard drive

Veja Também

  • SolrDisMaxQuery::addBoostQuery() - Adds a boost query field with value and optional boost (bq parameter)
  • SolrDisMaxQuery::setBoostQuery() - Directly Sets Boost Query Parameter (bq)


Removes a Phrase Field (pf parameter)

  • « SolrDisMaxQuery::removeBoostQuery
  • SolrDisMaxQuery::removeQueryField »
  • PHP Manual
  • SolrDisMaxQuery
  • Removes a Phrase Field (pf parameter)

SolrDisMaxQuery::removePhraseField

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::removePhraseField — Removes a Phrase Field (pf parameter)

Descrição

public SolrDisMaxQuery::removePhraseField ( string $field ) : SolrDisMaxQuery

Removes a Phrase Field (pf parameter) that was previously added using SolrDisMaxQuery::addPhraseField

Parâmetros

field

Field Name

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::removePhraseField() example

<?php
$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
    ->addPhraseField('first', 3, 1)
    ->addPhraseField('second', 4, 1)
    ->addPhraseField('cat', 55);
echo $dismaxQuery . PHP_EOL;
echo $dismaxQuery->removePhraseField('second');
?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&pf=first~1^3 second~1^4 cat^55
q=lucene&defType=edismax&pf=first~1^3 cat^55

Veja Também

  • SolrDisMaxQuery::addPhraseField() - Adds a Phrase Field (pf parameter)
  • SolrDisMaxQuery::setPhraseFields() - Sets Phrase Fields and their boosts (and slops) using pf2 parameter


Removes a Query Field (qf parameter)

  • « SolrDisMaxQuery::removePhraseField
  • SolrDisMaxQuery::removeTrigramPhraseField »
  • PHP Manual
  • SolrDisMaxQuery
  • Removes a Query Field (qf parameter)

SolrDisMaxQuery::removeQueryField

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::removeQueryField — Removes a Query Field (qf parameter)

Descrição

public SolrDisMaxQuery::removeQueryField ( string $field ) : SolrDisMaxQuery

Removes a Query Field (qf parameter) from the field list added by SolrDisMaxQuery::addQueryField()

qf: When building DisjunctionMaxQueries from the user's query it specifies the fields to search in, and boosts for those fields.

Parâmetros

field

Field Name

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::removeQueryField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
    ->addQueryField('first', 3)
    ->addQueryField('second', 0.2)
    ->addQueryField('cat');
echo $dismaxQuery . PHP_EOL;
// remove field 'second'
echo $dismaxQuery->removeQueryField('second');
?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&qf=first^3 second^0.2 cat
q=lucene&defType=edismax&qf=first^3 cat

Veja Também

  • SolrDisMaxQuery::addQueryField() - Add a query field with optional boost (qf parameter)


Removes a Trigram Phrase Field (pf3 parameter)

  • « SolrDisMaxQuery::removeQueryField
  • SolrDisMaxQuery::removeUserField »
  • PHP Manual
  • SolrDisMaxQuery
  • Removes a Trigram Phrase Field (pf3 parameter)

SolrDisMaxQuery::removeTrigramPhraseField

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::removeTrigramPhraseField — Removes a Trigram Phrase Field (pf3 parameter)

Descrição

public SolrDisMaxQuery::removeTrigramPhraseField ( string $field ) : SolrDisMaxQuery

Removes a Trigram Phrase Field (pf3 parameter)

Parâmetros

field

Field Name

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::removeTrigramPhraseField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addTrigramPhraseField('cat', 2, 5.1)
->addTrigramPhraseField('feature', 4.5)
;
echo $dismaxQuery.PHP_EOL;
// reverse
$dismaxQuery
->removeTrigramPhraseField('cat');
echo $dismaxQuery.PHP_EOL;

?>

O exemplo acima irá imprimir:

q=lucene&defType=%s&pf3=cat~5.1^2 feature^4.5
q=lucene&defType=%s&pf3=feature^4.5

Veja Também

  • SolrDisMaxQuery::addTrigramPhraseField() - Adds a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields() - Directly Sets Trigram Phrase Fields (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseSlop() - Sets Trigram Phrase Slop (ps3 parameter)


Removes a field from The User Fields Parameter (uf)

  • « SolrDisMaxQuery::removeTrigramPhraseField
  • SolrDisMaxQuery::setBigramPhraseFields »
  • PHP Manual
  • SolrDisMaxQuery
  • Removes a field from The User Fields Parameter (uf)

SolrDisMaxQuery::removeUserField

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::removeUserField — Removes a field from The User Fields Parameter (uf)

Descrição

public SolrDisMaxQuery::removeUserField ( string $field ) : SolrDisMaxQuery

Removes a field from The User Fields Parameter (uf)

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

field

Field Name

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::removeUserField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addUserField('cat')
->addUserField('text')
->addUserField('*_dt')
;
echo $dismaxQuery.PHP_EOL;

// remove field named 'text'
$dismaxQuery
->removeUserField('text');
echo $dismaxQuery.PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=%s&uf=cat text *_dt
q=lucene&defType=%s&uf=cat *_dt

Veja Também

  • SolrDisMaxQuery::addUserField() - Adds a field to User Fields Parameter (uf)
  • SolrDisMaxQuery::setUserFields() - Sets User Fields parameter (uf)


Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter

  • « SolrDisMaxQuery::removeUserField
  • SolrDisMaxQuery::setBigramPhraseSlop »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter

SolrDisMaxQuery::setBigramPhraseFields

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::setBigramPhraseFields — Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter

Descrição

public SolrDisMaxQuery::setBigramPhraseFields ( string $fields ) : SolrDisMaxQuery

Sets Bigram Phrase Fields (pf2) and their boosts (and slops)

Parâmetros

fields

Fields boosts (slops)

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::setBigramPhraseFields() example

<?php
$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery->setBigramPhraseFields("cat~5.1^2 feature^4.5");
echo $dismaxQuery.PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&pf2=cat~5.1^2 feature^4.5

Veja Também

  • SolrDisMaxQuery::setBigramPhraseSlop() - Sets Bigram Phrase Slop (ps2 parameter)
  • SolrDisMaxQuery::addBigramPhraseFields()
  • SolrDisMaxQuery::removeBigramPhraseField() - Removes phrase bigram field (pf2 parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields() - Directly Sets Trigram Phrase Fields (pf3 parameter)


Sets Bigram Phrase Slop (ps2 parameter)

  • « SolrDisMaxQuery::setBigramPhraseFields
  • SolrDisMaxQuery::setBoostFunction »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets Bigram Phrase Slop (ps2 parameter)

SolrDisMaxQuery::setBigramPhraseSlop

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::setBigramPhraseSlop — Sets Bigram Phrase Slop (ps2 parameter)

Descrição

public SolrDisMaxQuery::setBigramPhraseSlop ( string $slop ) : SolrDisMaxQuery

Sets Bigram Phrase Slop (ps2 parameter). A default slop for Bigram phrase fields.

Parâmetros

slop

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::setBigramPhraseSlop() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');

$dismaxQuery->setBigramPhraseSlop(5);
echo $dismaxQuery.PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&ps2=5

Veja Também


Sets a Boost Function (bf parameter)

  • « SolrDisMaxQuery::setBigramPhraseSlop
  • SolrDisMaxQuery::setBoostQuery »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets a Boost Function (bf parameter)

SolrDisMaxQuery::setBoostFunction

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::setBoostFunction — Sets a Boost Function (bf parameter)

Descrição

public SolrDisMaxQuery::setBoostFunction ( string $function ) : SolrDisMaxQuery

Sets Boost Function (bf parameter).

Functions (with optional boosts) that will be included in the user's query to influence the score. Any function supported natively by Solr can be used, along with a boost value. e.g.:

recip(rord(myfield),1,2,3)^1.5

Parâmetros

function

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::setBoostFunction() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');

$boostRecentDocsFunction = "recip(ms(NOW,mydatefield),3.16e-11,1,1)";
$dismaxQuery->setBoostFunction($boostRecentDocsFunction);

echo $dismaxQuery.PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&bf=recip(ms(NOW,mydatefield),3.16e-11,1,1)

Veja Também


Directly Sets Boost Query Parameter (bq)

  • « SolrDisMaxQuery::setBoostFunction
  • SolrDisMaxQuery::setMinimumMatch »
  • PHP Manual
  • SolrDisMaxQuery
  • Directly Sets Boost Query Parameter (bq)

SolrDisMaxQuery::setBoostQuery

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::setBoostQuery — Directly Sets Boost Query Parameter (bq)

Descrição

public SolrDisMaxQuery::setBoostQuery ( string $q ) : SolrDisMaxQuery

Sets Boost Query Parameter (bq)

Parâmetros

q

query

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::setBoostQuery() example

<?php
$dismaxQuery = new SolrDisMaxQuery("lucene");

$dismaxQuery->setBoostQuery('cat:electronics manu:local^2');
echo $dismaxQuery.PHP_EOL;
?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&bq=cat:electronics manu:local^2

Veja Também

  • SolrDisMaxQuery::addBoostQuery() - Adds a boost query field with value and optional boost (bq parameter)
  • SolrDisMaxQuery::removeBoostQuery() - Removes a boost query partial by field name (bq)


Set Minimum "Should" Match (mm)

  • « SolrDisMaxQuery::setBoostQuery
  • SolrDisMaxQuery::setPhraseFields »
  • PHP Manual
  • SolrDisMaxQuery
  • Set Minimum "Should" Match (mm)

SolrDisMaxQuery::setMinimumMatch

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::setMinimumMatch — Set Minimum "Should" Match (mm)

Descrição

public SolrDisMaxQuery::setMinimumMatch ( string $value ) : SolrDisMaxQuery

Set Minimum "Should" Match parameter (mm). If the default query operator is AND then mm=100%, if the default query operator (q.op) is OR, then mm=0%.

Parâmetros

value

Minimum match value/expression

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::setMinimumMatch() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
// 75% of the query clauses must match
$dismaxQuery->setMinimumMatch("75%");
echo $dismaxQuery . PHP_EOL;

?>

O exemplo acima irá imprimir:

q=lucene&defType=edismax&mm=75%


Sets Phrase Fields and their boosts (and slops) using pf2 parameter

  • « SolrDisMaxQuery::setMinimumMatch
  • SolrDisMaxQuery::setPhraseSlop »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets Phrase Fields and their boosts (and slops) using pf2 parameter

SolrDisMaxQuery::setPhraseFields

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::setPhraseFields — Sets Phrase Fields and their boosts (and slops) using pf2 parameter

Descrição

public SolrDisMaxQuery::setPhraseFields ( string $fields ) : SolrDisMaxQuery

Sets Phrase Fields (pf) and their boosts (and slops)

Parâmetros

fields

Fields, boosts [, slops]

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::setPhraseFields() example

<?php
$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery->setPhraseFields("cat~5.1^2 feature^4.5");
echo $dismaxQuery.PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&pf=cat~5.1^2 feature^4.5

Veja Também

  • SolrDisMaxQuery::addPhraseFields()
  • SolrDisMaxQuery::removePhraseField() - Removes a Phrase Field (pf parameter)


Sets the default slop on phrase queries (ps parameter)

  • « SolrDisMaxQuery::setPhraseFields
  • SolrDisMaxQuery::setQueryAlt »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets the default slop on phrase queries (ps parameter)

SolrDisMaxQuery::setPhraseSlop

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::setPhraseSlop — Sets the default slop on phrase queries (ps parameter)

Descrição

public SolrDisMaxQuery::setPhraseSlop ( string $slop ) : SolrDisMaxQuery

Sets the default amount of slop on phrase queries built with "pf", "pf2" and/or "pf3" fields (affects boosting). "ps" parameter

Parâmetros

slop

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::setPhraseSlop() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');

$dismaxQuery->setPhraseSlop(4);
echo $dismaxQuery.PHP_EOL;

?>

O exemplo acima irá imprimir:

q=lucene&defType=edismax&ps=4

Veja Também


Set Query Alternate (q.alt parameter)

  • « SolrDisMaxQuery::setPhraseSlop
  • SolrDisMaxQuery::setQueryPhraseSlop »
  • PHP Manual
  • SolrDisMaxQuery
  • Set Query Alternate (q.alt parameter)

SolrDisMaxQuery::setQueryAlt

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::setQueryAlt — Set Query Alternate (q.alt parameter)

Descrição

public SolrDisMaxQuery::setQueryAlt ( string $q ) : SolrDisMaxQuery

Set Query Alternate (q.alt parameter)

When the main q parameter is not specified or is blank. The q.alt parameter is used

Parâmetros

q

Query String

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::setQueryAlt() example

<?php

$dismaxQuery = new DisMaxQuery();
$dismaxQuery->setQueryAlt('*:*');

?>

O exemplo acima irá imprimir algo similar à:

defType=edismax&q.alt=*:*&q=


Specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)

  • « SolrDisMaxQuery::setQueryAlt
  • SolrDisMaxQuery::setTieBreaker »
  • PHP Manual
  • SolrDisMaxQuery
  • Specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)

SolrDisMaxQuery::setQueryPhraseSlop

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::setQueryPhraseSlop — Specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)

Descrição

public SolrDisMaxQuery::setQueryPhraseSlop ( string $slop ) : SolrDisMaxQuery

The Query Phrase Slop is the amount of slop permitted on phrase queries explicitly included in the user's query string with the qf parameter.

slop refers to the number of positions one token needs to be moved in relation to another token in order to match a phrase specified in a query.

Parâmetros

slop

Amount of slop

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::setQueryPhraseSlop() example

<?php

$dismaxQuery = new SolrDisMaxQuery();
$dismaxQuery->setQueryPhraseSlop(3);
echo $dismaxQuery;
?>

O exemplo acima irá imprimir algo similar à:

defType=edismax&qs=3


Sets Tie Breaker parameter (tie parameter)

  • « SolrDisMaxQuery::setQueryPhraseSlop
  • SolrDisMaxQuery::setTrigramPhraseFields »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets Tie Breaker parameter (tie parameter)

SolrDisMaxQuery::setTieBreaker

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::setTieBreaker — Sets Tie Breaker parameter (tie parameter)

Descrição

public SolrDisMaxQuery::setTieBreaker ( string $tieBreaker ) : SolrDisMaxQuery

Sets Tie Breaker parameter (tie parameter)

Parâmetros

tieBreaker

The tie parameter specifies a float value (which should be something much less than 1) to use as tiebreaker in DisMax queries.

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::setTieBreaker() example

<?php

$dismaxQuery = new SolrDisMaxQuery();
$dismaxQuery->setTieBreaker(0.1);

echo $dismaxQuery;

?>

O exemplo acima irá imprimir:

defType=edismax&tie=0.1


Directly Sets Trigram Phrase Fields (pf3 parameter)

  • « SolrDisMaxQuery::setTieBreaker
  • SolrDisMaxQuery::setTrigramPhraseSlop »
  • PHP Manual
  • SolrDisMaxQuery
  • Directly Sets Trigram Phrase Fields (pf3 parameter)

SolrDisMaxQuery::setTrigramPhraseFields

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::setTrigramPhraseFields — Directly Sets Trigram Phrase Fields (pf3 parameter)

Descrição

public SolrDisMaxQuery::setTrigramPhraseFields ( string $fields ) : SolrDisMaxQuery

Directly Sets Trigram Phrase Fields (pf3 parameter)

Parâmetros

fields

Trigram Phrase Fields

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::setTrigramPhraseFields() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery->setTrigramPhraseFields('cat~5.1^2 feature^4.5');
echo $dismaxQuery.PHP_EOL;

?>

O exemplo acima irá imprimir:

q=lucene&defType=edismax&pf3=cat~5.1^2 feature^4.5

Veja Também

  • SolrDisMaxQuery::addTrigramPhraseField() - Adds a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::removeTrigramPhraseField() - Removes a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseSlop() - Sets Trigram Phrase Slop (ps3 parameter)


Sets Trigram Phrase Slop (ps3 parameter)

  • « SolrDisMaxQuery::setTrigramPhraseFields
  • SolrDisMaxQuery::setUserFields »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets Trigram Phrase Slop (ps3 parameter)

SolrDisMaxQuery::setTrigramPhraseSlop

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::setTrigramPhraseSlop — Sets Trigram Phrase Slop (ps3 parameter)

Descrição

public SolrDisMaxQuery::setTrigramPhraseSlop ( string $slop ) : SolrDisMaxQuery

Sets Trigram Phrase Slop (ps3 parameter)

Parâmetros

slop

Phrase slop

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::setTrigramPhraseSlop() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery->setTrigramPhraseSlop(2);
echo $dismaxQuery.PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&ps3=2

Veja Também

  • SolrDisMaxQuery::addTrigramPhraseField() - Adds a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::removeTrigramPhraseField() - Removes a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields() - Directly Sets Trigram Phrase Fields (pf3 parameter)


Sets User Fields parameter (uf)

  • « SolrDisMaxQuery::setTrigramPhraseSlop
  • SolrDisMaxQuery::useDisMaxQueryParser »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets User Fields parameter (uf)

SolrDisMaxQuery::setUserFields

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::setUserFields — Sets User Fields parameter (uf)

Descrição

public SolrDisMaxQuery::setUserFields ( string $fields ) : SolrDisMaxQuery

Sets User Fields parameter (uf)

User Fields: Specifies which schema fields the end user shall be allowed to query.

Parâmetros

fields

Fields names separated by space

This parameter supports wildcards.

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::setUserFields() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery->setUserFields('field1 field2 *_txt');
echo $dismaxQuery.PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

q=lucene&defType=edismax&uf=field1 field2 *_txt

Veja Também

  • SolrDisMaxQuery::addUserField() - Adds a field to User Fields Parameter (uf)
  • SolrDisMaxQuery::removeUserField() - Removes a field from The User Fields Parameter (uf)


Switch QueryParser to be DisMax Query Parser

  • « SolrDisMaxQuery::setUserFields
  • SolrDisMaxQuery::useEDisMaxQueryParser »
  • PHP Manual
  • SolrDisMaxQuery
  • Switch QueryParser to be DisMax Query Parser

SolrDisMaxQuery::useDisMaxQueryParser

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::useDisMaxQueryParser — Switch QueryParser to be DisMax Query Parser

Descrição

public SolrDisMaxQuery::useDisMaxQueryParser ( ) : SolrDisMaxQuery

Switch QueryParser to be DisMax Query Parser

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::useDisMaxQueryParser() example

<?php

$dismaxQuery = new SolrDisMaxQuery();
$dismaxQuery->useDisMaxQueryParser();
echo $dismaxQuery;
?>

O exemplo acima irá imprimir algo similar à:

defType=dismax

Veja Também

  • SolrDisMaxQuery::useDisMaxQueryParser()


Switch QueryParser to be EDisMax

  • « SolrDisMaxQuery::useDisMaxQueryParser
  • SolrCollapseFunction »
  • PHP Manual
  • SolrDisMaxQuery
  • Switch QueryParser to be EDisMax

SolrDisMaxQuery::useEDisMaxQueryParser

(Não há informação de versão disponível, talvez apenas no Git)

SolrDisMaxQuery::useEDisMaxQueryParser — Switch QueryParser to be EDisMax

Descrição

public SolrDisMaxQuery::useEDisMaxQueryParser ( ) : SolrDisMaxQuery

Switch QueryParser to be EDisMax. By default the query builder uses edismax, if it was switched using SolrDisMaxQuery::useDisMaxQueryParser(), it can be switched back using this method.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

SolrDisMaxQuery

Exemplos

Exemplo #1 SolrDisMaxQuery::useEDisMaxQueryParser() example

<?php

$dismaxQuery = new SolrDisMaxQuery();
$dismaxQuery->useEDisMaxQueryParser();
echo $dismaxQuery;

?>

O exemplo acima irá imprimir algo similar à:

defType=edismax

Veja Também


The SolrCollapseFunction class

(PECL solr >= 2.2.0)

Introdução

Sinopse da classe

SolrCollapseFunction {
/* Constants */
const string NULLPOLICY_IGNORE = ignore ;
const string NULLPOLICY_EXPAND = expand ;
const string NULLPOLICY_COLLAPSE = collapse ;
/* Métodos */
public __construct ( string $field = ? )
public getField ( ) : string
public getHint ( ) : string
public getMax ( ) : string
public getMin ( ) : string
public getNullPolicy ( ) : string
public getSize ( ) : int
public setField ( string $fieldName ) : SolrCollapseFunction
public setHint ( string $hint ) : SolrCollapseFunction
public setMax ( string $max ) : SolrCollapseFunction
public setMin ( string $min ) : SolrCollapseFunction
public setNullPolicy ( string $nullPolicy ) : SolrCollapseFunction
public setSize ( int $size ) : SolrCollapseFunction
public __toString ( ) : string
}

Constantes pré-definidas

SolrCollapseFunction::NULLPOLICY_IGNORE

SolrCollapseFunction::NULLPOLICY_EXPAND

SolrCollapseFunction::NULLPOLICY_COLLAPSE

Índice

  • SolrCollapseFunction::__construct — Constructor
  • SolrCollapseFunction::getField — Returns the field that is being collapsed on
  • SolrCollapseFunction::getHint — Returns collapse hint
  • SolrCollapseFunction::getMax — Returns max parameter
  • SolrCollapseFunction::getMin — Returns min parameter
  • SolrCollapseFunction::getNullPolicy — Returns null policy
  • SolrCollapseFunction::getSize — Returns size parameter
  • SolrCollapseFunction::setField — Sets the field to collapse on
  • SolrCollapseFunction::setHint — Sets collapse hint
  • SolrCollapseFunction::setMax — Selects the group heads by the max value of a numeric field or function query
  • SolrCollapseFunction::setMin — Sets the initial size of the collapse data structures when collapsing on a numeric field only
  • SolrCollapseFunction::setNullPolicy — Sets the NULL Policy
  • SolrCollapseFunction::setSize — Sets the initial size of the collapse data structures when collapsing on a numeric field only
  • SolrCollapseFunction::__toString — Returns a string representing the constructed collapse function


Constructor

  • « SolrCollapseFunction
  • SolrCollapseFunction::getField »
  • PHP Manual
  • SolrCollapseFunction
  • Constructor

SolrCollapseFunction::__construct

(PECL solr >= 2.2.0)

SolrCollapseFunction::__construct — Constructor

Descrição

public SolrCollapseFunction::__construct ( string $field = ? )

Collapse Function constructor

Parâmetros

field

The field name to collapse on.

In order to collapse a result. The field type must be a single valued String, Int or Float.

Exemplos

Exemplo #1 SolrCollapseFunction::__construct() example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$func = new SolrCollapseFunction('field_name');

$func->setMax('sum(cscore(),field(some_other_field))');
$func->setSize(100);
$func->setNullPolicy(SolrCollapseFunction::NULLPOLICY_EXPAND);

$query->collapse($func);

$queryResponse = $client->query($query);

$response = $queryResponse->getResponse();

print_r($response);

?>

Veja Também

  • SolrQuery::collapse() - Collapses the result set to a single document per group


Returns the field that is being collapsed on

  • « SolrCollapseFunction::__construct
  • SolrCollapseFunction::getHint »
  • PHP Manual
  • SolrCollapseFunction
  • Returns the field that is being collapsed on

SolrCollapseFunction::getField

(PECL solr >= 2.2.0)

SolrCollapseFunction::getField — Returns the field that is being collapsed on

Descrição

public SolrCollapseFunction::getField ( ) : string

Returns the field that is being collapsed on.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrCollapseFunction::setField() - Sets the field to collapse on


Returns collapse hint

  • « SolrCollapseFunction::getField
  • SolrCollapseFunction::getMax »
  • PHP Manual
  • SolrCollapseFunction
  • Returns collapse hint

SolrCollapseFunction::getHint

(PECL solr >= 2.2.0)

SolrCollapseFunction::getHint — Returns collapse hint

Descrição

public SolrCollapseFunction::getHint ( ) : string

Returns collapse hint

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrCollapseFunction::setHint() - Sets collapse hint


Returns max parameter

  • « SolrCollapseFunction::getHint
  • SolrCollapseFunction::getMin »
  • PHP Manual
  • SolrCollapseFunction
  • Returns max parameter

SolrCollapseFunction::getMax

(PECL solr >= 2.2.0)

SolrCollapseFunction::getMax — Returns max parameter

Descrição

public SolrCollapseFunction::getMax ( ) : string

Returns max parameter

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrCollapseFunction::setMax() - Selects the group heads by the max value of a numeric field or function query


Returns min parameter

  • « SolrCollapseFunction::getMax
  • SolrCollapseFunction::getNullPolicy »
  • PHP Manual
  • SolrCollapseFunction
  • Returns min parameter

SolrCollapseFunction::getMin

(PECL solr >= 2.2.0)

SolrCollapseFunction::getMin — Returns min parameter

Descrição

public SolrCollapseFunction::getMin ( ) : string

Returns min parameter

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrCollapseFunction::setMin() - Sets the initial size of the collapse data structures when collapsing on a numeric field only


Returns null policy

  • « SolrCollapseFunction::getMin
  • SolrCollapseFunction::getSize »
  • PHP Manual
  • SolrCollapseFunction
  • Returns null policy

SolrCollapseFunction::getNullPolicy

(PECL solr >= 2.2.0)

SolrCollapseFunction::getNullPolicy — Returns null policy

Descrição

public SolrCollapseFunction::getNullPolicy ( ) : string

Returns null policy used or null

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrCollapseFunction::setNullPolicy() - Sets the NULL Policy


Returns size parameter

  • « SolrCollapseFunction::getNullPolicy
  • SolrCollapseFunction::setField »
  • PHP Manual
  • SolrCollapseFunction
  • Returns size parameter

SolrCollapseFunction::getSize

(PECL solr >= 2.2.0)

SolrCollapseFunction::getSize — Returns size parameter

Descrição

public SolrCollapseFunction::getSize ( ) : int

Gets the initial size of the collapse data structures when collapsing on a numeric field only

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • SolrCollapseFunction::setSize() - Sets the initial size of the collapse data structures when collapsing on a numeric field only


Sets the field to collapse on

  • « SolrCollapseFunction::getSize
  • SolrCollapseFunction::setHint »
  • PHP Manual
  • SolrCollapseFunction
  • Sets the field to collapse on

SolrCollapseFunction::setField

(PECL solr >= 2.2.0)

SolrCollapseFunction::setField — Sets the field to collapse on

Descrição

public SolrCollapseFunction::setField ( string $fieldName ) : SolrCollapseFunction

The field name to collapse on. In order to collapse a result. The field type must be a single valued String, Int or Float.

Parâmetros

fieldName

Valor Retornado

SolrCollapseFunction


Sets collapse hint

  • « SolrCollapseFunction::setField
  • SolrCollapseFunction::setMax »
  • PHP Manual
  • SolrCollapseFunction
  • Sets collapse hint

SolrCollapseFunction::setHint

(PECL solr >= 2.2.0)

SolrCollapseFunction::setHint — Sets collapse hint

Descrição

public SolrCollapseFunction::setHint ( string $hint ) : SolrCollapseFunction

Sets collapse hint

Parâmetros

hint

Currently there is only one hint available "top_fc", which stands for top level FieldCache

Valor Retornado

SolrCollapseFunction

Exemplos

Exemplo #1 SolrCollapseFunction::setHint() example

<?php

/* ... */

?>

O exemplo acima irá imprimir algo similar à:

...


Selects the group heads by the max value of a numeric field or function query

  • « SolrCollapseFunction::setHint
  • SolrCollapseFunction::setMin »
  • PHP Manual
  • SolrCollapseFunction
  • Selects the group heads by the max value of a numeric field or function query

SolrCollapseFunction::setMax

(PECL solr >= 2.2.0)

SolrCollapseFunction::setMax — Selects the group heads by the max value of a numeric field or function query

Descrição

public SolrCollapseFunction::setMax ( string $max ) : SolrCollapseFunction

Selects the group heads by the max value of a numeric field or function query.

Parâmetros

max

Valor Retornado

SolrCollapseFunction

Exemplos

Exemplo #1 SolrCollapseFunction::setMax() example

<?php

$func = new SolrCollapseFunction('field_name');

$func->setMax('sum(cscore(),field(some_field))');

$query = new SolrQuery('*:*');

$query->collapse($func);

?>


Sets the initial size of the collapse data structures when collapsing on a numeric field only

  • « SolrCollapseFunction::setMax
  • SolrCollapseFunction::setNullPolicy »
  • PHP Manual
  • SolrCollapseFunction
  • Sets the initial size of the collapse data structures when collapsing on a numeric field only

SolrCollapseFunction::setMin

(PECL solr >= 2.2.0)

SolrCollapseFunction::setMin — Sets the initial size of the collapse data structures when collapsing on a numeric field only

Descrição

public SolrCollapseFunction::setMin ( string $min ) : SolrCollapseFunction

Sets the initial size of the collapse data structures when collapsing on a numeric field only

Parâmetros

min

Valor Retornado

SolrCollapseFunction


Sets the NULL Policy

  • « SolrCollapseFunction::setMin
  • SolrCollapseFunction::setSize »
  • PHP Manual
  • SolrCollapseFunction
  • Sets the NULL Policy

SolrCollapseFunction::setNullPolicy

(PECL solr >= 2.2.0)

SolrCollapseFunction::setNullPolicy — Sets the NULL Policy

Descrição

public SolrCollapseFunction::setNullPolicy ( string $nullPolicy ) : SolrCollapseFunction

Sets the NULL Policy. One of the 3 policies defined as class constants shall be passed. Accepts ignore, expand, or collapse policies.

Parâmetros

nullPolicy

Valor Retornado

SolrCollapseFunction


Sets the initial size of the collapse data structures when collapsing on a numeric field only

  • « SolrCollapseFunction::setNullPolicy
  • SolrCollapseFunction::__toString »
  • PHP Manual
  • SolrCollapseFunction
  • Sets the initial size of the collapse data structures when collapsing on a numeric field only

SolrCollapseFunction::setSize

(PECL solr >= 2.2.0)

SolrCollapseFunction::setSize — Sets the initial size of the collapse data structures when collapsing on a numeric field only

Descrição

public SolrCollapseFunction::setSize ( int $size ) : SolrCollapseFunction

Sets the initial size of the collapse data structures when collapsing on a numeric field only.

Parâmetros

size

Valor Retornado

SolrCollapseFunction


Returns a string representing the constructed collapse function

  • « SolrCollapseFunction::setSize
  • SolrException »
  • PHP Manual
  • SolrCollapseFunction
  • Returns a string representing the constructed collapse function

SolrCollapseFunction::__toString

(PECL solr >= 2.2.0)

SolrCollapseFunction::__toString — Returns a string representing the constructed collapse function

Descrição

public SolrCollapseFunction::__toString ( ) : string

Returns a string representing the constructed collapse function

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The SolrException class

(PECL solr >= 0.9.2)

Introdução

This is the base class for all exception thrown by the Solr extension classes.

Sinopse da classe

SolrException extends Exception {
/* Propriedades */
protected int $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
public getInternalInfo ( ) : array
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Propriedades

sourceline

The line in c-space source file where exception was generated

sourcefile

The c-space source file where exception was generated

zif_name

The c-space function where exception was generated

Índice

  • SolrException::getInternalInfo — Returns internal information where the Exception was thrown


Returns internal information where the Exception was thrown

  • « SolrException
  • SolrClientException »
  • PHP Manual
  • SolrException
  • Returns internal information where the Exception was thrown

SolrException::getInternalInfo

(PECL solr >= 0.9.2)

SolrException::getInternalInfo — Returns internal information where the Exception was thrown

Descrição

public SolrException::getInternalInfo ( ) : array

Returns internal information where the Exception was thrown.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.


The SolrClientException class

(PECL solr >= 0.9.2)

Introdução

An exception thrown when there is an error while making a request to the server from the client.

Sinopse da classe

SolrClientException extends SolrException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
protected int $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Métodos */
public getInternalInfo ( ) : array
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
public SolrException::getInternalInfo ( ) : array
}

Índice

  • SolrClientException::getInternalInfo — Returns internal information where the Exception was thrown


Returns internal information where the Exception was thrown

  • « SolrClientException
  • SolrServerException »
  • PHP Manual
  • SolrClientException
  • Returns internal information where the Exception was thrown

SolrClientException::getInternalInfo

(PECL solr >= 0.9.2)

SolrClientException::getInternalInfo — Returns internal information where the Exception was thrown

Descrição

public SolrClientException::getInternalInfo ( ) : array

Returns internal information where the Exception was thrown.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.


The SolrServerException class

(PECL Solr >= 1.1.0, >=2.0.0)

Introdução

An exception thrown when there is an error produced by the Solr Server itself.

Sinopse da classe

SolrServerException extends SolrException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
protected int $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Métodos */
public getInternalInfo ( ) : array
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
public SolrException::getInternalInfo ( ) : array
}

Índice

  • SolrServerException::getInternalInfo — Returns internal information where the Exception was thrown


Returns internal information where the Exception was thrown

  • « SolrServerException
  • SolrIllegalArgumentException »
  • PHP Manual
  • SolrServerException
  • Returns internal information where the Exception was thrown

SolrServerException::getInternalInfo

(PECL solr >= 1.1.0, >=2.0.0)

SolrServerException::getInternalInfo — Returns internal information where the Exception was thrown

Descrição

public SolrServerException::getInternalInfo ( ) : array

Returns internal information where the Exception was thrown.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.


The SolrIllegalArgumentException class

(PECL solr >= 0.9.2)

Introdução

This object is thrown when an illegal or invalid argument is passed to a method.

Sinopse da classe

SolrIllegalArgumentException extends SolrException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
protected int $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Métodos */
public getInternalInfo ( ) : array
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
public SolrException::getInternalInfo ( ) : array
}

Índice

  • SolrIllegalArgumentException::getInternalInfo — Returns internal information where the Exception was thrown


Returns internal information where the Exception was thrown

  • « SolrIllegalArgumentException
  • SolrIllegalOperationException »
  • PHP Manual
  • SolrIllegalArgumentException
  • Returns internal information where the Exception was thrown

SolrIllegalArgumentException::getInternalInfo

(PECL solr >= 0.9.2)

SolrIllegalArgumentException::getInternalInfo — Returns internal information where the Exception was thrown

Descrição

public SolrIllegalArgumentException::getInternalInfo ( ) : array

Returns internal information where the Exception was thrown.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.


The SolrIllegalOperationException class

(PECL solr >= 0.9.2)

Introdução

This object is thrown when an illegal or unsupported operation is performed on an object.

Sinopse da classe

SolrIllegalOperationException extends SolrException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
protected int $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Métodos */
public getInternalInfo ( ) : array
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
public SolrException::getInternalInfo ( ) : array
}

Índice

  • SolrIllegalOperationException::getInternalInfo — Returns internal information where the Exception was thrown


Returns internal information where the Exception was thrown

  • « SolrIllegalOperationException
  • SolrMissingMandatoryParameterException »
  • PHP Manual
  • SolrIllegalOperationException
  • Returns internal information where the Exception was thrown

SolrIllegalOperationException::getInternalInfo

(PECL solr >= 0.9.2)

SolrIllegalOperationException::getInternalInfo — Returns internal information where the Exception was thrown

Descrição

public SolrIllegalOperationException::getInternalInfo ( ) : array

Returns internal information where the Exception was thrown.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.


The SolrMissingMandatoryParameterException class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

Sinopse da classe

SolrMissingMandatoryParameterException extends SolrException {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
protected int $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
public SolrException::getInternalInfo ( ) : array
}


Sphinx Client

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • SphinxClient — The SphinxClient class
    • SphinxClient::addQuery — Add query to multi-query batch
    • SphinxClient::buildExcerpts — Build text snippets
    • SphinxClient::buildKeywords — Extract keywords from query
    • SphinxClient::close — Closes previously opened persistent connection
    • SphinxClient::__construct — Create a new SphinxClient object
    • SphinxClient::escapeString — Escape special characters
    • SphinxClient::getLastError — Get the last error message
    • SphinxClient::getLastWarning — Get the last warning
    • SphinxClient::open — Opens persistent connection to the server
    • SphinxClient::query — Execute search query
    • SphinxClient::resetFilters — Clear all filters
    • SphinxClient::resetGroupBy — Clear all group-by settings
    • SphinxClient::runQueries — Run a batch of search queries
    • SphinxClient::setArrayResult — Change the format of result set array
    • SphinxClient::setConnectTimeout — Set connection timeout
    • SphinxClient::setFieldWeights — Set field weights
    • SphinxClient::setFilter — Add new integer values set filter
    • SphinxClient::setFilterFloatRange — Add new float range filter
    • SphinxClient::setFilterRange — Add new integer range filter
    • SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations
    • SphinxClient::setGroupBy — Set grouping attribute
    • SphinxClient::setGroupDistinct — Set attribute name for per-group distinct values count calculations
    • SphinxClient::setIDRange — Set a range of accepted document IDs
    • SphinxClient::setIndexWeights — Set per-index weights
    • SphinxClient::setLimits — Set offset and limit of the result set
    • SphinxClient::setMatchMode — Set full-text query matching mode
    • SphinxClient::setMaxQueryTime — Set maximum query time
    • SphinxClient::setOverride — Sets temporary per-document attribute value overrides
    • SphinxClient::setRankingMode — Set ranking mode
    • SphinxClient::setRetries — Set retry count and delay
    • SphinxClient::setSelect — Set select clause
    • SphinxClient::setServer — Set searchd host and port
    • SphinxClient::setSortMode — Set matches sorting mode
    • SphinxClient::status — Queries searchd status
    • SphinxClient::updateAttributes — Update document attributes


Introdução

This extension provides bindings for Sphinx search client library. Sphinx is a standalone search engine meant to provide fast, size-efficient and relevant fulltext search functions to other applications. Sphinx was specially designed to integrate well with SQL databases and scripting languages. Both Sphinx and its client library can be obtained from the » official site


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

PECL/sphinx requires PHP 5.2.2 or newer.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/sphinx.

If the ./configure script generated by phpize is having trouble finding the libsphinxclient files (for example, it was installed into a custom prefix directory), use ./configure --with-sphinx=$PREFIX, where $PREFIX is installation prefix of libsphinxclient.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

SEARCHD_OK (int)
SEARCHD_ERROR (int)
SEARCHD_RETRY (int)
SEARCHD_WARNING (int)
SPH_MATCH_ALL (int)
SPH_MATCH_ANY (int)
SPH_MATCH_PHRASE (int)
SPH_MATCH_BOOLEAN (int)
SPH_MATCH_EXTENDED (int)
SPH_MATCH_FULLSCAN (int)
SPH_MATCH_EXTENDED2 (int)
SPH_RANK_PROXIMITY_BM25 (int)
SPH_RANK_BM25 (int)
SPH_RANK_NONE (int)
SPH_RANK_WORDCOUNT (int)
SPH_SORT_RELEVANCE (int)
SPH_SORT_ATTR_DESC (int)
SPH_SORT_ATTR_ASC (int)
SPH_SORT_TIME_SEGMENTS (int)
SPH_SORT_EXTENDED (int)
SPH_SORT_EXPR (int)
SPH_FILTER_VALUES (int)
SPH_FILTER_RANGE (int)
SPH_FILTER_FLOATRANGE (int)
SPH_ATTR_INTEGER (int)
SPH_ATTR_TIMESTAMP (int)
SPH_ATTR_ORDINAL (int)
SPH_ATTR_BOOL (int)
SPH_ATTR_FLOAT (int)
SPH_ATTR_MULTI (int)
SPH_GROUPBY_DAY (int)
SPH_GROUPBY_WEEK (int)
SPH_GROUPBY_MONTH (int)
SPH_GROUPBY_YEAR (int)
SPH_GROUPBY_ATTR (int)
SPH_GROUPBY_ATTRPAIR (int)


Exemplos

Exemplo #1 Basic usage example

<?php

$s = new SphinxClient;
$s->setServer("localhost", 6712);
$s->setMatchMode(SPH_MATCH_ANY);
$s->setMaxQueryTime(3);

$result = $s->query("test");

var_dump($result);

?>

O exemplo acima irá imprimir algo similar à:

array(10) {
  ["error"]=>
  string(0) ""
  ["warning"]=>
  string(0) ""
  ["status"]=>
  int(0)
  ["fields"]=>
  array(3) {
    [0]=>
    string(7) "subject"
    [1]=>
    string(4) "body"
    [2]=>
    string(6) "author"
  }
  ["attrs"]=>
  array(0) {
  }
  ["matches"]=>
  array(1) {
    [3]=>
    array(2) {
      ["weight"]=>
      int(1)
      ["attrs"]=>
      array(0) {
      }
    }
  }
  ["total"]=>
  int(1)
  ["total_found"]=>
  int(1)
  ["time"]=>
  float(0)
  ["words"]=>
  array(1) {
    ["to"]=>
    array(2) {
      ["docs"]=>
      int(1)
      ["hits"]=>
      int(1)
    }
  }
}


The SphinxClient class

(PECL sphinx >= 0.1.0)

Introdução

The SphinxClient class provides object-oriented interface to Sphinx.

Sinopse da classe

SphinxClient {
/* Métodos */
public addQuery ( string $query , string $index = "*" , string $comment = "" ) : int
public buildExcerpts ( array $docs , string $index , string $words , array $opts = ? ) : array|false
public buildKeywords ( string $query , string $index , bool $hits ) : array
public close ( ) : bool
public __construct ( )
public escapeString ( string $string ) : string
public getLastError ( ) : string
public getLastWarning ( ) : string
public open ( ) : bool
public query ( string $query , string $index = "*" , string $comment = "" ) : array
public resetFilters ( ) : void
public resetGroupBy ( ) : void
public runQueries ( ) : array
public setArrayResult ( bool $array_result = false ) : bool
public setConnectTimeout ( float $timeout ) : bool
public setFieldWeights ( array $weights ) : bool
public setFilter ( string $attribute , array $values , bool $exclude = false ) : bool
public setFilterFloatRange ( string $attribute , float $min , float $max , bool $exclude = false ) : bool
public setFilterRange ( string $attribute , int $min , int $max , bool $exclude = false ) : bool
public setGeoAnchor ( string $attrlat , string $attrlong , float $latitude , float $longitude ) : bool
public setGroupBy ( string $attribute , int $func , string $groupsort = "@group desc" ) : bool
public setGroupDistinct ( string $attribute ) : bool
public setIDRange ( int $min , int $max ) : bool
public setIndexWeights ( array $weights ) : bool
public setLimits ( int $offset , int $limit , int $max_matches = 0 , int $cutoff = 0 ) : bool
public setMatchMode ( int $mode ) : bool
public setMaxQueryTime ( int $qtime ) : bool
public setOverride ( string $attribute , int $type , array $values ) : bool
public setRankingMode ( int $ranker ) : bool
public setRetries ( int $count , int $delay = 0 ) : bool
public setSelect ( string $clause ) : bool
public setServer ( string $server , int $port ) : bool
public setSortMode ( int $mode , string $sortby = ? ) : bool
public status ( ) : array
public updateAttributes ( string $index , array $attributes , array $values , bool $mva = false ) : int
}

Índice

  • SphinxClient::addQuery — Add query to multi-query batch
  • SphinxClient::buildExcerpts — Build text snippets
  • SphinxClient::buildKeywords — Extract keywords from query
  • SphinxClient::close — Closes previously opened persistent connection
  • SphinxClient::__construct — Create a new SphinxClient object
  • SphinxClient::escapeString — Escape special characters
  • SphinxClient::getLastError — Get the last error message
  • SphinxClient::getLastWarning — Get the last warning
  • SphinxClient::open — Opens persistent connection to the server
  • SphinxClient::query — Execute search query
  • SphinxClient::resetFilters — Clear all filters
  • SphinxClient::resetGroupBy — Clear all group-by settings
  • SphinxClient::runQueries — Run a batch of search queries
  • SphinxClient::setArrayResult — Change the format of result set array
  • SphinxClient::setConnectTimeout — Set connection timeout
  • SphinxClient::setFieldWeights — Set field weights
  • SphinxClient::setFilter — Add new integer values set filter
  • SphinxClient::setFilterFloatRange — Add new float range filter
  • SphinxClient::setFilterRange — Add new integer range filter
  • SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations
  • SphinxClient::setGroupBy — Set grouping attribute
  • SphinxClient::setGroupDistinct — Set attribute name for per-group distinct values count calculations
  • SphinxClient::setIDRange — Set a range of accepted document IDs
  • SphinxClient::setIndexWeights — Set per-index weights
  • SphinxClient::setLimits — Set offset and limit of the result set
  • SphinxClient::setMatchMode — Set full-text query matching mode
  • SphinxClient::setMaxQueryTime — Set maximum query time
  • SphinxClient::setOverride — Sets temporary per-document attribute value overrides
  • SphinxClient::setRankingMode — Set ranking mode
  • SphinxClient::setRetries — Set retry count and delay
  • SphinxClient::setSelect — Set select clause
  • SphinxClient::setServer — Set searchd host and port
  • SphinxClient::setSortMode — Set matches sorting mode
  • SphinxClient::status — Queries searchd status
  • SphinxClient::updateAttributes — Update document attributes


Add query to multi-query batch

  • « SphinxClient
  • SphinxClient::buildExcerpts »
  • PHP Manual
  • SphinxClient
  • Add query to multi-query batch

SphinxClient::addQuery

(PECL sphinx >= 0.1.0)

SphinxClient::addQuery — Add query to multi-query batch

Descrição

public SphinxClient::addQuery ( string $query , string $index = "*" , string $comment = "" ) : int

Adds query with the current settings to multi-query batch. This method doesn't affect current settings (sorting, filtering, grouping etc.) in any way.

Parâmetros

query

Query string.

index

An index name (or names).

comment

Valor Retornado

Returns an index in an array of results that will be returned by SphinxClient::runQueries call or false on error.

Veja Também

  • SphinxClient::runQueries
  • SphinxClient::query


Build text snippets

  • « SphinxClient::addQuery
  • SphinxClient::buildKeywords »
  • PHP Manual
  • SphinxClient
  • Build text snippets

SphinxClient::buildExcerpts

(PECL sphinx >= 0.1.0)

SphinxClient::buildExcerpts — Build text snippets

Descrição

public SphinxClient::buildExcerpts ( array $docs , string $index , string $words , array $opts = ? ) : array|false

Connects to searchd, requests it to generate excerpts (snippets) from the given documents, and returns the results.

Parâmetros

docs

Array of strings with documents' contents.

index

Index name.

words

Keywords to highlight.

opts

Associative array of additional highlighting options (see below).

Highlighting options
Option | Description
"before_match" | A string to insert before a keyword match. Default is "<b>".
"after_match" | A string to insert after a keyword match. Default is "</b>".
"chunk_separator" | A string to insert between snippet chunks (passages). Default is " ... ".
"limit" | Maximum snippet size, in symbols (codepoints). Integer, default is 256.
"around" | How much words to pick around each matching keywords block. Integer, default is 5.
"exact_phrase" | Whether to highlight exact query phrase matches only instead of individual keywords. Boolean, default is false.
"single_passage" | Whether to extract single best passage only. Boolean, default is false.

Valor Retornado

Returns array of snippets on success ou false em caso de falha.


Extract keywords from query

  • « SphinxClient::buildExcerpts
  • SphinxClient::close »
  • PHP Manual
  • SphinxClient
  • Extract keywords from query

SphinxClient::buildKeywords

(PECL sphinx >= 0.1.0)

SphinxClient::buildKeywords — Extract keywords from query

Descrição

public SphinxClient::buildKeywords ( string $query , string $index , bool $hits ) : array

Extracts keywords from query using tokenizer settings for the given index, optionally with per-keyword occurrence statistics.

Parâmetros

query

A query to extract keywords from.

index

An index to get tokenizing settings and keyword occurrence statistics from.

hits

A boolean flag to enable/disable keyword statistics generation.

Valor Retornado

Returns an array of associative arrays with per-keyword information.


Closes previously opened persistent connection

  • « SphinxClient::buildKeywords
  • SphinxClient::__construct »
  • PHP Manual
  • SphinxClient
  • Closes previously opened persistent connection

SphinxClient::close

(PECL sphinx >= 1.0.3)

SphinxClient::close — Closes previously opened persistent connection

Descrição

public SphinxClient::close ( ) : bool

Closes previously opened persistent connection.

Parâmetros

Esta função não possui parâmetros.

Changelog

PECL/sphinx Versão | Descrição
PECL sphinx 1.0.3 | Added SphinxClient::close(), available only if compiled with libsphinxclient >= 0.9.9.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • SphinxClient::open


Create a new SphinxClient object

  • « SphinxClient::close
  • SphinxClient::escapeString »
  • PHP Manual
  • SphinxClient
  • Create a new SphinxClient object

SphinxClient::__construct

(PECL sphinx >= 0.1.0)

SphinxClient::__construct — Create a new SphinxClient object

Descrição

public SphinxClient::__construct ( )

Creates a new SphinxClient object.

Parâmetros

Esta função não possui parâmetros.


Escape special characters

  • « SphinxClient::__construct
  • SphinxClient::getLastError »
  • PHP Manual
  • SphinxClient
  • Escape special characters

SphinxClient::escapeString

(PECL sphinx >= 0.1.0)

SphinxClient::escapeString — Escape special characters

Descrição

public SphinxClient::escapeString ( string $string ) : string

Escapes characters that are treated as special operators by the query language parser.

Parâmetros

string

String to escape.

Valor Retornado

Returns escaped string.


Get the last error message

  • « SphinxClient::escapeString
  • SphinxClient::getLastWarning »
  • PHP Manual
  • SphinxClient
  • Get the last error message

SphinxClient::getLastError

(PECL sphinx >= 0.1.0)

SphinxClient::getLastError — Get the last error message

Descrição

public SphinxClient::getLastError ( ) : string

Returns string with the last error message. If there were no errors during the previous API call, empty string is returned. This method doesn't reset the error message, so you can safely call it several times.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the last error message or an empty string if there were no errors.

Veja Também

  • SphinxClient::getLastWarning


Get the last warning

  • « SphinxClient::getLastError
  • SphinxClient::open »
  • PHP Manual
  • SphinxClient
  • Get the last warning

SphinxClient::getLastWarning

(PECL sphinx >= 0.1.0)

SphinxClient::getLastWarning — Get the last warning

Descrição

public SphinxClient::getLastWarning ( ) : string

Returns last warning message. If there were no warnings during the previous API call, empty string is returned. This method doesn't reset the warning, so you can safely call it several times.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the last warning message or an empty string if there were no warnings.

Veja Também

  • SphinxClient::getLastError


Opens persistent connection to the server

  • « SphinxClient::getLastWarning
  • SphinxClient::query »
  • PHP Manual
  • SphinxClient
  • Opens persistent connection to the server

SphinxClient::open

(PECL sphinx >= 1.0.3)

SphinxClient::open — Opens persistent connection to the server

Descrição

public SphinxClient::open ( ) : bool

Opens persistent connection to the server.

Parâmetros

Esta função não possui parâmetros.

Changelog

PECL/sphinx Versão | Descrição
PECL sphinx 1.0.3 | Added SphinxClient::open(), available only if compiled with libsphinxclient >= 0.9.9.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • SphinxClient::close


Execute search query

  • « SphinxClient::open
  • SphinxClient::resetFilters »
  • PHP Manual
  • SphinxClient
  • Execute search query

SphinxClient::query

(PECL sphinx >= 0.1.0)

SphinxClient::query — Execute search query

Descrição

public SphinxClient::query ( string $query , string $index = "*" , string $comment = "" ) : array

Connects to searchd server, runs the given search query with the current settings, obtains and returns the result set.

Parâmetros

query

Query string.

index

An index name (or names).

comment

Valor Retornado

On success, SphinxClient::query() returns a list of found matches and additional per-query statistics. The result set is a hash utilize other structures instead of hash) with the following keys and values:

Result set structure
Key | Value description
"matches" | An array with found document IDs as keys and their weight and attributes values as values
"total" | Total number of matches found and retrieved (depends on your settings)
"total_found" | Total number of found documents matching the query
"words" | An array with words (case-folded and stemmed) as keys and per-word statistics as values
"error" | Query error message reported by searchd
"warning" | Query warning reported by searchd

Veja Também

  • SphinxClient::runQueries
  • SphinxClient::addQuery


Clear all filters

  • « SphinxClient::query
  • SphinxClient::resetGroupBy »
  • PHP Manual
  • SphinxClient
  • Clear all filters

SphinxClient::resetFilters

(PECL sphinx >= 0.1.0)

SphinxClient::resetFilters — Clear all filters

Descrição

public SphinxClient::resetFilters ( ) : void

Clears all currently set filters. This call is normally required when using multi-queries. You might want to set different filters for different queries in the batch. To do that, you should call SphinxClient::resetFilters() and add new filters using the respective calls.

Valor Retornado

Não há valor retornado.

Veja Também

  • SphinxClient::resetGroupBy


Clear all group-by settings

  • « SphinxClient::resetFilters
  • SphinxClient::runQueries »
  • PHP Manual
  • SphinxClient
  • Clear all group-by settings

SphinxClient::resetGroupBy

(PECL sphinx >= 0.1.0)

SphinxClient::resetGroupBy — Clear all group-by settings

Descrição

public SphinxClient::resetGroupBy ( ) : void

Clears all currently group-by settings, and disables group-by. This call is normally required only when using multi-queries.

Valor Retornado

Não há valor retornado.

Veja Também

  • SphinxClient::resetGroupBy


Run a batch of search queries

  • « SphinxClient::resetGroupBy
  • SphinxClient::setArrayResult »
  • PHP Manual
  • SphinxClient
  • Run a batch of search queries

SphinxClient::runQueries

(PECL sphinx >= 0.1.0)

SphinxClient::runQueries — Run a batch of search queries

Descrição

public SphinxClient::runQueries ( ) : array

Connects to searchd, runs a batch of all queries added using SphinxClient::addQuery, obtains and returns the result sets.

Valor Retornado

Returns false on failure and array of result sets on success.

Veja Também

  • SphinxClient::addQuery
  • SphinxClient::query


Change the format of result set array

  • « SphinxClient::runQueries
  • SphinxClient::setConnectTimeout »
  • PHP Manual
  • SphinxClient
  • Change the format of result set array

SphinxClient::setArrayResult

(PECL sphinx >= 0.1.0)

SphinxClient::setArrayResult — Change the format of result set array

Descrição

public SphinxClient::setArrayResult ( bool $array_result = false ) : bool

Controls the format of search results set arrays (whether matches should be returned as an array or a hash).

Parâmetros

array_result

If array_result is false, matches are returned as a hash with document IDs as keys, and other information (weight, attributes) as values. If array_result is true, matches are returned as a plain array with complete per-match information including document IDs.

Valor Retornado

Always returns true.


Set connection timeout

  • « SphinxClient::setArrayResult
  • SphinxClient::setFieldWeights »
  • PHP Manual
  • SphinxClient
  • Set connection timeout

SphinxClient::setConnectTimeout

(PECL sphinx >= 0.1.0)

SphinxClient::setConnectTimeout — Set connection timeout

Descrição

public SphinxClient::setConnectTimeout ( float $timeout ) : bool

Sets connection timeout (in seconds) for searchd connection.

Parâmetros

timeout

Timeout in seconds.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • SphinxClient::setMaxQueryTime


Set field weights

  • « SphinxClient::setConnectTimeout
  • SphinxClient::setFilter »
  • PHP Manual
  • SphinxClient
  • Set field weights

SphinxClient::setFieldWeights

(PECL sphinx >= 0.1.0)

SphinxClient::setFieldWeights — Set field weights

Descrição

public SphinxClient::setFieldWeights ( array $weights ) : bool

Binds per-field weights by name.

Match ranking can be affected by per-field weights. See » Sphinx documentation for an explanation on how phrase proximity ranking is affected. This call lets you specify non-default weights for full-text fields.

The weights must be positive 32-bit integers, so be careful not to hit 32-bit integer maximum. The final weight is a 32-bit integer too. Default weight value is 1. Unknown field names are silently ignored.

Parâmetros

weights

Associative array of field names and field weights.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • SphinxClient::setIndexWeights


Add new integer values set filter

  • « SphinxClient::setFieldWeights
  • SphinxClient::setFilterFloatRange »
  • PHP Manual
  • SphinxClient
  • Add new integer values set filter

SphinxClient::setFilter

(PECL sphinx >= 0.1.0)

SphinxClient::setFilter — Add new integer values set filter

Descrição

public SphinxClient::setFilter ( string $attribute , array $values , bool $exclude = false ) : bool

Adds new integer values set filter to the existing list of filters.

Parâmetros

attribute

An attribute name.

values

Plain array of integer values.

exclude

If set to true, matching documents are excluded from the result set.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilterRange
  • SphinxClient::resetFilters


Add new float range filter

  • « SphinxClient::setFilter
  • SphinxClient::setFilterRange »
  • PHP Manual
  • SphinxClient
  • Add new float range filter

SphinxClient::setFilterFloatRange

(PECL sphinx >= 0.1.0)

SphinxClient::setFilterFloatRange — Add new float range filter

Descrição

public SphinxClient::setFilterFloatRange ( string $attribute , float $min , float $max , bool $exclude = false ) : bool

Adds new float range filter to the existing list of filters. Only those documents which have attribute value stored in the index between min and max (including values that are exactly equal to min or max) will be matched (or rejected, if exclude is true).

Parâmetros

attribute

An attribute name.

min

Minimum value.

max

Maximum value.

exclude

If set to true, matching documents are excluded from the result set.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • SphinxClient::setFilterRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters


Add new integer range filter

  • « SphinxClient::setFilterFloatRange
  • SphinxClient::setGeoAnchor »
  • PHP Manual
  • SphinxClient
  • Add new integer range filter

SphinxClient::setFilterRange

(PECL sphinx >= 0.1.0)

SphinxClient::setFilterRange — Add new integer range filter

Descrição

public SphinxClient::setFilterRange ( string $attribute , int $min , int $max , bool $exclude = false ) : bool

Adds new integer range filter to the existing list of filters. Only those documents which have attribute value stored in the index between min and max (including values that are exactly equal to min or max) will be matched (or rejected, if exclude is true).

Parâmetros

attribute

An attribute name.

min

Minimum value.

max

Maximum value.

exclude

If set to true, matching documents are excluded from the result set.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters


Set anchor point for a geosphere distance calculations

  • « SphinxClient::setFilterRange
  • SphinxClient::setGroupBy »
  • PHP Manual
  • SphinxClient
  • Set anchor point for a geosphere distance calculations

SphinxClient::setGeoAnchor

(PECL sphinx >= 0.1.0)

SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations

Descrição

public SphinxClient::setGeoAnchor ( string $attrlat , string $attrlong , float $latitude , float $longitude ) : bool

Sets anchor point for a geosphere distance (geodistance) calculations and enables them.

Once an anchor point is set, you can use magic "@geodist" attribute name in your filters and/or sorting expressions.

Parâmetros

attrlat

Name of a latitude attribute.

attrlong

Name of a longitude attribute.

latitude

Anchor latitude in radians.

longitude

Anchor longitude in radians.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilterRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters


Set grouping attribute

  • « SphinxClient::setGeoAnchor
  • SphinxClient::setGroupDistinct »
  • PHP Manual
  • SphinxClient
  • Set grouping attribute

SphinxClient::setGroupBy

(PECL sphinx >= 0.1.0)

SphinxClient::setGroupBy — Set grouping attribute

Descrição

public SphinxClient::setGroupBy ( string $attribute , int $func , string $groupsort = "@group desc" ) : bool

Sets grouping attribute, function, and group sorting mode, and enables grouping.

Grouping feature is very similar to GROUP BY clause in SQL. Results produced by this function call are going to be the same as produced by the following pseudo code: SELECT ... GROUP BY $func($attribute) ORDER BY $groupsort.

Parâmetros

attribute

A string containing group-by attribute name.

func

Constant, which sets a function applied to the attribute value in order to compute group-by key.

groupsort

An optional clause controlling how the groups are sorted.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • SphinxClient::resetGroupBy
  • SphinxClient::setSortMode
  • SphinxClient::setGroupDistinct


Set attribute name for per-group distinct values count calculations

  • « SphinxClient::setGroupBy
  • SphinxClient::setIDRange »
  • PHP Manual
  • SphinxClient
  • Set attribute name for per-group distinct values count calculations

SphinxClient::setGroupDistinct

(PECL sphinx >= 0.1.0)

SphinxClient::setGroupDistinct — Set attribute name for per-group distinct values count calculations

Descrição

public SphinxClient::setGroupDistinct ( string $attribute ) : bool

Sets attribute name for per-group distinct values count calculations. Only available for grouping queries. For each group, all values of attribute will be stored, then the amount of distinct values will be calculated and returned to the client. This feature is similar to COUNT(DISTINCT) clause in SQL.

Parâmetros

attribute

A string containing group-by attribute name.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • SphinxClient::setSortMode
  • SphinxClient::setGroupBy
  • SphinxClient::resetGroupBy


Set a range of accepted document IDs

  • « SphinxClient::setGroupDistinct
  • SphinxClient::setIndexWeights »
  • PHP Manual
  • SphinxClient
  • Set a range of accepted document IDs

SphinxClient::setIDRange

(PECL sphinx >= 0.1.0)

SphinxClient::setIDRange — Set a range of accepted document IDs

Descrição

public SphinxClient::setIDRange ( int $min , int $max ) : bool

Sets an accepted range of document IDs. Default range is from 0 to 0, i.e. no limit. Only those records that have document ID between min and max (including IDs exactly equal to min or max) will be matched.

Parâmetros

min

Minimum ID value.

max

Maximum ID value.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set per-index weights

  • « SphinxClient::setIDRange
  • SphinxClient::setLimits »
  • PHP Manual
  • SphinxClient
  • Set per-index weights

SphinxClient::setIndexWeights

(PECL sphinx >= 0.1.0)

SphinxClient::setIndexWeights — Set per-index weights

Descrição

public SphinxClient::setIndexWeights ( array $weights ) : bool

Sets per-index weights and enables weighted summing of match weights across different indexes.

Parâmetros

weights

An associative array mapping string index names to integer weights. Default is empty array, i.e. weighting summing is disabled.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set offset and limit of the result set

  • « SphinxClient::setIndexWeights
  • SphinxClient::setMatchMode »
  • PHP Manual
  • SphinxClient
  • Set offset and limit of the result set

SphinxClient::setLimits

(PECL sphinx >= 0.1.0)

SphinxClient::setLimits — Set offset and limit of the result set

Descrição

public SphinxClient::setLimits ( int $offset , int $limit , int $max_matches = 0 , int $cutoff = 0 ) : bool

Sets offset into server-side result set and amount of matches to return to client starting from that offset (limit). Can additionally control maximum server-side result set size for current query (max_matches) and the threshold amount of matches to stop searching at (cutoff).

Parâmetros

offset

Result set offset.

limit

Amount of matches to return.

max_matches

Controls how much matches searchd will keep in RAM while searching.

cutoff

Used for advanced performance control. It tells searchd to forcibly stop search query once cutoff matches have been found and processed.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set full-text query matching mode

  • « SphinxClient::setLimits
  • SphinxClient::setMaxQueryTime »
  • PHP Manual
  • SphinxClient
  • Set full-text query matching mode

SphinxClient::setMatchMode

(PECL sphinx >= 0.1.0)

SphinxClient::setMatchMode — Set full-text query matching mode

Descrição

public SphinxClient::setMatchMode ( int $mode ) : bool

Sets full-text query matching mode. mode is one of the constants listed below.

Match modes
Constant | Description
SPH_MATCH_ALL | Match all query words (default mode).
SPH_MATCH_ANY | Match any of query words.
SPH_MATCH_PHRASE | Match query as a phrase, requiring perfect match.
SPH_MATCH_BOOLEAN | Match query as a boolean expression.
SPH_MATCH_EXTENDED | Match query as an expression in Sphinx internal query language.
SPH_MATCH_FULLSCAN | Enables fullscan.
SPH_MATCH_EXTENDED2 | The same as SPH_MATCH_EXTENDED plus ranking and quorum searching support.

Parâmetros

mode

Matching mode.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • SphinxClient::setRankingMode
  • SphinxClient::setSortMode


Set maximum query time

  • « SphinxClient::setMatchMode
  • SphinxClient::setOverride »
  • PHP Manual
  • SphinxClient
  • Set maximum query time

SphinxClient::setMaxQueryTime

(PECL sphinx >= 0.1.0)

SphinxClient::setMaxQueryTime — Set maximum query time

Descrição

public SphinxClient::setMaxQueryTime ( int $qtime ) : bool

Sets maximum search query time.

Parâmetros

qtime

Maximum query time, in milliseconds. It must be a non-negative integer. Default value is 0, i.e. no limit.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Sets temporary per-document attribute value overrides

  • « SphinxClient::setMaxQueryTime
  • SphinxClient::setRankingMode »
  • PHP Manual
  • SphinxClient
  • Sets temporary per-document attribute value overrides

SphinxClient::setOverride

(PECL sphinx >= 1.0.3)

SphinxClient::setOverride — Sets temporary per-document attribute value overrides

Descrição

public SphinxClient::setOverride ( string $attribute , int $type , array $values ) : bool

Sets temporary (per-query) per-document attribute value overrides. Override feature lets you "temporary" update attribute values for some documents within a single query, leaving all other queries unaffected. This might be useful for personalized data

Parâmetros

attribute

An attribute name.

type

An attribute type. Only supports scalar attributes.

values

Array of attribute values that maps document IDs to overridden attribute values.

Changelog

PECL/sphinx Versão | Descrição
PECL sphinx 1.0.3 | Added SphinxClient::setOverride(), available only if compiled with libsphinxclient >= 0.9.9.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set ranking mode

  • « SphinxClient::setOverride
  • SphinxClient::setRetries »
  • PHP Manual
  • SphinxClient
  • Set ranking mode

SphinxClient::setRankingMode

(PECL sphinx >= 0.1.0)

SphinxClient::setRankingMode — Set ranking mode

Descrição

public SphinxClient::setRankingMode ( int $ranker ) : bool

Sets ranking mode. Only available in SPH_MATCH_EXTENDED2 matching mode.

Ranking modes
Constant | Description
SPH_RANK_PROXIMITY_BM25 | Default ranking mode which uses both proximity and BM25 ranking.
SPH_RANK_BM25 | Statistical ranking mode which uses BM25 ranking only (similar to most of other full-text engines). This mode is faster, but may result in worse quality on queries which contain more than 1 keyword.
SPH_RANK_NONE | Disables ranking. This mode is the fastest. It is essentially equivalent to boolean searching, a weight of 1 is assigned to all matches.

Parâmetros

ranker

Ranking mode.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • SphinxClient::setMatchMode


Set retry count and delay

  • « SphinxClient::setRankingMode
  • SphinxClient::setSelect »
  • PHP Manual
  • SphinxClient
  • Set retry count and delay

SphinxClient::setRetries

(PECL sphinx >= 0.1.0)

SphinxClient::setRetries — Set retry count and delay

Descrição

public SphinxClient::setRetries ( int $count , int $delay = 0 ) : bool

Sets distributed retry count and delay.

On temporary failures searchd will attempt up to count retries per agent. delay is the delay between the retries, in milliseconds. Retries are disabled by default. Note that this call will not make the API itself retry on temporary failure; it only tells searchd to do so.

Parâmetros

count

Number of retries.

delay

Delay between retries, in milliseconds.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set select clause

  • « SphinxClient::setRetries
  • SphinxClient::setServer »
  • PHP Manual
  • SphinxClient
  • Set select clause

SphinxClient::setSelect

(PECL sphinx >= 1.0.1)

SphinxClient::setSelect — Set select clause

Descrição

public SphinxClient::setSelect ( string $clause ) : bool

Sets the select clause, listing specific attributes to fetch, and expressions to compute and fetch.

Parâmetros

clause

SQL-like clause.

Changelog

PECL/sphinx Versão | Descrição
PECL sphinx 1.0.1 | Added SphinxClient::setSelect(), available only if compiled with libsphinxclient >= 0.9.9.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set searchd host and port

  • « SphinxClient::setSelect
  • SphinxClient::setSortMode »
  • PHP Manual
  • SphinxClient
  • Set searchd host and port

SphinxClient::setServer

(PECL sphinx >= 0.1.0)

SphinxClient::setServer — Set searchd host and port

Descrição

public SphinxClient::setServer ( string $server , int $port ) : bool

Sets searchd host name and TCP port. All subsequent requests will use the new host and port settings. Default host and port are 'localhost' and 3312, respectively.

Parâmetros

server

IP or hostname.

port

Port number.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set matches sorting mode

  • « SphinxClient::setServer
  • SphinxClient::status »
  • PHP Manual
  • SphinxClient
  • Set matches sorting mode

SphinxClient::setSortMode

(PECL sphinx >= 0.1.0)

SphinxClient::setSortMode — Set matches sorting mode

Descrição

public SphinxClient::setSortMode ( int $mode , string $sortby = ? ) : bool

Sets matches sorting mode. See available modes below.

Sorting modes
Constant | Description
SPH_SORT_RELEVANCE | Sort by relevance in descending order (best matches first).
SPH_SORT_ATTR_DESC | Sort by an attribute in descending order (bigger attribute values first).
SPH_SORT_ATTR_ASC | Sort by an attribute in ascending order (smaller attribute values first).
SPH_SORT_TIME_SEGMENTS | Sort by time segments (last hour/day/week/month) in descending order, and then by relevance in descending order.
SPH_SORT_EXTENDED | Sort by SQL-like combination of columns in ASC/DESC order.
SPH_SORT_EXPR | Sort by an arithmetic expression.

Parâmetros

mode

Sorting mode.

sortby

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • SphinxClient::setMatchMode
  • SphinxClient::setSortMode


Queries searchd status

  • « SphinxClient::setSortMode
  • SphinxClient::updateAttributes »
  • PHP Manual
  • SphinxClient
  • Queries searchd status

SphinxClient::status

(PECL sphinx >= 1.0.3)

SphinxClient::status — Queries searchd status

Descrição

public SphinxClient::status ( ) : array

Queries searchd status, and returns an array of status variable name and value pairs.

Parâmetros

Esta função não possui parâmetros.

Changelog

PECL/sphinx Versão | Descrição
PECL sphinx 1.0.3 | Added SphinxClient::status(), available only if compiled with libsphinxclient >= 0.9.9.

Valor Retornado

Returns an associative array of search server statistics ou false em caso de falha.


Update document attributes

  • « SphinxClient::status
  • Extensões Específicas para Servidor »
  • PHP Manual
  • SphinxClient
  • Update document attributes

SphinxClient::updateAttributes

(PECL sphinx >= 0.1.0)

SphinxClient::updateAttributes — Update document attributes

Descrição

public SphinxClient::updateAttributes ( string $index , array $attributes , array $values , bool $mva = false ) : int

Instantly updates given attribute values in given documents.

Parâmetros

index

Name of the index (or indexes) to be updated.

attributes

Array of attribute names, listing attributes that are updated.

values

Associative array containing document IDs as keys and array of attribute values as values.

Valor Retornado

Returns number of actually updated documents (0 or more) on success, or false on failure.


Extensões Específicas para Servidor

  • Apache
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Apache Funções
  • FastCGI Process Manager
    • Introdução
    • Instalação/Configuração
    • FPM Funções


Apache

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Apache Funções
    • apache_child_terminate — Finaliza o processo Apache depois da requisição
    • apache_get_modules — Retorna uma lista de módulos carregados do Apache
    • apache_get_version — Retorna a versão do Apache
    • apache_getenv — Retorna uma variável subprocess_env do Apache
    • apache_lookup_uri — Realiza uma requisição parcial para a URI especificada e retorna todas as informações sobre ela
    • apache_note — Obtêm e configura notas de requisição
    • apache_request_headers — Obtém todos os cabeçalhos da requisição HTTP
    • apache_response_headers — Obtém todos os cabeçalhos da resposta HTTP
    • apache_setenv — Define uma variável subprocess_env do Apache
    • getallheaders — Obtém todos os cabeçalhos da requisição HTTP
    • virtual — Realiza uma sub-requisição Apache


Introdução

Estas funções estão disponíveis somente quando o PHP estiver rodando como módulo do Apache.

Nota: A partir do PHP 4.3.2, a variável de ambiente PATH_TRANSLATED não é mais definida explicitamente na SAPI Apache 2, em contraste a esta situação, no Apache 1, onde é definida com o mesmo valor que a variável de ambiente SCRIPT_FILENAME quando não populada pelo Apache. Esta modificação foi feita para ser compátível com a especificação de CGI, que diz que PATH_TRANSLATED só deve existir se PATH_INFO for definida. Usuários de Apache 2 podem usar AcceptPathInfo = On dentro do httpd.conf para definir a variável de ambiente PATH_INFO.


  • « Dependências
  • Configurações em Execução »
  • PHP Manual
  • Instalação/Configuração
  • Instalação

Instalação

Para instalação do PHP no Apache, veja o capítulo de instalação.


Configurações em Execução

O comportamento do módulo PHP sob o Apache é afetado pelas configurações no php.ini. As diretivas de configuração no php.ini podem ser sobrescritas por diretivas php_flag no arquivo de configuração do servidor ou por arquivos .htaccess locais.

Exemplo #1 Desligando a interpretação do PHP em um diretório utilizando .htaccess

php_flag engine off

Opções de configuração do Apache
Nome | Padrão | Modificável | Changelog
engine | "1" | PHP_INI_ALL | Disponível desde o PHP 4.0.5.
child_terminate | "0" | PHP_INI_ALL | Disponível desde o PHP 4.0.5.
last_modified | "0" | PHP_INI_ALL | Disponível desde o PHP 4.0.5.
xbithack | "0" | PHP_INI_ALL | Disponível desde o PHP 4.0.5.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

engine boolean

Liga ou desliga a interpretação do PHP. Esta diretiva é útil somente para a módulo do Apache do PHP. É utilizada por sites que desejam desligar e ligar a interpretação do PHP em nível de diretórios ou servidores virtuais. Colocando engine off nos lugares apropriados do arquivo httpd.conf, o PHP pode ser ativado ou desativado.

child_terminate boolean

Especifica se scripts PHP podem requisitar o término de processos filhos no final da requisição, veja também apache_child_terminate().

last_modified boolean

Envia a data de modificação dos scripts PHP com cabeçalho Last-Modified: para esta requisição.

xbithack boolean

Interpreta arquivos marcados como executável como PHP, indiferente da extensão.


  • « Tipos de Recurso
  • Apache Funções »
  • PHP Manual
  • Apache
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Apache Funções

Índice

  • apache_child_terminate — Finaliza o processo Apache depois da requisição
  • apache_get_modules — Retorna uma lista de módulos carregados do Apache
  • apache_get_version — Retorna a versão do Apache
  • apache_getenv — Retorna uma variável subprocess_env do Apache
  • apache_lookup_uri — Realiza uma requisição parcial para a URI especificada e retorna todas as informações sobre ela
  • apache_note — Obtêm e configura notas de requisição
  • apache_request_headers — Obtém todos os cabeçalhos da requisição HTTP
  • apache_response_headers — Obtém todos os cabeçalhos da resposta HTTP
  • apache_setenv — Define uma variável subprocess_env do Apache
  • getallheaders — Obtém todos os cabeçalhos da requisição HTTP
  • virtual — Realiza uma sub-requisição Apache


Finaliza o processo Apache depois da requisição

  • « Apache Funções
  • apache_get_modules »
  • PHP Manual
  • Apache Funções
  • Finaliza o processo Apache depois da requisição

apache_child_terminate

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

apache_child_terminate — Finaliza o processo Apache depois da requisição

Descrição

apache_child_terminate ( ) : bool

A função apache_child_terminate() registrará para finalização o processo Apache executando a requisição atual do PHP quando a execução do código PHP terminar. Isto pode ser utilizado para terminar um processo depois que um script que tem um alto consumo de memória for rodado e quando essa memória normalmente só é liberada internamente, mas não é devolviva para o sistema operacional.

Valor Retornado

Retorna true se o PHP estiver rodando como um módulo Apache 1, a versão do Apahe não tem multithreaded, e a diretiva PHP child_terminate está ativa (desativada por padrão). Se essas condições não são alcançadas então false é retornado um erro E_WARNING é gerado.

Changelog

Versão | Descrição
5.4.0 | Esta funçõe se tornou disponível no FastCGI. Anteriormente ele só era suportado quando o PHP era instalado como módulo do Apache.

Notas

Nota: esta função não é implementada na plataforma Windows

Veja Também

  • exit() - Mostra uma mensagem e termina o script atual


Retorna uma lista de módulos carregados do Apache

  • « apache_child_terminate
  • apache_get_version »
  • PHP Manual
  • Apache Funções
  • Retorna uma lista de módulos carregados do Apache

apache_get_modules

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

apache_get_modules — Retorna uma lista de módulos carregados do Apache

Descrição

apache_get_modules ( ) : array

Retorna uma lista de módulos carregados do Apache.

Valor Retornado

Um array de módulos carregados do Apache.

Changelog

Versão | Descrição
5.0.0 | Tornou-se disponível usando o Apache 1 ou a API filter do Apache 2 . Antes disso, só estava disponível usando a API handler do Apache2.

Exemplos

Exemplo #1 Exemplo da função apache_get_modules()

<?php
print_r(apache_get_modules());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => core
    [1] => http_core
    [2] => mod_so
    [3] => sapi_apache2
    [4] => mod_mime
    [5] => mod_rewrite
)


Retorna a versão do Apache

  • « apache_get_modules
  • apache_getenv »
  • PHP Manual
  • Apache Funções
  • Retorna a versão do Apache

apache_get_version

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

apache_get_version — Retorna a versão do Apache

Descrição

apache_get_version ( ) : string

Retorna a versão do Apache.

Valor Retornado

Retorna a versão do Apache se tiver sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da função apache_get_version()

<?php
$version = apache_get_version();
echo "$version\n";
?>

O exemplo acima irá imprimir algo similar à:

Apache/1.3.29 (Unix) PHP/4.3.4

Veja Também

  • phpinfo() - Mostra muitas informações sobre o PHP


Retorna uma variável subprocess_env do Apache

  • « apache_get_version
  • apache_lookup_uri »
  • PHP Manual
  • Apache Funções
  • Retorna uma variável subprocess_env do Apache

apache_getenv

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

apache_getenv — Retorna uma variável subprocess_env do Apache

Descrição

apache_getenv ( string $variable , bool $walk_to_top = false ) : string

Retorna a variável de ambiente do Apache especificada por variable.

Essa função requer o Apache 2, caso contrário ela é indefinida.

Parâmetros

variable

A variável de ambiente do Apache

walk_to_top

Se deve ou não retorna a variável de alto-nível disponíveis em todas as camadas do Apache.

Valor Retornado

O valor da variável de ambiente do Apache se tiver sucesso, ou false se falhar

Exemplos

Exemplo #1 Exemplo de uso da função apache_getenv()

O exemplo abaixo mostra como obter o valor da variável de ambiente SERVER_ADDR do Apache.

<?php
$ret = apache_getenv("SERVER_ADDR");
echo $ret;
?>

O exemplo acima irá imprimir algo similar à:

42.24.42.240

Veja Também

  • apache_setenv() - Define uma variável subprocess_env do Apache
  • getenv() - Obtém uma variável de ambiente
  • Superglobais


Realiza uma requisição parcial para a URI especificada e retorna todas as informações sobre ela

  • « apache_getenv
  • apache_note »
  • PHP Manual
  • Apache Funções
  • Realiza uma requisição parcial para a URI especificada e retorna todas as informações sobre ela

apache_lookup_uri

(PHP 4, PHP 5, PHP 7, PHP 8)

apache_lookup_uri — Realiza uma requisição parcial para a URI especificada e retorna todas as informações sobre ela

Descrição

apache_lookup_uri ( string $filename ) : object

Realiza uma requisição parcial para uma URI. Trabalha o suficiente para obter odas as informações importantes sobre o recurso informado.

Esta função é suportada quando o PHP está instalado como um módulo do Apache.

Parâmetros

filename

O nome do arquivo (URI) que está sendo requisitado.

Valor Retornado

Um object com informações relacionadas a URI. As propriedades deste object são:

  • status
  • the_request
  • status_line
  • method
  • content_type
  • handler
  • uri
  • filename
  • path_info
  • args
  • boundary
  • no_cache
  • no_local_copy
  • allowed
  • send_bodyct
  • bytes_sent
  • byterange
  • clength
  • unparsed_uri
  • mtime
  • request_time

Exemplos

Exemplo #1 Exemplo da função apache_lookup_uri()

<?php
$info = apache_lookup_uri('index.php?var=value');
print_r($info);

if (file_exists($info->filename)) {
    echo 'Arquivo existe!';
}
?>

O exemplo acima irá imprimir algo similar à:

stdClass Object
(
    [status] => 200
    [the_request] => GET /dir/file.php HTTP/1.1
    [method] => GET
    [mtime] => 0
    [clength] => 0
    [chunked] => 0
    [content_type] => application/x-httpd-php
    [no_cache] => 0
    [no_local_copy] => 1
    [unparsed_uri] => /dir/index.php?var=value
    [uri] => /dir/index.php
    [filename] => /home/htdocs/dir/index.php
    [args] => var=value
    [allowed] => 0
    [sent_bodyct] => 0
    [bytes_sent] => 0
    [request_time] => 1074282764
)
Arquivo existe!


Obtêm e configura notas de requisição

  • « apache_lookup_uri
  • apache_request_headers »
  • PHP Manual
  • Apache Funções
  • Obtêm e configura notas de requisição

apache_note

(PHP 4, PHP 5, PHP 7, PHP 8)

apache_note — Obtêm e configura notas de requisição

Descrição

apache_note ( string $note_name , string $note_value = "" ) : string

Esta função chama as funções table_get e table_set do Apache. Edita as tabelas de notas que existem durante uma requisição. O objetivo das tabelas é permitir que os módulos do Apache se comuniquem entre entre si.

O principal uso da função apache_note() é passar informações de um módulo para outro dentro da mesma requisição.

Parâmetros

note_name

O nome da nota.

note_value

O valor da nota.

Valor Retornado

Se chamado com um argumento, retorna o valor atual da nota note_name. Se chamado com dois argumentos, define o valor da nota note_name para o valor note_value e retorna o valor anterior da nota note_name. Se a nota não puder ser retornada false é retornado.

Exemplos

Exemplo #1 Passando informações entre PHP e Perl

<?php

apache_note('name', 'Fredrik Ekengren');

// Chama o script perl
virtual("/perl/some_script.pl");

$result = apache_note("resultdata");
?>
# Obtém o objeto request do Apache
my $r = Apache->request()->main();

# Obtém o dado repassado
my $name = $r->notes('name');

# algum processamento

# Devolce o resultado ao PHP
$r->notes('resultdata', $result);

Exemplo #2 Logar valores no access.log

<?php

apache_note('sessionID', session_id());

?>
# "%{sessionID}n" pode ser utilizado numa diretiva LogFormat

Veja Também

  • virtual() - Realiza uma sub-requisição Apache


Obtém todos os cabeçalhos da requisição HTTP

  • « apache_note
  • apache_response_headers »
  • PHP Manual
  • Apache Funções
  • Obtém todos os cabeçalhos da requisição HTTP

apache_request_headers

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

apache_request_headers — Obtém todos os cabeçalhos da requisição HTTP

Descrição

apache_response_headers ( ) : array|false

Obtém todos os cabeçalhos HTTP da requisição atual. Funciona na CLI e nos servidores web Apache, FastCGI e FPM.

Valor Retornado

Um array associativo de todos os cabeçalho HTTP da requisição atual, ou false em caso de falha.

Changelog

Versão | Descrição
7.3.0 | Esta função tornou-se disponível na SAPI FPM.

Exemplos

Exemplo #1 Exemplo da função apache_request_headers()

<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}
?>

O exemplo acima irá imprimir algo similar à:

Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0
Host: www.example.com
Connection: Keep-Alive

Notas

Nota:

Você também pode obter o valor das variáveis CGI comuns lendo-as do ambiente, o que funciona independentemente de você estar usando o PHP como um módulo do Apache ou não. Utilize a função phpinfo() para ver uma lista de todas as variáveis de ambiente disponíveis.

Veja Também

  • apache_response_headers() - Obtém todos os cabeçalhos da resposta HTTP


Obtém todos os cabeçalhos da resposta HTTP

  • « apache_request_headers
  • apache_setenv »
  • PHP Manual
  • Apache Funções
  • Obtém todos os cabeçalhos da resposta HTTP

apache_response_headers

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

apache_response_headers — Obtém todos os cabeçalhos da resposta HTTP

Descrição

apache_response_headers ( ) : array|false

Obtém todos os cabeçalhos de resposta. Funciona na CLI e nos servidores web Apache, FastCGI e FPM.

Valor Retornado

Um array de todos os cabeçalhos de resposta do Apache em caso de sucesso, ou ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da função apache_response_headers()

<?php
print_r(apache_response_headers());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [Accept-Ranges] => bytes
    [X-Powered-By] => PHP/4.3.8
)

Veja Também

  • apache_request_headers() - Obtém todos os cabeçalhos da requisição HTTP
  • headers_sent() - Checks if or where headers have been sent
  • headers_list() - Retorna uma lista de cabeçalhos enviados para o servidor (ou pronto para enviar)


Define uma variável subprocess_env do Apache

  • « apache_response_headers
  • getallheaders »
  • PHP Manual
  • Apache Funções
  • Define uma variável subprocess_env do Apache

apache_setenv

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

apache_setenv — Define uma variável subprocess_env do Apache

Descrição

apache_setenv ( string $variable , string $value , bool $walk_to_top = false ) : bool

A função apache_setenv() define o valor de uma variável de ambiente Apache denotada por variable.

Nota:

Quando configurar uma variável de ambiente, o valor correspondente em $_SERVER não é alterado.

Parâmetros

variable

O nome da variável de ambiente a ser configurada.

value

O novo valor de variable.

walk_to_top

Se o valor deve ser definido como uma variável de alto nível em todos as camadas do Apache.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Configurando uma variável Apache utilizando apache_setenv()

<?php
apache_setenv("EXAMPLE_VAR", "Valor exemplo");
?>

Notas

Nota:

apache_setenv() pode ser pareado com apache_getenv() entre páginas diferentes para configurar variáveis a repassar em Server Side Includes (.shtml), repassando dados incluídos em scripts PHP.

Veja Também

  • apache_getenv() - Retorna uma variável subprocess_env do Apache


Obtém todos os cabeçalhos da requisição HTTP

  • « apache_setenv
  • virtual »
  • PHP Manual
  • Apache Funções
  • Obtém todos os cabeçalhos da requisição HTTP

getallheaders

(PHP 4, PHP 5, PHP 7, PHP 8)

getallheaders — Obtém todos os cabeçalhos da requisição HTTP

Descrição

getallheaders ( ) : array

Obtém todos cabeçalhos HTTP da requisição atual.

Essa função é um sinônimo de apache_request_headers(). Veja a documentação de apache_request_headers() para mais informações dessa função.

Valor Retornado

Um array associativo de todos cabeçalhos HTTP da requisição atual, ou false em caso de falha.

Changelog

Versão | Descrição
7.3.0 | Esta função tornou-se disponível na SAPI FPM.

Exemplos

Exemplo #1 Exemplo da função getallheaders()

<?php

foreach (getallheaders() as $name => $value) {
    echo "$name: $value\n";
}

?>

Veja Também

  • apache_response_headers() - Obtém todos os cabeçalhos da resposta HTTP


Realiza uma sub-requisição Apache

  • « getallheaders
  • FastCGI Process Manager »
  • PHP Manual
  • Apache Funções
  • Realiza uma sub-requisição Apache

virtual

(PHP 4, PHP 5, PHP 7, PHP 8)

virtual — Realiza uma sub-requisição Apache

Descrição

virtual ( string $filename ) : bool

virtual() é uma função específica do Apache equivalente a <!--#include virtual...--> no mod_include. Realiza uma sub-requisição do Apache. Util na inclusão de scripts CGI ou arquivos .shtml, ou qualquer outra coisa que você possa interpretar no Apache. Note que para um script CGI, o script precisa gerar um cabeçalho CGI válido. Isto significa que, no mínimo, ele precisa gerar um header Content-Type.

Para executar a sub-requisição, todos os buffers são finalizados e enviados para o browser. Cabeçalhos pendentes também serão enviados.

Esta função é suportada quando o PHP está instalado como um módulo do Apache.

Parâmetros

filename

O arquivo no qual um comando virtual será realizado.

Valor Retornado

Realizada o comando virtual em sucesso, retorna false em erros.

Exemplos

Veja apache_note() para um exemplo.

Notas

Aviso

Uma query string pode ser passada para o arquivo incluído mas $_GET é copiado do script anterior somente se $_SERVER['QUERY_STRING'] é preenchido com o valor da query string. A query string pode ser passada somente no Apache 2. A página requisitada não será listada nos logs do Apache.

Nota:

Variáveis de ambiente configuradas no arquivo requisitado não estarão visíveis no script incluído.

Nota:

Essa função pode ser utilizada em scripts PHP. Entretanto é geralmente melhor utilizar as funções include ou require para arquivos PHP.

Veja Também

  • apache_note() - Obtêm e configura notas de requisição


FastCGI Process Manager

  • Introdução
  • Instalação/Configuração
  • FPM Funções
    • fastcgi_finish_request — Envia todos os dados de resposta ao cliente


Introdução

FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features (mostly) useful for heavy-loaded sites.

This SAPI is bundled with PHP 5.3.3 and later.


Instalação/Configuração

Information on installing and configuring FPM can be found in the installation and configuration section of the PHP manual.


  • « Instalação/Configuração
  • fastcgi_finish_request »
  • PHP Manual
  • FastCGI Process Manager
  • FPM Funções

FPM Funções

Índice

  • fastcgi_finish_request — Envia todos os dados de resposta ao cliente


Envia todos os dados de resposta ao cliente

  • « FPM Funções
  • Extensões de Sessão »
  • PHP Manual
  • FPM Funções
  • Envia todos os dados de resposta ao cliente

fastcgi_finish_request

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

fastcgi_finish_request — Envia todos os dados de resposta ao cliente

Descrição

fastcgi_finish_request ( ) : boolean

Esta função envia todos os dados de resposta para o cliente e finaliza a requisição. Isso permite que tarefas demoradas sejam executadas sem que a conexão com o cliente seja mantida aberta.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Extensões de Sessão

  • Sessões — Manipulação de Sessão
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Progresso de Upload em Sessão
    • Sessões e segurança
    • Funções para Sessão
    • SessionHandler — A classe SessionHandler
    • SessionHandlerInterface — A classe SessionHandlerInterface


Manipulação de Sessão

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Uso básico
    • Passando o ID de sessão
    • Manipuladores de Sessão Personalizados
  • Progresso de Upload em Sessão
  • Sessões e segurança
    • Gerencimento básico de sessão
    • Protegendo as configurações INI relacionadas à sessão
  • Funções para Sessão
    • session_abort — Descarta as alterações no array da sessão e encerra a sessão
    • session_cache_expire — Retorna o prazo do cache atual
    • session_cache_limiter — Obtém e/ou define o limitador do cache atual
    • session_commit — Sinônimo de session_write_close
    • session_create_id — Create new session id
    • session_decode — Decodifica dados de sessão de uma sessão codificada em formato string
    • session_destroy — Destrói todos os dados registrados em uma sessão
    • session_encode — Codifica os dados atuais da sessão como uma sessão codificada em formato string
    • session_gc — Perform session data garbage collection
    • session_get_cookie_params — Obtém os parâmetros do cookie da sessão
    • session_id — Obtém e/ou define o id de sessão atual
    • session_is_registered — Verifica se uma variável global está registrada numa sessão
    • session_module_name — Obtém e/ou define o módulo da sessão atual
    • session_name — Obtém e/ou define o nome da sessão atual
    • session_regenerate_id — Atualiza o id da sessão atual com um novo id gerado
    • session_register_shutdown — Função de finalização da sessão
    • session_reset — Reinicializa um array de sessão com os valores originais
    • session_save_path — Obtém e/ou define o caminho para armazenamento da sessão atual
    • session_set_cookie_params — Define os parâmetros do cookie de sessão
    • session_set_save_handler — Define funções de armazenamento de sessão à nível de usuário
    • session_start — Inicia uma nova sessão ou resume uma sessão existente
    • session_status — Retorna o status atual da sessão
    • session_unregister — Desregistra uma variável global da sessão atual
    • session_unset — Libera todas as variáveis de sessão
    • session_write_close — Guarda os dados de sessão e fecha a sessão
  • SessionHandler — A classe SessionHandler
    • SessionHandler::close — Fecha a sessão
    • SessionHandler::create_sid — Retorna um novo ID de sessão
    • SessionHandler::destroy — Destrói uma sessão
    • SessionHandler::gc — Apaga sessões antigas
    • SessionHandler::open — Inicia uma sessão
    • SessionHandler::read — Lê os dados de sessão
    • SessionHandler::write — Escreve os dados de sessão
  • SessionHandlerInterface — A classe SessionHandlerInterface
    • SessionHandlerInterface::close — Fecha a sessão
    • SessionHandlerInterface::destroy — Destrói uma sessão
    • SessionHandlerInterface::gc — Remove sessões antigas
    • SessionHandlerInterface::open — Inicializa uma sessão
    • SessionHandlerInterface::read — Lê os dados de sessão
    • SessionHandlerInterface::write — Escreve os dados de sessão


Introdução

O suporte a sessões no PHP consiste em uma maneira de preservar certos dados atráves dos acessos subsequentes.

Um visitante acessando o seu web site ganha um identificador único, o assim chamado id de sessão. Ele é salvo em um cookie do lado do usuário ou propagado via URL.

O suporte à sessão permite armazenar dados entre as requisições no array super global $_SESSION. Quando um visitante acessar seu site, o PHP vai conferir automaticamente (se session.auto_start estiver definido como 1) ou quando você pedir (explicitamente atráves de session_start()) se um id de sessão específico foi enviado com a requisição. Se este for o caso, o ambiente anteriormente salvo é recriado.

Cuidado

Se você ativar session.auto_start, então a única maneira de colocar objetos em suas sessões é carregando a definição da classe usando auto_prepend_file, onde você pode carregar a definição da classe, caso contrário você terá que usar serialize() no objeto, e unserialize() nele depois.

$_SESSION (e todas as variávels registradas) são serializadas internamente pelo PHP usando o manipulador de serialização especificado pela configuração INI session.serialize_handler depois que a requisição terminar. Variáveis registradas que estejam indefinidas são marcadas como não definidas. Nos acessos subsequentes, elas não são definidas pelo módulo da sessão, a menos que o usuário as definam posteriormente.

Aviso

Porque as variáveis de sessão são serializadas, variáveis resource não podem ser armazenadas em sessão.

Manipuladores de serialização (php e php_binary) herdam as limitações de register_globals. Portanto, índices numéricos ou strings contendo caracteres especiais (| e !) não podem ser usados. Se usados, resultará em erros na finalização do script. php_serialize não possui tais limitações. php_serialize está disponível a partir do PHP 5.5.4.

Nota:

Por favor, note que ao trabalhar com sessões, um registro na sessão não é criado até que a variável seja registrada usando a função session_register() ou pela adição de uma nova chave ao array super global $_SESSION. Isto continua valendo mesmo se uma sessão foi iniciada usando a função session_start().

Nota:

O PHP 5.2.2 introduziu uma funcionalidade não documentada para armazenar os arquivos de sessão em "/tmp" mesmo que open_basedir estivesse habilitado e "/tmp" não fosse adicionado explicitamente na lista de caminhos permitidos. Esta funcionalidade foi removida a partir do PHP 5.3.0.


Dependências

Esta extensão não necessita de bibliotecas externas para compilar.

Nota:

Opcionalmente você pode usar alocação de memória compartilhada (mm), desenvolvida por Ralf S. Engelschall, para armazenar a sessão. Você terá que baixar » mm e instalá-lo. Esta opção não está disponível para plataformas Windows. Note que o módulo de armazenamento de sessões para o mm não garante que acessos concorrentes à mesma sessão sejam travados apropriadamente. Pode ser mais apropriado usar um sistema de arquivos baseado em memória compartilhada (como tmpfs em Solaris/Linux, ou /dev/md em BSD) para armazenar sessões em arquivos, por que eles são travados apropriadamente. Os dados das sessões são salvos na memória então se o servidor for reiniciado os dados são excluídos.


Instalação

Suporte à sessão está habilitado no PHP por padrão. Se você preferir compilar o PHP sem suporte à sessão, você deve especificar a opção --disable-session para o script configure. Para usar alocação de memória compartilhada (mm) para armazenamento de sessão especifique a opção --with-mm[=DIR] .

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.

Nota:

Por padrão, todos os dados relacionados com uma sessão em particular serão armazenados em um arquivo no diretório especificado pela configuração INI session.save_path. Um arquivo para cada sessão (independente se alguma informação está associada com esta sessão) será criado. Isto é devido ao fato de que uma sessão é aberta (um arquivo é criado) mas até então nenhum dado é escrito neste arquivo. Note que este comportamento é um efeito colateral das limitações de trabalhar com o sistema de arquivo e é possível que um manipulador de sessão personalizado (como um que utilize banco de dados) não mantenha registros das sessões que não contém dados.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração de sessão
Nome | Padrão | Modificável | Changelog
session.save_path | "" | PHP_INI_ALL |
session.name | "PHPSESSID" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.auto_start | "0" | PHP_INI_PERDIR |
session.gc_probability | "1" | PHP_INI_ALL |
session.gc_divisor | "100" | PHP_INI_ALL | Disponível desde PHP 4.3.2.
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_secure | "" | PHP_INI_ALL | Disponível desde PHP 4.0.4.
session.cookie_httponly | "" | PHP_INI_ALL | Disponível desde PHP 5.2.0.
session.use_strict_mode | "0" | PHP_INI_ALL | Disponível desde o PHP 5.5.2.
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL | Disponível desde PHP 4.3.0.
session.referer_check | "" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cache_expire | "180" | PHP_INI_ALL |
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL no PHP <= 4.2.3. PHP_INI_PERDIR no PHP < 5. Disponível desde PHP 4.0.3.
session.trans_sid_tags | "a=href,area=href,frame=src,form=" | PHP_INI_ALL | Disponível desde o PHP 7.1.0.
session.trans_sid_hosts | $_SERVER['HTTP_HOST'] | PHP_INI_ALL | Disponível desde o PHP 7.1.0.
session.sid_length | "32" | PHP_INI_ALL | Disponível desde o PHP 7.1.0.
session.sid_bits_per_character | "5" | PHP_INI_ALL | Disponível desde o PHP 7.1.0.
session.upload_progress.enabled | "1" | PHP_INI_PERDIR | Disponível desde o PHP 5.4.0.
session.upload_progress.cleanup | "1" | PHP_INI_PERDIR | Disponível desde o PHP 5.4.0.
session.upload_progress.prefix | "upload_progress_" | PHP_INI_PERDIR | Disponível desde o PHP 5.4.0.
session.upload_progress.name | "PHP_SESSION_UPLOAD_PROGRESS" | PHP_INI_PERDIR | Disponível desde o PHP 5.4.0.
session.upload_progress.freq | "1%" | PHP_INI_PERDIR | Disponível desde o PHP 5.4.0.
session.upload_progress.min_freq | "1" | PHP_INI_PERDIR | Disponível desde o PHP 5.4.0.
session.lazy_write | "1" | PHP_INI_ALL | Disponível desde o PHP 7.0.0.
url_rewriter.tags | "a=href,area=href,frame=src,form=" | PHP_INI_ALL | Disponível desde o PHP 4.0.4. Desde PHP 7.1.0 essa opção não é mais utilizada pel mecanismo de sessão.
session.hash_function | "0" | PHP_INI_ALL | Disponível desde o PHP 5.0.0. Removido no PHP 7.1.0.
session.hash_bits_per_character | "4" | PHP_INI_ALL | Disponível desde o PHP 5.0.0. Removido no PHP 7.1.0.
session.entropy_file | "" | PHP_INI_ALL | Removido no PHP 7.1.0.
session.entropy_length | "0" | PHP_INI_ALL | Removido no PHP 7.1.0
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

O sistema de gerenciamento de sessões suporta várias opções de configurações que podem ser colocados no arquivo php.ini. A seguir um breve resumo.

session.save_handler string
session.save_handler define o nome do manipulador que será utilizado para armazenar e recuperar dados associados à sessão. Padrão para files. Note que extensões podem registrar seus próprios save_handlers; manipuladores registrados podem ser obtidos ao se vefificar o phpinfo(). Veja também session_set_save_handler().
session.save_path string
session.save_path define o argumento que é passado para o manipulador de gravação. Se você escolher o manipulador padrão (de arquivos), este é o caminho onde os arquivos serão criados. Veja também session_save_path().

Há um argumento opcional N para esta diretiva que determina o número de níveis de diretório que seus arquivos de sessão serão espalhados. Por exemplo, definindo para '5;/tmp' pode levar a criação de um arquivo de sessão e diretórios como /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If . Para fazer uso do N você deve criar todos estes diretórios antes do uso. Um pequeno script shell existe em ext/session para fazer isto, chamado mod_files.sh, com uma versão para o Windows chamada mod_files.bat. Também note que se N é usado e maior do que 0 então a limpeza de sessões não será executada, veja uma cópia do php.ini para mais informações. Também, se você usar N, certifique-se de cercar session.save_path com "aspas" porque o separador (;) é usado também para comentátios no php.ini.

O módulo de armazenamento em arquivo cria arquivos com permissões 600 por padrão. Esse padrão pode ser alterado com o argumento opcional MODE: N;MODE;/path onde MODE é o valor octal representando as permissões. Configurar MODE não afeta o umask do processo.

Aviso

Se você deixar isto definido num diretório de leitura público, como /tmp (o padrão), outros usuários no servidor poderão raptar sessõoes pegando a lista de arquivos nesse diretório.

Cuidado

Ao utilizar o argumento opcional de nível de diretório N, como descrito acima, note que utilizar um valor maior que 1 ou 2 é inapropriado na maioria dos sites por conta da geração de um grande número de diretórios exigidos: por exemplo, um valor de 3 implica que existirão 64^3 diretórios em disco, o que pode resultar numa quantidade enorme de espaço e inodes desperdiçados.

Somente use N maiores que 2 se você estiver absolutamente certo que o seu site é grande o suficiente para exigí-lo.

Nota: Antes do PHP 4.3.6 os usuários de Windows tinham que mudar esta variável para usar as funções de sessão do PHP. Um caminho válido deve ser especificado, ex.: c:/temp.

session.name string
session.name especifica o nome da sessão que é usada como o nome do cookie. Deve conter apenas caracteres alfanuméricos. O padrão é PHPSESSID. Veja também session_name().
session.auto_start boolean
session.auto_start especifica se o módulo da sessão deve iniciar uma sessão automaticamente no início da requisição. Padrão 0 (desabilitado).
session.serialize_handler string
session.serialize_handler define o nome do manipulador utilizado para serializar/desserializar dados. São suportados o formato serial do PHP (php_serialize), o formato interno do PHP (php e php_binary) e WDDX (wddx). O WDDX somente está disponível se o PHP foi compilado com suporte WDDX. php_serialize está disponível desde o PHP 5.5.4. php_serialize utiliza as funções serialize/unserialize internamente e não tem as limitações que php e php_binary tem. Serializadores antigos não conseguem gravar índices numéricos ou índices string que contenham caracteres especiais (| e !) no array $_SESSION. Utilize php_serialize para evitar erros de índices numéricos ou índices com caracteres especiais no final do script. O padrão é php.
session.gc_probability integer
session.gc_probability em conjunto com session.gc_divisor é usado para gerenciar a probabilidade que o gc (coletor de lixo) seja iniciado. O padrão é 1. Veja session.gc_divisor para detalhes.
session.gc_divisor integer
session.gc_divisor em conjunto com session.gc_probability define a probabilidade que o processo do gc (coletor de lixo) seja iniciado na inicialização de cada sessão. A probabilidade é cauculada usando gc_probability/gc_divisor, ex. 1/100 indica que existe 1% de chance que o processo GC inicie em cada requisição. O padrão para session.gc_divisor é 100.
session.gc_maxlifetime integer
session.gc_maxlifetime especifica o número de segundos, que, depois de decorridos, os dados serão considerados como lixo ('garbage') e eventualmente apagados. Isso pode ocorrer no início da sessão (dependendo de session.gc_probability e session.gc_divisor).

Nota: Se scripts diferentes tem valores diferentes para session.gc_maxlifetime mas compartilham o mesmo lugar para guardar os dados da sessão então o script com o menor valor estará limpando os dados. Neste caso, use esta diretiva em conjunto com session.save_path.

session.referer_check string
session.referer_check contém a substring que você quer checar contra cada HTTP Referer. Se o Referer for enviado pelo cliente e a sustring não foi encontrada, a id de sessão embutida será marcada como inválida. O padrão é uma string vazia.
session.entropy_file string
session.entropy_file informa o caminho para um recurso externo (arquivo) que será usado como uma fonte de entropia no processo de criação da id de sessão. Exemplos são /dev/random ou /dev/urandom que estão disponíveis em muitos sistemas UNIX. Esse recurso é suportado no Windows a partir do PHP 5.3.3. Configurando session.entropy_length para um valor diferente de zero fará o PHP utilizar o Windows Random API como fonte de entropia.

Nota: Removido no PHP 7.1.0. A partir do PHP 5.4.0 session.entropy_file tem como padrão /dev/urandom ou /dev/arandom, se disponível. No PHP 5.3.0 essa diretiva está em branco por padrão.

session.entropy_length integer
session.entropy_length especifica o número de bytes que serão lidos do arquivo especificado acima. Padrão em 0 (desabilitado). Removido no PHP 7.1.0.
session.use_strict_mode boolean
session.use_strict_mode especifica se o módulo utilizará o modo id de sessão rigoroso (strict). Se esse modo estiver ativo, o módulo não aceitará um id de sessão não inicializado. Se um id de sessão não inicializado for enviado pelo browser, um novo id de sessão é devolvido para o browser. Aplicações são protegidas da fixação de sessão adotando o modo de sessão rigoroso (strict). Padrão é 0 (desativado).

Nota: Ativar session.use_strict_mode é mandatório para segurança geral das sessões. A todos os sites é recomendado mantê-lo ativado. Veja o código em session_create_id() para mais detalhes.

session.use_cookies boolean
session.use_cookies especifica se o módulo utilizará cookies para guardar a id da sessão no lado do cliente. O padrão é 1 (habilitado).
session.use_only_cookies boolean
session.use_only_cookies especifica se o módulo usará somente cookies para guardar a id no lado do cliente. Habilitar esta configuração previne ataques envolvendo passagem de ids de sessão nas URLs. Esta configuração foi adicionada no PHP 4.3.0. Padrão 1 (ativado) a partir do PHP 5.3.0.
session.cookie_lifetime integer
session.cookie_lifetime especifica o tempo de vida do cookie em segundos que é enviado para o browser. O valor 0 significa "até o browser ser fechado". O padrão é 0. Veja também session_get_cookie_params() e session_set_cookie_params().

Nota: O timestamp de expiração é informado em relação à hora do servidor, que não necessariamente coincide com o horário do navegador do cliente.

session.cookie_path string
session.cookie_path especifica o caminho para definir em session_cookie. O padrão é /. Veja também session_get_cookie_params() e session_set_cookie_params().
session.cookie_domain string
session.cookie_domain especifica o domínio para definir no cookie de sessão. O padrão é nenhum significando o nome do servidor que gerou o cookie de arcordo com a especificação dos cookies. Veja também session_get_cookie_params() e session_set_cookie_params().
session.cookie_secure boolean
session.cookie_secure especifica se os cookies devem ser enviados apenas em conexões seguras. O padrão é off. Esta configuração foi adicionada no PHP 4.0.4. Veja também session_get_cookie_params() e session_set_cookie_params().
session.cookie_httponly boolean
Marca o cookie para ser acessível apenas atráves do protocolo HTTP. Isto significa que o cookie não será acessível por linguagens de script, como o JavaScript. Esta configuração pode efetivamente reduzir o roubo de identidade atráves de ataques XSS (apesar de não ser suportado por todos os browsers).
session.cache_limiter string
session.cache_limiter especifica o método de controle de cache para usar em páginas de sessão. Pode ser um dos seguintes valores: nocache, private, private_no_expire ou public. Padrão nocache. Veja também a documentação de session_cache_limiter() para ver o que os valores significam.
session.cache_expire integer
session.cache_expire especifica o time-to-live (tempo de vida) para páginas de sessão em cache, em minutos, não tendo efeito na limitação de nocache. O padrão é 180. Veja também session_cache_expire().
session.use_trans_sid boolean
session.use_trans_sid se o suporte a sid transparente está habilitado ou não. O padrão é 0 (desabilitado).

Nota: Gerenciamento de sessões baseadas em URLs tem riscos de segurança adicionais comparados ao gerenciamento baseado em cookies. Usuários podem enviar uma URL que contenha uma ID de sessão ativa para seus amigos por e-mail ou usuários podem salvar uma URL que contenha uma ID de sessão em seus bookmarks e acessar seu site sempre com a mesma ID de sessão, por exemplo. Desde o PHP 7.1.0 uma URL completa, por exemplo https://php.net/, é manipulada pelo recurso trans sid. Versões anteriores do PHP manipulavam apenas URLs relativas. Alvos de rewrite estão definidos em session.trans_sid_hosts.

session.trans_sid_tags string
session.trans_sid_tags especifica quais tags HTML serão reescritas para incluir IDs de sessão quando o suporte ao SID transparente estiver ativo. Por padrão: a=href,area=href,frame=src,input=src,form= form é uma tag especial. <input hidden="session_id" name="session_name"> é adicionado a variável de formulário.

Nota: Antes do PHP 7.1.0 url_rewriter.tags era utilizada para essa funcionalidade. Desde o PHP 7.1.0, fieldset não é mais considerada uma tag especial.

session.trans_sid_hosts string
session.trans_sid_hosts especifica quais hosts serão reescritos para incluir IDs de sessão quando o suporte ao SID transparente estiver ativo. Padrão para $_SERVER['HTTP_HOST'] Vários hosts podem ser especificados, separados por ",", mas sem espaços entre os hosts. Por exemplo: php.net,wiki.php.net,bugs.php.net
session.sid_length integer
session.sid_length permite especificar o tamanho do texto do ID de sessão. IDs de sessão podem ter tamanhos entre 22 a 256 letras. O padrão é 32. Para compatibilidade, você pode especificar 32, 40, etc. IDs de sessão maiores são mais difíceis de adivinhar. Ao menos 32 letras é o recomendados.

Nota de compatibilidade: Utilize 32 para que
session.hash_func=0 (MD5) e
session.hash_bits_per_character=4,
session.hash_func=1 (SHA1) e
session.hash_bits_per_character=6. Utilize 26 para que
session.hash_func=0 (MD5) e
session.hash_bits_per_character=5. Utilize 22 para que
session.hash_func=0 (MD5) e
session.hash_bits_per_character=6. Você precisa
configurar os valores INI para ao menos 128 bits no ID de sessão. Não
se esqueça de configurar o valor apropriado em
session.sid_bits_per_character, de outra forma
você terá um ID de sessão fraco.

Nota: Esta configuração foi introduzida no PHP 7.1.0.

session.sid_bits_per_character integer
session.sid_per_character permite especificar o número de bits codificados no ID de sessão. Os valores possíveis são '4' (0-9, a-f), '5' (0-9, a-v), and '6' (0-9, a-z, A-Z, "-", ","). O padrão é 4. Mais bits resultam em IDs de sessão mais fortes. 5 é recomendado para a maioria dos elementos.

Nota: Esta configuração foi introduzida no PHP 7.1.0.

session.hash_function mixed
session.hash_function permite especificar o algoritimo de hash usado para gerar os IDs de sessão. '0' indica MD5 (128 bits) e '1' indica SHA-1 (160 bits).

Desde o PHP 5.3.0 também é possível especificar qualquer um dos algoritmos disponibilizados pela extensão hash (se habilitada), como sha512 ou whirlpool. A lista completa de algoritmos suportados pode ser obtida com a função hash_algos().

Nota: Esta configuração introduzido no PHP 5. Removido no PHP 7.1.0.

session.hash_bits_per_character integer
session.hash_bits_per_character permite a você definir quantos bits são guardados em cada caractere ao converter os dados binários de hash para algo legível. Os valores possíveis são '4' (0-9, a-f), '5' (0-9, a-v) e '6' (0-9, a-z, A-Z, "-", ",").

Nota: Esta configuração introduzido no PHP 5. Removido no PHP 7.1.0.

session.upload_progress.enabled boolean
Permite o rastreamento do progresso de upload, populando a variável $_SESSION. O padrão é 1, habilitado.
session.upload_progress.cleanup boolean
Limpa a informação de progresso assim que todos os dados POST forem lidos (upload completado). Padrão 1, habilitado.

Nota: É altamente recomendável manter esse recurso ligado.

session.upload_progress.prefix string
Um prefixo utilizado na chave da variável $_SESSION. Essa chave será concatenada com o valor de $_POST[ini_get("session.upload_progress.name")] para prover um índice único. Padrão "upload_progress_".
session.upload_progress.name string
O nome da chave utilizada em $_SESSION para armazenar a informação de progresso. Veja também session.upload_progress.prefix. Se $_POST[ini_get("session.upload_progress.name")] não for passado ou estiver indisponível, o progresso de upload não será registrado. Padrão "PHP_SESSION_UPLOAD_PROGRESS".
session.upload_progress.freq mixed
Define a frequência com que a informação de progresso de upload será atualizada. Isso pode ser definido em bytes ("atualize a informação a cada 100 bytes") ou em percentagens ("atualize a informação de progresso a cada 1% do total do arquivo"). Padrão "1%".
session.upload_progress.min-freq integer
O intervalo mínimo entre as atualizações, em segundos. Padrão "1" (um segundo).
session.lazy_write boolean
session.lazy_write, quando configurado para 1, significa que os dados de sessão somente serão reescrito caso eles mudem. O padrão é 1, habilitado.

O progresso de upload não será registrado, a não ser que session.upload_progress.enabled esteja habilitado e a variável $_POST[ini_get("session.upload_progress.name")] esteja definida. Veja Progresso de Upload em sessões para mais detalhes dessa funcionalidade.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

SID (string)
Constante contendo nome da sessão e id da sessão na forma de "name=ID" ou string vazia se o ID da sessão foi definido em um apropriado cookie de sessão. Este é o mesmo id que é retornado por session_id().
PHP_SESSION_DISABLED (int)
A partir do PHP 5.4.0. Retorna o valor de session_status() se as sessões estiverem desabilitadas.
PHP_SESSION_NONE (int)
A partir do PHP 5.4.0. Retorna o valor de session_status() se as sessões estiverem habilitadas, mas nenhuma sessão existir.
PHP_SESSION_ACTIVE (int)
A partir do PHP 5.4.0. Retorna o valor de session_status() se as sessões estiverem habilitadas, e uma sessão existir.


Exemplos

Índice

  • Uso básico
  • Passando o ID de sessão
  • Manipuladores de Sessão Personalizados


Uso básico

Sessões são uma forma simples de armazenar dados para usuários individuais usando um ID de sessão único. Sessões podem ser usadas para persistir informações entre requisições de páginas. IDs de sessão normalmente são enviados ao navegador através de cookies de sessão e o ID é usado para recuperar dados da sessão existente. A ausência de um ID ou cookie de sessão permite que o PHP saiba que deve criar uma nova sessão e gerar um novo ID de sessão.

Sessões seguem um fluxo simples. Quando uma sessão é iniciada, o PHP recupera uma sessão existente usando o ID informado (normalmente de um cookie de sessão) ou se nenhum é informado então será criada uma nova sessão. O PHP preencherá a super global $_SESSION com todos os dados de sessão depois que a sessão iniciar. Quando o PHP finalizar, automaticamente ele pegará o conteúdo da super global $_SESSION, então vai serializá-lo e enviá-lo para armazenamento usando o manipulador de gravação da sessão.

Por padrão, o PHP usa o manipulador de gravação interno files que é configurado por session.save_handler. Isto salva os dados da sessão no servidor no local configurado pela diretiva de configuração session.save_path.

Sessões podem ser iniciadas manualmente usando a função session_start(). Se a diretiva session.auto_start estiver configurada como 1, a sessão será iniciada automaticamente no início da requisição.

Sessões normalmente se encerram automaticamente quando o PHP termina de executar um script, mas podem ser encerradas manualmente usando a função session_write_close().

Exemplo #1 Registrando uma variável com $_SESSION.

<?php
session_start();
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}
?>

Exemplo #2 Desregistrando uma variável com $_SESSION.

<?php
session_start();
unset($_SESSION['count']);
?>

Cuidado

NÃO desregistre toda a $_SESSION com unset($_SESSION) já que isso desativará o registro de variáveis de sessões da super global $_SESSION.

Aviso

Referências não podem ser usadas nas variáveis de sessão já que não existe uma maneira de restaurar uma referência para outra variável.

Nota:

Sessões baseadas em arquivos (padrão no PHP) adicionam travas no arquivo de sessão assim que a sessão é iniciada via session_start() ou simplesmente via session.auto_start. Assim que adicionada a trava, nenhum outro script pode acessar o mesmo arquivo de sessão até que ela seja finalizada pelo encerramento do primeiro script ou pela chamada de session_write_close().

Isto é possivelmente um problema para web sites que utilizam fortemente o AJAX e que tem múltiplas solicitações concorrentes. A maneira mais fácil de lidar com isto é chamar session_write_close() assim que as alterações necessárias na sessão forem feitas, de preferência no início do script. Como alternativa, um manipulador de sessão diferente que suporte concorrência poderia ser usado.


Passando o ID de sessão

Existem dois métodos para a propagação do id de sessão:

  • Cookies
  • URL parameter

O módulo de sessão suporta ambos os métodos. Cookies são melhores, mas como nem sempre eles estão disponíveis, também é oferecido um método alternativo. O segundo método embute o id de sessão diretamente nas URLs.

O PHP é capaz de transformar os links transparentemente. A menos que você esteja usando o PHP 4.2.0 ou posterior, é necessário ativar manualmente ao compilar o PHP. Em ambiente Unix, passe --enable-trans-sid para o configure. Se esta opção de compilação e a opção em tempo de execução session.use_trans_sid estiverem ativadas, URIs relativas serão modificadas para conter o id de sessão automaticamente.

Nota:

O arg_separator.output, diretiva php.ini, permite configurar o separador de argumentos. Para completa conformidade com XHTML, especifique &amp; aqui.

Alternativamente, pode ser usada a constante SID, a qual é definida se uma sessão é iniciada. Se o cliente não enviou um cookie de sessão apropriado, a constante terá o formato session_name=session_id. Se não, ela será uma string vazia. Dessa forma, ela pode ser colocada incondicionalmente em URLs.

O exemplo a seguir demonstra como registrar uma variável e como criar um link corretamente para outra página usando o SID.

Exemplo #1 Contando o número de acessos de um único usuário

<?php

session_start();

if (empty($_SESSION['count'])) {
   $_SESSION['count'] = 1;
} else {
   $_SESSION['count']++;
}
?>

<p>
Olá visitante, você acessou esta página <?php echo $_SESSION['count']; ?> vezes.
</p>

<p>
Para continuar, <a href="nextpage.php?<?php echo htmlspecialchars(SID); ?>">clique
aqui</a>.
</p>

A função htmlspecialchars() pode ser usada ao mostrar o SID com o intuito de prevenir ataques relacionados a XSS.

Mostrar o SID, como mostrado acima, não é necessário se --enable-trans-sid foi usado para compilar o PHP.

Nota:

Para URLs não-relativas, assume-se que elas apontam para sites externos e por isso não é adicionado o SID, já que seria um risco de segurança vazar o SID para um servidor diferente.


Manipuladores de Sessão Personalizados

Para implementar as sessões em banco de dados, ou qualquer outro método de armazenamento, é preciso usar session_set_save_handler() para criar um conjunto de funções de armazenamento a nível de usuário. A partir do PHP 5.4.0 podem ser criados manipuladores de sessões usando SessionHandlerInterface ou estender os manipuladores internos do PHP herdando de SessionHandler.

Os callbacks especificados em session_set_save_handler() são métodos executados pelo PHP durante o ciclo de vida de uma sessão: open, read, write e close e para as tarefas de manutenção: destroy para deletar uma sessão e gc para recolha periódica de lixo.

Portanto, o PHP sempre requer manipuladores de gravação de sessão. O padrão normalmente é o manipulador de gravação interno de 'arquivos'. Um manipulador personalizado pode ser configurado usando session_set_save_handler(). Manipuladores internos alternativos também são disponibilizados por extensões do PHP, como sqlite, memcache e memcached e podem ser definidos com session.save_handler.

Quando a sessão inicia, o PHP internamente executa o manipulador open seguido pelo callback read que deve retornar uma string codificada exatamente como foi originalmente passado para armazenamento. Após o read retornar a string codificada, o PHP vai decodificá-la e colocar o array resultante na super global $_SESSION.

Quando o PHP é encerrado (ou quando session_write_close() for chamada), o PHP internamente vai codificar a super global $_SESSION e passá-la junto com o ID de sessão para o callback write. Depois que o callback write finalizar, o PHP internamente invocará o callback close.

Quando uma sessão é destruída, o PHP chamará o manipulador destroy com o ID de sessão.

O PHP executará o callback gc de tempo em tempo para apagar quaisquer informações na sessão de acordo com o tempo de vida máximo (lifetime) definido para a sessão. Esta rotina deve apagar todas as informações do armazenamento persistente em que a diferença de tempo do último acesso até o momento atual seja maior que $lifetime.


Progresso de Upload em Sessão

Quando a configuração INI session.upload_progress.enabled estiver habilitada, o PHP será capaz de rastrear o progresso do upload de arquivos individuais que estiverem sendo feito upload. Esta informação não é muito útil para a requisição atual, mas durante o upload do arquivo uma aplicação pode enviar uma requisição POST para um endpoint separado (via XHR por exemplo) para checar o status.

O progresso do upload estará disponível na variável super global $_SESSION quando um upload estiver em progresso e quando a requisição POST tiver uma variável com o mesmo nome que a configuração INI session.upload_progress.name estiver configurada. Quando o PHP detectar requisições como essa, ele preencherá um array em $_SESSION, onde o índice é um valor resultante da concatenação de session.upload_progress.prefix e session.upload_progress.name (configurações INI). O índice normalmente é obtido lendo essas configurações INI, ou seja

<?php
$key = ini_get("session.upload_progress.prefix") . $_POST[ini_get("session.upload_progress.name")];
var_dump($_SESSION[$key]);
?>

Também é possível cancelar o upload do arquivo em andamento ao definir o índice $_SESSION[$key]["cancel_upload"] para true. Quando houver upload de múltiplos arquivos em uma mesma requisição, isso vai cancelar apenas o upload dos arquivos que ainda estiverem em andamento e pendentes, mas não removerá uploads já concluídos com sucesso. Quando um upload é cancelado dessa forma, o índice error no array $_FILES será alterado para UPLOAD_ERR_EXTENSION.

As configurações INI session.upload_progress.freq e session.upload_progress.min_freq controlam a frequência com que a informação do progresso do upload deve ser recalculado. Com um valor razoável para estas duas configurações, a sobrecarga desse recurso é quase inexistente.

Exemplo #1 Informação de exemplo

Exemplo de estrutura do array de progresso do upload.

<form action="upload.php" method="POST" enctype="multipart/form-data">
 <input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="123" />
 <input type="file" name="file1" />
 <input type="file" name="file2" />
 <input type="submit" />
</form>

Os dados armazenados na sessão serão parecidos com isto:

<?php
$_SESSION["upload_progress_123"] = array(
 "start_time" => 1234567890,   // A hora da requisição
 "content_length" => 57343257, // tamanho do conteúdo de POST
 "bytes_processed" => 453489,  // Quantidade de bytes recebidos e processados
 "done" => false,              // true quando o manipulador do POST finalizar, com sucesso ou não
 "files" => array(
  0 => array(
   "field_name" => "file1",       // Nome do campo <input/>
   // Os próximos 3 elementos se assemelham aos de $_FILES
   "name" => "foo.avi",
   "tmp_name" => "/tmp/phpxxxxxx",
   "error" => 0,
   "done" => true,                // True quando o manipulador do POST terminar de manipular este arquivo
   "start_time" => 1234567890,    // Quando este arquivo começou a ser processado
   "bytes_processed" => 57343250, // Quantidade de bytes recebidos e processados para este arquivo
  ),
  // Um outro arquivo, em que o upload ainda não acabou, na mesma requisição
  1 => array(
   "field_name" => "file2",
   "name" => "bar.avi",
   "tmp_name" => NULL,
   "error" => 0,
   "done" => false,
   "start_time" => 1234567899,
   "bytes_processed" => 54554,
  ),
 )
);

Aviso

O buffer de requisições do servidor web deve estar desabilitado para que isso funcione corretamente ou o PHP pode enxergar o upload apenas quando ele já estiver completado. É de conhecimento que servidores como Nginx criam buffer para requisições maiores.


Sessões e segurança

Índice

  • Gerencimento básico de sessão
  • Protegendo as configurações INI relacionadas à sessão

Links externos: » Session fixation

O gerenciamento de sessões HTTP é o núcleo de segurança na web. Toda prevenção deve ser adotada para garantir a segurança. O desenvolvedor deve habilitar/utilizar as medidas de segurança aplicáveis.


Gerencimento básico de sessão

Segurança da sessão

O módulo de sessão não garante que a informação armazenada em uma sessão seja visualizada apenas pelo usuário que criou a sessão. Medidas adicionais devem ser tomadas para proteger a confidencialidade da sessão, dependendo do valor associado à ela.

Avalie a importância dos dados carregados por suas sessões e adicione proteções extras -- isso normalmente tem efeitos colaterais, que podem reduzir a comodidade do usuário. Por exemplo, para proteger os usuários de táticas de engenharia social simples, deve ser habilitada a opção session.use_only_cookies. E nesse caso, os cookies devem obrigatoriamente estar habilitados no lado do usuário, ou as sessões não irão funcionar.

Existem várias maneiras de expor um ID de sessão existente para terceiros. Exemplos: injeção de JavaScript, ID de sessão nas URLs, interceptação de pacotes (sniffing), acesso físico ao dispositivo. Um ID de sessão exposto possibilita que terceiros tenham acesso à todos os recursos que estão associados à um ID específico. Primeiro, URLs que contenham IDs de sessão. Se for linkado para um site externo, a URL que contém o ID de sessão pode ser armazenada nos logs do site externo. Segundo, um atacante mais ativo pode interceptar o tráfego de rede. Caso não estejam criptografados, os IDs de sessão serão transmitidos em texto puro/simples pela rede. Nesse caso a solução é implementar SSL/TLS em seu servidor e torná-lo obrigatório para os usuários. HSTS deve ser usado para uma melhor segurança.

Nota: Até mesmo o HTTPS às vezes não consegue proteger dados confidenciais no meio do conteúdo, em casos como "CRIME" e "Beast attack". Existem muitas redes que utilizam proxy HTTPS MITM para auditoria. Atacantes também podem configurar um proxy semelhante.

Gerenciamento de sessão não adaptivo

O gerenciador de sessão do PHP atualmente é adaptivo por padrão. Os gerenciadores de sessão adaptivos possuem riscos adicionais.

A partir do PHP 5.5.2, session.use_strict_mode está disponível. Quando essa opção estiver habilitada e o manipulador de armazenamento de sessão suportá-la, um ID de sessão que não tenha sido inicializado é rejeitado, e um novo ID de sessão é criado. Isso protege contra ataques que forçam o usuário a usar um ID de sessão conhecido. Atacantes podem colar links ou enviar email que contém ID de sessão, por exemplo http://example.com/page.php?PHPSESSID=123456789. Se session.use_trans_sid estiver habilitado, a vítima iniciará uma sessão usando o ID de sessão fornecido pelo atacante. A opção session.use_strict_mode diminui o risco.

Aviso

Um manipulador de armazenamento definido pelo usuário também pode suportar o modo de sessão strict implementando uma função/método para validação do ID de sessão. Todos os manipuladores de armazenamento definidos pelo usuário devem implementar uma função/método para validação do ID de sessão.

O cookie de ID de sessão pode ser definido usando os atributos domain, path, httponly e secure. Existe uma certa precedência que é definida pelos navegadores. Ao usar a precedência, o atacante pode definir um ID de sessão que pode ser usado permanentemente. O uso de session.use_only_cookies não resolverá essa questão. session.use_strict_mode diminui esse risco. Com session.use_strict_mode=On, um ID de sessão que não tenha sido inicializado não será aceito. O módulo de sessão cria um novo ID de sessão sempre que o ID de sessão não tenha sido inicializado pelo módulo de sessão.

Nota: Apesar da opção session.use_strict_mode diminuir o risco do gerenciamento de sessão adotivo, um atacante pode forçar os usuários a usarem um ID de sessão inicializado e que foi criado pelo atacante, como por exemplo, com injeção de JavaScript. Esse tipo de ataque pode ser evitado seguindo as recomendações deste manual. Se este manual for seguido, será habilitada a opção session.use_strict_mode, e também usado um gerenciamento de sessão baseado em timestamp e gerado novamente um ID de sessão usando session_regenerate_id() com os procedimentos recomendados. Se tudo isso for feito, o ID de sessão gerado por um atacante será deletado. Quando ocorre um acesso à uma sessão obsoleta, todos os dados da sessão ativa devem ser salvos. Isso será útil para investigação mais tarde. Então o usuário deverá ser forçado a fazer logout de todas as sessões, ou seja, o usuário será obrigado a se autenticar novamente. Dessa forma se evita que atacantes abusem de sessões roubadas.

Aviso

O acesso aos dados de sessões obsoletas nem sempre é por causa de ataques. Redes instáveis e/ou remoção imediata de sessão ativa farão com que usuários legítimos usem sessões obsoletas.

A partir do PHP 7.1.0, session_create_id() foi adicionado. Essa função poderia ser usada para adicionar o ID do usuário como prefixo no ID de sessão para acessar a sessão ativa do usuário de forma eficiente. Habilitar session.use_strict_mode é muito importante com essa configuração. Caso contrário, usuários maliciosos podem definir IDs de sessão maliciosos para outros usuários.

Nota: Usuários de versões anteriores ao PHP 7.1.0 devem usar CSPRNG, como por exemplo /dev/urandom ou random_bytes(), e funções de hash para gerar um novo ID de sessão. session_create_id() possui detecção de colisão e gera o ID de sessão de acordo com as configurações INI de sessão. O uso de session_create_id() é preferível.

Renovação do ID de sessão

session.use_strict_mode é uma boa prevenção, mas não é o suficiente. Desenvolvedores devem usar session_regenerate_id() para a segurança da sessão.

A renovação do ID de sessão reduz o risco de roubo do ID de sessão, sendo assim, session_regenerate_id() deve ser chamada periodicamente. Por exemplo, a renovação do ID de sessão a cada 15 minutos para a segurança de conteúdos sensíveis. Mesmo se o ID de sessão for roubado, tanto a sessão do usuário legítimo quanto a do atacante terão expirados. Ou seja, o acesso do usuário ou do atacante irá gerar erro de acesso à sessão obsoleta.

O ID de sessão deve ser renovado quando o usuário se autenticar. session_regenerate_id() deve ser chamado antes de salvar as informações de autenticação em $_SESSION. (A partir do PHP 7.0.0, session_regenerate_id() salva os dados da sessão atual automaticamente com o intuito de salvar o timestamp/etc na sessão atual.) Assegure-se de que apenas a nova sessão contenha flag autenticada.

Desenvolvedores NÃO devem depender da expiração do ID de sessão proveniente de session.gc_maxlifetime. Atacantes podem acessar o ID de sessão da vítima periodicamente para impedir que ele expire e poder continuar explorando o ID, inclusive as sessões autenticadas.

Ao invés disso, deve ser implementado um gerenciamento de sessão baseada em timestamp, e por contra própria.

Aviso

Embora o gerenciador de sessão possa gerenciar o timestamp de forma transparente, essa funcionalidade não está implementada. Dados de sessões antigas devem ser mantidos até a execução do GC (garbage collector/coletor de lixo). Ao mesmo tempo, desenvolvedores devem assegurar-se de remover dados de sessões obsoletas. Porém, os desenvolvedores NÃO devem remover dados de sessões ativas imediatamente. Isto é, nunca chame session_regenerate_id(true); e session_destroy() para uma sessão ativa. Isso pode soar contraditório, mas é um requisito obrigatório.

session_regenerate_id() não apaga sessão antiga por padrão. Uma sessão antiga e autenticada pode estar disponível para uso. Os desenvolvedores devem impedir que uma sessão antiga seja utilizada e devem proibir o acesso aos dados de sessões obsoletas por conta própria utilizando timestamp.

Aviso

A remoção imediata de sessão ativa tem efeitos colaterais indesejados. A sessão pode desaparecer quando houver conexões concorrentes em uma aplicação web e/ou a rede estiver instável.

Possíveis acessos maliciosos também não podem ser detectados com a remoção imediata de sessões ativas.

Ao invés de remover a sessão antiga imediatamente, deve ser configurado, na $_SESSION, um tempo curto (timestamp) para a expiração e proibir acesso aos dados da sessão (essa implementação é por contra própria).

O acesso aos dados de sessões antigas não deve ser bloqueado imediatamente depois de executar session_regenerate_id(). O acesso deve ser bloqueado um pouco depois, como por exemplo, alguns segundos depois para redes à cabo estáveis e alguns minutos depois para redes instáveis como mobile ou WiFi.

Se um usuário tentar acessar uma sessão obsoleta (que já tenha expirado), o acesso deve ser proibido. É recomendável que seja removido o status de autenticação de todas as sessões do usuário, porque é provável que seja um ataque.

O uso adequado de session.use_only_cookies e session_regenerate_id() poderia causar um ataque DoS pessoal por causa de cookies impossíveis de serem removidos e que foram configurados por atacantes. Quando isso acontecer, o desenvolvedor pode solicitar aos usuários que removam os cookies e avisá-los que podem existir problemas de segurança. Atacantes podem configurar cookies maliciosos via aplicações web vulneráveis, extensões maliciosas para navegadores, dispositivos comprometidos fisicamente, etc.

Aviso

Não interprete de forma equivocada o risco de DoS. use_strict_mode=On é obrigatório para a segurança geral do ID de sessão! É recomendável que todos os sites habilitem use_strict_mode.

DoS aconteceria apenas sob ataque de crackers. A vulnerabilidade de injeção de JavaScript na aplicação é a causa mais comum.

Remoção dos dados de sessão

Os dados de sessões obsoletas devem ser inacessíveis e removidos. O módulo de sessão atual não manipula isso muito bem.

É melhor remover os dados de sessões obsoletas o mais cedo possível. Ainda assim, sessões ativas NÃO DEVEM ser removidas imediatamente. Para preencher esses requisitos, o gerenciamento dos dados de sessões baseadas em timestamp deve ser implementado pelo próprio desenvolvedor.

Configure e gerencie um timestamp de expiração na $_SESSION. Bloqueie os acessos aos dados de sessões obsoletas. Quando um acesso aos dados de uma sessão obsoleta for detectado, é aconselhável remover todos os status de autenticação das sessões dos usuários e forçá-los a refazer a autenticação. O acesso aos dados de uma sessão obsoleta pode ser um ataque. Para fazer isso, deve ser mantido um registro das sessões ativas por usuário.

Nota: O acesso à uma sessão obsoleta pode ocorrer por causa de redes instáveis e/ou acessos concorrentes ao website. O servidor tenta definir um novo ID de sessão via cookie, mas o pacote que define o cookie (Set-Cookie) pode não ter chegado ao cliente por perda de conexão. Uma conexão pode gerar um novo ID de sessão executando session_regenerate_id(), mas uma outra conexão concorrente pode não ter pego ainda o novo ID de sessão. Além disso, o acesso aos dados da sessão obsoleta deve ser bloqueado algum tempo depois. Ou seja, o gerenciamento de sessão baseada em timestamp é necessário.

Em poucas palavras, não destrua os dados de sessão chamando session_regenerate_id() ou session_destroy(); ao invés disso, utilize timestamp para controlar o acesso aos dados da sessão. Deixe que session_gc() remova os dados obsoletos do armazenamento de dados da sessão.

Sessão e Travamento dos dados (lock)

Os dados de sessão são travados (lock) para evitar condição de corrida (data race) por padrão. A trava é necessária para manter os dados consistentes entre as requisições.

Contudo, o travamento pode ser abusado por um atacante para realizar um ataque DoS. Para diminuir os riscos de DoS por travamento de sessão, reduza o travamento. Use sessões somente leitura quando a alteração dos dados não for necessária. Use a opção 'read_and_close' com session_start(). session_start(['read_and_close'=>1]); Feche a sessão assim que você terminar de alterar $_SESSION, usando session_commit().

O módulo de sessão atual não detecta modificações em $_SESSION enquanto a sessão está inativa. É responsabilidade do desenvolvedor não modificar a variável $_SESSION quando a sessão está inativa.

Sessões ativas

Os desenvolvedores devem manter um registro de sessões ativas por usuário e notificar o usuário sobre quantas sessões ativas, de qual IP (e área), a quanto tempo a sessão está ativa, etc. O PHP não mantém um registro dessas informações. É o desenvolvedor quem deve manter.

Existem inúmeras formas de implementação. Pode ser configurado um banco de dados que mantém um registro dos dados necessários e armazena as informações nele. Como os dados de sessão são removidos pelo coletor de lixo (garbage collector), o desenvolvedor deve cuidar dos dados removidos para manter a consistência do banco de dados das sessões ativas.

Uma das implementações mais simples é prefixar o ID de sessão com o ID do usuário e armazenar as informações necessárias na $_SESSION. Muitos bancos de dados tem boa performance para selecionar o prefixo de uma string. Você pode usar session_regenerate_id() e session_create_id() para isso.

Aviso

Nunca utilize informações confidenciais como prefixo. Se o ID do usuário for confidencial, considere a utilização de hash_hmac().

Aviso

Habilitar session.use_strict_mode é obrigatório para esse setup. Certifique-se de que essa opção esteja habilitada, caso contrário o banco de dados de sessões ativas pode ser comprometido.

O gerenciamento de sessão baseada em timestamp é necessário para detectar acesso em sessões obsoletas. Quando um acesso à uma sessão obsoleta é detectado, as flags de autenticação devem ser removidas de todas as sessões ativas para esse usuário. Isso evita que atacantes explorem sessões roubadas.

Sessão e login automático

Desenvolvedores NÃO devem utilizar ID de sessão de longa vida para o login automático, pois isso aumenta o risco de roubo da sessão. O login automático deve ser implementado pelo desenvolvedor.

Use um "one-time hash" seguro como chave para o login automático usando setcookie(). Use um hash seguro e mais forte que SHA-2, como por exemplo, SHA-256 ou maior com dados randômicos provenientes de random_bytes() ou /dev/urandom.

Se o usuário não estiver autenticado, verifique se a chave de login automático é válida ou não. Se a chave é válida, autentique o usuário e configure uma nova chave "one-time hash" segura. Deve ser possível usar a chave de login automático apenas uma vez, ou seja, nunca reutilize uma chave de login automático; ao invés disso, sempre gere uma nova chave.

A chave de login automático é uma chave de autenticação de longa vida, portanto essa chave deve estar o mais protegida possível. Use os atributos de cookie path/httponly/secure para protegê-la. Ou seja, nunca transmita a chave de login automático a não ser que seja realmente necessário.

Desenvolvedores devem implementar funcionalidades que desabilitam login automático e removem cookies de login automático desnecessários.

CSRF (Cross Site Request Forgery)

Sessão e autenticação não protegem contra ataques CSRF. Os desenvolvedores devem implementar proteções contra CSRF por conta própria.

output_add_rewrite_var() pode ser usada para proteção contra CSRF. Visite o manual para mais detalhes.

Nota: Versões do PHP anteriores à 7.2.0 utilizam o mesmo buffer de saída e as mesmas configurações INI que o recurso trans sid. Portanto, o uso de output_add_rewrite_var() em versões do PHP anteriores à 7.2.0 não é recomendado.

A maioria dos frameworks para aplicações web tem suporte à proteção CSRF. Visite o manual do framework de sua aplicação para mais detalhes.


Protegendo as configurações INI relacionadas à sessão

Ao proteger as configurações INI relacionadas à sessão, a segurança das sessões também aumenta. Algumas configurações INI importantes não possuem recomendações. O desenvolvedor é o responsável em garantir a segurança das configurações de sessão.

  • session.cookie_lifetime=0

    "0" tem um sentido especial. Ele diz para o navegador não armazenar cookies no armazenamento permanente. Sendo assim, quando o navegador é encerrado, o cookie com o ID de sessão é deletado imediatamente. Se o desenvolvedor configurar um valor diferente de "0", pode permitir que outros usuários utilizem o ID de sessão. A maioria das aplicações devem utilizar "0".

    Se a funcionalidade de login automático é necessária, o desenvolvedor deve implementá-la por conta própria e de forma segura. Não utilize um ID de sessão de longa vida para isso.

  • session.use_cookies=On

    session.use_only_cookies=On

    Embora o cookie HTTP tenha alguns problemas, ele é o modo preferido para gerenciar o ID de sessão. Utilize apenas cookies para o gerenciamento do ID de sessão quando possível. A maioria das aplicações devem utilizar cookie para o ID de sessão.

    Se session.use_only_cookies=Off, o módulo de sessão usará valores para o ID de sessão recebidos via GET/POST/URL caso ele seja utilizado enquanto o cookie com o ID de sessão não for inicializado.

  • session.use_strict_mode=On

    Contudo, habilitar session.use_strict_mode é obrigatório. Essa opção não está habilitada por padrão.

    Essa opção evita que o módulo de sessão utilize um ID de sessão que não tenha sido inicializado. Em outras palavras, o módulo de sessão aceita apenas ID de sessão válido e que tenha sido gerado pelo módulo de sessão. O módulo de sessão rejeita o ID caso ele tenha sido fornecido pelo usuário.

    Por causa das especificações dos cookies, atacantes podem configurar cookies de ID de sessão indeletáveis por causa de configurações locais ou por injeção de JavaScript. session.use_strict_mode pode evitar que um ID de sessão inicializado por um atacante seja utilizado.

    Nota:

    Atacantes podem inicializar o ID de sessão utilizando os próprios computadores e depois configurá-lo na vítima. No entanto, eles precisariam manter o ID de sessão ativo. Também seria necessário alguns passos adicionais para executar um ataque nesse cenário. Por tanto, a opção session.use_strict_mode funciona como prevenção.

  • session.cookie_httponly=On

    Proíbe o acesso ao cookie de sessão através do JavaScript. Essa configuração evita o roubo de cookies por injeção de JavaScript.

    É possível usar um ID de sessão como chave de proteção contra CSRF, mas isso não é recomendado. Por exemplo, o código HTML pode ser salvo e enviado para outros usuários. Os desenvolvedores não devem escrever o ID de sessão nas páginas, para evitar problemas de segurança. Quase todas as aplicações devem utilizar o atributo httponly para o cookie do ID de sessão.

    Nota:

    O token de proteção contra CSRF deve ser renovado periodicamente, exatamente como o ID de sessão

  • session.cookie_secure=On

    Permite o acesso ao cookie de ID de sessão apenas quando o protocolo é HTTPS. Se seu website utiliza apenas HTTPS, então essa opção deve ser habilitada.

    O uso de HSTS deve ser considerado em websites que utilizem apenas HTTPS.

  • session.gc_maxlifetime=[escolha o menor possível]

    session.gc_maxlifetime é a configuração para remoção de ID de sessão obsoleta. Depender dessa configuração NÃO é recomendado. O gerenciamento do tempo de vida da sessão deve ser feito utilizando timestamp e por contra própria.

    É melhor que a coleta de lixo (garbage collection) da sessão seja feita pela função session_gc(). session_gc() é recomendada ser executada pelos gerenciadores de tarefas, como, por exemplo, cron em sistemas UNIX-like.

    Por padrão, a coleta de lixo (GC) é executada por probabilidade. Essa configuração não garante a remoção de sessões antigas. Embora o desenvolvedor não possa depender dessa configuração, definí-la com o menor valor possível é recomendado. Ajuste session.gc_probability e session.gc_divisor para que as sessões obsoletas sejam deletadas na frequência apropriada. Se a funcionalidade de login automático é necessária, o desenvolvedor deve implementá-la por contra própria e de forma segura. Nunca utilize ID de sessão de longa vida para isso.

    Nota:

    Alguns módulos de manipuladores de armazenamento de sessão não utilizam essa configuração para a expiração baseada em probabilidade, como, por exemplo, memcached e memcache. Visite a documentação do manipulador de armazenamento de sessão para mais detalhes.

  • session.use_trans_sid=Off

    O uso de gerenciamento transparente do ID de sessão não é proibido. Ele pode ser utilizado quando necessário. Contudo, desabilitar o gerenciamento transparente do ID de sessão melhora a segurança geral do ID de sessão, pois remove a possibilidade de injeção e vazamento do ID de sessão.

    Nota:

    O ID de sessão pode ser exposto através de uma URL salva nos Favoritos do navegador, uma URL enviada por e-mail ou mesmo caso o código fonte HTML seja salvo.

  • session.trans_sid_tags=[tags limitadas]

    (PHP 7.1.0 >=) Desenvolvedores não devem reescrever tags HTML sem necessidade. A configuração padrão é suficiente para a maioria dos casos. Versões anteriores do PHP utilizam a configuração url_rewriter.tags para tal.

  • session.trans_sid_hosts=[hosts limitados]

    (PHP 7.1.0 >=) Essa configuração INI define uma lista de hosts que permitem a reescrita do recurso trans sid. Nunca adicione hosts que não sejam confiáveis. O módulo de sessão permite apenas o valor de $_SERVER['HTTP_HOST'] quando essa configuração está vazia.

  • session.referer_check=[sua URL de origem]

    Quando session.use_trans_sid estiver habilitada, o uso dessa opção é recomendado. Ela reduz o risco de injeção do ID de sessão. Se seu site é http://example.com/, defina essa opção como http://example.com/. Note que quando HTTPS é utilizado, o navegador não enviará o cabeçalho relacionado ao "referer". O navegador também pode não enviar o "referer" dependendo da configuração. Portanto, essa configuração não é uma medida de segurança confiável.

  • session.cache_limiter=nocache

    Certifique-se de que o conteúdo HTTP não é armazenado em cache para sessões autenticadas. Permita o armazenamento em cache apenas quando o conteúdo não é privado. Caso contrário, o conteúdo pode ser exposto. "private" pode ser usado se o conteúdo HTTP não incluir dados sensíveis/confidenciais. Note que "private" pode fazer com que dados privados sejam armazenados em cache em clientes compartilhados. "public" pode ser usado somente quando o conteúdo HTTP não contém dados privados e ou confidenciais.

  • session.sid_length="48"

    (PHP 7.1.0 >=) Um ID de sessão mais longo resulta em um ID de sessão mais forte. Desenvolvedores devem considerar o uso de ID de sessão com 32 caracteres ou mais. Pelo menos 26 caracteres são necessários quando session.sid_bits_per_character="5".

  • session.sid_bits_per_character="6"

    (PHP 7.1.0 >=) Quanto mais bits tiver em um caractere de ID de sessão, mais forte será o ID de sessão gerado pelo módulo de sessão para a mesma quantidade de caracteres.

  • session.hash_function="sha256"

    (PHP 7.1.0 <) Funções de hash mais fortes também geram um ID de sessão mais forte. Embora a colisão de hash é pouco provável até mesmo com MD5, desenvolvedores devem usar SHA-2 ou funções de hash ainda mais fortes para essa tarefa. Os desenvolvedores podem usar um hash mais forte como sha384 ou sha512. Certifique-se de informar um valor suficientemente longo em entropy para a função de hash usada.


Funções para Sessão

Índice

  • session_abort — Descarta as alterações no array da sessão e encerra a sessão
  • session_cache_expire — Retorna o prazo do cache atual
  • session_cache_limiter — Obtém e/ou define o limitador do cache atual
  • session_commit — Sinônimo de session_write_close
  • session_create_id — Create new session id
  • session_decode — Decodifica dados de sessão de uma sessão codificada em formato string
  • session_destroy — Destrói todos os dados registrados em uma sessão
  • session_encode — Codifica os dados atuais da sessão como uma sessão codificada em formato string
  • session_gc — Perform session data garbage collection
  • session_get_cookie_params — Obtém os parâmetros do cookie da sessão
  • session_id — Obtém e/ou define o id de sessão atual
  • session_is_registered — Verifica se uma variável global está registrada numa sessão
  • session_module_name — Obtém e/ou define o módulo da sessão atual
  • session_name — Obtém e/ou define o nome da sessão atual
  • session_regenerate_id — Atualiza o id da sessão atual com um novo id gerado
  • session_register_shutdown — Função de finalização da sessão
  • session_reset — Reinicializa um array de sessão com os valores originais
  • session_save_path — Obtém e/ou define o caminho para armazenamento da sessão atual
  • session_set_cookie_params — Define os parâmetros do cookie de sessão
  • session_set_save_handler — Define funções de armazenamento de sessão à nível de usuário
  • session_start — Inicia uma nova sessão ou resume uma sessão existente
  • session_status — Retorna o status atual da sessão
  • session_unregister — Desregistra uma variável global da sessão atual
  • session_unset — Libera todas as variáveis de sessão
  • session_write_close — Guarda os dados de sessão e fecha a sessão


Descarta as alterações no array da sessão e encerra a sessão

  • « Funções para Sessão
  • session_cache_expire »
  • PHP Manual
  • Funções para Sessão
  • Descarta as alterações no array da sessão e encerra a sessão

session_abort

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

session_abort — Descarta as alterações no array da sessão e encerra a sessão

Descrição

session_abort ( ) : void

session_abort() encerra a sessão sem salvar dados. Consequentemente, os valores originais da sessão são mantidos.

Valor Retornado

Não há valor retornado.

Veja Também

  • $_SESSION
  • Diretiva de configuração session.auto_start
  • session_start() - Inicia uma nova sessão ou resume uma sessão existente
  • session_reset() - Reinicializa um array de sessão com os valores originais
  • session_commit() - Sinônimo de session_write_close


Retorna o prazo do cache atual

  • « session_abort
  • session_cache_limiter »
  • PHP Manual
  • Funções para Sessão
  • Retorna o prazo do cache atual

session_cache_expire

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

session_cache_expire — Retorna o prazo do cache atual

Descrição

session_cache_expire ( string $new_cache_expire = ? ) : int

session_cache_expire() retorna a configuração atual de session.cache_expire.

O prazo para o cache expirar é redefinido para o padrão de 180 guardado em session.cache_expire na inicialização da requisição. Então você precisa chamar session_cache_expire() para cada requesição (e antes que session_start() seja utilizada).

Parâmetros

new_cache_expire

Se new_cache_expire é informado, o prazo atual é modificado para new_cache_expire.

Nota: Definir o valor de new_cache_expire somente importa se session.cache_limiter é definido como um valor diferente de nocache.

Valor Retornado

Retorna a configuração atual de session.cache_expire. O valor retornado deve ser lido em minutos, padrão de 180.

Exemplos

Exemplo #1 Exemplo de session_cache_expire()

<?php

/* define o limitador de cache para 'private' */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

/* define o prazo do cache em 30 minutos */
session_cache_expire(30);
$cache_expire = session_cache_expire();

/* inicia a sessão */

session_start();

echo "O limitador de cache está definido agora como $cache_limiter<br />";
echo "As sessões em cache irão expirar depois de $cache_expire minutos";
?>

Veja Também

  • session.cache_expire
  • session.cache_limiter
  • session_cache_limiter() - Obtém e/ou define o limitador do cache atual


Obtém e/ou define o limitador do cache atual

  • « session_cache_expire
  • session_commit »
  • PHP Manual
  • Funções para Sessão
  • Obtém e/ou define o limitador do cache atual

session_cache_limiter

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

session_cache_limiter — Obtém e/ou define o limitador do cache atual

Descrição

session_cache_limiter ( string $cache_limiter = ? ) : string

session_cache_limiter() retorna o nome do atual limitador do cache.

O limitador do cache controla quais HTTP headers de controle de cache são enviados para o cliente. Estes headers determinam as regras pelas quais o conteúdo da página pode ser guardado em cache pelo cliente e proxy intermediário. Definindo o limitador do cache para nocache rejeitaria qualquer cache do cliente/proxy. Um valor como public permitiria o cache do proxy e do cliente, e private rejeitaria o cache do proxy mas permite que o cliente armazene o conteúdo em cache.

No modo private, o cabeçalho Expire enviado para o cliente pode provocar confusão em alguns browsers, incluindo o Mozilla. Você pode evitar este problema usando o modo private_no_expire. O cabeçalho Expire nunca é enviado para o cliente nesse modo.

Definindo o limitador do cache como '' desativará completamente o envio automático de cabeçalhos de cache.

O limitador do cache é redefinido para o valor padrão guardado em session.cache_limiter na inicialização da requisição. Então você precisa chamar session_cache_limiter() para cada requisição (e antes que session_start() seja chamada).

Parâmetros

cache_limiter

Se cache_limiter é especificado, o nome do limitador de cache atual é modificado para o novo valor.

Valores possíveis
Valor Cabeçalhos enviados
public
Expires: (em algum momento do futuro, de acordo com session.cache_expire)
Cache-Control: public, max-age=(em algum momento do futuro, de acordo com session.cache_expire)
Last-Modified: (o timestamp de quando a sessão foi salva pela última vez)
private_no_expire
Cache-Control: private, max-age=(session.cache_expire no futuro), pre-check=(session.cache_expire no futuro)
Last-Modified: (o timestamp de quando a sessão foi salva pela última vez)
private
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private, max-age=(session.cache_expire no futuro), pre-check=(session.cache_expire no futuro)
Last-Modified: (o timestamp de quando a sessão foi salva pela última vez)
nocache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

Valor Retornado

Retorna o nome do limitador de cache atual.

Exemplos

Exemplo #1 Exemplo de session_cache_limiter()

<?php

/* define o limitador do cache para 'private' */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

echo "O limitador do cache está definido agora para $cache_limiter<br />";
?>

Veja Também

  • session.cache_limiter


Sinônimo de session_write_close

  • « session_cache_limiter
  • session_create_id »
  • PHP Manual
  • Funções para Sessão
  • Sinônimo de session_write_close

session_commit

(PHP 4 >= 4.4.0, PHP 5, PHP 7, PHP 8)

session_commit — Sinônimo de session_write_close()

Descrição

Esta função é um apelido para: session_write_close().


Create new session id

  • « session_commit
  • session_decode »
  • PHP Manual
  • Funções para Sessão
  • Create new session id

session_create_id

(PHP 7 >= 7.1.0, PHP 8)

session_create_id — Create new session id

Descrição

session_create_id ( string $prefix = "" ) : string|false

session_create_id() is used to create new session id for the current session. It returns collision free session id.

If session is not active, collision check is omitted.

Session ID is created according to php.ini settings.

It is important to use the same user ID of your web server for GC task script. Otherwise, you may have permission problems especially with files save handler.

Parâmetros

prefix

If prefix is specified, new session id is prefixed by prefix. Not all characters are allowed within the session id. Characters in the range a-z A-Z 0-9 , (comma) and - (minus) are allowed.

Valor Retornado

session_create_id() returns new collision free session id for the current session. If it is used without active session, it omits collision check. On failure, false is returned.

Exemplos

Exemplo #1 session_create_id() example with session_regenerate_id()

<?php
// My session start function support timestamp management
function my_session_start() {
    session_start();
    // Do not allow to use too old session ID
    if (!empty($_SESSION['deleted_time']) && $_SESSION['deleted_time'] < time() - 180) {
        session_destroy();
        session_start();
    }
}

// My session regenerate id function
function my_session_regenerate_id() {
    // Call session_create_id() while session is active to
    // make sure collision free.
    if (session_status() != PHP_SESSION_ACTIVE) {
        session_start();
    }
    // WARNING: Never use confidential strings for prefix!
    $newid = session_create_id('myprefix-');
    // Set deleted timestamp. Session data must not be deleted immediately for reasons.
    $_SESSION['deleted_time'] = time();
    // Finish session
    session_commit();
    // Make sure to accept user defined session ID
    // NOTE: You must enable use_strict_mode for normal operations.
    ini_set('session.use_strict_mode', 0);
    // Set new custom session ID
    session_id($newid);
    // Start with custom session ID
    session_start();
}

// Make sure use_strict_mode is enabled.
// use_strict_mode is mandatory for security reasons.
ini_set('session.use_strict_mode', 1);
my_session_start();

// Session ID must be regenerated when
//  - User logged in
//  - User logged out
//  - Certain period has passed
my_session_regenerate_id();

// Write useful codes
?>

Veja Também

  • session_regenerate_id() - Atualiza o id da sessão atual com um novo id gerado
  • session_start() - Inicia uma nova sessão ou resume uma sessão existente
  • session.use_strict_mode
  • SessionHandler::create_sid() - Retorna um novo ID de sessão


Decodifica dados de sessão de uma sessão codificada em formato string

  • « session_create_id
  • session_destroy »
  • PHP Manual
  • Funções para Sessão
  • Decodifica dados de sessão de uma sessão codificada em formato string

session_decode

(PHP 4, PHP 5, PHP 7, PHP 8)

session_decode — Decodifica dados de sessão de uma sessão codificada em formato string

Descrição

session_decode ( string $data ) : bool

session_decode() decodifica os dado de sessão serializados fornecidos em $data e preenche a super global $_SESSION com o resultado.

Por padrão, o método de deserialização usado é interno do PHP e não é o mesmo que unserialize(). O método de deserialização pode ser configurado usando session.serialize_handler.

Parâmetros

data

Os dados codificados para serem armazenados.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • session_encode() - Codifica os dados atuais da sessão como uma sessão codificada em formato string
  • session.serialize_handler


Destrói todos os dados registrados em uma sessão

  • « session_decode
  • session_encode »
  • PHP Manual
  • Funções para Sessão
  • Destrói todos os dados registrados em uma sessão

session_destroy

(PHP 4, PHP 5, PHP 7, PHP 8)

session_destroy — Destrói todos os dados registrados em uma sessão

Descrição

session_destroy ( ) : bool

session_destroy() destrói todos os dados associados com a sessão atual. Ela não apaga nenhuma das variáveis globais associadas à sessão atual, nem apaga o cookie de sessão. Para usar as variáveis de sessão novamente, session_start() deve ser chamada.

Nota: Não é necessário chamar session_destroy() em um código habitual. Ao invés de destruir os dados da sessão, limpe o array $_SESSION.

Para matar a sessão completamente, o ID da sessão também deve ser apagado. Se um cookie for usado para propagar o ID da sessão (funcionamento padrão), então o cookie de sessão deve ser excluído. setcookie() pode ser usado para isso.

Quando session.use_strict_mode está habilitado, não é necessário remover o cookie de ID das sessões obsoletas porque o módulo de sessão não aceitará um cookie de ID de sessão quando não houver dados associados ao ID de sessão, e irá criar um novo cookie de ID de sessão. Habilitar session.use_strict_mode é recomendado para todos os sites.

Aviso

A remoção imediata da sessão pode causar resultados indesejados. Quando há requisições concorrentes, outras conexões podem perder de forma repentina os dados da sessão, como por exemplo, requisições originadas no JavaScript e/ou requisições de links.

Embora o módulo de sessão atual não aceita um cookie de ID de sessão vazio, a remoção imediata da sessão pode resultar em um cookie de ID de sessão vazio por causa da condição de corrida no navegador do usuário. Isso fará com que o usuário crie vários IDs de sessão desnecessariamente.

Para evitar isso, deve ser definido um timestamp de removação em $_SESSION e o acesso à sessão deve ser rejeitado algum tempo depois. Ou então a aplicação não pode ter requisições concorrentes. Isso se aplica à session_regenerate_id() também.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Destruindo uma sessão com $_SESSION

<?php
// Inicializa a sessão.
// Se estiver sendo usado session_name("something"), não esqueça de usá-lo agora!
session_start();

// Apaga todas as variáveis da sessão
$_SESSION = array();

// Se é preciso matar a sessão, então os cookies de sessão também devem ser apagados.
// Nota: Isto destruirá a sessão, e não apenas os dados!
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// Por último, destrói a sessão
session_destroy();
?>

Notas

Nota:

Somente use session_unset() para código antigo/obsoleto que não use $_SESSION.

Veja Também

  • session.use_strict_mode
  • session_reset() - Reinicializa um array de sessão com os valores originais
  • session_regenerate_id() - Atualiza o id da sessão atual com um novo id gerado
  • unset() - Destrói a variável especificada
  • setcookie() - Envia um cookie


Codifica os dados atuais da sessão como uma sessão codificada em formato string

  • « session_destroy
  • session_gc »
  • PHP Manual
  • Funções para Sessão
  • Codifica os dados atuais da sessão como uma sessão codificada em formato string

session_encode

(PHP 4, PHP 5, PHP 7, PHP 8)

session_encode — Codifica os dados atuais da sessão como uma sessão codificada em formato string

Descrição

session_encode ( ) : string

session_encode() retorna uma string serializada do conteúdo atual da sessão armazenados na super global $_SESSION.

Por padrão, o método de serialização usado é interno do PHP e não é o mesmo que serialize(). O método de serialização pode ser configurado usando session.serialize_handler.

Valor Retornado

Retorna, codificado, o conteúdo da sessão atual.

Notas

Aviso

Must call session_start() before using session_encode().

Veja Também

  • session_decode() - Decodifica dados de sessão de uma sessão codificada em formato string
  • session.serialize_handler


Perform session data garbage collection

  • « session_encode
  • session_get_cookie_params »
  • PHP Manual
  • Funções para Sessão
  • Perform session data garbage collection

session_gc

(PHP 7 >= 7.1.0, PHP 8)

session_gc — Perform session data garbage collection

Descrição

session_gc ( ) : int|false

session_gc() is used to perform session data GC(garbage collection). PHP does probability based session GC by default.

Probability based GC works somewhat but it has few problems. 1) Low traffic sites' session data may not be deleted within the preferred duration. 2) High traffic sites' GC may be too frequent GC. 3) GC is performed on the user's request and the user will experience a GC delay.

Therefore, it is recommended to execute GC periodically for production systems using, e.g., "cron" for UNIX-like systems. Make sure to disable probability based GC by setting session.gc_probability to 0.

Valor Retornado

session_gc() returns number of deleted session data for success, false for failure.

Old save handlers do not return number of deleted session data, but only success/failure flag. If this is the case, number of deleted session data became 1 regardless of actually deleted data.

Exemplos

Exemplo #1 session_gc() example for task managers like cron

<?php
// Note: This script should be executed by the same user of web server process.

// Need active session to initialize session data storage access.
session_start();

// Executes GC immediately
session_gc();

// Clean up session ID created by session_gc()
session_destroy();
?>

Exemplo #2 session_gc() example for user accessible script

<?php
// Note: session_gc() is recommended to be used by task manager script, but
// it may be used as follows.

// Used for last GC time check
$gc_time = '/tmp/php_session_last_gc';
$gc_period = 1800;

session_start();
// Execute GC only when GC period elapsed.
// i.e. Calling session_gc() every request is waste of resources.
if (file_exists($gc_time)) {
    if (filemtime($gc_time) < time() - $gc_period) {
        session_gc();
        touch($gc_time);
    }
} else {
    touch($gc_time);
}
?>

Veja Também

  • session_start() - Inicia uma nova sessão ou resume uma sessão existente
  • session_destroy() - Destrói todos os dados registrados em uma sessão
  • session.gc_probability


Obtém os parâmetros do cookie da sessão

  • « session_gc
  • session_id »
  • PHP Manual
  • Funções para Sessão
  • Obtém os parâmetros do cookie da sessão

session_get_cookie_params

(PHP 4, PHP 5, PHP 7, PHP 8)

session_get_cookie_params — Obtém os parâmetros do cookie da sessão

Descrição

session_get_cookie_params ( ) : array

Obtém os parâmetros do cookie da sessão.

Valor Retornado

Retorna um array com informação do cookie da sessão atual. O array contém os seguintes items:

  • "lifetime" - A duração do cookie em segundos.
  • "path" - O caminho onde a informação está armazenada.
  • "domain" - O domínio do cookie.
  • "secure" - O cookie deve ser enviado apenas em conexões seguras.
  • "httponly" - O cookie pode ser acessado somente atráves do protocolo HTTP.

Changelog

Versão | Descrição
5.2.0 | A entrada "httponly" foi adicionada no array retornado.

Veja Também

  • session.cookie_lifetime
  • session.cookie_path
  • session.cookie_domain
  • session.cookie_secure
  • session.cookie_httponly
  • session_set_cookie_params() - Define os parâmetros do cookie de sessão


Obtém e/ou define o id de sessão atual

  • « session_get_cookie_params
  • session_is_registered »
  • PHP Manual
  • Funções para Sessão
  • Obtém e/ou define o id de sessão atual

session_id

(PHP 4, PHP 5, PHP 7, PHP 8)

session_id — Obtém e/ou define o id de sessão atual

Descrição

session_id ( string $id = ? ) : string

session_id() é usado para obter ou definir o id de sessão para a sessão atual.

A constante SID também pode ser usada para obter o nome e id da sessão atual como uma string adequado para adicionar em URLs. Veja também Manipulação de Sessão.

Parâmetros

id

Se id for especificado, ele substituirá o id de sessão atual. session_id() precisa ser chamado antes de session_start() para este fim. Dependendo do manipulador de sessão, nem todos os caracteres são permitidos em um id de sessão. Por exemplo, o manipulador de sessão em arquivo permite apenas caracteres no intervalo a-z A-Z 0-9 , (comma) and - (minus)!

Nota: Quando estiver usando cookies de sessão, especificar um id para session_id() sempre enviará um novo cookie quando session_start() for chamada, sem importar se o id da sessão atual for idêntico ao que está sendo definido.

Valor Retornado

session_id() retorna o id de sessão para a sessão atual ou uma string vazia ("") se não houver sessão atual (não existe um id de sessão atual).

Veja Também

  • session_regenerate_id() - Atualiza o id da sessão atual com um novo id gerado
  • session_start() - Inicia uma nova sessão ou resume uma sessão existente
  • session_set_save_handler() - Define funções de armazenamento de sessão à nível de usuário
  • session.save_handler


Verifica se uma variável global está registrada numa sessão

  • « session_id
  • session_module_name »
  • PHP Manual
  • Funções para Sessão
  • Verifica se uma variável global está registrada numa sessão

session_is_registered

(Não há informação de versão disponível, talvez apenas no Git)

session_is_registered — Verifica se uma variável global está registrada numa sessão

Descrição

session_is_registered ( string $name ) : bool

Verifica se uma variável global está registrada numa sessão.

Aviso

Esta função tornou-se OBSOLETA desde o PHP 5.3.0 e foi REMOVIDA desde o PHP 5.4.0.

Parâmetros

name

O nome da variável.

Valor Retornado

session_is_registered() retorna true se há uma variável global com o nome name registrado na sessão atual, false caso contrário.

Notas

Nota:

Se $_SESSION (ou $HTTP_SESSION_VARS para PHP 4.0.6 ou inferior) é usada, use isset() para checar se uma variável está registrada em $_SESSION.

Cuidado

Se você está usando $_SESSION
(ou $HTTP_SESSION_VARS), não utilize
session_register(),
session_is_registered() e
session_unregister().


Obtém e/ou define o módulo da sessão atual

  • « session_is_registered
  • session_name »
  • PHP Manual
  • Funções para Sessão
  • Obtém e/ou define o módulo da sessão atual

session_module_name

(PHP 4, PHP 5, PHP 7, PHP 8)

session_module_name — Obtém e/ou define o módulo da sessão atual

Descrição

session_module_name ( string $module = ? ) : string

session_module_name() obtém o nome do módulo da sessão atual.

Parâmetros

module

Se module é especificado, então é este módulo que será usado.

Valor Retornado

Retorna o nome do módulo da sessão atual.


Obtém e/ou define o nome da sessão atual

  • « session_module_name
  • session_regenerate_id »
  • PHP Manual
  • Funções para Sessão
  • Obtém e/ou define o nome da sessão atual

session_name

(PHP 4, PHP 5, PHP 7, PHP 8)

session_name — Obtém e/ou define o nome da sessão atual

Descrição

session_name ( string $name = ? ) : string

session_name() retorna o nome da sessão atual. Se name é informado, session_name() vai atualizar o nome da sessão e retornar o nome da sessão antiga.

O nome da sessão é redefinido para o padrão guardado em session.name na inicialização da requisição. Então você deve chamar session_name() para cada requisição (e antes que session_start() ou session_register() sejam chamadas).

Parâmetros

name

O nome da sessão refere-se ao nome da sessão, que é usado em cookies e URLs (por exemplo, PHPSESSID). Ele deve conter apenas caracteres alfanuméricos; ele deve ser curto e descritivo (para usuários com avisos de cookie habilitados). Se name é informado, o nome da sessão atual é modificado para o novo valor.

Aviso

O nome da sessão não pode consistir apenas de dígitos, pelo menos uma letra deve estar presente. Caso contrário um novo id de sessão é gerado toda vez.

Valor Retornado

Retorna o nome da sessão atual. Se name é informado e a função atualizar o nome da sessão, o nome da sessão antiga é retornado.

Exemplos

Exemplo #1 Exemplo de session_name()

<?php

/* defina o nome da sessão para WebsiteID */

$previous_name = session_name("WebsiteID");

echo "O nome da sessão anterior era $previous_name<br />";
?>

Veja Também

  • session.name (diretiva de configuração)


Atualiza o id da sessão atual com um novo id gerado

  • « session_name
  • session_register_shutdown »
  • PHP Manual
  • Funções para Sessão
  • Atualiza o id da sessão atual com um novo id gerado

session_regenerate_id

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

session_regenerate_id — Atualiza o id da sessão atual com um novo id gerado

Descrição

session_regenerate_id ( bool $delete_old_session = false ) : bool

session_regenerate_id() substituirá o id da sessão atual com um novo id e manterá a informação da sessão atual.

Quando session.use_trans_sid estiver habilitada, saídas (output) devem ser iniciadas depois de session_regenerate_id() ser chamada. Caso contrário, o ID da sessão antiga é utilizado.

Aviso

Atualmente, session_regenerate_id não lida muito bem em redes instáveis como, por exemplo, móvel e WiFi. Pode ocorrer perda da sessão ao chamar session_regenerate_id.

Os dados de sessões antigas não devem ser destruídos imediatamente; ao invés disso, deve ser usado timestamp para destruir a sessão e controlar o acesso aos dados de sessões antigas. Caso contrário, acessos concorrentes à página podem causar inconsistências, a perda da sessão, ou pode causar uma condição de corrida no navegador do usuário que faz com que vários IDs de sessão sejam criados desnecessariamente. A remoção imediata dos dados de sessão impossibilita a detecção de ataques de roubo de sessão, e também a prevenção.

Parâmetros

delete_old_session

Se o arquivo associado à sessão anterior deve ser excluído ou não. A sessão antiga não deve ser removida se for necessário evitar condições de corrida causadas pela remoção, ou se for necessário detectar/evitar ataques de roubo de sessão.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
7.0.0 | session_regenerate_id() salva os dados da sessão antiga antes de encerrar.

Exemplos

Exemplo #1 Exemplo de session_regenerate_id()

<?php
// NOTA: Este código não é totalmente funcional, mas apenas um exemplo!

session_start();

// Verifica o timestamp para remoção
if (isset($_SESSION['destroyed'])
    && $_SESSION['destroyed'] < time() - 300) {
    // Normalmente não deve acontecer. Isso pode ser um ataque ou então causado por uma rede instável.
    // Remove todos os status de autenticação da sessão deste usuário.
    remove_all_authentication_flag_from_active_sessions($_SESSION['userid']);
    throw(new DestroyedSessionAccessException);
}

$old_sessionid = session_id();

// Define o timestamp para remoção
$_SESSION['destroyed'] = time(); // A partir do PHP 7.0.0, session_regenerate_id() salva os dados da sessão anterior

// Apenas chamar session_regenerate_id() pode causar a perda da sessão, etc.
// Veja o próximo exemplo.
session_regenerate_id();

// A nova sessão não precisa da flag destroyed
unset($_SESSION['destroyed']);

$new_sessionid = session_id();

echo "Old Session: $old_sessionid<br />";
echo "New Session: $new_sessionid<br />";

print_r($_SESSION);
?>

O módulo de sessão atual não trabalha bem com redes instáveis. O programador deve gerenciar o ID de sessão para evitar a perda da sessão causada por session_regenerate_id.

Exemplo #2 Evitando a perda de sessão causada por session_regenerate_id()

<?php
// NOTA: Este código não é totalmente funcional, mas apenas um exemplo!
// my_session_start() e my_session_regenerate_id() evitam a perda da sessão causada por
// redes instáveis. Além disso, este código pode evitar que a sessão seja
// roubada por atacantes.

function my_session_start() {
    session_start();
    if (isset($_SESSION['destroyed'])) {
       if ($_SESSION['destroyed'] < time()-300) {
           // Normalmente não deve acontecer. Isso pode ser um ataque ou então causado por uma rede instável.
           // Remove todos os status de autenticação da sessão deste usuário.
           remove_all_authentication_flag_from_active_sessions($_SESSION['userid']);
           throw(new DestroyedSessionAccessException);
       }
       if (isset($_SESSION['new_session_id'])) {
           // Não está completamente expirado ainda. O cookie pode ter sido perdido por causa de uma rede instável.
           // Tenta novamente definir o cookie de ID de sessão.
           // NOTA: Não tente definir o ID de sessão novamente se você quiser remover
           // as flags de autenticação
           session_commit();
           session_id($_SESSION['new_session_id']);
           // O novo ID de sessão deve existir
           session_start();
           return;
       }
   }
}

function my_session_regenerate_id() {
    // Um novo ID de sessão é necessário para definir o ID de sessão corretamente
    // quando o ID de sessão não é configurado por causa de instabilidade na rede.
    $new_session_id = session_create_id();
    $_SESSION['new_session_id'] = $new_session_id;

    // Definie o timestamp para remoção
    $_SESSION['destroyed'] = time();

    // Escreve e fecha a sessão
    session_commit();

    // Inicia a sessão com um novo ID de sessão
    session_id($new_session_id);
    ini_set('session.use_strict_mode', 0);
    session_start();
    ini_set('session.use_strict_mode', 1);

    // A nova sessão não precisa destas informações
    unset($_SESSION['destroyed']);
    unset($_SESSION['new_session_id']);
}
?>

Veja Também

  • session_id() - Obtém e/ou define o id de sessão atual
  • session_create_id() - Create new session id
  • session_start() - Inicia uma nova sessão ou resume uma sessão existente
  • session_destroy() - Destrói todos os dados registrados em uma sessão
  • session_reset() - Reinicializa um array de sessão com os valores originais
  • session_name() - Obtém e/ou define o nome da sessão atual


Função de finalização da sessão

  • « session_regenerate_id
  • session_reset »
  • PHP Manual
  • Funções para Sessão
  • Função de finalização da sessão

session_register_shutdown

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

session_register_shutdown — Função de finalização da sessão

Descrição

session_register_shutdown ( ) : void

Registra session_write_close() como uma função de finalização.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Erros

Dispara um E_WARNING se o processo de registrar a função falhar.


Reinicializa um array de sessão com os valores originais

  • « session_register_shutdown
  • session_save_path »
  • PHP Manual
  • Funções para Sessão
  • Reinicializa um array de sessão com os valores originais

session_reset

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

session_reset — Reinicializa um array de sessão com os valores originais

Descrição

session_reset ( ) : void

session_reset() reinicializa uma sessão com os valores originais salvos no armazenamento de sessão. Esta função requer uma sessão ativa e descarta as alterações em $_SESSION.

Valor Retornado

Não há valor retornado.

Veja Também

  • $_SESSION
  • A diretiva de configuração session.auto_start
  • session_start() - Inicia uma nova sessão ou resume uma sessão existente
  • session_abort() - Descarta as alterações no array da sessão e encerra a sessão
  • session_commit() - Sinônimo de session_write_close


Obtém e/ou define o caminho para armazenamento da sessão atual

  • « session_reset
  • session_set_cookie_params »
  • PHP Manual
  • Funções para Sessão
  • Obtém e/ou define o caminho para armazenamento da sessão atual

session_save_path

(PHP 4, PHP 5, PHP 7, PHP 8)

session_save_path — Obtém e/ou define o caminho para armazenamento da sessão atual

Descrição

session_save_path ( string $path = ? ) : string

session_save_path() retorna o caminho do diretório atual utilizado para salvar os dados de sessão.

Parâmetros

path

Caminho dos dados de sessão. Se informado, o caminho onde os dados são salvos será alterado. session_save_path() precisa ser chamada antes de session_start() para isto.

Nota:

Em alguns sistemas operacionais, talvez você queira especificar um caminho em um sistema de arquivos (filesystem) que possa manuzear grande quantidade de pequenos arquivos eficientemente. Por exemplo, no Linux, reiserfs pode ter performance melhor do que ext2fs.

Valor Retornado

Retorna o caminho atual do diretório usado para o armazenamento de dados.

Veja Também

  • session.save_path (diretiva de configuração)


Define os parâmetros do cookie de sessão

  • « session_save_path
  • session_set_save_handler »
  • PHP Manual
  • Funções para Sessão
  • Define os parâmetros do cookie de sessão

session_set_cookie_params

(PHP 4, PHP 5, PHP 7, PHP 8)

session_set_cookie_params — Define os parâmetros do cookie de sessão

Descrição

session_set_cookie_params ( int $lifetime , string $path = ? , string $domain = ? , bool $secure = false , bool $httponly = false ) : void

Define parâmetros dos cookies configurados no arquivo php.ini. O efeito desta função é apenas pela duração do script. Então, você precisa chamar session_set_cookie_params() para cada requisição e antes que session_start() seja chamada.

Esta função atualiza os valores em tempo de execução correspondentes às configurações INI que podem ser obetidos com ini_get().

Parâmetros

lifetime

Tempo de vida do cookie de sessão, definido em segundos.

path

Caminho no domínio onde o cookie vai funcionar. Use uma única barra ('/') para que funcione em todos os caminhos do domínio.

domain

Domínio do cookie, por exemplo 'www.php.net'. Para tornar os cookies visíveis em todos os subdomínios, o domínio deve ser prefixado com um ponto, como '.php.net'.

secure

Se true, o cookie só será enviado em conexões seguras.

httponly

Se true, então o PHP tentará enviar a flag httponly ao definir o cookie de sessão.

Valor Retornado

Não há valor retornado.

Changelog

Versão | Descrição
5.2.0 | O parâmetro httponly foi adicionado.

Veja Também

  • session.cookie_lifetime
  • session.cookie_path
  • session.cookie_domain
  • session.cookie_secure
  • session.cookie_httponly
  • session_get_cookie_params() - Obtém os parâmetros do cookie da sessão


Define funções de armazenamento de sessão à nível de usuário

  • « session_set_cookie_params
  • session_start »
  • PHP Manual
  • Funções para Sessão
  • Define funções de armazenamento de sessão à nível de usuário

session_set_save_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

session_set_save_handler — Define funções de armazenamento de sessão à nível de usuário

Descrição

session_set_save_handler ( callable $open , callable $close , callable $read , callable $write , callable $destroy , callable $gc , callable $create_sid = ? , callable $validate_sid = ? , callable $update_timestamp = ? ) : bool

A partir do PHP 5.4 é possível registrar o seguinte protótipo:

session_set_save_handler ( SessionHandlerInterface $sessionhandler , bool $register_shutdown = true ) : bool

session_set_save_handler() define, a nível de usuário, as funções de armazenamento de sessão que serão usadas para guardar e buscar dados associados à uma sessão. Ela é mais útil quando um método de armazenamento diferente do método disponibilizado pelas sessões do PHP é preferido. i.e. Armazenar os dados de sessão em um banco de dados.

Parâmetros

Essa função tem dois protótipos.

sessionhandler

Uma instância de uma classe implementando SessionHandlerInterface, como SessionHandler, para registrá-la como manipulador de sessão. Apenas a partir do PHP 5.4.

register_shutdown

Registra session_write_close() como uma função register_shutdown_function().

or
open(string $savePath, string $sessionName)

O callback open funciona igual um construtor em classes e é executado quando a sessão está sendo aberta. É a primeira função de callback executada quando a sessão é iniciada automaticamente ou manualmente com session_start(). O valor de retorno é true para sucesso, false para falha.

close()

O callback close funciona igual um destrutor em classes e é executado depois que o callback write da sessão for chamado. Ele também é invocado quando a função session_write_close() é chamada. O valor de retorno é true para sucesso, false para falha.

read(string $sessionId)

O callback read sempre deve retornar uma sessão codificada (serializada) no formato string ou uma string vazia se não há dados para leitura.

Esse callback é chamado internamente pelo PHP quando a sessão inicia ou quando a função session_start() é chamada. Antes que esse callback seja invocado, o PHP invocará o callback open.

O valor que esse callback retorna deve estar exatamente no mesmo formato de serialização que originalmente foi passado para armazenamento ao callback write. O valor retornado será desserializado automaticamente pelo PHP e usado para preencher a super global $_SESSION. Mesmo que os dados pareçam similares ao de serialize(), note que é um formato diferente, especificado na configuração INI session.serialize_handler.

write(string $sessionId, string $data)

O callback write é chamado quando a sessão precisa ser salva e fechada. Esse callback recebe o ID da sessão atual e uma versão serializada da super global $_SESSION. O método de serialização usado internamente pelo PHP é definido pela configuração INI session.serialize_handler.

Os dados de sessão serializados passado para esse callback devem ser armazenados junto com o ID de sessão passado. Ao buscar esses dados, o callback read deve retornar exatamente o mesmo valor que foi passado originalmente para o callback write.

Esse callback é invocado quando o PHP é encerrado ou explicitamente quando a função session_write_close() é chamada. Note que depois de executar esta função, o PHP executará internamente o callback close.

Nota:

O manipulador "write" não é executado enquanto o fluxo de saída não for encerrado. Portanto, saídas de comandos de debug no manipulador "write" nunca serão vistas pelo browser. Se a saída de debug é necessária, é recomendado que ela seja escrita em arquivo.

destroy($sessionId)

Esse callback é executado quando uma sessão é destruída com session_destroy() ou com session_regenerate_id() com o parâmetro de destruição definido como true. O valor de retorno deve ser true para sucesso, false para falha.

gc($lifetime)

O callback de limpeza (gc) é invocado pelo PHP, internamente e periodicamente, para apagar dados de sessão antiga. A frequência é controlada por session.gc_probability e session.gc_divisor. O valor do parâmetro que é passado para esse callback pode ser definido em session.gc_maxlifetime. O valor de retorno deve ser true para sucesso, false para falha.

create_sid()

Esse callback é executado quando um novo ID de sessão é necessário. Nenhum parâmetro é necessário e o valor de retorno deve ser uma string que seja um ID de sessão válido para seu manipulador.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Manipulador de sessão personalizado: veja o código completo na sinópse de SessionHandlerInterface.

O código a seguir é para o PHP 5.4.0 ou superior. Aqui é demonstrado apenas a execução, o código completo pode ser visto na sinópse de SessionHandlerInterface no link acima.

Note que é usado orientação à objetos com session_set_save_handler() e a função de encerramento (register_shutdown) é registrada usando sua respectiva flag. Isto geralmente é aconselhável ao registrar objetos como manipuladores de gravação de sessão.

<?php
class MySessionHandler implements SessionHandlerInterface
{
    // implementa a interface aqui
}

$handler = new MySessionHandler();
session_set_save_handler($handler, true);
session_start();

// proceder para definir e recuperar os valores pela chave de $_SESSION

Exemplo #2 Manipuladores personalizados de gravação de sessão usando objetos

O código a seguir é para versões do PHP anteriores à 5.4.0.

O exemplo a seguir apresenta um armazenamento de sessão baseada em arquivos semelhante aos manipuladores de gravação de sessão padrões do PHP files. Este exemplo poderia ser facilmente estendido para cobrir o armazenamento em banco de dados usando sua engine de banco de dados favorita e que seja suportada pelo PHP.

Note que foi registrada a função session_write_close() usando register_shutdown_function() em versões do PHP anteriores à 5.4.0. Isso geralmente é aconselhável ao registrar objetos como manipuladores de gravação de sessão em versões anteriores à 5.4.0.

<?php
class FileSessionHandler
{
    private $savePath;

    function open($savePath, $sessionName)
    {
        $this->savePath = $savePath;
        if (!is_dir($this->savePath)) {
            mkdir($this->savePath, 0777);
        }

        return true;
    }

    function close()
    {
        return true;
    }

    function read($id)
    {
        return (string)@file_get_contents("$this->savePath/sess_$id");
    }

    function write($id, $data)
    {
        return file_put_contents("$this->savePath/sess_$id", $data) === false ? false : true;
    }

    function destroy($id)
    {
        $file = "$this->savePath/sess_$id";
        if (file_exists($file)) {
            unlink($file);
        }

        return true;
    }

    function gc($maxlifetime)
    {
        foreach (glob("$this->savePath/sess_*") as $file) {
            if (filemtime($file) + $maxlifetime < time() && file_exists($file)) {
                unlink($file);
            }
        }

        return true;
    }
}

$handler = new FileSessionHandler();
session_set_save_handler(
    array($handler, 'open'),
    array($handler, 'close'),
    array($handler, 'read'),
    array($handler, 'write'),
    array($handler, 'destroy'),
    array($handler, 'gc')
    );

// a linha a seguir evita comportamentos não esperados ao usar objetos como manipuladores de gravação
register_shutdown_function('session_write_close');

session_start();
// proceder para definir e recuperar valores pela chave de $_SESSION

Notas

Aviso

Ao utilizar objetos como manipuladores de gravação de sessão, é importante registrar a função de finalização no PHP para evitar efeitos colaterais não esperados devido à forma como o PHP destrói objetos internamente em seu encerramento e que pode impedir que as funções write e close sejam executadas. Normalmente, 'session_write_close' deve ser registrada usando a função register_shutdown_function().

A partir do PHP 5.4.0 pode ser usado session_register_shutdown() ou simplesmente a flag 'register shutdown' ao invocar session_set_save_handler() usando o método orientado à objetos e passando uma instância que implemente SessionHandlerInterface.

Aviso

A partir do PHP 5.0.5 os manipuladores write e close são executados depois da destruição de objetos e portanto não podem usar objetos ou lançar exceções. Não é possível capturar nem exibir o rastro (trace) de exceções e a execução simplesmente será interrompida de forma inesperada. Contudo, os destrutores do objeto podem usar sessões.

É possível chamar session_write_close() do destrutor para resolver esse problema de 'o ovo e a galinha' mas a forma mais confiável é registrar a função de finalização como descrito acima.

Aviso

O diretório de trabalho atual é alterado com algumas SAPIs (Server API) se a sessão for fechada na finalização do script. É possível fechar a sessão antecipadamente com session_write_close().

Changelog

Versão | Descrição
5.5.1 | Adicionado o parâmetro opcional create_sid.
5.4.0 | Adicionado SessionHandlerInterface para a implementação de manipuladores de sessão e SessionHandler para expor manipuladores de sessão internos do PHP.

Veja Também

  • session.save_handler (diretiva de configuração)
  • session.serialize_handler (diretiva de configuração)
  • A register_shutdown_function() - Registra uma função para ser executada ao final da execução
  • A session_register_shutdown() - Função de finalização da sessão para PHP 5.4.0+
  • Visite » save_handler.inc para ver uma implementação completamente procedural


Inicia uma nova sessão ou resume uma sessão existente

  • « session_set_save_handler
  • session_status »
  • PHP Manual
  • Funções para Sessão
  • Inicia uma nova sessão ou resume uma sessão existente

session_start

(PHP 4, PHP 5, PHP 7, PHP 8)

session_start — Inicia uma nova sessão ou resume uma sessão existente

Descrição

session_start ( array $options = [] ) : bool

session_start() cria uma sessão ou resume a sessão atual baseado em um id de sessão passado via GET ou POST, ou passado via cookie.

Quando session_start() é chamada ou quando uma sessão inicia automaticamente, o PHP chamará os manipuladores open e read. Eles serão manipuladores de gravação internos (built-in) fornecidos por padrão ou por extensões do PHP (como SQLite ou Memcached); ou podem ser manipuladores personalizados definidos por session_set_save_handler(). O callback read recuperará qualquer informação de sessão existente (armazenada em um formato serializado especial) e será deserializado e usado para preencher automaticamente a super global $_SESSION quando o callback read retornar de volta os dados salvos em sessão para o manipulador de sessão do PHP.

Para utilizar uma sessão com nome, execute session_name() antes de executar session_start().

Quando session.use_trans_sid está habilitada, a função session_start() registrará um manipulador de saída interno para a reescrita da URL.

Se um usuário usar ob_gzhandler ou similar com ob_start(), a ordem da função é importante para saída/output adequado. Por exemplo, ob_gzhandler deve ser registrado antes de iniciar a sessão.

Parâmetros

options

Se informado, este é um array associativo de opções que vão sobrepor os que estiverem configurados nas diretivas de configuração de sessão. As chaves não devem incluir o prefixo da session.

Além do conjunto de diretivas de configuração comum, a opção read_and_close pode ser informada. Se definida como true, fará com que a sessão seja fechada imediatamente depois de ser lida, evitando o bloqueio desnecessário caso os dados da sessão não sejam alterados.

Valor Retornado

Esta função retorna true se uma sessão foi iniciada com sucesso, caso contrário false.

Changelog

Versão | Descrição
7.0.0 | O parâmetro options foi adicionado.
5.3.0 | Se uma sessão falhar para iniciar, então é retornado false. Anteriormente, true era retornado.
4.3.3 | A partir do PHP 4.3.3, chamar session_start() depois da sessão já ter iniciada resultará em um erro de level E_NOTICE. E a a segunda chamada para iniciar a sessão simplesmente será ignorada.

Exemplos

Um exemplo básico de sessão

Exemplo #1 page1.php

<?php
// page1.php

session_start();

echo 'Bem vindo à página #1';

$_SESSION['favcolor'] = 'green';
$_SESSION['animal']   = 'cat';
$_SESSION['time']     = time();

// Funciona se o cookie de seção foi aceito
echo '<br /><a href="page2.php">page 2</a>';

// Ou talves passando o ID da seção se necessário
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>

Após acessar page1.php, a segunda página page2.php magicamente terá os dados da seção. Leia funções para sessão para informações sobre propagação de ids de sessão já que, por exemplo, explica tudo sobre a constante SID.

Exemplo #2 page2.php

<?php
// page2.php

session_start();

echo 'Bem vindo à página #2<br />';

echo $_SESSION['favcolor']; // green
echo $_SESSION['animal'];   // cat
echo date('Y m d H:i:s', $_SESSION['time']);

// Você pode querer usar o SID aqui, como fizemos em page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>

Fornecendo configurações para session_start()

Exemplo #3 Sobrepondo o tempo de duração de cookie

<?php
// Envia o cookie persistente que dura um dia
session_start([
    'cookie_lifetime' => 86400,
]);
?>

Exemplo #4 Lendo e fechando a sessão

<?php
// Se não houver necessidade de alterar nada na
// sessão, pode-se apenas lê-la e já fechá-la para avitar
// que o arquivo de sessão seja travado e então bloqueie outras páginas
session_start([
    'cookie_lifetime' => 86400,
    'read_and_close'  => true,
]);

Notas

Nota:

Para usar sessões baseadas em cookies, session_start() deve ser chamada antes de enviar qualquer saída (output) para o browser.

Nota:

O uso de zlib.output_compression é recomendado ao invés de ob_gzhandler()

Nota:

Esta função envia vários cabeçalhos HTTP dependendo da configuração. Veja session_cache_limiter() para personalizar estes cabeçalhos.

Veja Também

  • $_SESSION
  • session.auto_start (diretiva de configuração)
  • session_id() - Obtém e/ou define o id de sessão atual


Retorna o status atual da sessão

  • « session_start
  • session_unregister »
  • PHP Manual
  • Funções para Sessão
  • Retorna o status atual da sessão

session_status

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

session_status — Retorna o status atual da sessão

Descrição

session_status ( ) : int

session_status() é usada para retornar o status atual da sessão.

Valor Retornado

  • PHP_SESSION_DISABLED se as sessões estiverem desabilitadas.
  • PHP_SESSION_NONE se as sessões estiverem habilitadas, mas nenhuma existir.
  • PHP_SESSION_ACTIVE se as sessões estiverem habilitadas, e uma existir.

Veja Também

  • session_start() - Inicia uma nova sessão ou resume uma sessão existente


Desregistra uma variável global da sessão atual

  • « session_status
  • session_unset »
  • PHP Manual
  • Funções para Sessão
  • Desregistra uma variável global da sessão atual

session_unregister

(Não há informação de versão disponível, talvez apenas no Git)

session_unregister — Desregistra uma variável global da sessão atual

Descrição

session_unregister ( string $name ) : bool

session_unregister() desregistra a variável global chamada name da sessão atual.

Aviso

Esta função tornou-se OBSOLETA desde o PHP 5.3.0 e foi REMOVIDA desde o PHP 5.4.0.

Parâmetros

name

O nome da variável.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Notas

Nota:

Se $_SESSION (ou $HTTP_SESSION_VARS para PHP 4.0.6 ou inferior) for usada, use unset() para desregistrar uma variável de sessão. Não use unset() na própria $_SESSION já que desabilitará a função especial da super global $_SESSION.

Cuidado

Esta função não elimina a variável global correspondente de name, ela apenas evita que a variável faça parte da sessão. Você deve chamar unset() para eliminar a variável global correspondente.

Cuidado

Se você está usando $_SESSION (ou
$HTTP_SESSION_VARS), não use
session_register(),
session_is_registered() e
session_unregister().


Libera todas as variáveis de sessão

  • « session_unregister
  • session_write_close »
  • PHP Manual
  • Funções para Sessão
  • Libera todas as variáveis de sessão

session_unset

(PHP 4, PHP 5, PHP 7, PHP 8)

session_unset — Libera todas as variáveis de sessão

Descrição

session_unset ( ) : void

A função session_unset() libera todas as variáveis atualmente registradas na sessão.

Valor Retornado

Não há valor retornado.

Notas

Nota:

Se $_SESSION (ou $HTTP_SESSION_VARS para PHP 4.0.6 ou inferior) for usada, use unset() para desregistrar a variável da sessão, isto é, unset ($_SESSION['varname']);.

Cuidado

NÃO elimine completamente $_SESSION com unset($_SESSION) já que isto desabilitará o registro de variáveis de sessão através da super global $_SESSION.


Guarda os dados de sessão e fecha a sessão

  • « session_unset
  • SessionHandler »
  • PHP Manual
  • Funções para Sessão
  • Guarda os dados de sessão e fecha a sessão

session_write_close

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

session_write_close — Guarda os dados de sessão e fecha a sessão

Descrição

session_write_close ( ) : void

Fecha a sessão atual e guarda os dados.

Os dados de sessão geralmente são guardados depois que o script termina, sem a necessidade de chamar session_write_close(); mas como dados de sessão são travados para evitar escritas concorrentes, apenas um script pode operar em uma sessão por vez. Ao usar iframe/framesets junto com sessões, os frames serão lidos um a um devido à esta trava. Pode-se reduzir o tempo necessário para carregar todos os frames fechando a sessão o mais cedo possível, assim que todas as alterações na variável de sessão tiverem sido feitas.

Valor Retornado

Não há valor retornado.

Veja Também

  • A session_register_shutdown() - Função de finalização da sessão


A classe SessionHandler

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Introdução

SessionHandler é uma classe especial que pode ser usada para expor o manipulador interno atual do PHP de gravação de sessão por herança. Existem sete métodos que envolvem (wrap) as sete funções internas de callbacks do manipulador de gravação de sessão (open, close, read, write, destroy, gc e create_sid). Por padrão, esta classe vai envolver qualquer manipulador de gravação interno definido pela diretiva de configuração session.save_handler, que normalmente é files por padrão. Outros manipuladores internos de gravação de sessão podem ser fornecidos por extensões do PHP, como por exemplo SQLite (como sqlite), Memcache (como memcache), e Memcached (como memcached).

Quando uma instância de SessionHandler é definida como manipulador de gravação usando session_set_save_handler(), ela envolverá o manipulador de gravação atual. Uma classe que estende SessionHandler permite sobrescrever os métodos, interceptá-los ou filtrá-los chamando os métodos da classe pai que envolvem os manipuladores de sessão internos do PHP.

Isto permite, por exemplo, interceptar os métodos read e write para criptografar/descriptografar os dados de sessão e então passar o resultado de e para a classe pai. Alternativamente, pode-se sobrescrever completamente um método como o callback de limpeza gc.

Como o SessionHandler envolve os manipuladores de gravação atuais, o exemplo acima de criptografia pode ser aplicado em qualquer manipulador de gravação interno sem precisar saber o funcionamento interno dos manipuladores.

Para usar esta classe, primeiro configure o manipulador de gravação que você quer expor usando session.save_handler e então passe uma instância de SessionHandler ou uma classe que a estenda para session_set_save_handler().

Note que os métodos de callbacks desta classe são projetados para serem chamados internamente pelo PHP e não para serem chamados pelo código do usuário. Os valores de retorno são igualmente processados internamente pelo PHP. Para mais informações do fluxo de trabalho da sessão, consulte session_set_save_handler().

Sinopse da classe

SessionHandler implements SessionHandlerInterface {
/* Métodos */
public close ( ) : bool
public create_sid ( ) : string
public destroy ( string $session_id ) : bool
public gc ( int $maxlifetime ) : bool
public open ( string $save_path , string $session_name ) : bool
public read ( string $session_id ) : string
public write ( string $session_id , string $session_data ) : bool
}
Aviso

Esta classe é projetada para expor o manipulador interno do PHP de gravação de sessão; se você quiser escrever manipuladores de gravação personalizados, implemente a interface SessionHandlerInterface ao invés de estender a classe SessionHandler.

Changelog

Versão | Descrição
5.5.1 | Adicionado SessionHandler::create_sid().

Exemplo #1 Usando SessionHandler para adicionar criptografia aos manipuladores internos do PHP de gravação.

<?php

 /**
  * decrypt AES 256
  *
  * @param data $edata
  * @param string $password
  * @return decrypted data
  */
function decrypt($edata, $password) {
    $data = base64_decode($edata);
    $salt = substr($data, 0, 16);
    $ct = substr($data, 16);

    $rounds = 3; // depends on key length
    $data00 = $password.$salt;
    $hash = array();
    $hash[0] = hash('sha256', $data00, true);
    $result = $hash[0];
    for ($i = 1; $i < $rounds; $i++) {
        $hash[$i] = hash('sha256', $hash[$i - 1].$data00, true);
        $result .= $hash[$i];
    }
    $key = substr($result, 0, 32);
    $iv  = substr($result, 32,16);

    return openssl_decrypt($ct, 'AES-256-CBC', $key, true, $iv);
  }

/**
 * crypt AES 256
 *
 * @param data $data
 * @param string $password
 * @return base64 encrypted data
 */
function encrypt($data, $password) {
    // Set a random salt
    $salt = openssl_random_pseudo_bytes(16);

    $salted = '';
    $dx = '';
    // Salt the key(32) and iv(16) = 48
    while (strlen($salted) < 48) {
      $dx = hash('sha256', $dx.$password.$salt, true);
      $salted .= $dx;
    }

    $key = substr($salted, 0, 32);
    $iv  = substr($salted, 32,16);

    $encrypted_data = openssl_encrypt($data, 'AES-256-CBC', $key, true, $iv);
    return base64_encode($salt . $encrypted_data);
}

class EncryptedSessionHandler extends SessionHandler
{
    private $key;

    public function __construct($key)
    {
        $this->key = $key;
    }

    public function read($id)
    {
        $data = parent::read($id);

        if (!$data) {
            return "";
        } else {
            return decrypt($data, $this->key);
        }
    }

    public function write($id, $data)
    {
        $data = encrypt($data, $this->key);

        return parent::write($id, $data);
    }
}

// iremos interceptar o manipulador nativo de arquivos, mas trabalharemos igualmente
// com outros manipuladores internos como 'sqlite', 'memcache' ou 'memcached'
// que são disponibilizados por extensões do PHP
ini_set('session.save_handler', 'files');

$key = 'secret_string';
$handler = new EncryptedSessionHandler($key);
session_set_save_handler($handler, true);
session_start();

// proceder para definir e recuperar os valores pela chave de $_SESSION

Nota:

Como os métodos dessa classe são projetados para serem chamados internamente pelo PHP como parte do fluxo normal da sessão, chamadas à esses métodos (ou seja, os manipuladores internos nativos reais) por classes filhas irão retornar false, a não ser que a sessão tenha sido iniciada (independente se foi de forma automática ou pela chamada de session_start()). É importante levar isto em consideração quando escrever testes unitários onde os métodos da classe podem ser invocados manualmente.

Índice

  • SessionHandler::close — Fecha a sessão
  • SessionHandler::create_sid — Retorna um novo ID de sessão
  • SessionHandler::destroy — Destrói uma sessão
  • SessionHandler::gc — Apaga sessões antigas
  • SessionHandler::open — Inicia uma sessão
  • SessionHandler::read — Lê os dados de sessão
  • SessionHandler::write — Escreve os dados de sessão


Fecha a sessão

  • « SessionHandler
  • SessionHandler::create_sid »
  • PHP Manual
  • SessionHandler
  • Fecha a sessão

SessionHandler::close

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::close — Fecha a sessão

Descrição

public SessionHandler::close ( ) : bool

Fecha a sessão atual. Este método é executado automaticamente e internamente pelo PHP ao fechar a sessão, ou explicitamente com session_write_close() (que primeiro chama SessionHandler::write()).

Este método envolve o manipulador interno de gravação do PHP definido na configuração ini session.save_handler que foi definido antes deste manipulador ser ativado por session_set_save_handler().

Se esta classe for estendida por herança, chamar o método close da classe pai invocará a função que envolve este método, portanto invocará o callback interno. Isto permite que esse método seja substituído ou interceptado.

Para mais informações relacionadas ao que é esperado que este método faça, por favor leia a documentação de SessionHandlerInterface::close().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O valor retornado (geralmente true no sucesso, false em falha). Note que esse valor é retornado internamente ao PHP para processamento.


Retorna um novo ID de sessão

  • « SessionHandler::close
  • SessionHandler::destroy »
  • PHP Manual
  • SessionHandler
  • Retorna um novo ID de sessão

SessionHandler::create_sid

(PHP 5 >= 5.5.1, PHP 7, PHP 8)

SessionHandler::create_sid — Retorna um novo ID de sessão

Descrição

public SessionHandler::create_sid ( ) : string

Gera e retorna um novo ID de sessão.

Valor Retornado

Um ID de sessão válido para o manipulador de sessão padrão.

Veja Também

  • session_id() - Obtém e/ou define o id de sessão atual


Destrói uma sessão

  • « SessionHandler::create_sid
  • SessionHandler::gc »
  • PHP Manual
  • SessionHandler
  • Destrói uma sessão

SessionHandler::destroy

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::destroy — Destrói uma sessão

Descrição

public SessionHandler::destroy ( string $session_id ) : bool

Destrói uma sessão. Chamada internamente pelo PHP com session_regenerate_id() (desde que $destroy seja true), por session_destroy() ou quando session_decode() falhar.

Este método envolve o manipulador de gravação interno do PHP, definido na configuração ini session.save_handler, configurado antes da definição deste manipulador por session_set_save_handler().

Se esta classe for estendida por herança, chamar o método destroy da classe pai invocará a função que envolve este método, portanto invocará o callback interno. Isto permite que esse método seja substituído e ou interceptado e filtrado.

Para mais informações relacionadas ao que é esperado que este método faça, por favor leia a documentação de SessionHandlerInterface::destroy().

Parâmetros

session_id

O ID de sessão que estiver sendo destruído.

Valor Retornado

O valor retornado (geralmente true no sucesso, false em falha). Note que esse valor é retornado internamente ao PHP para processamento.


Apaga sessões antigas

  • « SessionHandler::destroy
  • SessionHandler::open »
  • PHP Manual
  • SessionHandler
  • Apaga sessões antigas

SessionHandler::gc

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::gc — Apaga sessões antigas

Descrição

public SessionHandler::gc ( int $maxlifetime ) : bool

Apaga sessões expiradas. Chamada internamente e aleatoriamente pelo PHP quando uma sessão inicia ou quando session_start() é invocada. A frequência que ela é chamada é baseada em session.gc_divisor e session.gc_probability (diretivas de configuração).

Este método envolve o manipulador de gravação interno do PHP definido na configuração ini session.save_handler e que foi configurado antes desse manipulador ser definido por session_set_save_handler().

Se esta classe for estendida por herança, chamar o método gc da classe pai invocará a função que envolve este método, portanto invocará o callback interno. Isto permite que esse método seja substituído e ou interceptado e filtrado.

Para mais informações relacionadas ao que é esperado que este método faça, por favor leia a documentação de SessionHandlerInterface::gc().

Parâmetros

maxlifetime

Sessões que não foram atualizados nos últimos maxlifetime segundos serão removidas.

Valor Retornado

O valor retornado (geralmente true no sucesso, false em falha). Note que esse valor é retornado internamente ao PHP para processamento.


Inicia uma sessão

  • « SessionHandler::gc
  • SessionHandler::read »
  • PHP Manual
  • SessionHandler
  • Inicia uma sessão

SessionHandler::open

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::open — Inicia uma sessão

Descrição

public SessionHandler::open ( string $save_path , string $session_name ) : bool

Cria uma nova sessão, ou reinicializa uma sessão existente. Chamada internamente pelo PHP quando uma sessão inicia, quer seja de forma automática ou quando session_start() é invocada.

Este método envolve o manipulador de gravação interno do PHP definido na configuração ini session.save_handler e que foi configurado antes desse manipulador ser definido por session_set_save_handler().

Se esta classe for estendida por herança, chamar o método open da classe pai invocará a função que envolve este método, portanto invocará o callback interno. Isto permite que esse método seja substituído e ou interceptado e filtrado.

Para mais informações relacionadas ao que é esperado que este método faça, por favor leia a documentação de SessionHandlerInterface::open().

Parâmetros

save_path

O caminho para armazenar/recuperar a sessão.

session_name

O nome da sessão.

Valor Retornado

O valor retornado (geralmente true no sucesso, false em falha). Note que esse valor é retornado internamente ao PHP para processamento.

Veja Também

  • session.auto-start (diretiva de configuração).


Lê os dados de sessão

  • « SessionHandler::open
  • SessionHandler::write »
  • PHP Manual
  • SessionHandler
  • Lê os dados de sessão

SessionHandler::read

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::read — Lê os dados de sessão

Descrição

public SessionHandler::read ( string $session_id ) : string

Lê os dados de sessão do armazenamento de sessão e retorna o resultado de volta para o PHP para processamento interno. Este método é chamado automaticamente pelo PHP quando uma sessão é iniciada (quer seja de forma automática ou explicitamente com session_start()) e é precedida por uma chamada interna de SessionHandler::open().

Este método envolve o manipulador interno de gravação do PHP definido na configuração ini session.save_handler que foi definido antes deste manipulador ser ativado por session_set_save_handler().

Se esta classe for estendida por herança, chamar o método read da classe pai invocará a função que envolve este método, portanto invocará o callback interno. Isto permite que esse método seja substituído ou interceptado e filtrado (por exemplo, descriptografar o valor de $data retornado pelo método read da classe pai).

Para mais informações relacionadas ao que é esperado que este método faça, por favor leia a documentação de SessionHandlerInterface::read().

Parâmetros

session_id

O id da sessão onde deve ser feita a leitura dos dados.

Valor Retornado

Retorna uma string, codificada, dos dados lidos. Se nada foi lido, deve retornar uma string vazia. Note que este valor é retornado internamente pelo PHP para processamento.

Veja Também

  • session.serialize_handler (diretiva de configuração).


Escreve os dados de sessão

  • « SessionHandler::read
  • SessionHandlerInterface »
  • PHP Manual
  • SessionHandler
  • Escreve os dados de sessão

SessionHandler::write

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::write — Escreve os dados de sessão

Descrição

public SessionHandler::write ( string $session_id , string $session_data ) : bool

Escreve os dados de sessão no armazenamento de sessão. Chamada na finalização normal do PHP; por session_write_close(); ou quando session_register_shutdown() falha. O PHP chamará SessionHandler::close() imediatamente depois que este método retornar.

Este método envolve o manipulador interno de gravação do PHP definido na configuração ini session.save_handler que foi definido antes deste manipulador ser ativado por session_set_save_handler().

Se esta classe for estendida por herança, chamar o método write da classe pai invocará a função que envolve este método, portanto invocará o callback interno. Isto permite que esse método seja substituído ou interceptado e filtrado (por exemplo, descriptografar o valor de $data antes de enviar para o método write da classe pai).

Para mais informações relacionadas ao que é esperado que este método faça, por favor leia a documentação de SessionHandlerInterface::write().

Parâmetros

session_id

O id da sessão.

session_data

Os dados de sessão codificados. Esta informação é o resultado codificado internamente pelo PHP da super global $_SESSION em uma string serializada e passada como este parâmetro. Note que sessões usam um método alternativo de serialização.

Valor Retornado

O valor retornado (geralmente true no sucesso, false em falha). Note que esse valor é retornado internamente ao PHP para processamento.

Veja Também

  • session.serialize_handler (diretiva de configuração).


A classe SessionHandlerInterface

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Introdução

SessionHandlerInterface é uma interface que define um protótipo para criar um manipulador de sessão personalizado. Para passar um manipulador de sessão personalizado para session_set_save_handler() usando invocação Orientada à Objetos, a classe deve implementar esta interface.

Note que os métodos de callbacks desta classe são projetos para serem chamados internamente pelo PHP e não para serem chamados pelo código do usuário.

Sinopse da classe

SessionHandlerInterface {
/* Métodos */
abstract public close ( ) : bool
abstract public destroy ( string $session_id ) : bool
abstract public gc ( int $maxlifetime ) : bool
abstract public open ( string $save_path , string $session_name ) : bool
abstract public read ( string $session_id ) : string
abstract public write ( string $session_id , string $session_data ) : bool
}

Exemplo #1 Exemplo usando SessionHandlerInterface

O exemplo a seguir apresenta um armazenamento de sessão baseada em arquivos semelhante aos manipuladores de gravação de sessão padrões do PHP files. Este exemplo poderia ser facilmente estendido para cobrir armazenamento em banco de dados usando sua engine de banco de dados favorita que seja suportada pelo PHP.

Note que é usado orientação à objetos com session_set_save_handler() e a função de encerramento (register_shutdown) é registrada usando sua respectiva flag. Isto é aconselhável ao registrar objetos como manipuladores de gravação de sessão.

<?php
class MySessionHandler implements SessionHandlerInterface
{
    private $savePath;

    public function open($savePath, $sessionName)
    {
        $this->savePath = $savePath;
        if (!is_dir($this->savePath)) {
            mkdir($this->savePath, 0777);
        }

        return true;
    }

    public function close()
    {
        return true;
    }

    public function read($id)
    {
        return (string)@file_get_contents("$this->savePath/sess_$id");
    }

    public function write($id, $data)
    {
        return file_put_contents("$this->savePath/sess_$id", $data) === false ? false : true;
    }

    public function destroy($id)
    {
        $file = "$this->savePath/sess_$id";
        if (file_exists($file)) {
            unlink($file);
        }

        return true;
    }

    public function gc($maxlifetime)
    {
        foreach (glob("$this->savePath/sess_*") as $file) {
            if (filemtime($file) + $maxlifetime < time() && file_exists($file)) {
                unlink($file);
            }
        }

        return true;
    }
}

$handler = new MySessionHandler();
session_set_save_handler($handler, true);
session_start();

// proceder para definir e recuperar valores pela chave de $_SESSION

Índice

  • SessionHandlerInterface::close — Fecha a sessão
  • SessionHandlerInterface::destroy — Destrói uma sessão
  • SessionHandlerInterface::gc — Remove sessões antigas
  • SessionHandlerInterface::open — Inicializa uma sessão
  • SessionHandlerInterface::read — Lê os dados de sessão
  • SessionHandlerInterface::write — Escreve os dados de sessão


Fecha a sessão

  • « SessionHandlerInterface
  • SessionHandlerInterface::destroy »
  • PHP Manual
  • SessionHandlerInterface
  • Fecha a sessão

SessionHandlerInterface::close

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::close — Fecha a sessão

Descrição

abstract public SessionHandlerInterface::close ( ) : bool

Fecha a sessão atual. Esta função é executada automaticamente quando a sessão é fechada ou explicitamente com session_write_close().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O valor retornado (geralmente true no sucesso, false em falha). Note que esse valor é retornado internamente ao PHP para processamento.


Destrói uma sessão

  • « SessionHandlerInterface::close
  • SessionHandlerInterface::gc »
  • PHP Manual
  • SessionHandlerInterface
  • Destrói uma sessão

SessionHandlerInterface::destroy

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::destroy — Destrói uma sessão

Descrição

abstract public SessionHandlerInterface::destroy ( string $session_id ) : bool

Destrói uma sessão. Chamada por session_regenerate_id() (se $destroy = true), session_destroy() e quando session_decode() falhar.

Parâmetros

session_id

O ID da sessão a ser destruída.

Valor Retornado

O valor retornado (geralmente true no sucesso, false em falha). Note que esse valor é retornado internamente ao PHP para processamento.


Remove sessões antigas

  • « SessionHandlerInterface::destroy
  • SessionHandlerInterface::open »
  • PHP Manual
  • SessionHandlerInterface
  • Remove sessões antigas

SessionHandlerInterface::gc

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::gc — Remove sessões antigas

Descrição

abstract public SessionHandlerInterface::gc ( int $maxlifetime ) : bool

Remove sessões expiradas. Chamada por session_start(), baseado nas configurações session.gc_divisor, session.gc_probability e session.gc_maxlifetime.

Parâmetros

maxlifetime

Sessões que não foram atualizados nos últimos maxlifetime segundos serão removidas.

Valor Retornado

O valor retornado (geralmente true no sucesso, false em falha). Note que esse valor é retornado internamente ao PHP para processamento.


Inicializa uma sessão

  • « SessionHandlerInterface::gc
  • SessionHandlerInterface::read »
  • PHP Manual
  • SessionHandlerInterface
  • Inicializa uma sessão

SessionHandlerInterface::open

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::open — Inicializa uma sessão

Descrição

abstract public SessionHandlerInterface::open ( string $save_path , string $session_name ) : bool

Reinicializa uma sessão existente ou cria uma nova. Chamada quando uma sessão inicia ou quando session_start() é invocada.

Parâmetros

save_path

O caminho para armazenar/recuperar a sessão.

session_name

O nome da sessão.

Valor Retornado

O valor retornado (geralmente true no sucesso, false em falha). Note que esse valor é retornado internamente ao PHP para processamento.

Veja Também

  • session_name() - Obtém e/ou define o nome da sessão atual
  • session.auto-start (diretiva de configuração).


Lê os dados de sessão

  • « SessionHandlerInterface::open
  • SessionHandlerInterface::write »
  • PHP Manual
  • SessionHandlerInterface
  • Lê os dados de sessão

SessionHandlerInterface::read

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::read — Lê os dados de sessão

Descrição

abstract public SessionHandlerInterface::read ( string $session_id ) : string

Lê os dados de sessão do armazenamento de sessão e retorna os resultados. Chamada logo depois que a sessão inicia ou quando session_start() é chamada. Note que antes desse método ser chamado, o método SessionHandlerInterface::open() é invocado.

Este método é chamado pelo próprio PHP quando uma sessão é iniciada. Este método deve recuperar os dados de sessão do armazenamento de sessão relacionados ao ID de sessão fornecido. A string retornada por este método deve estar no mesmo formato de serialização de quando ela foi originalmente passada para SessionHandlerInterface::write(). Se a informação não for encontrada, retorne uma string vazia.

Os dados retornados por este método serão decodificados internamente pelo PHP usando o método de deserialização especificado em session.serialize_handler. Os dados resultantes serão usados para preencher a super global $_SESSION.

Note que o esquema de serialização não é o mesmo que unserialize() e pode ser acessado por session_decode().

Parâmetros

session_id

O id da sessão.

Valor Retornado

Retorna uma string codificada dos dados lidos. Se nada foi lido, então deve retornar uma string vazia. Note que este valor é retornado internamente para o PHP para processamento.

Veja Também

  • session.serialize_handler (diretiva de configuração).


Escreve os dados de sessão

  • « SessionHandlerInterface::read
  • Processamento de Texto »
  • PHP Manual
  • SessionHandlerInterface
  • Escreve os dados de sessão

SessionHandlerInterface::write

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::write — Escreve os dados de sessão

Descrição

abstract public SessionHandlerInterface::write ( string $session_id , string $session_data ) : bool

Escreve os dados de sessão no armazenamento de sessão. Chamada por session_write_close(), quando session_register_shutdown() falhar ou na finalização normal. Note que o método SessionHandlerInterface::close() é chamado imediatamente depois desta função.

O PHP chamará este método quando a sessão estiver pronta para salvar e fechar. O PHP codifica os dados da super global $_SESSION em uma string serializada e passa o resultado junto com o ID de sessão à este método para armazenamento. O método de serialização usado é especificado na configuração session.serialize_handler.

Note que este método normalmente é chamado pelo PHP depois que o buffer de saída é fechado, a não ser que ele seja chamado explicitamente por session_write_close()

Parâmetros

session_id

O id da sessão.

session_data

Os dados de sessão codificados. Esta informação é o resultado codificado internamente pelo PHP da super global $_SESSION em uma string serializada e passada como este parâmetro. Note que sessões usam um método alternativo de serialização.

Valor Retornado

O valor retornado (geralmente true no sucesso, false em falha). Note que esse valor é retornado internamente ao PHP para processamento.

Veja Também

  • session.serialize_handler (diretiva de configuração).


Processamento de Texto

  • CommonMark
    • Introdução
    • Instalação/Configuração
    • CommonMark\Node\Document — Document concrete CommonMark\Node
    • CommonMark\Node\Heading — Heading concrete CommonMark\Node
    • CommonMark\Node\Paragraph — Paragraph concrete CommonMark\Node
    • CommonMark\Node\BlockQuote — BlockQuote concrete CommonMark\Node
    • CommonMark\Node\BulletList — BulletList concrete CommonMark\Node
    • CommonMark\Node\OrderedList — OrderedList concrete CommonMark\Node
    • CommonMark\Node\Item — Item concrete CommonMark\Node
    • CommonMark\Node\Text — Text concrete CommonMark\Node
    • CommonMark\Node\Text\Strong — Strong concrete CommonMark\Node
    • CommonMark\Node\Text\Emphasis — Emphasis concrete CommonMark\Node
    • CommonMark\Node\ThematicBreak — ThematicBreak concrete CommonMark\Node
    • CommonMark\Node\SoftBreak — SoftBreak concrete CommonMark\Node
    • CommonMark\Node\LineBreak — LineBreak concrete CommonMark\Node
    • CommonMark\Node\Code — Code concrete CommonMark\Node
    • CommonMark\Node\CodeBlock — CodeBlock concrete CommonMark\Node
    • CommonMark\Node\HTMLBlock — HTMLBlock concrete CommonMark\Node
    • CommonMark\Node\HTMLInline — HTMLInline concrete CommonMark\Node
    • CommonMark\Node\Image — Image concrete CommonMark\Node
    • CommonMark\Node\Link — Link concrete CommonMark\Node
    • CommonMark\Node\CustomBlock — CustomBlock concrete CommonMark\Node
    • CommonMark\Node\CustomInline — CustomInline concrete CommonMark\Node
    • CommonMark\Node — Abstract CommonMark\Node
    • CommonMark\Interfaces\IVisitor — The CommonMark\Interfaces\IVisitor interface
    • CommonMark\Interfaces\IVisitable — The CommonMark\Interfaces\IVisitable interface
    • CommonMark\Parser — The CommonMark\Parser class
    • CommonMark\CQL — The CommonMark\CQL class
    • CommonMark Funções
  • Parle — Parsing and lexing
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Pattern matching — Parle pattern matching
    • Exemplos
    • Parle\Lexer — The Parle\Lexer class
    • Parle\RLexer — The Parle\RLexer class
    • Parle\Parser — The Parle\Parser class
    • Parle\RParser — The Parle\RParser class
    • Parle\Stack — The Parle\Stack class
    • Parle\Token — The Parle\Token class
    • Parle\ErrorInfo — The Parle\ErrorInfo class
    • Parle\LexerException — The Parle\LexerException class
    • Parle\ParserException — The Parle\ParserException class
  • PCRE — Expressões Regulares (Compatíveis com Perl)
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Padrões PCRE
    • Funções da PCRE
  • POSIX Regex — Expressão Regular (POSIX Extended)
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções para Regex POSIX
  • ssdeep — ssdeep Fuzzy Hashing
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • ssdeep Funções
  • Strings
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções para String
    • Changelog


CommonMark

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
  • CommonMark\Node\Document — Document concrete CommonMark\Node
  • CommonMark\Node\Heading — Heading concrete CommonMark\Node
    • CommonMark\Node\Heading::__construct — Heading Construction
  • CommonMark\Node\Paragraph — Paragraph concrete CommonMark\Node
  • CommonMark\Node\BlockQuote — BlockQuote concrete CommonMark\Node
  • CommonMark\Node\BulletList — BulletList concrete CommonMark\Node
    • CommonMark\Node\BulletList::__construct — BulletList Construction
  • CommonMark\Node\OrderedList — OrderedList concrete CommonMark\Node
    • CommonMark\Node\OrderedList::__construct — OrderedList Construction
  • CommonMark\Node\Item — Item concrete CommonMark\Node
  • CommonMark\Node\Text — Text concrete CommonMark\Node
    • CommonMark\Node\Text::__construct — Text Construction
  • CommonMark\Node\Text\Strong — Strong concrete CommonMark\Node
  • CommonMark\Node\Text\Emphasis — Emphasis concrete CommonMark\Node
  • CommonMark\Node\ThematicBreak — ThematicBreak concrete CommonMark\Node
  • CommonMark\Node\SoftBreak — SoftBreak concrete CommonMark\Node
  • CommonMark\Node\LineBreak — LineBreak concrete CommonMark\Node
  • CommonMark\Node\Code — Code concrete CommonMark\Node
  • CommonMark\Node\CodeBlock — CodeBlock concrete CommonMark\Node
    • CommonMark\Node\CodeBlock::__construct — CodeBlock Construction
  • CommonMark\Node\HTMLBlock — HTMLBlock concrete CommonMark\Node
  • CommonMark\Node\HTMLInline — HTMLInline concrete CommonMark\Node
  • CommonMark\Node\Image — Image concrete CommonMark\Node
    • CommonMark\Node\Image::__construct — Image Construction
  • CommonMark\Node\Link — Link concrete CommonMark\Node
    • CommonMark\Node\Link::__construct — Link Construction
  • CommonMark\Node\CustomBlock — CustomBlock concrete CommonMark\Node
  • CommonMark\Node\CustomInline — CustomInline concrete CommonMark\Node
  • CommonMark\Node — Abstract CommonMark\Node
    • CommonMark\Node::appendChild — AST Manipulation
    • CommonMark\Node::prependChild — AST Manipulation
    • CommonMark\Node::insertAfter — AST Manipulation
    • CommonMark\Node::insertBefore — AST Manipulation
    • CommonMark\Node::replace — AST Manipulation
    • CommonMark\Node::unlink — AST Manipulation
    • CommonMark\Node::accept — Visitation
  • CommonMark\Interfaces\IVisitor — The CommonMark\Interfaces\IVisitor interface
    • CommonMark\Interfaces\IVisitor::enter — Visitation
    • CommonMark\Interfaces\IVisitor::leave — Visitation
  • CommonMark\Interfaces\IVisitable — The CommonMark\Interfaces\IVisitable interface
    • CommonMark\Interfaces\IVisitable::accept — Visitation
  • CommonMark\Parser — The CommonMark\Parser class
    • CommonMark\Parser::__construct — Parsing
    • CommonMark\Parser::parse — Parsing
    • CommonMark\Parser::finish — Parsing
  • CommonMark\CQL — The CommonMark\CQL class
    • CommonMark\CQL::__construct — CQL Construction
    • CommonMark\CQL::__invoke — CQL Execution
  • CommonMark Funções
    • CommonMark\Parse — Parsing
    • CommonMark\Render — Rendering
    • CommonMark\Render\HTML — Rendering
    • CommonMark\Render\Latex — Rendering
    • CommonMark\Render\Man — Rendering
    • CommonMark\Render\XML — Rendering


Introdução

This extension provides access to the reference implementation of CommonMark, a rationalized version of Markdown syntax with a specification.

Parsing:

The CommonMark extension provides a simple parsing API:

CommonMark\Parse ( string $content , int $options = ? ) : CommonMark\Node

Rendering:

The CommonMark extension provides simple rendering API that supports multiple formats:

CommonMark\Render ( CommonMark\Node $node , int $options = ? , int $width = ? ) : string
CommonMark\Render\HTML ( CommonMark\Node $node , int $options = ? ) : string
CommonMark\Render\XML ( CommonMark\Node $node , int $options = ? ) : string
CommonMark\Render\Man ( CommonMark\Node $node , int $options = ? , int $width = ? ) : string
CommonMark\Render\Latex ( CommonMark\Node $node , int $options = ? , int $width = ? ) : string

AST:

The CommonMark extension implements visitation for CommonMark\Node objects:

public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void

CQL:

The CommonMark extension provides an interface to CQL, CommonMark Query Language:

public CommonMark\CQL::__construct ( string $query )


  • « Introdução
  • Dependências »
  • PHP Manual
  • CommonMark
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

The CommonMark extension requires the (C) reference implementation of » cmark.


Instalação

The CommonMark extension releases are hosted by PECL and source is hosted on » github, the easiest route to installation is the normal PECL route: » https://pecl.php.net/package/cmark.

Windows users can download prebuilt release binaries from the » PECL website.

Cuidado

Windows users need to take the additional step of adding cmark.dll (distributed with Windows releases) to their PATH.


Document concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\Document extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


Heading concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\Heading extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Propriedades */
public int $level ;
/* Constructor */
public __construct ( )
public __construct ( int $level )
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}

Índice

  • CommonMark\Node\Heading::__construct — Heading Construction


Heading Construction

  • « CommonMark\Node\Heading
  • CommonMark\Node\Paragraph »
  • PHP Manual
  • CommonMark\Node\Heading
  • Heading Construction

CommonMark\Node\Heading::__construct

(cmark >= 1.0.0)

CommonMark\Node\Heading::__construct — Heading Construction

Descrição

public CommonMark\Node\Heading::__construct ( )
public CommonMark\Node\Heading::__construct ( int $level )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.


Paragraph concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\Paragraph extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


BlockQuote concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\BlockQuote extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


BulletList concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\BulletList extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Propriedades */
public bool $tight ;
public int $delimiter ;
/* Constructor */
public __construct ( )
public __construct ( int $tight )
public __construct ( int $tight , int $delimiter )
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}

Índice

  • CommonMark\Node\BulletList::__construct — BulletList Construction


BulletList Construction

  • « CommonMark\Node\BulletList
  • CommonMark\Node\OrderedList »
  • PHP Manual
  • CommonMark\Node\BulletList
  • BulletList Construction

CommonMark\Node\BulletList::__construct

(cmark >= 1.0.0)

CommonMark\Node\BulletList::__construct — BulletList Construction

Descrição

public CommonMark\Node\BulletList::__construct ( )
public CommonMark\Node\BulletList::__construct ( int $tight )
public CommonMark\Node\BulletList::__construct ( int $tight , int $delimiter )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.


OrderedList concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\OrderedList extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Propriedades */
public bool $tight ;
public int $delimiter ;
public int $start ;
/* Constructor */
public __construct ( )
public __construct ( int $tight )
public __construct ( int $tight , int $delimiter )
public __construct ( int $tight , int $delimiter , int $start )
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}

Índice

  • CommonMark\Node\OrderedList::__construct — OrderedList Construction


OrderedList Construction

  • « CommonMark\Node\OrderedList
  • CommonMark\Node\Item »
  • PHP Manual
  • CommonMark\Node\OrderedList
  • OrderedList Construction

CommonMark\Node\OrderedList::__construct

(cmark >= 1.0.0)

CommonMark\Node\OrderedList::__construct — OrderedList Construction

Descrição

public CommonMark\Node\OrderedList::__construct ( )
public CommonMark\Node\OrderedList::__construct ( int $tight )
public CommonMark\Node\OrderedList::__construct ( int $tight , int $delimiter )
public CommonMark\Node\OrderedList::__construct ( int $tight , int $delimiter , int $start )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

tight

delimiter

start


Item concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\Item extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


Text concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\Text extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Propriedades */
public string|null $literal ;
/* Constructor */
public __construct ( )
public __construct ( string $literal )
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}

Índice

  • CommonMark\Node\Text::__construct — Text Construction


Text Construction

  • « CommonMark\Node\Text
  • CommonMark\Node\Text\Strong »
  • PHP Manual
  • CommonMark\Node\Text
  • Text Construction

CommonMark\Node\Text::__construct

(cmark >= 1.0.0)

CommonMark\Node\Text::__construct — Text Construction

Descrição

public CommonMark\Node\Text::__construct ( )
public CommonMark\Node\Text::__construct ( string $literal )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

literal


Strong concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\Text\Strong extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


Emphasis concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\Text\Emphasis extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


ThematicBreak concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\ThematicBreak extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


SoftBreak concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\SoftBreak extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


LineBreak concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\LineBreak extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


Code concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\Code extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
public string|null $literal ;
/* Constructor */
public CommonMark\Node\Text::__construct ( )
public CommonMark\Node\Text::__construct ( string $literal )
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


CodeBlock concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\CodeBlock extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
public string|null $literal ;
/* Propriedades */
public string|null $fence ;
/* Constructor */
public CommonMark\Node\Text::__construct ( )
public CommonMark\Node\Text::__construct ( string $literal )
public __construct ( string $fence , string $literal )
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}

Índice

  • CommonMark\Node\CodeBlock::__construct — CodeBlock Construction


CodeBlock Construction

  • « CommonMark\Node\CodeBlock
  • CommonMark\Node\HTMLBlock »
  • PHP Manual
  • CommonMark\Node\CodeBlock
  • CodeBlock Construction

CommonMark\Node\CodeBlock::__construct

(cmark >= 1.0.0)

CommonMark\Node\CodeBlock::__construct — CodeBlock Construction

Descrição

public CommonMark\Node\CodeBlock::__construct ( string $fence , string $literal )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

fence

literal


HTMLBlock concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\HTMLBlock extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
public string|null $literal ;
/* Constructor */
public CommonMark\Node\Text::__construct ( )
public CommonMark\Node\Text::__construct ( string $literal )
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


HTMLInline concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\HTMLInline extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
public string|null $literal ;
/* Constructor */
public CommonMark\Node\Text::__construct ( )
public CommonMark\Node\Text::__construct ( string $literal )
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


Image concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\Image extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Propriedades */
public string|null $url ;
public string|null $title ;
/* Constructor */
public __construct ( )
public __construct ( string $url )
public __construct ( string $url , string $title )
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}

Índice

  • CommonMark\Node\Image::__construct — Image Construction


Image Construction

  • « CommonMark\Node\Image
  • CommonMark\Node\Link »
  • PHP Manual
  • CommonMark\Node\Image
  • Image Construction

CommonMark\Node\Image::__construct

(cmark >= 1.0.0)

CommonMark\Node\Image::__construct — Image Construction

Descrição

public CommonMark\Node\Image::__construct ( )
public CommonMark\Node\Image::__construct ( string $url )
public CommonMark\Node\Image::__construct ( string $url , string $title )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

url

title


Link concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\Link extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Propriedades */
public string|null $url ;
public string|null $title ;
/* Constructor */
public __construct ( )
public __construct ( string $url )
public __construct ( string $url , string $title )
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}

Índice

  • CommonMark\Node\Link::__construct — Link Construction


Link Construction

  • « CommonMark\Node\Link
  • CommonMark\Node\CustomBlock »
  • PHP Manual
  • CommonMark\Node\Link
  • Link Construction

CommonMark\Node\Link::__construct

(cmark >= 1.0.0)

CommonMark\Node\Link::__construct — Link Construction

Descrição

public CommonMark\Node\Link::__construct ( )
public CommonMark\Node\Link::__construct ( string $url )
public CommonMark\Node\Link::__construct ( string $url , string $title )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

url

title


CustomBlock concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\CustomBlock extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Propriedades */
public string|null $onEnter ;
public string|null $onLeave ;
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


CustomInline concrete CommonMark\Node

(cmark >= 1.0.0)

Sinopse da classe

final CommonMark\Node\CustomInline extends CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades herdadas */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Propriedades */
public string|null $onEnter ;
public string|null $onLeave ;
/* Métodos herdados */
public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node
public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node
public CommonMark\Node::unlink ( ) : void
public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}


Abstract CommonMark\Node

(cmark >= 1.0.0)

Introdução

Represents an Abstract Node, this final abstract is not for direct use by the programmer.

Sinopse da classe

final abstract CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Propriedades */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Métodos */
public appendChild ( CommonMark\Node $child ) : CommonMark\Node
public prependChild ( CommonMark\Node $child ) : CommonMark\Node
public insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node
public insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node
public replace ( CommonMark\Node $target ) : CommonMark\Node
public unlink ( ) : void
public accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}

Índice

  • CommonMark\Node::appendChild — AST Manipulation
  • CommonMark\Node::prependChild — AST Manipulation
  • CommonMark\Node::insertAfter — AST Manipulation
  • CommonMark\Node::insertBefore — AST Manipulation
  • CommonMark\Node::replace — AST Manipulation
  • CommonMark\Node::unlink — AST Manipulation
  • CommonMark\Node::accept — Visitation


AST Manipulation

  • « CommonMark\Node
  • CommonMark\Node::prependChild »
  • PHP Manual
  • CommonMark\Node
  • AST Manipulation

CommonMark\Node::appendChild

(cmark >= 1.0.0)

CommonMark\Node::appendChild — AST Manipulation

Descrição

public CommonMark\Node::appendChild ( CommonMark\Node $child ) : CommonMark\Node

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

child

Valor Retornado


AST Manipulation

  • « CommonMark\Node::appendChild
  • CommonMark\Node::insertAfter »
  • PHP Manual
  • CommonMark\Node
  • AST Manipulation

CommonMark\Node::prependChild

(cmark >= 1.0.0)

CommonMark\Node::prependChild — AST Manipulation

Descrição

public CommonMark\Node::prependChild ( CommonMark\Node $child ) : CommonMark\Node

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

child

Valor Retornado


AST Manipulation

  • « CommonMark\Node::prependChild
  • CommonMark\Node::insertBefore »
  • PHP Manual
  • CommonMark\Node
  • AST Manipulation

CommonMark\Node::insertAfter

(cmark >= 1.0.0)

CommonMark\Node::insertAfter — AST Manipulation

Descrição

public CommonMark\Node::insertAfter ( CommonMark\Node $sibling ) : CommonMark\Node

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

sibling

Valor Retornado


AST Manipulation

  • « CommonMark\Node::insertAfter
  • CommonMark\Node::replace »
  • PHP Manual
  • CommonMark\Node
  • AST Manipulation

CommonMark\Node::insertBefore

(cmark >= 1.0.0)

CommonMark\Node::insertBefore — AST Manipulation

Descrição

public CommonMark\Node::insertBefore ( CommonMark\Node $sibling ) : CommonMark\Node

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

sibling

Valor Retornado


AST Manipulation

  • « CommonMark\Node::insertBefore
  • CommonMark\Node::unlink »
  • PHP Manual
  • CommonMark\Node
  • AST Manipulation

CommonMark\Node::replace

(cmark >= 1.0.0)

CommonMark\Node::replace — AST Manipulation

Descrição

public CommonMark\Node::replace ( CommonMark\Node $target ) : CommonMark\Node

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

target

Valor Retornado


AST Manipulation

  • « CommonMark\Node::replace
  • CommonMark\Node::accept »
  • PHP Manual
  • CommonMark\Node
  • AST Manipulation

CommonMark\Node::unlink

(cmark >= 1.0.0)

CommonMark\Node::unlink — AST Manipulation

Descrição

public CommonMark\Node::unlink ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Visitation

  • « CommonMark\Node::unlink
  • CommonMark\Interfaces\IVisitor »
  • PHP Manual
  • CommonMark\Node
  • Visitation

CommonMark\Node::accept

(cmark >= 1.0.0)

CommonMark\Node::accept — Visitation

Descrição

public CommonMark\Node::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void

Parâmetros

visitor

An object implementing CommonMark\Interfaces\IVisitor

Veja Também

  • CommonMark\Interfaces\IVisitor::enter
  • CommonMark\Interfaces\IVisitor::leave


The CommonMark\Interfaces\IVisitor interface

(cmark >= 1.0.0)

Introdução

Sinopse da classe

final CommonMark\Interfaces\IVisitor {
/* Constants */
const int Done ;
const int Enter ;
const int Leave ;
/* Métodos */
abstract public enter ( IVisitable $visitable ) : int|IVisitable|null
abstract public leave ( IVisitable $visitable ) : int|IVisitable|null
}

Índice

  • CommonMark\Interfaces\IVisitor::enter — Visitation
  • CommonMark\Interfaces\IVisitor::leave — Visitation


Visitation

  • « CommonMark\Interfaces\IVisitor
  • CommonMark\Interfaces\IVisitor::leave »
  • PHP Manual
  • CommonMark\Interfaces\IVisitor
  • Visitation

CommonMark\Interfaces\IVisitor::enter

(cmark >= 1.0.0)

CommonMark\Interfaces\IVisitor::enter — Visitation

Descrição

abstract public CommonMark\Interfaces\IVisitor::enter ( IVisitable $visitable ) : int|IVisitable|null

Parâmetros

visitable

The current CommonMark\Interfaces\IVisitable being entered

Valor Retornado

Returning CommonMark\Interfaces\IVisitor::Done will cause the backing iterator to exit.

Returning CommonMark\Interfaces\IVisitor::Enter will reset the backing iterator at entering the current IVisitable

Returning CommonMark\Interfaces\IVisitor::Leave will reset the backing iterator at exiting the current IVisitable

Returning an IVisitable will reset the backing iterator at entering the given IVisitable

Returning nothing will allow the backing iterator to continue

Veja Também

  • CommonMark\Interfaces\IVisitable::accept


Visitation

  • « CommonMark\Interfaces\IVisitor::enter
  • CommonMark\Interfaces\IVisitable »
  • PHP Manual
  • CommonMark\Interfaces\IVisitor
  • Visitation

CommonMark\Interfaces\IVisitor::leave

(cmark >= 1.0.0)

CommonMark\Interfaces\IVisitor::leave — Visitation

Descrição

abstract public CommonMark\Interfaces\IVisitor::leave ( IVisitable $visitable ) : int|IVisitable|null

Parâmetros

visitable

The current CommonMark\Interfaces\IVisitable being exited

Valor Retornado

Returning CommonMark\Interfaces\IVisitor::Done will cause the backing iterator to exit.

Returning CommonMark\Interfaces\IVisitor::Enter will reset the backing iterator at entering the current IVisitable

Returning CommonMark\Interfaces\IVisitor::Leave will reset the backing iterator at exiting the current IVisitable

Returning an IVisitable will reset the backing iterator at exiting the given IVisitable

Returning nothing will allow the backing iterator to continue

Veja Também

  • CommonMark\Interfaces\IVisitable::accept


The CommonMark\Interfaces\IVisitable interface

(cmark >= 1.0.0)

Introdução

Sinopse da classe

final CommonMark\Interfaces\IVisitable {
abstract public accept ( CommonMark\Interfaces\IVisitor $visitor ) : void
}

Índice

  • CommonMark\Interfaces\IVisitable::accept — Visitation


Visitation

  • « CommonMark\Interfaces\IVisitable
  • CommonMark\Parser »
  • PHP Manual
  • CommonMark\Interfaces\IVisitable
  • Visitation

CommonMark\Interfaces\IVisitable::accept

(cmark >= 1.0.0)

CommonMark\Interfaces\IVisitable::accept — Visitation

Descrição

abstract public CommonMark\Interfaces\IVisitable::accept ( CommonMark\Interfaces\IVisitor $visitor ) : void

Parâmetros

visitor

An object implementing CommonMark\Interfaces\IVisitor

Veja Também

  • CommonMark\Interfaces\IVisitor::enter
  • CommonMark\Interfaces\IVisitor::leave


The CommonMark\Parser class

(cmark >= 1.0.0)

Introdução

Provides an incremental parser as an alternative to the simple Parsing API function

Sinopse da classe

final CommonMark\Parser {
/* Constructor */
public __construct ( int $options = ? )
/* Métodos */
public parse ( string $buffer ) : void
public finish ( ) : CommonMark\Node
}

Índice

  • CommonMark\Parser::__construct — Parsing
  • CommonMark\Parser::parse — Parsing
  • CommonMark\Parser::finish — Parsing


Parsing

  • « CommonMark\Parser
  • CommonMark\Parser::parse »
  • PHP Manual
  • CommonMark\Parser
  • Parsing

CommonMark\Parser::__construct

(cmark >= 1.0.0)

CommonMark\Parser::__construct — Parsing

Descrição

public CommonMark\Parser::__construct ( int $options = ? )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

options

A mask of:

CommonMark\Parser\Normal (int)
CommonMark\Parser\Normalize (int)
CommonMark\Parser\ValidateUTF8 (int)
CommonMark\Parser\Smart (int)


Parsing

  • « CommonMark\Parser::__construct
  • CommonMark\Parser::finish »
  • PHP Manual
  • CommonMark\Parser
  • Parsing

CommonMark\Parser::parse

(cmark >= 1.0.0)

CommonMark\Parser::parse — Parsing

Descrição

public CommonMark\Parser::parse ( string $buffer ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

buffer

Valor Retornado


Parsing

  • « CommonMark\Parser::parse
  • CommonMark\CQL »
  • PHP Manual
  • CommonMark\Parser
  • Parsing

CommonMark\Parser::finish

(cmark >= 1.0.0)

CommonMark\Parser::finish — Parsing

Descrição

public CommonMark\Parser::finish ( ) : CommonMark\Node

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


The CommonMark\CQL class

(cmark >= 1.1.0)

Introdução

CommonMark Query Language is a DSL for describing how to travel through a CommonMark Node tree implemented as a parser and compiler for a small set of instructions, and a virtual machine for executing those instructions.

Paths:

In it's most simplistic form, a CQL query combines the following paths and / to describe how to travel through a tree:

  • firstChild
  • lastChild
  • previous
  • next
  • parent
For example, /firstChild/lastChild would travel to the last child node of the first child node.

Loops

CQL can be instructed to loop, for example through the children of, or siblings to a particular node, by using the path children, or siblings. For example, /firstChild/children will travel to all the children of the first child node.

Subqueries

CQL can be instructed how to travel by using a subquery like [/firstChild]. For example, /firstChild/children[/firstChild] will travel to the first child node of all the children of the first child node.

Loop Constraints

While looping, CQL can be instructed to constrict the travelled path to nodes of particular type. For example /children(BlockQuote) will travel to the children of a node where the type is BlockQuote. The following types are recognized (case insensitively):

  • BlockQuote
  • List
  • Item
  • CodeBlock
  • HtmlBlock
  • CustomBlock
  • Paragraph
  • Heading
  • ThematicBreak
  • Text
  • SoftBreak
  • LineBreak
  • Code
  • HtmlInline
  • CustomInline
  • Emphasis
  • Strong
  • Link
  • Image
Types may be used as a union, for example /children(BlockQuote|List) will travel to the children of a node where the type is BlockQuote or List. Types, or unions of types, may be also negated. For example /children(~BlockQuote) will travel to the children of a node where the type is not BlockQuote, and /children(~BlockQuote|Paragraph) will travel to the children of a node where the type is not BlockQuote or Paragraph

Path Constraints

CQL can be instructed to create a loop to travel to a node of a particular type, at a particular path. For example, /firstChild(BlockQuote) will travel to the first child node where the type is BlockQuote. Note that like other loops for children and siblings, this kind of path can only be followed by a subquery.

Implementation Notes

While CQL has been implemented as part of the PHP CommonMark extension, it stands separately from PHP and does not use PHP's virtual machine or internal representation of values.

Sinopse da classe

CommonMark\CQL {
/* Constructor */
public __construct ( string $query )
/* Métodos */
public __invoke ( CommonMark\Node $root , callable $handler )
}

Índice

  • CommonMark\CQL::__construct — CQL Construction
  • CommonMark\CQL::__invoke — CQL Execution


CQL Construction

  • « CommonMark\CQL
  • CommonMark\CQL::__invoke »
  • PHP Manual
  • CommonMark\CQL
  • CQL Construction

CommonMark\CQL::__construct

(cmark >= 1.1.0)

CommonMark\CQL::__construct — CQL Construction

Descrição

public CommonMark\CQL::__construct ( string $query )

Parâmetros

query

a CQL string


CQL Execution

  • « CommonMark\CQL::__construct
  • CommonMark Funções »
  • PHP Manual
  • CommonMark\CQL
  • CQL Execution

CommonMark\CQL::__invoke

(cmark >= 1.1.0)

CommonMark\CQL::__invoke — CQL Execution

Descrição

public CommonMark\CQL::__invoke ( CommonMark\Node $root , callable $handler )

Shall invoke the current CQL function on the given root, executing the given handler on entry to a CommonMark\Node

Parâmetros

root

the root node of a tree

handler

should have the prototype:

handler ( CommonMark\Node $root , CommonMark\Node $entering ) : bool|null
  • Should handler fail to return (void), or return null, CQL will continue executing
  • Should the handler return a truthy value, CQL will continue executing.
  • Should the handler return a falsy value, CQL will stop executing


CommonMark Funções

Índice

  • CommonMark\Parse — Parsing
  • CommonMark\Render — Rendering
  • CommonMark\Render\HTML — Rendering
  • CommonMark\Render\Latex — Rendering
  • CommonMark\Render\Man — Rendering
  • CommonMark\Render\XML — Rendering


Parsing

  • « CommonMark Funções
  • CommonMark\Render »
  • PHP Manual
  • CommonMark Funções
  • Parsing

CommonMark\Parse

(cmark >= 1.0.0)

CommonMark\Parse — Parsing

Descrição

CommonMark\Parse ( string $content , int $options = ? ) : CommonMark\Node

Shall parse content

Parâmetros

content

markdown string

options

A mask of:

CommonMark\Parser\Normal (int)
CommonMark\Parser\Normalize (int)
CommonMark\Parser\ValidateUTF8 (int)
CommonMark\Parser\Smart (int)

Valor Retornado

Shall return root CommonMark\Node


Rendering

  • « CommonMark\Parse
  • CommonMark\Render\HTML »
  • PHP Manual
  • CommonMark Funções
  • Rendering

CommonMark\Render

(cmark >= 1.0.0)

CommonMark\Render — Rendering

Descrição

CommonMark\Render ( CommonMark\Node $node , int $options = ? , int $width = ? ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

node

options

A mask of:

CommonMark\Render\Normal (int)
CommonMark\Render\SourcePos (int)
CommonMark\Render\HardBreaks (int)
CommonMark\Render\Safe (int)
CommonMark\Render\NoBreaks (int)
width

Valor Retornado


Rendering

  • « CommonMark\Render
  • CommonMark\Render\Latex »
  • PHP Manual
  • CommonMark Funções
  • Rendering

CommonMark\Render\HTML

(cmark >= 1.0.0)

CommonMark\Render\HTML — Rendering

Descrição

CommonMark\Render\HTML ( CommonMark\Node $node , int $options = ? ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

node

options

A mask of:

CommonMark\Render\Normal (int)
CommonMark\Render\SourcePos (int)
CommonMark\Render\HardBreaks (int)
CommonMark\Render\Safe (int)
CommonMark\Render\NoBreaks (int)

Valor Retornado


Rendering

  • « CommonMark\Render\HTML
  • CommonMark\Render\Man »
  • PHP Manual
  • CommonMark Funções
  • Rendering

CommonMark\Render\Latex

(cmark >= 1.0.0)

CommonMark\Render\Latex — Rendering

Descrição

CommonMark\Render\Latex ( CommonMark\Node $node , int $options = ? , int $width = ? ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

node

options

A mask of:

CommonMark\Render\Normal (int)
CommonMark\Render\SourcePos (int)
CommonMark\Render\HardBreaks (int)
CommonMark\Render\Safe (int)
CommonMark\Render\NoBreaks (int)
width

Valor Retornado


Rendering

  • « CommonMark\Render\Latex
  • CommonMark\Render\XML »
  • PHP Manual
  • CommonMark Funções
  • Rendering

CommonMark\Render\Man

(cmark >= 1.0.0)

CommonMark\Render\Man — Rendering

Descrição

CommonMark\Render\Man ( CommonMark\Node $node , int $options = ? , int $width = ? ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

node

options

A mask of:

CommonMark\Render\Normal (int)
CommonMark\Render\SourcePos (int)
CommonMark\Render\HardBreaks (int)
CommonMark\Render\Safe (int)
CommonMark\Render\NoBreaks (int)
width

Valor Retornado


Rendering

  • « CommonMark\Render\Man
  • Parle »
  • PHP Manual
  • CommonMark Funções
  • Rendering

CommonMark\Render\XML

(cmark >= 1.0.0)

CommonMark\Render\XML — Rendering

Descrição

CommonMark\Render\XML ( CommonMark\Node $node , int $options = ? ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

node

options

A mask of:

CommonMark\Render\Normal (int)
CommonMark\Render\SourcePos (int)
CommonMark\Render\HardBreaks (int)
CommonMark\Render\Safe (int)
CommonMark\Render\NoBreaks (int)

Valor Retornado


Parsing and lexing

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
  • Constantes pré-definidas
  • Pattern matching — Parle pattern matching
    • Character representations
    • Character classes
    • Unicode character classes
    • Alternation and repetition
    • Anchors
    • Grouping
  • Exemplos
    • Lexer examples
    • Parser examples
  • Parle\Lexer — The Parle\Lexer class
    • Parle\Lexer::advance — Process next lexer rule
    • Parle\Lexer::build — Finalize the lexer rule set
    • Parle\Lexer::callout — Define token callback
    • Parle\Lexer::consume — Pass the data for processing
    • Parle\Lexer::dump — Dump the state machine
    • Parle\Lexer::getToken — Retrieve the current token
    • Parle\Lexer::insertMacro — Insert regex macro
    • Parle\Lexer::push — Add a lexer rule
    • Parle\Lexer::reset — Reset lexer
  • Parle\RLexer — The Parle\RLexer class
    • Parle\RLexer::advance — Process next lexer rule
    • Parle\RLexer::build — Finalize the lexer rule set
    • Parle\RLexer::callout — Define token callback
    • Parle\RLexer::consume — Pass the data for processing
    • Parle\RLexer::dump — Dump the state machine
    • Parle\RLexer::getToken — Retrieve the current token
    • Parle\RLexer::insertMacro — Insert regex macro
    • Parle\RLexer::push — Add a lexer rule
    • Parle\RLexer::pushState — Push a new start state
    • Parle\RLexer::reset — Reset lexer
  • Parle\Parser — The Parle\Parser class
    • Parle\Parser::advance — Process next parser rule
    • Parle\Parser::build — Finalize the grammar rules
    • Parle\Parser::consume — Consume the data for processing
    • Parle\Parser::dump — Dump the grammar
    • Parle\Parser::errorInfo — Retrieve the error information
    • Parle\Parser::left — Declare a token with left-associativity
    • Parle\Parser::nonassoc — Declare a token with no associativity
    • Parle\Parser::precedence — Declare a precedence rule
    • Parle\Parser::push — Add a grammar rule
    • Parle\Parser::reset — Reset parser state
    • Parle\Parser::right — Declare a token with right-associativity
    • Parle\Parser::sigil — Retrieve a matching part of a rule
    • Parle\Parser::token — Declare a token
    • Parle\Parser::tokenId — Get token id
    • Parle\Parser::trace — Trace the parser operation
    • Parle\Parser::validate — Validate input
  • Parle\RParser — The Parle\RParser class
    • Parle\RParser::advance — Process next parser rule
    • Parle\RParser::build — Finalize the grammar rules
    • Parle\RParser::consume — Consume the data for processing
    • Parle\RParser::dump — Dump the grammar
    • Parle\RParser::errorInfo — Retrieve the error information
    • Parle\RParser::left — Declare a token with left-associativity
    • Parle\RParser::nonassoc — Declare a token with no associativity
    • Parle\RParser::precedence — Declare a precedence rule
    • Parle\RParser::push — Add a grammar rule
    • Parle\RParser::reset — Reset parser state
    • Parle\RParser::right — Declare a token with right-associativity
    • Parle\RParser::sigil — Retrieve a matching part of a rule
    • Parle\RParser::token — Declare a token
    • Parle\RParser::tokenId — Get token id
    • Parle\RParser::trace — Trace the parser operation
    • Parle\RParser::validate — Validate input
  • Parle\Stack — The Parle\Stack class
    • Parle\Stack::pop — Pop an item from the stack
    • Parle\Stack::push — Push an item into the stack
  • Parle\Token — The Parle\Token class
  • Parle\ErrorInfo — The Parle\ErrorInfo class
  • Parle\LexerException — The Parle\LexerException class
  • Parle\ParserException — The Parle\ParserException class


Introdução

The parle extension provides general purpose lexing and parsing facilities. The implementation is based on » Ben Hanson's libraries and requires a » C++14 capable compiler. The lexer is based on the regex matching, the parser is LALR(1). Lexers and parsers are generated on the fly and can be used immediately after they've been finalized. Parle deals with parsing and lexing, the appropriate data structures representation and processing are the implementer's task. Serialization and code generation are not supported by the extension, yet.

Lexer analysis is a process of splitting a character sequence into a list of lexemes. The lexeme list can be then used for the syntax analysis against a formal grammar. These operations are also known as lexing and parsing. This documentation doesn't aim to provide an exhaustive information on lexing and parsing. Good information in this regard is available on the numerous resources on the net. Several usage examples are included, to show the functionality. The extension is useful for PHP programmers both willing to learn or to utilize parsing and lexing. State machines and grammar parsing don't have to be implemented manually, these complex tasks are taken away by parle. Thanks to that, the development can be focused on the actual problem solving.

The common use case for parle is, when a data format is too complex to be handled by the regex matching with PCRE. The practical application is herewith wide. Be it a specific data format, a behavior modification of existing functions, even an own programming language and beyond. The helper methods such as Parle\Lexer::dump() to inspect the generated state machine, or Parle\Parser::dump() to inspect the generated grammar, are useful. The method Parle\Parser::trace() can also be used to track the parsing operation.


  • « Introdução
  • Dependências »
  • PHP Manual
  • Parle
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação


Dependências

PHP 7.0 or above is supported. A C++14 capable compiler is required. A successful extension build was produced with at least clang 5.0, GCC 5.0 and Visual Studio 2015.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/parle.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/parle/.

Available configure options
Option | Description
--enable-parle | Enable parle extension.
--enable-parle-utf32 | Enable internal UTF-32 support. Available since parle 0.7.2.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Parle\INTERNAL_UTF32 bool
Flag whether the internal UTF-32 support is compiled in. Available since parle 0.7.2.


Parle pattern matching

Índice

  • Character representations
  • Character classes
  • Unicode character classes
  • Alternation and repetition
  • Anchors
  • Grouping

Parle supports regex matching similar to flex. Also supported are the following POSIX character sets: [:alnum:], [:alpha:], [:blank:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:] and [:xdigit:].

The Unicode character classes are currently not enabled by default, pass --enable-parle-utf32 to make them available. A particular encoding can be mapped with a correctly constructed regex. For example, to match the EURO symbol encoded in UTF-8, the regular expression [\xe2][\x82][\xac] can be used. The pattern for an UTF-8 encoded string could be [ -\x7f]{+}[\x80-\xbf]{+}[\xc2-\xdf]{+}[\xe0-\xef]{+}[\xf0-\xff]+.


Character representations

Character representations
Sequence | Description
\a | Alert (bell).
\b | Backspace.
\e | ESC character, \x1b.
\n | Newline.
\r | Carriage return.
\f | Form feed, \x0c.
\t | Horizontal tab, \x09.
\v | Vertical tab, \x0b.
\oct | Character specified by a three-digit octal code.
\xhex | Character specified by a hex code.
\cchar | Named control character.


Character classes

Character classes
Sequence | Description
[...] | A single character listed or contained within a listed range. Ranges can be combined with the {+} and {-} operators. For example [a-z]{+}[0-9] is the same as [0-9a-z] and [a-z]{-}[aeiou] is the same as [b-df-hj-np-tv-z].
[^...] | A single character not listed and not contained within a listed range.
. | Any character, default [^\n].
\d | Digit character, [0-9].
\D | Non-digit character, [^0-9].
\s | White space character, [ \t\n\r\f\v].
\S | Non-white space character, [^ \t\n\r\f\v].
\w | Word caracter, [a-zA-Z0-9_].
\W | Non-word caracter, [^a-zA-Z0-9_].


Unicode character classes

Unicode character classes
Sequence | Description
\p{C} | Other.
\p{Cc} | Other, control.
\p{Cf} | Other, format.
\p{Co} | Other, private use.
\p{Cs} | Other, surrogate.
\p{L} | Letter.
\p{LC} | Letter, cased.
\p{Ll} | Letter, lowercase.
\p{Lm} | Letter, modifier.
\p{Lo} | Letter, other.
\p{Lt} | Letter, titlecase.
\p{Lu} | Letter, uppercase.
\p{M} | Mark.
\p{Mc} | Mark, space combining.
\p{Me} | Mark, enclosing.
\p{Mn} | Mark, nonspacing.
\p{N} | Number.
\p{Nd} | Number, decimal digit.
\p{Nl} | Number, letter.
\p{No} | Number, other.
\p{P} | Punctuation.
\p{Pc} | Punctiation, connector.
\p{Pd} | Punctuation, dash.
\p{Pe} | Punctuation, close.
\p{Pf} | Punctuation, final quote.
\p{Pi} | Punctuation, initial quote.
\p{Po} | Punctuation, other.
\p{Ps} | Punctuation, open.
\p{S} | Symbol.
\p{Sc} | Symbol, currency.
\p{Sk} | Symbol, modifier.
\p{Sm} | Symbol, math.
\p{So} | Symbol, other.
\p{Z} | Separator.
\p{Zl} | Separator, line.
\p{Zp} | Separator, paragraph.
\p{Zs} | Separator, space.

These character clasess are only available, if the option --enable-parle-utf32 was passed at the compilation time.


Alternation and repetition

Alternation and repetition
Sequence | Greedy | Description
...|... | - | Try subpatterns in alternation.
* | yes | Match 0 or more times.
+ | yes | Match 1 or more times.
? | yes | Match 0 or 1 times.
{n} | no | Match exactly n times.
{n,} | yes | Match at least n times.
{n,m} | yes | Match at least n times but no more than m times.
*? | no | Match 0 or more times.
+? | no | Match 1 or more times.
?? | no | Match 0 or 1 times.
{n,}? | no | Match at least n times.
{n,m}? | no | Match at least n times but no more than m times.
{MACRO} | - | Include the regex MACRO in the current regex.


Anchors

Anchors
Sequence | Description
^ | Start of string or after a newline.
$ | End of string or before a newline.


Grouping

Grouping
Sequence | Description
(...) Group a regular expression to override default operator precedence.
(?r-s:pattern) Apply option r and omit option s while interpreting pattern. Options may be zero or more of the characters i, s, or x.
Options
Option | Description
i | Case insensitive.
-i | Case sensitive.
s | Alters the meaning of '.' to match any character whatsoever.
-s | "lters the meaning of '.' to match any character except '\n'.
x | Ignores comments and whitespace in patterns. Whitespace is ignored unless it is backslash-escaped, contained within ""s, or appears inside a character range.
These options can be applied globally at the rules level by passing a combination of the bit flags to the lexer.
(?# comment ) | Omit everything within (). The first ) character encountered ends the pattern. It is not possible for the comment to contain a ) character. The comment may span lines.


  • « Grouping
  • Lexer examples »
  • PHP Manual
  • Parle
  • Exemplos

Exemplos

Índice

  • Lexer examples
  • Parser examples


Lexer examples

Exemplo #1 Tokenize comma separated integer list

<?php

use Parle\Token;
use Parle\Lexer;
use Parle\LexerException;

/* name => id */
$token = array(
        "COMMA" => 1,
        "CRLF" => 2,
        "DECIMAL" => 3,
);
/* id => name */
$tokenIdToName = array_flip($token);

$lex = new Lexer;
$lex->push("[\x2c]", $token["COMMA"]);
$lex->push("[\r][\n]", $token["CRLF"]);
$lex->push("[\d]+", $token["DECIMAL"]);
$lex->build();

$in = "0,1,2\r\n3,42,5\r\n6,77,8\r\n";

$lex->consume($in);

do {
        $lex->advance();
        $tok = $lex->getToken();

        if (Token::UNKNOWN == $tok->id) {
                throw new LexerException("Unknown token '{$tok->value}' at offset {$lex->marker}.");
        }

        echo "TOKEN: ", $tokenIdToName[$tok->id], PHP_EOL;
} while (Token::EOI != $tok->id);

Exemplo #2 Tokenize assign statement

<?php

use Parle\{Token, Lexer};

$lex = new Lexer;

$lex->push("\$[a-zA-Z_][a-zA-Z0-9_]*", 1);
$lex->push("=", 2);
$lex->push("\d+", 3);
$lex->push(";", 4);

$lex->build();

$lex->consume('$x = 42; $y = 24;');

do {
    $lex->advance();
    $tok = $lex->getToken();
    var_dump($tok);
} while (Token::EOI != $tok->id);


Parser examples

Exemplo #1 Simple calculator

<?php

use Parle\{Parser, ParserException, Lexer, Token};

$p = new Parser;
$p->token("INTEGER");
$p->left("'+' '-' '*' '/'");

$p->push("start", "exp");
$prod_add = $p->push("exp", "exp '+' exp");
$prod_sub = $p->push("exp", "exp '-' exp");
$prod_mul = $p->push("exp", "exp '*' exp");
$prod_div = $p->push("exp", "exp '/' exp");
$p->push("exp", "INTEGER"); /* Production index unused. */

$p->build();

$lex = new Lexer;
$lex->push("[+]", $p->tokenId("'+'"));
$lex->push("[-]", $p->tokenId("'-'"));
$lex->push("[*]", $p->tokenId("'*'"));
$lex->push("[/]", $p->tokenId("'/'"));
$lex->push("\\d+", $p->tokenId("INTEGER"));
$lex->push("\\s+", Token::SKIP);

$lex->build();

$exp = array(
    "1 + 1",
    "33 / 10",
    "100 * 45",
    "17 - 45",
);

foreach ($exp as $in) {
    if (!$p->validate($in, $lex)) {
        throw new ParserException("Failed to validate input");
    }

    $p->consume($in, $lex);

    while (Parser::ACTION_ERROR != $p->action && Parser::ACTION_ACCEPT != $p->action) {
        switch ($p->action) {
            case Parser::ACTION_ERROR:
                throw new ParserException("Parser error");
                break;
            case Parser::ACTION_SHIFT:
            case Parser::ACTION_GOTO:
            case Parser::ACTION_ACCEPT:
                break;
            case Parser::ACTION_REDUCE:
                switch ($p->reduceId) {
                    case $prod_add:
                        $l = $p->sigil(0);
                        $r = $p->sigil(2);
                        echo "$l + $r = " . ($l + $r) . "\n";
                        break;
                    case $prod_sub:
                        $l = $p->sigil(0);
                        $r = $p->sigil(2);
                        echo "$l - $r = " . ($l - $r) . "\n";
                        break;
                    case $prod_mul:
                        $l = $p->sigil(0);
                        $r = $p->sigil(2);
                        echo "$l * $r = " . ($l * $r) . "\n";
                        break;
                    case $prod_div:
                        $l = $p->sigil(0);
                        $r = $p->sigil(2);
                    echo "$l / $r = " . ($l / $r) . "\n";
                        break;
            }
            break;
        }
        $p->advance();
    }
}

Exemplo #2 Parse words out from a sentence

<?php

use Parle\{Lexer, Token, Parser, ParserException};

$p = new Parser;
$p->token("WORD");
$p->push("START", "SENTENCE");
$p->push("SENTENCE", "WORDS");
$prod_word_0 = $p->push("WORDS", "WORDS WORD");
$prod_word_1 = $p->push("WORDS", "WORD");
$p->build();

$lex = new Lexer;
$lex->push("[^\s]{-}[\.,\:\;\?]+", $p->tokenId("WORD"));
$lex->push("[\s\.,\:\;\?]+", Token::SKIP);
$lex->build();

$in = "Dis-moi où est ton papa?";
$p->consume($in, $lex);
do {
    switch ($p->action) {
    case Parser::ACTION_ERROR:
        throw new ParserException("Error");
        break;
    case Parser::ACTION_SHIFT:
    case Parser::ACTION_GOTO:
        /* var_dump($p->trace());*/
        break;
    case Parser::ACTION_REDUCE:
        $rid = $p->reduceId();
        if ($rid == $prod_word_1) {
            var_dump($p->sigil(0));
        } if ($rid == $prod_word_0) {
            var_dump($p->sigil(1));
        }
        break;
    }
    $p->advance();
} while (Parser::ACTION_ACCEPT != $p->action);


The Parle\Lexer class

(PECL parle >= 0.5.1)

Introdução

Single state lexer class. Lexemes can be defined on the fly. If the particular lexer instance is meant to be used with Parle\Parser, the token IDs need to be taken from there. Otherwise, arbitrary token IDs can be supplied. This lexer can give a certain performance advantage over Parle\RLexer, if no multiple states are required. Note, that Parle\RParser is not compatible with this lexer.

Sinopse da classe

Parle\Lexer {
/* Constants */
const int ICASE = 1 ;
const int DOT_NOT_LF = 2 ;
const int DOT_NOT_CRLF = 4 ;
const int SKIP_WS = 8 ;
const int MATCH_ZERO_LEN = 16 ;
/* Propriedades */
public bool $bol = false ;
public int $flags = 0 ;
public int $state = 0 ;
public int $marker = 0 ;
public int $cursor = 0 ;
/* Métodos */
public advance ( ) : void
public build ( ) : void
public callout ( int $id , callable $callback ) : void
public consume ( string $data ) : void
public dump ( ) : void
public getToken ( ) : Parle\Token
public insertMacro ( string $name , string $regex ) : void
public push ( string $regex , int $id ) : void
public reset ( int $pos ) : void
}

Constantes pré-definidas

Parle\Lexer::ICASE

Parle\Lexer::DOT_NOT_LF

Parle\Lexer::DOT_NOT_CRLF

Parle\Lexer::SKIP_WS

Parle\Lexer::MATCH_ZERO_LEN

Propriedades

bol

Start of input flag.

flags

Lexer flags.

state

Current lexer state, readonly.

marker

Position of the latest token match, readonly.

cursor

Current input offset, readonly.

Índice

  • Parle\Lexer::advance — Process next lexer rule
  • Parle\Lexer::build — Finalize the lexer rule set
  • Parle\Lexer::callout — Define token callback
  • Parle\Lexer::consume — Pass the data for processing
  • Parle\Lexer::dump — Dump the state machine
  • Parle\Lexer::getToken — Retrieve the current token
  • Parle\Lexer::insertMacro — Insert regex macro
  • Parle\Lexer::push — Add a lexer rule
  • Parle\Lexer::reset — Reset lexer


Process next lexer rule

  • « Parle\Lexer
  • Parle\Lexer::build »
  • PHP Manual
  • Parle\Lexer
  • Process next lexer rule

Parle\Lexer::advance

(PECL parle >= 0.5.1)

Parle\Lexer::advance — Process next lexer rule

Descrição

public Parle\Lexer::advance ( ) : void

Processes the next rule and prepares the resulting token data.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Finalize the lexer rule set

  • « Parle\Lexer::advance
  • Parle\Lexer::callout »
  • PHP Manual
  • Parle\Lexer
  • Finalize the lexer rule set

Parle\Lexer::build

(PECL parle >= 0.5.1)

Parle\Lexer::build — Finalize the lexer rule set

Descrição

public Parle\Lexer::build ( ) : void

Rules, previously added with Parle\Lexer::push() are finalized. This method call has to be done after all the necessary rules was pushed. The rule set becomes read only. The lexing can begin.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Define token callback

  • « Parle\Lexer::build
  • Parle\Lexer::consume »
  • PHP Manual
  • Parle\Lexer
  • Define token callback

Parle\Lexer::callout

(PECL parle >= 0.7.2)

Parle\Lexer::callout — Define token callback

Descrição

public Parle\Lexer::callout ( int $id , callable $callback ) : void

Define a callback to be invoked once lexer encounters a particular token.

Parâmetros

id

Token id.

callback

Callable to be invoked. The callable doesn't receive any arguments and its return value is ignored.

Valor Retornado

Não há valor retornado.


Pass the data for processing

  • « Parle\Lexer::callout
  • Parle\Lexer::dump »
  • PHP Manual
  • Parle\Lexer
  • Pass the data for processing

Parle\Lexer::consume

(PECL parle >= 0.5.1)

Parle\Lexer::consume — Pass the data for processing

Descrição

public Parle\Lexer::consume ( string $data ) : void

Consume the data for lexing.

Parâmetros

data

Data to be lexed.

Valor Retornado

Não há valor retornado.


Dump the state machine

  • « Parle\Lexer::consume
  • Parle\Lexer::getToken »
  • PHP Manual
  • Parle\Lexer
  • Dump the state machine

Parle\Lexer::dump

(PECL parle >= 0.5.1)

Parle\Lexer::dump — Dump the state machine

Descrição

public Parle\Lexer::dump ( ) : void

Dump the current state machine to stdout.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Retrieve the current token

  • « Parle\Lexer::dump
  • Parle\Lexer::insertMacro »
  • PHP Manual
  • Parle\Lexer
  • Retrieve the current token

Parle\Lexer::getToken

(PECL parle >= 0.5.1)

Parle\Lexer::getToken — Retrieve the current token

Descrição

public Parle\Lexer::getToken ( ) : Parle\Token

Retrieve the current token.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an instance of Parle\Token.


Insert regex macro

  • « Parle\Lexer::getToken
  • Parle\Lexer::push »
  • PHP Manual
  • Parle\Lexer
  • Insert regex macro

Parle\Lexer::insertMacro

(PECL parle >= 0.5.1)

Parle\Lexer::insertMacro — Insert regex macro

Descrição

public Parle\Lexer::insertMacro ( string $name , string $regex ) : void

Insert a regex macro, that can be later used as a shortcut and included in other regular expressions.

Parâmetros

name

Name of the macros.

regex

Regular expression.

Valor Retornado

Não há valor retornado.


Add a lexer rule

  • « Parle\Lexer::insertMacro
  • Parle\Lexer::reset »
  • PHP Manual
  • Parle\Lexer
  • Add a lexer rule

Parle\Lexer::push

(PECL parle >= 0.5.1)

Parle\Lexer::push — Add a lexer rule

Descrição

public Parle\Lexer::push ( string $regex , int $id ) : void

Push a pattern for lexeme recognition.

Parâmetros

regex

Regular expression used for token matching.

id

Token id. If the lexer instance is meant to be used standalone, this can be an arbitrary number. If the lexer instance is going to be passed to the parser, it has to be an id returned by Parle\Parser::tokenid().

Valor Retornado

Não há valor retornado.


Reset lexer

  • « Parle\Lexer::push
  • Parle\RLexer »
  • PHP Manual
  • Parle\Lexer
  • Reset lexer

Parle\Lexer::reset

(PECL parle >= 0.7.1)

Parle\Lexer::reset — Reset lexer

Descrição

public Parle\Lexer::reset ( int $pos ) : void

Reset lexing optionally supplying the desired offset.

Parâmetros

pos

Reset position.

Valor Retornado

Não há valor retornado.


The Parle\RLexer class

(PECL parle >= 0.5.1)

Introdução

Multistate lexer class. Lexemes can be defined on the fly. If the particular lexer instance is meant to be used with Parle\RParser, the token IDs need to be taken from there. Otherwise, arbitrary token IDs can be supplied. Note, that Parle\Parser is not compatible with this lexer.

Sinopse da classe

Parle\RLexer {
/* Constants */
const int ICASE = 1 ;
const int DOT_NOT_LF = 2 ;
const int DOT_NOT_CRLF = 4 ;
const int SKIP_WS = 8 ;
const int MATCH_ZERO_LEN = 16 ;
/* Propriedades */
public bool $bol = false ;
public int $flags = 0 ;
public int $state = 0 ;
public int $marker = 0 ;
public int $cursor = 0 ;
/* Métodos */
public advance ( ) : void
public build ( ) : void
public callout ( int $id , callable $callback ) : void
public consume ( string $data ) : void
public dump ( ) : void
public getToken ( ) : Parle\Token
public insertMacro ( string $name , string $regex ) : void
public push ( string $regex , int $id ) : void
public push ( string $state , string $regex , int $id , string $newState ) : void
public push ( string $state , string $regex , string $newState ) : void
public pushState ( string $state ) : int
public reset ( int $pos ) : void
}

Constantes pré-definidas

Parle\RLexer::ICASE

Parle\RLexer::DOT_NOT_LF

Parle\RLexer::DOT_NOT_CRLF

Parle\RLexer::SKIP_WS

Parle\RLexer::MATCH_ZERO_LEN

Propriedades

bol

Start of input flag.

flags

Lexer flags.

state

Current lexer state, readonly.

marker

Position of the latest token match, readonly.

cursor

Current input offset, readonly.

Índice

  • Parle\RLexer::advance — Process next lexer rule
  • Parle\RLexer::build — Finalize the lexer rule set
  • Parle\RLexer::callout — Define token callback
  • Parle\RLexer::consume — Pass the data for processing
  • Parle\RLexer::dump — Dump the state machine
  • Parle\RLexer::getToken — Retrieve the current token
  • Parle\RLexer::insertMacro — Insert regex macro
  • Parle\RLexer::push — Add a lexer rule
  • Parle\RLexer::pushState — Push a new start state
  • Parle\RLexer::reset — Reset lexer


Process next lexer rule

  • « Parle\RLexer
  • Parle\RLexer::build »
  • PHP Manual
  • Parle\RLexer
  • Process next lexer rule

Parle\RLexer::advance

(PECL parle >= 0.5.1)

Parle\RLexer::advance — Process next lexer rule

Descrição

public Parle\RLexer::advance ( ) : void

Processes the next rule and prepares the resulting token data.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Finalize the lexer rule set

  • « Parle\RLexer::advance
  • Parle\RLexer::callout »
  • PHP Manual
  • Parle\RLexer
  • Finalize the lexer rule set

Parle\RLexer::build

(PECL parle >= 0.5.1)

Parle\RLexer::build — Finalize the lexer rule set

Descrição

public Parle\RLexer::build ( ) : void

Rules, previously added with Parle\RLexer::push() are finalized. This method call has to be done after all the necessary rules was pushed. The rule set becomes read only. The lexing can begin.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Define token callback

  • « Parle\RLexer::build
  • Parle\RLexer::consume »
  • PHP Manual
  • Parle\RLexer
  • Define token callback

Parle\RLexer::callout

(PECL parle >= 0.7.2)

Parle\RLexer::callout — Define token callback

Descrição

public Parle\RLexer::callout ( int $id , callable $callback ) : void

Define a callback to be invoked once lexer encounters a particular token.

Parâmetros

id

Token id.

callback

Callable to be invoked. The callable doesn't receive any arguments and its return value is ignored.

Valor Retornado

Não há valor retornado.


Pass the data for processing

  • « Parle\RLexer::callout
  • Parle\RLexer::dump »
  • PHP Manual
  • Parle\RLexer
  • Pass the data for processing

Parle\RLexer::consume

(PECL parle >= 0.5.1)

Parle\RLexer::consume — Pass the data for processing

Descrição

public Parle\RLexer::consume ( string $data ) : void

Consume the data for lexing.

Parâmetros

data

Data to be lexed.

Valor Retornado

Não há valor retornado.


Dump the state machine

  • « Parle\RLexer::consume
  • Parle\RLexer::getToken »
  • PHP Manual
  • Parle\RLexer
  • Dump the state machine

Parle\RLexer::dump

(PECL parle >= 0.5.1)

Parle\RLexer::dump — Dump the state machine

Descrição

public Parle\RLexer::dump ( ) : void

Dump the current state machine to stdout.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Retrieve the current token

  • « Parle\RLexer::dump
  • Parle\RLexer::insertMacro »
  • PHP Manual
  • Parle\RLexer
  • Retrieve the current token

Parle\RLexer::getToken

(PECL parle >= 0.5.1)

Parle\RLexer::getToken — Retrieve the current token

Descrição

public Parle\RLexer::getToken ( ) : Parle\Token

Retrive the current token.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an instance of Parle\Token.


Insert regex macro

  • « Parle\RLexer::getToken
  • Parle\RLexer::push »
  • PHP Manual
  • Parle\RLexer
  • Insert regex macro

Parle\RLexer::insertMacro

(PECL parle >= 0.5.1)

Parle\RLexer::insertMacro — Insert regex macro

Descrição

public Parle\RLexer::insertMacro ( string $name , string $regex ) : void

Insert a regex macro, that can be later used as a shortcut and included in other regular expressions.

Parâmetros

name

Name of the macros.

regex

Regular expression.

Valor Retornado

Não há valor retornado.


Add a lexer rule

  • « Parle\RLexer::insertMacro
  • Parle\RLexer::pushState »
  • PHP Manual
  • Parle\RLexer
  • Add a lexer rule

Parle\RLexer::push

(PECL parle >= 0.5.1)

Parle\RLexer::push — Add a lexer rule

Descrição

public Parle\RLexer::push ( string $regex , int $id ) : void
public Parle\RLexer::push ( string $state , string $regex , int $id , string $newState ) : void
public Parle\RLexer::push ( string $state , string $regex , string $newState ) : void

Push a pattern for lexeme recognition.

A 'start state' and 'exit state' can be specified by using a suitable signature.

Parâmetros

regex

Regular expression used for token matching.

id

Token id. If the lexer instance is meant to be used standalone, this can be an arbitrary number. If the lexer instance is going to be passed to the parser, it has to be an id returned by Parle\RParser::tokenid().

state

State name. If '*' is used as start state, then the rule is applied to all lexer states.

newState

New state name, after the rule was applied.

If '.' is specified as the exit state, then the lexer state is unchanged when that rule matches. An exit state with '>' before the name means push. Use the signature without id for either continuation or to start matching, when a continuation or recursion is required.

If '<' is specified as exit state, it means pop. In that case, the signature containing the id can be used to identify the match. Note that even in the case an id is specified, the rule will finish first when all the previous pushes popped.

Valor Retornado

Não há valor retornado.


Push a new start state

  • « Parle\RLexer::push
  • Parle\RLexer::reset »
  • PHP Manual
  • Parle\RLexer
  • Push a new start state

Parle\RLexer::pushState

(PECL parle >= 0.5.1)

Parle\RLexer::pushState — Push a new start state

Descrição

public Parle\RLexer::pushState ( string $state ) : int

This lexer type can have more than one state machine. This allows you to lex different tokens depending on context, thus allowing simple parsing to take place. Once a state pushed, it can be used with a suitable Parle\RLexer::push() signature variant.

Parâmetros

state

Name of the state.

Valor Retornado


Reset lexer

  • « Parle\RLexer::pushState
  • Parle\Parser »
  • PHP Manual
  • Parle\RLexer
  • Reset lexer

Parle\RLexer::reset

(PECL parle >= 0.7.1)

Parle\RLexer::reset — Reset lexer

Descrição

public Parle\RLexer::reset ( int $pos ) : void

Reset lexing optionally supplying the desired offset.

Parâmetros

pos

Reset position.

Valor Retornado

Não há valor retornado.


The Parle\Parser class

(PECL parle >= 0.5.1)

Introdução

Parser class. Rules can be defined on the fly. Once finalized, a Parle\Lexer instance is required to deliver the token stream.

Sinopse da classe

Parle\Parser {
/* Constants */
const int ACTION_ERROR = 0 ;
const int ACTION_SHIFT = 1 ;
const int ACTION_REDUCE = 2 ;
const int ACTION_GOTO = 3 ;
const int ACTION_ACCEPT = 4 ;
const int ERROR_SYNTAX = 0 ;
const int ERROR_NON_ASSOCIATIVE = 1 ;
const int ERROR_UNKNOWN_TOKEN = 2 ;
/* Propriedades */
public int $action = 0 ;
public int $reduceId = 0 ;
/* Métodos */
public advance ( ) : void
public build ( ) : void
public consume ( string $data , Parle\Lexer $lexer ) : void
public dump ( ) : void
public errorInfo ( ) : Parle\ErrorInfo
public left ( string $tok ) : void
public nonassoc ( string $tok ) : void
public precedence ( string $tok ) : void
public push ( string $name , string $rule ) : int
public reset ( int $tokenId = ? ) : void
public right ( string $tok ) : void
public sigil ( int $idx ) : string
public token ( string $tok ) : void
public tokenId ( string $tok ) : int
public trace ( ) : string
public validate ( string $data , Parle\Lexer $lexer ) : bool
}

Constantes pré-definidas

Parle\Parser::ACTION_ERROR

Parle\Parser::ACTION_SHIFT

Parle\Parser::ACTION_REDUCE

Parle\Parser::ACTION_GOTO

Parle\Parser::ACTION_ACCEPT

Parle\Parser::ERROR_SYNTAX

Parle\Parser::ERROR_NON_ASSOCIATIVE

Parle\Parser::ERROR_UNKNOWN_TOKEN

Propriedades

action

Current parser action that matches one of the action class constants, readonly.

reduceId

Grammar rule id just processed in the reduce action. The value corresponds either to a token or to a production id. Readonly.

Índice

  • Parle\Parser::advance — Process next parser rule
  • Parle\Parser::build — Finalize the grammar rules
  • Parle\Parser::consume — Consume the data for processing
  • Parle\Parser::dump — Dump the grammar
  • Parle\Parser::errorInfo — Retrieve the error information
  • Parle\Parser::left — Declare a token with left-associativity
  • Parle\Parser::nonassoc — Declare a token with no associativity
  • Parle\Parser::precedence — Declare a precedence rule
  • Parle\Parser::push — Add a grammar rule
  • Parle\Parser::reset — Reset parser state
  • Parle\Parser::right — Declare a token with right-associativity
  • Parle\Parser::sigil — Retrieve a matching part of a rule
  • Parle\Parser::token — Declare a token
  • Parle\Parser::tokenId — Get token id
  • Parle\Parser::trace — Trace the parser operation
  • Parle\Parser::validate — Validate input


Process next parser rule

  • « Parle\Parser
  • Parle\Parser::build »
  • PHP Manual
  • Parle\Parser
  • Process next parser rule

Parle\Parser::advance

(PECL parle >= 0.5.1)

Parle\Parser::advance — Process next parser rule

Descrição

public Parle\Parser::advance ( ) : void

Process next parser rule.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Finalize the grammar rules

  • « Parle\Parser::advance
  • Parle\Parser::consume »
  • PHP Manual
  • Parle\Parser
  • Finalize the grammar rules

Parle\Parser::build

(PECL parle >= 0.5.1)

Parle\Parser::build — Finalize the grammar rules

Descrição

public Parle\Parser::build ( ) : void

Any tokens and grammar rules previously added are finalized. The rule set becomes readonly and the parser is ready to start.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Consume the data for processing

  • « Parle\Parser::build
  • Parle\Parser::dump »
  • PHP Manual
  • Parle\Parser
  • Consume the data for processing

Parle\Parser::consume

(PECL parle >= 0.5.1)

Parle\Parser::consume — Consume the data for processing

Descrição

public Parle\Parser::consume ( string $data , Parle\Lexer $lexer ) : void

Consume the data for parsing.

Parâmetros

data

Data to be parsed.

lexer

A lexer object containing the lexing rules prepared for the particular grammar.

Valor Retornado

Não há valor retornado.


Dump the grammar

  • « Parle\Parser::consume
  • Parle\Parser::errorInfo »
  • PHP Manual
  • Parle\Parser
  • Dump the grammar

Parle\Parser::dump

(PECL parle >= 0.5.1)

Parle\Parser::dump — Dump the grammar

Descrição

public Parle\Parser::dump ( ) : void

Dump the current grammar to stdout.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Retrieve the error information

  • « Parle\Parser::dump
  • Parle\Parser::left »
  • PHP Manual
  • Parle\Parser
  • Retrieve the error information

Parle\Parser::errorInfo

(PECL parle >= 0.5.1)

Parle\Parser::errorInfo — Retrieve the error information

Descrição

public Parle\Parser::errorInfo ( ) : Parle\ErrorInfo

Retrieve the error information in case Parle\Parser::action() returned the error action.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an instance of Parle\ErrorInfo.


Declare a token with left-associativity

  • « Parle\Parser::errorInfo
  • Parle\Parser::nonassoc »
  • PHP Manual
  • Parle\Parser
  • Declare a token with left-associativity

Parle\Parser::left

(PECL parle >= 0.5.1)

Parle\Parser::left — Declare a token with left-associativity

Descrição

public Parle\Parser::left ( string $tok ) : void

Declare a terminal with left associativity.

Parâmetros

tok

Token name.

Valor Retornado

Não há valor retornado.


Declare a token with no associativity

  • « Parle\Parser::left
  • Parle\Parser::precedence »
  • PHP Manual
  • Parle\Parser
  • Declare a token with no associativity

Parle\Parser::nonassoc

(PECL parle >= 0.5.1)

Parle\Parser::nonassoc — Declare a token with no associativity

Descrição

public Parle\Parser::nonassoc ( string $tok ) : void

Declare a terminal, that cannot appear more than once in the row.

Parâmetros

tok

Token name.

Valor Retornado

Não há valor retornado.


Declare a precedence rule

  • « Parle\Parser::nonassoc
  • Parle\Parser::push »
  • PHP Manual
  • Parle\Parser
  • Declare a precedence rule

Parle\Parser::precedence

(PECL parle >= 0.5.1)

Parle\Parser::precedence — Declare a precedence rule

Descrição

public Parle\Parser::precedence ( string $tok ) : void

Declares a precedence rule for a fictitious terminal symbol. This rule can be later used in the specific grammar rules.

Parâmetros

tok

Token name.

Valor Retornado

Não há valor retornado.


Add a grammar rule

  • « Parle\Parser::precedence
  • Parle\Parser::reset »
  • PHP Manual
  • Parle\Parser
  • Add a grammar rule

Parle\Parser::push

(PECL parle >= 0.5.1)

Parle\Parser::push — Add a grammar rule

Descrição

public Parle\Parser::push ( string $name , string $rule ) : int

Push a grammar rule. The production id returned can be used later in the parsing process to identify the rule matched.

Parâmetros

name

Rule name.

rule

The rule to be added. The syntax is Bison compatible.

Valor Retornado

Returns int representing the rule index.


Reset parser state

  • « Parle\Parser::push
  • Parle\Parser::right »
  • PHP Manual
  • Parle\Parser
  • Reset parser state

Parle\Parser::reset

(PECL parle >= 0.7.1)

Parle\Parser::reset — Reset parser state

Descrição

public Parle\Parser::reset ( int $tokenId = ? ) : void

Reset parser state using the given token id.

Parâmetros

tokenId

Token id.

Valor Retornado

Não há valor retornado.


Declare a token with right-associativity

  • « Parle\Parser::reset
  • Parle\Parser::sigil »
  • PHP Manual
  • Parle\Parser
  • Declare a token with right-associativity

Parle\Parser::right

(PECL parle >= 0.5.1)

Parle\Parser::right — Declare a token with right-associativity

Descrição

public Parle\Parser::right ( string $tok ) : void

Declare a terminal with right associativity.

Parâmetros

tok

Token name.

Valor Retornado

Não há valor retornado.


Retrieve a matching part of a rule

  • « Parle\Parser::right
  • Parle\Parser::token »
  • PHP Manual
  • Parle\Parser
  • Retrieve a matching part of a rule

Parle\Parser::sigil

(PECL parle >= 0.5.1)

Parle\Parser::sigil — Retrieve a matching part of a rule

Descrição

public Parle\Parser::sigil ( int $idx ) : string

Retrieve a part of the match by a rule. This method is equivalent to the pseudo variable functionality in Bison.

Parâmetros

idx

Match index, zero based.

Valor Retornado

Returns a string with the matched part.


Declare a token

  • « Parle\Parser::sigil
  • Parle\Parser::tokenId »
  • PHP Manual
  • Parle\Parser
  • Declare a token

Parle\Parser::token

(PECL parle >= 0.5.1)

Parle\Parser::token — Declare a token

Descrição

public Parle\Parser::token ( string $tok ) : void

Declare a terminal to be used in the grammar.

Parâmetros

tok

Token name.

Valor Retornado

Não há valor retornado.


Get token id

  • « Parle\Parser::token
  • Parle\Parser::trace »
  • PHP Manual
  • Parle\Parser
  • Get token id

Parle\Parser::tokenId

(PECL parle >= 0.5.1)

Parle\Parser::tokenId — Get token id

Descrição

public Parle\Parser::tokenId ( string $tok ) : int

Retrieve the id of the named token.

Parâmetros

tok

Name of the token as used in Parle\Parser::token().

Valor Retornado

Returns int representing the token id.


Trace the parser operation

  • « Parle\Parser::tokenId
  • Parle\Parser::validate »
  • PHP Manual
  • Parle\Parser
  • Trace the parser operation

Parle\Parser::trace

(PECL parle >= 0.5.1)

Parle\Parser::trace — Trace the parser operation

Descrição

public Parle\Parser::trace ( ) : string

Retrieve the current parser operation description. This can be especially useful for studying the parser and to optimize the grammar.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string with the trace information.


Validate input

  • « Parle\Parser::trace
  • Parle\RParser »
  • PHP Manual
  • Parle\Parser
  • Validate input

Parle\Parser::validate

(PECL parle >= 0.5.1)

Parle\Parser::validate — Validate input

Descrição

public Parle\Parser::validate ( string $data , Parle\Lexer $lexer ) : bool

Validate an input string. The string is parsed internally, thus this method is useful for the quick input validation.

Parâmetros

data

String to be validated.

lexer

A lexer object containing the lexing rules prepared for the particular grammar.

Valor Retornado

Returns bool witnessing whether the input chimes or not with the defined rules.


The Parle\RParser class

(PECL parle >= 0.7.0)

Introdução

Parser class. Rules can be defined on the fly. Once finalized, a Parle\RLexer instance is required to deliver the token stream.

Sinopse da classe

Parle\RParser {
/* Constants */
const int ACTION_ERROR = 0 ;
const int ACTION_SHIFT = 1 ;
const int ACTION_REDUCE = 2 ;
const int ACTION_GOTO = 3 ;
const int ACTION_ACCEPT = 4 ;
const int ERROR_SYNTAX = 0 ;
const int ERROR_NON_ASSOCIATIVE = 1 ;
const int ERROR_UNKNOWN_TOKEN = 2 ;
/* Propriedades */
public int $action = 0 ;
public int $reduceId = 0 ;
/* Métodos */
public advance ( ) : void
public build ( ) : void
public consume ( string $data , Parle\RLexer $rlexer ) : void
public dump ( ) : void
public errorInfo ( ) : Parle\ErrorInfo
public left ( string $tok ) : void
public nonassoc ( string $tok ) : void
public precedence ( string $tok ) : void
public push ( string $name , string $rule ) : int
public reset ( int $tokenId = ? ) : void
public right ( string $tok ) : void
public sigil ( int $idx = ? ) : string
public token ( string $tok ) : void
public tokenId ( string $tok ) : int
public trace ( ) : string
public validate ( string $data , Parle\RLexer $lexer ) : bool
}

Constantes pré-definidas

Parle\RParser::ACTION_ERROR

Parle\RParser::ACTION_SHIFT

Parle\RParser::ACTION_REDUCE

Parle\RParser::ACTION_GOTO

Parle\RParser::ACTION_ACCEPT

Parle\RParser::ERROR_SYNTAX

Parle\RParser::ERROR_NON_ASSOCIATIVE

Parle\RParser::ERROR_UNKNOWN_TOKEN

Propriedades

action

Current parser action that matches one of the action class constants, readonly.

reduceId

Grammar rule id just processed in the reduce action. The value corresponds either to a token or to a production id. Readonly.

Índice

  • Parle\RParser::advance — Process next parser rule
  • Parle\RParser::build — Finalize the grammar rules
  • Parle\RParser::consume — Consume the data for processing
  • Parle\RParser::dump — Dump the grammar
  • Parle\RParser::errorInfo — Retrieve the error information
  • Parle\RParser::left — Declare a token with left-associativity
  • Parle\RParser::nonassoc — Declare a token with no associativity
  • Parle\RParser::precedence — Declare a precedence rule
  • Parle\RParser::push — Add a grammar rule
  • Parle\RParser::reset — Reset parser state
  • Parle\RParser::right — Declare a token with right-associativity
  • Parle\RParser::sigil — Retrieve a matching part of a rule
  • Parle\RParser::token — Declare a token
  • Parle\RParser::tokenId — Get token id
  • Parle\RParser::trace — Trace the parser operation
  • Parle\RParser::validate — Validate input


Process next parser rule

  • « Parle\RParser
  • Parle\RParser::build »
  • PHP Manual
  • Parle\RParser
  • Process next parser rule

Parle\RParser::advance

(PECL parle >= 0.7.0)

Parle\RParser::advance — Process next parser rule

Descrição

public Parle\RParser::advance ( ) : void

Prosess next parser rule.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Finalize the grammar rules

  • « Parle\RParser::advance
  • Parle\RParser::consume »
  • PHP Manual
  • Parle\RParser
  • Finalize the grammar rules

Parle\RParser::build

(PECL parle >= 0.7.0)

Parle\RParser::build — Finalize the grammar rules

Descrição

public Parle\RParser::build ( ) : void

Any tokens and grammar rules previously added are finalized. The rule set becomes readonly and the parser is ready to start.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Consume the data for processing

  • « Parle\RParser::build
  • Parle\RParser::dump »
  • PHP Manual
  • Parle\RParser
  • Consume the data for processing

Parle\RParser::consume

(PECL parle >= 0.7.0)

Parle\RParser::consume — Consume the data for processing

Descrição

public Parle\RParser::consume ( string $data , Parle\RLexer $rlexer ) : void

Consume the data for parsing.

Parâmetros

data

Data to be parsed.

lexer

A lexer object containing the lexing rules prepared for the particular grammar.

Valor Retornado

Não há valor retornado.


Dump the grammar

  • « Parle\RParser::consume
  • Parle\RParser::errorInfo »
  • PHP Manual
  • Parle\RParser
  • Dump the grammar

Parle\RParser::dump

(PECL parle >= 0.7.0)

Parle\RParser::dump — Dump the grammar

Descrição

public Parle\RParser::dump ( ) : void

Dump the current grammar to stdout.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Retrieve the error information

  • « Parle\RParser::dump
  • Parle\RParser::left »
  • PHP Manual
  • Parle\RParser
  • Retrieve the error information

Parle\RParser::errorInfo

(PECL parle >= 0.7.0)

Parle\RParser::errorInfo — Retrieve the error information

Descrição

public Parle\RParser::errorInfo ( ) : Parle\ErrorInfo

Retrieve the error information in case Parle\RParser::action() returned the error action.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an instance of Parle\ErrorInfo.


Declare a token with left-associativity

  • « Parle\RParser::errorInfo
  • Parle\RParser::nonassoc »
  • PHP Manual
  • Parle\RParser
  • Declare a token with left-associativity

Parle\RParser::left

(PECL parle >= 0.7.0)

Parle\RParser::left — Declare a token with left-associativity

Descrição

public Parle\RParser::left ( string $tok ) : void

Declare a terminal with left associativity.

Parâmetros

tok

Token name.

Valor Retornado

Não há valor retornado.


Declare a token with no associativity

  • « Parle\RParser::left
  • Parle\RParser::precedence »
  • PHP Manual
  • Parle\RParser
  • Declare a token with no associativity

Parle\RParser::nonassoc

(PECL parle >= 0.7.0)

Parle\RParser::nonassoc — Declare a token with no associativity

Descrição

public Parle\RParser::nonassoc ( string $tok ) : void

Declare a terminal, that cannot appear more than once in the row.

Parâmetros

tok

Token name.

Valor Retornado

Não há valor retornado.


Declare a precedence rule

  • « Parle\RParser::nonassoc
  • Parle\RParser::push »
  • PHP Manual
  • Parle\RParser
  • Declare a precedence rule

Parle\RParser::precedence

(PECL parle >= 0.7.0)

Parle\RParser::precedence — Declare a precedence rule

Descrição

public Parle\RParser::precedence ( string $tok ) : void

Declares a precedence rule for a fictious terminal symbol. This rule can be later used in the specific grammar rules.

Parâmetros

tok

Token name.

Valor Retornado

Não há valor retornado.


Add a grammar rule

  • « Parle\RParser::precedence
  • Parle\RParser::reset »
  • PHP Manual
  • Parle\RParser
  • Add a grammar rule

Parle\RParser::push

(PECL parle >= 0.7.0)

Parle\RParser::push — Add a grammar rule

Descrição

public Parle\RParser::push ( string $name , string $rule ) : int

Push a grammar rule. The production id returned can be used later in the parsing process to identify the rule matched.

Parâmetros

name

Rule name.

rule

The rule to be added. The syntax is Bison compatible.

Valor Retornado

Returns int representing the rule index.


Reset parser state

  • « Parle\RParser::push
  • Parle\RParser::right »
  • PHP Manual
  • Parle\RParser
  • Reset parser state

Parle\RParser::reset

(PECL parle >= 0.7.1)

Parle\RParser::reset — Reset parser state

Descrição

public Parle\RParser::reset ( int $tokenId = ? ) : void

Reset parser state using the given token id.

Parâmetros

tokenId

Token id.

Valor Retornado

Não há valor retornado.


Declare a token with right-associativity

  • « Parle\RParser::reset
  • Parle\RParser::sigil »
  • PHP Manual
  • Parle\RParser
  • Declare a token with right-associativity

Parle\RParser::right

(PECL parle >= 0.7.0)

Parle\RParser::right — Declare a token with right-associativity

Descrição

public Parle\RParser::right ( string $tok ) : void

Declare a terminal with right associativity.

Parâmetros

tok

Token name.

Valor Retornado

Não há valor retornado.


Retrieve a matching part of a rule

  • « Parle\RParser::right
  • Parle\RParser::token »
  • PHP Manual
  • Parle\RParser
  • Retrieve a matching part of a rule

Parle\RParser::sigil

(PECL parle >= 0.7.0)

Parle\RParser::sigil — Retrieve a matching part of a rule

Descrição

public Parle\RParser::sigil ( int $idx = ? ) : string

Retrieve a part of the match by a rule. This method is equivalent to the pseudo variable functionality in Bison.

Parâmetros

idx

Match index, zero based.

Valor Retornado

Returns a string with the matched part.


Declare a token

  • « Parle\RParser::sigil
  • Parle\RParser::tokenId »
  • PHP Manual
  • Parle\RParser
  • Declare a token

Parle\RParser::token

(PECL parle >= 0.7.0)

Parle\RParser::token — Declare a token

Descrição

public Parle\RParser::token ( string $tok ) : void

Declare a terminal to be used in the grammar.

Parâmetros

tok

Token name.

Valor Retornado

Não há valor retornado.


Get token id

  • « Parle\RParser::token
  • Parle\RParser::trace »
  • PHP Manual
  • Parle\RParser
  • Get token id

Parle\RParser::tokenId

(PECL parle >= 0.7.0)

Parle\RParser::tokenId — Get token id

Descrição

public Parle\RParser::tokenId ( string $tok ) : int

Retrieve the id of the named token.

Parâmetros

tok

Name of the token as used in Parle\RParser::token().

Valor Retornado

Returns int representing the token id.


Trace the parser operation

  • « Parle\RParser::tokenId
  • Parle\RParser::validate »
  • PHP Manual
  • Parle\RParser
  • Trace the parser operation

Parle\RParser::trace

(PECL parle >= 0.7.0)

Parle\RParser::trace — Trace the parser operation

Descrição

public Parle\RParser::trace ( ) : string

Retrieve the current parser operation description. This can be especially useful to study the parser and to optimize the grammar.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string with the trace information.


Validate input

  • « Parle\RParser::trace
  • Parle\Stack »
  • PHP Manual
  • Parle\RParser
  • Validate input

Parle\RParser::validate

(PECL parle >= 0.7.0)

Parle\RParser::validate — Validate input

Descrição

public Parle\RParser::validate ( string $data , Parle\RLexer $lexer ) : bool

Validate an input string. The string is parsed internally, thus this method is useful for the quick input validation.

Parâmetros

data

String to be validated.

lexer

A lexer object containing the lexing rules prepared for the particular grammar.

Valor Retornado

Returns bool whitnessing whether the input chimes or not with the defined rules.


The Parle\Stack class

(PECL parle >= 0.7.0)

Introdução

Parle\Stack is a LIFO stack. The elements are inserted and removed only from one end.

Sinopse da classe

Parle\Stack {
/* Propriedades */
public bool $empty = true ;
public int $size = 0 ;
public mixed $top ;
/* Métodos */
public pop ( ) : void
public push ( mixed $item ) : void
}

Propriedades

empty

Whether the stack is empty, readonly.

size

Stack size, readonly.

top

Element on the top of the stack.

Índice

  • Parle\Stack::pop — Pop an item from the stack
  • Parle\Stack::push — Push an item into the stack


Pop an item from the stack

  • « Parle\Stack
  • Parle\Stack::push »
  • PHP Manual
  • Parle\Stack
  • Pop an item from the stack

Parle\Stack::pop

(PECL parle >= 0.5.1)

Parle\Stack::pop — Pop an item from the stack

Descrição

public Parle\Stack::pop ( ) : void

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Push an item into the stack

  • « Parle\Stack::pop
  • Parle\Token »
  • PHP Manual
  • Parle\Stack
  • Push an item into the stack

Parle\Stack::push

(PECL parle >= 0.5.1)

Parle\Stack::push — Push an item into the stack

Descrição

public Parle\Stack::push ( mixed $item ) : void

Parâmetros

item

Variable to be pushed.

Valor Retornado

Não há valor retornado.


The Parle\Token class

(PECL parle >= 0.5.2)

Introdução

This class represents a token. Lexer returns instances of this class.

Sinopse da classe

Parle\Token {
/* Constants */
const int EOI = 0 ;
const int UNKNOWN = -1 ;
const int SKIP = -2 ;
/* Propriedades */
public int $id ;
public string $value ;
/* Métodos */
}

Propriedades

id

Token id.

value

Token value.

Constantes pré-definidas

Parle\Token::EOI

End of input token id.

Parle\Token::UNKNOWN

Unknown token id.

Parle\Token::SKIP

Skip token id.


The Parle\ErrorInfo class

(PECL parle >= 0.5.2)

Introdução

The class represents detailed error information as supplied by Parle\Parser::errorInfo()

Sinopse da classe

Parle\ErrorInfo {
/* Propriedades */
public int $id ;
public int $position ;
public mixed $token ;
/* Métodos */
}

Propriedades

id

Error id.

position

Position in the input, where the error occurred.

token

If applicable - the Parle\Token related to the error, otherwise null.


The Parle\LexerException class

(PECL parle >= 0.5.1)

Introdução

Sinopse da classe

Parle\LexerException extends Exception implements Throwable {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


The Parle\ParserException class

(PECL parle >= 0.5.1)

Introdução

Sinopse da classe

Parle\ParserException extends Exception implements Throwable {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


Expressões Regulares (Compatíveis com Perl)

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Padrões PCRE
    • PCRE regex syntax — Pattern Syntax
    • Descreve possíveis modificadores no padrão regex — Modificadores do Padrão
    • Differences From Perl — Perl Differences
    • Differences from POSIX regex
  • Funções da PCRE
    • preg_filter — Perform a regular expression search and replace
    • preg_grep — Retorna as entradas do array que combinaram com o padrão
    • preg_last_error_msg — Returns the error message of the last PCRE regex execution
    • preg_last_error — Retorna o código de erro da última regex PCRE executada
    • preg_match_all — Perform a global regular expression match
    • preg_match — Perform a regular expression match
    • preg_quote — Adiciona escape em caracteres da expressão regular
    • preg_replace_callback_array — Perform a regular expression search and replace using callbacks
    • preg_replace_callback — Executa uma busca usando expressão regular e modifica usando um callback
    • preg_replace — Realiza uma pesquisa por uma expressão regular e a substitui.
    • preg_split — Divide a string por uma expressão regular


Introdução

A sintaxe para padrões usados nestas funções assemelham-se com Perl. A expressão precisa estar incluída entre delimitadores, uma barra (/), por exemplo. Qualquer caractere pode ser usado para delimitar desde que não seja alfanumérico ou backslash (\). Se o caractere delimitador tem de ser usado na própria expressão, ele necessitará de escape. Desde o PHP 4.0.4, você pode também usar delimitadores Perl-style (), {}, [], e <>. Veja Sintaxe do Padrão para mais detalhes.

No final do delimitador pode ser seguido por vários modificadores que afetam a combinação. Veja Modificadores do Padrão.

PHP também suporta expressões regulares usando a sintaxe POSIX-estendido utilizando as funções para regex no padrão POSIX-estendido.

Nota:

Esta extensão mantém uma global por thread cache da expressão regular compilada (até 4096).

Aviso

Você precisa estar ciente de algumas limitações da PCRE. Leia » http://www.pcre.org/pcre.txt para mais informações.

A biblioteca PCRE fornece um conjunto de funções que implementam pattern matching de expressões regulares usando a mesma sintaxe e semântica do Perl 5, com apenas algumas diferenças (veja abaixo). A atual implementação corresponde ao Perl 5.005.


Instalação

Desde o PHP 4.2.0 estas funções são disponíveis por padrão. Você pode torná-las indisponível com --without-pcre-regex. Use --with-pcre-regex=DIR para especificar o diretório onde está localizado os arquivos da biblioteca PCRE, caso não use a biblioteca empacotada. Em antigas versões você precisava configurar e compilar o PHP com --with-pcre-regex[=DIR] para usar estas funções.

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.

Nota:

A partir do PHP 5.3.0 esta extensão não ser desabilitada, portanto, estará sempre presente.

É ainda possível compilar com uma biblioteca PCRE externa usando --with-pcre-regex=DIR


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração da PCRE
Nome | Padrão | Modificável | Changelog
pcre.backtrack_limit | "1000000" | PHP_INI_ALL | Disponível desde o PHP 5.2.0.
pcre.recursion_limit | "100000" | PHP_INI_ALL | Disponível desde o PHP 5.2.0.
pcre.jit | "1" | PHP_INI_ALL | Disponível desde o PHP 7.0.0.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

pcre.backtrack_limit integer

Limite de backtracking da PCRE. Padrão em 100000 para PHP < 5.3.7.

pcre.recursion_limit integer

Limite de recursões da PCRE. Nota que se você definir este valor para um número bem alto poderá consumir toda a pilha de processo disponível e eventualmente travar o PHP (devido a alcançar o limite do tamanho da pilha imposto pelo Sistema Operacional).

pcre.jit boolean

Configura se a compilação just-in-time do PCRE será utilizada.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

PREG constantes
Constante | Descrição | Desde
PREG_PATTERN_ORDER | Ordena os resultados de modo que $matches[0] seja um array de todas as combinações do padrão. $matches[1] é um array de strings combinadas pelo primeiro subpadrão, e assim por diante. Esta flag é somente usada com preg_match_all(). |
PREG_SET_ORDER | Ordena os resultados de modo que $matches[0] seja um array do primeiro conjunto de combinações, $matches[1] é um array do segundo conjunto de combinações, e assim por diante. Esta flag é somente usada com preg_match_all(). |
PREG_OFFSET_CAPTURE | Veja a descrição da PREG_SPLIT_OFFSET_CAPTURE. | 4.3.0
PREG_SPLIT_NO_EMPTY | Esta flag diz a preg_split() não retornar pedaços em branco. |
PREG_SPLIT_DELIM_CAPTURE | Esta flag diz a preg_split() capturar expressões entre parênteses no delimitador do padrão também. | 4.0.5
PREG_SPLIT_OFFSET_CAPTURE | Se esta flag é usada, para cada combinação será retornada também a posição da string. Note que esta modificação retorna valores em um array onde cada elemento é um array consistindo da string combinada no índice 0 e a posição na string alvo na índice 1. Esta flag somente é utilizada por preg_split(). | 4.3.0
PREG_UNMATCHED_AS_NULL | Esta flag informa a preg_match() e preg_match_all() para incluir subpadrões não combinados em $matches como null. Sem essa flag, subpadrões sem combinação são reportados como strings vazias, como se fosse combinações vazias. Informar essa flag permite diferencia entre esses dois casos. | 7.2.0
PREG_NO_ERROR | Retornado pela preg_last_error() se não haver erros. | 5.2.0
PREG_INTERNAL_ERROR | Retornado pela preg_last_error() se houve um erro interno na PCRE. | 5.2.0
PREG_BACKTRACK_LIMIT_ERROR | Retornado pela preg_last_error() se backtrack limit foi esgotado. | 5.2.0
PREG_RECURSION_LIMIT_ERROR | Retornado pela preg_last_error() se recursion limit foi esgotado. | 5.2.0
PREG_BAD_UTF8_ERROR | Retornado pela preg_last_error() se o último erro foi causado por informação deformada em UTF-8 (somente quando usado a regex em modo UTF-8). | 5.2.0
PREG_BAD_UTF8_OFFSET_ERROR | Retornado pela preg_last_error() se o offset não correspondeu ao início de um válido code point UTF-8 (somente quando executando uma regex em modo UTF-8). | 5.3.0
PREG_JIT_STACKLIMIT_ERROR | Retornado por preg_last_error() se a última função PCRE falhou por falta de JIT stack space. | 7.0.0
PCRE_VERSION | Versão da PCRE e data de liberação (e.g. "7.0 18-Dec-2006"). | 5.2.4


Exemplos

Exemplo #1 Exemplos de padrões válidos

  • /<\/\w+>/
  • |(\d{3})-\d+|Sm
  • /^(?i)php[34]/
  • {^\s+(\s+)?$}

Exemplo #2 Exemplos de padrões inválidos

  • /href='(.*)' - faltando o delimitador final
  • /\w+\s*\w+/J - modificador 'J' desconhecido
  • 1-\d3-\d3-\d4| - faltando delimitador inicial


Padrões PCRE

Índice

  • PCRE regex syntax
  • Descreve possíveis modificadores no padrão regex
  • Differences From Perl
  • Differences from POSIX regex


Pattern Syntax

Índice

  • Introduction
  • Delimiters
  • Meta-characters
  • Escape sequences
  • Unicode character properties
  • Anchors
  • Dot
  • Character classes
  • Alternation
  • Internal option setting
  • Subpatterns
  • Repetition
  • Back references
  • Assertions
  • Once-only subpatterns
  • Conditional subpatterns
  • Comments
  • Recursive patterns
  • Performance


Introduction

The syntax and semantics of the regular expressions supported by PCRE are described below. Regular expressions are also described in the Perl documentation and in a number of other books, some of which have copious examples. Jeffrey Friedl's "Mastering Regular Expressions", published by O'Reilly (ISBN 1-56592-257-3), covers them in great detail. The description here is intended as reference documentation.

A regular expression is a pattern that is matched against a subject string from left to right. Most characters stand for themselves in a pattern, and match the corresponding characters in the subject. As a trivial example, the pattern The quick brown fox matches a portion of a subject string that is identical to itself.


Delimiters

When using the PCRE functions, it is required that the pattern is enclosed by delimiters. A delimiter can be any non-alphanumeric, non-backslash, non-whitespace character.

Often used delimiters are forward slashes (/), hash signs (#) and tildes (~). The following are all examples of valid delimited patterns.

/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%

It is also possible to use bracket style delimiters where the opening and closing brackets are the starting and ending delimiter, respectively. (), {}, [] and <> are all valid bracket style delimiter pairs.

(this [is] a (pattern))
{this [is] a (pattern)}
[this [is] a (pattern)]
<this [is] a (pattern)>
Bracket style delimiters do not need to be escaped when they are used as meta characters within the pattern, but as with other delimiters they must be escaped when they are used as literal characters.

If the delimiter needs to be matched inside the pattern it must be escaped using a backslash. If the delimiter appears often inside the pattern, it is a good idea to choose another delimiter in order to increase readability.

/http:\/\//
#http://#
The preg_quote() function may be used to escape a string for injection into a pattern and its optional second parameter may be used to specify the delimiter to be escaped.

You may add pattern modifiers after the ending delimiter. The following is an example of case-insensitive matching:

#[a-z]#i


Meta-characters

The power of regular expressions comes from the ability to include alternatives and repetitions in the pattern. These are encoded in the pattern by the use of meta-characters, which do not stand for themselves but instead are interpreted in some special way.

There are two different sets of meta-characters: those that are recognized anywhere in the pattern except within square brackets, and those that are recognized in square brackets. Outside square brackets, the meta-characters are as follows:

Meta-characters outside square brackets
Meta-character | Description
\ | general escape character with several uses
^ | assert start of subject (or line, in multiline mode)
$ | assert end of subject or before a terminating newline (or end of line, in multiline mode)
. | match any character except newline (by default)
[ | start character class definition
] | end character class definition
| | start of alternative branch
( | start subpattern
) | end subpattern
? | extends the meaning of (, also 0 or 1 quantifier, also makes greedy quantifiers lazy (see repetition)
* | 0 or more quantifier
+ | 1 or more quantifier
{ | start min/max quantifier
} | end min/max quantifier
Part of a pattern that is in square brackets is called a character class. In a character class the only meta-characters are:
Meta-characters inside square brackets (character classes)
Meta-character | Description
\ | general escape character
^ | negate the class, but only if the first character
- | indicates character range
The following sections describe the use of each of the meta-characters.


Escape sequences

The backslash character has several uses. Firstly, if it is followed by a non-alphanumeric character, it takes away any special meaning that character may have. This use of backslash as an escape character applies both inside and outside character classes.

For example, if you want to match a "*" character, you write "\*" in the pattern. This applies whether or not the following character would otherwise be interpreted as a meta-character, so it is always safe to precede a non-alphanumeric with "\" to specify that it stands for itself. In particular, if you want to match a backslash, you write "\\".

Nota:

Single and double quoted PHP strings have special meaning of backslash. Thus if \ has to be matched with a regular expression \\, then "\\\\" or '\\\\' must be used in PHP code.

If a pattern is compiled with the PCRE_EXTENDED option, whitespace in the pattern (other than in a character class) and characters between a "#" outside a character class and the next newline character are ignored. An escaping backslash can be used to include a whitespace or "#" character as part of the pattern.

A second use of backslash provides a way of encoding non-printing characters in patterns in a visible manner. There is no restriction on the appearance of non-printing characters, apart from the binary zero that terminates a pattern, but when a pattern is being prepared by text editing, it is usually easier to use one of the following escape sequences than the binary character it represents:

\a
alarm, that is, the BEL character (hex 07)
\cx
"control-x", where x is any character
\e
escape (hex 1B)
\f
formfeed (hex 0C)
\n
newline (hex 0A)
\p{xx}
a character with the xx property, see unicode properties for more info
\P{xx}
a character without the xx property, see unicode properties for more info
\r
carriage return (hex 0D)
\R
line break: matches \n, \r and \r\n
\t
tab (hex 09)
\xhh
character with hex code hh
\ddd
character with octal code ddd, or backreference

The precise effect of "\cx" is as follows: if "x" is a lower case letter, it is converted to upper case. Then bit 6 of the character (hex 40) is inverted. Thus "\cz" becomes hex 1A, but "\c{" becomes hex 3B, while "\c;" becomes hex 7B.

After "\x", up to two hexadecimal digits are read (letters can be in upper or lower case). In UTF-8 mode, "\x{...}" is allowed, where the contents of the braces is a string of hexadecimal digits. It is interpreted as a UTF-8 character whose code number is the given hexadecimal number. The original hexadecimal escape sequence, \xhh, matches a two-byte UTF-8 character if the value is greater than 127.

After "\0" up to two further octal digits are read. In both cases, if there are fewer than two digits, just those that are present are used. Thus the sequence "\0\x\07" specifies two binary zeros followed by a BEL character. Make sure you supply two digits after the initial zero if the character that follows is itself an octal digit.

The handling of a backslash followed by a digit other than 0 is complicated. Outside a character class, PCRE reads it and any following digits as a decimal number. If the number is less than 10, or if there have been at least that many previous capturing left parentheses in the expression, the entire sequence is taken as a back reference. A description of how this works is given later, following the discussion of parenthesized subpatterns.

Inside a character class, or if the decimal number is greater than 9 and there have not been that many capturing subpatterns, PCRE re-reads up to three octal digits following the backslash, and generates a single byte from the least significant 8 bits of the value. Any subsequent digits stand for themselves. For example:

\040
is another way of writing a space
\40
is the same, provided there are fewer than 40 previous capturing subpatterns
\7
is always a back reference
\11
might be a back reference, or another way of writing a tab
\011
is always a tab
\0113
is a tab followed by the character "3"
\113
is the character with octal code 113 (since there can be no more than 99 back references)
\377
is a byte consisting entirely of 1 bits
\81
is either a back reference, or a binary zero followed by the two characters "8" and "1"

Note that octal values of 100 or greater must not be introduced by a leading zero, because no more than three octal digits are ever read.

All the sequences that define a single byte value can be used both inside and outside character classes. In addition, inside a character class, the sequence "\b" is interpreted as the backspace character (hex 08). Outside a character class it has a different meaning (see below).

The third use of backslash is for specifying generic character types:

\d
any decimal digit
\D
any character that is not a decimal digit
\h
any horizontal whitespace character (since PHP 5.2.4)
\H
any character that is not a horizontal whitespace character (since PHP 5.2.4)
\s
any whitespace character
\S
any character that is not a whitespace character
\v
any vertical whitespace character (since PHP 5.2.4)
\V
any character that is not a vertical whitespace character (since PHP 5.2.4)
\w
any "word" character
\W
any "non-word" character

Each pair of escape sequences partitions the complete set of characters into two disjoint sets. Any given character matches one, and only one, of each pair.

The "whitespace" characters are HT (9), LF (10), FF (12), CR (13), and space (32). However, if locale-specific matching is happening, characters with code points in the range 128-255 may also be considered as whitespace characters, for instance, NBSP (A0).

A "word" character is any letter or digit or the underscore character, that is, any character which can be part of a Perl "word". The definition of letters and digits is controlled by PCRE's character tables, and may vary if locale-specific matching is taking place. For example, in the "fr" (French) locale, some character codes greater than 128 are used for accented letters, and these are matched by \w.

These character type sequences can appear both inside and outside character classes. They each match one character of the appropriate type. If the current matching point is at the end of the subject string, all of them fail, since there is no character to match.

The fourth use of backslash is for certain simple assertions. An assertion specifies a condition that has to be met at a particular point in a match, without consuming any characters from the subject string. The use of subpatterns for more complicated assertions is described below. The backslashed assertions are

\b
word boundary
\B
not a word boundary
\A
start of subject (independent of multiline mode)
\Z
end of subject or newline at end (independent of multiline mode)
\z
end of subject (independent of multiline mode)
\G
first matching position in subject

These assertions may not appear in character classes (but note that "\b" has a different meaning, namely the backspace character, inside a character class).

A word boundary is a position in the subject string where the current character and the previous character do not both match \w or \W (i.e. one matches \w and the other matches \W), or the start or end of the string if the first or last character matches \w, respectively.

The \A, \Z, and \z assertions differ from the traditional circumflex and dollar (described in anchors ) in that they only ever match at the very start and end of the subject string, whatever options are set. They are not affected by the PCRE_MULTILINE or PCRE_DOLLAR_ENDONLY options. The difference between \Z and \z is that \Z matches before a newline that is the last character of the string as well as at the end of the string, whereas \z matches only at the end.

The \G assertion is true only when the current matching position is at the start point of the match, as specified by the offset argument of preg_match(). It differs from \A when the value of offset is non-zero.

\Q and \E can be used to ignore regexp metacharacters in the pattern. For example: \w+\Q.$.\E$ will match one or more word characters, followed by literals .$. and anchored at the end of the string.

\K can be used to reset the match start since PHP 5.2.4. For example, the pattern foo\Kbar matches "foobar", but reports that it has matched "bar". The use of \K does not interfere with the setting of captured substrings. For example, when the pattern (foo)\Kbar matches "foobar", the first substring is still set to "foo".


Unicode character properties

Since 5.1.0, three additional escape sequences to match generic character types are available when UTF-8 mode is selected. They are:

\p{xx}
a character with the xx property
\P{xx}
a character without the xx property
\X
an extended Unicode sequence

The property names represented by xx above are limited to the Unicode general category properties. Each character has exactly one such property, specified by a two-letter abbreviation. For compatibility with Perl, negation can be specified by including a circumflex between the opening brace and the property name. For example, \p{^Lu} is the same as \P{Lu}.

If only one letter is specified with \p or \P, it includes all the properties that start with that letter. In this case, in the absence of negation, the curly brackets in the escape sequence are optional; these two examples have the same effect:

\p{L}
\pL

Supported property codes
Property | Matches | Notes
C | Other |
Cc | Control |
Cf | Format |
Cn | Unassigned |
Co | Private use |
Cs | Surrogate |
L | Letter | Includes the following properties: Ll, Lm, Lo, Lt and Lu.
Ll | Lower case letter |
Lm | Modifier letter |
Lo | Other letter |
Lt | Title case letter |
Lu | Upper case letter |
M | Mark |
Mc | Spacing mark |
Me | Enclosing mark |
Mn | Non-spacing mark |
N | Number |
Nd | Decimal number |
Nl | Letter number |
No | Other number |
P | Punctuation |
Pc | Connector punctuation |
Pd | Dash punctuation |
Pe | Close punctuation |
Pf | Final punctuation |
Pi | Initial punctuation |
Po | Other punctuation |
Ps | Open punctuation |
S | Symbol |
Sc | Currency symbol |
Sk | Modifier symbol |
Sm | Mathematical symbol |
So | Other symbol |
Z | Separator |
Zl | Line separator |
Zp | Paragraph separator |
Zs | Space separator |

Extended properties such as InMusicalSymbols are not supported by PCRE.

Specifying case-insensitive (caseless) matching does not affect these escape sequences. For example, \p{Lu} always matches only upper case letters.

Sets of Unicode characters are defined as belonging to certain scripts. A character from one of these sets can be matched using a script name. For example:

  • \p{Greek}
  • \P{Han}

Those that are not part of an identified script are lumped together as Common. The current list of scripts is:

Supported scripts
Arabic | Armenian | Avestan | Balinese | Bamum
Batak | Bengali | Bopomofo | Brahmi | Braille
Buginese | Buhid | Canadian_Aboriginal | Carian | Chakma
Cham | Cherokee | Common | Coptic | Cuneiform
Cypriot | Cyrillic | Deseret | Devanagari | Egyptian_Hieroglyphs
Ethiopic | Georgian | Glagolitic | Gothic | Greek
Gujarati | Gurmukhi | Han | Hangul | Hanunoo
Hebrew | Hiragana | Imperial_Aramaic | Inherited | Inscriptional_Pahlavi
Inscriptional_Parthian | Javanese | Kaithi | Kannada | Katakana
Kayah_Li | Kharoshthi | Khmer | Lao | Latin
Lepcha | Limbu | Linear_B | Lisu | Lycian
Lydian | Malayalam | Mandaic | Meetei_Mayek | Meroitic_Cursive
Meroitic_Hieroglyphs | Miao | Mongolian | Myanmar | New_Tai_Lue
Nko | Ogham | Old_Italic | Old_Persian | Old_South_Arabian
Old_Turkic | Ol_Chiki | Oriya | Osmanya | Phags_Pa
Phoenician | Rejang | Runic | Samaritan | Saurashtra
Sharada | Shavian | Sinhala | Sora_Sompeng | Sundanese
Syloti_Nagri | Syriac | Tagalog | Tagbanwa | Tai_Le
Tai_Tham | Tai_Viet | Takri | Tamil | Telugu
Thaana | Thai | Tibetan | Tifinagh | Ugaritic
Vai | Yi |  |  |

The \X escape matches a Unicode extended grapheme cluster. An extended grapheme cluster is one or more Unicode characters that combine to form a single glyph. In effect, this can be thought of as the Unicode equivalent of . as it will match one composed character, regardless of how many individual characters are actually used to render it.

In versions of PCRE older than 8.32 (which corresponds to PHP versions before 5.4.14 when using the bundled PCRE library), \X is equivalent to (?>\PM\pM*). That is, it matches a character without the "mark" property, followed by zero or more characters with the "mark" property, and treats the sequence as an atomic group (see below). Characters with the "mark" property are typically accents that affect the preceding character.

Matching characters by Unicode property is not fast, because PCRE has to search a structure that contains data for over fifteen thousand characters. That is why the traditional escape sequences such as \d and \w do not use Unicode properties in PCRE.


Anchors

Outside a character class, in the default matching mode, the circumflex character (^) is an assertion which is true only if the current matching point is at the start of the subject string. Inside a character class, circumflex (^) has an entirely different meaning (see below).

Circumflex (^) need not be the first character of the pattern if a number of alternatives are involved, but it should be the first thing in each alternative in which it appears if the pattern is ever to match that branch. If all possible alternatives start with a circumflex (^), that is, if the pattern is constrained to match only at the start of the subject, it is said to be an "anchored" pattern. (There are also other constructs that can cause a pattern to be anchored.)

A dollar character ($) is an assertion which is true only if the current matching point is at the end of the subject string, or immediately before a newline character that is the last character in the string (by default). Dollar ($) need not be the last character of the pattern if a number of alternatives are involved, but it should be the last item in any branch in which it appears. Dollar has no special meaning in a character class.

The meaning of dollar can be changed so that it matches only at the very end of the string, by setting the PCRE_DOLLAR_ENDONLY option at compile or matching time. This does not affect the \Z assertion.

The meanings of the circumflex and dollar characters are changed if the PCRE_MULTILINE option is set. When this is the case, they match immediately after and immediately before an internal "\n" character, respectively, in addition to matching at the start and end of the subject string. For example, the pattern /^abc$/ matches the subject string "def\nabc" in multiline mode, but not otherwise. Consequently, patterns that are anchored in single line mode because all branches start with "^" are not anchored in multiline mode. The PCRE_DOLLAR_ENDONLY option is ignored if PCRE_MULTILINE is set.

Note that the sequences \A, \Z, and \z can be used to match the start and end of the subject in both modes, and if all branches of a pattern start with \A is it always anchored, whether PCRE_MULTILINE is set or not.


Dot

Outside a character class, a dot in the pattern matches any one character in the subject, including a non-printing character, but not (by default) newline. If the PCRE_DOTALL option is set, then dots match newlines as well. The handling of dot is entirely independent of the handling of circumflex and dollar, the only relationship being that they both involve newline characters. Dot has no special meaning in a character class.

\C can be used to match single byte. It makes sense in UTF-8 mode where full stop matches the whole character which can consist of multiple bytes.


Character classes

An opening square bracket introduces a character class, terminated by a closing square bracket. A closing square bracket on its own is not special. If a closing square bracket is required as a member of the class, it should be the first data character in the class (after an initial circumflex, if present) or escaped with a backslash.

A character class matches a single character in the subject; the character must be in the set of characters defined by the class, unless the first character in the class is a circumflex, in which case the subject character must not be in the set defined by the class. If a circumflex is actually required as a member of the class, ensure it is not the first character, or escape it with a backslash.

For example, the character class [aeiou] matches any lower case vowel, while [^aeiou] matches any character that is not a lower case vowel. Note that a circumflex is just a convenient notation for specifying the characters which are in the class by enumerating those that are not. It is not an assertion: it still consumes a character from the subject string, and fails if the current pointer is at the end of the string.

When case-insensitive (caseless) matching is set, any letters in a class represent both their upper case and lower case versions, so for example, an insensitive [aeiou] matches "A" as well as "a", and an insensitive [^aeiou] does not match "A", whereas a sensitive (caseful) version would.

The newline character is never treated in any special way in character classes, whatever the setting of the PCRE_DOTALL or PCRE_MULTILINE options is. A class such as [^a] will always match a newline.

The minus (hyphen) character can be used to specify a range of characters in a character class. For example, [d-m] matches any letter between d and m, inclusive. If a minus character is required in a class, it must be escaped with a backslash or appear in a position where it cannot be interpreted as indicating a range, typically as the first or last character in the class.

It is not possible to have the literal character "]" as the end character of a range. A pattern such as [W-]46] is interpreted as a class of two characters ("W" and "-") followed by a literal string "46]", so it would match "W46]" or "-46]". However, if the "]" is escaped with a backslash it is interpreted as the end of range, so [W-\]46] is interpreted as a single class containing a range followed by two separate characters. The octal or hexadecimal representation of "]" can also be used to end a range.

Ranges operate in ASCII collating sequence. They can also be used for characters specified numerically, for example [\000-\037]. If a range that includes letters is used when case-insensitive (caseless) matching is set, it matches the letters in either case. For example, [W-c] is equivalent to [][\^_`wxyzabc], matched case-insensitively, and if character tables for the "fr" locale are in use, [\xc8-\xcb] matches accented E characters in both cases.

The character types \d, \D, \s, \S, \w, and \W may also appear in a character class, and add the characters that they match to the class. For example, [\dABCDEF] matches any hexadecimal digit. A circumflex can conveniently be used with the upper case character types to specify a more restricted set of characters than the matching lower case type. For example, the class [^\W_] matches any letter or digit, but not underscore.

All non-alphanumeric characters other than \, -, ^ (at the start) and the terminating ] are non-special in character classes, but it does no harm if they are escaped. The pattern terminator is always special and must be escaped when used within an expression.

Perl supports the POSIX notation for character classes. This uses names enclosed by [: and :] within the enclosing square brackets. PCRE also supports this notation. For example, [01[:alpha:]%] matches "0", "1", any alphabetic character, or "%". The supported class names are:

Character classes
alnum | letters and digits
alpha | letters
ascii | character codes 0 - 127
blank | space or tab only
cntrl | control characters
digit | decimal digits (same as \d)
graph | printing characters, excluding space
lower | lower case letters
print | printing characters, including space
punct | printing characters, excluding letters and digits
space | white space (not quite the same as \s)
upper | upper case letters
word | "word" characters (same as \w)
xdigit | hexadecimal digits
The space characters are HT (9), LF (10), VT (11), FF (12), CR (13), and space (32). Notice that this list includes the VT character (code 11). This makes "space" different to \s, which does not include VT (for Perl compatibility).

The name word is a Perl extension, and blank is a GNU extension from Perl 5.8. Another Perl extension is negation, which is indicated by a ^ character after the colon. For example, [12[:^digit:]] matches "1", "2", or any non-digit.

In UTF-8 mode, characters with values greater than 128 do not match any of the POSIX character classes. As of PHP 5.3.0 and libpcre 8.10 some character classes are changed to use Unicode character properties, in which case the mentioned restriction does not apply. Refer to the » PCRE(3) manual for details.

Unicode character properties can appear inside a character class. They can not be part of a range. The minus (hyphen) character after a Unicode character class will match literally. Trying to end a range with a Unicode character property will result in a warning.


Alternation

Vertical bar characters are used to separate alternative patterns. For example, the pattern gilbert|sullivan matches either "gilbert" or "sullivan". Any number of alternatives may appear, and an empty alternative is permitted (matching the empty string). The matching process tries each alternative in turn, from left to right, and the first one that succeeds is used. If the alternatives are within a subpattern (defined below), "succeeds" means matching the rest of the main pattern as well as the alternative in the subpattern.


Internal option setting

The settings of PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, PCRE_UNGREEDY, PCRE_EXTRA, PCRE_EXTENDED and PCRE_DUPNAMES can be changed from within the pattern by a sequence of Perl option letters enclosed between "(?" and ")". The option letters are:

Internal option letters
i | for PCRE_CASELESS
m | for PCRE_MULTILINE
s | for PCRE_DOTALL
x | for PCRE_EXTENDED
U | for PCRE_UNGREEDY
X | for PCRE_EXTRA (no longer supported as of PHP 7.3.0)
J | for PCRE_INFO_JCHANGED

For example, (?im) sets case-insensitive (caseless), multiline matching. It is also possible to unset these options by preceding the letter with a hyphen, and a combined setting and unsetting such as (?im-sx), which sets PCRE_CASELESS and PCRE_MULTILINE while unsetting PCRE_DOTALL and PCRE_EXTENDED, is also permitted. If a letter appears both before and after the hyphen, the option is unset.

When an option change occurs at top level (that is, not inside subpattern parentheses), the change applies to the remainder of the pattern that follows. So /ab(?i)c/ matches only "abc" and "abC".

If an option change occurs inside a subpattern, the effect is different. This is a change of behaviour in Perl 5.005. An option change inside a subpattern affects only that part of the subpattern that follows it, so (a(?i)b)c matches abc and aBc and no other strings (assuming PCRE_CASELESS is not used). By this means, options can be made to have different settings in different parts of the pattern. Any changes made in one alternative do carry on into subsequent branches within the same subpattern. For example, (a(?i)b|c) matches "ab", "aB", "c", and "C", even though when matching "C" the first branch is abandoned before the option setting. This is because the effects of option settings happen at compile time. There would be some very weird behaviour otherwise.

The PCRE-specific options PCRE_UNGREEDY and PCRE_EXTRA can be changed in the same way as the Perl-compatible options by using the characters U and X respectively. The (?X) flag setting is special in that it must always occur earlier in the pattern than any of the additional features it turns on, even when it is at top level. It is best put at the start.


Subpatterns

Subpatterns are delimited by parentheses (round brackets), which can be nested. Marking part of a pattern as a subpattern does two things:

  1. It localizes a set of alternatives. For example, the pattern cat(aract|erpillar|) matches one of the words "cat", "cataract", or "caterpillar". Without the parentheses, it would match "cataract", "erpillar" or the empty string.

  2. It sets up the subpattern as a capturing subpattern (as defined above). When the whole pattern matches, that portion of the subject string that matched the subpattern is passed back to the caller via the ovector argument of pcre_exec(). Opening parentheses are counted from left to right (starting from 1) to obtain the numbers of the capturing subpatterns.

For example, if the string "the red king" is matched against the pattern the ((red|white) (king|queen)) the captured substrings are "red king", "red", and "king", and are numbered 1, 2, and 3.

The fact that plain parentheses fulfill two functions is not always helpful. There are often times when a grouping subpattern is required without a capturing requirement. If an opening parenthesis is followed by "?:", the subpattern does not do any capturing, and is not counted when computing the number of any subsequent capturing subpatterns. For example, if the string "the white queen" is matched against the pattern the ((?:red|white) (king|queen)) the captured substrings are "white queen" and "queen", and are numbered 1 and 2. The maximum number of captured substrings is 65535. It may not be possible to compile such large patterns, however, depending on the configuration options of libpcre.

As a convenient shorthand, if any option settings are required at the start of a non-capturing subpattern, the option letters may appear between the "?" and the ":". Thus the two patterns

(?i:saturday|sunday)
(?:(?i)saturday|sunday)

match exactly the same set of strings. Because alternative branches are tried from left to right, and options are not reset until the end of the subpattern is reached, an option setting in one branch does affect subsequent branches, so the above patterns match "SUNDAY" as well as "Saturday".

It is possible to name a subpattern using the syntax (?P<name>pattern). This subpattern will then be indexed in the matches array by its normal numeric position and also by name. PHP 5.2.2 introduced two alternative syntaxes (?<name>pattern) and (?'name'pattern).

Sometimes it is necessary to have multiple matching, but alternating subgroups in a regular expression. Normally, each of these would be given their own backreference number even though only one of them would ever possibly match. To overcome this, the (?| syntax allows having duplicate numbers. Consider the following regex matched against the string Sunday:

(?:(Sat)ur|(Sun))day

Here Sun is stored in backreference 2, while backreference 1 is empty. Matching yields Sat in backreference 1 while backreference 2 does not exist. Changing the pattern to use the (?| fixes this problem:

(?|(Sat)ur|(Sun))day

Using this pattern, both Sun and Sat would be stored in backreference 1.


Repetition

Repetition is specified by quantifiers, which can follow any of the following items:

  • a single character, possibly escaped
  • the . metacharacter
  • a character class
  • a back reference (see next section)
  • a parenthesized subpattern (unless it is an assertion - see below)

The general repetition quantifier specifies a minimum and maximum number of permitted matches, by giving the two numbers in curly brackets (braces), separated by a comma. The numbers must be less than 65536, and the first must be less than or equal to the second. For example: z{2,4} matches "zz", "zzz", or "zzzz". A closing brace on its own is not a special character. If the second number is omitted, but the comma is present, there is no upper limit; if the second number and the comma are both omitted, the quantifier specifies an exact number of required matches. Thus [aeiou]{3,} matches at least 3 successive vowels, but may match many more, while \d{8} matches exactly 8 digits. An opening curly bracket that appears in a position where a quantifier is not allowed, or one that does not match the syntax of a quantifier, is taken as a literal character. For example, {,6} is not a quantifier, but a literal string of four characters.

The quantifier {0} is permitted, causing the expression to behave as if the previous item and the quantifier were not present.

For convenience (and historical compatibility) the three most common quantifiers have single-character abbreviations:

Single-character quantifiers
* | equivalent to {0,}
+ | equivalent to {1,}
? | equivalent to {0,1}

It is possible to construct infinite loops by following a subpattern that can match no characters with a quantifier that has no upper limit, for example: (a?)*

Earlier versions of Perl and PCRE used to give an error at compile time for such patterns. However, because there are cases where this can be useful, such patterns are now accepted, but if any repetition of the subpattern does in fact match no characters, the loop is forcibly broken.

By default, the quantifiers are "greedy", that is, they match as much as possible (up to the maximum number of permitted times), without causing the rest of the pattern to fail. The classic example of where this gives problems is in trying to match comments in C programs. These appear between the sequences /* and */ and within the sequence, individual * and / characters may appear. An attempt to match C comments by applying the pattern /\*.*\*/ to the string /* first comment */ not comment /* second comment */ fails, because it matches the entire string due to the greediness of the .* item.

However, if a quantifier is followed by a question mark, then it becomes lazy, and instead matches the minimum number of times possible, so the pattern /\*.*?\*/ does the right thing with the C comments. The meaning of the various quantifiers is not otherwise changed, just the preferred number of matches. Do not confuse this use of question mark with its use as a quantifier in its own right. Because it has two uses, it can sometimes appear doubled, as in \d??\d which matches one digit by preference, but can match two if that is the only way the rest of the pattern matches.

If the PCRE_UNGREEDY option is set (an option which is not available in Perl) then the quantifiers are not greedy by default, but individual ones can be made greedy by following them with a question mark. In other words, it inverts the default behaviour.

Quantifiers followed by + are "possessive". They eat as many characters as possible and don't return to match the rest of the pattern. Thus .*abc matches "aabc" but .*+abc doesn't because .*+ eats the whole string. Possessive quantifiers can be used to speed up processing.

When a parenthesized subpattern is quantified with a minimum repeat count that is greater than 1 or with a limited maximum, more store is required for the compiled pattern, in proportion to the size of the minimum or maximum.

If a pattern starts with .* or .{0,} and the PCRE_DOTALL option (equivalent to Perl's /s) is set, thus allowing the . to match newlines, then the pattern is implicitly anchored, because whatever follows will be tried against every character position in the subject string, so there is no point in retrying the overall match at any position after the first. PCRE treats such a pattern as though it were preceded by \A. In cases where it is known that the subject string contains no newlines, it is worth setting PCRE_DOTALL when the pattern begins with .* in order to obtain this optimization, or alternatively using ^ to indicate anchoring explicitly.

When a capturing subpattern is repeated, the value captured is the substring that matched the final iteration. For example, after (tweedle[dume]{3}\s*)+ has matched "tweedledum tweedledee" the value of the captured substring is "tweedledee". However, if there are nested capturing subpatterns, the corresponding captured values may have been set in previous iterations. For example, after /(a|(b))+/ matches "aba" the value of the second captured substring is "b".


Back references

Outside a character class, a backslash followed by a digit greater than 0 (and possibly further digits) is a back reference to a capturing subpattern earlier (i.e. to its left) in the pattern, provided there have been that many previous capturing left parentheses.

However, if the decimal number following the backslash is less than 10, it is always taken as a back reference, and causes an error only if there are not that many capturing left parentheses in the entire pattern. In other words, the parentheses that are referenced need not be to the left of the reference for numbers less than 10. A "forward back reference" can make sense when a repetition is involved and the subpattern to the right has participated in an earlier iteration. See the section entitled "Backslash" above for further details of the handling of digits following a backslash.

A back reference matches whatever actually matched the capturing subpattern in the current subject string, rather than anything matching the subpattern itself. So the pattern (sens|respons)e and \1ibility matches "sense and sensibility" and "response and responsibility", but not "sense and responsibility". If case-sensitive (caseful) matching is in force at the time of the back reference, then the case of letters is relevant. For example, ((?i)rah)\s+\1 matches "rah rah" and "RAH RAH", but not "RAH rah", even though the original capturing subpattern is matched case-insensitively (caselessly).

There may be more than one back reference to the same subpattern. If a subpattern has not actually been used in a particular match, then any back references to it always fail. For example, the pattern (a|(bc))\2 always fails if it starts to match "a" rather than "bc". Because there may be up to 99 back references, all digits following the backslash are taken as part of a potential back reference number. If the pattern continues with a digit character, then some delimiter must be used to terminate the back reference. If the PCRE_EXTENDED option is set, this can be whitespace. Otherwise an empty comment can be used.

A back reference that occurs inside the parentheses to which it refers fails when the subpattern is first used, so, for example, (a\1) never matches. However, such references can be useful inside repeated subpatterns. For example, the pattern (a|b\1)+ matches any number of "a"s and also "aba", "ababba" etc. At each iteration of the subpattern, the back reference matches the character string corresponding to the previous iteration. In order for this to work, the pattern must be such that the first iteration does not need to match the back reference. This can be done using alternation, as in the example above, or by a quantifier with a minimum of zero.

As of PHP 5.2.2, the \g escape sequence can be used for absolute and relative referencing of subpatterns. This escape sequence must be followed by an unsigned number or a negative number, optionally enclosed in braces. The sequences \1, \g1 and \g{1} are synonymous with one another. The use of this pattern with an unsigned number can help remove the ambiguity inherent when using digits following a backslash. The sequence helps to distinguish back references from octal characters and also makes it easier to have a back reference followed by a literal number, e.g. \g{2}1.

The use of the \g sequence with a negative number signifies a relative reference. For example, (foo)(bar)\g{-1} would match the sequence "foobarbar" and (foo)(bar)\g{-2} matches "foobarfoo". This can be useful in long patterns as an alternative to keeping track of the number of subpatterns in order to reference a specific previous subpattern.

Back references to the named subpatterns can be achieved by (?P=name) or, since PHP 5.2.2, also by \k<name> or \k'name'. Additionally PHP 5.2.4 added support for \k{name} and \g{name}, and PHP 5.2.7 for \g<name> and \g'name'.


Assertions

An assertion is a test on the characters following or preceding the current matching point that does not actually consume any characters. The simple assertions coded as \b, \B, \A, \Z, \z, ^ and $ are described in escape sequences. More complicated assertions are coded as subpatterns. There are two kinds: those that look ahead of the current position in the subject string, and those that look behind it.

An assertion subpattern is matched in the normal way, except that it does not cause the current matching position to be changed. Lookahead assertions start with (?= for positive assertions and (?! for negative assertions. For example, \w+(?=;) matches a word followed by a semicolon, but does not include the semicolon in the match, and foo(?!bar) matches any occurrence of "foo" that is not followed by "bar". Note that the apparently similar pattern (?!foo)bar does not find an occurrence of "bar" that is preceded by something other than "foo"; it finds any occurrence of "bar" whatsoever, because the assertion (?!foo) is always true when the next three characters are "bar". A lookbehind assertion is needed to achieve this effect.

Lookbehind assertions start with (?<= for positive assertions and (?<! for negative assertions. For example, (?<!foo)bar does find an occurrence of "bar" that is not preceded by "foo". The contents of a lookbehind assertion are restricted such that all the strings it matches must have a fixed length. However, if there are several alternatives, they do not all have to have the same fixed length. Thus (?<=bullock|donkey) is permitted, but (?<!dogs?|cats?) causes an error at compile time. Branches that match different length strings are permitted only at the top level of a lookbehind assertion. This is an extension compared with Perl 5.005, which requires all branches to match the same length of string. An assertion such as (?<=ab(c|de)) is not permitted, because its single top-level branch can match two different lengths, but it is acceptable if rewritten to use two top-level branches: (?<=abc|abde) The implementation of lookbehind assertions is, for each alternative, to temporarily move the current position back by the fixed width and then try to match. If there are insufficient characters before the current position, the match is deemed to fail. Lookbehinds in conjunction with once-only subpatterns can be particularly useful for matching at the ends of strings; an example is given at the end of the section on once-only subpatterns.

Several assertions (of any sort) may occur in succession. For example, (?<=\d{3})(?<!999)foo matches "foo" preceded by three digits that are not "999". Notice that each of the assertions is applied independently at the same point in the subject string. First there is a check that the previous three characters are all digits, then there is a check that the same three characters are not "999". This pattern does not match "foo" preceded by six characters, the first of which are digits and the last three of which are not "999". For example, it doesn't match "123abcfoo". A pattern to do that is (?<=\d{3}...)(?<!999)foo

This time the first assertion looks at the preceding six characters, checking that the first three are digits, and then the second assertion checks that the preceding three characters are not "999".

Assertions can be nested in any combination. For example, (?<=(?<!foo)bar)baz matches an occurrence of "baz" that is preceded by "bar" which in turn is not preceded by "foo", while (?<=\d{3}...(?<!999))foo is another pattern which matches "foo" preceded by three digits and any three characters that are not "999".

Assertion subpatterns are not capturing subpatterns, and may not be repeated, because it makes no sense to assert the same thing several times. If any kind of assertion contains capturing subpatterns within it, these are counted for the purposes of numbering the capturing subpatterns in the whole pattern. However, substring capturing is carried out only for positive assertions, because it does not make sense for negative assertions.

Assertions count towards the maximum of 200 parenthesized subpatterns.


Once-only subpatterns

With both maximizing and minimizing repetition, failure of what follows normally causes the repeated item to be re-evaluated to see if a different number of repeats allows the rest of the pattern to match. Sometimes it is useful to prevent this, either to change the nature of the match, or to cause it fail earlier than it otherwise might, when the author of the pattern knows there is no point in carrying on.

Consider, for example, the pattern \d+foo when applied to the subject line 123456bar

After matching all 6 digits and then failing to match "foo", the normal action of the matcher is to try again with only 5 digits matching the \d+ item, and then with 4, and so on, before ultimately failing. Once-only subpatterns provide the means for specifying that once a portion of the pattern has matched, it is not to be re-evaluated in this way, so the matcher would give up immediately on failing to match "foo" the first time. The notation is another kind of special parenthesis, starting with (?> as in this example: (?>\d+)bar

This kind of parenthesis "locks up" the part of the pattern it contains once it has matched, and a failure further into the pattern is prevented from backtracking into it. Backtracking past it to previous items, however, works as normal.

An alternative description is that a subpattern of this type matches the string of characters that an identical standalone pattern would match, if anchored at the current point in the subject string.

Once-only subpatterns are not capturing subpatterns. Simple cases such as the above example can be thought of as a maximizing repeat that must swallow everything it can. So, while both \d+ and \d+? are prepared to adjust the number of digits they match in order to make the rest of the pattern match, (?>\d+) can only match an entire sequence of digits.

This construction can of course contain arbitrarily complicated subpatterns, and it can be nested.

Once-only subpatterns can be used in conjunction with lookbehind assertions to specify efficient matching at the end of the subject string. Consider a simple pattern such as abcd$ when applied to a long string which does not match. Because matching proceeds from left to right, PCRE will look for each "a" in the subject and then see if what follows matches the rest of the pattern. If the pattern is specified as ^.*abcd$ then the initial .* matches the entire string at first, but when this fails (because there is no following "a"), it backtracks to match all but the last character, then all but the last two characters, and so on. Once again the search for "a" covers the entire string, from right to left, so we are no better off. However, if the pattern is written as ^(?>.*)(?<=abcd) then there can be no backtracking for the .* item; it can match only the entire string. The subsequent lookbehind assertion does a single test on the last four characters. If it fails, the match fails immediately. For long strings, this approach makes a significant difference to the processing time.

When a pattern contains an unlimited repeat inside a subpattern that can itself be repeated an unlimited number of times, the use of a once-only subpattern is the only way to avoid some failing matches taking a very long time indeed. The pattern (\D+|<\d+>)*[!?] matches an unlimited number of substrings that either consist of non-digits, or digits enclosed in <>, followed by either ! or ?. When it matches, it runs quickly. However, if it is applied to aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa it takes a long time before reporting failure. This is because the string can be divided between the two repeats in a large number of ways, and all have to be tried. (The example used [!?] rather than a single character at the end, because both PCRE and Perl have an optimization that allows for fast failure when a single character is used. They remember the last single character that is required for a match, and fail early if it is not present in the string.) If the pattern is changed to ((?>\D+)|<\d+>)*[!?] sequences of non-digits cannot be broken, and failure happens quickly.


Conditional subpatterns

It is possible to cause the matching process to obey a subpattern conditionally or to choose between two alternative subpatterns, depending on the result of an assertion, or whether a previous capturing subpattern matched or not. The two possible forms of conditional subpattern are

(?(condition)yes-pattern)
(?(condition)yes-pattern|no-pattern)

If the condition is satisfied, the yes-pattern is used; otherwise the no-pattern (if present) is used. If there are more than two alternatives in the subpattern, a compile-time error occurs.

There are two kinds of condition. If the text between the parentheses consists of a sequence of digits, then the condition is satisfied if the capturing subpattern of that number has previously matched. Consider the following pattern, which contains non-significant white space to make it more readable (assume the PCRE_EXTENDED option) and to divide it into three parts for ease of discussion:

( \( )?    [^()]+    (?(1) \) )

The first part matches an optional opening parenthesis, and if that character is present, sets it as the first captured substring. The second part matches one or more characters that are not parentheses. The third part is a conditional subpattern that tests whether the first set of parentheses matched or not. If they did, that is, if subject started with an opening parenthesis, the condition is true, and so the yes-pattern is executed and a closing parenthesis is required. Otherwise, since no-pattern is not present, the subpattern matches nothing. In other words, this pattern matches a sequence of non-parentheses, optionally enclosed in parentheses.

If the condition is the string (R), it is satisfied if a recursive call to the pattern or subpattern has been made. At "top level", the condition is false.

If the condition is not a sequence of digits or (R), it must be an assertion. This may be a positive or negative lookahead or lookbehind assertion. Consider this pattern, again containing non-significant white space, and with the two alternatives on the second line:

(?(?=[^a-z]*[a-z])
\d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} )

The condition is a positive lookahead assertion that matches an optional sequence of non-letters followed by a letter. In other words, it tests for the presence of at least one letter in the subject. If a letter is found, the subject is matched against the first alternative; otherwise it is matched against the second. This pattern matches strings in one of the two forms dd-aaa-dd or dd-dd-dd, where aaa are letters and dd are digits.


Comments

The sequence (?# marks the start of a comment which continues up to the next closing parenthesis. Nested parentheses are not permitted. The characters that make up a comment play no part in the pattern matching at all.

If the PCRE_EXTENDED option is set, an unescaped # character outside a character class introduces a comment that continues up to the next newline character in the pattern.


Recursive patterns

Consider the problem of matching a string in parentheses, allowing for unlimited nested parentheses. Without the use of recursion, the best that can be done is to use a pattern that matches up to some fixed depth of nesting. It is not possible to handle an arbitrary nesting depth. Perl 5.6 has provided an experimental facility that allows regular expressions to recurse (among other things). The special item (?R) is provided for the specific case of recursion. This PCRE pattern solves the parentheses problem (assume the PCRE_EXTENDED option is set so that white space is ignored): \( ( (?>[^()]+) | (?R) )* \)

First it matches an opening parenthesis. Then it matches any number of substrings which can either be a sequence of non-parentheses, or a recursive match of the pattern itself (i.e. a correctly parenthesized substring). Finally there is a closing parenthesis.

This particular example pattern contains nested unlimited repeats, and so the use of a once-only subpattern for matching strings of non-parentheses is important when applying the pattern to strings that do not match. For example, when it is applied to (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa() it yields "no match" quickly. However, if a once-only subpattern is not used, the match runs for a very long time indeed because there are so many different ways the + and * repeats can carve up the subject, and all have to be tested before failure can be reported.

The values set for any capturing subpatterns are those from the outermost level of the recursion at which the subpattern value is set. If the pattern above is matched against (ab(cd)ef) the value for the capturing parentheses is "ef", which is the last value taken on at the top level. If additional parentheses are added, giving \( ( ( (?>[^()]+) | (?R) )* ) \) then the string they capture is "ab(cd)ef", the contents of the top level parentheses. If there are more than 15 capturing parentheses in a pattern, PCRE has to obtain extra memory to store data during a recursion, which it does by using pcre_malloc, freeing it via pcre_free afterwards. If no memory can be obtained, it saves data for the first 15 capturing parentheses only, as there is no way to give an out-of-memory error from within a recursion.

(?1), (?2) and so on can be used for recursive subpatterns too. It is also possible to use named subpatterns: (?P>name) or (?&name).

If the syntax for a recursive subpattern reference (either by number or by name) is used outside the parentheses to which it refers, it operates like a subroutine in a programming language. An earlier example pointed out that the pattern (sens|respons)e and \1ibility matches "sense and sensibility" and "response and responsibility", but not "sense and responsibility". If instead the pattern (sens|respons)e and (?1)ibility is used, it does match "sense and responsibility" as well as the other two strings. Such references must, however, follow the subpattern to which they refer.

The maximum length of a subject string is the largest positive number that an integer variable can hold. However, PCRE uses recursion to handle subpatterns and indefinite repetition. This means that the available stack space may limit the size of a subject string that can be processed by certain patterns.


Performance

Certain items that may appear in patterns are more efficient than others. It is more efficient to use a character class like [aeiou] than a set of alternatives such as (a|e|i|o|u). In general, the simplest construction that provides the required behaviour is usually the most efficient. Jeffrey Friedl's book contains a lot of discussion about optimizing regular expressions for efficient performance.

When a pattern begins with .* and the PCRE_DOTALL option is set, the pattern is implicitly anchored by PCRE, since it can match only at the start of a subject string. However, if PCRE_DOTALL is not set, PCRE cannot make this optimization, because the . metacharacter does not then match a newline, and if the subject string contains newlines, the pattern may match from the character immediately following one of them instead of from the very start. For example, the pattern (.*) second matches the subject "first\nand second" (where \n stands for a newline character) with the first captured substring being "and". In order to do this, PCRE has to retry the match starting after every newline in the subject.

If you are using such a pattern with subject strings that do not contain newlines, the best performance is obtained by setting PCRE_DOTALL, or starting the pattern with ^.* to indicate explicit anchoring. That saves PCRE from having to scan along the subject looking for a newline to restart at.

Beware of patterns that contain nested indefinite repeats. These can take a long time to run when applied to a string that does not match. Consider the pattern fragment (a+)*

This can match "aaaa" in 33 different ways, and this number increases very rapidly as the string gets longer. (The * repeat can match 0, 1, 2, 3, or 4 times, and for each of those cases other than 0, the + repeats can match different numbers of times.) When the remainder of the pattern is such that the entire match is going to fail, PCRE has in principle to try every possible variation, and this can take an extremely long time.

An optimization catches some of the more simple cases such as (a+)*b where a literal character follows. Before embarking on the standard matching procedure, PCRE checks that there is a "b" later in the subject string, and if there is not, it fails the match immediately. However, when there is no following literal this optimization cannot be used. You can see the difference by comparing the behaviour of (a+)*\d with the pattern above. The former gives a failure almost instantly when applied to a whole line of "a" characters, whereas the latter takes an appreciable time with strings longer than about 20 characters.


Modificadores do Padrão

Os atuais possíveis modificadores PCRE são listados abaixo. Os nomes entre parênteses referem-se ao nome interno destes modificadores. Espaço e newlines são ignorado nos modificadores, outros caracteres causam erro.

i (PCRE_CASELESS)
Se este modificador é usado, as letras no padrão combinam tanto maiúsculas quanto minúsculas.
m (PCRE_MULTILINE)
Por padrão, PCRE trata a string alvo como consistindo de uma única linha de caracteres (mesmo se ele realmente contêm vários newlines). O metacaractere "ínicio da linha" (^) combina somente no início da string, quando o metacaractere "fim da linha" combina somente no final da string, ou antes de um newline no fim (a menos que o modificador D seja usado). Este é o mesmo do Perl. Quando este modificador é usado, os construtores "início da linha" e "final de linha" combinam logo depois ou logo antes de algum newline na string alvo, respectivamente, bem como no começo e fim. Isto é equivalente ao modificador /m do Perl. Se não houver um caractere "\n" na string alvo, ou nenhum ocorrência do ^ ou $ no padrão, usar este modificador não tem efeito.
s (PCRE_DOTALL)
Se este modificador é usado, um metacaractere ponto no padrão combina todos caracteres, incluindo newlines. Sem ele, newlines são excluídos. Este modificador é equivalente ao modificador /s do Perl. Uma classe negada como [^a] sempre combina um caractere newline, independente do uso deste modificador.
x (PCRE_EXTENDED)
Se este modificador é usado, caracteres whitespace no padrão são totalmente ignorado exceto quando escapado ou dentro de um classe de caractere, e inclusive caracteres entre um # não precedido de escape fora de uma classe de caracteres e o próximo caractere newline, são também ignorados. Este é equivalente ao modificador /x do Perl, tornando possível incluir comentários dentro de padrões complicados. Note, contudo, que isto é aplicado somente a caracteres de dados. Caracteres whitespace nunca podem aparecer dentro de especial sequência de caracteres no padrão, por exemplo na sequência (?( que introduz um subpadrão condicional.
e (PREG_REPLACE_EVAL)
Se este modificador é usado, preg_replace() faz a normal substituição de backreferences na string substituta, avaliando-a como código PHP, e usando o resultado para trocar a string procurada. Aspas simples, aspas duplas, escape e caractere NULL terão escape nos backreferences.

Somente preg_replace() usa este modificador; ele é ignorado por outras funções PCRE.

A (PCRE_ANCHORED)
Se este modificador é usado, o padrão é forçado para ser "âncorado", isto é, ele restringido para combinar somente no início da string que está sendo procurada (a "string alvo"). Este efeito pode também ser alcançado pelo apropriado construtor no padrão, que é o única forma de fazer em Perl. If this modifier is set, the pattern is forced to be "anchored", that is, it is constrained to match only at the start of the string which is being searched (the "subject string"). This effect can also be achieved by appropriate constructs in the pattern itself, which is the only way to do it in Perl.
D (PCRE_DOLLAR_ENDONLY)
Se este modificador é usado, o metacaractere dólar no padrão combina somente no final da string alvo. Sem este modificador, um dólar também combina imediatamente antes do caractere final se ele for um newline (mas não antes de outros newlines). Este modificador é ignorado se o modificador m é usado. Não há um equivalente a este modificador no Perl.
S
Quando um padrão será usado diversas vezes, vale a pena gastar mais tempo analisando em favor da velocidade a fim apressar a combinação. Se este modificador for usado, esta análise extra será executada. Atualmente, estudar um teste padrão é útil somente para os testes padrões não escorados, que não têm um único caracter inicial fixo.
U (PCRE_UNGREEDY)
Este modificador inverte a "gulosidade" dos quantificadores de modo que não sejam gulosos por padrão, mas torna-se guloso se seguido por "?". Não é compatível com Perl. Pode também ser usado por um (?U) que ajusta-se dentro do teste padrão ou por uma interrogação depois de um quantificador (por exemplo .*?).
X (PCRE_EXTRA)
Este modificador aciona uma funcionalidade adicional do PCRE que é incompatível com Perl. Qualquer barra invertida (backslash) na busca que é seguida por uma letra que não tenha nenhum significado especial causa um erro, reservando assim essas combinações para futuros upgrades. Até agora não há outra funcionalidade controlada por este modificador.
J (PCRE_INFO_JCHANGED)
A opção de configuração interna (?J) modifica a opção local PCRE_DUPNAMES. Que permite a duplicação de nomes de subpadrões.
u (PCRE_UTF8)
Este modificador aciona uma funcionalidade adicional de PCRE que é incompatível com Perl. As strings do padrão são tratadas como UTF-8. Este modificador está disponível no PHP 4.1.0 ou superior em Unix e no PHP 4.2.3 em WIN32. Validez do UTF-8 no padrão é verificado desde o PHP 4.3.5.


Perl Differences

The differences described here are with respect to Perl 5.005.

  1. By default, a whitespace character is any character that the C library function isspace() recognizes, though it is possible to compile PCRE with alternative character type tables. Normally isspace() matches space, formfeed, newline, carriage return, horizontal tab, and vertical tab. Perl 5 no longer includes vertical tab in its set of whitespace characters. The \v escape that was in the Perl documentation for a long time was never in fact recognized. However, the character itself was treated as whitespace at least up to 5.002. In 5.004 and 5.005 it does not match \s.
  2. PCRE does not allow repeat quantifiers on lookahead assertions. Perl permits them, but they do not mean what you might think. For example, (?!a){3} does not assert that the next three characters are not "a". It just asserts that the next character is not "a" three times.
  3. Capturing subpatterns that occur inside negative lookahead assertions are counted, but their entries in the offsets vector are never set. Perl sets its numerical variables from any such patterns that are matched before the assertion fails to match something (thereby succeeding), but only if the negative lookahead assertion contains just one branch.
  4. Though binary zero characters are supported in the subject string, they are not allowed in a pattern string because it is passed as a normal C string, terminated by zero. The escape sequence "\x00" can be used in the pattern to represent a binary zero.
  5. The following Perl escape sequences are not supported: \l, \u, \L, \U. In fact these are implemented by Perl's general string-handling and are not part of its pattern matching engine.
  6. The Perl \G assertion is not supported as it is not relevant to single pattern matches.
  7. Fairly obviously, PCRE does not support the (?{code}) and (??{code}) construction. However, there is support for recursive patterns.
  8. There are at the time of writing some oddities in Perl 5.005_02 concerned with the settings of captured strings when part of a pattern is repeated. For example, matching "aba" against the pattern /^(a(b)?)+$/ sets $2 to the value "b", but matching "aabbaa" against /^(aa(bb)?)+$/ leaves $2 unset. However, if the pattern is changed to /^(aa(b(b))?)+$/ then $2 (and $3) get set. In Perl 5.004 $2 is set in both cases, and that is also true of PCRE. If in the future Perl changes to a consistent state that is different, PCRE may change to follow.
  9. Another as yet unresolved discrepancy is that in Perl 5.005_02 the pattern /^(a)?(?(1)a|b)+$/ matches the string "a", whereas in PCRE it does not. However, in both Perl and PCRE /^(a)?a/ matched against "a" leaves $1 unset.

  10. PCRE provides some extensions to the Perl regular expression facilities:

    1. Although lookbehind assertions must match fixed length strings, each alternative branch of a lookbehind assertion can match a different length of string. Perl 5.005 requires them all to have the same length.
    2. If PCRE_DOLLAR_ENDONLY is set and PCRE_MULTILINE is not set, the $ meta-character matches only at the very end of the string.
    3. If PCRE_EXTRA is set, a backslash followed by a letter with no special meaning is faulted.
    4. If PCRE_UNGREEDY is set, the greediness of the repetition quantifiers is inverted, that is, by default they are not greedy, but if followed by a question mark they are.


Differences from POSIX regex

As of PHP 5.3.0, the POSIX Regex extension is deprecated. There are a number of differences between POSIX regex and PCRE regex. This page lists the most notable ones that are necessary to know when converting to PCRE.

  1. The PCRE functions require that the pattern is enclosed by delimiters.
  2. Unlike POSIX, the PCRE extension does not have dedicated functions for case-insensitive matching. Instead, this is supported using the i (PCRE_CASELESS) pattern modifier. Other pattern modifiers are also available for changing the matching strategy.
  3. The POSIX functions find the longest of the leftmost match, but PCRE stops on the first valid match. If the string doesn't match at all it makes no difference, but if it matches it may have dramatic effects on both the resulting match and the matching speed. To illustrate this difference, consider the following example from "Mastering Regular Expressions" by Jeffrey Friedl. Using the pattern one(self)?(selfsufficient)? on the string oneselfsufficient with PCRE will result in matching oneself, but using POSIX the result will be the full string oneselfsufficient. Both (sub)strings match the original string, but POSIX requires that the longest be the result.
  4. The POSIX definition of a "character class" differs from that of PCRE. Simple bracket expressions to match a set of explicit characters are supported in the form of PCRE character classes but POSIX collating elements, character classes and character equivalents are not supported. Supplying an expression with a character class that both starts and ends with :, . or = characters to PCRE is interpreted as an attempt to use one of these unsupported features and causes a compilation error.

Function replacements
POSIX | PCRE
ereg_replace() | preg_replace()
ereg() | preg_match()
eregi_replace() | preg_replace()
eregi() | preg_match()
split() | preg_split()
spliti() | preg_split()
sql_regcase() | No equivalent


Funções da PCRE

Índice

  • preg_filter — Perform a regular expression search and replace
  • preg_grep — Retorna as entradas do array que combinaram com o padrão
  • preg_last_error_msg — Returns the error message of the last PCRE regex execution
  • preg_last_error — Retorna o código de erro da última regex PCRE executada
  • preg_match_all — Perform a global regular expression match
  • preg_match — Perform a regular expression match
  • preg_quote — Adiciona escape em caracteres da expressão regular
  • preg_replace_callback_array — Perform a regular expression search and replace using callbacks
  • preg_replace_callback — Executa uma busca usando expressão regular e modifica usando um callback
  • preg_replace — Realiza uma pesquisa por uma expressão regular e a substitui.
  • preg_split — Divide a string por uma expressão regular


Perform a regular expression search and replace

  • « Funções da PCRE
  • preg_grep »
  • PHP Manual
  • Funções da PCRE
  • Perform a regular expression search and replace

preg_filter

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

preg_filter — Perform a regular expression search and replace

Descrição

preg_filter ( string|array $pattern , string|array $replacement , string|array $subject , int $limit = -1 , int &$count = null ) : string|array|null

preg_filter() is identical to preg_replace() except it only returns the (possibly transformed) subjects where there was a match. For details about how this function works, read the preg_replace() documentation.

Valor Retornado

Returns an array if the subject parameter is an array, or a string otherwise.

If no matches are found or an error occurred, an empty array is returned when subject is an array or null otherwise.

Exemplos

Exemplo #1 Example comparing preg_filter() with preg_replace()

<?php
$subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4');
$pattern = array('/\d/', '/[a-z]/', '/[1a]/');
$replace = array('A:$0', 'B:$0', 'C:$0');

echo "preg_filter returns\n";
print_r(preg_filter($pattern, $replace, $subject));

echo "preg_replace returns\n";
print_r(preg_replace($pattern, $replace, $subject));
?>

O exemplo acima irá imprimir:

preg_filter returns
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [7] => A:4
)
preg_replace returns
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [5] => A
    [6] => B
    [7] => A:4
)

Veja Também

  • PCRE Patterns
  • preg_quote() - Adiciona escape em caracteres da expressão regular
  • preg_replace() - Realiza uma pesquisa por uma expressão regular e a substitui.
  • preg_replace_callback() - Executa uma busca usando expressão regular e modifica usando um callback
  • preg_grep() - Retorna as entradas do array que combinaram com o padrão
  • preg_last_error() - Retorna o código de erro da última regex PCRE executada


Retorna as entradas do array que combinaram com o padrão

  • « preg_filter
  • preg_last_error_msg »
  • PHP Manual
  • Funções da PCRE
  • Retorna as entradas do array que combinaram com o padrão

preg_grep

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_grep — Retorna as entradas do array que combinaram com o padrão

Descrição

preg_grep ( string $pattern , array $input , int $flags = ? ) : array

Retorna o array consistindo dos elementos do array de input que combinaram com o dado pattern.

Parâmetros

pattern

A string do padrão.

input

O array de entrada.

flags

Se usado PREG_GREP_INVERT, esta função retorna os elementos do array de entrada que não casam com o dado pattern.

Valor Retornado

Retorna um array indexado usando a chave do array de input.

Changelog

Versão | Descrição
4.2.0 | O parâmetro flags foi adicionado.
4.0.4 | Antes desta versão, o array retornado era indexado diferente das chaves do array de input. Se você quer reproduzir o antigo comportamento, use array_values() no array retornado para reindexar os valores.

Exemplos

Exemplo #1 Exemplo da preg_grep()

<?php
// retorna todos os elementos do array
// contendo números de ponto flutuante
$fl_array = preg_grep("/^(\d+)?\.\d+$/", $array);
?>


Returns the error message of the last PCRE regex execution

  • « preg_grep
  • preg_last_error »
  • PHP Manual
  • Funções da PCRE
  • Returns the error message of the last PCRE regex execution

preg_last_error_msg

(PHP 8)

preg_last_error_msg — Returns the error message of the last PCRE regex execution

Descrição

preg_last_error_msg ( ) : string

Returns the error message of the last PCRE regex execution.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the error message on success, or "No error" if no error has occurred.

Exemplos

Exemplo #1 preg_last_error_msg() example

<?php

preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar');

if (preg_last_error() !== PREG_NO_ERROR) {
    echo preg_last_error_msg();
}

?>

O exemplo acima irá imprimir:

Backtrack limit exhausted

Veja Também

  • preg_last_error() - Retorna o código de erro da última regex PCRE executada


Retorna o código de erro da última regex PCRE executada

  • « preg_last_error_msg
  • preg_match_all »
  • PHP Manual
  • Funções da PCRE
  • Retorna o código de erro da última regex PCRE executada

preg_last_error

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

preg_last_error — Retorna o código de erro da última regex PCRE executada

Descrição

preg_last_error ( ) : int

Retorna o código de erro da última regex PCRE executada.

Exemplo #1 Exemplo da preg_last_error()

<?php

preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar');

if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) {
    print 'Backtrack limit was exhausted!';
}

?>

O exemplo acima irá imprimir:

Backtrack limit was exhausted!

Valor Retornado

Retorna uma das seguintes constantes (explicadas nessa outra página):

  • PREG_NO_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_BACKTRACK_LIMIT_ERROR (veja também pcre.backtrack_limit)
  • PREG_RECURSION_LIMIT_ERROR (veja também pcre.recursion_limit)
  • PREG_BAD_UTF8_ERROR
  • PREG_BAD_UTF8_OFFSET_ERROR (desde o PHP 5.3.0)


Perform a global regular expression match

  • « preg_last_error
  • preg_match »
  • PHP Manual
  • Funções da PCRE
  • Perform a global regular expression match

preg_match_all

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_match_all — Perform a global regular expression match

Descrição

preg_match_all ( string $pattern , string $subject , array &$matches = null , int $flags = 0 , int $offset = 0 ) : int|false|null

Searches subject for all matches to the regular expression given in pattern and puts them in matches in the order specified by flags.

After the first match is found, the subsequent searches are continued on from end of the last match.

Parâmetros

pattern

The pattern to search for, as a string.

subject

The input string.

matches

Array of all matches in multi-dimensional array ordered according to flags.

flags

Can be a combination of the following flags (note that it doesn't make sense to use PREG_PATTERN_ORDER together with PREG_SET_ORDER):

PREG_PATTERN_ORDER

Orders results so that $matches[0] is an array of full pattern matches, $matches[1] is an array of strings matched by the first parenthesized subpattern, and so on.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>example: </b><div align=left>this is a test</div>",
    $out, PREG_PATTERN_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "\n";
echo $out[1][0] . ", " . $out[1][1] . "\n";
?>

O exemplo acima irá imprimir:

<b>example: </b>, <div align=left>this is a test</div>
example: , this is a test

So, $out[0] contains array of strings that matched full pattern, and $out[1] contains array of strings enclosed by tags.

If the pattern contains named subpatterns, $matches additionally contains entries for keys with the subpattern name.

If the pattern contains duplicate named subpatterns, only the rightmost subpattern is stored in $matches[NAME].

<?php
preg_match_all(
    '/(?J)(?<match>foo)|(?<match>bar)/',
    'foo bar',
    $matches,
    PREG_PATTERN_ORDER
);
print_r($matches['match']);
?>

O exemplo acima irá imprimir:

Array
(
    [0] =>
    [1] => bar
)

PREG_SET_ORDER

Orders results so that $matches[0] is an array of first set of matches, $matches[1] is an array of second set of matches, and so on.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>example: </b><div align=\"left\">this is a test</div>",
    $out, PREG_SET_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "\n";
echo $out[1][0] . ", " . $out[1][1] . "\n";
?>

O exemplo acima irá imprimir:

<b>example: </b>, example:
<div align="left">this is a test</div>, this is a test

PREG_OFFSET_CAPTURE

If this flag is passed, for every occurring match the appendant string offset (in bytes) will also be returned. Note that this changes the value of matches into an array of arrays where every element is an array consisting of the matched string at offset 0 and its string offset into subject at offset 1.

<?php
preg_match_all('/(foo)(bar)(baz)/', 'foobarbaz', $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => foobarbaz
                    [1] => 0
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [0] => foo
                    [1] => 0
                )

        )

    [2] => Array
        (
            [0] => Array
                (
                    [0] => bar
                    [1] => 3
                )

        )

    [3] => Array
        (
            [0] => Array
                (
                    [0] => baz
                    [1] => 6
                )

        )

)

PREG_UNMATCHED_AS_NULL

If this flag is passed, unmatched subpatterns are reported as null; otherwise they are reported as an empty string.

If no order flag is given, PREG_PATTERN_ORDER is assumed.

offset

Normally, the search starts from the beginning of the subject string. The optional parameter offset can be used to specify the alternate place from which to start the search (in bytes).

Nota:

Using offset is not equivalent to passing substr($subject, $offset) to preg_match_all() in place of the subject string, because pattern can contain assertions such as ^, $ or (?<=x). See preg_match() for examples.

Valor Retornado

Returns the number of full pattern matches (which might be zero), or false if an error occurred.

Changelog

Versão | Descrição
7.2.0 | The PREG_UNMATCHED_AS_NULL is now supported for the $flags parameter.

Exemplos

Exemplo #1 Getting all phone numbers out of some text.

<?php
preg_match_all("/\(?  (\d{3})?  \)?  (?(1)  [\-\s] ) \d{3}-\d{4}/x",
                "Call 555-1212 or 1-800-555-1212", $phones);
?>

Exemplo #2 Find matching HTML tags (greedy)

<?php
// The \\2 is an example of backreferencing. This tells pcre that
// it must match the second set of parentheses in the regular expression
// itself, which would be the ([\w]+) in this case. The extra backslash is
// required because the string is in double quotes.
$html = "<b>bold text</b><a href=howdy.html>click me</a>";

preg_match_all("/(<([\w]+)[^>]*>)(.*?)(<\/\\2>)/", $html, $matches, PREG_SET_ORDER);

foreach ($matches as $val) {
    echo "matched: " . $val[0] . "\n";
    echo "part 1: " . $val[1] . "\n";
    echo "part 2: " . $val[2] . "\n";
    echo "part 3: " . $val[3] . "\n";
    echo "part 4: " . $val[4] . "\n\n";
}
?>

O exemplo acima irá imprimir:

matched: <b>bold text</b>
part 1: <b>
part 2: b
part 3: bold text
part 4: </b>

matched: <a href=howdy.html>click me</a>
part 1: <a href=howdy.html>
part 2: a
part 3: click me
part 4: </a>

Exemplo #3 Using named subpattern

<?php

$str = <<<FOO
a: 1
b: 2
c: 3
FOO;

preg_match_all('/(?P<name>\w+): (?P<digit>\d+)/', $str, $matches);

/* This also works in PHP 5.2.2 (PCRE 7.0) and later, however
 * the above form is recommended for backwards compatibility */
// preg_match_all('/(?<name>\w+): (?<digit>\d+)/', $str, $matches);

print_r($matches);

?>

O exemplo acima irá imprimir:

Array
(
    [0] => Array
        (
            [0] => a: 1
            [1] => b: 2
            [2] => c: 3
        )

    [name] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [1] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [digit] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [2] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

)

Veja Também

  • PCRE Patterns
  • preg_quote() - Adiciona escape em caracteres da expressão regular
  • preg_match() - Perform a regular expression match
  • preg_replace() - Realiza uma pesquisa por uma expressão regular e a substitui.
  • preg_split() - Divide a string por uma expressão regular
  • preg_last_error() - Retorna o código de erro da última regex PCRE executada


Perform a regular expression match

  • « preg_match_all
  • preg_quote »
  • PHP Manual
  • Funções da PCRE
  • Perform a regular expression match

preg_match

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_match — Perform a regular expression match

Descrição

preg_match ( string $pattern , string $subject , array &$matches = null , int $flags = 0 , int $offset = 0 ) : int|false

Searches subject for a match to the regular expression given in pattern.

Parâmetros

pattern

The pattern to search for, as a string.

subject

The input string.

matches

If matches is provided, then it is filled with the results of search. $matches[0] will contain the text that matched the full pattern, $matches[1] will have the text that matched the first captured parenthesized subpattern, and so on.

flags

flags can be a combination of the following flags:

PREG_OFFSET_CAPTURE

If this flag is passed, for every occurring match the appendant string offset (in bytes) will also be returned. Note that this changes the value of matches into an array where every element is an array consisting of the matched string at offset 0 and its string offset into subject at offset 1.

<?php
preg_match('/(foo)(bar)(baz)/', 'foobarbaz', $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => Array
        (
            [0] => foobarbaz
            [1] => 0
        )

    [1] => Array
        (
            [0] => foo
            [1] => 0
        )

    [2] => Array
        (
            [0] => bar
            [1] => 3
        )

    [3] => Array
        (
            [0] => baz
            [1] => 6
        )

)

PREG_UNMATCHED_AS_NULL

If this flag is passed, unmatched subpatterns are reported as null; otherwise they are reported as an empty string.

<?php
preg_match('/(a)(b)*(c)/', 'ac', $matches);
var_dump($matches);
preg_match('/(a)(b)*(c)/', 'ac', $matches, PREG_UNMATCHED_AS_NULL);
var_dump($matches);
?>

O exemplo acima irá imprimir:

array(4) {
  [0]=>
  string(2) "ac"
  [1]=>
  string(1) "a"
  [2]=>
  string(0) ""
  [3]=>
  string(1) "c"
}
array(4) {
  [0]=>
  string(2) "ac"
  [1]=>
  string(1) "a"
  [2]=>
  NULL
  [3]=>
  string(1) "c"
}

offset

Normally, the search starts from the beginning of the subject string. The optional parameter offset can be used to specify the alternate place from which to start the search (in bytes).

Nota:

Using offset is not equivalent to passing substr($subject, $offset) to preg_match() in place of the subject string, because pattern can contain assertions such as ^, $ or (?<=x). Compare:

<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
print_r($matches);
?>

O exemplo acima irá imprimir:

Array
(
)

while this example

<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>

will produce

Array
(
    [0] => Array
        (
            [0] => def
            [1] => 0
        )

)

Alternatively, to avoid using substr(), use the \G assertion rather than the ^ anchor, or the A modifier instead, both of which work with the offset parameter.

Valor Retornado

preg_match() returns 1 if the pattern matches given subject, 0 if it does not, or false if an error occurred.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Changelog

Versão | Descrição
7.2.0 | The PREG_UNMATCHED_AS_NULL is now supported for the $flags parameter.

Exemplos

Exemplo #1 Find the string of text "php"

<?php
// The "i" after the pattern delimiter indicates a case-insensitive search
if (preg_match("/php/i", "PHP is the web scripting language of choice.")) {
    echo "A match was found.";
} else {
    echo "A match was not found.";
}
?>

Exemplo #2 Find the word "web"

<?php
/* The \b in the pattern indicates a word boundary, so only the distinct
 * word "web" is matched, and not a word partial like "webbing" or "cobweb" */
if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
    echo "A match was found.";
} else {
    echo "A match was not found.";
}

if (preg_match("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
    echo "A match was found.";
} else {
    echo "A match was not found.";
}
?>

Exemplo #3 Getting the domain name out of a URL

<?php
// get host name from URL
preg_match('@^(?:http://)?([^/]+)@i',
    "http://www.php.net/index.html", $matches);
$host = $matches[1];

// get last two segments of host name
preg_match('/[^.]+\.[^.]+$/', $host, $matches);
echo "domain name is: {$matches[0]}\n";
?>

O exemplo acima irá imprimir:

domain name is: php.net

Exemplo #4 Using named subpattern

<?php

$str = 'foobar: 2008';

preg_match('/(?P<name>\w+): (?P<digit>\d+)/', $str, $matches);

/* This also works in PHP 5.2.2 (PCRE 7.0) and later, however
 * the above form is recommended for backwards compatibility */
// preg_match('/(?<name>\w+): (?<digit>\d+)/', $str, $matches);

print_r($matches);

?>

O exemplo acima irá imprimir:

Array
(
    [0] => foobar: 2008
    [name] => foobar
    [1] => foobar
    [digit] => 2008
    [2] => 2008
)

Notas

Dica

Do not use preg_match() if you only want to check if one string is contained in another string. Use strpos() instead as it will be faster.

Veja Também

  • PCRE Patterns
  • preg_quote() - Adiciona escape em caracteres da expressão regular
  • preg_match_all() - Perform a global regular expression match
  • preg_replace() - Realiza uma pesquisa por uma expressão regular e a substitui.
  • preg_split() - Divide a string por uma expressão regular
  • preg_last_error() - Retorna o código de erro da última regex PCRE executada
  • preg_last_error_msg() - Returns the error message of the last PCRE regex execution


Adiciona escape em caracteres da expressão regular

  • « preg_match
  • preg_replace_callback_array »
  • PHP Manual
  • Funções da PCRE
  • Adiciona escape em caracteres da expressão regular

preg_quote

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_quote — Adiciona escape em caracteres da expressão regular

Descrição

preg_quote ( string $str , string $delimiter = ? ) : string

preg_quote() pega str e coloca uma barra invertida antes de cada caractere que é parte da sintaxe da expressão regular. Isto é útil se você tem uma string em run-time que você precisa combinar em algum texto e a string pode conter caracteres especiais de regex.

Os caracteres especiais da expressão regular são . \ + * ? [ ^ ] $ ( ) { } = ! < > | :

Parâmetros

str

A string de entrada.

delimiter

Se o opcional delimiter é especificado, ele também terá escape antecedendo. Isto é útil para adicionar escape em delimitadores que é requerido pelas funções PCRE. A / é o delimitador mais comumente usado.

Valor Retornado

Retorna a string modificada.

Exemplos

Exemplo #1 Exemplo da preg_quote()

<?php
$keywords = '$40 for a g3/400';
$keywords = preg_quote($keywords, '/');
echo $keywords; // returns \$40 for a g3\/400
?>

Exemplo #2 Deixando em itálico uma palavra de um texto

<?php
// In this example, preg_quote($word) is used to keep the
// asterisks from having special meaning to the regular
// expression.

$textbody = "This book is *very* difficult to find.";
$word = "*very*";
$textbody = preg_replace ("/" . preg_quote($word) . "/",
                          "<i>" . $word . "</i>",
                          $textbody);
?>

Notas

Nota: Esta função é binary-safe.


Perform a regular expression search and replace using callbacks

  • « preg_quote
  • preg_replace_callback »
  • PHP Manual
  • Funções da PCRE
  • Perform a regular expression search and replace using callbacks

preg_replace_callback_array

(PHP 7, PHP 8)

preg_replace_callback_array — Perform a regular expression search and replace using callbacks

Descrição

preg_replace_callback_array ( array $pattern , string|array $subject , int $limit = -1 , int &$count = null , int $flags = 0 ) : string|array|null

The behavior of this function is similar to preg_replace_callback(), except that callbacks are executed on a per-pattern basis.

Parâmetros

pattern

An associative array mapping patterns (keys) to callables (values).

subject

The string or an array with strings to search and replace.

limit

The maximum possible replacements for each pattern in each subject string. Defaults to -1 (no limit).

count

If specified, this variable will be filled with the number of replacements done.

flags

flags can be a combination of the PREG_OFFSET_CAPTURE and PREG_UNMATCHED_AS_NULL flags, which influence the format of the matches array. See the description in preg_match() for more details.

Valor Retornado

preg_replace_callback_array() returns an array if the subject parameter is an array, or a string otherwise. On errors the return value is null

If matches are found, the new subject will be returned, otherwise subject will be returned unchanged.

Changelog

Versão | Descrição
7.4.0 | The flags parameter was added.

Exemplos

Exemplo #1 preg_replace_callback_array() example

<?php
$subject = 'Aaaaaa Bbb';

preg_replace_callback_array(
    [
        '~[a]+~i' => function ($match) {
            echo strlen($match[0]), ' matches for "a" found', PHP_EOL;
        },
        '~[b]+~i' => function ($match) {
            echo strlen($match[0]), ' matches for "b" found', PHP_EOL;
        }
    ],
    $subject
);
?>

O exemplo acima irá imprimir:

6 matches for "a" found
3 matches for "b" found

Veja Também

  • PCRE Patterns
  • preg_replace_callback() - Executa uma busca usando expressão regular e modifica usando um callback
  • preg_quote() - Adiciona escape em caracteres da expressão regular
  • preg_replace() - Realiza uma pesquisa por uma expressão regular e a substitui.
  • preg_last_error() - Retorna o código de erro da última regex PCRE executada
  • Anonymous functions


Executa uma busca usando expressão regular e modifica usando um callback

  • « preg_replace_callback_array
  • preg_replace »
  • PHP Manual
  • Funções da PCRE
  • Executa uma busca usando expressão regular e modifica usando um callback

preg_replace_callback

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

preg_replace_callback — Executa uma busca usando expressão regular e modifica usando um callback

Descrição

preg_replace_callback ( mixed $pattern , callback $callback , mixed $subject , int $limit = ? , int &$count = ? ) : mixed

O comportamento desta função é quase idêntico ao da preg_replace(), exceto pelo fato que ao invés do parâmetro replacement, você deve especificar um callback.

Parâmetros

pattern

A padrão usado para busca. Pode ser tanto uma string como um array de strings.

callback

Um callback que será chamado e passado um array dos elementos combinados na string subject. O callback deve retornar a string substituta.

Você normalmente precisará da função callback para uma preg_replace_callback() somente para isso. Neste caso você pode usar create_function() para declarar uma função anônima como callback dentro da chamada da preg_replace_callback(). Desta forma você tem todas as informações para a chamada no mesmo lugar e não cria desordem com o nome da função do callback não usado em outro lugar.

Exemplo #1 preg_replace_callback() e create_function()

<?php
/* a unix-style command line filter to convert uppercase
 * letters at the beginning of paragraphs to lowercase */
$fp = fopen("php://stdin", "r") or die("can't read stdin");
while (!feof($fp)) {
    $line = fgets($fp);
    $line = preg_replace_callback(
        '|<p>\s*\w|',
        create_function(
            // single quotes are essential here,
            // or alternative escape all $ as \$
            '$matches',
            'return strtolower($matches[0]);'
        ),
        $line
    );
    echo $line;
}
fclose($fp);
?>

subject

A string ou array com strings para procurar e modificar.

limit

O máximo de possíveis modificações para cada padrão em cada string subject. O padrão é -1 (sem limite).

count

Se especificado, esta variável irá ser preenchida com o número de substituições feitas.

Valor Retornado

preg_replace_callback() retorna um array se o parâmetro subject for um array, ou uma string caso contrário.

Se ocorrer combinação, a nova string será retornada, caso contrário subject será retornada inalterável.

Changelog

Versão | Descrição
7.4.0 | O parâmetro flags foi adicionado.

Exemplos

Exemplo #2 Exemplo da preg_replace_callback()

<?php
// this text was used in 2002
// we want to get this up to date for 2003
$text = "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";
// the callback function
function next_year($matches)
{
  // as usual: $matches[0] is the complete match
  // $matches[1] the match for the first subpattern
  // enclosed in '(...)' and so on
  return $matches[1].($matches[2]+1);
}
echo preg_replace_callback(
            "|(\d{2}/\d{2}/)(\d{4})|",
            "next_year",
            $text);

?>

O exemplo acima irá imprimir:

April fools day is 04/01/2003
Last christmas was 12/24/2002

Exemplo #3 preg_replace_callback() usando estrutura recursiva para manipular BB code aninhado

<?php
$input = "plain [indent] deep [indent] deeper [/indent] deep [/indent] plain";

function parseTagsRecursive($input)
{

    $regex = '#\[indent]((?:[^[]|\[(?!/?indent])|(?R))+)\[/indent]#';

    if (is_array($input)) {
        $input = '<div style="margin-left: 10px">'.$input[1].'</div>';
    }

    return preg_replace_callback($regex, 'parseTagsRecursive', $input);
}

$output = parseTagsRecursive($input);

echo $output;
?>

Veja Também

  • preg_replace() - Realiza uma pesquisa por uma expressão regular e a substitui.
  • create_function() - Cria uma função anônima (lambda-style)
  • informação sobre o tipo callback


Realiza uma pesquisa por uma expressão regular e a substitui.

  • « preg_replace_callback
  • preg_split »
  • PHP Manual
  • Funções da PCRE
  • Realiza uma pesquisa por uma expressão regular e a substitui.

preg_replace

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_replace — Realiza uma pesquisa por uma expressão regular e a substitui.

Descrição

preg_replace ( mixed $pattern , mixed $replacement , mixed $subject , int $limit = -1 , int &$count = ? ) : mixed

Pesquisa subject para o correspondente pattern substituindo pelo replacement.

Parâmetros

pattern

O padrão a ser pesquisado. Pode ser uma string ou um array com strings.

Diversas PCRE modifiers também estão disponíveis, incluindo as obsoletas 'e' (PREG_REPLACE_EVAL), que é específica para esta função.

replacement

A string ou array com strings para substituir. Se este parâmetro é uma string e o parâmetro pattern é um array, todos patterns vão ser substituídos por esta string. Se ambos pattern e replacement parâmetros são arrays, cada pattern vai ser substituído pelo seureplacement correspondente. Se houver menos elementos no replacement array do que no pattern array, qualquer extra patterns será substituído por uma string vazia.

replacement pode conter referências na forma \\n ou (desde PHP 4.0.4) $n, com a última forma sendo preferêncial. Toda referência será substituída pelo texto capturado pelo padrão entre parentêsesn'th. n pode ser de 0 to 99, e \\0 ou $0 refere-se ao texto correspondente por todo o pattern. A abertura de parentêses são contadas da esquerda para direita (a partir de 1) para obter o número de subpattern de captura. Para uso da contrabarra no replacement, deve ser duplicada ("\\\\" string PHP ).

Quando se trabalha com uma padrão de substituição, onde a backreference é imediatamente seguida por outro número (isto é.: inserido um número literal imediatamento de um padrão correspondente), você não pode usar a habitual notação \\1para seu backreference. \\11, por exemplo, iria confundir a função preg_replace() pois não saberá se quer o \\1 backreference seguido por um literal 1, ou o \\11 backreference seguido por nada. Neste caso a solução é usar \${1}1. Isto cria um isolado $1 backreference, deixando-o 1 como um literal.

Ao usar um obsoleto e modificador, esta função escapa alguns caracteres (ou seja ', ", \ and NULL) nas strings que substituem os backreferences. Isto é feito para garantir que nenhum erro surja do uso do backreference com aspas simples ou duplas (por exemplo, 'strlen(\'$1\')+strlen("$2")'). Certifique-se da sintaxe string do PHP para saber exatamente como a string interpretada será considerada.

subject

String ou um array com strings para pesquisar e substituir.

Se subject é um array, então a pesquisa e a substituição são executadas em cada entrada do subject, e o valor de retorno é um array também.

limit

O máximo possível de substituições para cada patern em cada subject string. O padrão é -1 (sem limite).

count

Se especificado, essa variável será preenchida com o número de substiuições realizadas.

Valor Retornado

preg_replace() retorna um array se o parâmetro subject é um array, caso contrário retorna uma string

Se a correspondência for encontrada, o novo subject será devolvido, caso contrário subject será devolvido inalterado ou null se um erro ocorreu.

Erros

Um nível de erro E_DEPRECATED é emitido quando passado o modificador "\e".

Exemplos

Exemplo #1 Usando backreferences seguido por literais numéricos

<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
?>

O exemplo acima irá imprimir:

April1,2003

Exemplo #2 Usando array indexados com preg_replace()

<?php
$string = 'The quick brown fox jumped over the lazy dog.';
$patterns = array();
$patterns[0] = '/quick/';
$patterns[1] = '/brown/';
$patterns[2] = '/fox/';
$replacements = array();
$replacements[2] = 'bear';
$replacements[1] = 'black';
$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string);
?>

O exemplo acima irá imprimir:

The bear black slow jumped over the lazy dog.

By ksorting patterns and replacements, we should get what we wanted.

<?php
ksort($patterns);
ksort($replacements);
echo preg_replace($patterns, $replacements, $string);
?>

O exemplo acima irá imprimir:

The slow black bear jumped over the lazy dog.

Exemplo #3 Replacing several values

<?php
$patterns = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/',
                   '/^\s*{(\w+)}\s*=/');
$replace = array ('\3/\4/\1\2', '$\1 =');
echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27');
?>

O exemplo acima irá imprimir:

$startDate = 5/27/1999

Exemplo #4 Strip whitespace

Este exemplo retira o excesso de espaçoes em branco de uma string.

<?php
$str = 'foo   o';
$str = preg_replace('/\s\s+/', ' ', $str);
// This will be 'foo o' now
echo $str;
?>

Exemplo #5 Usando o parâmetro count

<?php
$count = 0;

echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $count);
echo $count; //3
?>

O exemplo acima irá imprimir:

xp***to
3

Notas

Nota:

Ao usar arrays com pattern e replacement, as chaves são processadas na ordem que aparecem no array. Isto não é necessariamente o mesmo que a ordem de índice numérico. Se é feito o uso dos índices para indentificar qual pattern deve ser substituído por qual replacement, é necessário executar a função ksort() em cada array antes de chamar a função preg_replace().

Veja Também

  • PCRE Patterns
  • preg_filter() - Perform a regular expression search and replace
  • preg_match() - Perform a regular expression match
  • preg_replace_callback() - Executa uma busca usando expressão regular e modifica usando um callback
  • preg_split() - Divide a string por uma expressão regular
  • preg_last_error() - Retorna o código de erro da última regex PCRE executada


Divide a string por uma expressão regular

  • « preg_replace
  • POSIX Regex »
  • PHP Manual
  • Funções da PCRE
  • Divide a string por uma expressão regular

preg_split

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_split — Divide a string por uma expressão regular

Descrição

preg_split ( string $pattern , string $subject , int $limit = ? , int $flags = ? ) : array

Divide uma dada string por uma expressão regular.

Parâmetros

pattern

O padrão a ser usado.

subject

A string de entrada.

limit

Se especificado, então somente limit pedaços da string serão retornados, e se limit for -1, significa "sem limite", que é útil quando especificando flags.

flags

flags pode ser uma combinação das seguintes flags (combinada com o operador | bit-a-bit):

PREG_SPLIT_NO_EMPTY
Se esta flag é usada, somente pedaços não vazios serão retornados pela preg_split().
PREG_SPLIT_DELIM_CAPTURE
Se esta flag é usada, expressão entre parênteses no padrão serão capturados e retornados também.
PREG_SPLIT_OFFSET_CAPTURE

Se esta flag é usada, para cada combinação o offset da string será também retornado. Note que isto modifica o valor de retorno em um array onde cada elemento é um array contendo a string combinada no índice 0 e o offset da mesma em subject no índice 1.

Valor Retornado

Retorna um array contendo pedaços de strings de subject divididos pelo que for combinado pelo pattern.

Changelog

Versão | Descrição
4.3.0 | A PREG_SPLIT_OFFSET_CAPTURE foi adicionada
4.0.5 | A PREG_SPLIT_DELIM_CAPTURE foi adicionada
4.0.0 | O parâmetro flags foi adicionado

Exemplos

Exemplo #1 Exemplo da preg_split(): Obtendo partes de uma string

<?php
// reparte a frase por algum número caracteres de vírgula ou espaço,
// incluindo " ", \r, \t, \n e \f
$keywords = preg_split("/[\s,]+/", "hypertext language, programming");
?>

Exemplo #2 Dividindo a string em cada caractere que a compõe

<?php
$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>

Exemplo #3 Dividindo a string pela combinação e seus offsets

<?php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => Array
        (
            [0] => hypertext
            [1] => 0
        )

    [1] => Array
        (
            [0] => language
            [1] => 10
        )

    [2] => Array
        (
            [0] => programming
            [1] => 19
        )

)

Notas

Dica

Se você não precisa do poder das expressões regulares, pode optar por alternativa mais rápidas como explode() ou str_split().

Veja Também

  • spliti() - Separa strings em array utilizando expressões regulares insensíveis a maiúsculas e minúsculas
  • split() - Separa strings em array utilizando expressões regulares
  • implode() - Junta elementos de uma matriz em uma string
  • preg_match() - Perform a regular expression match
  • preg_match_all() - Perform a global regular expression match
  • preg_replace() - Realiza uma pesquisa por uma expressão regular e a substitui.


Expressão Regular (POSIX Extended)

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Funções para Regex POSIX
    • ereg_replace — Substituição com expressões regulares
    • ereg — Casando expressões regulares
    • eregi_replace — Substitução com expressões regulares insensíveis a maiúsculas e minúsculas
    • eregi — Aplica expressões regulares insensíveis a maiúsculas e minúsculas
    • split — Separa strings em array utilizando expressões regulares
    • spliti — Separa strings em array utilizando expressões regulares insensíveis a maiúsculas e minúsculas
    • sql_regcase — Cria expressões regulares insensíveis a maiúsculas e minúsculas


Introdução

Dica

PHP também suporta expressões regulares compatíveis com a sintaxe do Perl usando as Funções PCRE. Essas funções suportam non-greedy matching, assertions, conditional subpatterns, e várias outras características que não são suportadas pelas Expressões Regulares compatíveis com o padrão POSIX.

Aviso

Estas expressões regulares não são seguras para dados binários. As Funções PCRE são.

Expressões regulares são usadas para manipulação de strings complexas. PHP usa expressões regulares POSIX extended como definido pela POSIX 1003.2. Para uma completa descrição das expressões regulares POSIX veja a » regex man pages incluida no diretório regex na sua distribuição do PHP. Ele está no formato de manpage, então você precisa de man /usr/local/src/regex/regex.7 para lê-lo.


Instalação

Aviso

Não modifique o TYPE a não ser que você saiba o que está fazendo.

Para habilitar suporte a regexp configure o PHP com --with-regex[=TYPE]. TYPE pode ser do sistema, apache, php. O padrão é usar o do php.

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • POSIX Regex
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Exemplos

Exemplo #1 Exemplos de Expressões Regulares

<?php
// Retorna true se "abc" existir em qualquer lugar de $string.
ereg ("abc", $string);

// Retorna true se "abc" existir no início de $string.
ereg ("^abc", $string);

// Retorna true se "abc" existir no final de $string.
ereg ("abc$", $string);

// Retorna true se o navegador do cliente  for Netscape 2, 3 ou MSIE 3.
eregi ("(ozilla.[23]|MSIE.3)", $_SERVER["HTTP_USER_AGENT"]);

// Adiciona três palavras separadas por espaço em $regs[1], $regs[2] e $regs[3].
ereg ("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $string,$regs);

// Acrescenta a tag <br /> no início de $string.
$string = ereg_replace ("^", "<br />", $string);

// Acrescenta a tag <br />; no final de $string.
$string = ereg_replace ("$", "<br />", $string);

// Remove todos caracteres de nova linha (newline) em $string.
$string = ereg_replace ("\n", "", $string);
?>


Funções para Regex POSIX

Veja Também

Para expressões regulares compatíveis com o padrão Perl veja PCRE, Funções. O estilo simples de wildcard do shell pode ser usado com a função fnmatch().

Índice

  • ereg_replace — Substituição com expressões regulares
  • ereg — Casando expressões regulares
  • eregi_replace — Substitução com expressões regulares insensíveis a maiúsculas e minúsculas
  • eregi — Aplica expressões regulares insensíveis a maiúsculas e minúsculas
  • split — Separa strings em array utilizando expressões regulares
  • spliti — Separa strings em array utilizando expressões regulares insensíveis a maiúsculas e minúsculas
  • sql_regcase — Cria expressões regulares insensíveis a maiúsculas e minúsculas


Substituição com expressões regulares

  • « Funções para Regex POSIX
  • ereg »
  • PHP Manual
  • Funções para Regex POSIX
  • Substituição com expressões regulares

ereg_replace

(PHP 4, PHP 5)

ereg_replace — Substituição com expressões regulares

Aviso

Esta função está OBSOLETA no PHP 5.3.0 e foi REMOVIDA no PHP 7.0.0.

Alternativas a esta função incluem:

  • preg_replace()

Descrição

ereg_replace ( string $pattern , string $replacement , string $string ) : string

Essa função busca em string resultados para a pattern, substituindo se casar pelo texto replacement.

Parâmetros

pattern

A extendida expressão regular POSIX.

replacement

Se o pattern contém parênteses de substrings, a replacement será realizada através do formato \\digit, que indicará qual parte do texto substituido deverá ser retornado; \\0 retornará a string toda. Até nove substrings podem ser usadas. Os parênteses podem ser aninhados, sendo que a contagem será feita através da quantidade de parênteses abertos.

string

A string de entrada.

Valor Retornado

A string modificada é retornada. Se nenhuma substituição é feita na string, então retornará a string inalterada.

Exemplos

Por exemplo, o pedaço de código seguinte imprimirá "Esse foi um teste" três vezes:

Exemplo #1 Exemplo da função ereg_replace()

<?php

$string = "Esse e um teste";
echo str_replace(" e", " foi", $string);
echo ereg_replace("( )e", "\\1foi", $string);
echo ereg_replace("(( )e)", "\\2foi", $string);

?>

Preste atenção se usar uma variável integer no parâmetro replacement, pois o resultado pode não ser exatamente o esperado. Isso acontece porque a função ereg_replace() interpreta o valor ordinal do número. Por exemplo:

Exemplo #2 Exemplo da função ereg_replace()

<?php
/* Esse exemplo não funcionará. */
$num = 5;
$string = "Essa frase tem cinco palavras.";
$string = ereg_replace('cinco', $num, $string);
echo $string;   /* Resultado: 'Essa frase tem   palavras.' */

/* Esse exemplo funcionará. */
$num = '5';
$string = "Essa frase tem cinco palavras.";
$string = ereg_replace('cinco', $num, $string);
echo $string;   /* Resultado: 'Essa frase tem 5 palavras.' */
?>

Exemplo #3 Substitui URLs por links

<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                     '<a href="\\0">\\0</a>', $text);
?>

Veja Também

  • ereg() - Casando expressões regulares
  • eregi() - Aplica expressões regulares insensíveis a maiúsculas e minúsculas
  • eregi_replace() - Substitução com expressões regulares insensíveis a maiúsculas e minúsculas
  • str_replace() - Substitui todas as ocorrências da string de procura com a string de substituição
  • preg_replace() - Realiza uma pesquisa por uma expressão regular e a substitui.
  • quotemeta() - Adiciona uma barra invertida antes dos meta caracteres


Casando expressões regulares

  • « ereg_replace
  • eregi_replace »
  • PHP Manual
  • Funções para Regex POSIX
  • Casando expressões regulares

ereg

(PHP 4, PHP 5)

ereg — Casando expressões regulares

Aviso

Esta função está OBSOLETA no PHP 5.3.0 e foi REMOVIDA no PHP 7.0.0.

Alternativas a esta função incluem:

  • preg_match()

Descrição

ereg ( string $pattern , string $string , array &$regs = ? ) : int

Verifica se a variavel casa com a expressão regular definida em expressao em um modo sensível a distinção de caracteres (case sensitive).

Parâmetros

pattern

A expressão regular case sensitive.

string

A string de entrada.

regs

Se existirem parênteses de substrings no pattern e for passado o terceiro parâmetro regs para a função, a execução guardará os elementos resultantes na matriz regs.

$registros[1] irá conter a substring indicada pelo primeiro parenteses da esquerda; $registros[2] contém a segunda substring, e assim por diante. $registros[0] conterá uma cópia completa da variável casada.

Valor Retornado

Retorna o tamanho da string encontrada se uma combinação de pattern foi encontrado em string, ou false se nenhuma combinação foi feita ou um erro que tenha ocorrido.

Se o parâmetro opcional regs não foi passado ou o tamanho da string casada é 0, esta função retorna 1.

Changelog

Versão | Descrição
4.1.0 | Nas versões superiores ao PHP 4.1.0 (inclusive) se você colocar exatamente dez elementos em $registros, ou até mesmo mais elementos, a expressão será executada. A quantidade não causará efeitos na função ereg() que tem habilidade de suportar muitas substrings. Se a expressão não casar, $registros não será alterada por ereg().

Exemplos

Exemplo #1 Exemplo da ereg()

O exemplo seguinte pega uma data no padrão ISO (YYYY-MM-DD) e imprime na no formato DD.MM.YYYY:

<?php
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
    echo "$regs[3].$regs[2].$regs[1]";
} else {
    echo "Formato data inválido: $date";
}
?>

Veja Também

  • eregi() - Aplica expressões regulares insensíveis a maiúsculas e minúsculas
  • ereg_replace() - Substituição com expressões regulares
  • eregi_replace() - Substitução com expressões regulares insensíveis a maiúsculas e minúsculas
  • preg_match() - Perform a regular expression match
  • strpos() - Encontra a posição da primeira ocorrência de uma string
  • strstr() - Encontra a primeira ocorrencia de uma string
  • quotemeta() - Adiciona uma barra invertida antes dos meta caracteres


Substitução com expressões regulares insensíveis a maiúsculas e minúsculas

  • « ereg
  • eregi »
  • PHP Manual
  • Funções para Regex POSIX
  • Substitução com expressões regulares insensíveis a maiúsculas e minúsculas

eregi_replace

(PHP 4, PHP 5)

eregi_replace — Substitução com expressões regulares insensíveis a maiúsculas e minúsculas

Aviso

Esta função está OBSOLETA no PHP 5.3.0 e foi REMOVIDA no PHP 7.0.0.

Alternativas a esta função incluem:

  • preg_replace() (com o modificador i (PCRE_CASELESS))

Descrição

eregi_replace ( string $pattern , string $replacement , string $string ) : string

Essa função é idêntica a ereg_replace() com exceção de não fazer distinções alfabéticas entre caracteres (case insensitive) na hora de casar resultados.

Parâmetros

pattern

A extendida expressão regular POSIX.

replacement

Se o pattern contém parênteses de substrings, a replacement será realizada através do formato \\digit, que indicará qual parte do texto substituido deverá ser retornado; \\0 retornará a string toda. Até nove substrings podem ser usadas. Os parênteses podem ser aninhados, sendo que a contagem será feita através da quantidade de parênteses abertos.

string

A string de entrada.

Valor Retornado

A string modificada é retornada. Se nenhum combinação foi feita em string, então retornará a string inalterada.

Exemplos

Exemplo #1 Destacando resultados de uma busca

<?php
$pattern = '(>[^<]*)('. quotemeta($_GET['search']) .')';
$replacement = '\\1<span class="search">\\2</span>';
$body = eregi_replace($pattern, $replacement, $body);
?>

Veja Também

  • ereg() - Casando expressões regulares
  • eregi() - Aplica expressões regulares insensíveis a maiúsculas e minúsculas
  • ereg_replace() - Substituição com expressões regulares
  • preg_replace() - Realiza uma pesquisa por uma expressão regular e a substitui.
  • quotemeta() - Adiciona uma barra invertida antes dos meta caracteres


Aplica expressões regulares insensíveis a maiúsculas e minúsculas

  • « eregi_replace
  • split »
  • PHP Manual
  • Funções para Regex POSIX
  • Aplica expressões regulares insensíveis a maiúsculas e minúsculas

eregi

(PHP 4, PHP 5)

eregi — Aplica expressões regulares insensíveis a maiúsculas e minúsculas

Aviso

Esta função está OBSOLETA no PHP 5.3.0 e foi REMOVIDA no PHP 7.0.0.

Alternativas a esta função incluem:

  • preg_match() (with the i (PCRE_CASELESS) modifier)

Descrição

eregi ( string $pattern , string $string , array &$regs = ? ) : int

Essa função é idêntica a função ereg() com exceção de não fazer distinções alfabéticas entre caracteres (case insensitive) na hora de casar resultados.

Parâmetros

pattern

A expressão regular case insensitive.

string

A string de entrada.

regs

Se existirem parênteses de substrings no pattern e for passado o terceiro parâmetro regs para a função, a execução guardará os elementos resultantes na matriz regs.

$regs[1] irá conter a substring indicada no primeiro parenteses da esquerda; $regs[2] irá conter a segunda substring e assim por diante. $regs[0] conterá uma cópia da string completa casada.

Valor Retornado

Retorna o tamanho da string combinada se uma combinação para pattern foi encontrado na string, ou false se nenhuma combinação é feita ou um erro tenha ocorrido.

Se o parâmetro opcional regs não foi passado ou o tamanho da string casada é 0, esta função retorna 1.

Exemplos

Exemplo #1 Exemplo da função eregi()

<?php
$string = 'XYZ';
if (eregi('z', $string)) {
    echo "A '$variavel' contém a letra 'z' ou 'Z'!";
}
?>

Veja Também

  • ereg() - Casando expressões regulares
  • ereg_replace() - Substituição com expressões regulares
  • eregi_replace() - Substitução com expressões regulares insensíveis a maiúsculas e minúsculas
  • preg_match() - Perform a regular expression match
  • stripos() - Encontra a primeira ocorrencia de uma string sem diferenciar maiúsculas e minúsculas
  • stristr() - strstr sem diferenciar maiúsculas e minúsculas
  • quotemeta() - Adiciona uma barra invertida antes dos meta caracteres


Separa strings em array utilizando expressões regulares

  • « eregi
  • spliti »
  • PHP Manual
  • Funções para Regex POSIX
  • Separa strings em array utilizando expressões regulares

split

(PHP 4, PHP 5)

split — Separa strings em array utilizando expressões regulares

Aviso

Esta função está OBSOLETA no PHP 5.3.0 e foi REMOVIDA no PHP 7.0.0.

Alternativas a esta função incluem:

  • preg_split()
  • explode()
  • str_split()

Descrição

split ( string $pattern , string $string , int $limit = -1 ) : array

Separa uma string em array por expressão regular.

Parâmetros

pattern

A expressão regular case sensitive.

Se separar caracteres que são consideredos especiais para as expressões regulares, será necessário usar o caracter de escape primeiramente. Se você pensar que split() (ou outra função para execução de expressões regulares) é muito estranha, por favor leia o arquivo regex.7, incluido na pasta regex/ no subdiretório da distribuição do PHP. Está no formato manpage e você deverá usar o comando man /usr/local/src/regex/regex.7 para maiores informações.

string

A string de entrada.

limit

Se limit é definido, o array retornado conterá no máximo de limit elementos, sendo que o último elemento conterá o resto da string.

Valor Retornado

Retorna uma matriz de strings, contendo as substrings de string separadas pelos limites descritos na expressão regular pattern.

Se existirem n ocorrências da pattern, será retornado uma matriz (array) contendo n+1 items. Por exemplo, se não existir uma ocorrência de pattern, uma matriz com um único elemento será retornado. Certamente, isto também é válido se string estiver vazia. Se um erro ocorrer, split() retorna false.

Exemplos

Exemplo #1 Exemplo da split()

Separa os quatro primeiro elementos de uma linha do arquivo /etc/passwd:

<?php
list($user, $pass, $uid, $gid, $extra) =
    split(":", $passwd_line, 5);
?>

Exemplo #2 Exemplo da split()

Separação de dados delimitados por barras, pontos, ou traços:

<?php
// Delimitado por barras, pontos ou traços
$data = "04/30/1973";
list ($mes, $dia, $ano) = split ('[/.-]', $data);
echo "Mês: $mes; Dia: $dia; Ano: $ano<br />\n";
?>

Notas

Dica

A função split() está obsoleta desde o PHP 5.3.0. preg_split() é a alternativa sugerida. Se você não precisa do poder das expressões regulares, é mais eficiente usar explode(), que não faz overhead de um engine de expressão regular.

Dica

Para visualizar uma emulação do Perl e seus métodos @chars = split('', $str), veja os exemplos das funções preg_split() ou str_split().

Veja Também

  • preg_split() - Divide a string por uma expressão regular
  • spliti() - Separa strings em array utilizando expressões regulares insensíveis a maiúsculas e minúsculas
  • str_split() - Converte uma string para um array
  • explode() - Divide uma string em strings
  • implode() - Junta elementos de uma matriz em uma string
  • chunk_split() - Divide uma string em pequenos pedaços
  • wordwrap() - Quebra uma string em um dado número de caracteres


Separa strings em array utilizando expressões regulares insensíveis a maiúsculas e minúsculas

  • « split
  • sql_regcase »
  • PHP Manual
  • Funções para Regex POSIX
  • Separa strings em array utilizando expressões regulares insensíveis a maiúsculas e minúsculas

spliti

(PHP 4 >= 4.0.1, PHP 5)

spliti — Separa strings em array utilizando expressões regulares insensíveis a maiúsculas e minúsculas

Aviso

Esta função está OBSOLETA no PHP 5.3.0 e foi REMOVIDA no PHP 7.0.0.

Alternativas a esta função incluem:

  • preg_split() (with the i (PCRE_CASELESS) modifier)

Descrição

spliti ( string $pattern , string $string , int $limit = -1 ) : array

Separa uma string em array por expressão regular.

Esta função é idêntica a split() exceto que esta ignora distinção de caracteres alfabéticos maiúsculos e minúsculos.

Parâmetros

pattern

Expressão regular case insensitive.

Se separar caracteres que são consideredos especiais para as expressões regulares, será necessário usar o caracter de escape primeiramente. Se você pensar que split() (ou outra função para execução de expressões regulares) é muito estranha, por favor leia o arquivo regex.7, incluido na pasta regex/ no subdiretório da distribuição do PHP. Está no formato manpage e você deverá usar o comando man /usr/local/src/regex/regex.7 para maiores informações.

string

A string de entrada.

limit

Se limit é definido, o array retornado conterá no máximo limit elementos com o último elemento contendo todo resto da string.

Valor Retornado

Retorna uma matriz de strings, contendo as substrings de string separadas pelos limites descritos na expressão regular case sensitive pattern.

Se existirem n ocorrências da pattern, será retornado uma matriz (array) contendo n+1 items. Por exemplo, se não existir uma ocorrência de pattern, uma matriz com um único elemento será retornado. Certamente, isto também é válido se string estiver vazia. Se um erro ocorrer, split() retorna false.

Exemplos

Este exemplo separa uma string usando 'a' com o separador:

Exemplo #1 Exemplo da spliti()

<?php
$string = "aBBBaCCCADDDaEEEaGGGA";
$chunks = spliti ("a", $string, 5);
print_r($chunks);
?>

O exemplo acima irá imprimir:

Array
(
  [0] =>
  [1] => BBB
  [2] => CCC
  [3] => DDD
  [4] => EEEaGGGA
)

Veja Também

  • preg_split() - Divide a string por uma expressão regular
  • split() - Separa strings em array utilizando expressões regulares
  • explode() - Divide uma string em strings
  • implode() - Junta elementos de uma matriz em uma string


Cria expressões regulares insensíveis a maiúsculas e minúsculas

  • « spliti
  • ssdeep »
  • PHP Manual
  • Funções para Regex POSIX
  • Cria expressões regulares insensíveis a maiúsculas e minúsculas

sql_regcase

(PHP 4, PHP 5)

sql_regcase — Cria expressões regulares insensíveis a maiúsculas e minúsculas

Aviso

Esta função está OBSOLETA no PHP 5.3.0 e foi REMOVIDA no PHP 7.0.0.

Alternativas a esta função incluem:

  • preg_match()
  • preg_quote()

Descrição

sql_regcase ( string $string ) : string

Cria uma expressão regular para uma combinação case insensitive.

Parâmetros

string

A string de entrada.

Valor Retornado

Retorna uma expressão regular válida para casar com string ignorando a diferença entre maiúsculas e minúsculas. A expressão será string com os caracteres convertidos a uma expressão de colchetes; essa expressão terá os caracteres aplicáveis descritos em maiúsculas e minúsculas. Outros caracteres não serão modificados.

Exemplos

Exemplo #1 Exemplo da sql_regcase()

<?php
echo sql_regcase("Foo - bar.");
?>

O exemplo acima irá imprimir:

[Ff][Oo][Oo] - [Bb][Aa][Rr].

Você pode utilizar esse recurso quando quando existir somente suporte a expressões regulares sensíveis a maiúsculas e minúsculas


ssdeep Fuzzy Hashing

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • ssdeep Funções
    • ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures
    • ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file
    • ssdeep_fuzzy_hash — Create a fuzzy hash from a string


Introdução

ssdeep is a utility for creating and comparing fuzzy hashes or » context-triggered piecewise hashing.

Fuzzy hashing can match signatures which have "...sequences of identical bytes in the same order, although bytes in between these sequences may be different in both content and length". (» ssdeep project page)

This extension provides functions for creating and comparing fuzzy hashes.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

This extension requires the » ssdeep library.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/ssdeep.


  • « Tipos de Recurso
  • ssdeep Funções »
  • PHP Manual
  • ssdeep
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


ssdeep Funções

Índice

  • ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures
  • ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file
  • ssdeep_fuzzy_hash — Create a fuzzy hash from a string


Calculates the match score between two fuzzy hash signatures

  • « ssdeep Funções
  • ssdeep_fuzzy_hash_filename »
  • PHP Manual
  • ssdeep Funções
  • Calculates the match score between two fuzzy hash signatures

ssdeep_fuzzy_compare

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures

Descrição

ssdeep_fuzzy_compare ( string $signature1 , string $signature2 ) : int

Calculates the match score between signature1 and signature2 using » context-triggered piecewise hashing, and returns the match score.

Parâmetros

signature1

The first fuzzy hash signature string.

signature2

The second fuzzy hash signature string.

Valor Retornado

Returns an integer from 0 to 100 on success, false otherwise.


Create a fuzzy hash from a file

  • « ssdeep_fuzzy_compare
  • ssdeep_fuzzy_hash »
  • PHP Manual
  • ssdeep Funções
  • Create a fuzzy hash from a file

ssdeep_fuzzy_hash_filename

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file

Descrição

ssdeep_fuzzy_hash_filename ( string $file_name ) : string

ssdeep_fuzzy_hash_filename() calculates the hash of the file specified by file_name using » context-triggered piecewise hashing, and returns that hash.

Parâmetros

file_name

The filename of the file to hash.

Valor Retornado

Returns a string on success, false otherwise.


Create a fuzzy hash from a string

  • « ssdeep_fuzzy_hash_filename
  • Strings »
  • PHP Manual
  • ssdeep Funções
  • Create a fuzzy hash from a string

ssdeep_fuzzy_hash

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_hash — Create a fuzzy hash from a string

Descrição

ssdeep_fuzzy_hash ( string $to_hash ) : string

ssdeep_fuzzy_hash() calculates the hash of to_hash using » context-triggered piecewise hashing, and returns that hash.

Parâmetros

to_hash

The input string.

Valor Retornado

Returns a string on success, false otherwise.


Strings

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções para String
    • addcslashes — String entre aspas com barras no estilo C
    • addslashes — Adiciona barras a uma string
    • bin2hex — Converte um dado binário em representação hexadecimal
    • chop — Sinônimo de rtrim
    • chr — Retorna um caracter específico
    • chunk_split — Divide uma string em pequenos pedaços
    • convert_cyr_string — Converte de um conjunto caracteres cirílico para outro
    • convert_uudecode — Decodifica uma string codificada com uuencode
    • convert_uuencode — Codifica com uuencode uma string
    • count_chars — Retorna informações sobre os caracteres usados numa string
    • crc32 — Calcula polinômio crc32 de uma string
    • crypt — Encriptação unidirecional de string (hashing)
    • echo — Exibe uma ou mais strings
    • explode — Divide uma string em strings
    • fprintf — Escreve uma string formatada para um stream
    • get_html_translation_table — Retorna a tabela de tradução usada por htmlspecialchars e htmlentities
    • hebrev — Converte texto lógico Hebraico para texto visual
    • hebrevc — Converte um texto lógico Hebráico para um texto visual com conversão newline
    • hex2bin — Decodes a hexadecimally encoded binary string
    • html_entity_decode — Converte todas as entidades HTML para os seus caracteres
    • htmlentities — Converte todos os caracteres aplicáveis em entidades html.
    • htmlspecialchars_decode — Converte especiais entidades HTML para caracteres
    • htmlspecialchars — Converte caracteres especiais para a realidade HTML
    • implode — Junta elementos de uma matriz em uma string
    • join — Sinônimo de implode
    • lcfirst — Torna minúsculo o primeiro caractere de uma string
    • levenshtein — Calcula a distância Levenshtein entre duas strings
    • localeconv — Obtém a informação da formatação numérica
    • ltrim — Retira espaços em branco (ou outros caracteres) do início da string
    • md5_file — Calcula hash md5 de um dado arquivo
    • md5 — Calcula o "hash MD5" de uma string
    • metaphone — Calcula a metaphone key de uma string
    • money_format — Formata um número como uma string de moeda
    • nl_langinfo — Retorna informação de linguagem e local
    • nl2br — Insere quebras de linha HTML antes de todas newlines em uma string
    • number_format — Formata um número com os milhares agrupados
    • ord — Retorna o valor ASCII do caractere
    • parse_str — Converte a string em variáveis
    • print — Mostra uma string
    • printf — Mostra uma string formatada
    • quoted_printable_decode — Converte uma string quoted-printable para uma string de 8 bit
    • quoted_printable_encode — Converte uma string de 8 bits em uma string quoted-printable
    • quotemeta — Adiciona uma barra invertida antes dos meta caracteres
    • rtrim — Retira espaço em branco (ou outros caracteres) do final da string
    • setlocale — Define informações locais
    • sha1_file — Calcula a hash sha1 de um arquivo
    • sha1 — Calcula a hash sha1 de uma string
    • similar_text — Calcula a similaridade entre duas strings
    • soundex — Calcula a chave soundex de uma string
    • sprintf — Retorna a string formatada
    • sscanf — Interpreta a entrada de uma string de acordo com um formato
    • str_contains — Determine if a string contains a given substring
    • str_ends_with — Checks if a string ends with a given substring
    • str_getcsv — Analisa uma string CSV e retorna os dados em um array
    • str_ireplace — Versão que não diferencia maiúsculas e minúsculas de str_replace.
    • str_pad — Preenche uma string para um certo tamanho com outra string
    • str_repeat — Repete uma string
    • str_replace — Substitui todas as ocorrências da string de procura com a string de substituição
    • str_rot13 — Executa a transformação rot13 em uma string
    • str_shuffle — Mistura uma string aleatoriamente
    • str_split — Converte uma string para um array
    • str_starts_with — Checks if a string starts with a given substring
    • str_word_count — Retorna informação sobre as palavras usadas em uma string
    • strcasecmp — Comparação de strings sem diferenciar maiúsculas e minúsculas segura para binário
    • strchr — Sinônimo de strstr
    • strcmp — Comparação de string segura para binário
    • strcoll — Comparação de string baseada no local
    • strcspn — Encontra o tamanho do segmento inicial que não contenha a máscara
    • strip_tags — Retira as tags HTML e PHP de uma string
    • stripcslashes — Desfaz o efeito de addcslashes
    • stripos — Encontra a primeira ocorrencia de uma string sem diferenciar maiúsculas e minúsculas
    • stripslashes — Desfaz o efeito de addslashes
    • stristr — strstr sem diferenciar maiúsculas e minúsculas
    • strlen — Retorna o tamanho de uma string
    • strnatcasecmp — Comparação de strings sem diferenciar maiúsculas/minúsculas usando o algoritmo "natural order"
    • strnatcmp — Comparação de strings usando o algoritmo "natural order"
    • strncasecmp — Comparação de string caso-sensitivo de Binário seguro dos primeiros n caracteres
    • strncmp — Comparação de string segura para binário para os primeiros n caracteres
    • strpbrk — Procura na string por um dos caracteres de um conjunto
    • strpos — Encontra a posição da primeira ocorrência de uma string
    • strrchr — Encontra a ultima ocorrência de um caractere em uma string
    • strrev — Reverte uma string
    • strripos — Encontra a posição da última ocorrência de uma string case-insensitive em uma string
    • strrpos — Encontra a posição da última ocorrência de um caractere em uma string
    • strspn — Encontra o comprimento do segmento inicial combinando com a máscara
    • strstr — Encontra a primeira ocorrencia de uma string
    • strtok — Tokeniza uma string
    • strtolower — Converte uma string para minúsculas
    • strtoupper — Converte uma string para maiúsculas
    • strtr — Traduz certos caracteres
    • substr_compare — A comparação binária entre duas strings de um offset até o limite do comprimento de caracteres
    • substr_count — Conta o número de ocorrências de uma substring
    • substr_replace — Substitui o texto dentro de uma parte de uma string
    • substr — Retorna uma parte de uma string
    • trim — Retira espaço no ínicio e final de uma string
    • ucfirst — Converte para maiúscula o primeiro caractere de uma string
    • ucwords — Converte para maiúsculas o primeiro caractere de cada palavra
    • vfprintf — Escreve uma string formatada para um stream
    • vprintf — Mostra uma string formatada
    • vsprintf — Retorna uma string formatada
    • wordwrap — Quebra uma string em um dado número de caracteres
  • Changelog


Introdução

Todas estas funções manipulam strings de várias formas. Algumas seções mais especializadas podem ser encontradas nas seções de expressões regulares e manipulação de URLs.

Para informações sobre como as strings funcionam, especialmente sobre o uso de aspas simples, aspas duplas e sequências de escape veja o verbete sobre Strings na seção Tipos do manual.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

CRYPT_SALT_LENGTH integer
CRYPT_STD_DES integer
CRYPT_EXT_DES integer
CRYPT_MD5 integer
CRYPT_BLOWFISH integer
HTML_SPECIALCHARS (integer)
HTML_ENTITIES (integer)
ENT_COMPAT (integer)
ENT_QUOTES (integer)
ENT_NOQUOTES (integer)
CHAR_MAX (integer)
LC_CTYPE (integer)
LC_NUMERIC (integer)
LC_TIME (integer)
LC_COLLATE (integer)
LC_MONETARY (integer)
LC_ALL (integer)
LC_MESSAGES (integer)
STR_PAD_LEFT (integer)
STR_PAD_RIGHT (integer)
STR_PAD_BOTH (integer)


Funções para String

Veja Também

Para funções de manuseio de string mais poderosas, de uma olhada em funções de expressão regular POSIX e funções de expressão regular compatíveis com Perl .

Índice

  • addcslashes — String entre aspas com barras no estilo C
  • addslashes — Adiciona barras a uma string
  • bin2hex — Converte um dado binário em representação hexadecimal
  • chop — Sinônimo de rtrim
  • chr — Retorna um caracter específico
  • chunk_split — Divide uma string em pequenos pedaços
  • convert_cyr_string — Converte de um conjunto caracteres cirílico para outro
  • convert_uudecode — Decodifica uma string codificada com uuencode
  • convert_uuencode — Codifica com uuencode uma string
  • count_chars — Retorna informações sobre os caracteres usados numa string
  • crc32 — Calcula polinômio crc32 de uma string
  • crypt — Encriptação unidirecional de string (hashing)
  • echo — Exibe uma ou mais strings
  • explode — Divide uma string em strings
  • fprintf — Escreve uma string formatada para um stream
  • get_html_translation_table — Retorna a tabela de tradução usada por htmlspecialchars e htmlentities
  • hebrev — Converte texto lógico Hebraico para texto visual
  • hebrevc — Converte um texto lógico Hebráico para um texto visual com conversão newline
  • hex2bin — Decodes a hexadecimally encoded binary string
  • html_entity_decode — Converte todas as entidades HTML para os seus caracteres
  • htmlentities — Converte todos os caracteres aplicáveis em entidades html.
  • htmlspecialchars_decode — Converte especiais entidades HTML para caracteres
  • htmlspecialchars — Converte caracteres especiais para a realidade HTML
  • implode — Junta elementos de uma matriz em uma string
  • join — Sinônimo de implode
  • lcfirst — Torna minúsculo o primeiro caractere de uma string
  • levenshtein — Calcula a distância Levenshtein entre duas strings
  • localeconv — Obtém a informação da formatação numérica
  • ltrim — Retira espaços em branco (ou outros caracteres) do início da string
  • md5_file — Calcula hash md5 de um dado arquivo
  • md5 — Calcula o "hash MD5" de uma string
  • metaphone — Calcula a metaphone key de uma string
  • money_format — Formata um número como uma string de moeda
  • nl_langinfo — Retorna informação de linguagem e local
  • nl2br — Insere quebras de linha HTML antes de todas newlines em uma string
  • number_format — Formata um número com os milhares agrupados
  • ord — Retorna o valor ASCII do caractere
  • parse_str — Converte a string em variáveis
  • print — Mostra uma string
  • printf — Mostra uma string formatada
  • quoted_printable_decode — Converte uma string quoted-printable para uma string de 8 bit
  • quoted_printable_encode — Converte uma string de 8 bits em uma string quoted-printable
  • quotemeta — Adiciona uma barra invertida antes dos meta caracteres
  • rtrim — Retira espaço em branco (ou outros caracteres) do final da string
  • setlocale — Define informações locais
  • sha1_file — Calcula a hash sha1 de um arquivo
  • sha1 — Calcula a hash sha1 de uma string
  • similar_text — Calcula a similaridade entre duas strings
  • soundex — Calcula a chave soundex de uma string
  • sprintf — Retorna a string formatada
  • sscanf — Interpreta a entrada de uma string de acordo com um formato
  • str_contains — Determine if a string contains a given substring
  • str_ends_with — Checks if a string ends with a given substring
  • str_getcsv — Analisa uma string CSV e retorna os dados em um array
  • str_ireplace — Versão que não diferencia maiúsculas e minúsculas de str_replace.
  • str_pad — Preenche uma string para um certo tamanho com outra string
  • str_repeat — Repete uma string
  • str_replace — Substitui todas as ocorrências da string de procura com a string de substituição
  • str_rot13 — Executa a transformação rot13 em uma string
  • str_shuffle — Mistura uma string aleatoriamente
  • str_split — Converte uma string para um array
  • str_starts_with — Checks if a string starts with a given substring
  • str_word_count — Retorna informação sobre as palavras usadas em uma string
  • strcasecmp — Comparação de strings sem diferenciar maiúsculas e minúsculas segura para binário
  • strchr — Sinônimo de strstr
  • strcmp — Comparação de string segura para binário
  • strcoll — Comparação de string baseada no local
  • strcspn — Encontra o tamanho do segmento inicial que não contenha a máscara
  • strip_tags — Retira as tags HTML e PHP de uma string
  • stripcslashes — Desfaz o efeito de addcslashes
  • stripos — Encontra a primeira ocorrencia de uma string sem diferenciar maiúsculas e minúsculas
  • stripslashes — Desfaz o efeito de addslashes
  • stristr — strstr sem diferenciar maiúsculas e minúsculas
  • strlen — Retorna o tamanho de uma string
  • strnatcasecmp — Comparação de strings sem diferenciar maiúsculas/minúsculas usando o algoritmo "natural order"
  • strnatcmp — Comparação de strings usando o algoritmo "natural order"
  • strncasecmp — Comparação de string caso-sensitivo de Binário seguro dos primeiros n caracteres
  • strncmp — Comparação de string segura para binário para os primeiros n caracteres
  • strpbrk — Procura na string por um dos caracteres de um conjunto
  • strpos — Encontra a posição da primeira ocorrência de uma string
  • strrchr — Encontra a ultima ocorrência de um caractere em uma string
  • strrev — Reverte uma string
  • strripos — Encontra a posição da última ocorrência de uma string case-insensitive em uma string
  • strrpos — Encontra a posição da última ocorrência de um caractere em uma string
  • strspn — Encontra o comprimento do segmento inicial combinando com a máscara
  • strstr — Encontra a primeira ocorrencia de uma string
  • strtok — Tokeniza uma string
  • strtolower — Converte uma string para minúsculas
  • strtoupper — Converte uma string para maiúsculas
  • strtr — Traduz certos caracteres
  • substr_compare — A comparação binária entre duas strings de um offset até o limite do comprimento de caracteres
  • substr_count — Conta o número de ocorrências de uma substring
  • substr_replace — Substitui o texto dentro de uma parte de uma string
  • substr — Retorna uma parte de uma string
  • trim — Retira espaço no ínicio e final de uma string
  • ucfirst — Converte para maiúscula o primeiro caractere de uma string
  • ucwords — Converte para maiúsculas o primeiro caractere de cada palavra
  • vfprintf — Escreve uma string formatada para um stream
  • vprintf — Mostra uma string formatada
  • vsprintf — Retorna uma string formatada
  • wordwrap — Quebra uma string em um dado número de caracteres


String entre aspas com barras no estilo C

  • « Funções para String
  • addslashes »
  • PHP Manual
  • Funções para String
  • String entre aspas com barras no estilo C

addcslashes

(PHP 4, PHP 5, PHP 7, PHP 8)

addcslashes — String entre aspas com barras no estilo C

Descrição

addcslashes ( string $str , string $charlist ) : string

Retorna uma string com barras invertidas antes dos caracteres que estão listados no parâmetro charlist.

Parâmetros

str

A string a receber escape.

charlist

Uma lista de caractere para receber escape. Se charlist contém caracteres \n, \r etc., eles são convertidos na mesma forma que C, quando outros caracteres não-alfanumérico com códigos ASCII menor que 32 e maior que 126 são convertido para representação octal.

Quando você define uma seqüencia de caracteres no argumento charlist certifique-se que você sabe quais os caracteres que vêm dentro do intervalo que você definiu.

<?php
echo addcslashes('foo[ ]', 'A..z');
// output:  \f\o\o\[ \]
// All upper and lower-case letters will be escaped
// ... but so will the [\]^_` and any tabs, line
// feeds, carriage returns, etc.
?>
Também, se o primeiro caracter no intervalo tem um valor ASCII maior do que o segundo, nenhum intervalo será construído. Apenas os caracteres do começo e do fim serão escapados. Use a função ord() para encontrar o valor ASCII para um caracter.
<?php
echo addcslashes("zoo['.']", 'z..A');
// output:  \zoo['\.']
?>

Tenha cuidado se você escolheu adicionar escape nos caracteres 0, a, b, f, n, r, t e v. Eles serão convertidos para \0, \a, \b, \f, \n, \r, \t e \v. No PHP \0 (NULL), \r (carriage return), \n (newline), \f (form feed), \v (vertical tab) e \t (tab) são pré-definidas seqüências de escape, quando em C todos esses são pré-definidas seqüências de escape.

Valor Retornado

Retorna a string com escapes.

Changelog

Versão | Descrição
5.2.5 | As seqüências de escape \v e \f foram adicionadas.

Exemplos

charlist como "\0..\37", que adicionaria escape para todos caracteres com código ASCII entre 0 e 31.

Exemplo #1 Exemplo da addcslashes()

<?php
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
?>

Veja Também

  • stripcslashes() - Desfaz o efeito de addcslashes
  • stripslashes() - Desfaz o efeito de addslashes
  • addslashes() - Adiciona barras a uma string
  • htmlspecialchars() - Converte caracteres especiais para a realidade HTML
  • quotemeta() - Adiciona uma barra invertida antes dos meta caracteres


Adiciona barras a uma string

  • « addcslashes
  • bin2hex »
  • PHP Manual
  • Funções para String
  • Adiciona barras a uma string

addslashes

(PHP 4, PHP 5, PHP 7, PHP 8)

addslashes — Adiciona barras a uma string

Descrição

addslashes ( string $str ) : string

Retorna uma string com barras adicionadas antes de caracteres que precisam ser escapados. Estes caracteres são:

  • aspas simples (')
  • aspas duplas (")
  • barra invertida (\)
  • NUL (o byte NUL)

Um caso de uso de addslashes() é o escape dos caracteres mencionados em uma string que deve ser avaliada pelo PHP:

<?php
$str = "O'Reilly?";
eval("echo '" . addslashes($str) . "';");
?>

Antes do PHP 5.4.0, a diretiva do PHP magic_quotes_gpc era ativada (on) por padrão, e essencialmente executava addslashes() para todos os dados de GET, POST e COOKIE. addslashes() não deve ser usada em strings que já foram escapadas com magic_quotes_gpc, pois as strings serão escapadas duas vezes. A função get_magic_quotes_gpc() pode ser usada para verificar se magic_quotes_gpc está ligado (on).

A função addslashes() às vezes é usada incorretamente para tentar previnir Injeção de SQL. Em vez disso, funções de escape específicas do banco de dados e/ou instruções preparadas devem ser usadas.

Parâmetros

str

A string a ser escapada.

Valor Retornado

Retorna a string com escapes.

Exemplos

Exemplo #1 Exemplo com addslashes()

<?php
$str = "Seu nome é O'reilly?";

// Mostra: Seu nome é O\'reilly?
echo addslashes($str);
?>

Veja Também

  • stripcslashes() - Desfaz o efeito de addcslashes
  • stripslashes() - Desfaz o efeito de addslashes
  • addcslashes() - String entre aspas com barras no estilo C
  • htmlspecialchars() - Converte caracteres especiais para a realidade HTML
  • quotemeta() - Adiciona uma barra invertida antes dos meta caracteres
  • get_magic_quotes_gpc() - Obtém a configuração atual de magic_quotes_gpc


Converte um dado binário em representação hexadecimal

  • « addslashes
  • chop »
  • PHP Manual
  • Funções para String
  • Converte um dado binário em representação hexadecimal

bin2hex

(PHP 4, PHP 5, PHP 7, PHP 8)

bin2hex — Converte um dado binário em representação hexadecimal

Descrição

bin2hex ( string $str ) : string

Retorna uma string ASCII uma representação hexadecimal de str. A conversão é feita byte-wise com o high-nibble primeiro.

Parâmetros

str

Um caractere.

Valor Retornado

Retorna a representação hexadecimal de uma dada string.

Veja Também

  • pack() - Pack data into binary string
  • unpack() - Unpack data from binary string


Sinônimo de rtrim

  • « bin2hex
  • chr »
  • PHP Manual
  • Funções para String
  • Sinônimo de rtrim

chop

(PHP 4, PHP 5, PHP 7, PHP 8)

chop — Sinônimo de rtrim()

Descrição

Esta função é um apelido para: rtrim().

Notas

Nota:

chop() é diferente da função do Perl chop(), que remove o último caractere da string.


Retorna um caracter específico

  • « chop
  • chunk_split »
  • PHP Manual
  • Funções para String
  • Retorna um caracter específico

chr

(PHP 4, PHP 5, PHP 7, PHP 8)

chr — Retorna um caracter específico

Descrição

chr ( int $ascii ) : string

Retorna uma string de um único caractere contendo o caracter especificado pelo ascii.

Esta função complementa ord().

Parâmetros

ascii

O código ascii.

Valor Retornado

Retorna o caractere especificado.

Exemplos

Exemplo #1 chr() exemplo

<?php
$str = "The string ends in escape: ";
$str .= chr(27); /* add an escape character at the end of $str */

/* Often this is more useful */

$str = sprintf("The string ends in escape: %c", 27);
?>

Veja Também

  • sprintf() - Retorna a string formatada com a string de formato %c
  • ord()
  • » Tabela ASCII


Divide uma string em pequenos pedaços

  • « chr
  • convert_cyr_string »
  • PHP Manual
  • Funções para String
  • Divide uma string em pequenos pedaços

chunk_split

(PHP 4, PHP 5, PHP 7, PHP 8)

chunk_split — Divide uma string em pequenos pedaços

Descrição

chunk_split ( string $body , int $chunklen = ? , string $end = ? ) : string

Pode dividir uma string em pequenos pedaços que são úteis para ex. converter a saída de base64_encode() para semânticas RFC 2045 . Ela insere end a cada chunklen caracteres.

Parâmetros

body

A string a ser dividida.

chunklen

O tamanho do pedaço. Padrão para 76.

end

A seqüência de terminação. Padrão para "\r\n".

Valor Retornado

Retorna a string dividida.

Exemplos

Exemplo #1 Exemplo da chunk_split()

<?php
// format $data using RFC 2045 semantics
$new_string = chunk_split(base64_encode($data));
?>

Veja Também

  • str_split() - Converte uma string para um array
  • explode() - Divide uma string em strings
  • split() - Separa strings em array utilizando expressões regulares
  • wordwrap() - Quebra uma string em um dado número de caracteres
  • » RFC 2045


Converte de um conjunto caracteres cirílico para outro

  • « chunk_split
  • convert_uudecode »
  • PHP Manual
  • Funções para String
  • Converte de um conjunto caracteres cirílico para outro

convert_cyr_string

(PHP 4, PHP 5, PHP 7)

convert_cyr_string — Converte de um conjunto caracteres cirílico para outro

Descrição

convert_cyr_string ( string $str , string $from , string $to ) : string

Converte de um conjunto de caracteres cirílico para outro.

Parâmetros

str

A string a ser convertida.

from

A fonte do conjunto de caracteres cirílico, como um único caractere.

to

O conjunto de caracteres cirílico alvo, como um único caractere.

Os caracteres suportados são:

  • k - koi8-r
  • w - windows-1251
  • i - iso8859-5
  • a - x-cp866
  • d - x-cp866
  • m - x-mac-cyrillic

Valor Retornado

Retorna a string convertida.

Notas

Nota: Esta função é binary-safe.


Decodifica uma string codificada com uuencode

  • « convert_cyr_string
  • convert_uuencode »
  • PHP Manual
  • Funções para String
  • Decodifica uma string codificada com uuencode

convert_uudecode

(PHP 5, PHP 7, PHP 8)

convert_uudecode — Decodifica uma string codificada com uuencode

Descrição

convert_uudecode ( string $data ) : string

convert_uudecode() decodifica uma string codificada com uuencode.

Parâmetros

data

A informação codificada com uuencode.

Valor Retornado

Retorna a informação decodificada como uma string.

Exemplos

Exemplo #1 Exemplo da convert_uudecode()

<?php
/* Can you imagine what this will print? :) */
echo convert_uudecode("+22!L;W9E(%!(4\"$`\n`");
?>

Veja Também

  • convert_uuencode() - Codifica com uuencode uma string


Codifica com uuencode uma string

  • « convert_uudecode
  • count_chars »
  • PHP Manual
  • Funções para String
  • Codifica com uuencode uma string

convert_uuencode

(PHP 5, PHP 7, PHP 8)

convert_uuencode — Codifica com uuencode uma string

Descrição

convert_uuencode ( string $data ) : string

convert_uuencode() codifica uma string usando o algoritmo uuencode.

Uuencode traduz toda string (incluindo binários) em caracteres imprimíveis, fazendo eles seguro para transmissão em rede. Dados uuencoded fica 35% maior que o original.

Parâmetros

data

A informação a ser codificada.

Valor Retornado

Retorna os dados convertidos com uuencode.

Exemplos

Exemplo #1 Exemplo da convert_uuencode()

<?php
$some_string = "test\ntext text\r\n";

echo convert_uuencode($some_string);
?>

Veja Também

  • convert_uudecode() - Decodifica uma string codificada com uuencode
  • base64_encode() - Codifica dados com MIME base64


Retorna informações sobre os caracteres usados numa string

  • « convert_uuencode
  • crc32 »
  • PHP Manual
  • Funções para String
  • Retorna informações sobre os caracteres usados numa string

count_chars

(PHP 4, PHP 5, PHP 7, PHP 8)

count_chars — Retorna informações sobre os caracteres usados numa string

Descrição

count_chars ( string $string , int $mode = ? ) : mixed

Conta o número de ocorrências de cada byte-value (0..255) na string e retorna ela de várias maneiras.

Parâmetros

string

A string a ser examinada.

mode

O parâmetro opcional mode, o valor padrão é 0.

Valor Retornado

Dependendo do mode count_chars() pode retornar o seguinte:

  • 0 - Um array com um byte-value como chave e a freqüência de cada byte como valor.
  • 1 - mesmo que o 0 mas apenas byte-values com freqüência maior do que 0 são listadas.
  • 2 - mesmo que 0 mas apenas byte-values com freqüência igual a 0 são listadas.
  • 3 - uma string contendo todos caracteres únicos é retornada.
  • 4 - uma string contendo todos caracteres não usados é retornada.

Exemplos

Exemplo #1 Exemplo count_chars()

<?php
$data = "Two Ts and one F.";

foreach (count_chars($data, 1) as $i => $val) {
   echo "There were $val instance(s) of \"" , chr($i) , "\" in the string.\n";
}
?>

O exemplo acima irá imprimir:

There were 4 instance(s) of " " in the string.
There were 1 instance(s) of "." in the string.
There were 1 instance(s) of "F" in the string.
There were 2 instance(s) of "T" in the string.
There were 1 instance(s) of "a" in the string.
There were 1 instance(s) of "d" in the string.
There were 1 instance(s) of "e" in the string.
There were 2 instance(s) of "n" in the string.
There were 2 instance(s) of "o" in the string.
There were 1 instance(s) of "s" in the string.
There were 1 instance(s) of "w" in the string.

Veja Também

  • strpos() - Encontra a posição da primeira ocorrência de uma string
  • substr_count() - Conta o número de ocorrências de uma substring


Calcula polinômio crc32 de uma string

  • « count_chars
  • crypt »
  • PHP Manual
  • Funções para String
  • Calcula polinômio crc32 de uma string

crc32

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

crc32 — Calcula polinômio crc32 de uma string

Descrição

crc32 ( string $str ) : int

Gera o polinômio cyclic redundancy checksum de 32-bit de comprimento do str. É usado geralmente para validar a integridade de um dado sendo transferido.

Devido ao tipo integer do PHP conter sinal e muitos dos checksums crc32 resultarem em integers negativos, você precisa usar o formatador "%u" de sprintf() ou printf() para obter uma string representando o checksum crc32 sem sinal.

Parâmetros

str

A informação.

Valor Retornado

Retorna o checksum crc32 da str como um inteiro.

Exemplos

Exemplo #1 Mostrando um checksum crc32

Este exemplo mostra como mostrar um convertido checksum com a função printf():

<?php
$checksum = crc32("The quick brown fox jumped over the lazy dog.");
printf("%u\n", $checksum);
?>

Veja Também

  • md5() - Calcula o "hash MD5" de uma string
  • sha1() - Calcula a hash sha1 de uma string


Encriptação unidirecional de string (hashing)

  • « crc32
  • echo »
  • PHP Manual
  • Funções para String
  • Encriptação unidirecional de string (hashing)

crypt

(PHP 4, PHP 5, PHP 7, PHP 8)

crypt — Encriptação unidirecional de string (hashing)

Descrição

crypt ( string $str , string $salt = ? ) : string

crypt() retornará uma string criptografada usando o algoritmo de encriptação Unix Standard DES-based ou ou algoritmos alternativos disponíveis no sistema.

Alguns SO suportam mais de um tipo de codificação. De fato, algumas vezes a codificação Standard DES-based é substituído por MD5-based . O tipo de codificação é definido pelo argumento salt. Na instalação, o PHP determina as possíveis funções de codificação e aceitará salts para outros tipos. Se nenhum salt é fornecido, o PHP auto-gera um salt padrão de 2 caracateres por definição, a menos que o tipo de codificação padrão do sistema seja MD5, nesse caso um salt MD5-compatible aleatório será gerado. O PHP define uma constante com nome CRYPT_SALT_LENGTH que dirá se um salt de 2 caracteres aplica-se ao seu sistema ou se o salt mais comprido de 12 caracteres é aplicável.

O Standard DES-based crypt() retorna o salt como o primeiro two characters da saída. Ele também usa apenas os oito primeiros caracteres da str, então strings longas que começam com os mesmos oito caracteres gerarão o mesmo resultado (quando o mesmo salt é usado).

Em sistemas onde a função crypt() suporta variados tipos de codificação, as seguintes funções são definidas para 0 ou 1 a depender se um dado tipo está disponível:

  • CRYPT_STD_DES - Codificação Standard DES-based com um salt de 2 caracteres
  • CRYPT_EXT_DES - Codificação Extended DES-based com um salt de 9 caracateres
  • CRYPT_MD5 - Codificação MD5 com um salt de 12 caracteres começando com $1$
  • CRYPT_BLOWFISH - Codificação Blowfish com um salt de 16 caracteres começando com $2$

Parâmetros

str

A string a ser encriptada.

salt

Uma opcional string de salt para base da encriptação. Se não fornecido, será gerado randomicamente pelo PHP cada vez que chamar esta função.

Se você está usando um salt fornecido, você está ciente que o salt é gerado uma vez. Se você está chamando essa função repetidamente, isto pode afetar a aparência e a segurança.

Valor Retornado

Retorna a string encriptada.

Exemplos

Exemplo #1 Exemplos da crypt()

<?php
$password = crypt('mypassword'); // let the salt be automatically generated

/* You should pass the entire results of crypt() as the salt for comparing a
   password, to avoid problems when different hashing algorithms are used. (As
   it says above, standard DES-based password hashing uses a 2-character salt,
   but MD5-based hashing uses 12.) */
if (crypt($user_input, $password) == $password) {
   echo "Password verified!";
}
?>

Exemplo #2 Usando crypt() com htpasswd

<?php
// Set the password
$password = 'mypassword';

// Get the hash, letting the salt be automatically generated
$hash = crypt($password);
?>

Exemplo #3 Usando crypt() com diferente tipos de encriptação

<?php
if (CRYPT_STD_DES == 1) {
    echo 'Standard DES: ' . crypt('rasmuslerdorf', 'rl') . "\n";
}

if (CRYPT_EXT_DES == 1) {
    echo 'Extended DES: ' . crypt('rasmuslerdorf', '_J9..rasm') . "\n";
}

if (CRYPT_MD5 == 1) {
    echo 'MD5:          ' . crypt('rasmuslerdorf', '$1$rasmusle$') . "\n";
}

if (CRYPT_BLOWFISH == 1) {
    echo 'Blowfish:     ' . crypt('rasmuslerdorf', '$2a$07$rasmuslerd...........$') . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

Standard DES: rl.3StKT.4T8M
Extended DES: _J9..rasmBYk8r9AiWNc
MD5:          $1$rasmusle$rISCgZzpwk3UhDidwXvin0
Blowfish:     $2a$07$rasmuslerd............nIdrcHdxcUxWomQX9j6kvERCFjTg7Ra

Notas

Nota: Não há função decrypt, visto que crypt() usa um algoritmo unidirecional.

Veja Também

  • md5() - Calcula o "hash MD5" de uma string
  • A extensão Mcrypt
  • A man page do Unix para sua função crypt para mais informação


Exibe uma ou mais strings

  • « crypt
  • explode »
  • PHP Manual
  • Funções para String
  • Exibe uma ou mais strings

echo

(PHP 4, PHP 5, PHP 7, PHP 8)

echo — Exibe uma ou mais strings

Descrição

echo ( string $arg1 , string $... = ? ) : void

Exibe todos os parâmetros.

echo não é uma função atualmente (construtor da linguagem) então não é obrigatório usar parênteses. echo (diferente de outro construtor da linguagem) não se comporta como uma função, então ele nem sempre é usado no contexto de uma função. Sendo assim, se você quer passar mais de um parâmetro para echo, os parâmetros não precisam estar entre parênteses.

echo também tem um sintaxe curta, onde você pode imediatamente abrir a tag com o sinal de igual. Esta sintaxe curta funciona habilitando a definição da configuração short_open_tag.

I have <?=$foo?> foo.

Parâmetros

arg1

O parâmetro a exibir.

...

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 echo exemplos

<?php
echo "Hello World";

echo "This spans
multiple lines. The newlines will be
output as well";

echo "This spans\nmultiple lines. The newlines will be\noutput as well.";

echo "Escaping characters is done \"Like this\".";

// You can use variables inside of an echo statement
$foo = "foobar";
$bar = "barbaz";

echo "foo is $foo"; // foo is foobar

// You can also use arrays
$baz = array("value" => "foo");

echo "this is {$baz['value']} !"; // this is foo !

// Using single quotes will print the variable name, not the value
echo 'foo is $foo'; // foo is $foo

// If you are not using any other characters, you can just echo variables
echo $foo;          // foobar
echo $foo,$bar;     // foobarbarbaz

// Some people prefer passing multiple parameters to echo over concatenation.
echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', chr(10);
echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "\n";

echo <<<END
This uses the "here document" syntax to output
multiple lines with $variable interpolation. Note
that the here document terminator must appear on a
line with just a semicolon. no extra whitespace!
END;

// Because echo does not behave like a function, the following code is invalid.
($some_var) ? echo 'true' : echo 'false';

// However, the following examples will work:
($some_var) ? print 'true' : print 'false'; // print is also a construct, but
                                            // it behaves like a function, so
                                            // it may be used in this context.
echo $some_var ? 'true': 'false'; // changing the statement around
?>

Notas

Nota: Este é um construtor de linguagem e não uma função, por isso não é possível chamá-lo através de funções variáveis

Veja Também

  • print - Mostra uma string
  • printf() - Mostra uma string formatada
  • flush() - Descarrega o buffer de saída


Divide uma string em strings

  • « echo
  • fprintf »
  • PHP Manual
  • Funções para String
  • Divide uma string em strings

explode

(PHP 4, PHP 5, PHP 7, PHP 8)

explode — Divide uma string em strings

Valor Retornado

explode ( string $delimiter , string $string , int $limit = ? ) : array

Retorna uma matriz de strings, cada uma como substring de string formada pela divisão dela a partir do delimiter.

Parâmetros

delimiter

O delimitador.

string

A string de entrada.

limit

Se limit é definido, o array retornado irá conter o máximo de elementos igual a limit com o último elemento contendo o resto da string.

Se o parâmetro limit é negativo, todos componentes exceto o último -limit são retornados.

Ainda que implode() pode por razões históricas aceitar seus parâmetros em uma das duas ordens, explode() não pode. Você deve assegurar que o argumento delimiter vem antes do argumento string.

Valor Retornado

Se delimiter é uma string vazia (""), explode() irá retornar false. Se delimiter contém um valor que não contém em string, então explode() irá retornar um array contendo string.

Changelog

Versão | Descrição
5.1.0 | Suporte a limit negativo foi adicionado
4.0.1 | O parâmetro limit foi adicionado

Exemplos

Exemplo #1 explode() exemplos

<?php
// Example 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// Example 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>

Exemplo #2 Exemplos de parâmetro limit

<?php
$str = 'one|two|three|four';

// positive limit
print_r(explode('|', $str, 2));

// negative limit (since PHP 5.1)
print_r(explode('|', $str, -1));
?>

O exemplo acima irá imprimir:

Array
(
    [0] => one
    [1] => two|three|four
)
Array
(
    [0] => one
    [1] => two
    [2] => three
)

Notas

Nota: Esta função é binary-safe.

Veja Também

  • preg_split() - Divide a string por uma expressão regular
  • str_split() - Converte uma string para um array
  • str_word_count() - Retorna informação sobre as palavras usadas em uma string
  • strtok() - Tokeniza uma string
  • implode() - Junta elementos de uma matriz em uma string


Escreve uma string formatada para um stream

  • « explode
  • get_html_translation_table »
  • PHP Manual
  • Funções para String
  • Escreve uma string formatada para um stream

fprintf

(PHP 5, PHP 7, PHP 8)

fprintf — Escreve uma string formatada para um stream

Descrição

fprintf ( resource $handle , string $format , mixed $args = ? , mixed $... = ? ) : int

Escreve uma string produzida de acordo com a string de formato format para o recurso de stream especificado por handle..

Parâmetros

handle

Um ponteiro de arquivo tipo resource tipicamente criado por fopen().

format

veja sprintf() para uma descrição de format.

args

...

Valor Retornado

Retorna o tamanho da string escrita.

Exemplos

Exemplo #1 fprintf(): inteiros prenchidos com zero

<?php
if (!($fp = fopen('date.txt', 'w'))) {
    return;
}
fprintf($fp, "%04d-%02d-%02d", $year, $month, $day);
// will write the formatted ISO date to date.txt
?>

Exemplo #2 fprintf(): formatando valores

<?php
if (!($fp = fopen('currency.txt', 'w'))) {
    return;
}
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money irá mostrar "123.1";
$len = fprintf($fp, '%01.2f', $money);
// will write "123.10" to currency.txt

echo "wrote $len bytes to currency.txt";
// use the return value of fprintf to determine how many bytes we wrote
?>

Veja Também

  • printf() - Mostra uma string formatada
  • sprintf() - Retorna a string formatada
  • sscanf() - Interpreta a entrada de uma string de acordo com um formato
  • fscanf() - Interpreta a leitura de um arquivo de acordo com um formato
  • vsprintf() - Retorna uma string formatada
  • number_format() - Formata um número com os milhares agrupados


Retorna a tabela de tradução usada por htmlspecialchars e htmlentities

  • « fprintf
  • hebrev »
  • PHP Manual
  • Funções para String
  • Retorna a tabela de tradução usada por htmlspecialchars e htmlentities

get_html_translation_table

(PHP 4, PHP 5, PHP 7, PHP 8)

get_html_translation_table — Retorna a tabela de tradução usada por htmlspecialchars() e htmlentities()

Descrição

get_html_translation_table ( int $table = ? , int $quote_style = ? ) : array

get_html_translation_table() retornará a tabela de tradução que é usada internamente por htmlspecialchars() e htmlentities().

Nota:

Caracteres especiais podem ser codificados de várias formas. E.g. " pode ser codificado como &quot;, &#34; ou &#x22. get_html_translation_table() retorna somente a forma mais comum dela.

Parâmetros

table

Há duas novas constantes definidas (HTML_ENTITIES, HTML_SPECIALCHARS) que permitem especificar a tabela que você quer. Valor padrão para table é HTML_SPECIALCHARS.

quote_style

Como nas funções htmlspecialchars() e htmlentities() você pode opcionalmente especificar a quote_style que você está trabalhando. O padrão é modo ENT_COMPAT. Veja a descrição desses modos em htmlspecialchars().

Valor Retornado

Retorna a tabela de tradução como um array.

Exemplos

Exemplo #1 Exemplo de tabela de tradução

<?php
$trans = get_html_translation_table(HTML_ENTITIES);
$str = "Hallo & <Frau> & Krämer";
$encoded = strtr($str, $trans);

echo $encoded;
?>

O exemplo acima irá imprimir:

Hallo &amp; &lt;Frau&gt; &amp; Kr&auml;mer

Veja Também

  • htmlspecialchars() - Converte caracteres especiais para a realidade HTML
  • htmlentities() - Converte todos os caracteres aplicáveis em entidades html.
  • html_entity_decode() - Converte todas as entidades HTML para os seus caracteres


Converte texto lógico Hebraico para texto visual

  • « get_html_translation_table
  • hebrevc »
  • PHP Manual
  • Funções para String
  • Converte texto lógico Hebraico para texto visual

hebrev

(PHP 4, PHP 5, PHP 7, PHP 8)

hebrev — Converte texto lógico Hebraico para texto visual

Descrição

hebrev ( string $hebrew_text , int $max_chars_per_line = ? ) : string

Converte texto lógico Hebraico para texto visual.

A função tenta evitar quebra de palavras.

Parâmetros

hebrew_text

A string de entrada em Hebraico.

max_chars_per_line

Este parâmetro opcional indica o número máximo de caracteres por linha que será retornado.

Valor Retornado

Retorna uma string visual.

Veja Também

  • hebrevc() - Converte um texto lógico Hebráico para um texto visual com conversão newline


Converte um texto lógico Hebráico para um texto visual com conversão newline

  • « hebrev
  • hex2bin »
  • PHP Manual
  • Funções para String
  • Converte um texto lógico Hebráico para um texto visual com conversão newline

hebrevc

(PHP 4, PHP 5, PHP 7)

hebrevc — Converte um texto lógico Hebráico para um texto visual com conversão newline

Descrição

hebrevc ( string $hebrew_text , int $max_chars_per_line = ? ) : string

É similar a hebrev() com a diferença de que ela converte newlines (\n) para "<br>\n".

A função tenta evitar quebra de palavras.

Parâmetros

hebrew_text

Uma string de entrada em Hebraico.

max_chars_per_line

Este parâmetro opcional indica o número máximo de caracteres por linha que será retornada.

Valor Retornado

Retorna a string visual.

Veja Também

  • hebrev() - Converte texto lógico Hebraico para texto visual


Decodes a hexadecimally encoded binary string

  • « hebrevc
  • html_entity_decode »
  • PHP Manual
  • Funções para String
  • Decodes a hexadecimally encoded binary string

hex2bin

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

hex2bin — Decodes a hexadecimally encoded binary string

Descrição

hex2bin ( string $string ) : string|false

Decodes a hexadecimally encoded binary string.

Cuidado

This function does NOT convert a hexadecimal number to a binary number. This can be done using the base_convert() function.

Parâmetros

string

Hexadecimal representation of data.

Valor Retornado

Returns the binary representation of the given data ou false em caso de falha.

Erros

If the hexadecimal input string is of odd length or invalid hexadecimal string an E_WARNING level error is thrown.

Exemplos

Exemplo #1 hex2bin() example

<?php
$hex = hex2bin("6578616d706c65206865782064617461");
var_dump($hex);
?>

O exemplo acima irá imprimir algo similar à:

string(16) "example hex data"

Veja Também

  • bin2hex() - Converte um dado binário em representação hexadecimal
  • unpack() - Unpack data from binary string


Converte todas as entidades HTML para os seus caracteres

  • « hex2bin
  • htmlentities »
  • PHP Manual
  • Funções para String
  • Converte todas as entidades HTML para os seus caracteres

html_entity_decode

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

html_entity_decode — Converte todas as entidades HTML para os seus caracteres

Descrição

html_entity_decode ( string $string , int $quote_style = ? , string $charset = ? ) : string

html_entity_decode() é o oposto da função htmlentities() no que converte todas as entidades HTML para os seus caracteres de string.

Parâmetros

string

A string de entrada.

quote_style

O segundo parâmetro, que é opcional, quote_style permite você definir o que será feito com 'apostrofos' e "aspas". Ele recebe uma constante entre três, sendo o padrão ENT_COMPAT:

Constantes disponíveis para quote_style
Nome da Constante | Descrição
ENT_COMPAT | Irá converter aspas e deixar os apostrofos.
ENT_QUOTES | Irá converter ambos.
ENT_NOQUOTES | Irá deixar ambos sem converter.

charset

O conjunto de caracteres ISO-8859-1 é usado como padrão para o terceiro parâmetro, que é opcional, charset. Este define o conjunto de caracteres usado na conversão.

Os seguintes conjuntos de caracteres são suportados no PHP 4.3.0 e posterior.

Conjuntos de caracteres suportados
Conjunto de caracteres | Apelidos | Descrição
ISO-8859-1 | ISO8859-1 | Western European, Latin-1
ISO-8859-15 | ISO8859-15 | Western European, Latin-9. Adiciona o símbolo do Euro, letras Francesas e Filandesas faltando no Latin-1(ISO-8859-1).
UTF-8 | Código de multi-byte 8-bit Unicode compatível com ASCII.
cp866 | ibm866, 866 | Conjunto de caracteres do DOS específico para o Russo. Este conjunto de caracteres é suportado no 4.3.2.
cp1251 | Windows-1251, win-1251, 1251 | Conjunto de caracteres do Windows específico para o Russo. Este conjunto de caracteres é suportado no 4.3.2.
cp1252 | Windows-1252, 1252 | Conjunto de caracteres do Windows específico para a Europa Ocidental.
KOI8-R | koi8-ru, koi8r | Russo. Este conjunto de caracteres é suportado no 4.3.2.
BIG5 | 950 | Chinês Tradicional, usado principalmente em Taiwan.
GB2312 | 936 | Chins Simplificado, conjunto de caracteres padrão nacional.
BIG5-HKSCS | Big5 com extenções de Hong Kong, Chinês Tradicional.
Shift_JIS | SJIS, 932 | Japonês
EUC-JP | EUCJP | Japonês

Nota: Qualquer outro conjunto de caracteres não é reconhecido e será usado o ISO-8859-1.

Valor Retornado

Retorna a string decodificada.

Changelog

Versão | Descrição
5.0.0 | Suporte para conjunto de caracteres multi-byte foi adicionado.

Exemplos

Exemplo #1 Decodificando entidades HTML

<?php
$orig = "I'll \"walk\" the <b>dog</b> now";

$a = htmlentities($orig);

$b = html_entity_decode($a);

echo $a; // I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now

echo $b; // I'll "walk" the <b>dog</b> now

// For users prior to PHP 4.3.0 you may do this:
function unhtmlentities($string)
{
    // replace numeric entities
    $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string);
    $string = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $string);
    // replace literal entities
    $trans_tbl = get_html_translation_table(HTML_ENTITIES);
    $trans_tbl = array_flip($trans_tbl);
    return strtr($string, $trans_tbl);
}

$c = unhtmlentities($a);

echo $c; // I'll "walk" the <b>dog</b> now

?>

Notas

Nota:

Você deve imaginar porque trim(html_entity_decode('&nbsp;')); não reduz a string para uma string vazia, isto é porque a entidade '&nbsp;' não é o código ASCII 32 (o qual é retirado por trim()) mas o caracter ASCII 160 (0xa0) no conjunto de caracteres padrão.

Veja Também

  • htmlentities() - Converte todos os caracteres aplicáveis em entidades html.
  • htmlspecialchars() - Converte caracteres especiais para a realidade HTML
  • get_html_translation_table() - Retorna a tabela de tradução usada por htmlspecialchars e htmlentities
  • urldecode() - Decodifica uma URL codificada


Converte todos os caracteres aplicáveis em entidades html.

  • « html_entity_decode
  • htmlspecialchars_decode »
  • PHP Manual
  • Funções para String
  • Converte todos os caracteres aplicáveis em entidades html.

htmlentities

(PHP 4, PHP 5, PHP 7, PHP 8)

htmlentities — Converte todos os caracteres aplicáveis em entidades html.

Descrição

htmlentities ( string $string , int $quote_style = ? , string $charset = ? , bool $double_encode = ? ) : string

Esta função é idêntica a htmlspecialchars() em toda forma, exceto que com htmlentities(), todos caracteres que tem entidade HTML equivalente são convertidos para estas entidades.

Se você está querendo decodificar (o inverso), você pode usar html_entity_decode().

Parâmetros

string

A string de entrada.

quote_style

Como htmlspecialchars(), o segundo parâmetro opcional quote_style você define o que irá ser feito com aspas 'simples' e "duplas". Use uma das três constantes com o padrão sendo ENT_COMPAT:

Constantes quote_style disponíveis
Nome da constante | Descrição
ENT_COMPAT | Irá converter aspas duplas e deixar somente aspas simples.
ENT_QUOTES | Irá converter ambas as aspas.
ENT_NOQUOTES | Irá deixar ambas as aspas não convertidas.

charset

Como htmlspecialchars(), o terceiro parâmetro opcional charset que define o conjunto de caracteres usado na conversão. Atualmente, o conjunto de caracteres ISO-8859-1 é usado com o padrão.

Os seguintes conjuntos de caracteres são suportados no PHP 4.3.0 e posterior.

Conjuntos de caracteres suportados
Conjunto de caracteres | Apelidos | Descrição
ISO-8859-1 | ISO8859-1 | Western European, Latin-1
ISO-8859-15 | ISO8859-15 | Western European, Latin-9. Adiciona o símbolo do Euro, letras Francesas e Filandesas faltando no Latin-1(ISO-8859-1).
UTF-8 | Código de multi-byte 8-bit Unicode compatível com ASCII.
cp866 | ibm866, 866 | Conjunto de caracteres do DOS específico para o Russo. Este conjunto de caracteres é suportado no 4.3.2.
cp1251 | Windows-1251, win-1251, 1251 | Conjunto de caracteres do Windows específico para o Russo. Este conjunto de caracteres é suportado no 4.3.2.
cp1252 | Windows-1252, 1252 | Conjunto de caracteres do Windows específico para a Europa Ocidental.
KOI8-R | koi8-ru, koi8r | Russo. Este conjunto de caracteres é suportado no 4.3.2.
BIG5 | 950 | Chinês Tradicional, usado principalmente em Taiwan.
GB2312 | 936 | Chins Simplificado, conjunto de caracteres padrão nacional.
BIG5-HKSCS | Big5 com extenções de Hong Kong, Chinês Tradicional.
Shift_JIS | SJIS, 932 | Japonês
EUC-JP | EUCJP | Japonês

Nota: Qualquer outro conjunto de caracteres não é reconhecido e será usado o ISO-8859-1.

double_encode

Quando double_encode esta'off, o PHP não irá codificar entidades HTML existentes. O padrão é converter qualquer coisa.

Valor Retornado

Retorna a string codificada.

Changelog

Versão | Descrição
5.2.3 | O parâmetro double_encode foi adicionado.
4.1.0 | O parâmetro charset foi adicionado.
4.0.3 | O parâmetro quote_style foi adicionado.

Exemplos

Exemplo #1 Exemplo da htmlentities()

<?php
$str = "A 'quote' is <b>bold</b>";

// Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str);

// Outputs: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str, ENT_QUOTES);
?>

Veja Também

  • html_entity_decode() - Converte todas as entidades HTML para os seus caracteres
  • get_html_translation_table() - Retorna a tabela de tradução usada por htmlspecialchars e htmlentities
  • htmlspecialchars() - Converte caracteres especiais para a realidade HTML
  • nl2br() - Insere quebras de linha HTML antes de todas newlines em uma string
  • urlencode() - Codifica uma URL


Converte especiais entidades HTML para caracteres

  • « htmlentities
  • htmlspecialchars »
  • PHP Manual
  • Funções para String
  • Converte especiais entidades HTML para caracteres

htmlspecialchars_decode

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

htmlspecialchars_decode — Converte especiais entidades HTML para caracteres

Descrição

htmlspecialchars_decode ( string $string , int $quote_style = ? ) : string

Esta função é o oposto da htmlspecialchars(). Ela converte especiais entidades HTML para caracteres.

As entidades convertidas são: &amp;, &quot; (quando ENT_NOQUOTES não é usado), &#039; (quando ENT_QUOTES é usado), &lt; e &gt;.

Parâmetros

string

A string para decodificar

quote_style

O tipo de aspa. Uma das seguintes constantes:

Constantes do quote_style
Nome da constante | Descrição
ENT_COMPAT | Converterá aspas dupla e deixará aspas simples (default)
ENT_QUOTES | Converterá ambas as aspas
ENT_NOQUOTES | Deixará ambas as aspas

Valor Retornado

Retorna a string decodificada.

Exemplos

Exemplo #1 Um exemplo da htmlspecialchars_decode()

<?php
$str = '<p>this -&gt; &quot;</p>';

echo htmlspecialchars_decode($str);

// note that here the quotes aren't converted
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>

O exemplo acima irá imprimir:

<p>this -> "</p>
<p>this -> &quot;</p>

Veja Também

  • htmlspecialchars() - Converte caracteres especiais para a realidade HTML
  • html_entity_decode() - Converte todas as entidades HTML para os seus caracteres
  • get_html_translation_table() - Retorna a tabela de tradução usada por htmlspecialchars e htmlentities


Converte caracteres especiais para a realidade HTML

  • « htmlspecialchars_decode
  • implode »
  • PHP Manual
  • Funções para String
  • Converte caracteres especiais para a realidade HTML

htmlspecialchars

(PHP 4, PHP 5, PHP 7, PHP 8)

htmlspecialchars — Converte caracteres especiais para a realidade HTML

Descrição

htmlspecialchars ( string $string , int $quote_style = ? , string $charset = ? ) : string

Certos caracteres tem significado especial em HTML, e seriam representados pela realidade HTML se eles estão preservanado seus significados. Esta função retorna uma string com algumas destas conversões feitas; As transformações feitas são aquelas mais úteis para programação web. Se você precisa que sejam transformados todos os caracteres da realidade HTML, use htmlentities() no lugar dela.

Esta função é útil na prevenção de textos fornecidos pelo usuário contendo marcação HTML, tal como um quadro de mensgens ou guest book. O segundo argumento opcional, quote_style, conta à função o que fazer com os caracteres aspas simples e dupla. O modo padrão, ENT_COMPAT, é o modo mais compatível com a atualidade, apenas transforma a aspas-dupla e deixa a aspas-simples como está. Se ENT_QUOTES está definida, ambas transformadas e se ENT_NOQUOTES está definida nenhuma das duas são modificadas.

As traduções executadas são:

  • '&' (ampersand) torna-se '&amp;'
  • '"' (aspas dupla) torna-se '&quot;' quando ENT_NOQUOTES não está definida.
  • ''' (aspas simples) torna-se '&#039;' apenas quando ENT_QUOTES está definida.
  • '<' (menor que) torna-se '&lt;'
  • '>' (maior que) torna-se '&gt;'

Exemplo #1 htmlspecialchars() exemplo

<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

Note que esta função não converte nada além do que foi listado acima. Para completa realidade de conversões, veja htmlentities(). Suporte para o segundo argumento opcional foi adicionado no PHP 3.0.17 e PHP 4.0.3.

O terceiro argumento define o conjunto de caracteres usados na conversão. O conjunto de caracteres padrão é ISO-8859-1. Suporte para o terceiro argumento foi adicionado no PHP 4.1.0.

Os seguintes conjuntos de caracteres são suportados no PHP 4.3.0 e posterior.

Conjuntos de caracteres suportados
Conjunto de caracteres | Apelidos | Descrição
ISO-8859-1 | ISO8859-1 | Western European, Latin-1
ISO-8859-15 | ISO8859-15 | Western European, Latin-9. Adiciona o símbolo do Euro, letras Francesas e Filandesas faltando no Latin-1(ISO-8859-1).
UTF-8 |  | Código de multi-byte 8-bit Unicode compatível com ASCII.
cp866 | ibm866, 866 | Conjunto de caracteres do DOS específico para o Russo. Este conjunto de caracteres é suportado no 4.3.2.
cp1251 | Windows-1251, win-1251, 1251 | Conjunto de caracteres do Windows específico para o Russo. Este conjunto de caracteres é suportado no 4.3.2.
cp1252 | Windows-1252, 1252 | Conjunto de caracteres do Windows específico para a Europa Ocidental.
KOI8-R | koi8-ru, koi8r | Russo. Este conjunto de caracteres é suportado no 4.3.2.
BIG5 | 950 | Chinês Tradicional, usado principalmente em Taiwan.
GB2312 | 936 | Chins Simplificado, conjunto de caracteres padrão nacional.
BIG5-HKSCS |  | Big5 com extenções de Hong Kong, Chinês Tradicional.
Shift_JIS | SJIS, 932 | Japonês
EUC-JP | EUCJP | Japonês

Nota: Qualquer outro conjunto de caracteres não é reconhecido e será usado o ISO-8859-1.

Veja também get_html_translation_table(),
htmlentities(),
strip_tags() e
nl2br().


Junta elementos de uma matriz em uma string

  • « htmlspecialchars
  • join »
  • PHP Manual
  • Funções para String
  • Junta elementos de uma matriz em uma string

implode

(PHP 4, PHP 5, PHP 7, PHP 8)

implode — Junta elementos de uma matriz em uma string

Descrição

implode ( string $glue , array $pieces ) : string

Retorna uma string contendo os elementos da matriz na mesma ordem com uma ligação entre cada elemento.

Exemplo #1 implode() exemplo

<?php

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

print $comma_separated; // lastname,email,phone

?>

Nota:

implode() pode, por razões históricas, aceitar seus parâmetros nas duas ordens. Para consistência com explode(), entretando, ela pode ser menos confusa por usar a ordem documentada dos argumentos.

Nota:

Apartir do PHP 4.3.0, o parametro glue da função implode() é opcional e seu padrão é uma string em branco(''). Este não é o uso preferido de implode(). Nós recomendamos sempre usar dois parametros para compatibilidade com versões anteriores.

Veja também explode(), e split().


Sinônimo de implode

  • « implode
  • lcfirst »
  • PHP Manual
  • Funções para String
  • Sinônimo de implode

join

(PHP 4, PHP 5, PHP 7, PHP 8)

join — Sinônimo de implode()

Descrição

Esta função é um apelido para: implode().


Torna minúsculo o primeiro caractere de uma string

  • « join
  • levenshtein »
  • PHP Manual
  • Funções para String
  • Torna minúsculo o primeiro caractere de uma string

lcfirst

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

lcfirst — Torna minúsculo o primeiro caractere de uma string

Descrição

lcfirst ( string $str ) : string

Retorna uma string com o primeiro caractere de str em letra minúscula se o caractere for alfabético.

Note que 'alfabético' é determinado pela localidade corrente. Por exemplo, na localidade "C" padrão caracteres tais como a-umlaut (ä) não serão convertidos.

Parâmetros

str

A string de entrada.

Valor Retornado

Retorna a string resultante.

Exemplos

Exemplo #1 Exemplo de lcfirst()

<?php
$foo = 'OlaMundo';
$foo = lcfirst($foo);             // olaMundo

$bar = 'OLA MUNDO!';
$bar = lcfirst($bar);             // oLLA MUNDO!
$bar = lcfirst(strtoupper($bar)); // oLLA MUNDO!
?>

Veja Também

  • ucfirst() - Converte para maiúscula o primeiro caractere de uma string
  • strtolower() - Converte uma string para minúsculas
  • strtoupper() - Converte uma string para maiúsculas
  • ucwords() - Converte para maiúsculas o primeiro caractere de cada palavra


Calcula a distância Levenshtein entre duas strings

  • « lcfirst
  • localeconv »
  • PHP Manual
  • Funções para String
  • Calcula a distância Levenshtein entre duas strings

levenshtein

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

levenshtein — Calcula a distância Levenshtein entre duas strings

Descrição

levenshtein ( string $str1 , string $str2 ) : int
levenshtein ( string $str1 , string $str2 , int $cost_ins , int $cost_rep , int $cost_del ) : int
levenshtein ( string $str1 , string $str2 , function $cost ) : int

Retorna a Levenshtein-Distance entre duas strings argumentos ou -1, se nenhuma das strings argumentos é mais longa que o o limite de 255 caracteres (255 seria mais do que o bastante para o nome ou comparação de dicionário, e ninguém sério estaria fazendo análises genéticas com PHP).

A distância Levenshtein é definida como o número mínimo de caracteres que você tem para substituir, inserir ou apagar para transformar str1 dentro de str2. A complexidade do algoritmo é O(m*n), onde n e m são o comprimento da str1 e str2 (rather good when compared to similar_text(), which is O(max(n,m)**3), but still expensive).

Na sua forma mais simples a função pegará apenas as duas strings como parâmetros e calculará apenas o número de operações de inserção, substituição e deletação necessárias para transformar str1 em str2.

Uma segunda variante pegará três parâmetros adicionais que definem o custo das operações de inserção, substituição e deletação. Esta é a mais geral e adapatável do que a variante um, mas não tão eficiente.

A terceira variante (que ainda não é implementada) será a mais geral e adaptável, mas também a alternativa mais lenta. Ela chamará uma função de usuário fornecida que determinará o custo para cada possível operação.

A função de usuário fornecida(The user-supplied function) será chamada com os seguintes argumentos:

  • operation to apply: 'I', 'R' ou 'D'
  • actual character in string 1
  • actual character in string 2
  • position in string 1
  • position in string 2
  • remaining characters in string 1
  • remaining characters in string 2
The user-supplied function has to return a positive integer describing the cost for this particular operation, but it may decide to use only some of the supplied arguments.

The user-supplied function approach offers the possibility to take into account the relevance of and/or difference between certain symbols (characters) or even the context those symbols appear in to determine the cost of insert, replace and delete operations, but at the cost of losing all optimizations done regarding cpu register utilization and cache misses that have been worked into the other two variants.

Veja também soundex(),
similar_text(), e
metaphone().


Obtém a informação da formatação numérica

  • « levenshtein
  • ltrim »
  • PHP Manual
  • Funções para String
  • Obtém a informação da formatação numérica

localeconv

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

localeconv — Obtém a informação da formatação numérica

Description

localeconv ( ) : array

Retorna uma matriz associativa contendo informação de formatação numérica.

localeconv() retorna dados baseados na localidade corrente definida por setlocale(). A matriz associativa que é retornada contém os seguintes campos:

Array element | Descrição
decimal_point | Caracter de ponto decimal
thousands_sep | Thousands separator
grouping | Matriz contendo agrupamentos numéricos
int_curr_symbol | International currency symbol (i.e. USD)
currency_symbol | Simbolo da moeda local symbol (i.e. $)
mon_decimal_point | Caractere monetário de ponto decimal
mon_thousands_sep | Separador monetário de mil
mon_grouping | Matriz contendo agrupamentos monetários
positive_sign | Sinal para valores positivos
negative_sign | Sinal para valores negativos
int_frac_digits | Dígitos de fração Internacionais
frac_digits | Dígitos de fração locais
p_cs_precedes | true Se o simbolo da moeda precede um valor positivo, false se eles sucede um.
p_sep_by_space | true Se um espaço separa o simbolo da moeda de um valor positivo, false caso contrário
n_cs_precedes | true Se o simbolo de moeda precede um valor negativo, false se ele sucede
n_sep_by_space | true se um espaço separa o simbolo da moeda de um valor negativo, false caso contrário
p_sign_posn
  • 0
  • Parênteses na quantidade e simbolo da moeda
  • 1
  • A string sinal precede a quantidade e o simbolo da moeda
  • 2
  • A string sinal sucede a quantidade e o simbolo da moeda
  • 3
  • A string sinal precede imediatamente o simbolo da moeda
  • 4
  • A string sinal sucede imediatamente o simbolo da moeda
n_sign_posn
  • 0
  • Parentêses na quantidade e simbolo da moeda
  • 1
  • A string sinal precede a quantidade e o simbolo da moeda
  • 2
  • A string sinal sucede a quantidade e o simbolo da moeda
  • 3
  • A string sinal precede imediatamente o simbolo da moeda
  • 4
  • A string sinal sucede imediatamente o simbolo da moeda

Os campos de agrupamento contém matrizes que definem o modo de como os números seriam agrupados. Por exemplo, o campo de agrupamento para a localidade en_US, conteria uma matriz de 2 itens com os valores 3 e 3. O mais alto índice na matriz, mais distante da esquerda do agrupamento está. Se um elemento da matriz é igual a CHAR_MAX, até aqui nenhum agrupamento é feito. Se um elemento de matriz é igual a 0, o prévio elemento seria usado.

Exemplo #1 localeconv() exemplo

<?php
setlocale(LC_ALL, "en_US");

$locale_info = localeconv();

echo "<pre>\n";
echo "--------------------------------------------\n";
echo "  Monetary information for current locale:  \n";
echo "--------------------------------------------\n\n";

echo "int_curr_symbol:   {$locale_info["int_curr_symbol"]}\n";
echo "currency_symbol:   {$locale_info["currency_symbol"]}\n";
echo "mon_decimal_point: {$locale_info["mon_decimal_point"]}\n";
echo "mon_thousands_sep: {$locale_info["mon_thousands_sep"]}\n";
echo "positive_sign:     {$locale_info["positive_sign"]}\n";
echo "negative_sign:     {$locale_info["negative_sign"]}\n";
echo "int_frac_digits:   {$locale_info["int_frac_digits"]}\n";
echo "frac_digits:       {$locale_info["frac_digits"]}\n";
echo "p_cs_precedes:     {$locale_info["p_cs_precedes"]}\n";
echo "p_sep_by_space:    {$locale_info["p_sep_by_space"]}\n";
echo "n_cs_precedes:     {$locale_info["n_cs_precedes"]}\n";
echo "n_sep_by_space:    {$locale_info["n_sep_by_space"]}\n";
echo "p_sign_posn:       {$locale_info["p_sign_posn"]}\n";
echo "n_sign_posn:       {$locale_info["n_sign_posn"]}\n";
echo "</pre>\n";
?>

A constante CHAR_MAX também está definida para o uso mencionado acima.

Veja também setlocale().


Retira espaços em branco (ou outros caracteres) do início da string

  • « localeconv
  • md5_file »
  • PHP Manual
  • Funções para String
  • Retira espaços em branco (ou outros caracteres) do início da string

ltrim

(PHP 4, PHP 5, PHP 7, PHP 8)

ltrim — Retira espaços em branco (ou outros caracteres) do início da string

Descrição

ltrim ( string $str , string $charlist = ? ) : string

Retira espaços em branco (ou outros caracteres) do início de uma string.

Parâmetros

str

A string de entrada.

charlist

Você pode também especificar os caracteres que você quer retirar, para isso, use o parâmetro charlist. Simplesmente liste todos os caracteres que você quer que seja removido. Com .. você pode especificar um intervalo de caracteres.

Valor Retornado

Esta função retorna uma string com whitespace retirados do início de str. Sem o segundo parâmetro, ltrim() retirará estes caracteres:

  • " " (ASCII 32 (0x20)), um espaço normal.
  • "\t" (ASCII 9 (0x09)), uma tabulação.
  • "\n" (ASCII 10 (0x0A)), uma linha nova (line feed).
  • "\r" (ASCII 13 (0x0D)), um retono de carro.
  • "\0" (ASCII 0 (0x00)), o byte NULL.
  • "\x0B" (ASCII 11 (0x0B)), uma tabulação vertical.

Changelog

Versão | Descrição
4.1.0 | O parâmetro charlist foi adicionado.

Exemplos

Exemplo #1 Exemplo de uso da ltrim()

<?php

$text = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = ltrim($text);
var_dump($trimmed);

$trimmed = ltrim($text, " \t.");
var_dump($trimmed);

$trimmed = ltrim($hello, "Hdle");
var_dump($trimmed);

// trim the ASCII control characters at the beginning of $binary
// (from 0 to 31 inclusive)
$clean = ltrim($binary, "\x00..\x1F");
var_dump($clean);

?>

O exemplo acima irá imprimir:

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(30) "These are a few words :) ...  "
string(30) "These are a few words :) ...  "
string(7) "o World"
string(15) "Example string
"

Veja Também

  • trim() - Retira espaço no ínicio e final de uma string
  • rtrim() - Retira espaço em branco (ou outros caracteres) do final da string


Calcula hash md5 de um dado arquivo

  • « ltrim
  • md5 »
  • PHP Manual
  • Funções para String
  • Calcula hash md5 de um dado arquivo

md5_file

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

md5_file — Calcula hash md5 de um dado arquivo

Descrição

md5_file ( string $filename , bool $raw_output = ? ) : string

Calcula o hash MD5 do arquivo especificado pelo parâmetro filename usando o » RSA Data Security, Inc. MD5 Message-Digest Algorithm, e retorna esse hash. A hash é um número hexadecimal de 32 caracteres.

Parâmetros

filename

O nome do arquivo

raw_output

Quando true, retorna no formato binário com o tamanho de 16. O padrão é false.

Valor Retornado

Retorna uma string em sucesso, false caso contrário.

Changelog

Versão | Descrição
5.0.0 | Adicionado o parâmetro raw_output
5.1.0 | Modificada função para usar a API de API. Significa que você pode usá-la com wrappers, como md5_file('http://example.com/..')

Veja Também

  • md5() - Calcula o "hash MD5" de uma string
  • sha1_file() - Calcula a hash sha1 de um arquivo
  • crc32() - Calcula polinômio crc32 de uma string


Calcula o "hash MD5" de uma string

  • « md5_file
  • metaphone »
  • PHP Manual
  • Funções para String
  • Calcula o "hash MD5" de uma string

md5

(PHP 4, PHP 5, PHP 7, PHP 8)

md5 — Calcula o "hash MD5" de uma string

Descrição

md5 ( string $str , bool $raw_output = ? ) : string

Calcula o "hash MD5" de str usando » RSA Data Security, Inc. MD5 Message-Digest Algorithm, e devolve esse hash.

Parâmetros

str

A string.

raw_output

Se o opcional raw_output é definido para true, então o md5 é ao invés retornado no formato binário com um tamanho de 16. Padrão para false.

Valor Retornado

Retorna o hash como um número hexadecimal de 32 caracteres.

Changelog

Versão | Descrição
5.0.0 | O parâmetro raw_output foi adicionado.

Exemplos

Exemplo #1 Um exemplo da md5()

<?php
$str = 'apple';

if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
    echo "Would you like a green or red apple?";
    exit;
}
?>

Veja Também

  • sha1_file() - Calcula a hash sha1 de um arquivo
  • crc32() - Calcula polinômio crc32 de uma string
  • sha1() - Calcula a hash sha1 de uma string


Calcula a metaphone key de uma string

  • « md5
  • money_format »
  • PHP Manual
  • Funções para String
  • Calcula a metaphone key de uma string

metaphone

(PHP 4, PHP 5, PHP 7, PHP 8)

metaphone — Calcula a metaphone key de uma string

Descrição

metaphone ( string $str ) : string

Calcula a metaphone key de str.

Similar a soundex() metaphone cria a mesma key para palavras sonoras similares. Ela é mais precisa do que soundex() por ela conhecer as regras básicas da pronunciação inglesa. As metaphone keys geradas são de comprimentos variados.

Metaphone foi desenvolvido por Lawrence Philips <lphilips at verity dot com>. Ela é descrita em ["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995].


Formata um número como uma string de moeda

  • « metaphone
  • nl_langinfo »
  • PHP Manual
  • Funções para String
  • Formata um número como uma string de moeda

money_format

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

money_format — Formata um número como uma string de moeda

Descrição

money_format ( string $formato , float $numero ) : string

money_format() retorna uma versão formatada de um numero. Esta função engloba a biblioteca de função do C strfmon(), com a diferença que esta implementação converte apenas um número por vez.

Parâmetros

format

A especificação do formato consistem da seguinte sequência:

  • a % character

  • flags opcionais

  • largura de campo opcional

  • precisão da esquerda opcional

  • precisão da direita opcional

  • conversão de caractere requerida

Flags

Uma ou mais, das flags opcionais abaixo podem ser usadas:

=f

O caracter = seguido por um caractere (único byte) f para ser usado como o caracter númerico de preenchimento. O caractere de preenchimento padrão é o espaço.

^

Desabilite o uso de agrupamento de caractere (como definido pela localidade atual).

+ ou (

Especifique o estilo de formatação para números positivos e negativos. Se + é usado, o equivalente da localidade para + e - será usado. Se ( é usado, quantias negativas são fechadas em parêntesis. se nenhuma especificação é dada, o padrão será +.

!

Suprima o símbolo atual da string de saída.

-

Se presente, isso fará todos os campos esquerda-justificados (arrumados para a direita), em oposição ao padrão que é para campos serem direita-justificados (arrumados para a esquerda).

Largura de campo

w

Uma string de dígito decimal especificando uma largura de campo mínima. O campo será direita-justificado a menos que o flag - seja usado. Valor padrão é 0 (zero) por definição.

Precisão de esquerdan

#n

O número máximo de dígitos (n) esperado para a esquerda do caracatere decimal(ex. ponto decimal). Isso é usado normalmente para manter a saída formatada alinhada nas mesmas colunas, usando o caractere de preenchimento se o número de dígitos é menor do que n. Se o número de dígitos atual é maior do que n, então esta especificação é ignorada.

Se agrupamento foi suprimido usando a flag ^, separatores de agrupamento serão inseridos antes dos caracteres de preenchimento (se algum) são adicionados, mesmo se o caractere de preenchimento é um dígito.

Para garantir alinhamento, quaisquer caracteres aparecendo, antes ou depois do número em saída formatada, como moeda ou simbolos de sinal, são arrumado conforme necessário, com caracteres de espaço para fazer seus formatos positivos e negativos num comprimento igual.

Precisão de direita

.p

Um período seguido por um número de dígitos (p) depois do caractere decimal. Se o valor de p é 0 (zero), o caractere decimal e os digitos à sua direita serão omitidos. Se nenhuma precisão de direita é incluida, o padrão será ditado pela localidade atual em uso. A quantia sendo formatada é arredondada para o número de dígitos especificados a priori para ser formatado.

Caracteres de conversão

i

O número é formatado de acordo com o formato de moeda internacional da localidade (ex para a localidade de EUA: USD 1,234.56).

n

O número é formatado de acordo com o formato de moeda nacional da localidade (ex: para a localidade de_DE: DM1.234,56).

%

Retorna o caractere %.

number

O número para ser formatado.

Valor Retornado

Retorna a string formatada. Os caracteres antes e depois da string de formatação serão retornados sem modificação.

Notas

Nota:

A função money_format() é apenas definida se o sistema tem capacidades de strfmon. Por exemplo, o Windows não tem, então money_format() está indefinida o Windows.

A categoria LC_MONETARY de configurações de localidade, afeta o comportamento desta função. Utilize setlocale() para definir a localidade padrão apropriadamente antes de usar esta função.

Exemplos

Exemplo #1 Exemplo da money_format()

Nós usaremos localidades diferentes e especificações de formatos e localidades para ilustrar o uso desta função.

<?php

$number = 1234.56;

// let's print the international format for the en_US locale
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
// USD 1,234.56

// Italian national format with 2 decimals`
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
// L. 1.234,56

// Using a negative number
$number = -1234.5672;

// US national format, using () for negative numbers
// and 10 digits for left precision
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
// ($        1,234.57)

// Similar format as above, adding the use of 2 digits of right
// precision and '*' as a fill character
echo money_format('%=*(#10.2n', $number) . "\n";
// ($********1,234.57)

// Let's justify to the left, with 14 positions of width, 8 digits of
// left precision, 2 of right precision, withouth grouping character
// and using the international format for the de_DE locale.
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
// DEM 1234,56****

// Let's add some blurb before and after the conversion specification
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'The final value is %i (after a 10%% discount)';
echo money_format($fmt, 1234.56) . "\n";
// The final value is  GBP 1,234.56 (after a 10% discount)

?>

Veja Também

  • setlocale() - Define informações locais
  • sscanf() - Interpreta a entrada de uma string de acordo com um formato
  • sprintf() - Retorna a string formatada
  • printf() - Mostra uma string formatada
  • number_format() - Formata um número com os milhares agrupados


Retorna informação de linguagem e local

  • « money_format
  • nl2br »
  • PHP Manual
  • Funções para String
  • Retorna informação de linguagem e local

nl_langinfo

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

nl_langinfo — Retorna informação de linguagem e local

Descrição

nl_langinfo ( int $item ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Insere quebras de linha HTML antes de todas newlines em uma string

  • « nl_langinfo
  • number_format »
  • PHP Manual
  • Funções para String
  • Insere quebras de linha HTML antes de todas newlines em uma string

nl2br

(PHP 4, PHP 5, PHP 7, PHP 8)

nl2br — Insere quebras de linha HTML antes de todas newlines em uma string

Descrição

nl2br ( string $string ) : string

Retorna string com '<br />' inserido antes de todas as newlines.

Parâmetros

string

A string de entrada.

Valor Retornado

Returns the altered string.

Changelog

Versão | Descrição
4.0.5 | nl2br() é agora XHTML compliant. Todas versões anteriores retornam string com '<br>' inserido antes de newlines ao invés de '<br />'.

Exemplos

Exemplo #1 usando nl2br()

<?php
echo nl2br("foo isn't\n bar");
?>

O exemplo acima irá imprimir:

foo isn't<br />
 bar

Veja Também

  • htmlspecialchars() - Converte caracteres especiais para a realidade HTML
  • htmlentities() - Converte todos os caracteres aplicáveis em entidades html.
  • wordwrap() - Quebra uma string em um dado número de caracteres
  • str_replace() - Substitui todas as ocorrências da string de procura com a string de substituição


Formata um número com os milhares agrupados

  • « nl2br
  • ord »
  • PHP Manual
  • Funções para String
  • Formata um número com os milhares agrupados

number_format

(PHP 4, PHP 5, PHP 7, PHP 8)

number_format — Formata um número com os milhares agrupados

Descrição

number_format ( float $number , int $decimals = ? ) : string
number_format ( float $number , int $decimals , string $dec_point , string $thousands_sep ) : string

number_format() retorna uma versão formatada de number. Esta função aceita um, dois ou quatro parâmetros (não três):

Se apenas um parâmetro é dado, number será formatado sem decimais, mas com uma virgula (",") entre cada grupo de milhar.

Se dois parâmetros são dados, number será formatado com o número de casas decimais especificadas em decimals com um ponto (".") na frente, e uma vírgula (",") entre cada grupo de milhar.

Se todos os quatro parâmetros forem dados, number será formatado com o número de casas decimais em decimals, dec_point ao invés do ponto (".") antes das casas decimais e thousands_sep ao invés de uma vírgula (",") entre os grupos de milhares.

Somente o primeiro caractere de thousands_sep é usado. Por exemplo, se você usar foo como o parâmetro thousands_sep no número 1000, number_format() irá retornar 1f000.

Exemplo #1 Exemplo number_format()

Por exemplo, a notação Francesa usa duas casas decimais, vírgula (',') como separador decimal, e espaço (' ') como separador de milhar. Isto é feito com a linha :

<?php

$number = 1234.56;

// Notação Inglesa (padrão)
$english_format_number = number_format($number);
// 1,234

// Notação Francesa
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// Notação Inglesa com separador de milhar
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>

Veja também: sprintf(), printf() e sscanf().


Retorna o valor ASCII do caractere

  • « number_format
  • parse_str »
  • PHP Manual
  • Funções para String
  • Retorna o valor ASCII do caractere

ord

(PHP 4, PHP 5, PHP 7, PHP 8)

ord — Retorna o valor ASCII do caractere

Descrição

ord ( string $string ) : int

Retorna o valor ASCII do primeiro caractere de string.

Esta função complementa chr().

Parâmetros

string

Um caractere.

Valor Retornado

Retorna o valor ASCII como um inteiro.

Exemplos

Exemplo #1 Exemplo da ord()

<?php
$str = "\n";
if (ord($str) == 10) {
    echo "O primeiro caractere de \$str é uma nova linha.\n";
}
?>

Veja Também

  • chr() - Retorna um caracter específico
  • Uma » tabela ASCII


Converte a string em variáveis

  • « ord
  • print »
  • PHP Manual
  • Funções para String
  • Converte a string em variáveis

parse_str

(PHP 4, PHP 5, PHP 7, PHP 8)

parse_str — Converte a string em variáveis

Descrição

parse_str ( string $str , array &$arr = ? ) : void

Converte str como se ela tivesse sido passada via URL e define o valor das variáveis.

Nota:

Para pegar a QUERY_STRING atual, você deve usar a variável $_SERVER['QUERY_STRING']. também você deve querer ler a seção sobre variáveis de fora do PHP.

Nota:

A configuração magic_quotes_gpc afeta a saída desta função, parse_str() usa o mesmo mecanismo que o PHP usa para popular as variáveis $_GET, $_POST, etc.

Parâmetros

str

A string de entrada.

arr

Se o segundo parâmetro arr é usado, variável são armazenadas nesta variável como elementos de um array.

Valor Retornado

Não há valor retornado.

Changelog

Versão | Descrição
4.0.3 | O parâmetro arr foi adicionado

Exemplos

Exemplo #1 Usando parse_str()

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

?>

Veja Também

  • parse_url() - Interpreta uma URL e retorna os seus componentes
  • pathinfo() - Retorna informações sobre um caminho de arquivo
  • http_build_query() - Gera a string de consulta (query) em formato URL
  • get_magic_quotes_gpc() - Obtém a configuração atual de magic_quotes_gpc
  • urldecode() - Decodifica uma URL codificada


Mostra uma string

  • « parse_str
  • printf »
  • PHP Manual
  • Funções para String
  • Mostra uma string

print

(PHP 4, PHP 5, PHP 7, PHP 8)

print — Mostra uma string

Descrição

print ( string $arg ) : int

Mostra arg.

print na verdade não é uma função real (ela é uma construção da linguagem), dessa forma você não precisa usar parênteses com sua lista de argumentos.

As principais diferenças para echo são que print aceita apenas um único argumento e sempre retorna 1

Parâmetros

arg

O dado de entrada.

Valor Retornado

Retorna 1, sempre.

Exemplos

Exemplo #1 Exemplos print

<?php
print("Hello World");

print "print() also works without parentheses.";

print "This spans
multiple lines. The newlines will be
output as well";

print "This spans\nmultiple lines. The newlines will be\noutput as well.";

print "escaping characters is done \"Like this\".";

// You can use variables inside a print statement
$foo = "foobar";
$bar = "barbaz";

print "foo is $foo"; // foo is foobar

// You can also use arrays
$bar = array("value" => "foo");

print "this is {$bar['value']} !"; // this is foo !

// Using single quotes will print the variable name, not the value
print 'foo is $foo'; // foo is $foo

// If you are not using any other characters, you can just print variables
print $foo;          // foobar

print <<<END
This uses the "here document" syntax to output
multiple lines with $variable interpolation. Note
that the here document terminator must appear on a
line with just a semicolon no extra whitespace!
END;
?>

Notas

Nota: Este é um construtor de linguagem e não uma função, por isso não é possível chamá-lo através de funções variáveis

Veja Também

  • echo - Exibe uma ou mais strings
  • printf() - Mostra uma string formatada
  • flush() - Descarrega o buffer de saída
  • Sintaxe Heredoc


Mostra uma string formatada

  • « print
  • quoted_printable_decode »
  • PHP Manual
  • Funções para String
  • Mostra uma string formatada

printf

(PHP 4, PHP 5, PHP 7, PHP 8)

printf — Mostra uma string formatada

Descrição

printf ( string $format , mixed $args = ? ) : void

Produz uma saída de acordo com format, o qual é descrito na documentação para sprintf().

Veja também print, sprintf(),
vprintf(), sscanf(),
fscanf() e flush().


Converte uma string quoted-printable para uma string de 8 bit

  • « printf
  • quoted_printable_encode »
  • PHP Manual
  • Funções para String
  • Converte uma string quoted-printable para uma string de 8 bit

quoted_printable_decode

(PHP 4, PHP 5, PHP 7, PHP 8)

quoted_printable_decode — Converte uma string quoted-printable para uma string de 8 bit

Descrição

quoted_printable_decode ( string $str ) : string

Esta função retorna uma string binária de 8-bit correspondendo a string quoted printable decodificada (de acordo com » RFC2045, seção 6.7, não » RFC2821, seção 4.5.2, adicionais periodos não são removidos do início da linha).

Esta função é similar a imap_qprint(), exceto que esta não requer o módulo IMAP para funcionar.

Parâmetros

str

A string de entrada.

Valor Retornado

Retorna uma string binária de 8-bit.

Veja Também

  • quoted_printable_encode() - Converte uma string de 8 bits em uma string quoted-printable


Converte uma string de 8 bits em uma string quoted-printable

  • « quoted_printable_decode
  • quotemeta »
  • PHP Manual
  • Funções para String
  • Converte uma string de 8 bits em uma string quoted-printable

quoted_printable_encode

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

quoted_printable_encode — Converte uma string de 8 bits em uma string quoted-printable

Descrição

quoted_printable_encode ( string $str ) : string

Retorna uma string quoted-printable criada de acordo com » RFC2045, seção 6.7.

Esta função é similar a imap_8bit(), exceto que essa não requer o módulo IMAP para funcionar.

Parâmetros

str

A string de entrada.

Valor Retornado

Retorna a string codificada.

Veja Também

  • quoted_printable_decode() - Converte uma string quoted-printable para uma string de 8 bit
  • iconv_mime_encode() - Composes a MIME header field


Adiciona uma barra invertida antes dos meta caracteres

  • « quoted_printable_encode
  • rtrim »
  • PHP Manual
  • Funções para String
  • Adiciona uma barra invertida antes dos meta caracteres

quotemeta

(PHP 4, PHP 5, PHP 7, PHP 8)

quotemeta — Adiciona uma barra invertida antes dos meta caracteres

Descrição

quotemeta ( string $str ) : string

Retorna uma versão de str com uma barra invertida (\) antes de cada um destes caracteres:

. \ + * ? [ ^ ] ( $ )

Parâmetros

str

A string de entrada.

Valor Retornado

Retorna a string com meta caracteres com escape.

Notas

Nota: Esta função é binary-safe.

Veja Também

  • addslashes() - Adiciona barras a uma string
  • addcslashes() - String entre aspas com barras no estilo C
  • htmlentities() - Converte todos os caracteres aplicáveis em entidades html.
  • htmlspecialchars() - Converte caracteres especiais para a realidade HTML
  • nl2br() - Insere quebras de linha HTML antes de todas newlines em uma string
  • stripslashes() - Desfaz o efeito de addslashes
  • stripcslashes() - Desfaz o efeito de addcslashes
  • ereg() - Casando expressões regulares


Retira espaço em branco (ou outros caracteres) do final da string

  • « quotemeta
  • setlocale »
  • PHP Manual
  • Funções para String
  • Retira espaço em branco (ou outros caracteres) do final da string

rtrim

(PHP 4, PHP 5, PHP 7, PHP 8)

rtrim — Retira espaço em branco (ou outros caracteres) do final da string

Descrição

rtrim ( string $str , string $charlist = ? ) : string

Esta função retorna a string com os espaços em branco retirados do final de str.

Sem o segundo parâmetro, rtrim() irá retirar os seguintes caracteres:

  • " " (ASCII 32 (0x20)), um espaço comum.
  • "\t" (ASCII 9 (0x09)), uma tabulação.
  • "\n" (ASCII 10 (0x0A)), uma nova linha.
  • "\r" (ASCII 13 (0x0D)), um retorno de carro(ENTER).
  • "\0" (ASCII 0 (0x00)), o byte NULL.
  • "\x0B" (ASCII 11 (0x0B)), uma tabulação vertical.

Parâmetros

str

A string de entrada.

charlist

Você também pode especificar os caracteres que você deseja retirar, pelo parâmetro charlist. Simplesmente liste todos os caracteres que você quer ver retirados. Com .. você pode especificar um intervalo de caracteres.

Valor Retornado

Retorna a string modificada.

Changelog

Versão | Descrição
4.1.0 | O parâmetro charlist foi adicionado.

Exemplos

Exemplo #1 Exemplo de uso da função rtrim()

<?php

$text = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = rtrim($text);
var_dump($trimmed);

$trimmed = rtrim($text, " \t.");
var_dump($trimmed);

$trimmed = rtrim($hello, "Hdle");
var_dump($trimmed);

// trim the ASCII control characters at the end of $binary
// (from 0 to 31 inclusive)
$clean = rtrim($binary, "\x00..\x1F");
var_dump($clean);

?>

O exemplo acima irá imprimir:

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(30) "        These are a few words :) ..."
string(26) "        These are a few words :)"
string(9) "Hello Wor"
string(15) "    Example string"

Veja Também

  • trim() - Retira espaço no ínicio e final de uma string
  • ltrim() - Retira espaços em branco (ou outros caracteres) do início da string


Define informações locais

  • « rtrim
  • sha1_file »
  • PHP Manual
  • Funções para String
  • Define informações locais

setlocale

(PHP 4, PHP 5, PHP 7, PHP 8)

setlocale — Define informações locais

Descrição

setlocale ( mixed $category , string $locale , string $... = ? ) : string
setlocale ( mixed $category , array $locale ) : string

Category é uma constante (ou string) especificando a categoria de funções afetadas pela definição local: setting:

  • LC_ALL para tudo abaixo
  • LC_COLLATE para comparação de strings, veja strcoll()
  • LC_CTYPE para classificação de caracteres e conversão, por exemplo strtoupper()
  • LC_MONETARY para localeconv()
  • LC_NUMERIC para o separador decimal (Veja também localeconv())
  • LC_TIME para formatação de data e hora com strftime()

Se locale for uma string vazia "", o nome do local será obtido apartir de variaveis de ambiente com os mesmos nomes das categorias acima ou apartir de "LANG".

Se locale for null ou "0", a definição de local não é modificada, apenas retorna a definição atual.

Se locale for uma matriz ou conter parâmetros adicionais, então cada elemento da matriz é tentado como um local até obter sucesso. Isto é útil se um lugar é conhecido por nomes diferentes em sistemas diferentes ou para prover um outro local se um estiver indisponível.

Nota: Passar varios lugares não esta disponível antes do PHP 4.3.0

setlocale() retorna o novo local ou false se a funcionalidade de locais não estiver implementada em sua plataforma, o local não existir ou a categoria for invalida. Uma categoria invalida também gera uma mensagem de aviso. Nomes de categoria/local podem ser encontrados em » RFC 1766 e » ISO 639.

Nota:

O valor de retorno de setlocale() depende do sistema no qual o PHP esta sendo executado. Ele retorna exatamente o que a função setlocale do sistema retorna.

Dica

Usuários do windows encontraram informações úteis sobre as strings de locale no site MSDN da Microsoft. Strings das línguas suportadas podem ser encontradas » aqui as strings de pais/região suportados » aqui. Sistemas windows suportam códigos de três letras para pais/região especificados por ISO 3166-Alpha-3, que pode ser encontrada em Unicode website.

Exemplo #1 Exemplos setlocale()

<?php
/* Define o local para Holandês(usar pt_BR para o Português(Brasil) ) */
setlocale (LC_ALL, 'nl_NL');

/* Mostra: vrijdag 22 december 1978 */
echo strftime ("%A %e %B %Y", mktime (0, 0, 0, 12, 22, 1978));

/* Tenta diferentes nomes de local para o Alemão apartir do PHP 4.3.0 */
$loc_de = setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo "Preferred locale for german on this system is '$loc_de'";
?>

Exemplo #2 Exemplos para windows desetlocale()

<?php
/* Define o local para Holandês(usar ptb para o Português(Brasil) ) */
setlocale (LC_ALL, 'nld_nld');

/* Mostra: vrijdag 22 december 1978 */
echo strftime ("%A %d %B %Y", mktime (0, 0, 0, 12, 22, 1978));

/* Tenta diferentes nomes de local para o Alemão apartir do PHP 4.3.0 */
$loc_de = setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo "Preferred locale for german on this system is '$loc_de'";
?>


Calcula a hash sha1 de um arquivo

  • « setlocale
  • sha1 »
  • PHP Manual
  • Funções para String
  • Calcula a hash sha1 de um arquivo

sha1_file

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

sha1_file — Calcula a hash sha1 de um arquivo

Descrição

sha1_file ( string $nomedoarquivo , bool $raw_output = ? ) : string

Calcula a hash sha1 de nomedoarquivo usando » US Secure Hash Algorithm 1, e retorna esta hash. A hash é um número hexadecimal de 40 caracteres.

Parâmetros

filename

O nome do arquivo

raw_output

Quando true, retorna no formato binário com o tamanho de 20. O padrão é false.

Valor Retornado

Retorna uma string em sucesso, false caso contrário.

Veja Também

  • sha1() - Calcula a hash sha1 de uma string
  • md5_file() - Calcula hash md5 de um dado arquivo
  • crc32() - Calcula polinômio crc32 de uma string


Calcula a hash sha1 de uma string

  • « sha1_file
  • similar_text »
  • PHP Manual
  • Funções para String
  • Calcula a hash sha1 de uma string

sha1

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

sha1 — Calcula a hash sha1 de uma string

Descrição

sha1 ( string $str , bool $raw_output = ? ) : string

Calcula a hash sha1 de str usando » US Secure Hash Algorithm 1, e retorna esta hash. A hash é um número hexadecimal de 40 caracteres. Se o parâmetro opcional raw_output for true, então o resultado é retornado em um formato binário com o tamanho de 20.

Nota: O parâmetro opcional raw_output foi adicionado no PHP 5.0.0 e o padrão é false

Exemplo #1 Exemplo sha1()

<?php
$str = 'apple';

if (sha1($str) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') {
    echo "Would you like a green or red apple?";
    exit;
}
?>

Veja também sha1_file(), crc32(), e md5()


Calcula a similaridade entre duas strings

  • « sha1
  • soundex »
  • PHP Manual
  • Funções para String
  • Calcula a similaridade entre duas strings

similar_text

(PHP 4, PHP 5, PHP 7, PHP 8)

similar_text — Calcula a similaridade entre duas strings

Descrição

similar_text ( string $first , string $second , float &$percent = ? ) : int

Calcula a similaridade entre duas strings como descrito em Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1). Note que esta implementação não usa uma stack como no pseudo-código de Oliver, mas chamadas recursivas as quais podem ou não tornar todo o processo mais rápido. Note também que a complexidade deste algoritmo é O(N**3) aonde N é o tamanho da string mais longa.

Parâmetros

primeira

A primeira string.

segunda

A segunda string.

percentual

Passando uma referência como terceiro argumento, a função similar_text() irá calcular o percentual de similaridade para você.

Valor Retornado

Retorna o número de caracteres iguais em ambas as strings.

Veja Também

  • levenshtein() - Calcula a distância Levenshtein entre duas strings
  • soundex() - Calcula a chave soundex de uma string


Calcula a chave soundex de uma string

  • « similar_text
  • sprintf »
  • PHP Manual
  • Funções para String
  • Calcula a chave soundex de uma string

soundex

(PHP 4, PHP 5, PHP 7, PHP 8)

soundex — Calcula a chave soundex de uma string

Descrição

soundex ( string $str ) : string

Calcula a chave soundex de str.

Chaves soundex tem a propriedade que palavras pronunciadas similarmente produzem a mesma chave soundex, e assim podem ser usadas em pesquisas em bancos de dados aonde você conhece a pronuncia mas não exatamente como se escreve. Esta função soundex retorna uma string de 4 caracteres, começando com uma letra.

Esta função soundex em particular é a descrita por Donald Knuth em "The Art Of Computer Programming, vol. 3: Sorting And Searching", Addison-Wesley (1973), pp. 391-392.

Parâmetros

str

A string de entrada.

Valor Retornado

Retorna a chave soundex como uma string.

Exemplos

Exemplo #1 Exemplos de Soundex

<?php
soundex("Euler") == soundex("Ellery") == 'E460';
soundex("Gauss") == soundex("Ghosh") == 'G200';
soundex("Hilbert") == soundex("Heilbronn") == 'H416';
soundex("Knuth") == soundex("Kant") == 'K530';
soundex("Lloyd") == soundex("Ladd") == 'L300';
soundex("Lukasiewicz") == soundex("Lissajous") == 'L222';
?>

Veja Também

  • levenshtein() - Calcula a distância Levenshtein entre duas strings
  • metaphone() - Calcula a metaphone key de uma string
  • similar_text() - Calcula a similaridade entre duas strings


Retorna a string formatada

  • « soundex
  • sscanf »
  • PHP Manual
  • Funções para String
  • Retorna a string formatada

sprintf

(PHP 4, PHP 5, PHP 7, PHP 8)

sprintf — Retorna a string formatada

Descrição

sprintf ( string $format , mixed $args = ? , mixed $... = ? ) : string

Retorna uma string produzida de acordo com a string de formatação format.

Parâmetros

format

A string e formatação é composta de zero ou mais diretivas: caracteres normais (excluindo %) que são copiados diretamente para o resultado, e especificações de conversão, cada um dos quais resulta em obter o seu próprio parâmetro. Isto se aplica para sprintf() e printf().

Cada especificação de conversão consiste em um símbolo de porcento (%), seguido por um ou mais destes elementos em ordem:

  1. Um opcional sinal especificador que indica (- ou +) pode ser usado no número. Por padrão, somente o sinal - é usado no número se ele é negativo. Este especificador força números positivos a ter o sinal +, foi adicionado no PHP 4.3.0.
  2. Um especificador de prenchimento opcional que diz qual caractere será usado para prencher o resultado para o tamanho certo. Isto pode ser um espaço ou 0 (zero character). O padrão é prencher com espaços. Um caractere alternativo de prenchimento pode ser especificado colocando uma aspa simples (') antes. Veja os exemplos abaixo.
  3. Um especificador de alinhamento opcional que diz se o resultado deve ser alinhado a esquerda ou a direita. O padrão é alinhar a direita; um caractere - fará com que seja alinhado a esquerda.
  4. Um número opcional, um especificador de tamanho que diz quantos caracteres (mínimo) deve resultar desta conversão.
  5. Um especificador de precisão opcional que diz quantos digitos decimais devem ser mostrados para números de ponto flutuante. Quando usando este especificador na string, ele age como um ponto delimitador, definindo o máximo de caracteres limit para a string.

  6. Um especificador de tipo que diz que o argumento deve ser tratado como do tipo. Os tipos possivéis são:

    • % - Um caractere porcento. Não é requerido neenhum argumento.
    • b - O argumento é tratado com um inteiro, e mostrado como um binário.
    • c - O argumento é tratado como um inteiro, e mostrado como o caractere ASCII correspondente.
    • d - O argumento é tratado como um inteiro, e mostrado como um número decimal com sinal.
    • e - o argumento é tratado como notação científica (e.g. 1.2e+2). O especificador de precisão indica o número de dígitos depois do ponto decimal desde o PHP 5.2.1. Em versões anteriores, ele pegava o número de dígitos significantes (ou menos).
    • u - O argumento é tratado com um inteiro, e mostrado como um número decimal sem sinal.
    • f - O argumento é tratado como um float, e mostrado como um número de ponto flutuante (do locale).
    • F - o argumento é tratado como um float, e mostrado como um número de ponto flutuante (não usado o locale). Disponível desde o PHP 4.3.10 e PHP 5.0.3.
    • o - O argumento é tratado com um inteiro, e mostrado como un número octal.
    • s - O argumento é tratado e mostrado como uma string.
    • x - O argumento é tratado como um inteiro, e mostrado como um número hexadecimal (com as letras minúsculas).
    • X - O argumento é tratado como um inteiro, e mostrado como um número hexadecimal (com as letras maiúsculas).

A string de formato suporta argumentos com numeração/troca. Aqui está um exemplo:

Exemplo #1 Troca de argumentos

<?php
$format = 'There are %d monkeys in the %s';
printf($format,$num,$location);
?>
Este deve mostrar, "There are 5 monkeys in the tree". Mas imagine que nós estejamos criando a string de formatação em um arquivo separado, normalmente para internacionalizar e rescrevemos como:

Exemplo #2 Troca de argumentos

<?php
$format = 'The %s contains %d monkeys';
printf($format,$num,$location);
?>
Agora nós temos um problema. A ordem dos argumentos na string de formatação não combina com os argumentos no código. Nós gostariamos de deixar o código como esta e simplesmente indicar na string de formatação quais argumentos pertencem aonde. Podemos escrever a string de formatação assim:

Exemplo #3 Troca de argumento

<?php
$format = 'The %2$s contains %1$d monkeys';
printf($format,$num,$location);
?>
Um beneficio adicional disto é ue você pode repetir os especificadores de conversão sem adicionar mais argumentos em seu código. Por exemplo:

Exemplo #4 Troca de argumento

<?php
$format = 'The %2$s contains %1$d monkeys.
           That\'s a nice %2$s full of %1$d monkeys.';
printf($format, $num, $location);
?>

args

...

Valor Retornado

Retorna a string produzida de acordo com as strings de formatação format.

Changelog

Versão | Descrição
4.0.6 | Suporte para argumento numerado/troca foi adicionado

Exemplos

Exemplo #5 printf(): vários exemplos

<?php
$n =  43951789;
$u = -43951789;
$c = 65; // ASCII 65 is 'A'

// notice the double %%, this prints a literal '%' character
printf("%%b = '%b'\n", $n); // binary representation
printf("%%c = '%c'\n", $c); // print the ascii character, same as chr() function
printf("%%d = '%d'\n", $n); // standard integer representation
printf("%%e = '%e'\n", $n); // scientific notation
printf("%%u = '%u'\n", $n); // unsigned integer representation of a positive integer
printf("%%u = '%u'\n", $u); // unsigned integer representation of a negative integer
printf("%%f = '%f'\n", $n); // floating point representation
printf("%%o = '%o'\n", $n); // octal representation
printf("%%s = '%s'\n", $n); // string representation
printf("%%x = '%x'\n", $n); // hexadecimal representation (lower-case)
printf("%%X = '%X'\n", $n); // hexadecimal representation (upper-case)

printf("%%+d = '%+d'\n", $n); // sign specifier on a positive integer
printf("%%+d = '%+d'\n", $u); // sign specifier on a negative integer
?>

O exemplo acima irá imprimir:

%b = '10100111101010011010101101'
%c = 'A'
%d = '43951789'
%e = '4.39518e+7'
%u = '43951789'
%u = '4251015507'
%f = '43951789.000000'
%o = '247523255'
%s = '43951789'
%x = '29ea6ad'
%X = '29EA6AD'
%+d = '+43951789'
%+d = '-43951789'

Exemplo #6 printf(): especificadores de string

<?php
$s = 'monkey';
$t = 'many monkeys';

printf("[%s]\n",      $s); // standard string output
printf("[%10s]\n",    $s); // right-justification with spaces
printf("[%-10s]\n",   $s); // left-justification with spaces
printf("[%010s]\n",   $s); // zero-padding works on strings too
printf("[%'#10s]\n",  $s); // use the custom padding character '#'
printf("[%10.10s]\n", $t); // left-justification but with a cutoff of 10 characters
?>

O exemplo acima irá imprimir:

[monkey]
[    monkey]
[monkey    ]
[0000monkey]
[####monkey]
[many monke]

Exemplo #7 sprintf(): inteiros prenchidos com zero

<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>

Exemplo #8 sprintf(): formatando dinheiro

<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money irá mostrar "123.1";
$formatted = sprintf("%01.2f", $money);
// echo $formatted irá mostrar "123.10"
?>

Exemplo #9 sprintf(): notação científica

<?php
$number = 362525200;

echo sprintf("%.3e", $number); // imprime 3.625e+8
?>

Veja Também

  • printf() - Mostra uma string formatada
  • sscanf() - Interpreta a entrada de uma string de acordo com um formato
  • fscanf() - Interpreta a leitura de um arquivo de acordo com um formato
  • vsprintf() - Retorna uma string formatada
  • number_format() - Formata um número com os milhares agrupados


Interpreta a entrada de uma string de acordo com um formato

  • « sprintf
  • str_contains »
  • PHP Manual
  • Funções para String
  • Interpreta a entrada de uma string de acordo com um formato

sscanf

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

sscanf — Interpreta a entrada de uma string de acordo com um formato

Descrição

sscanf ( string $str , string $format , mixed &$... = ? ) : mixed

A função sscanf() é análoga a printf(). sscanf() lê da string str e interpreta ela de acordo com o formato especificado. Como é descrito na documentação para sprintf().

Qualquer espaço em branco na string de formato será comparada com qualquer espaço em branco na string de entrada. Isto significa que até mesmo um tab \t na string de formato pode ser comparada com um caractere de espaço simples na string de entrada.

Parâmetros

str

A string de entrada a ser analisada.

format

O formato interpretado para str, que é descrito na documentação para sprintf().

...

Opcionalmente passe variáveis por referência que conterão os valores analisados.

Valor Retornado

Se apenas dois parâmetros forem passados para esta função, os valores interpretados serão retornados como array. Caso contrário, se parâmetros opcionais são passados, a função retornará o número de valores atribuídos. Os parâmetros opcionais precisam ser passados por referência.

Exemplos

Exemplo #1 Exemplo da sscanf()

<?php
// Pegando o número serial
list($serial) = sscanf("SN/2350001","SN/%d");
// e a data de criação
$mandate = "January 01 2000";
list($month, $day, $year) = sscanf($mandate,"%s %d %d");
echo "O Item $serial foi criado em: $year-".substr($month,0,3)."-$day\n";
?>

Se parâmetros opcionais são passados, a função retornará o número de valores assumidos.

Exemplo #2 sscanf() - usando parâmetros opcionais

<?php
// pega informação do autor e gera uma entrada de DocBook
$auth = "24\tLewis Carroll";
$n = sscanf($auth,"%d\t%s %s", $id, $first, $last);
echo "<author xml:id='$id'>
    <firstname>$first</firstname>
    <surname>$last</surname>
</author>\n";
?>

Veja Também

  • fscanf() - Interpreta a leitura de um arquivo de acordo com um formato
  • printf() - Mostra uma string formatada
  • sprintf() - Retorna a string formatada


Determine if a string contains a given substring

  • « sscanf
  • str_ends_with »
  • PHP Manual
  • Funções para String
  • Determine if a string contains a given substring

str_contains

(PHP 8)

str_contains — Determine if a string contains a given substring

Descrição

str_contains ( string $haystack , string $needle ) : bool

Performs a case-sensitive check indicating if needle is contained in haystack.

Parâmetros

haystack

The string to search in.

needle

The substring to search for in the haystack.

Valor Retornado

Returns true if needle is in haystack, false otherwise.

Exemplos

Exemplo #1 Using the empty string ''

<?php
if (str_contains('abc', '')) {
    echo "Checking the existence of the empty string will always return true";
}
?>

O exemplo acima irá imprimir:

Checking the existence of the empty string will always return true

Exemplo #2 Showing case-sensitivity

<?php
$string = 'The lazy fox jumped over the fence';

if (str_contains($string, 'lazy')) {
    echo "The string 'lazy' was found in the string\n";
}

if (str_contains($string, 'Lazy')) {
    echo 'The string "Lazy" was found in the string';
} else {
    echo '"Lazy" was not found because the case does not match';
}

?>

O exemplo acima irá imprimir:

The string 'lazy' was found in the string
"Lazy" was not found because the case does not match

Notas

Nota: Esta função é binary-safe.

Veja Também

  • str_ends_with() - Checks if a string ends with a given substring
  • str_starts_with() - Checks if a string starts with a given substring
  • stripos() - Encontra a primeira ocorrencia de uma string sem diferenciar maiúsculas e minúsculas
  • strrpos() - Encontra a posição da última ocorrência de um caractere em uma string
  • strripos() - Encontra a posição da última ocorrência de uma string case-insensitive em uma string
  • strstr() - Encontra a primeira ocorrencia de uma string
  • strpbrk() - Procura na string por um dos caracteres de um conjunto
  • substr() - Retorna uma parte de uma string
  • preg_match() - Perform a regular expression match


Checks if a string ends with a given substring

  • « str_contains
  • str_getcsv »
  • PHP Manual
  • Funções para String
  • Checks if a string ends with a given substring

str_ends_with

(PHP 8)

str_ends_with — Checks if a string ends with a given substring

Descrição

str_ends_with ( string $haystack , string $needle ) : bool

Performs a case-sensitive check indicating if haystack ends with needle.

Parâmetros

haystack

The string to search in.

needle

The substring to search for in the haystack.

Valor Retornado

Returns true if haystack ends with needle, false otherwise.

Exemplos

Exemplo #1 Using the empty string ''

<?php
if (str_ends_with('abc', '')) {
    echo "All strings end with the empty string";
}
?>

O exemplo acima irá imprimir:

All strings end with the empty string

Exemplo #2 Showing case-sensitivity

<?php
$string = 'The lazy fox jumped over the fence';

if (str_ends_with($string, 'fence')) {
    echo "The string ends with 'fence'\n";
}

if (str_ends_with($string, 'Fence')) {
    echo 'The string ends with "fence"';
} else {
    echo '"fence" was not found because the case does not match';
}

?>

O exemplo acima irá imprimir:

The string ends with 'fence'
"fence" was not found because the case does not match

Notas

Nota: Esta função é binary-safe.

Veja Também

  • str_contains() - Determine if a string contains a given substring
  • str_starts_with() - Checks if a string starts with a given substring
  • stripos() - Encontra a primeira ocorrencia de uma string sem diferenciar maiúsculas e minúsculas
  • strrpos() - Encontra a posição da última ocorrência de um caractere em uma string
  • strripos() - Encontra a posição da última ocorrência de uma string case-insensitive em uma string
  • strstr() - Encontra a primeira ocorrencia de uma string
  • strpbrk() - Procura na string por um dos caracteres de um conjunto
  • substr() - Retorna uma parte de uma string
  • preg_match() - Perform a regular expression match


Analisa uma string CSV e retorna os dados em um array

  • « str_ends_with
  • str_ireplace »
  • PHP Manual
  • Funções para String
  • Analisa uma string CSV e retorna os dados em um array

str_getcsv

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

str_getcsv — Analisa uma string CSV e retorna os dados em um array

Descrição

str_getcsv ( string $input , string $delimiter = "," , string $enclosure = '"' , string $escape = "\\" ) : array

Analisa a string passada por campos no formato CSV e retorna um array contendo os campos encontrados.

Nota:

As configurações de localização são levadas em conta nessa função. Se LC_CTYPE for, por exemplo, en_US.UTF-8, strings com codificação de um byte podem ser lidas de forma errada na função.

Parâmetros

input

Srting a ser analisada.

delimiter

Define o delimitador (somente um caractere).

enclosure

Define o enclosure (somente um caractere).

escape

Define o caractere de escape (no máximo um caractere). O valor padrão é a barra invertida (\) Uma string vazia ("") desabilita o mecanismo de escape.

Nota: Normalmente um caractere de enclosure é escapado dentro do campo duplicando ele; entretanto, o caratere de escape pode ser utilizado como alternativa. Então, para os valores padrões dos parâmetros "" e \" tem o mesmo significado. Além de escapar o caractere de enclosure o caractere de escape não possui função especial; nem mesmo para escapar ao próprio.

Valor Retornado

Retorna um array com os campos lidos.

Changelog

Versão | Descrição
7.4.0 | O parâmetro escape agora interpreta uma string vazia como um sinal para desabilitar o mecanismo de escape. Antes, uma string vazia utilizava o valor padrão do parâmetro.

Veja Também

  • fgetcsv() - Lê uma linha do ponteiro de arquivos e a interpreta como campos CSV


Versão que não diferencia maiúsculas e minúsculas de str_replace.

  • « str_getcsv
  • str_pad »
  • PHP Manual
  • Funções para String
  • Versão que não diferencia maiúsculas e minúsculas de str_replace.

str_ireplace

(PHP 5, PHP 7, PHP 8)

str_ireplace — Versão que não diferencia maiúsculas e minúsculas de str_replace().

Descrição

str_ireplace ( mixed $search , mixed $replace , mixed $subject , int $&count = ? ) : mixed

Esta função retorna uma string ou uma matriz com todas as ocorrencias de search em subject (não diferenciando maiúsculas e minúsculas) substituidas com o valor de replace. Se você não necessitar de regras de substituição mais complicadas, você deve geralmente usar esta função ao invés de eregi_replace() ou preg_replace() com o modificador i.

Se subject for uma matriz, então a procura e substituição é realizada para cada item de subject, e o valor retornado é uma matriz.

Se search e replace forem matrizes, então str_ireplace() pega um valor de cada matriz e os usas para localizar e substituir em subject. Se replace tiver menos valores do que search, então uma string vazia é usada para o resto dos valores de substituição. Se search é uma matriz e replace é uma string; então esta string é usada para cada valor de search.

Exemplo #1 Exemplo str_ireplace()

<?php
$bodytag = str_ireplace("%body%", "black", "<body text=%BODY%>");
?>

Esta função é segura para binários.

Nota: Apartir do PHP 5.0.0 o número de vezes que needles foi encontrado e substituido será retornado em count o qual é passado por referencia. Anteriormente a PHP 5.0.0 este parâmetro não esta disponível.

Veja também:
str_replace(),
ereg_replace(),
preg_replace() e
strtr().


Preenche uma string para um certo tamanho com outra string

  • « str_ireplace
  • str_repeat »
  • PHP Manual
  • Funções para String
  • Preenche uma string para um certo tamanho com outra string

str_pad

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

str_pad — Preenche uma string para um certo tamanho com outra string

Descrição

str_pad ( string $input , int $pad_length , string $pad_string = ? , int $pad_type = ? ) : string

Esta função retorna a string input preenchida na esquerda, direita ou ambos os lados até o tamanho especificado. Se o parâmetro opcional pad_string não for indicado, input é preenchido com espaços, se não é preenchido com os caracteres de pad_string até o limite.

O parâmetro opcional pad_type pode ser STR_PAD_RIGHT (preencher a direita), STR_PAD_LEFT (preencher a esquerda), ou STR_PAD_BOTH (preencher de ambos os lados). If pad_type não for especificado é assumido que seja STR_PAD_RIGHT.

Se o valor de pad_length é negativo ou menor do que o tamanho da string , não há nenhum preenchimento.

Exemplo #1 Exemplo str_pad()

<?php
$input = "Alien";
print str_pad($input, 10);                      // produz "Alien     "
print str_pad($input, 10, "-=", STR_PAD_LEFT);  // produz "-=-=-Alien"
print str_pad($input, 10, "_", STR_PAD_BOTH);   // produz "__Alien___"
print str_pad($input, 6 , "___");               // produces "Alien_"
?>

Nota:

O parâmetro pad_string será truncado se se o número de caracteres de prenchimento não puder ser dividido igualmente pelo tamanho do parâmetro pad_string.


Repete uma string

  • « str_pad
  • str_replace »
  • PHP Manual
  • Funções para String
  • Repete uma string

str_repeat

(PHP 4, PHP 5, PHP 7, PHP 8)

str_repeat — Repete uma string

Descrição

str_repeat ( string $input , int $multiplier ) : string

Retorna input repetida multiplier vezes.

Parâmetros

input

A string a ser repetida.

multiplier

Número de vezes que a string input será repetida.

multiplier deve ser maior ou igual a 0. Se o parâmetro multiplier for 0, a função irá retornar uma string vazia.

Valor Retornado

Retorna a string repetida.

Exemplos

Exemplo #1 Exemplo da str_repeat()

<?php
echo str_repeat("-=", 10);
?>

O exemplo acima irá imprimir:

-=-=-=-=-=-=-=-=-=-=

Veja Também

  • for
  • str_pad() - Preenche uma string para um certo tamanho com outra string
  • substr_count() - Conta o número de ocorrências de uma substring


Substitui todas as ocorrências da string de procura com a string de substituição

  • « str_repeat
  • str_rot13 »
  • PHP Manual
  • Funções para String
  • Substitui todas as ocorrências da string de procura com a string de substituição

str_replace

(PHP 4, PHP 5, PHP 7, PHP 8)

str_replace — Substitui todas as ocorrências da string de procura com a string de substituição

Descrição

str_replace ( mixed $search , mixed $replace , mixed $subject , int &$count = ? ) : mixed

Esta função retorna uma string ou um array com todas as ocorrências de search em subject substituídas com o valor dado para replace.

Se você não precisa de regras de substituição especiais (como expressões regulares), você sempre poderia usar esta função ao invés de ereg_replace() ou preg_replace().

Parâmetros

Se search e replace são arrays, então str_replace() pega o valor de cada array e os usa para fazer a pesquisa e a substituição em subject. Se replace tem menos valores do que search, então uma string vazia é usada para o restante dos valores de substituição. Se search é um array e replace é uma string, então esta string de substituição é usada para cada valor de search. O contrário não faria sentido, contudo.

Se search ou replace são arrays, seus elementos são processados do primeiro ao último.

search

replace

subject

Se subject é um array, então a pesquisa e a substituição é executada com cada entrada de subject, e o valor de retorno é um array também.

count

Nota: Se passado, guardará o número de combinações e modificações feitas.

Valor Retornado

Esta função retorna uma string ou um array com os valores modificados.

Changelog

Versão | Descrição
5.0.0 | O parâmetro count foi adicionado.
4.3.3 | O comportamento desta função foi modificado. Em antigas versões um bug existia ao se usar arrays em ambos os parâmetros search e replace que causava índices de search vazios para serem pulados sem avançar o apontador interno no array replace. Isto foi corrigido no PHP 4.3.3, quaisquer scripts que contavam com este bug removeriam valores de pesquisa vazios anteriores à chamada desta função afim de imitar o comportamento original.
4.0.5 | Mais parâmetros podem agora ser um array.

Exemplos

Exemplo #1 Exemplos da str_replace()

<?php
// Fornece: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");

// Fornece: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

// Fornece: você comeria pizza, cerveja e sorvete todos os dias
$frase  = "você comeria frutas, vegetais, e fibra todos os dias.";
$saudavel = array("frutas", "vegetais", "fibra");
$saboroso   = array("pizza", "cerveja", "sorvete");

$novafrase = str_replace($saudavel, $saboroso, $frase);

// Uso do parâmetro count está disponível no PHP 5.0.0
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count; // 2

// Order of replacement
$str     = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order   = array("\r\n", "\n", "\r");
$replace = '<br />';
// Processes \r\n's first so they aren't converted twice.
$newstr = str_replace($order, $replace, $str);

// Outputs: apearpearle pear
$letters = array('a', 'p');
$fruit   = array('apple', 'pear');
$text    = 'a p';
$output  = str_replace($letters, $fruit, $text);
echo $output;
?>

Notas

Nota: Esta função é binary-safe.

Nota:

Esta função é case-sensitive. Use str_ireplace() para substituição case-insensitive.

Veja Também

  • str_ireplace() - Versão que não diferencia maiúsculas e minúsculas de str_replace.
  • substr_replace() - Substitui o texto dentro de uma parte de uma string
  • preg_replace() - Realiza uma pesquisa por uma expressão regular e a substitui.
  • strtr() - Traduz certos caracteres


Executa a transformação rot13 em uma string

  • « str_replace
  • str_shuffle »
  • PHP Manual
  • Funções para String
  • Executa a transformação rot13 em uma string

str_rot13

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

str_rot13 — Executa a transformação rot13 em uma string

Descrição

str_rot13 ( string $str ) : string

Executa a codificação ROT13 no argumento str e retorna a string resultante.

A codificação ROT13 simplesmente troca cada letra por 13 lugares no alfabeto, enquanto não muda os caracteres não-alfa. Codificação e decodificação são feitos pela mesma função, passando uma string codificada como argumento retornará a string com a versão original.

Parâmetros

str

A string de entrada.

Valor Retornado

Retorna a versão ROT13 de uma dada string.

Exemplos

Exemplo #1 Exemplo da str_rot13()

<?php

echo str_rot13('PHP 4.3.0'); // CUC 4.3.0

?>

Changelog

Versão | Descrição
4.3.0 | O comportamento desta função foi reparado. Antes disso, o str foi também modificado, como se fosse por referência.


Mistura uma string aleatoriamente

  • « str_rot13
  • str_split »
  • PHP Manual
  • Funções para String
  • Mistura uma string aleatoriamente

str_shuffle

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

str_shuffle — Mistura uma string aleatoriamente

Descrição

str_shuffle ( string $str ) : string

str_shuffle() mistura uma string. Uma permutação de todas as possibilidades é criada.

Parâmetros

str

A string de entrada.

Valor Retornado

Retorna a string misturada.

Exemplos

Exemplo #1 Exemplo da str_shuffle()

<?php
$str = 'abcdef';
$misturada = str_shuffle($str);

// Isto exibirá algo como: bfdaec
echo $misturada;
?>

Veja Também

  • shuffle() - Mistura os elementos de um array
  • rand() - Gera um inteiro aleatório


Converte uma string para um array

  • « str_shuffle
  • str_starts_with »
  • PHP Manual
  • Funções para String
  • Converte uma string para um array

str_split

(PHP 5, PHP 7, PHP 8)

str_split — Converte uma string para um array

Descrição

str_split ( string $string , int $split_length = ? ) : array

Converte uma string em um array.

Parâmetros

string

A string de entrada.

split_length

Tamanho máximo do pedaço.

Valor Retornado

Se o parâmetro opcional split_length for especificado, o array retornado será quebrado em pedaços com cada um estando com split_length de comprimento, caso contrário cada pedaço terá um caractere de comprimento.

false é retornado se split_length é menor do que 1. Se o comprimento split_length escede o comprimento da string, a string inteira é retornada como o primeiro(e único) elemento do array.

Exemplos

Exemplo #1 Exemplo utilizando str_split()

<?php

$str = "Hello Friend";

$arr1 = str_split($str);
$arr2 = str_split($str, 3);

print_r($arr1);
print_r($arr2);

?>

O exemplo acima irá imprimir:

Array
(
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => F
    [7] => r
    [8] => i
    [9] => e
    [10] => n
    [11] => d
)

Array
(
    [0] => Hel
    [1] => lo
    [2] => Fri
    [3] => end
)

Veja Também

  • chunk_split() - Divide uma string em pequenos pedaços
  • preg_split() - Divide a string por uma expressão regular
  • explode() - Divide uma string em strings
  • count_chars() - Retorna informações sobre os caracteres usados numa string
  • str_word_count() - Retorna informação sobre as palavras usadas em uma string
  • for


Checks if a string starts with a given substring

  • « str_split
  • str_word_count »
  • PHP Manual
  • Funções para String
  • Checks if a string starts with a given substring

str_starts_with

(PHP 8)

str_starts_with — Checks if a string starts with a given substring

Descrição

str_starts_with ( string $haystack , string $needle ) : bool

Performs a case-sensitive check indicating if haystack begins with needle.

Parâmetros

haystack

The string to search in.

needle

The substring to search for in the haystack.

Valor Retornado

Returns true if haystack begins with needle, false otherwise.

Exemplos

Exemplo #1 Using the empty string ''

<?php
if (str_starts_with('abc', '')) {
    echo "All strings start with the empty string";
}
?>

O exemplo acima irá imprimir:

All strings start with the empty string

Exemplo #2 Showing case-sensitivity

<?php
$string = 'The lazy fox jumped over the fence';

if (str_starts_with($string, 'The')) {
    echo "The string starts with 'The'\n";
}

if (str_starts_with($string, 'the')) {
    echo 'The string starts with "the"';
} else {
    echo '"the" was not found because the case does not match';
}

?>

O exemplo acima irá imprimir:

The string starts with 'The'
"the" was not found because the case does not match

Notas

Nota: Esta função é binary-safe.

Veja Também

  • str_contains() - Determine if a string contains a given substring
  • str_ends_with() - Checks if a string ends with a given substring
  • stripos() - Encontra a primeira ocorrencia de uma string sem diferenciar maiúsculas e minúsculas
  • strrpos() - Encontra a posição da última ocorrência de um caractere em uma string
  • strripos() - Encontra a posição da última ocorrência de uma string case-insensitive em uma string
  • strstr() - Encontra a primeira ocorrencia de uma string
  • strpbrk() - Procura na string por um dos caracteres de um conjunto
  • substr() - Retorna uma parte de uma string
  • preg_match() - Perform a regular expression match


Retorna informação sobre as palavras usadas em uma string

  • « str_starts_with
  • strcasecmp »
  • PHP Manual
  • Funções para String
  • Retorna informação sobre as palavras usadas em uma string

str_word_count

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

str_word_count — Retorna informação sobre as palavras usadas em uma string

Descrição

str_word_count ( string $string , int $format = ? , string $charlist = ? ) : mixed

Conta o número de palavras dentro de string. Se o format opcional não é especificado, então o valor de retorno será um inteiro representando o número de palavras encontrado. No caso de o format estar especificado, o valor de retorno será um array, cujo conteúdo é dependente do format. O valor possível para o format e as saídas resultantes são listadas abaixo.

Devido ao propósito desta função, 'word' é definida como uma string dependente da localidade contendo caracteres alfanuméricos, que também podem contr, mas não iniciar com os caracteres "'" and "-".

Parâmetros

string

A string

format

Especifica o valor de retorno desta função. Os valores atualmente suportados são:

  • 0 - retorna o número de palavras encontradas
  • 1 - retorna um array contendo todas as palavras encontradas dentro de string
  • 2 - retorna um array associativo, onde a chave é a posição numérica da palavra dentro da string e o valor é a própria palavra.

charlist

Uma lista de caracteres adicionais que serão considerados como 'palavra'.

Valor Retornado

Retorna um array ou um inteiro, dependendo do format escolhido.

Exemplos

Exemplo #1 Um exemplo da str_word_count()

<?php

$str = "Hello fri3nd, you're
        looking          good today!";

print_r(str_word_count($str, 1));
print_r(str_word_count($str, 2));
print_r(str_word_count($str, 1, 'àáãç3'));

echo str_word_count($str);

?>

O exemplo acima irá imprimir:

Array
(
    [0] => Hello
    [1] => fri
    [2] => nd
    [3] => you're
    [4] => looking
    [5] => good
    [6] => today
)

Array
(
    [0] => Hello
    [6] => fri
    [10] => nd
    [14] => you're
    [29] => looking
    [46] => good
    [51] => today
)

Array
(
    [0] => Hello
    [1] => fri3nd
    [2] => you're
    [3] => looking
    [4] => good
    [5] => today
)

Veja Também

  • explode() - Divide uma string em strings
  • preg_split() - Divide a string por uma expressão regular
  • split() - Separa strings em array utilizando expressões regulares
  • count_chars() - Retorna informações sobre os caracteres usados numa string
  • substr_count() - Conta o número de ocorrências de uma substring


Comparação de strings sem diferenciar maiúsculas e minúsculas segura para binário

  • « str_word_count
  • strchr »
  • PHP Manual
  • Funções para String
  • Comparação de strings sem diferenciar maiúsculas e minúsculas segura para binário

strcasecmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strcasecmp — Comparação de strings sem diferenciar maiúsculas e minúsculas segura para binário

Descrição

strcasecmp ( string $str1 , string $str2 ) : int

Retorna < 0 se str1 é menor do que str2; > 0 se str1 é maior do que str2, e 0 se forem iguais.

Exemplo #1 Exemplo strcasecmp()

<?php
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
    echo '$var1 é igual a $var2 numa comparação sem diferenciar maiúsculas e minúsculas';
}
?>

Veja também ereg(), strcmp(),
substr(), stristr(),
strncasecmp() e
strstr().


Sinônimo de strstr

  • « strcasecmp
  • strcmp »
  • PHP Manual
  • Funções para String
  • Sinônimo de strstr

strchr

(PHP 4, PHP 5, PHP 7, PHP 8)

strchr — Sinônimo de strstr()

Descrição

Esta função é um apelido para: strstr().


Comparação de string segura para binário

  • « strchr
  • strcoll »
  • PHP Manual
  • Funções para String
  • Comparação de string segura para binário

strcmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strcmp — Comparação de string segura para binário

Descrição

strcmp ( string $str1 , string $str2 ) : int

Retorna < 0 se str1 é menor do que str2; > 0 se str1 é maior do que str2, e 0 se forem iguais.

Note que esta função diferencia maiúsculas e minúsculas.

Veja também ereg(),
strcasecmp(), substr(),
stristr(), strncasecmp(),
strncmp(), e strstr().


Comparação de string baseada no local

  • « strcmp
  • strcspn »
  • PHP Manual
  • Funções para String
  • Comparação de string baseada no local

strcoll

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

strcoll — Comparação de string baseada no local

Descrição

strcoll ( string $str1 , string $str2 ) : int

Retorna < 0 se str1 é menor do que str2; > 0 se str1 é maior do que str2, e 0 se forem iguais. strcoll() usa o local atual para fazer as comparações. Se o local atual for C ou POSIX, esta função é equivalente à strcmp().

Note que esta função diferencia maiúsculas e minúsculas, e diferentemente de strcmp() esta função não é segura para binário.

Nota:

strcoll() foi adicionada no PHP 4.0.5, mas não foi ativada para o win32 até 4.2.3.

Veja também ereg(), strcmp(),
strcasecmp(), substr(),
stristr(), strncasecmp(),
strncmp(), strstr(), e
setlocale().


Encontra o tamanho do segmento inicial que não contenha a máscara

  • « strcoll
  • strip_tags »
  • PHP Manual
  • Funções para String
  • Encontra o tamanho do segmento inicial que não contenha a máscara

strcspn

(PHP 4, PHP 5, PHP 7, PHP 8)

strcspn — Encontra o tamanho do segmento inicial que não contenha a máscara

Descrição

strcspn ( string $str1 , string $str2 , int $start = ? , int $length = ? ) : int

Retorna o tamanho do segmento inicial de str1 que não contém nenhum dos caracteres em str2.

Parâmetros

str1

A primeira string.

str2

A segunda string.

start

A posição inicial da string.

length

O tamanho da string.

Valor Retornado

Retorna o tamanho do segmento como um inteiro.

Changelog

Versão | Descrição
4.3.0 | O start e length foram adicionados

Notas

Nota: Esta função é binary-safe.

Veja Também

  • strspn() - Encontra o comprimento do segmento inicial combinando com a máscara


Retira as tags HTML e PHP de uma string

  • « strcspn
  • stripcslashes »
  • PHP Manual
  • Funções para String
  • Retira as tags HTML e PHP de uma string

strip_tags

(PHP 4, PHP 5, PHP 7, PHP 8)

strip_tags — Retira as tags HTML e PHP de uma string

Descrição

strip_tags ( string $str , string $allowable_tags = ? ) : string

Esta função tenta retornar uma string retirando todas as tags HTML e PHP de str. Usa o mesmo sistema para retirar as tags do que fgetss().

Parâmetros

str

A string de entrada.

allowable_tags

Você pode utilizar o segundo parâmetro, que é opcional, para indicar tags que não devam ser retiradas.

Nota:

Comentários HTML e tags PHP também são retirados. E isto não pode ser modificado com allowable_tags.

Valor Retornado

Retorna a string modificada.

Changelog

Versão | Descrição
5.0.0 | strip_tags() tornou-se binary safe
4.3.0 | Comentários HTML são sempre retirados
4.0.0 | O parâmetro allowable_tags foi adicionado

Exemplos

Exemplo #1 Exemplo strip_tags()

<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";

// Allow <p> and <a>
echo strip_tags($text, '<p><a>');
?>

O exemplo acima irá imprimir:

Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>

Notas

Aviso

Por strip_tags() atualmente não validar o HTML, parcial, ou tags quebradas podem resultar na remoção de mais texto/dados que o esperado.

Aviso

Esta função não modifica nenhum dos atributos das tags que você permitiu usando allowable_tags, incluindo os atributos style e onmouseover que um usuário travesso pode abusar quando colocar texto a ser mostrado para os outros usuários.

Veja Também

  • htmlspecialchars() - Converte caracteres especiais para a realidade HTML


Desfaz o efeito de addcslashes

  • « strip_tags
  • stripos »
  • PHP Manual
  • Funções para String
  • Desfaz o efeito de addcslashes

stripcslashes

(PHP 4, PHP 5, PHP 7, PHP 8)

stripcslashes — Desfaz o efeito de addcslashes()

Descrição

stripcslashes ( string $str ) : string

Retorna uma string com as barras invertidas retiradas. Reconhece estilo C \n, \r ..., representação octal e hexadecimal.

Parâmetros

str

A string para remover os escapes.

Valor Retornado

Retorna a string com escapes retirados.

Veja Também

  • addcslashes() - String entre aspas com barras no estilo C


Encontra a primeira ocorrencia de uma string sem diferenciar maiúsculas e minúsculas

  • « stripcslashes
  • stripslashes »
  • PHP Manual
  • Funções para String
  • Encontra a primeira ocorrencia de uma string sem diferenciar maiúsculas e minúsculas

stripos

(PHP 5, PHP 7, PHP 8)

stripos — Encontra a primeira ocorrencia de uma string sem diferenciar maiúsculas e minúsculas

Descrição

stripos ( string $haystack , string $needle , int $offset = ? ) : int

Retorna a posição numerica da primeira ocorrencia de needle na string haystack. Diferentemente de strpos(), stripos() não diferencia maiúsculas e minúsculas.

Note que o parâmetro needle deve ser uma string de um ou mais caracteres.

Se needle não for encontrada, stripos() irá retornar boolean false.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Exemplo #1 Exemplos stripos()

<?php
$findme    = 'a';
$mystring1 = 'xyz';
$mystring2 = 'ABC';

$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);

// 'a' certamente não esta em 'xyz'
if ($pos1 === false) {
    echo "A string '$findme' não foi encontrada na string '$mystring1'";
}

// Note o nosso uso de  ===. Simples == não funcionaria como o esperado
// porque a posição de 'a' é 0 (primeiro) caractere.
if ($pos2 !== false) {
    echo "Nós encontramos '$findme' em '$mystring2' na posição $pos2";
}
?>

Se needle não é uma string, é convertida para um inteiro e aplicado o valor do caractere.

O parâmetro opcional offset permite a você especificar apartir de qual caractere em haystack a procura começa. A posição retornada ainda é relativa ao inicio de haystack.

Veja também strpos(), strrpos(),
strrchr(), substr(),
stristr(), strripos(),
strstr() e stri_replace().


Desfaz o efeito de addslashes

  • « stripos
  • stristr »
  • PHP Manual
  • Funções para String
  • Desfaz o efeito de addslashes

stripslashes

(PHP 4, PHP 5, PHP 7, PHP 8)

stripslashes — Desfaz o efeito de addslashes()

Descrição

stripslashes ( string $str ) : string

Remove barras invertidas de uma string.

Um exemplo do uso de stripslashes() é quando a diretiva do PHP magic_quotes_gpc é on (é on por padrão), e você não esta inserindo estes dados em um lugar (como um banco de dados) que precise de escapar. Por exemplo, se você esta usando estes dados para gerar um formulário HTML.

Parâmetros

str

A string de entrada.

Valor Retornado

Retorna uma string com as barras invertidas retiradas. (\' se torna ' e assim por diante.) Duas barras invertidas (\\) se tornam uma (\).

Exemplos

Exemplo #1 Exemplo stripslashes()

<?php
$str = "Seu nome é O\'reilly?";

// Mostra: Seu nome é O'reilly?
echo stripslashes($str);
?>

Nota:

stripslashes() não é recursiva. Se você quer aplicar esta função a um array multi-dimensional, você precisa usar uma função recursiva.

Exemplo #2 Usando stripslashes() em um array

<?php
function stripslashes_deep($value)
{
    $value = is_array($value) ?
                array_map('stripslashes_deep', $value) :
                stripslashes($value);

    return $value;
}

// Example
$array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar"));
$array = stripslashes_deep($array);

// Output
print_r($array);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => f'oo
    [1] => b'ar
    [2] => Array
        (
            [0] => fo'o
            [1] => b'ar
        )

)

Veja Também

  • addslashes() - Adiciona barras a uma string
  • get_magic_quotes_gpc() - Obtém a configuração atual de magic_quotes_gpc


strstr sem diferenciar maiúsculas e minúsculas

  • « stripslashes
  • strlen »
  • PHP Manual
  • Funções para String
  • strstr sem diferenciar maiúsculas e minúsculas

stristr

(PHP 4, PHP 5, PHP 7, PHP 8)

stristr — strstr() sem diferenciar maiúsculas e minúsculas

Descrição

stristr ( string $haystack , mixed $needle , bool $before_needle = ? ) : string

Retorna tudo de haystack apartir da primeira ocorrência de needle até o final.

Parâmetros

haystack

A string onde será feita a busca.

needle

Se needle não é uma string, ela é convertida para inteiro e é usado como valor ordinal do caractere.

before_needle

Se true (o padrão é false), stristr() retorna a parte de haystack antes da primeira ocorrência de needle.

needle e haystack são examinadas de uma maneira que não diferencia maiúsculas e minúsculas.

Valor Retornado

Retorna a substring encontrada. Se needle não for encontrada, retorna false.

Changelog

Versão | Descrição
5.3.0 | Adicionado o parâmetro opcional before_needle.
4.3.0 | stristr() tornou-se binary safe.

Exemplos

Exemplo #1 Exemplo da stristr()

<?php
  $email = 'USER@EXAMPLE.com';
  echo stristr($email, 'e'); // outputs ER@EXAMPLE.com
  echo stristr($email, 'e', true); // A partir do PHP 5.3.0, mostra US
?>

Exemplo #2 Testing if a string is found or not

<?php
  $string = 'Hello World!';
  if(stristr($string, 'earth') === FALSE) {
    echo '"earth" not found in string';
  }
// outputs: "earth" not found in string
?>

Exemplo #3 Using a non "string" needle

<?php
  $string = 'APPLE';
  echo stristr($string, 97); // 97 = lowercase a
// outputs: APPLE
?>

Notas

Nota: Esta função é binary-safe.

Veja Também

  • strstr() - Encontra a primeira ocorrencia de uma string
  • strrchr() - Encontra a ultima ocorrência de um caractere em uma string
  • substr() - Retorna uma parte de uma string
  • preg_match() - Perform a regular expression match


Retorna o tamanho de uma string

  • « stristr
  • strnatcasecmp »
  • PHP Manual
  • Funções para String
  • Retorna o tamanho de uma string

strlen

(PHP 4, PHP 5, PHP 7, PHP 8)

strlen — Retorna o tamanho de uma string

Descrição

strlen ( string $string ) : int

Retorna o tamanho da dada string.

Parâmetros

string

A string a ter seu tamanho contado.

Valor Retornado

O tamanho da string em sucesso, e 0 se a string é vazia.

Exemplos

Exemplo #1 Exemplo da strlen()

<?php
$str = 'abcdef';
echo strlen($str); // 6

$str = ' ab cd ';
echo strlen($str); // 7
?>

Veja Também

  • count() - Conta o número de elementos de uma variável, ou propriedades de um objeto
  • mb_strlen() - Get string length


Comparação de strings sem diferenciar maiúsculas/minúsculas usando o algoritmo "natural order"

  • « strlen
  • strnatcmp »
  • PHP Manual
  • Funções para String
  • Comparação de strings sem diferenciar maiúsculas/minúsculas usando o algoritmo "natural order"

strnatcasecmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strnatcasecmp — Comparação de strings sem diferenciar maiúsculas/minúsculas usando o algoritmo "natural order"

Descrição

strnatcasecmp ( string $str1 , string $str2 ) : int

Esta função implementa um algoritmo de comparação de strings alfanumérico do jeito que um ser humano faz. Esta função é similar a strnatcmp(), com a exeção que a comparação não diferencia maiúsculas/minúsculas. Para maiores informações veja: Martin Pool's » Natural Order String Comparison.

Similar a outras funções de comparação de string, esta aqui retorna < 0 se str1 é menor do que str2; > 0 se str1 é maior do que str2, e 0 se forem iguais.

Veja também ereg(),
strcasecmp(), substr(),
stristr(), strcmp(),
strncmp(), strncasecmp(),
strnatcmp(), e strstr().


Comparação de strings usando o algoritmo "natural order"

  • « strnatcasecmp
  • strncasecmp »
  • PHP Manual
  • Funções para String
  • Comparação de strings usando o algoritmo "natural order"

strnatcmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strnatcmp — Comparação de strings usando o algoritmo "natural order"

Descrição

strnatcmp ( string $str1 , string $str2 ) : int

Esta função implementa um algoritmo de comparação de strings alfanumérico do jeito que um ser humano faz, isto é descrito como "ordem natural". Um exemplo da diferença entre este algoritmo e os algoritmos regulares de ordenação (usado em strcmp()) pode ser visto abaixo:

<?php
$arr1 = $arr2 = array("img12.png","img10.png","img2.png","img1.png");
echo "Comparação de string padrão\n";
usort($arr1,"strcmp");
print_r($arr1);
echo "\nComparação usando ordem natural\n";
usort($arr2,"strnatcmp");
print_r($arr2);
?>
O código acima irá gerar a seguinte saída:
Comparação de string padrão
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Comparação usando ordem natural
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
Para maiores informações veja: Martin Pool's » Natural Order String Comparison

Similar a outras funções de comparação de string, esta retorna < 0 se str1 é menor do que str2; > 0 se str1 é maior do que str2, e 0 se forem iguais.

Note que esta coparação diferencia maiúsculas e minúsculas.

Veja também ereg(),
strcasecmp(), substr(),
stristr(), strcmp(),
strncmp(), strncasecmp(),
strnatcasecmp(), strstr(),
natsort() e natcasesort().


Comparação de string caso-sensitivo de Binário seguro dos primeiros n caracteres

  • « strnatcmp
  • strncmp »
  • PHP Manual
  • Funções para String
  • Comparação de string caso-sensitivo de Binário seguro dos primeiros n caracteres

strncasecmp

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

strncasecmp — Comparação de string caso-sensitivo de Binário seguro dos primeiros n caracteres

Descrição

strncasecmp ( string $str1 , string $str2 , int $len ) : int

Esta função é similar a strcasecmp(), com a diferença que você pode especificar o (o limite mais elevado de) número de caracteres de cada string para ser usado na comparação.

Parâmetros

str1

A primeira string.

str2

A segunda string.

len

O tamanho da string para ser usado na comparação.

Valor Retornado

Devolve < 0 se str1 é menor do que str2; > 0 se str1 é maior do que str2, e 0 se elas são iguais.

Veja Também

  • preg_match() - Perform a regular expression match
  • strcmp() - Comparação de string segura para binário
  • strcasecmp() - Comparação de strings sem diferenciar maiúsculas e minúsculas segura para binário
  • substr() - Retorna uma parte de uma string
  • stristr() - strstr sem diferenciar maiúsculas e minúsculas
  • strstr() - Encontra a primeira ocorrencia de uma string


Comparação de string segura para binário para os primeiros n caracteres

  • « strncasecmp
  • strpbrk »
  • PHP Manual
  • Funções para String
  • Comparação de string segura para binário para os primeiros n caracteres

strncmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strncmp — Comparação de string segura para binário para os primeiros n caracteres

Descrição

strncmp ( string $str1 , string $str2 , int $len ) : int

Esta função é similar a strcmp(), com a diferença que você pode especificar o limite superior de caracteres (len) de cada string para ser usado na comparação. Se qualquer uma das strings é menor do que len, então o tamanho desta string será usado para comparação.

Retorna < 0 se str1 é menor do que str2; > 0 se str1 é maior do que str2, e 0 se forem iguais.

Note que esta função diferencia maiúsculas e minúsculas.

Veja também ereg(),
strncasecmp(),
strcasecmp(), substr(),
stristr(), strcmp(), e
strstr().


Procura na string por um dos caracteres de um conjunto

  • « strncmp
  • strpos »
  • PHP Manual
  • Funções para String
  • Procura na string por um dos caracteres de um conjunto

strpbrk

(PHP 5, PHP 7, PHP 8)

strpbrk — Procura na string por um dos caracteres de um conjunto

Descrição

strpbrk ( string $haystack , string $char_list ) : string

strpbrk() busca na string haystack por uma char_list.

Parâmetros

haystack

A string onde char_list irá verificar.

char_list

Este parâmetro é case sensitive.

Valor Retornado

Retorna uma string iniciando do caractere encontrado, ou false se ele não é encontrado.

Exemplos

Exemplo #1 Exemplo da strpbrk()

<?php

$text = 'This is a Simple text.';

// this echoes "is is a Simple text." because 'i' is matched first
echo strpbrk($text, 'mi');

// this echoes "Simple text." because chars are case sensitive
echo strpbrk($text, 'S');
?>


Encontra a posição da primeira ocorrência de uma string

  • « strpbrk
  • strrchr »
  • PHP Manual
  • Funções para String
  • Encontra a posição da primeira ocorrência de uma string

strpos

(PHP 4, PHP 5, PHP 7, PHP 8)

strpos — Encontra a posição da primeira ocorrência de uma string

Descrição

strpos ( string $haystack , string $needle , int $offset = ? ) : int

Retorna a posição numérica da primeira ocorrência de needle dentro de haystack. Diferentemente de strrpos(), esta função pode ter uma string inteira como o parâmetro needle e toda a string será usada.

Se needle não for encontrado, strpos() irá retornar o boolean false.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Exemplo #1 Exemplos strpos()

<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// Note o uso de ===.  Simples == não funcionaria como esperado
// por causa da posição de 'a' é 0 (primeiro) caractere.
if ($pos === false) {
    echo "A string '$findme' não foi encontrada na string '$mystring'";
} else {
    echo "A string '$findme' foi encontrada na string '$mystring'";
    echo " e existe na posição $pos";
}

?>

Se o parâmetro needle não é uma string, é convertido para um inteiro e aplicado o valor do caractere.

O parâmetro opcional offset permite a você definir a partir de qual caractere em haystack iniciar a busca. A posição retorna ainda é relativa ao inicio de haystack.

Veja também strrpos(),
strrchr(), substr(),
stristr(), e strstr().


Encontra a ultima ocorrência de um caractere em uma string

  • « strpos
  • strrev »
  • PHP Manual
  • Funções para String
  • Encontra a ultima ocorrência de um caractere em uma string

strrchr

(PHP 4, PHP 5, PHP 7, PHP 8)

strrchr — Encontra a ultima ocorrência de um caractere em uma string

Descrição

strrchr ( string $haystack , char $needle ) : string

Esta função retorna a parte de haystack que inicia na última ocorrência de needle e vai até o fim de haystack.

Retorna false se needle não for encontrado.

Se needle conter mais de um caractere, apenas o primeiro é usado. Isto é diferente da função strchr().

Se needle não for uma string, é convertido para uma string e é aplicado o valor do caractere.

Exemplo #1 Exemplo strrchr()

<?php
// get last directory in $PATH
$dir = substr(strrchr($PATH, ":"), 1);

// get everything after last newline
$text = "Line 1\nLine 2\nLine 3";
$last = substr(strrchr($text, 10), 1 );
?>

Veja também strchr(), substr(), stristr() e strstr().


Reverte uma string

  • « strrchr
  • strripos »
  • PHP Manual
  • Funções para String
  • Reverte uma string

strrev

(PHP 4, PHP 5, PHP 7, PHP 8)

strrev — Reverte uma string

Descrição

strrev ( string $string ) : string

Retorna a string revertida.

Parâmetros

string

A string a ser revertida.

Valor Retornado

Retorna a string revertida.

Exemplos

Exemplo #1 Revertendo uma string strrev()

<?php
echo strrev("Hello world!"); // mostra "!dlrow olleH"
?>


Encontra a posição da última ocorrência de uma string case-insensitive em uma string

  • « strrev
  • strrpos »
  • PHP Manual
  • Funções para String
  • Encontra a posição da última ocorrência de uma string case-insensitive em uma string

strripos

(PHP 5, PHP 7, PHP 8)

strripos — Encontra a posição da última ocorrência de uma string case-insensitive em uma string

Descrição

strripos ( string $haystack , string $needle , int $offset = ? ) : int

Encontra a posição numérica da última ocorrência de needle na string haystack. Diferente de strrpos(), strripos() é case-insensitive.

Parâmetros

haystack

A string para procurar

needle

Note que a needle pode ser uma string de um ou mais caracteres.

offset

O parâmetro offset pode ser especificado para iniciar a busca em um arbitrário número de caracteres na string.

Um valor negativo iniciará a busca em offset caracteres do start da string.

Valor Retornado

Retorna a posição numérica da última ocorrência de needle. Note também que posições da string inicia em 0, e não 1.

Se needle não é encontrado, false é retornado.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Exemplos

Exemplo #1 Um simples exemplo da strripos()

<?php
$haystack = 'ababcd';
$needle   = 'aB';

$pos      = strripos($haystack, $needle);

if ($pos === false) {
    echo "Sinto muito, nós não encontramos ($needle) em ($haystack)";
} else {
    echo "Parabéns!\n";
    echo "Nós encontramos a última ($needle) em ($haystack) na posição ($pos)";
}
?>

O exemplo acima irá imprimir:

   Congratulations!
   We found the last (aB) in (ababcd) at position (2)

Veja Também

  • strpos() - Encontra a posição da primeira ocorrência de uma string
  • stripos() - Encontra a primeira ocorrencia de uma string sem diferenciar maiúsculas e minúsculas
  • strrchr() - Encontra a ultima ocorrência de um caractere em uma string
  • substr() - Retorna uma parte de uma string
  • stristr() - strstr sem diferenciar maiúsculas e minúsculas
  • strstr() - Encontra a primeira ocorrencia de uma string


Encontra a posição da última ocorrência de um caractere em uma string

  • « strripos
  • strspn »
  • PHP Manual
  • Funções para String
  • Encontra a posição da última ocorrência de um caractere em uma string

strrpos

(PHP 4, PHP 5, PHP 7, PHP 8)

strrpos — Encontra a posição da última ocorrência de um caractere em uma string

Descrição

strrpos ( string $haystack , string $needle , int $offset = ? ) : int

Retorna a posição numérica da última ocorrência de needle na string haystack. Note que a needle neste caso pode apenas ser um simples caractere PHP 4. Se uma string é passada como a needle, então apenas o primeiro caractere dessa string será usado.

Se needle não é encontrado, retorna false.

É fácil errar a interpretação dos valores de retorno para "character found at position 0" e "character not found". Aqui segue um exemplo de como detectar a diferença:

<?php

// no PHP 4.0.0 e posterior:
$pos = strrpos($mystring, "b");
if ($pos === false) { // note: três sinais iguais
    // não encontrado...
}

// em versões mais antigas do que 4.0.0:
$pos = strrpos($mystring, "b");
if (is_bool($pos) && !$pos) {
    // não encontrado...
}
?>

Se needle não é uma string, ela é convertida para um inteiro e aplicada como o valor ordinal de um caractere.

Nota: No PHP 5.0.0 o offset pode ser especificado para iniciar a busca num número arbitrário de caracteres dentro da string. Valores negativos irão parar a busca em um ponto arbitrário antes do final da string.

Nota: A needle pode ser uma string de mais de um caractere no PHP 5.

Parâmetros

haystack

needle

offset

Valor Retornado

Veja Também

  • strpos() - Encontra a posição da primeira ocorrência de uma string
  • strripos() - Encontra a posição da última ocorrência de uma string case-insensitive em uma string
  • strrchr() - Encontra a ultima ocorrência de um caractere em uma string
  • substr() - Retorna uma parte de uma string
  • stristr() - strstr sem diferenciar maiúsculas e minúsculas
  • strstr() - Encontra a primeira ocorrencia de uma string


Encontra o comprimento do segmento inicial combinando com a máscara

  • « strrpos
  • strstr »
  • PHP Manual
  • Funções para String
  • Encontra o comprimento do segmento inicial combinando com a máscara

strspn

(PHP 4, PHP 5, PHP 7, PHP 8)

strspn — Encontra o comprimento do segmento inicial combinando com a máscara

Descrição

strspn ( string $str1 , string $str2 , int $start = ? , int $length = ? ) : int

Encontra o comprimento do segmento inicial combinando com a máscara.

A linha do código:

<?php
$var = strspn("42 is the answer, what is the question ...", "1234567890");
?>
atribuirá 2 para $var, porque a string "42" será o maior segmento contendo caracteres de "1234567890".

Parâmetros

str1

A primeira string.

str2

A segunda string.

start

A posição inicial da string para examinar. Valor negativo conta posição do final da string.

length

O tamanho da string para examinar. Valor negativo define tamanho do final de uma string.

Valor Retornado

Retorna o comprimento do segmento inicial de str1 que consiste inteiramente dos caracteres em str2.

Changelog

Versão | Descrição
4.3.0 | Os parâmetros start e length foram adicionados

Exemplos

Exemplo #1 Exemplo da strspn()

<?php
echo strspn("foo", "o", 1, 2); // 2
?>

Notas

Nota: Esta função é binary-safe.

Veja Também

  • strcspn() - Encontra o tamanho do segmento inicial que não contenha a máscara


Encontra a primeira ocorrencia de uma string

  • « strspn
  • strtok »
  • PHP Manual
  • Funções para String
  • Encontra a primeira ocorrencia de uma string

strstr

(PHP 4, PHP 5, PHP 7, PHP 8)

strstr — Encontra a primeira ocorrencia de uma string

Descrição

strstr ( string $haystack , mixed $needle , bool $before_needle = ? ) : string

Retorna parte da string haystack a partir da primeira ocorrência de needle até o final de haystack.

Nota:

Esta função diferencia maiúsculas e minúsculas. Para pesquisas que não diferenciem, use stristr().

Nota:

Se você quer somente determinar se um específica needle existem em haystack, use a função mais rápida e que usa menos memória ao invés, strpos().

Parâmetros

haystack

A string de entrada.

needle

Se needle não é uma string, é convertido para um inteiro e aplicado como valor ordinal de um caractere.

before_needle

Se true (o padrão é false), strstr() retorna a parte de haystack antes da primeira ocorrência de needle.

Valor Retornado

Retorna a parte da string, ou false se needle não é encontrado.

Changelog

Versão | Descrição
5.3.0 | Adicionado o parâmetro opcional before_needle.
4.3.0 | strstr() tornou-se binary safe.

Exemplos

Exemplo #1 Exemplo da strstr()

<?php
$email  = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // prints @example.com

$user = strstr($email, '@', true); // A partir do PHP 5.3.0
echo $user; // prints name
?>

Veja Também

  • preg_match() - Perform a regular expression match
  • stristr() - strstr sem diferenciar maiúsculas e minúsculas
  • strpos() - Encontra a posição da primeira ocorrência de uma string
  • strrchr() - Encontra a ultima ocorrência de um caractere em uma string
  • substr() - Retorna uma parte de uma string


Tokeniza uma string

  • « strstr
  • strtolower »
  • PHP Manual
  • Funções para String
  • Tokeniza uma string

strtok

(PHP 4, PHP 5, PHP 7, PHP 8)

strtok — Tokeniza uma string

Descrição

strtok ( string $str , string $token ) : string

strtok() divide uma string (str) em strings menores (tokens), com cada token sendo delimitado por qualquer caractere de token. Quer dizer que, se você tem uma string como "Esta é uma string de exemplo" você poderia "tokenizá-la" em suas palavras individuais usando o caractere de espaço como delimitador do token.

Note que só a primeira chamada a strtok usa o argumento string. Cada chamada subseqüente a strtok só precisa do delimitador a ser usado, já que ele mantém o caminho de onde ele está na string atual. Para iniciar novamente, ou tokenizar uma nova string você simplesmente chama strtok com o argumento de string novamente para inicializá-la. Veja que você pode por múltiplos delimitadores como parâmetro. A string será tokenizada quando um dos caracteres no argumento são encontrados.

Parâmetros

str

A string a ser repartida em pequenos pedaços (tokens).

token

O delimitador usado para repatir a str.

Valor Retornado

Uma string de token.

Exemplos

Exemplo #1 Exemplo da strtok()

<?php
$string = "This is\tan example\nstring";
/* Use tab e newline como caractere delimitador, que funciona bem  */
$tok = strtok($string," \n\t");

while ($tok !== false) {
    echo "Word=$tok<br/>";
    $tok = strtok(" \n\t");
}
?>

O comportamento quando uma parte vazia foi encontrada mudou com o PHP 4.1.0. O antigo comportamento retornava uma string vazia, enquanto a nova, a correta, simplesmente pula a parte da string:

Exemplo #2 Comportamento antigo da strtok()

<?php
$first_token  = strtok('/something', '/');
$second_token = strtok('/');
var_dump ($first_token, $second_token);
?>

O exemplo acima irá imprimir:

    string(0) ""
    string(9) "something"

Exemplo #3 Novo comportamento da strtok()

<?php
$first_token  = strtok('/something', '/');
$second_token = strtok('/');
var_dump ($first_token, $second_token);
?>

O exemplo acima irá imprimir:

    string(9) "something"
    bool(false)

Notas

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Veja Também

  • split() - Separa strings em array utilizando expressões regulares
  • explode() - Divide uma string em strings


Converte uma string para minúsculas

  • « strtok
  • strtoupper »
  • PHP Manual
  • Funções para String
  • Converte uma string para minúsculas

strtolower

(PHP 4, PHP 5, PHP 7, PHP 8)

strtolower — Converte uma string para minúsculas

Descrição

strtolower ( string $str ) : string

Retorna string com todos os caracteres do alfabeto convertidos para minúsculas.

Note que os caracteres do alfabeto é determinado pelo local atual. Isto indica que no local padrão "C", caracteres como A com trema (ä) não serão convertidos.

Parâmetros

str

A string de entrada.

Valor Retornado

Retorna a string minúscula.

Exemplos

Exemplo #1 Exemplo da strtolower()

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtolower($str);
print $str; // Prints mary had a little lamb and she loved it so
?>

Notas

Nota: Esta função é binary-safe.

Veja Também

  • strtoupper() - Converte uma string para maiúsculas
  • ucfirst() - Converte para maiúscula o primeiro caractere de uma string
  • ucwords() - Converte para maiúsculas o primeiro caractere de cada palavra
  • mb_strtolower() - Torna uma string minúscula


Converte uma string para maiúsculas

  • « strtolower
  • strtr »
  • PHP Manual
  • Funções para String
  • Converte uma string para maiúsculas

strtoupper

(PHP 4, PHP 5, PHP 7, PHP 8)

strtoupper — Converte uma string para maiúsculas

Descrição

strtoupper ( string $string ) : string

Retorna string com todos os caracteres do alfabeto convertidos para maiúsculas.

Note que os caracteres do alfabeto é determinado pelo local atual. Isto indica que no local padrão "C", caracteres como A com trema (ä) não serão convertidos.

Parâmetros

string

A string de entrada.

Valor Retornado

Retorna a string maiúscula.

Exemplos

Exemplo #1 Exemplo da strtoupper()

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtoupper($str);
print $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>

Notas

Nota: Esta função é binary-safe.

Veja Também

  • strtolower() - Converte uma string para minúsculas
  • ucfirst() - Converte para maiúscula o primeiro caractere de uma string
  • ucwords() - Converte para maiúsculas o primeiro caractere de cada palavra
  • mb_strtoupper() - Make a string uppercase


Traduz certos caracteres

  • « strtoupper
  • substr_compare »
  • PHP Manual
  • Funções para String
  • Traduz certos caracteres

strtr

(PHP 4, PHP 5, PHP 7, PHP 8)

strtr — Traduz certos caracteres

Descrição

strtr ( string $str , string $from , string $to ) : string
strtr ( string $str , array $replace_pairs ) : string

Esta função retorna uma cópia de str, traduzindo todas as ocorrências de cada caractere em from para o caractere correspondente em to.

Se from e to são de comprimentos diferentes, os caracteres extras no mais longo dos dois são ignorados.

Parâmetros

str

A string a ser traduzida.

from

A string a ser traduzida por to.

to

A string substituta de from.

replace_pairs

O parâmetro replace_pairs pode ser usado como um substituto para to e from no caso dele ser um array na forma array('from' => 'to', ...).

Valor Retornado

Esta função retorna uma cópia de str, traduzindo todas ocorrências de cada caractere em from para correspondentes caracteres em to.

Changelog

Versão | Descrição
4.0.0 | Os parâmetros to e from foram adicionados.

Exemplos

Exemplo #1 Exemplo da strtr()

<?php
$addr = strtr($addr, "äåö", "aao");
?>

strtr() pode ser chamada com apenas dois argumentas. Se chamada com dois argumentos ele se comporta de uma maneira nova: from então tem que ser um array que contém string -> pares de string que serão substituídas na string original. strtr() sempre procurará pela primeira maior compatibilidade possível e *não* tentará substituir nada que ela já tenha trabalhado.

Exemplo #2 strtr() exemplo com dois argumentos

<?php
$trans = array("hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);
?>

O exemplo acima irá imprimir:

hello all, I said hi

Veja Também

  • ereg_replace() - Substituição com expressões regulares


A comparação binária entre duas strings de um offset até o limite do comprimento de caracteres

  • « strtr
  • substr_count »
  • PHP Manual
  • Funções para String
  • A comparação binária entre duas strings de um offset até o limite do comprimento de caracteres

substr_compare

(PHP 5, PHP 7, PHP 8)

substr_compare — A comparação binária entre duas strings de um offset até o limite do comprimento de caracteres

Descrição

substr_compare ( string $main_str , string $str , int $offset , int $length = ? , bool $case_insensitivity = false ) : int

substr_compare() compara main_str da posição offset com str até length caracteres.

Parâmetros

main_str

A string principal a ser comparada.

str

A segunda string a ser comparada.

offset

A posição inicial para a comparação. Se negativo, inicia contando da final da string.

length

O comprimento da comparação. O valor padrão é o maior comprimento entre o comprimento de str comparado com o comprimento de main_str menos o offset.

case_insensitivity

Se case_insensitivity é true, a comparação é case insensitive.

Valor Retornado

Retorna < 0 se main_str da posição offset em diante é menor que str, > 0 se ela é maior que str, e 0 se elas são iguais. Se offset é igual ou maior que o comprimento de main_str e length é setado e é menor que 1, (até PHP 5.6)substr_compare() dispara um warning e retorna false.

Changelog

Versão | Descrição
7.2.18, 7.3.5 | offset may now be equal to the length of main_str.

Exemplos

Exemplo #1 Exemplo da substr_compare()

<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "de", -2, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // warning
?>

Veja Também

  • strncmp() - Comparação de string segura para binário para os primeiros n caracteres


Conta o número de ocorrências de uma substring

  • « substr_compare
  • substr_replace »
  • PHP Manual
  • Funções para String
  • Conta o número de ocorrências de uma substring

substr_count

(PHP 4, PHP 5, PHP 7, PHP 8)

substr_count — Conta o número de ocorrências de uma substring

Descrição

substr_count ( string $haystack , string $needle , int $offset = ? , int $length = ? ) : int

substr_count() retorna o número de vezes que a substring needle ocorre na string. Note que needle faz distinção de maiúscula e minúscula.

Nota:

Esta função não conta substrings sobrepostas. Veja o exemplo abaixo!

Parâmetros

haystack

A string onde será feita a busca

needle

A substring a ser procurada

offset

O índice onde inicia a contagem

length

O valor máximo depois do índice especificado para buscar pela substring. Mostra um aviso se o tamanho do índice for maior que o tamanho de haystack.

Valor Retornado

Esta função retorna um integer.

Changelog

Versão | Descrição
7.1.0 | Support for negative offsets and lengths has been added. length may also be 0 now.

Exemplos

Exemplo #1 Exemplo da substr_count()

<?php
$text = 'This is a test';
echo strlen($text); // 14

echo substr_count($text, 'is'); // 2

// the string is reduced to 's is a test', so it prints 1
echo substr_count($text, 'is', 3);

// the text is reduced to 's i', so it prints 0
echo substr_count($text, 'is', 3, 3);

// generates a warning because 5+10 > 14
echo substr_count($text, 'is', 5, 10);

// prints only 1, because it doesn't count overlapped subtrings
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
?>

Veja Também

  • count_chars() - Retorna informações sobre os caracteres usados numa string
  • strpos() - Encontra a posição da primeira ocorrência de uma string
  • substr() - Retorna uma parte de uma string
  • strstr() - Encontra a primeira ocorrencia de uma string


Substitui o texto dentro de uma parte de uma string

  • « substr_count
  • substr »
  • PHP Manual
  • Funções para String
  • Substitui o texto dentro de uma parte de uma string

substr_replace

(PHP 4, PHP 5, PHP 7, PHP 8)

substr_replace — Substitui o texto dentro de uma parte de uma string

Descrição

substr_replace ( mixed $string , string $replacement , int $start , int $length = ? ) : mixed

substr_replace() substitui uma cópia de string delimitada pelos parâmetros start e (opcionalmente) length com a string dada em replacement.

Parâmetros

string

A string de entrada.

replacement

A string substituta.

start

Se start é positivo, a substituição começará no start-ésimo caractere da string.

Se start é negativo, a substituição começará no start-ésimo caractere do final de string.

length

Se dado e é positivo, ele representa o comprimento da porção de string que é para ser substituída. Se ele é negativo, ele representa o número de caracteres do final de string para parar de substituir. Se ele não é dado, então o padrão será até strlen( string ); i.e. o fim da substituição no final de string. Obviamente, se length é zero então esta função irá ter efeito de inserir replacement em string na dada posição start.

Valor Retornado

A string de resultado é retornada. Se string é um array, então um array será retornado.

Exemplos

Exemplo #1 substr_replace() exemplo

<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";

/* Estes dois exemplos substituem tudo de $var com 'bob'. */
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";

/* Insere 'bob' direto no começo de $var. */
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";

/* Estes dois exemplos substituem 'MNRPQR' em $var com 'bob'. */
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";

/* Deleta 'MNRPQR' de $var. */
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>

Notas

Nota: Esta função é binary-safe.

Veja Também

  • str_replace() - Substitui todas as ocorrências da string de procura com a string de substituição
  • substr() - Retorna uma parte de uma string


Retorna uma parte de uma string

  • « substr_replace
  • trim »
  • PHP Manual
  • Funções para String
  • Retorna uma parte de uma string

substr

(PHP 4, PHP 5, PHP 7, PHP 8)

substr — Retorna uma parte de uma string

Descrição

substr ( string $string , int $start , int $length = ? ) : string

Retorna a parte de string especificada pelo parâmetro start e length.

Parâmetros

string

A string de entrada. Deve ter ao menos um caracter.

start

Se start não for negativo, a string retornada iniciará na posição start em string, começando em zero. Por exemplo, na string 'abcdef', o caractere na posição 0 é 'a', o caractere na posição 2 é 'c', e assim em diante.

Se start for negativo, a string retornada irá começar no caractere start a partir do fim de string.

Se a string for mais curta que o parâmetro start, false will be returned.

Exemplo #1 Usando um início negativo

<?php
$rest = substr("abcdef", -1);    // retorna "f"
$rest = substr("abcdef", -2);    // retorna "ef"
$rest = substr("abcdef", -3, 1); // retorna "d"
?>

length

Se length for dado e for positivo, a string retornada irá conter length caracteres começando em start (dependendo do tamanho de string).

Se length for informado e for negativo, então esta quantidade caracteres serão omitidos do final de string (após a posicão de inicio ter sido calculada quando start for negativo). Se start denota uma posição além da truncagem, false will be returned.

Se length for informado como 0, false or null, uma string vazia será retornada.

Se length for omitido, a substring iniciando em start será retornada.

Exemplo #2 Usando um length negativo

<?php
$rest = substr("abcdef", 0, -1);  // retorna "abcde"
$rest = substr("abcdef", 2, -1);  // retorna "cde"
$rest = substr("abcdef", 4, -4);  // retorna false
$rest = substr("abcdef", -3, -1); // retorna "de"
?>

Valor Retornado

Retorna a parte extraída da string; ou false em caso de falha, ou uma string vazia.

Changelog

Versão | Descrição
7.0.0 | Se string tiver o comprimento de start, uma string vazia será retornada. Antes dessa versão, retornava false nesse caso.
5.2.2 - 5.2.6 | Se start indicar a posição de truncagem negativa ou além, retorna false. Outras versões retornavam a string a partir do começo.

Exemplos

Exemplo #3 Uso básico da substr()

<?php
echo substr('abcdef', 1);     // bcdef
echo substr('abcdef', 1, 3);  // bcd
echo substr('abcdef', 0, 4);  // abcd
echo substr('abcdef', 0, 8);  // abcdef
echo substr('abcdef', -1, 1); // f

// O acesso a caracteres individuais pode
// ser feito atravéz de indexação
$string = 'abcdef';
echo $string[0];                 // a
echo $string[3];                 // d
echo $string[strlen($string)-1]; // f

?>

Exemplo #4 Comportamento de cast no substr()

<?php
class apple {
    public function __toString() {
        return "green";
    }
}

echo "1) ".var_export(substr("pear", 0, 2), true).PHP_EOL;
echo "2) ".var_export(substr(54321, 0, 2), true).PHP_EOL;
echo "3) ".var_export(substr(new apple(), 0, 2), true).PHP_EOL;
echo "4) ".var_export(substr(true, 0, 1), true).PHP_EOL;
echo "5) ".var_export(substr(false, 0, 1), true).PHP_EOL;
echo "6) ".var_export(substr("", 0, 1), true).PHP_EOL;
echo "7) ".var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
?>

O exemplo acima irá imprimir no PHP 7:

1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) ''
6) ''
7) '1200'

O exemplo acima irá imprimir no PHP 5:

1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) false
6) false
7) '1200'

Erros

Returns false on error.

<?php
var_dump(substr('a', 2)); // bool(false)
?>

Veja Também

  • strrchr() - Encontra a ultima ocorrência de um caractere em uma string
  • substr_replace() - Substitui o texto dentro de uma parte de uma string
  • preg_match() - Perform a regular expression match
  • trim() - Retira espaço no ínicio e final de uma string
  • mb_substr() - Get part of string
  • wordwrap() - Quebra uma string em um dado número de caracteres
  • acesso a substrings


Retira espaço no ínicio e final de uma string

  • « substr
  • ucfirst »
  • PHP Manual
  • Funções para String
  • Retira espaço no ínicio e final de uma string

trim

(PHP 4, PHP 5, PHP 7, PHP 8)

trim — Retira espaço no ínicio e final de uma string

Descrição

trim ( string $str , string $charlist = ? ) : string

Esta função retorna uma string com os espaçoes retirados do ínicio e do final de str. Sem o segundo parâmetro, trim() irá retirar estes caracteres

  • " " (ASCII 32 (0x20)), um espaço normal.
  • "\t" (ASCII 9 (0x09)), uma tabulação.
  • "\n" (ASCII 10 (0x0A)), uma linha nova (line feed).
  • "\r" (ASCII 13 (0x0D)), um retono de carro.
  • "\0" (ASCII 0 (0x00)), o byte NULL.
  • "\x0B" (ASCII 11 (0x0B)), uma tabulação vertical.

Parâmetros

str

A string que será modificada.

charlist

Opcionalmente, os caracteres removidos pode também ser especificados usando o parâmetro charlist. Simplesmente liste todos os caracteres que você quer retirar. Com .. você pode especificar um intervalo de caracteres.

Valor Retornado

A string com caracteres removidos.

Changelog

Versão | Descrição
4.1.0 | O parâmetro opcional charlist foi adicionado.

Exemplos

Exemplo #1 Exemplo de uso de trim()

<?php

$text = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = trim($text);
var_dump($trimmed);

$trimmed = trim($text, " \t.");
var_dump($trimmed);

$trimmed = trim($hello, "Hdle");
var_dump($trimmed);

// trim the ASCII control characters at the beginning and end of $binary
// (from 0 to 31 inclusive)
$clean = trim($binary, "\x00..\x1F");
var_dump($clean);

?>

O exemplo acima irá imprimir:

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(28) "These are a few words :) ..."
string(24) "These are a few words :)"
string(5) "o Wor"
string(14) "Example string"

Exemplo #2 Usando trim() em valores de array

<?php
function trim_value(&$value)
{
    $value = trim($value);
}

$fruit = array('apple','banana ', ' cranberry ');
var_dump($fruit);

array_walk($fruit, 'trim_value');
var_dump($fruit);

?>

O exemplo acima irá imprimir:

array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(7) "banana "
  [2]=>
  string(11) " cranberry "
}
array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) "banana"
  [2]=>
  string(9) "cranberry"
}

Veja Também

  • ltrim() - Retira espaços em branco (ou outros caracteres) do início da string
  • rtrim() - Retira espaço em branco (ou outros caracteres) do final da string


Converte para maiúscula o primeiro caractere de uma string

  • « trim
  • ucwords »
  • PHP Manual
  • Funções para String
  • Converte para maiúscula o primeiro caractere de uma string

ucfirst

(PHP 4, PHP 5, PHP 7, PHP 8)

ucfirst — Converte para maiúscula o primeiro caractere de uma string

Descrição

ucfirst ( string $str ) : string

Retorna uma string com o primeiro caractere de str em maiúscula, se o caractere for do alfabeto.

Note que o alfabeto é determinado pelo locale atual. Por exemplo, no locale padrão "C" caracteres como ä não serão convertidos.

Parâmetros

str

A string de entrada.

Valor Retornado

Retorna a string resultante.

Exemplos

Exemplo #1 Exemplo da ucfirst()

<?php
$foo = 'hello world!';
$foo = ucfirst($foo);             // Hello world!

$bar = 'HELLO WORLD!';
$bar = ucfirst($bar);             // HELLO WORLD!
$bar = ucfirst(strtolower($bar)); // Hello world!
?>

Veja Também

  • strtolower() - Converte uma string para minúsculas
  • strtoupper() - Converte uma string para maiúsculas
  • ucwords() - Converte para maiúsculas o primeiro caractere de cada palavra


Converte para maiúsculas o primeiro caractere de cada palavra

  • « ucfirst
  • vfprintf »
  • PHP Manual
  • Funções para String
  • Converte para maiúsculas o primeiro caractere de cada palavra

ucwords

(PHP 4, PHP 5, PHP 7, PHP 8)

ucwords — Converte para maiúsculas o primeiro caractere de cada palavra

Descrição

ucwords ( string $str , string $delimiters = " \t\r\n\f\v" ) : string

Retorna uma string com o primeiro caractere de cada palavra em str em maiúscula, se este caractere fizer parte do alfabeto.

A definição de uma palavra é uma string de caracteres que é é precedida de qualquer caractere listado no parâmetro delimitadores (Estes são: espaço, space, form-feed, newline, carriage return, horizontal tab, e vertical tab).

Parâmetros

str

A string de entrada.

delimiters

O parâmetro opcional delimiters contém os caracteres separadores das palavras.

Valor Retornado

Retorna a string modificada.

Changelog

Versão | Descrição
5.4.32, 5.5.16 | O parâmetro delimiters foi adicionado.

Exemplos

Exemplo #1 Exemplo da ucwords()

<?php
$foo = 'hello world!';
$foo = ucwords($foo);             // Hello World!

$bar = 'HELLO WORLD!';
$bar = ucwords($bar);             // HELLO WORLD!
$bar = ucwords(strtolower($bar)); // Hello World!
?>

Exemplo #2 Exemplo de ucwords() com delimitador

<?php
$foo = 'hello|world!';
$bar = ucwords($foo);             // Hello|world!

$baz = ucwords($foo, "|");        // Hello|World!
?>

Notas

Nota: Esta função é binary-safe.

Veja Também

  • strtoupper() - Converte uma string para maiúsculas
  • strtolower() - Converte uma string para minúsculas
  • ucfirst() - Converte para maiúscula o primeiro caractere de uma string
  • mb_convert_case() - Perform case folding on a string


Escreve uma string formatada para um stream

  • « ucwords
  • vprintf »
  • PHP Manual
  • Funções para String
  • Escreve uma string formatada para um stream

vfprintf

(PHP 5, PHP 7, PHP 8)

vfprintf — Escreve uma string formatada para um stream

Descrição

vfprintf ( resource $handle , string $format , array $args ) : int

Escreve uma string produzida de acordo com format para o resource do stream especificado por handle.

Funciona como fprintf() mas aceita um array de argumentos, ao invés de um número váriavel de argumentos.

Parâmetros

handle

format

Veja sprintf() para uma descrição do format.

args

Valor Retornado

Retorna o tamanho da string mostrada.

Exemplos

Exemplo #1 vfprintf(): preenchendo com zero os inteiros

<?php
if (!($fp = fopen('date.txt', 'w')))
    return;

vfprintf($fp, "%04d-%02d-%02d", array($year, $month, $day));
// will write the formatted ISO date to date.txt
?>

Veja Também

  • printf() - Mostra uma string formatada
  • sprintf() - Retorna a string formatada
  • sscanf() - Interpreta a entrada de uma string de acordo com um formato
  • fscanf() - Interpreta a leitura de um arquivo de acordo com um formato
  • vsprintf() - Retorna uma string formatada
  • number_format() - Formata um número com os milhares agrupados


Mostra uma string formatada

  • « vfprintf
  • vsprintf »
  • PHP Manual
  • Funções para String
  • Mostra uma string formatada

vprintf

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

vprintf — Mostra uma string formatada

Descrição

vprintf ( string $formato , array $args ) : int

Mostra uma string formatada de acordo com o formato (o qual é descrito na documentação para a função sprintf()).

Funciona como printf() mas aceita uma matriz de argumentos, ao invés de um número variavel de argumentos.

Parâmetros

format

Veja sprintf() para uma descrição de format.

args

Valor Retornado

Retorna o tamanho da string mostrada.

Veja Também

  • printf() - Mostra uma string formatada
  • sprintf() - Retorna a string formatada
  • vsprintf() - Retorna uma string formatada


Retorna uma string formatada

  • « vprintf
  • wordwrap »
  • PHP Manual
  • Funções para String
  • Retorna uma string formatada

vsprintf

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

vsprintf — Retorna uma string formatada

Descrição

vsprintf ( string $formato , array $args ) : string

Funciona como sprintf() mas aceita um array de argumentos, ao invés de um número variável de argumentos.

Parâmetros

format

Veja sprintf() para uma descrição de format.

args

Valor Retornado

Retorna uma string formatada de acordo com o formato (o qual é descrito na documentação para a função sprintf()).

Veja Também

  • sprintf() - Retorna a string formatada
  • vprintf() - Mostra uma string formatada


Quebra uma string em um dado número de caracteres

  • « vsprintf
  • Changelog »
  • PHP Manual
  • Funções para String
  • Quebra uma string em um dado número de caracteres

wordwrap

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

wordwrap — Quebra uma string em um dado número de caracteres

Descrição

wordwrap ( string $str , int $width = 75 , string $break = "\n" , bool $cut = false ) : string

Quebra uma string em um dado número de caracteres usando um caractere de quebra de string.

Parâmetros

str

A string de entrada.

width

A coluna da largura. O padrão é 75.

break

A linha é quebrada usando o parâmetro opcional break. O padrão é '\n'.

cut

Se cut é setado para true, a string é sempre quebrada na largura especificada ou antes. Então se você tem uma palavra que é mais larga que a largura dada, ela é sempre quebrada. (Veja segundo exemplo).

Valor Retornado

Retorna a string dada quebrada na largura especificada.

Changelog

Versão | Descrição
4.0.3 | O parâmetro opcional cut foi adicionado.

Exemplos

Exemplo #1 Exemplo de wordwrap()

<?php
$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");

echo $newtext;
?>

O exemplo acima irá imprimir:

The quick brown fox<br />
jumped over the lazy<br />
dog.

Exemplo #2 Exemplo de wordwrap()

<?php
$text = "A very long woooooooooooord.";
$newtext = wordwrap($text, 8, "\n", true);

echo "$newtext\n";
?>

O exemplo acima irá imprimir:

A very
long
wooooooo
ooooord.

Veja Também

  • nl2br() - Insere quebras de linha HTML antes de todas newlines em uma string
  • chunk_split() - Divide uma string em pequenos pedaços


Changelog

As alterações a seguir foram feitas em classes/funções/métodos desta extensão.

Version | Function | Description
7.4.0 | str_getcsv | O parâmetro escape agora interpreta uma string vazia como um sinal para desabilitar o mecanismo de escape. Antes, uma string vazia utilizava o valor padrão do parâmetro.
7.2.18, 7.3.5 | substr_compare | offset may now be equal to the length of main_str.
7.1.0 | substr_count | Support for negative offsets and lengths has been added. length may also be 0 now.
7.0.0 | substr | Se string tiver o comprimento de start, uma string vazia será retornada. Antes dessa versão, retornava false nesse caso.
5.4.32, 5.5.16 | ucwords | O parâmetro delimiters foi adicionado.
5.3.0 | stristr | Adicionado o parâmetro opcional before_needle.
 | strstr | Adicionado o parâmetro opcional before_needle.
5.2.5 | addcslashes | As seqüências de escape \v e \f foram adicionadas.
5.2.3 | htmlentities | O parâmetro double_encode foi adicionado.
5.2.2 - 5.2.6 | substr | Se start indicar a posição de truncagem negativa ou além, retorna false. Outras versões retornavam a string a partir do começo.
5.1.0 | explode | Suporte a limit negativo foi adicionado
 | md5_file | Modificada função para usar a API de API. Significa que você pode usá-la com wrappers, como md5_file('http://example.com/..')
5.0.0 | html_entity_decode | Suporte para conjunto de caracteres multi-byte foi adicionado.
 | md5 | O parâmetro raw_output foi adicionado.
 | md5_file | Adicionado o parâmetro raw_output
 | str_replace | O parâmetro count foi adicionado.
 | strip_tags | strip_tags tornou-se binary safe
4.3.3 | str_replace | O comportamento desta função foi modificado. Em antigas versões um bug existia ao se usar arrays em ambos os parâmetros search e replace que causava índices de search vazios para serem pulados sem avançar o apontador interno no array replace. Isto foi corrigido no PHP 4.3.3, quaisquer scripts que contavam com este bug removeriam valores de pesquisa vazios anteriores à chamada desta função afim de imitar o comportamento original.
4.3.0 | str_rot13 | O comportamento desta função foi reparado. Antes disso, o str foi também modificado, como se fosse por referência.
 | strcspn | O start e length foram adicionados
 | strip_tags | Comentários HTML são sempre retirados
 | stristr | stristr tornou-se binary safe.
 | strspn | Os parâmetros start e length foram adicionados
 | strstr | strstr tornou-se binary safe.
4.1.0 | htmlentities | O parâmetro charset foi adicionado.
 | ltrim | O parâmetro charlist foi adicionado.
 | rtrim | O parâmetro charlist foi adicionado.
 | trim | O parâmetro opcional charlist foi adicionado.
4.0.6 | sprintf | Suporte para argumento numerado/troca foi adicionado
4.0.5 | nl2br | nl2br é agora XHTML compliant. Todas versões anteriores retornam string com '<br>' inserido antes de newlines ao invés de '<br />'.
 | str_replace | Mais parâmetros podem agora ser um array.
4.0.3 | htmlentities | O parâmetro quote_style foi adicionado.
 | parse_str | O parâmetro arr foi adicionado
 | wordwrap | O parâmetro opcional cut foi adicionado.
4.0.1 | explode | O parâmetro limit foi adicionado
4.0.0 | strip_tags | O parâmetro allowable_tags foi adicionado
 | strtr | Os parâmetros to e from foram adicionados.


Variável e Extensões Relacionadas aos Tipos

  • Arrays
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Ordenando Arrays
    • Funções para Array
  • Classes/Objetos — Informação de Classe/Objeto
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções para Classes/Objetos
  • Classkit
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções da Classkit
  • Ctype — Funções pra verificação de tipo de caractere
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções da Ctype
  • Filter — Filtragem de Dados
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções da Filter
  • Funções para Manuseamento de Funções
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções para Manuseamento de Funções
  • Quickhash
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • QuickHashIntSet — The QuickHashIntSet class
    • QuickHashIntHash — The QuickHashIntHash class
    • QuickHashStringIntHash — The QuickHashStringIntHash class
    • QuickHashIntStringHash — The QuickHashIntStringHash class
  • Reflexão
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Extendendo
    • Reflection — Classe Reflection
    • ReflectionClass — Classe ReflectionClass
    • ReflectionClassConstant — The ReflectionClassConstant class
    • ReflectionZendExtension — The ReflectionZendExtension class
    • ReflectionExtension — Classe ReflectionExtension
    • ReflectionFunction — Classe ReflectionFunction
    • ReflectionFunctionAbstract — The ReflectionFunctionAbstract class
    • ReflectionMethod — The ReflectionMethod class
    • ReflectionNamedType — The ReflectionNamedType class
    • ReflectionObject — The ReflectionObject class
    • ReflectionParameter — The ReflectionParameter class
    • ReflectionProperty — The ReflectionProperty class
    • ReflectionType — The ReflectionType class
    • ReflectionUnionType — The ReflectionUnionType class
    • ReflectionGenerator — The ReflectionGenerator class
    • ReflectionReference — The ReflectionReference class
    • Reflector — The Reflector interface
    • ReflectionException — Classe ReflectionException
  • Manipulação de variável
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções para Manipulação de variáveis


Arrays

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Ordenando Arrays
  • Funções para Array
    • array_change_key_case — Modifica a caixa de todas as chaves em um array
    • array_chunk — Divide um array em pedaços
    • array_column — Retorna os valores de uma coluna do array informado
    • array_combine — Cria um array usando um array para chaves e outro para valores
    • array_count_values — Conta todos os valores de um array
    • array_diff_assoc — Computa a diferença entre arrays com checagem adicional de índice
    • array_diff_key — Computa a diferença entre arrays usando as chaves na comparação
    • array_diff_uassoc — Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário
    • array_diff_ukey — Computa a diferença entre arrays usando uma função callback na comparação de chaves
    • array_diff — Computa as diferenças entre arrays
    • array_fill_keys — Preenche um array com valores, especificando chaves
    • array_fill — Preenche um array com valores
    • array_filter — Filtra elementos de um array utilizando uma função callback
    • array_flip — Permuta todas as chaves e seus valores associados em um array
    • array_intersect_assoc — Computa a interseção de arrays com uma adicional verificação de índice
    • array_intersect_key — Computa a interseção de array comparando pelas chaves
    • array_intersect_uassoc — Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback
    • array_intersect_ukey — Computa a interseção de arrays usando uma função de callback nas chaves para comparação
    • array_intersect — Calcula a interseção entre arrays
    • array_key_exists — Checa se uma chave ou índice existe em um array
    • array_key_first — Gets the first key of an array
    • array_key_last — Gets the last key of an array
    • array_keys — Retorna todas as chaves ou uma parte das chaves de um array
    • array_map — Aplica uma função em todos os elementos dos arrays dados
    • array_merge_recursive — Funde dois ou mais arrays recursivamente
    • array_merge — Combina um ou mais arrays
    • array_multisort — Ordena múltiplos arrays ou arrays multidimensionais
    • array_pad — Expande um array para um certo comprimento utilizando um determinado valor
    • array_pop — Extrai um elemento do final do array
    • array_product — Calcula o produto dos valores de um array
    • array_push — Adiciona um ou mais elementos no final de um array
    • array_rand — Escolhe um ou mais elementos aleatórios de um array
    • array_reduce — Reduz um array para um único valor através de um processo iterativo via função callback
    • array_replace_recursive — Replaces elements from passed arrays into the first array recursively
    • array_replace — Replaces elements from passed arrays into the first array
    • array_reverse — Retorna um array com os elementos na ordem inversa
    • array_search — Procura por um valor em um array e retorna sua chave correspondente caso seja encontrado
    • array_shift — Retira o primeiro elemento de um array
    • array_slice — Extrai uma parcela de um array
    • array_splice — Remove uma parcela do array e substitui com outros elementos
    • array_sum — Calcula a soma dos elementos de um array
    • array_udiff_assoc — Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback
    • array_udiff_uassoc — Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback
    • array_udiff — Computa a diferença de arrays usando uma função de callback para comparação dos dados
    • array_uintersect_assoc — Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback
    • array_uintersect_uassoc — Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas
    • array_uintersect — Computa a interseção de array, comparando dados com uma função callback
    • array_unique — Remove os valores duplicados de um array
    • array_unshift — Adiciona um ou mais elementos no início de um array
    • array_values — Retorna todos os valores de um array
    • array_walk_recursive — Aplica um função do usuário recursivamente para cada membro de um array
    • array_walk — Aplica uma determinada funcão em cada elemento de um array
    • array — Cria um array
    • arsort — Ordena um array em ordem descrescente mantendo a associação entre índices e valores
    • asort — Ordena um array mantendo a associação entre índices e valores
    • compact — Cria um array contendo variáveis e seus valores
    • count — Conta o número de elementos de uma variável, ou propriedades de um objeto
    • current — Retorna o elemento corrente em um array
    • each — Retorna o par chave/valor corrente de um array e avança o seu cursor
    • end — Faz o ponteiro interno de um array apontar para o seu último elemento
    • extract — Importa variáveis para a tabela de símbolos a partir de um array
    • in_array — Checa se um valor existe em um array
    • key_exists — Sinônimo de array_key_exists
    • key — Retorna uma chave de um array
    • krsort — Ordena um array pelas chaves em ordem descrescente
    • ksort — Ordena um array pelas chaves
    • list — Cria variáveis como se fossem arrays
    • natcasesort — Ordena um array utilizando o algoritmo da "ordem natural" sem diferenciar maiúsculas e minúsculas
    • natsort — Ordena um array utilizando o algoritmo da "ordem natural"
    • next — Avança o ponteiro interno de um array
    • pos — Sinônimo de current
    • prev — Retrocede o ponteiro interno de um array
    • range — Cria um array contendo uma faixa de elementos
    • reset — Faz o ponteiro interno de um array apontar para o seu primeiro elemento
    • rsort — Ordena um array em ordem descrescente
    • shuffle — Mistura os elementos de um array
    • sizeof — Sinônimo de count
    • sort — Ordena um array
    • uasort — Ordena um array utilizando uma função de comparação definida pelo usuário e mantendo as associações entre chaves e valores
    • uksort — Ordena um array pelas chaves utilizando uma função de comparação definida pelo usuário.
    • usort — Ordena um array pelos valores utilizando uma função de comparação definida pelo usuário


Introdução

Essas funções permitem a interação e manipulação de arrays de várias formas. Arrays são essenciais para armazenar, gerenciar, e operar sobre um conjunto de variáveis.

Arrays simples e multidimensionais são suportados e podem ser criados pelo usuário ou por outras funções. Existem funções específicas para bancos de dados para preencher arrays com os dados retornados em consultas, e vários outros tipos de funções também retornam arrays.

Por favor, veja a seção Arrays do manual para uma explicação mais detalhada sobre como arrays são implementados e utilizados no PHP. Veja também Operadores de Arrays para outras maneiras de manipular arrays.


Constantes pré-definidas

As constantes listadas abaixo estão sempre disponíveis como parte do núcleo do PHP.

CASE_LOWER (integer)
CASE_LOWER é utilizado com a função array_change_key_case() para converter chaves de arrays para minúsculo. É o valor padrão utilizado na função array_change_key_case().
CASE_UPPER (integer)
CASE_UPPER é utilizado com a função array_change_key_case() para converter chaves de arrays para maiúsculo.

Sinais de ordenação:

SORT_ASC (integer)
SORT_ASC é utilizado com array_multisort() para ordenar em ordem crescente.
SORT_DESC (integer)
SORT_DESC é utilizado com array_multisort() para ordenar em ordem decrescente.

Sinais de tipos de ordenação: utilizado por várias funções de ordenação

SORT_REGULAR (integer)
SORT_REGULAR é utilizado para comparar itens normalmente.
SORT_NUMERIC (integer)
SORT_NUMERIC é utilizado para comparar itens numericamente.
SORT_STRING (integer)
SORT_STRING é utilizado para comparar itens como strings.
SORT_LOCALE_STRING (integer)
SORT_LOCALE_STRING é utilizado para comparar itens como strings, baseado no local atual. Adicionado no 5.0.2.
SORT_NATURAL (integer)
SORT_NATURAL é utilizado para comparar itens como strings utilizando a "ordenação natural", como a função natsort(). Adicionada no PHP 5.4.0.
SORT_FLAG_CASE (integer)
SORT_FLAG_CASE pode ser combinado (operador bit a bit OR) com SORT_STRING ou SORT_NATURAL para ordenar strings de forma case-insensitive. Adicionada no PHP 5.4.0.

Sinais de filtro:

ARRAY_FILTER_USE_KEY (integer)
ARRAY_FILTER_USE_KEY é utilizado com a função array_filter() para passar cada chave como primeiro argumento de uma função callback informada. Adicionado no PHP 5.6.0.
ARRAY_FILTER_USE_BOTH (integer)
ARRAY_FILTER_USE_BOTH é utilizado com a função array_filter() para passar tanto chave, quanto valor, para a função callback informada. Adicionado no PHP 5.6.0.

COUNT_NORMAL (integer)
COUNT_RECURSIVE (integer)
EXTR_OVERWRITE (integer)
EXTR_SKIP (integer)
EXTR_PREFIX_SAME (integer)
EXTR_PREFIX_ALL (integer)
EXTR_PREFIX_INVALID (integer)
EXTR_PREFIX_IF_EXISTS (integer)
EXTR_IF_EXISTS (integer)
EXTR_REFS (integer)


Ordenando Arrays

O PHP tem muitas funções para lidar com ordenação de arrays, e esse documento existe para ajudar a você lidar com elas.

As principais diferenças são:

  • Algumas ordenam com base nas chaves do array, enquanto outras pelos valores: $array['chave'] = 'valor';
  • A correlação entre as chaves e os valores do array não são mantidas depois da ordenação, o que pode fazer com que as chaves sejam resetadas numericamente (0, 1, 2, ...)
  • A ordem da ordenação: alfabética, menor para maior (ascendente), maior para menor (descendente), numérica, natural, aleatório, ou definida pelo usuário
  • Nota: Todas essas funções agem diretamente na própria variável do array, ao invés de retornar um novo array ordenado
  • Se qualquer uma dessas funções avaliar dois membros como iguais então a ordem será indefinida (a ordenação não é estável).

Atributos das funções de ordenação
Nome da função | Ordena por | Mantém a associação de chaves | Ordem da ordenação | Funções relacionadas
array_multisort() | valor | associativo sim, numérico não | primeiro array ou opções de ordenação | array_walk()
asort() | valor | sim | menor para maior | arsort()
arsort() | valor | sim | maior para menor | asort()
krsort() | chave | sim | maior para menor | ksort()
ksort() | chave | sim | menor para maior | asort()
natcasesort() | valor | sim | natural, não sensível a maiúsculas | natsort()
natsort() | valor | sim | natural | natcasesort()
rsort() | valor | não | maior para menor | sort()
shuffle() | valor | não | random | array_rand()
sort() | valor | não | menor para maior | rsort()
uasort() | valor | sim | definido pelo usuário | uksort()
uksort() | chave | sim | definido pelo usuário | uasort()
usort() | valor | não | definido pelo usuário | uasort()


Funções para Array

Veja Também

Veja também is_array(), explode(),
implode(), split(),
preg_split(), e unset().

Índice

  • array_change_key_case — Modifica a caixa de todas as chaves em um array
  • array_chunk — Divide um array em pedaços
  • array_column — Retorna os valores de uma coluna do array informado
  • array_combine — Cria um array usando um array para chaves e outro para valores
  • array_count_values — Conta todos os valores de um array
  • array_diff_assoc — Computa a diferença entre arrays com checagem adicional de índice
  • array_diff_key — Computa a diferença entre arrays usando as chaves na comparação
  • array_diff_uassoc — Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário
  • array_diff_ukey — Computa a diferença entre arrays usando uma função callback na comparação de chaves
  • array_diff — Computa as diferenças entre arrays
  • array_fill_keys — Preenche um array com valores, especificando chaves
  • array_fill — Preenche um array com valores
  • array_filter — Filtra elementos de um array utilizando uma função callback
  • array_flip — Permuta todas as chaves e seus valores associados em um array
  • array_intersect_assoc — Computa a interseção de arrays com uma adicional verificação de índice
  • array_intersect_key — Computa a interseção de array comparando pelas chaves
  • array_intersect_uassoc — Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback
  • array_intersect_ukey — Computa a interseção de arrays usando uma função de callback nas chaves para comparação
  • array_intersect — Calcula a interseção entre arrays
  • array_key_exists — Checa se uma chave ou índice existe em um array
  • array_key_first — Gets the first key of an array
  • array_key_last — Gets the last key of an array
  • array_keys — Retorna todas as chaves ou uma parte das chaves de um array
  • array_map — Aplica uma função em todos os elementos dos arrays dados
  • array_merge_recursive — Funde dois ou mais arrays recursivamente
  • array_merge — Combina um ou mais arrays
  • array_multisort — Ordena múltiplos arrays ou arrays multidimensionais
  • array_pad — Expande um array para um certo comprimento utilizando um determinado valor
  • array_pop — Extrai um elemento do final do array
  • array_product — Calcula o produto dos valores de um array
  • array_push — Adiciona um ou mais elementos no final de um array
  • array_rand — Escolhe um ou mais elementos aleatórios de um array
  • array_reduce — Reduz um array para um único valor através de um processo iterativo via função callback
  • array_replace_recursive — Replaces elements from passed arrays into the first array recursively
  • array_replace — Replaces elements from passed arrays into the first array
  • array_reverse — Retorna um array com os elementos na ordem inversa
  • array_search — Procura por um valor em um array e retorna sua chave correspondente caso seja encontrado
  • array_shift — Retira o primeiro elemento de um array
  • array_slice — Extrai uma parcela de um array
  • array_splice — Remove uma parcela do array e substitui com outros elementos
  • array_sum — Calcula a soma dos elementos de um array
  • array_udiff_assoc — Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback
  • array_udiff_uassoc — Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback
  • array_udiff — Computa a diferença de arrays usando uma função de callback para comparação dos dados
  • array_uintersect_assoc — Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback
  • array_uintersect_uassoc — Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas
  • array_uintersect — Computa a interseção de array, comparando dados com uma função callback
  • array_unique — Remove os valores duplicados de um array
  • array_unshift — Adiciona um ou mais elementos no início de um array
  • array_values — Retorna todos os valores de um array
  • array_walk_recursive — Aplica um função do usuário recursivamente para cada membro de um array
  • array_walk — Aplica uma determinada funcão em cada elemento de um array
  • array — Cria um array
  • arsort — Ordena um array em ordem descrescente mantendo a associação entre índices e valores
  • asort — Ordena um array mantendo a associação entre índices e valores
  • compact — Cria um array contendo variáveis e seus valores
  • count — Conta o número de elementos de uma variável, ou propriedades de um objeto
  • current — Retorna o elemento corrente em um array
  • each — Retorna o par chave/valor corrente de um array e avança o seu cursor
  • end — Faz o ponteiro interno de um array apontar para o seu último elemento
  • extract — Importa variáveis para a tabela de símbolos a partir de um array
  • in_array — Checa se um valor existe em um array
  • key_exists — Sinônimo de array_key_exists
  • key — Retorna uma chave de um array
  • krsort — Ordena um array pelas chaves em ordem descrescente
  • ksort — Ordena um array pelas chaves
  • list — Cria variáveis como se fossem arrays
  • natcasesort — Ordena um array utilizando o algoritmo da "ordem natural" sem diferenciar maiúsculas e minúsculas
  • natsort — Ordena um array utilizando o algoritmo da "ordem natural"
  • next — Avança o ponteiro interno de um array
  • pos — Sinônimo de current
  • prev — Retrocede o ponteiro interno de um array
  • range — Cria um array contendo uma faixa de elementos
  • reset — Faz o ponteiro interno de um array apontar para o seu primeiro elemento
  • rsort — Ordena um array em ordem descrescente
  • shuffle — Mistura os elementos de um array
  • sizeof — Sinônimo de count
  • sort — Ordena um array
  • uasort — Ordena um array utilizando uma função de comparação definida pelo usuário e mantendo as associações entre chaves e valores
  • uksort — Ordena um array pelas chaves utilizando uma função de comparação definida pelo usuário.
  • usort — Ordena um array pelos valores utilizando uma função de comparação definida pelo usuário


Modifica a caixa de todas as chaves em um array

  • « Funções para Array
  • array_chunk »
  • PHP Manual
  • Funções para Array
  • Modifica a caixa de todas as chaves em um array

array_change_key_case

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

array_change_key_case — Modifica a caixa de todas as chaves em um array

Descrição

array_change_key_case ( array $array , int $case = CASE_LOWER ) : array

Retorna um array com todas as chaves de input em minúsculo ou maiúsculo. Índices numéricos são mantidos como são.

Parâmetros

input

O array a ser modificado

case

Tanto CASE_UPPER quanto CASE_LOWER (padrão)

Valor Retornado

Retorna um array com as chaves em minúsculo ou maiúsculo, ou false se input não for um array.

Erros

Dispara E_WARNING se input não for um array.

Exemplos

Exemplo #1 Exemplo da função array_change_key_case()

<?php
$input_array = array("primeiRo" => 1, "segunDo" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER);
?>

O exemplo acima irá imprimir:

Array
(
    [PRIMEIRO] => 1
    [SEGUNDO] => 2
)

Notas

Nota:

Se uma matriz tem índices que serão os mesmos após a utilização desta função (ex: "chaVE" e "CHave"), o valor que estiver ao final do array irá sobrescrever os outros índices.


Divide um array em pedaços

  • « array_change_key_case
  • array_column »
  • PHP Manual
  • Funções para Array
  • Divide um array em pedaços

array_chunk

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

array_chunk — Divide um array em pedaços

Descrição

array_chunk ( array $array , int $size , bool $preserve_keys = false ) : array

Divide um array em size pedaços. O último pedaço pode conter menos elementos que o parâmetro size.

Parâmetros

array

O array.

size

O tamanho de cada pedaço

preserve_keys

Quando definido para true, chaves serão preservadas. O padrão é false que reindexará os pedaços numericamente

Valor Retornado

Retorna um array multidimensional numericamente indexado, iniciando com 0, com cada dimensão contendo size elementos.

Erros

Se size é menor que 1 E_WARNING será disparado e null retornado.

Exemplos

Exemplo #1 Exemplo da função array_chunk()

<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));
?>

O exemplo acima irá imprimir:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

)
Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [2] => c
            [3] => d
        )

    [2] => Array
        (
            [4] => e
        )

)

Veja Também

  • array_slice() - Extrai uma parcela de um array


Retorna os valores de uma coluna do array informado

  • « array_chunk
  • array_combine »
  • PHP Manual
  • Funções para Array
  • Retorna os valores de uma coluna do array informado

array_column

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

array_column — Retorna os valores de uma coluna do array informado

Descrição

array_column ( array $input , mixed $column_key , mixed $index_key = null ) : array

A função array_column() retorna os valores de uma coluna do input informado, indentificada pelo column_key. Opcionalmente, uma index_key pode ser informada para indexar os valores do array retornado pelos valores da coluna index_key do array.

Parâmetros

input

Um array multidimensional ou um array de objetos que se deseja extrair os valores da coluna. Se um array de objetos for fornecido, propriedades públicas podem ser extraídas diretamente. Para extrair propriedades protegidas e privadas, a classe deve implementar ambos os métodos mágicos __get() e __isset().

column_key

A coluna de valores a ser retornada. Este valor pode ser uma chave inteira da coluna que se deseja recuperar, ou uma uma string com o nome da chave de um array associativo ou nome de propriedade. Também pode ser null para retornar arrays completos ou objetos (isso é útil com o parâmetro index_key, para reindexar o array).

index_key

A coluna a ser utilizada como índices/chaves do array retornado. Este valor pode ser uma chave inteira da coluna, ou uma uma string com o nome da chave.

Valor Retornado

Retorna um array com os valores que representam uma coluna do array informado.

Changelog

Versão | Descrição
7.0.0 | Adicionada a habilidade que possibilita o parâmetro input ser um array de objetos.

Exemplos

Exemplo #1 Obtém a coluna first_name dos registros

<?php
// Array representing a possible record set returned from a database
$records = array(
    array(
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
    ),
    array(
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
    ),
    array(
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
    ),
    array(
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
    )
);

$first_names = array_column($records, 'first_name');
print_r($first_names);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
)

Exemplo #2 Obtém a coluna last_name dos registros, indexados pela coluna "id"

<?php
// Using the $records array from Example #1
$last_names = array_column($records, 'last_name', 'id');
print_r($last_names);
?>

O exemplo acima irá imprimir:

Array
(
    [2135] => Doe
    [3245] => Smith
    [5342] => Jones
    [5623] => Doe
)

Exemplo #3 Obtém a coluna de nomes de usuários da propriedade pública "username" de um objeto

<?php

class User
{
    public $username;

    public function __construct(string $username)
    {
        $this->username = $username;
    }
}

$users = [
    new User('user 1'),
    new User('user 2'),
    new User('user 3'),
];

print_r(array_column($users, 'username'));
?>

O exemplo acima irá imprimir:

Array
(
    [0] => user 1
    [1] => user 2
    [2] => user 3
)

Exemplo #4 Obtém a coluna de nomes da propriedade privada "name" de um objeto utilizando o método mágico __get().

<?php

class Person
{
    private $name;

    public function __construct(string $name)
    {
        $this->name = $name;
    }

    public function __get($prop)
    {
        return $this->$prop;
    }

    public function __isset($prop) : bool
    {
        return isset($this->$prop);
    }
}

$people = [
    new Person('Fred'),
    new Person('Jane'),
    new Person('John'),
];

print_r(array_column($people, 'name'));
?>

O exemplo acima irá imprimir:

Array
(
    [0] => Fred
    [1] => Jane
    [2] => John
)
Se o método __isset() não for fornecido, um array vazio será retornado.

Veja Também

  • » Implementação, a nível de usuário, para versões menores que o PHP 5.5


Cria um array usando um array para chaves e outro para valores

  • « array_column
  • array_count_values »
  • PHP Manual
  • Funções para Array
  • Cria um array usando um array para chaves e outro para valores

array_combine

(PHP 5, PHP 7, PHP 8)

array_combine — Cria um array usando um array para chaves e outro para valores

Descrição

array_combine ( array $keys , array $values ) : array

Cria um array usando os valores do array keys como chaves e os valores do array values como valores correspondentes.

Parâmetros

keys

Array a ser usado como chaves. Valores ilegais para chave serão convertidos para string.

values

Array a ser usado como valores

Valor Retornado

Retorna o array combinado, false se o número de elementos de cada array não são iguais.

Erros

Dispara E_WARNING se o número de elementos em keys e values não correspondem.

Changelog

Versão | Descrição
5.4.0 | Versões anteriores disparavam E_WARNING e retornavam false para arrays vazios.

Exemplos

Exemplo #1 Um simples exemplo usando a função array_combine()

<?php
$a = array('verde', 'vermelho', 'amarelo');
$b = array('abacate', 'maçã', 'banana');
$c = array_combine($a, $b);

print_r($c);
?>

O exemplo acima irá imprimir:

Array
(
    [green]  => abacate
    [red]    => maçã
    [yellow] => banana
)

Veja Também

  • array_merge() - Combina um ou mais arrays
  • array_walk() - Aplica uma determinada funcão em cada elemento de um array
  • array_values() - Retorna todos os valores de um array


Conta todos os valores de um array

  • « array_combine
  • array_diff_assoc »
  • PHP Manual
  • Funções para Array
  • Conta todos os valores de um array

array_count_values

(PHP 4, PHP 5, PHP 7, PHP 8)

array_count_values — Conta todos os valores de um array

Descrição

array_count_values ( array $array ) : array

A função array_count_values() retorna um array utilizando os valores do parâmetro array como chaves e suas respectivas frequências em array como valores.

Parâmetros

array

O array de valores para contar

Valor Retornado

Retorna um array associativo de valores de array como chaves e suas quantias como valor.

Erros

Dispara E_WARNING para cada elemento que não for string ou integer.

Exemplos

Exemplo #1 Exemplo da array_count_values()

<?php
$array = array(1, "ola", 1, "mundo", "ola");
array_count_values($array);
?>

O exemplo acima irá imprimir:

Array
(
    [1] => 2
    [ola] => 2
    [mundo] => 1
)

Veja Também

  • count() - Conta o número de elementos de uma variável, ou propriedades de um objeto
  • array_unique() - Remove os valores duplicados de um array
  • array_values() - Retorna todos os valores de um array
  • count_chars() - Retorna informações sobre os caracteres usados numa string


Computa a diferença entre arrays com checagem adicional de índice

  • « array_count_values
  • array_diff_key »
  • PHP Manual
  • Funções para Array
  • Computa a diferença entre arrays com checagem adicional de índice

array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

array_diff_assoc — Computa a diferença entre arrays com checagem adicional de índice

Descrição

array_diff_assoc ( array $array1 , array $array2 , array $... = ? ) : array

Compara array1 com array2 e retorna a diferença. Ao contrário de array_diff(), as chaves dos arrays também são usadas na comparação.

Parâmetros

array1

O array a comparar.

array2

O array a ser comparado.

...

Mais arrays a serem comparados.

Valor Retornado

Retorna um array contendo todos os valores do array1 que não estão presentes em qualquer um dos outros arrays.

Exemplos

Exemplo #1 Exemplo de array_diff_assoc()

Neste exemplo veja que o par "a" => "verde" está presente em ambos os arrays e por isso não está na saída da função. Por outro lado, o par 0 => "vermelho" está na saída porque no segundo argumento, "vermelho", tem a chave 1.

<?php
$array1 = array("a" => "verde", "b" => "marrom", "c" => "azul", "vermelho");
$array2 = array("a" => "verde", "amarelo", "vermelho");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

O exemplo acima irá imprimir:

Array
(
    [b] => marrom
    [c] => azul
    [0] => vermelho
)

Exemplo #2 Exemplo da função array_diff_assoc()

Dois valores dos pares chave => valor são considerados iguais somente se (string) $elem1 === (string) $elem2 . Em outras palavras, uma checagem estrita de string é feita para que representações de string sejam as mesmas.

<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => 0
    [1] => 1
    )

Notas

Nota: Esta função checa somente uma dimensão de um array n-dimensional. É claro que você pode checar dimensões mais profundas usando, por exemplo, array_diff_assoc($array1[0], $array2[0]);.

Nota: Tenha certeza de passar os argumentos na ordem correta ao comparar arrays semelhantes com mais chaves. O novo array deve ser o primeiro array da lista.

Veja Também

  • array_diff() - Computa as diferenças entre arrays
  • array_diff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário
  • array_udiff_assoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback
  • array_udiff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback
  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice


Computa a diferença entre arrays usando as chaves na comparação

  • « array_diff_assoc
  • array_diff_uassoc »
  • PHP Manual
  • Funções para Array
  • Computa a diferença entre arrays usando as chaves na comparação

array_diff_key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_diff_key — Computa a diferença entre arrays usando as chaves na comparação

Descrição

array_diff_key ( array $array1 , array $array2 , array $... = ? ) : array

Compara as chaves do array1 com as chaves do array2 e retorna a diferença. Esta função é similar a array_diff(), com exceção que a comparação é feita com as chaves, ao invés dos valores.

Parâmetros

array1

O array a comparar

array2

Um array a ser comparado

...

Mais arrays a serem comparados

Valor Retornado

Retorna um array contendo todas as entradas de array1 cujas chaves não estão presentes em qualquer dos outros arrays.

Exemplos

Exemplo #1 Exemplo da função array_diff_key()

As duas chaves dos pares chave => valor são consideradas iguais somente se (string) $key1 === (string) $key2 . Em outras palavras, uma checagem de tipo estrita é feita para que representações de string sejam as mesmas.

<?php
$array1 = array('azul'  => 1, 'vermelho'  => 2, 'verde'  => 3, 'roxo' => 4);
$array2 = array('verde' => 5, 'azul' => 6, 'amarelo' => 7, 'rosa'   => 8);

var_dump(array_diff_key($array1, $array2));
?>

O exemplo acima irá imprimir:

array(2) {
  ["vermelho"]=>
  int(2)
  ["roxo"]=>
  int(4)
}

Notas

Nota:

Essa função checa somente uma dimensão de um array n-dimensional. É claro que você pode checar dimensões mais profundas usando array_diff_key($array1[0], $array2[0]);.

Veja Também

  • array_diff() - Computa as diferenças entre arrays
  • array_udiff() - Computa a diferença de arrays usando uma função de callback para comparação dos dados
  • array_diff_assoc() - Computa a diferença entre arrays com checagem adicional de índice
  • array_diff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário
  • array_udiff_assoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback
  • array_udiff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback
  • array_diff_ukey() - Computa a diferença entre arrays usando uma função callback na comparação de chaves
  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_intersect_uassoc() - Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback
  • array_intersect_key() - Computa a interseção de array comparando pelas chaves
  • array_intersect_ukey() - Computa a interseção de arrays usando uma função de callback nas chaves para comparação


Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário

  • « array_diff_key
  • array_diff_ukey »
  • PHP Manual
  • Funções para Array
  • Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário

array_diff_uassoc

(PHP 5, PHP 7, PHP 8)

array_diff_uassoc — Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário

Descrição

array_diff_uassoc ( array $array1 , array $array2 , array $... = ? , callback $key_compare_func ) : array

Compara array1 com array2 e retorna a diferença. Ao contrário de array_diff(), as chaves dos arrays são usadas na comparação.

Ao contrário de array_diff_assoc(), uma função de callback fornecida pelo usuário é usada na comparação dos índices, não uma função interna.

Parâmetros

array1

O array a comparar

array2

Um array a ser comparado

...

Mais arrays a serem comparados

key_compare_func

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int

Valor Retornado

Retorna um array contendo todas as entradas de array1 que não estão presentes em qualquer um dos outros arrays.

Exemplos

Exemplo #1 Exemplo de array_diff_uassoc()

O par "a" => "verde" está presente em ambos os arrays e assim não está na saída da função. Ao contrário disso, o par 0 => "vermelho" está na saída porque no segundo argumento "vermelho" tem a chave 1.

<?php
function key_compare_func($a, $b)
{
    if ($a === $b) {
        return 0;
    }
    return ($a > $b)? 1:-1;
}

$array1 = array("a" => "verde", "b" => "marrom", "c" => "azul", "vermelho");
$array2 = array("a" => "verde", "amarelo", "vermelho");
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($result);
?>

O exemplo acima irá imprimir:

Array
(
    [b] => marrom
    [c] => azul
    [0] => vermelho
)

A igualdade de 2 índices é checada pela função de callback fornecida pelo usuário.

Notas

Nota:

Esta função checa somente uma dimensão de um array n-dimensional. É claro que você pode checar dimensões mais profundas usando, por exemplo, array_diff_uassoc($array1[0], $array2[0], "key_compare_func");.

Veja Também

  • array_diff() - Computa as diferenças entre arrays
  • array_diff_assoc() - Computa a diferença entre arrays com checagem adicional de índice
  • array_udiff() - Computa a diferença de arrays usando uma função de callback para comparação dos dados
  • array_udiff_assoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback
  • array_udiff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback
  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_uintersect() - Computa a interseção de array, comparando dados com uma função callback
  • array_uintersect_assoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback
  • array_uintersect_uassoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas


Computa a diferença entre arrays usando uma função callback na comparação de chaves

  • « array_diff_uassoc
  • array_diff »
  • PHP Manual
  • Funções para Array
  • Computa a diferença entre arrays usando uma função callback na comparação de chaves

array_diff_ukey

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_diff_ukey — Computa a diferença entre arrays usando uma função callback na comparação de chaves

Descrição

array_diff_ukey ( array $array1 , array $array2 , array $... = ? , callable $key_compare_func ) : array

Compara as chaves de array1 com as chaves de array2 e retorna a diferença. Esta função é similar a array_diff(), com exceção que a comparação é feita nas chaves ao invés dos valores.

Diferente de array_diff_key() uma função callback é fornecida e usada para comparação de índices, não função interna.

Parâmetros

array1

Array a ser comparado

array2

Array para comparação

...

Mais arrays para comparação

key_compare_func

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int

Valor Retornado

Retorna um array contendo todas as entradas de array1 que não estão presentes em nenhum outro array.

Exemplos

Exemplo #1 Exemplo da função array_diff_ukey()

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>

O exemplo acima irá imprimir:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Notas

Nota:

Esta função somente verifica uma dimensão de um array com n-dimensões. Obviamente você pode verificar as dimensões usando array_diff_ukey($array1[0], $array2[0], 'callback_func');.

Veja Também

  • array_diff() - Computa as diferenças entre arrays
  • array_udiff() - Computa a diferença de arrays usando uma função de callback para comparação dos dados
  • array_diff_assoc() - Computa a diferença entre arrays com checagem adicional de índice
  • array_diff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário
  • array_udiff_assoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback
  • array_udiff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback
  • array_diff_key() - Computa a diferença entre arrays usando as chaves na comparação
  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_intersect_uassoc() - Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback
  • array_intersect_key() - Computa a interseção de array comparando pelas chaves
  • array_intersect_ukey() - Computa a interseção de arrays usando uma função de callback nas chaves para comparação


Computa as diferenças entre arrays

  • « array_diff_ukey
  • array_fill_keys »
  • PHP Manual
  • Funções para Array
  • Computa as diferenças entre arrays

array_diff

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_diff — Computa as diferenças entre arrays

Descrição

array_diff ( array $array1 , array $array2 , array $ ... = ? ) : array

Compara array1 com um ou mais arrays e retorna os valores no array1 que não estão presentes em nenhum dos outros arrays.

Parâmetros

array1

O array a ser comparado

array2

Um array para comparar

...

Mais arrays para comparar

Valor Retornado

Retorna um array contendo todas as entradas de array1 que não estão presentes em nenhum dos outros arrays.

Exemplos

Exemplo #1 Exemplo da função array_diff()

<?php
$array1 = array("a" => "verde", "vermelho", "azul", "vermelho");
$array2 = array("b" => "verde", "amarelo", "vermelho");
$result = array_diff($array1, $array2);

print_r($result);
?>

Multiplas ocorrências de $array1 são todas tratadas da mesma maneira. Isto irá mostrar:

Array
(
  [1] => azul
)

Notas

Nota:

Dois elementos são considerados iguais se, e somente se, (string) $elem1 === (string) $elem2. Em palavras: quando a representação da string é a mesma.

Nota:

Esta função compara apenas uma dimensão de um array com n dimensões. Mas, obviamente, você pode comparar outras dimensões usando array_diff($array1[0], $array2[0]);.

Veja Também

  • array_diff_assoc() - Computa a diferença entre arrays com checagem adicional de índice
  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice


Preenche um array com valores, especificando chaves

  • « array_diff
  • array_fill »
  • PHP Manual
  • Funções para Array
  • Preenche um array com valores, especificando chaves

array_fill_keys

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

array_fill_keys — Preenche um array com valores, especificando chaves

Descrição

array_fill_keys ( array $keys , mixed $value ) : array

Preenche um array com o valor do parâmetro value, usando os valores do array keys como chaves.

Parâmetros

keys

Array de valores que serão usados como chaves. Valores ilegais para chaves serão convertidos para string.

value

Valor para usar no preenchimento

Valor Retornado

Retorna o array preenchido

Exemplos

Exemplo #1 Exemplo da função array_fill_keys()

<?php
$keys = array('foo', 5, 10, 'bar');
$a = array_fill_keys($keys, 'banana');
print_r($a);
?>

O exemplo acima irá imprimir:

Array
(
    [foo] => banana
    [5] => banana
    [10] => banana
    [bar] => banana
)

Veja Também

  • array_fill() - Preenche um array com valores
  • array_combine() - Cria um array usando um array para chaves e outro para valores


Preenche um array com valores

  • « array_fill_keys
  • array_filter »
  • PHP Manual
  • Funções para Array
  • Preenche um array com valores

array_fill

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

array_fill — Preenche um array com valores

Descrição

array_fill ( int $start_index , int $num , mixed $value ) : array

Preenche um array com num elementos com o valor do parâmetro value e chaves começando a partir de start_index.

Parâmetros

start_index

O primeiro índice do array retornado

Se start_index for negativo, o primeiro índice do array retornado será start_index, e os índices seguintes começarão do zero (veja o exemplo).

num

Número de elementos a inserir. Deve ser maior ou igual a zero.

value

Valores a preencher

Valor Retornado

Retorna o array preenchido

Erros

Dispara um E_WARNING se num é menor que um.

Changelog

Versão | Descrição
5.6.0 | num agora pode ser zero. Anteriormente, num deveria ser maior que zero.

Exemplos

Exemplo #1 Exemplo da função array_fill()

<?php
$a = array_fill(5, 6, 'banana');
$b = array_fill(-2, 4, 'pear');
print_r($a);
print_r($b);
?>

O exemplo acima irá imprimir:

Array
(
    [5]  => banana
    [6]  => banana
    [7]  => banana
    [8]  => banana
    [9]  => banana
    [10] => banana
)
Array
(
    [-2] => pear
    [0] => pear
    [1] => pear
    [2] => pear
)

Notas

Veja também a seção Arrays do manual para a explicação detalhada de chaves negativas.

Veja Também

  • array_fill_keys() - Preenche um array com valores, especificando chaves
  • str_repeat() - Repete uma string
  • range() - Cria um array contendo uma faixa de elementos


Filtra elementos de um array utilizando uma função callback

  • « array_fill
  • array_flip »
  • PHP Manual
  • Funções para Array
  • Filtra elementos de um array utilizando uma função callback

array_filter

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

array_filter — Filtra elementos de um array utilizando uma função callback

Descrição

array_filter ( array $array , callable $callback = ? , int $flag = 0 ) : array

Itera sobre cada valor de array passando-os para a função callback. Se a função callback retornar true, o valor atual de array é retornado na matriz resultado. As chaves do array são preservadas.

Parâmetros

array

O array a ser iterado

callback

A função callback a ser usada

Se nenhum callback é fornecido, todas entradas de array iguais a false (veja convertendo para booleano) serão removidas.

flag

Flag determina quais argumentos são passados para o parâmetro callback:

  • ARRAY_FILTER_USE_KEY - passa chaves como argumentos para callback em vez de valor
  • ARRAY_FILTER_USE_BOTH - passa tanto valor quanto chave como argumento para callback em vez do valor

Valor Retornado

Retorna o array filtrado.

Changelog

Versão | Descrição
5.6.0 | Adicionado o parâmetro opcional flag e as contantes ARRAY_FILTER_USE_KEY e ARRAY_FILTER_USE_BOTH

Exemplos

Exemplo #1 Exemplo da função array_filter()

<?php
function impar($var)
{
    // retorna se o inteiro informado é impar
    return($var & 1);
}

function par($var)
{
    // retorna se o inteiro informado é par
    return(!($var & 1));
}

$array1 = array("a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);

echo "Impares: \n";
print_r(array_filter($array1, "impar"));
echo "Pares: \n";
print_r(array_filter($array2, "par"));
?>

O exemplo acima irá imprimir:

Impares:
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Pares:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

Exemplo #2 array_filter() sem callback

<?php

$entry = array(
             0 => 'foo',
             1 => false,
             2 => -1,
             3 => null,
             4 => ''
          );

print_r(array_filter($entry));
?>

O exemplo acima irá imprimir:

Array
(
  [0] => foo
  [2] => -1
}

Exemplo #3 array_filter() com flag

<?php

$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];

var_dump(array_filter($arr, function($k) {
    return $k == 'b';
}, ARRAY_FILTER_USE_KEY));

var_dump(array_filter($arr, function($v, $k) {
    return $k == 'b' || $v == 4;
}, ARRAY_FILTER_USE_BOTH));
?>

O exemplo acima irá imprimir:

array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}

Notas

Cuidado

Se o array é modificado por uma função callback (e.g. elemento adicionado, deletado ou apagado) o comportamento desta função é indefinido.

Veja Também

  • array_map() - Aplica uma função em todos os elementos dos arrays dados
  • array_reduce() - Reduz um array para um único valor através de um processo iterativo via função callback
  • array_walk() - Aplica uma determinada funcão em cada elemento de um array


Permuta todas as chaves e seus valores associados em um array

  • « array_filter
  • array_intersect_assoc »
  • PHP Manual
  • Funções para Array
  • Permuta todas as chaves e seus valores associados em um array

array_flip

(PHP 4, PHP 5, PHP 7, PHP 8)

array_flip — Permuta todas as chaves e seus valores associados em um array

Descrição

array_flip ( array $array ) : array

array_flip() retorna um array com suas relações trocadas, ou seja, as chaves de array passam a ser os valores e os valores de array passam a ser as chaves.

Note que os valores de array devem ser chaves válidas, ou seja, eles precisam ser integer ou string. Um aviso será mostrado se um valor é de um tipo inválido para chaves, e o par chave/valor em questão não será invertido.

Se um valor tem várias ocorrências, a última chave será usada como valor, e todos os outros serão perdidos.

Parâmetros

array

Um array de pares chave/valor para inverter.

Valor Retornado

Retorna o array trocado em sucesso e false em falha.

Exemplos

Exemplo #1 Exemplo da função array_flip()

<?php
$input = array("oranges", "apples", "pears");
$flipped = array_flip($input);

print_r($flipped);
?>

O exemplo acima irá imprimir:

Array
(
    [oranges] => 0
    [apples] => 1
    [pears] => 2
)

Exemplo #2 Exemplo da função array_flip(): colisão

<?php
$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);

print_r($trans);
?>

O exemplo acima irá imprimir:

Array
(
    [1] => b
    [2] => c
)

Veja Também

  • array_values() - Retorna todos os valores de um array
  • array_keys() - Retorna todas as chaves ou uma parte das chaves de um array
  • array_reverse() - Retorna um array com os elementos na ordem inversa


Computa a interseção de arrays com uma adicional verificação de índice

  • « array_flip
  • array_intersect_key »
  • PHP Manual
  • Funções para Array
  • Computa a interseção de arrays com uma adicional verificação de índice

array_intersect_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

array_intersect_assoc — Computa a interseção de arrays com uma adicional verificação de índice

Descrição

array_intersect_assoc ( array $array1 , array $array2 , array $... = ? ) : array

array_intersect_assoc() retorna um array contendo todos os valores de array1 que estão presentes em todos os argumentos. Note que estas chaves também são usadas na comparação diferindo de array_intersect().

Parâmetros

array1

O array com os valores a serem verificados.

array2

O array para comparar os valores.

array

Uma lista de arrays para comparação.

Valor Retornado

Retorna um array associativo contendo todos os valores em array1 que estão presentes em todos os argumentos.

Exemplos

Exemplo #1 Exemplo da array_intersect_assoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "b" => "yellow", "blue", "red");
$result_array = array_intersect_assoc($array1, $array2);
print_r($result_array);
?>

O exemplo acima irá imprimir:

Array
(
    [a] => green
)

Em nosso exemplo você pode ver que somente o par "a" => "green" está presente em ambos array, então logo é retornado. O valor "red" não é retornado porque no $array1 a chave é 0 quando a chave de "red" no $array2 é 1, e a chave "b" não será retornada por que seu valor é diferente em cada array.

Os dois valores dos pares key => value são considerados iguais somente se (string) $elem1 === (string) $elem2 . Em outras palavras uma verificação do tipo é executada então a representação string precisa ser a mesma.

Veja Também

  • array_intersect() - Calcula a interseção entre arrays
  • array_uintersect_assoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback
  • array_intersect_uassoc() - Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback
  • array_uintersect_uassoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas
  • array_diff() - Computa as diferenças entre arrays
  • array_diff_assoc() - Computa a diferença entre arrays com checagem adicional de índice


Computa a interseção de array comparando pelas chaves

  • « array_intersect_assoc
  • array_intersect_uassoc »
  • PHP Manual
  • Funções para Array
  • Computa a interseção de array comparando pelas chaves

array_intersect_key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_intersect_key — Computa a interseção de array comparando pelas chaves

Descrição

array_intersect_key ( array $array1 , array $array2 , array $... = ? ) : array

array_intersect_key() retorna um array contendo todos os valores de array1 que tem as mesmas chaves presentes em todos os argumentos.

Parâmetros

array1

O array com as chaves a serem verificadas.

array2

Um array para comparar as chaves.

array

Uma variável lista de arrays para comparação.

Valor Retornado

Retorna um array associativo contendo todos os valores de array1 que estão presentes em todos os argumentos.

Exemplos

Exemplo #1 Exemplo da array_intersect_key()

<?php
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_key($array1, $array2));
?>

O exemplo acima irá imprimir:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

Em nosso exemplo você pode ver que somente as chaves 'blue' e 'green' estão presentes em ambos array e assim retornado. Também note que os valores das chaves 'blue' e 'green' diferem nos dois arrays. A combinação ocorre porque somente as chaves são verificadas. Os valores retornados são do array1.

As duas chaves do par key => value são considerados iguais somente se (string) $key1 === (string) $key2 . Em outras palavras um verificação do tipo é executada, então a representação string precisa ser a mesma.

Veja Também

  • array_diff() - Computa as diferenças entre arrays
  • array_udiff() - Computa a diferença de arrays usando uma função de callback para comparação dos dados
  • array_diff_assoc() - Computa a diferença entre arrays com checagem adicional de índice
  • array_diff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário
  • array_udiff_assoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback
  • array_udiff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback
  • array_diff_key() - Computa a diferença entre arrays usando as chaves na comparação
  • array_diff_ukey() - Computa a diferença entre arrays usando uma função callback na comparação de chaves
  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_intersect_uassoc() - Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback
  • array_intersect_ukey() - Computa a interseção de arrays usando uma função de callback nas chaves para comparação


Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback

  • « array_intersect_key
  • array_intersect_ukey »
  • PHP Manual
  • Funções para Array
  • Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback

array_intersect_uassoc

(PHP 5, PHP 7, PHP 8)

array_intersect_uassoc — Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback

Descrição

array_intersect_uassoc ( array $array1 , array $array2 , array $... = ? , callable $key_compare_func ) : array

array_intersect_uassoc() retorna um array contendo todos os valores de array1 que estão presentes em todos os argumentos. Note que as chaves são usadas na comparação, ao contrário da função array_intersect().

Parâmetros

array1

Array inicial para comparação dos arrays.

array2

Primeiro array a ser comparado.

array

Lista variável de argumentos de arrays para comparar valores.

key_compare_func

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int

Valor Retornado

Retorna os valores de array1 cujos valores existem em todos os argumentos.

Exemplos

Exemplo #1 Exemplo da função array_intersect_uassoc()

<?php
$array1 = array("a" => "verde", "b" => "marrom", "c" => "azul", "vermelho");
$array2 = array("a" => "VERDE", "B" => "marrom", "amarelo", "vermelho");

print_r(array_intersect_uassoc($array1, $array2, "strcasecmp"));
?>

O exemplo acima irá imprimir:

Array
(
    [b] => marrom
)

Veja Também

  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_uintersect_assoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback
  • array_uintersect_uassoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas
  • array_intersect_key() - Computa a interseção de array comparando pelas chaves
  • array_intersect_ukey() - Computa a interseção de arrays usando uma função de callback nas chaves para comparação


Computa a interseção de arrays usando uma função de callback nas chaves para comparação

  • « array_intersect_uassoc
  • array_intersect »
  • PHP Manual
  • Funções para Array
  • Computa a interseção de arrays usando uma função de callback nas chaves para comparação

array_intersect_ukey

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_intersect_ukey — Computa a interseção de arrays usando uma função de callback nas chaves para comparação

Descrição

array_intersect_ukey ( array $array1 , array $array2 , array $... = ? , callable $key_compare_func ) : array

array_intersect_ukey() retorna um array contendo todos os valores de array1 que têm as mesmas chaves presentes em todos os argumentos.

Parâmetros

array1

Array inicial para comparação dos arrays.

array2

Primeiro array para comparar as chaves.

array

Lista variável de argumentos para comparar as chaves.

key_compare_func

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int

Valor Retornado

Retorna os valores de array1 cujas chaves existem em todos os argumentos.

Exemplos

Exemplo #1 Exemplo da função array_intersect_ukey()

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('azul'  => 1, 'vermelho'  => 2, 'verde'  => 3, 'roxo' => 4);
$array2 = array('verde' => 5, 'azul' => 6, 'amarelo' => 7, 'rosa'  => 8);

var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
?>

O exemplo acima irá imprimir:

array(2) {
  ["azul"]=>
  int(1)
  ["verde"]=>
  int(3)
}

Em nosso exemplo você vê que somente as chaves 'azul' e 'verde' estão presentes em ambos os arrays e assim retornadas. Também note que os valores para as chaves 'azul' e 'verde' diferem entre os dois arrays. Uma combinação ainda ocorre porque somente as chaves são checadas. Os valores retornados são os do array1.

Veja Também

  • array_diff() - Computa as diferenças entre arrays
  • array_udiff() - Computa a diferença de arrays usando uma função de callback para comparação dos dados
  • array_diff_assoc() - Computa a diferença entre arrays com checagem adicional de índice
  • array_diff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário
  • array_udiff_assoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback
  • array_udiff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback
  • array_diff_key() - Computa a diferença entre arrays usando as chaves na comparação
  • array_diff_ukey() - Computa a diferença entre arrays usando uma função callback na comparação de chaves
  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_intersect_uassoc() - Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback
  • array_intersect_key() - Computa a interseção de array comparando pelas chaves


Calcula a interseção entre arrays

  • « array_intersect_ukey
  • array_key_exists »
  • PHP Manual
  • Funções para Array
  • Calcula a interseção entre arrays

array_intersect

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_intersect — Calcula a interseção entre arrays

Descrição

array_intersect ( array $array1 , array $array2 , array $... = ? ) : array

array_intersect() retorna um array contendo todos os valores de array1 que estão presentes nos outros argumentos. Note que as chaves são preservadas.

Parâmetros

array1

O array com os valores que serão verificados.

array2

Um array para comparar os valores.

array

Uma lista variável de arrays para comparar.

Valor Retornado

Retorna um array contendo todos os valores em array1 cujo existem em todos os parâmetros.

Exemplos

Exemplo #1 Exemplo da array_intersect()

<?php
$array1 = array("a" => "verde", "vermelho", "azul");
$array2 = array("b" => "verde", "amarelo", "vermelho");
$result = array_intersect($array1, $array2);
print_r($result);
?>

O exemplo acima irá imprimir:

Array
(
    [a] => verde
    [0] => vermelho
)

Notas

Nota: Dois elementos são considerados iguais se, e somente se, (string) $elem1 === (string) $elem2. Em palavras: quando a representação em string é a mesma.

Veja Também

  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_diff() - Computa as diferenças entre arrays
  • array_diff_assoc() - Computa a diferença entre arrays com checagem adicional de índice


Checa se uma chave ou índice existe em um array

  • « array_intersect
  • array_key_first »
  • PHP Manual
  • Funções para Array
  • Checa se uma chave ou índice existe em um array

array_key_exists

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

array_key_exists — Checa se uma chave ou índice existe em um array

Descrição

array_key_exists ( mixed $key , array $array ) : bool

array_key_exists() retorna true se a chave key existe no array. key pode ser qualquer valor possível para um índice de um array.

Parâmetros

key

Valor para verificar.

array

Um array com chaves para verificar.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da função array_key_exists()

<?php
$busca_array = array("primeiro" => 1, "segundo" => 4);
if (array_key_exists("primeiro", $busca_array)) {
    echo "O elemento 'primeiro' está no array!";
}
?>

Exemplo #2 array_key_exists() versus isset()

isset() não retorna true para valores de chave que correspondam a um valor null, enquanto que array_key_exists() faz isto.

<?php
$search_array = array('first' => null, 'second' => 4);

// returns false
isset($search_array['first']);

// returns true
array_key_exists('first', $search_array);
?>

Notas

Nota:

Por motivo de retrocompatibilidade, a função array_key_exists() também retornará true se o parâmetro key for uma propriedade definida em um dado objeto como parâmetro array. Não se deve confiar neste comportamento, e cuidados devem ser tomados para garantir que o parâmetro array seja um array.

Para checar a existência de uma propriedade em um objeto, utilize a função property_exists().

Veja Também

  • isset() - Informa se a variável foi iniciada
  • array_keys() - Retorna todas as chaves ou uma parte das chaves de um array
  • in_array() - Checa se um valor existe em um array
  • property_exists() - Checa se o objeto ou a classe tem uma propriedade


Gets the first key of an array

  • « array_key_exists
  • array_key_last »
  • PHP Manual
  • Funções para Array
  • Gets the first key of an array

array_key_first

(PHP 7 >= 7.3.0, PHP 8)

array_key_first — Gets the first key of an array

Descrição

array_key_first ( array $array ) : int|string|null

Get the first key of the given array without affecting the internal array pointer.

Parâmetros

array

An array.

Valor Retornado

Returns the first key of array if the array is not empty; null otherwise.

Exemplos

Exemplo #1 Basic array_key_first() Usage

<?php
$array = ['a' => 1, 'b' => 2, 'c' => 3];

$firstKey = array_key_first($array);

var_dump($firstKey);
?>

O exemplo acima irá imprimir:

string(1) "a"

Notas

Dica

There are several ways to provide this functionality for versions prior to PHP 7.3.0. It is possible to use array_keys(), but that may be rather inefficient. It is also possible to use reset() and key(), but that may change the internal array pointer. An efficient solution, which does not change the internal array pointer, written as polyfill:

<?php
if (!function_exists('array_key_first')) {
    function array_key_first(array $arr) {
        foreach($arr as $key => $unused) {
            return $key;
        }
        return NULL;
    }
}
?>

Veja Também

  • array_key_last() - Gets the last key of an array
  • reset() - Faz o ponteiro interno de um array apontar para o seu primeiro elemento


Gets the last key of an array

  • « array_key_first
  • array_keys »
  • PHP Manual
  • Funções para Array
  • Gets the last key of an array

array_key_last

(PHP 7 >= 7.3.0, PHP 8)

array_key_last — Gets the last key of an array

Descrição

array_key_last ( array $array ) : int|string|null

Get the last key of the given array without affecting the internal array pointer.

Parâmetros

array

An array.

Valor Retornado

Returns the last key of array if the array is not empty; null otherwise.

Veja Também

  • array_key_first() - Gets the first key of an array
  • end() - Faz o ponteiro interno de um array apontar para o seu último elemento


Retorna todas as chaves ou uma parte das chaves de um array

  • « array_key_last
  • array_map »
  • PHP Manual
  • Funções para Array
  • Retorna todas as chaves ou uma parte das chaves de um array

array_keys

(PHP 4, PHP 5, PHP 7, PHP 8)

array_keys — Retorna todas as chaves ou uma parte das chaves de um array

Descrição

array_keys ( array $array , mixed $search_value = null , bool $strict = false ) : array

array_keys() retorna as chaves, numéricas e string, do array input.

Se o parâmetro opcional search_value for especificado, então apenas as chaves para esse valor serão retornadas. Do contrário, todas as chaves de array serão retornadas.

Parâmetros

array

Um array contendo chaves a serem retornadas.

search_value

Se especificado, então somente chaves contendo estes valores são retornado.

strict

Determina se a comparação é rígida (===) deve ser utilizada durante a busca.

Valor Retornado

Retorna um array de todas as chaves em array.

Exemplos

Exemplo #1 Exemplo de array_keys()

<?php
$array = array(0 => 100, "cor" => "vermelho");
print_r(array_keys($array));

$array = array("azul", "vermelho", "verde", "azul", "azul");
print_r(array_keys($array, "azul"));

$array = array("cor"     => array("azul", "vermelho", "verde"),
               "tamanho" => array("pequeno", "medio", "grande"));
print_r(array_keys($array));
?>

O exemplo acima irá imprimir:

Array
(
    [0] => 0
    [1] => cor
)
Array
(
    [0] => 0
    [1] => 3
    [2] => 4
)
Array
(
    [0] => cor
    [1] => tamanho
)

Veja Também

  • array_values() - Retorna todos os valores de um array
  • array_key_exists() - Checa se uma chave ou índice existe em um array
  • array_search() - Procura por um valor em um array e retorna sua chave correspondente caso seja encontrado


Aplica uma função em todos os elementos dos arrays dados

  • « array_keys
  • array_merge_recursive »
  • PHP Manual
  • Funções para Array
  • Aplica uma função em todos os elementos dos arrays dados

array_map

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

array_map — Aplica uma função em todos os elementos dos arrays dados

Descrição

array_map ( callable $callback , array $array1 , array $... = ? ) : array

array_map() retorna um array contendo todos os elementos de array1 depois de aplicada uma determinada função callback em cada um. O número de parâmetros que a função callback aceita deve coincidir com o número de arrays passados para a função array_map()

Parâmetros

callback

Função callback para executar para cada elementos dos arrays.

array1

Um array para percorrer chamando função callback.

array

Variável lista de argumentos array para percorrer chamando a função callback.

Valor Retornado

Retorna um array contendo todos elementos de array1 depois de ter aplicado a função callback para cada um.

Exemplos

Exemplo #1 Exemplo da função array_map()

<?php
function cube($n)
{
    return($n * $n * $n);
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>

Faz com que $b tenha:

Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)

Exemplo #2 Utilizando uma função lambda com a função array_map() (a partir do PHP 5.3.0)

<?php
$func = function($value) {
    return $value * 2;
};

print_r(array_map($func, range(1, 5)));
?>
Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

Exemplo #3 array_map() - usando mais de um array

<?php
function mostrar_Espanhol($n, $m)
{
    return "O número $n é chamado de $m na Espanha";
}

function map_Espanhol($n, $m)
{
    return array($n => $m);
}

$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");

$c = array_map("mostrar_Espanhol", $a, $b);
print_r($c);

$d = array_map("map_Espanhol", $a , $b);
print_r($d);
?>

O exemplo acima irá imprimir:

// Saída de $c
Array
(
    [0] => O número 1 é chamado de uno na Espanha
    [1] => O número 2 é chamado de dos na Espanha
    [2] => O número 3 é chamado de tres na Espanha
    [3] => O número 4 é chamado de cuatro na Espanha
    [4] => O número 5 é chamado de cinco na Espanha
)

// Saída de $d
Array
(
    [0] => Array
        (
            [1] => uno
        )

    [1] => Array
        (
            [2] => dos
        )

    [2] => Array
        (
            [3] => tres
        )

    [3] => Array
        (
            [4] => cuatro
        )

    [4] => Array
        (
            [5] => cinco
        )

)

Normalmente quando se usa dois ou mais arrays, eles devem ter o mesmo tamanho porque a função callback é aplicada paralelamente nos elementos correpondentes. Se os arrays tem tamanhos diferentes, o menor array será extendido com elementos vazios.

Uma forma interessante de se usar esta função é na construção de um array de arrays, o que pode ser facilmente feito usando null como o nome da função callback.

Exemplo #4 Criando um array de arrays

<?php
$a = array(1, 2, 3, 4, 5);
$b = array("um", "dois", "tres", "quatro", "cinco");
$c = array("uno", "dos", "tres", "cuatro", "cinco");

$d = array_map(null, $a, $b, $c);
print_r($d);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => one
            [2] => uno
        )

    [1] => Array
        (
            [0] => 2
            [1] => two
            [2] => dos
        )

    [2] => Array
        (
            [0] => 3
            [1] => three
            [2] => tres
        )

    [3] => Array
        (
            [0] => 4
            [1] => four
            [2] => cuatro
        )

    [4] => Array
        (
            [0] => 5
            [1] => five
            [2] => cinco
        )

)

O array retornado conterá chaves string se e somente se exatamente um array é passado. Se mais que um argumento é passado, então o array retornado sempre terá chaves inteiras.

Exemplo #5 array_map() - com chaves string

<?php
$arr = array("stringkey" => "value");
function cb1($a) {
    return array ($a);
}
function cb2($a, $b) {
    return array ($a, $b);
}
var_dump(array_map("cb1", $arr));
var_dump(array_map("cb2", $arr, $arr));
var_dump(array_map(null,  $arr));
var_dump(array_map(null, $arr, $arr));
?>

O exemplo acima irá imprimir:

array(1) {
  ["stringkey"]=>
  array(1) {
    [0]=>
    string(5) "value"
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}
array(1) {
  ["stringkey"]=>
  string(5) "value"
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}

Veja Também

  • array_filter() - Filtra elementos de um array utilizando uma função callback
  • array_reduce() - Reduz um array para um único valor através de um processo iterativo via função callback
  • array_walk() - Aplica uma determinada funcão em cada elemento de um array
  • informação sobre o tipo callback


Funde dois ou mais arrays recursivamente

  • « array_map
  • array_merge »
  • PHP Manual
  • Funções para Array
  • Funde dois ou mais arrays recursivamente

array_merge_recursive

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_merge_recursive — Funde dois ou mais arrays recursivamente

Descrição

array_merge_recursive ( array $array1 , array $... = ? ) : array

array_merge_recursive() funde os elementos de um ou mais arrays de forma que os elementos de um são colocados no final do array anterior. Retorna o array resultante da fusão.

Se os arrays dados tem as mesmas chaves string, então os valores para uma chave são fundidos em um array, e isso é feito recursivamente, sendo que, se um dos valores for um array também, este função irá fundi-lo com os valores correspondentes no array resultante também. Se, no entanto, os arrays tem as mesmas chaves numéricas, o último valor para uma chave não sobrescreverá o valor original, e sim adicionado ao array resultante.

Parâmetros

array1

Array inicial para fundir.

array

Lista variável de arrays para fundir recursivamente.

Valor Retornado

Um array de valores resultados da fusão dos argumentos.

Exemplos

Exemplo #1 Exemplo de array_merge_recursive()

<?php
$ar1 = array("cor" => array ("favorita" => "vermelho"), 5);
$ar2 = array(10, "cor" => array ("favorita" => "verde", "azul"));
$result = array_merge_recursive($ar1, $ar2);
print_r($result);
?>

O exemplo acima irá imprimir:

Array
(
    [cor] => Array
        (
            [favorita] => Array
                (
                    [0] => vermelho
                    [1] => verde
                )

            [0] => azul
        )

    [0] => 5
    [1] => 10
)

Veja Também

  • array_merge() - Combina um ou mais arrays
  • array_replace_recursive() - Replaces elements from passed arrays into the first array recursively


Combina um ou mais arrays

  • « array_merge_recursive
  • array_multisort »
  • PHP Manual
  • Funções para Array
  • Combina um ou mais arrays

array_merge

(PHP 4, PHP 5, PHP 7, PHP 8)

array_merge — Combina um ou mais arrays

Descrição

array_merge ( array $array1 , array $... = ? ) : array

Funde os elementos de dois ou mais arrays de forma que os elementos de um são colocados no final do array anterior. Retorna o array resultante da fusão.

Se os arrays dados têm as mesmas chaves string, então o último valor para uma chave irá sobrescrever o valor anterior. Se, no entanto, os arrays tem as mesmas chaves numéricas, o último valor para uma chave não sobrescreverá o valor original, e sim adicionado ao array resultante.

Se apenas uma array é dada e a array é indexada numericamente, as chaves são reindexadas de uma maneira continua.

Parâmetros

array1

O array inicial para fundir.

...

A lista variável de arrays para fundir recursivamente.

Valor Retornado

Retorna o array resultante.

Exemplos

Exemplo #1 Exemplo de array_merge()

<?php
$array1 = array("cor" => "vermelho", 2, 4);
$array2 = array("a", "b", "cor" => "verde", "forma" => "trapezoide", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

O exemplo acima irá imprimir:

Array
(
    [cor] => verde
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [forma] => trapezoide
    [4] => 4
)

Exemplo #2 Exemplo simples de array_merge()

<?php
$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
?>

Não esqueça que as chaves numéricas serão reordenadas!

Array
(
    [0] => data
)

Se você deseja apenas adicionar os elementos do segundo array no primeiro, sem sobrescrever os elementos e sem causar a reindexação, utilize o operador +:

<?php
$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
$result = $array1 + $array2;
var_dump($result);
?>

As chaves do primeiro array são preservados. Se uma chave existir em dois arrays, então o elemento do primeiro array será preservado e o elemento de mesma chave no segundo array será descartado.

array(5) {
  [0]=>
  string(6) "zero_a"
  [2]=>
  string(5) "two_a"
  [3]=>
  string(7) "three_a"
  [1]=>
  string(5) "one_b"
  [4]=>
  string(6) "four_b"
}

Exemplo #3 array_merge() com tipos não array

<?php
$beginning = 'foo';
$end = array(1 => 'bar');
$result = array_merge((array)$beginning, (array)$end);
print_r($result);
?>

O exemplo acima irá imprimir:

    Array
    (
        [0] => foo
        [1] => bar
    )

Veja Também

  • array_merge_recursive() - Funde dois ou mais arrays recursivamente
  • array_replace() - Replaces elements from passed arrays into the first array
  • array_combine() - Cria um array usando um array para chaves e outro para valores
  • array operators


Ordena múltiplos arrays ou arrays multidimensionais

  • « array_merge
  • array_pad »
  • PHP Manual
  • Funções para Array
  • Ordena múltiplos arrays ou arrays multidimensionais

array_multisort

(PHP 4, PHP 5, PHP 7, PHP 8)

array_multisort — Ordena múltiplos arrays ou arrays multidimensionais

Descrição

array_multisort ( array &$array1 , mixed $array1_sort_order = SORT_ASC , mixed $array1_sort_flags = SORT_REGULAR , mixed $... = ? ) : bool

array_multisort() pode ser usada para ordenar vários arrays de uma vez, ou um array multidimensional por uma ou mais dimensões.

Chaves associativas (string) serão mantidas, mas chaves númericas serão reindexadas.

Parâmetros

array1

Um array a ser ordenado.

array1_sort_order

A ordenação para ser utilizada no argumento array anterior. Pode ser SORT_ASC para ordenar na ascendente (crescente) SORT_DESC para ordernar na descendente (decrescente).

Este argumento pode ser trocado com array1_sort_flags ou ser omitido completamente, e nesse caso é utilizado SORT_ASC.

array1_sort_flags

Opções de ordenamento para o argumento array anterior:

Flags:

  • SORT_REGULAR - comparar itens normalmente (não modidifica tipos)
  • SORT_NUMERIC - compare itens numericamente
  • SORT_STRING - compare itens como strings
  • SORT_LOCALE_STRING - compare itens como strings, utilizando o locate atual. Utiliza o locale, que pode ser modificado com setlocale()
  • SORT_NATURAL - compare itens como strings utilizando a "ordenação natural" de natsort()
  • SORT_FLAG_CASE - pode ser combinado (bitwise OR) com SORT_STRING ou SORT_NATURAL para ordenar as strings sem considerar maiúsculas e minúsculas

Este argumento pode ser trocado com array1_sort_order ou completamente omitido, e nesse caso é utilizado SORT_REGULAR.

...

Outros arrays, podendo informar também ordem e flags de ordenação. Somente elementos correspondentes a elementos equivalentes nos arrays anteriores são comparados. Em outras palavras, a ordem é lexigráfica.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.4.0 | SORT_NATURAL e SORT_FLAG_CASE foram adicionados em array1_sort_flags.
5.3.0 | SORT_LOCALE_STRING foi adicionado em array1_sort_flags.

Exemplos

Exemplo #1 Ordenando vários arrays

<?php
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);

var_dump($ar1);
var_dump($ar2);
?>

Nesse exemplo, após a ordenação o primeiro array conterá 0, 10, 100, 100. O segundo array conterá 4, 1, 2, 3. Os itens no segundo array correspondentes ao itens idênticos do primeiro array (100 e 100) também são ordenados.

array(4) {
  [0]=> int(0)
  [1]=> int(10)
  [2]=> int(100)
  [3]=> int(100)
}
array(4) {
  [0]=> int(4)
  [1]=> int(1)
  [2]=> int(2)
  [3]=> int(3)
}

Exemplo #2 Ordenando arrays multi dimensionais

<?php
$ar = array(
       array("10", 11, 100, 100, "a"),
       array(   1,  2, "2",   3,   1)
      );
array_multisort($ar[0], SORT_ASC, SORT_STRING,
                $ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);
?>

Neste exemplo, após a ordenação o primeiro array será transformado para "10", 100, 100, 11, "a" (ordenado os itens como strings em ordem crescente). O segundo conterá 1, 3, "2", 2, 1 (ordenado como números, em ordem decrescente).

array(2) {
  [0]=> array(5) {
    [0]=> string(2) "10"
    [1]=> int(100)
    [2]=> int(100)
    [3]=> int(11)
    [4]=> string(1) "a"
  }
  [1]=> array(5) {
    [0]=> int(1)
    [1]=> int(3)
    [2]=> string(1) "2"
    [3]=> int(2)
    [4]=> int(1)
  }
}

Exemplo #3 Ordenando resultados de bancos de dados

Neste exemplo, cada elemento no array data representa um iten em uma tabela. Esse tipo de conjunto de dados é típico de registros de base de dados.

Exemplo:

volume | edition
-------+--------
    67 |       2
    86 |       1
    85 |       6
    98 |       2
    86 |       6
    67 |       7

Os dados estão em um array, chamado data. Isso pode ser obtido, por exemplo, de rodar mysqli_fetch_assoc() em loop.

<?php
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
?>

Vamos ordenar volume decrescente e edition crescente.

Aqui temos um array de registros, mas array_multisort() exige um array de colunas, então é preciso converter os dados utilizando o código abaixo para então executar a ordenação.

<?php
// Obtain a list of columns
foreach ($data as $key => $row) {
    $volume[$key]  = $row['volume'];
    $edition[$key] = $row['edition'];
}

// Ordena os dados por volume decrescente, edition crescente.
// Adiciona $data como último parâmetro, para ordenar por uma chave comum.
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?>

O conjunto de dados agora está ordenado, assim:

volume | edition
-------+--------
    98 |       2
    86 |       1
    86 |       6
    85 |       6
    67 |       2
    67 |       7

Exemplo #4 Ordenação case insensitive

SORT_STRING e SORT_REGULAR são sensíveis a maiúsculas e minúsculas, de forma que strings começando com maiúsculas aparecerão primeiro que strings começando com minúsculas.

Para realizar uma ordenação case insensitive é preciso forçar a ordenação a rodar com uma cópia do array original, transformado em minúsculas.

<?php
$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array);

array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);

print_r($array);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => Alpha
    [1] => atomic
    [2] => bank
    [3] => Beta
)

Veja Também

  • usort() - Ordena um array pelos valores utilizando uma função de comparação definida pelo usuário
  • A comparação de funções de organização de array


Expande um array para um certo comprimento utilizando um determinado valor

  • « array_multisort
  • array_pop »
  • PHP Manual
  • Funções para Array
  • Expande um array para um certo comprimento utilizando um determinado valor

array_pad

(PHP 4, PHP 5, PHP 7, PHP 8)

array_pad — Expande um array para um certo comprimento utilizando um determinado valor

Descrição

array_pad ( array $array , int $size , mixed $value ) : array

array_pad() retorna uma cópia de array expandido para o comprimento especificado por size com o valor value. Se size for positivo então o array é expandido pela direita, se for negativo, pela esquerda. Se o valor absoluto de size for menor ou igual ao comprimento de array, então ele permanece inalterado. É possível adicionar até 1048576 elementos de uma vez.

Parâmetros

array

Array inicial de valores para ser preenchido.

size

Nova tamanho do array.

value

Valor para preencher se input é menor que pad_size.

Valor Retornado

Retorna uma cópia de array preenchido pela quantidade especificada por size com o valor value. Se size é positivo, então o array é preenchido na direita, se ele é negativo, então da esquerda. Se o valor absoluto de size é menor que ou igual ao comprimento de array então nenhum preenchimento ocorre.

Exemplos

Exemplo #1 Exemplo de array_pad()

<?php
$input = array(12, 10, 9);

$result = array_pad($input, 5, 0);
// $result é array(12, 10, 9, 0, 0)

$result = array_pad($input, -7, -1);
// $result é array(-1, -1, -1, -1, 12, 10, 9)

$result = array_pad($input, 2, "noop");
// Não será expandido
?>

Veja Também

  • array_fill() - Preenche um array com valores
  • range() - Cria um array contendo uma faixa de elementos


Extrai um elemento do final do array

  • « array_pad
  • array_product »
  • PHP Manual
  • Funções para Array
  • Extrai um elemento do final do array

array_pop

(PHP 4, PHP 5, PHP 7, PHP 8)

array_pop — Extrai um elemento do final do array

Descrição

array_pop ( array &$array ) : mixed

array_pop() extrai e retorna o último elemento de array, diminuindo array em um elemento.

Nota: Esta função irá resetar() o ponteiro do array depois do uso.

Parâmetros

array

O array para obter os valores.

Valor Retornado

Retorna o último valor de array. Se array é vazio (ou ele não é um array), null será retornado.

Erros

Esta função irá lançar um erro nível E_WARNING se chamada com um parâmetro não array.

Exemplos

Exemplo #1 Exemplo da array_pop()

<?php
$cesta = array("laranja", "banana", "melancia", "morango");
$fruta = array_pop($cesta);
print_r($cesta);
?>

After this, $stack will have only 3 elements:

Array
(
    [0] => laranja
    [1] => banana
    [2] => melancia
)

e morango será passado para $fruta.

Veja Também

  • array_push() - Adiciona um ou mais elementos no final de um array
  • array_shift() - Retira o primeiro elemento de um array
  • array_unshift() - Adiciona um ou mais elementos no início de um array


Calcula o produto dos valores de um array

  • « array_pop
  • array_push »
  • PHP Manual
  • Funções para Array
  • Calcula o produto dos valores de um array

array_product

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_product — Calcula o produto dos valores de um array

Descrição

array_product ( array $array ) : number

array_product() retorna o produto dos valores de um array.

Parâmetros

array

O array.

Valor Retornado

Retorna o produto com um inteiro ou float.

Changelog

Versão | Descrição
5.3.6 | O produto de um array vazio agora é 1, quando antes essa função iria retornar 0 para um array vazio.

Exemplos

Exemplo #1 Exemplo da array_product()

<?php

$a = array(2, 4, 6, 8);
echo "product(a) = " . array_product($a) . "\n";
echo "product(array()) = " . array_product(array()) . "\n";

?>

O exemplo acima irá imprimir:

product(a) = 384
product(array()) = 1


Adiciona um ou mais elementos no final de um array

  • « array_product
  • array_rand »
  • PHP Manual
  • Funções para Array
  • Adiciona um ou mais elementos no final de um array

array_push

(PHP 4, PHP 5, PHP 7, PHP 8)

array_push — Adiciona um ou mais elementos no final de um array

Descrição

array_push ( array &$array , mixed $value1 , mixed $... = ? ) : int

array_push() trata array como uma pilha, e adiciona as variáveis passadas como argumentos no final de array. O tamanho do array aumenta de acordo com o número de variáveis adicionadas. Tem o mesmo efeito de:

<?php
$array[] = $var;
?>
repetido para cada argumento.

Nota: Se você usar array_push() para adicionar um elemento na array, é melhor usar $array[] = porque deste jeito não há uma chamada a uma função.

Nota: array_push() irá emitir um aviso se o primeiro argumento não for um array. isto é diferente do funcionamento de $var[] aonde uma nova matriz é criada.

Parâmetros

array

O array de entrada.

var

O primeiro valor a ser adicionado no final de array.

Valor Retornado

Retorna o novo número de elementos do array.

Exemplos

Exemplo #1 Exemplo de array_push()

<?php
$cesta = array("laranja", "morango");
array_push($cesta, "melancia", "batata");
print_r($cesta);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => laranja
    [1] => morango
    [2] => melancia
    [3] => batata
)

Veja Também

  • array_pop() - Extrai um elemento do final do array
  • array_shift() - Retira o primeiro elemento de um array
  • array_unshift() - Adiciona um ou mais elementos no início de um array


Escolhe um ou mais elementos aleatórios de um array

  • « array_push
  • array_reduce »
  • PHP Manual
  • Funções para Array
  • Escolhe um ou mais elementos aleatórios de um array

array_rand

(PHP 4, PHP 5, PHP 7, PHP 8)

array_rand — Escolhe um ou mais elementos aleatórios de um array

Descrição

array_rand ( array $array , int $num = 1 ) : mixed

Escolhe aleatóriamente um ou mais itens de um array, e retorna a chave (ou chaves) do itens selecionados. Utiliza um gerador de números pseudo randômicos que não é apropriado para uso criptográfico.

Parâmetros

array

O array de entrada.

num

Especifica quantos elementos deseja obter.

Valor Retornado

Se estiver selecionando apenas um elemento, array_rand() retorna a chave para este elemento aleatório. De outra forma, ele retorna um array com as chaves desses elementos selecionados. Assim é possível selecionar os elementos pelas chaves no array assim como valores aleatórios. Tentar selecionar mais elementos que a quantidade presente no array resultará em um erro E_WARNING, e NULL será retornado.

Changelog

Versão | Descrição
5.2.10 | O array retornado não é mais embaralhado.

Exemplos

Exemplo #1 Exemplo de array_rand()

<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>

Veja Também

  • shuffle() - Mistura os elementos de um array


Reduz um array para um único valor através de um processo iterativo via função callback

  • « array_rand
  • array_replace_recursive »
  • PHP Manual
  • Funções para Array
  • Reduz um array para um único valor através de um processo iterativo via função callback

array_reduce

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

array_reduce — Reduz um array para um único valor através de um processo iterativo via função callback

Descrição

array_reduce ( array $array , callable $callback , mixed $initial = null ) : mixed

array_reduce() aplica iterativamente a função callback aos elementos de array, de forma a reduzir o array a um único valor.

Parâmetros

array

O array de entrada.

callback
callback ( mixed $carry , mixed $item ) : mixed
carry

Informa o valor da iteração anterior. No caso da primeira iteração ele terá o valor de initial.

item

Mantém o valor da iteração atual.

initial

Se o argumento opcional initial for passado, ele será utilizado no início do processo, ou como um resultado final se o array estiver vazio.

Valor Retornado

Retorna o valor resultante.

Se a array estiver vazio e initial não for passado, array_reduce() retornará null.

Changelog

Versão | Descrição
5.3.0 | initial modificado para permitir mixed (anteriormente era integer).

Exemplos

Exemplo #1 Exemplo de array_reduce()

<?php
function sum($carry, $item)
{
    $carry += $item;
    return $carry;
}

function product($carry, $item)
{
    $carry *= $item;
    return $carry;
}

$a = array(1, 2, 3, 4, 5);
$x = array();

var_dump(array_reduce($a, "sum")); // int(15)
var_dump(array_reduce($a, "product", 10)); // int(1200), because: 10*1*2*3*4*5
var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"
?>

Veja Também

  • array_filter() - Filtra elementos de um array utilizando uma função callback
  • array_map() - Aplica uma função em todos os elementos dos arrays dados
  • array_unique() - Remove os valores duplicados de um array
  • array_count_values() - Conta todos os valores de um array


Replaces elements from passed arrays into the first array recursively

  • « array_reduce
  • array_replace »
  • PHP Manual
  • Funções para Array
  • Replaces elements from passed arrays into the first array recursively

array_replace_recursive

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

array_replace_recursive — Replaces elements from passed arrays into the first array recursively

Descrição

array_replace_recursive ( array $array , array ...$replacements ) : array

array_replace_recursive() replaces the values of array with the same values from all the following arrays. If a key from the first array exists in the second array, its value will be replaced by the value from the second array. If the key exists in the second array, and not the first, it will be created in the first array. If a key only exists in the first array, it will be left as is. If several arrays are passed for replacement, they will be processed in order, the later array overwriting the previous values.

array_replace_recursive() is recursive : it will recurse into arrays and apply the same process to the inner value.

When the value in the first array is scalar, it will be replaced by the value in the second array, may it be scalar or array. When the value in the first array and the second array are both arrays, array_replace_recursive() will replace their respective value recursively.

Parâmetros

array

The array in which elements are replaced.

replacements

Arrays from which elements will be extracted.

Valor Retornado

Returns an array, or null if an error occurs.

Exemplos

Exemplo #1 array_replace_recursive() example

<?php
$base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), );
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry'));

$basket = array_replace_recursive($base, $replacements);
print_r($basket);

$basket = array_replace($base, $replacements);
print_r($basket);
?>

O exemplo acima irá imprimir:

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

)
Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
        )

)

Exemplo #2 array_replace_recursive() and recursive behavior

<?php
$base = array('citrus' => array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' );
$replacements = array('citrus' => 'pineapple', 'berries' => array('blueberry'), 'others' => array('litchis'));
$replacements2 = array('citrus' => array('pineapple'), 'berries' => array('blueberry'), 'others' => 'litchis');

$basket = array_replace_recursive($base, $replacements, $replacements2);
print_r($basket);

?>

O exemplo acima irá imprimir:

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

    [others] => litchis
)

Veja Também

  • array_replace() - Replaces elements from passed arrays into the first array
  • array_merge_recursive() - Funde dois ou mais arrays recursivamente


Replaces elements from passed arrays into the first array

  • « array_replace_recursive
  • array_reverse »
  • PHP Manual
  • Funções para Array
  • Replaces elements from passed arrays into the first array

array_replace

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

array_replace — Replaces elements from passed arrays into the first array

Descrição

array_replace ( array $array , array ...$replacements ) : array

array_replace() replaces the values of array with values having the same keys in each of the following arrays. If a key from the first array exists in the second array, its value will be replaced by the value from the second array. If the key exists in the second array, and not the first, it will be created in the first array. If a key only exists in the first array, it will be left as is. If several arrays are passed for replacement, they will be processed in order, the later arrays overwriting the previous values.

array_replace() is not recursive : it will replace values in the first array by whatever type is in the second array.

Parâmetros

array

The array in which elements are replaced.

replacements

Arrays from which elements will be extracted. Values from later arrays overwrite the previous values.

Valor Retornado

Returns an array, or null if an error occurs.

Exemplos

Exemplo #1 array_replace() example

<?php
$base = array("orange", "banana", "apple", "raspberry");
$replacements = array(0 => "pineapple", 4 => "cherry");
$replacements2 = array(0 => "grape");

$basket = array_replace($base, $replacements, $replacements2);
print_r($basket);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => grape
    [1] => banana
    [2] => apple
    [3] => raspberry
    [4] => cherry
)

Veja Também

  • array_replace_recursive() - Replaces elements from passed arrays into the first array recursively
  • array_merge() - Combina um ou mais arrays


Retorna um array com os elementos na ordem inversa

  • « array_replace
  • array_search »
  • PHP Manual
  • Funções para Array
  • Retorna um array com os elementos na ordem inversa

array_reverse

(PHP 4, PHP 5, PHP 7, PHP 8)

array_reverse — Retorna um array com os elementos na ordem inversa

Descrição

array_reverse ( array $array , bool $preserve_keys = false ) : array

Recebe como entrada array e retorna um novo array com a ordem dos elementos invertida.

Parâmetros

array

O array de entrada.

preserve_keys

Se definido para true as chaves serão preservadas. Chaves não numéricas não são afetadas por essa opção, e são sempre preservadas.

Valor Retornado

Retorna o array invertido.

Exemplos

Exemplo #1 array_reverse() example

<?php
$input  = array("php", 4.0, array("green", "red"));
$reversed = array_reverse($input);
$preserved = array_reverse($input, true);

print_r($input);
print_r($reversed);
print_r($preserved);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => php
    [1] => 4
    [2] => Array
        (
            [0] => green
            [1] => red
        )

)
Array
(
    [0] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [0] => php
)

Veja Também

  • array_flip() - Permuta todas as chaves e seus valores associados em um array


Procura por um valor em um array e retorna sua chave correspondente caso seja encontrado

  • « array_reverse
  • array_shift »
  • PHP Manual
  • Funções para Array
  • Procura por um valor em um array e retorna sua chave correspondente caso seja encontrado

array_search

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

array_search — Procura por um valor em um array e retorna sua chave correspondente caso seja encontrado

Descrição

array_search ( mixed $needle , array $haystack , bool $strict = false ) : mixed

Procura em haystack por needle.

Parâmetros

needle

O valor procurado.

Nota:

Se needle for uma string, a comparação é feita de uma maneira que diferencia maiúsculas e minúsculas.

haystack

O array.

strict

Se o terceiro parâmetro opcional strict for informador como true então array_search() fará uma busca por elementos idênticos em haystack. Isto significa que haverá uma checagem adicional de tipos no parâmetro needle ao percorrer haystack, de forma que os objetos sejam a mesma instância.

Valor Retornado

Retorna a chave para needle se foi encontrada no array, false caso contrário.

Se needle for encontrado em haystack mais de uma vez, a primeira chave encontrada é retornada. Para retornar as chaves de todos os valores que combinantes, utilize a função array_keys() com o parâmetro opcional search_value.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Changelog

Versão | Descrição
5.3.0 | A partir do PHP 5.3.0 array_search() retorna null caso sejam informados parâmetros inválidos.
4.2.0 | Antes do PHP 4.2.0, array_search() retorna null em caso de falha ao invés de false.

Exemplos

Exemplo #1 Exemplo da array_search()

<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;
?>

Veja Também

  • array_keys() - Retorna todas as chaves ou uma parte das chaves de um array
  • array_values() - Retorna todos os valores de um array
  • array_key_exists() - Checa se uma chave ou índice existe em um array
  • in_array() - Checa se um valor existe em um array


Retira o primeiro elemento de um array

  • « array_search
  • array_slice »
  • PHP Manual
  • Funções para Array
  • Retira o primeiro elemento de um array

array_shift

(PHP 4, PHP 5, PHP 7, PHP 8)

array_shift — Retira o primeiro elemento de um array

Descrição

array_shift ( array &$array ) : mixed

array_shift() retira o primeiro elemento de array e o retorna, diminuindo array em um elemento e movendo todos os outros elementos para trás. Todas as chaves numéricas alteradas para começar a contar a de 0 (zero), enquanto chaves string permanecerão inalteradas.

Nota: Esta função irá resetar() o ponteiro do array depois do uso.

Parâmetros

array

O array de entrada.

Valor Retornado

Retorna o valor removido, ou null se array for vazio ou não é um array.

Exemplos

Exemplo #1 Exemplo da array_shift()

<?php
$cesta = array("laranja", "banana", "melancia", "morango");
$fruta = array_shift($cesta);
print_r($cesta);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => banana
    [1] => melancia
    [2] => morango
)

e laranja seria passado para $fruta.

Veja Também

  • array_unshift() - Adiciona um ou mais elementos no início de um array
  • array_push() - Adiciona um ou mais elementos no final de um array
  • array_pop() - Extrai um elemento do final do array


Extrai uma parcela de um array

  • « array_shift
  • array_splice »
  • PHP Manual
  • Funções para Array
  • Extrai uma parcela de um array

array_slice

(PHP 4, PHP 5, PHP 7, PHP 8)

array_slice — Extrai uma parcela de um array

Descrição

array_slice ( array $array , int $offset , int $length = null , bool $preserve_keys = false ) : array

array_slice() retorna a sequência de elementos de um array delimitado pelos parâmetros offset e length.

Parâmetros

array

O array de entrada.

offset

Se offset for não negativo, a sequência começará do início de array. Se offset for negativo, a sequência começará dessa distância do final de array.

length

Se length for especificado e positivo, então a sequência terá essa quantidade de elementos. Se o array for menor que length, então somente os elementos disponíveis serão retornados. Se length for especificado e negativo então a sequência conterá essa quantidade elementos a partir do final do array. Se for omitido, então a sequência terá todos os elementos a partir de offset até o final de array.

preserve_keys

Note que array_slice() irá reordenar e resetar as chaves numéricas por padrão. Você pode mudar esse comportamento definindo preserve_keys como true.

Valor Retornado

Retorna a parcela. Se o offset é maior que o tamanho do array então retorna um array vazio.

Exemplos

Exemplo #1 Exemplos da array_slice()

<?php
$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // returns "c", "d", and "e"
$output = array_slice($input, -2, 1);  // returns "d"
$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

O exemplo acima irá imprimir:

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
}

Veja Também

  • array_splice() - Remove uma parcela do array e substitui com outros elementos
  • unset() - Destrói a variável especificada
  • array_chunk() - Divide um array em pedaços


Remove uma parcela do array e substitui com outros elementos

  • « array_slice
  • array_sum »
  • PHP Manual
  • Funções para Array
  • Remove uma parcela do array e substitui com outros elementos

array_splice

(PHP 4, PHP 5, PHP 7, PHP 8)

array_splice — Remove uma parcela do array e substitui com outros elementos

Descrição

array_splice ( array &$input , int $offset , int $length = ? , mixed $replacement = ? ) : array

Remove a sequência de elementos especificados por offset e length do array input, e os substitui com os elementos do array replacement, se for especificado.

Note que as chaves numéricas em input não são preservadas.

Nota: Se replacement não for um array, ele será convertido para um array (i.e. (array) $parameter). Isso pode resultar em um comportamento inesperado quando usando um objeto ou null replacement.

Parâmetros

input

O array de entrada.

offset

Se offset for positivo então o começo da região a ser removida será nessa posição a partir do início do array input. Se offset for negativo então o ínicio será dessa distância do final de input.

length

Se length for omitido, todos os elementos a partir de offset até o final do array serão removidos.

Se length for especificado e positivo, então essa quantidade de elementos será removida.

Se length for especificado e negativo então o final da região a ser removida será a quantidade de elementos a partir do final do array.

Se length for especificado e for zero nenhum elemento será removido.

Dica

Para remover todos elementos a partir de offset até o final do array quando replacement também é especificado, use count($input) para o argumento length.

replacement

Se o array replacement for especificado, então os elementos removidos serão substituidos pelo elementos desse array.

Se offset e length informados resultam em nada a remover, então os elementos do array replacement será incluído no lugar especificado por offset.

Nota:

As chaves em replacement não são preservadas.

Se replacement for de apenas um elemento então não será necessário colocar array() para ele, a não ser que elementos seja um array.

Valor Retornado

Retorna o array consistindo de elementos extraídos.

Exemplos

Exemplo #1 Exemplos da array_splice()

<?php
$input = array("vermelho", "verde", "azul", "amarelo");
array_splice($input, 2);
// $input será agora array("vermelho", "verde")

$input = array("vermelho", "verde", "azul", "amarelo");
array_splice($input, 1, -1);
// $input será agora array("vermelho", "amarelo")

$input = array("vermelho", "verde", "azul", "amarelo");
array_splice($input, 1, count($input), "laranja");
// $input será agora array("vermelho", "laranja")

$input = array("vermelho", "verde", "azul", "amarelo");
array_splice($input, -1, 1, array("preto", "marrom"));
// $input será agora array("vermelho", "verde", "azul", "preto", "marrom")
$input = array("vermelho", "verde", "azul", "amarelo");
array_splice($input, 3, 0, "roxo");
// A array $input agora é ("vermelho", "verde",
//          "azul", "roxo", "amarelo");

?>

Exemplo #2 Exemplos da array_splice()

Os seguintes comandos modificam os valores de $input da mesma forma:

<?php
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));
array_pop($input);
array_splice($input, -1);
array_shift($input);
array_splice($input, 0, 1);
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));
$input[$x] = $y; // for arrays where key equals offset
array_splice($input, $x, 1, $y);
?>

Veja Também

  • array_slice() - Extrai uma parcela de um array
  • unset() - Destrói a variável especificada
  • array_merge() - Combina um ou mais arrays


Calcula a soma dos elementos de um array

  • « array_splice
  • array_udiff_assoc »
  • PHP Manual
  • Funções para Array
  • Calcula a soma dos elementos de um array

array_sum

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

array_sum — Calcula a soma dos elementos de um array

Descrição

array_sum ( array $array ) : number

array_sum() retorna a soma dos valores de um array.

Parâmetros

array

O array de entrada.

Valor Retornado

Retorna a soma de valores como um inteiro ou float.

Changelog

Versão | Descrição
4.2.1 | Versões do PHP anteriores a 4.2.1 modificam o valor do próprio array passado e converte string para números (que na maioria das vezes converte para zero, dependendo do valor).

Exemplos

Exemplo #1 Exemplos da array_sum()

<?php
$a = array(2, 4, 6, 8);
echo "soma(a) = ".array_sum($a)."\n";

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);
echo "soma(b) = ".array_sum($b)."\n";
?>

O exemplo acima irá imprimir:

soma(a) = 20
soma(b) = 6.9


Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback

  • « array_sum
  • array_udiff_uassoc »
  • PHP Manual
  • Funções para Array
  • Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback

array_udiff_assoc

(PHP 5, PHP 7, PHP 8)

array_udiff_assoc — Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback

Descrição

array_udiff_assoc ( array $array1 , array $array2 , array $... = ? , callback $value_compare_func ) : array

Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback.

Nota: Por favor, note que esta função somente verifica uma dimensão de um array n-dimensional. Obviamente você pode checar dimensões mais profundas usando, por exemplo, array_udiff_assoc($array1[0], $array2[0], "some_comparison_func");.

Parâmetros

array1

O primeiro array.

array2

O segundo array.

value_compare_func

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int

Valor Retornado

array_udiff_assoc() retorna um array contendo todos os valores de array1 que não estão presentes em qualquer dos outros argumentos. Note que as chaves são usadas na comparação, ao contrário de array_diff() e array_udiff(). A comparação dos dados dos arrays é executada usando uma função de callback fornecida pelo usuário. Neste aspecto o comportamente é oposto ao de array_diff_assoc() que usa função interna para comparação.

Exemplos

Exemplo #1 Exemplo de array_udiff_assoc()

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    static function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }
}

$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff_assoc($a, $b, array("cr", "comp_func_cr"));
print_r($result);
?>

O exemplo acima irá imprimir:

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

Em nosso exemplo acima você vê que o par "1" => new cr(4) está presente em ambos os arrays e assim ele não está presente na saída da função.

Veja Também

  • array_diff() - Computa as diferenças entre arrays
  • array_diff_assoc() - Computa a diferença entre arrays com checagem adicional de índice
  • array_diff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário
  • array_udiff() - Computa a diferença de arrays usando uma função de callback para comparação dos dados
  • array_udiff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback
  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_uintersect() - Computa a interseção de array, comparando dados com uma função callback
  • array_uintersect_assoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback
  • array_uintersect_uassoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas


Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback

  • « array_udiff_assoc
  • array_udiff »
  • PHP Manual
  • Funções para Array
  • Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback

array_udiff_uassoc

(PHP 5, PHP 7, PHP 8)

array_udiff_uassoc — Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback

Descrição

array_udiff_uassoc ( array $array1 , array $array2 , array $ ... = ? , callback $data_compare_func , callback $key_compare_func ) : array

Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback.

Note que as chaves são usadas na comparação, ao contrário de array_diff() e array_udiff().

Parâmetros

array1

O primeiro array.

array2

O segundo array.

value_compare_func

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
key_compare_func

A comparação das chaves (índices) é feita também por função de callback: key_compare_func. Este comportamento é contrário ao que array_udiff_assoc() faz, já que esta compara os índices usando uma função interna.

Valor Retornado

Retorna um array contendo todos os valores de array1 que não estão presentes em qualquer dos outros argumentos.

Exemplos

Exemplo #1 Exemplo de array_udiff_uassoc()

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    static function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }

    static function comp_func_key($a, $b)
    {
        if ($a === $b) return 0;
        return ($a > $b)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), array("cr", "comp_func_key"));
print_r($result);
?>

O exemplo acima irá imprimir:

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

Em nosso exemplo acima você vê que o par "1" => new cr(4) está presente em ambos os arrays e assim não está na saída da função. Mantenha em mente que você deve fornecer duas funções de callback.

Notas

Nota: Por favor note que esta função somente checa uma dimensão de um array n-dimensional. É claro que você pode checar dimensões mais profundas usando, por exemplo, array_udiff_uassoc($array1[0], $array2[0], "data_compare_func", "key_compare_func");.

Veja Também

  • array_diff() - Computa as diferenças entre arrays
  • array_diff_assoc() - Computa a diferença entre arrays com checagem adicional de índice
  • array_udiff() - Computa a diferença de arrays usando uma função de callback para comparação dos dados
  • array_udiff_assoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback
  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_uintersect() - Computa a interseção de array, comparando dados com uma função callback
  • array_uintersect_assoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback
  • array_uintersect_uassoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas


Computa a diferença de arrays usando uma função de callback para comparação dos dados

  • « array_udiff_uassoc
  • array_uintersect_assoc »
  • PHP Manual
  • Funções para Array
  • Computa a diferença de arrays usando uma função de callback para comparação dos dados

array_udiff

(PHP 5, PHP 7, PHP 8)

array_udiff — Computa a diferença de arrays usando uma função de callback para comparação dos dados

Descrição

array_udiff ( array $array1 , array $array2 , array $ ... = ? , callback $data_compare_func ) : array

Computa a diferença de arrays usando uma função de callback para comparação dos dados. Esta é contrária a array_diff() que usa uma função interna para comparar os dados.

Parâmetros

array1

O primeiro array.

array2

O segundo array.

data_compare_func

A função de callback de comparação.

A função de callback fornecida pelo usuário é usada para comparação. Ela deve retornar um inteiro menor que, igual a, ou maior que zero se o primeiro argumento é considerado respectivamente, menor que, igual a, ou maior que o segundo.

Valor Retornado

Retorna um array contendo todos os valores de array1 que não estão presentes em qualquer dos outros argumentos.

Exemplos

Exemplo #1 Exemplo de array_udiff()

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    static function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff($a, $b, array("cr", "comp_func_cr"));
print_r($result);
?>

O exemplo acima irá imprimir:

Array
(
    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )

)

Notas

Nota: Por favor note que esta função somente checa uma dimensão de um array n-dimensional. É claro que você pode checar dimensões mais profundas usando array_udiff($array1[0], $array2[0], "data_compare_func");.

Veja Também

  • array_diff() - Computa as diferenças entre arrays
  • array_diff_assoc() - Computa a diferença entre arrays com checagem adicional de índice
  • array_diff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário
  • array_udiff_assoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback
  • array_udiff_uassoc() - Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback
  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_uintersect() - Computa a interseção de array, comparando dados com uma função callback
  • array_uintersect_assoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback
  • array_uintersect_uassoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas


Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback

  • « array_udiff
  • array_uintersect_uassoc »
  • PHP Manual
  • Funções para Array
  • Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback

array_uintersect_assoc

(PHP 5, PHP 7, PHP 8)

array_uintersect_assoc — Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback

Descrição

array_uintersect_assoc ( array $array1 , array $array2 , array $... = ? , callable $value_compare_func ) : array

Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback.

Note que as chaves são utilizadas na comparação, diferente de array_uintersect(). Os dados são comparados utilizando funções de callback.

Parâmetros

array1

Primeiro array.

array2

Segundo array.

value_compare_func

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int

Valor Retornado

Retorna um array contendo todos os valores de array1 que estão presentes em todos os argumentos.

Exemplos

Exemplo #1 Exemplo de array_uintersect_assoc()

<?php
$array1 = array("a" => "verde", "b" => "marrom", "c" => "azul", "vermelho");
$array2 = array("a" => "VERDE", "B" => "marrom", "amarelo", "vermelho");

print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>

O exemplo acima irá imprimir:

Array
(
    [a] => verde
)

Veja Também

  • array_uintersect() - Computa a interseção de array, comparando dados com uma função callback
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_intersect_uassoc() - Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback
  • array_uintersect_uassoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas


Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas

  • « array_uintersect_assoc
  • array_uintersect »
  • PHP Manual
  • Funções para Array
  • Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas

array_uintersect_uassoc

(PHP 5, PHP 7, PHP 8)

array_uintersect_uassoc — Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas

Descrição

array_uintersect_uassoc ( array $array1 , array $array2 , array $... = ? , callable $value_compare_func , callable $key_compare_func ) : array

Computa a interseção de arrays com checagem adicional de índice, compara dados e índices utilizando funções de callback separadas.

Parâmetros

array1

Primeiro array.

array2

Segundo array.

value_compare_func

A função de comparação precisa retornar um inteiro menor, igual, ou maior que zero caso o primeiro argumento seja considerado respectivamente maior, igual ou maior que o segundo. Note que antes do PHP 7.0.0 este inteiro tinha de estar no intervalo de -2147483648 a 2147483647.

callback ( mixed $a, mixed $b ) : int
key_compare_func

Função para comparação das chaves (índices).

Valor Retornado

Retorna um array contendo todos os valores de array1 que estão presentes em todos os argumentos.

Exemplos

Exemplo #1 Exemplo de array_uintersect_uassoc()

<?php
$array1 = array("a" => "verde", "b" => "marrom", "c" => "azul", "vermelho");
$array2 = array("a" => "VERDE", "B" => "marrom", "amarelo", "vermelho");

print_r(array_uintersect_uassoc($array1, $array2, "strcasecmp", "strcasecmp"));
?>

O exemplo acima irá imprimir:

Array
(
    [a] => verde
    [b] => marrom
)

Veja Também

  • array_uintersect() - Computa a interseção de array, comparando dados com uma função callback
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_intersect_uassoc() - Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback
  • array_uintersect_assoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback


Computa a interseção de array, comparando dados com uma função callback

  • « array_uintersect_uassoc
  • array_unique »
  • PHP Manual
  • Funções para Array
  • Computa a interseção de array, comparando dados com uma função callback

array_uintersect

(PHP 5, PHP 7, PHP 8)

array_uintersect — Computa a interseção de array, comparando dados com uma função callback

Descrição

array_uintersect ( array $array1 , array $array2 , array $ ... = ? , callback $data_compare_func ) : array

Computa a interseção de arrays, compara as informações usando uma função callback.

Parâmetros

array1

O primeiro array.

array2

O segundo array.

data_compare_func

A função callback de comparação.

A função callback fornecida pelo usuário é usada para comparação. Ela precisa retornar um inteiro menos que, igual a, ou maior que zero se o primeiro argumento é considerado ser respectivamente menor que, igual a, ou maior que o segundo.

Valor Retornado

Retorna um array contendo todos os valores de array1 que estão presentes em todos os argumentos.

Exemplos

Exemplo #1 Exemplo da array_uintersect()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect($array1, $array2, "strcasecmp"));
?>

O exemplo acima irá imprimir:

Array
(
    [a] => green
    [b] => brown
    [0] => red
)

Veja Também

  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_uintersect_assoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback
  • array_uintersect_uassoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas


Remove os valores duplicados de um array

  • « array_uintersect
  • array_unshift »
  • PHP Manual
  • Funções para Array
  • Remove os valores duplicados de um array

array_unique

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_unique — Remove os valores duplicados de um array

Descrição

array_unique ( array $array ) : array

Recebe o argumento array e retorna um novo array sem valores duplicados.

Note que as chaves são preservadas. array_unique() ordena inicialmente os valores como strings mantendo a primeira chave encontrada para cada valor, e ignorando as chaves encontradas posteriormente. Isso não significa que a chave do primeiro valor do array ainda desordenado será mantido.

Nota: Dois elementos são considerados iguais se, e somente se, (string) $elem1 === (string) $elem2. Em palavras: quando a represetação em string é a mesma. O primeiro será usado.

Parâmetros

array

O array de entrada.

sort_flags

O segundo parâmetro opcional sort_flags pode ser utilizado para modificar o comportamento de ordenação usando estes valores:

Sinalizações de tipo de ordenação:

  • SORT_REGULAR - compara os itens normalmente (não altera tipos)
  • SORT_NUMERIC - compara itens numericamente
  • SORT_STRING - compara itens como strings
  • SORT_LOCALE_STRING - compara itens como strings baseado no atual locale.

Valor Retornado

Retorna o array filtrado.

Changelog

Versão | Descrição
7.2.0 | Se sort_flags for SORT_STRING, o array anterior foi copiado e os elementos não únicos foram removidos (sem empacotar o array em seguida), mas um novo array é criado ao adicionar os novos elementos. Isto pode resultar em índices numéricos diferentes.

Exemplos

Exemplo #1 Exemplo de array_unique()

<?php
$input = array("a" => "verde", "vermelho", "b" => "verde", "azul", "vermelho");
$result = array_unique($input);
print_r($result);
?>

O exemplo acima irá imprimir:

Array
(
    [a] => verde
    [0] => vermelho
    [1] => azul

)

Exemplo #2 array_unique() e tipos

<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>

O exemplo acima irá imprimir:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

Veja Também

  • array_count_values() - Conta todos os valores de um array

Notas

Nota: Note que array_unique() não está preparado para funcionar em array multidimensional.


Adiciona um ou mais elementos no início de um array

  • « array_unique
  • array_values »
  • PHP Manual
  • Funções para Array
  • Adiciona um ou mais elementos no início de um array

array_unshift

(PHP 4, PHP 5, PHP 7, PHP 8)

array_unshift — Adiciona um ou mais elementos no início de um array

Descrição

array_unshift ( array &$array , mixed $var , mixed $... = ? ) : int

array_unshift() adiciona os elementos passados como argumentos no início de array. Note que a lista de elementos é adicionada como um todo, de forma que eles ficam na mesma ordem. Todas as chaves numéricas serão modificadas para começar a contar de 0 (zero) enquanto chaves strings permanecerão inalteradas.

Parâmetros

array

O array de entrada.

var

A variável a ser adicionada.

Valor Retornado

Retorna o novo número de elementos em array.

Exemplos

Exemplo #1 Exemplo de array_unshift()

<?php
$cesta = array("laranja", "banana");
array_unshift($cesta, "melancia", "morango");
print_r($cesta);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => melancia
    [1] => morango
    [2] => laranja
    [3] => banana
)

Veja Também

  • array_shift() - Retira o primeiro elemento de um array
  • array_push() - Adiciona um ou mais elementos no final de um array
  • array_pop() - Extrai um elemento do final do array


Retorna todos os valores de um array

  • « array_unshift
  • array_walk_recursive »
  • PHP Manual
  • Funções para Array
  • Retorna todos os valores de um array

array_values

(PHP 4, PHP 5, PHP 7, PHP 8)

array_values — Retorna todos os valores de um array

Descrição

array_values ( array $array ) : array

array_values() retorna todos os valores do array array num array indexado numericamente.

Parâmetros

array

O array.

Valor Retornado

Retorna um array indexado de valores.

Exemplos

Exemplo #1 Exemplo de array_values()

<?php
$array = array("tamanho" => "G", "cor" => "dourado");
print_r(array_values ($array));
?>

O exemplo acima irá imprimir:

Array
(
    [0] => G
    [1] => dourado
)

Veja Também

  • array_keys() - Retorna todas as chaves ou uma parte das chaves de um array
  • array_combine() - Cria um array usando um array para chaves e outro para valores


Aplica um função do usuário recursivamente para cada membro de um array

  • « array_values
  • array_walk »
  • PHP Manual
  • Funções para Array
  • Aplica um função do usuário recursivamente para cada membro de um array

array_walk_recursive

(PHP 5, PHP 7, PHP 8)

array_walk_recursive — Aplica um função do usuário recursivamente para cada membro de um array

Descrição

array_walk_recursive ( array &$input , callback $funcname , mixed $userdata = ? ) : bool

Aplica a função definida pelo usuário funcname para cada elemento do array input. Esta função irá ser usada em todo array.

Parâmetros

input

O array de entrada.

funcname

Tipicamente, funcname usa dois parâmetros. O primeiro valor do parâmetro input, e a segunda chave/índice.

Nota:

Se funcname precisa trabalhar com atuais valores da array, especifique o primeiro parâmetro da funcname com uma referência. Então, as modificações feitas para estes elementos serão feitas no próprio array original.

userdata

Se o opcional parâmetro userdata é fornecido, ele é usado como o terceiro parâmetro para o callback funcname.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da array_walk_recursive()

<?php
$sweet = array('a' => 'apple', 'b' => 'banana');
$fruits = array('sweet' => $sweet, 'sour' => 'lemon');

function test_print($item, $key)
{
    echo "$key holds $item\n";
}

array_walk_recursive($fruits, 'test_print');
?>

O exemplo acima irá imprimir:

a holds apple
b holds banana
sour holds lemon

Você pode nota que a chave 'sweet' nunca é mostrada. Uma chave que indica um array não é passado para a função.

Veja Também

  • array_walk() - Aplica uma determinada funcão em cada elemento de um array
  • informação sobre o tipo callback


Aplica uma determinada funcão em cada elemento de um array

  • « array_walk_recursive
  • array »
  • PHP Manual
  • Funções para Array
  • Aplica uma determinada funcão em cada elemento de um array

array_walk

(PHP 4, PHP 5, PHP 7, PHP 8)

array_walk — Aplica uma determinada funcão em cada elemento de um array

Descrição

array_walk ( array &$arrary , string $funcname , mixed $userdata = ? ) : bool

Aplica uma função definida pelo usuário nomeada pelo argumento funcname em cada elemento de array.

array_walk() não é afetado pelo ponteiro interno de array. array_walk() percorrerá por todo array desconsiderando a posição do ponteiro.

Parâmetros

array

O array de entrada.

funcname

Normalmente, funcname recebe dois parâmetros. O valor do parâmetro array sendo o primeiro, e a chave/índice o segundo.

Nota:

Se funcname precisar alterar realmente os valores do array, especifique que o primeiro parâmetro de funcname deve ser passado por referência. Então qualquer mudança feita nesses elementos serão feitas no próprio array também.

Apenas os valores de um array podem potencialmente ser alterados; sua estrutura não pode ser alterada, por exemplo, o programador não pode adicionar, remover ou reordenar elementos. Se o callback não respeitar esta regra, o comportamento desta função é indefinido, e imprevisível.

userdata

Se o parâmetro opcional userdata é fornecido, será passado como o terceiro parâmetro para o callback funcname.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Se funcname necessita de mais argumentos do que o que está sendo passado para ela, um erro do nível E_WARNING será gerado a cada vez que array_walk() executar func. Esses avisos podem ser suprimidos adicionando o operador @ à chamada da função array_walk(), ou usando error_reporting().

Changelog

Versão | Descrição
4.0.0 | Passagem da chave e userdata para funcname foi adicionado.

Exemplo #1 Exemplo da array_walk()

<?php
$frutas = array("d" => "limao", "a" => "laranja", "b" => "banana", "c" => "melancia");

function test_alter(&$item1, $key, $prefix)
{
    $item1 = "$prefix: $item1";
}

function test_print($item2, $key)
{
    echo "$key. $item2<br>\n";
}

echo "Antes ...:\n";
array_walk($frutas, 'test_print');

array_walk($frutas, 'test_alter', 'fruta');
echo "... e depois:\n";

array_walk($frutas, 'test_print');
?>

O exemplo acima irá imprimir:

Antes ...:
d. limao
a. laranja
b. banana
c. melancia
... e depois:
d. fruit: limao
a. fruit: laranja
b. fruit: banana
c. fruit: melancia

Veja Também

  • array_walk_recursive() - Aplica um função do usuário recursivamente para cada membro de um array
  • create_function() - Cria uma função anônima (lambda-style)
  • list() - Cria variáveis como se fossem arrays
  • each() - Retorna o par chave/valor corrente de um array e avança o seu cursor
  • call_user_func_array() - Chama uma dada função de usuário com um array de parâmetros
  • array_map() - Aplica uma função em todos os elementos dos arrays dados
  • informação sobre o tipo callback
  • foreach


Cria um array

  • « array_walk
  • arsort »
  • PHP Manual
  • Funções para Array
  • Cria um array

array

(PHP 4, PHP 5, PHP 7, PHP 8)

array — Cria um array

Descrição

array ( mixed $... = ? ) : array

Cria um array. Leia a seção sobre o tipo array para mais informação sobre o que é um array.

Parâmetros

...

A sintaxe "index => values", separados por vírgulas, definem índice e valores respectivamente. O índice por de ser do tipo string ou numérico. Quando o índice é omitido, um índice numérico inteiro é automaticamente gerado, começando do 0. Se o índice é um inteiro, o próximo índice a ser gerado será igual ao maior índice inteiro + 1. Note que quando dois índices idênticos são definidos, o último sobrescreve o primeiro.

O exemplo a seguir demonstra como criar um array com duas dimensões, como especificar chaves em arrays associativos, e como definir índices numéricos em arrays normais. Tem uma vírgula após a ultima entrada definida da matriz, mesmo sendo incomum, é uma sintaxe válida.

Valor Retornado

Retorna um array dos parâmetros. Os parâmetros podem ser dados com um índice com o operador =>. Leia a seção sobre o tipo array para mais informação sobre o que ele é.

Exemplos

Exemplo #1 Exemplo de array()

<?php
$frutas = array (
    "frutas" => array("a"=>"laranja", "b"=>"banana", "c"=>"maçã"),
    "numeros" => array(1, 2, 3, 4, 5, 6),
    "buracos" => array("primeiro", 5 => "segundo", "terceiro")
);
?>

Exemplo #2 Indexação automática com array()

<?php
$array = array(1, 1, 1, 1,  1, 8 => 1,  4 => 1, 19, 3 => 13);
print_r($array);
?>

O exemplo acima irá imprimir:

Array
(
    [0] => 1
    [1] => 1
    [2] => 1
    [3] => 13
    [4] => 1
    [8] => 1
    [9] => 19
)

Note que o índice 3 é definido duas vezes, e retêm seu último valor 13. O índice 4 é definido depois do índice 8, e o índice gerado depois dele foi 9, uma vez que o maior índice era 8.

Esse exemplo cria um array com o índices a partir do 1.

Exemplo #3 Array com índices a partir do 1 com array()

<?php
$firstquarter = array(1 => 'Janeiro', 'Fevereiro', 'Março');
print_r($firstquarter);
?>

O exemplo acima irá imprimir:

Array
(
    [1] => Janeiro
    [2] => Fevereiro
    [3] => Março
)

Como no Perl, você pode acessar o valor de um array dentro de aspas. Entretanto, você terá que colocar a sua array dentro de conchetes.

Exemplo #4 Acessando uma matriz dentro de conchetes

<?php

$foo = array('bar' => 'baz');
echo "Hello {$foo['bar']}!"; // Hello baz!

?>

Notas

Nota:

array() é um construtor da linguagem usado para representar arrays literais, e não um função normal.

Veja Também

  • array_pad() - Expande um array para um certo comprimento utilizando um determinado valor
  • list() - Cria variáveis como se fossem arrays
  • count() - Conta o número de elementos de uma variável, ou propriedades de um objeto
  • range() - Cria um array contendo uma faixa de elementos
  • foreach
  • The array type


Ordena um array em ordem descrescente mantendo a associação entre índices e valores

  • « array
  • asort »
  • PHP Manual
  • Funções para Array
  • Ordena um array em ordem descrescente mantendo a associação entre índices e valores

arsort

(PHP 4, PHP 5, PHP 7, PHP 8)

arsort — Ordena um array em ordem descrescente mantendo a associação entre índices e valores

Descrição

arsort ( array &$array , int $sort_flags = ? ) : bool

Esta função ordena um array de forma que a correlação entre índices e valores é mantida.

É usada principalmente para ordenar arrays associativos onde a ordem dos elementos é um fator importante.

Parâmetros

array

O array de entrada.

sort_flags

Você pode modificar o comportamento da ordenação usando o parâmetro opcional sort_flags, para detalhes veja sort().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da arsort()

<?php
$frutas = array("d" => "limao", "a" => "laranja", "b" => "banana", "c" => "melancia");
arsort($frutas);
foreach ($frutas as $chave => $valor) {
    echo "$chave = $valor\n";
}
?>

O exemplo acima irá imprimir:

c = melancia
d = limao
a = laranja
b = banana

As frutas foram ordenadas na ordem alfabética inversa, e os índices associados a cada valor foram mantidos.

Veja Também

  • asort() - Ordena um array mantendo a associação entre índices e valores
  • rsort() - Ordena um array em ordem descrescente
  • ksort() - Ordena um array pelas chaves
  • sort() - Ordena um array


Ordena um array mantendo a associação entre índices e valores

  • « arsort
  • compact »
  • PHP Manual
  • Funções para Array
  • Ordena um array mantendo a associação entre índices e valores

asort

(PHP 4, PHP 5, PHP 7, PHP 8)

asort — Ordena um array mantendo a associação entre índices e valores

Descrição

asort ( array &$array , int $sort_flags = ? ) : bool

Essa função ordena um array de forma que a correlação entre índices e valores é mantida. É usada principalmente para ordenar arrays associativos onde a ordem dos elementos é um fator importante.

Parâmetros

array

O array de entrada.

sort_flags

Você pode modificar o comportamento da ordenação usando o parâmetro opcional sort_flags, para mais detalhes veja sort().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da asort()

<?php
$frutas = array("d" => "limao", "a" => "laranja", "b" => "banana", "c" => "melancia");
asort($frutas);
foreach( $frutas as $chave => $valor ){
    echo "$chave = $valor\n";
}
?>

O exemplo acima irá imprimir:

b = banana
a = laranja
d = limao
c = melancia

As frutas foram ordenadas na ordem alfabética, e os índices associados a cada valor foram mantidos.

Veja Também

  • arsort() - Ordena um array em ordem descrescente mantendo a associação entre índices e valores
  • sort() - Ordena um array
  • ksort() - Ordena um array pelas chaves
  • rsort() - Ordena um array em ordem descrescente


Cria um array contendo variáveis e seus valores

  • « asort
  • count »
  • PHP Manual
  • Funções para Array
  • Cria um array contendo variáveis e seus valores

compact

(PHP 4, PHP 5, PHP 7, PHP 8)

compact — Cria um array contendo variáveis e seus valores

Descrição

compact ( mixed $varname , mixed $... = ? ) : array

Cria um array contendo variáveis e seus valores.

Para cada um dos parâmetros passados, compact() procura uma variável com o nome especificado na tabela de símbolos e a adiciona no array de saída de forma que o nome da variável será a chave e o seu conteúdo será o valor para esta chave. Em resumo, ela faz o oposto de extract().

Qualquer string com nome de uma variável que não exista será simplesmente ignorada.

Parâmetros

varname

compact() recebe um número variável de parâmetros. Cada parâmetro pode ser ou uma string contendo o nome da variável, ou um array de nomes de variáveis. O array pode conter outros arrays de nomes de variáveis; compact() o manipula recursivamente.

Valor Retornado

Retorna a saída do array com todas as variáveis adicionadas a ele.

Exemplos

Exemplo #1 Exemplo de compact()

<?php
$cidade = "Sao Paulo";
$estado = "SP";
$evento = "SIGGRAPH";

$localidade = array("cidade", "estado");

$result = compact("evento", "nada_aqui", $localidade);
print_r($result);
?>

O exemplo acima irá imprimir:

Array
(
    [evento] => SIGGRAPH
    [cidade] => Sao Paulo
    [estado] => SP
)

Notas

Nota: Gotcha

Devido a variáveis variável não poderem ser usadas com arrays superglobais do PHP dentro de funções, os arrays superglobais não podem ser passados na compact().

Veja Também

  • extract() - Importa variáveis para a tabela de símbolos a partir de um array


Conta o número de elementos de uma variável, ou propriedades de um objeto

  • « compact
  • current »
  • PHP Manual
  • Funções para Array
  • Conta o número de elementos de uma variável, ou propriedades de um objeto

count

(PHP 4, PHP 5, PHP 7, PHP 8)

count — Conta o número de elementos de uma variável, ou propriedades de um objeto

Descrição

count ( mixed $var , int $mode = ? ) : int

Conta os elementos de um array, ou propriedades em um objeto.

Para objetos, se você tem SPL instalada, você pode fazer um gancho na count() implementando a interface Countable. A interface tem exatamente um método, count(), que retorna o valor retornado para função count().

Por favor, veja a sessão Array do manual para uma explicação mais detalhada sobre como os arrays são implementados e utilizados no PHP.

Parâmetros

var

The array.

mode

Se o parâmetro opcional mode for COUNT_RECURSIVE (ou 1), a função count() irá recursivamente contar a matriz. Isto é particularmente util para contar elementos em matriz multidimensional. O valor padrão para mode é 0. count() não detecta infinita recursão.

Valor Retornado

Retorna o número de elementos em var, que normalmente é um array, pois qualquer outra coisa terá somente um elemento.

Se var não for um array ou um objeto, com a interface Countable implementada, 1 será retornado. Há uma exceção, se var é null, 0 é retornado.

Cuidado

count() pode retornar 0 para uma variável que não existe, mas também pode retornar 0 para uma variável que tenha sido inicializada como um array vazio. Use isset() para checar se a variável existe.

Changelog

Versão | Descrição
4.2.0 | O parâmetro opcional mode foi adicionado.

Exemplos

Exemplo #1 Exemplo da função count()

<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a);
// $result == 3

$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
$result = count($b);
// $result == 3

$result = count(null);
// $result == 0

$result = count(false);
// $result == 1
?>

Exemplo #2 Uso recursivo da função count()

<?php
$comidas = array('frutas'  => array('laranja', 'banana', 'maçã'),
'veggie'  => array('cenoura', 'couve','ervilha'));
// contagem recursiva
echo count($comidas, COUNT_RECURSIVE);  // mostra 8
// contagem normal
echo count($comidas);                   // mostra 2
?>

Veja Também

  • is_array() - Verifica se a variável é um array
  • isset() - Informa se a variável foi iniciada
  • strlen() - Retorna o tamanho de uma string


Retorna o elemento corrente em um array

  • « count
  • each »
  • PHP Manual
  • Funções para Array
  • Retorna o elemento corrente em um array

current

(PHP 4, PHP 5, PHP 7, PHP 8)

current — Retorna o elemento corrente em um array

Descrição

current ( array &$array ) : mixed

Todo array tem um ponteiro interno para o elemento "atual", o qual é inicializado para apontar para o primeiro elemento inserido em um array.

Parâmetros

array

O array.

Valor Retornado

A função current() simplesmente retorna o elemento do array para o qual esse ponteiro interno está apontando. Não move o ponteiro de forma alguma. Se o ponteiro interno estiver apontando para além do final da lista de elementos ou o array é vazio, current() retorna false.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Exemplos

Exemplo #1 Exemplo do uso de current() e amigos

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = current($transport); // $mode = 'bike';
$mode = prev($transport);    // $mode = 'foot';
$mode = end($transport);     // $mode = 'plane';
$mode = current($transport); // $mode = 'plane';

$arr = array();
var_dump(current($arr)); // bool(false)

$arr = array(array());
var_dump(current($arr)); // array(0) { }
?>

Notas

Nota: Você não será capaz de distinguir o fim de um array de um elemento boolean false. Para percorer um array que pode conter elementos false, veja a função each().

Veja Também

  • end() - Faz o ponteiro interno de um array apontar para o seu último elemento
  • key() - Retorna uma chave de um array
  • each() - Retorna o par chave/valor corrente de um array e avança o seu cursor
  • prev() - Retrocede o ponteiro interno de um array
  • reset() - Faz o ponteiro interno de um array apontar para o seu primeiro elemento
  • next() - Avança o ponteiro interno de um array


Retorna o par chave/valor corrente de um array e avança o seu cursor

  • « current
  • end »
  • PHP Manual
  • Funções para Array
  • Retorna o par chave/valor corrente de um array e avança o seu cursor

each

(PHP 4, PHP 5, PHP 7)

each — Retorna o par chave/valor corrente de um array e avança o seu cursor

Descrição

each ( array &$array ) : array

Retorna o par chave/valor corrente de um array e avança o seu cursor

Depois da execução de each(), o cursor interno do array vai apontar para o próximo elemento do array, ou após o último elemento se ele chegar ao final do array. Você deve usar reset() se quiser percorrer o array novamente.

Parâmetros

array

O array de entrada.

Valor Retornado

Retorna o par chave/valor corrente de array. Esse par é retornado num array de quatro elementos, com as chaves 0, 1, key e value. Elementos 0 e key contêm o nome da chave do elemento do array e 1 e value contêm o valor.

Se o cursor interno do array estiver apontando para além do final do array, each() retorna false.

Exemplos

Exemplo #1 Exemplos da each()

<?php

$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>

$bar agora contém os seguintes pares de chaves e valores:

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)

<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>

$bar agora contém os seguintes pares de chaves e valores:

Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)

each() é tipicamente usada em conjunto com list() para percorrer um array, por exemplo:

Exemplo #2 Percorrendo um array com each()

<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');
reset($fruit);
while (list($key, $val) = each($fruit)) {
      echo "$key => $val\n";
}
?>

O exemplo acima irá imprimir:

a => apple
b => banana
c => cranberry

Cuidado

Porque a atribuição de um array para outra variável reseta o ponteiro do array original, nosso exemplo acima deveria causar um loop infinito tendo nós atribuído $fruit para outra variável dentro do loop.

Veja Também

  • key() - Retorna uma chave de um array
  • list() - Cria variáveis como se fossem arrays
  • current() - Retorna o elemento corrente em um array
  • reset() - Faz o ponteiro interno de um array apontar para o seu primeiro elemento
  • next() - Avança o ponteiro interno de um array
  • prev() - Retrocede o ponteiro interno de um array
  • foreach


Faz o ponteiro interno de um array apontar para o seu último elemento

  • « each
  • extract »
  • PHP Manual
  • Funções para Array
  • Faz o ponteiro interno de um array apontar para o seu último elemento

end

(PHP 4, PHP 5, PHP 7, PHP 8)

end — Faz o ponteiro interno de um array apontar para o seu último elemento

Descrição

end ( array &$array ) : mixed

end() avança o ponteiro interno de array até o seu último elemento, e retorna-o.

Parâmetros

array

O array.

Valor Retornado

Retorna o valor do último elemento.

Exemplos

Exemplo #1 Exemplo da end()

<?php

  $frutas = array('melancia', 'banana', 'morango');
  echo end($frutas); // morango

?>

Veja Também

  • current() - Retorna o elemento corrente em um array
  • each() - Retorna o par chave/valor corrente de um array e avança o seu cursor
  • prev() - Retrocede o ponteiro interno de um array
  • reset() - Faz o ponteiro interno de um array apontar para o seu primeiro elemento
  • next() - Avança o ponteiro interno de um array


Importa variáveis para a tabela de símbolos a partir de um array

  • « end
  • in_array »
  • PHP Manual
  • Funções para Array
  • Importa variáveis para a tabela de símbolos a partir de um array

extract

(PHP 4, PHP 5, PHP 7, PHP 8)

extract — Importa variáveis para a tabela de símbolos a partir de um array

Descrição

extract ( array $var_array , int $extract_type = ? , string $prefix = ? ) : int

Importar variáveis a partir de um array para a tabela de símbolos corrente.

extract() verifica cada chave e vê se ela tem um válido nome de variável. Também verifica por colisões com já existente variáveis na tabela de símbolo.

Parâmetros

var_array

Um array associativo. Esta função trata chaves como nome de variáveis e valores com os valores da variáveis. Para cada par chave/valor ela cria uma variável na atual tabela de símbolo, seguindo os parâmetros extract_type e prefix.

Você precisa usar um array associativo, um array numericamente indexado não irá produzir resultado até que você use EXTR_PREFIX_ALL ou EXTR_PREFIX_INVALID.

extract_type

A forma como inválida/chaves numéricas e colisões são tratadas é determinada por extract_type. Pode ser um dos seguintes valores:

EXTR_OVERWRITE
Se houver uma colisão, sobrescreve a variável existente.
EXTR_SKIP
Se houver uma colisão, não sobrescreve a variável existente.
EXTR_PREFIX_SAME
Se houver uma colisão, adiciona um prefixo ao nome da variável definido pelo argumento prefix.
EXTR_PREFIX_ALL
Adiciona um prefixo ao nome de todas as variáveis definido por prefix.
EXTR_PREFIX_INVALID
Adiciona um prefixo definido por prefix apenas para variáveis como nomes inválidos ou numéricos.
EXTR_IF_EXISTS
Só sobrescreve a variável se ela já existe na tabela de símbolos corrente, caso contrário, não faz nada. Isso é útil quando se quer definir uma lista de variáveis válidas e então extrair só as que foram definidas em $_REQUEST, por exemplo.
EXTR_PREFIX_IF_EXISTS
Só cria nomes de variáveis usando o prefixo se na tabela de símbolos já existe uma variável com o nome sem esse prefixo.
EXTR_REFS
Extrai variáveis como referências, ou seja, os valores das variáveis importadas ainda estarão referenciando os valores do parâmetro var_array. Essa opção pode ser usada sozinha ou em conjunto com as outras usando o operador 'ou' em extract_type.

Se extract_type não for especificado, é assumido o valor EXTR_OVERWRITE.

prefix

Note que prefix só é necessário se extract_type for EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, ou EXTR_PREFIX_INVALID ou EXTR_PREFIX_IF_EXISTS. Se o nome com o prefixo não for um nome de variável válido, ela não será importada para a tabela de símbolos. Prefixos são automaticamente separados da chave do array pelo caractere underscore.

Valor Retornado

Retorna o número de variáveis importadas com sucesso para a tabela de símbolo.

Changelog

Versão | Descrição
4.3.0 | EXTR_REFS foi adicionado.
4.2.0 | EXTR_IF_EXISTS e EXTR_PREFIX_IF_EXISTS foram adicionados.
4.0.5 | Esta função agora retorna um número de variáveis extraídas. EXTR_PREFIX_INVALID foi adicionado. EXTR_PREFIX_ALL inclue variáveis numéricas também.

Exemplos

Exemplo #1 Exemplo da extract()

Uma possível utilização de extract() é na importação de variáveis contidas num array associativo retornado pela função wddx_deserialize().

<?php

/* Suponha que $var_array é um array retornado pela função
   wddx_deserialize */

$tamanho = "grande";
$var_array = array ("cor" => "azul",
                    "tamanho"  => "medio",
                    "forma" => "esfera");
extract ($var_array, EXTR_PREFIX_SAME, "wddx");

echo "$cor, $tamanho, $forma, $wddx_tamanho\n";

?>

O exemplo acima irá imprimir:

azul, grande, esfera, medio

O $tamanho não foi sobrescrito, porque nós especificamos EXTR_PREFIX_SAME, o que resultou na criação da variável $wddx_tamanho. Se EXTR_SKIP fosse utilizado, então $wddx_tamanho não seria criada. EXTR_OVERWRITE teria feito com que $tamanho tivesse o valor "medio", e EXTR_PREFIX_ALL resultaria em novas variáveis com os nomes $wddx_cor, $wddx_tamanho, e $wddx_forma.

Notas

Aviso

Não use extract() em dados não confiáveis, como entrada de usuário (por exemplo, $_GET, $_FILES, etc.). Se usar, certifique-se de que está usando um dos valores de flags que não fazem sobrescrita como EXTR_SKIP e tenha cuidado para que extraia na mesma ordem que é definida em variables_order no php.ini.

Veja Também

  • compact() - Cria um array contendo variáveis e seus valores


Checa se um valor existe em um array

  • « extract
  • key_exists »
  • PHP Manual
  • Funções para Array
  • Checa se um valor existe em um array

in_array

(PHP 4, PHP 5, PHP 7, PHP 8)

in_array — Checa se um valor existe em um array

Descrição

in_array ( mixed $needle , array $haystack , bool $strict = ? ) : bool

Procura em haystack pelo valor needle.

Parâmetros

needle

O valor procurado.

Nota:

Se needle for uma string, a comparação é feita diferenciando caracteres maiúsculos e minúsculos.

haystack

O array.

strict

Se o terceiro parâmetro strict for true então in_array() também irá checar os tipos de needle em haystack.

Valor Retornado

Retorna true se needle é encontrado no array, false caso contrário.

Changelog

Versão | Descrição
4.2.0 | needle pode agora ser um array.

Exemplos

Exemplo #1 Exemplo da in_array()

<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Tem Irix";
}
if (in_array("mac", $os)) {
    echo "Tem mac";
}
?>

A segunda condicional falha pois in_array() diferencia letras minúsculas e maiúsculas. Então, a saída seria:

Tem Irix

Exemplo #2 in_array() com checagem de tipos

<?php
$a = array('1.10', 12.4, 1.13);

if (in_array('12.4', $a, true)) {
    echo "'12.4' encontrado com checagem de tipo\n";
}
if (in_array(1.13, $a, true)) {
    echo "1.13 encontrado com checagem de tipo\n";
}
?>

O exemplo acima irá imprimir:

1.13 encontrado com checagem de tipo

Exemplo #3 Exemplo de in_array() passando um array para needle

<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array('p', 'h'), $a)) {
    echo "'ph' foi encontrado\n";
}
if (in_array(array('f', 'i'), $a)) {
    echo "'fi' foi encontrado\n";
}
if (in_array('o', $a)) {
    echo "'o' foi encontrado\n";
}
?>

O exemplo acima irá imprimir:

    'ph' foi encontrado
    'o' foi encontrado

Veja Também

  • array_search() - Procura por um valor em um array e retorna sua chave correspondente caso seja encontrado
  • isset() - Informa se a variável foi iniciada
  • array_key_exists() - Checa se uma chave ou índice existe em um array


Sinônimo de array_key_exists

  • « in_array
  • key »
  • PHP Manual
  • Funções para Array
  • Sinônimo de array_key_exists

key_exists

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

key_exists — Sinônimo de array_key_exists()

Descrição

Esta função é um apelido para: array_key_exists().


Retorna uma chave de um array

  • « key_exists
  • krsort »
  • PHP Manual
  • Funções para Array
  • Retorna uma chave de um array

key

(PHP 4, PHP 5, PHP 7, PHP 8)

key — Retorna uma chave de um array

Descrição

key ( array &$array ) : mixed

key() retorna a chave da posição atual de um array.

Parâmetros

array

O array.

Valor Retornado

Retorna o índice.

Exemplos

Exemplo #1 Exemplo da key()

<?php
$array = array(
    'fruit1' => 'apple',
    'fruit2' => 'orange',
    'fruit3' => 'grape',
    'fruit4' => 'apple',
    'fruit5' => 'apple');

// este ciclo exibirá toda a chave do array associativo
// onde o valor é igual a "apple"
while ($fruit_name = current($array)) {
    if ($fruit_name == 'apple') {
        echo key($array).'<br />';
    }
    next($array);
}
?>

O exemplo acima irá imprimir:

fruit1<br />
fruit4<br />
fruit5<br />

Veja Também

  • current() - Retorna o elemento corrente em um array
  • next() - Avança o ponteiro interno de um array


Ordena um array pelas chaves em ordem descrescente

  • « key
  • ksort »
  • PHP Manual
  • Funções para Array
  • Ordena um array pelas chaves em ordem descrescente

krsort

(PHP 4, PHP 5, PHP 7, PHP 8)

krsort — Ordena um array pelas chaves em ordem descrescente

Descrição

krsort ( array &$array , int $sort_flags = ? ) : bool

Ordena um array pelas chaves em ordem descrescente, mantendo a correlação entre entre as chaves e os valores. Essa função é bastante útil em arrays associativos.

Parâmetros

array

O array de entrada.

sort_flags

Você pode modificar o comportamento da ordenação usando o parâmetro opcional sort_flags, para detalhes veja sort().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de krsort()

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
krsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

O exemplo acima irá imprimir:

d = limao
c = melancia
b = banana
a = laranja

Veja Também

  • asort() - Ordena um array mantendo a associação entre índices e valores
  • arsort() - Ordena um array em ordem descrescente mantendo a associação entre índices e valores
  • ksort() - Ordena um array pelas chaves
  • sort() - Ordena um array
  • natsort() - Ordena um array utilizando o algoritmo da "ordem natural"
  • rsort() - Ordena um array em ordem descrescente


Ordena um array pelas chaves

  • « krsort
  • list »
  • PHP Manual
  • Funções para Array
  • Ordena um array pelas chaves

ksort

(PHP 4, PHP 5, PHP 7, PHP 8)

ksort — Ordena um array pelas chaves

Descrição

ksort ( array &$array , int $sort_flags = ? ) : int

Ordena um array pelas chaves, mantendo a correlação entre as chaves e os valores. Essa função é bastante útil principalmente para arrays associativos.

Parâmetros

array

O array de entrada.

sort_flags

Você pode modificar o comportamento da ordenação através do parâmetro opcional sort_flags, para mais detalhes veja sort().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
4.0.0 | O parâmetro opcional sort_flags foi adicionado.

Exemplos

Exemplo #1 Exemplo da ksort()

<?php
$frutas = array("d"=>"limao", "a"=>"laranja", "b" =>"banana", "c"=>"maçã");
ksort($frutas);
foreach ($fruits as $key => $val) {
    echo "$chave = $valor\n";
}
?>

O exemplo acima irá imprimir:

a = laranja
b = banana
c = maçã
d = limao

Veja Também

  • asort() - Ordena um array mantendo a associação entre índices e valores
  • arsort() - Ordena um array em ordem descrescente mantendo a associação entre índices e valores
  • krsort() - Ordena um array pelas chaves em ordem descrescente
  • uksort() - Ordena um array pelas chaves utilizando uma função de comparação definida pelo usuário.
  • sort() - Ordena um array
  • natsort() - Ordena um array utilizando o algoritmo da "ordem natural"
  • rsort() - Ordena um array em ordem descrescente


Cria variáveis como se fossem arrays

  • « ksort
  • natcasesort »
  • PHP Manual
  • Funções para Array
  • Cria variáveis como se fossem arrays

list

(PHP 4, PHP 5, PHP 7, PHP 8)

list — Cria variáveis como se fossem arrays

Descrição

list ( mixed $varname , mixed ...$... = ? ) : void

Assim como array(), não é exatamente uma função, e sim uma construção da própria linguagem. list() é usada para criar uma lista de variáveis em apenas uma operação.

Parâmetros

varname

A variável.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Exemplo da list()

<?php

$info = array('Café', 'marrom', 'cafeína');

// Listando todas as variáveis
list($bebida, $cor, $substancia) = $info;
echo "$bebida é $cor e $substancia o faz especial.\n";

// Listando apenas alguns deles
list($bebida, , $substancia) = $info;
echo "$bebida tem $substancia.\n";

// Ou ignoramos os primeiros valores para conseguir apenas o último
list( , , $substancia) = $info;
echo "I need $substancia!\n";

// list() não funciona com strings
list($bar) = "abcde";
var_dump($bar); // NULL
?>

Exemplo #2 Exemplo da list()

<table>
 <tr>
  <th>Lista de empregados</th>
  <th>Salário</th>
 </tr>

<?php

$result = mysql_query ("SELECT id, nome, salario FROM empregados", $conn);
while (list ($id, $nome, $salario) = mysql_fetch_row ($result)) {
     echo " <tr>\n" .
           "  <td><a href=\"info.php?id=$id\">$nome</a></td>\n" .
           "  <td>$salario</td>\n" .
            " </tr>\n";
}

?>

</table>

Exemplo #3 Usando list() de forma aninhada

<?php

list($a, list($b, $c)) = array(1, array(2, 3));

var_dump($a, $b, $c);

?>
int(1)
int(2)
int(3)

Exemplo #4 Usando list() com índices de array

<?php

$info = array('café', 'marrom', 'cafeína');

list($a[0], $a[1], $a[2]) = $info;

var_dump($a);

?>

O retorno desse script é o seguinte (note a ordem dos elementos em comparação com o array original):

array(3) {
  [2]=>
  string(8) "cafeína"
  [1]=>
  string(5) "marrom"
  [0]=>
  string(6) "café"
}

Notas

Aviso

A função list() assinala os valores começando pelos parâmetros da direita. Se você está usando variáveis normais, então não precisa se preocupar com esse detalhe. Mas se você está usando arrays com índices você normalmente iria esperar que a ordem dos índices no array fosse da esquerda para a direita, mas não é isso que acontece. O índice é criado na ordem reversa.

Nota:

list() funciona somente com arrays numéricos e espera que esses índices comecem de 0 (zero).

Veja Também

  • each() - Retorna o par chave/valor corrente de um array e avança o seu cursor
  • array() - Cria um array
  • extract() - Importa variáveis para a tabela de símbolos a partir de um array


Ordena um array utilizando o algoritmo da "ordem natural" sem diferenciar maiúsculas e minúsculas

  • « list
  • natsort »
  • PHP Manual
  • Funções para Array
  • Ordena um array utilizando o algoritmo da "ordem natural" sem diferenciar maiúsculas e minúsculas

natcasesort

(PHP 4, PHP 5, PHP 7, PHP 8)

natcasesort — Ordena um array utilizando o algoritmo da "ordem natural" sem diferenciar maiúsculas e minúsculas

Descrição

natcasesort ( array &$array ) : bool

natcasesort() é uma versão case-insensitive (não diferencia letras maiúsculas de minúsculas) da natsort().

Essa função implementa o algoritmo de ordenação que ordena strings alfanuméricas da forma que os humanos fariam mantendo associação de chave/valor. Essa forma de ordenação é denominada "ordenação natural".

Parâmetros

array

O array de entrada.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da natcasesort()

<?php
$array1 = $array2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

sort($array1);
echo "Standard sorting\n";
print_r($array1);

natcasesort($array2);
echo "\nNatural order sorting (case-insensitive)\n";
print_r($array2);
?>

O exemplo acima irá imprimir:

Standard sorting
Array
(
    [0] => IMG0.png
    [1] => IMG3.png
    [2] => img1.png
    [3] => img10.png
    [4] => img12.png
    [5] => img2.png
)

Natural order sorting (case-insensitive)
Array
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

Para mais informação veja: Martin Pool's » Natural Order String Comparison page.

Veja Também

  • natsort() - Ordena um array utilizando o algoritmo da "ordem natural"
  • A comparação de funções de organização de array
  • strnatcmp() - Comparação de strings usando o algoritmo "natural order"
  • strnatcasecmp() - Comparação de strings sem diferenciar maiúsculas/minúsculas usando o algoritmo "natural order"


Ordena um array utilizando o algoritmo da "ordem natural"

  • « natcasesort
  • next »
  • PHP Manual
  • Funções para Array
  • Ordena um array utilizando o algoritmo da "ordem natural"

natsort

(PHP 4, PHP 5, PHP 7, PHP 8)

natsort — Ordena um array utilizando o algoritmo da "ordem natural"

Descrição

natsort ( array &$array ) : bool

Essa função é um implementação do algoritmo que ordena strings alfanuméricas da forma como um ser humano faria mantendo associação de chave/valor. Isso é chamado de "ordenação natural". Um exemplo da diferença entre esse algoritmo e o algoritmo com o qual o computador classifica strings (usado em sort()) pode ser visto abaixo:

Parâmetros

array

O array de entrada.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da natsort()

$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

sort($array1);
echo "Classificação normal\n";
print_r($array1);

natsort($array2);
echo "\nClassificação da \"ordem natural\"\n";
print_r($array2);

O exemplo acima irá imprimir:

Classificação normal
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Classificação da "ordem natural"
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

Para mais informações veja: Martin Pool's » Natural Order String Comparison page.

Veja Também

  • natcasesort() - Ordena um array utilizando o algoritmo da "ordem natural" sem diferenciar maiúsculas e minúsculas
  • strnatcmp() - Comparação de strings usando o algoritmo "natural order"
  • strnatcasecmp() - Comparação de strings sem diferenciar maiúsculas/minúsculas usando o algoritmo "natural order"


Avança o ponteiro interno de um array

  • « natsort
  • pos »
  • PHP Manual
  • Funções para Array
  • Avança o ponteiro interno de um array

next

(PHP 4, PHP 5, PHP 7, PHP 8)

next — Avança o ponteiro interno de um array

Descrição

next ( array &$array ) : mixed

next() funciona de forma semelhante a current(), com uma diferença. Ele avança o ponteiro interno do array em uma posição antes de retornar o valor do elemento. Isso significa que ela retorna o próximo valor do array avançando o ponteiro interno em uma posição.

Parâmetros

array

O array a ser afetado.

Valor Retornado

Retorna o elemento do array que está na próxima posição que é apontada pelo ponteiro interno do array, ou false caso não existam mais elementos.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Exemplos

Exemplo #1 Exemplo de uso da next() e funções relacionadas

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = next($transport);    // $mode = 'car';
$mode = prev($transport);    // $mode = 'bike';
$mode = end($transport);     // $mode = 'plane';
?>

Notas

Nota: Você não estará hábil para distiguir o final de um array de um elemento boolean false. Para corretamente percorrer um array que pode conter elementos false, veja a função each().

Veja Também

  • current() - Retorna o elemento corrente em um array
  • end() - Faz o ponteiro interno de um array apontar para o seu último elemento
  • prev() - Retrocede o ponteiro interno de um array
  • reset() - Faz o ponteiro interno de um array apontar para o seu primeiro elemento
  • each() - Retorna o par chave/valor corrente de um array e avança o seu cursor


Sinônimo de current

  • « next
  • prev »
  • PHP Manual
  • Funções para Array
  • Sinônimo de current

pos

(PHP 4, PHP 5, PHP 7, PHP 8)

pos — Sinônimo de current()

Descrição

Esta função é um apelido para: current()


Retrocede o ponteiro interno de um array

  • « pos
  • range »
  • PHP Manual
  • Funções para Array
  • Retrocede o ponteiro interno de um array

prev

(PHP 4, PHP 5, PHP 7, PHP 8)

prev — Retrocede o ponteiro interno de um array

Descrição

prev ( array &$array ) : mixed

Retrocede o ponteiro interno do array.

prev() funciona como next(), exceto que ela retrocede o ponteiro interno do array ao invés de avançá-lo.

Parâmetros

array

O array de entrada.

Valor Retornado

Retorna o valor do array que está na posição anterior à posição apontada pelo ponteiro interno, ou false se não houver mais elementos.

Exemplos

Exemplo #1 Exemplo de uso de prev() e funções relacionadas

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = next($transport);    // $mode = 'car';
$mode = prev($transport);    // $mode = 'bike';
$mode = end($transport);     // $mode = 'plane';
?>

Notas

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Nota: Você não conseguirá distinguir o começo de um array de um elemento boolean false. Para corretamente percorrer um array que pode conter elementos false, veja a função each().

Veja Também

  • current() - Retorna o elemento corrente em um array
  • end() - Faz o ponteiro interno de um array apontar para o seu último elemento
  • next() - Avança o ponteiro interno de um array
  • reset() - Faz o ponteiro interno de um array apontar para o seu primeiro elemento
  • each() - Retorna o par chave/valor corrente de um array e avança o seu cursor


Cria um array contendo uma faixa de elementos

  • « prev
  • reset »
  • PHP Manual
  • Funções para Array
  • Cria um array contendo uma faixa de elementos

range

(PHP 4, PHP 5, PHP 7, PHP 8)

range — Cria um array contendo uma faixa de elementos

Descrição

range ( mixed $start , mixed $end , number $step = 1 ) : array

Cria um array contendo uma faixa de elementos.

Parâmetros

start

O primeiro valor da sequência.

end

A sequência termina ao se alcançar o valor end.

step

Se o parâmetro step for especificado, será usado como o incremento entre os elementos da sequência. step deve ser um inteiro positivo. Se não for especificado, step terá valor igual a 1.

Valor Retornado

Retorna um array com elementos iniciando com o valor start até o valor end, inclusive.

Exemplos

Exemplo #1 Exemplos da função range()

<?php
// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
foreach (range(0, 12) as $number) {
    echo $number;
}

// The step parameter
// array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
foreach (range(0, 100, 10) as $number) {
    echo $number;
}

// Usage of character sequences
// array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
foreach (range('a', 'i') as $letter) {
    echo $letter;
}
// array('c', 'b', 'a');
foreach (range('c', 'a') as $letter) {
    echo $letter;
}
?>

Notas

Nota:

Sequências de letras são limitadas a uma letra. Se o valor inicial tiver mais que uma letra, apenas a primeira letra é utilizada.

Veja Também

  • shuffle() - Mistura os elementos de um array
  • array_fill() - Preenche um array com valores
  • foreach


Faz o ponteiro interno de um array apontar para o seu primeiro elemento

  • « range
  • rsort »
  • PHP Manual
  • Funções para Array
  • Faz o ponteiro interno de um array apontar para o seu primeiro elemento

reset

(PHP 4, PHP 5, PHP 7, PHP 8)

reset — Faz o ponteiro interno de um array apontar para o seu primeiro elemento

Descrição

reset ( array &$array ) : mixed

reset() retrocede o ponteiro interno de array para o primeiro elemento e retorna o valor do primeiro elemento do array, ou false se o array for vazio.

Parâmetros

array

O array de entrada.

Valor Retornado

Retorna o valor do primeiro elemento do array, ou false se o array estiver vazio.

Exemplos

Exemplo #1 Exemplo da reset()

<?php

$array = array('primero passo', 'segundo passo', 'terceiro passo', 'quarto passo');

// por definição, o ponteiro está sobre o primeiro elemento
echo current($array)."<br />\n"; // "Primeiro passo"

// pula dois passos
next($array);
next($array);
echo current($array)."<br />\n"; // "passo três"

// reinicia o ponteiro, começa novamente o primeiro passo
reset($array);
echo current($array)."<br />\n"; // "primeiro passo"

?>

Veja Também

  • current() - Retorna o elemento corrente em um array
  • each() - Retorna o par chave/valor corrente de um array e avança o seu cursor
  • end() - Faz o ponteiro interno de um array apontar para o seu último elemento
  • next() - Avança o ponteiro interno de um array
  • prev() - Retrocede o ponteiro interno de um array


Ordena um array em ordem descrescente

  • « reset
  • shuffle »
  • PHP Manual
  • Funções para Array
  • Ordena um array em ordem descrescente

rsort

(PHP 4, PHP 5, PHP 7, PHP 8)

rsort — Ordena um array em ordem descrescente

Descrição

rsort ( array &$array , int $sort_flags = ? ) : bool

Essa função ordena um array em ordem descrescente (do maior para o menor).

Parâmetros

array

O array de entrada.

sort_flags

Você pode modificar o comportamento da ordenação usando este parâmetro opcional sort_flags, para detalhes veja a sort().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de rsort()

<?php
$frutas = array ("limao", "laranja", "banana", "maçã");
rsort ($frutas);
foreach( $frutas as $chave => $valor ){
    echo "$chave = $valor\n";
}
?>

O exemplo acima irá imprimir:

0 = maçã
1 = limao
2 = laranja
3 = banana

As frutas foram ordenadas em ordem alfabética decrescente.

Notas

Nota: Esta função define novas chaves para os elementos no array. Ela irá remover quaisquer chaves pré existentes, ao invés de simplesmente reordenar as chaves.

Veja Também

  • arsort() - Ordena um array em ordem descrescente mantendo a associação entre índices e valores
  • asort() - Ordena um array mantendo a associação entre índices e valores
  • ksort() - Ordena um array pelas chaves
  • krsort() - Ordena um array pelas chaves em ordem descrescente
  • sort() - Ordena um array
  • usort() - Ordena um array pelos valores utilizando uma função de comparação definida pelo usuário


Mistura os elementos de um array

  • « rsort
  • sizeof »
  • PHP Manual
  • Funções para Array
  • Mistura os elementos de um array

shuffle

(PHP 4, PHP 5, PHP 7, PHP 8)

shuffle — Mistura os elementos de um array

Descrição

shuffle ( array &$array ) : bool

Essa função mistura de forma aleatória os elementos de um array.

Parâmetros

array

O array.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da shuffle()

<?php
$numbers = range(1,20);
srand((float)microtime()*1000000);
shuffle($numbers);
foreach ($numbers as $number) {
    echo "$number ";
}
?>

Notas

Nota: Esta função define novas chaves para os elementos no array. Ela irá remover quaisquer chaves pré existentes, ao invés de simplesmente reordenar as chaves.

Nota: Não é necessário semear o gerador de números aleatórios com srand() ou mt_srand(), já que isso é realizado automaticamente.

Veja Também

  • arsort() - Ordena um array em ordem descrescente mantendo a associação entre índices e valores
  • asort() - Ordena um array mantendo a associação entre índices e valores
  • ksort() - Ordena um array pelas chaves
  • rsort() - Ordena um array em ordem descrescente
  • sort() - Ordena um array
  • usort() - Ordena um array pelos valores utilizando uma função de comparação definida pelo usuário


Sinônimo de count

  • « shuffle
  • sort »
  • PHP Manual
  • Funções para Array
  • Sinônimo de count

sizeof

(PHP 4, PHP 5, PHP 7, PHP 8)

sizeof — Sinônimo de count()

Descrição

Esta função é um apelido para: count().


Ordena um array

  • « sizeof
  • uasort »
  • PHP Manual
  • Funções para Array
  • Ordena um array

sort

(PHP 4, PHP 5, PHP 7, PHP 8)

sort — Ordena um array

Descrição

sort ( array &$array , int $sort_flags = SORT_REGULAR ) : bool

Essa função ordena um array. Os elementos serão ordenados do menor para o maior ao final da execução dessa função.

Nota:

Se dois itens são comparados como iguais, sua ordenação no array final é indefinidia.

Parâmetros

array

O array de entrada.

sort_flags

O segundo parâmetro opcional sort_flags pode ser usado para modificar o comportamento da ordenação usando estes valores:

Flags para tipo de ordenação:

  • SORT_REGULAR - compara os itens normalmente (não modifica o tipo)
  • SORT_NUMERIC - compara os items numericamente
  • SORT_STRING - compara os itens como strings
  • SORT_LOCALE_STRING - compara os itens como strings, utilizando o locale atual. Utiliza o locale que pode ser modificado com setlocale()
  • SORT_NATURAL - compara os itens como strings utilizando "ordenação natural" tipo natsort()
  • SORT_FLAG_CASE - pode ser combinado (bitwise OR) com SORT_STRING ou SORT_NATURAL para ordenar strings sem considerar maiúsculas e minúsculas

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de sort()

<?php

$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
    echo "fruits[" . $key . "] = " . $val . "\n";
}

?>

O exemplo acima irá imprimir:

fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange

As frutas foram classificadas em ordem alfabética.

Exemplo #2 Exemplo de sort() utilizando comparações naturais ignorando maiúsculas e minúculas

<?php

$fruits = array(
    "Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
    echo "fruits[" . $key . "] = " . $val . "\n";
}

?>

O exemplo acima irá imprimir:

fruits[0] = Orange1
fruits[1] = orange2
fruits[2] = Orange3
fruits[3] = orange20

A lista foi ordenada como se tivesse sido utilizada natcasesort().

Notas

Nota: Esta função define novas chaves para os elementos no array. Ela irá remover quaisquer chaves pré existentes, ao invés de simplesmente reordenar as chaves.

Nota: Como muitas funções de ordenação do PHP, sort() usa uma implementação da » Quicksort. O pivot é escolhido no meio da partição, o que resulta num processamento rápido para arrays já ordenados. Mas isso é um detalhe de implementação, que não pode ser garantido.

Aviso

Tenha cuidado quando ordenando arrays com vários tipos de valores, porque sort() pode produzir um resultado indesejado.

Veja Também

  • asort() - Ordena um array mantendo a associação entre índices e valores
  • A comparação de funções de organização de array


Ordena um array utilizando uma função de comparação definida pelo usuário e mantendo as associações entre chaves e valores

  • « sort
  • uksort »
  • PHP Manual
  • Funções para Array
  • Ordena um array utilizando uma função de comparação definida pelo usuário e mantendo as associações entre chaves e valores

uasort

(PHP 4, PHP 5, PHP 7, PHP 8)

uasort — Ordena um array utilizando uma função de comparação definida pelo usuário e mantendo as associações entre chaves e valores

Descrição

uasort ( array $array , function $cmp_function ) : void

Essa função ordena um array de forma que a correlação entre chaves e valores é mantida, usando uma função de comparacão definida pelo usuário.

Esta função é usada principalmente para classificar arrays associativos onde a ordem dos elementos é um fator importante.

Parâmetros

array

O array de entrada.

cmp_function

Veja usort() e uksort() para exemplos de funções de comparação definida pelo usuário.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • usort() - Ordena um array pelos valores utilizando uma função de comparação definida pelo usuário
  • uksort() - Ordena um array pelas chaves utilizando uma função de comparação definida pelo usuário.
  • asort() - Ordena um array mantendo a associação entre índices e valores
  • arsort() - Ordena um array em ordem descrescente mantendo a associação entre índices e valores
  • ksort() - Ordena um array pelas chaves
  • rsort() - Ordena um array em ordem descrescente
  • sort() - Ordena um array


Ordena um array pelas chaves utilizando uma função de comparação definida pelo usuário.

  • « uasort
  • usort »
  • PHP Manual
  • Funções para Array
  • Ordena um array pelas chaves utilizando uma função de comparação definida pelo usuário.

uksort

(PHP 4, PHP 5, PHP 7, PHP 8)

uksort — Ordena um array pelas chaves utilizando uma função de comparação definida pelo usuário.

Descrição

uksort ( array &$array , function $cmp_function ) : bool

uksort() irá ordenar as chaves de um array usando uma função de comparação definida pelo usuário. Se o array precisa ser classificado utilizando um critério não trivial, você deve usar essa função.

Parâmetros

array

O array de entrada.

cmp_function

A função callback de comparação.

Função cmp_function deve aceitar dois parâmetros que irão ser preenchidos pelo par de chaves do array. A função de comparação precisa retornar um inteiro menor que, igual a, ou maior que zero se o primeiro argumento é considerado para respectivamente menor que, igual a, ou maior que o segundo.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de uksort()

function cmp($a, $b)
{
    $a = ereg_replace('^(a|an|the) ', '', $a);
    $b = ereg_replace('^(a|an|the) ', '', $b);
    return strcasecmp($a, $b);
}

$a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);

uksort($a, "cmp");

foreach ($a as $key => $value) {
    echo "$chave: $valor\n";
}
?>

O exemplo acima irá imprimir:

an apple: 3
a banana: 4
the Earth: 2
John: 1

Veja Também

  • usort() - Ordena um array pelos valores utilizando uma função de comparação definida pelo usuário
  • uasort() - Ordena um array utilizando uma função de comparação definida pelo usuário e mantendo as associações entre chaves e valores
  • sort() - Ordena um array
  • asort() - Ordena um array mantendo a associação entre índices e valores
  • arsort() - Ordena um array em ordem descrescente mantendo a associação entre índices e valores
  • ksort() - Ordena um array pelas chaves
  • natsort() - Ordena um array utilizando o algoritmo da "ordem natural"
  • rsort() - Ordena um array em ordem descrescente


Ordena um array pelos valores utilizando uma função de comparação definida pelo usuário

  • « uksort
  • Classes/Objetos »
  • PHP Manual
  • Funções para Array
  • Ordena um array pelos valores utilizando uma função de comparação definida pelo usuário

usort

(PHP 4, PHP 5, PHP 7, PHP 8)

usort — Ordena um array pelos valores utilizando uma função de comparação definida pelo usuário

Descrição

usort ( array &$array , string $cmp_function ) : bool

Essa função irá ordenar um array pelos valores usando uma função de classificação definida pelo usuário. Se o array precisar ser ordenado utilizando um critério não trivial, você deve usar essa função.

Nota:

Se dois elementos são considerados iguais, a ordem deles fica indefinida no array resultante.

Nota: Esta função define novas chaves para os elementos no array. Ela irá remover quaisquer chaves pré existentes, ao invés de simplesmente reordenar as chaves.

Parâmetros

array

The input array.

cmp_function

A função de comparação deve retornar um inteiro menor, igual ou maior que zero se o primeiro argumento for considerado respectivamente menor, igual, ou maior que o segundo.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
4.1.0 | O novo algoritmo de ordenação foi introduzido. A cmp_function não mantem a ordenação original para elementos comparando como igual.

Exemplos

Exemplo #1 Exemplo da usort()

<?php
function cmp($a, $b)
{
    if ($a == $b) {
    return 0;
    }
    return ($a < $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);

usort($a, "cmp");

foreach ($a as $key => $value) {
    echo "$chave: $valor\n";
}
?>

O exemplo acima irá imprimir:

0: 1
1: 2
2: 3
3: 5
4: 6

Nota:

Obviamente que nesse caso trivial a função sort() seria mais apropriada.

Exemplo #2 Exemplo de usort() usando um array multi-dimensional

<?php
function cmp($a, $b)
{
    return strcmp($a["fruta"], $b["fruta"]);
}

$frutas[0]["fruta"] = "limoes";
$frutas[1]["fruta"] = "abacaxis";
$frutas[2]["fruta"] = "goiabas";

usort($frutas, "cmp");

while (list($chave, $valor) = each($frutas)) {
    echo "\$frutas[$chave]: " . $valor["fruta"] . "\n";
}
?>

Na ordenação de um array multi-dimensional, $a e $b contém referências para o primeiro índice do array.

O exemplo acima irá imprimir:

$fruits[0]: abacaxis
$fruits[1]: goiabas
$fruits[2]: limoes

Exemplo #3 Exemplo de usort() usando uma função membro de um objeto

<?php
class TestObj {
    var $name;

    function TestObj($name)
    {
        $this->name = $name;
    }

    /* Essa é a função estática de comparação */
    static function cmp_obj($a, $b)
    {
        $al = strtolower($a->name);
        $bl = strtolower($b->name);
        if ($al == $bl) {
        return 0;
        }
        return ($al > $bl) ? +1 : -1;
    }
}

$a[] = new TestObj("c");
$a[] = new TestObj("b");
$a[] = new TestObj("d");

usort($a, array ("TestObj", "cmp_obj"));

foreach ($a as $item) {
    echo $item->name . "\n";
}
?>

O exemplo acima irá imprimir:

b
c
d

Veja Também

  • uasort() - Ordena um array utilizando uma função de comparação definida pelo usuário e mantendo as associações entre chaves e valores
  • uksort() - Ordena um array pelas chaves utilizando uma função de comparação definida pelo usuário.
  • sort() - Ordena um array
  • asort() - Ordena um array mantendo a associação entre índices e valores
  • arsort() - Ordena um array em ordem descrescente mantendo a associação entre índices e valores
  • ksort() - Ordena um array pelas chaves
  • natsort() - Ordena um array utilizando o algoritmo da "ordem natural"
  • rsort() - Ordena um array em ordem descrescente


Informação de Classe/Objeto

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Funções para Classes/Objetos
    • __autoload — Attempt to load undefined class
    • class_alias — Cria um alias para uma classe
    • class_exists — Checa se uma classe foi definida
    • get_called_class — Retorna o nome da classe "Chamado pelo method estatico"
    • get_class_methods — Obtém o nome dos métodos da classe
    • get_class_vars — Obtém as propriedades padrão da classe
    • get_class — Retorna o nome da classe de um objeto
    • get_declared_classes — Retorna uma matriz com os nomes das classes definidas
    • get_declared_interfaces — Retorna um array com todas as interfaces declaradas
    • get_declared_traits — Retorna um array de todas as Traits declaradas
    • get_object_vars — Obtém as propriedades públicas de um dado objeto
    • get_parent_class — Recupera o nome da classe pai para o objeto ou classe
    • interface_exists — Checa se a interface foi definida
    • is_a — Verifica se o objeto é de uma classe ou de sua classe pai
    • is_subclass_of — Verifica se o objeto tem esta classe como uma de suas classes pai
    • method_exists — Checa se o método da classe existe
    • property_exists — Checa se o objeto ou a classe tem uma propriedade
    • trait_exists — Verifica se a trait existe


Introdução

Estas funções te permitem obter informações sobre classes e instâncias de objetos. Você pode obter o nome da classe ao qual um objeto pertence, bem como suas propriedades e métodos. Usando estas funções, você pode descobrir não apenas a classe de um objeto, mas também seu parentesco (no caso, que classe este objeto de classe se estende).

Por favor, veja a seção Objetos do manual para uma explicação detalhada de como classes e objetos são implementados e utilizados no PHP.


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • Classes/Objetos
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Exemplos

Neste exemplo, nós primeiramente definiremos uma classe base e uma extensão da classe. A classe base descreve um vegetal comum, que é comestível ou não e que tem sua cor. A sub-classe Espinafre adiciona um método para cozinhá-lo e outro para descobrir se ele está cozido.

Exemplo #1 classes.inc

<?php

// Classe base com propriedades e métodos de membros
class Vegetal {

    var $comestivel;
    var $cor;

    function Vegetal($comestivel, $cor="verde")
    {
        $this->comestivel = $comestivel;
        $this->cor = $cor;
    }

    function is_comestivel()
    {
        return $this->comestivel;
    }

    function qual_cor()
    {
        return $this->cor;
    }

} // Fim da classe Vegetal

// estende a classe base
class Espinafre extends Vegetal {

    var $cozido = false;

    function Espinafre()
    {
        $this->Vegetal( true, "verde" );
    }

    function cozinhe()
    {
        $this->cozido = true;
    }

    function esta_cozido()
    {
        return $this->cozido;
    }

} // Fim da classe Espinafre

?>

Nós instanciamos 2 objetos destas classes e exibimos informações sobre elas, incluindo o parentesco de suas classes. Nós também definimos algumas funções úteis, principalmente para ter uma boa saída de variáveis.

Exemplo #2 test_script.php

<pre>
<?php

include "classes.inc";

// utility functions

function print_vars($obj)
{
foreach (get_object_vars($obj) as $prop => $val) {
    echo "\t$prop = $val\n";
}
}

function print_methods($obj)
{
$arr = get_class_methods(get_class($obj));
foreach ($arr as $method) {
    echo "\tfunction $method()\n";
}
}

function class_parentage($obj, $class)
{
if (is_subclass_of($GLOBALS[$obj], $class)) {
    echo "Object $obj belongs to class " . get_class($GLOBALS[$obj]);
    echo ", a subclass of $class\n";
} else {
    echo "Object $obj does not belong to a subclass of $class\n";
}
}

// instantiate 2 objects

$veggie = new Vegetable(true, "blue");
$leafy = new Spinach();

// print out information about objects
echo "veggie: CLASS " . get_class($veggie) . "\n";
echo "leafy: CLASS " . get_class($leafy);
echo ", PARENT " . get_parent_class($leafy) . "\n";

// show veggie properties
echo "\nveggie: Properties\n";
print_vars($veggie);

// and leafy methods
echo "\nleafy: Methods\n";
print_methods($leafy);

echo "\nParentage:\n";
class_parentage("leafy", "Spinach");
class_parentage("leafy", "Vegetable");
?>
</pre>

Uma coisa importante para se notar no exemplo acima é que o objeto $folheado é uma instância da classe Espinafre que é uma subclasse de Vegetal, então a última parte do script acima exibirá:

   [...]
Parentesco:
Objeto folheado não pertence a uma subclasse de Espinafre
Object folheado pertence à classe Espinafre, uma subclasse de Vegetal


Funções para Classes/Objetos

Índice

  • __autoload — Attempt to load undefined class
  • class_alias — Cria um alias para uma classe
  • class_exists — Checa se uma classe foi definida
  • get_called_class — Retorna o nome da classe "Chamado pelo method estatico"
  • get_class_methods — Obtém o nome dos métodos da classe
  • get_class_vars — Obtém as propriedades padrão da classe
  • get_class — Retorna o nome da classe de um objeto
  • get_declared_classes — Retorna uma matriz com os nomes das classes definidas
  • get_declared_interfaces — Retorna um array com todas as interfaces declaradas
  • get_declared_traits — Retorna um array de todas as Traits declaradas
  • get_object_vars — Obtém as propriedades públicas de um dado objeto
  • get_parent_class — Recupera o nome da classe pai para o objeto ou classe
  • interface_exists — Checa se a interface foi definida
  • is_a — Verifica se o objeto é de uma classe ou de sua classe pai
  • is_subclass_of — Verifica se o objeto tem esta classe como uma de suas classes pai
  • method_exists — Checa se o método da classe existe
  • property_exists — Checa se o objeto ou a classe tem uma propriedade
  • trait_exists — Verifica se a trait existe


Attempt to load undefined class

  • « Funções para Classes/Objetos
  • class_alias »
  • PHP Manual
  • Funções para Classes/Objetos
  • Attempt to load undefined class

__autoload

(PHP 5, PHP 7)

__autoload — Attempt to load undefined class

Aviso

This function has been DEPRECATED as of PHP 7.2.0, and REMOVED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

__autoload ( string $class ) : void

You can define this function to enable classes autoloading.

Parâmetros

class

Name of the class to load

Valor Retornado

Não há valor retornado.

Veja Também

  • spl_autoload_register() - Registra a função dada como implementação de __autoload()


Cria um alias para uma classe

  • « __autoload
  • class_exists »
  • PHP Manual
  • Funções para Classes/Objetos
  • Cria um alias para uma classe

class_alias

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

class_alias — Cria um alias para uma classe

Descrição

class_alias ( string $original , string $alias , bool $autoload = true ) : bool

Criando um alias nomeado alias Com base na classe definida pelo usuário original. A classe com alias é exatamente igual à classe original.

Parâmetros

original

A classe original.

alias

O nome do alias da classe.

autoload

Se é para carregar automaticamente a classe caso a mesma ainda não foi carregada.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 class_alias() Exemplo

<?php

class foo { }

class_alias('foo', 'bar');

$a = new foo;
$b = new bar;

// os objetos são iguais
var_dump($a == $b, $a === $b);
var_dump($a instanceof $b);

// as classes são iguais
var_dump($a instanceof foo);
var_dump($a instanceof bar);

var_dump($b instanceof foo);
var_dump($b instanceof bar);

?>

O exemplo acima irá imprimir:

bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

Veja Também

  • get_parent_class() - Recupera o nome da classe pai para o objeto ou classe
  • is_subclass_of() - Verifica se o objeto tem esta classe como uma de suas classes pai


Checa se uma classe foi definida

  • « class_alias
  • get_called_class »
  • PHP Manual
  • Funções para Classes/Objetos
  • Checa se uma classe foi definida

class_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

class_exists — Checa se uma classe foi definida

Descrição

class_exists ( string $class_name , bool $autoload = ? ) : bool

Esta função checa se uma dada classe foi definida.

Parâmetros

class_name

O nome da classe. O nome da classe é verificada sem fazer distinção de maiúscula e minúscula.

autoload

Se deve ou não chamar __autoload por padrão. O padrão é true.

Valor Retornado

Retorna true se class_name é uma classe definida, caso contrário retorna false.

Exemplos

Exemplo #1 Exemplo da class_exists()

<?php
// Check that the class exists before trying to use it
if (class_exists('MyClass')) {
    $myclass = new MyClass();
}

?>

Exemplo #2 Exemplo do parâmetro autoload

<?php
function __autoload($class)
{
    include($class . '.php');

    // Check to see whether the include declared the class
    if (!class_exists($class, false)) {
        trigger_error("Unable to load class: $class", E_USER_WARNING);
    }
}

if (class_exists('MyClass')) {
    $myclass = new MyClass();
}

?>

Veja Também

  • function_exists() - Retorna true se a função dada está definida
  • interface_exists() - Checa se a interface foi definida
  • get_declared_classes() - Retorna uma matriz com os nomes das classes definidas


Retorna o nome da classe "Chamado pelo method estatico"

  • « class_exists
  • get_class_methods »
  • PHP Manual
  • Funções para Classes/Objetos
  • Retorna o nome da classe "Chamado pelo method estatico"

get_called_class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

get_called_class — Retorna o nome da classe "Chamado pelo method estatico"

Descrição

get_called_class ( ) : string

Obtém o nome da classe em que o método estático é chamado.

Valor Retornado

Retorna o nome da classe ou false se chamado de fora de uma classe.

Exemplos

Exemplo #1 Usando get_called_class()

<?php

class foo {
    static public function test() {
        var_dump(get_called_class());
    }
}

class bar extends foo {
}

foo::test();
bar::test();

?>

O exemplo acima irá imprimir:

string(3) "foo"
string(3) "bar"

Veja Também

  • get_parent_class() - Recupera o nome da classe pai para o objeto ou classe
  • get_class() - Retorna o nome da classe de um objeto
  • is_subclass_of() - Verifica se o objeto tem esta classe como uma de suas classes pai


Obtém o nome dos métodos da classe

  • « get_called_class
  • get_class_vars »
  • PHP Manual
  • Funções para Classes/Objetos
  • Obtém o nome dos métodos da classe

get_class_methods

(PHP 4, PHP 5, PHP 7, PHP 8)

get_class_methods — Obtém o nome dos métodos da classe

Descrição

get_class_methods ( mixed $class_name ) : array

Obtém o nome dos métodos da classe.

Parâmetros

class_name

O nome da classe ou a instância do objeto

Valor Retornado

Retorna um array de nome de métodos definidos para a classe especificada por class_name. No case de um erro, é retornado null.

Changelog

Versão | Descrição
5.0.0 | No PHP 5, esta função retorna o nome dos métodos como eles foram declarados (case-sensitive). No PHP 4 eles ficavam em minúsculo.
4.0.6 | A possibilidade de especificar o próprio objeto foi adicionada.

Exemplos

Exemplo #1 Exemplo da get_class_methods()

<?php

class myclass {
    // constructor
    function myclass()
    {
        return(true);
    }

    // method 1
    function myfunc1()
    {
        return(true);
    }

    // method 2
    function myfunc2()
    {
        return(true);
    }
}

$class_methods = get_class_methods('myclass');
// or
$class_methods = get_class_methods(new myclass());

foreach ($class_methods as $method_name) {
    echo "$method_name\n";
}

?>

O exemplo acima irá imprimir:

myclass
myfunc1
myfunc2

Veja Também

  • get_class() - Retorna o nome da classe de um objeto
  • get_class_vars() - Obtém as propriedades padrão da classe
  • get_object_vars() - Obtém as propriedades públicas de um dado objeto


Obtém as propriedades padrão da classe

  • « get_class_methods
  • get_class »
  • PHP Manual
  • Funções para Classes/Objetos
  • Obtém as propriedades padrão da classe

get_class_vars

(PHP 4, PHP 5, PHP 7, PHP 8)

get_class_vars — Obtém as propriedades padrão da classe

Descrição

get_class_vars ( string $class_name ) : array

Obtém as propriedades padrão de uma dada classe.

Parâmetros

class_name

O nome da classe

Valor Retornado

Retorna um array associativo das propriedades públicas padrão da classe. Os elementos do array resultante estão na forma de nome da variável => valor.

Exemplos

Exemplo #1 Exemplo da get_class_vars()

<?php

class myclass {

    var $var1; // esta não tem valor default...
    var $var2 = "xyz";
    var $var3 = 100;
    private $var4; // PHP 5

    // construtor
    function myclass() {
        // mudar algumas propriedades
       $this->var1 = "foo";
       $this->var2 = "bar";
       return true;
    }

}

$my_class = new myclass();

$class_vars = get_class_vars(get_class($my_class));

foreach ($class_vars as $name => $value) {
    echo "$name : $value\n";
}

?>

O exemplo acima irá imprimir:

// Anteriormente ao PHP 4.2.0
var2 : xyz
var3 : 100

// Apartir do PHP 4.2.0
var1 :
var2 : xyz
var3 : 100

Veja Também

  • get_class_methods() - Obtém o nome dos métodos da classe
  • get_object_vars() - Obtém as propriedades públicas de um dado objeto


Retorna o nome da classe de um objeto

  • « get_class_vars
  • get_declared_classes »
  • PHP Manual
  • Funções para Classes/Objetos
  • Retorna o nome da classe de um objeto

get_class

(PHP 4, PHP 5, PHP 7, PHP 8)

get_class — Retorna o nome da classe de um objeto

Descrição

get_class ( object $object = ? ) : string

Obtém o nome da classe do dado object.

Parâmetros

object

O objeto a ser testado

Valor Retornado

Retorna o nome da classe da qual object é uma instância. Retorna false se object não é um objeto.

Changelog

Versão | Descrição
Desde o 5.0.0 | O nome da classe é retornado em sua notação original.
Desde o 5.0.0 | O parâmetro object é opcional se chamado para um método do objeto.

Exemplos

Exemplo #1 Usando a get_class()

<?php

class foo {
    function name()
    {
        echo "Meu nome é " , get_class($this) , "\n";
    }
}

// create an object
$bar = new foo();

// external call
echo "Its name is " , get_class($bar) , "\n";

// internal call
$bar->name();

?>

O exemplo acima irá imprimir:

Its name is foo
My name is foo

Exemplo #2 Usando get_class() na superclasse

<?php

abstract class bar {
    public function __construct()
    {
        var_dump(get_class($this));
        var_dump(get_class());
    }
}

class foo extends bar {
}

new foo;

?>

O exemplo acima irá imprimir:

string(3) "foo"
string(3) "bar"

Veja Também

  • get_parent_class() - Recupera o nome da classe pai para o objeto ou classe
  • gettype() - Obtém o tipo da variável
  • is_subclass_of() - Verifica se o objeto tem esta classe como uma de suas classes pai


Retorna uma matriz com os nomes das classes definidas

  • « get_class
  • get_declared_interfaces »
  • PHP Manual
  • Funções para Classes/Objetos
  • Retorna uma matriz com os nomes das classes definidas

get_declared_classes

(PHP 4, PHP 5, PHP 7, PHP 8)

get_declared_classes — Retorna uma matriz com os nomes das classes definidas

Descrição

get_declared_classes ( ) : array

Obtém as classes declaradas.

Valor Retornado

Retorna um array de nomes de classes declaradas no script atual.

Nota:

A partir do PHP 4.0.1, três classes extras são retornadas no início da matriz: stdClass (definida em Zend/zend.c), OverloadedTestClass (definida em ext/standard/basic_functions.c) e Directory (definida em ext/standard/dir.c).

Note também que, dependendo de quais bibliotecas você tenha compilado ou carregado no no PHP, classes adicionais poderão estar presentes. Isto significa que você não será capaz de distinguir suas próprias classes usando estes nomes. Há uma lista de classes pré-definidas na seção Classes Pré-definidas dos apêndices.

Exemplos

Exemplo #1 Exemplo da get_declared_classes()

<?php
print_r(get_declared_classes());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => stdClass
    [1] => __PHP_Incomplete_Class
    [2] => Directory
)

Veja Também

  • class_exists() - Checa se uma classe foi definida
  • get_declared_interfaces() - Retorna um array com todas as interfaces declaradas
  • get_defined_functions() - Retorna um array de todas as funções definidas


Retorna um array com todas as interfaces declaradas

  • « get_declared_classes
  • get_declared_traits »
  • PHP Manual
  • Funções para Classes/Objetos
  • Retorna um array com todas as interfaces declaradas

get_declared_interfaces

(PHP 5, PHP 7, PHP 8)

get_declared_interfaces — Retorna um array com todas as interfaces declaradas

Descrição

get_declared_interfaces ( ) : array

Retorna as interfaces declaradas.

Valor Retornado

Essa função retorna um array com os nomes de interfaces declaradas no script atual.

Exemplos

Exemplo #1 Exemplo de uso de get_declared_interfaces()

<?php
print_r(get_declared_interfaces());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Traversable
    [1] => IteratorAggregate
    [2] => Iterator
    [3] => ArrayAccess
    [4] => reflector
    [5] => RecursiveIterator
    [6] => SeekableIterator
)

Veja Também

  • get_declared_classes() - Retorna uma matriz com os nomes das classes definidas
  • class_implements() - Retorna as interfaces que são implementadas pela classe


Retorna um array de todas as Traits declaradas

  • « get_declared_interfaces
  • get_object_vars »
  • PHP Manual
  • Funções para Classes/Objetos
  • Retorna um array de todas as Traits declaradas

get_declared_traits

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

get_declared_traits — Retorna um array de todas as Traits declaradas

Descrição

get_declared_traits ( ) : array

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um array com todos os nomes das traids declaradas em seus valores. Retorna null em caso de falha.

Veja Também

  • class_uses() - Return the traits used by the given class
  • trait_exists() - Verifica se a trait existe


Obtém as propriedades públicas de um dado objeto

  • « get_declared_traits
  • get_parent_class »
  • PHP Manual
  • Funções para Classes/Objetos
  • Obtém as propriedades públicas de um dado objeto

get_object_vars

(PHP 4, PHP 5, PHP 7, PHP 8)

get_object_vars — Obtém as propriedades públicas de um dado objeto

Descrição

get_object_vars ( object $object ) : array

Obtém as propriedades acessíveis de um dado object de acordo com o escopo.

Parâmetros

object

Uma instância de objeto.

Valor Retornado

Retorna um array associativo das definidas acessíveis propriedades do objeto especificado por object. Se uma propriedade não possui ainda um valor, será retornado com valor null.

Changelog

Versão | Descrição
antes do 4.2.0 | Se as variáveis declaradas na classe da qual o object é uma instância, não foram assimilado um valor, estes não serão retornados no array

Exemplos

Exemplo #1 Uso da get_object_vars()

<?php

class foo {
    private $a;
    public $b = 1;
    public $c;
    private $d;
    static $e;

    public function test() {
        var_dump(get_object_vars($this));
    }
}

$test = new foo;
var_dump(get_object_vars($test));

$test->test();

?>

O exemplo acima irá imprimir:

array(2) {
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
}
array(4) {
  ["a"]=>
  NULL
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
  ["d"]=>
  NULL
}

Veja Também

  • get_class_methods() - Obtém o nome dos métodos da classe
  • get_class_vars() - Obtém as propriedades padrão da classe


Recupera o nome da classe pai para o objeto ou classe

  • « get_object_vars
  • interface_exists »
  • PHP Manual
  • Funções para Classes/Objetos
  • Recupera o nome da classe pai para o objeto ou classe

get_parent_class

(PHP 4, PHP 5, PHP 7, PHP 8)

get_parent_class — Recupera o nome da classe pai para o objeto ou classe

Descrição

get_parent_class ( mixed $object = ? ) : string

Recupera o nome da classe pai para o objeto ou classe.

Parâmetros

object

O objeto a ser testado ou o nome da classe

Valor Retornado

Retorna o nome da classe pai da classe da qual object é uma instância ou o nome.

Nota:

Se o objeto não tem um pai, será retornado false.

Se chamado sem parâmetro fora do objeto, esta função retorna false.

Changelog

Versão | Descrição
Antes do 5.1.0 | Se chamado sem parâmetro fora do objeto, esta função retornaria null com um aviso.
Desde o 5.0.0 | O parâmetro object é opcional se chamado de um método de objeto.
Desde o 4.0.5 | Se object é uma string, retorna o nome da classe pai da classe com este nome.

Exemplos

Exemplo #1 Usando get_parent_class()

<?php

class dad {
    function dad()
    {
    // implemente alguma lógica
    }
}

class child extends dad {
    function child()
    {
        echo "Eu sou " , get_parent_class($this) , "'s filho\n";
    }
}

class child2 extends dad {
    function child2()
    {
        echo "Eu sou " , get_parent_class('child2') , "'s filho também\n";
    }
}

$foo = new child();
$bar = new child2();

?>

O exemplo acima irá imprimir:

I'm dad's son
I'm dad's son too

Veja Também

  • get_class() - Retorna o nome da classe de um objeto
  • is_subclass_of() - Verifica se o objeto tem esta classe como uma de suas classes pai


Checa se a interface foi definida

  • « get_parent_class
  • is_a »
  • PHP Manual
  • Funções para Classes/Objetos
  • Checa se a interface foi definida

interface_exists

(PHP 5 >= 5.0.2, PHP 7, PHP 8)

interface_exists — Checa se a interface foi definida

Descrição

interface_exists ( string $interface_name , bool $autoload = ? ) : bool

Verifica se uma interface foi definida.

Parâmetros

interface_name

O nome da interface.

autoload

Se deve chamar __autoload ou não por padrão

Valor Retornado

Essa função retorna true se a interface de nome interface_name já foi definida, false caso contrário.

Exemplos

Exemplo #1 Exemplo de uso de interface_exists()

<?php
// Check the interface exists before trying to use it
if (interface_exists('MyInterface')) {
    class MyClass implements MyInterface
    {
        // Methods
    }
}

?>

Veja Também

  • class_exists() - Checa se uma classe foi definida


Verifica se o objeto é de uma classe ou de sua classe pai

  • « interface_exists
  • is_subclass_of »
  • PHP Manual
  • Funções para Classes/Objetos
  • Verifica se o objeto é de uma classe ou de sua classe pai

is_a

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

is_a — Verifica se o objeto é de uma classe ou de sua classe pai

Descrição

is_a ( object $object , string $class_name ) : bool

Verifica se o dado object é de uma classe ou de sua classe pai.

Nota:

A função is_a() tornou-se obsoleta no PHP 5 pelo operador instanceof.

Parâmetros

object

The tested object

class_name

The class name

Valor Retornado

Returns true if the object is of this class or has this class as one of its parents, false otherwise.

Exemplos

Exemplo #1 is_a() example

<?php
// define a class
class WidgetFactory
{
  var $oink = 'moo';
}

// create a new object
$WF = new WidgetFactory();

if (is_a($WF, 'WidgetFactory')) {
  echo "yes, \$WF is still a WidgetFactory\n";
}
?>

Exemplo #2 Using the instanceof operator in PHP 5

<?php
if ($WF instanceof WidgetFactory) {
    echo 'Yes, $WF is a WidgetFactory';
}
?>

Veja Também

  • get_class() - Retorna o nome da classe de um objeto
  • get_parent_class() - Recupera o nome da classe pai para o objeto ou classe
  • is_subclass_of() - Verifica se o objeto tem esta classe como uma de suas classes pai


Verifica se o objeto tem esta classe como uma de suas classes pai

  • « is_a
  • method_exists »
  • PHP Manual
  • Funções para Classes/Objetos
  • Verifica se o objeto tem esta classe como uma de suas classes pai

is_subclass_of

(PHP 4, PHP 5, PHP 7, PHP 8)

is_subclass_of — Verifica se o objeto tem esta classe como uma de suas classes pai

Descrição

is_subclass_of ( mixed $object , string $class_name ) : bool

Verifica se o dado object tem a classe class_name como uma de suas classes pai.

Parâmetros

object

O nome da classe ou um instância do objeto

class_name

O nome da classe

Valor Retornado

Esta função retorna true se o objeto object, pertence a classe que é a subclasse de class_name, false caso contrário.

Exemplos

Exemplo #1 Exemplo da is_subclass_of()

<?php
// define a class
class WidgetFactory
{
  var $oink = 'moo';
}

// define a child class
class WidgetFactory_Child extends WidgetFactory
{
  var $oink = 'oink';
}

// create a new object
$WF = new WidgetFactory();
$WFC = new WidgetFactory_Child();

if (is_subclass_of($WFC, 'WidgetFactory')) {
  echo "yes, \$WFC is a subclass of WidgetFactory\n";
} else {
  echo "no, \$WFC is not a subclass of WidgetFactory\n";
}

if (is_subclass_of($WF, 'WidgetFactory')) {
  echo "yes, \$WF is a subclass of WidgetFactory\n";
} else {
  echo "no, \$WF is not a subclass of WidgetFactory\n";
}

// usable only since PHP 5.0.3
if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) {
  echo "yes, WidgetFactory_Child is a subclass of WidgetFactory\n";
} else {
  echo "no, WidgetFactory_Child is not a subclass of WidgetFactory\n";
}
?>

O exemplo acima irá imprimir:

yes, $WFC is a subclass of WidgetFactory
no, $WF is not a subclass of WidgetFactory
yes, WidgetFactory_Child is a subclass of WidgetFactory

Veja Também

  • get_class() - Retorna o nome da classe de um objeto
  • get_parent_class() - Recupera o nome da classe pai para o objeto ou classe
  • is_a() - Verifica se o objeto é de uma classe ou de sua classe pai


Checa se o método da classe existe

  • « is_subclass_of
  • property_exists »
  • PHP Manual
  • Funções para Classes/Objetos
  • Checa se o método da classe existe

method_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

method_exists — Checa se o método da classe existe

Descrição

method_exists ( object $object , string $method_name ) : bool

Verifica se o método da classe existe num dado object.

Parâmetros

object

Uma instância de objeto

method_name

O nome do método

Valor Retornado

Retorna true se o dado método method_name é definido no dado object, false caso contrário.

Exemplos

Exemplo #1 Exemplo da method_exists()

<?php
$directory = new Directory('.');
var_dump(method_exists($directory,'read'));
?>

O exemplo acima irá imprimir:

bool(true)

Exemplo #2 Exemplo da method_exists() com método estático

<?php
$directory = new Directory('.');
var_dump(method_exists('Directory','read'));
?>

O exemplo acima irá imprimir:

bool(true)

Veja Também

  • function_exists() - Retorna true se a função dada está definida
  • is_callable() - Verifica se o conteúdo da variável pode ser chamado como função


Checa se o objeto ou a classe tem uma propriedade

  • « method_exists
  • trait_exists »
  • PHP Manual
  • Funções para Classes/Objetos
  • Checa se o objeto ou a classe tem uma propriedade

property_exists

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

property_exists — Checa se o objeto ou a classe tem uma propriedade

Descrição

property_exists ( mixed $class , string $property ) : bool

Essa função checa se property existe na classe especificada (e se ela é acessível do escopo atual).

Nota:

Ao contrário de isset(), property_exists() retorna true mesmo se a propriedade tiver valor null (nulo).

Parâmetros

class

O nome da classe ou um objeto da classe a ser testada

property

O nome da propriedade

Valor Retornado

Retorna true se a propriedade existe, false se ela não existir ou null em caso de erro.

Exemplos

Exemplo #1 Exemplo de uso de property_exists()

<?php

class myClass {
    public $mine;
    private $xpto;

    static function test() {
        var_dump(property_exists('myClass', 'xpto')); // true, it can be accessed from here
    }
}

var_dump(property_exists('myClass', 'mine'));   //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto'));   //false, isn't public
myClass::test();

?>

Veja Também

  • method_exists() - Checa se o método da classe existe


Verifica se a trait existe

  • « property_exists
  • Classkit »
  • PHP Manual
  • Funções para Classes/Objetos
  • Verifica se a trait existe

trait_exists

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

trait_exists — Verifica se a trait existe

Descrição

trait_exists ( string $traitname , bool $autoload = ? ) : bool

Parâmetros

traitname

Nome da trait para verificação

autoload

Se deve carregar automaticamente a trait se caso ainda não estiver carregada.

Valor Retornado

Retorna true se a Trait existir, false caso não exista, null caso aconteça algum erro.


Classkit

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções da Classkit
    • classkit_import — Importa métodos definidos em outra classe
    • classkit_method_add — Adiciona dinamicamente um método a uma classe
    • classkit_method_copy — Copia um método de uma classe para a outra
    • classkit_method_redefine — Muda dinâmicamente o corpo do método
    • classkit_method_remove — Remove dinamicamente um método da classe
    • classkit_method_rename — Muda dinamicamente o nome de um método


Introdução

As funções contidas nesse pacote permitem a manipulação dinâmica de classes, em tempo de execução.

Nota:

Esta extensão foi substituida por por runkit, essa nova extensão não limita-se apenas a manipulação de classes extendendo também as funções.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/classkit.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

CLASSKIT_ACC_PRIVATE (int)
Seta o método como private
CLASSKIT_ACC_PROTECTED (int)
Seta o método como protected
CLASSKIT_ACC_PUBLIC (int)
Seta o método como public


Funções da Classkit

Índice

  • classkit_import — Importa métodos definidos em outra classe
  • classkit_method_add — Adiciona dinamicamente um método a uma classe
  • classkit_method_copy — Copia um método de uma classe para a outra
  • classkit_method_redefine — Muda dinâmicamente o corpo do método
  • classkit_method_remove — Remove dinamicamente um método da classe
  • classkit_method_rename — Muda dinamicamente o nome de um método


Importa métodos definidos em outra classe

  • « Funções da Classkit
  • classkit_method_add »
  • PHP Manual
  • Funções da Classkit
  • Importa métodos definidos em outra classe

classkit_import

(PECL classkit >= 0.3)

classkit_import — Importa métodos definidos em outra classe

Descrição

classkit_import ( string $filename ) : array

Nota: Esta função não pode ser utilizada para manipular um método em uso (ou encadeado).

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

filename

Nome do arquivo onde foi definido o método a ser importado

Valor Retornado

Array contendo os métodos importados

Exemplos

Exemplo #1 classkit_import() example

<?php
// file: newclass.php
class Example {
    function foo() {
        return "bar!\n";
    }
}
?>
<?php
// requires newclass.php (see above)
class Example {
    function foo() {
        return "foo!\n";
    }
}

$e = new Example();

// output original
echo $e->foo();

// import replacement method
classkit_import('newclass.php');

// output imported
echo $e->foo();

?>

O exemplo acima irá imprimir:

foo!
bar!

Veja Também

  • classkit_method_add() - Adiciona dinamicamente um método a uma classe
  • classkit_method_copy() - Copia um método de uma classe para a outra


Adiciona dinamicamente um método a uma classe

  • « classkit_import
  • classkit_method_copy »
  • PHP Manual
  • Funções da Classkit
  • Adiciona dinamicamente um método a uma classe

classkit_method_add

(PECL classkit >= 0.1)

classkit_method_add — Adiciona dinamicamente um método a uma classe

Descrição

classkit_method_add ( string $classname , string $methodname , string $args , string $code , int $flags = ? ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

classname

Classe que receberá o método

methodname

Nome do método a ser adicionado

args

Parâmetros do método, para mais de um parâmetro deve-se separa-los por ',' (virgula)

code

Código a ser executado quando methodname for chamado.

flags

Tipo do método, pode ser: CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED or CLASSKIT_ACC_PRIVATE

Nota:

Este parâmetro somente é usado na versão 5 ou superior, versão anteriores a 5 os métodos sempre são public.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 classkit_method_add() example

<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// create an Example object
$e = new Example();

// Add a new public method
classkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    CLASSKIT_ACC_PUBLIC
);

// add 12 + 4
echo $e->add(12, 4);
?>

O exemplo acima irá imprimir:

16

Veja Também

  • classkit_method_copy() - Copia um método de uma classe para a outra
  • classkit_method_redefine() - Muda dinâmicamente o corpo do método
  • classkit_method_remove() - Remove dinamicamente um método da classe
  • classkit_method_rename() - Muda dinamicamente o nome de um método
  • create_function() - Cria uma função anônima (lambda-style)


Copia um método de uma classe para a outra

  • « classkit_method_add
  • classkit_method_redefine »
  • PHP Manual
  • Funções da Classkit
  • Copia um método de uma classe para a outra

classkit_method_copy

(PECL classkit >= 0.2)

classkit_method_copy — Copia um método de uma classe para a outra

Descrição

classkit_method_copy ( string $dClass , string $dMethod , string $sClass , string $sMethod = ? ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

dClass

Classe destino. para será copiado o método

dMethod

Nome do método na classe que ele irá ser copiado

sClass

Classe fonte, de onde o método será copiado

sMethod

Nome do método na classe fonte. Se este parâmetro for omitido, o dMethod é replicado aqui.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 classkit_method_copy() example

<?php
class Foo {
    function example() {
        return "foo!\n";
    }
}

class Bar {
    // initially, no methods
}

// copy the example() method from the Foo class to the Bar class, as baz()
classkit_method_copy('Bar', 'baz', 'Foo', 'example');

// output copied function
echo Bar::baz();
?>

O exemplo acima irá imprimir:

foo!

Veja Também

  • classkit_method_add() - Adiciona dinamicamente um método a uma classe
  • classkit_method_redefine() - Muda dinâmicamente o corpo do método
  • classkit_method_remove() - Remove dinamicamente um método da classe
  • classkit_method_rename() - Muda dinamicamente o nome de um método


Muda dinâmicamente o corpo do método

  • « classkit_method_copy
  • classkit_method_remove »
  • PHP Manual
  • Funções da Classkit
  • Muda dinâmicamente o corpo do método

classkit_method_redefine

(PECL classkit >= 0.1)

classkit_method_redefine — Muda dinâmicamente o corpo do método

Descrição

classkit_method_redefine ( string $classname , string $methodname , string $args , string $code , int $flags = ? ) : bool

Nota: Esta função não pode ser utilizada para manipular um método em uso (ou encadeado).

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

classname

Classe que contém o método que será redefinido

methodname

Método a ser redefinido

args

Parâmetros do método redefinido, mais de um parâmetro deve ser separado por virgula (,)

code

O novo código será executado quando methodname for invocado.

flags

Tipo do método, pode ser: CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED or CLASSKIT_ACC_PRIVATE

Nota:

Este parâmetro somente é usado na versão 5 ou superior, versão anteriores a 5 os métodos sempre são public.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 classkit_method_redefine() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// create an Example object
$e = new Example();

// output Example::foo() (before redefine)
echo "Before: " . $e->foo();

// Redefine the 'foo' method
classkit_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    CLASSKIT_ACC_PUBLIC
);

// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>

O exemplo acima irá imprimir:

Before: foo!
After: bar!

Veja Também

  • classkit_method_add() - Adiciona dinamicamente um método a uma classe
  • classkit_method_copy() - Copia um método de uma classe para a outra
  • classkit_method_remove() - Remove dinamicamente um método da classe
  • classkit_method_rename() - Muda dinamicamente o nome de um método


Remove dinamicamente um método da classe

  • « classkit_method_redefine
  • classkit_method_rename »
  • PHP Manual
  • Funções da Classkit
  • Remove dinamicamente um método da classe

classkit_method_remove

(PECL classkit >= 0.1)

classkit_method_remove — Remove dinamicamente um método da classe

Descrição

classkit_method_remove ( string $classname , string $methodname ) : bool

Nota: Esta função não pode ser utilizada para manipular um método em uso (ou encadeado).

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

classname

Classe de onde será retirado o método

methodname

Método a ser removido

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 classkit_method_remove() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Remove the 'foo' method
classkit_method_remove(
    'Example',
    'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

O exemplo acima irá imprimir:

bar

Veja Também

  • classkit_method_add() - Adiciona dinamicamente um método a uma classe
  • classkit_method_copy() - Copia um método de uma classe para a outra
  • classkit_method_redefine() - Muda dinâmicamente o corpo do método
  • classkit_method_rename() - Muda dinamicamente o nome de um método


Muda dinamicamente o nome de um método

  • « classkit_method_remove
  • Ctype »
  • PHP Manual
  • Funções da Classkit
  • Muda dinamicamente o nome de um método

classkit_method_rename

(PECL classkit >= 0.1)

classkit_method_rename — Muda dinamicamente o nome de um método

Descrição

classkit_method_rename ( string $classname , string $methodname , string $newname ) : bool

Nota: Esta função não pode ser utilizada para manipular um método em uso (ou encadeado).

Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

classname

Classe onde o método foi definido

methodname

Método a ser renomeado

newname

Novo nome do método

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 classkit_method_rename() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Rename the 'foo' method to 'bar'
classkit_method_rename(
    'Example',
    'foo',
    'bar'
);

// output renamed function
echo Example::bar();
?>

O exemplo acima irá imprimir:

foo!

Veja Também

  • classkit_method_add() - Adiciona dinamicamente um método a uma classe
  • classkit_method_copy() - Copia um método de uma classe para a outra
  • classkit_method_redefine() - Muda dinâmicamente o corpo do método
  • classkit_method_remove() - Remove dinamicamente um método da classe


Funções pra verificação de tipo de caractere

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções da Ctype
    • ctype_alnum — Verifica se os caracteres são alfanuméricos
    • ctype_alpha — Verifica se os caracteres são alfabéticos
    • ctype_cntrl — Verifica se os caracteres são de controle
    • ctype_digit — Verifica se os caracteres são numéricos
    • ctype_graph — Verifica se os caracteres são imprimíveis exceto espaço
    • ctype_lower — Verifica se os caracteres estão minúsculos
    • ctype_print — Verifica se os caracteres são imprimíveis
    • ctype_punct — Verifica se é um caractere imprimível que não é whitespace ou alfanumério
    • ctype_space — Verifica se os caracteres são whitespace
    • ctype_upper — Verifica se os caracteres são maiúsculos
    • ctype_xdigit — Verifica se os caracteres representam um dígito hexadecimal


Introdução

As funções providas por esta extensão verificam se um caractere ou uma string está dentro de uma certa classe de caracteres de acordo com o atual locate (veja também setlocale()).

Quando chamada com um argumento inteiro, estas funções comportam-se exatamente como ocorro na linguagem C usando ctype.h. Significa que se você passar um inteiro menor que 256, será usado o valor ASCII dele para ver se está dentro do intervalo especificado (dígitos estão entre 0x30-0x39).

Quando chamadada com uma string como argumento elas irão verificar todos caracteres na string e irá somente retornar true se todos caracteres da string combinam com o requisitado critério. Quando chamado com uma string vazia o resultado irá sempre ser true no PHP < 5.1 e false a até o 5.1.

Passando qualquer tipo além de string ou inteiro será retornado imediatamente false.

Deve ser notado que funções ctype são sempre preferência sobre expressões regulares, e as equivalentes funções str_* e is_*. Isto pelo fato de que ctype usa a biblioteca nativa C e assim processar significantemente mais rápido.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

Nenhum adicional para estas funções da biblioteca padrão C que são sempre disponíveis.


Instalação

Iniciado com o PHP 4.2.0 estas funções são habilitadas por padrão. Para antigas versões você tem que configurar e compilar o PHP com --enable-ctype. Você pode desabilitar o suporte a ctype com --disable-ctype.

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.

Nota: Suporte nativo a ctype é disponível com PHP 4.3.0.


  • « Tipos de Recurso
  • Funções da Ctype »
  • PHP Manual
  • Ctype
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Funções da Ctype

Índice

  • ctype_alnum — Verifica se os caracteres são alfanuméricos
  • ctype_alpha — Verifica se os caracteres são alfabéticos
  • ctype_cntrl — Verifica se os caracteres são de controle
  • ctype_digit — Verifica se os caracteres são numéricos
  • ctype_graph — Verifica se os caracteres são imprimíveis exceto espaço
  • ctype_lower — Verifica se os caracteres estão minúsculos
  • ctype_print — Verifica se os caracteres são imprimíveis
  • ctype_punct — Verifica se é um caractere imprimível que não é whitespace ou alfanumério
  • ctype_space — Verifica se os caracteres são whitespace
  • ctype_upper — Verifica se os caracteres são maiúsculos
  • ctype_xdigit — Verifica se os caracteres representam um dígito hexadecimal


Verifica se os caracteres são alfanuméricos

  • « Funções da Ctype
  • ctype_alpha »
  • PHP Manual
  • Funções da Ctype
  • Verifica se os caracteres são alfanuméricos

ctype_alnum

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_alnum — Verifica se os caracteres são alfanuméricos

Descrição

ctype_alnum ( string $text ) : bool

Verifica se todos os caracteres na string fornecida, text, é alfanumérico. No padrão C locale letras são [A-Za-z].

Parâmetros

text

A string a ser testada.

Valor Retornado

Retorna true se todos caracteres em text são letra ou dígito, false caso contrário.

Exemplos

Exemplo #1 Um exemplo da ctype_alnum() (usando o locale padrão)

<?php
$strings = array('AbCd1zyZ9', 'foo!#$bar');
foreach ($strings as $testcase) {
    if (ctype_alnum($testcase)) {
        echo "The string $testcase consists of all letters or digits.\n";
    } else {
        echo "The string $testcase does not consist of all letters or digits.\n";
    }
}
?>

O exemplo acima irá imprimir:

The string AbCd1zyZ9 consists of all letters or digits.
The string foo!#$bar does not consist of all letters or digits.

Veja Também

  • ctype_alpha() - Verifica se os caracteres são alfabéticos
  • ctype_digit() - Verifica se os caracteres são numéricos
  • setlocale() - Define informações locais


Verifica se os caracteres são alfabéticos

  • « ctype_alnum
  • ctype_cntrl »
  • PHP Manual
  • Funções da Ctype
  • Verifica se os caracteres são alfabéticos

ctype_alpha

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_alpha — Verifica se os caracteres são alfabéticos

Descrição

ctype_alpha ( string $text ) : bool

Verifica se todos os caracteres na string fornecida, text, são alfabéticos. No padrão C locale letras são [A-Za-z] e ctype_alpha() é equivalente a (ctype_upper($text) || ctype_lower($text)) se $text é um único caractere, mas outras linguagens possuem letras que não são considerada nem maiúscula nem minúscula.

Parâmetros

text

A string a ser testada.

Valor Retornado

Retorna true se todos caracteres em text é uma letra do atual locale, false caso contrário.

Exemplos

Exemplo #1 Um exemplo da ctype_alpha() (usando o locale padrão)

<?php
$strings = array('KjgWZC', 'arf12');
foreach ($strings as $testcase) {
    if (ctype_alpha($testcase)) {
        echo "The string $testcase consists of all letters.\n";
    } else {
        echo "The string $testcase does not consist of all letters.\n";
    }
}
?>

O exemplo acima irá imprimir:

The string KjgWZC consists of all letters.
The string arf12 does not consist of all letters.

Veja Também

  • ctype_upper() - Verifica se os caracteres são maiúsculos
  • ctype_lower() - Verifica se os caracteres estão minúsculos
  • setlocale() - Define informações locais


Verifica se os caracteres são de controle

  • « ctype_alpha
  • ctype_digit »
  • PHP Manual
  • Funções da Ctype
  • Verifica se os caracteres são de controle

ctype_cntrl

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_cntrl — Verifica se os caracteres são de controle

Descrição

ctype_cntrl ( string $text ) : bool

Verifica se todos os caracteres na string fornecedia, text, são caracteres de controle. Caracteres de controle são e.g. line feed, tab, escape.

Parâmetros

text

A string a ser testada.

Valor Retornado

Retorna true se todos caracteres em text são caracteres de controle do atual locale, false caso contrário.

Exemplos

Exemplo #1 Um exemplo da ctype_cntrl()

<?php
$strings = array('string1' => "\n\r\t", 'string2' => 'arf12');
foreach ($strings as $name => $testcase) {
    if (ctype_cntrl($testcase)) {
        echo "The string '$name' consists of all control characters.\n";
    } else {
        echo "The string '$name' does not consist of all control characters.\n";
    }
}
?>

O exemplo acima irá imprimir:

The string 'string1' consists of all control characters.
The string 'string2' does not consist of all control characters.

Veja Também

  • ctype_print() - Verifica se os caracteres são imprimíveis


Verifica se os caracteres são numéricos

  • « ctype_cntrl
  • ctype_graph »
  • PHP Manual
  • Funções da Ctype
  • Verifica se os caracteres são numéricos

ctype_digit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_digit — Verifica se os caracteres são numéricos

Descrição

ctype_digit ( string $text ) : bool

Verifica se todos os caracteres na string fornecida, text, são numéricos.

Parâmetros

text

A string a ser testada.

Valor Retornado

Retorna true se todos caracteres em text são dígitos decimais, false caso contrário.

Exemplos

Exemplo #1 Um exemplo da ctype_digit()

<?php
$strings = array('1820.20', '10002', 'wsl!12');
foreach ($strings as $testcase) {
    if (ctype_digit($testcase)) {
        echo "The string $testcase consists of all digits.\n";
    } else {
        echo "The string $testcase does not consist of all digits.\n";
    }
}
?>

O exemplo acima irá imprimir:

The string 1820.20 does not consist of all digits.
The string 10002 consists of all digits.
The string wsl!12 does not consist of all digits.

Veja Também

  • ctype_alnum() - Verifica se os caracteres são alfanuméricos
  • ctype_xdigit() - Verifica se os caracteres representam um dígito hexadecimal


Verifica se os caracteres são imprimíveis exceto espaço

  • « ctype_digit
  • ctype_lower »
  • PHP Manual
  • Funções da Ctype
  • Verifica se os caracteres são imprimíveis exceto espaço

ctype_graph

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_graph — Verifica se os caracteres são imprimíveis exceto espaço

Descrição

ctype_graph ( string $text ) : bool

Verifica se todos os caracteres na string fornecida, text, são visíveis.

Parâmetros

text

A string a ser testada.

Valor Retornado

Retorna true se todos caracteres em text são imprimíveis e criam uma saída visível (sem white space), false caso contrário.

Exemplos

Exemplo #1 A ctype_graph() example

<?php
$strings = array('string1' => "asdf\n\r\t", 'string2' => 'arf12', 'string3' => 'LKA#@%.54');
foreach ($strings as $name => $testcase) {
    if (ctype_graph($testcase)) {
        echo "The string '$name' consists of all (visibly) printable characters.\n";
    } else {
        echo "The string '$name' does not consist of all (visibly) printable characters.\n";
    }
}
?>

O exemplo acima irá imprimir:

The string 'string1' does not consist of all (visibly) printable characters.
The string 'string2' consists of all (visibly) printable characters.
The string 'string3' consists of all (visibly) printable characters.

Veja Também

  • ctype_alnum() - Verifica se os caracteres são alfanuméricos
  • ctype_print() - Verifica se os caracteres são imprimíveis
  • ctype_punct() - Verifica se é um caractere imprimível que não é whitespace ou alfanumério


Verifica se os caracteres estão minúsculos

  • « ctype_graph
  • ctype_print »
  • PHP Manual
  • Funções da Ctype
  • Verifica se os caracteres estão minúsculos

ctype_lower

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_lower — Verifica se os caracteres estão minúsculos

Descrição

ctype_lower ( string $text ) : bool

Verifica se todos os caracteres na string fornecida, text, são letras minúsculas.

Parâmetros

text

A string a ser testada.

Valor Retornado

Retorna true se todos caracteres em text é uma letra minúscula no atual locale.

Exemplos

Exemplo #1 Um exemplo da ctype_lower() (usando o locale padrão)

<?php
$strings = array('aac123', 'qiutoas', 'QASsdks');
foreach ($strings as $testcase) {
    if (ctype_lower($testcase)) {
        echo "The string $testcase consists of all lowercase letters.\n";
    } else {
        echo "The string $testcase does not consist of all lowercase letters.\n";
    }
}
?>

O exemplo acima irá imprimir:

The string aac123 does not consist of all lowercase letters.
The string qiutoas consists of all lowercase letters.
The string QASsdks does not consist of all lowercase letters.

Veja Também

  • ctype_alpha() - Verifica se os caracteres são alfabéticos
  • ctype_upper() - Verifica se os caracteres são maiúsculos
  • setlocale() - Define informações locais


Verifica se os caracteres são imprimíveis

  • « ctype_lower
  • ctype_punct »
  • PHP Manual
  • Funções da Ctype
  • Verifica se os caracteres são imprimíveis

ctype_print

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_print — Verifica se os caracteres são imprimíveis

Descrição

ctype_print ( string $text ) : bool

Verifica se todos os caracteres na string fornecida, text, são imprimíveis.

Parâmetros

text

A string a ser testada.

Valor Retornado

Retorna true se todos caracteres em text irá produzir saída (incluindo em branco). Retorna false se text contem caracteres de controle ou caracteres que não tem uma saída ou funções de controle inteiramente.

Exemplos

Exemplo #1 Um exemplo da ctype_print()

<?php
$strings = array('string1' => "asdf\n\r\t", 'string2' => 'arf12', 'string3' => 'LKA#@%.54');
foreach ($strings as $name => $testcase) {
    if (ctype_print($testcase)) {
        echo "The string '$name' consists of all printable characters.\n";
    } else {
        echo "The string '$name' does not consist of all printable characters.\n";
    }
}
?>

O exemplo acima irá imprimir:

The string 'string1' does not consist of all printable characters.
The string 'string2' consists of all printable characters.
The string 'string3' consists of all printable characters.

Veja Também

  • ctype_cntrl() - Verifica se os caracteres são de controle
  • ctype_graph() - Verifica se os caracteres são imprimíveis exceto espaço
  • ctype_punct() - Verifica se é um caractere imprimível que não é whitespace ou alfanumério


Verifica se é um caractere imprimível que não é whitespace ou alfanumério

  • « ctype_print
  • ctype_space »
  • PHP Manual
  • Funções da Ctype
  • Verifica se é um caractere imprimível que não é whitespace ou alfanumério

ctype_punct

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_punct — Verifica se é um caractere imprimível que não é whitespace ou alfanumério

Descrição

ctype_punct ( string $text ) : bool

Verifica se todos os caracteres da string fornecida, text, são caracteres de pontuação.

Parâmetros

text

A string a ser testada.

Valor Retornado

Retorna true se cada caractere em text é imprimível, não sendo letra, dígito ou espaço em branco, false caso contrário.

Exemplos

Exemplo #1 Um exemplo da ctype_punct()

<?php
$strings = array('ABasdk!@!$#', '!@ # $', '*&$()');
foreach ($strings as $testcase) {
    if (ctype_punct($testcase)) {
        echo "The string $testcase consists of all punctuation.\n";
    } else {
        echo "The string $testcase does not consist of all punctuation.\n";
    }
}
?>

O exemplo acima irá imprimir:

The string ABasdk!@!$# does not consist of all punctuation.
The string !@ # $ does not consist of all punctuation.
The string *&$() consists of all punctuation.

Veja Também

  • ctype_cntrl() - Verifica se os caracteres são de controle
  • ctype_graph() - Verifica se os caracteres são imprimíveis exceto espaço


Verifica se os caracteres são whitespace

  • « ctype_punct
  • ctype_upper »
  • PHP Manual
  • Funções da Ctype
  • Verifica se os caracteres são whitespace

ctype_space

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_space — Verifica se os caracteres são whitespace

Descrição

ctype_space ( string $text ) : bool

Verifica se todos os caracteres na string fornecida, text, são whitespace.

Parâmetros

text

A string a ser testada.

Valor Retornado

Retorna true se todos caracteres em text são white space, false caso contrário. Além de caracteres em branco isto também inclui os caracteres tab, vertical tab, line feed, carriage return e form feed.

Exemplos

Exemplo #1 Um exemplo da ctype_space()

<?php
$strings = array('string1' => "\n\r\t", 'string2' => "\narf12", 'string3' => '\n\r\t');
foreach ($strings as $name => $testcase) {
    if (ctype_space($testcase)) {
        echo "The string '$name' consists of all whitespace characters.\n";
    } else {
        echo "The string '$name' does not consist of all whitespace characters.\n";
    }
}
?>

O exemplo acima irá imprimir:

The string 'string1' consists of all whitespace characters.
The string 'string2' does not consist of all whitespace characters.
The string 'string3' does not consist of all whitespace characters.

Veja Também

  • ctype_cntrl() - Verifica se os caracteres são de controle
  • ctype_graph() - Verifica se os caracteres são imprimíveis exceto espaço
  • ctype_punct() - Verifica se é um caractere imprimível que não é whitespace ou alfanumério


Verifica se os caracteres são maiúsculos

  • « ctype_space
  • ctype_xdigit »
  • PHP Manual
  • Funções da Ctype
  • Verifica se os caracteres são maiúsculos

ctype_upper

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_upper — Verifica se os caracteres são maiúsculos

Descrição

ctype_upper ( string $text ) : bool

Verifica se todos os caracteres na string fornecida, text, são maiúsculos.

Parâmetros

text

A string a ser testada.

Valor Retornado

Retorna true se todos caracteres em text é uma letra maiúscula no locale atual.

Exemplos

Exemplo #1 Um exemplo da ctype_upper() (usando o locale padrão)

<?php
$strings = array('AKLWC139', 'LMNSDO', 'akwSKWsm');
foreach ($strings as $testcase) {
    if (ctype_upper($testcase)) {
        echo "The string $testcase consists of all uppercase letters.\n";
    } else {
        echo "The string $testcase does not consist of all uppercase letters.\n";
    }
}
?>

O exemplo acima irá imprimir:

The string AKLWC139 does not consist of all uppercase letters.
The string LMNSDO consists of all uppercase letters.
The string akwSKWsm does not consist of all uppercase letters.

Veja Também

  • ctype_alpha() - Verifica se os caracteres são alfabéticos
  • ctype_lower() - Verifica se os caracteres estão minúsculos
  • setlocale() - Define informações locais


Verifica se os caracteres representam um dígito hexadecimal

  • « ctype_upper
  • Filter »
  • PHP Manual
  • Funções da Ctype
  • Verifica se os caracteres representam um dígito hexadecimal

ctype_xdigit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_xdigit — Verifica se os caracteres representam um dígito hexadecimal

Descrição

ctype_xdigit ( string $text ) : bool

Verifica se todos os caracteres na string fornecida, text, são 'dígitos' hexadecimal.

Parâmetros

text

A string a ser testada.

Valor Retornado

Retorna true se todos caracteres em text é um 'dígito' hexadecimal, que é um dígito ou um caractere de [A-Fa-f], false caso contrário.

Exemplos

Exemplo #1 Um exemplo da ctype_xdigit()

<?php
$strings = array('AB10BC99', 'AR1012', 'ab12bc99');
foreach ($strings as $testcase) {
    if (ctype_xdigit($testcase)) {
        echo "The string $testcase consists of all hexadecimal digits.\n";
    } else {
        echo "The string $testcase does not consist of all hexadecimal digits.\n";
    }
}
?>

O exemplo acima irá imprimir:

The string AB10BC99 consists of all hexadecimal digits.
The string AR1012 does not consist of all hexadecimal digits.
The string ab12bc99 consists of all hexadecimal digits.

Veja Também

  • ctype_digit() - Verifica se os caracteres são numéricos


Filtragem de Dados

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções da Filter
    • filter_has_var — Verifica se a variável é de um especificado tipo existente
    • filter_id — Retorna o ID de um dado nome de filtro
    • filter_input_array — Obtem variáveis externas e opcionalmente as filtra
    • filter_input — Obtem a específica variável externa pelo nome e opcionalmente a filtra
    • filter_list — Retorna a lista de todos filtros suportados
    • filter_var_array — Obtêm múltiplas variáveis e opcionalmente as filtra
    • filter_var — Filtra a variável com um especificado filtro


Introdução

Esta extensão serve para validar e filtrar dados vindos de alguma fonte insegura, como uma entrada do usuário.

Os seguintes filtros existentes atualmente; podem ser encontrados na seção Constantes da Filter, para informações que descrevem o comportamento de cada constante:

Filtros existentes
ID | Nome | Opções | Flags | Descrição
FILTER_VALIDATE_INT | "int" | min_range, max_range | FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX | Valida o valor como inteiro, opcionalmente de um dado intervalo.
FILTER_VALIDATE_BOOLEAN | "boolean" |  | FILTER_NULL_ON_FAILURE | Retorna true para "1", "true", "on" e "yes". Retorna false caso contrário. Se FILTER_NULL_ON_FAILURE é usado, false é retornado somente para "0", "false", "off", "no", and "", e null é retornado para todos valores diferentes de bool.
FILTER_VALIDATE_FLOAT | "float" | decimal | FILTER_FLAG_ALLOW_THOUSAND | Valida o valor como float.
FILTER_VALIDATE_REGEXP | "validate_regexp" | regexp |  | Valida o valor com a regexp, uma expressão regular Compatível com Perl.
FILTER_VALIDATE_URL | "validate_url" |  | FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED | Valida o valor como URLL, opcionalmente com componentes requeridos.
FILTER_VALIDATE_EMAIL | "validate_email" |  |  | Valida o valor como e-mail.
FILTER_VALIDATE_IP | "validate_ip" |  | FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE | Valida o valor como endereço IP, opcionalmente somente IPv4 ou IPv6 ou não privado ou faixa reservada.
FILTER_SANITIZE_STRING | "string" |  | FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Remove tags, opcionalmente remove ou codifica caracteres especiais.
FILTER_SANITIZE_STRIPPED | "stripped" |  |  | Sinônimo do filtro "string".
FILTER_SANITIZE_ENCODED | "encoded" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH | String com URL-codificada, opcionalmente remove ou codifica caracteres especiais.
FILTER_SANITIZE_SPECIAL_CHARS | "special_chars" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH | Torna literal '"<>& e caracteres com valor ASCII menor que 32, opcionalmente remove ou codifica outros caracteres especiais.
FILTER_UNSAFE_RAW | "unsafe_raw" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Não faz nada, opcionalmente remove ou codifica caracteres especiais.
FILTER_SANITIZE_EMAIL | "email" |  |  | Remove todos caracteres exceto letras, dígitos e !#$%&'*+-/=?^_`{|}~@.[].
FILTER_SANITIZE_URL | "url" |  |  | Remove todos caracteres exceto letras, dígitos e $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_SANITIZE_NUMBER_INT | "number_int" |  |  | Remove todos caracteres exceto dígitos, e sinais de mais e menos.
FILTER_SANITIZE_NUMBER_FLOAT | "number_float" |  | FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC | Remove todos caracteres exceto dígitos, +- e opcionalmente .,eE.
FILTER_SANITIZE_MAGIC_QUOTES | "magic_quotes" |  |  | Aplica addslashes().
FILTER_CALLBACK | "callback" | callback function or method |  | Chama uma função definida pelo usuário para filtrar dados.


  • « Dependências
  • Configurações em Execução »
  • PHP Manual
  • Instalação/Configuração
  • Instalação

Instalação

Uma simples instalação:

$ pecl install filter
em seu console.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração da Filter
Nome | Padrão | Modificável | Changelog
filter.default | "unsafe_raw" | PHP_INI_PERDIR | PHP_INI_ALL na filter <= 0.9.4. Disponível desde PHP 5.2.0.
filter.default_flags | NULL | PHP_INI_PERDIR | PHP_INI_ALL na filter <= 0.9.4. Disponível desde PHP 5.2.0.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

filter.default string

Filtra todas informações $_GET, $_POST, $_COOKIE and $_REQUEST com este filtro. A informação original pode ser acessada através da filter_input().

Aceita o nome do filtro que você quer usar por padrão. Veja a lista de filtros existentes pela lista de nomes de filtros.

filter.default_flags integer

Flags padrão


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

INPUT_POST (integer)
Variáveis POST.
INPUT_GET (integer)
Variáveis GET.
INPUT_COOKIE (integer)
Variáveis COOKIE.
INPUT_ENV (integer)
Variáveis ENV.
INPUT_SERVER (integer)
Variáveis SERVER.
INPUT_SESSION (integer)
Variáveis SESSION. (ainda não implementada)
INPUT_REQUEST (integer)
Variáveis REQUEST. (ainda não implementada)
FILTER_FLAG_NONE (integer)
Sem flags.
FILTER_REQUIRE_SCALAR (integer)
Flag usada para requerir escalar como entrada
FILTER_REQUIRE_ARRAY (integer)
Requer um array como entrada.
FILTER_FORCE_ARRAY (integer)
Sempre retorna um array.
FILTER_NULL_ON_FAILURE (integer)
Usa NULL ao invés de FALSE em falha.
FILTER_VALIDATE_INT (integer)
ID do filtro "int".
FILTER_VALIDATE_BOOLEAN (integer)
ID do filtro "boolean".
FILTER_VALIDATE_FLOAT (integer)
ID do filtro "float".
FILTER_VALIDATE_REGEXP (integer)
ID do filtro "validate_regexp".
FILTER_VALIDATE_URL (integer)
ID do filtro "validate_url".
FILTER_VALIDATE_EMAIL (integer)
ID do filtro "validate_email".
FILTER_VALIDATE_IP (integer)
ID do filtro "validate_ip".
FILTER_DEFAULT (integer)
ID do filtro padrão ("string").
FILTER_UNSAFE_RAW (integer)
ID do filtro "unsafe_raw".
FILTER_SANITIZE_STRING (integer)
ID do filtro "string".
FILTER_SANITIZE_STRIPPED (integer)
ID do filtro "stripped".
FILTER_SANITIZE_ENCODED (integer)
ID do filtro "encoded".
FILTER_SANITIZE_SPECIAL_CHARS (integer)
ID do filtro "special_chars".
FILTER_SANITIZE_EMAIL (integer)
ID do filtro "email".
FILTER_SANITIZE_URL (integer)
ID do filtro "url".
FILTER_SANITIZE_NUMBER_INT (integer)
ID do filtro "number_int".
FILTER_SANITIZE_NUMBER_FLOAT (integer)
ID of "number_float" filter.
FILTER_SANITIZE_MAGIC_QUOTES (integer)
ID do filtro "magic_quotes".
FILTER_CALLBACK (integer)
ID do filtro "callback".
FILTER_FLAG_ALLOW_OCTAL (integer)
Permite notação octal (0[0-7]+) no filtro "int".
FILTER_FLAG_ALLOW_HEX (integer)
Permite notação hexadecimal (0x[0-9a-fA-F]+) no filtro "int".
FILTER_FLAG_STRIP_LOW (integer)
Remove caracteres com valor ASCII menor que 32.
FILTER_FLAG_STRIP_HIGH (integer)
Remove caracteres com valor ASCII maior que 127.
FILTER_FLAG_ENCODE_LOW (integer)
Codifica caracteres com valor ASCII menor que 32.
FILTER_FLAG_ENCODE_HIGH (integer)
Codifica caracteres com valor ASCII maior que 127.
FILTER_FLAG_ENCODE_AMP (integer)
Codifica &.
FILTER_FLAG_NO_ENCODE_QUOTES (integer)
Não codifica ' e ".
FILTER_FLAG_EMPTY_STRING_NULL (integer)
(Nenhum uso no momento.)
FILTER_FLAG_ALLOW_FRACTION (integer)
Permite parte fracional no filtro "number_float".
FILTER_FLAG_ALLOW_THOUSAND (integer)
Permite separador de milhar (,) no filtro "number_float".
FILTER_FLAG_ALLOW_SCIENTIFIC (integer)
Permite notação científica (e, E) no filtro "number_float".
FILTER_FLAG_SCHEME_REQUIRED (integer)
Requer scheme no filtro "validate_url".
FILTER_FLAG_HOST_REQUIRED (integer)
Requer host no filtro "validate_url".
FILTER_FLAG_PATH_REQUIRED (integer)
Requer path no filtro "validate_url".
FILTER_FLAG_QUERY_REQUIRED (integer)
Requer query no filtro "validate_url".
FILTER_FLAG_IPV4 (integer)
Permite somente endereço IPv4 no filtro "validate_ip".
FILTER_FLAG_IPV6 (integer)
Permite somente endereço IPv6 no filtro "validate_ip".
FILTER_FLAG_NO_RES_RANGE (integer)
Não permite endereços reservados no filtro "validate_ip".
FILTER_FLAG_NO_PRIV_RANGE (integer)
Não permite endereços privados no filtro "validate_ip".


Funções da Filter

Índice

  • filter_has_var — Verifica se a variável é de um especificado tipo existente
  • filter_id — Retorna o ID de um dado nome de filtro
  • filter_input_array — Obtem variáveis externas e opcionalmente as filtra
  • filter_input — Obtem a específica variável externa pelo nome e opcionalmente a filtra
  • filter_list — Retorna a lista de todos filtros suportados
  • filter_var_array — Obtêm múltiplas variáveis e opcionalmente as filtra
  • filter_var — Filtra a variável com um especificado filtro


Verifica se a variável é de um especificado tipo existente

  • « Funções da Filter
  • filter_id »
  • PHP Manual
  • Funções da Filter
  • Verifica se a variável é de um especificado tipo existente

filter_has_var

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_has_var — Verifica se a variável é de um especificado tipo existente

Descrição

filter_has_var ( int $type , string $variable_name ) : bool

Parâmetros

type

Um dos INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV.

variable_name

Nome da variável a ser verificada.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Retorna o ID de um dado nome de filtro

  • « filter_has_var
  • filter_input_array »
  • PHP Manual
  • Funções da Filter
  • Retorna o ID de um dado nome de filtro

filter_id

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_id — Retorna o ID de um dado nome de filtro

Descrição

filter_id ( string $filtername ) : int

Parâmetros

filtername

Nome do filtro.

Valor Retornado

ID do filtro em caso de sucesso ou null se o filtro não existir.

Veja Também

  • filter_list() - Retorna a lista de todos filtros suportados


Obtem variáveis externas e opcionalmente as filtra

  • « filter_id
  • filter_input »
  • PHP Manual
  • Funções da Filter
  • Obtem variáveis externas e opcionalmente as filtra

filter_input_array

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_input_array — Obtem variáveis externas e opcionalmente as filtra

Descrição

filter_input_array ( int $type , mixed $definition = ? ) : mixed

Esta função é útil para receber muitos valores sem repetidamente chamar a função filter_input().

Parâmetros

type

Um dos INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV, INPUT_SESSION, ou INPUT_REQUEST.

definition

Um definindo os argumentos. Uma chave válida é um string contendo o nome da variável e um valor válido é um tipo filtro, ou um array opcionalmente especificando o filtro, flags e opções. Se o valor é um array, chaves válidas são filter que especifica o tipo de filtro, flags que especifica uma flag aplica ao filtro, e options que especifica uma opção para aplicar ao filtro. Veja os exemplos abaixo para entender melhor.

Este parâmetro pode ser também um inteiro indicando uma constante da filter. Então todos valores na array de entrada serão filtradas por este filtro.

Valor Retornado

Um array contendo os valores das variáveis requisitads em caso de sucesso, ou false em falha. Um array de valores será false se o filtro falhar, ou null se a variável não é definida. Ou se a flag FILTER_NULL_ON_FAILURE é usada, é retornado false se a variável não é definida e null se o filtro falhar.

Exemplos

Exemplo #1 Um exemplo da filter_input_array()

<?php
error_reporting(E_ALL | E_STRICT);
/* data actually came from POST
$_POST = array(
    'product_id'    => 'libgd<script>',
    'component'     => '10',
    'versions'      => '2.0.33',
    'testscalar'    => array('2', '23', '10', '12'),
    'testarray'     => '2',
);
*/

$args = array(
    'product_id'   => FILTER_SANITIZE_ENCODED,
    'component'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_REQUIRE_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'versions'     => FILTER_SANITIZE_ENCODED,
    'doesnotexist' => FILTER_VALIDATE_INT,
    'testscalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_SCALAR,
                           ),
    'testarray'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_ARRAY,
                           )

);

$myinputs = filter_input_array(INPUT_POST, $args);

var_dump($myinputs);
echo "\n";
?>

O exemplo acima irá imprimir:

array(6) {
  ["product_id"]=>
  array(1) {
    [0]=>
    string(17) "libgd%3Cscript%3E"
  }
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  array(1) {
    [0]=>
    string(6) "2.0.33"
  }
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

Veja Também

  • filter_input() - Obtem a específica variável externa pelo nome e opcionalmente a filtra
  • filter_var_array() - Obtêm múltiplas variáveis e opcionalmente as filtra


Obtem a específica variável externa pelo nome e opcionalmente a filtra

  • « filter_input_array
  • filter_list »
  • PHP Manual
  • Funções da Filter
  • Obtem a específica variável externa pelo nome e opcionalmente a filtra

filter_input

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_input — Obtem a específica variável externa pelo nome e opcionalmente a filtra

Descrição

filter_input ( int $type , string $variable_name , int $filter = ? , mixed $options = ? ) : mixed

Parâmetros

type

Um dos INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV, INPUT_SESSION (não implementado ainda) e INPUT_REQUEST (não implementado ainda).

variable_name

Nome da variável a ser obtida.

filter

Filtro a ser aplicado. O padrão é FILTER_DEFAULT.

options

Array associativo de opções ou disjunção com operação binário dos flags. Se o filtro aceita opções, flags podem ser providas no campo "flags" da array.

Valor Retornado

Valor da requisitada variável em caso de sucesso, false se o filtro falhar, ou null se o parâmetro variable_name é um variável não definida. Se a flag FILTER_NULL_ON_FAILURE é usada, ela retorna false se a variável não é definida e null se o filtro falhar.

Exemplos

Exemplo #1 Um exemplo da filter_input()

<?php
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
echo "You have searched for $search_html.\n";
echo "<a href='?search=$search_url'>Search again.</a>";
?>

O exemplo acima irá imprimir algo similar à:

You have searched for Me &#38; son.
<a href='?search=Me%20%26%20son'>Search again.</a>

Veja Também

  • filter_var() - Filtra a variável com um especificado filtro
  • filter_input_array() - Obtem variáveis externas e opcionalmente as filtra
  • filter_var_array() - Obtêm múltiplas variáveis e opcionalmente as filtra


Retorna a lista de todos filtros suportados

  • « filter_input
  • filter_var_array »
  • PHP Manual
  • Funções da Filter
  • Retorna a lista de todos filtros suportados

filter_list

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_list — Retorna a lista de todos filtros suportados

Descrição

filter_list ( ) : array

Valor Retornado

Retorna um array dos nomes de todos filtros suportados, um array vazio se não há filtros. Índices deste array não são IDs de filtros, eles podem ser obtidos com filter_id() a partir do nome.

Exemplos

Exemplo #1 Um exemplo da filter_list()

<?php
print_r(filter_list());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => int
    [1] => boolean
    [2] => float
    [3] => validate_regexp
    [4] => validate_url
    [5] => validate_email
    [6] => validate_ip
    [7] => string
    [8] => stripped
    [9] => encoded
    [10] => special_chars
    [11] => unsafe_raw
    [12] => email
    [13] => url
    [14] => number_int
    [15] => number_float
    [16] => magic_quotes
    [17] => callback
)


Obtêm múltiplas variáveis e opcionalmente as filtra

  • « filter_list
  • filter_var »
  • PHP Manual
  • Funções da Filter
  • Obtêm múltiplas variáveis e opcionalmente as filtra

filter_var_array

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_var_array — Obtêm múltiplas variáveis e opcionalmente as filtra

Descrição

filter_var_array ( array $data , mixed $definition = ? ) : mixed

Esta função é útil para receber muitos valores sem repetidamente chamar a função filter_var().

Parâmetros

data

Um array com as string contendo a informação a ser filtrada.

definition

Um array definindo os argumentos. Uma chave válida é uma string contendo o nome da variável e um valor com um tipo de filtro, ou um array opcionalmente especificando o filtro, flags e opções. Se o valor é um array, chaves válida são filter que especifica o tipo do filtro, flags que especifica alguma flag aplicada ao filter, e options que especifica uma opção que é aplicada ao filtro. Veja o exemplo abaixo para entender melhor.

Este parâmetro pode ser também um inteiro indincando uma constante da filter. Então todos valores no array de entrada serão filtrados por este filtro.

Valor Retornado

Um array contendo valores das requisitadas variáveis em caso de sucesso, ou false em falha. Um valor da array será false se o filtro falhar, ou null se a variável não é definida.

Exemplos

Exemplo #1 Um exemplo da filter_var_array()

<?php
error_reporting(E_ALL | E_STRICT);
$data = array(
    'product_id'    => 'libgd<script>',
    'component'     => '10',
    'versions'      => '2.0.33',
    'testscalar'    => array('2', '23', '10', '12'),
    'testarray'     => '2',
);

$args = array(
    'product_id'   => FILTER_SANITIZE_ENCODED,
    'component'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_FORCE_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'versions'     => FILTER_SANITIZE_ENCODED,
    'doesnotexist' => FILTER_VALIDATE_INT,
    'testscalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_SCALAR,
                           ),
    'testarray'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_FORCE_ARRAY,
                           )

);

$myinputs = filter_var_array($data, $args);

var_dump($myinputs);
echo "\n";
?>

O exemplo acima irá imprimir:

array(6) {
  ["product_id"]=>
  array(1) {
    [0]=>
    string(17) "libgd%3Cscript%3E"
  }
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  array(1) {
    [0]=>
    string(6) "2.0.33"
  }
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

Veja Também

  • filter_input_array() - Obtem variáveis externas e opcionalmente as filtra
  • filter_var() - Filtra a variável com um especificado filtro
  • filter_input() - Obtem a específica variável externa pelo nome e opcionalmente a filtra


Filtra a variável com um especificado filtro

  • « filter_var_array
  • Funções para Manuseamento de Funções »
  • PHP Manual
  • Funções da Filter
  • Filtra a variável com um especificado filtro

filter_var

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_var — Filtra a variável com um especificado filtro

Descrição

filter_var ( mixed $variable , int $filter = ? , mixed $options = ? ) : mixed

Parâmetros

variable

Valor para filtrar.

filter

ID do filtro. O padrão é FILTER_SANITIZE_STRING.

options

Array associativo de opções ou disjunção binário de flags. Se o filtro aceita opções, flags podem ser providas no campo "flags" do array. Para o "callback" do filtro, o tipo callback pode ser passado.

Valor Retornado

Retorna o dado filtrado, ou false se o filtro falhar.

Exemplos

Exemplo #1 Um exemplo da filter_var()

<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('example.com', FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED));
?>

O exemplo acima irá imprimir:

string(15) "bob@example.com"
bool(false)

Veja Também

  • filter_var_array() - Obtêm múltiplas variáveis e opcionalmente as filtra
  • filter_input() - Obtem a específica variável externa pelo nome e opcionalmente a filtra
  • filter_input_array() - Obtem variáveis externas e opcionalmente as filtra
  • informação sobre o tipo callback


Funções para Manuseamento de Funções

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções para Manuseamento de Funções
    • call_user_func_array — Chama uma dada função de usuário com um array de parâmetros
    • call_user_func — Chama uma função de usuário dada pelo primeiro parâmetro
    • create_function — Cria uma função anônima (lambda-style)
    • forward_static_call_array — Call a static method and pass the arguments as array
    • forward_static_call — Call a static method
    • func_get_arg — Retorna um item para uma lista de argumentos
    • func_get_args — Retorna um array contendo uma lista de argumentos da função
    • func_num_args — Retorna o número de argumentos passados para a função
    • function_exists — Retorna true se a função dada está definida
    • get_defined_functions — Retorna um array de todas as funções definidas
    • register_shutdown_function — Registra uma função para ser executada ao final da execução
    • register_tick_function — Registra uma função para executar a cada instante
    • unregister_tick_function — Desregistra uma função executada a cada instante


  • « Funções para Manuseamento de Funções
  • Instalação/Configuração »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Introdução

Introdução

Todas estas funções lidam com várias operações complexas envolvendo funções.


  • « Introdução
  • Dependências »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução
  • Tipos de Recurso


  • « Tipos de Recurso
  • Funções para Manuseamento de Funções »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Funções para Manuseamento de Funções

Índice

  • call_user_func_array — Chama uma dada função de usuário com um array de parâmetros
  • call_user_func — Chama uma função de usuário dada pelo primeiro parâmetro
  • create_function — Cria uma função anônima (lambda-style)
  • forward_static_call_array — Call a static method and pass the arguments as array
  • forward_static_call — Call a static method
  • func_get_arg — Retorna um item para uma lista de argumentos
  • func_get_args — Retorna um array contendo uma lista de argumentos da função
  • func_num_args — Retorna o número de argumentos passados para a função
  • function_exists — Retorna true se a função dada está definida
  • get_defined_functions — Retorna um array de todas as funções definidas
  • register_shutdown_function — Registra uma função para ser executada ao final da execução
  • register_tick_function — Registra uma função para executar a cada instante
  • unregister_tick_function — Desregistra uma função executada a cada instante


Chama uma dada função de usuário com um array de parâmetros

  • « Funções para Manuseamento de Funções
  • call_user_func »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Chama uma dada função de usuário com um array de parâmetros

call_user_func_array

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

call_user_func_array — Chama uma dada função de usuário com um array de parâmetros

Descrição

call_user_func_array ( callable $callback , array $param_arr ) : mixed

Chama um callback definido pelo usuário com os parâmetros param_arr.

Parâmetros

callback

O callable a ser chamado.

param_arr

Os parâmetros para ser passado para a função, com array indexado.

Valor Retornado

Retorna o resultado da função, ou false em error.

Changelog

Versão | Descrição
5.3.0 | The interpretation of object oriented keywords like parent and self has changed. Previously, calling them using the double colon syntax would emit an E_STRICT warning because they were interpreted as static.

Exemplos

Exemplo #1 call_user_func_array() example

<?php
function foobar($arg, $arg2) {
    echo __FUNCTION__, " got $arg and $arg2\n";
}
class foo {
    function bar($arg, $arg2) {
        echo __METHOD__, " got $arg and $arg2\n";
    }
}

// Call the foobar() function with 2 arguments
call_user_func_array("foobar", array("one", "two"));

// Call the $foo->bar() method with 2 arguments
$foo = new foo;
call_user_func_array(array($foo, "bar"), array("three", "four"));
?>

O exemplo acima irá imprimir algo similar à:

foobar got one and two
foo::bar got three and four

Exemplo #2 call_user_func_array() using namespace name

<?php

namespace Foobar;

class Foo {
    static public function test($name) {
        print "Hello {$name}!\n";
    }
}

// As of PHP 5.3.0
call_user_func_array(__NAMESPACE__ .'\Foo::test', array('Hannes'));

// As of PHP 5.3.0
call_user_func_array(array(__NAMESPACE__ .'\Foo', 'test'), array('Philip'));

?>

O exemplo acima irá imprimir algo similar à:

Hello Hannes!
Hello Philip!

Exemplo #3 Using lambda function

<?php

$func = function($arg1, $arg2) {
    return $arg1 * $arg2;
};

var_dump(call_user_func_array($func, array(2, 4))); /* As of PHP 5.3.0 */

?>

O exemplo acima irá imprimir:

int(8)

Notas

Nota:

Before PHP 5.4, referenced variables in param_arr are passed to the function by reference, regardless of whether the function expects the respective parameter to be passed by reference. This form of call-time pass by reference does not emit a deprecation notice, but it is nonetheless deprecated, and has been removed in PHP 5.4. Furthermore, this does not apply to internal functions, for which the function signature is honored. Passing by value when the function expects a parameter by reference results in a warning and having call_user_func() return false (there is, however, an exception for passed values with reference count = 1, such as in literals, as these can be turned into references without ill effects — but also without writes to that value having any effect —; do not rely in this behavior, though, as the reference count is an implementation detail and the soundness of this behavior is questionable).

Nota:

Callbacks registrados com funções como call_user_func() e call_user_func_array() não serão chamados caso haja uma exceção não-pega lançada em um callback anterior.

Veja Também

  • call_user_func() - Chama uma função de usuário dada pelo primeiro parâmetro
  • informação sobre o tipo callback
  • ReflectionFunction::invokeArgs() - Invokes function args
  • ReflectionMethod::invokeArgs() - Invoke args


Chama uma função de usuário dada pelo primeiro parâmetro

  • « call_user_func_array
  • create_function »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Chama uma função de usuário dada pelo primeiro parâmetro

call_user_func

(PHP 4, PHP 5, PHP 7, PHP 8)

call_user_func — Chama uma função de usuário dada pelo primeiro parâmetro

Descrição

call_user_func ( callback $function , mixed $parameter = ? , mixed $... = ? ) : mixed

Chama uma dada função definida pelo usuário pelo parâmetro function.

Parâmetros

function

A função a ser chamada. Métodos de classe podem também ser invocados estaticamente usando esta função passando array($classname, $methodname) para este parâmetro.

parameter

Zero ou mais parâmetros a ser passado para a função.

Nota:

Note que os parâmetros para call_user_func() não são passado por referência.

<?php
function increment(&$var)
{
    $var++;
}

$a = 0;
call_user_func('increment', $a);
echo $a; // 0

call_user_func_array('increment', array(&$a)); // Você pode também usar assim
echo $a; // 1
?>

Valor Retornado

Retorna o resultado da função, ou false em erro.

Exemplos

Exemplo #1 Exemplo da call_user_func()

<?php
function barber($type)
{
    echo "You wanted a $type haircut, no problem";
}
call_user_func('barber', "mushroom");
call_user_func('barber', "shave");
?>

Exemplo #2 Usando call_user_func() com nome do namespace

<?php

namespace Foobar;

class Foo {
    static public function test() {
        print "Hello world!\n";
    }
}

call_user_func(__NAMESPACE__ .'::Foo::test'); // A partir do PHP 5.3.0
// Hello world!
call_user_func(array(__NAMESPACE__ .'::Foo', 'test')); // A partir do PHP 5.3.0
// Hello world!

?>

Exemplo #3 Usando um método da classe

<?php

class myclass {
  static function say_hello()
  {
    echo "Hello!\n";
  }
}

$classname = "myclass";

call_user_func(array($classname,'say_hello'));
call_user_func($classname .'::say_hello'); // A partir do 5.2.3

?>

Veja Também

  • call_user_func_array() - Chama uma dada função de usuário com um array de parâmetros
  • is_callable() - Verifica se o conteúdo da variável pode ser chamado como função
  • informação sobre o tipo callback


Cria uma função anônima (lambda-style)

  • « call_user_func
  • forward_static_call_array »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Cria uma função anônima (lambda-style)

create_function

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

create_function — Cria uma função anônima (lambda-style)

Aviso

This function has been DEPRECATED as of PHP 7.2.0. Relying on this function is highly discouraged.

Descrição

create_function ( string $args , string $code ) : string

Cria uma função anônima a partir dos parâmetros passados e retorna um nome único para si.

Cuidado

Essa funcão internalmente executa um eval() e, por isso, tem os mesmos problemas de segurança da eval(). Além disso, ele tem características de má performance e uso ruim de memória.

Se estiver usando PHP 5.3 ou mais novo, deve ser usada uma função anônima nativa.

Parâmetros

Geralmente esses parâmetros serão passados em strings delimitadas por aspas simples. O motivo para usar strings com aspas simples é impedir que os nomes de variáveis sejam interpretados, caso contrário, se você usar aspas duplas, será necessário fazer escape dos nomes das variáveis, por exemplo \$avar.

args

Os argumentos da função.

code

O código da função.

Valor Retornado

Retorna um nome de função único como uma string, ou false em caso de erro.

Exemplos

Exemplo #1 Criação de uma função anônima com create_function()

Você pode usar esta função para (por exemplo) criar uma função a partir de informação obtida em tempo de execução:

<?php
$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
echo "New anonymous function: $newfunc\n";
echo $newfunc(2, M_E) . "\n";
// outputs
// New anonymous function: lambda_1
// ln(2) + ln(2.718281828459) = 1.6931471805599
?>

Ou talvez para ter uma função manipuladora genérica que possa aplicar um conjunto de operações sobre um lista de parâmetros:

Exemplo #2 Criação de uma função de processamento genérica com create_function()

<?php
function process($var1, $var2, $farr)
{
    foreach ($farr as $f) {
        echo $f($var1, $var2) . "\n";
    }
}

// create a bunch of math functions
$f1 = 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}';
$f2 = "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a);";
$f3 = 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b; } else { return false; }';
$farr = array(
    create_function('$x,$y', 'return "some trig: ".(sin($x) + $x*cos($y));'),
    create_function('$x,$y', 'return "a hypotenuse: ".sqrt($x*$x + $y*$y);'),
    create_function('$a,$b', $f1),
    create_function('$a,$b', $f2),
    create_function('$a,$b', $f3)
    );

echo "\nUsing the first array of anonymous functions\n";
echo "parameters: 2.3445, M_PI\n";
process(2.3445, M_PI, $farr);

// now make a bunch of string processing functions
$garr = array(
    create_function('$b,$a', 'if (strncmp($a, $b, 3) == 0) return "** \"$a\" '.
    'and \"$b\"\n** Look the same to me! (looking at the first 3 chars)";'),
    create_function('$a,$b', '; return "CRCs: " . crc32($a) . ", ".crc32($b);'),
    create_function('$a,$b', '; return "similar(a,b) = " . similar_text($a, $b, &$p) . "($p%)";')
    );
echo "\nUsing the second array of anonymous functions\n";
process("Twas brilling and the slithy toves", "Twas the night", $garr);
?>

O exemplo acima irá imprimir:

Using the first array of anonymous functions
parameters: 2.3445, M_PI
some trig: -1.6291725057799
a hypotenuse: 3.9199852871011
b*a^2 = 4.8103313314525
min(b^2+a, a^2,b) = 8.6382729035898
ln(a)/b = 0.27122299212594

Using the second array of anonymous functions
** "Twas the night" and "Twas brilling and the slithy toves"
** Look the same to me! (looking at the first 3 chars)
CRCs: -725381282, 342550513
similar(a,b) = 11(45.833333333333%)

Mas talvez o uso mais comum para funções do tipo lambda (anônimas) seja para criar funções de callback, por exemplo junto com array_walk() ou usort()

Exemplo #3 Uso de funções anônimas como funções callback

<?php
$av = array("the ", "a ", "that ", "this ");
array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));
print_r($av);
?>

O exemplo acima irá imprimir:

Array
(
  [0] => the mango
  [1] => a mango
  [2] => that mango
  [3] => this mango
)

um array de strings ordenado da menor para a maior

<?php

$sv = array("small", "larger", "a big string", "it is a string thing");
print_r($sv);

?>

O exemplo acima irá imprimir:

Array
(
  [0] => small
  [1] => larger
  [2] => a big string
  [3] => it is a string thing
)

ordenação da maior para a menor

<?php

usort($sv, create_function('$a,$b','return strlen($b) - strlen($a);'));
print_r($sv);

?>

O exemplo acima irá imprimir:

Array
(
  [0] => it is a string thing
  [1] => a big string
  [2] => larger
  [3] => small
)

Veja Também

  • Funções anônimas


Call a static method and pass the arguments as array

  • « create_function
  • forward_static_call »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Call a static method and pass the arguments as array

forward_static_call_array

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

forward_static_call_array — Call a static method and pass the arguments as array

Descrição

forward_static_call_array ( callable $callback , array $args ) : mixed

Calls a user defined function or method given by the callback parameter. This function must be called within a method context, it can't be used outside a class. It uses the late static binding. All arguments of the forwarded method are passed as values, and as an array, similarly to call_user_func_array().

Parâmetros

callback

The function or method to be called. This parameter may be an array, with the name of the class, and the method, or a string, with a function name.

parameter

One parameter, gathering all the method parameter in one array.

Nota:

Note that the parameters for forward_static_call_array() are not passed by reference.

Valor Retornado

Returns the function result, or false on error.

Exemplos

Exemplo #1 forward_static_call_array() example

<?php

class A
{
    const NAME = 'A';
    public static function test() {
        $args = func_get_args();
        echo static::NAME, " ".join(',', $args)." \n";
    }
}

class B extends A
{
    const NAME = 'B';

    public static function test() {
        echo self::NAME, "\n";
        forward_static_call_array(array('A', 'test'), array('more', 'args'));
        forward_static_call_array( 'test', array('other', 'args'));
    }
}

B::test('foo');

function test() {
        $args = func_get_args();
        echo "C ".join(',', $args)." \n";
    }

?>

O exemplo acima irá imprimir:

B
B more,args
C other,args

Veja Também

  • forward_static_call() - Call a static method
  • call_user_func() - Chama uma função de usuário dada pelo primeiro parâmetro
  • call_user_func_array() - Chama uma dada função de usuário com um array de parâmetros
  • is_callable() - Verifica se o conteúdo da variável pode ser chamado como função


Call a static method

  • « forward_static_call_array
  • func_get_arg »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Call a static method

forward_static_call

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

forward_static_call — Call a static method

Descrição

forward_static_call ( callable $callback , mixed ...$args ) : mixed

Calls a user defined function or method given by the callback parameter, with the following arguments. This function must be called within a method context, it can't be used outside a class. It uses the late static binding.

Parâmetros

callback

The function or method to be called. This parameter may be an array, with the name of the class, and the method, or a string, with a function name.

args

Zero or more parameters to be passed to the function.

Valor Retornado

Returns the function result, or false on error.

Exemplos

Exemplo #1 forward_static_call() example

<?php

class A
{
    const NAME = 'A';
    public static function test() {
        $args = func_get_args();
        echo static::NAME, " ".join(',', $args)." \n";
    }
}

class B extends A
{
    const NAME = 'B';

    public static function test() {
        echo self::NAME, "\n";
        forward_static_call(array('A', 'test'), 'more', 'args');
        forward_static_call( 'test', 'other', 'args');
    }
}

B::test('foo');

function test() {
        $args = func_get_args();
        echo "C ".join(',', $args)." \n";
    }

?>

O exemplo acima irá imprimir:

B
B more,args
C other,args

Veja Também

  • forward_static_call_array() - Call a static method and pass the arguments as array
  • call_user_func_array() - Chama uma dada função de usuário com um array de parâmetros
  • call_user_func() - Chama uma função de usuário dada pelo primeiro parâmetro
  • is_callable() - Verifica se o conteúdo da variável pode ser chamado como função


Retorna um item para uma lista de argumentos

  • « forward_static_call
  • func_get_args »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Retorna um item para uma lista de argumentos

func_get_arg

(PHP 4, PHP 5, PHP 7, PHP 8)

func_get_arg — Retorna um item para uma lista de argumentos

Descrição

func_get_arg ( int $arg_num ) : mixed

Obtém o argumento especificado da lista de argumento de uma função definida pelo usuário.

Esta função pode ser usada juntamente com func_get_arg() e func_num_args() para usar com variável lista de argumentos.

Parâmetros

arg_num

O índice do argumento. Argumentos de função são contados iniciando de zero.

Valor Retornado

Retorna o argumento especificado, ou false em erro.

Changelog

Versão | Descrição
5.3.0 | Esta função pode agora ser usada na lista de parâmetros.

Erros

Gera um aviso se chamado fora de uma função definida pelo usuário, ou se arg_num é maior que o número de argumentos passado.

Exemplos

Exemplo #1 Exemplo da func_get_arg()

<?php
function foo()
{
     $numargs = func_num_args();
     echo "Number of arguments: $numargs<br />\n";
     if ($numargs >= 2) {
     echo "Second argument is: " . func_get_arg(1) . "<br />\n";
     }
}

foo (1, 2, 3);
?>

Notas

Nota:

Devido a esta função depender do escopo atual para definir os detalhes dos parâmetros, ela não pode ser usada como o parâmetro de uma função. Se este valor precisa ser passado, os resultados devem ser atribuídos para uma variável, e esta variável deve ser re passada.

Nota: Esta função retorna somente uma cópia dos argumentos passados, e não conta por argumentos padrão (não passado).

Veja Também

  • func_get_args() - Retorna um array contendo uma lista de argumentos da função
  • func_num_args() - Retorna o número de argumentos passados para a função


Retorna um array contendo uma lista de argumentos da função

  • « func_get_arg
  • func_num_args »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Retorna um array contendo uma lista de argumentos da função

func_get_args

(PHP 4, PHP 5, PHP 7, PHP 8)

func_get_args — Retorna um array contendo uma lista de argumentos da função

Descrição

func_get_args ( ) : array

Obtém um array de argumentos da função.

This function may be used in conjunction with func_get_arg() and func_num_args() to allow user-defined functions to accept variable-length argument lists.

Valor Retornado

Retorna um array onde cada elemento é uma cópia do membro correspondente da lista de argumentos da atual função definida pelo usuário.

Changelog

Versão | Descrição
5.3.0 | Esta função pode agora ser usada na lista de parâmetros.

Erros

Gera um aviso se chamada uma função não definida.

Exemplos

Exemplo #1 Exemplo da func_get_args()

<?php
function foo()
{
    $numargs = func_num_args();
    echo "Number of arguments: $numargs<br />\n";
    if ($numargs >= 2) {
    echo "Second argument is: " . func_get_arg (1) . "<br />\n";
    }
    $arg_list = func_get_args();
    for ($i = 0; $i < $numargs; $i++) {
    echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
    }
}

foo (1, 2, 3);
?>

Notas

Nota:

Devido a esta função depender do escopo atual para definir os detalhes dos parâmetros, ela não pode ser usada como o parâmetro de uma função. Se este valor precisa ser passado, os resultados devem ser atribuídos para uma variável, e esta variável deve ser re passada.

Nota: Esta função retorna uma cópia somente dos argumentos passados, e não para argumentos padrão (não passado).

Veja Também

  • func_get_arg() - Retorna um item para uma lista de argumentos
  • func_num_args() - Retorna o número de argumentos passados para a função


Retorna o número de argumentos passados para a função

  • « func_get_args
  • function_exists »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Retorna o número de argumentos passados para a função

func_num_args

(PHP 4, PHP 5, PHP 7, PHP 8)

func_num_args — Retorna o número de argumentos passados para a função

Descrição

func_num_args ( ) : int

Obtém o número de argumentos passado para a função.

Esta função pode ser usada juntamente com func_get_arg() e func_get_args() para usar com variável lista de argumentos.

Valor Retornado

Retorna o número de argumentos passados para a atual função definida pelo usuário.

Changelog

Versão | Descrição
5.3.0 | Esta função pode agora ser usada na lista de parâmetros.

Erros

Genera um aviso se chamado fora de uma função definida pelo usuário.

Exemplos

Exemplo #1 Exemplo da func_num_args()

<?php
function foo()
{
    $numargs = func_num_args();
    echo "Number of arguments: $numargs\n";
}

foo (1, 2, 3);    // Prints 'Number of arguments: 3'
?>

Notas

Nota:

Devido a esta função depender do escopo atual para definir os detalhes dos parâmetros, ela não pode ser usada como o parâmetro de uma função. Se este valor precisa ser passado, os resultados devem ser atribuídos para uma variável, e esta variável deve ser re passada.

Veja Também

  • func_get_arg() - Retorna um item para uma lista de argumentos
  • func_get_args() - Retorna um array contendo uma lista de argumentos da função


Retorna true se a função dada está definida

  • « func_num_args
  • get_defined_functions »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Retorna true se a função dada está definida

function_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

function_exists — Retorna true se a função dada está definida

Descrição

function_exists ( string $function_name ) : bool

Verifica a lista de funções definidas, ambas embutidas (interna) e definidas pelo usuário, para function_name.

Parâmetros

function_name

O nome da função, como uma string.

Valor Retornado

Retorna true se function_name existe e é uma função, false caso contrário.

Nota:

Esta função retornará false para construtores, como include_once e echo.

Exemplos

Exemplo #1 Exemplo da function_exists()

<?php
if (function_exists('imap_open')) {
    echo "IMAP functions are available.<br />\n";
} else {
    echo "IMAP functions are not available.<br />\n";
}
?>

Notas

Nota:

O nome da função deve existir se a função chama a si própria se torna inútil devido a configuração ou opções de compilação (com a função image sendo um exemplo).

Veja Também

  • method_exists() - Checa se o método da classe existe
  • is_callable() - Verifica se o conteúdo da variável pode ser chamado como função
  • get_defined_functions() - Retorna um array de todas as funções definidas


Retorna um array de todas as funções definidas

  • « function_exists
  • register_shutdown_function »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Retorna um array de todas as funções definidas

get_defined_functions

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

get_defined_functions — Retorna um array de todas as funções definidas

Descrição

get_defined_functions ( ) : array

Obtém um array de todas as funções definidas.

Valor Retornado

Retorna um array multidimensional contendo uma lista de todas as funções definidas, ambas embutidas (interna) e definidas pelo usuário. As funções internas irão estar acessíveis via $arr["internal"], e as definidas por usuário $arr["user"] (veja exemplo abaixo).

Exemplos

Exemplo #1 Exemplo da get_defined_functions()

<?php
function myrow($id, $data)
{
    return "<tr><th>$id</th><td>$data</td></tr>\n";
}

$arr = get_defined_functions();

print_r($arr);
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [internal] => Array
        (
            [0] => zend_version
            [1] => func_num_args
            [2] => func_get_arg
            [3] => func_get_args
            [4] => strlen
            [5] => strcmp
            [6] => strncmp
            ...
            [750] => bcscale
            [751] => bccomp
        )

    [user] => Array
        (
            [0] => myrow
        )

)

Veja Também

  • function_exists() - Retorna true se a função dada está definida
  • get_defined_vars() - Retorna um array com todas variáveis definidas
  • get_defined_constants() - Retorna uma matriz associativa com os nomes de todas as constantes e seus valores
  • get_declared_classes() - Retorna uma matriz com os nomes das classes definidas


Registra uma função para ser executada ao final da execução

  • « get_defined_functions
  • register_tick_function »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Registra uma função para ser executada ao final da execução

register_shutdown_function

(PHP 4, PHP 5, PHP 7, PHP 8)

register_shutdown_function — Registra uma função para ser executada ao final da execução

Descrição

register_shutdown_function ( callback $function ) : void

Registra a função nomeada por function para ser executada quando o processamento do script estiver completo.

Múltiplas chamadas para register_shutdown_function() podem ser feitas, e cada uma irá ser chamada na mesma ordem como elas foram registradas. Se você chamar exit() dentro de uma função registrada "shutdown", o processamento irá parar completamente e nenhuma outra função shutdown irá ser chamada.

As funções "shutdown" registradas são chamadas após a requisição ter sido completamente feita (incluindo envio e saída de buffer), então isso não é possível enviar saída para o brownser usando echo ou print, ou recuperar o conteúdo de algum buffer de saída usando ob_get_contents().

Nota:

Tipicamente funções indefinidas causam erros fatais no PHP, mas quando a function chamada com register_shutdown_function() é indefinida, um erro de nível E_WARNING é gerado ao invés disso. Também, por razões internas do PHP, esso erro irá referenciar-se como Unknown() na linha #0.

Veja também auto_append_file, exit(), e a seção em connection handling.


Registra uma função para executar a cada instante

  • « register_shutdown_function
  • unregister_tick_function »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Registra uma função para executar a cada instante

register_tick_function

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

register_tick_function — Registra uma função para executar a cada instante

Descrição

register_tick_function ( callback $function , mixed $arg = ? , mixed $... = ? ) : bool

Registra a dada function para ser executada quando um tick é chamado.

Parâmetros

function

O nome da função como string, ou um array consistindo de um objeto e um método.

arg

...

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de uso da register_tick_function()

<?php
// using a function as the callback
register_tick_function('my_function', true);

// using an object->method
$object = new my_class();
register_tick_function(array(&$object, 'my_method'), true);
?>

Notas

Aviso

register_tick_function() não deve ser usado com threaded web server modules. Ticks não funcionam em modo ZTS e pode travar seu web server.

Veja Também

  • declare
  • unregister_tick_function() - Desregistra uma função executada a cada instante


Desregistra uma função executada a cada instante

  • « register_tick_function
  • Quickhash »
  • PHP Manual
  • Funções para Manuseamento de Funções
  • Desregistra uma função executada a cada instante

unregister_tick_function

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

unregister_tick_function — Desregistra uma função executada a cada instante

Descrição

unregister_tick_function ( string $function_name ) : void

Desregistra uma função nomeada por function_name então isso não é mais executado quando uma tick é chamada.

Parâmetros

function_name

O nome da função, como string.

Valor Retornado

Não há valor retornado.

Veja Também

  • register_tick_function() - Registra uma função para executar a cada instante


Quickhash

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
  • Constantes pré-definidas
  • Exemplos
  • QuickHashIntSet — The QuickHashIntSet class
    • QuickHashIntSet::add — This method adds a new entry to the set
    • QuickHashIntSet::__construct — Creates a new QuickHashIntSet object
    • QuickHashIntSet::delete — This method deletes an entry from the set
    • QuickHashIntSet::exists — This method checks whether a key is part of the set
    • QuickHashIntSet::getSize — Returns the number of elements in the set
    • QuickHashIntSet::loadFromFile — This factory method creates a set from a file
    • QuickHashIntSet::loadFromString — This factory method creates a set from a string
    • QuickHashIntSet::saveToFile — This method stores an in-memory set to disk
    • QuickHashIntSet::saveToString — This method returns a serialized version of the set
  • QuickHashIntHash — The QuickHashIntHash class
    • QuickHashIntHash::add — This method adds a new entry to the hash
    • QuickHashIntHash::__construct — Creates a new QuickHashIntHash object
    • QuickHashIntHash::delete — This method deletes am entry from the hash
    • QuickHashIntHash::exists — This method checks whether a key is part of the hash
    • QuickHashIntHash::get — This method retrieves a value from the hash by its key
    • QuickHashIntHash::getSize — Returns the number of elements in the hash
    • QuickHashIntHash::loadFromFile — This factory method creates a hash from a file
    • QuickHashIntHash::loadFromString — This factory method creates a hash from a string
    • QuickHashIntHash::saveToFile — This method stores an in-memory hash to disk
    • QuickHashIntHash::saveToString — This method returns a serialized version of the hash
    • QuickHashIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntHash::update — This method updates an entry in the hash with a new value
  • QuickHashStringIntHash — The QuickHashStringIntHash class
    • QuickHashStringIntHash::add — This method adds a new entry to the hash
    • QuickHashStringIntHash::__construct — Creates a new QuickHashStringIntHash object
    • QuickHashStringIntHash::delete — This method deletes am entry from the hash
    • QuickHashStringIntHash::exists — This method checks whether a key is part of the hash
    • QuickHashStringIntHash::get — This method retrieves a value from the hash by its key
    • QuickHashStringIntHash::getSize — Returns the number of elements in the hash
    • QuickHashStringIntHash::loadFromFile — This factory method creates a hash from a file
    • QuickHashStringIntHash::loadFromString — This factory method creates a hash from a string
    • QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk
    • QuickHashStringIntHash::saveToString — This method returns a serialized version of the hash
    • QuickHashStringIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashStringIntHash::update — This method updates an entry in the hash with a new value
  • QuickHashIntStringHash — The QuickHashIntStringHash class
    • QuickHashIntStringHash::add — This method adds a new entry to the hash
    • QuickHashIntStringHash::__construct — Creates a new QuickHashIntStringHash object
    • QuickHashIntStringHash::delete — This method deletes am entry from the hash
    • QuickHashIntStringHash::exists — This method checks whether a key is part of the hash
    • QuickHashIntStringHash::get — This method retrieves a value from the hash by its key
    • QuickHashIntStringHash::getSize — Returns the number of elements in the hash
    • QuickHashIntStringHash::loadFromFile — This factory method creates a hash from a file
    • QuickHashIntStringHash::loadFromString — This factory method creates a hash from a string
    • QuickHashIntStringHash::saveToFile — This method stores an in-memory hash to disk
    • QuickHashIntStringHash::saveToString — This method returns a serialized version of the hash
    • QuickHashIntStringHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntStringHash::update — This method updates an entry in the hash with a new value


Introdução

The quickhash extension contains a set of specific strongly-typed classes to deal with specific set and hash implementations.


  • « Introdução
  • Dependências »
  • PHP Manual
  • Quickhash
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

This extension requires no additional libraries.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/quickhash


  • « Configurações em Execução
  • Exemplos »
  • PHP Manual
  • Quickhash
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Exemplos

Exemplo #1 Quickhash Example

<?php
$set = new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES );
$set->add( 1 );
$set->add( 3 );

var_dump( $set->exists( 3 ) );
var_dump( $set->exists( 4 ) );

$set->saveToFile( "/tmp/test-set.set" );

$newSet = QuickHashIntSet::loadFromFile(
    "/tmp/test-set.set"
);

var_dump( $newSet->exists( 3 ) );
var_dump( $newSet->exists( 4 ) );
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(false)
bool(true)
bool(false)

Exemplo #2 Quickhash ArrayAccess Example

<?php
$hash = new QuickHashIntHash( 64 );

// Adding and updating hash entries.
$hash[3] = 145926;
$hash[3] = 1415926;
$hash[2] = 72;

// Checking if keys exist
var_dump( isset( $hash[3] ) );

// Removing hash entries
unset( $hash[2] );

// Retrieving the value stored for a hash
echo $hash[3], "\n";
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
1415926

Exemplo #3 Quickhash Iterator Example

<?php
$hash = new QuickHashIntHash( 64 );

// Adding hash entries.
$hash[1] = 145926;
$hash[2] = 1415926;
$hash[3] = 72;
$hash[4] = 712314;
$hash[5] = -4234;

foreach( $hash as $key => $value )
{
    echo $key, ' => ', $value, "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

5 => -4234
4 => 712314
1 => 145926
2 => 1415926
3 => 72

Exemplo #4 Quickhash String Values Example

<?php
$hash = new QuickHashIntStringHash( 64 );

// Adding hash entries.
$hash[1] = "one million four hundred fifteen thousand nine hundred twenty six";
$hash->add( 2, "one more" );

foreach( $hash as $key => $value )
{
    echo $key, ' => ', $value, "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

1 => one million four hundred fifteen thousand nine hundred twenty six
2 => one more


The QuickHashIntSet class

(PECL quickhash >= Unknown)

Introdução

This class wraps around a set containing integer numbers.

Sets can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Sinopse da classe

QuickHashIntSet {
/* Constants */
const int CHECK_FOR_DUPES = 1 ;
const int DO_NOT_USE_ZEND_ALLOC = 2 ;
const int HASHER_NO_HASH = 256 ;
const int HASHER_JENKINS1 = 512 ;
const int HASHER_JENKINS2 = 1024 ;
/* Methods */
public add ( int $key ) : bool
public __construct ( int $size , int $options = ? )
public delete ( int $key ) : bool
public exists ( int $key ) : bool
publicgetSize ( ) : int
public static loadFromFile ( string $filename , int $size = ? , int $options = ? ) : QuickHashIntSet
public static loadFromString ( string $contents , int $size = ? , int $options = ? ) : QuickHashIntSet
public saveToFile ( string $filename ) : void
public saveToString ( ) : string
}

Constantes pré-definidas

QuickHashIntSet::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either add() or loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

QuickHashIntSet::HASHER_NO_HASH

Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This is not faster than normal hashing, and gives more collisions.

QuickHashIntSet::HASHER_JENKINS1

This is the default hashing function to turn the integer hashes into bucket list indexes.

QuickHashIntSet::HASHER_JENKINS2

Selects a variant hashing algorithm.

Índice

  • QuickHashIntSet::add — This method adds a new entry to the set
  • QuickHashIntSet::__construct — Creates a new QuickHashIntSet object
  • QuickHashIntSet::delete — This method deletes an entry from the set
  • QuickHashIntSet::exists — This method checks whether a key is part of the set
  • QuickHashIntSet::getSize — Returns the number of elements in the set
  • QuickHashIntSet::loadFromFile — This factory method creates a set from a file
  • QuickHashIntSet::loadFromString — This factory method creates a set from a string
  • QuickHashIntSet::saveToFile — This method stores an in-memory set to disk
  • QuickHashIntSet::saveToString — This method returns a serialized version of the set


This method adds a new entry to the set

  • « QuickHashIntSet
  • QuickHashIntSet::__construct »
  • PHP Manual
  • QuickHashIntSet
  • This method adds a new entry to the set

QuickHashIntSet::add

(PECL quickhash >= Unknown)

QuickHashIntSet::add — This method adds a new entry to the set

Descrição

public QuickHashIntSet::add ( int $key ) : bool

This method adds a new entry to the set, and returns whether the entry was added. Entries are by default always added unless QuickHashIntSet::CHECK_FOR_DUPES has been passed when the set was created.

Parâmetros

key

The key of the entry to add.

Valor Retornado

true when the entry was added, and false if the entry was not added.

Exemplos

Exemplo #1 QuickHashIntSet::add() example

<?php
echo "without dupe checking\n";
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );

echo "\nwith dupe checking\n";
$set = new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
?>

O exemplo acima irá imprimir algo similar à:

without dupe checking
bool(false)
bool(true)
bool(true)
bool(true)

with dupe checking
bool(false)
bool(true)
bool(true)
bool(false)


Creates a new QuickHashIntSet object

  • « QuickHashIntSet::add
  • QuickHashIntSet::delete »
  • PHP Manual
  • QuickHashIntSet
  • Creates a new QuickHashIntSet object

QuickHashIntSet::__construct

(PECL quickhash >= Unknown)

QuickHashIntSet::__construct — Creates a new QuickHashIntSet object

Descrição

public QuickHashIntSet::__construct ( int $size , int $options = ? )

This constructor creates a new QuickHashIntSet. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Parâmetros

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The options that you can pass in are: QuickHashIntSet::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the set; QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager as well as one of QuickHashIntSet::HASHER_NO_HASH, QuickHashIntSet::HASHER_JENKINS1 or QuickHashIntSet::HASHER_JENKINS2. These last three configure which hashing algorithm to use. All options can be combined using bitmasks.

Valor Retornado

Returns a new QuickHashIntSet object.

Exemplos

Exemplo #1 QuickHashIntSet::__construct() example

<?php
var_dump( new QuickHashIntSet( 1024 ) );
var_dump( new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES ) );
var_dump(
    new QuickHashIntSet(
        1024,
        QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC | QuickHashIntSet::HASHER_JENKINS2
    )
);
?>


This method deletes an entry from the set

  • « QuickHashIntSet::__construct
  • QuickHashIntSet::exists »
  • PHP Manual
  • QuickHashIntSet
  • This method deletes an entry from the set

QuickHashIntSet::delete

(PECL quickhash >= Unknown)

QuickHashIntSet::delete — This method deletes an entry from the set

Descrição

public QuickHashIntSet::delete ( int $key ) : bool

This method deletes an entry from the set, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the set itself is freed.

Parâmetros

key

The key of the entry to delete.

Valor Retornado

true when the entry was deleted, and false if the entry was not deleted.

Exemplos

Exemplo #1 QuickHashIntSet::delete() example

<?php
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->delete( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->delete( 4 ) );
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)


This method checks whether a key is part of the set

  • « QuickHashIntSet::delete
  • QuickHashIntSet::getSize »
  • PHP Manual
  • QuickHashIntSet
  • This method checks whether a key is part of the set

QuickHashIntSet::exists

(PECL quickhash >= Unknown)

QuickHashIntSet::exists — This method checks whether a key is part of the set

Descrição

public QuickHashIntSet::exists ( int $key ) : bool

This method checks whether an entry with the provided key exists in the set.

Parâmetros

key

The key of the entry to check for whether it exists in the set.

Valor Retornado

Returns true when the entry was found, or false when the entry is not found.

Exemplos

Exemplo #1 QuickHashIntSet::exists() example

<?php
//generate 200000 elements
$array = range( 0, 199999 );
$existingEntries = array_rand( array_flip( $array ), 180000 );
$testForEntries = array_rand( array_flip( $array ), 1000 );
$foundCount = 0;

echo "Creating set: ", microtime( true ), "\n";
$set = new QuickHashIntSet( 100000 );
echo "Adding elements: ", microtime( true ), "\n";
foreach( $existingEntries as $key )
{
     $set->add( $key );
}

echo "Doing 1000 tests: ", microtime( true ), "\n";
foreach( $testForEntries as $key )
{
     $foundCount += $set->exists( $key );
}
echo "Done, $foundCount found: ", microtime( true ), "\n";
?>

O exemplo acima irá imprimir algo similar à:

Creating set: 1263588703.0748
Adding elements: 1263588703.0757
Doing 1000 tests: 1263588703.7851
Done, 898 found: 1263588703.7897


Returns the number of elements in the set

  • « QuickHashIntSet::exists
  • QuickHashIntSet::loadFromFile »
  • PHP Manual
  • QuickHashIntSet
  • Returns the number of elements in the set

QuickHashIntSet::getSize

(PECL quickhash >= Unknown)

QuickHashIntSet::getSize — Returns the number of elements in the set

Descrição

publicQuickHashIntSet::getSize ( ) : int

Returns the number of elements in the set.

Parâmetros

key

The key of the entry to add.

Valor Retornado

The number of elements in the set.

Exemplos

Exemplo #1 QuickHashIntSet::getSize() example

<?php
$set = new QuickHashIntSet( 8 );
var_dump( $set->add( 2 ) );
var_dump( $set->add( 3 ) );
var_dump( $set->getSize() );
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
int(2)


This factory method creates a set from a file

  • « QuickHashIntSet::getSize
  • QuickHashIntSet::loadFromString »
  • PHP Manual
  • QuickHashIntSet
  • This factory method creates a set from a file

QuickHashIntSet::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntSet::loadFromFile — This factory method creates a set from a file

Descrição

public static QuickHashIntSet::loadFromFile ( string $filename , int $size = ? , int $options = ? ) : QuickHashIntSet

This factory method creates a new set from a definition file on disk. The file format consists of 32 bit signed integers packed together in the Endianness that the system that the code runs on uses.

Parâmetros

filename

The filename of the file to read the set from.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the set, rounded up to the nearest power of two with a maximum limit of 4194304.

Valor Retornado

Returns a new QuickHashIntSet.

Exemplos

Exemplo #1 QuickHashIntSet::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.set";
$set = QuickHashIntSet::loadFromFile(
    $file,
    QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $set->exists( $key ) ? 'set' : 'unset'
    );
}
?>

O exemplo acima irá imprimir algo similar à:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset


This factory method creates a set from a string

  • « QuickHashIntSet::loadFromFile
  • QuickHashIntSet::saveToFile »
  • PHP Manual
  • QuickHashIntSet
  • This factory method creates a set from a string

QuickHashIntSet::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntSet::loadFromString — This factory method creates a set from a string

Descrição

public static QuickHashIntSet::loadFromString ( string $contents , int $size = ? , int $options = ? ) : QuickHashIntSet

This factory method creates a new set from a definition in a string. The file format consists of 32 bit signed integers packed together in the Endianness that the system that the code runs on uses.

Parâmetros

contents

The string containing a serialized format of the set.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the set, rounded up to the nearest power of two automatically limited from 64 to 4194304.

Valor Retornado

Returns a new QuickHashIntSet.

Exemplos

Exemplo #1 QuickHashIntSet::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.set" );
$set = QuickHashIntSet::loadFromString(
    $contents,
    QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $set->exists( $key ) ? 'set' : 'unset'
    );
}
?>

O exemplo acima irá imprimir algo similar à:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset


This method stores an in-memory set to disk

  • « QuickHashIntSet::loadFromString
  • QuickHashIntSet::saveToString »
  • PHP Manual
  • QuickHashIntSet
  • This method stores an in-memory set to disk

QuickHashIntSet::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntSet::saveToFile — This method stores an in-memory set to disk

Descrição

public QuickHashIntSet::saveToFile ( string $filename ) : void

This method stores an existing set to a file on disk, in the same format that loadFromFile() can read.

Parâmetros

filename

The filename of the file to store the hash in.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 QuickHashIntSet::saveToFile() example

<?php
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );

$set->saveToFile( '/tmp/test.set' );
?>


This method returns a serialized version of the set

  • « QuickHashIntSet::saveToFile
  • QuickHashIntHash »
  • PHP Manual
  • QuickHashIntSet
  • This method returns a serialized version of the set

QuickHashIntSet::saveToString

(PECL quickhash >= Unknown)

QuickHashIntSet::saveToString — This method returns a serialized version of the set

Descrição

public QuickHashIntSet::saveToString ( ) : string

This method returns a serialized version of the set in the same format that loadFromString() can read.

Valor Retornado

This method returns a string containing a serialized format of the set. Each element is stored as a four byte value in the Endianness that the current system uses.

Exemplos

Exemplo #1 QuickHashIntSet::saveToString() example

<?php
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );

var_dump( $set->saveToString() );
?>


The QuickHashIntHash class

(PECL quickhash >= Unknown)

Introdução

This class wraps around a hash containing integer numbers, where the values are also integer numbers. Hashes are also available as implementation of the ArrayAccess interface.

Hashes can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Sinopse da classe

QuickHashIntHash {
/* Constants */
const int CHECK_FOR_DUPES = 1 ;
const int DO_NOT_USE_ZEND_ALLOC = 2 ;
const int HASHER_NO_HASH = 256 ;
const int HASHER_JENKINS1 = 512 ;
const int HASHER_JENKINS2 = 1024 ;
/* Methods */
public add ( int $key , int $value = ? ) : bool
public __construct ( int $size , int $options = ? )
public delete ( int $key ) : bool
public exists ( int $key ) : bool
public get ( int $key ) : int
public getSize ( ) : int
public static loadFromFile ( string $filename , int $options = ? ) : QuickHashIntHash
public static loadFromString ( string $contents , int $options = ? ) : QuickHashIntHash
public saveToFile ( string $filename ) : void
public saveToString ( ) : string
public set ( int $key , int $value ) : bool
public update ( int $key , int $value ) : bool
}

Constantes pré-definidas

QuickHashIntHash::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either add() or loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

QuickHashIntHash::HASHER_NO_HASH

Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This is not faster than normal hashing, and gives more collisions.

QuickHashIntHash::HASHER_JENKINS1

This is the default hashing function to turn the integer hashes into bucket list indexes.

QuickHashIntHash::HASHER_JENKINS2

Selects a variant hashing algorithm.

Índice

  • QuickHashIntHash::add — This method adds a new entry to the hash
  • QuickHashIntHash::__construct — Creates a new QuickHashIntHash object
  • QuickHashIntHash::delete — This method deletes am entry from the hash
  • QuickHashIntHash::exists — This method checks whether a key is part of the hash
  • QuickHashIntHash::get — This method retrieves a value from the hash by its key
  • QuickHashIntHash::getSize — Returns the number of elements in the hash
  • QuickHashIntHash::loadFromFile — This factory method creates a hash from a file
  • QuickHashIntHash::loadFromString — This factory method creates a hash from a string
  • QuickHashIntHash::saveToFile — This method stores an in-memory hash to disk
  • QuickHashIntHash::saveToString — This method returns a serialized version of the hash
  • QuickHashIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
  • QuickHashIntHash::update — This method updates an entry in the hash with a new value


This method adds a new entry to the hash

  • « QuickHashIntHash
  • QuickHashIntHash::__construct »
  • PHP Manual
  • QuickHashIntHash
  • This method adds a new entry to the hash

QuickHashIntHash::add

(PECL quickhash >= Unknown)

QuickHashIntHash::add — This method adds a new entry to the hash

Descrição

public QuickHashIntHash::add ( int $key , int $value = ? ) : bool

This method adds a new entry to the hash, and returns whether the entry was added. Entries are by default always added unless QuickHashIntHash::CHECK_FOR_DUPES has been passed when the hash was created.

Parâmetros

key

The key of the entry to add.

value

The optional value of the entry to add. If no value is specified, 1 will be used.

Valor Retornado

true when the entry was added, and false if the entry was not added.

Exemplos

Exemplo #1 QuickHashIntHash::add() example

<?php
echo "without dupe checking\n";
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 22 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 12 ) );

echo "\nwith dupe checking\n";
$hash = new QuickHashIntHash( 1024, QuickHashIntHash::CHECK_FOR_DUPES );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 78 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 9 ) );

echo "\ndefault value\n";
var_dump( $hash->add( 5 ) );
var_dump( $hash->get( 5 ) );
?>

O exemplo acima irá imprimir algo similar à:

without dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
int(22)
bool(true)

with dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
int(78)
bool(false)

default value
bool(true)
int(1)


Creates a new QuickHashIntHash object

  • « QuickHashIntHash::add
  • QuickHashIntHash::delete »
  • PHP Manual
  • QuickHashIntHash
  • Creates a new QuickHashIntHash object

QuickHashIntHash::__construct

(PECL quickhash >= Unknown)

QuickHashIntHash::__construct — Creates a new QuickHashIntHash object

Descrição

public QuickHashIntHash::__construct ( int $size , int $options = ? )

This constructor creates a new QuickHashIntHash. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Parâmetros

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 64 to 4194304.

options

The options that you can pass in are: QuickHashIntHash::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the hash; QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager as well as one of QuickHashIntHash::HASHER_NO_HASH, QuickHashIntHash::HASHER_JENKINS1 or QuickHashIntHash::HASHER_JENKINS2. These last three configure which hashing algorithm to use. All options can be combined using bitmasks.

Valor Retornado

Returns a new QuickHashIntHash object.

Exemplos

Exemplo #1 QuickHashIntHash::__construct() example

<?php
var_dump( new QuickHashIntHash( 1024 ) );
var_dump( new QuickHashIntHash( 1024, QuickHashIntHash::CHECK_FOR_DUPES ) );
var_dump(
    new QuickHashIntHash(
        1024,
        QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC | QuickHashIntHash::HASHER_JENKINS2
    )
);
?>


This method deletes am entry from the hash

  • « QuickHashIntHash::__construct
  • QuickHashIntHash::exists »
  • PHP Manual
  • QuickHashIntHash
  • This method deletes am entry from the hash

QuickHashIntHash::delete

(PECL quickhash >= Unknown)

QuickHashIntHash::delete — This method deletes am entry from the hash

Descrição

public QuickHashIntHash::delete ( int $key ) : bool

This method deletes an entry from the hash, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the hash itself is freed.

Elements can not be deleted when the hash is used in an iterator. The method will not throw an exception, but simply return false like would happen with any other deletion failure.

Parâmetros

key

The key of the entry to delete.

Valor Retornado

true when the entry was deleted, and false if the entry was not deleted.

Exemplos

Exemplo #1 QuickHashIntHash::delete() example

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 5 ) );
var_dump( $hash->delete( 4 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->delete( 4 ) );
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)


This method checks whether a key is part of the hash

  • « QuickHashIntHash::delete
  • QuickHashIntHash::get »
  • PHP Manual
  • QuickHashIntHash
  • This method checks whether a key is part of the hash

QuickHashIntHash::exists

(PECL quickhash >= Unknown)

QuickHashIntHash::exists — This method checks whether a key is part of the hash

Descrição

public QuickHashIntHash::exists ( int $key ) : bool

This method checks whether an entry with the provided key exists in the hash.

Parâmetros

key

The key of the entry to check for whether it exists in the hash.

Valor Retornado

Returns true when the entry was found, or false when the entry is not found.

Exemplos

Exemplo #1 QuickHashIntHash::exists() example

<?php
//generate 200000 elements
$array = range( 0, 199999 );
$existingEntries = array_rand( array_flip( $array ), 180000 );
$testForEntries = array_rand( array_flip( $array ), 1000 );
$foundCount = 0;

echo "Creating hash: ", microtime( true ), "\n";
$hash = new QuickHashIntHash( 100000 );
echo "Adding elements: ", microtime( true ), "\n";
foreach( $existingEntries as $key )
{
     $hash->add( $key, 56 );
}

echo "Doing 1000 tests: ", microtime( true ), "\n";
foreach( $testForEntries as $key )
{
     $foundCount += $hash->exists( $key );
}
echo "Done, $foundCount found: ", microtime( true ), "\n";
?>

O exemplo acima irá imprimir algo similar à:

Creating hash: 1263588703.0748
Adding elements: 1263588703.0757
Doing 1000 tests: 1263588703.7851
Done, 898 found: 1263588703.7897


This method retrieves a value from the hash by its key

  • « QuickHashIntHash::exists
  • QuickHashIntHash::getSize »
  • PHP Manual
  • QuickHashIntHash
  • This method retrieves a value from the hash by its key

QuickHashIntHash::get

(PECL quickhash >= Unknown)

QuickHashIntHash::get — This method retrieves a value from the hash by its key

Descrição

public QuickHashIntHash::get ( int $key ) : int

This method retrieves a value from the hash by its key.

Parâmetros

key

The key of the entry to add.

Valor Retornado

The value if the key exists, or null if the key wasn't part of the hash.

Exemplos

Exemplo #1 QuickHashIntHash::get() example

<?php
$hash = new QuickHashIntHash( 8 );
var_dump( $hash->get( 1 ) );

var_dump( $hash->add( 2 ) );
var_dump( $hash->get( 2 ) );

var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->get( 3 ) );
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)
int(1)
bool(true)
int(5)


Returns the number of elements in the hash

  • « QuickHashIntHash::get
  • QuickHashIntHash::loadFromFile »
  • PHP Manual
  • QuickHashIntHash
  • Returns the number of elements in the hash

QuickHashIntHash::getSize

(PECL quickhash >= Unknown)

QuickHashIntHash::getSize — Returns the number of elements in the hash

Descrição

public QuickHashIntHash::getSize ( ) : int

Returns the number of elements in the hash.

Parâmetros

key

The key of the entry to add.

Valor Retornado

The number of elements in the hash.

Exemplos

Exemplo #1 QuickHashIntHash::getSize() example

<?php
$hash = new QuickHashIntHash( 8 );
var_dump( $hash->add( 2 ) );
var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->getSize() );
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
int(2)


This factory method creates a hash from a file

  • « QuickHashIntHash::getSize
  • QuickHashIntHash::loadFromString »
  • PHP Manual
  • QuickHashIntHash
  • This factory method creates a hash from a file

QuickHashIntHash::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntHash::loadFromFile — This factory method creates a hash from a file

Descrição

public static QuickHashIntHash::loadFromFile ( string $filename , int $options = ? ) : QuickHashIntHash

This factory method creates a new hash from a definition file on disk. The file format consists of a signature 'QH\0x11\0', the number of elements as a 32 bit signed integer in system Endianness, followed by 32 bit signed integers packed together in the Endianness that the system that the code runs on uses. For each hash element there are two 32 bit signed integers stored. The first of each element is the key, and the second is the value belonging to the key. An example could be:

Exemplo #1 QuickHash IntHash file format

00000000  51 48 11 00 02 00 00 00  01 00 00 00 01 00 00 00  |QH..............|
00000010  03 00 00 00 09 00 00 00                           |........|
00000018

Exemplo #2 QuickHash IntHash file format

header signature ('QH'; key type: 1; value type: 1; filler: \0x00)
00000000  51 48 11 00

number of elements:
00000004  02 00 00 00

data string:
00000000  01 00 00 00 01 00 00 00  03 00 00 00 09 00 00 00

key/value 1 (key = 1, value = 1)
01 00 00 00  01 00 00 00

key/value 2 (key = 3, value = 9)
03 00 00 00  09 00 00 00

Parâmetros

filename

The filename of the file to read the hash from.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Valor Retornado

Returns a new QuickHashIntHash.

Exemplos

Exemplo #3 QuickHashIntHash::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.hash";
$hash = QuickHashIntHash::loadFromFile(
    $file,
    QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $hash->exists( $key ) ? 'set' : 'unset'
    );
}
?>

O exemplo acima irá imprimir algo similar à:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset


This factory method creates a hash from a string

  • « QuickHashIntHash::loadFromFile
  • QuickHashIntHash::saveToFile »
  • PHP Manual
  • QuickHashIntHash
  • This factory method creates a hash from a string

QuickHashIntHash::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntHash::loadFromString — This factory method creates a hash from a string

Descrição

public static QuickHashIntHash::loadFromString ( string $contents , int $options = ? ) : QuickHashIntHash

This factory method creates a new hash from a definition in a string. The file format consists of 32 bit signed integers packed together in the Endianness that the system that the code runs on uses. For each element there are two 32 bit signed integers stored. The first of each element is the key, and the second is the value belonging to the key.

Parâmetros

contents

The string containing a serialized format of the hash.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Valor Retornado

Returns a new QuickHashIntHash.

Exemplos

Exemplo #1 QuickHashIntHash::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.hash" );
$hash = QuickHashIntHash::loadFromString(
    $contents,
    QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $hash->exists( $key ) ? 'set' : 'unset'
    );
}
?>

O exemplo acima irá imprimir algo similar à:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset


This method stores an in-memory hash to disk

  • « QuickHashIntHash::loadFromString
  • QuickHashIntHash::saveToString »
  • PHP Manual
  • QuickHashIntHash
  • This method stores an in-memory hash to disk

QuickHashIntHash::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntHash::saveToFile — This method stores an in-memory hash to disk

Descrição

public QuickHashIntHash::saveToFile ( string $filename ) : void

This method stores an existing hash to a file on disk, in the same format that loadFromFile() can read.

Parâmetros

filename

The filename of the file to store the hash in.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 QuickHashIntHash::saveToFile() example

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 43 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 52 ) );

$hash->saveToFile( '/tmp/test.hash' );
?>


This method returns a serialized version of the hash

  • « QuickHashIntHash::saveToFile
  • QuickHashIntHash::set »
  • PHP Manual
  • QuickHashIntHash
  • This method returns a serialized version of the hash

QuickHashIntHash::saveToString

(PECL quickhash >= Unknown)

QuickHashIntHash::saveToString — This method returns a serialized version of the hash

Descrição

public QuickHashIntHash::saveToString ( ) : string

This method returns a serialized version of the hash in the same format that loadFromString() can read.

Valor Retornado

This method returns a string containing a serialized format of the hash. Each element is stored as a four byte value in the Endianness that the current system uses.

Exemplos

Exemplo #1 QuickHashIntHash::saveToString() example

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 34 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 55 ) );

var_dump( $hash->saveToString() );
?>


This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

  • « QuickHashIntHash::saveToString
  • QuickHashIntHash::update »
  • PHP Manual
  • QuickHashIntHash
  • This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

QuickHashIntHash::set

(PECL quickhash >= Unknown)

QuickHashIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

Descrição

public QuickHashIntHash::set ( int $key , int $value ) : bool

This method tries to update an entry with a new value. In case the entry did not yet exist, it will instead add a new entry. It returns whether the entry was added or update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Parâmetros

key

The key of the entry to add or update.

value

The new value to set the entry with.

Valor Retornado

2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an error.

Exemplos

Exemplo #1 QuickHashIntHash::set() example

<?php
$hash = new QuickHashIntHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( 46692 ) );
var_dump( $hash->set( 46692, 16091 ) );
var_dump( $hash->get( 46692 ) );

echo "Set->Update\n";
var_dump( $hash->set( 46692, 29906 ) );
var_dump( $hash->get( 46692 ) );
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
int(2)
int(16091)
Set->Update
int(1)
int(29906)


This method updates an entry in the hash with a new value

  • « QuickHashIntHash::set
  • QuickHashStringIntHash »
  • PHP Manual
  • QuickHashIntHash
  • This method updates an entry in the hash with a new value

QuickHashIntHash::update

(PECL quickhash >= Unknown)

QuickHashIntHash::update — This method updates an entry in the hash with a new value

Descrição

public QuickHashIntHash::update ( int $key , int $value ) : bool

This method updates an entry with a new value, and returns whether the entry was update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Parâmetros

key

The key of the entry to add.

value

The new value to update the entry with.

Valor Retornado

true when the entry was found and updated, and false if the entry was not part of the hash already.

Exemplos

Exemplo #1 QuickHashIntHash::update() example

<?php
$hash = new QuickHashIntHash( 1024 );

var_dump( $hash->add( 141421, 173205 ) );
var_dump( $hash->update( 141421, 223606 ) );
var_dump( $hash->get( 141421 ) );
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
int(223606)


The QuickHashStringIntHash class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

This class wraps around a hash containing strings, where the values are integer numbers. Hashes are also available as implementation of the ArrayAccess interface.

Hashes can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Sinopse da classe

QuickHashStringIntHash {
/* Constants */
const int CHECK_FOR_DUPES = 1 ;
const int DO_NOT_USE_ZEND_ALLOC = 2 ;
/* Methods */
public add ( string $key , int $value ) : bool
public __construct ( int $size , int $options = 0 )
public delete ( string $key ) : bool
public exists ( string $key ) : bool
public get ( string $key ) : mixed
public getSize ( ) : int
public static loadFromFile ( string $filename , int $size = 0 , int $options = 0 ) : QuickHashStringIntHash
public static loadFromString ( string $contents , int $size = 0 , int $options = 0 ) : QuickHashStringIntHash
public saveToFile ( string $filename ) : void
public saveToString ( ) : string
public set ( string $key , int $value ) : int
public update ( string $key , int $value ) : bool
}

Constantes pré-definidas

QuickHashStringIntHash::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either add() or loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

Índice

  • QuickHashStringIntHash::add — This method adds a new entry to the hash
  • QuickHashStringIntHash::__construct — Creates a new QuickHashStringIntHash object
  • QuickHashStringIntHash::delete — This method deletes am entry from the hash
  • QuickHashStringIntHash::exists — This method checks whether a key is part of the hash
  • QuickHashStringIntHash::get — This method retrieves a value from the hash by its key
  • QuickHashStringIntHash::getSize — Returns the number of elements in the hash
  • QuickHashStringIntHash::loadFromFile — This factory method creates a hash from a file
  • QuickHashStringIntHash::loadFromString — This factory method creates a hash from a string
  • QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk
  • QuickHashStringIntHash::saveToString — This method returns a serialized version of the hash
  • QuickHashStringIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
  • QuickHashStringIntHash::update — This method updates an entry in the hash with a new value


This method adds a new entry to the hash

  • « QuickHashStringIntHash
  • QuickHashStringIntHash::__construct »
  • PHP Manual
  • QuickHashStringIntHash
  • This method adds a new entry to the hash

QuickHashStringIntHash::add

(Não há informação de versão disponível, talvez apenas no Git)

QuickHashStringIntHash::add — This method adds a new entry to the hash

Descrição

public QuickHashStringIntHash::add ( string $key , int $value ) : bool

This method adds a new entry to the hash, and returns whether the entry was added. Entries are by default always added unless QuickHashStringIntHash::CHECK_FOR_DUPES has been passed when the hash was created.

Parâmetros

key

The key of the entry to add.

value

The value of the entry to add.

Valor Retornado

true when the entry was added, and false if the entry was not added.

Exemplos

Exemplo #1 QuickHashStringIntHash::add() example

<?php
echo "without dupe checking\n";
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 22 ) );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 12 ) );

echo "\nwith dupe checking\n";
$hash = new QuickHashStringIntHash( 1024, QuickHashStringIntHash::CHECK_FOR_DUPES );
var_dump( $hash );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 78 ) );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 9 ) );
?>

O exemplo acima irá imprimir algo similar à:

without dupe checking
object(QuickHashStringIntHash)#1 (0) {
}
bool(false)
bool(false)
bool(true)
bool(true)
int(22)
bool(true)

with dupe checking
object(QuickHashStringIntHash)#2 (0) {
}
bool(false)
bool(false)
bool(true)
bool(true)
int(78)
bool(false)


Creates a new QuickHashStringIntHash object

  • « QuickHashStringIntHash::add
  • QuickHashStringIntHash::delete »
  • PHP Manual
  • QuickHashStringIntHash
  • Creates a new QuickHashStringIntHash object

QuickHashStringIntHash::__construct

(Não há informação de versão disponível, talvez apenas no Git)

QuickHashStringIntHash::__construct — Creates a new QuickHashStringIntHash object

Descrição

public QuickHashStringIntHash::__construct ( int $size , int $options = 0 )

This constructor creates a new QuickHashStringIntHash. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Parâmetros

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 64 to 4194304.

options

The options that you can pass in are: QuickHashStringIntHash::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the hash and QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager.

Valor Retornado

Returns a new QuickHashStringIntHash object.

Exemplos

Exemplo #1 QuickHashStringIntHash::__construct() example

<?php
var_dump( new QuickHashStringIntHash( 1024 ) );
var_dump( new QuickHashStringIntHash( 1024, QuickHashStringIntHash::CHECK_FOR_DUPES ) );
?>


This method deletes am entry from the hash

  • « QuickHashStringIntHash::__construct
  • QuickHashStringIntHash::exists »
  • PHP Manual
  • QuickHashStringIntHash
  • This method deletes am entry from the hash

QuickHashStringIntHash::delete

(Não há informação de versão disponível, talvez apenas no Git)

QuickHashStringIntHash::delete — This method deletes am entry from the hash

Descrição

public QuickHashStringIntHash::delete ( string $key ) : bool

This method deletes an entry from the hash, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the hash itself is freed.

Elements can not be deleted when the hash is used in an iterator. The method will not throw an exception, but simply return false like would happen with any other deletion failure.

Parâmetros

key

The key of the entry to delete.

Valor Retornado

true when the entry was deleted, and false if the entry was not deleted.

Exemplos

Exemplo #1 QuickHashStringIntHash::delete() example

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->exists( 'four' ) );
var_dump( $hash->add( 'four', 5 ) );
var_dump( $hash->get( 'four' ) );
var_dump( $hash->delete( 'four' ) );
var_dump( $hash->exists( 'four' ) );
var_dump( $hash->get( 'four' ) );
var_dump( $hash->delete( 'four' ) );
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)
int(5)
bool(true)
bool(false)
bool(false)
bool(false)


This method checks whether a key is part of the hash

  • « QuickHashStringIntHash::delete
  • QuickHashStringIntHash::get »
  • PHP Manual
  • QuickHashStringIntHash
  • This method checks whether a key is part of the hash

QuickHashStringIntHash::exists

(Não há informação de versão disponível, talvez apenas no Git)

QuickHashStringIntHash::exists — This method checks whether a key is part of the hash

Descrição

public QuickHashStringIntHash::exists ( string $key ) : bool

This method checks whether an entry with the provided key exists in the hash.

Parâmetros

key

The key of the entry to check for whether it exists in the hash.

Valor Retornado

Returns true when the entry was found, or false when the entry is not found.


This method retrieves a value from the hash by its key

  • « QuickHashStringIntHash::exists
  • QuickHashStringIntHash::getSize »
  • PHP Manual
  • QuickHashStringIntHash
  • This method retrieves a value from the hash by its key

QuickHashStringIntHash::get

(Não há informação de versão disponível, talvez apenas no Git)

QuickHashStringIntHash::get — This method retrieves a value from the hash by its key

Descrição

public QuickHashStringIntHash::get ( string $key ) : mixed

This method retrieves a value from the hash by its key.

Parâmetros

key

The key of the entry to add.

Valor Retornado

The value if the key exists, or null if the key wasn't part of the hash.

Exemplos

Exemplo #1 QuickHashStringIntHash::get() example

<?php
$hash = new QuickHashStringIntHash( 8 );
var_dump( $hash->get( "one" ) );

var_dump( $hash->add( "two", 2 ) );
var_dump( $hash->get( "two" ) );
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)
int(2)


Returns the number of elements in the hash

  • « QuickHashStringIntHash::get
  • QuickHashStringIntHash::loadFromFile »
  • PHP Manual
  • QuickHashStringIntHash
  • Returns the number of elements in the hash

QuickHashStringIntHash::getSize

(Não há informação de versão disponível, talvez apenas no Git)

QuickHashStringIntHash::getSize — Returns the number of elements in the hash

Descrição

public QuickHashStringIntHash::getSize ( ) : int

Returns the number of elements in the hash.

Parâmetros

key

The key of the entry to add.

Valor Retornado

The number of elements in the hash.

Exemplos

Exemplo #1 QuickHashStringIntHash::getSize() example

<?php
$hash = new QuickHashStringIntHash( 8 );
var_dump( $hash->add( "two", 2 ) );
var_dump( $hash->add( "three", 5 ) );
var_dump( $hash->getSize() );
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
int(2)


This factory method creates a hash from a file

  • « QuickHashStringIntHash::getSize
  • QuickHashStringIntHash::loadFromString »
  • PHP Manual
  • QuickHashStringIntHash
  • This factory method creates a hash from a file

QuickHashStringIntHash::loadFromFile

(Não há informação de versão disponível, talvez apenas no Git)

QuickHashStringIntHash::loadFromFile — This factory method creates a hash from a file

Descrição

public static QuickHashStringIntHash::loadFromFile ( string $filename , int $size = 0 , int $options = 0 ) : QuickHashStringIntHash

This factory method creates a new hash from a definition file on disk. The file format consists of a signature 'QH\0x21\0', the number of elements as a 32 bit signed integer in system Endianness, an unsigned 32 bit integer containing the number of element data to follow in characters. This element data contains all the strings. The follows another signed 32 bit integer containing the number of bucket lists. After the header and the strings, the elements follow. They are ordered by bucket list so that the keys don't have to be hashed in order to restore the hash. For each bucket list, the following information is stored (all as 32 bit integers): the bucket list index, the number of elements in that list, and then in pairs of two unsigned 32 bit integers the elements, where the first one is the index into the string list containing the keys, and the second one the value. An example could be:

Exemplo #1 QuickHash StringIntHash file format

00000000  51 48 21 00 02 00 00 00  09 00 00 00 40 00 00 00  |QH!.........@...|
00000010  4f 4e 45 00 4e 49 4e 45  00 07 00 00 00 01 00 00  |ONE.NINE........|
00000020  00 00 00 00 00 01 00 00  00 2f 00 00 00 01 00 00  |........./......|
00000030  00 04 00 00 00 03 00 00  00                       |.........|
00000039

Exemplo #2 QuickHash IntHash file format

header signature ('QH'; key type: 2; value type: 1; filler: \0x00)
00000000  51 48 21 00

number of elements:
00000004  02 00 00 00

length of string values (9 characters):
00000008  09 00 00 00

number of hash bucket lists (this is configured for hashes as argument to the
constructor normally, 64 in this case):
0000000C  40 00 00 00

string values:
00000010  4f 4e 45 00 4e 49 4e 45  00

bucket lists:
  bucket list 1 (with key 7, and 1 element):
    header:
    07 00 00 00 01 00 00 00
    elements (key index: 0 ('ONE'), value = 0):
    00 00 00 00 01 00 00 00
  bucket list 2 (with key 0x2f, and 1 element):
    header:
    2f 00 00 00 01 00 00 00
    elements (key index: 4 ('NINE'), value = 3):
    04 00 00 00 03 00 00 00

Parâmetros

filename

The filename of the file to read the hash from.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is read from the file format (unlike the QuickHashIntHash and QuickHashIntStringHash classes, where it is automatically calculated from the number of entries in the hash.)

Valor Retornado

Returns a new QuickHashStringIntHash.

Exemplos

Exemplo #3 QuickHashStringIntHash::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.hash.string";
$hash = QuickHashStringIntHash::loadFromFile(
    $file,
    QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    $i = 48712 + $key * 1631;
    $k = base_convert( $i, 10, 36 );
    echo $k, ' => ', $hash->get( $k ), "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

11l4 => 48712
12uf => 50343
143q => 51974
15d1 => 53605
16mc => 55236
17vn => 56867
194y => 58498
1ae9 => 60129
1bnk => 61760
1cwv => 63391
1e66 => 65022
1ffh => 66653
1gos => 68284
1hy3 => 69915
1j7e => 71546
1kgp => 73177


This factory method creates a hash from a string

  • « QuickHashStringIntHash::loadFromFile
  • QuickHashStringIntHash::saveToFile »
  • PHP Manual
  • QuickHashStringIntHash
  • This factory method creates a hash from a string

QuickHashStringIntHash::loadFromString

(Não há informação de versão disponível, talvez apenas no Git)

QuickHashStringIntHash::loadFromString — This factory method creates a hash from a string

Descrição

public static QuickHashStringIntHash::loadFromString ( string $contents , int $size = 0 , int $options = 0 ) : QuickHashStringIntHash

This factory method creates a new hash from a definition in a string. The format is the same as the one used in "loadFromFile".

Parâmetros

contents

The string containing a serialized format of the hash.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Valor Retornado

Returns a new QuickHashStringIntHash.

Exemplos

Exemplo #1 QuickHashStringIntHash::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.hash.string" );
$hash = QuickHashStringIntHash::loadFromString(
    $contents,
    QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    $i = 48712 + $key * 1631;
    $k = base_convert( $i, 10, 36 );
    echo $k, ' => ', $hash->get( $k ), "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

11l4 => 48712
12uf => 50343
143q => 51974
15d1 => 53605
16mc => 55236
17vn => 56867
194y => 58498
1ae9 => 60129
1bnk => 61760
1cwv => 63391
1e66 => 65022
1ffh => 66653
1gos => 68284
1hy3 => 69915
1j7e => 71546
1kgp => 73177


This method stores an in-memory hash to disk

  • « QuickHashStringIntHash::loadFromString
  • QuickHashStringIntHash::saveToString »
  • PHP Manual
  • QuickHashStringIntHash
  • This method stores an in-memory hash to disk

QuickHashStringIntHash::saveToFile

(Não há informação de versão disponível, talvez apenas no Git)

QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk

Descrição

public QuickHashStringIntHash::saveToFile ( string $filename ) : void

This method stores an existing hash to a file on disk, in the same format that loadFromFile() can read.

Parâmetros

filename

The filename of the file to store the hash in.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 QuickHashStringIntHash::saveToFile() example

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->add( "fourty three", 42 ) );
var_dump( $hash->add( "fifty two", 52 ) );

$hash->saveToFile( '/tmp/test.hash.string' );
?>


This method returns a serialized version of the hash

  • « QuickHashStringIntHash::saveToFile
  • QuickHashStringIntHash::set »
  • PHP Manual
  • QuickHashStringIntHash
  • This method returns a serialized version of the hash

QuickHashStringIntHash::saveToString

(Não há informação de versão disponível, talvez apenas no Git)

QuickHashStringIntHash::saveToString — This method returns a serialized version of the hash

Descrição

public QuickHashStringIntHash::saveToString ( ) : string

This method returns a serialized version of the hash in the same format that loadFromString() can read.

Valor Retornado

This method returns a serialized format of an existing hash, in the same format that loadFromString() can read.

Exemplos

Exemplo #1 QuickHashStringIntHash::saveToString() example

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->add( "fourty three", 42 ) );
var_dump( $hash->add( "fifty two", 52 ) );

var_dump( $hash->saveToString() );
?>


This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

  • « QuickHashStringIntHash::saveToString
  • QuickHashStringIntHash::update »
  • PHP Manual
  • QuickHashStringIntHash
  • This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

QuickHashStringIntHash::set

(Não há informação de versão disponível, talvez apenas no Git)

QuickHashStringIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

Descrição

public QuickHashStringIntHash::set ( string $key , int $value ) : int

This method tries to update an entry with a new value. In case the entry did not yet exist, it will instead add a new entry. It returns whether the entry was added or update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashStringIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Parâmetros

key

The key of the entry to add or update.

value

The value of the entry to add. If a non-string is passed, it will be converted to a string automatically if possible.

Valor Retornado

2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an error.

Exemplos

Exemplo #1 QuickHashStringIntHash::set() example

<?php
$hash = new QuickHashStringIntHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) );
var_dump( $hash->set( "fourty six thousand six hundred ninety two", 16091 ) );
var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) );

echo "Set->Update\n";
var_dump( $hash->set( "fourty six thousand six hundred ninety two", 29906 ) );
var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) );
?>

O exemplo acima irá imprimir algo similar à:

Set->Add
bool(false)
int(2)
int(16091)
Set->Update
int(1)
int(29906)


This method updates an entry in the hash with a new value

  • « QuickHashStringIntHash::set
  • QuickHashIntStringHash »
  • PHP Manual
  • QuickHashStringIntHash
  • This method updates an entry in the hash with a new value

QuickHashStringIntHash::update

(Não há informação de versão disponível, talvez apenas no Git)

QuickHashStringIntHash::update — This method updates an entry in the hash with a new value

Descrição

public QuickHashStringIntHash::update ( string $key , int $value ) : bool

This method updates an entry with a new value, and returns whether the entry was update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashStringIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Parâmetros

key

The key of the entry to add.

value

The new value for the entry. If a non-string is passed, it will be converted to a string automatically if possible.

Valor Retornado

true when the entry was found and updated, and false if the entry was not part of the hash already.

Exemplos

Exemplo #1 QuickHashStringIntHash::update() example

<?php
$hash = new QuickHashStringIntHash( 1024 );

$hash->add( 'six', 314159265 );
$hash->add( "a lot", 314159265 );

echo $hash->get( 'six' ), "\n";
echo $hash->get( 'a lot' ), "\n";

var_dump( $hash->update( 'a lot', 314159266 ) );
var_dump( $hash->update( "a lot plus one", 314159999 ) );

echo $hash->get( 'six' ), "\n";
echo $hash->get( 'a lot' ), "\n";
?>

O exemplo acima irá imprimir algo similar à:

314159265
314159265
bool(true)
bool(false)
314159265
314159266


The QuickHashIntStringHash class

(PECL quickhash >= Unknown)

Introdução

This class wraps around a hash containing integer numbers, where the values are strings. Hashes are also available as implementation of the ArrayAccess interface.

Hashes can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Sinopse da classe

QuickHashIntStringHash {
/* Constants */
const int CHECK_FOR_DUPES = 1 ;
const int DO_NOT_USE_ZEND_ALLOC = 2 ;
const int HASHER_NO_HASH = 256 ;
const int HASHER_JENKINS1 = 512 ;
const int HASHER_JENKINS2 = 1024 ;
/* Methods */
public add ( int $key , string $value ) : bool
public __construct ( int $size , int $options = 0 )
public delete ( int $key ) : bool
public exists ( int $key ) : bool
public get ( int $key ) : mixed
public getSize ( ) : int
public static loadFromFile ( string $filename , int $size = 0 , int $options = 0 ) : QuickHashIntStringHash
public static loadFromString ( string $contents , int $size = 0 , int $options = 0 ) : QuickHashIntStringHash
public saveToFile ( string $filename ) : void
public saveToString ( ) : string
public set ( int $key , string $value ) : int
public update ( int $key , string $value ) : bool
}

Constantes pré-definidas

QuickHashIntStringHash::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either add() or loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

QuickHashIntStringHash::HASHER_NO_HASH

Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This is not faster than normal hashing, and gives more collisions.

QuickHashIntStringHash::HASHER_JENKINS1

This is the default hashing function to turn the integer hashes into bucket list indexes.

QuickHashIntStringHash::HASHER_JENKINS2

Selects a variant hashing algorithm.

Índice

  • QuickHashIntStringHash::add — This method adds a new entry to the hash
  • QuickHashIntStringHash::__construct — Creates a new QuickHashIntStringHash object
  • QuickHashIntStringHash::delete — This method deletes am entry from the hash
  • QuickHashIntStringHash::exists — This method checks whether a key is part of the hash
  • QuickHashIntStringHash::get — This method retrieves a value from the hash by its key
  • QuickHashIntStringHash::getSize — Returns the number of elements in the hash
  • QuickHashIntStringHash::loadFromFile — This factory method creates a hash from a file
  • QuickHashIntStringHash::loadFromString — This factory method creates a hash from a string
  • QuickHashIntStringHash::saveToFile — This method stores an in-memory hash to disk
  • QuickHashIntStringHash::saveToString — This method returns a serialized version of the hash
  • QuickHashIntStringHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
  • QuickHashIntStringHash::update — This method updates an entry in the hash with a new value


This method adds a new entry to the hash

  • « QuickHashIntStringHash
  • QuickHashIntStringHash::__construct »
  • PHP Manual
  • QuickHashIntStringHash
  • This method adds a new entry to the hash

QuickHashIntStringHash::add

(PECL quickhash >= Unknown)

QuickHashIntStringHash::add — This method adds a new entry to the hash

Descrição

public QuickHashIntStringHash::add ( int $key , string $value ) : bool

This method adds a new entry to the hash, and returns whether the entry was added. Entries are by default always added unless QuickHashIntStringHash::CHECK_FOR_DUPES has been passed when the hash was created.

Parâmetros

key

The key of the entry to add.

value

The value of the entry to add. If a non-string is passed, it will be converted to a string automatically if possible.

Valor Retornado

true when the entry was added, and false if the entry was not added.

Exemplos

Exemplo #1 QuickHashIntStringHash::add() example

<?php
echo "without dupe checking\n";
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "twenty two" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "twelve" ) );

echo "\nwith dupe checking\n";
$hash = new QuickHashIntStringHash( 1024, QuickHashIntStringHash::CHECK_FOR_DUPES );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "seventy eight" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "nine" ) );
?>

O exemplo acima irá imprimir algo similar à:

without dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
string(10) "twenty two"
bool(true)

with dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
string(13) "seventy eight"
bool(false)


Creates a new QuickHashIntStringHash object

  • « QuickHashIntStringHash::add
  • QuickHashIntStringHash::delete »
  • PHP Manual
  • QuickHashIntStringHash
  • Creates a new QuickHashIntStringHash object

QuickHashIntStringHash::__construct

(PECL quickhash >= Unknown)

QuickHashIntStringHash::__construct — Creates a new QuickHashIntStringHash object

Descrição

public QuickHashIntStringHash::__construct ( int $size , int $options = 0 )

This constructor creates a new QuickHashIntStringHash. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Parâmetros

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 64 to 4194304.

options

The options that you can pass in are: QuickHashIntStringHash::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the hash; QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager as well as one of QuickHashIntStringHash::HASHER_NO_HASH, QuickHashIntStringHash::HASHER_JENKINS1 or QuickHashIntStringHash::HASHER_JENKINS2. These last three configure which hashing algorithm to use. All options can be combined using bitmasks.

Valor Retornado

Returns a new QuickHashIntStringHash object.

Exemplos

Exemplo #1 QuickHashIntStringHash::__construct() example

<?php
var_dump( new QuickHashIntStringHash( 1024 ) );
var_dump( new QuickHashIntStringHash( 1024, QuickHashIntStringHash::CHECK_FOR_DUPES ) );
var_dump(
    new QuickHashIntStringHash(
        1024,
        QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC | QuickHashIntStringHash::HASHER_JENKINS2
    )
);
?>


This method deletes am entry from the hash

  • « QuickHashIntStringHash::__construct
  • QuickHashIntStringHash::exists »
  • PHP Manual
  • QuickHashIntStringHash
  • This method deletes am entry from the hash

QuickHashIntStringHash::delete

(PECL quickhash >= Unknown)

QuickHashIntStringHash::delete — This method deletes am entry from the hash

Descrição

public QuickHashIntStringHash::delete ( int $key ) : bool

This method deletes an entry from the hash, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the hash itself is freed.

Elements can not be deleted when the hash is used in an iterator. The method will not throw an exception, but simply return false like would happen with any other deletion failure.

Parâmetros

key

The key of the entry to delete.

Valor Retornado

true when the entry was deleted, and false if the entry was not deleted.

Exemplos

Exemplo #1 QuickHashIntStringHash::delete() example

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "five" ) );
var_dump( $hash->delete( 4 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->delete( 4 ) );
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)


This method checks whether a key is part of the hash

  • « QuickHashIntStringHash::delete
  • QuickHashIntStringHash::get »
  • PHP Manual
  • QuickHashIntStringHash
  • This method checks whether a key is part of the hash

QuickHashIntStringHash::exists

(PECL quickhash >= Unknown)

QuickHashIntStringHash::exists — This method checks whether a key is part of the hash

Descrição

public QuickHashIntStringHash::exists ( int $key ) : bool

This method checks whether an entry with the provided key exists in the hash.

Parâmetros

key

The key of the entry to check for whether it exists in the hash.

Valor Retornado

Returns true when the entry was found, or false when the entry is not found.


This method retrieves a value from the hash by its key

  • « QuickHashIntStringHash::exists
  • QuickHashIntStringHash::getSize »
  • PHP Manual
  • QuickHashIntStringHash
  • This method retrieves a value from the hash by its key

QuickHashIntStringHash::get

(PECL quickhash >= Unknown)

QuickHashIntStringHash::get — This method retrieves a value from the hash by its key

Descrição

public QuickHashIntStringHash::get ( int $key ) : mixed

This method retrieves a value from the hash by its key.

Parâmetros

key

The key of the entry to add.

Valor Retornado

The value if the key exists, or null if the key wasn't part of the hash.

Exemplos

Exemplo #1 QuickHashIntStringHash::get() example

<?php
$hash = new QuickHashIntStringHash( 8 );
var_dump( $hash->get( 1 ) );

var_dump( $hash->add( 2, "two" ) );
var_dump( $hash->get( 2 ) );

var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->get( 3 ) );
?>

O exemplo acima irá imprimir algo similar à:

bool(false)
bool(true)
string(3) "two"
bool(true)
string(1) "5"


Returns the number of elements in the hash

  • « QuickHashIntStringHash::get
  • QuickHashIntStringHash::loadFromFile »
  • PHP Manual
  • QuickHashIntStringHash
  • Returns the number of elements in the hash

QuickHashIntStringHash::getSize

(PECL quickhash >= Unknown)

QuickHashIntStringHash::getSize — Returns the number of elements in the hash

Descrição

public QuickHashIntStringHash::getSize ( ) : int

Returns the number of elements in the hash.

Valor Retornado

The number of elements in the hash.

Exemplos

Exemplo #1 QuickHashIntStringHash::getSize() example

<?php
$hash = new QuickHashIntStringHash( 8 );
var_dump( $hash->add( 2, "two" ) );
var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->getSize() );
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
int(2)


This factory method creates a hash from a file

  • « QuickHashIntStringHash::getSize
  • QuickHashIntStringHash::loadFromString »
  • PHP Manual
  • QuickHashIntStringHash
  • This factory method creates a hash from a file

QuickHashIntStringHash::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntStringHash::loadFromFile — This factory method creates a hash from a file

Descrição

public static QuickHashIntStringHash::loadFromFile ( string $filename , int $size = 0 , int $options = 0 ) : QuickHashIntStringHash

This factory method creates a new hash from a definition file on disk. The file format consists of a signature 'QH\0x12\0', the number of elements as a 32 bit signed integer in system Endianness, an unsigned 32 bit integer containing the number of element data to follow in characters. This element data contains all the strings. After the header and the strings, the elements follow in pairs of two unsigned 32 bit integers where the first one is the key, and the second one the index in the element data string. An example could be:

Exemplo #1 QuickHash IntString file format

00000000  51 48 12 00 02 00 00 00  09 00 00 00 4f 4e 45 00  |QH..........ONE.|
00000010  4e 49 4e 45 00 01 00 00  00 00 00 00 00 03 00 00  |NINE............|
00000020  00 04 00 00 00                                    |.....|
00000025

Exemplo #2 QuickHash IntString file format

header signature ('QH'; key type: 1; value type: 2; filler: \0x00)
00000000  51 48 12 00

number of elements:
00000004  02 00 00 00

length of string values (9 characters):
00000008  09 00 00 00

string values:
0000000C  4f 4e 45 00 4e 49 4e 45  00

data string:
00000015  01 00 00 00 00 00 00 00  03 00 00 00 04 00 00 00

key/value 1 (key = 1, string index = 0 ("ONE")):
01 00 00 00  00 00 00 00

key/value 2 (key = 3, string index = 4 ("NINE")):
03 00 00 00  04 00 00 00

Parâmetros

filename

The filename of the file to read the hash from.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Valor Retornado

Returns a new QuickHashIntStringHash.

Exemplos

Exemplo #3 QuickHashIntStringHash::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.string.hash";
$hash = QuickHashIntStringHash::loadFromFile(
    $file,
    QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $hash->exists( $key ) ? 'set' : 'unset'
    );
}
?>

O exemplo acima irá imprimir algo similar à:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset


This factory method creates a hash from a string

  • « QuickHashIntStringHash::loadFromFile
  • QuickHashIntStringHash::saveToFile »
  • PHP Manual
  • QuickHashIntStringHash
  • This factory method creates a hash from a string

QuickHashIntStringHash::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntStringHash::loadFromString — This factory method creates a hash from a string

Descrição

public static QuickHashIntStringHash::loadFromString ( string $contents , int $size = 0 , int $options = 0 ) : QuickHashIntStringHash

This factory method creates a new hash from a definition in a string. The format is the same as the one used in "loadFromFile".

Parâmetros

contents

The string containing a serialized format of the hash.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Valor Retornado

Returns a new QuickHashIntStringHash.

Exemplos

Exemplo #1 QuickHashIntStringHash::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.hash" );
$hash = QuickHashIntStringHash::loadFromString(
    $contents,
    QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $hash->exists( $key ) ? 'set' : 'unset'
    );
}
?>

O exemplo acima irá imprimir algo similar à:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset


This method stores an in-memory hash to disk

  • « QuickHashIntStringHash::loadFromString
  • QuickHashIntStringHash::saveToString »
  • PHP Manual
  • QuickHashIntStringHash
  • This method stores an in-memory hash to disk

QuickHashIntStringHash::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntStringHash::saveToFile — This method stores an in-memory hash to disk

Descrição

public QuickHashIntStringHash::saveToFile ( string $filename ) : void

This method stores an existing hash to a file on disk, in the same format that loadFromFile() can read.

Parâmetros

filename

The filename of the file to store the hash in.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 QuickHashIntStringHash::saveToFile() example

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "fourty three" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "fifty two" ) );

$hash->saveToFile( '/tmp/test.string.hash' );
?>


This method returns a serialized version of the hash

  • « QuickHashIntStringHash::saveToFile
  • QuickHashIntStringHash::set »
  • PHP Manual
  • QuickHashIntStringHash
  • This method returns a serialized version of the hash

QuickHashIntStringHash::saveToString

(PECL quickhash >= Unknown)

QuickHashIntStringHash::saveToString — This method returns a serialized version of the hash

Descrição

public QuickHashIntStringHash::saveToString ( ) : string

This method returns a serialized version of the hash in the same format that loadFromString() can read.

Valor Retornado

This method returns a string containing a serialized format of the hash. Each element is stored as a four byte value in the Endianness that the current system uses.

Exemplos

Exemplo #1 QuickHashIntStringHash::saveToString() example

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "thirty four" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 5, "fifty five" ) );

var_dump( $hash->saveToString() );
?>


This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

  • « QuickHashIntStringHash::saveToString
  • QuickHashIntStringHash::update »
  • PHP Manual
  • QuickHashIntStringHash
  • This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

QuickHashIntStringHash::set

(PECL quickhash >= Unknown)

QuickHashIntStringHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

Descrição

public QuickHashIntStringHash::set ( int $key , string $value ) : int

This method tries to update an entry with a new value. In case the entry did not yet exist, it will instead add a new entry. It returns whether the entry was added or update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntStringHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Parâmetros

key

The key of the entry to add or update.

value

The value of the entry to add. If a non-string is passed, it will be converted to a string automatically if possible.

Valor Retornado

2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an error.

Exemplos

Exemplo #1 QuickHashIntStringHash::set() example

<?php
$hash = new QuickHashIntStringHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( 46692 ) );
var_dump( $hash->set( 46692, "sixteen thousand ninety one" ) );
var_dump( $hash->get( 46692 ) );

echo "Set->Update\n";
var_dump( $hash->set( 46692, "twenty nine thousand nine hundred six" ) );
var_dump( $hash->get( 46692 ) );
?>

O exemplo acima irá imprimir algo similar à:

Set->Add
bool(false)
int(2)
string(27) "sixteen thousand ninety one"
Set->Update
int(1)
string(37) "twenty nine thousand nine hundred six"


This method updates an entry in the hash with a new value

  • « QuickHashIntStringHash::set
  • Reflexão »
  • PHP Manual
  • QuickHashIntStringHash
  • This method updates an entry in the hash with a new value

QuickHashIntStringHash::update

(PECL quickhash >= Unknown)

QuickHashIntStringHash::update — This method updates an entry in the hash with a new value

Descrição

public QuickHashIntStringHash::update ( int $key , string $value ) : bool

This method updates an entry with a new value, and returns whether the entry was update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntStringHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Parâmetros

key

The key of the entry to add.

value

The new value for the entry. If a non-string is passed, it will be converted to a string automatically if possible.

Valor Retornado

true when the entry was found and updated, and false if the entry was not part of the hash already.

Exemplos

Exemplo #1 QuickHashIntStringHash::update() example

<?php
$hash->add( 161803398, "--" );
$hash->add( 314159265, "a lot" );

echo $hash->get( 161803398 ), "\n";
echo $hash->get( 314159265 ), "\n";

var_dump( $hash->update( 314159265, "a lot plus one" ) );
var_dump( $hash->update( 314159999, "a lot plus one" ) );

echo $hash->get( 161803398 ), "\n";
echo $hash->get( 314159265 ), "\n";
?>

O exemplo acima irá imprimir algo similar à:

--
a lot
bool(true)
bool(false)
--
a lot plus one


Reflexão

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Extendendo
  • Reflection — Classe Reflection
    • Reflection::export — Exports
    • Reflection::getModifierNames — Gets modifier names
  • ReflectionClass — Classe ReflectionClass
    • ReflectionClass::__construct — Constructs a ReflectionClass
    • ReflectionClass::export — Exports a class
    • ReflectionClass::getConstant — Gets defined constant
    • ReflectionClass::getConstants — Gets constants
    • ReflectionClass::getConstructor — Gets the constructor of the class
    • ReflectionClass::getDefaultProperties — Gets default properties
    • ReflectionClass::getDocComment — Gets doc comments
    • ReflectionClass::getEndLine — Gets end line
    • ReflectionClass::getExtension — Gets a ReflectionExtension object for the extension which defined the class
    • ReflectionClass::getExtensionName — Gets the name of the extension which defined the class
    • ReflectionClass::getFileName — Gets the filename of the file in which the class has been defined
    • ReflectionClass::getInterfaceNames — Gets the interface names
    • ReflectionClass::getInterfaces — Gets the interfaces
    • ReflectionClass::getMethod — Gets a ReflectionMethod for a class method
    • ReflectionClass::getMethods — Gets an array of methods
    • ReflectionClass::getModifiers — Gets the class modifiers
    • ReflectionClass::getName — Gets class name
    • ReflectionClass::getNamespaceName — Gets namespace name
    • ReflectionClass::getParentClass — Gets parent class
    • ReflectionClass::getProperties — Gets properties
    • ReflectionClass::getProperty — Gets a ReflectionProperty for a class's property
    • ReflectionClass::getReflectionConstant — Gets a ReflectionClassConstant for a class's constant
    • ReflectionClass::getReflectionConstants — Gets class constants
    • ReflectionClass::getShortName — Gets short name
    • ReflectionClass::getStartLine — Gets starting line number
    • ReflectionClass::getStaticProperties — Gets static properties
    • ReflectionClass::getStaticPropertyValue — Gets static property value
    • ReflectionClass::getTraitAliases — Returns an array of trait aliases
    • ReflectionClass::getTraitNames — Returns an array of names of traits used by this class
    • ReflectionClass::getTraits — Returns an array of traits used by this class
    • ReflectionClass::hasConstant — Checks if constant is defined
    • ReflectionClass::hasMethod — Checks if method is defined
    • ReflectionClass::hasProperty — Checks if property is defined
    • ReflectionClass::implementsInterface — Implements interface
    • ReflectionClass::inNamespace — Checks if in namespace
    • ReflectionClass::isAbstract — Checks if class is abstract
    • ReflectionClass::isAnonymous — Checks if class is anonymous
    • ReflectionClass::isCloneable — Returns whether this class is cloneable
    • ReflectionClass::isFinal — Checks if class is final
    • ReflectionClass::isInstance — Checks class for instance
    • ReflectionClass::isInstantiable — Checks if the class is instantiable
    • ReflectionClass::isInterface — Checks if the class is an interface
    • ReflectionClass::isInternal — Checks if class is defined internally by an extension, or the core
    • ReflectionClass::isIterable — Check whether this class is iterable
    • ReflectionClass::isIterateable — Sinônimo de ReflectionClass::isIterable
    • ReflectionClass::isSubclassOf — Checks if a subclass
    • ReflectionClass::isTrait — Returns whether this is a trait
    • ReflectionClass::isUserDefined — Checks if user defined
    • ReflectionClass::newInstance — Creates a new class instance from given arguments
    • ReflectionClass::newInstanceArgs — Creates a new class instance from given arguments
    • ReflectionClass::newInstanceWithoutConstructor — Creates a new class instance without invoking the constructor
    • ReflectionClass::setStaticPropertyValue — Sets static property value
    • ReflectionClass::__toString — Returns the string representation of the ReflectionClass object
  • ReflectionClassConstant — The ReflectionClassConstant class
    • ReflectionClassConstant::__construct — Constructs a ReflectionClassConstant
    • ReflectionClassConstant::export — Export
    • ReflectionClassConstant::getDeclaringClass — Gets declaring class
    • ReflectionClassConstant::getDocComment — Gets doc comments
    • ReflectionClassConstant::getModifiers — Gets the class constant modifiers
    • ReflectionClassConstant::getName — Get name of the constant
    • ReflectionClassConstant::getValue — Gets value
    • ReflectionClassConstant::isPrivate — Checks if class constant is private
    • ReflectionClassConstant::isProtected — Checks if class constant is protected
    • ReflectionClassConstant::isPublic — Checks if class constant is public
    • ReflectionClassConstant::__toString — Returns the string representation of the ReflectionClassConstant object
  • ReflectionZendExtension — The ReflectionZendExtension class
    • ReflectionZendExtension::__clone — Clone handler
    • ReflectionZendExtension::__construct — Constructor
    • ReflectionZendExtension::export — Export
    • ReflectionZendExtension::getAuthor — Gets author
    • ReflectionZendExtension::getCopyright — Gets copyright
    • ReflectionZendExtension::getName — Gets name
    • ReflectionZendExtension::getURL — Gets URL
    • ReflectionZendExtension::getVersion — Gets version
    • ReflectionZendExtension::__toString — To string handler
  • ReflectionExtension — Classe ReflectionExtension
    • ReflectionExtension::__clone — Clones
    • ReflectionExtension::__construct — Constructs a ReflectionExtension
    • ReflectionExtension::export — Export
    • ReflectionExtension::getClasses — Gets classes
    • ReflectionExtension::getClassNames — Gets class names
    • ReflectionExtension::getConstants — Gets constants
    • ReflectionExtension::getDependencies — Gets dependencies
    • ReflectionExtension::getFunctions — Gets extension functions
    • ReflectionExtension::getINIEntries — Gets extension ini entries
    • ReflectionExtension::getName — Gets extension name
    • ReflectionExtension::getVersion — Gets extension version
    • ReflectionExtension::info — Imprime informações da extensão
    • ReflectionExtension::isPersistent — Returns whether this extension is persistent
    • ReflectionExtension::isTemporary — Returns whether this extension is temporary
    • ReflectionExtension::__toString — To string
  • ReflectionFunction — Classe ReflectionFunction
    • ReflectionFunction::__construct — Constructs a ReflectionFunction object
    • ReflectionFunction::export — Exports function
    • ReflectionFunction::getClosure — Returns a dynamically created closure for the function
    • ReflectionFunction::invoke — Invokes function
    • ReflectionFunction::invokeArgs — Invokes function args
    • ReflectionFunction::isDisabled — Checks if function is disabled
    • ReflectionFunction::__toString — To string
  • ReflectionFunctionAbstract — The ReflectionFunctionAbstract class
    • ReflectionFunctionAbstract::__clone — Clones function
    • ReflectionFunctionAbstract::getClosureScopeClass — Returns the scope associated to the closure
    • ReflectionFunctionAbstract::getClosureThis — Returns this pointer bound to closure
    • ReflectionFunctionAbstract::getDocComment — Gets doc comment
    • ReflectionFunctionAbstract::getEndLine — Gets end line number
    • ReflectionFunctionAbstract::getExtension — Gets extension info
    • ReflectionFunctionAbstract::getExtensionName — Gets extension name
    • ReflectionFunctionAbstract::getFileName — Gets file name
    • ReflectionFunctionAbstract::getName — Gets function name
    • ReflectionFunctionAbstract::getNamespaceName — Gets namespace name
    • ReflectionFunctionAbstract::getNumberOfParameters — Gets number of parameters
    • ReflectionFunctionAbstract::getNumberOfRequiredParameters — Gets number of required parameters
    • ReflectionFunctionAbstract::getParameters — Gets parameters
    • ReflectionFunctionAbstract::getReturnType — Gets the specified return type of a function
    • ReflectionFunctionAbstract::getShortName — Gets function short name
    • ReflectionFunctionAbstract::getStartLine — Gets starting line number
    • ReflectionFunctionAbstract::getStaticVariables — Gets static variables
    • ReflectionFunctionAbstract::hasReturnType — Checks if the function has a specified return type
    • ReflectionFunctionAbstract::inNamespace — Checks if function in namespace
    • ReflectionFunctionAbstract::isClosure — Checks if closure
    • ReflectionFunctionAbstract::isDeprecated — Checks if deprecated
    • ReflectionFunctionAbstract::isGenerator — Returns whether this function is a generator
    • ReflectionFunctionAbstract::isInternal — Checks if is internal
    • ReflectionFunctionAbstract::isUserDefined — Checks if user defined
    • ReflectionFunctionAbstract::isVariadic — Checks if the function is variadic
    • ReflectionFunctionAbstract::returnsReference — Checks if returns reference
    • ReflectionFunctionAbstract::__toString — To string
  • ReflectionMethod — The ReflectionMethod class
    • ReflectionMethod::__construct — Constructs a ReflectionMethod
    • ReflectionMethod::export — Export a reflection method
    • ReflectionMethod::getClosure — Returns a dynamically created closure for the method
    • ReflectionMethod::getDeclaringClass — Gets declaring class for the reflected method
    • ReflectionMethod::getModifiers — Gets the method modifiers
    • ReflectionMethod::getPrototype — Gets the method prototype (if there is one)
    • ReflectionMethod::invoke — Invoke
    • ReflectionMethod::invokeArgs — Invoke args
    • ReflectionMethod::isAbstract — Checks if method is abstract
    • ReflectionMethod::isConstructor — Checks if method is a constructor
    • ReflectionMethod::isDestructor — Checks if method is a destructor
    • ReflectionMethod::isFinal — Checks if method is final
    • ReflectionMethod::isPrivate — Checks if method is private
    • ReflectionMethod::isProtected — Checks if method is protected
    • ReflectionMethod::isPublic — Checks if method is public
    • ReflectionMethod::isStatic — Checks if method is static
    • ReflectionMethod::setAccessible — Set method accessibility
    • ReflectionMethod::__toString — Returns the string representation of the Reflection method object
  • ReflectionNamedType — The ReflectionNamedType class
    • ReflectionNamedType::getName — Obtém o texto do tipo sugerido
    • ReflectionNamedType::isBuiltin — Checks if it is a built-in type
  • ReflectionObject — The ReflectionObject class
    • ReflectionObject::__construct — Constructs a ReflectionObject
    • ReflectionObject::export — Export
  • ReflectionParameter — The ReflectionParameter class
    • ReflectionParameter::allowsNull — Checks if null is allowed
    • ReflectionParameter::canBePassedByValue — Returns whether this parameter can be passed by value
    • ReflectionParameter::__clone — Clone
    • ReflectionParameter::__construct — Construct
    • ReflectionParameter::export — Exports
    • ReflectionParameter::getClass — Get the type hinted class
    • ReflectionParameter::getDeclaringClass — Gets declaring class
    • ReflectionParameter::getDeclaringFunction — Gets declaring function
    • ReflectionParameter::getDefaultValue — Gets default parameter value
    • ReflectionParameter::getDefaultValueConstantName — Returns the default value's constant name if default value is constant or null
    • ReflectionParameter::getName — Gets parameter name
    • ReflectionParameter::getPosition — Gets parameter position
    • ReflectionParameter::getType — Gets a parameter's type
    • ReflectionParameter::hasType — Checks if parameter has a type
    • ReflectionParameter::isArray — Checks if parameter expects an array
    • ReflectionParameter::isCallable — Returns whether parameter MUST be callable
    • ReflectionParameter::isDefaultValueAvailable — Checks if a default value is available
    • ReflectionParameter::isDefaultValueConstant — Returns whether the default value of this parameter is a constant
    • ReflectionParameter::isOptional — Checks if optional
    • ReflectionParameter::isPassedByReference — Checks if passed by reference
    • ReflectionParameter::isVariadic — Checks if the parameter is variadic
    • ReflectionParameter::__toString — To string
  • ReflectionProperty — The ReflectionProperty class
    • ReflectionProperty::__clone — Clone
    • ReflectionProperty::__construct — Construct a ReflectionProperty object
    • ReflectionProperty::export — Export
    • ReflectionProperty::getDeclaringClass — Gets declaring class
    • ReflectionProperty::getDefaultValue — Returns the default value declared for a property
    • ReflectionProperty::getDocComment — Gets the property doc comment
    • ReflectionProperty::getModifiers — Gets the property modifiers
    • ReflectionProperty::getName — Gets property name
    • ReflectionProperty::getType — Gets a property's type
    • ReflectionProperty::getValue — Gets value
    • ReflectionProperty::hasDefaultValue — Checks if property has a default value declared
    • ReflectionProperty::hasType — Checks if property has a type
    • ReflectionProperty::isDefault — Checks if property is a default property
    • ReflectionProperty::isInitialized — Checks whether a property is initialized
    • ReflectionProperty::isPrivate — Checks if property is private
    • ReflectionProperty::isProtected — Checks if property is protected
    • ReflectionProperty::isPublic — Checks if property is public
    • ReflectionProperty::isStatic — Checks if property is static
    • ReflectionProperty::setAccessible — Set property accessibility
    • ReflectionProperty::setValue — Set property value
    • ReflectionProperty::__toString — To string
  • ReflectionType — The ReflectionType class
    • ReflectionType::allowsNull — Checks if null is allowed
    • ReflectionType::__toString — To string
  • ReflectionUnionType — The ReflectionUnionType class
    • ReflectionUnionType::getTypes — Returns the types included in the union type
  • ReflectionGenerator — The ReflectionGenerator class
    • ReflectionGenerator::__construct — Constructs a ReflectionGenerator object
    • ReflectionGenerator::getExecutingFile — Gets the file name of the currently executing generator
    • ReflectionGenerator::getExecutingGenerator — Gets the executing Generator object
    • ReflectionGenerator::getExecutingLine — Gets the currently executing line of the generator
    • ReflectionGenerator::getFunction — Gets the function name of the generator
    • ReflectionGenerator::getThis — Gets the $this value of the generator
    • ReflectionGenerator::getTrace — Gets the trace of the executing generator
  • ReflectionReference — The ReflectionReference class
    • ReflectionReference::fromArrayElement — Create a ReflectionReference from an array element
    • ReflectionReference::getId — Get unique ID of a reference
  • Reflector — The Reflector interface
    • Reflector::export — Exports
    • Reflector::__toString — To string
  • ReflectionException — Classe ReflectionException


Introdução

O PHP 5 vem com uma API completa de reflexão que acrescenta a capacidade de realizar engenharia reversa em classes, interfaces, funções, métodos e extensões. Além disso, a API de reflexão oferece maneiras de recuperar comentários de documentação para as funções, classes e métodos.

Por favor note que algumas partes da API está faltando o código necessário para executar a extensão de reflexão. Por exemplo, uma classe PHP interna pode estar faltando dados de reflexão para as propriedades. Estes são poucos casos que são considerados bugs, não entando, devem ser descobertos e corrigidos.


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • Reflexão
  • Constantes pré-definidas

Constantes pré-definidas

Cada classe descreve suas próprias constantes.


Exemplos

Existem muitos exemplos dentro da documentação Reflexão, tipicamente dentro da documentação do __construct de cada classe.

Exemplo #1 Exemplo de Reflexão no shell (terminal)

$ php --rf strlen
$ php --rc finfo
$ php --re json
$ php --ri dom

O exemplo acima irá imprimir algo similar à:

Function [ <internal:Core> function strlen ] {

  - Parameters [1] {
    Parameter #0 [ <required> $str ]
  }
}

Class [ <internal:fileinfo> class finfo ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [4] {
    Method [ <internal:fileinfo, ctor> public method finfo ] {

      - Parameters [2] {
        Parameter #0 [ <optional> $options ]
        Parameter #1 [ <optional> $arg ]
      }
    }

    Method [ <internal:fileinfo> public method set_flags ] {

      - Parameters [1] {
        Parameter #0 [ <required> $options ]
      }
    }

    Method [ <internal:fileinfo> public method file ] {

      - Parameters [3] {
        Parameter #0 [ <required> $filename ]
        Parameter #1 [ <optional> $options ]
        Parameter #2 [ <optional> $context ]
      }
    }

    Method [ <internal:fileinfo> public method buffer ] {

      - Parameters [3] {
        Parameter #0 [ <required> $string ]
        Parameter #1 [ <optional> $options ]
        Parameter #2 [ <optional> $context ]
      }
    }
  }
}

Extension [ <persistent> extension #23 json version 1.2.1 ] {

  - Constants [10] {
    Constant [ integer JSON_HEX_TAG ] { 1 }
    Constant [ integer JSON_HEX_AMP ] { 2 }
    Constant [ integer JSON_HEX_APOS ] { 4 }
    Constant [ integer JSON_HEX_QUOT ] { 8 }
    Constant [ integer JSON_FORCE_OBJECT ] { 16 }
    Constant [ integer JSON_ERROR_NONE ] { 0 }
    Constant [ integer JSON_ERROR_DEPTH ] { 1 }
    Constant [ integer JSON_ERROR_STATE_MISMATCH ] { 2 }
    Constant [ integer JSON_ERROR_CTRL_CHAR ] { 3 }
    Constant [ integer JSON_ERROR_SYNTAX ] { 4 }
  }

  - Functions {
    Function [ <internal:json> function json_encode ] {

      - Parameters [2] {
        Parameter #0 [ <required> $value ]
        Parameter #1 [ <optional> $options ]
      }
    }
    Function [ <internal:json> function json_decode ] {

      - Parameters [3] {
        Parameter #0 [ <required> $json ]
        Parameter #1 [ <optional> $assoc ]
        Parameter #2 [ <optional> $depth ]
      }
    }
    Function [ <internal:json> function json_last_error ] {

      - Parameters [0] {
      }
    }
  }
}

dom

DOM/XML => enabled
DOM/XML API Version => 20031129
libxml Version => 2.7.3
HTML Support => enabled
XPath Support => enabled
XPointer Support => enabled
Schema Support => enabled
RelaxNG Support => enabled


Extendendo

Caso queira criar versões especializdas das classes nativas(digamos, para criar HTML colorido quando sendo exportado, tendo variáveis membros de fácil acesso ao invés de métodos ou tendo métodos utilitários), você pode extendê-las.

Exemplo #1 Extendendo classe nativas

<?php
/**
 * Minha Classe Reflection_Method
 */
class My_Reflection_Method extends ReflectionMethod
{
    public $visibility = array();

    public function __construct($o, $m)
    {
        parent::__construct($o, $m);
        $this->visibility = Reflection::getModifierNames($this->getModifiers());
    }
}

/**
 * Demonstração classe #1
 *
 */
class T {
    protected function x() {}
}

/**
 * Demonstração classe #2
 *
 */
class U extends T {
    function x() {}
}

// Imprimir as informações
var_dump(new My_Reflection_Method('U', 'x'));
?>

O exemplo acima irá imprimir algo similar à:

object(My_Reflection_Method)#1 (3) {
  ["visibility"]=>
  array(1) {
    [0]=>
    string(6) "public"
  }
  ["name"]=>
  string(1) "x"
  ["class"]=>
  string(1) "U"
}
Cuidado

Se construtor for sobrescrito, lembre-se de chamar o contrutor pai antes de qualquer código que você adicionar. Se isto não for feito irá resultar no seguinte erro: Fatal error: Internal error: Failed to retrieve the reflection object


Classe Reflection

(PHP 5, PHP 7)

Introdução

Classe de reflexão.

Sinopse da classe

Reflection {
/* Métodos */
public static export ( Reflector $reflector , bool $return = false ) : string
public static getModifierNames ( int $modifiers ) : array
}

Índice

  • Reflection::export — Exports
  • Reflection::getModifierNames — Gets modifier names


Exports

  • « Reflection
  • Reflection::getModifierNames »
  • PHP Manual
  • Reflection
  • Exports

Reflection::export

(PHP 5, PHP 7)

Reflection::export — Exports

Aviso

This function has been DEPRECATED as of PHP 7.4.0. Relying on this function is highly discouraged.

Descrição

public static Reflection::export ( Reflector $reflector , bool $return = false ) : string

Exports a reflection.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

reflector

A reflexão para exportar.

return

Passar true irá retornar o export, em vez de emiti-lo. Passar false (padrão) fará o oposto.

Valor Retornado

Se o parâmetro return for true então o export é retornado como uma string, senão retorna null.

Veja Também

  • Reflection::getModifierNames() - Gets modifier names


Gets modifier names

  • « Reflection::export
  • ReflectionClass »
  • PHP Manual
  • Reflection
  • Gets modifier names

Reflection::getModifierNames

(PHP 5, PHP 7)

Reflection::getModifierNames — Gets modifier names

Descrição

public static Reflection::getModifierNames ( int $modifiers ) : array

Gets modifier names.

Parâmetros

modifiers

Bitfield of the modifiers to get.

Valor Retornado

An array of modifier names.

Exemplos

Exemplo #1 Reflection::getModifierNames() example

<?php
class Testing
{
    final public static function foo()
    {
        return;
    }

    public function bar()
    {
        return;
    }
}

$foo = new ReflectionMethod('Testing', 'foo');

echo "Modifiers for method foo():\n";
echo $foo->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($foo->getModifiers())) . "\n";

$bar = new ReflectionMethod('Testing', 'bar');

echo "Modifiers for method bar():\n";
echo $bar->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($bar->getModifiers()));

O exemplo acima irá imprimir algo similar à:

Modifiers for method foo():
261
final public static
Modifiers for method bar():
65792
public

Veja Também

  • ReflectionClass::getModifiers() - Gets the class modifiers
  • ReflectionClassConstant::getModifiers() - Gets the class constant modifiers
  • ReflectionMethod::getModifiers() - Gets the method modifiers
  • ReflectionProperty::getModifiers() - Gets the property modifiers


Classe ReflectionClass

(PHP 5, PHP 7)

Introdução

Classe ReflectionClassreporta informações sobre uma classe.

Sinopse da classe

ReflectionClass implements Reflector {
/* Constantes */
const integer IS_IMPLICIT_ABSTRACT = 16 ;
const integer IS_EXPLICIT_ABSTRACT = 32 ;
const integer IS_FINAL = 64 ;
/* Propriedades */
public $name ;
/* Métodos */
public static export ( mixed $argument , bool $return = false ) : string
public getConstant ( string $name ) : mixed
public getConstants ( int|null $filter = null ) : array
public getConstructor ( ) : ReflectionMethod|null
public getDefaultProperties ( ) : array
public getDocComment ( ) : string|false
public getEndLine ( ) : int|false
public getExtension ( ) : ReflectionExtension|null
public getExtensionName ( ) : string|false
public getFileName ( ) : string|false
public getInterfaceNames ( ) : array
public getInterfaces ( ) : array
public getMethod ( string $name ) : ReflectionMethod
public getMethods ( int|null $filter = null ) : array
public getModifiers ( ) : int
public getName ( ) : string
public getNamespaceName ( ) : string
public getParentClass ( ) : ReflectionClass|false
public getProperties ( int|null $filter = null ) : array
public getProperty ( string $name ) : ReflectionProperty
public getReflectionConstant ( string $name ) : ReflectionClassConstant|false
public getReflectionConstants ( int|null $filter = null ) : array
public getShortName ( ) : string
public getStartLine ( ) : int|false
public getStaticProperties ( ) : array|null
public getStaticPropertyValue ( string $name , mixed &$def_value = ? ) : mixed
public getTraitAliases ( ) : array
public getTraitNames ( ) : array
public getTraits ( ) : array
public hasConstant ( string $name ) : bool
public hasMethod ( string $name ) : bool
public hasProperty ( string $name ) : bool
public implementsInterface ( ReflectionClass|string $interface ) : bool
public inNamespace ( ) : bool
public isAbstract ( ) : bool
public isAnonymous ( ) : bool
public isCloneable ( ) : bool
public isFinal ( ) : bool
public isInstance ( object $object ) : bool
public isInstantiable ( ) : bool
public isInterface ( ) : bool
public isInternal ( ) : bool
public isIterable ( ) : bool
public isSubclassOf ( ReflectionClass|string $class ) : bool
public isTrait ( ) : bool
public isUserDefined ( ) : bool
public newInstance ( mixed ...$args ) : object
public newInstanceArgs ( array $args = [] ) : object
public newInstanceWithoutConstructor ( ) : object
public setStaticPropertyValue ( string $name , mixed $value ) : void
public __toString ( ) : string
}

Propriedades

name

Nome da classe. Apenas leitura, gera ReflectionException na tentativa de escrita.

Constantes pré-definidas

Modificadores ReflectionClass

ReflectionClass::IS_IMPLICIT_ABSTRACT

Indica que a classe é abstrata pois possui alguns métodos abstratos.

ReflectionClass::IS_EXPLICIT_ABSTRACT

Indica que a classe é abstrata por causa da sua definição.

ReflectionClass::IS_FINAL

Indica classefinal.

Índice

  • ReflectionClass::__construct — Constructs a ReflectionClass
  • ReflectionClass::export — Exports a class
  • ReflectionClass::getConstant — Gets defined constant
  • ReflectionClass::getConstants — Gets constants
  • ReflectionClass::getConstructor — Gets the constructor of the class
  • ReflectionClass::getDefaultProperties — Gets default properties
  • ReflectionClass::getDocComment — Gets doc comments
  • ReflectionClass::getEndLine — Gets end line
  • ReflectionClass::getExtension — Gets a ReflectionExtension object for the extension which defined the class
  • ReflectionClass::getExtensionName — Gets the name of the extension which defined the class
  • ReflectionClass::getFileName — Gets the filename of the file in which the class has been defined
  • ReflectionClass::getInterfaceNames — Gets the interface names
  • ReflectionClass::getInterfaces — Gets the interfaces
  • ReflectionClass::getMethod — Gets a ReflectionMethod for a class method
  • ReflectionClass::getMethods — Gets an array of methods
  • ReflectionClass::getModifiers — Gets the class modifiers
  • ReflectionClass::getName — Gets class name
  • ReflectionClass::getNamespaceName — Gets namespace name
  • ReflectionClass::getParentClass — Gets parent class
  • ReflectionClass::getProperties — Gets properties
  • ReflectionClass::getProperty — Gets a ReflectionProperty for a class's property
  • ReflectionClass::getReflectionConstant — Gets a ReflectionClassConstant for a class's constant
  • ReflectionClass::getReflectionConstants — Gets class constants
  • ReflectionClass::getShortName — Gets short name
  • ReflectionClass::getStartLine — Gets starting line number
  • ReflectionClass::getStaticProperties — Gets static properties
  • ReflectionClass::getStaticPropertyValue — Gets static property value
  • ReflectionClass::getTraitAliases — Returns an array of trait aliases
  • ReflectionClass::getTraitNames — Returns an array of names of traits used by this class
  • ReflectionClass::getTraits — Returns an array of traits used by this class
  • ReflectionClass::hasConstant — Checks if constant is defined
  • ReflectionClass::hasMethod — Checks if method is defined
  • ReflectionClass::hasProperty — Checks if property is defined
  • ReflectionClass::implementsInterface — Implements interface
  • ReflectionClass::inNamespace — Checks if in namespace
  • ReflectionClass::isAbstract — Checks if class is abstract
  • ReflectionClass::isAnonymous — Checks if class is anonymous
  • ReflectionClass::isCloneable — Returns whether this class is cloneable
  • ReflectionClass::isFinal — Checks if class is final
  • ReflectionClass::isInstance — Checks class for instance
  • ReflectionClass::isInstantiable — Checks if the class is instantiable
  • ReflectionClass::isInterface — Checks if the class is an interface
  • ReflectionClass::isInternal — Checks if class is defined internally by an extension, or the core
  • ReflectionClass::isIterable — Check whether this class is iterable
  • ReflectionClass::isIterateable — Sinônimo de ReflectionClass::isIterable
  • ReflectionClass::isSubclassOf — Checks if a subclass
  • ReflectionClass::isTrait — Returns whether this is a trait
  • ReflectionClass::isUserDefined — Checks if user defined
  • ReflectionClass::newInstance — Creates a new class instance from given arguments
  • ReflectionClass::newInstanceArgs — Creates a new class instance from given arguments
  • ReflectionClass::newInstanceWithoutConstructor — Creates a new class instance without invoking the constructor
  • ReflectionClass::setStaticPropertyValue — Sets static property value
  • ReflectionClass::__toString — Returns the string representation of the ReflectionClass object


Constructs a ReflectionClass

  • « ReflectionClass
  • ReflectionClass::export »
  • PHP Manual
  • ReflectionClass
  • Constructs a ReflectionClass

ReflectionClass::__construct

(PHP 5, PHP 7)

ReflectionClass::__construct — Constructs a ReflectionClass

Descrição

public ReflectionClass::__construct ( object|string $objectOrClass )

Constructs a new ReflectionClass object.

Parâmetros

objectOrClass

Either a string containing the name of the class to reflect, or an object.

Valor Retornado

Returns constructed ReflectionClass instance.

Erros

Throws ReflectionException if the class to reflect does not exist.

Exemplos

Exemplo #1 Basic usage ReflectionClass

<?php
Reflection::export(new ReflectionClass('Exception'));
?>

O exemplo acima irá imprimir algo similar à:

Class [ <internal:Core> class Exception ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [7] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
    Property [ <default> private $previous ]
  }

  - Methods [10] {
    Method [ <internal:Core> final private method __clone ] {
    }

    Method [ <internal:Core, ctor> public method __construct ] {

      - Parameters [3] {
        Parameter #0 [ <optional> $message ]
        Parameter #1 [ <optional> $code ]
        Parameter #2 [ <optional> $previous ]
      }
    }

    Method [ <internal:Core> final public method getMessage ] {
    }

    Method [ <internal:Core> final public method getCode ] {
    }

    Method [ <internal:Core> final public method getFile ] {
    }

    Method [ <internal:Core> final public method getLine ] {
    }

    Method [ <internal:Core> final public method getTrace ] {
    }

    Method [ <internal:Core> final public method getPrevious ] {
    }

    Method [ <internal:Core> final public method getTraceAsString ] {
    }

    Method [ <internal:Core> public method __toString ] {
    }
  }
}

Veja Também

  • ReflectionObject::__construct() - Constructs a ReflectionObject
  • Constructors


Exports a class

  • « ReflectionClass::__construct
  • ReflectionClass::getConstant »
  • PHP Manual
  • ReflectionClass
  • Exports a class

ReflectionClass::export

(PHP 5, PHP 7)

ReflectionClass::export — Exports a class

Aviso

This function has been DEPRECATED as of PHP 7.4.0. Relying on this function is highly discouraged.

Descrição

public static ReflectionClass::export ( mixed $argument , bool $return = false ) : string

Exports a reflected class.

Parâmetros

argument

A reflexão para exportar.

return

Passar true irá retornar o export, em vez de emiti-lo. Passar false (padrão) fará o oposto.

Valor Retornado

Se o parâmetro return for true então o export é retornado como uma string, senão retorna null.

Exemplos

Exemplo #1 Basic usage of ReflectionClass::export()

<?php
class Apple {
    public $var1;
    public $var2 = 'Orange';

    public function type() {
        return 'Apple';
    }
}
ReflectionClass::export('Apple');
?>

O exemplo acima irá imprimir algo similar à:

Class [ <user> class Apple ] {
  @@ php shell code 1-8

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [2] {
    Property [ <default> public $var1 ]
    Property [ <default> public $var2 ]
  }

  - Methods [1] {
    Method [ <user> public method type ] {
      @@ php shell code 5 - 7
    }
  }
}

Veja Também

  • ReflectionClass::getName() - Gets class name
  • ReflectionClass::__toString() - Returns the string representation of the ReflectionClass object


Gets defined constant

  • « ReflectionClass::export
  • ReflectionClass::getConstants »
  • PHP Manual
  • ReflectionClass
  • Gets defined constant

ReflectionClass::getConstant

(PHP 5, PHP 7)

ReflectionClass::getConstant — Gets defined constant

Descrição

public ReflectionClass::getConstant ( string $name ) : mixed

Gets the defined constant.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

The name of the class constant to get.

Valor Retornado

Value of the constant with the name name. Returns false if the constant was not found in the class.

Exemplos

Exemplo #1 Usage of ReflectionClass::getConstant()

<?php

class Example {
    const C1 = false;
    const C2 = 'I am a constant';
}

$reflection = new ReflectionClass('Example');

var_dump($reflection->getConstant('C1'));
var_dump($reflection->getConstant('C2'));
var_dump($reflection->getConstant('C3'));
?>

O exemplo acima irá imprimir:

bool(false)
string(15) "I am a constant"
bool(false)

Veja Também

  • ReflectionClass::getConstants() - Gets constants


Gets constants

  • « ReflectionClass::getConstant
  • ReflectionClass::getConstructor »
  • PHP Manual
  • ReflectionClass
  • Gets constants

ReflectionClass::getConstants

(PHP 5, PHP 7)

ReflectionClass::getConstants — Gets constants

Descrição

public ReflectionClass::getConstants ( int|null $filter = null ) : array

Gets all defined constants from a class, regardless of their visibility.

Parâmetros

filter

The optional filter, for filtering desired constant visibilities. It's configured using the ReflectionClassConstant constants, and defaults to all constant visibilities.

Valor Retornado

An array of constants, where the keys hold the name and the values the value of the constants.

Changelog

Versão | Descrição
8.0.0 | filter has been added.

Veja Também

  • ReflectionClass::getConstant() - Gets defined constant


Gets the constructor of the class

  • « ReflectionClass::getConstants
  • ReflectionClass::getDefaultProperties »
  • PHP Manual
  • ReflectionClass
  • Gets the constructor of the class

ReflectionClass::getConstructor

(PHP 5, PHP 7)

ReflectionClass::getConstructor — Gets the constructor of the class

Descrição

public ReflectionClass::getConstructor ( ) : ReflectionMethod|null

Gets the constructor of the reflected class.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A ReflectionMethod object reflecting the class' constructor, or null if the class has no constructor.

Exemplos

Exemplo #1 Basic usage of ReflectionClass::getConstructor()

<?php
$class = new ReflectionClass('ReflectionClass');
$constructor = $class->getConstructor();
var_dump($constructor);
?>

O exemplo acima irá imprimir:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(11) "__construct"
  ["class"]=>
  string(15) "ReflectionClass"
}

Veja Também

  • ReflectionClass::getName() - Gets class name


Gets default properties

  • « ReflectionClass::getConstructor
  • ReflectionClass::getDocComment »
  • PHP Manual
  • ReflectionClass
  • Gets default properties

ReflectionClass::getDefaultProperties

(PHP 5, PHP 7)

ReflectionClass::getDefaultProperties — Gets default properties

Descrição

public ReflectionClass::getDefaultProperties ( ) : array

Gets default properties from a class (including inherited properties).

Nota:

This method only works for static properties when used on internal classes. The default value of a static class property can not be tracked when using this method on user defined classes.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of default properties, with the key being the name of the property and the value being the default value of the property or null if the property doesn't have a default value. The function does not distinguish between static and non static properties and does not take visibility modifiers into account.

Exemplos

Exemplo #1 ReflectionClass::getDefaultProperties() example

<?php
class Bar {
    protected $inheritedProperty = 'inheritedDefault';
}

class Foo extends Bar {
    public $property = 'propertyDefault';
    private $privateProperty = 'privatePropertyDefault';
    public static $staticProperty = 'staticProperty';
    public $defaultlessProperty;
}

$reflectionClass = new ReflectionClass('Foo');
var_dump($reflectionClass->getDefaultProperties());
?>

O exemplo acima irá imprimir:

array(5) {
   ["staticProperty"]=>
   string(14) "staticProperty"
   ["property"]=>
   string(15) "propertyDefault"
   ["privateProperty"]=>
   string(22) "privatePropertyDefault"
   ["defaultlessProperty"]=>
   NULL
   ["inheritedProperty"]=>
   string(16) "inheritedDefault"
}

Veja Também

  • ReflectionClass::getProperties() - Gets properties
  • ReflectionClass::getStaticProperties() - Gets static properties
  • ReflectionClass::getProperty() - Gets a ReflectionProperty for a class's property


Gets doc comments

  • « ReflectionClass::getDefaultProperties
  • ReflectionClass::getEndLine »
  • PHP Manual
  • ReflectionClass
  • Gets doc comments

ReflectionClass::getDocComment

(PHP 5, PHP 7)

ReflectionClass::getDocComment — Gets doc comments

Descrição

public ReflectionClass::getDocComment ( ) : string|false

Gets doc comments from a class. Doc comments start with /**. If there are multiple doc comments above the class definition, the one closest to the class will be taken.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The doc comment if it exists, otherwise false.

Exemplos

Exemplo #1 ReflectionClass::getDocComment() example

<?php
/**
* A test class
*
* @param  foo bar
* @return baz
*/
class TestClass { }

$rc = new ReflectionClass('TestClass');
var_dump($rc->getDocComment())
?>

O exemplo acima irá imprimir:

string(55) "/**
* A test class
*
* @param  foo bar
* @return baz
*/"

Veja Também

  • ReflectionClass::getName() - Gets class name


Gets end line

  • « ReflectionClass::getDocComment
  • ReflectionClass::getExtension »
  • PHP Manual
  • ReflectionClass
  • Gets end line

ReflectionClass::getEndLine

(PHP 5, PHP 7)

ReflectionClass::getEndLine — Gets end line

Descrição

public ReflectionClass::getEndLine ( ) : int|false

Gets end line number from a user-defined class definition.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The ending line number of the user defined class, or false if unknown.

Exemplos

Exemplo #1 ReflectionClass::getEndLine() example

<?php
// Test Class
class TestClass { }

$rc = new ReflectionClass('TestClass');

echo $rc->getEndLine();
?>

O exemplo acima irá imprimir:

3

Veja Também

  • ReflectionClass::getStartLine() - Gets starting line number


Gets a ReflectionExtension object for the extension which defined the class

  • « ReflectionClass::getEndLine
  • ReflectionClass::getExtensionName »
  • PHP Manual
  • ReflectionClass
  • Gets a ReflectionExtension object for the extension which defined the class

ReflectionClass::getExtension

(PHP 5, PHP 7)

ReflectionClass::getExtension — Gets a ReflectionExtension object for the extension which defined the class

Descrição

public ReflectionClass::getExtension ( ) : ReflectionExtension|null

Gets a ReflectionExtension object for the extension which defined the class.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A ReflectionExtension object representing the extension which defined the class, or null for user-defined classes.

Exemplos

Exemplo #1 Basic usage of ReflectionClass::getExtension()

<?php
$class = new ReflectionClass('ReflectionClass');
$extension = $class->getExtension();
var_dump($extension);
?>

O exemplo acima irá imprimir:

object(ReflectionExtension)#2 (1) {
  ["name"]=>
  string(10) "Reflection"
}

Veja Também

  • ReflectionClass::getExtensionName() - Gets the name of the extension which defined the class


Gets the name of the extension which defined the class

  • « ReflectionClass::getExtension
  • ReflectionClass::getFileName »
  • PHP Manual
  • ReflectionClass
  • Gets the name of the extension which defined the class

ReflectionClass::getExtensionName

(PHP 5, PHP 7)

ReflectionClass::getExtensionName — Gets the name of the extension which defined the class

Descrição

public ReflectionClass::getExtensionName ( ) : string|false

Gets the name of the extension which defined the class.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The name of the extension which defined the class, or false for user-defined classes.

Exemplos

Exemplo #1 Basic usage of ReflectionClass::getExtensionName()

<?php
$class = new ReflectionClass('ReflectionClass');
$extension = $class->getExtensionName();
var_dump($extension);
?>

O exemplo acima irá imprimir:

string(10) "Reflection"

Veja Também

  • ReflectionClass::getExtension() - Gets a ReflectionExtension object for the extension which defined the class


Gets the filename of the file in which the class has been defined

  • « ReflectionClass::getExtensionName
  • ReflectionClass::getInterfaceNames »
  • PHP Manual
  • ReflectionClass
  • Gets the filename of the file in which the class has been defined

ReflectionClass::getFileName

(PHP 5, PHP 7)

ReflectionClass::getFileName — Gets the filename of the file in which the class has been defined

Descrição

public ReflectionClass::getFileName ( ) : string|false

Gets the filename of the file in which the class has been defined.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the filename of the file in which the class has been defined. If the class is defined in the PHP core or in a PHP extension, false is returned.

Veja Também

  • ReflectionClass::getExtensionName() - Gets the name of the extension which defined the class


Gets the interface names

  • « ReflectionClass::getFileName
  • ReflectionClass::getInterfaces »
  • PHP Manual
  • ReflectionClass
  • Gets the interface names

ReflectionClass::getInterfaceNames

(PHP 5 >= 5.2.0, PHP 7)

ReflectionClass::getInterfaceNames — Gets the interface names

Descrição

public ReflectionClass::getInterfaceNames ( ) : array

Get the interface names.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A numerical array with interface names as the values.

Exemplos

Exemplo #1 ReflectionClass::getInterfaceNames() example

<?php
interface Foo { }

interface Bar { }

class Baz implements Foo, Bar { }

$rc1 = new ReflectionClass("Baz");

print_r($rc1->getInterfaceNames());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [0] => Foo
    [1] => Bar
)

Veja Também

  • ReflectionClass::getInterfaces() - Gets the interfaces


Gets the interfaces

  • « ReflectionClass::getInterfaceNames
  • ReflectionClass::getMethod »
  • PHP Manual
  • ReflectionClass
  • Gets the interfaces

ReflectionClass::getInterfaces

(PHP 5, PHP 7)

ReflectionClass::getInterfaces — Gets the interfaces

Descrição

public ReflectionClass::getInterfaces ( ) : array

Gets the interfaces.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An associative array of interfaces, with keys as interface names and the array values as ReflectionClass objects.

Exemplos

Exemplo #1 ReflectionClass::getInterfaces() example

<?php
interface Foo { }

interface Bar { }

class Baz implements Foo, Bar { }

$rc1 = new ReflectionClass("Baz");

print_r($rc1->getInterfaces());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [Foo] => ReflectionClass Object
        (
            [name] => Foo
        )

    [Bar] => ReflectionClass Object
        (
            [name] => Bar
        )

)

Veja Também

  • ReflectionClass::getInterfaceNames() - Gets the interface names


Gets a ReflectionMethod for a class method

  • « ReflectionClass::getInterfaces
  • ReflectionClass::getMethods »
  • PHP Manual
  • ReflectionClass
  • Gets a ReflectionMethod for a class method

ReflectionClass::getMethod

(PHP 5, PHP 7)

ReflectionClass::getMethod — Gets a ReflectionMethod for a class method

Descrição

public ReflectionClass::getMethod ( string $name ) : ReflectionMethod

Gets a ReflectionMethod for a class method.

Parâmetros

name

The method name to reflect.

Valor Retornado

A ReflectionMethod.

Erros

A ReflectionException if the method does not exist.

Exemplos

Exemplo #1 Basic usage of ReflectionClass::getMethod()

<?php
$class = new ReflectionClass('ReflectionClass');
$method = $class->getMethod('getMethod');
var_dump($method);
?>

O exemplo acima irá imprimir:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(9) "getMethod"
  ["class"]=>
  string(15) "ReflectionClass"
}

Veja Também

  • ReflectionClass::getMethods() - Gets an array of methods


Gets an array of methods

  • « ReflectionClass::getMethod
  • ReflectionClass::getModifiers »
  • PHP Manual
  • ReflectionClass
  • Gets an array of methods

ReflectionClass::getMethods

(PHP 5, PHP 7)

ReflectionClass::getMethods — Gets an array of methods

Descrição

public ReflectionClass::getMethods ( int|null $filter = null ) : array

Gets an array of methods for the class.

Parâmetros

filter

Filter the results to include only methods with certain attributes. Defaults to no filtering.

Any bitwise disjunction of ReflectionMethod::IS_STATIC,
ReflectionMethod::IS_PUBLIC,
ReflectionMethod::IS_PROTECTED,
ReflectionMethod::IS_PRIVATE,
ReflectionMethod::IS_ABSTRACT,
ReflectionMethod::IS_FINAL,
so that all methods with any of the given
attributes will be returned.

Nota: Note that other bitwise operations, for instance ~ will not work as expected. In other words, it is not possible to retrieve all non-static methods, for example.

Valor Retornado

An array of ReflectionMethod objects reflecting each method.

Changelog

Versão | Descrição
7.2.0 | filter is nullable now.

Exemplos

Exemplo #1 Basic usage of ReflectionClass::getMethods()

<?php
class Apple {
    public function firstMethod() { }
    final protected function secondMethod() { }
    private static function thirdMethod() { }
}

$class = new ReflectionClass('Apple');
$methods = $class->getMethods();
var_dump($methods);
?>

O exemplo acima irá imprimir:

array(3) {
  [0]=>
  object(ReflectionMethod)#2 (2) {
    ["name"]=>
    string(11) "firstMethod"
    ["class"]=>
    string(5) "Apple"
  }
  [1]=>
  object(ReflectionMethod)#3 (2) {
    ["name"]=>
    string(12) "secondMethod"
    ["class"]=>
    string(5) "Apple"
  }
  [2]=>
  object(ReflectionMethod)#4 (2) {
    ["name"]=>
    string(11) "thirdMethod"
    ["class"]=>
    string(5) "Apple"
  }
}

Exemplo #2 Filtering results from ReflectionClass::getMethods()

<?php
class Apple {
    public function firstMethod() { }
    final protected function secondMethod() { }
    private static function thirdMethod() { }
}

$class = new ReflectionClass('Apple');
$methods = $class->getMethods(ReflectionMethod::IS_STATIC | ReflectionMethod::IS_FINAL);
var_dump($methods);
?>

O exemplo acima irá imprimir:

array(2) {
  [0]=>
  object(ReflectionMethod)#2 (2) {
    ["name"]=>
    string(12) "secondMethod"
    ["class"]=>
    string(5) "Apple"
  }
  [1]=>
  object(ReflectionMethod)#3 (2) {
    ["name"]=>
    string(11) "thirdMethod"
    ["class"]=>
    string(5) "Apple"
  }
}

Veja Também

  • ReflectionClass::getMethod() - Gets a ReflectionMethod for a class method
  • get_class_methods() - Obtém o nome dos métodos da classe


Gets the class modifiers

  • « ReflectionClass::getMethods
  • ReflectionClass::getName »
  • PHP Manual
  • ReflectionClass
  • Gets the class modifiers

ReflectionClass::getModifiers

(PHP 5, PHP 7)

ReflectionClass::getModifiers — Gets the class modifiers

Descrição

public ReflectionClass::getModifiers ( ) : int

Returns a bitfield of the access modifiers for this class.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns bitmask of modifier constants.

Veja Também

  • ReflectionClass::getProperties() - Gets properties
  • Reflection::getModifierNames() - Gets modifier names


Gets class name

  • « ReflectionClass::getModifiers
  • ReflectionClass::getNamespaceName »
  • PHP Manual
  • ReflectionClass
  • Gets class name

ReflectionClass::getName

(PHP 5, PHP 7)

ReflectionClass::getName — Gets class name

Descrição

public ReflectionClass::getName ( ) : string

Gets the class name.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The class name.

Exemplos

Exemplo #1 ReflectionClass::getName() example

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

O exemplo acima irá imprimir:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Veja Também

  • ReflectionClass::getNamespaceName() - Gets namespace name


Gets namespace name

  • « ReflectionClass::getName
  • ReflectionClass::getParentClass »
  • PHP Manual
  • ReflectionClass
  • Gets namespace name

ReflectionClass::getNamespaceName

(PHP 5 >= 5.3.0, PHP 7)

ReflectionClass::getNamespaceName — Gets namespace name

Descrição

public ReflectionClass::getNamespaceName ( ) : string

Gets the namespace name.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The namespace name.

Exemplos

Exemplo #1 ReflectionClass::getNamespaceName() example

<?php
namespace A\B;

class Foo { }

$class = new \ReflectionClass('stdClass');

var_dump($class->inNamespace());
var_dump($class->getName());
var_dump($class->getNamespaceName());
var_dump($class->getShortName());

$class = new \ReflectionClass('A\\B\\Foo');

var_dump($class->inNamespace());
var_dump($class->getName());
var_dump($class->getNamespaceName());
var_dump($class->getShortName());
?>

O exemplo acima irá imprimir:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Veja Também

  • ReflectionClass::getParentClass() - Gets parent class
  • namespaces


Gets parent class

  • « ReflectionClass::getNamespaceName
  • ReflectionClass::getProperties »
  • PHP Manual
  • ReflectionClass
  • Gets parent class

ReflectionClass::getParentClass

(PHP 5, PHP 7)

ReflectionClass::getParentClass — Gets parent class

Descrição

public ReflectionClass::getParentClass ( ) : ReflectionClass|false

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A ReflectionClass or false if there's no parent.

Veja Também

  • ReflectionClass::__construct() - Constructs a ReflectionClass


Gets properties

  • « ReflectionClass::getParentClass
  • ReflectionClass::getProperty »
  • PHP Manual
  • ReflectionClass
  • Gets properties

ReflectionClass::getProperties

(PHP 5, PHP 7)

ReflectionClass::getProperties — Gets properties

Descrição

public ReflectionClass::getProperties ( int|null $filter = null ) : array

Retrieves reflected properties.

Parâmetros

filter

The optional filter, for filtering desired property types. It's configured using the ReflectionProperty constants, and defaults to all property types.

Valor Retornado

An array of ReflectionProperty objects.

Changelog

Versão | Descrição
7.2.0 | filter is nullable now.

Exemplos

Exemplo #1 ReflectionClass::getProperties() filtering example

This example demonstrates usage of the optional filter parameter, where it essentially skips private properties.

<?php
class Foo {
    public    $foo  = 1;
    protected $bar  = 2;
    private   $baz  = 3;
}

$foo = new Foo();

$reflect = new ReflectionClass($foo);
$props   = $reflect->getProperties(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED);

foreach ($props as $prop) {
    print $prop->getName() . "\n";
}

var_dump($props);

?>

O exemplo acima irá imprimir algo similar à:

foo
bar
array(2) {
  [0]=>
  object(ReflectionProperty)#3 (2) {
    ["name"]=>
    string(3) "foo"
    ["class"]=>
    string(3) "Foo"
  }
  [1]=>
  object(ReflectionProperty)#4 (2) {
    ["name"]=>
    string(3) "bar"
    ["class"]=>
    string(3) "Foo"
  }
}

Veja Também

  • ReflectionClass::getProperty() - Gets a ReflectionProperty for a class's property
  • ReflectionProperty
  • ReflectionProperty modifier constants


Gets a ReflectionProperty for a class's property

  • « ReflectionClass::getProperties
  • ReflectionClass::getReflectionConstant »
  • PHP Manual
  • ReflectionClass
  • Gets a ReflectionProperty for a class's property

ReflectionClass::getProperty

(PHP 5, PHP 7)

ReflectionClass::getProperty — Gets a ReflectionProperty for a class's property

Descrição

public ReflectionClass::getProperty ( string $name ) : ReflectionProperty

Gets a ReflectionProperty for a class's property.

Parâmetros

name

The property name.

Valor Retornado

A ReflectionProperty.

Exemplos

Exemplo #1 Basic usage of ReflectionClass::getProperty()

<?php
$class = new ReflectionClass('ReflectionClass');
$property = $class->getProperty('name');
var_dump($property);
?>

O exemplo acima irá imprimir:

object(ReflectionProperty)#2 (2) {
  ["name"]=>
  string(4) "name"
  ["class"]=>
  string(15) "ReflectionClass"
}

Veja Também

  • ReflectionClass::getProperties() - Gets properties


Gets a ReflectionClassConstant for a class's constant

  • « ReflectionClass::getProperty
  • ReflectionClass::getReflectionConstants »
  • PHP Manual
  • ReflectionClass
  • Gets a ReflectionClassConstant for a class's constant

ReflectionClass::getReflectionConstant

(PHP 7 >= 7.1.0)

ReflectionClass::getReflectionConstant — Gets a ReflectionClassConstant for a class's constant

Descrição

public ReflectionClass::getReflectionConstant ( string $name ) : ReflectionClassConstant|false

Gets a ReflectionClassConstant for a class's property.

Parâmetros

name

The class constant name.

Valor Retornado

A ReflectionClassConstant, ou false em caso de falha.

Veja Também

  • ReflectionClass::getReflectionConstants() - Gets class constants
  • ReflectionClassConstant


Gets class constants

  • « ReflectionClass::getReflectionConstant
  • ReflectionClass::getShortName »
  • PHP Manual
  • ReflectionClass
  • Gets class constants

ReflectionClass::getReflectionConstants

(PHP 7 >= 7.1.0)

ReflectionClass::getReflectionConstants — Gets class constants

Descrição

public ReflectionClass::getReflectionConstants ( int|null $filter = null ) : array

Retrieves reflected constants.

Parâmetros

filter

The optional filter, for filtering desired constant visibilities. It's configured using the ReflectionClassConstant constants, and defaults to all constant visibilities.

Valor Retornado

An array of ReflectionClassConstant objects.

Changelog

Versão | Descrição
8.0.0 | filter has been added.

Exemplos

Exemplo #1 Basic ReflectionClass::getReflectionConstants() example

<?php
class Foo {
    public    const FOO  = 1;
    protected const BAR  = 2;
    private   const BAZ  = 3;
}

$foo = new Foo();

$reflect = new ReflectionClass($foo);
$consts  = $reflect->getReflectionConstants();

foreach ($consts as $const) {
    print $const->getName() . "\n";
}

var_dump($consts);

?>

O exemplo acima irá imprimir algo similar à:

FOO
BAR
BAZ
array(3) {
  [0]=>
  object(ReflectionClassConstant)#3 (2) {
    ["name"]=>
    string(3) "FOO"
    ["class"]=>
    string(3) "Foo"
  }
  [1]=>
  object(ReflectionClassConstant)#4 (2) {
    ["name"]=>
    string(3) "BAR"
    ["class"]=>
    string(3) "Foo"
  }
  [2]=>
  object(ReflectionClassConstant)#5 (2) {
    ["name"]=>
    string(3) "BAZ"
    ["class"]=>
    string(3) "Foo"
  }
}

Veja Também

  • ReflectionClass::getReflectionConstant() - Gets a ReflectionClassConstant for a class's constant
  • ReflectionClassConstant


Gets short name

  • « ReflectionClass::getReflectionConstants
  • ReflectionClass::getStartLine »
  • PHP Manual
  • ReflectionClass
  • Gets short name

ReflectionClass::getShortName

(PHP 5 >= 5.3.0, PHP 7)

ReflectionClass::getShortName — Gets short name

Descrição

public ReflectionClass::getShortName ( ) : string

Gets the short name of the class, the part without the namespace.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The class short name.

Exemplos

Exemplo #1 ReflectionClass::getShortName() example

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

O exemplo acima irá imprimir:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Veja Também

  • ReflectionClass::getName() - Gets class name


Gets starting line number

  • « ReflectionClass::getShortName
  • ReflectionClass::getStaticProperties »
  • PHP Manual
  • ReflectionClass
  • Gets starting line number

ReflectionClass::getStartLine

(PHP 5, PHP 7)

ReflectionClass::getStartLine — Gets starting line number

Descrição

public ReflectionClass::getStartLine ( ) : int|false

Get the starting line number.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The starting line number, as an int, or false if unknown.

Veja Também

  • ReflectionClass::getEndLine() - Gets end line


Gets static properties

  • « ReflectionClass::getStartLine
  • ReflectionClass::getStaticPropertyValue »
  • PHP Manual
  • ReflectionClass
  • Gets static properties

ReflectionClass::getStaticProperties

(PHP 5, PHP 7)

ReflectionClass::getStaticProperties — Gets static properties

Descrição

public ReflectionClass::getStaticProperties ( ) : array|null

Get the static properties.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The static properties, as an array, or null on failure.

Veja Também

  • ReflectionClass::getStaticPropertyValue() - Gets static property value
  • ReflectionClass::setStaticPropertyValue() - Sets static property value


Gets static property value

  • « ReflectionClass::getStaticProperties
  • ReflectionClass::getTraitAliases »
  • PHP Manual
  • ReflectionClass
  • Gets static property value

ReflectionClass::getStaticPropertyValue

(PHP 5 >= 5.1.2, PHP 7)

ReflectionClass::getStaticPropertyValue — Gets static property value

Descrição

public ReflectionClass::getStaticPropertyValue ( string $name , mixed &$def_value = ? ) : mixed

Gets the value of a static property on this class.

Parâmetros

name

The name of the static property for which to return a value.

def_value

A default value to return in case the class does not declare a static property with the given name. If the property does not exist and this argument is omitted, a ReflectionException is thrown.

Valor Retornado

The value of the static property.

Exemplos

Exemplo #1 Basic usage of ReflectionClass::getStaticPropertyValue()

<?php
class Apple {
    public static $color = 'Red';
}

$class = new ReflectionClass('Apple');
var_dump($class->getStaticPropertyValue('color'));
?>

O exemplo acima irá imprimir:

string(3) "Red"

Veja Também

  • ReflectionClass::getStaticProperties() - Gets static properties
  • ReflectionClass::setStaticPropertyValue() - Sets static property value


Returns an array of trait aliases

  • « ReflectionClass::getStaticPropertyValue
  • ReflectionClass::getTraitNames »
  • PHP Manual
  • ReflectionClass
  • Returns an array of trait aliases

ReflectionClass::getTraitAliases

(PHP 5 >= 5.4.0, PHP 7)

ReflectionClass::getTraitAliases — Returns an array of trait aliases

Descrição

public ReflectionClass::getTraitAliases ( ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array with new method names in keys and original names (in the format "TraitName::original") in values. Returns null in case of an error.


Returns an array of names of traits used by this class

  • « ReflectionClass::getTraitAliases
  • ReflectionClass::getTraits »
  • PHP Manual
  • ReflectionClass
  • Returns an array of names of traits used by this class

ReflectionClass::getTraitNames

(PHP 5 >= 5.4.0, PHP 7)

ReflectionClass::getTraitNames — Returns an array of names of traits used by this class

Descrição

public ReflectionClass::getTraitNames ( ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array with trait names in values. Returns null in case of an error.


Returns an array of traits used by this class

  • « ReflectionClass::getTraitNames
  • ReflectionClass::hasConstant »
  • PHP Manual
  • ReflectionClass
  • Returns an array of traits used by this class

ReflectionClass::getTraits

(PHP 5 >= 5.4.0, PHP 7)

ReflectionClass::getTraits — Returns an array of traits used by this class

Descrição

public ReflectionClass::getTraits ( ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array with trait names in keys and instances of trait's ReflectionClass in values. Returns null in case of an error.


Checks if constant is defined

  • « ReflectionClass::getTraits
  • ReflectionClass::hasMethod »
  • PHP Manual
  • ReflectionClass
  • Checks if constant is defined

ReflectionClass::hasConstant

(PHP 5 >= 5.1.2, PHP 7)

ReflectionClass::hasConstant — Checks if constant is defined

Descrição

public ReflectionClass::hasConstant ( string $name ) : bool

Checks whether the class has a specific constant defined or not.

Parâmetros

name

The name of the constant being checked for.

Valor Retornado

true if the constant is defined, otherwise false.

Exemplos

Exemplo #1 ReflectionClass::hasConstant() example

<?php
class Foo {
    const c1 = 1;
}

$class = new ReflectionClass("Foo");

var_dump($class->hasConstant("c1"));
var_dump($class->hasConstant("c2"));
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(false)

Veja Também

  • ReflectionClass::hasMethod() - Checks if method is defined
  • ReflectionClass::hasProperty() - Checks if property is defined


Checks if method is defined

  • « ReflectionClass::hasConstant
  • ReflectionClass::hasProperty »
  • PHP Manual
  • ReflectionClass
  • Checks if method is defined

ReflectionClass::hasMethod

(PHP 5 >= 5.1.2, PHP 7)

ReflectionClass::hasMethod — Checks if method is defined

Descrição

public ReflectionClass::hasMethod ( string $name ) : bool

Checks whether a specific method is defined in a class.

Parâmetros

name

Name of the method being checked for.

Valor Retornado

true if it has the method, otherwise false

Exemplos

Exemplo #1 ReflectionClass::hasMethod() example

<?php
Class C {
    public function publicFoo() {
        return true;
    }

    protected function protectedFoo() {
        return true;
    }

    private function privateFoo() {
        return true;
    }

    static function staticFoo() {
        return true;
    }
}

$rc = new ReflectionClass("C");

var_dump($rc->hasMethod('publicFoo'));

var_dump($rc->hasMethod('protectedFoo'));

var_dump($rc->hasMethod('privateFoo'));

var_dump($rc->hasMethod('staticFoo'));

// C should not have method bar
var_dump($rc->hasMethod('bar'));

// Method names are case insensitive
var_dump($rc->hasMethod('PUBLICfOO'));
?>

O exemplo acima irá imprimir:

bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)

Veja Também

  • ReflectionClass::hasConstant() - Checks if constant is defined
  • ReflectionClass::hasProperty() - Checks if property is defined


Checks if property is defined

  • « ReflectionClass::hasMethod
  • ReflectionClass::implementsInterface »
  • PHP Manual
  • ReflectionClass
  • Checks if property is defined

ReflectionClass::hasProperty

(PHP 5 >= 5.1.2, PHP 7)

ReflectionClass::hasProperty — Checks if property is defined

Descrição

public ReflectionClass::hasProperty ( string $name ) : bool

Checks whether the specified property is defined.

Parâmetros

name

Name of the property being checked for.

Valor Retornado

true if it has the property, otherwise false

Exemplos

Exemplo #1 ReflectionClass::hasProperty() example

<?php
class Foo {
    public    $p1;
    protected $p2;
    private   $p3;

}

$obj = new ReflectionObject(new Foo());

var_dump($obj->hasProperty("p1"));
var_dump($obj->hasProperty("p2"));
var_dump($obj->hasProperty("p3"));
var_dump($obj->hasProperty("p4"));
?>

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(true)
bool(true)
bool(false)

Veja Também

  • ReflectionClass::hasConstant() - Checks if constant is defined
  • ReflectionClass::hasMethod() - Checks if method is defined


Implements interface

  • « ReflectionClass::hasProperty
  • ReflectionClass::inNamespace »
  • PHP Manual
  • ReflectionClass
  • Implements interface

ReflectionClass::implementsInterface

(PHP 5, PHP 7)

ReflectionClass::implementsInterface — Implements interface

Descrição

public ReflectionClass::implementsInterface ( ReflectionClass|string $interface ) : bool

Checks whether it implements an interface.

Parâmetros

interface

The interface name.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

ReflectionClass::implementsInterface() throws an ReflectionException if interface is not an interface.

Veja Também

  • ReflectionClass::isInterface() - Checks if the class is an interface
  • ReflectionClass::isSubclassOf() - Checks if a subclass
  • interface_exists() - Checa se a interface foi definida
  • Object Interfaces


Checks if in namespace

  • « ReflectionClass::implementsInterface
  • ReflectionClass::isAbstract »
  • PHP Manual
  • ReflectionClass
  • Checks if in namespace

ReflectionClass::inNamespace

(PHP 5 >= 5.3.0, PHP 7)

ReflectionClass::inNamespace — Checks if in namespace

Descrição

public ReflectionClass::inNamespace ( ) : bool

Checks if this class is defined in a namespace.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 ReflectionClass::inNamespace() example

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

O exemplo acima irá imprimir:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Veja Também

  • ReflectionClass::getNamespaceName() - Gets namespace name
  • PHP Namespaces


Checks if class is abstract

  • « ReflectionClass::inNamespace
  • ReflectionClass::isAnonymous »
  • PHP Manual
  • ReflectionClass
  • Checks if class is abstract

ReflectionClass::isAbstract

(PHP 5, PHP 7)

ReflectionClass::isAbstract — Checks if class is abstract

Descrição

public ReflectionClass::isAbstract ( ) : bool

Checks if the class is abstract.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 ReflectionClass::isAbstract() example

<?php
class          TestClass { }
abstract class TestAbstractClass { }

$testClass     = new ReflectionClass('TestClass');
$abstractClass = new ReflectionClass('TestAbstractClass');

var_dump($testClass->isAbstract());
var_dump($abstractClass->isAbstract());
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)

Veja Também

  • ReflectionClass::isInterface() - Checks if the class is an interface
  • Class Abstraction


Checks if class is anonymous

  • « ReflectionClass::isAbstract
  • ReflectionClass::isCloneable »
  • PHP Manual
  • ReflectionClass
  • Checks if class is anonymous

ReflectionClass::isAnonymous

(PHP 7)

ReflectionClass::isAnonymous — Checks if class is anonymous

Descrição

public ReflectionClass::isAnonymous ( ) : bool

Checks if a class is an anonymous class.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 ReflectionClass::isAnonymous() example

<?php
class TestClass {}
$anonClass = new class {};

$normalClass = new ReflectionClass('TestClass');
$anonClass  = new ReflectionClass($anonClass);

var_dump($normalClass->isAnonymous());
var_dump($anonClass->isAnonymous());

?>

O exemplo acima irá imprimir:

bool(false)
bool(true)

Veja Também

  • ReflectionClass::isFinal() - Checks if class is final


Returns whether this class is cloneable

  • « ReflectionClass::isAnonymous
  • ReflectionClass::isFinal »
  • PHP Manual
  • ReflectionClass
  • Returns whether this class is cloneable

ReflectionClass::isCloneable

(PHP 5 >= 5.4.0, PHP 7)

ReflectionClass::isCloneable — Returns whether this class is cloneable

Descrição

public ReflectionClass::isCloneable ( ) : bool

Returns whether this class is cloneable.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the class is cloneable, false otherwise.

Exemplos

Exemplo #1 Basic usage of ReflectionClass::isCloneable()

<?php
class NotCloneable {
    public $var1;

    private function __clone() {
    }
}

class Cloneable {
    public $var1;
}

$notCloneable = new ReflectionClass('NotCloneable');
$cloneable = new ReflectionClass('Cloneable');

var_dump($notCloneable->isCloneable());
var_dump($cloneable->isCloneable());
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)


Checks if class is final

  • « ReflectionClass::isCloneable
  • ReflectionClass::isInstance »
  • PHP Manual
  • ReflectionClass
  • Checks if class is final

ReflectionClass::isFinal

(PHP 5, PHP 7)

ReflectionClass::isFinal — Checks if class is final

Descrição

public ReflectionClass::isFinal ( ) : bool

Checks if a class is final.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 ReflectionClass::isFinal() example

<?php
class       TestClass { }
final class TestFinalClass { }

$normalClass = new ReflectionClass('TestClass');
$finalClass  = new ReflectionClass('TestFinalClass');

var_dump($normalClass->isFinal());
var_dump($finalClass->isFinal());

?>

O exemplo acima irá imprimir:

bool(false)
bool(true)

Veja Também

  • ReflectionClass::isAbstract() - Checks if class is abstract
  • Final Keyword


Checks class for instance

  • « ReflectionClass::isFinal
  • ReflectionClass::isInstantiable »
  • PHP Manual
  • ReflectionClass
  • Checks class for instance

ReflectionClass::isInstance

(PHP 5, PHP 7)

ReflectionClass::isInstance — Checks class for instance

Descrição

public ReflectionClass::isInstance ( object $object ) : bool

Checks if an object is an instance of a class.

Parâmetros

object

The object being compared to.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 ReflectionClass::isInstance() related examples

<?php
// Example usage
$class = new ReflectionClass('Foo');

if ($class->isInstance($arg)) {
    echo "Yes";
}

// Equivalent to
if ($arg instanceof Foo) {
    echo "Yes";
}

// Equivalent to
if (is_a($arg, 'Foo')) {
    echo "Yes";
}
?>

O exemplo acima irá imprimir algo similar à:

Yes
Yes
Yes

Veja Também

  • ReflectionClass::isInterface() - Checks if the class is an interface
  • Type operators (instanceof)
  • Object Interfaces
  • is_a() - Verifica se o objeto é de uma classe ou de sua classe pai


Checks if the class is instantiable

  • « ReflectionClass::isInstance
  • ReflectionClass::isInterface »
  • PHP Manual
  • ReflectionClass
  • Checks if the class is instantiable

ReflectionClass::isInstantiable

(PHP 5, PHP 7)

ReflectionClass::isInstantiable — Checks if the class is instantiable

Descrição

public ReflectionClass::isInstantiable ( ) : bool

Checks if the class is instantiable.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 ReflectionClass::isInstantiable() example

<?php
class C { }

interface iface {
    function f1();
}

class ifaceImpl implements iface {
    function f1() {}
}

abstract class abstractClass {
    function f1() { }
    abstract function f2();
}

class D extends abstractClass {
    function f2() { }
}

trait T {
    function f1() {}
}

class privateConstructor {
    private function __construct() { }
}

$classes = array(
    "C",
    "iface",
    "ifaceImpl",
    "abstractClass",
    "D",
    "T",
    "privateConstructor",
);

foreach($classes  as $class ) {
    $reflectionClass = new ReflectionClass($class);
    echo "Is $class instantiable?  ";
    var_dump($reflectionClass->isInstantiable());
}

?>

O exemplo acima irá imprimir:

Is C instantiable?  bool(true)
Is iface instantiable?  bool(false)
Is ifaceImpl instantiable?  bool(true)
Is abstractClass instantiable?  bool(false)
Is D instantiable?  bool(true)
Is T instantiable?  bool(false)
Is privateConstructor instantiable?  bool(false)

Veja Também

  • ReflectionClass::isInstance() - Checks class for instance


Checks if the class is an interface

  • « ReflectionClass::isInstantiable
  • ReflectionClass::isInternal »
  • PHP Manual
  • ReflectionClass
  • Checks if the class is an interface

ReflectionClass::isInterface

(PHP 5, PHP 7)

ReflectionClass::isInterface — Checks if the class is an interface

Descrição

public ReflectionClass::isInterface ( ) : bool

Checks whether the class is an interface.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Basic usage of ReflectionClass::isInterface()

<?php
interface SomeInterface {
    public function interfaceMethod();
}

$class = new ReflectionClass('SomeInterface');
var_dump($class->isInterface());
?>

O exemplo acima irá imprimir:

bool(true)

Veja Também

  • ReflectionClass::isInstance() - Checks class for instance


Checks if class is defined internally by an extension, or the core

  • « ReflectionClass::isInterface
  • ReflectionClass::isIterable »
  • PHP Manual
  • ReflectionClass
  • Checks if class is defined internally by an extension, or the core

ReflectionClass::isInternal

(PHP 5, PHP 7)

ReflectionClass::isInternal — Checks if class is defined internally by an extension, or the core

Descrição

public ReflectionClass::isInternal ( ) : bool

Checks if the class is defined internally by an extension, or the core, as opposed to user-defined.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Basic usage of ReflectionClass::isInternal()

<?php
$internalclass = new ReflectionClass('ReflectionClass');

class Apple {}
$userclass = new ReflectionClass('Apple');

var_dump($internalclass->isInternal());
var_dump($userclass->isInternal());
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)

Veja Também

  • ReflectionClass::isUserDefined() - Checks if user defined


Check whether this class is iterable

  • « ReflectionClass::isInternal
  • ReflectionClass::isIterateable »
  • PHP Manual
  • ReflectionClass
  • Check whether this class is iterable

ReflectionClass::isIterable

(PHP 7 >= 7.2.0)

ReflectionClass::isIterable — Check whether this class is iterable

Descrição

public ReflectionClass::isIterable ( ) : bool

Check whether this class is iterable (i.e. can be used inside foreach).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Basic ReflectionClass::isIterable() Usage

<?php

class IteratorClass implements Iterator {
    public function __construct() { }
    public function key() { }
    public function current() { }
    function next() { }
    function valid() { }
    function rewind() { }
}
class DerivedClass extends IteratorClass { }
class NonIterator { }

function dump_iterable($class) {
    $reflection = new ReflectionClass($class);
    var_dump($reflection->isIterable());
}

$classes = array("ArrayObject", "IteratorClass", "DerivedClass", "NonIterator");

foreach ($classes as $class) {
    echo "Is $class iterable? ";
    dump_iterable($class);
}
?>

O exemplo acima irá imprimir:

Is ArrayObject iterable? bool(true)
Is IteratorClass iterable? bool(true)
Is DerivedClass iterable? bool(true)
Is NonIterator iterable? bool(false)

Veja Também

  • ReflectionClass::__construct() - Constructs a ReflectionClass


Sinônimo de ReflectionClass::isIterable

  • « ReflectionClass::isIterable
  • ReflectionClass::isSubclassOf »
  • PHP Manual
  • ReflectionClass
  • Sinônimo de ReflectionClass::isIterable

ReflectionClass::isIterateable

(PHP 5, PHP 7)

ReflectionClass::isIterateable — Sinônimo de ReflectionClass::isIterable()

Descrição

Sinônimo de ReflectionClass::isIterable()

As of PHP 7.2.0, instead of the missspelled RefectionClass::isIterateable(), ReflectionClass::isIterable() should be preferred.


Checks if a subclass

  • « ReflectionClass::isIterateable
  • ReflectionClass::isTrait »
  • PHP Manual
  • ReflectionClass
  • Checks if a subclass

ReflectionClass::isSubclassOf

(PHP 5, PHP 7)

ReflectionClass::isSubclassOf — Checks if a subclass

Descrição

public ReflectionClass::isSubclassOf ( ReflectionClass|string $class ) : bool

Checks if the class is a subclass of a specified class or implements a specified interface.

Parâmetros

class

Either the name of the class as string or a ReflectionClass object of the class to check against.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ReflectionClass::isInterface() - Checks if the class is an interface
  • ReflectionClass::implementsInterface() - Implements interface
  • is_subclass_of() - Verifica se o objeto tem esta classe como uma de suas classes pai
  • get_parent_class() - Recupera o nome da classe pai para o objeto ou classe


Returns whether this is a trait

  • « ReflectionClass::isSubclassOf
  • ReflectionClass::isUserDefined »
  • PHP Manual
  • ReflectionClass
  • Returns whether this is a trait

ReflectionClass::isTrait

(PHP 5 >= 5.4.0, PHP 7)

ReflectionClass::isTrait — Returns whether this is a trait

Descrição

public ReflectionClass::isTrait ( ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if this is a trait, false otherwise. Returns null in case of an error.


Checks if user defined

  • « ReflectionClass::isTrait
  • ReflectionClass::newInstance »
  • PHP Manual
  • ReflectionClass
  • Checks if user defined

ReflectionClass::isUserDefined

(PHP 5, PHP 7)

ReflectionClass::isUserDefined — Checks if user defined

Descrição

public ReflectionClass::isUserDefined ( ) : bool

Checks whether the class is user-defined, as opposed to internal.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • ReflectionClass::isInternal() - Checks if class is defined internally by an extension, or the core


Creates a new class instance from given arguments

  • « ReflectionClass::isUserDefined
  • ReflectionClass::newInstanceArgs »
  • PHP Manual
  • ReflectionClass
  • Creates a new class instance from given arguments

ReflectionClass::newInstance

(PHP 5, PHP 7)

ReflectionClass::newInstance — Creates a new class instance from given arguments

Descrição

public ReflectionClass::newInstance ( mixed ...$args ) : object

Creates a new instance of the class. The given arguments are passed to the class constructor.

Parâmetros

args

Accepts a variable number of arguments which are passed to the class constructor, much like call_user_func().

Valor Retornado

Erros

A ReflectionException if the class constructor is not public.

A ReflectionException if the class does not have a constructor and the args parameter contains one or more parameters.

Veja Também

  • ReflectionClass::newInstanceArgs() - Creates a new class instance from given arguments
  • ReflectionClass::newInstanceWithoutConstructor() - Creates a new class instance without invoking the constructor


Creates a new class instance from given arguments

  • « ReflectionClass::newInstance
  • ReflectionClass::newInstanceWithoutConstructor »
  • PHP Manual
  • ReflectionClass
  • Creates a new class instance from given arguments

ReflectionClass::newInstanceArgs

(PHP 5 >= 5.1.3, PHP 7)

ReflectionClass::newInstanceArgs — Creates a new class instance from given arguments

Descrição

public ReflectionClass::newInstanceArgs ( array $args = [] ) : object

Creates a new instance of the class, the given arguments are passed to the class constructor.

Parâmetros

args

The parameters to be passed to the class constructor as an array.

Valor Retornado

Returns a new instance of the class.

Exemplos

Exemplo #1 Basic usage of ReflectionClass::newInstanceArgs()

<?php
$class = new ReflectionClass('ReflectionFunction');
$instance = $class->newInstanceArgs(array('substr'));
var_dump($instance);
?>

O exemplo acima irá imprimir:

object(ReflectionFunction)#2 (1) {
  ["name"]=>
  string(6) "substr"
}

Erros

A ReflectionException if the class constructor is not public.

A ReflectionException if the class does not have a constructor and the args parameter contains one or more parameters.

Veja Também

  • ReflectionClass::newInstance() - Creates a new class instance from given arguments
  • ReflectionClass::newInstanceWithoutConstructor() - Creates a new class instance without invoking the constructor


Creates a new class instance without invoking the constructor

  • « ReflectionClass::newInstanceArgs
  • ReflectionClass::setStaticPropertyValue »
  • PHP Manual
  • ReflectionClass
  • Creates a new class instance without invoking the constructor

ReflectionClass::newInstanceWithoutConstructor

(PHP 5 >= 5.4.0, PHP 7)

ReflectionClass::newInstanceWithoutConstructor — Creates a new class instance without invoking the constructor

Descrição

public ReflectionClass::newInstanceWithoutConstructor ( ) : object

Creates a new instance of the class without invoking the constructor.

Parâmetros

Valor Retornado

Changelog

Versão | Descrição
5.6.0 | All internal classes can now be instantiated except for those declared final.

Erros

A ReflectionException if the class is an internal class that cannot be instantiated without invoking the constructor. In PHP 5.6.0 onwards, this exception is limited only to internal classes that are final.

Veja Também

  • ReflectionClass::newInstance() - Creates a new class instance from given arguments
  • ReflectionClass::newInstanceArgs() - Creates a new class instance from given arguments


Sets static property value

  • « ReflectionClass::newInstanceWithoutConstructor
  • ReflectionClass::__toString »
  • PHP Manual
  • ReflectionClass
  • Sets static property value

ReflectionClass::setStaticPropertyValue

(PHP 5 >= 5.1.2, PHP 7)

ReflectionClass::setStaticPropertyValue — Sets static property value

Descrição

public ReflectionClass::setStaticPropertyValue ( string $name , mixed $value ) : void

Sets static property value.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Property name.

value

New property value.

Valor Retornado

Não há valor retornado.

Veja Também

  • ReflectionClass::getStaticPropertyValue() - Gets static property value


Returns the string representation of the ReflectionClass object

  • « ReflectionClass::setStaticPropertyValue
  • ReflectionClassConstant »
  • PHP Manual
  • ReflectionClass
  • Returns the string representation of the ReflectionClass object

ReflectionClass::__toString

(PHP 5, PHP 7)

ReflectionClass::__toString — Returns the string representation of the ReflectionClass object

Descrição

public ReflectionClass::__toString ( ) : string

Returns the string representation of the ReflectionClass object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A string representation of this ReflectionClass instance.

Exemplos

Exemplo #1 ReflectionClass::__toString() example

<?php
$reflectionClass = new ReflectionClass('Exception');
echo $reflectionClass->__toString();
?>

O exemplo acima irá imprimir:

Class [ <internal:Core> class Exception ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [7] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
    Property [ <default> private $previous ]
  }

  - Methods [10] {
    Method [ <internal:Core> final private method __clone ] {
    }

    Method [ <internal:Core, ctor> public method __construct ] {

      - Parameters [3] {
        Parameter #0 [ <optional> $message ]
        Parameter #1 [ <optional> $code ]
        Parameter #2 [ <optional> $previous ]
      }
    }

    Method [ <internal:Core> final public method getMessage ] {
    }

    Method [ <internal:Core> final public method getCode ] {
    }

    Method [ <internal:Core> final public method getFile ] {
    }

    Method [ <internal:Core> final public method getLine ] {
    }

    Method [ <internal:Core> final public method getTrace ] {
    }

    Method [ <internal:Core> final public method getPrevious ] {
    }

    Method [ <internal:Core> final public method getTraceAsString ] {
    }

    Method [ <internal:Core> public method __toString ] {
    }
  }
}

Veja Também

  • ReflectionClass::export() - Exports a class
  • __toString()


The ReflectionClassConstant class

(PHP 7 >= 7.1.0)

Introdução

The ReflectionClassConstant class reports information about a class constant.

Sinopse da classe

ReflectionClassConstant implements Reflector {
/* Constantes */
const int IS_PUBLIC ;
const int IS_PROTECTED ;
const int IS_PRIVATE ;
/* Propriedades */
public $name ;
public $class ;
/* Métodos */
public __construct ( object|string $class , string $constant )
public static export ( mixed $class , string $name , bool $return = ? ) : string
public getDeclaringClass ( ) : ReflectionClass
public getDocComment ( ) : string|false
public getModifiers ( ) : int
public getName ( ) : string|false
public getValue ( ) : mixed
public isPrivate ( ) : bool
public isProtected ( ) : bool
public isPublic ( ) : bool
public __toString ( ) : string
}

Propriedades

name

Name of the class constant. Read-only, throws ReflectionException in attempt to write.

class

Name of the class where the class constant is defined. Read-only, throws ReflectionException in attempt to write.

Constantes pré-definidas

ReflectionClassConstant Modifiers

ReflectionClassConstant::IS_PUBLIC

Indicates public constants.

ReflectionClassConstant::IS_PROTECTED

Indicates protected constants.

ReflectionClassConstant::IS_PRIVATE

Indicates private constants.

Índice

  • ReflectionClassConstant::__construct — Constructs a ReflectionClassConstant
  • ReflectionClassConstant::export — Export
  • ReflectionClassConstant::getDeclaringClass — Gets declaring class
  • ReflectionClassConstant::getDocComment — Gets doc comments
  • ReflectionClassConstant::getModifiers — Gets the class constant modifiers
  • ReflectionClassConstant::getName — Get name of the constant
  • ReflectionClassConstant::getValue — Gets value
  • ReflectionClassConstant::isPrivate — Checks if class constant is private
  • ReflectionClassConstant::isProtected — Checks if class constant is protected
  • ReflectionClassConstant::isPublic — Checks if class constant is public
  • ReflectionClassConstant::__toString — Returns the string representation of the ReflectionClassConstant object


Constructs a ReflectionClassConstant

  • « ReflectionClassConstant
  • ReflectionClassConstant::export »
  • PHP Manual
  • ReflectionClassConstant
  • Constructs a ReflectionClassConstant

ReflectionClassConstant::__construct

(PHP 7 >= 7.1.0)

ReflectionClassConstant::__construct — Constructs a ReflectionClassConstant

Descrição

public ReflectionClassConstant::__construct ( object|string $class , string $constant )

Constructs a new ReflectionClassConstant object.

Parâmetros

class

Either a string containing the name of the class to reflect, or an object.

constant

The name of the class constant.

Valor Retornado

Returns constructed ReflectionClassConstant instance.

Erros

Throws an Exception in case the given class constant does not exist.

Veja Também

  • Constructors


Export

  • « ReflectionClassConstant::__construct
  • ReflectionClassConstant::getDeclaringClass »
  • PHP Manual
  • ReflectionClassConstant
  • Export

ReflectionClassConstant::export

(PHP 7 >= 7.1.0)

ReflectionClassConstant::export — Export

Aviso

This function has been DEPRECATED as of PHP 7.4.0. Relying on this function is highly discouraged.

Descrição

public static ReflectionClassConstant::export ( mixed $class , string $name , bool $return = ? ) : string

Exports a reflection.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

class

A reflexão para exportar.

name

The class constant name.

return

Passar true irá retornar o export, em vez de emiti-lo. Passar false (padrão) fará o oposto.

Valor Retornado

Veja Também

  • ReflectionClassConstant::__toString() - Returns the string representation of the ReflectionClassConstant object


Gets declaring class

  • « ReflectionClassConstant::export
  • ReflectionClassConstant::getDocComment »
  • PHP Manual
  • ReflectionClassConstant
  • Gets declaring class

ReflectionClassConstant::getDeclaringClass

(PHP 7 >= 7.1.0)

ReflectionClassConstant::getDeclaringClass — Gets declaring class

Descrição

public ReflectionClassConstant::getDeclaringClass ( ) : ReflectionClass

Gets the declaring class.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A ReflectionClass object.


Gets doc comments

  • « ReflectionClassConstant::getDeclaringClass
  • ReflectionClassConstant::getModifiers »
  • PHP Manual
  • ReflectionClassConstant
  • Gets doc comments

ReflectionClassConstant::getDocComment

(PHP 7 >= 7.1.0)

ReflectionClassConstant::getDocComment — Gets doc comments

Descrição

public ReflectionClassConstant::getDocComment ( ) : string|false

Gets doc comments from a class constant.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The doc comment if it exists, otherwise false


Gets the class constant modifiers

  • « ReflectionClassConstant::getDocComment
  • ReflectionClassConstant::getName »
  • PHP Manual
  • ReflectionClassConstant
  • Gets the class constant modifiers

ReflectionClassConstant::getModifiers

(PHP 7 >= 7.1.0)

ReflectionClassConstant::getModifiers — Gets the class constant modifiers

Descrição

public ReflectionClassConstant::getModifiers ( ) : int

Returns a bitfield of the access modifiers for this class constant.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A numeric representation of the modifiers. The actual meanings of these modifiers are described in the predefined constants.

Veja Também

  • Reflection::getModifierNames() - Gets modifier names


Get name of the constant

  • « ReflectionClassConstant::getModifiers
  • ReflectionClassConstant::getValue »
  • PHP Manual
  • ReflectionClassConstant
  • Get name of the constant

ReflectionClassConstant::getName

(PHP 7 >= 7.1.0)

ReflectionClassConstant::getName — Get name of the constant

Descrição

public ReflectionClassConstant::getName ( ) : string|false

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the constant's name, ou false em caso de falha.


Gets value

  • « ReflectionClassConstant::getName
  • ReflectionClassConstant::isPrivate »
  • PHP Manual
  • ReflectionClassConstant
  • Gets value

ReflectionClassConstant::getValue

(PHP 7 >= 7.1.0)

ReflectionClassConstant::getValue — Gets value

Descrição

public ReflectionClassConstant::getValue ( ) : mixed

Gets the class constant's value.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The value of the class constant.


Checks if class constant is private

  • « ReflectionClassConstant::getValue
  • ReflectionClassConstant::isProtected »
  • PHP Manual
  • ReflectionClassConstant
  • Checks if class constant is private

ReflectionClassConstant::isPrivate

(PHP 7 >= 7.1.0)

ReflectionClassConstant::isPrivate — Checks if class constant is private

Descrição

public ReflectionClassConstant::isPrivate ( ) : bool

Checks if the class constant is private.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the class constant is private, otherwise false

Veja Também

  • ReflectionClassConstant::isPublic() - Checks if class constant is public
  • ReflectionClassConstant::isProtected() - Checks if class constant is protected


Checks if class constant is protected

  • « ReflectionClassConstant::isPrivate
  • ReflectionClassConstant::isPublic »
  • PHP Manual
  • ReflectionClassConstant
  • Checks if class constant is protected

ReflectionClassConstant::isProtected

(PHP 7 >= 7.1.0)

ReflectionClassConstant::isProtected — Checks if class constant is protected

Descrição

public ReflectionClassConstant::isProtected ( ) : bool

Checks if the class constant is protected.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the class constant is protected, otherwise false

Veja Também

  • ReflectionClassConstant::isPublic() - Checks if class constant is public
  • ReflectionClassConstant::isPrivate() - Checks if class constant is private


Checks if class constant is public

  • « ReflectionClassConstant::isProtected
  • ReflectionClassConstant::__toString »
  • PHP Manual
  • ReflectionClassConstant
  • Checks if class constant is public

ReflectionClassConstant::isPublic

(PHP 7 >= 7.1.0)

ReflectionClassConstant::isPublic — Checks if class constant is public

Descrição

public ReflectionClassConstant::isPublic ( ) : bool

Checks if the class constant is public.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the class constant is public, otherwise false

Veja Também

  • ReflectionClassConstant::isPrivate() - Checks if class constant is private
  • ReflectionClassConstant::isProtected() - Checks if class constant is protected


Returns the string representation of the ReflectionClassConstant object

  • « ReflectionClassConstant::isPublic
  • ReflectionZendExtension »
  • PHP Manual
  • ReflectionClassConstant
  • Returns the string representation of the ReflectionClassConstant object

ReflectionClassConstant::__toString

(PHP 7 >= 7.1.0)

ReflectionClassConstant::__toString — Returns the string representation of the ReflectionClassConstant object

Descrição

public ReflectionClassConstant::__toString ( ) : string

Returns the string representation of the ReflectionClassConstant object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A string representation of this ReflectionClassConstant instance.

Veja Também

  • ReflectionClassConstant::export() - Export
  • __toString()


The ReflectionZendExtension class

(PHP 5 >= 5.4.0, PHP 7)

Introdução

Sinopse da classe

ReflectionZendExtension implements Reflector {
/* Propriedades */
public $name ;
/* Métodos */
public __construct ( string $name )
final private __clone ( ) : void
public static export ( string $name , bool $return = ? ) : string
public getAuthor ( ) : string
public getCopyright ( ) : string
public getName ( ) : string
public getURL ( ) : string
public getVersion ( ) : string
public __toString ( ) : string
}

Propriedades

name

Name of the extension. Read-only, throws ReflectionException in attempt to write.

Índice

  • ReflectionZendExtension::__clone — Clone handler
  • ReflectionZendExtension::__construct — Constructor
  • ReflectionZendExtension::export — Export
  • ReflectionZendExtension::getAuthor — Gets author
  • ReflectionZendExtension::getCopyright — Gets copyright
  • ReflectionZendExtension::getName — Gets name
  • ReflectionZendExtension::getURL — Gets URL
  • ReflectionZendExtension::getVersion — Gets version
  • ReflectionZendExtension::__toString — To string handler


Clone handler

  • « ReflectionZendExtension
  • ReflectionZendExtension::__construct »
  • PHP Manual
  • ReflectionZendExtension
  • Clone handler

ReflectionZendExtension::__clone

(PHP 5 >= 5.4.0, PHP 7)

ReflectionZendExtension::__clone — Clone handler

Descrição

final private ReflectionZendExtension::__clone ( ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Constructor

  • « ReflectionZendExtension::__clone
  • ReflectionZendExtension::export »
  • PHP Manual
  • ReflectionZendExtension
  • Constructor

ReflectionZendExtension::__construct

(PHP 5 >= 5.4.0, PHP 7)

ReflectionZendExtension::__construct — Constructor

Descrição

public ReflectionZendExtension::__construct ( string $name )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

Valor Retornado


Export

  • « ReflectionZendExtension::__construct
  • ReflectionZendExtension::getAuthor »
  • PHP Manual
  • ReflectionZendExtension
  • Export

ReflectionZendExtension::export

(PHP 5 >= 5.4.0, PHP 7)

ReflectionZendExtension::export — Export

Aviso

This function has been DEPRECATED as of PHP 7.4.0. Relying on this function is highly discouraged.

Descrição

public static ReflectionZendExtension::export ( string $name , bool $return = ? ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

name

return

Valor Retornado

Veja Também

  • ReflectionClassConstant::__toString() - Returns the string representation of the ReflectionClassConstant object


Gets author

  • « ReflectionZendExtension::export
  • ReflectionZendExtension::getCopyright »
  • PHP Manual
  • ReflectionZendExtension
  • Gets author

ReflectionZendExtension::getAuthor

(PHP 5 >= 5.4.0, PHP 7)

ReflectionZendExtension::getAuthor — Gets author

Descrição

public ReflectionZendExtension::getAuthor ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Gets copyright

  • « ReflectionZendExtension::getAuthor
  • ReflectionZendExtension::getName »
  • PHP Manual
  • ReflectionZendExtension
  • Gets copyright

ReflectionZendExtension::getCopyright

(PHP 5 >= 5.4.0, PHP 7)

ReflectionZendExtension::getCopyright — Gets copyright

Descrição

public ReflectionZendExtension::getCopyright ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Gets name

  • « ReflectionZendExtension::getCopyright
  • ReflectionZendExtension::getURL »
  • PHP Manual
  • ReflectionZendExtension
  • Gets name

ReflectionZendExtension::getName

(PHP 5 >= 5.4.0, PHP 7)

ReflectionZendExtension::getName — Gets name

Descrição

public ReflectionZendExtension::getName ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Gets URL

  • « ReflectionZendExtension::getName
  • ReflectionZendExtension::getVersion »
  • PHP Manual
  • ReflectionZendExtension
  • Gets URL

ReflectionZendExtension::getURL

(PHP 5 >= 5.4.0, PHP 7)

ReflectionZendExtension::getURL — Gets URL

Descrição

public ReflectionZendExtension::getURL ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Gets version

  • « ReflectionZendExtension::getURL
  • ReflectionZendExtension::__toString »
  • PHP Manual
  • ReflectionZendExtension
  • Gets version

ReflectionZendExtension::getVersion

(PHP 5 >= 5.4.0, PHP 7)

ReflectionZendExtension::getVersion — Gets version

Descrição

public ReflectionZendExtension::getVersion ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


To string handler

  • « ReflectionZendExtension::getVersion
  • ReflectionExtension »
  • PHP Manual
  • ReflectionZendExtension
  • To string handler

ReflectionZendExtension::__toString

(PHP 5 >= 5.4.0, PHP 7)

ReflectionZendExtension::__toString — To string handler

Descrição

public ReflectionZendExtension::__toString ( ) : string

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Classe ReflectionExtension

(PHP 5, PHP 7)

Introdução

A classe ReflectionExtension reporta informações sobre uma extensão.

Sinopse da classe

ReflectionExtension implements Reflector {
/* Propriedades */
public $name ;
/* Métodos */
final private __clone ( ) : void
public static export ( string $name , string $return = false ) : string
public getClasses ( ) : array
public getClassNames ( ) : array
public getConstants ( ) : array
public getDependencies ( ) : array
public getFunctions ( ) : array
public getINIEntries ( ) : array
public getName ( ) : string
public getVersion ( ) : string|null
public info ( ) : void
public isPersistent ( ) : bool
public isTemporary ( ) : bool
public __toString ( ) : string
}

Propriedades

name

Nome da extensão, o mesmo que chamar o método ReflectionExtension::getName()

Índice

  • ReflectionExtension::__clone — Clones
  • ReflectionExtension::__construct — Constructs a ReflectionExtension
  • ReflectionExtension::export — Export
  • ReflectionExtension::getClasses — Gets classes
  • ReflectionExtension::getClassNames — Gets class names
  • ReflectionExtension::getConstants — Gets constants
  • ReflectionExtension::getDependencies — Gets dependencies
  • ReflectionExtension::getFunctions — Gets extension functions
  • ReflectionExtension::getINIEntries — Gets extension ini entries
  • ReflectionExtension::getName — Gets extension name
  • ReflectionExtension::getVersion — Gets extension version
  • ReflectionExtension::info — Imprime informações da extensão
  • ReflectionExtension::isPersistent — Returns whether this extension is persistent
  • ReflectionExtension::isTemporary — Returns whether this extension is temporary
  • ReflectionExtension::__toString — To string


Clones

  • « ReflectionExtension
  • ReflectionExtension::__construct »
  • PHP Manual
  • ReflectionExtension
  • Clones

ReflectionExtension::__clone

(PHP 5, PHP 7)

ReflectionExtension::__clone — Clones

Descrição

final private ReflectionExtension::__clone ( ) : void

The clone method prevents an object from being cloned. Reflection objects cannot be cloned.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

No value is returned, if called a fatal error will occur.

Veja Também

  • ReflectionExtension::__construct() - Constructs a ReflectionExtension
  • Object cloning


Constructs a ReflectionExtension

  • « ReflectionExtension::__clone
  • ReflectionExtension::export »
  • PHP Manual
  • ReflectionExtension
  • Constructs a ReflectionExtension

ReflectionExtension::__construct

(PHP 5, PHP 7)

ReflectionExtension::__construct — Constructs a ReflectionExtension

Descrição

public ReflectionExtension::__construct ( string $name )

Construct a ReflectionExtension object.

Parâmetros

name

Name of the extension.

Valor Retornado

A ReflectionExtension object.

Exemplos

Exemplo #1 ReflectionExtension example

<?php
$ext = new ReflectionExtension('Reflection');

printf('Extension: %s (version: %s)', $ext->getName(), $ext->getVersion());
?>

O exemplo acima irá imprimir algo similar à:

Extension: Reflection (version: $Revision$)

Veja Também

  • ReflectionExtension::info() - Imprime informações da extensão
  • Constructors


Export

  • « ReflectionExtension::__construct
  • ReflectionExtension::getClasses »
  • PHP Manual
  • ReflectionExtension
  • Export

ReflectionExtension::export

(PHP 5, PHP 7)

ReflectionExtension::export — Export

Aviso

This function has been DEPRECATED as of PHP 7.4.0. Relying on this function is highly discouraged.

Descrição

public static ReflectionExtension::export ( string $name , string $return = false ) : string

Exports a reflected extension. The output format of this function is the same as the CLI argument --re [extension].

Parâmetros

name

A reflexão para exportar.

return

Passar true irá retornar o export, em vez de emiti-lo. Passar false (padrão) fará o oposto.

Valor Retornado

Se o parâmetro return for true então o export é retornado como uma string, senão retorna null.

Veja Também

  • ReflectionExtension::info() - Imprime informações da extensão
  • ReflectionExtension::__toString() - To string


Gets classes

  • « ReflectionExtension::export
  • ReflectionExtension::getClassNames »
  • PHP Manual
  • ReflectionExtension
  • Gets classes

ReflectionExtension::getClasses

(PHP 5, PHP 7)

ReflectionExtension::getClasses — Gets classes

Descrição

public ReflectionExtension::getClasses ( ) : array

Gets a list of classes from an extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of ReflectionClass objects, one for each class within the extension. If no classes are defined, an empty array is returned.

Exemplos

Exemplo #1 ReflectionExtension::getClasses() example

<?php
$ext = new ReflectionExtension('XMLWriter');
var_dump($ext->getClasses());
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  ["XMLWriter"]=>
  object(ReflectionClass)#2 (1) {
    ["name"]=>
    string(9) "XMLWriter"
  }
}

Veja Também

  • ReflectionExtension::getClassNames() - Gets class names


Gets class names

  • « ReflectionExtension::getClasses
  • ReflectionExtension::getConstants »
  • PHP Manual
  • ReflectionExtension
  • Gets class names

ReflectionExtension::getClassNames

(PHP 5, PHP 7)

ReflectionExtension::getClassNames — Gets class names

Descrição

public ReflectionExtension::getClassNames ( ) : array

Gets a listing of class names as defined in the extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of class names, as defined in the extension. If no classes are defined, an empty array is returned.

Exemplos

Exemplo #1 ReflectionExtension::getClassNames() example

<?php
$ext = new ReflectionExtension('XMLWriter');
var_dump($ext->getClassNames());
?>

O exemplo acima irá imprimir algo similar à:

array(1) {
  [0]=>
  string(9) "XMLWriter"
}

Veja Também

  • ReflectionExtension::getClasses() - Gets classes
  • ReflectionExtension::getName() - Gets extension name


Gets constants

  • « ReflectionExtension::getClassNames
  • ReflectionExtension::getDependencies »
  • PHP Manual
  • ReflectionExtension
  • Gets constants

ReflectionExtension::getConstants

(PHP 5, PHP 7)

ReflectionExtension::getConstants — Gets constants

Descrição

public ReflectionExtension::getConstants ( ) : array

Get defined constants from an extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An associative array with constant names as keys.

Exemplos

Exemplo #1 ReflectionExtension::getConstants() example

<?php
$ext = new ReflectionExtension('DOM');

print_r($ext->getConstants());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [XML_ELEMENT_NODE] => 1
    [XML_ATTRIBUTE_NODE] => 2
    [XML_TEXT_NODE] => 3
    [XML_CDATA_SECTION_NODE] => 4
    [XML_ENTITY_REF_NODE] => 5
    [XML_ENTITY_NODE] => 6
    [XML_PI_NODE] => 7
    [XML_COMMENT_NODE] => 8
    [XML_DOCUMENT_NODE] => 9
    [XML_DOCUMENT_TYPE_NODE] => 10
    [XML_DOCUMENT_FRAG_NODE] => 11
    [XML_NOTATION_NODE] => 12
    [XML_HTML_DOCUMENT_NODE] => 13
    [XML_DTD_NODE] => 14
    [XML_ELEMENT_DECL_NODE] => 15
    [XML_ATTRIBUTE_DECL_NODE] => 16
    [XML_ENTITY_DECL_NODE] => 17
    [XML_NAMESPACE_DECL_NODE] => 18
    [XML_LOCAL_NAMESPACE] => 18
    [XML_ATTRIBUTE_CDATA] => 1
    [XML_ATTRIBUTE_ID] => 2
    [XML_ATTRIBUTE_IDREF] => 3
    [XML_ATTRIBUTE_IDREFS] => 4
    [XML_ATTRIBUTE_ENTITY] => 6
    [XML_ATTRIBUTE_NMTOKEN] => 7
    [XML_ATTRIBUTE_NMTOKENS] => 8
    [XML_ATTRIBUTE_ENUMERATION] => 9
    [XML_ATTRIBUTE_NOTATION] => 10
    [DOM_PHP_ERR] => 0
    [DOM_INDEX_SIZE_ERR] => 1
    [DOMSTRING_SIZE_ERR] => 2
    [DOM_HIERARCHY_REQUEST_ERR] => 3
    [DOM_WRONG_DOCUMENT_ERR] => 4
    [DOM_INVALID_CHARACTER_ERR] => 5
    [DOM_NO_DATA_ALLOWED_ERR] => 6
    [DOM_NO_MODIFICATION_ALLOWED_ERR] => 7
    [DOM_NOT_FOUND_ERR] => 8
    [DOM_NOT_SUPPORTED_ERR] => 9
    [DOM_INUSE_ATTRIBUTE_ERR] => 10
    [DOM_INVALID_STATE_ERR] => 11
    [DOM_SYNTAX_ERR] => 12
    [DOM_INVALID_MODIFICATION_ERR] => 13
    [DOM_NAMESPACE_ERR] => 14
    [DOM_INVALID_ACCESS_ERR] => 15
    [DOM_VALIDATION_ERR] => 16
)

Veja Também

  • ReflectionExtension::getINIEntries() - Gets extension ini entries


Gets dependencies

  • « ReflectionExtension::getConstants
  • ReflectionExtension::getFunctions »
  • PHP Manual
  • ReflectionExtension
  • Gets dependencies

ReflectionExtension::getDependencies

(PHP 5 >= 5.1.3, PHP 7)

ReflectionExtension::getDependencies — Gets dependencies

Descrição

public ReflectionExtension::getDependencies ( ) : array

Gets dependencies, by listing both required and conflicting dependencies.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An associative array with dependencies as keys and either Required, Optional or Conflicts as the values.

Exemplos

Exemplo #1 ReflectionExtension::getDependencies() example

<?php
$dom = new ReflectionExtension('dom');

print_r($dom->getDependencies());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [libxml] => Required
    [domxml] => Conflicts
)

Veja Também

  • ReflectionClass::getVersion()


Gets extension functions

  • « ReflectionExtension::getDependencies
  • ReflectionExtension::getINIEntries »
  • PHP Manual
  • ReflectionExtension
  • Gets extension functions

ReflectionExtension::getFunctions

(PHP 5, PHP 7)

ReflectionExtension::getFunctions — Gets extension functions

Descrição

public ReflectionExtension::getFunctions ( ) : array

Get defined functions from an extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An associative array of ReflectionFunction objects, for each function defined in the extension with the keys being the function names. If no function are defined, an empty array is returned.

Exemplos

Exemplo #1 ReflectionExtension::getFunctions() example

<?php
$dom = new ReflectionExtension('SimpleXML');

print_r($dom->getFunctions());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [simplexml_load_file] => ReflectionFunction Object
        (
            [name] => simplexml_load_file
        )

    [simplexml_load_string] => ReflectionFunction Object
        (
            [name] => simplexml_load_string
        )

    [simplexml_import_dom] => ReflectionFunction Object
        (
            [name] => simplexml_import_dom
        )

)

Veja Também

  • ReflectionExtension::getClasses() - Gets classes
  • get_extension_funcs() - Retorna uma matriz com os nomes de funções de um módulo


Gets extension ini entries

  • « ReflectionExtension::getFunctions
  • ReflectionExtension::getName »
  • PHP Manual
  • ReflectionExtension
  • Gets extension ini entries

ReflectionExtension::getINIEntries

(PHP 5, PHP 7)

ReflectionExtension::getINIEntries — Gets extension ini entries

Descrição

public ReflectionExtension::getINIEntries ( ) : array

Get the ini entries for an extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An associative array with the ini entries as keys, with their defined values as values.

Exemplos

Exemplo #1 ReflectionExtension::getINIEntries() example

<?php
$ext = new ReflectionExtension('mysql');

print_r($ext->getINIEntries());
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [mysql.allow_persistent] => 1
    [mysql.max_persistent] => -1
    [mysql.max_links] => -1
    [mysql.default_host] =>
    [mysql.default_user] =>
    [mysql.default_password] =>
    [mysql.default_port] =>
    [mysql.default_socket] =>
    [mysql.connect_timeout] => 60
    [mysql.trace_mode] =>
    [mysql.allow_local_infile] => 1
    [mysql.cache_size] => 2000
)

Veja Também

  • ini_get_all() - Obtém todas as opções de configuração
  • ReflectionExtension::getConstants() - Gets constants


Gets extension name

  • « ReflectionExtension::getINIEntries
  • ReflectionExtension::getVersion »
  • PHP Manual
  • ReflectionExtension
  • Gets extension name

ReflectionExtension::getName

(PHP 5, PHP 7)

ReflectionExtension::getName — Gets extension name

Descrição

public ReflectionExtension::getName ( ) : string

Gets the extensions name.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The extensions name.

Exemplos

Exemplo #1 ReflectionExtension::getName() example

<?php
$ext = new ReflectionExtension('mysqli');
var_dump($ext->getName());
?>

O exemplo acima irá imprimir algo similar à:

string(6) "mysqli"

Veja Também

  • ReflectionExtension::getClassNames() - Gets class names


Gets extension version

  • « ReflectionExtension::getName
  • ReflectionExtension::info »
  • PHP Manual
  • ReflectionExtension
  • Gets extension version

ReflectionExtension::getVersion

(PHP 5, PHP 7)

ReflectionExtension::getVersion — Gets extension version

Descrição

public ReflectionExtension::getVersion ( ) : string|null

Gets the version of the extension.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The version of the extension, or null if the extension has no version.

Exemplos

Exemplo #1 ReflectionExtension::getVersion() example

<?php
$ext = new ReflectionExtension('mysqli');
var_dump($ext->getVersion());
?>

O exemplo acima irá imprimir algo similar à:

string(3) "0.1"

Veja Também

  • ReflectionExtension::info() - Imprime informações da extensão


Imprime informações da extensão

  • « ReflectionExtension::getVersion
  • ReflectionExtension::isPersistent »
  • PHP Manual
  • ReflectionExtension
  • Imprime informações da extensão

ReflectionExtension::info

(PHP 5 >= 5.2.4, PHP 7)

ReflectionExtension::info — Imprime informações da extensão

Descrição

public ReflectionExtension::info ( ) : void

Imprime a saída do trecho "phpinfo()" de uma dada extensão.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Informação sobre a extensão.

Exemplos

Exemplo #1 ReflectionExtension::info() exemplo

<?php
$ext = new ReflectionExtension('mysqli');
$ext->info();
?>

O exemplo acima irá imprimir algo similar à:

mysqli

MysqlI Support => enabled
Client API library version => mysqlnd 5.0.5-dev - 081106 - $Revision: 315808 $
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0
Persistent cache => enabled
put_hits => 0
put_misses => 0
get_hits => 0
get_misses => 0
size => 2000
free_items => 2000
references => 2

Directive => Local Value => Master Value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_user => no value => no value
mysqli.default_pw => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_socket => no value => no value
mysqli.reconnect => Off => Off
mysqli.allow_local_infile => On => On
mysqli.cache_size => 2000 => 2000

Veja Também

  • ReflectionExtension::getName() - Gets extension name
  • phpinfo() - Mostra muitas informações sobre o PHP


Returns whether this extension is persistent

  • « ReflectionExtension::info
  • ReflectionExtension::isTemporary »
  • PHP Manual
  • ReflectionExtension
  • Returns whether this extension is persistent

ReflectionExtension::isPersistent

(PHP 5 >= 5.4.0, PHP 7)

ReflectionExtension::isPersistent — Returns whether this extension is persistent

Descrição

public ReflectionExtension::isPersistent ( ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true for extensions loaded by extension, false otherwise.

Veja Também

  • ReflectionExtension::isTemporary() - Returns whether this extension is temporary


Returns whether this extension is temporary

  • « ReflectionExtension::isPersistent
  • ReflectionExtension::__toString »
  • PHP Manual
  • ReflectionExtension
  • Returns whether this extension is temporary

ReflectionExtension::isTemporary

(PHP 5 >= 5.4.0, PHP 7)

ReflectionExtension::isTemporary — Returns whether this extension is temporary

Descrição

public ReflectionExtension::isTemporary ( ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true for extensions loaded by dl(), false otherwise.

Veja Também

  • ReflectionExtension::isPersistent() - Returns whether this extension is persistent


To string

  • « ReflectionExtension::isTemporary
  • ReflectionFunction »
  • PHP Manual
  • ReflectionExtension
  • To string

ReflectionExtension::__toString

(PHP 5, PHP 7)

ReflectionExtension::__toString — To string

Descrição

public ReflectionExtension::__toString ( ) : string

Exports a reflected extension and returns it as a string. This is the same as the ReflectionExtension::export() with the return set to true.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the exported extension as a string, in the same way as the ReflectionExtension::export().

Veja Também

  • ReflectionExtension::__construct() - Constructs a ReflectionExtension
  • ReflectionExtension::export() - Export
  • __toString()


Classe ReflectionFunction

(PHP 5, PHP 7)

Introdução

A classe ReflectionFunction reporta informações sobre uma função.

Sinopse da classe

ReflectionFunction extends ReflectionFunctionAbstract implements Reflector {
/* Constantes */
const integer IS_DEPRECATED = 262144 ;
/* Propriedades */
public $name ;
/* Métodos */
public static export ( string $name , string $return = ? ) : string
public getClosure ( ) : Closure
public invoke ( mixed ...$args ) : mixed
public invokeArgs ( array $args ) : mixed
public isDisabled ( ) : bool
public __toString ( ) : string
/* Métodos herdados */
final private ReflectionFunctionAbstract::__clone ( ) : void
public ReflectionFunctionAbstract::getClosureScopeClass ( ) : ReflectionClass|null
public ReflectionFunctionAbstract::getClosureThis ( ) : object|null
public ReflectionFunctionAbstract::getDocComment ( ) : string|false
public ReflectionFunctionAbstract::getEndLine ( ) : int|false
public ReflectionFunctionAbstract::getExtension ( ) : ReflectionExtension|null
public ReflectionFunctionAbstract::getExtensionName ( ) : string|false
public ReflectionFunctionAbstract::getFileName ( ) : string|false
public ReflectionFunctionAbstract::getName ( ) : string
public ReflectionFunctionAbstract::getNamespaceName ( ) : string
public ReflectionFunctionAbstract::getNumberOfParameters ( ) : int
public ReflectionFunctionAbstract::getNumberOfRequiredParameters ( ) : int
public ReflectionFunctionAbstract::getParameters ( ) : array
public ReflectionFunctionAbstract::getReturnType ( ) : ReflectionType|null
public ReflectionFunctionAbstract::getShortName ( ) : string
public ReflectionFunctionAbstract::getStartLine ( ) : int|false
public ReflectionFunctionAbstract::getStaticVariables ( ) : array
public ReflectionFunctionAbstract::hasReturnType ( ) : bool
public ReflectionFunctionAbstract::inNamespace ( ) : bool
public ReflectionFunctionAbstract::isClosure ( ) : bool
public ReflectionFunctionAbstract::isDeprecated ( ) : bool
public ReflectionFunctionAbstract::isGenerator ( ) : bool
public ReflectionFunctionAbstract::isInternal ( ) : bool
public ReflectionFunctionAbstract::isUserDefined ( ) : bool
public ReflectionFunctionAbstract::isVariadic ( ) : bool
public ReflectionFunctionAbstract::returnsReference ( ) : bool
abstract public ReflectionFunctionAbstract::__toString ( ) : void
}

Propriedades

name

Nome da função. Somente leitura, gera ReflectionException na tentativa de escrita.

Constantes pré-definidas

Modificadores ReflectionFunction

ReflectionFunction::IS_DEPRECATED

Indica funções obsoletas.

Índice

  • ReflectionFunction::__construct — Constructs a ReflectionFunction object
  • ReflectionFunction::export — Exports function
  • ReflectionFunction::getClosure — Returns a dynamically created closure for the function
  • ReflectionFunction::invoke — Invokes function
  • ReflectionFunction::invokeArgs — Invokes function args
  • ReflectionFunction::isDisabled — Checks if function is disabled
  • ReflectionFunction::__toString — To string


Constructs a ReflectionFunction object

  • « ReflectionFunction
  • ReflectionFunction::export »
  • PHP Manual
  • ReflectionFunction
  • Constructs a ReflectionFunction object

ReflectionFunction::__construct

(PHP 5, PHP 7)

ReflectionFunction::__construct — Constructs a ReflectionFunction object

Descrição

public ReflectionFunction::__construct ( Closure|string $function )

Constructs a ReflectionFunction object.

Parâmetros

function

The name of the function to reflect or a closure.

Valor Retornado

Não há valor retornado.

Erros

A ReflectionException if the function parameter does not contain a valid function.

Exemplos

Exemplo #1 ReflectionFunction::__construct() example

<?php
/**
 * A simple counter
 *
 * @return    int
 */
function counter1()
{
    static $c = 0;
    return ++$c;
}

/**
 * Another simple counter
 *
 * @return    int
 */
$counter2 = function()
{
    static $d = 0;
    return ++$d;

};

function dumpReflectionFunction($func)
{
    // Print out basic information
    printf(
        "\n\n===> The %s function '%s'\n".
        "     declared in %s\n".
        "     lines %d to %d\n",
        $func->isInternal() ? 'internal' : 'user-defined',
        $func->getName(),
        $func->getFileName(),
        $func->getStartLine(),
        $func->getEndline()
    );

    // Print documentation comment
    printf("---> Documentation:\n %s\n", var_export($func->getDocComment(), 1));

    // Print static variables if existant
    if ($statics = $func->getStaticVariables())
    {
        printf("---> Static variables: %s\n", var_export($statics, 1));
    }
}

// Create an instance of the ReflectionFunction class
dumpReflectionFunction(new ReflectionFunction('counter1'));
dumpReflectionFunction(new ReflectionFunction($counter2));
?>

O exemplo acima irá imprimir algo similar à:

===> The user-defined function 'counter1'
     declared in Z:\reflectcounter.php
     lines 7 to 11
---> Documentation:
 '/**
 * A simple counter
 *
 * @return    int
 */'
---> Static variables: array (
  'c' => 0,
)

===> The user-defined function '{closure}'
     declared in Z:\reflectcounter.php
     lines 18 to 23
---> Documentation:
 '/**
 * Another simple counter
 *
 * @return    int
 */'
---> Static variables: array (
  'd' => 0,
)

Veja Também

  • ReflectionMethod::__construct() - Constructs a ReflectionMethod
  • Constructors


Exports function

  • « ReflectionFunction::__construct
  • ReflectionFunction::getClosure »
  • PHP Manual
  • ReflectionFunction
  • Exports function

ReflectionFunction::export

(PHP 5, PHP 7)

ReflectionFunction::export — Exports function

Aviso

This function has been DEPRECATED as of PHP 7.4.0. Relying on this function is highly discouraged.

Descrição

public static ReflectionFunction::export ( string $name , string $return = ? ) : string

Exports a Reflected function.

Parâmetros

name

A reflexão para exportar.

return

Passar true irá retornar o export, em vez de emiti-lo. Passar false (padrão) fará o oposto.

Valor Retornado

Se o parâmetro return for true então o export é retornado como uma string, senão retorna null.

Veja Também

  • ReflectionFunction::invoke() - Invokes function
  • ReflectionFunction::__toString() - To string


Returns a dynamically created closure for the function

  • « ReflectionFunction::export
  • ReflectionFunction::invoke »
  • PHP Manual
  • ReflectionFunction
  • Returns a dynamically created closure for the function

ReflectionFunction::getClosure

(PHP 5 >= 5.4.0, PHP 7)

ReflectionFunction::getClosure — Returns a dynamically created closure for the function

Descrição

public ReflectionFunction::getClosure ( ) : Closure

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns Closure. Returns null in case of an error.


Invokes function

  • « ReflectionFunction::getClosure
  • ReflectionFunction::invokeArgs »
  • PHP Manual
  • ReflectionFunction
  • Invokes function

ReflectionFunction::invoke

(PHP 5, PHP 7)

ReflectionFunction::invoke — Invokes function

Descrição

public ReflectionFunction::invoke ( mixed ...$args ) : mixed

Invokes a reflected function.

Parâmetros

args

The passed in argument list. It accepts a variable number of arguments which are passed to the function much like call_user_func() is.

Valor Retornado

Returns the result of the invoked function call.

Exemplos

Exemplo #1 ReflectionFunction::invoke() example

<?php
function title($title, $name)
{
    return sprintf("%s. %s\r\n", $title, $name);
}

$function = new ReflectionFunction('title');

echo $function->invoke('Dr', 'Phil');
?>

O exemplo acima irá imprimir:

Dr. Phil

Notas

Nota:

Se essa função tem argumentos que precisam ser referências, então os parâmetros tem de ser passados como referências nos argumentos.

Veja Também

  • ReflectionFunction::export() - Exports function
  • __invoke()
  • call_user_func() - Chama uma função de usuário dada pelo primeiro parâmetro


Invokes function args

  • « ReflectionFunction::invoke
  • ReflectionFunction::isDisabled »
  • PHP Manual
  • ReflectionFunction
  • Invokes function args

ReflectionFunction::invokeArgs

(PHP 5 >= 5.1.2, PHP 7)

ReflectionFunction::invokeArgs — Invokes function args

Descrição

public ReflectionFunction::invokeArgs ( array $args ) : mixed

Invokes the function and pass its arguments as array.

Parâmetros

args

The passed arguments to the function as an array, much like call_user_func_array() works.

Valor Retornado

Returns the result of the invoked function

Exemplos

Exemplo #1 ReflectionFunction::invokeArgs() example

<?php
function title($title, $name)
{
    return sprintf("%s. %s\r\n", $title, $name);
}

$function = new ReflectionFunction('title');

echo $function->invokeArgs(array('Dr', 'Phil'));
?>

O exemplo acima irá imprimir:

Dr. Phil

Exemplo #2 ReflectionFunction::invokeArgs() with references example

<?php
function get_false_conditions(array $conditions, array &$false_conditions)
{
    foreach ($conditions as $condition) {
        if (!$condition) {
            $false_conditions[] = $condition;
        }
    }
}

$function_ref     = new ReflectionFunction('get_false_conditions');

$conditions       = array(true, false, -1, 0, 1);
$false_conditions = array();

$function_ref->invokeArgs(array($conditions, &$false_conditions));

var_dump($false_conditions);
?>

O exemplo acima irá imprimir:

array(2) {
  [0]=>
  bool(false)
  [1]=>
  int(0)
}

Notas

Nota:

Se essa função tem argumentos que precisam ser referências, então os parâmetros tem de ser passados como referências nos argumentos.

Veja Também

  • ReflectionFunction::invoke() - Invokes function
  • ReflectionFunctionAbstract::getNumberOfParameters() - Gets number of parameters
  • __invoke()
  • call_user_func_array() - Chama uma dada função de usuário com um array de parâmetros


Checks if function is disabled

  • « ReflectionFunction::invokeArgs
  • ReflectionFunction::__toString »
  • PHP Manual
  • ReflectionFunction
  • Checks if function is disabled

ReflectionFunction::isDisabled

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunction::isDisabled — Checks if function is disabled

Aviso

This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

public ReflectionFunction::isDisabled ( ) : bool

Checks if the function is disabled, via the disable_functions directive.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if it's disable, otherwise false

Veja Também

  • ReflectionFunctionAbstract::isUserDefined() - Checks if user defined
  • disable_functions directive


To string

  • « ReflectionFunction::isDisabled
  • ReflectionFunctionAbstract »
  • PHP Manual
  • ReflectionFunction
  • To string

ReflectionFunction::__toString

(PHP 5, PHP 7)

ReflectionFunction::__toString — To string

Descrição

public ReflectionFunction::__toString ( ) : string

To string.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns ReflectionFunction::export()-like output for the function.

Exemplos

Exemplo #1 ReflectionFunction::__toString() example

<?php
function title($title, $name)
{
    return sprintf("%s. %s\r\n", $title, $name);
}

echo new ReflectionFunction('title');
?>

O exemplo acima irá imprimir algo similar à:

Function [ <user> function title ] {
  @@ Command line code 1 - 1

  - Parameters [2] {
    Parameter #0 [ <required> $title ]
    Parameter #1 [ <required> $name ]
  }
}

Veja Também

  • ReflectionFunction::export() - Exports function
  • ReflectionClass::clone()
  • __toString()


The ReflectionFunctionAbstract class

(PHP 5 >= 5.2.0, PHP 7)

Introdução

A parent class to ReflectionFunction, read its description for details.

Sinopse da classe

ReflectionFunctionAbstract implements Reflector {
/* Propriedades */
public $name ;
/* Métodos */
final private __clone ( ) : void
public getClosureScopeClass ( ) : ReflectionClass|null
public getClosureThis ( ) : object|null
public getDocComment ( ) : string|false
public getEndLine ( ) : int|false
public getExtension ( ) : ReflectionExtension|null
public getExtensionName ( ) : string|false
public getFileName ( ) : string|false
public getName ( ) : string
public getNamespaceName ( ) : string
public getNumberOfParameters ( ) : int
public getNumberOfRequiredParameters ( ) : int
public getParameters ( ) : array
public getReturnType ( ) : ReflectionType|null
public getShortName ( ) : string
public getStartLine ( ) : int|false
public getStaticVariables ( ) : array
public hasReturnType ( ) : bool
public inNamespace ( ) : bool
public isClosure ( ) : bool
public isDeprecated ( ) : bool
public isGenerator ( ) : bool
public isInternal ( ) : bool
public isUserDefined ( ) : bool
public isVariadic ( ) : bool
public returnsReference ( ) : bool
abstract public __toString ( ) : void
}

Propriedades

name

Name of the function. Read-only, throws ReflectionException in attempt to write.

Índice

  • ReflectionFunctionAbstract::__clone — Clones function
  • ReflectionFunctionAbstract::getClosureScopeClass — Returns the scope associated to the closure
  • ReflectionFunctionAbstract::getClosureThis — Returns this pointer bound to closure
  • ReflectionFunctionAbstract::getDocComment — Gets doc comment
  • ReflectionFunctionAbstract::getEndLine — Gets end line number
  • ReflectionFunctionAbstract::getExtension — Gets extension info
  • ReflectionFunctionAbstract::getExtensionName — Gets extension name
  • ReflectionFunctionAbstract::getFileName — Gets file name
  • ReflectionFunctionAbstract::getName — Gets function name
  • ReflectionFunctionAbstract::getNamespaceName — Gets namespace name
  • ReflectionFunctionAbstract::getNumberOfParameters — Gets number of parameters
  • ReflectionFunctionAbstract::getNumberOfRequiredParameters — Gets number of required parameters
  • ReflectionFunctionAbstract::getParameters — Gets parameters
  • ReflectionFunctionAbstract::getReturnType — Gets the specified return type of a function
  • ReflectionFunctionAbstract::getShortName — Gets function short name
  • ReflectionFunctionAbstract::getStartLine — Gets starting line number
  • ReflectionFunctionAbstract::getStaticVariables — Gets static variables
  • ReflectionFunctionAbstract::hasReturnType — Checks if the function has a specified return type
  • ReflectionFunctionAbstract::inNamespace — Checks if function in namespace
  • ReflectionFunctionAbstract::isClosure — Checks if closure
  • ReflectionFunctionAbstract::isDeprecated — Checks if deprecated
  • ReflectionFunctionAbstract::isGenerator — Returns whether this function is a generator
  • ReflectionFunctionAbstract::isInternal — Checks if is internal
  • ReflectionFunctionAbstract::isUserDefined — Checks if user defined
  • ReflectionFunctionAbstract::isVariadic — Checks if the function is variadic
  • ReflectionFunctionAbstract::returnsReference — Checks if returns reference
  • ReflectionFunctionAbstract::__toString — To string


Clones function

  • « ReflectionFunctionAbstract
  • ReflectionFunctionAbstract::getClosureScopeClass »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Clones function

ReflectionFunctionAbstract::__clone

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::__clone — Clones function

Descrição

final private ReflectionFunctionAbstract::__clone ( ) : void

Clones a function.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • Object cloning


Returns the scope associated to the closure

  • « ReflectionFunctionAbstract::__clone
  • ReflectionFunctionAbstract::getClosureThis »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Returns the scope associated to the closure

ReflectionFunctionAbstract::getClosureScopeClass

(PHP 5 >= 5.4.0, PHP 7)

ReflectionFunctionAbstract::getClosureScopeClass — Returns the scope associated to the closure

Descrição

public ReflectionFunctionAbstract::getClosureScopeClass ( ) : ReflectionClass|null

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the class on success or null on failure.


Returns this pointer bound to closure

  • « ReflectionFunctionAbstract::getClosureScopeClass
  • ReflectionFunctionAbstract::getDocComment »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Returns this pointer bound to closure

ReflectionFunctionAbstract::getClosureThis

(PHP 5 >= 5.4.0, PHP 7)

ReflectionFunctionAbstract::getClosureThis — Returns this pointer bound to closure

Descrição

public ReflectionFunctionAbstract::getClosureThis ( ) : object|null

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns $this pointer. Returns null in case of an error.


Gets doc comment

  • « ReflectionFunctionAbstract::getClosureThis
  • ReflectionFunctionAbstract::getEndLine »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets doc comment

ReflectionFunctionAbstract::getDocComment

(PHP 5 >= 5.1.0, PHP 7)

ReflectionFunctionAbstract::getDocComment — Gets doc comment

Descrição

public ReflectionFunctionAbstract::getDocComment ( ) : string|false

Get a Doc comment from a function.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The doc comment if it exists, otherwise false

Veja Também

  • ReflectionFunctionAbstract::getStartLine() - Gets starting line number


Gets end line number

  • « ReflectionFunctionAbstract::getDocComment
  • ReflectionFunctionAbstract::getExtension »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets end line number

ReflectionFunctionAbstract::getEndLine

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::getEndLine — Gets end line number

Descrição

public ReflectionFunctionAbstract::getEndLine ( ) : int|false

Get the ending line number.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The ending line number of the user defined function, or false if unknown.

Veja Também

  • ReflectionFunctionAbstract::getStartLine() - Gets starting line number


Gets extension info

  • « ReflectionFunctionAbstract::getEndLine
  • ReflectionFunctionAbstract::getExtensionName »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets extension info

ReflectionFunctionAbstract::getExtension

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::getExtension — Gets extension info

Descrição

public ReflectionFunctionAbstract::getExtension ( ) : ReflectionExtension|null

Get the extension information of a function.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The extension information, as a ReflectionExtension object, or null for user-defined functions.

Veja Também

  • ReflectionFunctionAbstract::getExtensionName() - Gets extension name


Gets extension name

  • « ReflectionFunctionAbstract::getExtension
  • ReflectionFunctionAbstract::getFileName »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets extension name

ReflectionFunctionAbstract::getExtensionName

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::getExtensionName — Gets extension name

Descrição

public ReflectionFunctionAbstract::getExtensionName ( ) : string|false

Get the extensions name.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The name of the extension which defined the function, or false for user-defined functions.

Veja Também

  • ReflectionFunctionAbstract::getExtension() - Gets extension info


Gets file name

  • « ReflectionFunctionAbstract::getExtensionName
  • ReflectionFunctionAbstract::getName »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets file name

ReflectionFunctionAbstract::getFileName

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::getFileName — Gets file name

Descrição

public ReflectionFunctionAbstract::getFileName ( ) : string|false

Gets the file name from a user-defined function.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the filename of the file in which the function has been defined. If the class is defined in the PHP core or in a PHP extension, false is returned.

Veja Também

  • ReflectionFunctionAbstract::getNamespaceName() - Gets namespace name


Gets function name

  • « ReflectionFunctionAbstract::getFileName
  • ReflectionFunctionAbstract::getNamespaceName »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets function name

ReflectionFunctionAbstract::getName

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::getName — Gets function name

Descrição

public ReflectionFunctionAbstract::getName ( ) : string

Get the name of the function.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The name of the function.

Veja Também

  • ReflectionFunctionAbstract::getExtensionName() - Gets extension name
  • ReflectionFunctionAbstract::isUserDefined() - Checks if user defined


Gets namespace name

  • « ReflectionFunctionAbstract::getName
  • ReflectionFunctionAbstract::getNumberOfParameters »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets namespace name

ReflectionFunctionAbstract::getNamespaceName

(PHP 5 >= 5.3.0, PHP 7)

ReflectionFunctionAbstract::getNamespaceName — Gets namespace name

Descrição

public ReflectionFunctionAbstract::getNamespaceName ( ) : string

Get the namespace name where the class is defined.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The namespace name.

Veja Também

  • ReflectionFunctionAbstract::getFileName() - Gets file name
  • namespaces


Gets number of parameters

  • « ReflectionFunctionAbstract::getNamespaceName
  • ReflectionFunctionAbstract::getNumberOfRequiredParameters »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets number of parameters

ReflectionFunctionAbstract::getNumberOfParameters

(PHP 5 >= 5.3.0, PHP 7)

ReflectionFunctionAbstract::getNumberOfParameters — Gets number of parameters

Descrição

public ReflectionFunctionAbstract::getNumberOfParameters ( ) : int

Get the number of parameters that a function defines, both optional and required.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of parameters.

Veja Também

  • ReflectionFunctionAbstract::getNumberOfRequiredParameters() - Gets number of required parameters
  • func_num_args() - Retorna o número de argumentos passados para a função


Gets number of required parameters

  • « ReflectionFunctionAbstract::getNumberOfParameters
  • ReflectionFunctionAbstract::getParameters »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets number of required parameters

ReflectionFunctionAbstract::getNumberOfRequiredParameters

(PHP 5 >= 5.3.0, PHP 7)

ReflectionFunctionAbstract::getNumberOfRequiredParameters — Gets number of required parameters

Descrição

public ReflectionFunctionAbstract::getNumberOfRequiredParameters ( ) : int

Get the number of required parameters that a function defines.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of required parameters.

Veja Também

  • ReflectionFunctionAbstract::getNumberOfParameters() - Gets number of parameters


Gets parameters

  • « ReflectionFunctionAbstract::getNumberOfRequiredParameters
  • ReflectionFunctionAbstract::getReturnType »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets parameters

ReflectionFunctionAbstract::getParameters

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::getParameters — Gets parameters

Descrição

public ReflectionFunctionAbstract::getParameters ( ) : array

Get the parameters as an array of ReflectionParameter.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The parameters, as a ReflectionParameter object.

Veja Também

  • ReflectionFunctionAbstract::getNumberOfParameters() - Gets number of parameters
  • func_get_args() - Retorna um array contendo uma lista de argumentos da função


Gets the specified return type of a function

  • « ReflectionFunctionAbstract::getParameters
  • ReflectionFunctionAbstract::getShortName »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets the specified return type of a function

ReflectionFunctionAbstract::getReturnType

(PHP 7)

ReflectionFunctionAbstract::getReturnType — Gets the specified return type of a function

Descrição

public ReflectionFunctionAbstract::getReturnType ( ) : ReflectionType|null

Gets the specified return type of a reflected function.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a ReflectionType object if a return type is specified, null otherwise.

Exemplos

Exemplo #1 ReflectionFunctionAbstract::getReturnType() example

<?php

function to_int($param) : int {
    return (int) $param;
}

$reflection1 = new ReflectionFunction('to_int');
echo $reflection1->getReturnType();

O exemplo acima irá imprimir:

int

Exemplo #2 Usage on built-in functions

<?php

$reflection2 = new ReflectionFunction('array_merge');

var_dump($reflection2->getReturnType());

O exemplo acima irá imprimir:

null

This is because many internal functions do not have types specified for their parameters or return values. It is therefore best to avoid using this method on built-in functions.

Veja Também

  • ReflectionFunctionAbstract::hasReturnType() - Checks if the function has a specified return type
  • ReflectionType::__toString() - To string


Gets function short name

  • « ReflectionFunctionAbstract::getReturnType
  • ReflectionFunctionAbstract::getStartLine »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets function short name

ReflectionFunctionAbstract::getShortName

(PHP 5 >= 5.3.0, PHP 7)

ReflectionFunctionAbstract::getShortName — Gets function short name

Descrição

public ReflectionFunctionAbstract::getShortName ( ) : string

Get the short name of the function (without the namespace part).

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The short name of the function.

Veja Também

  • ReflectionFunctionAbstract::getNamespaceName() - Gets namespace name
  • namespaces


Gets starting line number

  • « ReflectionFunctionAbstract::getShortName
  • ReflectionFunctionAbstract::getStaticVariables »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets starting line number

ReflectionFunctionAbstract::getStartLine

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::getStartLine — Gets starting line number

Descrição

public ReflectionFunctionAbstract::getStartLine ( ) : int|false

Gets the starting line number of the function.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The starting line number, or false if unknown.

Veja Também

  • ReflectionFunctionAbstract::getEndLine() - Gets end line number


Gets static variables

  • « ReflectionFunctionAbstract::getStartLine
  • ReflectionFunctionAbstract::hasReturnType »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets static variables

ReflectionFunctionAbstract::getStaticVariables

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::getStaticVariables — Gets static variables

Descrição

public ReflectionFunctionAbstract::getStaticVariables ( ) : array

Get the static variables.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of static variables.

Veja Também

  • ReflectionFunctionAbstract::getParameters() - Gets parameters


Checks if the function has a specified return type

  • « ReflectionFunctionAbstract::getStaticVariables
  • ReflectionFunctionAbstract::inNamespace »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Checks if the function has a specified return type

ReflectionFunctionAbstract::hasReturnType

(PHP 7)

ReflectionFunctionAbstract::hasReturnType — Checks if the function has a specified return type

Descrição

public ReflectionFunctionAbstract::hasReturnType ( ) : bool

Checks whether the reflected function has a return type specified.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the function is a specified return type, otherwise false.

Exemplos

Exemplo #1 ReflectionFunctionAbstract::hasReturnType() example

<?php

function to_int($param) : int {
    return (int) $param;
}

$reflection1 = new ReflectionFunction('to_int');
var_dump($reflection1->hasReturnType());

O exemplo acima irá imprimir:

bool(true)

Exemplo #2 Usage on built-in functions

<?php

$reflection2 = new ReflectionFunction('array_merge');

var_dump($reflection2->hasReturnType());

O exemplo acima irá imprimir:

bool(false)

This is because many internal functions do not have types specified for their parameters or return values. It is therefore best to avoid using this method on built-in functions.

Veja Também

  • ReflectionFunctionAbstract::getReturnType() - Gets the specified return type of a function


Checks if function in namespace

  • « ReflectionFunctionAbstract::hasReturnType
  • ReflectionFunctionAbstract::isClosure »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Checks if function in namespace

ReflectionFunctionAbstract::inNamespace

(PHP 5 >= 5.3.0, PHP 7)

ReflectionFunctionAbstract::inNamespace — Checks if function in namespace

Descrição

public ReflectionFunctionAbstract::inNamespace ( ) : bool

Checks whether a function is defined in a namespace.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if it's in a namespace, otherwise false

Veja Também

  • ReflectionFunctionAbstract::getNamespaceName() - Gets namespace name
  • namespaces


Checks if closure

  • « ReflectionFunctionAbstract::inNamespace
  • ReflectionFunctionAbstract::isDeprecated »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Checks if closure

ReflectionFunctionAbstract::isClosure

(PHP 5 >= 5.3.0, PHP 7)

ReflectionFunctionAbstract::isClosure — Checks if closure

Descrição

public ReflectionFunctionAbstract::isClosure ( ) : bool

Checks whether the reflected function is a Closure.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the function is a Closure, otherwise false.

Exemplos

Exemplo #1 ReflectionFunctionAbstract::isClosure() example

<?php
// Non-closure
$function1 = 'str_replace';
$reflection1 = new ReflectionFunction($function1);
var_dump($reflection1->isClosure());

// Closure
$function2 = function () {};
$reflection2 = new ReflectionFunction($function2);
var_dump($reflection2->isClosure());
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)

Veja Também

  • ReflectionFunctionAbstract::isGenerator() - Returns whether this function is a generator


Checks if deprecated

  • « ReflectionFunctionAbstract::isClosure
  • ReflectionFunctionAbstract::isGenerator »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Checks if deprecated

ReflectionFunctionAbstract::isDeprecated

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::isDeprecated — Checks if deprecated

Descrição

public ReflectionFunctionAbstract::isDeprecated ( ) : bool

Checks whether the function is deprecated.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if it's deprecated, otherwise false

Exemplos

Exemplo #1 ReflectionFunctionAbstract::isDeprecated() example

<?php
$rf = new ReflectionFunction('ereg');
var_dump($rf->isDeprecated());
?>

O exemplo acima irá imprimir:

bool(true)

Veja Também

  • ReflectionFunctionAbstract::getDocComment() - Gets doc comment


Returns whether this function is a generator

  • « ReflectionFunctionAbstract::isDeprecated
  • ReflectionFunctionAbstract::isInternal »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Returns whether this function is a generator

ReflectionFunctionAbstract::isGenerator

(PHP 5 >= 5.5.0, PHP 7)

ReflectionFunctionAbstract::isGenerator — Returns whether this function is a generator

Descrição

public ReflectionFunctionAbstract::isGenerator ( ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the function is generator, false if it is not or null on failure.


Checks if is internal

  • « ReflectionFunctionAbstract::isGenerator
  • ReflectionFunctionAbstract::isUserDefined »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Checks if is internal

ReflectionFunctionAbstract::isInternal

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::isInternal — Checks if is internal

Descrição

public ReflectionFunctionAbstract::isInternal ( ) : bool

Checks whether the function is internal, as opposed to user-defined.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if it's internal, otherwise false

Veja Também

  • ReflectionFunctionAbstract::isUserDefined() - Checks if user defined


Checks if user defined

  • « ReflectionFunctionAbstract::isInternal
  • ReflectionFunctionAbstract::isVariadic »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Checks if user defined

ReflectionFunctionAbstract::isUserDefined

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::isUserDefined — Checks if user defined

Descrição

public ReflectionFunctionAbstract::isUserDefined ( ) : bool

Checks whether the function is user-defined, as opposed to internal.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if it's user-defined, otherwise false;

Veja Também

  • ReflectionFunctionAbstract::isInternal() - Checks if is internal


Checks if the function is variadic

  • « ReflectionFunctionAbstract::isUserDefined
  • ReflectionFunctionAbstract::returnsReference »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Checks if the function is variadic

ReflectionFunctionAbstract::isVariadic

(PHP 5 >= 5.6.0, PHP 7)

ReflectionFunctionAbstract::isVariadic — Checks if the function is variadic

Descrição

public ReflectionFunctionAbstract::isVariadic ( ) : bool

Checks if the function is variadic.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the function is variadic, otherwise false.


Checks if returns reference

  • « ReflectionFunctionAbstract::isVariadic
  • ReflectionFunctionAbstract::__toString »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Checks if returns reference

ReflectionFunctionAbstract::returnsReference

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::returnsReference — Checks if returns reference

Descrição

public ReflectionFunctionAbstract::returnsReference ( ) : bool

Checks whether the function returns a reference.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if it returns a reference, otherwise false

Veja Também

  • ReflectionFunctionAbstract::isClosure() - Checks if closure


To string

  • « ReflectionFunctionAbstract::returnsReference
  • ReflectionMethod »
  • PHP Manual
  • ReflectionFunctionAbstract
  • To string

ReflectionFunctionAbstract::__toString

(PHP 5 >= 5.2.0, PHP 7)

ReflectionFunctionAbstract::__toString — To string

Descrição

abstract public ReflectionFunctionAbstract::__toString ( ) : void

To string.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The string.

Veja Também

  • ReflectionClass::clone()
  • __toString()


The ReflectionMethod class

(PHP 5, PHP 7)

Introdução

The ReflectionMethod class reports information about a method.

Sinopse da classe

ReflectionMethod extends ReflectionFunctionAbstract implements Reflector {
/* Constantes */
const int IS_STATIC = 1 ;
const int IS_PUBLIC = 256 ;
const int IS_PROTECTED = 512 ;
const int IS_PRIVATE = 1024 ;
const int IS_ABSTRACT = 2 ;
const int IS_FINAL = 4 ;
/* Propriedades */
public $name ;
public $class ;
/* Métodos */
public __construct ( object|string $objectOrMethod , string $method )
public __construct ( string $classMethod )
public static export ( string $class , string $name , bool $return = false ) : string
public getClosure ( object|null $object = null ) : Closure
public getDeclaringClass ( ) : ReflectionClass
public getModifiers ( ) : int
public getPrototype ( ) : ReflectionMethod
public invoke ( object|null $object , mixed ...$args ) : mixed
public invokeArgs ( object|null $object , array $args ) : mixed
public isAbstract ( ) : bool
public isConstructor ( ) : bool
public isDestructor ( ) : bool
public isFinal ( ) : bool
public isPrivate ( ) : bool
public isProtected ( ) : bool
public isPublic ( ) : bool
public isStatic ( ) : bool
public setAccessible ( bool $accessible ) : void
public __toString ( ) : string
/* Métodos herdados */
final private ReflectionFunctionAbstract::__clone ( ) : void
public ReflectionFunctionAbstract::getClosureScopeClass ( ) : ReflectionClass|null
public ReflectionFunctionAbstract::getClosureThis ( ) : object|null
public ReflectionFunctionAbstract::getDocComment ( ) : string|false
public ReflectionFunctionAbstract::getEndLine ( ) : int|false
public ReflectionFunctionAbstract::getExtension ( ) : ReflectionExtension|null
public ReflectionFunctionAbstract::getExtensionName ( ) : string|false
public ReflectionFunctionAbstract::getFileName ( ) : string|false
public ReflectionFunctionAbstract::getName ( ) : string
public ReflectionFunctionAbstract::getNamespaceName ( ) : string
public ReflectionFunctionAbstract::getNumberOfParameters ( ) : int
public ReflectionFunctionAbstract::getNumberOfRequiredParameters ( ) : int
public ReflectionFunctionAbstract::getParameters ( ) : array
public ReflectionFunctionAbstract::getReturnType ( ) : ReflectionType|null
public ReflectionFunctionAbstract::getShortName ( ) : string
public ReflectionFunctionAbstract::getStartLine ( ) : int|false
public ReflectionFunctionAbstract::getStaticVariables ( ) : array
public ReflectionFunctionAbstract::hasReturnType ( ) : bool
public ReflectionFunctionAbstract::inNamespace ( ) : bool
public ReflectionFunctionAbstract::isClosure ( ) : bool
public ReflectionFunctionAbstract::isDeprecated ( ) : bool
public ReflectionFunctionAbstract::isGenerator ( ) : bool
public ReflectionFunctionAbstract::isInternal ( ) : bool
public ReflectionFunctionAbstract::isUserDefined ( ) : bool
public ReflectionFunctionAbstract::isVariadic ( ) : bool
public ReflectionFunctionAbstract::returnsReference ( ) : bool
abstract public ReflectionFunctionAbstract::__toString ( ) : void
}

Propriedades

name

Method name

class

Class name

Constantes pré-definidas

ReflectionMethod Modifiers

ReflectionMethod::IS_STATIC

Indicates that the method is static.

ReflectionMethod::IS_PUBLIC

Indicates that the method is public.

ReflectionMethod::IS_PROTECTED

Indicates that the method is protected.

ReflectionMethod::IS_PRIVATE

Indicates that the method is private.

ReflectionMethod::IS_ABSTRACT

Indicates that the method is abstract.

ReflectionMethod::IS_FINAL

Indicates that the method is final.

Índice

  • ReflectionMethod::__construct — Constructs a ReflectionMethod
  • ReflectionMethod::export — Export a reflection method
  • ReflectionMethod::getClosure — Returns a dynamically created closure for the method
  • ReflectionMethod::getDeclaringClass — Gets declaring class for the reflected method
  • ReflectionMethod::getModifiers — Gets the method modifiers
  • ReflectionMethod::getPrototype — Gets the method prototype (if there is one)
  • ReflectionMethod::invoke — Invoke
  • ReflectionMethod::invokeArgs — Invoke args
  • ReflectionMethod::isAbstract — Checks if method is abstract
  • ReflectionMethod::isConstructor — Checks if method is a constructor
  • ReflectionMethod::isDestructor — Checks if method is a destructor
  • ReflectionMethod::isFinal — Checks if method is final
  • ReflectionMethod::isPrivate — Checks if method is private
  • ReflectionMethod::isProtected — Checks if method is protected
  • ReflectionMethod::isPublic — Checks if method is public
  • ReflectionMethod::isStatic — Checks if method is static
  • ReflectionMethod::setAccessible — Set method accessibility
  • ReflectionMethod::__toString — Returns the string representation of the Reflection method object


Constructs a ReflectionMethod

  • « ReflectionMethod
  • ReflectionMethod::export »
  • PHP Manual
  • ReflectionMethod
  • Constructs a ReflectionMethod

ReflectionMethod::__construct

(PHP 5, PHP 7)

ReflectionMethod::__construct — Constructs a ReflectionMethod

Descrição

public ReflectionMethod::__construct ( object|string $objectOrMethod , string $method )

Alternative signature (not supported with named arguments):

public ReflectionMethod::__construct ( string $classMethod )

Constructs a new ReflectionMethod.

Parâmetros

objectOrMethod

Classname or object (instance of the class) that contains the method.

method

Name of the method.

classMethod

Class name and method name delimited by ::.

Valor Retornado

Não há valor retornado.

Erros

A ReflectionException is thrown if the given method does not exist.

Exemplos

Exemplo #1 ReflectionMethod::__construct() example

<?php
class Counter
{
    private static $c = 0;

    /**
     * Increment counter
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */
    final public static function increment()
    {
        return ++self::$c;
    }
}

// Create an instance of the ReflectionMethod class
$method = new ReflectionMethod('Counter', 'increment');

// Print out basic information
printf(
    "===> The %s%s%s%s%s%s%s method '%s' (which is %s)\n" .
    "     declared in %s\n" .
    "     lines %d to %d\n" .
    "     having the modifiers %d[%s]\n",
        $method->isInternal() ? 'internal' : 'user-defined',
        $method->isAbstract() ? ' abstract' : '',
        $method->isFinal() ? ' final' : '',
        $method->isPublic() ? ' public' : '',
        $method->isPrivate() ? ' private' : '',
        $method->isProtected() ? ' protected' : '',
        $method->isStatic() ? ' static' : '',
        $method->getName(),
        $method->isConstructor() ? 'the constructor' : 'a regular method',
        $method->getFileName(),
        $method->getStartLine(),
        $method->getEndline(),
        $method->getModifiers(),
        implode(' ', Reflection::getModifierNames($method->getModifiers()))
);

// Print documentation comment
printf("---> Documentation:\n %s\n", var_export($method->getDocComment(), true));

// Print static variables if existant
if ($statics= $method->getStaticVariables()) {
    printf("---> Static variables: %s\n", var_export($statics, true));
}

// Invoke the method
printf("---> Invocation results in: ");
var_dump($method->invoke(NULL));
?>

O exemplo acima irá imprimir algo similar à:

===> The user-defined final public static method 'increment' (which is a regular method)
     declared in /Users/philip/cvs/phpdoc/test.php
     lines 14 to 17
     having the modifiers 261[final public static]
---> Documentation:
 '/**
     * Increment counter
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */'
---> Invocation results in: int(1)

Veja Também

  • ReflectionMethod::export() - Export a reflection method
  • Constructors


Export a reflection method

  • « ReflectionMethod::__construct
  • ReflectionMethod::getClosure »
  • PHP Manual
  • ReflectionMethod
  • Export a reflection method

ReflectionMethod::export

(PHP 5, PHP 7)

ReflectionMethod::export — Export a reflection method

Aviso

This function has been DEPRECATED as of PHP 7.4.0. Relying on this function is highly discouraged.

Descrição

public static ReflectionMethod::export ( string $class , string $name , bool $return = false ) : string

Exports a ReflectionMethod.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

class

The class name.

name

The name of the method.

return

Passar true irá retornar o export, em vez de emiti-lo. Passar false (padrão) fará o oposto.

Valor Retornado

Se o parâmetro return for true então o export é retornado como uma string, senão retorna null.

Veja Também

  • ReflectionMethod::__construct() - Constructs a ReflectionMethod
  • ReflectionMethod::__toString() - Returns the string representation of the Reflection method object


Returns a dynamically created closure for the method

  • « ReflectionMethod::export
  • ReflectionMethod::getDeclaringClass »
  • PHP Manual
  • ReflectionMethod
  • Returns a dynamically created closure for the method

ReflectionMethod::getClosure

(PHP 5 >= 5.4.0, PHP 7)

ReflectionMethod::getClosure — Returns a dynamically created closure for the method

Descrição

public ReflectionMethod::getClosure ( object|null $object = null ) : Closure

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

object

Forbidden for static methods, required for other methods.

Valor Retornado

Returns Closure. Returns null in case of an error.

Changelog

Versão | Descrição
8.0.0 | object is now nullable.


Gets declaring class for the reflected method

  • « ReflectionMethod::getClosure
  • ReflectionMethod::getModifiers »
  • PHP Manual
  • ReflectionMethod
  • Gets declaring class for the reflected method

ReflectionMethod::getDeclaringClass

(PHP 5, PHP 7)

ReflectionMethod::getDeclaringClass — Gets declaring class for the reflected method

Descrição

public ReflectionMethod::getDeclaringClass ( ) : ReflectionClass

Gets the declaring class for the reflected method.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A ReflectionClass object of the class that the reflected method is part of.

Exemplos

Exemplo #1 ReflectionMethod::getDeclaringClass() example

<?php
class HelloWorld {

    protected function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod(new HelloWorld(), 'sayHelloTo');
var_dump($reflectionMethod->getDeclaringClass());
?>

O exemplo acima irá imprimir:

object(ReflectionClass)#2 (1) {
  ["name"]=>
  string(10) "HelloWorld"
}

Veja Também

  • ReflectionMethod::isAbstract() - Checks if method is abstract


Gets the method modifiers

  • « ReflectionMethod::getDeclaringClass
  • ReflectionMethod::getPrototype »
  • PHP Manual
  • ReflectionMethod
  • Gets the method modifiers

ReflectionMethod::getModifiers

(PHP 5, PHP 7)

ReflectionMethod::getModifiers — Gets the method modifiers

Descrição

public ReflectionMethod::getModifiers ( ) : int

Returns a bitfield of the access modifiers for this method.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A numeric representation of the modifiers. The modifiers are listed below. The actual meanings of these modifiers are described in the predefined constants.

Exemplos

Exemplo #1 ReflectionMethod::getModifiers() example

<?php
class Testing
{
    final public static function foo()
    {
        return;
    }
    public function bar()
    {
        return;
    }
}

$foo = new ReflectionMethod('Testing', 'foo');

echo "Modifiers for method foo():\n";
echo $foo->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($foo->getModifiers())) . "\n";

$bar = new ReflectionMethod('Testing', 'bar');

echo "Modifiers for method bar():\n";
echo $bar->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($bar->getModifiers()));
?>

O exemplo acima irá imprimir algo similar à:

Modifiers for method foo():
261
final public static
Modifiers for method bar():
65792
public

Veja Também

  • Reflection::getModifierNames() - Gets modifier names


Gets the method prototype (if there is one)

  • « ReflectionMethod::getModifiers
  • ReflectionMethod::invoke »
  • PHP Manual
  • ReflectionMethod
  • Gets the method prototype (if there is one)

ReflectionMethod::getPrototype

(PHP 5 >= 5.1.2, PHP 7)

ReflectionMethod::getPrototype — Gets the method prototype (if there is one)

Descrição

public ReflectionMethod::getPrototype ( ) : ReflectionMethod

Returns the methods prototype.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A ReflectionMethod instance of the method prototype.

Erros

A ReflectionException exception is thrown if the method does not have a prototype.

Exemplos

Exemplo #1 ReflectionMethod::getPrototype() example

<?php
class Hello {

    public function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}
class HelloWorld extends Hello {

    public function sayHelloTo($name) {
        return 'Hello world: ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
var_dump($reflectionMethod->getPrototype());
?>

O exemplo acima irá imprimir:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(10) "sayHelloTo"
  ["class"]=>
  string(5) "Hello"
}

Veja Também

  • ReflectionMethod::getModifiers() - Gets the method modifiers


Invoke

  • « ReflectionMethod::getPrototype
  • ReflectionMethod::invokeArgs »
  • PHP Manual
  • ReflectionMethod
  • Invoke

ReflectionMethod::invoke

(PHP 5, PHP 7)

ReflectionMethod::invoke — Invoke

Descrição

public ReflectionMethod::invoke ( object|null $object , mixed ...$args ) : mixed

Invokes a reflected method.

Parâmetros

object

The object to invoke the method on. For static methods, pass null to this parameter.

args

Zero or more parameters to be passed to the method. It accepts a variable number of parameters which are passed to the method.

Valor Retornado

Returns the method result.

Erros

A ReflectionException if the object parameter does not contain an instance of the class that this method was declared in.

A ReflectionException if the method invocation failed.

Exemplos

Exemplo #1 ReflectionMethod::invoke() example

<?php
class HelloWorld {

    public function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invoke(new HelloWorld(), 'Mike');
?>

O exemplo acima irá imprimir:

Hello Mike

Notas

Nota:

Se essa função tem argumentos que precisam ser referências, então os parâmetros tem de ser passados como referências nos argumentos.

Veja Também

  • ReflectionMethod::invokeArgs() - Invoke args
  • __invoke()
  • call_user_func() - Chama uma função de usuário dada pelo primeiro parâmetro


Invoke args

  • « ReflectionMethod::invoke
  • ReflectionMethod::isAbstract »
  • PHP Manual
  • ReflectionMethod
  • Invoke args

ReflectionMethod::invokeArgs

(PHP 5 >= 5.1.2, PHP 7)

ReflectionMethod::invokeArgs — Invoke args

Descrição

public ReflectionMethod::invokeArgs ( object|null $object , array $args ) : mixed

Invokes the reflected method and pass its arguments as array.

Parâmetros

object

The object to invoke the method on. In case of static methods, you can pass null to this parameter.

args

The parameters to be passed to the function, as an array.

Valor Retornado

Returns the method result.

Erros

A ReflectionException if the object parameter does not contain an instance of the class that this method was declared in.

A ReflectionException if the method invocation failed.

Exemplos

Exemplo #1 ReflectionMethod::invokeArgs() example

<?php
class HelloWorld {

    public function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invokeArgs(new HelloWorld(), array('Mike'));
?>

O exemplo acima irá imprimir:

Hello Mike

Notas

Nota:

Se essa função tem argumentos que precisam ser referências, então os parâmetros tem de ser passados como referências nos argumentos.

Veja Também

  • ReflectionMethod::invoke() - Invoke
  • __invoke()
  • call_user_func_array() - Chama uma dada função de usuário com um array de parâmetros


Checks if method is abstract

  • « ReflectionMethod::invokeArgs
  • ReflectionMethod::isConstructor »
  • PHP Manual
  • ReflectionMethod
  • Checks if method is abstract

ReflectionMethod::isAbstract

(PHP 5, PHP 7)

ReflectionMethod::isAbstract — Checks if method is abstract

Descrição

public ReflectionMethod::isAbstract ( ) : bool

Checks if the method is abstract.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the method is abstract, otherwise false

Veja Também

  • ReflectionMethod::getDeclaringClass() - Gets declaring class for the reflected method


Checks if method is a constructor

  • « ReflectionMethod::isAbstract
  • ReflectionMethod::isDestructor »
  • PHP Manual
  • ReflectionMethod
  • Checks if method is a constructor

ReflectionMethod::isConstructor

(PHP 5, PHP 7)

ReflectionMethod::isConstructor — Checks if method is a constructor

Descrição

public ReflectionMethod::isConstructor ( ) : bool

Checks if the method is a constructor.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the method is a constructor, otherwise false

Veja Também

  • ReflectionMethod::__construct() - Constructs a ReflectionMethod
  • ReflectionMethod::isAbstract() - Checks if method is abstract
  • ReflectionMethod::isDestructor() - Checks if method is a destructor


Checks if method is a destructor

  • « ReflectionMethod::isConstructor
  • ReflectionMethod::isFinal »
  • PHP Manual
  • ReflectionMethod
  • Checks if method is a destructor

ReflectionMethod::isDestructor

(PHP 5, PHP 7)

ReflectionMethod::isDestructor — Checks if method is a destructor

Descrição

public ReflectionMethod::isDestructor ( ) : bool

Checks if the method is a destructor.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the method is a destructor, otherwise false

Veja Também

  • ReflectionMethod::isConstructor() - Checks if method is a constructor


Checks if method is final

  • « ReflectionMethod::isDestructor
  • ReflectionMethod::isPrivate »
  • PHP Manual
  • ReflectionMethod
  • Checks if method is final

ReflectionMethod::isFinal

(PHP 5, PHP 7)

ReflectionMethod::isFinal — Checks if method is final

Descrição

public ReflectionMethod::isFinal ( ) : bool

Checks if the method is final.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the method is final, otherwise false

Veja Também

  • ReflectionMethod::isStatic() - Checks if method is static


Checks if method is private

  • « ReflectionMethod::isFinal
  • ReflectionMethod::isProtected »
  • PHP Manual
  • ReflectionMethod
  • Checks if method is private

ReflectionMethod::isPrivate

(PHP 5, PHP 7)

ReflectionMethod::isPrivate — Checks if method is private

Descrição

public ReflectionMethod::isPrivate ( ) : bool

Checks if the method is private.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the method is private, otherwise false

Veja Também

  • ReflectionMethod::isPublic() - Checks if method is public


Checks if method is protected

  • « ReflectionMethod::isPrivate
  • ReflectionMethod::isPublic »
  • PHP Manual
  • ReflectionMethod
  • Checks if method is protected

ReflectionMethod::isProtected

(PHP 5, PHP 7)

ReflectionMethod::isProtected — Checks if method is protected

Descrição

public ReflectionMethod::isProtected ( ) : bool

Checks if the method is protected.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the method is protected, otherwise false

Veja Também

  • ReflectionMethod::isPrivate() - Checks if method is private


Checks if method is public

  • « ReflectionMethod::isProtected
  • ReflectionMethod::isStatic »
  • PHP Manual
  • ReflectionMethod
  • Checks if method is public

ReflectionMethod::isPublic

(PHP 5, PHP 7)

ReflectionMethod::isPublic — Checks if method is public

Descrição

public ReflectionMethod::isPublic ( ) : bool

Checks if the method is public.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the method is public, otherwise false

Veja Também

  • ReflectionMethod::isPrivate() - Checks if method is private


Checks if method is static

  • « ReflectionMethod::isPublic
  • ReflectionMethod::setAccessible »
  • PHP Manual
  • ReflectionMethod
  • Checks if method is static

ReflectionMethod::isStatic

(PHP 5, PHP 7)

ReflectionMethod::isStatic — Checks if method is static

Descrição

public ReflectionMethod::isStatic ( ) : bool

Checks if the method is static.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the method is static, otherwise false

Veja Também

  • ReflectionMethod::isFinal() - Checks if method is final


Set method accessibility

  • « ReflectionMethod::isStatic
  • ReflectionMethod::__toString »
  • PHP Manual
  • ReflectionMethod
  • Set method accessibility

ReflectionMethod::setAccessible

(PHP 5 >= 5.3.2, PHP 7)

ReflectionMethod::setAccessible — Set method accessibility

Descrição

public ReflectionMethod::setAccessible ( bool $accessible ) : void

Enables invoking of a protected or private method via the ReflectionMethod::invoke() method.

Parâmetros

accessible

true to allow accessibility, or false.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Simple Class definition

<?php
class MyClass
{
    private function foo()
    {
        return 'bar';
    }
}

$method = new ReflectionMethod("MyClass", "foo");
$method->setAccessible(true);

$obj = new MyClass();
echo $method->invoke($obj);
echo $obj->foo();
?>

O exemplo acima irá imprimir algo similar à:

bar
Fatal error: Uncaught Error: Call to private method MyClass::foo() from global scope in /in/qdaZS:16

Veja Também

  • ReflectionMethod::isPrivate() - Checks if method is private
  • ReflectionMethod::isProtected() - Checks if method is protected


Returns the string representation of the Reflection method object

  • « ReflectionMethod::setAccessible
  • ReflectionNamedType »
  • PHP Manual
  • ReflectionMethod
  • Returns the string representation of the Reflection method object

ReflectionMethod::__toString

(PHP 5, PHP 7)

ReflectionMethod::__toString — Returns the string representation of the Reflection method object

Descrição

public ReflectionMethod::__toString ( ) : string

Returns the string representation of the Reflection method object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A string representation of this ReflectionMethod instance.

Exemplos

Exemplo #1 ReflectionMethod::__toString() example

<?php
class HelloWorld {

    public function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod(new HelloWorld(), 'sayHelloTo');
echo $reflectionMethod;
?>

O exemplo acima irá imprimir:

Method [ <user> public method sayHelloTo ] {
  @@ /var/www/examples/reflection.php 16 - 18

  - Parameters [1] {
    Parameter #0 [ <required> $name ]
  }
}

Veja Também

  • ReflectionMethod::export() - Export a reflection method
  • __toString()


The ReflectionNamedType class

(PHP 7 >= 7.1.0)

Introdução

Sinopse da classe

ReflectionNamedType extends ReflectionType {
/* Métodos */
public getName ( ) : string
public isBuiltin ( ) : bool
/* Métodos herdados */
public ReflectionType::allowsNull ( ) : bool
public ReflectionType::__toString ( ) : string
}

Índice

  • ReflectionNamedType::getName — Obtém o texto do tipo sugerido
  • ReflectionNamedType::isBuiltin — Checks if it is a built-in type


Obtém o texto do tipo sugerido

  • « ReflectionNamedType
  • ReflectionNamedType::isBuiltin »
  • PHP Manual
  • ReflectionNamedType
  • Obtém o texto do tipo sugerido

ReflectionNamedType::getName

(PHP 7 >= 7.1.0)

ReflectionNamedType::getName — Obtém o texto do tipo sugerido

Descrição

public ReflectionNamedType::getName ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o texto do tipo sugerido.

Veja Também

  • ReflectionType::__toString() - To string


Checks if it is a built-in type

  • « ReflectionNamedType::getName
  • ReflectionObject »
  • PHP Manual
  • ReflectionNamedType
  • Checks if it is a built-in type

ReflectionNamedType::isBuiltin

(PHP 7)

ReflectionNamedType::isBuiltin — Checks if it is a built-in type

Descrição

public ReflectionNamedType::isBuiltin ( ) : bool

Checks if the type is a built-in type in PHP.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if it's a built-in type, otherwise false

Exemplos

Exemplo #1 ReflectionNamedType::isBuiltin() example

<?php
class SomeClass {}

function someFunction(string $param, SomeClass $param2, StdClass $param3) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();

var_dump($reflectionParams[0]->getType()->isBuiltin());
var_dump($reflectionParams[1]->getType()->isBuiltin());
var_dump($reflectionParams[2]->getType()->isBuiltin());

O exemplo acima irá imprimir:

bool(true)
bool(false)
bool(false)

Note that the ReflectionNamedType::isBuiltin() method does not distinguish between internal and custom classes. To make this distinction, the ReflectionClass::isInternal() method should be used on the returned class name.

Veja Também

  • ReflectionType::allowsNull() - Checks if null is allowed
  • ReflectionType::__toString() - To string
  • ReflectionClass::isInternal() - Checks if class is defined internally by an extension, or the core
  • ReflectionParameter::getType() - Gets a parameter's type


The ReflectionObject class

(PHP 5, PHP 7)

Introdução

The ReflectionObject class reports information about an object.

Sinopse da classe

ReflectionObject extends ReflectionClass implements Reflector {
/* Constantes herdadas */
const integer ReflectionClass::IS_IMPLICIT_ABSTRACT = 16 ;
const integer ReflectionClass::IS_EXPLICIT_ABSTRACT = 32 ;
const integer ReflectionClass::IS_FINAL = 64 ;
/* Propriedades */
public $name ;
/* Métodos */
public __construct ( object $object )
public static export ( string $argument , bool $return = ? ) : string
/* Métodos herdados */
public static ReflectionClass::export ( mixed $argument , bool $return = false ) : string
public ReflectionClass::getConstant ( string $name ) : mixed
public ReflectionClass::getConstants ( int|null $filter = null ) : array
public ReflectionClass::getConstructor ( ) : ReflectionMethod|null
public ReflectionClass::getDefaultProperties ( ) : array
public ReflectionClass::getDocComment ( ) : string|false
public ReflectionClass::getEndLine ( ) : int|false
public ReflectionClass::getExtension ( ) : ReflectionExtension|null
public ReflectionClass::getExtensionName ( ) : string|false
public ReflectionClass::getFileName ( ) : string|false
public ReflectionClass::getInterfaceNames ( ) : array
public ReflectionClass::getInterfaces ( ) : array
public ReflectionClass::getMethod ( string $name ) : ReflectionMethod
public ReflectionClass::getMethods ( int|null $filter = null ) : array
public ReflectionClass::getModifiers ( ) : int
public ReflectionClass::getName ( ) : string
public ReflectionClass::getNamespaceName ( ) : string
public ReflectionClass::getParentClass ( ) : ReflectionClass|false
public ReflectionClass::getProperties ( int|null $filter = null ) : array
public ReflectionClass::getProperty ( string $name ) : ReflectionProperty
public ReflectionClass::getReflectionConstant ( string $name ) : ReflectionClassConstant|false
public ReflectionClass::getReflectionConstants ( int|null $filter = null ) : array
public ReflectionClass::getShortName ( ) : string
public ReflectionClass::getStartLine ( ) : int|false
public ReflectionClass::getStaticProperties ( ) : array|null
public ReflectionClass::getStaticPropertyValue ( string $name , mixed &$def_value = ? ) : mixed
public ReflectionClass::getTraitAliases ( ) : array
public ReflectionClass::getTraitNames ( ) : array
public ReflectionClass::getTraits ( ) : array
public ReflectionClass::hasConstant ( string $name ) : bool
public ReflectionClass::hasMethod ( string $name ) : bool
public ReflectionClass::hasProperty ( string $name ) : bool
public ReflectionClass::implementsInterface ( ReflectionClass|string $interface ) : bool
public ReflectionClass::inNamespace ( ) : bool
public ReflectionClass::isAbstract ( ) : bool
public ReflectionClass::isAnonymous ( ) : bool
public ReflectionClass::isCloneable ( ) : bool
public ReflectionClass::isFinal ( ) : bool
public ReflectionClass::isInstance ( object $object ) : bool
public ReflectionClass::isInstantiable ( ) : bool
public ReflectionClass::isInterface ( ) : bool
public ReflectionClass::isInternal ( ) : bool
public ReflectionClass::isIterable ( ) : bool
public ReflectionClass::isSubclassOf ( ReflectionClass|string $class ) : bool
public ReflectionClass::isTrait ( ) : bool
public ReflectionClass::isUserDefined ( ) : bool
public ReflectionClass::newInstance ( mixed ...$args ) : object
public ReflectionClass::newInstanceArgs ( array $args = [] ) : object
public ReflectionClass::newInstanceWithoutConstructor ( ) : object
public ReflectionClass::setStaticPropertyValue ( string $name , mixed $value ) : void
public ReflectionClass::__toString ( ) : string
}

Propriedades

name

Name of the object's class. Read-only, throws ReflectionException in attempt to write.

Índice

  • ReflectionObject::__construct — Constructs a ReflectionObject
  • ReflectionObject::export — Export


Constructs a ReflectionObject

  • « ReflectionObject
  • ReflectionObject::export »
  • PHP Manual
  • ReflectionObject
  • Constructs a ReflectionObject

ReflectionObject::__construct

(PHP 5, PHP 7)

ReflectionObject::__construct — Constructs a ReflectionObject

Descrição

public ReflectionObject::__construct ( object $object )

Constructs a ReflectionObject.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

object

An object instance.

Valor Retornado

Não há valor retornado.

Veja Também

  • ReflectionObject::export() - Export
  • Constructors


Export

  • « ReflectionObject::__construct
  • ReflectionParameter »
  • PHP Manual
  • ReflectionObject
  • Export

ReflectionObject::export

(PHP 5, PHP 7)

ReflectionObject::export — Export

Descrição

public static ReflectionObject::export ( string $argument , bool $return = ? ) : string

Exports a reflection.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

argument

A reflexão para exportar.

return

Passar true irá retornar o export, em vez de emiti-lo. Passar false (padrão) fará o oposto.

Valor Retornado

Se o parâmetro return for true então o export é retornado como uma string, senão retorna null.

Veja Também

  • ReflectionObject::__construct() - Constructs a ReflectionObject


The ReflectionParameter class

(PHP 5, PHP 7)

Introdução

The ReflectionParameter class retrieves information about function's or method's parameters.

To introspect function parameters, first create an instance of the ReflectionFunction or ReflectionMethod classes and then use their ReflectionFunctionAbstract::getParameters() method to retrieve an array of parameters.

Sinopse da classe

ReflectionParameter implements Reflector {
/* Propriedades */
public $name ;
/* Métodos */
public __construct ( string|array|object $function , int|string $param )
public allowsNull ( ) : bool
public canBePassedByValue ( ) : bool
final private __clone ( ) : void
public static export ( string $function , string $parameter , bool $return = ? ) : string
public getClass ( ) : ReflectionClass|null
public getDeclaringClass ( ) : ReflectionClass|null
public getDeclaringFunction ( ) : ReflectionFunctionAbstract
public getDefaultValue ( ) : mixed
public getDefaultValueConstantName ( ) : string|null
public getName ( ) : string
public getPosition ( ) : int
public getType ( ) : ReflectionType|null
public hasType ( ) : bool
public isArray ( ) : bool
public isCallable ( ) : bool
public isDefaultValueAvailable ( ) : bool
public isDefaultValueConstant ( ) : bool
public isOptional ( ) : bool
public isPassedByReference ( ) : bool
public isVariadic ( ) : bool
public __toString ( ) : string
}

Propriedades

name

Name of the parameter. Read-only, throws ReflectionException in attempt to write.

Índice

  • ReflectionParameter::allowsNull — Checks if null is allowed
  • ReflectionParameter::canBePassedByValue — Returns whether this parameter can be passed by value
  • ReflectionParameter::__clone — Clone
  • ReflectionParameter::__construct — Construct
  • ReflectionParameter::export — Exports
  • ReflectionParameter::getClass — Get the type hinted class
  • ReflectionParameter::getDeclaringClass — Gets declaring class
  • ReflectionParameter::getDeclaringFunction — Gets declaring function
  • ReflectionParameter::getDefaultValue — Gets default parameter value
  • ReflectionParameter::getDefaultValueConstantName — Returns the default value's constant name if default value is constant or null
  • ReflectionParameter::getName — Gets parameter name
  • ReflectionParameter::getPosition — Gets parameter position
  • ReflectionParameter::getType — Gets a parameter's type
  • ReflectionParameter::hasType — Checks if parameter has a type
  • ReflectionParameter::isArray — Checks if parameter expects an array
  • ReflectionParameter::isCallable — Returns whether parameter MUST be callable
  • ReflectionParameter::isDefaultValueAvailable — Checks if a default value is available
  • ReflectionParameter::isDefaultValueConstant — Returns whether the default value of this parameter is a constant
  • ReflectionParameter::isOptional — Checks if optional
  • ReflectionParameter::isPassedByReference — Checks if passed by reference
  • ReflectionParameter::isVariadic — Checks if the parameter is variadic
  • ReflectionParameter::__toString — To string


Checks if null is allowed

  • « ReflectionParameter
  • ReflectionParameter::canBePassedByValue »
  • PHP Manual
  • ReflectionParameter
  • Checks if null is allowed

ReflectionParameter::allowsNull

(PHP 5, PHP 7)

ReflectionParameter::allowsNull — Checks if null is allowed

Descrição

public ReflectionParameter::allowsNull ( ) : bool

Checks whether the parameter allows null.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if null is allowed, otherwise false

Veja Também

  • ReflectionParameter::isOptional() - Checks if optional


Returns whether this parameter can be passed by value

  • « ReflectionParameter::allowsNull
  • ReflectionParameter::__clone »
  • PHP Manual
  • ReflectionParameter
  • Returns whether this parameter can be passed by value

ReflectionParameter::canBePassedByValue

(PHP 5 >= 5.4.0, PHP 7)

ReflectionParameter::canBePassedByValue — Returns whether this parameter can be passed by value

Descrição

public ReflectionParameter::canBePassedByValue ( ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the parameter can be passed by value, false otherwise. Returns null in case of an error.


Clone

  • « ReflectionParameter::canBePassedByValue
  • ReflectionParameter::__construct »
  • PHP Manual
  • ReflectionParameter
  • Clone

ReflectionParameter::__clone

(PHP 5, PHP 7)

ReflectionParameter::__clone — Clone

Descrição

final private ReflectionParameter::__clone ( ) : void

Clones.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • ReflectionParameter::toString()
  • Object cloning


Construct

  • « ReflectionParameter::__clone
  • ReflectionParameter::export »
  • PHP Manual
  • ReflectionParameter
  • Construct

ReflectionParameter::__construct

(PHP 5, PHP 7)

ReflectionParameter::__construct — Construct

Descrição

public ReflectionParameter::__construct ( string|array|object $function , int|string $param )

Constructs a ReflectionParameter instance.

Parâmetros

function

The function to reflect parameters from.

param

Either an int specifying the position of the parameter (starting with zero), or the parameter name as string.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Using the ReflectionParameter class

<?php
function foo($a, $b, $c) { }
function bar(Exception $a, &$b, $c) { }
function baz(ReflectionFunction $a, $b = 1, $c = null) { }
function abc() { }

$reflect = new ReflectionFunction('foo');

echo $reflect;

foreach ($reflect->getParameters() as $i => $param) {
    printf(
        "-- Parameter #%d: %s {\n".
        "   Class: %s\n".
        "   Allows NULL: %s\n".
        "   Passed to by reference: %s\n".
        "   Is optional?: %s\n".
        "}\n",
        $i, // $param->getPosition() can be used from PHP 5.2.3
        $param->getName(),
        var_export($param->getClass(), 1),
        var_export($param->allowsNull(), 1),
        var_export($param->isPassedByReference(), 1),
        $param->isOptional() ? 'yes' : 'no'
    );
}
?>

O exemplo acima irá imprimir algo similar à:

Function [ <user> function foo ] {
  @@ /Users/philip/cvs/phpdoc/a 2 - 2

  - Parameters [3] {
    Parameter #0 [ <required> $a ]
    Parameter #1 [ <required> $b ]
    Parameter #2 [ <required> $c ]
  }
}
-- Parameter #0: a {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}
-- Parameter #1: b {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}
-- Parameter #2: c {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}

Veja Também

  • ReflectionFunctionAbstract::getParameters() - Gets parameters
  • ReflectionFunction::__construct() - Constructs a ReflectionFunction object
  • ReflectionMethod::__construct() - Constructs a ReflectionMethod
  • Constructors


Exports

  • « ReflectionParameter::__construct
  • ReflectionParameter::getClass »
  • PHP Manual
  • ReflectionParameter
  • Exports

ReflectionParameter::export

(PHP 5, PHP 7)

ReflectionParameter::export — Exports

Aviso

This function has been DEPRECATED as of PHP 7.4.0. Relying on this function is highly discouraged.

Descrição

public static ReflectionParameter::export ( string $function , string $parameter , bool $return = ? ) : string

Exports.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

function

The function name.

parameter

The parameter name.

return

Passar true irá retornar o export, em vez de emiti-lo. Passar false (padrão) fará o oposto.

Valor Retornado

The exported reflection.

Veja Também

  • ReflectionParameter::__toString() - To string


Get the type hinted class

  • « ReflectionParameter::export
  • ReflectionParameter::getDeclaringClass »
  • PHP Manual
  • ReflectionParameter
  • Get the type hinted class

ReflectionParameter::getClass

(PHP 5, PHP 7)

ReflectionParameter::getClass — Get the type hinted class

Aviso

This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

public ReflectionParameter::getClass ( ) : ReflectionClass|null

Gets the class type hinted for the parameter as a ReflectionClass object.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A ReflectionClass object, or null if no type is declared, or the declared type is not a class or interface.

Exemplos

Exemplo #1 Using the ReflectionParameter class

<?php
function foo(Exception $a) { }

$functionReflection = new ReflectionFunction('foo');
$parameters = $functionReflection->getParameters();
$aParameter = $parameters[0];

echo $aParameter->getClass()->name;
?>

O exemplo acima irá imprimir:

Exception

Veja Também

  • ReflectionParameter::getDeclaringClass() - Gets declaring class


Gets declaring class

  • « ReflectionParameter::getClass
  • ReflectionParameter::getDeclaringFunction »
  • PHP Manual
  • ReflectionParameter
  • Gets declaring class

ReflectionParameter::getDeclaringClass

(PHP 5 >= 5.1.3, PHP 7)

ReflectionParameter::getDeclaringClass — Gets declaring class

Descrição

public ReflectionParameter::getDeclaringClass ( ) : ReflectionClass|null

Gets the declaring class.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A ReflectionClass object or null if called on function.

Exemplos

Exemplo #1 Getting the class that declared the method

<?php
class Foo
{
    public function bar(\DateTime $datetime)
    {
    }
}

class Baz extends Foo
{
}

$param = new \ReflectionParameter(['Baz', 'bar'], 0);

var_dump($param->getDeclaringClass());

O exemplo acima irá imprimir:

object(ReflectionClass)#2 (1) {
  ["name"]=>
  string(3) "Foo"
}

Veja Também

  • ReflectionParameter::getClass() - Get the type hinted class


Gets declaring function

  • « ReflectionParameter::getDeclaringClass
  • ReflectionParameter::getDefaultValue »
  • PHP Manual
  • ReflectionParameter
  • Gets declaring function

ReflectionParameter::getDeclaringFunction

(PHP 5 >= 5.1.3, PHP 7)

ReflectionParameter::getDeclaringFunction — Gets declaring function

Descrição

public ReflectionParameter::getDeclaringFunction ( ) : ReflectionFunctionAbstract

Gets the declaring function.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A ReflectionFunction object.

Veja Também

  • ReflectionParameter::getDeclaringClass() - Gets declaring class


Gets default parameter value

  • « ReflectionParameter::getDeclaringFunction
  • ReflectionParameter::getDefaultValueConstantName »
  • PHP Manual
  • ReflectionParameter
  • Gets default parameter value

ReflectionParameter::getDefaultValue

(PHP 5 >= 5.0.3, PHP 7)

ReflectionParameter::getDefaultValue — Gets default parameter value

Descrição

public ReflectionParameter::getDefaultValue ( ) : mixed

Gets the default value of the parameter for any user-defined or internal function or method. If the parameter is not optional a ReflectionException will be thrown.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The parameters default value.

Changelog

Versão | Descrição
8.0.0 | This method now allows getting the default value of parameters of built-in functions and built-in class methods. Previously, a ReflectionException was thrown.

Exemplos

Exemplo #1 Getting default values of function parameters

<?php
function foo($test, $bar = 'baz')
{
    echo $test . $bar;
}

$function = new ReflectionFunction('foo');

foreach ($function->getParameters() as $param) {
    echo 'Name: ' . $param->getName() . PHP_EOL;
    if ($param->isOptional()) {
        echo 'Default value: ' . $param->getDefaultValue() . PHP_EOL;
    }
    echo PHP_EOL;
}
?>

O exemplo acima irá imprimir:

Name: test

Name: bar
Default value: baz

Veja Também

  • ReflectionParameter::isOptional() - Checks if optional
  • ReflectionParameter::isDefaultValueAvailable() - Checks if a default value is available
  • ReflectionParameter::getDefaultValueConstantName() - Returns the default value's constant name if default value is constant or null
  • ReflectionParameter::isPassedByReference() - Checks if passed by reference


Returns the default value's constant name if default value is constant or null

  • « ReflectionParameter::getDefaultValue
  • ReflectionParameter::getName »
  • PHP Manual
  • ReflectionParameter
  • Returns the default value's constant name if default value is constant or null

ReflectionParameter::getDefaultValueConstantName

(PHP 5 >= 5.4.6, PHP 7)

ReflectionParameter::getDefaultValueConstantName — Returns the default value's constant name if default value is constant or null

Descrição

public ReflectionParameter::getDefaultValueConstantName ( ) : string|null

Returns the default value's constant name of the parameter of any user-defined or internal function or method, if default value is constant or null. If the parameter is not optional a ReflectionException will be thrown.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns string on success or null on failure.

Changelog

Versão | Descrição
8.0.0 | This method now allows getting the default values' constant names of built-in functions and built-in class methods. Previously, a ReflectionException was thrown.

Exemplos

Exemplo #1 Getting default values' constant names of function parameters

<?php
function foo($test, $bar = PHP_INT_MIN)
{
    echo $test . $bar;
}

$function = new ReflectionFunction('foo');

foreach ($function->getParameters() as $param) {
    echo 'Name: ' . $param->getName() . PHP_EOL;
    if ($param->isOptional()) {
        echo 'Default value: ' . $param->getDefaultValueConstantName() . PHP_EOL;
    }
    echo PHP_EOL;
}
?>

O exemplo acima irá imprimir:

Name: test

Name: bar
Default value: PHP_INT_MIN

Veja Também

  • ReflectionParameter::isOptional() - Checks if optional
  • ReflectionParameter::isDefaultValueConstant() - Returns whether the default value of this parameter is a constant
  • ReflectionParameter::getDefaultValue() - Gets default parameter value


Gets parameter name

  • « ReflectionParameter::getDefaultValueConstantName
  • ReflectionParameter::getPosition »
  • PHP Manual
  • ReflectionParameter
  • Gets parameter name

ReflectionParameter::getName

(PHP 5, PHP 7)

ReflectionParameter::getName — Gets parameter name

Descrição

public ReflectionParameter::getName ( ) : string

Gets the name of the parameter.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The name of the reflected parameter.

Veja Também

  • ReflectionParameter::getValue()


Gets parameter position

  • « ReflectionParameter::getName
  • ReflectionParameter::getType »
  • PHP Manual
  • ReflectionParameter
  • Gets parameter position

ReflectionParameter::getPosition

(PHP 5 >= 5.1.3, PHP 7)

ReflectionParameter::getPosition — Gets parameter position

Descrição

public ReflectionParameter::getPosition ( ) : int

Gets the position of the parameter.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The position of the parameter, left to right, starting at position #0.

Veja Também

  • ReflectionParameter::getName() - Gets parameter name


Gets a parameter's type

  • « ReflectionParameter::getPosition
  • ReflectionParameter::hasType »
  • PHP Manual
  • ReflectionParameter
  • Gets a parameter's type

ReflectionParameter::getType

(PHP 7)

ReflectionParameter::getType — Gets a parameter's type

Descrição

public ReflectionParameter::getType ( ) : ReflectionType|null

Gets the associated type of a parameter.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a ReflectionType object if a parameter type is specified, null otherwise.

Exemplos

Exemplo #1 ReflectionParameter::getType() Usage as of PHP 7.1.0

As of PHP 7.1.0, ReflectionType::__toString() is deprecated, and ReflectionParameter::getType() may return an instance of ReflectionNamedType. To get the name of the parameter type, ReflectionNamedType() is available in this case.

<?php
function someFunction(int $param, $param2) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();
$reflectionType1 = $reflectionParams[0]->getType();
$reflectionType2 = $reflectionParams[1]->getType();

assert($reflectionType1 instanceof ReflectionNamedType);
echo $reflectionType1->getName(), PHP_EOL;
var_dump($reflectionType2);
?>

O exemplo acima irá imprimir:

int
NULL

Exemplo #2 ReflectionParameter::getType() Usage before PHP 7.1.0

<?php
function someFunction(int $param, $param2) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();
$reflectionType1 = $reflectionParams[0]->getType();
$reflectionType2 = $reflectionParams[1]->getType();

echo $reflectionType1, PHP_EOL;
var_dump($reflectionType2);
?>

Output of the above example in PHP 7.0:

int
NULL

Veja Também

  • ReflectionParameter::hasType() - Checks if parameter has a type
  • ReflectionType::__toString() - To string


Checks if parameter has a type

  • « ReflectionParameter::getType
  • ReflectionParameter::isArray »
  • PHP Manual
  • ReflectionParameter
  • Checks if parameter has a type

ReflectionParameter::hasType

(PHP 7)

ReflectionParameter::hasType — Checks if parameter has a type

Descrição

public ReflectionParameter::hasType ( ) : bool

Checks if the parameter has a type associated with it.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if a type is specified, false otherwise.

Exemplos

Exemplo #1 ReflectionParameter::hasType() example

<?php
function someFunction(string $param, $param2 = null) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();

var_dump($reflectionParams[0]->hasType());
var_dump($reflectionParams[1]->hasType());

O exemplo acima irá imprimir algo similar à:

bool(true)
bool(false)

Veja Também

  • ReflectionParameter::getType() - Gets a parameter's type


Checks if parameter expects an array

  • « ReflectionParameter::hasType
  • ReflectionParameter::isCallable »
  • PHP Manual
  • ReflectionParameter
  • Checks if parameter expects an array

ReflectionParameter::isArray

(PHP 5 >= 5.1.2, PHP 7)

ReflectionParameter::isArray — Checks if parameter expects an array

Aviso

This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

public ReflectionParameter::isArray ( ) : bool

Checks if the parameter expects an array.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if an array is expected, false otherwise.

Veja Também

  • ReflectionParameter::isOptional() - Checks if optional


Returns whether parameter MUST be callable

  • « ReflectionParameter::isArray
  • ReflectionParameter::isDefaultValueAvailable »
  • PHP Manual
  • ReflectionParameter
  • Returns whether parameter MUST be callable

ReflectionParameter::isCallable

(PHP 5 >= 5.4.0, PHP 7)

ReflectionParameter::isCallable — Returns whether parameter MUST be callable

Aviso

This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

public ReflectionParameter::isCallable ( ) : bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the parameter is callable, false if it is not or null on failure.


Checks if a default value is available

  • « ReflectionParameter::isCallable
  • ReflectionParameter::isDefaultValueConstant »
  • PHP Manual
  • ReflectionParameter
  • Checks if a default value is available

ReflectionParameter::isDefaultValueAvailable

(PHP 5 >= 5.0.3, PHP 7)

ReflectionParameter::isDefaultValueAvailable — Checks if a default value is available

Descrição

public ReflectionParameter::isDefaultValueAvailable ( ) : bool

Checks if a default value for the parameter is available.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if a default value is available, otherwise false

Veja Também

  • ReflectionParameter::getDefaultValue() - Gets default parameter value
  • ReflectionParameter::isDefaultValueConstant() - Returns whether the default value of this parameter is a constant
  • ReflectionParameter::getName() - Gets parameter name


Returns whether the default value of this parameter is a constant

  • « ReflectionParameter::isDefaultValueAvailable
  • ReflectionParameter::isOptional »
  • PHP Manual
  • ReflectionParameter
  • Returns whether the default value of this parameter is a constant

ReflectionParameter::isDefaultValueConstant

(PHP 5 >= 5.4.6, PHP 7)

ReflectionParameter::isDefaultValueConstant — Returns whether the default value of this parameter is a constant

Descrição

public ReflectionParameter::isDefaultValueConstant ( ) : bool

Returns whether the default value of this parameter is a constant.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the default value is constant, and false otherwise.

Veja Também

  • ReflectionParameter::getDefaultValueConstantName() - Returns the default value's constant name if default value is constant or null
  • ReflectionParameter::isDefaultValueAvailable() - Checks if a default value is available


Checks if optional

  • « ReflectionParameter::isDefaultValueConstant
  • ReflectionParameter::isPassedByReference »
  • PHP Manual
  • ReflectionParameter
  • Checks if optional

ReflectionParameter::isOptional

(PHP 5 >= 5.0.3, PHP 7)

ReflectionParameter::isOptional — Checks if optional

Descrição

public ReflectionParameter::isOptional ( ) : bool

Checks if the parameter is optional.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the parameter is optional, otherwise false

Veja Também

  • ReflectionParameter::getName() - Gets parameter name


Checks if passed by reference

  • « ReflectionParameter::isOptional
  • ReflectionParameter::isVariadic »
  • PHP Manual
  • ReflectionParameter
  • Checks if passed by reference

ReflectionParameter::isPassedByReference

(PHP 5, PHP 7)

ReflectionParameter::isPassedByReference — Checks if passed by reference

Descrição

public ReflectionParameter::isPassedByReference ( ) : bool

Checks if the parameter is passed in by reference.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the parameter is passed in by reference, otherwise false

Veja Também

  • ReflectionParameter::getName() - Gets parameter name


Checks if the parameter is variadic

  • « ReflectionParameter::isPassedByReference
  • ReflectionParameter::__toString »
  • PHP Manual
  • ReflectionParameter
  • Checks if the parameter is variadic

ReflectionParameter::isVariadic

(PHP 5 >= 5.6.0, PHP 7)

ReflectionParameter::isVariadic — Checks if the parameter is variadic

Descrição

public ReflectionParameter::isVariadic ( ) : bool

Checks if the parameter was declared as a variadic parameter.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns true if the parameter is variadic, otherwise false.


To string

  • « ReflectionParameter::isVariadic
  • ReflectionProperty »
  • PHP Manual
  • ReflectionParameter
  • To string

ReflectionParameter::__toString

(PHP 5, PHP 7)

ReflectionParameter::__toString — To string

Descrição

public ReflectionParameter::__toString ( ) : string

To string.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • ReflectionParameter::export() - Exports
  • __toString()


The ReflectionProperty class

(PHP 5, PHP 7)

Introdução

The ReflectionProperty class reports information about class properties.

Sinopse da classe

ReflectionProperty implements Reflector {
/* Constantes */
const int IS_STATIC = 1 ;
const int IS_PUBLIC = 256 ;
const int IS_PROTECTED = 512 ;
const int IS_PRIVATE = 1024 ;
/* Propriedades */
public $name ;
public $class ;
/* Métodos */
public __construct ( object|string $class , string $property )
final private __clone ( ) : void
public static export ( mixed $class , string $name , bool $return = ? ) : string
public getDeclaringClass ( ) : ReflectionClass
public getDefaultValue ( ) : mixed
public getDocComment ( ) : string|false
public getModifiers ( ) : int
public getName ( ) : string
public getType ( ) : ReflectionType|null
public getValue ( object|null $object = null ) : mixed
public hasDefaultValue ( ) : bool
public hasType ( ) : bool
public isDefault ( ) : bool
public isInitialized ( object|null $object = null ) : bool
public isPrivate ( ) : bool
public isProtected ( ) : bool
public isPublic ( ) : bool
public isStatic ( ) : bool
public setAccessible ( bool $accessible ) : void
public setValue ( object $object , mixed $value ) : void
public __toString ( ) : string
}

Propriedades

name

Name of the property. Read-only, throws ReflectionException in attempt to write.

class

Name of the class where the property is defined. Read-only, throws ReflectionException in attempt to write.

Constantes pré-definidas

ReflectionProperty Modifiers

ReflectionProperty::IS_STATIC

Indicates static properties.

ReflectionProperty::IS_PUBLIC

Indicates public properties.

ReflectionProperty::IS_PROTECTED

Indicates protected properties.

ReflectionProperty::IS_PRIVATE

Indicates private properties.

Índice

  • ReflectionProperty::__clone — Clone
  • ReflectionProperty::__construct — Construct a ReflectionProperty object
  • ReflectionProperty::export — Export
  • ReflectionProperty::getDeclaringClass — Gets declaring class
  • ReflectionProperty::getDefaultValue — Returns the default value declared for a property
  • ReflectionProperty::getDocComment — Gets the property doc comment
  • ReflectionProperty::getModifiers — Gets the property modifiers
  • ReflectionProperty::getName — Gets property name
  • ReflectionProperty::getType — Gets a property's type
  • ReflectionProperty::getValue — Gets value
  • ReflectionProperty::hasDefaultValue — Checks if property has a default value declared
  • ReflectionProperty::hasType — Checks if property has a type
  • ReflectionProperty::isDefault — Checks if property is a default property
  • ReflectionProperty::isInitialized — Checks whether a property is initialized
  • ReflectionProperty::isPrivate — Checks if property is private
  • ReflectionProperty::isProtected — Checks if property is protected
  • ReflectionProperty::isPublic — Checks if property is public
  • ReflectionProperty::isStatic — Checks if property is static
  • ReflectionProperty::setAccessible — Set property accessibility
  • ReflectionProperty::setValue — Set property value
  • ReflectionProperty::__toString — To string


Clone

  • « ReflectionProperty
  • ReflectionProperty::__construct »
  • PHP Manual
  • ReflectionProperty
  • Clone

ReflectionProperty::__clone

(PHP 5, PHP 7)

ReflectionProperty::__clone — Clone

Descrição

final private ReflectionProperty::__clone ( ) : void

Clones.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • ReflectionProperty::export() - Export
  • Object cloning


Construct a ReflectionProperty object

  • « ReflectionProperty::__clone
  • ReflectionProperty::export »
  • PHP Manual
  • ReflectionProperty
  • Construct a ReflectionProperty object

ReflectionProperty::__construct

(PHP 5, PHP 7)

ReflectionProperty::__construct — Construct a ReflectionProperty object

Descrição

public ReflectionProperty::__construct ( object|string $class , string $property )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

class

Either a string containing the name of the class to reflect, or an object.

property

The name of the property being reflected.

Valor Retornado

Não há valor retornado.

Erros

Trying to get or set private or protected class property's values will result in an exception being thrown.

Exemplos

Exemplo #1 ReflectionProperty::__construct() example

<?php
class Str
{
    public $length  = 5;
}

// Create an instance of the ReflectionProperty class
$prop = new ReflectionProperty('Str', 'length');

// Print out basic information
printf(
    "===> The%s%s%s%s property '%s' (which was %s)\n" .
    "     having the modifiers %s\n",
        $prop->isPublic() ? ' public' : '',
        $prop->isPrivate() ? ' private' : '',
        $prop->isProtected() ? ' protected' : '',
        $prop->isStatic() ? ' static' : '',
        $prop->getName(),
        $prop->isDefault() ? 'declared at compile-time' : 'created at run-time',
        var_export(Reflection::getModifierNames($prop->getModifiers()), 1)
);

// Create an instance of Str
$obj= new Str();

// Get current value
printf("---> Value is: ");
var_dump($prop->getValue($obj));

// Change value
$prop->setValue($obj, 10);
printf("---> Setting value to 10, new value is: ");
var_dump($prop->getValue($obj));

// Dump object
var_dump($obj);
?>

O exemplo acima irá imprimir algo similar à:

===> The public property 'length' (which was declared at compile-time)
     having the modifiers array (
  0 => 'public',
)
---> Value is: int(5)
---> Setting value to 10, new value is: int(10)
object(Str)#2 (1) {
  ["length"]=>
  int(10)
}

Exemplo #2 Getting value from private and protected properties using ReflectionProperty class

<?php

class Foo {
    public $x = 1;
    protected $y = 2;
    private $z = 3;
}

$obj = new Foo;

$prop = new ReflectionProperty('Foo', 'y');
$prop->setAccessible(true); /* As of PHP 5.3.0 */
var_dump($prop->getValue($obj)); // int(2)

$prop = new ReflectionProperty('Foo', 'z');
$prop->setAccessible(true); /* As of PHP 5.3.0 */
var_dump($prop->getValue($obj)); // int(2)

?>

O exemplo acima irá imprimir algo similar à:

int(2)
int(3)

Veja Também

  • ReflectionProperty::getName() - Gets property name
  • Constructors


Export

  • « ReflectionProperty::__construct
  • ReflectionProperty::getDeclaringClass »
  • PHP Manual
  • ReflectionProperty
  • Export

ReflectionProperty::export

(PHP 5, PHP 7)

ReflectionProperty::export — Export

Descrição

public static ReflectionProperty::export ( mixed $class , string $name , bool $return = ? ) : string

Exports a reflection.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

argument

A reflexão para exportar.

name

The property name.

return

Passar true irá retornar o export, em vez de emiti-lo. Passar false (padrão) fará o oposto.

Valor Retornado

Veja Também

  • ReflectionProperty::__toString() - To string


Gets declaring class

  • « ReflectionProperty::export
  • ReflectionProperty::getDefaultValue »
  • PHP Manual
  • ReflectionProperty
  • Gets declaring class

ReflectionProperty::getDeclaringClass

(PHP 5, PHP 7)

ReflectionProperty::getDeclaringClass — Gets declaring class

Descrição

public ReflectionProperty::getDeclaringClass ( ) : ReflectionClass

Gets the declaring class.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A ReflectionClass object.

Veja Também

  • ReflectionProperty::getName() - Gets property name


Returns the default value declared for a property

  • « ReflectionProperty::getDeclaringClass
  • ReflectionProperty::getDocComment »
  • PHP Manual
  • ReflectionProperty
  • Returns the default value declared for a property

ReflectionProperty::getDefaultValue

(PHP 8)

ReflectionProperty::getDefaultValue — Returns the default value declared for a property

Descrição

public ReflectionProperty::getDefaultValue ( ) : mixed

Gets the implicit or explicitly declared default value for a property.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The default value if the property has any default value (including null). If there is no default value, then null is returned. It is not possible to differentiate between a null default value and an unitialized typed property. Use ReflectionClass::hasDefaultValue() to detect the difference.

Exemplos

Exemplo #1 ReflectionClass::getDefaultValue() example

<?php
class Foo {
    public $bar = 1;
    public ?int $baz;
    public int $boing = 0;
}

$ro = new ReflectionClass(Foo::class);
var_dump($ro->getProperty('bar')->getDefaultValue());
var_dump($ro->getProperty('baz')->getDefaultValue());
var_dump($ro->getProperty('boing')->getDefaultValue());
?>

O exemplo acima irá imprimir:

int(1)
NULL
int(0)

Veja Também

  • ReflectionProperty::hasDefaultValue() - Checks if property has a default value declared


Gets the property doc comment

  • « ReflectionProperty::getDefaultValue
  • ReflectionProperty::getModifiers »
  • PHP Manual
  • ReflectionProperty
  • Gets the property doc comment

ReflectionProperty::getDocComment

(PHP 5 >= 5.1.0, PHP 7)

ReflectionProperty::getDocComment — Gets the property doc comment

Descrição

public ReflectionProperty::getDocComment ( ) : string|false

Gets the doc comment for a property.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The doc comment if it exists, otherwise false.

Exemplos

Exemplo #1 ReflectionProperty::getDocComment() example

<?php
class Str
{
    /**
     * @var int  The length of the string
     */
    public $length = 5;
}

$prop = new ReflectionProperty('Str', 'length');

var_dump($prop->getDocComment());

?>

O exemplo acima irá imprimir algo similar à:

string(53) "/**
     * @var int  The length of the string
     */"

Exemplo #2 Multiple property declarations

If multiple property declarations are preceeded by a single doc comment, the doc comment refers to the first property only.

<?php
class Foo
{
    /** @var string */
    public $a, $b;
}
$class = new \ReflectionClass('Foo');
foreach ($class->getProperties() as $property) {
    echo $property->getName() . ': ' . var_export($property->getDocComment(), true) . PHP_EOL;
}
?>

O exemplo acima irá imprimir:

a: '/** @var string */'
b: false

Veja Também

  • ReflectionProperty::getModifiers() - Gets the property modifiers
  • ReflectionProperty::getName() - Gets property name
  • ReflectionProperty::getValue() - Gets value


Gets the property modifiers

  • « ReflectionProperty::getDocComment
  • ReflectionProperty::getName »
  • PHP Manual
  • ReflectionProperty
  • Gets the property modifiers

ReflectionProperty::getModifiers

(PHP 5, PHP 7)

ReflectionProperty::getModifiers — Gets the property modifiers

Descrição

public ReflectionProperty::getModifiers ( ) : int

Gets the modifiers.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A numeric representation of the modifiers.

Veja Também

  • ReflectionProperty::isPrivate() - Checks if property is private
  • Reflection::getModifierNames() - Gets modifier names


Gets property name

  • « ReflectionProperty::getModifiers
  • ReflectionProperty::getType »
  • PHP Manual
  • ReflectionProperty
  • Gets property name

ReflectionProperty::getName

(PHP 5, PHP 7)

ReflectionProperty::getName — Gets property name

Descrição

public ReflectionProperty::getName ( ) : string

Gets the properties name.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The name of the reflected property.

Veja Também

  • ReflectionProperty::getValue() - Gets value


Gets a property's type

  • « ReflectionProperty::getName
  • ReflectionProperty::getValue »
  • PHP Manual
  • ReflectionProperty
  • Gets a property's type

ReflectionProperty::getType

(PHP 7 >= 7.4.0)

ReflectionProperty::getType — Gets a property's type

Descrição

public ReflectionProperty::getType ( ) : ReflectionType|null

Gets the associated type of a property.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a ReflectionType if the property has a type, and null otherwise.

Exemplos

Exemplo #1 ReflectionProperty::getType() example

<?php
class User
{
    public string $name;
}

$rp = new ReflectionProperty('User', 'name');
echo $rp->getType()->getName();
?>

O exemplo acima irá imprimir:

string

Veja Também

  • ReflectionProperty::hasType() - Checks if property has a type
  • ReflectionProperty::isInitialized() - Checks whether a property is initialized


Gets value

  • « ReflectionProperty::getType
  • ReflectionProperty::hasDefaultValue »
  • PHP Manual
  • ReflectionProperty
  • Gets value

ReflectionProperty::getValue

(PHP 5, PHP 7)

ReflectionProperty::getValue — Gets value

Descrição

public ReflectionProperty::getValue ( object|null $object = null ) : mixed

Gets the property's value.

Parâmetros

object

If the property is non-static an object must be provided to fetch the property from. If you want to fetch the default property without providing an object use ReflectionClass::getDefaultProperties() instead.

Valor Retornado

The current value of the property.

Erros

Throws a ReflectionException if the property is inaccessible. You can make a protected or private property accessible using ReflectionProperty::setAccessible().

Changelog

Versão | Descrição
8.0.0 | object is nullable now.

Exemplos

Exemplo #1 ReflectionProperty::getValue() example

<?php
class Foo {
    public static $staticProperty = 'foobar';

    public $property = 'barfoo';
    protected $privateProperty = 'foofoo';
}

$reflectionClass = new ReflectionClass('Foo');

var_dump($reflectionClass->getProperty('staticProperty')->getValue());
var_dump($reflectionClass->getProperty('property')->getValue(new Foo));

$reflectionProperty = $reflectionClass->getProperty('privateProperty');
$reflectionProperty->setAccessible(true);
var_dump($reflectionProperty->getValue(new Foo));
?>

O exemplo acima irá imprimir:

string(6) "foobar"
string(6) "barfoo"
string(6) "foofoo"

Veja Também

  • ReflectionProperty::setValue() - Set property value
  • ReflectionProperty::setAccessible() - Set property accessibility
  • ReflectionClass::getDefaultProperties() - Gets default properties
  • ReflectionClass::getStaticPropertyValue() - Gets static property value


Checks if property has a default value declared

  • « ReflectionProperty::getValue
  • ReflectionProperty::hasType »
  • PHP Manual
  • ReflectionProperty
  • Checks if property has a default value declared

ReflectionProperty::hasDefaultValue

(PHP 8)

ReflectionProperty::hasDefaultValue — Checks if property has a default value declared

Descrição

public ReflectionProperty::hasDefaultValue ( ) : bool

Checks whether the property was declared with a default value, including an implicit null default value. Only returns false for typed properties without default value (or dynamic properties).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

If the property has any default value (including null) true is returned; if the property is typed without a default value declared or is a dynamic property, false is returned.

Exemplos

Exemplo #1 ReflectionClass::hasDefaultValue() example

<?php
class Foo {
    public $bar;
    public ?int $baz;
    public ?int $foo = null;
    public int $boing;

    public function __construct()
    {
        $this->ping = '';
    }
}

$ro = new ReflectionObject(new Foo());
var_dump($ro->getProperty('bar')->hasDefaultValue());
var_dump($ro->getProperty('baz')->hasDefaultValue());
var_dump($ro->getProperty('foo')->hasDefaultValue());
var_dump($ro->getProperty('boing')->hasDefaultValue());
var_dump($ro->getProperty('ping')->hasDefaultValue()); // Dynamic property
var_dump($ro->getProperty('pong')->hasDefaultValue()); // Not defined property
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Fatal error: Uncaught ReflectionException: Property Foo::$pong does not exist in example.php

Veja Também

  • ReflectionProperty::getDefaultValue() - Returns the default value declared for a property


Checks if property has a type

  • « ReflectionProperty::hasDefaultValue
  • ReflectionProperty::isDefault »
  • PHP Manual
  • ReflectionProperty
  • Checks if property has a type

ReflectionProperty::hasType

(PHP 7 >= 7.4.0)

ReflectionProperty::hasType — Checks if property has a type

Descrição

public ReflectionProperty::hasType ( ) : bool

Checks if the property has a type associated with it.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if a type is specified, false otherwise.

Exemplos

Exemplo #1 ReflectionProperty::hasType() example

<?php
class User
{
    public string $name;
}

$rp = new ReflectionProperty('User', 'name');
var_dump($rp->hasType());
?>

O exemplo acima irá imprimir:

bool(true)

Veja Também

  • ReflectionProperty::getType() - Gets a property's type
  • ReflectionProperty::isInitialized() - Checks whether a property is initialized


Checks if property is a default property

  • « ReflectionProperty::hasType
  • ReflectionProperty::isInitialized »
  • PHP Manual
  • ReflectionProperty
  • Checks if property is a default property

ReflectionProperty::isDefault

(PHP 5, PHP 7)

ReflectionProperty::isDefault — Checks if property is a default property

Descrição

public ReflectionProperty::isDefault ( ) : bool

Checks whether the property was declared at compile-time, or whether the property was dynamically declared at run-time.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the property was declared at compile-time, or false if it was created at run-time.

Exemplos

Exemplo #1 ReflectionClass::isDefault() example

<?php
class Foo {
    public $bar;
}

$o = new Foo();
$o->bar = 42;
$o->baz = 42;

$ro = new ReflectionObject($o);
var_dump($ro->getProperty('bar')->isDefault());
var_dump($ro->getProperty('baz')->isDefault());
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)

Veja Também

  • ReflectionProperty::getValue() - Gets value


Checks whether a property is initialized

  • « ReflectionProperty::isDefault
  • ReflectionProperty::isPrivate »
  • PHP Manual
  • ReflectionProperty
  • Checks whether a property is initialized

ReflectionProperty::isInitialized

(PHP 7 >= 7.4.0)

ReflectionProperty::isInitialized — Checks whether a property is initialized

Descrição

public ReflectionProperty::isInitialized ( object|null $object = null ) : bool

Checks whether a property is initialized.

Parâmetros

object

If the property is non-static an object must be provided to fetch the property from.

Valor Retornado

Returns false for typed properties prior to initialization, and for properties that have been explicitly unset(). For all other properties true will be returned.

Erros

Throws a ReflectionException if the property is inaccessible. You can make a protected or private property accessible using ReflectionProperty::setAccessible().

Changelog

Versão | Descrição
8.0.0 | object is nullable now.

Exemplos

Exemplo #1 ReflectionProperty::isInitialized() example

<?php
class User
{
    public string $name;
}

$rp = new ReflectionProperty('User', 'name');
$user = new User;
var_dump($rp->isInitialized($user));
$user->name = 'Nikita';
var_dump($rp->isInitialized($user));
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)

Veja Também

  • ReflectionProperty::hasType() - Checks if property has a type


Checks if property is private

  • « ReflectionProperty::isInitialized
  • ReflectionProperty::isProtected »
  • PHP Manual
  • ReflectionProperty
  • Checks if property is private

ReflectionProperty::isPrivate

(PHP 5, PHP 7)

ReflectionProperty::isPrivate — Checks if property is private

Descrição

public ReflectionProperty::isPrivate ( ) : bool

Checks whether the property is private.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the property is private, false otherwise.

Veja Também

  • ReflectionProperty::isPublic() - Checks if property is public
  • ReflectionProperty::isProtected() - Checks if property is protected
  • ReflectionProperty::isStatic() - Checks if property is static


Checks if property is protected

  • « ReflectionProperty::isPrivate
  • ReflectionProperty::isPublic »
  • PHP Manual
  • ReflectionProperty
  • Checks if property is protected

ReflectionProperty::isProtected

(PHP 5, PHP 7)

ReflectionProperty::isProtected — Checks if property is protected

Descrição

public ReflectionProperty::isProtected ( ) : bool

Checks whether the property is protected.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the property is protected, false otherwise.

Veja Também

  • ReflectionProperty::isPublic() - Checks if property is public
  • ReflectionProperty::isPrivate() - Checks if property is private
  • ReflectionProperty::isStatic() - Checks if property is static


Checks if property is public

  • « ReflectionProperty::isProtected
  • ReflectionProperty::isStatic »
  • PHP Manual
  • ReflectionProperty
  • Checks if property is public

ReflectionProperty::isPublic

(PHP 5, PHP 7)

ReflectionProperty::isPublic — Checks if property is public

Descrição

public ReflectionProperty::isPublic ( ) : bool

Checks whether the property is public.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the property is public, false otherwise.

Veja Também

  • ReflectionProperty::isProtected() - Checks if property is protected
  • ReflectionProperty::isPrivate() - Checks if property is private
  • ReflectionProperty::isStatic() - Checks if property is static


Checks if property is static

  • « ReflectionProperty::isPublic
  • ReflectionProperty::setAccessible »
  • PHP Manual
  • ReflectionProperty
  • Checks if property is static

ReflectionProperty::isStatic

(PHP 5, PHP 7)

ReflectionProperty::isStatic — Checks if property is static

Descrição

public ReflectionProperty::isStatic ( ) : bool

Checks whether the property is static.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if the property is static, false otherwise.

Veja Também

  • ReflectionProperty::isPublic() - Checks if property is public
  • ReflectionProperty::isProtected() - Checks if property is protected
  • ReflectionProperty::isPrivate() - Checks if property is private


Set property accessibility

  • « ReflectionProperty::isStatic
  • ReflectionProperty::setValue »
  • PHP Manual
  • ReflectionProperty
  • Set property accessibility

ReflectionProperty::setAccessible

(PHP 5 >= 5.3.0, PHP 7)

ReflectionProperty::setAccessible — Set property accessibility

Descrição

public ReflectionProperty::setAccessible ( bool $accessible ) : void

Enables access to a protected or private property via the ReflectionProperty::getValue() and ReflectionProperty::setValue() methods.

Parâmetros

accessible

true to allow accessibility, or false.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Simple Class definition

<?php
class MyClass
{
    private $foo = 'bar';
}

$property = new ReflectionProperty("MyClass", "foo");
$property->setAccessible(true);

$obj = new MyClass();
echo $property->getValue($obj);
echo $obj->foo;
?>

O exemplo acima irá imprimir algo similar à:

bar
Fatal error: Uncaught Error: Cannot access private property MyClass::$foo in /in/WJqTv:12

Veja Também

  • ReflectionProperty::isPrivate() - Checks if property is private
  • ReflectionProperty::isProtected() - Checks if property is protected


Set property value

  • « ReflectionProperty::setAccessible
  • ReflectionProperty::__toString »
  • PHP Manual
  • ReflectionProperty
  • Set property value

ReflectionProperty::setValue

(PHP 5, PHP 7)

ReflectionProperty::setValue — Set property value

Descrição

public ReflectionProperty::setValue ( object $object , mixed $value ) : void
public ReflectionProperty::setValue ( mixed $value ) : void

Sets (changes) the property's value.

Parâmetros

object

If the property is non-static an object must be provided to change the property on. If the property is static this parameter is left out and only value needs to be provided.

value

The new value.

Valor Retornado

Não há valor retornado.

Erros

Throws a ReflectionException if the property is inaccessible. You can make a protected or private property accessible using ReflectionProperty::setAccessible().

Exemplos

Exemplo #1 ReflectionProperty::setValue() example

<?php
class Foo {
    public static $staticProperty;

    public $property;
    protected $privateProperty;
}

$reflectionClass = new ReflectionClass('Foo');

$reflectionClass->getProperty('staticProperty')->setValue('foo');
var_dump(Foo::$staticProperty);

$foo = new Foo;

$reflectionClass->getProperty('property')->setValue($foo, 'bar');
var_dump($foo->property);

$reflectionProperty = $reflectionClass->getProperty('privateProperty');
$reflectionProperty->setAccessible(true);
$reflectionProperty->setValue($foo, 'foobar');
var_dump($reflectionProperty->getValue($foo));
?>

O exemplo acima irá imprimir:

string(3) "foo"
string(3) "bar"
string(6) "foobar"

Veja Também

  • ReflectionProperty::getValue() - Gets value
  • ReflectionProperty::setAccessible() - Set property accessibility
  • ReflectionClass::setStaticPropertyValue() - Sets static property value


To string

  • « ReflectionProperty::setValue
  • ReflectionType »
  • PHP Manual
  • ReflectionProperty
  • To string

ReflectionProperty::__toString

(PHP 5, PHP 7)

ReflectionProperty::__toString — To string

Descrição

public ReflectionProperty::__toString ( ) : string

To string.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • __toString()


The ReflectionType class

(PHP 7)

Introdução

The ReflectionType class reports information about a function's return type.

Sinopse da classe

abstract ReflectionType {
/* Métodos */
public allowsNull ( ) : bool
public __toString ( ) : string
}

Changelog

Versão | Descrição
8.0.0 | ReflectionType has become abstract and ReflectionType::isBuiltin() has been moved to ReflectionNamedType::isBuiltin().

Índice

  • ReflectionType::allowsNull — Checks if null is allowed
  • ReflectionType::__toString — To string


Checks if null is allowed

  • « ReflectionType
  • ReflectionType::__toString »
  • PHP Manual
  • ReflectionType
  • Checks if null is allowed

ReflectionType::allowsNull

(PHP 7)

ReflectionType::allowsNull — Checks if null is allowed

Descrição

public ReflectionType::allowsNull ( ) : bool

Checks whether the parameter allows null.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true if null is allowed, otherwise false

Exemplos

Exemplo #1 ReflectionType::allowsNull() example

<?php
function someFunction(string $param, StdClass $param2 = null) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();

var_dump($reflectionParams[0]->getType()->allowsNull());
var_dump($reflectionParams[1]->getType()->allowsNull());

O exemplo acima irá imprimir:

bool(false)
bool(true)

Veja Também

  • ReflectionNamedType::isBuiltin() - Checks if it is a built-in type
  • ReflectionType::__toString() - To string
  • ReflectionParameter::getType() - Gets a parameter's type


To string

  • « ReflectionType::allowsNull
  • ReflectionUnionType »
  • PHP Manual
  • ReflectionType
  • To string

ReflectionType::__toString

(PHP 7)

ReflectionType::__toString — To string

Aviso

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Descrição

public ReflectionType::__toString ( ) : string

Gets the parameter type name.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the type of the parameter.

Exemplos

Exemplo #1 ReflectionType::__toString() example

<?php
function someFunction(string $param) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParam = $reflectionFunc->getParameters()[0];

echo $reflectionParam->getType();

O exemplo acima irá imprimir algo similar à:

string

Changelog

Versão | Descrição
7.1.0 | ReflectionType::__toString() has been deprecated.

Veja Também

  • ReflectionNamedType::getName() - Obtém o texto do tipo sugerido
  • ReflectionNamedType::isBuiltin() - Checks if it is a built-in type
  • ReflectionType::allowsNull() - Checks if null is allowed
  • ReflectionUnionType::getTypes() - Returns the types included in the union type
  • ReflectionParameter::getType() - Gets a parameter's type


The ReflectionUnionType class

(PHP 8)

Introdução

Sinopse da classe

ReflectionUnionType extends ReflectionType {
/* Métodos */
public getTypes ( ) : array
/* Métodos herdados */
public ReflectionType::allowsNull ( ) : bool
public ReflectionType::__toString ( ) : string
}

Índice

  • ReflectionUnionType::getTypes — Returns the types included in the union type


Returns the types included in the union type

  • « ReflectionUnionType
  • ReflectionGenerator »
  • PHP Manual
  • ReflectionUnionType
  • Returns the types included in the union type

ReflectionUnionType::getTypes

(PHP 8)

ReflectionUnionType::getTypes — Returns the types included in the union type

Descrição

public ReflectionUnionType::getTypes ( ) : array

Returns the reflections of types included in the union type.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of ReflectionType objects.

Exemplos

Exemplo #1 ReflectionUnionType::getTypes() example

<?php
function someFunction(int|float $number) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParam = $reflectionFunc->getParameters()[0];

var_dump($reflectionParam->getType()->getTypes());

O exemplo acima irá imprimir algo similar à:

array(2) {
    [0] =>
    class ReflectionNamedType#4(0) {
    }
    [1] =>
    class ReflectionNamedType#5(0) {
    }
}

Veja Também

  • ReflectionType::allowsNull() - Checks if null is allowed
  • ReflectionParameter::getType() - Gets a parameter's type


The ReflectionGenerator class

(PHP 7)

Introdução

The ReflectionGenerator class reports information about a generator.

Sinopse da classe

ReflectionGenerator {
/* Métodos */
public __construct ( Generator $generator )
public getExecutingFile ( ) : string
public getExecutingGenerator ( ) : Generator
public getExecutingLine ( ) : int
public getFunction ( ) : ReflectionFunctionAbstract
public getThis ( ) : object|null
public getTrace ( int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT ) : array
}

Índice

  • ReflectionGenerator::__construct — Constructs a ReflectionGenerator object
  • ReflectionGenerator::getExecutingFile — Gets the file name of the currently executing generator
  • ReflectionGenerator::getExecutingGenerator — Gets the executing Generator object
  • ReflectionGenerator::getExecutingLine — Gets the currently executing line of the generator
  • ReflectionGenerator::getFunction — Gets the function name of the generator
  • ReflectionGenerator::getThis — Gets the $this value of the generator
  • ReflectionGenerator::getTrace — Gets the trace of the executing generator


Constructs a ReflectionGenerator object

  • « ReflectionGenerator
  • ReflectionGenerator::getExecutingFile »
  • PHP Manual
  • ReflectionGenerator
  • Constructs a ReflectionGenerator object

ReflectionGenerator::__construct

(PHP 7)

ReflectionGenerator::__construct — Constructs a ReflectionGenerator object

Descrição

public ReflectionGenerator::__construct ( Generator $generator )

Constructs a ReflectionGenerator object.

Parâmetros

generator

A generator object.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 ReflectionGenerator::__construct() example

<?php

function gen()
{
    yield 1;
}

$gen = gen();

$reflectionGen = new ReflectionGenerator($gen);

echo <<< output
{$reflectionGen->getFunction()->name}
Line: {$reflectionGen->getExecutingLine()}
File: {$reflectionGen->getExecutingFile()}
output;

O exemplo acima irá imprimir algo similar à:

gen
Line: 5
File: /path/to/file/example.php

Veja Também

  • ReflectionGenerator::getFunction() - Gets the function name of the generator
  • ReflectionGenerator::getExecutingLine() - Gets the currently executing line of the generator
  • ReflectionGenerator::getExecutingFile() - Gets the file name of the currently executing generator


Gets the file name of the currently executing generator

  • « ReflectionGenerator::__construct
  • ReflectionGenerator::getExecutingGenerator »
  • PHP Manual
  • ReflectionGenerator
  • Gets the file name of the currently executing generator

ReflectionGenerator::getExecutingFile

(PHP 7)

ReflectionGenerator::getExecutingFile — Gets the file name of the currently executing generator

Descrição

public ReflectionGenerator::getExecutingFile ( ) : string

Get the full path and file name of the currently executing generator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the full path and file name of the currently executing generator.

Exemplos

Exemplo #1 ReflectionGenerator::getExecutingFile() example

<?php

class GenExample
{
    public function gen()
    {
        yield 1;
    }
}

$gen = (new GenExample)->gen();

$reflectionGen = new ReflectionGenerator($gen);

echo "File: {$reflectionGen->getExecutingFile()}";

O exemplo acima irá imprimir algo similar à:

File: /path/to/file/example.php

Veja Também

  • ReflectionGenerator::getExecutingLine() - Gets the currently executing line of the generator
  • ReflectionGenerator::getExecutingGenerator() - Gets the executing Generator object


Gets the executing Generator object

  • « ReflectionGenerator::getExecutingFile
  • ReflectionGenerator::getExecutingLine »
  • PHP Manual
  • ReflectionGenerator
  • Gets the executing Generator object

ReflectionGenerator::getExecutingGenerator

(PHP 7)

ReflectionGenerator::getExecutingGenerator — Gets the executing Generator object

Descrição

public ReflectionGenerator::getExecutingGenerator ( ) : Generator

Get the executing Generator object

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the currently executing Generator object.

Exemplos

Exemplo #1 ReflectionGenerator::getExecutingGenerator() example

<?php

class GenExample
{
    public function gen()
    {
        yield 1;
    }
}

$gen = (new GenExample)->gen();

$reflectionGen = new ReflectionGenerator($gen);

$gen2 = $reflectionGen->getExecutingGenerator();

var_dump($gen2 === $gen);
var_dump($gen2->current());

O exemplo acima irá imprimir algo similar à:

bool(true)
int(1);

Veja Também

  • ReflectionGenerator::getExecutingLine() - Gets the currently executing line of the generator
  • ReflectionGenerator::getExecutingFile() - Gets the file name of the currently executing generator


Gets the currently executing line of the generator

  • « ReflectionGenerator::getExecutingGenerator
  • ReflectionGenerator::getFunction »
  • PHP Manual
  • ReflectionGenerator
  • Gets the currently executing line of the generator

ReflectionGenerator::getExecutingLine

(PHP 7)

ReflectionGenerator::getExecutingLine — Gets the currently executing line of the generator

Descrição

public ReflectionGenerator::getExecutingLine ( ) : int

Get the currently executing line number of the generator.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the line number of the currently executing statement in the generator.

Exemplos

Exemplo #1 ReflectionGenerator::getExecutingLine() example

<?php

class GenExample
{
    public function gen()
    {
        yield 1;
    }
}

$gen = (new GenExample)->gen();

$reflectionGen = new ReflectionGenerator($gen);

echo "Line: {$reflectionGen->getExecutingLine()}";

O exemplo acima irá imprimir algo similar à:

Line: 7

Veja Também

  • ReflectionGenerator::getExecutingGenerator() - Gets the executing Generator object
  • ReflectionGenerator::getExecutingFile() - Gets the file name of the currently executing generator


Gets the function name of the generator

  • « ReflectionGenerator::getExecutingLine
  • ReflectionGenerator::getThis »
  • PHP Manual
  • ReflectionGenerator
  • Gets the function name of the generator

ReflectionGenerator::getFunction

(PHP 7)

ReflectionGenerator::getFunction — Gets the function name of the generator

Descrição

public ReflectionGenerator::getFunction ( ) : ReflectionFunctionAbstract

Enables the function name of the generator to be obtained by returning a class derived from ReflectionFunctionAbstract.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a ReflectionFunctionAbstract class. This will be ReflectionFunction for functions, or ReflectionMethod for methods.

Exemplos

Exemplo #1 ReflectionGenerator::getFunction() example

<?php

function gen()
{
    yield 1;
}

$gen = gen();

$reflectionGen = new ReflectionGenerator($gen);

var_dump($reflectionGen->getFunction());

O exemplo acima irá imprimir algo similar à:

object(ReflectionFunction)#3 (1) {
  ["name"]=>
  string(3) "gen"
}

Veja Também

  • ReflectionGenerator::getThis() - Gets the $this value of the generator
  • ReflectionGenerator::getTrace() - Gets the trace of the executing generator


Gets the $this value of the generator

  • « ReflectionGenerator::getFunction
  • ReflectionGenerator::getTrace »
  • PHP Manual
  • ReflectionGenerator
  • Gets the $this value of the generator

ReflectionGenerator::getThis

(PHP 7)

ReflectionGenerator::getThis — Gets the $this value of the generator

Descrição

public ReflectionGenerator::getThis ( ) : object|null

Get the $this value that the generator has access to.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the $this value, or null if the generator was not created in a class context.

Exemplos

Exemplo #1 ReflectionGenerator::getThis() example

<?php

class GenExample
{
    public function gen()
    {
        yield 1;
    }
}

$gen = (new GenExample)->gen();

$reflectionGen = new ReflectionGenerator($gen);

var_dump($reflectionGen->getThis());

O exemplo acima irá imprimir algo similar à:

object(GenExample)#3 (0) {
}

Veja Também

  • ReflectionGenerator::getFunction() - Gets the function name of the generator
  • ReflectionGenerator::getTrace() - Gets the trace of the executing generator


Gets the trace of the executing generator

  • « ReflectionGenerator::getThis
  • ReflectionReference »
  • PHP Manual
  • ReflectionGenerator
  • Gets the trace of the executing generator

ReflectionGenerator::getTrace

(PHP 7)

ReflectionGenerator::getTrace — Gets the trace of the executing generator

Descrição

public ReflectionGenerator::getTrace ( int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT ) : array

Get the trace of the currently executing generator.

Parâmetros

options

The value of options can be any of the following flags.

Available options
Option | Description
DEBUG_BACKTRACE_PROVIDE_OBJECT | Default.
DEBUG_BACKTRACE_IGNORE_ARGS | Don't include the argument information for functions in the stack trace.

Valor Retornado

Returns the trace of the currently executing generator.

Exemplos

Exemplo #1 ReflectionGenerator::getTrace() example

<?php
function foo() {
    yield 1;
}

function bar()
{
    yield from foo();
}

function baz()
{
    yield from bar();
}

$gen = baz();
$gen->valid(); // start the generator

var_dump((new ReflectionGenerator($gen))->getTrace());

O exemplo acima irá imprimir algo similar à:

array(2) {
  [0]=>
  array(4) {
    ["file"]=>
    string(18) "example.php"
    ["line"]=>
    int(8)
    ["function"]=>
    string(3) "foo"
    ["args"]=>
    array(0) {
    }
  }
  [1]=>
  array(4) {
    ["file"]=>
    string(18) "example.php"
    ["line"]=>
    int(12)
    ["function"]=>
    string(3) "bar"
    ["args"]=>
    array(0) {
    }
  }
}

Veja Também

  • ReflectionGenerator::getFunction() - Gets the function name of the generator
  • ReflectionGenerator::getThis() - Gets the $this value of the generator


The ReflectionReference class

(PHP 7 >= 7.4.0)

Introdução

The ReflectionReference class provides information about a reference.

Sinopse da classe

final ReflectionReference {
/* Métodos */
public static fromArrayElement ( array $array , int|string $key ) : ReflectionReference|null
public getId ( ) : string
}

Índice

  • ReflectionReference::fromArrayElement — Create a ReflectionReference from an array element
  • ReflectionReference::getId — Get unique ID of a reference


Create a ReflectionReference from an array element

  • « ReflectionReference
  • ReflectionReference::getId »
  • PHP Manual
  • ReflectionReference
  • Create a ReflectionReference from an array element

ReflectionReference::fromArrayElement

(PHP 7 >= 7.4.0)

ReflectionReference::fromArrayElement — Create a ReflectionReference from an array element

Descrição

public static ReflectionReference::fromArrayElement ( array $array , int|string $key ) : ReflectionReference|null

Creates a ReflectionReference from an array element.

Parâmetros

array

The array which contains the potential reference.

key

The key; either an int or a string.

Valor Retornado

Returns a ReflectionReference instance if $array[$key] is a reference, or null otherwise.

Erros

If array is not an array, or key is not an int or string, a TypeError is thrown. If $array[$key] does not exist, a ReflectionException is thrown.


Get unique ID of a reference

  • « ReflectionReference::fromArrayElement
  • Reflector »
  • PHP Manual
  • ReflectionReference
  • Get unique ID of a reference

ReflectionReference::getId

(PHP 7 >= 7.4.0)

ReflectionReference::getId — Get unique ID of a reference

Descrição

public ReflectionReference::getId ( ) : string

Returns an ID which is unique for the reference for the lifetime of that reference. This ID can be used to compare references for equality, or to maintain a map of known references.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string of unspecified format.

Exemplos

Exemplo #1 Basic ReflectionReference::getId() usage

<?php
$val1 = 'foo';
$val2 = 'bar';
$arr = [&$val1, &$val2, &$val1];

$rr1 = ReflectionReference::fromArrayElement($arr, 0);
$rr2 = ReflectionReference::fromArrayElement($arr, 1);
$rr3 = ReflectionReference::fromArrayElement($arr, 2);

var_dump($rr1->getId() === $rr2->getId());
var_dump($rr1->getId() === $rr3->getId());
?>

O exemplo acima irá imprimir:

bool(false)
bool(true)


The Reflector interface

(PHP 5, PHP 7)

Introdução

Reflector is an interface implemented by all exportable Reflection classes.

Sinopse da classe

Reflector {
/* Métodos */
public static export ( ) : string
public __toString ( ) : string
}

Índice

  • Reflector::export — Exports
  • Reflector::__toString — To string


Exports

  • « Reflector
  • Reflector::__toString »
  • PHP Manual
  • Reflector
  • Exports

Reflector::export

(PHP 5, PHP 7)

Reflector::export — Exports

Aviso

This function has been DEPRECATED as of PHP 7.4.0. Relying on this function is highly discouraged.

Descrição

public static Reflector::export ( ) : string

Exports.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • Reflection::__toString()


To string

  • « Reflector::export
  • ReflectionException »
  • PHP Manual
  • Reflector
  • To string

Reflector::__toString

(PHP 5, PHP 7)

Reflector::__toString — To string

Descrição

public Reflector::__toString ( ) : string

To string.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Veja Também

  • ReflectionProperty::export() - Export
  • __toString()


Classe ReflectionException

(PHP 5, PHP 7)

Introdução

Classe ReflectionException.

Sinopse da classe

ReflectionException extends Exception {
/* Propriedades */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


Manipulação de variável

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções para Manipulação de variáveis
    • boolval — Obtém o valor booleano de uma variável
    • debug_zval_dump — Exibe a representação de um interno zend value
    • doubleval — Sinônimo de floatval
    • empty — Determina se a variável é vazia
    • floatval — Obtém o valor em ponto flutuante da variável
    • get_defined_vars — Retorna um array com todas variáveis definidas
    • get_resource_id — Returns an integer identifier for the given resource
    • get_resource_type — Retorna o tipo de resource
    • gettype — Obtém o tipo da variável
    • intval — Retorna o valor inteiro da variável
    • is_array — Verifica se a variável é um array
    • is_bool — Verifica se a variável é um boleano
    • is_callable — Verifica se o conteúdo da variável pode ser chamado como função
    • is_countable — Verify that the contents of a variable is a countable value
    • is_double — Sinônimo de is_float
    • is_float — Informa se a variável é do tipo float
    • is_int — Informa se a variável é do tipo inteiro
    • is_integer — Sinônimo de is_int
    • is_iterable — Verify that the contents of a variable is an iterable value
    • is_long — Sinônimo de is_int
    • is_null — Informa se a variável é null
    • is_numeric — Informa se a variável é um número ou uma string numérica
    • is_object — Informa se a variável é um objeto
    • is_real — Sinônimo de is_float
    • is_resource — Informa se a variável é um resource
    • is_scalar — Informa se é uma váriavel escalar
    • is_string — Informa se a variável é do tipo string
    • isset — Informa se a variável foi iniciada
    • print_r — Imprime informação sobre uma variável de forma legível
    • serialize — Generates a storable representation of a value
    • settype — Atribui um tipo para a variável
    • strval — Retorna o valor string de uma variável
    • unserialize — Creates a PHP value from a stored representation
    • unset — Destrói a variável especificada
    • var_dump — Mostra informações sobre a variável
    • var_export — Mostra ou retorna uma representação estruturada de uma variável


Introdução

Para maiores informações do comportamento de variáveis veja Variavéis localizada na seção do manual Referências da Linguagem.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de Configuração de Variáveis
Nome | Padrão | Modificável | Changelog
unserialize_callback_func | NULL | PHP_INI_ALL | Disponível desde o PHP 4.2.0.
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

unserialize_callback_func string

A função callback é chamada quando a função unserialize() tentar utilizar uma classe indefinida. Um aviso aparecerá se a função callback especificada não for definida, ou se a função callback falhar ao definir a classe perdida.

Veja também unserialize() e Autoloading de Objetos.


  • « Tipos de Recurso
  • Funções para Manipulação de variáveis »
  • PHP Manual
  • Manipulação de variável
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Funções para Manipulação de variáveis

Índice

  • boolval — Obtém o valor booleano de uma variável
  • debug_zval_dump — Exibe a representação de um interno zend value
  • doubleval — Sinônimo de floatval
  • empty — Determina se a variável é vazia
  • floatval — Obtém o valor em ponto flutuante da variável
  • get_defined_vars — Retorna um array com todas variáveis definidas
  • get_resource_id — Returns an integer identifier for the given resource
  • get_resource_type — Retorna o tipo de resource
  • gettype — Obtém o tipo da variável
  • intval — Retorna o valor inteiro da variável
  • is_array — Verifica se a variável é um array
  • is_bool — Verifica se a variável é um boleano
  • is_callable — Verifica se o conteúdo da variável pode ser chamado como função
  • is_countable — Verify that the contents of a variable is a countable value
  • is_double — Sinônimo de is_float
  • is_float — Informa se a variável é do tipo float
  • is_int — Informa se a variável é do tipo inteiro
  • is_integer — Sinônimo de is_int
  • is_iterable — Verify that the contents of a variable is an iterable value
  • is_long — Sinônimo de is_int
  • is_null — Informa se a variável é null
  • is_numeric — Informa se a variável é um número ou uma string numérica
  • is_object — Informa se a variável é um objeto
  • is_real — Sinônimo de is_float
  • is_resource — Informa se a variável é um resource
  • is_scalar — Informa se é uma váriavel escalar
  • is_string — Informa se a variável é do tipo string
  • isset — Informa se a variável foi iniciada
  • print_r — Imprime informação sobre uma variável de forma legível
  • serialize — Generates a storable representation of a value
  • settype — Atribui um tipo para a variável
  • strval — Retorna o valor string de uma variável
  • unserialize — Creates a PHP value from a stored representation
  • unset — Destrói a variável especificada
  • var_dump — Mostra informações sobre a variável
  • var_export — Mostra ou retorna uma representação estruturada de uma variável


Obtém o valor booleano de uma variável

  • « Funções para Manipulação de variáveis
  • debug_zval_dump »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Obtém o valor booleano de uma variável

boolval

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

boolval — Obtém o valor booleano de uma variável

Descrição

boolval ( mixed $var ) : boolean

Retorna o valor boolean do parâmetro var.

Parâmetros

var

O valor escalar a ser convertido para um booleano.

Valor Retornado

O valor booleano do parâmetrovar.

Exemplos

Exemplo #1 Exemplos da função boolval()

<?php
echo '0:        '.(boolval(0) ? 'true' : 'false')."\n";
echo '42:       '.(boolval(42) ? 'true' : 'false')."\n";
echo '0.0:      '.(boolval(0.0) ? 'true' : 'false')."\n";
echo '4.2:      '.(boolval(4.2) ? 'true' : 'false')."\n";
echo '"":       '.(boolval("") ? 'true' : 'false')."\n";
echo '"string": '.(boolval("string") ? 'true' : 'false')."\n";
echo '"0":      '.(boolval("0") ? 'true' : 'false')."\n";
echo '"1":      '.(boolval("1") ? 'true' : 'false')."\n";
echo '[1, 2]:   '.(boolval([1, 2]) ? 'true' : 'false')."\n";
echo '[]:       '.(boolval([]) ? 'true' : 'false')."\n";
echo 'stdClass: '.(boolval(new stdClass) ? 'true' : 'false')."\n";
?>

O exemplo acima irá imprimir:

0:        false
42:       true
0.0:      false
4.2:      true
"":       false
"string": true
"0":      false
"1":      true
[1, 2]:   true
[]:       false
stdClass: true

Veja Também

  • floatval() - Obtém o valor em ponto flutuante da variável
  • intval() - Retorna o valor inteiro da variável
  • strval() - Retorna o valor string de uma variável
  • settype() - Atribui um tipo para a variável
  • is_bool() - Verifica se a variável é um boleano
  • Manipulação de tipos


Exibe a representação de um interno zend value

  • « boolval
  • doubleval »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Exibe a representação de um interno zend value

debug_zval_dump

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

debug_zval_dump — Exibe a representação de um interno zend value

Descrição

debug_zval_dump ( mixed $variable ) : void

Exibe a representação de um interno zend value.

Parâmetros

variable

A variável a ser avaliada.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Exemplo da debug_zval_dump()

<?php
$var1 = 'Hello World';
$var2 = '';

$var2 =& $var1;

debug_zval_dump(&$var1);
?>

O exemplo acima irá imprimir:

&string(11) "Hello World" refcount(3)

Nota: Cuidado com o refcount

O valor refcount retornado por esta função não é óbvio em certas circunstâncias. Por exemplo, um desenvolvedor espera que o exemplo acima indique um refcount de 2. A terceira referência é criada quando debug_zval_dump() é chamada.

Este comportamento ocorre quando uma variável não passada para debug_zval_dump() por referência. Para ilustrar, veja a pequena modificação do exemplo acima:

<?php
$var1 = 'Hello World';
$var2 = '';

$var2 =& $var1;

debug_zval_dump($var1); // not passed by reference, this time
?>

O exemplo acima irá imprimir:

string(11) "Hello World" refcount(1)

Por quê refcount(1)? Por causa da cópia da $var1 ser feita, quando a função é chamada.

Esta função se torna muita confusa quando uma variável com um refcount de 1 é passado (por cópia/valor):

<?php
$var1 = 'Hello World';

debug_zval_dump($var1);
?>

O exemplo acima irá imprimir:

string(11) "Hello World" refcount(2)

O refcount de 2, aqui, é extremamente não óbvio. Especialmente considerando os exemplos acima. Então o quê acontece?

Quando uma variável tem uma única referência (com faz $var1 antes de ser usada como um argumento para debug_zval_dump()), a engine do PHP otimiza em que ela é passada para uma função. Internalmente, PHP trata $var1 como uma referência (em que o refcount é aumentado para o escopo desta função), com um aviso que se passado referência pode ser reescrito para, um cópia feita, mas somente no momento de escrita. Isto é conhecido como "cópia na escrita."

Então, se debug_zval_dump() precisa escrever para o único parãmetro (e ele não faz), então uma cópia pode ser feita. Desde então, a referência para o parâmetro é mantida, fazendo com que o refcount seja incrementado para 2 para o escopo da chamada da função.

Veja Também

  • var_dump() - Mostra informações sobre a variável
  • debug_backtrace() - Generates a backtrace
  • Explicação sobre Referências
  • » Explicação sobre Referências (por Derick Rethans)


Sinônimo de floatval

  • « debug_zval_dump
  • empty »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Sinônimo de floatval

doubleval

(PHP 4, PHP 5, PHP 7, PHP 8)

doubleval — Sinônimo de floatval()

Descrição

Esta função é um apelido para: floatval().


Determina se a variável é vazia

  • « doubleval
  • floatval »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Determina se a variável é vazia

empty

(PHP 4, PHP 5, PHP 7, PHP 8)

empty — Determina se a variável é vazia

Descrição

empty ( mixed $var ) : bool

Determina se uma variável é considerada vazia. Uma variável é considerada vazia se não existir ou seu valor é igual false. A função empty() não gera um aviso se a variável não existir.

Parâmetros

var

Variável a ser verificada

Nota:

Em versões anteriores ao PHP 5.5, a função empty() somente suportava variáveis; qualquer outra coisa resultaria em um erro de interpretação. Em outras palavras, o código a seguir não funcionará: empty(trim($name)). Em substituição, use trim($name) == false.

Nenhum aviso é gerado se a variável não existir. Isso significa que a função empty() é essencialmente equivalente a !isset($var) || $var == false.

Valor Retornado

Retorna false se var existir e não estiver vazia e não conter um valor zerado. Caso contrário retornará true.

O que é visto abaixo é considerado vazio:

  • "" (uma string vazia)
  • 0 (0 como um inteiro)
  • 0.0 (0 como um ponto flutuante)
  • "0" (0 como uma string)
  • null
  • false
  • array() (um array vazio)
  • $var; (uma variável declarada, mas sem valor)

Changelog

Versão | Descrição
5.5.0 | A função empty() agora suporta expressões, em vez de somente variáveis.
5.4.0 | Checar deslocamentos de strings não numéricos retorna true.

Exemplos

Exemplo #1 Uma simples comparação entre as funções empty() / isset().

<?php
$var = 0;

// Evaluates to true because $var is empty
if (empty($var)) {
    echo '$var is either 0, empty, or not set at all';
}

// Evaluates as true because $var is set
if (isset($var)) {
    echo '$var is set even though it is empty';
}
?>

Exemplo #2 Função empty() em Deslocamento de String

O PHP 5.4 modifica como empty() se comporta quando passado deslocamentos de string.

<?php
$expected_array_got_string = 'somestring';
var_dump(empty($expected_array_got_string['some_key']));
var_dump(empty($expected_array_got_string[0]));
var_dump(empty($expected_array_got_string['0']));
var_dump(empty($expected_array_got_string[0.5]));
var_dump(empty($expected_array_got_string['0.5']));
var_dump(empty($expected_array_got_string['0 Mostel']));
?>

O exemplo acima irá imprimir no PHP 5.3:

bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)

O exemplo acima irá imprimir no PHP 5.4:

bool(true)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)

Notas

Nota: Este é um construtor de linguagem e não uma função, por isso não é possível chamá-lo através de funções variáveis

Nota:

Ao utilizar a função empty() em propriedades de objetos inacessíveis, o método de sobrecarga __isset() será chamado, se declarado.

Veja Também

  • isset() - Informa se a variável foi iniciada
  • __isset()
  • unset() - Destrói a variável especificada
  • array_key_exists() - Checa se uma chave ou índice existe em um array
  • count() - Conta o número de elementos de uma variável, ou propriedades de um objeto
  • strlen() - Retorna o tamanho de uma string
  • A tabela de comparação de tipos


Obtém o valor em ponto flutuante da variável

  • « empty
  • get_defined_vars »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Obtém o valor em ponto flutuante da variável

floatval

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

floatval — Obtém o valor em ponto flutuante da variável

Descrição

floatval ( mixed $var ) : float

Obtém o valor float de var.

Parâmetros

var

Pode ser qualquer tipo escalar. Não deve ser utilizado em objetos. Fazer isso ocasionará na missão de um nível de erro E_NOTICE e retornará 1.

Valor Retornado

O valor em ponto flutuante da variável informada. Arrays vazios retornam 0, arrays com valores retoram 1.

Strings provavelmente retornarão 0, embora esse comportamento dependa dos caracteres à esquerda da string. A regra geral de conversão para ponto flutuante é aplicada.

Exemplos

Exemplo #1 Exemplo da função floatval()

<?php
$variavel = '122.34343The';
$valor_float = floatval ($variavel);
echo $valor_float; // mostra 122.34343
?>

Exemplo #2 Exemplo da função floatval() em string com caracteres não numéricos à esquerda

<?php
$var = 'The122.34343';
$float_value_of_var = floatval($var);
echo $float_value_of_var; // 0
?>

Veja Também

  • boolval() - Obtém o valor booleano de uma variável
  • intval() - Retorna o valor inteiro da variável
  • strval() - Retorna o valor string de uma variável
  • settype() - Atribui um tipo para a variável
  • Manipulação de Tipos


Retorna um array com todas variáveis definidas

  • « floatval
  • get_resource_id »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Retorna um array com todas variáveis definidas

get_defined_vars

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

get_defined_vars — Retorna um array com todas variáveis definidas

Descrição

get_defined_vars ( ) : array

Essa função retorna um array multimensional contendo uma lista com todas as variáveis definidas, incluindo variáveis de ambiente, servidor ou variáveis definidas pelo usuário, dentro do escopo que get_defined_vars() foi chamada.

Valor Retornado

Um array multidimensional com todas as variáveis.

Exemplos

Exemplo #1 Exemplo da get_defined_vars()

<?php
$b = array(1,1,2,3,5,8);

$arr = get_defined_vars();

// mostra $b
print_r($arr["b"]);

/* mostra o caminho do interpretador do PHP (se for usado como CGI)
 * por exemplo /usr/local/bin/php */
echo $arr["_"];

// mostra os parâmetros da linha de comando se for usado
print_r($arr["argv"]);

// mostra todas variáveis de servidor
print_r($arr["_SERVER"]);

// mostra todos os indíces possíveis para a matriz de variáveis
print_r(array_keys(get_defined_vars()));
?>

Veja Também

  • isset() - Informa se a variável foi iniciada
  • get_defined_functions() - Retorna um array de todas as funções definidas
  • get_defined_constants() - Retorna uma matriz associativa com os nomes de todas as constantes e seus valores


Returns an integer identifier for the given resource

  • « get_defined_vars
  • get_resource_type »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Returns an integer identifier for the given resource

get_resource_id

(PHP 8)

get_resource_id — Returns an integer identifier for the given resource

Descrição

get_resource_id ( resource $res ) : int

This function provides a type-safe way for generating the integer identifier for a resource.

Parâmetros

res

The evaluated resource handle.

Valor Retornado

The int identifier for the given res.

This function is essentially an int cast of res to make it easier to retrieve the resource ID.

Exemplos

Exemplo #1 get_resource_id() example

<?php
$handle = fopen('./storage/logs/lumen.log', 'rt');

echo (int) $handle . "\n\n";

echo get_resource_id($handle);

?>

O exemplo acima irá imprimir:

698

698

Veja Também

  • get_resource_type() - Retorna o tipo de resource


Retorna o tipo de resource

  • « get_resource_id
  • gettype »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Retorna o tipo de resource

get_resource_type

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

get_resource_type — Retorna o tipo de resource

Descrição

get_resource_type ( resource $handle ) : string

Essa função obtém o tipo do dado resource.

Parâmetros

handle

O manipulador resource a ser avaliado.

Valor Retornado

Se o dado handle é um resource, esta função retornará a string representando seu tipo. Se o tipo não é identificado por esta função, o valor retornado será a string Unknown.

Esta função retornará false e gera um erro se handle não for um resource.

Exemplos

Exemplo #1 Exemplo da get_resource_type()

<?php
// mosta: mysql link
$c = mysql_connect();
echo get_resource_type($c)."\n";

// mostra: stream
$fp = fopen("foo", "w");
echo get_resource_type($fp)."\n";

// mostra: domxml document
$doc = new xmldoc("1.0");
echo get_resource_type($doc->doc)."\n";
?>


Obtém o tipo da variável

  • « get_resource_type
  • intval »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Obtém o tipo da variável

gettype

(PHP 4, PHP 5, PHP 7, PHP 8)

gettype — Obtém o tipo da variável

Descrição

gettype ( mixed $var ) : string

Retorna o tipo da variável no PHP var. Para checagem de tipo, utilize as funções is_*.

Parâmetros

var

A variável a ter o tipo verificado.

Valor Retornado

Os possíveis valores retornados pela função são:

  • "boolean"
  • "integer"
  • "double" (por razões históricas "double" é é retornado no caso de float, e não simplesmente "float")
  • "string"
  • "array"
  • "object"
  • "resource"
  • "NULL"
  • "unknown type"

Exemplos

Exemplo #1 Exemplo da função gettype()

<?php

$data = array(1, 1., NULL, new stdClass, 'foo');

foreach ($data as $value) {
    echo gettype($value), "\n";
}

?>

O exemplo acima irá imprimir algo similar à:

integer
double
NULL
object
string

Veja Também

  • settype() - Atribui um tipo para a variável
  • get_class() - Retorna o nome da classe de um objeto
  • is_array() - Verifica se a variável é um array
  • is_bool() - Verifica se a variável é um boleano
  • is_callable() - Verifica se o conteúdo da variável pode ser chamado como função
  • is_float() - Informa se a variável é do tipo float
  • is_int() - Informa se a variável é do tipo inteiro
  • is_null() - Informa se a variável é null
  • is_numeric() - Informa se a variável é um número ou uma string numérica
  • is_object() - Informa se a variável é um objeto
  • is_resource() - Informa se a variável é um resource
  • is_scalar() - Informa se é uma váriavel escalar
  • is_string() - Informa se a variável é do tipo string
  • function_exists() - Retorna true se a função dada está definida
  • method_exists() - Checa se o método da classe existe


Retorna o valor inteiro da variável

  • « gettype
  • is_array »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Retorna o valor inteiro da variável

intval

(PHP 4, PHP 5, PHP 7, PHP 8)

intval — Retorna o valor inteiro da variável

Descrição

intval ( mixed $var , int $base = ? ) : int

Retorna o valor integer de var, usando a base especificada para a conversão (o padrão é a base 10).

Parâmetros

var

The scalar value being converted to an integer

base

The base for the conversion (default is base 10)

Valor Retornado

The integer value of var on success, or 0 on failure. Empty arrays and objects return 0, non-empty arrays and objects return 1.

O valor máximo depende do sistema. Sistemas 32 bit tem o máximo de inteiro com sinal entre -2147483648 e 2147483647. Então por exemplo no sistema, intval('1000000000000') irá retornar 2147483647. O valor máximo do inteiro com sinal para sistemas 64 bit é 9223372036854775807.

Strings retorna 0 embora isto dependa do caractere mais a esquerda da string. A regra comum aplicada de conversão de inteiro.

Exemplos

Exemplo #1 Exemplos da intval()

Os exemplos seguintes são baseados em sistema 32 bit.

<?php
echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 1410065408
echo intval('1e10');                  // 1
echo intval(0x1A);                    // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(42, 8);                   // 42
echo intval('42', 8);                 // 34
?>

Notas

Nota:

O parâmetro base não tem efeito a menos que o parâmetro var seja string.

Veja Também

  • floatval() - Obtém o valor em ponto flutuante da variável
  • strval() - Retorna o valor string de uma variável
  • settype() - Atribui um tipo para a variável
  • is_numeric() - Informa se a variável é um número ou uma string numérica
  • Manipulação de tipos
  • Funções matemáticas de precisão arbitrária BCMath


Verifica se a variável é um array

  • « intval
  • is_bool »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Verifica se a variável é um array

is_array

(PHP 4, PHP 5, PHP 7, PHP 8)

is_array — Verifica se a variável é um array

Descrição

is_array ( mixed $var ) : bool

Verifica se uma dada variável é um array.

Parâmetros

var

A variável a ser avaliada.

Valor Retornado

Retorna true se var é um array, false caso contrário.

Exemplos

Exemplo #1 Verificando se a variável é um array

<?php
$yes = array('this', 'is', 'an array');

echo is_array($yes) ? 'Array' : 'not an Array';
echo "\n";

$no = 'this is a string';

echo is_array($no) ? 'Array' : 'not an Array';
?>

O exemplo acima irá imprimir:

Array
not an Array

Veja Também

  • is_float() - Informa se a variável é do tipo float
  • is_int() - Informa se a variável é do tipo inteiro
  • is_string() - Informa se a variável é do tipo string
  • is_object() - Informa se a variável é um objeto


Verifica se a variável é um boleano

  • « is_array
  • is_callable »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Verifica se a variável é um boleano

is_bool

(PHP 4, PHP 5, PHP 7, PHP 8)

is_bool — Verifica se a variável é um boleano

Descrição

is_bool ( mixed $var ) : bool

Verifica se uma dada variável é boolean.

Parâmetros

var

The variable being evaluated.

Valor Retornado

Retorna true se var é um boolean, false caso contrário.

Exemplos

Exemplo #1 Exemplo is_bool()

<?php
 $a = false;
 $b = 0;

 // Como $a é boolean, retornará true
 if (is_bool($a) === true) {
    echo 'Sim, isso é booleano';
 }

 // Como $b não é boolean, retornará false
 if (is_bool($b) === false) {
     echo 'Não, isso não é booleano';
 }
 ?>

Veja Também

  • is_float() - Informa se a variável é do tipo float
  • is_int() - Informa se a variável é do tipo inteiro
  • is_string() - Informa se a variável é do tipo string
  • is_object() - Informa se a variável é um objeto
  • is_array() - Verifica se a variável é um array


Verifica se o conteúdo da variável pode ser chamado como função

  • « is_bool
  • is_countable »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Verifica se o conteúdo da variável pode ser chamado como função

is_callable

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

is_callable — Verifica se o conteúdo da variável pode ser chamado como função

Descrição

is_callable ( mixed $var , bool $syntax_only = ? , string &$callable_name = ? ) : bool

Verifica se o conteúdo da variável pode ser chamado como uma função. Isto pode verificar se uma simples variável contêm o nome de uma função válida, ou que um array contêm uma propriedade de um objeto e nome de função.

Parâmetros

var

Pode ser qualquer nome de uma função armazenada na string, ou um objeto e o nome de um do método dentro do objeto, como isto:

array($SomeObject, 'MethodName')

syntax_only

Se definido como true a função somente verifica se var é uma função ou método. Irá somente rejeitar simples variáveis que não são strings, ou um array que não tem uma estrutura válida para ser usada como um callback. O valor válido suposto teria somente 2 entradas, a primeira que é um objeto ou uma string. e o segundo uma string.

callable_name

Recebe o "nome chamável". No exemplo acima seria "someClass::someMethod". Note, contudo, que apesar da implicação que someClass::SomeMethod() é um chamável método estático, este não é o caso.

Valor Retornado

Retorna true se var é chamável, false caso contrário.

Exemplos

Exemplo #1 Exemplo da is_callable()

<?php
//  How to check a variable to see if it can be called
//  as a function.

//
//  Simple variable containing a function
//

function someFunction()
{
}

$functionVariable = 'someFunction';

var_dump(is_callable($functionVariable, false, $callable_name));  // bool(true)

echo $callable_name, "\n";  // someFunction

//
//  Array containing a method
//

class someClass {

  function someMethod()
  {
  }

}

$anObject = new someClass();

$methodVariable = array($anObject, 'someMethod');

var_dump(is_callable($methodVariable, true, $callable_name));  //  bool(true)

echo $callable_name, "\n";  //  someClass::someMethod

?>

Veja Também

  • function_exists() - Retorna true se a função dada está definida
  • method_exists() - Checa se o método da classe existe


Verify that the contents of a variable is a countable value

  • « is_callable
  • is_double »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Verify that the contents of a variable is a countable value

is_countable

(PHP 7 >= 7.3.0, PHP 8)

is_countable — Verify that the contents of a variable is a countable value

Descrição

is_countable ( mixed $value ) : bool

Verify that the contents of a variable is an array or an object implementing Countable

Parâmetros

value

The value to check

Valor Retornado

Returns true if value is countable, false otherwise.

Changelog

Versão | Descrição
7.3.0 | is_countable() has been added.

Exemplos

Exemplo #1 is_countable() examples

<?php
var_dump(is_countable([1, 2, 3])); // bool(true)
var_dump(is_countable(new ArrayIterator(['foo', 'bar', 'baz']))); // bool(true)
var_dump(is_countable(new ArrayIterator())); // bool(true)
var_dump(is_countable(new stdClass())); // bool(false)

Veja Também

  • is_array() - Verifica se a variável é um array
  • is_object() - Informa se a variável é um objeto
  • is_iterable() - Verify that the contents of a variable is an iterable value
  • is_bool() - Verifica se a variável é um boleano


Sinônimo de is_float

  • « is_countable
  • is_float »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Sinônimo de is_float

is_double

(PHP 4, PHP 5, PHP 7, PHP 8)

is_double — Sinônimo de is_float()

Descrição

Esta função é um apelido para: is_float().


Informa se a variável é do tipo float

  • « is_double
  • is_int »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Informa se a variável é do tipo float

is_float

(PHP 4, PHP 5, PHP 7, PHP 8)

is_float — Informa se a variável é do tipo float

Descrição

is_float ( mixed $var ) : bool

Verifica se a dada variável é do tipo ponto flutuante.

Nota:

Para verificar se a variável é um número ou uma string numérica (campos de formulários sempre são strings númericas), use is_numeric().

Parâmetros

var

A variável a ser avaliada.

Valor Retornado

Retorna true se var é float, false caso contrário.

Exemplos

Exemplo #1 Exemplo da is_float()

<?php
if(is_float(27.25)) {
 echo "is float\n";
}else {
 echo "is not float\n";
}
var_dump(is_float('abc'));
var_dump(is_float(23));
var_dump(is_float(23.5));
var_dump(is_float(1e7));  //Scientific Notation
var_dump(is_float(true));
?>

O exemplo acima irá imprimir:

is float
bool(false)
bool(false)
bool(true)
bool(true)
bool(false)

Veja Também

  • is_bool() - Verifica se a variável é um boleano
  • is_int() - Informa se a variável é do tipo inteiro
  • is_numeric() - Informa se a variável é um número ou uma string numérica
  • is_string() - Informa se a variável é do tipo string
  • is_array() - Verifica se a variável é um array
  • is_object() - Informa se a variável é um objeto


Informa se a variável é do tipo inteiro

  • « is_float
  • is_integer »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Informa se a variável é do tipo inteiro

is_int

(PHP 4, PHP 5, PHP 7, PHP 8)

is_int — Informa se a variável é do tipo inteiro

Descrição

is_int ( mixed $var ) : bool

Verifica se a dada variável é do tipo inteiro.

Nota:

Para verificar se a variável é um número ou uma string numérica (campos de formulários sempre são strings numéricas), use is_numeric().

Parâmetros

var

A variável a ser avaliada.

Valor Retornado

Retorna true se var é integer, false caso contrário.

Exemplos

Exemplo #1 Exemplo da is_int()

<?php
if (is_int(23)) {
 echo "is integer\n";
} else {
 echo "is not an integer\n";
}
var_dump(is_int(23));
var_dump(is_int("23"));
var_dump(is_int(23.5));
var_dump(is_int(true));
?>

O exemplo acima irá imprimir:

is integer
bool(true)
bool(false)
bool(false)
bool(false)

Veja Também

  • is_bool() - Verifica se a variável é um boleano
  • is_float() - Informa se a variável é do tipo float
  • is_numeric() - Informa se a variável é um número ou uma string numérica
  • is_string() - Informa se a variável é do tipo string
  • is_array() - Verifica se a variável é um array
  • is_object() - Informa se a variável é um objeto


Sinônimo de is_int

  • « is_int
  • is_iterable »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Sinônimo de is_int

is_integer

(PHP 4, PHP 5, PHP 7, PHP 8)

is_integer — Sinônimo de is_int()

Descrição

Esta função é um apelido para: is_int().


Verify that the contents of a variable is an iterable value

  • « is_integer
  • is_long »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Verify that the contents of a variable is an iterable value

is_iterable

(PHP 7 >= 7.1.0, PHP 8)

is_iterable — Verify that the contents of a variable is an iterable value

Descrição

is_iterable ( mixed $value ) : bool

Verify that the contents of a variable is accepted by the iterable pseudo-type, i.e. that it is either an array or an object implementing Traversable

Parâmetros

value

The value to check

Valor Retornado

Returns true if value is iterable, false otherwise.

Exemplos

Exemplo #1 is_iterable() examples

<?php

var_dump(is_iterable([1, 2, 3]));  // bool(true)
var_dump(is_iterable(new ArrayIterator([1, 2, 3])));  // bool(true)
var_dump(is_iterable((function () { yield 1; })()));  // bool(true)
var_dump(is_iterable(1));  // bool(false)
var_dump(is_iterable(new stdClass()));  // bool(false)

?>

Veja Também

  • is_array() - Verifica se a variável é um array


Sinônimo de is_int

  • « is_iterable
  • is_null »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Sinônimo de is_int

is_long

(PHP 4, PHP 5, PHP 7, PHP 8)

is_long — Sinônimo de is_int()

Descrição

Esta função é um apelido para: is_int().


Informa se a variável é null

  • « is_long
  • is_numeric »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Informa se a variável é null

is_null

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

is_null — Informa se a variável é null

Descrição

is_null ( mixed $var ) : bool

Verifica se uma dada variável é null.

Parâmetros

var

A variável a ser avaliada.

Valor Retornado

Retorna true se var é null, false caso contrário.

Veja Também

  • O tipo null
  • isset() - Informa se a variável foi iniciada
  • is_bool() - Verifica se a variável é um boleano
  • is_numeric() - Informa se a variável é um número ou uma string numérica
  • is_float() - Informa se a variável é do tipo float
  • is_int() - Informa se a variável é do tipo inteiro
  • is_string() - Informa se a variável é do tipo string
  • is_object() - Informa se a variável é um objeto
  • is_array() - Verifica se a variável é um array


Informa se a variável é um número ou uma string numérica

  • « is_null
  • is_object »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Informa se a variável é um número ou uma string numérica

is_numeric

(PHP 4, PHP 5, PHP 7, PHP 8)

is_numeric — Informa se a variável é um número ou uma string numérica

Descrição

is_numeric ( mixed $var ) : bool

Verifica se a dada variável é numérica. Strings numéricas consistem de um sinal opcional, algum número de dígitos, opcional parte decimal e opcional parte exponencial. Assim +0123.45e6 é um válido valor numérico. Notação hexadecimal (0xFF) é permitida também mas somente sem sinal, decimal e parte exponencial.

Parâmetros

var

A variável a ser avaliada.

Valor Retornado

Retorna true se var é um número ou uma string numérica, false caso contrário.

Veja Também

  • ctype_digit() - Verifica se os caracteres são numéricos
  • is_bool() - Verifica se a variável é um boleano
  • is_null() - Informa se a variável é null
  • is_float() - Informa se a variável é do tipo float
  • is_int() - Informa se a variável é do tipo inteiro
  • is_string() - Informa se a variável é do tipo string
  • is_object() - Informa se a variável é um objeto
  • is_array() - Verifica se a variável é um array


Informa se a variável é um objeto

  • « is_numeric
  • is_real »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Informa se a variável é um objeto

is_object

(PHP 4, PHP 5, PHP 7, PHP 8)

is_object — Informa se a variável é um objeto

Descrição

is_object ( mixed $var ) : bool

Verifica se uma dada variável é um objeto.

Parâmetros

var

A variável a ser avaliada.

Valor Retornado

Retorna true se var é um object, false senão.

Notas

Nota:

Esta função retornará false se usada em um objeto não serializado onde a definição da classe não está presente (mesmo que gettype() retorne object).

Veja Também

  • is_bool() - Verifica se a variável é um boleano
  • is_int() - Informa se a variável é do tipo inteiro
  • is_float() - Informa se a variável é do tipo float
  • is_string() - Informa se a variável é do tipo string
  • is_array() - Verifica se a variável é um array


Sinônimo de is_float

  • « is_object
  • is_resource »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Sinônimo de is_float

is_real

(PHP 4, PHP 5, PHP 7, PHP 8)

is_real — Sinônimo de is_float()

Descrição

Esta função é um apelido para: is_float().


Informa se a variável é um resource

  • « is_real
  • is_scalar »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Informa se a variável é um resource

is_resource

(PHP 4, PHP 5, PHP 7, PHP 8)

is_resource — Informa se a variável é um resource

Descrição

is_resource ( mixed $var ) : bool

Verifica se uma dada variável é um resource.

Parâmetros

var

A variável a ser avaliada.

Valor Retornado

Retorna true se var é um resource, false caso contrário.

Exemplos

Exemplo #1 Exemplo da is_resource()

<?php

$db_link = @mysql_connect('localhost', 'mysql_user', 'mysql_pass');
if (!is_resource($db_link)) {
    die('Can\'t connect : ' . mysql_error());
}

?>

Notas

Nota:

O is_resource() não é um método de validação de tipo estrito: retornará false se a var for uma variável de recurso que está fechado.

Veja Também

  • The resource-type documentation
  • get_resource_type() - Retorna o tipo de resource


Informa se é uma váriavel escalar

  • « is_resource
  • is_string »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Informa se é uma váriavel escalar

is_scalar

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

is_scalar — Informa se é uma váriavel escalar

Descrição

is_scalar ( mixed $var ) : bool

Verifica se a dada variável é uma escalar.

Variáveis escalares são as que contém integer, float, string ou boolean. os tipos array, object e resource não são escalares.

Nota:

is_scalar() não considera o tipo resource como um valor escalar, apesar de tipos resouce ser uma abstração de dados, atualmente baseados em inteiros. Esse detalhe de implementação poderá ser modificado futuramente.

Nota:

is_scalar() não considera NULL como sendo do tipo escalar.

Parâmetros

var

A variável a ser avaliada.

Valor Retornado

Retorna true se var é um escalar, false caso contrário.

Exemplos

Exemplo #1 Exemplo da is_scalar()

<?php
function show_var($var)
{
    if (is_scalar($var)) {
        echo $var;
    } else {
        var_dump($var);
    }
}
$pi = 3.1416;
$proteins = array("hemoglobin", "cytochrome c oxidase", "ferredoxin");

show_var($pi);
show_var($proteins)

?>

O exemplo acima irá imprimir:

3.1416
array(3) {
  [0]=>
  string(10) "hemoglobin"
  [1]=>
  string(20) "cytochrome c oxidase"
  [2]=>
  string(10) "ferredoxin"
}

Veja Também

  • is_float() - Informa se a variável é do tipo float
  • is_int() - Informa se a variável é do tipo inteiro
  • is_numeric() - Informa se a variável é um número ou uma string numérica
  • is_real() - Sinônimo de is_float
  • is_string() - Informa se a variável é do tipo string
  • is_bool() - Verifica se a variável é um boleano
  • is_object() - Informa se a variável é um objeto
  • is_array() - Verifica se a variável é um array


Informa se a variável é do tipo string

  • « is_scalar
  • isset »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Informa se a variável é do tipo string

is_string

(PHP 4, PHP 5, PHP 7, PHP 8)

is_string — Informa se a variável é do tipo string

Descrição

is_string ( mixed $var ) : bool

Verifica se a dada variável é do tipo string.

Parâmetros

var

A variável a ser analisada.

Valor Retornado

Retorna true se var é do tipo string, false senão.

Exemplos

Exemplo #1 Exemplo da is_string()

<?php
if (is_string("23")) {
 echo "is string\n";
} else {
 echo "is not an string\n";
}
var_dump(is_string('abc'));
var_dump(is_string("23"));
var_dump(is_string(23.5));
var_dump(is_string(true));
?>

O exemplo acima irá imprimir:

is string
bool(true)
bool(true)
bool(false)
bool(false)

Veja Também

  • is_float() - Informa se a variável é do tipo float
  • is_int() - Informa se a variável é do tipo inteiro
  • is_bool() - Verifica se a variável é um boleano
  • is_object() - Informa se a variável é um objeto
  • is_array() - Verifica se a variável é um array


Informa se a variável foi iniciada

  • « is_string
  • print_r »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Informa se a variável foi iniciada

isset

(PHP 4, PHP 5, PHP 7, PHP 8)

isset — Informa se a variável foi iniciada

Descrição

isset ( mixed $var , mixed $var = ? , $... = ? ) : bool

Verifica se a variável é definida.

Se a variável for destruída com unset(), ela não existirá mais. isset() retornará false se for usada em uma variável com o valor null. Lembrando que no PHP um byte null ("\0") é diferente da constante null.

Se múltiplos parâmetros são fornecidos, então isset() retornará true somente se todos os parâmetros são definidos. A avaliação vai da esquerda para direita e pára logo que encontra uma variável não definida.

Parâmetros

var

A variável a ser verificada.

var

Outra variável...

...

Valor Retornado

Retorna true se var existe; false caso contrário.

Exemplos

Exemplo #1 Exemplos da isset()

<?php

$var = '';

// Será interpretado como TRUE imprimindo o texto.
if (isset($var)) {
    echo "Essa variável existe.";
}

// No próximo exemplo será usado var_dump para mostrar
// o valor de retorno de isset().

$a = "teste";
$b = "outrotest";

var_dump( isset($a) );      // TRUE
var_dump( isset ($a, $b) ); // TRUE

unset ($a);

var_dump( isset ($a) );     // FALSE
var_dump( isset ($a, $b) ); // FALSE

$foo = NULL;
var_dump( isset ($foo) );   // FALSE

?>

Isto também serve para chaves associativas de matrizes:

<?php

$a = array ('test' => 1, 'hello' => NULL);

var_dump( isset ($a['test']) );            // TRUE
var_dump( isset ($a['foo']) );             // FALSE
var_dump( isset ($a['hello']) );           // FALSE

// A chave 'hello' é igual a NULL sendo considerada como inexistente
// Se quiser verificar o valor NULL da chave tente:
var_dump( array_key_exists('hello', $a) ); // TRUE

?>

Notas

Aviso

isset() somente funciona com variáveis, passando qualquer outra coisa resultará em um erro do analisador. Para verificar se constants estão definidas, use a função defined().

Nota: Este é um construtor de linguagem e não uma função, por isso não é possível chamá-lo através de funções variáveis

Veja Também

  • empty() - Determina se a variável é vazia
  • unset() - Destrói a variável especificada
  • defined() - Confere se uma constante existe
  • a tabela de comparação de tipos
  • array_key_exists() - Checa se uma chave ou índice existe em um array
  • is_null() - Informa se a variável é null
  • o operador @ de controle de erro


Imprime informação sobre uma variável de forma legível

  • « isset
  • serialize »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Imprime informação sobre uma variável de forma legível

print_r

(PHP 4, PHP 5, PHP 7, PHP 8)

print_r — Imprime informação sobre uma variável de forma legível

Descrição

print_r ( mixed $expression , bool $return = false ) : mixed

print_r() exibe informação sobre uma variável em uma maneira que é legível para humanos.

print_r(), var_dump() e var_export() mostrarão também propriedades protegidas e privadas de objetos com PHP 5. Membros de classes estáticas não serão mostrados.

Lembre-se de que print_r() moverá o ponteiro do array para o fim. Utilize reset() para levá-lo de volta ao início.

Parâmetros

expression

A expressão a ser impressa.

return

Se você quiser capturar a saída de print_r(), utilize o parâmetro return. Quando esse parâmetro é setado para true, print_r() retornará a informação, ao invés de imprimi-la.

Valor Retornado

Se forem fornecidos string, integer ou float, o próprio valor será impresso. Se for fornecido um array, valores serão representados em um formato que mostra chaves e elementos. Notação similar é utilizada para objetos.

Quando o parâmetro return for true, esta função retornará uma string. Caso contrário, o valor retornado será true.

Notas

Nota:

Quando o parâmetro return é utilizado, esta função utiliza um buffer interno, de forma que ela não pode ser utilizada dentro de um callback da função ob_start().

Changelog

Versão | Descrição
4.3.0 | O parâmetro return foi adicionado. Se você precisar capturar a saída de print_r() em uma função anterior do PHP, utilize funções de controle de saída.
4.0.4 | Antes de PHP 4.0.4, print_r() será executada para sempre se forem fornecidos array ou objeto que contêm uma referência direta ou indireta para eles mesmos. Um exemplo é print_r($GLOBALS) porque $GLOBALS é ela própria uma variável global que contém uma referência para ela mesma.

Exemplos

Exemplo #1 Exemplo de print_r()

<pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>

O exemplo acima irá imprimir:

<pre>
Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>

Exemplo #2 Exemplo do parâmetro return

<?php
$b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$results = print_r($b, true); // $results agora contém a saída de print_r
?>

Veja Também

  • ob_start() - Ativa o buffer de saída
  • var_dump() - Mostra informações sobre a variável
  • var_export() - Mostra ou retorna uma representação estruturada de uma variável


Generates a storable representation of a value

  • « print_r
  • settype »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Generates a storable representation of a value

serialize

(PHP 4, PHP 5, PHP 7, PHP 8)

serialize — Generates a storable representation of a value

Descrição

serialize ( mixed $value ) : string

Generates a storable representation of a value.

This is useful for storing or passing PHP values around without losing their type and structure.

To make the serialized string into a PHP value again, use unserialize().

Parâmetros

value

The value to be serialized. serialize() handles all types, except the resource-type and some objects (see note below). You can even serialize() arrays that contain references to itself. Circular references inside the array/object you are serializing will also be stored. Any other reference will be lost.

When serializing objects, PHP will attempt to call the member functions __serialize() or __sleep() prior to serialization. This is to allow the object to do any last minute clean-up, etc. prior to being serialized. Likewise, when the object is restored using unserialize() the __unserialize() or __wakeup() member function is called.

Nota:

Object's private members have the class name prepended to the member name; protected members have a '*' prepended to the member name. These prepended values have null bytes on either side.

Valor Retornado

Returns a string containing a byte-stream representation of value that can be stored anywhere.

Note that this is a binary string which may include null bytes, and needs to be stored and handled as such. For example, serialize() output should generally be stored in a BLOB field in a database, rather than a CHAR or TEXT field.

Exemplos

Exemplo #1 serialize() example

<?php
// $session_data contains a multi-dimensional array with session
// information for the current user.  We use serialize() to store
// it in a database at the end of the request.

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn,
      "UPDATE sessions SET data = ? WHERE id = ?");
$sqldata = array (serialize($session_data), $_SERVER['PHP_AUTH_USER']);
if (!odbc_execute($stmt, $sqldata)) {
    $stmt = odbc_prepare($conn,
     "INSERT INTO sessions (id, data) VALUES(?, ?)");
    if (!odbc_execute($stmt, array_reverse($sqldata))) {
        /* Something went wrong.. */
    }
}
?>

Notas

Nota:

Note that many built-in PHP objects cannot be serialized. However, those with this ability either implement the Serializable interface or the magic __serialize()/__unserialize() or __sleep()/__wakeup() methods. If an internal class does not fulfill any of those requirements, it cannot reliably be serialized.

There are some historical exceptions to the above rule, where some internal objects could be serialized without implementing the interface or exposing the methods. Notably, the ArrayObject prior to PHP 5.2.0.

Aviso

When serialize() serializes objects, the leading backslash is not included in the class name of namespaced classes for maximum compatibility.

Veja Também

  • unserialize() - Creates a PHP value from a stored representation
  • var_export() - Mostra ou retorna uma representação estruturada de uma variável
  • json_encode() - Retorna a representação JSON de um valor
  • Serializing Objects
  • __sleep()
  • __wakeup()
  • __serialize()
  • __unserialize()


Atribui um tipo para a variável

  • « serialize
  • strval »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Atribui um tipo para a variável

settype

(PHP 4, PHP 5, PHP 7, PHP 8)

settype — Atribui um tipo para a variável

Descrição

settype ( mixed &$var , string $type ) : bool

Atribui um tipo para a variável var baseado no type.

Parâmetros

var

A variável a ser convertida.

type

Os valores possíveis para type são:

  • "boolean" (ou, a partir do PHP 4.2.0, "bool")
  • "integer" (ou, a partir do PHP 4.2.0, "int")
  • "float" (somente para versões acima do PHP 4.2.0, para versões antigas use a variação depreciada "double")
  • "string"
  • "array"
  • "object"
  • "null" (a partir do PHP 4.2.0)

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo da função settype()

<?php
$foo = "5bar"; // string
$bar = true;   // boolean

settype($foo, "integer"); // $foo é agora 5   (integer)
settype($bar, "string");  // $bar é agora "1" (string)
?>

Notas

Nota:

O valor máximo para "int" é PHP_INT_MAX.

Veja Também

  • gettype() - Obtém o tipo da variável
  • conversão de tipos
  • manipulação de tipos


Retorna o valor string de uma variável

  • « settype
  • unserialize »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Retorna o valor string de uma variável

strval

(PHP 4, PHP 5, PHP 7, PHP 8)

strval — Retorna o valor string de uma variável

Descrição

strval ( mixed $var ) : string

Obtém o valor string de uma variável. Veja a documentação sobre string para maiores informações de conversão de strings.

Esta função não faz nenhuma formatação no valor retornado. Se você está procurando por alguma maneira de formatar um valor numérico como string, por favor veja as funções sprintf() ou number_format().

Parâmetros

var

A variável que será convertida para o tipo string.

var pode ser qualquer tipo escalar ou um objeto que implemente o método __toString(). Você não pode usar strval() em arrays ou objetos que não implementem o método __toString().

Valor Retornado

A string com o valor de var.

Exemplos

Exemplo #1 Exemplo de strval() usando o método mágico __toString() do PHP 5

<?php
class StrValTest
{
  public function __toString()
  {
    return __CLASS__;
  }
}

// Mostra 'StrValTest'
echo strval(new StrValTest);
?>

Veja Também

  • boolval() - Obtém o valor booleano de uma variável
  • floatval() - Obtém o valor em ponto flutuante da variável
  • intval() - Retorna o valor inteiro da variável
  • settype() - Atribui um tipo para a variável
  • sprintf() - Retorna a string formatada
  • number_format() - Formata um número com os milhares agrupados
  • Manipulação de tipos
  • __toString()


Creates a PHP value from a stored representation

  • « strval
  • unset »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Creates a PHP value from a stored representation

unserialize

(PHP 4, PHP 5, PHP 7, PHP 8)

unserialize — Creates a PHP value from a stored representation

Descrição

unserialize ( string $data , array $options = [] ) : mixed

unserialize() takes a single serialized variable and converts it back into a PHP value.

Aviso

Do not pass untrusted user input to unserialize() regardless of the options value of allowed_classes. Unserialization can result in code being loaded and executed due to object instantiation and autoloading, and a malicious user may be able to exploit this. Use a safe, standard data interchange format such as JSON (via json_decode() and json_encode()) if you need to pass serialized data to the user.

If you need to unserialize externally-stored serialized data, consider using hash_hmac() for data validation. Make sure data is not modified by anyone but you.

Parâmetros

data

The serialized string.

If the variable being unserialized is an object, after successfully reconstructing the object PHP will automatically attempt to call the __unserialize() or __wakeup() methods (if one exists).

Nota: unserialize_callback_func directive

It's possible to set a callback-function which will be called, if an undefined class should be instantiated during unserializing. (to prevent getting an incomplete object "__PHP_Incomplete_Class".) Use your php.ini, ini_set() or .htaccess to define unserialize_callback_func. Everytime an undefined class should be instantiated, it'll be called. To disable this feature just empty this setting.

options

Any options to be provided to unserialize(), as an associative array.

Valid options
Name | Type | Description
allowed_classes | mixed | Either an array of class names which should be accepted, false to accept no classes, or true to accept all classes. If this option is defined and unserialize() encounters an object of a class that isn't to be accepted, then the object will be instantiated as __PHP_Incomplete_Class instead. Omitting this option is the same as defining it as true: PHP will attempt to instantiate objects of any class.

Valor Retornado

The converted value is returned, and can be a bool, int, float, string, array or object.

In case the passed string is not unserializeable, false is returned and E_NOTICE is issued.

Erros

Objects may throw Throwables in their unserialization handlers.

Changelog

Versão | Descrição
7.1.0 | The allowed_classes element of options) is now strictly typed, i.e. if anything other than an array or a bool is given, unserialize() returns false and issues an E_WARNING.
7.0.0 | The options parameter has been added.
5.6.0 | Manipulating the serialised data by replacing C: with O: to force object instantiation without calling the constructor will now fail.

Exemplos

Exemplo #1 unserialize() example

<?php
// Here, we use unserialize() to load session data to the
// $session_data array from the string selected from a database.
// This example complements the one described with serialize().

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array($_SERVER['PHP_AUTH_USER']);
if (!odbc_execute($stmt, $sqldata) || !odbc_fetch_into($stmt, $tmp)) {
    // if the execute or fetch fails, initialize to empty array
    $session_data = array();
} else {
    // we should now have the serialized data in $tmp[0].
    $session_data = unserialize($tmp[0]);
    if (!is_array($session_data)) {
        // something went wrong, initialize to empty array
        $session_data = array();
    }
}
?>

Exemplo #2 unserialize_callback_func example

<?php
$serialized_object='O:1:"a":1:{s:5:"value";s:3:"100";}';

ini_set('unserialize_callback_func', 'mycallback'); // set your callback_function

function mycallback($classname)
{
    // just include a file containing your class definition
    // you get $classname to figure out which class definition is required
}
?>

Notas

Aviso

false is returned both in the case of an error and if unserializing the serialized false value. It is possible to catch this special case by comparing data with serialize(false) or by catching the issued E_NOTICE.

Veja Também

  • json_encode() - Retorna a representação JSON de um valor
  • json_decode() - Decodifica uma string JSON
  • hash_hmac() - Generate a keyed hash value using the HMAC method
  • serialize() - Generates a storable representation of a value
  • Autoloading Classes
  • unserialize_callback_func
  • __wakeup()
  • __serialize()
  • __unserialize()


Destrói a variável especificada

  • « unserialize
  • var_dump »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Destrói a variável especificada

unset

(PHP 4, PHP 5, PHP 7, PHP 8)

unset — Destrói a variável especificada

Descrição

unset ( mixed $var , mixed $var = ? , mixed $... = ? ) : void

unset() destrói a variável especificada.

O comportamento de unset() pode variar dentro de uma função dependendo do tipo de variável que você está tentando destruir.

Se utilizar unset() em uma variável global dentro de uma função, somente a variável local será destruída. A variável no ambiente que foi chamada terá o mesmo valor como antes da execução de unset().

<?php
function destroy_foo()
{
    global $foo;
    unset($foo);
}

$foo = 'bar';
destroy_foo();
echo $foo;
?>

O exemplo acima irá imprimir:

bar

Se você quer usar unset() na variável global dentro de uma função, você pode usar o array $GLOBALS, veja então:

<?php
function foo()
{
    unset($GLOBALS['bar']);
}

$bar = "something";
foo();
?>

Se a variável for passada por referencia e a função unset() estiver dentro de uma função, apenas a variável local será destruída. A variável no ambiente que chamou a função onde esta unset() irá manter o mesmo valor de antes da utilização de unset().

<?php
function foo(&$bar)
{
    unset($bar);
    $bar = "blah";
}

$bar = 'something';
echo "$bar\n";

foo($bar);
echo "$bar\n";
?>

O exemplo acima irá imprimir:

something
something

Se for utilizado unset() com uma variável estática dentro de uma função, unset() destrói a variável somente no contexto do resto da função. Chamada seguintes irão restaurar o valor anterior da variável. todas as suas referências.

<?php
function foo()
{
    static $bar;
    $bar++;
    echo "Before unset: $bar, ";
    unset($bar);
    $bar = 23;
    echo "after unset: $bar\n";
}

foo();
foo();
foo();
?>

O exemplo acima irá imprimir:

Before unset: 1, after unset: 23
Before unset: 2, after unset: 23
Before unset: 3, after unset: 23

Parâmetros

var

The variable to be unset.

var

Another variable ..

...

Valor Retornado

Não há valor retornado.

Changelog

Versão | Descrição
4.0.0 | unset() tornou-se uma expressão. (No PHP 3, unset() sempre retorna 1).

Exemplos

Exemplo #1 Exemplo da unset()

<?php
// destroy a single variable
unset($foo);

// destroy a single element of an array
unset($bar['quux']);

// destroy more than one variable
unset($foo1, $foo2, $foo3);
?>

Notas

Nota: Este é um construtor de linguagem e não uma função, por isso não é possível chamá-lo através de funções variáveis

Nota:

É possível usar unset em propriedades de objetos visíveis no contexto atual.

Nota:

Não é possível usar unset em $this dentro de um método de objeto desde o PHP 5.

Veja Também

  • isset() - Informa se a variável foi iniciada
  • empty() - Determina se a variável é vazia
  • array_splice() - Remove uma parcela do array e substitui com outros elementos


Mostra informações sobre a variável

  • « unset
  • var_export »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Mostra informações sobre a variável

var_dump

(PHP 4, PHP 5, PHP 7, PHP 8)

var_dump — Mostra informações sobre a variável

Descrição

var_dump ( mixed $expression , mixed $expression = ? , $... = ? ) : void

Esta função mostrará uma representação estruturada sobre uma ou mais expressões, incluindo o tipo e o valor. Arrays e objetos são explorados recursivamente com valores identados na estrutura mostrada.

No PHP 5 todas propriedades public, private e protected do objeto são retornados na saída.

Dica

Como toda saída é normalmente enviada direto para o browser, as Funções de Controle de Output podem ser utilizadas para capturar o resultado e guardá-lo em uma string (por exemplo).

Parâmetros

expression

A variável que você quer exportar.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Exemplo da var_dump()

<?php
$a = array (1, 2, array ("a", "b", "c"));
var_dump ($a);
?>

O exemplo acima irá imprimir:

/* mostrará:
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
  }
}
<?php

$b = 3.1;
$c = true;
var_dump($b,$c);

?>

O exemplo acima irá imprimir:

float(3.1)
bool(true)

Veja Também

  • var_export() - Mostra ou retorna uma representação estruturada de uma variável
  • print_r() - Imprime informação sobre uma variável de forma legível


Mostra ou retorna uma representação estruturada de uma variável

  • « var_dump
  • Web Services »
  • PHP Manual
  • Funções para Manipulação de variáveis
  • Mostra ou retorna uma representação estruturada de uma variável

var_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

var_export — Mostra ou retorna uma representação estruturada de uma variável

Descrição

var_export ( mixed $expression , bool $return = ? ) : mixed

var_export() obtém informação estruturada sobre uma dada variável. Ela é similar a var_dump() com uma exceção: a representação retornada é um código PHP válido.

Parâmetros

expression

A variável que você quer exportar.

return

Se usado e definido para true, var_export() irá retornar a representação da variável ao invés de exibí-la.

Nota:

Quando o parâmetro return é utilizado, esta função utiliza um buffer interno, de forma que ela não pode ser utilizada dentro de um callback da função ob_start().

Valor Retornado

Retorna a representação da variável quando o parâmetro return é usado e avaliado para true. Caso contrário, esta função retornará null.

Notas

Nota:

Quando o parâmetro return é utilizado, esta função utiliza um buffer interno, de forma que ela não pode ser utilizada dentro de um callback da função ob_start().

Changelog

Versão | Descrição
7.3.0 | Now exports stdClass objects as an array cast to an object ((object) array( ... )), rather than using the nonexistent method stdClass::__setState(). The practical effect is that now stdClass is exportable, and the resulting code will even work on earlier versions of PHP.

Exemplos

Exemplo #1 var_export() Examples

<?php
$a = array (1, 2, array ("a", "b", "c"));
var_export($a);
?>

O exemplo acima irá imprimir:

array (
  0 => 1,
  1 => 2,
  2 =>
  array (
    0 => 'a',
    1 => 'b',
    2 => 'c',
  ),
)
<?php

$b = 3.1;
$v = var_export($b, true);
echo $v;

?>

O exemplo acima irá imprimir:

3.1

Exemplo #2 Exporting stdClass (since PHP 7.3.0)

<?php
$person = new stdClass;
$person->name = 'ElePHPant ElePHPantsdotter';
$person->website = 'https://php.net/elephpant.php';

var_export($person);

O exemplo acima irá imprimir:

(object) array(
   'name' => 'ElePHPant ElePHPantsdotter',
   'website' => 'https://php.net/elephpant.php',
)

Exemplo #3 Exporting classes (since PHP 5.1.0)

<?php
class A { public $var; }
$a = new A;
$a->var = 5;
var_export($a);
?>

O exemplo acima irá imprimir:

A::__set_state(array(
   'var' => 5,
))

Exemplo #4 Using __set_state() (since PHP 5.1.0)

<?php
class A
{
    public $var1;
    public $var2;

    public static function __set_state($an_array)
    {
        $obj = new A;
        $obj->var1 = $an_array['var1'];
        $obj->var2 = $an_array['var2'];
        return $obj;
    }
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array(
                                            //    'var1' => 5,
                                            //    'var2' => 'foo',
                                            // ));
var_dump($b);
?>

O exemplo acima irá imprimir:

object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}

Notas

Nota:

Variables of type resource couldn't be exported by this function.

Nota:

var_export() does not handle circular references as it would be close to impossible to generate parsable PHP code for that. If you want to do something with the full representation of an array or object, use serialize().

Aviso

When var_export() exports objects, the leading backslash is not included in the class name of namespaced classes for maximum compatibility.

Nota:

To be able to evaluate the PHP generated by var_export(), all processed objects must implement the magic __set_state method. The only exception is stdClass, which is exported using an array cast to an object.

Veja Também

  • print_r() - Imprime informação sobre uma variável de forma legível
  • serialize() - Generates a storable representation of a value
  • var_dump() - Mostra informações sobre a variável


Web Services

  • OAuth
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • OAuth Funções
    • OAuth — The OAuth class
    • OAuthProvider — The OAuthProvider class
    • OAuthException — OAuthException class
  • SOAP
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • SOAP Funções
    • SoapClient — The SoapClient class
    • SoapServer — The SoapServer class
    • SoapFault — The SoapFault class
    • SoapHeader — The SoapHeader class
    • SoapParam — The SoapParam class
    • SoapVar — The SoapVar class
  • Yar — Yet Another RPC Framework
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Yar_Server — The Yar_Server class
    • Yar_Client — The Yar_Client class
    • Yar_Concurrent_Client — The Yar_Concurrent_Client class
    • Yar_Server_Exception — The Yar_Server_Exception class
    • Yar_Client_Exception — The Yar_Client_Exception class
  • XML-RPC
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Funções para XML-RPC


OAuth

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • FireEagle
  • OAuth Funções
    • oauth_get_sbs — Generate a Signature Base String
    • oauth_urlencode — Encode a URI to RFC 3986
  • OAuth — The OAuth class
    • OAuth::__construct — Create a new OAuth object
    • OAuth::__destruct — The destructor
    • OAuth::disableDebug — Turn off verbose debugging
    • OAuth::disableRedirects — Turn off redirects
    • OAuth::disableSSLChecks — Turn off SSL checks
    • OAuth::enableDebug — Turn on verbose debugging
    • OAuth::enableRedirects — Turn on redirects
    • OAuth::enableSSLChecks — Turn on SSL checks
    • OAuth::fetch — Fetch an OAuth protected resource
    • OAuth::generateSignature — Generate a signature
    • OAuth::getAccessToken — Fetch an access token
    • OAuth::getCAPath — Gets CA information
    • OAuth::getLastResponse — Get the last response
    • OAuth::getLastResponseHeaders — Get headers for last response
    • OAuth::getLastResponseInfo — Get HTTP information about the last response
    • OAuth::getRequestHeader — Generate OAuth header string signature
    • OAuth::getRequestToken — Fetch a request token
    • OAuth::setAuthType — Set authorization type
    • OAuth::setCAPath — Set CA path and info
    • OAuth::setNonce — Set the nonce for subsequent requests
    • OAuth::setRequestEngine — The setRequestEngine purpose
    • OAuth::setRSACertificate — Set the RSA certificate
    • OAuth::setSSLChecks — Tweak specific SSL checks for requests
    • OAuth::setTimestamp — Set the timestamp
    • OAuth::setToken — Sets the token and secret
    • OAuth::setVersion — Set the OAuth version
  • OAuthProvider — The OAuthProvider class
    • OAuthProvider::addRequiredParameter — Add required parameters
    • OAuthProvider::callconsumerHandler — Calls the consumerNonceHandler callback
    • OAuthProvider::callTimestampNonceHandler — Calls the timestampNonceHandler callback
    • OAuthProvider::calltokenHandler — Calls the tokenNonceHandler callback
    • OAuthProvider::checkOAuthRequest — Check an oauth request
    • OAuthProvider::__construct — Constructs a new OAuthProvider object
    • OAuthProvider::consumerHandler — Set the consumerHandler handler callback
    • OAuthProvider::generateToken — Generate a random token
    • OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint
    • OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint
    • OAuthProvider::removeRequiredParameter — Remove a required parameter
    • OAuthProvider::reportProblem — Report a problem
    • OAuthProvider::setParam — Set a parameter
    • OAuthProvider::setRequestTokenPath — Set request token path
    • OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback
    • OAuthProvider::tokenHandler — Set the tokenHandler handler callback
  • OAuthException — OAuthException class


Introdução

This extension provides OAuth 1.0a consumer and provider bindings. OAuth is an authorization protocol built on top of HTTP which allows applications to securely access data without having to store usernames and passwords.


Dependências

PECL/oauth requires PHP 5.1 or newer, ext/hash and ext/pcre.

PECL/oauth may optionally require libcurl if selected at build time. If configured with libcurl, it must be built with HTTPS support.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pear.php.net/package/oauth


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Most of these constants involve problems, which are also described within the official OAuth » Problem Reporting documentation. Note however, that these constant names are specific to PHP, although the naming scheme is similar.

OAUTH_SIG_METHOD_RSASHA1 (string)
OAuth RSA-SHA1 signature method.
OAUTH_SIG_METHOD_HMACSHA1 (string)

OAuth HMAC-SHA1 signature method.

OAUTH_SIG_METHOD_HMACSHA256 (string)
OAuth HMAC-SHA256 signature method.
OAUTH_AUTH_TYPE_AUTHORIZATION (string)

This constant represents putting OAuth parameters in the Authorization header.

OAUTH_AUTH_TYPE_NONE (string)

This constant indicates a NoAuth OAuth request.

OAUTH_AUTH_TYPE_URI (string)

This constant represents putting OAuth parameters in the request URI.

OAUTH_AUTH_TYPE_FORM (string)

This constant represents putting OAuth parameters as part of the HTTP POST body.

OAUTH_HTTP_METHOD_GET (string)

Use the GET method for the OAuth request.

OAUTH_HTTP_METHOD_POST (string)

Use the POST method for the OAuth request.

OAUTH_HTTP_METHOD_PUT (string)

Use the PUT method for the OAuth request.

OAUTH_HTTP_METHOD_HEAD (string)

Use the HEAD method for the OAuth request.

OAUTH_HTTP_METHOD_DELETE (string)
Use the DELETE method for the OAuth request.
OAUTH_REQENGINE_STREAMS (int)
Used by OAuth::setRequestEngine() to set the engine to PHP streams, as opposed to OAUTH_REQENGINE_CURL for Curl.
OAUTH_REQENGINE_CURL (int)
Used by OAuth::setRequestEngine() to set the engine to Curl, as opposed to OAUTH_REQENGINE_STREAMS for PHP streams.
OAUTH_OK (int)
Life is good.
OAUTH_BAD_NONCE (int)
The oauth_nonce value was used in a previous request, therefore it cannot be used now.
OAUTH_BAD_TIMESTAMP (int)
The oauth_timestamp value was not accepted by the service provider. In this case, the response should also contain the oauth_acceptable_timestamps parameter.
OAUTH_CONSUMER_KEY_UNKNOWN (int)
The oauth_consumer_key is temporarily unacceptable to the service provider. For example, the service provider may be throttling the consumer.
OAUTH_CONSUMER_KEY_REFUSED (int)
The consumer key was refused.
OAUTH_INVALID_SIGNATURE (int)
The oauth_signature is invalid, as it does not match the signature computed by the service provider.
OAUTH_TOKEN_USED (int)
The oauth_token has been consumed. It can no longer be used because it has already been used in the previous request(s).
OAUTH_TOKEN_EXPIRED (int)
The oauth_token has expired.
OAUTH_TOKEN_REVOKED (int)
The oauth_token has been revoked, and will never be accepted.
OAUTH_TOKEN_REJECTED (int)
The oauth_token was not accepted by the service provider. The reason is not known, but it might be because the token was never issued, already consumed, expired, and/or forgotten by the service provider.
OAUTH_VERIFIER_INVALID (int)
The oauth_verifier is incorrect.
OAUTH_PARAMETER_ABSENT (int)
A required parameter was not received. In this case, the response should also contain the oauth_parameters_absent parameter.
OAUTH_SIGNATURE_METHOD_REJECTED (int)
The oauth_signature_method was not accepted by service provider.


  • « Constantes pré-definidas
  • FireEagle »
  • PHP Manual
  • OAuth
  • Exemplos

Exemplos

Índice

  • FireEagle


FireEagle

<?php
$req_url = 'https://fireeagle.yahooapis.com/oauth/request_token';
$authurl = 'https://fireeagle.yahoo.net/oauth/authorize';
$acc_url = 'https://fireeagle.yahooapis.com/oauth/access_token';
$api_url = 'https://fireeagle.yahooapis.com/api/0.1';
$conskey = 'your_consumer_key';
$conssec = 'your_consumer_secret';

session_start();

// In state=1 the next request should include an oauth_token.
// If it doesn't go back to 0
if(!isset($_GET['oauth_token']) && $_SESSION['state']==1) $_SESSION['state'] = 0;
try {
  $oauth = new OAuth($conskey,$conssec,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_URI);
  $oauth->enableDebug();
  if(!isset($_GET['oauth_token']) && !$_SESSION['state']) {
    $request_token_info = $oauth->getRequestToken($req_url);
    $_SESSION['secret'] = $request_token_info['oauth_token_secret'];
    $_SESSION['state'] = 1;
    header('Location: '.$authurl.'?oauth_token='.$request_token_info['oauth_token']);
    exit;
  } else if($_SESSION['state']==1) {
    $oauth->setToken($_GET['oauth_token'],$_SESSION['secret']);
    $access_token_info = $oauth->getAccessToken($acc_url);
    $_SESSION['state'] = 2;
    $_SESSION['token'] = $access_token_info['oauth_token'];
    $_SESSION['secret'] = $access_token_info['oauth_token_secret'];
  }
  $oauth->setToken($_SESSION['token'],$_SESSION['secret']);
  $oauth->fetch("$api_url/user.json");
  $json = json_decode($oauth->getLastResponse());
  print_r($json);
} catch(OAuthException $E) {
  print_r($E);
}
?>


OAuth Funções

Índice

  • oauth_get_sbs — Generate a Signature Base String
  • oauth_urlencode — Encode a URI to RFC 3986


Generate a Signature Base String

  • « OAuth Funções
  • oauth_urlencode »
  • PHP Manual
  • OAuth Funções
  • Generate a Signature Base String

oauth_get_sbs

(PECL OAuth >=0.99.7)

oauth_get_sbs — Generate a Signature Base String

Descrição

oauth_get_sbs ( string $http_method , string $uri , array $request_parameters = ? ) : string

Generates a Signature Base String according to pecl/oauth.

Parâmetros

http_method

The HTTP method.

uri

URI to encode.

request_parameters

Array of request parameters.

Valor Retornado

Returns a Signature Base String.


Encode a URI to RFC 3986

  • « oauth_get_sbs
  • OAuth »
  • PHP Manual
  • OAuth Funções
  • Encode a URI to RFC 3986

oauth_urlencode

(PECL OAuth >=0.99.2)

oauth_urlencode — Encode a URI to RFC 3986

Descrição

oauth_urlencode ( string $uri ) : string

Encodes a URI to » RFC 3986.

Parâmetros

uri

URI to encode.

Valor Retornado

Returns an » RFC 3986 encoded string.


The OAuth class

(PECL OAuth >= 0.99.1)

Introdução

The OAuth extension provides a simple interface to interact with data providers using the OAuth HTTP specification to protect private resources.

Sinopse da classe

OAuth {
/* Propriedades */
public $debug ;
public $sslChecks ;
public $debugInfo ;
/* Métodos */
public __construct ( string $consumer_key , string $consumer_secret , string $signature_method = OAUTH_SIG_METHOD_HMACSHA1 , int $auth_type = 0 )
public __destruct ( ) : void
public disableDebug ( ) : bool
public disableRedirects ( ) : bool
public disableSSLChecks ( ) : bool
public enableDebug ( ) : bool
public enableRedirects ( ) : bool
public enableSSLChecks ( ) : bool
public fetch ( string $protected_resource_url , array $extra_parameters = ? , string $http_method = ? , array $http_headers = ? ) : mixed
public generateSignature ( string $http_method , string $url , mixed $extra_parameters = ? ) : string|false
public getAccessToken ( string $access_token_url , string $auth_session_handle = ? , string $verifier_token = ? , string $http_method = ? ) : array
public getCAPath ( ) : array
public getLastResponse ( ) : string
public getLastResponseHeaders ( ) : string|false
public getLastResponseInfo ( ) : array
public getRequestHeader ( string $http_method , string $url , mixed $extra_parameters = ? ) : string|false
public getRequestToken ( string $request_token_url , string $callback_url = ? , string $http_method = ? ) : array
public setAuthType ( int $auth_type ) : bool
public setCAPath ( string $ca_path = ? , string $ca_info = ? ) : mixed
public setNonce ( string $nonce ) : mixed
public setRequestEngine ( int $reqengine ) : void
public setRSACertificate ( string $cert ) : mixed
public setSSLChecks ( int $sslcheck ) : bool
public setTimestamp ( string $timestamp ) : mixed
public setToken ( string $token , string $token_secret ) : bool
public setVersion ( string $version ) : bool
}

Propriedades

debug

sslChecks

debugInfo

Índice

  • OAuth::__construct — Create a new OAuth object
  • OAuth::__destruct — The destructor
  • OAuth::disableDebug — Turn off verbose debugging
  • OAuth::disableRedirects — Turn off redirects
  • OAuth::disableSSLChecks — Turn off SSL checks
  • OAuth::enableDebug — Turn on verbose debugging
  • OAuth::enableRedirects — Turn on redirects
  • OAuth::enableSSLChecks — Turn on SSL checks
  • OAuth::fetch — Fetch an OAuth protected resource
  • OAuth::generateSignature — Generate a signature
  • OAuth::getAccessToken — Fetch an access token
  • OAuth::getCAPath — Gets CA information
  • OAuth::getLastResponse — Get the last response
  • OAuth::getLastResponseHeaders — Get headers for last response
  • OAuth::getLastResponseInfo — Get HTTP information about the last response
  • OAuth::getRequestHeader — Generate OAuth header string signature
  • OAuth::getRequestToken — Fetch a request token
  • OAuth::setAuthType — Set authorization type
  • OAuth::setCAPath — Set CA path and info
  • OAuth::setNonce — Set the nonce for subsequent requests
  • OAuth::setRequestEngine — The setRequestEngine purpose
  • OAuth::setRSACertificate — Set the RSA certificate
  • OAuth::setSSLChecks — Tweak specific SSL checks for requests
  • OAuth::setTimestamp — Set the timestamp
  • OAuth::setToken — Sets the token and secret
  • OAuth::setVersion — Set the OAuth version


Create a new OAuth object

  • « OAuth
  • OAuth::__destruct »
  • PHP Manual
  • OAuth
  • Create a new OAuth object

OAuth::__construct

(PECL OAuth >= 0.99.1)

OAuth::__construct — Create a new OAuth object

Descrição

public OAuth::__construct ( string $consumer_key , string $consumer_secret , string $signature_method = OAUTH_SIG_METHOD_HMACSHA1 , int $auth_type = 0 )

Creates a new OAuth object

Parâmetros

consumer_key

The consumer key provided by the service provider.

consumer_secret

The consumer secret provided by the service provider.

signature_method

This optional parameter defines which signature method to use, by default it is OAUTH_SIG_METHOD_HMACSHA1 (HMAC-SHA1).

auth_type

This optional parameter defines how to pass the OAuth parameters to a consumer, by default it is OAUTH_AUTH_TYPE_AUTHORIZATION (in the Authorization header).


The destructor

  • « OAuth::__construct
  • OAuth::disableDebug »
  • PHP Manual
  • OAuth
  • The destructor

OAuth::__destruct

(PECL OAuth >= 0.99.9)

OAuth::__destruct — The destructor

Descrição

public OAuth::__destruct ( ) : void

The destructor.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Veja Também

  • OAuth::__construct() - Create a new OAuth object


Turn off verbose debugging

  • « OAuth::__destruct
  • OAuth::disableRedirects »
  • PHP Manual
  • OAuth
  • Turn off verbose debugging

OAuth::disableDebug

(PECL OAuth >= 0.99.3)

OAuth::disableDebug — Turn off verbose debugging

Descrição

public OAuth::disableDebug ( ) : bool

Turns off verbose request information (off by default). Alternatively, the debug property can be set to a false value to turn debug off.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true

Changelog

Versão | Descrição
PECL oauth 0.99.8 | The related debug property was added.

Veja Também

  • OAuth::enableDebug() - Turn on verbose debugging


Turn off redirects

  • « OAuth::disableDebug
  • OAuth::disableSSLChecks »
  • PHP Manual
  • OAuth
  • Turn off redirects

OAuth::disableRedirects

(PECL OAuth >= 0.99.9)

OAuth::disableRedirects — Turn off redirects

Descrição

public OAuth::disableRedirects ( ) : bool

Disable redirects from being followed automatically, thus allowing the request to be manually redirected.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true

Veja Também

  • OAuth::enableRedirects() - Turn on redirects


Turn off SSL checks

  • « OAuth::disableRedirects
  • OAuth::enableDebug »
  • PHP Manual
  • OAuth
  • Turn off SSL checks

OAuth::disableSSLChecks

(PECL OAuth >= 0.99.5)

OAuth::disableSSLChecks — Turn off SSL checks

Descrição

public OAuth::disableSSLChecks ( ) : bool

Turns off the usual SSL peer certificate and host checks, this is not for production environments. Alternatively, the sslChecks member can be set to false to turn SSL checks off.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true

Changelog

Versão | Descrição
PECL oauth 0.99.8 | The sslChecks member was added

Veja Também

  • OAuth::enableSSLChecks() - Turn on SSL checks


Turn on verbose debugging

  • « OAuth::disableSSLChecks
  • OAuth::enableRedirects »
  • PHP Manual
  • OAuth
  • Turn on verbose debugging

OAuth::enableDebug

(PECL OAuth >= 0.99.3)

OAuth::enableDebug — Turn on verbose debugging

Descrição

public OAuth::enableDebug ( ) : bool

Turns on verbose request information useful for debugging, the debug information is stored in the debugInfo member. Alternatively, the debug member can be set to a non-false value to turn debug on.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true

Changelog

Versão | Descrição
PECL oauth 0.99.8 | The debug and debugInfo members were added

Veja Também

  • OAuth::disableDebug() - Turn off verbose debugging


Turn on redirects

  • « OAuth::enableDebug
  • OAuth::enableSSLChecks »
  • PHP Manual
  • OAuth
  • Turn on redirects

OAuth::enableRedirects

(PECL OAuth >= 0.99.9)

OAuth::enableRedirects — Turn on redirects

Descrição

public OAuth::enableRedirects ( ) : bool

Follow and sign redirects automatically, which is enabled by default.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true

Veja Também

  • OAuth::disableRedirects() - Turn off redirects


Turn on SSL checks

  • « OAuth::enableRedirects
  • OAuth::fetch »
  • PHP Manual
  • OAuth
  • Turn on SSL checks

OAuth::enableSSLChecks

(PECL OAuth >= 0.99.5)

OAuth::enableSSLChecks — Turn on SSL checks

Descrição

public OAuth::enableSSLChecks ( ) : bool

Turns on the usual SSL peer certificate and host checks (enabled by default). Alternatively, the sslChecks member can be set to a non-false value to turn SSL checks off.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true

Changelog

Versão | Descrição
PECL oauth 0.99.8 | The sslChecks member was added

Veja Também

  • OAuth::disableSSLChecks() - Turn off SSL checks


Fetch an OAuth protected resource

  • « OAuth::enableSSLChecks
  • OAuth::generateSignature »
  • PHP Manual
  • OAuth
  • Fetch an OAuth protected resource

OAuth::fetch

(PECL OAuth >= 0.99.1)

OAuth::fetch — Fetch an OAuth protected resource

Descrição

public OAuth::fetch ( string $protected_resource_url , array $extra_parameters = ? , string $http_method = ? , array $http_headers = ? ) : mixed

Fetch a resource.

Parâmetros

protected_resource_url

URL to the OAuth protected resource.

extra_parameters

Extra parameters to send with the request for the resource.

http_method

One of the OAUTH_HTTP_METHOD_* OAUTH constants, which includes GET, POST, PUT, HEAD, or DELETE.

HEAD (OAUTH_HTTP_METHOD_HEAD) can be useful for discovering information prior to the request (if OAuth credentials are in the Authorization header).

http_headers

HTTP client headers (such as User-Agent, Accept, etc.)

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
PECL oauth 1.0.0 | Previamente retornava null em falhas, em vez de false.
PECL oauth 0.99.5 | The http_method parameter was added
PECL oauth 0.99.8 | The http_headers parameter was added

Exemplos

Exemplo #1 OAuth::fetch() example

<?php
try {
    $oauth = new OAuth("consumer_key","consumer_secret",OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_AUTHORIZATION);
    $oauth->setToken("access_token","access_token_secret");

    $oauth->fetch("http://photos.example.net/photo?file=vacation.jpg");

    $response_info = $oauth->getLastResponseInfo();
    header("Content-Type: {$response_info["content_type"]}");
    echo $oauth->getLastResponse();
} catch(OAuthException $E) {
    echo "Exception caught!\n";
    echo "Response: ". $E->lastResponse . "\n";
}
?>

Veja Também

  • OAuth::getLastResponse() - Get the last response
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
  • OAuth::setToken() - Sets the token and secret


Generate a signature

  • « OAuth::fetch
  • OAuth::getAccessToken »
  • PHP Manual
  • OAuth
  • Generate a signature

OAuth::generateSignature

(Não há informação de versão disponível, talvez apenas no Git)

OAuth::generateSignature — Generate a signature

Descrição

public OAuth::generateSignature ( string $http_method , string $url , mixed $extra_parameters = ? ) : string|false

Generate a signature based on the final HTTP method, URL and a string/array of parameters.

Parâmetros

http_method

HTTP method for request

url

URL for request

extra_parameters

String or array of additional parameters.

Valor Retornado

A string containing the generated signature ou false em caso de falha


Fetch an access token

  • « OAuth::generateSignature
  • OAuth::getCAPath »
  • PHP Manual
  • OAuth
  • Fetch an access token

OAuth::getAccessToken

(PECL OAuth >= 0.99.1)

OAuth::getAccessToken — Fetch an access token

Descrição

public OAuth::getAccessToken ( string $access_token_url , string $auth_session_handle = ? , string $verifier_token = ? , string $http_method = ? ) : array

Fetch an access token, secret and any additional response parameters from the service provider.

Parâmetros

access_token_url

URL to the access token API.

auth_session_handle

Authorization session handle, this parameter does not have any citation in the core OAuth 1.0 specification but may be implemented by large providers. » See ScalableOAuth for more information.

verifier_token

For service providers which support 1.0a, a verifier_token must be passed while exchanging the request token for the access token. If the verifier_token is present in $_GET or $_POST it is passed automatically and the caller does not need to specify a verifier_token (usually if the access token is exchanged at the oauth_callback URL). » See ScalableOAuth for more information.

http_method

HTTP method to use, e.g. GET or POST.

Valor Retornado

Returns an array containing the parsed OAuth response on success or false on failure.

Changelog

Versão | Descrição
PECL oauth 1.0.0 | Previamente retornava null em falhas, em vez de false.
PECL oauth 0.99.9 | The verifier_token parameter was added

Exemplos

Exemplo #1 OAuth::getAccessToken() example

<?php
try {
    $oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
    $oauth->setToken($request_token,$request_token_secret);
    $access_token_info = $oauth->getAccessToken("https://example.com/oauth/access_token");
    if(!empty($access_token_info)) {
        print_r($access_token_info);
    } else {
        print "Failed fetching access token, response was: " . $oauth->getLastResponse();
    }
} catch(OAuthException $E) {
    echo "Response: ". $E->lastResponse . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [oauth_token] => some_token
    [oauth_token_secret] => some_token_secret
)

Veja Também

  • OAuth::getLastResponse() - Get the last response
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
  • OAuth::setToken() - Sets the token and secret


Gets CA information

  • « OAuth::getAccessToken
  • OAuth::getLastResponse »
  • PHP Manual
  • OAuth
  • Gets CA information

OAuth::getCAPath

(PECL OAuth >= 0.99.8)

OAuth::getCAPath — Gets CA information

Descrição

public OAuth::getCAPath ( ) : array

Gets the Certificate Authority information, which includes the ca_path and ca_info set by OAuth::setCaPath().

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of Certificate Authority information, specifically as ca_path and ca_info keys within the returned associative array.

Veja Também

  • OAuth::setCAPath() - Set CA path and info
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response


Get the last response

  • « OAuth::getCAPath
  • OAuth::getLastResponseHeaders »
  • PHP Manual
  • OAuth
  • Get the last response

OAuth::getLastResponse

(PECL OAuth >= 0.99.1)

OAuth::getLastResponse — Get the last response

Descrição

public OAuth::getLastResponse ( ) : string

Get the raw response of the most recent request.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string containing the last response.

Veja Também

  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
  • OAuth::fetch() - Fetch an OAuth protected resource


Get headers for last response

  • « OAuth::getLastResponse
  • OAuth::getLastResponseInfo »
  • PHP Manual
  • OAuth
  • Get headers for last response

OAuth::getLastResponseHeaders

(Não há informação de versão disponível, talvez apenas no Git)

OAuth::getLastResponseHeaders — Get headers for last response

Descrição

public OAuth::getLastResponseHeaders ( ) : string|false

Get headers for last response.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A string containing the last response's headers ou false em caso de falha


Get HTTP information about the last response

  • « OAuth::getLastResponseHeaders
  • OAuth::getRequestHeader »
  • PHP Manual
  • OAuth
  • Get HTTP information about the last response

OAuth::getLastResponseInfo

(PECL OAuth >= 0.99.1)

OAuth::getLastResponseInfo — Get HTTP information about the last response

Descrição

public OAuth::getLastResponseInfo ( ) : array

Get HTTP information about the last response.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns an array containing the response information for the last request. Constants from curl_getinfo() may be used.

Veja Também

  • OAuth::fetch() - Fetch an OAuth protected resource
  • OAuth::getLastResponse() - Get the last response


Generate OAuth header string signature

  • « OAuth::getLastResponseInfo
  • OAuth::getRequestToken »
  • PHP Manual
  • OAuth
  • Generate OAuth header string signature

OAuth::getRequestHeader

(Não há informação de versão disponível, talvez apenas no Git)

OAuth::getRequestHeader — Generate OAuth header string signature

Descrição

public OAuth::getRequestHeader ( string $http_method , string $url , mixed $extra_parameters = ? ) : string|false

Generate OAuth header string signature based on the final HTTP method, URL and a string/array of parameters

Parâmetros

http_method

HTTP method for request.

url

URL for request.

extra_parameters

String or array of additional parameters.

Valor Retornado

A string containing the generated request header ou false em caso de falha


Fetch a request token

  • « OAuth::getRequestHeader
  • OAuth::setAuthType »
  • PHP Manual
  • OAuth
  • Fetch a request token

OAuth::getRequestToken

(PECL OAuth >= 0.99.1)

OAuth::getRequestToken — Fetch a request token

Descrição

public OAuth::getRequestToken ( string $request_token_url , string $callback_url = ? , string $http_method = ? ) : array

Fetch a request token, secret and any additional response parameters from the service provider.

Parâmetros

request_token_url

URL to the request token API.

callback_url

OAuth callback URL. If callback_url is passed and is an empty value, it is set to "oob" to address the OAuth 2009.1 advisory.

http_method

HTTP method to use, e.g. GET or POST.

Valor Retornado

Returns an array containing the parsed OAuth response on success or false on failure.

Changelog

Versão | Descrição
PECL oauth 1.0.0 | Previamente retornava null em falhas, em vez de false.
PECL oauth 0.99.9 | The callback_url parameter was added

Exemplos

Exemplo #1 OAuth::getRequestToken() example

<?php
try {
    $oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
    $request_token_info = $oauth->getRequestToken("https://example.com/oauth/request_token");
    if(!empty($request_token_info)) {
        print_r($request_token_info);
    } else {
        print "Failed fetching request token, response was: " . $oauth->getLastResponse();
    }
} catch(OAuthException $E) {
    echo "Response: ". $E->lastResponse . "\n";
}
?>

O exemplo acima irá imprimir algo similar à:

Array
(
    [oauth_token] => some_token
    [oauth_token_secret] => some_token_secret
)

Veja Também

  • OAuth::getLastResponse() - Get the last response
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response


Set authorization type

  • « OAuth::getRequestToken
  • OAuth::setCAPath »
  • PHP Manual
  • OAuth
  • Set authorization type

OAuth::setAuthType

(PECL OAuth >= 0.99.1)

OAuth::setAuthType — Set authorization type

Descrição

public OAuth::setAuthType ( int $auth_type ) : bool

Set where the OAuth parameters should be passed.

Parâmetros

auth_type

auth_type can be one of the following flags (in order of decreasing preference as per OAuth 1.0 section 5.2):

OAUTH_AUTH_TYPE_AUTHORIZATION
Pass the OAuth parameters in the HTTP Authorization header.
OAUTH_AUTH_TYPE_FORM
Append the OAuth parameters to the HTTP POST request body.
OAUTH_AUTH_TYPE_URI
Append the OAuth parameters to the request URI.
OAUTH_AUTH_TYPE_NONE
None.

Valor Retornado

Returns true if a parameter is correctly set, otherwise false (e.g., if an invalid auth_type is passed in.)

Changelog

Versão | Descrição
PECL oauth 1.0.0 | Previamente retornava null em falhas, em vez de false.


Set CA path and info

  • « OAuth::setAuthType
  • OAuth::setNonce »
  • PHP Manual
  • OAuth
  • Set CA path and info

OAuth::setCAPath

(PECL OAuth >= 0.99.8)

OAuth::setCAPath — Set CA path and info

Descrição

public OAuth::setCAPath ( string $ca_path = ? , string $ca_info = ? ) : mixed

Sets the Certificate Authority (CA), both for path and info.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

ca_path

The CA Path being set.

ca_info

The CA Info being set.

Valor Retornado

Returns true on success, or false if either ca_path or ca_info are considered invalid.

Changelog

Versão | Descrição
PECL oauth 1.0.0 | Previamente retornava null em falhas, em vez de false.

Veja Também

  • OAuth::getCaPath() - Gets CA information


Set the nonce for subsequent requests

  • « OAuth::setCAPath
  • OAuth::setRequestEngine »
  • PHP Manual
  • OAuth
  • Set the nonce for subsequent requests

OAuth::setNonce

(PECL OAuth >= 0.99.1)

OAuth::setNonce — Set the nonce for subsequent requests

Descrição

public OAuth::setNonce ( string $nonce ) : mixed

Sets the nonce for all subsequent requests.

Parâmetros

nonce

The value for oauth_nonce.

Valor Retornado

Returns true on success, or false if the nonce is considered invalid.

Changelog

Versão | Descrição
PECL oauth 1.0.0 | Previamente retornava null em falhas, em vez de false.

Veja Também

  • OAuth::setToken() - Sets the token and secret
  • OAuth::setAuthType() - Set authorization type
  • OAuth::setVersion() - Set the OAuth version


The setRequestEngine purpose

  • « OAuth::setNonce
  • OAuth::setRSACertificate »
  • PHP Manual
  • OAuth
  • The setRequestEngine purpose

OAuth::setRequestEngine

(PECL OAuth >= 1.0.0)

OAuth::setRequestEngine — The setRequestEngine purpose

Descrição

public OAuth::setRequestEngine ( int $reqengine ) : void

Sets the Request Engine, that will be sending the HTTP requests.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

reqengine

The desired request engine. Set to OAUTH_REQENGINE_STREAMS to use PHP Streams, or OAUTH_REQENGINE_CURL to use Curl.

Valor Retornado

Não há valor retornado.

Erros

Emits an OAuthException exception if an invalid request engine is chosen.

Exemplos

Exemplo #1 OAuth::setRequestEngine() example

<?php
$consumer = new OAuth();

$consumer->setRequestEngine(OAUTH_REQENGINE_STREAMS);
?>

Veja Também

  • Curl
  • PHP streams
  • OAuthException


Set the RSA certificate

  • « OAuth::setRequestEngine
  • OAuth::setSSLChecks »
  • PHP Manual
  • OAuth
  • Set the RSA certificate

OAuth::setRSACertificate

(PECL OAuth >= 1.0.0)

OAuth::setRSACertificate — Set the RSA certificate

Descrição

public OAuth::setRSACertificate ( string $cert ) : mixed

Sets the RSA certificate.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

cert

The RSA certificate.

Valor Retornado

Returns true on success, or false on failure (e.g., the RSA certificate cannot be parsed.)

Changelog

Versão | Descrição
PECL oauth 1.0.0 | Previamente retornava null em falhas, em vez de false.

Exemplos

Exemplo #1 An OAuth::setRsaCertificate() example

<?php
$consume = new OAuth('1234', '', OAUTH_SIG_METHOD_RSASHA1);

$consume->setRSACertificate(file_get_contents('test.pem'));
?>

Veja Também

  • OAuth::setCaPath() - Set CA path and info


Tweak specific SSL checks for requests

  • « OAuth::setRSACertificate
  • OAuth::setTimestamp »
  • PHP Manual
  • OAuth
  • Tweak specific SSL checks for requests

OAuth::setSSLChecks

(Não há informação de versão disponível, talvez apenas no Git)

OAuth::setSSLChecks — Tweak specific SSL checks for requests

Descrição

public OAuth::setSSLChecks ( int $sslcheck ) : bool

Tweak specific SSL checks for requests.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

sslcheck

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set the timestamp

  • « OAuth::setSSLChecks
  • OAuth::setToken »
  • PHP Manual
  • OAuth
  • Set the timestamp

OAuth::setTimestamp

(PECL OAuth >= 1.0.0)

OAuth::setTimestamp — Set the timestamp

Descrição

public OAuth::setTimestamp ( string $timestamp ) : mixed

Sets the OAuth timestamp for subsequent requests.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

timestamp

The timestamp.

Valor Retornado

Returns true, unless the timestamp is invalid, in which case false is returned.

Changelog

Versão | Descrição
PECL oauth 1.0.0 | Previamente retornava null em falhas, em vez de false.

Veja Também

  • OAuth::setNonce() - Set the nonce for subsequent requests


Sets the token and secret

  • « OAuth::setTimestamp
  • OAuth::setVersion »
  • PHP Manual
  • OAuth
  • Sets the token and secret

OAuth::setToken

(PECL OAuth >= 0.99.1)

OAuth::setToken — Sets the token and secret

Descrição

public OAuth::setToken ( string $token , string $token_secret ) : bool

Set the token and secret for subsequent requests.

Parâmetros

token

The OAuth token.

token_secret

The OAuth token secret.

Valor Retornado

true

Exemplos

Exemplo #1 OAuth::setToken() example

<?php
$oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
$oauth->setToken("token","token-secret");
?>


Set the OAuth version

  • « OAuth::setToken
  • OAuthProvider »
  • PHP Manual
  • OAuth
  • Set the OAuth version

OAuth::setVersion

(PECL OAuth >= 0.99.1)

OAuth::setVersion — Set the OAuth version

Descrição

public OAuth::setVersion ( string $version ) : bool

Sets the OAuth version for subsequent requests

Parâmetros

version

OAuth version, default value is always "1.0"

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


The OAuthProvider class

(PECL OAuth >= 1.0.0)

Introdução

Manages an OAuth provider class.

See also an external in-depth tutorial titled » Writing an OAuth Provider Service, which takes a hands-on approach to providing this service. There are also » OAuth provider examples within the OAuth extensions sources.

Sinopse da classe

OAuthProvider {
/* Methods */
final public addRequiredParameter ( string $req_params ) : bool
public callconsumerHandler ( ) : void
public callTimestampNonceHandler ( ) : void
public calltokenHandler ( ) : void
public checkOAuthRequest ( string $uri = ? , string $method = ? ) : void
public __construct ( array $params_array = ? )
public consumerHandler ( callable $callback_function ) : void
final public static generateToken ( int $size , bool $strong = false ) : string
public is2LeggedEndpoint ( mixed $params_array ) : void
public isRequestTokenEndpoint ( bool $will_issue_request_token ) : void
final public removeRequiredParameter ( string $req_params ) : bool
final public static reportProblem ( string $oauthexception , bool $send_headers = true ) : string
final public setParam ( string $param_key , mixed $param_val = ? ) : bool
final public setRequestTokenPath ( string $path ) : bool
public timestampNonceHandler ( callable $callback_function ) : void
public tokenHandler ( callable $callback_function ) : void
}

Índice

  • OAuthProvider::addRequiredParameter — Add required parameters
  • OAuthProvider::callconsumerHandler — Calls the consumerNonceHandler callback
  • OAuthProvider::callTimestampNonceHandler — Calls the timestampNonceHandler callback
  • OAuthProvider::calltokenHandler — Calls the tokenNonceHandler callback
  • OAuthProvider::checkOAuthRequest — Check an oauth request
  • OAuthProvider::__construct — Constructs a new OAuthProvider object
  • OAuthProvider::consumerHandler — Set the consumerHandler handler callback
  • OAuthProvider::generateToken — Generate a random token
  • OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint
  • OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint
  • OAuthProvider::removeRequiredParameter — Remove a required parameter
  • OAuthProvider::reportProblem — Report a problem
  • OAuthProvider::setParam — Set a parameter
  • OAuthProvider::setRequestTokenPath — Set request token path
  • OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback
  • OAuthProvider::tokenHandler — Set the tokenHandler handler callback


Add required parameters

  • « OAuthProvider
  • OAuthProvider::callconsumerHandler »
  • PHP Manual
  • OAuthProvider
  • Add required parameters

OAuthProvider::addRequiredParameter

(PECL OAuth >= 1.0.0)

OAuthProvider::addRequiredParameter — Add required parameters

Descrição

final public OAuthProvider::addRequiredParameter ( string $req_params ) : bool

Add required oauth provider parameters.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

req_params

The required parameters.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • OAuthProvider::removeRequiredParameter() - Remove a required parameter


Calls the consumerNonceHandler callback

  • « OAuthProvider::addRequiredParameter
  • OAuthProvider::callTimestampNonceHandler »
  • PHP Manual
  • OAuthProvider
  • Calls the consumerNonceHandler callback

OAuthProvider::callconsumerHandler

(Não há informação de versão disponível, talvez apenas no Git)

OAuthProvider::callconsumerHandler — Calls the consumerNonceHandler callback

Descrição

public OAuthProvider::callconsumerHandler ( ) : void

Calls the registered consumer handler callback function, which is set with OAuthProvider::consumerHandler().

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Erros

Emite um erro de nível E_ERROR se a função callback não puder ser chamada ou não tiver sido especificada.

Veja Também

  • OAuthProvider::consumerHandler() - Set the consumerHandler handler callback


Calls the timestampNonceHandler callback

  • « OAuthProvider::callconsumerHandler
  • OAuthProvider::calltokenHandler »
  • PHP Manual
  • OAuthProvider
  • Calls the timestampNonceHandler callback

OAuthProvider::callTimestampNonceHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::callTimestampNonceHandler — Calls the timestampNonceHandler callback

Descrição

public OAuthProvider::callTimestampNonceHandler ( ) : void

Calls the registered timestamp handler callback function, which is set with OAuthProvider::timestampNonceHandler().

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Erros

Emite um erro de nível E_ERROR se a função callback não puder ser chamada ou não tiver sido especificada.

Veja Também

  • OAuthProvider::timestampNonceHandler() - Set the timestampNonceHandler handler callback


Calls the tokenNonceHandler callback

  • « OAuthProvider::callTimestampNonceHandler
  • OAuthProvider::checkOAuthRequest »
  • PHP Manual
  • OAuthProvider
  • Calls the tokenNonceHandler callback

OAuthProvider::calltokenHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::calltokenHandler — Calls the tokenNonceHandler callback

Descrição

public OAuthProvider::calltokenHandler ( ) : void

Calls the registered token handler callback function, which is set with OAuthProvider::tokenHandler().

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Erros

Emite um erro de nível E_ERROR se a função callback não puder ser chamada ou não tiver sido especificada.

Veja Também

  • OAuthProvider::tokenHandler() - Set the tokenHandler handler callback


Check an oauth request

  • « OAuthProvider::calltokenHandler
  • OAuthProvider::__construct »
  • PHP Manual
  • OAuthProvider
  • Check an oauth request

OAuthProvider::checkOAuthRequest

(PECL OAuth >= 1.0.0)

OAuthProvider::checkOAuthRequest — Check an oauth request

Descrição

public OAuthProvider::checkOAuthRequest ( string $uri = ? , string $method = ? ) : void

Checks an OAuth request.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

uri

The optional URI, or endpoint.

method

The HTTP method. Optionally pass in one of the OAUTH_HTTP_METHOD_* OAuth constants.

Valor Retornado

Não há valor retornado.

Erros

Emits an E_ERROR level error if the HTTP method cannot be detected.

Veja Também

  • OAuthProvider::reportProblem() - Report a problem


Constructs a new OAuthProvider object

  • « OAuthProvider::checkOAuthRequest
  • OAuthProvider::consumerHandler »
  • PHP Manual
  • OAuthProvider
  • Constructs a new OAuthProvider object

OAuthProvider::__construct

(PECL OAuth >= 1.0.0)

OAuthProvider::__construct — Constructs a new OAuthProvider object

Descrição

public OAuthProvider::__construct ( array $params_array = ? )

Initiates a new OAuthProvider object.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

params_array

Setting these optional parameters is limited to the CLI SAPI.

Valor Retornado

An OAuthProvider object.

Exemplos

Exemplo #1 OAuthProvider::__construct() example

<?php
try {

    $op = new OAuthProvider();

    // Uses user-defined callback functions
    $op->consumerHandler(array($this, 'lookupConsumer'));
    $op->timestampNonceHandler(array($this, 'timestampNonceChecker'));
    $op->tokenHandler(array($this, 'myTokenHandler'));

    // Ignore the foo_uri parameter
    $op->setParam('foo_uri', NULL);

    // No token needed for this end point
    $op->setRequestTokenPath('/v1/oauth/request_token');

    $op->checkOAuthRequest();

} catch (OAuthException $e) {

    echo OAuthProvider::reportProblem($e);
}
?>

Veja Também

  • OAuthProvider::setParam() - Set a parameter


Set the consumerHandler handler callback

  • « OAuthProvider::__construct
  • OAuthProvider::generateToken »
  • PHP Manual
  • OAuthProvider
  • Set the consumerHandler handler callback

OAuthProvider::consumerHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::consumerHandler — Set the consumerHandler handler callback

Descrição

public OAuthProvider::consumerHandler ( callable $callback_function ) : void

Sets the consumer handler callback, which will later be called with OAuthProvider::callConsumerHandler().

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

callback_function

The callable functions name.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Example OAuthProvider::consumerHandler() callback

<?php
function lookupConsumer($provider) {

    if ($provider->consumer_key === 'unknown') {
        return OAUTH_CONSUMER_KEY_UNKNOWN;
    } else if($provider->consumer_key == 'blacklisted' || $provider->consumer_key === 'throttled') {
        return OAUTH_CONSUMER_KEY_REFUSED;
    }

    $provider->consumer_secret = "the_consumers_secret";

    return OAUTH_OK;
}
?>

Veja Também

  • OAuthProvider::callConsumerHandler() - Calls the consumerNonceHandler callback


Generate a random token

  • « OAuthProvider::consumerHandler
  • OAuthProvider::is2LeggedEndpoint »
  • PHP Manual
  • OAuthProvider
  • Generate a random token

OAuthProvider::generateToken

(PECL OAuth >= 1.0.0)

OAuthProvider::generateToken — Generate a random token

Descrição

final public static OAuthProvider::generateToken ( int $size , bool $strong = false ) : string

Generates a string of pseudo-random bytes.

Parâmetros

size

The desired token length, in terms of bytes.

strong

Setting to true means /dev/random will be used for entropy, as otherwise the non-blocking /dev/urandom is used. This parameter is ignored on Windows.

Valor Retornado

The generated token, as a string of bytes.

Erros

If the strong parameter is true, then an E_WARNING level error will be emitted when the fallback rand() implementation is used to fill the remaining random bytes (e.g., when not enough random data was found, initially).

Exemplos

Exemplo #1 OAuthProvider::generateToken() example

<?php
$p = new OAuthProvider();

$t = $p->generateToken(4);

echo strlen($t),  PHP_EOL;
echo bin2hex($t), PHP_EOL;

?>

O exemplo acima irá imprimir algo similar à:

4
b6a82c27

Notas

Nota:

When not enough random data is available to the system, this function will fill the remaining random bytes using the internal PHP rand() implementation.

Veja Também

  • openssl_random_pseudo_bytes() - Generate a pseudo-random string of bytes
  • mcrypt_create_iv() - Creates an initialization vector (IV) from a random source


is2LeggedEndpoint

  • « OAuthProvider::generateToken
  • OAuthProvider::isRequestTokenEndpoint »
  • PHP Manual
  • OAuthProvider
  • is2LeggedEndpoint

OAuthProvider::is2LeggedEndpoint

(PECL OAuth >= 1.0.0)

OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint

Descrição

public OAuthProvider::is2LeggedEndpoint ( mixed $params_array ) : void

The 2-legged flow, or request signing. It does not require a token.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

params_array

Valor Retornado

An OAuthProvider object.

Exemplos

Exemplo #1 OAuthProvider::is2LeggedEndpoint() example

<?php

$provider = new OAuthProvider();

$provider->is2LeggedEndpoint(true);

?>

Veja Também

  • OAuthProvider::__construct() - Constructs a new OAuthProvider object


Sets isRequestTokenEndpoint

  • « OAuthProvider::is2LeggedEndpoint
  • OAuthProvider::removeRequiredParameter »
  • PHP Manual
  • OAuthProvider
  • Sets isRequestTokenEndpoint

OAuthProvider::isRequestTokenEndpoint

(PECL OAuth >= 1.0.0)

OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint

Descrição

public OAuthProvider::isRequestTokenEndpoint ( bool $will_issue_request_token ) : void

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

will_issue_request_token

Sets whether or not it will issue a request token, thus determining if OAuthProvider::tokenHandler() needs to be called.

Valor Retornado

Não há valor retornado.

Veja Também

  • OAuthProvider::setRequestTokenPath() - Set request token path
  • OAuthProvider::reportProblem() - Report a problem


Remove a required parameter

  • « OAuthProvider::isRequestTokenEndpoint
  • OAuthProvider::reportProblem »
  • PHP Manual
  • OAuthProvider
  • Remove a required parameter

OAuthProvider::removeRequiredParameter

(PECL OAuth >= 1.0.0)

OAuthProvider::removeRequiredParameter — Remove a required parameter

Descrição

final public OAuthProvider::removeRequiredParameter ( string $req_params ) : bool

Removes a required parameter.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

req_params

The required parameter to be removed.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • OAuthProvider::setParam() - Set a parameter
  • OAuthProvider::addRequiredParameter() - Add required parameters


Report a problem

  • « OAuthProvider::removeRequiredParameter
  • OAuthProvider::setParam »
  • PHP Manual
  • OAuthProvider
  • Report a problem

OAuthProvider::reportProblem

(PECL OAuth >= 1.0.0)

OAuthProvider::reportProblem — Report a problem

Descrição

final public static OAuthProvider::reportProblem ( string $oauthexception , bool $send_headers = true ) : string

Pass in a problem as an OAuthException, with possible problems listed in the OAuth constants section.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

oauthexception

The OAuthException.

Valor Retornado

Não há valor retornado.

Veja Também

  • OAuthProvider::checkOAuthRequest() - Check an oauth request
  • OAuthProvider::isRequestTokenEndpoint() - Sets isRequestTokenEndpoint


Set a parameter

  • « OAuthProvider::reportProblem
  • OAuthProvider::setRequestTokenPath »
  • PHP Manual
  • OAuthProvider
  • Set a parameter

OAuthProvider::setParam

(PECL OAuth >= 1.0.0)

OAuthProvider::setParam — Set a parameter

Descrição

final public OAuthProvider::setParam ( string $param_key , mixed $param_val = ? ) : bool

Sets a parameter.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

param_key

The parameter key.

param_val

The optional parameter value.

To exclude a parameter from signature verification, set its value to null.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • OAuthProvider::addRequiredParameter() - Add required parameters


Set request token path

  • « OAuthProvider::setParam
  • OAuthProvider::timestampNonceHandler »
  • PHP Manual
  • OAuthProvider
  • Set request token path

OAuthProvider::setRequestTokenPath

(PECL OAuth >= 1.0.0)

OAuthProvider::setRequestTokenPath — Set request token path

Descrição

final public OAuthProvider::setRequestTokenPath ( string $path ) : bool

Sets the request tokens path.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

path

The path.

Valor Retornado

true

Veja Também

  • OAuthProvider::tokenHandler() - Set the tokenHandler handler callback


Set the timestampNonceHandler handler callback

  • « OAuthProvider::setRequestTokenPath
  • OAuthProvider::tokenHandler »
  • PHP Manual
  • OAuthProvider
  • Set the timestampNonceHandler handler callback

OAuthProvider::timestampNonceHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback

Descrição

public OAuthProvider::timestampNonceHandler ( callable $callback_function ) : void

Sets the timestamp nonce handler callback, which will later be called with OAuthProvider::callTimestampNonceHandler(). Errors related to timestamp/nonce are thrown to this callback.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

callback_function

The callable functions name.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Example OAuthProvider::timestampNonceHandler() callback

<?php
function timestampNonceChecker($provider) {

    if ($provider->nonce === 'bad') {
        return OAUTH_BAD_NONCE;
    } elseif ($provider->timestamp == '0') {
        return OAUTH_BAD_TIMESTAMP;
    }

    return OAUTH_OK;
}
?>

Veja Também

  • OAuthProvider::callTimestampNonceHandler() - Calls the timestampNonceHandler callback


Set the tokenHandler handler callback

  • « OAuthProvider::timestampNonceHandler
  • OAuthException »
  • PHP Manual
  • OAuthProvider
  • Set the tokenHandler handler callback

OAuthProvider::tokenHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::tokenHandler — Set the tokenHandler handler callback

Descrição

public OAuthProvider::tokenHandler ( callable $callback_function ) : void

Sets the token handler callback, which will later be called with OAuthProvider::callTokenHandler().

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

callback_function

The callable functions name.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Example OAuthProvider::tokenHandler() callback

<?php
function tokenHandler($provider) {

    if ($provider->token === 'rejected') {
        return OAUTH_TOKEN_REJECTED;
    } elseif ($provider->token === 'revoked') {
        return OAUTH_TOKEN_REVOKED;
    }

    $provider->token_secret = "the_tokens_secret";
    return OAUTH_OK;
}
?>

Veja Também

  • OAuthProvider::callTokenHandler() - Calls the tokenNonceHandler callback


OAuthException class

(PECL OAuth >= 0.99.1)

Introdução

This exception is thrown when exceptional errors occur while using the OAuth extension and contains useful debugging information.

Sinopse da classe

OAuthException extends Exception {
/* Propriedades */
public $lastResponse ;
public $debugInfo ;
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Propriedades

lastResponse

The response of the exception which occurred, if any

debugInfo


SOAP

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • SOAP Funções
    • is_soap_fault — Checks if a SOAP call has failed
    • use_soap_error_handler — Set whether to use the SOAP error handler
  • SoapClient — The SoapClient class
    • SoapClient::__call — Calls a SOAP function (deprecated)
    • SoapClient::__construct — SoapClient constructor
    • SoapClient::__doRequest — Performs a SOAP request
    • SoapClient::__getCookies — Get list of cookies
    • SoapClient::__getFunctions — Returns list of available SOAP functions
    • SoapClient::__getLastRequest — Returns last SOAP request
    • SoapClient::__getLastRequestHeaders — Returns the SOAP headers from the last request
    • SoapClient::__getLastResponse — Returns last SOAP response
    • SoapClient::__getLastResponseHeaders — Returns the SOAP headers from the last response
    • SoapClient::__getTypes — Returns a list of SOAP types
    • SoapClient::__setCookie — Defines a cookie for SOAP requests
    • SoapClient::__setLocation — Sets the location of the Web service to use
    • SoapClient::__setSoapHeaders — Sets SOAP headers for subsequent calls
    • SoapClient::__soapCall — Calls a SOAP function
  • SoapServer — The SoapServer class
    • SoapServer::addFunction — Adds one or more functions to handle SOAP requests
    • SoapServer::addSoapHeader — Add a SOAP header to the response
    • SoapServer::__construct — SoapServer constructor
    • SoapServer::fault — Issue SoapServer fault indicating an error
    • SoapServer::getFunctions — Returns list of defined functions
    • SoapServer::handle — Handles a SOAP request
    • SoapServer::setClass — Sets the class which handles SOAP requests
    • SoapServer::setObject — Sets the object which will be used to handle SOAP requests
    • SoapServer::setPersistence — Sets SoapServer persistence mode
  • SoapFault — The SoapFault class
    • SoapFault::__construct — SoapFault constructor
    • SoapFault::__toString — Obtain a string representation of a SoapFault
  • SoapHeader — The SoapHeader class
    • SoapHeader::__construct — SoapHeader constructor
  • SoapParam — The SoapParam class
    • SoapParam::__construct — SoapParam constructor
  • SoapVar — The SoapVar class
    • SoapVar::__construct — SoapVar constructor


Introdução

The SOAP extension can be used to write SOAP Servers and Clients. It supports subsets of » SOAP 1.1, » SOAP 1.2 and » WSDL 1.1 specifications.


Dependências

Esta extensão requer a libxml. Isto significa que também é preciso informar --enable-libxml, mas isso já é o padrão dado que libxml é incluída por default.


  • « Dependências
  • Configurações em Execução »
  • PHP Manual
  • Instalação/Configuração
  • Instalação

Instalação

To enable SOAP support, configure PHP with --enable-soap.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

SOAP Opções de Configuração
Nome | Padrão | Modificável | Changelog
soap.wsdl_cache_enabled | 1 | PHP_INI_ALL |
soap.wsdl_cache_dir | /tmp | PHP_INI_ALL |
soap.wsdl_cache_ttl | 86400 | PHP_INI_ALL |
soap.wsdl_cache | 1 | PHP_INI_ALL |
soap.wsdl_cache_limit | 5 | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

soap.wsdl_cache_enabled int

Enables or disables the WSDL caching feature.

soap.wsdl_cache_dir string

Sets the directory name where the SOAP extension will put cache files.

soap.wsdl_cache_ttl int

Sets the number of seconds (time to live) that cached files will be used instead of the originals.

soap.wsdl_cache int

If soap.wsdl_cache_enabled is on, this setting determines the type of caching. It can be any of: WSDL_CACHE_NONE (0), WSDL_CACHE_DISK (1), WSDL_CACHE_MEMORY (2) or WSDL_CACHE_BOTH (3). This can also be set via the options array in the SoapClient or SoapServer constructor.

soap.wsdl_cache_limit int

Maximum number of in-memory cached WSDL files. Adding further files into a full memory cache will delete the oldest files from it.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

SOAP constants
Constant | Value | Description
SOAP_1_1 (int) | 1 |
SOAP_1_2 (int) | 2 |
SOAP_PERSISTENCE_SESSION (int) | 1 |
SOAP_PERSISTENCE_REQUEST (int) | 2 |
SOAP_FUNCTIONS_ALL (int) | 999 |
SOAP_ENCODED (int) | 1 |
SOAP_LITERAL (int) | 2 |
SOAP_RPC (int) | 1 |
SOAP_DOCUMENT (int) | 2 |
SOAP_ACTOR_NEXT (int) | 1 |
SOAP_ACTOR_NONE (int) | 2 |
SOAP_ACTOR_UNLIMATERECEIVER (int) | 3 |
SOAP_COMPRESSION_ACCEPT (int) | 32 |
SOAP_COMPRESSION_GZIP (int) | 0 |
SOAP_COMPRESSION_DEFLATE (int) | 16 |
SOAP_AUTHENTICATION_BASIC (int) | 0 |
SOAP_AUTHENTICATION_DIGEST (int) | 1 |
SOAP_SSL_METHOD_TLS (int) | 0 | Since PHP 5.5.0.
SOAP_SSL_METHOD_SSLv2 (int) | 1 | Since PHP 5.5.0.
SOAP_SSL_METHOD_SSLv3 (int) | 2 | Since PHP 5.5.0.
SOAP_SSL_METHOD_SSLv23 (int) | 3 | Since PHP 5.5.0.
UNKNOWN_TYPE (int) | 999998 |
XSD_STRING (int) | 101 |
XSD_BOOLEAN (int) | 102 |
XSD_DECIMAL (int) | 103 |
XSD_FLOAT (int) | 104 |
XSD_DOUBLE (int) | 105 |
XSD_DURATION (int) | 106 |
XSD_DATETIME (int) | 107 |
XSD_TIME (int) | 108 |
XSD_DATE (int) | 109 |
XSD_GYEARMONTH (int) | 110 |
XSD_GYEAR (int) | 111 |
XSD_GMONTHDAY (int) | 112 |
XSD_GDAY (int) | 113 |
XSD_GMONTH (int) | 114 |
XSD_HEXBINARY (int) | 115 |
XSD_BASE64BINARY (int) | 116 |
XSD_ANYURI (int) | 117 |
XSD_QNAME (int) | 118 |
XSD_NOTATION (int) | 119 |
XSD_NORMALIZEDSTRING (int) | 120 |
XSD_TOKEN (int) | 121 |
XSD_LANGUAGE (int) | 122 |
XSD_NMTOKEN (int) | 123 |
XSD_NAME (int) | 124 |
XSD_NCNAME (int) | 125 |
XSD_ID (int) | 126 |
XSD_IDREF (int) | 127 |
XSD_IDREFS (int) | 128 |
XSD_ENTITY (int) | 129 |
XSD_ENTITIES (int) | 130 |
XSD_INTEGER (int) | 131 |
XSD_NONPOSITIVEINTEGER (int) | 132 |
XSD_NEGATIVEINTEGER (int) | 133 |
XSD_LONG (int) | 134 |
XSD_INT (int) | 135 |
XSD_SHORT (int) | 136 |
XSD_BYTE (int) | 137 |
XSD_NONNEGATIVEINTEGER (int) | 138 |
XSD_UNSIGNEDLONG (int) | 139 |
XSD_UNSIGNEDINT (int) | 140 |
XSD_UNSIGNEDSHORT (int) | 141 |
XSD_UNSIGNEDBYTE (int) | 142 |
XSD_POSITIVEINTEGER (int) | 143 |
XSD_NMTOKENS (int) | 144 |
XSD_ANYTYPE (int) | 145 |
XSD_ANYXML (int) | 147 |
APACHE_MAP (int) | 200 |
SOAP_ENC_OBJECT (int) | 301 |
SOAP_ENC_ARRAY (int) | 300 |
XSD_1999_TIMEINSTANT (int) | 401 |
XSD_NAMESPACE (int) | http://www.w3.org/2001/XMLSchema |
XSD_1999_NAMESPACE (int) | http://www.w3.org/1999/XMLSchema |
SOAP_SINGLE_ELEMENT_ARRAYS (int) | 1 |
SOAP_WAIT_ONE_WAY_CALLS (int) | 2 |
SOAP_USE_XSI_ARRAY_TYPE (int) | 4 |
WSDL_CACHE_NONE (int) | 0 |
WSDL_CACHE_DISK (int) | 1 |
WSDL_CACHE_MEMORY (int) | 2 |
WSDL_CACHE_BOTH (int) | 3 |


SOAP Funções

Índice

  • is_soap_fault — Checks if a SOAP call has failed
  • use_soap_error_handler — Set whether to use the SOAP error handler


Checks if a SOAP call has failed

  • « SOAP Funções
  • use_soap_error_handler »
  • PHP Manual
  • SOAP Funções
  • Checks if a SOAP call has failed

is_soap_fault

(PHP 5, PHP 7, PHP 8)

is_soap_fault — Checks if a SOAP call has failed

Descrição

is_soap_fault ( mixed $object ) : bool

This function is useful to check if the SOAP call failed, but without using exceptions. To use it, create a SoapClient object with the exceptions option set to zero or false. In this case, the SOAP method will return a special SoapFault object which encapsulates the fault details (faultcode, faultstring, faultactor and faultdetails).

If exceptions is not set then SOAP call will throw an exception on error. is_soap_fault() checks if the given parameter is a SoapFault object.

Parâmetros

object

The object to test.

Valor Retornado

This will return true on error, and false otherwise.

Exemplos

Exemplo #1 is_soap_fault() example

<?php
$client = new SoapClient("some.wsdl", array('exceptions' => 0));
$result = $client->SomeFunction();
if (is_soap_fault($result)) {
    trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
}
?>

Exemplo #2 SOAP's standard method for error reporting is exceptions

<?php
try {
    $client = new SoapClient("some.wsdl");
    $result = $client->SomeFunction(/* ... */);
} catch (SoapFault $fault) {
    trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
}
?>

Veja Também

  • SoapClient::__construct() - SoapClient constructor
  • SoapFault::__construct() - SoapFault constructor


Set whether to use the SOAP error handler

  • « is_soap_fault
  • SoapClient »
  • PHP Manual
  • SOAP Funções
  • Set whether to use the SOAP error handler

use_soap_error_handler

(PHP 5, PHP 7, PHP 8)

use_soap_error_handler — Set whether to use the SOAP error handler

Descrição

use_soap_error_handler ( bool $enable = true ) : bool

This function sets whether or not to use the SOAP error handler in the SOAP server. It will return the previous value. If set to true, details of errors in a SoapServer application will be sent to the client as a SOAP fault message. If false, the standard PHP error handler is used. The default is to send error to the client as SOAP fault message.

Parâmetros

enable

Set to true to send error details to clients.

Valor Retornado

Returns the original value.

Veja Também

  • set_error_handler() - Define uma função do usuário para manipular erros
  • set_exception_handler() - Define uma função definida pelo usuário para tratamento de exceções


The SoapClient class

(PHP 5, PHP 7, PHP 8)

Introdução

The SoapClient class provides a client for » SOAP 1.1, » SOAP 1.2 servers. It can be used in WSDL or non-WSDL mode.

Sinopse da classe

SoapClient {
/* Métodos */
public __construct ( string|null $wsdl , array $options = [] )
public __call ( string $function_name , string $arguments ) : mixed
public __doRequest ( string $request , string $location , string $action , int $version , bool $oneWay = false ) : string|null
public __getCookies ( ) : array
public __getFunctions ( ) : array|null
public __getLastRequest ( ) : string|null
public __getLastRequestHeaders ( ) : string|null
public __getLastResponse ( ) : string|null
public __getLastResponseHeaders ( ) : string|null
public __getTypes ( ) : array|null
public __setCookie ( string $name , string|null $value = null ) : void
public __setLocation ( string $location = "" ) : string|null
public __setSoapHeaders ( SoapHeader|array|null $headers = null ) : bool
public __soapCall ( string $name , array $args , array|null $options = null , SoapHeader|array|null $inputHeaders = null , array &$outputHeaders = null ) : mixed
}

Índice

  • SoapClient::__call — Calls a SOAP function (deprecated)
  • SoapClient::__construct — SoapClient constructor
  • SoapClient::__doRequest — Performs a SOAP request
  • SoapClient::__getCookies — Get list of cookies
  • SoapClient::__getFunctions — Returns list of available SOAP functions
  • SoapClient::__getLastRequest — Returns last SOAP request
  • SoapClient::__getLastRequestHeaders — Returns the SOAP headers from the last request
  • SoapClient::__getLastResponse — Returns last SOAP response
  • SoapClient::__getLastResponseHeaders — Returns the SOAP headers from the last response
  • SoapClient::__getTypes — Returns a list of SOAP types
  • SoapClient::__setCookie — Defines a cookie for SOAP requests
  • SoapClient::__setLocation — Sets the location of the Web service to use
  • SoapClient::__setSoapHeaders — Sets SOAP headers for subsequent calls
  • SoapClient::__soapCall — Calls a SOAP function


Calls a SOAP function (deprecated)

  • « SoapClient
  • SoapClient::__construct »
  • PHP Manual
  • SoapClient
  • Calls a SOAP function (deprecated)

SoapClient::__call

(PHP 5, PHP 7, PHP 8)

SoapClient::__call — Calls a SOAP function (deprecated)

Descrição

public SoapClient::__call ( string $function_name , string $arguments ) : mixed

Chamar esse método diretamente é obsoleto. Normalmente as funções SOAP podem ser chamadas como métodos do objeto SoapClient. Nas situações que isso é impossível, ou que opções adicionais sejam necessárias, utilize SoapClient::__soapCall().


SoapClient constructor

  • « SoapClient::__call
  • SoapClient::__doRequest »
  • PHP Manual
  • SoapClient
  • SoapClient constructor

SoapClient::__construct

(PHP 5, PHP 7, PHP 8)

SoapClient::__construct — SoapClient constructor

Descrição

public SoapClient::__construct ( string|null $wsdl , array $options = [] )

This constructor creates SoapClient objects in WSDL or non-WSDL mode.

Parâmetros

wsdl

URI of the WSDL file or null if working in non-WSDL mode.

Nota:

During development, WSDL caching may be disabled by the use of the soap.wsdl_cache_ttl php.ini setting otherwise changes made to the WSDL file will have no effect until soap.wsdl_cache_ttl is expired.

options

An array of options. If working in WSDL mode, this parameter is optional. If working in non-WSDL mode, the location and uri options must be set, where location is the URL of the SOAP server to send the request to, and uri is the target namespace of the SOAP service.

The style and use options only work in non-WSDL mode. In WSDL mode, they come from the WSDL file.

The soap_version option should be one of either SOAP_1_1 or SOAP_1_2 to select SOAP 1.1 or 1.2, respectively. If omitted, 1.1 is used.

For HTTP authentication, the login and password options can be used to supply credentials. For making an HTTP connection through a proxy server, the options proxy_host, proxy_port, proxy_login and proxy_password are also available. For HTTPS client certificate authentication use local_cert and passphrase options. An authentication may be supplied in the authentication option. The authentication method may be either SOAP_AUTHENTICATION_BASIC (default) or SOAP_AUTHENTICATION_DIGEST.

The compression option allows to use compression of HTTP SOAP requests and responses.

The encoding option defines internal character encoding. This option does not change the encoding of SOAP requests (it is always utf-8), but converts strings into it.

The trace option enables tracing of request so faults can be backtraced. This defaults to false

The classmap option can be used to map some WSDL types to PHP classes. This option must be an array with WSDL types as keys and names of PHP classes as values.

Setting the boolean trace option enables use of the
methods
SoapClient->__getLastRequest,

SoapClient->__getLastRequestHeaders,

SoapClient->__getLastResponse and

SoapClient->__getLastResponseHeaders.

The exceptions option is a boolean value defining whether soap errors throw exceptions of type SoapFault.

The connection_timeout option defines a timeout in seconds for the connection to the SOAP service. This option does not define a timeout for services with slow responses. To limit the time to wait for calls to finish the default_socket_timeout setting is available.

The typemap option is an array of type mappings. Type mapping is an array with keys type_name, type_ns (namespace URI), from_xml (callback accepting one string parameter) and to_xml (callback accepting one object parameter).

The cache_wsdl option is one of WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY or WSDL_CACHE_BOTH.

The user_agent option specifies string to use in User-Agent header.

The stream_context option is a resource for context.

The features option is a bitmask of SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE, SOAP_WAIT_ONE_WAY_CALLS.

The keep_alive option is a boolean value defining whether to send the Connection: Keep-Alive header or Connection: close.

The ssl_method option is one of SOAP_SSL_METHOD_TLS, SOAP_SSL_METHOD_SSLv2, SOAP_SSL_METHOD_SSLv3 or SOAP_SSL_METHOD_SSLv23.

Erros

SoapClient::__construct() will generate an E_ERROR error if the location and uri options aren't provided in non-WSDL mode.

A SoapFault exception will be thrown if the wsdl URI cannot be loaded.

Exemplos

Exemplo #1 SoapClient::__construct() example

<?php

$client = new SoapClient("some.wsdl");

$client = new SoapClient("some.wsdl", array('soap_version'   => SOAP_1_2));

$client = new SoapClient("some.wsdl", array('login'          => "some_name",
                                            'password'       => "some_password"));

$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080));

$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080,
                                            'proxy_login'    => "some_name",
                                            'proxy_password' => "some_password"));

$client = new SoapClient("some.wsdl", array('local_cert'     => "cert_key.pem"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/",
                                     'style'    => SOAP_DOCUMENT,
                                     'use'      => SOAP_LITERAL));

$client = new SoapClient("some.wsdl",
  array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP));

$client = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1'));

class MyBook {
    public $title;
    public $author;
}

$client = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>


Performs a SOAP request

  • « SoapClient::__construct
  • SoapClient::__getCookies »
  • PHP Manual
  • SoapClient
  • Performs a SOAP request

SoapClient::__doRequest

(PHP 5, PHP 7, PHP 8)

SoapClient::__doRequest — Performs a SOAP request

Descrição

public SoapClient::__doRequest ( string $request , string $location , string $action , int $version , bool $oneWay = false ) : string|null

Performs SOAP request over HTTP.

This method can be overridden in subclasses to implement different transport layers, perform additional XML processing or other purpose.

Parâmetros

request

The XML SOAP request.

location

The URL to request.

action

The SOAP action.

version

The SOAP version.

oneWay

If one_way is set to 1, this method returns nothing. Use this where a response is not expected.

Valor Retornado

The XML SOAP response.

Changelog

Versão | Descrição
8.0.0 | The type of oneWay is bool now; formerly it was int.

Exemplos

Exemplo #1 SoapClient::__doRequest() example

<?php
function Add($x,$y) {
  return $x+$y;
}

class LocalSoapClient extends SoapClient {

  function __construct($wsdl, $options) {
    parent::__construct($wsdl, $options);
    $this->server = new SoapServer($wsdl, $options);
    $this->server->addFunction('Add');
  }

  function __doRequest($request, $location, $action, $version, $one_way = 0) {
    ob_start();
    $this->server->handle($request);
    $response = ob_get_contents();
    ob_end_clean();
    return $response;
  }

}

$x = new LocalSoapClient(NULL,array('location'=>'test://',
                                   'uri'=>'http://testuri.org'));
var_dump($x->Add(3,4));
?>


Get list of cookies

  • « SoapClient::__doRequest
  • SoapClient::__getFunctions »
  • PHP Manual
  • SoapClient
  • Get list of cookies

SoapClient::__getCookies

(PHP 5 >= 5.4.30, PHP 7, PHP 8)

SoapClient::__getCookies — Get list of cookies

Descrição

public SoapClient::__getCookies ( ) : array

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Returns list of available SOAP functions

  • « SoapClient::__getCookies
  • SoapClient::__getLastRequest »
  • PHP Manual
  • SoapClient
  • Returns list of available SOAP functions

SoapClient::__getFunctions

(PHP 5, PHP 7, PHP 8)

SoapClient::__getFunctions — Returns list of available SOAP functions

Descrição

public SoapClient::__getFunctions ( ) : array|null

Returns an array of functions described in the WSDL for the Web service.

Nota:

Esta função somente funciona no modo WSDL.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The array of SOAP function prototypes, detailing the return type, the function name and type-hinted parameters.

Exemplos

Exemplo #1 SoapClient::__getFunctions() example

<?php
$client = new SoapClient('http://soap.amazon.com/schemas3/AmazonWebServices.wsdl');
var_dump($client->__getFunctions());
?>

O exemplo acima irá imprimir:

array(26) {
  [0]=>
  string(70) "ProductInfo KeywordSearchRequest(KeywordRequest $KeywordSearchRequest)"
  [1]=>
  string(79) "ProductInfo TextStreamSearchRequest(TextStreamRequest $TextStreamSearchRequest)"
  [2]=>
  string(64) "ProductInfo PowerSearchRequest(PowerRequest $PowerSearchRequest)"
...
  [23]=>
  string(107) "ShoppingCart RemoveShoppingCartItemsRequest(RemoveShoppingCartItemsRequest $RemoveShoppingCartItemsRequest)"
  [24]=>
  string(107) "ShoppingCart ModifyShoppingCartItemsRequest(ModifyShoppingCartItemsRequest $ModifyShoppingCartItemsRequest)"
  [25]=>
  string(118) "GetTransactionDetailsResponse GetTransactionDetailsRequest(GetTransactionDetailsRequest $GetTransactionDetailsRequest)"
}

Veja Também

  • SoapClient::__construct() - SoapClient constructor


Returns last SOAP request

  • « SoapClient::__getFunctions
  • SoapClient::__getLastRequestHeaders »
  • PHP Manual
  • SoapClient
  • Returns last SOAP request

SoapClient::__getLastRequest

(PHP 5, PHP 7, PHP 8)

SoapClient::__getLastRequest — Returns last SOAP request

Descrição

public SoapClient::__getLastRequest ( ) : string|null

Returns the XML sent in the last SOAP request.

Nota:

This method works only if the SoapClient object was created with the trace option set to true.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The last SOAP request, as an XML string.

Exemplos

Exemplo #1 SoapClient::__getLastRequest() example

<?php
$client = new SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST:\n" . $client->__getLastRequest() . "\n";
?>

Veja Também

  • SoapClient::__getLastRequestHeaders() - Returns the SOAP headers from the last request
  • SoapClient::__getLastResponse() - Returns last SOAP response
  • SoapClient::__getLastResponseHeaders() - Returns the SOAP headers from the last response


Returns the SOAP headers from the last request

  • « SoapClient::__getLastRequest
  • SoapClient::__getLastResponse »
  • PHP Manual
  • SoapClient
  • Returns the SOAP headers from the last request

SoapClient::__getLastRequestHeaders

(PHP 5, PHP 7, PHP 8)

SoapClient::__getLastRequestHeaders — Returns the SOAP headers from the last request

Descrição

public SoapClient::__getLastRequestHeaders ( ) : string|null

Returns the SOAP headers from the last request.

Nota:

This function only works if the SoapClient object was created with the trace option set to true.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The last SOAP request headers.

Exemplos

Exemplo #1 SoapClient::__getLastRequestHeaders() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST HEADERS:\n" . $client->__getLastRequestHeaders() . "\n";
?>

Veja Também

  • SoapClient::__getLastResponseHeaders() - Returns the SOAP headers from the last response
  • SoapClient::__getLastRequest() - Returns last SOAP request
  • SoapClient::__getLastResponse() - Returns last SOAP response


Returns last SOAP response

  • « SoapClient::__getLastRequestHeaders
  • SoapClient::__getLastResponseHeaders »
  • PHP Manual
  • SoapClient
  • Returns last SOAP response

SoapClient::__getLastResponse

(PHP 5, PHP 7, PHP 8)

SoapClient::__getLastResponse — Returns last SOAP response

Descrição

public SoapClient::__getLastResponse ( ) : string|null

Returns the XML received in the last SOAP response.

Nota:

This method works only if the SoapClient object was created with the trace option set to true.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The last SOAP response, as an XML string.

Exemplos

Exemplo #1 SoapClient::__getLastResponse() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "Response:\n" . $client->__getLastResponse() . "\n";
?>

Veja Também

  • SoapClient::__getLastResponseHeaders() - Returns the SOAP headers from the last response
  • SoapClient::__getLastRequest() - Returns last SOAP request
  • SoapClient::__getLastRequestHeaders() - Returns the SOAP headers from the last request


Returns the SOAP headers from the last response

  • « SoapClient::__getLastResponse
  • SoapClient::__getTypes »
  • PHP Manual
  • SoapClient
  • Returns the SOAP headers from the last response

SoapClient::__getLastResponseHeaders

(PHP 5, PHP 7, PHP 8)

SoapClient::__getLastResponseHeaders — Returns the SOAP headers from the last response

Descrição

public SoapClient::__getLastResponseHeaders ( ) : string|null

Returns the SOAP headers from the last response.

Nota:

This function only works if the SoapClient object was created with the trace option set to true.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The last SOAP response headers.

Exemplos

Exemplo #1 SoapClient::__getLastResponse() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "RESPONSE HEADERS:\n" . $client->__getLastResponseHeaders() . "\n";
?>

Veja Também

  • SoapClient::__getLastRequestHeaders() - Returns the SOAP headers from the last request
  • SoapClient::__getLastRequest() - Returns last SOAP request
  • SoapClient::__getLastResponse() - Returns last SOAP response


Returns a list of SOAP types

  • « SoapClient::__getLastResponseHeaders
  • SoapClient::__setCookie »
  • PHP Manual
  • SoapClient
  • Returns a list of SOAP types

SoapClient::__getTypes

(PHP 5, PHP 7, PHP 8)

SoapClient::__getTypes — Returns a list of SOAP types

Descrição

public SoapClient::__getTypes ( ) : array|null

Returns an array of types described in the WSDL for the Web service.

Nota:

Esta função somente funciona no modo WSDL.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The array of SOAP types, detailing all structures and types.

Exemplos

Exemplo #1 SoapClient::__getTypes() example

<?php
$client = new SoapClient('http://soap.amazon.com/schemas3/AmazonWebServices.wsdl');
var_dump($client->__getTypes());
?>

O exemplo acima irá imprimir:

array(88) {
  [0]=>
  string(30) "ProductLine ProductLineArray[]"
  [1]=>
  string(85) "struct ProductLine {
 string Mode;
 string RelevanceRank;
 ProductInfo ProductInfo;
}"
  [2]=>
  string(105) "struct ProductInfo {
 string TotalResults;
 string TotalPages;
 string ListName;
 DetailsArray Details;
}"
...
  [85]=>
  string(32) "ShortSummary ShortSummaryArray[]"
  [86]=>
  string(121) "struct GetTransactionDetailsRequest {
 string tag;
 string devtag;
 string key;
 OrderIdArray OrderIds;
 string locale;
}"
  [87]=>
  string(75) "struct GetTransactionDetailsResponse {
 ShortSummaryArray ShortSummaries;
}"
}

Veja Também

  • SoapClient::__construct() - SoapClient constructor


Defines a cookie for SOAP requests

  • « SoapClient::__getTypes
  • SoapClient::__setLocation »
  • PHP Manual
  • SoapClient
  • Defines a cookie for SOAP requests

SoapClient::__setCookie

(PHP 5 >= 5.0.4, PHP 7, PHP 8)

SoapClient::__setCookie — Defines a cookie for SOAP requests

Descrição

public SoapClient::__setCookie ( string $name , string|null $value = null ) : void

Defines a cookie to be sent along with the SOAP requests.

Nota:

Calling this method will affect all following calls to SoapClient methods.

Parâmetros

name

The name of the cookie.

value

The value of the cookie. If not specified, the cookie will be deleted.

Valor Retornado

Não há valor retornado.

Changelog

Versão | Descrição
8.0.0 | value is now nullable.


Sets the location of the Web service to use

  • « SoapClient::__setCookie
  • SoapClient::__setSoapHeaders »
  • PHP Manual
  • SoapClient
  • Sets the location of the Web service to use

SoapClient::__setLocation

(PHP 5 >= 5.0.4, PHP 7, PHP 8)

SoapClient::__setLocation — Sets the location of the Web service to use

Descrição

public SoapClient::__setLocation ( string $location = "" ) : string|null

Sets the endpoint URL that will be touched by following SOAP requests. This is equivalent to specifying the location option when constructing the SoapClient.

Nota:

Calling this method is optional. The SoapClient uses the endpoint from the WSDL file by default.

Parâmetros

location

The new endpoint URL.

Valor Retornado

The old endpoint URL.

Exemplos

Exemplo #1 SoapClient::__setLocation() example

<?php
$client = new SoapClient('http://example.com/webservice.php?wsdl');

$client->__setLocation('http://www.somethirdparty.com');

$old_location = $client->__setLocation(); // unsets the location option

echo $old_location;

?>

O exemplo acima irá imprimir algo similar à:

http://www.somethirdparty.com

Veja Também

  • SoapClient::__construct() - SoapClient constructor


Sets SOAP headers for subsequent calls

  • « SoapClient::__setLocation
  • SoapClient::__soapCall »
  • PHP Manual
  • SoapClient
  • Sets SOAP headers for subsequent calls

SoapClient::__setSoapHeaders

(PHP 5 >= 5.0.5, PHP 7, PHP 8)

SoapClient::__setSoapHeaders — Sets SOAP headers for subsequent calls

Descrição

public SoapClient::__setSoapHeaders ( SoapHeader|array|null $headers = null ) : bool

Defines headers to be sent along with the SOAP requests.

Nota:

Calling this method will replace any previous values.

Parâmetros

headers

The headers to be set. It could be SoapHeader object or array of SoapHeader objects. If not specified or set to null, the headers will be deleted.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 SoapClient::__setSoapHeaders() example

<?php

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$header = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hello world');

$client->__setSoapHeaders($header);

$client->__soapCall("echoVoid", null);
?>

Exemplo #2 Set Multiple Headers

<?php

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$headers = array();

$headers[] = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hello world');

$headers[] = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hello world again');

$client->__setSoapHeaders($headers);

$client->__soapCall("echoVoid", null);
?>


Calls a SOAP function

  • « SoapClient::__setSoapHeaders
  • SoapServer »
  • PHP Manual
  • SoapClient
  • Calls a SOAP function

SoapClient::__soapCall

(PHP 5, PHP 7, PHP 8)

SoapClient::__soapCall — Calls a SOAP function

Descrição

public SoapClient::__soapCall ( string $name , array $args , array|null $options = null , SoapHeader|array|null $inputHeaders = null , array &$outputHeaders = null ) : mixed

This is a low level API function that is used to make a SOAP call. Usually, in WSDL mode, SOAP functions can be called as methods of the SoapClient object. This method is useful in non-WSDL mode when soapaction is unknown, uri differs from the default or when sending and/or receiving SOAP Headers.

On error, a call to a SOAP function can cause PHP to throw exceptions or return a SoapFault object if exceptions are disabled. To check if the function call failed to catch the SoapFault exceptions, check the result with is_soap_fault().

Parâmetros

name

The name of the SOAP function to call.

args

An array of the arguments to pass to the function. This can be either an ordered or an associative array. Note that most SOAP servers require parameter names to be provided, in which case this must be an associative array.

options

An associative array of options to pass to the client.

The location option is the URL of the remote Web service.

The uri option is the target namespace of the SOAP service.

The soapaction option is the action to call.

inputHeaders

An array of headers to be sent along with the SOAP request.

outputHeaders

If supplied, this array will be filled with the headers from the SOAP response.

Valor Retornado

SOAP functions may return one, or multiple values. If only one value is returned by the SOAP function, the return value of __soapCall will be a simple value (e.g. an integer, a string, etc). If multiple values are returned, __soapCall will return an associative array of named output parameters.

On error, if the SoapClient object was constructed with the exceptions option set to false, a SoapFault object will be returned.

Exemplos

Exemplo #1 SoapClient::__soapCall() example

<?php

$client = new SoapClient("some.wsdl");
$client->SomeFunction($a, $b, $c);

$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c), NULL,
                    new SoapHeader(), $output_headers);

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->SomeFunction($a, $b, $c);
$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c),
                    array('soapaction' => 'some_action',
                          'uri'        => 'some_uri'));
?>

Veja Também

  • SoapClient::__construct() - SoapClient constructor
  • SoapParam::__construct() - SoapParam constructor
  • SoapVar::__construct() - SoapVar constructor
  • SoapHeader::__construct() - SoapHeader constructor
  • SoapFault::__construct() - SoapFault constructor
  • is_soap_fault() - Checks if a SOAP call has failed


The SoapServer class

(PHP 5, PHP 7, PHP 8)

Introdução

The SoapServer class provides a server for the » SOAP 1.1 and » SOAP 1.2 protocols. It can be used with or without a WSDL service description.

Sinopse da classe

SoapServer {
/* Métodos */
public __construct ( string|null $wsdl , array $options = [] )
public addFunction ( array|string|int $functions ) : void
public addSoapHeader ( SoapHeader $header ) : void
public fault ( string $code , string $string , string $actor = "" , mixed $details = null , string $name = "" ) : void
public getFunctions ( ) : array
public handle ( string|null $request = null ) : void
public setClass ( string $class , mixed ...$args ) : void
public setObject ( object $object ) : void
public setPersistence ( int $mode ) : void
}

Índice

  • SoapServer::addFunction — Adds one or more functions to handle SOAP requests
  • SoapServer::addSoapHeader — Add a SOAP header to the response
  • SoapServer::__construct — SoapServer constructor
  • SoapServer::fault — Issue SoapServer fault indicating an error
  • SoapServer::getFunctions — Returns list of defined functions
  • SoapServer::handle — Handles a SOAP request
  • SoapServer::setClass — Sets the class which handles SOAP requests
  • SoapServer::setObject — Sets the object which will be used to handle SOAP requests
  • SoapServer::setPersistence — Sets SoapServer persistence mode


Adds one or more functions to handle SOAP requests

  • « SoapServer
  • SoapServer::addSoapHeader »
  • PHP Manual
  • SoapServer
  • Adds one or more functions to handle SOAP requests

SoapServer::addFunction

(PHP 5, PHP 7, PHP 8)

SoapServer::addFunction — Adds one or more functions to handle SOAP requests

Descrição

public SoapServer::addFunction ( array|string|int $functions ) : void

Exports one or more functions for remote clients

Parâmetros

functions

To export one function, pass the function name into this parameter as a string.

To export several functions, pass an array of function names.

To export all the functions, pass a special constant SOAP_FUNCTIONS_ALL.

Nota:

functions must receive all input arguments in the same order as defined in the WSDL file (They should not receive any output parameters as arguments) and return one or more values. To return several values they must return an array with named output parameters.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SoapServer::addFunction() example

<?php

function echoString($inputString)
{
    return $inputString;
}

$server->addFunction("echoString");

function echoTwoStrings($inputString1, $inputString2)
{
    return array("outputString1" => $inputString1,
                 "outputString2" => $inputString2);
}
$server->addFunction(array("echoString", "echoTwoStrings"));

$server->addFunction(SOAP_FUNCTIONS_ALL);

?>

Veja Também

  • SoapServer::__construct() - SoapServer constructor
  • SoapServer::setClass() - Sets the class which handles SOAP requests


Add a SOAP header to the response

  • « SoapServer::addFunction
  • SoapServer::__construct »
  • PHP Manual
  • SoapServer
  • Add a SOAP header to the response

SoapServer::addSoapHeader

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

SoapServer::addSoapHeader — Add a SOAP header to the response

Descrição

public SoapServer::addSoapHeader ( SoapHeader $header ) : void

Adds a SOAP header to be returned with the response to the current request.

Parâmetros

header

The header to be returned.

Valor Retornado

Não há valor retornado.


SoapServer constructor

  • « SoapServer::addSoapHeader
  • SoapServer::fault »
  • PHP Manual
  • SoapServer
  • SoapServer constructor

SoapServer::__construct

(PHP 5, PHP 7, PHP 8)

SoapServer::__construct — SoapServer constructor

Descrição

public SoapServer::__construct ( string|null $wsdl , array $options = [] )

This constructor allows the creation of SoapServer objects in WSDL or non-WSDL mode.

Parâmetros

wsdl

To use the SoapServer in WSDL mode, pass the URI of a WSDL file. Otherwise, pass null and set the uri option to the target namespace for the server.

options

Allow setting a default SOAP version (soap_version), internal character encoding (encoding), and actor URI (actor).

The classmap option can be used to map some WSDL types to PHP classes. This option must be an array with WSDL types as keys and names of PHP classes as values.

The typemap option is an array of type mappings. Type mapping is an array with keys type_name, type_ns (namespace URI), from_xml (callback accepting one string parameter) and to_xml (callback accepting one object parameter).

The cache_wsdl option is one of WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY or WSDL_CACHE_BOTH.

There is also a features option which can be set to SOAP_WAIT_ONE_WAY_CALLS, SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE.

The send_errors option can be set to false to sent a generic error message ("Internal error") instead of the specific error message sent otherwise.

Exemplos

Exemplo #1 SoapServer::__construct() example

<?php

$server = new SoapServer("some.wsdl");

$server = new SoapServer("some.wsdl", array('soap_version' => SOAP_1_2));

$server = new SoapServer("some.wsdl", array('actor' => "http://example.org/ts-tests/C"));

$server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1'));

$server = new SoapServer(null, array('uri' => "http://test-uri/"));

class MyBook {
    public $title;
    public $author;
}

$server = new SoapServer("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

Veja Também

  • SoapClient::__construct() - SoapClient constructor


Issue SoapServer fault indicating an error

  • « SoapServer::__construct
  • SoapServer::getFunctions »
  • PHP Manual
  • SoapServer
  • Issue SoapServer fault indicating an error

SoapServer::fault

(PHP 5, PHP 7, PHP 8)

SoapServer::fault — Issue SoapServer fault indicating an error

Descrição

public SoapServer::fault ( string $code , string $string , string $actor = "" , mixed $details = null , string $name = "" ) : void

Sends a response to the client of the current request indicating an error.

Nota:

This can only be called when handling a request.

Parâmetros

code

The error code to return

string

A brief description of the error

actor

A string identifying the actor that caused the fault.

details

More details of the fault

name

The name of the fault. This can be used to select a name from a WSDL file.

Valor Retornado

Não há valor retornado.

Veja Também

  • SoapFault::__construct() - SoapFault constructor


Returns list of defined functions

  • « SoapServer::fault
  • SoapServer::handle »
  • PHP Manual
  • SoapServer
  • Returns list of defined functions

SoapServer::getFunctions

(PHP 5, PHP 7, PHP 8)

SoapServer::getFunctions — Returns list of defined functions

Descrição

public SoapServer::getFunctions ( ) : array

Returns a list of the defined functions in the SoapServer object. This method returns the list of all functions added by SoapServer::addFunction() or SoapServer::setClass().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

An array of the defined functions.

Exemplos

Exemplo #1 SoapServer::getFunctions() example

<?php
$server = new SoapServer(NULL, array("uri" => "http://test-uri"));
$server->addFunction(SOAP_FUNCTIONS_ALL);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $server->handle();
} else {
  echo "This SOAP server can handle following functions: ";
  $functions = $server->getFunctions();
  foreach($functions as $func) {
    echo $func . "\n";
  }
}
?>

Veja Também

  • SoapServer::__construct() - SoapServer constructor
  • SoapServer::addFunction() - Adds one or more functions to handle SOAP requests
  • SoapServer::setClass() - Sets the class which handles SOAP requests


Handles a SOAP request

  • « SoapServer::getFunctions
  • SoapServer::setClass »
  • PHP Manual
  • SoapServer
  • Handles a SOAP request

SoapServer::handle

(PHP 5, PHP 7, PHP 8)

SoapServer::handle — Handles a SOAP request

Descrição

public SoapServer::handle ( string|null $request = null ) : void

Processes a SOAP request, calls necessary functions, and sends a response back.

Parâmetros

request

The SOAP request. If this argument is omitted, the request is assumed to be in the raw POST data of the HTTP request.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SoapServer::handle() example

<?php
function test($x)
{
    return $x;
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Changelog

Versão | Descrição
8.0.0 | request is now nullable.

Veja Também

  • SoapServer::__construct() - SoapServer constructor


Sets the class which handles SOAP requests

  • « SoapServer::handle
  • SoapServer::setObject »
  • PHP Manual
  • SoapServer
  • Sets the class which handles SOAP requests

SoapServer::setClass

(PHP 5, PHP 7, PHP 8)

SoapServer::setClass — Sets the class which handles SOAP requests

Descrição

public SoapServer::setClass ( string $class , mixed ...$args ) : void

Exports all methods from specified class.

The object can be made persistent across request for a given PHP session with the SoapServer::setPersistence() method.

Parâmetros

class

The name of the exported class.

args

These optional parameters will be passed to the default class constructor during object creation.

Valor Retornado

Não há valor retornado.

Veja Também

  • SoapServer::__construct() - SoapServer constructor
  • SoapServer::addFunction() - Adds one or more functions to handle SOAP requests
  • SoapServer::setPersistence() - Sets SoapServer persistence mode


Sets the object which will be used to handle SOAP requests

  • « SoapServer::setClass
  • SoapServer::setPersistence »
  • PHP Manual
  • SoapServer
  • Sets the object which will be used to handle SOAP requests

SoapServer::setObject

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

SoapServer::setObject — Sets the object which will be used to handle SOAP requests

Descrição

public SoapServer::setObject ( object $object ) : void

This sets a specific object as the handler for SOAP requests, rather than just a class as in SoapServer::setClass().

Parâmetros

object

The object to handle the requests.

Valor Retornado

Não há valor retornado.

Veja Também

  • SoapServer::setClass() - Sets the class which handles SOAP requests


Sets SoapServer persistence mode

  • « SoapServer::setObject
  • SoapFault »
  • PHP Manual
  • SoapServer
  • Sets SoapServer persistence mode

SoapServer::setPersistence

(PHP 5, PHP 7, PHP 8)

SoapServer::setPersistence — Sets SoapServer persistence mode

Descrição

public SoapServer::setPersistence ( int $mode ) : void

This function allows changing the persistence state of a SoapServer object between requests. This function allows saving data between requests utilizing PHP sessions. This method only has an affect on a SoapServer after it has exported functions utilizing SoapServer::setClass().

Nota:

The persistence of SOAP_PERSISTENCE_SESSION makes only objects of the given class persistent, but not the class static data. In this case, use $this->bar instead of self::$bar.

Nota:

SOAP_PERSISTENCE_SESSION serializes data on the class object between requests. In order to properly utilize resources (e.g. PDO), __wakeup() and __sleep() magic methods should be utilized.

Parâmetros

mode

One of the SOAP_PERSISTENCE_XXX constants.

SOAP_PERSISTENCE_REQUEST - SoapServer data does not persist between requests. This is the default behavior of any SoapServer object after setClass is called.

SOAP_PERSISTENCE_SESSION - SoapServer data persists between requests. This is accomplished by serializing the SoapServer class data into $_SESSION['_bogus_session_name'], because of this session_start() must be called before this persistence mode is set.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 SoapServer::setPersistence() example

<?php
 class MyFirstPersistentSoapServer {
     private $resource; // (Such as PDO, mysqli, etc..)
     public $myvar1;
     public $myvar2;

     public function __construct() {
         $this->__wakeup(); // We're calling our wakeup to handle starting our resource
     }

     public function __wakeup() {
         $this->resource = CodeToStartOurResourceUp();
     }

     public function __sleep() {
         // We make sure to leave out $resource here, so our session data remains persistent
         // Failure to do so will result in the failure during the unserialization of data
         // on the next request; thus, our SoapObject would not be persistent across requests.
         return array('myvar1','myvar2');
     }
 }

 try {
     session_start();
     $server = new SoapServer(null, array('uri' => $_SERVER['REQUEST_URI']));
     $server->setClass('MyFirstPersistentSoapServer');
     // setPersistence MUST be called after setClass, because setClass's
     // behavior sets SESSION_PERSISTENCE_REQUEST upon enacting the method.
     $server->setPersistence(SOAP_PERSISTENCE_SESSION);
     $server->handle();
 } catch(SoapFault $e) {
     error_log("SOAP ERROR: ". $e->getMessage());
 }
?>

Veja Também

  • SoapServer::setClass() - Sets the class which handles SOAP requests


The SoapFault class

(PHP 5, PHP 7, PHP 8)

Introdução

Represents a SOAP fault.

Sinopse da classe

SoapFault extends Exception {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos */
public __construct ( array|string|null $code , string $string , string|null $actor = null , mixed $details = null , string|null $name = null , mixed $headerFault = null )
public __toString ( ) : string
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Índice

  • SoapFault::__construct — SoapFault constructor
  • SoapFault::__toString — Obtain a string representation of a SoapFault


SoapFault constructor

  • « SoapFault
  • SoapFault::__toString »
  • PHP Manual
  • SoapFault
  • SoapFault constructor

SoapFault::__construct

(PHP 5, PHP 7, PHP 8)

SoapFault::__construct — SoapFault constructor

Descrição

public SoapFault::__construct ( array|string|null $code , string $string , string|null $actor = null , mixed $details = null , string|null $name = null , mixed $headerFault = null )

This class is used to send SOAP fault responses from the PHP handler. faultcode, faultstring, faultactor and detail are standard elements of a SOAP Fault.

Parâmetros

faultcode

The error code of the SoapFault.

faultstring

The error message of the SoapFault.

faultactor

A string identifying the actor that caused the error.

detail

More details about the cause of the error.

faultname

Can be used to select the proper fault encoding from WSDL.

headerfault

Can be used during SOAP header handling to report an error in the response header.

Exemplos

Exemplo #1 Some examples

<?php
function test($x)
{
    return new SoapFault("Server", "Some error message");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

It is possible to use PHP exception mechanism to throw SOAP Fault.

Exemplo #2 Some examples

<?php
function test($x)
{
    throw new SoapFault("Server", "Some error message");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Veja Também

  • SoapServer::fault() - Issue SoapServer fault indicating an error
  • is_soap_fault() - Checks if a SOAP call has failed


Obtain a string representation of a SoapFault

  • « SoapFault::__construct
  • SoapHeader »
  • PHP Manual
  • SoapFault
  • Obtain a string representation of a SoapFault

SoapFault::__toString

(PHP 5, PHP 7, PHP 8)

SoapFault::__toString — Obtain a string representation of a SoapFault

Descrição

public SoapFault::__toString ( ) : string

Returns a string representation of the SoapFault.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A string describing the SoapFault.


The SoapHeader class

(PHP 5, PHP 7, PHP 8)

Introdução

Represents a SOAP header.

Sinopse da classe

SoapHeader {
/* Métodos */
__construct ( string $namespace , string $name , mixed $data = ? , bool $mustunderstand = ? , string $actor = ? )
}

Índice

  • SoapHeader::__construct — SoapHeader constructor


SoapHeader constructor

  • « SoapHeader
  • SoapParam »
  • PHP Manual
  • SoapHeader
  • SoapHeader constructor

SoapHeader::__construct

(PHP 5, PHP 7, PHP 8)

SoapHeader::__construct — SoapHeader constructor

Descrição

SoapHeader::__construct ( string $namespace , string $name , mixed $data = ? , bool $mustunderstand = ? , string $actor = ? )

Constructs a new SoapHeader object.

Parâmetros

namespace

The namespace of the SOAP header element.

name

The name of the SoapHeader object.

data

A SOAP header's content. It can be a PHP value or a SoapVar object.

mustUnderstand

Value of the mustUnderstand attribute of the SOAP header element.

actor

Value of the actor attribute of the SOAP header element.

Exemplos

Exemplo #1 SoapHeader::__construct() example

<?php
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->__soapCall("echoVoid", null, null,
                new SoapHeader('http://soapinterop.org/echoheader/',
                               'echoMeStringRequest',
                               'hello world'));
?>

Veja Também

  • SoapClient::__soapCall() - Calls a SOAP function
  • SoapVar::__construct() - SoapVar constructor
  • SoapParam::__construct() - SoapParam constructor
  • SoapServer::addSoapHeader() - Add a SOAP header to the response


The SoapParam class

(PHP 5, PHP 7, PHP 8)

Introdução

Represents parameter to a SOAP call.

Sinopse da classe

SoapParam {
/* Métodos */
public __construct ( mixed $data , string $name )
}

Índice

  • SoapParam::__construct — SoapParam constructor


SoapParam constructor

  • « SoapParam
  • SoapVar »
  • PHP Manual
  • SoapParam
  • SoapParam constructor

SoapParam::__construct

(PHP 5, PHP 7, PHP 8)

SoapParam::__construct — SoapParam constructor

Descrição

public SoapParam::__construct ( mixed $data , string $name )

Constructs a new SoapParam object.

Parâmetros

data

The data to pass or return. This parameter can be passed directly as PHP value, but in this case it will be named as paramN and the SOAP service may not understand it.

name

The parameter name.

Exemplos

Exemplo #1 SoapParam::__construct() example

<?php
$client = new SoapClient(null,array('location' => "http://localhost/soap.php",
                                    'uri'      => "http://test-uri/"));
$client->SomeFunction(new SoapParam($a, "a"),
                      new SoapParam($b, "b"),
                      new SoapParam($c, "c"));
?>

Veja Também

  • SoapClient::__soapCall() - Calls a SOAP function
  • SoapVar::__construct() - SoapVar constructor


The SoapVar class

(PHP 5, PHP 7, PHP 8)

Introdução

A class representing a variable or object for use with SOAP services.

Sinopse da classe

SoapVar {
/* Métodos */
public __construct ( mixed $data , int|null $encoding , string $typeName = "" , string $typeNamespace = "" , string $nodeName = "" , string $nodeNamespace = "" )
}

Índice

  • SoapVar::__construct — SoapVar constructor


SoapVar constructor

  • « SoapVar
  • Yar »
  • PHP Manual
  • SoapVar
  • SoapVar constructor

SoapVar::__construct

(PHP 5, PHP 7, PHP 8)

SoapVar::__construct — SoapVar constructor

Descrição

public SoapVar::__construct
 ( mixed $data
, int|null $encoding
, string $typeName = ""
, string $typeNamespace = ""
, string $nodeName = ""
, string $nodeNamespace = ""
)

Constructs a new SoapVar object.

Parâmetros

data

The data to pass or return.

encoding

The encoding ID, one of the XSD_... constants.

type_name

The type name.

type_namespace

The type namespace.

node_name

The XML node name.

node_namespace

The XML node namespace.

Exemplos

Exemplo #1 SoapVar::__construct() example

<?php
class SOAPStruct {
    function SOAPStruct($s, $i, $f)
    {
        $this->varString = $s;
        $this->varInt = $i;
        $this->varFloat = $f;
    }
}
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$struct = new SOAPStruct('arg', 34, 325.325);
$soapstruct = new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd");
$client->echoStruct(new SoapParam($soapstruct, "inputStruct"));
?>

Veja Também

  • SoapClient::__soapCall() - Calls a SOAP function
  • SoapParam::__construct() - SoapParam constructor


Yet Another RPC Framework

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Yar_Server — The Yar_Server class
    • Yar_Server::__construct — Register a server
    • Yar_Server::handle — Start RPC Server
  • Yar_Client — The Yar_Client class
    • Yar_Client::__call — Call service
    • Yar_Client::__construct — Create a client
    • Yar_Client::setOpt — Set calling contexts
  • Yar_Concurrent_Client — The Yar_Concurrent_Client class
    • Yar_Concurrent_Client::call — Register a concurrent call
    • Yar_Concurrent_Client::loop — Send all calls
    • Yar_Concurrent_Client::reset — Clean all registered calls
  • Yar_Server_Exception — The Yar_Server_Exception class
    • Yar_Server_Exception::getType — Retrieve exception's type
  • Yar_Client_Exception — The Yar_Client_Exception class
    • Yar_Client_Exception::getType — Retrieve exception's type


Introdução

Yar is a RPC framework which aims to provide a simple and easy way to do communication between PHP applications It has the ability to concurrently call multiple remote services.


Dependências

if you want to use msgpack as packager, you need compile Yar by your self with ./configure --enable-msgpack


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/yar.

Uma DLL para esse extensão PECL não está disponível. Veja compilando no Windows section.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Yar Opções de Configuração
Nome | Padrão | Modificável | Changelog
yar.packager | php | PHP_INI_SYSTEM |
yar.debug | Off | PHP_INI_ALL |
yar.connect_timeout | 1000 | PHP_INI_ALL |
yar.timeout | 5000 | PHP_INI_ALL |
yar.expose_info | On | PHP_INI_SYSTEM |

Uma rápida explicação das diretivas de configuração.

yar.packager string

it could be php, json, and msgpack(require built with msgpack support)

yar.debug string

yar.connect_timeout int

timeout in ms

yar.timeout int

timeout in ms

yar.expose_info bool

whether expose the service info(when access the server via GET)


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

YAR_VERSION (string)
YAR_CLIENT_PROTOCOL_HTTP (int)
YAR_OPT_PACKAGER (int)
YAR_OPT_TIMEOUT (int)
YAR_OPT_CONNECT_TIMEOUT (int)
YAR_OPT_HEADER (array)
Since 2.0.4
YAR_PACKAGER_PHP (string)
YAR_PACKAGER_JSON (string)
YAR_ERR_OKEY (int)
YAR_ERR_OUTPUT (int)
YAR_ERR_TRANSPORT (int)
YAR_ERR_REQUEST (int)
YAR_ERR_PROTOCOL (int)
YAR_ERR_PACKAGER (int)
YAR_ERR_EXCEPTION (int)


Exemplos

Exemplo #1 Yar Server Example

<?php

/* assume this page can be accessed by http://example.com/operator.php */

class Operator {

    /**
     * Add two operands
     * @param interge
     * @return interge
     */
    public function add($a, $b) {
        return $this->_add($a, $b);
    }

    /**
     * Sub
     */
    public function sub($a, $b) {
        return $a - $b;
    }

    /**
     * Mul
     */
    public function mul($a, $b) {
        return $a * $b;
    }

    /**
     * Protected methods will not be exposed
     * @param interge
     * @return interge
     */
    protected function _add($a, $b) {
        return $a + $b;
    }
}

$server = new Yar_Server(new Operator());
$server->handle();
?>

Exemplo #2 Access the server in borwser(GET request)

O exemplo acima irá imprimir algo similar à:

Yar Server Info

Exemplo #3 Yar Client Example

<?php
$client = new yar_client("http://example.com/operator.php");

/* call directly */
var_dump($client->add(1, 2));

/* call via call */
var_dump($client->call("add", array(3, 2)));

/* __add can not be called */
var_dump($client->_add(1, 2));
?>

O exemplo acima irá imprimir algo similar à:

int(3)
int(5)
PHP Fatal error:  Uncaught exception 'Yar_Server_Exception' with message 'call to api Operator::_add() failed' in *

Exemplo #4 Yar Concurrent Client Example

<?php
function callback($ret, $callinfo) {
    echo $callinfo['method'] , " result: ", $ret , "\n";
}

/* register async call to remote services */
Yar_Concurrent_Client::call("http://example.com/operator.php", "add", array(1, 2), "callback");
Yar_Concurrent_Client::call("http://example.com/operator.php", "sub", array(2, 1), "callback");
Yar_Concurrent_Client::call("http://example.com/operator.php", "mul", array(2, 2), "callback");

/* sent all request and wait for response */
Yar_Concurrent_Client::loop();
?>

O exemplo acima irá imprimir algo similar à:

mul result: 4
sub result: 1
add result: 3


The Yar_Server class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

Sinopse da classe

Yar_Server {
/* Propriedades */
protected $_executor ;
/* Métodos */
final public __construct ( Object $obj )
public handle ( ) : bool
}

Propriedades

_executor

Índice

  • Yar_Server::__construct — Register a server
  • Yar_Server::handle — Start RPC Server


Register a server

  • « Yar_Server
  • Yar_Server::handle »
  • PHP Manual
  • Yar_Server
  • Register a server

Yar_Server::__construct

(PECL yar >= 1.0.0)

Yar_Server::__construct — Register a server

Descrição

final public Yar_Server::__construct ( Object $obj )

Set up a Yar HTTP RPC Server, All the public methods of $obj will be register as a RPC service.

Parâmetros

obj

An Object, all public methods of its will be registered as RPC services.

Valor Retornado

An instance of Yar_Server.

Exemplos

Exemplo #1 Yar_Server::__construct() example

<?php
class API {
    /**
     * the doc info will be generated automatically into service info page.
     * @params
     * @return
     */
    public function some_method($parameter, $option = "foo") {
         return "some_method";
    }

    protected function client_can_not_see() {
    }
}

$service = new Yar_Server(new API());
$service->handle();
?>

O exemplo acima irá imprimir algo similar à:

Veja Também

  • Yar_Server::handle() - Start RPC Server
    •


Start RPC Server

  • « Yar_Server::__construct
  • Yar_Client »
  • PHP Manual
  • Yar_Server
  • Start RPC Server

Yar_Server::handle

(PECL yar >= 1.0.0)

Yar_Server::handle — Start RPC Server

Descrição

public Yar_Server::handle ( ) : bool

Start a RPC HTTP server, and ready for accpet RPC requests.

Nota:

Usual RPC calls will be issued as HTTP POST requests. If a HTTP GET request is issued to the uri, the service information (commented section above) will be printed on the page

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

boolean

Exemplos

Exemplo #1 Yar_Server::handle() example

<?php
class API {
    /**
     * the doc info will be generated automatically into service info page.
     * @params
     * @return
     */
    public function some_method($parameter, $option = "foo") {
    }

    protected function client_can_not_see() {
    }
}

$service = new Yar_Server(new API());
$service->handle();
?>

O exemplo acima irá imprimir algo similar à:

Veja Também

  • Yar_Server::__construct() - Register a server
    •


The Yar_Client class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

Sinopse da classe

Yar_Client {
/* Propriedades */
protected $_protocol ;
protected $_uri ;
protected $_options ;
protected $_running ;
/* Métodos */
public __call ( string $method , array $parameters ) : void
final public __construct ( string $url , array $options = ? )
public setOpt ( int $name , mixed $value ) : Yar_Client|false
}

Propriedades

_protocol

_uri

_options

_running

Índice

  • Yar_Client::__call — Call service
  • Yar_Client::__construct — Create a client
  • Yar_Client::setOpt — Set calling contexts


Call service

  • « Yar_Client
  • Yar_Client::__construct »
  • PHP Manual
  • Yar_Client
  • Call service

Yar_Client::__call

(PECL yar >= 1.0.0)

Yar_Client::__call — Call service

Descrição

public Yar_Client::__call ( string $method , array $parameters ) : void

Issue a call to remote RPC method.

Parâmetros

method

Remote RPC method name.

parameters

Parameters.

Valor Retornado

Exemplos

Exemplo #1 Yar_Client::__call() example

<?php

$client = new Yar_Client("http://host/api/");

/* call remote service */
$result = $client->some_method("parameter");
?>

O exemplo acima irá imprimir algo similar à:

Veja Também

  • Yar_Client::setOpt() - Set calling contexts
    •


Create a client

  • « Yar_Client::__call
  • Yar_Client::setOpt »
  • PHP Manual
  • Yar_Client
  • Create a client

Yar_Client::__construct

(PECL yar >= 1.0.0)

Yar_Client::__construct — Create a client

Descrição

final public Yar_Client::__construct ( string $url , array $options = ? )

Create a Yar_Client to a Yar_Server.

Parâmetros

url

Yar Server URL.

Valor Retornado

Yar_Client instance.

Exemplos

Exemplo #1 Yar_Client::__construct() example

<?php
$client = new Yar_Client("http://host/api/");
?>

O exemplo acima irá imprimir algo similar à:

Veja Também

  • Yar_Client::__call() - Call service
    •

  • Yar_Client::setOpt() - Set calling contexts
    •


Set calling contexts

  • « Yar_Client::__construct
  • Yar_Concurrent_Client »
  • PHP Manual
  • Yar_Client
  • Set calling contexts

Yar_Client::setOpt

(PECL yar >= 1.0.0)

Yar_Client::setOpt — Set calling contexts

Descrição

public Yar_Client::setOpt ( int $name , mixed $value ) : Yar_Client|false

Parâmetros

name

it can be: YAR_OPT_PACKAGER, YAR_OPT_PERSISTENT (Need server support), YAR_OPT_TIMEOUT, YAR_OPT_CONNECT_TIMEOUT YAR_OPT_HEADER (Since 2.0.4)

value

Valor Retornado

Returns $this on success ou false em caso de falha.

Exemplos

Exemplo #1 Yar_Client::setOpt() example

<?php

$cient = new Yar_Client("http://host/api/");

//Set timeout to 1s
$client->SetOpt(YAR_OPT_CONNECT_TIMEOUT, 1000);

//Set packager to JSON
$client->SetOpt(YAR_OPT_PACKAGER, "json");

//Set Custom headers
$client->SetOpt(YAR_OPT_HEADER, array("hr1: val1", "hd2: val2"));

/* call remote service */
$result = $client->some_method("parameter");
?>

O exemplo acima irá imprimir algo similar à:

Veja Também

  • Yar_Client::__call() - Call service
    •


The Yar_Concurrent_Client class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

Sinopse da classe

Yar_Concurrent_Client {
/* Propriedades */
static $_callstack ;
static $_callback ;
static $_error_callback ;
/* Métodos */
public static call ( string $uri , string $method , array $parameters = ? , callable $callback = ? , callable $error_callback = ? , array $options = ? ) : int
public static loop ( callable $callback = ? , callable $error_callback = ? ) : bool
public static reset ( ) : bool
}

Propriedades

_callstack

_callback

_error_callback

Índice

  • Yar_Concurrent_Client::call — Register a concurrent call
  • Yar_Concurrent_Client::loop — Send all calls
  • Yar_Concurrent_Client::reset — Clean all registered calls


Register a concurrent call

  • « Yar_Concurrent_Client
  • Yar_Concurrent_Client::loop »
  • PHP Manual
  • Yar_Concurrent_Client
  • Register a concurrent call

Yar_Concurrent_Client::call

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::call — Register a concurrent call

Descrição

public static Yar_Concurrent_Client::call ( string $uri , string $method , array $parameters = ? , callable $callback = ? , callable $error_callback = ? , array $options = ? ) : int

Register a RPC call, but won't sent it immediately, it will be send while further call to Yar_Concurrent_Client::loop()

Parâmetros

uri

The RPC server URI(http, tcp)

method

Service name(aka the method name)

parameters

Parameters

callback

A function callback, which will be called while the response return.

Valor Retornado

An unique id, can be used to identified which call it is.

Exemplos

Exemplo #1 Yar_Concurrent_Client::call() example

<?php
function callback($retval, $callinfo) {
     var_dump($retval);
}

function error_callback($type, $error, $callinfo) {
    error_log($error);
}

Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback");
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"));   // if the callback is not specificed,
                                                                               // callback in loop will be used
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
                                                                               //this server accept json packager
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
                                                                               //custom timeout

//The requests are not sent yet
?>

O exemplo acima irá imprimir algo similar à:

Veja Também

  • Yar_Concurrent_Client::loop() - Send all calls
    •

  • Yar_Concurrent_Client::reset() - Clean all registered calls
    •

  • Yar_Server::__construct() - Register a server
    •

  • Yar_Server::handle() - Start RPC Server
    •


Send all calls

  • « Yar_Concurrent_Client::call
  • Yar_Concurrent_Client::reset »
  • PHP Manual
  • Yar_Concurrent_Client
  • Send all calls

Yar_Concurrent_Client::loop

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::loop — Send all calls

Descrição

public static Yar_Concurrent_Client::loop ( callable $callback = ? , callable $error_callback = ? ) : bool

Send all registed remote RPC calls.

Parâmetros

callback

If this callback is set, then Yar will call this callback after all calls are sent and before any response return, with a $callinfo NULL.

Then, if user didn't specify callback when registering concurrent call, this callback will be used to handle response, otherwise, the callback specified while registering will be used.

error_callback

If this callback is set, then Yar will call this callback while error occurred.

Valor Retornado

Exemplos

Exemplo #1 Yar_Concurrent_Client::loop() example

<?php
function callback($retval, $callinfo) {
     if ($callinfo == NULL) {
        echo "Now, all requests are sent, and no any response available\n";
     } else {
        echo "This is a remote call response, the method name is", $callinfo["method"],
             ". calling sequence is " , $callinfo["sequence"] , "\n";
        var_dump($retval);
     }
}

function error_callback($type, $error, $callinfo) {
    error_log($error);
}

Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback");
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"));   // if the callback is not specificed,
                                                                               // callback in loop will be used
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
                                                                               //this server accept json packager
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
                                                                               //custom timeout

Yar_Concurrent_Client::loop("callback", "error_callback"); //send the requests,
                                                           //the error_callback is optional
?>

O exemplo acima irá imprimir algo similar à:

Now, all requests are sent, and no any response available
This is a remote call response, the method name issome_method. calling sequence is 4
string(11) "some_method"
This is a remote call response, the method name issome_method. calling sequence is 1
string(11) "some_method"
This is a remote call response, the method name issome_method. calling sequence is 2
string(11) "some_method"
This is a remote call response, the method name issome_method. calling sequence is 3
string(11) "some_method"

Veja Também

  • Yar_Concurrent_Client::call() - Register a concurrent call
  • Yar_Concurrent_Client::reset() - Clean all registered calls
  • Yar_Server::__construct() - Register a server
  • Yar_Server::handle() - Start RPC Server


Clean all registered calls

  • « Yar_Concurrent_Client::loop
  • Yar_Server_Exception »
  • PHP Manual
  • Yar_Concurrent_Client
  • Clean all registered calls

Yar_Concurrent_Client::reset

(PECL yar >= 1.2.4)

Yar_Concurrent_Client::reset — Clean all registered calls

Descrição

public static Yar_Concurrent_Client::reset ( ) : bool

Clean all registered calls

Parâmetros

Valor Retornado

Exemplos

Exemplo #1 Yar_Concurrent_Client::reset() example

O exemplo acima irá imprimir algo similar à:

Veja Também

  • Yar_Concurrent_Client::call() - Register a concurrent call
    •

  • Yar_Concurrent_Client::loop() - Send all calls
    •

  • Yar_Server::__construct() - Register a server
    •

  • Yar_Server::handle() - Start RPC Server
    •


The Yar_Server_Exception class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

If service threw exceptions, A Yar_Server_Exception will be threw in client side.

Sinopse da classe

Yar_Server_Exception extends Exception {
/* Propriedades */
protected $_type ;
/* Métodos */
public getType ( ) : string
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Propriedades

message

code

file

line

_type

Índice

  • Yar_Server_Exception::getType — Retrieve exception's type


Retrieve exception's type

  • « Yar_Server_Exception
  • Yar_Client_Exception »
  • PHP Manual
  • Yar_Server_Exception
  • Retrieve exception's type

Yar_Server_Exception::getType

(PECL yar >= 1.0.0)

Yar_Server_Exception::getType — Retrieve exception's type

Descrição

public Yar_Server_Exception::getType ( ) : string

Get the exception original type threw by server

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

string

Exemplos

Exemplo #1 Yar_Server_Exception::getType() example

//Server.php
<?php
class Custom_Exception extends Exception {};

class API {
    public function throw_exception($name) {
        throw new Custom_Exception($name);
    }
}

$service = new Yar_Server(new API());
$service->handle();
?>

//Client.php
<?php
$client = new Yar_Client("http://host/api.php");

try {
    $client->throw_exception("client");
} catch (Yar_Server_Exception $e) {
    var_dump($e->getType());
    var_dump($e->getMessage());
}

O exemplo acima irá imprimir algo similar à:

string(16) "Custom_Exception"
string(6) "client"

Veja Também


The Yar_Client_Exception class

(Não há informação de versão disponível, talvez apenas no Git)

Introdução

Sinopse da classe

Yar_Client_Exception extends Exception {
/* Propriedades */
/* Métodos */
public getType ( ) : string
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Propriedades

message

code

file

line

Índice

  • Yar_Client_Exception::getType — Retrieve exception's type


Retrieve exception's type

  • « Yar_Client_Exception
  • XML-RPC »
  • PHP Manual
  • Yar_Client_Exception
  • Retrieve exception's type

Yar_Client_Exception::getType

(PECL yar >= 1.0.0)

Yar_Client_Exception::getType — Retrieve exception's type

Descrição

public Yar_Client_Exception::getType ( ) : string

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns "Yar_Exception_Client".

Exemplos

Exemplo #1 Yar_Client_Exception::getType() example

<?php

/* ... */

?>

O exemplo acima irá imprimir algo similar à:

...

Veja Também

  • Yaf_Server_Exception::getType()


XML-RPC

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Funções para XML-RPC
    • xmlrpc_decode_request — Decodifica XML para tipos nativos do PHP
    • xmlrpc_decode — Decodifica XML para tipos nativos do PHP
    • xmlrpc_encode_request — Gera XML para uma requisiÃ§Ã£o
    • xmlrpc_encode — Gera XML para um valor do PHP
    • xmlrpc_get_type — Pega o tipo xmlrpc para um valor do PHP
    • xmlrpc_is_fault — Determina se um valor de array representa uma falha XMLRPC
    • xmlrpc_parse_method_descriptions — Decodifica XML e gera uma lista de descrição de métodos
    • xmlrpc_server_add_introspection_data — Adiciona documentação de introspecção
    • xmlrpc_server_call_method — Trata requisiçães de XML e chamadas de métodos
    • xmlrpc_server_create — Cria um servidor xmlrpc
    • xmlrpc_server_destroy — Destrói o servidor xmlrpc
    • xmlrpc_server_register_introspection_callback — Registra uma função do PHP para gerar documentação
    • xmlrpc_server_register_method — Registra uma função do PHP para o método com nome method_name
    • xmlrpc_set_type — Configura um tipo xmlrpc, base64 ou datetime, para uma string do PHP


Introdução

Essas funções podem ser usadas para escrever servidores e clientes XML-RPC. Você pode achar mais informação sobre XML-RPC em » http://www.xmlrpc.com/, e mais documentação sobre essa extensão e suas funções em » http://xmlrpc-epi.sourceforge.net/.

Aviso

Esta extensão é EXPERIMENTAL. O comportamento desta extensão — incluindo o nome de suas funções e qualquer outra documentação sobre esta extensão — poderá mudar sem aviso em futuras versões do PHP. Esta extensão deve ser usada por sua própria conta e risco.


Instalação

Suporte à XML-RPC no PHP não é habilitado por padrão. Você precisará usar a opção --with-xmlrpc[=DIR] ao executar o script configure para habilitar o suporte. Essa extensão está faz parte do PHP desde a versão 4.1.0.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Essa extensão define um recurso (resource) para um servidor XML-RPC retornado por xmlrpc_server_create().


  • « Tipos de Recurso
  • Funções para XML-RPC »
  • PHP Manual
  • XML-RPC
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Funções para XML-RPC

Índice

  • xmlrpc_decode_request — Decodifica XML para tipos nativos do PHP
  • xmlrpc_decode — Decodifica XML para tipos nativos do PHP
  • xmlrpc_encode_request — Gera XML para uma requisiÃ§Ã£o
  • xmlrpc_encode — Gera XML para um valor do PHP
  • xmlrpc_get_type — Pega o tipo xmlrpc para um valor do PHP
  • xmlrpc_is_fault — Determina se um valor de array representa uma falha XMLRPC
  • xmlrpc_parse_method_descriptions — Decodifica XML e gera uma lista de descrição de métodos
  • xmlrpc_server_add_introspection_data — Adiciona documentação de introspecção
  • xmlrpc_server_call_method — Trata requisiçães de XML e chamadas de métodos
  • xmlrpc_server_create — Cria um servidor xmlrpc
  • xmlrpc_server_destroy — Destrói o servidor xmlrpc
  • xmlrpc_server_register_introspection_callback — Registra uma função do PHP para gerar documentação
  • xmlrpc_server_register_method — Registra uma função do PHP para o método com nome method_name
  • xmlrpc_set_type — Configura um tipo xmlrpc, base64 ou datetime, para uma string do PHP


Decodifica XML para tipos nativos do PHP

  • « Funções para XML-RPC
  • xmlrpc_decode »
  • PHP Manual
  • Funções para XML-RPC
  • Decodifica XML para tipos nativos do PHP

xmlrpc_decode_request

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_decode_request — Decodifica XML para tipos nativos do PHP

Descrição

xmlrpc_decode_request ( string $xml , string &$method , string $encoding = ? ) : mixed
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Decodifica XML para tipos nativos do PHP

  • « xmlrpc_decode_request
  • xmlrpc_encode_request »
  • PHP Manual
  • Funções para XML-RPC
  • Decodifica XML para tipos nativos do PHP

xmlrpc_decode

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_decode — Decodifica XML para tipos nativos do PHP

Descrição

xmlrpc_decode ( string $xml , string $encoding = ? ) : mixed
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

xml

Resposta XML retornada por método XMLRPC.

encoding

Codificação da entrada suportada por iconv (padrão é "iso-8859-1").

Valor Retornado

Retorna ou um array, ou um inteiro, ou uma string, ou um booleano de acordo com a resposta retornada via XMLRPC.

Exemplos

Veja exemplos em xmlrpc_encode_request().

Veja Também

  • xmlrpc_encode_request() - Gera XML para uma requisiÃ§Ã£o
  • xmlrpc_is_fault() - Determina se um valor de array representa uma falha XMLRPC


Gera XML para uma requisiÃ§Ã£o

  • « xmlrpc_decode
  • xmlrpc_encode »
  • PHP Manual
  • Funções para XML-RPC
  • Gera XML para uma requisiÃ§Ã£o

xmlrpc_encode_request

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_encode_request — Gera XML para uma requisiÃ§Ã£o

Descrição

xmlrpc_encode_request ( string $method , mixed $params , array $output_options = ? ) : string
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

method

Nome do método a ser chamado.

params

Parâmetros do método compatível com assinatura do método.

output_options

Array especificando opções de saída. Pode conter (valores padrão estão em negrito):

  • output_type: php, xml

  • verbosity: no_white_space, newlines_only, pretty

  • escaping: cdata, non-ascii, non-print, markup (pode ser uma string com um valor ou um array com múltiplos valores)

  • version: simple, xmlrpc, soap 1.1, auto

  • encoding: iso-8859-1, outra codificação suportada por iconv

Valor Retornado

Retorna uma string contendo a representação XML da requisição.

Exemplos

Exemplo #1 Exemplo de uso das funções de cliente XMLRPC

<?php
$request = xmlrpc_encode_request("method", array(1, 2, 3));
$context = stream_context_create(array('http' => array(
    'method' => "POST",
    'header' => "Content-Type: text/xml",
    'content' => $request
)));
$file = file_get_contents("http://www.example.com/xmlrpc", false, $context);
$response = xmlrpc_decode($file);
if (xmlrpc_is_fault($response)) {
    trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
    print_r($response);
}
?>

Veja Também

  • stream_context_create() - Creates a stream context
  • file_get_contents() - Lê todo o conteúdo de um arquivo para uma string
  • xmlrpc_decode() - Decodifica XML para tipos nativos do PHP


Gera XML para um valor do PHP

  • « xmlrpc_encode_request
  • xmlrpc_get_type »
  • PHP Manual
  • Funções para XML-RPC
  • Gera XML para um valor do PHP

xmlrpc_encode

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_encode — Gera XML para um valor do PHP

Descrição

xmlrpc_encode ( mixed $value ) : string
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Pega o tipo xmlrpc para um valor do PHP

  • « xmlrpc_encode
  • xmlrpc_is_fault »
  • PHP Manual
  • Funções para XML-RPC
  • Pega o tipo xmlrpc para um valor do PHP

xmlrpc_get_type

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_get_type — Pega o tipo xmlrpc para um valor do PHP

Descrição

xmlrpc_get_type ( mixed $value ) : string
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Essa função é especialmente útil para strings datetime e base64.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Determina se um valor de array representa uma falha XMLRPC

  • « xmlrpc_get_type
  • xmlrpc_parse_method_descriptions »
  • PHP Manual
  • Funções para XML-RPC
  • Determina se um valor de array representa uma falha XMLRPC

xmlrpc_is_fault

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

xmlrpc_is_fault — Determina se um valor de array representa uma falha XMLRPC

Descrição

xmlrpc_is_fault ( array $arg ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

arg

Array retornado por xmlrpc_decode().

Valor Retornado

Retorna true se o argumento significa falha, false caso contrário. Descrição da falha está disponível em $arg["faultString"], código da falha está em $arg["faultCode"].

Exemplos

Veja o exemplo em xmlrpc_encode_request().

Veja Também

  • xmlrpc_decode() - Decodifica XML para tipos nativos do PHP


Decodifica XML e gera uma lista de descrição de métodos

  • « xmlrpc_is_fault
  • xmlrpc_server_add_introspection_data »
  • PHP Manual
  • Funções para XML-RPC
  • Decodifica XML e gera uma lista de descrição de métodos

xmlrpc_parse_method_descriptions

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_parse_method_descriptions — Decodifica XML e gera uma lista de descrição de métodos

Descrição

xmlrpc_parse_method_descriptions ( string $xml ) : array
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Adiciona documentação de introspecção

  • « xmlrpc_parse_method_descriptions
  • xmlrpc_server_call_method »
  • PHP Manual
  • Funções para XML-RPC
  • Adiciona documentação de introspecção

xmlrpc_server_add_introspection_data

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_add_introspection_data — Adiciona documentação de introspecção

Descrição

xmlrpc_server_add_introspection_data ( resource $server , array $desc ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Trata requisiçães de XML e chamadas de métodos

  • « xmlrpc_server_add_introspection_data
  • xmlrpc_server_create »
  • PHP Manual
  • Funções para XML-RPC
  • Trata requisiçães de XML e chamadas de métodos

xmlrpc_server_call_method

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_call_method — Trata requisiçães de XML e chamadas de métodos

Descrição

xmlrpc_server_call_method ( resource $server , string $xml , mixed $user_data , array $output_options = ? ) : string
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Cria um servidor xmlrpc

  • « xmlrpc_server_call_method
  • xmlrpc_server_destroy »
  • PHP Manual
  • Funções para XML-RPC
  • Cria um servidor xmlrpc

xmlrpc_server_create

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_create — Cria um servidor xmlrpc

Descrição

xmlrpc_server_create ( ) : resource
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Destrói o servidor xmlrpc

  • « xmlrpc_server_create
  • xmlrpc_server_register_introspection_callback »
  • PHP Manual
  • Funções para XML-RPC
  • Destrói o servidor xmlrpc

xmlrpc_server_destroy

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_destroy — Destrói o servidor xmlrpc

Descrição

xmlrpc_server_destroy ( resource $server ) : int
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Registra uma função do PHP para gerar documentação

  • « xmlrpc_server_destroy
  • xmlrpc_server_register_method »
  • PHP Manual
  • Funções para XML-RPC
  • Registra uma função do PHP para gerar documentação

xmlrpc_server_register_introspection_callback

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_register_introspection_callback — Registra uma função do PHP para gerar documentação

Descrição

xmlrpc_server_register_introspection_callback ( resource $server , string $function ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Registra uma função do PHP para o método com nome method_name

  • « xmlrpc_server_register_introspection_callback
  • xmlrpc_set_type »
  • PHP Manual
  • Funções para XML-RPC
  • Registra uma função do PHP para o método com nome method_name

xmlrpc_server_register_method

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_register_method — Registra uma função do PHP para o método com nome method_name

Descrição

xmlrpc_server_register_method ( resource $server , string $method_name , string $function ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.


Configura um tipo xmlrpc, base64 ou datetime, para uma string do PHP

  • « xmlrpc_server_register_method
  • Extensões Somente para Windows »
  • PHP Manual
  • Funções para XML-RPC
  • Configura um tipo xmlrpc, base64 ou datetime, para uma string do PHP

xmlrpc_set_type

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_set_type — Configura um tipo xmlrpc, base64 ou datetime, para uma string do PHP

Descrição

xmlrpc_set_type ( string &$value , string $type ) : bool
Aviso

Esta função é EXPERIMENTAL. O comportamento, seu nome e documentação podem mudar sem aviso em futuras versões do PHP. Utilize por sua própria conta e risco.

Parâmetros

value

Valor a ser definido do tipo

type

'base64' ou 'datetime'

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Se tiver sucesso, value é convertido para um objeto.

Erros

É emitido E_WARNING com tipo não suportado por XMLRPC..


Extensões Somente para Windows

  • COM — COM and .Net (Windows)
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Errors and error handling
    • Exemplos
    • com — The com class
    • dotnet — The dotnet class
    • variant — variant class
    • COMPersistHelper — The COMPersistHelper class
    • com_exception — The com_exception class
    • COM Funções
  • win32service
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Win32ServiceException — The Win32ServiceException class
    • Exemplos
    • win32service Funções


COM and .Net (Windows)

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Errors and error handling
  • Exemplos
    • For Each
    • Arrays and Array-style COM properties
  • com — The com class
    • com::__construct — com class constructor
  • dotnet — The dotnet class
    • dotnet::__construct — dotnet class constructor
  • variant — variant class
    • variant::__construct — variant class constructor
  • COMPersistHelper — The COMPersistHelper class
    • COMPersistHelper::__construct — Construct a COMPersistHelper object
    • COMPersistHelper::GetCurFileName — Get current filename
    • COMPersistHelper::GetMaxStreamSize — Get maximum stream size
    • COMPersistHelper::InitNew — Initialize object to default state
    • COMPersistHelper::LoadFromFile — Load object from file
    • COMPersistHelper::LoadFromStream — Load object from stream
    • COMPersistHelper::SaveToFile — Save object to file
    • COMPersistHelper::SaveToStream — Save object to stream
  • com_exception — The com_exception class
  • COM Funções
    • com_create_guid — Generate a globally unique identifier (GUID)
    • com_event_sink — Connect events from a COM object to a PHP object
    • com_get_active_object — Returns a handle to an already running instance of a COM object
    • com_load_typelib — Loads a Typelib
    • com_message_pump — Process COM messages, sleeping for up to timeoutms milliseconds
    • com_print_typeinfo — Print out a PHP class definition for a dispatchable interface
    • variant_abs — Returns the absolute value of a variant
    • variant_add — "Adds" two variant values together and returns the result
    • variant_and — Performs a bitwise AND operation between two variants
    • variant_cast — Convert a variant into a new variant object of another type
    • variant_cat — Concatenates two variant values together and returns the result
    • variant_cmp — Compares two variants
    • variant_date_from_timestamp — Returns a variant date representation of a Unix timestamp
    • variant_date_to_timestamp — Converts a variant date/time value to Unix timestamp
    • variant_div — Returns the result from dividing two variants
    • variant_eqv — Performs a bitwise equivalence on two variants
    • variant_fix — Returns the integer portion of a variant
    • variant_get_type — Returns the type of a variant object
    • variant_idiv — Converts variants to integers and then returns the result from dividing them
    • variant_imp — Performs a bitwise implication on two variants
    • variant_int — Returns the integer portion of a variant
    • variant_mod — Divides two variants and returns only the remainder
    • variant_mul — Multiplies the values of the two variants
    • variant_neg — Performs logical negation on a variant
    • variant_not — Performs bitwise not negation on a variant
    • variant_or — Performs a logical disjunction on two variants
    • variant_pow — Returns the result of performing the power function with two variants
    • variant_round — Rounds a variant to the specified number of decimal places
    • variant_set_type — Convert a variant into another type "in-place"
    • variant_set — Assigns a new value for a variant object
    • variant_sub — Subtracts the value of the right variant from the left variant value
    • variant_xor — Performs a logical exclusion on two variants


Introdução

COM is an acronym for Component Object Model; it is an object orientated layer (and associated services) on top of DCE RPC (an open standard) and defines a common calling convention that enables code written in any language to call and interoperate with code written in any other language (provided those languages are COM aware). Not only can the code be written in any language, but it need not even be part of the same executable; the code can be loaded from a DLL, be found in another process running on the same machine, or, with DCOM (Distributed COM), be found in another process on a remote machine, all without your code even needing to know where a component resides.

There is a subset of COM known as OLE Automation which comprises a set of COM interfaces that allow loose binding to COM objects, so that they can be introspected and called at run-time without compile-time knowledge of how the object works. The PHP COM extension utilizes the OLE Automation interfaces to allow you to create and call compatible objects from your scripts. Technically speaking, this should really be called the "OLE Automation Extension for PHP", since not all COM objects are OLE compatible.

Now, why would or should you use COM? COM is one of the main ways to glue applications and components together on the Windows platform; using COM you can launch Microsoft Word, fill in a document template and save the result as a Word document and send it to a visitor of your web site. You can also use COM to perform administrative tasks for your network and to configure your IIS; these are just the most common uses; you can do much more with COM.

Additionally, we support the instantiation and creation of .Net assemblies using the COM interoperability layer provided by Microsoft.


Dependências

COM functions are only available for the Windows version of PHP.

.Net support requires the .Net runtime.


Instalação

As of PHP 5.3.15 / 5.4.5, this extension requires php_com_dotnet.dll to be enabled inside of php.ini in order to use these functions. Previous versions of PHP enabled these extensions by default.

You are responsible for installing support for the various COM objects that you intend to use (such as MS Word); we don't and can't bundle all of those with PHP.


Configurações em Execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Com configuration options
Nome | Padrão | Modificável | Changelog
com.allow_dcom | "0" | PHP_INI_SYSTEM |
com.autoregister_typelib | "0" | PHP_INI_ALL |
com.autoregister_verbose | "0" | PHP_INI_ALL |
com.autoregister_casesensitive | "1" | PHP_INI_ALL |
com.code_page | "" | PHP_INI_ALL |
com.dotnet_version | "" | PHP_INI_SYSTEM | As of PHP 8.0.0
com.typelib_file | "" | PHP_INI_SYSTEM |
Para mais detalhes e definições dos modos PHP_INI_*, veja Onde uma configuração deve ser definida.

Uma rápida explicação das diretivas de configuração.

com.allow_dcom

When this is turned on, PHP will be allowed to operate as a D-COM (Distributed COM) client and will allow the PHP script to instantiate COM objects on a remote server.

com.autoregister_typelib

When this is turned on, PHP will attempt to register constants from the typelibrary of COM objects that it instantiates, if those objects implement the interfaces required to obtain that information. The case sensitivity of the constants it registers is controlled by the configuration directive.

com.autoregister_verbose

When this is turned on, any problems with loading a typelibrary during object instantiation will be reported using the PHP error mechanism. The default is off, which does not emit any indication if there was an error finding or loading the type library.

com.autoregister_casesensitive

When this is turned on (the default), constants found in auto-loaded type libraries when instatiating COM objects will be registered case sensitively. See com_load_typelib() for more details.

com.code_page

It controls the default character set code-page to use when passing strings to and from COM objects. If set to an empty string, PHP will assume that you want CP_ACP, which is the default system ANSI code page.

If the text in your scripts is encoded using a different encoding/character set by default, setting this directive will save you from having to pass the code page as a parameter to the com class constructor. Please note that by using this directive (as with any PHP configuration directive), your PHP script becomes less portable; you should use the COM constructor parameter whenever possible.

com.dotnet_version

The version of the .NET framework to use for dotnet objects. The value of the setting is the first three parts of the framework's version number, separated by dots, and prefixed with v, e.g. v4.0.30319.

com.typelib_file

When set, this should hold the path to a file that contains a list of typelibraries that should be loaded on startup. Each line of the file will be treated as the type library name and loaded as though you had called com_load_typelib(). The constants will be registered persistently, so that the library only needs to be loaded once. If a type library name ends with the string #cis or #case_insensitive, then the constants from that library will be registered case insensitively.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

COM constants
Constant | Value | Description | Notes
CLSCTX_INPROC_SERVER (int) | 1 | The code that creates and manages objects of this class is a DLL that runs in the same process as the caller of the function specifying the class context. |
CLSCTX_INPROC_HANDLER (int) | 2 | The code that manages objects of this class is an in-process handler. This is a DLL that runs in the client process and implements client-side structures of this class when instances of the class are accessed remotely. |
CLSCTX_LOCAL_SERVER (int) | 4 | The EXE code that creates and manages objects of this class runs on same machine but is loaded in a separate process space. |
CLSCTX_REMOTE_SERVER (int) | 16 | A remote context. The code that creates and manages objects of this class is run on a different computer. |
CLSCTX_SERVER (int) | 21 | Indicates server code, whether in-process, local, or remote. This definition ORs CLSCTX_INPROC_SERVER, CLSCTX_LOCAL_SERVER, and CLSCTX_REMOTE_SERVER. |
CLSCTX_ALL (int) | 23 | Indicates all class contexts. This definition ORs CLSCTX_INPROC_HANDLER and CLSCTX_SERVER. |
VT_NULL (int) | 1 | NULL pointer reference. |
VT_EMPTY (int) | 0 | A property with a type indicator of VT_EMPTY has no data associated with it; that is, the size of the value is zero. |
VT_INT (int) | 22 | 4-byte signed integer value (equivalent to VT_I4). |
VT_I1 (int) | 16 | 1-byte signed integer. |
VT_I2 (int) | 2 | Two bytes representing a 2-byte signed integer value. |
VT_I4 (int) | 3 | 4-byte signed integer value. |
VT_I8 (int) | 20 | 8-byte signed integer value. | Available as of PHP 7.0.0 (x64 only).
VT_UINT (int) | 23 | 4-byte unsigned integer (equivalent to VT_UI4). |
VT_UI1 (int) | 17 | 1-byte unsigned integer. |
VT_UI2 (int) | 18 | 2-byte unsigned integer. |
VT_UI4 (int) | 19 | 4-byte unsigned integer. |
VT_UI8 (int) | 21 | 8-byte unsigned integer. | Available as of PHP 7.0.0 (x64 only).
VT_R4 (int) | 4 | 32-bit IEEE floating point value. |
VT_R8 (int) | 5 | 64-bit IEEE floating point value. |
VT_BOOL (int) | 11 | Boolean value. |
VT_ERROR (int) | 10 | Error code; containing the status code associated with the error. |
VT_CY (int) | 6 | 8-byte two's complement integer (scaled by 10,000). |
VT_DATE (int) | 7 | A 64-bit floating point number representing the number of days (not seconds) since December 31, 1899. For example, January 1, 1900, is 2.0, January 2, 1900, is 3.0, and so on). This is stored in the same representation as VT_R8. |
VT_BSTR (int) | 8 | Pointer to a null-terminated Unicode string. |
VT_DECIMAL (int) | 14 | A decimal structure. |
VT_UNKNOWN (int) | 13 | A pointer to an object that implements the IUnknown interface. |
VT_DISPATCH (int) | 9 | A pointer to a pointer to an object was specified. |
VT_VARIANT (int) | 12 | A type indicator followed by the corresponding value. VT_VARIANT can be used only with VT_BYREF. |
VT_ARRAY (int) | 8192 | If the type indicator is combined with VT_ARRAY by an OR operator, the value is a pointer to a SAFEARRAY. VT_ARRAY can use the OR with the following data types: VT_I1, VT_UI1, VT_I2, VT_UI2, VT_I4, VT_UI4, VT_INT, VT_UINT, VT_R4, VT_R8, VT_BOOL, VT_DECIMAL, VT_ERROR, VT_CY, VT_DATE, VT_BSTR, VT_DISPATCH, VT_UNKNOWN and VT_VARIANT. |
VT_BYREF (int) | 16384 | If the type indicator is combined with VT_BYREF by an OR operator, the value is a reference. Reference types are interpreted as a reference to data, similar to the reference type in C++. |
CP_ACP (int) | 0 | Default to ANSI code page. |
CP_MACCP (int) | 2 | Macintosh code page. |
CP_OEMCP (int) | 1 | Default to OEM code page. |
CP_UTF7 (int) | 65000 | Unicode (UTF-7). |
CP_UTF8 (int) | 65001 | Unicode (UTF-8). |
CP_SYMBOL (int) | 42 | SYMBOL translations. |
CP_THREAD_ACP (int) | 3 | Current thread's ANSI code page |
VARCMP_LT (int) | 0 | The left bstr is less than right bstr. |
VARCMP_EQ (int) | 1 | The two parameters are equal. |
VARCMP_GT (int) | 2 | The left bstr is greater than right bstr. |
VARCMP_NULL (int) | 3 | Either expression is NULL. |
NORM_IGNORECASE (int) | 1 | Ignore case sensitivity. |
NORM_IGNORENONSPACE (int) | 2 | Ignore nonspacing characters. |
NORM_IGNORESYMBOLS (int) | 4 | Ignore symbols. |
NORM_IGNOREWIDTH (int) | 131072 | Ignore string width. |
NORM_IGNOREKANATYPE (int) | 65536 | Ignore Kana type. |
NORM_IGNOREKASHIDA (int) | 262144 | Ignore Arabic kashida characters. | Availability is dependent upon under lying library.
DISP_E_DIVBYZERO (int) | -2147352558 | A return error that indicates a divide by zero error. | As of PHP 7.0.0, the value is 2147614738 on x64.
DISP_E_OVERFLOW (int) | -2147352566 | An error that indicates that a value could not be coerced to its expected representation. | As of PHP 7.0.0, the value is 2147614730 on x64.
DISP_E_BADINDEX (int) | -2147352565 | An error that indicates that an array index does not exist. | As of PHP 7.0.0, the value is 2147614731 on x64.
MK_E_UNAVAILABLE (int) | -2147221021 | iMoniker COM status code, return on errors where the function call failed due to unavailability. | As of PHP 7.0.0, the value is 2147746275 on x64.


Errors and error handling

This extension will throw instances of the class com_exception whenever there is a potentially fatal error reported by COM. All COM exceptions have a well-defined code property that corresponds to the HRESULT return value from the various COM operations. You may use this code to make programmatic decisions on how to handle the exception.


  • « Errors and error handling
  • For Each »
  • PHP Manual
  • COM
  • Exemplos

Exemplos

Índice

  • For Each
  • Arrays and Array-style COM properties


For Each

You may use PHP's own foreach statement to iterate over the contents of a standard COM/OLE IEnumVariant. In layman's terms, this means that you can use foreach in places where you would have used For Each in VB/ASP code.

Exemplo #1 For Each in ASP

<%
Set domainObject = GetObject("WinNT://Domain")
For Each obj in domainObject
  Response.Write obj.Name & "<br />"
Next
%>

Exemplo #2 foreach in PHP

<?php
$domainObject = new COM("WinNT://Domain");
foreach ($domainObject as $obj) {
   echo $obj->Name . "<br />";
}
?>


Arrays and Array-style COM properties

Many COM objects expose their properties as arrays, or using array-style access.

You can:

  • Access multi-dimensional arrays, or COM properties that require multiple parameters using PHP array syntax. You can also write or set properties using this technique.

  • Iterate SafeArrays ("true" arrays) using the foreach control structure. This works because SafeArrays include information about their size. If an array-style property implements IEnumVariant then you can also use foreach for that property too; take a look at For Each for more information on this topic.


The com class

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

Introdução

The com class allows you to instantiate an OLE compatible COM object and call its methods and access its properties.

Sinopse da classe

com extends variant {
/* Métodos */
public __construct ( string $module_name , array|string|null $server_name = null , int $codepage = CP_ACP , string $typelib = "" )
}

Overloaded Methods

The returned object is an overloaded object, which means that PHP does not see any fixed methods as it does with regular classes; instead, any property or method accesses are passed through to COM.

PHP will automatically detect methods that accept parameters by reference, and will automatically convert regular PHP variables to a form that can be passed by reference. This means that you can call the method very naturally; you needn't go to any extra effort in your code.

com examples

Exemplo #1 com example (1)

<?php
// starting word
$word = new com("word.application") or die("Unable to instantiate Word");
echo "Loaded Word, version {$word->Version}\n";

//bring it to front
$word->Visible = 1;

//open an empty document
$word->Documents->Add();

//do some weird stuff
$word->Selection->TypeText("This is a test...");
$word->Documents[1]->SaveAs("Useless test.doc");

//closing word
$word->Quit();

//free the object
$word = null;
?>

Exemplo #2 com example (2)

<?php

$conn = new com("ADODB.Connection") or die("Cannot start ADO");
$conn->Open("Provider=SQLOLEDB; Data Source=localhost;
Initial Catalog=database; User ID=user; Password=password");

$rs = $conn->Execute("SELECT * FROM sometable");    // Recordset

$num_columns = $rs->Fields->Count();
echo $num_columns . "\n";

for ($i=0; $i < $num_columns; $i++) {
    $fld[$i] = $rs->Fields($i);
}

$rowcount = 0;
while (!$rs->EOF) {
    for ($i=0; $i < $num_columns; $i++) {
        echo $fld[$i]->value . "\t";
    }
    echo "\n";
    $rowcount++;            // increments rowcount
    $rs->MoveNext();
}

$rs->Close();
$conn->Close();

$rs = null;
$conn = null;

?>

Índice

  • com::__construct — com class constructor


com class constructor

  • « com
  • dotnet »
  • PHP Manual
  • com
  • com class constructor

com::__construct

(PHP 4 > 4.1.0, PHP 5, PHP 7, PHP 8)

com::__construct — com class constructor

Descrição

public com::__construct ( string $module_name , array|string|null $server_name = null , int $codepage = CP_ACP , string $typelib = "" )

Constructs a new com object.

Parâmetros

module_name
Can be a ProgID, Class ID or Moniker that names the component to load. A ProgID is typically the application or DLL name, followed by a period, followed by the object name. e.g: Word.Application. A Class ID is the UUID that uniquely identifies a given class. A Moniker is a special form of naming, similar in concept to a URL scheme, that identifies a resource and specifies how it should be loaded. As an example, you could load up Word and get an object representing a word document by specifying the full path to the word document as the module name, or you can use LDAP: as a moniker to use the ADSI interface to LDAP.
server_name
The name of the DCOM server on which the component should be loaded and run. If null, the object is run using the default for the application. The default is typically to run it on the local machine, although the administrator might have configured the application to launch on a different machine. If you specify a non-null value for server, PHP will refuse to load the object unless the configuration option is set to true.

If server_name is an array, it should contain the following elements (case sensitive!). Note that they are all optional (although you need to specify both Username and Password together); if you omit the Server setting, the default server will be used (as mentioned above), and the instantiation of the object will not be affected by the directive.

DCOM server name
key | type | description
Server | string | The name of the server.
Username | string | The username to connect as.
Password | string | The password for Username.
Domain | string | The domain of server.
Flags | integer | One or more of the following constants, logically OR'd together: CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, CLSCTX_LOCAL_SERVER, CLSCTX_REMOTE_SERVER, CLSCTX_SERVER and CLSCTX_ALL. The default value if not specified here is CLSCTX_SERVER if you also omit Server, or CLSCTX_REMOTE_SERVER if you do specify a server. You should consult the Microsoft documentation for CoCreateInstance for more information on the meaning of these constants; you will typically never have to use them.

codepage
Specifies the codepage that is used to convert strings to unicode-strings and vice versa. The conversion is applied whenever a PHP string is passed as a parameter or returned from a method of this COM object. The code page is sticky, which means that it will propagate to objects and variants returned from the object. Possible values are CP_ACP (use system default ANSI code page - the default if this parameter is omitted), CP_MACCP, CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP (use codepage/locale set for the current executing thread), CP_UTF7 and CP_UTF8. You may also use the number for a given codepage; consult the Microsoft documentation for more details on codepages and their numeric values.


The dotnet class

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

Introdução

The dotnet class allows you to instantiate a class from a .Net assembly and call its methods and access its properties, if the class and the methods and properties are » visible to COM.

Neither instantiating static classes nor calling static methods is supported.

Some .Net classes do not implement IDispatch, so while they can be instantiated, calling methods or accessing properties on these classes is not supported.

Nota:

You need to install the .Net runtime on your web server to take advantage of this feature.

Nota:

.Net framework 4.0 and later are not supported by the dotnet class. If assemblies have been registered with regasm.exe, the classes can be instantiated as com objects, though.

Sinopse da classe

dotnet extends variant {
/* Métodos */
public __construct ( string $assembly_name , string $datatype_name , int $codepage = CP_ACP )
}

Overloaded Methods

The returned object is an overloaded object, which means that PHP does not see any fixed methods as it does with regular classes; instead, any property or method accesses are passed through to COM and from there to DOTNET. In other words, the .Net object is mapped through the COM interoperability layer provided by the .Net runtime.

Once you have created a dotnet object, PHP treats it identically to any other COM object; all the same rules apply.

dotnet examples

Exemplo #1 dotnet example

<?php
$stack = new dotnet("mscorlib", "System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Hello ");
echo $stack->Pop() . $stack->Pop();
?>

Índice

  • dotnet::__construct — dotnet class constructor


dotnet class constructor

  • « dotnet
  • variant »
  • PHP Manual
  • dotnet
  • dotnet class constructor

dotnet::__construct

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

dotnet::__construct — dotnet class constructor

Descrição

public dotnet::__construct ( string $assembly_name , string $datatype_name , int $codepage = CP_ACP )

Constructs a new dotnet object.

Parâmetros

assembly_name
Specifies which assembly should be loaded.
datatype_name
Specifices which class in that assembly to instantiate.
codepage
Codepage to use for unicode string transformations; see the com class for more details on code pages.


variant class

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

Introdução

The VARIANT is COM's equivalent of the PHP zval; it is a structure that can contain a value with a range of different possible types. The variant class provided by the COM extension allows you to have more control over the way that PHP passes values to and from COM.

Sinopse da classe

variant {
/* Métodos */
public __construct ( mixed $value = null , int $type = VT_EMPTY , int $codepage = CP_ACP )
}

variant examples

Exemplo #1 variant example

<?php
$v = new variant(42);
print "The type is " . variant_get_type($v) . "<br/>";
print "The value is " . $v . "<br/>";
?>

Nota:

When returning a value or fetching a variant property, the variant is converted to a PHP value only when there is a direct mapping between the types that would not result in a loss of information. In all other cases, the result is returned as an instance of the variant class. You can force PHP to convert or evaluate the variant as a PHP native type by using a casting operator explicitly, or implicitly casting to a string by printing it. You may use the wide range of variant functions to perform arithmetic operations on variants without forcing a conversion or risking a loss of data.

See also variant_get_type().

Índice

  • variant::__construct — variant class constructor


variant class constructor

  • « variant
  • COMPersistHelper »
  • PHP Manual
  • variant
  • variant class constructor

variant::__construct

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

variant::__construct — variant class constructor

Descrição

public variant::__construct ( mixed $value = null , int $type = VT_EMPTY , int $codepage = CP_ACP )

Constructs a new variant object.

Parâmetros

value
Initial value. If omitted, or set to null an VT_EMPTY object is created.
type
Specifies the content type of the variant object. Possible values are one of the VT_XXX Constantes pré-definidas. PHP can detect parameters passed by reference automatically; they do not even need to be passed as variant objects. Consult the MSDN library for additional information on the VARIANT type.
codepage
Specifies the codepage that is used to convert strings to unicode. See the parameter of the same name in the com class for more information.


The COMPersistHelper class

(PHP 5, PHP 7, PHP 8)

Introdução

COMPersistHelper improves the interoperability of COM and PHP with regard to the php.ini directive open_basedir, and stream resources.

Sinopse da classe

final COMPersistHelper {
/* Métodos */
public __construct ( variant|null $variant = null )
public GetCurFileName ( ) : string|false
public GetMaxStreamSize ( ) : int
public InitNew ( ) : bool
public LoadFromFile ( string $filename , int $flags = 0 ) : bool
public LoadFromStream ( resource $stream ) : bool
public SaveToFile ( string|null $filename , bool $remember = true ) : bool
public SaveToStream ( resource $stream ) : bool
}

Índice

  • COMPersistHelper::__construct — Construct a COMPersistHelper object
  • COMPersistHelper::GetCurFileName — Get current filename
  • COMPersistHelper::GetMaxStreamSize — Get maximum stream size
  • COMPersistHelper::InitNew — Initialize object to default state
  • COMPersistHelper::LoadFromFile — Load object from file
  • COMPersistHelper::LoadFromStream — Load object from stream
  • COMPersistHelper::SaveToFile — Save object to file
  • COMPersistHelper::SaveToStream — Save object to stream


Construct a COMPersistHelper object

  • « COMPersistHelper
  • COMPersistHelper::GetCurFileName »
  • PHP Manual
  • COMPersistHelper
  • Construct a COMPersistHelper object

COMPersistHelper::__construct

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::__construct — Construct a COMPersistHelper object

Descrição

public COMPersistHelper::__construct ( variant|null $variant = null )

Constructs a persistence helper object, usually associated with a variant.

Parâmetros

variant
A COM object which implements IDispatch. To be able to successfully call any of COMPersistHelper's methods, the object has to implement IPersistFile, IPersistStream and/or IPersistStreamInit. Passing null as variant is only useful if the object is to be loaded from a stream by calling COMPersistHelper::LoadFromStream().


Get current filename

  • « COMPersistHelper::__construct
  • COMPersistHelper::GetMaxStreamSize »
  • PHP Manual
  • COMPersistHelper
  • Get current filename

COMPersistHelper::GetCurFileName

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::GetCurFileName — Get current filename

Descrição

public COMPersistHelper::GetCurFileName ( ) : string|false

Retrieves the current name of the file associated with the object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the current name of the file associated with the object.

Erros

A com_exception is thrown if the associated object does not implement the COM interface IPersistFile, or when calling the IPersistFile::GetCurFile() method failed.


Get maximum stream size

  • « COMPersistHelper::GetCurFileName
  • COMPersistHelper::InitNew »
  • PHP Manual
  • COMPersistHelper
  • Get maximum stream size

COMPersistHelper::GetMaxStreamSize

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::GetMaxStreamSize — Get maximum stream size

Descrição

public COMPersistHelper::GetMaxStreamSize ( ) : int

Retrieves the size of the stream (in bytes) needed to save the object.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the size of the stream (in bytes) needed to save the object.

Erros

A com_exception is thrown if the associated object does neither implement the COM interface IPersistStream nor IPersistStreamInit, or when calling the IPersistStream::GetSizeMax() method failed.


Initialize object to default state

  • « COMPersistHelper::GetMaxStreamSize
  • COMPersistHelper::LoadFromFile »
  • PHP Manual
  • COMPersistHelper
  • Initialize object to default state

COMPersistHelper::InitNew

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::InitNew — Initialize object to default state

Descrição

public COMPersistHelper::InitNew ( ) : bool

Initializes an object to a default state.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

A com_exception is thrown if the associated object does not implement the COM interface IPersistStreamInit, or when calling its IPersistStreamInit::Init() method failed.


Load object from file

  • « COMPersistHelper::InitNew
  • COMPersistHelper::LoadFromStream »
  • PHP Manual
  • COMPersistHelper
  • Load object from file

COMPersistHelper::LoadFromFile

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::LoadFromFile — Load object from file

Descrição

public COMPersistHelper::LoadFromFile ( string $filename , int $flags = 0 ) : bool

Opens the specified file and initializes an object from the file contents.

Parâmetros

filename
The name of the file from which to load the object.
flags
The access mode to be used when opening the file. Possible values are taken from the » STGM enumeration. The method can treat this value as a suggestion, adding more restrictive permissions if necessary. If flags is 0, the implementation is supposed to open the file using whatever default permissions are used when a user opens the file.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

A com_exception is thrown if the associated object does not implement the COM interface IPersistFile, or when calling the IPersistFile::Load() method failed.


Load object from stream

  • « COMPersistHelper::LoadFromFile
  • COMPersistHelper::SaveToFile »
  • PHP Manual
  • COMPersistHelper
  • Load object from stream

COMPersistHelper::LoadFromStream

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::LoadFromStream — Load object from stream

Descrição

public COMPersistHelper::LoadFromStream ( resource $stream ) : bool

Initializes an object from the stream where it was saved previously.

Parâmetros

stream
The stream resource from which to load the object.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

A com_exception is thrown if the associated object does not implement the COM interface IPersistStream, or when calling the IPersistStream::Load() method failed.


Save object to file

  • « COMPersistHelper::LoadFromStream
  • COMPersistHelper::SaveToStream »
  • PHP Manual
  • COMPersistHelper
  • Save object to file

COMPersistHelper::SaveToFile

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::SaveToFile — Save object to file

Descrição

public COMPersistHelper::SaveToFile ( string|null $filename , bool $remember = true ) : bool

Saves a copy of the object to the specified file.

Parâmetros

filename
The name of the file to which to save the object.
remember
Indicates whether the filename parameter is to be used as the current working file. If true, filename becomes the current file and the object is supposed to clear its dirty flag after the save. If false, this save operation is a "Save A Copy As ..." operation. In this case, the current file is unchanged and the object is not supposed to clear its dirty flag.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

A com_exception is thrown if the associated object does not implement the COM interface IPersistFile, or when calling the IPersistFile::Save() method failed.

Exemplos

Exemplo #1 Basic COMPersistHelper::saveToFile() Usage

<?php
$word = new COM('Word.Application');
$doc = $word->Documents->Add();
$ph = new COMPersistHelper($doc);
$ph->SaveToFile('C:\\Users\\cmb\\Documents\\my.docx');
$word->Quit();
?>


Save object to stream

  • « COMPersistHelper::SaveToFile
  • com_exception »
  • PHP Manual
  • COMPersistHelper
  • Save object to stream

COMPersistHelper::SaveToStream

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::SaveToStream — Save object to stream

Descrição

public COMPersistHelper::SaveToStream ( resource $stream ) : bool

Saves an object to the specified stream.

Parâmetros

stream
The stream resource to which to save the object.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

A com_exception is thrown if the associated object does neither implement the COM interface IPersistStream nor IPersistStreamInit, or when calling the IPersistStream::Save() method failed.


The com_exception class

(PHP 5, PHP 7, PHP 8)

Introdução

Sinopse da classe

com_exception extends Exception implements Throwable {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


COM Funções

Veja Também

For further information on COM read the » COM specification. You might find some additional useful information in our FAQ for PHP e COM. If you're thinking of using MS Office applications on the server side, you should read the information here: » Considerations for Server-Side Automation of Office.

Índice

  • com_create_guid — Generate a globally unique identifier (GUID)
  • com_event_sink — Connect events from a COM object to a PHP object
  • com_get_active_object — Returns a handle to an already running instance of a COM object
  • com_load_typelib — Loads a Typelib
  • com_message_pump — Process COM messages, sleeping for up to timeoutms milliseconds
  • com_print_typeinfo — Print out a PHP class definition for a dispatchable interface
  • variant_abs — Returns the absolute value of a variant
  • variant_add — "Adds" two variant values together and returns the result
  • variant_and — Performs a bitwise AND operation between two variants
  • variant_cast — Convert a variant into a new variant object of another type
  • variant_cat — Concatenates two variant values together and returns the result
  • variant_cmp — Compares two variants
  • variant_date_from_timestamp — Returns a variant date representation of a Unix timestamp
  • variant_date_to_timestamp — Converts a variant date/time value to Unix timestamp
  • variant_div — Returns the result from dividing two variants
  • variant_eqv — Performs a bitwise equivalence on two variants
  • variant_fix — Returns the integer portion of a variant
  • variant_get_type — Returns the type of a variant object
  • variant_idiv — Converts variants to integers and then returns the result from dividing them
  • variant_imp — Performs a bitwise implication on two variants
  • variant_int — Returns the integer portion of a variant
  • variant_mod — Divides two variants and returns only the remainder
  • variant_mul — Multiplies the values of the two variants
  • variant_neg — Performs logical negation on a variant
  • variant_not — Performs bitwise not negation on a variant
  • variant_or — Performs a logical disjunction on two variants
  • variant_pow — Returns the result of performing the power function with two variants
  • variant_round — Rounds a variant to the specified number of decimal places
  • variant_set_type — Convert a variant into another type "in-place"
  • variant_set — Assigns a new value for a variant object
  • variant_sub — Subtracts the value of the right variant from the left variant value
  • variant_xor — Performs a logical exclusion on two variants


Generate a globally unique identifier (GUID)

  • « COM Funções
  • com_event_sink »
  • PHP Manual
  • COM Funções
  • Generate a globally unique identifier (GUID)

com_create_guid

(PHP 5, PHP 7, PHP 8)

com_create_guid — Generate a globally unique identifier (GUID)

Descrição

com_create_guid ( ) : string|false

Generates a Globally Unique Identifier (GUID).

A GUID is generated in the same way as DCE UUID's, except that the Microsoft convention is to enclose a GUID in curly braces.

Valor Retornado

Returns the GUID as a string, ou false em caso de falha.

Veja Também

  • uuid_create() in the PECL uuid extension


Connect events from a COM object to a PHP object

  • « com_create_guid
  • com_get_active_object »
  • PHP Manual
  • COM Funções
  • Connect events from a COM object to a PHP object

com_event_sink

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

com_event_sink — Connect events from a COM object to a PHP object

Descrição

com_event_sink ( variant $variant , object $sink_object , array|string|null $sink_interface = null ) : bool

Instructs COM to sink events generated by variant into the PHP object sink_object.

Be careful how you use this feature; if you are doing something similar to the example below, then it doesn't really make sense to run it in a web server context.

Parâmetros

variant

sink_object

sink_object should be an instance of a class with methods named after those of the desired dispinterface; you may use com_print_typeinfo() to help generate a template class for this purpose.

sink_interface

PHP will attempt to use the default dispinterface type specified by the typelibrary associated with variant, but you may override this choice by setting sink_interface to the name of the dispinterface that you want to use.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | sink_interface is nullable now.

Exemplos

Exemplo #1 COM event sink example

<?php
class IEEventSinker {
    var $terminated = false;

   function ProgressChange($progress, $progressmax) {
      echo "Download progress: $progress / $progressmax\n";
    }

    function DocumentComplete(&$dom, $url) {
      echo "Document $url complete\n";
    }

    function OnQuit() {
      echo "Quit!\n";
      $this->terminated = true;
    }
}
$ie = new COM("InternetExplorer.Application");
$sink = new IEEventSinker();
com_event_sink($ie, $sink, "DWebBrowserEvents2");
$ie->Visible = true;
$ie->Navigate("http://www.example.org");
while(!$sink->terminated) {
  com_message_pump(4000);
}
$ie = null;
?>

Notas

Cuidado

Prior to PHP 8.0.0, calling exit() from any of the event handlers is not supported, and may cause PHP to hang. This can be worked around by throwing an exception from the event handler, catching the exception in the main code, and calling exit() from there.

Veja Também

  • com_print_typeinfo() - Print out a PHP class definition for a dispatchable interface
  • com_message_pump() - Process COM messages, sleeping for up to timeoutms milliseconds


Returns a handle to an already running instance of a COM object

  • « com_event_sink
  • com_load_typelib »
  • PHP Manual
  • COM Funções
  • Returns a handle to an already running instance of a COM object

com_get_active_object

(PHP 5, PHP 7, PHP 8)

com_get_active_object — Returns a handle to an already running instance of a COM object

Descrição

com_get_active_object ( string $prog_id , int|null $codepage = null ) : variant

com_get_active_object() is similar to creating a new instance of a com object, except that it will only return an object to your script if the object is already running. OLE applications use something known as the "Running Object Table" to allow well-known applications to be launched only once; this function exposes the COM library function GetActiveObject() to get a handle on a running instance.

Parâmetros

prog_id

prog_id must be either the ProgID or CLSID for the object that you want to access (for example Word.Application).

codepage

Acts in precisely the same way that it does for the com class.

Valor Retornado

If the requested object is running, it will be returned to your script just like any other COM object.

Erros

There are a variety of reasons why this function might fail, the most common being that the object is not already running. In that situation, the exception error code will be MK_E_UNAVAILABLE; you can use the getCode method of the exception object to check the exception code.

Changelog

Versão | Descrição
8.0.0 | codepage is nullable now.

Notas

Aviso

Using com_get_active_object() in a web server context is not always a smart idea. Most COM/OLE applications are not designed to handle more than one client concurrently, even (or especially!) Microsoft Office. You should read » Considerations for Server-Side Automation of Office for more information on the general issues involved.


Loads a Typelib

  • « com_get_active_object
  • com_message_pump »
  • PHP Manual
  • COM Funções
  • Loads a Typelib

com_load_typelib

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

com_load_typelib — Loads a Typelib

Descrição

com_load_typelib ( string $typelib , bool $case_insensitive = true ) : bool

Loads a type-library and registers its constants in the engine, as though they were defined using define().

Note that it is much more efficient to use the configuration setting to pre-load and register the constants, although not so flexible.

If you have turned on , then PHP will attempt to automatically register the constants associated with a COM object when you instantiate it. This depends on the interfaces provided by the COM object itself, and may not always be possible.

Parâmetros

typelib

typelib can be one of the following:

  • The filename of a .tlb file or the executable module that contains the type library.

  • The type library GUID, followed by its version number, for example {00000200-0000-0010-8000-00AA006D2EA4},2,0.

  • The type library name, e.g. Microsoft OLE DB ActiveX Data Objects 1.0 Library.

PHP will attempt to resolve the type library in this order, as the process gets more and more expensive as you progress down the list; searching for the type library by name is handled by physically enumerating the registry until we find a match.

case_insensitive

The case_insensitive behaves inversely to the parameter $case_insensitive in the define() function.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Process COM messages, sleeping for up to timeoutms milliseconds

  • « com_load_typelib
  • com_print_typeinfo »
  • PHP Manual
  • COM Funções
  • Process COM messages, sleeping for up to timeoutms milliseconds

com_message_pump

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

com_message_pump — Process COM messages, sleeping for up to timeoutms milliseconds

Descrição

com_message_pump ( int $timeout_milliseconds = 0 ) : bool

This function will sleep for up to timeout_milliseconds milliseconds, or until a message arrives in the queue.

The purpose of this function is to route COM calls between apartments and handle various synchronization issues. This allows your script to wait efficiently for events to be triggered, while still handling other events or running other code in the background. You should use it in a loop, as demonstrated by the example in the com_event_sink() function, until you are finished using event bound COM objects.

Parâmetros

timeout_milliseconds

The timeout, in milliseconds.

If you do not specify a value for timeout_milliseconds, then 0 will be assumed. A 0 value means that no waiting will be performed; if there are messages pending they will be dispatched as before; if there are no messages pending, the function will return false immediately without sleeping.

Valor Retornado

If a message or messages arrives before the timeout, they will be dispatched, and the function will return true. If the timeout occurs and no messages were processed, the return value will be false.


Print out a PHP class definition for a dispatchable interface

  • « com_message_pump
  • variant_abs »
  • PHP Manual
  • COM Funções
  • Print out a PHP class definition for a dispatchable interface

com_print_typeinfo

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

com_print_typeinfo — Print out a PHP class definition for a dispatchable interface

Descrição

com_print_typeinfo ( variant|string $variant , string|null $dispatch_interface = null , bool $display_sink = false ) : bool

The purpose of this function is to help generate a skeleton class for use as an event sink. You may also use it to generate a dump of any COM object, provided that it supports enough of the introspection interfaces, and that you know the name of the interface you want to display.

Parâmetros

variant

variant should be either an instance of a COM object, or be the name of a typelibrary (which will be resolved according to the rules set out in com_load_typelib()).

dispatch_interface

The name of an IDispatch descendant interface that you want to display.

display_sink

If set to true, the corresponding sink interface will be displayed instead.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • com_event_sink() - Connect events from a COM object to a PHP object
  • com_load_typelib() - Loads a Typelib


Returns the absolute value of a variant

  • « com_print_typeinfo
  • variant_add »
  • PHP Manual
  • COM Funções
  • Returns the absolute value of a variant

variant_abs

(PHP 5, PHP 7, PHP 8)

variant_abs — Returns the absolute value of a variant

Descrição

variant_abs ( mixed $value ) : variant

Returns the absolute value of a variant.

Parâmetros

value

The variant.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Returns the absolute value of value.

Erros

Throws a com_exception on failure.

Veja Também

  • abs() - Valor absoluto


"Adds" two variant values together and returns the result

  • « variant_abs
  • variant_and »
  • PHP Manual
  • COM Funções
  • "Adds" two variant values together and returns the result

variant_add

(PHP 5, PHP 7, PHP 8)

variant_add — "Adds" two variant values together and returns the result

Descrição

variant_add ( mixed $left , mixed $right ) : variant

Adds left to right using the following rules (taken from the MSDN library), which correspond to those of Visual Basic:

Variant Addition Rules
If | Then
Both expressions are of the string type | Concatenation
One expression is a string type and the other a character | Addition
One expression is numeric and the other is a string | Addition
Both expressions are numeric | Addition
Either expression is NULL | NULL is returned
Both expressions are empty | Integer subtype is returned

Parâmetros

left

The left operand.

right

The right operand.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Returns the result.

Erros

Throws a com_exception on failure.

Veja Também

  • variant_sub() - Subtracts the value of the right variant from the left variant value


Performs a bitwise AND operation between two variants

  • « variant_add
  • variant_cast »
  • PHP Manual
  • COM Funções
  • Performs a bitwise AND operation between two variants

variant_and

(PHP 5, PHP 7, PHP 8)

variant_and — Performs a bitwise AND operation between two variants

Descrição

variant_and ( mixed $left , mixed $right ) : variant

Performs a bitwise AND operation. Note that this is slightly different from a regular AND operation.

Parâmetros

left

The left operand.

right

The right operand.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Variant AND Rules
If left is | If right is | then the result is
true | true | true
true | false | false
true | null | null
false | true | false
false | false | false
false | null | false
null | true | null
null | false | false
null | null | null

Erros

Throws a com_exception on failure.

Veja Também

  • variant_or() - Performs a logical disjunction on two variants


Convert a variant into a new variant object of another type

  • « variant_and
  • variant_cat »
  • PHP Manual
  • COM Funções
  • Convert a variant into a new variant object of another type

variant_cast

(PHP 5, PHP 7, PHP 8)

variant_cast — Convert a variant into a new variant object of another type

Descrição

variant_cast ( variant $variant , int $type ) : variant

This function makes a copy of variant and then performs a variant cast operation to force the copy to have the type given by type.

This function wraps VariantChangeType() in the COM library; consult MSDN for more information.

Parâmetros

variant

The variant.

type

type should be one of the VT_XXX constants.

Valor Retornado

Returns a variant of given type.

Veja Também

  • variant_set_type() - Convert a variant into another type "in-place"


Concatenates two variant values together and returns the result

  • « variant_cast
  • variant_cmp »
  • PHP Manual
  • COM Funções
  • Concatenates two variant values together and returns the result

variant_cat

(PHP 5, PHP 7, PHP 8)

variant_cat — Concatenates two variant values together and returns the result

Descrição

variant_cat ( mixed $left , mixed $right ) : variant

Concatenates left with right and returns the result.

This function is notionally equivalent to $left . $right.

Parâmetros

left

The left operand.

right

The right operand.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Returns the result of the concatenation.

Erros

Throws a com_exception on failure.

Veja Também

  • Operadores de String for the string concatenation operator


Compares two variants

  • « variant_cat
  • variant_date_from_timestamp »
  • PHP Manual
  • COM Funções
  • Compares two variants

variant_cmp

(PHP 5, PHP 7, PHP 8)

variant_cmp — Compares two variants

Descrição

variant_cmp ( mixed $left , mixed $right , int $locale_id = LOCALE_SYSTEM_DEFAULT , int $flags = 0 ) : int

Compares left with right.

This function will only compare scalar values, not arrays or variant records.

Parâmetros

left

The left operand.

right

The right operand.

locale_id

A valid Locale Identifier to use when comparing strings (this affects string collation).

flags

flags can be one or more of the following values OR'd together, and affects string comparisons:

Variant Comparision Flags
value | meaning
NORM_IGNORECASE | Compare case insensitively
NORM_IGNORENONSPACE | Ignore nonspacing characters
NORM_IGNORESYMBOLS | Ignore symbols
NORM_IGNOREWIDTH | Ignore string width
NORM_IGNOREKANATYPE | Ignore Kana type
NORM_IGNOREKASHIDA | Ignore Arabic kashida characters

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Returns one of the following:

Variant Comparision Results
value | meaning
VARCMP_LT | left is less than right
VARCMP_EQ | left is equal to right
VARCMP_GT | left is greater than right
VARCMP_NULL | Either left, right or both are null


Returns a variant date representation of a Unix timestamp

  • « variant_cmp
  • variant_date_to_timestamp »
  • PHP Manual
  • COM Funções
  • Returns a variant date representation of a Unix timestamp

variant_date_from_timestamp

(PHP 5, PHP 7, PHP 8)

variant_date_from_timestamp — Returns a variant date representation of a Unix timestamp

Descrição

variant_date_from_timestamp ( int $timestamp ) : variant

Converts timestamp from a unix timestamp value into a variant of type VT_DATE. This allows easier interopability between the unix-ish parts of PHP and COM.

Parâmetros

timestamp

A unix timestamp.

Valor Retornado

Returns a VT_DATE variant.

Veja Também

  • variant_date_to_timestamp() - Converts a variant date/time value to Unix timestamp
  • mktime() - Obtém um timestamp Unix de uma data
  • time() - Retorna o timestamp Unix atual


Converts a variant date/time value to Unix timestamp

  • « variant_date_from_timestamp
  • variant_div »
  • PHP Manual
  • COM Funções
  • Converts a variant date/time value to Unix timestamp

variant_date_to_timestamp

(PHP 5, PHP 7, PHP 8)

variant_date_to_timestamp — Converts a variant date/time value to Unix timestamp

Descrição

variant_date_to_timestamp ( variant $variant ) : int|null

Converts variant from a VT_DATE (or similar) value into a Unix timestamp. This allows easier interopability between the Unix-ish parts of PHP and COM.

Parâmetros

variant

The variant.

Valor Retornado

Returns a unix timestamp, or null on failure.

Veja Também

  • variant_date_from_timestamp() - Returns a variant date representation of a Unix timestamp
  • date() - Formata a data e a hora local
  • strftime() - Formata uma hora/data de acordo com as configurações locais


Returns the result from dividing two variants

  • « variant_date_to_timestamp
  • variant_eqv »
  • PHP Manual
  • COM Funções
  • Returns the result from dividing two variants

variant_div

(PHP 5, PHP 7, PHP 8)

variant_div — Returns the result from dividing two variants

Descrição

variant_div ( mixed $left , mixed $right ) : variant

Divides left by right and returns the result.

Parâmetros

left

The left operand.

right

The right operand.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Variant Division Rules
If | Then
Both expressions are of the string, date, character, boolean type | Double is returned
One expression is a string type and the other a character | Division and a double is returned
One expression is numeric and the other is a string | Division and a double is returned.
Both expressions are numeric | Division and a double is returned
Either expression is NULL | NULL is returned
right is empty and left is anything but empty | A com_exception with code DISP_E_DIVBYZERO is thrown
left is empty and right is anything but empty. | 0 as type double is returned
Both expressions are empty | A com_exception with code DISP_E_OVERFLOW is thrown

Erros

Throws a com_exception on failure.

Veja Também

  • variant_idiv() - Converts variants to integers and then returns the result from dividing them


Performs a bitwise equivalence on two variants

  • « variant_div
  • variant_fix »
  • PHP Manual
  • COM Funções
  • Performs a bitwise equivalence on two variants

variant_eqv

(PHP 5, PHP 7, PHP 8)

variant_eqv — Performs a bitwise equivalence on two variants

Descrição

variant_eqv ( mixed $left , mixed $right ) : variant

Performs a bitwise equivalence on two variants.

Parâmetros

left

The left operand.

right

The right operand.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

If each bit in left is equal to the corresponding bit in right then true is returned, otherwise false is returned.

Erros

Throws a com_exception on failure.


Returns the integer portion of a variant

  • « variant_eqv
  • variant_get_type »
  • PHP Manual
  • COM Funções
  • Returns the integer portion of a variant

variant_fix

(PHP 5, PHP 7, PHP 8)

variant_fix — Returns the integer portion of a variant

Descrição

variant_fix ( mixed $value ) : variant

Gets the integer portion of a variant.

Parâmetros

value

The variant.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

If value is negative, then the first negative integer greater than or equal to the variant is returned, otherwise returns the integer portion of the value of value.

Erros

Throws a com_exception on failure.

Notas

Aviso

This documentation is based on the MSDN documentation; it appears that this function is either the same as variant_int(), or that there is an error in the MSDN documentation.

Veja Também

  • variant_int() - Returns the integer portion of a variant
  • variant_round() - Rounds a variant to the specified number of decimal places
  • floor() - Arredonda frações para baixo
  • ceil() - Arredonda frações para cima
  • round() - Arredonda um número


Returns the type of a variant object

  • « variant_fix
  • variant_idiv »
  • PHP Manual
  • COM Funções
  • Returns the type of a variant object

variant_get_type

(PHP 5, PHP 7, PHP 8)

variant_get_type — Returns the type of a variant object

Descrição

variant_get_type ( variant $variant ) : int

Returns the type of a variant object.

Parâmetros

variant

The variant object.

Valor Retornado

This function returns an integer value that indicates the type of variant, which can be an instance of com, dotnet or variant classes. The return value can be compared to one of the VT_XXX constants.

The return value for COM and DOTNET objects will usually be VT_DISPATCH; the only reason this function works for those classes is because COM and DOTNET are descendants of VARIANT.

Veja Também

  • variant_set_type() - Convert a variant into another type "in-place"


Converts variants to integers and then returns the result from dividing them

  • « variant_get_type
  • variant_imp »
  • PHP Manual
  • COM Funções
  • Converts variants to integers and then returns the result from dividing them

variant_idiv

(PHP 5, PHP 7, PHP 8)

variant_idiv — Converts variants to integers and then returns the result from dividing them

Descrição

variant_idiv ( mixed $left , mixed $right ) : variant

Converts left and right to integer values, and then performs integer division.

Parâmetros

left

The left operand.

right

The right operand.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Variant Integer Division Rules
If | Then
Both expressions are of the string, date, character, boolean type | Division and integer is returned
One expression is a string type and the other a character | Division
One expression is numeric and the other is a string | Division
Both expressions are numeric | Division
Either expression is NULL | NULL is returned
Both expressions are empty | A com_exception with code DISP_E_DIVBYZERO is thrown

Erros

Throws a com_exception on failure.

Veja Também

  • variant_div() - Returns the result from dividing two variants


Performs a bitwise implication on two variants

  • « variant_idiv
  • variant_int »
  • PHP Manual
  • COM Funções
  • Performs a bitwise implication on two variants

variant_imp

(PHP 5, PHP 7, PHP 8)

variant_imp — Performs a bitwise implication on two variants

Descrição

variant_imp ( mixed $left , mixed $right ) : variant

Performs a bitwise implication operation.

Parâmetros

left

The left operand.

right

The right operand.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Variant Implication Table
If left is | If right is | then the result is
true | true | true
true | false | false
true | null | true
false | true | true
false | false | true
false | null | true
null | true | true
null | false | null
null | null | null

Erros

Throws a com_exception on failure.


Returns the integer portion of a variant

  • « variant_imp
  • variant_mod »
  • PHP Manual
  • COM Funções
  • Returns the integer portion of a variant

variant_int

(PHP 5, PHP 7, PHP 8)

variant_int — Returns the integer portion of a variant

Descrição

variant_int ( mixed $value ) : variant

Gets the integer portion of a variant.

Parâmetros

value

The variant.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

If value is negative, then the first negative integer greater than or equal to the variant is returned, otherwise returns the integer portion of the value of value.

Erros

Throws a com_exception on failure.

Veja Também

  • variant_fix() - Returns the integer portion of a variant
  • variant_round() - Rounds a variant to the specified number of decimal places
  • floor() - Arredonda frações para baixo
  • ceil() - Arredonda frações para cima
  • round() - Arredonda um número


Divides two variants and returns only the remainder

  • « variant_int
  • variant_mul »
  • PHP Manual
  • COM Funções
  • Divides two variants and returns only the remainder

variant_mod

(PHP 5, PHP 7, PHP 8)

variant_mod — Divides two variants and returns only the remainder

Descrição

variant_mod ( mixed $left , mixed $right ) : variant

Divides left by right and returns the remainder.

Parâmetros

left

The left operand.

right

The right operand.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Returns the remainder of the division.

Erros

Throws a com_exception on failure.

Veja Também

  • variant_div() - Returns the result from dividing two variants
  • variant_idiv() - Converts variants to integers and then returns the result from dividing them


Multiplies the values of the two variants

  • « variant_mod
  • variant_neg »
  • PHP Manual
  • COM Funções
  • Multiplies the values of the two variants

variant_mul

(PHP 5, PHP 7, PHP 8)

variant_mul — Multiplies the values of the two variants

Descrição

variant_mul ( mixed $left , mixed $right ) : variant

Multiplies left by right.

Parâmetros

left

The left operand.

right

The right operand.

Boolean values are converted to -1 for false and 0 for true.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Variant Multiplication Rules
If | Then
Both expressions are of the string, date, character, boolean type | Multiplication
One expression is a string type and the other a character | Multiplication
One expression is numeric and the other is a string | Multiplication
Both expressions are numeric | Multiplication
Either expression is NULL | NULL is returned
Both expressions are empty | Empty string is returned

Erros

Throws a com_exception on failure.

Veja Também

  • variant_div() - Returns the result from dividing two variants
  • variant_idiv() - Converts variants to integers and then returns the result from dividing them


Performs logical negation on a variant

  • « variant_mul
  • variant_not »
  • PHP Manual
  • COM Funções
  • Performs logical negation on a variant

variant_neg

(PHP 5, PHP 7, PHP 8)

variant_neg — Performs logical negation on a variant

Descrição

variant_neg ( mixed $value ) : variant

Performs logical negation of value.

Parâmetros

value

The variant.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Returns the result of the logical negation.

Erros

Throws a com_exception on failure.


Performs bitwise not negation on a variant

  • « variant_neg
  • variant_or »
  • PHP Manual
  • COM Funções
  • Performs bitwise not negation on a variant

variant_not

(PHP 5, PHP 7, PHP 8)

variant_not — Performs bitwise not negation on a variant

Descrição

variant_not ( mixed $value ) : variant

Performs bitwise not negation on value and returns the result.

Parâmetros

value

The variant.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Returns the bitwise not negation. If value is null, the result will also be null.

Erros

Throws a com_exception on failure.


Performs a logical disjunction on two variants

  • « variant_not
  • variant_pow »
  • PHP Manual
  • COM Funções
  • Performs a logical disjunction on two variants

variant_or

(PHP 5, PHP 7, PHP 8)

variant_or — Performs a logical disjunction on two variants

Descrição

variant_or ( mixed $left , mixed $right ) : variant

Performs a bitwise OR operation. Note that this is slightly different from a regular OR operation.

Parâmetros

left

The left operand.

right

The right operand.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Variant OR Rules
If left is | If right is | then the result is
true | true | true
true | false | true
true | null | true
false | true | true
false | false | false
false | null | null
null | true | true
null | false | null
null | null | null

Erros

Throws a com_exception on failure.

Veja Também

  • variant_and() - Performs a bitwise AND operation between two variants
  • variant_xor() - Performs a logical exclusion on two variants


Returns the result of performing the power function with two variants

  • « variant_or
  • variant_round »
  • PHP Manual
  • COM Funções
  • Returns the result of performing the power function with two variants

variant_pow

(PHP 5, PHP 7, PHP 8)

variant_pow — Returns the result of performing the power function with two variants

Descrição

variant_pow ( mixed $left , mixed $right ) : variant

Returns the result of left to the power of right.

Parâmetros

left

The left operand.

right

The right operand.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Returns the result of left to the power of right.

Erros

Throws a com_exception on failure.

Veja Também

  • pow() - Potência


Rounds a variant to the specified number of decimal places

  • « variant_pow
  • variant_set_type »
  • PHP Manual
  • COM Funções
  • Rounds a variant to the specified number of decimal places

variant_round

(PHP 5, PHP 7, PHP 8)

variant_round — Rounds a variant to the specified number of decimal places

Descrição

variant_round ( mixed $value , int $decimals ) : variant|null

Returns the value of value rounded to decimals decimal places.

Parâmetros

value

The variant.

decimals

Number of decimal places.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Returns the rounded value, or null on failure.

Veja Também

  • round() - Arredonda um número


Convert a variant into another type "in-place"

  • « variant_round
  • variant_set »
  • PHP Manual
  • COM Funções
  • Convert a variant into another type "in-place"

variant_set_type

(PHP 5, PHP 7, PHP 8)

variant_set_type — Convert a variant into another type "in-place"

Descrição

variant_set_type ( variant $variant , int $type ) : void

This function is similar to variant_cast() except that the variant is modified "in-place"; no new variant is created. The parameters for this function have identical meaning to those of variant_cast().

Parâmetros

variant

The variant.

type

Valor Retornado

Não há valor retornado.

Veja Também

  • variant_cast() - Convert a variant into a new variant object of another type
  • variant_get_type() - Returns the type of a variant object


Assigns a new value for a variant object

  • « variant_set_type
  • variant_sub »
  • PHP Manual
  • COM Funções
  • Assigns a new value for a variant object

variant_set

(PHP 5, PHP 7, PHP 8)

variant_set — Assigns a new value for a variant object

Descrição

variant_set ( variant $variant , mixed $value ) : void

Converts value to a variant and assigns it to the variant object; no new variant object is created, and the old value of variant is freed/released.

Parâmetros

variant

The variant.

value

Valor Retornado

Não há valor retornado.


Subtracts the value of the right variant from the left variant value

  • « variant_set
  • variant_xor »
  • PHP Manual
  • COM Funções
  • Subtracts the value of the right variant from the left variant value

variant_sub

(PHP 5, PHP 7, PHP 8)

variant_sub — Subtracts the value of the right variant from the left variant value

Descrição

variant_sub ( mixed $left , mixed $right ) : variant

Subtracts right from left.

Parâmetros

left

The left operand.

right

The right operand.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Variant Subtraction Rules
If | Then
Both expressions are of the string type | Subtraction
One expression is a string type and the other a character | Subtraction
One expression is numeric and the other is a string | Subtraction.
Both expressions are numeric | Subtraction
Either expression is NULL | NULL is returned
Both expressions are empty | Empty string is returned

Erros

Throws a com_exception on failure.

Veja Também

  • variant_add() - "Adds" two variant values together and returns the result


Performs a logical exclusion on two variants

  • « variant_sub
  • win32service »
  • PHP Manual
  • COM Funções
  • Performs a logical exclusion on two variants

variant_xor

(PHP 5, PHP 7, PHP 8)

variant_xor — Performs a logical exclusion on two variants

Descrição

variant_xor ( mixed $left , mixed $right ) : variant

Performs a logical exclusion.

Parâmetros

left

The left operand.

right

The right operand.

Nota:

Assim como todas as funções aritméticas, os parâmetros para esta função podem ser qualquer um tipo nativo do PHP (integer, string, ponto flutuante, booleano ou null), ou uma instancia de uma classe COM, VARIANT ou DOTNET. Tipos nativos do PHP serão convertidos para variants usando as mesmas regras como mencionadas no construtor da classe variant. Objetos COM e DOTNET terão o valor de suas propriedades padrão obtidos e usados como um valor variant.

As funções aritméticas variant são wrappers para funções chamadas similarmente na biblioteca COM; para mais informação sobre estas funções, consulte o MSDN. As funções PHP são nomeadas ligeiramente diferentes; por exemplo variant_add() no PHP corresponde à VarAdd() na documentação MSDN.

Valor Retornado

Variant XOR Rules
If left is | If right is | then the result is
true | true | false
true | false | true
false | true | true
false | false | false
null | null | null

Erros

Throws a com_exception on failure.

Veja Também

  • variant_or() - Performs a logical disjunction on two variants
  • variant_and() - Performs a bitwise AND operation between two variants


win32service

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
    • Security consideration
  • Constantes pré-definidas
    • Win32Service Service Type Bitmasks
    • Win32Service Service Status Constants
    • Win32Service Service Control Message Constants
    • Win32Service Service Control Message Accepted Bitmasks
    • Win32Service Service Start Type Constants
    • Win32Service Service Error Control Constants
    • Win32Service Service Flag Constants
    • Win32 Error Codes
    • Win32 Base Priority Classes
    • Win32 Recovery action
    • Win32 Service informations
  • Win32ServiceException — The Win32ServiceException class
  • Exemplos
  • win32service Funções
    • win32_continue_service — Resumes a paused service
    • win32_create_service — Creates a new service entry in the SCM database
    • win32_delete_service — Deletes a service entry from the SCM database
    • win32_get_last_control_message — Returns the last control message that was sent to this service
    • win32_pause_service — Pauses a service
    • win32_query_service_status — Queries the status of a service
    • win32_send_custom_control — Send a custom control to the service
    • win32_set_service_exit_code — Define or return the exit code for the current running service
    • win32_set_service_exit_mode — Define or return the exit mode for the current running service
    • win32_set_service_status — Update the service status
    • win32_start_service_ctrl_dispatcher — Registers the script with the SCM, so that it can act as the service with the given name
    • win32_start_service — Starts a service
    • win32_stop_service — Stops a service


Introdução

The win32service extension is a Windows specific extension that allows PHP to communicate with the Service Control Manager to start, stop, register and unregister services, and even allows your PHP scripts to run as a service.


Instalação/Configuração

Índice

  • Dependências
  • Instalação
  • Configurações em Execução
  • Tipos de Recurso
  • Security consideration


Dependências

The versions of Windows supported are the same as the Visual C++ redistributable package used to build PHP.


Instalação

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/win32service


  • « Configurações em Execução
  • Security consideration »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão não tem recursos definidos.


Security consideration

This extension needs administrator privileges for some actions such as create, delete, start, stop, pause and continue. This requirement can cause an elevation of privileges if the service control is available from the web interface or remote control.

You can set the ACL on the service after adding it into SCM to delegate the current administration tasks to an non administrator account or service account. For further instructions, see the » Microsoft Knowledge Base.


Constantes pré-definidas

Índice

  • Win32Service Service Type Bitmasks
  • Win32Service Service Status Constants
  • Win32Service Service Control Message Constants
  • Win32Service Service Control Message Accepted Bitmasks
  • Win32Service Service Start Type Constants
  • Win32Service Service Error Control Constants
  • Win32Service Service Flag Constants
  • Win32 Error Codes
  • Win32 Base Priority Classes
  • Win32 Recovery action
  • Win32 Service informations

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.


Win32Service Service Type Bitmasks

  • « Constantes pré-definidas
  • Win32Service Service Status Constants »
  • PHP Manual
  • Constantes pré-definidas
  • Win32Service Service Type Bitmasks
Win32Service Service Type Bitmasks
Constant | Value | Description
WIN32_SERVICE_WIN32_OWN_PROCESS | 0x00000010 | The service runs in its own process.
WIN32_SERVICE_INTERACTIVE_PROCESS | 0x00000100 | The service can interact with the desktop. This option is not available on Windows Vista or later.
WIN32_SERVICE_WIN32_OWN_PROCESS_INTERACTIVE | 0x00000110 | The service runs in its own process and can interact with the desktop. This option is not available on Windows Vista or later.


Win32Service Service Status Constants

  • « Win32Service Service Type Bitmasks
  • Win32Service Service Control Message Constants »
  • PHP Manual
  • Constantes pré-definidas
  • Win32Service Service Status Constants
Win32Service Service Status Constants
Constant | Value | Description
WIN32_SERVICE_CONTINUE_PENDING | 0x00000005 | The service continue is pending.
WIN32_SERVICE_PAUSE_PENDING | 0x00000006 | The service pause is pending.
WIN32_SERVICE_PAUSED | 0x00000007 | The service is paused.
WIN32_SERVICE_RUNNING | 0x00000004 | The service is running.
WIN32_SERVICE_START_PENDING | 0x00000002 | The service is starting.
WIN32_SERVICE_STOP_PENDING | 0x00000003 | The service is stopping.
WIN32_SERVICE_STOPPED | 0x00000001 | The service is not running.


Win32Service Service Control Message Constants

  • « Win32Service Service Status Constants
  • Win32Service Service Control Message Accepted Bitmasks »
  • PHP Manual
  • Constantes pré-definidas
  • Win32Service Service Control Message Constants
Win32Service Service Control Message Constants
Constant | Value | Description
WIN32_SERVICE_CONTROL_CONTINUE | 0x00000003 | Notifies a paused service that it should resume.
WIN32_SERVICE_CONTROL_DEVICEEVENT | 0x0000000B |
WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE | 0x0000000C |
WIN32_SERVICE_CONTROL_INTERROGATE | 0x00000004 | Notifies a service that it should report its current status information to the service control manager.
WIN32_SERVICE_CONTROL_NETBINDADD | 0x00000007 | Notifies a network service that there is a new component for binding.
WIN32_SERVICE_CONTROL_NETBINDDISABLE | 0x0000000A | Notifies a network service that one of its bindings has been disabled.
WIN32_SERVICE_CONTROL_NETBINDENABLE | 0x00000009 | Notifies a network service that a disabled binding has been enabled.
WIN32_SERVICE_CONTROL_NETBINDREMOVE | 0x00000008 | Notifies a network service that a component for binding has been removed.
WIN32_SERVICE_CONTROL_PARAMCHANGE | 0x00000006 | Notifies a service that its startup parameters have changed.
WIN32_SERVICE_CONTROL_PAUSE | 0x00000002 | Notifies a service that it should pause.
WIN32_SERVICE_CONTROL_POWEREVENT | 0x0000000D |
WIN32_SERVICE_CONTROL_PRESHUTDOWN | 0x0000000F | Notifies a service that the system will be shutting down. A service that handles this notification blocks system shutdown until the service stops or the preshutdown time-out interval expires. This value is not supported by Windows Server 2003 and Windows XP/2000.
WIN32_SERVICE_CONTROL_SESSIONCHANGE | 0x0000000E |
WIN32_SERVICE_CONTROL_SHUTDOWN | 0x00000005 | Notifies a service that the system is shutting down so the service can perform cleanup tasks. If a service accepts this control code, it must stop after it performs its cleanup tasks. After the SCM sends this control code, it will not send other control codes to the service.
WIN32_SERVICE_CONTROL_STOP | 0x00000001 | Notifies a service that it should stop.


Win32Service Service Control Message Accepted Bitmasks

  • « Win32Service Service Control Message Constants
  • Win32Service Service Start Type Constants »
  • PHP Manual
  • Constantes pré-definidas
  • Win32Service Service Control Message Accepted Bitmasks
Win32Service Service Control Message Accepted Bitmasks
Constant | Value | Description
WIN32_SERVICE_ACCEPT_HARDWAREPROFILECHANGE | 0x00000020 | The service is notified when the computer's hardware profile has changed. This enables the system to send WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE notifications to the service.
WIN32_SERVICE_ACCEPT_NETBINDCHANGE | 0x00000010 | The service is a network component that can accept changes in its binding without being stopped and restarted. This control code allows the service to receive WIN32_SERVICE_CONTROL_NETBINDADD, WIN32_SERVICE_CONTROL_NETBINDREMOVE, WIN32_SERVICE_CONTROL_NETBINDENABLE, and WIN32_SERVICE_CONTROL_NETBINDDISABLE notifications.
WIN32_SERVICE_ACCEPT_PARAMCHANGE | 0x00000008 | The service can reread its startup parameters without being stopped and restarted. This control code allows the service to receive WIN32_SERVICE_CONTROL_PARAMCHANGE notifications.
WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE | 0x00000002 | The service can be paused and continued. This control code allows the service to receive WIN32_SERVICE_CONTROL_PAUSE and WIN32_SERVICE_CONTROL_CONTINUE notifications.
WIN32_SERVICE_ACCEPT_POWEREVENT | 0x00000040 | The service is notified when the computer's power status has changed. This enables the system to send WIN32_SERVICE_CONTROL_POWEREVENT notifications to the service.
WIN32_SERVICE_ACCEPT_PRESHUTDOWN | 0x00000100 | The service can perform preshutdown tasks. This control code enables the service to receive WIN32_SERVICE_CONTROL_PRESHUTDOWN notifications. This value is not supported by Windows Server 2003 and Windows XP/2000.
WIN32_SERVICE_ACCEPT_SESSIONCHANGE | 0x00000080 | The service is notified when the computer's session status has changed. This enables the system to send WIN32_SERVICE_CONTROL_SESSIONCHANGE notifications to the service. Windows 2000: This value is not supported
WIN32_SERVICE_ACCEPT_SHUTDOWN | 0x00000004 | The service is notified when system shutdown occurs. This control code allows the service to receive WIN32_SERVICE_CONTROL_SHUTDOWN notifications.
WIN32_SERVICE_ACCEPT_STOP | 0x00000001 | The service can be stopped. This control code allows the service to receive WIN32_SERVICE_CONTROL_STOP notifications.
WIN32_SERVICE_ACCEPT_TIMECHANGE | 0x00000200 | The service is notified when the system time has changed. This enables the system to send WIN32_SERVICE_CONTROL_TIMECHANGE notifications to the service. Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP/2000: This control code is not supported.
WIN32_SERVICE_ACCEPT_TRIGGEREVENT | 0x00000400 | The service is notified when an event for which the service has registered occurs. This enables the system to send WIN32_SERVICE_CONTROL_TRIGGEREVENT notifications to the service. Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP/2000: This control code is not supported.


Win32Service Service Start Type Constants

  • « Win32Service Service Control Message Accepted Bitmasks
  • Win32Service Service Error Control Constants »
  • PHP Manual
  • Constantes pré-definidas
  • Win32Service Service Start Type Constants
Win32Service Service Start Type Constants
Constant | Value | Description
WIN32_SERVICE_BOOT_START | 0x00000000 | A device driver started by the system loader. This value is valid only for driver services.
WIN32_SERVICE_SYSTEM_START | 0x00000001 | A device driver started by the IoInitSystem function. This value is valid only for driver services.
WIN32_SERVICE_AUTO_START | 0x00000002 | A service started automatically by the service control manager during system startup.
WIN32_SERVICE_DEMAND_START | 0x00000003 | A service started by the service control manager when a process calls the StartService function.
WIN32_SERVICE_DISABLED | 0x00000004 | A service that cannot be started. Attempts to start the service result in the error code WIN32_ERROR_SERVICE_DISABLED.


Win32Service Service Error Control Constants

  • « Win32Service Service Start Type Constants
  • Win32Service Service Flag Constants »
  • PHP Manual
  • Constantes pré-definidas
  • Win32Service Service Error Control Constants
Win32Service Service Error Control Constants
Constant | Value | Description
WIN32_SERVICE_ERROR_IGNORE | 0x00000000 | The startup program ignores the error and continues the startup operation.
WIN32_SERVICE_ERROR_NORMAL | 0x00000001 | The startup program logs the error in the event log but continues the startup operation.
WIN32_SERVICE_ERROR_SEVERE | 0x00000002 | The startup program logs the error in the event log. If the last-known-good configuration is being started, the startup operation continues. Otherwise, the system is restarted with the last-known-good configuration.
WIN32_SERVICE_ERROR_CRITICAL | 0x00000003 | The startup program logs the error in the event log, if possible. If the last-known-good configuration is being started, the startup operation fails. Otherwise, the system is restarted with the last-known good configuration.


Win32Service Service Flag Constants

  • « Win32Service Service Error Control Constants
  • Win32 Error Codes »
  • PHP Manual
  • Constantes pré-definidas
  • Win32Service Service Flag Constants
Win32Service Service Flag Constants
Constant | Value | Description
WIN32_SERVICE_RUNS_IN_SYSTEM_PROCESS | 0x00000001 | The service runs in a system process that must always be running.


Win32 Error Codes

  • « Win32Service Service Flag Constants
  • Win32 Base Priority Classes »
  • PHP Manual
  • Constantes pré-definidas
  • Win32 Error Codes

Nota:

These constants are no longer in use as of Win32Service 1.0.0.

Win32 Error Codes
Constant | Value | Description
WIN32_ERROR_ACCESS_DENIED | 0x00000005 | The handle to the SCM database does not have the appropriate access rights.
WIN32_ERROR_CIRCULAR_DEPENDENCY | 0x00000423 | A circular service dependency was specified.
WIN32_ERROR_DATABASE_DOES_NOT_EXIST | 0x00000429 | The specified database does not exist.
WIN32_ERROR_DEPENDENT_SERVICES_RUNNING | 0x0000041B | The service cannot be stopped because other running services are dependent on it.
WIN32_ERROR_DUPLICATE_SERVICE_NAME | 0x00000436 | The display name already exists in the service control manager database either as a service name or as another display name.
WIN32_ERROR_FAILED_SERVICE_CONTROLLER_CONNECT | 0x00000427 | This error is returned if the program is being run as a console application rather than as a service. If the program will be run as a console application for debugging purposes, structure it such that service-specific code is not called.
WIN32_ERROR_INSUFFICIENT_BUFFER | 0x0000007A | The buffer is too small for the service status structure. Nothing was written to the structure.
WIN32_ERROR_INVALID_DATA | 0x0000000D | The specified service status structure is invalid.
WIN32_ERROR_INVALID_HANDLE | 0x00000006 | The handle to the specified service control manager database is invalid.
WIN32_ERROR_INVALID_LEVEL | 0x0000007C | The InfoLevel parameter contains an unsupported value.
WIN32_ERROR_INVALID_NAME | 0x0000007B | The specified service name is invalid.
WIN32_ERROR_INVALID_PARAMETER | 0x00000057 | A parameter that was specified is invalid.
WIN32_ERROR_INVALID_SERVICE_ACCOUNT | 0x00000421 | The user account name specified in the user parameter does not exist. See win32_create_service().
WIN32_ERROR_INVALID_SERVICE_CONTROL | 0x0000041C | The requested control code is not valid, or it is unacceptable to the service.
WIN32_ERROR_PATH_NOT_FOUND | 0x00000003 | The service binary file could not be found.
WIN32_ERROR_SERVICE_ALREADY_RUNNING | 0x00000420 | An instance of the service is already running.
WIN32_ERROR_SERVICE_CANNOT_ACCEPT_CTRL | 0x00000425 | The requested control code cannot be sent to the service because the state of the service is WIN32_SERVICE_STOPPED, WIN32_SERVICE_START_PENDING, or WIN32_SERVICE_STOP_PENDING.
WIN32_ERROR_SERVICE_DATABASE_LOCKED | 0x0000041F | The database is locked.
WIN32_ERROR_SERVICE_DEPENDENCY_DELETED | 0x00000433 | The service depends on a service that does not exist or has been marked for deletion.
WIN32_ERROR_SERVICE_DEPENDENCY_FAIL | 0x0000042C | The service depends on another service that has failed to start.
WIN32_ERROR_SERVICE_DISABLED | 0x00000422 | The service has been disabled.
WIN32_ERROR_SERVICE_DOES_NOT_EXIST | 0x00000424 | The specified service does not exist as an installed service.
WIN32_ERROR_SERVICE_EXISTS | 0x00000431 | The specified service already exists in this database.
WIN32_ERROR_SERVICE_LOGON_FAILED | 0x0000042D | The service did not start due to a logon failure. This error occurs if the service is configured to run under an account that does not have the "Log on as a service" right.
WIN32_ERROR_SERVICE_MARKED_FOR_DELETE | 0x00000430 | The specified service has already been marked for deletion.
WIN32_ERROR_SERVICE_NO_THREAD | 0x0000041E | A thread could not be created for the service.
WIN32_ERROR_SERVICE_NOT_ACTIVE | 0x00000426 | The service has not been started.
WIN32_ERROR_SERVICE_REQUEST_TIMEOUT | 0x0000041D | The process for the service was started, but it did not call StartServiceCtrlDispatcher, or the thread that called StartServiceCtrlDispatcher may be blocked in a control handler function.
WIN32_ERROR_SHUTDOWN_IN_PROGRESS | 0x0000045B | The system is shutting down; this function cannot be called.
WIN32_ERROR_SERVICE_SPECIFIC_ERROR | 0x0000042A | The service has returned a service-specific error code.
WIN32_NO_ERROR | 0x00000000 | No error.


Win32 Base Priority Classes

  • « Win32 Error Codes
  • Win32 Recovery action »
  • PHP Manual
  • Constantes pré-definidas
  • Win32 Base Priority Classes
Win32 Base Priority Classes
Constant | Value | Description
WIN32_ABOVE_NORMAL_PRIORITY_CLASS | 0x00008000 | Process that has priority above WIN32_NORMAL_PRIORITY_CLASS but below WIN32_HIGH_PRIORITY_CLASS.
WIN32_BELOW_NORMAL_PRIORITY_CLASS | 0x00004000 | Process that has priority above WIN32_IDLE_PRIORITY_CLASS but below WIN32_NORMAL_PRIORITY_CLASS.
WIN32_HIGH_PRIORITY_CLASS | 0x00000080 | Process that performs time-critical tasks that must be executed immediately. The threads of the process preempt the threads of normal or idle priority class processes. An example is the Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class application can use nearly all available CPU time.
WIN32_IDLE_PRIORITY_CLASS | 0x00000040 | Process whose threads run only when the system is idle. The threads of the process are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle-priority class is inherited by child processes.
WIN32_NORMAL_PRIORITY_CLASS | 0x00000020 | Process with no special scheduling needs.
WIN32_REALTIME_PRIORITY_CLASS | 0x00000100 | Process that has the highest possible priority. The threads of the process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.


Win32 Recovery action

  • « Win32 Base Priority Classes
  • Win32 Service informations »
  • PHP Manual
  • Constantes pré-definidas
  • Win32 Recovery action
Win32 Recovery action
Constant | Value | Description
WIN32_SC_ACTION_NONE | 0x00000000 | No action.
WIN32_SC_ACTION_REBOOT | 0x00000001 | Restart the server.
WIN32_SC_ACTION_RESTART | 0x00000002 | Restart the service.
WIN32_SC_ACTION_RUN_COMMAND | 0x00000003 | Run a command.


Win32 Service informations

  • « Win32 Recovery action
  • Win32ServiceException »
  • PHP Manual
  • Constantes pré-definidas
  • Win32 Service informations
Win32 Service informations
Constant | Value | Description
WIN32_INFO_SERVICE | "service" |
WIN32_INFO_DISPLAY | "display" |
WIN32_INFO_USER | "user" |
WIN32_INFO_PASSWORD | "password" |
WIN32_INFO_PATH | "path" |
WIN32_INFO_PARAMS | "params" |
WIN32_INFO_DESCRIPTION | "description" |
WIN32_INFO_START_TYPE | "start_type" |
INFO_LOAD_ORDER | "load_order" |
INFO_SVC_TYPE | "svc_type" |
INFO_ERROR_CONTROL | "error_control" |
INFO_DELAYED_START | "delayed_start" |
INFO_BASE_PRIORITY | "base_priority" |
INFO_DEPENDENCIES | "dependencies" |
INFO_RECOVERY_DELAY | "recovery_delay" |
INFO_RECOVERY_ACTION_1 | "recovery_action_1" |
INFO_RECOVERY_ACTION_2 | "recovery_action_2" |
INFO_RECOVERY_ACTION_3 | "recovery_action_3" |
INFO_RECOVERY_RESET_PERIOD | "recovery_reset_period" |
INFO_RECOVERY_ENABLED | "recovery_enabled" |
INFO_RECOVERY_REBOOT_MSG | "recovery_reboot_msg" |
INFO_RECOVERY_COMMAND | "recovery_command" |


The Win32ServiceException class

(PECL win32service >=1.0.0)

Introdução

The exception replaces the old mechanism where the error value needed to be compared to constants to detect which error was emitted. The Exception code is equal to the value of the error value and the exception message is based on the corresponding constant name.

Sinopse da classe

Win32ServiceException extends Exception {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


Exemplos

Exemplo #1 Registering a PHP script to run as a service

<?php
win32_create_service(array(
    'service'     => 'dummyphp',                                           # the name of your service
    'display'     => 'sample dummy PHP service',                           # short description
    'description' => 'This is a dummy Windows service created using PHP.', # long description
    'params'      => '"' . __FILE__ . '"  run',                            # path to the script and parameters
));
?>

Exemplo #2 Unregistering a service

<?php
win32_delete_service('dummyphp');
?>

Exemplo #3 Running as a service

<?php
if ($argv[1] == 'run') {
  win32_start_service_ctrl_dispatcher('dummyphp');

  while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
    # do your work here.
    # try not to take up more than 30 seconds before going around the loop
    # again
  }
}
?>


win32service Funções

Índice

  • win32_continue_service — Resumes a paused service
  • win32_create_service — Creates a new service entry in the SCM database
  • win32_delete_service — Deletes a service entry from the SCM database
  • win32_get_last_control_message — Returns the last control message that was sent to this service
  • win32_pause_service — Pauses a service
  • win32_query_service_status — Queries the status of a service
  • win32_send_custom_control — Send a custom control to the service
  • win32_set_service_exit_code — Define or return the exit code for the current running service
  • win32_set_service_exit_mode — Define or return the exit mode for the current running service
  • win32_set_service_status — Update the service status
  • win32_start_service_ctrl_dispatcher — Registers the script with the SCM, so that it can act as the service with the given name
  • win32_start_service — Starts a service
  • win32_stop_service — Stops a service


Resumes a paused service

  • « win32service Funções
  • win32_create_service »
  • PHP Manual
  • win32service Funções
  • Resumes a paused service

win32_continue_service

(PECL win32service >=0.1.0)

win32_continue_service — Resumes a paused service

Descrição

win32_continue_service ( string $servicename , string $machine = ? ) : void

Resumes a paused, named service. Requires administrative privileges or an account with appropriate rights set in the service's ACL.

Parâmetros

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Valor Retornado

Não há valor retornado.

Prior to version 1.0.0, Retorna WIN32_NO_ERROR no sucesso , false se ocorrer um problema com os parâmetros ou um Win32 Error Code em caso de falhas.

Erros

A ValueError is thrown if the value of servicename parameter is empty.

A Win32ServiceException is thrown on error.

Changelog

Versão | Descrição
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now void, previously it was mixed.
PECL win32service 0.3.0 | This function does not longer require an administrator account if ACL is set for another account.

Veja Também

  • win32_start_service() - Starts a service
  • win32_stop_service() - Stops a service
  • win32_pause_service() - Pauses a service
  • win32_send_custom_control() - Send a custom control to the service
  • Win32 Error Codes


Creates a new service entry in the SCM database

  • « win32_continue_service
  • win32_delete_service »
  • PHP Manual
  • win32service Funções
  • Creates a new service entry in the SCM database

win32_create_service

(PECL win32service >=0.1.0)

win32_create_service — Creates a new service entry in the SCM database

Descrição

win32_create_service ( array $details , string $machine = ? ) : void

Attempts to add a service into the SCM database. Administrative privileges are required for this to succeed.

Parâmetros

details

An array of service details:

service

The short name of the service. This is the name that you will use to control the service using the net command. The service must be unique (no two services can share the same name), and, ideally, should avoid having spaces in the name.

display

The display name of the service. This is the name that you will see in the Services Applet.

description

The long description of the service. This is the description that you will see in the Services Applet.

user

The name of the user account under which you want the service to run. If omitted, the service will run as the LocalSystem account. If the username is specified, you must also provide a password.

password

The password that corresponds to the user.

path

The full path to the executable module that will be launched when the service is started. If omitted, the path to the current PHP process will be used.

params

Command line parameters to pass to the service when it starts. If you want to run a PHP script as the service, then the first parameter should be the full path to the PHP script that you intend to run. If the script name or path contains spaces, then wrap the full path to the PHP script with ".

load_order

Controls the load_order. This is not yet fully supported.

svc_type

Sets the service type. If omitted, the default value is WIN32_SERVICE_WIN32_OWN_PROCESS. Don't change this unless you know what you're doing.

start_type

Specifies how the service should be started. The default is WIN32_SERVICE_AUTO_START which means the service will be launched when the machine starts up.

error_control

Informs the SCM what it should do when it detects a problem with the service. The default is WIN32_SERVER_ERROR_IGNORE. Changing this value is not yet fully supported.

delayed_start

If delayed_start is set to true, then this will inform the SCM that this service should be started after other auto-start services are started plus a short delay.

Any service can be marked as a delayed auto-start service; however, this setting has no effect unless the service's start_type is WIN32_SERVICE_AUTO_START.

This setting is only applicable on Windows Vista and Windows Server 2008 or greater.

base_priority

To reduce the impact on processor utilisation, it may be necessary to set a base priority lower than normal.

The base_priority can be set to one of the constants define in Win32 Base Priority Classes.

dependencies

To define the dependencies for your service, it may be necessary to set this parameter to the list of the services names in an array.

recovery_delay

This parameter defines the delay between the fail and the execution of recovery action. The value is in milliseconds.

The default value is 60000.

recovery_action_1

The action will be executed on first failure. The default value is WIN32_SC_ACTION_NONE.

The recovery_action_1 can be set to one of the constants defined in Win32 Recovery action.

recovery_action_2

The action will be executed on second failure. The default value is WIN32_SC_ACTION_NONE.

The recovery_action_2 can be set to one of the constants defined in Win32 Recovery action.

recovery_action_3

The action will be executed on next failures. The default value is WIN32_SC_ACTION_NONE.

The recovery_action_3 can be set to one of the constants defined in Win32 Recovery action.

recovery_reset_period

The failure count will be reset after the delay defined in the parameter. The delay is expirement in seconds.

The default value is 86400.

recovery_enabled

Set this parameter at true to enable the recovery settings, false to disable.

The default value is false

recovery_reboot_msg

Set this parameter to define the message saved into the Windows Event Log before the reboot. Used only if one action is set to WIN32_SC_ACTION_REBOOT.

recovery_command

Set this parameter to define the command executed when one action is defined on WIN32_SC_ACTION_RUN_COMMAND.

machine

The optional machine name on which you want to create a service. If omitted, it will use the local machine.

Valor Retornado

Não há valor retornado.

Prior to version 1.0.0, Retorna WIN32_NO_ERROR no sucesso , false se ocorrer um problema com os parâmetros ou um Win32 Error Code em caso de falhas.

Erros

A ValueError is thrown if the; value of service parameter is empty.

A ValueError is thrown if the; value of path parameter is missing or empty.

A ValueError is thrown if the; value of svc_type parameter is wrong.

A ValueError is thrown if the; value of start_type parameter is wrong.

A ValueError is thrown if the; value of error_control parameter is wrong.

A ValueError is thrown if the; value of base_priority parameter is wrong.

A ValueError is thrown if the; value of recovery_delay parameter is not between 0 and PHP_INT_MAX.

A ValueError is thrown if the; value of recovery_action_1 parameter is wrong.

A ValueError is thrown if the; value of recovery_action_2 parameter is wrong.

A ValueError is thrown if the; value of recovery_action_3 parameter is wrong.

A ValueError is thrown if the; value of recovery_reset_period parameter is not between 0 and PHP_INT_MAX.

A Win32ServiceException is thrown on error.

Exemplos

Exemplo #1 A win32_create_service() example

Create a service with the short name 'dummyphp'.

<?php
$x = win32_create_service(array(
    'service'     => 'dummyphp',                                           // the name of your service
    'display'     => 'sample dummy PHP service',                           // short description
    'description' => 'This is a dummy Windows service created using PHP.', // long description
    'params'      => '"' . __FILE__ . '"  run',                            // path to the script and parameters
));
debug_zval_dump($x);
?>

Exemplo #2 A win32_create_service() example with dependencies

Create a service with the short name 'dummyphp' and dependencies.

<?php
$x = win32_create_service(array(
    'service'      => 'dummyphp',                                           // the name of your service
    'display'      => 'sample dummy PHP service',                           // short description
    'description'  => 'This is a dummy Windows service created using PHP.', // long description
    'params'       => '"' . __FILE__ . '"  run',                            // path to the script and parameters
    'dependencies' => array("Netman"),                                      // The list of the dependencies
));
debug_zval_dump($x);
?>

Exemplo #3 A win32_create_service() example with recovery

Create a service with the short name 'dummyphp' and recovery settings.

<?php
$x = win32_create_service(array(
    'service'               => 'dummyphp',                                           // the name of your service
    'display'               => 'sample dummy PHP service',                           // short description
    'description'           => 'This is a dummy Windows service created using PHP.', // long description
    'params'                => '"' . __FILE__ . '"  run',                            // path to the script and parameters
    'recovery_delay'        => 120000,                                               // Recovery action is executed after 2 minutes
    'recovery_action_1'     => WIN32_SC_ACTION_RESTART,                              // On first failure, restart the service
    'recovery_action_2'     => WIN32_SC_ACTION_RUN_COMMAND,                          // On second failure, execute the commmand
    'recovery_action_3'     => WIN32_SC_ACTION_NONE,                                 // On other failure, do nothing
    'recovery_reset_period' => 86400,                                                // Reset the fail counter after 1 day
    'recovery_enabled'      => true,                                                 // Enable the recovery parameter
    'recovery_reboot_msg'   => null,                                                 // Do not define a reboot message, it's not needed here
    'recovery_command'      => "c:\clean-service.bat",                               // When the action is WIN32_SC_ACTION_RUN_COMMAND, execute this command
));
debug_zval_dump($x);
?>

Changelog

Versão | Descrição
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now void, previously it was mixed.
PECL win32service 0.4.0 | The dependencies, recovery_delay, recovery_action_1, recovery_action_2, recovery_action_3, recovery_reset_period, recovery_enabled, recovery_reboot_msg and recovery_command parameters have been added.

Veja Também

  • win32_delete_service() - Deletes a service entry from the SCM database
  • Win32 Base Priority Classes
  • Win32 Recovery action
  • Win32 Error Codes


Deletes a service entry from the SCM database

  • « win32_create_service
  • win32_get_last_control_message »
  • PHP Manual
  • win32service Funções
  • Deletes a service entry from the SCM database

win32_delete_service

(PECL win32service >=0.1.0)

win32_delete_service — Deletes a service entry from the SCM database

Descrição

win32_delete_service ( string $servicename , string $machine = ? ) : void

Attempts to delete a service from the SCM database. Administrative privileges are required for this to succeed.

This function really just marks the service for deletion. If other processes (such as the Services Applet) are open, then the deletion will be deferred until those applications are closed. If a service is marked for deletion, further attempts to delete it will fail, and attempts to create a new service with that name will also fail.

Parâmetros

servicename

The short name of the service.

machine

The optional machine name. If omitted, the local machine will be used.

Valor Retornado

Não há valor retornado.

Prior to version 1.0.0, Retorna WIN32_NO_ERROR no sucesso , false se ocorrer um problema com os parâmetros ou um Win32 Error Code em caso de falhas.

Erros

A ValueError is thrown if the; value of servicename parameter is empty.

A Win32ServiceException is thrown on error.

Exemplos

Exemplo #1 A win32_delete_service() example

Deletes the dummyphp service.

<?php
win32_delete_service('dummyphp');
?>

Changelog

Versão | Descrição
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now void, previously it was mixed.

Veja Também

  • win32_create_service() - Creates a new service entry in the SCM database
  • Win32 Error Codes


Returns the last control message that was sent to this service

  • « win32_delete_service
  • win32_pause_service »
  • PHP Manual
  • win32service Funções
  • Returns the last control message that was sent to this service

win32_get_last_control_message

(PECL win32service >=0.1.0)

win32_get_last_control_message — Returns the last control message that was sent to this service

Descrição

win32_get_last_control_message ( ) : int

Returns the control code that was last sent to this service process. When running as a service you should periodically check this to determine if your service needs to stop running.

Cuidado

Since version 0.2.0, this function work only in "cli" SAPI. On other SAPI this function is disabled.

Valor Retornado

Returns a control constant which will be one of the Win32Service Service Control Message Constants: WIN32_SERVICE_CONTROL_CONTINUE, WIN32_SERVICE_CONTROL_DEVICEEVENT, WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE, WIN32_SERVICE_CONTROL_INTERROGATE, WIN32_SERVICE_CONTROL_NETBINDADD, WIN32_SERVICE_CONTROL_NETBINDDISABLE, WIN32_SERVICE_CONTROL_NETBINDENABLE, WIN32_SERVICE_CONTROL_NETBINDREMOVE, WIN32_SERVICE_CONTROL_PARAMCHANGE, WIN32_SERVICE_CONTROL_PAUSE, WIN32_SERVICE_CONTROL_POWEREVENT, WIN32_SERVICE_CONTROL_PRESHUTDOWN, WIN32_SERVICE_CONTROL_SESSIONCHANGE, WIN32_SERVICE_CONTROL_SHUTDOWN, WIN32_SERVICE_CONTROL_STOP.

If the value is between 128 and 255, the control code is custom.

Erros

Prior to version 1.0.0, if the SAPI is not "cli", this function emits an E_ERROR level error.

As of version 1.0.0, will throw a Win32ServiceException if SAPI is not "cli"

Changelog

Versão | Descrição
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 0.2.0 | This function works only in the "cli" SAPI.

Veja Também

  • win32_start_service_ctrl_dispatcher() - Registers the script with the SCM, so that it can act as the service with the given name
  • win32_set_service_status() - Update the service status
  • win32_set_service_exit_mode() - Define or return the exit mode for the current running service
  • win32_set_service_exit_code() - Define or return the exit code for the current running service
  • Win32Service Service Control Message Constants


Pauses a service

  • « win32_get_last_control_message
  • win32_query_service_status »
  • PHP Manual
  • win32service Funções
  • Pauses a service

win32_pause_service

(PECL win32service >=0.1.0)

win32_pause_service — Pauses a service

Descrição

win32_pause_service ( string $servicename , string $machine = ? ) : void

Pauses a named service. Requires administrative privileges or an account with appropriate rights set in the service's ACL.

Parâmetros

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Valor Retornado

Não há valor retornado.

Prior to version 1.0.0, Retorna WIN32_NO_ERROR no sucesso , false se ocorrer um problema com os parâmetros ou um Win32 Error Code em caso de falhas.

Erros

A ValueError is thrown if the; value of servicename parameter is empty.

A Win32ServiceException is thrown on error.

Changelog

Versão | Descrição
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now void, previously it was mixed.
PECL win32service 0.3.0 | This function does not longer require an administrator account if ACL is set for another account.

Veja Também

  • win32_start_service() - Starts a service
  • win32_stop_service() - Stops a service
  • win32_continue_service() - Resumes a paused service
  • win32_send_custom_control() - Send a custom control to the service
  • Win32 Error Codes


Queries the status of a service

  • « win32_pause_service
  • win32_send_custom_control »
  • PHP Manual
  • win32service Funções
  • Queries the status of a service

win32_query_service_status

(PECL win32service >=0.1.0)

win32_query_service_status — Queries the status of a service

Descrição

win32_query_service_status ( string $servicename , string $machine = ? ) : array

Queries the current status for a service, returning an array of information.

Parâmetros

servicename

The short name of the service.

machine

The optional machine name. If omitted, the local machine will be used.

Valor Retornado

Returns an array consisting of the following information on success

Prior version 1.0.0, false se ocorrer um problema com os parâmetros ou um Win32 Error Code em caso de falhas.

ServiceType

The dwServiceType. See Win32Service Service Type Bitmasks.

CurrentState

The dwCurrentState. See Win32Service Service Status Constants.

ControlsAccepted

Which service controls are accepted by the service. See Win32Service Service Control Message Accepted Bitmasks.

Win32ExitCode

If the service exited, the return code from the process. This value is equal to WIN32_ERROR_SERVICE_SPECIFIC_ERROR if the exit mode is not gracefuly. See Win32Service error codes and win32_set_service_exit_mode()

ServiceSpecificExitCode

If the service exited with an error condition, the service specific code that is logged in the event log is visible here. This value is equal to the value defined by win32_set_service_exit_code()

CheckPoint

If the service is shutting down, holds the current check point number. This is used by the SCM as a kind of heart-beat to detect a wedged service process. The value of the check point is best interpreted in conjunction with the WaitHint value.

WaitHint

If the service is shutting down it will set WaitHint to a checkpoint value that will indicate 100% completion. This can be used to implement a progress indicator.

ProcessId

The Windows process identifier. If 0, the process is not running.

ServiceFlags

The dwServiceFlags. See Win32Service Service Service Flag Constants.

Erros

A ValueError is thrown if the; value of servicename parameter is empty.

Changelog

Versão | Descrição
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now array, previously it was mixed.

Veja Também

  • Win32Service Predefined Constants


Send a custom control to the service

  • « win32_query_service_status
  • win32_set_service_exit_code »
  • PHP Manual
  • win32service Funções
  • Send a custom control to the service

win32_send_custom_control

(PECL win32service >=0.4.0)

win32_send_custom_control — Send a custom control to the service

Descrição

win32_send_custom_control ( string $servicename , int $control , string $machine = ? ) : void

See » Microsoft ControlService function for more details

Parâmetros

servicename

The short name of the service.

control

The custom contole value between 128 and 255.

machine

Optional machine name. If omitted, the local machine is used.

Valor Retornado

Não há valor retornado.

Prior to version 1.0.0, Retorna WIN32_NO_ERROR no sucesso , false se ocorrer um problema com os parâmetros ou um Win32 Error Code em caso de falhas.

Erros

Prior to version 1.0.0, if the control value is not between 128 and 255, this function emits an E_ERROR level error.

A ValueError is thrown if the; value of servicename parameter is empty.

A ValueError is thrown if the; value of control parameter is not between 128 and 255.

A Win32ServiceException is thrown on error.

Changelog

Versão | Descrição
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now void, previously it was mixed.

Veja Também

  • win32_start_service() - Starts a service
  • win32_stop_service() - Stops a service
  • win32_pause_service() - Pauses a service
  • win32_continue_service() - Resumes a paused service
  • Win32 Error Codes


Define or return the exit code for the current running service

  • « win32_send_custom_control
  • win32_set_service_exit_mode »
  • PHP Manual
  • win32service Funções
  • Define or return the exit code for the current running service

win32_set_service_exit_code

(PECL win32service >=0.4.0)

win32_set_service_exit_code — Define or return the exit code for the current running service

Descrição

win32_set_service_exit_code ( int $exitCode = 1 ) : int

Change or return the exit code. The exit code is used only if the exit mode is not graceful. If the value is not zero, the recovery configuration can be used after service fail. See » Microsoft system error codes for more details

Cuidado

This function work only in "cli" SAPI. On other SAPI this function is disabled.

Parâmetros

exitCode

The return code used on exit.

Valor Retornado

Return the current or old exit code.

Erros

Prior to version 1.0.0, if the SAPI is not "cli", this function emits an E_ERROR level error.

As of version 1.0.0, will throw a Win32ServiceException if SAPI is not "cli"

Changelog

Versão | Descrição
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.

Veja Também

  • win32_start_service_ctrl_dispatcher() - Registers the script with the SCM, so that it can act as the service with the given name
  • win32_set_service_status() - Update the service status
  • win32_set_service_exit_mode() - Define or return the exit mode for the current running service


Define or return the exit mode for the current running service

  • « win32_set_service_exit_code
  • win32_set_service_status »
  • PHP Manual
  • win32service Funções
  • Define or return the exit mode for the current running service

win32_set_service_exit_mode

(PECL win32service >=0.4.0)

win32_set_service_exit_mode — Define or return the exit mode for the current running service

Descrição

win32_set_service_exit_mode ( bool $gracefulMode = true ) : bool

If gracefulMode parameter is provided, the exit mode is changed. When the exit mode is not gracefuly, the exit code used can be set with the win32_set_service_exit_code() function.

Cuidado

This function work only in "cli" SAPI. On other SAPI this function is disabled.

Parâmetros

gracefulMode

true for exit graceful. false for exit with error.

Valor Retornado

Return the current or old exit mode.

Erros

Prior to version 1.0.0, if the SAPI is not "cli", this function emits an E_ERROR level error.

As of version 1.0.0, will throw a Win32ServiceException if SAPI is not "cli"

Changelog

Versão | Descrição
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.

Veja Também

  • win32_start_service_ctrl_dispatcher() - Registers the script with the SCM, so that it can act as the service with the given name
  • win32_set_service_status() - Update the service status
  • win32_set_service_exit_code() - Define or return the exit code for the current running service


Update the service status

  • « win32_set_service_exit_mode
  • win32_start_service_ctrl_dispatcher »
  • PHP Manual
  • win32service Funções
  • Update the service status

win32_set_service_status

(PECL win32service >=0.1.0)

win32_set_service_status — Update the service status

Descrição

win32_set_service_status ( int $status , int $checkpoint = 0 ) : void

Informs the SCM of the current status of a running service. This call is only valid for a running service process.

Cuidado

Since version 0.2.0, this function work only in "cli" SAPI. On other SAPI this function is disabled.

Parâmetros

status

The service status code, one of WIN32_SERVICE_RUNNING, WIN32_SERVICE_STOPPED, WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING, WIN32_SERVICE_PAUSE_PENDING, WIN32_SERVICE_PAUSED.

checkpoint

The checkpoint value the service increments periodically to report its progress during a lengthy start, stop, pause, or continue operation. For example, the service should increment this value as it completes each step of its initialization when it is starting up.

The checkpoint is only valid when the status is one of WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING or WIN32_SERVICE_PAUSE_PENDING.

Valor Retornado

Não há valor retornado.

Prior to version 1.0.0, Retorna WIN32_NO_ERROR no sucesso , false se ocorrer um problema com os parâmetros ou um Win32 Error Code em caso de falhas.

Erros

Prior to version 1.0.0, if the SAPI is not "cli", this function emits an E_ERROR level error.

As of version 1.0.0, will throw a Win32ServiceException if SAPI is not "cli"

Changelog

Versão | Descrição
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now void, previously it was mixed.
PECL win32service 0.2.0 | This function works only in the "cli" SAPI.

Veja Também

  • win32_start_service_ctrl_dispatcher() - Registers the script with the SCM, so that it can act as the service with the given name
  • win32_get_last_control_message() - Returns the last control message that was sent to this service
  • win32_set_service_exit_mode() - Define or return the exit mode for the current running service
  • win32_set_service_exit_code() - Define or return the exit code for the current running service
  • Win32Service Service Status Constants


Registers the script with the SCM, so that it can act as the service with the given name

  • « win32_set_service_status
  • win32_start_service »
  • PHP Manual
  • win32service Funções
  • Registers the script with the SCM, so that it can act as the service with the given name

win32_start_service_ctrl_dispatcher

(PECL win32service >=0.1.0)

win32_start_service_ctrl_dispatcher — Registers the script with the SCM, so that it can act as the service with the given name

Descrição

win32_start_service_ctrl_dispatcher ( string $name , bool $gracefulMode = true ) : void

When launched via the Service Control Manager, a service process is required to "check-in" with it to establish service monitoring and communication facilities. This function performs the check-in by spawning a thread to handle the lower-level communication with the service control manager.

Once started, the service process should do 2 things. The first is to tell the Service Control Manager that the service is running. This is achieved by calling win32_set_service_status() with the WIN32_SERVICE_RUNNING constant. If you need to perform some lengthy process before the service is actually running, then you can use the WIN32_SERVICE_START_PENDING constant. The second is to continue to check-in with the service control manager so that it can determine if it should terminate. This is achieved by periodically calling win32_get_last_control_message() and handling the return code appropriately.

Cuidado

Since version 0.2.0, this function work only in "cli" SAPI. On other SAPI this function is disabled.

Parâmetros

name

The short-name of the service, as registered by win32_create_service().

gracefulMode

true for exit graceful. false for exit with error. See win32_set_service_exit_mode() for more details.

Valor Retornado

Não há valor retornado.

Prior to version 1.0.0, Retorna WIN32_NO_ERROR no sucesso , false se ocorrer um problema com os parâmetros ou um Win32 Error Code em caso de falhas.

Erros

Prior to version 1.0.0, if the SAPI is not "cli", this function emits an E_ERROR level error.

As of version 1.0.0, will throw a Win32ServiceException if SAPI is not "cli"

Exemplos

Exemplo #1 A win32_start_service_ctrl_dispatcher() example

Check if the service is runnig under the SCM.

<?php
if (!win32_start_service_ctrl_dispatcher('dummyphp')) {
  die("I'm probably not running under the service control manager");
}

win32_set_service_status(WIN32_SERVICE_START_PENDING);

// Some lengthy process to get this service up and running.

win32_set_service_status(WIN32_SERVICE_RUNNING);

while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
  # do some work here, trying not to take more than around 30 seconds
  # before coming back into the loop again
}
?>

Changelog

Versão | Descrição
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now void, previously it was mixed.
PECL win32service 0.4.0 | The parameter gracefulMode has been added.
PECL win32service 0.2.0 | This function works only in the "cli" SAPI.

Veja Também

  • win32_set_service_status() - Update the service status
  • win32_get_last_control_message() - Returns the last control message that was sent to this service
  • win32_set_service_exit_mode() - Define or return the exit mode for the current running service
  • win32_set_service_exit_code() - Define or return the exit code for the current running service
  • Win32 Error Codes


Starts a service

  • « win32_start_service_ctrl_dispatcher
  • win32_stop_service »
  • PHP Manual
  • win32service Funções
  • Starts a service

win32_start_service

(PECL win32service >=0.1.0)

win32_start_service — Starts a service

Descrição

win32_start_service ( string $servicename , string $machine = ? ) : void

Attempts to start the named service. Requires administrative privileges or an account with appropriate rights set in the service's ACL.

Parâmetros

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Valor Retornado

Não há valor retornado.

Prior to version 1.0.0, Retorna WIN32_NO_ERROR no sucesso , false se ocorrer um problema com os parâmetros ou um Win32 Error Code em caso de falhas.

Erros

A ValueError is thrown if the value of servicename parameter is empty.

A Win32ServiceException is thrown on error.

Changelog

Versão | Descrição
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now void, previously it was mixed.
PECL win32service 0.3.0 | This function does not longer require an administrator account if ACL is set for another account.

Veja Também

  • win32_stop_service() - Stops a service
  • win32_pause_service() - Pauses a service
  • win32_continue_service() - Resumes a paused service
  • win32_send_custom_control() - Send a custom control to the service
  • Win32 Error Codes


Stops a service

  • « win32_start_service
  • Manipulação de XML »
  • PHP Manual
  • win32service Funções
  • Stops a service

win32_stop_service

(PECL win32service >=0.1.0)

win32_stop_service — Stops a service

Descrição

win32_stop_service ( string $servicename , string $machine = ? ) : void

Stops a named service. Requires administrative privileges or an account with appropriate rights set in the service's ACL.

Parâmetros

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Valor Retornado

Não há valor retornado.

Prior to version 1.0.0, Retorna WIN32_NO_ERROR no sucesso , false se ocorrer um problema com os parâmetros ou um Win32 Error Code em caso de falhas.

Erros

A ValueError is thrown if the value of servicename parameter is empty.

A Win32ServiceException is thrown on error.

Changelog

Versão | Descrição
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now void, previously it was mixed.
PECL win32service 0.3.0 | This function does not longer require an administrator account if ACL is set for another account.

Veja Também

  • win32_start_service() - Starts a service
  • win32_pause_service() - Pauses a service
  • win32_continue_service() - Resumes a paused service
  • win32_send_custom_control() - Send a custom control to the service
  • Win32 Error Codes


Manipulação de XML

  • DOM — Document Object Model
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • DOMAttr — Classe DOMAttr
    • DOMCdataSection — The DOMCdataSection class
    • DOMCharacterData — The DOMCharacterData class
    • DOMComment — The DOMComment class
    • DOMDocument — The DOMDocument class
    • DOMDocumentFragment — The DOMDocumentFragment class
    • DOMDocumentType — The DOMDocumentType class
    • DOMElement — The DOMElement class
    • DOMEntity — The DOMEntity class
    • DOMEntityReference — The DOMEntityReference class
    • DOMException — The DOMException class
    • DOMImplementation — The DOMImplementation class
    • DOMNamedNodeMap — The DOMNamedNodeMap class
    • DOMNode — The DOMNode class
    • DOMNodeList — The DOMNodeList class
    • DOMNotation — The DOMNotation class
    • DOMProcessingInstruction — The DOMProcessingInstruction class
    • DOMText — The DOMText class
    • DOMXPath — The DOMXPath class
    • DOM Funções
  • libxml
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • libXMLError — The libXMLError class
    • Funções da libxml
  • SimpleXML
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • SimpleXMLElement — A classe SimpleXMLElement
    • SimpleXMLIterator — A classe SimpleXMLIterator
    • Funções da SimpleXML
  • WDDX
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • Funções da WDDX
  • XMLDiff — XML diff and merge
    • Introdução
    • Instalação/Configuração
    • XMLDiff\Base — The XMLDiff\Base class
    • XMLDiff\DOM — The XMLDiff\DOM class
    • XMLDiff\Memory — The XMLDiff\Memory class
    • XMLDiff\File — The XMLDiff\File class
  • XML Parser
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Manipuladores (handlers) de Evento
    • Case Folding
    • Códigos de Erro
    • Character Encoding
    • Exemplos
    • Funções para analisar XML
  • XMLReader
    • Introdução
    • Instalação/Configuração
    • XMLReader — The XMLReader class
  • XMLWriter
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • XMLWriter — The XMLWriter class
  • XSL
    • Introdução
    • Instalação/Configuração
    • Constantes pré-definidas
    • Exemplos
    • XSLTProcessor — A classe XSLTProcessor


Document Object Model

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • DOMAttr — Classe DOMAttr
    • DOMAttr::__construct — Creates a new DOMAttr object
    • DOMAttr::isId — Checks if attribute is a defined ID
  • DOMCdataSection — The DOMCdataSection class
    • DOMCdataSection::__construct — Constructs a new DOMCdataSection object
  • DOMCharacterData — The DOMCharacterData class
    • DOMCharacterData::appendData — Append the string to the end of the character data of the node
    • DOMCharacterData::deleteData — Remove a range of characters from the node
    • DOMCharacterData::insertData — Insert a string at the specified 16-bit unit offset
    • DOMCharacterData::replaceData — Replace a substring within the DOMCharacterData node
    • DOMCharacterData::substringData — Extracts a range of data from the node
  • DOMComment — The DOMComment class
    • DOMComment::__construct — Creates a new DOMComment object
  • DOMDocument — The DOMDocument class
    • DOMDocument::__construct — Creates a new DOMDocument object
    • DOMDocument::createAttribute — Create new attribute
    • DOMDocument::createAttributeNS — Create new attribute node with an associated namespace
    • DOMDocument::createCDATASection — Create new cdata node
    • DOMDocument::createComment — Create new comment node
    • DOMDocument::createDocumentFragment — Create new document fragment
    • DOMDocument::createElement — Create new element node
    • DOMDocument::createElementNS — Create new element node with an associated namespace
    • DOMDocument::createEntityReference — Create new entity reference node
    • DOMDocument::createProcessingInstruction — Creates new PI node
    • DOMDocument::createTextNode — Create new text node
    • DOMDocument::getElementById — Searches for an element with a certain id
    • DOMDocument::getElementsByTagName — Searches for all elements with given local tag name
    • DOMDocument::getElementsByTagNameNS — Searches for all elements with given tag name in specified namespace
    • DOMDocument::importNode — Import node into current document
    • DOMDocument::load — Load XML from a file
    • DOMDocument::loadHTML — Load HTML from a string
    • DOMDocument::loadHTMLFile — Load HTML from a file
    • DOMDocument::loadXML — Load XML from a string
    • DOMDocument::normalizeDocument — Normalizes the document
    • DOMDocument::registerNodeClass — Register extended class used to create base node type
    • DOMDocument::relaxNGValidate — Performs relaxNG validation on the document
    • DOMDocument::relaxNGValidateSource — Performs relaxNG validation on the document
    • DOMDocument::save — Dumps the internal XML tree back into a file
    • DOMDocument::saveHTML — Dumps the internal document into a string using HTML formatting
    • DOMDocument::saveHTMLFile — Dumps the internal document into a file using HTML formatting
    • DOMDocument::saveXML — Dumps the internal XML tree back into a string
    • DOMDocument::schemaValidate — Validates a document based on a schema. Only XML Schema 1.0 is supported.
    • DOMDocument::schemaValidateSource — Validates a document based on a schema
    • DOMDocument::validate — Validates the document based on its DTD
    • DOMDocument::xinclude — Substitutes XIncludes in a DOMDocument Object
  • DOMDocumentFragment — The DOMDocumentFragment class
    • DOMDocumentFragment::appendXML — Append raw XML data
  • DOMDocumentType — The DOMDocumentType class
  • DOMElement — The DOMElement class
    • DOMElement::__construct — Creates a new DOMElement object
    • DOMElement::getAttribute — Returns value of attribute
    • DOMElement::getAttributeNode — Returns attribute node
    • DOMElement::getAttributeNodeNS — Returns attribute node
    • DOMElement::getAttributeNS — Returns value of attribute
    • DOMElement::getElementsByTagName — Gets elements by tagname
    • DOMElement::getElementsByTagNameNS — Get elements by namespaceURI and localName
    • DOMElement::hasAttribute — Checks to see if attribute exists
    • DOMElement::hasAttributeNS — Checks to see if attribute exists
    • DOMElement::removeAttribute — Removes attribute
    • DOMElement::removeAttributeNode — Removes attribute
    • DOMElement::removeAttributeNS — Removes attribute
    • DOMElement::setAttribute — Adds new attribute
    • DOMElement::setAttributeNode — Adds new attribute node to element
    • DOMElement::setAttributeNodeNS — Adds new attribute node to element
    • DOMElement::setAttributeNS — Adds new attribute
    • DOMElement::setIdAttribute — Declares the attribute specified by name to be of type ID
    • DOMElement::setIdAttributeNode — Declares the attribute specified by node to be of type ID
    • DOMElement::setIdAttributeNS — Declares the attribute specified by local name and namespace URI to be of type ID
  • DOMEntity — The DOMEntity class
  • DOMEntityReference — The DOMEntityReference class
    • DOMEntityReference::__construct — Creates a new DOMEntityReference object
  • DOMException — The DOMException class
  • DOMImplementation — The DOMImplementation class
    • DOMImplementation::__construct — Creates a new DOMImplementation object
    • DOMImplementation::createDocument — Creates a DOMDocument object of the specified type with its document element
    • DOMImplementation::createDocumentType — Creates an empty DOMDocumentType object
    • DOMImplementation::hasFeature — Test if the DOM implementation implements a specific feature
  • DOMNamedNodeMap — The DOMNamedNodeMap class
    • DOMNamedNodeMap::count — Get number of nodes in the map
    • DOMNamedNodeMap::getNamedItem — Retrieves a node specified by name
    • DOMNamedNodeMap::getNamedItemNS — Retrieves a node specified by local name and namespace URI
    • DOMNamedNodeMap::item — Retrieves a node specified by index
  • DOMNode — The DOMNode class
    • DOMNode::appendChild — Adiciona um novo nó filho ao final dos filhos
    • DOMNode::C14N — Canonicalize nodes to a string
    • DOMNode::C14NFile — Canonicalize nodes to a file
    • DOMNode::cloneNode — Clones a node
    • DOMNode::getLineNo — Get line number for a node
    • DOMNode::getNodePath — Get an XPath for a node
    • DOMNode::hasAttributes — Checks if node has attributes
    • DOMNode::hasChildNodes — Checks if node has children
    • DOMNode::insertBefore — Adds a new child before a reference node
    • DOMNode::isDefaultNamespace — Checks if the specified namespaceURI is the default namespace or not
    • DOMNode::isSameNode — Indicates if two nodes are the same node
    • DOMNode::isSupported — Checks if feature is supported for specified version
    • DOMNode::lookupNamespaceUri — Gets the namespace URI of the node based on the prefix
    • DOMNode::lookupPrefix — Gets the namespace prefix of the node based on the namespace URI
    • DOMNode::normalize — Normalizes the node
    • DOMNode::removeChild — Removes child from list of children
    • DOMNode::replaceChild — Replaces a child
  • DOMNodeList — The DOMNodeList class
    • DOMNodeList::count — Get number of nodes in the list
    • DOMNodeList::item — Retrieves a node specified by index
  • DOMNotation — The DOMNotation class
  • DOMProcessingInstruction — The DOMProcessingInstruction class
    • DOMProcessingInstruction::__construct — Creates a new DOMProcessingInstruction object
  • DOMText — The DOMText class
    • DOMText::__construct — Creates a new DOMText object
    • DOMText::isElementContentWhitespace — Returns whether this text node contains whitespace in element content
    • DOMText::isWhitespaceInElementContent — Indicates whether this text node contains whitespace
    • DOMText::splitText — Quebra este nó em dois nós no deslocamento especificado
  • DOMXPath — The DOMXPath class
    • DOMXPath::__construct — Creates a new DOMXPath object
    • DOMXPath::evaluate — Evaluates the given XPath expression and returns a typed result if possible
    • DOMXPath::query — Evaluates the given XPath expression
    • DOMXPath::registerNamespace — Registers the namespace with the DOMXPath object
    • DOMXPath::registerPhpFunctions — Register PHP functions as XPath functions
  • DOM Funções
    • dom_import_simplexml — Gets a DOMElement object from a SimpleXMLElement object


Introdução

A extensão DOM permite operar documentos XML através da API DOM com PHP 5.

Nota: PHP 4 oferece uma versão da extensão domxml para ser utilizada.

Nota:

A extensão DOM utiliza a codificação UTF-8. Utilize utf8_encode() e utf8_decode() para trabalhar em textos em ISO-8859-1 ou Iconv para outras codificações.


Instalação

Esta extensão está habilitada por padrão. Ela pode ser desligada utilizando a seguinte opção de compilação: --disable-dom


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Constantes XML
Constante | Valor | Descrição
XML_ELEMENT_NODE (inteiro) | 1 | Nó é um DOMElement
XML_ATTRIBUTE_NODE (inteiro) | 2 | Nó é um DOMAttr
XML_TEXT_NODE (inteiro) | 3 | Nó é um DOMText
XML_CDATA_SECTION_NODE (inteiro) | 4 | Nó é um DOMCharacterData
XML_ENTITY_REF_NODE (inteiro) | 5 | Nó é um DOMEntityReference
XML_ENTITY_NODE (inteiro) | 6 | Nó é um DOMEntity
XML_PI_NODE (inteiro) | 7 | Nó é um DOMProcessingInstruction
XML_COMMENT_NODE (inteiro) | 8 | Nó é um DOMComment
XML_DOCUMENT_NODE (inteiro) | 9 | Nó é um DOMDocument
XML_DOCUMENT_TYPE_NODE (inteiro) | 10 | Nó é um DOMDocumentType
XML_DOCUMENT_FRAG_NODE (inteiro) | 11 | Nó é um DOMDocumentFragment
XML_NOTATION_NODE (inteiro) | 12 | Nó é um DOMNotation
XML_HTML_DOCUMENT_NODE (inteiro) | 13 |
XML_DTD_NODE (inteiro) | 14 |
XML_ELEMENT_DECL_NODE (inteiro) | 15 |
XML_ATTRIBUTE_DECL_NODE (inteiro) | 16 |
XML_ENTITY_DECL_NODE (inteiro) | 17 |
XML_NAMESPACE_DECL_NODE (inteiro) | 18 |
XML_ATTRIBUTE_CDATA (inteiro) | 1 |
XML_ATTRIBUTE_ID (inteiro) | 2 |
XML_ATTRIBUTE_IDREF (inteiro) | 3 |
XML_ATTRIBUTE_IDREFS (inteiro) | 4 |
XML_ATTRIBUTE_ENTITY (inteiro) | 5 |
XML_ATTRIBUTE_NMTOKEN (inteiro) | 7 |
XML_ATTRIBUTE_NMTOKENS (inteiro) | 8 |
XML_ATTRIBUTE_ENUMERATION (inteiro) | 9 |
XML_ATTRIBUTE_NOTATION (inteiro) | 10 |
Constantes DOMException
Constante | Valor | Descrição
DOM_PHP_ERR (inteiro) | 0 | Código não pertencente á especificação DOM. Significativa apenas para erros do PHP
DOM_INDEX_SIZE_ERR (inteiro) | 1 | Se o índice ou tamanho for negativo, ou maior do que o permitido.
DOMSTRING_SIZE_ERR (inteiro) | 2 | Se o tamanho do texto especificado não couber em DOMString.
DOM_HIERARCHY_REQUEST_ERR (inteiro) | 3 | Se algum nó for inserido em um lugar que não o pertence
DOM_WRONG_DOCUMENT_ERR (inteiro) | 4 | Se um nó é utilizado em um documento diferente ao qual foi criado
DOM_INVALID_CHARACTER_ERR (inteiro) | 5 | Se um caracter inválido é utilizado, como por exemplo em um nome.
DOM_NO_DATA_ALLOWED_ERR (inteiro) | 6 | Se um conteúdo é utilizado com um nó que não suporta conteúdo.
DOM_NO_MODIFICATION_ALLOWED_ERR (inteiro) | 7 | Se ocorrer uma tentativa de modificação é feita em um objeto que não permite modificações
DOM_NOT_FOUND_ERR (inteiro) | 8 | Se ocorrer uma tentativa de referênciar um nó em um contexto onde o mesmo não existe.
DOM_NOT_SUPPORTED_ERR (inteiro) | 9 | Se a implementação não suportar o tipo de objeto ou operação solicitados.
DOM_INUSE_ATTRIBUTE_ERR (inteiro) | 10 | Se ocorrer a tentativa de adicionar um atributo que já está em uso em outro lugar.
DOM_INVALID_STATE_ERR (inteiro) | 11 | Se ocorrer a tentativa de usar um objeto que não é mais válido.
DOM_SYNTAX_ERR (inteiro) | 12 | Se um conjunto de caracteres inválido ou ilegal for utilizado.
DOM_INVALID_MODIFICATION_ERR (inteiro) | 13 | If an attempt is made to modify the type of the underlying object.
DOM_NAMESPACE_ERR (inteiro) | 14 | Se uma tentativa de criar ou modificar um objeto incorretamente considerando namespaces.
DOM_INVALID_ACCESS_ERR (inteiro) | 15 | Se o parâmetro ou operação não é suportada pelo objeto subjacente.
DOM_VALIDATION_ERR (inteiro) | 16 | Se uma chamada á um método como insertBefore ou removeChild invalidar o nó respeitando a "validação parcial", essa exceção será lançada e a operação não será realizada.


Exemplos

Many examples in this reference require an XML file. We will use book.xml that contains the following:

Exemplo #1 book.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
]>
<book id="listing">
 <title>My lists</title>
 <chapter id="books">
  <title>My books</title>
  <para>
   <informaltable>
    <tgroup cols="4">
     <thead>
      <row>
       <entry>Title</entry>
       <entry>Author</entry>
       <entry>Language</entry>
       <entry>ISBN</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>The Grapes of Wrath</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>0140186409</entry>
      </row>
      <row>
       <entry>The Pearl</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>014017737X</entry>
      </row>
      <row>
       <entry>Samarcande</entry>
       <entry>Amine Maalouf</entry>
       <entry>fr</entry>
       <entry>2253051209</entry>
      </row>
      <!-- TODO: I have a lot of remaining books to add.. -->
     </tbody>
    </tgroup>
   </informaltable>
  </para>
 </chapter>
</book>


Classe DOMAttr

(PHP 5, PHP 7)

Introdução

DOMAttr representa um atributo no objeto DOMElement.

Sinopse da classe

DOMAttr extends DOMNode {
/* Propriedades */
public readonly string $name ;
public readonly DOMElement $ownerElement ;
public readonly bool $schemaTypeInfo ;
public readonly bool $specified ;
public string $value ;
/* Métodos */
public isId ( ) : bool
/* Métodos herdados */
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public DOMNode::isDefaultNamespace ( string $namespace ) : bool
public DOMNode::isSameNode ( DOMNode $otherNode ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespace ) : string|null
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false
public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Propriedades

name

O nome do atributo

ownerElement

O elemento que contém o atributo

schemaTypeInfo

Não foi implementado ainda, sempre será null

specified

Não foi implementado ainda, sempre será null

value

O valor do atributo

Veja Também

  • » Especificação da W3C para Attr

Índice

  • DOMAttr::__construct — Creates a new DOMAttr object
  • DOMAttr::isId — Checks if attribute is a defined ID


Creates a new DOMAttr object

  • « DOMAttr
  • DOMAttr::isId »
  • PHP Manual
  • DOMAttr
  • Creates a new DOMAttr object

DOMAttr::__construct

(PHP 5, PHP 7)

DOMAttr::__construct — Creates a new DOMAttr object

Descrição

public DOMAttr::__construct ( string $name , string $value = "" )

Creates a new DOMAttr object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writable node, use DOMDocument::createAttribute.

Parâmetros

name

The tag name of the attribute.

value

The value of the attribute.

Exemplos

Exemplo #1 Creating a new DOMAttr object

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$attr = $element->setAttributeNode(new DOMAttr('attr', 'attrvalue'));
echo $dom->saveXML();

?>

O exemplo acima irá imprimir:

<?xml version="1.0" encoding="utf-8"?>
<root attr="attrvalue" />

Veja Também

  • DOMDocument::createAttribute() - Create new attribute


Checks if attribute is a defined ID

  • « DOMAttr::__construct
  • DOMCdataSection »
  • PHP Manual
  • DOMAttr
  • Checks if attribute is a defined ID

DOMAttr::isId

(PHP 5, PHP 7)

DOMAttr::isId — Checks if attribute is a defined ID

Descrição

public DOMAttr::isId ( ) : bool

This function checks if the attribute is a defined ID.

According to the DOM standard this requires a DTD which defines the attribute ID to be of type ID. You need to validate your document with DOMDocument::validate or DOMDocument::validateOnParse before using this function.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 DOMAttr::isId() Example

<?php

$doc = new DomDocument;

// We need to validate our document before referring to the id
$doc->validateOnParse = true;
$doc->Load('book.xml');

// We retrieve the attribute named id of the chapter element
$attr = $doc->getElementsByTagName('chapter')->item(0)->getAttributeNode('id');

var_dump($attr->isId()); // bool(true)

?>


The DOMCdataSection class

(PHP 5, PHP 7)

Introdução

The DOMCdataSection inherits from DOMText for textural representation of CData constructs.

Sinopse da classe

DOMCdataSection extends DOMText {
/* Propriedades herdadas */
public readonly string $wholeText ;
public string $data ;
public readonly int $length ;
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Methods */
public __construct ( string $data )
/* Inherited methods */
public DOMText::isElementContentWhitespace ( ) : bool
public DOMText::isWhitespaceInElementContent ( ) : bool
public DOMText::splitText ( int $offset ) : DOMText
public DOMCharacterData::appendData ( string $data ) : bool
public DOMCharacterData::deleteData ( int $offset , int $count ) : bool
public DOMCharacterData::insertData ( int $offset , string $data ) : bool
public DOMCharacterData::replaceData ( int $offset , int $count , string $data ) : bool
public DOMCharacterData::substringData ( int $offset , int $count ) : string|false
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public DOMNode::isDefaultNamespace ( string $namespace ) : bool
public DOMNode::isSameNode ( DOMNode $otherNode ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespace ) : string|null
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false
public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Índice

  • DOMCdataSection::__construct — Constructs a new DOMCdataSection object


Constructs a new DOMCdataSection object

  • « DOMCdataSection
  • DOMCharacterData »
  • PHP Manual
  • DOMCdataSection
  • Constructs a new DOMCdataSection object

DOMCdataSection::__construct

(PHP 5, PHP 7)

DOMCdataSection::__construct — Constructs a new DOMCdataSection object

Descrição

public DOMCdataSection::__construct ( string $data )

Constructs a new CDATA node. This works like the DOMText class.

Parâmetros

data

The value of the CDATA node. If not supplied, an empty CDATA node is created.

Exemplos

Exemplo #1 Creating a new DOMCdataSection object

<?php

$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->appendChild(new DOMElement('root'));
$text = $element->appendChild(new DOMCdataSection('root value'));
echo $dom->saveXML();

?>

O exemplo acima irá imprimir:

<?xml version="1.0" encoding="utf-8"?>
<root><![CDATA[root value]]></root>

Veja Também

  • DOMText::__construct() - Creates a new DOMText object
  • DOMDocument::createTextNode() - Create new text node


The DOMCharacterData class

(PHP 5, PHP 7)

Introdução

Represents nodes with character data. No nodes directly correspond to this class, but other nodes do inherit from it.

Sinopse da classe

DOMCharacterData extends DOMNode {
/* Propriedades */
public string $data ;
public readonly int $length ;
/* Propriedades herdadas */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Métodos */
public appendData ( string $data ) : bool
public deleteData ( int $offset , int $count ) : bool
public insertData ( int $offset , string $data ) : bool
public replaceData ( int $offset , int $count , string $data ) : bool
public substringData ( int $offset , int $count ) : string|false
/* Métodos herdados */
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public DOMNode::isDefaultNamespace ( string $namespace ) : bool
public DOMNode::isSameNode ( DOMNode $otherNode ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespace ) : string|null
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false
public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Propriedades

data

The contents of the node.

length

The length of the contents.

Veja Também

  • » W3C specification of CharacterData

Índice

  • DOMCharacterData::appendData — Append the string to the end of the character data of the node
  • DOMCharacterData::deleteData — Remove a range of characters from the node
  • DOMCharacterData::insertData — Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::replaceData — Replace a substring within the DOMCharacterData node
  • DOMCharacterData::substringData — Extracts a range of data from the node


Append the string to the end of the character data of the node

  • « DOMCharacterData
  • DOMCharacterData::deleteData »
  • PHP Manual
  • DOMCharacterData
  • Append the string to the end of the character data of the node

DOMCharacterData::appendData

(PHP 5, PHP 7)

DOMCharacterData::appendData — Append the string to the end of the character data of the node

Descrição

public DOMCharacterData::appendData ( string $data ) : bool

Append the string data to the end of the character data of the node.

Parâmetros

data

The string to append.

Valor Retornado

Não há valor retornado.

Veja Também

  • DOMCharacterData::deleteData() - Remove a range of characters from the node
  • DOMCharacterData::insertData() - Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::replaceData() - Replace a substring within the DOMCharacterData node
  • DOMCharacterData::substringData() - Extracts a range of data from the node


Remove a range of characters from the node

  • « DOMCharacterData::appendData
  • DOMCharacterData::insertData »
  • PHP Manual
  • DOMCharacterData
  • Remove a range of characters from the node

DOMCharacterData::deleteData

(PHP 5, PHP 7)

DOMCharacterData::deleteData — Remove a range of characters from the node

Descrição

public DOMCharacterData::deleteData ( int $offset , int $count ) : bool

Deletes count characters starting from position offset.

Parâmetros

offset

The offset from which to start removing.

count

The number of characters to delete. If the sum of offset and count exceeds the length, then all characters to the end of the data are deleted.

Valor Retornado

Não há valor retornado.

Erros

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

Veja Também

  • DOMCharacterData::appendData() - Append the string to the end of the character data of the node
  • DOMCharacterData::insertData() - Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::replaceData() - Replace a substring within the DOMCharacterData node
  • DOMCharacterData::substringData() - Extracts a range of data from the node


Insert a string at the specified 16-bit unit offset

  • « DOMCharacterData::deleteData
  • DOMCharacterData::replaceData »
  • PHP Manual
  • DOMCharacterData
  • Insert a string at the specified 16-bit unit offset

DOMCharacterData::insertData

(PHP 5, PHP 7)

DOMCharacterData::insertData — Insert a string at the specified 16-bit unit offset

Descrição

public DOMCharacterData::insertData ( int $offset , string $data ) : bool

Inserts string data at position offset.

Parâmetros

offset

The character offset at which to insert.

data

The string to insert.

Valor Retornado

Não há valor retornado.

Erros

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data.

Veja Também

  • DOMCharacterData::appendData() - Append the string to the end of the character data of the node
  • DOMCharacterData::deleteData() - Remove a range of characters from the node
  • DOMCharacterData::replaceData() - Replace a substring within the DOMCharacterData node
  • DOMCharacterData::substringData() - Extracts a range of data from the node


Replace a substring within the DOMCharacterData node

  • « DOMCharacterData::insertData
  • DOMCharacterData::substringData »
  • PHP Manual
  • DOMCharacterData
  • Replace a substring within the DOMCharacterData node

DOMCharacterData::replaceData

(PHP 5, PHP 7)

DOMCharacterData::replaceData — Replace a substring within the DOMCharacterData node

Descrição

public DOMCharacterData::replaceData ( int $offset , int $count , string $data ) : bool

Replace count characters starting from position offset with data.

Parâmetros

offset

The offset from which to start replacing.

count

The number of characters to replace. If the sum of offset and count exceeds the length, then all characters to the end of the data are replaced.

data

The string with which the range must be replaced.

Valor Retornado

Não há valor retornado.

Erros

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

Veja Também

  • DOMCharacterData::appendData() - Append the string to the end of the character data of the node
  • DOMCharacterData::deleteData() - Remove a range of characters from the node
  • DOMCharacterData::insertData() - Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::substringData() - Extracts a range of data from the node


Extracts a range of data from the node

  • « DOMCharacterData::replaceData
  • DOMComment »
  • PHP Manual
  • DOMCharacterData
  • Extracts a range of data from the node

DOMCharacterData::substringData

(PHP 5, PHP 7)

DOMCharacterData::substringData — Extracts a range of data from the node

Descrição

public DOMCharacterData::substringData ( int $offset , int $count ) : string|false

Returns the specified substring.

Parâmetros

offset

Start offset of substring to extract.

count

The number of characters to extract.

Valor Retornado

The specified substring. If the sum of offset and count exceeds the length, then all 16-bit units to the end of the data are returned.

Erros

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

Veja Também

  • DOMCharacterData::appendData() - Append the string to the end of the character data of the node
  • DOMCharacterData::deleteData() - Remove a range of characters from the node
  • DOMCharacterData::insertData() - Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::replaceData() - Replace a substring within the DOMCharacterData node


The DOMComment class

(PHP 5, PHP 7)

Introdução

Represents comment nodes, characters delimited by <!-- and -->.

Sinopse da classe

DOMComment extends DOMCharacterData {
/* Propriedades herdadas */
public string $data ;
public readonly int $length ;
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Métodos */
public __construct ( string $data = "" )
/* Métodos herdados */
public DOMCharacterData::appendData ( string $data ) : bool
public DOMCharacterData::deleteData ( int $offset , int $count ) : bool
public DOMCharacterData::insertData ( int $offset , string $data ) : bool
public DOMCharacterData::replaceData ( int $offset , int $count , string $data ) : bool
public DOMCharacterData::substringData ( int $offset , int $count ) : string|false
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public DOMNode::isDefaultNamespace ( string $namespace ) : bool
public DOMNode::isSameNode ( DOMNode $otherNode ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespace ) : string|null
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false
public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Veja Também

  • » W3C specification of Comment

Índice

  • DOMComment::__construct — Creates a new DOMComment object


Creates a new DOMComment object

  • « DOMComment
  • DOMDocument »
  • PHP Manual
  • DOMComment
  • Creates a new DOMComment object

DOMComment::__construct

(PHP 5, PHP 7)

DOMComment::__construct — Creates a new DOMComment object

Descrição

public DOMComment::__construct ( string $data = "" )

Creates a new DOMComment object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument::createComment.

Parâmetros

data

The value of the comment.

Exemplos

Exemplo #1 Creating a new DOMComment

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$comment = $element->appendChild(new DOMComment('root comment'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root><!--root comment--></root> */

?>

Veja Também

  • DOMDocument::createComment() - Create new comment node


The DOMDocument class

(PHP 5, PHP 7)

Introdução

Represents an entire HTML or XML document; serves as the root of the document tree.

Sinopse da classe

DOMDocument extends DOMNode {
/* Propriedades */
public readonly string $actualEncoding ;
public readonly DOMConfiguration $config ;
public readonly DOMDocumentType $doctype ;
public readonly DOMElement $documentElement ;
public string|null $documentURI ;
public string $encoding ;
public bool $formatOutput ;
public readonly DOMImplementation $implementation ;
public bool $preserveWhiteSpace = true ;
public bool $recover ;
public bool $resolveExternals ;
public bool $standalone ;
public bool $strictErrorChecking = true ;
public bool $substituteEntities ;
public bool $validateOnParse = false ;
public string $version ;
public readonly string|null $xmlEncoding ;
public bool $xmlStandalone ;
public string $xmlVersion ;
/* Propriedades herdadas */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Métodos */
public __construct ( string $version = "1.0" , string $encoding = "" )
public createAttribute ( string $localName ) : DOMAttr|false
public createAttributeNS ( string|null $namespace , string $qualifiedName ) : DOMAttr|false
public createCDATASection ( string $data ) : DOMCdataSection|false
public createComment ( string $data ) : DOMComment|false
public createDocumentFragment ( ) : DOMDocumentFragment|false
public createElement ( string $localName , string $value = "" ) : DOMElement|false
public createElementNS ( string|null $namespace , string $qualifiedName , string $value = "" ) : DOMElement|false
public createEntityReference ( string $name ) : DOMEntityReference|false
public createProcessingInstruction ( string $target , string $data = "" ) : DOMProcessingInstruction|false
public createTextNode ( string $data ) : DOMText|false
public getElementById ( string $elementId ) : DOMElement|null
public getElementsByTagName ( string $qualifiedName ) : DOMNodeList
public getElementsByTagNameNS ( string $namespace , string $localName ) : DOMNodeList
public importNode ( DOMNode $node , bool $deep = false ) : DOMNode|false
public load ( string $filename , int $options = 0 ) : DOMDocument|bool
public loadHTML ( string $source , int $options = 0 ) : DOMDocument|bool
public loadHTMLFile ( string $filename , int $options = 0 ) : DOMDocument|bool
public loadXML ( string $source , int $options = 0 ) : DOMDocument|bool
public normalizeDocument ( ) : void
public registerNodeClass ( string $baseClass , string|null $extendedClass ) : bool
public relaxNGValidate ( string $filename ) : bool
public relaxNGValidateSource ( string $source ) : bool
public save ( string $filename , int $options = 0 ) : int|false
public saveHTML ( DOMNode|null $node = null ) : string|false
public saveHTMLFile ( string $filename ) : int|false
public saveXML ( DOMNode|null $node = null , int $options = 0 ) : string|false
public schemaValidate ( string $filename , int $flags = 0 ) : bool
public schemaValidateSource ( string $source , int $flags = 0 ) : bool
public validate ( ) : bool
public xinclude ( int $options = 0 ) : int|false
/* Métodos herdados */
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public DOMNode::isDefaultNamespace ( string $namespace ) : bool
public DOMNode::isSameNode ( DOMNode $otherNode ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespace ) : string|null
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false
public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Propriedades

actualEncoding

Deprecated. Actual encoding of the document, is a readonly equivalent to encoding.

config

Deprecated. Configuration used when DOMDocument::normalizeDocument() is invoked.

doctype

The Document Type Declaration associated with this document.

documentElement

This is a convenience attribute that allows direct access to the child node that is the document element of the document.

documentURI

The location of the document or null if undefined.

encoding

Encoding of the document, as specified by the XML declaration. This attribute is not present in the final DOM Level 3 specification, but is the only way of manipulating XML document encoding in this implementation.

formatOutput

Nicely formats output with indentation and extra space. This has no effect if the document was loaded with preserveWhitespace enabled.

implementation

The DOMImplementation object that handles this document.

preserveWhiteSpace

Do not remove redundant white space. Default to true. Setting this to false has the same effect as passing LIBXML_NOBLANKS as option to DOMDocument::load() etc.

recover

Proprietary. Enables recovery mode, i.e. trying to parse non-well formed documents. This attribute is not part of the DOM specification and is specific to libxml.

resolveExternals

Set it to true to load external entities from a doctype declaration. This is useful for including character entities in your XML document.

standalone

Deprecated. Whether or not the document is standalone, as specified by the XML declaration, corresponds to xmlStandalone.

strictErrorChecking

Throws DOMException on errors. Default to true.

substituteEntities

Proprietary. Whether or not to substitute entities. This attribute is not part of the DOM specification and is specific to libxml.

Cuidado

Enabling entity substitution may facilitate XML External Entity (XXE) attacks.

validateOnParse

Loads and validates against the DTD. Default to false.

version

Deprecated. Version of XML, corresponds to xmlVersion.

xmlEncoding

An attribute specifying, as part of the XML declaration, the encoding of this document. This is null when unspecified or when it is not known, such as when the Document was created in memory.

xmlStandalone

An attribute specifying, as part of the XML declaration, whether this document is standalone. This is false when unspecified.

xmlVersion

An attribute specifying, as part of the XML declaration, the version number of this document. If there is no declaration and if this document supports the "XML" feature, the value is "1.0".

Notas

Nota:

The DOM extension uses UTF-8 encoding. Use utf8_encode() and utf8_decode() to work with texts in ISO-8859-1 encoding or iconv for other encodings.

Nota:

When using json_encode() on a DOMDocument object the result will be that of encoding an empty object.

Veja Também

  • » W3C specification for Document

Índice

  • DOMDocument::__construct — Creates a new DOMDocument object
  • DOMDocument::createAttribute — Create new attribute
  • DOMDocument::createAttributeNS — Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection — Create new cdata node
  • DOMDocument::createComment — Create new comment node
  • DOMDocument::createDocumentFragment — Create new document fragment
  • DOMDocument::createElement — Create new element node
  • DOMDocument::createElementNS — Create new element node with an associated namespace
  • DOMDocument::createEntityReference — Create new entity reference node
  • DOMDocument::createProcessingInstruction — Creates new PI node
  • DOMDocument::createTextNode — Create new text node
  • DOMDocument::getElementById — Searches for an element with a certain id
  • DOMDocument::getElementsByTagName — Searches for all elements with given local tag name
  • DOMDocument::getElementsByTagNameNS — Searches for all elements with given tag name in specified namespace
  • DOMDocument::importNode — Import node into current document
  • DOMDocument::load — Load XML from a file
  • DOMDocument::loadHTML — Load HTML from a string
  • DOMDocument::loadHTMLFile — Load HTML from a file
  • DOMDocument::loadXML — Load XML from a string
  • DOMDocument::normalizeDocument — Normalizes the document
  • DOMDocument::registerNodeClass — Register extended class used to create base node type
  • DOMDocument::relaxNGValidate — Performs relaxNG validation on the document
  • DOMDocument::relaxNGValidateSource — Performs relaxNG validation on the document
  • DOMDocument::save — Dumps the internal XML tree back into a file
  • DOMDocument::saveHTML — Dumps the internal document into a string using HTML formatting
  • DOMDocument::saveHTMLFile — Dumps the internal document into a file using HTML formatting
  • DOMDocument::saveXML — Dumps the internal XML tree back into a string
  • DOMDocument::schemaValidate — Validates a document based on a schema. Only XML Schema 1.0 is supported.
  • DOMDocument::schemaValidateSource — Validates a document based on a schema
  • DOMDocument::validate — Validates the document based on its DTD
  • DOMDocument::xinclude — Substitutes XIncludes in a DOMDocument Object


Creates a new DOMDocument object

  • « DOMDocument
  • DOMDocument::createAttribute »
  • PHP Manual
  • DOMDocument
  • Creates a new DOMDocument object

DOMDocument::__construct

(PHP 5, PHP 7)

DOMDocument::__construct — Creates a new DOMDocument object

Descrição

public DOMDocument::__construct
 ( string $version = "1.0"
, string $encoding = ""
)

Creates a new DOMDocument object.

Parâmetros

version

The version number of the document as part of the XML declaration.

encoding

The encoding of the document as part of the XML declaration.

Exemplos

Exemplo #1 Creating a new DOMDocument

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?> */

?>

Veja Também

  • DOMImplementation::createDocument() - Creates a DOMDocument object of the specified type with its document element


Create new attribute

  • « DOMDocument::__construct
  • DOMDocument::createAttributeNS »
  • PHP Manual
  • DOMDocument
  • Create new attribute

DOMDocument::createAttribute

(PHP 5, PHP 7)

DOMDocument::createAttribute — Create new attribute

Descrição

public DOMDocument::createAttribute ( string $localName ) : DOMAttr|false

This function creates a new instance of class DOMAttr. Este nó não será exibido no documento a não ser que ele seja inserido, por exemplo, com DOMNode->appendChild().

Parâmetros

localName

The name of the attribute.

Valor Retornado

The new DOMAttr or false if an error occurred.

Erros

DOM_INVALID_CHARACTER_ERR

Raised if localName contains an invalid character.

Veja Também

  • DOMNode::appendChild() - Adiciona um novo nó filho ao final dos filhos
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node


Create new attribute node with an associated namespace

  • « DOMDocument::createAttribute
  • DOMDocument::createCDATASection »
  • PHP Manual
  • DOMDocument
  • Create new attribute node with an associated namespace

DOMDocument::createAttributeNS

(PHP 5, PHP 7)

DOMDocument::createAttributeNS — Create new attribute node with an associated namespace

Descrição

public DOMDocument::createAttributeNS ( string|null $namespace , string $qualifiedName ) : DOMAttr|false

This function creates a new instance of class DOMAttr. Este nó não será exibido no documento a não ser que ele seja inserido, por exemplo, com DOMNode->appendChild().

Parâmetros

namespace

The URI of the namespace.

qualifiedName

The tag name and prefix of the attribute, as prefix:tagname.

Valor Retornado

The new DOMAttr or false if an error occurred.

Erros

DOM_INVALID_CHARACTER_ERR

Raised if qualifiedName contains an invalid character.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a malformed qualified name, or if qualifiedName has a prefix and namespace is null.

Veja Também

  • DOMNode::appendChild() - Adiciona um novo nó filho ao final dos filhos
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node


Create new cdata node

  • « DOMDocument::createAttributeNS
  • DOMDocument::createComment »
  • PHP Manual
  • DOMDocument
  • Create new cdata node

DOMDocument::createCDATASection

(PHP 5, PHP 7)

DOMDocument::createCDATASection — Create new cdata node

Descrição

public DOMDocument::createCDATASection ( string $data ) : DOMCdataSection|false

This function creates a new instance of class DOMCDATASection. Este nó não será exibido no documento a não ser que ele seja inserido, por exemplo, com DOMNode->appendChild().

Parâmetros

data

The content of the cdata.

Valor Retornado

The new DOMCDATASection or false if an error occurred.

Veja Também

  • DOMNode::appendChild() - Adiciona um novo nó filho ao final dos filhos
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node


Create new comment node

  • « DOMDocument::createCDATASection
  • DOMDocument::createDocumentFragment »
  • PHP Manual
  • DOMDocument
  • Create new comment node

DOMDocument::createComment

(PHP 5, PHP 7)

DOMDocument::createComment — Create new comment node

Descrição

public DOMDocument::createComment ( string $data ) : DOMComment|false

This function creates a new instance of class DOMComment. Este nó não será exibido no documento a não ser que ele seja inserido, por exemplo, com DOMNode->appendChild().

Parâmetros

data

The content of the comment.

Valor Retornado

The new DOMComment or false if an error occurred.

Veja Também

  • DOMNode::appendChild() - Adiciona um novo nó filho ao final dos filhos
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node


Create new document fragment

  • « DOMDocument::createComment
  • DOMDocument::createElement »
  • PHP Manual
  • DOMDocument
  • Create new document fragment

DOMDocument::createDocumentFragment

(PHP 5, PHP 7)

DOMDocument::createDocumentFragment — Create new document fragment

Descrição

public DOMDocument::createDocumentFragment ( ) : DOMDocumentFragment|false

This function creates a new instance of class DOMDocumentFragment. Este nó não será exibido no documento a não ser que ele seja inserido, por exemplo, com DOMNode->appendChild().

Valor Retornado

The new DOMDocumentFragment or false if an error occurred.

Veja Também

  • DOMNode::appendChild() - Adiciona um novo nó filho ao final dos filhos
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node


Create new element node

  • « DOMDocument::createDocumentFragment
  • DOMDocument::createElementNS »
  • PHP Manual
  • DOMDocument
  • Create new element node

DOMDocument::createElement

(PHP 5, PHP 7)

DOMDocument::createElement — Create new element node

Descrição

public DOMDocument::createElement ( string $localName , string $value = "" ) : DOMElement|false

This function creates a new instance of class DOMElement. Este nó não será exibido no documento a não ser que ele seja inserido, por exemplo, com DOMNode->appendChild().

Parâmetros

localName

The tag name of the element.

value

The value of the element. By default, an empty element will be created. The value can also be set later with DOMElement::$nodeValue.

The value is used verbatim except that the < and > entity references will escaped. Note that & has to be manually escaped; otherwise it is regarded as starting an entity reference. Also " won't be escaped.

Valor Retornado

Returns a new instance of class DOMElement or false if an error occurred.

Erros

DOM_INVALID_CHARACTER_ERR

Raised if localName contains an invalid character.

Exemplos

Exemplo #1 Creating a new element and inserting it as root

<?php

$dom = new DOMDocument('1.0', 'utf-8');

$element = $dom->createElement('test', 'This is the root element!');

// We insert the new element as root (child of the document)
$dom->appendChild($element);

echo $dom->saveXML();
?>

O exemplo acima irá imprimir:

<?xml version="1.0" encoding="utf-8"?>
<test>This is the root element!</test>

Exemplo #2 Passing text containing an unescaped & as value

<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('foo', 'me & you');
$dom->appendChild($element);
echo $dom->saveXML();
?>

O exemplo acima irá imprimir algo similar à:

Warning: DOMDocument::createElement(): unterminated entity reference             you in /in/BjTCg on line 4
<?xml version="1.0" encoding="utf-8"?>
<foo/>

Notas

Nota:

The value will not be escaped. Use DOMDocument::createTextNode() to create a text node with escaping support.

Veja Também

  • DOMNode::appendChild() - Adiciona um novo nó filho ao final dos filhos
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node


Create new element node with an associated namespace

  • « DOMDocument::createElement
  • DOMDocument::createEntityReference »
  • PHP Manual
  • DOMDocument
  • Create new element node with an associated namespace

DOMDocument::createElementNS

(PHP 5, PHP 7)

DOMDocument::createElementNS — Create new element node with an associated namespace

Descrição

public DOMDocument::createElementNS ( string|null $namespace , string $qualifiedName , string $value = "" ) : DOMElement|false

This function creates a new element node with an associated namespace. Este nó não será exibido no documento a não ser que ele seja inserido, por exemplo, com DOMNode->appendChild().

Parâmetros

namespace

The URI of the namespace.

qualifiedName

The qualified name of the element, as prefix:tagname.

value

The value of the element. By default, an empty element will be created. You can also set the value later with DOMElement::$nodeValue.

Valor Retornado

The new DOMElement or false if an error occurred.

Erros

DOM_INVALID_CHARACTER_ERR

Raised if qualifiedName contains an invalid character.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a maformed qualified name.

Exemplos

Exemplo #1 Creating a new element and inserting it as root

<?php

$dom = new DOMDocument('1.0', 'utf-8');

$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test', 'This is the root element!');

// We insert the new element as root (child of the document)
$dom->appendChild($element);

echo $dom->saveXML();
?>

O exemplo acima irá imprimir:

<?xml version="1.0" encoding="utf-8"?>
<xfoo:test xmlns:xfoo="http://www.example.com/XFoo">This is the root element!</xfoo:test>

Exemplo #2 A namespace prefix example

<?php
$doc  = new DOMDocument('1.0', 'utf-8');
$doc->formatOutput = true;
$root = $doc->createElementNS('http://www.w3.org/2005/Atom', 'element');
$doc->appendChild($root);
$root->setAttributeNS('http://www.w3.org/2000/xmlns/' ,'xmlns:g', 'http://base.google.com/ns/1.0');
$item = $doc->createElementNS('http://base.google.com/ns/1.0', 'g:item_type', 'house');
$root->appendChild($item);

echo $doc->saveXML(), "\n";

echo $item->namespaceURI, "\n"; // Outputs: http://base.google.com/ns/1.0
echo $item->prefix, "\n";       // Outputs: g
echo $item->localName, "\n";    // Outputs: item_type
?>

O exemplo acima irá imprimir:

<?xml version="1.0" encoding="utf-8"?>
<element xmlns="http://www.w3.org/2005/Atom" xmlns:g="http://base.google.com/ns/1.0">
  <g:item_type>house</g:item_type>
</element>

http://base.google.com/ns/1.0
g
item_type

Veja Também

  • DOMNode::appendChild() - Adiciona um novo nó filho ao final dos filhos
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node


Create new entity reference node

  • « DOMDocument::createElementNS
  • DOMDocument::createProcessingInstruction »
  • PHP Manual
  • DOMDocument
  • Create new entity reference node

DOMDocument::createEntityReference

(PHP 5, PHP 7)

DOMDocument::createEntityReference — Create new entity reference node

Descrição

public DOMDocument::createEntityReference ( string $name ) : DOMEntityReference|false

This function creates a new instance of class DOMEntityReference. Este nó não será exibido no documento a não ser que ele seja inserido, por exemplo, com DOMNode->appendChild().

Parâmetros

name

The content of the entity reference, e.g. the entity reference minus the leading & and the trailing ; characters.

Valor Retornado

The new DOMEntityReference or false if an error occurred.

Erros

DOM_INVALID_CHARACTER_ERR

Raised if name contains an invalid character.

Veja Também

  • DOMNode::appendChild() - Adiciona um novo nó filho ao final dos filhos
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node


Creates new PI node

  • « DOMDocument::createEntityReference
  • DOMDocument::createTextNode »
  • PHP Manual
  • DOMDocument
  • Creates new PI node

DOMDocument::createProcessingInstruction

(PHP 5, PHP 7)

DOMDocument::createProcessingInstruction — Creates new PI node

Descrição

public DOMDocument::createProcessingInstruction ( string $target , string $data = "" ) : DOMProcessingInstruction|false

This function creates a new instance of class DOMProcessingInstruction. Este nó não será exibido no documento a não ser que ele seja inserido, por exemplo, com DOMNode->appendChild().

Parâmetros

target

The target of the processing instruction.

data

The content of the processing instruction.

Valor Retornado

The new DOMProcessingInstruction or false if an error occurred.

Erros

DOM_INVALID_CHARACTER_ERR

Raised if target contains an invalid character.

Veja Também

  • DOMNode::appendChild() - Adiciona um novo nó filho ao final dos filhos
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createTextNode() - Create new text node


Create new text node

  • « DOMDocument::createProcessingInstruction
  • DOMDocument::getElementById »
  • PHP Manual
  • DOMDocument
  • Create new text node

DOMDocument::createTextNode

(PHP 5, PHP 7)

DOMDocument::createTextNode — Create new text node

Descrição

public DOMDocument::createTextNode ( string $data ) : DOMText|false

This function creates a new instance of class DOMText. Este nó não será exibido no documento a não ser que ele seja inserido, por exemplo, com DOMNode->appendChild().

Parâmetros

data

The content of the text.

Valor Retornado

The new DOMText or false if an error occurred.

Veja Também

  • DOMNode::appendChild() - Adiciona um novo nó filho ao final dos filhos
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node


Searches for an element with a certain id

  • « DOMDocument::createTextNode
  • DOMDocument::getElementsByTagName »
  • PHP Manual
  • DOMDocument
  • Searches for an element with a certain id

DOMDocument::getElementById

(PHP 5, PHP 7)

DOMDocument::getElementById — Searches for an element with a certain id

Descrição

public DOMDocument::getElementById ( string $elementId ) : DOMElement|null

This function is similar to DOMDocument::getElementsByTagName but searches for an element with a given id.

For this function to work, you will need either to set some ID attributes with DOMElement::setIdAttribute or a DTD which defines an attribute to be of type ID. In the later case, you will need to validate your document with DOMDocument::validate or DOMDocument::$validateOnParse before using this function.

Parâmetros

elementId

The unique id value for an element.

Valor Retornado

Returns the DOMElement or null if the element is not found.

Exemplos

Exemplo #1 DOMDocument::getElementById() Example

Os exemplos a seguir supõem um arquivo book.xml com o seguinte conteúdo:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books [
  <!ELEMENT books   (book+)>
  <!ELEMENT book    (title, author+, xhtml:blurb?)>
  <!ELEMENT title   (#PCDATA)>
  <!ELEMENT blurb   (#PCDATA)>
  <!ELEMENT author  (#PCDATA)>
  <!ATTLIST books   xmlns        CDATA  #IMPLIED>
  <!ATTLIST books   xmlns:xhtml  CDATA  #IMPLIED>
  <!ATTLIST book    id           ID     #IMPLIED>
  <!ATTLIST author  email        CDATA  #IMPLIED>
]>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<books xmlns="http://books.php/" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <book id="php-basics">
    <title>PHP Basics</title>
    <author email="jim.smith@basics.php">Jim Smith</author>
    <author email="jane.smith@basics.php">Jane Smith</author>
    <xhtml:blurb><![CDATA[
<p><em>PHP Basics</em> provides an introduction to PHP.</p>
]]></xhtml:blurb>
  </book>
  <book id="php-advanced">
    <title>PHP Advanced Programming</title>
    <author email="jon.doe@advanced.php">Jon Doe</author>
  </book>
</books>
<?php

$doc = new DomDocument;

// We need to validate our document before referring to the id
$doc->validateOnParse = true;
$doc->Load('book.xml');

echo "The element whose id is 'php-basics' is: " . $doc->getElementById('php-basics')->tagName . "\n";

?>

O exemplo acima irá imprimir:

The element whose id is 'php-basics' is: book

Veja Também

  • DOMDocument::getElementsByTagName() - Searches for all elements with given local tag name


Searches for all elements with given local tag name

  • « DOMDocument::getElementById
  • DOMDocument::getElementsByTagNameNS »
  • PHP Manual
  • DOMDocument
  • Searches for all elements with given local tag name

DOMDocument::getElementsByTagName

(PHP 5, PHP 7)

DOMDocument::getElementsByTagName — Searches for all elements with given local tag name

Descrição

public DOMDocument::getElementsByTagName ( string $qualifiedName ) : DOMNodeList

This function returns a new instance of class DOMNodeList containing all the elements with a given local tag name.

Parâmetros

qualifiedName

The local name (without namespace) of the tag to match on. The special value * matches all tags.

Valor Retornado

A new DOMNodeList object containing all the matched elements.

Exemplos

Exemplo #1 Basic Usage Example

<?php
$xml = <<< XML
<?xml version="1.0" encoding="utf-8"?>
<books>
 <book>Patterns of Enterprise Application Architecture</book>
 <book>Design Patterns: Elements of Reusable Software Design</book>
 <book>Clean Code</book>
</books>
XML;

$dom = new DOMDocument;
$dom->loadXML($xml);
$books = $dom->getElementsByTagName('book');
foreach ($books as $book) {
    echo $book->nodeValue, PHP_EOL;
}
?>

O exemplo acima irá imprimir:

Patterns of Enterprise Application Architecture
Design Patterns: Elements of Reusable Software Design
Clean Code

Veja Também

  • DOMDocument::getElementsByTagNameNS() - Searches for all elements with given tag name in specified namespace


Searches for all elements with given tag name in specified namespace

  • « DOMDocument::getElementsByTagName
  • DOMDocument::importNode »
  • PHP Manual
  • DOMDocument
  • Searches for all elements with given tag name in specified namespace

DOMDocument::getElementsByTagNameNS

(PHP 5, PHP 7)

DOMDocument::getElementsByTagNameNS — Searches for all elements with given tag name in specified namespace

Descrição

public DOMDocument::getElementsByTagNameNS ( string $namespace , string $localName ) : DOMNodeList

Returns a DOMNodeList of all elements with a given local name and a namespace URI.

Parâmetros

namespace

The namespace URI of the elements to match on. The special value * matches all namespaces.

localName

The local name of the elements to match on. The special value * matches all local names.

Valor Retornado

A new DOMNodeList object containing all the matched elements.

Exemplos

Exemplo #1 Get all the XInclude elements

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Books of the other guy..</title>
<para>
 <xi:include href="book.xml">
  <xi:fallback>
   <error>xinclude: book.xml not found</error>
  </xi:fallback>
 </xi:include>
 <include>
  This is another namespace
 </include>
</para>
</chapter>
EOD;
$dom = new DOMDocument;

// load the XML string defined above
$dom->loadXML($xml);

foreach ($dom->getElementsByTagNameNS('http://www.w3.org/2001/XInclude', '*') as $element) {
    echo 'local name: ', $element->localName, ', prefix: ', $element->prefix, "\n";
}
?>

O exemplo acima irá imprimir:

local name: include, prefix: xi
local name: fallback, prefix: xi

Veja Também

  • DOMDocument::getElementsByTagName() - Searches for all elements with given local tag name


Import node into current document

  • « DOMDocument::getElementsByTagNameNS
  • DOMDocument::load »
  • PHP Manual
  • DOMDocument
  • Import node into current document

DOMDocument::importNode

(PHP 5, PHP 7)

DOMDocument::importNode — Import node into current document

Descrição

public DOMDocument::importNode ( DOMNode $node , bool $deep = false ) : DOMNode|false

This function returns a copy of the node to import and associates it with the current document.

Parâmetros

node

The node to import.

deep

If set to true, this method will recursively import the subtree under the node.

Nota:

To copy the nodes attributes deep needs to be set to true

Valor Retornado

The copied node or false, if it cannot be copied.

Erros

DOMException is thrown if node cannot be imported.

Exemplos

Exemplo #1 DOMDocument::importNode() example

Copying nodes between documents.

<?php

$orgdoc = new DOMDocument;
$orgdoc->loadXML("<root><element><child>text in child</child></element></root>");

// The node we want to import to a new document
$node = $orgdoc->getElementsByTagName("element")->item(0);

// Create a new document
$newdoc = new DOMDocument;
$newdoc->formatOutput = true;

// Add some markup
$newdoc->loadXML("<root><someelement>text in some element</someelement></root>");

echo "The 'new document' before copying nodes into it:\n";
echo $newdoc->saveXML();

// Import the node, and all its children, to the document
$node = $newdoc->importNode($node, true);
// And then append it to the "<root>" node
$newdoc->documentElement->appendChild($node);

echo "\nThe 'new document' after copying the nodes into it:\n";
echo $newdoc->saveXML();
?>

O exemplo acima irá imprimir:

The 'new document' before copying nodes into it:
<?xml version="1.0"?>
<root>
  <someelement>text in some element</someelement>
</root>

The 'new document' after copying the nodes into it:
<?xml version="1.0"?>
<root>
  <someelement>text in some element</someelement>
  <element>
    <child>text in child</child>
  </element>
</root>


Load XML from a file

  • « DOMDocument::importNode
  • DOMDocument::loadHTML »
  • PHP Manual
  • DOMDocument
  • Load XML from a file

DOMDocument::load

(PHP 5, PHP 7)

DOMDocument::load — Load XML from a file

Descrição

public DOMDocument::load ( string $filename , int $options = 0 ) : DOMDocument|bool

Loads an XML document from a file.

Aviso

Unix style paths with forward slashes can cause significant performance degradation on Windows systems; be sure to call realpath() in such a case.

Parâmetros

filename

The path to the XML document.

options

Bitwise OR of the libxml option constants.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. If called statically, returns a DOMDocument ou false em caso de falha.

Erros

If an empty string is passed as the filename or an empty file is named, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

This method may be called statically, but will issue an E_STRICT error.

Exemplos

Exemplo #1 Creating a Document

<?php
$doc = new DOMDocument();
$doc->load('book.xml');
echo $doc->saveXML();
?>

Veja Também

  • DOMDocument::loadXML() - Load XML from a string
  • DOMDocument::save() - Dumps the internal XML tree back into a file
  • DOMDocument::saveXML() - Dumps the internal XML tree back into a string


Load HTML from a string

  • « DOMDocument::load
  • DOMDocument::loadHTMLFile »
  • PHP Manual
  • DOMDocument
  • Load HTML from a string

DOMDocument::loadHTML

(PHP 5, PHP 7)

DOMDocument::loadHTML — Load HTML from a string

Descrição

public DOMDocument::loadHTML ( string $source , int $options = 0 ) : DOMDocument|bool

The function parses the HTML contained in the string source. Unlike loading XML, HTML does not have to be well-formed to load. This function may also be called statically to load and create a DOMDocument object. The static invocation may be used when no DOMDocument properties need to be set prior to loading.

Parâmetros

source

The HTML string.

options

Since PHP 5.4.0 and Libxml 2.6.0, you may also use the options parameter to specify additional Libxml parameters.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. If called statically, returns a DOMDocument ou false em caso de falha.

Erros

If an empty string is passed as the source, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

This method may be called statically, but will issue an E_STRICT error.

While malformed HTML should load successfully, this function may generate E_WARNING errors when it encounters bad markup. libxml's error handling functions may be used to handle these errors.

Exemplos

Exemplo #1 Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
echo $doc->saveHTML();
?>

Veja Também

  • DOMDocument::loadHTMLFile() - Load HTML from a file
  • DOMDocument::saveHTML() - Dumps the internal document into a string using HTML formatting
  • DOMDocument::saveHTMLFile() - Dumps the internal document into a file using HTML formatting


Load HTML from a file

  • « DOMDocument::loadHTML
  • DOMDocument::loadXML »
  • PHP Manual
  • DOMDocument
  • Load HTML from a file

DOMDocument::loadHTMLFile

(PHP 5, PHP 7)

DOMDocument::loadHTMLFile — Load HTML from a file

Descrição

public DOMDocument::loadHTMLFile ( string $filename , int $options = 0 ) : DOMDocument|bool

The function parses the HTML document in the file named filename. Unlike loading XML, HTML does not have to be well-formed to load.

Parâmetros

filename

The path to the HTML file.

options

Since PHP 5.4.0 and Libxml 2.6.0, you may also use the options parameter to specify additional Libxml parameters.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. If called statically, returns a DOMDocument ou false em caso de falha.

Erros

If an empty string is passed as the filename or an empty file is named, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

This method may be called statically, but will issue an E_STRICT error.

While malformed HTML should load successfully, this function may generate E_WARNING errors when it encounters bad markup. libxml's error handling functions may be used to handle these errors.

Exemplos

Exemplo #1 Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadHTMLFile("filename.html");
echo $doc->saveHTML();
?>

Veja Também

  • DOMDocument::loadHTML() - Load HTML from a string
  • DOMDocument::saveHTML() - Dumps the internal document into a string using HTML formatting
  • DOMDocument::saveHTMLFile() - Dumps the internal document into a file using HTML formatting


Load XML from a string

  • « DOMDocument::loadHTMLFile
  • DOMDocument::normalizeDocument »
  • PHP Manual
  • DOMDocument
  • Load XML from a string

DOMDocument::loadXML

(PHP 5, PHP 7)

DOMDocument::loadXML — Load XML from a string

Descrição

public DOMDocument::loadXML ( string $source , int $options = 0 ) : DOMDocument|bool

Loads an XML document from a string.

Parâmetros

source

The string containing the XML.

options

Bitwise OR of the libxml option constants.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. If called statically, returns a DOMDocument ou false em caso de falha.

Erros

If an empty string is passed as the source, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

This method may be called statically, but will issue an E_STRICT error.

Exemplos

Exemplo #1 Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Exemplo #2 Static invocation of loadXML

<?php
// Issues an E_STRICT error
$doc = DOMDocument::loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Veja Também

  • DOMDocument::load() - Load XML from a file
  • DOMDocument::save() - Dumps the internal XML tree back into a file
  • DOMDocument::saveXML() - Dumps the internal XML tree back into a string


Normalizes the document

  • « DOMDocument::loadXML
  • DOMDocument::registerNodeClass »
  • PHP Manual
  • DOMDocument
  • Normalizes the document

DOMDocument::normalizeDocument

(PHP 5, PHP 7)

DOMDocument::normalizeDocument — Normalizes the document

Descrição

public DOMDocument::normalizeDocument ( ) : void

This method acts as if you saved and then loaded the document, putting the document in a "normal" form.

Valor Retornado

Não há valor retornado.

Veja Também

  • » The DOM Specification
  • DOMNode::normalize() - Normalizes the node


Register extended class used to create base node type

  • « DOMDocument::normalizeDocument
  • DOMDocument::relaxNGValidate »
  • PHP Manual
  • DOMDocument
  • Register extended class used to create base node type

DOMDocument::registerNodeClass

(PHP 5 >= 5.2.0, PHP 7)

DOMDocument::registerNodeClass — Register extended class used to create base node type

Descrição

public DOMDocument::registerNodeClass ( string $baseClass , string|null $extendedClass ) : bool

This method allows you to register your own extended DOM class to be used afterward by the PHP DOM extension.

This method is not part of the DOM standard.

Parâmetros

baseClass

The DOM class that you want to extend. You can find a list of these classes in the chapter introduction.

extendedClass

Your extended class name. If null is provided, any previously registered class extending baseClass will be removed.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Adding a new method to DOMElement to ease our code

<?php

class myElement extends DOMElement {
   function appendElement($name) {
      return $this->appendChild(new myElement($name));
   }
}

class myDocument extends DOMDocument {
   function setRoot($name) {
      return $this->appendChild(new myElement($name));
   }
}

$doc = new myDocument();
$doc->registerNodeClass('DOMElement', 'myElement');

// From now on, adding an element to another costs only one method call !
$root = $doc->setRoot('root');
$child = $root->appendElement('child');
$child->setAttribute('foo', 'bar');

echo $doc->saveXML();

?>

O exemplo acima irá imprimir:

<?xml version="1.0"?>
<root><child foo="bar"/></root>

Exemplo #2 Retrieving elements as custom class

<?php
class myElement extends DOMElement {
    public function __toString() {
        return $this->nodeValue;
    }
}

$doc = new DOMDocument;
$doc->loadXML("<root><element><child>text in child</child></element></root>");
$doc->registerNodeClass("DOMElement", "myElement");

$element = $doc->getElementsByTagName("child")->item(0);
var_dump(get_class($element));

// And take advantage of the __toString method..
echo $element;
?>

O exemplo acima irá imprimir:

string(9) "myElement"
text in child

Exemplo #3 Retrieving owner document

When instantiating a custom DOMDocument the ownerDocument property will refer to the instantiated class, meaning there is no need (and in fact not possible) to use DOMDocument::registerNodeClass() with DOMDocument

<?php
class myDOMDocument extends DOMDocument {
}

class myOtherDOMDocument extends DOMDocument {
}

// Create myDOMDocument with some XML
$doc = new myDOMDocument;
$doc->loadXML("<root><element><child>text in child</child></element></root>");

$child = $doc->getElementsByTagName("child")->item(0);

// The current owner of the node is myDOMDocument
var_dump(get_class($child->ownerDocument));

// Import a node from myDOMDocument
$newdoc = new myOtherDOMDocument;
$child = $newdoc->importNode($child);

// The new owner of the node has changed to myOtherDOMDocument
var_dump(get_class($child->ownerDocument));
?>

O exemplo acima irá imprimir:

string(13) "myDOMDocument"
string(18) "myOtherDOMDocument"

Exemplo #4 Custom objects are transient

Cuidado

Objects of the registered node classes are transient, i.e. they are destroyed when they are no longer referenced from PHP code, and recreated when being retrieved again. That implies that custom property values will be lost after recreation.

<?php
class MyDOMElement extends DOMElement
{
    public $myProp = 'default value';
}

$doc = new DOMDocument();
$doc->registerNodeClass('DOMElement', 'MyDOMElement');

$node = $doc->createElement('a');
$node->myProp = 'modified value';
$doc->appendChild($node);

echo $doc->childNodes[0]->myProp, PHP_EOL;
unset($node);
echo $doc->childNodes[0]->myProp, PHP_EOL;
?>

O exemplo acima irá imprimir:

modified value
default value


Performs relaxNG validation on the document

  • « DOMDocument::registerNodeClass
  • DOMDocument::relaxNGValidateSource »
  • PHP Manual
  • DOMDocument
  • Performs relaxNG validation on the document

DOMDocument::relaxNGValidate

(PHP 5, PHP 7)

DOMDocument::relaxNGValidate — Performs relaxNG validation on the document

Descrição

public DOMDocument::relaxNGValidate ( string $filename ) : bool

Performs » relaxNG validation on the document based on the given RNG schema.

Parâmetros

filename

The RNG file.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • DOMDocument::relaxNGValidateSource() - Performs relaxNG validation on the document
  • DOMDocument::schemaValidate() - Validates a document based on a schema. Only XML Schema 1.0 is supported.
  • DOMDocument::schemaValidateSource() - Validates a document based on a schema
  • DOMDocument::validate() - Validates the document based on its DTD


Performs relaxNG validation on the document

  • « DOMDocument::relaxNGValidate
  • DOMDocument::save »
  • PHP Manual
  • DOMDocument
  • Performs relaxNG validation on the document

DOMDocument::relaxNGValidateSource

(PHP 5, PHP 7)

DOMDocument::relaxNGValidateSource — Performs relaxNG validation on the document

Descrição

public DOMDocument::relaxNGValidateSource ( string $source ) : bool

Performs » relaxNG validation on the document based on the given RNG source.

Parâmetros

source

A string containing the RNG schema.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • DOMDocument::relaxNGValidate() - Performs relaxNG validation on the document
  • DOMDocument::schemaValidate() - Validates a document based on a schema. Only XML Schema 1.0 is supported.
  • DOMDocument::schemaValidateSource() - Validates a document based on a schema
  • DOMDocument::validate() - Validates the document based on its DTD


Dumps the internal XML tree back into a file

  • « DOMDocument::relaxNGValidateSource
  • DOMDocument::saveHTML »
  • PHP Manual
  • DOMDocument
  • Dumps the internal XML tree back into a file

DOMDocument::save

(PHP 5, PHP 7)

DOMDocument::save — Dumps the internal XML tree back into a file

Descrição

public DOMDocument::save ( string $filename , int $options = 0 ) : int|false

Creates an XML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Parâmetros

filename

The path to the saved XML document.

options

Additional Options. Currently only LIBXML_NOEMPTYTAG is supported.

Valor Retornado

Returns the number of bytes written or false if an error occurred.

Exemplos

Exemplo #1 Saving a DOM tree into a file

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo 'Wrote: ' . $doc->save("/tmp/test.xml") . ' bytes'; // Wrote: 72 bytes

?>

Veja Também

  • DOMDocument::saveXML() - Dumps the internal XML tree back into a string
  • DOMDocument::load() - Load XML from a file
  • DOMDocument::loadXML() - Load XML from a string


Dumps the internal document into a string using HTML formatting

  • « DOMDocument::save
  • DOMDocument::saveHTMLFile »
  • PHP Manual
  • DOMDocument
  • Dumps the internal document into a string using HTML formatting

DOMDocument::saveHTML

(PHP 5, PHP 7)

DOMDocument::saveHTML — Dumps the internal document into a string using HTML formatting

Descrição

public DOMDocument::saveHTML ( DOMNode|null $node = null ) : string|false

Creates an HTML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Parâmetros

node

Optional parameter to output a subset of the document.

Valor Retornado

Returns the HTML, or false if an error occurred.

Exemplos

Exemplo #1 Saving a HTML tree into a string

<?php

$doc = new DOMDocument('1.0');

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo $doc->saveHTML();

?>

Veja Também

  • DOMDocument::saveHTMLFile() - Dumps the internal document into a file using HTML formatting
  • DOMDocument::loadHTML() - Load HTML from a string
  • DOMDocument::loadHTMLFile() - Load HTML from a file


Dumps the internal document into a file using HTML formatting

  • « DOMDocument::saveHTML
  • DOMDocument::saveXML »
  • PHP Manual
  • DOMDocument
  • Dumps the internal document into a file using HTML formatting

DOMDocument::saveHTMLFile

(PHP 5, PHP 7)

DOMDocument::saveHTMLFile — Dumps the internal document into a file using HTML formatting

Descrição

public DOMDocument::saveHTMLFile ( string $filename ) : int|false

Creates an HTML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Parâmetros

filename

The path to the saved HTML document.

Valor Retornado

Returns the number of bytes written or false if an error occurred.

Exemplos

Exemplo #1 Saving a HTML tree into a file

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo 'Wrote: ' . $doc->saveHTMLFile("/tmp/test.html") . ' bytes'; // Wrote: 129 bytes

?>

Veja Também

  • DOMDocument::saveHTML() - Dumps the internal document into a string using HTML formatting
  • DOMDocument::loadHTML() - Load HTML from a string
  • DOMDocument::loadHTMLFile() - Load HTML from a file


Dumps the internal XML tree back into a string

  • « DOMDocument::saveHTMLFile
  • DOMDocument::schemaValidate »
  • PHP Manual
  • DOMDocument
  • Dumps the internal XML tree back into a string

DOMDocument::saveXML

(PHP 5, PHP 7)

DOMDocument::saveXML — Dumps the internal XML tree back into a string

Descrição

public DOMDocument::saveXML ( DOMNode|null $node = null , int $options = 0 ) : string|false

Creates an XML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Parâmetros

node

Use this parameter to output only a specific node without XML declaration rather than the entire document.

options

Additional Options. Currently only LIBXML_NOEMPTYTAG is supported.

Valor Retornado

Returns the XML, or false if an error occurred.

Erros

DOM_WRONG_DOCUMENT_ERR

Raised if node is from another document.

Exemplos

Exemplo #1 Saving a DOM tree into a string

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo "Saving all the document:\n";
echo $doc->saveXML() . "\n";

echo "Saving only the title part:\n";
echo $doc->saveXML($title);

?>

O exemplo acima irá imprimir:

Saving all the document:
<?xml version="1.0"?>
<book>
  <title>This is the title</title>
</book>

Saving only the title part:
<title>This is the title</title>

Veja Também

  • DOMDocument::save() - Dumps the internal XML tree back into a file
  • DOMDocument::load() - Load XML from a file
  • DOMDocument::loadXML() - Load XML from a string


Validates a document based on a schema. Only XML Schema 1.0 is supported.

  • « DOMDocument::saveXML
  • DOMDocument::schemaValidateSource »
  • PHP Manual
  • DOMDocument
  • Validates a document based on a schema. Only XML Schema 1.0 is supported.

DOMDocument::schemaValidate

(PHP 5, PHP 7)

DOMDocument::schemaValidate — Validates a document based on a schema. Only XML Schema 1.0 is supported.

Descrição

public DOMDocument::schemaValidate ( string $filename , int $flags = 0 ) : bool

Validates a document based on the given schema file.

Parâmetros

filename

The path to the schema.

flags

A bitmask of Libxml schema validation flags. Currently the only supported value is LIBXML_SCHEMA_CREATE. Available since PHP 5.5.2 and Libxml 2.6.14.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.5.2 | Added the flags parameter

Veja Também

  • DOMDocument::schemaValidateSource() - Validates a document based on a schema
  • DOMDocument::relaxNGValidate() - Performs relaxNG validation on the document
  • DOMDocument::relaxNGValidateSource() - Performs relaxNG validation on the document
  • DOMDocument::validate() - Validates the document based on its DTD


Validates a document based on a schema

  • « DOMDocument::schemaValidate
  • DOMDocument::validate »
  • PHP Manual
  • DOMDocument
  • Validates a document based on a schema

DOMDocument::schemaValidateSource

(PHP 5, PHP 7)

DOMDocument::schemaValidateSource — Validates a document based on a schema

Descrição

public DOMDocument::schemaValidateSource ( string $source , int $flags = 0 ) : bool

Validates a document based on a schema defined in the given string.

Parâmetros

source

A string containing the schema.

flags

A bitmask of Libxml schema validation flags. Currently the only supported value is LIBXML_SCHEMA_CREATE. Available since PHP 5.5.2 and Libxml 2.6.14.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
5.5.2 | Added the flags parameter

Veja Também

  • DOMDocument::schemaValidate() - Validates a document based on a schema. Only XML Schema 1.0 is supported.
  • DOMDocument::relaxNGValidate() - Performs relaxNG validation on the document
  • DOMDocument::relaxNGValidateSource() - Performs relaxNG validation on the document
  • DOMDocument::validate() - Validates the document based on its DTD


Validates the document based on its DTD

  • « DOMDocument::schemaValidateSource
  • DOMDocument::xinclude »
  • PHP Manual
  • DOMDocument
  • Validates the document based on its DTD

DOMDocument::validate

(PHP 5, PHP 7)

DOMDocument::validate — Validates the document based on its DTD

Descrição

public DOMDocument::validate ( ) : bool

Validates the document based on its DTD.

You can also use the validateOnParse property of DOMDocument to make a DTD validation.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. If the document has no DTD attached, this method will return false.

Exemplos

Exemplo #1 Example of DTD validation

<?php
$dom = new DOMDocument;
$dom->load('book.xml');
if ($dom->validate()) {
    echo "This document is valid!\n";
}
?>

You can also validate your XML file while loading it:

<?php
$dom = new DOMDocument;
$dom->validateOnParse = true;
$dom->load('book.xml');
?>

Veja Também

  • DOMDocument::schemaValidate() - Validates a document based on a schema. Only XML Schema 1.0 is supported.
  • DOMDocument::schemaValidateSource() - Validates a document based on a schema
  • DOMDocument::relaxNGValidate() - Performs relaxNG validation on the document
  • DOMDocument::relaxNGValidateSource() - Performs relaxNG validation on the document


Substitutes XIncludes in a DOMDocument Object

  • « DOMDocument::validate
  • DOMDocumentFragment »
  • PHP Manual
  • DOMDocument
  • Substitutes XIncludes in a DOMDocument Object

DOMDocument::xinclude

(PHP 5, PHP 7)

DOMDocument::xinclude — Substitutes XIncludes in a DOMDocument Object

Descrição

public DOMDocument::xinclude ( int $options = 0 ) : int|false

This method substitutes » XIncludes in a DOMDocument object.

Nota:

Due to libxml2 automatically resolving entities, this method will produce unexpected results if the included XML file have an attached DTD.

Parâmetros

options

libxml parameters. Available since PHP 5.1.0 and Libxml 2.6.7.

Valor Retornado

Returns the number of XIncludes in the document, -1 if some processing failed, or false if there were no substitutions.

Exemplos

Exemplo #1 DOMDocument::xinclude() example

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
 <title>Books of the other guy..</title>
 <para>
  <xi:include href="book.xml">
   <xi:fallback>
    <error>xinclude: book.xml not found</error>
   </xi:fallback>
  </xi:include>
 </para>
</chapter>
EOD;

$dom = new DOMDocument;

// let's have a nice output
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;

// load the XML string defined above
$dom->loadXML($xml);

// substitute xincludes
$dom->xinclude();

echo $dom->saveXML();

?>

O exemplo acima irá imprimir algo similar à:

<?xml version="1.0"?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
  <title>Books of the other guy..</title>
  <para>
    <row xml:base="/home/didou/book.xml">
       <entry>The Grapes of Wrath</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>0140186409</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>The Pearl</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>014017737X</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>Samarcande</entry>
       <entry>Amine Maalouf</entry>
       <entry>fr</entry>
       <entry>2253051209</entry>
      </row>
  </para>
</chapter>


The DOMDocumentFragment class

(PHP 5, PHP 7)

Sinopse da classe

DOMDocumentFragment extends DOMNode {
/* Propriedades */
/* Propriedades herdadas */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Métodos */
public appendXML ( string $data ) : bool
/* Métodos herdados */
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public DOMNode::isDefaultNamespace ( string $namespace ) : bool
public DOMNode::isSameNode ( DOMNode $otherNode ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespace ) : string|null
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false
public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Índice

  • DOMDocumentFragment::appendXML — Append raw XML data


Append raw XML data

  • « DOMDocumentFragment
  • DOMDocumentType »
  • PHP Manual
  • DOMDocumentFragment
  • Append raw XML data

DOMDocumentFragment::appendXML

(PHP 5 >= 5.1.0, PHP 7)

DOMDocumentFragment::appendXML — Append raw XML data

Descrição

public DOMDocumentFragment::appendXML ( string $data ) : bool

Appends raw XML data to a DOMDocumentFragment.

This method is not part of the DOM standard. It was created as a simpler approach for appending an XML DocumentFragment in a DOMDocument.

If you want to stick to the standards, you will have to create a temporary DOMDocument with a dummy root and then loop through the child nodes of the root of your XML data to append them.

Parâmetros

data

XML to append.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Appending XML data to your document

<?php
$doc = new DOMDocument();
$doc->loadXML("<root/>");
$f = $doc->createDocumentFragment();
$f->appendXML("<foo>text</foo><bar>text2</bar>");
$doc->documentElement->appendChild($f);
echo $doc->saveXML();
?>

O exemplo acima irá imprimir:

<?xml version="1.0"?>
<root><foo>text</foo><bar>text2</bar></root>


The DOMDocumentType class

(PHP 5, PHP 7)

Introdução

Each DOMDocument has a doctype attribute whose value is either null or a DOMDocumentType object.

Sinopse da classe

DOMDocumentType extends DOMNode {
/* Propriedades */
public readonly string $publicId ;
public readonly string $systemId ;
public readonly string $name ;
public readonly DOMNamedNodeMap $entities ;
public readonly DOMNamedNodeMap $notations ;
public readonly string $internalSubset ;
/* Propriedades herdadas */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Métodos herdados */
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public DOMNode::isDefaultNamespace ( string $namespace ) : bool
public DOMNode::isSameNode ( DOMNode $otherNode ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespace ) : string|null
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false
public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Propriedades

publicId

The public identifier of the external subset.

systemId

The system identifier of the external subset. This may be an absolute URI or not.

name

The name of DTD; i.e., the name immediately following the DOCTYPE keyword.

entities

A DOMNamedNodeMap containing the general entities, both external and internal, declared in the DTD.

notations

A DOMNamedNodeMap containing the notations declared in the DTD.

internalSubset

The internal subset as a string, or null if there is none. This does not contain the delimiting square brackets.


The DOMElement class

(PHP 5, PHP 7)

Sinopse da classe

DOMElement extends DOMNode {
/* Propriedades */
public readonly bool $schemaTypeInfo ;
public readonly string $tagName ;
/* Propriedades herdadas */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Métodos */
public __construct ( string $qualifiedName , string|null $value = null , string $namespace = "" )
public getAttribute ( string $qualifiedName ) : string
public getAttributeNode ( string $qualifiedName ) : DOMAttr|DOMNamespaceNode|false
public getAttributeNodeNS ( string|null $namespace , string $localName ) : DOMAttr|DOMNamespaceNode|null
public getAttributeNS ( string|null $namespace , string $localName ) : string
public getElementsByTagName ( string $qualifiedName ) : DOMNodeList
public getElementsByTagNameNS ( string $namespace , string $localName ) : DOMNodeList
public hasAttribute ( string $qualifiedName ) : bool
public hasAttributeNS ( string|null $namespace , string $localName ) : bool
public removeAttribute ( string $qualifiedName ) : bool
public removeAttributeNode ( DOMAttr $attr ) : DOMAttr|false
public removeAttributeNS ( string|null $namespace , string $localName ) : void
public setAttribute ( string $qualifiedName , string $value ) : DOMAttr|bool
public setAttributeNode ( DOMAttr $attr ) : DOMAttr|null|false
public setAttributeNodeNS ( DOMAttr $attr ) : DOMAttr|null|false
public setAttributeNS ( string|null $namespace , string $qualifiedName , string $value ) : void
public setIdAttribute ( string $qualifiedName , bool $isId ) : void
public setIdAttributeNode ( DOMAttr $attr , bool $isId ) : void
public setIdAttributeNS ( string $namespace , string $qualifiedName , bool $isId ) : void
/* Métodos herdados */
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public DOMNode::isDefaultNamespace ( string $namespace ) : bool
public DOMNode::isSameNode ( DOMNode $otherNode ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespace ) : string|null
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false
public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Propriedades

schemaTypeInfo

Not implemented yet, always return null

tagName

The element name

Notas

Nota:

The DOM extension uses UTF-8 encoding. Use utf8_encode() and utf8_decode() to work with texts in ISO-8859-1 encoding or iconv for other encodings.

Índice

  • DOMElement::__construct — Creates a new DOMElement object
  • DOMElement::getAttribute — Returns value of attribute
  • DOMElement::getAttributeNode — Returns attribute node
  • DOMElement::getAttributeNodeNS — Returns attribute node
  • DOMElement::getAttributeNS — Returns value of attribute
  • DOMElement::getElementsByTagName — Gets elements by tagname
  • DOMElement::getElementsByTagNameNS — Get elements by namespaceURI and localName
  • DOMElement::hasAttribute — Checks to see if attribute exists
  • DOMElement::hasAttributeNS — Checks to see if attribute exists
  • DOMElement::removeAttribute — Removes attribute
  • DOMElement::removeAttributeNode — Removes attribute
  • DOMElement::removeAttributeNS — Removes attribute
  • DOMElement::setAttribute — Adds new attribute
  • DOMElement::setAttributeNode — Adds new attribute node to element
  • DOMElement::setAttributeNodeNS — Adds new attribute node to element
  • DOMElement::setAttributeNS — Adds new attribute
  • DOMElement::setIdAttribute — Declares the attribute specified by name to be of type ID
  • DOMElement::setIdAttributeNode — Declares the attribute specified by node to be of type ID
  • DOMElement::setIdAttributeNS — Declares the attribute specified by local name and namespace URI to be of type ID


Creates a new DOMElement object

  • « DOMElement
  • DOMElement::getAttribute »
  • PHP Manual
  • DOMElement
  • Creates a new DOMElement object

DOMElement::__construct

(PHP 5, PHP 7)

DOMElement::__construct — Creates a new DOMElement object

Descrição

public DOMElement::__construct ( string $qualifiedName , string|null $value = null , string $namespace = "" )

Creates a new DOMElement object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument::createElement or DOMDocument::createElementNS.

Parâmetros

qualifiedName

The tag name of the element. When also passing in namespaceURI, the element name may take a prefix to be associated with the URI.

value

The value of the element.

namespace

A namespace URI to create the element within a specific namespace.

Exemplos

Exemplo #1 Creating a new DOMElement

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$element_ns = new DOMElement('pr:node1', 'thisvalue', 'http://xyz');
$element->appendChild($element_ns);
echo $dom->saveXML(); /* <?xml version="1.0" encoding="utf-8"?>
<root><pr:node1 xmlns:pr="http://xyz">thisvalue</pr:node1></root> */

?>

Veja Também

  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace


Returns value of attribute

  • « DOMElement::__construct
  • DOMElement::getAttributeNode »
  • PHP Manual
  • DOMElement
  • Returns value of attribute

DOMElement::getAttribute

(PHP 5, PHP 7)

DOMElement::getAttribute — Returns value of attribute

Descrição

public DOMElement::getAttribute ( string $qualifiedName ) : string

Gets the value of the attribute with name qualifiedName for the current node.

Parâmetros

qualifiedName

The name of the attribute.

Valor Retornado

The value of the attribute, or an empty string if no attribute with the given qualifiedName is found.

Veja Também

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::setAttribute() - Adds new attribute
  • DOMElement::removeAttribute() - Removes attribute


Returns attribute node

  • « DOMElement::getAttribute
  • DOMElement::getAttributeNodeNS »
  • PHP Manual
  • DOMElement
  • Returns attribute node

DOMElement::getAttributeNode

(PHP 5, PHP 7)

DOMElement::getAttributeNode — Returns attribute node

Descrição

public DOMElement::getAttributeNode ( string $qualifiedName ) : DOMAttr|DOMNamespaceNode|false

Returns the attribute node with name qualifiedName for the current element.

Parâmetros

qualifiedName

The name of the attribute.

Valor Retornado

The attribute node. Note that for XML namespace declarations (xmlns and xmlns:* attributes) an instance of DOMNameSpaceNode is returned instead of a DOMAttr.

Veja Também

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::setAttributeNode() - Adds new attribute node to element
  • DOMElement::removeAttributeNode() - Removes attribute


Returns attribute node

  • « DOMElement::getAttributeNode
  • DOMElement::getAttributeNS »
  • PHP Manual
  • DOMElement
  • Returns attribute node

DOMElement::getAttributeNodeNS

(PHP 5, PHP 7)

DOMElement::getAttributeNodeNS — Returns attribute node

Descrição

public DOMElement::getAttributeNodeNS ( string|null $namespace , string $localName ) : DOMAttr|DOMNamespaceNode|null

Returns the attribute node in namespace namespace with local name localName for the current node.

Parâmetros

namespace

The namespace URI.

localName

The local name.

Valor Retornado

The attribute node. Note that for XML namespace declarations (xmlns and xmlns:* attributes) an instance of DOMNameSpaceNode is returned instead of a DOMAttr object.

Veja Também

  • DOMElement::hasAttributeNS() - Checks to see if attribute exists
  • DOMElement::setAttributeNodeNS() - Adds new attribute node to element
  • DOMElement::removeAttributeNode() - Removes attribute


Returns value of attribute

  • « DOMElement::getAttributeNodeNS
  • DOMElement::getElementsByTagName »
  • PHP Manual
  • DOMElement
  • Returns value of attribute

DOMElement::getAttributeNS

(PHP 5, PHP 7)

DOMElement::getAttributeNS — Returns value of attribute

Descrição

public DOMElement::getAttributeNS ( string|null $namespace , string $localName ) : string

Gets the value of the attribute in namespace namespace with local name localName for the current node.

Parâmetros

namespace

The namespace URI.

localName

The local name.

Valor Retornado

The value of the attribute, or an empty string if no attribute with the given localName and namespace is found.

Veja Também

  • DOMElement::hasAttributeNS() - Checks to see if attribute exists
  • DOMElement::setAttributeNS() - Adds new attribute
  • DOMElement::removeAttributeNS() - Removes attribute


Gets elements by tagname

  • « DOMElement::getAttributeNS
  • DOMElement::getElementsByTagNameNS »
  • PHP Manual
  • DOMElement
  • Gets elements by tagname

DOMElement::getElementsByTagName

(PHP 5, PHP 7)

DOMElement::getElementsByTagName — Gets elements by tagname

Descrição

public DOMElement::getElementsByTagName ( string $qualifiedName ) : DOMNodeList

This function returns a new instance of the class DOMNodeList of all descendant elements with a given tag qualifiedName, in the order in which they are encountered in a preorder traversal of this element tree.

Parâmetros

qualifiedName

The tag name. Use * to return all elements within the element tree.

Valor Retornado

This function returns a new instance of the class DOMNodeList of all matched elements.

Veja Também

  • DOMElement::getElementsByTagNameNS() - Get elements by namespaceURI and localName


Get elements by namespaceURI and localName

  • « DOMElement::getElementsByTagName
  • DOMElement::hasAttribute »
  • PHP Manual
  • DOMElement
  • Get elements by namespaceURI and localName

DOMElement::getElementsByTagNameNS

(PHP 5, PHP 7)

DOMElement::getElementsByTagNameNS — Get elements by namespaceURI and localName

Descrição

public DOMElement::getElementsByTagNameNS ( string $namespace , string $localName ) : DOMNodeList

This function fetch all the descendant elements with a given localName and namespace.

Parâmetros

namespace

The namespace URI.

localName

The local name. Use * to return all elements within the element tree.

Valor Retornado

This function returns a new instance of the class DOMNodeList of all matched elements in the order in which they are encountered in a preorder traversal of this element tree.

Veja Também

  • DOMElement::getElementsByTagName() - Gets elements by tagname


Checks to see if attribute exists

  • « DOMElement::getElementsByTagNameNS
  • DOMElement::hasAttributeNS »
  • PHP Manual
  • DOMElement
  • Checks to see if attribute exists

DOMElement::hasAttribute

(PHP 5, PHP 7)

DOMElement::hasAttribute — Checks to see if attribute exists

Descrição

public DOMElement::hasAttribute ( string $qualifiedName ) : bool

Indicates whether attribute named qualifiedName exists as a member of the element.

Parâmetros

qualifiedName

The attribute name.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • DOMElement::hasAttributeNS() - Checks to see if attribute exists
  • DOMElement::getAttribute() - Returns value of attribute
  • DOMElement::setAttribute() - Adds new attribute
  • DOMElement::removeAttribute() - Removes attribute


Checks to see if attribute exists

  • « DOMElement::hasAttribute
  • DOMElement::removeAttribute »
  • PHP Manual
  • DOMElement
  • Checks to see if attribute exists

DOMElement::hasAttributeNS

(PHP 5, PHP 7)

DOMElement::hasAttributeNS — Checks to see if attribute exists

Descrição

public DOMElement::hasAttributeNS ( string|null $namespace , string $localName ) : bool

Indicates whether attribute in namespace namespace named localName exists as a member of the element.

Parâmetros

namespace

The namespace URI.

localName

The local name.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::getAttributeNS() - Returns value of attribute
  • DOMElement::setAttributeNS() - Adds new attribute
  • DOMElement::removeAttributeNS() - Removes attribute


Removes attribute

  • « DOMElement::hasAttributeNS
  • DOMElement::removeAttributeNode »
  • PHP Manual
  • DOMElement
  • Removes attribute

DOMElement::removeAttribute

(PHP 5, PHP 7)

DOMElement::removeAttribute — Removes attribute

Descrição

public DOMElement::removeAttribute ( string $qualifiedName ) : bool

Removes attribute named qualifiedName from the element.

Parâmetros

qualifiedName

The name of the attribute.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Veja Também

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::getAttribute() - Returns value of attribute
  • DOMElement::setAttribute() - Adds new attribute


Removes attribute

  • « DOMElement::removeAttribute
  • DOMElement::removeAttributeNS »
  • PHP Manual
  • DOMElement
  • Removes attribute

DOMElement::removeAttributeNode

(PHP 5, PHP 7)

DOMElement::removeAttributeNode — Removes attribute

Descrição

public DOMElement::removeAttributeNode ( DOMAttr $attr ) : DOMAttr|false

Removes attribute attr from the element.

Parâmetros

attr

The attribute node.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND_ERROR

Raised if attr is not an attribute of the element.

Veja Também

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::getAttributeNode() - Returns attribute node
  • DOMElement::setAttributeNode() - Adds new attribute node to element


Removes attribute

  • « DOMElement::removeAttributeNode
  • DOMElement::setAttribute »
  • PHP Manual
  • DOMElement
  • Removes attribute

DOMElement::removeAttributeNS

(PHP 5, PHP 7)

DOMElement::removeAttributeNS — Removes attribute

Descrição

public DOMElement::removeAttributeNS ( string|null $namespace , string $localName ) : void

Removes attribute localName in namespace namespace from the element.

Parâmetros

namespace

The namespace URI.

localName

The local name.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Veja Também

  • DOMElement::hasAttributeNS() - Checks to see if attribute exists
  • DOMElement::getAttributeNS() - Returns value of attribute
  • DOMElement::setAttributeNS() - Adds new attribute


Adds new attribute

  • « DOMElement::removeAttributeNS
  • DOMElement::setAttributeNode »
  • PHP Manual
  • DOMElement
  • Adds new attribute

DOMElement::setAttribute

(PHP 5, PHP 7)

DOMElement::setAttribute — Adds new attribute

Descrição

public DOMElement::setAttribute ( string $qualifiedName , string $value ) : DOMAttr|bool

Sets an attribute with name qualifiedName to the given value. If the attribute does not exist, it will be created.

Parâmetros

qualifiedName

The name of the attribute.

value

The value of the attribute.

Valor Retornado

The new DOMAttr or false if an error occurred.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Exemplos

Exemplo #1 Setting an attribute

<?php
$doc = new DOMDocument("1.0");
$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);
$newnode->setAttribute("align", "left");
?>

Veja Também

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::getAttribute() - Returns value of attribute
  • DOMElement::removeAttribute() - Removes attribute


Adds new attribute node to element

  • « DOMElement::setAttribute
  • DOMElement::setAttributeNodeNS »
  • PHP Manual
  • DOMElement
  • Adds new attribute node to element

DOMElement::setAttributeNode

(PHP 5, PHP 7)

DOMElement::setAttributeNode — Adds new attribute node to element

Descrição

public DOMElement::setAttributeNode ( DOMAttr $attr ) : DOMAttr|null|false

Adds new attribute node attr to element.

Parâmetros

attr

The attribute node.

Valor Retornado

Returns old node if the attribute has been replaced or null.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Veja Também

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::getAttributeNode() - Returns attribute node
  • DOMElement::removeAttributeNode() - Removes attribute


Adds new attribute node to element

  • « DOMElement::setAttributeNode
  • DOMElement::setAttributeNS »
  • PHP Manual
  • DOMElement
  • Adds new attribute node to element

DOMElement::setAttributeNodeNS

(PHP 5, PHP 7)

DOMElement::setAttributeNodeNS — Adds new attribute node to element

Descrição

public DOMElement::setAttributeNodeNS ( DOMAttr $attr ) : DOMAttr|null|false

Adds new attribute node attr to element.

Parâmetros

attr

The attribute node.

Valor Retornado

Returns the old node if the attribute has been replaced.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Veja Também

  • DOMElement::hasAttributeNS() - Checks to see if attribute exists
  • DOMElement::getAttributeNodeNS() - Returns attribute node
  • DOMElement::removeAttributeNode() - Removes attribute


Adds new attribute

  • « DOMElement::setAttributeNodeNS
  • DOMElement::setIdAttribute »
  • PHP Manual
  • DOMElement
  • Adds new attribute

DOMElement::setAttributeNS

(PHP 5, PHP 7)

DOMElement::setAttributeNS — Adds new attribute

Descrição

public DOMElement::setAttributeNS ( string|null $namespace , string $qualifiedName , string $value ) : void

Sets an attribute with namespace namespace and name name to the given value. If the attribute does not exist, it will be created.

Parâmetros

namespace

The namespace URI.

qualifiedName

The qualified name of the attribute, as prefix:tagname.

value

The value of the attribute.

Valor Retornado

Não há valor retornado.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a malformed qualified name, or if qualifiedName has a prefix and namespace is null.

Veja Também

  • DOMElement::hasAttributeNS() - Checks to see if attribute exists
  • DOMElement::getAttributeNS() - Returns value of attribute
  • DOMElement::removeAttributeNS() - Removes attribute


Declares the attribute specified by name to be of type ID

  • « DOMElement::setAttributeNS
  • DOMElement::setIdAttributeNode »
  • PHP Manual
  • DOMElement
  • Declares the attribute specified by name to be of type ID

DOMElement::setIdAttribute

(PHP 5, PHP 7)

DOMElement::setIdAttribute — Declares the attribute specified by name to be of type ID

Descrição

public DOMElement::setIdAttribute ( string $qualifiedName , bool $isId ) : void

Declares the attribute qualifiedName to be of type ID.

Parâmetros

qualifiedName

The name of the attribute.

isId

Set it to true if you want qualifiedName to be of type ID, false otherwise.

Valor Retornado

Não há valor retornado.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if qualifiedName is not an attribute of this element.

Veja Também

  • DOMDocument::getElementById() - Searches for an element with a certain id
  • DOMElement::setIdAttributeNode() - Declares the attribute specified by node to be of type ID
  • DOMElement::setIdAttributeNS() - Declares the attribute specified by local name and namespace URI to be of type ID


Declares the attribute specified by node to be of type ID

  • « DOMElement::setIdAttribute
  • DOMElement::setIdAttributeNS »
  • PHP Manual
  • DOMElement
  • Declares the attribute specified by node to be of type ID

DOMElement::setIdAttributeNode

(PHP 5, PHP 7)

DOMElement::setIdAttributeNode — Declares the attribute specified by node to be of type ID

Descrição

public DOMElement::setIdAttributeNode ( DOMAttr $attr , bool $isId ) : void

Declares the attribute specified by attr to be of type ID.

Parâmetros

attr

The attribute node.

isId

Set it to true if you want name to be of type ID, false otherwise.

Valor Retornado

Não há valor retornado.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

Veja Também

  • DOMDocument::getElementById() - Searches for an element with a certain id
  • DOMElement::setIdAttribute() - Declares the attribute specified by name to be of type ID
  • DOMElement::setIdAttributeNS() - Declares the attribute specified by local name and namespace URI to be of type ID


Declares the attribute specified by local name and namespace URI to be of type ID

  • « DOMElement::setIdAttributeNode
  • DOMEntity »
  • PHP Manual
  • DOMElement
  • Declares the attribute specified by local name and namespace URI to be of type ID

DOMElement::setIdAttributeNS

(PHP 5, PHP 7)

DOMElement::setIdAttributeNS — Declares the attribute specified by local name and namespace URI to be of type ID

Descrição

public DOMElement::setIdAttributeNS ( string $namespace , string $qualifiedName , bool $isId ) : void

Declares the attribute specified by qualifiedName and namespace to be of type ID.

Parâmetros

namespace

The namespace URI of the attribute.

qualifiedName

The local name of the attribute, as prefix:tagname.

isId

Set it to true if you want name to be of type ID, false otherwise.

Valor Retornado

Não há valor retornado.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

Veja Também

  • DOMDocument::getElementById() - Searches for an element with a certain id
  • DOMElement::setIdAttribute() - Declares the attribute specified by name to be of type ID
  • DOMElement::setIdAttributeNode() - Declares the attribute specified by node to be of type ID


The DOMEntity class

(PHP 5, PHP 7)

Introdução

This interface represents a known entity, either parsed or unparsed, in an XML document.

Sinopse da classe

DOMEntity extends DOMNode {
/* Propriedades */
public readonly string $publicId ;
public readonly string $systemId ;
public readonly string $notationName ;
public string $actualEncoding ;
public readonly string $encoding ;
public readonly string $version ;
/* Propriedades herdadas */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Métodos herdados */
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public DOMNode::isDefaultNamespace ( string $namespace ) : bool
public DOMNode::isSameNode ( DOMNode $otherNode ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespace ) : string|null
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false
public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Propriedades

publicId

The public identifier associated with the entity if specified, and null otherwise.

systemId

The system identifier associated with the entity if specified, and null otherwise. This may be an absolute URI or not.

notationName

For unparsed entities, the name of the notation for the entity. For parsed entities, this is null.

actualEncoding

An attribute specifying the encoding used for this entity at the time of parsing, when it is an external parsed entity. This is null if it an entity from the internal subset or if it is not known.

encoding

An attribute specifying, as part of the text declaration, the encoding of this entity, when it is an external parsed entity. This is null otherwise.

version

An attribute specifying, as part of the text declaration, the version number of this entity, when it is an external parsed entity. This is null otherwise.


The DOMEntityReference class

(PHP 5, PHP 7)

Sinopse da classe

DOMEntityReference extends DOMNode {
/* Propriedades herdadas */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Métodos */
public __construct ( string $name )
/* Métodos herdados */
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public DOMNode::isDefaultNamespace ( string $namespace ) : bool
public DOMNode::isSameNode ( DOMNode $otherNode ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespace ) : string|null
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false
public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Índice

  • DOMEntityReference::__construct — Creates a new DOMEntityReference object


Creates a new DOMEntityReference object

  • « DOMEntityReference
  • DOMException »
  • PHP Manual
  • DOMEntityReference
  • Creates a new DOMEntityReference object

DOMEntityReference::__construct

(PHP 5, PHP 7)

DOMEntityReference::__construct — Creates a new DOMEntityReference object

Descrição

public DOMEntityReference::__construct ( string $name )

Creates a new DOMEntityReference object.

Parâmetros

name

The name of the entity reference.

Exemplos

Exemplo #1 Creating a new DOMEntityReference

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$entity = $element->appendChild(new DOMEntityReference('nbsp'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root>&nbsp;</root> */

?>

Veja Também

  • DOMDocument::createEntityReference() - Create new entity reference node


The DOMException class

(PHP 5, PHP 7)

Introdução

DOM operations raise exceptions under particular circumstances, i.e., when an operation is impossible to perform for logical reasons.

See also Exceções.

Sinopse da classe

DOMException extends Exception {
/* Propriedades */
public readonly int $code ;
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}

Propriedades

code

An integer indicating the type of error generated


The DOMImplementation class

(PHP 5, PHP 7)

Introdução

The DOMImplementation class provides a number of methods for performing operations that are independent of any particular instance of the document object model.

Sinopse da classe

DOMImplementation {
/* Propriedades */
/* Métodos */
__construct ( )
public createDocument ( string $namespace = "" , string $qualifiedName = "" , DOMDocumentType|null $doctype = null ) : DOMDocument|false
public createDocumentType ( string $qualifiedName , string $publicId = "" , string $systemId = "" ) : DOMDocumentType|false
public hasFeature ( string $feature , string $version ) : bool
}

Índice

  • DOMImplementation::__construct — Creates a new DOMImplementation object
  • DOMImplementation::createDocument — Creates a DOMDocument object of the specified type with its document element
  • DOMImplementation::createDocumentType — Creates an empty DOMDocumentType object
  • DOMImplementation::hasFeature — Test if the DOM implementation implements a specific feature


Creates a new DOMImplementation object

  • « DOMImplementation
  • DOMImplementation::createDocument »
  • PHP Manual
  • DOMImplementation
  • Creates a new DOMImplementation object

DOMImplementation::__construct

(PHP 5, PHP 7)

DOMImplementation::__construct — Creates a new DOMImplementation object

Descrição

DOMImplementation::__construct ( )

Creates a new DOMImplementation object.


Creates a DOMDocument object of the specified type with its document element

  • « DOMImplementation::__construct
  • DOMImplementation::createDocumentType »
  • PHP Manual
  • DOMImplementation
  • Creates a DOMDocument object of the specified type with its document element

DOMImplementation::createDocument

(PHP 5, PHP 7)

DOMImplementation::createDocument — Creates a DOMDocument object of the specified type with its document element

Descrição

public DOMImplementation::createDocument
 ( string $namespace = ""
, string $qualifiedName = ""
, DOMDocumentType|null $doctype = null
) : DOMDocument|false

Creates a DOMDocument object of the specified type with its document element.

Parâmetros

namespace

The namespace URI of the document element to create.

qualifiedName

The qualified name of the document element to create.

doctype

The type of document to create or null.

Valor Retornado

A new DOMDocument object. If namespace, qualifiedName, and doctype are null, the returned DOMDocument is empty with no document element

Erros

DOM_WRONG_DOCUMENT_ERR

Raised if doctype has already been used with a different document or was created from a different implementation.

DOM_NAMESPACE_ERR

Raised if there is an error with the namespace, as determined by namespace and qualifiedName.

This method may be called statically, but will issue an E_STRICT error.

Changelog

Versão | Descrição
8.0.0 | doctype is now nullable.

Veja Também

  • DOMDocument::__construct() - Creates a new DOMDocument object
  • DOMImplementation::createDocumentType() - Creates an empty DOMDocumentType object


Creates an empty DOMDocumentType object

  • « DOMImplementation::createDocument
  • DOMImplementation::hasFeature »
  • PHP Manual
  • DOMImplementation
  • Creates an empty DOMDocumentType object

DOMImplementation::createDocumentType

(PHP 5, PHP 7)

DOMImplementation::createDocumentType — Creates an empty DOMDocumentType object

Descrição

public DOMImplementation::createDocumentType ( string $qualifiedName , string $publicId = "" , string $systemId = "" ) : DOMDocumentType|false

Creates an empty DOMDocumentType object. Entity declarations and notations are not made available. Entity reference expansions and default attribute additions do not occur.

Parâmetros

qualifiedName

The qualified name of the document type to create.

publicId

The external subset public identifier.

systemId

The external subset system identifier.

Valor Retornado

A new DOMDocumentType node with its ownerDocument set to null.

Erros

DOM_NAMESPACE_ERR

Raised if there is an error with the namespace, as determined by qualifiedName.

This method may be called statically, but will issue an E_STRICT error.

Exemplos

Exemplo #1 Creating a document with an attached DTD

<?php

// Creates an instance of the DOMImplementation class
$imp = new DOMImplementation;

// Creates a DOMDocumentType instance
$dtd = $imp->createDocumentType('graph', '', 'graph.dtd');

// Creates a DOMDocument instance
$dom = $imp->createDocument("", "", $dtd);

// Set other properties
$dom->encoding = 'UTF-8';
$dom->standalone = false;

// Create an empty element
$element = $dom->createElement('graph');

// Append the element
$dom->appendChild($element);

// Retrieve and print the document
echo $dom->saveXML();

?>

O exemplo acima irá imprimir:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE graph SYSTEM "graph.dtd">
<graph/>

Veja Também

  • DOMImplementation::createDocument() - Creates a DOMDocument object of the specified type with its document element


Test if the DOM implementation implements a specific feature

  • « DOMImplementation::createDocumentType
  • DOMNamedNodeMap »
  • PHP Manual
  • DOMImplementation
  • Test if the DOM implementation implements a specific feature

DOMImplementation::hasFeature

(PHP 5, PHP 7)

DOMImplementation::hasFeature — Test if the DOM implementation implements a specific feature

Descrição

public DOMImplementation::hasFeature ( string $feature , string $version ) : bool

Test if the DOM implementation implements a specific feature.

You can find a list of all features in the » Conformance section of the DOM specification.

Parâmetros

feature

The feature to test.

version

The version number of the feature to test. In level 2, this can be either 2.0 or 1.0.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

This method may be called statically, but will issue an E_STRICT error.

Exemplos

Exemplo #1 Testing your DOM Implementation

<?php

$features = array(
  'Core'           => 'Core module',
  'XML'            => 'XML module',
  'HTML'           => 'HTML module',
  'Views'          => 'Views module',
  'Stylesheets'    => 'Style Sheets module',
  'CSS'            => 'CSS module',
  'CSS2'           => 'CSS2 module',
  'Events'         => 'Events module',
  'UIEvents'       => 'User interface Events module',
  'MouseEvents'    => 'Mouse Events module',
  'MutationEvents' => 'Mutation Events module',
  'HTMLEvents'     => 'HTML Events module',
  'Range'          => 'Range module',
  'Traversal'      => 'Traversal module'
);

foreach ($features as $key => $name) {
  if (DOMImplementation::hasFeature($key, '2.0')) {
    echo "Has feature $name\n";
  } else {
    echo "Missing feature $name\n";
  }
}

?>

Veja Também

  • DOMNode::isSupported() - Checks if feature is supported for specified version


The DOMNamedNodeMap class

(PHP 5, PHP 7)

Sinopse da classe

DOMNamedNodeMap implements Traversable , Countable {
/* Propriedades */
public readonly int $length ;
/* Métodos */
public count ( ) : int|false
public getNamedItem ( string $qualifiedName ) : DOMNode|null
public getNamedItemNS ( string|null $namespace , string $localName ) : DOMNode|null
public item ( int $index ) : DOMNode|null
}

Propriedades

length

The number of nodes in the map. The range of valid child node indices is 0 to length - 1 inclusive.

Índice

  • DOMNamedNodeMap::count — Get number of nodes in the map
  • DOMNamedNodeMap::getNamedItem — Retrieves a node specified by name
  • DOMNamedNodeMap::getNamedItemNS — Retrieves a node specified by local name and namespace URI
  • DOMNamedNodeMap::item — Retrieves a node specified by index


Get number of nodes in the map

  • « DOMNamedNodeMap
  • DOMNamedNodeMap::getNamedItem »
  • PHP Manual
  • DOMNamedNodeMap
  • Get number of nodes in the map

DOMNamedNodeMap::count

(PHP 7 >= 7.2.0)

DOMNamedNodeMap::count — Get number of nodes in the map

Descrição

public DOMNamedNodeMap::count ( ) : int|false

Gets the number of nodes in the map.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of nodes in the map, which is identical to the length property.


Retrieves a node specified by name

  • « DOMNamedNodeMap::count
  • DOMNamedNodeMap::getNamedItemNS »
  • PHP Manual
  • DOMNamedNodeMap
  • Retrieves a node specified by name

DOMNamedNodeMap::getNamedItem

(PHP 5, PHP 7)

DOMNamedNodeMap::getNamedItem — Retrieves a node specified by name

Descrição

public DOMNamedNodeMap::getNamedItem ( string $qualifiedName ) : DOMNode|null

Retrieves a node specified by its nodeName.

Parâmetros

qualifiedName

The nodeName of the node to retrieve.

Valor Retornado

A node (of any type) with the specified nodeName, or null if no node is found.

Veja Também

  • DOMNamedNodeMap::getNamedItemNS() - Retrieves a node specified by local name and namespace URI


Retrieves a node specified by local name and namespace URI

  • « DOMNamedNodeMap::getNamedItem
  • DOMNamedNodeMap::item »
  • PHP Manual
  • DOMNamedNodeMap
  • Retrieves a node specified by local name and namespace URI

DOMNamedNodeMap::getNamedItemNS

(PHP 5, PHP 7)

DOMNamedNodeMap::getNamedItemNS — Retrieves a node specified by local name and namespace URI

Descrição

public DOMNamedNodeMap::getNamedItemNS ( string|null $namespace , string $localName ) : DOMNode|null

Retrieves a node specified by localName and namespace.

Parâmetros

namespace

The namespace URI of the node to retrieve.

localName

The local name of the node to retrieve.

Valor Retornado

A node (of any type) with the specified local name and namespace URI, or null if no node is found.

Veja Também

  • DOMNamedNodeMap::getNamedItem() - Retrieves a node specified by name


Retrieves a node specified by index

  • « DOMNamedNodeMap::getNamedItemNS
  • DOMNode »
  • PHP Manual
  • DOMNamedNodeMap
  • Retrieves a node specified by index

DOMNamedNodeMap::item

(PHP 5, PHP 7)

DOMNamedNodeMap::item — Retrieves a node specified by index

Descrição

public DOMNamedNodeMap::item ( int $index ) : DOMNode|null

Retrieves a node specified by index within the DOMNamedNodeMap object.

Parâmetros

index

Index into this map.

Valor Retornado

The node at the indexth position in the map, or null if that is not a valid index (greater than or equal to the number of nodes in this map).


The DOMNode class

(PHP 5, PHP 7)

Sinopse da classe

DOMNode {
/* Propriedades */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Métodos */
public appendChild ( DOMNode $newnode ) : DOMNode
public C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public cloneNode ( bool $deep = false ) : DOMNode|false
public getLineNo ( ) : int
public getNodePath ( ) : string|null
public hasAttributes ( ) : bool
public hasChildNodes ( ) : bool
public insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public isDefaultNamespace ( string $namespace ) : bool
public isSameNode ( DOMNode $otherNode ) : bool
public isSupported ( string $feature , string $version ) : bool
public lookupNamespaceUri ( string $prefix ) : string
public lookupPrefix ( string $namespace ) : string|null
public normalize ( ) : void
public removeChild ( DOMNode $child ) : DOMNode|false
public replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Propriedades

nodeName

Returns the most accurate name for the current node type

nodeValue

The value of this node, depending on its type. Contrary to the W3C specification, the node value of DOMElement nodes is equal to DOMNode::textContent instead of null.

nodeType

Gets the type of the node. One of the predefined XML_xxx_NODE constants

parentNode

The parent of this node. If there is no such node, this returns null.

childNodes

A DOMNodeList that contains all children of this node. If there are no children, this is an empty DOMNodeList.

firstChild

The first child of this node. If there is no such node, this returns null.

lastChild

The last child of this node. If there is no such node, this returns null.

previousSibling

The node immediately preceding this node. If there is no such node, this returns null.

nextSibling

The node immediately following this node. If there is no such node, this returns null.

attributes

A DOMNamedNodeMap containing the attributes of this node (if it is a DOMElement) or null otherwise.

ownerDocument

The DOMDocument object associated with this node, or null if this node is a DOMDOcument

namespaceURI

The namespace URI of this node, or null if it is unspecified.

prefix

The namespace prefix of this node, or null if it is unspecified.

localName

Returns the local part of the qualified name of this node.

baseURI

The absolute base URI of this node or null if the implementation wasn't able to obtain an absolute URI.

textContent

The text content of this node and its descendants.

Notas

Nota:

The DOM extension uses UTF-8 encoding. Use utf8_encode() and utf8_decode() to work with texts in ISO-8859-1 encoding or iconv for other encodings.

Changelog

Versão | Descrição
5.6.1 | The textContent property has been made writable (formerly it has been readonly).

Veja Também

  • » W3C specification of Node

Índice

  • DOMNode::appendChild — Adiciona um novo nó filho ao final dos filhos
  • DOMNode::C14N — Canonicalize nodes to a string
  • DOMNode::C14NFile — Canonicalize nodes to a file
  • DOMNode::cloneNode — Clones a node
  • DOMNode::getLineNo — Get line number for a node
  • DOMNode::getNodePath — Get an XPath for a node
  • DOMNode::hasAttributes — Checks if node has attributes
  • DOMNode::hasChildNodes — Checks if node has children
  • DOMNode::insertBefore — Adds a new child before a reference node
  • DOMNode::isDefaultNamespace — Checks if the specified namespaceURI is the default namespace or not
  • DOMNode::isSameNode — Indicates if two nodes are the same node
  • DOMNode::isSupported — Checks if feature is supported for specified version
  • DOMNode::lookupNamespaceUri — Gets the namespace URI of the node based on the prefix
  • DOMNode::lookupPrefix — Gets the namespace prefix of the node based on the namespace URI
  • DOMNode::normalize — Normalizes the node
  • DOMNode::removeChild — Removes child from list of children
  • DOMNode::replaceChild — Replaces a child


Adiciona um novo nó filho ao final dos filhos

  • « DOMNode
  • DOMNode::C14N »
  • PHP Manual
  • DOMNode
  • Adiciona um novo nó filho ao final dos filhos

DOMNode::appendChild

(PHP 5, PHP 7)

DOMNode::appendChild — Adiciona um novo nó filho ao final dos filhos

Descrição

public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode

Esta função acrescenta um filho a uma lista existente de filhos, ou cria uma nova lista de filhos. O filho pode ser criado, por exemplo, com a e.g. DOMDocument::createElement(), DOMDocument::createTextNode() etc. ou simplismente pode usar outro nó.

Parâmetros

newnode

Nó anexado.

Valor Retornado

O nó adicionado.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Lençado se este nó é somente leitura, ou se o pai anterior do nó que está sendo inserido é somente leitura.

DOM_HIERARCHY_REQUEST_ERR

Lançada se este nó é de um tipo que não permite que filhos do tipo newnode, ou se o nó para acrescentar é um dos antepassados ??deste nó, ou é este nó em si.

DOM_WRONG_DOCUMENT_ERR

Lançado se newnode foi criado por um documento diferente do documento que criou esse nó.

Exemplos

O exemplo a seguir irá adicionar um novo nó de elemento de um documento novo.

Exemplo #1 Adicionando um nó filho

<?php

$doc = new DOMDocument;

$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);

echo $doc->saveXML();
?>

Veja Também

  • DOMNode::insertBefore() - Adds a new child before a reference node
  • DOMNode::removeChild() - Removes child from list of children
  • DOMNode::replaceChild() - Replaces a child


Canonicalize nodes to a string

  • « DOMNode::appendChild
  • DOMNode::C14NFile »
  • PHP Manual
  • DOMNode
  • Canonicalize nodes to a string

DOMNode::C14N

(PHP 5 >= 5.2.0, PHP 7)

DOMNode::C14N — Canonicalize nodes to a string

Descrição

public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false

Canonicalize nodes to a string

Parâmetros

exclusive

Enable exclusive parsing of only the nodes matched by the provided xpath or namespace prefixes.

withComments

Retain comments in output.

xpath

An array of xpaths to filter the nodes by.

nsPrefixes

An array of namespace prefixes to filter the nodes by.

Valor Retornado

Returns canonicalized nodes as a string ou false em caso de falha

Veja Também

  • DOMNode::C14NFile() - Canonicalize nodes to a file


Canonicalize nodes to a file

  • « DOMNode::C14N
  • DOMNode::cloneNode »
  • PHP Manual
  • DOMNode
  • Canonicalize nodes to a file

DOMNode::C14NFile

(PHP 5 >= 5.2.0, PHP 7)

DOMNode::C14NFile — Canonicalize nodes to a file

Descrição

public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false

Canonicalize nodes to a file.

Parâmetros

uri

Path to write the output to.

exclusive

Enable exclusive parsing of only the nodes matched by the provided xpath or namespace prefixes.

withComments

Retain comments in output.

xpath

An array of xpaths to filter the nodes by.

nsPrefixes

An array of namespace prefixes to filter the nodes by.

Valor Retornado

Number of bytes written ou false em caso de falha

Veja Também

  • DOMNode::C14N() - Canonicalize nodes to a string


Clones a node

  • « DOMNode::C14NFile
  • DOMNode::getLineNo »
  • PHP Manual
  • DOMNode
  • Clones a node

DOMNode::cloneNode

(PHP 5, PHP 7)

DOMNode::cloneNode — Clones a node

Descrição

public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false

Creates a copy of the node.

Parâmetros

deep

Indicates whether to copy all descendant nodes. This parameter is defaulted to false.

Valor Retornado

The cloned node.


Get line number for a node

  • « DOMNode::cloneNode
  • DOMNode::getNodePath »
  • PHP Manual
  • DOMNode
  • Get line number for a node

DOMNode::getLineNo

(PHP 5 >= 5.3.0, PHP 7)

DOMNode::getLineNo — Get line number for a node

Descrição

public DOMNode::getLineNo ( ) : int

Gets line number for where the node is defined.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Always returns the line number where the node was defined in.

Exemplos

Exemplo #1 DOMNode::getLineNo() example

<?php
// XML dump for below example
$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<root>
    <node />
</root>
XML;

// Create a new DOMDocument instance
$dom = new DOMDocument;

// Load the XML
$dom->loadXML($xml);

// Print where the line where the 'node' element was defined in
printf('The <node> tag is defined on line %d', $dom->getElementsByTagName('node')->item(0)->getLineNo());
?>

O exemplo acima irá imprimir:

The <node> tag is defined in line 3


Get an XPath for a node

  • « DOMNode::getLineNo
  • DOMNode::hasAttributes »
  • PHP Manual
  • DOMNode
  • Get an XPath for a node

DOMNode::getNodePath

(PHP 5 >= 5.2.0, PHP 7)

DOMNode::getNodePath — Get an XPath for a node

Descrição

public DOMNode::getNodePath ( ) : string|null

Gets an XPath location path for the node.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns a string containing the XPath, or null in case of an error.

Exemplos

Exemplo #1 DOMNode::getNodePath() example

<?php
// Create a new DOMDocument instance
$dom = new DOMDocument;

// Load the XML
$dom->loadXML('
<fruits>
 <apples>
  <apple>braeburn</apple>
  <apple>granny smith</apple>
 </apples>
 <pears>
  <pear>conference</pear>
 </pears>
</fruits>
');

// Print XPath for each element
foreach ($dom->getElementsByTagName('*') as $node) {
    echo $node->getNodePath() . "\n";
}
?>

O exemplo acima irá imprimir:

/fruits
/fruits/apples
/fruits/apples/apple[1]
/fruits/apples/apple[2]
/fruits/pears
/fruits/pears/pear

Veja Também

  • DOMXPath


Checks if node has attributes

  • « DOMNode::getNodePath
  • DOMNode::hasChildNodes »
  • PHP Manual
  • DOMNode
  • Checks if node has attributes

DOMNode::hasAttributes

(PHP 5, PHP 7)

DOMNode::hasAttributes — Checks if node has attributes

Descrição

public DOMNode::hasAttributes ( ) : bool

This method checks if the node has attributes. The tested node has to be an XML_ELEMENT_NODE.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • DOMNode::hasChildNodes() - Checks if node has children


Checks if node has children

  • « DOMNode::hasAttributes
  • DOMNode::insertBefore »
  • PHP Manual
  • DOMNode
  • Checks if node has children

DOMNode::hasChildNodes

(PHP 5, PHP 7)

DOMNode::hasChildNodes — Checks if node has children

Descrição

public DOMNode::hasChildNodes ( ) : bool

This function checks if the node has children.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • DOMNode::hasAttributes() - Checks if node has attributes


Adds a new child before a reference node

  • « DOMNode::hasChildNodes
  • DOMNode::isDefaultNamespace »
  • PHP Manual
  • DOMNode
  • Adds a new child before a reference node

DOMNode::insertBefore

(PHP 5, PHP 7)

DOMNode::insertBefore — Adds a new child before a reference node

Descrição

public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false

This function inserts a new node right before the reference node. If you plan to do further modifications on the appended child you must use the returned node.

When using an existing node it will be moved.

Parâmetros

node

The new node.

child

The reference node. If not supplied, node is appended to the children.

Valor Retornado

The inserted node.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the node node, or if the node to append is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if node was created from a different document than the one that created this node.

DOM_NOT_FOUND

Raised if child is not a child of this node.

Veja Também

  • DOMNode::appendChild() - Adiciona um novo nó filho ao final dos filhos


Checks if the specified namespaceURI is the default namespace or not

  • « DOMNode::insertBefore
  • DOMNode::isSameNode »
  • PHP Manual
  • DOMNode
  • Checks if the specified namespaceURI is the default namespace or not

DOMNode::isDefaultNamespace

(PHP 5, PHP 7)

DOMNode::isDefaultNamespace — Checks if the specified namespaceURI is the default namespace or not

Descrição

public DOMNode::isDefaultNamespace ( string $namespace ) : bool

Tells whether namespace is the default namespace.

Parâmetros

namespace

The namespace URI to look for.

Valor Retornado

Return true if namespace is the default namespace, false otherwise.


Indicates if two nodes are the same node

  • « DOMNode::isDefaultNamespace
  • DOMNode::isSupported »
  • PHP Manual
  • DOMNode
  • Indicates if two nodes are the same node

DOMNode::isSameNode

(PHP 5, PHP 7)

DOMNode::isSameNode — Indicates if two nodes are the same node

Descrição

public DOMNode::isSameNode ( DOMNode $otherNode ) : bool

This function indicates if two nodes are the same node. The comparison is not based on content

Parâmetros

otherNode

The compared node.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Checks if feature is supported for specified version

  • « DOMNode::isSameNode
  • DOMNode::lookupNamespaceUri »
  • PHP Manual
  • DOMNode
  • Checks if feature is supported for specified version

DOMNode::isSupported

(PHP 5, PHP 7)

DOMNode::isSupported — Checks if feature is supported for specified version

Descrição

public DOMNode::isSupported ( string $feature , string $version ) : bool

Checks if the asked feature is supported for the specified version.

Parâmetros

feature

The feature to test. See the example of DOMImplementation::hasFeature() for a list of features.

version

The version number of the feature to test.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • DOMImplementation::hasFeature() - Test if the DOM implementation implements a specific feature


Gets the namespace URI of the node based on the prefix

  • « DOMNode::isSupported
  • DOMNode::lookupPrefix »
  • PHP Manual
  • DOMNode
  • Gets the namespace URI of the node based on the prefix

DOMNode::lookupNamespaceUri

(PHP 5, PHP 7)

DOMNode::lookupNamespaceUri — Gets the namespace URI of the node based on the prefix

Descrição

public DOMNode::lookupNamespaceUri ( string $prefix ) : string

Gets the namespace URI of the node based on the prefix.

Parâmetros

prefix

The prefix of the namespace.

Valor Retornado

The namespace URI of the node.

Veja Também

  • DOMNode::lookupPrefix() - Gets the namespace prefix of the node based on the namespace URI


Gets the namespace prefix of the node based on the namespace URI

  • « DOMNode::lookupNamespaceUri
  • DOMNode::normalize »
  • PHP Manual
  • DOMNode
  • Gets the namespace prefix of the node based on the namespace URI

DOMNode::lookupPrefix

(PHP 5, PHP 7)

DOMNode::lookupPrefix — Gets the namespace prefix of the node based on the namespace URI

Descrição

public DOMNode::lookupPrefix ( string $namespace ) : string|null

Gets the namespace prefix of the node based on the namespace URI.

Parâmetros

namespace

The namespace URI.

Valor Retornado

The prefix of the namespace.

Veja Também

  • DOMNode::lookupNamespaceUri() - Gets the namespace URI of the node based on the prefix


Normalizes the node

  • « DOMNode::lookupPrefix
  • DOMNode::removeChild »
  • PHP Manual
  • DOMNode
  • Normalizes the node

DOMNode::normalize

(PHP 5, PHP 7)

DOMNode::normalize — Normalizes the node

Descrição

public DOMNode::normalize ( ) : void

Remove empty text nodes and merge adjacent text nodes in this node and all its children.

Valor Retornado

Não há valor retornado.

Veja Também

  • » The DOM Specification
  • DOMDocument::normalizeDocument() - Normalizes the document


Removes child from list of children

  • « DOMNode::normalize
  • DOMNode::replaceChild »
  • PHP Manual
  • DOMNode
  • Removes child from list of children

DOMNode::removeChild

(PHP 5, PHP 7)

DOMNode::removeChild — Removes child from list of children

Descrição

public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false

This functions removes a child from a list of children.

Parâmetros

child

The removed child.

Valor Retornado

If the child could be removed the function returns the old child.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly.

DOM_NOT_FOUND

Raised if child is not a child of this node.

Exemplos

The following example will delete the chapter element of our XML document.

Exemplo #1 Removing a child

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$book = $doc->documentElement;

// we retrieve the chapter and remove it from the book
$chapter = $book->getElementsByTagName('chapter')->item(0);
$oldchapter = $book->removeChild($chapter);

echo $doc->saveXML();
?>

O exemplo acima irá imprimir:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
          "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="listing">
 <title>My lists</title>

</book>

Veja Também

  • DOMNode::appendChild() - Adiciona um novo nó filho ao final dos filhos
  • DOMNode::replaceChild() - Replaces a child


Replaces a child

  • « DOMNode::removeChild
  • DOMNodeList »
  • PHP Manual
  • DOMNode
  • Replaces a child

DOMNode::replaceChild

(PHP 5, PHP 7)

DOMNode::replaceChild — Replaces a child

Descrição

public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false

This function replaces the child child with the passed new node. If the node is already a child it will not be added a second time. If the replacement succeeds the old node is returned.

Parâmetros

node

The new node. It must be a member of the target document, i.e. created by one of the DOMDocument->createXXX() methods or imported in the document by DOMDocument::importNode.

child

The old node.

Valor Retornado

The old node or false if an error occur.

Erros

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the node node, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if node was created from a different document than the one that created this node.

DOM_NOT_FOUND

Raised if child is not a child of this node.

Veja Também

  • DOMNode::appendChild() - Adiciona um novo nó filho ao final dos filhos
  • DOMNode::removeChild() - Removes child from list of children


The DOMNodeList class

(PHP 5, PHP 7)

Sinopse da classe

DOMNodeList implements Traversable , Countable {
/* Propriedades */
public readonly int $length ;
/* Métodos */
public count ( ) : int|false
public item ( int $index ) : DOMNode|null
}

Propriedades

length

The number of nodes in the list. The range of valid child node indices is 0 to length - 1 inclusive.

Changelog

Versão | Descrição
7.2.0 | The Countable interface is implemented and returns the value of the length property.

Veja Também

  • » W3C specification of NodeList

Índice

  • DOMNodeList::count — Get number of nodes in the list
  • DOMNodeList::item — Retrieves a node specified by index


Get number of nodes in the list

  • « DOMNodeList
  • DOMNodeList::item »
  • PHP Manual
  • DOMNodeList
  • Get number of nodes in the list

DOMNodeList::count

(PHP 7 >= 7.2.0)

DOMNodeList::count — Get number of nodes in the list

Descrição

public DOMNodeList::count ( ) : int|false

Gets the number of nodes in the list.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the number of nodes in the list, which is identical to the length property.


Retrieves a node specified by index

  • « DOMNodeList::count
  • DOMNotation »
  • PHP Manual
  • DOMNodeList
  • Retrieves a node specified by index

DOMNodeList::item

(PHP 5, PHP 7)

DOMNodeList::item — Retrieves a node specified by index

Descrição

public DOMNodeList::item ( int $index ) : DOMNode|null

Retrieves a node specified by index within the DOMNodeList object.

Dica

If you need to know the number of nodes in the collection, use the length property of the DOMNodeList object.

Parâmetros

index

Index of the node into the collection.

Valor Retornado

The node at the indexth position in the DOMNodeList, or null if that is not a valid index.

Exemplos

Exemplo #1 Traversing all the entries of the table

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$items = $doc->getElementsByTagName('entry');

for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "\n";
}

?>

Alternatively, you can use foreach, which is a much more convenient way:

<?php

foreach ($items as $item) {
    echo $item->nodeValue . "\n";
}

?>

O exemplo acima irá imprimir:

Title
Author
Language
ISBN
The Grapes of Wrath
John Steinbeck
en
0140186409
The Pearl
John Steinbeck
en
014017737X
Samarcande
Amine Maalouf
fr
2253051209


The DOMNotation class

(PHP 5, PHP 7)

Sinopse da classe

DOMNotation extends DOMNode {
/* Propriedades */
public readonly string $publicId ;
public readonly string $systemId ;
/* Propriedades herdadas */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Métodos herdados */
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public DOMNode::isDefaultNamespace ( string $namespace ) : bool
public DOMNode::isSameNode ( DOMNode $otherNode ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespace ) : string|null
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false
public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Propriedades

publicId

systemId


The DOMProcessingInstruction class

(PHP 5, PHP 7)

Sinopse da classe

DOMProcessingInstruction extends DOMNode {
/* Propriedades */
public readonly string $target ;
public string $data ;
/* Propriedades herdadas */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Métodos */
public __construct ( string $name , string $value = "" )
/* Métodos herdados */
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public DOMNode::isDefaultNamespace ( string $namespace ) : bool
public DOMNode::isSameNode ( DOMNode $otherNode ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespace ) : string|null
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false
public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Propriedades

target

data

Índice

  • DOMProcessingInstruction::__construct — Creates a new DOMProcessingInstruction object


Creates a new DOMProcessingInstruction object

  • « DOMProcessingInstruction
  • DOMText »
  • PHP Manual
  • DOMProcessingInstruction
  • Creates a new DOMProcessingInstruction object

DOMProcessingInstruction::__construct

(PHP 5, PHP 7)

DOMProcessingInstruction::__construct — Creates a new DOMProcessingInstruction object

Descrição

public DOMProcessingInstruction::__construct ( string $name , string $value = "" )

Creates a new DOMProcessingInstruction object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument::createProcessingInstruction.

Parâmetros

name

The tag name of the processing instruction.

value

The value of the processing instruction.

Exemplos

Exemplo #1 Creating a new DOMProcessingInstruction object

<?php

$dom = new DOMDocument('1.0', 'UTF-8');
$html = $dom->appendChild(new DOMElement('html'));
$body = $html->appendChild(new DOMElement('body'));
$pinode = new DOMProcessingInstruction('php', 'echo "Hello World"; ');
$body->appendChild($pinode);
echo $dom->saveXML();

?>

O exemplo acima irá imprimir:

<?xml version="1.0" encoding="UTF-8"?>
<html><body><?php echo "Hello World"; ?></body></html>

Veja Também

  • DOMDocument::createProcessingInstruction() - Creates new PI node


The DOMText class

(PHP 5, PHP 7)

Introdução

The DOMText class inherits from DOMCharacterData and represents the textual content of a DOMElement or DOMAttr.

Sinopse da classe

DOMText extends DOMCharacterData {
/* Propriedades */
public readonly string $wholeText ;
/* Propriedades herdadas */
public string $data ;
public readonly int $length ;
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Métodos */
public __construct ( string $data = "" )
public isElementContentWhitespace ( ) : bool
public isWhitespaceInElementContent ( ) : bool
public splitText ( int $offset ) : DOMText
/* Métodos herdados */
public DOMCharacterData::appendData ( string $data ) : bool
public DOMCharacterData::deleteData ( int $offset , int $count ) : bool
public DOMCharacterData::insertData ( int $offset , string $data ) : bool
public DOMCharacterData::replaceData ( int $offset , int $count , string $data ) : bool
public DOMCharacterData::substringData ( int $offset , int $count ) : string|false
public DOMNode::appendChild ( DOMNode $newnode ) : DOMNode
public DOMNode::C14N ( bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $child = null ) : DOMNode|false
public DOMNode::isDefaultNamespace ( string $namespace ) : bool
public DOMNode::isSameNode ( DOMNode $otherNode ) : bool
public DOMNode::isSupported ( string $feature , string $version ) : bool
public DOMNode::lookupNamespaceUri ( string $prefix ) : string
public DOMNode::lookupPrefix ( string $namespace ) : string|null
public DOMNode::normalize ( ) : void
public DOMNode::removeChild ( DOMNode $child ) : DOMNode|false
public DOMNode::replaceChild ( DOMNode $node , DOMNode $child ) : DOMNode|false
}

Propriedades

wholeText

Holds all the text of logically-adjacent (not separated by Element, Comment or Processing Instruction) Text nodes.

Índice

  • DOMText::__construct — Creates a new DOMText object
  • DOMText::isElementContentWhitespace — Returns whether this text node contains whitespace in element content
  • DOMText::isWhitespaceInElementContent — Indicates whether this text node contains whitespace
  • DOMText::splitText — Quebra este nó em dois nós no deslocamento especificado


Creates a new DOMText object

  • « DOMText
  • DOMText::isElementContentWhitespace »
  • PHP Manual
  • DOMText
  • Creates a new DOMText object

DOMText::__construct

(PHP 5, PHP 7)

DOMText::__construct — Creates a new DOMText object

Descrição

public DOMText::__construct ( string $data = "" )

Creates a new DOMText object.

Parâmetros

data

The value of the text node. If not supplied an empty text node is created.

Exemplos

Exemplo #1 Creating a new DOMText

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$text = $element->appendChild(new DOMText('root value'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root>root value</root> */

?>

Veja Também

  • DOMDocument::createTextNode() - Create new text node


Returns whether this text node contains whitespace in element content

  • « DOMText::__construct
  • DOMText::isWhitespaceInElementContent »
  • PHP Manual
  • DOMText
  • Returns whether this text node contains whitespace in element content

DOMText::isElementContentWhitespace

(Não há informação de versão disponível, talvez apenas no Git)

DOMText::isElementContentWhitespace — Returns whether this text node contains whitespace in element content

Descrição

public DOMText::isElementContentWhitespace ( ) : bool

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Indicates whether this text node contains whitespace

  • « DOMText::isElementContentWhitespace
  • DOMText::splitText »
  • PHP Manual
  • DOMText
  • Indicates whether this text node contains whitespace

DOMText::isWhitespaceInElementContent

(PHP 5, PHP 7)

DOMText::isWhitespaceInElementContent — Indicates whether this text node contains whitespace

Descrição

public DOMText::isWhitespaceInElementContent ( ) : bool

Indicates whether this text node contains only whitespace or it is empty. The text node is determined to contain whitespace in element content during the load of the document.

Valor Retornado

Returns true if node contains zero or more whitespace characters and nothing else. Returns false otherwise.


Quebra este nó em dois nós no deslocamento especificado

  • « DOMText::isWhitespaceInElementContent
  • DOMXPath »
  • PHP Manual
  • DOMText
  • Quebra este nó em dois nós no deslocamento especificado

DOMText::splitText

(PHP 5, PHP 7)

DOMText::splitText — Quebra este nó em dois nós no deslocamento especificado

Descrição

public DOMText::splitText ( int $offset ) : DOMText

Quebra este nó em dois no offset especificado, mantendo ambos na árvore como irmãos.

Depois de dividido, esse nó conterá todo o conteúdo até o offset. Se o nó original tinha um nó pai, o novo nó será inserido como o próximo irmão do nó original. Quando o offset for igual ao tamanho desse nó, o novo nó não terá dados.

Parâmetros

offset

O deslocamento para dividir, começando em 0.

Valor Retornado

O novo nó do mesmo tipo, que contém todo o conteúdo durante e após o offset.


The DOMXPath class

(PHP 5, PHP 7)

Introdução

Supports XPath 1.0

Sinopse da classe

DOMXPath {
/* Propriedades */
public DOMDocument $document ;
/* Métodos */
public __construct ( DOMDocument $document , bool $registerNodeNS = true )
public evaluate ( string $expression , DOMNode|null $contextNode = null , bool $registerNodeNS = true ) : mixed
public query ( string $expression , DOMNode|null $contextNode = null , bool $registerNodeNS = true ) : mixed
public registerNamespace ( string $prefix , string $namespace ) : bool
public registerPhpFunctions ( string|array|null $restrict = null ) : void
}

Propriedades

document

Índice

  • DOMXPath::__construct — Creates a new DOMXPath object
  • DOMXPath::evaluate — Evaluates the given XPath expression and returns a typed result if possible
  • DOMXPath::query — Evaluates the given XPath expression
  • DOMXPath::registerNamespace — Registers the namespace with the DOMXPath object
  • DOMXPath::registerPhpFunctions — Register PHP functions as XPath functions


Creates a new DOMXPath object

  • « DOMXPath
  • DOMXPath::evaluate »
  • PHP Manual
  • DOMXPath
  • Creates a new DOMXPath object

DOMXPath::__construct

(PHP 5, PHP 7)

DOMXPath::__construct — Creates a new DOMXPath object

Descrição

public DOMXPath::__construct ( DOMDocument $document , bool $registerNodeNS = true )

Creates a new DOMXPath object.

Parâmetros

document

The DOMDocument associated with the DOMXPath.


Evaluates the given XPath expression and returns a typed result if possible

  • « DOMXPath::__construct
  • DOMXPath::query »
  • PHP Manual
  • DOMXPath
  • Evaluates the given XPath expression and returns a typed result if possible

DOMXPath::evaluate

(PHP 5 >= 5.1.0, PHP 7)

DOMXPath::evaluate — Evaluates the given XPath expression and returns a typed result if possible

Descrição

public DOMXPath::evaluate ( string $expression , DOMNode|null $contextNode = null , bool $registerNodeNS = true ) : mixed

Executes the given XPath expression and returns a typed result if possible.

Parâmetros

expression

The XPath expression to execute.

contextNode

The optional contextNode can be specified for doing relative XPath queries. By default, the queries are relative to the root element.

registerNodeNS

The optional registerNodeNS can be specified to disable automatic registration of the context node.

Valor Retornado

Returns a typed result if possible or a DOMNodeList containing all nodes matching the given XPath expression.

If the expression is malformed or the contextNode is invalid, DOMXPath::evaluate() returns false.

Exemplos

Exemplo #1 Getting the count of all the english books

<?php

$doc = new DOMDocument;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// our query is relative to the tbody node
$query = 'count(row/entry[. = "en"])';

$entries = $xpath->evaluate($query, $tbody);
echo "There are $entries english books\n";

?>

O exemplo acima irá imprimir:

There are 2 english books

Veja Também

  • DOMXPath::query() - Evaluates the given XPath expression


Evaluates the given XPath expression

  • « DOMXPath::evaluate
  • DOMXPath::registerNamespace »
  • PHP Manual
  • DOMXPath
  • Evaluates the given XPath expression

DOMXPath::query

(PHP 5, PHP 7)

DOMXPath::query — Evaluates the given XPath expression

Descrição

public DOMXPath::query ( string $expression , DOMNode|null $contextNode = null , bool $registerNodeNS = true ) : mixed

Executes the given XPath expression.

Parâmetros

expression

The XPath expression to execute.

contextNode

The optional contextNode can be specified for doing relative XPath queries. By default, the queries are relative to the root element.

registerNodeNS

The optional registerNodeNS can be specified to disable automatic registration of the context node.

Valor Retornado

Returns a DOMNodeList containing all nodes matching the given XPath expression. Any expression which does not return nodes will return an empty DOMNodeList.

If the expression is malformed or the contextNode is invalid, DOMXPath::query() returns false.

Exemplos

Exemplo #1 Getting all the english books

<?php

$doc = new DOMDocument;

// We don't want to bother with white spaces
$doc->preserveWhiteSpace = false;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// We start from the root element
$query = '//book/chapter/para/informaltable/tgroup/tbody/row/entry[. = "en"]';

$entries = $xpath->query($query);

foreach ($entries as $entry) {
    echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
         " by {$entry->previousSibling->nodeValue}\n";
}
?>

O exemplo acima irá imprimir:

Found The Grapes of Wrath, by John Steinbeck
Found The Pearl, by John Steinbeck

We can also use the contextNode parameter to shorten our expression:

<?php

$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// our query is relative to the tbody node
$query = 'row/entry[. = "en"]';

$entries = $xpath->query($query, $tbody);

foreach ($entries as $entry) {
    echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
         " by {$entry->previousSibling->nodeValue}\n";
}
?>

Veja Também

  • DOMXPath::evaluate() - Evaluates the given XPath expression and returns a typed result if possible


Registers the namespace with the DOMXPath object

  • « DOMXPath::query
  • DOMXPath::registerPhpFunctions »
  • PHP Manual
  • DOMXPath
  • Registers the namespace with the DOMXPath object

DOMXPath::registerNamespace

(PHP 5, PHP 7)

DOMXPath::registerNamespace — Registers the namespace with the DOMXPath object

Descrição

public DOMXPath::registerNamespace ( string $prefix , string $namespace ) : bool

Registers the namespace and prefix with the DOMXPath object.

Parâmetros

prefix

The prefix.

namespace

The URI of the namespace.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Register PHP functions as XPath functions

  • « DOMXPath::registerNamespace
  • DOM Funções »
  • PHP Manual
  • DOMXPath
  • Register PHP functions as XPath functions

DOMXPath::registerPhpFunctions

(PHP 5 >= 5.3.0, PHP 7)

DOMXPath::registerPhpFunctions — Register PHP functions as XPath functions

Descrição

public DOMXPath::registerPhpFunctions ( string|array|null $restrict = null ) : void

This method enables the ability to use PHP functions within XPath expressions.

Parâmetros

restrict

Use this parameter to only allow certain functions to be called from XPath.

This parameter can be either a string (a function name) or an array of function names.

Valor Retornado

Não há valor retornado.

Exemplos

The following examples use book.xml which contains the following:

Exemplo #1 book.xml

<?xml version="1.0" encoding="UTF-8"?>
<books>
 <book>
  <title>PHP Basics</title>
  <author>Jim Smith</author>
  <author>Jane Smith</author>
 </book>
 <book>
  <title>PHP Secrets</title>
  <author>Jenny Smythe</author>
 </book>
 <book>
  <title>XML basics</title>
  <author>Joe Black</author>
 </book>
</books>

Exemplo #2 DOMXPath::registerPHPFunctions() with php:functionString

<?php
$doc = new DOMDocument;
$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// Register the php: namespace (required)
$xpath->registerNamespace("php", "http://php.net/xpath");

// Register PHP functions (no restrictions)
$xpath->registerPHPFunctions();

// Call substr function on the book title
$nodes = $xpath->query('//book[php:functionString("substr", title, 0, 3) = "PHP"]');

echo "Found {$nodes->length} books starting with 'PHP':\n";
foreach ($nodes as $node) {
    $title  = $node->getElementsByTagName("title")->item(0)->nodeValue;
    $author = $node->getElementsByTagName("author")->item(0)->nodeValue;
    echo "$title by $author\n";
}

?>

O exemplo acima irá imprimir algo similar à:

Found 2 books starting with 'PHP':
PHP Basics by Jim Smith
PHP Secrets by Jenny Smythe

Exemplo #3 DOMXPath::registerPHPFunctions() with php:function

<?php
$doc = new DOMDocument;
$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// Register the php: namespace (required)
$xpath->registerNamespace("php", "http://php.net/xpath");

// Register PHP functions (has_multiple only)
$xpath->registerPHPFunctions("has_multiple");

function has_multiple($nodes) {
    // Return true if more than one author
    return count($nodes) > 1;
}
// Filter books with multiple authors
$books = $xpath->query('//book[php:function("has_multiple", author)]');

echo "Books with multiple authors:\n";
foreach ($books as $book) {
    echo $book->getElementsByTagName("title")->item(0)->nodeValue . "\n";
}

?>

O exemplo acima irá imprimir algo similar à:

Books with multiple authors:
PHP Basics

Veja Também

  • DOMXPath::registerNamespace() - Registers the namespace with the DOMXPath object
  • DOMXPath::query() - Evaluates the given XPath expression
  • DOMXPath::evaluate() - Evaluates the given XPath expression and returns a typed result if possible


DOM Funções

Índice

  • dom_import_simplexml — Gets a DOMElement object from a SimpleXMLElement object


Gets a DOMElement object from a SimpleXMLElement object

  • « DOM Funções
  • libxml »
  • PHP Manual
  • DOM Funções
  • Gets a DOMElement object from a SimpleXMLElement object

dom_import_simplexml

(PHP 5, PHP 7)

dom_import_simplexml — Gets a DOMElement object from a SimpleXMLElement object

Descrição

dom_import_simplexml ( object $node ) : DOMElement|null

This function takes the node node of class SimpleXML and makes it into a DOMElement node. This new object can then be used as a native DOMElement node.

Parâmetros

node

The SimpleXMLElement node.

Valor Retornado

The DOMElement node added or false if any errors occur.

Exemplos

Exemplo #1 Import SimpleXML into DOM with dom_import_simplexml()

<?php

$sxe = simplexml_load_string('<books><book><title>blah</title></book></books>');

if ($sxe === false) {
    echo 'Error while parsing the document';
    exit;
}

$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
    echo 'Error while converting XML';
    exit;
}

$dom = new DOMDocument('1.0');
$dom_sxe = $dom->importNode($dom_sxe, true);
$dom_sxe = $dom->appendChild($dom_sxe);

echo $dom->saveXML();

?>

Veja Também

  • simplexml_import_dom() - Recebe um objeto SimpleXMLElement de um nó DOM


libxml

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • libXMLError — The libXMLError class
  • Funções da libxml
    • libxml_clear_errors — Limpa o buffer de erro da libxml
    • libxml_disable_entity_loader — Disable the ability to load external entities
    • libxml_get_errors — Retorna um array de erros
    • libxml_get_last_error — Retorna o último erro da libxml
    • libxml_set_external_entity_loader — Changes the default external entity loader
    • libxml_set_streams_context — Define os contextos streams para o próximo documento carregado ou escrito na libxml
    • libxml_use_internal_errors — Desabilita erros da libxml e permite que o usuário obtenha informação do erro como necessitar


Introdução

Estas funções/constantes estão disponíveis apartir do 5.1.0, e as seguintes extenções do núcleo dependem desta extenção libxml: DOM, libxml, SimpleXML, SOAP, WDDX, XSL, XML, XMLReader, XMLRPC e XMLWriter.


  • « Instalação/Configuração
  • Instalação »
  • PHP Manual
  • Instalação/Configuração
  • Dependências

Dependências

Esta extensão requer » libxml >= 2.6.0.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

LIBXML_COMPACT (integer)
Ativa a otimização de alocação de pequenos nodes. Isto pode tornar rápida sua aplicação sem necessitar modificar o código.

Nota:

Somente disponível na Libxml >= 2.6.21

LIBXML_DTDATTR (integer)
Padrão de atributos DTD
LIBXML_DTDLOAD (integer)
Carrega o subset externo
LIBXML_DTDVALID (integer)
Valida com o DTD
LIBXML_NOBLANKS (integer)
Remove nodes em branco
LIBXML_NOCDATA (integer)
Fundi CDATA com text nodes
LIBXML_NOEMPTYTAG (integer)
Expande tags vazias (e.g. <br/> para <br></br>)

Nota:

Esta opção está somente disponível atualmente nas funções DOMDocument::save e DOMDocument::saveXML.

LIBXML_NOENT (integer)
Substitue entidades
LIBXML_NOERROR (integer)
Suprime mensagens de erro
LIBXML_NONET (integer)
Desabilita o acesso a rede quando carregando documentos
LIBXML_NOWARNING (integer)
Suprime avisos
LIBXML_NOXMLDECL (integer)
Retira a declaração do XML quando salva o documento

Nota:

Somente disponível na Libxml >= 2.6.21

LIBXML_NSCLEAN (integer)
Remove declarações redundantes de namespaces
LIBXML_XINCLUDE (integer)
Implementa substituições XInclude
LIBXML_ERR_ERROR (integer)
A recoverable error
LIBXML_ERR_FATAL (integer)
Um erro fatal
LIBXML_ERR_NONE (integer)
Sem erros
LIBXML_ERR_WARNING (integer)
Um simples aviso
LIBXML_VERSION (integer)
Versão da libxml como 20605 ou 20617
LIBXML_DOTTED_VERSION (string)
Versão da libxml como 2.6.5 ou 2.6.17


The libXMLError class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Introdução

Contains various information about errors thrown by libxml. The error codes are described within the official » xmlError API documentation.

Sinopse da classe

libXMLError {
/* Propriedades */
public int $level ;
public int $code ;
public int $column ;
public string $message ;
public string $file ;
public int $line ;
}

Propriedades

level

the severity of the error (one of the following constants: LIBXML_ERR_WARNING, LIBXML_ERR_ERROR or LIBXML_ERR_FATAL)

code

The error's code.

column

The column where the error occurred.

Nota:

This property isn't entirely implemented in libxml and therefore 0 is often returned.

message

The error message, if any.

file

The filename, or empty if the XML was loaded from a string.

line

The line where the error occurred.


Funções da libxml

Classes pré-definidas

LibXMLError

Propriedades

  • code - the error's code

  • column - a coluna onde o erro ocorreu. Note que esta propriedade não está inteiramente implementada na libxml, conseqüentemente 0 é retornado.

  • file - o nome do arquivo, ou vazio se o XML foi carregado de uma string

  • level - a variedade de erros (uma das seguintes constantes: LIBXML_ERR_WARNING, LIBXML_ERR_ERROR ou LIBXML_ERR_FATAL)

  • line - a linha onde o erro ocorreu

  • message - a mensagem de erro

Índice

  • libxml_clear_errors — Limpa o buffer de erro da libxml
  • libxml_disable_entity_loader — Disable the ability to load external entities
  • libxml_get_errors — Retorna um array de erros
  • libxml_get_last_error — Retorna o último erro da libxml
  • libxml_set_external_entity_loader — Changes the default external entity loader
  • libxml_set_streams_context — Define os contextos streams para o próximo documento carregado ou escrito na libxml
  • libxml_use_internal_errors — Desabilita erros da libxml e permite que o usuário obtenha informação do erro como necessitar


Limpa o buffer de erro da libxml

  • « Funções da libxml
  • libxml_disable_entity_loader »
  • PHP Manual
  • Funções da libxml
  • Limpa o buffer de erro da libxml

libxml_clear_errors

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

libxml_clear_errors — Limpa o buffer de erro da libxml

Descrição

libxml_clear_errors ( ) : void

libxml_clear_errors() limpa o buffer de erro da libxml.

Valor Retornado

Não há valor retornado.

Veja Também

  • libxml_get_errors() - Retorna um array de erros
  • libxml_get_last_error() - Retorna o último erro da libxml


Disable the ability to load external entities

  • « libxml_clear_errors
  • libxml_get_errors »
  • PHP Manual
  • Funções da libxml
  • Disable the ability to load external entities

libxml_disable_entity_loader

(PHP 5 >= 5.2.11, PHP 7, PHP 8)

libxml_disable_entity_loader — Disable the ability to load external entities

Aviso

This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.

Descrição

libxml_disable_entity_loader ( bool $disable = true ) : bool

Disable/enable the ability to load external entities. Note that disabling the loading of external entities may cause general issues with loading XML documents. However, as of libxml 2.9.0 entity substitution is disabled by default, so there is no need to disable the loading of external entities, unless there is the need to resolve internal entity references with LIBXML_NOENT. Generally, it is preferable to use libxml_set_external_entity_loader() to suppress loading of external entities.

Parâmetros

disable

Disable (true) or enable (false) libxml extensions (such as DOM, XMLWriter and XMLReader) to load external entities.

Valor Retornado

Returns the previous value.

Veja Também

  • libxml_use_internal_errors() - Desabilita erros da libxml e permite que o usuário obtenha informação do erro como necessitar
  • libxml_set_external_entity_loader() - Changes the default external entity loader
  • The LIBXML_NONET constant


Retorna um array de erros

  • « libxml_disable_entity_loader
  • libxml_get_last_error »
  • PHP Manual
  • Funções da libxml
  • Retorna um array de erros

libxml_get_errors

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

libxml_get_errors — Retorna um array de erros

Descrição

libxml_get_errors ( ) : array

Retorna um array de erros

Valor Retornado

Retorna um array com objetos LibXMLError se há algum erro no buffer, ou um array vazio caso contrário.

Exemplos

Exemplo #1 Um exemplo da libxml_get_errors()

Este exemplo demonstra como fazer uma simples manipulação de erro da libxml.

<?php

libxml_use_internal_errors(true);

$xmlstr = <<< XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <titles>PHP: Behind the Parser</title>
 </movie>
</movies>
XML;

$doc = simplexml_load_string($xmlstr);
$xml = explode("\n", $xmlstr);

if (!$doc) {
    $errors = libxml_get_errors();

    foreach ($errors as $error) {
        echo display_xml_error($error, $xml);
    }

    libxml_clear_errors();
}

function display_xml_error($error, $xml)
{
    $return  = $xml[$error->line - 1] . "\n";
    $return .= str_repeat('-', $error->column) . "^\n";

    switch ($error->level) {
        case LIBXML_ERR_WARNING:
            $return .= "Warning $error->code: ";
            break;
         case LIBXML_ERR_ERROR:
            $return .= "Error $error->code: ";
            break;
        case LIBXML_ERR_FATAL:
            $return .= "Fatal Error $error->code: ";
            break;
    }

    $return .= trim($error->message) .
               "\n  Line: $error->line" .
               "\n  Column: $error->column";

    if ($error->file) {
        $return .= "\n  File: $error->file";
    }

    return "$return\n\n--------------------------------------------\n\n";
}

?>

O exemplo acima irá imprimir:

  <titles>PHP: Behind the Parser</title>
^
Fatal Error 76: Opening and ending tag mismatch: titles line 4 and title
  Line: 4
  Column: 0

--------------------------------------------

Veja Também

  • libxml_get_last_error() - Retorna o último erro da libxml
  • libxml_clear_errors() - Limpa o buffer de erro da libxml


Retorna o último erro da libxml

  • « libxml_get_errors
  • libxml_set_external_entity_loader »
  • PHP Manual
  • Funções da libxml
  • Retorna o último erro da libxml

libxml_get_last_error

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

libxml_get_last_error — Retorna o último erro da libxml

Descrição

libxml_get_last_error ( ) : LibXMLError

Retorna o último erro da libxml.

Valor Retornado

Retorna um objeto LibXMLError se há algum erro no buffer, false caso contrário.

Veja Também

  • libxml_get_errors() - Retorna um array de erros
  • libxml_clear_errors() - Limpa o buffer de erro da libxml


Changes the default external entity loader

  • « libxml_get_last_error
  • libxml_set_streams_context »
  • PHP Manual
  • Funções da libxml
  • Changes the default external entity loader

libxml_set_external_entity_loader

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

libxml_set_external_entity_loader — Changes the default external entity loader

Descrição

libxml_set_external_entity_loader ( callable|null $resolver_function ) : bool

Changes the default external entity loader. This can be used to suppress the expansion of arbitrary external entities to avoid XXE attacks, even when LIBXML_NOENT has been set for the respective operation, and is usually preferable over calling libxml_disable_entity_loader().

Parâmetros

resolver_function

A callable with the following signature:

resolver ( string $public_id , string $system_id , array $context ) : resource|string|null
public_id
The public ID.
system_id
The system ID.
context
An array with the four elements "directory", "intSubName", "extSubURI" and "extSubSystem".
This callable should return a resource, a string from which a resource can be opened. If null is returned, the entity reference resolution will fail.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 libxml_set_external_entity_loader() example

<?php
$xml = <<<XML
<!DOCTYPE foo PUBLIC "-//FOO/BAR" "http://example.com/foobar">
<foo>bar</foo>
XML;

$dtd = <<<DTD
<!ELEMENT foo (#PCDATA)>
DTD;

libxml_set_external_entity_loader(
    function ($public, $system, $context) use($dtd) {
        var_dump($public);
        var_dump($system);
        var_dump($context);
        $f = fopen("php://temp", "r+");
        fwrite($f, $dtd);
        rewind($f);
        return $f;
    }
);

$dd = new DOMDocument;
$r  = $dd->loadXML($xml);

var_dump($dd->validate());
?>

O exemplo acima irá imprimir:

string(10) "-//FOO/BAR"
string(25) "http://example.com/foobar"
array(4) {
    ["directory"]    => NULL
    ["intSubName"]   => NULL
    ["extSubURI"]    => NULL
    ["extSubSystem"] => NULL
}
bool(true)

Veja Também

  • libxml_disable_entity_loader() - Disable the ability to load external entities


Define os contextos streams para o próximo documento carregado ou escrito na libxml

  • « libxml_set_external_entity_loader
  • libxml_use_internal_errors »
  • PHP Manual
  • Funções da libxml
  • Define os contextos streams para o próximo documento carregado ou escrito na libxml

libxml_set_streams_context

(PHP 5, PHP 7, PHP 8)

libxml_set_streams_context — Define os contextos streams para o próximo documento carregado ou escrito na libxml

Descrição

libxml_set_streams_context ( resource $streams_context ) : void

Define contextos streams para o próximo documento carregado ou escrito na libxml.

Parâmetros

streams_context

O resource do contexto stream (criado com stream_context_create())

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Um exemplo da libxml_set_streams_context()

<?php

$opts = array(
    'http' => array(
        'user_agent' => 'PHP libxml agent',
    )
);

$context = stream_context_create($opts);
libxml_set_streams_context($context);

// request a file through HTTP
$doc = DOMDocument::load('http://www.example.com/file.xml');

?>

Veja Também

  • stream_context_create() - Creates a stream context


Desabilita erros da libxml e permite que o usuário obtenha informação do erro como necessitar

  • « libxml_set_streams_context
  • SimpleXML »
  • PHP Manual
  • Funções da libxml
  • Desabilita erros da libxml e permite que o usuário obtenha informação do erro como necessitar

libxml_use_internal_errors

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

libxml_use_internal_errors — Desabilita erros da libxml e permite que o usuário obtenha informação do erro como necessitar

Descrição

libxml_use_internal_errors ( bool $use_errors = ? ) : bool

libxml_use_internal_errors() permite desabilitar erros padrão standard da libxml e habilita uso de manuseador de erro.

Parâmetros

use_errors

Habilita manuseamento de erro. O padrão é false.

Valor Retornado

Esta função retorna o valor anterior da use_errors.

Exemplos

Exemplo #1 Um exemplo da libxml_use_internal_errors()

Este exemplo demonstra o uso básico dos erros da libxml e o valor retornado por esta função.

<?php

// enable user error handling
var_dump(libxml_use_internal_errors(true));

$doc = DOMDocument::load('file.xml');

if (!$doc) {
    $errors = libxml_get_errors();
    foreach ($errors as $error) {
        // handle errors here
    }

    libxml_clear_errors();
}

?>

O exemplo acima irá imprimir:

bool(false)

Veja Também

  • libxml_clear_errors() - Limpa o buffer de erro da libxml
  • libxml_get_errors() - Retorna um array de erros


SimpleXML

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Basic usage
    • Dealing with XML errors
  • SimpleXMLElement — A classe SimpleXMLElement
    • SimpleXMLElement::addAttribute — Adiciona um atributo a elemento SimpleXML
    • SimpleXMLElement::addChild — Adiciona um elemento filho à um nó XML
    • SimpleXMLElement::asXML — Retorna uma string XML bem formada (well-formed) baseada em um elemento SimpleXML
    • SimpleXMLElement::attributes — Identifica um atributo de um elemento
    • SimpleXMLElement::children — Encontra os nós filhos de um dado nó
    • SimpleXMLElement::__construct — Cria um novo objeto SimpleXMLElement
    • SimpleXMLElement::count — Conta os filhos de um elemento
    • SimpleXMLElement::getDocNamespaces — Retorna um namespace declarado no documento
    • SimpleXMLElement::getName — Pega o nome de um elemento XML
    • SimpleXMLElement::getNamespaces — Retorna os namespaces utilizados no documento
    • SimpleXMLElement::registerXPathNamespace — Cria um prefixo/namespace de contexto para a próxima consulta XPath
    • SimpleXMLElement::saveXML — Sinônimo de SimpleXMLElement::asXML
    • SimpleXMLElement::__toString — Retorna o conteúdo como uma string
    • SimpleXMLElement::xpath — Executa uma consulta XPath em dados XML
  • SimpleXMLIterator — A classe SimpleXMLIterator
    • SimpleXMLIterator::current — Retorna o elemento atual do SimpleXML
    • SimpleXMLIterator::getChildren — Retorna um iterador para o elemento atual se ele for um objeto SimpleXML
    • SimpleXMLIterator::hasChildren — Retorna se o elemento atual é um objeto SimpleXML
    • SimpleXMLIterator::key — Retorna a chave atual do SimpleXML
    • SimpleXMLIterator::next — Avança para o próximo elemento
    • SimpleXMLIterator::rewind — Recomeça o SimpleXML
    • SimpleXMLIterator::valid — Verifica se o SimpleXML possui mais elementos
  • Funções da SimpleXML
    • simplexml_import_dom — Recebe um objeto SimpleXMLElement de um nó DOM
    • simplexml_load_file — Interpreta um arquivo XML e o transforma em um objeto
    • simplexml_load_string — Interpreta uma string XML e a transforma em um objeto


Introdução

A extensão SimpleXML provê um conjunto de ferramentas fáceis e de simples utilização para converter XML em objetos que podem ser processados com seletores de propriedades e iteradores de arrays.


Dependências

Esta extensão requer a libxml. Isto significa que também é preciso informar --enable-libxml, mas isso já é o padrão dado que libxml é incluída por default.

A extensão SimpleXML requer PHP 5.


Instalação

Esta extensão está habilitada por padrão. Ela pode ser desligada utilizando a seguinte opção de compilação: --disable-simplexml

Nota: Antes do PHP 5.1.2, era necessário utilizar --enable-simplexml para habilitar esta extensão.


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • SimpleXML
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


  • « Constantes pré-definidas
  • Basic usage »
  • PHP Manual
  • SimpleXML
  • Exemplos

Exemplos

Índice

  • Basic usage
  • Dealing with XML errors


Basic usage

Many examples in this reference require an XML string. Instead of repeating this string in every example, we put it into a file which we include in each example. This included file is shown in the following example section. Alternatively, you could create an XML document and read it with simplexml_load_file().

Exemplo #1 Include file example.php with XML string

<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#211;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>
XML;
?>

The simplicity of SimpleXML appears most clearly when one extracts a string or number from a basic XML document.

Exemplo #2 Getting <plot>

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

echo $xml->movie[0]->plot; // "So this language. It's like..."
?>

Accessing elements within an XML document that contain characters not permitted under PHP's naming convention (e.g. the hyphen) can be accomplished by encapsulating the element name within braces and the apostrophe.

Exemplo #3 Getting <line>

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

echo $xml->movie->{'great-lines'}->line; // "PHP solves all my web problems"
?>

Exemplo #4 Accessing non-unique elements in SimpleXML

When multiple instances of an element exist as children of a single parent element, normal iteration techniques apply.

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

/* For each <movie> node, we echo a separate <plot>. */
foreach ($xml->movie as $movie) {
   echo $movie->plot, '<br />';
}

?>

Exemplo #5 Using attributes

So far, we have only covered the work of reading element names and their values. SimpleXML can also access element attributes. Access attributes of an element just as you would elements of an array.

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

/* Access the <rating> nodes of the first movie.
 * Output the rating scale, too. */
foreach ($xml->movie[0]->rating as $rating) {
    switch((string) $rating['type']) { // Get attributes as element indices
    case 'thumbs':
        echo $rating, ' thumbs up';
        break;
    case 'stars':
        echo $rating, ' stars';
        break;
    }
}
?>

Exemplo #6 Comparing Elements and Attributes with Text

To compare an element or attribute with a string or pass it into a function that requires a string, you must cast it to a string using (string). Otherwise, PHP treats the element as an object.

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

if ((string) $xml->movie->title == 'PHP: Behind the Parser') {
    print 'My favorite movie.';
}

htmlentities((string) $xml->movie->title);
?>

Exemplo #7 Comparing Two Elements

Two SimpleXMLElements are considered different even if they point to the same element since PHP 5.2.0.

<?php
$el1 = new SimpleXMLElement($xmlstr);
$el2 = new SimpleXMLElement($xmlstr);
var_dump($el1 == $el2); // false since PHP 5.2.0
?>

Exemplo #8 Using XPath

SimpleXML includes built-in XPath support. To find all <character> elements:

<?php
include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

foreach ($xml->xpath('//character') as $character) {
    echo $character->name, 'played by ', $character->actor, '<br />';
}
?>

'//' serves as a wildcard. To specify absolute paths, omit one of the slashes.

Exemplo #9 Setting values

Data in SimpleXML doesn't have to be constant. The object allows for manipulation of all of its elements.

<?php
include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

$xml->movie[0]->characters->character[0]->name = 'Miss Coder';

echo $xml->asXML();
?>

The above code will output a new XML document, just like the original, except that the new XML will change Ms. Coder to Miss Coder.

Exemplo #10 Adding elements and attributes

Since PHP 5.1.3, SimpleXML has had the ability to easily add children and attributes.

<?php
include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

$character = $xml->movie[0]->characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $xml->movie[0]->addChild('rating', 'PG');
$rating->addAttribute('type', 'mpaa');

echo $xml->asXML();
?>

The above code will output an XML document based on the original but having a new character and rating.

Exemplo #11 DOM Interoperability

PHP has a mechanism to convert XML nodes between SimpleXML and DOM formats. This example shows how one might change a DOM element to SimpleXML.

<?php
$dom = new domDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
     echo 'Error while parsing the document';
     exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title;
?>


Dealing with XML errors

Dealing with XML errors when loading documents is a very simple task. Using the libxml functionality it is possible to suppress all XML errors when loading the document and then iterate over the errors.

The libXMLError object, returned by libxml_get_errors(), contains several properties including the message, line and column (position) of the error.

Exemplo #1 Loading broken XML string

<?php
libxml_use_internal_errors(true);
$sxe = simplexml_load_string("<?xml version='1.0'><broken><xml></broken>");
if (!$sxe) {
    echo "Failed loading XML\n";
    foreach(libxml_get_errors() as $error) {
        echo "\t", $error->message;
    }
}

O exemplo acima irá imprimir:

Failed loading XML
    Blank needed here
    parsing XML declaration: '?>' expected
    Opening and ending tag mismatch: xml line 1 and broken
    Premature end of data in tag broken line 1

Veja Também

  • libxml_use_internal_errors()
  • libxml_get_errors()
  • libXMLError


A classe SimpleXMLElement

(PHP 5, PHP 7, PHP 8)

Introdução

Representa um elemento em um documento XML.

Sinopse da classe

SimpleXMLElement implements Traversable {
/* Métodos */
final public __construct ( string $data , int $options = 0 , bool $data_is_url = false , string $ns = "" , bool $is_prefix = false )
public addAttribute ( string $name , string $value = ? , string $namespace = ? ) : void
public addChild ( string $name , string $value = ? , string $namespace = ? ) : SimpleXMLElement
public asXML ( string $filename = ? ) : mixed
public attributes ( string $ns = null , bool $is_prefix = false ) : SimpleXMLElement
public children ( string $ns = ? , bool $is_prefix = false ) : SimpleXMLElement
public count ( ) : int
public getDocNamespaces ( bool $recursive = false , bool $from_root = true ) : array
public getName ( ) : string
public getNamespaces ( bool $recursive = false ) : array
public registerXPathNamespace ( string $prefix , string $ns ) : bool
public __toString ( ) : string
public xpath ( string $path ) : array
}

Índice

  • SimpleXMLElement::addAttribute — Adiciona um atributo a elemento SimpleXML
  • SimpleXMLElement::addChild — Adiciona um elemento filho à um nó XML
  • SimpleXMLElement::asXML — Retorna uma string XML bem formada (well-formed) baseada em um elemento SimpleXML
  • SimpleXMLElement::attributes — Identifica um atributo de um elemento
  • SimpleXMLElement::children — Encontra os nós filhos de um dado nó
  • SimpleXMLElement::__construct — Cria um novo objeto SimpleXMLElement
  • SimpleXMLElement::count — Conta os filhos de um elemento
  • SimpleXMLElement::getDocNamespaces — Retorna um namespace declarado no documento
  • SimpleXMLElement::getName — Pega o nome de um elemento XML
  • SimpleXMLElement::getNamespaces — Retorna os namespaces utilizados no documento
  • SimpleXMLElement::registerXPathNamespace — Cria um prefixo/namespace de contexto para a próxima consulta XPath
  • SimpleXMLElement::saveXML — Sinônimo de SimpleXMLElement::asXML
  • SimpleXMLElement::__toString — Retorna o conteúdo como uma string
  • SimpleXMLElement::xpath — Executa uma consulta XPath em dados XML


Adiciona um atributo a elemento SimpleXML

  • « SimpleXMLElement
  • SimpleXMLElement::addChild »
  • PHP Manual
  • SimpleXMLElement
  • Adiciona um atributo a elemento SimpleXML

SimpleXMLElement::addAttribute

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

SimpleXMLElement::addAttribute — Adiciona um atributo a elemento SimpleXML

Descrição

public SimpleXMLElement::addAttribute ( string $name , string $value = ? , string $namespace = ? ) : void

Adiciona um atributo à elemento SimpleXML

Parâmetros

name

O nome do atributo a ser adicionado.

value

O valor do atributo.

namespace

Se especificado, diz a qual namespace o atributo pertence.

Valor Retornado

Não há valor retornado.

Exemplos

Nota:

Os exemplos listados podem incluir o arquivo example.php, que referem-se a uma string XML encontrada no primeiro exemplo do guia de uso básico.

Exemplo #1 Adiciona atributos e filhos à um elemento SimpleXML

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: More Parser Stories');
$movie->addChild('plot', 'This is all about the people who make it work.');

$characters = $movie->addChild('characters');
$character  = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

O exemplo acima irá imprimir algo similar à:

<?xml version="1.0" standalone="yes"?>
<movies type="documentary">
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
 <movie>
  <title>PHP2: More Parser Stories</title>
  <plot>This is all about the people who make it work.</plot>
  <characters>
   <character>
    <name>Mr. Parser</name>
    <actor>John Doe</actor>
   </character>
  </characters>
  <rating type="stars">5</rating>
 </movie>
</movies>

Veja Também

  • SimpleXMLElement::addChild() - Adiciona um elemento filho à um nó XML
  • Basic usage


Adiciona um elemento filho à um nó XML

  • « SimpleXMLElement::addAttribute
  • SimpleXMLElement::asXML »
  • PHP Manual
  • SimpleXMLElement
  • Adiciona um elemento filho à um nó XML

SimpleXMLElement::addChild

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

SimpleXMLElement::addChild — Adiciona um elemento filho à um nó XML

Descrição

public SimpleXMLElement::addChild ( string $name , string $value = ? , string $namespace = ? ) : SimpleXMLElement

Adiciona um elemento filho ao nó e retorna um elemento SimpleXML do nó filho.

Parâmetros

name

O nome do elemento filho à ser adicionado.

value

Se especificado, o valor do elemento filho.

namespace

Se especificado, o namespace ao qual o elemento filho pertence.

Valor Retornado

O método addChild retorna um objeto SimpleXMLElement representando o filho adicionado ao nó XML.

Exemplos

Nota:

Os exemplos listados podem incluir o arquivo example.php, que referem-se a uma string XML encontrada no primeiro exemplo do guia de uso básico.

Exemplo #1 Adiciona atributos e filhos à um elemento SimpleXML

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: More Parser Stories');
$movie->addChild('plot', 'This is all about the people who make it work.');

$characters = $movie->addChild('characters');
$character  = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

O exemplo acima irá imprimir algo similar à:

<?xml version="1.0" standalone="yes"?>
<movies type="documentary">
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
 <movie>
  <title>PHP2: More Parser Stories</title>
  <plot>This is all about the people who make it work.</plot>
  <characters>
   <character>
    <name>Mr. Parser</name>
    <actor>John Doe</actor>
   </character>
  </characters>
  <rating type="stars">5</rating>
 </movie>
</movies>

Veja Também

  • SimpleXMLElement::addAttribute() - Adiciona um atributo a elemento SimpleXML
  • Basic usage


Retorna uma string XML bem formada (well-formed) baseada em um elemento SimpleXML

  • « SimpleXMLElement::addChild
  • SimpleXMLElement::attributes »
  • PHP Manual
  • SimpleXMLElement
  • Retorna uma string XML bem formada (well-formed) baseada em um elemento SimpleXML

SimpleXMLElement::asXML

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::asXML — Retorna uma string XML bem formada (well-formed) baseada em um elemento SimpleXML

Descrição

public SimpleXMLElement::asXML ( string $filename = ? ) : mixed

O método asXML formata os dados dos objetos pais em XML de versão 1.0.

Parâmetros

filename

Se especificado, a função escreve os dados em um arquivo ao invés de retorná-lo.

Valor Retornado

Se o filename não for especificado, esta função retornará uma string no caso de sucesso, e false no caso de erro. Se o parâmetro for especificado, retornará true se o arquivo for escrito com sucesso, e false caso contrário.

Exemplos

Exemplo #1 Recuperando o XML

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

echo $xml->asXML(); // <?xml ... <a><b><c>text</c><c>stuff</c> ...

?>

O exemplo acima irá imprimir:

<?xml version="1.0"?>
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>

O método asXML também funcionará em resultados Xpath:

Exemplo #2 Utilizando asXML() em resultados SimpleXMLElement::xpath()

<?php
// Continued from example XML above.

/* Search for <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo $node->asXML(); // <c>text</c> and <c>stuff</c>
}
?>

O exemplo acima irá imprimir:

<c>text</c><c>stuff</c>

Veja Também

  • SimpleXMLElement::__toString() - Retorna o conteúdo como uma string
  • Basic usage


Identifica um atributo de um elemento

  • « SimpleXMLElement::asXML
  • SimpleXMLElement::children »
  • PHP Manual
  • SimpleXMLElement
  • Identifica um atributo de um elemento

SimpleXMLElement::attributes

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::attributes — Identifica um atributo de um elemento

Descrição

public SimpleXMLElement::attributes ( string $ns = null , bool $is_prefix = false ) : SimpleXMLElement

Esta função provê os atributos e valores definidos dentro de uma tag XML.

Nota: SimpleXML tem uma regra quando adicionando propriedades interativas para a maioria dos métodos. Eles não podem ser visualizados com var_dump() ou outros métodos que examinem objetos.

Parâmetros

ns

Um namespace opcional para os atributos retornados

is_prefix

false por padrão

Valor Retornado

Retorna um objeto SimpleXMLElement que pode iterar os atributos da tag.

Retornará null se chamado em um objeto SimpleXMLElement que já represente um atributo e não uma tag.

Exemplos

Exemplo #1 Interpretando uma string XML

<?php
$string = <<<XML
<a xmlns:b>
 <foo name="one" game="lonely">1</foo>
</a>
XML;

$xml = simplexml_load_string($string);
foreach($xml->foo[0]->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}
?>

O exemplo acima irá imprimir:

name="one"
game="lonely"

Veja Também

  • Basic usage


Encontra os nós filhos de um dado nó

  • « SimpleXMLElement::attributes
  • SimpleXMLElement::__construct »
  • PHP Manual
  • SimpleXMLElement
  • Encontra os nós filhos de um dado nó

SimpleXMLElement::children

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::children — Encontra os nós filhos de um dado nó

Descrição

public SimpleXMLElement::children ( string $ns = ? , bool $is_prefix = false ) : SimpleXMLElement

Este método encontra os nós filhos que estão dentro de um dado membro. O resultado segue as regras normais de iteração.

Nota: SimpleXML tem uma regra quando adicionando propriedades interativas para a maioria dos métodos. Eles não podem ser visualizados com var_dump() ou outros métodos que examinem objetos.

Parâmetros

ns

Um namespace XML.

is_prefix

Se o parâmetro is_prefix for definido como true, ns será considerado um prefixo. Se definido como false, ns será considerado uma URL de um namespace.

Valor Retornado

Retorna um elemento SimpleXMLElement, não importando se o nó possui filhos ou não.

Changelog

Versão | Descrição
5.2.0 | O parâmetro opcional is_prefix foi adicionado.

Exemplos

Exemplo #1 Percorrendo um pseudo-array children()

<?php
$xml = new SimpleXMLElement(
'<person>
 <child role="son">
  <child role="daughter"/>
 </child>
 <child role="daughter">
  <child role="son">
   <child role="son"/>
  </child>
 </child>
</person>');

foreach ($xml->children() as $second_gen) {
    echo ' The person begot a ' . $second_gen['role'];

    foreach ($second_gen->children() as $third_gen) {
        echo ' who begot a ' . $third_gen['role'] . ';';

        foreach ($third_gen->children() as $fourth_gen) {
            echo ' and that ' . $third_gen['role'] .
                ' begot a ' . $fourth_gen['role'];
        }
    }
}
?>

O exemplo acima irá imprimir:

The person begot a son who begot a daughter; The person
begot a daughter who begot a son; and that son begot a son

Exemplo #2 Utilizando namespaces

<?php
$xml = '<example xmlns:foo="my.foo.urn">
  <foo:a>Apple</foo:a>
  <foo:b>Banana</foo:b>
  <c>Cherry</c>
</example>';

$sxe = new SimpleXMLElement($xml);

$kids = $sxe->children('foo');
var_dump(count($kids));

$kids = $sxe->children('foo', TRUE);
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn');
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn', TRUE);
var_dump(count($kids));

$kids = $sxe->children();
var_dump(count($kids));
?>
int(0)
int(2)
int(2)
int(0)
int(1)

Notas

O método SimpleXMLElement::children() retorna um objeto de um nó não importando se este possui ou não filhos. Utilize a função count() no valor de retorno para verificar por nós filhos. A partir do PHP 5.3.0, o métodoSimpleXMLElement::count() deve ser utilizado em substituição.

Veja Também

  • SimpleXMLElement::count() - Conta os filhos de um elemento
  • count() - Conta o número de elementos de uma variável, ou propriedades de um objeto


Cria um novo objeto SimpleXMLElement

  • « SimpleXMLElement::children
  • SimpleXMLElement::count »
  • PHP Manual
  • SimpleXMLElement
  • Cria um novo objeto SimpleXMLElement

SimpleXMLElement::__construct

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::__construct — Cria um novo objeto SimpleXMLElement

Descrição

final public SimpleXMLElement::__construct ( string $data , int $options = 0 , bool $data_is_url = false , string $ns = "" , bool $is_prefix = false )

Cria um novo objeto SimpleXMLElement.

Parâmetros

data

Uma string XML bem formada ou, um caminho ou URL para um documento XML se data_is_url for true.

options

Opcionalmente utilizado para especificar parâmetros adicionais da Libxml.

data_is_url

Por padrão, data_is_url é false. Utilize true para especificar que o parâmetro data é um caminho ou URL para um documento XML ao invés de string.

ns

Prefixo ou URI do namespace.

is_prefix

true se ns é um prefixo, false se é uma URI; o padrão será false.

Valor Retornado

Retorna um objeto SimpleXMLElement representando data.

Erros

Produz uma mensagem de erro E_WARNING para cada erro encontrado nos dados do XML e, adicionalmente, dispara uma Exception se as informações no XML não puderem ser interpretadas.

Dica

Utilize a função libxml_use_internal_errors() para suprimir todos os erros XML, e a função libxml_get_errors() para iterá-los, depois.

Exemplos

Nota:

Os exemplos listados podem incluir o arquivo example.php, que referem-se a uma string XML encontrada no primeiro exemplo do guia de uso básico.

Exemplo #1 Cria um objeto SimpleXMLElement

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
echo $sxe->movie[0]->title;

?>

O exemplo acima irá imprimir:

PHP: Behind the Parser

Exemplo #2 Cria um objeto SimpleXMLElement de uma URL

<?php

$sxe = new SimpleXMLElement('http://example.org/document.xml', NULL, TRUE);
echo $sxe->asXML();

?>

Changelog

Versão | Descrição
5.2.0 | Adicionado os parâmetros ns e is_prefix.
5.1.2 | Adicionado os parâmetros options e data_is_url.

Veja Também

  • Basic usage
  • simplexml_load_string() - Interpreta uma string XML e a transforma em um objeto
  • simplexml_load_file() - Interpreta um arquivo XML e o transforma em um objeto
  • Dealing with XML errors
  • libxml_use_internal_errors() - Desabilita erros da libxml e permite que o usuário obtenha informação do erro como necessitar


Conta os filhos de um elemento

  • « SimpleXMLElement::__construct
  • SimpleXMLElement::getDocNamespaces »
  • PHP Manual
  • SimpleXMLElement
  • Conta os filhos de um elemento

SimpleXMLElement::count

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SimpleXMLElement::count — Conta os filhos de um elemento

Descrição

public SimpleXMLElement::count ( ) : int

Este método conta o número de filhos de um elemento.

Valor Retornado

Retorna o número de elementos de um elemento.

Exemplos

Exemplo #1 Contando o número de filhos

<?php
$xml = <<<EOF
<people>
 <person name="Person 1">
  <child/>
  <child/>
  <child/>
 </person>
 <person name="Person 2">
  <child/>
  <child/>
  <child/>
  <child/>
  <child/>
 </person>
</people>
EOF;

$elem = new SimpleXMLElement($xml);

foreach ($elem as $person) {
    printf("%s has got %d children.\n", $person['name'], $person->count());
}
?>

O exemplo acima irá imprimir:

Person 1 has got 3 children.
Person 2 has got 5 children.

Veja Também

  • SimpleXMLElement::children() - Encontra os nós filhos de um dado nó


Retorna um namespace declarado no documento

  • « SimpleXMLElement::count
  • SimpleXMLElement::getName »
  • PHP Manual
  • SimpleXMLElement
  • Retorna um namespace declarado no documento

SimpleXMLElement::getDocNamespaces

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SimpleXMLElement::getDocNamespaces — Retorna um namespace declarado no documento

Descrição

public SimpleXMLElement::getDocNamespaces ( bool $recursive = false , bool $from_root = true ) : array

Retorna um namespace declarado no documento

Parâmetros

recursive

Se especificado, retorna todos os namespaces declarados no nó pai e nos nós filhos. De outra forma, retornará apenas os namespaces declarados no nó raiz.

from_root

Permite checar recursivamente os namespaces sob um nó filho em vez do nó raiz do documento XML.

Valor Retornado

O método getDocNamespaces retorna uma array com os namespaces associados às suas URIs.

Exemplos

Exemplo #1 Pega os namespaces do documento

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns">
    <p:person id="1">John Doe</p:person>
    <p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces();
var_dump($namespaces);

?>

O exemplo acima irá imprimir:

array(1) {
   ["p"]=>
   string(21) "http://example.org/ns"
}

Exemplo #2 Trabalhando com múltiplos namespaces

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:person t:id="1">John Doe</p:person>
    <p:person t:id="2" a:addr="123 Street" xmlns:a="http://example.org/addr">
        Susie Q. Public
    </p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces(TRUE);
var_dump($namespaces);

?>

O exemplo acima irá imprimir:

array(3) {
  ["p"]=>
  string(21) "http://example.org/ns"
  ["t"]=>
  string(23) "http://example.org/test"
  ["a"]=>
  string(23) "http://example.org/addr"
}

Changelog

Versão | Descrição
5.4.0 | Adicionado o parâmetro from_root.

Veja Também

  • SimpleXMLElement::getNamespaces() - Retorna os namespaces utilizados no documento
  • SimpleXMLElement::registerXPathNamespace() - Cria um prefixo/namespace de contexto para a próxima consulta XPath


Pega o nome de um elemento XML

  • « SimpleXMLElement::getDocNamespaces
  • SimpleXMLElement::getNamespaces »
  • PHP Manual
  • SimpleXMLElement
  • Pega o nome de um elemento XML

SimpleXMLElement::getName

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

SimpleXMLElement::getName — Pega o nome de um elemento XML

Descrição

public SimpleXMLElement::getName ( ) : string

Pega o nome do elemento XML.

Valor Retornado

O método getName retorna uma string com o nome da tag XML referenciada pelo objeto SimpleXMLElement.

Exemplos

Nota:

Os exemplos listados podem incluir o arquivo example.php, que referem-se a uma string XML encontrada no primeiro exemplo do guia de uso básico.

Exemplo #1 Pega os nomes dos elementos XML

<?php
include 'example.php';
$sxe = new SimpleXMLElement($xmlstr);

echo $sxe->getName() . "\n";

foreach ($sxe->children() as $child)
{
    echo $child->getName() . "\n";
}

?>

O exemplo acima irá imprimir:

movies
movie


Retorna os namespaces utilizados no documento

  • « SimpleXMLElement::getName
  • SimpleXMLElement::registerXPathNamespace »
  • PHP Manual
  • SimpleXMLElement
  • Retorna os namespaces utilizados no documento

SimpleXMLElement::getNamespaces

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SimpleXMLElement::getNamespaces — Retorna os namespaces utilizados no documento

Descrição

public SimpleXMLElement::getNamespaces ( bool $recursive = false ) : array

Retorna os namespaces utilizados no documento

Parâmetros

recursive

Se especificado, retorna todos os namespaces utilizados no nó pai e nos nós filhos. Caso contrário, retorna apenas os namespaces utilizados no nó raíz (root node).

Valor Retornado

O método getNamespaces retorna uma array de namespace com suas respectivas URIs.

Exemplos

Exemplo #1 Get document namespaces in use

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:person id="1">John Doe</p:person>
    <p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getNamespaces(true);
var_dump($namespaces);

?>

O exemplo acima irá imprimir:

array(1) {
  ["p"]=>
  string(21) "http://example.org/ns"
}

Veja Também

  • SimpleXMLElement::getDocNamespaces() - Retorna um namespace declarado no documento
  • SimpleXMLElement::registerXPathNamespace() - Cria um prefixo/namespace de contexto para a próxima consulta XPath


Cria um prefixo/namespace de contexto para a próxima consulta XPath

  • « SimpleXMLElement::getNamespaces
  • SimpleXMLElement::saveXML »
  • PHP Manual
  • SimpleXMLElement
  • Cria um prefixo/namespace de contexto para a próxima consulta XPath

SimpleXMLElement::registerXPathNamespace

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SimpleXMLElement::registerXPathNamespace — Cria um prefixo/namespace de contexto para a próxima consulta XPath

Descrição

public SimpleXMLElement::registerXPathNamespace ( string $prefix , string $ns ) : bool

Cria um prefixo/namespace de contexto para a próxima consulta XPath. Basicamente, esta função será útil se o provedor do documento XML informado, altera os prefixos dos namespaces. registerXPathNamespace criará um prefixo para o namespace associado, permitindo o acesso a nós no namespace sem a necessidade de mudar o código para permitir novos prefixos ditados pelo provedor.

Parâmetros

prefix

O prefixo do namespace utilizado na consulta XPath para o namespace dado em ns.

ns

O namespace para ser utilizado na consulta XPath. Este parâmetro deve fechar com um namespace utilizado pelo documento XML ou a consulta XPath utilizando prefix não retornará nenhum resultado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Definindo um prefixo de namespace para ser usado em uma consulta XPath

<?php

$xml = <<<EOD
<book xmlns:chap="http://example.org/chapter-title">
    <title>My Book</title>
    <chapter id="1">
        <chap:title>Chapter 1</chap:title>
        <para>Donec velit. Nullam eget tellus vitae tortor gravida scelerisque.
            In orci lorem, cursus imperdiet, ultricies non, hendrerit et, orci.
            Nulla facilisi. Nullam velit nisl, laoreet id, condimentum ut,
            ultricies id, mauris.</para>
    </chapter>
    <chapter id="2">
        <chap:title>Chapter 2</chap:title>
        <para>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin
            gravida. Phasellus tincidunt massa vel urna. Proin adipiscing quam
            vitae odio. Sed dictum. Ut tincidunt lorem ac lorem. Duis eros
            tellus, pharetra id, faucibus eu, dapibus dictum, odio.</para>
    </chapter>
</book>
EOD;

$sxe = new SimpleXMLElement($xml);

$sxe->registerXPathNamespace('c', 'http://example.org/chapter-title');
$result = $sxe->xpath('//c:title');

foreach ($result as $title) {
  echo $title . "\n";
}

?>

O exemplo acima irá imprimir:

Chapter 1
Chapter 2

Perceba como como o documento XML mostrado no exemplo define o namespace com o prefixo de chap. Imagine que este documento (ou outro semelhante) deveria ter utilizado o prefixo de c no passado para o mesmo namespace. Uma vez que ele foi alterado, a consulta XPath não irá mais retornar os resultados apropriados e a consulta exigirá modificações. Utilizando registerXPathNamespace evita modificações futuras na consulta, mesmo que o provedor altere o prefixo dos namespaces.

Veja Também

  • SimpleXMLElement::xpath() - Executa uma consulta XPath em dados XML
  • SimpleXMLElement::getDocNamespaces() - Retorna um namespace declarado no documento
  • SimpleXMLElement::getNamespaces() - Retorna os namespaces utilizados no documento


Sinônimo de SimpleXMLElement::asXML

  • « SimpleXMLElement::registerXPathNamespace
  • SimpleXMLElement::__toString »
  • PHP Manual
  • SimpleXMLElement
  • Sinônimo de SimpleXMLElement::asXML

SimpleXMLElement::saveXML

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

SimpleXMLElement::saveXML — Sinônimo de SimpleXMLElement::asXML()

Descrição

Este método é um apelido para: SimpleXMLElement::asXML()


Retorna o conteúdo como uma string

  • « SimpleXMLElement::saveXML
  • SimpleXMLElement::xpath »
  • PHP Manual
  • SimpleXMLElement
  • Retorna o conteúdo como uma string

SimpleXMLElement::__toString

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SimpleXMLElement::__toString — Retorna o conteúdo como uma string

Descrição

public SimpleXMLElement::__toString ( ) : string

Retorna o texto que está contido diretamente no elemento. Não retorna o texto que está dentro de elementos filhos.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna o conteúdo como uma string em caso de sucesso ou uma string varia, se falhar.

Exemplos

Exemplo #1 Recuperando o conteúdo como uma string

<?php
$xml = new SimpleXMLElement('<a>1 <b>2 </b>3</a>');
echo $xml;
?>

O exemplo acima irá imprimir:

1 3

Veja Também

  • SimpleXMLElement::asXML() - Retorna uma string XML bem formada (well-formed) baseada em um elemento SimpleXML


Executa uma consulta XPath em dados XML

  • « SimpleXMLElement::__toString
  • SimpleXMLIterator »
  • PHP Manual
  • SimpleXMLElement
  • Executa uma consulta XPath em dados XML

SimpleXMLElement::xpath

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::xpath — Executa uma consulta XPath em dados XML

Descrição

public SimpleXMLElement::xpath ( string $path ) : array

O método xpath vasculha o nó SimpleXML em busca de nós filhos correspondentes ao XPath path.

Parâmetros

path

Um caminho XPath

Valor Retornado

Retorna uma array de um objeto SimpleXMLElement ou false em caso de erro.

Exemplos

Exemplo #1 Xpath

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* Search for <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo '/a/b/c: ',$node,"\n";
}

/* Relative paths also work... */
$result = $xml->xpath('b/c');

while(list( , $node) = each($result)) {
    echo 'b/c: ',$node,"\n";
}
?>

O exemplo acima irá imprimir:

/a/b/c: text
/a/b/c: stuff
b/c: text
b/c: stuff

Note que os dois resultados são iguais.

Veja Também

  • SimpleXMLElement::registerXPathNamespace() - Cria um prefixo/namespace de contexto para a próxima consulta XPath
  • SimpleXMLElement::getDocNamespaces() - Retorna um namespace declarado no documento
  • SimpleXMLElement::getNamespaces() - Retorna os namespaces utilizados no documento
  • Basic usage


A classe SimpleXMLIterator

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

Introdução

A classe SimpleXMLIterator provê iterações recursivas em todos os nós de um objeto SimpleXMLElement.

Sinopse da classe

SimpleXMLIterator extends SimpleXMLElement implements RecursiveIterator , Countable {
/* Métodos */
current ( ) : mixed
getChildren ( ) : object
hasChildren ( ) : bool
key ( ) : mixed
next ( ) : void
rewind ( ) : void
valid ( ) : bool
/* Métodos herdados */
final public SimpleXMLElement::__construct ( string $data , int $options = 0 , bool $data_is_url = false , string $ns = "" , bool $is_prefix = false )
public SimpleXMLElement::addAttribute ( string $name , string $value = ? , string $namespace = ? ) : void
public SimpleXMLElement::addChild ( string $name , string $value = ? , string $namespace = ? ) : SimpleXMLElement
public SimpleXMLElement::asXML ( string $filename = ? ) : mixed
public SimpleXMLElement::attributes ( string $ns = null , bool $is_prefix = false ) : SimpleXMLElement
public SimpleXMLElement::children ( string $ns = ? , bool $is_prefix = false ) : SimpleXMLElement
public SimpleXMLElement::count ( ) : int
public SimpleXMLElement::getDocNamespaces ( bool $recursive = false , bool $from_root = true ) : array
public SimpleXMLElement::getName ( ) : string
public SimpleXMLElement::getNamespaces ( bool $recursive = false ) : array
public SimpleXMLElement::registerXPathNamespace ( string $prefix , string $ns ) : bool
public SimpleXMLElement::__toString ( ) : string
public SimpleXMLElement::xpath ( string $path ) : array
}

Índice

  • SimpleXMLIterator::current — Retorna o elemento atual do SimpleXML
  • SimpleXMLIterator::getChildren — Retorna um iterador para o elemento atual se ele for um objeto SimpleXML
  • SimpleXMLIterator::hasChildren — Retorna se o elemento atual é um objeto SimpleXML
  • SimpleXMLIterator::key — Retorna a chave atual do SimpleXML
  • SimpleXMLIterator::next — Avança para o próximo elemento
  • SimpleXMLIterator::rewind — Recomeça o SimpleXML
  • SimpleXMLIterator::valid — Verifica se o SimpleXML possui mais elementos


Retorna o elemento atual do SimpleXML

  • « SimpleXMLIterator
  • SimpleXMLIterator::getChildren »
  • PHP Manual
  • SimpleXMLIterator
  • Retorna o elemento atual do SimpleXML

SimpleXMLIterator::current

(PHP 5, PHP 7, PHP 8)

SimpleXMLIterator::current — Retorna o elemento atual do SimpleXML

Descrição

SimpleXMLIterator::current ( ) : mixed
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O atual elemento SimpleXML.


Retorna um iterador para o elemento atual se ele for um objeto SimpleXML

  • « SimpleXMLIterator::current
  • SimpleXMLIterator::hasChildren »
  • PHP Manual
  • SimpleXMLIterator
  • Retorna um iterador para o elemento atual se ele for um objeto SimpleXML

SimpleXMLIterator::getChildren

(PHP 5, PHP 7, PHP 8)

SimpleXMLIterator::getChildren — Retorna um iterador para o elemento atual se ele for um objeto SimpleXML

Descrição

SimpleXMLIterator::getChildren ( ) : object
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Um iterador para o atual elemento, se ele é um simples objeto SimpleXML.


Retorna se o elemento atual é um objeto SimpleXML

  • « SimpleXMLIterator::getChildren
  • SimpleXMLIterator::key »
  • PHP Manual
  • SimpleXMLIterator
  • Retorna se o elemento atual é um objeto SimpleXML

SimpleXMLIterator::hasChildren

(PHP 5, PHP 7, PHP 8)

SimpleXMLIterator::hasChildren — Retorna se o elemento atual é um objeto SimpleXML

Descrição

SimpleXMLIterator::hasChildren ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se o atual elemento é um objeto SimpleXML, false caso contrário


Retorna a chave atual do SimpleXML

  • « SimpleXMLIterator::hasChildren
  • SimpleXMLIterator::next »
  • PHP Manual
  • SimpleXMLIterator
  • Retorna a chave atual do SimpleXML

SimpleXMLIterator::key

(PHP 5, PHP 7, PHP 8)

SimpleXMLIterator::key — Retorna a chave atual do SimpleXML

Descrição

SimpleXMLIterator::key ( ) : mixed
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A chave atual do SimpleXML.


Avança para o próximo elemento

  • « SimpleXMLIterator::key
  • SimpleXMLIterator::rewind »
  • PHP Manual
  • SimpleXMLIterator
  • Avança para o próximo elemento

SimpleXMLIterator::next

(PHP 5, PHP 7, PHP 8)

SimpleXMLIterator::next — Avança para o próximo elemento

Descrição

SimpleXMLIterator::next ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Recomeça o SimpleXML

  • « SimpleXMLIterator::next
  • SimpleXMLIterator::valid »
  • PHP Manual
  • SimpleXMLIterator
  • Recomeça o SimpleXML

SimpleXMLIterator::rewind

(PHP 5, PHP 7, PHP 8)

SimpleXMLIterator::rewind — Recomeça o SimpleXML

Descrição

SimpleXMLIterator::rewind ( ) : void
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.


Verifica se o SimpleXML possui mais elementos

  • « SimpleXMLIterator::rewind
  • Funções da SimpleXML »
  • PHP Manual
  • SimpleXMLIterator
  • Verifica se o SimpleXML possui mais elementos

SimpleXMLIterator::valid

(PHP 5, PHP 7, PHP 8)

SimpleXMLIterator::valid — Verifica se o SimpleXML possui mais elementos

Descrição

SimpleXMLIterator::valid ( ) : bool
Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se contém mais entradas SimpleXML, false caso contrário


Funções da SimpleXML

Índice

  • simplexml_import_dom — Recebe um objeto SimpleXMLElement de um nó DOM
  • simplexml_load_file — Interpreta um arquivo XML e o transforma em um objeto
  • simplexml_load_string — Interpreta uma string XML e a transforma em um objeto


Recebe um objeto SimpleXMLElement de um nó DOM

  • « Funções da SimpleXML
  • simplexml_load_file »
  • PHP Manual
  • Funções da SimpleXML
  • Recebe um objeto SimpleXMLElement de um nó DOM

simplexml_import_dom

(PHP 5, PHP 7, PHP 8)

simplexml_import_dom — Recebe um objeto SimpleXMLElement de um nó DOM

Descrição

simplexml_import_dom ( DOMNode $node , string $class_name = "SimpleXMLElement" ) : SimpleXMLElement

Esta função recebe um nó de um documento DOM e o transforma em um nó SimpleXML. O novo objeto pode ser utilizado como um elemento SimpleXML nativo.

Parâmetros

node

Um nó DOM

class_name

Pode-se utilizar o parâmetro opcional simplexml_import_dom() para retornar um objeto da classe especificada. A classe deve estender a classe SimpleXMLElement.

Valor Retornado

Retorna um SimpleXMLElement ou false em caso de falha.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Exemplos

Exemplo #1 Importando o DOM

<?php
$dom = new DOMDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
    echo 'Error while parsing the document';
    exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title;
?>

O exemplo acima irá imprimir:

blah

Veja Também

  • dom_import_simplexml() - Gets a DOMElement object from a SimpleXMLElement object
  • Basic usage


Interpreta um arquivo XML e o transforma em um objeto

  • « simplexml_import_dom
  • simplexml_load_string »
  • PHP Manual
  • Funções da SimpleXML
  • Interpreta um arquivo XML e o transforma em um objeto

simplexml_load_file

(PHP 5, PHP 7, PHP 8)

simplexml_load_file — Interpreta um arquivo XML e o transforma em um objeto

Descrição

simplexml_load_file ( string $filename , string $class_name = "SimpleXMLElement" , int $options = 0 , string $ns = "" , bool $is_prefix = false ) : SimpleXMLElement

Converte o documento XML bem-formado no arquivo indicado em um objeto.

Parâmetros

filename

Caminho para o arquivo XML

Nota:

Libxml 2 desescapa a URI, então se deseja passar, por exemplo b&c como um parâmetro a da URI, deve-se chamar simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))). Desde o PHP 5.1.0 não é mais necessário fazer isso, pois o PHP o fará automaticamente.

class_name

É possível utilizar o parâmetro opcional simplexml_load_file() para retornar um objeto da classe especificada. Esta classe deve estender SimpleXMLElement.

options

Desde o PHP 5.1.0 e da Libxml 2.6.0, você também pode utilizar o parâmetro options para especificar parâmetros adicionais da Libxml.

ns

Prefixo ou URI do namespace.

is_prefix

true se ns for um prefixo, false se for URI; o padrão é false.

Valor Retornado

Retorna um objeto da classe SimpleXMLElement com propriedades contendo os dados do documento XML, ou false em caso de falha.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Erros

Produz uma mensagem de erro E_WARNING para cada erro encontrado nos dados XML.

Dica

Utilize a função libxml_use_internal_errors() para suprimir todos os erros XML e a função libxml_get_errors() para iterar sobre eles posteriormente.

Exemplos

Exemplo #1 Interpreta um documento XML

<?php
// O arquivo test.xml contém um documento XML com um elemento root
// e ao menos um elemento /[root]/title.

if (file_exists('test.xml')) {
    $xml = simplexml_load_file('test.xml');

    print_r($xml);
} else {
    exit('Falha ao abrir test.xml.');
}
?>

Este script mostrará, em caso de sucesso:

SimpleXMLElement Object
(
  [title] => Example Title
  ...
)

Nesse ponto já é possível utilizar $xml->title e quaisquer outros elementos.

Veja Também

  • simplexml_load_string() - Interpreta uma string XML e a transforma em um objeto
  • SimpleXMLElement::__construct() - Cria um novo objeto SimpleXMLElement
  • Dealing with XML errors
  • libxml_use_internal_errors() - Desabilita erros da libxml e permite que o usuário obtenha informação do erro como necessitar
  • Basic usage


Interpreta uma string XML e a transforma em um objeto

  • « simplexml_load_file
  • WDDX »
  • PHP Manual
  • Funções da SimpleXML
  • Interpreta uma string XML e a transforma em um objeto

simplexml_load_string

(PHP 5, PHP 7, PHP 8)

simplexml_load_string — Interpreta uma string XML e a transforma em um objeto

Descrição

simplexml_load_string ( string $data , string $class_name = "SimpleXMLElement" , int $options = 0 , string $ns = "" , bool $is_prefix = false ) : SimpleXMLElement

Recebe uma string XML bem-formada e a retorna como um objeto.

Parâmetros

data

Uma string XML bem-formada

class_name

Pode-se utilizar o parâmetro opcional simplexml_load_string() para retornar um objeto da classe especificada. Esta classe deve estender SimpleXMLElement.

options

Desde o PHP 5.1.0 e da Libxml 2.6.0, você também pode utilizar o parâmetro options para especificar parâmetros adicionais da Libxml.

ns

Prefixo ou URI do namespace.

is_prefix

true se ns for um prefixo, false se for URI; o padrão é false.

Valor Retornado

Retorna um objeto da classe SimpleXMLElement com propriedades contendo os dados do documento XML, ou false em caso de falha.

Aviso

Esta função pode retornar o booleano false, mas também pode retornar um valor não-booleano que pode ser avaliado como false, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função.

Erros

Produz uma mensagem de erro E_WARNING para cada erro encontrado nos dados XML.

Dica

Utilize a função libxml_use_internal_errors() para suprimir todos os erros XML e a função libxml_get_errors() para iterar sobre eles posteriormente.

Exemplos

Exemplo #1 Interpretar uma string XML

<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
 <title>Forty What?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
  I know that's the answer -- but what's the question?
 </body>
</document>
XML;

$xml = simplexml_load_string($string);

print_r($xml);
?>

O exemplo acima irá imprimir:

SimpleXMLElement Object
(
  [title] => Forty What?
  [from] => Joe
  [to] => Jane
  [body] =>
   I know that's the answer -- but what's the question?
)

Nesse ponto já é possível utilizar $xml->body e afins.

Veja Também

  • simplexml_load_file() - Interpreta um arquivo XML e o transforma em um objeto
  • SimpleXMLElement::__construct() - Cria um novo objeto SimpleXMLElement
  • Dealing with XML errors
  • libxml_use_internal_errors() - Desabilita erros da libxml e permite que o usuário obtenha informação do erro como necessitar
  • Basic usage


WDDX

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • Funções da WDDX
    • wddx_add_vars — Adiciona variáveis a um pacote WDDX com o IP especificado
    • wddx_deserialize — Sinônimo de wddx_unserialize
    • wddx_packet_end — Finaliza um pacote WDDX com o ID especificado
    • wddx_packet_start — Inicializa um novo pacote WDDX com uma estrutura dentro dele
    • wddx_serialize_value — Serializa um único valor em um pacote WDDX
    • wddx_serialize_vars — Serializa variáveis em um pacote WDDX


  • « WDDX
  • Instalação/Configuração »
  • PHP Manual
  • WDDX
  • Introdução

Introdução

Essas funções tem o intuito de funcionar com » WDDX.


Dependências

Para usar WDDX, você precisará instalar a biblioteca expat (que vem com o Apache 1.3.7 ou superior).


Instalação

Depois de instalar o expat, compile o PHP com a opção --enable-wddx.

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.


  • « Configurações em Execução
  • Constantes pré-definidas »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Essa extensão define o identificador retornado por wddx_packet_start().


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • WDDX
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


  • « Constantes pré-definidas
  • »
  • PHP Manual
  • WDDX
  • Exemplos

Exemplos

Índice


  • « Exemplos
  • Funções da WDDX »
  • PHP Manual
  • Exemplos

Todas as funções que serializam variáveis usam o primeiro elemento de um array para determinar se o array deve ser serializado em um array ou estrutura. Se o primeiro elemento tem uma chave string, então ele é serializado em uma estrutura, caso contrário, em um array.

Exemplo #1 Serializando um único valor com WDDX

<?php
echo wddx_serialize_value("PHP to WDDX packet example", "PHP packet");
?>

Este exemplo irá produzir:

<wddxPacket version='1.0'><header comment='PHP packet'/><data>
<string>PHP to WDDX packet example</string></data></wddxPacket>

Exemplo #2 Usando pacotes incrementais com WDDX

<?php
$pi = 3.1415926;
$packet_id = wddx_packet_start("PHP");
wddx_add_vars($packet_id, "pi");

/* Suppose $cities came from database */
$cities = array("Austin", "Novato", "Seattle");
wddx_add_vars($packet_id, "cities");

$packet = wddx_packet_end($packet_id);
echo $packet;
?>

Este exemplo irá produzir:

<wddxPacket version='1.0'><header comment='PHP'/><data><struct>
<var name='pi'><number>3.1415926</number></var><var name='cities'>
<array length='3'><string>Austin</string><string>Novato</string>
<string>Seattle</string></array></var></struct></data></wddxPacket>

Nota:

Se você quiser serializar caracteres não-ASCII, você tem que primeiro converter seus dados para UTF-8 (veja utf8_encode() e iconv()).


Funções da WDDX

Índice

  • wddx_add_vars — Adiciona variáveis a um pacote WDDX com o IP especificado
  • wddx_deserialize — Sinônimo de wddx_unserialize
  • wddx_packet_end — Finaliza um pacote WDDX com o ID especificado
  • wddx_packet_start — Inicializa um novo pacote WDDX com uma estrutura dentro dele
  • wddx_serialize_value — Serializa um único valor em um pacote WDDX
  • wddx_serialize_vars — Serializa variáveis em um pacote WDDX


Adiciona variáveis a um pacote WDDX com o IP especificado

  • « Funções da WDDX
  • wddx_deserialize »
  • PHP Manual
  • Funções da WDDX
  • Adiciona variáveis a um pacote WDDX com o IP especificado

wddx_add_vars

(PHP 4, PHP 5, PHP 7)

wddx_add_vars — Adiciona variáveis a um pacote WDDX com o IP especificado

Descrição

wddx_add_vars ( resource $packet_id , mixed $var_name , mixed $... = ? ) : bool

Serializa as variáveis passadas e adiciona o resultado para o pacote escolhido.

Parâmetros

Essa função recebe um número variável de parâmetros.

packet_id

Um pacote WDDX, retornado por wddx_packet_start().

var_name

Pode ser um string com o nome de uma variável ou um array contendo strings com nomes de variáveis ou até outro array, recursivamente.

...

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Sinônimo de wddx_unserialize

  • « wddx_add_vars
  • wddx_packet_end »
  • PHP Manual
  • Funções da WDDX
  • Sinônimo de wddx_unserialize

wddx_deserialize

(PHP 4, PHP 5, PHP 7)

wddx_deserialize — Sinônimo de wddx_unserialize()

Descrição

Esta função é um apelido para: wddx_unserialize().


Finaliza um pacote WDDX com o ID especificado

  • « wddx_deserialize
  • wddx_packet_start »
  • PHP Manual
  • Funções da WDDX
  • Finaliza um pacote WDDX com o ID especificado

wddx_packet_end

(PHP 4, PHP 5, PHP 7)

wddx_packet_end — Finaliza um pacote WDDX com o ID especificado

Descrição

wddx_packet_end ( resource $packet_id ) : string

Finaliza e retorna um pacote WDDX escolhido.

Parâmetros

packet_id

Um pacote WDDX, retornado por wddx_packet_start().

Valor Retornado

Retorna a string com o pacote WDDX.


Inicializa um novo pacote WDDX com uma estrutura dentro dele

  • « wddx_packet_end
  • wddx_serialize_value »
  • PHP Manual
  • Funções da WDDX
  • Inicializa um novo pacote WDDX com uma estrutura dentro dele

wddx_packet_start

(PHP 4, PHP 5, PHP 7)

wddx_packet_start — Inicializa um novo pacote WDDX com uma estrutura dentro dele

Descrição

wddx_packet_start ( string $comment = ? ) : resource

Inicializa um novo pacote WDDX para adição incremental de variáveis. A função cria automaticamente uma definição de estrutura dentro do pacote para armazenar as variáveis.

Parâmetros

comment

Uma string opcional contendo comentários.

Valor Retornado

Retorna o ID do pacote para ser usado em outras funções ou false em caso de erro.


Serializa um único valor em um pacote WDDX

  • « wddx_packet_start
  • wddx_serialize_vars »
  • PHP Manual
  • Funções da WDDX
  • Serializa um único valor em um pacote WDDX

wddx_serialize_value

(PHP 4, PHP 5, PHP 7)

wddx_serialize_value — Serializa um único valor em um pacote WDDX

Descrição

wddx_serialize_value ( mixed $var , string $comment = ? ) : string

Cria um pacote WDDX a partir de uma única variável.

Parâmetros

var

Variável a ser serializada

comment

Um comentário (opcional) que aparece no cabeçalho do pacote.

Valor Retornado

Retorna o pacote WDDX ou false em caso de erro.


Serializa variáveis em um pacote WDDX

  • « wddx_serialize_value
  • XMLDiff »
  • PHP Manual
  • Funções da WDDX
  • Serializa variáveis em um pacote WDDX

wddx_serialize_vars

(PHP 4, PHP 5, PHP 7)

wddx_serialize_vars — Serializa variáveis em um pacote WDDX

Descrição

wddx_serialize_vars ( mixed $var_name , mixed $... = ? ) : string

Cria um pacote WDDX com um estrutura que contém a representação serializada das variáveis passadas.

Parâmetros

Essa função recebe um número variável de argumentos.

var_name

Pode ser ou uma string com o nome de uma variável ou um array contendo strings com o nome de variáveis ou outro array, recursivamente.

...

Valor Retornado

Retorna o pacote WDDX ou false em caso de erro.

Exemplos

Exemplo #1 Exemplo de uso de wddx_serialize_vars()

<?php
$a = 1;
$b = 5.5;
$c = array("blue", "orange", "violet");
$d = "colors";

$clvars = array("c", "d");
echo wddx_serialize_vars("a", "b", $clvars);
?>

O exemplo acima irá imprimir:

<wddxPacket version='1.0'><header/><data><struct><var name='a'><number>1</number></var>
<var name='b'><number>5.5</number></var><var name='c'><array length='3'>
<string>blue</string><string>orange</string><string>violet</string></array></var>
<var name='d'><string>colors</string></var></struct></data></wddxPacket>


XML diff and merge

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
  • XMLDiff\Base — The XMLDiff\Base class
    • XMLDiff\Base::__construct — Constructor
    • XMLDiff\Base::diff — Produce diff of two XML documents
    • XMLDiff\Base::merge — Produce new XML document based on diff
  • XMLDiff\DOM — The XMLDiff\DOM class
    • XMLDiff\DOM::diff — Diff two DOMDocument objects
    • XMLDiff\DOM::merge — Produce merged DOMDocument
  • XMLDiff\Memory — The XMLDiff\Memory class
    • XMLDiff\Memory::diff — Diff two XML documents
    • XMLDiff\Memory::merge — Produce merged XML document
  • XMLDiff\File — The XMLDiff\File class
    • XMLDiff\File::diff — Diff two XML files
    • XMLDiff\File::merge — Produce merged XML document


Introdução

The extension is able to produce diffs of two XML documents and then to apply the difference to the source document. The diff is a XML document containing copy/insert/delete instruction nodes in human readable format. DOMDocument objects, local files and strings in memory can be processed.


  • « Introdução
  • Dependências »
  • PHP Manual
  • XMLDiff
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação


Dependências

libdiffmark - version 0.10 is bundled with the extension. If diffmark is available from your system packages, its usage is strongly encouraged.

libxml extension

DOM extension


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/xmldiff.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/xmldiff/.


The XMLDiff\Base class

(PECL xmldiff >= 0.8.0)

Introdução

Base abstract class for all the comparsion classes in the extension.

Sinopse da classe

XMLDiff\Base {
/* Métodos */
public __construct ( string $nsname )
abstract public diff ( mixed $from , mixed $to ) : mixed
abstract public merge ( mixed $src , mixed $diff ) : mixed
}

Índice

  • XMLDiff\Base::__construct — Constructor
  • XMLDiff\Base::diff — Produce diff of two XML documents
  • XMLDiff\Base::merge — Produce new XML document based on diff


Constructor

  • « XMLDiff\Base
  • XMLDiff\Base::diff »
  • PHP Manual
  • XMLDiff\Base
  • Constructor

XMLDiff\Base::__construct

(PECL xmldiff >= 0.8.0)

XMLDiff\Base::__construct — Constructor

Descrição

public XMLDiff\Base::__construct ( string $nsname )

Base constructor for all the worker classes in the xmldiff extension.

Parâmetros

nsname

Custom namespace name for the diff document. The default namespace is http://www.locus.cz/diffmark and that's enough to avoid namespace conflicts. Use this parameter if you want to change it for some reason.

Valor Retornado


Produce diff of two XML documents

  • « XMLDiff\Base::__construct
  • XMLDiff\Base::merge »
  • PHP Manual
  • XMLDiff\Base
  • Produce diff of two XML documents

XMLDiff\Base::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\Base::diff — Produce diff of two XML documents

Descrição

abstract public XMLDiff\Base::diff ( mixed $from , mixed $to ) : mixed

Abstract diff method to be implemented by inheriting classes.

The basic purpose of this method is to produce diff of the two documents. The param order matters and will produce different output.

Parâmetros

from

Source XML document.

to

Target XML document.

Valor Retornado

Implementation dependent.


Produce new XML document based on diff

  • « XMLDiff\Base::diff
  • XMLDiff\DOM »
  • PHP Manual
  • XMLDiff\Base
  • Produce new XML document based on diff

XMLDiff\Base::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\Base::merge — Produce new XML document based on diff

Descrição

abstract public XMLDiff\Base::merge ( mixed $src , mixed $diff ) : mixed

Abstract merge method to be implemented by inheriting classes.

Basically the method purpose is to produce a new XML document based on the diff information.

Parâmetros

src

Source XML document.

diff

Document produced by the diff method.

Valor Retornado

Implementation dependent.


The XMLDiff\DOM class

(PECL xmldiff >= 0.8.0)

Introdução

Sinopse da classe

XMLDiff\DOM extends XMLDiff\Base {
/* Métodos */
public diff ( DOMDocument $from , DOMDocument $to ) : DOMDocument
public merge ( DOMDocument $src , DOMDocument $diff ) : DOMDocument
/* Métodos herdados */
public XMLDiff\Base::__construct ( string $nsname )
abstract public XMLDiff\Base::diff ( mixed $from , mixed $to ) : mixed
abstract public XMLDiff\Base::merge ( mixed $src , mixed $diff ) : mixed
}

Índice

  • XMLDiff\DOM::diff — Diff two DOMDocument objects
  • XMLDiff\DOM::merge — Produce merged DOMDocument


Diff two DOMDocument objects

  • « XMLDiff\DOM
  • XMLDiff\DOM::merge »
  • PHP Manual
  • XMLDiff\DOM
  • Diff two DOMDocument objects

XMLDiff\DOM::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\DOM::diff — Diff two DOMDocument objects

Descrição

public XMLDiff\DOM::diff ( DOMDocument $from , DOMDocument $to ) : DOMDocument

Diff two DOMDocument instances and produce the new one containing the diff information.

Parâmetros

from

Source DOMDocument object.

to

Target DOMDocument object.

Valor Retornado

DOMDocument with the diff information or NULL.


Produce merged DOMDocument

  • « XMLDiff\DOM::diff
  • XMLDiff\Memory »
  • PHP Manual
  • XMLDiff\DOM
  • Produce merged DOMDocument

XMLDiff\DOM::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\DOM::merge — Produce merged DOMDocument

Descrição

public XMLDiff\DOM::merge ( DOMDocument $src , DOMDocument $diff ) : DOMDocument

Create new DOMDocument based on the diff.

Parâmetros

src

Source DOMDocument object.

diff

DOMDocument object containing the diff information.

Valor Retornado

Merged DOMDocument or NULL.


The XMLDiff\Memory class

(PECL xmldiff >= 0.8.0)

Introdução

Sinopse da classe

XMLDiff\Memory extends XMLDiff\Base {
/* Métodos */
public diff ( string $from , string $to ) : string
public merge ( string $src , string $diff ) : string
/* Métodos herdados */
public XMLDiff\Base::__construct ( string $nsname )
abstract public XMLDiff\Base::diff ( mixed $from , mixed $to ) : mixed
abstract public XMLDiff\Base::merge ( mixed $src , mixed $diff ) : mixed
}

Índice

  • XMLDiff\Memory::diff — Diff two XML documents
  • XMLDiff\Memory::merge — Produce merged XML document


Diff two XML documents

  • « XMLDiff\Memory
  • XMLDiff\Memory::merge »
  • PHP Manual
  • XMLDiff\Memory
  • Diff two XML documents

XMLDiff\Memory::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\Memory::diff — Diff two XML documents

Descrição

public XMLDiff\Memory::diff ( string $from , string $to ) : string

Diff two strings containing XML documents and produce the diff information.

Parâmetros

from

Source XML document.

to

Target XML document.

Valor Retornado

String with the XML document containing the diff information or NULL.


Produce merged XML document

  • « XMLDiff\Memory::diff
  • XMLDiff\File »
  • PHP Manual
  • XMLDiff\Memory
  • Produce merged XML document

XMLDiff\Memory::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\Memory::merge — Produce merged XML document

Descrição

public XMLDiff\Memory::merge ( string $src , string $diff ) : string

Create new XML document based on diffs and source document.

Parâmetros

src

Source XML document.

diff

XML document containing diff information.

Valor Retornado

String with the new XML document or NULL.


The XMLDiff\File class

(PECL xmldiff >= 0.8.0)

Introdução

Sinopse da classe

XMLDiff\File extends XMLDiff\Base {
/* Métodos */
public diff ( string $from , string $to ) : string
public merge ( string $src , string $diff ) : string
/* Métodos herdados */
public XMLDiff\Base::__construct ( string $nsname )
abstract public XMLDiff\Base::diff ( mixed $from , mixed $to ) : mixed
abstract public XMLDiff\Base::merge ( mixed $src , mixed $diff ) : mixed
}

Índice

  • XMLDiff\File::diff — Diff two XML files
  • XMLDiff\File::merge — Produce merged XML document


Diff two XML files

  • « XMLDiff\File
  • XMLDiff\File::merge »
  • PHP Manual
  • XMLDiff\File
  • Diff two XML files

XMLDiff\File::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\File::diff — Diff two XML files

Descrição

public XMLDiff\File::diff ( string $from , string $to ) : string

Diff two local XML files and produce string with the diff information.

Parâmetros

from

Path to the source document.

to

Path to the target document.

Valor Retornado

String with the XML document containing the diff information or NULL.


Produce merged XML document

  • « XMLDiff\File::diff
  • XML Parser »
  • PHP Manual
  • XMLDiff\File
  • Produce merged XML document

XMLDiff\File::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\File::merge — Produce merged XML document

Descrição

public XMLDiff\File::merge ( string $src , string $diff ) : string

Create new XML document based on diffs and source document.

Parâmetros

src

Path to the source XML document.

diff

Path to the XML document with the diff information.

Valor Retornado

String with the new XML document or NULL.


XML Parser

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Manipuladores (handlers) de Evento
  • Case Folding
  • Códigos de Erro
  • Character Encoding
  • Exemplos
    • Exemplo estruturado de elementos XML
    • Exemplo arrumação de Tag XML
    • Exemplo de entidade externa do XML
  • Funções para analisar XML
    • utf8_decode — Converte uma string com caracteres ISO-8859-1 codificadas com UTF-8 para single-byte ISO-8859-1.
    • utf8_encode — Codifica um string ISO-8859-1 para UTF-8
    • xml_error_string — Obtém uma string de erro do analisador XML
    • xml_get_current_byte_index — Obtém o índice do byte atual para um analisador XML
    • xml_get_current_column_number — Obtém o número da coluna atual para um analisador XML
    • xml_get_current_line_number — Obtém o número da linha para um analisador XML
    • xml_get_error_code — Obtém um código de erro do analisador XML
    • xml_parse_into_struct — Analisa dados XML dentro de uma estrutura de array
    • xml_parse — Inicia a análise em um documento XML
    • xml_parser_create_ns — Cria um analisador XML com suporte a namespace
    • xml_parser_create — Cria um analisador XML
    • xml_parser_free — Free an XML parser
    • xml_parser_get_option — Obtém as opções de um analisador (parser) XML
    • xml_parser_set_option — Define opções em um analisador (parser) XML
    • xml_set_character_data_handler — Set up character data handler
    • xml_set_default_handler — Set up default handler
    • xml_set_element_handler — Set up start and end element handlers
    • xml_set_end_namespace_decl_handler — Set up end namespace declaration handler
    • xml_set_external_entity_ref_handler — Set up external entity reference handler
    • xml_set_notation_decl_handler — Set up notation declaration handler
    • xml_set_object — Use XML Parser within an object
    • xml_set_processing_instruction_handler — Set up processing instruction (PI) handler
    • xml_set_start_namespace_decl_handler — Set up start namespace declaration handler
    • xml_set_unparsed_entity_decl_handler — Set up unparsed entity declaration handler


Introdução

XML (eXtensible Markup Language) é um formato de dados para intercâmbio de documentos na Web. Ele é um padrão definido pela The World Wide Web consortium (W3C). Informações sobre XML e tecnologias relacionadas pode, ser encontradas em » http://www.w3.org/XML/.

Esta extensão do PHP implementa suporte para o James Clark's expat no PHP. Esta ferramenta permite que você analise, mas não valide, documentos XML. Ele suporta três source character encodings também fornecido pelo PHP: US-ASCII, ISO-8859-1 e UTF-8. UTF-16 não é suportado.

Esta extensão te permite criar analisadores XML e então definir manipuladores (handlers) para diferentes eventos XML. Cada analisador XML também tem alguns parâmetros que você pode ajustar.


Dependências

Esta extensão utiliza o expat compat layer por padrão. Ele pode usar também expat, que pode ser encontrado em » http://www.jclark.com/xml/expat.html. O Makefile que vem com o expat, por definição não constrói uma biblioteca, você pode usar as regras de 'make' para isso:

libexpat.a: $(OBJS)
    ar -rc $@ $(OBJS)
    ranlib $@
Um pacote dos fontes RPM do expat podem ser encontrados em » http://sourceforge.net/projects/expat/.


Instalação

Estas funções estão por definição habilitadas, usando o pacote expat library. Você pode desabilitar o suporte a XML com --disable-xml. Se você compilou o PHP como um módulo do Apache 1.3.9 ou mais novo, o PHP automaticamente utilizará o pacote expat library do Apache. Regularmente você não quer utilizar a configuração do pacote expat library do PHP --with-expat-dir=DIR, onde DIR apontaria para o diretório base de instalação do expat.

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.


Tipos de Recurso

The xml resource as returned by xml_parser_create() and xml_parser_create_ns() references an xml parser instance to be used with the functions provided by this extension.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

XML_ERROR_NONE (integer)
XML_ERROR_NO_MEMORY (integer)
XML_ERROR_SYNTAX (integer)
XML_ERROR_NO_ELEMENTS (integer)
XML_ERROR_INVALID_TOKEN (integer)
XML_ERROR_UNCLOSED_TOKEN (integer)
XML_ERROR_PARTIAL_CHAR (integer)
XML_ERROR_TAG_MISMATCH (integer)
XML_ERROR_DUPLICATE_ATTRIBUTE (integer)
XML_ERROR_JUNK_AFTER_DOC_ELEMENT (integer)
XML_ERROR_PARAM_ENTITY_REF (integer)
XML_ERROR_UNDEFINED_ENTITY (integer)
XML_ERROR_RECURSIVE_ENTITY_REF (integer)
XML_ERROR_ASYNC_ENTITY (integer)
XML_ERROR_BAD_CHAR_REF (integer)
XML_ERROR_BINARY_ENTITY_REF (integer)
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF (integer)
XML_ERROR_MISPLACED_XML_PI (integer)
XML_ERROR_UNKNOWN_ENCODING (integer)
XML_ERROR_INCORRECT_ENCODING (integer)
XML_ERROR_UNCLOSED_CDATA_SECTION (integer)
XML_ERROR_EXTERNAL_ENTITY_HANDLING (integer)
XML_OPTION_CASE_FOLDING (integer)
XML_OPTION_TARGET_ENCODING (integer)
XML_OPTION_SKIP_TAGSTART (integer)
XML_OPTION_SKIP_WHITE (integer)


Manipuladores (handlers) de Evento

Os manipuladores (handlers) de eventos de XML definidos são:

Manipuladores XML Suportados
Função do PHP pra definir manipulador | Descrição do evento
xml_set_element_handler() | Eventos elementares são emitidos toda vez que o analisador XML o início ou o fim das tags. Há manipuladores (handlers) separadores para tags de início e tags de fim.
xml_set_character_data_handler() | Dados de caractere são aproximadamente todo o conteúdo de documentos XML, incluindo espaços em branco entre as tags. Note que o analisador XML não adiciona ou remove qualquer espaço em branco, ele está pronto para a aplicação se você decidir que espaços em branco são significativos.
xml_set_processing_instruction_handler() | Programadores de PHP já estariam familiarizados com instruções de processo (PIs). <?php ?> é uma instrução de processo, onde php é chamada de o "PI target". O tratamento destes são application-specific, exceto que todos os PI targets iniciados com "XML" estão reservados.
xml_set_default_handler() | O que não vai para outro manipulador vai para o manipulador padrão. Você conseguirá coisas como o XML e declarações do tipo de documento no manipulador padrão.
xml_set_unparsed_entity_decl_handler() | Este manipulador será chamado por uma declaração de um entity não analisada (NDATA).
xml_set_notation_decl_handler() | Este manipulador é chamado pela declaração de uma nota.
xml_set_external_entity_ref_handler() | Este manipulador é chamado quando o analisador XML encontra uma referência para uma entity geral analizada externamente. Isto pode ser uma referência para um arquivo ou URL, por examplo. Veja Um exemplo de entidade externa para uma demonstração.


Case Folding

As funções de elementos do manipulador podem conseguir os nomes dos elementos case-folded. Case-folding é definida pelo padrão XML como "um processo aplicado para uma sequência de caracateres, em que aqueles identificados como minúsculos são substituidos pelos seus maiúsculos equivalentes". Em outras palavras, quando vai pro XML, case-folding simplesmente significa mudar pra maiúsculas.

Por definição, todos os nomes de elementos que são passados para as funções de manipulador são case-folded. Este comportamento pode ser perguntado e controlado pelo analisador XML com o xml_parser_get_option() e as funções xml_parser_set_option(), respectivamente.


Códigos de Erro

As seguintes constantes são definidas para erros no código XML (conforme retornado por xml_parse()):

  • XML_ERROR_NONE
  • XML_ERROR_NO_MEMORY
  • XML_ERROR_SYNTAX
  • XML_ERROR_NO_ELEMENTS
  • XML_ERROR_INVALID_TOKEN
  • XML_ERROR_UNCLOSED_TOKEN
  • XML_ERROR_PARTIAL_CHAR
  • XML_ERROR_TAG_MISMATCH
  • XML_ERROR_DUPLICATE_ATTRIBUTE
  • XML_ERROR_JUNK_AFTER_DOC_ELEMENT
  • XML_ERROR_PARAM_ENTITY_REF
  • XML_ERROR_UNDEFINED_ENTITY
  • XML_ERROR_RECURSIVE_ENTITY_REF
  • XML_ERROR_ASYNC_ENTITY
  • XML_ERROR_BAD_CHAR_REF
  • XML_ERROR_BINARY_ENTITY_REF
  • XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
  • XML_ERROR_MISPLACED_XML_PI
  • XML_ERROR_UNKNOWN_ENCODING
  • XML_ERROR_INCORRECT_ENCODING
  • XML_ERROR_UNCLOSED_CDATA_SECTION
  • XML_ERROR_EXTERNAL_ENTITY_HANDLING


Character Encoding

A Extensão XML do PHP suporta o caracter » Unicode definido por character encodings (codificação de caracteres) diferentes. Há dois tipos de codificação de caracteres, source encoding e target encoding. A apresentação interna do PHP do documento é sempre codificada com UTF-8.

Source encoding é feita quando um documento XML é analisado. Em criando um analisador XML, um source encoding pode ser especificado (Esta codificação não poderá ser mudada após o tempo de vida do analisador XML). As codificações suportadas são ISO-8859-1, US-ASCII e UTF-8. O segundo são codificações single-byte, que significa que cada caractere é representado por um byte simples. UTF-8 pode codificar caracteres compostos por um número de bits variável (acima de 21) em um de seus 4 bytes. O source encoding padrão utilizado pelo PHP é ISO-8859-1.

Target encoding é feito quando o PHP passa dados para as funções do analisador XML. Quando um analisador XML é criado, o target encoding é definido igual ao source encoding, mas este pode ser mudado em qualquer ponto. O target encoding afetará dados de caracter tão bem como nome de tags e processando alvos da instrução.

Se o analisador XML encontra caracteres de fora da linha que seu source encoding é capaz de detalhar, ele retornará um erro.

Se PHP encontra caracteres no documento XML analisado que não podem ser detalhados selecionados com target encoding, os caracteres com problema serão "demoted". Atualmente, isto significa que tais caracteres serão substituidos por um sinal de interrogação.


Exemplos

Índice

  • Exemplo estruturado de elementos XML
  • Exemplo arrumação de Tag XML
  • Exemplo de entidade externa do XML


Exemplo estruturado de elementos XML

Este primeiro exemplo mostra a estrutura de elementos iniciais num documento com distanciamento da margem.

Exemplo #1 Mostra estrutura do elemento XML

<?php
$file = "data.xml";
$depth = array();

function startElement($parser, $name, $attrs)
{
    global $depth;
    for ($i = 0; $i < $depth[$parser]; $i++) {
        echo "  ";
    }
    echo "$name\n";
    $depth[$parser]++;
}

function endElement($parser, $name)
{
    global $depth;
    $depth[$parser]--;
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>


Exemplo arrumação de Tag XML

Exemplo #1 Arrumar XML to HTML

Este exemplo arruma tags do documento XML diretamente para tags HTML. Elementos não encontrados no "array de arrumação" são ignorados. É claro, este exemplo trabalhará apenas com um tipo de documento XML específico.

<?php
$file = "data.xml";
$map_array = array(
    "BOLD"     => "B",
    "EMPHASIS" => "I",
    "LITERAL"  => "TT"
);

function startElement($parser, $name, $attrs)
{
    global $map_array;
    if (isset($map_array[$name])) {
        echo "<$map_array[$name]>";
    }
}

function endElement($parser, $name)
{
    global $map_array;
    if (isset($map_array[$name])) {
        echo "</$map_array[$name]>";
    }
}

function characterData($parser, $data)
{
    echo $data;
}

$xml_parser = xml_parser_create();
// use case-folding so we are sure to find the tag in $map_array
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>


Exemplo de entidade externa do XML

Este exemplo destaca o código XML. Ele ilusta como utilizar um analisador de referência a uma entity externa para incluir e analisar outros documentos, tão bem como PIs (instruções de processo) podem ser processadas, e uma forma de determinar "trust" para PIs contendo códigos.

Documentos XML que podem ser utilizados para este exemplo são encontrados abaixo do exemplo (xmltest.xml e xmltest2.xml.)

Exemplo #1 Exemplo da Entidade Externa

<?php
$file = "xmltest.xml";

function trustedFile($file)
{
    // only trust local files owned by ourselves
    if (!eregi("^([a-z]+)://", $file)
        && fileowner($file) == getmyuid()) {
            return true;
    }
    return false;
}

function startElement($parser, $name, $attribs)
{
    echo "&lt;<font color=\"#0000cc\">$name</font>";
    if (count($attribs)) {
        foreach ($attribs as $k => $v) {
            echo " <font color=\"#009900\">$k</font>=\"<font
                   color=\"#990000\">$v</font>\"";
        }
    }
    echo "&gt;";
}

function endElement($parser, $name)
{
    echo "&lt;/<font color=\"#0000cc\">$name</font>&gt;";
}

function characterData($parser, $data)
{
    echo "<b>$data</b>";
}

function PIHandler($parser, $target, $data)
{
    switch (strtolower($target)) {
        case "php":
            global $parser_file;
            // If the parsed document is "trusted", we say it is safe
            // to execute PHP code inside it.  If not, display the code
            // instead.
            if (trustedFile($parser_file[$parser])) {
                eval($data);
            } else {
                printf("Untrusted PHP code: <i>%s</i>",
                        htmlspecialchars($data));
            }
            break;
    }
}

function defaultHandler($parser, $data)
{
    if (substr($data, 0, 1) == "&" && substr($data, -1, 1) == ";") {
        printf('<font color="#aa00aa">%s</font>',
                htmlspecialchars($data));
    } else {
        printf('<font size="-1">%s</font>',
                htmlspecialchars($data));
    }
}

function externalEntityRefHandler($parser, $openEntityNames, $base, $systemId,
                                  $publicId) {
    if ($systemId) {
        if (!list($parser, $fp) = new_xml_parser($systemId)) {
            printf("Could not open entity %s at %s\n", $openEntityNames,
                   $systemId);
            return false;
        }
        while ($data = fread($fp, 4096)) {
            if (!xml_parse($parser, $data, feof($fp))) {
                printf("XML error: %s at line %d while parsing entity %s\n",
                       xml_error_string(xml_get_error_code($parser)),
                       xml_get_current_line_number($parser), $openEntityNames);
                xml_parser_free($parser);
                return false;
            }
        }
        xml_parser_free($parser);
        return true;
    }
    return false;
}

function new_xml_parser($file)
{
    global $parser_file;

    $xml_parser = xml_parser_create();
    xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);
    xml_set_element_handler($xml_parser, "startElement", "endElement");
    xml_set_character_data_handler($xml_parser, "characterData");
    xml_set_processing_instruction_handler($xml_parser, "PIHandler");
    xml_set_default_handler($xml_parser, "defaultHandler");
    xml_set_external_entity_ref_handler($xml_parser, "externalEntityRefHandler");

    if (!($fp = @fopen($file, "r"))) {
        return false;
    }
    if (!is_array($parser_file)) {
        settype($parser_file, "array");
    }
    $parser_file[$xml_parser] = $file;
    return array($xml_parser, $fp);
}

if (!(list($xml_parser, $fp) = new_xml_parser($file))) {
    die("could not open XML input");
}

echo "<pre>";
while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d\n",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
echo "</pre>";
echo "parse complete\n";
xml_parser_free($xml_parser);

?>

Exemplo #2 xmltest.xml

<?xml version='1.0'?>
<!DOCTYPE chapter SYSTEM "/just/a/test.dtd" [
<!ENTITY plainEntity "FOO entity">
<!ENTITY systemEntity SYSTEM "xmltest2.xml">
]>
<chapter>
 <TITLE>Title &plainEntity;</TITLE>
 <para>
  <informaltable>
   <tgroup cols="3">
    <tbody>
     <row><entry>a1</entry><entry morerows="1">b1</entry><entry>c1</entry></row>
     <row><entry>a2</entry><entry>c2</entry></row>
     <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
    </tbody>
   </tgroup>
  </informaltable>
 </para>
 &systemEntity;
 <section id="about">
  <title>About this Document</title>
  <para>
   <!-- this is a comment -->
   <?php echo 'Hi!  This is PHP version ' . phpversion(); ?>
  </para>
 </section>
</chapter>

Este arquivo é incluido por xmltest.xml:

Exemplo #3 xmltest2.xml

<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY testEnt "test entity">
]>
<foo>
   <element attrib="value"/>
   &testEnt;
   <?php echo "This is some more PHP code being executed."; ?>
</foo>


Funções para analisar XML

Índice

  • utf8_decode — Converte uma string com caracteres ISO-8859-1 codificadas com UTF-8 para single-byte ISO-8859-1.
  • utf8_encode — Codifica um string ISO-8859-1 para UTF-8
  • xml_error_string — Obtém uma string de erro do analisador XML
  • xml_get_current_byte_index — Obtém o índice do byte atual para um analisador XML
  • xml_get_current_column_number — Obtém o número da coluna atual para um analisador XML
  • xml_get_current_line_number — Obtém o número da linha para um analisador XML
  • xml_get_error_code — Obtém um código de erro do analisador XML
  • xml_parse_into_struct — Analisa dados XML dentro de uma estrutura de array
  • xml_parse — Inicia a análise em um documento XML
  • xml_parser_create_ns — Cria um analisador XML com suporte a namespace
  • xml_parser_create — Cria um analisador XML
  • xml_parser_free — Free an XML parser
  • xml_parser_get_option — Obtém as opções de um analisador (parser) XML
  • xml_parser_set_option — Define opções em um analisador (parser) XML
  • xml_set_character_data_handler — Set up character data handler
  • xml_set_default_handler — Set up default handler
  • xml_set_element_handler — Set up start and end element handlers
  • xml_set_end_namespace_decl_handler — Set up end namespace declaration handler
  • xml_set_external_entity_ref_handler — Set up external entity reference handler
  • xml_set_notation_decl_handler — Set up notation declaration handler
  • xml_set_object — Use XML Parser within an object
  • xml_set_processing_instruction_handler — Set up processing instruction (PI) handler
  • xml_set_start_namespace_decl_handler — Set up start namespace declaration handler
  • xml_set_unparsed_entity_decl_handler — Set up unparsed entity declaration handler


Converte uma string com caracteres ISO-8859-1 codificadas com UTF-8 para single-byte ISO-8859-1.

  • « Funções para analisar XML
  • utf8_encode »
  • PHP Manual
  • Funções para analisar XML
  • Converte uma string com caracteres ISO-8859-1 codificadas com UTF-8 para single-byte ISO-8859-1.

utf8_decode

(PHP 4, PHP 5, PHP 7, PHP 8)

utf8_decode — Converte uma string com caracteres ISO-8859-1 codificadas com UTF-8 para single-byte ISO-8859-1.

Descrição

utf8_decode ( string $data ) : string

Esta função decodifica data, assumido ser codificada em UTF-8, para ISO-8859-1.

Parâmetros

data

A string codificada UTF-8.

Valor Retornado

Retorna a tradução ISO-8859-1 de data.

Veja Também

  • utf8_encode() - Codifica um string ISO-8859-1 para UTF-8 for an explanation of UTF-8 encoding


Codifica um string ISO-8859-1 para UTF-8

  • « utf8_decode
  • xml_error_string »
  • PHP Manual
  • Funções para analisar XML
  • Codifica um string ISO-8859-1 para UTF-8

utf8_encode

(PHP 4, PHP 5, PHP 7, PHP 8)

utf8_encode — Codifica um string ISO-8859-1 para UTF-8

Descrição

utf8_encode ( string $data ) : string

Esta função codifica uma string data para UTF-8, e retorna uma versão codificada. UTF-8 é o mecanismo padrão usado pela Unicode para codificação de valores amplos de caractere dentro de um byte stream. UTF-8 é transparente para caracteres simplesASCII, é auto-sincronizado (quer dizer que isso é possível para um programa compreender onde nos caracteres bytestream começar) e pode ser usado funções de comparção de strings normais para seleção e semelhança. PHP codifica caracteres UTF-8 em até quatro bytes, desse jeito:

UTF-8 encoding
bytes | bits | representation
1 | 7 | 0bbbbbbb
2 | 11 | 110bbbbb 10bbbbbb
3 | 16 | 1110bbbb 10bbbbbb 10bbbbbb
4 | 21 | 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb
Cada b representa um bit que pode ser usado para guardar dados de caracter.

Parâmetros

data

Uma string ISO-8859-1.

Valor Retornado

Retorna a tradução UTF-8 de data.


Obtém uma string de erro do analisador XML

  • « utf8_encode
  • xml_get_current_byte_index »
  • PHP Manual
  • Funções para analisar XML
  • Obtém uma string de erro do analisador XML

xml_error_string

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_error_string — Obtém uma string de erro do analisador XML

Descrição

xml_error_string ( int $code ) : string

Obtém a string do erro do analisador XML associado com um dado code.

Parâmetros

code

Um código de erro de xml_get_error_code().

Valor Retornado

Retorna uma string com uma descrição textual do código de erro code, ou false se nenhuma descrição for encontrada.

Veja Também

  • xml_get_error_code() - Obtém um código de erro do analisador XML


Obtém o índice do byte atual para um analisador XML

  • « xml_error_string
  • xml_get_current_column_number »
  • PHP Manual
  • Funções para analisar XML
  • Obtém o índice do byte atual para um analisador XML

xml_get_current_byte_index

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_get_current_byte_index — Obtém o índice do byte atual para um analisador XML

Descrição

xml_get_current_byte_index ( resource $parser ) : int

Obtém o atual índice do byte de um dado analisador XML.

Parâmetros

parser

Uma referência ao analisador XML para conseguir o índice do byte.

Valor Retornado

Esta função retorna false Se parser não se refere a um analisador válido, senão ele retorna qual o índice do byte o analisador está atualmente em seu registro de dados (buffer data) (começando do 0).

Notas

Aviso

Esta função retorna índice do byte de acordo com o texto UTF-8 codificado desconsiderando se a entrada está em outra codificação.

Veja Também

  • xml_get_current_column_index()
  • xml_get_current_line_index()


Obtém o número da coluna atual para um analisador XML

  • « xml_get_current_byte_index
  • xml_get_current_line_number »
  • PHP Manual
  • Funções para analisar XML
  • Obtém o número da coluna atual para um analisador XML

xml_get_current_column_number

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_get_current_column_number — Obtém o número da coluna atual para um analisador XML

Descrição

xml_get_current_column_number ( resource $parser ) : int

Obtém o número da coluna atual de um dado analisador XML.

Parâmetros

parser

Uma referência ao analisador XML obter o número da coluna.

Valor Retornado

Esta função retorna false se parser não se refere a um analisador válido, senão ele retorna qual coluna na linha atual (como dado por xml_get_current_line_number()) o analisador está atualmente.

Veja Também

  • xml_get_current_byte_index() - Obtém o índice do byte atual para um analisador XML
  • xml_get_current_line_index()


Obtém o número da linha para um analisador XML

  • « xml_get_current_column_number
  • xml_get_error_code »
  • PHP Manual
  • Funções para analisar XML
  • Obtém o número da linha para um analisador XML

xml_get_current_line_number

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_get_current_line_number — Obtém o número da linha para um analisador XML

Descrição

xml_get_current_line_number ( resource $parser ) : int

Obtém o número da linha atual para um dado analisador XML.

Parâmetros

parser

Uma referência ao analisador XML obter o número da linha.

Valor Retornado

Esta função retorna false se parser não se refere a um analisador válido, senão ele retorna qual linha o analisador está atualmente em seu registro de dados (data buffer).

Veja Também

  • xml_get_current_column_index()
  • xml_get_current_byte_index() - Obtém o índice do byte atual para um analisador XML


Obtém um código de erro do analisador XML

  • « xml_get_current_line_number
  • xml_parse_into_struct »
  • PHP Manual
  • Funções para analisar XML
  • Obtém um código de erro do analisador XML

xml_get_error_code

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_get_error_code — Obtém um código de erro do analisador XML

Descrição

xml_get_error_code ( resource $parser ) : int

Obtém o código de erro do analisador XML.

Parâmetros

parser

Uma referência para o analisador XML obter código de erro.

Valor Retornado

Esta função retorna false se parser não se refere a um analisadore válido, senão ele retorna um dos códigos de erro listados na seção código de erros.

Veja Também

  • xml_error_string() - Obtém uma string de erro do analisador XML


Analisa dados XML dentro de uma estrutura de array

  • « xml_get_error_code
  • xml_parse »
  • PHP Manual
  • Funções para analisar XML
  • Analisa dados XML dentro de uma estrutura de array

xml_parse_into_struct

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_parse_into_struct — Analisa dados XML dentro de uma estrutura de array

Descrição

xml_parse_into_struct ( resource $parser , string $data , array &$values , array &$index = ? ) : int

Esta função analisa uma arquivo XML dentro de 2 estruturas de array paralelas, um (index) contendo indicadores para a localização dos valores apropriados nos values do array. Estes dois últimos parâmetros deve ser passados por referência.

Parâmetros

parser

data

values

index

Valor Retornado

xml_parse_into_struct() retorna 0 para falha e 1 para sucesso. Isto não é o mesmo igual como false e true, então use com operador ===.

Exemplos

Abaixo tem um exemplo que ilustra a estrutura interna dos arrays sendo gerados pela função. Nós usamos uma simples note tag imbutida dentro da para tag, e quando nós analisamos isto exibe as estruturas geredas:

Exemplo #1 Exemplo da xml_parse_into_struct()

<?php
$simple = "<para><note>simple note</note></para>";
$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
echo "Index array\n";
print_r($index);
echo "\nVals array\n";
print_r($vals);
?>

Quando nós executarmos o código, a saída será:

Index array
Array
(
    [PARA] => Array
        (
            [0] => 0
            [1] => 2
        )

    [NOTE] => Array
        (
            [0] => 1
        )

)

Vals array
Array
(
    [0] => Array
        (
            [tag] => PARA
            [type] => open
            [level] => 1
        )

    [1] => Array
        (
            [tag] => NOTE
            [type] => complete
            [level] => 2
            [value] => simple note
        )

    [2] => Array
        (
            [tag] => PARA
            [type] => close
            [level] => 1
        )

)

Análise dirigida por eventos (Event-driven parsing) (baseada na biblioteca do expat) pode complicado quando você tem um documento XML que é complexo. Esta função não produz um objeto no estilo DOM, mas gera estruturas cômodas de serem organizadas em uma forma de árvore. Assim, nós podemos criar objetos representando os dados nos arquivos facilmente. Vamos considerar o seguinte arquivo representando um pequeno banco de dados de informações de aminoácidos:

Exemplo #2 moldb.xml - pequeno banco de dados de informações moleculares

<?xml version="1.0"?>
<moldb>

    <molecule>
        <name>Alanine</name>
        <symbol>ala</symbol>
        <code>A</code>
        <type>hydrophobic</type>
    </molecule>

    <molecule>
        <name>Lysine</name>
        <symbol>lys</symbol>
        <code>K</code>
        <type>charged</type>
    </molecule>

</moldb>
E alguns códigos para analisar o documento e gerar os objetos apropriados:

Exemplo #3 parsemoldb.php - analisa moldb.xml e cria o array dos objetos moleculares

<?php

class AminoAcid {
    var $name;  // aa name
    var $symbol;    // three letter symbol
    var $code;  // one letter code
    var $type;  // hydrophobic, charged or neutral

    function AminoAcid ($aa)
    {
        foreach ($aa as $k=>$v)
            $this->$k = $aa[$k];
    }
}

function readDatabase($filename)
{
    // lê o banco de dados XML de aminoácidos
    $data = implode("", file($filename));
    $parser = xml_parser_create();
    xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
    xml_parse_into_struct($parser, $data, $values, $tags);
    xml_parser_free($parser);

    // loop through the structures
    foreach ($tags as $key=>$val) {
        if ($key == "molecule") {
            $molranges = $val;
            // each contiguous pair of array entries are the
            // lower and upper range for each molecule definition
            for ($i=0; $i < count($molranges); $i+=2) {
                    $offset = $molranges[$i] + 1;
                $len = $molranges[$i + 1] - $offset;
                $tdb[] = parseMol(array_slice($values, $offset, $len));
            }
        } else {
            continue;
        }
    }
    return $tdb;
}

function parseMol($mvalues)
{
    for ($i=0; $i < count($mvalues); $i++) {
        $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
    }
    return new AminoAcid($mol);
}

$db = readDatabase("moldb.xml");
echo "** Database of AminoAcid objects:\n";
print_r($db);

?>
After executing parsemoldb.php, a variável $db contém um array dos objetos de AminoAcid, e a saída do script confirma isso:
** Database of AminoAcid objects:
Array
(
    [0] => aminoacid Object
        (
            [name] => Alanine
            [symbol] => ala
            [code] => A
            [type] => hydrophobic
        )

    [1] => aminoacid Object
        (
            [name] => Lysine
            [symbol] => lys
            [code] => K
            [type] => charged
        )

)


Inicia a análise em um documento XML

  • « xml_parse_into_struct
  • xml_parser_create_ns »
  • PHP Manual
  • Funções para analisar XML
  • Inicia a análise em um documento XML

xml_parse

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_parse — Inicia a análise em um documento XML

Descrição

xml_parse ( resource $parser , string $data , bool $is_final = ? ) : int

xml_parse() analisa um documento XML. Os manipuladores para os configurados eventos são chamados várias vezes se necessário.

Parâmetros

parser

Uma referência ao analisador XML a ser usado.

data

Pedaço dos dados para análise. Um documento pode ser análisado em partes pelo chamado de xml_parse() várias vezes com novos dados, tão longos quanto o parâmetro is_final está definido e true quando os últimos dados são analisados.

is_final

Se definido e true, data é a última parte dos dados enviados nesta análise.

Valor Retornado

Retorna 1 em sucesso or 0 em falha.

Para análise sem sucesso, informação do erro pode ser recuperada com
xml_get_error_code(),
xml_error_string(),
xml_get_current_line_number(),
xml_get_current_column_number() e
xml_get_current_byte_index().

Nota:

Erros de entidade são reportados no final dos dados, assim somente se is_final está definido e true.


Cria um analisador XML com suporte a namespace

  • « xml_parse
  • xml_parser_create »
  • PHP Manual
  • Funções para analisar XML
  • Cria um analisador XML com suporte a namespace

xml_parser_create_ns

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

xml_parser_create_ns — Cria um analisador XML com suporte a namespace

Descrição

xml_parser_create_ns ( string $encoding = ? , string $separator = ? ) : resource

xml_parser_create_ns() cria um novo analisador XML com suporte namespace do XML e retorna um resource handle fazendo referência para ele ser usado por outras funções XML.

Parâmetros

encoding

O opcional encoding especifica a codificação de caractere para entrada/saída no PHP 4. Iniciando no PHP 5, a codificação de entrada é automaticamente detectada, então que o parâmetro encoding especifica somente a codificação de saída. No PHP 4, a codificação de saída padrão é igual ao charset da entrada. No PHP 5.0.0 e 5.0.1, o charset de saída padrão é ISO-8859-1, quando no PHP 5.0.2 e superior é UTF-8. As suportadas codificações são ISO-8859-1, UTF-8 e US-ASCII.

separator

Com um namespace ciente do parser de parâmetros de tags passados para vários manipuladores de funções consistirão do namespace e nome da tag separados pela string especificada em seperator ou ':' por padrão.

Valor Retornado

Retorna um manipulador de resource para o novo parser XML.

Veja Também

  • xml_parser_create() - Cria um analisador XML
  • xml_parser_free() - Free an XML parser


Cria um analisador XML

  • « xml_parser_create_ns
  • xml_parser_free »
  • PHP Manual
  • Funções para analisar XML
  • Cria um analisador XML

xml_parser_create

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_parser_create — Cria um analisador XML

Descrição

xml_parser_create ( string $encoding = ? ) : resource

xml_parser_create() cria um novo analisador XML e retorna um resource handle fazendo referência a ele para ser usado por outras funções XML.

Parâmetros

encoding

O opcional encoding especifica a codificação de caractere para entrada/saída no PHP 4. Iniciando no PHP 5, a codificação de entrada é automaticamente detectada, então que o parâmetro encoding especifica somente a codificação de saída. No PHP 4, a codificação de saída padrão é igual ao charset da entrada. No PHP 5.0.0 e 5.0.1, o charset de saída padrão é ISO-8859-1, quando no PHP 5.0.2 e superior é UTF-8. As suportadas codificações são ISO-8859-1, UTF-8 e US-ASCII.

Valor Retornado

Retorna um manipulador de resource para o novo parser XML.

Veja Também

  • xml_parser_create_ns() - Cria um analisador XML com suporte a namespace
  • xml_parser_free() - Free an XML parser


Free an XML parser

  • « xml_parser_create
  • xml_parser_get_option »
  • PHP Manual
  • Funções para analisar XML
  • Free an XML parser

xml_parser_free

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_parser_free — Free an XML parser

Descrição

xml_parser_free ( resource $parser ) : bool

Libera um dado parser XML.

Parâmetros

parser
Uma referência para o analisador XML (to free) esgotar .

Valor Retornado

Esta função retorna false se parser (analisador) não se refere a um analisador válido, senão ele (frees) esgota o analisador e retorna true.


Obtém as opções de um analisador (parser) XML

  • « xml_parser_free
  • xml_parser_set_option »
  • PHP Manual
  • Funções para analisar XML
  • Obtém as opções de um analisador (parser) XML

xml_parser_get_option

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_parser_get_option — Obtém as opções de um analisador (parser) XML

Descrição

xml_parser_get_option ( resource $parser , int $option ) : mixed

Obtém um valor de opção de um analisador XML.

Parâmetros

parser
Uma referência para o analisador XML para obter uma opção.
option
Qual opção buscar. XML_OPTION_CASE_FOLDING e XML_OPTION_TARGET_ENCODING estão disponíveis. Veja xml_parser_set_option() para suas descrições.

Valor Retornado

Esta função retorna false se o parser não se referir a um analisador válido ou se a opção não é válida (gera também um E_WARNING). Senão o valor da opção é retornado.


Define opções em um analisador (parser) XML

  • « xml_parser_get_option
  • xml_set_character_data_handler »
  • PHP Manual
  • Funções para analisar XML
  • Define opções em um analisador (parser) XML

xml_parser_set_option

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_parser_set_option — Define opções em um analisador (parser) XML

Descrição

xml_parser_set_option ( resource $parser , int $option , mixed $value ) : bool

Define uma opção em uma analisador (parser) XML.

Parâmetros

parser

Uma referência para o analisador XML para obter uma opção.

option

Qual a opção para definir. Veja abaixo.

As opções disponíveis são as seguintes:

XML parser options
Option constant | Data type | Description
XML_OPTION_CASE_FOLDING | integer | Controla se case-folding está habilitado para este analisador XML. Ativado por padrão.
XML_OPTION_SKIP_TAGSTART | integer | Especifica quantos caracteres devem ser ignorados no início do nome de uma tag.
XML_OPTION_SKIP_WHITE | integer | Se irá pular valores constituídos por espaços em branco.
XML_OPTION_TARGET_ENCODING | string | Define qual codificação será usada neste analisador XML. Por pradrão, é definido com a mesma codificação usada pelo xml_parser_create(). Codificações suportadas são ISO-8859-1, US-ASCII e UTF-8.

value

Novo valor da opção.

Valor Retornado

Esta função retorna false se parser não se referir a um analisador válido, ou se a opção não pode ser definida. Caso contrário, a opção esta definida e é retornado true.


Set up character data handler

  • « xml_parser_set_option
  • xml_set_default_handler »
  • PHP Manual
  • Funções para analisar XML
  • Set up character data handler

xml_set_character_data_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_character_data_handler — Set up character data handler

Descrição

xml_set_character_data_handler ( XMLParser $parser , callable $handler ) : bool

Sets the character data handler function for the XML parser parser.

Parâmetros

parser

A reference to the XML parser to set up character data handler function.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept two parameters:

handler ( XMLParser $parser , string $data )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
data
The second parameter, data, contains the character data as a string.

Character data handler is called for every piece of a text in the XML document. It can be called multiple times inside each fragment (e.g. for non-ASCII strings).

If a handler function is set to an empty string, or false, the handler in question is disabled.

Nota: Ao invés de um nome de função, um array contendo uma referência de objeto e ao nome de método também podem ser fornecidos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | parser expects an XMLParser instance now; previously, a resource was expected.


Set up default handler

  • « xml_set_character_data_handler
  • xml_set_element_handler »
  • PHP Manual
  • Funções para analisar XML
  • Set up default handler

xml_set_default_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_default_handler — Set up default handler

Descrição

xml_set_default_handler ( XMLParser $parser , callable $handler ) : bool

Sets the default handler function for the XML parser parser.

Parâmetros

parser

A reference to the XML parser to set up default handler function.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept two parameters:

handler ( XMLParser $parser , string $data )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
data
The second parameter, data, contains the character data.This may be the XML declaration, document type declaration, entities or other data for which no other handler exists.

If a handler function is set to an empty string, or false, the handler in question is disabled.

Nota: Ao invés de um nome de função, um array contendo uma referência de objeto e ao nome de método também podem ser fornecidos.

Changelog

Versão | Descrição
8.0.0 | parser expects an XMLParser instance now; previously, a resource was expected.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set up start and end element handlers

  • « xml_set_default_handler
  • xml_set_end_namespace_decl_handler »
  • PHP Manual
  • Funções para analisar XML
  • Set up start and end element handlers

xml_set_element_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_element_handler — Set up start and end element handlers

Descrição

xml_set_element_handler ( XMLParser $parser , callable $start_handler , callable $end_handler ) : bool

Sets the element handler functions for the XML parser. start_handler and end_handler are strings containing the names of functions that must exist when xml_parse() is called for parser.

Parâmetros

parser

A reference to the XML parser to set up start and end element handler functions.

start_handler

The function named by start_handler must accept three parameters:

start_element_handler ( XMLParser $parser , string $name , array $attribs )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
name
The second parameter, name, contains the name of the element for which this handler is called.If case-folding is in effect for this parser, the element name will be in uppercase letters.
attribs
The third parameter, attribs, contains an associative array with the element's attributes (if any).The keys of this array are the attribute names, the values are the attribute values.Attribute names are case-folded on the same criteria as element names.Attribute values are not case-folded. The original order of the attributes can be retrieved by walking through attribs the normal way, using each().The first key in the array was the first attribute, and so on.

Nota: Ao invés de um nome de função, um array contendo uma referência de objeto e ao nome de método também podem ser fornecidos.

end_handler

The function named by end_handler must accept two parameters:

end_element_handler ( XMLParser $parser , string $name )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
name
The second parameter, name, contains the name of the element for which this handler is called.If case-folding is in effect for this parser, the element name will be in uppercase letters.

If a handler function is set to an empty string, or false, the handler in question is disabled.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | parser expects an XMLParser instance now; previously, a resource was expected.


Set up end namespace declaration handler

  • « xml_set_element_handler
  • xml_set_external_entity_ref_handler »
  • PHP Manual
  • Funções para analisar XML
  • Set up end namespace declaration handler

xml_set_end_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

xml_set_end_namespace_decl_handler — Set up end namespace declaration handler

Descrição

xml_set_end_namespace_decl_handler ( XMLParser $parser , callable $handler ) : bool

Set a handler to be called when leaving the scope of a namespace declaration. This will be called, for each namespace declaration, after the handler for the end tag of the element in which the namespace was declared.

Cuidado

This event is not supported under libXML, so a registered handler wouldn't be called.

Parâmetros

parser

A reference to the XML parser.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept two parameters, and should return an integer value. If the value returned from the handler is false (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( XMLParser $parser , string $prefix )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
prefix
The prefix is a string used to reference the namespace within an XML object.

If a handler function is set to an empty string, or false, the handler in question is disabled.

Nota: Ao invés de um nome de função, um array contendo uma referência de objeto e ao nome de método também podem ser fornecidos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | parser expects an XMLParser instance now; previously, a resource was expected.

Veja Também

  • xml_set_start_namespace_decl_handler() - Set up start namespace declaration handler


Set up external entity reference handler

  • « xml_set_end_namespace_decl_handler
  • xml_set_notation_decl_handler »
  • PHP Manual
  • Funções para analisar XML
  • Set up external entity reference handler

xml_set_external_entity_ref_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_external_entity_ref_handler — Set up external entity reference handler

Descrição

xml_set_external_entity_ref_handler ( XMLParser $parser , callable $handler ) : bool

Sets the external entity reference handler function for the XML parser parser.

Parâmetros

parser

A reference to the XML parser to set up external entity reference handler function.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept five parameters, and should return an integer value.If the value returned from the handler is false (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( XMLParser $parser , string $open_entity_names , string $base , string $system_id , string $public_id )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
open_entity_names
The second parameter, open_entity_names, is a space-separated list of the names of the entities that are open for the parse of this entity (including the name of the referenced entity).
base
This is the base for resolving the system identifier (system_id) of the external entity.Currently this parameter will always be set to an empty string.
system_id
The fourth parameter, system_id, is the system identifier as specified in the entity declaration.
public_id
The fifth parameter, public_id, is the public identifier as specified in the entity declaration, or an empty string if none was specified; the whitespace in the public identifier will have been normalized as required by the XML spec.

If a handler function is set to an empty string, or false, the handler in question is disabled.

Nota: Ao invés de um nome de função, um array contendo uma referência de objeto e ao nome de método também podem ser fornecidos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | parser expects an XMLParser instance now; previously, a resource was expected.
7.3.0 | The return value of the handler is no longer ignored if the extension has been built against libxml. Formerly, the return value has been ignored, and parsing did never stop.


Set up notation declaration handler

  • « xml_set_external_entity_ref_handler
  • xml_set_object »
  • PHP Manual
  • Funções para analisar XML
  • Set up notation declaration handler

xml_set_notation_decl_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_notation_decl_handler — Set up notation declaration handler

Descrição

xml_set_notation_decl_handler ( XMLParser $parser , callable $handler ) : bool

Sets the notation declaration handler function for the XML parser parser.

A notation declaration is part of the document's DTD and has the following format:

<!NOTATION <parameter>name</parameter>
{ <parameter>systemId</parameter> | <parameter>publicId</parameter>?>
See » section 4.7 of the XML 1.0 spec for the definition of notation declarations.

Parâmetros

parser

A reference to the XML parser to set up notation declaration handler function.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept five parameters:

handler ( XMLParser $parser , string $notation_name , string $base , string $system_id , string $public_id )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
notation_name
This is the notation's name, as per the notation format described above.
base
This is the base for resolving the system identifier (system_id) of the notation declaration. Currently this parameter will always be set to an empty string.
system_id
System identifier of the external notation declaration.
public_id
Public identifier of the external notation declaration.

If a handler function is set to an empty string, or false, the handler in question is disabled.

Nota: Ao invés de um nome de função, um array contendo uma referência de objeto e ao nome de método também podem ser fornecidos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | parser expects an XMLParser instance now; previously, a resource was expected.


Use XML Parser within an object

  • « xml_set_notation_decl_handler
  • xml_set_processing_instruction_handler »
  • PHP Manual
  • Funções para analisar XML
  • Use XML Parser within an object

xml_set_object

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_object — Use XML Parser within an object

Descrição

xml_set_object ( XMLParser $parser , object $object ) : bool

This function allows to use parser inside object. All callback functions could be set with xml_set_element_handler() etc and assumed to be methods of object.

Parâmetros

parser

A reference to the XML parser to use inside the object.

object

The object where to use the XML parser.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | parser expects an XMLParser instance now; previously, a resource was expected.

Exemplos

Exemplo #1 xml_set_object() example

<?php
class XMLParser
{
    private $parser;

    function __construct()
    {
        $this->parser = xml_parser_create();

        xml_set_object($this->parser, $this);
        xml_set_element_handler($this->parser, "tag_open", "tag_close");
        xml_set_character_data_handler($this->parser, "cdata");
    }

    function __destruct()
    {
        xml_parser_free($this->parser);
        unset($this->parser);
    }

    function parse($data)
    {
        xml_parse($this->parser, $data);
    }

    function tag_open($parser, $tag, $attributes)
    {
        var_dump($tag, $attributes);
    }

    function cdata($parser, $cdata)
    {
        var_dump($cdata);
    }

    function tag_close($parser, $tag)
    {
        var_dump($tag);
    }
}

$xml_parser = new XMLParser();
$xml_parser->parse("<A ID='hallo'>PHP</A>");
?>

O exemplo acima irá imprimir:

string(1) "A"
array(1) {
  ["ID"]=>
  string(5) "hallo"
}
string(3) "PHP"
string(1) "A"


Set up processing instruction (PI) handler

  • « xml_set_object
  • xml_set_start_namespace_decl_handler »
  • PHP Manual
  • Funções para analisar XML
  • Set up processing instruction (PI) handler

xml_set_processing_instruction_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_processing_instruction_handler — Set up processing instruction (PI) handler

Descrição

xml_set_processing_instruction_handler ( XMLParser $parser , callable $handler ) : bool

Sets the processing instruction (PI) handler function for the XML parser parser.

A processing instruction has the following format:

<?
target data
?>
You can put PHP code into such a tag, but be aware of one limitation: in an XML PI, the PI end tag (?>) can not be quoted, so this character sequence should not appear in the PHP code you embed with PIs in XML documents.If it does, the rest of the PHP code, as well as the "real" PI end tag, will be treated as character data.

Parâmetros

parser

A reference to the XML parser to set up processing instruction (PI) handler function.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept three parameters:

handler ( XMLParser $parser , string $target , string $data )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
target
The second parameter, target, contains the PI target.
data
The third parameter, data, contains the PI data.

If a handler function is set to an empty string, or false, the handler in question is disabled.

Nota: Ao invés de um nome de função, um array contendo uma referência de objeto e ao nome de método também podem ser fornecidos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | parser expects an XMLParser instance now; previously, a resource was expected.


Set up start namespace declaration handler

  • « xml_set_processing_instruction_handler
  • xml_set_unparsed_entity_decl_handler »
  • PHP Manual
  • Funções para analisar XML
  • Set up start namespace declaration handler

xml_set_start_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

xml_set_start_namespace_decl_handler — Set up start namespace declaration handler

Descrição

xml_set_start_namespace_decl_handler ( XMLParser $parser , callable $handler ) : bool

Set a handler to be called when a namespace is declared. Namespace declarations occur inside start tags. But the namespace declaration start handler is called before the start tag handler for each namespace declared in that start tag.

Parâmetros

parser

A reference to the XML parser.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept three parameters, and should return an integer value. If the value returned from the handler is false (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( XMLParser $parser , string $prefix , string $uri )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
prefix
The prefix is a string used to reference the namespace within an XML object.
uri
Uniform Resource Identifier (URI) of namespace.

If a handler function is set to an empty string, or false, the handler in question is disabled.

Nota: Ao invés de um nome de função, um array contendo uma referência de objeto e ao nome de método também podem ser fornecidos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | parser expects an XMLParser instance now; previously, a resource was expected.

Veja Também

  • xml_set_end_namespace_decl_handler() - Set up end namespace declaration handler


Set up unparsed entity declaration handler

  • « xml_set_start_namespace_decl_handler
  • XMLReader »
  • PHP Manual
  • Funções para analisar XML
  • Set up unparsed entity declaration handler

xml_set_unparsed_entity_decl_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_unparsed_entity_decl_handler — Set up unparsed entity declaration handler

Descrição

xml_set_unparsed_entity_decl_handler ( XMLParser $parser , callable $handler ) : bool

Sets the unparsed entity declaration handler function for the XML parser parser.

The handler will be called if the XML parser encounters an external entity declaration with an NDATA declaration, like the following:

<!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter> | <parameter>systemId</parameter>}
        NDATA <parameter>notationName</parameter>

See » section 4.2.2 of the XML 1.0 spec for the definition of notation declared external entities.

Parâmetros

parser

A reference to the XML parser to set up unparsed entity declaration handler function.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept six parameters:

handler ( XMLParser $parser , string $entity_name , string $base , string $system_id , string $public_id , string $notation_name )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
entity_name
The name of the entity that is about to be defined.
base
This is the base for resolving the system identifier (systemId) of the external entity.Currently this parameter will always be set to an empty string.
system_id
System identifier for the external entity.
public_id
Public identifier for the external entity.
notation_name
Name of the notation of this entity (see xml_set_notation_decl_handler()).

If a handler function is set to an empty string, or false, the handler in question is disabled.

Nota: Ao invés de um nome de função, um array contendo uma referência de objeto e ao nome de método também podem ser fornecidos.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | parser expects an XMLParser instance now; previously, a resource was expected.


XMLReader

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • XMLReader — The XMLReader class
    • XMLReader::close — Close the XMLReader input
    • XMLReader::expand — Returns a copy of the current node as a DOM object
    • XMLReader::getAttribute — Get the value of a named attribute
    • XMLReader::getAttributeNo — Get the value of an attribute by index
    • XMLReader::getAttributeNs — Get the value of an attribute by localname and URI
    • XMLReader::getParserProperty — Indicates if specified property has been set
    • XMLReader::isValid — Indicates if the parsed document is valid
    • XMLReader::lookupNamespace — Lookup namespace for a prefix
    • XMLReader::moveToAttribute — Move cursor to a named attribute
    • XMLReader::moveToAttributeNo — Move cursor to an attribute by index
    • XMLReader::moveToAttributeNs — Move cursor to a named attribute
    • XMLReader::moveToElement — Position cursor on the parent Element of current Attribute
    • XMLReader::moveToFirstAttribute — Position cursor on the first Attribute
    • XMLReader::moveToNextAttribute — Position cursor on the next Attribute
    • XMLReader::next — Move cursor to next node skipping all subtrees
    • XMLReader::open — Set the URI containing the XML to parse
    • XMLReader::read — Move to next node in document
    • XMLReader::readInnerXml — Retrieve XML from current node
    • XMLReader::readOuterXml — Retrieve XML from current node, including itself
    • XMLReader::readString — Reads the contents of the current node as a string
    • XMLReader::setParserProperty — Set parser options
    • XMLReader::setRelaxNGSchema — Set the filename or URI for a RelaxNG Schema
    • XMLReader::setRelaxNGSchemaSource — Set the data containing a RelaxNG Schema
    • XMLReader::setSchema — Validate document against XSD
    • XMLReader::XML — Set the data containing the XML to parse


Introdução

The XMLReader extension is an XML Pull parser. The reader acts as a cursor going forward on the document stream and stopping at each node on the way.

Codificação

It is important to note that internally, libxml uses the UTF-8 encoding and as such, the encoding of the retrieved contents will always be in UTF-8 encoding.


Instalação

The XMLReader extension was initially a PECL extension for PHP 5. It was later moved to the PHP source (bundled) as of PHP 5.1.0, and later enabled by default as of PHP 5.1.2.

Esta extensão está habilitada por padrão. Ela pode ser desligada utilizando a seguinte opção de compilação: --disable-xmlreader


  • « Configurações em Execução
  • XMLReader »
  • PHP Manual
  • Instalação/Configuração
  • Tipos de Recurso

Tipos de Recurso

Esta extensão não tem recursos definidos.


The XMLReader class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Introdução

The XMLReader extension is an XML Pull parser. The reader acts as a cursor going forward on the document stream and stopping at each node on the way.

Sinopse da classe

XMLReader {
/* Constantes */
const int NONE = 0 ;
const int ELEMENT = 1 ;
const int ATTRIBUTE = 2 ;
const int TEXT = 3 ;
const int CDATA = 4 ;
const int ENTITY_REF = 5 ;
const int ENTITY = 6 ;
const int PI = 7 ;
const int COMMENT = 8 ;
const int DOC = 9 ;
const int DOC_TYPE = 10 ;
const int DOC_FRAGMENT = 11 ;
const int NOTATION = 12 ;
const int WHITESPACE = 13 ;
const int SIGNIFICANT_WHITESPACE = 14 ;
const int END_ELEMENT = 15 ;
const int END_ENTITY = 16 ;
const int XML_DECLARATION = 17 ;
const int LOADDTD = 1 ;
const int DEFAULTATTRS = 2 ;
const int VALIDATE = 3 ;
const int SUBST_ENTITIES = 4 ;
/* Propriedades */
public readonly int $attributeCount ;
public readonly string $baseURI ;
public readonly int $depth ;
public readonly bool $hasAttributes ;
public readonly bool $hasValue ;
public readonly bool $isDefault ;
public readonly bool $isEmptyElement ;
public readonly string $localName ;
public readonly string $name ;
public readonly string $namespaceURI ;
public readonly int $nodeType ;
public readonly string $prefix ;
public readonly string $value ;
public readonly string $xmlLang ;
/* Métodos */
public close ( ) : bool
public expand ( DOMNode|null $baseNode = null ) : DOMNode|false
public getAttribute ( string $name ) : string|null
public getAttributeNo ( int $index ) : string|null
public getAttributeNs ( string $name , string $namespace ) : string|null
public getParserProperty ( int $property ) : bool
public isValid ( ) : bool
public lookupNamespace ( string $prefix ) : string|null
public moveToAttribute ( string $name ) : bool
public moveToAttributeNo ( int $index ) : bool
public moveToAttributeNs ( string $name , string $namespace ) : bool
public moveToElement ( ) : bool
public moveToFirstAttribute ( ) : bool
public moveToNextAttribute ( ) : bool
public next ( string|null $name = null ) : bool
public static open ( string $uri , string|null $encoding = null , int $flags = 0 ) : bool|XMLReader
public read ( ) : bool
public readInnerXml ( ) : string
public readOuterXml ( ) : string
public readString ( ) : string
public setParserProperty ( int $property , bool $value ) : bool
public setRelaxNGSchema ( string|null $filename ) : bool
public setRelaxNGSchemaSource ( string|null $source ) : bool
public setSchema ( string|null $filename ) : bool
public static XML ( string $source , string|null $encoding = null , int $flags = 0 ) : bool|XMLReader
}

Propriedades

attributeCount

The number of attributes on the node

baseURI

The base URI of the node

depth

Depth of the node in the tree, starting at 0

hasAttributes

Indicates if node has attributes

hasValue

Indicates if node has a text value

isDefault

Indicates if attribute is defaulted from DTD

isEmptyElement

Indicates if node is an empty element tag

localName

The local name of the node

name

The qualified name of the node

namespaceURI

The URI of the namespace associated with the node

nodeType

The node type for the node

prefix

The prefix of the namespace associated with the node

value

The text value of the node

xmlLang

The xml:lang scope which the node resides

Constantes pré-definidas

XMLReader Node Types

XMLReader::NONE

No node type

XMLReader::ELEMENT

Start element

XMLReader::ATTRIBUTE

Attribute node

XMLReader::TEXT

Text node

XMLReader::CDATA

CDATA node

XMLReader::ENTITY_REF

Entity Reference node

XMLReader::ENTITY

Entity Declaration node

XMLReader::PI

Processing Instruction node

XMLReader::COMMENT

Comment node

XMLReader::DOC

Document node

XMLReader::DOC_TYPE

Document Type node

XMLReader::DOC_FRAGMENT

Document Fragment node

XMLReader::NOTATION

Notation node

XMLReader::WHITESPACE

Whitespace node

XMLReader::SIGNIFICANT_WHITESPACE

Significant Whitespace node

XMLReader::END_ELEMENT

End Element

XMLReader::END_ENTITY

End Entity

XMLReader::XML_DECLARATION

XML Declaration node

XMLReader Parser Options

XMLReader::LOADDTD

Load DTD but do not validate

XMLReader::DEFAULTATTRS

Load DTD and default attributes but do not validate

XMLReader::VALIDATE

Load DTD and validate while parsing

XMLReader::SUBST_ENTITIES

Substitute entities and expand references

Índice

  • XMLReader::close — Close the XMLReader input
  • XMLReader::expand — Returns a copy of the current node as a DOM object
  • XMLReader::getAttribute — Get the value of a named attribute
  • XMLReader::getAttributeNo — Get the value of an attribute by index
  • XMLReader::getAttributeNs — Get the value of an attribute by localname and URI
  • XMLReader::getParserProperty — Indicates if specified property has been set
  • XMLReader::isValid — Indicates if the parsed document is valid
  • XMLReader::lookupNamespace — Lookup namespace for a prefix
  • XMLReader::moveToAttribute — Move cursor to a named attribute
  • XMLReader::moveToAttributeNo — Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs — Move cursor to a named attribute
  • XMLReader::moveToElement — Position cursor on the parent Element of current Attribute
  • XMLReader::moveToFirstAttribute — Position cursor on the first Attribute
  • XMLReader::moveToNextAttribute — Position cursor on the next Attribute
  • XMLReader::next — Move cursor to next node skipping all subtrees
  • XMLReader::open — Set the URI containing the XML to parse
  • XMLReader::read — Move to next node in document
  • XMLReader::readInnerXml — Retrieve XML from current node
  • XMLReader::readOuterXml — Retrieve XML from current node, including itself
  • XMLReader::readString — Reads the contents of the current node as a string
  • XMLReader::setParserProperty — Set parser options
  • XMLReader::setRelaxNGSchema — Set the filename or URI for a RelaxNG Schema
  • XMLReader::setRelaxNGSchemaSource — Set the data containing a RelaxNG Schema
  • XMLReader::setSchema — Validate document against XSD
  • XMLReader::XML — Set the data containing the XML to parse


Close the XMLReader input

  • « XMLReader
  • XMLReader::expand »
  • PHP Manual
  • XMLReader
  • Close the XMLReader input

XMLReader::close

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::close — Close the XMLReader input

Descrição

public XMLReader::close ( ) : bool

Closes the input the XMLReader object is currently parsing.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • XMLReader::open() - Set the URI containing the XML to parse
  • XMLReader::xml() - Set the data containing the XML to parse


Returns a copy of the current node as a DOM object

  • « XMLReader::close
  • XMLReader::getAttribute »
  • PHP Manual
  • XMLReader
  • Returns a copy of the current node as a DOM object

XMLReader::expand

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::expand — Returns a copy of the current node as a DOM object

Descrição

public XMLReader::expand ( DOMNode|null $baseNode = null ) : DOMNode|false

This method copies the current node and returns the appropriate DOM object.

Parâmetros

baseNode

A DOMNode defining the target DOMDocument for the created DOM object.

Valor Retornado

The resulting DOMNode or false on error.


Get the value of a named attribute

  • « XMLReader::expand
  • XMLReader::getAttributeNo »
  • PHP Manual
  • XMLReader
  • Get the value of a named attribute

XMLReader::getAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::getAttribute — Get the value of a named attribute

Descrição

public XMLReader::getAttribute ( string $name ) : string|null

Returns the value of a named attribute or null if the attribute does not exist or not positioned on an element node.

Parâmetros

name

The name of the attribute.

Changelog

Versão | Descrição
8.0.0 | This function can no longer return false.

Valor Retornado

The value of the attribute, or null if no attribute with the given name is found or not positioned on an element node.

Veja Também

  • XMLReader::getAttributeNo() - Get the value of an attribute by index
  • XMLReader::getAttributeNs() - Get the value of an attribute by localname and URI


Get the value of an attribute by index

  • « XMLReader::getAttribute
  • XMLReader::getAttributeNs »
  • PHP Manual
  • XMLReader
  • Get the value of an attribute by index

XMLReader::getAttributeNo

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::getAttributeNo — Get the value of an attribute by index

Descrição

public XMLReader::getAttributeNo ( int $index ) : string|null

Returns the value of an attribute based on its position or an empty string if attribute does not exist or not positioned on an element node.

Parâmetros

index

The position of the attribute.

Valor Retornado

The value of the attribute, or an empty string (before PHP 5.6) or null (from PHP 5.6 onwards) if no attribute exists at index or is not positioned on the element.

Changelog

Versão | Descrição
5.6.0 | XMLReader::getAttributeNo() now returns null if the attribute doesn't exist.

Veja Também

  • XMLReader::getAttribute() - Get the value of a named attribute
  • XMLReader::getAttributeNs() - Get the value of an attribute by localname and URI


Get the value of an attribute by localname and URI

  • « XMLReader::getAttributeNo
  • XMLReader::getParserProperty »
  • PHP Manual
  • XMLReader
  • Get the value of an attribute by localname and URI

XMLReader::getAttributeNs

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::getAttributeNs — Get the value of an attribute by localname and URI

Descrição

public XMLReader::getAttributeNs ( string $name , string $namespace ) : string|null

Returns the value of an attribute by name and namespace URI or an empty string if attribute does not exist or not positioned on an element node.

Parâmetros

name

The local name.

namespace

The namespace URI.

Valor Retornado

The value of the attribute, or an empty string (before PHP 5.6) or null (from PHP 5.6 onwards) if no attribute with the given name and namespace is found or not positioned of element.

Changelog

Versão | Descrição
8.0.0 | This function can no longer return false.
5.6.0 | XMLReader::getAttributeNS() now returns null if the attribute doesn't exist.

Veja Também

  • XMLReader::getAttribute() - Get the value of a named attribute
  • XMLReader::getAttributeNo() - Get the value of an attribute by index


Indicates if specified property has been set

  • « XMLReader::getAttributeNs
  • XMLReader::isValid »
  • PHP Manual
  • XMLReader
  • Indicates if specified property has been set

XMLReader::getParserProperty

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::getParserProperty — Indicates if specified property has been set

Descrição

public XMLReader::getParserProperty ( int $property ) : bool

Indicates if specified property has been set.

Parâmetros

property

One of the parser option constants.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • XMLReader::setParserProperty() - Set parser options


Indicates if the parsed document is valid

  • « XMLReader::getParserProperty
  • XMLReader::lookupNamespace »
  • PHP Manual
  • XMLReader
  • Indicates if the parsed document is valid

XMLReader::isValid

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::isValid — Indicates if the parsed document is valid

Descrição

public XMLReader::isValid ( ) : bool

Returns a boolean indicating if the document being parsed is currently valid.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Validating XML

<?php
$xml = XMLReader::open('test.xml');

// The validate parser option must be enabled for
// this method to work properly
$xml->setParserProperty(XMLReader::VALIDATE, true);

var_dump($xml->isValid());
?>

Notas

Nota: This checks the current node, not the entire document.

Veja Também

  • XMLReader::setParserProperty() - Set parser options
  • XMLReader::setRelaxNGSchema() - Set the filename or URI for a RelaxNG Schema
  • XMLReader::setRelaxNGSchemaSource() - Set the data containing a RelaxNG Schema
  • XMLReader::setSchema() - Validate document against XSD


Lookup namespace for a prefix

  • « XMLReader::isValid
  • XMLReader::moveToAttribute »
  • PHP Manual
  • XMLReader
  • Lookup namespace for a prefix

XMLReader::lookupNamespace

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::lookupNamespace — Lookup namespace for a prefix

Descrição

public XMLReader::lookupNamespace ( string $prefix ) : string|null

Lookup in scope namespace for a given prefix.

Parâmetros

prefix

String containing the prefix.

Valor Retornado

The value of the namespace, or null if no namespace exists.

Changelog

Versão | Descrição
8.0.0 | This function can no longer return false.


Move cursor to a named attribute

  • « XMLReader::lookupNamespace
  • XMLReader::moveToAttributeNo »
  • PHP Manual
  • XMLReader
  • Move cursor to a named attribute

XMLReader::moveToAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::moveToAttribute — Move cursor to a named attribute

Descrição

public XMLReader::moveToAttribute ( string $name ) : bool

Positions cursor on the named attribute.

Parâmetros

name

The name of the attribute.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • XMLReader::moveToElement() - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttributeNo() - Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs() - Move cursor to a named attribute
  • XMLReader::moveToFirstAttribute() - Position cursor on the first Attribute


Move cursor to an attribute by index

  • « XMLReader::moveToAttribute
  • XMLReader::moveToAttributeNs »
  • PHP Manual
  • XMLReader
  • Move cursor to an attribute by index

XMLReader::moveToAttributeNo

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::moveToAttributeNo — Move cursor to an attribute by index

Descrição

public XMLReader::moveToAttributeNo ( int $index ) : bool

Positions cursor on attribute based on its position.

Parâmetros

index

The position of the attribute.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • XMLReader::moveToElement() - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttribute() - Move cursor to a named attribute
  • XMLReader::moveToAttributeNs() - Move cursor to a named attribute
  • XMLReader::moveToFirstAttribute() - Position cursor on the first Attribute


Move cursor to a named attribute

  • « XMLReader::moveToAttributeNo
  • XMLReader::moveToElement »
  • PHP Manual
  • XMLReader
  • Move cursor to a named attribute

XMLReader::moveToAttributeNs

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::moveToAttributeNs — Move cursor to a named attribute

Descrição

public XMLReader::moveToAttributeNs ( string $name , string $namespace ) : bool

Positions cursor on the named attribute in specified namespace.

Parâmetros

name

The local name.

namespace

The namespace URI.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • XMLReader::moveToElement() - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttribute() - Move cursor to a named attribute
  • XMLReader::moveToAttributeNo() - Move cursor to an attribute by index
  • XMLReader::moveToFirstAttribute() - Position cursor on the first Attribute


Position cursor on the parent Element of current Attribute

  • « XMLReader::moveToAttributeNs
  • XMLReader::moveToFirstAttribute »
  • PHP Manual
  • XMLReader
  • Position cursor on the parent Element of current Attribute

XMLReader::moveToElement

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::moveToElement — Position cursor on the parent Element of current Attribute

Descrição

public XMLReader::moveToElement ( ) : bool

Moves cursor to the parent Element of current Attribute.

Valor Retornado

Returns true if successful and false if it fails or not positioned on Attribute when this method is called.

Veja Também

  • XMLReader::moveToAttribute() - Move cursor to a named attribute
  • XMLReader::moveToAttributeNo() - Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs() - Move cursor to a named attribute
  • XMLReader::moveToFirstAttribute() - Position cursor on the first Attribute


Position cursor on the first Attribute

  • « XMLReader::moveToElement
  • XMLReader::moveToNextAttribute »
  • PHP Manual
  • XMLReader
  • Position cursor on the first Attribute

XMLReader::moveToFirstAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::moveToFirstAttribute — Position cursor on the first Attribute

Descrição

public XMLReader::moveToFirstAttribute ( ) : bool

Moves cursor to the first Attribute.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • XMLReader::moveToElement() - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttribute() - Move cursor to a named attribute
  • XMLReader::moveToAttributeNo() - Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs() - Move cursor to a named attribute
  • XMLReader::moveToNextAttribute() - Position cursor on the next Attribute


Position cursor on the next Attribute

  • « XMLReader::moveToFirstAttribute
  • XMLReader::next »
  • PHP Manual
  • XMLReader
  • Position cursor on the next Attribute

XMLReader::moveToNextAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::moveToNextAttribute — Position cursor on the next Attribute

Descrição

public XMLReader::moveToNextAttribute ( ) : bool

Moves cursor to the next Attribute if positioned on an Attribute or moves to first attribute if positioned on an Element.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • XMLReader::moveToElement() - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttribute() - Move cursor to a named attribute
  • XMLReader::moveToAttributeNo() - Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs() - Move cursor to a named attribute
  • XMLReader::moveToFirstAttribute() - Position cursor on the first Attribute


Move cursor to next node skipping all subtrees

  • « XMLReader::moveToNextAttribute
  • XMLReader::open »
  • PHP Manual
  • XMLReader
  • Move cursor to next node skipping all subtrees

XMLReader::next

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::next — Move cursor to next node skipping all subtrees

Descrição

public XMLReader::next ( string|null $name = null ) : bool

Positions cursor on the next node skipping all subtrees. If no such node exists, the cursor is moved to the end of the document.

Parâmetros

name

The name of the next node to move to.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | name is nullable now.

Veja Também

  • XMLReader::moveToNextAttribute() - Position cursor on the next Attribute
  • XMLReader::moveToElement() - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttribute() - Move cursor to a named attribute


Set the URI containing the XML to parse

  • « XMLReader::next
  • XMLReader::read »
  • PHP Manual
  • XMLReader
  • Set the URI containing the XML to parse

XMLReader::open

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::open — Set the URI containing the XML to parse

Descrição

public static XMLReader::open ( string $uri , string|null $encoding = null , int $flags = 0 ) : bool|XMLReader

Set the URI containing the XML document to be parsed.

Parâmetros

uri

URI pointing to the document.

encoding

The document encoding or null.

flags

A bitmask of the LIBXML_* constants.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. If called statically, returns an XMLReader ou false em caso de falha.

Erros

This method may be called statically, but prior to PHP 8.0.0, will issue an E_DEPRECATED error in this case.

Changelog

Versão | Descrição
8.0.0 | XMLReader::open() is now declared as static method, but can still be called on an XMLReader instance.

Veja Também

  • XMLReader::xml() - Set the data containing the XML to parse
  • XMLReader::close() - Close the XMLReader input


Move to next node in document

  • « XMLReader::open
  • XMLReader::readInnerXml »
  • PHP Manual
  • XMLReader
  • Move to next node in document

XMLReader::read

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::read — Move to next node in document

Descrição

public XMLReader::read ( ) : bool

Moves cursor to the next node in the document.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • XMLReader::moveToElement() - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttribute() - Move cursor to a named attribute
  • XMLReader::next() - Move cursor to next node skipping all subtrees


Retrieve XML from current node

  • « XMLReader::read
  • XMLReader::readOuterXml »
  • PHP Manual
  • XMLReader
  • Retrieve XML from current node

XMLReader::readInnerXml

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

XMLReader::readInnerXml — Retrieve XML from current node

Descrição

public XMLReader::readInnerXml ( ) : string

Reads the contents of the current node, including child nodes and markup.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the contents of the current node as a string. Empty string on failure.

Notas

Cuidado

Esta função está disponível somente quando o PHP é compilado com libxml 20620 ou superior.

Veja Também

  • XMLReader::readString() - Reads the contents of the current node as a string
  • XMLReader::readOuterXml() - Retrieve XML from current node, including itself
  • XMLReader::expand() - Returns a copy of the current node as a DOM object


Retrieve XML from current node, including itself

  • « XMLReader::readInnerXml
  • XMLReader::readString »
  • PHP Manual
  • XMLReader
  • Retrieve XML from current node, including itself

XMLReader::readOuterXml

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

XMLReader::readOuterXml — Retrieve XML from current node, including itself

Descrição

public XMLReader::readOuterXml ( ) : string

Reads the contents of the current node, including the node itself.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the contents of current node, including itself, as a string. Empty string on failure.

Notas

Cuidado

Esta função está disponível somente quando o PHP é compilado com libxml 20620 ou superior.

Veja Também

  • XMLReader::readString() - Reads the contents of the current node as a string
  • XMLReader::readInnerXml() - Retrieve XML from current node
  • XMLReader::expand() - Returns a copy of the current node as a DOM object


Reads the contents of the current node as a string

  • « XMLReader::readOuterXml
  • XMLReader::setParserProperty »
  • PHP Manual
  • XMLReader
  • Reads the contents of the current node as a string

XMLReader::readString

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

XMLReader::readString — Reads the contents of the current node as a string

Descrição

public XMLReader::readString ( ) : string

Reads the contents of the current node as a string.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the content of the current node as a string. Empty string on failure.

Notas

Cuidado

Esta função está disponível somente quando o PHP é compilado com libxml 20620 ou superior.

Veja Também

  • XMLReader::readOuterXml() - Retrieve XML from current node, including itself
  • XMLReader::readInnerXml() - Retrieve XML from current node
  • XMLReader::expand() - Returns a copy of the current node as a DOM object


Set parser options

  • « XMLReader::readString
  • XMLReader::setRelaxNGSchema »
  • PHP Manual
  • XMLReader
  • Set parser options

XMLReader::setParserProperty

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::setParserProperty — Set parser options

Descrição

public XMLReader::setParserProperty ( int $property , bool $value ) : bool

Set parser options. The options must be set after
XMLReader::open() or
XMLReader::xml() are called and before
the first XMLReader::read() call.

Parâmetros

property

One of the parser option constants.

value

If set to true the option will be enabled otherwise will be disabled.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.


Set the filename or URI for a RelaxNG Schema

  • « XMLReader::setParserProperty
  • XMLReader::setRelaxNGSchemaSource »
  • PHP Manual
  • XMLReader
  • Set the filename or URI for a RelaxNG Schema

XMLReader::setRelaxNGSchema

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::setRelaxNGSchema — Set the filename or URI for a RelaxNG Schema

Descrição

public XMLReader::setRelaxNGSchema ( string|null $filename ) : bool

Set the filename or URI for the RelaxNG Schema to use for validation.

Parâmetros

filename

filename or URI pointing to a RelaxNG Schema.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • XMLReader::setRelaxNGSchemaSource() - Set the data containing a RelaxNG Schema
  • XMLReader::setSchema() - Validate document against XSD
  • XMLReader::isValid() - Indicates if the parsed document is valid


Set the data containing a RelaxNG Schema

  • « XMLReader::setRelaxNGSchema
  • XMLReader::setSchema »
  • PHP Manual
  • XMLReader
  • Set the data containing a RelaxNG Schema

XMLReader::setRelaxNGSchemaSource

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::setRelaxNGSchemaSource — Set the data containing a RelaxNG Schema

Descrição

public XMLReader::setRelaxNGSchemaSource ( string|null $source ) : bool

Set the data containing a RelaxNG Schema to use for validation.

Parâmetros

source

String containing the RelaxNG Schema.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • XMLReader::setRelaxNGSchema() - Set the filename or URI for a RelaxNG Schema
  • XMLReader::setSchema() - Validate document against XSD
  • XMLReader::isValid() - Indicates if the parsed document is valid


Validate document against XSD

  • « XMLReader::setRelaxNGSchemaSource
  • XMLReader::XML »
  • PHP Manual
  • XMLReader
  • Validate document against XSD

XMLReader::setSchema

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

XMLReader::setSchema — Validate document against XSD

Descrição

public XMLReader::setSchema ( string|null $filename ) : bool

Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the first Read().

Parâmetros

filename

The filename of the XSD schema.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros

Issues E_WARNING if libxml was built without schema support, the schema contains errors or if XMLReader::read() has already been called.

Notas

Cuidado

Esta função está disponível somente quando o PHP é compilado com libxml 20620 ou superior.

Veja Também

  • XMLReader::setRelaxNGSchema() - Set the filename or URI for a RelaxNG Schema
  • XMLReader::setRelaxNGSchemaSource() - Set the data containing a RelaxNG Schema
  • XMLReader::isValid() - Indicates if the parsed document is valid


Set the data containing the XML to parse

  • « XMLReader::setSchema
  • XMLWriter »
  • PHP Manual
  • XMLReader
  • Set the data containing the XML to parse

XMLReader::XML

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::XML — Set the data containing the XML to parse

Descrição

public static XMLReader::XML ( string $source , string|null $encoding = null , int $flags = 0 ) : bool|XMLReader

Set the data containing the XML to parse.

Parâmetros

source

String containing the XML to be parsed.

encoding

The document encoding or null.

flags

A bitmask of the LIBXML_* constants.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. If called statically, returns an XMLReader ou false em caso de falha.

Erros

This method may be called statically, but prior to PHP 8.0.0, will issue an E_DEPRECATED error in this case.

Changelog

Versão | Descrição
8.0.0 | XMLReader::XML() is now declared as static method, but can still be called on an XMLReader instance.

Veja Também

  • XMLReader::open() - Set the URI containing the XML to parse
  • XMLReader::close() - Close the XMLReader input


XMLWriter

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
    • Creating a simple XML document
    • Working with XML namespaces
    • Working with the OO API
  • XMLWriter — The XMLWriter class
    • XMLWriter::endAttribute — End attribute
    • XMLWriter::endCdata — End current CDATA
    • XMLWriter::endComment — Create end comment
    • XMLWriter::endDocument — End current document
    • XMLWriter::endDtd — End current DTD
    • XMLWriter::endDtdAttlist — End current DTD AttList
    • XMLWriter::endDtdElement — End current DTD element
    • XMLWriter::endDtdEntity — End current DTD Entity
    • XMLWriter::endElement — End current element
    • XMLWriter::endPi — End current PI
    • XMLWriter::flush — Flush current buffer
    • XMLWriter::fullEndElement — End current element
    • XMLWriter::openMemory — Create new xmlwriter using memory for string output
    • XMLWriter::openUri — Create new xmlwriter using source uri for output
    • XMLWriter::outputMemory — Returns current buffer
    • XMLWriter::setIndent — Toggle indentation on/off
    • XMLWriter::setIndentString — Set string used for indenting
    • XMLWriter::startAttribute — Create start attribute
    • XMLWriter::startAttributeNs — Create start namespaced attribute
    • XMLWriter::startCdata — Create start CDATA tag
    • XMLWriter::startComment — Create start comment
    • XMLWriter::startDocument — Create document tag
    • XMLWriter::startDtd — Create start DTD tag
    • XMLWriter::startDtdAttlist — Create start DTD AttList
    • XMLWriter::startDtdElement — Create start DTD element
    • XMLWriter::startDtdEntity — Create start DTD Entity
    • XMLWriter::startElement — Create start element tag
    • XMLWriter::startElementNs — Create start namespaced element tag
    • XMLWriter::startPi — Create start PI tag
    • XMLWriter::text — Write text
    • XMLWriter::writeAttribute — Write full attribute
    • XMLWriter::writeAttributeNs — Write full namespaced attribute
    • XMLWriter::writeCdata — Write full CDATA tag
    • XMLWriter::writeComment — Write full comment tag
    • XMLWriter::writeDtd — Write full DTD tag
    • XMLWriter::writeDtdAttlist — Write full DTD AttList tag
    • XMLWriter::writeDtdElement — Write full DTD element tag
    • XMLWriter::writeDtdEntity — Write full DTD Entity tag
    • XMLWriter::writeElement — Write full element tag
    • XMLWriter::writeElementNs — Write full namespaced element tag
    • XMLWriter::writePi — Writes a PI
    • XMLWriter::writeRaw — Write a raw XML text


Introdução

This is the XMLWriter extension. It wraps the libxml xmlWriter API.

This extension represents a writer that provides a non-cached, forward-only means of generating streams or files containing XML data.

This extension can be used in an object oriented style or a procedural one. Every method documented describes the alternative procedural call.


Instalação

The XMLWriter extension was initially a PECL extension for PHP 5. It was later added to the PHP source (bundled) as of PHP 5.1.2. This extension is enabled by default.

Esta extensão está habilitada por padrão. Ela pode ser desligada utilizando a seguinte opção de compilação: --disable-xmlwriter


Tipos de Recurso

Prior to PHP 8.0.0, there was one resource type used by the procedural version of the XMLWriter extension: returned by xmlwriter_open_memory() or xmlwriter_open_uri().


  • « Tipos de Recurso
  • Exemplos »
  • PHP Manual
  • XMLWriter
  • Constantes pré-definidas

Constantes pré-definidas

Esta extensão não possui constantes definidas.


Exemplos

Índice

  • Creating a simple XML document
  • Working with XML namespaces
  • Working with the OO API


Creating a simple XML document

This example shows how to use XMLWriter to create a XML document in memory.

Exemplo #1 Creating a simple XML document

<?php

$xw = xmlwriter_open_memory();
xmlwriter_set_indent($xw, 1);
$res = xmlwriter_set_indent_string($xw, ' ');

xmlwriter_start_document($xw, '1.0', 'UTF-8');

// A first element
xmlwriter_start_element($xw, 'tag1');

// Attribute 'att1' for element 'tag1'
xmlwriter_start_attribute($xw, 'att1');
xmlwriter_text($xw, 'valueofatt1');
xmlwriter_end_attribute($xw);

xmlwriter_write_comment($xw, 'this is a comment.');

// Start a child element
xmlwriter_start_element($xw, 'tag11');
xmlwriter_text($xw, 'This is a sample text, ä');
xmlwriter_end_element($xw); // tag11

xmlwriter_end_element($xw); // tag1

// CDATA
xmlwriter_start_element($xw, 'testc');
xmlwriter_write_cdata($xw, "This is cdata content");
xmlwriter_end_element($xw); // testc

xmlwriter_start_element($xw, 'testc');
xmlwriter_start_cdata($xw);
xmlwriter_text($xw, "test cdata2");
xmlwriter_end_cdata($xw);
xmlwriter_end_element($xw); // testc

// A processing instruction
xmlwriter_start_pi($xw, 'php');
xmlwriter_text($xw, '$foo=2;echo $foo;');
xmlwriter_end_pi($xw);

xmlwriter_end_document($xw);

echo xmlwriter_output_memory($xw);

O exemplo acima irá imprimir:

<?xml version="1.0" encoding="UTF-8"?>
<tag1 att1="valueofatt1">
 <!--this is a comment.-->
 <tag11>This is a sample text, ä</tag11>
</tag1>
<testc><![CDATA[This is cdata content]]></testc>
<testc><![CDATA[test cdata2]]></testc>
<?php $foo=2;echo $foo;?>


Working with XML namespaces

This example shows how to create namespaced XML elements.

Exemplo #1 Working with XML namespaces

<?php

$xw = xmlwriter_open_memory();
xmlwriter_set_indent($xw, 1);
$res = xmlwriter_set_indent_string($xw, ' ');

xmlwriter_start_document($xw, '1.0', 'UTF-8');
// A first element
xmlwriter_start_element_ns($xw,'prefix', 'books', 'uri');
xmlwriter_start_attribute($xw, 'isbn');

xmlwriter_start_attribute_ns($xw, 'prefix', 'isbn', 'uri');
xmlwriter_end_attribute($xw);

xmlwriter_end_attribute($xw);

xmlwriter_text($xw, 'book1');
xmlwriter_end_element($xw);

xmlwriter_end_document($xw);

echo xmlwriter_output_memory($xw);

O exemplo acima irá imprimir:

<?xml version="1.0" encoding="UTF-8"?>
<prefix:books isbn="" prefix:isbn="" xmlns:prefix="uri">book1</prefix:books>


Working with the OO API

This example shows how to work with XMLWriter's object oriented API.

Exemplo #1 Working with the OO API

<?php

$xw = new XMLWriter();
$xw->openMemory();
$xw->startDocument("1.0");
$xw->startElement("book");
$xw->text("example");
$xw->endElement();
$xw->endDocument();
echo $xw->outputMemory();

O exemplo acima irá imprimir:

<?xml version="1.0"?>
<book>example</book>


The XMLWriter class

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

Introdução

Sinopse da classe

XMLWriter {
/* Métodos */
public endAttribute ( ) : bool
public endCdata ( ) : bool
public endComment ( ) : bool
public endDocument ( ) : bool
public endDtd ( ) : bool
public endDtdAttlist ( ) : bool
public endDtdElement ( ) : bool
public endDtdEntity ( ) : bool
public endElement ( ) : bool
public endPi ( ) : bool
public flush ( bool $empty = true ) : string|int
public fullEndElement ( ) : bool
public openMemory ( ) : bool
public openUri ( string $uri ) : bool
public outputMemory ( bool $flush = true ) : string
public setIndent ( bool $enable ) : bool
public setIndentString ( string $indentation ) : bool
public startAttribute ( string $name ) : bool
public startAttributeNs ( string|null $prefix , string $name , string|null $namespace ) : bool
public startCdata ( ) : bool
public startComment ( ) : bool
public startDocument ( string|null $version = "1.0" , string|null $encoding = null , string|null $standalone = null ) : bool
public startDtd ( string $qualifiedName , string|null $publicId = null , string|null $systemId = null ) : bool
public startDtdAttlist ( string $name ) : bool
public startDtdElement ( string $qualifiedName ) : bool
public startDtdEntity ( string $name , bool $isParam ) : bool
public startElement ( string $name ) : bool
public startElementNs ( string|null $prefix , string $name , string|null $namespace ) : bool
public startPi ( string $target ) : bool
public text ( string $content ) : bool
public writeAttribute ( string $name , string $value ) : bool
public writeAttributeNs ( string|null $prefix , string $name , string|null $namespace , string $value ) : bool
public writeCdata ( string $content ) : bool
public writeComment ( string $content ) : bool
public writeDtd ( string $name , string|null $publicId = null , string|null $systemId = null , string|null $content = null ) : bool
public writeDtdAttlist ( string $name , string $content ) : bool
public writeDtdElement ( string $name , string $content ) : bool
public writeDtdEntity ( string $name , string $content , bool $isParam = false , string|null $publicId = null , string|null $systemId = null , string|null $notationData = null ) : bool
public writeElement ( string $name , string|null $content = null ) : bool
public writeElementNs ( string|null $prefix , string $name , string|null $namespace , string|null $content = null ) : bool
public writePi ( string $target , string $content ) : bool
public writeRaw ( string $content ) : bool
}

Índice

  • XMLWriter::endAttribute — End attribute
  • XMLWriter::endCdata — End current CDATA
  • XMLWriter::endComment — Create end comment
  • XMLWriter::endDocument — End current document
  • XMLWriter::endDtd — End current DTD
  • XMLWriter::endDtdAttlist — End current DTD AttList
  • XMLWriter::endDtdElement — End current DTD element
  • XMLWriter::endDtdEntity — End current DTD Entity
  • XMLWriter::endElement — End current element
  • XMLWriter::endPi — End current PI
  • XMLWriter::flush — Flush current buffer
  • XMLWriter::fullEndElement — End current element
  • XMLWriter::openMemory — Create new xmlwriter using memory for string output
  • XMLWriter::openUri — Create new xmlwriter using source uri for output
  • XMLWriter::outputMemory — Returns current buffer
  • XMLWriter::setIndent — Toggle indentation on/off
  • XMLWriter::setIndentString — Set string used for indenting
  • XMLWriter::startAttribute — Create start attribute
  • XMLWriter::startAttributeNs — Create start namespaced attribute
  • XMLWriter::startCdata — Create start CDATA tag
  • XMLWriter::startComment — Create start comment
  • XMLWriter::startDocument — Create document tag
  • XMLWriter::startDtd — Create start DTD tag
  • XMLWriter::startDtdAttlist — Create start DTD AttList
  • XMLWriter::startDtdElement — Create start DTD element
  • XMLWriter::startDtdEntity — Create start DTD Entity
  • XMLWriter::startElement — Create start element tag
  • XMLWriter::startElementNs — Create start namespaced element tag
  • XMLWriter::startPi — Create start PI tag
  • XMLWriter::text — Write text
  • XMLWriter::writeAttribute — Write full attribute
  • XMLWriter::writeAttributeNs — Write full namespaced attribute
  • XMLWriter::writeCdata — Write full CDATA tag
  • XMLWriter::writeComment — Write full comment tag
  • XMLWriter::writeDtd — Write full DTD tag
  • XMLWriter::writeDtdAttlist — Write full DTD AttList tag
  • XMLWriter::writeDtdElement — Write full DTD element tag
  • XMLWriter::writeDtdEntity — Write full DTD Entity tag
  • XMLWriter::writeElement — Write full element tag
  • XMLWriter::writeElementNs — Write full namespaced element tag
  • XMLWriter::writePi — Writes a PI
  • XMLWriter::writeRaw — Write a raw XML text


End attribute

  • « XMLWriter
  • XMLWriter::endCdata »
  • PHP Manual
  • XMLWriter
  • End attribute

XMLWriter::endAttribute

xmlwriter_end_attribute

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endAttribute -- xmlwriter_end_attribute — End attribute

Descrição

Estilo orientado à objeto

public XMLWriter::endAttribute ( ) : bool

Estilo procedural

xmlwriter_end_attribute ( XMLWriter $writer ) : bool

Ends the current attribute.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startAttribute() - Create start attribute
  • XMLWriter::startAttributeNs() - Create start namespaced attribute
  • XMLWriter::writeAttribute() - Write full attribute
  • XMLWriter::writeAttributeNs() - Write full namespaced attribute


End current CDATA

  • « XMLWriter::endAttribute
  • XMLWriter::endComment »
  • PHP Manual
  • XMLWriter
  • End current CDATA

XMLWriter::endCdata

xmlwriter_end_cdata

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endCdata -- xmlwriter_end_cdata — End current CDATA

Descrição

Estilo orientado à objeto

public XMLWriter::endCdata ( ) : bool

Estilo procedural

xmlwriter_end_cdata ( XMLWriter $writer ) : bool

Ends the current CDATA section.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startCdata() - Create start CDATA tag
  • XMLWriter::writeCdata() - Write full CDATA tag


Create end comment

  • « XMLWriter::endCdata
  • XMLWriter::endDocument »
  • PHP Manual
  • XMLWriter
  • Create end comment

XMLWriter::endComment

xmlwriter_end_comment

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 1.0.0)

XMLWriter::endComment -- xmlwriter_end_comment — Create end comment

Descrição

Estilo orientado à objeto

public XMLWriter::endComment ( ) : bool

Estilo procedural

xmlwriter_end_comment ( XMLWriter $writer ) : bool

Ends the current comment.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startComment() - Create start comment
  • XMLWriter::writeComment() - Write full comment tag


End current document

  • « XMLWriter::endComment
  • XMLWriter::endDtd »
  • PHP Manual
  • XMLWriter
  • End current document

XMLWriter::endDocument

xmlwriter_end_document

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endDocument -- xmlwriter_end_document — End current document

Descrição

Estilo orientado à objeto

public XMLWriter::endDocument ( ) : bool

Estilo procedural

xmlwriter_end_document ( XMLWriter $writer ) : bool

Ends the current document.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startDocument() - Create document tag


End current DTD

  • « XMLWriter::endDocument
  • XMLWriter::endDtdAttlist »
  • PHP Manual
  • XMLWriter
  • End current DTD

XMLWriter::endDtd

xmlwriter_end_dtd

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endDtd -- xmlwriter_end_dtd — End current DTD

Descrição

Estilo orientado à objeto

public XMLWriter::endDtd ( ) : bool

Estilo procedural

xmlwriter_end_dtd ( XMLWriter $writer ) : bool

Ends the DTD of the document.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startDtd() - Create start DTD tag
  • XMLWriter::writeDtd() - Write full DTD tag


End current DTD AttList

  • « XMLWriter::endDtd
  • XMLWriter::endDtdElement »
  • PHP Manual
  • XMLWriter
  • End current DTD AttList

XMLWriter::endDtdAttlist

xmlwriter_end_dtd_attlist

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endDtdAttlist -- xmlwriter_end_dtd_attlist — End current DTD AttList

Descrição

Estilo orientado à objeto

public XMLWriter::endDtdAttlist ( ) : bool

Estilo procedural

xmlwriter_end_dtd_attlist ( XMLWriter $writer ) : bool

Ends the current DTD attribute list.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startDtdAttlist() - Create start DTD AttList
  • XMLWriter::writeDtdAttlist() - Write full DTD AttList tag


End current DTD element

  • « XMLWriter::endDtdAttlist
  • XMLWriter::endDtdEntity »
  • PHP Manual
  • XMLWriter
  • End current DTD element

XMLWriter::endDtdElement

xmlwriter_end_dtd_element

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endDtdElement -- xmlwriter_end_dtd_element — End current DTD element

Descrição

Estilo orientado à objeto

public XMLWriter::endDtdElement ( ) : bool

Estilo procedural

xmlwriter_end_dtd_element ( XMLWriter $writer ) : bool

Ends the current DTD element.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startDtdElement() - Create start DTD element
  • XMLWriter::writeDtdElement() - Write full DTD element tag


End current DTD Entity

  • « XMLWriter::endDtdElement
  • XMLWriter::endElement »
  • PHP Manual
  • XMLWriter
  • End current DTD Entity

XMLWriter::endDtdEntity

xmlwriter_end_dtd_entity

(PHP 5 >= 5.2.1, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endDtdEntity -- xmlwriter_end_dtd_entity — End current DTD Entity

Descrição

Estilo orientado à objeto

public XMLWriter::endDtdEntity ( ) : bool

Estilo procedural

xmlwriter_end_dtd_entity ( XMLWriter $writer ) : bool

Ends the current DTD entity.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startDtdEntity() - Create start DTD Entity
  • XMLWriter::writeDtdEntity() - Write full DTD Entity tag


End current element

  • « XMLWriter::endDtdEntity
  • XMLWriter::endPi »
  • PHP Manual
  • XMLWriter
  • End current element

XMLWriter::endElement

xmlwriter_end_element

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endElement -- xmlwriter_end_element — End current element

Descrição

Estilo orientado à objeto

public XMLWriter::endElement ( ) : bool

Estilo procedural

xmlwriter_end_element ( XMLWriter $writer ) : bool

Ends the current element.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startElement() - Create start element tag
  • XMLWriter::writeElement() - Write full element tag


End current PI

  • « XMLWriter::endElement
  • XMLWriter::flush »
  • PHP Manual
  • XMLWriter
  • End current PI

XMLWriter::endPi

xmlwriter_end_pi

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endPi -- xmlwriter_end_pi — End current PI

Descrição

Estilo orientado à objeto

public XMLWriter::endPi ( ) : bool

Estilo procedural

xmlwriter_end_pi ( XMLWriter $writer ) : bool

Ends the current processing instruction.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startPi() - Create start PI tag
  • XMLWriter::writePi() - Writes a PI


Flush current buffer

  • « XMLWriter::endPi
  • XMLWriter::fullEndElement »
  • PHP Manual
  • XMLWriter
  • Flush current buffer

XMLWriter::flush

xmlwriter_flush

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 1.0.0)

XMLWriter::flush -- xmlwriter_flush — Flush current buffer

Descrição

Estilo orientado à objeto

public XMLWriter::flush ( bool $empty = true ) : string|int

Estilo procedural

xmlwriter_flush ( XMLWriter $writer , bool $empty = true ) : string|int

Flushes the current buffer.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

empty

Whether to empty the buffer or not. Default is true.

Valor Retornado

If you opened the writer in memory, this function returns the generated XML buffer, Else, if using URI, this function will write the buffer and return the number of written bytes.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.
8.0.0 | This function can no longer return false.


End current element

  • « XMLWriter::flush
  • XMLWriter::openMemory »
  • PHP Manual
  • XMLWriter
  • End current element

XMLWriter::fullEndElement

xmlwriter_full_end_element

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL xmlwriter >= 2.0.4)

XMLWriter::fullEndElement -- xmlwriter_full_end_element — End current element

Descrição

Estilo orientado à objeto

public XMLWriter::fullEndElement ( ) : bool

Estilo procedural

xmlwriter_full_end_element ( XMLWriter $writer ) : bool

End the current xml element. Writes an end tag even if the element is empty.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::endElement() - End current element


Create new xmlwriter using memory for string output

  • « XMLWriter::fullEndElement
  • XMLWriter::openUri »
  • PHP Manual
  • XMLWriter
  • Create new xmlwriter using memory for string output

XMLWriter::openMemory

xmlwriter_open_memory

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::openMemory -- xmlwriter_open_memory — Create new xmlwriter using memory for string output

Descrição

Estilo orientado à objeto

public XMLWriter::openMemory ( ) : bool

Estilo procedural

xmlwriter_open_memory ( ) : XMLWriter|false

Creates a new XMLWriter using memory for string output.

Parâmetros

Valor Retornado

Estilo orientado à objeto: Retorna true em caso de sucesso ou false em caso de falha.

Estilo procedural: Returns a new XMLWriter for later use with the xmlwriter functions on success, ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | This function returns now an XMLWriter instance on success. Previouly, a resource has been returned in this case.

Veja Também

  • XMLWriter::openUri() - Create new xmlwriter using source uri for output


Create new xmlwriter using source uri for output

  • « XMLWriter::openMemory
  • XMLWriter::outputMemory »
  • PHP Manual
  • XMLWriter
  • Create new xmlwriter using source uri for output

XMLWriter::openUri

xmlwriter_open_uri

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::openUri -- xmlwriter_open_uri — Create new xmlwriter using source uri for output

Descrição

Estilo orientado à objeto

public XMLWriter::openUri ( string $uri ) : bool

Estilo procedural

xmlwriter_open_uri ( string $uri ) : XMLWriter|false

Creates a new XMLWriter using uri for the output.

Parâmetros

uri

The URI of the resource for the output.

Valor Retornado

Estilo orientado à objeto: Retorna true em caso de sucesso ou false em caso de falha.

Estilo procedural: Returns a new XMLWriter instance for later use with the xmlwriter functions on success, ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | This function returns now an XMLWriter instance on success. Previouly, a resource has been returned in this case.

Exemplos

Exemplo #1 Direct output of XML

It is possible to directly output XML by using the php://output stream wrapper.

<?php
$out =new XMLWriter();
$out->openURI('php://output');
?>

Notas

Nota:

On Windows, files opened with this function are locked until the writer is released.

Veja Também

  • XMLWriter::openMemory() - Create new xmlwriter using memory for string output


Returns current buffer

  • « XMLWriter::openUri
  • XMLWriter::setIndent »
  • PHP Manual
  • XMLWriter
  • Returns current buffer

XMLWriter::outputMemory

xmlwriter_output_memory

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::outputMemory -- xmlwriter_output_memory — Returns current buffer

Descrição

Estilo orientado à objeto

public XMLWriter::outputMemory ( bool $flush = true ) : string

Estilo procedural

xmlwriter_output_memory ( XMLWriter $writer , bool $flush = true ) : string

Returns the current buffer.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

flush

Whether to flush the output buffer or not. Default is true.

Valor Retornado

Returns the current buffer as a string.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::flush() - Flush current buffer


Toggle indentation on/off

  • « XMLWriter::outputMemory
  • XMLWriter::setIndentString »
  • PHP Manual
  • XMLWriter
  • Toggle indentation on/off

XMLWriter::setIndent

xmlwriter_set_indent

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::setIndent -- xmlwriter_set_indent — Toggle indentation on/off

Descrição

Estilo orientado à objeto

public XMLWriter::setIndent ( bool $enable ) : bool

Estilo procedural

xmlwriter_set_indent ( XMLWriter $writer , bool $enable ) : bool

Toggles indentation on or off.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

enable

Whether indentation is enabled.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Exemplos

Exemplo #1 XMLWriter::setIndent() and mixed Content

Enabling indentation is not suitable for mixed content, because the indent string is also inserted before inline elements.

<?php
$writer = new XMLWriter();
$writer->openMemory();
$writer->setIndent(2);
$writer->startDocument();
$writer->startElement('p');
$writer->text('before');
$writer->writeElement('a', 'element');
$writer->text('after');
$writer->endElement();
$writer->endDocument();
echo $writer->outputMemory();
?>

O exemplo acima irá imprimir:

<?xml version="1.0"?>
<p>before <a>element</a>
after</p>

Notas

Nota:

The indent is reset when an xmlwriter is opened.

Veja Também

  • XMLWriter::setIndentString() - Set string used for indenting


Set string used for indenting

  • « XMLWriter::setIndent
  • XMLWriter::startAttribute »
  • PHP Manual
  • XMLWriter
  • Set string used for indenting

XMLWriter::setIndentString

xmlwriter_set_indent_string

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::setIndentString -- xmlwriter_set_indent_string — Set string used for indenting

Descrição

Estilo orientado à objeto

public XMLWriter::setIndentString ( string $indentation ) : bool

Estilo procedural

xmlwriter_set_indent_string ( XMLWriter $writer , string $indentation ) : bool

Sets the string which will be used to indent each element/attribute of the resulting xml.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

indentation

The indentation string.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Notas

Nota:

The indent is reset when an xmlwriter is opened.

Veja Também

  • XMLWriter::setIndent() - Toggle indentation on/off


Create start attribute

  • « XMLWriter::setIndentString
  • XMLWriter::startAttributeNs »
  • PHP Manual
  • XMLWriter
  • Create start attribute

XMLWriter::startAttribute

xmlwriter_start_attribute

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startAttribute -- xmlwriter_start_attribute — Create start attribute

Descrição

Estilo orientado à objeto

public XMLWriter::startAttribute ( string $name ) : bool

Estilo procedural

xmlwriter_start_attribute ( XMLWriter $writer , string $name ) : bool

Starts an attribute.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

name

The attribute name.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Exemplos

Exemplo #1 Basic XMLWriter::startAttribute() Usage

<?php
$writer = new XMLWriter;
$writer->openURI('php://output');
$writer->startDocument('1.0', 'UTF-8');?>
$writer->startElement('element');
$writer->startAttribute('attribute');
$writer->text('value');
$writer->endAttribute();
$writer->endElement();
$writer->endDocument();

O exemplo acima irá imprimir algo similar à:

<?xml version="1.0" encoding="UTF-8"?>
<element attribute="value"/>

Veja Também

  • XMLWriter::startAttributeNs() - Create start namespaced attribute
  • XMLWriter::endAttribute() - End attribute
  • XMLWriter::writeAttribute() - Write full attribute
  • XMLWriter::writeAttributeNs() - Write full namespaced attribute


Create start namespaced attribute

  • « XMLWriter::startAttribute
  • XMLWriter::startCdata »
  • PHP Manual
  • XMLWriter
  • Create start namespaced attribute

XMLWriter::startAttributeNs

xmlwriter_start_attribute_ns

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startAttributeNs -- xmlwriter_start_attribute_ns — Create start namespaced attribute

Descrição

Estilo orientado à objeto

public XMLWriter::startAttributeNs ( string|null $prefix , string $name , string|null $namespace ) : bool

Estilo procedural

xmlwriter_start_attribute_ns ( XMLWriter $writer , string|null $prefix , string $name , string|null $namespace ) : bool

Starts a namespaced attribute.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

prefix

The namespace prefix.

name

The attribute name.

namespace

The namespace URI. If namespace is null, the namespace declaration will be omitted.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.
8.0.0 | prefix is nullable now.

Veja Também

  • XMLWriter::startAttribute() - Create start attribute
  • XMLWriter::endAttribute() - End attribute
  • XMLWriter::writeAttribute() - Write full attribute
  • XMLWriter::writeAttributeNs() - Write full namespaced attribute


Create start CDATA tag

  • « XMLWriter::startAttributeNs
  • XMLWriter::startComment »
  • PHP Manual
  • XMLWriter
  • Create start CDATA tag

XMLWriter::startCdata

xmlwriter_start_cdata

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startCdata -- xmlwriter_start_cdata — Create start CDATA tag

Descrição

Estilo orientado à objeto

public XMLWriter::startCdata ( ) : bool

Estilo procedural

xmlwriter_start_cdata ( XMLWriter $writer ) : bool

Starts a CDATA.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::endCdata() - End current CDATA
  • XMLWriter::writeCdata() - Write full CDATA tag


Create start comment

  • « XMLWriter::startCdata
  • XMLWriter::startDocument »
  • PHP Manual
  • XMLWriter
  • Create start comment

XMLWriter::startComment

xmlwriter_start_comment

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 1.0.0)

XMLWriter::startComment -- xmlwriter_start_comment — Create start comment

Descrição

Estilo orientado à objeto

public XMLWriter::startComment ( ) : bool

Estilo procedural

xmlwriter_start_comment ( XMLWriter $writer ) : bool

Starts a comment.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::endComment() - Create end comment
  • XMLWriter::writeComment() - Write full comment tag


Create document tag

  • « XMLWriter::startComment
  • XMLWriter::startDtd »
  • PHP Manual
  • XMLWriter
  • Create document tag

XMLWriter::startDocument

xmlwriter_start_document

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startDocument -- xmlwriter_start_document — Create document tag

Descrição

Estilo orientado à objeto

public XMLWriter::startDocument ( string|null $version = "1.0" , string|null $encoding = null , string|null $standalone = null ) : bool

Estilo procedural

xmlwriter_start_document ( XMLWriter $writer , string|null $version = "1.0" , string|null $encoding = null , string|null $standalone = null ) : bool

Starts a document.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

version

The version number of the document as part of the XML declaration.

encoding

The encoding of the document as part of the XML declaration.

standalone

yes or no.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::endDocument() - End current document


Create start DTD tag

  • « XMLWriter::startDocument
  • XMLWriter::startDtdAttlist »
  • PHP Manual
  • XMLWriter
  • Create start DTD tag

XMLWriter::startDtd

xmlwriter_start_dtd

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startDtd -- xmlwriter_start_dtd — Create start DTD tag

Descrição

Estilo orientado à objeto

public XMLWriter::startDtd ( string $qualifiedName , string|null $publicId = null , string|null $systemId = null ) : bool

Estilo procedural

xmlwriter_start_dtd ( XMLWriter $writer , string $qualifiedName , string|null $publicId = null , string|null $systemId = null ) : bool

Starts a DTD.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

qualifiedName

The qualified name of the document type to create.

publicId

The external subset public identifier.

systemId

The external subset system identifier.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::endDtd() - End current DTD
  • XMLWriter::writeDtd() - Write full DTD tag


Create start DTD AttList

  • « XMLWriter::startDtd
  • XMLWriter::startDtdElement »
  • PHP Manual
  • XMLWriter
  • Create start DTD AttList

XMLWriter::startDtdAttlist

xmlwriter_start_dtd_attlist

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startDtdAttlist -- xmlwriter_start_dtd_attlist — Create start DTD AttList

Descrição

Estilo orientado à objeto

public XMLWriter::startDtdAttlist ( string $name ) : bool

Estilo procedural

xmlwriter_start_dtd_attlist ( XMLWriter $writer , string $name ) : bool

Starts a DTD attribute list.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

name

The attribute list name.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::endDtdAttlist() - End current DTD AttList
  • XMLWriter::writeDtdAttlist() - Write full DTD AttList tag


Create start DTD element

  • « XMLWriter::startDtdAttlist
  • XMLWriter::startDtdEntity »
  • PHP Manual
  • XMLWriter
  • Create start DTD element

XMLWriter::startDtdElement

xmlwriter_start_dtd_element

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startDtdElement -- xmlwriter_start_dtd_element — Create start DTD element

Descrição

Estilo orientado à objeto

public XMLWriter::startDtdElement ( string $qualifiedName ) : bool

Estilo procedural

xmlwriter_start_dtd_element ( XMLWriter $writer , string $qualifiedName ) : bool

Starts a DTD element.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

qualifiedName

The qualified name of the document type to create.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::endDtdElement() - End current DTD element
  • XMLWriter::writeDtdElement() - Write full DTD element tag


Create start DTD Entity

  • « XMLWriter::startDtdElement
  • XMLWriter::startElement »
  • PHP Manual
  • XMLWriter
  • Create start DTD Entity

XMLWriter::startDtdEntity

xmlwriter_start_dtd_entity

(PHP 5 >= 5.2.1, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startDtdEntity -- xmlwriter_start_dtd_entity — Create start DTD Entity

Descrição

Estilo orientado à objeto

public XMLWriter::startDtdEntity ( string $name , bool $isParam ) : bool

Estilo procedural

xmlwriter_start_dtd_entity ( XMLWriter $writer , string $name , bool $isParam ) : bool

Starts a DTD entity.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

name

The name of the entity.

isParam

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::endDtdEntity() - End current DTD Entity
  • XMLWriter::writeDtdEntity() - Write full DTD Entity tag


Create start element tag

  • « XMLWriter::startDtdEntity
  • XMLWriter::startElementNs »
  • PHP Manual
  • XMLWriter
  • Create start element tag

XMLWriter::startElement

xmlwriter_start_element

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startElement -- xmlwriter_start_element — Create start element tag

Descrição

Estilo orientado à objeto

public XMLWriter::startElement ( string $name ) : bool

Estilo procedural

xmlwriter_start_element ( XMLWriter $writer , string $name ) : bool

Starts an element.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

name

The element name.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::endElement() - End current element
  • XMLWriter::writeElement() - Write full element tag


Create start namespaced element tag

  • « XMLWriter::startElement
  • XMLWriter::startPi »
  • PHP Manual
  • XMLWriter
  • Create start namespaced element tag

XMLWriter::startElementNs

xmlwriter_start_element_ns

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startElementNs -- xmlwriter_start_element_ns — Create start namespaced element tag

Descrição

Estilo orientado à objeto

public XMLWriter::startElementNs ( string|null $prefix , string $name , string|null $namespace ) : bool

Estilo procedural

xmlwriter_start_element_ns ( XMLWriter $writer , string|null $prefix , string $name , string|null $namespace ) : bool

Starts a namespaced element.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

prefix

The namespace prefix. If prefix is null, the namespace will be omitted.

name

The element name.

namespace

The namespace URI. If namespace is null, the namespace declaration will be omitted.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::endElement() - End current element
  • XMLWriter::writeElementNs() - Write full namespaced element tag


Create start PI tag

  • « XMLWriter::startElementNs
  • XMLWriter::text »
  • PHP Manual
  • XMLWriter
  • Create start PI tag

XMLWriter::startPi

xmlwriter_start_pi

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startPi -- xmlwriter_start_pi — Create start PI tag

Descrição

Estilo orientado à objeto

public XMLWriter::startPi ( string $target ) : bool

Estilo procedural

xmlwriter_start_pi ( XMLWriter $writer , string $target ) : bool

Starts a processing instruction tag.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

target

The target of the processing instruction.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::endPi() - End current PI
  • XMLWriter::writePi() - Writes a PI


Write text

  • « XMLWriter::startPi
  • XMLWriter::writeAttribute »
  • PHP Manual
  • XMLWriter
  • Write text

XMLWriter::text

xmlwriter_text

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::text -- xmlwriter_text — Write text

Descrição

Estilo orientado à objeto

public XMLWriter::text ( string $content ) : bool

Estilo procedural

xmlwriter_text ( XMLWriter $writer , string $content ) : bool

Writes a text.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

content

The contents of the text. The characters <, >, & and " are written as entity references (i.e. &lt;, &gt;, &amp; and &quot;, respectively). All other characters including ' are written literally. To write the special XML characters literally, or to write literal entity references, xmlwriter_write_raw() has to be used.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.


Write full attribute

  • « XMLWriter::text
  • XMLWriter::writeAttributeNs »
  • PHP Manual
  • XMLWriter
  • Write full attribute

XMLWriter::writeAttribute

xmlwriter_write_attribute

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeAttribute -- xmlwriter_write_attribute — Write full attribute

Descrição

Estilo orientado à objeto

public XMLWriter::writeAttribute ( string $name , string $value ) : bool

Estilo procedural

xmlwriter_write_attribute ( XMLWriter $writer , string $name , string $value ) : bool

Writes a full attribute.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

name

The name of the attribute.

value

The value of the attribute.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Exemplos

Exemplo #1 Intermixing Sub-elements and Attributes

If writing sub-elements and attributes is intermixed, any attempt to write attributes after the first sub-element will fail and return false.

<?php
$xml = new XMLWriter();
$xml->openMemory();

$xml->startElement('element');
$xml->writeAttribute('attr1', '0');
$xml->writeElement('subelem', '0');
var_dump($xml->writeAttribute('attr2', '0'));
$xml->endElement();

echo $xml->flush();
?>

O exemplo acima irá imprimir:

bool(false)
<element attr1="0"><subelem>0</subelem></element>

Veja Também

  • XMLWriter::writeAttributeNs() - Write full namespaced attribute
  • XMLWriter::startAttribute() - Create start attribute
  • XMLWriter::startAttributeNs() - Create start namespaced attribute
  • XMLWriter::endAttribute() - End attribute


Write full namespaced attribute

  • « XMLWriter::writeAttribute
  • XMLWriter::writeCdata »
  • PHP Manual
  • XMLWriter
  • Write full namespaced attribute

XMLWriter::writeAttributeNs

xmlwriter_write_attribute_ns

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeAttributeNs -- xmlwriter_write_attribute_ns — Write full namespaced attribute

Descrição

Estilo orientado à objeto

public XMLWriter::writeAttributeNs ( string|null $prefix , string $name , string|null $namespace , string $value ) : bool

Estilo procedural

xmlwriter_write_attribute_ns ( XMLWriter $writer , string|null $prefix , string $name , string|null $namespace , string $value ) : bool

Writes a full namespaced attribute.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

prefix

The namespace prefix. If prefix is null, the namespace will be omitted.

name

The attribute name.

namespace

The namespace URI. If namespace is null, the namespace declaration will be omitted.

value

The attribute value.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::writeAttribute() - Write full attribute
  • XMLWriter::startAttribute() - Create start attribute
  • XMLWriter::startAttributeNs() - Create start namespaced attribute
  • XMLWriter::endAttribute() - End attribute


Write full CDATA tag

  • « XMLWriter::writeAttributeNs
  • XMLWriter::writeComment »
  • PHP Manual
  • XMLWriter
  • Write full CDATA tag

XMLWriter::writeCdata

xmlwriter_write_cdata

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeCdata -- xmlwriter_write_cdata — Write full CDATA tag

Descrição

Estilo orientado à objeto

public XMLWriter::writeCdata ( string $content ) : bool

Estilo procedural

xmlwriter_write_cdata ( XMLWriter $writer , string $content ) : bool

Writes a full CDATA.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

content

The contents of the CDATA.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Exemplos

Exemplo #1 Basic xmlwriter_write_cdata() Usage

<?php
// set up the document
$xml = new XmlWriter();
$xml->openMemory();
$xml->setIndent(true);
$xml->startDocument('1.0', 'UTF-8');
$xml->startElement('mydoc');
$xml->startElement('myele');

// CData output
$xml->startElement('mycdataelement');
$xml->writeCData("text for inclusion as CData");
$xml->endElement();

// end the document and output
$xml->endElement();
$xml->endElement();
echo $xml->outputMemory(true);
?>

O exemplo acima irá imprimir:

<mydoc>
 <myele>
  <mycdataelement><![CDATA[text for inclusion as CData]?]></mycdataelement>
 </myele>
</mydoc>

Veja Também

  • XMLWriter::startCdata() - Create start CDATA tag
  • XMLWriter::endCdata() - End current CDATA


Write full comment tag

  • « XMLWriter::writeCdata
  • XMLWriter::writeDtd »
  • PHP Manual
  • XMLWriter
  • Write full comment tag

XMLWriter::writeComment

xmlwriter_write_comment

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeComment -- xmlwriter_write_comment — Write full comment tag

Descrição

Estilo orientado à objeto

public XMLWriter::writeComment ( string $content ) : bool

Estilo procedural

xmlwriter_write_comment ( XMLWriter $writer , string $content ) : bool

Writes a full comment.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

content

The contents of the comment.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startComment() - Create start comment
  • XMLWriter::endComment() - Create end comment


Write full DTD tag

  • « XMLWriter::writeComment
  • XMLWriter::writeDtdAttlist »
  • PHP Manual
  • XMLWriter
  • Write full DTD tag

XMLWriter::writeDtd

xmlwriter_write_dtd

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDtd -- xmlwriter_write_dtd — Write full DTD tag

Descrição

Estilo orientado à objeto

public XMLWriter::writeDtd ( string $name , string|null $publicId = null , string|null $systemId = null , string|null $content = null ) : bool

Estilo procedural

xmlwriter_write_dtd ( XMLWriter $writer , string $name , string|null $publicId = null , string|null $systemId = null , string|null $content = null ) : bool

Writes a full DTD.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

name

The DTD name.

publicId

The external subset public identifier.

systemId

The external subset system identifier.

content

The content of the DTD.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startDtd() - Create start DTD tag
  • XMLWriter::endDtd() - End current DTD


Write full DTD AttList tag

  • « XMLWriter::writeDtd
  • XMLWriter::writeDtdElement »
  • PHP Manual
  • XMLWriter
  • Write full DTD AttList tag

XMLWriter::writeDtdAttlist

xmlwriter_write_dtd_attlist

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDtdAttlist -- xmlwriter_write_dtd_attlist — Write full DTD AttList tag

Descrição

Estilo orientado à objeto

public XMLWriter::writeDtdAttlist ( string $name , string $content ) : bool

Estilo procedural

xmlwriter_write_dtd_attlist ( XMLWriter $writer , string $name , string $content ) : bool

Writes a DTD attribute list.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

name

The name of the DTD attribute list.

content

The content of the DTD attribute list.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startDtdAttlist() - Create start DTD AttList
  • XMLWriter::endDtdAttlist() - End current DTD AttList


Write full DTD element tag

  • « XMLWriter::writeDtdAttlist
  • XMLWriter::writeDtdEntity »
  • PHP Manual
  • XMLWriter
  • Write full DTD element tag

XMLWriter::writeDtdElement

xmlwriter_write_dtd_element

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDtdElement -- xmlwriter_write_dtd_element — Write full DTD element tag

Descrição

Estilo orientado à objeto

public XMLWriter::writeDtdElement ( string $name , string $content ) : bool

Estilo procedural

xmlwriter_write_dtd_element ( XMLWriter $writer , string $name , string $content ) : bool

Writes a full DTD element.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

name

The name of the DTD element.

content

The content of the element.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startDtdElement() - Create start DTD element
  • XMLWriter::endDtdElement() - End current DTD element


Write full DTD Entity tag

  • « XMLWriter::writeDtdElement
  • XMLWriter::writeElement »
  • PHP Manual
  • XMLWriter
  • Write full DTD Entity tag

XMLWriter::writeDtdEntity

xmlwriter_write_dtd_entity

(PHP 5 >= 5.2.1, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDtdEntity -- xmlwriter_write_dtd_entity — Write full DTD Entity tag

Descrição

Estilo orientado à objeto

public XMLWriter::writeDtdEntity ( string $name , string $content , bool $isParam = false , string|null $publicId = null , string|null $systemId = null , string|null $notationData = null ) : bool

Estilo procedural

xmlwriter_write_dtd_entity ( XMLWriter $writer , string $name , string $content , bool $isParam = false , string|null $publicId = null , string|null $systemId = null , string|null $notationData = null ) : bool

Writes a full DTD entity.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

name

The name of the entity.

content

The content of the entity.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.
8.0.0 | publicId, systemId and notationData are nullable now.

Veja Também

  • XMLWriter::startDtdEntity() - Create start DTD Entity
  • XMLWriter::endDtdEntity() - End current DTD Entity


Write full element tag

  • « XMLWriter::writeDtdEntity
  • XMLWriter::writeElementNs »
  • PHP Manual
  • XMLWriter
  • Write full element tag

XMLWriter::writeElement

xmlwriter_write_element

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeElement -- xmlwriter_write_element — Write full element tag

Descrição

Estilo orientado à objeto

public XMLWriter::writeElement ( string $name , string|null $content = null ) : bool

Estilo procedural

xmlwriter_write_element ( XMLWriter $writer , string $name , string|null $content = null ) : bool

Writes a full element tag.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

name

The element name.

content

The element contents.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startElement() - Create start element tag
  • XMLWriter::endElement() - End current element
  • XMLWriter::writeElementNs() - Write full namespaced element tag


Write full namespaced element tag

  • « XMLWriter::writeElement
  • XMLWriter::writePi »
  • PHP Manual
  • XMLWriter
  • Write full namespaced element tag

XMLWriter::writeElementNs

xmlwriter_write_element_ns

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeElementNs -- xmlwriter_write_element_ns — Write full namespaced element tag

Descrição

Estilo orientado à objeto

public XMLWriter::writeElementNs ( string|null $prefix , string $name , string|null $namespace , string|null $content = null ) : bool

Estilo procedural

xmlwriter_write_element_ns ( XMLWriter $writer , string|null $prefix , string $name , string|null $namespace , string|null $content = null ) : bool

Writes a full namespaced element tag.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

prefix

The namespace prefix. If prefix is null, the namespace will be omitted.

name

The element name.

namespace

The namespace URI. If namespace is null, the namespace declaration will be omitted.

content

The element contents.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startElementNs() - Create start namespaced element tag
  • XMLWriter::endElement() - End current element
  • XMLWriter::writeElement() - Write full element tag


Writes a PI

  • « XMLWriter::writeElementNs
  • XMLWriter::writeRaw »
  • PHP Manual
  • XMLWriter
  • Writes a PI

XMLWriter::writePi

xmlwriter_write_pi

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writePi -- xmlwriter_write_pi — Writes a PI

Descrição

Estilo orientado à objeto

public XMLWriter::writePi ( string $target , string $content ) : bool

Estilo procedural

xmlwriter_write_pi ( XMLWriter $writer , string $target , string $content ) : bool

Writes a processing instruction.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

target

The target of the processing instruction.

content

The content of the processing instruction.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::startPi() - Create start PI tag
  • XMLWriter::endPi() - End current PI


Write a raw XML text

  • « XMLWriter::writePi
  • XSL »
  • PHP Manual
  • XMLWriter
  • Write a raw XML text

XMLWriter::writeRaw

xmlwriter_write_raw

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL xmlwriter >= 2.0.4)

XMLWriter::writeRaw -- xmlwriter_write_raw — Write a raw XML text

Descrição

Estilo orientado à objeto

public XMLWriter::writeRaw ( string $content ) : bool

Estilo procedural

xmlwriter_write_raw ( XMLWriter $writer , string $content ) : bool

Writes a raw xml text.

Parâmetros

xmlwriter

Apenas para chamadas de procedimentos. O recurso XMLWriter resource que esta sendo modificado. Este recurso vem de uma chamada a xmlwriter_open_uri() ou xmlwriter_open_memory().

content

The text string to write.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão | Descrição
8.0.0 | writer expects an XMLWriter instance now; previously, a resource was expected.

Veja Também

  • XMLWriter::text() - Write text


XSL

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
    • Configurações em Execução
    • Tipos de Recurso
  • Constantes pré-definidas
  • Exemplos
  • XSLTProcessor — A classe XSLTProcessor
    • XSLTProcessor::__construct — Cria um novo objeto XSLTProcessor
    • XSLTProcessor::getParameter — Obtém o valor de um parâmetro
    • XSLTProcessor::getSecurityPrefs — Get security preferences
    • XSLTProcessor::hasExsltSupport — Verifica se o PHP tem suporte a EXSLT
    • XSLTProcessor::importStylesheet — Importa stylesheet
    • XSLTProcessor::registerPHPFunctions — Habilita o uso de funções do PHP como funções XSLT
    • XSLTProcessor::removeParameter — Remove parâmetro
    • XSLTProcessor::setParameter — Define um valor para um parâmetro
    • XSLTProcessor::setProfiling — Sets profiling output file
    • XSLTProcessor::setSecurityPrefs — Set security preferences
    • XSLTProcessor::transformToDoc — Transforma para um DOMDocument
    • XSLTProcessor::transformToURI — Transforma para URI
    • XSLTProcessor::transformToXML — Transforma para XML


Introdução

A extensão XSL implementa o padrão XSL, executando » transformações XSLT usando a » biblioteca libxslt


Dependências

Esta extensão usa libxslt que pode ser encontrada em » http://xmlsoft.org/XSLT/. Versão da libxslt 1.1.0 ou maior é requerido.


Instalação

PHP 5 inclue a extensão XSL por padrão e pode ser habilitada adicionando o argumento --with-xsl[=DIR] na linha de configuração. DIR é o diretório da instalação da libxslt.


Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

XSL_CLONE_AUTO (integer)
XSL_CLONE_NEVER (integer)
XSL_CLONE_ALWAYS (integer)
LIBXSLT_VERSION (integer)
Versão da libxslt como 10117. Disponível no PHP 5.1.2.
LIBXSLT_DOTTED_VERSION (string)
Versão da libxslt como 1.1.17. Disponível no PHP 5.1.2.
LIBEXSLT_VERSION (integer)
Versão da libexslt como 813. Disponível no PHP 5.1.2.
LIBEXSLT_DOTTED_VERSION (string)
Versão da libexslt com 1.1.17. Disponível no PHP 5.1.2.


  • « Constantes pré-definidas
  • »
  • PHP Manual
  • XSL
  • Exemplos

Exemplos

Índice


  • « Exemplos
  • XSLTProcessor »
  • PHP Manual
  • Exemplos

Muitos exemplos nesta referência requerem um arquivo XML e XSL. Nós iremos usar collection.xml e collection.xsl que contêm o seguinte:

Exemplo #1 collection.xml

<collection>
 <cd>
  <title>Fight for your mind</title>
  <artist>Ben Harper</artist>
  <year>1995</year>
 </cd>
 <cd>
  <title>Electric Ladyland</title>
  <artist>Jimi Hendrix</artist>
  <year>1997</year>
 </cd>
</collection>

Exemplo #2 collection.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:param name="owner" select="'Nicolas Eliaszewicz'"/>
 <xsl:output method="html" encoding="iso-8859-1" indent="no"/>
 <xsl:template match="collection">
  Hey! Welcome to <xsl:value-of select="$owner"/>'s sweet CD collection!
  <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="cd">
  <h1><xsl:value-of select="title"/></h1>
  <h2>by <xsl:value-of select="artist"/> - <xsl:value-of select="year"/></h2>
  <hr />
 </xsl:template>
</xsl:stylesheet>


A classe XSLTProcessor

Introdução

Descrição da classe.

Sinopse da classe

XSLTProcessor {
/* Métodos */
getParameter ( string $namespaceURI , string $localName ) : string
public getSecurityPrefs ( ) : int
hasExsltSupport ( ) : bool
importStylesheet ( DOMDocument $stylesheet ) : void
registerPHPFunctions ( mixed $restrict = ? ) : void
removeParameter ( string $namespaceURI , string $localName ) : bool
setParameter ( string $namespace , string $name , string $value ) : bool
public setProfiling ( string|null $filename ) : bool
public setSecurityPrefs ( int $preferences ) : int
transformToDoc ( DOMNode $doc ) : DOMDocument
transformToURI ( DOMDocument $doc , string $uri ) : int
transformToXML ( DOMDocument $doc ) : string
}

Índice

  • XSLTProcessor::__construct — Cria um novo objeto XSLTProcessor
  • XSLTProcessor::getParameter — Obtém o valor de um parâmetro
  • XSLTProcessor::getSecurityPrefs — Get security preferences
  • XSLTProcessor::hasExsltSupport — Verifica se o PHP tem suporte a EXSLT
  • XSLTProcessor::importStylesheet — Importa stylesheet
  • XSLTProcessor::registerPHPFunctions — Habilita o uso de funções do PHP como funções XSLT
  • XSLTProcessor::removeParameter — Remove parâmetro
  • XSLTProcessor::setParameter — Define um valor para um parâmetro
  • XSLTProcessor::setProfiling — Sets profiling output file
  • XSLTProcessor::setSecurityPrefs — Set security preferences
  • XSLTProcessor::transformToDoc — Transforma para um DOMDocument
  • XSLTProcessor::transformToURI — Transforma para URI
  • XSLTProcessor::transformToXML — Transforma para XML


Cria um novo objeto XSLTProcessor

  • « XSLTProcessor
  • XSLTProcessor::getParameter »
  • PHP Manual
  • XSLTProcessor
  • Cria um novo objeto XSLTProcessor

XSLTProcessor::__construct

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::__construct — Cria um novo objeto XSLTProcessor

Descrição

__construct ( )

Cria um novo objeto XSLTProcessor.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Criando um XSLTProcessor

<?php

$doc = new DOMDocument();
$xsl = new XSLTProcessor();

$doc->load($xsl_filename);
$xsl->importStyleSheet($doc);

$doc->load($xml_filename);
echo $xsl->transformToXML($doc);

?>


Obtém o valor de um parâmetro

  • « XSLTProcessor::__construct
  • XSLTProcessor::getSecurityPrefs »
  • PHP Manual
  • XSLTProcessor
  • Obtém o valor de um parâmetro

XSLTProcessor::getParameter

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::getParameter — Obtém o valor de um parâmetro

Descrição

getParameter ( string $namespaceURI , string $localName ) : string

Obtém o parâmetro se anteriormente foi definido pela XSLTProcessor::setParameter().

Parâmetros

namespaceURI

O namespace URI do parâmetro XSLT.

localName

O nome local do parâmetro XSLT.

Valor Retornado

O valor do parâmetro ou null se ele não é definido.

Veja Também

  • XSLTProcessor::setParameter() - Define um valor para um parâmetro
  • XSLTProcessor::removeParameter() - Remove parâmetro


Get security preferences

  • « XSLTProcessor::getParameter
  • XSLTProcessor::hasExsltSupport »
  • PHP Manual
  • XSLTProcessor
  • Get security preferences

XSLTProcessor::getSecurityPrefs

(PHP >= 5.4.0, PHP 7, PHP 8)

XSLTProcessor::getSecurityPrefs — Get security preferences

Descrição

public XSLTProcessor::getSecurityPrefs ( ) : int

Gets the security preferences.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

A bitmask consisting of XSL_SECPREF_READ_FILE, XSL_SECPREF_WRITE_FILE, XSL_SECPREF_CREATE_DIRECTORY, XSL_SECPREF_READ_NETWORK, XSL_SECPREF_WRITE_NETWORK.


Verifica se o PHP tem suporte a EXSLT

  • « XSLTProcessor::getSecurityPrefs
  • XSLTProcessor::importStylesheet »
  • PHP Manual
  • XSLTProcessor
  • Verifica se o PHP tem suporte a EXSLT

XSLTProcessor::hasExsltSupport

(PHP 5 >= 5.0.4, PHP 7, PHP 8)

XSLTProcessor::hasExsltSupport — Verifica se o PHP tem suporte a EXSLT

Descrição

hasExsltSupport ( ) : bool

Este método verifica se o PHP tem suporte a » EXSLT library.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Testando o suporte a EXSLT

<?php

$proc = new XSLTProcessor;
if (!$proc->hasExsltSupport()) {
    die('EXSLT support not available');
}

// do EXSLT stuff here ..

?>


Importa stylesheet

  • « XSLTProcessor::hasExsltSupport
  • XSLTProcessor::registerPHPFunctions »
  • PHP Manual
  • XSLTProcessor
  • Importa stylesheet

XSLTProcessor::importStylesheet

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::importStylesheet — Importa stylesheet

Descrição

importStylesheet ( DOMDocument $stylesheet ) : void

Este método importa o stylesheet no XSLTProcessor para transformações.

Parâmetros

stylesheet

O importado style sheet como um objeto DOMDocument.

Valor Retornado

Não há valor retornado.


Habilita o uso de funções do PHP como funções XSLT

  • « XSLTProcessor::importStylesheet
  • XSLTProcessor::removeParameter »
  • PHP Manual
  • XSLTProcessor
  • Habilita o uso de funções do PHP como funções XSLT

XSLTProcessor::registerPHPFunctions

(PHP 5 >= 5.0.4, PHP 7, PHP 8)

XSLTProcessor::registerPHPFunctions — Habilita o uso de funções do PHP como funções XSLT

Descrição

registerPHPFunctions ( mixed $restrict = ? ) : void

Este método habilita o uso de funções PHP como funções XSLT no XSL stylesheets.

Parâmetros

restrict

Use este parâmetro para permite somente certas funções serem chamadas no XSLT.

Este parâmetro pode ser qualquer string (um nome de função) ou um array de funções.

Valor Retornado

Não há valor retornado.

Exemplos

Exemplo #1 Simples chamada de função do PHP em um stylesheet

<?php
$xml = <<<EOB
<allusers>
 <user>
  <uid>bob</uid>
 </user>
 <user>
  <uid>joe</uid>
 </user>
</allusers>
EOB;
$xsl = <<<EOB
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:php="http://php.net/xsl">
<xsl:output method="html" encoding="utf-8" indent="yes"/>
 <xsl:template match="allusers">
  <html><body>
    <h2>Users</h2>
    <table>
    <xsl:for-each select="user">
      <tr><td>
        <xsl:value-of
             select="php:function('ucfirst',string(uid))"/>
      </td></tr>
    </xsl:for-each>
    </table>
  </body></html>
 </xsl:template>
</xsl:stylesheet>
EOB;
$xmldoc = DOMDocument::loadXML($xml);
$xsldoc = DOMDocument::loadXML($xsl);

$proc = new XSLTProcessor();
$proc->registerPHPFunctions();
$proc->importStyleSheet($xsldoc);
echo $proc->transformToXML($xmldoc);
?>


Remove parâmetro

  • « XSLTProcessor::registerPHPFunctions
  • XSLTProcessor::setParameter »
  • PHP Manual
  • XSLTProcessor
  • Remove parâmetro

XSLTProcessor::removeParameter

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::removeParameter — Remove parâmetro

Descrição

removeParameter ( string $namespaceURI , string $localName ) : bool

Remove um parâmetro, se definido. Isto irá fazer o processador usar o valor padrão para o parâmetro como especificado no stylesheet.

Parâmetros

namespaceURI

O namespace URI do parâmetro XSLT.

localName

O nome local do parâmetro XSLT.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

  • XSLTProcessor::setParameter() - Define um valor para um parâmetro
  • XSLTProcessor::getParameter() - Obtém o valor de um parâmetro


Define um valor para um parâmetro

  • « XSLTProcessor::removeParameter
  • XSLTProcessor::setProfiling »
  • PHP Manual
  • XSLTProcessor
  • Define um valor para um parâmetro

XSLTProcessor::setParameter

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::setParameter — Define um valor para um parâmetro

Descrição

setParameter ( string $namespace , string $name , string $value ) : bool
setParameter ( string $namespace , array $options ) : bool

Define o valor para um ou mais parâmetros para ser usados na transformação com o XSLTProcessor. Se o parâmetro não existe no stylesheet ele será ignorado.

Parâmetros

namespace

O namespace URI do parâmetro XSLT.

name

O nome local do parâmetro XSLT.

value

O novo valor do parâmetro XSLT.

options

Um array de pares name => value. A sintaxe é disponível desde o PHP 5.1.0.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Modificando antes da transformação

<?php

$collections = array(
    'Marc Rutkowski' => 'marc',
    'Olivier Parmentier' => 'olivier'
);

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

foreach ($collections as $name => $file) {
    // Load the XML source
    $xml = new DOMDocument;
    $xml->load('collection_' . $file . '.xml');

    $proc->setParameter('', 'owner', $name);
    $proc->transformToURI($xml, 'file:///tmp/' . $file . '.html');
}

?>

Veja Também

  • XSLTProcessor::getParameter() - Obtém o valor de um parâmetro
  • XSLTProcessor::removeParameter() - Remove parâmetro


Sets profiling output file

  • « XSLTProcessor::setParameter
  • XSLTProcessor::setSecurityPrefs »
  • PHP Manual
  • XSLTProcessor
  • Sets profiling output file

XSLTProcessor::setProfiling

(PHP >= 5.3.0, PHP 7, PHP 8)

XSLTProcessor::setProfiling — Sets profiling output file

Descrição

public XSLTProcessor::setProfiling ( string|null $filename ) : bool

Sets the file to output profiling information when processing a stylesheet.

Parâmetros

filename

Path to the file to dump profiling information.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Example profiling output

<?php
// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->setProfiling('profiling.txt');
$proc->importStyleSheet($xsl); // attach the xsl rules

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);
?>

The above code will produce the following information in the profiling file:

number               match                name      mode  Calls Tot 100us Avg

    0                   cd                                    2      3      1
    1           collection                                    1      1      1

                         Total                                3      4


Set security preferences

  • « XSLTProcessor::setProfiling
  • XSLTProcessor::transformToDoc »
  • PHP Manual
  • XSLTProcessor
  • Set security preferences

XSLTProcessor::setSecurityPrefs

(PHP >= 5.4.0, PHP 7, PHP 8)

XSLTProcessor::setSecurityPrefs — Set security preferences

Descrição

public XSLTProcessor::setSecurityPrefs ( int $preferences ) : int

Sets the security preferences.

Parâmetros

preferences

The new security preferences. The following constants can be ORed: XSL_SECPREF_READ_FILE, XSL_SECPREF_WRITE_FILE, XSL_SECPREF_CREATE_DIRECTORY, XSL_SECPREF_READ_NETWORK, XSL_SECPREF_WRITE_NETWORK. Alternatively, XSL_SECPREF_NONE or XSL_SECPREF_DEFAULT can be passed.

Valor Retornado

Returns the old security preferences.


Transforma para um DOMDocument

  • « XSLTProcessor::setSecurityPrefs
  • XSLTProcessor::transformToURI »
  • PHP Manual
  • XSLTProcessor
  • Transforma para um DOMDocument

XSLTProcessor::transformToDoc

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToDoc — Transforma para um DOMDocument

Descrição

transformToDoc ( DOMNode $doc ) : DOMDocument

Transforma o node para um DOMDocument aplicando o stylesheet dado pelo método XSLTProcessor::importStylesheet().

Parâmetros

doc

O node a ser transformado.

Valor Retornado

O resultante DOMDocument ou false em erro.

Exemplos

Exemplo #1 Transformando para DOMDocument

<?php

// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);

?>

O exemplo acima irá imprimir:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

Veja Também

  • XSLTProcessor::transformToUri() - Transforma para URI
  • XSLTProcessor::transformToXml() - Transforma para XML


Transforma para URI

  • « XSLTProcessor::transformToDoc
  • XSLTProcessor::transformToXML »
  • PHP Manual
  • XSLTProcessor
  • Transforma para URI

XSLTProcessor::transformToURI

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToURI — Transforma para URI

Descrição

transformToURI ( DOMDocument $doc , string $uri ) : int

Transforma o node para uma URI aplicando o stylesheet dado pelo método XSLTProcessor::importStylesheet().

Parâmetros

doc

O documento transformado.

uri

Valor Retornado

Retorna o número de bytes escrito ou false se um erro ocorrer.

Exemplos

Exemplo #1 Transformando para um arquivo HTML

<?php

// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

$proc->transformToURI($xml, 'file:///tmp/out.html');

?>

Veja Também

  • XSLTProcessor::transformToDoc() - Transforma para um DOMDocument
  • XSLTProcessor::transformToXml() - Transforma para XML


Transforma para XML

  • « XSLTProcessor::transformToURI
  • Extensões GUI »
  • PHP Manual
  • XSLTProcessor
  • Transforma para XML

XSLTProcessor::transformToXML

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToXML — Transforma para XML

Descrição

transformToXML ( DOMDocument $doc ) : string

Transforma o node para uma string aplicando o stylesheet dado pelo método xsltprocessor::importStylesheet().

Parâmetros

doc

O documento transformado.

Valor Retornado

O resultado da transformação como uma string ou false em caso de erro.

Exemplos

Exemplo #1 Transformando para uma string

<?php

// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

echo $proc->transformToXML($xml);

?>

O exemplo acima irá imprimir:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

<h1>Fight for your mind</h1><h2>by Ben Harper - 1995</h2><hr>
<h1>Electric Ladyland</h1><h2>by Jimi Hendrix - 1997</h2><hr>

Veja Também

  • XSLTProcessor::transformToDoc() - Transforma para um DOMDocument
  • XSLTProcessor::transformToUri() - Transforma para URI


Extensões GUI

  • UI
    • Introdução
    • Instalação/Configuração
    • UI\Point — Represents a position (x,y)
    • UI\Size — Represents dimenstions (width, height)
    • UI\Window — Window
    • UI\Control — Control
    • UI\Menu — Menu
    • UI\MenuItem — Menu Item
    • UI\Area — Area
    • UI\Executor — Execution Scheduler
    • UI\Controls\Tab — Tab Control
    • UI\Controls\Check — Check Control
    • UI\Controls\Button — Button Control
    • UI\Controls\ColorButton — ColorButton Control
    • UI\Controls\Label — Label Control
    • UI\Controls\Entry — Entry Control
    • UI\Controls\MultilineEntry — MultilineEntry Control
    • UI\Controls\Spin — Spin Control
    • UI\Controls\Slider — Slider Control
    • UI\Controls\Progress — Progress Control
    • UI\Controls\Separator — Control Separator
    • UI\Controls\Combo — Combo Control
    • UI\Controls\EditableCombo — EdiableCombo Control
    • UI\Controls\Radio — Radio Control
    • UI\Controls\Picker — Picker Control
    • UI\Controls\Form — Control Form (Arrangement)
    • UI\Controls\Grid — Control Grid (Arrangement)
    • UI\Controls\Group — Control Group (Arrangement)
    • UI\Controls\Box — Control Box (Arrangement)
    • UI\Draw\Pen — Draw Pen
    • UI\Draw\Path — Draw Path
    • UI\Draw\Matrix — Draw Matrix
    • UI\Draw\Color — Color Representation
    • UI\Draw\Stroke — Draw Stroke
    • UI\Draw\Brush — Brushes
    • UI\Draw\Brush\Gradient — Gradient Brushes
    • UI\Draw\Brush\LinearGradient — Linear Gradient
    • UI\Draw\Brush\RadialGradient — Radial Gradient
    • UI\Draw\Text\Layout — Represents Text Layout
    • UI\Draw\Text\Font — Represents a Font
    • UI\Draw\Text\Font\Descriptor — Font Descriptor
    • UI Funções
    • UI\Draw\Text\Font\Weight — Font Weight Settings
    • UI\Draw\Text\Font\Italic — Italic Font Settings
    • UI\Draw\Text\Font\Stretch — Font Stretch Settings
    • UI\Draw\Line\Cap — Line Cap Settings
    • UI\Draw\Line\Join — Line Join Settings
    • UI\Key — Key Identifiers
    • UI\Exception\InvalidArgumentException — InvalidArgumentException
    • UI\Exception\RuntimeException — RuntimeException


UI

  • Introdução
  • Instalação/Configuração
    • Dependências
    • Instalação
  • UI\Point — Represents a position (x,y)
    • UI\Point::at — Size Coercion
    • UI\Point::__construct — Construct a new Point
    • UI\Point::getX — Retrieves X
    • UI\Point::getY — Retrieves Y
    • UI\Point::setX — Set X
    • UI\Point::setY — Set Y
  • UI\Size — Represents dimenstions (width, height)
    • UI\Size::__construct — Construct a new Size
    • UI\Size::getHeight — Retrieves Height
    • UI\Size::getWidth — Retrives Width
    • UI\Size::of — Point Coercion
    • UI\Size::setHeight — Set Height
    • UI\Size::setWidth — Set Width
  • UI\Window — Window
    • UI\Window::add — Add a Control
    • UI\Window::__construct — Construct a new Window
    • UI\Window::error — Show Error Box
    • UI\Window::getSize — Get Window Size
    • UI\Window::getTitle — Get Title
    • UI\Window::hasBorders — Border Detection
    • UI\Window::hasMargin — Margin Detection
    • UI\Window::isFullScreen — Full Screen Detection
    • UI\Window::msg — Show Message Box
    • UI\Window::onClosing — Closing Callback
    • UI\Window::open — Open Dialog
    • UI\Window::save — Save Dialog
    • UI\Window::setBorders — Border Use
    • UI\Window::setFullScreen — Full Screen Use
    • UI\Window::setMargin — Margin Use
    • UI\Window::setSize — Set Size
    • UI\Window::setTitle — Window Title
  • UI\Control — Control
    • UI\Control::destroy — Destroy Control
    • UI\Control::disable — Disable Control
    • UI\Control::enable — Enable Control
    • UI\Control::getParent — Get Parent Control
    • UI\Control::getTopLevel — Get Top Level
    • UI\Control::hide — Hide Control
    • UI\Control::isEnabled — Determine if Control is enabled
    • UI\Control::isVisible — Determine if Control is visible
    • UI\Control::setParent — Set Parent Control
    • UI\Control::show — Control Show
  • UI\Menu — Menu
    • UI\Menu::append — Append Menu Item
    • UI\Menu::appendAbout — Append About Menu Item
    • UI\Menu::appendCheck — Append Checkable Menu Item
    • UI\Menu::appendPreferences — Append Preferences Menu Item
    • UI\Menu::appendQuit — Append Quit Menu Item
    • UI\Menu::appendSeparator — Append Menu Item Separator
    • UI\Menu::__construct — Construct a new Menu
  • UI\MenuItem — Menu Item
    • UI\MenuItem::disable — Disable Menu Item
    • UI\MenuItem::enable — Enable Menu Item
    • UI\MenuItem::isChecked — Detect Checked
    • UI\MenuItem::onClick — On Click Callback
    • UI\MenuItem::setChecked — Set Checked
  • UI\Area — Area
    • UI\Area::onDraw — Draw Callback
    • UI\Area::onKey — Key Callback
    • UI\Area::onMouse — Mouse Callback
    • UI\Area::redraw — Redraw Area
    • UI\Area::scrollTo — Area Scroll
    • UI\Area::setSize — Set Size
  • UI\Executor — Execution Scheduler
    • UI\Executor::__construct — Construct a new Executor
    • UI\Executor::kill — Stop Executor
    • UI\Executor::onExecute — Execution Callback
    • UI\Executor::setInterval — Interval Manipulation
  • UI\Controls\Tab — Tab Control
    • UI\Controls\Tab::append — Append Page
    • UI\Controls\Tab::delete — Delete Page
    • UI\Controls\Tab::hasMargin — Margin Detection
    • UI\Controls\Tab::insertAt — Insert Page
    • UI\Controls\Tab::pages — Page Count
    • UI\Controls\Tab::setMargin — Set Margin
  • UI\Controls\Check — Check Control
    • UI\Controls\Check::__construct — Construct a new Check
    • UI\Controls\Check::getText — Get Text
    • UI\Controls\Check::isChecked — Checked Detection
    • UI\Controls\Check::onToggle — Toggle Callback
    • UI\Controls\Check::setChecked — Set Checked
    • UI\Controls\Check::setText — Set Text
  • UI\Controls\Button — Button Control
    • UI\Controls\Button::__construct — Construct a new Button
    • UI\Controls\Button::getText — Get Text
    • UI\Controls\Button::onClick — Click Handler
    • UI\Controls\Button::setText — Set Text
  • UI\Controls\ColorButton — ColorButton Control
    • UI\Controls\ColorButton::getColor — Get Color
    • UI\Controls\ColorButton::onChange — Change Handler
    • UI\Controls\ColorButton::setColor — Set Color
  • UI\Controls\Label — Label Control
    • UI\Controls\Label::__construct — Construct a new Label
    • UI\Controls\Label::getText — Get Text
    • UI\Controls\Label::setText — Set Text
  • UI\Controls\Entry — Entry Control
    • UI\Controls\Entry::__construct — Construct a new Entry
    • UI\Controls\Entry::getText — Get Text
    • UI\Controls\Entry::isReadOnly — Detect Read Only
    • UI\Controls\Entry::onChange — Change Handler
    • UI\Controls\Entry::setReadOnly — Set Read Only
    • UI\Controls\Entry::setText — Set Text
  • UI\Controls\MultilineEntry — MultilineEntry Control
    • UI\Controls\MultilineEntry::append — Append Text
    • UI\Controls\MultilineEntry::__construct — Construct a new Multiline Entry
    • UI\Controls\MultilineEntry::getText — Get Text
    • UI\Controls\MultilineEntry::isReadOnly — Read Only Detection
    • UI\Controls\MultilineEntry::onChange — Change Handler
    • UI\Controls\MultilineEntry::setReadOnly — Set Read Only
    • UI\Controls\MultilineEntry::setText — Set Text
  • UI\Controls\Spin — Spin Control
    • UI\Controls\Spin::__construct — Construct a new Spin
    • UI\Controls\Spin::getValue — Get Value
    • UI\Controls\Spin::onChange — Change Handler
    • UI\Controls\Spin::setValue — Set Value
  • UI\Controls\Slider — Slider Control
    • UI\Controls\Slider::__construct — Construct a new Slider
    • UI\Controls\Slider::getValue — Get Value
    • UI\Controls\Slider::onChange — Change Handler
    • UI\Controls\Slider::setValue — Set Value
  • UI\Controls\Progress — Progress Control
    • UI\Controls\Progress::getValue — Get Value
    • UI\Controls\Progress::setValue — Set Value
  • UI\Controls\Separator — Control Separator
    • UI\Controls\Separator::__construct — Construct a new Separator
  • UI\Controls\Combo — Combo Control
    • UI\Controls\Combo::append — Append Option
    • UI\Controls\Combo::getSelected — Get Selected Option
    • UI\Controls\Combo::onSelected — Selected Handler
    • UI\Controls\Combo::setSelected — Set Selected Option
  • UI\Controls\EditableCombo — EdiableCombo Control
    • UI\Controls\EditableCombo::append — Append Option
    • UI\Controls\EditableCombo::getText — Get Text
    • UI\Controls\EditableCombo::onChange — Change Handler
    • UI\Controls\EditableCombo::setText — Set Text
  • UI\Controls\Radio — Radio Control
    • UI\Controls\Radio::append — Append Option
    • UI\Controls\Radio::getSelected — Get Selected Option
    • UI\Controls\Radio::onSelected — Selected Handler
    • UI\Controls\Radio::setSelected — Set Selected Option
  • UI\Controls\Picker — Picker Control
    • UI\Controls\Picker::__construct — Construct a new Picker
  • UI\Controls\Form — Control Form (Arrangement)
    • UI\Controls\Form::append — Append Control
    • UI\Controls\Form::delete — Delete Control
    • UI\Controls\Form::isPadded — Padding Detection
    • UI\Controls\Form::setPadded — Set Padding
  • UI\Controls\Grid — Control Grid (Arrangement)
    • UI\Controls\Grid::append — Append Control
    • UI\Controls\Grid::isPadded — Padding Detection
    • UI\Controls\Grid::setPadded — Set Padding
  • UI\Controls\Group — Control Group (Arrangement)
    • UI\Controls\Group::append — Append Control
    • UI\Controls\Group::__construct — Construct a new Group
    • UI\Controls\Group::getTitle — Get Title
    • UI\Controls\Group::hasMargin — Margin Detection
    • UI\Controls\Group::setMargin — Set Margin
    • UI\Controls\Group::setTitle — Set Title
  • UI\Controls\Box — Control Box (Arrangement)
    • UI\Controls\Box::append — Append Control
    • UI\Controls\Box::__construct — Construct a new Box
    • UI\Controls\Box::delete — Delete Control
    • UI\Controls\Box::getOrientation — Get Orientation
    • UI\Controls\Box::isPadded — Padding Detection
    • UI\Controls\Box::setPadded — Set Padding
  • UI\Draw\Pen — Draw Pen
    • UI\Draw\Pen::clip — Clip a Path
    • UI\Draw\Pen::fill — Fill a Path
    • UI\Draw\Pen::restore — Restore
    • UI\Draw\Pen::save — Save
    • UI\Draw\Pen::stroke — Stroke a Path
    • UI\Draw\Pen::transform — Matrix Transform
    • UI\Draw\Pen::write — Draw Text at Point
  • UI\Draw\Path — Draw Path
    • UI\Draw\Path::addRectangle — Draw a Rectangle
    • UI\Draw\Path::arcTo — Draw an Arc
    • UI\Draw\Path::bezierTo — Draw Bezier Curve
    • UI\Draw\Path::closeFigure — Close Figure
    • UI\Draw\Path::__construct — Construct a new Path
    • UI\Draw\Path::end — Finalize Path
    • UI\Draw\Path::lineTo — Draw a Line
    • UI\Draw\Path::newFigure — Draw Figure
    • UI\Draw\Path::newFigureWithArc — Draw Figure with Arc
  • UI\Draw\Matrix — Draw Matrix
    • UI\Draw\Matrix::invert — Invert Matrix
    • UI\Draw\Matrix::isInvertible — Invertible Detection
    • UI\Draw\Matrix::multiply — Multiply Matrix
    • UI\Draw\Matrix::rotate — Rotate Matrix
    • UI\Draw\Matrix::scale — Scale Matrix
    • UI\Draw\Matrix::skew — Skew Matrix
    • UI\Draw\Matrix::translate — Translate Matrix
  • UI\Draw\Color — Color Representation
    • UI\Draw\Color::__construct — Construct new Color
    • UI\Draw\Color::getChannel — Color Manipulation
    • UI\Draw\Color::setChannel — Color Manipulation
  • UI\Draw\Stroke — Draw Stroke
    • UI\Draw\Stroke::__construct — Construct a new Stroke
    • UI\Draw\Stroke::getCap — Get Line Cap
    • UI\Draw\Stroke::getJoin — Get Line Join
    • UI\Draw\Stroke::getMiterLimit — Get Miter Limit
    • UI\Draw\Stroke::getThickness — Get Thickness
    • UI\Draw\Stroke::setCap — Set Line Cap
    • UI\Draw\Stroke::setJoin — Set Line Join
    • UI\Draw\Stroke::setMiterLimit — Set Miter Limit
    • UI\Draw\Stroke::setThickness — Set Thickness
  • UI\Draw\Brush — Brushes
    • UI\Draw\Brush::__construct — Construct a new Brush
    • UI\Draw\Brush::getColor — Get Color
    • UI\Draw\Brush::setColor — Set Color
  • UI\Draw\Brush\Gradient — Gradient Brushes
    • UI\Draw\Brush\Gradient::addStop — Stop Manipulation
    • UI\Draw\Brush\Gradient::delStop — Stop Manipulation
    • UI\Draw\Brush\Gradient::setStop — Stop Manipulation
  • UI\Draw\Brush\LinearGradient — Linear Gradient
    • UI\Draw\Brush\LinearGradient::__construct — Construct a Linear Gradient
  • UI\Draw\Brush\RadialGradient — Radial Gradient
    • UI\Draw\Brush\RadialGradient::__construct — Construct a new Radial Gradient
  • UI\Draw\Text\Layout — Represents Text Layout
    • UI\Draw\Text\Layout::__construct — Construct a new Text Layout
    • UI\Draw\Text\Layout::setColor — Set Color
    • UI\Draw\Text\Layout::setWidth — Set Width
  • UI\Draw\Text\Font — Represents a Font
    • UI\Draw\Text\Font::__construct — Construct a new Font
    • UI\Draw\Text\Font::getAscent — Font Metrics
    • UI\Draw\Text\Font::getDescent — Font Metrics
    • UI\Draw\Text\Font::getLeading — Font Metrics
    • UI\Draw\Text\Font::getUnderlinePosition — Font Metrics
    • UI\Draw\Text\Font::getUnderlineThickness — Font Metrics
  • UI\Draw\Text\Font\Descriptor — Font Descriptor
    • UI\Draw\Text\Font\Descriptor::__construct — Construct a new Font Descriptor
    • UI\Draw\Text\Font\Descriptor::getFamily — Get Font Family
    • UI\Draw\Text\Font\Descriptor::getItalic — Style Detection
    • UI\Draw\Text\Font\Descriptor::getSize — Size Detection
    • UI\Draw\Text\Font\Descriptor::getStretch — Style Detection
    • UI\Draw\Text\Font\Descriptor::getWeight — Weight Detection
  • UI Funções
    • UI\Draw\Text\Font\fontFamilies — Retrieve Font Families
    • UI\quit — Quit UI Loop
    • UI\run — Enter UI Loop
  • UI\Draw\Text\Font\Weight — Font Weight Settings
  • UI\Draw\Text\Font\Italic — Italic Font Settings
  • UI\Draw\Text\Font\Stretch — Font Stretch Settings
  • UI\Draw\Line\Cap — Line Cap Settings
  • UI\Draw\Line\Join — Line Join Settings
  • UI\Key — Key Identifiers
  • UI\Exception\InvalidArgumentException — InvalidArgumentException
  • UI\Exception\RuntimeException — RuntimeException


Introdução

This extension wraps libui to provide an OO API for the cross platform development of native look-and-feel user interfaces .


  • « Introdução
  • Dependências »
  • PHP Manual
  • UI
  • Instalação/Configuração

Instalação/Configuração

Índice

  • Dependências
  • Instalação


Dependências

Installation requires the libui library, and PHP 7 or newer.

This extension requires the » libui library version 0.1.0 or higher to be installed. See the libui documentation for a list of prerequisites.


Instalação

Esta extensão » PECL não é distribuída junto com o PHP.

Informações para instalar essa extensão PECL pode ser encontrada no capítulo Instalação de Extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções e CHANGELOG podem ser encontrados aqui: » https://pecl.php.net/package/ui.

Windows binaries (DLL files) for this PECL extension are available from the PECL website.


Represents a position (x,y)

(UI 0.9.9)

Introdução

Points are used throughout UI to represent co-ordinates on a screen, control, or area.

Sinopse da classe

final UI\Point {
/* Propriedades */
public $x ;
public $y ;
/* Constructor */
public __construct ( float $x , float $y )
/* Métodos */
public static at ( float $point ) : UI\Point
public static at ( UI\Size $size ) : UI\Point
public getX ( ) : float
public getY ( ) : float
public setX ( float $point )
public setY ( float $point )
}

Propriedades

x

Holds the X co-ordinate, can be read/written directly

y

Holds the Y co-ordinate, can be read/written directly

Índice

  • UI\Point::at — Size Coercion
  • UI\Point::__construct — Construct a new Point
  • UI\Point::getX — Retrieves X
  • UI\Point::getY — Retrieves Y
  • UI\Point::setX — Set X
  • UI\Point::setY — Set Y


Size Coercion

  • « UI\Point
  • UI\Point::__construct »
  • PHP Manual
  • UI\Point
  • Size Coercion

UI\Point::at

(UI 1.0.2)

UI\Point::at — Size Coercion

Descrição

public static UI\Point::at ( float $point ) : UI\Point
public static UI\Point::at ( UI\Size $size ) : UI\Point

Shall return a UI\Point object where x and y are equal to those supplied, either in float or UI\Size form

Parâmetros

point

The value for x and y

size

The Size to convert

Valor Retornado

The resulting Point


Construct a new Point

  • « UI\Point::at
  • UI\Point::getX »
  • PHP Manual
  • UI\Point
  • Construct a new Point

UI\Point::__construct

(UI 0.9.9)

UI\Point::__construct — Construct a new Point

Descrição

public UI\Point::__construct ( float $x , float $y )

Construct a new Point using new co-ordinates

Parâmetros

x

The new X co-ordinate

y

The new Y co-ordinate


Retrieves X

  • « UI\Point::__construct
  • UI\Point::getY »
  • PHP Manual
  • UI\Point
  • Retrieves X

UI\Point::getX

(UI 0.9.9)

UI\Point::getX — Retrieves X

Descrição

public UI\Point::getX ( ) : float

Retrieves the X co-ordinate

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current X co-ordinate


Retrieves Y

  • « UI\Point::getX
  • UI\Point::setX »
  • PHP Manual
  • UI\Point
  • Retrieves Y

UI\Point::getY

(UI 0.9.9)

UI\Point::getY — Retrieves Y

Descrição

public UI\Point::getY ( ) : float

Retrieves the Y co-ordinate

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current Y co-ordinate


Set X

  • « UI\Point::getY
  • UI\Point::setY »
  • PHP Manual
  • UI\Point
  • Set X

UI\Point::setX

(UI 0.9.9)

UI\Point::setX — Set X

Descrição

public UI\Point::setX ( float $point )

Set the X co-ordinate

Parâmetros

point

The new X co-ordinate

Valor Retornado


Set Y

  • « UI\Point::setX
  • UI\Size »
  • PHP Manual
  • UI\Point
  • Set Y

UI\Point::setY

(UI 0.9.9)

UI\Point::setY — Set Y

Descrição

public UI\Point::setY ( float $point )

Set the Y co-ordinate

Parâmetros

point

The new Y co-ordinate

Valor Retornado


Represents dimenstions (width, height)

(UI 0.9.9)

Introdução

Sizes are used throughout UI to represent the size of a screen, control, or area.

Sinopse da classe

final UI\Size {
/* Propriedades */
public $width ;
public $height ;
/* Constructor */
public __construct ( float $width , float $height )
/* Métodos */
public getHeight ( ) : float
public getWidth ( ) : float
public static of ( float $size ) : UI\Size
public static of ( UI\Point $point ) : UI\Size
public setHeight ( float $size )
public setWidth ( float $size )
}

Propriedades

width

Holds the width, can be read/written directly

height

Holds the height, can be read/written directly

Índice

  • UI\Size::__construct — Construct a new Size
  • UI\Size::getHeight — Retrieves Height
  • UI\Size::getWidth — Retrives Width
  • UI\Size::of — Point Coercion
  • UI\Size::setHeight — Set Height
  • UI\Size::setWidth — Set Width


Construct a new Size

  • « UI\Size
  • UI\Size::getHeight »
  • PHP Manual
  • UI\Size
  • Construct a new Size

UI\Size::__construct

(UI 0.9.9)

UI\Size::__construct — Construct a new Size

Descrição

public UI\Size::__construct ( float $width , float $height )

Construct a new Size using new width and height

Parâmetros

width

The new width

height

The new height


Retrieves Height

  • « UI\Size::__construct
  • UI\Size::getWidth »
  • PHP Manual
  • UI\Size
  • Retrieves Height

UI\Size::getHeight

(UI 0.9.9)

UI\Size::getHeight — Retrieves Height

Descrição

public UI\Size::getHeight ( ) : float

Retrieves the Height

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current Height


Retrives Width

  • « UI\Size::getHeight
  • UI\Size::of »
  • PHP Manual
  • UI\Size
  • Retrives Width

UI\Size::getWidth

(UI 0.9.9)

UI\Size::getWidth — Retrives Width

Descrição

public UI\Size::getWidth ( ) : float

Retrieves the Width

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current Width


Point Coercion

  • « UI\Size::getWidth
  • UI\Size::setHeight »
  • PHP Manual
  • UI\Size
  • Point Coercion

UI\Size::of

(UI 1.0.2)

UI\Size::of — Point Coercion

Descrição

public static UI\Size::of ( float $size ) : UI\Size
public static UI\Size::of ( UI\Point $point ) : UI\Size

Shall return a UI\Size object where width and height are equal to those supplied, either in float or UI\Point form

Parâmetros

size

The value for width and height

point

The Point to convert

Valor Retornado

The resulting Size


Set Height

  • « UI\Size::of
  • UI\Size::setWidth »
  • PHP Manual
  • UI\Size
  • Set Height

UI\Size::setHeight

(UI 0.9.9)

UI\Size::setHeight — Set Height

Descrição

public UI\Size::setHeight ( float $size )

Set new Height

Parâmetros

size

The new Height

Valor Retornado


Set Width

  • « UI\Size::setHeight
  • UI\Window »
  • PHP Manual
  • UI\Size
  • Set Width

UI\Size::setWidth

(UI 0.9.9)

UI\Size::setWidth — Set Width

Descrição

public UI\Size::setWidth ( float $size )

Set new Width

Parâmetros

size

The new Width

Valor Retornado


Window

(UI 0.9.9)

Introdução

Represents a UI Window

Sinopse da classe

UI\Window extends UI\Control {
/* Propriedades */
protected $controls ;
/* Constructor */
public __construct ( string $title , Size $size , bool $menu = false )
/* Métodos */
public add ( UI\Control $control )
public error ( string $title , string $msg )
public getSize ( ) : UI\Size
public getTitle ( ) : string
public hasBorders ( ) : bool
public hasMargin ( ) : bool
public isFullScreen ( ) : bool
public msg ( string $title , string $msg )
protected onClosing ( ) : int
public open ( ) : string
public save ( ) : string
public setBorders ( bool $borders )
public setFullScreen ( bool $full )
public setMargin ( bool $margin )
public setSize ( UI\Size $size )
public setTitle ( string $title )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Propriedades

controls

Contains controls, should not be manipulated directly

Índice

  • UI\Window::add — Add a Control
  • UI\Window::__construct — Construct a new Window
  • UI\Window::error — Show Error Box
  • UI\Window::getSize — Get Window Size
  • UI\Window::getTitle — Get Title
  • UI\Window::hasBorders — Border Detection
  • UI\Window::hasMargin — Margin Detection
  • UI\Window::isFullScreen — Full Screen Detection
  • UI\Window::msg — Show Message Box
  • UI\Window::onClosing — Closing Callback
  • UI\Window::open — Open Dialog
  • UI\Window::save — Save Dialog
  • UI\Window::setBorders — Border Use
  • UI\Window::setFullScreen — Full Screen Use
  • UI\Window::setMargin — Margin Use
  • UI\Window::setSize — Set Size
  • UI\Window::setTitle — Window Title


Add a Control

  • « UI\Window
  • UI\Window::__construct »
  • PHP Manual
  • UI\Window
  • Add a Control

UI\Window::add

(UI 0.9.9)

UI\Window::add — Add a Control

Descrição

public UI\Window::add ( UI\Control $control )

Shall add a Control to this Window

Parâmetros

control

The Control to add

Valor Retornado


Construct a new Window

  • « UI\Window::add
  • UI\Window::error »
  • PHP Manual
  • UI\Window
  • Construct a new Window

UI\Window::__construct

(UI 0.9.9)

UI\Window::__construct — Construct a new Window

Descrição

public UI\Window::__construct ( string $title , Size $size , bool $menu = false )

Shall construct a new Window

Parâmetros

title

The title of the Window

size

The size of the Window

menu

Menu switch


Show Error Box

  • « UI\Window::__construct
  • UI\Window::getSize »
  • PHP Manual
  • UI\Window
  • Show Error Box

UI\Window::error

(UI 0.9.9)

UI\Window::error — Show Error Box

Descrição

public UI\Window::error ( string $title , string $msg )

Shall show an error box

Parâmetros

title

The title of the error box

msg

The message for the error box


Get Window Size

  • « UI\Window::error
  • UI\Window::getTitle »
  • PHP Manual
  • UI\Window
  • Get Window Size

UI\Window::getSize

(UI 0.9.9)

UI\Window::getSize — Get Window Size

Descrição

public UI\Window::getSize ( ) : UI\Size

Shall return the size of this Window

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get Title

  • « UI\Window::getSize
  • UI\Window::hasBorders »
  • PHP Manual
  • UI\Window
  • Get Title

UI\Window::getTitle

(UI 0.9.9)

UI\Window::getTitle — Get Title

Descrição

public UI\Window::getTitle ( ) : string

Shall retrieve the title of this Window

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Border Detection

  • « UI\Window::getTitle
  • UI\Window::hasMargin »
  • PHP Manual
  • UI\Window
  • Border Detection

UI\Window::hasBorders

(UI 0.9.9)

UI\Window::hasBorders — Border Detection

Descrição

public UI\Window::hasBorders ( ) : bool

Shall detect if borders are used on this Window

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Margin Detection

  • « UI\Window::hasBorders
  • UI\Window::isFullScreen »
  • PHP Manual
  • UI\Window
  • Margin Detection

UI\Window::hasMargin

(UI 0.9.9)

UI\Window::hasMargin — Margin Detection

Descrição

public UI\Window::hasMargin ( ) : bool

Shall detect if margins are used on this Window

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Full Screen Detection

  • « UI\Window::hasMargin
  • UI\Window::msg »
  • PHP Manual
  • UI\Window
  • Full Screen Detection

UI\Window::isFullScreen

(UI 0.9.9)

UI\Window::isFullScreen — Full Screen Detection

Descrição

public UI\Window::isFullScreen ( ) : bool

Shall detect if this Window us using the whole screen

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Show Message Box

  • « UI\Window::isFullScreen
  • UI\Window::onClosing »
  • PHP Manual
  • UI\Window
  • Show Message Box

UI\Window::msg

(UI 0.9.9)

UI\Window::msg — Show Message Box

Descrição

public UI\Window::msg ( string $title , string $msg )

Shall show a message box

Parâmetros

title

The title of the message box

msg

The message


Closing Callback

  • « UI\Window::msg
  • UI\Window::open »
  • PHP Manual
  • UI\Window
  • Closing Callback

UI\Window::onClosing

(UI 0.9.9)

UI\Window::onClosing — Closing Callback

Descrição

protected UI\Window::onClosing ( ) : int

Should gracefully destroy this Window

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Open Dialog

  • « UI\Window::onClosing
  • UI\Window::save »
  • PHP Manual
  • UI\Window
  • Open Dialog

UI\Window::open

(UI 0.9.9)

UI\Window::open — Open Dialog

Descrição

public UI\Window::open ( ) : string

Shall show an open file dialog

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the name of the file selected for opening


Save Dialog

  • « UI\Window::open
  • UI\Window::setBorders »
  • PHP Manual
  • UI\Window
  • Save Dialog

UI\Window::save

(UI 0.9.9)

UI\Window::save — Save Dialog

Descrição

public UI\Window::save ( ) : string

Shall show a save dialog

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Returns the file name selecting for saving


Border Use

  • « UI\Window::save
  • UI\Window::setFullScreen »
  • PHP Manual
  • UI\Window
  • Border Use

UI\Window::setBorders

(UI 0.9.9)

UI\Window::setBorders — Border Use

Descrição

public UI\Window::setBorders ( bool $borders )

Shall enable or disable the use of borders on this Window

Parâmetros

borders


Full Screen Use

  • « UI\Window::setBorders
  • UI\Window::setMargin »
  • PHP Manual
  • UI\Window
  • Full Screen Use

UI\Window::setFullScreen

(UI 0.9.9)

UI\Window::setFullScreen — Full Screen Use

Descrição

public UI\Window::setFullScreen ( bool $full )

Shall enable or disable the use of the full screen for this Window

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

full


Margin Use

  • « UI\Window::setFullScreen
  • UI\Window::setSize »
  • PHP Manual
  • UI\Window
  • Margin Use

UI\Window::setMargin

(UI 0.9.9)

UI\Window::setMargin — Margin Use

Descrição

public UI\Window::setMargin ( bool $margin )

Shall enable or disable the use of margins for this Window

Parâmetros

margin


Set Size

  • « UI\Window::setMargin
  • UI\Window::setTitle »
  • PHP Manual
  • UI\Window
  • Set Size

UI\Window::setSize

(UI 0.9.9)

UI\Window::setSize — Set Size

Descrição

public UI\Window::setSize ( UI\Size $size )

Shall set the size of this Window

Parâmetros

size

Valor Retornado


Window Title

  • « UI\Window::setSize
  • UI\Control »
  • PHP Manual
  • UI\Window
  • Window Title

UI\Window::setTitle

(UI 0.9.9)

UI\Window::setTitle — Window Title

Descrição

public UI\Window::setTitle ( string $title )

Shall set the title for this Window

Parâmetros

title

The new title


Control

(UI 0.9.9)

Introdução

This is the closed base class for all UI Controls.

Sinopse da classe

final UI\Control {
/* Métodos */
public destroy ( )
public disable ( )
public enable ( )
public getParent ( ) : UI\Control
public getTopLevel ( ) : int
public hide ( )
public isEnabled ( ) : bool
public isVisible ( ) : bool
public setParent ( UI\Control $parent )
public show ( )
}

Índice

  • UI\Control::destroy — Destroy Control
  • UI\Control::disable — Disable Control
  • UI\Control::enable — Enable Control
  • UI\Control::getParent — Get Parent Control
  • UI\Control::getTopLevel — Get Top Level
  • UI\Control::hide — Hide Control
  • UI\Control::isEnabled — Determine if Control is enabled
  • UI\Control::isVisible — Determine if Control is visible
  • UI\Control::setParent — Set Parent Control
  • UI\Control::show — Control Show


Destroy Control

  • « UI\Control
  • UI\Control::disable »
  • PHP Manual
  • UI\Control
  • Destroy Control

UI\Control::destroy

(UI 0.9.9)

UI\Control::destroy — Destroy Control

Descrição

public UI\Control::destroy ( )

Shall destroy this Control

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Disable Control

  • « UI\Control::destroy
  • UI\Control::enable »
  • PHP Manual
  • UI\Control
  • Disable Control

UI\Control::disable

(UI 0.9.9)

UI\Control::disable — Disable Control

Descrição

public UI\Control::disable ( )

Shall disable this Control

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Enable Control

  • « UI\Control::disable
  • UI\Control::getParent »
  • PHP Manual
  • UI\Control
  • Enable Control

UI\Control::enable

(UI 0.9.9)

UI\Control::enable — Enable Control

Descrição

public UI\Control::enable ( )

Shall enable this Control

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get Parent Control

  • « UI\Control::enable
  • UI\Control::getTopLevel »
  • PHP Manual
  • UI\Control
  • Get Parent Control

UI\Control::getParent

(UI 0.9.9)

UI\Control::getParent — Get Parent Control

Descrição

public UI\Control::getParent ( ) : UI\Control

Shall return the parent Control

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Get Top Level

  • « UI\Control::getParent
  • UI\Control::hide »
  • PHP Manual
  • UI\Control
  • Get Top Level

UI\Control::getTopLevel

(UI 0.9.9)

UI\Control::getTopLevel — Get Top Level

Descrição

public UI\Control::getTopLevel ( ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Hide Control

  • « UI\Control::getTopLevel
  • UI\Control::isEnabled »
  • PHP Manual
  • UI\Control
  • Hide Control

UI\Control::hide

(UI 0.9.9)

UI\Control::hide — Hide Control

Descrição

public UI\Control::hide ( )

Shall hide this Control

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Determine if Control is enabled

  • « UI\Control::hide
  • UI\Control::isVisible »
  • PHP Manual
  • UI\Control
  • Determine if Control is enabled

UI\Control::isEnabled

(UI 0.9.9)

UI\Control::isEnabled — Determine if Control is enabled

Descrição

public UI\Control::isEnabled ( ) : bool

Shall detect if this Control is enabled

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Determine if Control is visible

  • « UI\Control::isEnabled
  • UI\Control::setParent »
  • PHP Manual
  • UI\Control
  • Determine if Control is visible

UI\Control::isVisible

(UI 0.9.9)

UI\Control::isVisible — Determine if Control is visible

Descrição

public UI\Control::isVisible ( ) : bool

Shall detect if this Control is visible

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Set Parent Control

  • « UI\Control::isVisible
  • UI\Control::show »
  • PHP Manual
  • UI\Control
  • Set Parent Control

UI\Control::setParent

(UI 0.9.9)

UI\Control::setParent — Set Parent Control

Descrição

public UI\Control::setParent ( UI\Control $parent )

Shall set the parent Control of this Control

Parâmetros

parent

The parent Control

Valor Retornado


Control Show

  • « UI\Control::setParent
  • UI\Menu »
  • PHP Manual
  • UI\Control
  • Control Show

UI\Control::show

(UI 0.9.9)

UI\Control::show — Control Show

Descrição

public UI\Control::show ( )

Shall show this Control

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Menu

(UI 0.9.9)

Introdução

Menus must be constructed before the first Window, and can be shown on any Window

Sinopse da classe

UI\Menu {
/* Constructor */
public __construct ( string $name )
/* Métodos */
public append ( string $name , string $type = UI\MenuItem::class ) : UI\MenuItem
public appendAbout ( string $type = UI\MenuItem::class ) : UI\MenuItem
public appendCheck ( string $name , string $type = UI\MenuItem::class ) : UI\MenuItem
public appendPreferences ( string $type = UI\MenuItem::class ) : UI\MenuItem
public appendQuit ( string $type = UI\MenuItem::class ) : UI\MenuItem
public appendSeparator ( )
}

Índice

  • UI\Menu::append — Append Menu Item
  • UI\Menu::appendAbout — Append About Menu Item
  • UI\Menu::appendCheck — Append Checkable Menu Item
  • UI\Menu::appendPreferences — Append Preferences Menu Item
  • UI\Menu::appendQuit — Append Quit Menu Item
  • UI\Menu::appendSeparator — Append Menu Item Separator
  • UI\Menu::__construct — Construct a new Menu


Append Menu Item

  • « UI\Menu
  • UI\Menu::appendAbout »
  • PHP Manual
  • UI\Menu
  • Append Menu Item

UI\Menu::append

(UI 0.9.9)

UI\Menu::append — Append Menu Item

Descrição

public UI\Menu::append ( string $name , string $type = UI\MenuItem::class ) : UI\MenuItem

Shall append a new Menu Item

Parâmetros

name

The name (text) for the new item

type

The type for the new item

Valor Retornado

A constructed object of the given type


Append About Menu Item

  • « UI\Menu::append
  • UI\Menu::appendCheck »
  • PHP Manual
  • UI\Menu
  • Append About Menu Item

UI\Menu::appendAbout

(UI 0.9.9)

UI\Menu::appendAbout — Append About Menu Item

Descrição

public UI\Menu::appendAbout ( string $type = UI\MenuItem::class ) : UI\MenuItem

Shall append an About menu item

Parâmetros

type

The type for the new item

Valor Retornado

A constructed About menu item of the given type


Append Checkable Menu Item

  • « UI\Menu::appendAbout
  • UI\Menu::appendPreferences »
  • PHP Manual
  • UI\Menu
  • Append Checkable Menu Item

UI\Menu::appendCheck

(UI 0.9.9)

UI\Menu::appendCheck — Append Checkable Menu Item

Descrição

public UI\Menu::appendCheck ( string $name , string $type = UI\MenuItem::class ) : UI\MenuItem

Shall append a checkable menu item

Parâmetros

name

The name (text) for the new item

type

The type for the new item

Valor Retornado

A constructed checkable menu item of the given type


Append Preferences Menu Item

  • « UI\Menu::appendCheck
  • UI\Menu::appendQuit »
  • PHP Manual
  • UI\Menu
  • Append Preferences Menu Item

UI\Menu::appendPreferences

(UI 0.9.9)

UI\Menu::appendPreferences — Append Preferences Menu Item

Descrição

public UI\Menu::appendPreferences ( string $type = UI\MenuItem::class ) : UI\MenuItem

Shall append a Preferences menu item

Parâmetros

type

The type for the new item

Valor Retornado

A constructed Preferences menu item of the given type


Append Quit Menu Item

  • « UI\Menu::appendPreferences
  • UI\Menu::appendSeparator »
  • PHP Manual
  • UI\Menu
  • Append Quit Menu Item

UI\Menu::appendQuit

(UI 0.9.9)

UI\Menu::appendQuit — Append Quit Menu Item

Descrição

public UI\Menu::appendQuit ( string $type = UI\MenuItem::class ) : UI\MenuItem

Shall append a Quit menu item

Parâmetros

type

The type for the new item

Valor Retornado

A constructed Quit menu item of the given type


Append Menu Item Separator

  • « UI\Menu::appendQuit
  • UI\Menu::__construct »
  • PHP Manual
  • UI\Menu
  • Append Menu Item Separator

UI\Menu::appendSeparator

(UI 0.9.9)

UI\Menu::appendSeparator — Append Menu Item Separator

Descrição

public UI\Menu::appendSeparator ( )

Shall append a separator

Parâmetros

Esta função não possui parâmetros.


Construct a new Menu

  • « UI\Menu::appendSeparator
  • UI\MenuItem »
  • PHP Manual
  • UI\Menu
  • Construct a new Menu

UI\Menu::__construct

(UI 0.9.9)

UI\Menu::__construct — Construct a new Menu

Descrição

public UI\Menu::__construct ( string $name )

Shall construct a new Menu

Parâmetros

name

The name (text) for the menu


Menu Item

(UI 0.9.9)

Introdução

Menu Items should only be created by the Menu

Sinopse da classe

UI\MenuItem {
/* Métodos */
public disable ( )
public enable ( )
public isChecked ( ) : bool
protected onClick ( )
public setChecked ( bool $checked )
}

Índice

  • UI\MenuItem::disable — Disable Menu Item
  • UI\MenuItem::enable — Enable Menu Item
  • UI\MenuItem::isChecked — Detect Checked
  • UI\MenuItem::onClick — On Click Callback
  • UI\MenuItem::setChecked — Set Checked


Disable Menu Item

  • « UI\MenuItem
  • UI\MenuItem::enable »
  • PHP Manual
  • UI\MenuItem
  • Disable Menu Item

UI\MenuItem::disable

(UI 0.9.9)

UI\MenuItem::disable — Disable Menu Item

Descrição

public UI\MenuItem::disable ( )

Shall disable this Menu Item

Parâmetros

Esta função não possui parâmetros.


Enable Menu Item

  • « UI\MenuItem::disable
  • UI\MenuItem::isChecked »
  • PHP Manual
  • UI\MenuItem
  • Enable Menu Item

UI\MenuItem::enable

(UI 0.9.9)

UI\MenuItem::enable — Enable Menu Item

Descrição

public UI\MenuItem::enable ( )

Shall enable this Menu Item

Parâmetros

Esta função não possui parâmetros.


Detect Checked

  • « UI\MenuItem::enable
  • UI\MenuItem::onClick »
  • PHP Manual
  • UI\MenuItem
  • Detect Checked

UI\MenuItem::isChecked

(UI 0.9.9)

UI\MenuItem::isChecked — Detect Checked

Descrição

public UI\MenuItem::isChecked ( ) : bool

Shall detect if this Menu Item is checked

Parâmetros

Esta função não possui parâmetros.


On Click Callback

  • « UI\MenuItem::isChecked
  • UI\MenuItem::setChecked »
  • PHP Manual
  • UI\MenuItem
  • On Click Callback

UI\MenuItem::onClick

(UI 0.9.9)

UI\MenuItem::onClick — On Click Callback

Descrição

protected UI\MenuItem::onClick ( )

Shall be executed when this Menu Item is clicked

Parâmetros

Esta função não possui parâmetros.


Set Checked

  • « UI\MenuItem::onClick
  • UI\Area »
  • PHP Manual
  • UI\MenuItem
  • Set Checked

UI\MenuItem::setChecked

(UI 0.9.9)

UI\MenuItem::setChecked — Set Checked

Descrição

public UI\MenuItem::setChecked ( bool $checked )

Shall set the checked status of this Menu Item

Parâmetros

checked

The new status


Area

(UI 0.9.9)

Introdução

An Area represents a canvas which can be used to draw, and respond to mouse and key events.

Sinopse da classe

UI\Area extends UI\Control {
/* Constants */
const int Ctrl ;
const int Alt ;
const int Shift ;
const int Super ;
const int Down ;
const int Up ;
/* Métodos */
protected onDraw ( UI\Draw\Pen $pen , UI\Size $areaSize , UI\Point $clipPoint , UI\Size $clipSize )
protected onKey ( string $key , int $ext , int $flags )
protected onMouse ( UI\Point $areaPoint , UI\Size $areaSize , int $flags )
public redraw ( )
public scrollTo ( UI\Point $point , UI\Size $size )
public setSize ( UI\Size $size )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Constantes pré-definidas

UI\Area::Ctrl

Shall be set in the modifiers passed to key and mouse events when the CTRL key is active

UI\Area::Alt

Shall be set in the modifiers passed to key and mouse events when the ALT key is active

UI\Area::Shift

Shall be set in the modifiers passed to key and mouse events when the SHIFT key is active

UI\Area::Super

UI\Area::Down

Shall be set in the modifiers passed to key and mouse events

UI\Area::Up

Shall be set in the modifiers passed to key and mouse events

Índice

  • UI\Area::onDraw — Draw Callback
  • UI\Area::onKey — Key Callback
  • UI\Area::onMouse — Mouse Callback
  • UI\Area::redraw — Redraw Area
  • UI\Area::scrollTo — Area Scroll
  • UI\Area::setSize — Set Size


Draw Callback

  • « UI\Area
  • UI\Area::onKey »
  • PHP Manual
  • UI\Area
  • Draw Callback

UI\Area::onDraw

(UI 0.9.9)

UI\Area::onDraw — Draw Callback

Descrição

protected UI\Area::onDraw ( UI\Draw\Pen $pen , UI\Size $areaSize , UI\Point $clipPoint , UI\Size $clipSize )

Shall be invoked when this Area requires redrawing

Parâmetros

pen

A Pen suitable for drawing in this Area

areaSize

The size of the Area

clipPoint

The clip point of the Area

clipSize

The clip size of the Area


Key Callback

  • « UI\Area::onDraw
  • UI\Area::onMouse »
  • PHP Manual
  • UI\Area
  • Key Callback

UI\Area::onKey

(UI 0.9.9)

UI\Area::onKey — Key Callback

Descrição

protected UI\Area::onKey ( string $key , int $ext , int $flags )

Shall be executed on key events

Parâmetros

key

The key pressed

ext

The extended key pressed

flags

Event modifiers

Valor Retornado


Mouse Callback

  • « UI\Area::onKey
  • UI\Area::redraw »
  • PHP Manual
  • UI\Area
  • Mouse Callback

UI\Area::onMouse

(UI 0.9.9)

UI\Area::onMouse — Mouse Callback

Descrição

protected UI\Area::onMouse ( UI\Point $areaPoint , UI\Size $areaSize , int $flags )

Shall be executed on mouse events

Parâmetros

areaPoint

The co-ordinates of the event

areaSize

The size of the area of the event

flags

Event modifiers


Redraw Area

  • « UI\Area::onMouse
  • UI\Area::scrollTo »
  • PHP Manual
  • UI\Area
  • Redraw Area

UI\Area::redraw

(UI 0.9.9)

UI\Area::redraw — Redraw Area

Descrição

public UI\Area::redraw ( )

Requests that this Area is redrawn

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Area Scroll

  • « UI\Area::redraw
  • UI\Area::setSize »
  • PHP Manual
  • UI\Area
  • Area Scroll

UI\Area::scrollTo

(UI 0.9.9)

UI\Area::scrollTo — Area Scroll

Descrição

public UI\Area::scrollTo ( UI\Point $point , UI\Size $size )

Scroll this Area

Parâmetros

point

The point to scroll to

size

The size of the scroll pane


Set Size

  • « UI\Area::scrollTo
  • UI\Executor »
  • PHP Manual
  • UI\Area
  • Set Size

UI\Area::setSize

(UI 0.9.9)

UI\Area::setSize — Set Size

Descrição

public UI\Area::setSize ( UI\Size $size )

Sets the size of this Area

Parâmetros

size

The new size


Execution Scheduler

(UI 2.0.0)

Introdução

This facility schedules repetitive execution of a callback, useful for animations and other such activities.

Sinopse da classe

abstract UI\Executor {
/* Constructor */
public __construct ( )
public __construct ( int $microseconds )
public __construct ( int $seconds , int $microseconds )
/* Métodos */
public kill ( ) : void
abstract protected onExecute ( ) : void
public setInterval ( int $microseconds ) : bool
public setInterval ( int $seconds , int $microseconds ) : bool
}

Índice

  • UI\Executor::__construct — Construct a new Executor
  • UI\Executor::kill — Stop Executor
  • UI\Executor::onExecute — Execution Callback
  • UI\Executor::setInterval — Interval Manipulation


Construct a new Executor

  • « UI\Executor
  • UI\Executor::kill »
  • PHP Manual
  • UI\Executor
  • Construct a new Executor

UI\Executor::__construct

(UI 2.0.0)

UI\Executor::__construct — Construct a new Executor

Descrição

public UI\Executor::__construct ( )
public UI\Executor::__construct ( int $microseconds )
public UI\Executor::__construct ( int $seconds , int $microseconds )

Shall construct an executor with the given interval, will not start executing until main loop is entered

Parâmetros

seconds

Seconds between executions

microseconds

Microseconds between executions


Stop Executor

  • « UI\Executor::__construct
  • UI\Executor::onExecute »
  • PHP Manual
  • UI\Executor
  • Stop Executor

UI\Executor::kill

(UI 2.0.0)

UI\Executor::kill — Stop Executor

Descrição

public UI\Executor::kill ( ) : void

Shall stop an executor, the executor cannot be restarted

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Execution Callback

  • « UI\Executor::kill
  • UI\Executor::setInterval »
  • PHP Manual
  • UI\Executor
  • Execution Callback

UI\Executor::onExecute

(UI 2.0.0)

UI\Executor::onExecute — Execution Callback

Descrição

abstract protected UI\Executor::onExecute ( ) : void

Shall be repetitively queued for execution in the main thread

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Interval Manipulation

  • « UI\Executor::onExecute
  • UI\Controls\Tab »
  • PHP Manual
  • UI\Executor
  • Interval Manipulation

UI\Executor::setInterval

(UI 2.0.0)

UI\Executor::setInterval — Interval Manipulation

Descrição

public UI\Executor::setInterval ( int $microseconds ) : bool
public UI\Executor::setInterval ( int $seconds , int $microseconds ) : bool

Shall set the new interval. An interval of 0 will pause the executor until a new interval has been set

Parâmetros

seconds

microseconds

Valor Retornado

Indication of success


Tab Control

(UI 0.9.9)

Introdução

A Tab can contain many pages of Controls, each with a title, each selectable by the user.

Sinopse da classe

UI\Controls\Tab extends UI\Control {
/* Propriedades */
protected $controls ;
/* Métodos */
public append ( string $name , UI\Control $control ) : int
public delete ( int $index ) : bool
public hasMargin ( int $page ) : bool
public insertAt ( string $name , int $page , UI\Control $control )
public pages ( ) : int
public setMargin ( int $page , bool $margin )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Propriedades

controls

Contains controls, should not be manipulated directly

Índice

  • UI\Controls\Tab::append — Append Page
  • UI\Controls\Tab::delete — Delete Page
  • UI\Controls\Tab::hasMargin — Margin Detection
  • UI\Controls\Tab::insertAt — Insert Page
  • UI\Controls\Tab::pages — Page Count
  • UI\Controls\Tab::setMargin — Set Margin


Append Page

  • « UI\Controls\Tab
  • UI\Controls\Tab::delete »
  • PHP Manual
  • UI\Controls\Tab
  • Append Page

UI\Controls\Tab::append

(UI 0.9.9)

UI\Controls\Tab::append — Append Page

Descrição

public UI\Controls\Tab::append ( string $name , UI\Control $control ) : int

Append a new page to this Tab

Parâmetros

name

The name for the new page

control

The control for the new page

Valor Retornado

Shall return the index of the appended control, may be 0


Delete Page

  • « UI\Controls\Tab::append
  • UI\Controls\Tab::hasMargin »
  • PHP Manual
  • UI\Controls\Tab
  • Delete Page

UI\Controls\Tab::delete

(UI 0.9.9)

UI\Controls\Tab::delete — Delete Page

Descrição

public UI\Controls\Tab::delete ( int $index ) : bool

Shall remove the selected page from this Tab

Parâmetros

index

The index of the page to remove

Valor Retornado

Indication of success


Margin Detection

  • « UI\Controls\Tab::delete
  • UI\Controls\Tab::insertAt »
  • PHP Manual
  • UI\Controls\Tab
  • Margin Detection

UI\Controls\Tab::hasMargin

(UI 0.9.9)

UI\Controls\Tab::hasMargin — Margin Detection

Descrição

public UI\Controls\Tab::hasMargin ( int $page ) : bool

Shall detect if the given page has a margin.

Parâmetros

page

The index of the page

Valor Retornado


Insert Page

  • « UI\Controls\Tab::hasMargin
  • UI\Controls\Tab::pages »
  • PHP Manual
  • UI\Controls\Tab
  • Insert Page

UI\Controls\Tab::insertAt

(UI 0.9.9)

UI\Controls\Tab::insertAt — Insert Page

Descrição

public UI\Controls\Tab::insertAt ( string $name , int $page , UI\Control $control )

Shall insert a new page into this Tab

Parâmetros

name

The name for the new page

page

The index to perform the insertion before

control

The control for the new page


Page Count

  • « UI\Controls\Tab::insertAt
  • UI\Controls\Tab::setMargin »
  • PHP Manual
  • UI\Controls\Tab
  • Page Count

UI\Controls\Tab::pages

(UI 0.9.9)

UI\Controls\Tab::pages — Page Count

Descrição

public UI\Controls\Tab::pages ( ) : int

Shall return the number of pages in this Tab

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The number of pages in this Tab


Set Margin

  • « UI\Controls\Tab::pages
  • UI\Controls\Check »
  • PHP Manual
  • UI\Controls\Tab
  • Set Margin

UI\Controls\Tab::setMargin

(UI 0.9.9)

UI\Controls\Tab::setMargin — Set Margin

Descrição

public UI\Controls\Tab::setMargin ( int $page , bool $margin )

Shall enable or disable margins on the selected page

Parâmetros

page

The page to select

margin

Margin switch


Check Control

(UI 0.9.9)

Introdução

A Check is a labelled checkable box

Sinopse da classe

UI\Controls\Check extends UI\Control {
/* Constructor */
public __construct ( string $text )
/* Métodos */
public getText ( ) : string
public isChecked ( ) : bool
protected onToggle ( )
public setChecked ( bool $checked )
public setText ( string $text )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Índice

  • UI\Controls\Check::__construct — Construct a new Check
  • UI\Controls\Check::getText — Get Text
  • UI\Controls\Check::isChecked — Checked Detection
  • UI\Controls\Check::onToggle — Toggle Callback
  • UI\Controls\Check::setChecked — Set Checked
  • UI\Controls\Check::setText — Set Text


Construct a new Check

  • « UI\Controls\Check
  • UI\Controls\Check::getText »
  • PHP Manual
  • UI\Controls\Check
  • Construct a new Check

UI\Controls\Check::__construct

(UI 0.9.9)

UI\Controls\Check::__construct — Construct a new Check

Descrição

public UI\Controls\Check::__construct ( string $text )

Shall construct a new Check

Parâmetros

text

The text (label) for the Check box


Get Text

  • « UI\Controls\Check::__construct
  • UI\Controls\Check::isChecked »
  • PHP Manual
  • UI\Controls\Check
  • Get Text

UI\Controls\Check::getText

(UI 0.9.9)

UI\Controls\Check::getText — Get Text

Descrição

public UI\Controls\Check::getText ( ) : string

Shall return the text (label) for this Check

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current text (label)


Checked Detection

  • « UI\Controls\Check::getText
  • UI\Controls\Check::onToggle »
  • PHP Manual
  • UI\Controls\Check
  • Checked Detection

UI\Controls\Check::isChecked

(UI 0.9.9)

UI\Controls\Check::isChecked — Checked Detection

Descrição

public UI\Controls\Check::isChecked ( ) : bool

Shall detect the status of this Check

Parâmetros

Esta função não possui parâmetros.


Toggle Callback

  • « UI\Controls\Check::isChecked
  • UI\Controls\Check::setChecked »
  • PHP Manual
  • UI\Controls\Check
  • Toggle Callback

UI\Controls\Check::onToggle

(UI 0.9.9)

UI\Controls\Check::onToggle — Toggle Callback

Descrição

protected UI\Controls\Check::onToggle ( )

Shall be executed when the status of this Check is changed

Parâmetros

Esta função não possui parâmetros.


Set Checked

  • « UI\Controls\Check::onToggle
  • UI\Controls\Check::setText »
  • PHP Manual
  • UI\Controls\Check
  • Set Checked

UI\Controls\Check::setChecked

(UI 0.9.9)

UI\Controls\Check::setChecked — Set Checked

Descrição

public UI\Controls\Check::setChecked ( bool $checked )

Shall change the status of this Check

Parâmetros

checked

The new status


Set Text

  • « UI\Controls\Check::setChecked
  • UI\Controls\Button »
  • PHP Manual
  • UI\Controls\Check
  • Set Text

UI\Controls\Check::setText

(UI 0.9.9)

UI\Controls\Check::setText — Set Text

Descrição

public UI\Controls\Check::setText ( string $text )

Shall set the text (label) for this Check

Parâmetros

text

The new text (label)


Button Control

(UI 0.9.9)

Introdução

Represents a labelled clickable button

Sinopse da classe

UI\Controls\Button extends UI\Control {
/* Constructor */
public __construct ( string $text )
/* Métodos */
public getText ( ) : string
protected onClick ( )
public setText ( string $text )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Índice

  • UI\Controls\Button::__construct — Construct a new Button
  • UI\Controls\Button::getText — Get Text
  • UI\Controls\Button::onClick — Click Handler
  • UI\Controls\Button::setText — Set Text


Construct a new Button

  • « UI\Controls\Button
  • UI\Controls\Button::getText »
  • PHP Manual
  • UI\Controls\Button
  • Construct a new Button

UI\Controls\Button::__construct

(UI 0.9.9)

UI\Controls\Button::__construct — Construct a new Button

Descrição

public UI\Controls\Button::__construct ( string $text )

Shall construct a new Button

Parâmetros

text

The text (label) for this Button


Get Text

  • « UI\Controls\Button::__construct
  • UI\Controls\Button::onClick »
  • PHP Manual
  • UI\Controls\Button
  • Get Text

UI\Controls\Button::getText

(UI 0.9.9)

UI\Controls\Button::getText — Get Text

Descrição

public UI\Controls\Button::getText ( ) : string

Shall retrieve the text (label) for this Button

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current text (label)


Click Handler

  • « UI\Controls\Button::getText
  • UI\Controls\Button::setText »
  • PHP Manual
  • UI\Controls\Button
  • Click Handler

UI\Controls\Button::onClick

(UI 0.9.9)

UI\Controls\Button::onClick — Click Handler

Descrição

protected UI\Controls\Button::onClick ( )

Shall be executed when this Button is clicked

Parâmetros

Esta função não possui parâmetros.


Set Text

  • « UI\Controls\Button::onClick
  • UI\Controls\ColorButton »
  • PHP Manual
  • UI\Controls\Button
  • Set Text

UI\Controls\Button::setText

(UI 0.9.9)

UI\Controls\Button::setText — Set Text

Descrição

public UI\Controls\Button::setText ( string $text )

Shall set the text (label) for this Button

Parâmetros

text

The new text (label)


ColorButton Control

(UI 0.9.9)

Introdução

A Color Button is a button which displays a color picker when clicked

Sinopse da classe

UI\Controls\ColorButton extends UI\Control {
/* Métodos */
public getColor ( ) : UI\Color
protected onChange ( )
public setColor ( UI\Draw\Color $color )
public setColor ( int $color )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Índice

  • UI\Controls\ColorButton::getColor — Get Color
  • UI\Controls\ColorButton::onChange — Change Handler
  • UI\Controls\ColorButton::setColor — Set Color


Get Color

  • « UI\Controls\ColorButton
  • UI\Controls\ColorButton::onChange »
  • PHP Manual
  • UI\Controls\ColorButton
  • Get Color

UI\Controls\ColorButton::getColor

(UI 0.9.9)

UI\Controls\ColorButton::getColor — Get Color

Descrição

public UI\Controls\ColorButton::getColor ( ) : UI\Color

Shall retrieve the currently selected Color

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Change Handler

  • « UI\Controls\ColorButton::getColor
  • UI\Controls\ColorButton::setColor »
  • PHP Manual
  • UI\Controls\ColorButton
  • Change Handler

UI\Controls\ColorButton::onChange

(UI 0.9.9)

UI\Controls\ColorButton::onChange — Change Handler

Descrição

protected UI\Controls\ColorButton::onChange ( )

Shall be executed when the selected Color is changed

Parâmetros

Esta função não possui parâmetros.


Set Color

  • « UI\Controls\ColorButton::onChange
  • UI\Controls\Label »
  • PHP Manual
  • UI\Controls\ColorButton
  • Set Color

UI\Controls\ColorButton::setColor

(UI 0.9.9)

UI\Controls\ColorButton::setColor — Set Color

Descrição

public UI\Controls\ColorButton::setColor ( UI\Draw\Color $color )
public UI\Controls\ColorButton::setColor ( int $color )

Shall set the currently selected Color

Parâmetros

color

The new color


Label Control

(UI 0.9.9)

Introdução

A Label is a single line of text, meant to identify, for the user, some element of the interface.

Sinopse da classe

UI\Controls\Label extends UI\Control {
/* Constructor */
public __construct ( string $text )
/* Métodos */
public getText ( ) : string
public setText ( string $text )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Índice

  • UI\Controls\Label::__construct — Construct a new Label
  • UI\Controls\Label::getText — Get Text
  • UI\Controls\Label::setText — Set Text


Construct a new Label

  • « UI\Controls\Label
  • UI\Controls\Label::getText »
  • PHP Manual
  • UI\Controls\Label
  • Construct a new Label

UI\Controls\Label::__construct

(UI 0.9.9)

UI\Controls\Label::__construct — Construct a new Label

Descrição

public UI\Controls\Label::__construct ( string $text )

Shall construct a new Label

Parâmetros

text

The text for this label


Get Text

  • « UI\Controls\Label::__construct
  • UI\Controls\Label::setText »
  • PHP Manual
  • UI\Controls\Label
  • Get Text

UI\Controls\Label::getText

(UI 0.9.9)

UI\Controls\Label::getText — Get Text

Descrição

public UI\Controls\Label::getText ( ) : string

Shall return the current text for this Label

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Set Text

  • « UI\Controls\Label::getText
  • UI\Controls\Entry »
  • PHP Manual
  • UI\Controls\Label
  • Set Text

UI\Controls\Label::setText

(UI 0.9.9)

UI\Controls\Label::setText — Set Text

Descrição

public UI\Controls\Label::setText ( string $text )

Shall set the text for this Label

Parâmetros

text

The new text


Entry Control

(UI 0.9.9)

Introdução

An Entry is a text entry control, suitable for entering plain text, passwords, or search terms.

Sinopse da classe

UI\Controls\Entry extends UI\Control {
/* Constants */
const int Normal ;
const int Password ;
const int Search ;
/* Constructor */
public __construct ( int $type = UI\Controls\Entry::Normal )
/* Métodos */
public getText ( ) : string
public isReadOnly ( ) : bool
protected onChange ( )
public setReadOnly ( bool $readOnly )
public setText ( string $text )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Constantes pré-definidas

UI\Controls\Entry::Normal

A normal single line entry

UI\Controls\Entry::Password

A password entry

UI\Controls\Entry::Search

A search entry

Índice

  • UI\Controls\Entry::__construct — Construct a new Entry
  • UI\Controls\Entry::getText — Get Text
  • UI\Controls\Entry::isReadOnly — Detect Read Only
  • UI\Controls\Entry::onChange — Change Handler
  • UI\Controls\Entry::setReadOnly — Set Read Only
  • UI\Controls\Entry::setText — Set Text


Construct a new Entry

  • « UI\Controls\Entry
  • UI\Controls\Entry::getText »
  • PHP Manual
  • UI\Controls\Entry
  • Construct a new Entry

UI\Controls\Entry::__construct

(UI 0.9.9)

UI\Controls\Entry::__construct — Construct a new Entry

Descrição

public UI\Controls\Entry::__construct ( int $type = UI\Controls\Entry::Normal )

Construct a new entry of the given type

Parâmetros

type

Entry::Normal, Entry::Password, or Entry::Search


Get Text

  • « UI\Controls\Entry::__construct
  • UI\Controls\Entry::isReadOnly »
  • PHP Manual
  • UI\Controls\Entry
  • Get Text

UI\Controls\Entry::getText

(UI 0.9.9)

UI\Controls\Entry::getText — Get Text

Descrição

public UI\Controls\Entry::getText ( ) : string

Shall return the current text from this Entry

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current text


Detect Read Only

  • « UI\Controls\Entry::getText
  • UI\Controls\Entry::onChange »
  • PHP Manual
  • UI\Controls\Entry
  • Detect Read Only

UI\Controls\Entry::isReadOnly

(UI 0.9.9)

UI\Controls\Entry::isReadOnly — Detect Read Only

Descrição

public UI\Controls\Entry::isReadOnly ( ) : bool

Shall detect if this Entry is read only

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Change Handler

  • « UI\Controls\Entry::isReadOnly
  • UI\Controls\Entry::setReadOnly »
  • PHP Manual
  • UI\Controls\Entry
  • Change Handler

UI\Controls\Entry::onChange

(UI 0.9.9)

UI\Controls\Entry::onChange — Change Handler

Descrição

protected UI\Controls\Entry::onChange ( )

Shall be executed when the text in this Entry changes

Parâmetros

Esta função não possui parâmetros.


Set Read Only

  • « UI\Controls\Entry::onChange
  • UI\Controls\Entry::setText »
  • PHP Manual
  • UI\Controls\Entry
  • Set Read Only

UI\Controls\Entry::setReadOnly

(UI 0.9.9)

UI\Controls\Entry::setReadOnly — Set Read Only

Descrição

public UI\Controls\Entry::setReadOnly ( bool $readOnly )

Shall enable or disable read only for this Entry

Parâmetros

readOnly


Set Text

  • « UI\Controls\Entry::setReadOnly
  • UI\Controls\MultilineEntry »
  • PHP Manual
  • UI\Controls\Entry
  • Set Text

UI\Controls\Entry::setText

(UI 0.9.9)

UI\Controls\Entry::setText — Set Text

Descrição

public UI\Controls\Entry::setText ( string $text )

Shall set the text for this Entry

Parâmetros

text

The new text


MultilineEntry Control

(UI 0.9.9)

Introdução

A Multiline Entry is a text entry control able to hold multiple lines of text, with or without wrapping.

Sinopse da classe

UI\Controls\MultilineEntry extends UI\Control {
/* Constants */
const int Wrap ;
const int NoWrap ;
/* Constructor */
public __construct ( int $type = ? )
/* Métodos */
public append ( string $text )
public getText ( ) : string
public isReadOnly ( ) : bool
protected onChange ( )
public setReadOnly ( bool $readOnly )
public setText ( string $text )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Constantes pré-definidas

UI\Controls\MultilineEntry::Wrap

Allow lines to wrap

UI\Controls\MultilineEntry::NoWrap

Do not allow lines to wrap

Índice

  • UI\Controls\MultilineEntry::append — Append Text
  • UI\Controls\MultilineEntry::__construct — Construct a new Multiline Entry
  • UI\Controls\MultilineEntry::getText — Get Text
  • UI\Controls\MultilineEntry::isReadOnly — Read Only Detection
  • UI\Controls\MultilineEntry::onChange — Change Handler
  • UI\Controls\MultilineEntry::setReadOnly — Set Read Only
  • UI\Controls\MultilineEntry::setText — Set Text


Append Text

  • « UI\Controls\MultilineEntry
  • UI\Controls\MultilineEntry::__construct »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Append Text

UI\Controls\MultilineEntry::append

(UI 0.9.9)

UI\Controls\MultilineEntry::append — Append Text

Descrição

public UI\Controls\MultilineEntry::append ( string $text )

Shall append the given text to the text in this Multiline Entry

Parâmetros

text

The text to append


Construct a new Multiline Entry

  • « UI\Controls\MultilineEntry::append
  • UI\Controls\MultilineEntry::getText »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Construct a new Multiline Entry

UI\Controls\MultilineEntry::__construct

(UI 0.9.9)

UI\Controls\MultilineEntry::__construct — Construct a new Multiline Entry

Descrição

public UI\Controls\MultilineEntry::__construct ( int $type = ? )

Shall construct a new Multiline Entry of the given type

Parâmetros

type

MultilineEntry::Wrap or MultilineEntry::NoWrap


Get Text

  • « UI\Controls\MultilineEntry::__construct
  • UI\Controls\MultilineEntry::isReadOnly »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Get Text

UI\Controls\MultilineEntry::getText

(UI 0.9.9)

UI\Controls\MultilineEntry::getText — Get Text

Descrição

public UI\Controls\MultilineEntry::getText ( ) : string

Shall return the text in this Multiline Entry

Parâmetros

Esta função não possui parâmetros.


Read Only Detection

  • « UI\Controls\MultilineEntry::getText
  • UI\Controls\MultilineEntry::onChange »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Read Only Detection

UI\Controls\MultilineEntry::isReadOnly

(UI 0.9.9)

UI\Controls\MultilineEntry::isReadOnly — Read Only Detection

Descrição

public UI\Controls\MultilineEntry::isReadOnly ( ) : bool

Shall detect if this Multiline Entry is read only

Parâmetros

Esta função não possui parâmetros.


Change Handler

  • « UI\Controls\MultilineEntry::isReadOnly
  • UI\Controls\MultilineEntry::setReadOnly »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Change Handler

UI\Controls\MultilineEntry::onChange

(UI 0.9.9)

UI\Controls\MultilineEntry::onChange — Change Handler

Descrição

protected UI\Controls\MultilineEntry::onChange ( )

Shall be executed when the text in this Multiline Entry is changed

Parâmetros

Esta função não possui parâmetros.


Set Read Only

  • « UI\Controls\MultilineEntry::onChange
  • UI\Controls\MultilineEntry::setText »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Set Read Only

UI\Controls\MultilineEntry::setReadOnly

(UI 0.9.9)

UI\Controls\MultilineEntry::setReadOnly — Set Read Only

Descrição

public UI\Controls\MultilineEntry::setReadOnly ( bool $readOnly )

Shall enable or disable read only on this Multiline Entry

Parâmetros

readOnly


Set Text

  • « UI\Controls\MultilineEntry::setReadOnly
  • UI\Controls\Spin »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Set Text

UI\Controls\MultilineEntry::setText

(UI 0.9.9)

UI\Controls\MultilineEntry::setText — Set Text

Descrição

public UI\Controls\MultilineEntry::setText ( string $text )

Shall set the text in this Multiline Entry

Parâmetros

text

The new text


Spin Control

(UI 0.9.9)

Introdução

A Spin box is a text box with an up-down control which changes the integer value in the box, within a defined range

Sinopse da classe

UI\Controls\Spin extends UI\Control {
/* Constructor */
public __construct ( int $min , int $max )
/* Métodos */
public getValue ( ) : int
protected onChange ( )
public setValue ( int $value )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Índice

  • UI\Controls\Spin::__construct — Construct a new Spin
  • UI\Controls\Spin::getValue — Get Value
  • UI\Controls\Spin::onChange — Change Handler
  • UI\Controls\Spin::setValue — Set Value


Construct a new Spin

  • « UI\Controls\Spin
  • UI\Controls\Spin::getValue »
  • PHP Manual
  • UI\Controls\Spin
  • Construct a new Spin

UI\Controls\Spin::__construct

(UI 0.9.9)

UI\Controls\Spin::__construct — Construct a new Spin

Descrição

public UI\Controls\Spin::__construct ( int $min , int $max )

Constructs a new Spin with the given range

Parâmetros

min

The minimum value allowed

max

The maximum value allowed


Get Value

  • « UI\Controls\Spin::__construct
  • UI\Controls\Spin::onChange »
  • PHP Manual
  • UI\Controls\Spin
  • Get Value

UI\Controls\Spin::getValue

(UI 0.9.9)

UI\Controls\Spin::getValue — Get Value

Descrição

public UI\Controls\Spin::getValue ( ) : int

Get the value in this Spin

Parâmetros

Esta função não possui parâmetros.


Change Handler

  • « UI\Controls\Spin::getValue
  • UI\Controls\Spin::setValue »
  • PHP Manual
  • UI\Controls\Spin
  • Change Handler

UI\Controls\Spin::onChange

(UI 0.9.9)

UI\Controls\Spin::onChange — Change Handler

Descrição

protected UI\Controls\Spin::onChange ( )

Shall be executed when the value in this Spin changes

Parâmetros

Esta função não possui parâmetros.


Set Value

  • « UI\Controls\Spin::onChange
  • UI\Controls\Slider »
  • PHP Manual
  • UI\Controls\Spin
  • Set Value

UI\Controls\Spin::setValue

(UI 0.9.9)

UI\Controls\Spin::setValue — Set Value

Descrição

public UI\Controls\Spin::setValue ( int $value )

Set the value in this Spin

Parâmetros

value

The new value


Slider Control

(UI 0.9.9)

Introdução

A Slider is a control which represents a range, and a current value in the range. The sliding element of the control (sometimes called the "thumb") reflects the value, and can be adjusted within the range.

Sinopse da classe

UI\Controls\Slider extends UI\Control {
/* Constructor */
public __construct ( int $min , int $max )
/* Métodos */
public getValue ( ) : int
protected onChange ( )
public setValue ( int $value )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Índice

  • UI\Controls\Slider::__construct — Construct a new Slider
  • UI\Controls\Slider::getValue — Get Value
  • UI\Controls\Slider::onChange — Change Handler
  • UI\Controls\Slider::setValue — Set Value


Construct a new Slider

  • « UI\Controls\Slider
  • UI\Controls\Slider::getValue »
  • PHP Manual
  • UI\Controls\Slider
  • Construct a new Slider

UI\Controls\Slider::__construct

(UI 0.9.9)

UI\Controls\Slider::__construct — Construct a new Slider

Descrição

public UI\Controls\Slider::__construct ( int $min , int $max )

Construct a new Slider with the given range

Parâmetros

min

The minimum allowed value

max

The maximum allowed value


Get Value

  • « UI\Controls\Slider::__construct
  • UI\Controls\Slider::onChange »
  • PHP Manual
  • UI\Controls\Slider
  • Get Value

UI\Controls\Slider::getValue

(UI 0.9.9)

UI\Controls\Slider::getValue — Get Value

Descrição

public UI\Controls\Slider::getValue ( ) : int

Get the value from this Slider

Parâmetros

Esta função não possui parâmetros.


Change Handler

  • « UI\Controls\Slider::getValue
  • UI\Controls\Slider::setValue »
  • PHP Manual
  • UI\Controls\Slider
  • Change Handler

UI\Controls\Slider::onChange

(UI 0.9.9)

UI\Controls\Slider::onChange — Change Handler

Descrição

protected UI\Controls\Slider::onChange ( )

Shall be executed when the value of this Slider changes

Parâmetros

Esta função não possui parâmetros.


Set Value

  • « UI\Controls\Slider::onChange
  • UI\Controls\Progress »
  • PHP Manual
  • UI\Controls\Slider
  • Set Value

UI\Controls\Slider::setValue

(UI 0.9.9)

UI\Controls\Slider::setValue — Set Value

Descrição

public UI\Controls\Slider::setValue ( int $value )

Shall set the value for this Slider

Parâmetros

value

The new value


Progress Control

(UI 0.9.9)

Introdução

A Progress control is a familiar Progress bar: It represents progress as a percentage, with a possible range of 0 to 100 (inclusive).

Sinopse da classe

UI\Controls\Progress extends UI\Control {
/* Métodos */
public getValue ( ) : int
public setValue ( int $value )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Índice

  • UI\Controls\Progress::getValue — Get Value
  • UI\Controls\Progress::setValue — Set Value


Get Value

  • « UI\Controls\Progress
  • UI\Controls\Progress::setValue »
  • PHP Manual
  • UI\Controls\Progress
  • Get Value

UI\Controls\Progress::getValue

(UI 0.9.9)

UI\Controls\Progress::getValue — Get Value

Descrição

public UI\Controls\Progress::getValue ( ) : int

Shall retrieve the current value of this Progress bar

Parâmetros

Esta função não possui parâmetros.


Set Value

  • « UI\Controls\Progress::getValue
  • UI\Controls\Separator »
  • PHP Manual
  • UI\Controls\Progress
  • Set Value

UI\Controls\Progress::setValue

(UI 0.9.9)

UI\Controls\Progress::setValue — Set Value

Descrição

public UI\Controls\Progress::setValue ( int $value )

Shall set the value for this Progress bar

Parâmetros

value

An integer between 0 and 100 (inclusive)


Control Separator

(UI 0.9.9)

Introdução

A Separator represents a control separator, it has no other function.

Sinopse da classe

UI\Controls\Separator extends UI\Control {
/* Constants */
const int Horizontal ;
const int Vertical ;
/* Constructor */
public __construct ( int $type = UI\Controls\Separator::Horizontal )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Constantes pré-definidas

UI\Controls\Separator::Horizontal

A Horizontal Separator

UI\Controls\Separator::Vertical

A Vertical Separator

Índice

  • UI\Controls\Separator::__construct — Construct a new Separator


Construct a new Separator

  • « UI\Controls\Separator
  • UI\Controls\Combo »
  • PHP Manual
  • UI\Controls\Separator
  • Construct a new Separator

UI\Controls\Separator::__construct

(UI 0.9.9)

UI\Controls\Separator::__construct — Construct a new Separator

Descrição

public UI\Controls\Separator::__construct ( int $type = UI\Controls\Separator::Horizontal )

Shall construct a new Separator of the given type

Parâmetros

type

Separator::Horizonal or Separator::Vertical


Combo Control

(UI 0.9.9)

Introdução

A Combo control represents a list of options, like the familiar select HTML element.

Sinopse da classe

UI\Controls\Combo extends UI\Control {
/* Métodos */
public append ( string $text )
public getSelected ( ) : int
protected onSelected ( )
public setSelected ( int $index )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Índice

  • UI\Controls\Combo::append — Append Option
  • UI\Controls\Combo::getSelected — Get Selected Option
  • UI\Controls\Combo::onSelected — Selected Handler
  • UI\Controls\Combo::setSelected — Set Selected Option


Append Option

  • « UI\Controls\Combo
  • UI\Controls\Combo::getSelected »
  • PHP Manual
  • UI\Controls\Combo
  • Append Option

UI\Controls\Combo::append

(UI 0.9.9)

UI\Controls\Combo::append — Append Option

Descrição

public UI\Controls\Combo::append ( string $text )

Append an option to this Combo

Parâmetros

text

The text for the new option


Get Selected Option

  • « UI\Controls\Combo::append
  • UI\Controls\Combo::onSelected »
  • PHP Manual
  • UI\Controls\Combo
  • Get Selected Option

UI\Controls\Combo::getSelected

(UI 0.9.9)

UI\Controls\Combo::getSelected — Get Selected Option

Descrição

public UI\Controls\Combo::getSelected ( ) : int

Shall retrieve the index of the option selected in this Combo

Parâmetros

Esta função não possui parâmetros.


Selected Handler

  • « UI\Controls\Combo::getSelected
  • UI\Controls\Combo::setSelected »
  • PHP Manual
  • UI\Controls\Combo
  • Selected Handler

UI\Controls\Combo::onSelected

(UI 0.9.9)

UI\Controls\Combo::onSelected — Selected Handler

Descrição

protected UI\Controls\Combo::onSelected ( )

Shall be executed when an option is selected in this Combo

Parâmetros

Esta função não possui parâmetros.


Set Selected Option

  • « UI\Controls\Combo::onSelected
  • UI\Controls\EditableCombo »
  • PHP Manual
  • UI\Controls\Combo
  • Set Selected Option

UI\Controls\Combo::setSelected

(UI 0.9.9)

UI\Controls\Combo::setSelected — Set Selected Option

Descrição

public UI\Controls\Combo::setSelected ( int $index )

Shall set the currently selected option in this Combo

Parâmetros

index

The index of the option to select


EdiableCombo Control

(UI 0.9.9)

Introdução

An Editable Combo is a Combo which allows the user to enter custom options

Sinopse da classe

UI\Controls\EditableCombo extends UI\Control {
/* Métodos */
public append ( string $text )
public getText ( ) : string
protected onChange ( )
public setText ( string $text )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Índice

  • UI\Controls\EditableCombo::append — Append Option
  • UI\Controls\EditableCombo::getText — Get Text
  • UI\Controls\EditableCombo::onChange — Change Handler
  • UI\Controls\EditableCombo::setText — Set Text


Append Option

  • « UI\Controls\EditableCombo
  • UI\Controls\EditableCombo::getText »
  • PHP Manual
  • UI\Controls\EditableCombo
  • Append Option

UI\Controls\EditableCombo::append

(UI 0.9.9)

UI\Controls\EditableCombo::append — Append Option

Descrição

public UI\Controls\EditableCombo::append ( string $text )

Shall append a new option to this Editable Combo

Parâmetros

text

The text for the new option


Get Text

  • « UI\Controls\EditableCombo::append
  • UI\Controls\EditableCombo::onChange »
  • PHP Manual
  • UI\Controls\EditableCombo
  • Get Text

UI\Controls\EditableCombo::getText

(UI 0.9.9)

UI\Controls\EditableCombo::getText — Get Text

Descrição

public UI\Controls\EditableCombo::getText ( ) : string

Get the value of the currently selected option in this Editable Combo

Parâmetros

Esta função não possui parâmetros.


Change Handler

  • « UI\Controls\EditableCombo::getText
  • UI\Controls\EditableCombo::setText »
  • PHP Manual
  • UI\Controls\EditableCombo
  • Change Handler

UI\Controls\EditableCombo::onChange

(UI 0.9.9)

UI\Controls\EditableCombo::onChange — Change Handler

Descrição

protected UI\Controls\EditableCombo::onChange ( )

Shall be executed when the value of this Editable Combobox changes

Parâmetros

Esta função não possui parâmetros.


Set Text

  • « UI\Controls\EditableCombo::onChange
  • UI\Controls\Radio »
  • PHP Manual
  • UI\Controls\EditableCombo
  • Set Text

UI\Controls\EditableCombo::setText

(UI 0.9.9)

UI\Controls\EditableCombo::setText — Set Text

Descrição

public UI\Controls\EditableCombo::setText ( string $text )

Shall set the text of the currently selected option in this Editable Combo

Parâmetros

text

The new text


Radio Control

(UI 0.9.9)

Introdução

A Radio is similar to the radio input type familiar from HTML

Sinopse da classe

UI\Controls\Radio extends UI\Control {
/* Métodos */
public append ( string $text )
public getSelected ( ) : int
protected onSelected ( )
public setSelected ( int $index )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Índice

  • UI\Controls\Radio::append — Append Option
  • UI\Controls\Radio::getSelected — Get Selected Option
  • UI\Controls\Radio::onSelected — Selected Handler
  • UI\Controls\Radio::setSelected — Set Selected Option


Append Option

  • « UI\Controls\Radio
  • UI\Controls\Radio::getSelected »
  • PHP Manual
  • UI\Controls\Radio
  • Append Option

UI\Controls\Radio::append

(UI 0.9.9)

UI\Controls\Radio::append — Append Option

Descrição

public UI\Controls\Radio::append ( string $text )

Shall append a new option to this Radio

Parâmetros

text

The text (label) for the option


Get Selected Option

  • « UI\Controls\Radio::append
  • UI\Controls\Radio::onSelected »
  • PHP Manual
  • UI\Controls\Radio
  • Get Selected Option

UI\Controls\Radio::getSelected

(UI 0.9.9)

UI\Controls\Radio::getSelected — Get Selected Option

Descrição

public UI\Controls\Radio::getSelected ( ) : int

Shall retrieve the index of the currently selected option in this Radio

Parâmetros

Esta função não possui parâmetros.


Selected Handler

  • « UI\Controls\Radio::getSelected
  • UI\Controls\Radio::setSelected »
  • PHP Manual
  • UI\Controls\Radio
  • Selected Handler

UI\Controls\Radio::onSelected

(UI 0.9.9)

UI\Controls\Radio::onSelected — Selected Handler

Descrição

protected UI\Controls\Radio::onSelected ( )

Shall be executed when the option selected in this Radio changes

Parâmetros

Esta função não possui parâmetros.


Set Selected Option

  • « UI\Controls\Radio::onSelected
  • UI\Controls\Picker »
  • PHP Manual
  • UI\Controls\Radio
  • Set Selected Option

UI\Controls\Radio::setSelected

(UI 0.9.9)

UI\Controls\Radio::setSelected — Set Selected Option

Descrição

public UI\Controls\Radio::setSelected ( int $index )

Shall set the currently selected option in this Radio

Parâmetros

index

The index of the option to select


Picker Control

(UI 0.9.9)

Introdução

A Picker represents a button which when clicked presents a native Date/Time/DateTime Picker interface to the user.

Sinopse da classe

UI\Controls\Picker extends UI\Control {
/* Constants */
const int Date ;
const int Time ;
const int DateTime ;
/* Constructor */
public __construct ( int $type = UI\Controls\Picker::Date )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Constantes pré-definidas

UI\Controls\Picker::Date

A Date Picker

UI\Controls\Picker::Time

A Time Picker

UI\Controls\Picker::DateTime

A Date and Time Picker

Índice

  • UI\Controls\Picker::__construct — Construct a new Picker


Construct a new Picker

  • « UI\Controls\Picker
  • UI\Controls\Form »
  • PHP Manual
  • UI\Controls\Picker
  • Construct a new Picker

UI\Controls\Picker::__construct

(UI 0.9.9)

UI\Controls\Picker::__construct — Construct a new Picker

Descrição

public UI\Controls\Picker::__construct ( int $type = UI\Controls\Picker::Date )

Construct a new Picker of the given type

Parâmetros

type

Picker::Date, Picker::Time, or Picker::DateTime


Control Form (Arrangement)

(UI 0.9.9)

Introdução

A Form is a control which allows the arrangement of other controls into a familiar layout (the form).

Sinopse da classe

UI\Controls\Form extends UI\Control {
/* Propriedades */
protected $controls ;
/* Métodos */
public append ( string $label , UI\Control $control , bool $stretchy = false ) : int
public delete ( int $index ) : bool
public isPadded ( ) : bool
public setPadded ( bool $padded )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Propriedades

controls

Contains controls, should not be manipulated directly

Índice

  • UI\Controls\Form::append — Append Control
  • UI\Controls\Form::delete — Delete Control
  • UI\Controls\Form::isPadded — Padding Detection
  • UI\Controls\Form::setPadded — Set Padding


Append Control

  • « UI\Controls\Form
  • UI\Controls\Form::delete »
  • PHP Manual
  • UI\Controls\Form
  • Append Control

UI\Controls\Form::append

(UI 0.9.9)

UI\Controls\Form::append — Append Control

Descrição

public UI\Controls\Form::append ( string $label , UI\Control $control , bool $stretchy = false ) : int

Shall append the control to the form, and set the label

Parâmetros

label

The text for the label

control

A control

stretchy

Should be set true to stretch the control

Valor Retornado

Shall return the index of the appended control, may be 0


Delete Control

  • « UI\Controls\Form::append
  • UI\Controls\Form::isPadded »
  • PHP Manual
  • UI\Controls\Form
  • Delete Control

UI\Controls\Form::delete

(UI 0.9.9)

UI\Controls\Form::delete — Delete Control

Descrição

public UI\Controls\Form::delete ( int $index ) : bool

Shall delete the control at the given index in this Form

Parâmetros

index

The index of the control to remove

Valor Retornado

Indication of succcess


Padding Detection

  • « UI\Controls\Form::delete
  • UI\Controls\Form::setPadded »
  • PHP Manual
  • UI\Controls\Form
  • Padding Detection

UI\Controls\Form::isPadded

(UI 0.9.9)

UI\Controls\Form::isPadded — Padding Detection

Descrição

public UI\Controls\Form::isPadded ( ) : bool

Shall detect if padding is enabled on this Form

Parâmetros

Esta função não possui parâmetros.


Set Padding

  • « UI\Controls\Form::isPadded
  • UI\Controls\Grid »
  • PHP Manual
  • UI\Controls\Form
  • Set Padding

UI\Controls\Form::setPadded

(UI 0.9.9)

UI\Controls\Form::setPadded — Set Padding

Descrição

public UI\Controls\Form::setPadded ( bool $padded )

Shall enable or disable padding on this Form

Parâmetros

padded


Control Grid (Arrangement)

(UI 0.9.9)

Introdução

A Grid is a control which is allows the arrangement of children into a grid

Sinopse da classe

UI\Controls\Grid extends UI\Control {
/* Constants */
const int Fill ;
const int Start ;
const int Center ;
const int End ;
const int Leading ;
const int Top ;
const int Trailing ;
const int Bottom ;
/* Propriedades */
protected $controls ;
/* Métodos */
public append ( UI\Control $control , int $left , int $top , int $xspan , int $yspan , bool $hexpand , int $halign , bool $vexpand , int $valign )
public isPadded ( ) : bool
public setPadded ( bool $padding )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Constantes pré-definidas

UI\Controls\Grid::Fill

UI\Controls\Grid::Start

UI\Controls\Grid::Center

UI\Controls\Grid::End

UI\Controls\Grid::Leading

UI\Controls\Grid::Top

UI\Controls\Grid::Trailing

UI\Controls\Grid::Bottom

Propriedades

controls

Contains controls, should not be manipulated directly

Índice

  • UI\Controls\Grid::append — Append Control
  • UI\Controls\Grid::isPadded — Padding Detection
  • UI\Controls\Grid::setPadded — Set Padding


Append Control

  • « UI\Controls\Grid
  • UI\Controls\Grid::isPadded »
  • PHP Manual
  • UI\Controls\Grid
  • Append Control

UI\Controls\Grid::append

(UI 0.9.9)

UI\Controls\Grid::append — Append Control

Descrição

public UI\Controls\Grid::append ( UI\Control $control , int $left , int $top , int $xspan , int $yspan , bool $hexpand , int $halign , bool $vexpand , int $valign )

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

control

The Control to append

left

top

xspan

yspan

hexpand

halign

vexpand

valign

Valor Retornado


Padding Detection

  • « UI\Controls\Grid::append
  • UI\Controls\Grid::setPadded »
  • PHP Manual
  • UI\Controls\Grid
  • Padding Detection

UI\Controls\Grid::isPadded

(UI 0.9.9)

UI\Controls\Grid::isPadded — Padding Detection

Descrição

public UI\Controls\Grid::isPadded ( ) : bool

Shall detect if padding is enabled on this Grid

Parâmetros

Esta função não possui parâmetros.


Set Padding

  • « UI\Controls\Grid::isPadded
  • UI\Controls\Group »
  • PHP Manual
  • UI\Controls\Grid
  • Set Padding

UI\Controls\Grid::setPadded

(UI 0.9.9)

UI\Controls\Grid::setPadded — Set Padding

Descrição

public UI\Controls\Grid::setPadded ( bool $padding )

Shall enable or disable padding for this Grid

Parâmetros

padding


Control Group (Arrangement)

(UI 0.9.9)

Introdução

A Group is a titled container for child controls

Sinopse da classe

UI\Controls\Group extends UI\Control {
/* Propriedades */
protected $controls ;
/* Constructor */
public __construct ( string $title )
/* Métodos */
public append ( UI\Control $control )
public getTitle ( ) : string
public hasMargin ( ) : bool
public setMargin ( bool $margin )
public setTitle ( string $title )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Propriedades

controls

Contains controls, should not be manipulated directly

Índice

  • UI\Controls\Group::append — Append Control
  • UI\Controls\Group::__construct — Construct a new Group
  • UI\Controls\Group::getTitle — Get Title
  • UI\Controls\Group::hasMargin — Margin Detection
  • UI\Controls\Group::setMargin — Set Margin
  • UI\Controls\Group::setTitle — Set Title


Append Control

  • « UI\Controls\Group
  • UI\Controls\Group::__construct »
  • PHP Manual
  • UI\Controls\Group
  • Append Control

UI\Controls\Group::append

(Não há informação de versão disponível, talvez apenas no Git)

UI\Controls\Group::append — Append Control

Descrição

public UI\Controls\Group::append ( UI\Control $control )

Shall append a control to this Group

Parâmetros

control

The control to append


Construct a new Group

  • « UI\Controls\Group::append
  • UI\Controls\Group::getTitle »
  • PHP Manual
  • UI\Controls\Group
  • Construct a new Group

UI\Controls\Group::__construct

(UI 0.9.9)

UI\Controls\Group::__construct — Construct a new Group

Descrição

public UI\Controls\Group::__construct ( string $title )

Shall construct a new Group with the given title

Parâmetros

title

The text for the title label


Get Title

  • « UI\Controls\Group::__construct
  • UI\Controls\Group::hasMargin »
  • PHP Manual
  • UI\Controls\Group
  • Get Title

UI\Controls\Group::getTitle

(UI 0.9.9)

UI\Controls\Group::getTitle — Get Title

Descrição

public UI\Controls\Group::getTitle ( ) : string

Shall return the current title for this Group

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current title


Margin Detection

  • « UI\Controls\Group::getTitle
  • UI\Controls\Group::setMargin »
  • PHP Manual
  • UI\Controls\Group
  • Margin Detection

UI\Controls\Group::hasMargin

(UI 0.9.9)

UI\Controls\Group::hasMargin — Margin Detection

Descrição

public UI\Controls\Group::hasMargin ( ) : bool

Shall detect if this Group has a margin

Parâmetros

Esta função não possui parâmetros.


Set Margin

  • « UI\Controls\Group::hasMargin
  • UI\Controls\Group::setTitle »
  • PHP Manual
  • UI\Controls\Group
  • Set Margin

UI\Controls\Group::setMargin

(UI 0.9.9)

UI\Controls\Group::setMargin — Set Margin

Descrição

public UI\Controls\Group::setMargin ( bool $margin )

Shall enable or disable margins for this Group

Parâmetros

margin


Set Title

  • « UI\Controls\Group::setMargin
  • UI\Controls\Box »
  • PHP Manual
  • UI\Controls\Group
  • Set Title

UI\Controls\Group::setTitle

(UI 0.9.9)

UI\Controls\Group::setTitle — Set Title

Descrição

public UI\Controls\Group::setTitle ( string $title )

Shall set the title for this Group

Parâmetros

title

The text for the new title


Control Box (Arrangement)

(UI 0.9.9)

Introdução

A Box allows the arrangement of other controls

Sinopse da classe

UI\Controls\Box extends UI\Control {
/* Constants */
const int Vertical ;
const int Horizontal ;
/* Propriedades */
protected $controls ;
/* Constructor */
public __construct ( int $orientation = UI\Controls\Box::Horizontal )
/* Métodos */
public append ( Control $control , bool $stretchy = false ) : int
public delete ( int $index ) : bool
public getOrientation ( ) : int
public isPadded ( ) : bool
public setPadded ( bool $padded )
/* Métodos herdados */
public UI\Control::destroy ( )
public UI\Control::disable ( )
public UI\Control::enable ( )
public UI\Control::getParent ( ) : UI\Control
public UI\Control::getTopLevel ( ) : int
public UI\Control::hide ( )
public UI\Control::isEnabled ( ) : bool
public UI\Control::isVisible ( ) : bool
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( )
}

Propriedades

controls

Contains controls, should not be manipulated directly

Constantes pré-definidas

UI\Controls\Box::Vertical

UI\Controls\Box::Horizontal

Índice

  • UI\Controls\Box::append — Append Control
  • UI\Controls\Box::__construct — Construct a new Box
  • UI\Controls\Box::delete — Delete Control
  • UI\Controls\Box::getOrientation — Get Orientation
  • UI\Controls\Box::isPadded — Padding Detection
  • UI\Controls\Box::setPadded — Set Padding


Append Control

  • « UI\Controls\Box
  • UI\Controls\Box::__construct »
  • PHP Manual
  • UI\Controls\Box
  • Append Control

UI\Controls\Box::append

(UI 0.9.9)

UI\Controls\Box::append — Append Control

Descrição

public UI\Controls\Box::append ( Control $control , bool $stretchy = false ) : int

Shall append the given control to this Box

Parâmetros

control

The control to append

stretchy

Set true to stretch the control

Valor Retornado

Shall return the index of the appended control, may be 0


Construct a new Box

  • « UI\Controls\Box::append
  • UI\Controls\Box::delete »
  • PHP Manual
  • UI\Controls\Box
  • Construct a new Box

UI\Controls\Box::__construct

(UI 0.9.9)

UI\Controls\Box::__construct — Construct a new Box

Descrição

public UI\Controls\Box::__construct ( int $orientation = UI\Controls\Box::Horizontal )

Shall construct a new box

Parâmetros

orientation

Box::Horizontal or Box::Vertical


Delete Control

  • « UI\Controls\Box::__construct
  • UI\Controls\Box::getOrientation »
  • PHP Manual
  • UI\Controls\Box
  • Delete Control

UI\Controls\Box::delete

(UI 0.9.9)

UI\Controls\Box::delete — Delete Control

Descrição

public UI\Controls\Box::delete ( int $index ) : bool

Shall delete the control at the given index from this Box

Parâmetros

index

The index of the control to delete

Valor Retornado

Indication of success


Get Orientation

  • « UI\Controls\Box::delete
  • UI\Controls\Box::isPadded »
  • PHP Manual
  • UI\Controls\Box
  • Get Orientation

UI\Controls\Box::getOrientation

(UI 0.9.9)

UI\Controls\Box::getOrientation — Get Orientation

Descrição

public UI\Controls\Box::getOrientation ( ) : int

Shall retrieve the orientation of this Box

Parâmetros

Esta função não possui parâmetros.


Padding Detection

  • « UI\Controls\Box::getOrientation
  • UI\Controls\Box::setPadded »
  • PHP Manual
  • UI\Controls\Box
  • Padding Detection

UI\Controls\Box::isPadded

(UI 0.9.9)

UI\Controls\Box::isPadded — Padding Detection

Descrição

public UI\Controls\Box::isPadded ( ) : bool

Shall detect if padding is enabled on this Box

Parâmetros

Esta função não possui parâmetros.


Set Padding

  • « UI\Controls\Box::isPadded
  • UI\Draw\Pen »
  • PHP Manual
  • UI\Controls\Box
  • Set Padding

UI\Controls\Box::setPadded

(UI 0.9.9)

UI\Controls\Box::setPadded — Set Padding

Descrição

public UI\Controls\Box::setPadded ( bool $padded )

Shall enable or disable padding on this Box

Parâmetros

padded


Draw Pen

(UI 0.9.9)

Introdução

The Pen is passed to the Area Draw event handler, it is used for clipping, filling, stroking, and writing to Draw Paths.

Sinopse da classe

final UI\Draw\Pen {
/* Métodos */
public clip ( UI\Draw\Path $path )
public fill ( UI\Draw\Path $path , UI\Draw\Brush $with )
public fill ( UI\Draw\Path $path , UI\Draw\Color $with )
public fill ( UI\Draw\Path $path , int $with )
public restore ( )
public save ( )
public stroke ( UI\Draw\Path $path , UI\Draw\Brush $with , UI\Draw\Stroke $stroke )
public stroke ( UI\Draw\Path $path , UI\Draw\Color $with , UI\Draw\Stroke $stroke )
public stroke ( UI\Draw\Path $path , int $with , UI\Draw\Stroke $stroke )
public transform ( UI\Draw\Matrix $matrix )
public write ( UI\Point $point , UI\Draw\Text\Layout $layout )
}

Índice

  • UI\Draw\Pen::clip — Clip a Path
  • UI\Draw\Pen::fill — Fill a Path
  • UI\Draw\Pen::restore — Restore
  • UI\Draw\Pen::save — Save
  • UI\Draw\Pen::stroke — Stroke a Path
  • UI\Draw\Pen::transform — Matrix Transform
  • UI\Draw\Pen::write — Draw Text at Point


Clip a Path

  • « UI\Draw\Pen
  • UI\Draw\Pen::fill »
  • PHP Manual
  • UI\Draw\Pen
  • Clip a Path

UI\Draw\Pen::clip

(UI 0.9.9)

UI\Draw\Pen::clip — Clip a Path

Descrição

public UI\Draw\Pen::clip ( UI\Draw\Path $path )

Shall clip the given Path

Parâmetros

path

The path to clip


Fill a Path

  • « UI\Draw\Pen::clip
  • UI\Draw\Pen::restore »
  • PHP Manual
  • UI\Draw\Pen
  • Fill a Path

UI\Draw\Pen::fill

(UI 0.9.9)

UI\Draw\Pen::fill — Fill a Path

Descrição

public UI\Draw\Pen::fill ( UI\Draw\Path $path , UI\Draw\Brush $with )
public UI\Draw\Pen::fill ( UI\Draw\Path $path , UI\Draw\Color $with )
public UI\Draw\Pen::fill ( UI\Draw\Path $path , int $with )

Shall fill the given path

Parâmetros

path

The path to fill

with

The color or brush to fill with


Restore

  • « UI\Draw\Pen::fill
  • UI\Draw\Pen::save »
  • PHP Manual
  • UI\Draw\Pen
  • Restore

UI\Draw\Pen::restore

(UI 0.9.9)

UI\Draw\Pen::restore — Restore

Descrição

public UI\Draw\Pen::restore ( )

Shall restore a previously saved Pen

Parâmetros

Esta função não possui parâmetros.


Save

  • « UI\Draw\Pen::restore
  • UI\Draw\Pen::stroke »
  • PHP Manual
  • UI\Draw\Pen
  • Save

UI\Draw\Pen::save

(UI 0.9.9)

UI\Draw\Pen::save — Save

Descrição

public UI\Draw\Pen::save ( )

Shall save the Pen

Parâmetros

Esta função não possui parâmetros.


Stroke a Path

  • « UI\Draw\Pen::save
  • UI\Draw\Pen::transform »
  • PHP Manual
  • UI\Draw\Pen
  • Stroke a Path

UI\Draw\Pen::stroke

(UI 0.9.9)

UI\Draw\Pen::stroke — Stroke a Path

Descrição

public UI\Draw\Pen::stroke ( UI\Draw\Path $path , UI\Draw\Brush $with , UI\Draw\Stroke $stroke )
public UI\Draw\Pen::stroke ( UI\Draw\Path $path , UI\Draw\Color $with , UI\Draw\Stroke $stroke )
public UI\Draw\Pen::stroke ( UI\Draw\Path $path , int $with , UI\Draw\Stroke $stroke )

Shall stroke the given path

Parâmetros

path

The path to stroke

with

The color or brush to stroke with

stroke

The configuration of the stroke


Matrix Transform

  • « UI\Draw\Pen::stroke
  • UI\Draw\Pen::write »
  • PHP Manual
  • UI\Draw\Pen
  • Matrix Transform

UI\Draw\Pen::transform

(UI 0.9.9)

UI\Draw\Pen::transform — Matrix Transform

Descrição

public UI\Draw\Pen::transform ( UI\Draw\Matrix $matrix )

Shall perform matrix transformation

Parâmetros

matrix

The matrix to use


Draw Text at Point

  • « UI\Draw\Pen::transform
  • UI\Draw\Path »
  • PHP Manual
  • UI\Draw\Pen
  • Draw Text at Point

UI\Draw\Pen::write

(UI 0.9.9)

UI\Draw\Pen::write — Draw Text at Point

Descrição

public UI\Draw\Pen::write ( UI\Point $point , UI\Draw\Text\Layout $layout )

Shall draw the given text layout at the given point

Parâmetros

point

The point to perform the drawing

layout

The layout of the text to draw


Draw Path

(UI 0.9.9)

Introdução

A Draw Path guides a Draw Pen, telling the Pen where to draw on an Area.

Sinopse da classe

UI\Draw\Path {
/* Constants */
const int Winding ;
const int Alternate ;
/* Constructor */
public __construct ( int $mode = UI\Draw\Path::Winding )
/* Métodos */
public addRectangle ( UI\Point $point , UI\Size $size )
public arcTo ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )
public bezierTo ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )
public closeFigure ( )
public end ( )
public lineTo ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )
public newFigure ( UI\Point $point )
public newFigureWithArc ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )
}

Constantes pré-definidas

UI\Draw\Path::Winding

This is the default draw path mode

UI\Draw\Path::Alternate

This is the alternate draw path mode

Índice

  • UI\Draw\Path::addRectangle — Draw a Rectangle
  • UI\Draw\Path::arcTo — Draw an Arc
  • UI\Draw\Path::bezierTo — Draw Bezier Curve
  • UI\Draw\Path::closeFigure — Close Figure
  • UI\Draw\Path::__construct — Construct a new Path
  • UI\Draw\Path::end — Finalize Path
  • UI\Draw\Path::lineTo — Draw a Line
  • UI\Draw\Path::newFigure — Draw Figure
  • UI\Draw\Path::newFigureWithArc — Draw Figure with Arc


Draw a Rectangle

  • « UI\Draw\Path
  • UI\Draw\Path::arcTo »
  • PHP Manual
  • UI\Draw\Path
  • Draw a Rectangle

UI\Draw\Path::addRectangle

(UI 0.9.9)

UI\Draw\Path::addRectangle — Draw a Rectangle

Descrição

public UI\Draw\Path::addRectangle ( UI\Point $point , UI\Size $size )

Shall map the path of a rectangle of the given size, at the given point

Parâmetros

point

The point to begin the shape

size

The size of the rectangle


Draw an Arc

  • « UI\Draw\Path::addRectangle
  • UI\Draw\Path::bezierTo »
  • PHP Manual
  • UI\Draw\Path
  • Draw an Arc

UI\Draw\Path::arcTo

(UI 0.9.9)

UI\Draw\Path::arcTo — Draw an Arc

Descrição

public UI\Draw\Path::arcTo ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )

Shall map the path for an arc

Parâmetros

point

The point to begin mapping

radius

The radius of the arc

angle

The angle of the arc

sweep

The sweep of the arc

negative

Valor Retornado


Draw Bezier Curve

  • « UI\Draw\Path::arcTo
  • UI\Draw\Path::closeFigure »
  • PHP Manual
  • UI\Draw\Path
  • Draw Bezier Curve

UI\Draw\Path::bezierTo

(UI 0.9.9)

UI\Draw\Path::bezierTo — Draw Bezier Curve

Descrição

public UI\Draw\Path::bezierTo ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )

Shall draw a bezier curve

Parâmetros

point

The point at which to begin mapping

radius

The radius of the curve

angle

The angle of the curve

sweep

The sweep of the curve

negative


Close Figure

  • « UI\Draw\Path::bezierTo
  • UI\Draw\Path::__construct »
  • PHP Manual
  • UI\Draw\Path
  • Close Figure

UI\Draw\Path::closeFigure

(UI 0.9.9)

UI\Draw\Path::closeFigure — Close Figure

Descrição

public UI\Draw\Path::closeFigure ( )

Shall close the current figure

Parâmetros

Esta função não possui parâmetros.


Construct a new Path

  • « UI\Draw\Path::closeFigure
  • UI\Draw\Path::end »
  • PHP Manual
  • UI\Draw\Path
  • Construct a new Path

UI\Draw\Path::__construct

(UI 0.9.9)

UI\Draw\Path::__construct — Construct a new Path

Descrição

public UI\Draw\Path::__construct ( int $mode = UI\Draw\Path::Winding )

Shall construct a new path in the given mode

Parâmetros

mode

Path::Winding or Path::Alternate


Finalize Path

  • « UI\Draw\Path::__construct
  • UI\Draw\Path::lineTo »
  • PHP Manual
  • UI\Draw\Path
  • Finalize Path

UI\Draw\Path::end

(UI 0.9.9)

UI\Draw\Path::end — Finalize Path

Descrição

public UI\Draw\Path::end ( )

Shall finalize this Path

Parâmetros

Esta função não possui parâmetros.


Draw a Line

  • « UI\Draw\Path::end
  • UI\Draw\Path::newFigure »
  • PHP Manual
  • UI\Draw\Path
  • Draw a Line

UI\Draw\Path::lineTo

(UI 0.9.9)

UI\Draw\Path::lineTo — Draw a Line

Descrição

public UI\Draw\Path::lineTo ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )

Shall map the path for a line

Parâmetros

point

The point to begin mapping

radius

angle

sweep

negative

Valor Retornado


Draw Figure

  • « UI\Draw\Path::lineTo
  • UI\Draw\Path::newFigureWithArc »
  • PHP Manual
  • UI\Draw\Path
  • Draw Figure

UI\Draw\Path::newFigure

(UI 0.9.9)

UI\Draw\Path::newFigure — Draw Figure

Descrição

public UI\Draw\Path::newFigure ( UI\Point $point )

Shall map a new figure at the given point

Parâmetros

point

The point to begin mapping


Draw Figure with Arc

  • « UI\Draw\Path::newFigure
  • UI\Draw\Matrix »
  • PHP Manual
  • UI\Draw\Path
  • Draw Figure with Arc

UI\Draw\Path::newFigureWithArc

(UI 0.9.9)

UI\Draw\Path::newFigureWithArc — Draw Figure with Arc

Descrição

public UI\Draw\Path::newFigureWithArc ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )

Parâmetros

point

radius

angle

sweep

negative

Valor Retornado


Draw Matrix

(UI 0.9.9)

Introdução

Sinopse da classe

UI\Draw\Matrix {
/* Métodos */
public invert ( )
public isInvertible ( ) : bool
public multiply ( UI\Draw\Matrix $matrix ) : UI\Draw\Matrix
public rotate ( UI\Point $point , float $amount )
public scale ( UI\Point $center , UI\Point $point )
public skew ( UI\Point $point , UI\Point $amount )
public translate ( UI\Point $point )
}

Índice

  • UI\Draw\Matrix::invert — Invert Matrix
  • UI\Draw\Matrix::isInvertible — Invertible Detection
  • UI\Draw\Matrix::multiply — Multiply Matrix
  • UI\Draw\Matrix::rotate — Rotate Matrix
  • UI\Draw\Matrix::scale — Scale Matrix
  • UI\Draw\Matrix::skew — Skew Matrix
  • UI\Draw\Matrix::translate — Translate Matrix


Invert Matrix

  • « UI\Draw\Matrix
  • UI\Draw\Matrix::isInvertible »
  • PHP Manual
  • UI\Draw\Matrix
  • Invert Matrix

UI\Draw\Matrix::invert

(UI 0.9.9)

UI\Draw\Matrix::invert — Invert Matrix

Descrição

public UI\Draw\Matrix::invert ( )

Shall invert this matrix

Parâmetros

Esta função não possui parâmetros.


Invertible Detection

  • « UI\Draw\Matrix::invert
  • UI\Draw\Matrix::multiply »
  • PHP Manual
  • UI\Draw\Matrix
  • Invertible Detection

UI\Draw\Matrix::isInvertible

(UI 0.9.9)

UI\Draw\Matrix::isInvertible — Invertible Detection

Descrição

public UI\Draw\Matrix::isInvertible ( ) : bool

Shall detect if this Matrix may be inverted

Parâmetros

Esta função não possui parâmetros.


Multiply Matrix

  • « UI\Draw\Matrix::isInvertible
  • UI\Draw\Matrix::rotate »
  • PHP Manual
  • UI\Draw\Matrix
  • Multiply Matrix

UI\Draw\Matrix::multiply

(UI 0.9.9)

UI\Draw\Matrix::multiply — Multiply Matrix

Descrição

public UI\Draw\Matrix::multiply ( UI\Draw\Matrix $matrix ) : UI\Draw\Matrix

Shall multiply this matrix with the given matrix

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The new Matrix


Rotate Matrix

  • « UI\Draw\Matrix::multiply
  • UI\Draw\Matrix::scale »
  • PHP Manual
  • UI\Draw\Matrix
  • Rotate Matrix

UI\Draw\Matrix::rotate

(UI 0.9.9)

UI\Draw\Matrix::rotate — Rotate Matrix

Descrição

public UI\Draw\Matrix::rotate ( UI\Point $point , float $amount )

Shall rotate this Matrix

Parâmetros

point

amount


Scale Matrix

  • « UI\Draw\Matrix::rotate
  • UI\Draw\Matrix::skew »
  • PHP Manual
  • UI\Draw\Matrix
  • Scale Matrix

UI\Draw\Matrix::scale

(UI 0.9.9)

UI\Draw\Matrix::scale — Scale Matrix

Descrição

public UI\Draw\Matrix::scale ( UI\Point $center , UI\Point $point )

Shall scale this Matrix

Parâmetros

center

point


Skew Matrix

  • « UI\Draw\Matrix::scale
  • UI\Draw\Matrix::translate »
  • PHP Manual
  • UI\Draw\Matrix
  • Skew Matrix

UI\Draw\Matrix::skew

(UI 0.9.9)

UI\Draw\Matrix::skew — Skew Matrix

Descrição

public UI\Draw\Matrix::skew ( UI\Point $point , UI\Point $amount )

Shall skew this Matrix

Parâmetros

point

amount


Translate Matrix

  • « UI\Draw\Matrix::skew
  • UI\Draw\Color »
  • PHP Manual
  • UI\Draw\Matrix
  • Translate Matrix

UI\Draw\Matrix::translate

(UI 0.9.9)

UI\Draw\Matrix::translate — Translate Matrix

Descrição

public UI\Draw\Matrix::translate ( UI\Point $point )

Shall translate this Matrix

Parâmetros

point


Color Representation

(UI 0.9.9)

Introdução

Represents RGBA colours, individual channels are accessible via public properties.

Sinopse da classe

UI\Draw\Color {
/* Constants */
const int Red ;
const int Green ;
const int Blue ;
const int Alpha ;
/* Propriedades */
public $r ;
public $g ;
public $b ;
public $a ;
/* Constructor */
public __construct ( UI\Draw\Color $color = ? )
public __construct ( int $color = ? )
/* Métodos */
public getChannel ( int $channel ) : float
public setChannel ( int $channel , float $value ) : void
}

Propriedades

r

Provides access to the red channel

g

Provides access to the green channel

b

Provides access to the blue channel

a

Provides access to the alpha channel

Constantes pré-definidas

UI\Draw\Color::Red

Identifies the red channel

UI\Draw\Color::Green

Identifies the green channel

UI\Draw\Color::Blue

Identifies the blue channel

UI\Draw\Color::Alpha

Identifies the alpha channel

Índice

  • UI\Draw\Color::__construct — Construct new Color
  • UI\Draw\Color::getChannel — Color Manipulation
  • UI\Draw\Color::setChannel — Color Manipulation


Construct new Color

  • « UI\Draw\Color
  • UI\Draw\Color::getChannel »
  • PHP Manual
  • UI\Draw\Color
  • Construct new Color

UI\Draw\Color::__construct

(UI 0.9.9)

UI\Draw\Color::__construct — Construct new Color

Descrição

public UI\Draw\Color::__construct ( UI\Draw\Color $color = ? )
public UI\Draw\Color::__construct ( int $color = ? )

Shall construct a new color

Parâmetros

color

May be UI\Draw\Color or RRGGBBAA


Color Manipulation

  • « UI\Draw\Color::__construct
  • UI\Draw\Color::setChannel »
  • PHP Manual
  • UI\Draw\Color
  • Color Manipulation

UI\Draw\Color::getChannel

(UI 0.9.9)

UI\Draw\Color::getChannel — Color Manipulation

Descrição

public UI\Draw\Color::getChannel ( int $channel ) : float

Shall retrieve the value for a channel

Parâmetros

channel

Constant channel identity

Valor Retornado

The current value of the requested channel


Color Manipulation

  • « UI\Draw\Color::getChannel
  • UI\Draw\Stroke »
  • PHP Manual
  • UI\Draw\Color
  • Color Manipulation

UI\Draw\Color::setChannel

(UI 0.9.9)

UI\Draw\Color::setChannel — Color Manipulation

Descrição

public UI\Draw\Color::setChannel ( int $channel , float $value ) : void

Shall set the selected channel to the given value

Parâmetros

channel

Constant channel identity

value

The new value for the selected channel

Valor Retornado


Draw Stroke

(UI 0.9.9)

Introdução

Holds the configuration for the Pen to perform a stroke

Sinopse da classe

UI\Draw\Stroke {
/* Constructor */
public __construct ( int $cap = UI\Draw\Line\Cap::Flat , int $join = UI\Draw\Line\Join::Miter , float $thickness = 1 , float $miterLimit = 10 )
/* Métodos */
public getCap ( ) : int
public getJoin ( ) : int
public getMiterLimit ( ) : float
public getThickness ( ) : float
public setCap ( int $cap )
public setJoin ( int $join )
public setMiterLimit ( float $limit )
public setThickness ( float $thickness )
}

Índice

  • UI\Draw\Stroke::__construct — Construct a new Stroke
  • UI\Draw\Stroke::getCap — Get Line Cap
  • UI\Draw\Stroke::getJoin — Get Line Join
  • UI\Draw\Stroke::getMiterLimit — Get Miter Limit
  • UI\Draw\Stroke::getThickness — Get Thickness
  • UI\Draw\Stroke::setCap — Set Line Cap
  • UI\Draw\Stroke::setJoin — Set Line Join
  • UI\Draw\Stroke::setMiterLimit — Set Miter Limit
  • UI\Draw\Stroke::setThickness — Set Thickness


Construct a new Stroke

  • « UI\Draw\Stroke
  • UI\Draw\Stroke::getCap »
  • PHP Manual
  • UI\Draw\Stroke
  • Construct a new Stroke

UI\Draw\Stroke::__construct

(UI 0.9.9)

UI\Draw\Stroke::__construct — Construct a new Stroke

Descrição

public UI\Draw\Stroke::__construct ( int $cap = UI\Draw\Line\Cap::Flat , int $join = UI\Draw\Line\Join::Miter , float $thickness = 1 , float $miterLimit = 10 )

Shall construct a new Stroke

Parâmetros

cap

UI\Draw\Line\Cap::Flat, UI\Draw\Line\Cap::Round, or UI\Draw\Line\Cap::Square

join

UI\Draw\Line\Join::Miter, UI\Draw\Line\Join::Round, or UI\Draw\Line\Join::Bevel

thickness

The thickness of the stroke

miterLimit

Miter limit (default is sensible for all supported platforms)


Get Line Cap

  • « UI\Draw\Stroke::__construct
  • UI\Draw\Stroke::getJoin »
  • PHP Manual
  • UI\Draw\Stroke
  • Get Line Cap

UI\Draw\Stroke::getCap

(UI 0.9.9)

UI\Draw\Stroke::getCap — Get Line Cap

Descrição

public UI\Draw\Stroke::getCap ( ) : int

Shall retrieve the line cap setting of this Stroke

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

UI\Draw\Line\Cap::Flat, UI\Draw\Line\Cap::Round, or UI\Draw\Line\Cap::Square


Get Line Join

  • « UI\Draw\Stroke::getCap
  • UI\Draw\Stroke::getMiterLimit »
  • PHP Manual
  • UI\Draw\Stroke
  • Get Line Join

UI\Draw\Stroke::getJoin

(UI 0.9.9)

UI\Draw\Stroke::getJoin — Get Line Join

Descrição

public UI\Draw\Stroke::getJoin ( ) : int

Shall retrieve the line join setting of this Stroke

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

UI\Draw\Line\Join::Miter, UI\Draw\Line\Join::Round, or UI\Draw\Line\Join::Bevel


Get Miter Limit

  • « UI\Draw\Stroke::getJoin
  • UI\Draw\Stroke::getThickness »
  • PHP Manual
  • UI\Draw\Stroke
  • Get Miter Limit

UI\Draw\Stroke::getMiterLimit

(UI 0.9.9)

UI\Draw\Stroke::getMiterLimit — Get Miter Limit

Descrição

public UI\Draw\Stroke::getMiterLimit ( ) : float

Shall retrieve the miter limit of this Stroke

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current miter limit


Get Thickness

  • « UI\Draw\Stroke::getMiterLimit
  • UI\Draw\Stroke::setCap »
  • PHP Manual
  • UI\Draw\Stroke
  • Get Thickness

UI\Draw\Stroke::getThickness

(UI 0.9.9)

UI\Draw\Stroke::getThickness — Get Thickness

Descrição

public UI\Draw\Stroke::getThickness ( ) : float

Shall retrieve the thickness of this Stroke

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current thickness


Set Line Cap

  • « UI\Draw\Stroke::getThickness
  • UI\Draw\Stroke::setJoin »
  • PHP Manual
  • UI\Draw\Stroke
  • Set Line Cap

UI\Draw\Stroke::setCap

(UI 0.9.9)

UI\Draw\Stroke::setCap — Set Line Cap

Descrição

public UI\Draw\Stroke::setCap ( int $cap )

Shall set the line cap setting for this Stroke

Parâmetros

cap

UI\Draw\Line\Cap::Flat, UI\Draw\Line\Cap::Round, or UI\Draw\Line\Cap::Square


Set Line Join

  • « UI\Draw\Stroke::setCap
  • UI\Draw\Stroke::setMiterLimit »
  • PHP Manual
  • UI\Draw\Stroke
  • Set Line Join

UI\Draw\Stroke::setJoin

(UI 0.9.9)

UI\Draw\Stroke::setJoin — Set Line Join

Descrição

public UI\Draw\Stroke::setJoin ( int $join )

Shall set the line join setting for this Stroke

Parâmetros

join

UI\Draw\Line\Join::Miter, UI\Draw\Line\Join::Round, or UI\Draw\Line\Join::Bevel

Valor Retornado


Set Miter Limit

  • « UI\Draw\Stroke::setJoin
  • UI\Draw\Stroke::setThickness »
  • PHP Manual
  • UI\Draw\Stroke
  • Set Miter Limit

UI\Draw\Stroke::setMiterLimit

(UI 0.9.9)

UI\Draw\Stroke::setMiterLimit — Set Miter Limit

Descrição

public UI\Draw\Stroke::setMiterLimit ( float $limit )

Set the miter limit for this Stroke

Parâmetros

limit

The new limit


Set Thickness

  • « UI\Draw\Stroke::setMiterLimit
  • UI\Draw\Brush »
  • PHP Manual
  • UI\Draw\Stroke
  • Set Thickness

UI\Draw\Stroke::setThickness

(UI 0.9.9)

UI\Draw\Stroke::setThickness — Set Thickness

Descrição

public UI\Draw\Stroke::setThickness ( float $thickness )

Shall set the thickness for this Stroke

Parâmetros

thickness

The new thickness


Brushes

(UI 0.9.9)

Introdução

Represents a solid color brush

Sinopse da classe

UI\Draw\Brush {
/* Constructor */
public __construct ( UI\Draw\Color $color )
public __construct ( int $color )
/* Métodos */
public getColor ( ) : UI\Draw\Color
public setColor ( UI\Draw\Color $color ) : void
public setColor ( int $color ) : void
}

Índice

  • UI\Draw\Brush::__construct — Construct a new Brush
  • UI\Draw\Brush::getColor — Get Color
  • UI\Draw\Brush::setColor — Set Color


Construct a new Brush

  • « UI\Draw\Brush
  • UI\Draw\Brush::getColor »
  • PHP Manual
  • UI\Draw\Brush
  • Construct a new Brush

UI\Draw\Brush::__construct

(UI 0.9.9)

UI\Draw\Brush::__construct — Construct a new Brush

Descrição

public UI\Draw\Brush::__construct ( UI\Draw\Color $color )
public UI\Draw\Brush::__construct ( int $color )

Shall construct a solid brush using the given color

Parâmetros

color

Can be a UI\Draw\Color or RRGGBBAA


Get Color

  • « UI\Draw\Brush::__construct
  • UI\Draw\Brush::setColor »
  • PHP Manual
  • UI\Draw\Brush
  • Get Color

UI\Draw\Brush::getColor

(UI 0.9.9)

UI\Draw\Brush::getColor — Get Color

Descrição

public UI\Draw\Brush::getColor ( ) : UI\Draw\Color

Shall return a UI\Draw\Color for this brush

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

The current color of the brush


Set Color

  • « UI\Draw\Brush::getColor
  • UI\Draw\Brush\Gradient »
  • PHP Manual
  • UI\Draw\Brush
  • Set Color

UI\Draw\Brush::setColor

(UI 0.9.9)

UI\Draw\Brush::setColor — Set Color

Descrição

public UI\Draw\Brush::setColor ( UI\Draw\Color $color ) : void
public UI\Draw\Brush::setColor ( int $color ) : void

Shall set the color of this brush to the color provided

Parâmetros

color

Can be a UI\Draw\Color or RRGGBBAA

Valor Retornado


Gradient Brushes

(UI 2.0.0)

Introdução

Abstract for gradient brushes

Sinopse da classe

abstract UI\Draw\Brush\Gradient extends UI\Draw\Brush {
/* Métodos */
public addStop ( float $position , UI\Draw\Color $color ) : int
public addStop ( float $position , int $color ) : int
public delStop ( int $index ) : int
public setStop ( int $index , float $position , UI\Draw\Color $color ) : bool
public setStop ( int $index , float $position , int $color ) : bool
/* Métodos herdados */
public UI\Draw\Brush::getColor ( ) : UI\Draw\Color
public UI\Draw\Brush::setColor ( UI\Draw\Color $color ) : void
public UI\Draw\Brush::setColor ( int $color ) : void
}

Índice

  • UI\Draw\Brush\Gradient::addStop — Stop Manipulation
  • UI\Draw\Brush\Gradient::delStop — Stop Manipulation
  • UI\Draw\Brush\Gradient::setStop — Stop Manipulation


Stop Manipulation

  • « UI\Draw\Brush\Gradient
  • UI\Draw\Brush\Gradient::delStop »
  • PHP Manual
  • UI\Draw\Brush\Gradient
  • Stop Manipulation

UI\Draw\Brush\Gradient::addStop

(UI 2.0.0)

UI\Draw\Brush\Gradient::addStop — Stop Manipulation

Descrição

public UI\Draw\Brush\Gradient::addStop ( float $position , UI\Draw\Color $color ) : int
public UI\Draw\Brush\Gradient::addStop ( float $position , int $color ) : int

Shall at a stop of the given color at the given position

Parâmetros

position

The position for the new stop

color

The color for the new stop, may be UI\Draw\Color or RRGGBBAA

Valor Retornado

Total number of stops


Stop Manipulation

  • « UI\Draw\Brush\Gradient::addStop
  • UI\Draw\Brush\Gradient::setStop »
  • PHP Manual
  • UI\Draw\Brush\Gradient
  • Stop Manipulation

UI\Draw\Brush\Gradient::delStop

(UI 2.0.0)

UI\Draw\Brush\Gradient::delStop — Stop Manipulation

Descrição

public UI\Draw\Brush\Gradient::delStop ( int $index ) : int

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

index

Valor Retornado

Total number of stops


Stop Manipulation

  • « UI\Draw\Brush\Gradient::delStop
  • UI\Draw\Brush\LinearGradient »
  • PHP Manual
  • UI\Draw\Brush\Gradient
  • Stop Manipulation

UI\Draw\Brush\Gradient::setStop

(UI 2.0.0)

UI\Draw\Brush\Gradient::setStop — Stop Manipulation

Descrição

public UI\Draw\Brush\Gradient::setStop ( int $index , float $position , UI\Draw\Color $color ) : bool
public UI\Draw\Brush\Gradient::setStop ( int $index , float $position , int $color ) : bool

Parâmetros

index

The index of the stop to set

position

The position for the stop

color

The color for the stop, may be UI\Draw\Color or RRGGBBAA

Valor Retornado

Indication of success


Linear Gradient

(UI 2.0.0)

Introdução

Sinopse da classe

UI\Draw\Brush\LinearGradient extends UI\Draw\Brush\Gradient {
/* Constructor */
public __construct ( UI\Point $start , UI\Point $end )
/* Métodos herdados */
public UI\Draw\Brush\Gradient::addStop ( float $position , UI\Draw\Color $color ) : int
public UI\Draw\Brush\Gradient::addStop ( float $position , int $color ) : int
public UI\Draw\Brush\Gradient::delStop ( int $index ) : int
public UI\Draw\Brush\Gradient::setStop ( int $index , float $position , UI\Draw\Color $color ) : bool
public UI\Draw\Brush\Gradient::setStop ( int $index , float $position , int $color ) : bool
}

Índice

  • UI\Draw\Brush\LinearGradient::__construct — Construct a Linear Gradient


Construct a Linear Gradient

  • « UI\Draw\Brush\LinearGradient
  • UI\Draw\Brush\RadialGradient »
  • PHP Manual
  • UI\Draw\Brush\LinearGradient
  • Construct a Linear Gradient

UI\Draw\Brush\LinearGradient::__construct

(UI 2.0.0)

UI\Draw\Brush\LinearGradient::__construct — Construct a Linear Gradient

Descrição

public UI\Draw\Brush\LinearGradient::__construct ( UI\Point $start , UI\Point $end )

Shall construct a new linear gradient

Parâmetros

start

end


Radial Gradient

(UI 2.0.0)

Introdução

Sinopse da classe

UI\Draw\Brush\RadialGradient extends UI\Draw\Brush\Gradient {
/* Constructor */
public __construct ( UI\Point $start , UI\Point $outer , float $radius )
/* Métodos herdados */
public UI\Draw\Brush\Gradient::addStop ( float $position , UI\Draw\Color $color ) : int
public UI\Draw\Brush\Gradient::addStop ( float $position , int $color ) : int
public UI\Draw\Brush\Gradient::delStop ( int $index ) : int
public UI\Draw\Brush\Gradient::setStop ( int $index , float $position , UI\Draw\Color $color ) : bool
public UI\Draw\Brush\Gradient::setStop ( int $index , float $position , int $color ) : bool
}

Índice

  • UI\Draw\Brush\RadialGradient::__construct — Construct a new Radial Gradient


Construct a new Radial Gradient

  • « UI\Draw\Brush\RadialGradient
  • UI\Draw\Text\Layout »
  • PHP Manual
  • UI\Draw\Brush\RadialGradient
  • Construct a new Radial Gradient

UI\Draw\Brush\RadialGradient::__construct

(UI 2.0.0)

UI\Draw\Brush\RadialGradient::__construct — Construct a new Radial Gradient

Descrição

public UI\Draw\Brush\RadialGradient::__construct ( UI\Point $start , UI\Point $outer , float $radius )

Shall construct a new radial gradient

Parâmetros

start

outer

radius


Represents Text Layout

(UI 0.9.9)

Introdução

A Text Layout represents the layout of text which will be drawn by the Pen

Sinopse da classe

UI\Draw\Text\Layout {
/* Constructor */
public __construct ( string $text , UI\Draw\Text\Font $font , float $width )
/* Métodos */
public setColor ( UI\Draw\Color $color , int $start = 0 , int $end = ? )
public setColor ( int $color , int $start = 0 , int $end = ? )
public setWidth ( float $width )
}

Índice

  • UI\Draw\Text\Layout::__construct — Construct a new Text Layout
  • UI\Draw\Text\Layout::setColor — Set Color
  • UI\Draw\Text\Layout::setWidth — Set Width


Construct a new Text Layout

  • « UI\Draw\Text\Layout
  • UI\Draw\Text\Layout::setColor »
  • PHP Manual
  • UI\Draw\Text\Layout
  • Construct a new Text Layout

UI\Draw\Text\Layout::__construct

(UI 0.9.9)

UI\Draw\Text\Layout::__construct — Construct a new Text Layout

Descrição

public UI\Draw\Text\Layout::__construct ( string $text , UI\Draw\Text\Font $font , float $width )

Shall construct a new Text Layout

Parâmetros

text

The text for the layout

font

The font to use for writing

width

The width of the layout


Set Color

  • « UI\Draw\Text\Layout::__construct
  • UI\Draw\Text\Layout::setWidth »
  • PHP Manual
  • UI\Draw\Text\Layout
  • Set Color

UI\Draw\Text\Layout::setColor

(UI 0.9.9)

UI\Draw\Text\Layout::setColor — Set Color

Descrição

public UI\Draw\Text\Layout::setColor ( UI\Draw\Color $color , int $start = 0 , int $end = ? )
public UI\Draw\Text\Layout::setColor ( int $color , int $start = 0 , int $end = ? )

Shall set the Color for all of, or a range of the text in the Layout

Parâmetros

color

The color to use

start

The starting character

end

The ending character, by default the end of the string


Set Width

  • « UI\Draw\Text\Layout::setColor
  • UI\Draw\Text\Font »
  • PHP Manual
  • UI\Draw\Text\Layout
  • Set Width

UI\Draw\Text\Layout::setWidth

(UI 0.9.9)

UI\Draw\Text\Layout::setWidth — Set Width

Descrição

public UI\Draw\Text\Layout::setWidth ( float $width )

Shall set the width of this Text Layout

Parâmetros

width

The new width


Represents a Font

(UI 0.9.9)

Introdução

Loads a described font

Sinopse da classe

UI\Draw\Text\Font {
/* Constructor */
public __construct ( UI\Draw\Text\Font\Descriptor $descriptor )
/* Métodos */
public getAscent ( ) : float
public getDescent ( ) : float
public getLeading ( ) : float
public getUnderlinePosition ( ) : float
public getUnderlineThickness ( ) : float
}

Índice

  • UI\Draw\Text\Font::__construct — Construct a new Font
  • UI\Draw\Text\Font::getAscent — Font Metrics
  • UI\Draw\Text\Font::getDescent — Font Metrics
  • UI\Draw\Text\Font::getLeading — Font Metrics
  • UI\Draw\Text\Font::getUnderlinePosition — Font Metrics
  • UI\Draw\Text\Font::getUnderlineThickness — Font Metrics


Construct a new Font

  • « UI\Draw\Text\Font
  • UI\Draw\Text\Font::getAscent »
  • PHP Manual
  • UI\Draw\Text\Font
  • Construct a new Font

UI\Draw\Text\Font::__construct

(UI 0.9.9)

UI\Draw\Text\Font::__construct — Construct a new Font

Descrição

public UI\Draw\Text\Font::__construct ( UI\Draw\Text\Font\Descriptor $descriptor )

Shall construct a new Font using the given descriptor

Parâmetros

descriptor

The descriptor for the Font


Font Metrics

  • « UI\Draw\Text\Font::__construct
  • UI\Draw\Text\Font::getDescent »
  • PHP Manual
  • UI\Draw\Text\Font
  • Font Metrics

UI\Draw\Text\Font::getAscent

(UI 1.0.3)

UI\Draw\Text\Font::getAscent — Font Metrics

Descrição

public UI\Draw\Text\Font::getAscent ( ) : float

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Font Metrics

  • « UI\Draw\Text\Font::getAscent
  • UI\Draw\Text\Font::getLeading »
  • PHP Manual
  • UI\Draw\Text\Font
  • Font Metrics

UI\Draw\Text\Font::getDescent

(UI 1.0.3)

UI\Draw\Text\Font::getDescent — Font Metrics

Descrição

public UI\Draw\Text\Font::getDescent ( ) : float

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Font Metrics

  • « UI\Draw\Text\Font::getDescent
  • UI\Draw\Text\Font::getUnderlinePosition »
  • PHP Manual
  • UI\Draw\Text\Font
  • Font Metrics

UI\Draw\Text\Font::getLeading

(UI 1.0.3)

UI\Draw\Text\Font::getLeading — Font Metrics

Descrição

public UI\Draw\Text\Font::getLeading ( ) : float

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Font Metrics

  • « UI\Draw\Text\Font::getLeading
  • UI\Draw\Text\Font::getUnderlineThickness »
  • PHP Manual
  • UI\Draw\Text\Font
  • Font Metrics

UI\Draw\Text\Font::getUnderlinePosition

(UI 1.0.3)

UI\Draw\Text\Font::getUnderlinePosition — Font Metrics

Descrição

public UI\Draw\Text\Font::getUnderlinePosition ( ) : float

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Font Metrics

  • « UI\Draw\Text\Font::getUnderlinePosition
  • UI\Draw\Text\Font\Descriptor »
  • PHP Manual
  • UI\Draw\Text\Font
  • Font Metrics

UI\Draw\Text\Font::getUnderlineThickness

(UI 1.0.3)

UI\Draw\Text\Font::getUnderlineThickness — Font Metrics

Descrição

public UI\Draw\Text\Font::getUnderlineThickness ( ) : float

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Font Descriptor

(UI 0.9.9)

Introdução

Describes a font

Sinopse da classe

UI\Draw\Text\Font\Descriptor {
/* Constructor */
public __construct ( string $family , float $size , int $weight = UI\Draw\Text\Font\Weight::Normal , int $italic = UI\Draw\Text\Font\Italic::Normal , int $stretch = UI\Draw\Text\Font\Stretch::Normal )
/* Métodos */
public getFamily ( ) : string
public getItalic ( ) : int
public getSize ( ) : float
public getStretch ( ) : int
public getWeight ( ) : int
}

Índice

  • UI\Draw\Text\Font\Descriptor::__construct — Construct a new Font Descriptor
  • UI\Draw\Text\Font\Descriptor::getFamily — Get Font Family
  • UI\Draw\Text\Font\Descriptor::getItalic — Style Detection
  • UI\Draw\Text\Font\Descriptor::getSize — Size Detection
  • UI\Draw\Text\Font\Descriptor::getStretch — Style Detection
  • UI\Draw\Text\Font\Descriptor::getWeight — Weight Detection


Construct a new Font Descriptor

  • « UI\Draw\Text\Font\Descriptor
  • UI\Draw\Text\Font\Descriptor::getFamily »
  • PHP Manual
  • UI\Draw\Text\Font\Descriptor
  • Construct a new Font Descriptor

UI\Draw\Text\Font\Descriptor::__construct

(UI 0.9.9)

UI\Draw\Text\Font\Descriptor::__construct — Construct a new Font Descriptor

Descrição

public UI\Draw\Text\Font\Descriptor::__construct ( string $family , float $size , int $weight = UI\Draw\Text\Font\Weight::Normal , int $italic = UI\Draw\Text\Font\Italic::Normal , int $stretch = UI\Draw\Text\Font\Stretch::Normal )

Shall construct a new Font Descriptor

Parâmetros

family

The name of a valid family of fonts

size

The preferred size

weight

UI\Draw\Text\Font\Weight constant

italic

UI\Draw\Text\Font\Italic constant

stretch

UI\Draw\Text\Font\Stretch constant


Get Font Family

  • « UI\Draw\Text\Font\Descriptor::__construct
  • UI\Draw\Text\Font\Descriptor::getItalic »
  • PHP Manual
  • UI\Draw\Text\Font\Descriptor
  • Get Font Family

UI\Draw\Text\Font\Descriptor::getFamily

(UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getFamily — Get Font Family

Descrição

public UI\Draw\Text\Font\Descriptor::getFamily ( ) : string

Shall return the requested font family

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Style Detection

  • « UI\Draw\Text\Font\Descriptor::getFamily
  • UI\Draw\Text\Font\Descriptor::getSize »
  • PHP Manual
  • UI\Draw\Text\Font\Descriptor
  • Style Detection

UI\Draw\Text\Font\Descriptor::getItalic

(UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getItalic — Style Detection

Descrição

public UI\Draw\Text\Font\Descriptor::getItalic ( ) : int

Shall return constant setting

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Size Detection

  • « UI\Draw\Text\Font\Descriptor::getItalic
  • UI\Draw\Text\Font\Descriptor::getStretch »
  • PHP Manual
  • UI\Draw\Text\Font\Descriptor
  • Size Detection

UI\Draw\Text\Font\Descriptor::getSize

(UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getSize — Size Detection

Descrição

public UI\Draw\Text\Font\Descriptor::getSize ( ) : float

Shall return the requested size

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Style Detection

  • « UI\Draw\Text\Font\Descriptor::getSize
  • UI\Draw\Text\Font\Descriptor::getWeight »
  • PHP Manual
  • UI\Draw\Text\Font\Descriptor
  • Style Detection

UI\Draw\Text\Font\Descriptor::getStretch

(UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getStretch — Style Detection

Descrição

public UI\Draw\Text\Font\Descriptor::getStretch ( ) : int

Shall return requested stretch

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Weight Detection

  • « UI\Draw\Text\Font\Descriptor::getStretch
  • UI Funções »
  • PHP Manual
  • UI\Draw\Text\Font\Descriptor
  • Weight Detection

UI\Draw\Text\Font\Descriptor::getWeight

(UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getWeight — Weight Detection

Descrição

public UI\Draw\Text\Font\Descriptor::getWeight ( ) : int

Shall return requested weight

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


UI Funções

Índice

  • UI\Draw\Text\Font\fontFamilies — Retrieve Font Families
  • UI\quit — Quit UI Loop
  • UI\run — Enter UI Loop


Retrieve Font Families

  • « UI Funções
  • UI\quit »
  • PHP Manual
  • UI Funções
  • Retrieve Font Families

UI\Draw\Text\Font\fontFamilies

(UI 0.9.9)

UI\Draw\Text\Font\fontFamilies — Retrieve Font Families

Descrição

UI\Draw\Text\Font\fontFamilies ( ) : array

Returns an array of valid font families for the current system

Parâmetros

Esta função não possui parâmetros.


Quit UI Loop

  • « UI\Draw\Text\Font\fontFamilies
  • UI\run »
  • PHP Manual
  • UI Funções
  • Quit UI Loop

UI\quit

(UI 2.0.0)

UI\quit — Quit UI Loop

Descrição

UI\quit ( ) : void

Shall cause the main loop to be exited

Parâmetros

Esta função não possui parâmetros.

Valor Retornado


Enter UI Loop

  • « UI\quit
  • UI\Draw\Text\Font\Weight »
  • PHP Manual
  • UI Funções
  • Enter UI Loop

UI\run

(UI 2.0.0)

UI\run — Enter UI Loop

Descrição

UI\run ( int $flags = ? ) : void

Shall cause PHP to enter into the main loop, by default control will not be returned to the caller

Parâmetros

flags

Set UI\Loop to return control, and UI\Wait to return control after waiting

Valor Retornado


Font Weight Settings

(UI 0.9.9)

Introdução

Sinopse da classe

final UI\Draw\Text\Font\Weight {
/* Constants */
const int Thin ;
const int UltraLight ;
const int Light ;
const int Book ;
const int Normal ;
const int Medium ;
const int SemiBold ;
const int Bold ;
const int UltraBold ;
const int Heavy ;
const int UltraHeavy ;
}


Italic Font Settings

(UI 0.9.9)

Introdução

Sinopse da classe

final UI\Draw\Text\Font\Italic {
/* Constants */
const int Normal = 0 ;
const int Oblique = 1 ;
const int Italic = 2 ;
}


Font Stretch Settings

(UI 0.9.9)

Introdução

Sinopse da classe

final UI\Draw\Text\Font\Stretch {
/* Constants */
const int UltraCondensed = 0 ;
const int ExtraCondensed = 1 ;
const int Condensed = 2 ;
const int SemiCondensed = 3 ;
const int Normal = 4 ;
const int SemiExpanded = 5 ;
const int Expanded = 6 ;
const int ExtraExpanded = 7 ;
const int UltraExpanded = 8 ;
}


Line Cap Settings

(UI 0.9.9)

Introdução

Sinopse da classe

final UI\Draw\Line\Cap {
/* Constants */
const int Flat ;
const int Round ;
const int Square ;
}


Line Join Settings

(UI 0.9.9)

Introdução

Sinopse da classe

final UI\Draw\Line\Join {
/* Constants */
const int Miter ;
const int Round ;
const int Bevel ;
}


Key Identifiers

(UI 1.0.0)

Introdução

Sinopse da classe

final UI\Key {
/* Constants */
const int Escape ;
const int Insert ;
const int Delete ;
const int Home ;
const int End ;
const int PageUp ;
const int PageDown ;
const int Up ;
const int Down ;
const int Left ;
const int Right ;
const int F1 ;
const int F2 ;
const int F3 ;
const int F4 ;
const int F5 ;
const int F6 ;
const int F7 ;
const int F8 ;
const int F9 ;
const int F10 ;
const int F11 ;
const int F12 ;
const int N0 ;
const int N1 ;
const int N2 ;
const int N3 ;
const int N4 ;
const int N5 ;
const int N6 ;
const int N7 ;
const int N8 ;
const int N9 ;
const int NDot ;
const int NEnter ;
const int NAdd ;
const int NSubtract ;
const int NMultiply ;
const int NDivide ;
}


InvalidArgumentException

(UI 1.0.3)

Introdução

Sinopse da classe

UI\Exception\InvalidArgumentException extends InvalidArgumentException implements Throwable {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


RuntimeException

(UI 1.0.3)

Introdução

Sinopse da classe

UI\Exception\RuntimeException extends RuntimeException implements Throwable {
/* Propriedades herdadas */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Métodos herdados */
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Exception
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : string
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : string
}


FAQ: Perguntas Mais Frequentes

  • Informações Gerais
  • Listas de Discussão
  • Obtendo o PHP
  • Questões sobre banco de dados
  • Instalação
  • Problemas de Compilação
  • Utilizando o PHP
  • Gerando hash de senha — Gerando hash seguro de senha
  • PHP e HTML
  • PHP e COM
  • Questões Diversas


Informações Gerais

Essa seção trata das questões mais gerais sobre o PHP: o que é e o que faz.

  1. O que é o PHP?
  2. O que a sigla PHP significa?
  3. Qual é a relação entre as versões?
  4. Posso executar várias versões do PHP ao mesmo tempo?
  5. Acho que encontrei um bug! A quem eu devo dizer?
O que é o PHP?

Do prefácio do manual:

PHP é uma linguagem de script embutida no HTML. Muito da sua sintaxe é emprestada de C, Java e Perl com algumas características específicas do PHP adicionadas. O objetivo da linguagem é permitir que desenvolvedores web escrevam páginas geradas dinamicamente de forma rápida.

O que a sigla PHP significa?

PHP significa PHP: Hypertext Preprocessor. Isso confunde muitas pessoas porque a primeira palavra do acrônimo é o acrônimo. Esse tipo de acrônimo é chamado de acrônimo recursivo. Para mais informações, os curiosos podem visitar o » Dicionário On-Line Gratuito de Computação ou o » item na Wikipedia sobre acrônomos recursivos.

Qual é a relação entre as versões?

PHP/FI 2.0 é uma versão mais antiga e não mais suportada do PHP. PHP 3 é o sucessor do PHP/FI 2.0 e é bem melhor. PHP 7 é a geração atual do PHP, que usa a Zend Engine 3, a qual, entre outras coisas, oferece muitas funcionalidades adicionais de POO.

Posso executar várias versões do PHP ao mesmo tempo?

Sim. Veja o arquivo INSTALL que vem incluso na distribuição dos fontes do PHP.

Acho que encontrei um bug! A quem eu devo dizer?

Você deve ir ao Banco de Dados de Bugs do PHP e assegurar-se de que o bug não é conhecido. Se você não encontrá-lo no banco, use o formulário para relatar o bug. É importante usar o banco de bugs ao invés de apenas enviar um e-mail para uma das listas de discussão porque o bug terá um número de rastreamento atribuído a ele e será possível voltar depois e checar o status do bug. O banco de bugs pode ser encontrado em » https://bugs.php.net/.


Listas de Discussão

Essa seção responde algumas perguntas relacionadas a como entrar em contato com a comunidade PHP. A melhor maneira é através das listas de discussão via e-mail.

  1. Existe alguma lista de discussão do PHP?
  2. Existem outras comunidades?
  3. Posso iniciar minha própia lista de discussões de PHP?
  4. Ajuda! Não consigo me increver ou sair de nenhuma das listas de discussão!
  5. Existe um histório das listas de discussão em algum lugar?
  6. O que posso perguntar na lista de discussão?
  7. Que informação devo incluir quando faço perguntas na lista?
Existe alguma lista de discussão do PHP?

É claro! Existem várias listas de discussão sobre vários assuntos. Uma listagem das principais listas de discussão pode ser encontrada na nossa página de » Suporte.

A lista de discussão mais geral é php-general. Para participar, mande um e-mail em branco para » php-general-subscribe@lists.php.net. Para sair da lista, mande um e-mail para » php-general-unsubscribe@lists.php.net.

Você pode se inscrever e sair das listas usando nossa interface web disponível em » Suporte, além de instruções incluídas no rodapé de cada e-mail da lista.

Existem outras comunidades?

Existem incontáveis comunidades voltadas a PHP ao redor do mundo. Nós temos links, para algumas delas (e informação de como aprender mais) em nossa página de » Suporte

Posso iniciar minha própia lista de discussões de PHP?

Com certeza! Aliás, nós não só permitimos como encorajamos você a iniciar uma lista de discussões! Ajudar os outros dividindo seu conhecimento e experiência com o PHP amplia o crescimento da comunidade e o desenvolvimento global do PHP, além da própria linguagem.

Ajuda! Não consigo me increver ou sair de nenhuma das listas de discussão!

Se você tiver problemas se inscrevendo ou saindo de uma lista de discussão, pode ser porque o software da lista não consegue definir o endereço de e-mail correto para usar. Se seu endereço de e-mail for joeblow@example.com, você pode mandar sua requisição de inscrição para php-general-subscribe-joeblow=example.com@lists.php.net, ou sua requisição de saída para php-general-unsubscribe-joeblow=example.com@lists.php.net. Use endereços similares para as outras listas de discussão.

A causa mais comum para as pessoas terem dificuldades em se inscrever ou sair de uma lista de disscussão é por causa do uso de e-mails encaminhados. Por exemplo se seu e-mail for danbrown@example.com, mas você se inscrever usando um e-mail com encaminhamento como php-lists@example.com que repassa depois a danbrown@example.com, tentar remover da lista o e-mail danbrown@example.com não vai funcionar pois este e-mail não é conhecido nos nossos sistemas. Ao invés disso você vai precisar pedir pra sair de uma lista com o e-mail que está recebendo as listas - neste exemplo php-list@example.com.

Existe um histório das listas de discussão em algum lugar?

Sim, você encontrará uma lista de sites com o histórico na página de » listas de email. Você também vai encontrar dezenas de arquivos e/ou referências para nossas listas de discussões usando seu macanismo de busca preferido ao procurar por "php mailing list archives".

Os artigos da lista de discussão também são arquivados como mensagens de nóticia. Você pode acessar o servidor de notícias em » news://news.php.net/ com um cliente de notícias. Também existe uma interface web experimental para o servidor de notícias em » http://news.php.net/

O que posso perguntar na lista de discussão?

Uma vez que o PHP está crescendo em popularidade todo dia, o tráfego na lista de discussão php-general cresceu e até agora a lista recebe entre 75 a 200 mensagens por dia. Por isso é do interesse de todos que você use a lista como último recurso quando você procurou em todos os outros lugares.

Antes de postar em uma lista verifique nessa FAQ e no manual se não consegue encontrar a informação aqui. Se não encontrar então daí tente os arquivos das listas (veja acima). Se está tendo problemas instalando ou configurando o PHP primeiro leia toda a documentação incluída e os README's. Se ainda não conseguir encontrar a informação que lhe ajude, você é bem vindo a utilizar a lista apropriada.

Para garantir que você receba as melhores respostas (e para reduzir a probabilidade de frustrar seus colegas desenvolvedores) envie sua pergunta para a lista apropriada. Por exemplo, se você está tendo dificuldades para instalar PHP, você deve enviar sua pergunta para a lista de discussão php-install. Uma ressalva: algumas listas têm nomes semelhantes mas usos completamente diferentes; uma pergunta sobre os scripts PHP no Windows deve ser direcionado para a lista de usuários do Windows PHP, not para a lista do Windows Internals.

Antes de perguntar, você deve ler o arquivo » Como Fazer Perguntas de Maneira Inteligente que é uma boa idéia para todo mundo.

Que informação devo incluir quando faço perguntas na lista?

Mensagems como "Não consigo colocar o PHP para funcionar! Me ajude! O que está errado?" são inúteis. Se você tiver problemas fazendo o PHP funcionar, você deve incluir que sistema operacional você está usando, qual a versão do PHP você está tentando instalar, como você obteve (pré-compilado, CVS, RPM e por aí vai), o que você fez até agora, onde ficou preso e a mensagem de erro exata.

Isso vale para qualquer outro problema também. Você deve incluir informações sobre o que você fez, o que você está tentando fazer e quaisquer mensagens de erro encontradas no processo. Se você tiver problemas com nosso código fonte, você precisa incluir a parte do código que não está funcionando, indicando a linha apresenta o problema através do posicionamento de um comentário de códio. Não inclua mais código que o necessário! Isso torna a mensagem difícil de ler e muitas pessoas podem simplesmente ignorar ela por isso. Se você não tiver certeza sobre quanta informação incluir na mensagem, é melhor incluir muito do que pouco.

Outra coisa importante a lembrar é resumir o problema no assunto da mensagem. Um assungo como "SOCCOOORRROO!!!" ou "Qual é o problema aqui" será ignorada pela maioria dos leitores.

E finalmente, você é encorajado a ler o artigo sobre » Como Fazer Perguntas de Maneira Inteligente já quer irá ser de grande ajuda para todo mundo, especialmente você.


Obtendo o PHP

Essa seção tem detalhes sobre localizações de download do PHP e problemas com Sistemas Operacionais.

  1. Onde posso obter o PHP?
  2. Existem versões binárias pré-compiladas?
  3. Onde posso pegar as bibliotecas necessárias para compilar alguma das extensões opcionais do PHP?
  4. Como faço essas bibliotecas funcionarem?
  5. Eu peguei a última versão do código-fonte do PHP do repositório Git na minha máquina Windows, o que eu preciso para compilá-lo?
  6. Onde eu acho o Arquivo de Capacidades do Navegador (Browser Capabilities File)?
  7. O que significa thread safety quando estou fazendo o download do PHP?
Onde posso obter o PHP?

Você pode baixar o PHP de qualquer um dos membros da rede de sites do PHP. Esses podem ser encontrados em » https://www.php.net/. Você pode usar também um Git anônimo para pegar a última versão do fonte. Para mais informações, vá até » https://www.php.net/git.php.

Existem versões binárias pré-compiladas?

Nós só distribuímos binários pré-compilados para sistemas Windows, como não somos capazes de compilar o PHP para cada uma das plataformas Linux/Unix com cada combinação de extensão. Perceba também, que muitas distribuições Linux vem com o PHP instalado atualmente. Binários do Windows podem ser baixados da nossa página de » Downloads, para binários do Linux, por favor visite o website de sua distribuição.

Onde posso pegar as bibliotecas necessárias para compilar alguma das extensões opcionais do PHP?

Nota: Aquelas marcadas com um * são do melhor de nosso conhecimento não thread safe; elas não são recomendadas para utilização em um ambiente multi-thread.

  • » LDAP (Unix).
  • » LDAP (Unix/Win) : Diretório Mozilla (LDAP) SDK
  • » servidor LDAP livre.
  • » Berkeley DB2 (Unix/Win) : http://www.sleepycat.com/.
  • » SNMP* (Unix): .
  • » GD* (Unix/Win).
  • » mSQL* (Unix).
  • » PostgreSQL (Unix).
  • » IMAP* (Win/Unix).
  • » Sybase-CT* (Linux, libc5) : Disponível localmente.
  • » FreeType (libttf):.
  • » ZLib (Unix/Win32).
  • » expat XML parser (Unix/Win32).
  • » PDFLib.
  • » mcrypt.
  • » mhash.
  • » t1lib.
  • » dmalloc.
  • » aspell.
  • » readline.

Como faço essas bibliotecas funcionarem?

Você precisará seguir as instruções disponíveis com a biblioteca. Algumas dessas bibliotecas são detectadas automaticamente quando você executar o script 'configure' do PHP (como a biblioteca GD), e outras você terá que habilitar usando opções '--with-EXTENSION' do 'configure'. Execute 'configure --help' para listar essas opções.

Eu peguei a última versão do código-fonte do PHP do repositório Git na minha máquina Windows, o que eu preciso para compilá-lo?

Veja a Wiki do PHP para instruções atualizadas: » Instruções passo-a-passo

Onde eu acho o Arquivo de Capacidades do Navegador (Browser Capabilities File)?

Você pode achar um arquivo browscap.ini em » http://browscap.org/.

O que significa thread safety quando estou fazendo o download do PHP?

Thread Safety significa que o binário pode trabalhar em um contexto de servidor web multithread, como o Apache 2 no Windows. Thread Safety funciona criando uma cópia local em cada thread, de modo que os dados não colidirão com outra thread.

Então como eu escolho? Se você escolher rodar PHP como binário CGI, então você não precisa do thread safe, porque o binário é chamado a cada requisição. Para servidores web multithread, como o IIS5 e IIS6, você deve usar a versão thread do PHP.


Questões sobre banco de dados

Esta seção possui questões comuns sobre a relação entre o PHP e bases de dados. Sim, o PHP pode acessar virtualmente qualquer base de dados disponível atualmente.

  1. Eu ouvi que é possível acessar o Microsoft SQL Server através do PHP. Como?
  2. Consigo acessar bases de dados Microsoft Access?
  3. Por que a extensão MySQL (ext/myqsl) que utilizei por mais de 10 anos deve ser evitada? Ela foi descontinuada? O que posso usar em seu lugar? Como posso migrar?
  4. Por que recebo um erro que parece com isto: "Warning: 0 is not a MySQL result index in <file> on line <x>" ou "Warning: Supplied argument is not a valid MySQL result resource in <file> on line <x>"?
Eu ouvi que é possível acessar o Microsoft SQL Server através do PHP. Como?

Em máquinas Unix você pode utilizar o PDO_ODBC ou a API ODBC Unificada.

Em máquinas Windows você também pode utilizar PDO_SQLSRV ou SQLSRV.

Veja também a resposta da questão seguinte.

Consigo acessar bases de dados Microsoft Access?

Sim. Você já possui todas as ferramentas que precisa se estiver rodando em ambiente Windows 9x/Me, ou NT/2000, onde você pode usar o driver ODBC e os drivers ODBC para bases de dados Microsoft Access.

Se você estiver rodando PHP em uma box Unix e quiser conversar com o Microsoft Access em uma box Windows será necessário instalar os drivers ODBC para Unix. » OpenLink Software possui drivers para sistemas baseados em Unix que podem fazer isto.

Outra alternativa é usar um servidor SQL que possua drivers Windows ODBC e utilizá-los para armazenar os dados, que você pode então acessar através do Microsoft Access (usando ODBC) e do PHP (usando os drivers já existentes), ou usando um formato de arquivo intermediário que o Microsoft Access e o PHP consigam entender, como arquivos comuns ou bases de dados dBase. Neste ponto Tim Hayes, da OpenLink Software, escreve:

Usar outra base de dados como intermediária não é uma boa ideia, quando você pode usar o ODBC do PHP diretamente para a base de dados - por exemplo, com os drivers fornecidos pela OpenLink. Se você precisar utilizar um formato de arquivo intermediário, a OpenLink lançou o Virtuoso (uma engine de base de dados virtual) para NT, Linux e outras plataformas Unix. Por favor visite » nossa página para um download gratuito.

Uma opção que se mostrou funcional é utilizar MySQL e seus drivers MyODBC no Windows e sincronizar as bases de dados. Steve Lawrence disse:

  • Instale o MySQL em sua plataforma normalmente. A ultima versão está disponível em » http://www.mysql.com/ Nenhuma configuração especial é necessária, exceto quando você configura um banco de dados, e configura uma conta de usuário, quando você deve colocar % no campo host, ou o hostname da máquina Windows com a qual você deseja acessar o MySQL. Anote o nome do seu servidor, o usuário e a senha.
  • Baixe o driver MyODBC para Windows através do site oficial do MySQL. Instale-o em sua máquina Windows. Você pode testar a operação com os utilitários inclusos no programa.
  • Crie um usuário ou dsn de sistema em seu ODBC Administrator, localizado no painel de controle. Crie um nome dsn, entre com seu hostname, usuário, senha, porta, etc. para sua base de dados MySQL configurada no passo 1.
  • Instale o Access com uma instalação completa, isto dá certeza de que você instalou os add-ins necessários... você precisará, ao menos, ter suporte à ODBC e ao gerenciador de tabelas ligadas (linked table manager).
  • Agora a parte divertida! Crie uma nova base de dados Access. Clique com o botão direito na janela de tabelas e selecione Link Tables, ou sob o menu File selecione Get External Data e depois Link Tables. Quando a caixa de navegação de arquivos aparecer, selecione arquivos do tipo: ODBC. Selecione System dsn e o nome do dsn criado no passo 3. Selecione a tabela para ligar, pressione OK, e presto! Agora você consegue abrir a tabela e adicionar/remover/editar dados em seu servidor MySQL! Você também pode construir queries, importar/exportar tabelas para MySQL, construir forumlários e relatórios, etc.

Dicas e Truques:

  • Você pode construir suas tabelas no Access e exportá-las para o MySQL, e então conectá-las de volta. Isto torna o processo de criação de tabelas mais rápido.
  • Quando criar tabelas no Access você deve definir uma chave primária para ter acesso à escrita na tabela no Access. Certifique-se de que criou uma chave primária no MySQL antes de conectá-lo ao Access.
  • Se você alterar a tabela no MySQL, você deve conectá-la novamente no Access. Vá para tools > add-ins > linked table manager, vá até seu ODBC DSN, e selecione a tabela para conectá-la novamente a partir de lá. Você também pode mover seu fonte dsn por ali, apenas selecione o checkbox "always prompt for new location" antes de pressionar OK.

Por que a extensão MySQL (ext/myqsl) que utilizei por mais de 10 anos deve ser evitada? Ela foi descontinuada? O que posso usar em seu lugar? Como posso migrar?

Existem três extensões MySQL, como descrito na seção Escolhendo uma API MySQL. A antiga API não deve ser utlizada, pois está obsoleta desde o PHP 5.5.0 e foi movida para o PECL a partir do PHP 7.0.0. É fortemente recomendado escrever novos códigos utilizando mysqli ou PDO_MySQL.

Scripts de migração não estão disponíveis neste momento, porém a API mysqli possui tanto uma API procedural quanto uma API orientada a objetos, sendo que a versão procedural é similar à ext/mysql.

Não é possível misturar as extensões. Então, por exemplo, passar uma conexão mysqli para PDO_MySQL ou ext/mysql não vai funcionar.

Por que recebo um erro que parece com isto: "Warning: 0 is not a MySQL result index in <file> on line <x>" ou "Warning: Supplied argument is not a valid MySQL result resource in <file> on line <x>"?

Você está tentando utilizar um result identifier que tem valor 0. O valor 0 indica que sua consulta falhou por algum motivo. Você deverá verificar erros depois de submeter uma consulta e antes de tentar utilizar o result identifier retornado. A forma correta de fazer isto é semelhante à que segue:

<?php

$result = mysql_query("SELECT * FROM tables_priv");
if (!$result) {
    echo mysql_error();
    exit;
}
?>
ou
<?php

$result = mysql_query("SELECT * FROM tables_priv")
    or die("Bad query: " . mysql_error());
?>


Instalação

Esta seção contém perguntas comuns sobre a maneira de instalar o PHP. O PHP está disponível para quase todos os sistemas operacionais, e praticamente qualquer servidor web.

Para instalar o PHP, siga as instruções em Instalação e Configuração.

  1. Por que não devemos usar o Apache2 com um módulo MPM com threads em um ambiente de produção?
  2. Unix/Windows: Onde deveria estar localizado meu arquivo php.ini?
  3. Unix: Eu instalei o PHP, mas toda vez que carrego um documento, recebo a mensagem 'Document Contains No Data'! O que está acontecendo?
  4. Unix: Eu instalei o PHP usando RPMS, mas o Apache não está processando as páginas PHP! O que está acontecendo aqui?
  5. Unix: Eu corrigi o Apache com o patch das extensões FrontPage, e repentinamente o PHP parou de funcionar. O PHP é incompatível com as extensões FrontPage do Apache?
  6. Unix/Windows: Eu tenho o PHP instalado, mas quando tento acessar um arquivo de script PHP através do meu browser, recebo uma tela em branco.
  7. Unix/Windows: Eu instalei o PHP, mas quando tento acessar um arquivo de script PHP através do meu browser, recebo um erro 500 do servidor.
  8. Alguns sistemas operacionais: Eu instalei o PHP sem erros, mas quando eu tento iniciar o Apache recebo erros de undefined symbol: [mybox:user /src/php5] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd Undefined symbols: _compress _uncompress
  9. Windows: Eu instalei o PHP, mas quando tento acessar um arquivo de script PHP através do meu browser, eu recebo o erro: cgi error: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
  10. Windows: Eu segui todas as instruções, mas ainda não consegui fazer o PHP e o IIS trabalharem juntos!
  11. Quando executo o PHP como CGI com o IIS, PWS, OmniHTTPD ou Xitami, recebo o seguinte erro: Security Alert! PHP CGI cannot be accessed directly..
  12. Como eu sei se meu php.ini está sendo encontrado e lido? Parece que ele não está, já que as minhas alterações não estão sendo efetuadas.
  13. Como eu adiciono meu diretório PHP ao PATH do Windows?
  14. Como eu torno o arquivo php.ini disponível para o PHP no Windows?
  15. É possível usar a negociação de conteúdo do Apache (opção MultiViews) com o PHP?
  16. O PHP é limitado a processar apenas os métodos de requisições GET e POST?
Por que não devemos usar o Apache2 com um módulo MPM com threads em um ambiente de produção?

O PHP é como uma cola. É a cola usada para construir aplicações web legais unindo dezenas de bibliotecas de terceiros e fazendo tudo aparecer como uma entidade coerente através de uma interface de linguagem intuitiva e fácil de aprender. A flexibilidade e poder do PHP dependem da estabilidade e robustez da plataforma subjacente. Ele precisa de um sistema operacional funcionando, um servidor web funcionando e bibliotecas de terceiros funcionando para juntar. Quando qualquer um desses elementos pára de funcionar o PHP precisa de meios de identificar e remediar os problemas rapidamente. Quando tornamos a arquitetura subjacente mais complexa por não ter threads de execução completamente separadas, segmentos de memória completamente separados e uma sandbox sólida na qual executar cada requisição, mais problemas são introduzidos ao sistema do PHP.

Se quiser utilizar um módulo MPM com threads, veja uma configuração FastCGI onde o PHP seja executado em seu próprio espaço de memória.

Unix/Windows: Onde deveria estar localizado meu arquivo php.ini?

Por padrão no Unix ele deve estar em /usr/local/lib que é o <caminho-da-instalacao>/lib. A maioria das pessoas vai querer mudar isso em tempo de compilação com a flag --with-config-file-path. Poderíamos, por exemplo, configurá-la com algo como:

--with-config-file-path=/etc
E então poderíamos copiar php.ini-development do local de origem da instalação para /etc/php.ini e editá-lo para fazer quaisquer alterações locais que desejássemos.

--with-config-file-scan-dir=PATH

No Windows, o caminho padrão para o arquivo php.ini é o diretório Windows. Se estivermos usando o servidor web Apache, o php.ini primeiro é procurado no diretório de instalação do Apache, por exemplo, c:\program files\apache group\apache. Desta maneira, poderíamos ter diferentes arquivos php.ini para diferentes versões do Apache na mesma máquina.

Veja também o capítulo sobre o arquivo de configuração.

Unix: Eu instalei o PHP, mas toda vez que carrego um documento, recebo a mensagem 'Document Contains No Data'! O que está acontecendo?

Isso provavelmente significa que o PHP está tendo algum tipo de problema e está sofrendo um core dump (fim com despejo de memória). Olhe nos logs de erro do servidor web para ver se este é o caso, e então tente reproduzir o problema com um pequeno caso de teste. Se você souber como usar 'gdb', é muito útil quando você pode fornecer um backtrace com seu relatório de erros para ajudar os desenvolvedores a identificar o problema. Se estiver usando o PHP como um módulo do Apache tente algo como:

  • Pare seus processos httpd

  • gdb httpd

  • Pare seus processos httpd

  • > execute -X -f /caminho/para/httpd.conf

  • Então acesse o URL que está causando problemas com seu browser.

  • > execute -X -f /caminho/para/httpd.conf

  • Se estiver ocorrendo um core dump, o gdb deverá informar sobre isso agora

  • type: bt

  • Você deve incluir o backtrace no seu relatório de erros. Envie o relatório para » https://bugs.php.net/

Se o seu script usa as funções de expressões regulares ( preg_match() e demais), você deve ter certeza de que compilou o PHP e o Apache com a mesma versão do pacote de expressões regulares. Isso deve acontecer automaticamente com o PHP e Apache 1.3.x.

Unix: Eu instalei o PHP usando RPMS, mas o Apache não está processando as páginas PHP! O que está acontecendo aqui?

Supondo que você instalou tanto o Apache quanto o PHP a partir dos pacotes RPM, você precisa descomentar ou adicionar algumas ou todas as linhas a seguir ao seu arquivo httpd.conf:

# Módulos extra
AddModule mod_php.c
AddModule mod_perl.c

# Módulos extra
LoadModule php_module         modules/mod_php.so
LoadModule php5_module        modules/libphp5.so
LoadModule perl_module        modules/libperl.so
E adicionar:
AddType application/x-httpd-php .php
... às propriedades globais, ou às propriedades do VirtualDomain ao qual você deseja adicionar o suporte ao PHP.

Unix: Eu corrigi o Apache com o patch das extensões FrontPage, e repentinamente o PHP parou de funcionar. O PHP é incompatível com as extensões FrontPage do Apache?

Não, O PHP funciona bem com as extensões FrontPage. O problema é que o patch do FrontPage modifica diversas estruturas do Apache, das quais o PHP depende. Recompilar o PHP (usando 'make clean ; make') depois de aplicar o patch FP deve resolver o problema.

Unix/Windows: Eu tenho o PHP instalado, mas quando tento acessar um arquivo de script PHP através do meu browser, recebo uma tela em branco.

Faça um 'view source' no navegador web e provavelmente descobrirá que pode ver o código fonte do seu script PHP. Isto significa que o seu servidor web não enviou o script para o interpretador do PHP. Algo está errado com as configurações do seu servidor - verifique novamente as configurações de seu servidor, com base nas intruções de instalação do PHP.

Unix/Windows: Eu instalei o PHP, mas quando tento acessar um arquivo de script PHP através do meu browser, recebo um erro 500 do servidor.

Alguma coisa deu errado quando o servidor tentou executar o PHP. Para conseguir ver uma mensagem de erro razoável, na linha de comando, mude para o diretório que contém o executável do PHP (php.exe no Windows) e execute php -i. Se o PHP tiver algum problema para rodar, então uma mensagem de erro apropriada será exibida, o que lhe dará pistas do que precisa ser feito em seguida. Se você receber uma tela cheia de códigos HTML (a saída da função phpinfo()) então o PHP está funcionando, e seu problema pode ser relacionado à configuração do seu servidor, que você deve verificar novamente.

Alguns sistemas operacionais: Eu instalei o PHP sem erros, mas quando eu tento iniciar o Apache recebo erros de undefined symbol:
[mybox:user /src/php5] root# apachectl configtest
 apachectl: /usr/local/apache/bin/httpd Undefined symbols:
  _compress
  _uncompress

Isto não tem nada a ver com o PHP, mas com as bibliotecas do cliente MySQL. Algumas necessitam de --with-zlib, outras não. Isso também é abordado nas FAQ do MySQL.

Windows: Eu instalei o PHP, mas quando tento acessar um arquivo de script PHP através do meu browser, eu recebo o erro:
cgi error:
 The specified CGI application misbehaved by not
 returning a complete set of HTTP headers.
 The headers it did return are:

Esta mensagem de erro significa que o PHP falhou em gerar qualquer saída. Para começar a ver uma mensagem de erro razoável, na linha de comando, mude para o diretório que contém o executável PHP (php.exe no Windows) e execute php -i. Se o PHP estiver com algum problema para rodar, então uma mensagem de erro adequada será exibida, o que lhe dará uma idéia do que precisa ser feito em seguida. Se você receber uma tela cheia de códigos HTML (a saída da função phpinfo()) então o PHP está funcionando.

Uma vez que o PHP esteja funcionando na linha do comando, tente acessar o script via navegador novamente. Se ele ainda falhar, então pode ser um dos seguintes:

  • As permissões de arquivo no seu script PHP, php.exe, php5ts.dll, php.ini ou qualquer extensão do PHP que você está tentando carregar são tais que o usuário anônimo ISUR_<machinename> não pode acessá-los.
  • O arquivo de script não existe (ou provavelmente não está onde você acha que ele está em relação ao seu diretório root web). Note que com o IIS você pode interceptar o erro marcando a opção 'verificar se o arquivo existe' quando configurar os mapeamentos de script no Gerenciador de Serviços de Internet. Se um arquivo de script não existe então o servidor web irá retornar um erro 404. Há também o benefício adicional que o IIS fará qualquer autenticação exigida para você com base nas permissões NTLanMan no seu arquivo de script.
Windows: Eu segui todas as instruções, mas ainda não consegui fazer o PHP e o IIS trabalharem juntos!

Certifique-se de que qualquer usuário que precise executar um script PHP tem permissão para executar o php.exe! O IIS usa um usuário anônimo que é adicionado no momento que o IIS é instalado. Este usuário precisa de permissões para o php.exe. Além disso, qualquer usuário autenticado também precisará ter permissão para executar o php.exe. E para o IIS4 você precisa dizer que o PHP é um engine de script. Além disso, você também vai querer ler esta FAQ.

Quando executo o PHP como CGI com o IIS, PWS, OmniHTTPD ou Xitami, recebo o seguinte erro: Security Alert! PHP CGI cannot be accessed directly..

Você deve definir a diretiva cgi.force_redirect para 0. O padrão é 1, então certifique-se que a directiva não está comentada (com um ;). Como todas as diretivas, esta é definida no php.ini

Pelo fato do padrão ser 1, é fundamental que você tenha certeza de que o arquivo php.ini correto está sendo lido. Leia esta FAQ para detalhes.

Como eu sei se meu php.ini está sendo encontrado e lido? Parece que ele não está, já que as minhas alterações não estão sendo efetuadas.

Para ter certeza de que seu php.ini está sendo lido pelo PHP, faça uma chamada à função phpinfo(). Próximo ao topo, haverá uma lista chamada Configuration File (php.ini). Esta irá lhe dizer onde o PHP está procurando o php.ini e se ele está sendo lido ou não. Se houver apenas um diretório do PATH, então ele não está sendo lido e você deve colocar seu php.ini neste diretório. Se o php.ini está incluso dentro do PATH, ele está sendo lido.

Se o php.ini está sendo lido e seu PHP está sendo executado como um módulo, então certifique-se de reiniciar seu servidor web depois de fazer alterações no php.ini.

Veja também php_ini_loaded_file().

Como eu adiciono meu diretório PHP ao PATH do Windows?

No Windows 7, XP, Vista, 2008, 2012 e acima:

  • Vá até o Painel de Controle e abra o ícone de Sistema (Iniciar ? Painel de Controle)

  • Vá até a aba Avançado

  • Clique no botão 'Variáveis de Ambiente'

  • Procure o painel 'Variáveis do Sistema'

  • Encontre o item Path (talvez você precise rolar a lista para encontrá-lo)

  • Dê um duplo clique no item Path

  • Adicione seu diretório do PHP ao final, incluindo ';' antes (por exemplo, ;C:\php)

  • Aperte OK e reinicie seu computador

No Windows 98/Me você precisa editar o arquivo autoexec.bat :

  • Abra o Bloco de Notas (Iniciar ? Executar e digite notepad)

  • Abra o arquivo C:\autoexec.bat

  • Localize a linha com PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;..... e adicione: ;C:\php no final desta linha

  • Salve o arquivo e reinicie seu computador

Nota: Certifique-se de reiniciar depois de seguir os passos acima para garantir que as alterações ao PATH sejam aplicadas.

O manual do PHP costumava sugerir a cópia de arquivos para o diretório do sistema do Windows, isso porque o diretório (C:\Windows, C:\WINNT, etc.) está por padrão no PATH do sistema. Copiar os arquivos para o diretório do sistema do Windows há muito tempo está em desuso e pode causar problemas.

Como eu torno o arquivo php.ini disponível para o PHP no Windows?

Existem várias maneiras de fazer isso. Se você usa o Apache, leia as instruções específicas de instalação (Apache 1, Apache 2), caso contrário você deve definir a variável de ambiente PHPRC:

No Windows:

  • Acesse o Painel de Controle e abra o ícone Sistema (Iniciar ? Configurações ? Painel de Controle ? Sistema, ou apenas Iniciar ? Painel de Controle ? Sistema)

  • Vá na aba Avançado

  • Clique no botão 'Variáveis de Ambiente'

  • Procure o painel 'Variáveis do Sistema'

  • Clique em 'Novo' e digite 'PHPRC' como nome da variável e o diretório onde o php.ini está localizado como o valor da variável (por exemplo, C:\php)

  • Dê um OK e reinicie o computador

No Windows 98/Me você precisa editar o arquivo autoexec.bat :

  • Abra o Bloco de Notas (Iniciar ? Executar e digite notepad)

  • Abra o arquivo C:\autoexec.bat

  • Adicione uma nova linha no final no arquivo: set PHPRC=C:\php (substitua C:\php pelo diretório onde o php.ini está localizado). Note que o caminho não pode conter espaços. Por exemplo, se você instalou o PHP em C:\Program Files\PHP, você adicionaria C:\PROGRA~1\PHP em vez disso.

  • Salve o arquivo e reinicie o computador

É possível usar a negociação de conteúdo do Apache (opção MultiViews) com o PHP?

Se os links para arquivos PHP incluem extensões, tudo funcionará perfeitamente. Esta FAQ é apenas para o caso em que links para arquivos PHP não incluem a extensão e você quer usar a negociação de conteúdo para selecionar arquivos PHP a partir de URLs sem nenhuma extensão. Neste caso, substitua a linha AddType application/x-httpd-php .php por:

AddHandler php5-script php
AddType text/html php
Esta solução não funciona para o Apache 1, pois o módulo PHP não captura php-script.

O PHP é limitado a processar apenas os métodos de requisições GET e POST?

Não, é possível lidar com qualquer método de requisição, por exemplo, CONNECT. Status de respostas adequados podem ser enviados com header(). Se somente os métodos GET e POST devem ser manipulados, isso pode ser alcançado com esta configuração do Apache:

<LimitExcept GET POST>
Deny from all
</LimitExcept>


Problemas de Compilação

Esta seção reúne os erros mais comuns que ocorrem na compilação.

  1. Eu peguei a última versão do PHP usando o serviço anônimo do GIT, mas não há nenhum script de configuração!
  2. Estou tendo problemas para configurar o PHP para trabalhar com Apache. Diz que não consegue encontrar httpd.h, mas está bem onde eu disse que está!
  3. Se enquanto estiver configurando o (./configure) do PHP, você se deparar com um erro semelhante ao seguinte: checking lex output file root... ./configure: lex: command not found configure: error: cannot find output from lex; giving up
  4. Quando tento iniciar o Apache, recebo a seguinte mensagem: fatal: relocation error: file /path/to/libphp4.so: symbol ap_block_alarms: referenced symbol not found
  5. Quando eu executo configure, ele diz que não pode encontrar os arquivos de inclusão ou a biblioteca GD, gdbm, ou algum outro pacote!
  6. Quando se está compilando o arquivo language-parser.tab.c, ele me devolve um erro que diz yytname undeclared.
  7. Quando eu executo make, parace rodar bem mas então falha quando tenta ligar a applicação final, queixando-se que não consegue encontrar alguns arquivos.
  8. Quando linkando o PHP, ele reclama de um número de referências indefinidas.
  9. Eu não consigo entender como compilar o PHP com Apache 1.3.
  10. Eu segui todos os passos da istalação do modulo da versão do Apache no Unix, e meus scripts PHP estão sendo mostrados no meu navegador ou me é solicitado salvar os arquivos.
  11. Lá diz para usar: --activate-module=src/modules/php4/libphp4.a, mas esse arquivo não existe, então mudei para --activate-module=src/modules/php4/libmodphp4.a e não funciona!? O que está acontecendo?
  12. Quando tento compilar o Apache com o PHP como um módulo estático usando --activate-module=src/modules/php4/libphp4.a ele me diz que o meu compilador não é compatível com ANSI.
  13. Quando tento compilar o PHP usando --with-apxs recebo mensagens de erro estranhas.
  14. Durante make, eu recebo erros no microtime, e um monte de RUSAGE_.
  15. Ao compilar o PHP com MySQL, o configure vai bem, mas durante o make recebo um erro semelhante ao seguinte: ext/mysql/libmysqlclient/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysqlclient/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', o que está errado ?
  16. Eu quero atualizar o meu PHP. Onde posso encontrar a linha ./configure que foi usada para compilar a minha instalação atual do PHP?
  17. Quando compilo o PHP com a biblioteca GD retorna erros de compilação ou segfaults na execução.
  18. Ao compilar o PHP eu recebo erros aparentemente aleatórios, como se ele travasse. Estou usando o Solaris, se isso importa.
Eu peguei a última versão do PHP usando o serviço anônimo do GIT, mas não há nenhum script de configuração!

Você precisa ter o pacote GNU autoconf instalado para que possa gerar o script configure a partir do configure.in. Basta executar ./buildconf no diretório raiz após a obtenção do código fonte do servidor do GIT. (Além disso, a menos que você execute com configure com a opção --enable-maintainer-mode, o script configure não será automaticamente recompilado quando o arquivo configure.in for atualizado, então você deve certificar-se de fazer isso manualmente quando você perceber que o configure.in mudou. Um sintoma disso é encontrar coisas como @VARIABLE@ em seu Makefile após configure ou config.statustiver sido executado.)

Estou tendo problemas para configurar o PHP para trabalhar com Apache. Diz que não consegue encontrar httpd.h, mas está bem onde eu disse que está!

Você precisa informar ao script configure/setup a localização do diretório raíz do Apache. Isto significa que você precisa especificar --with-apache=/caminho/para/apache e não --with-apache=/caminho/para/apache/src.

Se enquanto estiver configurando o (./configure) do PHP, você se deparar com um erro semelhante ao seguinte:

checking lex output file root... ./configure: lex: command not found
configure: error: cannot find output from lex; giving up

Não deixe de ler as instruções de instalação cuidadosamente e note que você precisa de ambos flex e bison instalados para compilar o PHP. Dependendo da sua configuração você irá instalar bison e flex a partir de uma fonte ou pacote, como um RPM.

Quando tento iniciar o Apache, recebo a seguinte mensagem:

fatal: relocation error: file /path/to/libphp4.so:
symbol ap_block_alarms: referenced symbol not found

Esse erro geralmente aparece quando um compila o core do Apache como uma biblioteca DSO para uso compartilhado. Tente reconfigurar o apache, certificando-se de usar pelomenos um dos seguintes parâmetros:

--enable-shared=max --enable-rule=SHARED_CORE

Para obter mais informações, leia o arquivo INSTALL que se encontra na pasta raíz do Apache ou a » página sobre DSO no manual do Apache.

Quando eu executo configure, ele diz que não pode encontrar os arquivos de inclusão ou a biblioteca GD, gdbm, ou algum outro pacote!

Você pode fazer o script configure procurar por arquivos de cabeçalho e bibliotecas em locais diferentes, especificando parâmetros adicionais para passar para o pré-processador C e linker, tais como:

    CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
If you're using a csh-variant for your login shell (why?), it would be:
    env CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure

Quando se está compilando o arquivo language-parser.tab.c, ele me devolve um erro que diz yytname undeclared.

Você precisa atualizar sua versão do Bison. Você pode encontrar a última versão em » http://www.gnu.org/software/bison/bison.html.

Quando eu executo make, parace rodar bem mas então falha quando tenta ligar a applicação final, queixando-se que não consegue encontrar alguns arquivos.

Algumas versões antigas do make que não colocam corretmente a versão compilada dos arquivos nos diretórios das funções dentro do mesmo diretório. Tente rodar cp *.o functions e então execute novamente make para ver se isso ajuda. Se não ajudar, você realmente deve atualizar para uma versão mais recente do GNU make.

Quando linkando o PHP, ele reclama de um número de referências indefinidas.

De uma olhada na linha do link e tenha certeza que todas as bibliotecas apropriadas estão sendo incluídas no final. É comum que talvez você tenha esquecido os '-ldl' e qualquer biblioteca requerida para qualquer suporte de banco de dados que você incluiu.

Algumas pessoas também reportaram que elas precisaram adicionar '-ldl' imediatamente seguindo libphp4.a quando linkando com o Apache.

Eu não consigo entender como compilar o PHP com Apache 1.3.

Na verdade isso é bem fácil. Siga esses passos cuidadosamente:

  • Obtenha a distribuição da última versão do Apache 1.3 no link » http://httpd.apache.org/download.cgi.
  • Descompacte em algum lugar, por exemplo /usr/local/src/apache-1.3.
  • Compile o PHP executando primeiramente ./configure --with-apache=/<path>/apache-1.3 (substitua <path> pelo caminho atual do seu diretório apache-1.3.
  • Digite make seguido por make install para compilar o PHP e copiar os arquivos necessários para a árvore de distribuição do Apache.
  • Troque os diretórios dentro do seu diretório /<path>/apache-1.3/src e edite o arquivo Configuration. Adicione ao arquivo: AddModule modules/php4/libphp4.a.
  • Digite: ./configure seguido de make.
  • Você deve ter agora um httpd binário com PHP habilitado!

Nota: Você também pode usar o novo script ./configure do Apache. Veja as instruções no arquivo README.configure o qual faz parte da sua distribuição Apache. Dê uma olhada também no arquivo INSTALL na distrubuição PHP.

Eu segui todos os passos da istalação do modulo da versão do Apache no Unix, e meus scripts PHP estão sendo mostrados no meu navegador ou me é solicitado salvar os arquivos.

Isso significa que o modulo do PHP não está sendo chamado por alguma razão. Três coisas para se verificar antes de pedir por mais ajuda:

  • Tenha certeza que o binário httpd que você esta executndo é o que você acabou de compilar. Para fazer isso, tente executar: /caminho/para/binário/httpd -l Se você não vê mod_php4.c na lista, então você não estivá executando o binário correto. Encontre e instalale o binário correto.
  • Certifique-se de ter adicionado o Mime Type correto em um dos seus arquivos .conf do Apache. Deveria ser: AddType application/x-httpd-php .php Também certifique-se que esta linha AddType não esteja escondida dentro de um bloco <Virtualhost> ou <Directory> que possam impedí-la de ser aplicada para a localização de seu script de teste.
  • Finalmente, a localização padrão dos arquivos de configuração do Apache mudou entre o Apache 1.2 e Apache 1.3. Você deve verificar para ter certeza que o arquivo de configuração que você está adicionando à linha do AddType realmente está sendo lido. Você pode colocar um erro de sintaxe óbvio em seu arquivo httpd.conf ou alguma outra mudança evidente que diga se o arquivo está sendo lido corretamente.

Lá diz para usar: --activate-module=src/modules/php4/libphp4.a, mas esse arquivo não existe, então mudei para --activate-module=src/modules/php4/libmodphp4.a e não funciona!? O que está acontecendo?

Note que o arquivo libphp4.a não é para existir. O processo apache irá criá-lo!

Quando tento compilar o Apache com o PHP como um módulo estático usando --activate-module=src/modules/php4/libphp4.a ele me diz que o meu compilador não é compatível com ANSI.

Esta é uma mensagem de erro enganosa do Apache que foi corrigida nas versões mais recentes.

Quando tento compilar o PHP usando --with-apxs recebo mensagens de erro estranhas.

Há três coisas para verificar aqui. Em primeiro lugar, por alguma razão o Apache quando compila o script Perl apxs, às vezes acaba sendo compilado sem o compilador e os parâmetros corretos. Procure pelo seu script apxs (tente o comando which apxs), às vezes é encontrado em /usr/local/apache/bin/apxs ou /usr/sbin/apxs. Abra-o e verifique se existem linhas semelhantes a estas:

my $CFG_CFLAGS_SHLIB  = ' ';          # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = ' ';          # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' ';          # substituted via Makefile.tmpl
Se é isso que você vê, você encontrou o seu problema. Elas podem conter apenas espaços ou outros valores incorretos, como 'q()'. Altere estas linhas de modo que fiquem assim:
my $CFG_CFLAGS_SHLIB  = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = 'gcc';                   # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);              # substituted via Makefile.tmpl
O segundo problema possível só deve ser um problema no Red Hat 6.1 e 6.2. O script apxs do Red Hat está quebrado. Procure por esta linha:
my $CFG_LIBEXECDIR    = 'modules';         # substituted via APACI install
Se você vê a linha acima, mude para isto:
my $CFG_LIBEXECDIR    = '/usr/lib/apache'; # substituted via APACI install
Finalmente, se você reconfigurar/reinstalar o Apache, adicione make clean ao processo após ./configure e antes de make.

Durante make, eu recebo erros no microtime, e um monte de RUSAGE_.

Enquanto é executada a porção make da instalação, se você encontrar problemas que parecem semelhantes a estes:

microtime.c: In function `php_if_getrusage':
microtime.c:94: storage size of `usg' isn't known
microtime.c:97: `RUSAGE_SELF' undeclared (first use in this function)
microtime.c:97: (Each undeclared identifier is reported only once
microtime.c:97: for each function it appears in.)
microtime.c:103: `RUSAGE_CHILDREN' undeclared (first use in this function)
make[3]: *** [microtime.lo] Error 1
make[3]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/master/php-4.0.1/ext'
make: *** [all-recursive] Error 1

Seu sistema está quebrado. É preciso corrigir os arquivos /usr/include instalndo o pacote glibc-devel que corresponde ao seu glibc. Isto não tem absolutamente nada a ver com o PHP. Para provar isso a si mesmo, tente este teste simples:

$ cat >test.c <<X
#include <sys/resource.h>
X
$ gcc -E test.c >/dev/null
Se isso mostrar erros, você saberá que os arquivos include estão bagunçados.

Ao compilar o PHP com MySQL, o configure vai bem, mas durante o make recebo um erro semelhante ao seguinte: ext/mysql/libmysqlclient/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysqlclient/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', o que está errado ?

Primeiramente, é importante perceber que este é um Warning e não um erro fatal. Porque esta é muitas vezes a última saída durante o make, ela pode parecer um erro fatal, mas não é. Claro que, se você definir o seu compilador para parar em warnings, ele vai parar. Além disso tenha sempre em mente que o suporte ao MySQL está habilitado por padrão.

Nota:

A partir do PHP 4.3.2, você também verá o seguinte texto depois que a compilação (make) for concluída:

Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).

Eu quero atualizar o meu PHP. Onde posso encontrar a linha ./configure que foi usada para compilar a minha instalação atual do PHP?

Ou você olha no arquivo config.nice, na pasta raíz atual da sua instalação do PHP, ou, se este não estiver disponível, basta executar um script

<?php phpinfo(); ?>
No topo da saída a linha ./configure que foi usada para compilar esta instalação do PHP é mostrada.

Quando compilo o PHP com a biblioteca GD retorna erros de compilação ou segfaults na execução.

Certifique-se de que sua biblioteca GD e o PHP estejam ligadas à mesmas bibliotecas dependentes (libpng por exemplo).

Ao compilar o PHP eu recebo erros aparentemente aleatórios, como se ele travasse. Estou usando o Solaris, se isso importa.

Usar utilitários que não são GNU ao compilar o PHP pode causar problemas. Certifique-se de usar as ferramentas GNU, a fim de ter certeza de que a compilação do PHP funcionará. Por exemplo, no Solaris, usando tanto o SunOS BSD-compatible quanto versões do Solaris sed não vai funcionar, mas usando as versões GNU ou Sun POSIX (XPG4) do sed irá funcionar. Links: » GNU sed, » GNU flex, e » GNU bison.


Utilizando o PHP

Esta seção reúne vários erros comuns que você pode encontrar enquanto estiver escrevendo scripts PHP.

  1. Não consigo me lembrar da ordem dos parâmetros das funções PHP. Eles são aleatórios?
  2. Eu gostaria de escrever um script PHP genérico que fosse capaz de manipular dados provenientes de qualquer formulário. Como eu sei quais variáveis do método POST estão disponíveis?
  3. Preciso converter todas as aspas simples (') para uma barra invertida seguida por uma aspa simples (\'). Como eu posso fazer isso utilizando expressões regulares? Gostaria de converter também " para \" e \ para \\.
  4. Quando eu faço o seguinte, a saída é exibida na ordem errada: <?php function myfunc($argument) { echo $argument + 10; } $variable = 10; echo "myfunc($variable) = " . myfunc($variable); ?> o que está acontecendo?
  5. Ei, o que aconteceu com as minhas novas linhas? <pre> <?php echo "Esta deve ser a primeira linha."; ?> <?php echo "Esta deveria ser uma nova linha."; ?> </pre>
  6. Recebi a mensagem 'Warning: Cannot send session cookie - headers already sent...' ou 'Cannot add header information - headers already sent...'.
  7. Preciso acessar informações no cabeçalho de requisição diretamente. Como eu faço isso?
  8. Quando eu tento utilizar autenticação com o IIS eu recebo a mensagem 'No Input file specified'.
  9. Windows: Não consigo acessar arquivos compartilhados em outro computador utilizando IIS.
  10. Como faço para misturar XML e PHP? Ele reclama das minhas tags <?xml!
  11. Onde posso encontrar uma lista completa das variáveis que estão disponíveis para mim no PHP?
  12. Como posso gerar arquivos PDF sem utilizar bibliotecas não-livres e comerciais como PDFLib? Eu gostaria de alguma que fosse livre e não precisasse de bibliotecas PDF externas.
  13. Estou tentando acessar uma das variáveis padrões do CGI (como $DOCUMENT_ROOT ou $HTTP_REFERER) em uma função definida pelo usuário e não consigo encontrá-la. O que está errado?
  14. Algumas diretivas PHP podem receber valores em bytes de forma abreviada (1K), ao contrário de apenas valores inteiros. Quais são todas as opções disponíveis de bytes de forma abreviada?
  15. Windows: Estou recebendo timeouts de conexão quando utilizo localhost ao passo que "127.0.0.1" funciona?
Não consigo me lembrar da ordem dos parâmetros das funções PHP. Eles são aleatórios?

O PHP é uma "cola" que reúne centenas de bibliotecas externas, então às vezes isso fica desorganizado. No entanto, uma regra simples é a seguinte:

Os parâmetros de funções de Array são ordenados como "needle, haystack" ao passo que funções de String são o contrário, logo "haystack, needle".

Eu gostaria de escrever um script PHP genérico que fosse capaz de manipular dados provenientes de qualquer formulário. Como eu sei quais variáveis do método POST estão disponíveis?

O PHP disponibiliza muitas variáveis predefinidas, como a superglobal $_POST. Você pode iterar através de $_POST, já que ele é um array associativo com todos os valores enviados com o método POST. Por exemplo, vamos iterar através de POST com foreach, verificar se há valores vazios com empty() e imprimi-los na tela.

<?php
$empty = $post = array();
foreach ($_POST as $varname => $varvalue) {
    if (empty($varvalue)) {
        $empty[$varname] = $varvalue;
    } else {
        $post[$varname] = $varvalue;
    }
}

print "<pre>";
if (empty($empty)) {
    print "Nenhum dos valores enviados com POST estão vazios, enviado:\n";
    var_dump($post);
} else {
    print "Temos " . count($empty) . " valores vazios\n";
    print "Enviado:\n"; var_dump($post);
    print "Vazio:\n"; var_dump($empty);
    exit;
}
?>

Preciso converter todas as aspas simples (') para uma barra invertida seguida por uma aspa simples (\'). Como eu posso fazer isso utilizando expressões regulares? Gostaria de converter também " para \" e \ para \\.

Considerando que isso seja para um banco de dados, utilize o mecanismo de escape que vem com o banco de dados. Por exemplo, utilize mysql_real_escape_string() com MySQL e pg_escape_string() com PostgreSQL. Existem também as funções genéricas addslashes() e stripslashes(), que são mais comuns com códigos PHP antigos.

Nota: Nota sobre a diretiva magic_quotes_gpc:

A diretiva magic_quotes_gpc tem por padrão on. Ela essencialmente utiliza addslashes() em todos os dados postados por GET, POST e COOKIEs. stripslashes() pode ser usado para reverter isso.

Quando eu faço o seguinte, a saída é exibida na ordem errada:
<?php
function myfunc($argument)
{
    echo $argument + 10;
}
$variable = 10;
echo "myfunc($variable) = " . myfunc($variable);
?>
o que está acontecendo?

Para ser capaz de utilizar os resultados de suas funções em uma expressão (como concatenar com uma string no exemplo acima), você precisa utilizar return para retornar o valor e não echo.

Ei, o que aconteceu com as minhas novas linhas?
<pre>
<?php echo "Esta deve ser a primeira linha."; ?>
<?php echo "Esta deveria ser uma nova linha."; ?>
</pre>

No PHP, um bloco de código é fechado com "?>" ou "?>\n" (onde \n significa uma nova linha). Logo, no exemplo anterior, as sentenças serão exibidas na mesma linha porque o PHP omite o caractere de nova linha após o final do bloco de código. Isso significa que você precisa inserir uma nova linha depois de cada bloco de código PHP para exibi-las em uma nova linha.

Por que o PHP faz isso? Porque quando está formatando HTML, isto normalmente torna sua vida mais fácil porque não se quer esta nova linha, senão você teria que criar linhas extremamente longas ou tornar o código fonte ilegível para alcançar este efeito.

Recebi a mensagem 'Warning: Cannot send session cookie - headers already sent...' ou 'Cannot add header information - headers already sent...'.

As funções header(), setcookie() e as funções de sessão precisam adicionar os cabeçalhos ao stream de saída, mas os cabeçalhos só podem ser enviados antes de qualquer outro conteúdo. Não pode haver nenhuma saída antes de utilizar estas funções como HTML. A função headers_sent() irá verificar se o seu script já enviou cabeçalhos e veja também as funções de Controle de Saída.

Preciso acessar informações no cabeçalho de requisição diretamente. Como eu faço isso?

A função getallheaders() fará isso se você estiver rodando o PHP como um módulo do Apache. Logo, o fragmento de código abaixo sempre exibirá todos os cabeçalhos de requisição:

<?php
$headers = getallheaders();
foreach ($headers as $name => $content) {
    echo "headers[$name] = $content<br />\n";
}
?>

Veja também
apache_lookup_uri(),
apache_response_headers() e
fsockopen()

Quando eu tento utilizar autenticação com o IIS eu recebo a mensagem 'No Input file specified'.

O modelo de segurança do IIS é o culpado aqui. Este é um problema comum a todos os programas CGI rodando no IIS. A solução é criar um arquivo HTML (não interpretado pelo PHP) como uma página de entrada para o diretório autenticado. Então utilizar a tag META para redirecionar para a página PHP ou fornecer um link para a página PHP. O PHP irá então reconhecer a autenticação corretamente. Com o módulo ISAPI, este não é um problema. Isto não deve afetar outros servidores web NT. Para mais informações veja: » http://support.microsoft.com/kb/q160422/ e a seção do manual em Autenticação HTTP .

Windows: Não consigo acessar arquivos compartilhados em outro computador utilizando IIS.

Você terá que alterar o Go to Internet Information Services. Localize o arquivo PHP e vá até suas propriedades. Vá até a aba File Security, Edit -< Anonymous access and authentication control.

Pode-se corrigir o problema desabilitando Anonymous Access e deixando Integrated Window Authentication habilitado, ou habilitando Anonymous Access e editando o usuário para que ele não possa ter o direito de acesso.

Como faço para misturar XML e PHP? Ele reclama das minhas tags <?xml!

Para utilizar <?xml diretamente no seu código PHP, você terá que desabilitar as short tags definindo a diretiva PHP short_open_tags como 0. Você não pode configurar esta diretiva com a função ini_set(). Independentemente de short_open_tags estar ativada ou não, você pode fazer algo como: <?php echo '<?xml'; ?>. O padrão para esta diretiva é On.

Onde posso encontrar uma lista completa das variáveis que estão disponíveis para mim no PHP?

Leia a página do manual variáveis predefinidas dado que ele inclui uma lista parcial das variáveis predefinidas disponíveis para o seu script. Uma lista completa das variáveis disponíveis (e muito mais informação) pode ser vista chamando a função phpinfo(). Não deixe de ler a seção do manual variáveis de fontes externas uma vez que descreve cenários comuns para variáveis externas como aquelas originadas de um formulário HTML, cookie ou da URL.

Nota: Nota importante sobre register_globals:

Desde o PHP 4.2.0, o valor padrão para a diretiva register_globals é off. A comunidade do PHP desencoraja desenvolvedores a confiar nesta diretiva, e encoraja o uso de outros meios, como em superglobals.

Como posso gerar arquivos PDF sem utilizar bibliotecas não-livres e comerciais como PDFLib? Eu gostaria de alguma que fosse livre e não precisasse de bibliotecas PDF externas.

Existem algumas poucas alternativas escritas em PHP como » FPDF e » TCPDF.

Estou tentando acessar uma das variáveis padrões do CGI (como $DOCUMENT_ROOT ou $HTTP_REFERER) em uma função definida pelo usuário e não consigo encontrá-la. O que está errado?

Em vez disso, use $_SERVER['DOCUMENT_ROOT'] e $_SERVER['HTTP_REFERER'].

Algumas diretivas PHP podem receber valores em bytes de forma abreviada (1K), ao contrário de apenas valores inteiros. Quais são todas as opções disponíveis de bytes de forma abreviada?

As opções disponíveis são K (para Kilobytes), M (para Megabytes) e G (para Gigabytes; disponíveis desde o PHP 5.1.0), tanto em maiúsculas ou minúsculas. Qualquer outra coisa é tratada como bytes. 1M é igual a um Megabyte ou 1048576 bytes. 1K é igual a um Kilobyte ou 1024 bytes. Essas notações abreviadas podem ser utilizadas no php.ini e na função ini_set().

Nota: kilobyte versus kibibyte

A notação do PHP descreve um kilobyte equivalente a 1024 bytes, enquanto que o padrão IEC considera que este deve ser um kibibyte. Resumindo: k e K = 1024 bytes.

Windows: Estou recebendo timeouts de conexão quando utilizo localhost ao passo que "127.0.0.1" funciona?

Antes do PHP 5.3.4, existia um bug no código de resolução de rede dentro do PHP que causava erros usando localhost em todas as situações relacionadas a stream se o IPv6 estivesse habilitado. Para solucionar este problema você pode utilizar tanto "127.0.0.1" como desabilitar a resolução IPv6 no arquivo hosts.


Gerando hash seguro de senha

Esta seção explica as razões por trás do uso de funções de hash para proteger senhas, bem como fazê-lo de forma eficaz.

  1. Por que eu deveria gerar hash das senhas fornecidas pelos usuários da minha aplicação?
  2. Por que são comuns funções de hash tais como md5 e sha1 inadequados para senhas?
  3. Como devo criptografar minhas senhas, se as funções hash comuns não são adequadas?
  4. O que é um salt?
  5. Como faço para armazenar meus salts?
Por que eu deveria gerar hash das senhas fornecidas pelos usuários da minha aplicação?

Gerar hash de senha é uma das considerações mais básicas de segurança que deve ser feita ao projetar qualquer aplicativo que aceita senhas dos usuários. Sem gerar hash, todas as senhas armazenadas em seu banco de dados da aplicação podem ser roubadas, e então imediatamente usada para comprometer não só a sua aplicação, mas também as contas de seus usuários em outros serviços, se eles não usarem senhas únicas.

Aplicando um algoritmo de hash para a senha de seus usuários antes de armazenar em seu banco de dados, dificulta um atacande determinar a senha original, enquanto ainda é possível de comparar o hash resultante para a senha original no futuro.

É importante observar, entretanto, que hash de senhas só protege de comprometer em seu armazenameto de dados, mas não necessariamente protege de serem interceptadas por um código malicioso injetado em sua própria aplicação.

Por que são comuns funções de hash tais como md5() e sha1() inadequados para senhas?

Algoritmos de hash como MD5, SHA1 e SHA256 são projetados para serem muito rápidos e eficientes. Com técnicas modernas e equipamento de informática, tornou-se trivial de "força bruta" a saída desses algoritmos, a fim de determinar a entrada original.

Por causa da rapidez com que um computador moderno pode "inverter" esses algoritmos de hash, muitos profissionais de segurança sugerem fortemente contra a sua utilização para hash da senha.

Como devo criptografar minhas senhas, se as funções hash comuns não são adequadas?

Quando gerar hash de senhas, as duas considerações mais importantes o custo do cálculo, e do salt. O algoritmo de hash computacionalmente mais caro, mais tempo vai demorar para saída de força bruta.

PHP 5.5 fornece uma API de hash de senha nativo que lida de forma segura tanto gerando hash e verificando senhas de forma segura. Há também » uma biblioteca de compatibilidade PHP puro disponivel para PHP 5.3.7 e posterior.

Outra opção é a função crypt(), que suporta vários algoritmos de hash em PHP 5.3 e posterior. Quando utilizar esta função, você tem a garantia de que o algoritmo que você selecionou está disponível, como PHP contém implementações nativas de cada algoritmo suportado, no caso de um ou mais não são suportados pelo seu sistema.

O algoritmo sugerido para usar ao gerar hash de senhas é Blowfish, que também é o padrão usado pela API de hash da senha, pois é significativamente mais caro computacionalmente que MD5 ou SHA1, enquanto continua a ser escalável.

Note que se você estiver usando crypt() para verificar uma senha, você terá que tomar cuidado para evitar ataques de tempo usando uma string de comparação de tempo constante. Nem operadores == e === do PHP nem strcmp() realizam comparações de seqüências de tempo constante. Como password_verify() vai fazer isso por você, você será fortemente incentivado a usar a API de hash de senha nativa sempre que possível.

O que é um salt?

Um salt de criptografia são dados que são aplicado durante o processo de hash, a fim de eliminar a possibilidade da saída ser analisada se numa lista de pares pre-calculadas de hashes e sua entrada, conhecida como uma tabela rainbow.

Em termos mais simples, um salt é um pouco de informação adicional, que faz com que seus hashes seja significativamente mais difícil de decifrar. Há uma série de serviços on-line que fornecem listas extensas de hashes pré-calculado, bem como a entrada original para os hashes. O uso de um salt faz com que seja improvável ou impossível encontrar o hash resultante em uma dessas listas.

password_hash() será criado um salt aleatório se não for fornecido, e isso geralmente é a abordagem mais fácil e mais segura.

Como faço para armazenar meus salts?

Ao usar password_hash() ou crypt(), o valor de retorno inclui salt como parte do hash gerado. Este valor deve ser armazenado na íntegra no seu banco de dados, uma vez que inclui informações sobre a função hash que foi usado e pode, então, ser dada diretamente para password_verify() ou crypt() ao verificar senhas.

O diagrama a seguir mostra o formato de um valor de retorno de crypt() ou password_hash(). Como você pode ver, eles são auto-suficientes, com todas as informações sobre o algoritmo e salt necessário para futura verificação da senha.

Os componentes do valor retornado pelo password_hash e crypt: em ordem, o algoritmo escolhido, as opções do algoritmo, o salt utilizado, e o hash da senha.


PHP e HTML

PHP e HTML possuem muita interação: PHP pode gerar HTML, e o HTML pode passar informações para o PHP. Antes de ler esses faqs, é importante que você aprenda como recuperar variáveis de fontes externas. A página do manual neste tópico inclui muitos exemplos.

  1. Que codificação/decodificação é preciso quando eu passo um valor através de um formulário/URL?
  2. Estou tentando usar uma tag <input type="image">, mas as variáveis $foo.x e $foo.y não estão disponíveis. $_GET['foo.x'] não existem também. Onde elas estão?
  3. Como eu crio arrays em um HTML <form>?
  4. Como eu faço para obeter os resultados de uma múltipla seleção de uma tag HTML?
  5. Como eu posso passar uma variável do Javascript para o PHP?
Que codificação/decodificação é preciso quando eu passo um valor através de um formulário/URL?

Existem muitos estágios para o qual a codificação é importante. Assumindo que você tenha uma string $data, o qual contém a string que você quer passar de um jeito não codificado, esses são os estágios relevantes:

  • Interpretação HTML. A fim de especificar uma string aleatória, você precisa incluá-la entre aspas, e converter todo o valor dos caracteres especiais para a realidade HTML usando htmlspecialchars().

  • URL: Uma URL consite de diversas partes. Se você quer que seus dados sejam interpretados como um item, você precisa codificá-los com urlencode().

Exemplo #1 Um elemento oculto de formulário HTML

<?php
    echo "<input type='hidden' value='" . htmlspecialchars($data) . "' />\n";
?>

Nota: É errado urlencode() $data, porque é a responsabilidade do navegador em urlencode() os dados. Todos os navegadores populares o fazem isso corretamente. Note que isso irá acontecer independentemente do método (i.e., GET ou POST).Você só vai perceber isso em caso de solicitação GET, porque as requisições POST são normalmente escondidas.

Exemplo #2 Dados a serem editados pelo usuário

<?php
    echo "<textarea name='mydata'>\n";
    echo htmlspecialchars($data)."\n";
    echo "</textarea>";
?>

Nota: Os dados são mostrados no navegador como pretendido, porque o navegador irá interpretar os simbolos de escape do HTML. Em consequência do envio, tando via GET como POST, os dados vão ser urlencoded pelo navegador para transferência, e urldecoded diretamente pelo PHP. Resumindo, você não precisa fazer qualquer urlencoded/urldecoded pelo php, tudo é feito automaticamente.

Exemplo #3 Em uma URL

<?php
    echo "<a href='" . htmlspecialchars("/nextpage.php?stage=23&data=" .
        urlencode($data)) . "'>\n";
?>

Nota: De fato você está fingindo uma requisição HTML GET, portanto é necessário urlencode() os dados manualmete.

Nota: Você precisa htmlspecialchars() toda a URL, porque a URL ocorre como um valor de um atributo-HTML. Neste caso, o navegador irá primeiramente un-htmlspecialchars() o valor, e então passar a URL. O PHP vai entender a URL corretamente, porque você urlencoded() os dados. Você vai notar que & na URL é substituido por &amp;. Embora a maioria dos navegadores vão se recuperar se vecê esquecer disto, isso nem sempre é possivel. Então, memso se a URL não é dinâmica, você precisa htmlspecialchars() a URL.

Estou tentando usar uma tag <input type="image">, mas as variáveis $foo.x e $foo.y não estão disponíveis. $_GET['foo.x'] não existem também. Onde elas estão?

Ao enviar um formulário, é possivel usar uma imagem em vez de um botão submit padrão, como na tag:

<input type="image" src="image.gif" name="foo" />
Quando o usuário clica em qualquer lugar na imagem, o formulário que o acompanha será transmitido para o servidor com duas variáveis adicionais: foo.x e foo.y.

Porque foo.x e foo.y faria nome de variáveis inválidas no PHP, elas são automaticamente convertidas para foo_x e foo_y. Ou seja, os periodos são substituidos por sublinhados. Então, você teria acesso a essas variáveis como qualquer outro descrito na seção sobre como recuperar variáveis de fontes externas. Por exemplo, $_GET['foo_x'].

Nota:

Os espaços nos nomes das variáveis requisitadas são convertidas para sublinhado.

Como eu crio arrays em um HTML <form>?

Para obter o resultado do seu <form> enviado como um array para seu script PHP você nomeia os elementos <input>, <select> ou <textarea> como estes:

<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
Observe os colchetes após o nome da variável, é isso que torna uma variável um array. Você pode agrupar os elementos dentro de diferentes arrays, atribuindo o mesmo nome a diferentes elementos:
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyOtherArray[]" />
<input name="MyOtherArray[]" />
Isso poduz dois arrays, MyArray e MyOtherArray, que serão enviados para o script PHP. Também é possível atribuir chaves específicas para seus arrays:
<input name="AnotherArray[]" />
<input name="AnotherArray[]" />
<input name="AnotherArray[email]" />
<input name="AnotherArray[phone]" />
O array AnotherArray ira conter agora as chaves 0, 1, email e phone.

Nota:

Especificar uma chave de array é opcional no HTML. Se você não especificar as chves, o array preenche na ordem em que os elementos aparecem no formulário. Nosso primeiro exemplo ira conter as chaves 0, 1, 2 e 3.

Veja também: Funções de Array e Variáveis de fontes Externas.

Como eu faço para obeter os resultados de uma múltipla seleção de uma tag HTML?

A seleção de multiplas tags em uma construção HTML permite os usuários selecionar multiplos itens de uma lista. Esses itens são então passados ao manipilador de ações para o formulário. O problema é que eles são todos passados com o mesmo nome widget. I.e.

<select name="var" multiple="yes">
Cada opção selecionada chegará ao manipulador de ações como:
var=option1
var=option2
var=option3
Cada opção irá substituir o conteúdo da variável anterior $var. A solução é usar a caracteristica "array de elementos do formulário" do PHP. A seguir devem ser usados:
<select name="var[]" multiple="yes">
Isso diz ao PHP para tratar $var como um array e cada atribuição de um valor para [var] acrescenta um item ao array. O primeiro item se torna $var[0], o próximo $var[1], etc. A função count() pode ser chamado para determinar quantas opções foram selecionadas, e a função sort() pode ser usada para classificar o array de opções se necessário.

Note que se você esta usando JavaScript o [] no nome do elemento pode lhe causar problemas quando você tenta se referir ao elemento pelo nome. Ao invés use o ID numérico do elemento do formulário, ou coloque o nome da variável entre aspas simples e use isso como um índice para os elementos do array, por exemplo:

variable = document.forms[0].elements['var[]'];

Como eu posso passar uma variável do Javascript para o PHP?

Uma vez que o Javascript é (normalmente) uma tecnologia da parte do cliente, e o PHP é (normalmente) uma tecnologia da parte do servidor, e uma vez que o HTTP é um protocolo "sem lado", as duas linguagens não podem compartilhar variáveis diretamente.

É , no entanto, possível passar variáveis entre as duas. Uma maneira de realizar isso é gerar um código Javascript com PHP, e ter um navegador que se atualize, passando variáveis especificas de volta para o script PHP. O exemplo abaixo mostra precisamente como fazer isso -- isso permite ao código PHP capturar a altura e largura da tela, algo que normalmente só é possível no lado do cliente.

Exemplo #4 Gerando Javascript com PHP

<?php
if (isset($_GET['width']) AND isset($_GET['height'])) {
  // output the geometry variables
  echo "Screen width is: ". $_GET['width'] ."<br />\n";
  echo "Screen height is: ". $_GET['height'] ."<br />\n";
} else {
  // pass the geometry variables
  // (preserve the original query string
  //   -- post variables will need to handled differently)

  echo "<script language='javascript'>\n";
  echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
            . "&width=\" + screen.width + \"&height=\" + screen.height;\n";
  echo "</script>\n";
  exit();
}
?>


PHP e COM

PHP pode ser usado para acessar objetos COM e DCOM em plataformas Win32.

  1. Eu construi uma DLL para calcular algo. Existe uma maneira de executar essa DLL no PHP ?
  2. O que 'Unsupported variant type: xxxx (0xxxxx)' significa ?
  3. É possível manipular objetos visuais no PHP ?
  4. Posso guardar um objeto COM em uma sessão ?
  5. Como eu trato erros de COM ?
  6. Posso gerar arquivos DLL de scripts PHP como eu posso no Perl ?
  7. O que significa 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' ?
  8. Como posso executar um objeto COM de um servidor remoto ?
  9. Eu vejo o erro 'DCOM is disabled in C:\path...\scriptname.php on line 6', o que posso fazer ?
  10. É possível carregar/manipular um objeto ActiveX em uma página com o PHP ?
  11. É possível pegar uma instância sendo executada de um componente ?
  12. Existe alguma maneria de lidar com um evento enviado de um objeto COM ?
  13. Estou tendo problemas quando tento invocar um método de um objeto COM que expõe mais de uma interface. O que posso fazer ?
  14. Então PHP funciona com COM, e com COM+ ?
  15. Se o PHP pode manipular objetos COM, podemos imaginar usar MTS para administrar recursos de componentes, em conjunção com PHP ?
Eu construi uma DLL para calcular algo. Existe uma maneira de executar essa DLL no PHP ?

Se for uma DLL simples, ainda não tem como executá-la no PHP. Se a DLL contem um serviço COM você pode acessá-lo se ele implementar a interface IDispatch.

O que 'Unsupported variant type: xxxx (0xxxxx)' significa ?

Existem dezenas de tipos VARIANT e combinações dos mesmos. A maioria deles já são suportados mas alguns ainda tem que ser implementados. Arrays não são completamente suportados. Apenas arrays indexados com uma única dimensão podem ser passados entre o PHP e COM. Se você achar outros tipos que não são suportados, por favor relate-os como um bug (se não tiverem sido relatados ainda) e passe o máximo de informação disponível.

É possível manipular objetos visuais no PHP ?

Geralmente é, mas como o PHP é principalmente usado como linguagem de script pra web, ele é executado no contexto dos servidores web, então objetos visuais nunca aparecerão no desktop do servidor. Se você usa o PHP para script de aplicações, ex.: em conjunto com PHP-GTK não há limitação no acesso e manipulação de objetos visuais através de COM.

Posso guardar um objeto COM em uma sessão ?

Não, não pode. Instâncias COM são tratadas como recursos (resources) e, portanto, só estão disponíveis no contexto de um script único.

Como eu trato erros de COM ?

A extensão COM dispara exceções do tipo com_exception, que você pode pegar e então inspecionar o membro code para determinar o que fazer depois.

Posso gerar arquivos DLL de scripts PHP como eu posso no Perl ?

Não, infelizmente não existe tal ferramenta disponível para o PHP.

O que significa 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' ?

Esse erro pode ter várias razões:

  • o CLSID está errado
  • a DLL requisitada não existe ou não pode ser lida
  • o componente requisitado não implementa a interface IDispatch

Como posso executar um objeto COM de um servidor remoto ?

Exatamente como você executa objetos locais. Você só tem que passar o IP da máquina remota como segundo parâmetro para o construtor COM.

Tenha certeza de marcar com.allow_dcom =true no seu php.ini.

Eu vejo o erro 'DCOM is disabled in C:\path...\scriptname.php on line 6', o que posso fazer ?

Edite seu arquivo php.ini e marque com.allow_dcom =true.

É possível carregar/manipular um objeto ActiveX em uma página com o PHP ?

Isso não tem nada a ver com o PHP. Objetos ActiveX são carregados no lado do cliente se eles forem requisitados pelo documento HTML. Não há relação com o script PHP e, portanto, nenhuma interação direta possível com o lado do servidor.

É possível pegar uma instância sendo executada de um componente ?

É possível com a ajuda de monikers. Se você quiser referências múltiplas para a mesma instância você pode criar uma instância como mostrado abaixo:

<?php
$word = new COM("C:\docs\word.doc");
?>

Isso criará uma nova instância se nenhuma instância sendo executada estiver disponível e retornará um handle para ela, se disponível.

Existe alguma maneria de lidar com um evento enviado de um objeto COM ?

Você pode definir um interceptador de eventos usando com_event_sink(). Você pode usar com_print_typeinfo() para que o PHP gere um esqueleto para a classe interceptadora de eventos.

Estou tendo problemas quando tento invocar um método de um objeto COM que expõe mais de uma interface. O que posso fazer ?

A resposta é tão simples quanto insatisfatória. Eu não sei exatamente, mas acho que não há nada a fazer. Se alguém tem informação específica sobre isso, por favor » me avise (mande e-mails em inglês) :)

Então PHP funciona com COM, e com COM+ ?

COM+ extende COM por meio de um framework para manusear componentes através de MTS e MSMQ, mas não há nada de especial que o PHP precise suportar para usar tais componentes.

Se o PHP pode manipular objetos COM, podemos imaginar usar MTS para administrar recursos de componentes, em conjunção com PHP ?

O PHP em si não lida com transações ainda. Por isso, se um erro ocorre, nenhum rollback é iniciado. Se você usar componentes que suportem transações você pode implementar a administração de transações por conta própria.


Questões Diversas

Aqui estão algumas questôes que nós não pudemos colocar em outra categoria. Aqui você encontra elas.

  1. Como eu posso utilizar os manuais compactados com o bz2 no Windows?
Como eu posso utilizar os manuais compactados com o bz2 no Windows?

Se você não tiver uma ferramenta de arquivos para trabalhar com arquivos bz2 » download a ferramenta de linha de comando da Redhat (por favor veja maiores informações abaixo).

Se você não gostar de usar uma ferramenta de linha de comando, você pode tentar ferramentas gratuitas como » Stuffit Expander, » UltimateZip, » 7-Zip, ou » Quick Zip. Se você tiver ferramentas como » WinRAR ou » Power Archiver, você pode facilmente descomprimir arquivos bz2 com elas. Se você usa o Total Commander, (anteriormente Windows Commander), um plugin para o bz2 esta disponível gratuitamente em » Total Commander.

A ferramenta de linha de comando bzip2 da Redhat:

Usuários Win2k Sp2 obtenha a versão 1.0.2, todos os outros usuários de windows a versão 1.00. Após o download renomeie o executável para bzip2.exe. Para sua conveniencia, coloque em um diretório que esteja no seu path, ex. C:\Windows aonde C representra o drive que você instalou o Windows.

Nota: lang significa a sua língua( Português do Brasil: pt_BR) e x para o formato desejado, ex.: pdf. Para descompactar php_manual_lang.x.bz2 siga estas instruções simples:

  • abra uma janela com o prompt de comando
  • Use o comando cd para a pasta onde você guardou o php_manual_lang.x.bz2
  • digite bzip2 -d php_manual_lang.x.bz2, descompactando php_manual_lang.x na mesma pasta

Caso você tenha feito o download de php_manual_lang.tar.bz2 com vários arquivos html nele, o procedimento é o mesmo. A unica diferença é que você obtém um arquivo php_manual_lang.tar. O formato tar format é conhecido e tratado com as ferramentas de arquivos mais comuns para o Windows, por exemplo » WinZip.


Apêndices

  • História do PHP e Projetos Relacionados
    • História do PHP
    • História de projetos relacionado ao PHP
    • Livros sobre PHP
    • Publicações sobre PHP
  • Migrando do PHP PHP 7.4.x para o PHP 8.0.x
    • Novos Recursos
    • Alterações incompatíveis com versões anteriores
    • Recursos depreciados
    • Outras Mudanças
  • Migrando do PHP 7.3.x para o PHP 7.4.x
    • Novos Recursos
    • Novas Classes e Interfaces
    • Novas Funções
    • Novas Constantes Globais
    • Alterações incompatíveis com versões anteriores
    • Recursos depreciados
    • Extensões Removidas
    • Outras Mudanças
    • Suporte ao Windows
  • Migrando do PHP 7.2.x para o PHP 7.3.x
    • New Features
    • New Functions
    • New Global Constants
    • Backward Incompatible Changes
    • Deprecated Features
    • Other Changes
    • Windows Support
  • Migrando do PHP 7.1.x para o PHP 7.2.x
    • New features
    • New functions
    • Novas constantes globais
    • Backward incompatible changes
    • Recursos depreciados na versão PHP 7.2.x
    • Other changes
  • Migrando do PHP 7.0.x para o PHP 7.1.x
    • New features
    • New functions
    • New global constants
    • Backward incompatible changes
    • Deprecated features in PHP 7.1.x
    • Changed functions
    • Other changes
    • Windows Support
  • Migrando do PHP 5.6.x para o PHP 7.0.x
    • Mudanças incompatíveis com versões anteriores
    • Novos Recursos
    • Recursos depreciados no PHP 7.0.x
    • Funções alteradas
    • Novas funções
    • Novas Classes e Interfaces
    • Novas Constantes Globais
    • Modificações nos Módulos SAPI
    • Extensões e SAPIs removidas
    • Outras mudanças
  • Migrando do PHP 5.5.x para o PHP 5.6.x
    • Backward incompatible changes
    • New features
    • Deprecated features in PHP 5.6.x
    • Changed functions
    • New functions
    • OpenSSL changes in PHP 5.6.x
    • Other changes to extensions
    • Novas constantes globais
  • Debugging in PHP
    • Sobre o debugador em PHP
  • Opções do script Configure
    • Lista de opções do script configure
  • php.ini directives
    • Lista de diretivas do php.ini
    • Lista das seções do php.ini
    • Descrição das principais diretivas do php.ini
  • Categorização/Lista das Extensões
    • Em ordem alfabética
    • Sociedade
    • Estado
  • Lista de funções sinônimas (aliases)
  • Lista de Palavras Reservadas do PHP
    • Lista de Palavras-chave (Keywords)
    • Classes Predefinidas
    • Constantes Pré-definidas
    • Lista de outras palavras reservadas
  • Lista de tipos de recursos no PHP
  • Lista de Filtros Disponíveis
    • Filtros de String
    • Fitros de Conversão
    • Filtros de Compressão
    • Filtros de Criptografia
  • Lista de Transportes via Socket Suportados
    • Domínios da Internet: TCP, UDP, SSL, e TLS
    • Domínio Unix: Unix e UDG
  • Tabela de comparações de tipos do PHP
  • Lista de Tokens do Parser
  • Guia de nomenclatura em espaço de usuário
    • Escopo Global
    • Regras
    • Dicas
  • Sobre o manual
    • Formatos
    • Sobre as notas dos usuários
    • Como ler uma definição de função (protótipo)
    • Versões do PHP documentadas neste manual
    • Como encontrar mais informações sobre o PHP
    • Como ajudar a melhorar a documentação
    • Como nós geramos os formatos
    • Traduções
  • Creative Commons Attribution 3.0
  • Lista de índices
    • Lista de Funções e Métodos
    • Lista de exemplos
  • Changelog


História do PHP e Projetos Relacionados

Índice

  • História do PHP
  • História de projetos relacionado ao PHP
  • Livros sobre PHP
  • Publicações sobre PHP

PHP já percorreu um longo caminho desde seu nascimento em meados da década de 1990. De origens humildes para se tornar uma das mais proeminentes linguagens que alimentam a web, a evolução do PHP é um conto de fadas geek. Lembre-se, esse crescimento explosivo não foi fácil. Aqueles que se interessam em ver brevemente como PHP cresceu para se tornar o que é hoje, continue lendo. Se gostaria de tocar um pedaço da história da internet, você pode encontrar antigas releases do PHP no » Museu PHP.


História do PHP

PHP Tools, FI, Kit de Construção, e PHP/FI

O PHP como é conhecido hoje, é na verdade o sucessor para um produto chamado PHP/FI. Criado em 1994 por Rasmus Lerdof, a primeira encarnação do PHP foi um simples conjunto de binários Common Gateway Interface (CGI) escrito em linguagem de programação C. Originalmente usado para acompanhamento de visitas para seu currículo online, ele nomeou o conjunto de scripts de "Personal Home Page Tools" mais frequentemente referenciado como "PHP Tools." Ao longo do tempo, mais funcionalidades foram desejadas, e Rasmus reescreveu o PHP Tools, produzindo uma maior e rica implementação. Este novo modelo foi capaz de interações com Banco de Dados e mais, fornecendo uma estrutura no qual os usuários poderiam desenvolver simples e dinâmicas aplicações web, como um livros de visitas. Em Junho de 1995, Rasmus » liberou o código fonte do PHP Tools para o público, o que permitiu que desenvolvedores usassem da forma como desejassem. Isso permitiu - e encorajou - usuários a fornecerem correções para bugs no código, e em geral, aperfeiçoá-lo.

Em Setembro do mesmo ano, Rasmus expandiu o PHP e - por um breve período - mudou o nome PHP. Agora referindo-se a ferramenta como FI, abreviação para "Forms Interpreter", a nova implementação incluiu algumas funcionalidades básicas do PHP como bem conhecemos hoje. Tinha variáveis no estilo Perl, interpretação automática de variáveis de formulários, e sintaxe HTML embutida. A sintaxe em si era muito similar com a do Perl, porém muito mais limitada, simples, e um pouco inconsistente. De fato, para embutir o código em um arquivo HTML, desenvolvedores tinham que usar comentários HTML. Embora este método não sido inteiramente bem-recebido, FI continuou a desfrutar um crescimento e aceitação como uma ferramente CGI --- mas ainda não como uma linguagem. Contudo, isso começou a mudar no mês seguinte; em Outubro, 1995 Rasmus liberou um completa reescrita do código. Trazendo de volta o nome PHP, estava agora (brevemente) nomeado "Personal Home Page Contruction Kit" e foi o primeiro lançamento a vangloriar-se que era, na época, considerado um avançado script de interface. A linguagem foi desenvolvida para, deliberadamente, ser parecida com C, tornando-a fácil para ser adotada por desenvolvedores habituados com C, Perl e linguagens similares. Tendo sido até este momento exclusiva para sistemas UNIX e sistemas compatíveis com POSIX, o potencial para uma implementação em um Windows NT começava a ser explorada.

O código tem outra reforma completa, e em Abril de 1996, combinando os nomes dos últimos lançamentos, Rasmus introduziu o PHP/FI. Esta segunda geração da implementação começou a realmente evoluir o PHP de um conjunto de ferramentas para sua própria linguagem de programação. Ele incluía suporte embutido dos banco de dados DBM, mSQL, e Postgres95, cookies, funções de apoio definidas pelo usuário, e muito mais. Em Junho, PHP/FI ganhou o status de versão 2.0. Um interessante fato sobre isso, porém, é que existia apenas um única completa versão do PHP 2.0. Quando finalmente se tornou um status beta em Novembro, 1997, o mecanismo de análise suvbjacente já estava interiramente reescrito.

Apesar de ter tido um curto período de desenvolvimento, ele continuava defrutar uma crescente popularidade em um ainda jovem mundo web desenvolvimento, Em 1997 e 1998, PHP/FI teve o apoio de milhares de usuários ao redor do mundo. Uma pesquisa Netcraft de Maio de 1998, indicou que cerca de 60.000 domínios relataram ter cabeçalhos contendo "PHP", indicando que o servidor de hospedagem de fato tinha o PHP instalado. Este número pode ser equiparado com aproximadamente 1% de todos os domínios da Internet da época. Apesar destes números impressionantes, o amadurecimento do PHP/FI foi condenado a limitações; enquanto haviam vários contribuintes menores, ainda era desenvolvido principalmente por uma única pessoa.

Exemplo #1 Exemplo de código PHP/FI

<!--include /text/header.html-->

<!--getenv HTTP_USER_AGENT-->
<!--ifsubstr $exec_result Mozilla-->
  Hey, you are using Netscape!<p>
<!--endif-->

<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->
  Sorry, that record does not exist<p>
<!--endif exit-->
  Welcome <!--$user-->!<p>
  You have <!--$index:0--> credits left in your account.<p>

<!--include /text/footer.html-->

PHP 3

PHP 3.0 foi a primeira versão que se assemelha com o PHP como existe hoje. PHP/FI se encontrava ainda ineficiente e não tinha recursos que precisava para prover uma aplicação eCommerce que estavam desenvolvendo para um projeto da Universidade, Andi Gutmans e Zeev Suraski de Tel Aviv, Israel, começaram outra completa reescrita do interpretador em 1997. Abordando Rasmus online, eles discutiram vários aspectos para a corrente implementação e redesenvolvimento do PHP. Em um esforço para melhorar a engine e iniciar a construção em cima da base de usuários existentes do PHP/FI, Andi, Rasmus, e Zeev decidiram colaborar no desenvolvimento de uma nova e independente linguagem de programação. Essa nova linguagem foi lançada com um novo nome, que removeu a impressão do limitado uso pessoal que o nome PHP/FI 2.0 tinha mantido. Foi renomeado simplesmente para 'PHP', com o significado se tornando um acrônimo recursivo - PHP: Hypertext Preprocessor.

Um dos maiores pontos fortes do PHP 3.0 foram os fortes recursos de extensibilidade. Além de fornecer a usuários finais uma interface robusta para múltiplos banco de dados, protocolos, e APIs, a facilidade de estender a sua própria linguagem atraiu dezenas de desenvolvedores que submeteram uma variedade de módulos. Indiscutivelmente esta foi a chave para o PHP 3.0 ter sido um tremendo sucesso. Outro recurso chave foi introduzido no PHP 3.0 incluindo o suporte a programação orientada a objeto e a uma mais poderosa e consistente sintaxe de linguagem.

Em junho de 1998, com muitos novos desenvolvedores ao redor do mundo unindo esforços, PHP 3.0 foi anunciado pelo novo time de desenvolvimento do PHP como o sucessor oficial para o PHP/FI 2.0. As melhorias no PHP/FI 2.0, cessaram em Novembro do ano anterior e agora foi oficialmente finalizado. Depois de nove meses de testes abertos ao público, quando o anúncio do lançamento oficial do PHP 3.0 chegou, prontamente foi instalado em 70.000 domínios em todo mundo, e já não era mais limitado ao sistemas operacionais compatíveis ao POSIX. Uma parcela relativamente pequena de domínios informaram que o PHP foi instalado em um host com servidores executando Windows 95, 98 e NT, Macintosh. E em seu pico, PHP 3.0 foi instalado em aproximadamente 10% dos servidores web da internet.

PHP 4

No inverno de 1998, logo após o PHP 3.0 ter sido oficialmente lançado, Andi Gutmans e Zeev Suraski começaram a trabalhar em uma reescrita do core do PHP. Os objetivos do projeto eram melhorar performance das aplicações complexas, e melhorar a modularização do código base do PHP. Tais aplicações só foram possíveis pelos novos recursos e suporte para uma ampla variedades de banco de dados de terceiros e APIs do PHP 3.0, mas o PHP 3.0 não foi projetado para trabalhar com aplicações complexas de forma eficiente.

O novo motor, chamado 'Zend Engine' (composto pelos primeiros nome, Zeev e Andi), alcançou os objetivos do projeto com sucesso, e foi introduzido em meados de 1999. O PHP 4.0 baseado neste motor, e uma variedade de novos recursos adicionais, foi oficialmente lançado em Maio de 2000, quase dois anos após seu antecessor. Além da altíssima melhoria da performance nesta versão, o PHP 4.0 incluiu outros recursos chaves, tais como suporte para maioria dos servidores web, sessões HTTP, saídas de buffering, mais maneiras seguras para manipular dados de entrada de usuários e diversas novas construções de linguagem.

PHP 5

O PHP 5 foi lançado em Julho de 2004 após um longo desenvolvimento e vários pré-lançamentos. Principalmente impulsionado pelo seu core o Zend Engine 2.0 com um novo modelo de objeto e dezenas de outros novos recursos.

O time de desenvolvimento PHP inclui dezenas de desenvolvedores, também dezenas de outros trabalhando em algo relacionado ao PHP e apoio a projetos como PEAR, PECL, documentação, infra-estrutura de rede subjacente de bem mais de uma centena de servidores web em seis dos sete continentes do mundo. Embora seja apenas uma estimativa baseada sobre estatísticas de anos anteriores, é seguro presumir que o PHP está agora instalado em dezenas, ou mesmo talvez centenas, de milhões de domínios em todo mundo.


História de projetos relacionado ao PHP

PEAR

» PEAR, a PHP Extension and Application Repository (originalmente, PHP Extension and Add-on Repository) é a base de classes PHP, e pode crescer no futuro para ser uma das formas chaves para distribuir extensões PHP entre os desenvolvedores.

PEAR nasceu em discussões de encontros realizados por desenvolvedores PHP (PDM) realizado em Janeiro de 2000 em Tel Aviv. Foi criado por Stig S. Bakken, e é dedicado à sua primeira filha, Malin Bakken.

Desde o início de 2000, PEAR cresceu para ser um grande e significante projeto com um grande número de desenvolvedores trabalhando em implementar funcionalidades comuns e reutilizáveis para benefício da comunidade PHP. PEAR hoje inclui uma ampla variedade de classes para acesso ao banco de dados, cache de conteúdo, cálculos matemáticos, eCommerce e muito mais.

Mais informações sobre PEAR podem ser encontradas » no manual.

Iniciativa de Garantia da Qualidade do PHP

O » PHP Quality Assurance Initiative foi criado no verão de 2000, em resposta para críticas que versões do PHP não estavam sendo suficientemente bem testados para o ambiente de produção. O time agora consiste de um grupo de desenvolvedores com um bom entendimento do código base do PHP. Esses desenvolvedores gastam muito de seu tempo localizando e corrigindo os bugs do PHP. Além de existir muitos outros membros do time que testam e fornecem feedback de suas correções usando uma ampla variedade de plataformas.

PHP-GTK

» PHP-GTK é a solução PHP para escrever aplicações GUI no lado do cliente. Andrei Zmievski nos recorda o processo de planejamento e criação:

Programação GUI foi sempre do meu interesse, e eu achei o Gtk+ um utilitário muito fácil, exceto que programar com ele em C é pouco tedioso. Depois de testemunhar aplicações PyGtk e GTK-Perl. Eu decidi ver se o PHP poderia fazer uma interface com Gtk+, mesmo que pequena. Iniciei em Agosto de 2000, quando comecei a ter um pouco mais de tempo livre, e iniciei os experimentos. Minha principal diretriz foi a implementação PyGtk pois possia recursos bastante completos e uma boa interface de orientação a objetos. James Henstridge, o autor de PyGtk, forneceu muitos conselhos úteis durante os estágios iniciais.

Escrever as interfaces para toda as funções Gtk+ ficou fora de questão, então eu aproveitei a ideia de gerar código, similar como o PyGtk tinha feito. O gerador de código é um programa PHP que lê um conjunto de arquivos .defs contendo as classes Gtk+, constantes, e informações de métodos e gera o código C que faz a interface com PHP. O que não pode ser gerado automaticamente pode ser escrito manualmente no arquivo .overrides.

Trabalhar em um gerador de código e sua infra-estrutura levou algum tempo, pois eu só podia gastar um pouco tempo em PHP-GTK durante o outono de 2000. Depois que mostrei o PHP-GTK para Frank Kromann, ele ficou interessado e começou ajudando-me com o gerador de código e em implementaçes de Win32. Quando nós escrevemos o primeiro programa Hello World e executamos, ficamos muito emocionados. Levou dois ou mais meses para começar o projeto em uma condição apresentável e a versão inicial foi lançada em 1 de Março de 2001. A história rapidamente chegou ao SlashDot.

Sentindo que PHP-GTK podia ser extensível, montei em separado uma lista de e-mail, um repositório CVS para isto e também um website gtk.php.net com a ajuda de Colin Viebrock. Também foi preciso montar a documentação e James Moore veio a ajudar com isto.

Desde seu lançamento, o PHP-GTK foi ganhando popularidae. Nós tivemos nosso próprio time de documentação, o manual continua melhorando, pessoas começaram a escrever extensões para o PHP-GTK, e mais aplicações foram feitas com ele.


Livros sobre PHP

Como o PHP cresceu, começou a ser reconhecido com uma popular plataforma de desenvolvimento web. Um das formas mais interessantes de ver esta tendência foi observando os livros sobre PHP que saiu ao longo dos anos.

Pelo que sabemos, o primeiro livro dedicado para PHP foi 'PHP - tvorba interaktivních internetových aplikací' (PHP - Criando aplicativos interativos da Internet) um livro checo publicado em 1999, cujo autor foi Jirka Kosek. No mês sequinte um livro Alemão, dos autores Egon Schmid, Christian Cartus e Richard Blume. O primeiro livro em Inglês sobre PHP foi publicado pouco depois, e foi 'Core PHP Programming' de Leon Atkinson. Este livro cobria o PHP 3.0.

Enquanto estes eram os primeiros livros deste gênero - eles foram seguidos por um grande número de livros de uma série de autores e e editores. Existem mais de 400 livros em Inglês, mais de 100 livros em Alemão, e mais de 50 livros em Francês ou Espanhol! Além, de poder encontrar livros sobre PHP em muitas outras linguas, incluindo Coreano, Japonês e Hebraico.

Obviamente, este grande número de livros, escrito por diferentes autores, publicados por muitas editoras, e sua disponibilidade em tantas línguas - é um forte testemunho do sucesso do PHP em todo o mundo.


Publicações sobre PHP

Pelo que sabemos, o primeiro artigo sobre PHP em uma revista em papel foi publicado na Computerworld da Tchecoslováquia, na primavera de 1998, e cobria o PHP 3.0. Como os livros, este foi o primeiro de uma série de muitos artigos publicados sobre PHP em várias revistas reconhecidas.

Artigos sobre PHP apareceram no Dr. Dobbs, Linux Enterprise, Linux Magazine e muitos outros. Artigos sobre migração de aplicações baseadas em ASP para PHP no Windows tem aparecido até na MSDN que é da Microsoft !


Migrando do PHP PHP 7.4.x para o PHP 8.0.x

Índice

  • Novos Recursos
  • Alterações incompatíveis com versões anteriores
  • Recursos depreciados
  • Outras Mudanças

Esta nova versão menor traz vários novos recursos e algumas incompatibilidades que devem ser testadas antes da troca de versões do PHP em ambientes de produção.

Veja também o guia de migração para versões do PHP 7.0.x, 7.1.x, 7.2.x, 7.3.x. 7.4.x.


Novos Recursos

PHP Core

Named Arguments

Attributes

Support for Attributes has been added.

Constructor Property Promotion

Support for constructor property promotion (declaring properties in the constructor signature) has been added.

Union Types

Support for union types has been added.

Match Expression

Support for match expressions has been added.

Nullsafe Operator

Support for the nullsafe operator (?->) has been added.

Other new Features

  • The WeakMap class has been added.

  • The ValueError class has been added.

  • Any number of function parameters may now be replaced by a variadic argument, as long as the types are compatible. For example, the following code is now allowed:

    <?php
    class A {
         public function     method(int $many, string $parameters, $here) {}
    }
    class     B extends A {
         public function     method(...$everything) {}
    }
    ?>

  • static (as in "late static binding") can now be used as a return type:

    <?php
    class Test {
         public function     create(): static {
              return new static();
         }
    }
    ?>

  • It is now possible to fetch the class name of an object using $object::class. The result is the same as get_class($object).

  • new and instanceof can now be used with arbitrary expressions, using new (expression)(...$args) and $obj instanceof (expression).

  • Some consistency fixes to variable syntax have been applied, for example writing Foo::BAR::$baz is now allowed.

  • Added Stringable interface, which is automatically implemented if a class defines a __toString() method.

  • Traits can now define abstract private methods. Such methods must be implemented by the class using the trait.

  • throw can now be used as an expression. That allows usages like:

    <?php
    $fn     = fn() => throw new Exception('Exception in arrow function');
    $user = $session->user ?? throw new Exception('Must have user');

  • An optional trailing comma is now allowed in parameter lists.

    <?php
    function functionWithLongSignature(
            Type1 $parameter1,
            Type2 $parameter2, // <-- This comma is now allowed.
    ) {
    }

  • It is now possible to write catch (Exception) to catch an exception without storing it in a variable.

  • Support for mixed type has been added.

  • Private methods declared on a parent class no longer enforce any inheritance rules on the methods of a child class (with the exception of final private constructors). The following example illustrates which restrictions have been removed:

    <?php
    class ParentClass {
        private function     method1() {}
        private function     method2() {}
        private static function     method3() {}
            // Throws a warning, as "final" no longer has an effect:
            private final function method4() {}
    }
    class     ChildClass extends ParentClass {
            // All of the following are now allowed, even though the modifiers aren't
        // the same as for the private methods in the parent class.
            public abstract function method1() {}
        public static function     method2() {}
        public function     method3() {}
        public function     method4() {}
    }
    ?>

  • get_resource_id() has been added, which returns the same value as (int) $resource. It provides the same functionality under a clearer API.

Date and Time

  • DateTime::createFromInterface() and DateTimeImmutable::createFromInterface() have been added.

  • The DateTime format specifier p has been added, which is the same as P but returns Z rather than +00:00 for UTC.

DOM

DOMParentNode and DOMChildNode with new traversal and manipulation APIs have been added.

Filter

FILTER_VALIDATE_BOOL has been added as an alias for FILTER_VALIDATE_BOOLEAN. The new name is preferred, as it uses the canonical type name.

Enchant

enchant_dict_add(), enchant_dict_is_added(), and LIBENCHANT_VERSION have been added.

FPM

Added a new option pm.status_listen that allows getting the status from different endpoint (e.g. port or UDS file) which is useful for getting the status when all children are busy with serving long running requests.

Hash

HashContext objects can now be serialized.

Internationalization Functions

The IntlDateFormatter::RELATIVE_FULL,
IntlDateFormatter::RELATIVE_LONG,
IntlDateFormatter::RELATIVE_MEDIUM, and
IntlDateFormatter::RELATIVE_SHORT
constants have been added.

LDAP

ldap_count_references() has been added, which returns the number of reference messages in a search result.

OPcache

If the opcache.record_warnings ini setting is enabled, OPcache will record compile-time warnings and replay them on the next include, even if it is served from cache.

OpenSSL

Added Cryptographic Message Syntax (CMS) (» RFC 5652) support composed of functions for encryption, decryption, signing, verifying and reading. The API is similar to the API for PKCS #7 functions with an addition of new encoding constants: OPENSSL_ENCODING_DER, OPENSSL_ENCODING_SMIME and OPENSSL_ENCODING_PEM:

  • openssl_cms_encrypt() encrypts the message in the file with the certificates and outputs the result to the supplied file.
  • openssl_cms_decrypt() that decrypts the S/MIME message in the file and outputs the results to the supplied file.
  • openssl_cms_read() that exports the CMS file to an array of PEM certificates.
  • openssl_cms_sign() that signs the MIME message in the file with a cert and key and output the result to the supplied file.
  • openssl_cms_verify() that verifies that the data block is intact, the signer is who they say they are, and returns the certs of the signers.

Regular Expressions (Perl-Compatible)

preg_last_error_msg() has been added, which returns a human-readable message for the last PCRE error. It complements preg_last_error(), which returns an integer enum value instead.

Reflection

  • The following methods can now return information about default values of parameters of internal functions:

    • ReflectionParameter::isDefaultValueAvailable()
    • ReflectionParameter::getDefaultValue()
    • ReflectionParameter::isDefaultValueConstant()
    • ReflectionParameter::getDefaultValueConstantName()

SQLite3

SQLite3::setAuthorizer() and respective class constants have been added to set a userland callback that will be used to authorize or not an action on the database.

Standard Library

  • str_contains(), str_starts_with() and str_ends_with() have been added, which check whether haystack contains, starts with or ends with needle, respectively.

  • fdiv() has been added, which performs a floating-point division under IEEE 754 semantics. Division by zero is considered well-defined and will return one of Inf, -Inf or NaN.

  • get_debug_type() has been added, which returns a type useful for error messages. Unlike gettype(), it uses canonical type names, returns class names for objects, and indicates the resource type for resources.

  • printf() and friends now support the %h and %H format specifiers. These are the same as %g and %G, but always use "." as the decimal separator, rather than determining it through the LC_NUMERIC locale.

  • printf() and friends now support using "*" as width or precision, in which case the width/precision is passed as an argument to printf. This also allows using precision -1 with %g, %G, %h and %H. For example, the following code can be used to reproduce PHP's default floating point formatting:

    <?php
    printf    ("%.*H", (int) ini_get("precision"), $float);
    printf("%.*H", (int) ini_get("serialize_precision"), $float);
    ?>

  • proc_open() now supports pseudo-terminal (PTY) descriptors. The following attaches stdin, stdout and stderr to the same PTY:

    <?php
    $proc     = proc_open($command, [['pty'], ['pty'], ['pty']], $pipes);
    ?>

  • proc_open() now supports socket pair descriptors. The following attaches a distinct socket pair to stdin, stdout and stderr:

    <?php
    $proc     = proc_open($command, [['socket'], ['socket'], ['socket']], $pipes);
    ?>

    Unlike pipes, sockets do not suffer from blocking I/O issues on Windows. However, not all programs may work correctly with stdio sockets.

  • Sorting functions are now stable, which means that equal-comparing elements will retain their original order.

  • array_diff(), array_intersect() and their variations can now be used with a single array as argument. This means that usages like the following are now possible:

    <?php
    // OK even if $excludes is empty:
    array_diff($array, ...$excludes);
    // OK even if $arrays only contains a single array:
    array_intersect(...$arrays);
    ?>

  • The flag parameter of ob_implicit_flush() was changed to accept a bool rather than an int.

Tokenizer

PhpToken adds an object-based interface to the tokenizer. It provides a more uniform and ergonomic representation, while being more memory efficient and faster.

Zip

  • The Zip extension has been updated to version 1.19.1.

  • New ZipArchive::setMtimeName() and ZipArchive::setMtimeIndex() to set the modification time of an entry.

  • New ZipArchive::registerProgressCallback() to provide updates during archive close.

  • New ZipArchive::registerCancelCallback() to allow cancellation during archive close.

  • New ZipArchive::replaceFile() to replace an entry content.

  • New ZipArchive::isCompressionMethodSupported() to check optional compression features.

  • New ZipArchive::isEncryptionMethodSupported() to check optional encryption features.

  • The ZipArchive::lastId property to get the index value of the last added entry has been added.

  • Errors can now be checked after an archive has been closed using the
ZipArchive::status and
ZipArchive::statusSys properties, or the
ZipArchive::getStatusString() method.

  • The 'remove_path' option of ZipArchive::addGlob() and ZipArchive::addPattern() is now treated as an arbitrary string prefix (for consistency with the 'add_path' option), whereas formerly it was treated as a directory name.

  • Optional compression / encryption features are now listed in phpinfo.


Alterações incompatíveis com versões anteriores

PHP Core

Comparação entre String e Número

Comparações não estritas entre números e strings não numéricas, agora funcionam convertendo o número para string e comparando as strings. As comparações entre números e strings numéricas continuam a funcionando como antes. Notavelmente, isso significa que a comparação: 0 == "nao-numero" agora é considerada falsa.

Comparação | Antes | Depois
0 == "0" | true | true
0 == "0.0" | true | true
0 == "foo" | true | false
0 == "" | true | false
42 == " 42" | true | true
42 == "42foo" | true | false

Outras mudanças incompatíveis

  • match é agora uma palavra reservada.

  • As falhas de asserção agora são lançadas por padrão. Se o comportamento antigo é desejado, assert.exception=0 pode ser definido nas configurações INI.

  • Métodos com o mesmo nome de classe não são mais interpretados como construtor. O método __construct() deve ser utilizado em seu lugar.

  • A capacidade de chamar métodos não estáticos estaticamente foi removida. Por isso is_callable() irá falhar ao verificar um método não estático com um nome de classe (deve se realizar uma verificação com uma instância de objeto).

  • Foram removidos os casts (real) e (unset).

  • A diretiva track_errors no php.ini foi removida. Isto signifca que o php_errormsg não está mais disponível. A função error_get_last() deve ser utilizada em seu lugar.

  • A capacidade de definir constantes que não diferenciam maiúsculas de minúsculas foi removida. O terceiro argumento para a função define() não pode ser mais true.

  • A capacidade de especificar um auto carregamento utilizando a função __autoload() foi removida. A função spl_autoload_register() deve ser utilizada em seu lugar.

  • O argumento errcontext para manipulador de erros personalizados foi removido.

  • create_function() foi removido. Ao invés disso, funções anônimas devem ser utilizadas.

  • A função each() foi removida. foreach ou ArrayIterator devem ser utilizados em seu lugar.

  • Foi removida a capacidade de desvincular this de closures que foram criados a partir de um método, usando Closure::fromCallable() ou ReflectionMethod::getClosure().

  • A habilidade de desvincular this de closures que contêm usos de this também foi removida.

  • A habilidade de utilizar array_key_exists() com objetos foi removida. isset() or property_exists() may be used instead.

  • O comportamento da função array_key_exists() com relação ao tipo do parâmetro key agora é consistente com a função isset() e acesso normal à array. Todos os tipos de chave agora usam as coerções usuais e as chaves de array/objeto lançam um TypeError.

  • Qualquer array com número n em sua primeira posição utilizará n+1 em sua próxima chave implícita mesmo se n for negativo.

  • O nível de error_reporting padrão é E_ALL. Anteriormente excluía E_NOTICE e E_DEPRECATED.

  • display_startup_errors é habilitado agora por padrão.

  • Usar parent dentro de uma classe sem pai agora produzirá um erro fatal em tempo de execução.

  • O operador @ não irá mais silenciar erros fatais (E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR, E_RECOVERABLE_ERROR, E_PARSE). Manipuladores de erros que esperam que error_reporting seja 0 quando @ é usado, devem ser ajustados para usar uma verificação de máscara:

    <?php
    // Replace
    function my_error_handler($err_no, $err_msg, $filename, $linenum) {
        if (    error_reporting() == 0) {
            return;     // Silenced
            }
            // ...
    }

    // With
    function my_error_handler($err_no, $err_msg, $filename, $linenum) {
        if (!(    error_reporting() & $err_no)) {
            return;     // Silenced
            }
            // ...
    }
    ?>

    Adicionalmente, cuidados devem ser tomados para que mensagens de erro não sejam mostradas no ambiente de produção, o que podem resultar em vazamento de informações. Certifique-se de que a diretiva display_errors=Off seja usada em conjunto com o log de erros.

  • #[ não é mais interpretado como o início de um comentário, já que esta sintaxe é utilizada agora para atributos.

  • Inheritance errors due to incompatible method signatures (LSP violations) will now always generate a fatal error. Previously a warning was generated in some cases.

  • A precedência dos operadores de concatenação foi modificada em relação ao bitshifts tanto na adição como na subtração

    <?php
    echo "Sum: " . $a + $b;
    // was previously interpreted as:
    echo ("Sum: " . $a) + $b;
    // is now interpreted as:
    echo "Sum:" . ($a + $b);
    ?>

  • Argumentos com um valor padrão que avaliam para null em tempo de execução, não irão mais marcar o tipo do parâmetro como implícito. Um tipo explícito nulo, ou explicitamente null como argumento padrão deve ser usado em seu lugar.

    <?php
    // Replace
    function test(int $arg = CONST_RESOLVING_TO_NULL) {}
    // With
    function test(?int $arg = CONST_RESOLVING_TO_NULL) {}
    // Or
    function test(int $arg = null) {}
    ?>

  • Uma série de avisos foram convertidos para exceções do tipo Error:

    • Attempting to write to a property of a non-object. Previously this implicitly created an stdClass object for null, false and empty strings.
    • Attempting to append an element to an array for which the PHP_INT_MAX key is already used.
    • Attempting to use an invalid type (array or object) as an array key or string offset.
    • Attempting to write to an array index of a scalar value.
    • Attempting to unpack a non-array/Traversable.
    • Attempting to access unqualified constants which are undefined. Previously, unqualified constant accesses resulted in a warning and were interpreted as strings.

    Uma série de notificações foram convertidas em avisos:

    • Tentativa de leitura em uma variável não definida.
    • Tentativa de leitura em uma propriedade não definida.
    • Tentativa de leitura em uma chave de array não definido.
    • Tentativa de leitura em uma propriedade de um não objeto.
    • Tentativa de acesso em um índice de array em um não array.
    • Tentativa de conversão de um array para uma string.
    • Tentativa de usar um resource como uma chave de array.
    • Tentativa de usar null, um booleano ou um número de ponto flutuante(float) como uma posinção em uma string.
    • Tentativa de leitura em uma posição fora dos limites de uma string.
    • Tentativa de atribuir uma string vazia a uma posição de uma string.

  • Tentativa de atribuir multiplos bytes em uma posição de uma string agora emite um aviso.

  • Caracteres inesperados no arquivo fonte (como bytes NUL fora de strings) agora irá resultar em uma exceção ParseError ou invés de um aviso do compilador.

  • As exceções não capturadas agora passam por "desligamento limpo", o que significa que os destrutores são chamados após uma exceção não detectada.

  • O erro fatal de tempo de compilação "Somente variáveis podem ser passadas por referência" foi adiado até o runtime, e convertido em uma exceção de Error "argumento não pode ser passado por referência".

  • Alguns alertas do tipo "Somente variáveis podem ser passadas por referência" foram convertidas para exceções do tipo "Argumento deve ser passado por referência"

  • O nome gerado para classes anônimas foi modificado. Agora, inclui o nome do primeira classe ou interface:

    <?php
    new class extends ParentClass {};
    // -> ParentClass@anonymous
    new class implements FirstInterface, SecondInterface {};
    // -> FirstInterface@anonymous
    new class {};
    // -> class@anonymous
    ?>

    O nome mostrado acima ainda é seguido por um byte NUL e um sufixo exclusivo.

  • As referências de método de traço não absoluto em adaptações de alias de traço agora precisam ser inequívocas:

    <?php
    class X {
        use     T1, T2 {
                func as otherFunc;
        }
        function     func() {}
    }
    ?>

    Se T1::func() e T2::func() existem, este código anteriormente foi aceito de forma silenciosa e func assumia referência a T1::func. Agora vai gerar um erro fatal, e T1::func ou T2::func precisam ser escritos explicitamente.

  • A assinatura de métodos abstratos definido nas características agora é verificada no método de implementação da classe:

    <?php
    trait MyTrait {
        abstract private function     neededByTrait(): string;
    }

    class     MyClass {
        use     MyTrait;

            // Error, because of return type mismatch.
            private function neededByTrait(): int { return 42; }
    }
    ?>

  • Funções desabilitadas agora são tratadas da mesma forma que funções não existentes. Ao chamar uma função desabilitada será informado que ela é desconhecida, e redefinir uma função desabilitada é agora possível.

  • Os stream wrappers data:// não podem mais ser writable, indo de encontro ao comportamento documentado.

  • Os operadores aritméticos e bit a bit +, -, *, /, **, %, <<, >>, &, |, ^, ~, ++, -- irá agora apresentar um TypeError quando um dos operandos estiver em um array, resource ou em um object não sobrecarregado. A unica exceção a isto é a operação de mesclagem de array com +, que permanece suportada.

  • A conversão de float para string agora sempre terá o mesmo comportamento, independentemente da localidade.

    <?php
    setlocale    (LC_ALL, "de_DE");
    $f = 3.14;
    echo     $f, "\n";
    // Previously: 3,14
    // Now:        3.14
    ?>

    Veja as funções printf(), number_format() and NumberFormatter() para customizar a formatação de números.

  • Support for deprecated curly braces for offset access has been removed.

    <?php
    // Instead of:
    $array{0};
    $array{"key"};
    // Write:
    $array[0];
    $array["key"];
    ?>

  • Aplicando o modificador final ou método privado agora irá produzir um aviso a menos que o método seja o construtor.

  • Se um objeto construtor chama a função exit(), o objeto destrutor não será chamado. Isto vai de encontro ao comportamento que o contrutor executa.

  • Nomes de Namespace não podem mais conter espaços em branco: Enquanto Foo\Bar será reconhecido como um nome de Namespace, Foo \ Bar não será. Por outro lado, as palavras-chave agora serão permitidos como segmentos de um namespace, o que permite a mudança na interpretação do código: new\x agora é o mesmo que constant('new\x'), e não new \x().

  • Os ternários aninhados agora exigem parênteses explícitos.

  • debug_backtrace() e Exception::getTrace() agora não mais apresentam referencias aos argumentos. Não será possivel mudar os argumentos de uma função através de um backtrace.

  • O uso de strings numéricas foi modificado para ser mais intuitivo e menos sujeito a erros. Seguindo os espaços em branco, é permitido agora strings numéricas para tratamento de consistência contendo espaços em branco. Isso afeta principalmente:

    • A funcção is_numeric()
    • Comparação string a string
    • Declaração de tipos
    • Operações de incremento e decremento

    O conceito de um "leading-numeric string" foi praticamente abandonado; os casos onde permanecem são para facilitar a migração. Strings que emitem um E_NOTICE "Um valor numerico não bem formado foi encontrado" agora emitirá um E_WARNING "Um valor valor não numérico encontrado " e todas as strings que emitiram um E_WARNING "Um valor não numerico encontrado" agora produzirá um erro TypeError. Isso afeta principalmente:

    • Operações aritméticas
    • Operações bit a bit

    Esta mudança do E_WARNING para TypeError também afeta o E_WARNING "Illegal string offset 'string'" para o posicionamente ilegal de strings. O comportamento de conversões explícitas de strings para int/float não foi alterado.

  • Métodos mágicos agora podem ter argumentos e retornar tipos verificados se eles foram declarados. As assinaturas devem corresponder à seguinte lista:

    • __call(string $name, array $arguments): mixed
    • __callStatic(string $name, array $arguments): mixed
    • __clone(): void
    • __debugInfo(): ?array
    • __get(string $name): mixed
    • __invoke(mixed $arguments): mixed
    • __isset(string $name): bool
    • __serialize(): array
    • __set(string $name, mixed $value): void
    • __set_state(array $properties): object
    • __sleep(): array
    • __unserialize(array $data): void
    • __unset(string $name): void
    • __wakeup(): void

  • As chaves do array call_user_func_array() agora podem ser interpretadas como nomes de parãmetros, ao invés de serem silenciosamente ignorados.

  • A declaração da função chamada assert() dentro de um namespace não é mais permitida e gera um E_COMPILE_ERROR. A funçãi assert() recebe um tratamento especial pelo motor do PHP, o que pode levar a comportamentos inconsistentes quando definido como uma função de namespace com o mesmo nome.

Migração de Resource para Objeto

Diversos resources foram migrados para objects. Return value checks using is_resource() should be replaced with checks for false.

  • curl_init() will now return a CurlHandle object rather than a resource. The curl_close() function no longer has an effect, instead the CurlHandle instance is automatically destroyed if it is no longer referenced.

  • curl_multi_init() will now return a CurlMultiHandle object rather than a resource. The curl_multi_close() function no longer has an effect, instead the CurlMultiHandle instance is automatically destroyed if it is no longer referenced.

  • curl_share_init() will now return a CurlShareHandle object rather than a resource. The curl_share_close() function no longer has an effect, instead the CurlShareHandle instance is automatically destroyed if it is no longer referenced.

  • enchant_broker_init() will now return an EnchantBroker object rather than a resource.

  • enchant_broker_request_dict() and enchant_broker_request_pwl_dict() will now return an EnchantDictionary object rather than a resource.

  • The GD extension now uses GdImage objects as the underlying data structure for images, rather than resources. The imagedestroy() function no longer has an effect; instead the GdImage instance is automatically destroyed if it is no longer referenced.

  • openssl_x509_read() and openssl_csr_sign() will now return an OpenSSLCertificate object rather than a resource. The openssl_x509_free() function is deprecated and no longer has an effect, instead the OpenSSLCertificate instance is automatically destroyed if it is no longer referenced.

  • openssl_csr_new() will now return an OpenSSLCertificateSigningRequest object rather than a resource.

  • openssl_pkey_new() will now return an OpenSSLAsymmetricKey object rather than a resource. The openssl_pkey_free() function is deprecated and no longer has an effect, instead the OpenSSLAsymmetricKey instance is automatically destroyed if it is no longer referenced.

  • shmop_open() will now return a Shmop object rather than a resource. The shmop_close() function no longer has an effect, and is deprecated; instead the Shmop instance is automatically destroyed if it is no longer referenced.

  • socket_create(), socket_create_listen(), socket_accept(), socket_import_stream(), socket_addrinfo_connect(), socket_addrinfo_bind(), and socket_wsaprotocol_info_import() will now return a Socket object rather than a resource. socket_addrinfo_lookup() will now return an array of AddressInfo objects rather than resources.

  • msg_get_queue() will now return an SysvMessageQueue object rather than a resource.

  • sem_get() irá retornar agora um objeto SysvSemaphore ao invés de um resource.

  • shm_attach() irá retornar agora um objeto SysvSharedMemory ao invés de um resource.

  • xml_parser_create() e xml_parser_create_ns() irão agora retornar um objeto XmlParser tanto quanto um resource. A função xml_parser_free() não terá mais esse efeito, ao contrário da instância XmlParser que é automaticamente destruída, se não for referenciada.

  • A função XMLWriter agora aceita e retorna, respectivamente, objetos XMLWriter ao invés de resources.

  • inflate_init() irá agora retornar um objeto InflateContext ao invés de um resource.

  • deflate_init() irá agora retornar um objeto DeflateContext ao invés de um resource.

COM and .Net (Windows)

The ability to import case-insensitive constants from type libraries has been removed. The second argument to com_load_typelib() may no longer be false; com.autoregister_casesensitive may no longer be disabled; case-insensitive markers in com.typelib_file are ignored.

CURL

CURLOPT_POSTFIELDS no longer accepts objects as arrays. To interpret an object as an array, perform an explicit (array) cast. The same applies to other options accepting arrays as well.

Date and Time

mktime() and gmmktime() now require at least one argument. time() can be used to get the current timestamp.

DOM

Unimplemented classes from the DOM extension that had no behavior and contained test data have been removed. These classes have also been removed in the latest version of the DOM standard:

  • DOMNameList
  • DomImplementationList
  • DOMConfiguration
  • DomError
  • DomErrorHandler
  • DOMImplementationSource
  • DOMLocator
  • DOMUserDataHandler
  • DOMTypeInfo

Enchant

  • enchant_broker_list_dicts(), enchant_broker_describe() and enchant_dict_suggest() will now return an empty array instead of null.

Exif

read_exif_data() has been removed; exif_read_data() should be used instead.

Filter

  • The FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED flags for the FILTER_VALIDATE_URL filter have been removed. The scheme and host are (and have been) always required.

  • The INPUT_REQUEST and INPUT_SESSION source for filter_input() etc. have been removed. These were never implemented and their use always generated a warning.

GD

  • The deprecated functions image2wbmp() has been removed.

  • The deprecated functions png2wbmp() and jpeg2wbmp() have been removed.

  • The default mode parameter of imagecropauto() no longer accepts -1. IMG_CROP_DEFAULT should be used instead.

  • On Windows, php_gd2.dll has been renamed to php_gd.dll.

GMP

gmp_random() has been removed. One of gmp_random_range() or gmp_random_bits() should be used instead.

Iconv

iconv implementations which do not properly set errno in case of errors are no longer supported.

IMAP

  • The unused default_host argument of imap_headerinfo() has been removed.

  • The imap_header() function which is an alias of imap_headerinfo() has been removed.

Internationalization Functions

  • The deprecated constant INTL_IDNA_VARIANT_2003 has been removed.

  • The deprecated Normalizer::NONE constant has been removed.

LDAP

  • The deprecated functions ldap_sort(),
ldap_control_paged_result() and
ldap_control_paged_result_response() have been removed.

  • The interface of ldap_set_rebind_proc() has changed; the callback parameter does not accept empty strings anymore; null should be used instead.

MBString

  • The mbstring.func_overload directive has been removed. The related MB_OVERLOAD_MAIL, MB_OVERLOAD_STRING, and MB_OVERLOAD_REGEX constants have also been removed. Finally, the "func_overload" and "func_overload_list" entries in mb_get_info() have been removed.

  • mb_parse_str() can no longer be used without specifying a result array.

  • A number of deprecated mbregex aliases have been removed. See the following list for which functions should be used instead:

    • mbregex_encoding() ? mb_regex_encoding()
    • mbereg() ? mb_ereg()
    • mberegi() ? mb_eregi()
    • mbereg_replace() ? mb_ereg_replace()
    • mberegi_replace() ? mb_eregi_replace()
    • mbsplit() ? mb_split()
    • mbereg_match() ? mb_ereg_match()
    • mbereg_search() ? mb_ereg_search()
    • mbereg_search_pos() ? mb_ereg_search_pos()
    • mbereg_search_regs() ? mb_ereg_search_regs()
    • mbereg_search_init() ? mb_ereg_search_init()
    • mbereg_search_getregs() ? mb_ereg_search_getregs()
    • mbereg_search_getpos() ? mb_ereg_search_getpos()
    • mbereg_search_setpos() ? mb_ereg_search_setpos()

  • The e modifier for mb_ereg_replace() has been removed. mb_ereg_replace_callback() should be used instead.

  • A non-string pattern argument to mb_ereg_replace() will now be interpreted as a string instead of an ASCII codepoint. The previous behavior may be restored with an explicit call to chr().

  • The needle argument for mb_strpos(),
mb_strrpos(), mb_stripos(),
mb_strripos(), mb_strstr(),
mb_stristr(), mb_strrchr() and
mb_strrichr() can now be empty.

  • The is_hex parameter, which was not used internally, has been removed from mb_decode_numericentity().

  • The legacy behavior of passing the encoding as the third argument instead of an offset for the mb_strrpos() function has been removed; an explicit 0 offset with the encoding should be provided as the fourth argument instead.

  • The ISO_8859-* character encoding aliases have been replaced by ISO8859-* aliases for better interoperability with the iconv extension. The mbregex ISO 8859 aliases with underscores (ISO_8859_* and ISO8859_*) have also been removed.

  • mb_ereg() and mb_eregi() will now return boolean true on a successfuly match. Previously they returned integer 1 if matches was not passed, or max(1, strlen($matches[0])) if matches was passed.

OCI8

  • The OCI-Lob class is now called OCILob, and the OCI-Collection class is now called OCICollection for name compliance enforced by PHP 8 arginfo type annotation tooling.

  • Several alias functions have been marked as deprecated.

  • oci_internal_debug() and its alias ociinternaldebug() have been removed.

ODBC

  • odbc_connect() no longer reuses connections.

  • The unused flags parameter of odbc_exec() has been removed.

OpenSSL

  • openssl_seal() and openssl_open() now require method to be passed, as the previous default of "RC4" is considered insecure.

Regular Expressions (Perl-Compatible)

When passing invalid escape sequences they are no longer interpreted as literals. This behavior previously required the X modifier – which is now ignored.

PHP Data Objects

  • The default error handling mode has been changed from "silent" to "exceptions". See Errors and error handling for details.

  • The signatures of some PDO methods have changed:

    • PDO::query(string $query, ?int $fetchMode = null, mixed ...$fetchModeArgs)
    • PDOStatement::setFetchMode(int $mode, mixed ...$args)

PDO ODBC

The php.ini directive pdo_odbc.db2_instance_name has been removed.

PDO MySQL

PDO::inTransaction() now reports the actual transaction state of the connection, rather than an approximation maintained by PDO. If a query that is subject to "implicit commit" is executed, PDO::inTransaction() will subsequently return false, as a transaction is no longer active.

PostgreSQL

  • The deprecated pg_connect() syntax using multiple parameters instead of a connection string is no longer supported.

  • The deprecated pg_lo_import() and pg_lo_export() signature that passes the connection as the last argument is no longer supported. The connection should be passed as first argument instead.

  • pg_fetch_all() will now return an empty array instead of false for result sets with zero rows.

Phar

Metadata associated with a phar will no longer be automatically unserialized, to fix potential security vulnerabilities due to object instantiation, autoloading, etc.

Reflection

  • The method signatures

    • ReflectionClass::newInstance($args)
    • ReflectionFunction::invoke($args)
    • ReflectionMethod::invoke($object, $args)

    have been changed to:

    • ReflectionClass::newInstance(...$args)
    • ReflectionFunction::invoke(...$args)
    • ReflectionMethod::invoke($object, ...$args)

    Code that must be compatible with both PHP 7 and PHP 8 can use the following signatures to be compatible with both versions:

    • ReflectionClass::newInstance($arg = null, ...$args)
    • ReflectionFunction::invoke($arg = null, ...$args)
    • ReflectionMethod::invoke($object, $arg = null, ...$args)

  • The ReflectionType::__toString() method will now return a complete debug representation of the type, and is no longer deprecated. In particular the result will include a nullability indicator for nullable types. The format of the return value is not stable and may change between PHP versions.

  • Reflection export() methods have been removed. Instead reflection objects can be cast to string.

  • ReflectionMethod::isConstructor() and
ReflectionMethod::isDestructor() now also return true for
__construct() and
__destruct() methods of interfaces.
Previously, this would only be true for methods of classes and traits.

  • ReflectionType::isBuiltin() method has been moved to ReflectionNamedType. ReflectionUnionType does not have it.

Sockets

  • The deprecated AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES flags for socket_addrinfo_lookup() have been removed.

Standard PHP Library (SPL)

  • SplFileObject::fgetss() has been removed.

  • SplHeap::compare() now specifies a method signature. Inheriting classes implementing this method will now have to use a compatible method signature.

  • SplDoublyLinkedList::push(), SplDoublyLinkedList::unshift() and SplQueue::enqueue() now return void instead of true.

  • spl_autoload_register() will now always throw a TypeError on invalid arguments, therefore the second argument do_throw is ignored and a notice will be emitted if it is set to false.

  • SplFixedArray is now an IteratorAggregate and not an Iterator. SplFixedArray::rewind(), SplFixedArray::current(), SplFixedArray::key(), SplFixedArray::next(), and SplFixedArray::valid() have been removed. In their place, SplFixedArray::getIterator() has been added. Any code which uses explicit iteration over SplFixedArray must now obtain an Iterator through SplFixedArray::getIterator(). This means that SplFixedArray is now safe to use in nested loops.

Standard Library

  • assert() will no longer evaluate string arguments, instead they will be treated like any other argument. assert($a == $b) should be used instead of assert('$a == $b'). The assert.quiet_eval ini directive and the ASSERT_QUIET_EVAL constant have also been removed, as they would no longer have any effect.

  • parse_str() can no longer be used without specifying a result array.

  • The string.strip_tags filter has been removed.

  • The needle argument of strpos(), strrpos(), stripos(), strripos(), strstr(), strchr(), strrchr(), and stristr() will now always be interpreted as a string. Previously non-string needles were interpreted as an ASCII code point. An explicit call to chr() can be used to restore the previous behavior.

  • The needle argument for strpos(),
strrpos(), stripos(), strripos(),
strstr(), stristr() and strrchr() can
now be empty.

  • The length argument for substr(), substr_count(), substr_compare(), and iconv_substr() can now be null. null values will behave as if no length argument was provided and will therefore return the remainder of the string instead of an empty string.

  • The length argument for array_splice() can now be null. null values will behave identically to omitting the argument, thus removing everything from the offset to the end of the array.

  • The args argument of vsprintf(), vfprintf(), and vprintf() must now be an array. Previously any type was accepted.

  • The 'salt' option of password_hash() is no longer supported. If the 'salt' option is used a warning is generated, the provided salt is ignored, and a generated salt is used instead.

  • The quotemeta() function will now return an empty string if an empty string was passed. Previously false was returned.

  • The following functions have been removed:

    • hebrevc()
    • convert_cyr_string()
    • money_format()
    • ezmlm_hash()
    • restore_include_path()
    • get_magic_quotes_gpc()
    • get_magic_quotes_runtime()
    • fgetss()

  • FILTER_SANITIZE_MAGIC_QUOTES has been removed.

  • Calling implode() with parameters in a reverse order ($pieces, $glue) is no longer supported.

  • parse_url() will now distinguish absent and empty queries and fragments:

    • http://example.com/foo ? query = null, fragment = null
    • http://example.com/foo? ? query = "", fragment = null
    • http://example.com/foo# ? query = null, fragment = ""
    • http://example.com/foo?# ? query = "", fragment = ""
    Previously all cases resulted in query and fragment being null.

  • var_dump() and debug_zval_dump() will now print floating-point numbers using serialize_precision rather than precision. In a default configuration, this means that floating-point numbers are now printed with full accuracy by these debugging functions.

  • If the array returned by __sleep() contains non-existing properties, these are now silently ignored. Previously, such properties would have been serialized as if they had the value null.

  • The default locale on startup is now always "C". No locales are inherited from the environment by default. Previously, LC_ALL was set to "C", while LC_CTYPE was inherited from the environment. However, some functions did not respect the inherited locale without an explicit setlocale() call. An explicit setlocale() call is now always required if a locale component should be changed from the default.

  • The deprecated DES fallback in crypt() has been removed. If an unknown salt format is passed to crypt(), the function will fail with *0 instead of falling back to a weak DES hash now.

  • Specifying out of range rounds for SHA256/SHA512 crypt() will now fail with *0 instead of clamping to the closest limit. This matches glibc behavior.

  • The result of sorting functions may have changed, if the array contains elements that compare as equal.

  • Any functions accepting callbacks that are not explicitly specified to accept parameters by reference will now warn if a callback with reference parameters is used. Examples include array_filter() and array_reduce(). This was already the case for most, but not all, functions previously.

  • The HTTP stream wrapper as used by functions like file_get_contents() now advertises HTTP/1.1 rather than HTTP/1.0 by default. This does not change the behavior of the client, but may cause servers to respond differently. To retain the old behavior, set the 'protocol_version' stream context option, e.g.

    <?php
    $ctx     = stream_context_create(['http' => ['protocol_version' => '1.0']]);
    echo     file_get_contents('http://example.org', false, $ctx);
    ?>

  • Calling crypt() without an explicit salt is no longer supported. If you would like to produce a strong hash with an auto-generated salt, use password_hash() instead.

  • substr(), mb_substr(), iconv_substr() and grapheme_substr() now consistently clamp out-of-bounds offsets to the string boundary. Previously, false was returned instead of the empty string in some cases.

  • On Windows, the program execution functions (proc_open(), exec(), popen() etc.) using the shell, now consistently execute %comspec% /s /c "$commandline", which has the same effect as executing $commandline (without additional quotes).

Sysvsem

  • The auto_release parameter of sem_get() was changed to accept bool values rather than int.

Tidy

  • The use_include_path parameter, which was not used internally, has been removed from tidy_repair_string().

  • tidy::repairString() and tidy::repairFile() became static methods.

Tokenizer

  • T_COMMENT tokens will no longer include a trailing newline. The newline will instead be part of a following T_WHITESPACE token. It should be noted that T_COMMENT is not always followed by whitespace, it may also be followed by T_CLOSE_TAG or end-of-file.

  • Namespaced names are now represented using the T_NAME_QUALIFIED (Foo\Bar), T_NAME_FULLY_QUALIFIED (\Foo\Bar) and T_NAME_RELATIVE (namespace\Foo\Bar) tokens. T_NS_SEPARATOR is only used for standalone namespace separators, and only syntactially valid in conjunction with group use declarations.

XMLReader

XMLReader::open() and XMLReader::xml() are now static methods. They can still be called as instance methods, but inheriting classes need to declare them as static if they override these methods.

XML-RPC

The XML-RPC extension has been moved to PECL and is no longer part of the PHP distribution.

Zip

ZipArchive::OPSYS_Z_CPM has been removed (this name was a typo). Use ZipArchive::OPSYS_CPM instead.

Zlib

  • gzgetss() foi removido.

  • zlib.output_compression não é mais desabilitado automaticamente para o Content-Type: image/*.

Pacotes de teste para PHP no Windows

The test runner has been renamed from run-test.php to run-tests.php, to match its name in php-src.


Recursos depreciados

PHP Core

  • Se um parâmetro com um valor padrão é seguido por um parâmetro obrigatório, o valor padrão não tem efeito. Essa funcionalidade está depreciada a partir do PHP 8.0.0 e geralmente pode ser resolvido eliminando o valor padrão, sem mudança na funcionalidade:

    <?php
    function test($a = [], $b) {} // Antes
    function test($a, $b) {}      // Depois
    ?>

    Uma exceção à esta regra são os parâmetros escritos de seguinte forma: Type $param = null, onde o valor padrão nulo torna o tipo implicitamente anulável. Este uso continua permitido, mas é recomendado o uso de um tipo anulável explícito:

    <?php
    function test(A $a = null, $b) {} // Ainda é permitido
    function test(?A $a, $b) {}       // Recomendável
    ?>

  • Chamar a função get_defined_functions() com o parâmetro exclude_disabled definido explicitamente como false está depreciado e não tem mais efeito. A função get_defined_functions() nunca incluirá funções desabilitadas.

Enchant

  • enchant_broker_set_dict_path() e enchant_broker_get_dict_path() estão depreciadas, porque essa funcionalidade não está disponível no libenchant < 1.5 nem na libenchant-2.

  • enchant_dict_add_to_personal() está depreciada; use enchant_dict_add() em seu lugar.

  • enchant_dict_is_in_session() está depreciada; use enchant_dict_is_added() em seu lugar.

  • enchant_broker_free() e enchant_broker_free_dict() estão depreciadas; em vez disso destrua/unset o objeto.

  • As constantes ENCHANT_MYSPELL e ENCHANT_ISPELL estão depreciadas.

LibXML

A função libxml_disable_entity_loader() foi depreciada. Como a libxml 2.9.0 agora é obrigatória, o carregamento de entidade externa está desabilitado por padrão, e esta função não é mais necessária para a proteção contra ataques XXE.

PGSQL / PDO PGSQL

  • A constante PG_VERSION_STR agora tem o mesmo valor que PG_VERSION, portanto, está depreciada.

  • Os apelidos de função na extensão pgsql foram depreciados. Consulte a lista abaixo para saber quais funções devem ser usadas em seu lugar:

    • pg_errormessage() ? pg_last_error()
    • pg_numrows() ? pg_num_rows()
    • pg_numfields() ? pg_num_fields()
    • pg_cmdtuples() ? pg_affected_rows()
    • pg_fieldname() ? pg_field_name()
    • pg_fieldsize() ? pg_field_size()
    • pg_fieldtype() ? pg_field_type()
    • pg_fieldnum() ? pg_field_num()
    • pg_result() ? pg_fetch_result()
    • pg_fieldprtlen() ? pg_field_prtlen()
    • pg_fieldisnull() ? pg_field_is_null()
    • pg_freeresult() ? pg_free_result()
    • pg_getlastoid() ? pg_last_oid()
    • pg_locreate() ? pg_lo_create()
    • pg_lounlink() ? pg_lo_unlink()
    • pg_loopen() ? pg_lo_open()
    • pg_loclose() ? pg_lo_close()
    • pg_loread() ? pg_lo_read()
    • pg_lowrite() ? pg_lo_write()
    • pg_loreadall() ? pg_lo_read_all()
    • pg_loimport() ? pg_lo_import()
    • pg_loexport() ? pg_lo_export()
    • pg_setclientencoding() ? pg_set_client_encoding()
    • pg_clientencoding() -> pg_client_encoding()

Biblioteca Padrão

  • Funções sort que retornam true ou false agora lançam um aviso de depreciação, e deve ser substituído por uma implementação que retorna um número inteiro menor, igual ou maior que zero.

    <?php
    // Substituir
    usort($array, fn($a, $b) => $a > $b);
    // Por
    usort($array, fn($a, $b) => $a <=> $b);
    ?>

Zip

  • Usar um arquivo vazio como ZipArchive está depreciado. A Libzip 1.6.0 não aceita mais arquivos vazios como arquivos zip válidos. A solução alternativa existente será removida na próxima versão.

  • A API procedural do Zip está depreciada. Use ZipArchive em seu lugar. A iteração em todas as entradas pode ser realizada usando ZipArchive::statIndex() e um laço for:

    <?php
    // iterar usando a API procedural
    assert(is_resource($zip));
    while (    $entry = zip_read($zip)) {
        echo     zip_entry_name($entry);
    }

    // iterar usando a API orientada a objetos
    assert($zip instanceof ZipArchive);
    for (    $i = 0; $entry = $zip->statIndex($i); $i++) {
        echo     $entry['name'];
    }
    ?>

Reflection

  • O método ReflectionFunction::isDisabled() está depreciado, pois não é mais possível criar uma classe ReflectionFunction para uma função desativada. Este método agora sempre retorna false.

  • ReflectionParameter::getClass(),
ReflectionParameter::isArray(), e
ReflectionParameter::isCallable() estão depreciados.
ReflectionParameter::getType() e
ReflectionType devem ser usados em seu lugar.


Outras Mudanças

Mudanças nos módulo SAPI

Apache2Handler

O módulo PHP foi renomeado de php7_module para php_module.

Changed Functions

Reflection

ReflectionClass::getConstants() and ReflectionClass::getReflectionConstants() results can be now filtered via a new parameter filter. Three new constants were added to be used with it:

  • ReflectionClassConstant::IS_PUBLIC
  • ReflectionClassConstant::IS_PROTECTED
  • ReflectionClassConstant::IS_PRIVATE

Zip

  • The ZipArchive::addGlob() and ZipArchive::addPattern() methods accept more values in the options array argument:

    • flags
    • comp_method
    • comp_flags
    • env_method
    • enc_password

  • ZipArchive::addEmptyDir(), ZipArchive::addFile() and ZipArchive::addFromString() methods have a new flags argument. This allows managing name encoding (ZipArchive::FL_ENC_*) and entry replacement (ZipArchive::FL_OVERWRITE).

  • ZipArchive::extractTo() now restores the file modification time.

Other Changes to Extensions

CURL

  • The CURL extension now requires at least libcurl 7.29.0.

  • The deprecated parameter version of curl_version() has been removed.

Date and Time

DatePeriod now implements IteratorAggregate (instead of Traversable).

DOM

DOMNamedNodeMap and DOMNodeList now implement IteratorAggregate (instead of Traversable).

Intl

IntlBreakIterator and ResourceBundle now implement IteratorAggregate (instead of Traversable).

Enchant

The enchant extension now uses libenchant-2 by default when available. libenchant version 1 is still supported but is deprecated and could be removed in the future.

GD

  • The num_points parameter of imagepolygon(), imageopenpolygon() and imagefilledpolygon() is now optional, i.e. these functions may be called with either 3 or 4 arguments. If the argument is omitted, it is calculated as count($points)/2.

  • The function imagegetinterpolation() to get the current interpolation method has been added.

JSON

The JSON extension cannot be disabled anymore and is always an integral part of any PHP build, similar to the date extension.

MBString

The Unicode data tables have been updated to version 13.0.0.

PDO

PDOStatement now implements IteratorAggregate (instead of Traversable).

LibXML

The minimum required libxml version is now 2.9.0. This means that external entity loading is now guaranteed to be disabled by default, and no extra steps need to be taken to protect against XXE attacks.

MySQLi / PDO MySQL

  • When mysqlnd is not used (which is the default and recommended option), the minimum supported libmysqlclient version is now 5.5.

  • mysqli_result now implements IteratorAggregate (instead of Traversable).

PGSQL / PDO PGSQL

The PGSQL and PDO PGSQL extensions now require at least libpq 9.1.

Readline

Calling readline_completion_function() before the interactive prompt starts (e.g. in auto_prepend_file) will now override the default interactive prompt completion function. Previously, readline_completion_function() only worked when called after starting the interactive prompt.

SimpleXML

SimpleXMLElement now implements RecursiveIterator and absorbed the functionality of SimpleXMLIterator. SimpleXMLIterator is an empty extension of SimpleXMLElement.

Changes to INI File Handling

  • com.dotnet_version is a new INI directive to choose the version of the .NET framework to use for dotnet objects.

  • zend.exception_string_param_max_len is a new INI directive to set the maximum string length in an argument of a stringified stack strace.

EBCDIC

EBCDIC targets are no longer supported, though it's unlikely that they were still working in the first place.

Performance

  • A Just-In-Time (JIT) compiler has been added to the opcache extension.

  • array_slice() on an array without gaps will no longer scan the whole array to find the start offset. This may significantly reduce the runtime of the function with large offsets and small lengths.

  • strtolower() now uses a SIMD implementation when using the "C" LC_CTYPE locale (which is the default).


Migrando do PHP 7.3.x para o PHP 7.4.x

Índice

  • Novos Recursos
  • Novas Classes e Interfaces
  • Novas Funções
  • Novas Constantes Globais
  • Alterações incompatíveis com versões anteriores
  • Recursos depreciados
  • Extensões Removidas
  • Outras Mudanças
  • Suporte ao Windows

Esta nova versão menor traz vários novos recursos e algumas incompatibilidades que devem ser testadas antes da troca de versões do PHP em ambientes de produção.

Veja também o guia de migração para versões do PHP 7.0.x, 7.1.x, 7.2.x e 7.3.x.


Novos Recursos

PHP Core

Propriedades tipadas

As propriedades de classe agora suportam declarações de tipo.

<?php
class User {
    public int $id;
    public string $name;
}
?>
O exemplo acima reforçará que $user->id pode ser atribuído apenas com valores int e $user->name somente com valores de string.

Arrow functions

Arrow functions fornecem uma sintaxe abreviada para definir funções com ligação implícita por valor de escopo.

<?php
$factor = 10;
$nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]);
// $nums = array(10, 20, 30, 40);
?>

Covariância do tipo de retorno limitado e contravariância do tipo de argumento

O código a seguir agora funcionará:

<?php
class A {}
class B extends A {}

class Producer {
    public function method(): A {}
}
class ChildProducer extends Producer {
    public function method(): B {}
}
?>
O suporte completo à variação só está disponível se o carregamento automático for usado. Dentro de um único arquivo, apenas as referências de tipo não cíclico são possíveis, porque todas as classes precisam estar disponíveis antes de serem referenciadas.

Operador de atribuição de coalescência nula

<?php
$array['key'] ??= computeDefault();
// is roughly equivalent to
if (!isset($array['key'])) {
    $array['key'] = computeDefault();
}
?>

Descompactando dentro de arrays

<?php
$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
// ['banana', 'orange', 'apple', 'pear', 'watermelon'];
?>

Separador literal numérico

Literais numéricos podem conter underscores entre dígitos.

<?php
6.674_083e-11; // float
299_792_458;   // decimal
0xCAFE_F00D;   // hexadecimal
0b0101_1111;   // binary
?>

Referências fracas

Referências fracas permitem que o programador mantenha uma referência a um objeto que não impede que o objeto seja destruído.

Permitir exceções de __toString()

Lançar exceções de __toString() agora é permitido. Antes isto resultava um erro fatal. Os erros fatais recuperáveis ??existentes nas conversões de string foram convertidos em exceções de Error.

CURL

CURLFile agora suporta stream wrappers, além de nomes de arquivos simples, se a extensão tiver sido criada com relação à libcurl >= 7.56.0.

Filter

O filtro FILTER_VALIDATE_FLOAT agora suporta as opções min_range e max_range com a mesma semântica que FILTER_VALIDATE_INT.

FFI

FFI é uma nova extensão, que fornece uma maneira simples de chamar funções nativas, acessar variáveis ??nativas e criar/acessar estruturas de dados definidas nas bibliotecas C.

GD

Adicionado o filtro de imagem IMG_FILTER_SCATTER para aplicar um filtro de dispersão às imagens.

Hash

Adicionado o hash crc32c usando o polinômio de Castagnoli. Essa variante CRC32 é usada por sistemas de armazenamento, como iSCSI, SCTP, Btrfs e ext4.

Multibyte String

Adicionada a função mb_str_split(), que fornece a mesma funcionalidade que str_split(), mas operando em pontos de código em vez de bytes.

OPcache

Suporte para pré-carregamento de código foi adicionado.

Expressões Regulares (Perl-Compatible)

As funções preg_replace_callback() e preg_replace_callback_array() agora aceitam um argumento flags adicional, com suporte para as flags PREG_OFFSET_CAPTURE e PREG_UNMATCHED_AS_NULL. Isso influencia o formato do array de correspondências passado para a função de retorno da chamada.

PDO

O nome de usuário e a senha agora podem ser especificados como parte do PDO DSN para os drivers mysql, mssql, sybase, dblib, firebird e oci. Antes, isso era suportado apenas pelo driver pgsql. Se um nome de usuário/senha for especificado no construtor e no DSN, o construtor terá precedência.

Agora é possível escapar pontos de interrogação nas consultas SQL para evitar que elas sejam interpretadas como espaços reservados para parâmetros. Escrever ?? permite enviar um único ponto de interrogação para o banco de dados e por exemplo, usar o operador PostgreSQL JSON key exists (?).

PDO_OCI

PDOStatement::getColumnMeta() agora está disponível.

PDO_SQLite

PDOStatement::getAttribute(PDO::SQLITE_ATTR_READONLY_STATEMENT) permite verificar se a instrução é somente leitura, ou seja, se não modifica o banco de dados.

PDO::setAttribute(PDO::SQLITE_ATTR_EXTENDED_RESULT_CODES, true) permite o uso de códigos de resultado estendidos do SQLite3 em PDO::errorInfo() e PDOStatement::errorInfo().

SQLite3

Adicionado SQLite3::lastExtendedErrorCode() para buscar o último código de resultado estendido.

Adicionado SQLite3::enableExtendedResultCodes($enable = true), que fará SQLite3::lastErrorCode() retornar códigos de resultado estendidos.

Standard

strip_tags() com array de nomes de tags

strip_tags() agora também aceita um array de tags permitidas: em vez de strip_tags($str, '<a><p>') agora você pode escrever strip_tags($str, ['a', 'p']).

Serialização de objetos personalizados

Um novo mecanismo para serialização de objetos personalizados foi adicionado, que usa dois novos métodos mágicos: __serialize e __unserialize.

<?php
// Retorna um array contendo todo o estado necessário do objeto.
public function __serialize(): array;

// Restaura o estado do objeto a partir do array de dados fornecido.
public function __unserialize(array $data): void;
?>
O novo mecanismo de serialização substitui a interface Serializable, que será descontinuada no futuro.

Funções de mesclagem de array sem argumentos

array_merge() e array_merge_recursive() agora podem ser chamados sem nenhum argumento; nesse caso, eles retornarão um array vazio. Isso é útil em conjunto com o operador spread, por exemplo, array_merge(...$arrays).

Função proc_open()

proc_open() agora aceita um array em vez de uma string para o comando. Nesse caso, o processo será aberto diretamente (sem passar por um shell) e o PHP cuidará de qualquer argumento necessário para escapar.

<?php
proc_open(['php', '-r', 'echo "Hello World\n";'], $descriptors, $pipes);
?>

proc_open() agora suporta redirect e descritores null.

<?php
// Like 2>&1 on the shell
proc_open($cmd, [1 => ['pipe', 'w'], 2 => ['redirect', 1]], $pipes);
// Like 2>/dev/null or 2>nul on the shell
proc_open($cmd, [1 => ['pipe', 'w'], 2 => ['null']], $pipes);
?>

argon2i(d) sem libargon

password_hash() agora possui as implementações argon2i e argon2id da extensão sodium quando o PHP é compilado sem libargon.


  • « Novos Recursos
  • Novas Funções »
  • PHP Manual
  • Migrando do PHP 7.3.x para o PHP 7.4.x
  • Novas Classes e Interfaces

Novas Classes e Interfaces

Reflection

  • ReflectionReference


Novas Funções

PHP Core

  • get_mangled_object_vars()
  • password_algos()
  • sapi_windows_set_ctrl_handler()

GD

  • imagecreatefromtga()

OpenSSL

  • openssl_x509_verify()

Process Control

  • pcntl_unshare()

SQLite3

  • SQLite3::backup()
  • SQLite3Stmt::getSQL()


Novas Constantes Globais

PHP Core

  • PHP_WINDOWS_EVENT_CTRL_C
  • PHP_WINDOWS_EVENT_CTRL_BREAK

Multibyte String

  • MB_ONIGURUMA_VERSION

Sockets

Adicionadas as seguintes opções específicas para FreeBSD socket:

  • SO_LABEL
  • SO_PEERLABEL
  • SO_LISTENQLIMIT
  • SO_LISTENQLEN
  • SO_USER_COOKIE

Tidy

  • TIDY_TAG_ARTICLE
  • TIDY_TAG_ASIDE
  • TIDY_TAG_AUDIO
  • TIDY_TAG_BDI
  • TIDY_TAG_CANVAS
  • TIDY_TAG_COMMAND
  • TIDY_TAG_DATALIST
  • TIDY_TAG_DETAILS
  • TIDY_TAG_DIALOG
  • TIDY_TAG_FIGCAPTION
  • TIDY_TAG_FIGURE
  • TIDY_TAG_FOOTER
  • TIDY_TAG_HEADER
  • TIDY_TAG_HGROUP
  • TIDY_TAG_MAIN
  • TIDY_TAG_MARK
  • TIDY_TAG_MENUITEM
  • TIDY_TAG_METER
  • TIDY_TAG_NAV
  • TIDY_TAG_OUTPUT
  • TIDY_TAG_PROGRESS
  • TIDY_TAG_SECTION
  • TIDY_TAG_SOURCE
  • TIDY_TAG_SUMMARY
  • TIDY_TAG_TEMPLATE
  • TIDY_TAG_TIME
  • TIDY_TAG_TRACK
  • TIDY_TAG_VIDEO


Alterações incompatíveis com versões anteriores

PHP Core

Acesso em estilo de array em não-array

Tentar usar valores do tipo null, bool, int, float ou resource como um array (como $null["key"]) agora irá gerar um aviso.

Função get_declared_classes()

A função get_declared_classes() não retorna mais classes anônimas que ainda não foram instanciadas.

Palavra-chave fn

fn agora é uma palavra-chave reservada. Em particular, ele não pode mais ser usado como um nome de função ou classe. Ela ainda pode ser usado como um nome constante de método ou classe.

A tag <?php no final do arquivo

<?php no final do arquivo (sem seguir a nova linha) agora será interpretado como uma tag PHP de abertura. Antes, era interpretada como uma short open tag seguida por um literal php e resultava em um erro de sintaxe (com short_open_tag=1) ou era interpretada como uma string literal <?php (com short_open_tag=0).

Stream wrappers

Ao usar include/require em uma stream, streamWrapper::stream_set_option() será chamado com a opção STREAM_OPTION_READ_BUFFER. As implementações personalizadas do wrapper de fluxo podem precisar implementar o método streamWrapper::stream_set_option() para evitar um aviso (sempre retornando false é uma implementação suficiente).

Serialização

O formato o de serialização foi removido. Como nunca é produzido pelo PHP, isso pode apenas interromper a desserialização de strings criadas manualmente.

Constantes do algoritmo de senha

Os identificadores do algoritmo de hash de senha agora são sequências anuláveis ??em vez de números inteiros.

  • PASSWORD_DEFAULT era um int 1; agora é null
  • PASSWORD_BCRYPT era um int 1; agora é uma string '2y'
  • PASSWORD_ARGON2I era um int 2; agora é uma string 'argon2i'
  • PASSWORD_ARGON2ID era um int 3; agora é uma string 'argon2id'

Aplicações que usam corretamente as constantes PASSWORD_DEFAULT, PASSWORD_BCRYPT, PASSWORD_ARGON2I e PASSWORD_ARGON2ID continuarão funcionando corretamente.

Função htmlentities()

htmlentities() agora emitirá um aviso (em vez de um aviso estrito sobre os padrões) se for usado com uma codificação para a qual apenas a substituição básica de entidade é suportada; nesse caso, é equivalente ahtmlspecialchars().

Funções fread() e fwrite()

fread() e fwrite() agora retornarão false se a operação falhar. Antes uma string vazia ou 0 era retornado. EAGAIN/EWOULDBLOCK não são considerados falhas.

Essas funções agora também emitem um aviso de falha, como ao tentar gravar em um recurso de arquivo somente leitura.

Funções matemáticas de precisão arbitrária BCMath

As funções BCMath agora avisam se um número não bem formado é passado, como "32foo". O argumento será interpretado como zero, como antes.

CURL

Tentar serializar uma classe CURLFile agora irá gerar uma exceção. Antes, a exceção era lançada apenas na desserialização.

O uso de CURLPIPE_HTTP1 está depreciado, e não é mais suportado a partir do cURL 7.62.0.

O parâmetro $version de curl_version() está depreciado. Se qualquer valor diferente do padrão CURLVERSION_NOW for passado, um aviso será gerado e o parâmetro será ignorado.

Data e hora

Chamar a função var_dump() ou similar em uma instância de DateTime ou DateTimeImmutable não deixará mais propriedades acessíveis no objeto.

A comparação de objetos DateInterval (usando ==, <, e assim por diante) agora gera um aviso e sempre retorna false. Antes todos os objetos DateInterval eram considerados iguais, a menos que tivessem propriedades.

Intl

O valor padrão do parâmetro das funções idn_to_ascii() e idn_to_utf8() agora é INTL_IDNA_VARIANT_UTS46 em vez de INTL_IDNA_VARIANT_2003 depreciado.

MySQLi

A funcionalidade do servidor incorporado foi removida. Foi quebrado desde pelo menos o PHP 7.0.

A propriedade não documentada mysqli::$stat foi removida em favor de mysqli::stat().

OpenSSL

A função openssl_random_pseudo_bytes() agora lançará uma exceção em situações de erro, semelhante a random_bytes(). Em particular, um Error será lançado se o número de bytes solicitados for menor ou igual a zero, e uma Exception será lançada se não for possível reunir aleatoriedade suficiente. O argumento $crypto_strong output é garantido para sempre ser true se a função não for lançada, portanto, verificar explicitamente não é necessário.

Expressões regulares (Perl-Compatible)

Quando o modo PREG_UNMATCHED_AS_NULL é usado, os grupos de captura sem correspondência à direita agora também serão definidos como null (ou [null, -1] se a captura offset estiver ativada). Isso significa que o tamanho de $matches sempre será o mesmo.

Objetos de dados PHP

A tentativa de serializar uma instância PDO ou PDOStatement agora gerará uma Exception em vez de uma PDOException, consistente com outras classes internas que não oferecem suporte à serialização.

Reflection

Os objetos reflexion agora gerarão uma exceção se for feita uma tentativa de serializá-los. A serialização de objetos reflexion nunca foi suportada e resultou em objetos reflexion corrompidos. Foi explicitamente proibido agora.

Standard PHP Library (SPL)

Chamar get_object_vars() em uma instância de ArrayObject agora sempre retornará as propriedades do próprio ArrayObject (ou de uma sub classe). Antes, ele retornava os valores do array/object a menos que a flag ArrayObject::STD_PROP_LIST fosse especificado.

Outras operações afetadas são:

  • ReflectionObject::getProperties()
  • reset(), current(), etc. Use os métodos de Iterator em seu lugar.
  • Potencialmente outros trabalhando nas propriedades do objeto como uma lista.

(array) casts não são afetadas. Eles continuarão retornando o array agrupado, ou as propriedades ArrayObject dependendo se a flag ArrayObject::STD_PROP_LIST é usada.

SplPriorityQueue::setExtractFlags() lançará uma exceção se zero for passado. Antes, isso geraria um erro fatal recuperável na próxima operação de extração.

ArrayObject, ArrayIterator, SplDoublyLinkedList e SplObjectStorage agora oferecem suporte ao mecanismo __serialize() e __unserialize() além da interface Serializable. Isso significa que as payloads de serialização criadas em versões mais antigas do PHP ainda podem ser desserializadas, mas as novas payloads criadas pelo PHP 7.4 não serão entendidas pelas versões mais antigas.

Tokenizer

token_get_all() agora emitirá um token T_BAD_CHARACTER para caracteres inesperados em vez de deixar para trás buracos no fluxo de token.

Incoming Cookies

A partir do PHP 7.4.11, os nomes dos cookies recebidos não são mais decodificados em url por razões de segurança.


Recursos depreciados

PHP Core

Operadores ternários aninhados sem parênteses explícitos

Operações ternárias aninhadas devem usar explicitamente parênteses para ditar a ordem das operações. Anteriormente, quando usada sem parênteses, a associatividade esquerda não resultava no comportamento esperado na maioria dos casos.

<?php
1 ? 2 : 3 ? 4 : 5;   // depreciado
(1 ? 2 : 3) ? 4 : 5; // ok
1 ? 2 : (3 ? 4 : 5); // ok
?>

Acesso a valores de array e string usando chaves

O acesso a valor de string e array usando a sintaxe de chaves está depreciado. Use $var[$idx] ao invés de $var{$idx}.

A conversão (real) e a função is_real()

A conversão (real) está depreciada, use (float) em seu lugar.

A função is_real() também está depreciada, use is_float() em seu lugar.

Desvinculando $this quando $this é usado

Desvincular $this de uma closure não estática que usa $this está depreciado.

A palavra chave parent sem uma classe parent

Usar a palavra chave parent dentro de uma classe sem parent está depreciado, e lançará um erro em tempo de compilação no futuro. Atualmente um erro será gerado apenas se/quando o parent for acessado em tempo de execução.

A diretiva INI allow_url_include

A diretiva allow_url_include está depreciada. Ativá-la gerará um aviso de depreciação na inicialização.

Caracteres inválidos nas funções de conversão de base

Passar caracteres inválidos para as funções: base_convert(), bindec(), octdec() and hexdec()agora gerará um aviso de depreciação. O resultado ainda será calculado como se os caracteres inválidos não existissem. Os espaços em branco à esquerda e à direita, bem como os prefixos do tipo 0x (dependendo da base) continuam sendo permitidos.

Usando array_key_exists() em objetos

O uso de array_key_exists() em objetos está depreciado. Em vez disso isset() ou property_exists() deve ser usado.

Funções magic quotes

As funções get_magic_quotes_gpc() e get_magic_quotes_runtime() estão depreciadas. Elas sempre retornam false.

Função hebrevc()

A função hebrevc() está depreciada. Ela pode ser substituída por nl2br(hebrev($str)) ou, preferencialmente, pelo uso do suporte Unicode RTL.

Função convert_cyr_string()

A função convert_cyr_string() está depreciada. Pode ser substituída por um dos mb_convert_string(), iconv() ou UConverter.

Função money_format()

A função money_format() está depreciada. Ela pode ser substituída pela funcionalidade intl NumberFormatter.

Função ezmlm_hash()

A função ezmlm_hash() está depreciada.

Função restore_include_path()

A função restore_include_path() está depreciada. Pode ser sbstituída por ini_restore('include_path').

Implode com a ordem histórica dos parâmetros

A passagem de parâmetros para a função implode() na ordem reversa está depreciada, use implode($glue, $parts) em vez de implode($parts, $glue).

COM

A importação de bibliotecas de tipos com registro constante que não diferencia maiúsculas de minúsculas foi depreciado.

Filter

FILTER_SANITIZE_MAGIC_QUOTES está depreciado, use FILTER_SANITIZE_ADD_SLASHES em seu lugar.

Multibyte String

A passagem de um padrão não-string para a função mb_ereg_replace() está depreciado. Atualmente, os padrões não-string são interpretados como pontos de código ASCII. No PHP 8, o padrão será interpretado como uma string.

Passar a codificação como terceiro parâmetro para a função mb_strrpos() está depreciado. Em vez disso, passe um offset 0 e a codificação como quarto parâmetro.

Lightweight Directory Access Protocol

ldap_control_paged_result_response() e ldap_control_paged_result() estão depreciados. Os controles de paginação podem ser enviados junto com a função ldap_search().

Reflection

As chamadas para ReflectionType::__toString() agora geram, um aviso de depreciação. Este método foi depreciado em favor de ReflectionNamedType::getName() na documentação a partir do PHP 7.1, mas não emitiu um aviso de depreciação por motivos técnicos.

Os métodos export() em todas as classes Reflection foram depreciados. Construa um objeto Reflection e converta-o em string em seu lugar:

<?php
// ReflectionClass::export(Foo::class, false) is:
echo new ReflectionClass(Foo::class), "\n";

// $str = ReflectionClass::export(Foo::class, true) is:
$str = (string) new ReflectionClass(Foo::class);
?>

Socket

AI_IDN_ALLOW_UNASSIGNED e AI_IDN_USE_STD3_ASCII_RULES para socket_addrinfo_lookup() foram depreciadas, devido a uma depreciação upstream na glibc.


Extensões Removidas

Essas extensões foram movidas para o PECL e não fazem mais parte da distribuição do PHP As versões de pacotes PECL dessas extensões serão criadas de acordo com a demanda do usuário

  • Firebird/Interbase - o acesso a um banco de dados baseado em InterBase e/ou Firebird ainda está disponível com o driver PDO Firebird.
  • Recode
  • WDDX


Outras Mudanças

Melhorias de desempenho

PHP Core

A specialized VM opcode for the array_key_exists() function has been added, which improves performance of this function if it can be statically resolved. In namespaced code, this may require writing \array_key_exists() or explicitly importing the function.

Regular Expressions (Perl-Compatible)

When preg_match() in UTF-8 mode ("u" modifier) is repeatedly called on the same string (but possibly different offsets), it will only be checked for UTF-8 validity once.

Changes to INI File Handling

zend.exception_ignore_args is a new INI directive for including or excluding arguments from stack traces generated from exceptions.

opcache.preload_user is a new INI directive for specifying the user account under which preloading code is execute if it would otherwise be run as root (which is not allowed for security reasons).

Migration to pkg-config

A number of extensions have been migrated to exclusively use pkg-config for the detection of library dependencies. Generally, this means that instead of using --with-foo-dir=DIR or similar only --with-foo is used. Custom library paths can be specified either by adding additional directories to PKG_CONFIG_PATH or by explicitly specifying compilation options through FOO_CFLAGS and FOO_LIBS.

The following extensions and SAPIs are affected:

  • CURL:
    • --with-curl no longer accepts a directory.
  • Enchant:
    • --with-enchant no longer accepts a directory.
  • FPM:
    • --with-fpm-systemd now uses only pkg-config for libsystem checks. The libsystemd minimum required version is 209.
  • GD:
    • --with-gd becomes --enable-gd (whether to enable the extension at all) and --with-external-gd (to opt into using an external libgd, rather than the bundled one).
    • --with-png-dir has been removed. libpng is required.
    • --with-zlib-dir has been removed. zlib is required.
    • --with-freetype-dir becomes --with-freetype
    • --with-jpeg-dir becomes --with-jpeg
    • --with-webp-dir becomes --with-webp
    • --with-xpm-dir becomes --with-xpm
  • IMAP:
    • --with-kerberos-systemd no longer accepts a directory.
  • Intl:
    • --with-icu-dir has been removed. If --enable-intl is passed, then libicu is always required.
  • LDAP:
    • --with-ldap-sasl no longer accepts a directory.
  • Libxml:
    • --with-libxml-dir has been removed.
    • --enable-libxml becomes --with-libxml.
    • --with-libexpat-dir has been renamed to --with-expat and no longer accepts a directory.
  • Litespeed:
    • --with-litespeed becomes --enable-litespeed.
  • Mbstring:
    • --with-onig has been removed. Unless --disable-mbregex has been passed, libonig is required.
  • ODBC:
    • --with-iodbc no longer accepts a directory.
    • --with-unixODBC without a directory now uses pkg-config (preferred). Directory is still accepted for old versions without libodbc.pc.
  • OpenSSL:
    • --with-openssl no longer accepts a directory.
  • PCRE:
    • --with-pcre-regex has been removed. Instead --with-external-pcre is provided to opt into using an external PCRE library, rather than the bundled one.
  • PDO_SQLite:
    • --with-pdo-sqlite no longer accepts a directory.
  • Readline:
    • --with-libedit no longer accepts a directory.
  • Sodium:
    • --with-sodium no longer accepts a directory.
  • SQLite3:
    • --with-sqlite3 no longer accepts a directory.
  • XSL:
    • --with-xsl no longer accepts a directory.
  • Zip:
    • --with-libzip has been removed.
    • --enable-zip becomes --with-zip.

CSV escaping

fputcsv(),
fgetcsv(),
SplFileObject::fputcsv(),
SplFileObject::fgetcsv(), and
SplFileObject::setCsvControl()
now accept an empty string as $escape argument,
which disables the proprietary PHP escaping mechanism.

The behavior of str_getcsv() has been adjusted accordingly (formerly, an empty string was identical to using the default).

SplFileObject::getCsvControl() now may also return an empty string for the third array element, accordingly.

Data Filtering

The filter extension no longer exposes --with-pcre-dir for Unix builds and can now reliably be built as shared when using ./configure

GD

The behavior of imagecropauto() in the bundled libgd has been synced with that of system libgd:

  • IMG_CROP_DEFAULT is no longer falling back to IMG_CROP_SIDES
  • Threshold-cropping now uses the algorithm of system libgd

The default $mode parameter of imagecropauto() has been changed to IMG_CROP_DEFAULT; passing -1 is now deprecated.

imagescale() now supports aspect ratio preserving scaling to a fixed height by passing -1 as $new_width.

HASH Message Digest Framework

The hash extension cannot be disabled anymore and is always an integral part of any PHP build, similar to the date extension.

Intl

The intl extension now requires at least ICU 50.1.

ResourceBundle now implements Countable.

Lightweight Directory Access Protocol

Support for nsldap and umich_ldap has been removed.

Libxml

All libxml-based extensions now require libxml 2.7.6 or newer.

Multibyte String

The oniguruma library is no longer bundled with PHP, instead libonig needs to be available on the system. Alternatively --disable-mbregex can be used to disable the mbregex component.

OPcache

The --disable-opcache-file and --enable-opcache-file configure options have been removed in favor of the opcache.file_cache INI directive.

Password Hashing

The password_hash() and functions now accept nullable string and int for $algo argument.

PEAR

Installation of PEAR (including PECL) is no longer enabled by default. It can be explicitly enabled using --with-pear. This option is deprecated and may be removed in the future.

Reflection

The numeric values of the modifier constants (IS_ABSTRACT, IS_DEPRECATED, IS_EXPLICIT_ABSTRACT, IS_FINAL, IS_IMPLICIT_ABSTRACT, IS_PRIVATE, IS_PROTECTED, IS_PUBLIC, and IS_STATIC) on the ReflectionClass, ReflectionFunction, ReflectionMethod, ReflectionObject, and ReflectionProperty classes have changed.

SimpleXML

SimpleXMLElement now implements Countable.

SQLite3

The bundled libsqlite has been removed. To build the SQLite3 extension a system libsqlite3 = 3.7.4 is now required. To build the PDO_SQLite extension a system libsqlite3 = 3.5.0 is now required.

Serialization and unserialization of SQLite3, SQLite3Stmt and SQLite3Result is now explicitly forbidden. Formerly, serialization of instances of these classes was possible, but unserialization yielded unusable objects.

The @param notation can now also be used to denote SQL query parameters.

Zip

The bundled libzip library has been removed. A system libzip >= 0.11 is now necessary to build the zip extension.


Suporte ao Windows

configure flags

configure now regards additional CFLAGS and LDFLAGS set as environment variables.

CTRL handling

CTRL+C and CTRL+BREAK on console can be caught by setting a handler function with sapi_windows_set_ctrl_handler().

proc_open() on Windows can be passed a "create_process_group" option. It is required if the child process is supposed to handle CTRL events.

OPcache

OPcache now supports an arbitrary number of separate caches per user via the the INI directive opcache.cache_id. All processes with the same cache ID and user share an OPcache instance.

stat

The stat implementation has been refactored.

  • An inode number is delivered and is based on the NTFS file index.
  • The device number is now based on the volume serial number.

Note that both values are derived from the system and provided as-is on 64-bit systems. On 32-bit systems, these values might overflow the 32-bit integer in PHP, so they're fake.

libsqlite3

libsqlite3 is no longer compiled statically into php_sqlite3.dll and php_pdo_sqlite.dll, but rather available as libsqlite3.dll. Refer to the installation instructions for SQLite3 and PDO_SQLITE, respectively.


Migrando do PHP 7.2.x para o PHP 7.3.x

Índice

  • New Features
  • New Functions
  • New Global Constants
  • Backward Incompatible Changes
  • Deprecated Features
  • Other Changes
  • Windows Support

Esta nova versão menor traz vários novos recursos e algumas incompatibilidades que devem ser testadas antes da troca de versões do PHP em ambientes de produção.

Veja também o guia de migração para versões do PHP 7.0.x, 7.1.x e 7.2.x.


New Features

PHP Core

More Flexible Heredoc and Nowdoc Syntax

The closing marker for doc strings is no longer required to be followed by a semicolon or newline. Additionally the closing marker may be indented, in which case the indentation will be stripped from all lines in the doc string.

Array Destructuring supports Reference Assignments

Array destructuring now supports reference assignments using the syntax [&$a, [$b, &$c]] = $d. The same is also supported for list().

Instanceof Operator accepts Literals

instanceof now allows literals as the first operand, in which case the result is always false.

CompileError Exception instead of some Compilation Errors

A new CompileError exception has been added, from which ParseError inherits. A small number of compilation errors will now throw a CompileError instead of generating a fatal error. Currently this only affects compilation errors that may be thrown by token_get_all() in TOKEN_PARSE mode, but more errors may be converted in the future.

Trailing Commas are allowed in Calls

Trailing commas in function and method calls are now allowed.

Argon2id Support

The --with-password-argon2[=dir] configure argument now provides support for both Argon2i and Argon2id hashes in the password_hash(), password_verify(), password_get_info(), and password_needs_rehash() functions. Passwords may be hashed and verified using the PASSWORD_ARGON2ID constant. Support for both Argon2i and Argon2id in the password_*() functions now requires PHP be linked against libargon2 reference library = 20161029.

FastCGI Process Manager

New options have been added to customize the FPM logging:

log_limit
This global option can be used for setting the log limit for the logged line which allows to log messages longer than 1024 characters without wrapping. It also fixes various wrapping issues.
log_buffering
This global option allows an experimental logging without extra buffering.
decorate_workers_output
This pool option allows to disable the output decoration for workers output when catch_workers_output is enabled.

BC Math Functions

bcscale() can now also be used as getter to retrieve the current scale in use.

Lightweight Directory Access Protocol

Full support for LDAP Controls has been added to the LDAP querying functions and ldap_parse_result():

  • A $serverctrls parameter to send controls to the
server in ldap_add(),
ldap_mod_replace(), ldap_mod_add(),
ldap_mod_del(), ldap_rename(),
ldap_compare(), ldap_delete(),
ldap_modify_batch(),
ldap_search(), ldap_list() and
ldap_read() has been added.
  • The out parameter $serverctrls to get controls from the server in ldap_parse_result() has been added.
  • Support for LDAP_OPT_SERVER_CONTROLS and LDAP_OPT_CLIENT_CONTROLS in ldap_get_option() and ldap_set_option() has been fixed.

Multibyte String Functions

Full Case-Mapping and Case-Folding Support

Support for full case-mapping and case-folding has been added. Unlike simple case-mapping, full case-mapping may change the length of the string. For example:

<?php
mb_strtoupper("Straße");
// Produces STRAßE on PHP 7.2
// Produces STRASSE on PHP 7.3
?>
The different casing mapping and folding modes are available through mb_convert_case():
  • MB_CASE_LOWER (used by mb_strtolower())
  • MB_CASE_UPPER (used by mb_strtoupper())
  • MB_CASE_TITLE
  • MB_CASE_FOLD
  • MB_CASE_LOWER_SIMPLE
  • MB_CASE_UPPER_SIMPLE
  • MB_CASE_TITLE_SIMPLE
  • MB_CASE_FOLD_SIMPLE (used by case-insensitive operations)
Only unconditional, language agnostic full case-mapping is performed.

Case-Insensitive String Operations use Case-Folding

Case-insensitive string operations now use case-folding instead of case- mapping during comparisons. This means that more characters will be considered (case insensitively) equal now.

MB_CASE_TITLE performs Title-Case Conversion

mb_convert_case() with MB_CASE_TITLE now performs title-case conversion based on the Cased and CaseIgnorable derived Unicode properties. In particular this also improves handling of quotes and apostrophes.

Unicode 11 Support

The Multibyte String data tables have been updated for Unicode 11.

Long String Support

The Multibyte String Functions now correctly support strings larger than 2GB.

Performance Improvements

Performance of the Multibyte String extension has been significantly improved across the board. The largest improvements are in case conversion functions.

Named Captures Support

The mb_ereg_* functions now support named captures. Matching functions like mb_ereg() will now return named captures both using their group number and their name, similar to PCRE:

<?php
mb_ereg('(?<word>\w+)', '?', $matches);
// => [0 => "?", 1 => "?", "word" => "?"];
?>
Additionally, mb_ereg_replace() now supports the \k<> and \k'' notations to reference named captures in the replacement string:
<?php
mb_ereg_replace('\s*(?<word>\w+)\s*', "_\k<word>_\k'word'_", ' foo ');
// => "_foo_foo_"
?>
\k<> and \k'' can also be used for numbered references, which also works with group numbers greater than 9.

Readline

Support for the completion_append_character and completion_suppress_append options has been added to readline_info(). These options are only available if PHP is linked against libreadline (rather than libedit).


New Functions

PHP Core

  • array_key_first()
  • array_key_last()
  • gc_status()
  • hrtime()
  • is_countable()
  • net_get_interfaces()

FastCGI Process Manager

  • fpm_get_status()

Date and Time

  • DateTime::createFromImmutable()

GNU Multiple Precision

  • gmp_binomial()
  • gmp_kronecker()
  • gmp_lcm()
  • gmp_perfect_power()

Internationalization Functions

  • Normalizer::getRawDecomposition()
  • normalizer_get_raw_decomposition()
  • Spoofchecker::setRestrictionLevel()

Lightweight Directory Access Protocol

  • ldap_add_ext()
  • ldap_bind_ext()
  • ldap_delete_ext()
  • ldap_exop_refresh()
  • ldap_mod_add_ext()
  • ldap_mod_replace_ext()
  • ldap_mod_del_ext()
  • ldap_rename_ext()

OpenSSL

  • openssl_pkey_derive()

Sockets

  • socket_wsaprotocol_info_export()
  • socket_wsaprotocol_info_import()
  • socket_wsaprotocol_info_release()


New Global Constants

PHP Core

  • PASSWORD_ARGON2ID

Client URL Library

  • CURLAUTH_BEARER
  • CURLAUTH_GSSAPI
  • CURLE_WEIRD_SERVER_REPLY
  • CURLINFO_APPCONNECT_TIME_T
  • CURLINFO_CONNECT_TIME_T
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
  • CURLINFO_CONTENT_LENGTH_UPLOAD_T
  • CURLINFO_FILETIME_T
  • CURLINFO_HTTP_VERSION
  • CURLINFO_NAMELOOKUP_TIME_T
  • CURLINFO_PRETRANSFER_TIME_T
  • CURLINFO_PROTOCOL
  • CURLINFO_PROXY_SSL_VERIFYRESULT
  • CURLINFO_REDIRECT_TIME_T
  • CURLINFO_SCHEME
  • CURLINFO_SIZE_DOWNLOAD_T
  • CURLINFO_SIZE_UPLOAD_T
  • CURLINFO_SPEED_DOWNLOAD_T
  • CURLINFO_SPEED_UPLOAD_T
  • CURLINFO_STARTTRANSFER_TIME_T
  • CURLINFO_TOTAL_TIME_T
  • CURL_LOCK_DATA_CONNECT
  • CURL_LOCK_DATA_PSL
  • CURL_MAX_READ_SIZE
  • CURLOPT_ABSTRACT_UNIX_SOCKET
  • CURLOPT_DISALLOW_USERNAME_IN_URL
  • CURLOPT_DNS_SHUFFLE_ADDRESSES
  • CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
  • CURLOPT_HAPROXYPROTOCOL
  • CURLOPT_KEEP_SENDING_ON_ERROR
  • CURLOPT_PRE_PROXY
  • CURLOPT_PROXY_CAINFO
  • CURLOPT_PROXY_CAPATH
  • CURLOPT_PROXY_CRLFILE
  • CURLOPT_PROXY_KEYPASSWD
  • CURLOPT_PROXY_PINNEDPUBLICKEY
  • CURLOPT_PROXY_SSLCERT
  • CURLOPT_PROXY_SSLCERTTYPE
  • CURLOPT_PROXY_SSL_CIPHER_LIST
  • CURLOPT_PROXY_SSLKEY
  • CURLOPT_PROXY_SSLKEYTYPE
  • CURLOPT_PROXY_SSL_OPTIONS
  • CURLOPT_PROXY_SSL_VERIFYHOST
  • CURLOPT_PROXY_SSL_VERIFYPEER
  • CURLOPT_PROXY_SSLVERSION
  • CURLOPT_PROXY_TLS13_CIPHERS
  • CURLOPT_PROXY_TLSAUTH_PASSWORD
  • CURLOPT_PROXY_TLSAUTH_TYPE
  • CURLOPT_PROXY_TLSAUTH_USERNAME
  • CURLOPT_REQUEST_TARGET
  • CURLOPT_SOCKS5_AUTH
  • CURLOPT_SSH_COMPRESSION
  • CURLOPT_SUPPRESS_CONNECT_HEADERS
  • CURLOPT_TIMEVALUE_LARGE
  • CURLOPT_TLS13_CIPHERS
  • CURLPROXY_HTTPS
  • CURLSSH_AUTH_GSSAPI
  • CURL_SSLVERSION_MAX_DEFAULT
  • CURL_SSLVERSION_MAX_NONE
  • CURL_SSLVERSION_MAX_TLSv1_0
  • CURL_SSLVERSION_MAX_TLSv1_1
  • CURL_SSLVERSION_MAX_TLSv1_2
  • CURL_SSLVERSION_MAX_TLSv1_3
  • CURL_SSLVERSION_TLSv1_3
  • CURL_VERSION_ALTSVC (as of PHP 7.3.6)
  • CURL_VERSION_ASYNCHDNS
  • CURL_VERSION_BROTLI
  • CURL_VERSION_CONV
  • CURL_VERSION_CURLDEBUG (as of PHP 7.3.6)
  • CURL_VERSION_DEBUG
  • CURL_VERSION_GSSAPI
  • CURL_VERSION_GSSNEGOTIATE
  • CURL_VERSION_HTTPS_PROXY
  • CURL_VERSION_IDN
  • CURL_VERSION_LARGEFILE
  • CURL_VERSION_MULTI_SSL
  • CURL_VERSION_NTLM
  • CURL_VERSION_NTLM_WB
  • CURL_VERSION_PSL (as of PHP 7.3.6)
  • CURL_VERSION_SPNEGO
  • CURL_VERSION_SSPI
  • CURL_VERSION_TLSAUTH_SRP

Data Filtering

  • FILTER_SANITIZE_ADD_SLASHES

JavaScript Object Notation

  • JSON_THROW_ON_ERROR

Lightweight Directory Access Protocol

  • LDAP_CONTROL_ASSERT
  • LDAP_CONTROL_MANAGEDSAIT
  • LDAP_CONTROL_PROXY_AUTHZ
  • LDAP_CONTROL_SUBENTRIES
  • LDAP_CONTROL_VALUESRETURNFILTER
  • LDAP_CONTROL_PRE_READ
  • LDAP_CONTROL_POST_READ
  • LDAP_CONTROL_SORTREQUEST
  • LDAP_CONTROL_SORTRESPONSE
  • LDAP_CONTROL_PAGEDRESULTS
  • LDAP_CONTROL_AUTHZID_REQUEST
  • LDAP_CONTROL_AUTHZID_RESPONSE
  • LDAP_CONTROL_SYNC
  • LDAP_CONTROL_SYNC_STATE
  • LDAP_CONTROL_SYNC_DONE
  • LDAP_CONTROL_DONTUSECOPY
  • LDAP_CONTROL_PASSWORDPOLICYREQUEST
  • LDAP_CONTROL_PASSWORDPOLICYRESPONSE
  • LDAP_CONTROL_X_INCREMENTAL_VALUES
  • LDAP_CONTROL_X_DOMAIN_SCOPE
  • LDAP_CONTROL_X_PERMISSIVE_MODIFY
  • LDAP_CONTROL_X_SEARCH_OPTIONS
  • LDAP_CONTROL_X_TREE_DELETE
  • LDAP_CONTROL_X_EXTENDED_DN
  • LDAP_CONTROL_VLVREQUEST
  • LDAP_CONTROL_VLVRESPONSE

Multibyte String

  • MB_CASE_FOLD
  • MB_CASE_LOWER_SIMPLE
  • MB_CASE_UPPER_SIMPLE
  • MB_CASE_TITLE_SIMPLE
  • MB_CASE_FOLD_SIMPLE

OpenSSL

  • STREAM_CRYPTO_PROTO_SSLv3
  • STREAM_CRYPTO_PROTO_TLSv1_0
  • STREAM_CRYPTO_PROTO_TLSv1_1
  • STREAM_CRYPTO_PROTO_TLSv1_2

PostgreSQL

  • PGSQL_DIAG_SCHEMA_NAME
  • PGSQL_DIAG_TABLE_NAME
  • PGSQL_DIAG_COLUMN_NAME
  • PGSQL_DIAG_DATATYPE_NAME
  • PGSQL_DIAG_CONSTRAINT_NAME
  • PGSQL_DIAG_SEVERITY_NONLOCALIZED


Backward Incompatible Changes

PHP Core

Heredoc/Nowdoc Ending Label Interpretation

Due to the introduction of flexible heredoc/nowdoc syntax, doc strings that contain the ending label inside their body may cause syntax errors or change in interpretation. For example in:

<?php
$str = <<<FOO
abcdefg
   FOO
FOO;
?>
the indented occurrence of FOO did not previously have any special meaning. Now it will be interpreted as the end of the heredoc string and the following FOO; will cause a syntax error. This issue can always be resolved by choosing an ending label that does not occur within the contents of the string.

Continue Targeting Switch issues Warning

continue statements targeting switch control flow structures will now generate a warning. In PHP such continue statements are equivalent to break, while they behave as continue 2 in other languages.

<?php
while ($foo) {
    switch ($bar) {
      case "baz":
         continue;
         // Warning: "continue" targeting switch is equivalent to
         //          "break". Did you mean to use "continue 2"?
   }
}
?>

Strict Interpretation of Integer String Keys on ArrayAccess

Array accesses of type $obj["123"], where $obj implements ArrayAccess and "123" is an integer string literal will no longer result in an implicit conversion to integer, i.e., $obj->offsetGet("123") will be called instead of $obj->offsetGet(123). This matches existing behavior for non-literals. The behavior of arrays is not affected in any way, they continue to implicitly convert integral string keys to integers.

Static Properties no longer separated by Reference Assignment

In PHP, static properties are shared between inheriting classes, unless the static property is explicitly overridden in a child class. However, due to an implementation artifact it was possible to separate the static properties by assigning a reference. This loophole has been fixed.

<?php
class Test {
    public static $x = 0;
}
class Test2 extends Test { }

Test2::$x = &$x;
$x = 1;

var_dump(Test::$x, Test2::$x);
// Previously: int(0), int(1)
// Now:        int(1), int(1)
?>

References returned by Array and Property Accesses are immediately unwrapped

References returned by array and property accesses are now unwrapped as part of the access. This means that it is no longer possible to modify the reference between the access and the use of the accessed value:

<?php
$arr = [1];
$ref =& $arr[0];
var_dump($arr[0] + ($arr[0] = 2));
// Previously: int(4), Now: int(3)
?>
This makes the behavior of references and non-references consistent. Please note that reading and writing a value inside a single expression remains undefined behavior and may change again in the future.

Argument Unpacking of Traversables with non-Integer Keys no longer supported

Argument unpacking stopped working with Traversables with non-integer keys. The following code worked in PHP 5.6-7.2 by accident.

<?php
function foo(...$args) {
    var_dump($args);
}
function gen() {
    yield 1.23 => 123;
}
foo(...gen());
?>

Miscellaneous

The ext_skel utility has been completely redesigned with new options and some old options removed. This is now written in PHP and has no external dependencies.

Support for BeOS has been dropped.

Exceptions thrown due to automatic conversion of warnings into exceptions in EH_THROW mode (e.g. some DateTime exceptions) no longer populate error_get_last() state. As such, they now work the same way as manually thrown exceptions.

TypeError now reports wrong types as int and bool instead of integer and boolean, respectively.

Undefined variables passed to compact() will now be reported as a notice.

getimagesize() and related functions now report the mime type of BMP images as image/bmp instead of image/x-ms-bmp, since the former has been registered with the IANA (see » RFC 7903).

stream_socket_get_name() will now return IPv6 addresses wrapped in brackets. For example "[::1]:1337" will be returned instead of "::1:1337".

BCMath Arbitrary Precision Mathematics

All warnings thrown by BCMath functions are now using PHP's error handling. Formerly some warnings have directly been written to stderr.

bcmul() and bcpow() now return numbers with the requested scale. Formerly, the returned numbers may have omitted trailing decimal zeroes.

IMAP, POP3 and NNTP

rsh/ssh logins are disabled by default. Use imap.enable_insecure_rsh if you want to enable them. Note that the IMAP library does not filter mailbox names before passing them to the rsh/ssh command, thus passing untrusted data to this function with rsh/ssh enabled is insecure.

Multibyte String

Due to added support for named captures, mb_ereg_*() patterns using named captures will behave differently. In particular named captures will be part of matches and mb_ereg_replace() will interpret additional syntax. See Named Captures for more information.

MySQL Improved Extension

Prepared statements now properly report the fractional seconds for DATETIME, TIME and TIMESTAMP columns with decimals specifier (e.g. TIMESTAMP(6) when using microseconds). Formerly, the fractional seconds part was simply omitted from the returned values.

MySQL Functions (PDO_MYSQL)

Prepared statements now properly report the fractional seconds for DATETIME, TIME and TIMESTAMP columns with decimals specifier (e.g. TIMESTAMP(6) when using microseconds). Formerly, the fractional seconds part was simply omitted from the returned values. Please note that this only affects the usage of PDO_MYSQL with emulated prepares turned off (e.g. using the native preparation functionality). Statements using connections having PDO::ATTR_EMULATE_PREPARES=true (which is the default) were not affected by the bug fixed and have already been getting the proper fractional seconds values from the engine.

Reflection

Reflection export to string now uses int and bool instead of integer and boolean, respectively.

Standard PHP Library (SPL)

If an SPL autoloader throws an exception, following autoloaders will not be executed. Previously all autoloaders were executed and exceptions were chained.

SimpleXML

Mathematic operations involving SimpleXML objects will now treat the text as an int or float, whichever is more appropriate. Previously values were treated as ints unconditionally.

Incoming Cookies

As of PHP 7.3.23, the names of incoming cookies are no longer url-decoded for security reasons.


Deprecated Features

PHP Core

Case-Insensitive Constants

The declaration of case-insensitive constants has been deprecated. Passing true as the third argument to define() will now generate a deprecation warning. The use of case-insensitive constants with a case that differs from the declaration is also deprecated.

Namespaced assert()

Declaring a function called assert() inside a namespace is deprecated. The assert() function is subject to special handling by the engine, which may lead to inconsistent behavior when defining a namespaced function with the same name.

Searching Strings for non-string Needle

Passing a non-string needle to string search functions is deprecated. In the future the needle will be interpreted as a string instead of an ASCII codepoint. Depending on the intended behavior, you should either explicitly cast the needle to string or perform an explicit call to chr(). The following functions are affected:

  • strpos()
  • strrpos()
  • stripos()
  • strripos()
  • strstr()
  • strchr()
  • strrchr()
  • stristr()

Strip-Tags Streaming

The fgetss() function and the string.strip_tags stream filter have been deprecated. This also affects the SplFileObject::fgetss() method and gzgetss() function.

Data Filtering

The explicit usage of the constants FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is now deprecated; both are implied for FILTER_VALIDATE_URL anyway.

Image Processing and GD

image2wbmp() has been deprecated.

Internationalization Functions

Usage of the Normalizer::NONE form throws a deprecation warning, if PHP is linked with ICU = 56.

Multibyte String

The following undocumented mbereg_*() aliases have been deprecated. Use the corresponding mb_ereg_*() variants instead.

  • mbregex_encoding()
  • mbereg()
  • mberegi()
  • mbereg_replace()
  • mberegi_replace()
  • mbsplit()
  • mbereg_match()
  • mbereg_search()
  • mbereg_search_pos()
  • mbereg_search_regs()
  • mbereg_search_init()
  • mbereg_search_getregs()
  • mbereg_search_getpos()
  • mbereg_search_setpos()

ODBC and DB2 Functions (PDO_ODBC)

The pdo_odbc.db2_instance_name ini setting has been formally deprecated. It is deprecated in the documentation as of PHP 5.1.1.


Other Changes

PHP Core

Set(raw)cookie accepts $option Argument

setcookie() and setrawcookie() now also support the following signature:

setcookie ( string $name , string $value = "" , array $options = [] ) : bool
where $options is an associative array which may have any of the keys "expires", "path", "domain", "secure", "httponly" and "samesite".

New Syslog ini Directives

The following ini Directives have been added to customize logging, if error_log is set to syslog:

syslog.facility
Specifies what type of program is logging the message.
syslog.filter
Specifies the filter type to filter the logged messages. There are three supported filter types - all, no-ctrl and ascii.
syslog.ident
Specifies the ident string which is prepended to every message.

Garbage Collection

The cyclic GC has been enhanced, which may result in considerable performance improvements.

Miscellaneous

var_export() now exports stdClass objects as an array cast to an object ((object) array( ... )), rather than using the nonexistent method stdClass::__setState().

debug_zval_dump() was changed to display recursive arrays and objects in the same way as var_dump(). Now, it doesn't display them twice.

array_push() and array_unshift() can now also be called with a single argument, which is particularly convenient wrt. the spread operator.

Interactive PHP Debugger

The unused constants PHPDBG_FILE, PHPDBG_METHOD, PHPDBG_LINENO and PHPDBG_FUNC have been removed.

FastCGI Process Manager

The getallheaders() function is now also available.

Client URL Library

libcurl = 7.15.5 is now required.

Data Filtering

FILTER_VALIDATE_FLOAT now also supports a thousand option, which defines the set of allowed thousand separator chars. The default ("',.") is fully backward compatible with former PHP versions.

FILTER_SANITIZE_ADD_SLASHES has been added as an alias of the magic_quotes filter (FILTER_SANITIZE_MAGIC_QUOTES). The magic_quotes filter is subject to removal in future versions of PHP.

FTP

The default transfer mode has been changed to binary.

Internationalization Functions

Normalizer::NONE is deprecated, when PHP is linked with ICU = 56.

Introduced Normalizer::FORM_KC_CF as Normalizer::normalize() argument for NFKC_Casefold normalization; available when linked with ICU = 56.

JavaScript Object Notation

A new flag has been added, JSON_THROW_ON_ERROR, which can be used with json_decode() or json_encode() and causes these functions to throw the new JsonException upon an error, instead of setting the global error state that is retrieved with json_last_error() and json_last_error_msg(). JSON_PARTIAL_OUTPUT_ON_ERROR takes precedence over JSON_THROW_ON_ERROR.

Multibyte String

The configuration option --with-libmbfl is no longer available.

ODBC (Unified)

Support for ODBCRouter and Birdstep including the birdstep.max_links ini directive has been removed.

OPcache

The opcache.inherited_hack ini directive has been removed. The value has already been ignored since PHP 5.3.0.

OpenSSL

The min_proto_version and max_proto_version ssl stream options as well as related constants for possible TLS protocol values have been added.

Regular Expressions (Perl-Compatible)

The PCRE extension has been upgraded to PCRE2, which may cause minor behavioral changes (for instance, character ranges in classes are now more strictly interpreted), and augments the existing regular expression syntax.

preg_quote() now also escapes the '#' character.

Microsoft SQL Server and Sybase Functions (PDO_DBLIB)

The attribute PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS to enable automatic skipping of empty rowsets has been added.

The PDO::DBLIB_ATTR_TDS_VERSION attribute which exposes the TDS version has been added.

DATETIME2 columns are now treated like DATETIME columns.

SQLite Functions (PDO_SQLITE)

SQLite3 databases can now be opened in read-only mode by setting the new PDO::SQLITE_ATTR_OPEN_FLAGS attribute to PDO::SQLITE_OPEN_READONLY.

Session Handling

session_set_cookie_params() now also supports the following signature:

session_set_cookie_params ( array $options ) : bool
where $options is an associative array which may have any of the keys "lifetime", "path", "domain", "secure", "httponly" and "samesite". Accordingly, the return value of session_get_cookie_params() now also has an element with the key "samesite". Furthermore, the new session.cookie_samesite ini option to set the default of the SameSite directive for cookies has been added. It defaults to "" (empty string), so no SameSite directive is set. Can be set to "Lax" or "Strict", which sets the respective SameSite directive.

Tidy

Building against » tidyp is now also supported transparently. Since tidyp offers no API to get the release date, tidy_get_release() and tidy::getRelease() return 'unknown' in this case.

XML Parser

The return value of the xml_set_external_entity_ref_handler() callback is no longer ignored if the extension has been built against libxml. Formerly, the return value has been ignored, and parsing did never stop.

Zip

Building against the bundled libzip is discouraged, but still possible by adding --without-libzip to the configuration.

Zlib Compression

The zlib/level context option for the compress.zlib wrapper to facilitate setting the desired compression level has been added.


Windows Support

PHP Core

More POSIX Conforming File Deletion

File descriptors are opened in shared read/write/delete mode by default. This effectively maps the POSIX semantics and allows to delete files with handles in use. It is not 100% same, some platform differences still persist. After the deletion, the filename entry is blocked, until all the opened handles to it are closed.


Migrando do PHP 7.1.x para o PHP 7.2.x

Índice

  • New features
  • New functions
  • Novas constantes globais
  • Backward incompatible changes
  • Recursos depreciados na versão PHP 7.2.x
  • Other changes

Esta nova versão menor traz novos recursos e algumas incompatibilidades que devem ser testadas antes da troca da versão do PHP em ambientes de produção.

Veja também o guia de migração para versões do PHP 7.0.x e 7.1.x.


New features

New object type

A new type, object, has been introduced that can be used for (contravariant) parameter typing and (covariant) return typing of any objects.

<?php

function test(object $obj) : object
{
    return new SplQueue();
}

test(new StdClass());

Extension loading by name

Shared extensions no longer require their file extension (.so for Unix or .dll for Windows) to be specified. This is enabled in the php.ini file, as well as in the dl() function.

Abstract method overriding

Abstract methods can now be overridden when an abstract class extends another abstract class.

<?php

abstract class A
{
    abstract function test(string $s);
}
abstract class B extends A
{
    // overridden - still maintaining contravariance for parameters and covariance for return
    abstract function test($s) : int;
}

Sodium is now a core extension

The modern Sodium cryptography library has now become a core extension in PHP.

For a complete function reference, see the Sodium chapter.

Password hashing with Argon2

Argon2 has been added to the password hashing API, where the following constants have been exposed:

  • PASSWORD_ARGON2I
  • PASSWORD_ARGON2_DEFAULT_MEMORY_COST
  • PASSWORD_ARGON2_DEFAULT_TIME_COST
  • PASSWORD_ARGON2_DEFAULT_THREADS

Extended string types for PDO

PDO's string type has been extended to support the national character type when emulating prepares. This has been done with the following constants:

  • PDO::PARAM_STR_NATL
  • PDO::PARAM_STR_CHAR
  • PDO::ATTR_DEFAULT_STR_PARAM

These constants are utilised by bitwise OR'ing them with PDO::PARAM_STR:

<?php

$db->quote('über', PDO::PARAM_STR | PDO::PARAM_STR_NATL);

Additional emulated prepares debugging information for PDO

The PDOStatement::debugDumpParams() method has been updated to include the SQL being sent to the DB, where the full, raw query (including the replaced placeholders with their bounded values) will be shown. This has been added to aid with debugging emulated prepares (and so it will only be available when emulated prepares are turned on).

Support for extended operations in LDAP

Support for EXOP has been added to the LDAP extension. This has been done by exposing the following functions and constants:

  • ldap_parse_exop()
  • ldap_exop()
  • ldap_exop_passwd()
  • ldap_exop_whoami()
  • LDAP_EXOP_START_TLS
  • LDAP_EXOP_MODIFY_PASSWD
  • LDAP_EXOP_REFRESH
  • LDAP_EXOP_WHO_AM_I
  • LDAP_EXOP_TURN

Address Information additions to the Sockets extension

The sockets extension now has the ability to lookup address information, as well as connect to it, bind to it, and explain it. The following four functions have been added for this:

  • socket_addrinfo_lookup()
  • socket_addrinfo_connect()
  • socket_addrinfo_bind()
  • socket_addrinfo_explain()

Parameter type widening

Parameter types from overridden methods and from interface implementations may now be omitted. This is still in compliance with LSP, since parameters types are contravariant.

<?php

interface A
{
    public function Test(array $input);
}

class B implements A
{
    public function Test($input){} // type omitted for $input
}

Allow a trailing comma for grouped namespaces

A trailing comma can now be added to the group-use syntax introduced in PHP 7.0.

<?php

use Foo\Bar\{
    Foo,
    Bar,
    Baz,
};

proc_nice() support on Windows

The proc_nice() function is now supported on Windows.

pack() and unpack() endian support

The pack() and unpack() functions now support float and double in both little and big endian.

Enhancements to the EXIF extension

The EXIF extension has been updated to support a much larger range of formats. This means that their format specific tags are now properly translated when parsing images with the exif_read_data() function. The following new formats are now supported:

  • Samsung
  • DJI
  • Panasonic
  • Sony
  • Pentax
  • Minolta
  • Sigma/Foveon
  • AGFA
  • Kyocera
  • Ricoh
  • Epson

The EXIF functions exif_read_data() and exif_thumbnail() now support passing streams as their first argument.

New features in PCRE

  • The J modifier for setting PCRE_DUPNAMES has been added.

SQLite3 allows writing BLOBs

SQLite3::openBlob() now allows to open BLOB fields in write mode; formerly only read mode was supported.

Oracle OCI8 Transparent Application Failover Callbacks

Support for Oracle Database Transparent Application Failover (TAF) callbacks has been added. TAF allows PHP OCI8 applications to automatically reconnect to a preconfigured database when a connection is broken. The new TAF callback support allows PHP applications to monitor and control reconnection during failover.

Enhancements to the ZIP extension

Read and write support for encrypted archives has been added (requires libzip 1.2.0).

The ZipArchive class now implements the Countable interface.

The zip:// stream now accepts a 'password' context option.


New functions

PHP Core

  • stream_isatty()
  • sapi_windows_vt100_support()

SPL

  • spl_object_id()

DOM

  • DomNodeList::count()
  • DOMNamedNodeMap::count()

FTP

  • ftp_append()

GD

  • imagesetclip()
  • imagegetclip()
  • imageopenpolygon()
  • imageresolution()
  • imagecreatefrombmp()
  • imagebmp()

Hash

  • hash_hmac_algos()

LDAP

  • ldap_parse_exop()
  • ldap_exop()
  • ldap_exop_passwd()
  • ldap_exop_whoami()

Multibyte String

  • mb_chr()
  • mb_ord()
  • mb_scrub()

Oracle OCI8

  • oci_register_taf_callback()
  • oci_unregister_taf_callback()

Sockets

  • socket_addrinfo_lookup()
  • socket_addrinfo_connect()
  • socket_addrinfo_bind()
  • socket_addrinfo_explain()

Sodium

  • sodium_add()
  • sodium_bin2hex()
  • sodium_compare()
  • sodium_crypto_aead_aes256gcm_decrypt()
  • sodium_crypto_aead_aes256gcm_encrypt()
  • sodium_crypto_aead_aes256gcm_is_available()
  • sodium_crypto_aead_aes256gcm_keygen()
  • sodium_crypto_aead_chacha20poly1305_decrypt()
  • sodium_crypto_aead_chacha20poly1305_encrypt()
  • sodium_crypto_aead_chacha20poly1305_ietf_decrypt()
  • sodium_crypto_aead_chacha20poly1305_ietf_encrypt()
  • sodium_crypto_aead_chacha20poly1305_ietf_keygen()
  • sodium_crypto_aead_chacha20poly1305_keygen()
  • sodium_crypto_auth_keygen()
  • sodium_crypto_auth_verify()
  • sodium_crypto_auth()
  • sodium_crypto_box_keypair_from_secretkey_and_publickey()
  • sodium_crypto_box_keypair()
  • sodium_crypto_box_open()
  • sodium_crypto_box_publickey_from_secretkey()
  • sodium_crypto_box_publickey()
  • sodium_crypto_box_seal_open()
  • sodium_crypto_box_seal()
  • sodium_crypto_box_secretkey()
  • sodium_crypto_box_seed_keypair()
  • sodium_crypto_box()
  • sodium_crypto_generichash_final()
  • sodium_crypto_generichash_init()
  • sodium_crypto_generichash_keygen()
  • sodium_crypto_generichash_update()
  • sodium_crypto_generichash()
  • sodium_crypto_kdf_derive_from_key()
  • sodium_crypto_kdf_keygen()
  • sodium_crypto_kx_client_session_keys()
  • sodium_crypto_kx_keypair()
  • sodium_crypto_kx_publickey()
  • sodium_crypto_kx_secretkey()
  • sodium_crypto_kx_seed_keypair()
  • sodium_crypto_kx_server_session_keys()
  • sodium_crypto_pwhash_scryptsalsa208sha256_str_verify()
  • sodium_crypto_pwhash_scryptsalsa208sha256_str()
  • sodium_crypto_pwhash_scryptsalsa208sha256()
  • sodium_crypto_pwhash_str_verify()
  • sodium_crypto_pwhash_str()
  • sodium_crypto_pwhash()
  • sodium_crypto_scalarmult_base()
  • sodium_crypto_scalarmult()
  • sodium_crypto_secretbox_keygen()
  • sodium_crypto_secretbox_open()
  • sodium_crypto_secretbox()
  • sodium_crypto_shorthash_keygen()
  • sodium_crypto_shorthash()
  • sodium_crypto_sign_detached()
  • sodium_crypto_sign_ed25519_pk_to_curve25519()
  • sodium_crypto_sign_ed25519_sk_to_curve25519()
  • sodium_crypto_sign_keypair_from_secretkey_and_publickey()
  • sodium_crypto_sign_keypair()
  • sodium_crypto_sign_open()
  • sodium_crypto_sign_publickey_from_secretkey()
  • sodium_crypto_sign_publickey()
  • sodium_crypto_sign_secretkey()
  • sodium_crypto_sign_seed_keypair()
  • sodium_crypto_sign_verify_detached()
  • sodium_crypto_sign()
  • sodium_crypto_stream_keygen()
  • sodium_crypto_stream_xor()
  • sodium_crypto_stream()
  • sodium_hex2bin()
  • sodium_increment()
  • sodium_memcmp()
  • sodium_memzero()
  • sodium_pad()
  • sodium_unpad()

ZIP

  • ZipArchive::count()
  • ZipArchive::setEncryptionName()
  • ZipArchive::setEncryptionIndex()


Novas constantes globais

PHP Core

  • PHP_FLOAT_DIG
  • PHP_FLOAT_EPSILON
  • PHP_FLOAT_MIN
  • PHP_FLOAT_MAX
  • PHP_OS_FAMILY

File Information

  • FILEINFO_EXTENSION

JSON

  • JSON_INVALID_UTF8_IGNORE
  • JSON_INVALID_UTF8_SUBSTITUTE

GD

  • IMG_EFFECT_MULTIPLY
  • IMG_BMP

LDAP

  • LDAP_EXOP_START_TLS
  • LDAP_EXOP_MODIFY_PASSWD
  • LDAP_EXOP_REFRESH
  • LDAP_EXOP_WHO_AM_I
  • LDAP_EXOP_TURN

Password Hashing

  • PASSWORD_ARGON2I
  • PASSWORD_ARGON2_DEFAULT_MEMORY_COST
  • PASSWORD_ARGON2_DEFAULT_TIME_COST
  • PASSWORD_ARGON2_DEFAULT_THREADS

PCRE

  • PREG_UNMATCHED_AS_NULL

PDO

  • PDO::PARAM_STR_NATL
  • PDO::PARAM_STR_CHAR
  • PDO::ATTR_DEFAULT_STR_PARAM

Sodium

  • SODIUM_LIBRARY_VERSION
  • SODIUM_LIBRARY_MAJOR_VERSION
  • SODIUM_LIBRARY_MINOR_VERSION
  • SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES
  • SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES
  • SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES
  • SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES
  • SODIUM_CRYPTO_AUTH_BYTES
  • SODIUM_CRYPTO_AUTH_KEYBYTES
  • SODIUM_CRYPTO_BOX_SEALBYTES
  • SODIUM_CRYPTO_BOX_SECRETKEYBYTES
  • SODIUM_CRYPTO_BOX_PUBLICKEYBYTES
  • SODIUM_CRYPTO_BOX_KEYPAIRBYTES
  • SODIUM_CRYPTO_BOX_MACBYTES
  • SODIUM_CRYPTO_BOX_NONCEBYTES
  • SODIUM_CRYPTO_BOX_SEEDBYTES
  • SODIUM_CRYPTO_KDF_BYTES_MIN
  • SODIUM_CRYPTO_KDF_BYTES_MAX
  • SODIUM_CRYPTO_KDF_CONTEXTBYTES
  • SODIUM_CRYPTO_KDF_KEYBYTES
  • SODIUM_CRYPTO_KX_SEEDBYTES
  • SODIUM_CRYPTO_KX_SESSIONKEYBYTES
  • SODIUM_CRYPTO_KX_PUBLICKEYBYTES
  • SODIUM_CRYPTO_KX_SECRETKEYBYTES
  • SODIUM_CRYPTO_KX_KEYPAIRBYTES
  • SODIUM_CRYPTO_GENERICHASH_BYTES
  • SODIUM_CRYPTO_GENERICHASH_BYTES_MIN
  • SODIUM_CRYPTO_GENERICHASH_BYTES_MAX
  • SODIUM_CRYPTO_GENERICHASH_KEYBYTES
  • SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN
  • SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX
  • SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13
  • SODIUM_CRYPTO_PWHASH_ALG_DEFAULT
  • SODIUM_CRYPTO_PWHASH_SALTBYTES
  • SODIUM_CRYPTO_PWHASH_STRPREFIX
  • SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE
  • SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE
  • SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE
  • SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE
  • SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE
  • SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE
  • SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES
  • SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX
  • SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE
  • SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE
  • SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE
  • SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE
  • SODIUM_CRYPTO_SCALARMULT_BYTES
  • SODIUM_CRYPTO_SCALARMULT_SCALARBYTES
  • SODIUM_CRYPTO_SHORTHASH_BYTES
  • SODIUM_CRYPTO_SHORTHASH_KEYBYTES
  • SODIUM_CRYPTO_SECRETBOX_KEYBYTES
  • SODIUM_CRYPTO_SECRETBOX_MACBYTES
  • SODIUM_CRYPTO_SECRETBOX_NONCEBYTES
  • SODIUM_CRYPTO_SIGN_BYTES
  • SODIUM_CRYPTO_SIGN_SEEDBYTES
  • SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES
  • SODIUM_CRYPTO_SIGN_SECRETKEYBYTES
  • SODIUM_CRYPTO_SIGN_KEYPAIRBYTES
  • SODIUM_CRYPTO_STREAM_NONCEBYTES
  • SODIUM_CRYPTO_STREAM_KEYBYTES

Zip

  • ZipArchive::EM_NONE
  • ZipArchive::EM_AES_128
  • ZipArchive::EM_AES_192
  • ZipArchive::EM_AES_256


Backward incompatible changes

Prevent number_format() from returning negative zero

Previously, it was possible for the number_format() function to return -0. Whilst this is perfectly valid according to the IEEE 754 floating point specification, this oddity was not desirable for displaying formatted numbers in a human-readable form.

<?php

var_dump(number_format(-0.01)); // now outputs string(1) "0" instead of string(2) "-0"

Convert numeric keys in object and array casts

Numeric keys are now better handled when casting arrays to objects and objects to arrays (either from explicit casting or by settype()).

This means that integer (or stringy integer) keys from arrays being casted to objects are now accessible:

<?php

// array to object
$arr = [0 => 1];
$obj = (object)$arr;
var_dump(
    $obj,
    $obj->{'0'}, // now accessible
    $obj->{0} // now accessible
);

O exemplo acima irá imprimir:

object(stdClass)#1 (1) {
  ["0"]=>    // string key now, rather than integer key
  int(1)
}
int(1)
int(1)

And integer (or stringy integer) keys from objects being casted to arrays are now accessible:

<?php

// object to array
$obj = new class {
    public function __construct()
    {
        $this->{0} = 1;
    }
};
$arr = (array)$obj;
var_dump(
    $arr,
    $arr[0], // now accessible
    $arr['0'] // now accessible
);

O exemplo acima irá imprimir:

array(1) {
  [0]=>    // integer key now, rather than string key
  int(1)
}
int(1)
int(1)

Disallow passing null to get_class()

Previously, passing null to the get_class() function would output the name of the enclosing class. This behaviour has now been removed, where an E_WARNING will be output instead. To achieve the same behaviour as before, the argument should simply be omitted.

Warn when counting non-countable types

An E_WARNING will now be emitted when attempting to count() non-countable types (this includes the sizeof() alias function).

<?php

var_dump(
    count(null), // NULL is not countable
    count(1), // integers are not countable
    count('abc'), // strings are not countable
    count(new stdclass), // objects not implementing the Countable interface are not countable
    count([1,2]) // arrays are countable
);

O exemplo acima irá imprimir:

Warning: count(): Parameter must be an array or an object that implements Countable in %s on line %d

Warning: count(): Parameter must be an array or an object that implements Countable in %s on line %d

Warning: count(): Parameter must be an array or an object that implements Countable in %s on line %d

Warning: count(): Parameter must be an array or an object that implements Countable in %s on line %d
int(0)
int(1)
int(1)
int(1)
int(2)

Move ext/hash from resources to objects

As part of the long-term migration away from resources, the Hash extension has been updated to use objects instead of resources. The change should be seamless for PHP developers, except for where is_resource() checks have been made (which will need updating to is_object() instead).

Improve SSL/TLS defaults

The following changes to the defaults have been made:

  • tls:// now defaults to TLSv1.0 or TLSv1.1 or TLSv1.2
  • ssl:// an alias of tls://
  • STREAM_CRYPTO_METHOD_TLS_* constants default to TLSv1.0 or TLSv1.1 + TLSv1.2, instead of TLSv1.0 only

gettype() return value on closed resources

Previously, using gettype() on a closed resource would return a string of "unknown type". Now, a string of "resource (closed)" will be returned.

is_object() and __PHP_Incomplete_Class

Previously, using is_object() on the __PHP_Incomplete_Class class would return false. Now, true will be returned.

Promote the error level of undefined constants

Unqualified references to undefined constants will now generate an E_WARNING (instead of an E_NOTICE). In the next major version of PHP, they will generate Error exceptions.

Windows support

The officially supported, minimum Windows versions are now Windows 7/Server 2008 R2.

Checks on default property values of traits

Compatibility checks upon default trait property values will no longer perform casting.

object for class names

The object name was previously soft-reserved in PHP 7.0. This is now hard-reserved, prohibiting it from being used as a class, trait, or interface name.

NetWare support

Support for NetWare has now been removed.

array_unique() with SORT_STRING

While array_unique() with SORT_STRING formerly copied the array and removed non-unique elements (without packing the array afterwards), now a new array is built by adding the unique elements. This can result in different numeric indexes.

bcmod() changes with floats

The bcmod() function no longer truncates fractional numbers to integers. As such, its behavior now follows fmod(), rather than the % operator. For example bcmod('4', '3.5') now returns 0.5 instead of 1.

Hashing functions and non-cryptographic hashes

The hash_hmac(), hash_hmac_file(), hash_pbkdf2(), and hash_init() (with HASH_HMAC) functions no longer accept non-cryptographic hashes.

json_decode() function options

The json_decode() function option, JSON_OBJECT_AS_ARRAY, is now used if the second parameter (assoc) is null. Previously, JSON_OBJECT_AS_ARRAY was always ignored.

rand() and mt_rand() output

Sequences generated by rand() and mt_rand() for a specific seed may differ from PHP 7.1 on 64-bit machines (due to the fixing of a modulo bias bug in the implementation).

Removal of sql.safe_mode ini setting

The sql.safe_mode ini setting has now been removed.

Changes to date_parse() and date_parse_from_format()

The zone element of the array returned by date_parse() and date_parse_from_format() represents seconds instead of minutes now, and its sign is inverted. For instance -120 is now 7200.

Incoming Cookies

As of PHP 7.2.34, the names of incoming cookies are no longer url-decoded for security reasons.


Recursos depreciados na versão PHP 7.2.x

Strings sem aspas

Strings sem aspas que não são constantes globais são tomadas para ser strings delas mesmas. Este comportamento costumava emitir um E_NOTICE, mas agora irá emitir um E_WARNING. Na próxima versão maior do PHP, uma exceção Error será lançada no lugar.

<?php

var_dump(NONEXISTENT);

/* Output:
Warning: Use of undefined constant NONEXISTENT - assumed 'NONEXISTENT' (this will throw an Error in a future version of PHP) in %s on line %d
string(11) "NONEXISTENT"
*/

png2wbmp() e jpeg2wbmp()

As funções png2wbmp() e jpeg2wbmp() da extensão GD foram depreciadas e serão removidas na próxima versão maior do PHP.

INTL_IDNA_VARIANT_2003 variante

A extensão Intl depreciou a variante INTL_IDNA_VARIANT_2003, que está sendo usada atualmente como padrão para idn_to_ascii() e idn_to_utf8(). PHP 7.4 irá mudar esses padrões para INTL_IDNA_VARIANT_UTS46, e a próxima versão maior do PHP irá remover INTL_IDNA_VARIANT_2003 completamente.

__autoload() metódo

O método __autoload() foi depreciado porque é inferior ao spl_autoload_register() (devido a não ser permitido encadear autoloaders), e não há interoperabilidade entre os dois estilos de autoloading.

Configuração ini track_errors e variável $php_errormsg

Quando a configuração ini track_errors está ativada, uma variável $php_errormsg é criada no escopo local quando um erro não fatal ocorre. Dado que a maneira preferida de recuperar tais informações de erro é usando error_get_last(), este recurso foi depreciado.

create_function() function

Dado os problemas de segurança desta função (sendo um wrapper ao redor de eval()), esta função datada foi depreciada. A alternativa preferida é o uso de funções anônimas.

Configuração ini mbstring.func_overload

Dado os problemas de interoperabilidade das funções baseadas em string sendo usadas em ambientes com esta configuração ativada, ela será despreciada.

Conversão (unset)

Convertendo qualquer expressão para este tipo sempre resultará em null, e então esta conversão de tipo supérflua foi depreciada.

parse_str() sem um segundo argumento

Sem o segundo argumento para parse_str(), os parâmetros de string de consulta preenchiam a tabela de símbolos local. Dado as implicações de segurança disto, usar parse_str() sem um segundo parâmetro foi depreciado. A função deve sempre ser usada com dois argumentos, como o segundo argumento faz com que a string de consulta seja analisada em um array.

Função gmp_random()

Esta função gera um numero aleatório baseado em um intervalo que é calculado por um tamanho de membro específico da plataforma não exposto. Por isso, esta função foi depreciada. A maneira preferida de gerar um número aleatório usando a extesão GMP é com gmp_random_bits() e gmp_random_range().

Função each()

Esta função é muito mais lenta na iteração do que um foreach normal, e causa problemas de implementações para algumas mudanças da linguagem. Portanto, ela foi depreciada.

assert() com um argumento string

Usar assert() com um argumento string requer que a string seja eval()'iada. Dado o potencial para a execução de código remoto, usar assert() com um argumento string foi depreciada em favor de usar expressão booleanas.

$errcontext argumento para manipuladores de erros

O $errcontext argumento contém todas as variáveis locais de erro do site. Dado a raridade do uso, e os problemas causados com as otimizações interncas, ele foi depreciado. Ao invés disto, um debugger deve ser usado para recuperar informações nas variáveis locais de erro do site.

Função read_exif_data()

O atalho read_exif_data() foi depreciado. A função exif_read_data() deve ser usada no lugar.


Other changes

Moving of utf8_encode() and utf8_decode()

The utf8_encode() and utf8_decode() functions have now been moved to the standard extension as string functions, whereas before the XML extension was required for them to be available.

Changes to mail() and mb_sendmail()

The $additional_headers parameter of mail() and mb_sendmail() now also accepts an array instead of a string.

LMDB support

The DBA extension now has support for LMDB.

Changes to the PHP build system

  • Unix: Autoconf 2.64 or greater is now required to build PHP.
  • Unix: --with-pdo-oci configure argument no longer needs the version number of the Oracle Instant Client.
  • Unix: --enable-gd-native-ttf configure argument has been removed. This was not used since PHP 5.5.0.
  • Windows: --with-config-profile configure argument has been added. This can be used to save specific configures, much like the magical config.nice.bat file.

Changes to GD

  • imageantialias() is now also available if compiled with a system libgd.
  • imagegd() stores truecolor images as real truecolor images. Formerly, they have been converted to palette.

Moving MCrypt to PECL

The MCrypt extension has now been moved out of the core to PECL. Given the mcrypt library has not seen any updates since 2007, its usage is highly discouraged. Instead, either the OpenSSL or Sodium extension should be used.

session_module_name()

Passing "user" to session_module_name() now raises an error of level E_RECOVERABLE_ERROR. Formerly, this has been silently ignored.


Migrando do PHP 7.0.x para o PHP 7.1.x

Índice

  • New features
  • New functions
  • New global constants
  • Backward incompatible changes
  • Deprecated features in PHP 7.1.x
  • Changed functions
  • Other changes
  • Windows Support

Esta nova versão menor traz vários novos recursos e algumas incompatibilidades que devem ser testadas antes da troca de versões do PHP em ambientes de produção.

Veja também o guia de migração para versões do PHP 7.0.x.


New features

Nullable types

Type declarations for parameters and return values can now be marked as nullable by prefixing the type name with a question mark. This signifies that as well as the specified type, null can be passed as an argument, or returned as a value, respectively.

<?php

function testReturn(): ?string
{
    return 'elePHPant';
}

var_dump(testReturn());

function testReturn(): ?string
{
    return null;
}

var_dump(testReturn());

function test(?string $name)
{
    var_dump($name);
}

test('elePHPant');
test(null);
test();

O exemplo acima irá imprimir:

string(10) "elePHPant"
NULL
string(10) "elePHPant"
NULL
Uncaught Error: Too few arguments to function test(), 0 passed in...

Void functions

A void return type has been introduced. Functions declared with void as their return type must either omit their return statement altogether, or use an empty return statement. null is not a valid return value for a void function.

<?php
function swap(&$left, &$right): void
{
    if ($left === $right) {
        return;
    }

    $tmp = $left;
    $left = $right;
    $right = $tmp;
}

$a = 1;
$b = 2;
var_dump(swap($a, $b), $a, $b);

O exemplo acima irá imprimir:

null
int(2)
int(1)

Attempting to use a void function's return value simply evaluates to null, with no warnings emitted. The reason for this is because warnings would implicate the use of generic higher order functions.

Symmetric array destructuring

The shorthand array syntax ([]) may now be used to destructure arrays for assignments (including within foreach), as an alternative to the existing list() syntax, which is still supported.

<?php
$data = [
    [1, 'Tom'],
    [2, 'Fred'],
];

// list() style
list($id1, $name1) = $data[0];

// [] style
[$id1, $name1] = $data[0];

// list() style
foreach ($data as list($id, $name)) {
    // logic here with $id and $name
}

// [] style
foreach ($data as [$id, $name]) {
    // logic here with $id and $name
}

Class constant visibility

Support for specifying the visibility of class constants has been added.

<?php
class ConstDemo
{
    const PUBLIC_CONST_A = 1;
    public const PUBLIC_CONST_B = 2;
    protected const PROTECTED_CONST = 3;
    private const PRIVATE_CONST = 4;
}

iterable pseudo-type

A new pseudo-type (similar to callable) called iterable has been introduced. It may be used in parameter and return types, where it accepts either arrays or objects that implement the Traversable interface. With respect to subtyping, parameter types of child classes may broaden a parent's declaration of array or Traversable to iterable. With return types, child classes may narrow a parent's return type of iterable to array or an object that implements Traversable.

<?php
function iterator(iterable $iter)
{
    foreach ($iter as $val) {
        //
    }
}

Multi catch exception handling

Multiple exceptions per catch block may now be specified using the pipe character (|). This is useful for when different exceptions from different class hierarchies are handled the same.

<?php
try {
    // some code
} catch (FirstException | SecondException $e) {
    // handle first and second exceptions
}

Support for keys in list()

You can now specify keys in list(), or its new shorthand [] syntax. This enables destructuring of arrays with non-integer or non-sequential keys.

<?php
$data = [
    ["id" => 1, "name" => 'Tom'],
    ["id" => 2, "name" => 'Fred'],
];

// list() style
list("id" => $id1, "name" => $name1) = $data[0];

// [] style
["id" => $id1, "name" => $name1] = $data[0];

// list() style
foreach ($data as list("id" => $id, "name" => $name)) {
    // logic here with $id and $name
}

// [] style
foreach ($data as ["id" => $id, "name" => $name]) {
    // logic here with $id and $name
}

Support for negative string offsets

Support for negative string offsets has been added to the string manipulation functions accepting offsets, as well as to string indexing with [] or {}. In such cases, a negative offset is interpreted as being an offset from the end of the string.

<?php
var_dump("abcdef"[-2]);
var_dump(strpos("aabbcc", "b", -3));

O exemplo acima irá imprimir:

string (1) "e"
int(3)

Negative string and array offsets are now also supported in the simple variable parsing syntax inside of strings.

<?php
$string = 'bar';
echo "The last character of '$string' is '$string[-1]'.\n";
?>

O exemplo acima irá imprimir:

The last character of 'bar' is 'r'.

Support for AEAD in ext/openssl

Support for AEAD (modes GCM and CCM) have been added by extending the openssl_encrypt() and openssl_decrypt() functions with additional parameters.

Convert callables to Closures with Closure::fromCallable()

A new static method has been introduced to the Closure class to allow for callables to be easily converted into Closure objects.

<?php
class Test
{
    public function exposeFunction()
    {
        return Closure::fromCallable([$this, 'privateFunction']);
    }

    private function privateFunction($param)
    {
        var_dump($param);
    }
}

$privFunc = (new Test)->exposeFunction();
$privFunc('some value');

O exemplo acima irá imprimir:

string(10) "some value"

Asynchronous signal handling

A new function called pcntl_async_signals() has been introduced to enable asynchronous signal handling without using ticks (which introduce a lot of overhead).

<?php
pcntl_async_signals(true); // turn on async signals

pcntl_signal(SIGHUP,  function($sig) {
    echo "SIGHUP\n";
});

posix_kill(posix_getpid(), SIGHUP);

O exemplo acima irá imprimir:

SIGHUP

HTTP/2 server push support in ext/curl

Support for server push has been added to the CURL extension (requires version 7.46 and above). This can be leveraged through the curl_multi_setopt() function with the new CURLMOPT_PUSHFUNCTION constant. The constants CURL_PUSH_OK and CURL_PUSH_DENY have also been added so that the execution of the server push callback can either be approved or denied.

Stream Context Options

The tcp_nodelay stream context option has been added.


New functions

PHP Core

  • sapi_windows_cp_get()
  • sapi_windows_cp_set()
  • sapi_windows_cp_conv()
  • sapi_windows_cp_is_utf8()

Closure

  • Closure::fromCallable()

CURL

  • curl_multi_errno()
  • curl_share_errno()
  • curl_share_strerror()

OpenSSL

  • openssl_get_curve_names()

Session

  • session_create_id()
  • session_gc()

SPL

  • is_iterable()

PCNTL

  • pcntl_async_signals()
  • pcntl_signal_get_handler()


New global constants

Core Predefined Constants

  • PHP_FD_SETSIZE

CURL

  • CURLMOPT_PUSHFUNCTION
  • CURL_PUSH_OK
  • CURL_PUSH_DENY

Data Filtering

  • FILTER_FLAG_EMAIL_UNICODE

Image Processing and GD

  • IMAGETYPE_WEBP

JSON

  • JSON_UNESCAPED_LINE_TERMINATORS

LDAP

  • LDAP_OPT_X_SASL_NOCANON
  • LDAP_OPT_X_SASL_USERNAME
  • LDAP_OPT_X_TLS_CACERTDIR
  • LDAP_OPT_X_TLS_CACERTFILE
  • LDAP_OPT_X_TLS_CERTFILE
  • LDAP_OPT_X_TLS_CIPHER_SUITE
  • LDAP_OPT_X_TLS_KEYFILE
  • LDAP_OPT_X_TLS_RANDOM_FILE
  • LDAP_OPT_X_TLS_CRLCHECK
  • LDAP_OPT_X_TLS_CRL_NONE
  • LDAP_OPT_X_TLS_CRL_PEER
  • LDAP_OPT_X_TLS_CRL_ALL
  • LDAP_OPT_X_TLS_DHFILE
  • LDAP_OPT_X_TLS_CRLFILE
  • LDAP_OPT_X_TLS_PROTOCOL_MIN
  • LDAP_OPT_X_TLS_PROTOCOL_SSL2
  • LDAP_OPT_X_TLS_PROTOCOL_SSL3
  • LDAP_OPT_X_TLS_PROTOCOL_TLS1_0
  • LDAP_OPT_X_TLS_PROTOCOL_TLS1_1
  • LDAP_OPT_X_TLS_PROTOCOL_TLS1_2
  • LDAP_OPT_X_TLS_PACKAGE
  • LDAP_OPT_X_KEEPALIVE_IDLE
  • LDAP_OPT_X_KEEPALIVE_PROBES
  • LDAP_OPT_X_KEEPALIVE_INTERVAL

PostgreSQL

  • PGSQL_NOTICE_LAST
  • PGSQL_NOTICE_ALL
  • PGSQL_NOTICE_CLEAR

SPL

  • MT_RAND_PHP


Backward incompatible changes

Throw on passing too few function arguments

Previously, a warning would be emitted for invoking user-defined functions with too few arguments. Now, this warning has been promoted to an Error exception. This change only applies to user-defined functions, not internal functions. For example:

<?php
function test($param){}
test();

O exemplo acima irá imprimir algo similar à:

Fatal error: Uncaught ArgumentCountError: Too few arguments to function test(), 0 passed in %s on line %d and exactly 1 expected in %s:%d

Forbid dynamic calls to scope introspection functions

Dynamic calls for certain functions have been forbidden (in the form of $func() or array_map('extract', ...), etc). These functions either inspect or modify another scope, and present with them ambiguous and unreliable behavior. The functions are as follows:

  • assert() - with a string as the first argument
  • compact()
  • extract()
  • func_get_args()
  • func_get_arg()
  • func_num_args()
  • get_defined_vars()
  • mb_parse_str() - with one arg
  • parse_str() - with one arg
<?php
(function () {
    $func = 'func_num_args';
    $func();
})();

O exemplo acima irá imprimir:

Warning: Cannot call func_num_args() dynamically in %s on line %d

Invalid class, interface, and trait names

The following names cannot be used to name classes, interfaces, or traits:

  • void
  • iterable

Numerical string conversions now respect scientific notation

Integer operations and conversions on numerical strings now respect scientific notation. This also includes the (int) cast operation, and the following functions: intval() (where the base is 10), settype(), decbin(), decoct(), and dechex().

Fixes to mt_rand() algorithm

mt_rand() will now default to using the fixed version of the Mersenne Twister algorithm. If deterministic output from mt_srand() was relied upon, then the MT_RAND_PHP with the ability to preserve the old (incorrect) implementation via an additional optional second parameter to mt_srand().

rand() aliased to mt_rand() and srand() aliased to mt_srand()

rand() and srand() have now been made aliases to mt_rand() and mt_srand(), respectively. This means that the output for the following functions have changed: rand(), shuffle(), str_shuffle(), and array_rand().

Disallow the ASCII delete control character in identifiers

The ASCII delete control character (0x7F) can no longer be used in identifiers that are not quoted.

error_log changes with syslog value

If the error_log ini setting is set to syslog, the PHP error levels are mapped to the syslog error levels. This brings finer differentiation in the error logs in contrary to the previous approach where all the errors are logged with the notice level only.

Do not call destructors on incomplete objects

Destructors are now never called for objects that throw an exception during the execution of their constructor. In previous versions this behavior depended on whether the object was referenced outside the constructor (e.g. by an exception backtrace).

call_user_func() handling of reference arguments

call_user_func() will now always generate a warning upon calls to functions that expect references as arguments. Previously this depended on whether the call was fully qualified.

Additionally, call_user_func() and call_user_func_array() will no longer abort the function call in this case. The "expected reference" warning will be emitted, but the call will proceed as usual.

The empty index operator is not supported for strings anymore

Applying the empty index operator to a string (e.g. $str[] = $x) throws a fatal error instead of converting silently to array.

Assignment via string index access on an empty string

String modification by character on an empty string now works like for non-empty strings, i.e. writing to an out of range offset pads the string with spaces, where non-integer types are converted to integer, and only the first character of the assigned string is used. Formerly, empty strings where silently treated like an empty array.

<?php
$a = '';
$a[10] = 'foo';
var_dump($a);
?>

Output of the above example in PHP 7.0:

array(1) {
  [10]=>
  string(3) "foo"
}

O exemplo acima irá imprimir no PHP 7.1:

string(11) "          f"

Removed ini directives

The following ini directives have been removed:

  • session.entropy_file
  • session.entropy_length
  • session.hash_function
  • session.hash_bits_per_character

Array ordering when elements are automatically created during by reference assignments has changed

The order of the elements in an array has changed when those elements have been automatically created by referencing them in a by reference assignment. For example:

<?php
$array = [];
$array["a"] =& $array["b"];
$array["b"] = 1;
var_dump($array);
?>

Output of the above example in PHP 7.0:

array(2) {
  ["a"]=>
  &int(1)
  ["b"]=>
  &int(1)
}

O exemplo acima irá imprimir no PHP 7.1:

array(2) {
  ["b"]=>
  &int(1)
  ["a"]=>
  &int(1)
}

Sort order of equal elements

The internal sorting algorithm has been improved, what may result in different sort order of elements, which compare as equal, than before.

Nota:

Don't rely on the order of elements which compare as equal; it might change anytime.

Error message for E_RECOVERABLE errors

The error message for E_RECOVERABLE errors has been changed from "Catchable fatal error" to "Recoverable fatal error".

$options parameter of unserialize()

The allowed_classes element of the $options parameter of unserialize() is now strictly typed, i.e. if anything other than an array or a bool is given, unserialize() returns false and issues an E_WARNING.

DateTime constructor incorporates microseconds

DateTime and DateTimeImmutable now properly incorporate microseconds when constructed from the current time, either explicitly or with a relative string (e.g. "first day of next month"). This means that naive comparisons of two newly created instances will now more likely return false instead of true:

<?php
new DateTime() == new DateTime();
?>

Fatal errors to Error exceptions conversions

In the Date extension, invalid serialization data for DateTime or DatePeriod classes, or timezone initialization failure from serialized data, will now throw an Error exception from the __wakeup() or __set_state() methods, instead of resulting in a fatal error.

In the DBA extension, data modification functions (such as dba_insert()) will now throw an Error exception instead of triggering a catchable fatal error if the key does not contain exactly two elements.

In the DOM extension, invalid schema or RelaxNG validation contexts will now throw an Error exception instead of resulting in a fatal error. Similarly, attempting to register a node class that does not extend the appropriate base class, or attempting to read an invalid property or write to a readonly property, will also now throw an Error exception.

In the IMAP extension, email addresses longer than 16385 bytes will throw an Error exception instead of resulting in a fatal error.

In the Intl extension, failing to call the parent constructor in a class extending Collator before invoking the parent methods will now throw an Error instead of resulting in a recoverable fatal error. Also, cloning a Transliterator object will now throw an Error exception on failure to clone the internal transliterator instead of resulting in a fatal error.

In the LDAP extension, providing an unknown modification type to ldap_batch_modify() will now throw an Error exception instead of resulting in a fatal error.

In the mbstring extension, the mb_ereg() and mb_eregi() functions will now throw a ParseError exception if an invalid PHP expression is provided and the 'e' option is used.

In the Mcrypt extension, the mcrypt_encrypt() and mcrypt_decrypt() will now throw an Error exception instead of resulting in a fatal error if mcrypt cannot be initialized.

In the mysqli extension, attempting to read an invalid property or write to a readonly property will now throw an Error exception instead of resulting in a fatal error.

In the Reflection extension, failing to retrieve a reflection object or retrieve an object property will now throw an Error exception instead of resulting in a fatal error.

In the Session extension, custom session handlers that do not return strings for session IDs will now throw an Error exception instead of resulting in a fatal error when a function is called that must generate a session ID.

In the SimpleXML extension, creating an unnamed or duplicate attribute will now throw an Error exception instead of resulting in a fatal error.

In the SPL extension, attempting to clone an SplDirectory object will now throw an Error exception instead of resulting in a fatal error. Similarly, calling ArrayIterator::append() when iterating over an object will also now throw an Error exception.

In the standard extension, the assert() function, when provided with a string argument as its first parameter, will now throw a ParseError exception instead of resulting in a catchable fatal error if the PHP code is invalid. Similarly, calling forward_static_call() outside of a class scope will now throw an Error exception.

In the Tidy extension, creating a tidyNode manually will now throw an Error exception instead of resulting in a fatal error.

In the WDDX extension, a circular reference when serializing will now throw an Error exception instead of resulting in a fatal error.

In the XML-RPC extension, a circular reference when serializing will now throw an instance of Error exception instead of resulting in a fatal error.

In the Zip extension, the ZipArchive::addGlob() method will now throw an Error exception instead of resulting in a fatal error if glob support is not available.

Lexically bound variables cannot reuse names

Variables bound to a closure via the use construct cannot use the same name as any superglobals, $this, or any parameter. For example, all of these function definition will result in a fatal error:

<?php
$f = function () use ($_SERVER) {};
$f = function () use ($this) {};
$f = function ($param) use ($param) {};

long2ip() parameter type change

long2ip() now expects an int instead of a string.

JSON encoding and decoding

The serialize_precision ini setting now controls the serialization precision when encoding doubles.

Decoding an empty key now results in an empty property name, rather than _empty_ as a property name.

<?php
var_dump(json_decode(json_encode(['' => 1])));

O exemplo acima irá imprimir algo similar à:

object(stdClass)#1 (1) {
  [""]=>
  int(1)
}

When supplying the JSON_UNESCAPED_UNICODE flag to json_encode(), the sequences U+2028 and U+2029 are now escaped.

Changes to mb_ereg() and mb_eregi() parameter semantics

The third parameter to the mb_ereg() and mb_eregi() functions (regs) will now be set to an empty array if nothing was matched. Formerly, the parameter would not have been modified.

Drop support for the sslv2 stream

The sslv2 stream has now been dropped in OpenSSL.

Forbid "return;" for typed returns already at compile-time

Return statements without argument in functions which declare a return type now trigger E_COMPILE_ERROR (unless the return type is declared as void), even if the return statement would never be reached.


Deprecated features in PHP 7.1.x

ext/mcrypt

The mcrypt extension has been abandonware for nearly a decade now, and was also fairly complex to use. It has therefore been deprecated in favour of OpenSSL, where it will be removed from the core and into PECL in PHP 7.2.

Eval option for mb_ereg_replace() and mb_eregi_replace()

The e pattern modifier has been deprecated for the mb_ereg_replace() and mb_eregi_replace() functions.


Changed functions

PHP Core

  • getopt() has an optional third parameter that exposes the index of the next element in the argument vector list to be processed. This is done via a by-ref parameter.
  • getenv() no longer requires its parameter. If the parameter is omitted, then the current environment variables will be returned as an associative array.
  • get_headers() now has an additional parameter to enable for the passing of custom stream contexts.
  • output_reset_rewrite_vars() no longer resets session URL rewrite variables.
  • parse_url() is now more restrictive and supports RFC3986.
  • unpack() now accepts an optional third parameter to specify the offset to begin unpacking from.

File System

  • file_get_contents() now accepts a negative seek offset if the stream is seekable.
  • tempnam() now emits a notice when falling back to the system's temp directory.

JSON

  • json_encode() now accepts a new option, JSON_UNESCAPED_LINE_TERMINATORS, to disable the escaping of U+2028 and U+2029 characters when JSON_UNESCAPED_UNICODE is supplied.

Multibyte String

  • mb_ereg() now rejects illegal byte sequences.
  • mb_ereg_replace() now rejects illegal byte sequences.

PDO

  • PDO::lastInsertId() for PostgreSQL will now trigger an error when nextval has not been called for the current session (the postgres connection).

PostgreSQL

  • pg_last_notice() now accepts an optional parameter to specify an operation. This can be done with one of the following new constants: PGSQL_NOTICE_LAST, PGSQL_NOTICE_ALL, or PGSQL_NOTICE_CLEAR.
  • pg_fetch_all() now accepts an optional second parameter to specify the result type (similar to the third parameter of pg_fetch_array()).
  • pg_select() now accepts an optional fourth parameter to specify the result type (similar to the third parameter of pg_fetch_array()).

Session

  • session_start() now returns false and no longer initializes $_SESSION when it failed to start the session.


Other changes

Notices and warnings on arithmetic with invalid strings

New E_WARNING and E_NOTICE errors have been introduced when invalid strings are coerced using operators expecting numbers (+ - * / ** % << >> | & ^) or their assignment equivalents. An E_NOTICE is emitted when the string begins with a numeric value but contains trailing non-numeric characters, and an E_WARNING is emitted when the string does not contain a numeric value.

<?php
'1b' + 'something';

O exemplo acima irá imprimir:

Notice: A non well formed numeric value encountered in %s on line %d
Warning: A non-numeric value encountered in %s on line %d

Warn on octal escape sequence overflow

Previously, 3-octet octal string escape sequences would overflow silently. Now, they will still overflow, but E_WARNING will be emitted.

<?php
var_dump("\500");

O exemplo acima irá imprimir:

Warning: Octal escape sequence overflow \500 is greater than \377 in %s on line %d
string(1) "@"

Inconsistency fixes to $this

Whilst $this is considered a special variable in PHP, it lacked proper checks to ensure it wasn't used as a variable name or reassigned. This has now been rectified to ensure that $this cannot be a user-defined variable, reassigned to a different value, or be globalised.

Session ID generation without hashing

Session IDs will no longer be hashed upon generation. With this change brings about the removal of the following four ini settings:

  • session.entropy_file
  • session.entropy_length
  • session.hash_function
  • session.hash_bits_per_character

And the addition of the following two ini settings:

  • session.sid_length - defines the length of the session ID, defaulting to 32 characters for backwards compatibility)
  • session.sid_bits_per_character - defines the number of bits to be stored per character (i.e. increases the range of characters that can be used in the session ID), defaulting to 4 for backwards compatibility

Changes to INI file handling

precision

If the value is set to -1, then the dtoa mode 0 is used. The default value is still 14.

serialize_precision

If the value is set to -1, then the dtoa mode 0 is used. The value -1 is now used by default.

gd.jpeg_ignore_warning

The default of this php.ini setting has been changed to 1, so by default libjpeg warnings are ignored.

opcache.enable_cli

The default of this php.ini setting has been changed to 1 (enabled) in PHP 7.1.2, and back to 0 (disabled) in PHP 7.1.7.

Session ID generation with a CSPRNG only

Session IDs will now only be generated with a CSPRNG.

More informative TypeError messages when null is allowed

TypeError exceptions for arg_info type checks will now provide more informative error messages. If the parameter type or return type accepts null (by either having a default value of null or being a nullable type), then the error message will now mention this with a message of "must be ... or null" or "must ... or be null."


Windows Support

Support for long and UTF-8 path

If a web application is UTF-8 conform, no further action is required. For applications depending on paths in non UTF-8 encodings for I/O, an explicit INI directive has to be set. The encoding INI settings check relies on the order in the core:

  • internal_encoding
  • default_charset
  • zend.multibyte

Several functions for codepage handling were introduced:

  • sapi_windows_cp_set() to set the default codepage
  • sapi_windows_cp_get() to retrieve the current codepage
  • sapi_windows_cp_is_utf8()
  • sapi_windows_cp_conv() to convert between codepages, using iconv() compatible signature

These functions are thread safe.

The console output codepage is adjusted depending on the encoding used in PHP. Depending on the concrete system OEM codepage, the visible output might or might be not correct. For example, in the default cmd.exe and on a system with the OEM codepage 437, outputs in codepages 1251, 1252, 1253 and some others can be shown correctly when using UTF-8. On the same system, chars in codepage like 20932 probably won't be shown correctly. This refers to the particular system rules for codepage, font compatibility and the particular console program used. PHP automatically sets the console codepage according to the encoding rules from php.ini. Using alternative consoles instead of cmd.exe directly might bring better experience in some cases.

Nevertheless be aware, runtime codepage switch after the request start might bring unexpected side effects on CLI. The preferable way is php.ini, When PHP CLI is used in a console emulator, that doesn't support Unicode, it might possibly be required, to avoid changing the console codepage. The best way to achieve it is by setting the default or internal encoding to correspond the ANSI codepage. Another method is to set the INI directives output_encoding and input_encoding to the required codepage, in which case however the difference between internal and I/O codepage is likely to cause mojibake. In rare cases, if PHP happens to crash gracefully, the original console codepage might be not restored. In this case, the chcp command can be used, to restore it manually.

Special awareness for the DBCS systems - the codepage switch on runtime using ini_set() is likely to cause display issues. The difference to the non DBCS systems is, that the extended characters require two console cells to be displayed. In certain case, only the mapping of the characters into the glyph set of the font could happen, no actual font change. This is the nature of DBCS systems, the most simple way to prevent display issues is to avoid usage of ini_set() for the codepage change.

As a result of UTF-8 support in the streams, PHP scripts are not limited to ASCII or ANSI filenames anymore. This is supported out of the box on CLI. For other SAPI, the documentation for the corresponding server is useful.

Long paths support is transparent. Paths longer than 260 bytes get automatically prefixed with \\?\. The max path length is limited to 2048 bytes. Be aware, that the path segment limit (basename length) still persists.

For the best portability, it is strongely recommended to handle filenames, I/O and other related topics UTF-8. Additionally, for the console applications, the usage of a TrueType font is preferable and the usage of ini_set() for the codepage change is discouraged.

readline

The readline extension is supported through the » WinEditLine library. Thereby, the interactive CLI shell is supported as well (php.exe -a).

PHP_FCGI_CHILDREN

PHP_FCGI_CHILDREN is now respected. If this environment variable is defined, the first php-cgi.exe process will exec the specified number of children. These will share the same TCP socket.

ftok()

Added support for ftok()


Migrando do PHP 5.6.x para o PHP 7.0.x

Índice

  • Mudanças incompatíveis com versões anteriores
  • Novos Recursos
  • Recursos depreciados no PHP 7.0.x
  • Funções alteradas
  • Novas funções
  • Novas Classes e Interfaces
  • Novas Constantes Globais
  • Modificações nos Módulos SAPI
  • Extensões e SAPIs removidas
  • Outras mudanças

Apesar do fato do PHP 7.0 ser uma versão superior, esforços foram feitos para que a migração seja feita da forma mais simples possível. Essa versão foca principalmente na remoção de funcionalidades depreciadas em versões anteriores e na melhoria da consistênciada da linguagem.

Existem algumas incompatibilidades e novos recursos que devem ser considerados, e o código deve ser testado antes de trocar a versão do PHP em ambientes de produção.


Mudanças incompatíveis com versões anteriores

Modificações na manipulação de erros e exceções

Alguns erros fatais e recuperáveis foram convertidos para exceções no PHP 7. Estas exceções herdam a classe Error, que implementa a interface Throwable (a interface base que todas as exceções herdam).

Isso significa que manipuladores de erros podem não ser ativados porque exceções estão sendo disparadas em seu lugar (causando novos erros fatais por exceções Error não capturadas)

Uma descrição completa de como tratar erros no PHP 7 pode ser encontrada na página de erros do PHP 7. Este guia de migração irá enumerar apenas as mudanças compatíveis com versões anteriores.

set_exception_handler() não têm mais garantias de receber um objeto do tipo Exception.

Códigos que implementam um manipulador de exceção registrado com set_exception_handler() usando a declaração de tipo Exception causará um erro fatal quando um objeto Error for lançado.

Se o manipulador precisa trabalhar com o PHP 5 e 7, você deve remover a declaração de tipo do manipulador, enquanto que o código a migrar para funcionar exclusivamente no PHP 7, pode simplesmente trocar a declaração de tipo Exception por Throwable.

<?php
// Código da era PHP 5 que não irá funcionar.
function handler(Exception $e) { ... }
set_exception_handler('handler');

// Compatível com PHP 5 e 7.
function handler($e) { ... }

// Somente PHP 7.
function handler(Throwable $e) { ... }
?>

Construtores internos sempre lançarão exceções em caso de falha

Anteriormente, algumas classes internas retornavam null ou um objeto inútil quando o construtor falhava. Todas as classes internas agora lançam Exception neste caso, da mesma forma que classes de usuário já faziam.

Erros de Parse lançam exceções ParseError

Erros de Parser agora lançam um objeto ParseError. Manipular erros da função eval() devem incluir um bloco catch que possa manipular este erro.

Mudanças na severidade de notificações E_STRICT

Todas as notificações E_STRICT foram reclassificadas para outros níveis. A constante E_STRICT foi mantida, então chamar error_reporting(E_ALL|E_STRICT) não causará um erro.

Mudanças na severidade de notificações E_STRICT
Situação | Novo nível/Comportamento
Utilizar um recurso como índice | E_NOTICE
Métodos estáticos abstratos | Notificação removida, não dispara erro
"Redefinindo" um construtor | Notificação removida, não dispara erro
Assinatura incompatível durante a herança | E_WARNING
Mesmas propriedades(compatíveis) em duas traits utilizadas | Notificação removida, não dispara erro
Acessando propriedades estáticas de forma não estática | E_NOTICE
Somente variáveis devem ser ser atribuídas por referência | E_NOTICE
Somente variáveis devem ser passadas por referência | E_NOTICE
Chamando métodos não estáticos de forma estática | E_DEPRECATED

Mudanças na manipulação de variáveis

O PHP 7 utiliza uma sintaxe abstrata de árvore para analisar os arquivos fonte. Isso permitiu diversas melhorias para a linguagem que eram impossíveis devido a limitações no analisador utilizado em versões anteriores do PHP, porém resultou na remoção de alguns casos especiais por razões de consistência, que resulta em quebras de compatibilidades com versões anteriores. Esses casos são detalhados nesta seção.

Mudanças na manipulação indireta de variáveis, propriedades e métodos

Acessar indiretamente variáveis, propriedades, e métodos, agora serão avaliados estritamente da esquerda para a direita, o oposto dos casos especiais em versões anteriores. A tabela a seguir mostra como a ordem de avaliação mudou.

Nova e antiga avaliação de expressões indiretas
Expressão | Interpretação no PHP 5 | Interpretação no PHP 7
$$foo['bar']['baz'] | ${$foo['bar']['baz']} | ($$foo)['bar']['baz']
$foo->$bar['baz'] | $foo->{$bar['baz']} | ($foo->$bar)['baz']
$foo->$bar['baz']() | $foo->{$bar['baz']}() | ($foo->$bar)['baz']()
Foo::$bar['baz']() | Foo::{$bar['baz']}() | (Foo::$bar)['baz']()

Códigos que usam a ordem de avaliação da direita para esquerda devem ser reescritos para o uso explícito da ordem de avaliação com chaves (veja a coluna do meio). Isso fará com que o código seja compatível com versões posteriores ao PHP 7.x e compatível com o PHP 5.x.

Isso também afeta a palavra chave global. A sintaxe com chaves pode ser usada para emular o comportamento anterior se necessário:

<?php
function f() {
    // Válido apenas no PHP 5.
    global $$foo->bar;

    // Válido no PHP 5 e 7.
    global ${$foo->bar};
}
?>

Mudanças na manipulação com a função list()

A função list() não faz mais atribuições em ordem reversa

A função list() agora irá atribuir valores as variáveis na ordem em que foram definidas, em vez de ordem reversa. De modo geral, isso só afeta casos onde a função list() é utilizada em conjunção com o operador de array [], como mostrado a seguir:

<?php
list($a[], $a[], $a[]) = [1, 2, 3];
var_dump($a);
?>

O exemplo acima irá imprimir no PHP 5:

array(3) {
  [0]=>
  int(3)
  [1]=>
  int(2)
  [2]=>
  int(1)
}

O exemplo acima irá imprimir no PHP 7:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

De modo geral, é recomendo não confiar na ordem em que as atribuições com que a função list() ocorrem, como sua implementação detalha, isso pode mudar novamente no futuro.

Atribuições de list() vazias foram removidas

Chamadas a função list() não podem mais ser vazias. O que é visto a seguir não é mais permitido:

<?php
list() = $a;
list(,,) = $a;
list($x, list(), $y) = $a;
?>
A função list() não podem desempacotar strings

A função list() não podem mais desempacotar variáveis do tipo string. Em vez disso, a função str_split() deve ser usada.

A ordenação de arrays quando elementos são criados durante atribuições por referência mudou

A ordem dos elementos no array foi modificada quando estes elementos foram automaticamente criados por referenciação em uma atribuição por referência. Por exemplo:

<?php
$array = [];
$array["a"] =& $array["b"];
$array["b"] = 1;
var_dump($array);
?>

O exemplo acima irá imprimir no PHP 5:

array(2) {
  ["b"]=>
  &int(1)
  ["a"]=>
  &int(1)
}

O exemplo acima irá imprimir no PHP 7:

array(2) {
  ["a"]=>
  &int(1)
  ["b"]=>
  &int(1)
}

Parênteses em torno de parâmetros de função não afetam mais seu comportamento

No PHP 5, usar parênteses redundantes em torno de parâmetros de uma função podem disparar avisos de quebra de padrões quando os parâmetros da função fossem passados por referência. Agora, o aviso sempre será emitido.

<?php
function getArray() {
    return [1, 2, 3];
}

function squareArray(array &$a) {
    foreach ($a as &$v) {
        $v **= 2;
    }
}

// Generates a warning in PHP 7.
squareArray((getArray()));
?>

O exemplo acima irá imprimir:

Notice: Only variables should be passed by reference in /tmp/test.php on line 13

Mudanças no foreach

Pequenas mudanças foram feitas no modo como a estrutura de controle foreach se comporta, principalmente na manipulação do ponteiro interno do array e modificações no array sendo iterado.

foreach não modifica mais o ponteiro interno do array

Antes do PHP 7, o ponteiro interno do array era modificado enquanto o array era iterado usando o foreach. Este não é mais o caso, como mostrado nos exemplos a seguir:

<?php
$array = [0, 1, 2];
foreach ($array as &$val) {
    var_dump(current($array));
}
?>

O exemplo acima irá imprimir no PHP 5:

int(1)
int(2)
bool(false)

O exemplo acima irá imprimir no PHP 7:

int(0)
int(0)
int(0)

foreach por valor opera em uma cópia do array

Quando usado no modo padrão, por valor, o foreach vai operar em uma cópia do array sendo iterado, ao invés do próprio array. Isso significa que mudanças feitas durante a iteração do array, não afetarão os valores iterados.

Melhora no comporatamento da iteração por referência com foreach

Quanto iterado por referencia, o foreach fará um melhor trabalho de controlar as alterações feitas ao array durante a iteração. Por exemplo, inclusões ao array enquanto iterado, agora resultam na inclusão de valores enquanto itera, como a seguir:

<?php
$array = [0];
foreach ($array as &$val) {
    var_dump($val);
    $array[1] = 1;
}
?>

O exemplo acima irá imprimir no PHP 5:

int(0)

O exemplo acima irá imprimir no PHP 7:

int(0)
int(1)

Iteração de objetos não Traversable

Iterar objetos não Traversable agora têm o mesmo comportamento que iterar arrays por referência. Isso resulta na melhora do comportamento quando houver modificações no array durante a iteração também aplicado quando propriedades são adicionadas ou removidas do objeto.

Mudança na manipulação do inteiro

Octais literais inválidos

Antes, octais literais que continham números inválidos, eram silenciosamente truncados (0128 se tornaria 012). Agora, um octal literal inválido causará um erro de parse.

Deslocamento de bits negativos

Deslocamento de bits por números negativos agora lançarão uma exceção ArithmeticError:

<?php
var_dump(1 >> -1);
?>

O exemplo acima irá imprimir no PHP 5:

int(0)

O exemplo acima irá imprimir no PHP 7:

Fatal error: Uncaught ArithmeticError: Bit shift by negative number in /tmp/test.php:2
Stack trace:
#0 {main}
  thrown in /tmp/test.php on line 2

Deslocamentos de bits fora do limite

Deslocamentos de bits (em ambas direções), além do tamanho de bits de um inteiro sempre resultará em 0. Antes, o comportamento do deslocamento dependia da arquitetura.

Mudanças na Divisão por Zero

Antes, quando 0 era usado como divisor tanto para a operador de divisão (/) quanto para o módulo, um E_WARNING era emitido e false era retornado. Agora, o operador de divisão retornará um float +INF, -INF ou NAN, conforme a especificação IEEE 754. O E_WARNING do operador módulo foi removido e irá lançar uma exceção DivisionByZeroError.

<?php
var_dump(3/0);
var_dump(0/0);
var_dump(0%0);
?>

O exemplo acima irá imprimir no PHP 5:

Warning: Division by zero in %s on line %d
bool(false)

Warning: Division by zero in %s on line %d
bool(false)

Warning: Division by zero in %s on line %d
bool(false)

O exemplo acima irá imprimir no PHP 7:

Warning: Division by zero in %s on line %d
float(INF)

Warning: Division by zero in %s on line %d
float(NAN)

PHP Fatal error:  Uncaught DivisionByZeroError: Modulo by zero in %s line %d

Mudanças na manipulação de strings

Strings hexadecimais não são mais consideradas numéricas

Strings contendo números hexadecimais não são mais consideradas numéricas. Por exemplo:

<?php
var_dump("0x123" == "291");
var_dump(is_numeric("0x123"));
var_dump("0xe" + "0x1");
var_dump(substr("foo", "0x1"));
?>

O exemplo acima irá imprimir no PHP 5:

bool(true)
bool(true)
int(15)
string(2) "oo"

O exemplo acima irá imprimir no PHP 7:

bool(false)
bool(false)
int(0)

Notice: A non well formed numeric value encountered in /tmp/test.php on line 5
string(3) "foo"

filter_var() pode ser usado se uma string contém um número hexadecimal, e também para converter uma string deste tipo para um inteiro:

<?php
$str = "0xffff";
$int = filter_var($str, FILTER_VALIDATE_INT, FILTER_FLAG_ALLOW_HEX);
if (false === $int) {
    throw new Exception("Inteiro Inválido!");
}
var_dump($int); // int(65535)
?>

\u{ pode causar erros

Por conta da adição da nova sintaxe de escape de códigos em Unicode, strings contendo um \u{ literal seguido de uma sequência inválida causará um erro fatal. Para evitar isso, você deve escapar a barra invertida.

Funções removidas

call_user_method() e call_user_method_array()

Estas funções foram depreciadas no PHP 4.1.0 em favor de call_user_func() e call_user_func_array(). Você também pode considerar o uso de funções variáveis e/ou o operador ... .

Todas as funções ereg*

Todas as funções ereg foram removidas. PCRE é uma alternativa recomendada.

Sinônimos do mcrypt

A função depreciada mcrypt_generic_end() foi removida em favor de mcrypt_generic_deinit().

Além disso, as funções depreciadas mcrypt_ecb(),
mcrypt_cbc(), mcrypt_cfb() e
mcrypt_ofb() foram removidas em favor do
uso da função mcrypt_decrypt() com a constante
MCRYPT_MODE_* apropriada.

Todas as funções ext/mysql

Todas as funções ext/mysql foram removidas. Para mais detalhes sobre a escolha de uma API MySQL diferente, veja a seção Escolhendo uma API MySQL.

Todas as funções ext/mssql

Todas as funções ext/mssql foram removidas.

  • PDO_SQLSRV
  • PDO_ODBC
  • SQLSRV
  • API ODBC Unificada

Sinônimos de intl

Os sinônimos depreciados datefmt_set_timezone_id() e
IntlDateFormatter::setTimeZoneID() foram
removidos em favor de datefmt_set_timezone() e
IntlDateFormatter::setTimeZone(), respectivamente.

set_magic_quotes_runtime()

set_magic_quotes_runtime(), juntamente com seu sinônimo magic_quotes_runtime(), foram removidos. Eles foram depreciados no PHP 5.3.0 e se tornaram efetivamente não funcionais com a remoção das magic quotes no PHP 5.4.0.

set_socket_blocking()

O sinônimo depreciado set_socket_blocking() foi removido em favor de stream_set_blocking().

dl() no PHP-FPM

dl() não pode mais ser utilizado no PHP-FPM. Ela permanece funcional na interface CLI e SAPIs embarcadas.

Funções GD Type1

O suporte a fontes PostScript Type1 foi removido da extensão GD, resultando na remoção das seguintes funções:

  • imagepsbbox()
  • imagepsencodefont()
  • imagepsextendfont()
  • imagepsfreefont()
  • imagepsloadfont()
  • imagepsslantfont()
  • imagepstext()

O uso de fontes TruType e suas funções associadas é recomendado.

Diretivas INI removidas

Recursos removidos

As diretivas INI a seguir foram removidas, assim como os como seus recursos associados:

  • always_populate_raw_post_data
  • asp_tags

xsl.security_prefs

A diretiva xsl.security_prefs foi removida. Em substituição, o método XsltProcessor::setSecurityPrefs() deve ser chamado para controlar as preferências de segurança por processo base.

Outras mudanças incompatíveis com versões anteriores

Novos objetos não podem ser atribuídos por referência

O resultado da declaração new não pode mais ser atribuído a uma variável por referência:

<?php
class C {}
$c =& new C;
?>

O exemplo acima irá imprimir no PHP 5:

Deprecated: Assigning the return value of new by reference is deprecated in /tmp/test.php on line 3

O exemplo acima irá imprimir no PHP 7:

Parse error: syntax error, unexpected 'new' (T_NEW) in /tmp/test.php on line 3

Nomes inválidos de classes, interfaces e traits

Os nomes a seguir não podem ser utilizados como nome de classes, interfaces ou traits:

  • bool
  • int
  • float
  • string
  • null
  • true
  • false

Além disso, os seguintes nomes não devem ser usados. Embora eles não gerem um erro no PHP 7.0, eles são reservados para uso futuro e devem ser considerados depreciados.

  • resource
  • object
  • mixed
  • numeric

Tags ASP e script removidas

O suporte ao uso das tags ASP e script para delimitar o código PHP foi removido. As tags afetadas são:

Tags ASP e script removidas
Tag de abertura | Tag de fechamento
<% | %>
<%= | %>
<script language="php"> | </script>

Chamadas de contextos incompatíveis foram removidas

Anteriormente depreciadas no PHP 5.6, chamadas estáticas feitas a métodos não-estáticos com um contexto incompatível agora resultarão no método chamado tendo uma variável $this indefinida e um aviso de depreciação será emitido.

<?php
class A {
    public function test() { var_dump($this); }
}

// Nota: NÃO extende A
class B {
    public function callNonStaticMethodOfA() { A::test(); }
}

(new B)->callNonStaticMethodOfA();
?>

O exemplo acima irá imprimir no PHP 5:

Deprecated: Non-static method A::test() should not be called statically, assuming $this from incompatible context in /tmp/test.php on line 8
object(B)#1 (0) {
}

O exemplo acima irá imprimir no PHP 7:

Deprecated: Non-static method A::test() should not be called statically in /tmp/test.php on line 8

Notice: Undefined variable: this in /tmp/test.php on line 3
NULL

yield agora é um operador associativo à direita

O construtor yield não requer mais o uso de parênteses e foi alterado para um operador associativo à direita com precedência entre print e =>. Isso pode resultar em um comportamento alterado:

<?php
echo yield -1;
// Era interpretado como
echo (yield) - 1;
// E agora é interpretado como
echo yield (-1);

yield $foo or die;
// Era interpretado como
yield ($foo or die);
// E agora é interpretado como
(yield $foo) or die;
?>

Parênteses podem ser utilizados para remover a ambiguidade nestes casos.

Funções não podem ter vários parâmetros com o mesmo nome

Não é mais possível definir dois ou mais parâmetros em uma função com o mesmo nome. Por exemplo, a função a seguir vai disparar um E_COMPILE_ERROR:

<?php
function foo($a, $b, $unused, $unused) {
    //
}
?>

Funções inspecionando argumentos informam o valor atual do parâmetro

func_get_arg(), func_get_args(), debug_backtrace() e backtraces de exceção não informam mais o valor original que foi passado para um parâmetro, mas ao invés disso, irão informar o valor atual (que pode ter sido modificado).

<?php
function foo($x) {
    $x++;
    var_dump(func_get_arg(0));
}
foo(1);?>

O exemplo acima irá imprimir no PHP 5:

1

O exemplo acima irá imprimir no PHP 7:

2

Declarações switch não podem ter vários blocos default

Não é mais possível definir dois ou mais blocos default em uma declaração switch. Por exemplo, a declaração switch a seguir irá disparar um E_COMPILE_ERROR:

<?php
switch (1) {
    default:
    break;
    default:
    break;
}
?>

$HTTP_RAW_POST_DATA removida

A variável $HTTP_RAW_POST_DATA não está mais disponível. Ao invés disso o stream php://input deve ser utilizado.

Comentários iniciados com # nos arquivos INI foram removidos

O suporte a comentários prefixados com # nos arquivos INI foi removido. Em vez disso, o ; (ponto-e-vírgula) deve ser usado. Esta mudança aplica-se ao php.ini, assim como aos arquivos manipulados pelas funções parse_ini_file() e parse_ini_string().

Substituição da extensão JSON por JSOND

A extensão JSON foi substituída por JSOND, causando três quebras menores de compatibilidade com versões anteriores. Em primeiro lugar, um número não pode ser terminado em um ponto decimal (isto é, 34. deve ser modificado para 34.0 ou 34). Em segundo lugar, ao usar notação científica, o expoente e não deve seguir imediatamente o ponto decimal (isto é, 3.e3 deve ser modificado para 3.0e3 ou 3e3). Finalmente, uma string vazia não é mais considerada JSON válido.

Função interna falha em caso de estouro

Antes, funções internas silenciosamente truncavam números produzidos por coerções de pontos flutuantes para inteiros quando o ponto flutuante era grande demais para ser representado como um inteiro. Agora um E_WARNING será emitido e null será retornado.

Ajustes nos valores retornados pelo manipulador de sessão customizado

Quaisquer funções de predicado implementadas por manipuladores de sessões customizados que retornem false ou -1 resultarão em erros fatais. Se qualquer valor retornado destas funções não é um booleano, -1 ou 0, então ela irá falhar e um E_WARNING será emitido.

Ordenações de elementos iguais

O algoritmo interno de ordenação foi melhorado, o que pode resultar em diferentes ordenações de elementos, que são comparados como iguais, do que antes.

Nota:

Não confie na ordem de elementos que são comparados como iguais; ela pode mudar a qualquer momento.

Mudanças em break e declarações switch

As declarações break e continue fora de um laço ou de uma estrutura de controle switch, agora são detectados em tempo de compilação em vez de tempo de execução como antes, e dispara um erro E_COMPILE_ERROR.

Mhash não é mais uma extensão

A extensão Mhash foi completamente integrada na extensão Hash. Portanto, não é mais possível detectar o suporte à extensão Mhash com extension_loaded(); em vez disso use function_exists(). Além disso, Mhash não é mais informada por get_loaded_extensions() e recursos relacionados.

declare(ticks)

A diretiva declare(ticks) não vaza mais para diferentes unidades de compilação.


Novos Recursos

Declarações de tipos escalares

Declarações de tipos escalares vêm em dois sabores: coercivo (padrão) e estrito. Para parâmetros os seguintes tipos agora podem ser forçados (tanto coercivamente quanto estritamente): strings (string), inteiros (int), números de ponto flutuante (float) e booleanos (bool). Eles incrementam os outros tipos introduzidos no PHP 5: nomes de classe, interfaces, array e callable.

<?php
// Modo coercivo
function sumOfInts(int ...$ints)
{
    return array_sum($ints);
}

var_dump(sumOfInts(2, '3', 4.1));

O exemplo acima irá imprimir:

int(9)

Para habilitar o modo estrito, uma única diretiva declare deve ser colocada no topo do arquivo. Isto significa que a rigorosidade de tipificação para escalares é configurada por arquivo. Esta diretiva não afeta somente as declarações de tipo de parâmetros, mas também do tipo de retorno de funções (veja declarações de tipo de retorno), funções internas do PHP e funções de extensões carregadas.

A documentação completa e exemplos de declarações de tipo escalar podem ser encontradas na referência de declaração de tipo .

Declarações de tipo de retorno

O PHP 7 adiciona suporte a declarações de tipo de retorno. Similar às declarações de tipo de argumento as declarações de tipo de retorno especificam o tipo do valor que será retornado por uma função. Os mesmos tipos estão disponíveis para declarações de tipo de retorno assim como estão disponíveis para declarações de tipo de argumentos.

<?php

function arraysSum(array ...$arrays): array
{
    return array_map(function(array $array): int {
        return array_sum($array);
    }, $arrays);
}

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));

O exemplo acima irá imprimir:

Array
(
    [0] => 6
    [1] => 15
    [2] => 24
)

A documentação completa e exemplos de declarações de tipo de retorno podem ser encontradas na referência de declarações de tipo de retorno .

Operador de coalescência nula

O operador de coalescência nula (??) foi adicionado como um truque sintático para o caso trivial de precisar usar um ternário em conjunto com a função isset(). Ele retorna o primeiro operando se este existir e não for null; caso contrário retorna o segundo operando.

<?php
// Obtém o valor de $_GET['user'] e retorna 'nobody'
// se ele não existir.
$username = $_GET['user'] ?? 'nobody';
// Isto equivale a:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

// A coalescência pode ser encadeada: isto irá retornar o primeiro
// valor definido entre $_GET['user'], $_POST['user'] e
// 'nobody'.
$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';
?>

Operador "nave espacial" (spaceship)

O operador nave espacial é utilizado para comparar duas expressões. Ele retorna -1, 0 ou 1 quando $a for respectivamente menor que, igual a ou maior que $b. As comparações são feitas de acordo com as já conhecidas regras de comparação de tipos do PHP.

<?php
// Inteiros
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// Números de ponto flutuante
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1

// Strings
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>

Arrays de constantes utilizando a função define()

Constantes do tipo array agora podem ser definidas com a função define(). No PHP 5.6 elas só poderiam ser definidas com const.

<?php
define('ANIMALS', [
    'dog',
    'cat',
    'bird'
]);

echo ANIMALS[1]; // imprime "cat"
?>

Classes anônimas

O suporte a classes anônimas foi adicionado utilizando new class. Estas podem ser utilizadas no lugar de definições completas de classes para objetos descartáveis.

<?php
interface Logger {
    public function log(string $msg);
}

class Application {
    private $logger;

    public function getLogger(): Logger {
         return $this->logger;
    }

    public function setLogger(Logger $logger) {
         $this->logger = $logger;
    }
}

$app = new Application;
$app->setLogger(new class implements Logger {
    public function log(string $msg) {
        echo $msg;
    }
});

var_dump($app->getLogger());
?>

O exemplo acima irá imprimir:

object(class@anonymous)#2 (0) {
}

A documentação completa pode ser encontrada na referência de classes anônimas.

Sintaxe de escape de códigos Unicode

Toma um código Unicode em sua forma hexadecimal e imprime esse código em UTF-8 em uma string delimitada por aspas ou um heredoc. Qualquer código válido é aceito, com os zeros à esquerda sendo opcionais.

echo "\u{aa}";
echo "\u{0000aa}";
echo "\u{9999}";

O exemplo acima irá imprimir:

ª
ª (o mesmo que antes mas com os zeros à esquerda opcionais)
?

Closure::call()

O método Closure::call() é uma forma mais eficaz e abreviada de associar temporariamente um escopo de objeto a uma closure e invocá-la.

<?php
class A {private $x = 1;}

// Código anterior ao PHP 7
$getXCB = function() {return $this->x;};
$getX = $getXCB->bindTo(new A, 'A'); // intermediate closure
echo $getX();

// Código do PHP 7+
$getX = function() {return $this->x;};
echo $getX->call(new A);

O exemplo acima irá imprimir:

1
1

unserialize() filtrado

Esse recurso busca prover uma melhor segurança ao desserializar objetos com informações não confiáveis. Ele impede possíveis injeções de código ao permitir que o desenvolvedor liste as classes que podem ser desserializadas.

<?php

// converte todos os objetos em objetos __PHP_Incomplete_Class
$data = unserialize($foo, ["allowed_classes" => false]);

// converte todos os objetos em objetos __PHP_Incomplete_Class exceto aqueles de MyClass e MyClass2
$data = unserialize($foo, ["allowed_classes" => ["MyClass", "MyClass2"]]);

// comportamento padrão (o mesmo que omitir o segundo argumento) que aceita todas as classes
$data = unserialize($foo, ["allowed_classes" => true]);

IntlChar

A nova classe IntlChar busca expor funcionalidades adicionais da ICU. A classe define alguns métodos estáticos e constantes que podem ser utilizados para manipular caracteres unicode.

<?php

printf('%x', IntlChar::CODEPOINT_MAX);
echo IntlChar::charName('@');
var_dump(IntlChar::ispunct('!'));

O exemplo acima irá imprimir:

10ffff
COMMERCIAL AT
bool(true)

Para utilizar esta classe a extensão Intl deve estar instalada.

Expectations

Expectations são aprimoramentos compatíveis com versões anteriores para a antiga função assert(). Permitem asserções com custo zero em código em produção e fornecem a capacidade de lançar exceções personalizadas quando a asserção falha.

Enquanto a API antiga continua sendo mantida por motivos de compatibilidade, assert() agora é um construtor de linguagem, permitindo que o primeiro parâmetro seja uma expressão, em vez de somente uma string a ser avaliada ou um valor booleano a ser testado.

<?php
ini_set('assert.exception', 1);

class CustomError extends AssertionError {}

assert(false, new CustomError('Alguma mensagem de erro'));
?>

O exemplo acima irá imprimir:

Fatal error: Uncaught CustomError: Alguma mensagem de erro

Mais detalhes sobre este recurso, incluindo como configurá-lo tanto no ambiente de desenvolvimento quanto em produção, podem ser encontrados na seção de expectations da referência do construtor de linguagem assert();

Agrupamento de declarações use

Classes, funções e constantes importadas do mesmo namespace, agora podem ser agrupadas em uma única declaração use

<?php
// Código anterior ao PHP 7
use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;

use function some\namespace\fn_a;
use function some\namespace\fn_b;
use function some\namespace\fn_c;

use const some\namespace\ConstA;
use const some\namespace\ConstB;
use const some\namespace\ConstC;

// Código do PHP 7+
use some\namespace\{ClassA, ClassB, ClassC as C};
use function some\namespace\{fn_a, fn_b, fn_c};
use const some\namespace\{ConstA, ConstB, ConstC};
?>

Expressões de Retorno nos Geradores

Este recurso foi construído em cima da funcionalidade de geradores introduzida no PHP 5.5. Ele permite que uma declaração return seja usada dentro de um gerador para permitir que uma expressão final seja retornada (retornar por referência não é permitido). Este valor pode ser obtido usando o novo método Generator::getReturn(), que deve ser usado somente quando o gerador terminar a geração dos valores.

<?php

$gen = (function() {
    yield 1;
    yield 2;

    return 3;
})();

foreach ($gen as $val) {
    echo $val, PHP_EOL;
}

echo $gen->getReturn(), PHP_EOL;

O exemplo acima irá imprimir:

1
2
3

A habilidade de retornar explicitamente o valor final de um gerador é conveniente de se ter. Ela permite que o retorno do valor final do gerador (pode ser de uma computação concorrente) possa ser manipulado especificamente pelo código cliente que executa o gerador. Isso é bem mais simples que forçar o código cliente a primeiro checar se o valor final já foi gerado, e em caso afirmativo, manipular esse valor especificamente.

Delegação de geradores

Geradores agora podem delegar para outros geradores, objetos Traversable ou array automaticamente, sem a necessidade de escrever código repetitivo no gerador externo utilizando o construtor yield from

<?php
function gen()
{
    yield 1;
    yield 2;
    yield from gen2();
}

function gen2()
{
    yield 3;
    yield 4;
}

foreach (gen() as $val)
{
    echo $val, PHP_EOL;
}
?>

O exemplo acima irá imprimir:

1
2
3
4

Divisão de inteiros com intdiv()

A nova função intdiv() realiza a divisão de inteiros de seus operandos e a retorna.

<?php
var_dump(intdiv(10, 3));
?>

O exemplo acima irá imprimir:

int(3)

Opções de sessões

A função session_start() agora aceita um array de opções que sobrescrevem as diretivas de configuração de sessões normalmente configuradas no php.ini.

Estas opções também foram expandidas para suportar session.lazy_write, que está habilitada por padrão e faz com que o PHP somente sobrescreva um arquivo de sessão se a informação da sessão foi modificada, e read_and_close, que é uma opção que só pode ser passada para a função session_start() para indicar que os dados da sessão devem ser lidos e, em seguida, a sessão deve ser imediatamente fechada sem alterações.

Por exemplo, para configurar session.cache_limiter para private e fechar imediatamente a sessão após lê-la:

<?php
session_start([
    'cache_limiter' => 'private',
    'read_and_close' => true,
]);
?>

preg_replace_callback_array()

A nova função preg_replace_callback_array() permite que o código seja escrito de forma mais limpa com a utilização da função preg_replace_callback(). Antes do PHP 7, callbacks que precisam ser executadas por expressões regulares exigiam que a função de callback fosse poluída com muitas ramificações.

Agora, funções de callback podem ser registradas em cada expressão regular utilizando um array associativo, onde a chave é uma expressão regular e o valor é uma função de callback.

Funções CSPRNG

Duas novas funções foram adicionadas para gerar inteiros e strings criptograficamente seguros de maneira multiplataforma: random_bytes() e random_int().

A função list() pode sempre desempacotar objetos que implementam ArrayAccess

Antes a função list() não garantia corretude em operações com objetos que implementam ArrayAccess. Isso foi corrigido.

Outros Recursos

  • Acesso a membros de classe na clonagem foi adicionado, por exemplo, (clone $foo)->bar().


Recursos depreciados no PHP 7.0.x

Construtores ao estilo PHP 4

Construtores ao estilo PHP 4 (métodos que têm o mesmo nome que a classe onde estão definidos) estão depreciados, e será removido no futuro. O PHP 7 emitirá E_DEPRECATED se um construtor do PHP 4 for o único construtor definido na classe. Classes que implementam o método __construct() não são afetadas.

<?php
class foo {
    function foo() {
        echo 'Eu sou um construtor';
    }
}
?>

O exemplo acima irá imprimir:

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; foo has a deprecated constructor in example.php on line 3

Chamadas estáticas a métodos não estáticos

Chamadas estáticas a métodos que não foram declarados como static estão depreciados, e podem ser removidos no futuro.

<?php
class foo {
    function bar() {
        echo 'Eu não sou estático!';
    }
}

foo::bar();
?>

O exemplo acima irá imprimir:

Deprecated: Non-static method foo::bar() should not be called statically in - on line 8
I am not static!

Opção salt da função password_hash()

A opção salt da função password_hash() foi depreciada para evitar que desenvolvedores gerem seus próprios salts(geralmente inseguro). A função gerará um salt criptográfico seguro quando um salt não for fornecido pelo desenvolvedor - portanto a geração customizada de salts não é necessária.

Opção de contexto SSL na função capture_session_meta

A opção de contexto SSL capture_session_meta foi depreciada. Metadados SSL agora estão disponíveis através da função stream_get_meta_data().

Depreciações no LDAP

As funções a seguir foram depreciadas:

  • ldap_sort()


Funções alteradas

Núcleo do PHP

  • debug_zval_dump() agora imprime "int" ao invés de "long" e "float" ao invés de "double".
  • dirname() agora opcionalmente recebe um segundo parâmetro, depth, para obter o nome do diretório depth níveis acima do diretório atual.
  • getrusage() agora é suportada no Windows.
  • As funções mktime() e gmmktime() não aceitam mais o parâmetro is_dst (é horário de verão).
  • A função preg_replace() não suporta mais o modificador "\e" (PREG_REPLACE_EVAL). Em vez disso, a função preg_replace_callback() deve ser usada.
  • A função setlocale() não aceita mais o parâmetro category passado como string. Em vez disso, as constantes LC_* devem ser usadas.
  • As funções exec(), system() e passthru() agora possuem proteção contra bytes nulos.
  • A função shmop_open() agora retorna um recurso ao invés de um inteiro, que deve ser passado para as funções shmop_size(), shmop_write(), shmop_read(), shmop_close() e shmop_delete().
  • As funções substr() e iconv_substr() agora retornam uma string vazia caso o comprimento do parâmetro string seja igual ao valor do parâmetro start.
  • xml_parser_free() não é mais suficiente para liberar o recurso parser, se ele faz referência a um objeto e este objeto faz referência a esse recurso parser. Neste caso, é necessário, adicionalmente, indeterminar o $parser.


Novas funções

Closure

  • Closure::call()

CSPRNG

  • random_bytes()
  • random_int()

Manipulação e Registro de erros

  • error_clear_last()

Generator

  • Generator::getReturn()

GNU Multiple Precision

  • gmp_random_seed()

Math

  • intdiv()

PCRE

  • preg_replace_callback_array()

Opções PHP/Informações

  • gc_mem_caches()
  • get_resources()

POSIX

  • posix_setrlimit()

Reflection

  • ReflectionParameter::getType()
  • ReflectionParameter::hasType()
  • ReflectionFunctionAbstract::getReturnType()
  • ReflectionFunctionAbstract::hasReturnType()

Zip

  • ZipArchive::setCompressionIndex()
  • ZipArchive::setCompressionName()

Compressão Zlib

  • inflate_add()
  • deflate_add()
  • inflate_init()
  • deflate_init()


Novas Classes e Interfaces

Intl

  • IntlChar

Reflexão

  • ReflectionGenerator
  • ReflectionType

Manipulação de Sessão

  • SessionUpdateTimestampHandlerInterface

Hierarquia de Exceções

  • Throwable
  • Error
  • TypeError
  • ParseError
  • AssertionError
  • ArithmeticError
  • DivisionByZeroError


Novas Constantes Globais

Constantes Predefinidas do Núcleo

  • PHP_INT_MIN

GD

  • IMG_WEBP (a partir do PHP 7.0.10)

JSON

  • JSON_ERROR_INVALID_PROPERTY_NAME
  • JSON_ERROR_UTF16

LibXML

  • LIBXML_BIGLINES

PCRE

  • PREG_JIT_STACKLIMIT_ERROR

POSIX

  • POSIX_RLIMIT_AS
  • POSIX_RLIMIT_CORE
  • POSIX_RLIMIT_CPU
  • POSIX_RLIMIT_DATA
  • POSIX_RLIMIT_FSIZE
  • POSIX_RLIMIT_LOCKS
  • POSIX_RLIMIT_MEMLOCK
  • POSIX_RLIMIT_MSGQUEUE
  • POSIX_RLIMIT_NICE
  • POSIX_RLIMIT_NOFILE
  • POSIX_RLIMIT_NPROC
  • POSIX_RLIMIT_RSS
  • POSIX_RLIMIT_RTPRIO
  • POSIX_RLIMIT_RTTIME
  • POSIX_RLIMIT_SIGPENDING
  • POSIX_RLIMIT_STACK
  • POSIX_RLIMIT_INFINITY

Zlib

  • ZLIB_ENCODING_RAW
  • ZLIB_ENCODING_DEFLATE
  • ZLIB_ENCODING_GZIP
  • ZLIB_FILTERED
  • ZLIB_HUFFMAN_ONLY
  • ZLIB_FIXED
  • ZLIB_RLE
  • ZLIB_DEFAULT_STRATEGY
  • ZLIB_BLOCK
  • ZLIB_FINISH
  • ZLIB_FULL_FLUSH
  • ZLIB_NO_FLUSH
  • ZLIB_PARTIAL_FLUSH
  • ZLIB_SYNC_FLUSH


Modificações nos Módulos SAPI

FPM

Portas de listen não qualificadas agora escutam IPv4 e IPv6

No PHP 5, uma diretiva listen com somente um número de porta escutaria em todas interfaces, mas somente no IPv4. O PHP aceitará requisições feitas tanto via IPv4 quanto IPv6.

Isso não afeta diretivas que incluem endereços de IP específicos; estas continuarão a escutar somente no endereço e protocolo especificados.


Extensões e SAPIs removidas

Extensões removidas

  • ereg
  • mssql
  • mysql
  • sybase_ct

SAPIs removidas

  • aolserver
  • apache
  • apache_hooks
  • apache2filter
  • caudium
  • continuity
  • isapi
  • milter
  • nsapi
  • phttpd
  • pi3web
  • roxen
  • thttpd
  • tux
  • webjames


Outras mudanças

Abertura nas restrições de palavras reservadas

Palavras reservadas globalmente agora são permitidas como nomes de propriedades, constante e métodos dentro de classes, interfaces e traits. Isso reduz o aspecto de quebras no BC quando novas palavras-chave são introduzidas e evita restrições de nomes em APIS.

Isso é particularmente útil quando estiver criando DSLs com interfaces fluentes:

<?php
// 'new', 'private', e 'for' eram proibidas
Project::new('Project Name')->private()->for('purpose here')->with('username here');
?>

A única limitação é que a palavra-chave class continua não podendo ser utilizada como nome de constante, caso contrário conflitará com a sintaxe de resolução de nomes de classe (ClassName::class).

Remoção do aviso do date.timezone

Anteriormente, um aviso era emitido se a configuração INI date.timezone não havia sido definida antes de utilizar qualquer função de data ou tempo. Agora, este aviso foi removido (com a diretiva date.timezone padronizada para UTC).


Migrando do PHP 5.5.x para o PHP 5.6.x

Índice

  • Backward incompatible changes
  • New features
  • Deprecated features in PHP 5.6.x
  • Changed functions
  • New functions
  • OpenSSL changes in PHP 5.6.x
  • Other changes to extensions
  • Novas constantes globais

A maioria das melhorias no PHP 5.6.x não tem impacto no código existente. Existem algumas incompatibilidades e novas funcionalidades que devem ser consideradas, e o codigo deve ser testado antes de alterar a versão do PHP nos ambientes de produção.


Backward incompatible changes

Although most existing PHP 5 code should work without changes, please take note of some backward incompatible changes:

Array keys won't be overwritten when defining an array as a property of a class via an array literal

Previously, arrays declared as class properties which mixed explicit and implicit keys could have array elements silently overwritten if an explicit key was the same as a sequential implicit key. For example:

<?php
class C {
    const ONE = 1;
    public $array = [
        self::ONE => 'foo',
        'bar',
        'quux',
    ];
}

var_dump((new C)->array);
?>

O exemplo acima irá imprimir no PHP 5.5:

array(2) {
  [0]=>
  string(3) "bar"
  [1]=>
  string(4) "quux"
}

O exemplo acima irá imprimir no PHP 5.6:

array(3) {
  [1]=>
  string(3) "foo"
  [2]=>
  string(3) "bar"
  [3]=>
  string(4) "quux"
}

json_decode() strictness

json_decode() now rejects non-lowercase variants of the JSON literals true, false and null at all times, as per the JSON specification, and sets json_last_error() accordingly. Previously, inputs to json_decode() that consisted solely of one of these values in upper or mixed case were accepted.

This change will only affect cases where invalid JSON was being passed to json_decode(): valid JSON input is unaffected and will continue to be parsed normally.

Stream wrappers now verify peer certificates and host names by default when using SSL/TLS

Todos os streams criptografados agora tem verificação de peer ativado por padrão. Assim, a coleção de CAs padrão do OpenSSL será utilizado para verificar o certificado do peer. Na maioria dos casos, não será necessário modificações para se comunicar com servidores com certificados válidos pois as distribuições geralmente configuram o OpenSSL com boas coleções de CA.

A coleção de CAs padrão pode ser substituída globalmente configurando-se as diretivas openssl.cafile ou openssl.capath, ou por requisição utilizando-se as ações cafile ou capath no parâmetro contexto.

Embora não recomendado no geral, é possível desabilitar a verificação de certificado do peer numa requisição configurando-se a opção de contexto verify_peer para false, e até desabilitar a verificação do nome do peer configurando-se a opção verify_peer_name para false false.

GMP resources are now objects

GMP resources are now objects. The functional API implemented in the GMP extension has not changed, and code should run unmodified unless it checks explicitly for a resource using is_resource() or similar.

Mcrypt functions now require valid keys and IVs

mcrypt_encrypt(), mcrypt_decrypt(), mcrypt_cbc(), mcrypt_cfb(), mcrypt_ecb(), mcrypt_generic() and mcrypt_ofb() will no longer accept keys or IVs with incorrect sizes, and block cipher modes that require IVs will now fail if an IV isn't provided.

cURL file uploads

Uploads using the @file syntax now require CURLOPT_SAFE_UPLOAD to be set to false. CURLFile should be used instead.


New features

Constant expressions

It is now possible to provide a scalar expression involving numeric and string literals and/or constants in contexts where PHP previously expected a static value, such as constant and property declarations and default function arguments.

<?php
const ONE = 1;
const TWO = ONE * 2;

class C {
    const THREE = TWO + 1;
    const ONE_THIRD = ONE / self::THREE;
    const SENTENCE = 'The value of THREE is '.self::THREE;

    public function f($a = ONE + self::THREE) {
        return $a;
    }
}

echo (new C)->f()."\n";
echo C::SENTENCE;
?>

O exemplo acima irá imprimir:

4
The value of THREE is 3

It is also now possible to define a constant array using the const keyword:

<?php
const ARR = ['a', 'b'];

echo ARR[0];
?>

O exemplo acima irá imprimir:

a

Variadic functions via ...

Variadic functions can now be implemented using the ... operator, instead of relying on func_get_args().

<?php
function f($req, $opt = null, ...$params) {
    // $params is an array containing the remaining arguments.
    printf('$req: %d; $opt: %d; number of params: %d'."\n",
           $req, $opt, count($params));
}

f(1);
f(1, 2);
f(1, 2, 3);
f(1, 2, 3, 4);
f(1, 2, 3, 4, 5);
?>

O exemplo acima irá imprimir:

$req: 1; $opt: 0; number of params: 0
$req: 1; $opt: 2; number of params: 0
$req: 1; $opt: 2; number of params: 1
$req: 1; $opt: 2; number of params: 2
$req: 1; $opt: 2; number of params: 3

Argument unpacking via ...

Arrays and Traversable objects can be unpacked into argument lists when calling functions by using the ... operator. This is also known as the splat operator in other languages, including Ruby.

<?php
function add($a, $b, $c) {
    return $a + $b + $c;
}

$operators = [2, 3];
echo add(1, ...$operators);
?>

O exemplo acima irá imprimir:

6

Exponentiation via **

A right associative ** operator has been added to support exponentiation, along with a **= shorthand assignment operator.

<?php
printf("2 ** 3 ==      %d\n", 2 ** 3);
printf("2 ** 3 ** 2 == %d\n", 2 ** 3 ** 2);

$a = 2;
$a **= 3;
printf("a ==           %d\n", $a);
?>

O exemplo acima irá imprimir:

2 ** 3 ==      8
2 ** 3 ** 2 == 512
a ==           8

use function and use const

The use operator has been extended to support importing functions and constants in addition to classes. This is achieved via the use function and use const constructs, respectively.

<?php
namespace Name\Space {
    const FOO = 42;
    function f() { echo __FUNCTION__."\n"; }
}

namespace {
    use const Name\Space\FOO;
    use function Name\Space\f;

    echo FOO."\n";
    f();
}
?>

O exemplo acima irá imprimir:

42
Name\Space\f

phpdbg

PHP now includes an interactive debugger called phpdbg implemented as a SAPI module. For more information, please visit the phpdbg documentation.

Default character encoding

default_charset is now used as the default character set for the htmlentities(), html_entity_decode() and htmlspecialchars() functions. Note that if the (now deprecated) iconv and mbstring encoding settings are set, they will take precedence over default_charset for iconv and mbstring functions, respectively.

The default value for this setting is UTF-8.

php://input is reusable

php://input may now be reopened and read as many times as required. This work has also resulted in a major reduction in the amount of memory required to deal with POST data.

Large file uploads

Files larger than 2 gigabytes in size are now accepted.

GMP supports operator overloading

GMP objects now support operator overloading and casting to scalar types. This allows for more expressive code using GMP:

<?php
$a = gmp_init(42);
$b = gmp_init(17);

if (version_compare(PHP_VERSION, '5.6', '<')) {
    echo gmp_intval(gmp_add($a, $b)), PHP_EOL;
    echo gmp_intval(gmp_add($a, 17)), PHP_EOL;
    echo gmp_intval(gmp_add(42, $b)), PHP_EOL;
} else {
    echo $a + $b, PHP_EOL;
    echo $a + 17, PHP_EOL;
    echo 42 + $b, PHP_EOL;
}
?>

O exemplo acima irá imprimir:

59
59
59

hash_equals() for timing attack safe string comparison

The hash_equals() function has been added to compare two strings in constant time. This should be used to mitigate timing attacks; for instance, when testing crypt() password hashes (assuming that you are unable to use password_hash() and password_verify(), which aren't susceptible to timing attacks).

<?php
$expected  = crypt('12345', '$2a$07$usesomesillystringforsalt$');
$correct   = crypt('12345', '$2a$07$usesomesillystringforsalt$');
$incorrect = crypt('1234',  '$2a$07$usesomesillystringforsalt$');

var_dump(hash_equals($expected, $correct));
var_dump(hash_equals($expected, $incorrect));
?>

O exemplo acima irá imprimir:

bool(true)
bool(false)

__debugInfo()

The __debugInfo() magic method has been added to allow objects to change the properties and values that are shown when the object is output using var_dump().

<?php
class C {
    private $prop;

    public function __construct($val) {
        $this->prop = $val;
    }

    public function __debugInfo() {
        return [
            'propSquared' => $this->prop ** 2,
        ];
    }
}

var_dump(new C(42));
?>

O exemplo acima irá imprimir:

object(C)#1 (1) {
  ["propSquared"]=>
  int(1764)
}

gost-crypto hash algorithm

The gost-crypto hash algorithm has been added. This implements the GOST hash function using the CryptoPro S-box tables as specified by » RFC 4357, section 11.2.

SSL/TLS improvements

A wide range of improvements have been made to the SSL/TLS support in PHP 5.6. These include enabling peer verification by default, supporting certificate fingerprint matching, mitigating against TLS renegotiation attacks, and many new SSL context options to allow more fine grained control over protocol and verification settings when using encrypted streams.

These changes are described in more detail in the OpenSSL changes in PHP 5.6.x section of this migration guide.

pgsql async support

The pgsql extension now supports asynchronous connections and queries, thereby enabling non-blocking behaviour when interacting with PostgreSQL databases. Asynchronous connections may be established via the PGSQL_CONNECT_ASYNC constant, and the new pg_connect_poll(), pg_socket(), pg_consume_input() and pg_flush() functions may be used to handle asynchronous connections and queries.


Deprecated features in PHP 5.6.x

Calls from incompatible context

Methods called from an incompatible context are now deprecated, and will generate E_DEPRECATED errors when invoked instead of E_STRICT. Support for these calls will be removed in a future version of PHP.

An example of such a call is:

<?php
class A {
    function f() { echo get_class($this); }
}

class B {
    function f() { A::f(); }
}

(new B)->f();
?>

O exemplo acima irá imprimir:

Deprecated: Non-static method A::f() should not be called statically, assuming $this from incompatible context in - on line 7
B

$HTTP_RAW_POST_DATA and always_populate_raw_post_data

always_populate_raw_post_data will now generate an E_DEPRECATED error when $HTTP_RAW_POST_DATA is populated. New code should use php://input instead of $HTTP_RAW_POST_DATA, which will be removed in a future release. You can opt in for the new behaviour (in which $HTTP_RAW_POST_DATA is never defined hence no E_DEPRECATED error will be generated) by setting always_populate_raw_post_data to -1.

iconv and mbstring encoding settings

The iconv and mbstring configuration options related to encoding have been deprecated in favour of default_charset. The deprecated options are:

  • iconv.input_encoding
  • iconv.output_encoding
  • iconv.internal_encoding
  • mbstring.http_input
  • mbstring.http_output
  • mbstring.internal_encoding


Changed functions

PHP Core

  • crypt() will now raise an E_NOTICE error if the salt parameter is omitted.
  • substr_compare() will now accept 0 for its length parameter.
  • unserialize() will now fail if passed serialised data that has been manipulated to attempt to instantiate an object without calling its constructor.

cURL

  • Uploads using the @file syntax are now only supported if the CURLOPT_SAFE_UPLOAD option is set to false. CURLFile should be used instead.

Mcrypt

  • The source parameter of mcrypt_create_iv() now defaults to MCRYPT_DEV_URANDOM instead of MCRYPT_DEV_RANDOM.

OpenSSL

  • stream_socket_enable_crypto() now allows the crypto_type parameter to be optional if the stream's SSL context includes the new crypto_type option.

PostgreSQL

  • pg_insert(), pg_select(), pg_update() and pg_delete() are no longer experimental.
  • pg_send_execute(), pg_send_prepare(), pg_send_query() and pg_send_query_params() will no longer block until query write completion if the underlying socket stream for the database connection is set to non-blocking mode.

Reflection

  • ReflectionClass::newInstanceWithoutConstructor() now allows non-final internal classes to be instantiated.

XMLReader

  • XMLReader::getAttributeNs() and XMLReader::getAttributeNo() now return null if the attribute could not be found, like XMLReader::getAttribute().


New functions

Date and Time

  • DateTimeImmutable::createFromMutable()

GMP

  • gmp_root()
  • gmp_rootrem()

Hash

  • hash_equals()

LDAP

  • ldap_escape()
  • ldap_modify_batch()

MySQLi

  • mysqli_get_links_stats()

OCI8

  • oci_get_implicit_resultset()

OpenSSL

  • openssl_get_cert_locations()
  • openssl_x509_fingerprint()
  • openssl_spki_new()
  • openssl_spki_verify()
  • openssl_spki_export_challenge()
  • openssl_spki_export()

PostgreSQL

  • pg_connect_poll()
  • pg_consume_input()
  • pg_flush()
  • pg_socket()

PDO_PGSQL

  • PDO::pgsqlGetNotify()
  • PDO::pgsqlGetPid()

Session

  • session_abort()
  • session_reset()

Zip

  • ZipArchive::setPassword()


OpenSSL changes in PHP 5.6.x

Stream wrappers now verify peer certificates and host names by default when using SSL/TLS

Todos os streams criptografados agora tem verificação de peer ativado por padrão. Assim, a coleção de CAs padrão do OpenSSL será utilizado para verificar o certificado do peer. Na maioria dos casos, não será necessário modificações para se comunicar com servidores com certificados válidos pois as distribuições geralmente configuram o OpenSSL com boas coleções de CA.

A coleção de CAs padrão pode ser substituída globalmente configurando-se as diretivas openssl.cafile ou openssl.capath, ou por requisição utilizando-se as ações cafile ou capath no parâmetro contexto.

Embora não recomendado no geral, é possível desabilitar a verificação de certificado do peer numa requisição configurando-se a opção de contexto verify_peer para false, e até desabilitar a verificação do nome do peer configurando-se a opção verify_peer_name para false false.

Certificate fingerprints

Support has been added for extracting and verifying certificate fingerprints. openssl_x509_fingerprint() has been added to extract a fingerprint from an X.509 certificate, and two SSL stream context options have been added: capture_peer_cert to capture the peer's X.509 certificate, and peer_fingerprint to assert that the peer's certificate should match the given fingerprint.

Default ciphers updated

The default ciphers used by PHP have been updated to a more secure list based on the » Mozilla cipher recommendations, with two additional exclusions: anonymous Diffie-Hellman ciphers, and RC4.

This list can be accessed via the new OPENSSL_DEFAULT_STREAM_CIPHERS constant, and can be overridden (as in previous PHP versions) by setting the ciphers context option.

Compression disabled by default

SSL/TLS compression has been disabled by default to mitigate the CRIME attack. PHP 5.4.13 added a disable_compression context option to allow compression to be disabled: this is now set to true (that is, compression is disabled) by default.

Allow servers to prefer their cipher order

The honor_cipher_order SSL context option has been added to allow encrypted stream servers to mitigate BEAST vulnerabilities by preferring the server's ciphers to the client's.

Access the negotiated protocol and cipher

The protocol and cipher that were negotiated for an encrypted stream can now be accessed via stream_get_meta_data() or stream_context_get_options() when the capture_session_meta SSL context option is set to true.

<?php
$ctx = stream_context_create(['ssl' => [
    'capture_session_meta' => TRUE
]]);

$html = file_get_contents('https://google.com/', FALSE, $ctx);
$meta = stream_context_get_options($ctx)['ssl']['session_meta'];
var_dump($meta);
?>

O exemplo acima irá imprimir:

array(4) {
  ["protocol"]=>
  string(5) "TLSv1"
  ["cipher_name"]=>
  string(20) "ECDHE-RSA-AES128-SHA"
  ["cipher_bits"]=>
  int(128)
  ["cipher_version"]=>
  string(11) "TLSv1/SSLv3"
}

New options for perfect forward secrecy in encrypted stream servers

Encrypted client streams already support perfect forward secrecy, as it is generally controlled by the server. PHP encrypted server streams using certificates capable of perfect forward secrecy do not need to take any additional action to enable PFS; however a number of new SSL context options have been added to allow more control over PFS and deal with any compatibility issues that may arise.

ecdh_curve

This option allows the selection of a specific curve for use with ECDH ciphers. If not specified, prime256v1 will be used.

dh_param

A path to a file containing parametrs for Diffie-Hellman key exchange, such as that created by the following command:

openssl dhparam -out /path/to/my/certs/dh-2048.pem 2048
single_dh_use

If set to true, a new key pair will be created when using Diffie-Hellman parameters, thereby improving forward secrecy.

single_ecdh_use

If set to true, a new key pair will always be generated when ECDH cipher suites are negotiated. This improves forward secrecy.

SSL/TLS version selection

It is now possible to select specific versions of SSL and TLS via the crypto_method SSL context option or by specifying a specific transport when creating a stream wrapper (for example, by calling stream_socket_client() or stream_socket_server()).

The crypto_method SSL context option accepts a bitmask enumerating the protocols that are permitted, as does the crypto_type of stream_socket_enable_crypto().

Selected protocol versions and corresponding options
Protocol(s) | Client flag | Server flag | Transport
Any TLS or SSL version | STREAM_CRYPTO_METHOD_ANY_CLIENT | STREAM_CRYPTO_METHOD_ANY_SERVER | ssl://
Any TLS version | STREAM_CRYPTO_METHOD_TLS_CLIENT | STREAM_CRYPTO_METHOD_TLS_SERVER | tls://
TLS 1.0 | STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_0_SERVER | tlsv1.0://
TLS 1.1 | STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_1_SERVER | tlsv1.1://
TLS 1.2 | STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_2_SERVER | tlsv1.2://
SSL 3 | STREAM_CRYPTO_METHOD_SSLv3_CLIENT | STREAM_CRYPTO_METHOD_SSLv3_SERVER | sslv3://
<?php

// Requiring TLS 1.0 or better when using file_get_contents():
$ctx = stream_context_create([
    'ssl' => [
        'crypto_method' => STREAM_CRYPTO_METHOD_TLS_CLIENT,
    ],
]);
$html = file_get_contents('https://google.com/', false, $ctx);

// Requiring TLS 1.1 or 1.2:
$ctx = stream_context_create([
    'ssl' => [
        'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT |
                           STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
    ],
]);
$html = file_get_contents('https://google.com/', false, $ctx);

// Connecting using the tlsv1.2:// stream socket transport.
$sock = stream_socket_client('tlsv1.2://google.com:443/');

?>

openssl_get_cert_locations() added

The openssl_get_cert_locations() function has been added: it returns the default locations PHP will search when looking for CA bundles.

<?php
var_dump(openssl_get_cert_locations());
?>

O exemplo acima irá imprimir:

array(8) {
  ["default_cert_file"]=>
  string(21) "/etc/pki/tls/cert.pem"
  ["default_cert_file_env"]=>
  string(13) "SSL_CERT_FILE"
  ["default_cert_dir"]=>
  string(18) "/etc/pki/tls/certs"
  ["default_cert_dir_env"]=>
  string(12) "SSL_CERT_DIR"
  ["default_private_dir"]=>
  string(20) "/etc/pki/tls/private"
  ["default_default_cert_area"]=>
  string(12) "/etc/pki/tls"
  ["ini_cafile"]=>
  string(0) ""
  ["ini_capath"]=>
  string(0) ""
}

SPKI support

Support has been added for generating, extracting and verifying signed public key and challenges (SPKAC). openssl_spki_new(), openssl_spki_verify(), openssl_spki_export_challenge(), and openssl_spki_export() have been added to create, verify export PEM public key and associated challenge from SPKAC's generated from a KeyGen HTML5 element.

openssl_spki_new

Generates a new SPKAC using private key, challenge string and hashing algorithm.

<?php
$pkey = openssl_pkey_new();
openssl_pkey_export($pkey, 'secret passphrase');

$spkac = openssl_spki_new($pkey, 'challenge string');
?>

O exemplo acima irá imprimir:

SPKAC=MIIBXjCByDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA3L0IfUijj7+A8CPC8EmhcdNoe5fUAog7OrBdhn7EkxFButUp40P7+LiYiygYG1TmoI/a5EgsLU3s9twEz3hmgY9mYIqb/rb+SF8qlD/K6KVyUORC7Wlz1Df4L8O3DuRGzx6/+3jIW6cPBpfgH1sVuYS1vDBsP/gMMIxwTsKJ4P0CAwEAARYkYjViMzYxMTktNjY5YS00ZDljLWEyYzctMGZjNGFhMjVlMmE2MA0GCSqGSIb3DQEBAwUAA4GBAF7hu0ifzmjonhAak2FhhBRsKFDzXdKIkrWxVNe8e0bZzMrWOxFM/rqBgeH3/gtOUDRS5Fnzyq425UsTYbjfiKzxGeCYCQJb1KJ2V5Ij/mIJHZr53WYEXHQTNMGR8RPm7IxwVXVSHIgAfXsXZ9IXNbFbcaLRiSTr9/N4U+MXUWL7
openssl_spki_verify

Verifies provided SPKAC.

<?php
$pkey = openssl_pkey_new();
openssl_pkey_export($pkey, 'secret passphrase');

$spkac = openssl_spki_new($pkey, 'challenge string');
var_dump(openssl_spki_verify($spkac));
?>
openssl_spki_export_challenge

Exports associated challenge from provided SPKAC.

<?php
$pkey = openssl_pkey_new();
openssl_pkey_export($pkey, 'secret passphrase');

$spkac = openssl_spki_new($pkey, 'challenge string');
$challenge = openssl_spki_export_challenge($spkac):
echo $challenge;
?>

O exemplo acima irá imprimir:

challenge string
openssl_spki_export

Exports the PEM formatted RSA public key from SPKAC.

<?php
$pkey = openssl_pkey_new();
openssl_pkey_export($pkey, 'secret passphrase');

$spkac = openssl_spki_new($pkey, 'challenge string');
echo openssl_spki_export($spkac);
?>

O exemplo acima irá imprimir:

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcvQh9SKOPv4DwI8LwSaFx02h7
l9QCiDs6sF2GfsSTEUG61SnjQ/v4uJiLKBgbVOagj9rkSCwtTez23ATPeGaBj2Zg
ipv+tv5IXyqUP8ropXJQ5ELtbXPUN/gvw7cO5EbPHr/7eMhbpw8Gl+AfWxW5hLW8
MGw/+AwwjHBOwong/QIDAQAB
-----END PUBLIC KEY-----


Other changes to extensions

cURL

A number of constants marked obsolete in the cURL library have now been removed:

  • CURLOPT_CLOSEPOLICY
  • CURLCLOSEPOLICY_CALLBACK
  • CURLCLOSEPOLICY_LEAST_RECENTLY_USED
  • CURLCLOSEPOLICY_LEAST_TRAFFIC
  • CURLCLOSEPOLICY_OLDEST
  • CURLCLOSEPOLICY_SLOWEST

OCI8

  • Support for implicit result sets for Oracle Database 12c has been added via the new oci_get_implicit_resultset() function.
  • Using oci_execute($s, OCI_NO_AUTO_COMMIT) for a SELECT no longer unnecessarily initiates an internal ROLLBACK during connection close.
  • Added DTrace probes controlled by the --enable-dtrace configure option.
  • oci_internal_debug() is now a no-op.
  • The phpinfo() output format for OCI8 has changed.

Zip

A --with-libzip configure option has been added to use a system libzip installation. libzip version 0.11 is required, with 0.11.2 or later recommended.

MySQLi

A new mysqli.rollback_on_cached_plink option was added, which controls the rollback behavior of persistent connections.


Novas constantes globais

GD

  • IMG_WEBP (a partir do PHP 5.6.25)

LDAP

  • LDAP_ESCAPE_DN
  • LDAP_ESCAPE_FILTER

OpenSSL

  • OPENSSL_DEFAULT_STREAM_CIPHERS
  • STREAM_CRYPTO_METHOD_ANY_CLIENT
  • STREAM_CRYPTO_METHOD_ANY_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_0_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_1_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_2_SERVER

PostgreSQL

  • PGSQL_CONNECT_ASYNC
  • PGSQL_CONNECTION_AUTH_OK
  • PGSQL_CONNECTION_AWAITING_RESPONSE
  • PGSQL_CONNECTION_MADE
  • PGSQL_CONNECTION_SETENV
  • PGSQL_CONNECTION_SSL_STARTUP
  • PGSQL_CONNECTION_STARTED
  • PGSQL_DML_ESCAPE
  • PGSQL_POLLING_ACTIVE
  • PGSQL_POLLING_FAILED
  • PGSQL_POLLING_OK
  • PGSQL_POLLING_READING
  • PGSQL_POLLING_WRITING


  • « Novas constantes globais
  • Sobre o debugador em PHP »
  • PHP Manual
  • Apêndices
  • Debugging in PHP

Debugging in PHP

Índice

  • Sobre o debugador em PHP


Sobre o debugador em PHP

O PHP vem equipado com o debugador interativo phpdbg. Você pode usar um debugador externo. O » Zend IDE inclui um debugger, e também existem algumas extensões de debug grátis como o DBG em » http://www.php-debugger.com/dbg/, o » Advanced PHP Debugger (APD) ou » Xdebug.


  • « Sobre o debugador em PHP
  • Lista de opções do script configure »
  • PHP Manual
  • Apêndices
  • Opções do script Configure

Opções do script Configure

Índice

  • Lista de opções do script configure


Lista de opções do script configure

Abaixo está a lista parcial das opções do script configure usado pelo PHP quando compilando o mesmo em ambientes Unix-like. A maioria das opções de configuração está listada na página de referência da extensão e não aqui. Para uma lista atualizada e completa das opções do script configure, execute ./configure --help no diretórios dos fontes do PHP após executar autoconf (veja também o capítulo de Instalação). Você pode também se interessar em ler a documentação do » GNU configure para obter informações em opções adicionais do configure tais como --prefix=PREFIX.

Nota:

Essas opções são utilizadas apenas em tempo de compilação. Se você quiser alterar a configuração do PHP em tempo de execução, por favor, veja o capítulo de Configuração em tempo de execução.

  • Miscelânea
  • Comportamento do PHP
  • Servidor

Opções do Configuração do PHP

Opções Mistas

--enable-debug

Compila com símbolos para depuração.

--with-layout=TYPE

Configura a disposição dos arquivos instalados. TYPE pode ser PHP (padrão) ou GNU.

--with-pear=DIR

Instala o PEAR em DIR (padrão é PREFIX/lib/php).

--without-pear

Não instala o PEAR.

--enable-sigchild

Permite que o PHP tenha um tratador de SIGCHLD próprio.

--disable-rpath

Desabilita passagem de caminhos adicionais aonde buscar por bibliotecas em tempo de execução.

--enable-libgcc

Habilita montar explicitamente com a libgcc.

--enable-php-streams

Inclue fluxos de dados (streams) experimentais do PHP. Não use a não ser que esteja testando o código!

--with-zlib-dir[=DIR]

Define a localização do diretório onde a zlib está instalada.

--with-tsrm-pthreads

Use threads POSIX (padrão).

--enable-shared[=PKGS]

Monta bibliotecas compartilhadas [padrão=yes].

--enable-static[=PKGS]

Monta bibliotecas estáticas [padrão=yes].

--enable-fast-install[=PKGS]

Optimiza para instalação rápida [padrão=yes].

--with-gnu-ld

Presume que o compilador C usa o GNU ld [padrão=no].

--disable-libtool-lock

Evita travamento (pode quebrar compilações rodando em paralelo).

--with-pic

Tenta usar apenas objetos PIC/não-PIC [padrão=use both].

--enable-memory-limit

Compila com suporte a limite de memória. (não disponível desde o PHP 5.2.1 - sempre habilitado)

--disable-url-fopen-wrapper

Desabilita o wrapper da função fopen que permite acessar arquivos via HTTP ou FTP. (não disponível desde o PHP 5.2.5)

--enable-versioning

Exporta apenas os símbolos necessários. Veja o arquivo INSTALL para mais informações.

Opções do PHP

--enable-maintainer-mode

Habilita criar regras e dependências que não são úteis (e algumas vezes confusas) para o instalador casual.

--with-config-file-path=PATH

Edita o caminho no qual deve procurar pelo arquivo php.ini, padrão é PREFIX/lib.

--enable-safe-mode

Habilita o modo seguro por padrão.

Aviso

Esta funcionalidade tornou-se OBSOLETA desde o PHP 5.3.0 e foi REMOVIDA desde o PHP 5.4.0.

--with-exec-dir[=DIR]

Apenas permite executáveis no DIR quando em modo seguro. Padrão é /usr/local/php/bin.

Aviso

Esta funcionalidade tornou-se OBSOLETA desde o PHP 5.3.0 e foi REMOVIDA desde o PHP 5.4.0.

--enable-magic-quotes

Habilita aspas mágicas por padrão.

Aviso

Esta funcionalidade tornou-se OBSOLETA desde o PHP 5.3.0 e foi REMOVIDA desde o PHP 5.4.0.

--disable-short-tags

Desabilita a forma comprimida de tag inicial <? por padrão.

--enable-zend-multibyte

Habilita código multibyte no parser e scanner da linguagem. Quando o PHP é compilado com esta opção, ela também irá habilitar a diretiva encoding no declare.

Aviso

Esta funcionalidade tornou-se OBSOLETA desde o PHP 5.3.0 e foi REMOVIDA desde o PHP 5.4.0.

--with-libdir

Especifica o diretório onde as bibliotecas necessárias para compilar o PHP se encontram em um sistema UNIX. Para sistemas 64bit, é necessário especificar o diretório lib64 desta forma: --with-libdir=lib64.

Opções SAPI

A lista a seguir contêm as SAPI&s (Server Application Programming Interface) para o PHP.

--with-apxs[=FILE]

Monta o módulo compartilhado do Apache. FILE é o caminho opcional para a ferramenta apxs do Apache; padrão é apxs. Assegure-se que você especificou a versão do apxs que está atualmente instalado no seu sistema e não a que está no diretório de fontes do Apache.

--with-apache[=DIR]

Monta o módulo estático do Apache. DIR é o diretório raíz do apache, sendo que o padrão é /usr/local/apache.

--with-mod_charset

Habilita as tabelas de transferência para o mod_charset (Apache Russo).

--with-apxs2[=FILE]

Monta o módulo compartilhado do Apache 2.0. FILE é o caminho opcional para a ferramenta apxs do Apache; sendo o padrão para o apxs.

--disable-cli

Para desabilitar a utilização do PHP na linha de comando (CLI) poderá utilizar a diretiva --without-pear). Para mais informações leia sobre Utilizando o PHP a partir da linha de comando (CLI)..

--enable-phpdbg

Ativa o debug interativo phpdbg (módulo SAPI) no PHP PHP 5.6 ou posteriores.

--enable-embed[=TYPE]

Habilita a instalação da biblioteca SAPI embutida. TYPE pode ser shared ou static, sendo o padrão shared.

--with-servlet[=DIR]

Inclue o suporte à servlet. DIR é o diretório base de instalação para a JSDK. Esse SAPI requer que a extensão java seja montada como uma dl compartilhada.

--disable-cgi

Desabilita a construção da versão CGI do PHP.

A partir do PHP 5.3.0 este parâmetro habilita o modo FastCGI que anteriormente era habilitado usando --enable-fastcgi.

--enable-force-cgi-redirect

Habilita a checagem de segurança nos redirecionamentos internos do servidor. Você deve usar isso se você estiver executando a versão CGI com o Apache.

A partir do PHP 5.3.0 este parâmetro é desativado por padrão e não existe mais. Para desativá-lo, a diretiva cgi.force_redirect deve ser marcada como 0.

--enable-discard-path

Se essa opção estiver habilitada, o binário CGI do PHP pode ser colocado com segurança fora da estrutura web e os usuários não serão capazes de evitar a segurança do .htaccess. (somente apache)

A partir do PHP 5.3.0 este parâmetro é desativado por padrão e não existe mais. Para ativá-lo, a diretiva cgi.discard_path deve ser marcada como 1.

--enable-fastcgi

Se essa opção estiver habilitada, o módulo CGI será montado com suporte para FastCGI também.

A partir do PHP 5.3.0 esse parâmetro não existe mais e é ativado por --enable-cgi.

--disable-path-info-check

Se essa opção estiver desabilitada, caminhos como /info.php/test?a=b não funcionarão. Para mais informações, leia o » Manual do Apache.

A partir do PHP 5.3.0, esse parâmetro é ativado por padrão e não existe mais. Para ativá-lo, a diretiva inicgi.fix_pathinfo deve ser setada para 0.


php.ini directives

Índice

  • Lista de diretivas do php.ini
  • Lista das seções do php.ini
  • Descrição das principais diretivas do php.ini


Lista de diretivas do php.ini

Esta lista inclui as diretivas do php.ini que você pode configurar na sua instalação PHP.

A coluna "Modificável" mostra os modos que determinam quando e onde uma diretiva pode ser definida. Veja a seção valores modificáveis para as suas definições.

Opções de configuração
Nome | Padrão | Modificável | Changelog
allow_url_fopen | "1" | PHP_INI_SYSTEM |
allow_url_include | "0" | PHP_INI_SYSTEM | Obsoleto desde PHP 7.4.0.
arg_separator.input | "&" | PHP_INI_PERDIR |
arg_separator.output | "&" | PHP_INI_ALL |
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.exception | "0" | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
auto_append_file | NULL | PHP_INI_PERDIR |
auto_detect_line_endings | "0" | PHP_INI_ALL |
auto_globals_jit | "1" | PHP_INI_PERDIR |
auto_prepend_file | NULL | PHP_INI_PERDIR |
browscap | NULL | PHP_INI_SYSTEM |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM |
cgi.discard_path | "0" | PHP_INI_SYSTEM |
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM |
cgi.force_redirect | "1" | PHP_INI_SYSTEM |
cgi.nph | "0" | PHP_INI_ALL |
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM |
cgi.rfc2616_headers | "0" | PHP_INI_ALL |
child_terminate | "0" | PHP_INI_ALL |
com.allow_dcom | "0" | PHP_INI_SYSTEM |
com.autoregister_typelib | "0" | PHP_INI_ALL |
com.autoregister_verbose | "0" | PHP_INI_ALL |
com.autoregister_casesensitive | "1" | PHP_INI_ALL |
com.code_page | "" | PHP_INI_ALL |
com.dotnet_version | "" | PHP_INI_SYSTEM | As of PHP 8.0.0
com.typelib_file | "" | PHP_INI_SYSTEM |
dba.default_handler | DBA_DEFAULT | PHP_INI_ALL |
default_charset | "UTF-8" | PHP_INI_ALL | Padrão para "UTF-8".
default_mimetype | "text/html" | PHP_INI_ALL |
default_socket_timeout | "60" | PHP_INI_ALL |
disable_classes | "" | Somente no php.ini |
disable_functions | "" | Somente no php.ini |
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL |
docref_ext | "" | PHP_INI_ALL |
docref_root | "" | PHP_INI_ALL |
doc_root | NULL | PHP_INI_SYSTEM |
enable_dl | "1" | PHP_INI_SYSTEM | Esta funcionalidade obsoleta será certamente removida no futuro.
enable_post_data_reading | On | PHP_INI_PERDIR |
engine | "1" | PHP_INI_ALL |
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
error_prepend_string | NULL | PHP_INI_ALL |
error_reporting | NULL | PHP_INI_ALL |
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL |
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL |
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL |
exif.encode_jis | "" | PHP_INI_ALL |
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL |
exif.decode_jis_intel | "JIS" | PHP_INI_ALL |
exit_on_timeout | "" | PHP_INI_ALL | Disponível desde PHP 5.3.0
expect.timeout | "10" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.logfile | "" | PHP_INI_ALL |
expect.match_max | "" | PHP_INI_ALL |
expose_php | "1" | Somente no php.ini |
extension | NULL | Somente no php.ini |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM |
fastcgi.logging | "1" | PHP_INI_SYSTEM |
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM |
fbsql.autocommit | "1" | PHP_INI_SYSTEM |
fbsql.batchsize | "1000" | PHP_INI_ALL |
fbsql.default_database | "" | PHP_INI_SYSTEM |
fbsql.default_database_password | "" | PHP_INI_SYSTEM |
fbsql.default_host | NULL | PHP_INI_SYSTEM |
fbsql.default_password | "" | PHP_INI_SYSTEM |
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM |
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM |
fbsql.max_connections | "128" | PHP_INI_SYSTEM |
fbsql.max_links | "128" | PHP_INI_SYSTEM |
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM |
fbsql.max_results | "128" | PHP_INI_SYSTEM |
fbsql.show_timestamp_decimals | "0" | PHP_INI_SYSTEM |
file_uploads | "1" | PHP_INI_SYSTEM |
from | "" | PHP_INI_ALL |
geoip.custom_directory | "" | PHP_INI_ALL |
hard_timeout | "2" | PHP_INI_SYSTEM | Disponível desde PHP 7.1.0.
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL |
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_all_pconnect | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.6.5.
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.5.0.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Available since ibm_db2 1.0.2.
ibm_db2.i5_ignore_userid | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.8.0.
iconv.input_encoding | "" | PHP_INI_ALL | Deprecated in PHP 5.6.0.
iconv.output_encoding | "" | PHP_INI_ALL | Deprecated in PHP 5.6.0.
iconv.internal_encoding | "" | PHP_INI_ALL | Deprecated in PHP 5.6.0.
ignore_repeated_errors | "0" | PHP_INI_ALL |
ignore_repeated_source | "0" | PHP_INI_ALL |
ignore_user_abort | "0" | PHP_INI_ALL |
implicit_flush | "0" | PHP_INI_ALL |
include_path | ".:/path/to/php/pear" | PHP_INI_ALL |
intl.default_locale |  | PHP_INI_ALL |
intl.error_level | 0 | PHP_INI_ALL |
intl.use_exceptions | 0 | PHP_INI_ALL | Available since PHP 5.5 and PECL 3.0.0a1
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Available since ingres 1.0.0
ingres.array_index_start | "1" | PHP_INI_ALL | Available since ingres 1.4.0.
ingres.auto | "1" | PHP_INI_ALL | Available since ingres 2.0.0.
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Available since ingres 1.2.0.
ingres.cursor_mode | "0" | PHP_INI_ALL | Available since ingres 1.1.0.
ingres.default_database | NULL | PHP_INI_ALL | Available since ingres 1.0.0
ingres.default_password | NULL | PHP_INI_ALL | Available since ingres 1.0.0
ingres.default_user | NULL | PHP_INI_ALL | Available since ingres 1.0.0
ingres.describe | 1 | PHP_INI_ALL | Available since ingres 2.1.0
ingres.fetch_buffer_size | 100 | PHP_INI_ALL | Available since ingres 2.1.0
ingres.max_links | "-1" | PHP_INI_SYSTEM | Available since ingres 1.0.0
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Available since ingres 1.0.0
ingres.reuse_connection | "1" | PHP_INI_ALL | Available since ingres 2.0.0
ingres.scrollable | "1" | PHP_INI_ALL | Available since ingres 2.0.0.
ingres.trace | "0" | PHP_INI_ALL | Available since ingres 2.0.0.
ingres.trace_connect | "0" | PHP_INI_ALL | Available since ingres 1.2.1.
ingres.utf8 | "1" | PHP_INI_ALL | Available since ingres 2.0.0.
last_modified | "0" | PHP_INI_ALL |
ldap.max_links | "-1" | PHP_INI_SYSTEM |
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL |
mail.add_x_header | "0" | PHP_INI_PERDIR |
mail.force_extra_parameters | NULL | Somente no php.ini |
mail.log | "" | PHP_INI_PERDIR |
max_execution_time | "30" | PHP_INI_ALL |
max_input_nesting_level | "64" | PHP_INI_PERDIR |
max_input_vars | 1000 | PHP_INI_PERDIR |
max_input_time | "-1" | PHP_INI_PERDIR |
mbstring.language | "neutral" | PHP_INI_ALL | PHP_INI_PERDIR in PHP <= 5.2.6.
mbstring.detect_order | NULL | PHP_INI_ALL |
mbstring.http_input | "pass" | PHP_INI_ALL | Deprecated in PHP 5.6.0.
mbstring.http_output | "pass" | PHP_INI_ALL | Deprecated in PHP 5.6.0.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Deprecated in PHP 5.6.0.
mbstring.script_encoding | NULL | PHP_INI_ALL | Removed in PHP 5.4.0. Use zend.script_encoding instead.
mbstring.substitute_character | NULL | PHP_INI_ALL |
mbstring.func_overload | "0" | PHP_INI_SYSTEM | PHP_INI_PERDIR in PHP <= 5.2.6. Deprecated as of PHP 7.2.0; removed as of PHP 8.0.0.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR |
mbstring.http_output_conv_mimetypes | "^(text/|application/xhtml\+xml)" | PHP_INI_ALL | Available as of PHP 5.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Available as of PHP 5.1.2.
mcrypt.algorithms_dir | null | PHP_INI_ALL |
mcrypt.modes_dir | null | PHP_INI_ALL |
memcache.allow_failover | "1" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Available since memcache 2.1.0.
memcache.chunk_size | "8192" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Available since memcache 2.2.0.
memcache.hash_function | "crc32" | PHP_INI_ALL | Available since memcache 2.2.0.
session.save_handler | "files" | PHP_INI_ALL | Supported since memcache 2.1.2
session.save_path | "" | PHP_INI_ALL | Supported since memcache 2.1.2
memcache.protocol | ascii | >PHP_INI_ALL | Supported since memcache 3.0.0
memcache.redundancy | 1 | >PHP_INI_ALL | Supported since memcache 3.0.0
memcache.session_redundancy | 2 | >PHP_INI_ALL | Supported since memcache 3.0.0
memcache.compress_threshold | 20000 | >PHP_INI_ALL | Supported since memcache 3.0.3
memcache.lock_timeout | 15 | >PHP_INI_ALL | Supported since memcache 3.0.4
memory_limit | "128M" | PHP_INI_ALL |
mongo.allow_empty_keys | 0 | PHP_INI_ALL |
mongo.allow_persistent | 1 | PHP_INI_ALL | Removed in 1.2.0
mongo.chunk_size | 262144 | PHP_INI_ALL |
mongo.cmd | "$" | PHP_INI_ALL |
mongo.default_host | "localhost" | PHP_INI_ALL |
mongo.default_port | 27017 | PHP_INI_ALL |
mongo.is_master_interval | 15 | PHP_INI_ALL | Added in 1.2.10, before 1.3.0 the default value was 60.
mongo.long_as_object | 0 | PHP_INI_ALL |
mongo.native_long | 1 | PHP_INI_ALL | Before 1.5.0, the default value was 0.
mongo.ping_interval | 5 | PHP_INI_ALL | Added in 1.2.10
mongo.utf8 | 1 | PHP_INI_ALL |
mysql.allow_local_infile | "1" | PHP_INI_SYSTEM |
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL | Disponível desde o PHP 4.3.0.
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | Disponível desde o PHP 4.0.1.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP_INI_SYSTEM no PHP <= 4.3.2. Disponível desde o PHP 4.3.0.
mysqli.allow_local_infile | "0" | PHP_INI_SYSTEM | Disponível desde o PHP 5.2.4. Antes do PHP 7.2.16 e 7.3.3 o padrão era "1".
mysqli.local_infile_directory |  | PHP_INI_SYSTEM |
mysqli.allow_persistent | "1" | PHP_INI_SYSTEM | Disponível desde o PHP 5.3.0.
mysqli.max_persistent | "-1" | PHP_INI_SYSTEM | Disponível desde o PHP 5.3.0.
mysqli.max_links | "-1" | PHP_INI_SYSTEM |
mysqli.default_port | "3306" | PHP_INI_ALL |
mysqli.default_socket | NULL | PHP_INI_ALL |
mysqli.default_host | NULL | PHP_INI_ALL |
mysqli.default_user | NULL | PHP_INI_ALL |
mysqli.default_pw | NULL | PHP_INI_ALL |
mysqli.reconnect | "0" | PHP_INI_SYSTEM |
mysqli.rollback_on_cached_plink | TRUE | PHP_INI_SYSTEM | Disponível desde o PHP 5.6.0.
mysqlnd.collect_statistics | "1" | PHP_INI_SYSTEM |
mysqlnd.collect_memory_statistics | "0" | PHP_INI_SYSTEM |
mysqlnd.debug | "" | PHP_INI_SYSTEM |
mysqlnd.log_mask | 0 | PHP_INI_ALL |
mysqlnd.mempool_default_size | 16000 | PHP_INI_ALL |
mysqlnd.net_read_timeout | "86400" | PHP_INI_ALL | Before PHP 7.2.0 the default value was "31536000" and the changeability was PHP_INI_SYSTEM
mysqlnd.net_cmd_buffer_size | "4096" | PHP_INI_SYSTEM |
mysqlnd.net_read_buffer_size | "32768" | PHP_INI_SYSTEM |
mysqlnd.sha256_server_public_key | "" | PHP_INI_PERDIR |
mysqlnd.trace_alloc | "" | PHP_INI_SYSTEM |
mysqlnd.fetch_data_copy | 0 | PHP_INI_ALL |
mysqlnd_memcache.enable | 1 | PHP_INI_SYSTEM | Available since 1.0.0
mysqlnd_ms.enable | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.force_config_usage | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.ini_file | "" | PHP_INI_SYSTEM |
mysqlnd_ms.config_file | "" | PHP_INI_SYSTEM |
mysqlnd_ms.collect_statistics | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.multi_master | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.disable_rw_split | 0 | PHP_INI_SYSTEM |
mysqlnd_mux.enable | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.enable_qc | 1 | PHP_INI_SYSTEM |
mysqlnd_qc.ttl | 30 | PHP_INI_ALL |
mysqlnd_qc.cache_by_default | 0 | PHP_INI_ALL |
mysqlnd_qc.cache_no_table | 0 | PHP_INI_ALL |
mysqlnd_qc.use_request_time | 0 | PHP_INI_ALL |
mysqlnd_qc.time_statistics | 1 | PHP_INI_ALL |
mysqlnd_qc.collect_statistics | 0 | PHP_INI_ALL |
mysqlnd_qc.collect_statistics_log_file | /tmp/mysqlnd_qc.stats | PHP_INI_SYSTEM |
mysqlnd_qc.collect_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.query_trace_bt_depth | 3 | PHP_INI_SYSTEM |
mysqlnd_qc.collect_normalized_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.ignore_sql_comments | 1 | PHP_INI_ALL |
mysqlnd_qc.slam_defense | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.slam_defense_ttl | 30 | PHP_INI_SYSTEM |
mysqlnd_qc.std_data_copy | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.apc_prefix | qc_ | PHP_INI_ALL |
mysqlnd_qc.memc_server | 127.0.0.1 | PHP_INI_ALL |
mysqlnd_qc.memc_port | 11211 | PHP_INI_ALL |
mysqlnd_qc.sqlite_data_file | :memory: | PHP_INI_ALL |
mysqlnd_uh.enable | 1 | PHP_INI_SYSTEM |
mysqlnd_uh.report_wrong_types | 1 | PHP_INI_ALL |
oci8.connection_class | "" | PHP_INI_ALL | Available since PHP 5.3 (PECL OCI8 1.3).
oci8.default_prefetch | "100" | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).
oci8.events | Off | PHP_INI_SYSTEM | Available since PHP 5.3 (PECL OCI8 1.3).
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).
oci8.old_oci_close_semantics | Off | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).
oci8.privileged_connect | Off | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Available since PHP 5.1.2 (PECL OCI8 1.1).
opcache.enable | "1" | PHP_INI_ALL |
opcache.enable_cli | "0" | PHP_INI_SYSTEM | Between PHP 7.1.2 and 7.1.6 inclusive, the default was "1"
opcache.memory_consumption | "128" | PHP_INI_SYSTEM |
opcache.interned_strings_buffer | "8" | PHP_INI_SYSTEM |
opcache.max_accelerated_files | "10000" | PHP_INI_SYSTEM |
opcache.max_wasted_percentage | "5" | PHP_INI_SYSTEM |
opcache.use_cwd | "1" | PHP_INI_SYSTEM |
opcache.validate_timestamps | "1" | PHP_INI_ALL |
opcache.revalidate_freq | "2" | PHP_INI_ALL |
opcache.revalidate_path | "0" | PHP_INI_ALL |
opcache.save_comments | "1" | PHP_INI_SYSTEM |
opcache.fast_shutdown | "0" | PHP_INI_SYSTEM | Removed in PHP 7.2.0
opcache.enable_file_override | "0" | PHP_INI_SYSTEM |
opcache.optimization_level | "0x7FFEBFFF" | PHP_INI_SYSTEM | Changed from 0x7FFFBFFF in PHP 7.3.0
opcache.inherited_hack | "1" | PHP_INI_SYSTEM | Removed in PHP 7.3.0
opcache.dups_fix | "0" | PHP_INI_ALL |
opcache.blacklist_filename | "" | PHP_INI_SYSTEM |
opcache.max_file_size | "0" | PHP_INI_SYSTEM |
opcache.consistency_checks | "0" | PHP_INI_ALL |
opcache.force_restart_timeout | "180" | PHP_INI_SYSTEM |
opcache.error_log | "" | PHP_INI_SYSTEM |
opcache.log_verbosity_level | "1" | PHP_INI_SYSTEM |
opcache.preferred_memory_model | "" | PHP_INI_SYSTEM |
opcache.protect_memory | "0" | PHP_INI_SYSTEM |
opcache.mmap_base | null | PHP_INI_SYSTEM |
opcache.restrict_api | "" | PHP_INI_SYSTEM |
opcache.file_update_protection | "2" | PHP_INI_ALL |
opcache.huge_code_pages | "0" | PHP_INI_SYSTEM |
opcache.lockfile_path | "/tmp" | PHP_INI_SYSTEM |
opcache.opt_debug_level | "0" | PHP_INI_SYSTEM | Available as of PHP 7.1.0
opcache.file_cache | NULL | PHP_INI_SYSTEM |
opcache.file_cache_only | "0" | PHP_INI_SYSTEM |
opcache.file_cache_consistency_checks | "1" | PHP_INI_SYSTEM |
opcache.file_cache_fallback | "1" | PHP_INI_SYSTEM | Windows only.
opcache.validate_permission | "0" | PHP_INI_SYSTEM | Available as of PHP 7.0.14
opcache.validate_root | "0" | PHP_INI_SYSTEM | Available as of PHP 7.0.14
opcache.preload | "" | PHP_INI_SYSTEM | Available as of PHP 7.4.0
opcache.preload_user | "" | PHP_INI_SYSTEM | Available as of PHP 7.4.0
opcache.cache_id | "" | PHP_INI_SYSTEM | Windows only. Available as of PHP 7.4.0
opcache.jit | "tracing" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_buffer_size | "0" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_debug | "0" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_bisect_limit | "0" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_prof_threshold | "0.005" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_root_traces | "1024" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_max_side_traces | "128" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_max_exit_counters | "8192" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_loop | "64" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_func | "127" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_return | "8" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_side_exit | "8" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_blacklist_root_trace | "16" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_blacklist_side_trace | "8" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_loop_unrolls | "8" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_recursive_calls | "2" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_recursive_returns | "2" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_polymorphic_calls | "2" | PHP_INI_ALL | Available as of PHP 8.0.0
open_basedir | NULL | PHP_INI_ALL |
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR |
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Available since PHP 5.1.0.
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Available since PHP 5.1.1. Esta funcionalidade obsoleta será certamente removida no futuro.
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
phar.cache_list | "" | PHP_INI_SYSTEM |
post_max_size | "8M" | PHP_INI_PERDIR |
precision | "14" | PHP_INI_ALL |
realpath_cache_size | "16K" | PHP_INI_SYSTEM |
realpath_cache_ttl | "120" | PHP_INI_SYSTEM |
register_argc_argv | "1" | PHP_INI_PERDIR |
report_memleaks | "1" | PHP_INI_ALL |
report_zend_debug | "1" | PHP_INI_ALL |
request_order | "" | PHP_INI_PERDIR |
runkit.superglobal | "" | PHP_INI_PERDIR |
runkit.internal_override | "0" | PHP_INI_SYSTEM |
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |
serialize_precision | "-1" | PHP_INI_ALL | Antes do PHP 7.1.0, o valor padrão era 17.
short_open_tag | "1" | PHP_INI_PERDIR |
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL |
soap.wsdl_cache_enabled | 1 | PHP_INI_ALL |
soap.wsdl_cache_dir | /tmp | PHP_INI_ALL |
soap.wsdl_cache_ttl | 86400 | PHP_INI_ALL |
soap.wsdl_cache | 1 | PHP_INI_ALL |
soap.wsdl_cache_limit | 5 | PHP_INI_ALL |
sql.safe_mode | "0" | PHP_INI_SYSTEM |
sqlite3.extension_dir | "" | PHP_INI_SYSTEM | Available as of PHP 5.3.11.
sqlite3.defensive | 1 | PHP_INI_SYSTEM | Available as of PHP 7.2.17 and 7.3.4 for libsqlite = 3.26.0.
syslog.facility | "LOG_USER" | PHP_INI_SYSTEM | Disponível desde o PHP 7.3.0.
syslog.filter | "no-ctrl" | PHP_INI_ALL | Disponível desde o PHP 7.3.0.
syslog.ident | "php" | PHP_INI_SYSTEM | Disponível desde o PHP 7.3.0.
sys_temp_dir | "" | PHP_INI_SYSTEM |
sysvshm.init_mem | 10000 | PHP_INI_SYSTEM |
tidy.default_config | "" | PHP_INI_SYSTEM |
tidy.clean_output | "0" | PHP_INI_USER | PHP_INI_PERDIR antes do PHP 5.4.0
track_errors | "0" | PHP_INI_ALL | Obsoleto desde PHP 7.2.0.
unserialize_callback_func | NULL | PHP_INI_ALL |
uploadprogress.file.filename_template | "/tmp/upt_%s.txt" | PHP_INI_ALL |
upload_max_filesize | "2M" | PHP_INI_PERDIR |
max_file_uploads | 20 | PHP_INI_SYSTEM |
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL |
user_agent | NULL | PHP_INI_ALL |
user_dir | NULL | PHP_INI_SYSTEM |
user_ini.cache_ttl | "300" | PHP_INI_SYSTEM |
user_ini.filename | ".user.ini" | PHP_INI_SYSTEM |
uopz.disable | "0" | PHP_INI_SYSTEM | Available as of uopz 5.0.2
uopz.exit | "0" | PHP_INI_SYSTEM | Available as of uopz 6.0.1
uopz.overloads | "1" | PHP_INI_SYSTEM | Available as of uopz 2.0.2. Removed as of uopz 5.0.0.
variables_order | "EGPCS" | PHP_INI_PERDIR |
vld.active | "0" | PHP_INI_SYSTEM |
vld.execute | "1" | PHP_INI_SYSTEM | Disponível desde vld 0.8.0.
vld.skip_append | "0" | PHP_INI_SYSTEM | Disponível desde vld 0.8.0.
vld.skip_prepend | "0" | PHP_INI_SYSTEM | Disponível desde vld 0.8.0.
windows.show_crt_warning | "0" | PHP_INI_ALL |
xbithack | "0" | PHP_INI_ALL |
xmlrpc_errors | "0" | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | PHP_INI_ALL |
yaz.keepalive | "120" | PHP_INI_ALL |
yaz.log_mask | NULL | PHP_INI_ALL | Disponível desde yaz 1.0.3.
zend.assertions | "1" | PHP_INI_ALL |
zend.detect_unicode | "1" | PHP_INI_ALL |
zend.enable_gc | "1" | PHP_INI_ALL |
zend.multibyte | "0" | PHP_INI_PERDIR |
zend.script_encoding | NULL | PHP_INI_ALL |
zend.signal_check | "0" | PHP_INI_SYSTEM |
zend_extension | NULL | Somente no php.ini |
zlib.output_compression | "0" | PHP_INI_ALL |
zlib.output_compression_level | "-1" | PHP_INI_ALL |
zlib.output_handler | "" | PHP_INI_ALL |


Lista das seções do php.ini

Esta lista inclui as seções do php.ini que você pode modificar para configurar sua instalação do PHP basedo em host ou em pastas. Estas seções são opcionais.

Estas seções não afetam diretamente o PHP. Elas são usadas para agrupar outras diretivas php.ini e agir de acordo um host específico ou uma pasta específica.

Estas seções são usadas somente no modo CGI/FastCGI e não podem modificar as diretivas extension e zend_extension.

Seções
Nome | Modificável | Changelog
[HOST=] | PHP_INI_SYSTEM | Adicionado no PHP 5.3.0.
[PATH=] | PHP_INI_SYSTEM | Adicionado no PHP 5.3.0.

Uma rápida explicação das diretivas de configuração.

[HOST=<host>]

Esta seção permite definir um conjunto de diretivas do php.ini que terá efeito no host definido.

Exemplo #1 Ativa a exibição completa de erros na tela para o domínio dev.

[HOST=dev.site.com]
error_reporting = E_ALL
display_errors = On

[PATH=<path>]

Esta seção permite definir um conjunto de diretivas do php.ini que terá efeito quando um script for executado a partir da pasta definida.

Exemplo #2 Adiciona o script security.php para áreas protegidas

[PATH=/home/site/public/secure]
auto_prepend_file=security.php


Descrição das principais diretivas do php.ini

Esta lista inclui as principais diretivas do php.ini que podemos definir para configurar o PHP. Diretivas manipuladas por extensões são listadas e detalhadas nas respectivas páginas de documentação da extensão; Informações sobre diretivas de sessão, por exemplo, podem ser encontradas na página de sessões.

Nota:

Os padrões listados aqui são utilizados quando o php.ini não é carregado; os valores do php.ini de produção e desenvolvimento podem variar.

Opções de Linguagem

Opções de Linguagem e Configurações Diversas
Nome | Padrão | Modificável | Changelog
short_open_tag | "1" | PHP_INI_PERDIR |
precision | "14" | PHP_INI_ALL |
serialize_precision | "-1" | PHP_INI_ALL | Antes do PHP 7.1.0 o valor padrão era 17.
disable_functions | "" | PHP_INI_SYSTEM apenas |
disable_classes | "" | php.ini apenas |
exit_on_timeout | "" | PHP_INI_ALL |
expose_php | "1" | php.ini apenas |
hard_timeout | "2" | PHP_INI_SYSTEM | Disponível a partir do PHP 7.1.0.
zend.exception_ignore_args | "0" | PHP_INI_ALL | Disponível a partir do PHP 7.4.0
zend.multibyte | "0" | PHP_INI_ALL |
zend.script_encoding | NULL | PHP_INI_ALL |
zend.detect-unicode | NULL | PHP_INI_ALL |
zend.signal_check | "0" | PHP_INI_SYSTEM |
zend.assertions | "1" | PHP_INI_ALL com restrições |

Uma rápida explicação das diretivas de configuração.

short_open_tag bool

Informa ao PHP se a forma abreviada (<? ?>) da tag de abertura do PHP é permitida. Se quiser usar o PHP em conjunto com XML, esta opção pode ser desabilitada a fim de usar <?xml ?> em linha. Caso contrário, pode-se imprimir isto com o PHP, por exemplo <?php echo '<?xml version="1.0"?>'; ?>. Além disso, se desabilitada, deve ser usada a forma extensa da tag de abertura do PHP (<?php ?>).

Nota:

Esta diretiva não afeta o equivalente <?=, qual está sempre disponível.

precision int
O número de dígitos significativos exibidos em números de ponto flutuante. -1 significa que um algoritmo avançado para arredondar estes números será utilizado.
serialize_precision int
O número de dígitos significativos armazenados durante a serialização de números de pontos flutuantes. -1 significa que um algoritmo avançado para arredondar estes números será utilizado.
expose_php bool

Expõe para o mundo que o PHP está instalado no servidor, o que inclui a versão do PHP dentro do header HTTP (por exemplo, X-Powered-By: PHP/5.3.7).

disable_functions string

Esta diretiva permite desabilitar certas funções. Ela recebe uma lista de nomes de funções separadas por vírgula.

Apenas funções internas podem ser desabilitadas usando esta diretiva. Funções definidas pelo usuário não são afetadas.

Esta diretiva deve ser configurada no php.ini. Por exemplo, ela não pode ser configurada no httpd.conf.

disable_classes string
Esta diretiva permite desabilitar certas classes. Ela recebe uma lista de nomes de classes separadas por vírgula. Esta diretiva deve ser configurada no php.ini. Por exemplo, ela não pode ser configurada no httpd.conf.
zend.assertions int
Quando configurada para 1, codigo assertivo será gerado e executado (modo de desenvolvimento). Quando configurada para 0 então código assertivo será gerado mas ignorado (não executado) em tempo de execução. Quando configurada para -1 código assertivo não será gerado, tornando as asserções sem custo (modo de produção).

Nota:

Se um processo é iniciado em modo de produção, zend.assertions não poderá ser modificada em tempo de execução, já que o código para as asserções não foi gerado.

Se um processo é iniciado em modo de desenvolvimento, zend.assertions não poderá ser configurada para -1 em tempo de execução.

hard_timeout int

zend.exception_ignore_args bool

Exclui argumentos de rastreamentos de pilha (stack traces), gerados a partir de exceções.

zend.multibyte bool

Permite a análise de arquivos fontes em codificações multibyte. Habilitar zend.multibyte é necessário para utilizar character sets como SJIS, BIG5, etc., que contém caracteres especiais em dados de strings multibyte. Codificações compatíveis com ISO-8859-1 como UTF-8, EUC, etc. não requerem esta opção.

Habilitar o zend.multibyte requer que a extensão mbstring esteja disponível.

zend.script_encoding string

Este valor será usado a menos que uma diretiva declare(encoding=...) apareça no início do script. Quando uma codificação incompatível com ISO-8859-1 é usada, ambas zend.multibyte e zend.script_encoding devem ser usadas.

Strings literais serão transliteradas de zend.script_encoding para mbstring.internal_encoding, como se a função mb_convert_encoding() tivesse sido chamada.

zend.detect_unicode bool

Verifica o BOM (Byte Order Mark) e determina se o arquivo contém caracteres multibyte válidos. Essa detecção é realizada antes do processamento de __halt_compiler(). Disponível apenas no modo Zend Multibyte.

zend.signal_check bool

Verifica se há manipuladores de sinais substituídos no encerramento.

exit_on_timeout bool

Esta é uma diretiva unicamente do módulo mod_php do Apache1 que força um subprocesso do Apache a sair se ocorrer o timeout de execução do PHP. Esse timeout causa uma chamada interna a longjmp() no Apache1 que pode deixar algumas extensões em um estado inconsistente. Ao terminar o processo, quaisquer bloqueios ou memória pendentes serão liberados.

Limites de Recursos

Limites de Recursos
Nome | Padrão | Modificável | Changelog
memory_limit | "128M" | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

memory_limit int

Define a quantidade máxima de memória em bytes que um script pode alocar. Isto ajuda a previnir que scripts mal escritos consumam toda a memória disponível no servidor. Note que para que não haja limite de memória, esta diretiva deve ser configurada para -1.

Quando um integer é utilizado, o valor é medido em bytes. A resumida notação, como descrito neste FAQ, pode também ser usada.

Veja também: max_execution_time.

Ajustes de Desempenho

Ajustes de Desempenho
Nome | Padrão | Modificável | Changelog
realpath_cache_size | "4M" | PHP_INI_SYSTEM | Antes do PHP 7.0.16 e 7.1.2, o padrão era "16K"
realpath_cache_ttl | "120" | PHP_INI_SYSTEM |

Nota:

O uso da diretiva open_basedir irá desativar o cache do caminho real.

Uma rápida explicação das diretivas de configuração.

realpath_cache_size int

Determina o tamanho do cache do realpath a ser usado pelo PHP. Este valor deve ser aumentado em sistemas onde o PHP abre muitos arquivos, para refletir a quantidade das operações de arquivo realizadas.

O tamanho representa o número total de bytes nas strings de caminhos armazenadas, mais o tamanho dos dados associados à entrada de cache. Isto significa que para armazenar caminhos mais longos no cache, o tamanho de cache deve ser maior. Esse valor não controla diretamente o número de caminhos distintos que podem ser armazenados em cache.

O tamanho necessário para os dados da entrada de cache depende do sistema operacional.

realpath_cache_ttl int

Duração do tempo (em segundos) pela qual armazenar em cache as informações do realpath para um dado arquivo ou diretório. Para sistemas com arquivos que raramente mudam, considere aumentar o valor.

Manipulação de Dados

Opções de Configuração de Manipulação de Dados
Nome | Padrão | Modificável | Changelog
arg_separator.output | "&" | PHP_INI_ALL |
arg_separator.input | "&" | PHP_INI_PERDIR |
variables_order | "EGPCS" | PHP_INI_PERDIR |
request_order | "" | PHP_INI_PERDIR |
auto_globals_jit | "1" | PHP_INI_PERDIR |
register_argc_argv | "1" | PHP_INI_PERDIR |
enable_post_data_reading | "1" | PHP_INI_PERDIR | Disponível desde o PHP 5.4.0
post_max_size | "8M" | PHP_INI_PERDIR |
auto_prepend_file | NULL | PHP_INI_PERDIR |
auto_append_file | NULL | PHP_INI_PERDIR |
default_mimetype | "text/html" | PHP_INI_ALL |
default_charset | "UTF-8" | PHP_INI_ALL |
input_encoding | "" | PHP_INI_ALL |
output_encoding | "" | PHP_INI_ALL |
internal_encoding | "" | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

arg_separator.output string

O separador usado em URLs gerados pelo PHP para separar argumentos.

arg_separator.input string

Lista de separadores usados pelo PHP para analisar URLs de entrada em variáveis.

Nota:

Cada caractere nesta diretiva é considerado como separador!

variables_order string

Configura a ordem de análise das variáveis EGPCS (Environment, Get, Post, Cookie e Server). Por exemplo, se variables_order estiver configurada como "SP" então o PHP irá criar as variáveis superglobals $_SERVER e $_POST, mas não irá criar $_ENV, $_GET e $_COOKIE. Configurar como "" significa que nenhuma superglobals será definida.

Aviso

Em ambas as SAPIs CGI e FastCGI, $_SERVER também é preenchida por valores do ambiente; S é sempre equivalente a ES independentemente da inclusão de E em outra parte desta diretiva.

Nota:

O conteúdo e a ordem de $_REQUEST também são afetados por esta diretiva.

request_order string

Esta diretiva descreve a ordem na qual o PHP registra as variáves GET, POST e Cookie no array _REQUEST. O registro é feito da esquerda para direita, valores mais recentes sobrescrevem os valores mais antigos.

Se esta diretiva não está definida variables_order é usada para o conteúdo de $_REQUEST.

Note que os arquivos php.ini da distribuição padrão não contêm o 'C' para cookies, por motivos de segurança.

auto_globals_jit bool

Quando ativada, as variáveis SERVER, REQUEST e ENV são criadas quando elas são usadas pela primeira vez ("Just In Time") ao invés de quando o script inicia. Se estas variáveis não são usadas dentro de um script, habilitar esta diretiva resultará em um ganho de desempenho.

Aviso

O uso das variáveis SERVER, REQUEST e ENV é verificado durante o tempo de compilação então usá-las, por exemplo, em variáveis variáveis não causará sua inicialização.

register_argc_argv bool
Informa ao PHP se deve declarar variáveis argv & argc (que podem conter as informações das requisições GET). Veja também PHP em linha de comando.
enable_post_data_reading bool
Desabilitar esta opção faz com que $_POST e $_FILES não sejam preenchidos. A única forma de ler dados postados será através do stream wrapper php://input. Isto pode ser útil para intermediar requisições ou para processar dados POST de uma maneira eficiente em termos de memória alocada.
post_max_size int
Configura o tamanho máximo dos dados postados. Esta configuração também afeta o upload de arquivos. Para carregar arquivos grandes este valor deve ser maior que upload_max_filesize. De maneira geral memory_limit deve ser maior que post_max_size. Quando um integer é utilizado, o valor é medido em bytes. A resumida notação, como descrito neste FAQ, pode também ser usada. Se o tamanho dos dados postados for maior que post_max_size então as variáveis superglobals $_POST e $_FILES ficarão vazias. Isto pode ser observado de várias maneiras, por exemplo, passando uma variável $_GET ao script que processará os dados, por exemplo, <form action="edit.php?processed=1">, e então verificando se $_GET['processed'] está preenchida.

Nota:

O PHP permite sufixos para valores em bytes, incluindo K (kilo), M (mega) e G (giga). O PHP fará as conversões automaticamente se você utilizar qualquer um destes. Cuidado para não exceder o limite de inteiros sinalizados de 32 bit (ao usar versões de 32 bit) uma vez que isso fará o script falhar.

Changelog de post_max_size
Versão | Descrição
5.3.4 | post_max_size = 0 não irá desabilitar o limite quando o conteúdo for do tipo application/x-www-form-urlencoded ou não estiver registrado no PHP.
5.3.2 , 5.2.12 | Permite tamanho ilimitado de dados postados ao configurar post_max_size como 0.

auto_prepend_file string

Especifica o nome de um arquivo que é automaticamente analisado antes do arquivo principal. O arquivo é incluído como se tivesse sido chamado com require, então include_path é utilizado.

O valor especial none desativa a auto-inclusão.

auto_append_file string

Especifica o nome de um arquivo que é automaticamente analisado depois do arquivo principal. O arquivo é incluído como se tivesse sido chamado com require, então include_path é utilizado.

O valor especial none desativa a auto-inclusão.

Nota: Se o script for terminado com exit(), então a auto-inclusão não ocorrerá.

default_mimetype string

Por padrão o PHP irá imprimir um media type utilizando o header Content-Type. Para desabilitar o envio da codificação configure esta opção como vazio.

O padrão interno do PHP é o media type text/html.

default_charset string

"UTF-8" é o valor padrão e o valor desta diretiva é utilizado como o character set padrão para htmlentities(), html_entity_decode() e htmlspecialchars() se o parâmetro encoding for omitido. O valor de default_charset também será utilizado para configurar o character set padrão para as funções iconv se as opções de configuração iconv.input_encoding, iconv.output_encoding e iconv.internal_encoding não estiverem definidas, e também para as funções mbstring se as opções de configuração mbstring.http_input, mbstring.http_output e mbstring.internal_encoding não estiverem definidas.

Todas as versões do PHP usarão este valor como o charset no header padrão Content-Type enviado pelo PHP caso o header não seja sobrescrito por uma chamada à função header().

Configurar default_charset para um valor vazio não é recomendado.

input_encoding string

Esta configuração é utilizada por módulos multibyte como mbstring e iconv. O padrão é vazio.

output_encoding string

Esta configuração é utilizada por módulos multibyte como mbstring e iconv. O padrão é vazio.

internal_encoding string

Esta configuração é utilizada por módulos multibyte como mbstring e iconv. O padrão é vazio. Se vazio, default_charset é utilizado.

Veja também: magic_quotes_gpc, magic_quotes_runtime, e magic_quotes_sybase.

Caminhos e Diretórios

Caminhos e Opções de Configuração de Diretórios
Nome | Padrão | Modificável | Changelog
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
open_basedir | NULL | PHP_INI_ALL |
doc_root | NULL | PHP_INI_SYSTEM |
user_dir | NULL | PHP_INI_SYSTEM |
user_ini.cache_ttl | "300" | PHP_INI_SYSTEM |
user_ini.filename | ".user.ini" | PHP_INI_SYSTEM |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
extension | NULL | Apenas no php.ini |
zend_extension | NULL | Apenas no php.ini |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM |
cgi.discard_path | "0" | PHP_INI_SYSTEM |
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM |
cgi.force_redirect | "1" | PHP_INI_SYSTEM |
cgi.nph | "0" | PHP_INI_SYSTEM |
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM |
cgi.rfc2616_headers | "0" | PHP_INI_ALL |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM |
fastcgi.logging | "1" | PHP_INI_SYSTEM |

Uma rápida explicação das diretivas de configuração.

include_path string

Especifica uma lista de diretórios onde as funções require, include, fopen(), file(), readfile() e file_get_contents() procuram por arquivos. O formato é como a variável de ambiente PATH: uma lista de diretórios separados por dois pontos no Unix ou ponto e vírgula no Windows.

O PHP considera cada item no include_path separadamente ao procurar por arquivos para incluir. Ele irá verificar o primeiro caminho, e se não o encontrar, verificar o próximo caminho, até que encontre o arquivo incluído ou retorne com um E_WARNING ou um E_ERROR. Você pode modificar ou configurar o include_path em tempo de execução usando set_include_path().

Exemplo #1 include_path no Unix

include_path=".:/php/includes"

Exemplo #2 include_path no Windows

include_path=".;c:\php\includes"

Utilizar um . no include_path permite inclusões relativas ao diretório atual. Entretanto é mais eficiente utilizar explicitamente include './arquivo' em vez de fazer o PHP sempre procurar no diretório atual a cada inclusão.

Nota:

Variáveis ENV também estão acessíveis em arquivos .ini. Assim é possível referenciar o diretório home utilizando ${LOGIN} e ${USER}.

Variáveis de ambiente podem variar entre APIs de servidor já que esses ambientes podem ser diferentes.

Exemplo #3 include_path do Unix utilizando a variável de ambiente ${USER}

include_path = ".:${USER}/pear/php"

open_basedir string

Limita os arquivos que podem ser acessados pelo PHP à árvore de diretório especificada, incluindo o próprio arquivo. Esta diretiva NÃO é afetada pelo Modo Seguro estar habilitado ou desabilitado.

Quando um script tenta acessar o sistema de arquivos, por exemplo utilizando include ou fopen(), a localização do arquivo é verificada. Quando o arquivo está fora da árvore de diretório especificada, o PHP se recusará a acessá-lo. Todos os links simbólicos são resolvidos, então não é possível evitar esta restrição com um link simbólico. Se o arquivo não existe então o link simbólico não pode ser resolvido e o nome do arquivo é comparado a um open_basedir (resolvido).

open_basedir pode afetar mais que apenas as funções de sistema de arquivos; por exemplo, se o MySQL está configurado para utilizar os drivers mysqlnd, LOAD DATA INFILE será afetado por open_basedir. Grande parte da funcionalidade extendida do PHP utiliza open_basedir desta maneira.

O valor especial . indica que o diretório atual do script será utilizado como o diretório base. Isto é, no entanto, perigoso pois o diretório atual do script pode ser facilmente alterado com chdir().

No httpd.conf open_basedir pode ser desabilitada (por exemplo, em alguns hosts virtuais) da mesma forma que quaisquer outras diretivas de configuração com "php_admin_value open_basedir none".

No Windows os diretórios são separados com um ponto e vírgula. Em todos os outros sistemas os diretórios são separados com dois pontos. Como um módulo Apache os caminhos de open_basedir de diretórios pai agora são automaticamente herdados.

A restrição especificada com open_basedir é um nome de diretório, não um prefixo.

O padrão é permitir que todos os arquivos sejam abertos.

Nota:

open_basedir pode ser restringido em tempo de execução. Isto significa que se open_basedir é configurado para /www/ no php.ini então um script pode restringir a configuração para /www/tmp/ em tempo de execução com ini_set(). Ao listar vários diretórios é possível utilizar a constante PATH_SEPARATOR como um separador independentemente do sistema operacional.

Nota:

O uso da diretiva open_basedir definirá realpath_cache_size como 0 e assim desabilitará o cache do caminho real.

doc_root string

O "diretório raiz" do PHP no servidor. Utilizado apenas se estiver informado. Se o PHP não foi compilado com FORCE_REDIRECT, você deve configurar doc_root se estiver rodando o PHP em modo CGI em qualquer servidor web (diferente do IIS). A alternativa é utilizar a configuração cgi.force_redirect abaixo.

user_ini.cache_ttl int

user_ini.filename string

user_dir string

O nome base do diretório utilizado como diretório home do usuário pelos arquivos do PHP, por exemplo public_html .

extension_dir string

O diretório no qual o PHP deve procurar por extensões carregadas dinamicamente. Veja também: enable_dl e dl().

extension string

Quais extensões carregáveis dinamicamente carregar quando o PHP inicia.

zend_extension string

Nome da extensão Zend carregável dinamicamente (por exemplo, XDebug) a carregar quando o PHP inicia.

cgi.check_shebang_line bool

Controla se o PHP CGI verifica linhas iniciando com #! (shebang) no início do script em execução. Esta linha pode ser necessária se o script suporta execução tanto como script autônomo e via PHP CGI. O PHP em modo CGI pula esta linha e ignora seu conteúdo se esta diretiva estiver habilitada.

cgi.discard_path bool

Se habilitada, o binário PHP CGI pode ser colocado com segurança fora da árvore de diretório web e não será possível contornar a segurança .htaccess.

cgi.fix_pathinfo bool

Fornece suporte real a PATH_INFO/ PATH_TRANSLATED para CGI. O comportamento anterior do PHP era definir PATH_TRANSLATED como SCRIPT_FILENAME e não perceber o que PATH_INFO é. Para mais informações sobre PATH_INFO, veja as especificações do modo CGI. Configurar esta diretiva para 1 fará o modo CGI corrigir seus caminhos para obedecer à especificação. Configurar com zero faz o PHP se comportar como antes. Ela é habilitada por padrão. Você deve corrigir seus scripts de forma a usar SCRIPT_FILENAME ao invés de PATH_TRANSLATED.

cgi.force_redirect bool

cgi.force_redirect é necessário para prover segurança ao rodar o PHP em modo CGI na maioria dos servidores web. Se deixada indefinida, o PHP irá habilitá-la por padrão. Você pode desabilitá-la por sua conta e risco.

Nota:

Usuários do Windows: Ao utilizar o IIS esta opção deve ser desabilitada. O mesmo vale para servidores OmniHTTPD e Xitami.

cgi.nph bool

Se cgi.nph estiver habilitada, forçará o CGI a enviar sempre Status: 200 em todas as requisições.

cgi.redirect_status_env string

Se cgi.force_redirect estiver habilitada e você não está rodando sob servidores web Apache ou Netscape (iPlanet), você pode precisar configurar um nome de variável de ambiente que o PHP irá procurar para saber que é correto continuar a execução.

Nota:

Configurar esta variável pode causar problemas de segurança, tenha certeza do que está fazendo antes de alterar.

cgi.rfc2616_headers int

Indica ao PHP qual o tipo de headers usar ao enviar o código de resposta HTTP. Se configurada para 0, o PHP envia um header "Status:" da » RFC 3875 que é suportado pelo Apache e outros servidores web. Quando esta opção é configurada para 1, o PHP enviará headers em conformidade com a » RFC 2616.

Se esta opção estiver habilitada e o PHP estiver rodando em um ambiente CGI (por exemplo, PHP-FPM) não devem ser utilizados headers de resposta de status HTTP no padrão RFC 2616. Em vez disso, deve ser usado o seu equivalente RFC 3875, por exemplo, em vez de header("HTTP/1.0 404 Not found"); deve ser usado header("Status: 404 Not Found");.

Deixe-a configurada para 0 a não ser que saiba exatamente o que está fazendo.

fastcgi.impersonate string

O FastCGI rodando no IIS (em sistemas baseados em WINNT) suporta a habilidade de representar os tokens de segurança do cliente que faz a requisição. Isso permite ao IIS definir o contexto de segurança no qual a requisição executa. O mod_fastcgi rodando no Apache atualmente não suporta esta funcionalidade (17/03/2002) Configure para 1 ao rodar no ISS. O padrão é zero.

fastcgi.logging bool

Ativa o logging do SAPI ao utilizar o FastCGI. O padrão é habilitar o logging.

Upload de Arquivos

Opções de Configurações de Upload de Arquivos
Nome | Padrão | Modificável | Changelog
file_uploads | "1" | PHP_INI_SYSTEM |
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
max_input_nesting_level | 64 | PHP_INI_PERDIR |
max_input_vars | 1000 | PHP_INI_PERDIR |
upload_max_filesize | "2M" | PHP_INI_PERDIR |
max_file_uploads | 20 | PHP_INI_SYSTEM |

Uma rápida explicação das diretivas de configuração.

file_uploads bool

Permite ou não upload de arquivos através do HTTP. Veja também as diretivas upload_max_filesize, upload_tmp_dir e post_max_size.

upload_tmp_dir string

O diretório temporário utilizado para armazenar arquivos durante o upload. Precisa ter permissão de escrita para qualquer usuário que o PHP esteja usando para rodar. Se não especificado o PHP usará o padrão do sistema.

Se o diretório especificado aqui não tiver permissão de escrita, o PHP tenta o diretório temporário padrão do sistema. Se open_basedir estiver habilitado, então o diretório padrão do sistema deve ser permitido para que o upload tenha sucesso.

upload_max_filesize int

O tamanho máximo de um arquivo enviado.

Quando um integer é utilizado, o valor é medido em bytes. A resumida notação, como descrito neste FAQ, pode também ser usada.
max_file_uploads int

O número máximo de arquivos permitidos simultaneamente durante um upload. A partir do PHP 5.3.4 os campos de upload deixados em branco no envio não contam para este limite.

SQL Geral

Opções de Configurações Gerais de SQL
Nome | Padrão | Modificável | Changelog
sql.safe_mode | "0" | PHP_INI_SYSTEM | Removido no PHP 7.2.0.

Uma rápida explicação das diretivas de configuração.

sql.safe_mode bool

Se habilitada as funções de conexão de bancos de dados que especifiquem valores padrão usarão esses valores no lugar de quaisquer argumentos passados pelo usuário. Para detalhes sobre os valores padrão, veja a documentação das funções de conexão relevantes.

Aviso

Este recurso foi REMOVIDO a partir do PHP 7.2.0.

Windows

Opções de Configurações Específicas do Windows
Nome | Padrão | Modificável | Changelog
windows.show_crt_warning | "0" | PHP_INI_ALL |

Uma rápida explicação das diretivas de configuração.

windows.show_crt_warning bool

Esta diretiva exibe os alertas do CRT do Windows quando habilitada.


Categorização/Lista das Extensões

Índice

  • Em ordem alfabética
  • Sociedade
  • Estado

Esse apêndice categoriza mais de 150 extensões documentadas no manual do PHP por vários critérios.


Em ordem alfabética

  • Apache
  • APCu
  • Arrays
  • BC Math
  • Bzip2
  • Calendário
  • Classkit
  • Classes/Objetos
  • COM
  • CSPRNG
  • Ctype
  • CUBRID
  • cURL
  • Data/Hora
  • DBA
  • dBase
  • DB++
  • Direct IO
  • Diretórios
  • DOM
  • Data Structures
  • Eio
  • Enchant
  • Manuseamento de Erro
  • Ev
  • Event
  • Execução de programa
  • Exif
  • Expect
  • FANN
  • FANN
  • FrontBase
  • FDF
  • Fileinfo
  • filePro
  • Filesystem
  • Filter
  • FastCGI Process Manager
  • FTP
  • Funções para Manuseamento de Funções
  • Gearman
  • Gender
  • GeoIP
  • Gettext
  • Gmagick
  • GMP
  • GnuPG
  • Hash
  • HRTime
  • Firebird/InterBase
  • IBM DB2
  • iconv
  • GD
  • ImageMagick
  • IMAP
  • Opções/Info do PHP
  • Ingres
  • Inotify
  • intl
  • JSON
  • LDAP
  • libxml
  • Lua
  • LZF
  • Mail
  • Mailparse
  • Math
  • Multibyte String
  • Mcrypt
  • Memcache
  • Memcached
  • Memtrack
  • Mhash
  • Misc.
  • Mongo
  • MongoDB\BSON
  • MongoDB\Driver
  • mqseries
  • MySQL
  • MySQLi
  • Mysqlnd
  • mysqlnd_memcache
  • mysqlnd_ms
  • mysqlnd_mux
  • mysqlnd_qc
  • mysqlnd_uh
  • Ncurses
  • Network
  • OAuth
  • OCI8
  • OPcache
  • OpenAL
  • OpenSSL
  • Controle de Saída
  • Paradox
  • Parle
  • Password Hashing
  • PCNTL
  • PCRE
  • PDO
  • CUBRID (PDO)
  • MS SQL Server (PDO)
  • Firebird (PDO)
  • IBM (PDO)
  • Informix (PDO)
  • MySQL (PDO)
  • Oracle (PDO)
  • ODBC and DB2 (PDO)
  • PostgreSQL (PDO)
  • SQLite (PDO)
  • MS SQL Server (PDO)
  • PostgreSQL
  • Phar
  • POSIX
  • Proctitle
  • PS
  • Pspell
  • pthreads
  • Quickhash
  • Radius
  • Rar
  • Readline
  • Recode
  • Reflexão
  • POSIX Regex
  • RRD
  • ScoutAPM
  • Seaslog
  • Semaphore
  • Sessões
  • Memória Compartilhada
  • SimpleXML
  • SNMP
  • SOAP
  • Sockets
  • Sodium
  • Solr
  • Sphinx
  • SPL
  • SQLite3
  • SQLSRV
  • ssdeep
  • SSH2
  • Statistics
  • Stomp
  • Streams
  • Strings
  • SVM
  • SVN
  • Swoole
  • Sync
  • Taint
  • TCP
  • Tidy
  • Tokenizer
  • tokyo_tyrant
  • Trader
  • UI
  • ODBC
  • uopz
  • URLs
  • V8js
  • Manipulação de variável
  • Varnish
  • WDDX
  • Weakref
  • win32service
  • WinCache
  • wkhtmltox
  • xattr
  • xdiff
  • Xhprof
  • XML Parser
  • XMLDiff
  • XMLReader
  • XML-RPC
  • XMLWriter
  • XSL
  • Yaconf
  • Yaf
  • Yaml
  • Yar
  • YAZ
  • Zip
  • Zlib
  • API de Mensagens 0MQ
  • ZooKeeper


Sociedade

Extensões Principais

Essas não são de fato extensões. Eles são parte do núcleo do PHP e não podem ser deixadas de fora do binário do PHP através de opções de compilação.

  • Arrays

  • Classes/Objetos

  • CSPRNG

  • Data/Hora

  • Diretórios

  • Manuseamento de Erro

  • Execução de programa

  • Filesystem

  • Filter

  • Funções para Manuseamento de Funções

  • Hash

  • Opções/Info do PHP

  • Mail

  • Math

  • Misc.

  • Network

  • Controle de Saída

  • Password Hashing

  • Phar

  • Reflexão

  • POSIX Regex

  • Sessões

  • SPL

  • Streams

  • Strings

  • Tokenizer

  • URLs

  • Manipulação de variável

Extensões Agregadas

Essas extensões são distribuídas com o PHP.

  • Apache

  • BC Math

  • Calendário

  • COM

  • Ctype

  • DBA

  • Exif

  • Fileinfo

  • FTP

  • iconv

  • GD

  • intl

  • JSON

  • Multibyte String

  • OPcache

  • PCNTL

  • PCRE

  • PDO

  • POSIX

  • Semaphore

  • Memória Compartilhada

  • Sockets

  • SQLite3

  • XML-RPC

  • Zlib

Extensões Externas

Para compilar essas extensões é preciso ter bibliotecas externas.

  • Bzip2

  • cURL

  • dBase

  • DOM

  • Enchant

  • FrontBase

  • Gettext

  • GMP

  • Firebird/InterBase

  • IMAP

  • LDAP

  • libxml

  • Mcrypt

  • Mhash

  • MySQL

  • MySQLi

  • Mysqlnd

  • OCI8

  • OpenSSL

  • MS SQL Server (PDO)

  • Firebird (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC and DB2 (PDO)

  • PostgreSQL (PDO)

  • SQLite (PDO)

  • PostgreSQL

  • Pspell

  • Readline

  • Recode

  • SimpleXML

  • SNMP

  • SOAP

  • Sodium

  • Tidy

  • ODBC

  • WDDX

  • XML Parser

  • XMLReader

  • XMLWriter

  • XSL

  • Zip

Extensões PECL

Essas extensões são disponível na » PECL. Existem outras extensões PECL, mas elas ainda não estão documentadas no manual do PHP.

  • Classkit

  • CUBRID

  • DB++

  • Direct IO

  • Eio

  • Ev

  • Event

  • Expect

  • FDF

  • filePro

  • Gearman

  • Gender

  • GeoIP

  • Gmagick

  • GnuPG

  • IBM DB2

  • ImageMagick

  • Ingres

  • Inotify

  • Lua

  • LuaSandbox

  • LZF

  • Mailparse

  • Memcache

  • Memcached

  • Memtrack

  • Mongo

  • mqseries

  • mysqlnd_memcache

  • mysqlnd_ms

  • mysqlnd_mux

  • mysqlnd_qc

  • mysqlnd_uh

  • Ncurses

  • OAuth

  • OpenAL

  • Paradox

  • CUBRID (PDO)

  • IBM (PDO)

  • Informix (PDO)

  • MS SQL Server (PDO)

  • Proctitle

  • PS

  • pthreads

  • Quickhash

  • Radius

  • Rar

  • RRD

  • runkit7

  • ScoutAPM

  • Seaslog

  • Solr

  • Sphinx

  • SQLSRV

  • ssdeep

  • SSH2

  • Statistics

  • Stomp

  • Swoole

  • SVM

  • SVN

  • Taint

  • TCP

  • tokyo_tyrant

  • Trader

  • V8js

  • Varnish

  • Weakref

  • win32service

  • WinCache

  • xattr

  • xdiff

  • Xhprof

  • Yaf

  • Yaml

  • YAZ

  • ZooKeeper


Estado

Essa parte lista as extensões não destinadas para uso de produção - elas são ou muito velhas (obsoletas) ou muito novas (experimentais).

Extensões Obsoletas

Essas extensões tornaram-se normalmente obsoletas em favor de outras extensões.

  • Memtrack

Extensões Experimentais

O comportamento dessas extensões - incluindo os nomes das suas funções e qualquer outra coisa documentada sobre essas extensões - podem mudar sem aviso em versões futuras do PHP. Use essas funções a seu próprio risco.

  • DB++

  • Hash

  • ImageMagick

  • Ncurses

  • Paradox

  • MS SQL Server (PDO)

  • Firebird (PDO)

  • Oracle (PDO)

  • PS

  • XML-RPC


Lista de funções sinônimas (aliases)

Existem algumas poucas funções no PHP que podem ser chamadas com mais de um nome. Em alguns casos, não existe preferência entres os nomes, is_int() e is_integer() são igualmente boas, por exemplo. Entretanto existem funções que mudaram de nome para deixar API mais limpa ou por outras razões e os nomes antigos são apenas mantidos como aliases para compatibilidade com versões anteriores. Geralmente é uma má ideia usar este tipo de apelido, uma vez que eles estão obsoletos ou a ponto de serem renomeados definitivamente, o que levará a um script não portável. Esta lista é mantida para ajudá-los a atualizar scripts antigos para as novas sintaxes.

Aliases
Função sinônimo(Alias) | Função mestre | Extensão usada
_ | gettext() | Gettext
chop | rtrim() | Base syntax
close | closedir() | Base syntax
com_get | com_propget() | COM
com_propset | com_propput() | COM
com_set | com_propput() | COM
die | exit() | Miscellaneous functions
diskfreespace | disk_free_space() | Filesystem
doubleval | floatval() | Base syntax
fbsql | fbsql_db_query() | FrontBase
fputs | fwrite() | Base syntax
gzputs | gzwrite() | Zlib
i18n_convert | mb_convert_encoding() | Multi-bytes Strings
i18n_discover_encoding | mb_detect_encoding() | Multi-bytes Strings
i18n_http_input | mb_http_input() | Multi-bytes Strings
i18n_http_output | mb_http_output() | Multi-bytes Strings
i18n_internal_encoding | mb_internal_encoding() | Multi-bytes Strings
i18n_ja_jp_hantozen | mb_convert_kana() | Multi-bytes Strings
i18n_mime_header_decode | mb_decode_mimeheader() | Multi-bytes Strings
i18n_mime_header_encode | mb_encode_mimeheader() | Multi-bytes Strings
imap_create | imap_createmailbox() | IMAP
imap_fetchtext | imap_body() | IMAP
imap_getmailboxes | imap_list_full() | IMAP
imap_getsubscribed | imap_lsub_full() | IMAP
imap_header | imap_headerinfo() | IMAP
imap_listmailbox | imap_list() | IMAP
imap_listsubscribed | imap_lsub() | IMAP
imap_rename | imap_renamemailbox() | IMAP
imap_scan | imap_listscan() | IMAP
imap_scanmailbox | imap_listscan() | IMAP
ini_alter | ini_set() | Base syntax
is_double | is_float() | Base syntax
is_integer | is_int() | Base syntax
is_long | is_int() | Base syntax
is_real | is_float() | Base syntax
is_writeable | is_writable() | Base syntax
join | implode() | Base syntax
key_exists | array_key_exists() | Base syntax
ldap_close | ldap_unbind() | LDAP
magic_quotes_runtime | set_magic_quotes_runtime() | Base syntax
mbstrcut | mb_strcut() | Multi-bytes Strings
mbstrlen | mb_strlen() | Multi-bytes Strings
mbstrpos | mb_strpos() | Multi-bytes Strings
mbstrrpos | mb_strrpos() | Multi-bytes Strings
mbsubstr | mb_substr() | Multi-bytes Strings
mysql | mysql_db_query() | MySQL
mysql_createdb | mysql_create_db() | MySQL
mysql_db_name | mysql_result() | MySQL
mysql_dbname | mysql_result() | MySQL
mysql_dropdb | mysql_drop_db() | MySQL
mysql_fieldflags | mysql_field_flags() | MySQL
mysql_fieldlen | mysql_field_len() | MySQL
mysql_fieldname | mysql_field_name() | MySQL
mysql_fieldtable | mysql_field_table() | MySQL
mysql_fieldtype | mysql_field_type() | MySQL
mysql_freeresult | mysql_free_result() | MySQL
mysql_listdbs | mysql_list_dbs() | MySQL
mysql_listfields | mysql_list_fields() | MySQL
mysql_listtables | mysql_list_tables() | MySQL
mysql_numfields | mysql_num_fields() | MySQL
mysql_numrows | mysql_num_rows() | MySQL
mysql_selectdb | mysql_select_db() | MySQL
mysql_tablename | mysql_result() | MySQL
ociassignelem | OCICollection::assignElem | OCI8
ocibindbyname | oci_bind_by_name() | OCI8
ocicancel | oci_cancel() | OCI8
ocicloselob | OCILob::close | OCI8
ocicollappend | OCICollection::append | OCI8
ocicollassign | OCICollection::assign | OCI8
ocicollmax | OCICollection::max | OCI8
ocicollsize | OCICollection::size | OCI8
ocicolltrim | OCICollection::trim | OCI8
ocicolumnisnull | oci_field_is_null() | OCI8
ocicolumnname | oci_field_name() | OCI8
ocicolumnprecision | oci_field_precision() | OCI8
ocicolumnscale | oci_field_scale() | OCI8
ocicolumnsize | oci_field_size() | OCI8
ocicolumntype | oci_field_type() | OCI8
ocicolumntyperaw | oci_field_type_raw() | OCI8
ocicommit | oci_commit() | OCI8
ocidefinebyname | oci_define_by_name() | OCI8
ocierror | oci_error() | OCI8
ociexecute | oci_execute() | OCI8
ocifetch | oci_fetch() | OCI8
ocifetchinto | oci_fetch_array(), oci_fetch_row(), oci_fetch_assoc(), oci_fetch_object() | OCI8
ocifetchstatement | oci_fetch_all() | OCI8
ocifreecollection | OCICollection::free | OCI8
ocifreecursor | oci_free_statement() | OCI8
ocifreedesc | oci_free_descriptor() | OCI8
ocifreestatement | oci_free_statement() | OCI8
ocigetelem | OCICollection::getElem | OCI8
ociinternaldebug | oci_internal_debug() | OCI8
ociloadlob | OCILob::load | OCI8
ocilogon | oci_connect() | OCI8
ocinewcollection | oci_new_collection() | OCI8
ocinewcursor | oci_new_cursor() | OCI8
ocinewdescriptor | oci_new_descriptor() | OCI8
ocinlogon | oci_new_connect() | OCI8
ocinumcols | oci_num_fields() | OCI8
ociparse | oci_parse() | OCI8
ocipasswordchange | oci_password_change() | OCI8
ociplogon | oci_pconnect() | OCI8
ociresult | oci_result() | OCI8
ocirollback | oci_rollback() | OCI8
ocisavelob | OCILob::save | OCI8
ocisavelobfile | OCILob::import | OCI8
ociserverversion | oci_server_version() | OCI8
ocisetprefetch | oci_set_prefetch() | OCI8
ocistatementtype | oci_statement_type() | OCI8
ociwritelobtofile | OCILob::export | OCI8
ociwritetemporarylob | OCILob::writeTemporary | OCI8
odbc_do | odbc_exec() | ODBC
odbc_field_precision | odbc_field_len() | ODBC
pg_clientencoding | pg_client_encoding() | PostgreSQL
pg_setclientencoding | pg_set_client_encoding() | PostgreSQL
pos | current() | Base syntax
recode | recode_string() | Recode
show_source | highlight_file() | Base syntax
sizeof | count() | Base syntax
snmpwalkoid | snmprealwalk() | SNMP
strchr | strstr() | Base syntax
xptr_new_context | xpath_new_context() |


Lista de Palavras Reservadas do PHP

Índice

  • Lista de Palavras-chave (Keywords)
  • Classes Predefinidas
  • Constantes Pré-definidas
  • Lista de outras palavras reservadas

Esta é uma lista de identificadores predefinidos do PHP. Nenhum dos identificadores listados aqui deve ser usado como identificador em qualquer um dos seus scripts a menos que seja explicitamente indicado. Esta lista inclui palavras-chave e variáveis predefinidas, constantes e nomes de classes. Estas listas ainda não são exaustivas nem completas.


Lista de Palavras-chave (Keywords)

Estas palavras têm um significado especial no PHP. Algumas delas representam coisas que parecem funções, algumas parecem constantes, e assim por diante - mas na verdade não o são realmente: elas são construtores de linguagem. Você não pode usar nenhuma das seguintes palavras como constantes, nomes de classes, de funções ou de métodos. Usá-las como nome de variáveis geralmente não causa erros, mas pode levar a confusão.

A partir do PHP 7.0.0 estas palavras-chave são permitidas em propriedades, constantes e nomes de métodos em classes, interfaces e traits, com exceção de class, que não pode ser utilizada como nome de constante.

Palavras-chave do PHP
__halt_compiler() | abstract | and | array() | as
break | callable (a partir do PHP 5.4) | case | catch | class
clone | const | continue | declare | default
die() | do | echo | else | elseif
empty() | enddeclare | endfor | endforeach | endif
endswitch | endwhile | eval() | exit() | extends
final | finally (a partir do PHP 5.5) | fn (a partir do PHP 7.4) | for | foreach
function | global | goto (a partir do PHP 5.3) | if | implements
include | include_once | instanceof | insteadof (a partir do PHP 5.4) | interface
isset() | list() | match (as of PHP 8.0) | namespace (a partir do PHP 5.3) | new
or | print | private | protected | public
require | require_once | return | static | switch
throw | trait (a partir do PHP 5.4) | try | unset() | use
var | while | xor | yield (a partir do PHP 5.5) | yield from (a partir do PHP 7.0)
Constantes de tempo de compilação
__CLASS__ | __DIR__ (a partir do PHP 5.3) | __FILE__ | __FUNCTION__ | __LINE__ | __METHOD__
__NAMESPACE__ (a partir do PHP 5.3) | __TRAIT__ (a partir do PHP 5.4) |  |  |  |


Classes Predefinidas

Esta seção lista classes predefinidas padrão. Extensões diversas definem outras classes que são descritas em suas referências.

Classes Definidas Padrão

Estas classes são definidas dentro do conjunto padrão de funções incluídas na compilação do PHP.

Directory
Criada pela função dir().
stdClass
Criada quando é feita coerção de tipo para objeto.
__PHP_Incomplete_Class
Possivelmente criada pela função unserialize().

Classes Predefinidas a partir do PHP 5

Estas classes predefinidas adicionais foram introduzidas no PHP 5.0.0.

Exception
ErrorException
Disponível a partir do PHP 5.1.0.
php_user_filter

Closure

A classe final predefinida Closure foi introduzida no PHP 5.3.0. É usada para representar funções anônimas.

Para mais informações, veja a página desta classe.

Generator

A classe final predefinida Generator foi introduzida no PHP 5.5.0. É usada para representar generators.

Para maiores informações, veja a página desta classe.

Interfaces e classes predefinidas a partir do PHP 7

Estas interfaces e classes predefinidas adicionais foram introduzidas no PHP 7.0.0.

ArithmeticError
AssertionError
DivisionByZeroError
Error
Throwable
ParseError
TypeError

Classes especiais

Os seguintes identificadores não podem ser usados como nome de classe pois eles têm um propósito especial.

self
Classe atual.
static
Classe atual em tempo de execução.
parent
Classe pai.


Constantes Pré-definidas

Principais Constantes Predefinidas

Essas constantes são definidas pelo núcleo do PHP. Isso inclui o PHP, o engine do Zend e módulos SAPI.

PHP_VERSION (string)
A versão atual do PHP como uma string no formato "major.minor.release[extra]".
PHP_MAJOR_VERSION (int)
O número de versão "major" do PHP como um inteiro (exemplo: int(5) para a versão "5.2.7-extra"). Disponível a partir do PHP 5.2.7.
PHP_MINOR_VERSION (int)
O número de versão "minor" do PHP como um inteiro (exemplo: int(2) para a versão "5.2.7-extra"). Disponível a partir do PHP 5.2.7.
PHP_RELEASE_VERSION (int)
O número de versão "release" do PHP como um inteiro (exemplo: int(7) para a versão "5.2.7-extra"). Disponível a partir do PHP 5.2.7.
PHP_VERSION_ID (int)
A versão atual do PHP como um inteiro, útil para comparações entre versões (exemplo: int(50207) na versão "5.2.7-extra"). Disponível a partir do PHP 5.2.7.
PHP_EXTRA_VERSION (string)
A versão "extra" do PHP como uma string (exemplo: '-extra' na versão "5.2.7-extra"). Geralmente utilizado por distribuidores para indicar uma versão de empacotamento. Disponível a partir do PHP 5.2.7.
PHP_ZTS (int)
Disponível a partir do PHP 5.2.7.
PHP_DEBUG (int)
Disponível a partir do PHP 5.2.7.
PHP_MAXPATHLEN (int)
O tamanho máximo do nome de um arquivo (incluindo seus diretórios) suportado nesta versão do PHP. Disponível a partir do PHP 5.3.0.
PHP_OS (string)
O sistema operacional para o qual o PHP foi compilado.
PHP_OS_FAMILY (string)
A família do sistema operacional para o qual o PHP foi compilado. Qualquer uma entre 'Windows', 'BSD', 'Darwin', 'Solaris', 'Linux' ou 'Unknown'. Disponível a partir do PHP 7.2.0.
PHP_SAPI (string)
O nome da Server API para esta compilação do PHP. Veja também php_sapi_name().
PHP_EOL (string)
O simbolo correto de 'Fim de linha' para esta plataforma. Disponível a partir do PHP 5.0.2.
PHP_INT_MAX (int)
O maior inteiro suportado nesta compilação do PHP. Geralmente int(2147483647) em sistemas de 32 bit e int(9223372036854775807) em sistemas de 64 bits. Disponível a partir do PHP 5.0.5.
PHP_INT_MIN (int)
O menor inteiro suportado nesta compilação do PHP. Geralmente int(-2147483648) em sistemas 32 bits e int(-9223372036854775808) em sistemas 64 bit. Disponível a partir do PHP 7.0.0. Normalmente PHP_INT_MIN === ~PHP_INT_MAX.
PHP_INT_SIZE (int)
O tamanho de um inteiro em bytes nesta compilação do PHP. Disponível a partir do PHP 5.0.5.
PHP_FLOAT_DIG (int)
Número de dígitos decimais que podem ser arredondados para um float e recuperados sem perda de precisão. Disponível a partir do PHP 7.2.0.
PHP_FLOAT_EPSILON (float)
O menor número positivo representável x, tal que x + 1.0 != 1.0. Disponível a partir do PHP 7.2.0.
PHP_FLOAT_MIN (float)
O menor número de ponto flutuante positivo representável. Se voce precisar do menor número de ponto flutuante negativo, use - PHP_FLOAT_MAX. Disponível a partir do PHP 7.2.0.
PHP_FLOAT_MAX (float)
O maior número de ponto flutuante representável. Disponível a partir do PHP 7.2.0.
DEFAULT_INCLUDE_PATH (string)
PEAR_INSTALL_DIR (string)
PEAR_EXTENSION_DIR (string)
PHP_EXTENSION_DIR (string)
PHP_PREFIX (string)
O valor --prefix foi configurado durante o configure. No Windows, este é o valor de --with-prefix informado no configure.
PHP_BINDIR (string)
O valor --bindir foi configurado no configure. No Windows, é o valor informado em --with-prefix durante o configure.
PHP_BINARY (string)
Especifica o caminho do binário do PHP utilizado na execução do script.
PHP_MANDIR (string)
Especifica onde as páginas do manual foram instaladas. Disponível a partir do PHP 5.3.7.
PHP_LIBDIR (string)
PHP_DATADIR (string)
PHP_SYSCONFDIR (string)
PHP_LOCALSTATEDIR (string)
PHP_CONFIG_FILE_PATH (string)
PHP_CONFIG_FILE_SCAN_DIR (string)
PHP_SHLIB_SUFFIX (string)
O sufixo de bibliotecas compartilhadas da plataforma na qual o PHP foi compilado. Geralmente "so" (Unixes) ou "dll" (Windows).
PHP_FD_SETSIZE (string)
O número máximo de descritores de arquivos para as chamadas de sistema select. Disponível a partir do PHP 7.1.0.
E_ERROR (int)
Constante para relatório de erros
E_WARNING (int)
Constante para relatório de erros
E_PARSE (int)
Constante para relatório de erros
E_NOTICE (int)
Constante para relatório de erros
E_CORE_ERROR (int)
Constante para relatório de erros
E_CORE_WARNING (int)
Constante para relatório de erros
E_COMPILE_ERROR (int)
Constante para relatório de erros
E_COMPILE_WARNING (int)
Constante para relatório de erros
E_USER_ERROR (int)
Constante para relatório de erros
E_USER_WARNING (int)
Constante para relatório de erros
E_USER_NOTICE (int)
Constante para relatório de erros
E_RECOVERABLE_ERROR (int)
Constante para relatório de erros. Disponível a partir do PHP 5.2.0.
E_DEPRECATED (int)
Constante para relatório de erros. Disponível a partir do PHP 5.3.0.
E_USER_DEPRECATED (int)
Constante para relatório de erros. Disponível a partir do PHP 5.3.0.
E_ALL (int)
Constante para relatório de erros
E_STRICT (int)
Constante para relatório de erros
__COMPILER_HALT_OFFSET__ (int)
Disponível a partir do PHP 5.1.0.
true (bool)
Veja Booleanos.
false (bool)
Veja Booleanos.
null (bool)
Veja Null.
PHP_WINDOWS_EVENT_CTRL_C (int)
Um evento do Windows CTRL+C. Disponível a partir do PHP 7.4.0 (somente para o Windows).
PHP_WINDOWS_EVENT_CTRL_BREAK (int)
Um evento do Windows CTRL+BREAK. Disponível a partir do PHP 7.4.0 (somente para o Windows).

Veja também: Constantes Mágicas.

Constantes Padrão Predefinidas

Todas as constantes de extensões do núcleo são definidas no PHP por padrão.


Lista de outras palavras reservadas

As palavras a seguir não podem ser utilizadas como nome de classes, interfaces ou traits, e também são proibidas de ser usadas em namespaces.

Palavras reservadas
int (a partir do PHP 7) | float (a partir do PHP 7) | bool (a partir do PHP 7) | string (a partir do PHP 7)
true (a partir do PHP 7) | false (a partir do PHP 7) | null (a partir do PHP 7) | void (a partir do PHP 7.1)
iterable (a partir do PHP 7.1) | object (a partir do PHP 7.2)

A seguinte lista de palavras tem reservas brandas. Embora elas possam ser utilizadas como nomes de classes, interfaces e traits (bem como em namespaces), seu uso é altamente desencorajado pois elas podem se tornar palavras reservadas em versões futuras do PHP.

Palavras reservadas brandas
resource (a partir do PHP 7) mixed (a partir do PHP 7) numeric (a partir do PHP 7)


Lista de tipos de recursos no PHP

Abaixo segue a lista de funções possíveis para manipular os recursos no PHP. A função is_resource() pode ser usada para identificar se a variável é um recurso enquanto get_resource_type() pode ser utilizada para retornar o tipo de recurso.

Tipos de recursos
Nome dos tipos de recursos | Criado por | Utilizo em | Deletado por | Definido
AddressInfo | socket_addrinfo_lookup() | socket_addrinfo_bind(), socket_addrinfo_connect(), socket_addrinfo_explain(), | None | AddressInfo (extensão sockets)
bzip2 | bzopen() | bzerrno(), bzerror(), bzerrstr(), bzflush(), bzread(), bzwrite() | bzclose() | Bzip2 file
cubrid connection | cubrid_connect() cubrid_connect_with_url() | cubrid_col_get() cubrid_col_size() cubrid_commit() cubrid_drop() cubrid_execute() cubrid_get_autocommit() cubrid_get_charset() cubrid_get_class_name() cubrid_get_db_parameter() cubrid_get_server_info() cubrid_get() cubrid_insert_id() cubrid_is_instance() cubrid_lob_export() cubrid_lob_get() cubrid_lob_send() cubrid_lock_read() cubrid_lock_write() cubrid_prepare() cubrid_put() cubrid_rollback() cubrid_schema() cubrid_seq_drop() cubrid_seq_insert() cubrid_seq_put() cubrid_set_add() cubrid_set_autocommit() cubrid_set_db_parameter() cubrid_set_drop() cubrid_affected_rows() cubrid_client_encoding() cubrid_errno() cubrid_error() cubrid_list_dbs() cubrid_ping() cubrid_query() cubrid_real_escape_string() | cubrid_close() cubrid_disconnect() | Conexão pelo banco de dados CUBRID
conexão em persistência cubrid | cubrid_pconnect() cubrid_pconnect_with_url() | cubrid_col_get() cubrid_col_size() cubrid_commit() cubrid_drop() cubrid_execute() cubrid_get_autocommit() cubrid_get_charset() cubrid_get_class_name() cubrid_get_db_parameter() cubrid_get_server_info() cubrid_get() cubrid_insert_id() cubrid_is_instance() cubrid_lob_export() cubrid_lob_get() cubrid_lob_send() cubrid_lock_read() cubrid_lock_write() cubrid_prepare() cubrid_put() cubrid_rollback() cubrid_schema() cubrid_seq_drop() cubrid_seq_insert() cubrid_seq_put() cubrid_set_add() cubrid_set_autocommit() cubrid_set_db_parameter() cubrid_set_drop() cubrid_affected_rows() cubrid_client_encoding() cubrid_errno() cubrid_error() cubrid_list_dbs() cubrid_ping() cubrid_query() cubrid_real_escape_string() cubrid_lob2_new() | Conexão em persistência pelo banco de dados CUBRID
cubrid request | cubrid_prepare() cubrid_execute() cubrid_query() cubrid_unbuffered_query() | cubrid_bind() cubrid_column_names() cubrid_column_types() cubrid_current_oid() cubrid_execute() cubrid_free_result() cubrid_get_query_timeout() cubrid_move_cursor() cubrid_next_result() cubrid_num_cols() cubrid_num_rows() cubrid_set_query_timeout() cubrid_data_seek() cubrid_fetch_array() cubrid_fetch_assoc() cubrid_fetch_field() cubrid_fetch_lengths() cubrid_fetch_object() cubrid_fetch_row() cubrid_field_flags() cubrid_field_len() cubrid_field_name() cubrid_field_seek() cubrid_field_table() cubrid_field_type() cubrid_num_fields() cubrid_result() cubrid_lob2_bind() | cubrid_close_prepare() cubrid_close_request() | CUBRID request
cubrid lob | cubrid_lob_get() | cubrid_lob_export() cubrid_lob_send() cubrid_lob_size() | cubrid_lob_close() | None
cubrid lob2 | cubrid_lob2_new() cubrid_fetch() cubrid_fetch_row() cubrid_fetch_array() cubrid_fetch_assoc() cubrid_fetch_object() | cubrid_lob2_export() cubrid_lob2_import() cubrid_lob2_read() cubrid_lob2_write() cubrid_lob2_tell() cubrid_lob2_tell64() cubrid_lob2_seek() cubrid_lob2_seek64() cubrid_lob2_size() cubrid_lob2_size64() | cubrid_lob2_close() | None
curl | curl_copy_handle(), curl_init() | curl_copy_handle(), curl_errno(), curl_error(), curl_exec(), curl_getinfo(), curl_setopt() | curl_close() | cURL handle
curl_multi | curl_multi_init() | curl_multi_errno(), curl_multi_exec(), curl_multi_info_read(), curl_multi_remove_handle(), curl_multi_select(), curl_multi_setopt() | curl_multi_close() | cURL multi handle
curl_share | curl_share_init() | curl_share_errno(), curl_share_setopt() | curl_share_close() | cURL share handle
dba | dba_open() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | dba_close() | Link to DBA database
dba persistent | dba_popen() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | None | Persistent link to DBA database
dbase | dbase_open() | dbase_pack(), dbase_add_record(), dbase_replace_record(), dbase_delete_record(), dbase_get_record(), dbase_get_record_with_names(), dbase_numfields(), dbase_numrecords() | dbase_close() | Link to Dbase database
dbx_link_object | dbx_connect() | dbx_query() | dbx_close() | dbx connection
dbx_result_object | dbx_query() | None | dbx result
enchant_broker | enchant_broker_init() | enchant_broker_describe(), enchant_broker_dict_exists(), enchant_broker_get_dict_path(), enchant_broker_get_error(), enchant_broker_list_dicts(), enchant_broker_set_dict_path(), enchant_broker_set_ordering() | enchant_broker_free() | Enchant broker (prior to PHP 8.0.0)
enchant_dict | enchant_broker_request_dict() enchant_broker_request_pwl_dict() | enchant_dict_add_to_personal(), enchant_dict_add_to_session(), enchant_dict_check(), enchant_dict_describe(), enchant_dict_get_error(), enchant_dict_is_in_session(), enchant_dict_store_replacement(), enchant_dict_suggest() | enchant_broker_free_dict() | Enchant dictionary (prior to PHP 8.0.0)
fbsql link | fbsql_change_user(), fbsql_connect() | fbsql_autocommit(), fbsql_blob_size(), fbsql_clob_size(), fbsql_commit(), fbsql_change_user(), fbsql_create_blob(), fbsql_create_db(), fbsql_create_clob(), fbsql_data_seek(), fbsql_database_password(), fbsql_database(), fbsql_db_query(), fbsql_db_status(), fbsql_drop_db(), fbsql_errno(), fbsql_error(), fbsql_get_autostart_info(), fbsql_hostname(), fbsql_insert_id(), fbsql_list_dbs(), fbsql_password(), fbsql_read_blob(), fbsql_read_clob(), fbsql_rollback(), fbsql_select_db(), fbsql_set_password(), fbsql_set_transaction(), fbsql_start_db(), fbsql_stop_db(), fbsql_username() | fbsql_close() | Link para fbsql database
fbsql plink | fbsql_change_user(), fbsql_pconnect() | fbsql_autocommit(), fbsql_change_user(), fbsql_create_db(), fbsql_data_seek(), fbsql_db_query(), fbsql_drop_db(), fbsql_select_db(), fbsql_errno(), fbsql_error(), fbsql_insert_id(), fbsql_list_dbs() | None | Conexão em persistência no fbsql database
fbsql result | fbsql_db_query(), fbsql_list_dbs(), fbsql_query(), fbsql_list_fields(), fbsql_list_tables(), fbsql_tablename() | fbsql_affected_rows(), fbsql_fetch_array(), fbsql_fetch_assoc(), fbsql_fetch_field(), fbsql_fetch_lengths(), fbsql_fetch_object(), fbsql_fetch_row(), fbsql_field_flags(), fbsql_field_name(), fbsql_field_len(), fbsql_field_seek(), fbsql_field_table(), fbsql_field_type(), fbsql_next_result(), fbsql_num_fields(), fbsql_num_rows(), fbsql_result(), fbsql_num_rows() | fbsql_free_result() | fbsql result
fdf | fdf_open() | fdf_create(), fdf_save(), fdf_get_value(), fdf_set_value(), fdf_next_field_name(), fdf_set_ap(), fdf_set_status(), fdf_get_status(), fdf_set_file(), fdf_get_file(), fdf_set_flags(), fdf_set_opt(), fdf_set_submit_form_action(), fdf_set_javascript_action() | fdf_close() | Arquivo FDF
ftp | ftp_connect(), ftp_ssl_connect() | ftp_login(), ftp_pwd(), ftp_cdup(), ftp_chdir(), ftp_mkdir(), ftp_rmdir(), ftp_nlist(), ftp_rawlist(), ftp_systype(), ftp_pasv(), ftp_get(), ftp_fget(), ftp_put(), ftp_fput(), ftp_size(), ftp_mdtm(), ftp_rename(), ftp_delete(), ftp_site(), ftp_alloc(), ftp_chmod(), ftp_exec(), ftp_get_option(), ftp_nb_continue(), ftp_nb_fget(), ftp_nb_fput(), ftp_nb_get(), ftp_nb_put(), ftp_raw(), ftp_set_option() | ftp_close() | FTP stream
gd | imagecreate(), imagecreatefromgd(), imagecreatefromgd2(), imagecreatefromgd2part(), imagecreatefromgif(), imagecreatefromjpeg(), imagecreatefrompng(), imagecreatefromwbmp(), imagecreatefromstring(), imagecreatefromxbm(), imagecreatefromxpm(), imagecreatetruecolor(), imagerotate() | imagearc(), imagechar(), imagecharup(), imagecolorallocate(), imagecolorat(), imagecolorclosest(), imagecolorexact(), imagecolorresolve(), imagegammacorrect(), imagegammacorrect(), imagecolorset(), imagecolorsforindex(), imagecolorstotal(), imagecolortransparent(), imagecopy(), imagecopyresized(), imagedashedline(), imagefill(), imagefilledpolygon(), imagefilledrectangle(), imagefilltoborder(), imagegif(), imagepng(), imagejpeg(), imagewbmp(), imageinterlace(), imageline(), imagepolygon(), imagepstext(), imagerectangle(), imagerotate(), imagesetpixel(), imagestring(), imagestringup(), imagesx(), imagesy(), imagettftext(), imagefilledarc(), imageellipse(), imagefilledellipse(), imagecolorclosestalpha(), imagecolorexactalpha(), imagecolorresolvealpha(), imagecopymerge(), imagecopymergegray(), imagecopyresampled(), imagetruecolortopalette(), imagesetbrush(), imagesettile(), imagesetthickness(), image2wbmp(), imagealphablending(), imageantialias(), imagecolorallocatealpha(), imagecolorclosesthwb(), imagecolordeallocate(), imagecolormatch(), imagefilter(), imagefttext(), imagegd(), imagegd2(), imageistruecolor(), imagelayereffect(), imagepalettecopy(), imagesavealpha(), imagesetstyle(), imagexbm() | imagedestroy() | Imagem GD
gd font | imageloadfont() | imagechar(), imagecharup(), imagefontheight() | None | Fonte para GD
inteiro GMP | gmp_init() | gmp_intval(), gmp_strval(), gmp_add(), gmp_sub(), gmp_mul(), gmp_div_q(), gmp_div_r(), gmp_div_qr(), gmp_div(), gmp_mod(), gmp_divexact(), gmp_cmp(), gmp_neg(), gmp_abs(), gmp_sign(), gmp_fact(), gmp_sqrt(), gmp_sqrtrm(), gmp_perfect_square(), gmp_pow(), gmp_powm(), gmp_prob_prime(), gmp_gcd(), gmp_gcdext(), gmp_invert(), gmp_legendre(), gmp_jacobi(), gmp_random(), gmp_and(), gmp_or(), gmp_xor(), gmp_setbit(), gmp_clrbit(), gmp_scan0(), gmp_scan1(), gmp_popcount(), gmp_hamdist() | None | Número GMP
imap | imap_open() | imap_append(), imap_body(), imap_check(), imap_createmailbox(), imap_delete(), imap_deletemailbox(), imap_expunge(), imap_fetchbody(), imap_fetchstructure(), imap_headerinfo(), imap_header(), imap_headers(), imap_listmailbox(), imap_getmailboxes(), imap_get_quota(), imap_status(), imap_listsubscribed(), imap_set_quota(), imap_set_quota(), imap_getsubscribed(), imap_mail_copy(), imap_mail_move(), imap_num_msg(), imap_num_recent(), imap_ping(), imap_renamemailbox(), imap_reopen(), imap_subscribe(), imap_undelete(), imap_unsubscribe(), imap_scanmailbox(), imap_mailboxmsginfo(), imap_fetchheader(), imap_uid(), imap_msgno(), imap_search(), imap_fetch_overview() | imap_close() | Link para os servidores IMAP e POP3
ingres | ingres_connect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | ingres_close() | Link para ingresII base
ingres persistent | ingres_pconnect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | None | Conexão em persistência no ingresII base
interbase blob | ibase_blob_create(), ibase_blob_import(), ibase_blob_open() | ibase_blob_add(), ibase_blob_cancel(), ibase_blob_echo(), ibase_blob_get(), ibase_blob_info() | ibase_blob_close()
interbase link | ibase_connect() | ibase_query(), ibase_prepare(), ibase_trans() | ibase_close() | Link to Interbase database
interbase link persistent | ibase_pconnect() | ibase_query(), ibase_prepare(), ibase_trans() | None | Conexão em persistência no banco de dados Interbase
interbase query | ibase_prepare() | ibase_execute() | ibase_free_query() | Interbase query
interbase result | ibase_query() | ibase_fetch_row(), ibase_fetch_object(), ibase_field_info(), ibase_num_fields() | ibase_free_result() | Interbase Result
interbase transaction | ibase_trans() | ibase_commit() | ibase_rollback() | Interbase transaction
Link ldap | ldap_connect(), ldap_search() | ldap_count_entries(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_next_attribute(), ldap_next_entry() | ldap_close() | Conexão ldap
ldap result | ldap_read() | ldap_add(), ldap_compare(), ldap_bind(), ldap_count_entries(), ldap_delete(), ldap_errno(), ldap_error(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_get_option(), ldap_list(), ldap_modify(), ldap_mod_add(), ldap_mod_replace(), ldap_next_attribute(), ldap_next_entry(), ldap_mod_del(), ldap_set_option(), ldap_unbind() | ldap_free_result() | ldap search result
Resultado de entrada ldap
Conexão mysql | mysql_connect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | mysql_close() | Conexão para o banco de dados MySQL
Conexão persistênte para mysql | mysql_pconnect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | None | Conexão persistênte para MySQL
Resultado mysql | mysql_db_query(), mysql_list_dbs(), mysql_list_fields(), mysql_list_processes(), mysql_list_tables(), mysql_query(), mysql_unbuffered_query() | mysql_data_seek(), mysql_db_name(), mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_field(), mysql_fetch_lengths(), mysql_fetch_object(), mysql_fetch_row(), mysql_fetch_row(), mysql_field_flags(), mysql_field_name(), mysql_field_len(), mysql_field_seek(), mysql_field_table(), mysql_field_type(), mysql_num_fields(), mysql_num_rows(), mysql_result(), mysql_tablename() | mysql_free_result() | Resultado MySQL
oci8 collection | oci_new_collection() | OCICollection::append(), OCICollection::assign(), OCICollection::assignElem(), OCICollection::getElem(), OCICollection::max(), OCICollection::size(), OCICollection::trim() | OCICollection::free() | Oracle Collection
oci8 connection | oci_connect(), oci_pconnect(), oci_new_connect() | oci_commit(), oci_error(), oci_new_cursor(), oci_parse(), oci_password_change(), oci_rollback(), oci_server_version(), oci_set_action(), oci_set_client_identifier(), oci_set_client_info(), oci_set_module_name() | oci_close() | Connection to Oracle Database
oci8 lob | oci_new_descriptor() | OCILob::append(), OCILob::close(), OCILob::eof(), OCILob::erase(), OCILob::export(), OCILob::flush(), OCILob::getBuffering(), OCILob::import(), OCILob::load(), OCILob::read(), OCILob::rewind(), OCILob::save(), OCILob::saveFile(), OCILob::seek(), OCILob::setBuffering(), OCILob::size(), OCILob::tell(), OCILob::truncate(), OCILob::write(), OCILob::writeTemporary(), OCILob::writeToFile(), oci_lob_copy(), oci_lob_is_equal() | OCILob::free() | Oracle large objects
oci8 statement | oci_parse(), oci_new_cursor() | oci_bind_array_by_name(), oci_bind_by_name(), oci_cancel(), oci_define_by_name(), oci_error() oci_execute(), oci_fetch_all(), oci_fetch_array(), oci_fetch_assoc(), oci_fetch_object(), oci_fetch_row(), oci_fetch(), oci_field_is_null(), oci_field_name(), oci_field_precision(), oci_field_scale(), oci_field_size(), oci_field_type_raw(), oci_field_type(), oci_num_fields(), oci_num_rows(), oci_result(), oci_set_prefetch(), oci_statement_type() | oci_free_statement() | Oracle cursor
Conexão odbc | odbc_connect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | odbc_close() | Conexão para o banco de dados ODBC
Conexão persistênte para odbc | odbc_pconnect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | Nenhum | Conexão persistênte no ODBC
Resultado odbc | odbc_prepare() | odbc_binmode(), odbc_cursor(), odbc_execute(), odbc_fetch_into(), odbc_fetch_row(), odbc_field_name(), odbc_field_num(), odbc_field_type(), odbc_field_len(), odbc_field_precision(), odbc_field_scale(), odbc_longreadlen(), odbc_num_fields(), odbc_num_rows(), odbc_result(), odbc_result_all(), odbc_setoption() | odbc_free_result() | Resultado ODBC
Conexão birdstep | Link to Birdstep database (prior to PHP 7.3.0)
Resultado birdstep | Birdstep result (prior to PHP 7.3.0)
Chave OpenSSL | openssl_get_privatekey(), openssl_get_publickey() | openssl_sign(), openssl_seal(), openssl_open(), openssl_verify() | openssl_free_key() | Chave OpenSSL
OpenSSL X.509 | openssl_x509_read() | openssl_x509_parse(), openssl_x509_checkpurpose() | openssl_x509_free() | Chave pública
pgsql large object | pg_lo_open() | pg_lo_open(), pg_lo_create(), pg_lo_read(), pg_lo_read_all(), pg_lo_seek(), pg_lo_tell(), pg_lo_unlink(), pg_lo_write() | pg_lo_close() | PostgreSQL Large Object
Conexão pgsql | pg_connect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | pg_close() | Conexão no banco de dados PostgreSQL
Conexão em persistência pgsql | pg_pconnect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | Nenhum | Conexão em persistência PostgreSQL
Resultado pgsql | pg_execute(), pg_query(), pg_query_params(), pg_get_result() | pg_fetch_array(), pg_fetch_object(), pg_fetch_result(), pg_fetch_row(), pg_field_is_null(), pg_field_name(), pg_field_num(), pg_field_prtlen(), pg_field_size(), pg_field_type(), pg_last_oid(), pg_num_fields(), pg_num_rows(), pg_result_error(), pg_result_status() | pg_free_result() | Resultado PostgreSQL
pgsql string
pspell | pspell_new(), pspell_new_config(), pspell_new_personal() | pspell_add_to_personal(), pspell_add_to_session(), pspell_check(), pspell_clear_session(), pspell_config_ignore(), pspell_config_mode(), pspell_config_personal(), pspell_config_repl(), pspell_config_runtogether(), pspell_config_save_repl(), pspell_save_wordlist(), pspell_store_replacement(), pspell_suggest() | Nenhum | pspell dictionary
Configuração pspell | pspell_config_create() | pspell_new_config() | None | pspell configuration
shmop | shmop_open() | shmop_read(), shmop_write(), shmop_size(), shmop_delete() | shmop_close() | Identificador de bloco de memória compartilhada (anterior ao PHP 8.0.0)
Socket | socket_accept(), socket_addrinfo_bind(), socket_addrinfo_connect(), socket_create(), socket_create_listen(), socket_import_stream(), socket_wsaprotocol_info_import() | socket_accept(), socket_bind(), socket_clear_error(), socket_connect(), socket_get_option(), socket_getpeername(), socket_getsockname(), socket_last_error(), socket_listen(), socket_read(), socket_recv(), socket_recvfrom(), socket_recvmsg(), socket_select(), socket_send(), socket_sendmsg(), socket_sendto(), socket_set_block(), socket_set_nonblock(), socket_set_option(), socket_shutdown(), socket_write(), socket_wsaprotocol_info_export(), socket_wsaprotocol_info_release() | socket_close() | Socket (extensão sockets)
stream | opendir() | readdir(), rewinddir() | closedir() | Dir handle
stream | fopen(), tmpfile() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), flock(), fpassthru(), fputs(), fwrite(), fread(), fseek(), ftell(), fstat(), ftruncate(), set_file_buffer(), rewind() | fclose() | File handle
stream | popen(), fsockopen(), pfsockopen() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | pclose() | Process handle
socket | fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | fclose() | Socket handle
SSH2 Session | ssh2_connect() | ssh2_disconnect()
SSH2 Listener | ssh2_forward_listen()
SSH2 SFTP | ssh2_sftp()
SSH2 Publickey Subsystem | ssh2_publickey_init()
sysvmsg queue | msg_get_queue() | msg_queue_exists(), msg_receive(), msg_send(), msg_set_queue(), msg_stat_queue() | msg_remove_queue() | System V Message Queue
sysvsem | sem_get() | sem_acquire() | sem_release() | System V Semaphore
sysvshm | shm_attach() | shm_remove(), shm_put_var(), shm_get_var(), shm_remove_var() | shm_detach() | Sistema V de memória compartilhada
wddx | wddx_packet_start() | wddx_add_vars() | wddx_packet_end() | WDDX packet
xml | xml_parser_create(), xml_parser_create_ns() | xml_set_object(), xml_set_element_handler(), xml_set_character_data_handler(), xml_set_processing_instruction_handler(), xml_set_default_handler(), xml_set_unparsed_entity_decl_handler(), xml_set_notation_decl_handler(), xml_set_external_entity_ref_handler(), xml_parse(), xml_get_error_code(), xml_error_string(), xml_get_current_line_number(), xml_get_current_column_number(), xml_get_current_byte_index(), xml_parse_into_struct(), xml_parser_set_option(), xml_parser_get_option() | xml_parser_free() | XML parser (anterior ao PHP 8.0.0)
zlib | gzopen() | gzeof(), gzgetc(), gzgets(), gzgetss(), gzpassthru(), gzputs(), gzread(), gzrewind(), gzseek(), gztell(), gzwrite() | gzclose() | gz-compressed file
zlib.deflate | deflate_init() | deflate_add() | None | incremental deflate context (anterior ao PHP 8.0.0)
zlib.inflate | inflate_init() | inflate_add(), inflate_get_read_len(), inflate_get_status() | None | incremental inflate context (anterior ao PHP 8.0.0)


Lista de Filtros Disponíveis

Índice

  • Filtros de String
  • Fitros de Conversão
  • Filtros de Compressão
  • Filtros de Criptografia

A seguir está uma lista de alguns filtros internos de stream para uso com stream_filter_append(). Sua versão do PHP pode ter mais filtros (ou menos) que os listados aqui.

Vale notar que existe uma leve assimetria entre stream_filter_append() e stream_filter_prepend(). Toda stream no PHP contém um pequeno buffer de leitura onde ela guarda blocos de dados recuperados do sistema de arquivos ou outro recurso (resource) com o propósito de processar dados da maneira mais eficiente. Assim que os dados são recuperados do recurso para o buffer interno da stream, eles são processados imediatamente por qualquer filtro anexo quer esteja a aplicação PHP preparada para receber os dados ou não. Se os dados estão esperando no buffer de leitura quando um filtro for anexado, esses dados serão imediatamente processados através daquele filtro, fazendo o fato de que eles estavam esperando no buffer transparente. No entanto, se os dados estão esperando no buffer de leitura quando um filtro é prefixado, esses dados NÃO serão processados por este filtro. Ao invés disso, eles esperarão até o próximo bloco de dados ser recuperado do recurso.

Para uma lista dos filtros instalados na sua versão do PHP use stream_get_filters().


Filtros de String

Cada um destes filtros faz precisamente o que o seu nome implica e corresponde ao comportamento da função interna de tratamento de string homônima. Para mais informações sobre um determinado filtro, veja a página do manual para a função correspondente.

string.rot13

O uso desse filtro é equivalente a processar todos os dados da stream com a função str_rot13().

Exemplo #1 string.rot13

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.rot13');
fwrite($fp, "Isto é um teste.\n");
/* Saída:  Vfgb é hz grfgr.   */
?>

string.toupper

O uso desse filtro é equivalente a processar todos os dados da stream com a função strtoupper().

Exemplo #2 string.toupper

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.toupper');
fwrite($fp, "Isto é um teste.\n");
/* Saída:  ISTO é UM TESTE.   */
?>

string.tolower

O uso desse filtro é equivalente a processar todos os dados da stream com a função strtolower().

Exemplo #3 string.tolower

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.tolower');
fwrite($fp, "Isto é um teste.\n");
/* Saída:  isto é um teste.   */
?>

string.strip_tags

O uso desse filtro é equivalente a processar todos os dados da stream com a função strip_tags(). Ela aceita parâmetros em uma das duas formas: Ou como uma string contendo uma lista de tags similares ao segundo parâmetro da função strip_tags(), ou como um array com os nomes das tags.

Aviso

This feature has been DEPRECATED as of PHP 7.3.0. Relying on this feature is highly discouraged.

Exemplo #4 string.strip_tags

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, "<b><i><u>");
fwrite($fp, "<b>texto em negrito</b> aumentado para um <h1>heading de nível 1</h1>\n");
fclose($fp);
/* Saída:  <b>texto em negrito</b> aumentado para um heading de nível 1   */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, array('b','i','u'));
fwrite($fp, "<b>texto em negrito</b> aumentado para um <h1>heading de nível 1</h1>\n");
fclose($fp);
/* Saída:  <b>texto em negrito</b> aumentado para um heading de nível 1   */
?>


Fitros de Conversão

Como todos os filtros string.*, os filtros convert.* realizam ações similares aos seus nomes. Para mais informações sobre um determinado filtro, veja a página do manual para a função correspondente.

convert.base64-encode e convert.base64-decode

O uso desses filtros é equivalente a processar todos os dados da stream com as funções base64_encode() e base64_decode() respectivamente. convert.base64-encode suporta parâmetros no formato de um array associativo. Se line-length for passado, a saída do base64 será dividida em pedaços de line-length caracteres cada. Se line-break-chars for passado, cada pedaço será delimitado pelos caracteres passados. Esses parâmetros dão o mesmo efeito que usar base64_encode() com chunk_split().

Exemplo #1 convert.base64-encode & convert.base64-decode

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode');
fwrite($fp, "Isto é um teste.\n");
fclose($fp);
/* Saída:  SXN0byDDqSB1bSB0ZXN0ZS4K  */

$param = array('line-length' => 8, 'line-break-chars' => "\r\n");
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode', STREAM_FILTER_WRITE, $param);
fwrite($fp, "Isto é um teste.\n");
fclose($fp);
/* Saída:  SXN0byDD
        :  qSB1bSB0
        :  ZXN0ZS4K  */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-decode');
fwrite($fp, "SXN0byDDqSB1bSB0ZXN0ZS4K");
fclose($fp);
/* Saída:  Isto é um teste.  */
?>

convert.quoted-printable-encode e convert.quoted-printable-decode

O uso da versão de decodificação desse filtro é equivalente ao processamento de todos os dados da stream pelas funções quoted_printable_decode(). Não há nenhuma função equivalente a convert.quoted-printable-encode. convert.quoted-printable-encode suporta parâmetros passados como um array associativo. Além dos parâmetros suportados por convert.base64-encode, convert.quoted-printable-encode também suporta os argumentos booleanos binary e force-encode-first. convert.base64-decode suporta apenas o parâmetro line-break-chars como uma dica de tipo para retirar do conteúdo codificado.

Exemplo #2 convert.quoted-printable-encode & convert.quoted-printable-decode

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.quoted-printable-encode');
fwrite($fp, "Isto é um teste.\n");
/* Saída:  Isto =C3=A9 um teste.=0A  */
?>

convert.iconv.*

Os filtros convert.iconv.* estarão disponíveis se o suporte a iconv estiver habilitado, e se sua utilização é equivalente a processar todos os dados do stream através do iconv(). Esses filtros não suportam parâmetros, em vez disso esperam que as codificações de entrada e saída sejam informados no nome do filtro, por exemplo, convert.iconv.<input-encoding>.<output-encoding> ou convert.iconv.<input-encoding>/<output-encoding> (ambas notações são equivalentes).

Exemplo #3 convert.iconv.*

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.iconv.utf-16le.utf-8');
fwrite($fp, "T\0h\0i\0s\0 \0i\0s\0 \0a\0 \0t\0e\0s\0t\0.\0\n\0");
fclose($fp);
/* Outputs: This is a test. */
?>


Filtros de Compressão

Enquanto os Wrappers de Compressão fornecem uma maneira de criar arquivos compatíveis com gzip e bz2 no sistema de arquivos local, eles não fornecem um meio para compressão generalizada sobre streams de rede, nem fornecem uma maneira de começar com uma stream não-comprimida e mudar para uma comprimida. Para isso, um filtro de compressão pode ser aplicado a qualquer recurso de stream em qualquer momento.

Nota: Filtros de compressão não geram cabeçalhos e rodapés usados por utilitários de linha de comando como o gzip. Eles apenas comprimem e descomprimem as porções de conteúdo das streams de dados comprimidas.

zlib.deflate and zlib.inflate

zlib.deflate (compressão) e zlib.inflate (descompressão) são implementações dos métodos de compressão descritos no » RFC 1951. O filtro deflate recebe até três parâmetros passados como um array associativo. level descreve o nível de compressão a ser usada (1-9). Números mais altos geralmente resultam em cargas menores com o custo de tempo de processamento adicional. Dois níveis especiais de compressão também existem: 0 (para nenhuma compressão), e -1 (padrão interno da zlib -- atualmente 6). window é o logaritmo na base 2 do tamanho da janela de loopback de compressão. Valores mais altos (até 15 -- 32768 bytes) resultam em melhor compressão ao custo de memória, enquanto valores menores (até 9 -- 512 bytes) resultam em pior compressão usando menos memória. O tamanho padrão de window atualmente é 15. memory é uma escala indicando quanta memória deve ser alocada para trabalhar. Valores válidos vão de 1 (alocação mínima) até 9 (alocação máxima). Essa alocação de memória afeta apenas a velocidade e não tem impacto sobre o tamanho do conteúdo gerado.

Nota: Pelo fato do nível de compressão ser o parâmetro mais usado normalmente, ele pode ser passado de maneira alternativa como um simples valor inteiro (ao invés de um elemento de um array).

Filtros de compressão zlib.* compression estarão disponíveis se o suporte ao zlib estiver ativado.

Exemplo #1 zlib.deflate e zlib.inflate

<?php
$params = array('level' => 6, 'window' => 15, 'memory' => 9);

$original_text = "Isto é um teste.\nIsto é apenas um teste.\nEsta não é uma string importante.\n";
echo "O texto original tem " . strlen($original_text) . " caracteres.\n";

$fp = fopen('test.deflated', 'w');
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, $params);
fwrite($fp, $original_text);
fclose($fp);

echo "O arquivo comprimido tem " . filesize('test.deflated') . " bytes.\n";
echo "O texto original era:\n";
/* Use readfile e zlib.inflate para descomprimir de forma improvisada */
readfile('php://filter/zlib.inflate/resource=test.deflated');

/* Gera a saída:

O texto original tem 79 caracteres.
O arquivo comprimido tem 61 bytes.
O texto original era:
Isto é um teste.
Isto é apenas um teste.
Esta não é uma string importante.

 */
?>

Exemplo #2 zlib.deflate simples

<?php
$original_text = "Isto é um teste.\nIsto é apenas um teste.\nEsta não é uma string importante.\n";
echo "O texto original tem " . strlen($original_text) . " caracteres.\n";

$fp = fopen('test.deflated', 'w');
/* Aqui "6" indica nível de compressão 6 */
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, 6);
fwrite($fp, $original_text);
fclose($fp);

echo "O arquivo comprimido tem " . filesize('test.deflated') . " bytes.\n";

/* Gera a saída:

O texto original tem 79 caracteres.
O arquivo comprimido tem 60 bytes.

 */
?>

bzip2.compress and bzip2.decompress

bzip2.compress e bzip2.decompress funcionam da mesma maneira que os filtros da zlib descritos acima. O filtro bzip2.compress aceita até dois parâmetros passados como elementos de um array associativo: blocks é um valor inteiro de 1 até 9 especificando o número de blocos de 100kbyte de memória para alocar para o espaço de trabalho. work também é um valor inteiro variando de 0 a 250 indicando quanto esforço será realizado usando o método normal de compressão antes de desistir e usar um mais lento, mas mais confiável. Alterar esse parâmetro afeta apenas a velocidade de compressão. Nem o tamanho da saída comprimida nem o uso de memória são alterados por essa configuração. Um fator de trabalho de 0 diz à biblioteca bzip para usar o padrão interno. O filtro bzip2.decompress só aceita um parâmetro, que pode ser passado ou como um valor booleano comum ou como o elemento small de um array associativo. small, quando configurado para o valor true, diz à biblioteca bzip para fazer a descompressão usando o mínimo de memória ao custo da velocidade.

Filtros de compressão zlib.* compression estarão disponíveis se o suporte ao zlib estiver ativado.

Exemplo #3 bzip2.compress e bzip2.decompress

<?php
$param = array('blocks' => 9, 'work' => 0);

echo "O arquivo original tem " . filesize('LICENSE') . " bytes.\n";

$fp = fopen('LICENSE.compressed', 'w');
stream_filter_append($fp, 'bzip2.compress', STREAM_FILTER_WRITE, $param);
fwrite($fp, file_get_contents('LICENSE'));
fclose($fp);

echo "O arquivo comprimido tem " . filesize('LICENSE.compressed') . " bytes.\n";

/* Gera a saída:

O arquivo original tem 3218 bytes.
O arquivo comprimido tem 1511 bytes.

 */
?>


Filtros de Criptografia

Aviso

This feature has been DEPRECATED as of PHP 7.1.0. Relying on this feature is highly discouraged.

Os filtros de criptografia são especialmente úteis para criptografia de arquivo/stream.

mcrypt.* and mdecrypt.*

Aviso

This feature has been DEPRECATED as of PHP 7.1.0. Relying on this feature is highly discouraged.

Os filtros mcrypt.* e mdecrypt.* fornecem criptografia e descriptografia simétricas usando libmcrypt. Ambos os conjuntos de filtros suportam os mesmos algoritmos disponíveis na extensão mcrypt na forma de mcrypt.ciphername onde ciphername é o nome da cifra como seria passado para mcrypt_module_open(). Os cinco parâmetros de filtros a seguir também estão disponíveis:

Parâmetros para os filtros mcrypt
Parâmetro | Obrigatório? | Valor Padrão | Exemplos de Valores
mode | Opcional | cbc | cbc, cfb, ecb, nofb, ofb, stream
algorithms_dir | Opcional | ini_get('mcrypt.algorithms_dir') | Localização dos módulos de algoritmos
modes_dir | Opcional | ini_get('mcrypt.modes_dir') | Localização dos módulos de modos
iv | Obrigatório | N/A | Tipicamente 8, 16 ou 32 bytes de dados binários. Depende da cifra.
key | Obrigatório | N/A | Tipicamente 8, 16 ou 32 bytes de dados binários. Depende da cifra.

Exemplo #1 Criptografar/Descriptografar com Blowfish

<?php
// assume-se que $key foi gerada anteriormente
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM);
$fp = fopen('encrypted-file.enc', 'wb');
fwrite($fp, $iv);
$opts = array('mode'=>'cbc','iv'=>$iv, 'key'=>$key);
stream_filter_append($fp, 'mcrypt.blowfish', STREAM_FILTER_WRITE, $opts);
fwrite($fp, 'mensagem para criptografar');
fclose($fp);

// descriptografar...
$fp = fopen('encrypted-file.enc', 'rb');
$iv = fread($fp, $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_CBC));
$opts = array('mode'=>'cbc','iv'=>$iv, 'key'=>$key);
stream_filter_append($fp, 'mdecrypt.blowfish', STREAM_FILTER_READ, $opts);
$data = rtrim(stream_get_contents($fp)); // retira o null padding
fclose($fp);
echo $data;
?>

Exemplo #2 Criptografar arquivo usando CBC AES-128 com HMAC SHA256

<?php
AES_CBC::encryptFile($password, "plaintext.txt", "encrypted.enc");
AES_CBC::decryptFile($password, "encrypted.enc", "decrypted.txt");

class AES_CBC
{
   protected static $KEY_SIZES = array('AES-128'=>16,'AES-192'=>24,'AES-256'=>32);
   protected static function key_size() { return self::$KEY_SIZES['AES-128']; } // padrão AES-128
   public static function encryptFile($password, $input_stream, $aes_filename){
      $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
      $fin = fopen($input_stream, "rb");
      $fc = fopen($aes_filename, "wb+");
      if (!empty($fin) && !empty($fc)) {
         fwrite($fc, str_repeat("_", 32) ); // placeholder, HMAC SHA256 será usado aqui mais tarde
         fwrite($fc, $hmac_salt = mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM));
         fwrite($fc, $esalt = mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM));
         fwrite($fc, $iv = mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM));
         $ekey = hash_pbkdf2("sha256", $password, $esalt, $it=1000, self::key_size(), $raw=true);
         $opts = array('mode'=>'cbc', 'iv'=>$iv, 'key'=>$ekey);
         stream_filter_append($fc, 'mcrypt.rijndael-128', STREAM_FILTER_WRITE, $opts);
         $infilesize = 0;
         while (!feof($fin)) {
            $block = fread($fin, 8192);
            $infilesize+=strlen($block);
            fwrite($fc, $block);
         }
         $block_size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
         $padding = $block_size - ($infilesize % $block_size);//$padding is a number from 1-16
         fwrite($fc, str_repeat(chr($padding), $padding) );//perform PKCS7 padding
         fclose($fin);
         fclose($fc);
         $hmac_raw = self::calculate_hmac_after_32bytes($password, $hmac_salt, $aes_filename);
         $fc = fopen($aes_filename, "rb+");
         fwrite($fc, $hmac_raw);//overwrite placeholder
         fclose($fc);
      }
   }
   public static function decryptFile($password, $aes_filename, $out_stream) {
      $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
      $hmac_raw = file_get_contents($aes_filename, false, NULL,  0, 32);
      $hmac_salt = file_get_contents($aes_filename, false, NULL, 32, $iv_size);
      $hmac_calc = self::calculate_hmac_after_32bytes($password, $hmac_salt, $aes_filename);
      $fc = fopen($aes_filename, "rb");
      $fout = fopen($out_stream, 'wb');
      if (!empty($fout) && !empty($fc) && self::hash_equals($hmac_raw,$hmac_calc)) {
         fread($fc, 32+$iv_size);//skip sha256 hmac and salt
         $esalt = fread($fc, $iv_size);
         $iv    = fread($fc, $iv_size);
         $ekey = hash_pbkdf2("sha256", $password, $esalt, $it=1000, self::key_size(), $raw=true);
         $opts = array('mode'=>'cbc', 'iv'=>$iv, 'key'=>$ekey);
         stream_filter_append($fc, 'mdecrypt.rijndael-128', STREAM_FILTER_READ, $opts);
         while (!feof($fc)) {
            $block = fread($fc, 8192);
            if (feof($fc)) {
               $padding = ord($block[strlen($block) - 1]);//assume PKCS7 padding
               $block = substr($block, 0, 0-$padding);
            }
            fwrite($fout, $block);
         }
         fclose($fout);
         fclose($fc);
      }
   }
   private static function hash_equals($str1, $str2) {
      if(strlen($str1) == strlen($str2)) {
         $res = $str1 ^ $str2;
         for($ret=0,$i = strlen($res) - 1; $i >= 0; $i--) $ret |= ord($res[$i]);
         return !$ret;
      }
      return false;
   }
   private static function calculate_hmac_after_32bytes($password, $hsalt, $filename) {
      static $init=0;
      $init or $init = stream_filter_register("user-filter.skipfirst32bytes", "FileSkip32Bytes");
      $stream = 'php://filter/read=user-filter.skipfirst32bytes/resource=' . $filename;
      $hkey = hash_pbkdf2("sha256", $password, $hsalt, $iterations=1000, 24, $raw=true);
      return hash_hmac_file('sha256', $stream, $hkey, $raw=true);
   }
}
class FileSkip32Bytes extends php_user_filter
{
   private $skipped=0;
   function filter($in, $out, &$consumed, $closing)  {
      while ($bucket = stream_bucket_make_writeable($in)) {
         $outlen = $bucket->datalen;
         if ($this->skipped<32){
            $outlen = min($bucket->datalen,32-$this->skipped);
            $bucket->data = substr($bucket->data, $outlen);
            $bucket->datalen = $bucket->datalen-$outlen;
            $this->skipped+=$outlen;
         }
         $consumed += $outlen;
         stream_bucket_append($out, $bucket);
      }
      return PSFS_PASS_ON;
   }
}
class AES_128_CBC extends AES_CBC {
   protected static function key_size() { return self::$KEY_SIZES['AES-128']; }
}
class AES_192_CBC extends AES_CBC {
   protected static function key_size() { return self::$KEY_SIZES['AES-192']; }
}
class AES_256_CBC extends AES_CBC {
   protected static function key_size() { return self::$KEY_SIZES['AES-256']; }
}


Lista de Transportes via Socket Suportados

Índice

  • Domínios da Internet: TCP, UDP, SSL, e TLS
  • Domínio Unix: Unix e UDG

Segue a lista dos vários estilos de URL para transporte via socket que o PHP tem integrado para uso com funções de fluxos de dados baseados em socket como fsockopen(), e stream_socket_client(). Esses transportes não se aplicam à Extensão de Sockets.

Para uma lista de transportes instalados na sua versão do PHP use stream_get_transports().


Domínios da Internet: TCP, UDP, SSL, e TLS

ssl:// & tls://, sslv2:// & sslv3://.

Nota: Se nenhum transporte for especificado, tcp:// será usado.

  • 127.0.0.1
  • fe80::1
  • www.example.com
  • tcp://127.0.0.1
  • tcp://fe80::1
  • tcp://www.example.com
  • udp://www.example.com
  • ssl://www.example.com
  • sslv2://www.example.com
  • sslv3://www.example.com
  • tls://www.example.com

Sockets nos Domínios da Internet esperam um número de porta além do endereço desejado. No caso de fsockopen(), esta é especificada no segundo parâmetro e, portanto, não afeta a formatação da URL. Com stream_socket_client() e funções relacionadas como com as URLs tradicionais, no entanto, o número da porta é especificado como um sufixo à URL delimitada por dois-pontos.

  • tcp://127.0.0.1:80
  • tcp://[fe80::1]:80
  • tcp://www.example.com:80

Nota: Endereços númericos com número de porta em IPv6
No segundo exemplo acima, enquanto os exemplos em IPv4 e nome de host permaneceram iguais, exceto pela adição do dois-pontos e número da porta, o endereço em IPv6 é envolto em colchetes: [fe80::1]. Isso é para destinguir entre os dois pontos de um endereço IPv6 e como separador de porta no IPv4.

Os transportes ssl:// e tls:// (disponíveis apenas quando o suporte a openssl é compilado no PHP) são extensões do transporte tcp:// que incluem encriptação SSL.

ssl:// tentará negociar uma conexão SSL V2 ou SSL V3, dependendo das capacidades e preferências do host remoto. sslv2:// e sslv3:// selecionará o protocolo de maneira explícita.


Domínio Unix: Unix e UDG

unix:// e udg:// (udg:// desde o PHP 5)

  • unix:///tmp/mysock
  • udg:///tmp/mysock

unix:// provê acessos a conexão via Unix sockets. udg:// provê um transporte alternativo para um socket Unix usando o protocolo de datagramas de usuario (UDP).

Sockets Unix, diferentes de sockets de Internet, não experam um número de porta. No caso de fsockopen() o parâmetro deve ser o valor 0.

Nota: Sockets Unix domain não são suportados no Windows.


Tabela de comparações de tipos do PHP

As seguintes tabelas demonstram o comportamento dos tipos e operadores de comparação no PHP, tanto para comparações frouxas ou rígidas. Este complemento é também relacionado com a seção do manual sobre type juggling. A inspiração vem dos comentários de vários usuários e do trabalho feito pela » BlueShoes.

Antes de utilizar essas tabelas, é importante entender os tipos e seus significados. Por exemplo, "42" é uma string enquanto 42 é um integer. false é um boolean enquanto "false" é uma string.

Nota:

Formulários HTML não passam inteiros, floats ou booleanos; eles passam strings. Para saber se uma string é do tipo númerico, você pode usar a função is_numeric().

Nota:

Usar apenas if ($x) quando $x estiver indefinido irá gerar um erro do nível E_NOTICE. Em vez disso, considere usar empty() ou isset() e/ou inicialize suas variáveis.

Nota:

Algumas operações númericas podem resultar em um valor representado pela constante NAN. Quaisquer comparações rígidas ou frouxas deste valor contra qualquer outro valor, incluindo ele mesmo, com exceção de true, terão como resultado false. (por exemplo NAN != NAN e NAN !== NAN) Exemplos de operações que geram NAN são sqrt(-1), asin(2), e acosh(0).

Comparações de $x com funções PHP
Expression | gettype() | empty() | is_null() | isset() | bool : if($x)
$x = ""; | string | true | false | true | false
$x = null; | NULL | true | true | false | false
var $x; | NULL | true | true | false | false
$x is undefined | NULL | true | true | false | false
$x = array(); | array | true | false | true | false
$x = array('a', 'b'); | array | false | false | true | true
$x = false; | bool | true | false | true | false
$x = true; | bool | false | false | true | true
$x = 1; | int | false | false | true | true
$x = 42; | int | false | false | true | true
$x = 0; | int | true | false | true | false
$x = -1; | int | false | false | true | true
$x = "1"; | string | false | false | true | true
$x = "0"; | string | true | false | true | false
$x = "-1"; | string | false | false | true | true
$x = "php"; | string | false | false | true | true
$x = "true"; | string | false | false | true | true
$x = "false"; | string | false | false | true | true

Comparações frouxas com ==
 | true | false | 1 | 0 | -1 | "1" | "0" | "-1" | null | array() | "php" | ""
true | true | false | true | false | true | true | false | true | false | false | true | false
false | false | true | false | true | false | false | true | false | true | true | false | true
1 | true | false | true | false | false | true | false | false | false | false | false | false
0 | false | true | false | true | false | false | true | false | true | false | true | true
-1 | true | false | false | false | true | false | false | true | false | false | false | false
"1" | true | false | true | false | false | true | false | false | false | false | false | false
"0" | false | true | false | true | false | false | true | false | false | false | false | false
"-1" | true | false | false | false | true | false | false | true | false | false | false | false
null | false | true | false | true | false | false | false | false | true | true | false | true
array() | false | true | false | false | false | false | false | false | true | true | false | false
"php" | true | false | false | true | false | false | false | false | false | false | true | false
"" | false | true | false | true | false | false | false | false | true | false | false | true

Comparações rígidas com ===
 | true | false | 1 | 0 | -1 | "1" | "0" | "-1" | null | array() | "php" | ""
true | true | false | false | false | false | false | false | false | false | false | false | false
false | false | true | false | false | false | false | false | false | false | false | false | false
1 | false | false | true | false | false | false | false | false | false | false | false | false
0 | false | false | false | true | false | false | false | false | false | false | false | false
-1 | false | false | false | false | true | false | false | false | false | false | false | false
"1" | false | false | false | false | false | true | false | false | false | false | false | false
"0" | false | false | false | false | false | false | true | false | false | false | false | false
"-1" | false | false | false | false | false | false | false | true | false | false | false | false
null | false | false | false | false | false | false | false | false | true | false | false | false
array() | false | false | false | false | false | false | false | false | false | true | false | false
"php" | false | false | false | false | false | false | false | false | false | false | true | false
"" | false | false | false | false | false | false | false | false | false | false | false | true


Lista de Tokens do Parser

Várias partes da linguagem PHP são representadas internamente por tipos, como T_SR. O PHP apresenta identificadores como este em erros de análise, como "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10."

Você deveria saber o que T_SR significa. Para todos que não conhecem, aqui está uma tabela com estes identificadores, suas sintaxes em PHP e devidas referências no manual.

Nota: Uso das constantes T_*

Todos os tokens listados abaixo também são definidos como constantes do PHP. O valor deles é gerado automaticamente baseado na estrutura subjacente do parser do PHP. Isto significa que o valor real de um token pode mudar entre duas versões do PHP. Por exemplo, o valor da constante T_FILE é 365 no PHP 5.3, enquanto o mesmo valor refere-se à constante T_TRAIT no PHP 5.4 e o valor da constante T_FILE é 369. Isso significa que seu código nunca deve depender diretamente dos valores originais de T_* levando em consideração uma versão X.Y.Z do PHP, para que exista alguma compatibilidade entre múltiplas versões do PHP. Em vez disso, o seu código deve utilizar valores personalizados (usando valores altos como 10000) e uma estratégia adequada que trabalhe com versões do PHP e valores de T_*.

Tokens
Token | Sintaxe | Referência
T_ABSTRACT | abstract | Abstração de Classes
T_AND_EQUAL | &= | operadores de atribuição
T_ARRAY | array() | array(), sintaxe de array
T_ARRAY_CAST | (array) | conversão de tipo
T_AS | as | foreach
T_BAD_CHARACTER |  | qualquer coisa abaixo de ASCII 32 exceto \t (0x09), \n (0x0a) and \r (0x0d) (disponíel desde o PHP 7.4.0)
T_BOOLEAN_AND | && | operadores lógicos
T_BOOLEAN_OR | || | operadores lógicos
T_BOOL_CAST | (bool) ou (boolean) | conversão de tipos
T_BREAK | break | break
T_CALLABLE | callable | callable
T_CASE | case | switch
T_CATCH | catch | Exceções
T_CLASS | class | classes e objetos
T_CLASS_C | __CLASS__ | constantes mágicas
T_CLONE | clone | classes e objetos
T_CLOSE_TAG | ?> ou %> | escapando o HTML
T_COALESCE | ?? | operadores de comparação
T_COALESCE_EQUAL | ??= | operadores de assimilação (disponível a partir do PHP 7.4.0)
T_COMMENT | // ou #, e /* */ | comentários
T_CONCAT_EQUAL | .= | operadores de atribuição
T_CONST | const | constantes
T_CONSTANT_ENCAPSED_STRING | "foo" ou 'bar' | sintaxe de string
T_CONTINUE | continue | continue
T_CURLY_OPEN | {$ | sintaxe complexa de parse (chaves)
T_DEC | -- | operadores de incremento/ decremento
T_DECLARE | declare | declare
T_DEFAULT | default | switch
T_DIR | __DIR__ | constantes mágicas
T_DIV_EQUAL | /= | operadores de atribuição
T_DNUMBER | 0.12, etc. | números de ponto flutuante
T_DO | do | do..while
T_DOC_COMMENT | /** */ | comentários PHPDoc
T_DOLLAR_OPEN_CURLY_BRACES | ${ | sintaxe complexa de parse (chaves)
T_DOUBLE_ARROW | => | sintaxe de array
T_DOUBLE_CAST | (real), (double) ou (float) | conversão de tipos
T_DOUBLE_COLON | :: | veja T_PAAMAYIM_NEKUDOTAYIM abaixo
T_ECHO | echo | echo
T_ELLIPSIS | ... | argumentos de função
T_ELSE | else | else
T_ELSEIF | elseif | elseif
T_EMPTY | empty | empty()
T_ENCAPSED_AND_WHITESPACE | " $a" | interpretação de variáveis em strings
T_ENDDECLARE | enddeclare | declare, sintaxe alternativa
T_ENDFOR | endfor | for, sintaxe alternativa
T_ENDFOREACH | endforeach | foreach, sintaxe alternativa
T_ENDIF | endif | if, sintaxe alternativa
T_ENDSWITCH | endswitch | switch, sintaxe alternativa
T_ENDWHILE | endwhile | while, sintaxe alternativa
T_END_HEREDOC |  | sintaxe heredoc
T_EVAL | eval() | eval()
T_EXIT | exit ou die | exit(), die()
T_EXTENDS | extends | extends, classes e objetos
T_FILE | __FILE__ | constantes mágicas
T_FINAL | final | final
T_FINALLY | finally | Exceções
T_FN | fn | função seta (disponível desde o PHP 7.4.0)
T_FOR | for | for
T_FOREACH | foreach | foreach
T_FUNCTION | função | funções
T_FUNC_C | __FUNCTION__ | constantes mágicas
T_GLOBAL | global | escopo de variáveis
T_GOTO | goto | goto
T_HALT_COMPILER | __halt_compiler() | __halt_compiler
T_IF | if | if
T_IMPLEMENTS | implements | Interfaces de Objetos
T_INC | ++ | operadores de incremento/decremento
T_INCLUDE | include() | include
T_INCLUDE_ONCE | include_once() | include_once
T_INLINE_HTML |  | escapando o HTML
T_INSTANCEOF | instanceof | operadores de tipo
T_INSTEADOF | insteadof | Traits
T_INTERFACE | interface | Interfaces de Objetos
T_INT_CAST | (int) ou (integer) | conversão de tipos
T_ISSET | isset() | isset()
T_IS_EQUAL | == | operadores de comparação
T_IS_GREATER_OR_EQUAL | >= | operadores de comparação
T_IS_IDENTICAL | === | operadores de comparação
T_IS_NOT_EQUAL | != ou <> | operadores de comparação
T_IS_NOT_IDENTICAL | !== | operadores de comparação
T_IS_SMALLER_OR_EQUAL | <= | operadores de comparação
T_LINE | __LINE__ | constantes mágicas
T_LIST | list() | list()
T_LNUMBER | 123, 012, 0x1ac, etc. | inteiros
T_LOGICAL_AND | and | operadores lógicos
T_LOGICAL_OR | or | operadores lógicos
T_LOGICAL_XOR | xor | operadores lógicos
T_METHOD_C | __METHOD__ | constantes mágicas
T_MINUS_EQUAL | -= | operadores de atribuição
T_MOD_EQUAL | %= | operadores de atribuição
T_MUL_EQUAL | *= | operadores de atribuição
T_NAMESPACE | namespace | namespaces
T_NEW | new | classes e objetos
T_NS_C | __NAMESPACE__ | namespaces
T_NS_SEPARATOR | \ | namespaces
T_NUM_STRING | "$a[0]" | interpretação de variáveis em strings
T_OBJECT_CAST | (object) | conversão de tipos
T_OBJECT_OPERATOR | -> | classes e objetos
T_NULLSAFE_OBJECT_OPERATOR | ?-> | classes e objetos
T_OPEN_TAG | <?php, <? ou <% | escapando o HTML
T_OPEN_TAG_WITH_ECHO | <?= ou <%= | escapando o HTML
T_OR_EQUAL | |= | operadores de atribuição
T_PAAMAYIM_NEKUDOTAYIM | :: | ::. Também definido como T_DOUBLE_COLON.
T_PLUS_EQUAL | += | operadores de atribuição
T_POW | ** | operadores aritméticos
T_POW_EQUAL | **= | operadores de atribuição
T_PRINT | print() | print
T_PRIVATE | private | classes e objetos
T_PUBLIC | public | classes e objetos
T_PROTECTED | protected | classes e objetos
T_REQUIRE | require() | require
T_REQUIRE_ONCE | require_once() | require_once
T_RETURN | return | retornando valores
T_SL | << | operador bit-a-bit
T_SL_EQUAL | <<= | operadores de atribuição
T_SPACESHIP | <=> | operadores de comparação
T_SR | >> | operador bit-a-bit
T_SR_EQUAL | >>= | operadores de atribuição
T_START_HEREDOC | <<< | sintaxe heredoc
T_STATIC | static | escopo de variáveis
T_STRING | parent, self, etc. | identificadores, ex. palavras-chaves tais como parent e self, nomes de função, nomes de classe e outros correspondem a esta categoria. Veja também T_CONSTANT_ENCAPSED_STRING.
T_STRING_CAST | (string) | conversão de tipos
T_STRING_VARNAME | "${a | sintaxe complexa de parse (chaves)
T_SWITCH | switch | switch
T_THROW | throw | Exceções
T_TRAIT | trait | Traits
T_TRAIT_C | __TRAIT__ | __TRAIT__
T_TRY | try | Exceções
T_UNSET | unset() | unset()
T_UNSET_CAST | (unset) | conversão de tipos
T_USE | use | namespaces
T_VAR | var | classes e objetos
T_VARIABLE | $foo | variáveis
T_WHILE | while | while, do..while
T_WHITESPACE | \t \r\n |
T_XOR_EQUAL | ^= | operadores de atribuição
T_YIELD | yield | generators
T_YIELD_FROM | yield from | generators

Veja também token_name().


Guia de nomenclatura em espaço de usuário

Índice

  • Escopo Global
  • Regras
  • Dicas

O seguinte guia tem como objetivo orientar em como escolher nome para identificadores em código PHP em espaço de usuário. Quando escolher nome para qualquer código que crie símbolos no escopo global, é importante levar em conta as seguintes orientações para previnir que futuras versões do PHP entrem em conflito com o seus símbolos.


Escopo Global

Aqui está uma visão geral de artefatos de código que acabam no escopo global:

  • funções

  • classes

  • interfaces

  • constantes (menos constantes de classes)

  • variáveis definidas fora de funções e métodos


Regras

A lista a seguir dá uma visão geral de quais direitos o projeto do PHP reserva para si, quando escolhe nomes para novos identificadores internos. O guia definitivo é » PADRÕES DE CÓDIGO:

  • PHP detém o escopo de alto nível, mas tenta achar nomes descritivos decentes e evita qualquer conflito óbvio.

  • Nomes de funções usam sublinhado (_) entre palavas, enquanto nomes de classe usam a notação camelCase e PascalCase.

  • O PHP prefixará quaisquer símbolos globais de uma extensão com o nome da extensão (No passado, existiam várias exceções à essa regra). Exemplos:

    • curl_close()

    • mysql_query()

    • PREG_SPLIT_DELIM_CAPTURE

    • new DOMDocument()

    • strpos() (exemplo de um erro do passado)

    • new SplFileObject()

  • Iterators e Exceptions são, no entanto, simplesmente sufixados com "Iterator" e "Exception." Exemplos:

    • ArrayIterator

    • LogicException

  • O PHP reserva todos os símbolos começando com __ como mágicos. É recomendado que você não crie símbolos começando com __ a não ser que você queira usar a funcionalidade mágica documentada. Exemplos:

    • __get

    • __autoload()


Dicas

Para escrever código que não sofrerá problemas no futuro, é recomendado que você não coloque variáveis, funções ou classes no espaço global. Isto evitará colisões de nome com código de terceiros assim como futuros acréscimos à linguagem.

Uma forma de prevenir colisões de nomes em funções e classes é colocá-las em seus próprios namespaces.

<?php

namespace MyProject;

function my_function() {
    return true;
}

\MyProject\my_function();

This still needs you to keep track of already used namespaces, but once you have decided on a namespace you will be using you can add all functions and classes to it without having to think about conflicts again.

Também é considerada uma boa prática limitar o número de variáveis alocadas no escopo global de forma a evitar colisões de nome com código de terceiros.

Nota: Variable scoping

Por causa das regras de escopo do PHP as variáveis definidas dentro de funções e métodos não estão no escopo global e não podem conflitar com variáveis definidas nesse escopo.


Sobre o manual

Índice

  • Formatos
  • Sobre as notas dos usuários
  • Como ler uma definição de função (protótipo)
  • Versões do PHP documentadas neste manual
  • Como encontrar mais informações sobre o PHP
  • Como ajudar a melhorar a documentação
  • Como nós geramos os formatos
  • Traduções


Formatos

O manual PHP é fornecido em diversos formatos. Estes formatos podem ser divididos em dois grupos: formatos de leitura online e pacotes para download.

Nota:

Algumas editoras fizeram versões impressas deste manual. Porém estas versões não são recomendadas, pois tendem a se tornar rapidamente desatualizadas.

O manual PHP pode ser lido online no » site do PHP.net. A versão online do manual PHP tem atualmente duas folhas de estilo CSS, uma web amigável e a outra folha de estilo para impressão.

Duas vantagens notáveis do manual online sobre a maioria dos formatos offline é a integração das notas dos usuários e os » atalhos de URL que podem ser usados para ir rapidamente para partes desejadas do manual. Uma óbvia desvantagem é o requisito de estar online para visualização desta edição do manual.

Existem diversos formatos offline do manual, e o formato mais adequado depende do sistema operacional e do estilo de leitura pessoal. Para informações de como o manual é gerado em tantos formatos, veja a seção 'Como nós geramos os formatos' deste apêndice.

A versão HTML é o formato mais multi-plataforma deste manual. Esta versão está disponível como um único arquivo HTML e como um pacote de arquivos individuais para cada seção (que resulta em uma coleção de milhares de arquivos). Nós disponibilizamos estas versões compactadas, então um programa de descompactação é necessário para recuperar os arquivos contidos dentro destes pacotes.

Para plataformas Windows, a versão Windows HTML Help do manual otimiza o formato HTML para o uso com o programa Windows HTML Help. Esta versão fornece busca de textos, índice completo e marcadores. Vários ambientes de desenvolvimento populares do PHP no Windows se integram com esse formato da documentação para facilitar o acesso à documentação. Visualizadores de CHM para desktops Linux também estão disponíveis. Veja » xCHM or » GnoCHM.

Existe também uma » versão CHM extendida disponível, que é atualizada menos frequentemente, mas que oferece muitos recursos adicionais. Entretanto ela irá funcionar apenas no Microsoft Windows, devido às tecnologias usadas para compilar as páginas de ajuda.


Sobre as notas dos usuários

As notas dos usuários possuem um importante papel no desenvolvimento deste manual. Ao permitir que os leitores do manual possam contribuir com exemplos, ressalvas e outros esclarecimentos através de seus navegadores, somos capazes de incorporar esse feedback dentro do texto principal do manual. E até que as notas sejam incorporadas, elas podem ser vistas na sua forma online e em alguns dos formatos offline.

Nota:

As notas dos usuários não são moderadas antes delas aparecem online, então a qualidade da escrita ou dos exemplos de código, e mesmo a veracidade da contribuição, não podem ser garantidas. (Não que haja qualquer garantia da qualidade ou exatidão do próprio texto do manual.)

Nota:

Para fins de cobertura de licença as notas fornecidas por usuários são consideradas parte do manual do PHP, e por isso são cobertas pela mesma licença desta documentação (atualmente a licença Creative Commons Attribution). Para mais detalhes, veja a página de Direitos Autorais do Manual.


Como ler uma definição de função (protótipo)

Cada função no manual é documentada para uma referência rápida. Saber como ler e entender o texto tornará a aprendizagem do PHP muito mais fácil. Mais do que simplesmente estudar exemplos ou copiar/colar, todos deveriam saber como ler as definições de funções (protótipos). Vamos começar:

Nota: Pré-requisito: Entendimento básico de tipos

Mesmo o PHP sendo uma linguagem fracamente tipada, é importante ter um entendimento básico dos tipos pois eles têm um importante significado.

Definições das funções nos dizem que tipo de valor é retornado. Vamos usar a definição da função strlen() como nosso primeiro exemplo:

strlen

    (PHP 4, PHP 5, PHP 7)
strlen -- Obtém o tamanho da string

Descrição
strlen ( string $string ) : int

Retorna o tamanho da string dada.

Explicação de uma definição de função
Parte | Descrição
strlen | Nome da função.
(PHP 4, PHP 5, PHP 7) | strlen() está disponível em todas as versões do PHP 4, 5 e 7
( string $string ) | O primeiro (e neste caso, o único) parâmetro/argumento para esta função é chamado string, e é uma string.
int | Tipo do valor que esta função retorna, que é um int (isto é, o comprimento de uma string é medido em números).

Poderíamos reescrever a definição da função acima de uma maneira genérica:

      nome da função    ( tipo do parâmetro   nome do parâmetro ) : tipo retornado

Muitas funções recebem múltiplos parâmetros, tais como a função in_array(). Seu protótipo segue abaixo:

      in_array ( mixed $needle, array $haystack , bool $strict = false ) : bool

O que isso significa? in_array() retorna um valor booleano, true em caso de sucesso (se needle foi encontrado em haystack) ou false em caso de falha (se needle não foi encontrado em haystack). O primeiro parâmetro é chamado needle e pode de ser de vários tipos diferentes, por isso nós o chamamos "mixed" (misto). Esse needle mixed (o que nós estamos procurando) pode ser tanto um valor escalar (string, inteiro, ou float) ou um array. haystack (o array onde nós estamos procurando) é o segundo parâmetro. O terceiro parâmetro opcional é chamado strict. Todos os parâmetros opcionais tem valores padrão (default). Se o valor padrão é desconhecido, então é mostrado um ?. O exemplo diz que o valor padrão do parâmetro strict é o booleano false. Veja a página do manual de cada função para detalhes de como elas funcionam.

Além do mais o símbolo & (ampersand, e comercial) antes de um parâmetro de função permite ao parâmetro ser passado por referência, como no exemplo abaixo:

       preg_match ( string $pattern , string $subject , array &$matches = null,
       int $flags = 0 , int $offset = 0 ) : int|false

Neste exemplo podemos ver que o terceiro parâmetro opcional &$matches será passado por referência.

Existem também funções com informações de versões do PHP mais complexas. Tome como exemplo html_entity_decode():

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

Isto significa que esta função só está disponível a partir da versão PHP 4.3.0.


Versões do PHP documentadas neste manual

O manual contém informações sobre as versões passadas, presente, e futuras do PHP. Modificações no comportamento são documentadas como notas, changelogs e em trechos nas páginas do manual. A versão mais antiga documentada é o PHP 7.0.0.

Quando a documentação existir para versões mais recentes de desenvolvimento (unreleased) do PHP, será marcada como "available in Git" ou "development version". E, embora estas mudanças sejam planejadas, em casos raros elas podem mudar.

Todo desenvolvimento ocorre no Git e o check out pode ser feito como descrito na página » acesso anônimo ao Git .

E para esclarecer, o manual refere-se a maiores, menores e específicas releases do PHP. Usando o PHP 7.3.1 como exemplo, o 7 refere-se à versão maior, 3 à menor e 1 é a release específica. Tipicamente o PHP somente adiciona novas features em maiores e menores releases, e corrige bugs em releases específicas. Porém, esta convenção nem sempre é verdadeira.

Observe também que o manual PHP é escrito no tempo presente, e não no futuro, mesmo que para recursos documentados que ainda não estão disponíveis. A razão para isto é que o manual pode resistir ao teste do tempo, portanto não exige tediosas atualizações gramaticais a cada nova release do PHP.

Muitas vezes o manual do PHP lista "Valores Padrão" para as diretivas do PHP. Estes valores são baseados em como o PHP se comporta sem um arquivo de configuração php.ini, então podem ser diferentes dos valores encontrados nos arquivos php.ini-development e php.ini-production distribuídos. Eles também referem-se à última versão do PHP, embora entradas do changelog mencionem valores anteriores. Veja o Apêndice Diretivas do PHP para detalhes a respeito destes valores e mudanças.


Como encontrar mais informações sobre o PHP

Este manual não tenta fornecer instruções sobre práticas gerais de programação. Programadores de primeira viagem - ou apenas começando - podem achar difícil aprender a programar em PHP usando exclusivamente este manual. Em vez disso, procure um texto mais orientado para iniciantes.

Há uma série de listas de discussão ativas para discussões de todos os aspectos da programação com PHP. Se estiver preso com algum problema, considere o uso destas listas. Para opções de suporte, incluindo listas de discussão, veja a » página de suporte do PHP.net.


Como ajudar a melhorar a documentação

Há várias maneiras de ajudar a melhorar a documentação.

Se um erro for encontrado neste manual, em qualquer linguagem, por favor informe-os usando o sistema de bug em » https://bugs.php.net/. Classifique o bug como "Documentation Problem". Todos os problemas relacionados com a documentação, inclusive sobre os formatos de manuais, devem ser enviados como relatórios de bugs.

Nota:

Por favor não abuse do sistema de bugs enviando pedidos de ajuda. Neste caso, use uma das muitas » opções de suporte.

Ao contribuir com notas, os usuários podem fornecer exemplos adicionais, ressalvas e esclarecimentos para outros leitores. Mas por favor, não informe bugs usando o sistema de anotações. Para mais detalhes, veja a seção intitulada 'Sobre as notas de usuários'.

Também é possível enviar pull requests para o » repositório espelho Github da documentação.

O manual PHP é traduzido em várias línguas. Saber inglês e uma língua estrangeira permite uma outra maneira de ajudar a melhorar o manual PHP trabalhando com um time de tradução. Para mais informações sobre como iniciar uma nova tradução, ou ajudar no projeto de tradução atual, por favor leia » http://doc.php.net/tutorial/.

O Projeto de Documentação do PHP também possui um canal IRC onde muitos autores do manual se reunem. Passe no canal #php.doc em irc.efnet.org e discuta maneiras de melhorar a documentação do PHP.


Como nós geramos os formatos

Este Manual é escrito em XML usando o» DocBook XML DTD, usando » PhD (The [PH]P based [D]ocBook renderer) para manutenção e formatação.

Usar XML como formato fonte nos dá a capacidade de gerar diversos formatos de saída a partir dos arquivos fonte, enquanto apenas um documento fonte é mantido para todos os formatos. A ferramente usada para formatar o manual online é » PhD. Usamos » Microsoft HTML Help Workshop para gerar o formato Windows HTML Help do manual e, é claro, o próprio PHP para fazer algumas conversões e formatações.

O manual PHP é gerado em várias linguagens e formatos, veja » https://www.php.net/docs.php para maiores detalhes. O código fonte XML pode ser baixado do git e visualizado em » https://github.com/php/doc-en".


Traduções

O manual do PHP está disponível não apenas em vários formatos, mas também em várias linguagens. O texto do manual é escrito primeiro em inglês, então grupos de pessoas ao redor do mundo fazem as traduções para suas línguas nativas. Se a tradução para uma específica função ou capítulo ainda não foi feita, o sistema de compilação do manual utiliza a versão original em inglês.

Pessoas envolvidas na tradução iniciam do código fonte XML disponível em » https://github.com/php/doc-en" e partir daí é feita tradução para sua língua mãe. Eles não utilizam as versões geradas (como HTML ou texto plano) já que é o sistema de compilação do manual que cuida das conversões de XML para formatos mais legíveis.

Nota:

Para colaborar com a tradução da documentação entre em contato com time de tradução/documentação inscrevendo-se na lista de discussão do phpdoc: envie um e-mail vazio para » phpdoc-subscribe@lists.php.net. O endereço da lista de discussão é phpdoc@lists.php.net. Informe na mensagem o interesse em traduzir o manual e alguém irá responder com orientações sobre como avançar iniciando uma nova tradução de linguagem ou entrando em contato com o time de documentação da língua desejada.

Atualmente o manual está disponível, parcialmente ou não, em mais de 10 linguagens.

Todos eles podem ser baixados aqui: » https://www.php.net/docs.php.


Creative Commons Attribution 3.0

THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.

1. Definitions

  1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
  2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
  3. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
  4. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
  5. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
  6. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
  7. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
  8. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.

2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.

3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:

  1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
  2. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
  3. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
  4. to Distribute and Publicly Perform Adaptations.

  5. For the avoidance of doubt:

    1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
    2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
    3. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.

The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.

4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:

  1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested.
  2. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
  3. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.

5. Representations, Warranties and Disclaimer

UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.

6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. Termination.

  1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
  2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.

8. Miscellaneous

  1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
  2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
  3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
  4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent
  5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
  6. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.


  • « Creative Commons Attribution 3.0
  • Lista de Funções e Métodos »
  • PHP Manual
  • Apêndices
  • Lista de índices

Lista de índices

Índice

  • Lista de Funções e Métodos
  • Lista de exemplos


Lista de Funções e Métodos

Lista de todas as funções e métodos no manual

a b c d e f g h i j k l m n o p q r s t u v w x y z _

  • a
    • abs - Valor absoluto
    • acos - Cosseno Inverso (arco cosseno)
    • acosh - Cosseno Hiperbólico Inverso
    • addcslashes - String entre aspas com barras no estilo C
    • addslashes - Adiciona barras a uma string
    • apache_child_terminate - Finaliza o processo Apache depois da requisição
    • apache_getenv - Retorna uma variável subprocess_env do Apache
    • apache_get_modules - Retorna uma lista de módulos carregados do Apache
    • apache_get_version - Retorna a versão do Apache
    • apache_lookup_uri - Realiza uma requisição parcial para a URI especificada e retorna todas as informações sobre ela
    • apache_note - Obtêm e configura notas de requisição
    • apache_request_headers - Obtém todos os cabeçalhos da requisição HTTP
    • apache_response_headers - Obtém todos os cabeçalhos da resposta HTTP
    • apache_setenv - Define uma variável subprocess_env do Apache
    • APCUIterator::current - Get current item
    • APCUIterator::getTotalCount - Get total count
    • APCUIterator::getTotalHits - Get total cache hits
    • APCUIterator::getTotalSize - Get total cache size
    • APCUIterator::key - Get iterator key
    • APCUIterator::next - Move pointer to next item
    • APCUIterator::rewind - Rewinds iterator
    • APCUIterator::valid - Checks if current position is valid
    • APCUIterator::__construct - Constructs an APCUIterator iterator object
    • apcu_add - Cache a new variable in the data store
    • apcu_cache_info - Retrieves cached information from APCu's data store
    • apcu_cas - Updates an old value with a new value
    • apcu_clear_cache - Clears the APCu cache
    • apcu_dec - Decrease a stored number
    • apcu_delete - Removes a stored variable from the cache
    • apcu_enabled - Whether APCu is usable in the current environment
    • apcu_entry - Atomically fetch or generate a cache entry
    • apcu_exists - Checks if entry exists
    • apcu_fetch - Fetch a stored variable from the cache
    • apcu_inc - Increase a stored number
    • apcu_key_info - Get detailed information about the cache key
    • apcu_sma_info - Retrieves APCu Shared Memory Allocation information
    • apcu_store - Cache a variable in the data store
    • AppendIterator::append - Appends an iterator
    • AppendIterator::current - Gets the current value
    • AppendIterator::getArrayIterator - Gets the ArrayIterator
    • AppendIterator::getInnerIterator - Gets the inner iterator
    • AppendIterator::getIteratorIndex - Gets an index of iterators
    • AppendIterator::key - Gets the current key
    • AppendIterator::next - Moves to the next element
    • AppendIterator::rewind - Rewinds the Iterator
    • AppendIterator::valid - Checks validity of the current element
    • AppendIterator::__construct - Constructs an AppendIterator
    • array - Cria um array
    • ArrayAccess::offsetExists - Verifica se uma posição existe
    • ArrayAccess::offsetGet - Posição a ser obtida
    • ArrayAccess::offsetSet - Atribui um valor a uma posição específica
    • ArrayAccess::offsetUnset - Destrói uma posição
    • ArrayIterator::append - Append an element
    • ArrayIterator::asort - Sort array by values
    • ArrayIterator::count - Conta os elementos
    • ArrayIterator::current - Retorna o valor do elemento atual do array
    • ArrayIterator::getArrayCopy - Get array copy
    • ArrayIterator::getFlags - Retorna as flags de comportamento
    • ArrayIterator::key - Retorna a chave do elemento atual do array
    • ArrayIterator::ksort - Sort array by keys
    • ArrayIterator::natcasesort - Sort an array naturally, case insensitive
    • ArrayIterator::natsort - Sort an array naturally
    • ArrayIterator::next - Avança para o próximo elemento
    • ArrayIterator::offsetExists - Check if offset exists
    • ArrayIterator::offsetGet - Get value for an offset
    • ArrayIterator::offsetSet - Set value for an offset
    • ArrayIterator::offsetUnset - Unset value for an offset
    • ArrayIterator::rewind - Recoloca o array no início
    • ArrayIterator::seek - Aponta para determinada posição
    • ArrayIterator::serialize - Serialize
    • ArrayIterator::setFlags - Define as flags que irão alterar o comportamento
    • ArrayIterator::uasort - Sort with a user-defined comparison function and maintain index association
    • ArrayIterator::uksort - Sort by keys using a user-defined comparison function
    • ArrayIterator::unserialize - Unserialize
    • ArrayIterator::valid - Verifica se o array possui mais elementos
    • ArrayIterator::__construct - Construct an ArrayIterator
    • ArrayObject::append - Acrescenta um valor
    • ArrayObject::asort - Sort the entries by value
    • ArrayObject::count - Retorna o número de elementos no iterador
    • ArrayObject::exchangeArray - Exchange the array for another one
    • ArrayObject::getArrayCopy - Creates a copy of the ArrayObject
    • ArrayObject::getFlags - Gets the behavior flags
    • ArrayObject::getIterator - Retorna o iterador do ArrayObject
    • ArrayObject::getIteratorClass - Gets the iterator classname for the ArrayObject
    • ArrayObject::ksort - Sort the entries by key
    • ArrayObject::natcasesort - Sort an array using a case insensitive "natural order" algorithm
    • ArrayObject::natsort - Sort entries using a "natural order" algorithm
    • ArrayObject::offsetExists - Retorna se o índice solicitado existe ou não
    • ArrayObject::offsetGet - Retorna o valor do índice especificado
    • ArrayObject::offsetSet - Define o valor do índice especificado por $index para $newval
    • ArrayObject::offsetUnset - Destrói o elemento no índice especificado
    • ArrayObject::serialize - Serialize an ArrayObject
    • ArrayObject::setFlags - Sets the behavior flags
    • ArrayObject::setIteratorClass - Sets the iterator classname for the ArrayObject
    • ArrayObject::uasort - Sort the entries with a user-defined comparison function and maintain key association
    • ArrayObject::uksort - Sort the entries by keys using a user-defined comparison function
    • ArrayObject::unserialize - Unserialize an ArrayObject
    • ArrayObject::__construct - Constrói um novo objeto array
    • array_change_key_case - Modifica a caixa de todas as chaves em um array
    • array_chunk - Divide um array em pedaços
    • array_column - Retorna os valores de uma coluna do array informado
    • array_combine - Cria um array usando um array para chaves e outro para valores
    • array_count_values - Conta todos os valores de um array
    • array_diff - Computa as diferenças entre arrays
    • array_diff_assoc - Computa a diferença entre arrays com checagem adicional de índice
    • array_diff_key - Computa a diferença entre arrays usando as chaves na comparação
    • array_diff_uassoc - Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de callback fornecida pelo usuário
    • array_diff_ukey - Computa a diferença entre arrays usando uma função callback na comparação de chaves
    • array_fill - Preenche um array com valores
    • array_fill_keys - Preenche um array com valores, especificando chaves
    • array_filter - Filtra elementos de um array utilizando uma função callback
    • array_flip - Permuta todas as chaves e seus valores associados em um array
    • array_intersect - Calcula a interseção entre arrays
    • array_intersect_assoc - Computa a interseção de arrays com uma adicional verificação de índice
    • array_intersect_key - Computa a interseção de array comparando pelas chaves
    • array_intersect_uassoc - Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback
    • array_intersect_ukey - Computa a interseção de arrays usando uma função de callback nas chaves para comparação
    • array_keys - Retorna todas as chaves ou uma parte das chaves de um array
    • array_key_exists - Checa se uma chave ou índice existe em um array
    • array_key_first - Gets the first key of an array
    • array_key_last - Gets the last key of an array
    • array_map - Aplica uma função em todos os elementos dos arrays dados
    • array_merge - Combina um ou mais arrays
    • array_merge_recursive - Funde dois ou mais arrays recursivamente
    • array_multisort - Ordena múltiplos arrays ou arrays multidimensionais
    • array_pad - Expande um array para um certo comprimento utilizando um determinado valor
    • array_pop - Extrai um elemento do final do array
    • array_product - Calcula o produto dos valores de um array
    • array_push - Adiciona um ou mais elementos no final de um array
    • array_rand - Escolhe um ou mais elementos aleatórios de um array
    • array_reduce - Reduz um array para um único valor através de um processo iterativo via função callback
    • array_replace - Replaces elements from passed arrays into the first array
    • array_replace_recursive - Replaces elements from passed arrays into the first array recursively
    • array_reverse - Retorna um array com os elementos na ordem inversa
    • array_search - Procura por um valor em um array e retorna sua chave correspondente caso seja encontrado
    • array_shift - Retira o primeiro elemento de um array
    • array_slice - Extrai uma parcela de um array
    • array_splice - Remove uma parcela do array e substitui com outros elementos
    • array_sum - Calcula a soma dos elementos de um array
    • array_udiff - Computa a diferença de arrays usando uma função de callback para comparação dos dados
    • array_udiff_assoc - Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de callback
    • array_udiff_uassoc - Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma função de callback
    • array_uintersect - Computa a interseção de array, comparando dados com uma função callback
    • array_uintersect_assoc - Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback
    • array_uintersect_uassoc - Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas
    • array_unique - Remove os valores duplicados de um array
    • array_unshift - Adiciona um ou mais elementos no início de um array
    • array_values - Retorna todos os valores de um array
    • array_walk - Aplica uma determinada funcão em cada elemento de um array
    • array_walk_recursive - Aplica um função do usuário recursivamente para cada membro de um array
    • arsort - Ordena um array em ordem descrescente mantendo a associação entre índices e valores
    • asin - Seno Inverso (arco seno)
    • asinh - Seno Hiperbólico Inverso
    • asort - Ordena um array mantendo a associação entre índices e valores
    • assert - Confere se uma afirmação é false
    • assert_options - Define/Obtém várias opções do assert
    • atan - Tangente Inversa (arco tangente)
    • atan2 - Tangente inversa de duas variáveis
    • atanh - Tangente hiperbólica inversa
  • b
    • base64_decode - Decodifica dados codificados com MIME base64
    • base64_encode - Codifica dados com MIME base64
    • basename - Retorna apenas a parte que corresponde ao nome do arquivo de um caminho/path
    • BaseResult::getWarnings - Fetch warnings from last operation
    • BaseResult::getWarningsCount - Fetch warning count from last operation
    • base_convert - Converte um número entre bases arbitrárias
    • bcadd - Adicionar dois números de precisão arbitrária
    • bccomp - Comparar dois números de precisão arbitrária
    • bcdiv - Dividir dois números de precisão arbitrária
    • bcmod - Obtém o módulo de um número com precisão arbitrária
    • bcmul - Multiplicar dois números de precisão arbitrária
    • bcpow - Eleva um número de precisão arbitrária a outro
    • bcpowmod - Eleva um número de precisão arbitrária para outro, reduzido por um módulo especificado
    • bcscale - Configura o parâmentro escala para todas as funções bc
    • bcsqrt - Obtém a raiz quadrada de um número de precisão arbitrária
    • bcsub - Subtrai um número de precisão arbitrária de outro
    • bin2hex - Converte um dado binário em representação hexadecimal
    • bindec - Binário para decimal
    • bindtextdomain - Configura o caminho para um domínio
    • bind_textdomain_codeset - Define qual codificação de caractere será retornado pelas mensagens do catálogo do DOMÍNIO especificado.
    • boolval - Obtém o valor booleano de uma variável
    • bson_decode - Deserializes a BSON object into a PHP array
    • bson_encode - Serializes a PHP variable into a BSON string
    • bzclose - Fecha um ponteiro de arquivo bzip2
    • bzcompress - Comprime uma string em dados no formato bzip2
    • bzdecompress - Descomprime dados no formato bzip2
    • bzerrno - Retorna um número de erro do bzip2
    • bzerror - Retorna o número e string de erro do bzip2 em um array
    • bzerrstr - Retorna a string de erro do bzip2
    • bzflush - Força a escrita de todos os dados que estão no buffer
    • bzopen - Abre um arquivo comprimido com bzip2
    • bzread - Leitura binary-safe de um arquivo bzip2
    • bzwrite - Escrita binary-safe em um arquivo bzip2
  • c
    • CachingIterator::count - The number of elements in the iterator
    • CachingIterator::current - Return the current element
    • CachingIterator::getCache - Retrieve the contents of the cache
    • CachingIterator::getFlags - Get flags used
    • CachingIterator::getInnerIterator - Returns the inner iterator
    • CachingIterator::hasNext - Verifica se o iterador interno tem ou não um próximo elemento válido
    • CachingIterator::key - Return the key for the current element
    • CachingIterator::next - Avança o iterador
    • CachingIterator::offsetExists - The offsetExists purpose
    • CachingIterator::offsetGet - The offsetGet purpose
    • CachingIterator::offsetSet - The offsetSet purpose
    • CachingIterator::offsetUnset - The offsetUnset purpose
    • CachingIterator::rewind - Recomeça o iterador
    • CachingIterator::setFlags - The setFlags purpose
    • CachingIterator::valid - Verifica se o elemento atual é válido ou não
    • CachingIterator::__construct - Construct a new CachingIterator object for the iterator
    • CachingIterator::__toString - Retorna a representação como string do elemento atual
    • CallbackFilterIterator::accept - Calls the callback with the current value, the current key and the inner iterator as arguments
    • CallbackFilterIterator::__construct - Create a filtered iterator from another iterator
    • call_user_func - Chama uma função de usuário dada pelo primeiro parâmetro
    • call_user_func_array - Chama uma dada função de usuário com um array de parâmetros
    • cal_days_in_month - Retorna o número de dias em um mês de um calendário e ano requisitado
    • cal_from_jd - Converte à partir do "Julian Day Count" para um outro calendário suportado
    • cal_info - Retorna informações sobre um calendário em particular
    • cal_to_jd - Converte um calendário (suportado) para o calendário "Julian Day Count"
    • ceil - Arredonda frações para cima
    • chdir - Muda o diretório
    • checkdate - Valida uma data Gregoriana
    • checkdnsrr - Checa os registros DNS correspondentes para o nome do host ou endereço IP informado
    • chgrp - Modifica o grupo do arquivo
    • chmod - Modifica as permissões do arquivo
    • chop - Sinônimo de rtrim
    • chown - Modifica o dono do arquivo
    • chr - Retorna um caracter específico
    • chroot - Muda o diretório raiz (root)
    • chunk_split - Divide uma string em pequenos pedaços
    • classkit_import - Importa métodos definidos em outra classe
    • classkit_method_add - Adiciona dinamicamente um método a uma classe
    • classkit_method_copy - Copia um método de uma classe para a outra
    • classkit_method_redefine - Muda dinâmicamente o corpo do método
    • classkit_method_remove - Remove dinamicamente um método da classe
    • classkit_method_rename - Muda dinamicamente o nome de um método
    • class_alias - Cria um alias para uma classe
    • class_exists - Checa se uma classe foi definida
    • class_implements - Retorna as interfaces que são implementadas pela classe
    • class_parents - Retorna as classes pai de determinada classe
    • class_uses - Return the traits used by the given class
    • clearstatcache - Limpa as informações em cache sobre arquivos
    • Client::getClient - Get client session
    • Client::__construct - Client constructor
    • cli_get_process_title - Returns the current process title
    • cli_set_process_title - Sets the process title
    • closedir - Fecha o manipulador do diretório
    • closelog - Close connection to system logger
    • Closure::bind - Duplica uma closure com um objeto vinculado e um escopo de classe
    • Closure::bindTo - Duplicates the closure with a new bound object and class scope
    • Closure::call - Vincula e chama a closure
    • Closure::__construct - Construtor que desabilita a instanciação
    • Collator::asort - Sort array maintaining index association
    • Collator::compare - Compare two Unicode strings
    • Collator::create - Create a collator
    • Collator::getAttribute - Get collation attribute value
    • Collator::getErrorCode - Get collator's last error code
    • Collator::getErrorMessage - Get text for collator's last error code
    • Collator::getLocale - Get the locale name of the collator
    • Collator::getSortKey - Get sorting key for a string
    • Collator::getStrength - Get current collation strength
    • Collator::setAttribute - Set collation attribute
    • Collator::setStrength - Set collation strength
    • Collator::sort - Sort array using specified collator
    • Collator::sortWithSortKeys - Sort array using specified collator and sort keys
    • Collator::__construct - Create a collator
    • Collectable::isGarbage - Determine whether an object has been marked as garbage
    • Collectable::setGarbage - Mark an object as garbage
    • Collection::add - Add collection document
    • Collection::addOrReplaceOne - Add or replace collection document
    • Collection::count - Get document count
    • Collection::createIndex - Create collection index
    • Collection::dropIndex - Drop collection index
    • Collection::existsInDatabase - Check if collection exists in database
    • Collection::find - Search for document
    • Collection::getName - Get collection name
    • Collection::getOne - Get one document
    • Collection::getSchema - Get schema object
    • Collection::getSession - Get session object
    • Collection::modify - Modify collection documents
    • Collection::remove - Remove collection documents
    • Collection::removeOne - Remove one collection document
    • Collection::replaceOne - Replace one collection document
    • Collection::__construct - Collection constructor
    • CollectionAdd::execute - Execute the statement
    • CollectionAdd::__construct - CollectionAdd constructor
    • CollectionFind::bind - Bind value to query placeholder
    • CollectionFind::execute - Execute the statement
    • CollectionFind::fields - Set document field filter
    • CollectionFind::groupBy - Set grouping criteria
    • CollectionFind::having - Set condition for aggregate functions
    • CollectionFind::limit - Limit number of returned documents
    • CollectionFind::lockExclusive - Execute operation with EXCLUSIVE LOCK
    • CollectionFind::lockShared - Execute operation with SHARED LOCK
    • CollectionFind::offset - Skip given number of elements to be returned
    • CollectionFind::sort - Set the sorting criteria
    • CollectionFind::__construct - CollectionFind constructor
    • CollectionModify::arrayAppend - Append element to an array field
    • CollectionModify::arrayInsert - Insert element into an array field
    • CollectionModify::bind - Bind value to query placeholder
    • CollectionModify::execute - Execute modify operation
    • CollectionModify::limit - Limit number of modified documents
    • CollectionModify::patch - Patch document
    • CollectionModify::replace - Replace document field
    • CollectionModify::set - Set document attribute
    • CollectionModify::skip - Skip elements
    • CollectionModify::sort - Set the sorting criteria
    • CollectionModify::unset - Unset the value of document fields
    • CollectionModify::__construct - CollectionModify constructor
    • CollectionRemove::bind - Bind value to placeholder
    • CollectionRemove::execute - Execute remove operation
    • CollectionRemove::limit - Limit number of documents to remove
    • CollectionRemove::sort - Set the sorting criteria
    • CollectionRemove::__construct - CollectionRemove constructor
    • ColumnResult::getCharacterSetName - Get character set
    • ColumnResult::getCollationName - Get collation name
    • ColumnResult::getColumnLabel - Get column label
    • ColumnResult::getColumnName - Get column name
    • ColumnResult::getFractionalDigits - Get fractional digit length
    • ColumnResult::getLength - Get column field length
    • ColumnResult::getSchemaName - Get schema name
    • ColumnResult::getTableLabel - Get table label
    • ColumnResult::getTableName - Get table name
    • ColumnResult::getType - Get column type
    • ColumnResult::isNumberSigned - Check if signed type
    • ColumnResult::isPadded - Check if padded
    • ColumnResult::__construct - ColumnResult constructor
    • com::__construct - com class constructor
    • CommonMark\CQL::__construct - CQL Construction
    • CommonMark\CQL::__invoke - CQL Execution
    • CommonMark\Interfaces\IVisitable::accept - Visitation
    • CommonMark\Interfaces\IVisitor::enter - Visitation
    • CommonMark\Interfaces\IVisitor::leave - Visitation
    • CommonMark\Node::accept - Visitation
    • CommonMark\Node::appendChild - AST Manipulation
    • CommonMark\Node::insertAfter - AST Manipulation
    • CommonMark\Node::insertBefore - AST Manipulation
    • CommonMark\Node::prependChild - AST Manipulation
    • CommonMark\Node::replace - AST Manipulation
    • CommonMark\Node::unlink - AST Manipulation
    • CommonMark\Node\BulletList::__construct - BulletList Construction
    • CommonMark\Node\CodeBlock::__construct - CodeBlock Construction
    • CommonMark\Node\Heading::__construct - Heading Construction
    • CommonMark\Node\Image::__construct - Image Construction
    • CommonMark\Node\Link::__construct - Link Construction
    • CommonMark\Node\OrderedList::__construct - OrderedList Construction
    • CommonMark\Node\Text::__construct - Text Construction
    • CommonMark\Parse - Parsing
    • CommonMark\Parser::finish - Parsing
    • CommonMark\Parser::parse - Parsing
    • CommonMark\Parser::__construct - Parsing
    • CommonMark\Render - Rendering
    • CommonMark\Render\HTML - Rendering
    • CommonMark\Render\Latex - Rendering
    • CommonMark\Render\Man - Rendering
    • CommonMark\Render\XML - Rendering
    • compact - Cria um array contendo variáveis e seus valores
    • COMPersistHelper::GetCurFileName - Get current filename
    • COMPersistHelper::GetMaxStreamSize - Get maximum stream size
    • COMPersistHelper::InitNew - Initialize object to default state
    • COMPersistHelper::LoadFromFile - Load object from file
    • COMPersistHelper::LoadFromStream - Load object from stream
    • COMPersistHelper::SaveToFile - Save object to file
    • COMPersistHelper::SaveToStream - Save object to stream
    • COMPersistHelper::__construct - Construct a COMPersistHelper object
    • Componere\Abstract\Definition::addInterface - Add Interface
    • Componere\Abstract\Definition::addMethod - Add Method
    • Componere\Abstract\Definition::addTrait - Add Trait
    • Componere\Abstract\Definition::getReflector - Reflection
    • Componere\cast - Casting
    • Componere\cast_by_ref - Casting
    • Componere\Definition::addConstant - Add Constant
    • Componere\Definition::addProperty - Add Property
    • Componere\Definition::getClosure - Get Closure
    • Componere\Definition::getClosures - Get Closures
    • Componere\Definition::isRegistered - State Detection
    • Componere\Definition::register - Registration
    • Componere\Definition::__construct - Definition Construction
    • Componere\Method::getReflector - Reflection
    • Componere\Method::setPrivate - Accessibility Modification
    • Componere\Method::setProtected - Accessibility Modification
    • Componere\Method::setStatic - Accessibility Modification
    • Componere\Method::__construct - Method Construction
    • Componere\Patch::apply - Application
    • Componere\Patch::derive - Patch Derivation
    • Componere\Patch::getClosure - Get Closure
    • Componere\Patch::getClosures - Get Closures
    • Componere\Patch::isApplied - State Detection
    • Componere\Patch::revert - Reversal
    • Componere\Patch::__construct - Patch Construction
    • Componere\Value::hasDefault - Value Interaction
    • Componere\Value::isPrivate - Accessibility Detection
    • Componere\Value::isProtected - Accessibility Detection
    • Componere\Value::isStatic - Accessibility Detection
    • Componere\Value::setPrivate - Accessibility Modification
    • Componere\Value::setProtected - Accessibility Modification
    • Componere\Value::setStatic - Accessibility Modification
    • Componere\Value::__construct - Value Construction
    • com_create_guid - Generate a globally unique identifier (GUID)
    • com_event_sink - Connect events from a COM object to a PHP object
    • com_get_active_object - Returns a handle to an already running instance of a COM object
    • com_load_typelib - Loads a Typelib
    • com_message_pump - Process COM messages, sleeping for up to timeoutms milliseconds
    • com_print_typeinfo - Print out a PHP class definition for a dispatchable interface
    • Cond::broadcast - Broadcast a Condition
    • Cond::create - Create a Condition
    • Cond::destroy - Destroy a Condition
    • Cond::signal - Signal a Condition
    • Cond::wait - Wait for Condition
    • connection_aborted - Verifica se o cliente está desconectado
    • connection_status - Retorna o status da conexão
    • constant - Retorna o valor de uma constante
    • convert_cyr_string - Converte de um conjunto caracteres cirílico para outro
    • convert_uudecode - Decodifica uma string codificada com uuencode
    • convert_uuencode - Codifica com uuencode uma string
    • copy - Copia arquivo
    • cos - Coseno
    • cosh - Cosseno hiperbólico
    • count - Conta o número de elementos de uma variável, ou propriedades de um objeto
    • Countable::count - Count elements of an object
    • count_chars - Retorna informações sobre os caracteres usados numa string
    • crc32 - Calcula polinômio crc32 de uma string
    • create_function - Cria uma função anônima (lambda-style)
    • CrudOperationBindable::bind - Bind value to placeholder
    • CrudOperationLimitable::limit - Set result limit
    • CrudOperationSkippable::skip - Number of operations to skip
    • CrudOperationSortable::sort - Sort results
    • crypt - Encriptação unidirecional de string (hashing)
    • ctype_alnum - Verifica se os caracteres são alfanuméricos
    • ctype_alpha - Verifica se os caracteres são alfabéticos
    • ctype_cntrl - Verifica se os caracteres são de controle
    • ctype_digit - Verifica se os caracteres são numéricos
    • ctype_graph - Verifica se os caracteres são imprimíveis exceto espaço
    • ctype_lower - Verifica se os caracteres estão minúsculos
    • ctype_print - Verifica se os caracteres são imprimíveis
    • ctype_punct - Verifica se é um caractere imprimível que não é whitespace ou alfanumério
    • ctype_space - Verifica se os caracteres são whitespace
    • ctype_upper - Verifica se os caracteres são maiúsculos
    • ctype_xdigit - Verifica se os caracteres representam um dígito hexadecimal
    • cubrid_affected_rows - Return the number of rows affected by the last SQL statement
    • cubrid_bind - Bind variables to a prepared statement as parameters
    • cubrid_client_encoding - Return the current CUBRID connection charset
    • cubrid_close - Close CUBRID connection
    • cubrid_close_prepare - Close the request handle
    • cubrid_close_request - Close the request handle
    • cubrid_column_names - Get the column names in result
    • cubrid_column_types - Get column types in result
    • cubrid_col_get - Get contents of collection type column using OID
    • cubrid_col_size - Get the number of elements in collection type column using OID
    • cubrid_commit - Commit a transaction
    • cubrid_connect - Open a connection to a CUBRID Server
    • cubrid_connect_with_url - Establish the environment for connecting to CUBRID server
    • cubrid_current_oid - Get OID of the current cursor location
    • cubrid_data_seek - Move the internal row pointer of the CUBRID result
    • cubrid_db_name - Get db name from results of cubrid_list_dbs
    • cubrid_disconnect - Close a database connection
    • cubrid_drop - Delete an instance using OID
    • cubrid_errno - Return the numerical value of the error message from previous CUBRID operation
    • cubrid_error - Get the error message
    • cubrid_error_code - Get error code for the most recent function call
    • cubrid_error_code_facility - Get the facility code of error
    • cubrid_error_msg - Get last error message for the most recent function call
    • cubrid_execute - Execute a prepared SQL statement
    • cubrid_fetch - Fetch the next row from a result set
    • cubrid_fetch_array - Fetch a result row as an associative array, a numeric array, or both
    • cubrid_fetch_assoc - Return the associative array that corresponds to the fetched row
    • cubrid_fetch_field - Get column information from a result and return as an object
    • cubrid_fetch_lengths - Return an array with the lengths of the values of each field from the current row
    • cubrid_fetch_object - Fetch the next row and return it as an object
    • cubrid_fetch_row - Return a numerical array with the values of the current row
    • cubrid_field_flags - Return a string with the flags of the given field offset
    • cubrid_field_len - Get the maximum length of the specified field
    • cubrid_field_name - Return the name of the specified field index
    • cubrid_field_seek - Move the result set cursor to the specified field offset
    • cubrid_field_table - Return the name of the table of the specified field
    • cubrid_field_type - Return the type of the column corresponding to the given field offset
    • cubrid_free_result - Free the memory occupied by the result data
    • cubrid_get - Get a column using OID
    • cubrid_get_autocommit - Get auto-commit mode of the connection
    • cubrid_get_charset - Return the current CUBRID connection charset
    • cubrid_get_class_name - Get the class name using OID
    • cubrid_get_client_info - Return the client library version
    • cubrid_get_db_parameter - Returns the CUBRID database parameters
    • cubrid_get_query_timeout - Get the query timeout value of the request
    • cubrid_get_server_info - Return the CUBRID server version
    • cubrid_insert_id - Return the ID generated for the last updated AUTO_INCREMENT column
    • cubrid_is_instance - Check whether the instance pointed by OID exists
    • cubrid_list_dbs - Return an array with the list of all existing CUBRID databases
    • cubrid_load_from_glo - Read data from a GLO instance and save it in a file
    • cubrid_lob2_bind - Bind a lob object or a string as a lob object to a prepared statement as parameters
    • cubrid_lob2_close - Close LOB object
    • cubrid_lob2_export - Export the lob object to a file
    • cubrid_lob2_import - Import BLOB/CLOB data from a file
    • cubrid_lob2_new - Create a lob object
    • cubrid_lob2_read - Read from BLOB/CLOB data
    • cubrid_lob2_seek - Move the cursor of a lob object
    • cubrid_lob2_seek64 - Move the cursor of a lob object
    • cubrid_lob2_size - Get a lob object's size
    • cubrid_lob2_size64 - Get a lob object's size
    • cubrid_lob2_tell - Tell the cursor position of the LOB object
    • cubrid_lob2_tell64 - Tell the cursor position of the LOB object
    • cubrid_lob2_write - Write to a lob object
    • cubrid_lob_close - Close BLOB/CLOB data
    • cubrid_lob_export - Export BLOB/CLOB data to file
    • cubrid_lob_get - Get BLOB/CLOB data
    • cubrid_lob_send - Read BLOB/CLOB data and send straight to browser
    • cubrid_lob_size - Get BLOB/CLOB data size
    • cubrid_lock_read - Set a read lock on the given OID
    • cubrid_lock_write - Set a write lock on the given OID
    • cubrid_move_cursor - Move the cursor in the result
    • cubrid_new_glo - Create a glo instance
    • cubrid_next_result - Get result of next query when executing multiple SQL statements
    • cubrid_num_cols - Return the number of columns in the result set
    • cubrid_num_fields - Return the number of columns in the result set
    • cubrid_num_rows - Get the number of rows in the result set
    • cubrid_pconnect - Open a persistent connection to a CUBRID server
    • cubrid_pconnect_with_url - Open a persistent connection to CUBRID server
    • cubrid_ping - Ping a server connection or reconnect if there is no connection
    • cubrid_prepare - Prepare a SQL statement for execution
    • cubrid_put - Update a column using OID
    • cubrid_query - Send a CUBRID query
    • cubrid_real_escape_string - Escape special characters in a string for use in an SQL statement
    • cubrid_result - Return the value of a specific field in a specific row
    • cubrid_rollback - Roll back a transaction
    • cubrid_save_to_glo - Save requested file in a GLO instance
    • cubrid_schema - Get the requested schema information
    • cubrid_send_glo - Read data from glo and send it to std output
    • cubrid_seq_drop - Delete an element from sequence type column using OID
    • cubrid_seq_insert - Insert an element to a sequence type column using OID
    • cubrid_seq_put - Update the element value of sequence type column using OID
    • cubrid_set_add - Insert a single element to set type column using OID
    • cubrid_set_autocommit - Set autocommit mode of the connection
    • cubrid_set_db_parameter - Sets the CUBRID database parameters
    • cubrid_set_drop - Delete an element from set type column using OID
    • cubrid_set_query_timeout - Set the timeout time of query execution
    • cubrid_unbuffered_query - Perform a query without fetching the results into memory
    • cubrid_version - Get the CUBRID PHP module's version
    • CURLFile::getFilename - Obtém o nome do arquivo
    • CURLFile::getMimeType - Obtém o tipo de MIME
    • CURLFile::getPostFilename - Obtém o nome do arquivo utilizando o POST
    • CURLFile::setMimeType - Define o tipo de MIME
    • CURLFile::setPostFilename - Define o nome do arquivo para o POST
    • CURLFile::__construct - Criar um objeto CURLFile
    • curl_close - Fecha uma sessão cURL
    • curl_copy_handle - Copia um controlador cURL com todas as suas opções
    • curl_errno - Retorna o número do último erro
    • curl_error - Return a string containing the last error for the current session
    • curl_escape - Codifica uma URL
    • curl_exec - Perform a cURL session
    • curl_getinfo - Get information regarding a specific transfer
    • curl_init - Initialize a cURL session
    • curl_multi_add_handle - Add a normal cURL handle to a cURL multi handle
    • curl_multi_close - Close a set of cURL handles
    • curl_multi_errno - Return the last multi curl error number
    • curl_multi_exec - Run the sub-connections of the current cURL handle
    • curl_multi_getcontent - Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set
    • curl_multi_info_read - Get information about the current transfers
    • curl_multi_init - Returns a new cURL multi handle
    • curl_multi_remove_handle - Remove a multi handle from a set of cURL handles
    • curl_multi_select - Wait for activity on any curl_multi connection
    • curl_multi_setopt - Configura uma opção no multi controlador cURL
    • curl_multi_strerror - Retorna uma string que descreve o código de erro
    • curl_pause - Pausa e despausa uma conexão
    • curl_reset - Reseta todas as opções de um controlador de sessão libcurl
    • curl_setopt - Set an option for a cURL transfer
    • curl_setopt_array - Set multiple options for a cURL transfer
    • curl_share_close - Fecha um controlador de compartilhamento de cURL
    • curl_share_errno - Return the last share curl error number
    • curl_share_init - Inicializa um controlador de compartilhamento de cURL
    • curl_share_setopt - Configura uma opção para um controlador de compartilhamento de cURL.
    • curl_share_strerror - Return string describing the given error code
    • curl_strerror - Retorna uma string que descreve o código de erro informado
    • curl_unescape - Decodifica a parte codificada da URL fornecida
    • curl_version - Gets cURL version information
    • current - Retorna o elemento corrente em um array
  • d
    • data:// - Data (RFC 2397)
    • DatabaseObject::existsInDatabase - Check if object exists in database
    • DatabaseObject::getName - Get object name
    • DatabaseObject::getSession - Get session name
    • date - Formata a data e a hora local
    • DateInterval::createFromDateString - Cria um DateInterval de porções relativas da string
    • DateInterval::format - Formata um intervalo
    • DateInterval::__construct - Cria um novo objeto DateInterval
    • DatePeriod::getDateInterval - Gets the interval
    • DatePeriod::getEndDate - Gets the end date
    • DatePeriod::getRecurrences - Gets the number of recurrences
    • DatePeriod::getStartDate - Gets the start date
    • DatePeriod::__construct - Cria um novo objeto DatePeriod
    • DateTime::add - Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime
    • DateTime::createFromFormat - Retorna um novo objeto DateTime formatado de acordo com um formato informado
    • DateTime::createFromImmutable - Returns new DateTime object encapsulating the given DateTimeImmutable object
    • DateTime::createFromInterface - Returns new DateTime object encapsulating the given DateTimeInterface object
    • DateTime::diff - Retorna a diferença entre dois objetos DateTime
    • DateTime::format - Retorna a data formada de acordo com um formato informado
    • DateTime::getLastErrors - Retorna os avisos e erros
    • DateTime::getOffset - Retorna o deslocamento do fuso horário
    • DateTime::getTimestamp - Obtém o timestamp Unix
    • DateTime::getTimezone - Retorna o fuso horário corresponde a um DateTime informado
    • DateTime::modify - Altera o timestamp
    • DateTime::setDate - Define a data
    • DateTime::setISODate - Define uma data ISO
    • DateTime::setTime - Define o horário
    • DateTime::setTimestamp - Define a data e hora baseada em um timestamp Unix
    • DateTime::setTimezone - Define o fuso horário de um objeto DateTime
    • DateTime::sub - Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos de um objeto DateTime
    • DateTime::__construct - Retorna um novo objeto DateTime
    • DateTime::__set_state - O manipulador __set_state
    • DateTime::__wakeup - O manipulador __wakeup
    • DateTimeImmutable::add - Adiciona uma quantidade de dias, meses, anos, horas, minutos e segundos
    • DateTimeImmutable::createFromFormat - Retorna um novo objeto DateTimeImmutable formatado de acordo com um formato informado
    • DateTimeImmutable::createFromInterface - Returns new DateTimeImmutable object encapsulating the given DateTimeInterface object
    • DateTimeImmutable::createFromMutable - Retorna um novo objeto DateTimeImmutable que encapsula um objeto DateTime informado
    • DateTimeImmutable::getLastErrors - Retorna os avisos e erros
    • DateTimeImmutable::modify - Cria um novo objeto com seu timestamp modificado
    • DateTimeImmutable::setDate - Define a data
    • DateTimeImmutable::setISODate - Define a data ISO
    • DateTimeImmutable::setTime - Define um horário
    • DateTimeImmutable::setTimestamp - Define a data e ghora baseado em um timestamp Unix
    • DateTimeImmutable::setTimezone - Define o fuso horário
    • DateTimeImmutable::sub - Subtrai uma quantidade de dias, meses, anos, horas, minutos e segundos
    • DateTimeImmutable::__construct - Retorna um novo objeto DateTimeImmutable
    • DateTimeImmutable::__set_state - O manipulador __set_state
    • DateTimeZone::getLocation - Retorna informações da localização de um fuso horário
    • DateTimeZone::getName - Retorna o nome do fuso horário
    • DateTimeZone::getOffset - Retorna o deslocamento do fuso horário ao Horário de Greenwish (GMT)
    • DateTimeZone::getTransitions - Retorna todas as transições do fuso horário
    • DateTimeZone::listAbbreviations - Retorna um fuso horário contendo o indicativo do horário de verão(dst), o deslocamento e nome do fuso horário
    • DateTimeZone::listIdentifiers - Retorna um array numericamente indexado contendo todos os indenticadores de fuso horário
    • DateTimeZone::__construct - Cria um novo objeto DateTimeZone
    • date_add - Sinônimo de DateTime::add
    • date_create - Sinônimo de DateTime::__construct
    • date_create_from_format - Sinônimo de DateTime::createFromFormat
    • date_create_immutable - Sinônimo de DateTimeImmutable::__construct
    • date_create_immutable_from_format - Sinônimo de DateTimeImmutable::createFromFormat
    • date_date_set - Sinônimo de DateTime::setDate
    • date_default_timezone_get - Retorna o fuso horário padrão usado por todas as funções de data e tempo em um script
    • date_default_timezone_set - Configura o fuso horário padrão utilizado por todas as funções de data e hora em um script
    • date_diff - Sinônimo de DateTime::diff
    • date_format - Sinônimo de DateTime::format
    • date_get_last_errors - Sinônimo de DateTime::getLastErrors
    • date_interval_create_from_date_string - Sinônimo de DateInterval::createFromDateString
    • date_interval_format - Sinônimo de DateInterval::format
    • date_isodate_set - Sinônimo de DateTime::setISODate
    • date_modify - Sinônimo de DateTime::modify
    • date_offset_get - Sinônimo de DateTime::getOffset
    • date_parse - Retorna um array associativo com informações detalhadas da data informada
    • date_parse_from_format - Retorna informações sobre uma data informada de acordo com um formato
    • date_sub - Sinônimo de DateTime::sub
    • date_sunrise - Retorna a hora do nascer do sol de um dia e localicação informada
    • date_sunset - Retorna a hora do pôr do sol de um dia e localização informada.
    • date_sun_info - Retorna um array com informações sobre pôr do sol/nascer do sol e o início/fim do dia
    • date_timestamp_get - Sinônimo de DateTime::getTimestamp
    • date_timestamp_set - Sinônimo de DateTime::setTimestamp
    • date_timezone_get - Sinônimo de DateTime::getTimezone
    • date_timezone_set - Sinônimo de DateTime::setTimezone
    • date_time_set - Sinônimo de DateTime::setTime
    • db2_autocommit - Returns or sets the AUTOCOMMIT state for a database connection
    • db2_bind_param - Binds a PHP variable to an SQL statement parameter
    • db2_client_info - Returns an object with properties that describe the DB2 database client
    • db2_close - Closes a database connection
    • db2_columns - Returns a result set listing the columns and associated metadata for a table
    • db2_column_privileges - Returns a result set listing the columns and associated privileges for a table
    • db2_commit - Commits a transaction
    • db2_connect - Returns a connection to a database
    • db2_conn_error - Returns a string containing the SQLSTATE returned by the last connection attempt
    • db2_conn_errormsg - Returns the last connection error message and SQLCODE value
    • db2_cursor_type - Returns the cursor type used by a statement resource
    • db2_escape_string - Used to escape certain characters
    • db2_exec - Executes an SQL statement directly
    • db2_execute - Executes a prepared SQL statement
    • db2_fetch_array - Returns an array, indexed by column position, representing a row in a result set
    • db2_fetch_assoc - Returns an array, indexed by column name, representing a row in a result set
    • db2_fetch_both - Returns an array, indexed by both column name and position, representing a row in a result set
    • db2_fetch_object - Returns an object with properties representing columns in the fetched row
    • db2_fetch_row - Sets the result set pointer to the next row or requested row
    • db2_field_display_size - Returns the maximum number of bytes required to display a column
    • db2_field_name - Returns the name of the column in the result set
    • db2_field_num - Returns the position of the named column in a result set
    • db2_field_precision - Returns the precision of the indicated column in a result set
    • db2_field_scale - Returns the scale of the indicated column in a result set
    • db2_field_type - Returns the data type of the indicated column in a result set
    • db2_field_width - Returns the width of the current value of the indicated column in a result set
    • db2_foreign_keys - Returns a result set listing the foreign keys for a table
    • db2_free_result - Frees resources associated with a result set
    • db2_free_stmt - Frees resources associated with the indicated statement resource
    • db2_get_option - Retrieves an option value for a statement resource or a connection resource
    • db2_last_insert_id - Returns the auto generated ID of the last insert query that successfully executed on this connection
    • db2_lob_read - Gets a user defined size of LOB files with each invocation
    • db2_next_result - Requests the next result set from a stored procedure
    • db2_num_fields - Returns the number of fields contained in a result set
    • db2_num_rows - Returns the number of rows affected by an SQL statement
    • db2_pclose - Closes a persistent database connection
    • db2_pconnect - Returns a persistent connection to a database
    • db2_prepare - Prepares an SQL statement to be executed
    • db2_primary_keys - Returns a result set listing primary keys for a table
    • db2_procedures - Returns a result set listing the stored procedures registered in a database
    • db2_procedure_columns - Returns a result set listing stored procedure parameters
    • db2_result - Returns a single column from a row in the result set
    • db2_rollback - Rolls back a transaction
    • db2_server_info - Returns an object with properties that describe the DB2 database server
    • db2_set_option - Set options for connection or statement resources
    • db2_special_columns - Returns a result set listing the unique row identifier columns for a table
    • db2_statistics - Returns a result set listing the index and statistics for a table
    • db2_stmt_error - Returns a string containing the SQLSTATE returned by an SQL statement
    • db2_stmt_errormsg - Returns a string containing the last SQL statement error message
    • db2_tables - Returns a result set listing the tables and associated metadata in a database
    • db2_table_privileges - Returns a result set listing the tables and associated privileges in a database
    • dbase_add_record - Adiciona um registro ao banco de dados
    • dbase_close - Fecha um banco de dados
    • dbase_create - Cria um banco de dados
    • dbase_delete_record - Exclui um registro do banco de dados
    • dbase_get_header_info - Obtém as informações do cabeçalho do banco de dados
    • dbase_get_record - Obtém um registro do banco de dados como uma matriz indexada
    • dbase_get_record_with_names - Obtém um registro do banco de dados como uma matriz associativa.
    • dbase_numfields - Obtém o número de campos em um banco de dados
    • dbase_numrecords - Obtém o número de registros no banco de dados
    • dbase_open - Abre um banco de dados
    • dbase_pack - Apaga permanentemente os registros do banco de dados dBase
    • dbase_replace_record - Substitui um registro no banco de dados
    • dba_close - Close a DBA database
    • dba_delete - Delete DBA entry specified by key
    • dba_exists - Check whether key exists
    • dba_fetch - Fetch data specified by key
    • dba_firstkey - Fetch first key
    • dba_handlers - List all the handlers available
    • dba_insert - Insert entry
    • dba_key_split - Splits a key in string representation into array representation
    • dba_list - List all open database files
    • dba_nextkey - Fetch next key
    • dba_open - Open database
    • dba_optimize - Optimize database
    • dba_popen - Open database persistently
    • dba_replace - Replace or insert entry
    • dba_sync - Synchronize database
    • dbplus_add - Add a tuple to a relation
    • dbplus_aql - Perform AQL query
    • dbplus_chdir - Get/Set database virtual current directory
    • dbplus_close - Close a relation
    • dbplus_curr - Get current tuple from relation
    • dbplus_errcode - Get error string for given errorcode or last error
    • dbplus_errno - Get error code for last operation
    • dbplus_find - Set a constraint on a relation
    • dbplus_first - Get first tuple from relation
    • dbplus_flush - Flush all changes made on a relation
    • dbplus_freealllocks - Free all locks held by this client
    • dbplus_freelock - Release write lock on tuple
    • dbplus_freerlocks - Free all tuple locks on given relation
    • dbplus_getlock - Get a write lock on a tuple
    • dbplus_getunique - Get an id number unique to a relation
    • dbplus_info - Get information about a relation
    • dbplus_last - Get last tuple from relation
    • dbplus_lockrel - Request write lock on relation
    • dbplus_next - Get next tuple from relation
    • dbplus_open - Open relation file
    • dbplus_prev - Get previous tuple from relation
    • dbplus_rchperm - Change relation permissions
    • dbplus_rcreate - Creates a new DB++ relation
    • dbplus_rcrtexact - Creates an exact but empty copy of a relation including indices
    • dbplus_rcrtlike - Creates an empty copy of a relation with default indices
    • dbplus_resolve - Resolve host information for relation
    • dbplus_restorepos - Restore position
    • dbplus_rkeys - Specify new primary key for a relation
    • dbplus_ropen - Open relation file local
    • dbplus_rquery - Perform local (raw) AQL query
    • dbplus_rrename - Rename a relation
    • dbplus_rsecindex - Create a new secondary index for a relation
    • dbplus_runlink - Remove relation from filesystem
    • dbplus_rzap - Remove all tuples from relation
    • dbplus_savepos - Save position
    • dbplus_setindex - Set index
    • dbplus_setindexbynumber - Set index by number
    • dbplus_sql - Perform SQL query
    • dbplus_tcl - Execute TCL code on server side
    • dbplus_tremove - Remove tuple and return new current tuple
    • dbplus_undo - Undo
    • dbplus_undoprepare - Prepare undo
    • dbplus_unlockrel - Give up write lock on relation
    • dbplus_unselect - Remove a constraint from relation
    • dbplus_update - Update specified tuple in relation
    • dbplus_xlockrel - Request exclusive lock on relation
    • dbplus_xunlockrel - Free exclusive lock on relation
    • dcgettext - Substitui o domínio por um lookup
    • dcngettext - O mesmo que dcgettext, porém permite que você especifique mais de uma mensagem
    • debug_backtrace - Generates a backtrace
    • debug_print_backtrace - Mostra um backtrace
    • debug_zval_dump - Exibe a representação de um interno zend value
    • decbin - Decimal para binário
    • dechex - Decimal para hexadecimal
    • decoct - Decimal para octal
    • define - Define uma constante
    • defined - Confere se uma constante existe
    • deflate_add - Incrementally deflate data
    • deflate_init - Initialize an incremental deflate context
    • deg2rad - Converte o número em graus ao equivalente em radianos
    • delete - Veja unlink ou unset
    • dgettext - Sobreescreve o domínio atual
    • die - Equivalente a exit
    • dio_close - Closes the file descriptor given by fd
    • dio_fcntl - Performs a c library fcntl on fd
    • dio_open - Opens a file (creating it if necessary) at a lower level than the C library input/ouput stream functions allow
    • dio_read - Reads bytes from a file descriptor
    • dio_seek - Seeks to pos on fd from whence
    • dio_stat - Gets stat information about the file descriptor fd
    • dio_tcsetattr - Sets terminal attributes and baud rate for a serial port
    • dio_truncate - Truncates file descriptor fd to offset bytes
    • dio_write - Writes data to fd with optional truncation at length
    • dir - Retorna uma instância da classe Diretório
    • DirectoryIterator::current - Retorna $this (necessário para a interface Iterator)
    • DirectoryIterator::getATime - Retorna a data de último acesso do arquivo
    • DirectoryIterator::getBasename - Retorna o nome do item corrente do DirectoryIterator.
    • DirectoryIterator::getCTime - Retorna a data de modificação do inode do arquivo
    • DirectoryIterator::getExtension - Retorna a extensão do arquivo do item corrente do DirectoryIterator
    • DirectoryIterator::getFilename - Retorna o nome do arquivo do elemento atual do diretório
    • DirectoryIterator::getGroup - Retorna o grupo do arquivo
    • DirectoryIterator::getInode - Retorna o inode do arquivo
    • DirectoryIterator::getMTime - Retorna a data da última modificação do arquivo
    • DirectoryIterator::getOwner - Retorna o proprietário do arquivo
    • DirectoryIterator::getPath - Retorna o caminho do diretório
    • DirectoryIterator::getPathname - Retorna o caminho e o nome do arquivo do elemento atual do diretório
    • DirectoryIterator::getPerms - Retorna as permissões do arquivo
    • DirectoryIterator::getSize - Retorna o tamanho do arquivo
    • DirectoryIterator::getType - Retorna o tipo do arquivo
    • DirectoryIterator::isDir - Retorna true se o elemento atual é um diretório
    • DirectoryIterator::isDot - Retorna true se o elemento atual for '.' ou '..'
    • DirectoryIterator::isExecutable - Retorna true se o arquivo for executável
    • DirectoryIterator::isFile - Retorna true se o elemento atual for um arquivo
    • DirectoryIterator::isLink - Retorna true se o elemento atual for um link simbólico
    • DirectoryIterator::isReadable - Retorna true se o arquivo pode ser lido
    • DirectoryIterator::isWritable - Retorna true se o arquivo pode ser modificado
    • DirectoryIterator::key - Retorna o elemento atual do diretório
    • DirectoryIterator::next - Avança para o próximo elemento
    • DirectoryIterator::rewind - Recomeça a iteração do diretório
    • DirectoryIterator::seek - Procura uma determinada posição no item do DirectoryIterator
    • DirectoryIterator::valid - Verifica se o diretório possui ou não mais elementos
    • DirectoryIterator::__construct - Constrói um novo iterador de diretório a partir de um caminho
    • DirectoryIterator::__toString - Retorna o nome do arquivo como texto
    • dirname - Retorna o caminho/path do diretório pai
    • diskfreespace - Sinônimo de disk_free_space
    • disk_free_space - Retorna o espaço disponível no sistema de arquivos ou partição de disco
    • disk_total_space - Retorna o tamanho total de um sistema de arquivos ou partição de disco
    • dl - Carrega uma extensão do PHP durante a execução
    • dngettext - O mesmo que dgettext, porém você pode escrever mais de uma mensagem
    • dns_check_record - Sinônimo de checkdnsrr
    • dns_get_mx - Sinônimo de getmxrr
    • dns_get_record - Fetch DNS Resource Records associated with a hostname
    • DocResult::fetchAll - Get all rows
    • DocResult::fetchOne - Get one row
    • DocResult::getWarnings - Get warnings from last operation
    • DocResult::getWarningsCount - Get warning count from last operation
    • DocResult::__construct - DocResult constructor
    • DOMAttr::isId - Checks if attribute is a defined ID
    • DOMAttr::__construct - Creates a new DOMAttr object
    • DOMCdataSection::__construct - Constructs a new DOMCdataSection object
    • DOMCharacterData::appendData - Append the string to the end of the character data of the node
    • DOMCharacterData::deleteData - Remove a range of characters from the node
    • DOMCharacterData::insertData - Insert a string at the specified 16-bit unit offset
    • DOMCharacterData::replaceData - Replace a substring within the DOMCharacterData node
    • DOMCharacterData::substringData - Extracts a range of data from the node
    • DOMComment::__construct - Creates a new DOMComment object
    • DOMDocument::createAttribute - Create new attribute
    • DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
    • DOMDocument::createCDATASection - Create new cdata node
    • DOMDocument::createComment - Create new comment node
    • DOMDocument::createDocumentFragment - Create new document fragment
    • DOMDocument::createElement - Create new element node
    • DOMDocument::createElementNS - Create new element node with an associated namespace
    • DOMDocument::createEntityReference - Create new entity reference node
    • DOMDocument::createProcessingInstruction - Creates new PI node
    • DOMDocument::createTextNode - Create new text node
    • DOMDocument::getElementById - Searches for an element with a certain id
    • DOMDocument::getElementsByTagName - Searches for all elements with given local tag name
    • DOMDocument::getElementsByTagNameNS - Searches for all elements with given tag name in specified namespace
    • DOMDocument::importNode - Import node into current document
    • DOMDocument::load - Load XML from a file
    • DOMDocument::loadHTML - Load HTML from a string
    • DOMDocument::loadHTMLFile - Load HTML from a file
    • DOMDocument::loadXML - Load XML from a string
    • DOMDocument::normalizeDocument - Normalizes the document
    • DOMDocument::registerNodeClass - Register extended class used to create base node type
    • DOMDocument::relaxNGValidate - Performs relaxNG validation on the document
    • DOMDocument::relaxNGValidateSource - Performs relaxNG validation on the document
    • DOMDocument::save - Dumps the internal XML tree back into a file
    • DOMDocument::saveHTML - Dumps the internal document into a string using HTML formatting
    • DOMDocument::saveHTMLFile - Dumps the internal document into a file using HTML formatting
    • DOMDocument::saveXML - Dumps the internal XML tree back into a string
    • DOMDocument::schemaValidate - Validates a document based on a schema. Only XML Schema 1.0 is supported.
    • DOMDocument::schemaValidateSource - Validates a document based on a schema
    • DOMDocument::validate - Validates the document based on its DTD
    • DOMDocument::xinclude - Substitutes XIncludes in a DOMDocument Object
    • DOMDocument::__construct - Creates a new DOMDocument object
    • DOMDocumentFragment::appendXML - Append raw XML data
    • DOMElement::getAttribute - Returns value of attribute
    • DOMElement::getAttributeNode - Returns attribute node
    • DOMElement::getAttributeNodeNS - Returns attribute node
    • DOMElement::getAttributeNS - Returns value of attribute
    • DOMElement::getElementsByTagName - Gets elements by tagname
    • DOMElement::getElementsByTagNameNS - Get elements by namespaceURI and localName
    • DOMElement::hasAttribute - Checks to see if attribute exists
    • DOMElement::hasAttributeNS - Checks to see if attribute exists
    • DOMElement::removeAttribute - Removes attribute
    • DOMElement::removeAttributeNode - Removes attribute
    • DOMElement::removeAttributeNS - Removes attribute
    • DOMElement::setAttribute - Adds new attribute
    • DOMElement::setAttributeNode - Adds new attribute node to element
    • DOMElement::setAttributeNodeNS - Adds new attribute node to element
    • DOMElement::setAttributeNS - Adds new attribute
    • DOMElement::setIdAttribute - Declares the attribute specified by name to be of type ID
    • DOMElement::setIdAttributeNode - Declares the attribute specified by node to be of type ID
    • DOMElement::setIdAttributeNS - Declares the attribute specified by local name and namespace URI to be of type ID
    • DOMElement::__construct - Creates a new DOMElement object
    • DOMEntityReference::__construct - Creates a new DOMEntityReference object
    • DOMImplementation::createDocument - Creates a DOMDocument object of the specified type with its document element
    • DOMImplementation::createDocumentType - Creates an empty DOMDocumentType object
    • DOMImplementation::hasFeature - Test if the DOM implementation implements a specific feature
    • DOMImplementation::__construct - Creates a new DOMImplementation object
    • DOMNamedNodeMap::count - Get number of nodes in the map
    • DOMNamedNodeMap::getNamedItem - Retrieves a node specified by name
    • DOMNamedNodeMap::getNamedItemNS - Retrieves a node specified by local name and namespace URI
    • DOMNamedNodeMap::item - Retrieves a node specified by index
    • DOMNode::appendChild - Adiciona um novo nó filho ao final dos filhos
    • DOMNode::C14N - Canonicalize nodes to a string
    • DOMNode::C14NFile - Canonicalize nodes to a file
    • DOMNode::cloneNode - Clones a node
    • DOMNode::getLineNo - Get line number for a node
    • DOMNode::getNodePath - Get an XPath for a node
    • DOMNode::hasAttributes - Checks if node has attributes
    • DOMNode::hasChildNodes - Checks if node has children
    • DOMNode::insertBefore - Adds a new child before a reference node
    • DOMNode::isDefaultNamespace - Checks if the specified namespaceURI is the default namespace or not
    • DOMNode::isSameNode - Indicates if two nodes are the same node
    • DOMNode::isSupported - Checks if feature is supported for specified version
    • DOMNode::lookupNamespaceUri - Gets the namespace URI of the node based on the prefix
    • DOMNode::lookupPrefix - Gets the namespace prefix of the node based on the namespace URI
    • DOMNode::normalize - Normalizes the node
    • DOMNode::removeChild - Removes child from list of children
    • DOMNode::replaceChild - Replaces a child
    • DOMNodeList::count - Get number of nodes in the list
    • DOMNodeList::item - Retrieves a node specified by index
    • DOMProcessingInstruction::__construct - Creates a new DOMProcessingInstruction object
    • DOMText::isElementContentWhitespace - Returns whether this text node contains whitespace in element content
    • DOMText::isWhitespaceInElementContent - Indicates whether this text node contains whitespace
    • DOMText::splitText - Quebra este nó em dois nós no deslocamento especificado
    • DOMText::__construct - Creates a new DOMText object
    • DOMXPath::evaluate - Evaluates the given XPath expression and returns a typed result if possible
    • DOMXPath::query - Evaluates the given XPath expression
    • DOMXPath::registerNamespace - Registers the namespace with the DOMXPath object
    • DOMXPath::registerPhpFunctions - Register PHP functions as XPath functions
    • DOMXPath::__construct - Creates a new DOMXPath object
    • dom_import_simplexml - Gets a DOMElement object from a SimpleXMLElement object
    • dotnet::__construct - dotnet class constructor
    • doubleval - Sinônimo de floatval
    • Ds\Collection::clear - Removes all values
    • Ds\Collection::copy - Returns a shallow copy of the collection
    • Ds\Collection::isEmpty - Returns whether the collection is empty
    • Ds\Collection::toArray - Converts the collection to an array
    • Ds\Deque::allocate - Allocates enough memory for a required capacity
    • Ds\Deque::apply - Updates all values by applying a callback function to each value
    • Ds\Deque::capacity - Returns the current capacity
    • Ds\Deque::clear - Removes all values from the deque
    • Ds\Deque::contains - Determines if the deque contains given values
    • Ds\Deque::copy - Returns a shallow copy of the deque
    • Ds\Deque::count - Returns the number of values in the collection
    • Ds\Deque::filter - Creates a new deque using a callable to determine which values to include
    • Ds\Deque::find - Attempts to find a value's index
    • Ds\Deque::first - Returns the first value in the deque
    • Ds\Deque::get - Returns the value at a given index
    • Ds\Deque::insert - Inserts values at a given index
    • Ds\Deque::isEmpty - Returns whether the deque is empty
    • Ds\Deque::join - Joins all values together as a string
    • Ds\Deque::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Deque::last - Returns the last value
    • Ds\Deque::map - Returns the result of applying a callback to each value
    • Ds\Deque::merge - Returns the result of adding all given values to the deque
    • Ds\Deque::pop - Removes and returns the last value
    • Ds\Deque::push - Adds values to the end of the deque
    • Ds\Deque::reduce - Reduces the deque to a single value using a callback function
    • Ds\Deque::remove - Removes and returns a value by index
    • Ds\Deque::reverse - Reverses the deque in-place
    • Ds\Deque::reversed - Returns a reversed copy
    • Ds\Deque::rotate - Rotates the deque by a given number of rotations
    • Ds\Deque::set - Updates a value at a given index
    • Ds\Deque::shift - Removes and returns the first value
    • Ds\Deque::slice - Returns a sub-deque of a given range
    • Ds\Deque::sort - Sorts the deque in-place
    • Ds\Deque::sorted - Returns a sorted copy
    • Ds\Deque::sum - Returns the sum of all values in the deque
    • Ds\Deque::toArray - Converts the deque to an array
    • Ds\Deque::unshift - Adds values to the front of the deque
    • Ds\Deque::__construct - Creates a new instance
    • Ds\Hashable::equals - Determines whether an object is equal to the current instance
    • Ds\Hashable::hash - Returns a scalar value to be used as a hash value
    • Ds\Map::allocate - Allocates enough memory for a required capacity
    • Ds\Map::apply - Updates all values by applying a callback function to each value
    • Ds\Map::capacity - Returns the current capacity
    • Ds\Map::clear - Removes all values
    • Ds\Map::copy - Returns a shallow copy of the map
    • Ds\Map::count - Returns the number of values in the map
    • Ds\Map::diff - Creates a new map using keys that aren't in another map
    • Ds\Map::filter - Creates a new map using a callable to determine which pairs to include
    • Ds\Map::first - Returns the first pair in the map
    • Ds\Map::get - Returns the value for a given key
    • Ds\Map::hasKey - Determines whether the map contains a given key
    • Ds\Map::hasValue - Determines whether the map contains a given value
    • Ds\Map::intersect - Creates a new map by intersecting keys with another map
    • Ds\Map::isEmpty - Returns whether the map is empty
    • Ds\Map::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Map::keys - Returns a set of the map's keys
    • Ds\Map::ksort - Sorts the map in-place by key
    • Ds\Map::ksorted - Returns a copy, sorted by key
    • Ds\Map::last - Returns the last pair of the map
    • Ds\Map::map - Returns the result of applying a callback to each value
    • Ds\Map::merge - Returns the result of adding all given associations
    • Ds\Map::pairs - Returns a sequence containing all the pairs of the map
    • Ds\Map::put - Associates a key with a value
    • Ds\Map::putAll - Associates all key-value pairs of a traversable object or array
    • Ds\Map::reduce - Reduces the map to a single value using a callback function
    • Ds\Map::remove - Removes and returns a value by key
    • Ds\Map::reverse - Reverses the map in-place
    • Ds\Map::reversed - Returns a reversed copy
    • Ds\Map::skip - Returns the pair at a given positional index
    • Ds\Map::slice - Returns a subset of the map defined by a starting index and length
    • Ds\Map::sort - Sorts the map in-place by value
    • Ds\Map::sorted - Returns a copy, sorted by value
    • Ds\Map::sum - Returns the sum of all values in the map
    • Ds\Map::toArray - Converts the map to an array
    • Ds\Map::union - Creates a new map using values from the current instance and another map
    • Ds\Map::values - Returns a sequence of the map's values
    • Ds\Map::xor - Creates a new map using keys of either the current instance or of another map, but not of both
    • Ds\Map::__construct - Creates a new instance
    • Ds\Pair::clear - Removes all values
    • Ds\Pair::copy - Returns a shallow copy of the pair
    • Ds\Pair::isEmpty - Returns whether the pair is empty
    • Ds\Pair::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Pair::toArray - Converts the pair to an array
    • Ds\Pair::__construct - Creates a new instance
    • Ds\PriorityQueue::allocate - Allocates enough memory for a required capacity
    • Ds\PriorityQueue::capacity - Returns the current capacity
    • Ds\PriorityQueue::clear - Removes all values
    • Ds\PriorityQueue::copy - Returns a shallow copy of the queue
    • Ds\PriorityQueue::count - Returns the number of values in the queue
    • Ds\PriorityQueue::isEmpty - Returns whether the queue is empty
    • Ds\PriorityQueue::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\PriorityQueue::peek - Returns the value at the front of the queue
    • Ds\PriorityQueue::pop - Removes and returns the value with the highest priority
    • Ds\PriorityQueue::push - Pushes values into the queue
    • Ds\PriorityQueue::toArray - Converts the queue to an array
    • Ds\PriorityQueue::__construct - Creates a new instance
    • Ds\Queue::allocate - Allocates enough memory for a required capacity
    • Ds\Queue::capacity - Returns the current capacity
    • Ds\Queue::clear - Removes all values
    • Ds\Queue::copy - Returns a shallow copy of the queue
    • Ds\Queue::count - Returns the number of values in the queue
    • Ds\Queue::isEmpty - Returns whether the queue is empty
    • Ds\Queue::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Queue::peek - Returns the value at the front of the queue
    • Ds\Queue::pop - Removes and returns the value at the front of the queue
    • Ds\Queue::push - Pushes values into the queue
    • Ds\Queue::toArray - Converts the queue to an array
    • Ds\Queue::__construct - Creates a new instance
    • Ds\Sequence::allocate - Allocates enough memory for a required capacity
    • Ds\Sequence::apply - Updates all values by applying a callback function to each value
    • Ds\Sequence::capacity - Returns the current capacity
    • Ds\Sequence::contains - Determines if the sequence contains given values
    • Ds\Sequence::filter - Creates a new sequence using a callable to determine which values to include
    • Ds\Sequence::find - Attempts to find a value's index
    • Ds\Sequence::first - Returns the first value in the sequence
    • Ds\Sequence::get - Returns the value at a given index
    • Ds\Sequence::insert - Inserts values at a given index
    • Ds\Sequence::join - Joins all values together as a string
    • Ds\Sequence::last - Returns the last value
    • Ds\Sequence::map - Returns the result of applying a callback to each value
    • Ds\Sequence::merge - Returns the result of adding all given values to the sequence
    • Ds\Sequence::pop - Removes and returns the last value
    • Ds\Sequence::push - Adds values to the end of the sequence
    • Ds\Sequence::reduce - Reduces the sequence to a single value using a callback function
    • Ds\Sequence::remove - Removes and returns a value by index
    • Ds\Sequence::reverse - Reverses the sequence in-place
    • Ds\Sequence::reversed - Returns a reversed copy
    • Ds\Sequence::rotate - Rotates the sequence by a given number of rotations
    • Ds\Sequence::set - Updates a value at a given index
    • Ds\Sequence::shift - Removes and returns the first value
    • Ds\Sequence::slice - Returns a sub-sequence of a given range
    • Ds\Sequence::sort - Sorts the sequence in-place
    • Ds\Sequence::sorted - Returns a sorted copy
    • Ds\Sequence::sum - Returns the sum of all values in the sequence
    • Ds\Sequence::unshift - Adds values to the front of the sequence
    • Ds\Set::add - Adds values to the set
    • Ds\Set::allocate - Allocates enough memory for a required capacity
    • Ds\Set::capacity - Returns the current capacity
    • Ds\Set::clear - Removes all values
    • Ds\Set::contains - Determines if the set contains all values
    • Ds\Set::copy - Returns a shallow copy of the set
    • Ds\Set::count - Returns the number of values in the set
    • Ds\Set::diff - Creates a new set using values that aren't in another set
    • Ds\Set::filter - Creates a new set using a callable to determine which values to include
    • Ds\Set::first - Returns the first value in the set
    • Ds\Set::get - Returns the value at a given index
    • Ds\Set::intersect - Creates a new set by intersecting values with another set
    • Ds\Set::isEmpty - Returns whether the set is empty
    • Ds\Set::join - Joins all values together as a string
    • Ds\Set::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Set::last - Returns the last value in the set
    • Ds\Set::merge - Returns the result of adding all given values to the set
    • Ds\Set::reduce - Reduces the set to a single value using a callback function
    • Ds\Set::remove - Removes all given values from the set
    • Ds\Set::reverse - Reverses the set in-place
    • Ds\Set::reversed - Returns a reversed copy
    • Ds\Set::slice - Returns a sub-set of a given range
    • Ds\Set::sort - Sorts the set in-place
    • Ds\Set::sorted - Returns a sorted copy
    • Ds\Set::sum - Returns the sum of all values in the set
    • Ds\Set::toArray - Converts the set to an array
    • Ds\Set::union - Creates a new set using values from the current instance and another set
    • Ds\Set::xor - Creates a new set using values in either the current instance or in another set, but not in both
    • Ds\Set::__construct - Creates a new instance
    • Ds\Stack::allocate - Allocates enough memory for a required capacity
    • Ds\Stack::capacity - Returns the current capacity
    • Ds\Stack::clear - Removes all values
    • Ds\Stack::copy - Returns a shallow copy of the stack
    • Ds\Stack::count - Retorna o número de valores na pilha
    • Ds\Stack::isEmpty - Returns whether the stack is empty
    • Ds\Stack::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Stack::peek - Retorna o valor no topo da pilha
    • Ds\Stack::pop - Removes and returns the value at the top of the stack
    • Ds\Stack::push - Pushes values onto the stack
    • Ds\Stack::toArray - Converts the stack to an array
    • Ds\Stack::__construct - Creates a new instance
    • Ds\Vector::allocate - Allocates enough memory for a required capacity
    • Ds\Vector::apply - Updates all values by applying a callback function to each value
    • Ds\Vector::capacity - Returns the current capacity
    • Ds\Vector::clear - Removes all values
    • Ds\Vector::contains - Determines if the vector contains given values
    • Ds\Vector::copy - Returns a shallow copy of the vector
    • Ds\Vector::count - Returns the number of values in the collection
    • Ds\Vector::filter - Creates a new vector using a callable to determine which values to include
    • Ds\Vector::find - Attempts to find a value's index
    • Ds\Vector::first - Returns the first value in the vector
    • Ds\Vector::get - Returns the value at a given index
    • Ds\Vector::insert - Inserts values at a given index
    • Ds\Vector::isEmpty - Returns whether the vector is empty
    • Ds\Vector::join - Joins all values together as a string
    • Ds\Vector::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Vector::last - Returns the last value
    • Ds\Vector::map - Returns the result of applying a callback to each value
    • Ds\Vector::merge - Returns the result of adding all given values to the vector
    • Ds\Vector::pop - Removes and returns the last value
    • Ds\Vector::push - Adds values to the end of the vector
    • Ds\Vector::reduce - Reduces the vector to a single value using a callback function
    • Ds\Vector::remove - Removes and returns a value by index
    • Ds\Vector::reverse - Reverses the vector in-place
    • Ds\Vector::reversed - Returns a reversed copy
    • Ds\Vector::rotate - Rotates the vector by a given number of rotations
    • Ds\Vector::set - Updates a value at a given index
    • Ds\Vector::shift - Removes and returns the first value
    • Ds\Vector::slice - Returns a sub-vector of a given range
    • Ds\Vector::sort - Sorts the vector in-place
    • Ds\Vector::sorted - Returns a sorted copy
    • Ds\Vector::sum - Returns the sum of all values in the vector
    • Ds\Vector::toArray - Converts the vector to an array
    • Ds\Vector::unshift - Adds values to the front of the vector
    • Ds\Vector::__construct - Creates a new instance
  • e
    • each - Retorna o par chave/valor corrente de um array e avança o seu cursor
    • easter_date - Retorna a data do sistema UNIX correspondente à meia-noite da Páscoa do ano especificado. Se nenhum ano tiver sido especificado, será assumido o ano atual.
    • easter_days - Obtém o número de dias entre 21 de Março e o dia da Páscoa em determinado ano.
    • echo - Exibe uma ou mais strings
    • eio_busy - Artificially increase load. Could be useful in tests, benchmarking
    • eio_cancel - Cancels a request
    • eio_chmod - Change file/directory permissions
    • eio_chown - Change file/directory permissions
    • eio_close - Close file
    • eio_custom - Execute custom request like any other eio_* call
    • eio_dup2 - Duplicate a file descriptor
    • eio_event_loop - Polls libeio until all requests proceeded
    • eio_fallocate - Allows the caller to directly manipulate the allocated disk space for a file
    • eio_fchmod - Change file permissions
    • eio_fchown - Change file ownership
    • eio_fdatasync - Synchronize a file's in-core state with storage device
    • eio_fstat - Get file status
    • eio_fstatvfs - Get file system statistics
    • eio_fsync - Synchronize a file's in-core state with storage device
    • eio_ftruncate - Truncate a file
    • eio_futime - Change file last access and modification times
    • eio_get_event_stream - Get stream representing a variable used in internal communications with libeio
    • eio_get_last_error - Returns string describing the last error associated with a request resource
    • eio_grp - Creates a request group
    • eio_grp_add - Adds a request to the request group
    • eio_grp_cancel - Cancels a request group
    • eio_grp_limit - Set group limit
    • eio_init - (Re-)initialize Eio
    • eio_link - Create a hardlink for file
    • eio_lstat - Get file status
    • eio_mkdir - Create directory
    • eio_mknod - Create a special or ordinary file
    • eio_nop - Does nothing, except go through the whole request cycle
    • eio_npending - Returns number of finished, but unhandled requests
    • eio_nready - Returns number of not-yet handled requests
    • eio_nreqs - Returns number of requests to be processed
    • eio_nthreads - Returns number of threads currently in use
    • eio_open - Opens a file
    • eio_poll - Can be to be called whenever there are pending requests that need finishing
    • eio_read - Read from a file descriptor at given offset
    • eio_readahead - Perform file readahead into page cache
    • eio_readdir - Reads through a whole directory
    • eio_readlink - Read value of a symbolic link
    • eio_realpath - Get the canonicalized absolute pathname
    • eio_rename - Change the name or location of a file
    • eio_rmdir - Remove a directory
    • eio_seek - Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence
    • eio_sendfile - Transfer data between file descriptors
    • eio_set_max_idle - Set maximum number of idle threads
    • eio_set_max_parallel - Set maximum parallel threads
    • eio_set_max_poll_reqs - Set maximum number of requests processed in a poll
    • eio_set_max_poll_time - Set maximum poll time
    • eio_set_min_parallel - Set minimum parallel thread number
    • eio_stat - Get file status
    • eio_statvfs - Get file system statistics
    • eio_symlink - Create a symbolic link
    • eio_sync - Commit buffer cache to disk
    • eio_syncfs - Calls Linux' syncfs syscall, if available
    • eio_sync_file_range - Sync a file segment with disk
    • eio_truncate - Truncate a file
    • eio_unlink - Delete a name and possibly the file it refers to
    • eio_utime - Change file last access and modification times
    • eio_write - Write to file
    • empty - Determina se a variável é vazia
    • EmptyIterator::current - The current() method
    • EmptyIterator::key - The key() method
    • EmptyIterator::next - The next() method
    • EmptyIterator::rewind - The rewind() method
    • EmptyIterator::valid - The valid() method
    • enchant_broker_describe - Enumerates the Enchant providers
    • enchant_broker_dict_exists - Whether a dictionary exists or not. Using non-empty tag
    • enchant_broker_free - Free the broker resource and its dictionaries
    • enchant_broker_free_dict - Free a dictionary resource
    • enchant_broker_get_dict_path - Get the directory path for a given backend
    • enchant_broker_get_error - Returns the last error of the broker
    • enchant_broker_init - Create a new broker object capable of requesting
    • enchant_broker_list_dicts - Returns a list of available dictionaries
    • enchant_broker_request_dict - Create a new dictionary using a tag
    • enchant_broker_request_pwl_dict - Creates a dictionary using a PWL file
    • enchant_broker_set_dict_path - Set the directory path for a given backend
    • enchant_broker_set_ordering - Declares a preference of dictionaries to use for the language
    • enchant_dict_add - Add a word to personal word list
    • enchant_dict_add_to_personal - Sinônimo de enchant_dict_add
    • enchant_dict_add_to_session - Add 'word' to this spell-checking session
    • enchant_dict_check - Check whether a word is correctly spelled or not
    • enchant_dict_describe - Describes an individual dictionary
    • enchant_dict_get_error - Returns the last error of the current spelling-session
    • enchant_dict_is_added - Whether or not 'word' exists in this spelling-session
    • enchant_dict_is_in_session - Sinônimo de enchant_dict_is_added
    • enchant_dict_quick_check - Check the word is correctly spelled and provide suggestions
    • enchant_dict_store_replacement - Add a correction for a word
    • enchant_dict_suggest - Will return a list of values if any of those pre-conditions are not met
    • end - Faz o ponteiro interno de um array apontar para o seu último elemento
    • ereg - Casando expressões regulares
    • eregi - Aplica expressões regulares insensíveis a maiúsculas e minúsculas
    • eregi_replace - Substitução com expressões regulares insensíveis a maiúsculas e minúsculas
    • ereg_replace - Substituição com expressões regulares
    • Error::getCode - Recupera o código do erro
    • Error::getFile - Recupera o arquivo onde o erro ocorreu.
    • Error::getLine - Recupera a linha onde o erro ocorreu.
    • Error::getMessage - Recupera a mensagem de erro
    • Error::getPrevious - Retorna o último Throwable
    • Error::getTrace - Recupera a pilha de rastreio
    • Error::getTraceAsString - Recupera a pilha de rastreio como uma string
    • Error::__clone - Clona o erro
    • Error::__construct - Constrói o objeto error
    • Error::__toString - Representação em string do erro
    • ErrorException::getSeverity - Obtém o nível da exceção
    • ErrorException::__construct - Constrói a exceção
    • error_clear_last - Clear the most recent error
    • error_get_last - Obtém o último erro ocorrido
    • error_log - Envia uma mensagem de erro para as rotinas definidas para gerenciamento de erros
    • error_reporting - Define quais erros serão reportados
    • escapeshellarg - Escapa uma string para usar como um argumento shell
    • escapeshellcmd - escapa metacaracteres shell
    • Ev::backend - Returns an integer describing the backend used by libev
    • Ev::depth - Returns recursion depth
    • Ev::embeddableBackends - Returns the set of backends that are embeddable in other event loops
    • Ev::feedSignal - Feed a signal event info Ev
    • Ev::feedSignalEvent - Feed signal event into the default loop
    • Ev::iteration - Return the number of times the default event loop has polled for new events
    • Ev::now - Returns the time when the last iteration of the default event loop has started
    • Ev::nowUpdate - Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress
    • Ev::recommendedBackends - Returns a bit mask of recommended backends for current platform
    • Ev::resume - Resume previously suspended default event loop
    • Ev::run - Begin checking for events and calling callbacks for the default loop
    • Ev::sleep - Block the process for the given number of seconds
    • Ev::stop - Stops the default event loop
    • Ev::supportedBackends - Returns the set of backends supported by current libev configuration
    • Ev::suspend - Suspend the default event loop
    • Ev::time - Returns the current time in fractional seconds since the epoch
    • Ev::verify - Performs internal consistency checks(for debugging)
    • eval - Executa uma string como código PHP
    • EvCheck::createStopped - Create instance of a stopped EvCheck watcher
    • EvCheck::__construct - Constructs the EvCheck watcher object
    • EvChild::createStopped - Create instance of a stopped EvCheck watcher
    • EvChild::set - Configures the watcher
    • EvChild::__construct - Constructs the EvChild watcher object
    • EvEmbed::createStopped - Create stopped EvEmbed watcher object
    • EvEmbed::set - Configures the watcher
    • EvEmbed::sweep - Make a single, non-blocking sweep over the embedded loop
    • EvEmbed::__construct - Constructs the EvEmbed object
    • Event::add - Makes event pending
    • Event::addSignal - Makes signal event pending
    • Event::addTimer - Makes timer event pending
    • Event::del - Makes event non-pending
    • Event::delSignal - Makes signal event non-pending
    • Event::delTimer - Makes timer event non-pending
    • Event::free - Make event non-pending and free resources allocated for this event
    • Event::getSupportedMethods - Returns array with of the names of the methods supported in this version of Libevent
    • Event::pending - Detects whether event is pending or scheduled
    • Event::set - Re-configures event
    • Event::setPriority - Set event priority
    • Event::setTimer - Re-configures timer event
    • Event::signal - Constructs signal event object
    • Event::timer - Constructs timer event object
    • Event::__construct - Constructs Event object
    • EventBase::dispatch - Dispatch pending events
    • EventBase::exit - Stop dispatching events
    • EventBase::free - Free resources allocated for this event base
    • EventBase::getFeatures - Returns bitmask of features supported
    • EventBase::getMethod - Returns event method in use
    • EventBase::getTimeOfDayCached - Returns the current event base time
    • EventBase::gotExit - Checks if the event loop was told to exit
    • EventBase::gotStop - Checks if the event loop was told to exit
    • EventBase::loop - Dispatch pending events
    • EventBase::priorityInit - Sets number of priorities per event base
    • EventBase::reInit - Re-initialize event base(after a fork)
    • EventBase::stop - Tells event_base to stop dispatching events
    • EventBase::__construct - Constructs EventBase object
    • EventBuffer::add - Append data to the end of an event buffer
    • EventBuffer::addBuffer - Move all data from a buffer provided to the current instance of EventBuffer
    • EventBuffer::appendFrom - Moves the specified number of bytes from a source buffer to the end of the current buffer
    • EventBuffer::copyout - Copies out specified number of bytes from the front of the buffer
    • EventBuffer::drain - Removes specified number of bytes from the front of the buffer without copying it anywhere
    • EventBuffer::enableLocking - Descrição
    • EventBuffer::expand - Reserves space in buffer
    • EventBuffer::freeze - Prevent calls that modify an event buffer from succeeding
    • EventBuffer::lock - Acquires a lock on buffer
    • EventBuffer::prepend - Prepend data to the front of the buffer
    • EventBuffer::prependBuffer - Moves all data from source buffer to the front of current buffer
    • EventBuffer::pullup - Linearizes data within buffer and returns it's contents as a string
    • EventBuffer::read - Read data from an evbuffer and drain the bytes read
    • EventBuffer::readFrom - Read data from a file onto the end of the buffer
    • EventBuffer::readLine - Extracts a line from the front of the buffer
    • EventBuffer::search - Scans the buffer for an occurrence of a string
    • EventBuffer::searchEol - Scans the buffer for an occurrence of an end of line
    • EventBuffer::substr - Substracts a portion of the buffer data
    • EventBuffer::unfreeze - Re-enable calls that modify an event buffer
    • EventBuffer::unlock - Releases lock acquired by EventBuffer::lock
    • EventBuffer::write - Write contents of the buffer to a file or socket
    • EventBuffer::__construct - Constructs EventBuffer object
    • EventBufferEvent::close - Closes file descriptor associated with the current buffer event
    • EventBufferEvent::connect - Connect buffer event's file descriptor to given address or UNIX socket
    • EventBufferEvent::connectHost - Connects to a hostname with optionally asyncronous DNS resolving
    • EventBufferEvent::createPair - Creates two buffer events connected to each other
    • EventBufferEvent::disable - Disable events read, write, or both on a buffer event
    • EventBufferEvent::enable - Enable events read, write, or both on a buffer event
    • EventBufferEvent::free - Free a buffer event
    • EventBufferEvent::getDnsErrorString - Returns string describing the last failed DNS lookup attempt
    • EventBufferEvent::getEnabled - Returns bitmask of events currently enabled on the buffer event
    • EventBufferEvent::getInput - Returns underlying input buffer associated with current buffer event
    • EventBufferEvent::getOutput - Returns underlying output buffer associated with current buffer event
    • EventBufferEvent::read - Read buffer's data
    • EventBufferEvent::readBuffer - Drains the entire contents of the input buffer and places them into buf
    • EventBufferEvent::setCallbacks - Assigns read, write and event(status) callbacks
    • EventBufferEvent::setPriority - Assign a priority to a bufferevent
    • EventBufferEvent::setTimeouts - Set the read and write timeout for a buffer event
    • EventBufferEvent::setWatermark - Adjusts read and/or write watermarks
    • EventBufferEvent::sslError - Returns most recent OpenSSL error reported on the buffer event
    • EventBufferEvent::sslFilter - Create a new SSL buffer event to send its data over another buffer event
    • EventBufferEvent::sslGetCipherInfo - Returns a textual description of the cipher
    • EventBufferEvent::sslGetCipherName - Returns the current cipher name of the SSL connection
    • EventBufferEvent::sslGetCipherVersion - Returns version of cipher used by current SSL connection
    • EventBufferEvent::sslGetProtocol - Returns the name of the protocol used for current SSL connection
    • EventBufferEvent::sslRenegotiate - Tells a bufferevent to begin SSL renegotiation
    • EventBufferEvent::sslSocket - Creates a new SSL buffer event to send its data over an SSL on a socket
    • EventBufferEvent::write - Adds data to a buffer event's output buffer
    • EventBufferEvent::writeBuffer - Adds contents of the entire buffer to a buffer event's output buffer
    • EventBufferEvent::__construct - Constructs EventBufferEvent object
    • EventConfig::avoidMethod - Tells libevent to avoid specific event method
    • EventConfig::requireFeatures - Enters a required event method feature that the application demands
    • EventConfig::setMaxDispatchInterval - Prevents priority inversion
    • EventConfig::__construct - Constructs EventConfig object
    • EventDnsBase::addNameserverIp - Adds a nameserver to the DNS base
    • EventDnsBase::addSearch - Adds a domain to the list of search domains
    • EventDnsBase::clearSearch - Removes all current search suffixes
    • EventDnsBase::countNameservers - Gets the number of configured nameservers
    • EventDnsBase::loadHosts - Loads a hosts file (in the same format as /etc/hosts) from hosts file
    • EventDnsBase::parseResolvConf - Scans the resolv.conf-formatted file
    • EventDnsBase::setOption - Set the value of a configuration option
    • EventDnsBase::setSearchNdots - Set the 'ndots' parameter for searches
    • EventDnsBase::__construct - Constructs EventDnsBase object
    • EventHttp::accept - Makes an HTTP server accept connections on the specified socket stream or resource
    • EventHttp::addServerAlias - Adds a server alias to the HTTP server object
    • EventHttp::bind - Binds an HTTP server on the specified address and port
    • EventHttp::removeServerAlias - Removes server alias
    • EventHttp::setAllowedMethods - Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks
    • EventHttp::setCallback - Sets a callback for specified URI
    • EventHttp::setDefaultCallback - Sets default callback to handle requests that are not caught by specific callbacks
    • EventHttp::setMaxBodySize - Sets maximum request body size
    • EventHttp::setMaxHeadersSize - Sets maximum HTTP header size
    • EventHttp::setTimeout - Sets the timeout for an HTTP request
    • EventHttp::__construct - Constructs EventHttp object(the HTTP server)
    • EventHttpConnection::getBase - Returns event base associated with the connection
    • EventHttpConnection::getPeer - Gets the remote address and port associated with the connection
    • EventHttpConnection::makeRequest - Makes an HTTP request over the specified connection
    • EventHttpConnection::setCloseCallback - Set callback for connection close
    • EventHttpConnection::setLocalAddress - Sets the IP address from which HTTP connections are made
    • EventHttpConnection::setLocalPort - Sets the local port from which connections are made
    • EventHttpConnection::setMaxBodySize - Sets maximum body size for the connection
    • EventHttpConnection::setMaxHeadersSize - Sets maximum header size
    • EventHttpConnection::setRetries - Sets the retry limit for the connection
    • EventHttpConnection::setTimeout - Sets the timeout for the connection
    • EventHttpConnection::__construct - Constructs EventHttpConnection object
    • EventHttpRequest::addHeader - Adds an HTTP header to the headers of the request
    • EventHttpRequest::cancel - Cancels a pending HTTP request
    • EventHttpRequest::clearHeaders - Removes all output headers from the header list of the request
    • EventHttpRequest::closeConnection - Closes associated HTTP connection
    • EventHttpRequest::findHeader - Finds the value belonging a header
    • EventHttpRequest::free - Frees the object and removes associated events
    • EventHttpRequest::getBufferEvent - Returns EventBufferEvent object
    • EventHttpRequest::getCommand - Returns the request command(method)
    • EventHttpRequest::getConnection - Returns EventHttpConnection object
    • EventHttpRequest::getHost - Returns the request host
    • EventHttpRequest::getInputBuffer - Returns the input buffer
    • EventHttpRequest::getInputHeaders - Returns associative array of the input headers
    • EventHttpRequest::getOutputBuffer - Returns the output buffer of the request
    • EventHttpRequest::getOutputHeaders - Returns associative array of the output headers
    • EventHttpRequest::getResponseCode - Returns the response code
    • EventHttpRequest::getUri - Returns the request URI
    • EventHttpRequest::removeHeader - Removes an HTTP header from the headers of the request
    • EventHttpRequest::sendError - Send an HTML error message to the client
    • EventHttpRequest::sendReply - Send an HTML reply to the client
    • EventHttpRequest::sendReplyChunk - Send another data chunk as part of an ongoing chunked reply
    • EventHttpRequest::sendReplyEnd - Complete a chunked reply, freeing the request as appropriate
    • EventHttpRequest::sendReplyStart - Initiate a chunked reply
    • EventHttpRequest::__construct - Constructs EventHttpRequest object
    • EventListener::disable - Disables an event connect listener object
    • EventListener::enable - Enables an event connect listener object
    • EventListener::getBase - Returns event base associated with the event listener
    • EventListener::getSocketName - Retreives the current address to which the listener's socket is bound
    • EventListener::setCallback - The setCallback purpose
    • EventListener::setErrorCallback - Set event listener's error callback
    • EventListener::__construct - Creates new connection listener associated with an event base
    • EventSslContext::__construct - Constructs an OpenSSL context for use with Event classes
    • EventUtil::getLastSocketErrno - Returns the most recent socket error number
    • EventUtil::getLastSocketError - Returns the most recent socket error
    • EventUtil::getSocketFd - Returns numeric file descriptor of a socket, or stream
    • EventUtil::getSocketName - Retreives the current address to which the socket is bound
    • EventUtil::setSocketOption - Sets socket options
    • EventUtil::sslRandPoll - Generates entropy by means of OpenSSL's RAND_poll()
    • EventUtil::__construct - The abstract constructor
    • EvFork::createStopped - Creates a stopped instance of EvFork watcher class
    • EvFork::__construct - Constructs the EvFork watcher object
    • EvIdle::createStopped - Creates instance of a stopped EvIdle watcher object
    • EvIdle::__construct - Constructs the EvIdle watcher object
    • EvIo::createStopped - Create stopped EvIo watcher object
    • EvIo::set - Configures the watcher
    • EvIo::__construct - Constructs EvIo watcher object
    • EvLoop::backend - Returns an integer describing the backend used by libev
    • EvLoop::check - Creates EvCheck object associated with the current event loop instance
    • EvLoop::child - Creates EvChild object associated with the current event loop
    • EvLoop::defaultLoop - Returns or creates the default event loop
    • EvLoop::embed - Creates an instance of EvEmbed watcher associated with the current EvLoop object
    • EvLoop::fork - Creates EvFork watcher object associated with the current event loop instance
    • EvLoop::idle - Creates EvIdle watcher object associated with the current event loop instance
    • EvLoop::invokePending - Invoke all pending watchers while resetting their pending state
    • EvLoop::io - Create EvIo watcher object associated with the current event loop instance
    • EvLoop::loopFork - Must be called after a fork
    • EvLoop::now - Returns the current "event loop time"
    • EvLoop::nowUpdate - Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress
    • EvLoop::periodic - Creates EvPeriodic watcher object associated with the current event loop instance
    • EvLoop::prepare - Creates EvPrepare watcher object associated with the current event loop instance
    • EvLoop::resume - Resume previously suspended default event loop
    • EvLoop::run - Begin checking for events and calling callbacks for the loop
    • EvLoop::signal - Creates EvSignal watcher object associated with the current event loop instance
    • EvLoop::stat - Creates EvStat watcher object associated with the current event loop instance
    • EvLoop::stop - Stops the event loop
    • EvLoop::suspend - Suspend the loop
    • EvLoop::timer - Creates EvTimer watcher object associated with the current event loop instance
    • EvLoop::verify - Performs internal consistency checks(for debugging)
    • EvLoop::__construct - Constructs the event loop object
    • EvPeriodic::again - Simply stops and restarts the periodic watcher again
    • EvPeriodic::at - Returns the absolute time that this watcher is supposed to trigger next
    • EvPeriodic::createStopped - Create a stopped EvPeriodic watcher
    • EvPeriodic::set - Configures the watcher
    • EvPeriodic::__construct - Constructs EvPeriodic watcher object
    • EvPrepare::createStopped - Creates a stopped instance of EvPrepare watcher
    • EvPrepare::__construct - Constructs EvPrepare watcher object
    • EvSignal::createStopped - Create stopped EvSignal watcher object
    • EvSignal::set - Configures the watcher
    • EvSignal::__construct - Constructs EvSignal watcher object
    • EvStat::attr - Returns the values most recently detected by Ev
    • EvStat::createStopped - Create a stopped EvStat watcher object
    • EvStat::prev - Returns the previous set of values returned by EvStat::attr
    • EvStat::set - Configures the watcher
    • EvStat::stat - Initiates the stat call
    • EvStat::__construct - Constructs EvStat watcher object
    • EvTimer::again - Restarts the timer watcher
    • EvTimer::createStopped - Creates EvTimer stopped watcher object
    • EvTimer::set - Configures the watcher
    • EvTimer::__construct - Constructs an EvTimer watcher object
    • EvWatcher::clear - Clear watcher pending status
    • EvWatcher::feed - Feeds the given revents set into the event loop
    • EvWatcher::getLoop - Returns the loop responsible for the watcher
    • EvWatcher::invoke - Invokes the watcher callback with the given received events bit mask
    • EvWatcher::keepalive - Configures whether to keep the loop from returning
    • EvWatcher::setCallback - Sets new callback for the watcher
    • EvWatcher::start - Starts the watcher
    • EvWatcher::stop - Stops the watcher
    • EvWatcher::__construct - Abstract constructor of a watcher object
    • Exception::getCode - Obtém o código da exceção
    • Exception::getFile - Obtém o arquivo no qual a exceção ocorreu
    • Exception::getLine - Obtém a linha na qual a exceção ocorreu
    • Exception::getMessage - Obtém a mensagem da exceção
    • Exception::getPrevious - Retorna Exception anterior
    • Exception::getTrace - Obtém a stack trace
    • Exception::getTraceAsString - Obtém a stack trace como uma string
    • Exception::__clone - Clona a exceção
    • Exception::__construct - Construtor da exceção
    • Exception::__toString - Representação string da exceção
    • exec - Executa um programa externo
    • Executable::execute - Execute statement
    • ExecutionStatus::__construct - ExecutionStatus constructor
    • exif_imagetype - Verifica o tipo de uma imagem
    • exif_read_data - Lê os cabeçalhos EXIF de imagens JPEG ou TIFF. Deste modo você poderá ler meta dados gerados por camêras digitais.
    • exif_tagname - Obtém o nome do cabeçalho para um índice
    • exif_thumbnail - Recupera a miniatura embutida de uma imagem TIFF ou JPEG
    • exit - Mostra uma mensagem e termina o script atual
    • exp - Calcula o expoente de e
    • expect:// - Process Interaction Streams
    • expect_expectl - Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen
    • expect_popen - Execute command via Bourne shell, and open the PTY stream to the process
    • explode - Divide uma string em strings
    • expm1 - Retorna exp(numero) - 1, computado de forma que é preciso mesmo quando o valor do número é perto de zero.
    • expression - Bind prepared statement variables as parameters
    • Expression::__construct - Expression constructor
    • extension_loaded - Indica quando uma extensão esta carregada
    • extract - Importa variáveis para a tabela de símbolos a partir de um array
    • ezmlm_hash - Calcula o valor do hash necessário para EZMLM
  • f
    • FANNConnection::getFromNeuron - Returns the postions of starting neuron
    • FANNConnection::getToNeuron - Returns the postions of terminating neuron
    • FANNConnection::getWeight - Returns the connection weight
    • FANNConnection::setWeight - Sets the connections weight
    • FANNConnection::__construct - The connection constructor
    • fann_cascadetrain_on_data - Trains on an entire dataset, for a period of time using the Cascade2 training algorithm
    • fann_cascadetrain_on_file - Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm
    • fann_clear_scaling_params - Clears scaling parameters
    • fann_copy - Creates a copy of a fann structure
    • fann_create_from_file - Constructs a backpropagation neural network from a configuration file
    • fann_create_shortcut - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_shortcut_array - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_sparse - Creates a standard backpropagation neural network, which is not fully connected
    • fann_create_sparse_array - Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
    • fann_create_standard - Creates a standard fully connected backpropagation neural network
    • fann_create_standard_array - Creates a standard fully connected backpropagation neural network using an array of layer sizes
    • fann_create_train - Creates an empty training data struct
    • fann_create_train_from_callback - Creates the training data struct from a user supplied function
    • fann_descale_input - Scale data in input vector after get it from ann based on previously calculated parameters
    • fann_descale_output - Scale data in output vector after get it from ann based on previously calculated parameters
    • fann_descale_train - Descale input and output data based on previously calculated parameters
    • fann_destroy - Destroys the entire network and properly freeing all the associated memory
    • fann_destroy_train - Destructs the training data
    • fann_duplicate_train_data - Returns an exact copy of a fann train data
    • fann_get_activation_function - Returns the activation function
    • fann_get_activation_steepness - Returns the activation steepness for supplied neuron and layer number
    • fann_get_bias_array - Get the number of bias in each layer in the network
    • fann_get_bit_fail - The number of fail bits
    • fann_get_bit_fail_limit - Returns the bit fail limit used during training
    • fann_get_cascade_activation_functions - Returns the cascade activation functions
    • fann_get_cascade_activation_functions_count - Returns the number of cascade activation functions
    • fann_get_cascade_activation_steepnesses - Returns the cascade activation steepnesses
    • fann_get_cascade_activation_steepnesses_count - The number of activation steepnesses
    • fann_get_cascade_candidate_change_fraction - Returns the cascade candidate change fraction
    • fann_get_cascade_candidate_limit - Return the candidate limit
    • fann_get_cascade_candidate_stagnation_epochs - Returns the number of cascade candidate stagnation epochs
    • fann_get_cascade_max_cand_epochs - Returns the maximum candidate epochs
    • fann_get_cascade_max_out_epochs - Returns the maximum out epochs
    • fann_get_cascade_min_cand_epochs - Returns the minimum candidate epochs
    • fann_get_cascade_min_out_epochs - Returns the minimum out epochs
    • fann_get_cascade_num_candidates - Returns the number of candidates used during training
    • fann_get_cascade_num_candidate_groups - Returns the number of candidate groups
    • fann_get_cascade_output_change_fraction - Returns the cascade output change fraction
    • fann_get_cascade_output_stagnation_epochs - Returns the number of cascade output stagnation epochs
    • fann_get_cascade_weight_multiplier - Returns the weight multiplier
    • fann_get_connection_array - Get connections in the network
    • fann_get_connection_rate - Get the connection rate used when the network was created
    • fann_get_errno - Returns the last error number
    • fann_get_errstr - Returns the last errstr
    • fann_get_layer_array - Get the number of neurons in each layer in the network
    • fann_get_learning_momentum - Returns the learning momentum
    • fann_get_learning_rate - Returns the learning rate
    • fann_get_MSE - Reads the mean square error from the network
    • fann_get_network_type - Get the type of neural network it was created as
    • fann_get_num_input - Get the number of input neurons
    • fann_get_num_layers - Get the number of layers in the neural network
    • fann_get_num_output - Get the number of output neurons
    • fann_get_quickprop_decay - Returns the decay which is a factor that weights should decrease in each iteration during quickprop training
    • fann_get_quickprop_mu - Returns the mu factor
    • fann_get_rprop_decrease_factor - Returns the increase factor used during RPROP training
    • fann_get_rprop_delta_max - Returns the maximum step-size
    • fann_get_rprop_delta_min - Returns the minimum step-size
    • fann_get_rprop_delta_zero - Returns the initial step-size
    • fann_get_rprop_increase_factor - Returns the increase factor used during RPROP training
    • fann_get_sarprop_step_error_shift - Returns the sarprop step error shift
    • fann_get_sarprop_step_error_threshold_factor - Returns the sarprop step error threshold factor
    • fann_get_sarprop_temperature - Returns the sarprop temperature
    • fann_get_sarprop_weight_decay_shift - Returns the sarprop weight decay shift
    • fann_get_total_connections - Get the total number of connections in the entire network
    • fann_get_total_neurons - Get the total number of neurons in the entire network
    • fann_get_training_algorithm - Returns the training algorithm
    • fann_get_train_error_function - Returns the error function used during training
    • fann_get_train_stop_function - Returns the stop function used during training
    • fann_init_weights - Initialize the weights using Widrow + Nguyen’s algorithm
    • fann_length_train_data - Returns the number of training patterns in the train data
    • fann_merge_train_data - Merges the train data
    • fann_num_input_train_data - Returns the number of inputs in each of the training patterns in the train data
    • fann_num_output_train_data - Returns the number of outputs in each of the training patterns in the train data
    • fann_print_error - Prints the error string
    • fann_randomize_weights - Give each connection a random weight between min_weight and max_weight
    • fann_read_train_from_file - Reads a file that stores training data
    • fann_reset_errno - Resets the last error number
    • fann_reset_errstr - Resets the last error string
    • fann_reset_MSE - Resets the mean square error from the network
    • fann_run - Will run input through the neural network
    • fann_save - Saves the entire network to a configuration file
    • fann_save_train - Save the training structure to a file
    • fann_scale_input - Scale data in input vector before feed it to ann based on previously calculated parameters
    • fann_scale_input_train_data - Scales the inputs in the training data to the specified range
    • fann_scale_output - Scale data in output vector before feed it to ann based on previously calculated parameters
    • fann_scale_output_train_data - Scales the outputs in the training data to the specified range
    • fann_scale_train - Scale input and output data based on previously calculated parameters
    • fann_scale_train_data - Scales the inputs and outputs in the training data to the specified range
    • fann_set_activation_function - Sets the activation function for supplied neuron and layer
    • fann_set_activation_function_hidden - Sets the activation function for all of the hidden layers
    • fann_set_activation_function_layer - Sets the activation function for all the neurons in the supplied layer
    • fann_set_activation_function_output - Sets the activation function for the output layer
    • fann_set_activation_steepness - Sets the activation steepness for supplied neuron and layer number
    • fann_set_activation_steepness_hidden - Sets the steepness of the activation steepness for all neurons in the all hidden layers
    • fann_set_activation_steepness_layer - Sets the activation steepness for all of the neurons in the supplied layer number
    • fann_set_activation_steepness_output - Sets the steepness of the activation steepness in the output layer
    • fann_set_bit_fail_limit - Set the bit fail limit used during training
    • fann_set_callback - Sets the callback function for use during training
    • fann_set_cascade_activation_functions - Sets the array of cascade candidate activation functions
    • fann_set_cascade_activation_steepnesses - Sets the array of cascade candidate activation steepnesses
    • fann_set_cascade_candidate_change_fraction - Sets the cascade candidate change fraction
    • fann_set_cascade_candidate_limit - Sets the candidate limit
    • fann_set_cascade_candidate_stagnation_epochs - Sets the number of cascade candidate stagnation epochs
    • fann_set_cascade_max_cand_epochs - Sets the max candidate epochs
    • fann_set_cascade_max_out_epochs - Sets the maximum out epochs
    • fann_set_cascade_min_cand_epochs - Sets the min candidate epochs
    • fann_set_cascade_min_out_epochs - Sets the minimum out epochs
    • fann_set_cascade_num_candidate_groups - Sets the number of candidate groups
    • fann_set_cascade_output_change_fraction - Sets the cascade output change fraction
    • fann_set_cascade_output_stagnation_epochs - Sets the number of cascade output stagnation epochs
    • fann_set_cascade_weight_multiplier - Sets the weight multiplier
    • fann_set_error_log - Sets where the errors are logged to
    • fann_set_input_scaling_params - Calculate input scaling parameters for future use based on training data
    • fann_set_learning_momentum - Sets the learning momentum
    • fann_set_learning_rate - Sets the learning rate
    • fann_set_output_scaling_params - Calculate output scaling parameters for future use based on training data
    • fann_set_quickprop_decay - Sets the quickprop decay factor
    • fann_set_quickprop_mu - Sets the quickprop mu factor
    • fann_set_rprop_decrease_factor - Sets the decrease factor used during RPROP training
    • fann_set_rprop_delta_max - Sets the maximum step-size
    • fann_set_rprop_delta_min - Sets the minimum step-size
    • fann_set_rprop_delta_zero - Sets the initial step-size
    • fann_set_rprop_increase_factor - Sets the increase factor used during RPROP training
    • fann_set_sarprop_step_error_shift - Sets the sarprop step error shift
    • fann_set_sarprop_step_error_threshold_factor - Sets the sarprop step error threshold factor
    • fann_set_sarprop_temperature - Sets the sarprop temperature
    • fann_set_sarprop_weight_decay_shift - Sets the sarprop weight decay shift
    • fann_set_scaling_params - Calculate input and output scaling parameters for future use based on training data
    • fann_set_training_algorithm - Sets the training algorithm
    • fann_set_train_error_function - Sets the error function used during training
    • fann_set_train_stop_function - Sets the stop function used during training
    • fann_set_weight - Set a connection in the network
    • fann_set_weight_array - Set connections in the network
    • fann_shuffle_train_data - Shuffles training data, randomizing the order
    • fann_subset_train_data - Returns an copy of a subset of the train data
    • fann_test - Test with a set of inputs, and a set of desired outputs
    • fann_test_data - Test a set of training data and calculates the MSE for the training data
    • fann_train - Train one iteration with a set of inputs, and a set of desired outputs
    • fann_train_epoch - Train one epoch with a set of training data
    • fann_train_on_data - Trains on an entire dataset for a period of time
    • fann_train_on_file - Trains on an entire dataset, which is read from file, for a period of time
    • fastcgi_finish_request - Envia todos os dados de resposta ao cliente
    • fbird_add_user - Sinônimo de ibase_add_user
    • fbird_affected_rows - Sinônimo de ibase_affected_rows
    • fbird_backup - Sinônimo de ibase_backup
    • fbird_blob_add - Sinônimo de ibase_blob_add
    • fbird_blob_cancel - Cancel creating blob
    • fbird_blob_close - Sinônimo de ibase_blob_close
    • fbird_blob_create - Sinônimo de ibase_blob_create
    • fbird_blob_echo - Sinônimo de ibase_blob_echo
    • fbird_blob_get - Sinônimo de ibase_blob_get
    • fbird_blob_import - Sinônimo de ibase_blob_import
    • fbird_blob_info - Sinônimo de ibase_blob_info
    • fbird_blob_open - Sinônimo de ibase_blob_open
    • fbird_close - Sinônimo de ibase_close
    • fbird_commit - Sinônimo de ibase_commit
    • fbird_commit_ret - Sinônimo de ibase_commit_ret
    • fbird_connect - Sinônimo de ibase_connect
    • fbird_db_info - Sinônimo de ibase_db_info
    • fbird_delete_user - Sinônimo de ibase_delete_user
    • fbird_drop_db - Sinônimo de ibase_drop_db
    • fbird_errcode - Sinônimo de ibase_errcode
    • fbird_errmsg - Sinônimo de ibase_errmsg
    • fbird_execute - Sinônimo de ibase_execute
    • fbird_fetch_assoc - Sinônimo de ibase_fetch_assoc
    • fbird_fetch_object - Sinônimo de ibase_fetch_object
    • fbird_fetch_row - Sinônimo de ibase_fetch_row
    • fbird_field_info - Sinônimo de ibase_field_info
    • fbird_free_event_handler - Sinônimo de ibase_free_event_handler
    • fbird_free_query - Sinônimo de ibase_free_query
    • fbird_free_result - Sinônimo de ibase_free_result
    • fbird_gen_id - Sinônimo de ibase_gen_id
    • fbird_maintain_db - Sinônimo de ibase_maintain_db
    • fbird_modify_user - Sinônimo de ibase_modify_user
    • fbird_name_result - Sinônimo de ibase_name_result
    • fbird_num_fields - Sinônimo de ibase_num_fields
    • fbird_num_params - Sinônimo de ibase_num_params
    • fbird_param_info - Sinônimo de ibase_param_info
    • fbird_pconnect - Sinônimo de ibase_pconnect
    • fbird_prepare - Sinônimo de ibase_prepare
    • fbird_query - Sinônimo de ibase_query
    • fbird_restore - Sinônimo de ibase_restore
    • fbird_rollback - Sinônimo de ibase_rollback
    • fbird_rollback_ret - Sinônimo de ibase_rollback_ret
    • fbird_server_info - Sinônimo de ibase_server_info
    • fbird_service_attach - Sinônimo de ibase_service_attach
    • fbird_service_detach - Sinônimo de ibase_service_detach
    • fbird_set_event_handler - Sinônimo de ibase_set_event_handler
    • fbird_trans - Sinônimo de ibase_trans
    • fbird_wait_event - Sinônimo de ibase_wait_event
    • fbsql_affected_rows - Get number of affected rows in previous FrontBase operation
    • fbsql_autocommit - Enable or disable autocommit
    • fbsql_blob_size - Get the size of a BLOB
    • fbsql_change_user - Change logged in user of the active connection
    • fbsql_clob_size - Get the size of a CLOB
    • fbsql_close - Close FrontBase connection
    • fbsql_commit - Commits a transaction to the database
    • fbsql_connect - Open a connection to a FrontBase Server
    • fbsql_create_blob - Create a BLOB
    • fbsql_create_clob - Create a CLOB
    • fbsql_create_db - Create a FrontBase database
    • fbsql_database - Get or set the database name used with a connection
    • fbsql_database_password - Sets or retrieves the password for a FrontBase database
    • fbsql_data_seek - Move internal result pointer
    • fbsql_db_query - Send a FrontBase query
    • fbsql_db_status - Get the status for a given database
    • fbsql_drop_db - Drop (delete) a FrontBase database
    • fbsql_errno - Returns the error number from previous operation
    • fbsql_error - Returns the error message from previous operation
    • fbsql_fetch_array - Fetch a result row as an associative array, a numeric array, or both
    • fbsql_fetch_assoc - Fetch a result row as an associative array
    • fbsql_fetch_field - Get column information from a result and return as an object
    • fbsql_fetch_lengths - Get the length of each output in a result
    • fbsql_fetch_object - Fetch a result row as an object
    • fbsql_fetch_row - Get a result row as an enumerated array
    • fbsql_field_flags - Get the flags associated with the specified field in a result
    • fbsql_field_len - Returns the length of the specified field
    • fbsql_field_name - Get the name of the specified field in a result
    • fbsql_field_seek - Set result pointer to a specified field offset
    • fbsql_field_table - Get name of the table the specified field is in
    • fbsql_field_type - Get the type of the specified field in a result
    • fbsql_free_result - Free result memory
    • fbsql_get_autostart_info - Descrição
    • fbsql_hostname - Get or set the host name used with a connection
    • fbsql_insert_id - Get the id generated from the previous INSERT operation
    • fbsql_list_dbs - List databases available on a FrontBase server
    • fbsql_list_fields - List FrontBase result fields
    • fbsql_list_tables - List tables in a FrontBase database
    • fbsql_next_result - Move the internal result pointer to the next result
    • fbsql_num_fields - Get number of fields in result
    • fbsql_num_rows - Get number of rows in result
    • fbsql_password - Get or set the user password used with a connection
    • fbsql_pconnect - Open a persistent connection to a FrontBase Server
    • fbsql_query - Send a FrontBase query
    • fbsql_read_blob - Read a BLOB from the database
    • fbsql_read_clob - Read a CLOB from the database
    • fbsql_result - Get result data
    • fbsql_rollback - Rollback a transaction to the database
    • fbsql_rows_fetched - Get the number of rows affected by the last statement
    • fbsql_select_db - Select a FrontBase database
    • fbsql_set_characterset - Change input/output character set
    • fbsql_set_lob_mode - Set the LOB retrieve mode for a FrontBase result set
    • fbsql_set_password - Change the password for a given user
    • fbsql_set_transaction - Set the transaction locking and isolation
    • fbsql_start_db - Start a database on local or remote server
    • fbsql_stop_db - Stop a database on local or remote server
    • fbsql_tablename - Sinônimo de fbsql_table_name
    • fbsql_table_name - Get table name of field
    • fbsql_username - Get or set the username for the connection
    • fbsql_warnings - Enable or disable FrontBase warnings
    • fclose - Fecha um ponteiro de arquivo aberto
    • fdf_add_doc_javascript - Adds javascript code to the FDF document
    • fdf_add_template - Adds a template into the FDF document
    • fdf_close - Close an FDF document
    • fdf_create - Create a new FDF document
    • fdf_enum_values - Call a user defined function for each document value
    • fdf_errno - Return error code for last fdf operation
    • fdf_error - Return error description for FDF error code
    • fdf_get_ap - Get the appearance of a field
    • fdf_get_attachment - Extracts uploaded file embedded in the FDF
    • fdf_get_encoding - Get the value of the /Encoding key
    • fdf_get_file - Get the value of the /F key
    • fdf_get_flags - Gets the flags of a field
    • fdf_get_opt - Gets a value from the opt array of a field
    • fdf_get_status - Get the value of the /STATUS key
    • fdf_get_value - Get the value of a field
    • fdf_get_version - Gets version number for FDF API or file
    • fdf_header - Sets FDF-specific output headers
    • fdf_next_field_name - Get the next field name
    • fdf_open - Open a FDF document
    • fdf_open_string - Read a FDF document from a string
    • fdf_remove_item - Sets target frame for form
    • fdf_save - Save a FDF document
    • fdf_save_string - Returns the FDF document as a string
    • fdf_set_ap - Set the appearance of a field
    • fdf_set_encoding - Sets FDF character encoding
    • fdf_set_file - Set PDF document to display FDF data in
    • fdf_set_flags - Sets a flag of a field
    • fdf_set_javascript_action - Sets an javascript action of a field
    • fdf_set_on_import_javascript - Adds javascript code to be executed when Acrobat opens the FDF
    • fdf_set_opt - Sets an option of a field
    • fdf_set_status - Set the value of the /STATUS key
    • fdf_set_submit_form_action - Sets a submit form action of a field
    • fdf_set_target_frame - Set target frame for form display
    • fdf_set_value - Set the value of a field
    • fdf_set_version - Sets version number for a FDF file
    • fdiv - Divides two numbers, according to IEEE 754
    • feof - Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo
    • FFI::addr - Creates an unmanaged pointer to C data
    • FFI::alignof - Gets the alignment
    • FFI::arrayType - Dynamically constructs a new C array type
    • FFI::cast - Performs a C type cast
    • FFI::cdef - Creates a new FFI object
    • FFI::free - Releases an unmanaged data structure
    • FFI::isNull - Checks whether a FFI\CData is a null pointer
    • FFI::load - Loads C declarations from a C header file
    • FFI::memcmp - Compares memory areas
    • FFI::memcpy - Copies one memory area to another
    • FFI::memset - Fills a memory area
    • FFI::new - Creates a C data structure
    • FFI::scope - Instantiates an FFI object with C declarations parsed during preloading
    • FFI::sizeof - Gets the size of C data or types
    • FFI::string - Creates a PHP string from a memory area
    • FFI::type - Creates an FFI\CType object from a C declaration
    • FFI::typeof - Gets the FFI\CType of FFI\CData
    • fflush - Força a liberação do buffer para um arquivo
    • fgetc - Lê um caracter do ponteiro de arquivo
    • fgetcsv - Lê uma linha do ponteiro de arquivos e a interpreta como campos CSV
    • fgets - Lê uma linha de um ponteiro de arquivo
    • fgetss - Ler uma linha de um ponteiro de arquivo e retira as tags HTML
    • file - Lê todo o arquivo para um array
    • file:// - Accessing local filesystem
    • fileatime - Obtém o último horário de acesso do arquivo
    • filectime - Obtém o tempo de modificação do inode do arquivo
    • filegroup - Lê o grupo do arquivo
    • fileinode - Lê o inode do arquivo
    • filemtime - Obtém o tempo de modificação do arquivo
    • fileowner - Lê o dono (owner) do arquivo
    • fileperms - Lê as permissões do arquivo
    • filepro - Lê e verifica o arquivo de mapa
    • filepro_fieldcount - Conta quantos campos tem em um banco de dados filePro
    • filepro_fieldname - Obtém o nome de um campo
    • filepro_fieldtype - Obtém o tipo de um campo
    • filepro_fieldwidth - Obtém a largura de um campo
    • filepro_retrieve - Obtém dados de um banco de dados filePro
    • filepro_rowcount - Conta o número de linhas em um banco de dados filePro
    • filesize - Obtém o tamanho do arquivo
    • FilesystemIterator::current - The current file
    • FilesystemIterator::getFlags - Get the handling flags
    • FilesystemIterator::key - Retrieve the key for the current file
    • FilesystemIterator::next - Move to the next file
    • FilesystemIterator::rewind - Rewinds back to the beginning
    • FilesystemIterator::setFlags - Sets handling flags
    • FilesystemIterator::__construct - Constructs a new filesystem iterator
    • filetype - Lê o tipo do arquivo
    • file_exists - Verifica se um arquivo ou diretório existe
    • file_get_contents - Lê todo o conteúdo de um arquivo para uma string
    • file_put_contents - Escreve uma string para um arquivo
    • FilterIterator::accept - Check whether the current element of the iterator is acceptable
    • FilterIterator::current - Retorna o valor do elemento atual
    • FilterIterator::getInnerIterator - Retorna o iterador interno
    • FilterIterator::key - Retorna a chave do elemento atual
    • FilterIterator::next - Avança o iterador
    • FilterIterator::rewind - Recomeça o iterador
    • FilterIterator::valid - Verifica se o elemento atual é válido ou não
    • FilterIterator::__construct - Construct a filterIterator
    • filter_has_var - Verifica se a variável é de um especificado tipo existente
    • filter_id - Retorna o ID de um dado nome de filtro
    • filter_input - Obtem a específica variável externa pelo nome e opcionalmente a filtra
    • filter_input_array - Obtem variáveis externas e opcionalmente as filtra
    • filter_list - Retorna a lista de todos filtros suportados
    • filter_var - Filtra a variável com um especificado filtro
    • filter_var_array - Obtêm múltiplas variáveis e opcionalmente as filtra
    • finfo::buffer - Sinônimo de finfo_buffer()
    • finfo::file - Sinônimo de finfo_file()
    • finfo::set_flags - Sinônimo de finfo_set_flags()
    • finfo::__construct - Sinônimo de finfo_open
    • finfo_close - Close fileinfo resource
    • finfo_open - Create a new fileinfo resource
    • floatval - Obtém o valor em ponto flutuante da variável
    • flock - Monitor de travamento de arquivos portátil
    • floor - Arredonda frações para baixo
    • flush - Descarrega o buffer de saída
    • fmod - Retorna o resto em ponto flutuante (módulo) da divisão dos argumentos
    • fnmatch - Compara nome de arquivo com um padrão
    • fopen - Abre um arquivo ou URL
    • forward_static_call - Call a static method
    • forward_static_call_array - Call a static method and pass the arguments as array
    • fpassthru - Imprime todo os dados restantes de um ponteiro de arquivo
    • fprintf - Escreve uma string formatada para um stream
    • fputcsv - Formata a linha como CSV e a escreve em um ponteiro de arquivo
    • fputs - Sinônimo de fwrite
    • fread - Leitura binary-safe de arquivo
    • FrenchToJD - Converte uma data do calendário Republicano da França para o calendário "Julian Day Count".
    • fscanf - Interpreta a leitura de um arquivo de acordo com um formato
    • fseek - Procura (seeks) em um ponteiro de arquivo
    • fsockopen - Abre um socket de conexão Internet ou de domínio Unix
    • fstat - Lê informações sobre um arquivo usando um ponteiro de arquivo aberto
    • ftell - Retorna a posição de leitura/gravação do ponteiro do arquivo
    • ftok - Convert a pathname and a project identifier to a System V IPC key
    • ftp:// - Accessing FTP(s) URLs
    • ftp_alloc - Aloca espaço para um arquivo a ser enviado para o servidor (uploaded)
    • ftp_append - Append the contents of a file to another file on the FTP server
    • ftp_cdup - Muda para o diretório acima
    • ftp_chdir - Muda o diretório atual em um servidor FTP
    • ftp_chmod - Estabelece as permissões de um arquivo via FTP
    • ftp_close - Fecha uma conexão FTP
    • ftp_connect - Abre uma conexão FTP
    • ftp_delete - Exclui um arquivo no servidor FTP
    • ftp_exec - Solicita a execução de um comando no servidor FTP
    • ftp_fget - Copia um arquivo do servidor FTP e salva em um arquivo aberto
    • ftp_fput - Envia um arquivo aberto para um servidor php
    • ftp_get - Copia um arquivo do servidor FTP
    • ftp_get_option - Obtém várias opções em tempo de execução da conexão FTP atual
    • ftp_login - Realiza o login em uma conexão FTP
    • ftp_mdtm - Retorna a hora da ultima modificação no arquivo indicado
    • ftp_mkdir - Cria um diretório
    • ftp_mlsd - Returns a list of files in the given directory
    • ftp_nb_continue - Continua a receber/enviar um arquivo (sem bloquear)
    • ftp_nb_fget - Obtém um arquivo de um servidor FTP e escreve-o para um arquivo aberto(sem bloquear)
    • ftp_nb_fput - Grava um arquivo a partir de um arquivo aberto no servidor FTP (sem bloquear)
    • ftp_nb_get - Obtém um arquivo do servidor FTP e escreve-o em um arquivo local (sem bloquear)
    • ftp_nb_put - Grava um arquivo no servidor FTP (sem bloquear)
    • ftp_nlist - Retorna a lista dos arquivos em um dado diretório
    • ftp_pasv - Muda o modo passivo em on(ligado) ou off(desligado)
    • ftp_put - Envia um arquivo para o servidor FTP
    • ftp_pwd - Retorna o nome do diretório atual
    • ftp_quit - Sinônimo de ftp_close
    • ftp_raw - Envia um comando arbritário para o servidor FTP
    • ftp_rawlist - Retorna uma lista detalhada dos arquivos em um diretório
    • ftp_rename - Renomeia um arquivo ou diretório no servidor FTP
    • ftp_rmdir - Remove um diretório
    • ftp_set_option - Define opções diversas em tempo de execução
    • ftp_site - Envia o comando SITE para o servidor
    • ftp_size - Retorna o tamanho de um dado arquivo
    • ftp_ssl_connect - Abre uma conexão SSL-FTP segura
    • ftp_systype - Retorna o identificador do tipo do sistema do servidor FTP remoto
    • ftruncate - Reduz um arquivo a um tamanho especificado
    • function_exists - Retorna true se a função dada está definida
    • func_get_arg - Retorna um item para uma lista de argumentos
    • func_get_args - Retorna um array contendo uma lista de argumentos da função
    • func_num_args - Retorna o número de argumentos passados para a função
    • fwrite - Escrita binary-safe em arquivos
  • g
    • gc_collect_cycles - Forces collection of any existing garbage cycles
    • gc_disable - Deactivates the circular reference collector
    • gc_enable - Activates the circular reference collector
    • gc_enabled - Returns status of the circular reference collector
    • gc_mem_caches - Reclaims memory used by the Zend Engine memory manager
    • gc_status - Gets information about the garbage collector
    • gd_info - Obtém informações sobre a biblioteca GD instalada atualmente
    • GearmanClient::addOptions - Add client options
    • GearmanClient::addServer - Add a job server to the client
    • GearmanClient::addServers - Add a list of job servers to the client
    • GearmanClient::addTask - Add a task to be run in parallel
    • GearmanClient::addTaskBackground - Add a background task to be run in parallel
    • GearmanClient::addTaskHigh - Add a high priority task to run in parallel
    • GearmanClient::addTaskHighBackground - Add a high priority background task to be run in parallel
    • GearmanClient::addTaskLow - Add a low priority task to run in parallel
    • GearmanClient::addTaskLowBackground - Add a low priority background task to be run in parallel
    • GearmanClient::addTaskStatus - Add a task to get status
    • GearmanClient::clearCallbacks - Clear all task callback functions
    • GearmanClient::clone - Create a copy of a GearmanClient object
    • GearmanClient::context - Get the application context
    • GearmanClient::data - Get the application data (deprecated)
    • GearmanClient::do - Run a single task and return a result [deprecated]
    • GearmanClient::doBackground - Run a task in the background
    • GearmanClient::doHigh - Run a single high priority task
    • GearmanClient::doHighBackground - Run a high priority task in the background
    • GearmanClient::doJobHandle - Get the job handle for the running task
    • GearmanClient::doLow - Run a single low priority task
    • GearmanClient::doLowBackground - Run a low priority task in the background
    • GearmanClient::doNormal - Run a single task and return a result
    • GearmanClient::doStatus - Get the status for the running task
    • GearmanClient::echo - Send data to all job servers to see if they echo it back [deprecated]
    • GearmanClient::error - Returns an error string for the last error encountered
    • GearmanClient::getErrno - Get an errno value
    • GearmanClient::jobStatus - Get the status of a background job
    • GearmanClient::ping - Send data to all job servers to see if they echo it back
    • GearmanClient::removeOptions - Remove client options
    • GearmanClient::returnCode - Get the last Gearman return code
    • GearmanClient::runTasks - Run a list of tasks in parallel
    • GearmanClient::setClientCallback - Callback function when there is a data packet for a task (deprecated)
    • GearmanClient::setCompleteCallback - Set a function to be called on task completion
    • GearmanClient::setContext - Set application context
    • GearmanClient::setCreatedCallback - Set a callback for when a task is queued
    • GearmanClient::setData - Set application data (deprecated)
    • GearmanClient::setDataCallback - Callback function when there is a data packet for a task
    • GearmanClient::setExceptionCallback - Set a callback for worker exceptions
    • GearmanClient::setFailCallback - Set callback for job failure
    • GearmanClient::setOptions - Set client options
    • GearmanClient::setStatusCallback - Set a callback for collecting task status
    • GearmanClient::setTimeout - Set socket I/O activity timeout
    • GearmanClient::setWarningCallback - Set a callback for worker warnings
    • GearmanClient::setWorkloadCallback - Set a callback for accepting incremental data updates
    • GearmanClient::timeout - Get current socket I/O activity timeout value
    • GearmanClient::wait - Wait for I/O activity on all connections in a client
    • GearmanClient::__construct - Create a GearmanClient instance
    • GearmanJob::complete - Send the result and complete status (deprecated)
    • GearmanJob::data - Send data for a running job (deprecated)
    • GearmanJob::exception - Send exception for running job (deprecated)
    • GearmanJob::fail - Send fail status (deprecated)
    • GearmanJob::functionName - Get function name
    • GearmanJob::handle - Get the job handle
    • GearmanJob::returnCode - Get last return code
    • GearmanJob::sendComplete - Send the result and complete status
    • GearmanJob::sendData - Send data for a running job
    • GearmanJob::sendException - Send exception for running job (exception)
    • GearmanJob::sendFail - Send fail status
    • GearmanJob::sendStatus - Send status
    • GearmanJob::sendWarning - Send a warning
    • GearmanJob::setReturn - Set a return value
    • GearmanJob::status - Send status (deprecated)
    • GearmanJob::unique - Get the unique identifier
    • GearmanJob::warning - Send a warning (deprecated)
    • GearmanJob::workload - Get workload
    • GearmanJob::workloadSize - Get size of work load
    • GearmanJob::__construct - Create a GearmanJob instance
    • GearmanTask::create - Create a task (deprecated)
    • GearmanTask::data - Get data returned for a task
    • GearmanTask::dataSize - Get the size of returned data
    • GearmanTask::function - Get associated function name (deprecated)
    • GearmanTask::functionName - Get associated function name
    • GearmanTask::isKnown - Determine if task is known
    • GearmanTask::isRunning - Test whether the task is currently running
    • GearmanTask::jobHandle - Get the job handle
    • GearmanTask::recvData - Read work or result data into a buffer for a task
    • GearmanTask::returnCode - Get the last return code
    • GearmanTask::sendData - Send data for a task (deprecated)
    • GearmanTask::sendWorkload - Send data for a task
    • GearmanTask::taskDenominator - Get completion percentage denominator
    • GearmanTask::taskNumerator - Get completion percentage numerator
    • GearmanTask::unique - Get the unique identifier for a task
    • GearmanTask::uuid - Get the unique identifier for a task (deprecated)
    • GearmanTask::__construct - Create a GearmanTask instance
    • GearmanWorker::addFunction - Register and add callback function
    • GearmanWorker::addOptions - Add worker options
    • GearmanWorker::addServer - Add a job server
    • GearmanWorker::addServers - Add job servers
    • GearmanWorker::clone - Create a copy of the worker
    • GearmanWorker::echo - Test job server response
    • GearmanWorker::error - Get the last error encountered
    • GearmanWorker::getErrno - Get errno
    • GearmanWorker::options - Get worker options
    • GearmanWorker::register - Register a function with the job server
    • GearmanWorker::removeOptions - Remove worker options
    • GearmanWorker::returnCode - Get last Gearman return code
    • GearmanWorker::setId - Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers
    • GearmanWorker::setOptions - Set worker options
    • GearmanWorker::setTimeout - Set socket I/O activity timeout
    • GearmanWorker::timeout - Get socket I/O activity timeout
    • GearmanWorker::unregister - Unregister a function name with the job servers
    • GearmanWorker::unregisterAll - Unregister all function names with the job servers
    • GearmanWorker::wait - Wait for activity from one of the job servers
    • GearmanWorker::work - Wait for and perform jobs
    • GearmanWorker::__construct - Create a GearmanWorker instance
    • Gender\Gender::connect - Connect to an external name dictionary
    • Gender\Gender::country - Get textual country representation
    • Gender\Gender::get - Get gender of a name
    • Gender\Gender::isNick - Check if the name0 is an alias of the name1
    • Gender\Gender::similarNames - Get similar names
    • Gender\Gender::__construct - Construct the Gender object
    • Generator::current - Obtém o valor gerado
    • Generator::key - Obtém o chave gerada
    • Generator::next - Retorna a execução do gerador
    • Generator::rewind - Rebobina o iterador
    • Generator::send - Envia um valor ao gerador
    • Generator::throw - Lança uma exceção no gerador
    • Generator::valid - Checa se o iterador foi fechado
    • Generator::__wakeup - Serializa o callback
    • geoip_asnum_by_name - Get the Autonomous System Numbers (ASN)
    • geoip_continent_code_by_name - Get the two letter continent code
    • geoip_country_code3_by_name - Get the three letter country code
    • geoip_country_code_by_name - Get the two letter country code
    • geoip_country_name_by_name - Get the full country name
    • geoip_database_info - Get GeoIP Database information
    • geoip_db_avail - Determine if GeoIP Database is available
    • geoip_db_filename - Returns the filename of the corresponding GeoIP Database
    • geoip_db_get_all_info - Returns detailed information about all GeoIP database types
    • geoip_domain_by_name - Get the second level domain name
    • geoip_id_by_name - Get the Internet connection type
    • geoip_isp_by_name - Get the Internet Service Provider (ISP) name
    • geoip_netspeedcell_by_name - Get the Internet connection speed
    • geoip_org_by_name - Get the organization name
    • geoip_record_by_name - Returns the detailed City information found in the GeoIP Database
    • geoip_region_by_name - Get the country code and region
    • geoip_region_name_by_code - Returns the region name for some country and region code combo
    • geoip_setup_custom_directory - Set a custom directory for the GeoIP database
    • geoip_time_zone_by_country_and_region - Returns the time zone for some country and region code combo
    • getallheaders - Obtém todos os cabeçalhos da requisição HTTP
    • getcwd - Obtém o diretório atual
    • getdate - Recupera informações de data/hora
    • getenv - Obtém uma variável de ambiente
    • gethostbyaddr - Obtém nome do host de Internet correspondendo ao endereçõ de IP fornecido.
    • gethostbyname - Get the IPv4 address corresponding to a given Internet host name
    • gethostbynamel - Get a list of IPv4 addresses corresponding to a given Internet host name
    • gethostname - Gets the host name
    • getimagesize - Obtém o tamanho de uma imagem
    • getimagesizefromstring - Get the size of an image from a string
    • getlastmod - Obtém o tempo da última modificação na pagina
    • getmxrr - Obtém registros MX correspondendo ao nome do host de Internet fornecido.
    • getmygid - Obtém o GID do dono do script PHP
    • getmyinode - Obtém o inode do script atual
    • getmypid - Obtém o ID do processo PHP
    • getmyuid - Obtém o UID do dono do script PHP
    • getopt - Obtém opções da lista de argumentos da linha de comando
    • getprotobyname - Get protocol number associated with protocol name
    • getprotobynumber - Get protocol name associated with protocol number
    • getrandmax - Retorna o maior valor aletório possível
    • getrusage - Obtém a utilização de recursos
    • getservbyname - Get port number associated with an Internet service and protocol
    • getservbyport - Get Internet service which corresponds to port and protocol
    • getSession - Connect to a MySQL server
    • gettext - Procura por uma mensagem no domínio atual
    • gettimeofday - Obtém a hora atual
    • gettype - Obtém o tipo da variável
    • get_browser - Diz o que o browser do usuário pode fazer
    • get_called_class - Retorna o nome da classe "Chamado pelo method estatico"
    • get_cfg_var - Obtém o valor de uma opção de configuração do PHP
    • get_class - Retorna o nome da classe de um objeto
    • get_class_methods - Obtém o nome dos métodos da classe
    • get_class_vars - Obtém as propriedades padrão da classe
    • get_current_user - Obtém o nome do dono do script PHP atual
    • get_declared_classes - Retorna uma matriz com os nomes das classes definidas
    • get_declared_interfaces - Retorna um array com todas as interfaces declaradas
    • get_declared_traits - Retorna um array de todas as Traits declaradas
    • get_defined_constants - Retorna uma matriz associativa com os nomes de todas as constantes e seus valores
    • get_defined_functions - Retorna um array de todas as funções definidas
    • get_defined_vars - Retorna um array com todas variáveis definidas
    • get_extension_funcs - Retorna uma matriz com os nomes de funções de um módulo
    • get_headers - Retorna todos os cabeçalhos enviados pelo servidor em resposta à requisição HTTP
    • get_html_translation_table - Retorna a tabela de tradução usada por htmlspecialchars e htmlentities
    • get_included_files - Retorna uma matriz com os nomes dos arquivos incluídos ou requeridos
    • get_include_path - Obtém a opção de configuração include_path atual
    • get_loaded_extensions - Retorna uma matriz com os nomes de todos os módulos compilados e carregados
    • get_magic_quotes_gpc - Obtém a configuração atual de magic_quotes_gpc
    • get_magic_quotes_runtime - Obtém a configuração ativa para magic_quotes_runtime
    • get_meta_tags - Extrai as informações das tag meta de um arquivo e retorna como uma matriz
    • get_object_vars - Obtém as propriedades públicas de um dado objeto
    • get_parent_class - Recupera o nome da classe pai para o objeto ou classe
    • get_required_files - Sinônimo de get_included_files
    • get_resources - Returns active resources
    • get_resource_id - Returns an integer identifier for the given resource
    • get_resource_type - Retorna o tipo de resource
    • glob - Acha caminhos que combinam com um padrão
    • glob:// - Find pathnames matching pattern
    • GlobIterator::count - Get the number of directories and files
    • GlobIterator::__construct - Construct a directory using glob
    • Gmagick::addimage - Adds new image to Gmagick object image list
    • Gmagick::addnoiseimage - Adds random noise to the image
    • Gmagick::annotateimage - Annotates an image with text
    • Gmagick::blurimage - Adds blur filter to image
    • Gmagick::borderimage - Surrounds the image with a border
    • Gmagick::charcoalimage - Simulates a charcoal drawing
    • Gmagick::chopimage - Removes a region of an image and trims
    • Gmagick::clear - Clears all resources associated to Gmagick object
    • Gmagick::commentimage - Adds a comment to your image
    • Gmagick::compositeimage - Composite one image onto another
    • Gmagick::cropimage - Extracts a region of the image
    • Gmagick::cropthumbnailimage - Creates a crop thumbnail
    • Gmagick::current - The current purpose
    • Gmagick::cyclecolormapimage - Displaces an image's colormap
    • Gmagick::deconstructimages - Returns certain pixel differences between images
    • Gmagick::despeckleimage - The despeckleimage purpose
    • Gmagick::destroy - The destroy purpose
    • Gmagick::drawimage - Renders the GmagickDraw object on the current image
    • Gmagick::edgeimage - Enhance edges within the image
    • Gmagick::embossimage - Returns a grayscale image with a three-dimensional effect
    • Gmagick::enhanceimage - Improves the quality of a noisy image
    • Gmagick::equalizeimage - Equalizes the image histogram
    • Gmagick::flipimage - Creates a vertical mirror image
    • Gmagick::flopimage - The flopimage purpose
    • Gmagick::frameimage - Adds a simulated three-dimensional border
    • Gmagick::gammaimage - Gamma-corrects an image
    • Gmagick::getcopyright - Returns the GraphicsMagick API copyright as a string
    • Gmagick::getfilename - The filename associated with an image sequence
    • Gmagick::getimagebackgroundcolor - Returns the image background color
    • Gmagick::getimageblueprimary - Returns the chromaticy blue primary point
    • Gmagick::getimagebordercolor - Returns the image border color
    • Gmagick::getimagechanneldepth - Gets the depth for a particular image channel
    • Gmagick::getimagecolors - Returns the color of the specified colormap index
    • Gmagick::getimagecolorspace - Gets the image colorspace
    • Gmagick::getimagecompose - Returns the composite operator associated with the image
    • Gmagick::getimagedelay - Gets the image delay
    • Gmagick::getimagedepth - Gets the depth of the image
    • Gmagick::getimagedispose - Gets the image disposal method
    • Gmagick::getimageextrema - Gets the extrema for the image
    • Gmagick::getimagefilename - Returns the filename of a particular image in a sequence
    • Gmagick::getimageformat - Returns the format of a particular image in a sequence
    • Gmagick::getimagegamma - Gets the image gamma
    • Gmagick::getimagegreenprimary - Returns the chromaticy green primary point
    • Gmagick::getimageheight - Returns the image height
    • Gmagick::getimagehistogram - Gets the image histogram
    • Gmagick::getimageindex - Gets the index of the current active image
    • Gmagick::getimageinterlacescheme - Gets the image interlace scheme
    • Gmagick::getimageiterations - Gets the image iterations
    • Gmagick::getimagematte - Check if the image has a matte channel
    • Gmagick::getimagemattecolor - Returns the image matte color
    • Gmagick::getimageprofile - Returns the named image profile
    • Gmagick::getimageredprimary - Returns the chromaticity red primary point
    • Gmagick::getimagerenderingintent - Gets the image rendering intent
    • Gmagick::getimageresolution - Gets the image X and Y resolution
    • Gmagick::getimagescene - Gets the image scene
    • Gmagick::getimagesignature - Generates an SHA-256 message digest
    • Gmagick::getimagetype - Gets the potential image type
    • Gmagick::getimageunits - Gets the image units of resolution
    • Gmagick::getimagewhitepoint - Returns the chromaticity white point
    • Gmagick::getimagewidth - Returns the width of the image
    • Gmagick::getpackagename - Returns the GraphicsMagick package name
    • Gmagick::getquantumdepth - Returns the Gmagick quantum depth as a string
    • Gmagick::getreleasedate - Returns the GraphicsMagick release date as a string
    • Gmagick::getsamplingfactors - Gets the horizontal and vertical sampling factor
    • Gmagick::getsize - Returns the size associated with the Gmagick object
    • Gmagick::getversion - Returns the GraphicsMagick API version
    • Gmagick::hasnextimage - Checks if the object has more images
    • Gmagick::haspreviousimage - Checks if the object has a previous image
    • Gmagick::implodeimage - Creates a new image as a copy
    • Gmagick::labelimage - Adds a label to an image
    • Gmagick::levelimage - Adjusts the levels of an image
    • Gmagick::magnifyimage - Scales an image proportionally 2x
    • Gmagick::mapimage - Replaces the colors of an image with the closest color from a reference image
    • Gmagick::medianfilterimage - Applies a digital filter
    • Gmagick::minifyimage - Scales an image proportionally to half its size
    • Gmagick::modulateimage - Control the brightness, saturation, and hue
    • Gmagick::motionblurimage - Simulates motion blur
    • Gmagick::newimage - Creates a new image
    • Gmagick::nextimage - Moves to the next image
    • Gmagick::normalizeimage - Enhances the contrast of a color image
    • Gmagick::oilpaintimage - Simulates an oil painting
    • Gmagick::previousimage - Move to the previous image in the object
    • Gmagick::profileimage - Adds or removes a profile from an image
    • Gmagick::quantizeimage - Analyzes the colors within a reference image
    • Gmagick::quantizeimages - The quantizeimages purpose
    • Gmagick::queryfontmetrics - Returns an array representing the font metrics
    • Gmagick::queryfonts - Returns the configured fonts
    • Gmagick::queryformats - Returns formats supported by Gmagick
    • Gmagick::radialblurimage - Radial blurs an image
    • Gmagick::raiseimage - Creates a simulated 3d button-like effect
    • Gmagick::read - Reads image from filename
    • Gmagick::readimage - Reads image from filename
    • Gmagick::readimageblob - Reads image from a binary string
    • Gmagick::readimagefile - The readimagefile purpose
    • Gmagick::reducenoiseimage - Smooths the contours of an image
    • Gmagick::removeimage - Removes an image from the image list
    • Gmagick::removeimageprofile - Removes the named image profile and returns it
    • Gmagick::resampleimage - Resample image to desired resolution
    • Gmagick::resizeimage - Scales an image
    • Gmagick::rollimage - Offsets an image
    • Gmagick::rotateimage - Rotates an image
    • Gmagick::scaleimage - Scales the size of an image
    • Gmagick::separateimagechannel - Separates a channel from the image
    • Gmagick::setCompressionQuality - Sets the object's default compression quality
    • Gmagick::setfilename - Sets the filename before you read or write the image
    • Gmagick::setimagebackgroundcolor - Sets the image background color
    • Gmagick::setimageblueprimary - Sets the image chromaticity blue primary point
    • Gmagick::setimagebordercolor - Sets the image border color
    • Gmagick::setimagechanneldepth - Sets the depth of a particular image channel
    • Gmagick::setimagecolorspace - Sets the image colorspace
    • Gmagick::setimagecompose - Sets the image composite operator
    • Gmagick::setimagedelay - Sets the image delay
    • Gmagick::setimagedepth - Sets the image depth
    • Gmagick::setimagedispose - Sets the image disposal method
    • Gmagick::setimagefilename - Sets the filename of a particular image in a sequence
    • Gmagick::setimageformat - Sets the format of a particular image
    • Gmagick::setimagegamma - Sets the image gamma
    • Gmagick::setimagegreenprimary - Sets the image chromaticity green primary point
    • Gmagick::setimageindex - Set the iterator to the position in the image list specified with the index parameter
    • Gmagick::setimageinterlacescheme - Sets the interlace scheme of the image
    • Gmagick::setimageiterations - Sets the image iterations
    • Gmagick::setimageprofile - Adds a named profile to the Gmagick object
    • Gmagick::setimageredprimary - Sets the image chromaticity red primary point
    • Gmagick::setimagerenderingintent - Sets the image rendering intent
    • Gmagick::setimageresolution - Sets the image resolution
    • Gmagick::setimagescene - Sets the image scene
    • Gmagick::setimagetype - Sets the image type
    • Gmagick::setimageunits - Sets the image units of resolution
    • Gmagick::setimagewhitepoint - Sets the image chromaticity white point
    • Gmagick::setsamplingfactors - Sets the image sampling factors
    • Gmagick::setsize - Sets the size of the Gmagick object
    • Gmagick::shearimage - Creating a parallelogram
    • Gmagick::solarizeimage - Applies a solarizing effect to the image
    • Gmagick::spreadimage - Randomly displaces each pixel in a block
    • Gmagick::stripimage - Strips an image of all profiles and comments
    • Gmagick::swirlimage - Swirls the pixels about the center of the image
    • Gmagick::thumbnailimage - Changes the size of an image
    • Gmagick::trimimage - Remove edges from the image
    • Gmagick::write - Sinônimo de Gmagick::writeimage
    • Gmagick::writeimage - Writes an image to the specified filename
    • Gmagick::__construct - The Gmagick constructor
    • GmagickDraw::annotate - Draws text on the image
    • GmagickDraw::arc - Draws an arc
    • GmagickDraw::bezier - Draws a bezier curve
    • GmagickDraw::ellipse - Draws an ellipse on the image
    • GmagickDraw::getfillcolor - Returns the fill color
    • GmagickDraw::getfillopacity - Returns the opacity used when drawing
    • GmagickDraw::getfont - Returns the font
    • GmagickDraw::getfontsize - Returns the font pointsize
    • GmagickDraw::getfontstyle - Returns the font style
    • GmagickDraw::getfontweight - Returns the font weight
    • GmagickDraw::getstrokecolor - Returns the color used for stroking object outlines
    • GmagickDraw::getstrokeopacity - Returns the opacity of stroked object outlines
    • GmagickDraw::getstrokewidth - Returns the width of the stroke used to draw object outlines
    • GmagickDraw::gettextdecoration - Returns the text decoration
    • GmagickDraw::gettextencoding - Returns the code set used for text annotations
    • GmagickDraw::line - The line purpose
    • GmagickDraw::point - Draws a point
    • GmagickDraw::polygon - Draws a polygon
    • GmagickDraw::polyline - Draws a polyline
    • GmagickDraw::rectangle - Draws a rectangle
    • GmagickDraw::rotate - Applies the specified rotation to the current coordinate space
    • GmagickDraw::roundrectangle - Draws a rounded rectangle
    • GmagickDraw::scale - Adjusts the scaling factor
    • GmagickDraw::setfillcolor - Sets the fill color to be used for drawing filled objects
    • GmagickDraw::setfillopacity - The setfillopacity purpose
    • GmagickDraw::setfont - Sets the fully-specified font to use when annotating with text
    • GmagickDraw::setfontsize - Sets the font pointsize to use when annotating with text
    • GmagickDraw::setfontstyle - Sets the font style to use when annotating with text
    • GmagickDraw::setfontweight - Sets the font weight
    • GmagickDraw::setstrokecolor - Sets the color used for stroking object outlines
    • GmagickDraw::setstrokeopacity - Specifies the opacity of stroked object outlines
    • GmagickDraw::setstrokewidth - Sets the width of the stroke used to draw object outlines
    • GmagickDraw::settextdecoration - Specifies a decoration
    • GmagickDraw::settextencoding - Specifies the text code set
    • GmagickPixel::getcolor - Returns the color
    • GmagickPixel::getcolorcount - Returns the color count associated with this color
    • GmagickPixel::getcolorvalue - Gets the normalized value of the provided color channel
    • GmagickPixel::setcolor - Sets the color
    • GmagickPixel::setcolorvalue - Sets the normalized value of one of the channels
    • GmagickPixel::__construct - The GmagickPixel constructor
    • gmdate - Formata uma data/hora GMT/CUT
    • gmmktime - Obtém um timestamp Unix para uma data GMT
    • gmp_abs - Valor absoluto
    • gmp_add - Adiciona números
    • gmp_and - Operador binário AND
    • gmp_binomial - Calculates binomial coefficient
    • gmp_clrbit - Limpa bit
    • gmp_cmp - Compara números
    • gmp_com - Calcula o complemento
    • gmp_div - Sinônimo de gmp_div_q
    • gmp_divexact - Divisão exata de números
    • gmp_div_q - Divide números
    • gmp_div_qr - Divide números e retorna o quociente e o resto da divisão
    • gmp_div_r - Resto da divisão de dois números
    • gmp_export - Export to a binary string
    • gmp_fact - Fatorial
    • gmp_gcd - Calcula o MDC
    • gmp_gcdext - Calcula GCD e multiplicadores
    • gmp_hamdist - Distância de Hamming
    • gmp_import - Import from a binary string
    • gmp_init - Cria um número GMP
    • gmp_intval - Converte um número GMP para um inteiro
    • gmp_invert - Inverse by modulo
    • gmp_jacobi - Símbolo de Jacobi
    • gmp_kronecker - Kronecker symbol
    • gmp_lcm - Calculate LCM
    • gmp_legendre - Símbolo de Legendre
    • gmp_mod - Operação Módulo
    • gmp_mul - Multiplica números
    • gmp_neg - Nega o número
    • gmp_nextprime - Busca o próximo número primo
    • gmp_or - Lógico OR
    • gmp_perfect_power - Perfect power check
    • gmp_perfect_square - Perfect square check
    • gmp_popcount - Contagem de população
    • gmp_pow - Potenciação
    • gmp_powm - Eleva um número a potência com módulo
    • gmp_prob_prime - Verifica se o número é "provavelmente primo"
    • gmp_random - Número randomico
    • gmp_random_bits - Random number
    • gmp_random_range - Random number
    • gmp_random_seed - Sets the RNG seed
    • gmp_root - Take the integer part of nth root
    • gmp_rootrem - Take the integer part and remainder of nth root
    • gmp_scan0 - Scan for 0
    • gmp_scan1 - Scan for 1
    • gmp_setbit - Set bit
    • gmp_sign - Sinal do número
    • gmp_sqrt - Raíz quadrada
    • gmp_sqrtrem - Raíz quadrada com resto
    • gmp_strval - Converte um número GMP para uma string
    • gmp_sub - Subtrai números
    • gmp_testbit - Tests if a bit is set
    • gmp_xor - Operação binária XOR
    • gmstrftime - Formata uma hora/data GMT/CUT de acordo com as configurações de localidade
    • gnupg_adddecryptkey - Add a key for decryption
    • gnupg_addencryptkey - Add a key for encryption
    • gnupg_addsignkey - Add a key for signing
    • gnupg_cleardecryptkeys - Removes all keys which were set for decryption before
    • gnupg_clearencryptkeys - Removes all keys which were set for encryption before
    • gnupg_clearsignkeys - Removes all keys which were set for signing before
    • gnupg_decrypt - Decrypts a given text
    • gnupg_decryptverify - Decrypts and verifies a given text
    • gnupg_encrypt - Encrypts a given text
    • gnupg_encryptsign - Encrypts and signs a given text
    • gnupg_export - Exports a key
    • gnupg_geterror - Returns the errortext, if a function fails
    • gnupg_getprotocol - Returns the currently active protocol for all operations
    • gnupg_import - Imports a key
    • gnupg_init - Initialize a connection
    • gnupg_keyinfo - Returns an array with information about all keys that matches the given pattern
    • gnupg_setarmor - Toggle armored output
    • gnupg_seterrormode - Sets the mode for error_reporting
    • gnupg_setsignmode - Sets the mode for signing
    • gnupg_sign - Signs a given text
    • gnupg_verify - Verifies a signed text
    • grapheme_extract - Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8
    • grapheme_stripos - Find position (in grapheme units) of first occurrence of a case-insensitive string
    • grapheme_stristr - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack
    • grapheme_strlen - Get string length in grapheme units
    • grapheme_strpos - Find position (in grapheme units) of first occurrence of a string
    • grapheme_strripos - Find position (in grapheme units) of last occurrence of a case-insensitive string
    • grapheme_strrpos - Find position (in grapheme units) of last occurrence of a string
    • grapheme_strstr - Returns part of haystack string from the first occurrence of needle to the end of haystack
    • grapheme_substr - Return part of a string
    • GregorianToJD - Converte uma data gregoriana para o "Julian Day Count"
    • gzclose - Fecha um ponteiro para um arquivo-gz
    • gzcompress - Comprime uma string
    • gzdecode - Decodifica uma string comprimida usando o gzip
    • gzdeflate - Comprime uma string usando DEFLATE
    • gzencode - Cria uma string comprimida com gzip
    • gzeof - Testa para o fim de um ponteiro de arquivo-gz
    • gzfile - Lê todo o arquivo-gz para uma matriz
    • gzgetc - Obtém um caractere de um ponteiro de arquivo-gz
    • gzgets - Obtém uma linha de um ponteiro de arquivo
    • gzgetss - Obtém uma linha de um ponteiro de arquivo-gz e retira as tags HTML
    • gzinflate - Descomprime uma string usando DEFLATE
    • gzopen - Abre um arquivo-gz
    • gzpassthru - Envia todos os dados restantes em um ponteiro para arquivo-gz
    • gzputs - Sinônimo de gzwrite
    • gzread - Leitura de arquivos-gz segura para binários
    • gzrewind - Retorna ao início a posição de um ponteiro para um arquivo-gz
    • gzseek - Move o ponteiro de um arquivo-gz
    • gztell - Indica a posição de leitura/gravação em um ponteiro para arquivo-gz
    • gzuncompress - Descomprime uma string com DEFLATED
    • gzwrite - Escrita segura para binário em arquivo-gz
  • h
    • hash - Generate a hash value (message digest)
    • HashContext::__construct - Private constructor to disallow direct instantiation
    • hash_algos - Return a list of registered hashing algorithms
    • hash_copy - Copy hashing context
    • hash_equals - Timing attack safe string comparison
    • hash_file - Generate a hash value using the contents of a given file
    • hash_final - Finalize an incremental hash and return resulting digest
    • hash_hkdf - Generate a HKDF key derivation of a supplied key input
    • hash_hmac - Generate a keyed hash value using the HMAC method
    • hash_hmac_algos - Return a list of registered hashing algorithms suitable for hash_hmac
    • hash_hmac_file - Generate a keyed hash value using the HMAC method and the contents of a given file
    • hash_init - Initialize an incremental hashing context
    • hash_pbkdf2 - Generate a PBKDF2 key derivation of a supplied password
    • hash_update - Pump data into an active hashing context
    • hash_update_file - Pump data into an active hashing context from a file
    • hash_update_stream - Pump data into an active hashing context from an open stream
    • header - Send a raw HTTP header
    • headers_list - Retorna uma lista de cabeçalhos enviados para o servidor (ou pronto para enviar)
    • headers_sent - Checks if or where headers have been sent
    • header_register_callback - Call a header function
    • header_remove - Remove os cabeçalhos definidos anteriormente
    • hebrev - Converte texto lógico Hebraico para texto visual
    • hebrevc - Converte um texto lógico Hebráico para um texto visual com conversão newline
    • hex2bin - Decodes a hexadecimally encoded binary string
    • hexdec - Hexadecimal para decimal
    • highlight_file - Destaca a sintaxe de um arquivo
    • highlight_string - Destaque da sintaxe de uma string
    • hrtime - Get the system's high resolution time
    • HRTime\PerformanceCounter::getFrequency - Timer frequency in ticks per second
    • HRTime\PerformanceCounter::getTicks - Current ticks from the system
    • HRTime\PerformanceCounter::getTicksSince - Ticks elapsed since the given value
    • HRTime\StopWatch::getElapsedTicks - Get elapsed ticks for all intervals
    • HRTime\StopWatch::getElapsedTime - Get elapsed time for all intervals
    • HRTime\StopWatch::getLastElapsedTicks - Get elapsed ticks for the last interval
    • HRTime\StopWatch::getLastElapsedTime - Get elapsed time for the last interval
    • HRTime\StopWatch::isRunning - Whether the measurement is running
    • HRTime\StopWatch::start - Start time measurement
    • HRTime\StopWatch::stop - Stop time measurement
    • htmlentities - Converte todos os caracteres aplicáveis em entidades html.
    • htmlspecialchars - Converte caracteres especiais para a realidade HTML
    • htmlspecialchars_decode - Converte especiais entidades HTML para caracteres
    • html_entity_decode - Converte todas as entidades HTML para os seus caracteres
    • http:// - Accessing HTTP(s) URLs
    • http_build_query - Gera a string de consulta (query) em formato URL
    • http_response_code - Get or Set the HTTP response code
    • hypot - Calcula o tamanho da hipotenusa de um ângulo reto do triângulo Retorna a raiz quadrada de (num1*num1 + num2*num2)
  • i
    • ibase_add_user - Adiciona um usuário a um banco de dados seguro (apenas para IB6 ou posterior)
    • ibase_affected_rows - Retorna o número de linhas que foram afetados pela consulta anterior
    • ibase_backup - Initiates a backup task in the service manager and returns immediately
    • ibase_blob_add - Adiciona dados em um blob recém criado
    • ibase_blob_cancel - Cancela a criação de um blob
    • ibase_blob_close - Fecha o blob
    • ibase_blob_create - Cria um novo blob para adicionar dados
    • ibase_blob_echo - Envia o conteúdo do blob para o browser
    • ibase_blob_get - Retorna uma quantidade especificada de bytes de dados de um blob aberto
    • ibase_blob_import - Cria um blob, copia um arquivo para ele e o fecha
    • ibase_blob_info - Retorna o tamanho do blob e outras informações úteis
    • ibase_blob_open - Abre um blob para obter partes de dados
    • ibase_close - Fecha uma conexão com um banco de dados InterBase
    • ibase_commit - Grava uma transação
    • ibase_commit_ret - Grava uma transação sem fechá-la
    • ibase_connect - Abre uma conexão com um banco de dados InterBase
    • ibase_db_info - Request statistics about a database
    • ibase_delete_user - Exclui um usuário de um banco de dados seguro (apenas para o IB6 ou posterior)
    • ibase_drop_db - Exclui um banco de dados
    • ibase_errcode - Retorna um código de erro
    • ibase_errmsg - Retorna uma mensagem de erro
    • ibase_execute - Executa uma consulta preparada anteriormente
    • ibase_fetch_assoc - Obtém o resultado de uma linha da consulta como uma matriz associativa
    • ibase_fetch_object - Obtém uma linha como um objeto de um banco de dados InterBase
    • ibase_fetch_row - Obtém uma linha de um banco de dados InterBase
    • ibase_field_info - Obtém informação sobre um campo
    • ibase_free_event_handler - Cancela um manipulador de eventos registrado
    • ibase_free_query - Libera a memória alocada para uma consulta preparada
    • ibase_free_result - Libera um conjunto de resultados
    • ibase_gen_id - Increments the named generator and returns its new value
    • ibase_maintain_db - Execute a maintenance command on the database server
    • ibase_modify_user - Modifica um usuário para um banco de dados seguro (somente para IB6 ou posterior)
    • ibase_name_result - Define um nome para um conjunto de resultados
    • ibase_num_fields - Obtém o número de campos em um conjunto de resultados
    • ibase_num_params - Retorna o número de parâmetros em uma consulta preparada
    • ibase_param_info - Retorna informação sobre um parâmetro em uma consulta preparada
    • ibase_pconnect - Abre uma conexão persistente com um banco de dados InterBase
    • ibase_prepare - Prepara uma query para execução posterior
    • ibase_query - Executa uma consulta em um banco de dados InterBase
    • ibase_restore - Initiates a restore task in the service manager and returns immediately
    • ibase_rollback - Desfaz uma transação
    • ibase_rollback_ret - Desfaz uma transação sem fechá-la
    • ibase_server_info - Request information about a database server
    • ibase_service_attach - Connect to the service manager
    • ibase_service_detach - Disconnect from the service manager
    • ibase_set_event_handler - Registra uma função de callback para ser chamada quando eventos são postados
    • ibase_trans - Inicia uma transação
    • ibase_wait_event - Espera por um evento ser postado no banco de dados
    • iconv - Convert string to requested character encoding
    • iconv_get_encoding - Retrieve internal configuration variables of iconv extension
    • iconv_mime_decode - Decodes a MIME header field
    • iconv_mime_decode_headers - Decodes multiple MIME header fields at once
    • iconv_mime_encode - Composes a MIME header field
    • iconv_set_encoding - Set current setting for character encoding conversion
    • iconv_strlen - Returns the character count of string
    • iconv_strpos - Finds position of first occurrence of a needle within a haystack
    • iconv_strrpos - Finds the last occurrence of a needle within a haystack
    • iconv_substr - Cut out part of a string
    • idate - Formata uma hora/data local como um inteiro
    • idn_to_ascii - Convert domain name to IDNA ASCII form
    • idn_to_utf8 - Convert domain name from IDNA ASCII to Unicode
    • ignore_user_abort - Estabelece se acontecerá o encerramento do script quando o usuário abortar a conexão
    • image2wbmp - Envia uma imagem para o browser ou arquivo
    • imageaffine - Return an image containing the affine transformed src image, using an optional clipping area
    • imageaffinematrixconcat - Concatenate two affine transformation matrices
    • imageaffinematrixget - Get an affine transformation matrix
    • imagealphablending - Set the blending mode for an image
    • imageantialias - Indica se as funções de antialias devem ser usadas ou não
    • imagearc - Desenha um elipse parcial
    • imagebmp - Output a BMP image to browser or file
    • imagechar - Desenha um caractere horizontalmente
    • imagecharup - Desenha um caractere verticalmente
    • imagecolorallocate - Aloca uma cor para uma imagem
    • imagecolorallocatealpha - Aloca cor para uma imagem
    • imagecolorat - Retorna o índice da cor de um pixel
    • imagecolorclosest - Retorna o índice da cor mais próxima da cor especificada
    • imagecolorclosestalpha - Retorna o índice da cor mais próxima da cor especificada + transparencia
    • imagecolorclosesthwb - Get the index of the color which has the hue, white and blackness
    • imagecolordeallocate - Desaloca uma cor para uma imagem
    • imagecolorexact - Retorna o índice da cor especificada
    • imagecolorexactalpha - Retorna o índice da cor especificada + transparencia
    • imagecolormatch - Faz com que a versão das cores da paleta sejam mais próximas da versão truecolor
    • imagecolorresolve - Retorna o índice da cor especificada ou a alternativa mais próxima possível
    • imagecolorresolvealpha - Retorna o índice da cor especificada + transparência ou a sua alternativa mais próxima
    • imagecolorset - Set the color for the specified palette index
    • imagecolorsforindex - Retorna as cores de um índice
    • imagecolorstotal - Retorna o número de cores na paleta de uma imagem
    • imagecolortransparent - Define uma cor como tansparente
    • imageconvolution - Apply a 3x3 convolution matrix, using coefficient and offset
    • imagecopy - Copia parte de uma imagem
    • imagecopymerge - Copia e combina uma parte de uma imagem
    • imagecopymergegray - Copy and merge part of an image with gray scale
    • imagecopyresampled - Copy and resize part of an image with resampling
    • imagecopyresized - Copy and resize part of an image
    • imagecreate - Cria uma nova imagem baseada em paleta
    • imagecreatefrombmp - Cria uma nova imagem a partir de arquivo ou URL
    • imagecreatefromgd - Cria uma nova imagem apartir de um arquivo GD ou URL
    • imagecreatefromgd2 - Cria uma nova imagem apartir de um arquivo GD2 ou URL
    • imagecreatefromgd2part - Cria uma nova imagem apartir de uma parte de um arquivo GD ou URL
    • imagecreatefromgif - Cria uma nova imagem a partir de um arquivo ou URL
    • imagecreatefromjpeg - Cria uma nova imagem a a partir de um arquivo ou URL
    • imagecreatefrompng - Cria uma nova imagem a partir de um arquivo ou URL
    • imagecreatefromstring - Cria uma nova imagem a apartir da imagem na string
    • imagecreatefromwbmp - Cria uma nova imagem a apratir de um arquivo ou URL
    • imagecreatefromwebp - Cria uma nova imagem a partir de arquivo ou URL
    • imagecreatefromxbm - Cria uma nova imagem a a partir de um arquivo ou URL
    • imagecreatefromxpm - Cria uma nova imagem a apratir de um arquivo ou URL
    • imagecreatetruecolor - Cria uma nova imagem true color
    • imagecrop - Crop an image to the given rectangle
    • imagecropauto - Crop an image automatically using one of the available modes
    • imagedashedline - Desenha uma linha pontilhada
    • imagedestroy - Destrói uma imagem
    • imageellipse - Desenha um elipse
    • imagefill - Flood fill
    • imagefilledarc - Draw a partial arc and fill it
    • imagefilledellipse - Desenha um elipse prenchido
    • imagefilledpolygon - Desenha um poligono prenchido
    • imagefilledrectangle - Desenha um retângulo prenchido
    • imagefilltoborder - Flood fill to specific color
    • imagefilter - Applies a filter to an image
    • imageflip - Flips an image using a given mode
    • imagefontheight - Retorna a altura da fonte
    • imagefontwidth - Retorna a largura da fonte
    • imageftbbox - Give the bounding box of a text using fonts via freetype2
    • imagefttext - Escreve texto na imagem usando fontes FreeType 2
    • imagegammacorrect - Apply a gamma correction to a GD image
    • imagegd - Envia a imagem GD para o browser ou um arquivo
    • imagegd2 - Envia uma imagem GD2
    • imagegetclip - Get the clipping rectangle
    • imagegetinterpolation - Get the interpolation method
    • imagegif - Envia uma imagem para o browser ou arquivo
    • imagegrabscreen - Captures the whole screen
    • imagegrabwindow - Captures a window
    • imageinterlace - Ativa ou desativa o entrelaçamento
    • imageistruecolor - Indica quando uma imagem é uma imagem truecolor
    • imagejpeg - Envia a imagem para o borwser ou arquivo
    • imagelayereffect - Set the alpha blending flag to use layering effects
    • imageline - Desenha uma linha
    • imageloadfont - Carrega uma nova fonte
    • imageopenpolygon - Draws an open polygon
    • imagepalettecopy - Copia a paleta de uma imagem para a outra
    • imagepalettetotruecolor - Converts a palette based image to true color
    • imagepng - Emite uma imagem PNG para o navegador ou arquivo
    • imagepolygon - Desenha um poligono
    • imagerectangle - Desenha um retângulo
    • imageresolution - Get or set the resolution of the image
    • imagerotate - Gira uma imagem com o ângulo dado
    • imagesavealpha - Define a opção para salvar a informação completa do alpha channel (ao invés de a transparencia de uma cor só) quando estiver salvando imagens PNG.
    • imagescale - Scale an image using the given new width and height
    • imagesetbrush - Set the brush image for line drawing
    • imagesetclip - Set the clipping rectangle
    • imagesetinterpolation - Set the interpolation method
    • imagesetpixel - Define um único pixel
    • imagesetstyle - Set the style for line drawing
    • imagesetthickness - Define a espessura para o desenho de linhas
    • imagesettile - Set the tile image for filling
    • imagestring - Desenha uma string horizontalmente
    • imagestringup - Desenha uma string verticalmente
    • imagesx - Obtem a largura da imagem
    • imagesy - Obtém a altura da imagem
    • imagetruecolortopalette - Converte uma imagem true color para uma imagem de paleta
    • imagettfbbox - Retorna uma caixa com o limites de um texto usando fontes TrueType
    • imagettftext - Escreve texto na imagem usando fontes TrueType
    • imagetypes - Retorna os tipos de imagens suportados por esta instalação do PHP
    • imagewbmp - Envia uma imagem para o browser ou arquivo
    • imagewebp - Output a WebP image to browser or file
    • imagexbm - Output an XBM image to browser or file
    • image_type_to_extension - Get file extension for image type
    • image_type_to_mime_type - Obtém o Mime-Type para um tipo de imagem retornado por getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
    • Imagick::adaptiveBlurImage - Adds adaptive blur filter to image
    • Imagick::adaptiveResizeImage - Adaptively resize image with data dependent triangulation
    • Imagick::adaptiveSharpenImage - Adaptively sharpen the image
    • Imagick::adaptiveThresholdImage - Selects a threshold for each pixel based on a range of intensity
    • Imagick::addImage - Adds new image to Imagick object image list
    • Imagick::addNoiseImage - Adds random noise to the image
    • Imagick::affineTransformImage - Transforms an image
    • Imagick::animateImages - Animates an image or images
    • Imagick::annotateImage - Annotates an image with text
    • Imagick::appendImages - Append a set of images
    • Imagick::autoLevelImage - Description
    • Imagick::averageImages - Average a set of images
    • Imagick::blackThresholdImage - Forces all pixels below the threshold into black
    • Imagick::blueShiftImage - Description
    • Imagick::blurImage - Adds blur filter to image
    • Imagick::borderImage - Surrounds the image with a border
    • Imagick::brightnessContrastImage - Description
    • Imagick::charcoalImage - Simulates a charcoal drawing
    • Imagick::chopImage - Removes a region of an image and trims
    • Imagick::clampImage - Description
    • Imagick::clear - Clears all resources associated to Imagick object
    • Imagick::clipImage - Clips along the first path from the 8BIM profile
    • Imagick::clipImagePath - Description
    • Imagick::clipPathImage - Clips along the named paths from the 8BIM profile
    • Imagick::clone - Makes an exact copy of the Imagick object
    • Imagick::clutImage - Replaces colors in the image
    • Imagick::coalesceImages - Composites a set of images
    • Imagick::colorFloodfillImage - Changes the color value of any pixel that matches target
    • Imagick::colorizeImage - Blends the fill color with the image
    • Imagick::colorMatrixImage - Description
    • Imagick::combineImages - Combines one or more images into a single image
    • Imagick::commentImage - Adds a comment to your image
    • Imagick::compareImageChannels - Returns the difference in one or more images
    • Imagick::compareImageLayers - Returns the maximum bounding region between images
    • Imagick::compareImages - Compares an image to a reconstructed image
    • Imagick::compositeImage - Composite one image onto another
    • Imagick::contrastImage - Change the contrast of the image
    • Imagick::contrastStretchImage - Enhances the contrast of a color image
    • Imagick::convolveImage - Applies a custom convolution kernel to the image
    • Imagick::count - Get the number of images
    • Imagick::cropImage - Extracts a region of the image
    • Imagick::cropThumbnailImage - Creates a crop thumbnail
    • Imagick::current - Returns a reference to the current Imagick object
    • Imagick::cycleColormapImage - Displaces an image's colormap
    • Imagick::decipherImage - Deciphers an image
    • Imagick::deconstructImages - Returns certain pixel differences between images
    • Imagick::deleteImageArtifact - Delete image artifact
    • Imagick::deleteImageProperty - Description
    • Imagick::deskewImage - Removes skew from the image
    • Imagick::despeckleImage - Reduces the speckle noise in an image
    • Imagick::destroy - Destroys the Imagick object
    • Imagick::displayImage - Displays an image
    • Imagick::displayImages - Displays an image or image sequence
    • Imagick::distortImage - Distorts an image using various distortion methods
    • Imagick::drawImage - Renders the ImagickDraw object on the current image
    • Imagick::edgeImage - Enhance edges within the image
    • Imagick::embossImage - Returns a grayscale image with a three-dimensional effect
    • Imagick::encipherImage - Enciphers an image
    • Imagick::enhanceImage - Improves the quality of a noisy image
    • Imagick::equalizeImage - Equalizes the image histogram
    • Imagick::evaluateImage - Applies an expression to an image
    • Imagick::exportImagePixels - Exports raw image pixels
    • Imagick::extentImage - Set image size
    • Imagick::filter - Description
    • Imagick::flattenImages - Merges a sequence of images
    • Imagick::flipImage - Creates a vertical mirror image
    • Imagick::floodFillPaintImage - Changes the color value of any pixel that matches target
    • Imagick::flopImage - Creates a vertical mirror image
    • Imagick::forwardFourierTransformImage - Description
    • Imagick::frameImage - Adds a simulated three-dimensional border
    • Imagick::functionImage - Applies a function on the image
    • Imagick::fxImage - Evaluate expression for each pixel in the image
    • Imagick::gammaImage - Gamma-corrects an image
    • Imagick::gaussianBlurImage - Blurs an image
    • Imagick::getColorspace - Gets the colorspace
    • Imagick::getCompression - Gets the object compression type
    • Imagick::getCompressionQuality - Gets the object compression quality
    • Imagick::getCopyright - Returns the ImageMagick API copyright as a string
    • Imagick::getFilename - The filename associated with an image sequence
    • Imagick::getFont - Gets font
    • Imagick::getFormat - Returns the format of the Imagick object
    • Imagick::getGravity - Gets the gravity
    • Imagick::getHomeURL - Returns the ImageMagick home URL
    • Imagick::getImage - Returns a new Imagick object
    • Imagick::getImageAlphaChannel - Gets the image alpha channel
    • Imagick::getImageArtifact - Get image artifact
    • Imagick::getImageAttribute - Description
    • Imagick::getImageBackgroundColor - Returns the image background color
    • Imagick::getImageBlob - Returns the image sequence as a blob
    • Imagick::getImageBluePrimary - Returns the chromaticy blue primary point
    • Imagick::getImageBorderColor - Returns the image border color
    • Imagick::getImageChannelDepth - Gets the depth for a particular image channel
    • Imagick::getImageChannelDistortion - Compares image channels of an image to a reconstructed image
    • Imagick::getImageChannelDistortions - Gets channel distortions
    • Imagick::getImageChannelExtrema - Gets the extrema for one or more image channels
    • Imagick::getImageChannelKurtosis - The getImageChannelKurtosis purpose
    • Imagick::getImageChannelMean - Gets the mean and standard deviation
    • Imagick::getImageChannelRange - Gets channel range
    • Imagick::getImageChannelStatistics - Returns statistics for each channel in the image
    • Imagick::getImageClipMask - Gets image clip mask
    • Imagick::getImageColormapColor - Returns the color of the specified colormap index
    • Imagick::getImageColors - Gets the number of unique colors in the image
    • Imagick::getImageColorspace - Gets the image colorspace
    • Imagick::getImageCompose - Returns the composite operator associated with the image
    • Imagick::getImageCompression - Gets the current image's compression type
    • Imagick::getImageCompressionQuality - Gets the current image's compression quality
    • Imagick::getImageDelay - Gets the image delay
    • Imagick::getImageDepth - Gets the image depth
    • Imagick::getImageDispose - Gets the image disposal method
    • Imagick::getImageDistortion - Compares an image to a reconstructed image
    • Imagick::getImageExtrema - Gets the extrema for the image
    • Imagick::getImageFilename - Returns the filename of a particular image in a sequence
    • Imagick::getImageFormat - Returns the format of a particular image in a sequence
    • Imagick::getImageGamma - Gets the image gamma
    • Imagick::getImageGeometry - Gets the width and height as an associative array
    • Imagick::getImageGravity - Gets the image gravity
    • Imagick::getImageGreenPrimary - Returns the chromaticy green primary point
    • Imagick::getImageHeight - Returns the image height
    • Imagick::getImageHistogram - Gets the image histogram
    • Imagick::getImageIndex - Gets the index of the current active image
    • Imagick::getImageInterlaceScheme - Gets the image interlace scheme
    • Imagick::getImageInterpolateMethod - Returns the interpolation method
    • Imagick::getImageIterations - Gets the image iterations
    • Imagick::getImageLength - Returns the image length in bytes
    • Imagick::getImageMatte - Return if the image has a matte channel
    • Imagick::getImageMatteColor - Returns the image matte color
    • Imagick::getImageMimeType - Description
    • Imagick::getImageOrientation - Gets the image orientation
    • Imagick::getImagePage - Returns the page geometry
    • Imagick::getImagePixelColor - Returns the color of the specified pixel
    • Imagick::getImageProfile - Returns the named image profile
    • Imagick::getImageProfiles - Returns the image profiles
    • Imagick::getImageProperties - Returns the image properties
    • Imagick::getImageProperty - Returns the named image property
    • Imagick::getImageRedPrimary - Returns the chromaticity red primary point
    • Imagick::getImageRegion - Extracts a region of the image
    • Imagick::getImageRenderingIntent - Gets the image rendering intent
    • Imagick::getImageResolution - Gets the image X and Y resolution
    • Imagick::getImagesBlob - Returns all image sequences as a blob
    • Imagick::getImageScene - Gets the image scene
    • Imagick::getImageSignature - Generates an SHA-256 message digest
    • Imagick::getImageSize - Returns the image length in bytes
    • Imagick::getImageTicksPerSecond - Gets the image ticks-per-second
    • Imagick::getImageTotalInkDensity - Gets the image total ink density
    • Imagick::getImageType - Gets the potential image type
    • Imagick::getImageUnits - Gets the image units of resolution
    • Imagick::getImageVirtualPixelMethod - Returns the virtual pixel method
    • Imagick::getImageWhitePoint - Returns the chromaticity white point
    • Imagick::getImageWidth - Returns the image width
    • Imagick::getInterlaceScheme - Gets the object interlace scheme
    • Imagick::getIteratorIndex - Gets the index of the current active image
    • Imagick::getNumberImages - Returns the number of images in the object
    • Imagick::getOption - Returns a value associated with the specified key
    • Imagick::getPackageName - Returns the ImageMagick package name
    • Imagick::getPage - Returns the page geometry
    • Imagick::getPixelIterator - Returns a MagickPixelIterator
    • Imagick::getPixelRegionIterator - Get an ImagickPixelIterator for an image section
    • Imagick::getPointSize - Gets point size
    • Imagick::getQuantum - Description
    • Imagick::getQuantumDepth - Gets the quantum depth
    • Imagick::getQuantumRange - Returns the Imagick quantum range
    • Imagick::getRegistry - Description
    • Imagick::getReleaseDate - Returns the ImageMagick release date
    • Imagick::getResource - Returns the specified resource's memory usage
    • Imagick::getResourceLimit - Returns the specified resource limit
    • Imagick::getSamplingFactors - Gets the horizontal and vertical sampling factor
    • Imagick::getSize - Returns the size associated with the Imagick object
    • Imagick::getSizeOffset - Returns the size offset
    • Imagick::getVersion - Returns the ImageMagick API version
    • Imagick::haldClutImage - Replaces colors in the image
    • Imagick::hasNextImage - Checks if the object has more images
    • Imagick::hasPreviousImage - Checks if the object has a previous image
    • Imagick::identifyFormat - Description
    • Imagick::identifyImage - Identifies an image and fetches attributes
    • Imagick::implodeImage - Creates a new image as a copy
    • Imagick::importImagePixels - Imports image pixels
    • Imagick::inverseFourierTransformImage - Description
    • Imagick::labelImage - Adds a label to an image
    • Imagick::levelImage - Adjusts the levels of an image
    • Imagick::linearStretchImage - Stretches with saturation the image intensity
    • Imagick::liquidRescaleImage - Animates an image or images
    • Imagick::listRegistry - Description
    • Imagick::magnifyImage - Scales an image proportionally 2x
    • Imagick::mapImage - Replaces the colors of an image with the closest color from a reference image
    • Imagick::matteFloodfillImage - Changes the transparency value of a color
    • Imagick::medianFilterImage - Applies a digital filter
    • Imagick::mergeImageLayers - Merges image layers
    • Imagick::minifyImage - Scales an image proportionally to half its size
    • Imagick::modulateImage - Control the brightness, saturation, and hue
    • Imagick::montageImage - Creates a composite image
    • Imagick::morphImages - Method morphs a set of images
    • Imagick::morphology - Description
    • Imagick::mosaicImages - Forms a mosaic from images
    • Imagick::motionBlurImage - Simulates motion blur
    • Imagick::negateImage - Negates the colors in the reference image
    • Imagick::newImage - Creates a new image
    • Imagick::newPseudoImage - Creates a new image
    • Imagick::nextImage - Moves to the next image
    • Imagick::normalizeImage - Enhances the contrast of a color image
    • Imagick::oilPaintImage - Simulates an oil painting
    • Imagick::opaquePaintImage - Changes the color value of any pixel that matches target
    • Imagick::optimizeImageLayers - Removes repeated portions of images to optimize
    • Imagick::orderedPosterizeImage - Performs an ordered dither
    • Imagick::paintFloodfillImage - Changes the color value of any pixel that matches target
    • Imagick::paintOpaqueImage - Change any pixel that matches color
    • Imagick::paintTransparentImage - Changes any pixel that matches color with the color defined by fill
    • Imagick::pingImage - Fetch basic attributes about the image
    • Imagick::pingImageBlob - Quickly fetch attributes
    • Imagick::pingImageFile - Get basic image attributes in a lightweight manner
    • Imagick::polaroidImage - Simulates a Polaroid picture
    • Imagick::posterizeImage - Reduces the image to a limited number of color level
    • Imagick::previewImages - Quickly pin-point appropriate parameters for image processing
    • Imagick::previousImage - Move to the previous image in the object
    • Imagick::profileImage - Adds or removes a profile from an image
    • Imagick::quantizeImage - Analyzes the colors within a reference image
    • Imagick::quantizeImages - Analyzes the colors within a sequence of images
    • Imagick::queryFontMetrics - Returns an array representing the font metrics
    • Imagick::queryFonts - Returns the configured fonts
    • Imagick::queryFormats - Returns formats supported by Imagick
    • Imagick::radialBlurImage - Radial blurs an image
    • Imagick::raiseImage - Creates a simulated 3d button-like effect
    • Imagick::randomThresholdImage - Creates a high-contrast, two-color image
    • Imagick::readImage - Reads image from filename
    • Imagick::readImageBlob - Reads image from a binary string
    • Imagick::readImageFile - Reads image from open filehandle
    • Imagick::readimages - Description
    • Imagick::recolorImage - Recolors image
    • Imagick::reduceNoiseImage - Smooths the contours of an image
    • Imagick::remapImage - Remaps image colors
    • Imagick::removeImage - Removes an image from the image list
    • Imagick::removeImageProfile - Removes the named image profile and returns it
    • Imagick::render - Renders all preceding drawing commands
    • Imagick::resampleImage - Resample image to desired resolution
    • Imagick::resetImagePage - Reset image page
    • Imagick::resizeImage - Scales an image
    • Imagick::rollImage - Offsets an image
    • Imagick::rotateImage - Rotates an image
    • Imagick::rotationalBlurImage - Description
    • Imagick::roundCorners - Rounds image corners
    • Imagick::sampleImage - Scales an image with pixel sampling
    • Imagick::scaleImage - Scales the size of an image
    • Imagick::segmentImage - Segments an image
    • Imagick::selectiveBlurImage - Description
    • Imagick::separateImageChannel - Separates a channel from the image
    • Imagick::sepiaToneImage - Sepia tones an image
    • Imagick::setBackgroundColor - Sets the object's default background color
    • Imagick::setColorspace - Set colorspace
    • Imagick::setCompression - Sets the object's default compression type
    • Imagick::setCompressionQuality - Sets the object's default compression quality
    • Imagick::setFilename - Sets the filename before you read or write the image
    • Imagick::setFirstIterator - Sets the Imagick iterator to the first image
    • Imagick::setFont - Sets font
    • Imagick::setFormat - Sets the format of the Imagick object
    • Imagick::setGravity - Sets the gravity
    • Imagick::setImage - Replaces image in the object
    • Imagick::setImageAlphaChannel - Sets image alpha channel
    • Imagick::setImageArtifact - Set image artifact
    • Imagick::setImageAttribute - Description
    • Imagick::setImageBackgroundColor - Sets the image background color
    • Imagick::setImageBias - Sets the image bias for any method that convolves an image
    • Imagick::setImageBiasQuantum - Description
    • Imagick::setImageBluePrimary - Sets the image chromaticity blue primary point
    • Imagick::setImageBorderColor - Sets the image border color
    • Imagick::setImageChannelDepth - Sets the depth of a particular image channel
    • Imagick::setImageClipMask - Sets image clip mask
    • Imagick::setImageColormapColor - Sets the color of the specified colormap index
    • Imagick::setImageColorspace - Sets the image colorspace
    • Imagick::setImageCompose - Sets the image composite operator
    • Imagick::setImageCompression - Sets the image compression
    • Imagick::setImageCompressionQuality - Sets the image compression quality
    • Imagick::setImageDelay - Sets the image delay
    • Imagick::setImageDepth - Sets the image depth
    • Imagick::setImageDispose - Sets the image disposal method
    • Imagick::setImageExtent - Sets the image size
    • Imagick::setImageFilename - Sets the filename of a particular image
    • Imagick::setImageFormat - Sets the format of a particular image
    • Imagick::setImageGamma - Sets the image gamma
    • Imagick::setImageGravity - Sets the image gravity
    • Imagick::setImageGreenPrimary - Sets the image chromaticity green primary point
    • Imagick::setImageIndex - Set the iterator position
    • Imagick::setImageInterlaceScheme - Sets the image compression
    • Imagick::setImageInterpolateMethod - Sets the image interpolate pixel method
    • Imagick::setImageIterations - Sets the image iterations
    • Imagick::setImageMatte - Sets the image matte channel
    • Imagick::setImageMatteColor - Sets the image matte color
    • Imagick::setImageOpacity - Sets the image opacity level
    • Imagick::setImageOrientation - Sets the image orientation
    • Imagick::setImagePage - Sets the page geometry of the image
    • Imagick::setImageProfile - Adds a named profile to the Imagick object
    • Imagick::setImageProperty - Sets an image property
    • Imagick::setImageRedPrimary - Sets the image chromaticity red primary point
    • Imagick::setImageRenderingIntent - Sets the image rendering intent
    • Imagick::setImageResolution - Sets the image resolution
    • Imagick::setImageScene - Sets the image scene
    • Imagick::setImageTicksPerSecond - Sets the image ticks-per-second
    • Imagick::setImageType - Sets the image type
    • Imagick::setImageUnits - Sets the image units of resolution
    • Imagick::setImageVirtualPixelMethod - Sets the image virtual pixel method
    • Imagick::setImageWhitePoint - Sets the image chromaticity white point
    • Imagick::setInterlaceScheme - Sets the image compression
    • Imagick::setIteratorIndex - Set the iterator position
    • Imagick::setLastIterator - Sets the Imagick iterator to the last image
    • Imagick::setOption - Set an option
    • Imagick::setPage - Sets the page geometry of the Imagick object
    • Imagick::setPointSize - Sets point size
    • Imagick::setProgressMonitor - Description
    • Imagick::setRegistry - Description
    • Imagick::setResolution - Sets the image resolution
    • Imagick::setResourceLimit - Sets the limit for a particular resource
    • Imagick::setSamplingFactors - Sets the image sampling factors
    • Imagick::setSize - Sets the size of the Imagick object
    • Imagick::setSizeOffset - Sets the size and offset of the Imagick object
    • Imagick::setType - Sets the image type attribute
    • Imagick::shadeImage - Creates a 3D effect
    • Imagick::shadowImage - Simulates an image shadow
    • Imagick::sharpenImage - Sharpens an image
    • Imagick::shaveImage - Shaves pixels from the image edges
    • Imagick::shearImage - Creating a parallelogram
    • Imagick::sigmoidalContrastImage - Adjusts the contrast of an image
    • Imagick::sketchImage - Simulates a pencil sketch
    • Imagick::smushImages - Description
    • Imagick::solarizeImage - Applies a solarizing effect to the image
    • Imagick::sparseColorImage - Interpolates colors
    • Imagick::spliceImage - Splices a solid color into the image
    • Imagick::spreadImage - Randomly displaces each pixel in a block
    • Imagick::statisticImage - Description
    • Imagick::steganoImage - Hides a digital watermark within the image
    • Imagick::stereoImage - Composites two images
    • Imagick::stripImage - Strips an image of all profiles and comments
    • Imagick::subImageMatch - Description
    • Imagick::swirlImage - Swirls the pixels about the center of the image
    • Imagick::textureImage - Repeatedly tiles the texture image
    • Imagick::thresholdImage - Changes the value of individual pixels based on a threshold
    • Imagick::thumbnailImage - Changes the size of an image
    • Imagick::tintImage - Applies a color vector to each pixel in the image
    • Imagick::transformImage - Convenience method for setting crop size and the image geometry
    • Imagick::transformImageColorspace - Transforms an image to a new colorspace
    • Imagick::transparentPaintImage - Paints pixels transparent
    • Imagick::transposeImage - Creates a vertical mirror image
    • Imagick::transverseImage - Creates a horizontal mirror image
    • Imagick::trimImage - Remove edges from the image
    • Imagick::uniqueImageColors - Discards all but one of any pixel color
    • Imagick::unsharpMaskImage - Sharpens an image
    • Imagick::valid - Checks if the current item is valid
    • Imagick::vignetteImage - Adds vignette filter to the image
    • Imagick::waveImage - Applies wave filter to the image
    • Imagick::whiteThresholdImage - Force all pixels above the threshold into white
    • Imagick::writeImage - Writes an image to the specified filename
    • Imagick::writeImageFile - Writes an image to a filehandle
    • Imagick::writeImages - Writes an image or image sequence
    • Imagick::writeImagesFile - Writes frames to a filehandle
    • Imagick::__construct - The Imagick constructor
    • Imagick::__toString - Returns the image as a string
    • ImagickDraw::affine - Adjusts the current affine transformation matrix
    • ImagickDraw::annotation - Draws text on the image
    • ImagickDraw::arc - Draws an arc
    • ImagickDraw::bezier - Draws a bezier curve
    • ImagickDraw::circle - Draws a circle
    • ImagickDraw::clear - Clears the ImagickDraw
    • ImagickDraw::clone - Makes an exact copy of the specified ImagickDraw object
    • ImagickDraw::color - Draws color on image
    • ImagickDraw::comment - Adds a comment
    • ImagickDraw::composite - Composites an image onto the current image
    • ImagickDraw::destroy - Frees all associated resources
    • ImagickDraw::ellipse - Draws an ellipse on the image
    • ImagickDraw::getClipPath - Obtains the current clipping path ID
    • ImagickDraw::getClipRule - Returns the current polygon fill rule
    • ImagickDraw::getClipUnits - Returns the interpretation of clip path units
    • ImagickDraw::getFillColor - Returns the fill color
    • ImagickDraw::getFillOpacity - Returns the opacity used when drawing
    • ImagickDraw::getFillRule - Returns the fill rule
    • ImagickDraw::getFont - Returns the font
    • ImagickDraw::getFontFamily - Returns the font family
    • ImagickDraw::getFontSize - Returns the font pointsize
    • ImagickDraw::getFontStretch - Description
    • ImagickDraw::getFontStyle - Returns the font style
    • ImagickDraw::getFontWeight - Returns the font weight
    • ImagickDraw::getGravity - Returns the text placement gravity
    • ImagickDraw::getStrokeAntialias - Returns the current stroke antialias setting
    • ImagickDraw::getStrokeColor - Returns the color used for stroking object outlines
    • ImagickDraw::getStrokeDashArray - Returns an array representing the pattern of dashes and gaps used to stroke paths
    • ImagickDraw::getStrokeDashOffset - Returns the offset into the dash pattern to start the dash
    • ImagickDraw::getStrokeLineCap - Returns the shape to be used at the end of open subpaths when they are stroked
    • ImagickDraw::getStrokeLineJoin - Returns the shape to be used at the corners of paths when they are stroked
    • ImagickDraw::getStrokeMiterLimit - Returns the stroke miter limit
    • ImagickDraw::getStrokeOpacity - Returns the opacity of stroked object outlines
    • ImagickDraw::getStrokeWidth - Returns the width of the stroke used to draw object outlines
    • ImagickDraw::getTextAlignment - Returns the text alignment
    • ImagickDraw::getTextAntialias - Returns the current text antialias setting
    • ImagickDraw::getTextDecoration - Returns the text decoration
    • ImagickDraw::getTextEncoding - Returns the code set used for text annotations
    • ImagickDraw::getTextInterlineSpacing - Description
    • ImagickDraw::getTextInterwordSpacing - Description
    • ImagickDraw::getTextKerning - Description
    • ImagickDraw::getTextUnderColor - Returns the text under color
    • ImagickDraw::getVectorGraphics - Returns a string containing vector graphics
    • ImagickDraw::line - Draws a line
    • ImagickDraw::matte - Paints on the image's opacity channel
    • ImagickDraw::pathClose - Adds a path element to the current path
    • ImagickDraw::pathCurveToAbsolute - Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierAbsolute - Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierRelative - Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute - Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative - Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToRelative - Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToSmoothAbsolute - Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToSmoothRelative - Draws a cubic Bezier curve
    • ImagickDraw::pathEllipticArcAbsolute - Draws an elliptical arc
    • ImagickDraw::pathEllipticArcRelative - Draws an elliptical arc
    • ImagickDraw::pathFinish - Terminates the current path
    • ImagickDraw::pathLineToAbsolute - Draws a line path
    • ImagickDraw::pathLineToHorizontalAbsolute - Draws a horizontal line path
    • ImagickDraw::pathLineToHorizontalRelative - Draws a horizontal line
    • ImagickDraw::pathLineToRelative - Draws a line path
    • ImagickDraw::pathLineToVerticalAbsolute - Draws a vertical line
    • ImagickDraw::pathLineToVerticalRelative - Draws a vertical line path
    • ImagickDraw::pathMoveToAbsolute - Starts a new sub-path
    • ImagickDraw::pathMoveToRelative - Starts a new sub-path
    • ImagickDraw::pathStart - Declares the start of a path drawing list
    • ImagickDraw::point - Draws a point
    • ImagickDraw::polygon - Draws a polygon
    • ImagickDraw::polyline - Draws a polyline
    • ImagickDraw::pop - Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw
    • ImagickDraw::popClipPath - Terminates a clip path definition
    • ImagickDraw::popDefs - Terminates a definition list
    • ImagickDraw::popPattern - Terminates a pattern definition
    • ImagickDraw::push - Clones the current ImagickDraw and pushes it to the stack
    • ImagickDraw::pushClipPath - Starts a clip path definition
    • ImagickDraw::pushDefs - Indicates that following commands create named elements for early processing
    • ImagickDraw::pushPattern - Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern
    • ImagickDraw::rectangle - Draws a rectangle
    • ImagickDraw::render - Renders all preceding drawing commands onto the image
    • ImagickDraw::resetVectorGraphics - Description
    • ImagickDraw::rotate - Applies the specified rotation to the current coordinate space
    • ImagickDraw::roundRectangle - Draws a rounded rectangle
    • ImagickDraw::scale - Adjusts the scaling factor
    • ImagickDraw::setClipPath - Associates a named clipping path with the image
    • ImagickDraw::setClipRule - Set the polygon fill rule to be used by the clipping path
    • ImagickDraw::setClipUnits - Sets the interpretation of clip path units
    • ImagickDraw::setFillAlpha - Sets the opacity to use when drawing using the fill color or fill texture
    • ImagickDraw::setFillColor - Sets the fill color to be used for drawing filled objects
    • ImagickDraw::setFillOpacity - Sets the opacity to use when drawing using the fill color or fill texture
    • ImagickDraw::setFillPatternURL - Sets the URL to use as a fill pattern for filling objects
    • ImagickDraw::setFillRule - Sets the fill rule to use while drawing polygons
    • ImagickDraw::setFont - Sets the fully-specified font to use when annotating with text
    • ImagickDraw::setFontFamily - Sets the font family to use when annotating with text
    • ImagickDraw::setFontSize - Sets the font pointsize to use when annotating with text
    • ImagickDraw::setFontStretch - Sets the font stretch to use when annotating with text
    • ImagickDraw::setFontStyle - Sets the font style to use when annotating with text
    • ImagickDraw::setFontWeight - Sets the font weight
    • ImagickDraw::setGravity - Sets the text placement gravity
    • ImagickDraw::setResolution - Description
    • ImagickDraw::setStrokeAlpha - Specifies the opacity of stroked object outlines
    • ImagickDraw::setStrokeAntialias - Controls whether stroked outlines are antialiased
    • ImagickDraw::setStrokeColor - Sets the color used for stroking object outlines
    • ImagickDraw::setStrokeDashArray - Specifies the pattern of dashes and gaps used to stroke paths
    • ImagickDraw::setStrokeDashOffset - Specifies the offset into the dash pattern to start the dash
    • ImagickDraw::setStrokeLineCap - Specifies the shape to be used at the end of open subpaths when they are stroked
    • ImagickDraw::setStrokeLineJoin - Specifies the shape to be used at the corners of paths when they are stroked
    • ImagickDraw::setStrokeMiterLimit - Specifies the miter limit
    • ImagickDraw::setStrokeOpacity - Specifies the opacity of stroked object outlines
    • ImagickDraw::setStrokePatternURL - Sets the pattern used for stroking object outlines
    • ImagickDraw::setStrokeWidth - Sets the width of the stroke used to draw object outlines
    • ImagickDraw::setTextAlignment - Specifies a text alignment
    • ImagickDraw::setTextAntialias - Controls whether text is antialiased
    • ImagickDraw::setTextDecoration - Specifies a decoration
    • ImagickDraw::setTextEncoding - Specifies the text code set
    • ImagickDraw::setTextInterlineSpacing - Description
    • ImagickDraw::setTextInterwordSpacing - Description
    • ImagickDraw::setTextKerning - Description
    • ImagickDraw::setTextUnderColor - Specifies the color of a background rectangle
    • ImagickDraw::setVectorGraphics - Sets the vector graphics
    • ImagickDraw::setViewbox - Sets the overall canvas size
    • ImagickDraw::skewX - Skews the current coordinate system in the horizontal direction
    • ImagickDraw::skewY - Skews the current coordinate system in the vertical direction
    • ImagickDraw::translate - Applies a translation to the current coordinate system
    • ImagickDraw::__construct - The ImagickDraw constructor
    • ImagickKernel::addKernel - Description
    • ImagickKernel::addUnityKernel - Description
    • ImagickKernel::fromBuiltIn - Description
    • ImagickKernel::fromMatrix - Description
    • ImagickKernel::getMatrix - Description
    • ImagickKernel::scale - Description
    • ImagickKernel::separate - Description
    • ImagickPixel::clear - Clears resources associated with this object
    • ImagickPixel::destroy - Deallocates resources associated with this object
    • ImagickPixel::getColor - Returns the color
    • ImagickPixel::getColorAsString - Returns the color as a string
    • ImagickPixel::getColorCount - Returns the color count associated with this color
    • ImagickPixel::getColorQuantum - Description
    • ImagickPixel::getColorValue - Gets the normalized value of the provided color channel
    • ImagickPixel::getColorValueQuantum - Description
    • ImagickPixel::getHSL - Returns the normalized HSL color of the ImagickPixel object
    • ImagickPixel::getIndex - Description
    • ImagickPixel::isPixelSimilar - Check the distance between this color and another
    • ImagickPixel::isPixelSimilarQuantum - Description
    • ImagickPixel::isSimilar - Check the distance between this color and another
    • ImagickPixel::setColor - Sets the color
    • ImagickPixel::setColorCount - Description
    • ImagickPixel::setColorValue - Sets the normalized value of one of the channels
    • ImagickPixel::setColorValueQuantum - Description
    • ImagickPixel::setHSL - Sets the normalized HSL color
    • ImagickPixel::setIndex - Description
    • ImagickPixel::__construct - The ImagickPixel constructor
    • ImagickPixelIterator::clear - Clear resources associated with a PixelIterator
    • ImagickPixelIterator::destroy - Deallocates resources associated with a PixelIterator
    • ImagickPixelIterator::getCurrentIteratorRow - Returns the current row of ImagickPixel objects
    • ImagickPixelIterator::getIteratorRow - Returns the current pixel iterator row
    • ImagickPixelIterator::getNextIteratorRow - Returns the next row of the pixel iterator
    • ImagickPixelIterator::getPreviousIteratorRow - Returns the previous row
    • ImagickPixelIterator::newPixelIterator - Returns a new pixel iterator
    • ImagickPixelIterator::newPixelRegionIterator - Returns a new pixel iterator
    • ImagickPixelIterator::resetIterator - Resets the pixel iterator
    • ImagickPixelIterator::setIteratorFirstRow - Sets the pixel iterator to the first pixel row
    • ImagickPixelIterator::setIteratorLastRow - Sets the pixel iterator to the last pixel row
    • ImagickPixelIterator::setIteratorRow - Set the pixel iterator row
    • ImagickPixelIterator::syncIterator - Syncs the pixel iterator
    • ImagickPixelIterator::__construct - The ImagickPixelIterator constructor
    • imap_8bit - Convert an 8bit string to a quoted-printable string
    • imap_alerts - Returns all IMAP alert messages that have occurred
    • imap_append - Append a string message to a specified mailbox
    • imap_base64 - Decode BASE64 encoded text
    • imap_binary - Convert an 8bit string to a base64 string
    • imap_body - Read the message body
    • imap_bodystruct - Read the structure of a specified body section of a specific message
    • imap_check - Check current mailbox
    • imap_clearflag_full - Clears flags on messages
    • imap_close - Close an IMAP stream
    • imap_create - Sinônimo de imap_createmailbox
    • imap_createmailbox - Create a new mailbox
    • imap_delete - Mark a message for deletion from current mailbox
    • imap_deletemailbox - Delete a mailbox
    • imap_errors - Returns all of the IMAP errors that have occurred
    • imap_expunge - Delete all messages marked for deletion
    • imap_fetchbody - Fetch a particular section of the body of the message
    • imap_fetchheader - Returns header for a message
    • imap_fetchmime - Fetch MIME headers for a particular section of the message
    • imap_fetchstructure - Read the structure of a particular message
    • imap_fetchtext - Sinônimo de imap_body
    • imap_fetch_overview - Read an overview of the information in the headers of the given message
    • imap_gc - Clears IMAP cache
    • imap_getacl - Gets the ACL for a given mailbox
    • imap_getmailboxes - Read the list of mailboxes, returning detailed information on each one
    • imap_getsubscribed - List all the subscribed mailboxes
    • imap_get_quota - Retrieve the quota level settings, and usage statics per mailbox
    • imap_get_quotaroot - Retrieve the quota settings per user
    • imap_header - Sinônimo de imap_headerinfo
    • imap_headerinfo - Read the header of the message
    • imap_headers - Returns headers for all messages in a mailbox
    • imap_last_error - Gets the last IMAP error that occurred during this page request
    • imap_list - Read the list of mailboxes
    • imap_listmailbox - Sinônimo de imap_list
    • imap_listscan - Returns the list of mailboxes that matches the given text
    • imap_listsubscribed - Sinônimo de imap_lsub
    • imap_lsub - List all the subscribed mailboxes
    • imap_mail - Send an email message
    • imap_mailboxmsginfo - Get information about the current mailbox
    • imap_mail_compose - Create a MIME message based on given envelope and body sections
    • imap_mail_copy - Copy specified messages to a mailbox
    • imap_mail_move - Move specified messages to a mailbox
    • imap_mime_header_decode - Decode MIME header elements
    • imap_msgno - Gets the message sequence number for the given UID
    • imap_mutf7_to_utf8 - Decode a modified UTF-7 string to UTF-8
    • imap_num_msg - Gets the number of messages in the current mailbox
    • imap_num_recent - Gets the number of recent messages in current mailbox
    • imap_open - Open an IMAP stream to a mailbox
    • imap_ping - Check if the IMAP stream is still active
    • imap_qprint - Convert a quoted-printable string to an 8 bit string
    • imap_rename - Sinônimo de imap_renamemailbox
    • imap_renamemailbox - Rename an old mailbox to new mailbox
    • imap_reopen - Reopen IMAP stream to new mailbox
    • imap_rfc822_parse_adrlist - Parses an address string
    • imap_rfc822_parse_headers - Parse mail headers from a string
    • imap_rfc822_write_address - Returns a properly formatted email address given the mailbox, host, and personal info
    • imap_savebody - Save a specific body section to a file
    • imap_scan - Sinônimo de imap_listscan
    • imap_scanmailbox - Sinônimo de imap_listscan
    • imap_search - This function returns an array of messages matching the given search criteria
    • imap_setacl - Sets the ACL for a given mailbox
    • imap_setflag_full - Sets flags on messages
    • imap_set_quota - Sets a quota for a given mailbox
    • imap_sort - Gets and sort messages
    • imap_status - Returns status information on a mailbox
    • imap_subscribe - Subscribe to a mailbox
    • imap_thread - Returns a tree of threaded message
    • imap_timeout - Set or fetch imap timeout
    • imap_uid - This function returns the UID for the given message sequence number
    • imap_undelete - Unmark the message which is marked deleted
    • imap_unsubscribe - Unsubscribe from a mailbox
    • imap_utf7_decode - Decodes a modified UTF-7 encoded string
    • imap_utf7_encode - Converts ISO-8859-1 string to modified UTF-7 text
    • imap_utf8 - Converts MIME-encoded text to UTF-8
    • imap_utf8_to_mutf7 - Encode a UTF-8 string to modified UTF-7
    • implode - Junta elementos de uma matriz em uma string
    • inet_ntop - Converts a packed internet address to a human readable representation
    • inet_pton - Converts a human readable IP address to its packed in_addr representation
    • InfiniteIterator::next - Moves the inner Iterator forward or rewinds it
    • InfiniteIterator::__construct - Constructs an InfiniteIterator
    • inflate_add - Incrementally inflate encoded data
    • inflate_get_read_len - Get number of bytes read so far
    • inflate_get_status - Get decompression status
    • inflate_init - Initialize an incremental inflate context
    • ingres_autocommit - Switch autocommit on or off
    • ingres_autocommit_state - Test if the connection is using autocommit
    • ingres_charset - Returns the installation character set
    • ingres_close - Close an Ingres database connection
    • ingres_commit - Commit a transaction
    • ingres_connect - Open a connection to an Ingres database
    • ingres_cursor - Get a cursor name for a given result resource
    • ingres_errno - Get the last Ingres error number generated
    • ingres_error - Get a meaningful error message for the last error generated
    • ingres_errsqlstate - Get the last SQLSTATE error code generated
    • ingres_escape_string - Escape special characters for use in a query
    • ingres_execute - Execute a prepared query
    • ingres_fetch_array - Fetch a row of result into an array
    • ingres_fetch_assoc - Fetch a row of result into an associative array
    • ingres_fetch_object - Fetch a row of result into an object
    • ingres_fetch_proc_return - Get the return value from a procedure call
    • ingres_fetch_row - Fetch a row of result into an enumerated array
    • ingres_field_length - Get the length of a field
    • ingres_field_name - Get the name of a field in a query result
    • ingres_field_nullable - Test if a field is nullable
    • ingres_field_precision - Get the precision of a field
    • ingres_field_scale - Get the scale of a field
    • ingres_field_type - Get the type of a field in a query result
    • ingres_free_result - Free the resources associated with a result identifier
    • ingres_next_error - Get the next Ingres error
    • ingres_num_fields - Get the number of fields returned by the last query
    • ingres_num_rows - Get the number of rows affected or returned by a query
    • ingres_pconnect - Open a persistent connection to an Ingres database
    • ingres_prepare - Prepare a query for later execution
    • ingres_query - Send an SQL query to Ingres
    • ingres_result_seek - Set the row position before fetching data
    • ingres_rollback - Roll back a transaction
    • ingres_set_environment - Set environment features controlling output options
    • ingres_unbuffered_query - Send an unbuffered SQL query to Ingres
    • ini_alter - Sinônimo de ini_set
    • ini_get - Obtém o valor de uma opção de configuração
    • ini_get_all - Obtém todas as opções de configuração
    • ini_restore - Restaura o valor de uma opção de configuração
    • ini_set - Define o valor de uma opção de configuração
    • inotify_add_watch - Add a watch to an initialized inotify instance
    • inotify_init - Initialize an inotify instance
    • inotify_queue_len - Return a number upper than zero if there are pending events
    • inotify_read - Read events from an inotify instance
    • inotify_rm_watch - Remove an existing watch from an inotify instance
    • intdiv - Dividir números inteiros
    • interface_exists - Checa se a interface foi definida
    • IntlBreakIterator::createCharacterInstance - Create break iterator for boundaries of combining character sequences
    • IntlBreakIterator::createCodePointInstance - Create break iterator for boundaries of code points
    • IntlBreakIterator::createLineInstance - Create break iterator for logically possible line breaks
    • IntlBreakIterator::createSentenceInstance - Create break iterator for sentence breaks
    • IntlBreakIterator::createTitleInstance - Create break iterator for title-casing breaks
    • IntlBreakIterator::createWordInstance - Create break iterator for word breaks
    • IntlBreakIterator::current - Get index of current position
    • IntlBreakIterator::first - Set position to the first character in the text
    • IntlBreakIterator::following - Advance the iterator to the first boundary following specified offset
    • IntlBreakIterator::getErrorCode - Get last error code on the object
    • IntlBreakIterator::getErrorMessage - Get last error message on the object
    • IntlBreakIterator::getLocale - Get the locale associated with the object
    • IntlBreakIterator::getPartsIterator - Create iterator for navigating fragments between boundaries
    • IntlBreakIterator::getText - Get the text being scanned
    • IntlBreakIterator::isBoundary - Tell whether an offset is a boundary's offset
    • IntlBreakIterator::last - Set the iterator position to index beyond the last character
    • IntlBreakIterator::next - Advance the iterator the next boundary
    • IntlBreakIterator::preceding - Set the iterator position to the first boundary before an offset
    • IntlBreakIterator::previous - Set the iterator position to the boundary immediately before the current
    • IntlBreakIterator::setText - Set the text being scanned
    • IntlBreakIterator::__construct - Private constructor for disallowing instantiation
    • IntlCalendar::add - Add a (signed) amount of time to a field
    • IntlCalendar::after - Whether this object's time is after that of the passed object
    • IntlCalendar::before - Whether this object's time is before that of the passed object
    • IntlCalendar::clear - Clear a field or all fields
    • IntlCalendar::createInstance - Create a new IntlCalendar
    • IntlCalendar::equals - Compare time of two IntlCalendar objects for equality
    • IntlCalendar::fieldDifference - Calculate difference between given time and this object's time
    • IntlCalendar::fromDateTime - Create an IntlCalendar from a DateTime object or string
    • IntlCalendar::get - Get the value for a field
    • IntlCalendar::getActualMaximum - The maximum value for a field, considering the object's current time
    • IntlCalendar::getActualMinimum - The minimum value for a field, considering the object's current time
    • IntlCalendar::getAvailableLocales - Get array of locales for which there is data
    • IntlCalendar::getDayOfWeekType - Tell whether a day is a weekday, weekend or a day that has a transition between the two
    • IntlCalendar::getErrorCode - Get last error code on the object
    • IntlCalendar::getErrorMessage - Get last error message on the object
    • IntlCalendar::getFirstDayOfWeek - Get the first day of the week for the calendar's locale
    • IntlCalendar::getGreatestMinimum - Get the largest local minimum value for a field
    • IntlCalendar::getKeywordValuesForLocale - Get set of locale keyword values
    • IntlCalendar::getLeastMaximum - Get the smallest local maximum for a field
    • IntlCalendar::getLocale - Get the locale associated with the object
    • IntlCalendar::getMaximum - Get the global maximum value for a field
    • IntlCalendar::getMinimalDaysInFirstWeek - Get minimal number of days the first week in a year or month can have
    • IntlCalendar::getMinimum - Get the global minimum value for a field
    • IntlCalendar::getNow - Get number representing the current time
    • IntlCalendar::getRepeatedWallTimeOption - Get behavior for handling repeating wall time
    • IntlCalendar::getSkippedWallTimeOption - Get behavior for handling skipped wall time
    • IntlCalendar::getTime - Get time currently represented by the object
    • IntlCalendar::getTimeZone - Get the object's timezone
    • IntlCalendar::getType - Get the calendar type
    • IntlCalendar::getWeekendTransition - Get time of the day at which weekend begins or ends
    • IntlCalendar::inDaylightTime - Whether the object's time is in Daylight Savings Time
    • IntlCalendar::isEquivalentTo - Whether another calendar is equal but for a different time
    • IntlCalendar::isLenient - Whether date/time interpretation is in lenient mode
    • IntlCalendar::isSet - Whether a field is set
    • IntlCalendar::isWeekend - Whether a certain date/time is in the weekend
    • IntlCalendar::roll - Add value to field without carrying into more significant fields
    • IntlCalendar::set - Set a time field or several common fields at once
    • IntlCalendar::setFirstDayOfWeek - Set the day on which the week is deemed to start
    • IntlCalendar::setLenient - Set whether date/time interpretation is to be lenient
    • IntlCalendar::setMinimalDaysInFirstWeek - Set minimal number of days the first week in a year or month can have
    • IntlCalendar::setRepeatedWallTimeOption - Set behavior for handling repeating wall times at negative timezone offset transitions
    • IntlCalendar::setSkippedWallTimeOption - Set behavior for handling skipped wall times at positive timezone offset transitions
    • IntlCalendar::setTime - Set the calendar time in milliseconds since the epoch
    • IntlCalendar::setTimeZone - Set the timezone used by this calendar
    • IntlCalendar::toDateTime - Convert an IntlCalendar into a DateTime object
    • IntlCalendar::__construct - Private constructor for disallowing instantiation
    • IntlChar::charAge - Get the "age" of the code point
    • IntlChar::charDigitValue - Get the decimal digit value of a decimal digit character
    • IntlChar::charDirection - Get bidirectional category value for a code point
    • IntlChar::charFromName - Find Unicode character by name and return its code point value
    • IntlChar::charMirror - Get the "mirror-image" character for a code point
    • IntlChar::charName - Retrieve the name of a Unicode character
    • IntlChar::charType - Get the general category value for a code point
    • IntlChar::chr - Return Unicode character by code point value
    • IntlChar::digit - Get the decimal digit value of a code point for a given radix
    • IntlChar::enumCharNames - Enumerate all assigned Unicode characters within a range
    • IntlChar::enumCharTypes - Enumerate all code points with their Unicode general categories
    • IntlChar::foldCase - Perform case folding on a code point
    • IntlChar::forDigit - Get character representation for a given digit and radix
    • IntlChar::getBidiPairedBracket - Get the paired bracket character for a code point
    • IntlChar::getBlockCode - Get the Unicode allocation block containing a code point
    • IntlChar::getCombiningClass - Get the combining class of a code point
    • IntlChar::getFC_NFKC_Closure - Get the FC_NFKC_Closure property for a code point
    • IntlChar::getIntPropertyMaxValue - Get the max value for a Unicode property
    • IntlChar::getIntPropertyMinValue - Get the min value for a Unicode property
    • IntlChar::getIntPropertyValue - Get the value for a Unicode property for a code point
    • IntlChar::getNumericValue - Get the numeric value for a Unicode code point
    • IntlChar::getPropertyEnum - Get the property constant value for a given property name
    • IntlChar::getPropertyName - Get the Unicode name for a property
    • IntlChar::getPropertyValueEnum - Get the property value for a given value name
    • IntlChar::getPropertyValueName - Get the Unicode name for a property value
    • IntlChar::getUnicodeVersion - Get the Unicode version
    • IntlChar::hasBinaryProperty - Check a binary Unicode property for a code point
    • IntlChar::isalnum - Check if code point is an alphanumeric character
    • IntlChar::isalpha - Check if code point is a letter character
    • IntlChar::isbase - Check if code point is a base character
    • IntlChar::isblank - Check if code point is a "blank" or "horizontal space" character
    • IntlChar::iscntrl - Check if code point is a control character
    • IntlChar::isdefined - Check whether the code point is defined
    • IntlChar::isdigit - Check if code point is a digit character
    • IntlChar::isgraph - Check if code point is a graphic character
    • IntlChar::isIDIgnorable - Check if code point is an ignorable character
    • IntlChar::isIDPart - Check if code point is permissible in an identifier
    • IntlChar::isIDStart - Check if code point is permissible as the first character in an identifier
    • IntlChar::isISOControl - Check if code point is an ISO control code
    • IntlChar::isJavaIDPart - Check if code point is permissible in a Java identifier
    • IntlChar::isJavaIDStart - Check if code point is permissible as the first character in a Java identifier
    • IntlChar::isJavaSpaceChar - Check if code point is a space character according to Java
    • IntlChar::islower - Check if code point is a lowercase letter
    • IntlChar::isMirrored - Check if code point has the Bidi_Mirrored property
    • IntlChar::isprint - Check if code point is a printable character
    • IntlChar::ispunct - Check if code point is punctuation character
    • IntlChar::isspace - Check if code point is a space character
    • IntlChar::istitle - Check if code point is a titlecase letter
    • IntlChar::isUAlphabetic - Check if code point has the Alphabetic Unicode property
    • IntlChar::isULowercase - Check if code point has the Lowercase Unicode property
    • IntlChar::isupper - Check if code point has the general category "Lu" (uppercase letter)
    • IntlChar::isUUppercase - Check if code point has the Uppercase Unicode property
    • IntlChar::isUWhiteSpace - Check if code point has the White_Space Unicode property
    • IntlChar::isWhitespace - Check if code point is a whitespace character according to ICU
    • IntlChar::isxdigit - Check if code point is a hexadecimal digit
    • IntlChar::ord - Return Unicode code point value of character
    • IntlChar::tolower - Make Unicode character lowercase
    • IntlChar::totitle - Make Unicode character titlecase
    • IntlChar::toupper - Make Unicode character uppercase
    • IntlCodePointBreakIterator::getLastCodePoint - Obtém o último code point passado após avançar ou retroceder o iterador
    • IntlDateFormatter::create - Create a date formatter
    • IntlDateFormatter::format - Format the date/time value as a string
    • IntlDateFormatter::formatObject - Formats an object
    • IntlDateFormatter::getCalendar - Get the calendar type used for the IntlDateFormatter
    • IntlDateFormatter::getCalendarObject - Get copy of formatter's calendar object
    • IntlDateFormatter::getDateType - Get the datetype used for the IntlDateFormatter
    • IntlDateFormatter::getErrorCode - Get the error code from last operation
    • IntlDateFormatter::getErrorMessage - Get the error text from the last operation
    • IntlDateFormatter::getLocale - Get the locale used by formatter
    • IntlDateFormatter::getPattern - Get the pattern used for the IntlDateFormatter
    • IntlDateFormatter::getTimeType - Get the timetype used for the IntlDateFormatter
    • IntlDateFormatter::getTimeZone - Get formatter's timezone
    • IntlDateFormatter::getTimeZoneId - Get the timezone-id used for the IntlDateFormatter
    • IntlDateFormatter::isLenient - Get the lenient used for the IntlDateFormatter
    • IntlDateFormatter::localtime - Parse string to a field-based time value
    • IntlDateFormatter::parse - Parse string to a timestamp value
    • IntlDateFormatter::setCalendar - Sets the calendar type used by the formatter
    • IntlDateFormatter::setLenient - Set the leniency of the parser
    • IntlDateFormatter::setPattern - Set the pattern used for the IntlDateFormatter
    • IntlDateFormatter::setTimeZone - Sets formatter's timezone
    • IntlGregorianCalendar::getGregorianChange - Get the Gregorian Calendar change date
    • IntlGregorianCalendar::isLeapYear - Determine if the given year is a leap year
    • IntlGregorianCalendar::setGregorianChange - Set the Gregorian Calendar the change date
    • IntlGregorianCalendar::__construct - Create the Gregorian Calendar class
    • IntlIterator::current - Retorna o elemento atual
    • IntlIterator::key - Retorna a chave do elemento atual
    • IntlIterator::next - Avança para o próximo elemento
    • IntlIterator::rewind - Rebobina o iterador para o primeiro elemento
    • IntlIterator::valid - Verifica se a posição atual é válida
    • IntlPartsIterator::getBreakIterator - Obtém o IntlBreakIterator que é utilizado pelo iterador
    • IntlRuleBasedBreakIterator::getBinaryRules - Get the binary form of compiled rules
    • IntlRuleBasedBreakIterator::getRules - Get the rule set used to create this object
    • IntlRuleBasedBreakIterator::getRuleStatus - Get the largest status value from the break rules that determined the current break position
    • IntlRuleBasedBreakIterator::getRuleStatusVec - Get the status values from the break rules that determined the current break position
    • IntlRuleBasedBreakIterator::__construct - Create iterator from ruleset
    • IntlTimeZone::countEquivalentIDs - Get the number of IDs in the equivalency group that includes the given ID
    • IntlTimeZone::createDefault - Create a new copy of the default timezone for this host
    • IntlTimeZone::createEnumeration - Get an enumeration over time zone IDs associated with the given country or offset
    • IntlTimeZone::createTimeZone - Create a timezone object for the given ID
    • IntlTimeZone::createTimeZoneIDEnumeration - Get an enumeration over system time zone IDs with the given filter conditions
    • IntlTimeZone::fromDateTimeZone - Create a timezone object from DateTimeZone
    • IntlTimeZone::getCanonicalID - Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
    • IntlTimeZone::getDisplayName - Get a name of this time zone suitable for presentation to the user
    • IntlTimeZone::getDSTSavings - Get the amount of time to be added to local standard time to get local wall clock time
    • IntlTimeZone::getEquivalentID - Get an ID in the equivalency group that includes the given ID
    • IntlTimeZone::getErrorCode - Get last error code on the object
    • IntlTimeZone::getErrorMessage - Get last error message on the object
    • IntlTimeZone::getGMT - Create GMT (UTC) timezone
    • IntlTimeZone::getID - Get timezone ID
    • IntlTimeZone::getIDForWindowsID - Translate a Windows timezone into a system timezone
    • IntlTimeZone::getOffset - Get the time zone raw and GMT offset for the given moment in time
    • IntlTimeZone::getRawOffset - Get the raw GMT offset (before taking daylight savings time into account
    • IntlTimeZone::getRegion - Get the region code associated with the given system time zone ID
    • IntlTimeZone::getTZDataVersion - Get the timezone data version currently used by ICU
    • IntlTimeZone::getUnknown - Get the "unknown" time zone
    • IntlTimeZone::getWindowsID - Translate a system timezone into a Windows timezone
    • IntlTimeZone::hasSameRules - Check if this zone has the same rules and offset as another zone
    • IntlTimeZone::toDateTimeZone - Convert to DateTimeZone object
    • IntlTimeZone::useDaylightTime - Check if this time zone uses daylight savings time
    • intl_error_name - Get symbolic name for a given error code
    • intl_get_error_code - Get the last error code
    • intl_get_error_message - Get description of the last error
    • intl_is_failure - Check whether the given error code indicates failure
    • intval - Retorna o valor inteiro da variável
    • in_array - Checa se um valor existe em um array
    • ip2long - Converts a string containing an (IPv4) Internet Protocol dotted address into a long integer
    • iptcembed - Embute dados binários IPTC em uma imagem JPEG
    • iptcparse - Analisa um bloco binário IPTC em tags simples.
    • isset - Informa se a variável foi iniciada
    • is_a - Verifica se o objeto é de uma classe ou de sua classe pai
    • is_array - Verifica se a variável é um array
    • is_bool - Verifica se a variável é um boleano
    • is_callable - Verifica se o conteúdo da variável pode ser chamado como função
    • is_countable - Verify that the contents of a variable is a countable value
    • is_dir - Diz se o caminho é um diretório
    • is_double - Sinônimo de is_float
    • is_executable - Diz se um arquivo é executável
    • is_file - Informa se o arquivo é um arquivo comum
    • is_finite - Verifica se um valor é um número finito
    • is_float - Informa se a variável é do tipo float
    • is_infinite - Descrição
    • is_int - Informa se a variável é do tipo inteiro
    • is_integer - Sinônimo de is_int
    • is_iterable - Verify that the contents of a variable is an iterable value
    • is_link - Diz se o arquivo é um link simbólico (symbolic link)
    • is_long - Sinônimo de is_int
    • is_nan - Verifica se um valor não é um número
    • is_null - Informa se a variável é null
    • is_numeric - Informa se a variável é um número ou uma string numérica
    • is_object - Informa se a variável é um objeto
    • is_readable - Diz se o arquivo existe e se ele pode ser lido
    • is_real - Sinônimo de is_float
    • is_resource - Informa se a variável é um resource
    • is_scalar - Informa se é uma váriavel escalar
    • is_soap_fault - Checks if a SOAP call has failed
    • is_string - Informa se a variável é do tipo string
    • is_subclass_of - Verifica se o objeto tem esta classe como uma de suas classes pai
    • is_tainted - Checks whether a string is tainted
    • is_uploaded_file - Diz se o arquivo foi enviado por POST HTTP
    • is_writable - Diz se o arquivo pode ser modificado
    • is_writeable - Sinônimo de is_writable
    • Iterator::current - Return the current element
    • Iterator::key - Return the key of the current element
    • Iterator::next - Move forward to next element
    • Iterator::rewind - Rewind the Iterator to the first element
    • Iterator::valid - Checks if current position is valid
    • IteratorAggregate::getIterator - Recupera um iterator externo
    • IteratorIterator::current - Get the current value
    • IteratorIterator::getInnerIterator - Get the inner iterator
    • IteratorIterator::key - Get the key of the current element
    • IteratorIterator::next - Forward to the next element
    • IteratorIterator::rewind - Rewind to the first element
    • IteratorIterator::valid - Checks if the iterator is valid
    • IteratorIterator::__construct - Create an iterator from anything that is traversable
    • iterator_apply - Call a function for every element in an iterator
    • iterator_count - Conta o número de elementos do iterador
    • iterator_to_array - Copia o iterador em um array
  • j
    • JDDayOfWeek - Retorna o dia da semana
    • JDMonthName - Retorna o nome de um mês
    • JDToFrench - Converte do calendário "Julian Day Count" para o calendário Republicano Francês
    • JDToGregorian - Converte uma data no formato "Julian Day Count" para o formato Gregoriano
    • jdtojewish - Convete uma data do calendário "Julian Day Count" para o calendário Judaico
    • JDToJulian - Converte uma data do calendário "Julian Day Count" para o calendário "Julian"
    • jdtounix - Converte do formato de dada Juliana para Unix timestamp
    • JewishToJD - Converte uma data do calendário Judaico para o calendário "Julian Day Count"
    • join - Sinônimo de implode
    • jpeg2wbmp - Converte um arquivo de imagem JPEG para um arquivo de imagem WBMP
    • JsonSerializable::jsonSerialize - Specify data which should be serialized to JSON
    • json_decode - Decodifica uma string JSON
    • json_encode - Retorna a representação JSON de um valor
    • json_last_error - Retorna o último erro ocorrido
    • json_last_error_msg - Retorna uma string contento a mensagem de erro da ultima chamada de json_encode() ou json_decode()
    • JulianToJD - Converte datas no formato "Julian" para o formato "Julian Day Count"
  • k
    • key - Retorna uma chave de um array
    • key_exists - Sinônimo de array_key_exists
    • krsort - Ordena um array pelas chaves em ordem descrescente
    • ksort - Ordena um array pelas chaves
  • l
    • lcfirst - Torna minúsculo o primeiro caractere de uma string
    • lcg_value - Gerador congruente linear combinado
    • lchgrp - Modifica o grupo do link simbólico
    • lchown - Modifica o proprietário do link simbólico
    • ldap_8859_to_t61 - Translate 8859 characters to t61 characters
    • ldap_add - Add entries to LDAP directory
    • ldap_add_ext - Add entries to LDAP directory
    • ldap_bind - Bind to LDAP directory
    • ldap_bind_ext - Bind to LDAP directory
    • ldap_close - Sinônimo de ldap_unbind
    • ldap_compare - Compare value of attribute found in entry specified with DN
    • ldap_connect - Connect to an LDAP server
    • ldap_control_paged_result - Send LDAP pagination control
    • ldap_control_paged_result_response - Retrieve the LDAP pagination cookie
    • ldap_count_entries - Count the number of entries in a search
    • ldap_delete - Delete an entry from a directory
    • ldap_delete_ext - Delete an entry from a directory
    • ldap_dn2ufn - Convert DN to User Friendly Naming format
    • ldap_err2str - Convert LDAP error number into string error message
    • ldap_errno - Return the LDAP error number of the last LDAP command
    • ldap_error - Return the LDAP error message of the last LDAP command
    • ldap_escape - Escape a string for use in an LDAP filter or DN
    • ldap_exop - Performs an extended operation
    • ldap_exop_passwd - PASSWD extended operation helper
    • ldap_exop_refresh - Refresh extended operation helper
    • ldap_exop_whoami - WHOAMI extended operation helper
    • ldap_explode_dn - Splits DN into its component parts
    • ldap_first_attribute - Return first attribute
    • ldap_first_entry - Return first result id
    • ldap_first_reference - Return first reference
    • ldap_free_result - Free result memory
    • ldap_get_attributes - Get attributes from a search result entry
    • ldap_get_dn - Get the DN of a result entry
    • ldap_get_entries - Get all result entries
    • ldap_get_option - Get the current value for given option
    • ldap_get_values - Get all values from a result entry
    • ldap_get_values_len - Get all binary values from a result entry
    • ldap_list - Single-level search
    • ldap_modify - Sinônimo de ldap_mod_replace
    • ldap_modify_batch - Batch and execute modifications on an LDAP entry
    • ldap_mod_add - Add attribute values to current attributes
    • ldap_mod_add_ext - Add attribute values to current attributes
    • ldap_mod_del - Delete attribute values from current attributes
    • ldap_mod_del_ext - Delete attribute values from current attributes
    • ldap_mod_replace - Replace attribute values with new ones
    • ldap_mod_replace_ext - Replace attribute values with new ones
    • ldap_next_attribute - Get the next attribute in result
    • ldap_next_entry - Get next result entry
    • ldap_next_reference - Get next reference
    • ldap_parse_exop - Parse result object from an LDAP extended operation
    • ldap_parse_reference - Extract information from reference entry
    • ldap_parse_result - Extract information from result
    • ldap_read - Read an entry
    • ldap_rename - Modify the name of an entry
    • ldap_rename_ext - Modify the name of an entry
    • ldap_sasl_bind - Bind to LDAP directory using SASL
    • ldap_search - Search LDAP tree
    • ldap_set_option - Set the value of the given option
    • ldap_set_rebind_proc - Set a callback function to do re-binds on referral chasing
    • ldap_sort - Sort LDAP result entries on the client side
    • ldap_start_tls - Start TLS
    • ldap_t61_to_8859 - Translate t61 characters to 8859 characters
    • ldap_unbind - Unbind from LDAP directory
    • levenshtein - Calcula a distância Levenshtein entre duas strings
    • libxml_clear_errors - Limpa o buffer de erro da libxml
    • libxml_disable_entity_loader - Disable the ability to load external entities
    • libxml_get_errors - Retorna um array de erros
    • libxml_get_last_error - Retorna o último erro da libxml
    • libxml_set_external_entity_loader - Changes the default external entity loader
    • libxml_set_streams_context - Define os contextos streams para o próximo documento carregado ou escrito na libxml
    • libxml_use_internal_errors - Desabilita erros da libxml e permite que o usuário obtenha informação do erro como necessitar
    • LimitIterator::current - Get current element
    • LimitIterator::getInnerIterator - Get inner iterator
    • LimitIterator::getPosition - Retorna a posição atual
    • LimitIterator::key - Get current key
    • LimitIterator::next - Avança o iterador
    • LimitIterator::rewind - Retorna o iterador para o começo especificado no construtor
    • LimitIterator::seek - Aponta para a posição especificada
    • LimitIterator::valid - Verifica se o elemento atual é válido ou não
    • LimitIterator::__construct - Construct a LimitIterator
    • link - Criando um hard link
    • linkinfo - Ler informações sobre um link
    • list - Cria variáveis como se fossem arrays
    • Locale::acceptFromHttp - Tries to find out best available locale based on HTTP "Accept-Language" header
    • Locale::canonicalize - Canonicalize the locale string
    • Locale::composeLocale - Returns a correctly ordered and delimited locale ID
    • Locale::filterMatches - Checks if a language tag filter matches with locale
    • Locale::getAllVariants - Gets the variants for the input locale
    • Locale::getDefault - Gets the default locale value from the INTL global 'default_locale'
    • Locale::getDisplayLanguage - Returns an appropriately localized display name for language of the inputlocale
    • Locale::getDisplayName - Returns an appropriately localized display name for the input locale
    • Locale::getDisplayRegion - Returns an appropriately localized display name for region of the input locale
    • Locale::getDisplayScript - Returns an appropriately localized display name for script of the input locale
    • Locale::getDisplayVariant - Returns an appropriately localized display name for variants of the input locale
    • Locale::getKeywords - Gets the keywords for the input locale
    • Locale::getPrimaryLanguage - Gets the primary language for the input locale
    • Locale::getRegion - Gets the region for the input locale
    • Locale::getScript - Gets the script for the input locale
    • Locale::lookup - Searches the language tag list for the best match to the language
    • Locale::parseLocale - Returns a key-value array of locale ID subtag elements
    • Locale::setDefault - Sets the default runtime locale
    • localeconv - Obtém a informação da formatação numérica
    • localtime - Obtém a hora local
    • log - Logaritmo natural
    • log1p - Retorna o log(1 + numero), calculado de forma que o valor do número seja próximo de zero.
    • log10 - Logaritmo Base-10
    • log_cmd_delete - Callback When Deleting Documents
    • log_cmd_insert - Callback When Inserting Documents
    • log_cmd_update - Callback When Updating Documents
    • log_getmore - Callback When Retrieving Next Cursor Batch
    • log_killcursor - Callback When Executing KILLCURSOR operations
    • log_reply - Callback When Reading the MongoDB reply
    • log_write_batch - Callback When Writing Batches
    • long2ip - Converts an long integer address into a string in (IPv4) Internet standard dotted format
    • lstat - Obtém informações sobre um arquivo ou link simbólico
    • ltrim - Retira espaços em branco (ou outros caracteres) do início da string
    • Lua::assign - Atribui uma variável PHP para o script Lua
    • Lua::call - Executa funções Lua
    • Lua::eval - Avalia uma string como código Lua
    • Lua::getVersion - Obtém a versão do interpretador Lua
    • Lua::include - Inclui e interpreta um arquivo de script Lua
    • Lua::registerCallback - Registra uma função PHP no interpretador Lua
    • Lua::__construct - Construtor Lua
    • LuaClosure::__invoke - Invoca uma closure lua
    • LuaSandbox::callFunction - Call a function in a Lua global variable
    • LuaSandbox::disableProfiler - Disable the profiler
    • LuaSandbox::enableProfiler - Enable the profiler.
    • LuaSandbox::getCPUUsage - Fetch the current CPU time usage of the Lua environment
    • LuaSandbox::getMemoryUsage - Fetch the current memory usage of the Lua environment
    • LuaSandbox::getPeakMemoryUsage - Fetch the peak memory usage of the Lua environment
    • LuaSandbox::getProfilerFunctionReport - Fetch profiler data
    • LuaSandbox::getVersionInfo - Return the versions of LuaSandbox and Lua
    • LuaSandbox::loadBinary - Load a precompiled binary chunk into the Lua environment
    • LuaSandbox::loadString - Load Lua code into the Lua environment
    • LuaSandbox::pauseUsageTimer - Pause the CPU usage timer
    • LuaSandbox::registerLibrary - Register a set of PHP functions as a Lua library
    • LuaSandbox::setCPULimit - Set the CPU time limit for the Lua environment
    • LuaSandbox::setMemoryLimit - Set the memory limit for the Lua environment
    • LuaSandbox::unpauseUsageTimer - Unpause the timer paused by LuaSandbox::pauseUsageTimer
    • LuaSandbox::wrapPhpFunction - Wrap a PHP callable in a LuaSandboxFunction
    • LuaSandboxFunction::call - Call a Lua function
    • LuaSandboxFunction::dump - Dump the function as a binary blob
    • LuaSandboxFunction::__construct - Unused
    • lzf_compress - Compressão LZF
    • lzf_decompress - Descompressão LZF
    • lzf_optimized_for - Determina para que a extensão LZF foi otimizada
  • m
    • mail - Envia email
    • mailparse_determine_best_xfer_encoding - Gets the best way of encoding
    • mailparse_msg_create - Create a mime mail resource
    • mailparse_msg_extract_part - Extracts/decodes a message section
    • mailparse_msg_extract_part_file - Extracts/decodes a message section
    • mailparse_msg_extract_whole_part_file - Extracts a message section including headers without decoding the transfer encoding
    • mailparse_msg_free - Frees a MIME resource
    • mailparse_msg_get_part - Returns a handle on a given section in a mimemessage
    • mailparse_msg_get_part_data - Returns an associative array of info about the message
    • mailparse_msg_get_structure - Returns an array of mime section names in the supplied message
    • mailparse_msg_parse - Incrementally parse data into buffer
    • mailparse_msg_parse_file - Parses a file
    • mailparse_rfc822_parse_addresses - Parse RFC 822 compliant addresses
    • mailparse_stream_encode - Streams data from source file pointer, apply encoding and write to destfp
    • mailparse_uudecode_all - Scans the data from fp and extract each embedded uuencoded file
    • main - Marcador para main
    • max - Localiza o maior valor
    • mb_check_encoding - Check if strings are valid for the specified encoding
    • mb_chr - Get a specific character
    • mb_convert_case - Perform case folding on a string
    • mb_convert_encoding - Convert character encoding
    • mb_convert_kana - Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
    • mb_convert_variables - Convert character code in variable(s)
    • mb_decode_mimeheader - Decode string in MIME header field
    • mb_decode_numericentity - Decode HTML numeric string reference to character
    • mb_detect_encoding - Detect character encoding
    • mb_detect_order - Set/Get character encoding detection order
    • mb_encode_mimeheader - Encode string for MIME header
    • mb_encode_numericentity - Encode character to HTML numeric string reference
    • mb_encoding_aliases - Get aliases of a known encoding type
    • mb_ereg - Regular expression match with multibyte support
    • mb_eregi - Regular expression match ignoring case with multibyte support
    • mb_eregi_replace - Replace regular expression with multibyte support ignoring case
    • mb_ereg_match - Regular expression match for multibyte string
    • mb_ereg_replace - Replace regular expression with multibyte support
    • mb_ereg_replace_callback - Perform a regular expression search and replace with multibyte support using a callback
    • mb_ereg_search - Multibyte regular expression match for predefined multibyte string
    • mb_ereg_search_getpos - Returns start point for next regular expression match
    • mb_ereg_search_getregs - Retrieve the result from the last multibyte regular expression match
    • mb_ereg_search_init - Setup string and regular expression for a multibyte regular expression match
    • mb_ereg_search_pos - Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string
    • mb_ereg_search_regs - Returns the matched part of a multibyte regular expression
    • mb_ereg_search_setpos - Set start point of next regular expression match
    • mb_get_info - Get internal settings of mbstring
    • mb_http_input - Detect HTTP input character encoding
    • mb_http_output - Set/Get HTTP output character encoding
    • mb_internal_encoding - Set/Get internal character encoding
    • mb_language - Set/Get current language
    • mb_list_encodings - Returns an array of all supported encodings
    • mb_ord - Get code point of character
    • mb_output_handler - Callback function converts character encoding in output buffer
    • mb_parse_str - Parse GET/POST/COOKIE data and set global variable
    • mb_preferred_mime_name - Get MIME charset string
    • mb_regex_encoding - Set/Get character encoding for multibyte regex
    • mb_regex_set_options - Set/Get the default options for mbregex functions
    • mb_scrub - Description
    • mb_send_mail - Send encoded mail
    • mb_split - Split multibyte string using regular expression
    • mb_strcut - Get part of string
    • mb_strimwidth - Get truncated string with specified width
    • mb_stripos - Finds position of first occurrence of a string within another, case insensitive
    • mb_stristr - Finds first occurrence of a string within another, case insensitive
    • mb_strlen - Get string length
    • mb_strpos - Find position of first occurrence of string in a string
    • mb_strrchr - Finds the last occurrence of a character in a string within another
    • mb_strrichr - Finds the last occurrence of a character in a string within another, case insensitive
    • mb_strripos - Finds position of last occurrence of a string within another, case insensitive
    • mb_strrpos - Find position of last occurrence of a string in a string
    • mb_strstr - Finds first occurrence of a string within another
    • mb_strtolower - Torna uma string minúscula
    • mb_strtoupper - Make a string uppercase
    • mb_strwidth - Return width of string
    • mb_str_split - Given a multibyte string, return an array of its characters
    • mb_substitute_character - Set/Get substitution character
    • mb_substr - Get part of string
    • mb_substr_count - Count the number of substring occurrences
    • mcrypt_cbc - Encrypts/decrypts data in CBC mode
    • mcrypt_cfb - Encrypts/decrypts data in CFB mode
    • mcrypt_create_iv - Creates an initialization vector (IV) from a random source
    • mcrypt_decrypt - Decrypts crypttext with given parameters
    • mcrypt_ecb - Deprecated: Encrypts/decrypts data in ECB mode
    • mcrypt_encrypt - Encrypts plaintext with given parameters
    • mcrypt_enc_get_algorithms_name - Returns the name of the opened algorithm
    • mcrypt_enc_get_block_size - Returns the blocksize of the opened algorithm
    • mcrypt_enc_get_iv_size - Returns the size of the IV of the opened algorithm
    • mcrypt_enc_get_key_size - Returns the maximum supported keysize of the opened mode
    • mcrypt_enc_get_modes_name - Returns the name of the opened mode
    • mcrypt_enc_get_supported_key_sizes - Returns an array with the supported keysizes of the opened algorithm
    • mcrypt_enc_is_block_algorithm - Checks whether the algorithm of the opened mode is a block algorithm
    • mcrypt_enc_is_block_algorithm_mode - Checks whether the encryption of the opened mode works on blocks
    • mcrypt_enc_is_block_mode - Checks whether the opened mode outputs blocks
    • mcrypt_enc_self_test - Runs a self test on the opened module
    • mcrypt_generic - This function encrypts data
    • mcrypt_generic_deinit - This function deinitializes an encryption module
    • mcrypt_generic_end - This function terminates encryption
    • mcrypt_generic_init - This function initializes all buffers needed for encryption
    • mcrypt_get_block_size - Gets the block size of the specified cipher
    • mcrypt_get_cipher_name - Gets the name of the specified cipher
    • mcrypt_get_iv_size - Returns the size of the IV belonging to a specific cipher/mode combination
    • mcrypt_get_key_size - Gets the key size of the specified cipher
    • mcrypt_list_algorithms - Gets an array of all supported ciphers
    • mcrypt_list_modes - Gets an array of all supported modes
    • mcrypt_module_close - Closes the mcrypt module
    • mcrypt_module_get_algo_block_size - Returns the blocksize of the specified algorithm
    • mcrypt_module_get_algo_key_size - Returns the maximum supported keysize of the opened mode
    • mcrypt_module_get_supported_key_sizes - Returns an array with the supported keysizes of the opened algorithm
    • mcrypt_module_is_block_algorithm - This function checks whether the specified algorithm is a block algorithm
    • mcrypt_module_is_block_algorithm_mode - Returns if the specified module is a block algorithm or not
    • mcrypt_module_is_block_mode - Returns if the specified mode outputs blocks or not
    • mcrypt_module_open - Opens the module of the algorithm and the mode to be used
    • mcrypt_module_self_test - This function runs a self test on the specified module
    • mcrypt_ofb - Encrypts/decrypts data in OFB mode
    • md5 - Calcula o "hash MD5" de uma string
    • md5_file - Calcula hash md5 de um dado arquivo
    • mdecrypt_generic - Decrypts data
    • Memcache::add - Add an item to the server
    • Memcache::addServer - Add a memcached server to connection pool
    • Memcache::close - Close memcached server connection
    • Memcache::connect - Open memcached server connection
    • Memcache::decrement - Decrement item's value
    • Memcache::delete - Delete item from the server
    • Memcache::flush - Flush all existing items at the server
    • Memcache::get - Retrieve item from the server
    • Memcache::getExtendedStats - Get statistics from all servers in pool
    • Memcache::getServerStatus - Returns server status
    • Memcache::getStats - Get statistics of the server
    • Memcache::getVersion - Return version of the server
    • Memcache::increment - Increment item's value
    • Memcache::pconnect - Open memcached server persistent connection
    • Memcache::replace - Replace value of the existing item
    • Memcache::set - Store data at the server
    • Memcache::setCompressThreshold - Enable automatic compression of large values
    • Memcache::setServerParams - Changes server parameters and status at runtime
    • Memcached::add - Add an item under a new key
    • Memcached::addByKey - Add an item under a new key on a specific server
    • Memcached::addServer - Add a server to the server pool
    • Memcached::addServers - Add multiple servers to the server pool
    • Memcached::append - Append data to an existing item
    • Memcached::appendByKey - Append data to an existing item on a specific server
    • Memcached::cas - Compare and swap an item
    • Memcached::casByKey - Compare and swap an item on a specific server
    • Memcached::decrement - Decrement numeric item's value
    • Memcached::decrementByKey - Decrement numeric item's value, stored on a specific server
    • Memcached::delete - Delete an item
    • Memcached::deleteByKey - Delete an item from a specific server
    • Memcached::deleteMulti - Delete multiple items
    • Memcached::deleteMultiByKey - Delete multiple items from a specific server
    • Memcached::fetch - Fetch the next result
    • Memcached::fetchAll - Fetch all the remaining results
    • Memcached::flush - Invalidate all items in the cache
    • Memcached::get - Retrieve an item
    • Memcached::getAllKeys - Gets the keys stored on all the servers
    • Memcached::getByKey - Retrieve an item from a specific server
    • Memcached::getDelayed - Request multiple items
    • Memcached::getDelayedByKey - Request multiple items from a specific server
    • Memcached::getMulti - Retrieve multiple items
    • Memcached::getMultiByKey - Retrieve multiple items from a specific server
    • Memcached::getOption - Retrieve a Memcached option value
    • Memcached::getResultCode - Return the result code of the last operation
    • Memcached::getResultMessage - Return the message describing the result of the last operation
    • Memcached::getServerByKey - Map a key to a server
    • Memcached::getServerList - Get the list of the servers in the pool
    • Memcached::getStats - Get server pool statistics
    • Memcached::getVersion - Get server pool version info
    • Memcached::increment - Increment numeric item's value
    • Memcached::incrementByKey - Increment numeric item's value, stored on a specific server
    • Memcached::isPersistent - Check if a persitent connection to memcache is being used
    • Memcached::isPristine - Check if the instance was recently created
    • Memcached::prepend - Prepend data to an existing item
    • Memcached::prependByKey - Prepend data to an existing item on a specific server
    • Memcached::quit - Close any open connections
    • Memcached::replace - Replace the item under an existing key
    • Memcached::replaceByKey - Replace the item under an existing key on a specific server
    • Memcached::resetServerList - Clears all servers from the server list
    • Memcached::set - Store an item
    • Memcached::setByKey - Store an item on a specific server
    • Memcached::setMulti - Store multiple items
    • Memcached::setMultiByKey - Store multiple items on a specific server
    • Memcached::setOption - Set a Memcached option
    • Memcached::setOptions - Set Memcached options
    • Memcached::setSaslAuthData - Set the credentials to use for authentication
    • Memcached::touch - Set a new expiration on an item
    • Memcached::touchByKey - Set a new expiration on an item on a specific server
    • Memcached::__construct - Create a Memcached instance
    • memcache_debug - Turn debug output on/off
    • memory_get_peak_usage - Returns the peak of memory allocated by PHP
    • memory_get_usage - Retorna a quantidade de memória alocada para PHP
    • MessageFormatter::create - Constructs a new Message Formatter
    • MessageFormatter::format - Format the message
    • MessageFormatter::formatMessage - Quick format message
    • MessageFormatter::getErrorCode - Get the error code from last operation
    • MessageFormatter::getErrorMessage - Get the error text from the last operation
    • MessageFormatter::getLocale - Get the locale for which the formatter was created
    • MessageFormatter::getPattern - Get the pattern used by the formatter
    • MessageFormatter::parse - Parse input string according to pattern
    • MessageFormatter::parseMessage - Quick parse input string
    • MessageFormatter::setPattern - Set the pattern used by the formatter
    • metaphone - Calcula a metaphone key de uma string
    • method_exists - Checa se o método da classe existe
    • mhash - Computa a hash
    • mhash_count - Ler o mais alto hash id disponível
    • mhash_get_block_size - Ler o tamanho do bloco da hash específicada
    • mhash_get_hash_name - Ler o nome da hash especificada
    • mhash_keygen_s2k - Gerar uma chave
    • microtime - Retorna um timestamp Unix em microsegundos
    • mime_content_type - Detecta o tipo MIME de um arquivo
    • min - Encontra o menor valor
    • mkdir - Cria um diretório
    • mktime - Obtém um timestamp Unix de uma data
    • money_format - Formata um número como uma string de moeda
    • Mongo::connectUtil - Connects with a database server
    • Mongo::getPoolSize - Get pool size for connection pools
    • Mongo::getSlave - Returns the address being used by this for slaveOkay reads
    • Mongo::getSlaveOkay - Get slaveOkay setting for this connection
    • Mongo::poolDebug - Returns information about all connection pools
    • Mongo::setPoolSize - Set the size for future connection pools
    • Mongo::setSlaveOkay - Change slaveOkay setting for this connection
    • Mongo::switchSlave - Choose a new secondary for slaveOkay reads
    • Mongo::__construct - The __construct purpose
    • MongoBinData::__construct - Creates a new binary data object
    • MongoBinData::__toString - The string representation of this binary data object
    • MongoClient::close - Closes this connection
    • MongoClient::connect - Connects to a database server
    • MongoClient::dropDB - Drops a database [deprecated]
    • MongoClient::getConnections - Return info about all open connections
    • MongoClient::getHosts - Updates status for all associated hosts
    • MongoClient::getReadPreference - Get the read preference for this connection
    • MongoClient::getWriteConcern - Get the write concern for this connection
    • MongoClient::killCursor - Kills a specific cursor on the server
    • MongoClient::listDBs - Lists all of the databases available
    • MongoClient::selectCollection - Gets a database collection
    • MongoClient::selectDB - Gets a database
    • MongoClient::setReadPreference - Set the read preference for this connection
    • MongoClient::setWriteConcern - Set the write concern for this connection
    • MongoClient::__construct - Creates a new database connection object
    • MongoClient::__get - Gets a database
    • MongoClient::__toString - String representation of this connection
    • MongoCode::__construct - Creates a new code object
    • MongoCode::__toString - Returns this code as a string
    • MongoCollection::aggregate - Perform an aggregation using the aggregation framework
    • MongoCollection::aggregateCursor - Execute an aggregation pipeline command and retrieve results through a cursor
    • MongoCollection::batchInsert - Inserts multiple documents into this collection
    • MongoCollection::count - Counts the number of documents in this collection
    • MongoCollection::createDBRef - Creates a database reference
    • MongoCollection::createIndex - Creates an index on the specified field(s) if it does not already exist
    • MongoCollection::deleteIndex - Deletes an index from this collection
    • MongoCollection::deleteIndexes - Delete all indices for this collection
    • MongoCollection::distinct - Retrieve a list of distinct values for the given key across a collection
    • MongoCollection::drop - Drops this collection
    • MongoCollection::ensureIndex - Creates an index on the specified field(s) if it does not already exist
    • MongoCollection::find - Queries this collection, returning a MongoCursor for the result set
    • MongoCollection::findAndModify - Update a document and return it
    • MongoCollection::findOne - Queries this collection, returning a single element
    • MongoCollection::getDBRef - Fetches the document pointed to by a database reference
    • MongoCollection::getIndexInfo - Returns information about indexes on this collection
    • MongoCollection::getName - Returns this collection's name
    • MongoCollection::getReadPreference - Get the read preference for this collection
    • MongoCollection::getSlaveOkay - Get slaveOkay setting for this collection
    • MongoCollection::getWriteConcern - Get the write concern for this collection
    • MongoCollection::group - Performs an operation similar to SQL's GROUP BY command
    • MongoCollection::insert - Inserts a document into the collection
    • MongoCollection::parallelCollectionScan - Returns an array of cursors to iterator over a full collection in parallel
    • MongoCollection::remove - Remove records from this collection
    • MongoCollection::save - Saves a document to this collection
    • MongoCollection::setReadPreference - Set the read preference for this collection
    • MongoCollection::setSlaveOkay - Change slaveOkay setting for this collection
    • MongoCollection::setWriteConcern - Set the write concern for this database
    • MongoCollection::toIndexString - Converts keys specifying an index to its identifying string
    • MongoCollection::update - Update records based on a given criteria
    • MongoCollection::validate - Validates this collection
    • MongoCollection::__construct - Creates a new collection
    • MongoCollection::__get - Gets a collection
    • MongoCollection::__toString - String representation of this collection
    • MongoCommandCursor::batchSize - Limits the number of elements returned in one batch
    • MongoCommandCursor::createFromDocument - Create a new command cursor from an existing command response document
    • MongoCommandCursor::current - Returns the current element
    • MongoCommandCursor::dead - Checks if there are results that have not yet been sent from the database
    • MongoCommandCursor::getReadPreference - Get the read preference for this command
    • MongoCommandCursor::info - Gets information about the cursor's creation and iteration
    • MongoCommandCursor::key - Returns the current result's index within the result set
    • MongoCommandCursor::next - Advances the cursor to the next result
    • MongoCommandCursor::rewind - Executes the command and resets the cursor to the start of the result set
    • MongoCommandCursor::setReadPreference - Set the read preference for this command
    • MongoCommandCursor::timeout - Sets a client-side timeout for this command
    • MongoCommandCursor::valid - Checks if the cursor is reading a valid result
    • MongoCommandCursor::__construct - Create a new command cursor
    • MongoCursor::addOption - Adds a top-level key/value pair to a query
    • MongoCursor::awaitData - Sets whether this cursor will wait for a while for a tailable cursor to return more data
    • MongoCursor::batchSize - Limits the number of elements returned in one batch
    • MongoCursor::count - Counts the number of results for this query
    • MongoCursor::current - Returns the current element
    • MongoCursor::dead - Checks if there are results that have not yet been sent from the database
    • MongoCursor::doQuery - Execute the query
    • MongoCursor::explain - Return an explanation of the query, often useful for optimization and debugging
    • MongoCursor::fields - Sets the fields for a query
    • MongoCursor::getNext - Advances the cursor to the next result, and returns that result
    • MongoCursor::getReadPreference - Get the read preference for this query
    • MongoCursor::hasNext - Checks if there are any more elements in this cursor
    • MongoCursor::hint - Gives the database a hint about the query
    • MongoCursor::immortal - Sets whether this cursor will timeout
    • MongoCursor::info - Gets information about the cursor's creation and iteration
    • MongoCursor::key - Returns the current result's _id, or its index within the result set
    • MongoCursor::limit - Limits the number of results returned
    • MongoCursor::maxTimeMS - Sets a server-side timeout for this query
    • MongoCursor::next - Advances the cursor to the next result, and returns that result
    • MongoCursor::partial - If this query should fetch partial results from mongos if a shard is down
    • MongoCursor::reset - Clears the cursor
    • MongoCursor::rewind - Returns the cursor to the beginning of the result set
    • MongoCursor::setFlag - Sets arbitrary flags in case there is no method available the specific flag
    • MongoCursor::setReadPreference - Set the read preference for this query
    • MongoCursor::skip - Skips a number of results
    • MongoCursor::slaveOkay - Sets whether this query can be done on a secondary [deprecated]
    • MongoCursor::snapshot - Use snapshot mode for the query
    • MongoCursor::sort - Sorts the results by given fields
    • MongoCursor::tailable - Sets whether this cursor will be left open after fetching the last results
    • MongoCursor::timeout - Sets a client-side timeout for this query
    • MongoCursor::valid - Checks if the cursor is reading a valid result
    • MongoCursor::__construct - Create a new cursor
    • MongoCursorException::getHost - The hostname of the server that encountered the error
    • MongoCursorInterface::batchSize - Limits the number of elements returned in one batch
    • MongoCursorInterface::dead - Checks if there are results that have not yet been sent from the database
    • MongoCursorInterface::getReadPreference - Get the read preference for this query
    • MongoCursorInterface::info - Gets information about the cursor's creation and iteration
    • MongoCursorInterface::setReadPreference - Set the read preference for this query
    • MongoCursorInterface::timeout - Sets a client-side timeout for this query
    • MongoDate::toDateTime - Returns a DateTime object representing this date
    • MongoDate::__construct - Creates a new date
    • MongoDate::__toString - Returns a string representation of this date
    • MongoDB::authenticate - Log in to this database
    • MongoDB::command - Execute a database command
    • MongoDB::createCollection - Creates a collection
    • MongoDB::createDBRef - Creates a database reference
    • MongoDB::drop - Drops this database
    • MongoDB::dropCollection - Drops a collection [deprecated]
    • MongoDB::execute - Runs JavaScript code on the database server [deprecated]
    • MongoDB::forceError - Creates a database error
    • MongoDB::getCollectionInfo - Returns information about collections in this database
    • MongoDB::getCollectionNames - Gets an array of names for all collections in this database
    • MongoDB::getDBRef - Fetches the document pointed to by a database reference
    • MongoDB::getGridFS - Fetches toolkit for dealing with files stored in this database
    • MongoDB::getProfilingLevel - Gets this database's profiling level
    • MongoDB::getReadPreference - Get the read preference for this database
    • MongoDB::getSlaveOkay - Get slaveOkay setting for this database
    • MongoDB::getWriteConcern - Get the write concern for this database
    • MongoDB::lastError - Check if there was an error on the most recent db operation performed
    • MongoDB::listCollections - Gets an array of MongoCollection objects for all collections in this database
    • MongoDB::prevError - Checks for the last error thrown during a database operation
    • MongoDB::repair - Repairs and compacts this database
    • MongoDB::resetError - Clears any flagged errors on the database
    • MongoDB::selectCollection - Gets a collection
    • MongoDB::setProfilingLevel - Sets this database's profiling level
    • MongoDB::setReadPreference - Set the read preference for this database
    • MongoDB::setSlaveOkay - Change slaveOkay setting for this database
    • MongoDB::setWriteConcern - Set the write concern for this database
    • MongoDB::__construct - Creates a new database
    • MongoDB::__get - Gets a collection
    • MongoDB::__toString - The name of this database
    • MongoDBRef::create - Creates a new database reference
    • MongoDBRef::get - Fetches the object pointed to by a reference
    • MongoDBRef::isRef - Checks if an array is a database reference
    • MongoDB\BSON\Binary::getData - Returns the Binary's data
    • MongoDB\BSON\Binary::getType - Returns the Binary's type
    • MongoDB\BSON\Binary::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Binary::serialize - Serialize a Binary
    • MongoDB\BSON\Binary::unserialize - Unserialize a Binary
    • MongoDB\BSON\Binary::__construct - Construct a new Binary
    • MongoDB\BSON\Binary::__toString - Returns the Binary's data
    • MongoDB\BSON\BinaryInterface::getData - Returns the BinaryInterface's data
    • MongoDB\BSON\BinaryInterface::getType - Returns the BinaryInterface's type
    • MongoDB\BSON\BinaryInterface::__toString - Returns the BinaryInterface's data
    • MongoDB\BSON\DBPointer::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\DBPointer::serialize - Serialize a DBPointer
    • MongoDB\BSON\DBPointer::unserialize - Unserialize a DBPointer
    • MongoDB\BSON\DBPointer::__construct - Construct a new DBPointer (unused)
    • MongoDB\BSON\DBPointer::__toString - Returns an empty string
    • MongoDB\BSON\Decimal128::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Decimal128::serialize - Serialize a Decimal128
    • MongoDB\BSON\Decimal128::unserialize - Unserialize a Decimal128
    • MongoDB\BSON\Decimal128::__construct - Construct a new Decimal128
    • MongoDB\BSON\Decimal128::__toString - Returns the string representation of this Decimal128
    • MongoDB\BSON\Decimal128Interface::__toString - Returns the string representation of this Decimal128Interface
    • MongoDB\BSON\fromJSON - Returns the BSON representation of a JSON value
    • MongoDB\BSON\fromPHP - Returns the BSON representation of a PHP value
    • MongoDB\BSON\Int64::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Int64::serialize - Serialize an Int64
    • MongoDB\BSON\Int64::unserialize - Unserialize an Int64
    • MongoDB\BSON\Int64::__construct - Construct a new Int64 (unused)
    • MongoDB\BSON\Int64::__toString - Returns the string representation of this Int64
    • MongoDB\BSON\Javascript::getCode - Returns the Javascript's code
    • MongoDB\BSON\Javascript::getScope - Returns the Javascript's scope document
    • MongoDB\BSON\Javascript::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Javascript::serialize - Serialize a Javascript
    • MongoDB\BSON\Javascript::unserialize - Unserialize a Javascript
    • MongoDB\BSON\Javascript::__construct - Construct a new Javascript
    • MongoDB\BSON\Javascript::__toString - Returns the Javascript's code
    • MongoDB\BSON\JavascriptInterface::getCode - Returns the JavascriptInterface's code
    • MongoDB\BSON\JavascriptInterface::getScope - Returns the JavascriptInterface's scope document
    • MongoDB\BSON\JavascriptInterface::__toString - Returns the JavascriptInterface's code
    • MongoDB\BSON\MaxKey::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\MaxKey::serialize - Serialize a MaxKey
    • MongoDB\BSON\MaxKey::unserialize - Unserialize a MaxKey
    • MongoDB\BSON\MaxKey::__construct - Construct a new MaxKey
    • MongoDB\BSON\MinKey::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\MinKey::serialize - Serialize a MinKey
    • MongoDB\BSON\MinKey::unserialize - Unserialize a MinKey
    • MongoDB\BSON\MinKey::__construct - Construct a new MinKey
    • MongoDB\BSON\ObjectId::getTimestamp - Returns the timestamp component of this ObjectId
    • MongoDB\BSON\ObjectId::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\ObjectId::serialize - Serialize an ObjectId
    • MongoDB\BSON\ObjectId::unserialize - Unserialize an ObjectId
    • MongoDB\BSON\ObjectId::__construct - Construct a new ObjectId
    • MongoDB\BSON\ObjectId::__toString - Returns the hexidecimal representation of this ObjectId
    • MongoDB\BSON\ObjectIdInterface::getTimestamp - Returns the timestamp component of this ObjectIdInterface
    • MongoDB\BSON\ObjectIdInterface::__toString - Returns the hexidecimal representation of this ObjectIdInterface
    • MongoDB\BSON\Regex::getFlags - Returns the Regex's flags
    • MongoDB\BSON\Regex::getPattern - Returns the Regex's pattern
    • MongoDB\BSON\Regex::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Regex::serialize - Serialize a Regex
    • MongoDB\BSON\Regex::unserialize - Unserialize a Regex
    • MongoDB\BSON\Regex::__construct - Construct a new Regex
    • MongoDB\BSON\Regex::__toString - Returns the string representation of this Regex
    • MongoDB\BSON\RegexInterface::getFlags - Returns the RegexInterface's flags
    • MongoDB\BSON\RegexInterface::getPattern - Returns the RegexInterface's pattern
    • MongoDB\BSON\RegexInterface::__toString - Returns the string representation of this RegexInterface
    • MongoDB\BSON\Serializable::bsonSerialize - Provides an array or document to serialize as BSON
    • MongoDB\BSON\Symbol::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Symbol::serialize - Serialize a Symbol
    • MongoDB\BSON\Symbol::unserialize - Unserialize a Symbol
    • MongoDB\BSON\Symbol::__construct - Construct a new Symbol (unused)
    • MongoDB\BSON\Symbol::__toString - Returns the Symbol as a string
    • MongoDB\BSON\Timestamp::getIncrement - Returns the increment component of this Timestamp
    • MongoDB\BSON\Timestamp::getTimestamp - Returns the timestamp component of this Timestamp
    • MongoDB\BSON\Timestamp::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Timestamp::serialize - Serialize a Timestamp
    • MongoDB\BSON\Timestamp::unserialize - Unserialize a Timestamp
    • MongoDB\BSON\Timestamp::__construct - Construct a new Timestamp
    • MongoDB\BSON\Timestamp::__toString - Returns the string representation of this Timestamp
    • MongoDB\BSON\TimestampInterface::getIncrement - Returns the increment component of this TimestampInterface
    • MongoDB\BSON\TimestampInterface::getTimestamp - Returns the timestamp component of this TimestampInterface
    • MongoDB\BSON\TimestampInterface::__toString - Returns the string representation of this TimestampInterface
    • MongoDB\BSON\toCanonicalExtendedJSON - Returns the Canonical Extended JSON representation of a BSON value
    • MongoDB\BSON\toJSON - Returns the Legacy Extended JSON representation of a BSON value
    • MongoDB\BSON\toPHP - Returns the PHP representation of a BSON value
    • MongoDB\BSON\toRelaxedExtendedJSON - Returns the Relaxed Extended JSON representation of a BSON value
    • MongoDB\BSON\Undefined::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Undefined::serialize - Serialize a Undefined
    • MongoDB\BSON\Undefined::unserialize - Unserialize a Undefined
    • MongoDB\BSON\Undefined::__construct - Construct a new Undefined (unused)
    • MongoDB\BSON\Undefined::__toString - Returns an empty string
    • MongoDB\BSON\Unserializable::bsonUnserialize - Constructs the object from a BSON array or document
    • MongoDB\BSON\UTCDateTime::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\UTCDateTime::serialize - Serialize a UTCDateTime
    • MongoDB\BSON\UTCDateTime::toDateTime - Returns the DateTime representation of this UTCDateTime
    • MongoDB\BSON\UTCDateTime::unserialize - Unserialize a UTCDateTime
    • MongoDB\BSON\UTCDateTime::__construct - Construct a new UTCDateTime
    • MongoDB\BSON\UTCDateTime::__toString - Returns the string representation of this UTCDateTime
    • MongoDB\BSON\UTCDateTimeInterface::toDateTime - Returns the DateTime representation of this UTCDateTimeInterface
    • MongoDB\BSON\UTCDateTimeInterface::__toString - Returns the string representation of this UTCDateTimeInterface
    • MongoDB\Driver\BulkWrite::count - Count number of write operations in the bulk
    • MongoDB\Driver\BulkWrite::delete - Add a delete operation to the bulk
    • MongoDB\Driver\BulkWrite::insert - Add an insert operation to the bulk
    • MongoDB\Driver\BulkWrite::update - Add an update operation to the bulk
    • MongoDB\Driver\BulkWrite::__construct - Create a new BulkWrite
    • MongoDB\Driver\ClientEncryption::createDataKey - Create a new encryption data key
    • MongoDB\Driver\ClientEncryption::decrypt - Decrypt a value
    • MongoDB\Driver\ClientEncryption::encrypt - Encrypt a value
    • MongoDB\Driver\Command::__construct - Create a new Command
    • MongoDB\Driver\Cursor::current - Returns the current element
    • MongoDB\Driver\Cursor::getId - Returns the ID for this cursor
    • MongoDB\Driver\Cursor::getServer - Returns the server associated with this cursor
    • MongoDB\Driver\Cursor::isDead - Checks if the cursor is exhausted or may have additional results
    • MongoDB\Driver\Cursor::key - Returns the current result's index within the cursor
    • MongoDB\Driver\Cursor::next - Advances the cursor to the next result
    • MongoDB\Driver\Cursor::rewind - Rewind the cursor to the first result
    • MongoDB\Driver\Cursor::setTypeMap - Sets a type map to use for BSON unserialization
    • MongoDB\Driver\Cursor::toArray - Returns an array containing all results for this cursor
    • MongoDB\Driver\Cursor::valid - Checks if the current position in the cursor is valid
    • MongoDB\Driver\Cursor::__construct - Create a new Cursor (not used)
    • MongoDB\Driver\CursorId::serialize - Serialize a CursorId
    • MongoDB\Driver\CursorId::unserialize - Unserialize a CursorId
    • MongoDB\Driver\CursorId::__construct - Create a new CursorId (not used)
    • MongoDB\Driver\CursorId::__toString - String representation of the cursor ID
    • MongoDB\Driver\CursorInterface::getId - Returns the ID for this cursor
    • MongoDB\Driver\CursorInterface::getServer - Returns the server associated with this cursor
    • MongoDB\Driver\CursorInterface::isDead - Checks if the cursor may have additional results
    • MongoDB\Driver\CursorInterface::setTypeMap - Sets a type map to use for BSON unserialization
    • MongoDB\Driver\CursorInterface::toArray - Returns an array containing all results for this cursor
    • MongoDB\Driver\Exception\CommandException::getResultDocument - Returns the result document for the failed command
    • MongoDB\Driver\Exception\RuntimeException::hasErrorLabel - Returns whether an error label is associated with an exception
    • MongoDB\Driver\Exception\WriteException::getWriteResult - Returns the WriteResult for the failed write operation
    • MongoDB\Driver\Manager::createClientEncryption - Create a new ClientEncryption object
    • MongoDB\Driver\Manager::executeBulkWrite - Execute one or more write operations
    • MongoDB\Driver\Manager::executeCommand - Execute a database command
    • MongoDB\Driver\Manager::executeQuery - Execute a database query
    • MongoDB\Driver\Manager::executeReadCommand - Execute a database command that reads
    • MongoDB\Driver\Manager::executeReadWriteCommand - Execute a database command that reads and writes
    • MongoDB\Driver\Manager::executeWriteCommand - Execute a database command that writes
    • MongoDB\Driver\Manager::getReadConcern - Return the ReadConcern for the Manager
    • MongoDB\Driver\Manager::getReadPreference - Return the ReadPreference for the Manager
    • MongoDB\Driver\Manager::getServers - Return the servers to which this manager is connected
    • MongoDB\Driver\Manager::getWriteConcern - Return the WriteConcern for the Manager
    • MongoDB\Driver\Manager::selectServer - Select a server matching a read preference
    • MongoDB\Driver\Manager::startSession - Start a new client session for use with this client
    • MongoDB\Driver\Manager::__construct - Create new MongoDB Manager
    • MongoDB\Driver\Monitoring\addSubscriber - Registers a new monitoring event subscriber
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName - Returns the command name
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros - Returns the command's duration in microseconds
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getError - Returns the Exception associated with the failed command
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId - Returns the command's operation ID
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getReply - Returns the command reply document
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId - Returns the command's request ID
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getServer - Returns the Server on which the command was executed
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand - Returns the command document
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName - Returns the command name
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName - Returns the database on which the command was executed
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId - Returns the command's operation ID
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId - Returns the command's request ID
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getServer - Returns the Server on which the command was executed
    • MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed - Notification method for a failed command
    • MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted - Notification method for a started command
    • MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded - Notification method for a successful command
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName - Returns the command name
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros - Returns the command's duration in microseconds
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId - Returns the command's operation ID
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply - Returns the command reply document
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId - Returns the command's request ID
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer - Returns the Server on which the command was executed
    • MongoDB\Driver\Monitoring\removeSubscriber - Unregisters an existing monitoring event subscriber
    • MongoDB\Driver\Query::__construct - Create a new Query
    • MongoDB\Driver\ReadConcern::bsonSerialize - Returns an object for BSON serialization
    • MongoDB\Driver\ReadConcern::getLevel - Returns the ReadConcern's "level" option
    • MongoDB\Driver\ReadConcern::isDefault - Checks if this is the default read concern
    • MongoDB\Driver\ReadConcern::serialize - Serialize a ReadConcern
    • MongoDB\Driver\ReadConcern::unserialize - Unserialize a ReadConcern
    • MongoDB\Driver\ReadConcern::__construct - Create a new ReadConcern
    • MongoDB\Driver\ReadPreference::bsonSerialize - Returns an object for BSON serialization
    • MongoDB\Driver\ReadPreference::getHedge - Returns the ReadPreference's "hedge" option
    • MongoDB\Driver\ReadPreference::getMaxStalenessSeconds - Returns the ReadPreference's "maxStalenessSeconds" option
    • MongoDB\Driver\ReadPreference::getMode - Returns the ReadPreference's "mode" option
    • MongoDB\Driver\ReadPreference::getModeString - Returns the ReadPreference's "mode" option as a string
    • MongoDB\Driver\ReadPreference::getTagSets - Returns the ReadPreference's "tagSets" option
    • MongoDB\Driver\ReadPreference::serialize - Serialize a ReadPreference
    • MongoDB\Driver\ReadPreference::unserialize - Unserialize a ReadPreference
    • MongoDB\Driver\ReadPreference::__construct - Create a new ReadPreference
    • MongoDB\Driver\Server::executeBulkWrite - Execute one or more write operations on this server
    • MongoDB\Driver\Server::executeCommand - Execute a database command on this server
    • MongoDB\Driver\Server::executeQuery - Execute a database query on this server
    • MongoDB\Driver\Server::executeReadCommand - Execute a database command that reads on this server
    • MongoDB\Driver\Server::executeReadWriteCommand - Execute a database command that reads and writes on this server
    • MongoDB\Driver\Server::executeWriteCommand - Execute a database command that writes on this server
    • MongoDB\Driver\Server::getHost - Returns the hostname of this server
    • MongoDB\Driver\Server::getInfo - Returns an array of information about this server
    • MongoDB\Driver\Server::getLatency - Returns the latency of this server
    • MongoDB\Driver\Server::getPort - Returns the port on which this server is listening
    • MongoDB\Driver\Server::getTags - Returns an array of tags describing this server in a replica set
    • MongoDB\Driver\Server::getType - Returns an integer denoting the type of this server
    • MongoDB\Driver\Server::isArbiter - Checks if this server is an arbiter member of a replica set
    • MongoDB\Driver\Server::isHidden - Checks if this server is a hidden member of a replica set
    • MongoDB\Driver\Server::isPassive - Checks if this server is a passive member of a replica set
    • MongoDB\Driver\Server::isPrimary - Checks if this server is a primary member of a replica set
    • MongoDB\Driver\Server::isSecondary - Checks if this server is a secondary member of a replica set
    • MongoDB\Driver\Server::__construct - Create a new Server (not used)
    • MongoDB\Driver\Session::abortTransaction - Aborts a transaction
    • MongoDB\Driver\Session::advanceClusterTime - Advances the cluster time for this session
    • MongoDB\Driver\Session::advanceOperationTime - Advances the operation time for this session
    • MongoDB\Driver\Session::commitTransaction - Commits a transaction
    • MongoDB\Driver\Session::endSession - Terminates a session
    • MongoDB\Driver\Session::getClusterTime - Returns the cluster time for this session
    • MongoDB\Driver\Session::getLogicalSessionId - Returns the logical session ID for this session
    • MongoDB\Driver\Session::getOperationTime - Returns the operation time for this session
    • MongoDB\Driver\Session::getServer - Returns the server to which this session is pinned
    • MongoDB\Driver\Session::getTransactionOptions - Returns options for the currently running transaction
    • MongoDB\Driver\Session::getTransactionState - Returns the current transaction state for this session
    • MongoDB\Driver\Session::isInTransaction - Returns whether a multi-document transaction is in progress
    • MongoDB\Driver\Session::startTransaction - Starts a transaction
    • MongoDB\Driver\Session::__construct - Create a new Session (not used)
    • MongoDB\Driver\WriteConcern::bsonSerialize - Returns an object for BSON serialization
    • MongoDB\Driver\WriteConcern::getJournal - Returns the WriteConcern's "journal" option
    • MongoDB\Driver\WriteConcern::getW - Returns the WriteConcern's "w" option
    • MongoDB\Driver\WriteConcern::getWtimeout - Returns the WriteConcern's "wtimeout" option
    • MongoDB\Driver\WriteConcern::isDefault - Checks if this is the default write concern
    • MongoDB\Driver\WriteConcern::serialize - Serialize a WriteConcern
    • MongoDB\Driver\WriteConcern::unserialize - Unserialize a WriteConcern
    • MongoDB\Driver\WriteConcern::__construct - Create a new WriteConcern
    • MongoDB\Driver\WriteConcernError::getCode - Returns the WriteConcernError's error code
    • MongoDB\Driver\WriteConcernError::getInfo - Returns metadata document for the WriteConcernError
    • MongoDB\Driver\WriteConcernError::getMessage - Returns the WriteConcernError's error message
    • MongoDB\Driver\WriteError::getCode - Returns the WriteError's error code
    • MongoDB\Driver\WriteError::getIndex - Returns the index of the write operation corresponding to this WriteError
    • MongoDB\Driver\WriteError::getInfo - Returns metadata document for the WriteError
    • MongoDB\Driver\WriteError::getMessage - Returns the WriteError's error message
    • MongoDB\Driver\WriteResult::getDeletedCount - Returns the number of documents deleted
    • MongoDB\Driver\WriteResult::getInsertedCount - Returns the number of documents inserted (excluding upserts)
    • MongoDB\Driver\WriteResult::getMatchedCount - Returns the number of documents selected for update
    • MongoDB\Driver\WriteResult::getModifiedCount - Returns the number of existing documents updated
    • MongoDB\Driver\WriteResult::getServer - Returns the server associated with this write result
    • MongoDB\Driver\WriteResult::getUpsertedCount - Returns the number of documents inserted by an upsert
    • MongoDB\Driver\WriteResult::getUpsertedIds - Returns an array of identifiers for upserted documents
    • MongoDB\Driver\WriteResult::getWriteConcernError - Returns any write concern error that occurred
    • MongoDB\Driver\WriteResult::getWriteErrors - Returns any write errors that occurred
    • MongoDB\Driver\WriteResult::isAcknowledged - Returns whether the write was acknowledged
    • MongoDeleteBatch::__construct - Description
    • MongoGridFS::delete - Remove a file and its chunks from the database
    • MongoGridFS::drop - Drops the files and chunks collections
    • MongoGridFS::find - Queries for files
    • MongoGridFS::findOne - Returns a single file matching the criteria
    • MongoGridFS::get - Retrieve a file from the database
    • MongoGridFS::put - Stores a file in the database
    • MongoGridFS::remove - Remove files and their chunks from the database
    • MongoGridFS::storeBytes - Stores a string of bytes in the database
    • MongoGridFS::storeFile - Stores a file in the database
    • MongoGridFS::storeUpload - Stores an uploaded file in the database
    • MongoGridFS::__construct - Creates new file collections
    • MongoGridFSCursor::current - Returns the current file
    • MongoGridFSCursor::getNext - Return the next file to which this cursor points, and advance the cursor
    • MongoGridFSCursor::key - Returns the current result's filename
    • MongoGridFSCursor::__construct - Create a new cursor
    • MongoGridFSFile::getBytes - Returns this file's contents as a string of bytes
    • MongoGridFSFile::getFilename - Returns this file's filename
    • MongoGridFSFile::getResource - Returns a resource that can be used to read the stored file
    • MongoGridFSFile::getSize - Returns this file's size
    • MongoGridFSFile::write - Writes this file to the filesystem
    • MongoGridfsFile::__construct - Create a new GridFS file
    • MongoId::getHostname - Gets the hostname being used for this machine's ids
    • MongoId::getInc - Gets the incremented value to create this id
    • MongoId::getPID - Gets the process ID
    • MongoId::getTimestamp - Gets the number of seconds since the epoch that this id was created
    • MongoId::isValid - Check if a value is a valid ObjectId
    • MongoId::__construct - Creates a new id
    • MongoId::__set_state - Create a dummy MongoId
    • MongoId::__toString - Returns a hexidecimal representation of this id
    • MongoInsertBatch::__construct - Description
    • MongoInt32::__construct - Creates a new 32-bit integer
    • MongoInt32::__toString - Returns the string representation of this 32-bit integer
    • MongoInt64::__construct - Creates a new 64-bit integer
    • MongoInt64::__toString - Returns the string representation of this 64-bit integer
    • MongoLog::getCallback - Gets the previously set callback function
    • MongoLog::getLevel - Gets the level(s) currently being logged
    • MongoLog::getModule - Gets the module(s) currently being logged
    • MongoLog::setCallback - Sets a callback function to be invoked for events
    • MongoLog::setLevel - Sets the level(s) to be logged
    • MongoLog::setModule - Sets the module(s) to be logged
    • MongoPool::getSize - Get pool size for connection pools
    • MongoPool::info - Returns information about all connection pools
    • MongoPool::setSize - Set the size for future connection pools
    • MongoRegex::__construct - Creates a new regular expression
    • MongoRegex::__toString - A string representation of this regular expression
    • MongoResultException::getDocument - Retrieve the full result document
    • MongoTimestamp::__construct - Creates a new timestamp
    • MongoTimestamp::__toString - Returns a string representation of this timestamp
    • MongoUpdateBatch::__construct - Description
    • MongoWriteBatch::add - Adds a write operation to a batch
    • MongoWriteBatch::execute - Executes a batch of write operations
    • MongoWriteBatch::__construct - Creates a new batch of write operations
    • MongoWriteConcernException::getDocument - Get the error document
    • move_uploaded_file - Move um arquivo enviado para uma nova localização
    • mqseries_back - MQSeries MQBACK
    • mqseries_begin - MQseries MQBEGIN
    • mqseries_close - MQSeries MQCLOSE
    • mqseries_cmit - MQSeries MQCMIT
    • mqseries_conn - MQSeries MQCONN
    • mqseries_connx - MQSeries MQCONNX
    • mqseries_disc - MQSeries MQDISC
    • mqseries_get - MQSeries MQGET
    • mqseries_inq - MQSeries MQINQ
    • mqseries_open - MQSeries MQOPEN
    • mqseries_put - MQSeries MQPUT
    • mqseries_put1 - MQSeries MQPUT1
    • mqseries_set - MQSeries MQSET
    • mqseries_strerror - Returns the error message corresponding to a result code (MQRC)
    • msg_get_queue - Create or attach to a message queue
    • msg_queue_exists - Check whether a message queue exists
    • msg_receive - Receive a message from a message queue
    • msg_remove_queue - Destroy a message queue
    • msg_send - Send a message to a message queue
    • msg_set_queue - Set information in the message queue data structure
    • msg_stat_queue - Returns information from the message queue data structure
    • mt_getrandmax - Retorna o maior valor aletório possível
    • mt_rand - Gerador melhorado de números aleatórios
    • mt_srand - Semeia o gerador melhorado de números aleatórios
    • MultipleIterator::attachIterator - Attaches iterator information
    • MultipleIterator::containsIterator - Checks if an iterator is attached
    • MultipleIterator::countIterators - Gets the number of attached iterator instances
    • MultipleIterator::current - Gets the registered iterator instances
    • MultipleIterator::detachIterator - Detaches an iterator
    • MultipleIterator::getFlags - Gets the flag information
    • MultipleIterator::key - Gets the registered iterator instances
    • MultipleIterator::next - Moves all attached iterator instances forward
    • MultipleIterator::rewind - Rewinds all attached iterator instances
    • MultipleIterator::setFlags - Sets flags
    • MultipleIterator::valid - Checks the validity of sub iterators
    • MultipleIterator::__construct - Constructs a new MultipleIterator
    • Mutex::create - Create a Mutex
    • Mutex::destroy - Destroy Mutex
    • Mutex::lock - Acquire Mutex
    • Mutex::trylock - Attempt to Acquire Mutex
    • Mutex::unlock - Release Mutex
    • mysqli->affected_rows - Retorna o número de linhas afetadas pela operação MySQL anterior
    • mysqli->errno - Retorna o código de erro para a chamada de função mais recente
    • mysqli->error - Retorna uma string descrevendo o ultimo erro
    • mysqli->protocol_version - Retorna a versão do protocolo MySQL usada
    • mysqli->server_info - Retorna a versão do servidor MySQL
    • mysqli->server_version - Retorna a versão do servidor MySQL como um integer
    • mysqli::$error_list - Returns a list of errors from the last command executed
    • mysqli::$sqlstate - Returns the SQLSTATE error from previous MySQL operation
    • mysqli::$thread_id - Returns the thread ID for the current connection
    • mysqli::$warning_count - Returns the number of warnings from the last query for the given link
    • mysqli::autocommit - Ativa ou desativa o salvar automaticamente as modificações no banco de dados
    • mysqli::begin_transaction - Starts a transaction
    • mysqli::change_user - Modifica o usuário para a conexão com o banco de dados especificada
    • mysqli::character_set_name - Retorna o conjunto de caracteres padrão para a conexão com o banco de dados
    • mysqli::commit - Salva a transação atual
    • mysqli::dump_debug_info - Descarrega informação de debug no log
    • mysqli::get_charset - Returns a character set object
    • mysqli::get_client_info - Retorna a versão do cliente MySQL como uma string
    • mysqli::get_client_version - Obtém informação sobre o cliente MySQL
    • mysqli::get_connection_stats - Returns statistics about the client connection
    • mysqli::get_warnings - Get result of SHOW WARNINGS
    • mysqli::kill - Solicita ao servidor o encerramento de um thread do MySQL
    • mysqli::more_results - Verifica se há mais algum resultado de uma multi query
    • mysqli::multi_query - Performs a query on the database
    • mysqli::next_result - Prepara o próximo resultado de multi_query
    • mysqli::options - Set options
    • mysqli::ping - Pings a server connection, or tries to reconnect if the connection has gone down
    • mysqli::poll - Poll connections
    • mysqli::prepare - Prepare an SQL statement for execution
    • mysqli::query - Performs a query on the database
    • mysqli::real_connect - Opens a connection to a mysql server
    • mysqli::real_escape_string - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • mysqli::real_query - Execute an SQL query
    • mysqli::reap_async_query - Get result from async query
    • mysqli::refresh - Refreshes
    • mysqli::release_savepoint - Removes the named savepoint from the set of savepoints of the current transaction
    • mysqli::rollback - Rolls back current transaction
    • mysqli::savepoint - Set a named transaction savepoint
    • mysqli::select_db - Selects the default database for database queries
    • mysqli::set_charset - Sets the default client character set
    • mysqli::set_opt - Alias of mysqli_options
    • mysqli::ssl_set - Used for establishing secure connections using SSL
    • mysqli::stat - Gets the current system status
    • mysqli::stmt_init - Initializes a statement and returns an object for use with mysqli_stmt_prepare
    • mysqli::store_result - Transfers a result set from the last query
    • mysqli::thread_safe - Returns whether thread safety is given or not
    • mysqli::use_result - Initiate a result set retrieval
    • mysqli::__construct - Open a new connection to the MySQL server
    • mysqli_close - Fecha uma conexão aberta anteriormente com o banco de dados
    • mysqli_connect - Sinônimo de mysqli::__construct
    • mysqli_connect_errno - Retorna o código de erro da ultima chamada a função connect
    • mysqli_connect_error - Retorna uma string descrevendo o ultimo erro da função connect
    • mysqli_debug - Realiza operações de debug
    • mysqli_driver::$report_mode - Sets mysqli error reporting mode
    • mysqli_driver::embedded_server_end - Stop embedded server
    • mysqli_driver::embedded_server_start - Initialize and start embedded server
    • mysqli_escape_string - Apelido para mysqli_real_escape_string
    • mysqli_execute - Apelido para mysqli_stmt_execute
    • mysqli_fetch_array - Obtem uma linha do resultado como uma matriz associativa, numérica, ou ambas
    • mysqli_fetch_field_direct - Obtem meta dados para um único campo
    • mysqli_fetch_object - Retorna a linha atual do conjunto de resultados como um objeto
    • mysqli_field_count - Retorna o número de colunas para a consulta mais recente
    • mysqli_field_seek - Move o ponteiro do resultado para um campo especificado
    • mysqli_free_result - Libera a memória associada ao resultado
    • mysqli_get_client_stats - Returns client per-process statistics
    • mysqli_get_host_info - Retorna uma string representando o tipo da conexão usada
    • mysqli_get_links_stats - Return information about open and cached links
    • mysqli_info - Recupera informação sobre a mais recente query executada
    • mysqli_init - Inicializa a MySQLi e retorna um resource para usar com mysqli_real_connect()
    • mysqli_insert_id - Retorna o id gerado automaticamente na última consulta
    • mysqli_report - Sinônimo de mysqli_driver->report_mode
    • mysqli_result::$current_field - Get current field offset of a result pointer
    • mysqli_result::$field_count - Get the number of fields in a result
    • mysqli_result::$lengths - Returns the lengths of the columns of the current row in the result set
    • mysqli_result::$num_rows - Gets the number of rows in a result
    • mysqli_result::data_seek - Ajusta o ponteiro do resultado para uma linha arbritaria no conjunto de resutados
    • mysqli_result::fetch_all - Fetches all result rows as an associative array, a numeric array, or both
    • mysqli_result::fetch_assoc - Obtem uma linha do conjunto de resultados como uma matriz associativa
    • mysqli_result::fetch_field - Retorna o próximo campo no conjunto de resultados
    • mysqli_result::fetch_fields - Retorna uma matriz de objetos representando os campos em um conjunto de resultados
    • mysqli_result::fetch_row - Obtém uma linha do resultado como uma matriz numerada
    • mysqli_result::free - Frees the memory associated with a result
    • mysqli_stmt->execute - Executa uma preparada query
    • mysqli_stmt::$affected_rows - Returns the total number of rows changed, deleted, or inserted by the last executed statement
    • mysqli_stmt::$errno - Returns the error code for the most recent statement call
    • mysqli_stmt::$error - Returns a string description for last statement error
    • mysqli_stmt::$error_list - Returns a list of errors from the last statement executed
    • mysqli_stmt::$field_count - Returns the number of columns in the given statement
    • mysqli_stmt::$insert_id - Get the ID generated from the previous INSERT operation
    • mysqli_stmt::$num_rows - Return the number of rows in statements result set
    • mysqli_stmt::$param_count - Returns the number of parameters for the given statement
    • mysqli_stmt::$sqlstate - Returns SQLSTATE error from previous statement operation
    • mysqli_stmt::attr_get - Used to get the current value of a statement attribute
    • mysqli_stmt::attr_set - Used to modify the behavior of a prepared statement
    • mysqli_stmt::bind_param - Passa variáveis para um preparado comando como parâmetros
    • mysqli_stmt::bind_result - Passa variáveis para um preparado comando por resultado armazenado
    • mysqli_stmt::close - Closes a prepared statement
    • mysqli_stmt::data_seek - Seeks to an arbitrary row in statement result set
    • mysqli_stmt::fetch - Obtém resultados de um preparado comando e os coloca nas determinadas variáveis
    • mysqli_stmt::get_result - Gets a result set from a prepared statement
    • mysqli_stmt::get_warnings - Get result of SHOW WARNINGS
    • mysqli_stmt::more_results - Check if there are more query results from a multiple query
    • mysqli_stmt::next_result - Reads the next result from a multiple query
    • mysqli_stmt::prepare - Prepara uma declaração SQL para execução
    • mysqli_stmt::reset - Resets a prepared statement
    • mysqli_stmt::result_metadata - Returns result set metadata from a prepared statement
    • mysqli_stmt::send_long_data - Send data in blocks
    • mysqli_stmt::store_result - Transfers a result set from a prepared statement
    • mysqli_stmt::__construct - Constructs a new mysqli_stmt object
    • mysqli_warning::next - Fetch next warning
    • MysqlndUhConnection::changeUser - Changes the user of the specified mysqlnd database connection
    • MysqlndUhConnection::charsetName - Returns the default character set for the database connection
    • MysqlndUhConnection::close - Closes a previously opened database connection
    • MysqlndUhConnection::connect - Open a new connection to the MySQL server
    • MysqlndUhConnection::endPSession - End a persistent connection
    • MysqlndUhConnection::escapeString - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • MysqlndUhConnection::getAffectedRows - Gets the number of affected rows in a previous MySQL operation
    • MysqlndUhConnection::getErrorNumber - Returns the error code for the most recent function call
    • MysqlndUhConnection::getErrorString - Returns a string description of the last error
    • MysqlndUhConnection::getFieldCount - Returns the number of columns for the most recent query
    • MysqlndUhConnection::getHostInformation - Returns a string representing the type of connection used
    • MysqlndUhConnection::getLastInsertId - Returns the auto generated id used in the last query
    • MysqlndUhConnection::getLastMessage - Retrieves information about the most recently executed query
    • MysqlndUhConnection::getProtocolInformation - Returns the version of the MySQL protocol used
    • MysqlndUhConnection::getServerInformation - Returns the version of the MySQL server
    • MysqlndUhConnection::getServerStatistics - Gets the current system status
    • MysqlndUhConnection::getServerVersion - Returns the version of the MySQL server as an integer
    • MysqlndUhConnection::getSqlstate - Returns the SQLSTATE error from previous MySQL operation
    • MysqlndUhConnection::getStatistics - Returns statistics about the client connection
    • MysqlndUhConnection::getThreadId - Returns the thread ID for the current connection
    • MysqlndUhConnection::getWarningCount - Returns the number of warnings from the last query for the given link
    • MysqlndUhConnection::init - Initialize mysqlnd connection
    • MysqlndUhConnection::killConnection - Asks the server to kill a MySQL thread
    • MysqlndUhConnection::listFields - List MySQL table fields
    • MysqlndUhConnection::listMethod - Wrapper for assorted list commands
    • MysqlndUhConnection::moreResults - Check if there are any more query results from a multi query
    • MysqlndUhConnection::nextResult - Prepare next result from multi_query
    • MysqlndUhConnection::ping - Pings a server connection, or tries to reconnect if the connection has gone down
    • MysqlndUhConnection::query - Performs a query on the database
    • MysqlndUhConnection::queryReadResultsetHeader - Read a result set header
    • MysqlndUhConnection::reapQuery - Get result from async query
    • MysqlndUhConnection::refreshServer - Flush or reset tables and caches
    • MysqlndUhConnection::restartPSession - Restart a persistent mysqlnd connection
    • MysqlndUhConnection::selectDb - Selects the default database for database queries
    • MysqlndUhConnection::sendClose - Sends a close command to MySQL
    • MysqlndUhConnection::sendQuery - Sends a query to MySQL
    • MysqlndUhConnection::serverDumpDebugInformation - Dump debugging information into the log for the MySQL server
    • MysqlndUhConnection::setAutocommit - Turns on or off auto-committing database modifications
    • MysqlndUhConnection::setCharset - Sets the default client character set
    • MysqlndUhConnection::setClientOption - Sets a client option
    • MysqlndUhConnection::setServerOption - Sets a server option
    • MysqlndUhConnection::shutdownServer - The shutdownServer purpose
    • MysqlndUhConnection::simpleCommand - Sends a basic COM_* command
    • MysqlndUhConnection::simpleCommandHandleResponse - Process a response for a basic COM_* command send to the client
    • MysqlndUhConnection::sslSet - Used for establishing secure connections using SSL
    • MysqlndUhConnection::stmtInit - Initializes a statement and returns a resource for use with mysqli_statement::prepare
    • MysqlndUhConnection::storeResult - Transfers a result set from the last query
    • MysqlndUhConnection::txCommit - Commits the current transaction
    • MysqlndUhConnection::txRollback - Rolls back current transaction
    • MysqlndUhConnection::useResult - Initiate a result set retrieval
    • MysqlndUhConnection::__construct - The __construct purpose
    • MysqlndUhPreparedStatement::execute - Executes a prepared Query
    • MysqlndUhPreparedStatement::prepare - Prepare an SQL statement for execution
    • MysqlndUhPreparedStatement::__construct - The __construct purpose
    • mysqlnd_memcache_get_config - Returns information about the plugin configuration
    • mysqlnd_memcache_set - Associate a MySQL connection with a Memcache connection
    • mysqlnd_ms_dump_servers - Returns a list of currently configured servers
    • mysqlnd_ms_fabric_select_global - Switch to global sharding server for a given table
    • mysqlnd_ms_fabric_select_shard - Switch to shard
    • mysqlnd_ms_get_last_gtid - Returns the latest global transaction ID
    • mysqlnd_ms_get_last_used_connection - Returns an array which describes the last used connection
    • mysqlnd_ms_get_stats - Returns query distribution and connection statistics
    • mysqlnd_ms_match_wild - Finds whether a table name matches a wildcard pattern or not
    • mysqlnd_ms_query_is_select - Find whether to send the query to the master, the slave or the last used MySQL server
    • mysqlnd_ms_set_qos - Sets the quality of service needed from the cluster
    • mysqlnd_ms_set_user_pick_server - Sets a callback for user-defined read/write splitting
    • mysqlnd_ms_xa_begin - Starts a distributed/XA transaction among MySQL servers
    • mysqlnd_ms_xa_commit - Commits a distributed/XA transaction among MySQL servers
    • mysqlnd_ms_xa_gc - Garbage collects unfinished XA transactions after severe errors
    • mysqlnd_ms_xa_rollback - Rolls back a distributed/XA transaction among MySQL servers
    • mysqlnd_qc_clear_cache - Flush all cache contents
    • mysqlnd_qc_get_available_handlers - Returns a list of available storage handler
    • mysqlnd_qc_get_cache_info - Returns information on the current handler, the number of cache entries and cache entries, if available
    • mysqlnd_qc_get_core_stats - Statistics collected by the core of the query cache
    • mysqlnd_qc_get_normalized_query_trace_log - Returns a normalized query trace log for each query inspected by the query cache
    • mysqlnd_qc_get_query_trace_log - Returns a backtrace for each query inspected by the query cache
    • mysqlnd_qc_set_cache_condition - Set conditions for automatic caching
    • mysqlnd_qc_set_is_select - Installs a callback which decides whether a statement is cached
    • mysqlnd_qc_set_storage_handler - Change current storage handler
    • mysqlnd_qc_set_user_handlers - Sets the callback functions for a user-defined procedural storage handler
    • mysqlnd_uh_convert_to_mysqlnd - Converts a MySQL connection handle into a mysqlnd connection handle
    • mysqlnd_uh_set_connection_proxy - Installs a proxy for mysqlnd connections
    • mysqlnd_uh_set_statement_proxy - Installs a proxy for mysqlnd statements
    • mysql_affected_rows - Obtém o número de linhas afetadas na operação anterior do MySQL
    • mysql_client_encoding - Retorna o nome do conjunto de caracteres
    • mysql_close - Fecha a conexão MySQL
    • mysql_connect - Abre uma conexão com um servidor MySQL
    • mysql_create_db - Cria um banco de dados MySQL
    • mysql_data_seek - Move o ponteiro interno do resultado
    • mysql_db_name - Obtém o nome do banco de dados a partir da chamada à mysql_list_dbs
    • mysql_db_query - Envia uma consulta MySQL
    • mysql_drop_db - Drop (exclui) um banco de dados MySQL
    • mysql_errno - Retorna o valor numérico da mensagem de erro da operação MySQL anterior
    • mysql_error - Retorna o texto da mensagem de erro da operação MySQL anterior
    • mysql_escape_string - Escapa uma string para usar em uma consulta MySQL
    • mysql_fetch_array - Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas
    • mysql_fetch_assoc - Obtém uma linha do resultado como um array associativo
    • mysql_fetch_field - Obtém informações sobre uma coluna de um resultado e retorna como um objeto
    • mysql_fetch_lengths - Obtém o tamanho de cada saída de um resultado
    • mysql_fetch_object - Obtém o resultado de uma linha como um objeto
    • mysql_fetch_row - Obtém uma linha como um array numérico
    • mysql_field_flags - Obtém as flags associadas ao campo especificado em um resultado
    • mysql_field_len - Retorna o tamanho do campo especificado
    • mysql_field_name - Obtém o nome do campo especificado em um resultado
    • mysql_field_seek - Define o ponteiro do resultado para o índice de campo especificado
    • mysql_field_table - Obtém o nome da tabela na qual o campo especificado esta
    • mysql_field_type - Obtém o tipo do campo especificado em um resultado
    • mysql_free_result - Libera um resultado da memória
    • mysql_get_client_info - Obtém informações do cliente MySQL
    • mysql_get_host_info - Obtém informações do servidor MySQL
    • mysql_get_proto_info - Obtém informações do protocolo MySQL
    • mysql_get_server_info - Obtém informações do servidor MySQL
    • mysql_info - Obtém informação sobre a consulta mais recente
    • mysql_insert_id - Obtém o ID gerado pela operação INSERT anterior
    • mysql_list_dbs - Lista os bancos de dados disponíveis em um servidor MySQL
    • mysql_list_fields - Lista os campos de uma tabela MySQL
    • mysql_list_processes - Lista os processos MySQL
    • mysql_list_tables - Lista as tabelas em um banco de dados MySQL
    • mysql_num_fields - Obtém o numero de campos em um resultado
    • mysql_num_rows - Obtém o número de linhas em um resultado
    • mysql_pconnect - Abre uma conexão persistente com um servidor MySQL
    • mysql_ping - Pinga uma conexão com o servidor ou reconecta se não houver conexão
    • mysql_query - Envia uma consulta MySQL
    • mysql_real_escape_string - Escapa os caracteres especiais numa string para usar em um comando SQL, levando em conta o conjunto atual de caracteres.
    • mysql_result - Retorna dados do resultado
    • mysql_select_db - Seleciona um banco de dados MySQL
    • mysql_set_charset - Sets the client character set
    • mysql_stat - Retorna o status atual do sistema
    • mysql_tablename - Retorna o nome da tabela do campo
    • mysql_thread_id - Returna o ID da thread atual
    • mysql_unbuffered_query - Envia uma query para o MySQL, sem retornar e colocar em buffer as linhas do resultado
    • mysql_xdevapi\Client::close - Close client
  • n
    • natcasesort - Ordena um array utilizando o algoritmo da "ordem natural" sem diferenciar maiúsculas e minúsculas
    • natsort - Ordena um array utilizando o algoritmo da "ordem natural"
    • ncurses_addch - Add character at current position and advance cursor
    • ncurses_addchnstr - Add attributed string with specified length at current position
    • ncurses_addchstr - Add attributed string at current position
    • ncurses_addnstr - Add string with specified length at current position
    • ncurses_addstr - Output text at current position
    • ncurses_assume_default_colors - Define default colors for color 0
    • ncurses_attroff - Turn off the given attributes
    • ncurses_attron - Turn on the given attributes
    • ncurses_attrset - Set given attributes
    • ncurses_baudrate - Returns baudrate of terminal
    • ncurses_beep - Let the terminal beep
    • ncurses_bkgd - Set background property for terminal screen
    • ncurses_bkgdset - Control screen background
    • ncurses_border - Draw a border around the screen using attributed characters
    • ncurses_bottom_panel - Moves a visible panel to the bottom of the stack
    • ncurses_can_change_color - Checks if terminal color definitions can be changed
    • ncurses_cbreak - Switch off input buffering
    • ncurses_clear - Clear screen
    • ncurses_clrtobot - Clear screen from current position to bottom
    • ncurses_clrtoeol - Clear screen from current position to end of line
    • ncurses_color_content - Retrieves RGB components of a color
    • ncurses_color_set - Set active foreground and background colors
    • ncurses_curs_set - Set cursor state
    • ncurses_define_key - Define a keycode
    • ncurses_def_prog_mode - Saves terminals (program) mode
    • ncurses_def_shell_mode - Saves terminals (shell) mode
    • ncurses_delay_output - Delay output on terminal using padding characters
    • ncurses_delch - Delete character at current position, move rest of line left
    • ncurses_deleteln - Delete line at current position, move rest of screen up
    • ncurses_delwin - Delete a ncurses window
    • ncurses_del_panel - Remove panel from the stack and delete it (but not the associated window)
    • ncurses_doupdate - Write all prepared refreshes to terminal
    • ncurses_echo - Activate keyboard input echo
    • ncurses_echochar - Single character output including refresh
    • ncurses_end - Stop using ncurses, clean up the screen
    • ncurses_erase - Erase terminal screen
    • ncurses_erasechar - Returns current erase character
    • ncurses_filter - Set LINES for iniscr() and newterm() to 1
    • ncurses_flash - Flash terminal screen (visual bell)
    • ncurses_flushinp - Flush keyboard input buffer
    • ncurses_getch - Read a character from keyboard
    • ncurses_getmaxyx - Returns the size of a window
    • ncurses_getmouse - Reads mouse event
    • ncurses_getyx - Returns the current cursor position for a window
    • ncurses_halfdelay - Put terminal into halfdelay mode
    • ncurses_has_colors - Checks if terminal has color capabilities
    • ncurses_has_ic - Check for insert- and delete-capabilities
    • ncurses_has_il - Check for line insert- and delete-capabilities
    • ncurses_has_key - Check for presence of a function key on terminal keyboard
    • ncurses_hide_panel - Remove panel from the stack, making it invisible
    • ncurses_hline - Draw a horizontal line at current position using an attributed character and max. n characters long
    • ncurses_inch - Get character and attribute at current position
    • ncurses_init - Initialize ncurses
    • ncurses_init_color - Define a terminal color
    • ncurses_init_pair - Define a color pair
    • ncurses_insch - Insert character moving rest of line including character at current position
    • ncurses_insdelln - Insert lines before current line scrolling down (negative numbers delete and scroll up)
    • ncurses_insertln - Insert a line, move rest of screen down
    • ncurses_insstr - Insert string at current position, moving rest of line right
    • ncurses_instr - Reads string from terminal screen
    • ncurses_isendwin - Ncurses is in endwin mode, normal screen output may be performed
    • ncurses_keyok - Enable or disable a keycode
    • ncurses_keypad - Turns keypad on or off
    • ncurses_killchar - Returns current line kill character
    • ncurses_longname - Returns terminals description
    • ncurses_meta - Enables/Disable 8-bit meta key information
    • ncurses_mouseinterval - Set timeout for mouse button clicks
    • ncurses_mousemask - Sets mouse options
    • ncurses_mouse_trafo - Transforms coordinates
    • ncurses_move - Move output position
    • ncurses_move_panel - Moves a panel so that its upper-left corner is at [startx, starty]
    • ncurses_mvaddch - Move current position and add character
    • ncurses_mvaddchnstr - Move position and add attributed string with specified length
    • ncurses_mvaddchstr - Move position and add attributed string
    • ncurses_mvaddnstr - Move position and add string with specified length
    • ncurses_mvaddstr - Move position and add string
    • ncurses_mvcur - Move cursor immediately
    • ncurses_mvdelch - Move position and delete character, shift rest of line left
    • ncurses_mvgetch - Move position and get character at new position
    • ncurses_mvhline - Set new position and draw a horizontal line using an attributed character and max. n characters long
    • ncurses_mvinch - Move position and get attributed character at new position
    • ncurses_mvvline - Set new position and draw a vertical line using an attributed character and max. n characters long
    • ncurses_mvwaddstr - Add string at new position in window
    • ncurses_napms - Sleep
    • ncurses_newpad - Creates a new pad (window)
    • ncurses_newwin - Create a new window
    • ncurses_new_panel - Create a new panel and associate it with window
    • ncurses_nl - Translate newline and carriage return / line feed
    • ncurses_nocbreak - Switch terminal to cooked mode
    • ncurses_noecho - Switch off keyboard input echo
    • ncurses_nonl - Do not translate newline and carriage return / line feed
    • ncurses_noqiflush - Do not flush on signal characters
    • ncurses_noraw - Switch terminal out of raw mode
    • ncurses_pair_content - Retrieves foreground and background colors of a color pair
    • ncurses_panel_above - Returns the panel above panel
    • ncurses_panel_below - Returns the panel below panel
    • ncurses_panel_window - Returns the window associated with panel
    • ncurses_pnoutrefresh - Copies a region from a pad into the virtual screen
    • ncurses_prefresh - Copies a region from a pad into the virtual screen
    • ncurses_putp - Apply padding information to the string and output it
    • ncurses_qiflush - Flush on signal characters
    • ncurses_raw - Switch terminal into raw mode
    • ncurses_refresh - Refresh screen
    • ncurses_replace_panel - Replaces the window associated with panel
    • ncurses_resetty - Restores saved terminal state
    • ncurses_reset_prog_mode - Resets the prog mode saved by def_prog_mode
    • ncurses_reset_shell_mode - Resets the shell mode saved by def_shell_mode
    • ncurses_savetty - Saves terminal state
    • ncurses_scrl - Scroll window content up or down without changing current position
    • ncurses_scr_dump - Dump screen content to file
    • ncurses_scr_init - Initialize screen from file dump
    • ncurses_scr_restore - Restore screen from file dump
    • ncurses_scr_set - Inherit screen from file dump
    • ncurses_show_panel - Places an invisible panel on top of the stack, making it visible
    • ncurses_slk_attr - Returns current soft label key attribute
    • ncurses_slk_attroff - Turn off the given attributes for soft function-key labels
    • ncurses_slk_attron - Turn on the given attributes for soft function-key labels
    • ncurses_slk_attrset - Set given attributes for soft function-key labels
    • ncurses_slk_clear - Clears soft labels from screen
    • ncurses_slk_color - Sets color for soft label keys
    • ncurses_slk_init - Initializes soft label key functions
    • ncurses_slk_noutrefresh - Copies soft label keys to virtual screen
    • ncurses_slk_refresh - Copies soft label keys to screen
    • ncurses_slk_restore - Restores soft label keys
    • ncurses_slk_set - Sets function key labels
    • ncurses_slk_touch - Forces output when ncurses_slk_noutrefresh is performed
    • ncurses_standend - Stop using 'standout' attribute
    • ncurses_standout - Start using 'standout' attribute
    • ncurses_start_color - Initializes color functionality
    • ncurses_termattrs - Returns a logical OR of all attribute flags supported by terminal
    • ncurses_termname - Returns terminals (short)-name
    • ncurses_timeout - Set timeout for special key sequences
    • ncurses_top_panel - Moves a visible panel to the top of the stack
    • ncurses_typeahead - Specify different filedescriptor for typeahead checking
    • ncurses_ungetch - Put a character back into the input stream
    • ncurses_ungetmouse - Pushes mouse event to queue
    • ncurses_update_panels - Refreshes the virtual screen to reflect the relations between panels in the stack
    • ncurses_use_default_colors - Assign terminal default colors to color id -1
    • ncurses_use_env - Control use of environment information about terminal size
    • ncurses_use_extended_names - Control use of extended names in terminfo descriptions
    • ncurses_vidattr - Display the string on the terminal in the video attribute mode
    • ncurses_vline - Draw a vertical line at current position using an attributed character and max. n characters long
    • ncurses_waddch - Adds character at current position in a window and advance cursor
    • ncurses_waddstr - Outputs text at current postion in window
    • ncurses_wattroff - Turns off attributes for a window
    • ncurses_wattron - Turns on attributes for a window
    • ncurses_wattrset - Set the attributes for a window
    • ncurses_wborder - Draws a border around the window using attributed characters
    • ncurses_wclear - Clears window
    • ncurses_wcolor_set - Sets windows color pairings
    • ncurses_werase - Erase window contents
    • ncurses_wgetch - Reads a character from keyboard (window)
    • ncurses_whline - Draws a horizontal line in a window at current position using an attributed character and max. n characters long
    • ncurses_wmouse_trafo - Transforms window/stdscr coordinates
    • ncurses_wmove - Moves windows output position
    • ncurses_wnoutrefresh - Copies window to virtual screen
    • ncurses_wrefresh - Refresh window on terminal screen
    • ncurses_wstandend - End standout mode for a window
    • ncurses_wstandout - Enter standout mode for a window
    • ncurses_wvline - Draws a vertical line in a window at current position using an attributed character and max. n characters long
    • next - Avança o ponteiro interno de um array
    • ngettext - Versão plural de gettext
    • nl2br - Insere quebras de linha HTML antes de todas newlines em uma string
    • nl_langinfo - Retorna informação de linguagem e local
    • NoRewindIterator::current - Get the current value
    • NoRewindIterator::getInnerIterator - Get the inner iterator
    • NoRewindIterator::key - Get the current key
    • NoRewindIterator::next - Forward to the next element
    • NoRewindIterator::rewind - Prevents the rewind operation on the inner iterator
    • NoRewindIterator::valid - Validates the iterator
    • NoRewindIterator::__construct - Construct a NoRewindIterator
    • Normalizer::getRawDecomposition - Gets the Decomposition_Mapping property for the given UTF-8 encoded code point
    • Normalizer::isNormalized - Verifica se a string fornecida já está na forma normalizada especificada.
    • Normalizer::normalize - Normaliza a entrada fornecida e retorna a string normalizada
    • NumberFormatter::create - Create a number formatter
    • NumberFormatter::format - Format a number
    • NumberFormatter::formatCurrency - Format a currency value
    • NumberFormatter::getAttribute - Get an attribute
    • NumberFormatter::getErrorCode - Get formatter's last error code
    • NumberFormatter::getErrorMessage - Get formatter's last error message
    • NumberFormatter::getLocale - Get formatter locale
    • NumberFormatter::getPattern - Get formatter pattern
    • NumberFormatter::getSymbol - Get a symbol value
    • NumberFormatter::getTextAttribute - Get a text attribute
    • NumberFormatter::parse - Parse a number
    • NumberFormatter::parseCurrency - Parse a currency number
    • NumberFormatter::setAttribute - Set an attribute
    • NumberFormatter::setPattern - Set formatter pattern
    • NumberFormatter::setSymbol - Set a symbol value
    • NumberFormatter::setTextAttribute - Set a text attribute
    • number_format - Formata um número com os milhares agrupados
  • o
    • OAuth::disableDebug - Turn off verbose debugging
    • OAuth::disableRedirects - Turn off redirects
    • OAuth::disableSSLChecks - Turn off SSL checks
    • OAuth::enableDebug - Turn on verbose debugging
    • OAuth::enableRedirects - Turn on redirects
    • OAuth::enableSSLChecks - Turn on SSL checks
    • OAuth::fetch - Fetch an OAuth protected resource
    • OAuth::generateSignature - Generate a signature
    • OAuth::getAccessToken - Fetch an access token
    • OAuth::getCAPath - Gets CA information
    • OAuth::getLastResponse - Get the last response
    • OAuth::getLastResponseHeaders - Get headers for last response
    • OAuth::getLastResponseInfo - Get HTTP information about the last response
    • OAuth::getRequestHeader - Generate OAuth header string signature
    • OAuth::getRequestToken - Fetch a request token
    • OAuth::setAuthType - Set authorization type
    • OAuth::setCAPath - Set CA path and info
    • OAuth::setNonce - Set the nonce for subsequent requests
    • OAuth::setRequestEngine - The setRequestEngine purpose
    • OAuth::setRSACertificate - Set the RSA certificate
    • OAuth::setSSLChecks - Tweak specific SSL checks for requests
    • OAuth::setTimestamp - Set the timestamp
    • OAuth::setToken - Sets the token and secret
    • OAuth::setVersion - Set the OAuth version
    • OAuth::__construct - Create a new OAuth object
    • OAuth::__destruct - The destructor
    • OAuthProvider::addRequiredParameter - Add required parameters
    • OAuthProvider::callconsumerHandler - Calls the consumerNonceHandler callback
    • OAuthProvider::callTimestampNonceHandler - Calls the timestampNonceHandler callback
    • OAuthProvider::calltokenHandler - Calls the tokenNonceHandler callback
    • OAuthProvider::checkOAuthRequest - Check an oauth request
    • OAuthProvider::consumerHandler - Set the consumerHandler handler callback
    • OAuthProvider::generateToken - Generate a random token
    • OAuthProvider::is2LeggedEndpoint - is2LeggedEndpoint
    • OAuthProvider::isRequestTokenEndpoint - Sets isRequestTokenEndpoint
    • OAuthProvider::removeRequiredParameter - Remove a required parameter
    • OAuthProvider::reportProblem - Report a problem
    • OAuthProvider::setParam - Set a parameter
    • OAuthProvider::setRequestTokenPath - Set request token path
    • OAuthProvider::timestampNonceHandler - Set the timestampNonceHandler handler callback
    • OAuthProvider::tokenHandler - Set the tokenHandler handler callback
    • OAuthProvider::__construct - Constructs a new OAuthProvider object
    • oauth_get_sbs - Generate a Signature Base String
    • oauth_urlencode - Encode a URI to RFC 3986
    • ob_clean - Limpa (apaga) o buffer de saída
    • ob_end_clean - Limpa (apaga) o buffer de saída e desativa o buffer de saída
    • ob_end_flush - Descarrega (envia) o buffer de saída e desativa o buffer de saída
    • ob_flush - Descarrega (envia) o conteúdo do buffer de saída
    • ob_get_clean - Obtém o conteudo do buffer e exclui o buffer de saída atual
    • ob_get_contents - Retorna o conteúdo do buffer de saída
    • ob_get_flush - Flush the output buffer, return it as a string and turn off output buffering
    • ob_get_length - Retorna o tamanho do buffer de saída
    • ob_get_level - Retorna o nível do mecanismo de buffer de saída
    • ob_get_status - Obtém a situação dos buffers de saída
    • ob_gzhandler - Função de callback para ob_start para compactar com gzip o buffer de saída
    • ob_iconv_handler - Convert character encoding as output buffer handler
    • ob_implicit_flush - Ativa ou desativa o descarregar implicito
    • ob_list_handlers - List all output handlers in use
    • ob_start - Ativa o buffer de saída
    • ob_tidyhandler - ob_start callback function to repair the buffer
    • OCI-Lob::writeTemporary - Escreve um large object temporário
    • ocibindbyname - Sinônimo de oci_bind_by_name
    • ocicancel - Sinônimo de oci_cancel
    • ocicloselob - Sinônimo de OCI-Lob::close
    • ocicollappend - Sinônimo de OCI-Collection::append
    • ocicollassign - Sinônimo de OCI-Collection::assign
    • ocicollassignelem - Sinônimo de OCI-Collection::assignElem
    • OCICollection::append - Appends element to the collection
    • OCICollection::assign - Assigns a value to the collection from another existing collection
    • OCICollection::assignElem - Assigns a value to the element of the collection
    • OCICollection::free - Frees the resources associated with the collection object
    • OCICollection::getElem - Returns value of the element
    • OCICollection::max - Returns the maximum number of elements in the collection
    • OCICollection::size - Returns size of the collection
    • OCICollection::trim - Trims elements from the end of the collection
    • ocicollgetelem - Sinônimo de OCI-Collection::getElem
    • ocicollmax - Sinônimo de OCI-Collection::max
    • ocicollsize - Sinônimo de OCI-Collection::size
    • ocicolltrim - Sinônimo de OCI-Collection::trim
    • ocicolumnisnull - Sinônimo de oci_field_is_null
    • ocicolumnname - Sinônimo de oci_field_name
    • ocicolumnprecision - Sinônimo de oci_field_precision
    • ocicolumnscale - Sinônimo de oci_field_scale
    • ocicolumnsize - Sinônimo de oci_field_size
    • ocicolumntype - Sinônimo de oci_field_type
    • ocicolumntyperaw - Sinônimo de oci_field_type_raw
    • ocicommit - Sinônimo de oci_commit
    • ocidefinebyname - Sinônimo de oci_define_by_name
    • ocierror - Sinônimo de oci_error
    • ociexecute - Sinônimo de oci_execute
    • ocifetch - Sinônimo de oci_fetch
    • ocifetchinto - Variante obsoleta de oci_fetch_array, oci_fetch_object, oci_fetch_assoc e oci_fetch_row
    • ocifetchstatement - Sinônimo de oci_fetch_all
    • ocifreecollection - Sinônimo de OCI-Collection::free
    • ocifreecursor - Sinônimo de oci_free_statement
    • ocifreedesc - Sinônimo de OCI-Lob::free
    • ocifreestatement - Sinônimo de oci_free_statement
    • ociinternaldebug - Sinônimo de oci_internal_debug
    • ociloadlob - Sinônimo de OCI-Lob::load
    • OCILob::append - Appends data from the large object to another large object
    • OCILob::close - Closes LOB descriptor
    • OCILob::eof - Tests for end-of-file on a large object's descriptor
    • OCILob::erase - Erases a specified portion of the internal LOB data
    • OCILob::export - Exports LOB's contents to a file
    • OCILob::flush - Flushes/writes buffer of the LOB to the server
    • OCILob::free - Frees resources associated with the LOB descriptor
    • OCILob::getBuffering - Returns current state of buffering for the large object
    • OCILob::import - Imports file data to the LOB
    • OCILob::load - Returns large object's contents
    • OCILob::read - Reads part of the large object
    • OCILob::rewind - Moves the internal pointer to the beginning of the large object
    • OCILob::save - Saves data to the large object
    • OCILob::saveFile - Sinônimo de OCILob::import
    • OCILob::seek - Sets the internal pointer of the large object
    • OCILob::setBuffering - Changes current state of buffering for the large object
    • OCILob::size - Returns size of large object
    • OCILob::tell - Returns the current position of internal pointer of large object
    • OCILob::truncate - Truncates large object
    • OCILob::write - Writes data to the large object
    • OCILob::writeToFile - Sinônimo de OCILob::export
    • ocilogoff - Sinônimo de oci_close
    • ocilogon - Sinônimo de oci_connect
    • ocinewcollection - Sinônimo de oci_new_collection
    • ocinewcursor - Sinônimo de oci_new_cursor
    • ocinewdescriptor - Sinônimo de oci_new_descriptor
    • ocinlogon - Sinônimo de oci_new_connect
    • ocinumcols - Sinônimo de oci_num_fields
    • ociparse - Sinônimo de oci_parse
    • ociplogon - Sinônimo de oci_pconnect
    • ociresult - Sinônimo de oci_result
    • ocirollback - Sinônimo de oci_rollback
    • ocirowcount - Sinônimo de oci_num_rows
    • ocisavelob - Sinônimo de OCI-Lob::save
    • ocisavelobfile - Sinônimo de OCI-Lob::import
    • ociserverversion - Sinônimo de oci_server_version
    • ocisetprefetch - Sinônimo de oci_set_prefetch
    • ocistatementtype - Sinônimo de oci_statement_type
    • ociwritelobtofile - Sinônimo de OCI-Lob::export
    • ociwritetemporarylob - Sinônimo de OCI-Lob::writeTemporary
    • oci_bind_array_by_name - Binds a PHP array to an Oracle PL/SQL array parameter
    • oci_bind_by_name - Binds a PHP variable to an Oracle placeholder
    • oci_cancel - Cancels reading from cursor
    • oci_client_version - Returns the Oracle client library version
    • oci_close - Closes an Oracle connection
    • oci_commit - Commits the outstanding database transaction
    • oci_connect - Connect to an Oracle database
    • oci_define_by_name - Associates a PHP variable with a column for query fetches
    • oci_error - Returns the last error found
    • oci_execute - Executes a statement
    • oci_fetch - Fetches the next row from a query into internal buffers
    • oci_fetch_all - Fetches multiple rows from a query into a two-dimensional array
    • oci_fetch_array - Returns the next row from a query as an associative or numeric array
    • oci_fetch_assoc - Returns the next row from a query as an associative array
    • oci_fetch_object - Returns the next row from a query as an object
    • oci_fetch_row - Returns the next row from a query as a numeric array
    • oci_field_is_null - Checks if a field in the currently fetched row is null
    • oci_field_name - Returns the name of a field from the statement
    • oci_field_precision - Tell the precision of a field
    • oci_field_scale - Tell the scale of the field
    • oci_field_size - Returns field's size
    • oci_field_type - Returns a field's data type name
    • oci_field_type_raw - Tell the raw Oracle data type of the field
    • oci_free_descriptor - Frees a descriptor
    • oci_free_statement - Frees all resources associated with statement or cursor
    • oci_get_implicit_resultset - Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets
    • oci_internal_debug - Enables or disables internal debug output
    • oci_lob_copy - Copies large object
    • oci_lob_is_equal - Compares two LOB/FILE locators for equality
    • oci_new_collection - Allocates new collection object
    • oci_new_connect - Connect to the Oracle server using a unique connection
    • oci_new_cursor - Allocates and returns a new cursor (statement handle)
    • oci_new_descriptor - Initializes a new empty LOB or FILE descriptor
    • oci_num_fields - Returns the number of result columns in a statement
    • oci_num_rows - Returns number of rows affected during statement execution
    • oci_parse - Prepares an Oracle statement for execution
    • oci_password_change - Changes password of Oracle's user
    • oci_pconnect - Connect to an Oracle database using a persistent connection
    • oci_register_taf_callback - Register a user-defined callback function for Oracle Database TAF
    • oci_result - Returns field's value from the fetched row
    • oci_rollback - Rolls back the outstanding database transaction
    • oci_server_version - Returns the Oracle Database version
    • oci_set_action - Sets the action name
    • oci_set_call_timeout - Sets a millisecond timeout for database calls
    • oci_set_client_identifier - Sets the client identifier
    • oci_set_client_info - Sets the client information
    • oci_set_db_operation - Sets the database operation
    • oci_set_edition - Sets the database edition
    • oci_set_module_name - Sets the module name
    • oci_set_prefetch - Sets number of rows to be prefetched by queries
    • oci_statement_type - Returns the type of a statement
    • oci_unregister_taf_callback - Unregister a user-defined callback function for Oracle Database TAF
    • octdec - Octal para decimal
    • odbc_autocommit - Modifica o funcionamento do autocommit
    • odbc_binmode - Manipulação de uma coluna com dados binários
    • odbc_close - Fecha uma conexão ODBC
    • odbc_close_all - Fecha todas as conexões ODBC
    • odbc_columnprivileges - Retorna um identificador de resultado que pode ser usado para obter uma lista das colunas e seus privilégios associados
    • odbc_columns - Lista os nomes das colunas na tabela especificada
    • odbc_commit - Grava uma transação ODBC
    • odbc_connect - Conecta com uma fonte de dados
    • odbc_cursor - Obtém o nome do cursor
    • odbc_data_source - Retorna informação sobre a conexão atual
    • odbc_do - Sinônimo de odbc_exec
    • odbc_error - Obtém o último código de erro
    • odbc_errormsg - Obtém a última mensagem de erro
    • odbc_exec - Prepara e executa um comando SQL
    • odbc_execute - Executa um comando preparado
    • odbc_fetch_array - Obtém uma linha do resultado como uma array associativa
    • odbc_fetch_into - Obtém uma linha do conjunto de resultados como uma matriz
    • odbc_fetch_object - Obtém um conjunto de resultados como um objeto
    • odbc_fetch_row - Obtém uma linha
    • odbc_field_len - Obtém o tamanho (precisão) de um campo
    • odbc_field_name - Obtém o nome da coluna
    • odbc_field_num - Retorna o número da coluna
    • odbc_field_precision - Sinônimo de odbc_field_len
    • odbc_field_scale - Obtém a precisão de um campo
    • odbc_field_type - Tipo de dados de um campo
    • odbc_foreignkeys - Retorna uma lista de chaves estrangeiras na tabela especificada ou uma lista de chaves estrangeiras em outras tabelas que se referem a chave primária na tabela especificada
    • odbc_free_result - Libera os recursos associados a um resultado
    • odbc_gettypeinfo - Retorna um identificador de resultados contendo informações sobre os tipos de dados suportados pela fonte de dados
    • odbc_longreadlen - Manipulação de colunas LONG
    • odbc_next_result - Confere se resultados múltiplos estão disponíveis
    • odbc_num_fields - Número de colunas em um resultado
    • odbc_num_rows - Número de linhas em um resultado
    • odbc_pconnect - Abre uma conexão persistente com o servidor de banco de dados
    • odbc_prepare - Prepara um comando para execução
    • odbc_primarykeys - Obtém a chave primária de uma tabela
    • odbc_procedurecolumns - Obtém informações sobre parâmetros para procedures
    • odbc_procedures - Obtém a lista de procedures guadadas na fonte de dados especificada.
    • odbc_result - Obtém dados do resultado
    • odbc_result_all - Mostra o resultado como uma tabela HTML
    • odbc_rollback - Desfaz uma transação
    • odbc_setoption - Ajusta definições ODBC
    • odbc_specialcolumns - Retorna um conjunto de colunas que identificam de modo único uma linha na tabela ou as colunas que são automaticamente atualizadas quando qualquer valor na linha é atualizado por uma transação.
    • odbc_statistics - Obtém estatisticas sobre uma tabela
    • odbc_tableprivileges - Lista tabelas e os privilégios associados a cada tabela
    • odbc_tables - Obtém uma lista dos nomes das tabelas guardadas em uma fonte de dados especificado
    • ogg:// - Audio streams
    • Opções de contexto de Socket - Lista de opções de contexto de Socket
    • Opções de contexto de SSL - Lista de opções de contexto de SSL
    • Opções de contexto do CURL - Lista de opções de contexto do CURL
    • Opções de contexto do FTP - Lista de opções de contexto do FTP
    • Opções de contexto do HTTP - Lista de opções de contexto do HTTP
    • Opções de contexto do MongoDB - Lista de opções de contexto do MongoDB
    • Opções de contexto do Phar - Lista de opções de contexto do Phar
    • opcache_compile_file - Compiles and caches a PHP script without executing it
    • opcache_get_configuration - Get configuration information about the cache
    • opcache_get_status - Get status information about the cache
    • opcache_invalidate - Invalidates a cached script
    • opcache_is_script_cached - Tells whether a script is cached in OPCache
    • opcache_reset - Resets the contents of the opcode cache
    • openal_buffer_create - Generate OpenAL buffer
    • openal_buffer_data - Load a buffer with data
    • openal_buffer_destroy - Destroys an OpenAL buffer
    • openal_buffer_get - Retrieve an OpenAL buffer property
    • openal_buffer_loadwav - Load a .wav file into a buffer
    • openal_context_create - Create an audio processing context
    • openal_context_current - Make the specified context current
    • openal_context_destroy - Destroys a context
    • openal_context_process - Process the specified context
    • openal_context_suspend - Suspend the specified context
    • openal_device_close - Close an OpenAL device
    • openal_device_open - Initialize the OpenAL audio layer
    • openal_listener_get - Retrieve a listener property
    • openal_listener_set - Set a listener property
    • openal_source_create - Generate a source resource
    • openal_source_destroy - Destroy a source resource
    • openal_source_get - Retrieve an OpenAL source property
    • openal_source_pause - Pause the source
    • openal_source_play - Start playing the source
    • openal_source_rewind - Rewind the source
    • openal_source_set - Set source property
    • openal_source_stop - Stop playing the source
    • openal_stream - Begin streaming on a source
    • opendir - Abre um manipulador de diretório
    • openlog - Open connection to system logger
    • openssl_cipher_iv_length - Gets the cipher iv length
    • openssl_cms_decrypt - Decrypt a CMS message
    • openssl_cms_encrypt - Encrypt a CMS message
    • openssl_cms_read - Export the CMS file to an array of PEM certificates
    • openssl_cms_sign - Sign a file
    • openssl_cms_verify - Verify a CMS signature
    • openssl_csr_export - Exports a CSR as a string
    • openssl_csr_export_to_file - Exports a CSR to a file
    • openssl_csr_get_public_key - Returns the public key of a CSR
    • openssl_csr_get_subject - Returns the subject of a CSR
    • openssl_csr_new - Generates a CSR
    • openssl_csr_sign - Sign a CSR with another certificate (or itself) and generate a certificate
    • openssl_decrypt - Decrypts data
    • openssl_dh_compute_key - Computes shared secret for public value of remote DH public key and local DH key
    • openssl_digest - Computes a digest
    • openssl_encrypt - Encrypts data
    • openssl_error_string - Return openSSL error message
    • openssl_free_key - Free key resource
    • openssl_get_cert_locations - Retrieve the available certificate locations
    • openssl_get_cipher_methods - Gets available cipher methods
    • openssl_get_curve_names - Gets list of available curve names for ECC
    • openssl_get_md_methods - Gets available digest methods
    • openssl_get_privatekey - Sinônimo de openssl_pkey_get_private
    • openssl_get_publickey - Sinônimo de openssl_pkey_get_public
    • openssl_open - Open sealed data
    • openssl_pbkdf2 - Generates a PKCS5 v2 PBKDF2 string
    • openssl_pkcs7_decrypt - Decrypts an S/MIME encrypted message
    • openssl_pkcs7_encrypt - Encrypt an S/MIME message
    • openssl_pkcs7_read - Export the PKCS7 file to an array of PEM certificates
    • openssl_pkcs7_sign - Sign an S/MIME message
    • openssl_pkcs7_verify - Verifies the signature of an S/MIME signed message
    • openssl_pkcs12_export - Exports a PKCS#12 Compatible Certificate Store File to variable
    • openssl_pkcs12_export_to_file - Exports a PKCS#12 Compatible Certificate Store File
    • openssl_pkcs12_read - Parse a PKCS#12 Certificate Store into an array
    • openssl_pkey_derive - Computes shared secret for public value of remote and local DH or ECDH key
    • openssl_pkey_export - Gets an exportable representation of a key into a string
    • openssl_pkey_export_to_file - Gets an exportable representation of a key into a file
    • openssl_pkey_free - Frees a private key
    • openssl_pkey_get_details - Returns an array with the key details
    • openssl_pkey_get_private - Get a private key
    • openssl_pkey_get_public - Extract public key from certificate and prepare it for use
    • openssl_pkey_new - Generates a new private key
    • openssl_private_decrypt - Decrypts data with private key
    • openssl_private_encrypt - Encrypts data with private key
    • openssl_public_decrypt - Decrypts data with public key
    • openssl_public_encrypt - Encrypts data with public key
    • openssl_random_pseudo_bytes - Generate a pseudo-random string of bytes
    • openssl_seal - Seal (encrypt) data
    • openssl_sign - Generate signature
    • openssl_spki_export - Exports a valid PEM formatted public key signed public key and challenge
    • openssl_spki_export_challenge - Exports the challenge associated with a signed public key and challenge
    • openssl_spki_new - Generate a new signed public key and challenge
    • openssl_spki_verify - Verifies a signed public key and challenge
    • openssl_verify - Verify signature
    • openssl_x509_checkpurpose - Verifies if a certificate can be used for a particular purpose
    • openssl_x509_check_private_key - Checks if a private key corresponds to a certificate
    • openssl_x509_export - Exports a certificate as a string
    • openssl_x509_export_to_file - Exports a certificate to file
    • openssl_x509_fingerprint - Calculates the fingerprint, or digest, of a given X.509 certificate
    • openssl_x509_free - Free certificate resource
    • openssl_x509_parse - Parse an X509 certificate and return the information as an array
    • openssl_x509_read - Parse an X.509 certificate and return an object for it
    • openssl_x509_verify - Verifies digital signature of x509 certificate against a public key
    • ord - Retorna o valor ASCII do caractere
    • OuterIterator::getInnerIterator - Returns the inner iterator for the current entry
    • output_add_rewrite_var - Add URL rewriter values
    • output_reset_rewrite_vars - Reset URL rewriter values
  • p
    • pack - Pack data into binary string
    • Parâmetros de contexto - Listagem de parâmetros de contexto
    • parallel\bootstrap - Bootstrapping
    • parallel\Channel::close - Closing
    • parallel\Channel::make - Access
    • parallel\Channel::open - Access
    • parallel\Channel::recv - Sharing
    • parallel\Channel::send - Sharing
    • parallel\Channel::__construct - Channel Construction
    • parallel\Events::addChannel - Targets
    • parallel\Events::addFuture - Targets
    • parallel\Events::poll - Polling
    • parallel\Events::remove - Targets
    • parallel\Events::setBlocking - Behaviour
    • parallel\Events::setInput - Input
    • parallel\Events::setTimeout - Behaviour
    • parallel\Events\Input::add - Inputs
    • parallel\Events\Input::clear - Inputs
    • parallel\Events\Input::remove - Inputs
    • parallel\Future::cancel - Cancellation
    • parallel\Future::cancelled - State Detection
    • parallel\Future::done - State Detection
    • parallel\Future::value - Resolution
    • parallel\run - Execution
    • parallel\Runtime::close - Runtime Graceful Join
    • parallel\Runtime::kill - Runtime Join
    • parallel\Runtime::run - Execution
    • parallel\Runtime::__construct - Runtime Construction
    • parallel\Sync::get - Access
    • parallel\Sync::notify - Synchronization
    • parallel\Sync::set - Access
    • parallel\Sync::wait - Synchronization
    • parallel\Sync::__construct - Construction
    • parallel\Sync::__invoke - Synchronization
    • ParentIterator::accept - Determines acceptability
    • ParentIterator::getChildren - Retorna os filhos do iterador interno de um ParentIterator
    • ParentIterator::hasChildren - Verifica se o elemento atual do iterador interno tem ou não filhos
    • ParentIterator::next - Avança o iterador
    • ParentIterator::rewind - Recomeça o iterador
    • ParentIterator::__construct - Constructs a ParentIterator
    • Parle\Lexer::advance - Process next lexer rule
    • Parle\Lexer::build - Finalize the lexer rule set
    • Parle\Lexer::callout - Define token callback
    • Parle\Lexer::consume - Pass the data for processing
    • Parle\Lexer::dump - Dump the state machine
    • Parle\Lexer::getToken - Retrieve the current token
    • Parle\Lexer::insertMacro - Insert regex macro
    • Parle\Lexer::push - Add a lexer rule
    • Parle\Lexer::reset - Reset lexer
    • Parle\Parser::advance - Process next parser rule
    • Parle\Parser::build - Finalize the grammar rules
    • Parle\Parser::consume - Consume the data for processing
    • Parle\Parser::dump - Dump the grammar
    • Parle\Parser::errorInfo - Retrieve the error information
    • Parle\Parser::left - Declare a token with left-associativity
    • Parle\Parser::nonassoc - Declare a token with no associativity
    • Parle\Parser::precedence - Declare a precedence rule
    • Parle\Parser::push - Add a grammar rule
    • Parle\Parser::reset - Reset parser state
    • Parle\Parser::right - Declare a token with right-associativity
    • Parle\Parser::sigil - Retrieve a matching part of a rule
    • Parle\Parser::token - Declare a token
    • Parle\Parser::tokenId - Get token id
    • Parle\Parser::trace - Trace the parser operation
    • Parle\Parser::validate - Validate input
    • Parle\RLexer::advance - Process next lexer rule
    • Parle\RLexer::build - Finalize the lexer rule set
    • Parle\RLexer::callout - Define token callback
    • Parle\RLexer::consume - Pass the data for processing
    • Parle\RLexer::dump - Dump the state machine
    • Parle\RLexer::getToken - Retrieve the current token
    • Parle\RLexer::insertMacro - Insert regex macro
    • Parle\RLexer::push - Add a lexer rule
    • Parle\RLexer::pushState - Push a new start state
    • Parle\RLexer::reset - Reset lexer
    • Parle\RParser::advance - Process next parser rule
    • Parle\RParser::build - Finalize the grammar rules
    • Parle\RParser::consume - Consume the data for processing
    • Parle\RParser::dump - Dump the grammar
    • Parle\RParser::errorInfo - Retrieve the error information
    • Parle\RParser::left - Declare a token with left-associativity
    • Parle\RParser::nonassoc - Declare a token with no associativity
    • Parle\RParser::precedence - Declare a precedence rule
    • Parle\RParser::push - Add a grammar rule
    • Parle\RParser::reset - Reset parser state
    • Parle\RParser::right - Declare a token with right-associativity
    • Parle\RParser::sigil - Retrieve a matching part of a rule
    • Parle\RParser::token - Declare a token
    • Parle\RParser::tokenId - Get token id
    • Parle\RParser::trace - Trace the parser operation
    • Parle\RParser::validate - Validate input
    • Parle\Stack::pop - Pop an item from the stack
    • Parle\Stack::push - Push an item into the stack
    • parse_ini_file - Interpreta um arquivo de configuração
    • parse_ini_string - Interpreta uma string de configuração
    • parse_str - Converte a string em variáveis
    • parse_url - Interpreta uma URL e retorna os seus componentes
    • passthru - Executa um programa externo e mostra a saída crúa
    • password_get_info - Retorna a informações sobre o hash fornecido
    • password_hash - Cria um password hash
    • password_needs_rehash - Verifica se o hash recebido corresponde com as opções recebidas
    • password_verify - Verifica se um password corresponde com um hash
    • pathinfo - Retorna informações sobre um caminho de arquivo
    • pclose - Fecha um processo de um ponteiro de arquivo
    • pcntl_alarm - Set an alarm clock for delivery of a signal
    • pcntl_async_signals - Enable/disable asynchronous signal handling or return the old setting
    • pcntl_errno - Sinônimo de pcntl_get_last_error
    • pcntl_exec - Executes specified program in current process space
    • pcntl_fork - Forks the currently running process
    • pcntl_getpriority - Get the priority of any process
    • pcntl_get_last_error - Retrieve the error number set by the last pcntl function which failed
    • pcntl_setpriority - Change the priority of any process
    • pcntl_signal - Installs a signal handler
    • pcntl_signal_dispatch - Calls signal handlers for pending signals
    • pcntl_signal_get_handler - Get the current handler for specified signal
    • pcntl_sigprocmask - Sets and retrieves blocked signals
    • pcntl_sigtimedwait - Waits for signals, with a timeout
    • pcntl_sigwaitinfo - Waits for signals
    • pcntl_strerror - Retrieve the system error message associated with the given errno
    • pcntl_wait - Waits on or returns the status of a forked child
    • pcntl_waitpid - Waits on or returns the status of a forked child
    • pcntl_wexitstatus - Returns the return code of a terminated child
    • pcntl_wifexited - Checks if status code represents a normal exit
    • pcntl_wifsignaled - Checks whether the status code represents a termination due to a signal
    • pcntl_wifstopped - Checks whether the child process is currently stopped
    • pcntl_wstopsig - Returns the signal which caused the child to stop
    • pcntl_wtermsig - Returns the signal which caused the child to terminate
    • PDO::beginTransaction - Inicia uma transação
    • PDO::commit - Envia uma transação
    • PDO::cubrid_schema - Get the requested schema information
    • PDO::errorCode - Fetch the SQLSTATE associated with the last operation on the database handle
    • PDO::errorInfo - Fetch extended error information associated with the last operation on the database handle
    • PDO::exec - Executa uma instrução SQL e retornar o número de linhas afetadas
    • PDO::getAttribute - Recuperar um atributo da conexão com o banco de dados
    • PDO::getAvailableDrivers - Retorna um array com os drivers PDO disponíveis
    • PDO::inTransaction - Checks if inside a transaction
    • PDO::lastInsertId - Returns the ID of the last inserted row or sequence value
    • PDO::pgsqlCopyFromArray - Copy data from PHP array into table
    • PDO::pgsqlCopyFromFile - Copy data from file into table
    • PDO::pgsqlCopyToArray - Copy data from database table into PHP array
    • PDO::pgsqlCopyToFile - Copy data from table into file
    • PDO::pgsqlGetNotify - Get asynchronous notification
    • PDO::pgsqlGetPid - Get the server PID
    • PDO::pgsqlLOBCreate - Creates a new large object
    • PDO::pgsqlLOBOpen - Opens an existing large object stream
    • PDO::pgsqlLOBUnlink - Deletes the large object
    • PDO::prepare - Prepares a statement for execution and returns a statement object
    • PDO::query - Executes an SQL statement, returning a result set as a PDOStatement object
    • PDO::quote - Quotes a string for use in a query
    • PDO::rollBack - Rolls back a transaction
    • PDO::setAttribute - Set an attribute
    • PDO::sqliteCreateAggregate - Registers an aggregating User Defined Function for use in SQL statements
    • PDO::sqliteCreateCollation - Registers a User Defined Function for use as a collating function in SQL statements
    • PDO::sqliteCreateFunction - Registers a User Defined Function for use in SQL statements
    • PDO::__construct - Creates a PDO instance representing a connection to a database
    • PDOStatement::bindColumn - Bind a column to a PHP variable
    • PDOStatement::bindParam - Binds a parameter to the specified variable name
    • PDOStatement::bindValue - Binds a value to a parameter
    • PDOStatement::closeCursor - Closes the cursor, enabling the statement to be executed again
    • PDOStatement::columnCount - Returns the number of columns in the result set
    • PDOStatement::debugDumpParams - Dump an SQL prepared command
    • PDOStatement::errorCode - Fetch the SQLSTATE associated with the last operation on the statement handle
    • PDOStatement::errorInfo - Fetch extended error information associated with the last operation on the statement handle
    • PDOStatement::execute - Executes a prepared statement
    • PDOStatement::fetch - Fetches the next row from a result set
    • PDOStatement::fetchAll - Returns an array containing all of the result set rows
    • PDOStatement::fetchColumn - Returns a single column from the next row of a result set
    • PDOStatement::fetchObject - Fetches the next row and returns it as an object
    • PDOStatement::getAttribute - Retrieve a statement attribute
    • PDOStatement::getColumnMeta - Returns metadata for a column in a result set
    • PDOStatement::nextRowset - Advances to the next rowset in a multi-rowset statement handle
    • PDOStatement::rowCount - Returns the number of rows affected by the last SQL statement
    • PDOStatement::setAttribute - Define um atributo na instrução
    • PDOStatement::setFetchMode - Define o modo de carga de dados para esta instrução
    • PDO_CUBRID DSN - Connecting to CUBRID databases
    • PDO_DBLIB DSN - Connecting to Microsoft SQL Server and Sybase databases
    • PDO_FIREBIRD DSN - Connecting to Firebird databases
    • PDO_IBM DSN - Connecting to IBM databases
    • PDO_INFORMIX DSN - Connecting to Informix databases
    • PDO_MYSQL DSN - Conectando a bancos de dados MySQL
    • PDO_OCI DSN - Connecting to Oracle databases
    • PDO_ODBC DSN - Connecting to ODBC or DB2 databases
    • PDO_PGSQL DSN - Connecting to PostgreSQL databases
    • PDO_SQLITE DSN - Connecting to SQLite databases
    • PDO_SQLSRV DSN - Connecting to MS SQL Server and SQL Azure databases
    • pfsockopen - Open persistent Internet or Unix domain socket connection
    • pg_affected_rows - Retorna o número de registros afetados (linhas)
    • pg_cancel_query - Cancela uma consulta (query) assíncrona
    • pg_client_encoding - Retorna a codificação do cliente
    • pg_close - Fecha uma conexão PostgreSQL
    • pg_connect - Abre uma conexão PostgreSQL
    • pg_connection_busy - Verifica se a conexão está ocupada ou não
    • pg_connection_reset - Reinicia uma conexão (reconecta)
    • pg_connection_status - Retorna o status da conexão
    • pg_connect_poll - Poll the status of an in-progress asynchronous PostgreSQL connection attempt
    • pg_consume_input - Reads input on the connection
    • pg_convert - Converte os valores de um array associativo em uma declaração SQL apropriada.
    • pg_copy_from - Insere registros em uma tabela a partir de um array
    • pg_copy_to - Copia uma tabela em um array
    • pg_dbname - Retorna o nome do banco de dados
    • pg_delete - Remove registros.
    • pg_end_copy - Sincroniza com o backend PostgreSQL
    • pg_escape_bytea - Gera binários para o tipo bytea
    • pg_escape_identifier - Escape a identifier for insertion into a text field
    • pg_escape_literal - Escape a literal for insertion into a text field
    • pg_escape_string - Gera string para o tipo text/char
    • pg_execute - Sends a request to execute a prepared statement with given parameters, and waits for the result
    • pg_fetch_all - Retorna todas as linhas (registros) como um array
    • pg_fetch_all_columns - Fetches all rows in a particular result column as an array
    • pg_fetch_array - Retorna uma linha (registro) como um array
    • pg_fetch_assoc - Retorna uma linha (registro) como uma matriz associativa
    • pg_fetch_object - Retorna uma linha (registro) como um objeto
    • pg_fetch_result - Retorna valores a partir de um recurso (resource) de resultado
    • pg_fetch_row - Retorna uma linha como um array enumerado
    • pg_field_is_null - Testa se o campo é null
    • pg_field_name - Retorna o nome de um campo
    • pg_field_num - Retorna o número do campo referido
    • pg_field_prtlen - Retorna o comprimento impresso
    • pg_field_size - Retorna o tamanho de armazenamento interno de um campo
    • pg_field_table - Returns the name or oid of the tables field
    • pg_field_type - Retorna o nome do tipo para o campo de nome correspondente
    • pg_field_type_oid - Returns the type ID (OID) for the corresponding field number
    • pg_flush - Flush outbound query data on the connection
    • pg_free_result - Libera a memória usada pelo resultado
    • pg_get_notify - Gets SQL NOTIFY message
    • pg_get_pid - Gets the backend's process ID
    • pg_get_result - Retorna o resultado de uma consulta (query) assíncrona
    • pg_host - Retorna o nome da máquina associada a uma conexão
    • pg_insert - Insere um array na tabela
    • pg_last_error - Retorna a string da última mensagem de erro de uma conexão
    • pg_last_notice - Retorna a última notificação do servidor PostgreSQL
    • pg_last_oid - Retorna o último oid do objeto
    • pg_lo_close - Fecha um objeto grande (large object)
    • pg_lo_create - Cria um objeto grande (large object)
    • pg_lo_export - Exporta um objeto grande (large object) para um arquivo
    • pg_lo_import - Importa um objeto grande (large object) a partir de um arquivo
    • pg_lo_open - Abre um objeto grande (large object)
    • pg_lo_read - Lê um objeto grande (large object)
    • pg_lo_read_all - Lê um objeto grande (large object) inteiro e o envia diretamente para o navegador
    • pg_lo_seek - Procura uma posição em um objeto grande (large object)
    • pg_lo_tell - Retorna a posição atual de um objeto grande (large object)
    • pg_lo_truncate - Truncates a large object
    • pg_lo_unlink - Remove um objeto grande (large object)
    • pg_lo_write - Escreve em um objeto grande (large object)
    • pg_meta_data - Retorna os metadados da tabela.
    • pg_num_fields - Retorna o número de campos
    • pg_num_rows - Retorna o número de linhas
    • pg_options - Retorna as opções associadas com a conexão
    • pg_parameter_status - Looks up a current parameter setting of the server
    • pg_pconnect - Abre uma conexão PostgreSQL persistente
    • pg_ping - Faz um ping na conexão com o banco de dados
    • pg_port - Retorna o número da porta associada com a conexão.
    • pg_prepare - Submits a request to create a prepared statement with the given parameters, and waits for completion
    • pg_put_line - Envia uma string terminada em NULL para o backend PostgreSQL
    • pg_query - Executa uma consulta (query)
    • pg_query_params - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text
    • pg_result_error - Retorna a mensagem de erro associada a um resultado
    • pg_result_error_field - Returns an individual field of an error report
    • pg_result_seek - Altera a posição do ponteiro interno de um recurso (resource) de resultado
    • pg_result_status - Retorna o status do resultado da consulta (query)
    • pg_select - Seleciona registros.
    • pg_send_execute - Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)
    • pg_send_prepare - Sends a request to create a prepared statement with the given parameters, without waiting for completion
    • pg_send_query - Envia uma consulta (query) assincrona
    • pg_send_query_params - Submits a command and separate parameters to the server without waiting for the result(s)
    • pg_set_client_encoding - Define a codificação do cliente
    • pg_set_error_verbosity - Determines the verbosity of messages returned by pg_last_error and pg_result_error
    • pg_socket - Get a read only handle to the socket underlying a PostgreSQL connection
    • pg_trace - Habilita rastreamento em uma conexão PostgreSQL
    • pg_transaction_status - Returns the current in-transaction status of the server
    • pg_tty - Retorna o nome da tty associada com a conexão
    • pg_unescape_bytea - Faz escape binário para o tipo bytea
    • pg_untrace - Desabilita o rastreamento de uma conexão PostgreSQL
    • pg_update - Atualiza uma tabela.
    • pg_version - Returns an array with client, protocol and server version (when available)
    • phar:// - PHP Archive
    • Phar::addEmptyDir - Add an empty directory to the phar archive
    • Phar::addFile - Add a file from the filesystem to the phar archive
    • Phar::addFromString - Add a file from a string to the phar archive
    • Phar::apiVersion - Returns the api version
    • Phar::buildFromDirectory - Construct a phar archive from the files within a directory
    • Phar::buildFromIterator - Construct a phar archive from an iterator
    • Phar::canCompress - Returns whether phar extension supports compression using either zlib or bzip2
    • Phar::canWrite - Returns whether phar extension supports writing and creating phars
    • Phar::compress - Compresses the entire Phar archive using Gzip or Bzip2 compression
    • Phar::compressFiles - Compresses all files in the current Phar archive
    • Phar::convertToData - Convert a phar archive to a non-executable tar or zip file
    • Phar::convertToExecutable - Convert a phar archive to another executable phar archive file format
    • Phar::copy - Copy a file internal to the phar archive to another new file within the phar
    • Phar::count - Returns the number of entries (files) in the Phar archive
    • Phar::createDefaultStub - Create a phar-file format specific stub
    • Phar::decompress - Decompresses the entire Phar archive
    • Phar::decompressFiles - Decompresses all files in the current Phar archive
    • Phar::delete - Delete a file within a phar archive
    • Phar::delMetadata - Deletes the global metadata of the phar
    • Phar::extractTo - Extract the contents of a phar archive to a directory
    • Phar::getAlias - Get the alias for Phar
    • Phar::getMetadata - Returns phar archive meta-data
    • Phar::getModified - Return whether phar was modified
    • Phar::getPath - Get the real path to the Phar archive on disk
    • Phar::getSignature - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
    • Phar::getStub - Return the PHP loader or bootstrap stub of a Phar archive
    • Phar::getSupportedCompression - Return array of supported compression algorithms
    • Phar::getSupportedSignatures - Return array of supported signature types
    • Phar::getVersion - Return version info of Phar archive
    • Phar::hasMetadata - Returns whether phar has global meta-data
    • Phar::interceptFileFuncs - Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions
    • Phar::isBuffering - Used to determine whether Phar write operations are being buffered, or are flushing directly to disk
    • Phar::isCompressed - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
    • Phar::isFileFormat - Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter
    • Phar::isValidPharFilename - Returns whether the given filename is a valid phar filename
    • Phar::isWritable - Returns true if the phar archive can be modified
    • Phar::loadPhar - Loads any phar archive with an alias
    • Phar::mapPhar - Reads the currently executed file (a phar) and registers its manifest
    • Phar::mount - Mount an external path or file to a virtual location within the phar archive
    • Phar::mungServer - Defines a list of up to 4 $_SERVER variables that should be modified for execution
    • Phar::offsetExists - Determines whether a file exists in the phar
    • Phar::offsetGet - Gets a PharFileInfo object for a specific file
    • Phar::offsetSet - Set the contents of an internal file to those of an external file
    • Phar::offsetUnset - Remove a file from a phar
    • Phar::running - Returns the full path on disk or full phar URL to the currently executing Phar archive
    • Phar::setAlias - Set the alias for the Phar archive
    • Phar::setDefaultStub - Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader
    • Phar::setMetadata - Sets phar archive meta-data
    • Phar::setSignatureAlgorithm - Set the signature algorithm for a phar and apply it
    • Phar::setStub - Used to set the PHP loader or bootstrap stub of a Phar archive
    • Phar::startBuffering - Start buffering Phar write operations, do not modify the Phar object on disk
    • Phar::stopBuffering - Stop buffering write requests to the Phar archive, and save changes to disk
    • Phar::unlinkArchive - Completely remove a phar archive from disk and from memory
    • Phar::webPhar - mapPhar for web-based phars. front controller for web applications
    • Phar::__construct - Construct a Phar archive object
    • PharData::addEmptyDir - Add an empty directory to the tar/zip archive
    • PharData::addFile - Add a file from the filesystem to the tar/zip archive
    • PharData::addFromString - Add a file from the filesystem to the tar/zip archive
    • PharData::buildFromDirectory - Construct a tar/zip archive from the files within a directory
    • PharData::buildFromIterator - Construct a tar or zip archive from an iterator
    • PharData::compress - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
    • PharData::compressFiles - Compresses all files in the current tar/zip archive
    • PharData::convertToData - Convert a phar archive to a non-executable tar or zip file
    • PharData::convertToExecutable - Convert a non-executable tar/zip archive to an executable phar archive
    • PharData::copy - Copy a file internal to the phar archive to another new file within the phar
    • PharData::decompress - Decompresses the entire Phar archive
    • PharData::decompressFiles - Decompresses all files in the current zip archive
    • PharData::delete - Delete a file within a tar/zip archive
    • PharData::delMetadata - Deletes the global metadata of a zip archive
    • PharData::extractTo - Extract the contents of a tar/zip archive to a directory
    • PharData::isWritable - Returns true if the tar/zip archive can be modified
    • PharData::offsetSet - Set the contents of a file within the tar/zip to those of an external file or string
    • PharData::offsetUnset - Remove a file from a tar/zip archive
    • PharData::setAlias - Dummy function (Phar::setAlias is not valid for PharData)
    • PharData::setDefaultStub - Dummy function (Phar::setDefaultStub is not valid for PharData)
    • PharData::setMetadata - Sets phar archive meta-data
    • PharData::setSignatureAlgorithm - Set the signature algorithm for a phar and apply it
    • PharData::setStub - Dummy function (Phar::setStub is not valid for PharData)
    • PharData::__construct - Construct a non-executable tar or zip archive object
    • PharFileInfo::chmod - Sets file-specific permission bits
    • PharFileInfo::compress - Compresses the current Phar entry with either zlib or bzip2 compression
    • PharFileInfo::decompress - Decompresses the current Phar entry within the phar
    • PharFileInfo::delMetadata - Deletes the metadata of the entry
    • PharFileInfo::getCompressedSize - Returns the actual size of the file (with compression) inside the Phar archive
    • PharFileInfo::getContent - Get the complete file contents of the entry
    • PharFileInfo::getCRC32 - Returns CRC32 code or throws an exception if CRC has not been verified
    • PharFileInfo::getMetadata - Returns file-specific meta-data saved with a file
    • PharFileInfo::getPharFlags - Returns the Phar file entry flags
    • PharFileInfo::hasMetadata - Returns the metadata of the entry
    • PharFileInfo::isCompressed - Returns whether the entry is compressed
    • PharFileInfo::isCRCChecked - Returns whether file entry has had its CRC verified
    • PharFileInfo::setMetadata - Sets file-specific meta-data saved with a file
    • PharFileInfo::__construct - Construct a Phar entry object
    • php:// - Accessing various I/O streams
    • phpcredits - Mostra os créditos pelo PHP
    • phpdbg_break_file - Inserts a breakpoint at a line in a file
    • phpdbg_break_function - Inserts a breakpoint at entry to a function
    • phpdbg_break_method - Inserts a breakpoint at entry to a method
    • phpdbg_break_next - Inserts a breakpoint at the next opcode
    • phpdbg_clear - Clears all breakpoints
    • phpdbg_color - Sets the color of certain elements
    • phpdbg_end_oplog - Descrição
    • phpdbg_exec - Attempts to set the execution context
    • phpdbg_get_executable - Descrição
    • phpdbg_prompt - Sets the command prompt
    • phpdbg_start_oplog - Descrição
    • phpinfo - Mostra muitas informações sobre o PHP
    • phpversion - Obtém a versão atual do PHP
    • php_ini_loaded_file - Retrieve a path to the loaded php.ini file
    • php_ini_scanned_files - Retorna uma lista dos arquivos ini interpretados a partir do diretório ini adicional
    • php_sapi_name - Retorna o tipo de interface entre o servidor web e o PHP
    • php_strip_whitespace - Retorna o código com comentários e espaços em branco removidos
    • php_uname - Retorna informação sobre o sistema operacional que o PHP foi construído
    • php_user_filter::filter - Called when applying the filter
    • php_user_filter::onClose - Called when closing the filter
    • php_user_filter::onCreate - Called when creating the filter
    • pht\AtomicInteger::dec - Decrements the atomic integer's value by one
    • pht\AtomicInteger::get - Gets the atomic integer's value
    • pht\AtomicInteger::inc - Increments the atomic integer's value by one
    • pht\AtomicInteger::lock - Acquires the atomic integer's mutex lock
    • pht\AtomicInteger::set - Sets the atomic integer's value
    • pht\AtomicInteger::unlock - Releases the atomic integer's mutex lock
    • pht\AtomicInteger::__construct - AtomicInteger creation
    • pht\HashTable::lock - Acquires the hash table's mutex lock
    • pht\HashTable::size - Gets the size of the hash table
    • pht\HashTable::unlock - Releases the hash table's mutex lock
    • pht\Queue::front - Returns the first value from a queue
    • pht\Queue::lock - Acquires the queue's mutex lock
    • pht\Queue::pop - Pops a value off of the front of a queue
    • pht\Queue::push - Pushes a value to the end of a queue
    • pht\Queue::size - Gets the size of the queue
    • pht\Queue::unlock - Releases the queue's mutex lock
    • pht\Runnable::run - The entry point of a threaded class
    • pht\Thread::addClassTask - Class threading
    • pht\Thread::addFileTask - File threading
    • pht\Thread::addFunctionTask - Function threading
    • pht\Thread::join - Joins a thread
    • pht\Thread::start - Starts the new thread
    • pht\Thread::taskCount - Gets a thread's task count
    • pht\Threaded::lock - Acquires the mutex lock
    • pht\Threaded::unlock - Releases the mutex lock
    • pht\Vector::deleteAt - Deletes a value in the vector
    • pht\Vector::insertAt - Inserts a value into the vector
    • pht\Vector::lock - Acquires the vector's mutex lock
    • pht\Vector::pop - Pops a value to the vector
    • pht\Vector::push - Pushes a value to the vector
    • pht\Vector::resize - Resizes a vector
    • pht\Vector::shift - Shifts a value from the vector
    • pht\Vector::size - Gets the size of the vector
    • pht\Vector::unlock - Releases the vector's mutex lock
    • pht\Vector::unshift - Unshifts a value to the vector front
    • pht\Vector::updateAt - Updates a value in the vector
    • pht\Vector::__construct - Vector creation
    • pi - Obtém o valor de pi
    • png2wbmp - Converte um arquivo de imagem PNG para um arquivo de imagem WBMP
    • Pool::collect - Collect references to completed tasks
    • Pool::resize - Resize the Pool
    • Pool::shutdown - Shutdown all workers
    • Pool::submit - Submits an object for execution
    • Pool::submitTo - Submits a task to a specific worker for execution
    • Pool::__construct - Creates a new Pool of Workers
    • popen - Abre um processo como ponteiro de arquivo
    • pos - Sinônimo de current
    • posix_access - Determine accessibility of a file
    • posix_ctermid - Get path name of controlling terminal
    • posix_errno - Sinônimo de posix_get_last_error
    • posix_getcwd - Pathname of current directory
    • posix_getegid - Return the effective group ID of the current process
    • posix_geteuid - Return the effective user ID of the current process
    • posix_getgid - Return the real group ID of the current process
    • posix_getgrgid - Return info about a group by group id
    • posix_getgrnam - Return info about a group by name
    • posix_getgroups - Return the group set of the current process
    • posix_getlogin - Return login name
    • posix_getpgid - Get process group id for job control
    • posix_getpgrp - Return the current process group identifier
    • posix_getpid - Return the current process identifier
    • posix_getppid - Return the parent process identifier
    • posix_getpwnam - Return info about a user by username
    • posix_getpwuid - Return info about a user by user id
    • posix_getrlimit - Return info about system resource limits
    • posix_getsid - Get the current sid of the process
    • posix_getuid - Return the real user ID of the current process
    • posix_get_last_error - Retrieve the error number set by the last posix function that failed
    • posix_initgroups - Calculate the group access list
    • posix_isatty - Determine if a file descriptor is an interactive terminal
    • posix_kill - Send a signal to a process
    • posix_mkfifo - Create a fifo special file (a named pipe)
    • posix_mknod - Create a special or ordinary file (POSIX.1)
    • posix_setegid - Set the effective GID of the current process
    • posix_seteuid - Set the effective UID of the current process
    • posix_setgid - Set the GID of the current process
    • posix_setpgid - Set process group id for job control
    • posix_setrlimit - Set system resource limits
    • posix_setsid - Make the current process a session leader
    • posix_setuid - Set the UID of the current process
    • posix_strerror - Retrieve the system error message associated with the given errno
    • posix_times - Get process times
    • posix_ttyname - Determine terminal device name
    • posix_uname - Get system name
    • pow - Potência
    • preg_filter - Perform a regular expression search and replace
    • preg_grep - Retorna as entradas do array que combinaram com o padrão
    • preg_last_error - Retorna o código de erro da última regex PCRE executada
    • preg_last_error_msg - Returns the error message of the last PCRE regex execution
    • preg_match - Perform a regular expression match
    • preg_match_all - Perform a global regular expression match
    • preg_quote - Adiciona escape em caracteres da expressão regular
    • preg_replace - Realiza uma pesquisa por uma expressão regular e a substitui.
    • preg_replace_callback - Executa uma busca usando expressão regular e modifica usando um callback
    • preg_replace_callback_array - Perform a regular expression search and replace using callbacks
    • preg_split - Divide a string por uma expressão regular
    • prev - Retrocede o ponteiro interno de um array
    • print - Mostra uma string
    • printf - Mostra uma string formatada
    • print_r - Imprime informação sobre uma variável de forma legível
    • proc_close - Fecha um processo aberto por proc_open e retorna o código de saída do processo.
    • proc_get_status - Obtem informação sobre um processo aberto por proc_open
    • proc_nice - Muda a prioridade do processo atual
    • proc_open - Executa um comando e abre ponteiros para entrada e saída
    • proc_terminate - Mata um processo aberto por proc_open
    • property_exists - Checa se o objeto ou a classe tem uma propriedade
    • pspell_add_to_personal - Add the word to a personal wordlist
    • pspell_add_to_session - Add the word to the wordlist in the current session
    • pspell_check - Check a word
    • pspell_clear_session - Clear the current session
    • pspell_config_create - Create a config used to open a dictionary
    • pspell_config_data_dir - Location of language data files
    • pspell_config_dict_dir - Location of the main word list
    • pspell_config_ignore - Ignore words less than N characters long
    • pspell_config_mode - Change the mode number of suggestions returned
    • pspell_config_personal - Set a file that contains personal wordlist
    • pspell_config_repl - Set a file that contains replacement pairs
    • pspell_config_runtogether - Consider run-together words as valid compounds
    • pspell_config_save_repl - Determine whether to save a replacement pairs list along with the wordlist
    • pspell_new - Load a new dictionary
    • pspell_new_config - Load a new dictionary with settings based on a given config
    • pspell_new_personal - Load a new dictionary with personal wordlist
    • pspell_save_wordlist - Save the personal wordlist to a file
    • pspell_store_replacement - Store a replacement pair for a word
    • pspell_suggest - Suggest spellings of a word
    • ps_add_bookmark - Add bookmark to current page
    • ps_add_launchlink - Adds link which launches file
    • ps_add_locallink - Adds link to a page in the same document
    • ps_add_note - Adds note to current page
    • ps_add_pdflink - Adds link to a page in a second pdf document
    • ps_add_weblink - Adds link to a web location
    • ps_arc - Draws an arc counterclockwise
    • ps_arcn - Draws an arc clockwise
    • ps_begin_page - Start a new page
    • ps_begin_pattern - Start a new pattern
    • ps_begin_template - Start a new template
    • ps_circle - Draws a circle
    • ps_clip - Clips drawing to current path
    • ps_close - Closes a PostScript document
    • ps_closepath - Closes path
    • ps_closepath_stroke - Closes and strokes path
    • ps_close_image - Closes image and frees memory
    • ps_continue_text - Continue text in next line
    • ps_curveto - Draws a curve
    • ps_delete - Deletes all resources of a PostScript document
    • ps_end_page - End a page
    • ps_end_pattern - End a pattern
    • ps_end_template - End a template
    • ps_fill - Fills the current path
    • ps_fill_stroke - Fills and strokes the current path
    • ps_findfont - Loads a font
    • ps_get_buffer - Fetches the full buffer containig the generated PS data
    • ps_get_parameter - Gets certain parameters
    • ps_get_value - Gets certain values
    • ps_hyphenate - Hyphenates a word
    • ps_include_file - Reads an external file with raw PostScript code
    • ps_lineto - Draws a line
    • ps_makespotcolor - Create spot color
    • ps_moveto - Sets current point
    • ps_new - Creates a new PostScript document object
    • ps_open_file - Opens a file for output
    • ps_open_image - Reads an image for later placement
    • ps_open_image_file - Opens image from file
    • ps_open_memory_image - Takes an GD image and returns an image for placement in a PS document
    • ps_place_image - Places image on the page
    • ps_rect - Draws a rectangle
    • ps_restore - Restore previously save context
    • ps_rotate - Sets rotation factor
    • ps_save - Save current context
    • ps_scale - Sets scaling factor
    • ps_setcolor - Sets current color
    • ps_setdash - Sets appearance of a dashed line
    • ps_setflat - Sets flatness
    • ps_setfont - Sets font to use for following output
    • ps_setgray - Sets gray value
    • ps_setlinecap - Sets appearance of line ends
    • ps_setlinejoin - Sets how contected lines are joined
    • ps_setlinewidth - Sets width of a line
    • ps_setmiterlimit - Sets the miter limit
    • ps_setoverprintmode - Sets overprint mode
    • ps_setpolydash - Sets appearance of a dashed line
    • ps_set_border_color - Sets color of border for annotations
    • ps_set_border_dash - Sets length of dashes for border of annotations
    • ps_set_border_style - Sets border style of annotations
    • ps_set_info - Sets information fields of document
    • ps_set_parameter - Sets certain parameters
    • ps_set_text_pos - Sets position for text output
    • ps_set_value - Sets certain values
    • ps_shading - Creates a shading for later use
    • ps_shading_pattern - Creates a pattern based on a shading
    • ps_shfill - Fills an area with a shading
    • ps_show - Output text
    • ps_show2 - Output a text at current position
    • ps_show_boxed - Output text in a box
    • ps_show_xy - Output text at given position
    • ps_show_xy2 - Output text at position
    • ps_stringwidth - Gets width of a string
    • ps_string_geometry - Gets geometry of a string
    • ps_stroke - Draws the current path
    • ps_symbol - Output a glyph
    • ps_symbol_name - Gets name of a glyph
    • ps_symbol_width - Gets width of a glyph
    • ps_translate - Sets translation
    • putenv - Define o valor de uma variável de ambiente
    • px_close - Closes a paradox database
    • px_create_fp - Create a new paradox database
    • px_date2string - Converts a date into a string
    • px_delete - Deletes resource of paradox database
    • px_delete_record - Deletes record from paradox database
    • px_get_field - Returns the specification of a single field
    • px_get_info - Return lots of information about a paradox file
    • px_get_parameter - Gets a parameter
    • px_get_record - Returns record of paradox database
    • px_get_schema - Returns the database schema
    • px_get_value - Gets a value
    • px_insert_record - Inserts record into paradox database
    • px_new - Create a new paradox object
    • px_numfields - Returns number of fields in a database
    • px_numrecords - Returns number of records in a database
    • px_open_fp - Open paradox database
    • px_put_record - Stores record into paradox database
    • px_retrieve_record - Returns record of paradox database
    • px_set_blob_file - Sets the file where blobs are read from
    • px_set_parameter - Sets a parameter
    • px_set_tablename - Sets the name of a table (deprecated)
    • px_set_targetencoding - Sets the encoding for character fields (deprecated)
    • px_set_value - Sets a value
    • px_timestamp2string - Converts the timestamp into a string
    • px_update_record - Updates record in paradox database
  • q
    • QuickHashIntHash::add - This method adds a new entry to the hash
    • QuickHashIntHash::delete - This method deletes am entry from the hash
    • QuickHashIntHash::exists - This method checks whether a key is part of the hash
    • QuickHashIntHash::get - This method retrieves a value from the hash by its key
    • QuickHashIntHash::getSize - Returns the number of elements in the hash
    • QuickHashIntHash::loadFromFile - This factory method creates a hash from a file
    • QuickHashIntHash::loadFromString - This factory method creates a hash from a string
    • QuickHashIntHash::saveToFile - This method stores an in-memory hash to disk
    • QuickHashIntHash::saveToString - This method returns a serialized version of the hash
    • QuickHashIntHash::set - This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntHash::update - This method updates an entry in the hash with a new value
    • QuickHashIntHash::__construct - Creates a new QuickHashIntHash object
    • QuickHashIntSet::add - This method adds a new entry to the set
    • QuickHashIntSet::delete - This method deletes an entry from the set
    • QuickHashIntSet::exists - This method checks whether a key is part of the set
    • QuickHashIntSet::getSize - Returns the number of elements in the set
    • QuickHashIntSet::loadFromFile - This factory method creates a set from a file
    • QuickHashIntSet::loadFromString - This factory method creates a set from a string
    • QuickHashIntSet::saveToFile - This method stores an in-memory set to disk
    • QuickHashIntSet::saveToString - This method returns a serialized version of the set
    • QuickHashIntSet::__construct - Creates a new QuickHashIntSet object
    • QuickHashIntStringHash::add - This method adds a new entry to the hash
    • QuickHashIntStringHash::delete - This method deletes am entry from the hash
    • QuickHashIntStringHash::exists - This method checks whether a key is part of the hash
    • QuickHashIntStringHash::get - This method retrieves a value from the hash by its key
    • QuickHashIntStringHash::getSize - Returns the number of elements in the hash
    • QuickHashIntStringHash::loadFromFile - This factory method creates a hash from a file
    • QuickHashIntStringHash::loadFromString - This factory method creates a hash from a string
    • QuickHashIntStringHash::saveToFile - This method stores an in-memory hash to disk
    • QuickHashIntStringHash::saveToString - This method returns a serialized version of the hash
    • QuickHashIntStringHash::set - This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntStringHash::update - This method updates an entry in the hash with a new value
    • QuickHashIntStringHash::__construct - Creates a new QuickHashIntStringHash object
    • QuickHashStringIntHash::add - This method adds a new entry to the hash
    • QuickHashStringIntHash::delete - This method deletes am entry from the hash
    • QuickHashStringIntHash::exists - This method checks whether a key is part of the hash
    • QuickHashStringIntHash::get - This method retrieves a value from the hash by its key
    • QuickHashStringIntHash::getSize - Returns the number of elements in the hash
    • QuickHashStringIntHash::loadFromFile - This factory method creates a hash from a file
    • QuickHashStringIntHash::loadFromString - This factory method creates a hash from a string
    • QuickHashStringIntHash::saveToFile - This method stores an in-memory hash to disk
    • QuickHashStringIntHash::saveToString - This method returns a serialized version of the hash
    • QuickHashStringIntHash::set - This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashStringIntHash::update - This method updates an entry in the hash with a new value
    • QuickHashStringIntHash::__construct - Creates a new QuickHashStringIntHash object
    • quoted_printable_decode - Converte uma string quoted-printable para uma string de 8 bit
    • quoted_printable_encode - Converte uma string de 8 bits em uma string quoted-printable
    • quotemeta - Adiciona uma barra invertida antes dos meta caracteres
  • r
    • rad2deg - Converte o número em radianos para o equivalente em graus
    • radius_acct_open - Creates a Radius handle for accounting
    • radius_add_server - Adds a server
    • radius_auth_open - Creates a Radius handle for authentication
    • radius_close - Frees all ressources
    • radius_config - Causes the library to read the given configuration file
    • radius_create_request - Create accounting or authentication request
    • radius_cvt_addr - Converts raw data to IP-Address
    • radius_cvt_int - Converts raw data to integer
    • radius_cvt_string - Converts raw data to string
    • radius_demangle - Demangles data
    • radius_demangle_mppe_key - Derives mppe-keys from mangled data
    • radius_get_attr - Extracts an attribute
    • radius_get_tagged_attr_data - Extracts the data from a tagged attribute
    • radius_get_tagged_attr_tag - Extracts the tag from a tagged attribute
    • radius_get_vendor_attr - Extracts a vendor specific attribute
    • radius_put_addr - Attaches an IP address attribute
    • radius_put_attr - Attaches a binary attribute
    • radius_put_int - Attaches an integer attribute
    • radius_put_string - Attaches a string attribute
    • radius_put_vendor_addr - Attaches a vendor specific IP address attribute
    • radius_put_vendor_attr - Attaches a vendor specific binary attribute
    • radius_put_vendor_int - Attaches a vendor specific integer attribute
    • radius_put_vendor_string - Attaches a vendor specific string attribute
    • radius_request_authenticator - Returns the request authenticator
    • radius_salt_encrypt_attr - Salt-encrypts a value
    • radius_send_request - Sends the request and waits for a reply
    • radius_server_secret - Returns the shared secret
    • radius_strerror - Returns an error message
    • rand - Gera um inteiro aleatório
    • random_bytes - Generates cryptographically secure pseudo-random bytes
    • random_int - Generates cryptographically secure pseudo-random integers
    • range - Cria um array contendo uma faixa de elementos
    • rar:// - RAR
    • RarArchive::close - Close RAR archive and free all resources
    • RarArchive::getComment - Get comment text from the RAR archive
    • RarArchive::getEntries - Get full list of entries from the RAR archive
    • RarArchive::getEntry - Get entry object from the RAR archive
    • RarArchive::isBroken - Test whether an archive is broken (incomplete)
    • RarArchive::isSolid - Check whether the RAR archive is solid
    • RarArchive::open - Open RAR archive
    • RarArchive::setAllowBroken - Whether opening broken archives is allowed
    • RarArchive::__toString - Get text representation
    • RarEntry::extract - Extract entry from the archive
    • RarEntry::getAttr - Get attributes of the entry
    • RarEntry::getCrc - Get CRC of the entry
    • RarEntry::getFileTime - Get entry last modification time
    • RarEntry::getHostOs - Get entry host OS
    • RarEntry::getMethod - Get pack method of the entry
    • RarEntry::getName - Get name of the entry
    • RarEntry::getPackedSize - Get packed size of the entry
    • RarEntry::getStream - Get file handler for entry
    • RarEntry::getUnpackedSize - Get unpacked size of the entry
    • RarEntry::getVersion - Get minimum version of RAR program required to unpack the entry
    • RarEntry::isDirectory - Test whether an entry represents a directory
    • RarEntry::isEncrypted - Test whether an entry is encrypted
    • RarEntry::__toString - Get text representation of entry
    • RarException::isUsingExceptions - Check whether error handling with exceptions is in use
    • RarException::setUsingExceptions - Activate and deactivate error handling with exceptions
    • rar_wrapper_cache_stats - Cache hits and misses for the URL wrapper
    • rawurldecode - Decodifica uma URL
    • rawurlencode - Codifica uma URL de acordo com RFC 3986
    • readdir - Lê os campos do manipulador do diretório
    • readfile - Lê e exibe o conteúdo de um arquivo
    • readgzfile - Mostra um arquivo-gz
    • readline - Lê uma linha
    • readline_add_history - Adiciona uma linha ao histórico
    • readline_callback_handler_install - Initializes the readline callback interface and terminal, prints the prompt and returns immediately
    • readline_callback_handler_remove - Removes a previously installed callback handler and restores terminal settings
    • readline_callback_read_char - Reads a character and informs the readline callback interface when a line is received
    • readline_clear_history - Limpa a história
    • readline_completion_function - Registra uma função de completar
    • readline_info - Obtém/Define várias variáveis internas do readline
    • readline_list_history - Lista a história
    • readline_on_new_line - Inform readline that the cursor has moved to a new line
    • readline_read_history - Lê a história
    • readline_redisplay - Redraws the display
    • readline_write_history - Grava a história
    • readlink - Retornar o alvo de um link simbólico
    • read_exif_data - Sinônimo de exif_read_data
    • realpath - Retorna o path absoluto canonicalizado
    • realpath_cache_get - Obter entradas de cache do caminho absoluto
    • realpath_cache_size - Obter o tamanho do cache do caminho absoluto
    • recode - Sinônimo de recode_string
    • recode_file - Recode from file to file according to recode request
    • recode_string - Recode a string according to a recode request
    • RecursiveArrayIterator::getChildren - Returns an iterator for the current entry if it is an array or an object
    • RecursiveArrayIterator::hasChildren - Returns whether current entry is an array or an object
    • RecursiveCachingIterator::getChildren - Retorna os filhos do iterador interno como um RecursiveCachingIterator
    • RecursiveCachingIterator::hasChildren - Verifica se o elemento atual do iterador interno possui filhos ou não
    • RecursiveCachingIterator::__construct - Construct
    • RecursiveCallbackFilterIterator::getChildren - Return the inner iterator's children contained in a RecursiveCallbackFilterIterator
    • RecursiveCallbackFilterIterator::hasChildren - Check whether the inner iterator's current element has children
    • RecursiveCallbackFilterIterator::__construct - Create a RecursiveCallbackFilterIterator from a RecursiveIterator
    • RecursiveDirectoryIterator::getChildren - Retorna um iterador para o elemento atual se ele for um diretório
    • RecursiveDirectoryIterator::getSubPath - Get sub path
    • RecursiveDirectoryIterator::getSubPathname - Get sub path and name
    • RecursiveDirectoryIterator::hasChildren - Retorna se o elemento atual é ou não um diretório que não seja '.' nem '..'
    • RecursiveDirectoryIterator::key - Retorna o caminho e o nome do arquivo do elemento atual do diretório
    • RecursiveDirectoryIterator::next - Avança para o próximo elemento
    • RecursiveDirectoryIterator::rewind - Recomeça a iteração do diretório
    • RecursiveDirectoryIterator::__construct - Constructs a RecursiveDirectoryIterator
    • RecursiveFilterIterator::getChildren - Return the inner iterator's children contained in a RecursiveFilterIterator
    • RecursiveFilterIterator::hasChildren - Check whether the inner iterator's current element has children
    • RecursiveFilterIterator::__construct - Create a RecursiveFilterIterator from a RecursiveIterator
    • RecursiveIterator::getChildren - Returns an iterator for the current entry
    • RecursiveIterator::hasChildren - Returns if an iterator can be created for the current entry
    • RecursiveIteratorIterator::beginChildren - Begin children
    • RecursiveIteratorIterator::beginIteration - Begin Iteration
    • RecursiveIteratorIterator::callGetChildren - Get children
    • RecursiveIteratorIterator::callHasChildren - Has children
    • RecursiveIteratorIterator::current - Retorna o valor do elemento atual
    • RecursiveIteratorIterator::endChildren - End children
    • RecursiveIteratorIterator::endIteration - End Iteration
    • RecursiveIteratorIterator::getDepth - Retorna a profundidade atual da iteração recursiva
    • RecursiveIteratorIterator::getInnerIterator - Get inner iterator
    • RecursiveIteratorIterator::getMaxDepth - Get max depth
    • RecursiveIteratorIterator::getSubIterator - Retorna o sub-iterador ativo atual
    • RecursiveIteratorIterator::key - Retorna a chave atual
    • RecursiveIteratorIterator::next - Avança para o próximo elemento
    • RecursiveIteratorIterator::nextElement - Next element
    • RecursiveIteratorIterator::rewind - Recomeça o iterador no primeiro elemento do primeiro iterador interno
    • RecursiveIteratorIterator::setMaxDepth - Set max depth
    • RecursiveIteratorIterator::valid - Verifica se a posição atual é válida ou não
    • RecursiveIteratorIterator::__construct - Construct a RecursiveIteratorIterator
    • RecursiveRegexIterator::getChildren - Returns an iterator for the current entry
    • RecursiveRegexIterator::hasChildren - Returns whether an iterator can be obtained for the current entry
    • RecursiveRegexIterator::__construct - Creates a new RecursiveRegexIterator
    • RecursiveTreeIterator::beginChildren - Begin children
    • RecursiveTreeIterator::beginIteration - Begin iteration
    • RecursiveTreeIterator::callGetChildren - Get children
    • RecursiveTreeIterator::callHasChildren - Has children
    • RecursiveTreeIterator::current - Get current element
    • RecursiveTreeIterator::endChildren - End children
    • RecursiveTreeIterator::endIteration - End iteration
    • RecursiveTreeIterator::getEntry - Get current entry
    • RecursiveTreeIterator::getPostfix - Get the postfix
    • RecursiveTreeIterator::getPrefix - Get the prefix
    • RecursiveTreeIterator::key - Get the key of the current element
    • RecursiveTreeIterator::next - Move to next element
    • RecursiveTreeIterator::nextElement - Next element
    • RecursiveTreeIterator::rewind - Rewind iterator
    • RecursiveTreeIterator::setPostfix - Set postfix
    • RecursiveTreeIterator::setPrefixPart - Set a part of the prefix
    • RecursiveTreeIterator::valid - Check validity
    • RecursiveTreeIterator::__construct - Construct a RecursiveTreeIterator
    • Reflection::export - Exports
    • Reflection::getModifierNames - Gets modifier names
    • ReflectionClass::export - Exports a class
    • ReflectionClass::getConstant - Gets defined constant
    • ReflectionClass::getConstants - Gets constants
    • ReflectionClass::getConstructor - Gets the constructor of the class
    • ReflectionClass::getDefaultProperties - Gets default properties
    • ReflectionClass::getDocComment - Gets doc comments
    • ReflectionClass::getEndLine - Gets end line
    • ReflectionClass::getExtension - Gets a ReflectionExtension object for the extension which defined the class
    • ReflectionClass::getExtensionName - Gets the name of the extension which defined the class
    • ReflectionClass::getFileName - Gets the filename of the file in which the class has been defined
    • ReflectionClass::getInterfaceNames - Gets the interface names
    • ReflectionClass::getInterfaces - Gets the interfaces
    • ReflectionClass::getMethod - Gets a ReflectionMethod for a class method
    • ReflectionClass::getMethods - Gets an array of methods
    • ReflectionClass::getModifiers - Gets the class modifiers
    • ReflectionClass::getName - Gets class name
    • ReflectionClass::getNamespaceName - Gets namespace name
    • ReflectionClass::getParentClass - Gets parent class
    • ReflectionClass::getProperties - Gets properties
    • ReflectionClass::getProperty - Gets a ReflectionProperty for a class's property
    • ReflectionClass::getReflectionConstant - Gets a ReflectionClassConstant for a class's constant
    • ReflectionClass::getReflectionConstants - Gets class constants
    • ReflectionClass::getShortName - Gets short name
    • ReflectionClass::getStartLine - Gets starting line number
    • ReflectionClass::getStaticProperties - Gets static properties
    • ReflectionClass::getStaticPropertyValue - Gets static property value
    • ReflectionClass::getTraitAliases - Returns an array of trait aliases
    • ReflectionClass::getTraitNames - Returns an array of names of traits used by this class
    • ReflectionClass::getTraits - Returns an array of traits used by this class
    • ReflectionClass::hasConstant - Checks if constant is defined
    • ReflectionClass::hasMethod - Checks if method is defined
    • ReflectionClass::hasProperty - Checks if property is defined
    • ReflectionClass::implementsInterface - Implements interface
    • ReflectionClass::inNamespace - Checks if in namespace
    • ReflectionClass::isAbstract - Checks if class is abstract
    • ReflectionClass::isAnonymous - Checks if class is anonymous
    • ReflectionClass::isCloneable - Returns whether this class is cloneable
    • ReflectionClass::isFinal - Checks if class is final
    • ReflectionClass::isInstance - Checks class for instance
    • ReflectionClass::isInstantiable - Checks if the class is instantiable
    • ReflectionClass::isInterface - Checks if the class is an interface
    • ReflectionClass::isInternal - Checks if class is defined internally by an extension, or the core
    • ReflectionClass::isIterable - Check whether this class is iterable
    • ReflectionClass::isIterateable - Sinônimo de ReflectionClass::isIterable
    • ReflectionClass::isSubclassOf - Checks if a subclass
    • ReflectionClass::isTrait - Returns whether this is a trait
    • ReflectionClass::isUserDefined - Checks if user defined
    • ReflectionClass::newInstance - Creates a new class instance from given arguments
    • ReflectionClass::newInstanceArgs - Creates a new class instance from given arguments
    • ReflectionClass::newInstanceWithoutConstructor - Creates a new class instance without invoking the constructor
    • ReflectionClass::setStaticPropertyValue - Sets static property value
    • ReflectionClass::__construct - Constructs a ReflectionClass
    • ReflectionClass::__toString - Returns the string representation of the ReflectionClass object
    • ReflectionClassConstant::export - Export
    • ReflectionClassConstant::getDeclaringClass - Gets declaring class
    • ReflectionClassConstant::getDocComment - Gets doc comments
    • ReflectionClassConstant::getModifiers - Gets the class constant modifiers
    • ReflectionClassConstant::getName - Get name of the constant
    • ReflectionClassConstant::getValue - Gets value
    • ReflectionClassConstant::isPrivate - Checks if class constant is private
    • ReflectionClassConstant::isProtected - Checks if class constant is protected
    • ReflectionClassConstant::isPublic - Checks if class constant is public
    • ReflectionClassConstant::__construct - Constructs a ReflectionClassConstant
    • ReflectionClassConstant::__toString - Returns the string representation of the ReflectionClassConstant object
    • ReflectionExtension::export - Export
    • ReflectionExtension::getClasses - Gets classes
    • ReflectionExtension::getClassNames - Gets class names
    • ReflectionExtension::getConstants - Gets constants
    • ReflectionExtension::getDependencies - Gets dependencies
    • ReflectionExtension::getFunctions - Gets extension functions
    • ReflectionExtension::getINIEntries - Gets extension ini entries
    • ReflectionExtension::getName - Gets extension name
    • ReflectionExtension::getVersion - Gets extension version
    • ReflectionExtension::info - Imprime informações da extensão
    • ReflectionExtension::isPersistent - Returns whether this extension is persistent
    • ReflectionExtension::isTemporary - Returns whether this extension is temporary
    • ReflectionExtension::__clone - Clones
    • ReflectionExtension::__construct - Constructs a ReflectionExtension
    • ReflectionExtension::__toString - To string
    • ReflectionFunction::export - Exports function
    • ReflectionFunction::getClosure - Returns a dynamically created closure for the function
    • ReflectionFunction::invoke - Invokes function
    • ReflectionFunction::invokeArgs - Invokes function args
    • ReflectionFunction::isDisabled - Checks if function is disabled
    • ReflectionFunction::__construct - Constructs a ReflectionFunction object
    • ReflectionFunction::__toString - To string
    • ReflectionFunctionAbstract::getClosureScopeClass - Returns the scope associated to the closure
    • ReflectionFunctionAbstract::getClosureThis - Returns this pointer bound to closure
    • ReflectionFunctionAbstract::getDocComment - Gets doc comment
    • ReflectionFunctionAbstract::getEndLine - Gets end line number
    • ReflectionFunctionAbstract::getExtension - Gets extension info
    • ReflectionFunctionAbstract::getExtensionName - Gets extension name
    • ReflectionFunctionAbstract::getFileName - Gets file name
    • ReflectionFunctionAbstract::getName - Gets function name
    • ReflectionFunctionAbstract::getNamespaceName - Gets namespace name
    • ReflectionFunctionAbstract::getNumberOfParameters - Gets number of parameters
    • ReflectionFunctionAbstract::getNumberOfRequiredParameters - Gets number of required parameters
    • ReflectionFunctionAbstract::getParameters - Gets parameters
    • ReflectionFunctionAbstract::getReturnType - Gets the specified return type of a function
    • ReflectionFunctionAbstract::getShortName - Gets function short name
    • ReflectionFunctionAbstract::getStartLine - Gets starting line number
    • ReflectionFunctionAbstract::getStaticVariables - Gets static variables
    • ReflectionFunctionAbstract::hasReturnType - Checks if the function has a specified return type
    • ReflectionFunctionAbstract::inNamespace - Checks if function in namespace
    • ReflectionFunctionAbstract::isClosure - Checks if closure
    • ReflectionFunctionAbstract::isDeprecated - Checks if deprecated
    • ReflectionFunctionAbstract::isGenerator - Returns whether this function is a generator
    • ReflectionFunctionAbstract::isInternal - Checks if is internal
    • ReflectionFunctionAbstract::isUserDefined - Checks if user defined
    • ReflectionFunctionAbstract::isVariadic - Checks if the function is variadic
    • ReflectionFunctionAbstract::returnsReference - Checks if returns reference
    • ReflectionFunctionAbstract::__clone - Clones function
    • ReflectionFunctionAbstract::__toString - To string
    • ReflectionGenerator::getExecutingFile - Gets the file name of the currently executing generator
    • ReflectionGenerator::getExecutingGenerator - Gets the executing Generator object
    • ReflectionGenerator::getExecutingLine - Gets the currently executing line of the generator
    • ReflectionGenerator::getFunction - Gets the function name of the generator
    • ReflectionGenerator::getThis - Gets the $this value of the generator
    • ReflectionGenerator::getTrace - Gets the trace of the executing generator
    • ReflectionGenerator::__construct - Constructs a ReflectionGenerator object
    • ReflectionMethod::export - Export a reflection method
    • ReflectionMethod::getClosure - Returns a dynamically created closure for the method
    • ReflectionMethod::getDeclaringClass - Gets declaring class for the reflected method
    • ReflectionMethod::getModifiers - Gets the method modifiers
    • ReflectionMethod::getPrototype - Gets the method prototype (if there is one)
    • ReflectionMethod::invoke - Invoke
    • ReflectionMethod::invokeArgs - Invoke args
    • ReflectionMethod::isAbstract - Checks if method is abstract
    • ReflectionMethod::isConstructor - Checks if method is a constructor
    • ReflectionMethod::isDestructor - Checks if method is a destructor
    • ReflectionMethod::isFinal - Checks if method is final
    • ReflectionMethod::isPrivate - Checks if method is private
    • ReflectionMethod::isProtected - Checks if method is protected
    • ReflectionMethod::isPublic - Checks if method is public
    • ReflectionMethod::isStatic - Checks if method is static
    • ReflectionMethod::setAccessible - Set method accessibility
    • ReflectionMethod::__construct - Constructs a ReflectionMethod
    • ReflectionMethod::__toString - Returns the string representation of the Reflection method object
    • ReflectionNamedType::getName - Obtém o texto do tipo sugerido
    • ReflectionNamedType::isBuiltin - Checks if it is a built-in type
    • ReflectionObject::export - Export
    • ReflectionObject::__construct - Constructs a ReflectionObject
    • ReflectionParameter::allowsNull - Checks if null is allowed
    • ReflectionParameter::canBePassedByValue - Returns whether this parameter can be passed by value
    • ReflectionParameter::export - Exports
    • ReflectionParameter::getClass - Get the type hinted class
    • ReflectionParameter::getDeclaringClass - Gets declaring class
    • ReflectionParameter::getDeclaringFunction - Gets declaring function
    • ReflectionParameter::getDefaultValue - Gets default parameter value
    • ReflectionParameter::getDefaultValueConstantName - Returns the default value's constant name if default value is constant or null
    • ReflectionParameter::getName - Gets parameter name
    • ReflectionParameter::getPosition - Gets parameter position
    • ReflectionParameter::getType - Gets a parameter's type
    • ReflectionParameter::hasType - Checks if parameter has a type
    • ReflectionParameter::isArray - Checks if parameter expects an array
    • ReflectionParameter::isCallable - Returns whether parameter MUST be callable
    • ReflectionParameter::isDefaultValueAvailable - Checks if a default value is available
    • ReflectionParameter::isDefaultValueConstant - Returns whether the default value of this parameter is a constant
    • ReflectionParameter::isOptional - Checks if optional
    • ReflectionParameter::isPassedByReference - Checks if passed by reference
    • ReflectionParameter::isVariadic - Checks if the parameter is variadic
    • ReflectionParameter::__clone - Clone
    • ReflectionParameter::__construct - Construct
    • ReflectionParameter::__toString - To string
    • ReflectionProperty::export - Export
    • ReflectionProperty::getDeclaringClass - Gets declaring class
    • ReflectionProperty::getDefaultValue - Returns the default value declared for a property
    • ReflectionProperty::getDocComment - Gets the property doc comment
    • ReflectionProperty::getModifiers - Gets the property modifiers
    • ReflectionProperty::getName - Gets property name
    • ReflectionProperty::getType - Gets a property's type
    • ReflectionProperty::getValue - Gets value
    • ReflectionProperty::hasDefaultValue - Checks if property has a default value declared
    • ReflectionProperty::hasType - Checks if property has a type
    • ReflectionProperty::isDefault - Checks if property is a default property
    • ReflectionProperty::isInitialized - Checks whether a property is initialized
    • ReflectionProperty::isPrivate - Checks if property is private
    • ReflectionProperty::isProtected - Checks if property is protected
    • ReflectionProperty::isPublic - Checks if property is public
    • ReflectionProperty::isStatic - Checks if property is static
    • ReflectionProperty::setAccessible - Set property accessibility
    • ReflectionProperty::setValue - Set property value
    • ReflectionProperty::__clone - Clone
    • ReflectionProperty::__construct - Construct a ReflectionProperty object
    • ReflectionProperty::__toString - To string
    • ReflectionReference::fromArrayElement - Create a ReflectionReference from an array element
    • ReflectionReference::getId - Get unique ID of a reference
    • ReflectionType::allowsNull - Checks if null is allowed
    • ReflectionType::__toString - To string
    • ReflectionUnionType::getTypes - Returns the types included in the union type
    • ReflectionZendExtension::export - Export
    • ReflectionZendExtension::getAuthor - Gets author
    • ReflectionZendExtension::getCopyright - Gets copyright
    • ReflectionZendExtension::getName - Gets name
    • ReflectionZendExtension::getURL - Gets URL
    • ReflectionZendExtension::getVersion - Gets version
    • ReflectionZendExtension::__clone - Clone handler
    • ReflectionZendExtension::__construct - Constructor
    • ReflectionZendExtension::__toString - To string handler
    • Reflector::export - Exports
    • Reflector::__toString - To string
    • RegexIterator::accept - Get accept status
    • RegexIterator::getFlags - Get flags
    • RegexIterator::getMode - Returns operation mode
    • RegexIterator::getPregFlags - Returns the regular expression flags
    • RegexIterator::getRegex - Returns current regular expression
    • RegexIterator::setFlags - Sets the flags
    • RegexIterator::setMode - Sets the operation mode
    • RegexIterator::setPregFlags - Sets the regular expression flags
    • RegexIterator::__construct - Create a new RegexIterator
    • register_shutdown_function - Registra uma função para ser executada ao final da execução
    • register_tick_function - Registra uma função para executar a cada instante
    • rename - Renomeia um arquivo ou diretório
    • reset - Faz o ponteiro interno de um array apontar para o seu primeiro elemento
    • ResourceBundle::count - Obtém o número de elementos no pacote
    • ResourceBundle::create - Cria um pacote de recursos
    • ResourceBundle::get - Obtém os dados do pacote
    • ResourceBundle::getErrorCode - Obtém o código do último erro gerado pelo pacote.
    • ResourceBundle::getErrorMessage - Obtém a mensagem do último erro gerado pelo pacote.
    • ResourceBundle::getLocales - Obtém as localidades suportadas
    • restore_error_handler - Restaura a função anterior para gerenciamento de erro
    • restore_exception_handler - Restauda a função tratadora de exceções anterior.
    • restore_include_path - Restaura o valor da opção de configuração include_path
    • Result::getAffectedItemsCount - Get affected row count
    • Result::getAutoIncrementValue - Get autoincremented value
    • Result::getGeneratedIds - Get generated ids
    • Result::getWarnings - Get warnings from last operation
    • Result::getWarningsCount - Get warning count from last operation
    • Result::__construct - Result constructor
    • rewind - Reinicializa a posição do ponteiro de arquivos para o início
    • rewinddir - Voltar (rewind) o manipulador de diretório
    • rmdir - Remove um diretório
    • round - Arredonda um número
    • RowResult::fetchAll - Get all rows from result
    • RowResult::fetchOne - Get row from result
    • RowResult::getColumnNames - Get all column names
    • RowResult::getColumns - Get column metadata
    • RowResult::getColumnsCount - Get column count
    • RowResult::getWarnings - Get warnings from last operation
    • RowResult::getWarningsCount - Get warning count from last operation
    • RowResult::__construct - RowResult constructor
    • rpmaddtag - Add tag retrieved in query
    • rpmdbinfo - Get information from installed RPM
    • rpmdbsearch - Search RPM packages
    • rpminfo - Get information from a RPM file
    • rpmvercmp - RPM version comparison
    • RRDCreator::addArchive - Adds RRA - archive of data values for each data source
    • RRDCreator::addDataSource - Adds data source definition for RRD database
    • RRDCreator::save - Saves the RRD database to a file
    • RRDCreator::__construct - Creates new RRDCreator instance
    • rrdc_disconnect - Close any outstanding connection to rrd caching daemon
    • RRDGraph::save - Saves the result of query into image
    • RRDGraph::saveVerbose - Saves the RRD database query into image and returns the verbose information about generated graph
    • RRDGraph::setOptions - Sets the options for rrd graph export
    • RRDGraph::__construct - Creates new RRDGraph instance
    • RRDUpdater::update - Update the RRD database file
    • RRDUpdater::__construct - Creates new RRDUpdater instance
    • rrd_create - Creates rrd database file
    • rrd_error - Gets latest error message
    • rrd_fetch - Fetch the data for graph as array
    • rrd_first - Gets the timestamp of the first sample from rrd file
    • rrd_graph - Creates image from a data
    • rrd_info - Gets information about rrd file
    • rrd_last - Gets unix timestamp of the last sample
    • rrd_lastupdate - Gets information about last updated data
    • rrd_restore - Restores the RRD file from XML dump
    • rrd_tune - Tunes some RRD database file header options
    • rrd_update - Updates the RRD database
    • rrd_version - Gets information about underlying rrdtool library
    • rrd_xport - Exports the information about RRD database
    • rsort - Ordena um array em ordem descrescente
    • rtrim - Retira espaço em branco (ou outros caracteres) do final da string
    • runkit7_constant_add - Similar to define(), but allows defining in class definitions as well
    • runkit7_constant_redefine - Redefine an already defined constant
    • runkit7_constant_remove - Remove/Delete an already defined constant
    • runkit7_function_add - Add a new function, similar to create_function
    • runkit7_function_copy - Copy a function to a new function name
    • runkit7_function_redefine - Replace a function definition with a new implementation
    • runkit7_function_remove - Remove a function definition
    • runkit7_function_rename - Change a function's name
    • runkit7_import - Process a PHP file importing function and class definitions, overwriting where appropriate
    • runkit7_method_add - Dynamically adds a new method to a given class
    • runkit7_method_copy - Copies a method from class to another
    • runkit7_method_redefine - Dynamically changes the code of the given method
    • runkit7_method_remove - Dynamically removes the given method
    • runkit7_method_rename - Dynamically changes the name of the given method
    • runkit7_object_id - Return the integer object handle for given object
    • runkit7_superglobals - Return numerically indexed array of registered superglobals
    • runkit7_zval_inspect - Returns information about the passed in value with data types, reference counts, etc
  • s
    • sapi_windows_cp_conv - Convert string from one codepage to another
    • sapi_windows_cp_get - Get current codepage
    • sapi_windows_cp_is_utf8 - Indicates whether the codepage is UTF-8 compatible
    • sapi_windows_cp_set - Set process codepage
    • sapi_windows_generate_ctrl_event - Send a CTRL event to another process
    • sapi_windows_set_ctrl_handler - Set or remove a CTRL event handler
    • sapi_windows_vt100_support - Get or set VT100 support for the specified stream associated to an output buffer of a Windows console.
    • scandir - Lista os arquivos e diretórios que estão no caminho especificado
    • Schema::createCollection - Add collection to schema
    • Schema::dropCollection - Drop collection from schema
    • Schema::existsInDatabase - Check if exists in database
    • Schema::getCollection - Get collection from schema
    • Schema::getCollectionAsTable - Get collection table object
    • Schema::getCollections - Get all schema collections
    • Schema::getName - Get schema name
    • Schema::getSession - Get schema session
    • Schema::getTable - Get schema table
    • Schema::getTables - Get schema tables
    • Schema::__construct - constructor
    • SchemaObject::getSchema - Get schema object
    • scoutapm_get_calls - Returns a list of instrumented calls that have occurred
    • scoutapm_list_instrumented_functions - List functions scoutapm will instrument.
    • SeasLog::alert - Record alert log information
    • SeasLog::analyzerCount - Get log count by level, log_path and key_word
    • SeasLog::analyzerDetail - Get log detail by level, log_path, key_word, start, limit, order
    • SeasLog::closeLoggerStream - Manually release stream flow from logger
    • SeasLog::critical - Record critical log information
    • SeasLog::debug - Record debug log information
    • SeasLog::emergency - Record emergency log information
    • SeasLog::error - Record error log information
    • SeasLog::flushBuffer - Flush logs buffer, dump to appender file, or send to remote api with tcp/udp
    • SeasLog::getBasePath - Get SeasLog base path.
    • SeasLog::getBuffer - Get the logs buffer in memory as array
    • SeasLog::getBufferEnabled - Determin if buffer enabled
    • SeasLog::getDatetimeFormat - Get SeasLog datetime format style
    • SeasLog::getLastLogger - Get SeasLog last logger path
    • SeasLog::getRequestID - Get SeasLog request_id differentiated requests
    • SeasLog::getRequestVariable - Get SeasLog request variable
    • SeasLog::info - Record info log information
    • SeasLog::log - The Common Record Log Function
    • SeasLog::notice - Record notice log information
    • SeasLog::setBasePath - Set SeasLog base path
    • SeasLog::setDatetimeFormat - Set SeasLog datetime format style
    • SeasLog::setLogger - Set SeasLog logger name
    • SeasLog::setRequestID - Set SeasLog request_id differentiated requests
    • SeasLog::setRequestVariable - Manually set SeasLog request variable
    • SeasLog::warning - Record warning log information
    • SeasLog::__construct - Description
    • SeasLog::__destruct - Description
    • seaslog_get_author - Get SeasLog author.
    • seaslog_get_version - Get SeasLog version.
    • SeekableIterator::seek - Seeks to a position
    • sem_acquire - Acquire a semaphore
    • sem_get - Get a semaphore id
    • sem_release - Release a semaphore
    • sem_remove - Remove a semaphore
    • Serializable::serialize - String representation of object
    • Serializable::unserialize - Constructs the object
    • serialize - Generates a storable representation of a value
    • Session::close - Close session
    • Session::createSchema - Create new schema
    • Session::dropSchema - Drop a schema
    • Session::generateUUID - Get new UUID
    • Session::getDefaultSchema - Get default schema name
    • Session::getSchema - Get a new schema object
    • Session::getSchemas - Get the schemas
    • Session::getServerVersion - Get server version
    • Session::listClients - Get client list
    • Session::quoteName - Add quotes
    • Session::releaseSavepoint - Release set savepoint
    • Session::rollback - Rollback transaction
    • Session::rollbackTo - Rollback transaction to savepoint
    • Session::setSavepoint - Create savepoint
    • Session::sql - Execute SQL query
    • Session::startTransaction - Start transaction
    • Session::__construct - Description constructor
    • SessionHandler::close - Fecha a sessão
    • SessionHandler::create_sid - Retorna um novo ID de sessão
    • SessionHandler::destroy - Destrói uma sessão
    • SessionHandler::gc - Apaga sessões antigas
    • SessionHandler::open - Inicia uma sessão
    • SessionHandler::read - Lê os dados de sessão
    • SessionHandler::write - Escreve os dados de sessão
    • SessionHandlerInterface::close - Fecha a sessão
    • SessionHandlerInterface::destroy - Destrói uma sessão
    • SessionHandlerInterface::gc - Remove sessões antigas
    • SessionHandlerInterface::open - Inicializa uma sessão
    • SessionHandlerInterface::read - Lê os dados de sessão
    • SessionHandlerInterface::write - Escreve os dados de sessão
    • session_abort - Descarta as alterações no array da sessão e encerra a sessão
    • session_cache_expire - Retorna o prazo do cache atual
    • session_cache_limiter - Obtém e/ou define o limitador do cache atual
    • session_commit - Sinônimo de session_write_close
    • session_create_id - Create new session id
    • session_decode - Decodifica dados de sessão de uma sessão codificada em formato string
    • session_destroy - Destrói todos os dados registrados em uma sessão
    • session_encode - Codifica os dados atuais da sessão como uma sessão codificada em formato string
    • session_gc - Perform session data garbage collection
    • session_get_cookie_params - Obtém os parâmetros do cookie da sessão
    • session_id - Obtém e/ou define o id de sessão atual
    • session_is_registered - Verifica se uma variável global está registrada numa sessão
    • session_module_name - Obtém e/ou define o módulo da sessão atual
    • session_name - Obtém e/ou define o nome da sessão atual
    • session_regenerate_id - Atualiza o id da sessão atual com um novo id gerado
    • session_register_shutdown - Função de finalização da sessão
    • session_reset - Reinicializa um array de sessão com os valores originais
    • session_save_path - Obtém e/ou define o caminho para armazenamento da sessão atual
    • session_set_cookie_params - Define os parâmetros do cookie de sessão
    • session_set_save_handler - Define funções de armazenamento de sessão à nível de usuário
    • session_start - Inicia uma nova sessão ou resume uma sessão existente
    • session_status - Retorna o status atual da sessão
    • session_unregister - Desregistra uma variável global da sessão atual
    • session_unset - Libera todas as variáveis de sessão
    • session_write_close - Guarda os dados de sessão e fecha a sessão
    • setcookie - Envia um cookie
    • setlocale - Define informações locais
    • setproctitle - Set the process title
    • setrawcookie - Send a cookie without urlencoding the cookie value
    • setthreadtitle - Set the thread title
    • settype - Atribui um tipo para a variável
    • set_error_handler - Define uma função do usuário para manipular erros
    • set_exception_handler - Define uma função definida pelo usuário para tratamento de exceções
    • set_file_buffer - Sinônimo de stream_set_write_buffer
    • set_include_path - Define a opção de configuração include_path
    • set_time_limit - Limita o tempo de execução do script
    • sha1 - Calcula a hash sha1 de uma string
    • sha1_file - Calcula a hash sha1 de um arquivo
    • shell_exec - Executa um comando via shell e retorna a saída inteira como uma string
    • shmop_close - Fecha um bloco de memória compartilhada
    • shmop_delete - Deleta um bloco de memória compartilhada
    • shmop_open - Cria ou abre um bloco de memória compartilhada
    • shmop_read - Lê dados de um bloco de memória compartilhada
    • shmop_size - Pega o tamanho do bloco de memória compartilhada
    • shmop_write - Escreve dados em um bloco de memória compartilhada
    • shm_attach - Creates or open a shared memory segment
    • shm_detach - Disconnects from shared memory segment
    • shm_get_var - Returns a variable from shared memory
    • shm_has_var - Check whether a specific entry exists
    • shm_put_var - Inserts or updates a variable in shared memory
    • shm_remove - Removes shared memory from Unix systems
    • shm_remove_var - Removes a variable from shared memory
    • show_source - Sinônimo de highlight_file
    • shuffle - Mistura os elementos de um array
    • similar_text - Calcula a similaridade entre duas strings
    • SimpleXMLElement::addAttribute - Adiciona um atributo a elemento SimpleXML
    • SimpleXMLElement::addChild - Adiciona um elemento filho à um nó XML
    • SimpleXMLElement::asXML - Retorna uma string XML bem formada (well-formed) baseada em um elemento SimpleXML
    • SimpleXMLElement::attributes - Identifica um atributo de um elemento
    • SimpleXMLElement::children - Encontra os nós filhos de um dado nó
    • SimpleXMLElement::count - Conta os filhos de um elemento
    • SimpleXMLElement::getDocNamespaces - Retorna um namespace declarado no documento
    • SimpleXMLElement::getName - Pega o nome de um elemento XML
    • SimpleXMLElement::getNamespaces - Retorna os namespaces utilizados no documento
    • SimpleXMLElement::registerXPathNamespace - Cria um prefixo/namespace de contexto para a próxima consulta XPath
    • SimpleXMLElement::saveXML - Sinônimo de SimpleXMLElement::asXML
    • SimpleXMLElement::xpath - Executa uma consulta XPath em dados XML
    • SimpleXMLElement::__construct - Cria um novo objeto SimpleXMLElement
    • SimpleXMLElement::__toString - Retorna o conteúdo como uma string
    • SimpleXMLIterator::current - Retorna o elemento atual do SimpleXML
    • SimpleXMLIterator::getChildren - Retorna um iterador para o elemento atual se ele for um objeto SimpleXML
    • SimpleXMLIterator::hasChildren - Retorna se o elemento atual é um objeto SimpleXML
    • SimpleXMLIterator::key - Retorna a chave atual do SimpleXML
    • SimpleXMLIterator::next - Avança para o próximo elemento
    • SimpleXMLIterator::rewind - Recomeça o SimpleXML
    • SimpleXMLIterator::valid - Verifica se o SimpleXML possui mais elementos
    • simplexml_import_dom - Recebe um objeto SimpleXMLElement de um nó DOM
    • simplexml_load_file - Interpreta um arquivo XML e o transforma em um objeto
    • simplexml_load_string - Interpreta uma string XML e a transforma em um objeto
    • sin - Seno
    • sinh - Seno hiperbólico
    • sizeof - Sinônimo de count
    • sleep - Atrasa a execução do script
    • snmp2_get - Fetch an SNMP object
    • snmp2_getnext - Fetch the SNMP object which follows the given object id
    • snmp2_real_walk - Return all objects including their respective object ID within the specified one
    • snmp2_set - Set the value of an SNMP object
    • snmp2_walk - Fetch all the SNMP objects from an agent
    • snmp3_get - Fetch an SNMP object
    • snmp3_getnext - Fetch the SNMP object which follows the given object id
    • snmp3_real_walk - Return all objects including their respective object ID within the specified one
    • snmp3_set - Set the value of an SNMP object
    • snmp3_walk - Fetch all the SNMP objects from an agent
    • SNMP::close - Close SNMP session
    • SNMP::get - Fetch an SNMP object
    • SNMP::getErrno - Get last error code
    • SNMP::getError - Get last error message
    • SNMP::getnext - Fetch an SNMP object which follows the given object id
    • SNMP::set - Set the value of an SNMP object
    • SNMP::setSecurity - Configures security-related SNMPv3 session parameters
    • SNMP::walk - Fetch SNMP object subtree
    • SNMP::__construct - Creates SNMP instance representing session to remote SNMP agent
    • snmpget - Fetch an SNMP object
    • snmpgetnext - Fetch the SNMP object which follows the given object id
    • snmprealwalk - Return all objects including their respective object ID within the specified one
    • snmpset - Set the value of an SNMP object
    • snmpwalk - Fetch all the SNMP objects from an agent
    • snmpwalkoid - Query for a tree of information about a network entity
    • snmp_get_quick_print - Fetches the current value of the NET-SNMP library's quick_print setting
    • snmp_get_valueretrieval - Return the method how the SNMP values will be returned
    • snmp_read_mib - Reads and parses a MIB file into the active MIB tree
    • snmp_set_enum_print - Return all values that are enums with their enum value instead of the raw integer
    • snmp_set_oid_numeric_print - Set the OID output format
    • snmp_set_oid_output_format - Set the OID output format
    • snmp_set_quick_print - Set the value of enable within the NET-SNMP library
    • snmp_set_valueretrieval - Specify the method how the SNMP values will be returned
    • SoapClient::__call - Calls a SOAP function (deprecated)
    • SoapClient::__construct - SoapClient constructor
    • SoapClient::__doRequest - Performs a SOAP request
    • SoapClient::__getCookies - Get list of cookies
    • SoapClient::__getFunctions - Returns list of available SOAP functions
    • SoapClient::__getLastRequest - Returns last SOAP request
    • SoapClient::__getLastRequestHeaders - Returns the SOAP headers from the last request
    • SoapClient::__getLastResponse - Returns last SOAP response
    • SoapClient::__getLastResponseHeaders - Returns the SOAP headers from the last response
    • SoapClient::__getTypes - Returns a list of SOAP types
    • SoapClient::__setCookie - Defines a cookie for SOAP requests
    • SoapClient::__setLocation - Sets the location of the Web service to use
    • SoapClient::__setSoapHeaders - Sets SOAP headers for subsequent calls
    • SoapClient::__soapCall - Calls a SOAP function
    • SoapFault::__construct - SoapFault constructor
    • SoapFault::__toString - Obtain a string representation of a SoapFault
    • SoapHeader::__construct - SoapHeader constructor
    • SoapParam::__construct - SoapParam constructor
    • SoapServer::addFunction - Adds one or more functions to handle SOAP requests
    • SoapServer::addSoapHeader - Add a SOAP header to the response
    • SoapServer::fault - Issue SoapServer fault indicating an error
    • SoapServer::getFunctions - Returns list of defined functions
    • SoapServer::handle - Handles a SOAP request
    • SoapServer::setClass - Sets the class which handles SOAP requests
    • SoapServer::setObject - Sets the object which will be used to handle SOAP requests
    • SoapServer::setPersistence - Sets SoapServer persistence mode
    • SoapServer::__construct - SoapServer constructor
    • SoapVar::__construct - SoapVar constructor
    • socket_accept - Aceita uma conexão com um socket
    • socket_addrinfo_bind - Create and bind to a socket from a given addrinfo
    • socket_addrinfo_connect - Create and connect to a socket from a given addrinfo
    • socket_addrinfo_explain - Get information about addrinfo
    • socket_addrinfo_lookup - Get array with contents of getaddrinfo about the given hostname
    • socket_bind - Passa um nome para o socket
    • socket_clear_error - Limpa o erro no socket ou o último código de erro
    • socket_close - Fecha um socket resource
    • socket_cmsg_space - Calculate message buffer size
    • socket_connect - Inicializa uma conexão em um socket
    • socket_create - Cria um socket (endpoint para comunicação)
    • socket_create_listen - Abre uma porta do socket para aceitar conexões
    • socket_create_pair - Cria um par de sockets irreconhecíveis e armazena-os no fds.
    • socket_export_stream - Export a socket into a stream that encapsulates a socket
    • socket_getopt - Sinônimo de socket_get_option
    • socket_getpeername - Pergunta ao lado remoto do socket dado qual deve ser o resultado em host/port ou no endereço UNIX filesystem, dependendo deste tipo.
    • socket_getsockname - Pergunta o lado local dado do socket no qual deve retornar resultados no host/port ou no endereço UNIX filesystem, dependendo do tipo.
    • socket_get_option - Pega opções de socket para o socket
    • socket_get_status - Sinônimo de stream_get_meta_data
    • socket_import_stream - Import a stream
    • socket_last_error - Retorna o último erro no socket
    • socket_listen - Abre escuta para uma conexão no socket
    • socket_read - Lê um comprimento máximo de bytes de um socket
    • socket_recv - Recebe dados de um socket conectado
    • socket_recvfrom - Recebe dados de um socket, conectado ou não
    • socket_recvmsg - Read a message
    • socket_select - Executa a chamada de sistema select() nos arrays dados de sockets com um timeout especificado
    • socket_send - Envia dados para um socket conectado
    • socket_sendmsg - Send a message
    • socket_sendto - Envia uma mensagem para o socket, se estiver conectado ou não
    • socket_setopt - Sinônimo de socket_set_option
    • socket_set_block - Configura o modo bloqueio em um socket resource
    • socket_set_blocking - Sinônimo de stream_set_blocking
    • socket_set_nonblock - Configura o modo nonblocking para o arquivo de descrição fd
    • socket_set_option - Configura opções de socket para o socket
    • socket_set_timeout - Sinônimo de stream_set_timeout
    • socket_shutdown - Fecha um socket para receber, enviar dados ou ambos.
    • socket_strerror - Retorna uma string descrevendo o erro do socket
    • socket_write - Escreve em um socket
    • socket_wsaprotocol_info_export - Exports the WSAPROTOCOL_INFO Structure
    • socket_wsaprotocol_info_import - Imports a Socket from another Process
    • socket_wsaprotocol_info_release - Releases an exported WSAPROTOCOL_INFO Structure
    • sodium_add - Add large numbers
    • sodium_base642bin - Description
    • sodium_bin2base64 - Description
    • sodium_bin2hex - Encode to hexadecimal
    • sodium_compare - Compare large numbers
    • sodium_crypto_aead_aes256gcm_decrypt - Decrypt in combined mode with precalculation
    • sodium_crypto_aead_aes256gcm_encrypt - Encrypt in combined mode with precalculation
    • sodium_crypto_aead_aes256gcm_is_available - Check if hardware supports AES256-GCM
    • sodium_crypto_aead_aes256gcm_keygen - Get random bytes for key
    • sodium_crypto_aead_chacha20poly1305_decrypt - Verify that the ciphertext includes a valid tag
    • sodium_crypto_aead_chacha20poly1305_encrypt - Encrypt a message
    • sodium_crypto_aead_chacha20poly1305_ietf_decrypt - Verify that the ciphertext includes a valid tag
    • sodium_crypto_aead_chacha20poly1305_ietf_encrypt - Encrypt a message
    • sodium_crypto_aead_chacha20poly1305_ietf_keygen - Get random bytes for key
    • sodium_crypto_aead_chacha20poly1305_keygen - Get random bytes for key
    • sodium_crypto_aead_xchacha20poly1305_ietf_decrypt - Description
    • sodium_crypto_aead_xchacha20poly1305_ietf_encrypt - Description
    • sodium_crypto_aead_xchacha20poly1305_ietf_keygen - Description
    • sodium_crypto_auth - Compute a tag for the message
    • sodium_crypto_auth_keygen - Get random bytes for key
    • sodium_crypto_auth_verify - Verifies that the tag is valid for the message
    • sodium_crypto_box - Encrypt a message
    • sodium_crypto_box_keypair - Randomly generate a secret key and a corresponding public key
    • sodium_crypto_box_keypair_from_secretkey_and_publickey - Description
    • sodium_crypto_box_open - Verify and decrypt a ciphertext
    • sodium_crypto_box_publickey - Description
    • sodium_crypto_box_publickey_from_secretkey - Description
    • sodium_crypto_box_seal - Encrypt a message
    • sodium_crypto_box_seal_open - Decrypt the ciphertext
    • sodium_crypto_box_secretkey - Description
    • sodium_crypto_box_seed_keypair - Deterministically derive the key pair from a single key
    • sodium_crypto_generichash - Get a hash of the message
    • sodium_crypto_generichash_final - Complete the hash
    • sodium_crypto_generichash_init - Initialize a hash
    • sodium_crypto_generichash_keygen - Get random bytes for key
    • sodium_crypto_generichash_update - Add message to a hash
    • sodium_crypto_kdf_derive_from_key - Derive a subkey
    • sodium_crypto_kdf_keygen - Get random bytes for key
    • sodium_crypto_kx_client_session_keys - Description
    • sodium_crypto_kx_keypair - Creates a new sodium keypair
    • sodium_crypto_kx_publickey - Description
    • sodium_crypto_kx_secretkey - Description
    • sodium_crypto_kx_seed_keypair - Description
    • sodium_crypto_kx_server_session_keys - Description
    • sodium_crypto_pwhash - Derive a key from a password
    • sodium_crypto_pwhash_scryptsalsa208sha256 - Derives a key from a password
    • sodium_crypto_pwhash_scryptsalsa208sha256_str - Get an ASCII encoded hash
    • sodium_crypto_pwhash_scryptsalsa208sha256_str_verify - Verify that the password is a valid password verification string
    • sodium_crypto_pwhash_str - Get an ASCII-encoded hash
    • sodium_crypto_pwhash_str_needs_rehash - Description
    • sodium_crypto_pwhash_str_verify - Verifies that a password matches a hash
    • sodium_crypto_scalarmult - Compute a shared secret given a user's secret key and another user's public key
    • sodium_crypto_scalarmult_base - Sinônimo de sodium_crypto_box_publickey_from_secretkey
    • sodium_crypto_secretbox - Encrypt a message
    • sodium_crypto_secretbox_keygen - Get random bytes for key
    • sodium_crypto_secretbox_open - Verify and decrypt a ciphertext
    • sodium_crypto_secretstream_xchacha20poly1305_init_pull - Description
    • sodium_crypto_secretstream_xchacha20poly1305_init_push - Description
    • sodium_crypto_secretstream_xchacha20poly1305_keygen - Description
    • sodium_crypto_secretstream_xchacha20poly1305_pull - Description
    • sodium_crypto_secretstream_xchacha20poly1305_push - Description
    • sodium_crypto_secretstream_xchacha20poly1305_rekey - Description
    • sodium_crypto_shorthash - Compute a fixed-size fingerprint for the message
    • sodium_crypto_shorthash_keygen - Get random bytes for key
    • sodium_crypto_sign - Sign a message
    • sodium_crypto_sign_detached - Sign the message
    • sodium_crypto_sign_ed25519_pk_to_curve25519 - Convert an Ed25519 public key to a Curve25519 public key
    • sodium_crypto_sign_ed25519_sk_to_curve25519 - Convert an Ed25519 secret key to a Curve25519 secret key
    • sodium_crypto_sign_keypair - Randomly generate a secret key and a corresponding public key
    • sodium_crypto_sign_keypair_from_secretkey_and_publickey - Description
    • sodium_crypto_sign_open - Check that the signed message has a valid signature
    • sodium_crypto_sign_publickey - Description
    • sodium_crypto_sign_publickey_from_secretkey - Extract the public key from the secret key
    • sodium_crypto_sign_secretkey - Description
    • sodium_crypto_sign_seed_keypair - Deterministically derive the key pair from a single key
    • sodium_crypto_sign_verify_detached - Verify signature for the message
    • sodium_crypto_stream - Generate a deterministic sequence of bytes from a seed
    • sodium_crypto_stream_keygen - Get random bytes for key
    • sodium_crypto_stream_xor - Encrypt a message
    • sodium_hex2bin - Decodes a hexadecimally encoded binary string
    • sodium_increment - Increment large number
    • sodium_memcmp - Test for equality in constant-time
    • sodium_memzero - Overwrite buf with zeros
    • sodium_pad - Add padding data
    • sodium_unpad - Remove padding data
    • SolrClient::addDocument - Adds a document to the index
    • SolrClient::addDocuments - Adds a collection of SolrInputDocument instances to the index
    • SolrClient::commit - Finalizes all add/deletes made to the index
    • SolrClient::deleteById - Delete by Id
    • SolrClient::deleteByIds - Deletes by Ids
    • SolrClient::deleteByQueries - Removes all documents matching any of the queries
    • SolrClient::deleteByQuery - Deletes all documents matching the given query
    • SolrClient::getById - Get Document By Id. Utilizes Solr Realtime Get (RTG)
    • SolrClient::getByIds - Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)
    • SolrClient::getDebug - Returns the debug data for the last connection attempt
    • SolrClient::getOptions - Returns the client options set internally
    • SolrClient::optimize - Defragments the index
    • SolrClient::ping - Checks if Solr server is still up
    • SolrClient::query - Sends a query to the server
    • SolrClient::request - Sends a raw update request
    • SolrClient::rollback - Rollbacks all add/deletes made to the index since the last commit
    • SolrClient::setResponseWriter - Sets the response writer used to prepare the response from Solr
    • SolrClient::setServlet - Changes the specified servlet type to a new value
    • SolrClient::system - Retrieve Solr Server information
    • SolrClient::threads - Checks the threads status
    • SolrClient::__construct - Constructor for the SolrClient object
    • SolrClient::__destruct - Destructor for SolrClient
    • SolrClientException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrCollapseFunction::getField - Returns the field that is being collapsed on
    • SolrCollapseFunction::getHint - Returns collapse hint
    • SolrCollapseFunction::getMax - Returns max parameter
    • SolrCollapseFunction::getMin - Returns min parameter
    • SolrCollapseFunction::getNullPolicy - Returns null policy
    • SolrCollapseFunction::getSize - Returns size parameter
    • SolrCollapseFunction::setField - Sets the field to collapse on
    • SolrCollapseFunction::setHint - Sets collapse hint
    • SolrCollapseFunction::setMax - Selects the group heads by the max value of a numeric field or function query
    • SolrCollapseFunction::setMin - Sets the initial size of the collapse data structures when collapsing on a numeric field only
    • SolrCollapseFunction::setNullPolicy - Sets the NULL Policy
    • SolrCollapseFunction::setSize - Sets the initial size of the collapse data structures when collapsing on a numeric field only
    • SolrCollapseFunction::__construct - Constructor
    • SolrCollapseFunction::__toString - Returns a string representing the constructed collapse function
    • SolrDisMaxQuery::addBigramPhraseField - Adds a Phrase Bigram Field (pf2 parameter)
    • SolrDisMaxQuery::addBoostQuery - Adds a boost query field with value and optional boost (bq parameter)
    • SolrDisMaxQuery::addPhraseField - Adds a Phrase Field (pf parameter)
    • SolrDisMaxQuery::addQueryField - Add a query field with optional boost (qf parameter)
    • SolrDisMaxQuery::addTrigramPhraseField - Adds a Trigram Phrase Field (pf3 parameter)
    • SolrDisMaxQuery::addUserField - Adds a field to User Fields Parameter (uf)
    • SolrDisMaxQuery::removeBigramPhraseField - Removes phrase bigram field (pf2 parameter)
    • SolrDisMaxQuery::removeBoostQuery - Removes a boost query partial by field name (bq)
    • SolrDisMaxQuery::removePhraseField - Removes a Phrase Field (pf parameter)
    • SolrDisMaxQuery::removeQueryField - Removes a Query Field (qf parameter)
    • SolrDisMaxQuery::removeTrigramPhraseField - Removes a Trigram Phrase Field (pf3 parameter)
    • SolrDisMaxQuery::removeUserField - Removes a field from The User Fields Parameter (uf)
    • SolrDisMaxQuery::setBigramPhraseFields - Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
    • SolrDisMaxQuery::setBigramPhraseSlop - Sets Bigram Phrase Slop (ps2 parameter)
    • SolrDisMaxQuery::setBoostFunction - Sets a Boost Function (bf parameter)
    • SolrDisMaxQuery::setBoostQuery - Directly Sets Boost Query Parameter (bq)
    • SolrDisMaxQuery::setMinimumMatch - Set Minimum "Should" Match (mm)
    • SolrDisMaxQuery::setPhraseFields - Sets Phrase Fields and their boosts (and slops) using pf2 parameter
    • SolrDisMaxQuery::setPhraseSlop - Sets the default slop on phrase queries (ps parameter)
    • SolrDisMaxQuery::setQueryAlt - Set Query Alternate (q.alt parameter)
    • SolrDisMaxQuery::setQueryPhraseSlop - Specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)
    • SolrDisMaxQuery::setTieBreaker - Sets Tie Breaker parameter (tie parameter)
    • SolrDisMaxQuery::setTrigramPhraseFields - Directly Sets Trigram Phrase Fields (pf3 parameter)
    • SolrDisMaxQuery::setTrigramPhraseSlop - Sets Trigram Phrase Slop (ps3 parameter)
    • SolrDisMaxQuery::setUserFields - Sets User Fields parameter (uf)
    • SolrDisMaxQuery::useDisMaxQueryParser - Switch QueryParser to be DisMax Query Parser
    • SolrDisMaxQuery::useEDisMaxQueryParser - Switch QueryParser to be EDisMax
    • SolrDisMaxQuery::__construct - Class Constructor
    • SolrDocument::addField - Adds a field to the document
    • SolrDocument::clear - Drops all the fields in the document
    • SolrDocument::current - Retrieves the current field
    • SolrDocument::deleteField - Removes a field from the document
    • SolrDocument::fieldExists - Checks if a field exists in the document
    • SolrDocument::getChildDocuments - Returns an array of child documents (SolrDocument)
    • SolrDocument::getChildDocumentsCount - Returns the number of child documents
    • SolrDocument::getField - Retrieves a field by name
    • SolrDocument::getFieldCount - Returns the number of fields in this document
    • SolrDocument::getFieldNames - Returns an array of fields names in the document
    • SolrDocument::getInputDocument - Returns a SolrInputDocument equivalent of the object
    • SolrDocument::hasChildDocuments - Checks whether the document has any child documents
    • SolrDocument::key - Retrieves the current key
    • SolrDocument::merge - Merges source to the current SolrDocument
    • SolrDocument::next - Moves the internal pointer to the next field
    • SolrDocument::offsetExists - Checks if a particular field exists
    • SolrDocument::offsetGet - Retrieves a field
    • SolrDocument::offsetSet - Adds a field to the document
    • SolrDocument::offsetUnset - Removes a field
    • SolrDocument::reset - This is an alias to SolrDocument::clear()
    • SolrDocument::rewind - Resets the internal pointer to the beginning
    • SolrDocument::serialize - Used for custom serialization
    • SolrDocument::sort - Sorts the fields in the document
    • SolrDocument::toArray - Returns an array representation of the document
    • SolrDocument::unserialize - Custom serialization of SolrDocument objects
    • SolrDocument::valid - Checks if the current position internally is still valid
    • SolrDocument::__clone - Creates a copy of a SolrDocument object
    • SolrDocument::__construct - Constructor
    • SolrDocument::__destruct - Destructor
    • SolrDocument::__get - Access the field as a property
    • SolrDocument::__isset - Checks if a field exists
    • SolrDocument::__set - Adds another field to the document
    • SolrDocument::__unset - Removes a field from the document
    • SolrDocumentField::__construct - Constructor
    • SolrDocumentField::__destruct - Destructor
    • SolrException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrGenericResponse::__construct - Constructor
    • SolrGenericResponse::__destruct - Destructor
    • SolrIllegalArgumentException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrIllegalOperationException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrInputDocument::addChildDocument - Adds a child document for block indexing
    • SolrInputDocument::addChildDocuments - Adds an array of child documents
    • SolrInputDocument::addField - Adds a field to the document
    • SolrInputDocument::clear - Resets the input document
    • SolrInputDocument::deleteField - Removes a field from the document
    • SolrInputDocument::fieldExists - Checks if a field exists
    • SolrInputDocument::getBoost - Retrieves the current boost value for the document
    • SolrInputDocument::getChildDocuments - Returns an array of child documents (SolrInputDocument)
    • SolrInputDocument::getChildDocumentsCount - Returns the number of child documents
    • SolrInputDocument::getField - Retrieves a field by name
    • SolrInputDocument::getFieldBoost - Retrieves the boost value for a particular field
    • SolrInputDocument::getFieldCount - Returns the number of fields in the document
    • SolrInputDocument::getFieldNames - Returns an array containing all the fields in the document
    • SolrInputDocument::hasChildDocuments - Returns true if the document has any child documents
    • SolrInputDocument::merge - Merges one input document into another
    • SolrInputDocument::reset - This is an alias of SolrInputDocument::clear
    • SolrInputDocument::setBoost - Sets the boost value for this document
    • SolrInputDocument::setFieldBoost - Sets the index-time boost value for a field
    • SolrInputDocument::sort - Sorts the fields within the document
    • SolrInputDocument::toArray - Returns an array representation of the input document
    • SolrInputDocument::__clone - Creates a copy of a SolrDocument
    • SolrInputDocument::__construct - Constructor
    • SolrInputDocument::__destruct - Destructor
    • SolrModifiableParams::__construct - Constructor
    • SolrModifiableParams::__destruct - Destructor
    • SolrObject::getPropertyNames - Returns an array of all the names of the properties
    • SolrObject::offsetExists - Checks if the property exists
    • SolrObject::offsetGet - Used to retrieve a property
    • SolrObject::offsetSet - Sets the value for a property
    • SolrObject::offsetUnset - Unsets the value for the property
    • SolrObject::__construct - Creates Solr object
    • SolrObject::__destruct - Destructor
    • SolrParams::add - This is an alias for SolrParams::addParam
    • SolrParams::addParam - Adds a parameter to the object
    • SolrParams::get - This is an alias for SolrParams::getParam
    • SolrParams::getParam - Returns a parameter value
    • SolrParams::getParams - Returns an array of non URL-encoded parameters
    • SolrParams::getPreparedParams - Returns an array of URL-encoded parameters
    • SolrParams::serialize - Used for custom serialization
    • SolrParams::set - An alias of SolrParams::setParam
    • SolrParams::setParam - Sets the parameter to the specified value
    • SolrParams::toString - Returns all the name-value pair parameters in the object
    • SolrParams::unserialize - Used for custom serialization
    • SolrPingResponse::getResponse - Returns the response from the server
    • SolrPingResponse::__construct - Constructor
    • SolrPingResponse::__destruct - Destructor
    • SolrQuery::addExpandFilterQuery - Overrides main filter query, determines which documents to include in the main group
    • SolrQuery::addExpandSortField - Orders the documents within the expanded groups (expand.sort parameter)
    • SolrQuery::addFacetDateField - Maps to facet.date
    • SolrQuery::addFacetDateOther - Adds another facet.date.other parameter
    • SolrQuery::addFacetField - Adds another field to the facet
    • SolrQuery::addFacetQuery - Adds a facet query
    • SolrQuery::addField - Specifies which fields to return in the result
    • SolrQuery::addFilterQuery - Specifies a filter query
    • SolrQuery::addGroupField - Add a field to be used to group results
    • SolrQuery::addGroupFunction - Allows grouping results based on the unique values of a function query (group.func parameter)
    • SolrQuery::addGroupQuery - Allows grouping of documents that match the given query
    • SolrQuery::addGroupSortField - Add a group sort field (group.sort parameter)
    • SolrQuery::addHighlightField - Maps to hl.fl
    • SolrQuery::addMltField - Sets a field to use for similarity
    • SolrQuery::addMltQueryField - Maps to mlt.qf
    • SolrQuery::addSortField - Used to control how the results should be sorted
    • SolrQuery::addStatsFacet - Requests a return of sub results for values within the given facet
    • SolrQuery::addStatsField - Maps to stats.field parameter
    • SolrQuery::collapse - Collapses the result set to a single document per group
    • SolrQuery::getExpand - Returns true if group expanding is enabled
    • SolrQuery::getExpandFilterQueries - Returns the expand filter queries
    • SolrQuery::getExpandQuery - Returns the expand query expand.q parameter
    • SolrQuery::getExpandRows - Returns The number of rows to display in each group (expand.rows)
    • SolrQuery::getExpandSortFields - Returns an array of fields
    • SolrQuery::getFacet - Returns the value of the facet parameter
    • SolrQuery::getFacetDateEnd - Returns the value for the facet.date.end parameter
    • SolrQuery::getFacetDateFields - Returns all the facet.date fields
    • SolrQuery::getFacetDateGap - Returns the value of the facet.date.gap parameter
    • SolrQuery::getFacetDateHardEnd - Returns the value of the facet.date.hardend parameter
    • SolrQuery::getFacetDateOther - Returns the value for the facet.date.other parameter
    • SolrQuery::getFacetDateStart - Returns the lower bound for the first date range for all date faceting on this field
    • SolrQuery::getFacetFields - Returns all the facet fields
    • SolrQuery::getFacetLimit - Returns the maximum number of constraint counts that should be returned for the facet fields
    • SolrQuery::getFacetMethod - Returns the value of the facet.method parameter
    • SolrQuery::getFacetMinCount - Returns the minimum counts for facet fields should be included in the response
    • SolrQuery::getFacetMissing - Returns the current state of the facet.missing parameter
    • SolrQuery::getFacetOffset - Returns an offset into the list of constraints to be used for pagination
    • SolrQuery::getFacetPrefix - Returns the facet prefix
    • SolrQuery::getFacetQueries - Returns all the facet queries
    • SolrQuery::getFacetSort - Returns the facet sort type
    • SolrQuery::getFields - Returns the list of fields that will be returned in the response
    • SolrQuery::getFilterQueries - Returns an array of filter queries
    • SolrQuery::getGroup - Returns true if grouping is enabled
    • SolrQuery::getGroupCachePercent - Returns group cache percent value
    • SolrQuery::getGroupFacet - Returns the group.facet parameter value
    • SolrQuery::getGroupFields - Returns group fields (group.field parameter values)
    • SolrQuery::getGroupFormat - Returns the group.format value
    • SolrQuery::getGroupFunctions - Returns group functions (group.func parameter values)
    • SolrQuery::getGroupLimit - Returns the group.limit value
    • SolrQuery::getGroupMain - Returns the group.main value
    • SolrQuery::getGroupNGroups - Returns the group.ngroups value
    • SolrQuery::getGroupOffset - Returns the group.offset value
    • SolrQuery::getGroupQueries - Returns all the group.query parameter values
    • SolrQuery::getGroupSortFields - Returns the group.sort value
    • SolrQuery::getGroupTruncate - Returns the group.truncate value
    • SolrQuery::getHighlight - Returns the state of the hl parameter
    • SolrQuery::getHighlightAlternateField - Returns the highlight field to use as backup or default
    • SolrQuery::getHighlightFields - Returns all the fields that Solr should generate highlighted snippets for
    • SolrQuery::getHighlightFormatter - Returns the formatter for the highlighted output
    • SolrQuery::getHighlightFragmenter - Returns the text snippet generator for highlighted text
    • SolrQuery::getHighlightFragsize - Returns the number of characters of fragments to consider for highlighting
    • SolrQuery::getHighlightHighlightMultiTerm - Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries
    • SolrQuery::getHighlightMaxAlternateFieldLength - Returns the maximum number of characters of the field to return
    • SolrQuery::getHighlightMaxAnalyzedChars - Returns the maximum number of characters into a document to look for suitable snippets
    • SolrQuery::getHighlightMergeContiguous - Returns whether or not the collapse contiguous fragments into a single fragment
    • SolrQuery::getHighlightRegexMaxAnalyzedChars - Returns the maximum number of characters from a field when using the regex fragmenter
    • SolrQuery::getHighlightRegexPattern - Returns the regular expression for fragmenting
    • SolrQuery::getHighlightRegexSlop - Returns the deviation factor from the ideal fragment size
    • SolrQuery::getHighlightRequireFieldMatch - Returns if a field will only be highlighted if the query matched in this particular field
    • SolrQuery::getHighlightSimplePost - Returns the text which appears after a highlighted term
    • SolrQuery::getHighlightSimplePre - Returns the text which appears before a highlighted term
    • SolrQuery::getHighlightSnippets - Returns the maximum number of highlighted snippets to generate per field
    • SolrQuery::getHighlightUsePhraseHighlighter - Returns the state of the hl.usePhraseHighlighter parameter
    • SolrQuery::getMlt - Returns whether or not MoreLikeThis results should be enabled
    • SolrQuery::getMltBoost - Returns whether or not the query will be boosted by the interesting term relevance
    • SolrQuery::getMltCount - Returns the number of similar documents to return for each result
    • SolrQuery::getMltFields - Returns all the fields to use for similarity
    • SolrQuery::getMltMaxNumQueryTerms - Returns the maximum number of query terms that will be included in any generated query
    • SolrQuery::getMltMaxNumTokens - Retorna o número máximo de tokens para analisar em cada campo do documento que não é armazenado com suporte a TermVector
    • SolrQuery::getMltMaxWordLength - Returns the maximum word length above which words will be ignored
    • SolrQuery::getMltMinDocFrequency - Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs
    • SolrQuery::getMltMinTermFrequency - Returns the frequency below which terms will be ignored in the source document
    • SolrQuery::getMltMinWordLength - Returns the minimum word length below which words will be ignored
    • SolrQuery::getMltQueryFields - Returns the query fields and their boosts
    • SolrQuery::getQuery - Returns the main query
    • SolrQuery::getRows - Returns the maximum number of documents
    • SolrQuery::getSortFields - Returns all the sort fields
    • SolrQuery::getStart - Returns the offset in the complete result set
    • SolrQuery::getStats - Returns whether or not stats is enabled
    • SolrQuery::getStatsFacets - Returns all the stats facets that were set
    • SolrQuery::getStatsFields - Returns all the statistics fields
    • SolrQuery::getTerms - Returns whether or not the TermsComponent is enabled
    • SolrQuery::getTermsField - Returns the field from which the terms are retrieved
    • SolrQuery::getTermsIncludeLowerBound - Returns whether or not to include the lower bound in the result set
    • SolrQuery::getTermsIncludeUpperBound - Returns whether or not to include the upper bound term in the result set
    • SolrQuery::getTermsLimit - Returns the maximum number of terms Solr should return
    • SolrQuery::getTermsLowerBound - Returns the term to start at
    • SolrQuery::getTermsMaxCount - Returns the maximum document frequency
    • SolrQuery::getTermsMinCount - Returns the minimum document frequency to return in order to be included
    • SolrQuery::getTermsPrefix - Returns the term prefix
    • SolrQuery::getTermsReturnRaw - Whether or not to return raw characters
    • SolrQuery::getTermsSort - Returns an integer indicating how terms are sorted
    • SolrQuery::getTermsUpperBound - Returns the term to stop at
    • SolrQuery::getTimeAllowed - Returns the time in milliseconds allowed for the query to finish
    • SolrQuery::removeExpandFilterQuery - Removes an expand filter query
    • SolrQuery::removeExpandSortField - Removes an expand sort field from the expand.sort parameter
    • SolrQuery::removeFacetDateField - Removes one of the facet date fields
    • SolrQuery::removeFacetDateOther - Removes one of the facet.date.other parameters
    • SolrQuery::removeFacetField - Removes one of the facet.date parameters
    • SolrQuery::removeFacetQuery - Removes one of the facet.query parameters
    • SolrQuery::removeField - Removes a field from the list of fields
    • SolrQuery::removeFilterQuery - Removes a filter query
    • SolrQuery::removeHighlightField - Removes one of the fields used for highlighting
    • SolrQuery::removeMltField - Removes one of the moreLikeThis fields
    • SolrQuery::removeMltQueryField - Removes one of the moreLikeThis query fields
    • SolrQuery::removeSortField - Removes one of the sort fields
    • SolrQuery::removeStatsFacet - Removes one of the stats.facet parameters
    • SolrQuery::removeStatsField - Removes one of the stats.field parameters
    • SolrQuery::setEchoHandler - Toggles the echoHandler parameter
    • SolrQuery::setEchoParams - Determines what kind of parameters to include in the response
    • SolrQuery::setExpand - Enables/Disables the Expand Component
    • SolrQuery::setExpandQuery - Sets the expand.q parameter
    • SolrQuery::setExpandRows - Sets the number of rows to display in each group (expand.rows). Server Default 5
    • SolrQuery::setExplainOther - Sets the explainOther common query parameter
    • SolrQuery::setFacet - Maps to the facet parameter. Enables or disables facetting
    • SolrQuery::setFacetDateEnd - Maps to facet.date.end
    • SolrQuery::setFacetDateGap - Maps to facet.date.gap
    • SolrQuery::setFacetDateHardEnd - Maps to facet.date.hardend
    • SolrQuery::setFacetDateStart - Maps to facet.date.start
    • SolrQuery::setFacetEnumCacheMinDefaultFrequency - Sets the minimum document frequency used for determining term count
    • SolrQuery::setFacetLimit - Maps to facet.limit
    • SolrQuery::setFacetMethod - Specifies the type of algorithm to use when faceting a field
    • SolrQuery::setFacetMinCount - Maps to facet.mincount
    • SolrQuery::setFacetMissing - Maps to facet.missing
    • SolrQuery::setFacetOffset - Sets the offset into the list of constraints to allow for pagination
    • SolrQuery::setFacetPrefix - Specifies a string prefix with which to limits the terms on which to facet
    • SolrQuery::setFacetSort - Determines the ordering of the facet field constraints
    • SolrQuery::setGroup - Enable/Disable result grouping (group parameter)
    • SolrQuery::setGroupCachePercent - Enables caching for result grouping
    • SolrQuery::setGroupFacet - Sets group.facet parameter
    • SolrQuery::setGroupFormat - Sets the group format, result structure (group.format parameter)
    • SolrQuery::setGroupLimit - Specifies the number of results to return for each group. The server default value is 1
    • SolrQuery::setGroupMain - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
    • SolrQuery::setGroupNGroups - If true, Solr includes the number of groups that have matched the query in the results
    • SolrQuery::setGroupOffset - Sets the group.offset parameter
    • SolrQuery::setGroupTruncate - If true, facet counts are based on the most relevant document of each group matching the query
    • SolrQuery::setHighlight - Enables or disables highlighting
    • SolrQuery::setHighlightAlternateField - Specifies the backup field to use
    • SolrQuery::setHighlightFormatter - Specify a formatter for the highlight output
    • SolrQuery::setHighlightFragmenter - Sets a text snippet generator for highlighted text
    • SolrQuery::setHighlightFragsize - The size of fragments to consider for highlighting
    • SolrQuery::setHighlightHighlightMultiTerm - Use SpanScorer to highlight phrase terms
    • SolrQuery::setHighlightMaxAlternateFieldLength - Sets the maximum number of characters of the field to return
    • SolrQuery::setHighlightMaxAnalyzedChars - Specifies the number of characters into a document to look for suitable snippets
    • SolrQuery::setHighlightMergeContiguous - Whether or not to collapse contiguous fragments into a single fragment
    • SolrQuery::setHighlightRegexMaxAnalyzedChars - Specify the maximum number of characters to analyze
    • SolrQuery::setHighlightRegexPattern - Specify the regular expression for fragmenting
    • SolrQuery::setHighlightRegexSlop - Sets the factor by which the regex fragmenter can stray from the ideal fragment size
    • SolrQuery::setHighlightRequireFieldMatch - Require field matching during highlighting
    • SolrQuery::setHighlightSimplePost - Sets the text which appears after a highlighted term
    • SolrQuery::setHighlightSimplePre - Sets the text which appears before a highlighted term
    • SolrQuery::setHighlightSnippets - Sets the maximum number of highlighted snippets to generate per field
    • SolrQuery::setHighlightUsePhraseHighlighter - Whether to highlight phrase terms only when they appear within the query phrase
    • SolrQuery::setMlt - Enables or disables moreLikeThis
    • SolrQuery::setMltBoost - Set if the query will be boosted by the interesting term relevance
    • SolrQuery::setMltCount - Set the number of similar documents to return for each result
    • SolrQuery::setMltMaxNumQueryTerms - Sets the maximum number of query terms included
    • SolrQuery::setMltMaxNumTokens - Specifies the maximum number of tokens to parse
    • SolrQuery::setMltMaxWordLength - Sets the maximum word length
    • SolrQuery::setMltMinDocFrequency - Sets the mltMinDoc frequency
    • SolrQuery::setMltMinTermFrequency - Sets the frequency below which terms will be ignored in the source docs
    • SolrQuery::setMltMinWordLength - Sets the minimum word length
    • SolrQuery::setOmitHeader - Exclude the header from the returned results
    • SolrQuery::setQuery - Sets the search query
    • SolrQuery::setRows - Specifies the maximum number of rows to return in the result
    • SolrQuery::setShowDebugInfo - Flag to show debug information
    • SolrQuery::setStart - Specifies the number of rows to skip
    • SolrQuery::setStats - Enables or disables the Stats component
    • SolrQuery::setTerms - Enables or disables the TermsComponent
    • SolrQuery::setTermsField - Sets the name of the field to get the Terms from
    • SolrQuery::setTermsIncludeLowerBound - Include the lower bound term in the result set
    • SolrQuery::setTermsIncludeUpperBound - Include the upper bound term in the result set
    • SolrQuery::setTermsLimit - Sets the maximum number of terms to return
    • SolrQuery::setTermsLowerBound - Specifies the Term to start from
    • SolrQuery::setTermsMaxCount - Sets the maximum document frequency
    • SolrQuery::setTermsMinCount - Sets the minimum document frequency
    • SolrQuery::setTermsPrefix - Restrict matches to terms that start with the prefix
    • SolrQuery::setTermsReturnRaw - Return the raw characters of the indexed term
    • SolrQuery::setTermsSort - Specifies how to sort the returned terms
    • SolrQuery::setTermsUpperBound - Sets the term to stop at
    • SolrQuery::setTimeAllowed - The time allowed for search to finish
    • SolrQuery::__construct - Constructor
    • SolrQuery::__destruct - Destructor
    • SolrQueryResponse::__construct - Constructor
    • SolrQueryResponse::__destruct - Destructor
    • SolrResponse::getDigestedResponse - Returns the XML response as serialized PHP data
    • SolrResponse::getHttpStatus - Returns the HTTP status of the response
    • SolrResponse::getHttpStatusMessage - Returns more details on the HTTP status
    • SolrResponse::getRawRequest - Returns the raw request sent to the Solr server
    • SolrResponse::getRawRequestHeaders - Returns the raw request headers sent to the Solr server
    • SolrResponse::getRawResponse - Returns the raw response from the server
    • SolrResponse::getRawResponseHeaders - Returns the raw response headers from the server
    • SolrResponse::getRequestUrl - Returns the full URL the request was sent to
    • SolrResponse::getResponse - Returns a SolrObject representing the XML response from the server
    • SolrResponse::setParseMode - Sets the parse mode
    • SolrResponse::success - Was the request a success
    • SolrServerException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrUpdateResponse::__construct - Constructor
    • SolrUpdateResponse::__destruct - Destructor
    • SolrUtils::digestXmlResponse - Parses an response XML string into a SolrObject
    • SolrUtils::escapeQueryChars - Escapes a lucene query string
    • SolrUtils::getSolrVersion - Returns the current version of the Solr extension
    • SolrUtils::queryPhrase - Prepares a phrase from an unescaped lucene string
    • solr_get_version - Retorna a versão atual da extensão Apache Solr
    • sort - Ordena um array
    • soundex - Calcula a chave soundex de uma string
    • SphinxClient::addQuery - Add query to multi-query batch
    • SphinxClient::buildExcerpts - Build text snippets
    • SphinxClient::buildKeywords - Extract keywords from query
    • SphinxClient::close - Closes previously opened persistent connection
    • SphinxClient::escapeString - Escape special characters
    • SphinxClient::getLastError - Get the last error message
    • SphinxClient::getLastWarning - Get the last warning
    • SphinxClient::open - Opens persistent connection to the server
    • SphinxClient::query - Execute search query
    • SphinxClient::resetFilters - Clear all filters
    • SphinxClient::resetGroupBy - Clear all group-by settings
    • SphinxClient::runQueries - Run a batch of search queries
    • SphinxClient::setArrayResult - Change the format of result set array
    • SphinxClient::setConnectTimeout - Set connection timeout
    • SphinxClient::setFieldWeights - Set field weights
    • SphinxClient::setFilter - Add new integer values set filter
    • SphinxClient::setFilterFloatRange - Add new float range filter
    • SphinxClient::setFilterRange - Add new integer range filter
    • SphinxClient::setGeoAnchor - Set anchor point for a geosphere distance calculations
    • SphinxClient::setGroupBy - Set grouping attribute
    • SphinxClient::setGroupDistinct - Set attribute name for per-group distinct values count calculations
    • SphinxClient::setIDRange - Set a range of accepted document IDs
    • SphinxClient::setIndexWeights - Set per-index weights
    • SphinxClient::setLimits - Set offset and limit of the result set
    • SphinxClient::setMatchMode - Set full-text query matching mode
    • SphinxClient::setMaxQueryTime - Set maximum query time
    • SphinxClient::setOverride - Sets temporary per-document attribute value overrides
    • SphinxClient::setRankingMode - Set ranking mode
    • SphinxClient::setRetries - Set retry count and delay
    • SphinxClient::setSelect - Set select clause
    • SphinxClient::setServer - Set searchd host and port
    • SphinxClient::setSortMode - Set matches sorting mode
    • SphinxClient::status - Queries searchd status
    • SphinxClient::updateAttributes - Update document attributes
    • SphinxClient::__construct - Create a new SphinxClient object
    • SplDoublyLinkedList::add - Add/insert a new value at the specified index
    • SplDoublyLinkedList::bottom - Peeks at the node from the beginning of the doubly linked list
    • SplDoublyLinkedList::count - Counts the number of elements in the doubly linked list
    • SplDoublyLinkedList::current - Return current array entry
    • SplDoublyLinkedList::getIteratorMode - Returns the mode of iteration
    • SplDoublyLinkedList::isEmpty - Checks whether the doubly linked list is empty
    • SplDoublyLinkedList::key - Return current node index
    • SplDoublyLinkedList::next - Move to next entry
    • SplDoublyLinkedList::offsetExists - Returns whether the requested $index exists
    • SplDoublyLinkedList::offsetGet - Returns the value at the specified $index
    • SplDoublyLinkedList::offsetSet - Sets the value at the specified $index to $newval
    • SplDoublyLinkedList::offsetUnset - Unsets the value at the specified $index
    • SplDoublyLinkedList::pop - Pops a node from the end of the doubly linked list
    • SplDoublyLinkedList::prev - Move to previous entry
    • SplDoublyLinkedList::push - Pushes an element at the end of the doubly linked list
    • SplDoublyLinkedList::rewind - Rewind iterator back to the start
    • SplDoublyLinkedList::serialize - Serializes the storage
    • SplDoublyLinkedList::setIteratorMode - Sets the mode of iteration
    • SplDoublyLinkedList::shift - Shifts a node from the beginning of the doubly linked list
    • SplDoublyLinkedList::top - Peeks at the node from the end of the doubly linked list
    • SplDoublyLinkedList::unserialize - Unserializes the storage
    • SplDoublyLinkedList::unshift - Prepends the doubly linked list with an element
    • SplDoublyLinkedList::valid - Check whether the doubly linked list contains more nodes
    • SplDoublyLinkedList::__construct - Constructs a new doubly linked list
    • SplFileInfo::getATime - Gets last access time of the file
    • SplFileInfo::getBasename - Gets the base name of the file
    • SplFileInfo::getCTime - Gets the inode change time
    • SplFileInfo::getExtension - Gets the file extension
    • SplFileInfo::getFileInfo - Gets an SplFileInfo object for the file
    • SplFileInfo::getFilename - Gets the filename
    • SplFileInfo::getGroup - Gets the file group
    • SplFileInfo::getInode - Gets the inode for the file
    • SplFileInfo::getLinkTarget - Gets the target of a link
    • SplFileInfo::getMTime - Gets the last modified time
    • SplFileInfo::getOwner - Gets the owner of the file
    • SplFileInfo::getPath - Gets the path without filename
    • SplFileInfo::getPathInfo - Gets an SplFileInfo object for the path
    • SplFileInfo::getPathname - Gets the path to the file
    • SplFileInfo::getPerms - Gets file permissions
    • SplFileInfo::getRealPath - Gets absolute path to file
    • SplFileInfo::getSize - Gets file size
    • SplFileInfo::getType - Gets file type
    • SplFileInfo::isDir - Tells if the file is a directory
    • SplFileInfo::isExecutable - Tells if the file is executable
    • SplFileInfo::isFile - Tells if the object references a regular file
    • SplFileInfo::isLink - Tells if the file is a link
    • SplFileInfo::isReadable - Tells if file is readable
    • SplFileInfo::isWritable - Tells if the entry is writable
    • SplFileInfo::openFile - Gets an SplFileObject object for the file
    • SplFileInfo::setFileClass - Sets the class used with SplFileInfo::openFile
    • SplFileInfo::setInfoClass - Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo
    • SplFileInfo::__construct - Construct a new SplFileInfo object
    • SplFileInfo::__toString - Returns the path to the file as a string
    • SplFileObject::current - Retrieve current line of file
    • SplFileObject::eof - Reached end of file
    • SplFileObject::fflush - Flushes the output to the file
    • SplFileObject::fgetc - Gets character from file
    • SplFileObject::fgetcsv - Gets line from file and parse as CSV fields
    • SplFileObject::fgets - Gets line from file
    • SplFileObject::fgetss - Gets line from file and strip HTML tags
    • SplFileObject::flock - Portable file locking
    • SplFileObject::fpassthru - Output all remaining data on a file pointer
    • SplFileObject::fputcsv - Write a field array as a CSV line
    • SplFileObject::fread - Read from file
    • SplFileObject::fscanf - Parses input from file according to a format
    • SplFileObject::fseek - Seek to a position
    • SplFileObject::fstat - Gets information about the file
    • SplFileObject::ftell - Return current file position
    • SplFileObject::ftruncate - Truncates the file to a given length
    • SplFileObject::fwrite - Write to file
    • SplFileObject::getChildren - No purpose
    • SplFileObject::getCsvControl - Get the delimiter, enclosure and escape character for CSV
    • SplFileObject::getCurrentLine - Alias of SplFileObject::fgets
    • SplFileObject::getFlags - Gets flags for the SplFileObject
    • SplFileObject::getMaxLineLen - Get maximum line length
    • SplFileObject::hasChildren - SplFileObject does not have children
    • SplFileObject::key - Get line number
    • SplFileObject::next - Read next line
    • SplFileObject::rewind - Rewind the file to the first line
    • SplFileObject::seek - Seek to specified line
    • SplFileObject::setCsvControl - Set the delimiter, enclosure and escape character for CSV
    • SplFileObject::setFlags - Sets flags for the SplFileObject
    • SplFileObject::setMaxLineLen - Set maximum line length
    • SplFileObject::valid - Not at EOF
    • SplFileObject::__construct - Construct a new file object
    • SplFileObject::__toString - Alias of SplFileObject::fgets
    • SplFixedArray::count - Returns the size of the array
    • SplFixedArray::current - Return current array entry
    • SplFixedArray::fromArray - Import a PHP array in a SplFixedArray instance
    • SplFixedArray::getSize - Gets the size of the array
    • SplFixedArray::key - Return current array index
    • SplFixedArray::next - Move to next entry
    • SplFixedArray::offsetExists - Returns whether the requested index exists
    • SplFixedArray::offsetGet - Returns the value at the specified index
    • SplFixedArray::offsetSet - Sets a new value at a specified index
    • SplFixedArray::offsetUnset - Unsets the value at the specified $index
    • SplFixedArray::rewind - Rewind iterator back to the start
    • SplFixedArray::setSize - Change the size of an array
    • SplFixedArray::toArray - Returns a PHP array from the fixed array
    • SplFixedArray::valid - Check whether the array contains more elements
    • SplFixedArray::__construct - Constructs a new fixed array
    • SplFixedArray::__wakeup - Reinitialises the array after being unserialised
    • SplHeap::compare - Compare elements in order to place them correctly in the heap while sifting up
    • SplHeap::count - Counts the number of elements in the heap
    • SplHeap::current - Return current node pointed by the iterator
    • SplHeap::extract - Extracts a node from top of the heap and sift up
    • SplHeap::insert - Inserts an element in the heap by sifting it up
    • SplHeap::isCorrupted - Tells if the heap is in a corrupted state
    • SplHeap::isEmpty - Checks whether the heap is empty
    • SplHeap::key - Return current node index
    • SplHeap::next - Move to the next node
    • SplHeap::recoverFromCorruption - Recover from the corrupted state and allow further actions on the heap
    • SplHeap::rewind - Rewind iterator back to the start (no-op)
    • SplHeap::top - Peeks at the node from the top of the heap
    • SplHeap::valid - Check whether the heap contains more nodes
    • SplHeap::__construct - Constructs a new empty heap
    • split - Separa strings em array utilizando expressões regulares
    • spliti - Separa strings em array utilizando expressões regulares insensíveis a maiúsculas e minúsculas
    • SplMaxHeap::compare - Compare elements in order to place them correctly in the heap while sifting up
    • SplMinHeap::compare - Compare elements in order to place them correctly in the heap while sifting up
    • SplObjectStorage::addAll - Adds all objects from another storage
    • SplObjectStorage::attach - Adds an object in the storage
    • SplObjectStorage::contains - Checks if the storage contains a specific object
    • SplObjectStorage::count - Returns the number of objects in the storage
    • SplObjectStorage::current - Returns the current storage entry
    • SplObjectStorage::detach - Removes an object from the storage
    • SplObjectStorage::getHash - Calculate a unique identifier for the contained objects
    • SplObjectStorage::getInfo - Returns the data associated with the current iterator entry
    • SplObjectStorage::key - Returns the index at which the iterator currently is
    • SplObjectStorage::next - Move to the next entry
    • SplObjectStorage::offsetExists - Checks whether an object exists in the storage
    • SplObjectStorage::offsetGet - Returns the data associated with an object
    • SplObjectStorage::offsetSet - Associates data to an object in the storage
    • SplObjectStorage::offsetUnset - Removes an object from the storage
    • SplObjectStorage::removeAll - Removes objects contained in another storage from the current storage
    • SplObjectStorage::removeAllExcept - Removes all objects except for those contained in another storage from the current storage
    • SplObjectStorage::rewind - Rewind the iterator to the first storage element
    • SplObjectStorage::serialize - Serializes the storage
    • SplObjectStorage::setInfo - Sets the data associated with the current iterator entry
    • SplObjectStorage::unserialize - Unserializes a storage from its string representation
    • SplObjectStorage::valid - Returns if the current iterator entry is valid
    • SplObserver::update - Receive update from subject
    • SplPriorityQueue::compare - Compare priorities in order to place elements correctly in the heap while sifting up
    • SplPriorityQueue::count - Counts the number of elements in the queue
    • SplPriorityQueue::current - Return current node pointed by the iterator
    • SplPriorityQueue::extract - Extracts a node from top of the heap and sift up
    • SplPriorityQueue::getExtractFlags - Get the flags of extraction
    • SplPriorityQueue::insert - Inserts an element in the queue by sifting it up
    • SplPriorityQueue::isCorrupted - Tells if the priority queue is in a corrupted state
    • SplPriorityQueue::isEmpty - Checks whether the queue is empty
    • SplPriorityQueue::key - Return current node index
    • SplPriorityQueue::next - Move to the next node
    • SplPriorityQueue::recoverFromCorruption - Recover from the corrupted state and allow further actions on the queue
    • SplPriorityQueue::rewind - Rewind iterator back to the start (no-op)
    • SplPriorityQueue::setExtractFlags - Sets the mode of extraction
    • SplPriorityQueue::top - Peeks at the node from the top of the queue
    • SplPriorityQueue::valid - Check whether the queue contains more nodes
    • SplPriorityQueue::__construct - Constructs a new empty queue
    • SplQueue::dequeue - Dequeues a node from the queue
    • SplQueue::enqueue - Adds an element to the queue
    • SplQueue::setIteratorMode - Sets the mode of iteration
    • SplQueue::__construct - Constructs a new queue implemented using a doubly linked list
    • SplStack::setIteratorMode - Sets the mode of iteration
    • SplStack::__construct - Constructs a new stack implemented using a doubly linked list
    • SplSubject::attach - Attach an SplObserver
    • SplSubject::detach - Detach an observer
    • SplSubject::notify - Notify an observer
    • SplTempFileObject::__construct - Construct a new temporary file object
    • spl_autoload - Implementação padrão de __autoload()
    • spl_autoload_call - Tenta todas as funções __autoload() registradas para carregar a classe solicitada
    • spl_autoload_extensions - Registra e retorna as extensões de arquivo padrões para o spl_autoload
    • spl_autoload_functions - Retorna todas as funções __autoload() registradas
    • spl_autoload_register - Registra a função dada como implementação de __autoload()
    • spl_autoload_unregister - Retira a função dada como implementação de __autoload()
    • spl_classes - Retorna as classes da SPL disponíveis
    • spl_object_hash - Retorna uma identificação hash do objeto dado
    • spl_object_id - Return the integer object handle for given object
    • Spoofchecker::areConfusable - Checks if given strings can be confused
    • Spoofchecker::isSuspicious - Checks if a given text contains any suspicious characters
    • Spoofchecker::setAllowedLocales - Locales to use when running checks
    • Spoofchecker::setChecks - Set the checks to run
    • Spoofchecker::__construct - Constructor
    • sprintf - Retorna a string formatada
    • SQLite3::backup - Backup one database to another database
    • SQLite3::busyTimeout - Sets the busy connection handler
    • SQLite3::changes - Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement
    • SQLite3::close - Closes the database connection
    • SQLite3::createAggregate - Registers a PHP function for use as an SQL aggregate function
    • SQLite3::createCollation - Registers a PHP function for use as an SQL collating function
    • SQLite3::createFunction - Registers a PHP function for use as an SQL scalar function
    • SQLite3::enableExceptions - Enable throwing exceptions
    • SQLite3::escapeString - Returns a string that has been properly escaped
    • SQLite3::exec - Executes a result-less query against a given database
    • SQLite3::lastErrorCode - Returns the numeric result code of the most recent failed SQLite request
    • SQLite3::lastErrorMsg - Returns English text describing the most recent failed SQLite request
    • SQLite3::lastInsertRowID - Returns the row ID of the most recent INSERT into the database
    • SQLite3::loadExtension - Attempts to load an SQLite extension library
    • SQLite3::open - Opens an SQLite database
    • SQLite3::openBlob - Opens a stream resource to read a BLOB
    • SQLite3::prepare - Prepares an SQL statement for execution
    • SQLite3::query - Executes an SQL query
    • SQLite3::querySingle - Executes a query and returns a single result
    • SQLite3::setAuthorizer - Configures a callback to be used as an authorizer to limit what a statement can do
    • SQLite3::version - Returns the SQLite3 library version as a string constant and as a number
    • SQLite3::__construct - Instantiates an SQLite3 object and opens an SQLite 3 database
    • SQLite3Result::columnName - Returns the name of the nth column
    • SQLite3Result::columnType - Returns the type of the nth column
    • SQLite3Result::fetchArray - Fetches a result row as an associative or numerically indexed array or both
    • SQLite3Result::finalize - Closes the result set
    • SQLite3Result::numColumns - Returns the number of columns in the result set
    • SQLite3Result::reset - Resets the result set back to the first row
    • SQLite3Stmt::bindParam - Binds a parameter to a statement variable
    • SQLite3Stmt::bindValue - Binds the value of a parameter to a statement variable
    • SQLite3Stmt::clear - Clears all current bound parameters
    • SQLite3Stmt::close - Closes the prepared statement
    • SQLite3Stmt::execute - Executes a prepared statement and returns a result set object
    • SQLite3Stmt::getSQL - Get the SQL of the statement
    • SQLite3Stmt::paramCount - Returns the number of parameters within the prepared statement
    • SQLite3Stmt::readOnly - Returns whether a statement is definitely read only
    • SQLite3Stmt::reset - Resets the prepared statement
    • sqlsrv_begin_transaction - Begins a database transaction
    • sqlsrv_cancel - Cancels a statement
    • sqlsrv_client_info - Returns information about the client and specified connection
    • sqlsrv_close - Closes an open connection and releases resourses associated with the connection
    • sqlsrv_commit - Commits a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_configure - Changes the driver error handling and logging configurations
    • sqlsrv_connect - Opens a connection to a Microsoft SQL Server database
    • sqlsrv_errors - Returns error and warning information about the last SQLSRV operation performed
    • sqlsrv_execute - Executes a statement prepared with sqlsrv_prepare
    • sqlsrv_fetch - Makes the next row in a result set available for reading
    • sqlsrv_fetch_array - Returns a row as an array
    • sqlsrv_fetch_object - Retrieves the next row of data in a result set as an object
    • sqlsrv_field_metadata - Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
    • sqlsrv_free_stmt - Frees all resources for the specified statement
    • sqlsrv_get_config - Returns the value of the specified configuration setting
    • sqlsrv_get_field - Gets field data from the currently selected row
    • sqlsrv_has_rows - Indicates whether the specified statement has rows
    • sqlsrv_next_result - Makes the next result of the specified statement active
    • sqlsrv_num_fields - Retrieves the number of fields (columns) on a statement
    • sqlsrv_num_rows - Retrieves the number of rows in a result set
    • sqlsrv_prepare - Prepares a query for execution
    • sqlsrv_query - Prepares and executes a query
    • sqlsrv_rollback - Rolls back a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_rows_affected - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
    • sqlsrv_send_stream_data - Sends data from parameter streams to the server
    • sqlsrv_server_info - Returns information about the server
    • SqlStatement::bind - Bind statement parameters
    • SqlStatement::execute - Execute the operation
    • SqlStatement::getNextResult - Get next result
    • SqlStatement::getResult - Get result
    • SqlStatement::hasMoreResults - Check for more results
    • SqlStatement::__construct - Description constructor
    • SqlStatementResult::fetchAll - Get all rows from result
    • SqlStatementResult::fetchOne - Get single row
    • SqlStatementResult::getAffectedItemsCount - Get affected row count
    • SqlStatementResult::getColumnNames - Get column names
    • SqlStatementResult::getColumns - Get columns
    • SqlStatementResult::getColumnsCount - Get column count
    • SqlStatementResult::getGeneratedIds - Get generated ids
    • SqlStatementResult::getLastInsertId - Get last insert id
    • SqlStatementResult::getWarnings - Get warnings from last operation
    • SqlStatementResult::getWarningsCount - Get warning count from last operation
    • SqlStatementResult::hasData - Check if result has data
    • SqlStatementResult::nextResult - Get next result
    • SqlStatementResult::__construct - Description constructor
    • sql_regcase - Cria expressões regulares insensíveis a maiúsculas e minúsculas
    • sqrt - Raiz quadrada
    • srand - Semeia o gerador de números aletórios
    • sscanf - Interpreta a entrada de uma string de acordo com um formato
    • ssdeep_fuzzy_compare - Calculates the match score between two fuzzy hash signatures
    • ssdeep_fuzzy_hash - Create a fuzzy hash from a string
    • ssdeep_fuzzy_hash_filename - Create a fuzzy hash from a file
    • ssh2:// - Secure Shell 2
    • ssh2_auth_agent - Authenticate over SSH using the ssh agent
    • ssh2_auth_hostbased_file - Authenticate using a public hostkey
    • ssh2_auth_none - Authenticate as "none"
    • ssh2_auth_password - Authenticate over SSH using a plain password
    • ssh2_auth_pubkey_file - Authenticate using a public key
    • ssh2_connect - Connect to an SSH server
    • ssh2_disconnect - Close a connection to a remote SSH server
    • ssh2_exec - Execute a command on a remote server
    • ssh2_fetch_stream - Fetch an extended data stream
    • ssh2_fingerprint - Retrieve fingerprint of remote server
    • ssh2_forward_accept - Accept a connection created by a listener
    • ssh2_forward_listen - Bind a port on the remote server and listen for connections
    • ssh2_methods_negotiated - Return list of negotiated methods
    • ssh2_poll - Poll the channels/listeners/streams for events
    • ssh2_publickey_add - Add an authorized publickey
    • ssh2_publickey_init - Initialize Publickey subsystem
    • ssh2_publickey_list - List currently authorized publickeys
    • ssh2_publickey_remove - Remove an authorized publickey
    • ssh2_scp_recv - Request a file via SCP
    • ssh2_scp_send - Send a file via SCP
    • ssh2_sftp - Initialize SFTP subsystem
    • ssh2_sftp_chmod - Changes file mode
    • ssh2_sftp_lstat - Stat a symbolic link
    • ssh2_sftp_mkdir - Create a directory
    • ssh2_sftp_readlink - Return the target of a symbolic link
    • ssh2_sftp_realpath - Resolve the realpath of a provided path string
    • ssh2_sftp_rename - Rename a remote file
    • ssh2_sftp_rmdir - Remove a directory
    • ssh2_sftp_stat - Stat a file on a remote filesystem
    • ssh2_sftp_symlink - Create a symlink
    • ssh2_sftp_unlink - Delete a file
    • ssh2_shell - Request an interactive shell
    • ssh2_tunnel - Open a tunnel through a remote server
    • stat - Obtem informações sobre um arquivo
    • Statement::getNextResult - Get next result
    • Statement::getResult - Get result
    • Statement::hasMoreResults - Check if more results
    • Statement::__construct - Description constructor
    • stats_absolute_deviation - Returns the absolute deviation of an array of values
    • stats_cdf_beta - Calculates any one parameter of the beta distribution given values for the others
    • stats_cdf_binomial - Calculates any one parameter of the binomial distribution given values for the others
    • stats_cdf_cauchy - Calculates any one parameter of the Cauchy distribution given values for the others
    • stats_cdf_chisquare - Calculates any one parameter of the chi-square distribution given values for the others
    • stats_cdf_exponential - Calculates any one parameter of the exponential distribution given values for the others
    • stats_cdf_f - Calculates any one parameter of the F distribution given values for the others
    • stats_cdf_gamma - Calculates any one parameter of the gamma distribution given values for the others
    • stats_cdf_laplace - Calculates any one parameter of the Laplace distribution given values for the others
    • stats_cdf_logistic - Calculates any one parameter of the logistic distribution given values for the others
    • stats_cdf_negative_binomial - Calculates any one parameter of the negative binomial distribution given values for the others
    • stats_cdf_noncentral_chisquare - Calculates any one parameter of the non-central chi-square distribution given values for the others
    • stats_cdf_noncentral_f - Calculates any one parameter of the non-central F distribution given values for the others
    • stats_cdf_noncentral_t - Calculates any one parameter of the non-central t-distribution give values for the others
    • stats_cdf_normal - Calculates any one parameter of the normal distribution given values for the others
    • stats_cdf_poisson - Calculates any one parameter of the Poisson distribution given values for the others
    • stats_cdf_t - Calculates any one parameter of the t-distribution given values for the others
    • stats_cdf_uniform - Calculates any one parameter of the uniform distribution given values for the others
    • stats_cdf_weibull - Calculates any one parameter of the Weibull distribution given values for the others
    • stats_covariance - Computes the covariance of two data sets
    • stats_dens_beta - Probability density function of the beta distribution
    • stats_dens_cauchy - Probability density function of the Cauchy distribution
    • stats_dens_chisquare - Probability density function of the chi-square distribution
    • stats_dens_exponential - Probability density function of the exponential distribution
    • stats_dens_f - Probability density function of the F distribution
    • stats_dens_gamma - Probability density function of the gamma distribution
    • stats_dens_laplace - Probability density function of the Laplace distribution
    • stats_dens_logistic - Probability density function of the logistic distribution
    • stats_dens_normal - Probability density function of the normal distribution
    • stats_dens_pmf_binomial - Probability mass function of the binomial distribution
    • stats_dens_pmf_hypergeometric - Probability mass function of the hypergeometric distribution
    • stats_dens_pmf_negative_binomial - Probability mass function of the negative binomial distribution
    • stats_dens_pmf_poisson - Probability mass function of the Poisson distribution
    • stats_dens_t - Probability density function of the t-distribution
    • stats_dens_uniform - Probability density function of the uniform distribution
    • stats_dens_weibull - Probability density function of the Weibull distribution
    • stats_harmonic_mean - Returns the harmonic mean of an array of values
    • stats_kurtosis - Computes the kurtosis of the data in the array
    • stats_rand_gen_beta - Generates a random deviate from the beta distribution
    • stats_rand_gen_chisquare - Generates a random deviate from the chi-square distribution
    • stats_rand_gen_exponential - Generates a random deviate from the exponential distribution
    • stats_rand_gen_f - Generates a random deviate from the F distribution
    • stats_rand_gen_funiform - Generates uniform float between low (exclusive) and high (exclusive)
    • stats_rand_gen_gamma - Generates a random deviate from the gamma distribution
    • stats_rand_gen_ibinomial - Generates a random deviate from the binomial distribution
    • stats_rand_gen_ibinomial_negative - Generates a random deviate from the negative binomial distribution
    • stats_rand_gen_int - Generates random integer between 1 and 2147483562
    • stats_rand_gen_ipoisson - Generates a single random deviate from a Poisson distribution
    • stats_rand_gen_iuniform - Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
    • stats_rand_gen_noncentral_chisquare - Generates a random deviate from the non-central chi-square distribution
    • stats_rand_gen_noncentral_f - Generates a random deviate from the noncentral F distribution
    • stats_rand_gen_noncentral_t - Generates a single random deviate from a non-central t-distribution
    • stats_rand_gen_normal - Generates a single random deviate from a normal distribution
    • stats_rand_gen_t - Generates a single random deviate from a t-distribution
    • stats_rand_get_seeds - Get the seed values of the random number generator
    • stats_rand_phrase_to_seeds - Generate two seeds for the RGN random number generator
    • stats_rand_ranf - Generates a random floating point number between 0 and 1
    • stats_rand_setall - Set seed values to the random generator
    • stats_skew - Computes the skewness of the data in the array
    • stats_standard_deviation - Returns the standard deviation
    • stats_stat_binomial_coef - Returns a binomial coefficient
    • stats_stat_correlation - Returns the Pearson correlation coefficient of two data sets
    • stats_stat_factorial - Returns the factorial of an integer
    • stats_stat_independent_t - Returns the t-value from the independent two-sample t-test
    • stats_stat_innerproduct - Returns the inner product of two vectors
    • stats_stat_paired_t - Returns the t-value of the dependent t-test for paired samples
    • stats_stat_percentile - Returns the percentile value
    • stats_stat_powersum - Returns the power sum of a vector
    • stats_variance - Returns the variance
    • Stomp::abort - Rolls back a transaction in progress
    • Stomp::ack - Acknowledges consumption of a message
    • Stomp::begin - Starts a transaction
    • Stomp::commit - Commits a transaction in progress
    • Stomp::error - Gets the last stomp error
    • Stomp::getReadTimeout - Gets read timeout
    • Stomp::getSessionId - Gets the current stomp session ID
    • Stomp::hasFrame - Indicates whether or not there is a frame ready to read
    • Stomp::readFrame - Reads the next frame
    • Stomp::send - Sends a message
    • Stomp::setReadTimeout - Sets read timeout
    • Stomp::subscribe - Registers to listen to a given destination
    • Stomp::unsubscribe - Removes an existing subscription
    • Stomp::__construct - Opens a connection
    • Stomp::__destruct - Closes stomp connection
    • StompException::getDetails - Get exception details
    • StompFrame::__construct - Constructor
    • stomp_connect_error - Returns a string description of the last connect error
    • stomp_version - Gets the current stomp extension version
    • strcasecmp - Comparação de strings sem diferenciar maiúsculas e minúsculas segura para binário
    • strchr - Sinônimo de strstr
    • strcmp - Comparação de string segura para binário
    • strcoll - Comparação de string baseada no local
    • strcspn - Encontra o tamanho do segmento inicial que não contenha a máscara
    • streamWrapper::dir_closedir - Close directory handle
    • streamWrapper::dir_opendir - Open directory handle
    • streamWrapper::dir_readdir - Read entry from directory handle
    • streamWrapper::dir_rewinddir - Rewind directory handle
    • streamWrapper::mkdir - Create a directory
    • streamWrapper::rename - Renames a file or directory
    • streamWrapper::rmdir - Removes a directory
    • streamWrapper::stream_cast - Retrieve the underlaying resource
    • streamWrapper::stream_close - Close a resource
    • streamWrapper::stream_eof - Tests for end-of-file on a file pointer
    • streamWrapper::stream_flush - Flushes the output
    • streamWrapper::stream_lock - Advisory file locking
    • streamWrapper::stream_metadata - Change stream metadata
    • streamWrapper::stream_open - Opens file or URL
    • streamWrapper::stream_read - Read from stream
    • streamWrapper::stream_seek - Seeks to specific location in a stream
    • streamWrapper::stream_set_option - Change stream options
    • streamWrapper::stream_stat - Retrieve information about a file resource
    • streamWrapper::stream_tell - Retrieve the current position of a stream
    • streamWrapper::stream_truncate - Truncate stream
    • streamWrapper::stream_write - Write to stream
    • streamWrapper::unlink - Delete a file
    • streamWrapper::url_stat - Retrieve information about a file
    • streamWrapper::__construct - Constructs a new stream wrapper
    • streamWrapper::__destruct - Destructs an existing stream wrapper
    • stream_bucket_append - Append bucket to brigade
    • stream_bucket_make_writeable - Return a bucket object from the brigade for operating on
    • stream_bucket_new - Create a new bucket for use on the current stream
    • stream_bucket_prepend - Prepend bucket to brigade
    • stream_context_create - Creates a stream context
    • stream_context_get_default - Retrieve the default stream context
    • stream_context_get_options - Retrieve options for a stream/wrapper/context
    • stream_context_get_params - Retrieves parameters from a context
    • stream_context_set_default - Set the default stream context
    • stream_context_set_option - Sets an option for a stream/wrapper/context
    • stream_context_set_params - Set parameters for a stream/wrapper/context
    • stream_copy_to_stream - Copies data from one stream to another
    • stream_filter_append - Attach a filter to a stream
    • stream_filter_prepend - Attach a filter to a stream
    • stream_filter_register - Register a user defined stream filter
    • stream_filter_remove - Remove a filter from a stream
    • stream_get_contents - Reads remainder of a stream into a string
    • stream_get_filters - Retrieve list of registered filters
    • stream_get_line - Gets line from stream resource up to a given delimiter
    • stream_get_meta_data - Retrieves header/meta data from streams/file pointers
    • stream_get_transports - Retrieve list of registered socket transports
    • stream_get_wrappers - Retrieve list of registered streams
    • stream_isatty - Check if a stream is a TTY
    • stream_is_local - Checks if a stream is a local stream
    • stream_notification_callback - A callback function for the notification context parameter
    • stream_register_wrapper - Sinônimo de stream_wrapper_register
    • stream_resolve_include_path - Resolve filename against the include path
    • stream_select - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
    • stream_set_blocking - Set blocking/non-blocking mode on a stream
    • stream_set_chunk_size - Set the stream chunk size
    • stream_set_read_buffer - Set read file buffering on the given stream
    • stream_set_timeout - Set timeout period on a stream
    • stream_set_write_buffer - Sets write file buffering on the given stream
    • stream_socket_accept - Accept a connection on a socket created by stream_socket_server
    • stream_socket_client - Open Internet or Unix domain socket connection
    • stream_socket_enable_crypto - Turns encryption on/off on an already connected socket
    • stream_socket_get_name - Retrieve the name of the local or remote sockets
    • stream_socket_pair - Creates a pair of connected, indistinguishable socket streams
    • stream_socket_recvfrom - Receives data from a socket, connected or not
    • stream_socket_sendto - Sends a message to a socket, whether it is connected or not
    • stream_socket_server - Create an Internet or Unix domain server socket
    • stream_socket_shutdown - Shutdown a full-duplex connection
    • stream_supports_lock - Tells whether the stream supports locking
    • stream_wrapper_register - Register a URL wrapper implemented as a PHP class
    • stream_wrapper_restore - Restores a previously unregistered built-in wrapper
    • stream_wrapper_unregister - Unregister a URL wrapper
    • strftime - Formata uma hora/data de acordo com as configurações locais
    • stripcslashes - Desfaz o efeito de addcslashes
    • stripos - Encontra a primeira ocorrencia de uma string sem diferenciar maiúsculas e minúsculas
    • stripslashes - Desfaz o efeito de addslashes
    • strip_tags - Retira as tags HTML e PHP de uma string
    • stristr - strstr sem diferenciar maiúsculas e minúsculas
    • strlen - Retorna o tamanho de uma string
    • strnatcasecmp - Comparação de strings sem diferenciar maiúsculas/minúsculas usando o algoritmo "natural order"
    • strnatcmp - Comparação de strings usando o algoritmo "natural order"
    • strncasecmp - Comparação de string caso-sensitivo de Binário seguro dos primeiros n caracteres
    • strncmp - Comparação de string segura para binário para os primeiros n caracteres
    • strpbrk - Procura na string por um dos caracteres de um conjunto
    • strpos - Encontra a posição da primeira ocorrência de uma string
    • strptime - Interpreta uma hora/data gerada pela função strftime
    • strrchr - Encontra a ultima ocorrência de um caractere em uma string
    • strrev - Reverte uma string
    • strripos - Encontra a posição da última ocorrência de uma string case-insensitive em uma string
    • strrpos - Encontra a posição da última ocorrência de um caractere em uma string
    • strspn - Encontra o comprimento do segmento inicial combinando com a máscara
    • strstr - Encontra a primeira ocorrencia de uma string
    • strtok - Tokeniza uma string
    • strtolower - Converte uma string para minúsculas
    • strtotime - Interpreta qualquer descrição de data/hora em texto em inglês em timestamp Unix
    • strtoupper - Converte uma string para maiúsculas
    • strtr - Traduz certos caracteres
    • strval - Retorna o valor string de uma variável
    • str_contains - Determine if a string contains a given substring
    • str_ends_with - Checks if a string ends with a given substring
    • str_getcsv - Analisa uma string CSV e retorna os dados em um array
    • str_ireplace - Versão que não diferencia maiúsculas e minúsculas de str_replace.
    • str_pad - Preenche uma string para um certo tamanho com outra string
    • str_repeat - Repete uma string
    • str_replace - Substitui todas as ocorrências da string de procura com a string de substituição
    • str_rot13 - Executa a transformação rot13 em uma string
    • str_shuffle - Mistura uma string aleatoriamente
    • str_split - Converte uma string para um array
    • str_starts_with - Checks if a string starts with a given substring
    • str_word_count - Retorna informação sobre as palavras usadas em uma string
    • substr - Retorna uma parte de uma string
    • substr_compare - A comparação binária entre duas strings de um offset até o limite do comprimento de caracteres
    • substr_count - Conta o número de ocorrências de uma substring
    • substr_replace - Substitui o texto dentro de uma parte de uma string
    • SVM::crossvalidate - Test training params on subsets of the training data
    • SVM::getOptions - Return the current training parameters
    • SVM::setOptions - Set training parameters
    • SVM::train - Create a SVMModel based on training data
    • SVM::__construct - Construct a new SVM object
    • SVMModel::checkProbabilityModel - Returns true if the model has probability information
    • SVMModel::getLabels - Get the labels the model was trained on
    • SVMModel::getNrClass - Returns the number of classes the model was trained with
    • SVMModel::getSvmType - Get the SVM type the model was trained with
    • SVMModel::getSvrProbability - Get the sigma value for regression types
    • SVMModel::load - Load a saved SVM Model
    • SVMModel::predict - Predict a value for previously unseen data
    • SVMModel::predict_probability - Return class probabilities for previous unseen data
    • SVMModel::save - Save a model to a file
    • SVMModel::__construct - Construct a new SVMModel
    • svn_add - Schedules the addition of an item in a working directory
    • svn_auth_get_parameter - Retrieves authentication parameter
    • svn_auth_set_parameter - Sets an authentication parameter
    • svn_blame - Get the SVN blame for a file
    • svn_cat - Returns the contents of a file in a repository
    • svn_checkout - Checks out a working copy from the repository
    • svn_cleanup - Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
    • svn_client_version - Returns the version of the SVN client libraries
    • svn_commit - Sends changes from the local working copy to the repository
    • svn_delete - Delete items from a working copy or repository
    • svn_diff - Recursively diffs two paths
    • svn_export - Export the contents of a SVN directory
    • svn_fs_abort_txn - Abort a transaction, returns true if everything is okay, false otherwise
    • svn_fs_apply_text - Creates and returns a stream that will be used to replace
    • svn_fs_begin_txn2 - Create a new transaction
    • svn_fs_change_node_prop - Return true if everything is ok, false otherwise
    • svn_fs_check_path - Determines what kind of item lives at path in a given repository fsroot
    • svn_fs_contents_changed - Return true if content is different, false otherwise
    • svn_fs_copy - Copies a file or a directory, returns true if all is ok, false otherwise
    • svn_fs_delete - Deletes a file or a directory, return true if all is ok, false otherwise
    • svn_fs_dir_entries - Enumerates the directory entries under path; returns a hash of dir names to file type
    • svn_fs_file_contents - Returns a stream to access the contents of a file from a given version of the fs
    • svn_fs_file_length - Returns the length of a file from a given version of the fs
    • svn_fs_is_dir - Return true if the path points to a directory, false otherwise
    • svn_fs_is_file - Return true if the path points to a file, false otherwise
    • svn_fs_make_dir - Creates a new empty directory, returns true if all is ok, false otherwise
    • svn_fs_make_file - Creates a new empty file, returns true if all is ok, false otherwise
    • svn_fs_node_created_rev - Returns the revision in which path under fsroot was created
    • svn_fs_node_prop - Returns the value of a property for a node
    • svn_fs_props_changed - Return true if props are different, false otherwise
    • svn_fs_revision_prop - Fetches the value of a named property
    • svn_fs_revision_root - Get a handle on a specific version of the repository root
    • svn_fs_txn_root - Creates and returns a transaction root
    • svn_fs_youngest_rev - Returns the number of the youngest revision in the filesystem
    • svn_import - Imports an unversioned path into a repository
    • svn_log - Returns the commit log messages of a repository URL
    • svn_ls - Returns list of directory contents in repository URL, optionally at revision number
    • svn_mkdir - Creates a directory in a working copy or repository
    • svn_repos_create - Create a new subversion repository at path
    • svn_repos_fs - Gets a handle on the filesystem for a repository
    • svn_repos_fs_begin_txn_for_commit - Create a new transaction
    • svn_repos_fs_commit_txn - Commits a transaction and returns the new revision
    • svn_repos_hotcopy - Make a hot-copy of the repos at repospath; copy it to destpath
    • svn_repos_open - Open a shared lock on a repository
    • svn_repos_recover - Run recovery procedures on the repository located at path
    • svn_revert - Revert changes to the working copy
    • svn_status - Returns the status of working copy files and directories
    • svn_update - Update working copy
    • Swoole\Async::dnsLookup - Async and non-blocking hostname to IP lookup.
    • Swoole\Async::read - Read file stream asynchronously.
    • Swoole\Async::readFile - Read a file asynchronously.
    • Swoole\Async::set - Update the async I/O options.
    • Swoole\Async::write - Write data to a file stream asynchronously.
    • Swoole\Async::writeFile - Description
    • Swoole\Atomic::add - Add a number to the value to the atomic object.
    • Swoole\Atomic::cmpset - Compare and set the value of the atomic object.
    • Swoole\Atomic::get - Get the current value of the atomic object.
    • Swoole\Atomic::set - Set a new value to the atomic object.
    • Swoole\Atomic::sub - Subtract a number to the value of the atomic object.
    • Swoole\Atomic::__construct - Construct a swoole atomic object.
    • Swoole\Buffer::append - Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.
    • Swoole\Buffer::clear - Reset the memory buffer.
    • Swoole\Buffer::expand - Expand the size of memory buffer.
    • Swoole\Buffer::read - Read data from the memory buffer based on offset and length.
    • Swoole\Buffer::recycle - Release the memory to OS which is not used by the memory buffer.
    • Swoole\Buffer::substr - Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.
    • Swoole\Buffer::write - Write data to the memory buffer. The memory allocated for the buffer will not be changed.
    • Swoole\Buffer::__construct - Fixed size memory blocks allocation.
    • Swoole\Buffer::__destruct - Destruct the Swoole memory buffer.
    • Swoole\Buffer::__toString - Get the string value of the memory buffer.
    • Swoole\Channel::pop - Read and pop data from swoole channel.
    • Swoole\Channel::push - Write and push data into Swoole channel.
    • Swoole\Channel::stats - Get stats of swoole channel.
    • Swoole\Channel::__construct - Construct a Swoole Channel
    • Swoole\Channel::__destruct - Destruct a Swoole channel.
    • Swoole\Client::close - Close the connection established.
    • Swoole\Client::connect - Connect to the remote TCP or UDP port.
    • Swoole\Client::getpeername - Get the remote socket name of the connection.
    • Swoole\Client::getsockname - Get the local socket name of the connection.
    • Swoole\Client::isConnected - Check if the connection is established.
    • Swoole\Client::on - Add callback functions triggered by events.
    • Swoole\Client::pause - Pause receiving data.
    • Swoole\Client::pipe - Redirect the data to another file descriptor.
    • Swoole\Client::recv - Receive data from the remote socket.
    • Swoole\Client::resume - Resume receiving data.
    • Swoole\Client::send - Send data to the remote TCP socket.
    • Swoole\Client::sendfile - Send file to the remote TCP socket.
    • Swoole\Client::sendto - Send data to the remote UDP address.
    • Swoole\Client::set - Set the Swoole client parameters before the connection is established.
    • Swoole\Client::sleep - Remove the TCP client from system event loop.
    • Swoole\Client::wakeup - Add the TCP client back into the system event loop.
    • Swoole\Client::__construct - Create Swoole sync or async TCP/UDP client, with or without SSL.
    • Swoole\Client::__destruct - Destruct the Swoole client.
    • Swoole\Connection\Iterator::count - Count connections.
    • Swoole\Connection\Iterator::current - Return current connection entry.
    • Swoole\Connection\Iterator::key - Return key of the current connection.
    • Swoole\Connection\Iterator::next - Move to the next connection.
    • Swoole\Connection\Iterator::offsetExists - Check if offet exists.
    • Swoole\Connection\Iterator::offsetGet - Offset to retrieve.
    • Swoole\Connection\Iterator::offsetSet - Assign a Connection to the specified offset.
    • Swoole\Connection\Iterator::offsetUnset - Unset an offset.
    • Swoole\Connection\Iterator::rewind - Rewinds iterator
    • Swoole\Connection\Iterator::valid - Check if current position is valid.
    • Swoole\Coroutine::call_user_func - Call a callback given by the first parameter
    • Swoole\Coroutine::call_user_func_array - Call a callback with an array of parameters
    • Swoole\Coroutine::cli_wait - Description
    • Swoole\Coroutine::create - Description
    • Swoole\Coroutine::getuid - Description
    • Swoole\Coroutine::resume - Description
    • Swoole\Coroutine::suspend - Description
    • Swoole\Coroutine\Client::close - Description
    • Swoole\Coroutine\Client::connect - Description
    • Swoole\Coroutine\Client::getpeername - Description
    • Swoole\Coroutine\Client::getsockname - Description
    • Swoole\Coroutine\Client::isConnected - Description
    • Swoole\Coroutine\Client::recv - Description
    • Swoole\Coroutine\Client::send - Description
    • Swoole\Coroutine\Client::sendfile - Description
    • Swoole\Coroutine\Client::sendto - Description
    • Swoole\Coroutine\Client::set - Description
    • Swoole\Coroutine\Client::__construct - Description
    • Swoole\Coroutine\Client::__destruct - Description
    • Swoole\Coroutine\Http\Client::addFile - Description
    • Swoole\Coroutine\Http\Client::close - Description
    • Swoole\Coroutine\Http\Client::execute - Description
    • Swoole\Coroutine\Http\Client::get - Description
    • Swoole\Coroutine\Http\Client::getDefer - Description
    • Swoole\Coroutine\Http\Client::isConnected - Description
    • Swoole\Coroutine\Http\Client::post - Description
    • Swoole\Coroutine\Http\Client::recv - Description
    • Swoole\Coroutine\Http\Client::set - Description
    • Swoole\Coroutine\Http\Client::setCookies - Description
    • Swoole\Coroutine\Http\Client::setData - Description
    • Swoole\Coroutine\Http\Client::setDefer - Description
    • Swoole\Coroutine\Http\Client::setHeaders - Description
    • Swoole\Coroutine\Http\Client::setMethod - Description
    • Swoole\Coroutine\Http\Client::__construct - Description
    • Swoole\Coroutine\Http\Client::__destruct - Description
    • Swoole\Coroutine\MySQL::close - Description
    • Swoole\Coroutine\MySQL::connect - Description
    • Swoole\Coroutine\MySQL::getDefer - Description
    • Swoole\Coroutine\MySQL::query - Description
    • Swoole\Coroutine\MySQL::recv - Description
    • Swoole\Coroutine\MySQL::setDefer - Description
    • Swoole\Coroutine\MySQL::__construct - Description
    • Swoole\Coroutine\MySQL::__destruct - Description
    • Swoole\Event::add - Add new callback functions of a socket into the EventLoop.
    • Swoole\Event::defer - Add a callback function to the next event loop.
    • Swoole\Event::del - Remove all event callback functions of a socket.
    • Swoole\Event::exit - Exit the eventloop, only available at client side.
    • Swoole\Event::set - Update the event callback functions of a socket.
    • Swoole\Event::wait - Description
    • Swoole\Event::write - Write data to the socket.
    • Swoole\Http\Client::addFile - Add a file to the post form.
    • Swoole\Http\Client::close - Close the http connection.
    • Swoole\Http\Client::download - Download a file from the remote server.
    • Swoole\Http\Client::execute - Send the HTTP request after setting the parameters.
    • Swoole\Http\Client::get - Send GET http request to the remote server.
    • Swoole\Http\Client::isConnected - Check if the HTTP connection is connected.
    • Swoole\Http\Client::on - Register callback function by event name.
    • Swoole\Http\Client::post - Send POST http request to the remote server.
    • Swoole\Http\Client::push - Push data to websocket client.
    • Swoole\Http\Client::set - Update the HTTP client paramters.
    • Swoole\Http\Client::setCookies - Set the http request cookies.
    • Swoole\Http\Client::setData - Set the HTTP request body data.
    • Swoole\Http\Client::setHeaders - Set the HTTP request headers.
    • Swoole\Http\Client::setMethod - Set the HTTP request method.
    • Swoole\Http\Client::upgrade - Upgrade to websocket protocol.
    • Swoole\Http\Client::__construct - Construct the async HTTP client.
    • Swoole\Http\Client::__destruct - Destruct the HTTP client.
    • Swoole\Http\Request::rawcontent - Get the raw HTTP POST body.
    • Swoole\Http\Request::__destruct - Destruct the HTTP request.
    • Swoole\Http\Response::cookie - Set the cookies of the HTTP response.
    • Swoole\Http\Response::end - Send data for the HTTP request and finish the response.
    • Swoole\Http\Response::gzip - Enable the gzip of response content.
    • Swoole\Http\Response::header - Set the HTTP response headers.
    • Swoole\Http\Response::initHeader - Init the HTTP response header.
    • Swoole\Http\Response::rawcookie - Set the raw cookies to the HTTP response.
    • Swoole\Http\Response::sendfile - Send file through the HTTP response.
    • Swoole\Http\Response::status - Set the status code of the HTTP response.
    • Swoole\Http\Response::write - Append HTTP body content to the HTTP response.
    • Swoole\Http\Response::__destruct - Destruct the HTTP response.
    • Swoole\Http\Server::on - Vincula a função de retorno (callback) ao servidor HTTP pelo nome do evento.
    • Swoole\Http\Server::start - Iniciar o servidor http swoole.
    • Swoole\Lock::lock - Try to acquire the lock. It will block if the lock is not available.
    • Swoole\Lock::lock_read - Lock a read-write lock for reading.
    • Swoole\Lock::trylock - Try to acquire the lock and return straight away even the lock is not available.
    • Swoole\Lock::trylock_read - Try to lock a read-write lock for reading and return straight away even the lock is not available.
    • Swoole\Lock::unlock - Release the lock.
    • Swoole\Lock::__construct - Construct a memory lock.
    • Swoole\Lock::__destruct - Destory a Swoole memory lock.
    • Swoole\Mmap::open - Map a file into memory and return the stream resource which can be used by PHP stream operations.
    • Swoole\MySQL::close - Close the async MySQL connection.
    • Swoole\MySQL::connect - Connect to the remote MySQL server.
    • Swoole\MySQL::getBuffer - Description
    • Swoole\MySQL::on - Register callback function based on event name.
    • Swoole\MySQL::query - Run the SQL query.
    • Swoole\MySQL::__construct - Construct an async MySQL client.
    • Swoole\MySQL::__destruct - Destory the async MySQL client.
    • Swoole\Process::alarm - High precision timer which triggers signal with fixed interval.
    • Swoole\Process::close - Close the pipe to the child process.
    • Swoole\Process::daemon - Change the process to be a daemon process.
    • Swoole\Process::exec - Execute system commands.
    • Swoole\Process::exit - Stop the child processes.
    • Swoole\Process::freeQueue - Destroy the message queue created by swoole_process::useQueue.
    • Swoole\Process::kill - Send signal to the child process.
    • Swoole\Process::name - Set name of the process.
    • Swoole\Process::pop - Read and pop data from the message queue.
    • Swoole\Process::push - Write and push data into the message queue.
    • Swoole\Process::read - Read data sending to the process.
    • Swoole\Process::signal - Send signal to the child processes.
    • Swoole\Process::start - Start the process.
    • Swoole\Process::statQueue - Get the stats of the message queue used as the communication method between processes.
    • Swoole\Process::useQueue - Create a message queue as the communication method between the parent process and child processes.
    • Swoole\Process::wait - Wait for the events of child processes.
    • Swoole\Process::write - Write data into the pipe and communicate with the parent process or child processes.
    • Swoole\Process::__construct - Construct a process.
    • Swoole\Process::__destruct - Destory the process.
    • Swoole\Redis\Server::format - Description
    • Swoole\Redis\Server::setHandler - Description
    • Swoole\Redis\Server::start - Description
    • Swoole\Serialize::pack - Serialize the data.
    • Swoole\Serialize::unpack - Unserialize the data.
    • Swoole\Server::addlistener - Add a new listener to the server.
    • Swoole\Server::addProcess - Add a user defined swoole_process to the server.
    • Swoole\Server::after - Trigger a callback function after a period of time.
    • Swoole\Server::bind - Bind the connection to a user defined user ID.
    • Swoole\Server::clearTimer - Stop and destory a timer.
    • Swoole\Server::close - Close a connection to the client.
    • Swoole\Server::confirm - Check status of the connection.
    • Swoole\Server::connection_info - Get the connection info by file description.
    • Swoole\Server::connection_list - Get all of the established connections.
    • Swoole\Server::defer - Delay execution of the callback function at the end of current EventLoop.
    • Swoole\Server::exist - Check if the connection is existed.
    • Swoole\Server::finish - Used in task process for sending result to the worker process when the task is finished.
    • Swoole\Server::getClientInfo - Get the connection info by file description.
    • Swoole\Server::getClientList - Get all of the established connections.
    • Swoole\Server::getLastError - Get the error code of the most recent error.
    • Swoole\Server::heartbeat - Check all the connections on the server.
    • Swoole\Server::listen - Listen on the given IP and port, socket type.
    • Swoole\Server::on - Register a callback function by event name.
    • Swoole\Server::pause - Stop receiving data from the connection.
    • Swoole\Server::protect - Set the connection to be protected mode.
    • Swoole\Server::reload - Restart all the worker process.
    • Swoole\Server::resume - Start receving data from the connection.
    • Swoole\Server::send - Send data to the client.
    • Swoole\Server::sendfile - Send file to the connection.
    • Swoole\Server::sendMessage - Send message to worker processes by ID.
    • Swoole\Server::sendto - Send data to the remote UDP address.
    • Swoole\Server::sendwait - Send data to the remote socket in the blocking way.
    • Swoole\Server::set - Set the runtime settings of the swoole server.
    • Swoole\Server::shutdown - Shutdown the master server process, this function can be called in worker processes.
    • Swoole\Server::start - Inicia o servidor Swoole.
    • Swoole\Server::stats - Get the stats of the Swoole server.
    • Swoole\Server::stop - Stop the Swoole server.
    • Swoole\Server::task - Send data to the task worker processes.
    • Swoole\Server::taskwait - Send data to the task worker processes in blocking way.
    • Swoole\Server::taskWaitMulti - Execute multiple tasks concurrently.
    • Swoole\Server::tick - Repeats a given function at every given time-interval.
    • Swoole\Server::__construct - Construct a Swoole server.
    • Swoole\Server\Port::on - Register callback functions by event.
    • Swoole\Server\Port::set - Set protocol of the server port.
    • Swoole\Server\Port::__construct - Construct a server port
    • Swoole\Server\Port::__destruct - Destory server port
    • Swoole\Table::column - Set the data type and size of the columns.
    • Swoole\Table::count - Count the rows in the table, or count all the elements in the table if $mode = 1.
    • Swoole\Table::create - Create the swoole memory table.
    • Swoole\Table::current - Get the current row.
    • Swoole\Table::decr - Decrement the value in the Swoole table by $row_key and $column_key.
    • Swoole\Table::del - Delete a row in the Swoole table by $row_key.
    • Swoole\Table::destroy - Destroy the Swoole table.
    • Swoole\Table::exist - Check if a row is existed by $row_key.
    • Swoole\Table::get - Get the value in the Swoole table by $row_key and $column_key.
    • Swoole\Table::incr - Increment the value by $row_key and $column_key.
    • Swoole\Table::key - Get the key of current row.
    • Swoole\Table::next - Iterator the next row.
    • Swoole\Table::rewind - Rewind the iterator.
    • Swoole\Table::set - Update a row of the table by $row_key.
    • Swoole\Table::valid - Check current if the current row is valid.
    • Swoole\Table::__construct - Construct a Swoole memory table with fixed size.
    • Swoole\Timer::after - Trigger a callback function after a period of time.
    • Swoole\Timer::clear - Delete a timer by timer ID.
    • Swoole\Timer::exists - Check if a timer is existed.
    • Swoole\Timer::tick - Repeats a given function at every given time-interval.
    • Swoole\WebSocket\Server::exist - Check if the file descriptor exists.
    • Swoole\WebSocket\Server::on - Register event callback function
    • Swoole\WebSocket\Server::pack - Get a pack of binary data to send in a single frame.
    • Swoole\WebSocket\Server::push - Push data to the remote client.
    • Swoole\WebSocket\Server::unpack - Unpack the binary data received from the client.
    • swoole_async_dns_lookup - Async and non-blocking hostname to IP lookup
    • swoole_async_read - Read file stream asynchronously
    • swoole_async_readfile - Read a file asynchronously
    • swoole_async_set - Update the async I/O options
    • swoole_async_write - Write data to a file stream asynchronously
    • swoole_async_writefile - Write data to a file asynchronously
    • swoole_client_select - Get the file description which are ready to read/write or error
    • swoole_cpu_num - Get the number of CPU
    • swoole_errno - Get the error code of the latest system call
    • swoole_event_add - Add new callback functions of a socket into the EventLoop
    • swoole_event_defer - Add callback function to the next event loop
    • swoole_event_del - Remove all event callback functions of a socket
    • swoole_event_exit - Exit the eventloop, only available at the client side
    • swoole_event_set - Update the event callback functions of a socket
    • swoole_event_wait - Start the event loop
    • swoole_event_write - Write data to a socket
    • swoole_get_local_ip - Get the IPv4 IP addresses of each NIC on the machine
    • swoole_last_error - Get the lastest error message
    • swoole_load_module - Load a swoole extension
    • swoole_select - Select the file descriptions which are ready to read/write or error in the eventloop
    • swoole_set_process_name - Set the process name
    • swoole_strerror - Convert the Errno into error messages
    • swoole_timer_after - Trigger a one time callback function in the future
    • swoole_timer_exists - Check if a timer callback function is existed
    • swoole_timer_tick - Trigger a timer tick callback function by time interval
    • swoole_version - Get the version of Swoole
    • symlink - Cria um link simbólico
    • SyncEvent::fire - Fires/sets the event
    • SyncEvent::reset - Resets a manual event
    • SyncEvent::wait - Waits for the event to be fired/set
    • SyncEvent::__construct - Constructs a new SyncEvent object
    • SyncMutex::lock - Waits for an exclusive lock
    • SyncMutex::unlock - Unlocks the mutex
    • SyncMutex::__construct - Constructs a new SyncMutex object
    • SyncReaderWriter::readlock - Waits for a read lock
    • SyncReaderWriter::readunlock - Releases a read lock
    • SyncReaderWriter::writelock - Waits for an exclusive write lock
    • SyncReaderWriter::writeunlock - Releases a write lock
    • SyncReaderWriter::__construct - Constructs a new SyncReaderWriter object
    • SyncSemaphore::lock - Decreases the count of the semaphore or waits
    • SyncSemaphore::unlock - Increases the count of the semaphore
    • SyncSemaphore::__construct - Constructs a new SyncSemaphore object
    • SyncSharedMemory::first - Check to see if the object is the first instance system-wide of named shared memory
    • SyncSharedMemory::read - Copy data from named shared memory
    • SyncSharedMemory::size - Returns the size of the named shared memory
    • SyncSharedMemory::write - Copy data to named shared memory
    • SyncSharedMemory::__construct - Constructs a new SyncSharedMemory object
    • syslog - Generate a system log message
    • system - Executa um programa externo e mostra a saída
    • sys_getloadavg - Gets system load average
    • sys_get_temp_dir - Returns directory path used for temporary files
  • t
    • Table::count - Get row count
    • Table::delete - Delete rows from table
    • Table::existsInDatabase - Check if table exists in database
    • Table::getName - Get table name
    • Table::getSchema - Get table schema
    • Table::getSession - Get table session
    • Table::insert - Insert table rows
    • Table::isView - Check if table is view
    • Table::select - Select rows from table
    • Table::update - Update rows in table
    • Table::__construct - Table constructor
    • TableDelete::bind - Bind delete query parameters
    • TableDelete::execute - Execute delete query
    • TableDelete::limit - Limit deleted rows
    • TableDelete::orderby - Set delete sort criteria
    • TableDelete::where - Set delete search condition
    • TableDelete::__construct - TableDelete constructor
    • TableInsert::execute - Execute insert query
    • TableInsert::values - Add insert row values
    • TableInsert::__construct - TableInsert constructor
    • TableSelect::bind - Bind select query parameters
    • TableSelect::execute - Execute select statement
    • TableSelect::groupBy - Set select grouping criteria
    • TableSelect::having - Set select having condition
    • TableSelect::limit - Limit selected rows
    • TableSelect::lockExclusive - Execute EXCLUSIVE LOCK
    • TableSelect::lockShared - Execute SHARED LOCK
    • TableSelect::offset - Set limit offset
    • TableSelect::orderby - Set select sort criteria
    • TableSelect::where - Set select search condition
    • TableSelect::__construct - TableSelect constructor
    • TableUpdate::bind - Bind update query parameters
    • TableUpdate::execute - Execute update query
    • TableUpdate::limit - Limit update row count
    • TableUpdate::orderby - Set sorting criteria
    • TableUpdate::set - Add field to be updated
    • TableUpdate::where - Set search filter
    • TableUpdate::__construct - TableUpdate constructor
    • taint - Taint a string
    • tan - Tangente
    • tanh - Tangente hiperbólica
    • tcpwrap_check - Performs a tcpwrap check
    • tempnam - Cria um nome de arquivo único
    • textdomain - Seta o domínio padrão
    • Thread::detach - Execution
    • Thread::getCreatorId - Identification
    • Thread::getCurrentThread - Identification
    • Thread::getCurrentThreadId - Identification
    • Thread::getThreadId - Identification
    • Thread::globally - Execution
    • Thread::isJoined - State Detection
    • Thread::isStarted - State Detection
    • Thread::join - Synchronization
    • Thread::kill - Execution
    • Thread::start - Execution
    • Threaded::chunk - Manipulation
    • Threaded::count - Manipulation
    • Threaded::extend - Runtime Manipulation
    • Threaded::from - Creation
    • Threaded::getTerminationInfo - Error Detection
    • Threaded::isRunning - State Detection
    • Threaded::isTerminated - State Detection
    • Threaded::isWaiting - State Detection
    • Threaded::lock - Synchronization
    • Threaded::merge - Manipulation
    • Threaded::notify - Synchronization
    • Threaded::notifyOne - Synchronization
    • Threaded::pop - Manipulation
    • Threaded::run - Execution
    • Threaded::shift - Manipulation
    • Threaded::synchronized - Synchronization
    • Threaded::unlock - Synchronization
    • Threaded::wait - Synchronization
    • Throwable::getCode - Gets the exception code
    • Throwable::getFile - Gets the file in which the object was created
    • Throwable::getLine - Gets the line on which the object was instantiated
    • Throwable::getMessage - Gets the message
    • Throwable::getPrevious - Returns the previous Throwable
    • Throwable::getTrace - Gets the stack trace
    • Throwable::getTraceAsString - Gets the stack trace as a string
    • Throwable::__toString - Gets a string representation of the thrown object
    • tidy_access_count - Returns the Number of Tidy accessibility warnings encountered for specified document
    • tidy_config_count - Returns the Number of Tidy configuration errors encountered for specified document
    • tidy_error_count - Returns the Number of Tidy errors encountered for specified document
    • tidy_get_output - Return a string representing the parsed tidy markup
    • tidy_warning_count - Returns the Number of Tidy warnings encountered for specified document
    • time - Retorna o timestamp Unix atual
    • timezone_abbreviations_list - Sinônimo de DateTimeZone::listAbbreviations
    • timezone_identifiers_list - Sinônimo de DateTimeZone::listIdentifiers
    • timezone_location_get - Sinônimo de DateTimeZone::getLocation
    • timezone_name_from_abbr - Retorna o fuso horário a partir de uma abreviação
    • timezone_name_get - Sinônimo de DateTimeZone::getName
    • timezone_offset_get - Sinônimo de DateTimeZone::getOffset
    • timezone_open - Retorna um novo objeto DateTimeZone
    • timezone_transitions_get - Sinônimo de DateTimeZone::getTransitions
    • timezone_version_get - Recupera a versão do timezonedb
    • time_nanosleep - Atrasa para um número de segundos e nanosegundos
    • time_sleep_until - Paralisa o script até um tempo especificado
    • tmpfile - Cria um arquivo temporário
    • token_get_all - Divide um dado fonte em tokens do PHP
    • token_name - Pega o nome simbólico de um dado token do PHP
    • TokyoTyrant::add - Adds to a numeric key
    • TokyoTyrant::connect - Connect to a database
    • TokyoTyrant::connectUri - Connects to a database
    • TokyoTyrant::copy - Copies the database
    • TokyoTyrant::ext - Execute a remote script
    • TokyoTyrant::fwmKeys - Returns the forward matching keys
    • TokyoTyrant::get - The get purpose
    • TokyoTyrant::getIterator - Get an iterator
    • TokyoTyrant::num - Number of records in the database
    • TokyoTyrant::out - Removes records
    • TokyoTyrant::put - Puts values
    • TokyoTyrant::putCat - Concatenates to a record
    • TokyoTyrant::putKeep - Puts a record
    • TokyoTyrant::putNr - Puts value
    • TokyoTyrant::putShl - Concatenates to a record
    • TokyoTyrant::restore - Restore the database
    • TokyoTyrant::setMaster - Set the replication master
    • TokyoTyrant::size - Returns the size of the value
    • TokyoTyrant::stat - Get statistics
    • TokyoTyrant::sync - Synchronize the database
    • TokyoTyrant::tune - Tunes connection values
    • TokyoTyrant::vanish - Empties the database
    • TokyoTyrant::__construct - Construct a new TokyoTyrant object
    • TokyoTyrantIterator::current - Get the current value
    • TokyoTyrantIterator::key - Returns the current key
    • TokyoTyrantIterator::next - Move to next key
    • TokyoTyrantIterator::rewind - Rewinds the iterator
    • TokyoTyrantIterator::valid - Rewinds the iterator
    • TokyoTyrantIterator::__construct - Construct an iterator
    • TokyoTyrantQuery::addCond - Adds a condition to the query
    • TokyoTyrantQuery::count - Counts records
    • TokyoTyrantQuery::current - Returns the current element
    • TokyoTyrantQuery::hint - Get the hint string of the query
    • TokyoTyrantQuery::key - Returns the current key
    • TokyoTyrantQuery::metaSearch - Retrieve records with multiple queries
    • TokyoTyrantQuery::next - Moves the iterator to next entry
    • TokyoTyrantQuery::out - Removes records based on query
    • TokyoTyrantQuery::rewind - Rewinds the iterator
    • TokyoTyrantQuery::search - Searches records
    • TokyoTyrantQuery::setLimit - Limit results
    • TokyoTyrantQuery::setOrder - Orders results
    • TokyoTyrantQuery::valid - Checks the validity of current item
    • TokyoTyrantQuery::__construct - Construct a new query
    • TokyoTyrantTable::add - Adds a record
    • TokyoTyrantTable::genUid - Generate unique id
    • TokyoTyrantTable::get - Get a row
    • TokyoTyrantTable::getIterator - Get an iterator
    • TokyoTyrantTable::getQuery - Get a query object
    • TokyoTyrantTable::out - Remove records
    • TokyoTyrantTable::put - Store a row
    • TokyoTyrantTable::putCat - Concatenates to a row
    • TokyoTyrantTable::putKeep - Put a new record
    • TokyoTyrantTable::putNr - Puts value
    • TokyoTyrantTable::putShl - Concatenates to a record
    • TokyoTyrantTable::setIndex - Sets index
    • touch - Muda o tempo de modificação do arquivo
    • trader_acos - Vector Trigonometric ACos
    • trader_ad - Chaikin A/D Line
    • trader_add - Vector Arithmetic Add
    • trader_adosc - Chaikin A/D Oscillator
    • trader_adx - Average Directional Movement Index
    • trader_adxr - Average Directional Movement Index Rating
    • trader_apo - Absolute Price Oscillator
    • trader_aroon - Aroon
    • trader_aroonosc - Aroon Oscillator
    • trader_asin - Vector Trigonometric ASin
    • trader_atan - Vector Trigonometric ATan
    • trader_atr - Average True Range
    • trader_avgprice - Average Price
    • trader_bbands - Bollinger Bands
    • trader_beta - Beta
    • trader_bop - Balance Of Power
    • trader_cci - Commodity Channel Index
    • trader_cdl2crows - Two Crows
    • trader_cdl3blackcrows - Three Black Crows
    • trader_cdl3inside - Three Inside Up/Down
    • trader_cdl3linestrike - Three-Line Strike
    • trader_cdl3outside - Three Outside Up/Down
    • trader_cdl3starsinsouth - Three Stars In The South
    • trader_cdl3whitesoldiers - Three Advancing White Soldiers
    • trader_cdlabandonedbaby - Abandoned Baby
    • trader_cdladvanceblock - Advance Block
    • trader_cdlbelthold - Belt-hold
    • trader_cdlbreakaway - Breakaway
    • trader_cdlclosingmarubozu - Closing Marubozu
    • trader_cdlconcealbabyswall - Concealing Baby Swallow
    • trader_cdlcounterattack - Counterattack
    • trader_cdldarkcloudcover - Dark Cloud Cover
    • trader_cdldoji - Doji
    • trader_cdldojistar - Doji Star
    • trader_cdldragonflydoji - Dragonfly Doji
    • trader_cdlengulfing - Engulfing Pattern
    • trader_cdleveningdojistar - Evening Doji Star
    • trader_cdleveningstar - Evening Star
    • trader_cdlgapsidesidewhite - Up/Down-gap side-by-side white lines
    • trader_cdlgravestonedoji - Gravestone Doji
    • trader_cdlhammer - Hammer
    • trader_cdlhangingman - Hanging Man
    • trader_cdlharami - Harami Pattern
    • trader_cdlharamicross - Harami Cross Pattern
    • trader_cdlhighwave - High-Wave Candle
    • trader_cdlhikkake - Hikkake Pattern
    • trader_cdlhikkakemod - Modified Hikkake Pattern
    • trader_cdlhomingpigeon - Homing Pigeon
    • trader_cdlidentical3crows - Identical Three Crows
    • trader_cdlinneck - In-Neck Pattern
    • trader_cdlinvertedhammer - Inverted Hammer
    • trader_cdlkicking - Kicking
    • trader_cdlkickingbylength - Kicking - bull/bear determined by the longer marubozu
    • trader_cdlladderbottom - Ladder Bottom
    • trader_cdllongleggeddoji - Long Legged Doji
    • trader_cdllongline - Long Line Candle
    • trader_cdlmarubozu - Marubozu
    • trader_cdlmatchinglow - Matching Low
    • trader_cdlmathold - Mat Hold
    • trader_cdlmorningdojistar - Morning Doji Star
    • trader_cdlmorningstar - Morning Star
    • trader_cdlonneck - On-Neck Pattern
    • trader_cdlpiercing - Piercing Pattern
    • trader_cdlrickshawman - Rickshaw Man
    • trader_cdlrisefall3methods - Rising/Falling Three Methods
    • trader_cdlseparatinglines - Separating Lines
    • trader_cdlshootingstar - Shooting Star
    • trader_cdlshortline - Short Line Candle
    • trader_cdlspinningtop - Spinning Top
    • trader_cdlstalledpattern - Stalled Pattern
    • trader_cdlsticksandwich - Stick Sandwich
    • trader_cdltakuri - Takuri (Dragonfly Doji with very long lower shadow)
    • trader_cdltasukigap - Tasuki Gap
    • trader_cdlthrusting - Thrusting Pattern
    • trader_cdltristar - Tristar Pattern
    • trader_cdlunique3river - Unique 3 River
    • trader_cdlupsidegap2crows - Upside Gap Two Crows
    • trader_cdlxsidegap3methods - Upside/Downside Gap Three Methods
    • trader_ceil - Vector Ceil
    • trader_cmo - Chande Momentum Oscillator
    • trader_correl - Pearson's Correlation Coefficient (r)
    • trader_cos - Vector Trigonometric Cos
    • trader_cosh - Vector Trigonometric Cosh
    • trader_dema - Double Exponential Moving Average
    • trader_div - Vector Arithmetic Div
    • trader_dx - Directional Movement Index
    • trader_ema - Exponential Moving Average
    • trader_errno - Get error code
    • trader_exp - Vector Arithmetic Exp
    • trader_floor - Vector Floor
    • trader_get_compat - Get compatibility mode
    • trader_get_unstable_period - Get unstable period
    • trader_ht_dcperiod - Hilbert Transform - Dominant Cycle Period
    • trader_ht_dcphase - Hilbert Transform - Dominant Cycle Phase
    • trader_ht_phasor - Hilbert Transform - Phasor Components
    • trader_ht_sine - Hilbert Transform - SineWave
    • trader_ht_trendline - Hilbert Transform - Instantaneous Trendline
    • trader_ht_trendmode - Hilbert Transform - Trend vs Cycle Mode
    • trader_kama - Kaufman Adaptive Moving Average
    • trader_linearreg - Linear Regression
    • trader_linearreg_angle - Linear Regression Angle
    • trader_linearreg_intercept - Linear Regression Intercept
    • trader_linearreg_slope - Linear Regression Slope
    • trader_ln - Vector Log Natural
    • trader_log10 - Vector Log10
    • trader_ma - Moving average
    • trader_macd - Moving Average Convergence/Divergence
    • trader_macdext - MACD with controllable MA type
    • trader_macdfix - Moving Average Convergence/Divergence Fix 12/26
    • trader_mama - MESA Adaptive Moving Average
    • trader_mavp - Moving average with variable period
    • trader_max - Highest value over a specified period
    • trader_maxindex - Index of highest value over a specified period
    • trader_medprice - Median Price
    • trader_mfi - Money Flow Index
    • trader_midpoint - MidPoint over period
    • trader_midprice - Midpoint Price over period
    • trader_min - Lowest value over a specified period
    • trader_minindex - Index of lowest value over a specified period
    • trader_minmax - Lowest and highest values over a specified period
    • trader_minmaxindex - Indexes of lowest and highest values over a specified period
    • trader_minus_di - Minus Directional Indicator
    • trader_minus_dm - Minus Directional Movement
    • trader_mom - Momentum
    • trader_mult - Vector Arithmetic Mult
    • trader_natr - Normalized Average True Range
    • trader_obv - On Balance Volume
    • trader_plus_di - Plus Directional Indicator
    • trader_plus_dm - Plus Directional Movement
    • trader_ppo - Percentage Price Oscillator
    • trader_roc - Rate of change : ((price/prevPrice)-1)*100
    • trader_rocp - Rate of change Percentage: (price-prevPrice)/prevPrice
    • trader_rocr - Rate of change ratio: (price/prevPrice)
    • trader_rocr100 - Rate of change ratio 100 scale: (price/prevPrice)*100
    • trader_rsi - Relative Strength Index
    • trader_sar - Parabolic SAR
    • trader_sarext - Parabolic SAR - Extended
    • trader_set_compat - Set compatibility mode
    • trader_set_unstable_period - Set unstable period
    • trader_sin - Vector Trigonometric Sin
    • trader_sinh - Vector Trigonometric Sinh
    • trader_sma - Simple Moving Average
    • trader_sqrt - Vector Square Root
    • trader_stddev - Standard Deviation
    • trader_stoch - Stochastic
    • trader_stochf - Stochastic Fast
    • trader_stochrsi - Stochastic Relative Strength Index
    • trader_sub - Vector Arithmetic Subtraction
    • trader_sum - Summation
    • trader_t3 - Triple Exponential Moving Average (T3)
    • trader_tan - Vector Trigonometric Tan
    • trader_tanh - Vector Trigonometric Tanh
    • trader_tema - Triple Exponential Moving Average
    • trader_trange - True Range
    • trader_trima - Triangular Moving Average
    • trader_trix - 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
    • trader_tsf - Time Series Forecast
    • trader_typprice - Typical Price
    • trader_ultosc - Ultimate Oscillator
    • trader_var - Variance
    • trader_wclprice - Weighted Close Price
    • trader_willr - Williams' %R
    • trader_wma - Weighted Moving Average
    • trait_exists - Verifica se a trait existe
    • Transliterator::create - Create a transliterator
    • Transliterator::createFromRules - Create transliterator from rules
    • Transliterator::createInverse - Create an inverse transliterator
    • Transliterator::getErrorCode - Get last error code
    • Transliterator::getErrorMessage - Get last error message
    • Transliterator::listIDs - Get transliterator IDs
    • Transliterator::transliterate - Transliterate a string
    • Transliterator::__construct - Private constructor to deny instantiation
    • trigger_error - Gera uma mensagem a nível de usuário de erro/aviso/notícia
    • trim - Retira espaço no ínicio e final de uma string
  • u
    • uasort - Ordena um array utilizando uma função de comparação definida pelo usuário e mantendo as associações entre chaves e valores
    • ucfirst - Converte para maiúscula o primeiro caractere de uma string
    • UConverter::convert - Converte uma string de um conjunto de caracteres (charset) para outro
    • UConverter::fromUCallback - Função de retorno de origem padrão
    • UConverter::getAliases - Obtém o pseudônimo de um dado nome
    • UConverter::getAvailable - Obtém os nomes dos conversores canônicos disponíveis
    • UConverter::getDestinationEncoding - Obtém a codificação de destino
    • UConverter::getDestinationType - Obtém o tipo do conversor de destino
    • UConverter::getErrorCode - Obtém o código do último erro gerado pelo objeto
    • UConverter::getErrorMessage - Obtém a mensagem do último erro gerado pelo objeto
    • UConverter::getSourceEncoding - Obtém a codificação de origem
    • UConverter::getSourceType - Obtém o tipo do conversor de origem
    • UConverter::getStandards - Obtém os nomes dos conversores padrão associados
    • UConverter::getSubstChars - Obtém os caracteres de substituição
    • UConverter::reasonText - Obtém uma representação de string da razão de retorno
    • UConverter::setDestinationEncoding - Define a codificação de destino
    • UConverter::setSourceEncoding - Define a codificação de origem
    • UConverter::setSubstChars - Define os caracteres de substituição
    • UConverter::toUCallback - Função de retorno padrão de destino
    • UConverter::transcode - Converte uma string de um conjunto de caracteres (charset) para outro
    • UConverter::__construct - Cria um objeto UConverter
    • ucwords - Converte para maiúsculas o primeiro caractere de cada palavra
    • UI\Area::onDraw - Draw Callback
    • UI\Area::onKey - Key Callback
    • UI\Area::onMouse - Mouse Callback
    • UI\Area::redraw - Redraw Area
    • UI\Area::scrollTo - Area Scroll
    • UI\Area::setSize - Set Size
    • UI\Control::destroy - Destroy Control
    • UI\Control::disable - Disable Control
    • UI\Control::enable - Enable Control
    • UI\Control::getParent - Get Parent Control
    • UI\Control::getTopLevel - Get Top Level
    • UI\Control::hide - Hide Control
    • UI\Control::isEnabled - Determine if Control is enabled
    • UI\Control::isVisible - Determine if Control is visible
    • UI\Control::setParent - Set Parent Control
    • UI\Control::show - Control Show
    • UI\Controls\Box::append - Append Control
    • UI\Controls\Box::delete - Delete Control
    • UI\Controls\Box::getOrientation - Get Orientation
    • UI\Controls\Box::isPadded - Padding Detection
    • UI\Controls\Box::setPadded - Set Padding
    • UI\Controls\Box::__construct - Construct a new Box
    • UI\Controls\Button::getText - Get Text
    • UI\Controls\Button::onClick - Click Handler
    • UI\Controls\Button::setText - Set Text
    • UI\Controls\Button::__construct - Construct a new Button
    • UI\Controls\Check::getText - Get Text
    • UI\Controls\Check::isChecked - Checked Detection
    • UI\Controls\Check::onToggle - Toggle Callback
    • UI\Controls\Check::setChecked - Set Checked
    • UI\Controls\Check::setText - Set Text
    • UI\Controls\Check::__construct - Construct a new Check
    • UI\Controls\ColorButton::getColor - Get Color
    • UI\Controls\ColorButton::onChange - Change Handler
    • UI\Controls\ColorButton::setColor - Set Color
    • UI\Controls\Combo::append - Append Option
    • UI\Controls\Combo::getSelected - Get Selected Option
    • UI\Controls\Combo::onSelected - Selected Handler
    • UI\Controls\Combo::setSelected - Set Selected Option
    • UI\Controls\EditableCombo::append - Append Option
    • UI\Controls\EditableCombo::getText - Get Text
    • UI\Controls\EditableCombo::onChange - Change Handler
    • UI\Controls\EditableCombo::setText - Set Text
    • UI\Controls\Entry::getText - Get Text
    • UI\Controls\Entry::isReadOnly - Detect Read Only
    • UI\Controls\Entry::onChange - Change Handler
    • UI\Controls\Entry::setReadOnly - Set Read Only
    • UI\Controls\Entry::setText - Set Text
    • UI\Controls\Entry::__construct - Construct a new Entry
    • UI\Controls\Form::append - Append Control
    • UI\Controls\Form::delete - Delete Control
    • UI\Controls\Form::isPadded - Padding Detection
    • UI\Controls\Form::setPadded - Set Padding
    • UI\Controls\Grid::append - Append Control
    • UI\Controls\Grid::isPadded - Padding Detection
    • UI\Controls\Grid::setPadded - Set Padding
    • UI\Controls\Group::append - Append Control
    • UI\Controls\Group::getTitle - Get Title
    • UI\Controls\Group::hasMargin - Margin Detection
    • UI\Controls\Group::setMargin - Set Margin
    • UI\Controls\Group::setTitle - Set Title
    • UI\Controls\Group::__construct - Construct a new Group
    • UI\Controls\Label::getText - Get Text
    • UI\Controls\Label::setText - Set Text
    • UI\Controls\Label::__construct - Construct a new Label
    • UI\Controls\MultilineEntry::append - Append Text
    • UI\Controls\MultilineEntry::getText - Get Text
    • UI\Controls\MultilineEntry::isReadOnly - Read Only Detection
    • UI\Controls\MultilineEntry::onChange - Change Handler
    • UI\Controls\MultilineEntry::setReadOnly - Set Read Only
    • UI\Controls\MultilineEntry::setText - Set Text
    • UI\Controls\MultilineEntry::__construct - Construct a new Multiline Entry
    • UI\Controls\Picker::__construct - Construct a new Picker
    • UI\Controls\Progress::getValue - Get Value
    • UI\Controls\Progress::setValue - Set Value
    • UI\Controls\Radio::append - Append Option
    • UI\Controls\Radio::getSelected - Get Selected Option
    • UI\Controls\Radio::onSelected - Selected Handler
    • UI\Controls\Radio::setSelected - Set Selected Option
    • UI\Controls\Separator::__construct - Construct a new Separator
    • UI\Controls\Slider::getValue - Get Value
    • UI\Controls\Slider::onChange - Change Handler
    • UI\Controls\Slider::setValue - Set Value
    • UI\Controls\Slider::__construct - Construct a new Slider
    • UI\Controls\Spin::getValue - Get Value
    • UI\Controls\Spin::onChange - Change Handler
    • UI\Controls\Spin::setValue - Set Value
    • UI\Controls\Spin::__construct - Construct a new Spin
    • UI\Controls\Tab::append - Append Page
    • UI\Controls\Tab::delete - Delete Page
    • UI\Controls\Tab::hasMargin - Margin Detection
    • UI\Controls\Tab::insertAt - Insert Page
    • UI\Controls\Tab::pages - Page Count
    • UI\Controls\Tab::setMargin - Set Margin
    • UI\Draw\Brush::getColor - Get Color
    • UI\Draw\Brush::setColor - Set Color
    • UI\Draw\Brush::__construct - Construct a new Brush
    • UI\Draw\Brush\Gradient::addStop - Stop Manipulation
    • UI\Draw\Brush\Gradient::delStop - Stop Manipulation
    • UI\Draw\Brush\Gradient::setStop - Stop Manipulation
    • UI\Draw\Brush\LinearGradient::__construct - Construct a Linear Gradient
    • UI\Draw\Brush\RadialGradient::__construct - Construct a new Radial Gradient
    • UI\Draw\Color::getChannel - Color Manipulation
    • UI\Draw\Color::setChannel - Color Manipulation
    • UI\Draw\Color::__construct - Construct new Color
    • UI\Draw\Matrix::invert - Invert Matrix
    • UI\Draw\Matrix::isInvertible - Invertible Detection
    • UI\Draw\Matrix::multiply - Multiply Matrix
    • UI\Draw\Matrix::rotate - Rotate Matrix
    • UI\Draw\Matrix::scale - Scale Matrix
    • UI\Draw\Matrix::skew - Skew Matrix
    • UI\Draw\Matrix::translate - Translate Matrix
    • UI\Draw\Path::addRectangle - Draw a Rectangle
    • UI\Draw\Path::arcTo - Draw an Arc
    • UI\Draw\Path::bezierTo - Draw Bezier Curve
    • UI\Draw\Path::closeFigure - Close Figure
    • UI\Draw\Path::end - Finalize Path
    • UI\Draw\Path::lineTo - Draw a Line
    • UI\Draw\Path::newFigure - Draw Figure
    • UI\Draw\Path::newFigureWithArc - Draw Figure with Arc
    • UI\Draw\Path::__construct - Construct a new Path
    • UI\Draw\Pen::clip - Clip a Path
    • UI\Draw\Pen::fill - Fill a Path
    • UI\Draw\Pen::restore - Restore
    • UI\Draw\Pen::save - Save
    • UI\Draw\Pen::stroke - Stroke a Path
    • UI\Draw\Pen::transform - Matrix Transform
    • UI\Draw\Pen::write - Draw Text at Point
    • UI\Draw\Stroke::getCap - Get Line Cap
    • UI\Draw\Stroke::getJoin - Get Line Join
    • UI\Draw\Stroke::getMiterLimit - Get Miter Limit
    • UI\Draw\Stroke::getThickness - Get Thickness
    • UI\Draw\Stroke::setCap - Set Line Cap
    • UI\Draw\Stroke::setJoin - Set Line Join
    • UI\Draw\Stroke::setMiterLimit - Set Miter Limit
    • UI\Draw\Stroke::setThickness - Set Thickness
    • UI\Draw\Stroke::__construct - Construct a new Stroke
    • UI\Draw\Text\Font::getAscent - Font Metrics
    • UI\Draw\Text\Font::getDescent - Font Metrics
    • UI\Draw\Text\Font::getLeading - Font Metrics
    • UI\Draw\Text\Font::getUnderlinePosition - Font Metrics
    • UI\Draw\Text\Font::getUnderlineThickness - Font Metrics
    • UI\Draw\Text\Font::__construct - Construct a new Font
    • UI\Draw\Text\Font\Descriptor::getFamily - Get Font Family
    • UI\Draw\Text\Font\Descriptor::getItalic - Style Detection
    • UI\Draw\Text\Font\Descriptor::getSize - Size Detection
    • UI\Draw\Text\Font\Descriptor::getStretch - Style Detection
    • UI\Draw\Text\Font\Descriptor::getWeight - Weight Detection
    • UI\Draw\Text\Font\Descriptor::__construct - Construct a new Font Descriptor
    • UI\Draw\Text\Font\fontFamilies - Retrieve Font Families
    • UI\Draw\Text\Layout::setColor - Set Color
    • UI\Draw\Text\Layout::setWidth - Set Width
    • UI\Draw\Text\Layout::__construct - Construct a new Text Layout
    • UI\Executor::kill - Stop Executor
    • UI\Executor::onExecute - Execution Callback
    • UI\Executor::setInterval - Interval Manipulation
    • UI\Executor::__construct - Construct a new Executor
    • UI\Menu::append - Append Menu Item
    • UI\Menu::appendAbout - Append About Menu Item
    • UI\Menu::appendCheck - Append Checkable Menu Item
    • UI\Menu::appendPreferences - Append Preferences Menu Item
    • UI\Menu::appendQuit - Append Quit Menu Item
    • UI\Menu::appendSeparator - Append Menu Item Separator
    • UI\Menu::__construct - Construct a new Menu
    • UI\MenuItem::disable - Disable Menu Item
    • UI\MenuItem::enable - Enable Menu Item
    • UI\MenuItem::isChecked - Detect Checked
    • UI\MenuItem::onClick - On Click Callback
    • UI\MenuItem::setChecked - Set Checked
    • UI\Point::at - Size Coercion
    • UI\Point::getX - Retrieves X
    • UI\Point::getY - Retrieves Y
    • UI\Point::setX - Set X
    • UI\Point::setY - Set Y
    • UI\Point::__construct - Construct a new Point
    • UI\quit - Quit UI Loop
    • UI\run - Enter UI Loop
    • UI\Size::getHeight - Retrieves Height
    • UI\Size::getWidth - Retrives Width
    • UI\Size::of - Point Coercion
    • UI\Size::setHeight - Set Height
    • UI\Size::setWidth - Set Width
    • UI\Size::__construct - Construct a new Size
    • UI\Window::add - Add a Control
    • UI\Window::error - Show Error Box
    • UI\Window::getSize - Get Window Size
    • UI\Window::getTitle - Get Title
    • UI\Window::hasBorders - Border Detection
    • UI\Window::hasMargin - Margin Detection
    • UI\Window::isFullScreen - Full Screen Detection
    • UI\Window::msg - Show Message Box
    • UI\Window::onClosing - Closing Callback
    • UI\Window::open - Open Dialog
    • UI\Window::save - Save Dialog
    • UI\Window::setBorders - Border Use
    • UI\Window::setFullScreen - Full Screen Use
    • UI\Window::setMargin - Margin Use
    • UI\Window::setSize - Set Size
    • UI\Window::setTitle - Window Title
    • UI\Window::__construct - Construct a new Window
    • uksort - Ordena um array pelas chaves utilizando uma função de comparação definida pelo usuário.
    • umask - Modificar a umask atual
    • uniqid - Gera um ID unico
    • unixtojd - Converte datas do sistema Unix para data Juliana
    • unlink - Apaga um arquivo
    • unpack - Unpack data from binary string
    • unregister_tick_function - Desregistra uma função executada a cada instante
    • unserialize - Creates a PHP value from a stored representation
    • unset - Destrói a variável especificada
    • untaint - Untaint strings
    • uopz_add_function - Adds non-existent function or method
    • uopz_allow_exit - Allows control over disabled exit opcode
    • uopz_backup - Backup a function
    • uopz_compose - Compose a class
    • uopz_copy - Copy a function
    • uopz_delete - Delete a function
    • uopz_del_function - Deletes previously added function or method
    • uopz_extend - Extend a class at runtime
    • uopz_flags - Get or set flags on function or class
    • uopz_function - Creates a function at runtime
    • uopz_get_exit_status - Retrieve the last set exit status
    • uopz_get_hook - Gets previously set hook on function or method
    • uopz_get_mock - Get the current mock for a class
    • uopz_get_property - Gets value of class or instance property
    • uopz_get_return - Gets a previous set return value for a function
    • uopz_get_static - Gets the static variables from function or method scope
    • uopz_implement - Implements an interface at runtime
    • uopz_overload - Overload a VM opcode
    • uopz_redefine - Redefine a constant
    • uopz_rename - Rename a function at runtime
    • uopz_restore - Restore a previously backed up function
    • uopz_set_hook - Sets hook to execute when entering a function or method
    • uopz_set_mock - Use mock instead of class for new objects
    • uopz_set_property - Sets value of existing class or instance property
    • uopz_set_return - Provide a return value for an existing function
    • uopz_set_static - Sets the static variables in function or method scope
    • uopz_undefine - Undefine a constant
    • uopz_unset_hook - Removes previously set hook on function or method
    • uopz_unset_mock - Unset previously set mock
    • uopz_unset_return - Unsets a previously set return value for a function
    • urldecode - Decodifica uma URL codificada
    • urlencode - Codifica uma URL
    • user_error - Apelido para trigger_error
    • use_soap_error_handler - Set whether to use the SOAP error handler
    • usleep - Atrasa a execução em milionésimos de segundo
    • usort - Ordena um array pelos valores utilizando uma função de comparação definida pelo usuário
    • utf8_decode - Converte uma string com caracteres ISO-8859-1 codificadas com UTF-8 para single-byte ISO-8859-1.
    • utf8_encode - Codifica um string ISO-8859-1 para UTF-8
  • v
    • V8Js::executeString - Execute a string as Javascript code
    • V8Js::getExtensions - Return an array of registered extensions
    • V8Js::getPendingException - Return pending uncaught Javascript exception
    • V8Js::registerExtension - Register Javascript extensions for V8Js
    • V8Js::__construct - Construct a new V8Js object
    • V8JsException::getJsFileName - The getJsFileName purpose
    • V8JsException::getJsLineNumber - The getJsLineNumber purpose
    • V8JsException::getJsSourceLine - The getJsSourceLine purpose
    • V8JsException::getJsTrace - The getJsTrace purpose
    • variant::__construct - variant class constructor
    • variant_abs - Returns the absolute value of a variant
    • variant_add - "Adds" two variant values together and returns the result
    • variant_and - Performs a bitwise AND operation between two variants
    • variant_cast - Convert a variant into a new variant object of another type
    • variant_cat - Concatenates two variant values together and returns the result
    • variant_cmp - Compares two variants
    • variant_date_from_timestamp - Returns a variant date representation of a Unix timestamp
    • variant_date_to_timestamp - Converts a variant date/time value to Unix timestamp
    • variant_div - Returns the result from dividing two variants
    • variant_eqv - Performs a bitwise equivalence on two variants
    • variant_fix - Returns the integer portion of a variant
    • variant_get_type - Returns the type of a variant object
    • variant_idiv - Converts variants to integers and then returns the result from dividing them
    • variant_imp - Performs a bitwise implication on two variants
    • variant_int - Returns the integer portion of a variant
    • variant_mod - Divides two variants and returns only the remainder
    • variant_mul - Multiplies the values of the two variants
    • variant_neg - Performs logical negation on a variant
    • variant_not - Performs bitwise not negation on a variant
    • variant_or - Performs a logical disjunction on two variants
    • variant_pow - Returns the result of performing the power function with two variants
    • variant_round - Rounds a variant to the specified number of decimal places
    • variant_set - Assigns a new value for a variant object
    • variant_set_type - Convert a variant into another type "in-place"
    • variant_sub - Subtracts the value of the right variant from the left variant value
    • variant_xor - Performs a logical exclusion on two variants
    • VarnishAdmin::auth - Authenticate on a varnish instance
    • VarnishAdmin::ban - Ban URLs using a VCL expression
    • VarnishAdmin::banUrl - Ban an URL using a VCL expression
    • VarnishAdmin::clearPanic - Clear varnish instance panic messages
    • VarnishAdmin::connect - Connect to a varnish instance administration interface
    • VarnishAdmin::disconnect - Disconnect from a varnish instance administration interface
    • VarnishAdmin::getPanic - Get the last panic message on a varnish instance
    • VarnishAdmin::getParams - Fetch current varnish instance configuration parameters
    • VarnishAdmin::isRunning - Check if the varnish slave process is currently running
    • VarnishAdmin::setCompat - Set the class compat configuration param
    • VarnishAdmin::setHost - Set the class host configuration param
    • VarnishAdmin::setIdent - Set the class ident configuration param
    • VarnishAdmin::setParam - Set configuration param on the current varnish instance
    • VarnishAdmin::setPort - Set the class port configuration param
    • VarnishAdmin::setSecret - Set the class secret configuration param
    • VarnishAdmin::setTimeout - Set the class timeout configuration param
    • VarnishAdmin::start - Start varnish worker process
    • VarnishAdmin::stop - Stop varnish worker process
    • VarnishAdmin::__construct - VarnishAdmin constructor
    • VarnishLog::getLine - Get next log line
    • VarnishLog::getTagName - Get the log tag string representation by its index
    • VarnishLog::__construct - Varnishlog constructor
    • VarnishStat::getSnapshot - Get the current varnish instance statistics snapshot
    • VarnishStat::__construct - VarnishStat constructor
    • var_dump - Mostra informações sobre a variável
    • var_export - Mostra ou retorna uma representação estruturada de uma variável
    • version_compare - Compares two "PHP-standardized" version number strings
    • vfprintf - Escreve uma string formatada para um stream
    • virtual - Realiza uma sub-requisição Apache
    • vprintf - Mostra uma string formatada
    • vsprintf - Retorna uma string formatada
    • Vtiful\Kernel\Excel::addSheet - Vtiful\Kernel\Excel addSheet
    • Vtiful\Kernel\Excel::autoFilter - Vtiful\Kernel\Excel autoFilter
    • Vtiful\Kernel\Excel::constMemory - Vtiful\Kernel\Excel constMemory
    • Vtiful\Kernel\Excel::data - Vtiful\Kernel\Excel data
    • Vtiful\Kernel\Excel::fileName - Vtiful\Kernel\Excel fileName
    • Vtiful\Kernel\Excel::getHandle - Vtiful\Kernel\Excel getHandle
    • Vtiful\Kernel\Excel::header - Vtiful\Kernel\Excel header
    • Vtiful\Kernel\Excel::insertFormula - Vtiful\Kernel\Excel insertFormula
    • Vtiful\Kernel\Excel::insertImage - Vtiful\Kernel\Excel insertImage
    • Vtiful\Kernel\Excel::insertText - Vtiful\Kernel\Excel insertText
    • Vtiful\Kernel\Excel::mergeCells - Vtiful\Kernel\Excel mergeCells
    • Vtiful\Kernel\Excel::output - Vtiful\Kernel\Excel output
    • Vtiful\Kernel\Excel::setColumn - Vtiful\Kernel\Excel setColumn
    • Vtiful\Kernel\Excel::setRow - Vtiful\Kernel\Excel setRow
    • Vtiful\Kernel\Excel::__construct - Vtiful\Kernel\Excel constructor
    • Vtiful\Kernel\Format::align - Vtiful\Kernel\Format align
    • Vtiful\Kernel\Format::bold - Vtiful\Kernel\Format bold
    • Vtiful\Kernel\Format::italic - Vtiful\Kernel\Format italic
    • Vtiful\Kernel\Format::underline - Vtiful\Kernel\Format underline
  • w
    • Warning::__construct - Warning constructor
    • wddx_add_vars - Adiciona variáveis a um pacote WDDX com o IP especificado
    • wddx_deserialize - Sinônimo de wddx_unserialize
    • wddx_packet_end - Finaliza um pacote WDDX com o ID especificado
    • wddx_packet_start - Inicializa um novo pacote WDDX com uma estrutura dentro dele
    • wddx_serialize_value - Serializa um único valor em um pacote WDDX
    • wddx_serialize_vars - Serializa variáveis em um pacote WDDX
    • WeakMap::count - Counts the number of live entries in the map
    • WeakMap::current - Returns the current value under iteration
    • WeakMap::key - Returns the current key under iteration
    • WeakMap::next - Advances to the next map element
    • WeakMap::offsetExists - Checks whether a certain object is in the map
    • WeakMap::offsetGet - Returns the value pointed to by a certain object
    • WeakMap::offsetSet - Updates the map with a new key-value pair
    • WeakMap::offsetUnset - Removes an entry from the map
    • WeakMap::rewind - Rewinds the iterator to the beginning of the map
    • WeakMap::valid - Returns whether the iterator is still on a valid map element
    • WeakMap::__construct - Constructs a new map
    • Weakref::acquire - Acquires a strong reference on that object
    • Weakref::get - Returns the object pointed to by the weak reference
    • Weakref::release - Releases a previously acquired reference
    • Weakref::valid - Checks whether the object referenced still exists
    • Weakref::__construct - Constructs a new weak reference
    • WeakReference::create - Cria uma nova referência fraca
    • WeakReference::get - Obtém um objeto fracamente referenciado
    • WeakReference::__construct - Construtor que desabilita a instanciação
    • win32_continue_service - Resumes a paused service
    • win32_create_service - Creates a new service entry in the SCM database
    • win32_delete_service - Deletes a service entry from the SCM database
    • win32_get_last_control_message - Returns the last control message that was sent to this service
    • win32_pause_service - Pauses a service
    • win32_query_service_status - Queries the status of a service
    • win32_send_custom_control - Send a custom control to the service
    • win32_set_service_exit_code - Define or return the exit code for the current running service
    • win32_set_service_exit_mode - Define or return the exit mode for the current running service
    • win32_set_service_status - Update the service status
    • win32_start_service - Starts a service
    • win32_start_service_ctrl_dispatcher - Registers the script with the SCM, so that it can act as the service with the given name
    • win32_stop_service - Stops a service
    • wincache_fcache_fileinfo - Retrieves information about files cached in the file cache
    • wincache_fcache_meminfo - Retrieves information about file cache memory usage
    • wincache_lock - Acquires an exclusive lock on a given key
    • wincache_ocache_fileinfo - Retrieves information about files cached in the opcode cache
    • wincache_ocache_meminfo - Retrieves information about opcode cache memory usage
    • wincache_refresh_if_changed - Refreshes the cache entries for the cached files
    • wincache_rplist_fileinfo - Retrieves information about resolve file path cache
    • wincache_rplist_meminfo - Retrieves information about memory usage by the resolve file path cache
    • wincache_scache_info - Retrieves information about files cached in the session cache
    • wincache_scache_meminfo - Retrieves information about session cache memory usage
    • wincache_ucache_add - Adds a variable in user cache only if variable does not already exist in the cache
    • wincache_ucache_cas - Compares the variable with old value and assigns new value to it
    • wincache_ucache_clear - Deletes entire content of the user cache
    • wincache_ucache_dec - Decrements the value associated with the key
    • wincache_ucache_delete - Deletes variables from the user cache
    • wincache_ucache_exists - Checks if a variable exists in the user cache
    • wincache_ucache_get - Gets a variable stored in the user cache
    • wincache_ucache_inc - Increments the value associated with the key
    • wincache_ucache_info - Retrieves information about data stored in the user cache
    • wincache_ucache_meminfo - Retrieves information about user cache memory usage
    • wincache_ucache_set - Adds a variable in user cache and overwrites a variable if it already exists in the cache
    • wincache_unlock - Releases an exclusive lock on a given key
    • wkhtmltox\Image\Converter::convert - Perform Image conversion
    • wkhtmltox\Image\Converter::getVersion - Determine version of Converter
    • wkhtmltox\Image\Converter::__construct - Create a new Image converter
    • wkhtmltox\PDF\Converter::add - Add an object for conversion
    • wkhtmltox\PDF\Converter::convert - Perform PDF conversion
    • wkhtmltox\PDF\Converter::getVersion - Determine version of Converter
    • wkhtmltox\PDF\Converter::__construct - Create a new PDF converter
    • wkhtmltox\PDF\Object::__construct - Create a new PDF Object
    • wordwrap - Quebra uma string em um dado número de caracteres
    • Worker::collect - Collect references to completed tasks
    • Worker::getStacked - Gets the remaining stack size
    • Worker::isShutdown - State Detection
    • Worker::isWorking - State Detection
    • Worker::shutdown - Shutdown the worker
    • Worker::stack - Stacking work
    • Worker::unstack - Unstacking work
  • x
    • xattr_get - Retorna um atributo extendido
    • xattr_list - Retorna uma lista dos atributos extendidos
    • xattr_remove - Remove um atributo extendido
    • xattr_set - Edita um atributo extendido
    • xattr_supported - Checa se o sistema de arquivos suporta atributos extendidos.
    • xdiff_file_bdiff - Make binary diff of two files
    • xdiff_file_bdiff_size - Read a size of file created by applying a binary diff
    • xdiff_file_bpatch - Patch a file with a binary diff
    • xdiff_file_diff - Make unified diff of two files
    • xdiff_file_diff_binary - Alias of xdiff_file_bdiff
    • xdiff_file_merge3 - Merge 3 files into one
    • xdiff_file_patch - Patch a file with an unified diff
    • xdiff_file_patch_binary - Alias of xdiff_file_bpatch
    • xdiff_file_rabdiff - Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm
    • xdiff_string_bdiff - Make binary diff of two strings
    • xdiff_string_bdiff_size - Read a size of file created by applying a binary diff
    • xdiff_string_bpatch - Patch a string with a binary diff
    • xdiff_string_diff - Make unified diff of two strings
    • xdiff_string_diff_binary - Alias of xdiff_string_bdiff
    • xdiff_string_merge3 - Merge 3 strings into one
    • xdiff_string_patch - Patch a string with an unified diff
    • xdiff_string_patch_binary - Alias of xdiff_string_bpatch
    • xdiff_string_rabdiff - Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm
    • xhprof_disable - Stops xhprof profiler
    • xhprof_enable - Start xhprof profiler
    • xhprof_sample_disable - Stops xhprof sample profiler
    • xhprof_sample_enable - Start XHProf profiling in sampling mode
    • XMLDiff\Base::diff - Produce diff of two XML documents
    • XMLDiff\Base::merge - Produce new XML document based on diff
    • XMLDiff\Base::__construct - Constructor
    • XMLDiff\DOM::diff - Diff two DOMDocument objects
    • XMLDiff\DOM::merge - Produce merged DOMDocument
    • XMLDiff\File::diff - Diff two XML files
    • XMLDiff\File::merge - Produce merged XML document
    • XMLDiff\Memory::diff - Diff two XML documents
    • XMLDiff\Memory::merge - Produce merged XML document
    • XMLReader::close - Close the XMLReader input
    • XMLReader::expand - Returns a copy of the current node as a DOM object
    • XMLReader::getAttribute - Get the value of a named attribute
    • XMLReader::getAttributeNo - Get the value of an attribute by index
    • XMLReader::getAttributeNs - Get the value of an attribute by localname and URI
    • XMLReader::getParserProperty - Indicates if specified property has been set
    • XMLReader::isValid - Indicates if the parsed document is valid
    • XMLReader::lookupNamespace - Lookup namespace for a prefix
    • XMLReader::moveToAttribute - Move cursor to a named attribute
    • XMLReader::moveToAttributeNo - Move cursor to an attribute by index
    • XMLReader::moveToAttributeNs - Move cursor to a named attribute
    • XMLReader::moveToElement - Position cursor on the parent Element of current Attribute
    • XMLReader::moveToFirstAttribute - Position cursor on the first Attribute
    • XMLReader::moveToNextAttribute - Position cursor on the next Attribute
    • XMLReader::next - Move cursor to next node skipping all subtrees
    • XMLReader::open - Set the URI containing the XML to parse
    • XMLReader::read - Move to next node in document
    • XMLReader::readInnerXml - Retrieve XML from current node
    • XMLReader::readOuterXml - Retrieve XML from current node, including itself
    • XMLReader::readString - Reads the contents of the current node as a string
    • XMLReader::setParserProperty - Set parser options
    • XMLReader::setRelaxNGSchema - Set the filename or URI for a RelaxNG Schema
    • XMLReader::setRelaxNGSchemaSource - Set the data containing a RelaxNG Schema
    • XMLReader::setSchema - Validate document against XSD
    • XMLReader::XML - Set the data containing the XML to parse
    • xmlrpc_decode - Decodifica XML para tipos nativos do PHP
    • xmlrpc_decode_request - Decodifica XML para tipos nativos do PHP
    • xmlrpc_encode - Gera XML para um valor do PHP
    • xmlrpc_encode_request - Gera XML para uma requisiÃ§Ã£o
    • xmlrpc_get_type - Pega o tipo xmlrpc para um valor do PHP
    • xmlrpc_is_fault - Determina se um valor de array representa uma falha XMLRPC
    • xmlrpc_parse_method_descriptions - Decodifica XML e gera uma lista de descrição de métodos
    • xmlrpc_server_add_introspection_data - Adiciona documentação de introspecção
    • xmlrpc_server_call_method - Trata requisiçães de XML e chamadas de métodos
    • xmlrpc_server_create - Cria um servidor xmlrpc
    • xmlrpc_server_destroy - Destrói o servidor xmlrpc
    • xmlrpc_server_register_introspection_callback - Registra uma função do PHP para gerar documentação
    • xmlrpc_server_register_method - Registra uma função do PHP para o método com nome method_name
    • xmlrpc_set_type - Configura um tipo xmlrpc, base64 ou datetime, para uma string do PHP
    • XMLWriter::endAttribute - End attribute
    • XMLWriter::endCdata - End current CDATA
    • XMLWriter::endComment - Create end comment
    • XMLWriter::endDocument - End current document
    • XMLWriter::endDtd - End current DTD
    • XMLWriter::endDtdAttlist - End current DTD AttList
    • XMLWriter::endDtdElement - End current DTD element
    • XMLWriter::endDtdEntity - End current DTD Entity
    • XMLWriter::endElement - End current element
    • XMLWriter::endPi - End current PI
    • XMLWriter::flush - Flush current buffer
    • XMLWriter::fullEndElement - End current element
    • XMLWriter::openMemory - Create new xmlwriter using memory for string output
    • XMLWriter::openUri - Create new xmlwriter using source uri for output
    • XMLWriter::outputMemory - Returns current buffer
    • XMLWriter::setIndent - Toggle indentation on/off
    • XMLWriter::setIndentString - Set string used for indenting
    • XMLWriter::startAttribute - Create start attribute
    • XMLWriter::startAttributeNs - Create start namespaced attribute
    • XMLWriter::startCdata - Create start CDATA tag
    • XMLWriter::startComment - Create start comment
    • XMLWriter::startDocument - Create document tag
    • XMLWriter::startDtd - Create start DTD tag
    • XMLWriter::startDtdAttlist - Create start DTD AttList
    • XMLWriter::startDtdElement - Create start DTD element
    • XMLWriter::startDtdEntity - Create start DTD Entity
    • XMLWriter::startElement - Create start element tag
    • XMLWriter::startElementNs - Create start namespaced element tag
    • XMLWriter::startPi - Create start PI tag
    • XMLWriter::text - Write text
    • XMLWriter::writeAttribute - Write full attribute
    • XMLWriter::writeAttributeNs - Write full namespaced attribute
    • XMLWriter::writeCdata - Write full CDATA tag
    • XMLWriter::writeComment - Write full comment tag
    • XMLWriter::writeDtd - Write full DTD tag
    • XMLWriter::writeDtdAttlist - Write full DTD AttList tag
    • XMLWriter::writeDtdElement - Write full DTD element tag
    • XMLWriter::writeDtdEntity - Write full DTD Entity tag
    • XMLWriter::writeElement - Write full element tag
    • XMLWriter::writeElementNs - Write full namespaced element tag
    • XMLWriter::writePi - Writes a PI
    • XMLWriter::writeRaw - Write a raw XML text
    • xml_error_string - Obtém uma string de erro do analisador XML
    • xml_get_current_byte_index - Obtém o índice do byte atual para um analisador XML
    • xml_get_current_column_number - Obtém o número da coluna atual para um analisador XML
    • xml_get_current_line_number - Obtém o número da linha para um analisador XML
    • xml_get_error_code - Obtém um código de erro do analisador XML
    • xml_parse - Inicia a análise em um documento XML
    • xml_parser_create - Cria um analisador XML
    • xml_parser_create_ns - Cria um analisador XML com suporte a namespace
    • xml_parser_free - Free an XML parser
    • xml_parser_get_option - Obtém as opções de um analisador (parser) XML
    • xml_parser_set_option - Define opções em um analisador (parser) XML
    • xml_parse_into_struct - Analisa dados XML dentro de uma estrutura de array
    • xml_set_character_data_handler - Set up character data handler
    • xml_set_default_handler - Set up default handler
    • xml_set_element_handler - Set up start and end element handlers
    • xml_set_end_namespace_decl_handler - Set up end namespace declaration handler
    • xml_set_external_entity_ref_handler - Set up external entity reference handler
    • xml_set_notation_decl_handler - Set up notation declaration handler
    • xml_set_object - Use XML Parser within an object
    • xml_set_processing_instruction_handler - Set up processing instruction (PI) handler
    • xml_set_start_namespace_decl_handler - Set up start namespace declaration handler
    • xml_set_unparsed_entity_decl_handler - Set up unparsed entity declaration handler
    • XSLTProcessor::getParameter - Obtém o valor de um parâmetro
    • XSLTProcessor::getSecurityPrefs - Get security preferences
    • XSLTProcessor::hasExsltSupport - Verifica se o PHP tem suporte a EXSLT
    • XSLTProcessor::importStylesheet - Importa stylesheet
    • XSLTProcessor::registerPHPFunctions - Habilita o uso de funções do PHP como funções XSLT
    • XSLTProcessor::removeParameter - Remove parâmetro
    • XSLTProcessor::setParameter - Define um valor para um parâmetro
    • XSLTProcessor::setProfiling - Sets profiling output file
    • XSLTProcessor::setSecurityPrefs - Set security preferences
    • XSLTProcessor::transformToDoc - Transforma para um DOMDocument
    • XSLTProcessor::transformToURI - Transforma para URI
    • XSLTProcessor::transformToXML - Transforma para XML
    • XSLTProcessor::__construct - Cria um novo objeto XSLTProcessor
  • y
    • Yac::add - Store into cache
    • Yac::delete - Remove items from cache
    • Yac::dump - Dump cache
    • Yac::flush - Flush the cache
    • Yac::get - Retrieve values from cache
    • Yac::info - Status of cache
    • Yac::set - Store into cache
    • Yac::__construct - Constructor
    • Yac::__get - Getter
    • Yac::__set - Setter
    • Yaconf::get - Retrieve a item
    • Yaconf::has - Determine if a item exists
    • Yaf_Action_Abstract::execute - Action entry point
    • Yaf_Action_Abstract::getController - Retrieve controller object
    • Yaf_Action_Abstract::getControllerName - Get controller name
    • Yaf_Application::app - Retrieve an Application instance
    • Yaf_Application::bootstrap - Call bootstrap
    • Yaf_Application::clearLastError - Clear the last error info
    • Yaf_Application::environ - Retrive environ
    • Yaf_Application::execute - Execute a callback
    • Yaf_Application::getAppDirectory - Get the application directory
    • Yaf_Application::getConfig - Retrive the config instance
    • Yaf_Application::getDispatcher - Get Yaf_Dispatcher instance
    • Yaf_Application::getLastErrorMsg - Get message of the last occurred error
    • Yaf_Application::getLastErrorNo - Get code of last occurred error
    • Yaf_Application::getModules - Get defined module names
    • Yaf_Application::run - Start Yaf_Application
    • Yaf_Application::setAppDirectory - Change the application directory
    • Yaf_Application::__construct - Yaf_Application constructor
    • Yaf_Application::__destruct - The __destruct purpose
    • Yaf_Config_Abstract::get - Getter
    • Yaf_Config_Abstract::readonly - Find a config whether readonly
    • Yaf_Config_Abstract::set - Setter
    • Yaf_Config_Abstract::toArray - Cast to array
    • Yaf_Config_Ini::count - Count all elements in Yaf_Config.ini
    • Yaf_Config_Ini::current - Retrieve the current value
    • Yaf_Config_Ini::key - Fetch current element's key
    • Yaf_Config_Ini::next - Advance the internal pointer
    • Yaf_Config_Ini::offsetExists - The offsetExists purpose
    • Yaf_Config_Ini::offsetGet - The offsetGet purpose
    • Yaf_Config_Ini::offsetSet - The offsetSet purpose
    • Yaf_Config_Ini::offsetUnset - The offsetUnset purpose
    • Yaf_Config_Ini::readonly - The readonly purpose
    • Yaf_Config_Ini::rewind - The rewind purpose
    • Yaf_Config_Ini::toArray - Return config as a PHP array
    • Yaf_Config_Ini::valid - The valid purpose
    • Yaf_Config_Ini::__construct - Yaf_Config_Ini constructor
    • Yaf_Config_Ini::__get - Retrieve a element
    • Yaf_Config_Ini::__isset - Determine if a key is exists
    • Yaf_Config_Ini::__set - The __set purpose
    • Yaf_Config_Simple::count - The count purpose
    • Yaf_Config_Simple::current - The current purpose
    • Yaf_Config_Simple::key - The key purpose
    • Yaf_Config_Simple::next - The next purpose
    • Yaf_Config_Simple::offsetExists - The offsetExists purpose
    • Yaf_Config_Simple::offsetGet - The offsetGet purpose
    • Yaf_Config_Simple::offsetSet - The offsetSet purpose
    • Yaf_Config_Simple::offsetUnset - The offsetUnset purpose
    • Yaf_Config_Simple::readonly - The readonly purpose
    • Yaf_Config_Simple::rewind - The rewind purpose
    • Yaf_Config_Simple::toArray - Returns a PHP array
    • Yaf_Config_Simple::valid - The valid purpose
    • Yaf_Config_Simple::__construct - The __construct purpose
    • Yaf_Config_Simple::__get - The __get purpose
    • Yaf_Config_Simple::__isset - The __isset purpose
    • Yaf_Config_Simple::__set - The __set purpose
    • Yaf_Controller_Abstract::display - The display purpose
    • Yaf_Controller_Abstract::forward - Foward to another action
    • Yaf_Controller_Abstract::getInvokeArg - The getInvokeArg purpose
    • Yaf_Controller_Abstract::getInvokeArgs - The getInvokeArgs purpose
    • Yaf_Controller_Abstract::getModuleName - Get module name
    • Yaf_Controller_Abstract::getName - Get self name
    • Yaf_Controller_Abstract::getRequest - Retrieve current request object
    • Yaf_Controller_Abstract::getResponse - Retrieve current response object
    • Yaf_Controller_Abstract::getView - Retrieve the view engine
    • Yaf_Controller_Abstract::getViewpath - The getViewpath purpose
    • Yaf_Controller_Abstract::init - Controller initializer
    • Yaf_Controller_Abstract::initView - The initView purpose
    • Yaf_Controller_Abstract::redirect - Redirect to a URL
    • Yaf_Controller_Abstract::render - Render view template
    • Yaf_Controller_Abstract::setViewpath - The setViewpath purpose
    • Yaf_Controller_Abstract::__construct - Yaf_Controller_Abstract constructor
    • Yaf_Dispatcher::autoRender - Switch on/off autorendering
    • Yaf_Dispatcher::catchException - Switch on/off exception catching
    • Yaf_Dispatcher::disableView - Disable view rendering
    • Yaf_Dispatcher::dispatch - Dispatch a request
    • Yaf_Dispatcher::enableView - Enable view rendering
    • Yaf_Dispatcher::flushInstantly - Switch on/off the instant flushing
    • Yaf_Dispatcher::getApplication - Retrive the application
    • Yaf_Dispatcher::getDefaultAction - Retrive the default action name
    • Yaf_Dispatcher::getDefaultController - Retrive the default controller name
    • Yaf_Dispatcher::getDefaultModule - Retrive the default module name
    • Yaf_Dispatcher::getInstance - Retrive the dispatcher instance
    • Yaf_Dispatcher::getRequest - Retrive the request instance
    • Yaf_Dispatcher::getRouter - Retrive router instance
    • Yaf_Dispatcher::initView - Initialize view and return it
    • Yaf_Dispatcher::registerPlugin - Register a plugin
    • Yaf_Dispatcher::returnResponse - The returnResponse purpose
    • Yaf_Dispatcher::setDefaultAction - Change default action name
    • Yaf_Dispatcher::setDefaultController - Change default controller name
    • Yaf_Dispatcher::setDefaultModule - Change default module name
    • Yaf_Dispatcher::setErrorHandler - Set error handler
    • Yaf_Dispatcher::setRequest - The setRequest purpose
    • Yaf_Dispatcher::setView - Set a custom view engine
    • Yaf_Dispatcher::throwException - Switch on/off exception throwing
    • Yaf_Dispatcher::__construct - Yaf_Dispatcher constructor
    • Yaf_Exception::getPrevious - The getPrevious purpose
    • Yaf_Exception::__construct - The __construct purpose
    • Yaf_Loader::autoload - The autoload purpose
    • Yaf_Loader::clearLocalNamespace - The clearLocalNamespace purpose
    • Yaf_Loader::getInstance - The getInstance purpose
    • Yaf_Loader::getLibraryPath - Get the library path
    • Yaf_Loader::getLocalNamespace - Retrive all register namespaces info
    • Yaf_Loader::getNamespacePath - Retieve path of a registered namespace
    • Yaf_Loader::import - The import purpose
    • Yaf_Loader::isLocalName - The isLocalName purpose
    • Yaf_Loader::registerLocalNamespace - Register local class prefix
    • Yaf_Loader::registerNamespace - Register namespace with searching path
    • Yaf_Loader::setLibraryPath - Change the library path
    • Yaf_Loader::__construct - The __construct purpose
    • Yaf_Plugin_Abstract::dispatchLoopShutdown - The dispatchLoopShutdown purpose
    • Yaf_Plugin_Abstract::dispatchLoopStartup - Hook before dispatch loop
    • Yaf_Plugin_Abstract::postDispatch - The postDispatch purpose
    • Yaf_Plugin_Abstract::preDispatch - The preDispatch purpose
    • Yaf_Plugin_Abstract::preResponse - The preResponse purpose
    • Yaf_Plugin_Abstract::routerShutdown - The routerShutdown purpose
    • Yaf_Plugin_Abstract::routerStartup - RouterStartup hook
    • Yaf_Registry::del - Remove an item from registry
    • Yaf_Registry::get - Retrieve an item from registry
    • Yaf_Registry::has - Check whether an item exists
    • Yaf_Registry::set - Add an item into registry
    • Yaf_Registry::__construct - Yaf_Registry implements singleton
    • Yaf_Request_Abstract::clearParams - Remove all params
    • Yaf_Request_Abstract::getActionName - The getActionName purpose
    • Yaf_Request_Abstract::getBaseUri - The getBaseUri purpose
    • Yaf_Request_Abstract::getControllerName - The getControllerName purpose
    • Yaf_Request_Abstract::getEnv - Retrieve ENV varialbe
    • Yaf_Request_Abstract::getException - The getException purpose
    • Yaf_Request_Abstract::getLanguage - Retrieve client's prefered language
    • Yaf_Request_Abstract::getMethod - Retrieve the request method
    • Yaf_Request_Abstract::getModuleName - The getModuleName purpose
    • Yaf_Request_Abstract::getParam - Retrieve calling parameter
    • Yaf_Request_Abstract::getParams - Retrieve all calling parameters
    • Yaf_Request_Abstract::getRequestUri - The getRequestUri purpose
    • Yaf_Request_Abstract::getServer - Retrieve SERVER variable
    • Yaf_Request_Abstract::isCli - Determine if request is CLI request
    • Yaf_Request_Abstract::isDispatched - Determin if the request is dispatched
    • Yaf_Request_Abstract::isGet - Determine if request is GET request
    • Yaf_Request_Abstract::isHead - Determine if request is HEAD request
    • Yaf_Request_Abstract::isOptions - Determine if request is OPTIONS request
    • Yaf_Request_Abstract::isPost - Determine if request is POST request
    • Yaf_Request_Abstract::isPut - Determine if request is PUT request
    • Yaf_Request_Abstract::isRouted - Determin if request has been routed
    • Yaf_Request_Abstract::isXmlHttpRequest - Determine if request is AJAX request
    • Yaf_Request_Abstract::setActionName - Set action name
    • Yaf_Request_Abstract::setBaseUri - Set base URI
    • Yaf_Request_Abstract::setControllerName - Set controller name
    • Yaf_Request_Abstract::setDispatched - The setDispatched purpose
    • Yaf_Request_Abstract::setModuleName - Set module name
    • Yaf_Request_Abstract::setParam - Set a calling parameter to a request
    • Yaf_Request_Abstract::setRequestUri - The setRequestUri purpose
    • Yaf_Request_Abstract::setRouted - The setRouted purpose
    • Yaf_Request_Http::get - Retrieve variable from client
    • Yaf_Request_Http::getCookie - Retrieve Cookie variable
    • Yaf_Request_Http::getFiles - The getFiles purpose
    • Yaf_Request_Http::getPost - Retrieve POST variable
    • Yaf_Request_Http::getQuery - Fetch a query parameter
    • Yaf_Request_Http::getRaw - Retrieve Raw request body
    • Yaf_Request_Http::getRequest - The getRequest purpose
    • Yaf_Request_Http::isXmlHttpRequest - Determin if request is Ajax Request
    • Yaf_Request_Http::__construct - Constructor of Yaf_Request_Http
    • Yaf_Request_Simple::get - The get purpose
    • Yaf_Request_Simple::getCookie - The getCookie purpose
    • Yaf_Request_Simple::getFiles - The getFiles purpose
    • Yaf_Request_Simple::getPost - The getPost purpose
    • Yaf_Request_Simple::getQuery - The getQuery purpose
    • Yaf_Request_Simple::getRequest - The getRequest purpose
    • Yaf_Request_Simple::isXmlHttpRequest - Determin if request is AJAX request
    • Yaf_Request_Simple::__construct - Constructor of Yaf_Request_Simple
    • Yaf_Response_Abstract::appendBody - Append to response body
    • Yaf_Response_Abstract::clearBody - Discard all exists response body
    • Yaf_Response_Abstract::clearHeaders - Discard all set headers
    • Yaf_Response_Abstract::getBody - Retrieve a exists content
    • Yaf_Response_Abstract::getHeader - The getHeader purpose
    • Yaf_Response_Abstract::prependBody - The prependBody purpose
    • Yaf_Response_Abstract::response - Send response
    • Yaf_Response_Abstract::setAllHeaders - The setAllHeaders purpose
    • Yaf_Response_Abstract::setBody - Set content to response
    • Yaf_Response_Abstract::setHeader - Set reponse header
    • Yaf_Response_Abstract::setRedirect - The setRedirect purpose
    • Yaf_Response_Abstract::__construct - The __construct purpose
    • Yaf_Response_Abstract::__destruct - The __destruct purpose
    • Yaf_Response_Abstract::__toString - Retrieve all bodys as string
    • Yaf_Router::addConfig - Add config-defined routes into Router
    • Yaf_Router::addRoute - Add new Route into Router
    • Yaf_Router::getCurrentRoute - Get the effective route name
    • Yaf_Router::getRoute - Retrieve a route by name
    • Yaf_Router::getRoutes - Retrieve registered routes
    • Yaf_Router::route - The route purpose
    • Yaf_Router::__construct - Yaf_Router constructor
    • Yaf_Route_Interface::assemble - Assemble a request
    • Yaf_Route_Interface::route - Route a request
    • Yaf_Route_Map::assemble - Assemble a url
    • Yaf_Route_Map::route - The route purpose
    • Yaf_Route_Map::__construct - The __construct purpose
    • Yaf_Route_Regex::assemble - Assemble a url
    • Yaf_Route_Regex::route - The route purpose
    • Yaf_Route_Regex::__construct - Yaf_Route_Regex constructor
    • Yaf_Route_Rewrite::assemble - Assemble a url
    • Yaf_Route_Rewrite::route - The route purpose
    • Yaf_Route_Rewrite::__construct - Yaf_Route_Rewrite constructor
    • Yaf_Route_Simple::assemble - Assemble a url
    • Yaf_Route_Simple::route - Route a request
    • Yaf_Route_Simple::__construct - Yaf_Route_Simple constructor
    • Yaf_Route_Static::assemble - Assemble a url
    • Yaf_Route_Static::match - The match purpose
    • Yaf_Route_Static::route - Route a request
    • Yaf_Route_Supervar::assemble - Assemble a url
    • Yaf_Route_Supervar::route - The route purpose
    • Yaf_Route_Supervar::__construct - The __construct purpose
    • Yaf_Session::count - The count purpose
    • Yaf_Session::current - The current purpose
    • Yaf_Session::del - The del purpose
    • Yaf_Session::getInstance - The getInstance purpose
    • Yaf_Session::has - The has purpose
    • Yaf_Session::key - The key purpose
    • Yaf_Session::next - The next purpose
    • Yaf_Session::offsetExists - The offsetExists purpose
    • Yaf_Session::offsetGet - The offsetGet purpose
    • Yaf_Session::offsetSet - The offsetSet purpose
    • Yaf_Session::offsetUnset - The offsetUnset purpose
    • Yaf_Session::rewind - The rewind purpose
    • Yaf_Session::start - The start purpose
    • Yaf_Session::valid - The valid purpose
    • Yaf_Session::__construct - Constructor of Yaf_Session
    • Yaf_Session::__get - The __get purpose
    • Yaf_Session::__isset - The __isset purpose
    • Yaf_Session::__set - The __set purpose
    • Yaf_Session::__unset - The __unset purpose
    • Yaf_View_Interface::assign - Assign value to View engine
    • Yaf_View_Interface::display - Render and output a template
    • Yaf_View_Interface::getScriptPath - The getScriptPath purpose
    • Yaf_View_Interface::render - Render a template
    • Yaf_View_Interface::setScriptPath - The setScriptPath purpose
    • Yaf_View_Simple::assign - Assign values
    • Yaf_View_Simple::assignRef - The assignRef purpose
    • Yaf_View_Simple::clear - Clear Assigned values
    • Yaf_View_Simple::display - Render and display
    • Yaf_View_Simple::eval - Render template
    • Yaf_View_Simple::getScriptPath - Get templates directory
    • Yaf_View_Simple::render - Render template
    • Yaf_View_Simple::setScriptPath - Set tempaltes directory
    • Yaf_View_Simple::__construct - Constructor of Yaf_View_Simple
    • Yaf_View_Simple::__get - Retrieve assigned variable
    • Yaf_View_Simple::__isset - The __isset purpose
    • Yaf_View_Simple::__set - Set value to engine
    • yaml_emit - Returns the YAML representation of a value
    • yaml_emit_file - Send the YAML representation of a value to a file
    • yaml_parse - Parse a YAML stream
    • yaml_parse_file - Parse a YAML stream from a file
    • yaml_parse_url - Parse a Yaml stream from a URL
    • Yar_Client::setOpt - Set calling contexts
    • Yar_Client::__call - Call service
    • Yar_Client::__construct - Create a client
    • Yar_Client_Exception::getType - Retrieve exception's type
    • Yar_Concurrent_Client::call - Register a concurrent call
    • Yar_Concurrent_Client::loop - Send all calls
    • Yar_Concurrent_Client::reset - Clean all registered calls
    • Yar_Server::handle - Start RPC Server
    • Yar_Server::__construct - Register a server
    • Yar_Server_Exception::getType - Retrieve exception's type
    • yaz_addinfo - Returns additional error information
    • yaz_ccl_conf - Configure CCL parser
    • yaz_ccl_parse - Invoke CCL Parser
    • yaz_close - Close YAZ connection
    • yaz_connect - Prepares for a connection to a Z39.50 server
    • yaz_database - Specifies the databases within a session
    • yaz_element - Specifies Element-Set Name for retrieval
    • yaz_errno - Returns error number
    • yaz_error - Returns error description
    • yaz_es - Prepares for an Extended Service Request
    • yaz_es_result - Inspects Extended Services Result
    • yaz_get_option - Returns value of option for connection
    • yaz_hits - Returns number of hits for last search
    • yaz_itemorder - Prepares for Z39.50 Item Order with an ILL-Request package
    • yaz_present - Prepares for retrieval (Z39.50 present)
    • yaz_range - Specifies a range of records to retrieve
    • yaz_record - Returns a record
    • yaz_scan - Prepares for a scan
    • yaz_scan_result - Returns Scan Response result
    • yaz_schema - Specifies schema for retrieval
    • yaz_search - Prepares for a search
    • yaz_set_option - Sets one or more options for connection
    • yaz_sort - Sets sorting criteria
    • yaz_syntax - Specifies the preferred record syntax for retrieval
    • yaz_wait - Wait for Z39.50 requests to complete
  • z
    • zend_thread_id - Returns a unique identifier for the current thread
    • zend_version - Obtém a versão da Zend engine que esta sendo executada
    • ZipArchive::addEmptyDir - Add a new directory
    • ZipArchive::addFile - Adds a file to a ZIP archive from the given path
    • ZipArchive::addFromString - Add a file to a ZIP archive using its contents
    • ZipArchive::addGlob - Add files from a directory by glob pattern
    • ZipArchive::addPattern - Add files from a directory by PCRE pattern
    • ZipArchive::close - Close the active archive (opened or newly created)
    • ZipArchive::count - Counts the number of files in the archive
    • ZipArchive::deleteIndex - Delete an entry in the archive using its index
    • ZipArchive::deleteName - Delete an entry in the archive using its name
    • ZipArchive::extractTo - Extract the archive contents
    • ZipArchive::getArchiveComment - Returns the Zip archive comment
    • ZipArchive::getCommentIndex - Returns the comment of an entry using the entry index
    • ZipArchive::getCommentName - Returns the comment of an entry using the entry name
    • ZipArchive::getExternalAttributesIndex - Retrieve the external attributes of an entry defined by its index
    • ZipArchive::getExternalAttributesName - Retrieve the external attributes of an entry defined by its name
    • ZipArchive::getFromIndex - Returns the entry contents using its index
    • ZipArchive::getFromName - Returns the entry contents using its name
    • ZipArchive::getNameIndex - Returns the name of an entry using its index
    • ZipArchive::getStatusString - Returns the status error message, system and/or zip messages
    • ZipArchive::getStream - Get a file handler to the entry defined by its name (read only)
    • ZipArchive::isCompressionMethodSupported - Check if a compression method is supported by libzip
    • ZipArchive::isEncryptionMethodSupported - Check if a encryption method is supported by libzip
    • ZipArchive::locateName - Returns the index of the entry in the archive
    • ZipArchive::open - Open a ZIP file archive
    • ZipArchive::registerCancelCallback - Register a callback to allow cancellation during archive close.
    • ZipArchive::registerProgressCallback - Register a callback to provide updates during archive close.
    • ZipArchive::renameIndex - Renames an entry defined by its index
    • ZipArchive::renameName - Renames an entry defined by its name
    • ZipArchive::replaceFile - Replace file in ZIP archive with a given path
    • ZipArchive::setArchiveComment - Set the comment of a ZIP archive
    • ZipArchive::setCommentIndex - Set the comment of an entry defined by its index
    • ZipArchive::setCommentName - Set the comment of an entry defined by its name
    • ZipArchive::setCompressionIndex - Set the compression method of an entry defined by its index
    • ZipArchive::setCompressionName - Set the compression method of an entry defined by its name
    • ZipArchive::setEncryptionIndex - Set the encryption method of an entry defined by its index
    • ZipArchive::setEncryptionName - Set the encryption method of an entry defined by its name
    • ZipArchive::setExternalAttributesIndex - Set the external attributes of an entry defined by its index
    • ZipArchive::setExternalAttributesName - Set the external attributes of an entry defined by its name
    • ZipArchive::setMtimeIndex - Set the modification time of an entry defined by its index
    • ZipArchive::setMtimeName - Set the modification time of an entry defined by its name
    • ZipArchive::setPassword - Set the password for the active archive
    • ZipArchive::statIndex - Get the details of an entry defined by its index
    • ZipArchive::statName - Get the details of an entry defined by its name
    • ZipArchive::unchangeAll - Undo all changes done in the archive
    • ZipArchive::unchangeArchive - Revert all global changes done in the archive
    • ZipArchive::unchangeIndex - Revert all changes done to an entry at the given index
    • ZipArchive::unchangeName - Revert all changes done to an entry with the given name
    • Zip context options - Zip context option listing
    • zip_close - Fecha um arquivo ZIP
    • zip_entry_close - Fecha o arquivo que está aberto
    • zip_entry_compressedsize - Recupera o tamanho compactado do arquivo que está dentro do arquivo ZIP
    • zip_entry_compressionmethod - Recupera qual o método de compressão foi utilizado no arquivo
    • zip_entry_filesize - Retorna o tamanho de um diretório de entrada
    • zip_entry_name - Retorna o nome do arquivo
    • zip_entry_open - Abre um arquivo do arquivo ZIP
    • zip_entry_read - Lê de um arquivo aberto
    • zip_open - Abre um arquivo ZIPado
    • zip_read - Lê a próxima entrada em um arquivo ZIPado
    • zlib:// - Compression Streams
    • zlib_decode - Uncompress any raw/gzip/zlib encoded data
    • zlib_encode - Compress data with the specified encoding
    • zlib_get_coding_type - Retorna o tipo de codificação para a compressão de saída
    • ZMQ::__construct - Construtor da classe ZMQ
    • ZMQContext::getOpt - Obtém uma opção de contexto
    • ZMQContext::getSocket - Cria um novo socket
    • ZMQContext::isPersistent - Retorna se o contexto é persistente
    • ZMQContext::setOpt - Define uma opção de socket
    • ZMQContext::__construct - Constrói um novo objeto ZMQContext
    • ZMQDevice::getIdleTimeout - Obtém o tempo limite de inatividade
    • ZMQDevice::getTimerTimeout - Obtém o tempo limite do temporizador
    • ZMQDevice::run - Executa o novo dispositivo
    • ZMQDevice::setIdleCallback - Define a função de retorno de inatividade
    • ZMQDevice::setIdleTimeout - Define o tempo limite de inatividade
    • ZMQDevice::setTimerCallback - Define a função de retorno do temporizador
    • ZMQDevice::setTimerTimeout - Define o tempo limite do temporizador
    • ZMQDevice::__construct - Constrói um novo dispositivo
    • ZMQPoll::add - Adiciona o item na lista de pesquisa
    • ZMQPoll::clear - Limpa a lista de consulta
    • ZMQPoll::count - Conta os itens na lista de consulta
    • ZMQPoll::getLastErrors - Obtém erros da consulta
    • ZMQPoll::poll - Consulta os itens
    • ZMQPoll::remove - Remove um item da lista de consulta
    • ZMQSocket::bind - Associa o socket
    • ZMQSocket::connect - Conecta o socket
    • ZMQSocket::disconnect - Desconecta um socket
    • ZMQSocket::getEndpoints - Obtém uma lista de destinos
    • ZMQSocket::getPersistentId - Obtém o id persistente
    • ZMQSocket::getSocketType - Retorna o tipo de socket
    • ZMQSocket::getSockOpt - Obtém a opção do socket
    • ZMQSocket::isPersistent - Verifica se o socket é persistente
    • ZMQSocket::recv - Recebe uma mensagem
    • ZMQSocket::recvMulti - Recebe uma mensagem com várias partes
    • ZMQSocket::send - Envia uma mensagem
    • ZMQSocket::sendmulti - Envia uma mensagem com várias partes
    • ZMQSocket::setSockOpt - Define uma opção de socket
    • ZMQSocket::unbind - Desassocia o socket
    • ZMQSocket::__construct - Constrói um novo ZMQSocket
    • Zookeeper::addAuth - Specify application credentials
    • Zookeeper::close - Close the zookeeper handle and free up any resources
    • Zookeeper::connect - Create a handle to used communicate with zookeeper
    • Zookeeper::create - Create a node synchronously
    • Zookeeper::delete - Delete a node in zookeeper synchronously
    • Zookeeper::exists - Checks the existence of a node in zookeeper synchronously
    • Zookeeper::get - Gets the data associated with a node synchronously
    • Zookeeper::getAcl - Gets the acl associated with a node synchronously
    • Zookeeper::getChildren - Lists the children of a node synchronously
    • Zookeeper::getClientId - Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
    • Zookeeper::getConfig - Get instance of ZookeeperConfig
    • Zookeeper::getRecvTimeout - Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect
    • Zookeeper::getState - Get the state of the zookeeper connection
    • Zookeeper::isRecoverable - Checks if the current zookeeper connection state can be recovered
    • Zookeeper::set - Sets the data associated with a node
    • Zookeeper::setAcl - Sets the acl associated with a node synchronously
    • Zookeeper::setDebugLevel - Sets the debugging level for the library
    • Zookeeper::setDeterministicConnOrder - Enable/disable quorum endpoint order randomization
    • Zookeeper::setLogStream - Sets the stream to be used by the library for logging
    • Zookeeper::setWatcher - Set a watcher function
    • Zookeeper::__construct - Create a handle to used communicate with zookeeper
    • ZookeeperConfig::add - Add servers to the ensemble
    • ZookeeperConfig::get - Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously
    • ZookeeperConfig::remove - Remove servers from the ensemble
    • ZookeeperConfig::set - Change ZK cluster ensemble membership and roles of ensemble peers
    • zookeeper_dispatch - Calls callbacks for pending operations
  • _
    • __autoload - Attempt to load undefined class
    • __halt_compiler - Halts the compiler execution


Lista de exemplos

Lista de todos os exemplos no manual

  • Example#0 - Um exemplo introdutório
  • Example#1 - Nosso primeiro script PHP: ola.php
  • Example#2 - Como obter informações sobre o PHP
  • Example#3 - Imprimindo uma variável (elemento do Array)
  • Example#4 - Exemplo utilizando estruturas de controle e funções
  • Example#5 - Mesclando entre os modos PHP e HTML
  • Example#6 - Um simples formulário HTML
  • Example#7 - Imprimindo dados de nosso formulário
  • Example#8 - Instruções de Instalação (Apache Versão de Módulo Compartilhado) para PHP
  • Example#9 - Instruções de Instalação (Instalação como módulo estático do Apache) para o PHP
  • Example#10 - Exemplo de comandos para reinicialização do Servidor Apache
  • Example#11 -
  • Example#12 -
  • Example#13 -
  • Example#14 -
  • Example#15 -
  • Example#16 -
  • Example#17 -
  • Example#18 -
  • Example#19 -
  • Example#20 -
  • Example#21 -
  • Example#22 -
  • Example#23 -
  • Example#24 -
  • Example#25 -
  • Example#26 -
  • Example#27 -
  • Example#28 -
  • Example#29 -
  • Example#30 -
  • Example#31 -
  • Example#32 -
  • Example#33 -
  • Example#34 -
  • Example#35 -
  • Example#36 -
  • Example#37 -
  • Example#38 -
  • Example#39 -
  • Example#40 - Partial lighttpd.conf
  • Example#41 - Spawning FastCGI Responders
  • Example#42 - Connecting to remote php-fastcgi instances
  • Example#43 -
  • Example#44 -
  • Example#45 - Exemplo de instalação de pacote no OpenBSD
  • Example#46 - Exemplo de instalação no Debian com Apache 2
  • Example#47 - Parando e iniciando o Apache depois do PHP instalado
  • Example#48 - Métodos listar pacotes adicionais do PHP 5
  • Example#49 - Instalando PHP com MySQL e cURL
  • Example#50 - Recommended OpCache configuration
  • Example#51 - Recommended WinCache configuration
  • Example#52 - Command line to configure IIS and PHP
  • Example#53 - Estrutura do pacote PHP 5
  • Example#54 - Configurações CGI e FastCGI em php.ini
  • Example#55 - Configurando FastCGI para atender às requisições PHP
  • Example#56 - Configurando as permissões de acesso de arquivos
  • Example#57 - Configuração de FastCGI e reciclagem PHP
  • Example#58 - Configurando timeout para FastCGI
  • Example#59 - Alterando a localização do arquivo php.ini
  • Example#60 - CGI and FastCGI settings in php.ini
  • Example#61 - Creating IIS FastCGI process pool
  • Example#62 - Creating handler mapping for PHP requests
  • Example#63 - Determining the account used as IIS anonymous identity
  • Example#64 - Configuring file access permissions
  • Example#65 - Set index.php as a default document in IIS
  • Example#66 - Configuring FastCGI and PHP recycling
  • Example#67 - Configuring FastCGI timeout settings
  • Example#68 - Changing the location of php.ini file
  • Example#69 - PHP como um módulo do Apache 1.3.x
  • Example#70 - PHP e Apache 1.3.x como CGI
  • Example#71 - PHP e Apache 2.0 como Módulo
  • Example#72 -
  • Example#73 - PHP e Apache 2.x como CGI
  • Example#74 - Configurar o Apache para rodar PHP como FastCGI
  • Example#75 - Configuração ISAPI do Sambar
  • Example#76 - Habilitar a extensão Bzip2 para o PHP-Windows
  • Example#77 - Registry changes
  • Example#78 - Passando variáveis de ambiente e configurações do PHP para a rotina
  • Example#79 - definir as configurações de PHP no nginx.conf
  • Example#80 - A função phpinfo
  • Example#81 - php.ini Variáveis de ambiente
  • Example#82 - Exemplo de arquivo php.ini
  • Example#83 - Exemplo de configuração do Apache
  • Example#84 - Abrindo e fechando tags PHP
  • Example#85 - Escape avançado usando condições
  • Example#86 - Exemplo mostrando a tag de fechamento incluíndo uma nova linha final
  • Example#87 - Literais inteiras
  • Example#88 - Overflow de inteiros em sistemas 32-bit
  • Example#89 - Overflow de inteiros em sistemas 64-bit
  • Example#90 - Exemplo inválido
  • Example#91 - Exemplo válido
  • Example#92 - Exemplo de delimitação de strings heredoc
  • Example#93 - Exemplo de Heredoc em argumentos
  • Example#94 - Utilizando o Heredoc na inicialização de valores estáticos
  • Example#95 - Usando aspas duplas no Heredoc
  • Example#96 - Exemplo de string em Nowdoc
  • Example#97 - Exemplo de Nowdoc, com variáveis
  • Example#98 - Exemplo de dado estático
  • Example#99 - Exemplo com sintaxe simples
  • Example#100 - Índices numéricos negativos
  • Example#101 - Alguns exemplos com strings
  • Example#102 - Diferenças entre o PHP 5.3 e PHP 5.4
  • Example#103 - Um array simples
  • Example#104 - Exemplo de conversão de tipo e sobrescrita
  • Example#105 - Misturando inteiro e string nas chaves
  • Example#106 - Arrays indexados sem chaves
  • Example#107 - Chaves em alguns elementos
  • Example#108 - Acessando elementos do array
  • Example#109 - Referenciando elemento de um array
  • Example#110 - Utilizando array()
  • Example#111 - Coleção
  • Example#112 - Alterando valores em um laço
  • Example#113 - Array baseado em 1
  • Example#114 - Preenchendo um array
  • Example#115 - Ordenando arrays
  • Example#116 - Arrays recursivos e multidimensionais
  • Example#117 - Iterable parameter type example
  • Example#118 - Iterable parameter default value example
  • Example#119 - Iterable return type example
  • Example#120 - Iterable generator return type example
  • Example#121 - Iterable type variance example
  • Example#122 - Exemplos de funções de callback
  • Example#123 - Exemplo de Callback utilizando uma Closure
  • Example#124 -
  • Example#125 - Basic class type declaration
  • Example#126 - Basic interface type declaration
  • Example#127 - Basic return type declaration
  • Example#128 - Returning an object
  • Example#129 - Nullable argument type declaration
  • Example#130 - Nullable return type declaration
  • Example#131 - Old way to make arguments nullable
  • Example#132 - Strict typing for arguments values
  • Example#133 - Coercive typing for argument values
  • Example#134 - Strict typing for return values
  • Example#135 - Example of types being coerced into a type part of the union
  • Example#136 - Typed pass-by-reference Parameters
  • Example#137 - Catching TypeError
  • Example#138 - Valores padrões de variáveis não inicializadas
  • Example#139 - Usando global
  • Example#140 - Usando $GLOBALS no lugar de global
  • Example#141 - Exemplo demonstrando superglobals e escopos
  • Example#142 - Exemplo demonstrando a necessidade de variáveis estáticas
  • Example#143 - Exemplo de uso de variáveis estáticas
  • Example#144 - Variáveis estáticas em funções recursivas
  • Example#145 - Declarando variáveis estáticas
  • Example#146 - Exemplo de propriedade variável
  • Example#147 - Um formulário HTML simples
  • Example#148 - Acessando dados de um formulário HTML via POST
  • Example#149 - Meios antigos de acessar dados enviados pelo usuário
  • Example#150 - Variáveis de formulários mais complexos
  • Example#151 - Exemplo setcookie
  • Example#152 - Nomes de constantes válidos e inválidos
  • Example#153 - Definindo Constantes
  • Example#154 - Definindo Constantes usando a palavra-chave const
  • Example#155 - Associação
  • Example#156 - Ordem de avaliação não definida
  • Example#157 - +, - and . possuem a mesma precedência
  • Example#158 - Atribuição por referência
  • Example#159 - Operações bitwise AND, OR e XOR em inteiros
  • Example#160 - Operações de bit XOR em strings
  • Example#161 - Deslocamento de bits em inteiros
  • Example#162 - Comparações de boolean e null
  • Example#163 - Transcrição do padrão de comparação de array
  • Example#164 - Atribuindo um valor padrão
  • Example#165 - Comportamento não óbvio do ternário
  • Example#166 - Atribuindo um valor padrão
  • Example#167 - Aninhando o operador null coalescing
  • Example#168 - Operações aritmétricas em variáveis caractere
  • Example#169 - Ilustrando operadores lógicos
  • Example#170 - Comparando arrays
  • Example#171 - Usando instanceof com classes
  • Example#172 - Usando instanceof com herança
  • Example#173 - Usando instanceof para verificar se o objeto não é uma instância da classe
  • Example#174 - Usando instanceof para classe
  • Example#175 - Usando instanceof com outras variáveis
  • Example#176 - Utilizando instanceof para testar outras variáveis
  • Example#177 - Evitando que o nome da classe seje verificado e fatal erros com instanceof no PHP 5.0
  • Example#178 - Estrutura do switch
  • Example#179 - A estrutura do switch permite o uso de strings
  • Example#180 - Structure of a match expression
  • Example#181 - Example of an unhandled match expression
  • Example#182 - Using a generalized match expressions to branch on integer ranges
  • Example#183 - Using a generalized match expressions to branch on string content
  • Example#184 - Exemplo de uso do Tick
  • Example#185 - Exemplo de uso dos Ticks
  • Example#186 - Declarando um encoding para o script.
  • Example#187 - Exemplo básico do construtor include
  • Example#188 - Inclusão em funções
  • Example#189 - Usando include via HTTP
  • Example#190 - Comparando valores de retorno do include
  • Example#191 - include e a instrução return
  • Example#192 - Usando buffer de saída para incluir um arquivo PHP em uma string
  • Example#193 - Exemplo da estrutura de controle goto
  • Example#194 - Exemplo da estrutura de controle goto em um laço
  • Example#195 - Isto não irá funcionar
  • Example#196 - Pseudo-código de demonstração de uma função
  • Example#197 - Funções definidas condicionalmente
  • Example#198 - Funções dentro de funções
  • Example#199 - Funções Recursivas
  • Example#200 - Passando arrays para funções
  • Example#201 - Passando parâmetros de função por referência
  • Example#202 - Utilizando parâmetros padrão em funções
  • Example#203 - Usando tipos não escalares como valores padrões
  • Example#204 - Uso incorreto de parâmetros padrão de função
  • Example#205 - Uso correto de parâmetros padrão de função
  • Example#206 -
  • Example#207 - Declaração de tipos em classes
  • Example#208 - Declaração de tipos em interfaces
  • Example#209 - Passando parâmetros tipados por referência
  • Example#210 - Declaração de tipos nulificáveis
  • Example#211 - Tipagem estrita
  • Example#212 - Tipagem fraca
  • Example#213 - Catching TypeError
  • Example#214 - Utilizando ... para acessar argumentos variáveis
  • Example#215 - Utilizando ... para fornecer argumentos
  • Example#216 - Argumentos variáveis com type hint
  • Example#217 - Acessando argumentos variáveis no PHP 5.5 e anteriores
  • Example#218 - O uso de return
  • Example#219 - Retornando um array para devolver vários valores
  • Example#220 - Retornando uma referência de uma função
  • Example#221 - Declaração de tipo de retorno
  • Example#222 - Modo estrito em ação
  • Example#223 - Returning an object
  • Example#224 - Declaração de tipo de retorno anulável (a partir do PHP 7.1.0)
  • Example#225 - Exemplo de funções variáveis
  • Example#226 - Exemplo de chamada de um método variável
  • Example#227 - Método variávei com propriedades estáticas
  • Example#228 - Callables complexos
  • Example#229 - Exemplo de Função Anônima
  • Example#230 - Exemplo de como definir uma função anônima para uma variável
  • Example#231 - Herdando variáveis do escopo anterior
  • Example#232 - Closures e escopo
  • Example#233 - Vinculação automática do $this
  • Example#234 - Tentando utilizar o $this de dentro de uma função anônima estática
  • Example#235 - Tentando vincular um objeto a uma função anônima estática
  • Example#236 - Arrow functions capturam variáveis por valor automaticamente
  • Example#237 - Arrow functions capturam variáveis por valor automaticamente, mesmo quando aninhadas
  • Example#238 - Examplos de arrow functions
  • Example#239 - Valores do escopo externo não podem ser modificados por arrow functions
  • Example#240 - Definição Simples de uma Classe
  • Example#241 - Alguns exemplos da pseudo variável $this
  • Example#242 - Criando uma instância
  • Example#243 - Atribuição de Objetos
  • Example#244 - Criando novos objetos
  • Example#245 - Acesso a propriedade vs. chamar um método
  • Example#246 - Chamando uma função anônima armazenada em uma propriedade
  • Example#247 - Herança da Classe Simples
  • Example#248 - Resolução de nome da classe
  • Example#249 - declaração de propriedades
  • Example#250 - Exemplo de uso do nowdoc para inicializar uma propriedade
  • Example#251 - Definindo e usando uma constante
  • Example#252 - Exemplo com informação estática
  • Example#253 - Exemplo de expressão constante
  • Example#254 - Modificadores de visibilidade em contantes de classe
  • Example#255 - Exemplo de Autoload
  • Example#256 - Outro exemplo de Autoload
  • Example#257 - Autoload com manipulação de exceções no PHP 5.3.0+
  • Example#258 - Autoload com manipulação de exceções no PHP 5.3.0+ - Faltando exceção customizada.
  • Example#259 - Usando novos construtores unificados
  • Example#260 - Construtores em classes dentro de namespace
  • Example#261 - Exemplo de Destrutor
  • Example#262 - Declaração de propriedade
  • Example#263 - Declaração de método
  • Example#264 - Acessando membros privados entre objetos do mesmo tipo
  • Example#265 - Exemplo de herança
  • Example#266 - :: de fora da definição da classe
  • Example#267 - :: de dentro da definição da classe
  • Example#268 - Chamando um método pai
  • Example#269 - Exemplo de método estático
  • Example#270 - Exemplo de propriedade estática
  • Example#271 - Exemplo de classe abstrata
  • Example#272 - Exemplo de classe abstrata
  • Example#273 - Exemplo de Interface
  • Example#274 - Interfaces estendíveis
  • Example#275 - Interface com herança múltipla
  • Example#276 - Interfaces com constantes
  • Example#277 - Trait example
  • Example#278 - Precedence Order Example
  • Example#279 - Alternate Precedence Order Example
  • Example#280 - Multiple Traits Usage
  • Example#281 - Conflict Resolution
  • Example#282 - Changing Method Visibility
  • Example#283 - Traits Composed from Traits
  • Example#284 - Express Requirements by Abstract Methods
  • Example#285 - Static Variables
  • Example#286 - Static Methods
  • Example#287 - Defining Properties
  • Example#288 - Conflict Resolution
  • Example#289 - Sobrecarregando propriedades com __get(),
     __set(), __isset()
     and __unset()
  • Example#290 - Sobrecarga de métodos instanciados com __call() e __callStatic()
  • Example#291 - Iteração simples de objetos
  • Example#292 - Iteração de Objeto implementando Iterator
  • Example#293 - Iteração de Objeto implementado IteratorAggregate
  • Example#294 - Sleep e wakeup
  • Example#295 - Serialize e unserialize
  • Example#296 - Exemplo Simples
  • Example#297 - Usando __invoke()
  • Example#298 - Usando __set_state() (desde o PHP 5.1.0)
  • Example#299 - Utilizando o __debugInfo()
  • Example#300 - Exemplo de métodos final
  • Example#301 - Exemplo de classe Final
  • Example#302 - Clonando um objeto
  • Example#303 - Exemplo de comparação de objetos no PHP 5
  • Example#304 - Uso do self::
  • Example#305 - Simples uso do static::
  • Example#306 - Uso do static:: em um contexto não-estático
  • Example#307 - Chamadas repassadas e não repassadas
  • Example#308 - Referências e Objetos
  • Example#309 - Namespace syntax example
  • Example#310 - Declaring a single namespace
  • Example#311 - Declaring a single namespace
  • Example#312 - Declaring a single namespace with hierarchy
  • Example#313 - Declaring multiple namespaces, simple combination syntax
  • Example#314 - Declaring multiple namespaces, bracketed syntax
  • Example#315 - Declaring multiple namespaces and unnamespaced code
  • Example#316 - Declaring multiple namespaces and unnamespaced code
  • Example#317 - Accessing global classes, functions and constants from within a namespace
  • Example#318 - Dynamically accessing elements
  • Example#319 - Dynamically accessing namespaced elements
  • Example#320 - __NAMESPACE__ example, namespaced code
  • Example#321 - __NAMESPACE__ example, global code
  • Example#322 - using __NAMESPACE__ for dynamic name construction
  • Example#323 - the namespace operator, inside a namespace
  • Example#324 - the namespace operator, in global code
  • Example#325 - importing/aliasing with the use operator
  • Example#326 - importing/aliasing with the use operator, multiple use statements combined
  • Example#327 - Importing and dynamic names
  • Example#328 - Importing and fully qualified names
  • Example#329 - Illegal importing rule
  • Example#330 - Using global space specification
  • Example#331 - Accessing global classes inside a namespace
  • Example#332 - global functions/constants fallback inside a namespace
  • Example#333 - Name resolutions illustrated
  • Example#334 - Accessing global classes outside a namespace
  • Example#335 - Accessing global classes outside a namespace
  • Example#336 - Accessing internal classes in namespaces
  • Example#337 - Accessing internal classes, functions or constants in namespaces
  • Example#338 - Fully Qualified names
  • Example#339 - Qualified names
  • Example#340 - Unqualified class names
  • Example#341 - Unqualified function or constant names
  • Example#342 - Dangers of using namespaced names inside a double-quoted string
  • Example#343 - Undefined constants
  • Example#344 - Undefined constants
  • Example#345 - A classe nativa Exception
  • Example#346 - Estendendo a classe Exception (PHP 5.3.0+)
  • Example#347 - Lançando uma exceção
  • Example#348 - Manipulação de exceções com bloco finally
  • Example#349 - Exceções empilhadas
  • Example#350 - Manipulação de múltiplas exceções no mesmo bloco catch
  • Example#351 - Implementando range como um generator
  • Example#352 - Um exemplo simples de valores yield
  • Example#353 - Produzindo um par de chave/valor
  • Example#354 - Produzindo valores nullos
  • Example#355 - Produzindo valores por referência
  • Example#356 - yield from com iterator_to_array
  • Example#357 - Uso básico de yield from
  • Example#358 - yield from e valores retornados
  • Example#359 - Implementing optional methods of an interface with Attributes
  • Example#360 - Attribute Syntax
  • Example#361 - Reading Attributes using Reflection API
  • Example#362 - Reading Specific Attributes using Reflection API
  • Example#363 - Using target specification to restrict where attributes can be used
  • Example#364 - Simple Attribute Class
  • Example#365 - Using IS_REPEATABLE to allow attribute on a declaration multiple times
  • Example#366 - Usando referência com variáveis indefinidas
  • Example#367 - Referenciando variáveis globais de dentro de funções
  • Example#368 - Referências e o comando foreach
  • Example#369 - Exemplo da $GLOBALS
  • Example#370 - Exemplo da $_SERVER
  • Example#371 - Exemplo da $_GET
  • Example#372 - Exemplo da $_POST
  • Example#373 - Exemplo da $_ENV
  • Example#374 - Exemplo da $_COOKIE
  • Example#375 - Exemplo da $php_errormsg
  • Example#376 - Exemplo da $http_response_header
  • Example#377 - Exemplo da $argc
  • Example#378 - Exemplo da $argv
  • Example#379 - Exemplo da Exception::getMessage
  • Example#380 - Exception::getPrevious example
  • Example#381 - Exemplo da Exception::getCode
  • Example#382 - Exemplo da Exception::getFile
  • Example#383 - Exemplo da Exception::getLine
  • Example#384 - Exemplo da Exception::getTrace
  • Example#385 - Exemplo da Exception::getTraceAsString
  • Example#386 - Exemplo da Exception::__toString
  • Example#387 - Use a função set_error_handler para transformar mensagens de erro em ErrorException.
  • Example#388 - Exemplo do método ErrorException::getSeverity
  • Example#389 - Exemplo do método Error::getMessage
  • Example#390 - Exemplo do método Error::getPrevious
  • Example#391 - Exemplo do método Error::getCode
  • Example#392 - Exemplo do método Error::getFile
  • Example#393 - Exemplo do método Error::getLine
  • Example#394 - Exemplo do método Error::getTrace
  • Example#395 - Exemplo do método Error::getTraceAsString
  • Example#396 - Exemplo do método Error::__toString
  • Example#397 - Utilização básica
  • Example#398 - Utilização básica
  • Example#399 - Utilização básica
  • Example#400 - Exemplo do método ArrayAccess::offsetExists
  • Example#401 - Utilização básica
  • Example#402 - Exemplo do método Closure::bind
  • Example#403 - Closure::bindTo example
  • Example#404 - Exemplo do método Closure::call
  • Example#405 - Exemplo do método Generator::key
  • Example#406 - Usando o método Generator::send para injetar valores
  • Example#407 - Lança uma exceção no gerador
  • Example#408 - Uso básico de referência fraca
  • Example#409 - Exemplo básico de uso do parâmetro bindto
  • Example#410 - Buscando uma página e enviando dados pelo método POST
  • Example#411 - Ignorando redirecionamentos, mas trazendo os cabeçalhos e conteúdo
  • Example#412 - Busca uma página e envia dados por POST
  • Example#413 - Basic password usage example
  • Example#414 - Detecting which URL we ended up on after redirects
  • Example#415 - php://temp/maxmemory
  • Example#416 - php://filter/resource=<stream to be filtered>
  • Example#417 - php://filter/read=<filter list to apply to read chain>
  • Example#418 - php://filter/write=<filter list to apply to write chain>
  • Example#419 - php://memory and php://temp are not reusable
  • Example#420 - Print data:// contents
  • Example#421 - Fetch the media type
  • Example#422 - Basic usage
  • Example#423 - Opening a stream from an active connection
  • Example#424 - This $session variable must be kept available!
  • Example#425 - Traversing a RAR archive
  • Example#426 - Opening an encrypted file (header encryption)
  • Example#427 - Checagem fraca de variáveis resulta em....
  • Example#428 - ... um ataque ao sistema de arquivos
  • Example#429 - Checagem mais segura do nome do arquivo
  • Example#430 - Checagem mais segura do nome do arquivo
  • Example#431 - Script vulnerável à bytes nulos
  • Example#432 - Validando entrada corretamente
  • Example#433 - Usando campo de senha hasheado
  • Example#434 - Dividinto o result set em páginas ... e criando super-usuários (PostgreSQL)
  • Example#435 - Listando artigos ... e algumas senhas (qualquer banco de dados)
  • Example#436 - De reinicializando uma senha ... para ganhando mais privilégios (qualquer banco de dados)
  • Example#437 - Atacando o sistema operacional do servidor (MSSQL Server)
  • Example#438 - Uma maneira mais segura para compor consultas de paginação
  • Example#439 - Atacando variáveis com uma página HTML personalizada
  • Example#440 - Explorando variáveis comuns de depuração
  • Example#441 - Encontrado variáveis perigosas com E_ALL
  • Example#442 - Uso Perigoso de Variáveis
  • Example#443 - Escondendo o PHP como outra linguagem
  • Example#444 - Usando extensões desconhecidas para o PHP
  • Example#445 - Usando extensão HTML para o PHP
  • Example#446 - Exemplo de Autenticação HTTP "Basic"
  • Example#447 - Exemplo de autenticação HTTP "Digest"
  • Example#448 - Exemplo de Autenticação HTTP forçando um novo nome/senha
  • Example#449 - Um formulário XForms simples de busca
  • Example#450 - Usando um XForm para popular o $_POST
  • Example#451 - Formulário para Upload de Arquivo
  • Example#452 - Validando o upload de arquivos
  • Example#453 - Enviando uma array de arquivos
  • Example#454 - Carregando múltiplos arquivos
  • Example#455 - Salvando arquivos HTTP PUT
  • Example#456 - Pegando o título de uma página remota
  • Example#457 - Guardando informação em um servidor remoto
  • Example#458 - Exemplo demonstrando a diferença entre CGI e SAPI:
  • Example#459 -
  • Example#460 - Retorna os módulos PHP e Zend embutidos e carregados
  • Example#461 - Recebendo um erro de sintaxe ao usar aspas duplas
  • Example#462 - Usar aspas simples previne a substituição de variáveis pelo ambiente de linha de comando
  • Example#463 - Usando as opções -B, -R e -E para contar o número de linhas de um projeto.
  • Example#464 - Use -v para requisitar o nome SAPI e a versão do PHP e Zend Engine
  • Example#465 - --ini exemplo
  • Example#466 - uso básico da opção --rf
  • Example#467 - exemplo de --rc
  • Example#468 - Exemplo de --re
  • Example#469 - exemplo de --ri
  • Example#470 - Executando scripts PHP como shell scripts
  • Example#471 - Script planejado para ser executado na linha de comando (script.php)
  • Example#472 - Arquivo batch para rodar um script de linha de comando em PHP (script.bat)
  • Example#473 - Executando código usando o shell interativo
  • Example#474 - Sugestões de complemento com tab
  • Example#475 - Definindo configurações php.ini no shell interativo
  • Example#476 - Iniciando o servidor web
  • Example#477 - Iniciando o servidor web com um diretório raiz específico
  • Example#478 - Usando um script de roteamento
  • Example#479 - Verificando o Uso do CLI Web Server
  • Example#480 - Tratando de tipos de arquivos não suportados
  • Example#481 - Accessando o servidor web CLI de máquinas remotas
  • Example#482 - Creating a new zval container
  • Example#483 - Displaying zval information
  • Example#484 - Increasing refcount of a zval
  • Example#485 - Decreasing zval refcount
  • Example#486 - Creating a array zval
  • Example#487 - Adding already existing element to an array
  • Example#488 - Removing an element from an array
  • Example#489 - Adding the array itself as an element of it self
  • Example#490 - Unsetting $a
  • Example#491 - Memory usage example
  • Example#492 - GC performance influences
  • Example#493 - Running the above script
  • Example#494 - Recompiling PHP to enable GC benchmarking
  • Example#495 - GC statistics
  • Example#496 - all_probes.d for tracing all PHP Static Probes with DTrace
  • Example#497 - all_probes.stp for tracing all PHP Static Probes with SystemTap
  • Example#498 - A apcu_add example
  • Example#499 - A apcu_cache_info example
  • Example#500 - apcu_cas example
  • Example#501 - apcu_dec example
  • Example#502 - A apcu_delete example
  • Example#503 - An apcu_entry example
  • Example#504 - apcu_exists example
  • Example#505 - A apcu_fetch example
  • Example#506 - apcu_inc example
  • Example#507 - A apcu_key_info example
  • Example#508 - A apcu_sma_info example
  • Example#509 - A apcu_store example
  • Example#510 - A APCUIterator::__construct example
  • Example#511 - Usando gerenciamento de erro em um script
  • Example#512 - debug_backtrace example
  • Example#513 - debug_print_backtrace example
  • Example#514 - An error_clear_last example
  • Example#515 - Um exemplo da error_get_last
  • Example#516 - Exemplos de error_log
  • Example#517 - Exemplos error_reporting
  • Example#518 - Exemplo restore_error_handler
  • Example#519 - Manipulação de erros com set_error_handler e trigger_error
  • Example#520 - Um exemplo de set_exception_handler
  • Example#521 - Exemplo trigger_error
  • Example#522 - Calling a function from shared library
  • Example#523 - Calling a function, returning a structure through an argument
  • Example#524 - Accessing existing C variables
  • Example#525 - Creating and Modifying C variables
  • Example#526 - Working with C arrays
  • Example#527 - Working with C enums
  • Example#528 -
  • Example#529 -
  • Example#530 - Creating large array in a function
  • Example#531 - Exemplo de Controle de Saída
  • Example#532 - Exemplo ob_end_clean
  • Example#533 - Exemplo ob_end_flush
  • Example#534 - Um exemplo simples de ob_get_clean
  • Example#535 - Um simples exemplo da ob_get_contents
  • Example#536 - ob_get_flush example
  • Example#537 - Um simples exemplo da ob_get_length
  • Example#538 - Exemplo ob_gzhandler
  • Example#539 - ob_list_handlers example
  • Example#540 - Exemplo de uma função de callback
  • Example#541 - Criando um buffer de saída não apagável compatível com PHP 5.3 e 5.4
  • Example#542 - output_add_rewrite_var example
  • Example#543 - output_reset_rewrite_vars example
  • Example#544 - Lida com um assert falho com um manipulador próprio
  • Example#545 - Utilizando um manipulador para imprimir uma descrição
  • Example#546 - Expectativs sem uma exceção configurada
  • Example#547 - Expectativs com uma exceção configurada
  • Example#548 - cli_get_process_title example
  • Example#549 - cli_set_process_title example
  • Example#550 - Exemplosdl
  • Example#551 - Exemplo extension_loaded
  • Example#552 - A gc_enabled example
  • Example#553 - gc_status Usage
  • Example#554 - Exemplo da get_defined_constants
  • Example#555 - Imprime as funções de XML
  • Example#556 - Exemplo get_include_path
  • Example#557 - Exemplo get_included_files (abc.php)
  • Example#558 - Exemplo da get_loaded_extensions
  • Example#559 - Unfiltered get_resources
  • Example#560 - Filtered get_resources
  • Example#561 - Exemplo da getlastmod
  • Example#562 - Exemplo da getopt
  • Example#563 - Exemplo da getrusage
  • Example#564 - Exemplo ini_get_all
  • Example#565 - Exemplo da memory_get_usage
  • Example#566 - php_ini_loaded_file example
  • Example#567 - Um exemplo simples para a lista de arquivos ini retornados
  • Example#568 - Exemplo da php_sapi_name
  • Example#569 - Alguns exemplos de php_uname
  • Example#570 - Algumas constantes relacionadas com o sistema operacional
  • Example#571 - Imprimindo os créditos gerais
  • Example#572 - Imprime os desenvolvedores do core e o grupo da documentação
  • Example#573 - Imprimindo todos os créditos
  • Example#574 - Exemplos phpinfo
  • Example#575 - Exemplo phpversion
  • Example#576 - Definindo uma variável de ambiente
  • Example#577 - Exemplo restore_include_path
  • Example#578 - Exemplo set_include_path
  • Example#579 - Adicionando mais entradas ao include path
  • Example#580 - sys_get_temp_dir example
  • Example#581 - version_compare examples
  • Example#582 - zend_thread_id example
  • Example#583 - Exemplo zend_version
  • Example#584 - Custom Superglobals with runkit.superglobal=_FOO,_BAR in php.ini
  • Example#585 - A runkit7_function_add example
  • Example#586 - A runkit7_function_copy example
  • Example#587 - A runkit7_function_redefine example
  • Example#588 - runkit7_method_add example
  • Example#589 - runkit7_method_copy example
  • Example#590 - runkit7_method_redefine example
  • Example#591 - runkit7_method_remove example
  • Example#592 - runkit7_method_rename example
  • Example#593 - Basic uopz_add_function Usage
  • Example#594 - uopz_allow_exit example
  • Example#595 - uopz_backup example
  • Example#596 - uopz_compose example
  • Example#597 - uopz_copy example
  • Example#598 - Basic uopz_del_function Usage
  • Example#599 - uopz_delete example
  • Example#600 - uopz_delete class example
  • Example#601 - uopz_extend example
  • Example#602 - uopz_flags example
  • Example#603 - "Unfinalize" a Class
  • Example#604 - uopz_function example
  • Example#605 - uopz_function class example
  • Example#606 - uopz_get_exit_status example
  • Example#607 - Basic uopz_get_hook Usage
  • Example#608 - uopz_get_mock example
  • Example#609 - Basic uopz_get_property Usage
  • Example#610 - uopz_get_return example
  • Example#611 - Basic uopz_get_static Usage
  • Example#612 - uopz_implement example
  • Example#613 - uopz_overload example
  • Example#614 - uopz_redefine example
  • Example#615 - uopz_rename example
  • Example#616 - uopz_rename class example
  • Example#617 - uopz_restore example
  • Example#618 - Basic uopz_set_hook Usage
  • Example#619 - uopz_set_mock example
  • Example#620 - uopz_set_mock example
  • Example#621 - uopz_set_mock and static members
  • Example#622 - Basic uopz_set_property Usage
  • Example#623 - uopz_set_return example
  • Example#624 - uopz_set_return example
  • Example#625 - uopz_set_return class example
  • Example#626 - Basic uopz_set_static Usage
  • Example#627 - uopz_undefine example
  • Example#628 - Basic uopz_unset_hook Usage
  • Example#629 - uopz_unset_mock example
  • Example#630 - uopz_unset_return example
  • Example#631 - Weakref usage example
  • Example#632 - WeakRef usage example
  • Example#633 - Weakref::acquire example
  • Example#634 - Nested acquire/release example
  • Example#635 - Weakref::__construct example
  • Example#636 - Weakref::release example
  • Example#637 - Weakmap usage example
  • Example#638 - wincache.ignorelist example
  • Example#639 - Authentication configuration for wincache.php
  • Example#640 - Enabling WinCache session handler
  • Example#641 - Enabling WinCache functions reroutes
  • Example#642 - Reroute.ini file content
  • Example#643 - A wincache_fcache_fileinfo example
  • Example#644 - A wincache_fcache_meminfo example
  • Example#645 - Using wincache_lock
  • Example#646 - A wincache_ocache_fileinfo example
  • Example#647 - A wincache_ocache_meminfo example
  • Example#648 - A wincache_refresh_if_changed example
  • Example#649 - A wincache_rplist_fileinfo example
  • Example#650 - A wincache_rplist_meminfo example
  • Example#651 - A wincache_scache_info example
  • Example#652 - A wincache_scache_meminfo example
  • Example#653 - wincache_ucache_add with key as a string
  • Example#654 - wincache_ucache_add with key as an array
  • Example#655 - Using wincache_ucache_cas
  • Example#656 - using wincache_ucache_clear
  • Example#657 - Using wincache_ucache_dec
  • Example#658 - Using wincache_ucache_delete with key as a string
  • Example#659 - Usingwincache_ucache_delete with key as an array
  • Example#660 - Using wincache_ucache_delete with key as an array where some elements cannot be deleted
  • Example#661 - Using wincache_ucache_exists
  • Example#662 - wincache_ucache_get with key as a string
  • Example#663 - wincache_ucache_get with key as an array
  • Example#664 - Using wincache_ucache_inc
  • Example#665 - Using wincache_ucache_info
  • Example#666 - A wincache_ucache_meminfo example
  • Example#667 - wincache_ucache_set with key as a string
  • Example#668 - wincache_ucache_set with key as an array
  • Example#669 - Using wincache_unlock
  • Example#670 - Xhprof example with the optional GUI
  • Example#671 - xhprof_disable example
  • Example#672 - xhprof_enable examples
  • Example#673 - xhprof_sample_disable example
  • Example#674 - Make sure the item is stored
  • Example#675 - Using CHAP passwords
  • Example#676 - radius_acct_open example
  • Example#677 - radius_add_server example
  • Example#678 - radius_auth_open example
  • Example#679 - radius_create_request example
  • Example#680 - radius_cvt_addr example
  • Example#681 - radius_cvt_int example
  • Example#682 - radius_cvt_string example
  • Example#683 - radius_get_attr example
  • Example#684 - radius_get_tagged_attr_data example
  • Example#685 - radius_get_tagged_attr_tag example
  • Example#686 - radius_get_vendor_attr example
  • Example#687 - radius_put_attr example
  • Example#688 - radius_put_int example
  • Example#689 - radius_put_string example
  • Example#690 - radius_put_vendor_attr example
  • Example#691 - Writing a string with a specified color to the screen
  • Example#692 - ncurses_getmouse example
  • Example#693 - Writing a string with a specified color to the screen
  • Example#694 - Writing a string with a specified color to the screen
  • Example#695 - ncurses_mousemask example
  • Example#696 - Writing a string with a specified color to the screen
  • Example#697 - Readline Callback Interface Example
  • Example#698 - readline
  • Example#699 - Um exemplo simples de bzip2
  • Example#700 - Exemplo de bzcompress
  • Example#701 - bzdecompress
  • Example#702 - Exemplo da bzerror
  • Example#703 - Exemplo de bzopen
  • Example#704 - Exemplo de bzread
  • Example#705 - Exemplo de bzwrite
  • Example#706 - Using an external file
  • Example#707 - Using a file within a phar archive
  • Example#708 - Converting a phar archive from phar to tar file format
  • Example#709 - phar.cache_list usage example
  • Example#710 - A Phar::addEmptyDir example
  • Example#711 - A Phar::addFile example
  • Example#712 - A Phar::addFromString example
  • Example#713 - A Phar::apiVersion example
  • Example#714 - A Phar::buildFromDirectory example
  • Example#715 - A Phar::buildFromIterator with SplFileInfo
  • Example#716 - A Phar::buildFromIterator with other iterators
  • Example#717 - A Phar::canCompress example
  • Example#718 - A Phar::canWrite example
  • Example#719 - A Phar::compress example
  • Example#720 - A Phar::compressFiles example
  • Example#721 - A Phar::__construct example
  • Example#722 - A Phar::convertToData example
  • Example#723 - A Phar::convertToExecutable example
  • Example#724 - A Phar::copy example
  • Example#725 - A Phar::count example
  • Example#726 - A Phar::createDefaultStub example
  • Example#727 - A Phar::decompress example
  • Example#728 - A Phar::decompressFiles example
  • Example#729 - A Phar::delMetaData example
  • Example#730 - A Phar::delete example
  • Example#731 - A Phar::extractTo example
  • Example#732 - A Phar::getMetadata example
  • Example#733 - A Phar::getStub example
  • Example#734 - A Phar::hasMetadata example
  • Example#735 - A Phar::interceptFileFuncs example
  • Example#736 - A Phar::interceptFileFuncs example
  • Example#737 - A Phar::isBuffering example
  • Example#738 - A Phar::isCompressed example
  • Example#739 - A Phar::loadPhar example
  • Example#740 - A Phar::mapPhar example
  • Example#741 - A Phar::mount example
  • Example#742 - A Phar::mungServer example
  • Example#743 - A Phar::offsetExists example
  • Example#744 - Phar::offsetGet example
  • Example#745 - A Phar::offsetSet example
  • Example#746 - A Phar::offsetUnset example
  • Example#747 - A Phar::running example
  • Example#748 - A Phar::setAlias example
  • Example#749 - A Phar::setDefaultStub example
  • Example#750 - A Phar::setMetadata example
  • Example#751 - A Phar::setStub example
  • Example#752 - A Phar::startBuffering example
  • Example#753 - A Phar::stopBuffering example
  • Example#754 - A Phar::unlinkArchive example
  • Example#755 - A Phar::webPhar example
  • Example#756 - A PharData::addEmptyDir example
  • Example#757 - A PharData::addFile example
  • Example#758 - A PharData::addFromString example
  • Example#759 - A PharData::buildFromDirectory example
  • Example#760 - A PharData::buildFromIterator with SplFileInfo
  • Example#761 - A PharData::buildFromIterator with other iterators
  • Example#762 - A PharData::compress example
  • Example#763 - A PharData::compressFiles example
  • Example#764 - A PharData::__construct example
  • Example#765 - A PharData::convertToData example
  • Example#766 - A PharData::convertToExecutable example
  • Example#767 - A PharData::copy example
  • Example#768 - A PharData::decompress example
  • Example#769 - A PharData::decompressFiles example
  • Example#770 - A PharData::delMetaData example
  • Example#771 - A PharData::delete example
  • Example#772 - A PharData::extractTo example
  • Example#773 - A PharData::offsetSet example
  • Example#774 - A PharData::offsetUnset example
  • Example#775 - A Phar::setMetadata example
  • Example#776 - A PharFileInfo::chmod example
  • Example#777 - A PharFileInfo::compress example
  • Example#778 - A PharFileInfo::__construct example
  • Example#779 - A PharFileInfo::decompress example
  • Example#780 - A PharFileInfo::delMetaData example
  • Example#781 - A PharFileInfo::getCRC32 example
  • Example#782 - A PharFileInfo::getCompressedSize example
  • Example#783 - A PharFileInfo::getMetadata example
  • Example#784 - A PharFileInfo::getPharFlags example
  • Example#785 - A PharFileInfo::isCRCChecked example
  • Example#786 - A PharFileInfo::isCompressed example
  • Example#787 - A PharFileInfo::setMetadata example
  • Example#788 - Rar installation
  • Example#789 - On-the-fly decompression
  • Example#790 - RAR extension filesystem extraction example
  • Example#791 - Estilo orientado à objeto
  • Example#792 - Estilo procedural
  • Example#793 - Estilo orientado à objeto
  • Example#794 - Estilo procedural
  • Example#795 - Estilo orientado à objeto
  • Example#796 - Estilo procedural
  • Example#797 - Estilo orientado à objeto
  • Example#798 - Estilo procedural
  • Example#799 - Estilo orientado à objeto
  • Example#800 - Estilo procedural
  • Example#801 - Estilo orientado à objeto
  • Example#802 - Estilo procedural
  • Example#803 - Estilo orientado à objeto
  • Example#804 - Estilo procedural
  • Example#805 - Volume Callback
  • Example#806 - Estilo orientado à objeto
  • Example#807 - Estilo procedural
  • Example#808 - RarArchive::__toString example
  • Example#809 - RarEntry::extract example
  • Example#810 - How to extract all files in archive:
  • Example#811 - RarEntry::getAttr example
  • Example#812 - RarEntry::getHostOs example (version >= 2.0.0)
  • Example#813 - RarEntry::getHostOs example (version <= 1.0.0)
  • Example#814 - RarEntry::getMethod example
  • Example#815 - RarEntry::getName example
  • Example#816 - RarEntry::getPackedSize example
  • Example#817 - RarEntry::getStream example
  • Example#818 - RarEntry::getUnpackedSize example
  • Example#819 - RarEntry::getVersion example
  • Example#820 - RarException::isUsingExceptions example
  • Example#821 - RarException::setUsingExceptions example
  • Example#822 - Criando um arquivo Zip
  • Example#823 - Exibindo detalhes dos arquivos e listando-os
  • Example#824 - Zip stream wrapper, lendo um OpenOffice meta info
  • Example#825 - Exemplo de uso
  • Example#826 - Create a new directory in an archive
  • Example#827 - Open and add
  • Example#828 - Add an entry to a new archive
  • Example#829 - Add file to a directory inside an archive
  • Example#830 - ZipArchive::addGlob example
  • Example#831 - ZipArchive::addPattern example
  • Example#832 - Delete file from archive using its index
  • Example#833 - Deleting a file and directory from an archive, using names
  • Example#834 - Extract all entries
  • Example#835 - Extract two entries
  • Example#836 - Dump an archive comment
  • Example#837 - Dump an entry comment
  • Example#838 - Dump an entry comment
  • Example#839 - Extract all entries with Unix rights
  • Example#840 - Get the file contents
  • Example#841 - Get the file contents
  • Example#842 - Convert an image from a zip entry
  • Example#843 - ZipArchive::getNameIndex example
  • Example#844 - Get the entry contents with fread and store it
  • Example#845 - Same as the previous example but with fopen and the zip stream wrapper
  • Example#846 - Stream wrapper and image, can be used with the xml function as well
  • Example#847 - Create an archive and then use it with ZipArchive::locateName
  • Example#848 - Open and extract
  • Example#849 - Create an archive
  • Example#850 - Create an temporary archive
  • Example#851 - Archive a file
  • Example#852 - Archive a file
  • Example#853 - Rename one entry
  • Example#854 - Rename one entry
  • Example#855 - Open and replace
  • Example#856 - Create an archive and set a comment
  • Example#857 - Open an archive and set a comment for an entry
  • Example#858 - Open an archive and set a comment for an entry
  • Example#859 - Add files with different compression methods to an archive
  • Example#860 - Add files with different compression methods to an archive
  • Example#861 - Add file and set compression method
  • Example#862 - Archive and encrypt a file
  • Example#863 - Archive a file, with its Unix rights
  • Example#864 - Archive a file
  • Example#865 - Archive a file
  • Example#866 - Dump the stat info of an entry
  • Example#867 - Dump the stat info of an entry
  • Example#868 - Pequeno Exemplo da Zlib
  • Example#869 - gzclose example
  • Example#870 - Exemplo gzcompress
  • Example#871 - Exemplo gzdeflate
  • Example#872 - Criando um arquivo gzip
  • Example#873 - gzeof example
  • Example#874 - Exemplo gzfile
  • Example#875 - Exemplo gzgetc
  • Example#876 - gzgets example
  • Example#877 - Exemplo gzgetss
  • Example#878 - Exemplo gzinflate
  • Example#879 - Exemplo gzopen
  • Example#880 - Exemplo da gzread
  • Example#881 - Exemplo da gzseek
  • Example#882 - Exemplo da gzwrite
  • Example#883 - zlib_encode example
  • Example#884 - random_bytes example
  • Example#885 - random_int example
  • Example#886 - hash_algos example
  • Example#887 - hash_copy example
  • Example#888 - hash_equals example
  • Example#889 - Using hash_file
  • Example#890 - hash_final example
  • Example#891 - hash_hkdf example
  • Example#892 - hash_hmac_algos example
  • Example#893 - hash_hmac_file example
  • Example#894 - hash_hmac example
  • Example#895 - Incremental hashing example
  • Example#896 - hash_pbkdf2 example, basic usage
  • Example#897 - hash_update_stream example
  • Example#898 - A hash example
  • Example#899 - Calculate pre PHP-5.4 tiger hashes with PHP-5.4 and higher
  • Example#900 - Encrypt an input value with AES with a 256-bit key under 2.4.x and higher in CBC mode
  • Example#901 - mcrypt_create_iv Example
  • Example#902 - mcrypt_enc_get_algorithms_name example
  • Example#903 - mcrypt_enc_get_modes_name example
  • Example#904 - mcrypt_enc_get_supported_key_sizes example
  • Example#905 - mcrypt_encrypt Example
  • Example#906 - mcrypt_get_block_size example
  • Example#907 - mcrypt_get_cipher_name Example
  • Example#908 - mcrypt_get_iv_size Example
  • Example#909 - mcrypt_get_key_size Example
  • Example#910 - mcrypt_list_algorithms Example
  • Example#911 - mcrypt_list_modes Example
  • Example#912 - mcrypt_module_open Examples
  • Example#913 - Using mcrypt_module_open in encryption
  • Example#914 - mcrypt_module_self_test example
  • Example#915 - mdecrypt_generic Example
  • Example#916 - Calcula o MD5 digest e hmac e imprimi como hex
  • Example#917 - Listando todas as hashes
  • Example#918 - mhash_get_block_size Example
  • Example#919 - Exemplo do mhash_get_hash_name
  • Example#920 - openssl_cipher_iv_length example
  • Example#921 - openssl_csr_export_to_file() example
  • Example#922 - openssl_csr_export() example
  • Example#923 - openssl_csr_get_public_key() example
  • Example#924 - openssl_csr_get_subject() example
  • Example#925 - Creating a self-signed certificate
  • Example#926 - Creating a self-signed ECC certificate (as of PHP 7.1.0)
  • Example#927 - openssl_csr_sign example - signing a CSR (how to implement your own CA)
  • Example#928 - Compute a shared secret
  • Example#929 - Generate a DH public/private keypair in php
  • Example#930 - AES Authenticated Encryption in GCM mode example for PHP 7.1+
  • Example#931 - AES Authenticated Encryption example for PHP 5.6+
  • Example#932 - openssl_error_string example
  • Example#933 - openssl_get_cert_locations example
  • Example#934 - openssl_get_cipher_methods example
  • Example#935 - openssl_get_curve_names example
  • Example#936 - openssl_get_md_methods example
  • Example#937 - openssl_open example
  • Example#938 - openssl_pbkdf2() example
  • Example#939 - openssl_pkcs12_read example
  • Example#940 - openssl_pkcs7_decrypt example
  • Example#941 - openssl_pkcs7_encrypt example
  • Example#942 - openssl_pkcs7_sign example
  • Example#943 - openssl_pkey_derive example
  • Example#944 - Obtain the public key from a private key
  • Example#945 - openssl_random_pseudo_bytes example
  • Example#946 - openssl_seal example
  • Example#947 - openssl_sign example
  • Example#948 - openssl_sign example
  • Example#949 - openssl_spki_export_challenge example
  • Example#950 - openssl_spki_export_challenge example from <keygen>
  • Example#951 - openssl_spki_export example
  • Example#952 - openssl_spki_export example from <keygen>
  • Example#953 - openssl_spki_new example
  • Example#954 - openssl_spki_verify example
  • Example#955 - openssl_spki_verify example from <keygen>
  • Example#956 - openssl_verify example
  • Example#957 - openssl_verify example
  • Example#958 - openssl_x509_verify example
  • Example#959 - Exemplo de password_hash
  • Example#960 - Exemplo de configuração do custo de password_hash manualmente
  • Example#961 - Exemplo de configuração do salt de password_hash manualmente
  • Example#962 - Exemplo de busca de um bom custo para password_hash
  • Example#963 - Exemplo do password_hash usando Argon2
  • Example#964 - Utilização de password_needs_rehash
  • Example#965 - Exemplo de password_verify
  • Example#966 - sodium_crypto_kx_keypair usage
  • Example#967 - password_hash example
  • Example#968 - password_hash example
  • Example#969 - DBA example
  • Example#970 - Traversing a database
  • Example#971 - dba_handlers Example
  • Example#972 - odbc_execute and odbc_prepare example
  • Example#973 - Exemplo odbc_fetch_into pré 4.0.6
  • Example#974 - Exemplo odbc_fetch_into 4.0.6
  • Example#975 - Exemplo odbc_fetch_into 4.2.0
  • Example#976 - odbc_next_result
  • Example#977 - odbc_execute and odbc_prepare example
  • Example#978 - Exemplos ODBC Setoption
  • Example#979 - using PDO::ATTR_DRIVER_NAME
  • Example#980 - Connecting to MySQL
  • Example#981 - Handling connection errors
  • Example#982 - Closing a connection
  • Example#983 - Persistent connections
  • Example#984 - Executing a batch in a transaction
  • Example#985 - Repeated inserts using prepared statements
  • Example#986 - Repeated inserts using prepared statements
  • Example#987 - Fetching data using prepared statements
  • Example#988 - Calling a stored procedure with an output parameter
  • Example#989 - Calling a stored procedure with an input/output parameter
  • Example#990 - Invalid use of placeholder
  • Example#991 - Create a PDO instance and set the error mode
  • Example#992 - Create a PDO instance and set the error mode from the constructor
  • Example#993 - Displaying an image from a database
  • Example#994 - Inserting an image into a database
  • Example#995 - Inserting an image into a database: Oracle
  • Example#996 - Reverter uma transação
  • Example#997 - Enviando uma transação básica
  • Example#998 - Enviando uma transação DDL
  • Example#999 - Create a PDO instance via driver invocation
  • Example#1000 - Create a PDO instance via URI invocation
  • Example#1001 - Create a PDO instance using an alias
  • Example#1002 - Retrieving an SQLSTATE code
  • Example#1003 - Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database
  • Example#1004 - Emitindo uma instrução DELETE
  • Example#1005 - Recuperando atributos de uma conexão com o banco de dados
  • Example#1006 - Exemplo de PDO::getAvailableDrivers
  • Example#1007 - SQL statement template with named parameters
  • Example#1008 - SQL statement template with question mark parameters
  • Example#1009 - Demonstrate PDO::query
  • Example#1010 - Quoting a normal string
  • Example#1011 - Quoting a dangerous string
  • Example#1012 - Quoting a complex string
  • Example#1013 - Roll back a transaction
  • Example#1014 - Binding result set output to PHP variables
  • Example#1015 - Execute a prepared statement with named placeholders
  • Example#1016 - Execute a prepared statement with question mark placeholders
  • Example#1017 - Call a stored procedure with an INOUT parameter
  • Example#1018 - Execute a prepared statement with named placeholders
  • Example#1019 - Execute a prepared statement with question mark placeholders
  • Example#1020 - A PDOStatement::closeCursor example
  • Example#1021 - Counting columns
  • Example#1022 - PDOStatement::debugDumpParams example with named parameters
  • Example#1023 - PDOStatement::debugDumpParams example with unnamed parameters
  • Example#1024 - Retrieving an SQLSTATE code
  • Example#1025 - Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database
  • Example#1026 - Execute a prepared statement with a bound variable and value
  • Example#1027 - Execute a prepared statement with an array of insert values (named parameters)
  • Example#1028 - Execute a prepared statement with an array of insert values (placeholders)
  • Example#1029 - Execute a prepared statement with question mark placeholders
  • Example#1030 - Execute a prepared statement using array for IN clause
  • Example#1031 - Fetching rows using different fetch styles
  • Example#1032 - Fetching rows with a scrollable cursor
  • Example#1033 - Construction order
  • Example#1034 - Fetch all remaining rows in a result set
  • Example#1035 - Fetching all values of a single column from a result set
  • Example#1036 - Grouping all values by a single column
  • Example#1037 - Instantiating a class for each result
  • Example#1038 - Calling a function for each result
  • Example#1039 - Return first column of the next row
  • Example#1040 - Retrieving column metadata
  • Example#1041 - Fetching multiple rowsets returned from a stored procedure
  • Example#1042 - Return the number of deleted rows
  • Example#1043 - Counting rows returned by a SELECT statement
  • Example#1044 - Definindo um modo de carga
  • Example#1045 - Insert LOBs in CUBRID PDO
  • Example#1046 - Fetch LOBs in CUBRID PDO
  • Example#1047 - Insert set in CUBRID PDO with default data type.
  • Example#1048 - Specify data type when insert set in CUBRID PDO
  • Example#1049 - PDO_CUBRID DSN examples
  • Example#1050 - A PDO::cubrid_schema example
  • Example#1051 - PDO_DBLIB DSN examples
  • Example#1052 - PDO_FIREBIRD DSN example with path
  • Example#1053 - PDO_FIREBIRD DSN example with port and path
  • Example#1054 - PDO_FIREBIRD DSN example with localhost and path to employee.fdb on Debian system
  • Example#1055 - PDO_FIREBIRD DSN to connect to a dialect 1 database
  • Example#1056 - PDO_IBM DSN example using db2cli.ini
  • Example#1057 - PDO_IBM DSN example using a connection string
  • Example#1058 - PDO_INFORMIX DSN example using odbc.ini
  • Example#1059 - PDO_INFORMIX DSN example using a connection string
  • Example#1060 - Forçando queries a serem bufferizadas no mysql
  • Example#1061 - Configurando o character set como UTF-8 antes do PHP 5.3.6
  • Example#1062 - PDO_MYSQL DSN examples
  • Example#1063 - PDO_SQLSRV DSN examples
  • Example#1064 - PDO_OCI DSN examples
  • Example#1065 - PDO_ODBC DSN example (ODBC driver manager)
  • Example#1066 - PDO_ODBC DSN example (IBM DB2 uncataloged connection)
  • Example#1067 - PDO_ODBC DSN example (Microsoft Access uncataloged connection)
  • Example#1068 - PDO_PGSQL DSN examples
  • Example#1069 - A PDO::pgsqlLOBCreate example
  • Example#1070 - A PDO::pgsqlLOBOpen example
  • Example#1071 - A PDO::pgsqlLOBUnlink example
  • Example#1072 - PDO_SQLITE DSN examples
  • Example#1073 - max_length aggregation function example
  • Example#1074 - PDO::sqliteCreateCollation example
  • Example#1075 - PDO::sqliteCreateFunction example
  • Example#1076 - Example of Data Retrieval
  • Example#1077 - Example of Data Insertion
  • Example#1078 - cubrid_bind example
  • Example#1079 - cubrid_bind BLOB/CLOB example
  • Example#1080 - cubrid_bind BLOB/CLOB example
  • Example#1081 - cubrid_close_prepare example
  • Example#1082 - cubrid_close_request example
  • Example#1083 - cubrid_col_get example
  • Example#1084 - cubrid_col_size example
  • Example#1085 - cubrid_column_names example
  • Example#1086 - cubrid_column_types example
  • Example#1087 - cubrid_commit example
  • Example#1088 - cubrid_connect_with_url url without properties example
  • Example#1089 - cubrid_connect_with_url url with properties example
  • Example#1090 - cubrid_connect example
  • Example#1091 - cubrid_current_oid example
  • Example#1092 - cubrid_disconnect example
  • Example#1093 - cubrid_drop example
  • Example#1094 - cubrid_error_code_facility example
  • Example#1095 - cubrid_error_code example
  • Example#1096 - cubrid_error_msg example
  • Example#1097 - cubrid_execute example
  • Example#1098 - cubrid_fetch example
  • Example#1099 - cubrid_free_result example
  • Example#1100 - cubrid_get_charset example
  • Example#1101 - cubrid_get_class_name example
  • Example#1102 - cubrid_get_client_info example
  • Example#1103 - cubrid_get_db_parameter example
  • Example#1104 - cubrid_get_query_timeout example
  • Example#1105 - cubrid_get_server_info example
  • Example#1106 - cubrid_get example
  • Example#1107 - cubrid_insert_id example
  • Example#1108 - cubrid_is_instance example
  • Example#1109 - cubrid_lob_close example
  • Example#1110 - cubrid_lob_export example
  • Example#1111 - cubrid_lob_get example
  • Example#1112 - cubrid_lob_send example
  • Example#1113 - cubrid_lob_size example
  • Example#1114 - cubrid_lob2_bind example
  • Example#1115 - cubrid_lob2_export example
  • Example#1116 - cubrid_lob2_export example
  • Example#1117 - cubrid_lob2_read example 1
  • Example#1118 - cubrid_lob2_read example 2
  • Example#1119 - cubrid_lob2_seek64 example
  • Example#1120 - cubrid_lob2_seek example
  • Example#1121 - cubrid_lob2_write example 1
  • Example#1122 - cubrid_lob2_write example 2
  • Example#1123 - cubrid_lock_read example
  • Example#1124 - cubrid_lock_write example
  • Example#1125 - cubrid_move_cursor example
  • Example#1126 - cubrid_next_result example
  • Example#1127 - cubrid_num_cols example
  • Example#1128 - cubrid_num_rows example
  • Example#1129 - cubrid_pconnect_with_url url without properties example
  • Example#1130 - cubrid_pconnect_with_url url with properties example
  • Example#1131 - cubrid_connect example
  • Example#1132 - cubrid_prepare example
  • Example#1133 - cubrid_put example
  • Example#1134 - cubrid_rollback example
  • Example#1135 - cubrid_schema example
  • Example#1136 - cubrid_seq_drop example
  • Example#1137 - cubrid_seq_insert example
  • Example#1138 - cubrid_seq_put example
  • Example#1139 - cubrid_set_add example
  • Example#1140 - cubrid_get_db_parameter example
  • Example#1141 - cubrid_set_drop example
  • Example#1142 - cubrid_version example
  • Example#1143 - cubrid_affected_rows example
  • Example#1144 - cubrid_client_encoding example
  • Example#1145 - cubrid_close example
  • Example#1146 - cubrid_data_seek example
  • Example#1147 - cubrid_db_name example
  • Example#1148 - cubrid_errno example
  • Example#1149 - cubrid_error example
  • Example#1150 - cubrid_fetch_array example
  • Example#1151 - cubrid_fetch_assoc example
  • Example#1152 - cubrid_fetch_field example
  • Example#1153 - cubrid_fetch_lengths example
  • Example#1154 - cubrid_fetch_object example
  • Example#1155 - cubrid_fetch_row example
  • Example#1156 - cubrid_field_flags example
  • Example#1157 - cubrid_field_len example
  • Example#1158 - cubrid_field_name example
  • Example#1159 - cubrid_field_seek example
  • Example#1160 - cubrid_field_table example
  • Example#1161 - cubrid_field_type example
  • Example#1162 - cubrid_list_dbs example
  • Example#1163 - cubrid_num_fields example
  • Example#1164 - cubrid_ping example
  • Example#1165 - Invalid Query
  • Example#1166 - Valid Query
  • Example#1167 - cubrid_real_escape_string example
  • Example#1168 - cubrid_result example
  • Example#1169 - cubrid_unbuffered_query example
  • Example#1170 - cubrid_load_from_glo example
  • Example#1171 - cubrid_new_glo example
  • Example#1172 - cubrid_save_to_glo example
  • Example#1173 - cubrid_send_glo example
  • Example#1174 - Inserindo um registro num banco de dados dBase
  • Example#1175 - Fechando um banco de dados dBase
  • Example#1176 - Criando um banco de dados dBase
  • Example#1177 - Mostrando informações do banco de dados de um arquivo dBase
  • Example#1178 - Listando todos os membros registrados no banco de dados
  • Example#1179 - Exemplo dbase_numfields
  • Example#1180 - Lendo todos os registros de um banco de dados
  • Example#1181 - Abrindo um banco de dados dBase
  • Example#1182 - Limpando um banco de dados dBase
  • Example#1183 - Atualizando um registro no banco de dados
  • Example#1184 - ibase_backup example
  • Example#1185 - ibase_backup example with arguments
  • Example#1186 - Exemplo da ibase_blob_get
  • Example#1187 - Exemplo da ibase_blob_import
  • Example#1188 - Exemplo ibase_connect
  • Example#1189 - Exemplo da ibase_execute
  • Example#1190 - ibase_fetch_object example
  • Example#1191 - Exemplo da ibase_field_info
  • Example#1192 - Exemplo da ibase_name_result
  • Example#1193 - Exemplo da ibase_num_fields
  • Example#1194 - Exemplo da ibase_query
  • Example#1195 - ibase_restore example
  • Example#1196 - ibase_restore example with arguments
  • Example#1197 - ibase_service_attach example
  • Example#1198 - ibase_service_attach example
  • Example#1199 - ibase_service_attach example using hostname/port syntax
  • Example#1200 - ibase_service_detach example
  • Example#1201 - Exemplo da ibase_set_event_handler
  • Example#1202 - fbsql_close example
  • Example#1203 - fbsql_connect example
  • Example#1204 - fbsql_create_blob example
  • Example#1205 - fbsql_create_clob example
  • Example#1206 - fbsql_create_db example
  • Example#1207 - fbsql_data_seek example
  • Example#1208 - fbsql_create_clob example
  • Example#1209 - fbsql_errno Example
  • Example#1210 - fbsql_error Example
  • Example#1211 - fbsql_fetch_array example
  • Example#1212 - fbsql_fetch_assoc example
  • Example#1213 - fbsql_fetch_field example
  • Example#1214 - fbsql_fetch_object example
  • Example#1215 - fbsql_field_name example
  • Example#1216 - fbsql_field_type example
  • Example#1217 - fbsql_list_dbs example
  • Example#1218 - fbsql_list_fields example
  • Example#1219 - fbsql_next_result example
  • Example#1220 - fbsql_num_rows example
  • Example#1221 - fbsql_query example
  • Example#1222 - fbsql_query example
  • Example#1223 - fbsql_read_blob example
  • Example#1224 - fbsql_read_clob example
  • Example#1225 - fbsql_table_name example
  • Example#1226 - Retrieving the AUTOCOMMIT value for a connection
  • Example#1227 - Setting the AUTOCOMMIT value for a connection
  • Example#1228 - Binding PHP variables to a prepared statement
  • Example#1229 - Calling stored procedures with IN and OUT parameters
  • Example#1230 - Inserting a binary large object (BLOB) directly from a file
  • Example#1231 - A db2_client_info example
  • Example#1232 - Closing a connection
  • Example#1233 - Retrieving an SQLSTATE value for a failed connection attempt
  • Example#1234 - Retrieving the error message returned by a failed connection attempt
  • Example#1235 - Creating a cataloged connection
  • Example#1236 - Creating an uncataloged connection
  • Example#1237 - Creating a connection with autocommit off by default
  • Example#1238 - i5/OS best performance
  • Example#1239 - Using trusted context
  • Example#1240 - A db2_escape_string example
  • Example#1241 - Creating a table with db2_exec
  • Example#1242 - Executing a SELECT statement with a scrollable cursor
  • Example#1243 - Returning XML data as an SQL ResultSet
  • Example#1244 - Performing a "JOIN" with XML data
  • Example#1245 - Returning SQL data as part of a larger XML document
  • Example#1246 - Preparing and executing an SQL statement with parameter markers
  • Example#1247 - Calling a stored procedure with an OUT parameter
  • Example#1248 - Returning XML data as an SQL ResultSet
  • Example#1249 - Performing a "JOIN" with XML data
  • Example#1250 - Returning SQL data as part of a larger XML document
  • Example#1251 - Iterating through a forward-only cursor
  • Example#1252 - Retrieving specific rows with db2_fetch_array from a scrollable cursor
  • Example#1253 - Iterating through a forward-only cursor
  • Example#1254 - Retrieving specific rows with db2_fetch_assoc from a scrollable cursor
  • Example#1255 - Iterating through a forward-only cursor
  • Example#1256 - Retrieving specific rows with db2_fetch_both from a scrollable cursor
  • Example#1257 - A db2_fetch_object example
  • Example#1258 - Iterating through a result set
  • Example#1259 - i5/OS recommended alternatives to db2_fetch_row/db2_result
  • Example#1260 - Setting and retrieving parameters through a connection resource
  • Example#1261 - A db2_last_insert_id example
  • Example#1262 - Iterating through different types of data
  • Example#1263 - Calling a stored procedure that returns multiple result sets
  • Example#1264 - Retrieving the number of fields in a result set
  • Example#1265 - Closing a persistent connection
  • Example#1266 - A db2_pconnect example
  • Example#1267 - Using trusted context
  • Example#1268 - Preparing and executing an SQL statement with parameter markers
  • Example#1269 - A db2_result example
  • Example#1270 - Rolling back a DELETE statement
  • Example#1271 - A db2_server_info example
  • Example#1272 - Setting one parameter with a connection resource
  • Example#1273 - Setting multiple parameters with a connection resource
  • Example#1274 - Setting multiple parameters with an invalid key
  • Example#1275 - Setting multiple parameters with an invalid value
  • Example#1276 - Setting multiple parameters with a connection resource and the wrong type
  • Example#1277 - Setting multiple parameters with the wrong resource
  • Example#1278 - Putting it all together
  • Example#1279 - i5/OS cursors are read-only
  • Example#1280 - Example usage of PassEnv for Ingres
  • Example#1281 - Simple Ingres Example
  • Example#1282 - ingres_charset - Get the installation character set
  • Example#1283 - Open a connection to an Ingres database
  • Example#1284 - Get cursor name for a query resource
  • Example#1285 - Get the last Ingres error number generated
  • Example#1286 - Get a message for the last error generated
  • Example#1287 - Get the last SQLSTATE error code generated
  • Example#1288 - Escape special characters for use in a query
  • Example#1289 - Fetch a row of result into an array
  • Example#1290 - Fetch a row into an associative array
  • Example#1291 - Fetch a row into an object
  • Example#1292 - Get the return value from a procedure call
  • Example#1293 - Fetch a row of result into an enumerated array
  • Example#1294 - Free a result resource
  • Example#1295 - Send a simple select
  • Example#1296 - Passing query parameters to ingres_query
  • Example#1297 - Inserting a BLOB with parameter types
  • Example#1298 - Position the cursor on the 3rd row
  • Example#1299 - Set date_format to ISO4
  • Example#1300 - Set timezone to HONG-KONG
  • Example#1301 - Issue a simple un-buffered select
  • Example#1302 - Passing query parameters to ingres_unbuffered_query
  • Example#1303 - Inserting a BLOB with parameter types
  • Example#1304 -
  • Example#1305 -
  • Example#1306 -
  • Example#1307 -
  • Example#1308 -
  • Example#1309 -
  • Example#1310 -
  • Example#1311 -
  • Example#1312 -
  • Example#1313 -
  • Example#1314 -
  • Example#1315 -
  • Example#1316 -
  • Example#1317 -
  • Example#1318 -
  • Example#1319 - Connection URI read preferences with query string syntax
  • Example#1320 - Setting read preferences with array syntax for tag sets
  • Example#1321 - Passing a WriteConcern to a write operation
  • Example#1322 - Connection string WriteConcerns
  • Example#1323 - MongoDB::setWriteConcern and MongoCollection::setWriteConcern
  • Example#1324 - Unacknowledged WriteConcern, followed with Acknowledged Write
  • Example#1325 - Acknowledged Writes
  • Example#1326 - Majority Acknowledged Write
  • Example#1327 - Acknowledged and Journaled Write
  • Example#1328 - Connect to MongoDB Instance with SSL Encryption
  • Example#1329 - Connect to MongoDB Instance with SSL Encryption, verifying it is who we think it is
  • Example#1330 - Connect to MongoDB Instance that Requires Client Certificates
  • Example#1331 - Authenticating with X.509 certificates
  • Example#1332 - Authenticating against the "admin" database
  • Example#1333 - Authenticating against normal databases
  • Example#1334 - ReplicaSet seed list
  • Example#1335 - Wrong replica set name duplication
  • Example#1336 - Correct use of two replica set names
  • Example#1337 -
  • Example#1338 -
  • Example#1339 -
  • Example#1340 -
  • Example#1341 -
  • Example#1342 -
  • Example#1343 - Inheriting read preferences from the database level down to the cursor
  • Example#1344 -
  • Example#1345 -
  • Example#1346 -
  • Example#1347 -
  • Example#1348 -
  • Example#1349 -
  • Example#1350 -
  • Example#1351 - MongoClient basic usage
  • Example#1352 - MongoClient::close example
  • Example#1353 - MongoClient::__construct replica set example
  • Example#1354 - Connecting to a domain socket
  • Example#1355 - MongoClient::__construct authentication example
  • Example#1356 - MongoClient::__construct read preference example
  • Example#1357 - MongoClient::__construct options example
  • Example#1358 - MongoClient::__construct read preference example
  • Example#1359 - MongoClient::getConnections example
  • Example#1360 - MongoClient::getReadPreference return value example
  • Example#1361 - MongoClient::getWriteConcern return value example
  • Example#1362 - MongoClient::killCursor example
  • Example#1363 - MongoClient::listDBs example
  • Example#1364 - MongoClient::selectCollection example
  • Example#1365 - MongoClient::setReadPreference tag set array syntax example
  • Example#1366 - MongoClient::setWriteConcern example
  • Example#1367 - Selecting a database
  • Example#1368 - MongoDB::command "distinct" example
  • Example#1369 - MongoDB::command "distinct" example
  • Example#1370 - MongoDB::command MapReduce example
  • Example#1371 - MongoDB::command "geoNear" example
  • Example#1372 - MongoDB::createCollection capped collection example
  • Example#1373 - MongoDB::createDBRef example
  • Example#1374 - MongoDB::createDBRef example
  • Example#1375 - MongoDB::drop example
  • Example#1376 - Simple MongoDB::execute example
  • Example#1377 - Parameter MongoDB::execute example
  • Example#1378 - Scope example
  • Example#1379 - MongoDB::getCollectionInfo example
  • Example#1380 - MongoDB::getCollectionNames example
  • Example#1381 - MongoDB::getDBRef example
  • Example#1382 - MongoDB::getGridFS example
  • Example#1383 - MongoDB::getReadPreference return value example
  • Example#1384 - MongoDB::getWriteConcern return value example
  • Example#1385 - MongoDB::lastError null error example
  • Example#1386 - MongoDB::lastError duplicate key example
  • Example#1387 - MongoDB::listCollections example
  • Example#1388 - MongoDB::repair example
  • Example#1389 - MongoDB::setReadPreference tag set array syntax example
  • Example#1390 - MongoDB::setWriteConcern example
  • Example#1391 - MongoCollection::aggregate example
  • Example#1392 - MongoCollection::aggregate example
  • Example#1393 - MongoCollection::aggregate example
  • Example#1394 - MongoCollection::aggregate with command options
  • Example#1395 - MongoCollection::aggregateCursor example
  • Example#1396 - MongoCollection::aggregateCursor example with different initial batch size
  • Example#1397 - MongoCollection::batchInsert example
  • Example#1398 - MongoCollection::batchInsert example with ignoring errors
  • Example#1399 - MongoCollection::count example
  • Example#1400 - MongoCollection::createDBRef example
  • Example#1401 - MongoCollection::createIndex example
  • Example#1402 - Geospatial Indexing
  • Example#1403 - Drop duplicates example
  • Example#1404 - MongoCollection::deleteIndex example
  • Example#1405 - MongoCollection::deleteIndexes example
  • Example#1406 - MongoCollection::distinct example
  • Example#1407 - MongoCollection::distinct example on a embedded document
  • Example#1408 - MongoCollection::drop example
  • Example#1409 - MongoCollection::ensureIndex example
  • Example#1410 - Geospatial Indexing
  • Example#1411 - Drop duplicates example
  • Example#1412 - MongoCollection::find example
  • Example#1413 - MongoCollection::find example
  • Example#1414 - MongoCollection::find example using $where
  • Example#1415 - MongoCollection::find example using $in
  • Example#1416 - Getting results as an array
  • Example#1417 - MongoCollection::findAndModify example
  • Example#1418 - MongoCollection::findAndModify error handling
  • Example#1419 - MongoCollection::findOne document by its id.
  • Example#1420 - MongoCollection::findOne document by some condition.
  • Example#1421 - MongoCollection::getDBRef example
  • Example#1422 - MongoCollection::getIndexInfo example
  • Example#1423 - MongoCollection::getName example
  • Example#1424 - MongoCollection::getReadPreference return value example
  • Example#1425 - MongoCollection::getWriteConcern return value example
  • Example#1426 - MongoCollection::group example
  • Example#1427 - MongoCollection::group example
  • Example#1428 - Passing a keys function
  • Example#1429 - MongoCollection::insert _id example
  • Example#1430 - MongoCollection::insert acknowledged write example
  • Example#1431 - MongoCollection::parallelCollectionScan example
  • Example#1432 - MongoCollection::remove with justOne example
  • Example#1433 - MongoCollection::save example
  • Example#1434 - MongoCollection::setReadPreference tag set array syntax example
  • Example#1435 - MongoDB::setWriteConcern example
  • Example#1436 - MongoCollection::toIndexString example
  • Example#1437 - MongoCollection::__toString example
  • Example#1438 - MongoCollection::update
  • Example#1439 - MongoCollection::update upsert examples
  • Example#1440 - MongoCollection::update multiple example
  • Example#1441 - MongoCursor basic usage
  • Example#1442 - Iterating over MongoCursor
  • Example#1443 - Adding options to MongoCursor
  • Example#1444 - Adding a comment with MongoCursor::addOption example
  • Example#1445 - MongoCursor::addOption example
  • Example#1446 - MongoCursor::awaitData example
  • Example#1447 - MongoCursor::batchSize and combinations with MongoCursor::limit
  • Example#1448 - MongoCursor::count example
  • Example#1449 - MongoCursor::doQuery example
  • Example#1450 - MongoCursor::explain example
  • Example#1451 - MongoCursor::getReadPreference return value example
  • Example#1452 - MongoCursor::info example
  • Example#1453 - MongoCursor::maxTimeMS example
  • Example#1454 - MongoCursor::setFlag example
  • Example#1455 - MongoCursor::setReadPreference tag set array syntax example
  • Example#1456 - MongoCursor::slaveOkay example
  • Example#1457 - MongoCursor::sort example
  • Example#1458 - MongoCursor::tailable example
  • Example#1459 - MongoCursor::timeout example
  • Example#1460 - Adding options to MongoCommandCursor
  • Example#1461 - MongoCommandCursor::batchSize
  • Example#1462 - MongoCommandCursor example
  • Example#1463 - MongoCommandCursor::createFromDocument
  • Example#1464 - MongoCommandCursor::getReadPreference return value example
  • Example#1465 - MongoCommandCursor::info example
  • Example#1466 - MongoCommandCursor::rewind
  • Example#1467 - MongoCommandCursor::setReadPreference tag set array syntax example
  • Example#1468 - MongoCommandCursor::timeout example
  • Example#1469 - MongoId::__construct example
  • Example#1470 - Parameter example
  • Example#1471 - MongoId::__toString example
  • Example#1472 - MongoCode::__construct example
  • Example#1473 - Using MongoCode with $where
  • Example#1474 - MongoCode::__toString example
  • Example#1475 - Storing dates with MongoDate
  • Example#1476 - MongoDate::__construct example
  • Example#1477 - MongoDate::toDateTime example
  • Example#1478 - Regular expression pattern
  • Example#1479 - MongoRegex::__construct example
  • Example#1480 - MongoRegex::__toString example
  • Example#1481 -
  • Example#1482 - Linking documents
  • Example#1483 - Creating MongoDBRef links
  • Example#1484 - MongoDBRef::create example
  • Example#1485 - MongoCollection::createDBRef example
  • Example#1486 - MongoGridFS::findOne example
  • Example#1487 - MongoGridFS::storeBytes with additional metadata
  • Example#1488 - MongoGridFS::storeFile with additional metadata
  • Example#1489 - MongoGridFS::storeUpload HTML form example
  • Example#1490 - MongoGridFSFile::getBytes example
  • Example#1491 - MongoGridFSFile::getResource example
  • Example#1492 - MongoGridFSFile::write example
  • Example#1493 - MongoWriteBatch example
  • Example#1494 - MongoWriteBatch::add example
  • Example#1495 - MongoWriteBatch::add example
  • Example#1496 - MongoWriteBatch::add example
  • Example#1497 - MongoWriteBatch::add example
  • Example#1498 - MongoWriteBatch::add example
  • Example#1499 - MongoWriteBatch::add example
  • Example#1500 - MongoLog::setCallback example
  • Example#1501 - Changing pool size
  • Example#1502 - Mongo::setPoolSize example
  • Example#1503 - Changing pool size
  • Example#1504 - Mongo::setPoolSize example
  • Example#1505 - MongoResultException::getDocument example
  • Example#1506 - Catching MongoDuplicateKeyException
  • Example#1507 - Catching MongoProtocolException
  • Example#1508 - MongoDB\Driver\Manager::__construct basic example
  • Example#1509 - MongoDB\Driver\Manager::__construct basic examples
  • Example#1510 - MongoDB\Driver\Manager::executeBulkWrite example
  • Example#1511 - MongoDB\Driver\Manager::executeCommand with a command returning a single result document
  • Example#1512 - MongoDB\Driver\Manager::executeCommand with a command returning a cursor
  • Example#1513 - Limiting execution time for a command
  • Example#1514 - MongoDB\Driver\Manager::executeQuery example
  • Example#1515 - Limiting execution time for a query
  • Example#1516 - MongoDB\Driver\Manager::getReadConcern example
  • Example#1517 - MongoDB\Driver\Manager::getReadPreference example
  • Example#1518 - MongoDB\Driver\Manager::getServers example
  • Example#1519 - MongoDB\Driver\Manager::getWriteConcern example
  • Example#1520 - Composing MongoDB\Driver\Command to provide a helper to create collections
  • Example#1521 - MongoDB\Driver\Command::__construct example
  • Example#1522 - MongoDB\Driver\Command::__construct example
  • Example#1523 - MongoDB\Driver\Query::__construct example
  • Example#1524 - Mixed write operations are grouped by type
  • Example#1525 - Ordered write operations causing an error
  • Example#1526 - MongoDB\Driver\BulkWrite::__construct example
  • Example#1527 - MongoDB\Driver\BulkWrite::count example
  • Example#1528 - MongoDB\Driver\BulkWrite::delete example
  • Example#1529 - MongoDB\Driver\BulkWrite::insert example
  • Example#1530 - MongoDB\Driver\BulkWrite::update example
  • Example#1531 - MongoDB\Driver\WriteConcern::bsonSerialize with majority write concern
  • Example#1532 - MongoDB\Driver\WriteConcern::bsonSerialize with wtimeout and journal
  • Example#1533 - MongoDB\Driver\WriteConcern::__construct example
  • Example#1534 - MongoDB\Driver\WriteConcern::getJournal example
  • Example#1535 - MongoDB\Driver\WriteConcern::getW example
  • Example#1536 - MongoDB\Driver\WriteConcern::getWtimeout example
  • Example#1537 - MongoDB\Driver\WriteConcern::isDefault example
  • Example#1538 - MongoDB\Driver\ReadPreference::bsonSerialize with primary read preference
  • Example#1539 - MongoDB\Driver\ReadPreference::bsonSerialize with secondary read preference and tag sets
  • Example#1540 - MongoDB\Driver\ReadPreference::bsonSerialize with secondary read preference and max staleness
  • Example#1541 - MongoDB\Driver\ReadPreference::__construct example
  • Example#1542 - MongoDB\Driver\ReadPreference::getMaxStalenessSeconds example
  • Example#1543 - MongoDB\Driver\ReadPreference::getMode example
  • Example#1544 - MongoDB\Driver\ReadPreference::getModeString example
  • Example#1545 - MongoDB\Driver\ReadPreference::getTagSets example
  • Example#1546 - MongoDB\Driver\ReadConcern::bsonSerialize with empty read concern
  • Example#1547 - MongoDB\Driver\ReadConcern::bsonSerialize with local read concern
  • Example#1548 - MongoDB\Driver\ReadConcern::__construct example
  • Example#1549 - MongoDB\Driver\ReadConcern::getLevel example
  • Example#1550 - MongoDB\Driver\ReadConcern::isDefault example
  • Example#1551 - Reading a result set
  • Example#1552 - Reading a result set for a tailable cursor
  • Example#1553 - MongoDB\Driver\Cursor::getId example
  • Example#1554 - MongoDB\Driver\Cursor::getServer example
  • Example#1555 - MongoDB\Driver\Cursor::isDead example
  • Example#1556 - MongoDB\Driver\Cursor::setTypeMap example
  • Example#1557 - MongoDB\Driver\Cursor::toArray example
  • Example#1558 - MongoDB\Driver\CursorId::__toString example
  • Example#1559 - MongoDB\Driver\Server::getHost example
  • Example#1560 - MongoDB\Driver\Server::getInfo example
  • Example#1561 - MongoDB\Driver\Server::getLatency example
  • Example#1562 - MongoDB\Driver\Server::getPort example
  • Example#1563 - MongoDB\Driver\WriteConcernError::getCode example
  • Example#1564 - MongoDB\Driver\WriteConcernError::getInfo example
  • Example#1565 - MongoDB\Driver\WriteConcernError::getMessage example
  • Example#1566 - MongoDB\Driver\WriteError::getCode example
  • Example#1567 - MongoDB\Driver\WriteError::getIndex example
  • Example#1568 - MongoDB\Driver\WriteError::getMessage example
  • Example#1569 - MongoDB\Driver\WriteResult::getDeletedCount example
  • Example#1570 - MongoDB\Driver\WriteResult::getInsertedCount example
  • Example#1571 - MongoDB\Driver\WriteResult::getMatchedCount example
  • Example#1572 - MongoDB\Driver\WriteResult::getModifiedCount example
  • Example#1573 - MongoDB\Driver\WriteResult::getServer example
  • Example#1574 - MongoDB\Driver\WriteResult::getUpsertedCount example
  • Example#1575 - MongoDB\Driver\WriteResult::getUpsertedIds example
  • Example#1576 - MongoDB\Driver\WriteResult::getWriteConcernError example
  • Example#1577 - MongoDB\Driver\WriteResult::getWriteErrors with a single error
  • Example#1578 - MongoDB\Driver\WriteResult::getWriteErrors with multiple errors
  • Example#1579 - MongoDB\Driver\WriteResult::isAcknowledged with acknowledged write concern
  • Example#1580 - MongoDB\Driver\WriteResult::isAcknowledged with unacknowledged write concern
  • Example#1581 - MongoDB\BSON\fromJSON example
  • Example#1582 - MongoDB\BSON\fromPHP example
  • Example#1583 - MongoDB\BSON\toCanonicalExtendedJSON example
  • Example#1584 - MongoDB\BSON\toJSON example
  • Example#1585 - MongoDB\BSON\toPHP example
  • Example#1586 - MongoDB\BSON\toRelaxedExtendedJSON example
  • Example#1587 - MongoDB\BSON\Binary::__construct example
  • Example#1588 - MongoDB\BSON\Binary::getData example
  • Example#1589 - MongoDB\BSON\Binary::getType example
  • Example#1590 - MongoDB\BSON\Binary::__toString example
  • Example#1591 - MongoDB\BSON\Decimal128::__construct example
  • Example#1592 - MongoDB\BSON\Decimal128::__toString example
  • Example#1593 - MongoDB\BSON\Javascript::__construct example
  • Example#1594 - MongoDB\BSON\Javascript::getCode example
  • Example#1595 - MongoDB\BSON\Javascript::getScope example
  • Example#1596 - MongoDB\BSON\Javascript::__toString example
  • Example#1597 - MongoDB\BSON\MaxKey::__construct example
  • Example#1598 - MongoDB\BSON\MinKey::__construct example
  • Example#1599 - MongoDB\BSON\ObjectId::__construct example
  • Example#1600 - MongoDB\BSON\ObjectId::getTimestamp example
  • Example#1601 - MongoDB\BSON\ObjectId::__toString example
  • Example#1602 - MongoDB\BSON\Regex::__construct example
  • Example#1603 - MongoDB\BSON\Regex::getFlags example
  • Example#1604 - MongoDB\BSON\Regex::getPattern example
  • Example#1605 - MongoDB\BSON\Regex::__toString example
  • Example#1606 - MongoDB\BSON\Timestamp::__construct example
  • Example#1607 - MongoDB\BSON\Timestamp::__toString example
  • Example#1608 - MongoDB\BSON\UTCDateTime::__construct example
  • Example#1609 - MongoDB\BSON\UTCDatetime::toDateTime example
  • Example#1610 - MongoDB\BSON\UTCDateTime::__toString example
  • Example#1611 - MongoDB\BSON\Serializable::bsonSerialize returning an associative array for root document
  • Example#1612 - MongoDB\BSON\Serializable::bsonSerialize returning a sequential array for root document
  • Example#1613 - MongoDB\BSON\Serializable::bsonSerialize returning an associative array for document field
  • Example#1614 - MongoDB\BSON\Serializable::bsonSerialize returning a sequential array for document field
  • Example#1615 - MongoDB\BSON\Unserializable::bsonUnserialize example
  • Example#1616 - MongoDB\BSON\Int64::__toString example
  • Example#1617 - MongoDB\Driver\Exception\WriteException::getWriteResult example
  • Example#1618 - Comparing the MySQL APIs
  • Example#1619 - Configure commands for using mysqlnd or libmysqlclient
  • Example#1620 - Unbuffered query example: mysqli
  • Example#1621 - Unbuffered query example: pdo_mysql
  • Example#1622 - Problems with setting the character set with SQL
  • Example#1623 - Setting the character set example: mysqli
  • Example#1624 - Setting the character set example: pdo_mysql
  • Example#1625 - Easy migration from the old mysql extension
  • Example#1626 - Object-oriented and procedural interface
  • Example#1627 - Bad coding style
  • Example#1628 - Special meaning of localhost
  • Example#1629 - Setting defaults
  • Example#1630 - Connecting to MySQL
  • Example#1631 - Navigation through buffered results
  • Example#1632 - Navigation through unbuffered results
  • Example#1633 - Text protocol returns strings by default
  • Example#1634 - Native data types with mysqlnd and connection option
  • Example#1635 - First stage: prepare
  • Example#1636 - Second stage: bind and execute
  • Example#1637 - INSERT prepared once, executed multiple times
  • Example#1638 - Less round trips using multi-INSERT SQL
  • Example#1639 - Native datatypes
  • Example#1640 - Output variable binding
  • Example#1641 - Using mysqli_result to fetch results
  • Example#1642 - Buffered result set for flexible read out
  • Example#1643 - Calling a stored procedure
  • Example#1644 - Using session variables
  • Example#1645 - Fetching results from stored procedures
  • Example#1646 - Stored Procedures and Prepared Statements
  • Example#1647 - Stored Procedures and Prepared Statements using bind API
  • Example#1648 - Multiple Statements
  • Example#1649 - SQL Injection
  • Example#1650 - Setting auto commit mode with SQL and through the API
  • Example#1651 - Commit and rollback
  • Example#1652 - Accessing result set meta data
  • Example#1653 - Prepared statements metadata
  • Example#1654 - Estilo orientado a objeto
  • Example#1655 - Estilo de procedimento
  • Example#1656 - Estilo orientado a objeto
  • Example#1657 - Estilo de procedimento
  • Example#1658 - mysqli::begin_transaction example
  • Example#1659 - Estilo orientado a objetos
  • Example#1660 - Estilo de procedimentos
  • Example#1661 - Estilo orientado a objeto
  • Example#1662 - Estilo de procedimento
  • Example#1663 - Estilo orientado a objeto
  • Example#1664 - Estilo de procedimento
  • Example#1665 - mysqli_connect_errno sample
  • Example#1666 - mysqli_connect_error sample
  • Example#1667 - mysqli::__construct example
  • Example#1668 - Extending mysqli class
  • Example#1669 - Manual error handling
  • Example#1670 - Gerando um arquivo de Trace
  • Example#1671 - Estilo orientado a objeto
  • Example#1672 - Estilo de procedimento
  • Example#1673 - $mysqli->error_list example
  • Example#1674 - Estilo orientado a objeto
  • Example#1675 - Estilo de procedimento
  • Example#1676 - Estilo orientado a objeto
  • Example#1677 - Estilo de procedimento
  • Example#1678 - mysqli::get_charset example
  • Example#1679 - mysqli_get_client_info
  • Example#1680 - mysqli_get_client_version
  • Example#1681 - A mysqli_get_connection_stats example
  • Example#1682 - Estilo orientado a objeto
  • Example#1683 - Estilo de procedimento
  • Example#1684 - Estilo orientado a objeto
  • Example#1685 - Estilo de procedimento
  • Example#1686 - Estilo orientado a objeto
  • Example#1687 - Estilo de procedimento
  • Example#1688 - Estilo orientado a objeto
  • Example#1689 - Estilo de procedimento
  • Example#1690 - Modo orientado a objeto
  • Example#1691 - Modo procedural
  • Example#1692 - Estilo orientado a objeto
  • Example#1693 - Estilo de procedimento
  • Example#1694 - Modo orientado a objeto
  • Example#1695 - Modo procedural
  • Example#1696 - Modo orientado a objeto
  • Example#1697 - Modo procedural
  • Example#1698 - mysqli::ping example
  • Example#1699 - A mysqli_poll example
  • Example#1700 - mysqli::prepare example
  • Example#1701 - mysqli::query example
  • Example#1702 - mysqli::real_connect example
  • Example#1703 - mysqli::real_escape_string example
  • Example#1704 - mysqli::select_db example
  • Example#1705 - mysqli::set_charset example
  • Example#1706 - $mysqli->sqlstate example
  • Example#1707 - mysqli::stat example
  • Example#1708 - $mysqli->thread_id example
  • Example#1709 - mysqli::use_result example
  • Example#1710 - $mysqli->warning_count example
  • Example#1711 - Estilo orientado à objeto
  • Example#1712 - Estilo procedural
  • Example#1713 - Modo orientado a objeto
  • Example#1714 - Modo procedural
  • Example#1715 - Modo orientado a objeto
  • Example#1716 - Modo procedural
  • Example#1717 - Estilo orientado à objeto
  • Example#1718 - Estilo procedural
  • Example#1719 - Estilo orientado à objeto
  • Example#1720 - Estilo procedural
  • Example#1721 - Estilo orientado à objeto
  • Example#1722 - Estilo procedural
  • Example#1723 - Estilo orientado à objeto
  • Example#1724 - Estilo procedural
  • Example#1725 - Modo orientado a objeto
  • Example#1726 - Modo procedural
  • Example#1727 - Modo orientado a objeto
  • Example#1728 - Modo procedural
  • Example#1729 - Estilo orientado à objeto
  • Example#1730 - Estilo procedural
  • Example#1731 - Estilo orientado à objeto
  • Example#1732 - Estilo procedural
  • Example#1733 - Estilo orientado à objeto
  • Example#1734 - Estilo procedural
  • Example#1735 - Estilo orientado à objeto
  • Example#1736 - Estilo procedural
  • Example#1737 - Estilo orientado à objeto
  • Example#1738 - Estilo procedural
  • Example#1739 - Estilo orientado à objeto
  • Example#1740 - Estilo procedural
  • Example#1741 - Estilo orientado à objeto
  • Example#1742 - Estilo orientado à objeto
  • Example#1743 - Estilo procedural
  • Example#1744 - Estilo orientado à objeto
  • Example#1745 - Estilo procedural
  • Example#1746 - Estilo orientado à objeto
  • Example#1747 - Estilo procedural
  • Example#1748 - Estilo orientado a objeto
  • Example#1749 - Estilo de procedimento
  • Example#1750 - Estilo orientado a objeto
  • Example#1751 - Estilo de procedimento
  • Example#1752 - Estilo orientado a objeto
  • Example#1753 - Estilo de procedimento
  • Example#1754 - Estilo orientado a objeto
  • Example#1755 - Estilo de procedimento
  • Example#1756 - Estilo orientado a objeto
  • Example#1757 - Estilo de procedimento
  • Example#1758 - Estilo orientado a objeto
  • Example#1759 - Estilo de procedimento
  • Example#1760 - Estilo orientado a objeto
  • Example#1761 - Estilo de procedimento
  • Example#1762 - Estilo orientado a objeto
  • Example#1763 - Estilo de procedimento
  • Example#1764 - Estilo orientado à objeto
  • Example#1765 - Estilo procedural
  • Example#1766 - Modo orientado a objeto
  • Example#1767 - Modo procedural
  • Example#1768 - Estilo orientado à objeto
  • Example#1769 - Estilo procedural
  • Example#1770 - Estilo orientado à objeto
  • Example#1771 - Estilo procedural
  • Example#1772 - Estilo orientado à objeto
  • Example#1773 - Estilo procedural
  • Example#1774 - Error reporting except bad index errors
  • Example#1775 - A mysqli_get_client_stats example
  • Example#1776 - Connecting to a MySQL Server
  • Example#1777 - Creating a Schema and Collection on the MySQL Server
  • Example#1778 - Storing and Retrieving Data
  • Example#1779 - Fetching and Iterating Multiple Documents
  • Example#1780 - mysql_xdevapi\Expression example
  • Example#1781 - URI examples
  • Example#1782 - mysql_xdevapi\getSession example
  • Example#1783 - mysql_xdevapi\RowResult::getWarnings example
  • Example#1784 - mysql_xdevapi\RowResult::getWarningsCount example
  • Example#1785 - mysql_xdevapi\Client::__construct example
  • Example#1786 - mysql_xdevapi\Collection::add example
  • Example#1787 - mysql_xdevapi\Collection::addOrReplaceOne example
  • Example#1788 - mysql_xdevapi\Collection::getOne example
  • Example#1789 - mysql_xdevapi\Collection::count example
  • Example#1790 - mysql_xdevapi\Collection::createIndex example
  • Example#1791 - mysql_xdevapi\Collection::dropIndex example
  • Example#1792 - mysql_xdevapi\Collection::existsInDatabase example
  • Example#1793 - mysql_xdevapi\Collection::find example
  • Example#1794 - mysql_xdevapi\Collection::getName example
  • Example#1795 - mysql_xdevapi\Collection::getOne example
  • Example#1796 - mysql_xdevapi\Collection::getSchema example
  • Example#1797 - mysql_xdevapi\Collection::getSession example
  • Example#1798 - mysql_xdevapi\Collection::modify example
  • Example#1799 - mysql_xdevapi\Collection::remove example
  • Example#1800 - mysql_xdevapi\Collection::removeOne example
  • Example#1801 - mysql_xdevapi\Collection::replaceOne example
  • Example#1802 - mysql_xdevapi\CollectionAdd::__construct example
  • Example#1803 - mysql_xdevapi\CollectionAdd::execute example
  • Example#1804 - mysql_xdevapi\CollectionFind::bind example
  • Example#1805 - CollectionFind example
  • Example#1806 - CollectionFind example
  • Example#1807 - mysql_xdevapi\CollectionFind::fields example
  • Example#1808 - mysql_xdevapi\CollectionFind::groupBy example
  • Example#1809 - mysql_xdevapi\CollectionFind::having example
  • Example#1810 - mysql_xdevapi\CollectionFind::limit example
  • Example#1811 - mysql_xdevapi\CollectionFind::lockExclusive example
  • Example#1812 - mysql_xdevapi\CollectionFind::lockShared example
  • Example#1813 - mysql_xdevapi\CollectionFind::offset example
  • Example#1814 - mysql_xdevapi\CollectionFind::sort example
  • Example#1815 - mysql_xdevapi\CollectionModify::arrayAppend example
  • Example#1816 - mysql_xdevapi\CollectionModify::arrayInsert example
  • Example#1817 - mysql_xdevapi\CollectionModify::bind example
  • Example#1818 - mysql_xdevapi\CollectionModify::__construct example
  • Example#1819 - mysql_xdevapi\CollectionModify::execute example
  • Example#1820 - mysql_xdevapi\CollectionModify::limit example
  • Example#1821 - mysql_xdevapi\CollectionModify::patch example
  • Example#1822 - mysql_xdevapi\CollectionModify::replace example
  • Example#1823 - mysql_xdevapi\CollectionModify::set example
  • Example#1824 - mysql_xdevapi\CollectionModify::skip example
  • Example#1825 - mysql_xdevapi\CollectionModify::sort example
  • Example#1826 - mysql_xdevapi\CollectionModify::unset example
  • Example#1827 - mysql_xdevapi\CollectionRemove::bind example
  • Example#1828 - mysql_xdevapi\Collection::remove example
  • Example#1829 - mysql_xdevapi\CollectionRemove::execute example
  • Example#1830 - mysql_xdevapi\CollectionRemove::limit example
  • Example#1831 - mysql_xdevapi\CollectionRemove::sort example
  • Example#1832 - mysql_xdevapi\ColumnResult::__construct example
  • Example#1833 - mysql_xdevapi\ColumnResult::getCharacterSetName example
  • Example#1834 - mysql_xdevapi\ColumnResult::getCollationName example
  • Example#1835 - mysql_xdevapi\ColumnResult::getColumnLabel example
  • Example#1836 - mysql_xdevapi\ColumnResult::getColumnName example
  • Example#1837 - mysql_xdevapi\ColumnResult::getFractionalDigits example
  • Example#1838 - mysql_xdevapi\ColumnResult::getLength example
  • Example#1839 - mysql_xdevapi\ColumnResult::getSchemaName example
  • Example#1840 - mysql_xdevapi\ColumnResult::getTableLabel example
  • Example#1841 - mysql_xdevapi\ColumnResult::getTableName example
  • Example#1842 - mysql_xdevapi\ColumnResult::getType example
  • Example#1843 - mysql_xdevapi\ColumnResult::isNumberSigned example
  • Example#1844 - mysql_xdevapi\ColumnResult::isPadded example
  • Example#1845 - mysql_xdevapi\CrudOperationBindable::bind example
  • Example#1846 - mysql_xdevapi\CrudOperationLimitable::limit example
  • Example#1847 - mysql_xdevapi\CrudOperationSkippable::skip example
  • Example#1848 - mysql_xdevapi\CrudOperationSortable::sort example
  • Example#1849 - mysql_xdevapi\DatabaseObject::existsInDatabase example
  • Example#1850 - mysql_xdevapi\DatabaseObject::getName example
  • Example#1851 - mysql_xdevapi\DatabaseObject::getSession example
  • Example#1852 - A DocResult example
  • Example#1853 - mysql_xdevapi\DocResult::fetchAll example
  • Example#1854 - mysql_xdevapi\DocResult::fetchOne example
  • Example#1855 - mysql_xdevapi\DocResult::getWarnings example
  • Example#1856 - mysql_xdevapi\DocResult::getWarningsCount example
  • Example#1857 - execute() examples
  • Example#1858 - mysql_xdevapi\ExecutionStatus::__construct example
  • Example#1859 - mysql_xdevapi\Expression::__construct example
  • Example#1860 - mysql_xdevapi\Result::__construct example
  • Example#1861 - mysql_xdevapi\Result::getAffectedItemsCount example
  • Example#1862 - mysql_xdevapi\Result::getAutoIncrementValue example
  • Example#1863 - mysql_xdevapi\Result::getGeneratedIds example
  • Example#1864 - mysql_xdevapi\RowResult::getWarnings example
  • Example#1865 - mysql_xdevapi\RowResult::getWarningsCount example
  • Example#1866 - mysql_xdevapi\RowResult::__construct example
  • Example#1867 - mysql_xdevapi\RowResult::fetchAll example
  • Example#1868 - mysql_xdevapi\RowResult::fetchOne example
  • Example#1869 - mysql_xdevapi\RowResult::getColumnsCount example
  • Example#1870 - mysql_xdevapi\RowResult::getColumnNames example
  • Example#1871 - mysql_xdevapi\RowResult::getColumns example
  • Example#1872 - mysql_xdevapi\RowResult::getWarnings example
  • Example#1873 - mysql_xdevapi\RowResult::getWarningsCount example
  • Example#1874 - Schema::__construct example
  • Example#1875 - Schema::createCollection example
  • Example#1876 - Schema::dropCollection example
  • Example#1877 - Schema::existsInDatabase example
  • Example#1878 - Schema::getCollection example
  • Example#1879 - Schema::getCollectionAsTable example
  • Example#1880 - mysql_xdevapi\Schema::getCollections example
  • Example#1881 - mysql_xdevapi\Schema::getName example
  • Example#1882 - mysql_xdevapi\Schema::getSession example
  • Example#1883 - mysql_xdevapi\Schema::getTable example
  • Example#1884 - mysql_xdevapi\Schema::getTables example
  • Example#1885 - mysql_xdevapi\Session::getSchema example
  • Example#1886 - mysql_xdevapi\Session::close example
  • Example#1887 - mysql_xdevapi\Session::commit example
  • Example#1888 - mysql_xdevapi\Session::__construct example
  • Example#1889 - mysql_xdevapi\Session::createSchema example
  • Example#1890 - mysql_xdevapi\Session::dropSchema example
  • Example#1891 - mysql_xdevapi\Session::generateUuid example
  • Example#1892 - mysql_xdevapi\Session::getSchema example
  • Example#1893 - mysql_xdevapi\Session::getSchema example
  • Example#1894 - mysql_xdevapi\Session::getSchemas example
  • Example#1895 - mysql_xdevapi\Session::getServerVersion example
  • Example#1896 - mysql_xdevapi\Session::listClients example
  • Example#1897 - mysql_xdevapi\Session::quoteName example
  • Example#1898 - mysql_xdevapi\Session::releaseSavepoint example
  • Example#1899 - mysql_xdevapi\Session::rollback example
  • Example#1900 - mysql_xdevapi\Session::rollbackTo example
  • Example#1901 - mysql_xdevapi\Session::setSavepoint example
  • Example#1902 - mysql_xdevapi\Session::sql example
  • Example#1903 - mysql_xdevapi\Session::startTransaction example
  • Example#1904 - mysql_xdevapi\SqlStatement::bind example
  • Example#1905 - mysql_xdevapi\SqlStatement::__construct example
  • Example#1906 - mysql_xdevapi\SqlStatement::execute example
  • Example#1907 - mysql_xdevapi\SqlStatement::getNextResult example
  • Example#1908 - mysql_xdevapi\SqlStatement::getResult example
  • Example#1909 - mysql_xdevapi\SqlStatement::hasMoreResults example
  • Example#1910 - mysql_xdevapi\SqlStatementResult::__construct example
  • Example#1911 - mysql_xdevapi\SqlStatementResult::fetchAll example
  • Example#1912 - mysql_xdevapi\SqlStatementResult::fetchOne example
  • Example#1913 - mysql_xdevapi\SqlStatementResult::getAffectedItemsCount example
  • Example#1914 - mysql_xdevapi\SqlStatementResult::getColumnsCount example
  • Example#1915 - mysql_xdevapi\SqlStatementResult::getColumnNames example
  • Example#1916 - mysql_xdevapi\SqlStatementResult::getColumns example
  • Example#1917 - mysql_xdevapi\SqlStatementResult::getGeneratedIds example
  • Example#1918 - mysql_xdevapi\SqlStatementResult::getLastInsertId example
  • Example#1919 - mysql_xdevapi\SqlStatementResult::getWarnings example
  • Example#1920 - mysql_xdevapi\SqlStatementResult::getWarningsCount example
  • Example#1921 - mysql_xdevapi\SqlStatementResult::hasData example
  • Example#1922 - mysql_xdevapi\SqlStatementResult::nextResult example
  • Example#1923 - mysql_xdevapi\Statement::__construct example
  • Example#1924 - mysql_xdevapi\Statement::getNextResult example
  • Example#1925 - mysql_xdevapi\Statement::getResult example
  • Example#1926 - mysql_xdevapi\Statement::hasMoreResults example
  • Example#1927 - mysql_xdevapi\Table::__construct example
  • Example#1928 - mysql_xdevapi\Table::count example
  • Example#1929 - mysql_xdevapi\Table::delete example
  • Example#1930 - mysql_xdevapi\Table::existsInDatabase example
  • Example#1931 - mysql_xdevapi\Table::getName example
  • Example#1932 - mysql_xdevapi\Table::getSchema example
  • Example#1933 - mysql_xdevapi\Table::getSession example
  • Example#1934 - mysql_xdevapi\Table::insert example
  • Example#1935 - mysql_xdevapi\Table::isView example
  • Example#1936 - mysql_xdevapi\Table::count example
  • Example#1937 - mysql_xdevapi\Table::update example
  • Example#1938 - mysql_xdevapi\TableDelete::bind example
  • Example#1939 - mysql_xdevapi\TableDelete::__construct example
  • Example#1940 - mysql_xdevapi\TableDelete::execute example
  • Example#1941 - mysql_xdevapi\TableDelete::limit example
  • Example#1942 - mysql_xdevapi\TableDelete::orderBy example
  • Example#1943 - mysql_xdevapi\TableDelete::where example
  • Example#1944 - mysql_xdevapi\TableInsert::__construct example
  • Example#1945 - mysql_xdevapi\TableInsert::execute example
  • Example#1946 - mysql_xdevapi\TableInsert::values example
  • Example#1947 - mysql_xdevapi\TableSelect::bind example
  • Example#1948 - mysql_xdevapi\TableSelect::__construct example
  • Example#1949 - mysql_xdevapi\TableSelect::execute example
  • Example#1950 - mysql_xdevapi\TableSelect::groupBy example
  • Example#1951 - mysql_xdevapi\TableSelect::having example
  • Example#1952 - mysql_xdevapi\TableSelect::limit example
  • Example#1953 - mysql_xdevapi\TableSelect::lockExclusive example
  • Example#1954 - mysql_xdevapi\TableSelect::lockShared example
  • Example#1955 - mysql_xdevapi\TableSelect::offset example
  • Example#1956 - mysql_xdevapi\TableSelect::orderBy example
  • Example#1957 - mysql_xdevapi\TableSelect::where example
  • Example#1958 - mysql_xdevapi\TableUpdate::bind example
  • Example#1959 - mysql_xdevapi\TableUpdate::__construct example
  • Example#1960 - mysql_xdevapi\TableUpdate::execute example
  • Example#1961 - mysql_xdevapi\TableUpdate::limit example
  • Example#1962 - mysql_xdevapi\TableUpdate::orderby example
  • Example#1963 - mysql_xdevapi\TableUpdate::set example
  • Example#1964 - mysql_xdevapi\TableUpdate::where example
  • Example#1965 - mysql_xdevapi\Warning::__construct example
  • Example#1966 - Exemplo de uso da extensão MySQL
  • Example#1967 - Exemplo mysql_affected_rows
  • Example#1968 - Exemplo de mysql_affected_rows usando transações
  • Example#1969 - Exemplo mysql_client_encoding
  • Example#1970 - Exemplo mysql_close
  • Example#1971 - Exemplo mysql_connect
  • Example#1972 - Exemplo mysql_connect usando a a sintaxe servidor:porta
  • Example#1973 - Exemplo mysql_connect usando a sintaxe ":/caminho/para/socket"
  • Example#1974 - Exemplo alternativo de mysql_create_db
  • Example#1975 - Exemplo mysql_data_seek
  • Example#1976 - Exemplo mysql_db_name
  • Example#1977 - Exemplo alternativo mysql_db_query
  • Example#1978 - Exemplo alternativo de mysql_drop_db
  • Example#1979 - Exemplo mysql_errno
  • Example#1980 - Exemplo mysql_error
  • Example#1981 - mysql_escape_string example
  • Example#1982 - Consulta com nomes de campos duplicados usando alias
  • Example#1983 - mysql_fetch_array com MYSQL_NUM
  • Example#1984 - mysql_fetch_array com MYSQL_ASSOC
  • Example#1985 - mysql_fetch_array com MYSQL_BOTH
  • Example#1986 - Um exemplo expandido de mysql_fetch_assoc
  • Example#1987 - Exemplo mysql_fetch_field
  • Example#1988 - Exemplo mysql_fetch_lengths
  • Example#1989 - Exemplo mysql_fetch_object
  • Example#1990 - Exemplo mysql_fetch_object
  • Example#1991 - Obtendo uma linha com mysql_fetch_row
  • Example#1992 - Um exemplo de mysql_field_flags
  • Example#1993 - mysql_field_len example
  • Example#1994 - Exemplo mysql_field_name
  • Example#1995 - Exemplo mysql_field_table
  • Example#1996 - Exemplo mysql_field_type
  • Example#1997 - Um exemplo mysql_free_result
  • Example#1998 - Exemplo mysql_get_client_info
  • Example#1999 - Exemplo mysql_get_host_info
  • Example#2000 - Exemplo mysql_get_proto_info
  • Example#2001 - Exemplo mysql_get_server_info
  • Example#2002 - Comandos MySQL relevantes
  • Example#2003 - Exemplo mysql_insert_id
  • Example#2004 - Exemplo mysql_list_dbs
  • Example#2005 - Alternativa para a obsoleta mysql_list_fields
  • Example#2006 - Exemplo mysql_list_processes
  • Example#2007 - Exemplo alternativo de mysql_list_tables
  • Example#2008 - Exemplo mysql_num_fields
  • Example#2009 - Exemplo mysql_num_rows
  • Example#2010 - Exemplo mysql_ping
  • Example#2011 - Consulta Inválida
  • Example#2012 - Consulta válida
  • Example#2013 - Exemplo mysql_real_escape_string
  • Example#2014 - Exemplo mysql_result
  • Example#2015 - Exemplo mysql_select_db
  • Example#2016 - Exemplo mysql_stat
  • Example#2017 - Exemplo mysql_tablename
  • Example#2018 - Exemplo mysql_thread_id
  • Example#2019 - Enabling the plugin (php.ini)
  • Example#2020 - Minimal plugin-specific configuration file (mysqlnd_ms_plugin.ini)
  • Example#2021 - Recommended minimal plugin-specific config (mysqlnd_ms_plugin.ini)
  • Example#2022 - Using one server as a master and as a slave (testing only!)
  • Example#2023 - Plugin specific configuration file (mysqlnd_ms_plugin.ini)
  • Example#2024 - Opening a load balanced connection
  • Example#2025 - Executing statements
  • Example#2026 - Plugin config with one slave and one master
  • Example#2027 - Pitfall: connection state and SQL user variables
  • Example#2028 - Plugin config with one slave and one master
  • Example#2029 - SQL hints to prevent connection switches
  • Example#2030 - Fighting replication lag
  • Example#2031 - Table creation on a slave
  • Example#2032 - Plugin config with one slave and one master
  • Example#2033 - Using SQL hints for transactions
  • Example#2034 - Transaction aware load balancing: trx_stickiness setting
  • Example#2035 - Transaction aware
  • Example#2036 - General pattern for XA transactions
  • Example#2037 - Local and global transactions are mutually exclusive
  • Example#2038 - Transaction coordinator state store
  • Example#2039 - Session consistency: read your writes
  • Example#2040 - Requesting session consistency
  • Example#2041 - Maximum age/slave lag
  • Example#2042 - Limiting slave lag
  • Example#2043 - Fail over not set
  • Example#2044 - No slave within time limit
  • Example#2045 - Create counter table on master
  • Example#2046 - Plugin config: SQL for client-side GTID injection
  • Example#2047 - Transparent global transaction ID injection
  • Example#2048 - Plugin config: SQL for fetching GTID
  • Example#2049 - Obtaining GTID after injection
  • Example#2050 - Plugin config: Checking for a certain GTID
  • Example#2051 - Session consistency service level and GTID combined
  • Example#2052 - Plugin config: using MySQL 5.6.5-m8 built-in GTID feature
  • Example#2053 - Recap: quality of service to request read your writes
  • Example#2054 - Plugin config: no special entries for caching
  • Example#2055 - Caching a slave request
  • Example#2056 - Read your writes and caching combined
  • Example#2057 - Manual failover, automatic optional
  • Example#2058 - Manual failover
  • Example#2059 - Cluster node groups
  • Example#2060 - Manual partitioning using SQL hints
  • Example#2061 - Plugin config: Fabric hosts instead of MySQL servers
  • Example#2062 - Manual partitioning using SQL hints
  • Example#2063 - Provoking a connection error
  • Example#2064 - Connection error on query execution
  • Example#2065 - Provoking a connection error
  • Example#2066 - Most basic failover
  • Example#2067 - Provoking a transient error
  • Example#2068 - Transient error retry loop
  • Example#2069 - Enabling the plugin (php.ini)
  • Example#2070 - Basic plugin configuration (mysqlnd_ms_plugin.ini) for MySQL Replication
  • Example#2071 - Multiple primaries - multi master (php.ini)
  • Example#2072 - Primary copy with multiple primaries and paritioning
  • Example#2073 - Multiple primaries - multi master (php.ini)
  • Example#2074 - Synchronous update anywhere cluster
  • Example#2075 - General pattern for XA transactions
  • Example#2076 - Converting a PHP array (hash) into JSON format
  • Example#2077 - Using section names example
  • Example#2078 - List of anonymous slaves
  • Example#2079 - Master list using symbolic names
  • Example#2080 - Keywords to configure a server
  • Example#2081 - New roundrobin filter, old functionality
  • Example#2082 - The user filter replaces mysqlnd_ms_set_user_pick_server
  • Example#2083 - Common error message in case of configuration file issues (upto version 1.5.0)
  • Example#2084 - Improved configuration file validation since 1.5.0
  • Example#2085 - Possibly more precise error due to mysqlnd_ms.force_config_usage=1
  • Example#2086 - Minimum pluging configuration for use with MySQL Fabric
  • Example#2087 - Optional timeout for communication with Fabric
  • Example#2088 - Warnings about the violation of transaction boundaries
  • Example#2089 - Invalid filter sequence
  • Example#2090 - Random load balancing with random filter
  • Example#2091 - Random once load balancing with random filter
  • Example#2092 - Referencing error
  • Example#2093 - Assigning a weight for load balancing
  • Example#2094 - roundrobin filter
  • Example#2095 - Setting a callback
  • Example#2096 - Using a callback
  • Example#2097 - Returning random masters and slaves
  • Example#2098 - Manual partitioning
  • Example#2099 - Global limit on slave lag
  • Example#2100 - Optional master failover when failing to connect to slave (PECL/mysqlnd_ms < 1.4.0)
  • Example#2101 - New syntax since 1.4.0
  • Example#2102 - Disabling lazy connection
  • Example#2103 - String escaping on a lazy connection handle
  • Example#2104 - Master on write for consistent reads
  • Example#2105 - Using master to execute transactions
  • Example#2106 - No automatic failover, error handling pitfall
  • Example#2107 - Retry loop for transient errors
  • Example#2108 - SQL definition for the MySQL state store transaction table
  • Example#2109 - SQL definition for the MySQL state store transaction table
  • Example#2110 - SQL definition for the MySQL state store garbage collection table
  • Example#2111 - Using section names example
  • Example#2112 - List-like syntax
  • Example#2113 - Verify plugin activity in a non-threaded deployment model
  • Example#2114 - Recording statistics during shutdown
  • Example#2115 - Example demonstrating the usage of mysqlnd_ms constants
  • Example#2116 - mysqlnd_ms_dump_servers example
  • Example#2117 - mysqlnd_ms_get_last_gtid example
  • Example#2118 - mysqlnd_ms_get_last_used_connection example
  • Example#2119 - mysqlnd_ms_get_stats example
  • Example#2120 - mysqlnd_ms_match_wild example
  • Example#2121 - mysqlnd_ms_query_is_select example
  • Example#2122 - mysqlnd_ms_set_qos example
  • Example#2123 - mysqlnd_ms_set_user_pick_server example
  • Example#2124 - Enabling the plugin (php.ini)
  • Example#2125 - Using the MYSQLND_QC_ENABLE_SWITCH SQL hint
  • Example#2126 - Using the MYSQLND_QC_DISABLE_SWITCH SQL hint
  • Example#2127 - Example showing which type of statements are not cached
  • Example#2128 - Enabling caching for all statements using the mysqlnd_qc.cache_no_table ini setting
  • Example#2129 - Setting the TTL with the mysqlnd_qc.ttl ini setting
  • Example#2130 - Setting TTL with SQL hints
  • Example#2131 - Setting a callback with mysqlnd_qc_set_is_select
  • Example#2132 - Enabling the slam defense mechanism
  • Example#2133 - Collecting a query trace
  • Example#2134 - Setting the backtrace depth with the mysqlnd_qc.query_trace_bt_depth ini setting
  • Example#2135 - Collecting statistics data with the mysqlnd_qc.time_statistics ini setting
  • Example#2136 - Example mysqlnd_qc_get_cache_info usage
  • Example#2137 - Example mysqlnd_qc_get_normalized_query_trace_log usage
  • Example#2138 - Using a user-defined storage handler
  • Example#2139 - Using SQL hint constants
  • Example#2140 - Example mysqlnd_qc_set_cache_condition usage
  • Example#2141 - mysqlnd_qc_get_available_handlers example
  • Example#2142 - mysqlnd_qc_get_cache_info example
  • Example#2143 - mysqlnd_qc_get_core_stats example
  • Example#2144 - mysqlnd_qc_get_normalized_query_trace_log example
  • Example#2145 - mysqlnd_qc_get_query_trace_log example
  • Example#2146 - mysqlnd_qc_set_cache_condition example
  • Example#2147 - mysqlnd_qc_set_is_select example
  • Example#2148 - mysqlnd_qc_set_storage_handler example
  • Example#2149 - Enabling the plugin (php.ini)
  • Example#2150 - Pseudo-code: what a built-in class does
  • Example#2151 - Installing a proxy
  • Example#2152 - Proxy registration, mysqlnd_uh.enable=1
  • Example#2153 - Proxy installation disabled
  • Example#2154 - Connection proxy
  • Example#2155 - Prepared statement proxy
  • Example#2156 - Basic Monitoring
  • Example#2157 - MysqlndUhConnection::changeUser example
  • Example#2158 - MysqlndUhConnection::charsetName example
  • Example#2159 - MysqlndUhConnection::close example
  • Example#2160 - MysqlndUhConnection::connect example
  • Example#2161 - MysqlndUhConnection::endPSession example
  • Example#2162 - MysqlndUhConnection::escapeString example
  • Example#2163 - MysqlndUhConnection::getAffectedRows example
  • Example#2164 - MysqlndUhConnection::getErrorNumber example
  • Example#2165 - MysqlndUhConnection::getErrorString example
  • Example#2166 - MysqlndUhConnection::getFieldCount example
  • Example#2167 - MysqlndUhConnection::getHostInformation example
  • Example#2168 - MysqlndUhConnection::getLastInsertId example
  • Example#2169 - MysqlndUhConnection::getLastMessage example
  • Example#2170 - MysqlndUhConnection::getProtocolInformation example
  • Example#2171 - MysqlndUhConnection::getServerInformation example
  • Example#2172 - MysqlndUhConnection::getServerStatistics example
  • Example#2173 - MysqlndUhConnection::getServerVersion example
  • Example#2174 - MysqlndUhConnection::getSqlstate example
  • Example#2175 - MysqlndUhConnection::getStatistics example
  • Example#2176 - MysqlndUhConnection::getThreadId example
  • Example#2177 - MysqlndUhConnection::getWarningCount example
  • Example#2178 - MysqlndUhConnection::init example
  • Example#2179 - MysqlndUhConnection::kill example
  • Example#2180 - MysqlndUhConnection::listFields example
  • Example#2181 - MysqlndUhConnection::listMethod example
  • Example#2182 - MysqlndUhConnection::moreResults example
  • Example#2183 - MysqlndUhConnection::nextResult example
  • Example#2184 - MysqlndUhConnection::ping example
  • Example#2185 - MysqlndUhConnection::query example
  • Example#2186 - MysqlndUhConnection::queryReadResultsetHeader example
  • Example#2187 - MysqlndUhConnection::reapQuery example
  • Example#2188 - MysqlndUhConnection::refreshServer example
  • Example#2189 - MysqlndUhConnection::restartPSession example
  • Example#2190 - MysqlndUhConnection::selectDb example
  • Example#2191 - MysqlndUhConnection::sendClose example
  • Example#2192 - MysqlndUhConnection::sendQuery example
  • Example#2193 - MysqlndUhConnection::serverDumpDebugInformation example
  • Example#2194 - MysqlndUhConnection::setAutocommit example
  • Example#2195 - MysqlndUhConnection::setCharset example
  • Example#2196 - MysqlndUhConnection::setClientOption example
  • Example#2197 - MysqlndUhConnection::setServerOption example
  • Example#2198 - MysqlndUhConnection::simpleCommand example
  • Example#2199 - MysqlndUhConnection::simpleCommandHandleResponse example
  • Example#2200 - MysqlndUhConnection::sslSet example
  • Example#2201 - MysqlndUhConnection::stmtInit example
  • Example#2202 - MysqlndUhConnection::storeResult example
  • Example#2203 - MysqlndUhConnection::txCommit example
  • Example#2204 - MysqlndUhConnection::txRollback example
  • Example#2205 - MysqlndUhConnection::useResult example
  • Example#2206 - MysqlndUhPreparedStatement::execute example
  • Example#2207 - MysqlndUhPreparedStatement::prepare example
  • Example#2208 - mysqlnd_uh_convert_to_mysqlnd example
  • Example#2209 - mysqlnd_uh_set_connection_proxy example
  • Example#2210 - Enabling the plugin (php.ini)
  • Example#2211 - SQL table used for the Quickstart
  • Example#2212 - Basic example.
  • Example#2213 - mysqlnd_memcache_get_config example
  • Example#2214 - mysqlnd_memcache_set example with var_dump as a simple debugging callback.
  • Example#2215 - Query básica
  • Example#2216 - Inserindo usando bind com variáveis
  • Example#2217 - Inserindo dados em uma coluna CLOB
  • Example#2218 - Usando Stored Procedures
  • Example#2219 -
  • Example#2220 - user_oci8_probes.d for tracing all user-level PHP OCI8 Static Probes with DTrace
  • Example#2221 - oci_bind_array_by_name example
  • Example#2222 - Inserting data with oci_bind_by_name
  • Example#2223 - Binding once for multiple executions
  • Example#2224 - Binding with a foreach loop
  • Example#2225 - Binding in a WHERE clause
  • Example#2226 - Binding with a LIKE clause
  • Example#2227 - Binding with REGEXP_LIKE
  • Example#2228 - Binding Multiple Values in an IN Clause
  • Example#2229 - Binding a ROWID returned by a query
  • Example#2230 - Binding a ROWID on INSERT
  • Example#2231 - Binding for a PL/SQL stored function
  • Example#2232 - Binding parameters for a PL/SQL stored procedure
  • Example#2233 - Binding a CLOB column
  • Example#2234 - Binding a PL/SQL BOOLEAN
  • Example#2235 - oci_client_version example
  • Example#2236 - Closing a connection
  • Example#2237 - Database connections are not closed until all references are closed
  • Example#2238 - Closing a connection opened more than once
  • Example#2239 - Connections are closed when variables go out of scope
  • Example#2240 - oci_commit example
  • Example#2241 - Basic oci_connect using Easy Connect syntax
  • Example#2242 - Basic oci_connect using a Network Connect name
  • Example#2243 - oci_connect with an explicit character set
  • Example#2244 - Using multiple calls to oci_connect
  • Example#2245 - oci_define_by_name example
  • Example#2246 - oci_define_by_name with case sensitive column names
  • Example#2247 - oci_define_by_name with LOB columns
  • Example#2248 - oci_define_by_name with an explicit type
  • Example#2249 - Displaying the Oracle error message after a connection error
  • Example#2250 - Displaying the Oracle error message after a parsing error
  • Example#2251 - Displaying the Oracle error message, the problematic statement, and the position of the problem of an execution error
  • Example#2252 - oci_execute for queries
  • Example#2253 - oci_execute without specifying a mode example
  • Example#2254 - oci_execute with OCI_NO_AUTO_COMMIT example
  • Example#2255 - oci_execute with different commit modes example
  • Example#2256 - oci_execute with OCI_DESCRIBE_ONLY example
  • Example#2257 - oci_fetch_all example
  • Example#2258 - oci_fetch_all example with OCI_FETCHSTATEMENT_BY_ROW
  • Example#2259 - oci_fetch_all with OCI_NUM
  • Example#2260 - oci_fetch_array with OCI_BOTH
  • Example#2261 - oci_fetch_array with OCI_NUM
  • Example#2262 - oci_fetch_array with OCI_ASSOC
  • Example#2263 - oci_fetch_array with OCI_RETURN_NULLS
  • Example#2264 - oci_fetch_array with OCI_RETURN_LOBS
  • Example#2265 - oci_fetch_array with case sensitive column names
  • Example#2266 - oci_fetch_array with columns having duplicate names
  • Example#2267 - oci_fetch_array with DATE columns
  • Example#2268 - oci_fetch_array with REF CURSOR
  • Example#2269 - Pagination with oci_fetch_array using a LIMIT-like query
  • Example#2270 - oci_fetch_array with Oracle Database Implicit Result Sets
  • Example#2271 - oci_fetch_assoc Example
  • Example#2272 - oci_fetch_object example
  • Example#2273 - oci_fetch_object with case sensitive column names
  • Example#2274 - oci_fetch_object with LOBs
  • Example#2275 - oci_fetch_row Example
  • Example#2276 - oci_fetch with defined variables
  • Example#2277 - oci_fetch with oci_result
  • Example#2278 - oci_field_name example
  • Example#2279 - oci_field_name example
  • Example#2280 - oci_field_precision Example
  • Example#2281 - oci_field_scale Example
  • Example#2282 - oci_field_size example
  • Example#2283 - oci_field_type_raw Example
  • Example#2284 - oci_field_type example
  • Example#2285 - Fetching Implicit Result Sets in a loop
  • Example#2286 - Getting child statement handles individually
  • Example#2287 - Explicitly setting the Prefetch Count
  • Example#2288 - Implicit Result Set example without using oci_get_implicit_resultset
  • Example#2289 - oci_new_connect example
  • Example#2290 - Binding a REF CURSOR in an Oracle stored procedure call
  • Example#2291 - oci_new_descriptor example
  • Example#2292 - oci_new_descriptor example
  • Example#2293 - oci_num_fields example
  • Example#2294 - oci_num_rows example
  • Example#2295 - oci_parse example for SQL statements
  • Example#2296 - oci_parse example for PL/SQL statements
  • Example#2297 - oci_password_change example changing the password of an already connected user
  • Example#2298 - oci_password_change example of connecting and changing the password in one step
  • Example#2299 - Basic oci_pconnect Example using Easy Connect syntax
  • Example#2300 - oci_fetch with oci_result
  • Example#2301 - oci_rollback example
  • Example#2302 - Rolling back to a SAVEPOINT example
  • Example#2303 - oci_server_version example
  • Example#2304 - Setting the action
  • Example#2305 - Setting the timeout
  • Example#2306 - Setting the client identifier to the application user
  • Example#2307 - Setting the client information
  • Example#2308 - Setting the DBOP
  • Example#2309 - Two scripts can use different versions of myfunc() at the same time
  • Example#2310 - Setting the module name
  • Example#2311 - Changing the default prefetch value for a query
  • Example#2312 - Changing the default prefetch for a REF CURSOR fetch
  • Example#2313 - Setting the prefetch value when passing a REF CURSOR back to Oracle
  • Example#2314 - oci_statement_type example
  • Example#2315 - Creating a Paradox database with two fields
  • Example#2316 - Turn a paradox date into a human readable form
  • Example#2317 - Set the date/time fields in a paradox database to the current date/time
  • Example#2318 - Opening a Paradox database
  • Example#2319 - Opening a Paradox database
  • Example#2320 - Turn a paradox timestamp into a human readable form
  • Example#2321 - Exemplo de visão geral da extensão PostgreSQL
  • Example#2322 - pg_affected_rows
  • Example#2323 - pg_close example
  • Example#2324 - Usando pg_connect
  • Example#2325 - pg_connection_busy example
  • Example#2326 - pg_connection_reset example
  • Example#2327 - pg_connection_status example
  • Example#2328 - pg_dbname example
  • Example#2329 - pg_delete
  • Example#2330 - pg_escape_identifier example
  • Example#2331 - pg_escape_literal example
  • Example#2332 - Using pg_execute
  • Example#2333 - pg_fetch_all_columns example
  • Example#2334 - Retornando linhas (registros) no PostgreSQL
  • Example#2335 - Retornando linhas (registros) no PostgreSQL
  • Example#2336 - Retornando linhas (registros) no PostgreSQL
  • Example#2337 - Postgres fetch object
  • Example#2338 - Retornando linhas (registros) no PostgreSQL
  • Example#2339 - pg_field_is_null example
  • Example#2340 - Getting informations about fields
  • Example#2341 - Getting table information about a field
  • Example#2342 - Getting information about fields
  • Example#2343 - PostgreSQL NOTIFY message
  • Example#2344 - PostgreSQL backend PID
  • Example#2345 - pg_insert
  • Example#2346 - pg_lo_truncate example
  • Example#2347 - Obtendo os dados da tabela
  • Example#2348 - pg_parameter_status example
  • Example#2349 - Exemplo pg_ping
  • Example#2350 - Using pg_prepare
  • Example#2351 - Inserção de dados na tabela em alta velocidade
  • Example#2352 - Using pg_query_params
  • Example#2353 - pg_result_error_field example
  • Example#2354 - pg_select
  • Example#2355 - Using pg_send_execute
  • Example#2356 - Using pg_send_prepare
  • Example#2357 - Using pg_send_query_params
  • Example#2358 - Asynchronous Queries
  • Example#2359 - pg_set_error_verbosity example
  • Example#2360 - pg_transaction_status example
  • Example#2361 - pg_update
  • Example#2362 - pg_version example
  • Example#2363 - Backup an existing database
  • Example#2364 - SQLite3::changes example
  • Example#2365 - SQLite3::close example
  • Example#2366 - SQLite3::__construct example
  • Example#2367 - max_length aggregation function example
  • Example#2368 - SQLite3::createCollation example
  • Example#2369 - SQLite3::createFunction example
  • Example#2370 - SQLite3::enableExceptions example
  • Example#2371 - SQLite3::exec example
  • Example#2372 - SQLite3::loadExtension example
  • Example#2373 - SQLite3::open example
  • Example#2374 - SQLite3::openBlob example
  • Example#2375 - Incrementally writing a BLOB
  • Example#2376 - SQLite3::prepare example
  • Example#2377 - SQLite3::query example
  • Example#2378 - SQLite3::querySingle example
  • Example#2379 - SQLite3::setAuthorizer example
  • Example#2380 - SQLite3::version example
  • Example#2381 - SQLite3Stmt::bindParam Usage
  • Example#2382 - SQLite3Stmt::bindValue example
  • Example#2383 - Inspecting the expanded SQL
  • Example#2384 - sqlsrv_begin_transaction example
  • Example#2385 - sqlsrv_cancel example
  • Example#2386 - sqlsrv_client_info example
  • Example#2387 - sqlsrv_close example
  • Example#2388 - sqlsrv_commit example
  • Example#2389 - Connect using Windows Authentication.
  • Example#2390 - Connect by specifying a user name and password.
  • Example#2391 - Connect on a specified port.
  • Example#2392 - functionname example
  • Example#2393 - sqlsrv_execute example
  • Example#2394 - Retrieving an associative array.
  • Example#2395 - Retrieving a numeric array.
  • Example#2396 - sqlsrv_fetch_object example
  • Example#2397 - sqlsrv_fetch example
  • Example#2398 - sqlsrv_field_metadata example
  • Example#2399 - sqlsrv_free_stmt example
  • Example#2400 - sqlsrv_get_field example
  • Example#2401 - sqlsrv_has_rows example
  • Example#2402 - sqlsrv_next_result example
  • Example#2403 - sqlsrv_num_fields example
  • Example#2404 - sqlsrv_num_rows example
  • Example#2405 - sqlsrv_prepare example
  • Example#2406 - sqlsrv_query example
  • Example#2407 - sqlsrv_rollback example
  • Example#2408 - sqlsrv_rows_affected example
  • Example#2409 - sqlsrv_send_stream_data example
  • Example#2410 - sqlsrv_server_info example
  • Example#2411 - Putting and getting a key-value pair
  • Example#2412 - TokyoTyrant::add example
  • Example#2413 - TokyoTyrant::connect example
  • Example#2414 - TokyoTyrant::connectUri example
  • Example#2415 - TokyoTyrant::copy example
  • Example#2416 - TokyoTyrant::ext example
  • Example#2417 - TokyoTyrant::fwmKeys example
  • Example#2418 - TokyoTyrant::get example
  • Example#2419 - TokyoTyrant::getIterator example
  • Example#2420 - TokyoTyrant::num example
  • Example#2421 - TokyoTyrant::out example
  • Example#2422 - TokyoTyrant::put example
  • Example#2423 - TokyoTyrant::putCat example
  • Example#2424 - tokyotyrant::putKeep example
  • Example#2425 - TokyoTyrant::putNr example
  • Example#2426 - TokyoTyrant::putShl example
  • Example#2427 - TokyoTyrant::setMaster example
  • Example#2428 - TokyoTyrant::size example
  • Example#2429 - TokyoTyrant::stat example
  • Example#2430 - TokyoTyrant::vanish example
  • Example#2431 - TokyoTyrantTable::genUid example
  • Example#2432 - TokyoTyrantTable::get example
  • Example#2433 - TokyoTyrantTable::getIterator example
  • Example#2434 - TokyoTyrantTable::getQuery example
  • Example#2435 - TokyoTyrantTable::out example
  • Example#2436 - TokyoTyrantTable::put example
  • Example#2437 - TokyoTyrantTable::putCat example
  • Example#2438 - TokyoTyrantTable::putKeep example
  • Example#2439 - TokyoTyrantQuery::addCond example
  • Example#2440 - TokyoTyrantQuery::__construct example
  • Example#2441 - TokyoTyrantQuery::count example
  • Example#2442 - TokyoTyrantQuery iterator example
  • Example#2443 - TokyoTyrantQuery::hint example
  • Example#2444 - TokyoTyrantQuery iterator example
  • Example#2445 - TokyoTyrantQuery::metaSearch example
  • Example#2446 - TokyoTyrantQuery iterator example
  • Example#2447 - TokyoTyrantQuery::out example
  • Example#2448 - TokyoTyrantQuery iterator example
  • Example#2449 - TokyoTyrantQuery::search example
  • Example#2450 - TokyoTyrantQuery iterator example
  • Example#2451 - TokyoTyrantIterator::__construct example
  • Example#2452 - Exemplo da cal_days_in_month
  • Example#2453 - cal_from_jd exemplo
  • Example#2454 - Exemplo de cal_info
  • Example#2455 - easter_date exemplo
  • Example#2456 - easter_days exemplo
  • Example#2457 - Funções de Calendário
  • Example#2458 - jdtojewish Exemplo
  • Example#2459 - Exemplo do método DateTime::add
  • Example#2460 - Exemplos adicionais do método DateTime::add
  • Example#2461 - Cuidados na adição de meses
  • Example#2462 - Exemplos do construtor DateTime::__construct
  • Example#2463 - Complexidades do construtor DateTime::__construct
  • Example#2464 - Exemplo do método DateTime::createFromFormat
  • Example#2465 - Complexidades do método DateTime::createFromFormat
  • Example#2466 - String de formato com caracteres literais
  • Example#2467 - Creating a mutable date time object
  • Example#2468 - Creating a mutable date time object
  • Example#2469 - Exemplo do método DateTime::getLastErrors
  • Example#2470 - Exemplo do método DateTime::modify
  • Example#2471 - Cuidados na adição ou subtração de meses
  • Example#2472 - Exemplo do método DateTime::setDate
  • Example#2473 - VValores que excedem os limites são adicionados aos seus valores anteriores
  • Example#2474 - Exemplo do método DateTime::setISODate
  • Example#2475 - Valores que excedem os limites são adicionados aos seus valores anteriores
  • Example#2476 - Encontrando o mês de uma determinada semana
  • Example#2477 - Examplo do método DateTime::setTime
  • Example#2478 - Valores que excedem os limites são adicionados aos seus valores anteriores
  • Example#2479 - Exemplo do método DateTime::setTimestamp
  • Example#2480 - Alternativa ao DateTime::setTimestamp no PHP 5.2
  • Example#2481 - Exemplo do método DateTime::setTimeZone
  • Example#2482 - Exemplo do método DateTime::sub
  • Example#2483 - Exemplos adicionais do método DateTime::sub
  • Example#2484 - Cuidados na subtração de meses
  • Example#2485 - Creating an immutable date time object
  • Example#2486 - Criando um objeto DateTime imutável
  • Example#2487 - Exemplo do método DateTime::diff
  • Example#2488 - Comparação entre objetos DateTime
  • Example#2489 - Exemplo do método DateTime::format
  • Example#2490 - Exemplo do método DateTime::getOffset
  • Example#2491 - Exemplo do método DateTime::getTimestamp
  • Example#2492 - Exemplo do método DateTime::getTimezone
  • Example#2493 - Capturando erros na instanciação de DateTimeZone
  • Example#2494 - Exemplo do método DateTimeZone::getLocation
  • Example#2495 - Exemplos do método DateTimeZone::getOffset
  • Example#2496 - Exemplo do método timezone_transitions_get
  • Example#2497 - Exemplo do método timezone_abbreviations_list
  • Example#2498 - Exemplo do método timezone_identifiers_list
  • Example#2499 - Exemplo da classe DateInterval
  • Example#2500 - Analisando intervalos de datas válidos
  • Example#2501 - Exemplo da classe DateInterval
  • Example#2502 - A classe DateInterval e os pontos de transferência
  • Example#2503 - DateInterval e DateTime::diff com os modificadores %a e %d
  • Example#2504 - Exemplos de DatePeriod
  • Example#2505 - Exemplo de DatePeriod com DatePeriod::EXCLUDE_START_DATE
  • Example#2506 - DatePeriod::getDateInterval example
  • Example#2507 - DatePeriod::getEndDate example
  • Example#2508 - DatePeriod::getEndDate without an end date
  • Example#2509 - DatePeriod::getStartDate example
  • Example#2510 - Exemplo da checkdate
  • Example#2511 - Lendo o fuso horário padrão
  • Example#2512 - Lendo a abreviação de um fuso horário
  • Example#2513 - Lendo o fuso horário padrão
  • Example#2514 - Exemplo da função date_parse_from_format
  • Example#2515 - Um exemplo da função date_parse
  • Example#2516 - date_parse com formatos relativos
  • Example#2517 - Um exemplo de date_sun_info
  • Example#2518 - Exemplo da função date_sunrise
  • Example#2519 - Exemplo da função date_sunset
  • Example#2520 - Exemplos da função date
  • Example#2521 - Caracteres de escape em date
  • Example#2522 - Exemplo da date e mktime
  • Example#2523 - Formatação com a função date
  • Example#2524 - Exemplo da função getdate
  • Example#2525 - Exemplo da função gettimeofday
  • Example#2526 - Exemplo da gmdate
  • Example#2527 - A função gmmktime no Windows
  • Example#2528 - Exemplo da função gmstrftime
  • Example#2529 - Exemplo da função idate
  • Example#2530 - Exemplo da função localtime
  • Example#2531 - Cronometrando a execução do script com microtime
  • Example#2532 - Cronometrando a execução do script no PHP 5
  • Example#2533 - microtime e REQUEST_TIME_FLOAT (a partir do PHP 5.4.0)
  • Example#2534 - Exemplo básico da função mktime
  • Example#2535 - Exemplo da mktime
  • Example#2536 - Último dia do próximo mês
  • Example#2537 - Exemplo da função strftime com idiomas
  • Example#2538 - Exemplo do número de semana ISO 8601:1988
  • Example#2539 - Exemplo do uso do modificador %e compatível com múltiplas plataformas
  • Example#2540 - Mostra os formatos conhecidos e desconhecidos
  • Example#2541 - Exemplo da função strptime
  • Example#2542 - Exemplo da função strtotime
  • Example#2543 - Checando por falha
  • Example#2544 - time example
  • Example#2545 - Um exemplo da função timezone_name_from_abbr
  • Example#2546 - Recuperando a versão do timezonedb
  • Example#2547 - Measure several code blocks execution and get the total
  • Example#2548 - Closing an open file descriptor
  • Example#2549 - Setting and clearing a lock
  • Example#2550 - Opening a file descriptor
  • Example#2551 - Positioning in a file
  • Example#2552 - Setting the baud rate on a serial port
  • Example#2553 - chdir example
  • Example#2554 - Exemplo da closedir
  • Example#2555 - Exemplo da dir
  • Example#2556 - Exemplo da getcwd
  • Example#2557 - exemplo de opendir
  • Example#2558 - Listando todos os arquivos de um diretório
  • Example#2559 - Listar todos os arquivos no diretório atual e retirar . e ..
  • Example#2560 - Um exemplo simples de scandir
  • Example#2561 - Alternativas do PHP 4 para scandir
  • Example#2562 - A finfo_buffer example
  • Example#2563 - A finfo_file example
  • Example#2564 - Estilo orientado à objeto
  • Example#2565 - Estilo procedural
  • Example#2566 - Exemplo da mime_content_type
  • Example#2567 - Exemplo da basename
  • Example#2568 - exemplo do copy
  • Example#2569 - exemplo do dirname
  • Example#2570 - Exemplo da disk_free_space
  • Example#2571 - Exemplo da disk_total_space
  • Example#2572 - Exemplo da fclose
  • Example#2573 - Exemplo de feof com um ponteiro de arquivo inválido
  • Example#2574 - Um exemplo da fgetc
  • Example#2575 - Lê e imprime todo o conteúdo de um arquivo CSV
  • Example#2576 - Lendo um arquivo linha por linha
  • Example#2577 - Testando se um arquivo existe
  • Example#2578 - Exemplo de file
  • Example#2579 - Exemplo de fileatime
  • Example#2580 - Exemplo da filectime
  • Example#2581 - Descobrindo o grupo de um arquivo
  • Example#2582 - Exemplo da filemtime
  • Example#2583 - Mostra as permissões na forma octal
  • Example#2584 - Mostra as permissões completas
  • Example#2585 - Exemplo de filesize
  • Example#2586 - Exemplo de filetype
  • Example#2587 - Exemplo da flock
  • Example#2588 - Comparando uma cor com um padrão de curingas shell
  • Example#2589 - Exemplos de fopen
  • Example#2590 - Usando fpassthru com arquivo binário
  • Example#2591 - Exemplo da fputcsv
  • Example#2592 - Um simples exemplo de fread
  • Example#2593 - Exemplo de fread binário
  • Example#2594 - Exemplos de fread remoto
  • Example#2595 - Exemplo de fscanf
  • Example#2596 - Conteúdo de users.txt
  • Example#2597 - Exemplo de fseek
  • Example#2598 - Exemplo fstat
  • Example#2599 - Exemplo da ftell
  • Example#2600 - Um simples exemplo de fwrite
  • Example#2601 - Modo conveniente de como glob pode susbstituir opendir e companhia.
  • Example#2602 - Exemplo da is_dir
  • Example#2603 - Exemplo da is_executable
  • Example#2604 - Exemplo da is_file
  • Example#2605 - Exemplo de is_readable
  • Example#2606 - Exemplo de is_uploaded_file
  • Example#2607 - Exemplo de is_writable
  • Example#2608 - Alterando um grupo de um link simbólico
  • Example#2609 - Alterando o proprietário de um link simbólico
  • Example#2610 - Creating a simple hard link
  • Example#2611 - Exemplo da linkinfo
  • Example#2612 - Comparação de stat e lstat
  • Example#2613 - Exemplo de mkdir
  • Example#2614 - Conteúdo de sample.ini
  • Example#2615 - Exemplo de parse_ini_file
  • Example#2616 - Exemplo de pathinfo
  • Example#2617 - Exemplo da popen
  • Example#2618 - Exemplo da popen
  • Example#2619 - Exemplo de readlink
  • Example#2620 - realpath_cache_get exemplo
  • Example#2621 - Exemplo de realpath_cache_size
  • Example#2622 - Exemplo da realpath
  • Example#2623 - realpath em Windows
  • Example#2624 - Exemplo da rename
  • Example#2625 - Exemplo da tempnam
  • Example#2626 - Exemplo da tmpfile
  • Example#2627 - Exemplo da função touch
  • Example#2628 - Exemplo da umask
  • Example#2629 - Example usage of inotify
  • Example#2630 - setproctitle example
  • Example#2631 - setthreadtitle example
  • Example#2632 - Instalação manuao do xattr
  • Example#2633 - Checa se o adminitrador dos sistema assinou o arquivo
  • Example#2634 - Imprime o nome de todos os atributos extendidos do arquivo
  • Example#2635 - Remove todos os atributos extendidos de um arquivo
  • Example#2636 - Edita atributos extendidos em um arquivo .wav
  • Example#2637 - Exemplo de chamada de xattr_supported
  • Example#2638 - xdiff_file_bdiff_size example
  • Example#2639 - xdiff_file_bdiff example
  • Example#2640 - xdiff_file_bpatch example
  • Example#2641 - xdiff_file_diff_binary example
  • Example#2642 - xdiff_file_diff example
  • Example#2643 - xdiff_file_merge3 example
  • Example#2644 - xdiff_file_patch_binary example
  • Example#2645 - xdiff_file_patch example
  • Example#2646 - Patch reversing example
  • Example#2647 - xdiff_file_rabdiff example
  • Example#2648 - xdiff_string_bdiff_size example
  • Example#2649 - xdiff_string_diff example
  • Example#2650 - xdiff_string_patch example
  • Example#2651 - Enchant Usage Example
  • Example#2652 - List the backends provided by the given broker
  • Example#2653 - A enchant_broker_dict_exists example
  • Example#2654 - List all available dictionaries for one broker
  • Example#2655 - A enchant_broker_request_dict example
  • Example#2656 - Adding a word to a PWL
  • Example#2657 - A enchant_dict_describe example
  • Example#2658 - A enchant_dict_quick_check example
  • Example#2659 - A enchant_dict_suggest example
  • Example#2660 - Usage example.
  • Example#2661 - Using Gender\Gender::country
  • Example#2662 - Exemplo da bindtextdomain
  • Example#2663 - gettext-checa
  • Example#2664 - Exemplo da ngettext
  • Example#2665 - iconv_get_encoding example
  • Example#2666 - iconv_mime_decode_headers example
  • Example#2667 - iconv_mime_decode example
  • Example#2668 - iconv_mime_encode example
  • Example#2669 - iconv_set_encoding example
  • Example#2670 - iconv example
  • Example#2671 - ob_iconv_handler example:
  • Example#2672 - Example of using the procedural API
  • Example#2673 - Example of using the object-oriented API
  • Example#2674 - FRENCH_COLLATION rules
  • Example#2675 - ALTERNATE_HANDLING rules
  • Example#2676 - CASE_FIRST rules
  • Example#2677 - CASE_LEVEL rules
  • Example#2678 - collator_asortexample
  • Example#2679 - collator_compareexample
  • Example#2680 - Collator::__construct example
  • Example#2681 - collator_create example
  • Example#2682 - collator_get_attribute example
  • Example#2683 - collator_get_error_code example
  • Example#2684 - collator_get_error_message example
  • Example#2685 - collator_get_locale example
  • Example#2686 - collator_get_sort_keyexample
  • Example#2687 - collator_get_strength example
  • Example#2688 - collator_set_attribute example
  • Example#2689 - collator_set_strength example
  • Example#2690 - collator_sort_with_sort_keys example
  • Example#2691 - collator_sort example
  • Example#2692 - numfmt_create example
  • Example#2693 - NumberFormatter::create example
  • Example#2694 - numfmt_format_currency example
  • Example#2695 - OO example
  • Example#2696 - numfmt_format example
  • Example#2697 - OO example
  • Example#2698 - numfmt_get_attribute example
  • Example#2699 - OO example
  • Example#2700 - numfmt_get_error_code example
  • Example#2701 - OO example
  • Example#2702 - numfmt_get_error_message example
  • Example#2703 - OO example
  • Example#2704 - numfmt_get_locale example
  • Example#2705 - numfmt_get_pattern example
  • Example#2706 - OO example
  • Example#2707 - numfmt_get_symbol example
  • Example#2708 - OO example
  • Example#2709 - numfmt_get_text_attribute example
  • Example#2710 - OO example
  • Example#2711 - numfmt_parse_currency example
  • Example#2712 - OO example
  • Example#2713 - numfmt_parse example
  • Example#2714 - OO example
  • Example#2715 - numfmt_set_attribute example
  • Example#2716 - OO example
  • Example#2717 - numfmt_set_pattern example
  • Example#2718 - OO example
  • Example#2719 - numfmt_set_symbol example
  • Example#2720 - OO example
  • Example#2721 - numfmt_set_text_attribute example
  • Example#2722 - OO example
  • Example#2723 - locale_accept_from_http example
  • Example#2724 - OO example
  • Example#2725 - locale_compose example
  • Example#2726 - OO example
  • Example#2727 - locale_filter_matches example
  • Example#2728 - OO example
  • Example#2729 - locale_get_all_variants example
  • Example#2730 - OO example
  • Example#2731 - locale_get_default example
  • Example#2732 - OO example
  • Example#2733 - locale_get_display_language example
  • Example#2734 - OO example
  • Example#2735 - locale_get_display_name example
  • Example#2736 - OO example
  • Example#2737 - locale_get_display_region example
  • Example#2738 - OO example
  • Example#2739 - locale_get_display_script example
  • Example#2740 - OO example
  • Example#2741 - locale_get_display_variant example
  • Example#2742 - OO example
  • Example#2743 - locale_get_keywords example
  • Example#2744 - OO example
  • Example#2745 - locale_get_primary_language example
  • Example#2746 - OO example
  • Example#2747 - locale_get_region example
  • Example#2748 - OO example
  • Example#2749 - locale_get_script example
  • Example#2750 - OO example
  • Example#2751 - locale_lookup example
  • Example#2752 - OO example
  • Example#2753 - locale_parse example
  • Example#2754 - OO example
  • Example#2755 - locale_set_default example
  • Example#2756 - OO example
  • Example#2757 - Normalizer::getRawDecomposition example
  • Example#2758 - Exemplo de normalizer_is_normalized
  • Example#2759 - Exemplo Orientado a Objetos
  • Example#2760 - Exemplo de normalizer_normalize
  • Example#2761 - Exemplo Orientado a Objetos
  • Example#2762 - msgfmt_create example
  • Example#2763 - OO example
  • Example#2764 - msgfmt_format_message example
  • Example#2765 - OO example
  • Example#2766 - msgfmt_format example
  • Example#2767 - OO example
  • Example#2768 - msgfmt_get_error_message example
  • Example#2769 - OO example
  • Example#2770 - msgfmt_get_locale example
  • Example#2771 - OO example
  • Example#2772 - msgfmt_get_pattern example
  • Example#2773 - OO example
  • Example#2774 - msgfmt_parse_message example
  • Example#2775 - OO example
  • Example#2776 - msgfmt_parse example
  • Example#2777 - OO example
  • Example#2778 - msgfmt_set_pattern example
  • Example#2779 - OO example
  • Example#2780 - IntlCalendar::add
  • Example#2781 - IntlCalendar::after
  • Example#2782 - IntlCalendar::clear examples
  • Example#2783 - IntlCalendar::createInstance
  • Example#2784 - IntlCalendar::equals
  • Example#2785 - IntlCalendar::fieldDifference
  • Example#2786 - IntlCalendar::fromDateTime
  • Example#2787 - IntlCalendar::get
  • Example#2788 - IntlCalendar::getActualMaximum
  • Example#2789 - IntlCalendar::getAvailableLocales
  • Example#2790 - IntlCalendar::getDayOfWeekType
  • Example#2791 - IntlCalendar::getErrorCode and IntlCalendar::getErrorMessage
  • Example#2792 - IntlCalendar::getErrorMessage
  • Example#2793 - IntlCalendar::getFirstDayOfWeek
  • Example#2794 - IntlCalendar::getKeyworkValuesForLocale
  • Example#2795 - Maxima examples
  • Example#2796 - IntlCalendar::getLocale
  • Example#2797 - IntlCalendar::getMinimalDaysInFirstWeek
  • Example#2798 - IntlCalendar::getNow
  • Example#2799 - IntlCalendar::getRepeatedWallTimeOption
  • Example#2800 - IntlCalendar::getSkippedWallTimeOption
  • Example#2801 - IntlCalendar::getTime
  • Example#2802 - IntlCalendar::getTimeZone
  • Example#2803 - IntlCalendar::getType
  • Example#2804 - IntlCalendar::inDaylightTime
  • Example#2805 - IntlCalendar::isEquivalentTo
  • Example#2806 - IntlCalendar::isLenient
  • Example#2807 - IntlCalendar::isWeekend
  • Example#2808 - IntlCalendar::roll
  • Example#2809 - IntlCalendar::set
  • Example#2810 - IntlCalendar::setFirstDayOfWeek
  • Example#2811 - IntlCalendar::setTime
  • Example#2812 - IntlCalendar::setTimeZone
  • Example#2813 - IntlCalendar::toDateTime
  • Example#2814 - datefmt_create example
  • Example#2815 - OO example
  • Example#2816 - datefmt_format example
  • Example#2817 - OO example
  • Example#2818 - With IntlCalendar object
  • Example#2819 - IntlDateFormatter::formatObject examples
  • Example#2820 - datefmt_get_calendar example
  • Example#2821 - OO example
  • Example#2822 - datefmt_get_datetype example
  • Example#2823 - OO example
  • Example#2824 - datefmt_get_error_code example
  • Example#2825 - OO example
  • Example#2826 - datefmt_get_error_message example
  • Example#2827 - OO example
  • Example#2828 - datefmt_get_locale example
  • Example#2829 - OO example
  • Example#2830 - datefmt_get_pattern example
  • Example#2831 - OO example
  • Example#2832 - datefmt_get_timetype example
  • Example#2833 - OO example
  • Example#2834 - datefmt_get_timezone_id example
  • Example#2835 - OO example
  • Example#2836 - IntlDateFormatter::getCalendarObject example
  • Example#2837 - IntlDateFormatter::getTimeZone examples
  • Example#2838 - datefmt_is_lenient example
  • Example#2839 - OO example
  • Example#2840 - datefmt_localtime example
  • Example#2841 - OO example
  • Example#2842 - OO example
  • Example#2843 - datefmt_parse example
  • Example#2844 - datefmt_set_calendar example
  • Example#2845 - OO example
  • Example#2846 - Example with IntlCalendar argument
  • Example#2847 - datefmt_set_lenient example
  • Example#2848 - OO example
  • Example#2849 - datefmt_set_pattern example
  • Example#2850 - OO example
  • Example#2851 - IntlDateFormatter::setTimeZone examples
  • Example#2852 - Exempo da função resourcebundle_count
  • Example#2853 - Exemplo usando OO
  • Example#2854 - Exemplo de resourcebundle_create
  • Example#2855 - Exemplo de ResourceBundle::create
  • Example#2856 - Exemplo da função resourcebundle_get_error_code
  • Example#2857 - Exemplo usando OO
  • Example#2858 - Exemplo da função resourcebundle_get_error_message
  • Example#2859 - Exemplo usando OO
  • Example#2860 - Exemplo da função resourcebundle_get
  • Example#2861 - Exemplo usando OO
  • Example#2862 - Exemplo da função resourcebundle_locales
  • Example#2863 - Exemplo usando OO
  • Example#2864 - Spoofchecker::areConfusable example
  • Example#2865 - Spoofchecker::isSuspicious example
  • Example#2866 - Retrieving the registered transliterator IDs
  • Example#2867 - Converting escaped UTF-16 code units
  • Example#2868 - grapheme_extract example
  • Example#2869 - grapheme_stripos example
  • Example#2870 - grapheme_stristr example
  • Example#2871 - grapheme_strlen example
  • Example#2872 - grapheme_strpos example
  • Example#2873 - grapheme_strripos example
  • Example#2874 - grapheme_strrpos example
  • Example#2875 - grapheme_strstr example
  • Example#2876 - grapheme_substr example
  • Example#2877 - idn_to_ascii example
  • Example#2878 - idn_to_utf8 example
  • Example#2879 - Testando codepoints diferentes
  • Example#2880 - Testando codepoints diferentes
  • Example#2881 - Testando codepoints diferentes
  • Example#2882 - Testando codepoints diferentes
  • Example#2883 - Testando codepoints diferentes
  • Example#2884 - Testando codepoints diferentes
  • Example#2885 - Testando codepoints diferentes
  • Example#2886 - Testando codepoints diferentes
  • Example#2887 - Testando codepoints diferentes
  • Example#2888 - Enumerating over a sample range of code points
  • Example#2889 - Enumerating over a sample range of code points
  • Example#2890 - Testando codepoints diferentes
  • Example#2891 - Testando codepoints diferentes
  • Example#2892 - Testando codepoints diferentes
  • Example#2893 - Testando codepoints diferentes
  • Example#2894 - Testando codepoints diferentes
  • Example#2895 - Testando propriedades diferentes
  • Example#2896 - Testando propriedades diferentes
  • Example#2897 - Testando propriedades diferentes
  • Example#2898 - Testando codepoints diferentes
  • Example#2899 - Testando propriedades diferentes
  • Example#2900 - Testando propriedades diferentes
  • Example#2901 - Testando propriedades diferentes
  • Example#2902 - Testando propriedades diferentes
  • Example#2903 - Testando propriedades diferentes
  • Example#2904 - Testando propriedades diferentes
  • Example#2905 - Testando codepoints diferentes
  • Example#2906 - Testando codepoints diferentes
  • Example#2907 - Testando codepoints diferentes
  • Example#2908 - Testando codepoints diferentes
  • Example#2909 - Testando codepoints diferentes
  • Example#2910 - Testando codepoints diferentes
  • Example#2911 - Testando codepoints diferentes
  • Example#2912 - Testando codepoints diferentes
  • Example#2913 - Testando codepoints diferentes
  • Example#2914 - Testando codepoints diferentes
  • Example#2915 - Testando codepoints diferentes
  • Example#2916 - Testando codepoints diferentes
  • Example#2917 - Testando codepoints diferentes
  • Example#2918 - Testando codepoints diferentes
  • Example#2919 - Testando codepoints diferentes
  • Example#2920 - Testando codepoints diferentes
  • Example#2921 - Testando codepoints diferentes
  • Example#2922 - Testando codepoints diferentes
  • Example#2923 - Testando codepoints diferentes
  • Example#2924 - Testando codepoints diferentes
  • Example#2925 - Testando codepoints diferentes
  • Example#2926 - Testando codepoints diferentes
  • Example#2927 - Testando codepoints diferentes
  • Example#2928 - Testando codepoints diferentes
  • Example#2929 - Testando codepoints diferentes
  • Example#2930 - Testando codepoints diferentes
  • Example#2931 - Testando codepoints diferentes
  • Example#2932 - Testando codepoints diferentes
  • Example#2933 - Testando codepoints diferentes
  • Example#2934 - Testando codepoints diferentes
  • Example#2935 - Testando codepoints diferentes
  • Example#2936 - Testando codepoints diferentes
  • Example#2937 - intl_error_name example
  • Example#2938 - intl_get_error_code example
  • Example#2939 - intl_get_error_message example
  • Example#2940 - intl_is_failure example
  • Example#2941 - php.ini setting examples
  • Example#2942 - php.ini setting for EUC-JP users
  • Example#2943 - php.ini setting for SJIS users
  • Example#2944 - Disable HTTP input conversion in php.ini
  • Example#2945 - php.ini setting example
  • Example#2946 - Script example
  • Example#2947 - mb_convert_case example
  • Example#2948 - mb_convert_case example with non-Latin UTF-8 text
  • Example#2949 - mb_convert_encoding example
  • Example#2950 - mb_convert_kana example
  • Example#2951 - mb_convert_variables example
  • Example#2952 - map example
  • Example#2953 - map example escapes JavaScript string
  • Example#2954 - mb_detect_encoding example
  • Example#2955 - mb_detect_order examples
  • Example#2956 - Example showing useless detect orders
  • Example#2957 - mb_encode_mimeheader example
  • Example#2958 - map example
  • Example#2959 - mb_encode_numericentity example
  • Example#2960 - mb_encoding_aliases example
  • Example#2961 - mb_ereg_replace_callback example
  • Example#2962 - mb_ereg_replace_callback using anonymous function supported in PHP 5.3.0 or later
  • Example#2963 - mb_internal_encoding example
  • Example#2964 - mb_list_encodings example
  • Example#2965 - mb_output_handler example
  • Example#2966 - mb_preferred_mime_name example
  • Example#2967 - mb_strimwidth example
  • Example#2968 - Exemplo de mb_strtolower
  • Example#2969 - Exemplo de mb_strtolower com texto UTF-8 não-Latin
  • Example#2970 - mb_strtoupper example
  • Example#2971 - mb_strtoupper example with non-Latin UTF-8 text
  • Example#2972 - mb_strwidth example
  • Example#2973 - mb_substitute_character example
  • Example#2974 - mb_substr_count example
  • Example#2975 - pspell_add_to_personal
  • Example#2976 - pspell_check Example
  • Example#2977 - pspell_add_to_personal Example
  • Example#2978 - pspell_config_create
  • Example#2979 - pspell_config_ignore
  • Example#2980 - pspell_config_mode Example
  • Example#2981 - pspell_config_personal
  • Example#2982 - pspell_config_repl
  • Example#2983 - pspell_config_runtogether
  • Example#2984 - pspell_new_config
  • Example#2985 - pspell_new_personal
  • Example#2986 - pspell_new
  • Example#2987 - pspell_add_to_personal
  • Example#2988 - pspell_store_replacement
  • Example#2989 - pspell_suggest example
  • Example#2990 - Basic recode_file example
  • Example#2991 - Basic recode_string example
  • Example#2992 - Exemplo da exif_imagetype
  • Example#2993 - Exemplo exif_read_data
  • Example#2994 - Exemplo da exif_thumbnail
  • Example#2995 - Criação de PNG com PHP
  • Example#2996 - Usando a gd_info
  • Example#2997 - getimagesize (file)
  • Example#2998 - getimagesize (URL)
  • Example#2999 - getimagesize() e tipos MIME
  • Example#3000 - getimagesize() retornando IPTC
  • Example#3001 - getimagesizefromstring example
  • Example#3002 - image_type_to_extension example
  • Example#3003 - image_type_to_mime_type (arquivo)
  • Example#3004 - Exemplo image2wbmp
  • Example#3005 - imageaffinematrixconcat example
  • Example#3006 - imageaffinematrixget example
  • Example#3007 - imagealphablending usage example
  • Example#3008 - Desenhando um círculo com imagearc
  • Example#3009 - Saving a BMP file
  • Example#3010 - Exemplo imagechar
  • Example#3011 - Exemplo imagecharup
  • Example#3012 - Exemplo de uso de imagecolorallocatealpha
  • Example#3013 - Acessando os valores RGB distintos
  • Example#3014 - Example of using imagecolorclosesthwb
  • Example#3015 - imagecolorset example
  • Example#3016 - Exemplo imagecolorsforindex
  • Example#3017 - Embossing the PHP.net logo
  • Example#3018 - Gaussian blur
  • Example#3019 - imagecopymergegray usage
  • Example#3020 - Simple example
  • Example#3021 - Resampling an image proportionally
  • Example#3022 - Resizing an image
  • Example#3023 - Criando um novo stream de imagem GD e mostrando uma imagem.
  • Example#3024 - Convert an BMP image to a PNG image using imagecreatefrombmp
  • Example#3025 - Exemplo de como manipular um erro durante a criação
  • Example#3026 - Exemplo de como manipular um erro durante a criação
  • Example#3027 - Exemplo de como manipular um erro durante a criação
  • Example#3028 - Exemplo de como manipular um erro durante a criação
  • Example#3029 - Convert an WebP image to a jpeg image using imagecreatefromwebp
  • Example#3030 - Criando um novo stream de imagem GD e enviando a imagem.
  • Example#3031 - imagecrop example
  • Example#3032 - Proper handling of auto-cropping
  • Example#3033 - Exemplo imageellipse
  • Example#3034 - imagefill example
  • Example#3035 - Creating a 3D looking pie
  • Example#3036 - Exemplo imagefilledellipse
  • Example#3037 - Exemplo imagefilledpolygon
  • Example#3038 - Filling an ellipse with a color
  • Example#3039 - imagefilter grayscale example
  • Example#3040 - imagefilter brightness example
  • Example#3041 - imagefilter colorize example
  • Example#3042 - imagefilter negate example
  • Example#3043 - imagefilter pixelate example
  • Example#3044 - imagefilter scatter example
  • Example#3045 - Flips an image vertically
  • Example#3046 - Flips the image horizontally
  • Example#3047 - imageftbbox example
  • Example#3048 - imagegammacorrect usage
  • Example#3049 - imagegetclip example
  • Example#3050 - imagegrabscreen example
  • Example#3051 - imagegrabwindow example
  • Example#3052 - imagelayereffect example
  • Example#3053 - Desenhando uma linha
  • Example#3054 - Usando imageloadfont
  • Example#3055 - imageopenpolygon example
  • Example#3056 - Converts any image resource to true color
  • Example#3057 - Exemplo imagepolygon
  • Example#3058 - Setting and getting the resolution of an image
  • Example#3059 - imagesetbrush example
  • Example#3060 - imagesetinterpolation example
  • Example#3061 - imagesetstyle example
  • Example#3062 - imagesettile example
  • Example#3063 - Exemplo da imagestring
  • Example#3064 - Usando imagesx
  • Example#3065 - Usando imagesy
  • Example#3066 - Exemplo imagettftext
  • Example#3067 - Verificando o suporte a PNG
  • Example#3068 - Saving an WebP file
  • Example#3069 - Saving an XBM file
  • Example#3070 - Saving an XBM file with a different foreground color
  • Example#3071 - Gmagick Example
  • Example#3072 - Gmagick::despeckleimage example
  • Example#3073 - Gmagick::setCompressionQuality
  • Example#3074 - Creating a thumbnail in Imagick
  • Example#3075 - Make a thumbnail of all JPG files in a directory
  • Example#3076 - Creating a reflection of an image
  • Example#3077 - Filling text with gradient
  • Example#3078 - Read in GIF image and resize all frames
  • Example#3079 - Create a PHP logo
  • Example#3080 - Using Imagick::adaptiveBlurImage:
  • Example#3081 - Using Imagick::adaptiveResizeImage
  • Example#3082 - A Imagick::adaptiveSharpenImage example
  • Example#3083 - Imagick::adaptiveThresholdImage
  • Example#3084 - Imagick::addNoiseImage
  • Example#3085 - Imagick::affineTransformImage
  • Example#3086 - Using Imagick::annotateImage:
  • Example#3087 - Imagick::appendImages example
  • Example#3088 - Imagick::autoLevelImage
  • Example#3089 - Imagick::blackThresholdImage
  • Example#3090 - Imagick::blueShiftImage
  • Example#3091 - Using Imagick::blurImage:
  • Example#3092 - Imagick::borderImage
  • Example#3093 - Imagick::brightnessContrastImage
  • Example#3094 - Imagick::charcoalImage
  • Example#3095 - Using Imagick::chopImage:
  • Example#3096 - Imagick object cloning in different versions of imagick
  • Example#3097 - Using Imagick::clutImage:
  • Example#3098 - Imagick::colorizeImage
  • Example#3099 - Imagick::colorMatrixImage
  • Example#3100 - Using Imagick::commentImage:
  • Example#3101 - Using Imagick::compareImageLayers
  • Example#3102 - Using Imagick::compareImages:
  • Example#3103 - Using Imagick::compositeImage:
  • Example#3104 - Imagick::contrastImage
  • Example#3105 - Imagick::convolveImage
  • Example#3106 - Imagick::cropImage
  • Example#3107 - Imagick::deskewImage
  • Example#3108 - Imagick::despeckleImage
  • Example#3109 - Using Imagick::distortImage:
  • Example#3110 - Imagick::edgeImage
  • Example#3111 - Imagick::embossImage
  • Example#3112 - Imagick::enhanceImage
  • Example#3113 - Imagick::equalizeImage
  • Example#3114 - Using Imagick::evaluateImage
  • Example#3115 - Using Imagick::exportImagePixels
  • Example#3116 - Imagick::filter
  • Example#3117 - Imagick::flipImage
  • Example#3118 - Imagick::floodfillPaintImage example
  • Example#3119 - Imagick::flopImage
  • Example#3120 - Imagick::forwardFourierTransformImage
  • Example#3121 - Imagick::frameImage
  • Example#3122 - Create a sinusoidal gradient
  • Example#3123 - Create a gradient from the polynomial (4x^2 - 4x + 1)
  • Example#3124 - Create a complex gradient from the polynomial (4x^2 - 4x^2 + 1) modulated by a sinusoidal gradient
  • Example#3125 - Imagick::fxImage
  • Example#3126 - Imagick::gammaImage
  • Example#3127 - Imagick::gaussianBlurImage
  • Example#3128 - Imagick::getImageGeometry
  • Example#3129 - Generates Imagick::getImageHistogram
  • Example#3130 - Using Imagick::getImageLength:
  • Example#3131 - Using Imagick::getImageProperties:
  • Example#3132 - Using Imagick::getImageProperty:
  • Example#3133 - Using Imagick::getIteratorIndex:
  • Example#3134 - Imagick::getPixelIterator
  • Example#3135 - Imagick::getPixelRegionIterator example
  • Example#3136 - Getting the size of a raw RGB image set at 200x400, after scaling to 400x800 (compared to width / height)
  • Example#3137 - Imagick::haldClutImage
  • Example#3138 - Imagick::identifyFormat
  • Example#3139 - Example Result Format
  • Example#3140 - Imagick::implodeImage
  • Example#3141 - Imagick::importImagePixels example
  • Example#3142 - Imagick::levelImage
  • Example#3143 - Imagick::linearStretchImage
  • Example#3144 - Imagick::magnifyImage
  • Example#3145 - Imagick::medianFilterImage
  • Example#3146 - Imagick::mergeImageLayers
  • Example#3147 - Imagick::modulateImage
  • Example#3148 - Convolve Imagick::morphology
  • Example#3149 - Correlate Imagick::morphology
  • Example#3150 - Erode Imagick::morphology
  • Example#3151 - Erode Intensity Imagick::morphology
  • Example#3152 - Dilate Imagick::morphology
  • Example#3153 - Dilate intensity Imagick::morphology
  • Example#3154 - Distance with Chebyshev kernel Imagick::morphology
  • Example#3155 - Distance with Manhattan kernel Imagick::morphology
  • Example#3156 - Distance with ocatagonal kernel Imagick::morphology
  • Example#3157 - Distance with Euclidean kernel Imagick::morphology
  • Example#3158 - Edge Imagick::morphology
  • Example#3159 - Open Imagick::morphology
  • Example#3160 - Open intensity Imagick::morphology
  • Example#3161 - Close Imagick::morphology
  • Example#3162 - Close Intensity Imagick::morphology
  • Example#3163 - Smooth Imagick::morphology
  • Example#3164 - Edge in Imagick::morphology
  • Example#3165 - Edge out Imagick::morphology
  • Example#3166 - The 'TopHat' method, or more specifically 'White Top Hat', returns the pixels that were removed by a Opening of the shape, that is the pixels that were removed to round off the points, and the connecting bridged between shapes. Imagick::morphology
  • Example#3167 - The 'BottomHat' method, also known as 'Black TopHat' is the pixels that a Closing of the shape adds to the image. That is the pixels that were used to fill in the 'holes', 'gaps', and 'bridges'. Imagick::morphology
  • Example#3168 - Hit and Miss Imagick::morphology
  • Example#3169 - Thinning Imagick::morphology
  • Example#3170 - Thicken Imagick::morphology
  • Example#3171 - Thick to generate a convex hull Imagick::morphology
  • Example#3172 - Iterative morphology Imagick::morphology
  • Example#3173 - Helper functon to get an image silhouette Imagick::morphology
  • Example#3174 - Imagick::motionBlurImage
  • Example#3175 - Imagick::negateImage
  • Example#3176 - Using Imagick::newImage:
  • Example#3177 - Imagick::newPseudoImage
  • Example#3178 - Imagick::normalizeImage
  • Example#3179 - Imagick::oilPaintImage
  • Example#3180 - Using Imagick::optimizeImageLayers
  • Example#3181 - Imagick::orderedPosterizeImage
  • Example#3182 - Using Imagick::pingImageBlob
  • Example#3183 - Using Imagick::pingImageFile
  • Example#3184 - A Imagick::polaroidImage example
  • Example#3185 - Imagick::posterizeImage
  • Example#3186 - Imagick::quantizeImage
  • Example#3187 - Using Imagick::queryFontMetrics:
  • Example#3188 - Imagick::queryFonts
  • Example#3189 - Imagick::queryFormats
  • Example#3190 - Imagick::radialBlurImage
  • Example#3191 - Imagick::raiseImage
  • Example#3192 - Imagick::randomThresholdImage
  • Example#3193 - Imagick::readImageBlob
  • Example#3194 - Imagick::recolorImage
  • Example#3195 - Imagick::reduceNoiseImage
  • Example#3196 - Imagick::resampleImage
  • Example#3197 - Imagick::resizeImage
  • Example#3198 - Imagick::rollImage
  • Example#3199 - Imagick::rotateImage
  • Example#3200 - Imagick::rotationalBlurImage
  • Example#3201 - Using Imagick::roundCorners:
  • Example#3202 - Imagick::scaleImage
  • Example#3203 - Imagick::segmentImage
  • Example#3204 - Imagick::selectiveBlurImage
  • Example#3205 - Imagick::separateImageChannel
  • Example#3206 - Imagick::sepiaToneImage
  • Example#3207 - Imagick::setCompressionQuality
  • Example#3208 - A Imagick::setFont example
  • Example#3209 - A Imagick::setImage example
  • Example#3210 - Imagick::setImageArtifact
  • Example#3211 - Imagick::setImageBias
  • Example#3212 - Imagick::setImageClipMask
  • Example#3213 - Imagick::setImageCompressionQuality
  • Example#3214 - Modify animated Gif with Imagick::setImageDelay
  • Example#3215 - Basic Imagick::setImageIterations usage
  • Example#3216 - A Imagick::setImageOpacity example
  • Example#3217 - Imagick::setImageOrientation
  • Example#3218 - Using Imagick::setImageProperty:
  • Example#3219 - Imagick::setImageResolution
  • Example#3220 - Modify animated Gif with Imagick::setImageTicksPerSecond
  • Example#3221 - Using Imagick::setIteratorIndex:
  • Example#3222 - Attempt to reach '$extent' sizeImagick::setOption
  • Example#3223 - Imagick::setOption
  • Example#3224 - Imagick::setOption
  • Example#3225 - A Imagick::setPointSize example
  • Example#3226 - Imagick::setProgressMonitor
  • Example#3227 - Imagick::setSamplingFactors
  • Example#3228 - Imagick::shadeImage
  • Example#3229 - Imagick::shadowImage
  • Example#3230 - Imagick::sharpenImage
  • Example#3231 - Imagick::shaveImage
  • Example#3232 - Imagick::shearImage
  • Example#3233 - Create a gradient image using Imagick::sigmoidalContrastImage suitable for blending two images together smoothly, with the blending defined by $contrast and $the midpoint
  • Example#3234 - Imagick::sketchImage
  • Example#3235 - Imagick::smushImages
  • Example#3236 - Imagick::solarizeImage
  • Example#3237 - SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage
  • Example#3238 - SPARSECOLORMETHOD_BILINEAR Imagick::sparseColorImage
  • Example#3239 - SPARSECOLORMETHOD_SPEPARDS Imagick::sparseColorImage
  • Example#3240 - SPARSECOLORMETHOD_VORONOI Imagick::sparseColorImage
  • Example#3241 - SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage
  • Example#3242 - createGradientImage is used by other examples. Imagick::sparseColorImage
  • Example#3243 - Imagick::spliceImage
  • Example#3244 - Imagick::spreadImage
  • Example#3245 - Imagick::statisticImage
  • Example#3246 - Imagick::subImageMatch
  • Example#3247 - Imagick::swirlImage
  • Example#3248 - Imagick::textureImage
  • Example#3249 - Imagick::thresholdImage
  • Example#3250 - Imagick::thumbnailImage
  • Example#3251 - Imagick::tintImage
  • Example#3252 - Using Imagick::transformImage:
  • Example#3253 - Imagick::transformImageColorspace example
  • Example#3254 - Imagick::transformImageColorspace
  • Example#3255 - Imagick::transparentPaintImage
  • Example#3256 - Imagick::transposeImage
  • Example#3257 - Imagick::transverseImage
  • Example#3258 - Using Imagick::trimImage:
  • Example#3259 - Imagick::uniqueImageColors
  • Example#3260 - Imagick::unsharpMaskImage
  • Example#3261 - Imagick::vignetteImage
  • Example#3262 - WaveImage can be quite slow Imagick::waveImage
  • Example#3263 - Imagick::whiteThresholdImage
  • Example#3264 - ImagickDraw::affine
  • Example#3265 - ImagickDraw::arc
  • Example#3266 - ImagickDraw::bezier
  • Example#3267 - ImagickDraw::circle
  • Example#3268 - ImagickDraw::composite
  • Example#3269 - ImagickDraw::ellipse
  • Example#3270 - ImagickDraw::line
  • Example#3271 - ImagickDraw::matte
  • Example#3272 - ImagickDraw::pathCurveToQuadraticBezierAbsolute
  • Example#3273 - ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
  • Example#3274 - ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
  • Example#3275 - ImagickDraw::pathStart
  • Example#3276 - ImagickDraw::point
  • Example#3277 - ImagickDraw::polygon
  • Example#3278 - ImagickDraw::polyline
  • Example#3279 - ImagickDraw::popDefs
  • Example#3280 - ImagickDraw::push
  • Example#3281 - ImagickDraw::pushPattern
  • Example#3282 - ImagickDraw::rectangle
  • Example#3283 - ImagickDraw::rotate
  • Example#3284 - ImagickDraw::roundRectangle
  • Example#3285 - ImagickDraw::scale
  • Example#3286 - ImagickDraw::setClipPath
  • Example#3287 - ImagickDraw::setClipRule
  • Example#3288 - ImagickDraw::setClipUnits
  • Example#3289 - ImagickDraw::setFillAlpha
  • Example#3290 - ImagickDraw::setFillColor
  • Example#3291 - ImagickDraw::setFillOpacity
  • Example#3292 - ImagickDraw::setFillRule
  • Example#3293 - ImagickDraw::setFont
  • Example#3294 - ImagickDraw::setFontFamily
  • Example#3295 - ImagickDraw::setFontSize
  • Example#3296 - ImagickDraw::setFontStretch
  • Example#3297 - ImagickDraw::setFontStyle
  • Example#3298 - ImagickDraw::setFontWeight
  • Example#3299 - ImagickDraw::setGravity
  • Example#3300 - ImagickDraw::setStrokeAlpha
  • Example#3301 - ImagickDraw::setStrokeAntialias
  • Example#3302 - ImagickDraw::setStrokeColor
  • Example#3303 - ImagickDraw::setStrokeDashArray
  • Example#3304 - ImagickDraw::setStrokeDashOffset
  • Example#3305 - ImagickDraw::setStrokeLineCap
  • Example#3306 - ImagickDraw::setStrokeLineJoin
  • Example#3307 - ImagickDraw::setStrokeMiterLimit
  • Example#3308 - ImagickDraw::setStrokeOpacity
  • Example#3309 - ImagickDraw::setStrokeWidth
  • Example#3310 - ImagickDraw::setTextAlignment
  • Example#3311 - ImagickDraw::setTextAntialias
  • Example#3312 - ImagickDraw::setTextDecoration
  • Example#3313 - ImagickDraw::setTextUnderColor
  • Example#3314 - ImagickDraw::setVectorGraphics
  • Example#3315 - ImagickDraw::setViewBox
  • Example#3316 - ImagickDraw::skewX
  • Example#3317 - ImagickDraw::skewY
  • Example#3318 - ImagickDraw::translate
  • Example#3319 - ImagickPixel::construct
  • Example#3320 - Basic Imagick::getColor usage
  • Example#3321 - Basic Imagick::getColorAsString usage
  • Example#3322 - ImagickPixel getColorCount
  • Example#3323 - Basic Imagick::getColorValue usage
  • Example#3324 - ImagickPixel::getColorValueQuantum
  • Example#3325 - Basic Imagick::getHSL example
  • Example#3326 - ImagickPixel::isSimilar
  • Example#3327 - ImagickPixel::setColor
  • Example#3328 - Basic Imagick::setColorValue usage
  • Example#3329 - ImagickPixel::setColorValueQuantum
  • Example#3330 - Use ImagickPixel::setHSL to modify a color
  • Example#3331 - ImagickPixelIterator::clear
  • Example#3332 - ImagickPixelIterator::construct
  • Example#3333 - ImagickPixelIterator::getNextIteratorRow
  • Example#3334 - ImagickPixelIterator::resetIterator
  • Example#3335 - ImagickPixelIterator::setIteratorRow
  • Example#3336 - ImagickKernel::addKernel
  • Example#3337 - ImagickKernel::addUnityKernel
  • Example#3338 - ImagickKernel::addUnityKernel
  • Example#3339 - ImagickKernel::fromBuiltin
  • Example#3340 - ImagickKernel::fromMatrix
  • Example#3341 - ImagickKernel::getMatrix
  • Example#3342 - ImagickKernel::scale
  • Example#3343 - ImagickKernel::separate
  • Example#3344 - imap_append example
  • Example#3345 - imap_check example
  • Example#3346 - imap_createmailbox example
  • Example#3347 - imap_delete example
  • Example#3348 - imap_fetch_overview example
  • Example#3349 - imap_gc example
  • Example#3350 - imap_get_quota example
  • Example#3351 - imap_get_quota 4.3 or greater example
  • Example#3352 - imap_get_quotaroot example
  • Example#3353 - imap_getacl example
  • Example#3354 - imap_getmailboxes example
  • Example#3355 - imap_list example
  • Example#3356 - imap_mail_compose example
  • Example#3357 - imap_mailboxmsginfo example
  • Example#3358 - imap_mime_header_decode example
  • Example#3359 - Different use of imap_open
  • Example#3360 - imap_open example
  • Example#3361 - imap_ping Example
  • Example#3362 - imap_reopen example
  • Example#3363 - imap_rfc822_parse_adrlist example
  • Example#3364 - imap_rfc822_write_address example
  • Example#3365 - imap_search example
  • Example#3366 - imap_set_quota example
  • Example#3367 - imap_setflag_full example
  • Example#3368 - imap_status example
  • Example#3369 - imap_thread Example
  • Example#3370 - imap_timeout example
  • Example#3371 - Basic imap_utf8 Usage
  • Example#3372 - Calculando o hash e inscrevendo um usuário
  • Example#3373 - Enviando email.
  • Example#3374 - Enviando email com cabeçalhos extra.
  • Example#3375 - Enviando email com um parâmetro adicional da linha de comando.
  • Example#3376 - Enviando e-mail com um parâmetro de linha de comando adicional.
  • Example#3377 - Enviando email HTML
  • Example#3378 - mailparse_determine_best_xfer_encoding example
  • Example#3379 - mailparse_rfc822_parse_addresses example
  • Example#3380 - mailparse_stream_encode example
  • Example#3381 - mailparse_uudecode_all example
  • Example#3382 - Exemplo bcadd
  • Example#3383 - Exemplo da bccomp
  • Example#3384 - Exemplo da bcdiv
  • Example#3385 - Exemplo da bcmod
  • Example#3386 - Exemplo da bcmul
  • Example#3387 - Exemplo da bcpow
  • Example#3388 - Exemplo bcpow com scale
  • Example#3389 - Exemplo da bcscale
  • Example#3390 - Exemplo de bcsqrt
  • Example#3391 - Exemplo de bcsub
  • Example#3392 - Função factorial usando GMP
  • Example#3393 - Exemplo da gmp_abs
  • Example#3394 - Exemplo gmp_add
  • Example#3395 - Exemplo da gmp_and
  • Example#3396 - gmp_clrbit example
  • Example#3397 - Exemplo da gmp_cmp
  • Example#3398 - Exemplo gmp_com
  • Example#3399 - Exemplo da gmp_div_q
  • Example#3400 - Divisão de números GMP
  • Example#3401 - Exemplo da gmp_div_r
  • Example#3402 - Exemplo gmp_divexact
  • Example#3403 - gmp_export example
  • Example#3404 - Exemplo gmp_fact
  • Example#3405 - Exemplo da gmp_gcd
  • Example#3406 - Resolvendo uma equação linear Diophantine
  • Example#3407 - Exemplo da gmp_hamdist
  • Example#3408 - gmp_import example
  • Example#3409 - Criando um número GMP
  • Example#3410 - Exemplo gmp_intval
  • Example#3411 - gmp_invert example
  • Example#3412 - Exemplo gmp_jacobi
  • Example#3413 - Exemplo da gmp_legendre
  • Example#3414 - Exemplo da gmp_mod
  • Example#3415 - Exemplo da gmp_mul
  • Example#3416 - Exemplo da gmp_neg
  • Example#3417 - Exemplo da gmp_nextprime
  • Example#3418 - Exemplo da gmp_or
  • Example#3419 - gmp_perfect_square example
  • Example#3420 - Exemplo da gmp_popcount
  • Example#3421 - Exemplo gmp_pow
  • Example#3422 - Exemplo da gmp_powm
  • Example#3423 - Exemplo da gmp_prob_prime
  • Example#3424 - gmp_random_bits example
  • Example#3425 - gmp_random_range example
  • Example#3426 - gmp_random_seed example
  • Example#3427 - Exemplo da gmp_random
  • Example#3428 - gmp_scan0 example
  • Example#3429 - gmp_scan1 example
  • Example#3430 - gmp_setbit example - 0 index
  • Example#3431 - gmp_setbit example - 1 index
  • Example#3432 - gmp_setbit example - clearing a bit
  • Example#3433 - Exemplo da gmp_sign
  • Example#3434 - Exemplo gmp_sqrt
  • Example#3435 - Exemplo da gmp_sqrtrem
  • Example#3436 - Convertendo um número GMP para uma string
  • Example#3437 - Exemplo da gmp_sub
  • Example#3438 - gmp_testbit example
  • Example#3439 - Exemplo da gmp_xor
  • Example#3440 - Exemplo da abs
  • Example#3441 - Exemplo de base_convert
  • Example#3442 - Exemplo da bindec
  • Example#3443 - ceil example
  • Example#3444 - Exemplo da cos
  • Example#3445 - Exemplo da decbin
  • Example#3446 - Exemplo da dechex
  • Example#3447 - Exemplo da decoct
  • Example#3448 - Exemplo da deg2rad
  • Example#3449 - Exemplo da exp
  • Example#3450 - Using fdiv
  • Example#3451 - Exemplos de floor
  • Example#3452 - Usando fmod
  • Example#3453 - exemplos hexdec
  • Example#3454 - intdiv examplo
  • Example#3455 - Exemplo de is_nan
  • Example#3456 - Exemplos de max
  • Example#3457 - Exemplos de min
  • Example#3458 - Calcula um número aleatório de ponto flutuante
  • Example#3459 - mt_rand example
  • Example#3460 - Exemplo da mt_srand
  • Example#3461 - Exemplo da octdec
  • Example#3462 - Exemplo da pi
  • Example#3463 - Alguns exemplos de pow
  • Example#3464 - Exemplo da rad2deg
  • Example#3465 - Exemplo da rand
  • Example#3466 - Exemplos da round
  • Example#3467 - Exemplo da sin
  • Example#3468 - Exemplo da sqrt
  • Example#3469 - Exemplo da função srand
  • Example#3470 - Exemplo da tan
  • Example#3471 - Evaluating a FDF document
  • Example#3472 - Adding JavaScript code to a FDF
  • Example#3473 - Populating a PDF document
  • Example#3474 - Storing an uploaded file
  • Example#3475 - Detecting all fieldnames in a FDF
  • Example#3476 - Accessing the form data
  • Example#3477 - Accessing the form data
  • Example#3478 - Retrieving FDF as a string
  • Example#3479 - Passing FDF data to a second form
  • Example#3480 - gnupg clearsign example (procedural)
  • Example#3481 - gnupg clearsign example (OO)
  • Example#3482 - keylistiterator
  • Example#3483 - Procedural gnupg_adddecryptkey example
  • Example#3484 - OO gnupg_adddecryptkey example
  • Example#3485 - Procedural gnupg_addencryptkey example
  • Example#3486 - OO gnupg_addencryptkey example
  • Example#3487 - Procedural gnupg_addsignkey example
  • Example#3488 - OO gnupg_addsignkey example
  • Example#3489 - Procedural gnupg_cleardecryptkeys example
  • Example#3490 - OO gnupg_cleardecryptkeys example
  • Example#3491 - Procedural gnupg_clearencryptkeys example
  • Example#3492 - OO gnupg_clearencryptkeys example
  • Example#3493 - Procedural gnupg_clearsignkeys example
  • Example#3494 - OO gnupg_clearsignkeys example
  • Example#3495 - Procedural gnupg_decrypt example
  • Example#3496 - OO gnupg_decrypt example
  • Example#3497 - Procedural gnupg_decryptverify example
  • Example#3498 - OO gnupg_decryptverify example
  • Example#3499 - Procedural gnupg_encrypt example
  • Example#3500 - OO gnupg_encrypt example
  • Example#3501 - Procedural gnupg_encryptsign example
  • Example#3502 - OO gnupg_encryptsign example
  • Example#3503 - Procedural gnupg_export example
  • Example#3504 - OO gnupg_export example
  • Example#3505 - Procedural gnupg_geterror example
  • Example#3506 - OO gnupg_geterror example
  • Example#3507 - Procedural gnupg_getprotocol example
  • Example#3508 - OO gnupg_getprotocol example
  • Example#3509 - Procedural gnupg_import example
  • Example#3510 - OO gnupg_import example
  • Example#3511 - Procedural gnupg_init example
  • Example#3512 - OO gnupg initializer example
  • Example#3513 - Procedural gnupg_keyinfo example
  • Example#3514 - OO gnupg_keyinfo example
  • Example#3515 - Procedural gnupg_setarmor example
  • Example#3516 - OO gnupg_setarmor example
  • Example#3517 - Procedural gnupg_seterrormode example
  • Example#3518 - OO gnupg_seterrormode example
  • Example#3519 - Procedural gnupg_setsignmode example
  • Example#3520 - OO gnupg_setsignmode example
  • Example#3521 - Procedural gnupg_sign example
  • Example#3522 - OO gnupg_sign example
  • Example#3523 - Procedural gnupg_verify example
  • Example#3524 - OO gnupg_verify example
  • Example#3525 - Creating and using a pattern
  • Example#3526 - Creating and using a template
  • Example#3527 - Hyphennate a text
  • Example#3528 - Drawing a rectangle
  • Example#3529 - Creating and using a spot color
  • Example#3530 - Rotation of the coordinate system
  • Example#3531 - Placing text at a given position
  • Example#3532 - Drawing a dashed line
  • Example#3533 - Translation of the coordinate system
  • Example#3534 - A rpmdbinfo example
  • Example#3535 - Searching for the package owning a file
  • Example#3536 - A rpminfo example
  • Example#3537 - example
  • Example#3538 - example
  • Example#3539 - example
  • Example#3540 - example
  • Example#3541 - example
  • Example#3542 - example
  • Example#3543 - example
  • Example#3544 - example
  • Example#3545 - example
  • Example#3546 - example
  • Example#3547 - example
  • Example#3548 - example
  • Example#3549 - example
  • Example#3550 - example
  • Example#3551 - example
  • Example#3552 - example
  • Example#3553 - example
  • Example#3554 - example
  • Example#3555 - example
  • Example#3556 - Incorrect requests
  • Example#3557 - Calling request from a request callback
  • Example#3558 - Calling request from a request callback
  • Example#3559 - Using eio with libevent
  • Example#3560 - Cancelling a request
  • Example#3561 - Calling eio_chmod
  • Example#3562 - Making a custom request
  • Example#3563 - Grouping requests
  • Example#3564 - Using eio with libevent extension
  • Example#3565 - Using eio with event extension
  • Example#3566 - eio_cancel example
  • Example#3567 - eio_custom example
  • Example#3568 - eio_event_loop example
  • Example#3569 - eio_lstat example
  • Example#3570 - Using eio with libevent
  • Example#3571 - Grouping requests
  • Example#3572 - eio_grp example
  • Example#3573 - eio_link example
  • Example#3574 - eio_lstat example
  • Example#3575 - eio_mkdir example
  • Example#3576 - eio_mknod example
  • Example#3577 - eio_nreqs example
  • Example#3578 - eio_open example
  • Example#3579 - eio_poll example
  • Example#3580 - eio_read example
  • Example#3581 - eio_readdir example
  • Example#3582 - eio_readlink example
  • Example#3583 - eio_realpath example
  • Example#3584 - eio_rename example
  • Example#3585 - eio_rmdir example
  • Example#3586 - eio_stat example
  • Example#3587 - eio_statvfs example
  • Example#3588 - eio_symlink example
  • Example#3589 - Simple timers
  • Example#3590 - Periodic timer. Tick each 10.5 seconds
  • Example#3591 - Periodic timer. Use reschedule callback
  • Example#3592 - Periodic timer. Tick every 10.5 seconds starting at now
  • Example#3593 - Wait until STDIN is readable
  • Example#3594 - Use some async I/O to access a socket
  • Example#3595 - Embedding one loop into another
  • Example#3596 - Embedding loop created with kqueue backend into the default loop
  • Example#3597 - Handle SIGTERM signal
  • Example#3598 - Monitor changes of /var/log/messages
  • Example#3599 - Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay
  • Example#3600 - Process status changes
  • Example#3601 - Using reschedule callback
  • Example#3602 - Embedding loop created with kqueue backend into the default loop
  • Example#3603 - Embedding one loop into another
  • Example#3604 - Embedding loop created with kqueue backend into the default loop
  • Example#3605 - Embedding loop created with kqueue backend into the default loop
  • Example#3606 - Periodic timer. Use reschedule callback
  • Example#3607 - Periodic timer. Tick every 10.5 seconds starting at now
  • Example#3608 - Hourly watcher
  • Example#3609 - Handle SIGTERM signal
  • Example#3610 - Monitor changes of /var/log/messages
  • Example#3611 - Monitor changes of /var/log/messages
  • Example#3612 - Simple timers
  • Example#3613 - Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay
  • Example#3614 - Register an I/O watcher for some UDP socket but do not keep the event loop from running just because of that watcher.
  • Example#3615 - Expect Usage Example
  • Example#3616 - Another Expect Usage Example
  • Example#3617 - expect_expectl example
  • Example#3618 - expect_popen example
  • Example#3619 - Process Control Example
  • Example#3620 - pcntl_fork example
  • Example#3621 - pcntl_signal_dispatch example
  • Example#3622 - pcntl_signal_get_handler example
  • Example#3623 - pcntl_signal example
  • Example#3624 - pcntl_sigprocmask example
  • Example#3625 - pcntl_sigwaitinfo example
  • Example#3626 - posix_access example
  • Example#3627 - posix_ctermid example
  • Example#3628 - posix_get_last_error example
  • Example#3629 - posix_getcwd example
  • Example#3630 - posix_getegid example
  • Example#3631 - posix_geteuid example
  • Example#3632 - posix_getgid example
  • Example#3633 - Example use of posix_getgrgid
  • Example#3634 - Example use of posix_getgrnam
  • Example#3635 - Example use of posix_getgroups
  • Example#3636 - Example use of posix_getlogin
  • Example#3637 - Example use of posix_getpgid
  • Example#3638 - Example use of posix_getpid
  • Example#3639 - Example use of posix_getppid
  • Example#3640 - Example use of posix_getpwnam
  • Example#3641 - Example use of posix_getpwuid
  • Example#3642 - Example use of posix_getrlimit
  • Example#3643 - Example use of posix_getsid
  • Example#3644 - Example use of posix_getuid
  • Example#3645 - A posix_mknod example
  • Example#3646 - posix_setegid example
  • Example#3647 - posix_setgid example
  • Example#3648 - posix_setuid example
  • Example#3649 - posix_strerror example
  • Example#3650 - Example use of posix_times
  • Example#3651 - Example use of posix_uname
  • Example#3652 - Exemplo escapeshellarg
  • Example#3653 - Exemplo escapeshellcmd
  • Example#3654 - Um exemplo exec
  • Example#3655 - Um exemplo proc_open
  • Example#3656 - Um exemplo da shell_exec
  • Example#3657 - Exemplo da system
  • Example#3658 - Example showing Future as return value
  • Example#3659 - Example showing Future as synchronization point
  • Example#3660 - Fetch a chunk of the property table
  • Example#3661 - Counting the properties of an object
  • Example#3662 - Runtime inheritance
  • Example#3663 - Thread safe objects from closures
  • Example#3664 - Detecting fatal errors in Threads
  • Example#3665 - Detect the state of the referenced object
  • Example#3666 - Detect the state of the referenced object
  • Example#3667 - Detect the state of the referenced object
  • Example#3668 - Locking Object Properties
  • Example#3669 - Merging into the property table of a threaded object
  • Example#3670 - Notifications and Waiting
  • Example#3671 - Notifications and Waiting
  • Example#3672 - Popping the last item from the property table of a threaded object
  • Example#3673 - Shifting the first item from the property table of a threaded object
  • Example#3674 - Synchronizing
  • Example#3675 - Locking the property table of a threaded object
  • Example#3676 - Notifications and Waiting
  • Example#3677 - Return the identity of the Thread or Process that created the referenced Thread
  • Example#3678 - Return the currently executing Thread
  • Example#3679 - Return the identity of the currently executing Thread
  • Example#3680 - Return the identity of the referenced Thread
  • Example#3681 - Execute in the global scope
  • Example#3682 - Detect the state of the referenced Thread
  • Example#3683 - Tell if the referenced Thread was started
  • Example#3684 - Join with the referenced Thread
  • Example#3685 - Kill the referenced Thread
  • Example#3686 - Starting Threads
  • Example#3687 - A basic example of Worker::collect
  • Example#3688 - A basic example of Worker::getStacked
  • Example#3689 - Detect the state of a worker
  • Example#3690 - Detect the state of a Worker
  • Example#3691 - Shutdown the referenced worker
  • Example#3692 - Stacking a task for execution onto a worker
  • Example#3693 - Removing objects from the stack of Workers
  • Example#3694 - protected method example: protected methods can only be executed by one Thread at a time.
  • Example#3695 - private method example: private methods may only be executed by the Threaded object during execution
  • Example#3696 - A basic example of Pool::collect
  • Example#3697 - Creating Pools
  • Example#3698 - Shutting down a pool
  • Example#3699 - Submitting Tasks
  • Example#3700 - Submitting tasks to a specific worker
  • Example#3701 - Mutex Creation and Destruction
  • Example#3702 - Mutex Creation and Destruction
  • Example#3703 - Mutex Locking and Unlocking
  • Example#3704 - Mutex Locking and Unlocking
  • Example#3705 - Mutex Locking and Unlocking
  • Example#3706 - Condition Broadcasting
  • Example#3707 - Condition Creation and Destruction
  • Example#3708 - Condition Creation and Destruction
  • Example#3709 - Condition Signalling
  • Example#3710 - Waiting for Conditions
  • Example#3711 - New immutability semantics of Threaded
  • Example#3712 - Volatile use-case
  • Example#3713 - Adding a new class task to a thread
  • Example#3714 - Adding a new file task to a thread
  • Example#3715 - Adding a new function task to a thread
  • Example#3716 - Joining a thread
  • Example#3717 - Starting a new thread
  • Example#3718 - Getting the task count of a thread
  • Example#3719 - Locking a hash table's mutex lock
  • Example#3720 - Getting a hash table's size
  • Example#3721 - Locking a hash table's mutex lock
  • Example#3722 - Creating a new vector
  • Example#3723 - Deleting values in a vector
  • Example#3724 - Inserting a value into a vector
  • Example#3725 - Locking a vector's mutex lock
  • Example#3726 - Popping a value from a vector
  • Example#3727 - Pushing values to a vector
  • Example#3728 - Resizing a vector
  • Example#3729 - Shifting a value from a vector
  • Example#3730 - Getting a vector's size
  • Example#3731 - Locking a vector's mutex lock
  • Example#3732 - Unshifting a value to the front of a vector
  • Example#3733 - Updating a value in a vector
  • Example#3734 - Retrieving the front value of a queue
  • Example#3735 - Retrieving the front value in a loop (bad example - don't do this)
  • Example#3736 - Retrieving the front value in a loop (good example)
  • Example#3737 - Locking a queue's mutex lock
  • Example#3738 - Popping a value from a queue
  • Example#3739 - Pushing a value to a queue
  • Example#3740 - Getting a queue's size
  • Example#3741 - Locking a queue's mutex lock
  • Example#3742 - Creating a new atomic integer
  • Example#3743 - Decrementing an atomic integer's value
  • Example#3744 - Getting an atomic integer's value
  • Example#3745 - Incrementing an atomic integer's value
  • Example#3746 - Grouping together an atomic integer's operations (requiring a mutex lock)
  • Example#3747 - Setting an atomic integer's value
  • Example#3748 - Grouping together an atomic integer's operations (requiring a mutex lock)
  • Example#3749 - Visão Geral de Operações de Memória Compartilhada
  • Example#3750 - Fechando um bloco de memória compartilhada
  • Example#3751 - Deletando um bloco de memória compartilhada
  • Example#3752 - Cria um novo bloco de memória compartilhada
  • Example#3753 - Lendo um bloco de memória compartilhada
  • Example#3754 - Pegando o tamanho do bloco de memória compartilhada
  • Example#3755 - Escrevendo em um bloco de memória compartilhada
  • Example#3756 - SyncMutex::__construct named mutex with lock timeout example
  • Example#3757 - SyncMutex::__construct unnamed mutex example
  • Example#3758 - SyncMutex::lock example
  • Example#3759 - SyncMutex::unlock example
  • Example#3760 - SyncSemaphore::__construct example
  • Example#3761 - SyncSemaphore::lock example
  • Example#3762 - SyncSemaphore::unlock example
  • Example#3763 - SyncEvent::__construct example
  • Example#3764 - SyncEvent::fire example
  • Example#3765 - SyncEvent::reset example
  • Example#3766 - SyncEvent::wait example
  • Example#3767 - SyncReaderWriter::__construct example
  • Example#3768 - SyncReaderWriter::readlock example
  • Example#3769 - SyncReaderWriter::readunlock example
  • Example#3770 - SyncReaderWriter::writelock example
  • Example#3771 - SyncReaderWriter::writeunlock example
  • Example#3772 - SyncSharedMemory::__construct example
  • Example#3773 - SyncSharedMemory::first example
  • Example#3774 - SyncSharedMemory::__construct example
  • Example#3775 - SyncSharedMemory::size example
  • Example#3776 - SyncSharedMemory::write example
  • Example#3777 - A geoip_asnum_by_name example
  • Example#3778 - A geoip_continent_code_by_name example
  • Example#3779 - A geoip_country_code_by_name example
  • Example#3780 - A geoip_country_code3_by_name example
  • Example#3781 - A geoip_country_name_by_name example
  • Example#3782 - A geoip_database_info example
  • Example#3783 - A geoip_db_avail example
  • Example#3784 - A geoip_db_filename example
  • Example#3785 - A geoip_db_get_all_info example
  • Example#3786 - A geoip_db_get_all_info example
  • Example#3787 - A geoip_domain_by_name example
  • Example#3788 - A geoip_id_by_name example
  • Example#3789 - A geoip_isp_by_name example
  • Example#3790 - A geoip_netspeedcell_by_name example
  • Example#3791 - A geoip_org_by_name example
  • Example#3792 - A geoip_record_by_name example
  • Example#3793 - A geoip_region_by_name example
  • Example#3794 - A geoip_region_name_by_code example using region code for US/Canada
  • Example#3795 - A geoip_region_name_by_code example using FIPS codes
  • Example#3796 - A geoip_setup_custom_directory example
  • Example#3797 - A geoip_time_zone_by_country_and_region example using region code for US/Canada
  • Example#3798 - A geoip_time_zone_by_country_and_region example using FIPS codes
  • Example#3799 - xor.data file
  • Example#3800 - Simple train
  • Example#3801 - Simple test
  • Example#3802 - fann_create_train_from_callback example
  • Example#3803 - fann_read_train_from_file example
  • Example#3804 - JsonSerializable::jsonSerialize example returning an array
  • Example#3805 - JsonSerializable::jsonSerialize example returning an associative array
  • Example#3806 - JsonSerializable::jsonSerialize example returning an int
  • Example#3807 - JsonSerializable::jsonSerialize example returning a string
  • Example#3808 - json_decode exemplos
  • Example#3809 - Um outro exemplo
  • Example#3810 - Um exemplo da json_encode
  • Example#3811 - Um exemplo de json_encode mostrando algumas opções em uso
  • Example#3812 - Exemplo de array sequencial versus não-sequencial
  • Example#3813 - json_last_error exemplo
  • Example#3814 - json_last_error com json_encode
  • Example#3815 - Exemplo da função Lua::assign
  • Example#3816 - Exemplo da função Lua::call
  • Example#3817 - Exemplo da função Lua::eval
  • Example#3818 - Exemplo da função Lua::registerCallback
  • Example#3819 - Exemplo da função LuaClosure::__invoke
  • Example#3820 - Execute some Lua code
  • Example#3821 - Calling a Lua function
  • Example#3822 - Profiling Lua code
  • Example#3823 - Loading code into Lua
  • Example#3824 - Manipulating the usage timer
  • Example#3825 - Registering PHP functions to call from Lua
  • Example#3826 - Calling a Lua function
  • Example#3827 - Calling a Lua function
  • Example#3828 - Exemplo da constant
  • Example#3829 - Definindo Constantes
  • Example#3830 - Conferindo Constantes
  • Example#3831 - Exemplo eval
  • Example#3832 - Exemplo exit
  • Example#3833 - Exemplo exit com código de estado
  • Example#3834 - Listando todas as informações sobre o navegador do usuário
  • Example#3835 - A __halt_compiler example
  • Example#3836 - Exemplo highlight_string
  • Example#3837 - hrtime usage
  • Example#3838 - pack example
  • Example#3839 - Exemplo da php_strip_whitespace
  • Example#3840 - Basic sapi_windows_generate_ctrl_event Usage
  • Example#3841 - Basic sapi_windows_set_ctrl_handler Usage
  • Example#3842 - sapi_windows_vt100_support default state
  • Example#3843 - sapi_windows_vt100_support changing state
  • Example#3844 - Example usage of VT100 support enabled
  • Example#3845 - Exemplo da sleep
  • Example#3846 - A sys_getloadavg example
  • Example#3847 - Exemplo da time_nanosleep
  • Example#3848 - Um exemplo da time_sleep_until
  • Example#3849 - unpack example
  • Example#3850 - unpack example with a repeater
  • Example#3851 - unpack example with unnamed keys
  • Example#3852 - Exemplo da usleep
  • Example#3853 - Get and set base path
  • Example#3854 - Get and set logger
  • Example#3855 - Fast write log
  • Example#3856 - Fast count some type of log count value
  • Example#3857 - Acquisit some type of log list
  • Example#3858 - seaslog_get_author example
  • Example#3859 - seaslog_get_version example
  • Example#3860 - SeasLog::alert example
  • Example#3861 - SeasLog::analyzerCount example
  • Example#3862 - SeasLog::analyzerDetail example
  • Example#3863 - SeasLog::closeLoggerStream example
  • Example#3864 - SeasLog::__construct example
  • Example#3865 - SeasLog::critical example
  • Example#3866 - SeasLog::debug example
  • Example#3867 - SeasLog::__destruct example
  • Example#3868 - SeasLog::emergency example
  • Example#3869 - SeasLog::error example
  • Example#3870 - SeasLog::flushBuffer example
  • Example#3871 - SeasLog::getBasePath example
  • Example#3872 - SeasLog::getBuffer example
  • Example#3873 - SeasLog::getBufferEnabled example
  • Example#3874 - SeasLog::getDatetimeFormat example
  • Example#3875 - SeasLog::getLastLogger example
  • Example#3876 - SeasLog::getRequestID example
  • Example#3877 - SeasLog::getRequestVariable example
  • Example#3878 - SeasLog::info example
  • Example#3879 - SeasLog::log example
  • Example#3880 - SeasLog::notice example
  • Example#3881 - SeasLog::setBasePath example
  • Example#3882 - SeasLog::setDatetimeFormat example
  • Example#3883 - SeasLog::setLogger example
  • Example#3884 - SeasLog::setRequestID example
  • Example#3885 - SeasLog::setRequestVariable example
  • Example#3886 - SeasLog::warning example
  • Example#3887 - SplDoublyLinkedList::__construct example
  • Example#3888 - SplStack::__construct example
  • Example#3889 - SplQueue::__construct example
  • Example#3890 - Efficiently handling tasks with SplQueue
  • Example#3891 - SplFixedArray usage example
  • Example#3892 - SplFixedArray::__construct example
  • Example#3893 - SplFixedArray::count example
  • Example#3894 - SplFixedArray::fromArray example
  • Example#3895 - SplFixedArray::getSize example
  • Example#3896 - SplFixedArray::setSize example
  • Example#3897 - SplFixedArray::toArray example
  • Example#3898 - SplObjectStorage as a set
  • Example#3899 - SplObjectStorage as a map
  • Example#3900 - SplObjectStorage::addAll example
  • Example#3901 - SplObjectStorage::attach example
  • Example#3902 - SplObjectStorage::contains example
  • Example#3903 - SplObjectStorage::count example
  • Example#3904 - SplObjectStorage::current example
  • Example#3905 - SplObjectStorage::detach example
  • Example#3906 - SplObjectStorage::getHash example
  • Example#3907 - SplObjectStorage::getInfo example
  • Example#3908 - SplObjectStorage::key example
  • Example#3909 - SplObjectStorage::next example
  • Example#3910 - SplObjectStorage::offsetExists example
  • Example#3911 - SplObjectStorage::offsetGet example
  • Example#3912 - SplObjectStorage::offsetSet example
  • Example#3913 - SplObjectStorage::offsetUnset example
  • Example#3914 - SplObjectStorage::removeAll example
  • Example#3915 - SplObjectStorage::removeAllExcept example
  • Example#3916 - SplObjectStorage::rewind example
  • Example#3917 - SplObjectStorage::serialize example
  • Example#3918 - SplObjectStorage::setInfo example
  • Example#3919 - SplObjectStorage::unserialize example
  • Example#3920 - SplObjectStorage::valid example
  • Example#3921 - AppendIterator::append example
  • Example#3922 - Iterating AppendIterator with foreach
  • Example#3923 - Iterating AppendIterator with the AppendIterator API
  • Example#3924 - AppendIterator::getInnerIterator example
  • Example#3925 - AppendIterator.getIteratorIndex basic example
  • Example#3926 - AppendIterator::key basic example
  • Example#3927 - Exemplo de ArrayIterator::current
  • Example#3928 - Exemplo de ArrayIterator::key
  • Example#3929 - Exemplo de ArrayIterator::next
  • Example#3930 - Exemplo de ArrayIterator::rewind
  • Example#3931 - Exemplo de ArrayIterator::valid
  • Example#3932 - CachingIterator::getCache example
  • Example#3933 - Available callback arguments
  • Example#3934 - Callback basic examples
  • Example#3935 - Exemplo do DirectoryIterator::getBasename
  • Example#3936 - Exemplo do DirectoryIterator::getExtension
  • Example#3937 - Exemplo do DirectoryIterator::seek
  • Example#3938 - Exemplo do DirectoryIterator::__toString
  • Example#3939 - FilesystemIterator::__construct example
  • Example#3940 - FilesystemIterator::current example
  • Example#3941 - FilesystemIterator::key example
  • Example#3942 - FilesystemIterator::next example
  • Example#3943 - FilesystemIterator::rewind example
  • Example#3944 - FilesystemIterator::key example
  • Example#3945 - FilterIterator::accept example
  • Example#3946 - GlobIterator example
  • Example#3947 - GlobIterator::count example
  • Example#3948 - InfiniteIterator::__construct example
  • Example#3949 - LimitIterator usage example
  • Example#3950 - LimitIterator::__construct example
  • Example#3951 - Iterating a MultipleIterator
  • Example#3952 - NoRewindIterator::__construct example
  • Example#3953 - NoRewindIterator::rewind example
  • Example#3954 - RecursiveArrayIterator::getChildren example
  • Example#3955 - RecursiveArrayIterator::hasChildren example
  • Example#3956 - Available callback arguments
  • Example#3957 - Recursive callback basic example
  • Example#3958 - RecursiveCallbackFilterIterator::hasChildren basic usage
  • Example#3959 - RecursiveDirectoryIterator example
  • Example#3960 - getSubPath example
  • Example#3961 - getSubPathname example
  • Example#3962 - Basic RecursiveFilterIterator example
  • Example#3963 - RecursiveFilterIterator example
  • Example#3964 - Iterating a RecursiveIteratorIterator
  • Example#3965 - RecursiveRegexIterator::__construct example
  • Example#3966 - RecursiveRegexIterator::getChildren example
  • Example#3967 - RecursiveRegexIterator::hasChildren example
  • Example#3968 - RegexIterator::accept example
  • Example#3969 - RegexIterator::__construct example
  • Example#3970 - RegexIterator::getFlags example
  • Example#3971 - RegexIterator::getMode example
  • Example#3972 - RegexIterator::getPregFlags example
  • Example#3973 - RegexIterator::setFlags example
  • Example#3974 - RegexIterator::setMode example
  • Example#3975 - RegexIterator::setPregFlags example
  • Example#3976 - Countable::count example
  • Example#3977 - Basic usage
  • Example#3978 - SeekableIterator::seek example
  • Example#3979 - Exemplo de class_implements
  • Example#3980 - Exemplo de class_parents
  • Example#3981 - class_uses example
  • Example#3982 - iterator_apply example
  • Example#3983 - Exemplo da iterator_to_array
  • Example#3984 - Exemplo despl_classes
  • Example#3985 - Exemplo de spl_object_hash
  • Example#3986 - A spl_object_id example
  • Example#3987 - SplFileInfo::__construct example
  • Example#3988 - SplFileInfo::getBasename example
  • Example#3989 - SplFileInfo::getCTime example
  • Example#3990 - SplFileInfo::getExtension example
  • Example#3991 -
  • Example#3992 - SplFileInfo::getFilename example
  • Example#3993 - SplFileInfo::getGroup example
  • Example#3994 - SplFileInfo::getLinkTarget example
  • Example#3995 - SplFileInfo::getOwner example
  • Example#3996 - SplFileInfo::getPath example
  • Example#3997 - SplFileInfo::getPathInfo example
  • Example#3998 - SplFileInfo::getPathname example
  • Example#3999 - SplFileInfo::getPerms example
  • Example#4000 - SplFileInfo::getRealPath example
  • Example#4001 - SplFileInfo::getType example
  • Example#4002 - SplFileInfo::isDir example
  • Example#4003 - SplFileInfo::isExecutable example
  • Example#4004 - SplFileInfo::isFile example
  • Example#4005 - SplFileInfo::isLink example
  • Example#4006 - SplFileInfo::isReadable example
  • Example#4007 - SplFileInfo::openFile example
  • Example#4008 - SplFileInfo::setFileClass example
  • Example#4009 - SplFileInfo::setFileClass example
  • Example#4010 - SplFileInfo::__toString example
  • Example#4011 - SplFileObject::__construct example
  • Example#4012 - SplFileObject::current example
  • Example#4013 - SplFileObject::eof example
  • Example#4014 - SplFileObject::fflush example
  • Example#4015 - SplFileObject::fgetc example
  • Example#4016 - SplFileObject::fgetcsv example
  • Example#4017 - SplFileObject::READ_CSV example
  • Example#4018 - SplFileObject::fgets example
  • Example#4019 - SplFileObject::fgetss example
  • Example#4020 - SplFileObject::flock example
  • Example#4021 - SplFileObject::fpassthru example
  • Example#4022 - SplFileObject::fputcsv example
  • Example#4023 - SplFileObject::fread example
  • Example#4024 - SplFileObject::fscanf example
  • Example#4025 - SplFileObject::fseek example
  • Example#4026 - SplFileObject::fstat example
  • Example#4027 - SplFileObject::ftell example
  • Example#4028 - SplFileObject::ftruncate example
  • Example#4029 - SplFileObject::fwrite example
  • Example#4030 - SplFileObject::getCsvControl example
  • Example#4031 - SplFileObject::getFlags example
  • Example#4032 - SplFileObject::getMaxLineLen example
  • Example#4033 - SplFileObject::key example
  • Example#4034 - SplFileObject::key example with SplFileObject::setMaxLineLen
  • Example#4035 - SplFileObject::next example
  • Example#4036 - SplFileObject::rewind example
  • Example#4037 - SplFileObject::seek example
  • Example#4038 - SplFileObject::setCsvControl example
  • Example#4039 - SplFileObject::setFlags example
  • Example#4040 - SplFileObject::setMaxLineLen example
  • Example#4041 - SplFileObject::valid example
  • Example#4042 - SplTempFileObject example
  • Example#4043 - ArrayObject::asort example
  • Example#4044 - Exemplo de ArrayObject::__construct
  • Example#4045 - ArrayObject::exchangeArray example
  • Example#4046 - ArrayObject::getArrayCopy example
  • Example#4047 - ArrayObject::getFlags example
  • Example#4048 - Exemplo de ArrayObject::getIterator
  • Example#4049 - ArrayObject::getIteratorClass example
  • Example#4050 - ArrayObject::ksort example
  • Example#4051 - ArrayObject::natcasesort example
  • Example#4052 - ArrayObject::natsort example
  • Example#4053 - ArrayObject::serialize example
  • Example#4054 - ArrayObject::setFlags example
  • Example#4055 - ArrayObject::setIteratorClass example
  • Example#4056 - ArrayObject::uasort example
  • Example#4057 - ArrayObject::uksort example
  • Example#4058 - Using file_get_contents to retrieve data from multiple sources
  • Example#4059 - Making a POST request to an https server
  • Example#4060 - Writing data to a compressed file
  • Example#4061 - A Stream for reading/writing global variables
  • Example#4062 - Listing files from tar archives
  • Example#4063 - stream_bucket_prepend examples
  • Example#4064 - Using stream_context_create
  • Example#4065 - Using stream_context_get_default
  • Example#4066 - stream_context_get_options example
  • Example#4067 - stream_context_get_params example
  • Example#4068 - stream_context_set_default example
  • Example#4069 - A stream_copy_to_stream example
  • Example#4070 - Controlling where filters are applied
  • Example#4071 - Filter for capitalizing characters on foo-bar.txt stream
  • Example#4072 - Registering a generic filter class to match multiple filter names.
  • Example#4073 - Dynamically refiltering a stream
  • Example#4074 - stream_get_contents example
  • Example#4075 - Using stream_get_filters
  • Example#4076 - stream_get_meta_data example
  • Example#4077 - Using stream_get_transports
  • Example#4078 - stream_get_wrappers example
  • Example#4079 - Checking for the existence of a stream wrapper
  • Example#4080 - stream_is_local example
  • Example#4081 - stream_isatty example
  • Example#4082 - stream_notification_callback example
  • Example#4083 - Simple progressbar for commandline download client
  • Example#4084 - stream_resolve_include_path example
  • Example#4085 - stream_select Example
  • Example#4086 - stream_set_timeout example
  • Example#4087 - stream_set_write_buffer example
  • Example#4088 - stream_socket_client example
  • Example#4089 - Using UDP connection
  • Example#4090 - stream_socket_enable_crypto example
  • Example#4091 - A stream_socket_pair example
  • Example#4092 - stream_socket_recvfrom example
  • Example#4093 - stream_socket_sendto Example
  • Example#4094 - Using TCP server sockets
  • Example#4095 - Using UDP server sockets
  • Example#4096 - A stream_socket_shutdown example
  • Example#4097 - How to register a stream wrapper
  • Example#4098 - instalação do tidy manualmente no PHP 4.3.x
  • Example#4099 - Básico uso do Tidy
  • Example#4100 - ob_tidyhandler example
  • Example#4101 - tidy_access_count example
  • Example#4102 - tidy_config_count example
  • Example#4103 - tidy_error_count example
  • Example#4104 - tidy_get_output example
  • Example#4105 - tidy_warning_count example
  • Example#4106 - Retirando os comentários com o tokenizer
  • Example#4107 - Exemplo de uso de token_get_all
  • Example#4108 - Exemplo de token_name
  • Example#4109 - Exemplo da base64_decode
  • Example#4110 - Exemplo base64_encode
  • Example#4111 - Exemplo de uso de get_headers
  • Example#4112 - O que get_meta_tags interpreta
  • Example#4113 - O que get_meta_tags retorna
  • Example#4114 - Exemplo de uso de http_build_query
  • Example#4115 - http_build_query com elementos indexados numericamente.
  • Example#4116 - http_build_query com arrays complexos
  • Example#4117 - Usando http_build_query com um objeto
  • Example#4118 - Um exemplo da parse_url
  • Example#4119 - Um exemplo da parse_url sem o protocolo
  • Example#4120 - Exemplo da rawurldecode
  • Example#4121 - Incluindo uma senha em uma URL de FTP
  • Example#4122 - Exemplo 2 de rawurlencode
  • Example#4123 - Exemplo da urldecode
  • Example#4124 - Exemplo urlencode
  • Example#4125 - Exemplo urlencode e htmlentities
  • Example#4126 - Basic Javascript execution
  • Example#4127 - Yaml Example
  • Example#4128 - Parse callback example
  • Example#4129 - Emit callback example
  • Example#4130 - yaml_emit example
  • Example#4131 - yaml_parse example
  • Example#4132 - A classic Application directory layout
  • Example#4133 - Entry
  • Example#4134 - Rewrite rule
  • Example#4135 - Application config
  • Example#4136 - Default controller
  • Example#4137 - Default view template
  • Example#4138 - Run the Application
  • Example#4139 - An PHP array example
  • Example#4140 - An ini file example
  • Example#4141 - A Bootstrapexample
  • Example#4142 - Yaf_Application::bootstrapexample
  • Example#4143 - Yaf_Application::clearLastErrorexample
  • Example#4144 - A ini config file example
  • Example#4145 - Yaf_Application::__constructexample
  • Example#4146 - Yaf_Application::__constructexample
  • Example#4147 - Yaf_Application::environexample
  • Example#4148 - Yaf_Application::executeexample
  • Example#4149 - Yaf_Application::getConfigexample
  • Example#4150 - Yaf_Application::getDispatcherexample
  • Example#4151 - Yaf_Application::getLastErrorMsgexample
  • Example#4152 - Yaf_Application::getLastErrorNoexample
  • Example#4153 - Yaf_Application::getModulesexample
  • Example#4154 - Bootstrap example
  • Example#4155 - Yaf_Dispatcher::autoRenderexample
  • Example#4156 - Yaf_Dispatcher::catchExceptionexample
  • Example#4157 - Yaf_Dispatcher::registerPluginexample
  • Example#4158 - A custom View engineexample
  • Example#4159 - Yaf_Dispatcher::setViewexample
  • Example#4160 - Yaf_Dispatcher::throwexceptionexample
  • Example#4161 - Yaf_Dispatcher::throwexceptionexample
  • Example#4162 - Yaf_Config_Iniexample
  • Example#4163 - define action in a separate file
  • Example#4164 - Dummy_action.php
  • Example#4165 - Yaf_Controller_Abstract::forwardexample
  • Example#4166 - Yaf_Action_Abstract::executeexample
  • Example#4167 - Yaf_Action_Abstract::executeexample
  • Example#4168 - Yaf_View_Simple::assignexample
  • Example#4169 - templateexample
  • Example#4170 - Yaf_View_Simple::assignRefexample
  • Example#4171 - templateexample
  • Example#4172 - Yaf_View_Simple::clearexample
  • Example#4173 - Yaf_View_Simple::__constructorexample
  • Example#4174 - Yaf_View_Simple::__setexample
  • Example#4175 - Config example
  • Example#4176 - Register localnamespace
  • Example#4177 - Load class example
  • Example#4178 - Load namespace class example
  • Example#4179 - MVC class loading example
  • Example#4180 - MVC class distinctions
  • Example#4181 - MVC loading example
  • Example#4182 - Yaf_Loader::registerNamespaceexample
  • Example#4183 - Yaf_Loader::registerLocalNamespaceexample
  • Example#4184 - Yaf_Loader::registerNamespaceexample
  • Example#4185 - Plugin example
  • Example#4186 - Yaf_Plugin_Abstract::routerShutdownexample
  • Example#4187 - Yaf_Response_Abstract::appendBodyexample
  • Example#4188 - Yaf_Response_Abstract::getBodyexample
  • Example#4189 - Yaf_Response_Abstract::prependBodyexample
  • Example#4190 - Yaf_Response_Abstract::responseexample
  • Example#4191 - Yaf_Response_Abstract::setBodyexample
  • Example#4192 - Yaf_Route_Map::assembleexample
  • Example#4193 - Yaf_Route_Mapexample
  • Example#4194 - Yaf_Route_Mapexample
  • Example#4195 - Yaf_Route_Mapexample
  • Example#4196 - Yaf_Route_Regex::assembleexample
  • Example#4197 - Yaf_Route_Regexexample
  • Example#4198 - Yaf_Route_Regex(as of 2.3.0)example
  • Example#4199 - Yaf_Route_Regex and named capture ground(as of 2.3.0)example
  • Example#4200 - Yaf_Route_Regexexample
  • Example#4201 - Yaf_Route_Rewrite::assembleexample
  • Example#4202 - Yaf_Route_Rewriteexample
  • Example#4203 - Yaf_Route_Rewriteexample
  • Example#4204 - Yaf_Route_Rewrite(as of 2.3.0)example
  • Example#4205 - Rewrite rule for Apache
  • Example#4206 - Rewrite rule for Apache
  • Example#4207 - Rewrite rule for Lighttpd
  • Example#4208 - Rewrite rule for Nginx
  • Example#4209 - Yaf_Route_Static(default route)example
  • Example#4210 - application.iniexample
  • Example#4211 - Yaf_Dispatcher::autoConfigexample
  • Example#4212 - Yaf_Dispatcher::autoRenderexample
  • Example#4213 - Register some routes in Bootstrap
  • Example#4214 - plugin Dummy.php (under application.directory/plugins)
  • Example#4215 - Yaf_Route_Simple::assembleexample
  • Example#4216 - Yaf_Route_Simple::routeexample
  • Example#4217 - Yaf_Route_Simple::routeexample
  • Example#4218 - Yaf_Route_Static::assembleexample
  • Example#4219 - Yaf_Route_Static::routeexample
  • Example#4220 - Yaf_Route_Supervar::assembleexample
  • Example#4221 - Yaf_Route_Supervarexample
  • Example#4222 - INI example
  • Example#4223 - INI sections example
  • Example#4224 - INIexample
  • Example#4225 - Taintexample
  • Example#4226 - Vector
  • Example#4227 - Map
  • Example#4228 - Ds\Collection::clear example
  • Example#4229 - Ds\Collection::copy example
  • Example#4230 - Ds\Collection::isEmpty example
  • Example#4231 - Ds\Collection::toArray example
  • Example#4232 - Ds\Hashable::hash example
  • Example#4233 - Ds\Sequence::allocate example
  • Example#4234 - Ds\Sequence::apply example
  • Example#4235 - Ds\Sequence::capacity example
  • Example#4236 - Ds\Sequence::contains example
  • Example#4237 - Ds\Sequence::filter example using callback function
  • Example#4238 - Ds\Sequence::filter example without a callback function
  • Example#4239 - Ds\Sequence::find example
  • Example#4240 - Ds\Sequence::first example
  • Example#4241 - Ds\Sequence::get example
  • Example#4242 - Ds\Sequence::get example using array syntax
  • Example#4243 - Ds\Sequence::insert example
  • Example#4244 - Ds\Sequence::join example using a separator string
  • Example#4245 - Ds\Sequence::join example without a separator string
  • Example#4246 - Ds\Sequence::last example
  • Example#4247 - Ds\Sequence::map example
  • Example#4248 - Ds\Sequence::merge example
  • Example#4249 - Ds\Sequence::pop example
  • Example#4250 - Ds\Sequence::push example
  • Example#4251 - Ds\Sequence::reduce with initial value example
  • Example#4252 - Ds\Sequence::reduce without an initial value example
  • Example#4253 - Ds\Sequence::remove example
  • Example#4254 - Ds\Sequence::reverse example
  • Example#4255 - Ds\Sequence::reversed example
  • Example#4256 - Ds\Sequence::rotate example
  • Example#4257 - Ds\Sequence::set example
  • Example#4258 - Ds\Sequence::set example using array syntax
  • Example#4259 - Ds\Sequence::shift example
  • Example#4260 - Ds\Sequence::slice example
  • Example#4261 - Ds\Sequence::sort example
  • Example#4262 - Ds\Sequence::sort example using a comparator
  • Example#4263 - Ds\Sequence::sorted example
  • Example#4264 - Ds\Sequence::sorted example using a comparator
  • Example#4265 - Ds\Sequence::sum integer example
  • Example#4266 - Ds\Sequence::sum float example
  • Example#4267 - Ds\Sequence::unshift example
  • Example#4268 - Ds\Vector::allocate example
  • Example#4269 - Ds\Vector::apply example
  • Example#4270 - Ds\Vector::capacity example
  • Example#4271 - Ds\Vector::clear example
  • Example#4272 - Ds\Vector::__construct example
  • Example#4273 - Ds\Vector::contains example
  • Example#4274 - Ds\Vector::copy example
  • Example#4275 - Ds\Vector::filter example using callback function
  • Example#4276 - Ds\Vector::filter example without a callback function
  • Example#4277 - Ds\Vector::find example
  • Example#4278 - Ds\Vector::first example
  • Example#4279 - Ds\Vector::get example
  • Example#4280 - Ds\Vector::get example using array syntax
  • Example#4281 - Ds\Vector::insert example
  • Example#4282 - Ds\Vector::isEmpty example
  • Example#4283 - Ds\Vector::join example using a separator string
  • Example#4284 - Ds\Vector::join example without a separator string
  • Example#4285 - Ds\Vector::last example
  • Example#4286 - Ds\Vector::map example
  • Example#4287 - Ds\Vector::merge example
  • Example#4288 - Ds\Vector::pop example
  • Example#4289 - Ds\Vector::push example
  • Example#4290 - Ds\Vector::reduce with initial value example
  • Example#4291 - Ds\Vector::reduce without an initial value example
  • Example#4292 - Ds\Vector::remove example
  • Example#4293 - Ds\Vector::reverse example
  • Example#4294 - Ds\Vector::reversed example
  • Example#4295 - Ds\Vector::rotate example
  • Example#4296 - Ds\Vector::set example
  • Example#4297 - Ds\Vector::set example using array syntax
  • Example#4298 - Ds\Vector::shift example
  • Example#4299 - Ds\Vector::slice example
  • Example#4300 - Ds\Vector::sort example
  • Example#4301 - Ds\Vector::sort example using a comparator
  • Example#4302 - Ds\Vector::sorted example
  • Example#4303 - Ds\Vector::sorted example using a comparator
  • Example#4304 - Ds\Vector::sum integer example
  • Example#4305 - Ds\Vector::sum float example
  • Example#4306 - Ds\Vector::toArray example
  • Example#4307 - Ds\Vector::unshift example
  • Example#4308 - Ds\Deque::allocate example
  • Example#4309 - Ds\Deque::apply example
  • Example#4310 - Ds\Deque::capacity example
  • Example#4311 - Ds\Deque::clear example
  • Example#4312 - Ds\Deque::__construct example
  • Example#4313 - Ds\Deque::contains example
  • Example#4314 - Ds\Deque::copy example
  • Example#4315 - Ds\Deque::filter example using callback function
  • Example#4316 - Ds\Deque::filter example without a callback function
  • Example#4317 - Ds\Deque::find example
  • Example#4318 - Ds\Deque::first example
  • Example#4319 - Ds\Deque::get example
  • Example#4320 - Ds\Deque::get example using array syntax
  • Example#4321 - Ds\Deque::insert example
  • Example#4322 - Ds\Deque::isEmpty example
  • Example#4323 - Ds\Deque::join example using a separator string
  • Example#4324 - Ds\Deque::join example without a separator string
  • Example#4325 - Ds\Deque::last example
  • Example#4326 - Ds\Deque::map example
  • Example#4327 - Ds\Deque::merge example
  • Example#4328 - Ds\Deque::pop example
  • Example#4329 - Ds\Deque::push example
  • Example#4330 - Ds\Deque::reduce with initial value example
  • Example#4331 - Ds\Deque::reduce without an initial value example
  • Example#4332 - Ds\Deque::remove example
  • Example#4333 - Ds\Deque::reverse example
  • Example#4334 - Ds\Deque::reversed example
  • Example#4335 - Ds\Deque::rotate example
  • Example#4336 - Ds\Deque::set example
  • Example#4337 - Ds\Deque::set example using array syntax
  • Example#4338 - Ds\Deque::shift example
  • Example#4339 - Ds\Deque::slice example
  • Example#4340 - Ds\Deque::sort example
  • Example#4341 - Ds\Deque::sort example using a comparator
  • Example#4342 - Ds\Deque::sorted example
  • Example#4343 - Ds\Deque::sorted example using a comparator
  • Example#4344 - Ds\Deque::sum integer example
  • Example#4345 - Ds\Deque::sum float example
  • Example#4346 - Ds\Deque::toArray example
  • Example#4347 - Ds\Deque::unshift example
  • Example#4348 - Ds\Map::allocate example
  • Example#4349 - Ds\Map::apply example
  • Example#4350 - Ds\Map::capacity example
  • Example#4351 - Ds\Map::clear example
  • Example#4352 - Ds\Map::__construct example
  • Example#4353 - Ds\Map::copy example
  • Example#4354 - Ds\Map::diff example
  • Example#4355 - Ds\Map::filter example using callback function
  • Example#4356 - Ds\Map::filter example without a callback function
  • Example#4357 - Ds\Map::first example
  • Example#4358 - Ds\Map::get example
  • Example#4359 - Ds\Map::get example using array syntax
  • Example#4360 - Ds\Map::hasKey example
  • Example#4361 - Ds\Map::hasValue example
  • Example#4362 - Ds\Map::intersect example
  • Example#4363 - Ds\Map::isEmpty example
  • Example#4364 - Ds\Map::keys example
  • Example#4365 - Ds\Map::ksort example
  • Example#4366 - Ds\Map::ksort example using a comparator
  • Example#4367 - Ds\Map::ksorted example
  • Example#4368 - Ds\Map::ksorted example using a comparator
  • Example#4369 - Ds\Map::last example
  • Example#4370 - Ds\Map::map example
  • Example#4371 - Ds\Map::merge example
  • Example#4372 - Ds\Map::pairs example
  • Example#4373 - Ds\Map::put example
  • Example#4374 - Ds\Map::put example using objects as keys
  • Example#4375 - Ds\Map::putAll example
  • Example#4376 - Ds\Map::reduce with initial value example
  • Example#4377 - Ds\Map::reduce without an initial value example
  • Example#4378 - Ds\Map::remove example
  • Example#4379 - Ds\Map::reverse example
  • Example#4380 - Ds\Map::reversed example
  • Example#4381 - Ds\Map::skip example
  • Example#4382 - Ds\Map::slice example
  • Example#4383 - Ds\Map::sort example
  • Example#4384 - Ds\Map::sort example using a comparator
  • Example#4385 - Ds\Map::sort example
  • Example#4386 - Ds\Map::sort example using a comparator
  • Example#4387 - Ds\Map::sum integer example
  • Example#4388 - Ds\Map::sum float example
  • Example#4389 - Ds\Map::toArray example
  • Example#4390 - Ds\Map::union example
  • Example#4391 - Ds\Map::values example
  • Example#4392 - Ds\Map::xor example
  • Example#4393 - Ds\Pair::clear example
  • Example#4394 - Ds\Pair::copy example
  • Example#4395 - Ds\Pair::isEmpty example
  • Example#4396 - Ds\Pair::toArray example
  • Example#4397 - Ds\Set::add example using integers
  • Example#4398 - Ds\Set::add example using objects
  • Example#4399 - Ds\Set::allocate example
  • Example#4400 - Ds\Set::capacity example
  • Example#4401 - Ds\Set::clear example
  • Example#4402 - Ds\Set::__construct example
  • Example#4403 - Ds\Set::contains example
  • Example#4404 - Ds\Set::copy example
  • Example#4405 - Ds\Set::diff example
  • Example#4406 - Ds\Set::filter example using callback function
  • Example#4407 - Ds\Set::filter example without a callback function
  • Example#4408 - Ds\Set::first example
  • Example#4409 - Ds\Set::get example
  • Example#4410 - Ds\Set::get example using array syntax
  • Example#4411 - Ds\Set::intersect example
  • Example#4412 - Ds\Set::isEmpty example
  • Example#4413 - Ds\Set::join example using a separator string
  • Example#4414 - Ds\Set::join example without a separator string
  • Example#4415 - Ds\Set::last example
  • Example#4416 - Ds\Set::merge example
  • Example#4417 - Ds\Set::reduce with initial value example
  • Example#4418 - Ds\Set::reduce without an initial value example
  • Example#4419 - Ds\Set::remove example
  • Example#4420 - Ds\Set::reverse example
  • Example#4421 - Ds\Set::reversed example
  • Example#4422 - Ds\Set::slice example
  • Example#4423 - Ds\Set::sort example
  • Example#4424 - Ds\Set::sort example using a comparator
  • Example#4425 - Ds\Set::sorted example
  • Example#4426 - Ds\Set::sorted example using a comparator
  • Example#4427 - Ds\Set::sum integer example
  • Example#4428 - Ds\Set::sum float example
  • Example#4429 - Ds\Set::toArray example
  • Example#4430 - Ds\Set::union example
  • Example#4431 - Ds\Set::xor example
  • Example#4432 - Ds\Stack::clear example
  • Example#4433 - Ds\Stack::__construct example
  • Example#4434 - Ds\Stack::copy example
  • Example#4435 - Ds\Stack::isEmpty example
  • Example#4436 - Exemplo Ds\Stack::peek
  • Example#4437 - Ds\Stack::pop example
  • Example#4438 - Ds\Stack::push example
  • Example#4439 - Ds\Stack::toArray example
  • Example#4440 - Ds\Queue::allocate example
  • Example#4441 - Ds\Queue::capacity example
  • Example#4442 - Ds\Queue::clear example
  • Example#4443 - Ds\Queue::__construct example
  • Example#4444 - Ds\Queue::copy example
  • Example#4445 - Ds\Queue::isEmpty example
  • Example#4446 - Ds\Queue::peek example
  • Example#4447 - Ds\Queue::pop example
  • Example#4448 - Ds\Queue::push example
  • Example#4449 - Ds\Queue::toArray example
  • Example#4450 - Ds\PriorityQueue::allocate example
  • Example#4451 - Ds\PriorityQueue::capacity example
  • Example#4452 - Ds\PriorityQueue::clear example
  • Example#4453 - Ds\PriorityQueue::__construct example
  • Example#4454 - Ds\PriorityQueue::copy example
  • Example#4455 - Ds\PriorityQueue::isEmpty example
  • Example#4456 - Ds\PriorityQueue::peek example
  • Example#4457 - Ds\PriorityQueue::pop example
  • Example#4458 - Ds\PriorityQueue::push example
  • Example#4459 - Ds\PriorityQueue::toArray example
  • Example#4460 - Usando o módulo cURL do PHP para pegar o conteúdo de exemplo.com.br
  • Example#4461 - Iniciando uma nova sessão cURL e acessando uma página web
  • Example#4462 - Copiando um controlador cURL
  • Example#4463 - Exemplo de curl_errno
  • Example#4464 - curl_error example
  • Example#4465 - Exemplo de curl_escape
  • Example#4466 - Fetching a web page
  • Example#4467 - curl_getinfo example
  • Example#4468 - Initializing a new cURL session and fetching a web page
  • Example#4469 - curl_multi_add_handle example
  • Example#4470 - curl_multi_close example
  • Example#4471 - curl_multi_exec example
  • Example#4472 - A curl_multi_info_read example
  • Example#4473 - curl_multi_init example
  • Example#4474 - Exemplo de curl_multi_strerror
  • Example#4475 - Exemplo de curl_reset
  • Example#4476 - Initializing a new cURL session and fetching a web page
  • Example#4477 - Our own implementation of curl_setopt_array
  • Example#4478 - Initializing a new cURL session and fetching a web page
  • Example#4479 - Exemplo de curl_share_setopt
  • Example#4480 - Exemplo de curl_share_init
  • Example#4481 - Exemplo de curl_share_setopt
  • Example#4482 - curl_errno example
  • Example#4483 - Exemplo de curl_escape
  • Example#4484 - curl_version example
  • Example#4485 - CURLFile::__construct example
  • Example#4486 - Simple HTTP client
  • Example#4487 - HTTP client using asynchronous DNS resolver
  • Example#4488 - Echo server
  • Example#4489 - SSL echo server
  • Example#4490 - Signal handler
  • Example#4491 - Use libevent's loop to process requests of `eio' extension
  • Example#4492 - Miscellaneous
  • Example#4493 - Simple HTTP server
  • Example#4494 - Simple HTTPS server
  • Example#4495 - OpenSSL connection
  • Example#4496 - EventHttpConnection::makeRequest example
  • Example#4497 - Connection listener based on a UNIX domain socket
  • Example#4498 - Simple SMTP server
  • Example#4499 - Handling SIGTERM signal
  • Example#4500 - Event::addSignal example
  • Example#4501 - Event::addTimer example
  • Example#4502 - EventBase::getFeatures example
  • Example#4503 - EventBase::getMethod example
  • Example#4504 - EventBuffer::search example
  • Example#4505 - EventBufferEvent::connect example
  • Example#4506 - Connect to UNIX domain socket which presumably is served by a server, read response from the server and output it to the console
  • Example#4507 - EventBufferEvent::connectHost example
  • Example#4508 - Buffer event's read callback
  • Example#4509 - EventBufferEvent::getOutput example
  • Example#4510 - EventBufferEvent::sslError example
  • Example#4511 - Simple SMTP server
  • Example#4512 - EventConfig::avoidMethod example
  • Example#4513 - EventConfig::__construct example
  • Example#4514 - EventConfig::requireFeatures example
  • Example#4515 - EventHttp::accept example
  • Example#4516 - EventHttp::addServerAlias example
  • Example#4517 - EventHttp::bind example
  • Example#4518 - Simple HTTP server
  • Example#4519 - EventHttp::setCallback example
  • Example#4520 - EventHttp::setDefaultCallback example
  • Example#4521 - EventHttpConnection::makeRequest example
  • Example#4522 - EventHttpConnection::setCloseCallback example
  • Example#4523 - EventHttpRequest::__construct example
  • Example#4524 - EventHttpRequest::sendError example
  • Example#4525 - EventListener::__construct example
  • Example#4526 - EventSslContext::__construct example
  • Example#4527 - Exemplo da FTP
  • Example#4528 - Um exemplo de ftp_alloc
  • Example#4529 - Exemplo ftp_cdup
  • Example#4530 - Exemplo ftp_chdir
  • Example#4531 - Exemplo ftp_chmod
  • Example#4532 - Exemplo ftp_close
  • Example#4533 - ftp_connect example
  • Example#4534 - Exemplo ftp_delete
  • Example#4535 - Exemplo ftp_exec
  • Example#4536 - Exemplo ftp_fget
  • Example#4537 - Exemplo de ftp_fput
  • Example#4538 - Exemplo ftp_get_option
  • Example#4539 - Exemplo ftp_get
  • Example#4540 - Exemplo ftp_login
  • Example#4541 - Exemplo ftp_mdtm
  • Example#4542 - Exemplo ftp_mkdir
  • Example#4543 - ftp_mlsd example
  • Example#4544 - Exemplo ftp_nb_continue
  • Example#4545 - Exemplo ftp_nb_fget
  • Example#4546 - Exemplo ftp_nb_fput
  • Example#4547 - Exemplo ftp_nb_get
  • Example#4548 - Continuando um download com ftp_nb_get
  • Example#4549 - Continuando um download na posição 100 para um novo arquivo com ftp_nb_get
  • Example#4550 - Exemplo ftp_nb_put
  • Example#4551 - Continuando um upload com ftp_nb_put
  • Example#4552 - Exemplo ftp_nlist
  • Example#4553 - Exemplo ftp_pasv
  • Example#4554 - Exemplo ftp_put
  • Example#4555 - Exemplo ftp_pwd
  • Example#4556 - Usando ftp_raw para fazer o login em um servidor FTP manualmente.
  • Example#4557 - Exemplo ftp_rawlist
  • Example#4558 - Exemplo ftp_rename
  • Example#4559 - Exemplo ftp_rmdir
  • Example#4560 - Exemplo ftp_set_option
  • Example#4561 - Enviando um comando SITE para um servidor FTP
  • Example#4562 - Exemplo ftp_size
  • Example#4563 - Exemplo ftp_ssl_connect
  • Example#4564 - Exemplo ftp_systype
  • Example#4565 - Basic Gearman client and worker
  • Example#4566 - Basic Gearman client and worker, background
  • Example#4567 - Basic Gearman client and worker, submitting tasks
  • Example#4568 - Adding two job servers
  • Example#4569 - Add two job servers
  • Example#4570 - Basic submission of two tasks
  • Example#4571 - Basic submission of two tasks with passing application context
  • Example#4572 - Two tasks, one background and one not
  • Example#4573 - A high priority task along with two normal tasks
  • Example#4574 - A low priority task along with two normal tasks
  • Example#4575 - Monitor completion of multiple background tasks
  • Example#4576 - Simple job submission with immediate return
  • Example#4577 - Submitting a job and retrieving incremental status
  • Example#4578 - Submit and monitor a background job
  • Example#4579 - Simple job submission with immediate return
  • Example#4580 - Submitting a job and retrieving incremental status
  • Example#4581 - Get the status of a long running job
  • Example#4582 - Monitor the status of a long running background job
  • Example#4583 - Simple worker making use of extra application context data
  • Example#4584 - Add alternate Gearman servers
  • Example#4585 - Add two job servers
  • Example#4586 - GearmanWorker::setId example
  • Example#4587 - A simple worker with a 5 second timeout
  • Example#4588 - Running worker in non-blocking mode
  • Example#4589 - GearmanWorker::work example
  • Example#4590 - Testing support for paged result control
  • Example#4591 - LDAP search example
  • Example#4592 - Bind with ppolicy information
  • Example#4593 - Modify description only if it's not empty
  • Example#4594 - Read some values before deletion
  • Example#4595 - Delete a reference
  • Example#4596 - Use pagination for a search
  • Example#4597 - Complete example with authenticated bind
  • Example#4598 - Using LDAP Bind
  • Example#4599 - Using LDAP Bind Anonymously
  • Example#4600 - Complete example of password check
  • Example#4601 - Example of connecting to LDAP server.
  • Example#4602 - Example of connecting securely to LDAP server.
  • Example#4603 - LDAP pagination
  • Example#4604 - LDAP pagination
  • Example#4605 - ldap-count-entries example
  • Example#4606 - Enumerating all LDAP error messages
  • Example#4607 - Generating and catching an error
  • Example#4608 - Searching for an email address
  • Example#4609 - PASSWD extended operation
  • Example#4610 - Whoami extended operation
  • Example#4611 - Show the list of attributes held for a particular directory entry
  • Example#4612 - Check protocol version
  • Example#4613 - List all values of the "mail" attribute for a directory entry
  • Example#4614 - Produce a list of all organizational units of an organization
  • Example#4615 - Add a telephone number to a contact
  • Example#4616 - Rename a user
  • Example#4617 - Add two e-mail addresses to a user
  • Example#4618 - Change a user's password
  • Example#4619 - Change a user's password (Active Directory)
  • Example#4620 - ldap_parse_result example
  • Example#4621 - LDAP search
  • Example#4622 - Set protocol version
  • Example#4623 - Set server controls
  • Example#4624 - LDAP sort
  • Example#4625 - memcache extension overview example
  • Example#4626 - Using memcache session handler
  • Example#4627 - Memcache::add example
  • Example#4628 - Memcache::addServer example
  • Example#4629 - Memcache::close example
  • Example#4630 - Memcache::connect example
  • Example#4631 - Memcache::decrement example
  • Example#4632 - Memcache::delete example
  • Example#4633 - Memcache::flush example
  • Example#4634 - Memcache::get example
  • Example#4635 - Memcache::getExtendedStats example
  • Example#4636 - Memcache::getServerStatus example
  • Example#4637 - Memcache::getVersion example
  • Example#4638 - Memcache::increment example
  • Example#4639 - Memcache::pconnect example
  • Example#4640 - Memcache::replace example
  • Example#4641 - Memcache::set example
  • Example#4642 - Memcache::set example
  • Example#4643 - Memcache::setCompressThreshold example
  • Example#4644 - Memcache::setServerParams example
  • Example#4645 - Result callback example
  • Example#4646 - Read-through callback example
  • Example#4647 - Memcached::addServer example
  • Example#4648 - Memcached::addServers example
  • Example#4649 - Memcached::append example
  • Example#4650 - Memcached::cas example
  • Example#4651 - Creating a Memcached object
  • Example#4652 - Memcached::decrement example
  • Example#4653 - Memcached::delete example
  • Example#4654 - Memcached::fetch example
  • Example#4655 - Memcached::getDelayed example
  • Example#4656 - Memcached::flush example
  • Example#4657 - Memcached::get example #1
  • Example#4658 - Memcached::get example #2
  • Example#4659 - Memcached::getDelayed example
  • Example#4660 - Memcached::getMulti example for Memcached v3
  • Example#4661 - Memcached::getMulti example for Memcached v1 and v2
  • Example#4662 - Memcached::GET_PRESERVE_ORDER example for Memcached v3
  • Example#4663 - Memcached::GET_PRESERVE_ORDER example for Memcached v1 and v2
  • Example#4664 - Retrieving Memcached options
  • Example#4665 - Memcached::getResultCode example
  • Example#4666 - Memcached::getResultMessage example
  • Example#4667 - Memcached::getServerByKey example
  • Example#4668 - Memcached::getServerList example
  • Example#4669 - Memcached::getStats example
  • Example#4670 - Memcached::getVersion example
  • Example#4671 - Memcached::increment example
  • Example#4672 - Memcached::prepend example
  • Example#4673 - Memcached::set example
  • Example#4674 - Memcached::setByKey example
  • Example#4675 - Memcached::setMulti example
  • Example#4676 - Setting a Memcached option
  • Example#4677 - Setting Memcached options
  • Example#4678 - mqseries_back example
  • Example#4679 - mqseries_begin example
  • Example#4680 - mqseries_close example
  • Example#4681 - mqseries_cmit example
  • Example#4682 - mqseries_conn example
  • Example#4683 - mqseries_connx example
  • Example#4684 - mqseries_connx example using SSL connection & OCSP Responder URL
  • Example#4685 - mqseries_disc example
  • Example#4686 - mqseries_get example
  • Example#4687 - mqseries_inq example
  • Example#4688 - mqseries_open example
  • Example#4689 - mqseries_put example
  • Example#4690 - mqseries_strerror example
  • Example#4691 - Using dns_get_record
  • Example#4692 - Using dns_get_record and DNS_ANY
  • Example#4693 - fsockopen Exemplo
  • Example#4694 - Utilizando conexão UDP
  • Example#4695 - Um simples exemplo de gethostbyaddr
  • Example#4696 - A simple gethostbyname example
  • Example#4697 - gethostbynamel example
  • Example#4698 - A simple gethostname example
  • Example#4699 - getprotobyname example
  • Example#4700 - getservbyname example
  • Example#4701 - header_register_callback example
  • Example#4702 - Removendo um cabeçalho específico.
  • Example#4703 - Removendo todos os cabeçalhos definidos anteriormente.
  • Example#4704 - Download dialog
  • Example#4705 - Caching directives
  • Example#4706 - Exemplos usando headers_list
  • Example#4707 - Examples using headers_sent
  • Example#4708 - Using http_response_code in a web server environment
  • Example#4709 - Using http_response_code in a CLI environment
  • Example#4710 - inet_ntop Example
  • Example#4711 - inet_pton Example
  • Example#4712 - ip2long Example
  • Example#4713 - Displaying an IP address
  • Example#4714 - Exemplo de setcookie para enviar cookies
  • Example#4715 - Exemplo de setcookie para deletar cookies
  • Example#4716 - setcookie e arrays
  • Example#4717 - Using syslog
  • Example#4718 - Procedural usage of rrd
  • Example#4719 - OO usage of rrd
  • Example#4720 - RRDGraph::setOptions example
  • Example#4721 - Set multiple color options
  • Example#4722 - RRDUpdater::update examples
  • Example#4723 - Fetch instrumented calls
  • Example#4724 - Fetch the list of functions scoutapm will instrument
  • Example#4725 - snmp_get_quick_print example
  • Example#4726 - Using snmp_get_valueretrieval
  • Example#4727 - Using snmp_read_mib
  • Example#4728 - Using snmp_set_enum_print
  • Example#4729 - Using snmprealwalk
  • Example#4730 - Using snmp_set_quick_print
  • Example#4731 - Using snmp_set_valueretrieval
  • Example#4732 - Using snmp2_get
  • Example#4733 - Using snmp2_get_next
  • Example#4734 - Using snmp2_real_walk
  • Example#4735 - Using snmp2_set
  • Example#4736 - Using snmp2_set for setting BITS SNMP object id
  • Example#4737 - snmp2_walk Example
  • Example#4738 - Using snmp3_get
  • Example#4739 - Using snmp3_getnext
  • Example#4740 - Using snmp3_real_walk
  • Example#4741 - Using snmp3_set
  • Example#4742 - Using snmp3_set for setting BITS SNMP object id
  • Example#4743 - snmp3_walk Example
  • Example#4744 - Using snmpget
  • Example#4745 - Using snmpgetnext
  • Example#4746 - Using snmprealwalk
  • Example#4747 - Using snmpset
  • Example#4748 - Using snmpset for setting BITS SNMP object id
  • Example#4749 - snmpwalk Example
  • Example#4750 - snmpwalkoid Example
  • Example#4751 - SNMP::close example
  • Example#4752 - Fetching sysLocation
  • Example#4753 - Single SNMP object
  • Example#4754 - Multiple SNMP objects
  • Example#4755 - SNMP::getErrno example
  • Example#4756 - SNMP::getError example
  • Example#4757 - Single SNMP object
  • Example#4758 - Miltiple SNMP objects
  • Example#4759 - Set single SNMP object id
  • Example#4760 - Set multiple values using single SNMP::set call
  • Example#4761 - Using SNMP::set for setting BITS SNMP object id
  • Example#4762 - SNMP::setSecurity example
  • Example#4763 - SNMP::walk example
  • Example#4764 - suffixAsKey example
  • Example#4765 - Exemplo de socket: Simples servidor TCP/IP
  • Example#4766 - Exemplo de Socket: Simples cliente TCP/IP
  • Example#4767 - socket_import_stream example
  • Example#4768 - Exemplo de socket_select
  • Example#4769 - Usando null com socket_select
  • Example#4770 - Entendendo resultados de socket_select
  • Example#4771 - Exemplo socket_sendto
  • Example#4772 - Exemplo de socket_strerror
  • Example#4773 - Authenticating with a ssh agent
  • Example#4774 - Authentication using a public hostkey
  • Example#4775 - Retrieving a list of authentication methods
  • Example#4776 - Authenticating with a password
  • Example#4777 - Authentication using a public key
  • Example#4778 - ssh2_connect example
  • Example#4779 - Executing a command
  • Example#4780 - Opening a shell and retrieving the stderr stream associated with it
  • Example#4781 - Checking the fingerprint against a known value
  • Example#4782 - Determining what methods were negotiated
  • Example#4783 - Adding a publickey with ssh2_publickey_add
  • Example#4784 - Listing authorized keys with ssh2_publickey_list
  • Example#4785 - Downloading a file via SCP
  • Example#4786 - Uploading a file via SCP
  • Example#4787 - Changing the mode of a file on a remote server
  • Example#4788 - Stating a symbolic link via SFTP
  • Example#4789 - Creating a directory on a remote server
  • Example#4790 - Reading a symbolic link
  • Example#4791 - Resolving a pathname
  • Example#4792 - Renaming a file via sftp
  • Example#4793 - Removing a directory on a remote server
  • Example#4794 - Stating a file via SFTP
  • Example#4795 - Creating a symbolic link
  • Example#4796 - Deleting a file
  • Example#4797 - Opening a file via SFTP
  • Example#4798 - Requesting an interactive shell
  • Example#4799 - Opening a tunnel to an arbitrary host
  • Example#4800 - Estilo orientado à objeto
  • Example#4801 - Estilo procedural
  • Example#4802 - stomp_connect_error example
  • Example#4803 - stomp_version example
  • Example#4804 - Estilo orientado à objeto
  • Example#4805 - Estilo procedural
  • Example#4806 - Estilo orientado à objeto
  • Example#4807 - Estilo procedural
  • Example#4808 - Estilo orientado à objeto
  • Example#4809 - Estilo procedural
  • Example#4810 - Estilo orientado à objeto
  • Example#4811 - Estilo procedural
  • Example#4812 - Estilo orientado à objeto
  • Example#4813 - Estilo procedural
  • Example#4814 - Estilo orientado à objeto
  • Example#4815 - Estilo procedural
  • Example#4816 - Estilo orientado à objeto
  • Example#4817 - Estilo procedural
  • Example#4818 - Estilo orientado à objeto
  • Example#4819 - Estilo procedural
  • Example#4820 - Estilo orientado à objeto
  • Example#4821 - Estilo procedural
  • Example#4822 - Train from array
  • Example#4823 - Train from a file
  • Example#4824 - svn_add example
  • Example#4825 - Default authentication example
  • Example#4826 - svn_blame example
  • Example#4827 - Basic example
  • Example#4828 - Basic example
  • Example#4829 - Basic example
  • Example#4830 - Basic example
  • Example#4831 - Basic example
  • Example#4832 - Basic example
  • Example#4833 - Diffing two revisions of a repository path
  • Example#4834 - Portably diffing two local files
  • Example#4835 - svn_export example
  • Example#4836 - Basic example
  • Example#4837 - svn_log example
  • Example#4838 - svn_ls example
  • Example#4839 - Basic example
  • Example#4840 - Basic example
  • Example#4841 - Instalando tcpwrap manualmente
  • Example#4842 - Deny all connections from localhost
  • Example#4843 - Ban an URL
  • Example#4844 - Get statistic snapshot
  • Example#4845 - Read varnish shared memory log
  • Example#4846 - VarnishAdmin::__construct example
  • Example#4847 - Parallel searching using Yaz
  • Example#4848 - CCL configuration
  • Example#4849 - CCL Parsing
  • Example#4850 - Record Update
  • Example#4851 - Array for GRS-1 record
  • Example#4852 - Working with MARCXML
  • Example#4853 - PHP function that scans titles
  • Example#4854 - Query Examples
  • Example#4855 - Sort Criterias
  • Example#4856 - Um exemplo de ZMQContext
  • Example#4857 - Um exemplo de ZMQContext
  • Example#4858 - Um exemplo de ZMQContext
  • Example#4859 - Um exemplo de ZMQSocket
  • Example#4860 - A exemplo de envio/recepção
  • Example#4861 - Um exemplo de ZMQPoll
  • Example#4862 - zookeeper_dispatch example #1
  • Example#4863 - zookeeper_dispatch example #2
  • Example#4864 - Zookeeper::addAuth example
  • Example#4865 - Zookeeper::create example
  • Example#4866 - Zookeeper::delete example
  • Example#4867 - Zookeeper::exists example
  • Example#4868 - Zookeeper::get example
  • Example#4869 - Zookeeper::get stat example
  • Example#4870 - Zookeeper::getAcl example
  • Example#4871 - Zookeeper::getChildren example
  • Example#4872 - Zookeeper::set example
  • Example#4873 - Zookeeper::setAcl example
  • Example#4874 - Zookeeper::setDebugLevel example
  • Example#4875 - ZookeeperConfig::add example
  • Example#4876 - ZookeeperConfig::get example
  • Example#4877 - ZookeeperConfig::remove example
  • Example#4878 - ZookeeperConfig::set example
  • Example#4879 - solr_get_version example
  • Example#4880 - Contents of the BootStrap file
  • Example#4881 - Adding a document to the index
  • Example#4882 - Merging one document into another document
  • Example#4883 - Searching for documents - SolrObject responses
  • Example#4884 - Searching for documents - SolrDocument responses
  • Example#4885 - Simple TermsComponent example - basic
  • Example#4886 - Simple TermsComponent example - using a prefix
  • Example#4887 - Simple TermsComponent example - specifying a minimum frequency
  • Example#4888 - Simple Facet Example
  • Example#4889 - Simple Facet Example - with optional field override for mincount
  • Example#4890 - Facet Date Example
  • Example#4891 - Connecting to SSL-Enabled Server
  • Example#4892 - Collapsing a SolrQuery
  • Example#4893 - Solr Real Time Get (RTG) example SolrClient::getById
  • Example#4894 - SolrInputDocument::addChildDocument example
  • Example#4895 - SolrInputDocument::addChildDocuments example
  • Example#4896 - SolrDocument::toArray example
  • Example#4897 - SolrObject::__construct example
  • Example#4898 - SolrObject::offsetUnset example
  • Example#4899 - SolrClient::addDocument example
  • Example#4900 - SolrClient::addDocument example 2
  • Example#4901 - SolrClient::addDocuments example
  • Example#4902 - SolrClient::__construct example
  • Example#4903 - SolrQuery::deleteByQuery example
  • Example#4904 - SolrClient::getById example
  • Example#4905 - SolrClient::getByIds example
  • Example#4906 - SolrClient::ping example
  • Example#4907 - SolrClient::query example
  • Example#4908 - SolrClient::request example
  • Example#4909 - SolrClient::setResponseWriter example
  • Example#4910 - SolrParams::setParam example
  • Example#4911 - SolrQuery::addFacetField example
  • Example#4912 - SolrQuery::addFacetField example
  • Example#4913 - SolrQuery::addFilterQuery example
  • Example#4914 - SolrQuery::addGroupSortField example
  • Example#4915 - SolrQuery::collapse example
  • Example#4916 - SolrQuery::setExpand example
  • Example#4917 - SolrDisMaxQuery::addBigramPhraseField example
  • Example#4918 - SolrDisMaxQuery::addBoostQuery example
  • Example#4919 - SolrDisMaxQuery::addPhraseField example
  • Example#4920 - SolrDisMaxQuery::addQueryField example
  • Example#4921 - SolrDisMaxQuery::addTrigramPhraseField example
  • Example#4922 - SolrDisMaxQuery::addUserField example
  • Example#4923 - SolrDisMaxQuery::__construct example
  • Example#4924 - SolrDisMaxQuery::removeBigramPhraseField example
  • Example#4925 - SolrDisMaxQuery::removeBoostQuery example
  • Example#4926 - SolrDisMaxQuery::removePhraseField example
  • Example#4927 - SolrDisMaxQuery::removeQueryField example
  • Example#4928 - SolrDisMaxQuery::removeTrigramPhraseField example
  • Example#4929 - SolrDisMaxQuery::removeUserField example
  • Example#4930 - SolrDisMaxQuery::setBigramPhraseFields example
  • Example#4931 - SolrDisMaxQuery::setBigramPhraseSlop example
  • Example#4932 - SolrDisMaxQuery::setBoostFunction example
  • Example#4933 - SolrDisMaxQuery::setBoostQuery example
  • Example#4934 - SolrDisMaxQuery::setMinimumMatch example
  • Example#4935 - SolrDisMaxQuery::setPhraseFields example
  • Example#4936 - SolrDisMaxQuery::setPhraseSlop example
  • Example#4937 - SolrDisMaxQuery::setQueryAlt example
  • Example#4938 - SolrDisMaxQuery::setQueryPhraseSlop example
  • Example#4939 - SolrDisMaxQuery::setTieBreaker example
  • Example#4940 - SolrDisMaxQuery::setTrigramPhraseFields example
  • Example#4941 - SolrDisMaxQuery::setTrigramPhraseSlop example
  • Example#4942 - SolrDisMaxQuery::setUserFields example
  • Example#4943 - SolrDisMaxQuery::useDisMaxQueryParser example
  • Example#4944 - SolrDisMaxQuery::useEDisMaxQueryParser example
  • Example#4945 - SolrCollapseFunction::__construct example
  • Example#4946 - SolrCollapseFunction::setHint example
  • Example#4947 - SolrCollapseFunction::setMax example
  • Example#4948 - Basic usage example
  • Example#4949 - Desligando a interpretação do PHP em um diretório utilizando .htaccess
  • Example#4950 - Exemplo da função apache_get_modules
  • Example#4951 - Exemplo da função apache_get_version
  • Example#4952 - Exemplo de uso da função apache_getenv
  • Example#4953 - Exemplo da função apache_lookup_uri
  • Example#4954 - Passando informações entre PHP e Perl
  • Example#4955 - Logar valores no access.log
  • Example#4956 - Exemplo da função apache_request_headers
  • Example#4957 - Exemplo da função apache_response_headers
  • Example#4958 - Configurando uma variável Apache utilizando apache_setenv
  • Example#4959 - Exemplo da função getallheaders
  • Example#4960 - Registrando uma variável com $_SESSION.
  • Example#4961 - Desregistrando uma variável com $_SESSION.
  • Example#4962 - Contando o número de acessos de um único usuário
  • Example#4963 - Informação de exemplo
  • Example#4964 - Exemplo de session_cache_expire
  • Example#4965 - Exemplo de session_cache_limiter
  • Example#4966 - session_create_id example with session_regenerate_id
  • Example#4967 - Destruindo uma sessão com $_SESSION
  • Example#4968 - session_gc example for task managers like cron
  • Example#4969 - session_gc example for user accessible script
  • Example#4970 - Exemplo de session_name
  • Example#4971 - Exemplo de session_regenerate_id
  • Example#4972 - Evitando a perda de sessão causada por session_regenerate_id
  • Example#4973 - Manipulador de sessão personalizado: veja o código completo na sinópse de SessionHandlerInterface.
  • Example#4974 - Manipuladores personalizados de gravação de sessão usando objetos
  • Example#4975 - page1.php
  • Example#4976 - page2.php
  • Example#4977 - Sobrepondo o tempo de duração de cookie
  • Example#4978 - Lendo e fechando a sessão
  • Example#4979 - Usando SessionHandler para adicionar criptografia aos manipuladores internos do PHP de gravação.
  • Example#4980 - Exemplo usando SessionHandlerInterface
  • Example#4981 - Tokenize comma separated integer list
  • Example#4982 - Tokenize assign statement
  • Example#4983 - Simple calculator
  • Example#4984 - Parse words out from a sentence
  • Example#4985 - Exemplos de padrões válidos
  • Example#4986 - Exemplos de padrões inválidos
  • Example#4987 - Example comparing preg_filter with preg_replace
  • Example#4988 - Exemplo da preg_grep
  • Example#4989 - preg_last_error_msg example
  • Example#4990 - Exemplo da preg_last_error
  • Example#4991 - Getting all phone numbers out of some text.
  • Example#4992 - Find matching HTML tags (greedy)
  • Example#4993 - Using named subpattern
  • Example#4994 - Find the string of text "php"
  • Example#4995 - Find the word "web"
  • Example#4996 - Getting the domain name out of a URL
  • Example#4997 - Using named subpattern
  • Example#4998 - Exemplo da preg_quote
  • Example#4999 - Deixando em itálico uma palavra de um texto
  • Example#5000 - preg_replace_callback_array example
  • Example#5001 - preg_replace_callback e create_function
  • Example#5002 - Exemplo da preg_replace_callback
  • Example#5003 - preg_replace_callback usando estrutura recursiva para manipular BB code aninhado
  • Example#5004 - Usando backreferences seguido por literais numéricos
  • Example#5005 - Usando array indexados com preg_replace
  • Example#5006 - Replacing several values
  • Example#5007 - Strip whitespace
  • Example#5008 - Usando o parâmetro count
  • Example#5009 - Exemplo da preg_split: Obtendo partes de uma string
  • Example#5010 - Dividindo a string em cada caractere que a compõe
  • Example#5011 - Dividindo a string pela combinação e seus offsets
  • Example#5012 - Exemplos de Expressões Regulares
  • Example#5013 - Exemplo da função ereg_replace
  • Example#5014 - Exemplo da função ereg_replace
  • Example#5015 - Substitui URLs por links
  • Example#5016 - Exemplo da ereg
  • Example#5017 - Destacando resultados de uma busca
  • Example#5018 - Exemplo da função eregi
  • Example#5019 - Exemplo da split
  • Example#5020 - Exemplo da split
  • Example#5021 - Exemplo da spliti
  • Example#5022 - Exemplo da sql_regcase
  • Example#5023 - Exemplo da addcslashes
  • Example#5024 - Exemplo com addslashes
  • Example#5025 - chr exemplo
  • Example#5026 - Exemplo da chunk_split
  • Example#5027 - Exemplo da convert_uudecode
  • Example#5028 - Exemplo da convert_uuencode
  • Example#5029 - Exemplo count_chars
  • Example#5030 - Mostrando um checksum crc32
  • Example#5031 - Exemplos da crypt
  • Example#5032 - Usando crypt com htpasswd
  • Example#5033 - Usando crypt com diferente tipos de encriptação
  • Example#5034 - echo exemplos
  • Example#5035 - explode exemplos
  • Example#5036 - Exemplos de parâmetro limit
  • Example#5037 - fprintf: inteiros prenchidos com zero
  • Example#5038 - fprintf: formatando valores
  • Example#5039 - Exemplo de tabela de tradução
  • Example#5040 - hex2bin example
  • Example#5041 - Decodificando entidades HTML
  • Example#5042 - Exemplo da htmlentities
  • Example#5043 - Um exemplo da htmlspecialchars_decode
  • Example#5044 - htmlspecialchars exemplo
  • Example#5045 - implode exemplo
  • Example#5046 - Exemplo de lcfirst
  • Example#5047 - localeconv exemplo
  • Example#5048 - Exemplo de uso da ltrim
  • Example#5049 - Um exemplo da md5
  • Example#5050 - Exemplo da money_format
  • Example#5051 - usando nl2br
  • Example#5052 - Exemplo number_format
  • Example#5053 - Exemplo da ord
  • Example#5054 - Usando parse_str
  • Example#5055 - Exemplos print
  • Example#5056 - Exemplo de uso da função rtrim
  • Example#5057 - Exemplos setlocale
  • Example#5058 - Exemplos para windows desetlocale
  • Example#5059 - Exemplo sha1
  • Example#5060 - Exemplos de Soundex
  • Example#5061 - Troca de argumentos
  • Example#5062 - Troca de argumentos
  • Example#5063 - Troca de argumento
  • Example#5064 - Troca de argumento
  • Example#5065 - printf: vários exemplos
  • Example#5066 - printf: especificadores de string
  • Example#5067 - sprintf: inteiros prenchidos com zero
  • Example#5068 - sprintf: formatando dinheiro
  • Example#5069 - sprintf: notação científica
  • Example#5070 - Exemplo da sscanf
  • Example#5071 - sscanf - usando parâmetros opcionais
  • Example#5072 - Using the empty string ''
  • Example#5073 - Showing case-sensitivity
  • Example#5074 - Using the empty string ''
  • Example#5075 - Showing case-sensitivity
  • Example#5076 - Exemplo str_ireplace
  • Example#5077 - Exemplo str_pad
  • Example#5078 - Exemplo da str_repeat
  • Example#5079 - Exemplos da str_replace
  • Example#5080 - Exemplo da str_rot13
  • Example#5081 - Exemplo da str_shuffle
  • Example#5082 - Exemplo utilizando str_split
  • Example#5083 - Using the empty string ''
  • Example#5084 - Showing case-sensitivity
  • Example#5085 - Um exemplo da str_word_count
  • Example#5086 - Exemplo strcasecmp
  • Example#5087 - Exemplo strip_tags
  • Example#5088 - Exemplos stripos
  • Example#5089 - Exemplo stripslashes
  • Example#5090 - Usando stripslashes em um array
  • Example#5091 - Exemplo da stristr
  • Example#5092 - Testing if a string is found or not
  • Example#5093 - Using a non "string" needle
  • Example#5094 - Exemplo da strlen
  • Example#5095 - Exemplo da strpbrk
  • Example#5096 - Exemplos strpos
  • Example#5097 - Exemplo strrchr
  • Example#5098 - Revertendo uma string strrev
  • Example#5099 - Um simples exemplo da strripos
  • Example#5100 - Exemplo da strspn
  • Example#5101 - Exemplo da strstr
  • Example#5102 - Exemplo da strtok
  • Example#5103 - Comportamento antigo da strtok
  • Example#5104 - Novo comportamento da strtok
  • Example#5105 - Exemplo da strtolower
  • Example#5106 - Exemplo da strtoupper
  • Example#5107 - Exemplo da strtr
  • Example#5108 - strtr exemplo com dois argumentos
  • Example#5109 - Exemplo da substr_compare
  • Example#5110 - Exemplo da substr_count
  • Example#5111 - substr_replace exemplo
  • Example#5112 - Usando um início negativo
  • Example#5113 - Usando um length negativo
  • Example#5114 - Uso básico da substr
  • Example#5115 - Comportamento de cast no substr
  • Example#5116 -
  • Example#5117 - Exemplo de uso de trim
  • Example#5118 - Usando trim em valores de array
  • Example#5119 - Exemplo da ucfirst
  • Example#5120 - Exemplo da ucwords
  • Example#5121 - Exemplo de ucwords com delimitador
  • Example#5122 - vfprintf: preenchendo com zero os inteiros
  • Example#5123 - Exemplo de wordwrap
  • Example#5124 - Exemplo de wordwrap
  • Example#5125 - Exemplo da função array_change_key_case
  • Example#5126 - Exemplo da função array_chunk
  • Example#5127 - Obtém a coluna first_name dos registros
  • Example#5128 - Obtém a coluna last_name dos registros, indexados pela coluna "id"
  • Example#5129 - Obtém a coluna de nomes de usuários da propriedade pública "username" de um objeto
  • Example#5130 - Obtém a coluna de nomes da propriedade privada "name" de um objeto utilizando o método mágico __get.
  • Example#5131 - Um simples exemplo usando a função array_combine
  • Example#5132 - Exemplo da array_count_values
  • Example#5133 - Exemplo de array_diff_assoc
  • Example#5134 - Exemplo da função array_diff_assoc
  • Example#5135 - Exemplo da função array_diff_key
  • Example#5136 - Exemplo de array_diff_uassoc
  • Example#5137 - Exemplo da função array_diff_ukey
  • Example#5138 - Exemplo da função array_diff
  • Example#5139 - Exemplo da função array_fill_keys
  • Example#5140 - Exemplo da função array_fill
  • Example#5141 - Exemplo da função array_filter
  • Example#5142 - array_filter sem callback
  • Example#5143 - array_filter com flag
  • Example#5144 - Exemplo da função array_flip
  • Example#5145 - Exemplo da função array_flip: colisão
  • Example#5146 - Exemplo da array_intersect_assoc
  • Example#5147 - Exemplo da array_intersect_key
  • Example#5148 - Exemplo da função array_intersect_uassoc
  • Example#5149 - Exemplo da função array_intersect_ukey
  • Example#5150 - Exemplo da array_intersect
  • Example#5151 - Exemplo da função array_key_exists
  • Example#5152 - array_key_exists versus isset
  • Example#5153 - Basic array_key_first Usage
  • Example#5154 - Exemplo de array_keys
  • Example#5155 - Exemplo da função array_map
  • Example#5156 - Utilizando uma função lambda com a função array_map (a partir do PHP 5.3.0)
  • Example#5157 - array_map - usando mais de um array
  • Example#5158 - Criando um array de arrays
  • Example#5159 - array_map - com chaves string
  • Example#5160 - Exemplo de array_merge_recursive
  • Example#5161 - Exemplo de array_merge
  • Example#5162 - Exemplo simples de array_merge
  • Example#5163 - array_merge com tipos não array
  • Example#5164 - Ordenando vários arrays
  • Example#5165 - Ordenando arrays multi dimensionais
  • Example#5166 - Ordenando resultados de bancos de dados
  • Example#5167 - Ordenação case insensitive
  • Example#5168 - Exemplo de array_pad
  • Example#5169 - Exemplo da array_pop
  • Example#5170 - Exemplo da array_product
  • Example#5171 - Exemplo de array_push
  • Example#5172 - Exemplo de array_rand
  • Example#5173 - Exemplo de array_reduce
  • Example#5174 - array_replace_recursive example
  • Example#5175 - array_replace_recursive and recursive behavior
  • Example#5176 - array_replace example
  • Example#5177 - array_reverse example
  • Example#5178 - Exemplo da array_search
  • Example#5179 - Exemplo da array_shift
  • Example#5180 - Exemplos da array_slice
  • Example#5181 - Exemplos da array_splice
  • Example#5182 - Exemplos da array_splice
  • Example#5183 - Exemplos da array_sum
  • Example#5184 - Exemplo de array_udiff_assoc
  • Example#5185 - Exemplo de array_udiff_uassoc
  • Example#5186 - Exemplo de array_udiff
  • Example#5187 - Exemplo de array_uintersect_assoc
  • Example#5188 - Exemplo de array_uintersect_uassoc
  • Example#5189 - Exemplo da array_uintersect
  • Example#5190 - Exemplo de array_unique
  • Example#5191 - array_unique e tipos
  • Example#5192 - Exemplo de array_unshift
  • Example#5193 - Exemplo de array_values
  • Example#5194 - Exemplo da array_walk_recursive
  • Example#5195 - Exemplo da array_walk
  • Example#5196 - Exemplo de array
  • Example#5197 - Indexação automática com array
  • Example#5198 - Array com índices a partir do 1 com array
  • Example#5199 - Acessando uma matriz dentro de conchetes
  • Example#5200 - Exemplo da arsort
  • Example#5201 - Exemplo da asort
  • Example#5202 - Exemplo de compact
  • Example#5203 - Exemplo da função count
  • Example#5204 - Uso recursivo da função count
  • Example#5205 - Exemplo do uso de current e amigos
  • Example#5206 - Exemplos da each
  • Example#5207 - Percorrendo um array com each
  • Example#5208 - Exemplo da end
  • Example#5209 - Exemplo da extract
  • Example#5210 - Exemplo da in_array
  • Example#5211 - in_array com checagem de tipos
  • Example#5212 - Exemplo de in_array passando um array para needle
  • Example#5213 - Exemplo da key
  • Example#5214 - Exemplo de krsort
  • Example#5215 - Exemplo da ksort
  • Example#5216 - Exemplo da list
  • Example#5217 - Exemplo da list
  • Example#5218 - Usando list de forma aninhada
  • Example#5219 - Usando list com índices de array
  • Example#5220 - Exemplo da natcasesort
  • Example#5221 - Exemplo da natsort
  • Example#5222 - Exemplo de uso da next e funções relacionadas
  • Example#5223 - Exemplo de uso de prev e funções relacionadas
  • Example#5224 - Exemplos da função range
  • Example#5225 - Exemplo da reset
  • Example#5226 - Exemplo de rsort
  • Example#5227 - Exemplo da shuffle
  • Example#5228 - Exemplo de sort
  • Example#5229 - Exemplo de sort utilizando comparações naturais ignorando maiúsculas e minúculas
  • Example#5230 - Exemplo de uksort
  • Example#5231 - Exemplo da usort
  • Example#5232 - Exemplo de usort usando um array multi-dimensional
  • Example#5233 - Exemplo de usort usando uma função membro de um objeto
  • Example#5234 - classes.inc
  • Example#5235 - test_script.php
  • Example#5236 - class_alias Exemplo
  • Example#5237 - Exemplo da class_exists
  • Example#5238 - Exemplo do parâmetro autoload
  • Example#5239 - Usando get_called_class
  • Example#5240 - Exemplo da get_class_methods
  • Example#5241 - Exemplo da get_class_vars
  • Example#5242 - Usando a get_class
  • Example#5243 - Usando get_class na superclasse
  • Example#5244 - Exemplo da get_declared_classes
  • Example#5245 - Exemplo de uso de get_declared_interfaces
  • Example#5246 - Uso da get_object_vars
  • Example#5247 - Usando get_parent_class
  • Example#5248 - Exemplo de uso de interface_exists
  • Example#5249 - is_a example
  • Example#5250 - Using the instanceof operator in PHP 5
  • Example#5251 - Exemplo da is_subclass_of
  • Example#5252 - Exemplo da method_exists
  • Example#5253 - Exemplo da method_exists com método estático
  • Example#5254 - Exemplo de uso de property_exists
  • Example#5255 - classkit_import example
  • Example#5256 - classkit_method_add example
  • Example#5257 - classkit_method_copy example
  • Example#5258 - classkit_method_redefine example
  • Example#5259 - classkit_method_remove example
  • Example#5260 - classkit_method_rename example
  • Example#5261 - Um exemplo da ctype_alnum (usando o locale padrão)
  • Example#5262 - Um exemplo da ctype_alpha (usando o locale padrão)
  • Example#5263 - Um exemplo da ctype_cntrl
  • Example#5264 - Um exemplo da ctype_digit
  • Example#5265 - A ctype_graph example
  • Example#5266 - Um exemplo da ctype_lower (usando o locale padrão)
  • Example#5267 - Um exemplo da ctype_print
  • Example#5268 - Um exemplo da ctype_punct
  • Example#5269 - Um exemplo da ctype_space
  • Example#5270 - Um exemplo da ctype_upper (usando o locale padrão)
  • Example#5271 - Um exemplo da ctype_xdigit
  • Example#5272 - Um exemplo da filter_input_array
  • Example#5273 - Um exemplo da filter_input
  • Example#5274 - Um exemplo da filter_list
  • Example#5275 - Um exemplo da filter_var_array
  • Example#5276 - Um exemplo da filter_var
  • Example#5277 - call_user_func_array example
  • Example#5278 - call_user_func_array using namespace name
  • Example#5279 - Using lambda function
  • Example#5280 - Exemplo da call_user_func
  • Example#5281 - Usando call_user_func com nome do namespace
  • Example#5282 - Usando um método da classe
  • Example#5283 - Criação de uma função anônima com create_function
  • Example#5284 - Criação de uma função de processamento genérica com create_function
  • Example#5285 - Uso de funções anônimas como funções callback
  • Example#5286 - forward_static_call_array example
  • Example#5287 - forward_static_call example
  • Example#5288 - Exemplo da func_get_arg
  • Example#5289 - Exemplo da func_get_args
  • Example#5290 - Exemplo da func_num_args
  • Example#5291 - Exemplo da function_exists
  • Example#5292 - Exemplo da get_defined_functions
  • Example#5293 - Exemplo de uso da register_tick_function
  • Example#5294 - Quickhash Example
  • Example#5295 - Quickhash ArrayAccess Example
  • Example#5296 - Quickhash Iterator Example
  • Example#5297 - Quickhash String Values Example
  • Example#5298 - QuickHashIntSet::add example
  • Example#5299 - QuickHashIntSet::__construct example
  • Example#5300 - QuickHashIntSet::delete example
  • Example#5301 - QuickHashIntSet::exists example
  • Example#5302 - QuickHashIntSet::getSize example
  • Example#5303 - QuickHashIntSet::loadFromFile example
  • Example#5304 - QuickHashIntSet::loadFromString example
  • Example#5305 - QuickHashIntSet::saveToFile example
  • Example#5306 - QuickHashIntSet::saveToString example
  • Example#5307 - QuickHashIntHash::add example
  • Example#5308 - QuickHashIntHash::__construct example
  • Example#5309 - QuickHashIntHash::delete example
  • Example#5310 - QuickHashIntHash::exists example
  • Example#5311 - QuickHashIntHash::get example
  • Example#5312 - QuickHashIntHash::getSize example
  • Example#5313 - QuickHash IntHash file format
  • Example#5314 - QuickHash IntHash file format
  • Example#5315 - QuickHashIntHash::loadFromFile example
  • Example#5316 - QuickHashIntHash::loadFromString example
  • Example#5317 - QuickHashIntHash::saveToFile example
  • Example#5318 - QuickHashIntHash::saveToString example
  • Example#5319 - QuickHashIntHash::set example
  • Example#5320 - QuickHashIntHash::update example
  • Example#5321 - QuickHashStringIntHash::add example
  • Example#5322 - QuickHashStringIntHash::__construct example
  • Example#5323 - QuickHashStringIntHash::delete example
  • Example#5324 - QuickHashStringIntHash::get example
  • Example#5325 - QuickHashStringIntHash::getSize example
  • Example#5326 - QuickHash StringIntHash file format
  • Example#5327 - QuickHash IntHash file format
  • Example#5328 - QuickHashStringIntHash::loadFromFile example
  • Example#5329 - QuickHashStringIntHash::loadFromString example
  • Example#5330 - QuickHashStringIntHash::saveToFile example
  • Example#5331 - QuickHashStringIntHash::saveToString example
  • Example#5332 - QuickHashStringIntHash::set example
  • Example#5333 - QuickHashStringIntHash::update example
  • Example#5334 - QuickHashIntStringHash::add example
  • Example#5335 - QuickHashIntStringHash::__construct example
  • Example#5336 - QuickHashIntStringHash::delete example
  • Example#5337 - QuickHashIntStringHash::get example
  • Example#5338 - QuickHashIntStringHash::getSize example
  • Example#5339 - QuickHash IntString file format
  • Example#5340 - QuickHash IntString file format
  • Example#5341 - QuickHashIntStringHash::loadFromFile example
  • Example#5342 - QuickHashIntStringHash::loadFromString example
  • Example#5343 - QuickHashIntStringHash::saveToFile example
  • Example#5344 - QuickHashIntStringHash::saveToString example
  • Example#5345 - QuickHashIntStringHash::set example
  • Example#5346 - QuickHashIntStringHash::update example
  • Example#5347 - Exemplo de Reflexão no shell (terminal)
  • Example#5348 - Extendendo classe nativas
  • Example#5349 - Reflection::getModifierNames example
  • Example#5350 - Basic usage ReflectionClass
  • Example#5351 - Basic usage of ReflectionClass::export
  • Example#5352 - Usage of ReflectionClass::getConstant
  • Example#5353 - Basic usage of ReflectionClass::getConstructor
  • Example#5354 - ReflectionClass::getDefaultProperties example
  • Example#5355 - ReflectionClass::getDocComment example
  • Example#5356 - ReflectionClass::getEndLine example
  • Example#5357 - Basic usage of ReflectionClass::getExtension
  • Example#5358 - Basic usage of ReflectionClass::getExtensionName
  • Example#5359 - ReflectionClass::getInterfaceNames example
  • Example#5360 - ReflectionClass::getInterfaces example
  • Example#5361 - Basic usage of ReflectionClass::getMethod
  • Example#5362 - Basic usage of ReflectionClass::getMethods
  • Example#5363 - Filtering results from ReflectionClass::getMethods
  • Example#5364 - ReflectionClass::getName example
  • Example#5365 - ReflectionClass::getNamespaceName example
  • Example#5366 - ReflectionClass::getProperties filtering example
  • Example#5367 - Basic usage of ReflectionClass::getProperty
  • Example#5368 - Basic ReflectionClass::getReflectionConstants example
  • Example#5369 - ReflectionClass::getShortName example
  • Example#5370 - Basic usage of ReflectionClass::getStaticPropertyValue
  • Example#5371 - ReflectionClass::hasConstant example
  • Example#5372 - ReflectionClass::hasMethod example
  • Example#5373 - ReflectionClass::hasProperty example
  • Example#5374 - ReflectionClass::inNamespace example
  • Example#5375 - ReflectionClass::isAbstract example
  • Example#5376 - ReflectionClass::isAnonymous example
  • Example#5377 - Basic usage of ReflectionClass::isCloneable
  • Example#5378 - ReflectionClass::isFinal example
  • Example#5379 - ReflectionClass::isInstance related examples
  • Example#5380 - ReflectionClass::isInstantiable example
  • Example#5381 - Basic usage of ReflectionClass::isInterface
  • Example#5382 - Basic usage of ReflectionClass::isInternal
  • Example#5383 - Basic ReflectionClass::isIterable Usage
  • Example#5384 - Basic usage of ReflectionClass::newInstanceArgs
  • Example#5385 - ReflectionClass::__toString example
  • Example#5386 - ReflectionExtension example
  • Example#5387 - ReflectionExtension::getClasses example
  • Example#5388 - ReflectionExtension::getClassNames example
  • Example#5389 - ReflectionExtension::getConstants example
  • Example#5390 - ReflectionExtension::getDependencies example
  • Example#5391 - ReflectionExtension::getFunctions example
  • Example#5392 - ReflectionExtension::getINIEntries example
  • Example#5393 - ReflectionExtension::getName example
  • Example#5394 - ReflectionExtension::getVersion example
  • Example#5395 - ReflectionExtension::info exemplo
  • Example#5396 - ReflectionFunction::__construct example
  • Example#5397 - ReflectionFunction::invoke example
  • Example#5398 - ReflectionFunction::invokeArgs example
  • Example#5399 - ReflectionFunction::invokeArgs with references example
  • Example#5400 - ReflectionFunction::__toString example
  • Example#5401 - ReflectionFunctionAbstract::getReturnType example
  • Example#5402 - Usage on built-in functions
  • Example#5403 - ReflectionFunctionAbstract::hasReturnType example
  • Example#5404 - Usage on built-in functions
  • Example#5405 - ReflectionFunctionAbstract::isClosure example
  • Example#5406 - ReflectionFunctionAbstract::isDeprecated example
  • Example#5407 - ReflectionMethod::__construct example
  • Example#5408 - ReflectionMethod::getDeclaringClass example
  • Example#5409 - ReflectionMethod::getModifiers example
  • Example#5410 - ReflectionMethod::getPrototype example
  • Example#5411 - ReflectionMethod::invoke example
  • Example#5412 - ReflectionMethod::invokeArgs example
  • Example#5413 - Simple Class definition
  • Example#5414 - ReflectionMethod::__toString example
  • Example#5415 - ReflectionNamedType::isBuiltin example
  • Example#5416 - Using the ReflectionParameter class
  • Example#5417 - Using the ReflectionParameter class
  • Example#5418 - Getting the class that declared the method
  • Example#5419 - Getting default values of function parameters
  • Example#5420 - Getting default values' constant names of function parameters
  • Example#5421 - ReflectionParameter::getType Usage as of PHP 7.1.0
  • Example#5422 - ReflectionParameter::getType Usage before PHP 7.1.0
  • Example#5423 - ReflectionParameter::hasType example
  • Example#5424 - ReflectionProperty::__construct example
  • Example#5425 - Getting value from private and protected properties using ReflectionProperty class
  • Example#5426 - ReflectionClass::getDefaultValue example
  • Example#5427 - ReflectionProperty::getDocComment example
  • Example#5428 - Multiple property declarations
  • Example#5429 - ReflectionProperty::getType example
  • Example#5430 - ReflectionProperty::getValue example
  • Example#5431 - ReflectionClass::hasDefaultValue example
  • Example#5432 - ReflectionProperty::hasType example
  • Example#5433 - ReflectionClass::isDefault example
  • Example#5434 - ReflectionProperty::isInitialized example
  • Example#5435 - Simple Class definition
  • Example#5436 - ReflectionProperty::setValue example
  • Example#5437 - ReflectionType::allowsNull example
  • Example#5438 - ReflectionType::__toString example
  • Example#5439 - ReflectionUnionType::getTypes example
  • Example#5440 - ReflectionGenerator::__construct example
  • Example#5441 - ReflectionGenerator::getExecutingFile example
  • Example#5442 - ReflectionGenerator::getExecutingGenerator example
  • Example#5443 - ReflectionGenerator::getExecutingLine example
  • Example#5444 - ReflectionGenerator::getFunction example
  • Example#5445 - ReflectionGenerator::getThis example
  • Example#5446 - ReflectionGenerator::getTrace example
  • Example#5447 - Basic ReflectionReference::getId usage
  • Example#5448 - Exemplos da função boolval
  • Example#5449 - Exemplo da debug_zval_dump
  • Example#5450 -
  • Example#5451 -
  • Example#5452 - Uma simples comparação entre as funções empty / isset.
  • Example#5453 - Função empty em Deslocamento de String
  • Example#5454 - Exemplo da função floatval
  • Example#5455 - Exemplo da função floatval em string com caracteres não numéricos à esquerda
  • Example#5456 - Exemplo da get_defined_vars
  • Example#5457 - get_resource_id example
  • Example#5458 - Exemplo da get_resource_type
  • Example#5459 - Exemplo da função gettype
  • Example#5460 - Exemplos da intval
  • Example#5461 - Verificando se a variável é um array
  • Example#5462 - Exemplo is_bool
  • Example#5463 - Exemplo da is_callable
  • Example#5464 - is_countable examples
  • Example#5465 - Exemplo da is_float
  • Example#5466 - Exemplo da is_int
  • Example#5467 - is_iterable examples
  • Example#5468 - Exemplo da is_resource
  • Example#5469 - Exemplo da is_scalar
  • Example#5470 - Exemplo da is_string
  • Example#5471 - Exemplos da isset
  • Example#5472 - Exemplo de print_r
  • Example#5473 - Exemplo do parâmetro return
  • Example#5474 - serialize example
  • Example#5475 - Exemplo da função settype
  • Example#5476 - Exemplo de strval usando o método mágico __toString() do PHP 5
  • Example#5477 - unserialize example
  • Example#5478 - unserialize_callback_func example
  • Example#5479 - Exemplo da unset
  • Example#5480 - Exemplo da var_dump
  • Example#5481 - var_export Examples
  • Example#5482 - Exporting stdClass (since PHP 7.3.0)
  • Example#5483 - Exporting classes (since PHP 5.1.0)
  • Example#5484 - Using __set_state() (since PHP 5.1.0)
  • Example#5485 -
  • Example#5486 - OAuth::fetch example
  • Example#5487 - OAuth::getAccessToken example
  • Example#5488 - OAuth::getRequestToken example
  • Example#5489 - OAuth::setRequestEngine example
  • Example#5490 - An OAuth::setRsaCertificate example
  • Example#5491 - OAuth::setToken example
  • Example#5492 - OAuthProvider::__construct example
  • Example#5493 - Example OAuthProvider::consumerHandler callback
  • Example#5494 - OAuthProvider::generateToken example
  • Example#5495 - OAuthProvider::is2LeggedEndpoint example
  • Example#5496 - Example OAuthProvider::timestampNonceHandler callback
  • Example#5497 - Example OAuthProvider::tokenHandler callback
  • Example#5498 - is_soap_fault example
  • Example#5499 - SOAP's standard method for error reporting is exceptions
  • Example#5500 - SoapClient::__construct example
  • Example#5501 - SoapClient::__doRequest example
  • Example#5502 - SoapClient::__getFunctions example
  • Example#5503 - SoapClient::__getLastRequest() example
  • Example#5504 - SoapClient::__getLastRequestHeaders() example
  • Example#5505 - SoapClient::__getLastResponse() example
  • Example#5506 - SoapClient::__getLastResponse() example
  • Example#5507 - SoapClient::__getTypes example
  • Example#5508 - SoapClient::__setLocation example
  • Example#5509 - SoapClient::__setSoapHeaders example
  • Example#5510 - Set Multiple Headers
  • Example#5511 - SoapClient::__soapCall example
  • Example#5512 - SoapServer::addFunction example
  • Example#5513 - SoapServer::__construct example
  • Example#5514 - SoapServer::getFunctions example
  • Example#5515 - SoapServer::handle example
  • Example#5516 - SoapServer::setPersistence example
  • Example#5517 - Some examples
  • Example#5518 - Some examples
  • Example#5519 - SoapHeader::__construct example
  • Example#5520 - SoapParam::__construct example
  • Example#5521 - SoapVar::__construct example
  • Example#5522 - Yar Server Example
  • Example#5523 - Access the server in borwser(GET request)
  • Example#5524 - Yar Client Example
  • Example#5525 - Yar Concurrent Client Example
  • Example#5526 - Yar_Server::__construct example
  • Example#5527 - Yar_Server::handle example
  • Example#5528 - Yar_Client::__call example
  • Example#5529 - Yar_Client::__construct example
  • Example#5530 - Yar_Client::setOpt example
  • Example#5531 - Yar_Concurrent_Client::call example
  • Example#5532 - Yar_Concurrent_Client::loop example
  • Example#5533 - Yar_Concurrent_Client::reset example
  • Example#5534 - Yar_Server_Exception::getType example
  • Example#5535 - Yar_Client_Exception::getType example
  • Example#5536 - Exemplo de uso das funções de cliente XMLRPC
  • Example#5537 - For Each in ASP
  • Example#5538 - foreach in PHP
  • Example#5539 - com example (1)
  • Example#5540 - com example (2)
  • Example#5541 - dotnet example
  • Example#5542 - variant example
  • Example#5543 - Basic COMPersistHelper::saveToFile Usage
  • Example#5544 - COM event sink example
  • Example#5545 - Registering a PHP script to run as a service
  • Example#5546 - Unregistering a service
  • Example#5547 - Running as a service
  • Example#5548 - A win32_create_service example
  • Example#5549 - A win32_create_service example with dependencies
  • Example#5550 - A win32_create_service example with recovery
  • Example#5551 - A win32_delete_service example
  • Example#5552 - A win32_start_service_ctrl_dispatcher example
  • Example#5553 - book.xml
  • Example#5554 - Creating a new DOMAttr object
  • Example#5555 - DOMAttr::isId() Example
  • Example#5556 - Creating a new DOMCdataSection object
  • Example#5557 - Creating a new DOMComment
  • Example#5558 - Creating a new DOMDocument
  • Example#5559 - Creating a new element and inserting it as root
  • Example#5560 - Passing text containing an unescaped & as value
  • Example#5561 - Creating a new element and inserting it as root
  • Example#5562 - A namespace prefix example
  • Example#5563 - DOMDocument::getElementById() Example
  • Example#5564 - Basic Usage Example
  • Example#5565 - Get all the XInclude elements
  • Example#5566 - DOMDocument::importNode example
  • Example#5567 - Creating a Document
  • Example#5568 - Creating a Document
  • Example#5569 - Creating a Document
  • Example#5570 - Creating a Document
  • Example#5571 - Static invocation of loadXML
  • Example#5572 - Adding a new method to DOMElement to ease our code
  • Example#5573 - Retrieving elements as custom class
  • Example#5574 - Retrieving owner document
  • Example#5575 - Custom objects are transient
  • Example#5576 - Saving a DOM tree into a file
  • Example#5577 - Saving a HTML tree into a string
  • Example#5578 - Saving a HTML tree into a file
  • Example#5579 - Saving a DOM tree into a string
  • Example#5580 - Example of DTD validation
  • Example#5581 - DOMDocument::xinclude() example
  • Example#5582 - Appending XML data to your document
  • Example#5583 - Creating a new DOMElement
  • Example#5584 - Setting an attribute
  • Example#5585 - Creating a new DOMEntityReference
  • Example#5586 - Creating a document with an attached DTD
  • Example#5587 - Testing your DOM Implementation
  • Example#5588 - Adicionando um nó filho
  • Example#5589 - DOMNode::getLineNo example
  • Example#5590 - DOMNode::getNodePath example
  • Example#5591 - Removing a child
  • Example#5592 - Traversing all the entries of the table
  • Example#5593 - Creating a new DOMProcessingInstruction object
  • Example#5594 - Creating a new DOMText
  • Example#5595 - Getting the count of all the english books
  • Example#5596 - Getting all the english books
  • Example#5597 - book.xml
  • Example#5598 - DOMXPath::registerPHPFunctions with php:functionString
  • Example#5599 - DOMXPath::registerPHPFunctions with php:function
  • Example#5600 - Import SimpleXML into DOM with dom_import_simplexml
  • Example#5601 - Um exemplo da libxml_get_errors
  • Example#5602 - libxml_set_external_entity_loader example
  • Example#5603 - Um exemplo da libxml_set_streams_context
  • Example#5604 - Um exemplo da libxml_use_internal_errors
  • Example#5605 - Include file example.php with XML string
  • Example#5606 - Getting <plot>
  • Example#5607 - Getting <line>
  • Example#5608 - Accessing non-unique elements in SimpleXML
  • Example#5609 - Using attributes
  • Example#5610 - Comparing Elements and Attributes with Text
  • Example#5611 - Comparing Two Elements
  • Example#5612 - Using XPath
  • Example#5613 - Setting values
  • Example#5614 - Adding elements and attributes
  • Example#5615 - DOM Interoperability
  • Example#5616 - Loading broken XML string
  • Example#5617 - Adiciona atributos e filhos à um elemento SimpleXML
  • Example#5618 - Adiciona atributos e filhos à um elemento SimpleXML
  • Example#5619 - Recuperando o XML
  • Example#5620 - Utilizando asXML() em resultados SimpleXMLElement::xpath
  • Example#5621 - Interpretando uma string XML
  • Example#5622 - Percorrendo um pseudo-array children()
  • Example#5623 - Utilizando namespaces
  • Example#5624 - Cria um objeto SimpleXMLElement
  • Example#5625 - Cria um objeto SimpleXMLElement de uma URL
  • Example#5626 - Contando o número de filhos
  • Example#5627 - Pega os namespaces do documento
  • Example#5628 - Trabalhando com múltiplos namespaces
  • Example#5629 - Pega os nomes dos elementos XML
  • Example#5630 - Get document namespaces in use
  • Example#5631 - Definindo um prefixo de namespace para ser usado em uma consulta XPath
  • Example#5632 - Recuperando o conteúdo como uma string
  • Example#5633 - Xpath
  • Example#5634 - Importando o DOM
  • Example#5635 - Interpreta um documento XML
  • Example#5636 - Interpretar uma string XML
  • Example#5637 - Serializando um único valor com WDDX
  • Example#5638 - Usando pacotes incrementais com WDDX
  • Example#5639 - Exemplo de uso de wddx_serialize_vars
  • Example#5640 - Mostra estrutura do elemento XML
  • Example#5641 - Arrumar XML to HTML
  • Example#5642 - Exemplo da Entidade Externa
  • Example#5643 - xmltest.xml
  • Example#5644 - xmltest2.xml
  • Example#5645 - Exemplo da xml_parse_into_struct
  • Example#5646 - moldb.xml - pequeno banco de dados de informações moleculares
  • Example#5647 - parsemoldb.php - analisa moldb.xml e cria o array dos objetos moleculares
  • Example#5648 - xml_set_object example
  • Example#5649 - Validating XML
  • Example#5650 - Creating a simple XML document
  • Example#5651 - Working with XML namespaces
  • Example#5652 - Working with the OO API
  • Example#5653 - Direct output of XML
  • Example#5654 - XMLWriter::setIndent and mixed Content
  • Example#5655 - Basic XMLWriter::startAttribute Usage
  • Example#5656 - Intermixing Sub-elements and Attributes
  • Example#5657 - Basic xmlwriter_write_cdata Usage
  • Example#5658 - collection.xml
  • Example#5659 - collection.xsl
  • Example#5660 - Criando um XSLTProcessor
  • Example#5661 - Testando o suporte a EXSLT
  • Example#5662 - Simples chamada de função do PHP em um stylesheet
  • Example#5663 - Modificando antes da transformação
  • Example#5664 - Example profiling output
  • Example#5665 - Transformando para DOMDocument
  • Example#5666 - Transformando para um arquivo HTML
  • Example#5667 - Transformando para uma string
  • Example#5668 - Um elemento oculto de formulário HTML
  • Example#5669 - Dados a serem editados pelo usuário
  • Example#5670 - Em uma URL
  • Example#5671 - Gerando Javascript com PHP
  • Example#5672 - Exemplo de código PHP/FI
  • Example#5673 - Ativa a exibição completa de erros na tela para o domínio dev.
  • Example#5674 - Adiciona o script security.php para áreas protegidas
  • Example#5675 - include_path no Unix
  • Example#5676 - include_path no Windows
  • Example#5677 - include_path do Unix utilizando a variável de ambiente ${USER}
  • Example#5678 - string.rot13
  • Example#5679 - string.toupper
  • Example#5680 - string.tolower
  • Example#5681 - string.strip_tags
  • Example#5682 - convert.base64-encode & convert.base64-decode
  • Example#5683 - convert.quoted-printable-encode & convert.quoted-printable-decode
  • Example#5684 - convert.iconv.*
  • Example#5685 - zlib.deflate e zlib.inflate
  • Example#5686 - zlib.deflate simples
  • Example#5687 - bzip2.compress e bzip2.decompress
  • Example#5688 - Criptografar/Descriptografar com Blowfish
  • Example#5689 - Criptografar arquivo usando CBC AES-128 com HMAC SHA256


Changelog

As alterações a seguir foram feitas em funções de extensões nativas

Version | Function | Description
PHP 4.3.3 | ftruncate | Antes desta versão, ftruncate retornava integer no valor 1 no caso de sucesso, ao invés de boolean true.
PECL OCI8 1.4 | oci_set_prefetch | Before this release, rows must be >= 1.
PECL OCI8 1.3.4 | oci_set_prefetch | Before this release, prefetching was limited to the lesser of rows rows and 1024 * rows bytes. The byte size restriction has now been removed.
PECL 3.0.0 | IntlDateFormatter::format | Support for providing IntlCalendar objects to the datetime parameter was added.
Desde o 5.0.0 | get_class | O nome da classe é retornado em sua notação original.
get_class | O parâmetro object é opcional se chamado para um método do objeto.
get_parent_class | O parâmetro object é opcional se chamado de um método de objeto.
Desde o 4.0.5 | get_parent_class | Se object é uma string, retorna o nome da classe pai da classe com este nome.
Antes do 5.1.0 | get_parent_class | Se chamado sem parâmetro fora do objeto, esta função retornaria null com um aviso.
antes do 4.2.0 | get_object_vars | Se as variáveis declaradas na classe da qual o object é uma instância, não foram assimilado um valor, estes não serão retornados no array
8.0.0, PECL OCI8 3.0.0 | OCICollection::append | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
OCICollection::assign | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
OCICollection::assignElem | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
OCICollection::free | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
OCICollection::getElem | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
OCICollection::max | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
OCICollection::size | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
OCICollection::trim | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
OCILob::append | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::close | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::eof | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::erase | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::export | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::flush | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::free | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::getBuffering | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::import | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::load | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::read | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::rewind | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::save | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::saveFile | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::seek | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::setBuffering | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::size | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::tell | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::truncate | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::write | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
OCILob::writeToFile | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.
8.0.0 / 1.18.1 | ZipArchive::addGlob | "comp_method", "comp_flags", "enc_method" and "enc_password" in options were added.
8.0.0 / 1.18.0 | ZipArchive::addEmptyDir | flags was added.
ZipArchive::addFile | flags was added.
ZipArchive::addFromString | flags was added.
ZipArchive::addGlob | "flags" in options was added.
ZipArchive::getStatusString | This method can be called on closed archive.
ZipArchive::getStatusString | This method no longer returns false on failure.
8.0.0 | DOMImplementation::createDocument | doctype is now nullable.
com_event_sink | sink_interface is nullable now.
com_get_active_object | codepage is nullable now.
curl_multi_errno | multi_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
curl_multi_errno | The function no longer returns false on failure.
curl_setopt | handle expects a CurlHandle instance now; previously, a resource was expected.
curl_share_errno | The function no longer returns false on failure.
curl_share_errno | share_handle expects a CurlShareHandle instance now; previously, a resource was expected.
enchant_broker_describe | Prior to this version, the function returned false on failure.
enchant_broker_describe | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
enchant_broker_dict_exists | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
enchant_broker_free | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
enchant_broker_free_dict | dictionary expects a EnchantDictionary now; previoulsy, a resource was expected.
enchant_broker_get_dict_path | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
enchant_broker_get_error | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
enchant_broker_init | On success, this function returns an EnchantBroker instance now; previoulsy, a resource was retured.
enchant_broker_list_dicts | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
enchant_broker_list_dicts | Prior to this version, the function returned false on failure.
enchant_broker_request_dict | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
enchant_broker_request_dict | On success, this function returns an EnchantDictionary instance now; previoulsy, a resource was retured.
enchant_broker_request_pwl_dict | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
enchant_broker_request_pwl_dict | On success, this function returns an EnchantDictionary instance now; previoulsy, a resource was retured.
enchant_broker_set_dict_path | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
enchant_broker_set_ordering | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
enchant_dict_add | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
enchant_dict_add_to_session | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
enchant_dict_check | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
enchant_dict_describe | Prior to this version, the function returned false on failure.
enchant_dict_describe | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
enchant_dict_get_error | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
enchant_dict_is_added | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
enchant_dict_quick_check | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
enchant_dict_store_replacement | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
enchant_dict_suggest | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
finfo_buffer | context is nullable now.
finfo_file | context is nullable now.
hash_update_file | stream_context is now nullable.
iconv_mime_decode | encoding is nullable now.
iconv_mime_decode_headers | encoding is nullable now.
iconv_strlen | encoding is nullable now.
iconv_strpos | encoding is nullable now.
iconv_strrpos | encoding is nullable now.
iconv_substr | length and encoding are nullable now.
imap_append | options and internal_date are now nullable.
imap_headerinfo | The unused defaulthost parameter has been removed.
imap_mail | additional_headers, cc, bcc, and return_path are now nullable.
imap_sort | search_criteria and charset are now nullable.
imap_sort | reverse is now bool instead of int.
ldap_add | controls is nullable now; previously, it defaulted to [].
ldap_add_ext | controls is nullable now; previously, it defaulted to [].
ldap_bind_ext | controls is nullable now; previously, it defaulted to [].
ldap_compare | controls is nullable now; previously, it defaulted to [].
ldap_delete | controls is nullable now; previously, it defaulted to [].
ldap_delete_ext | controls is nullable now; previously, it defaulted to [].
ldap_exop_passwd | controls is nullable now; previously, it defaulted to [].
ldap_list | controls is nullable now; previously, it defaulted to [].
ldap_mod_add | controls is nullable now; previously, it defaulted to [].
ldap_mod_del | controls is nullable now; previously, it defaulted to [].
ldap_mod_replace | controls is nullable now; previously, it defaulted to [].
ldap_modify_batch | controls is nullable now; previously, it defaulted to [].
ldap_mod_add_ext | controls is nullable now; previously, it defaulted to [].
ldap_mod_del_ext | controls is nullable now; previously, it defaulted to [].
ldap_mod_replace_ext | controls is nullable now; previously, it defaulted to [].
ldap_read | controls is nullable now; previously, it defaulted to [].
ldap_rename | controls is nullable now; previously, it defaulted to [].
ldap_rename_ext | controls is nullable now; previously, it defaulted to [].
ldap_sasl_bind | dn, password, mech, realm, authc_id, authz_id and props are nullable now.
ldap_search | controls is nullable now; previously, it defaulted to [].
ldap_set_rebind_proc | callback is nullable now.
mb_check_encoding | value and encoding are nullable now.
mb_chr | encoding is nullable now.
mb_convert_encoding | from_encoding is nullable now.
mb_convert_kana | encoding is nullable now.
mb_decode_numericentity | encoding is nullable now.
mb_detect_order | encoding is nullable now.
mb_encode_mimeheader | charset and transfer_encoding are nullable now.
mb_encode_numericentity | encoding is nullable now.
mb_ereg | This function returns true on success now. Previously, it returned the byte length of the matched string if a match for pattern was found in string and matches was passed. If the optional parameter matches was not passed or the length of the matched string was 0, this function returned 1.
mb_ereg_match | options is nullable now.
mb_ereg_replace | options is nullable now.
mb_ereg_replace_callback | options is nullable now.
mb_ereg_search | pattern and options are nullable now.
mb_ereg_search_init | pattern and options are nullable now.
mb_ereg_search_pos | pattern and options are nullable now.
mb_ereg_search_regs | pattern and options are nullable now.
mb_eregi | This function returns true on success now. Previously, it returned the byte length of the matched string if a match for pattern was found in string and matches was passed. If the optional parameter matches was not passed or the length of the matched string was 0, this function returned 1.
mb_eregi_replace | options is nullable now.
mb_get_info | The types "func_overload" and "func_overload_list" are no longer supported.
mb_http_input | type is nullable now.
mb_http_output | encoding is nullable now.
mb_internal_encoding | encoding is nullable now.
mb_language | language is nullable now.
mb_ord | encoding is nullable now.
mb_parse_str | The second parameter was no longer optional.
mb_regex_encoding | encoding is nullable now.
mb_regex_set_options | If the parameter options is given and not null, the previous options are returned. Formerly, the current options have been returned.
mb_regex_set_options | options is nullable now.
mb_scrub | encoding is nullable now.
mb_send_mail | additional_params is nullable now.
mb_str_split | encoding is nullable now.
mb_str_split | This function no longer returns false on failure.
mb_strcut | encoding is nullable now.
mb_strimwidth | encoding is nullable now.
mb_stripos | encoding is nullable now.
mb_stristr | encoding is nullable now.
mb_strlen | encoding is nullable now.
mb_strpos | encoding is nullable now.
mb_strrchr | encoding is nullable now.
mb_strrichr | encoding is nullable now.
mb_strripos | encoding is nullable now.
mb_strrpos | encoding is nullable now.
mb_strstr | encoding is nullable now.
mb_strwidth | encoding is nullable now.
mb_substitute_character | encoding is nullable now.
mb_substitute_character | Passing an empty string to substitute_character is no longer supported; "none" should be passed instead.
mb_substr | encoding is nullable now.
mb_substr_count | encoding is nullable now.
msg_get_queue | On success, this function returns a SysvMessageQueue instance now; previously, a resource was returned.
msg_receive | queue expects a SysvMessageQueue instance now; previously, a resource was expected.
msg_remove_queue | queue expects a SysvMessageQueue instance now; previously, a resource was expected.
msg_send | queue expects a SysvMessageQueue instance now; previously, a resource was expected.
msg_set_queue | queue expects a SysvMessageQueue instance now; previously, a resource was expected.
msg_stat_queue | queue expects a SysvMessageQueue instance now; previously, a resource was expected.
openssl_csr_export | csr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
openssl_csr_export_to_file | csr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
openssl_csr_get_public_key | On success, this function returns an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was returned.
openssl_csr_get_public_key | csr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
openssl_csr_get_subject | csr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
openssl_csr_new | private_key accepts an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was accepted.
openssl_csr_new | On success, this function returns an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was returned.
openssl_csr_sign | ca_certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
openssl_csr_sign | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_csr_sign | csr accepts an OpenSSLCertificateSigningRequest instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
openssl_csr_sign | On success, this function returns an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was returned.
openssl_dh_compute_key | private_key accepts an OpenSSLAsymmetricKey now; previously, a resource of type OpenSSL key was accepted.
openssl_free_key | key accepts an OpenSSLAsymmetricKey now; previously, a resource of type OpenSSL key was accepted.
openssl_free_key | This function is now deprecated as it doesn't have an effect anymore.
openssl_open | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 CSR was accepted.
openssl_open | cipher_algo is no longer an optional parameter.
openssl_pkcs7_decrypt | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 CSR was accepted.
openssl_pkcs7_encrypt | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
openssl_pkcs7_sign | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
openssl_pkcs7_sign | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 CSR was accepted.
openssl_pkcs7_verify | signers_certificates_filename, untrusted_certificates_filename, content and output_filename are nullable now.
openssl_pkcs12_export | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_pkcs12_export | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
openssl_pkcs12_export_to_file | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_pkcs12_export_to_file | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 CSR was accepted.
openssl_pkey_export | key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_pkey_export_to_file | key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_pkey_free | key accepts an OpenSSLAsymmetricKey now; previously, a resource of type OpenSSL key was accepted.
openssl_pkey_free | This function is now deprecated as it doesn't have an effect anymore.
openssl_pkey_get_details | key accepts an OpenSSLAsymmetricKey now; previously, a resource of type OpenSSL key was accepted.
openssl_pkey_get_private | On success, this function returns an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was returned.
openssl_pkey_get_private | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_pkey_get_private | passphrase is nullable now.
openssl_pkey_get_public | public_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_pkey_get_public | On success, this function returns an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was returned.
openssl_pkey_new | On success, this function returns an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was returned.
openssl_private_decrypt | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_private_encrypt | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_public_decrypt | public_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_public_encrypt | public_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_random_pseudo_bytes | strong_result is nullable now.
openssl_seal | iv is nullable now.
openssl_seal | public_key accepts an array of OpenSSLAsymmetricKey instances now; previously, an array of resources of type OpenSSL key was accepted.
openssl_seal | cipher_algo is no longer an optional parameter.
openssl_sign | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_spki_new | private_key accepts an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was accepted.
openssl_verify | public_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_x509_check_private_key | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
openssl_x509_check_private_key | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_x509_checkpurpose | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
openssl_x509_checkpurpose | untrusted_certificates_file is nullable now.
openssl_x509_export | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
openssl_x509_export_to_file | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
openssl_x509_fingerprint | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
openssl_x509_free | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
openssl_x509_free | This function is now deprecated as it doesn't have an effect anymore.
openssl_x509_parse | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
openssl_x509_read | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
openssl_x509_read | On success, this function returns an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was returned.
openssl_x509_verify | public_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
openssl_x509_verify | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
sem_acquire | semaphore expects a SysvSemaphore instance now; previously, a resource was expected.
sem_get | On success, this function returns a SysvSemaphore instance now; previously, a resource was returned.
sem_get | The type of auto_release has been changed from int to bool.
sem_release | semaphore expects a SysvSemaphore instance now; previously, a resource was expected.
sem_remove | semaphore expects a SysvSemaphore instance now; previously, a resource was expected.
shm_attach | On success, this function returns an SysvSharedMemory instance now; previously, a resource was returned.
shm_attach | size is nullable now.
shm_detach | shm expects a SysvSharedMemory instance now; previously, a resource was expected.
shm_get_var | shm expects a SysvSharedMemory instance now; previously, a resource was expected.
shm_has_var | shm expects a SysvSharedMemory instance now; previously, a resource was expected.
shm_put_var | shm expects a SysvSharedMemory instance now; previously, a resource was expected.
shm_remove | shm expects a SysvSharedMemory instance now; previously, a resource was expected.
shm_remove_var | shm expects a SysvSharedMemory instance now; previously, a resource was expected.
ReflectionClass::getConstants | filter has been added.
ReflectionClass::getReflectionConstants | filter has been added.
ReflectionMethod::getClosure | object is now nullable.
ReflectionParameter::getDefaultValue | This method now allows getting the default value of parameters of built-in functions and built-in class methods. Previously, a ReflectionException was thrown.
ReflectionParameter::getDefaultValueConstantName | This method now allows getting the default values' constant names of built-in functions and built-in class methods. Previously, a ReflectionException was thrown.
ReflectionProperty::getValue | object is nullable now.
ReflectionProperty::isInitialized | object is nullable now.
SoapClient::__doRequest | The type of oneWay is bool now; formerly it was int.
SoapClient::__setCookie | value is now nullable.
SoapServer::handle | request is now nullable.
XMLReader::getAttribute | This function can no longer return false.
XMLReader::getAttributeNs | This function can no longer return false.
XMLReader::lookupNamespace | This function can no longer return false.
XMLReader::next | name is nullable now.
XMLReader::open | XMLReader::open is now declared as static method, but can still be called on an XMLReader instance.
XMLReader::XML | XMLReader::XML is now declared as static method, but can still be called on an XMLReader instance.
XMLWriter::endAttribute | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::endCdata | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::endComment | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::endDocument | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::endDtd | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::endDtdAttlist | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::endDtdElement | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::endDtdEntity | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::endElement | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::endPi | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::flush | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::flush | This function can no longer return false.
XMLWriter::fullEndElement | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::openMemory | This function returns now an XMLWriter instance on success. Previouly, a resource has been returned in this case.
XMLWriter::openUri | This function returns now an XMLWriter instance on success. Previouly, a resource has been returned in this case.
XMLWriter::outputMemory | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::setIndent | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::setIndentString | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::startAttribute | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::startAttributeNs | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::startAttributeNs | prefix is nullable now.
XMLWriter::startCdata | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::startComment | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::startDocument | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::startDtd | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::startDtdAttlist | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::startDtdElement | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::startDtdEntity | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::startElement | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::startElementNs | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::startPi | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::text | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::writeAttribute | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::writeAttributeNs | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::writeCdata | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::writeComment | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::writeDtd | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::writeDtdAttlist | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::writeDtdElement | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::writeDtdEntity | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::writeDtdEntity | publicId, systemId and notationData are nullable now.
XMLWriter::writeElement | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::writeElementNs | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::writePi | writer expects an XMLWriter instance now; previously, a resource was expected.
XMLWriter::writeRaw | writer expects an XMLWriter instance now; previously, a resource was expected.
ZipArchive::setEncryptionIndex | password is now nullable.
ZipArchive::setEncryptionName | password is now nullable.
7.4.0 | hash_algos | Support for crc32c has been added.
idn_to_ascii | The default value of variant is now INTL_IDNA_VARIANT_UTS46 instead of the deprecated INTL_IDNA_VARIANT_2003.
idn_to_utf8 | The default value of variant is now INTL_IDNA_VARIANT_UTS46 instead of the deprecated INTL_IDNA_VARIANT_2003.
ldap_control_paged_result | This function has been deprecated.
ldap_control_paged_result_response | This function has been deprecated.
preg_replace_callback | O parâmetro flags foi adicionado.
preg_replace_callback_array | The flags parameter was added.
str_getcsv | O parâmetro escape agora interpreta uma string vazia como um sinal para desabilitar o mecanismo de escape. Antes, uma string vazia utilizava o valor padrão do parâmetro.
SQLite3Stmt::bindParam | param now also supports the @param notation.
SQLite3Stmt::bindValue | param now also supports the @param notation.
7.3.15, 7.4.3 | curl_setopt | Introduced CURLOPT_HTTP09_ALLOWED .
7.3.14, 7.4.2 | dba_open | The lmdb driver now supports an additional $mapsize parameter.
7.3.0 | apache_request_headers | Esta função tornou-se disponível na SAPI FPM.
curl_setopt | Introduced CURLOPT_ABSTRACT_UNIX_SOCKET, CURLOPT_KEEP_SENDING_ON_ERROR, CURLOPT_PRE_PROXY, CURLOPT_PROXY_CAINFO, CURLOPT_PROXY_CAPATH, CURLOPT_PROXY_CRLFILE, CURLOPT_PROXY_KEYPASSWD, CURLOPT_PROXY_PINNEDPUBLICKEY, CURLOPT_PROXY_SSLCERT, CURLOPT_PROXY_SSLCERTTYPE, CURLOPT_PROXY_SSL_CIPHER_LIST, CURLOPT_PROXY_SSLKEY, CURLOPT_PROXY_SSLKEYTYPE, CURLOPT_PROXY_SSL_OPTIONS, CURLOPT_PROXY_SSL_VERIFYHOST, CURLOPT_PROXY_SSL_VERIFYPEER, CURLOPT_PROXY_SSLVERSION, CURLOPT_PROXY_TLSAUTH_PASSWORD, CURLOPT_PROXY_TLSAUTH_TYPE, CURLOPT_PROXY_TLSAUTH_USERNAME, CURLOPT_SOCKS5_AUTH, CURLOPT_SUPPRESS_CONNECT_HEADERS, CURLOPT_DISALLOW_USERNAME_IN_URL, CURLOPT_DNS_SHUFFLE_ADDRESSES, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CURLOPT_HAPROXYPROTOCOL, CURLOPT_PROXY_TLS13_CIPHERS, CURLOPT_SSH_COMPRESSION, CURLOPT_TIMEVALUE_LARGE and CURLOPT_TLS13_CIPHERS.
getallheaders | Esta função tornou-se disponível na SAPI FPM.
is_countable | is_countable has been added.
mb_convert_case | Added support for MB_CASE_FOLD, MB_CASE_UPPER_SIMPLE, MB_CASE_LOWER_SIMPLE, MB_CASE_TITLE_SIMPLE, and MB_CASE_FOLD_SIMPLE as mode.
var_export | Now exports stdClass objects as an array cast to an object ((object) array( ... )), rather than using the nonexistent method stdClass::__setState. The practical effect is that now stdClass is exportable, and the resulting code will even work on earlier versions of PHP.
7.3 | ldap_add | Support for controls added
ldap_compare | Support for controls added
ldap_delete | Support for controls added
ldap_exop | Support for serverctrls added
ldap_exop_passwd | Support for controls added
ldap_list | Support for controls added
ldap_mod_add | Support for controls added
ldap_mod_del | Support for controls added
ldap_mod_replace | Support for controls added
ldap_modify_batch | Support for controls added
ldap_mod_add_ext | Support for controls added
ldap_mod_del_ext | Support for controls added
ldap_mod_replace_ext | Support for controls added
ldap_parse_result | Support for controls added
ldap_read | Support for controls added
ldap_rename | Support for controls added
ldap_rename_ext | Support for controls added
ldap_search | Support for controls added
7.2.18, 7.3.5 | substr_compare | offset may now be equal to the length of main_str.
7.2.0 | array_unique | Se sort_flags for SORT_STRING, o array anterior foi copiado e os elementos não únicos foram removidos (sem empacotar o array em seguida), mas um novo array é criado ao adicionar os novos elementos. Isto pode resultar em índices numéricos diferentes.
hash_copy | Accept and return HashContext instead of resource.
hash_final | Accept HashContext instead of resource.
hash_hmac | Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled.
hash_hmac_file | Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled.
hash_init | Return HashContext instead of resource.
hash_init | Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) with HASH_HMAC was disabled.
hash_pbkdf2 | Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled.
hash_update | Accept HashContext instead of resource.
hash_update_file | Accept HashContext instead of resource.
hash_update_stream | Accept HashContext instead of resource.
idn_to_ascii | INTL_IDNA_VARIANT_2003 has been deprecated; use INTL_IDNA_VARIANT_UTS46 instead.
idn_to_utf8 | INTL_IDNA_VARIANT_2003 has been deprecated; use INTL_IDNA_VARIANT_UTS46 instead.
mb_check_encoding | This function now also accepts an array as value. Formerly, only strings have been supported.
mb_convert_encoding | This function now also accepts an array as string. Formerly, only strings have been supported.
mb_parse_str | Calling mb_parse_str without the second parameter was deprecated.
mb_send_mail | The additional_headers parameter now also accepts an array.
openssl_pkcs7_verify | The output_filename parameter was added.
password_hash | Suporte para passwords Argon2 usando PASSWORD_ARGON2I foi adicionado.
preg_match | The PREG_UNMATCHED_AS_NULL is now supported for the $flags parameter.
preg_match_all | The PREG_UNMATCHED_AS_NULL is now supported for the $flags parameter.
PDOStatement::debugDumpParams | PDOStatement::debugDumpParams now returns the SQL sent to the database, including the full, raw query (including the replaced placeholders with their bounded values). Note, that this will only be available if emulated prepared statements are turned on.
ReflectionClass::getMethods | filter is nullable now.
ReflectionClass::getProperties | filter is nullable now.
SQLite3::openBlob | The flags parameter has been added, allowing to write BLOBs; formerly only reading was supported.
7.1.5 | IntlDateFormatter::format | Support for providing general DateTimeInterface objects to the datetime parameter was added. Formerly, only proper DateTime objects were supported.
7.1.4 | PDO::sqliteCreateFunction | The flags parameter has been added.
SQLite3::createFunction | The flags parameter has been added.
7.1.0 | grapheme_extract | Support for negative offsets has been added.
grapheme_stripos | Support for negative offsets has been added.
grapheme_strpos | Support for negative offsets has been added.
hash_algos | Support for sha512/224, sha512/256, sha3-224, sha3-256, sha3-384 and sha3-512 has been added.
iconv_strpos | Support for negative offsets has been added.
mb_ereg | mb_ereg will now set matches to an empty array, if nothing matched. Formerly, matches was not modified in that case.
mb_ereg_replace | The function checks whether string is valid for the current encoding.
mb_ereg_replace | The e modifier has been deprecated.
mb_ereg_replace_callback | The function checks whether string is valid for the current encoding.
mb_ereg_search_setpos | Support for negative offsets has been added.
mb_eregi | mb_eregi will now set matches to an empty array, if nothing matched. Formerly, matches was not modified in that case.
mb_eregi_replace | The function checks whether string is valid for the current encoding.
mb_eregi_replace | The e modifier has been deprecated.
mb_strimwidth | Support for negative starts and widths has been added.
mb_stripos | Support for negative offsets has been added.
mb_strpos | Support for negative offsets has been added.
openssl_csr_new | options now also supports curve_name.
openssl_decrypt | The tag and aad parameters were added.
openssl_encrypt | The tag, aad and tag_length parameters were added.
openssl_pkey_new | The curve_name option was added to make it possible to create EC keys.
pcntl_signal | As of PHP 7.1.0 the handler callback is given a second argument containing the siginfo of the specific signal. This data is only supplied if the operating system has the siginfo_t structure. If the OS does not implement siginfo_t NULL is supplied.
pcntl_signal_get_handler | pcntl_signal_get_handler has been added.
substr_count | Support for negative offsets and lengths has been added. length may also be 0 now.
unserialize | The allowed_classes element of options) is now strictly typed, i.e. if anything other than an array or a bool is given, unserialize returns false and issues an E_WARNING.
ReflectionType::__toString | ReflectionType::__toString has been deprecated.
7.0.11 | iconv_substr | If string is equal to offset characters long, an empty string will be returned. Prior to this version, false was returned in this case.
7.0.10 | SQLite3::__construct | The filename can now be empty to use a private, temporary on-disk database.
7.0.7 | curl_multi_setopt | Introduzido CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH e CURLMOPT_MAX_TOTAL_CONNECTIONS.
curl_setopt | Introduced CURL_HTTP_VERSION_2, CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, CURL_HTTP_VERSION_2TLS, CURL_REDIR_POST_301, CURL_REDIR_POST_302, CURL_REDIR_POST_303, CURL_REDIR_POST_ALL, CURL_VERSION_KERBEROS5, CURL_VERSION_PSL, CURL_VERSION_UNIX_SOCKETS, CURLAUTH_NEGOTIATE, CURLAUTH_NTLM_WB, CURLFTP_CREATE_DIR, CURLFTP_CREATE_DIR_NONE, CURLFTP_CREATE_DIR_RETRY, CURLHEADER_SEPARATE, CURLHEADER_UNIFIED, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH, CURLMOPT_MAX_TOTAL_CONNECTIONS, CURLOPT_CONNECT_TO, CURLOPT_DEFAULT_PROTOCOL, CURLOPT_DNS_INTERFACE, CURLOPT_DNS_LOCAL_IP4, CURLOPT_DNS_LOCAL_IP6, CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOPT_HEADEROPT, CURLOPT_LOGIN_OPTIONS, CURLOPT_PATH_AS_IS, CURLOPT_PINNEDPUBLICKEY, CURLOPT_PIPEWAIT, CURLOPT_PROXY_SERVICE_NAME, CURLOPT_PROXYHEADER, CURLOPT_SASL_IR, CURLOPT_SERVICE_NAME, CURLOPT_SSL_ENABLE_ALPN, CURLOPT_SSL_ENABLE_NPN, CURLOPT_SSL_FALSESTART, CURLOPT_SSL_VERIFYSTATUS, CURLOPT_STREAM_WEIGHT, CURLOPT_TCP_FASTOPEN, CURLOPT_TFTP_NO_OPTIONS, CURLOPT_UNIX_SOCKET_PATH, CURLOPT_XOAUTH2_BEARER, CURLPROTO_SMB, CURLPROTO_SMBS, CURLPROXY_HTTP_1_0, CURLSSH_AUTH_AGENT and CURLSSLOPT_NO_REVOKE.
7.0.0 | array_column | Adicionada a habilidade que possibilita o parâmetro input ser um array de objetos.
dirname | Adicionado o parâmetro opcional levels.
gmmktime | O parâmetro is_dst foi removido.
mktime | O parâmetro is_dst foi removido.
session_regenerate_id | session_regenerate_id salva os dados da sessão antiga antes de encerrar.
session_start | O parâmetro options foi adicionado.
substr | Se string tiver o comprimento de start, uma string vazia será retornada. Antes dessa versão, retornava false nesse caso.
unserialize | The options parameter has been added.
6.0.0 | file | Adicionado suporte às flags FILE_TEXT e FILE_BINARY.
file_get_contents | O parâmetro use_include_path foi substituído pelo parâmetro flags.
file_put_contents | Adicionado suporte às flags FILE_TEXT e FILE_BINARY
5.6.0 | array_fill | num agora pode ser zero. Anteriormente, num deveria ser maior que zero.
array_filter | Adicionado o parâmetro opcional flag e as contantes ARRAY_FILTER_USE_KEY e ARRAY_FILTER_USE_BOTH
mb_regex_encoding | Default encoding is changed to UTF-8. It was EUC-JP Previously.
mcrypt_decrypt | Invalid key and iv sizes are no longer accepted. mcrypt_decrypt will now throw a warning and return false if the inputs are invalid. Previously keys and IVs were padded with '\0' bytes to the next valid size.
mcrypt_encrypt | Invalid key and iv sizes are no longer accepted. mcrypt_encrypt will now throw a warning and return false if the inputs are invalid. Previously keys and IVs were padded with '\0' bytes to the next valid size.
stream_socket_enable_crypto | Introduce STREAM_CRYPTO_METHOD_ANY_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, STREAM_CRYPTO_METHOD_ANY_SERVER, STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, STREAM_CRYPTO_METHOD_TLSv1_2_SERVER.
stream_socket_enable_crypto | The crypto_type is now optional.
unserialize | Manipulating the serialised data by replacing C: with O: to force object instantiation without calling the constructor will now fail.
ReflectionClass::newInstanceWithoutConstructor | All internal classes can now be instantiated except for those declared final.
XMLReader::getAttributeNo | XMLReader::getAttributeNo now returns null if the attribute doesn't exist.
XMLReader::getAttributeNs | XMLReader::getAttributeNS now returns null if the attribute doesn't exist.
5.5.8 | DatePeriod::__construct | O tipo de end foi modificado para DateTimeImmutable. Anteriormente era DateTime.
5.5.4 | fputcsv | O parâmetro escape_char foi adicionado.
5.5.2 | DOMDocument::schemaValidate | Added the flags parameter
DOMDocument::schemaValidateSource | Added the flags parameter
5.5.1 | session_set_save_handler | Adicionado o parâmetro opcional create_sid.
5.5.0/PECL 3.0.0 | IntlDateFormatter::create | An IntlCalendar object is allowed for calendar. Objects of type IntlTimeZone and DateTimeZone are allowed for timezone. Invalid timezone identifiers (including empty strings) are no longer allowed for timezone. If null is given for timezone, the timezone identifier given by date_default_timezone_get will be used instead of ICU's default.
IntlDateFormatter::setCalendar | It became possible to pass an IntlCalendar object.
5.5.0 | DatePeriod::__construct | start foi modificado para DateTimeImmutable. Anteriormente era DateTime.
empty | A função empty agora suporta expressões, em vez de somente variáveis.
json_encode | Parâmetro depth foi adicionado.
5.4.32, 5.5.16 | ucwords | O parâmetro delimiters foi adicionado.
5.4.0 | apache_child_terminate | Esta funçõe se tornou disponível no FastCGI. Anteriormente ele só era suportado quando o PHP era instalado como módulo do Apache.
array_combine | Versões anteriores disparavam E_WARNING e retornavam false para arrays vazios.
array_multisort | SORT_NATURAL e SORT_FLAG_CASE foram adicionados em array1_sort_flags.
date_default_timezone_get | O fuso horário não é mais suposto por informações disponíveis no sistema operacional, já que o fuso horário adivinhado não é confiável.
date_default_timezone_get | A variável de ambiente TZ não é mais utilizada para adivinhar o fuso horário.
empty | Checar deslocamentos de strings não numéricos retorna true.
json_encode | options JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, e JSON_UNESCAPED_UNICODE foram adicionadas.
session_set_save_handler | Adicionado SessionHandlerInterface para a implementação de manipuladores de sessão e SessionHandler para expor manipuladores de sessão internos do PHP.
SimpleXMLElement::getDocNamespaces | Adicionado o parâmetro from_root.
5.3.15, 5.4.5 | Collator::getSortKey | Sort keys do no longer contain any NUL bytes.
5.3.9 | DateTime::createFromFormat | O especificador de format + foi adicionado.
5.3.6 | DateTime::modify | Declarações absolutas de data/hora agora possuem efeito. Anteriormente, somente porções relativas eram utilizadas.
array_product | O produto de um array vazio agora é 1, quando antes essa função iria retornar 0 para um array vazio.
PDO_MYSQL DSN | Antes do PHP 5.3.6, o charset era ignorado.
5.3.4 | copy | Alterado o parâmetro context para ele realmente ter algum efeito. Anteriormente, qualquer context era ignorado.
5.3.3 | json_encode | option JSON_NUMERIC_CHECK foi adicionada.
5.3.1 | rename | rename agora consegue mover arquivos entre drivers do Windows.
5.3.0 | DateTime::__construct | Se o parâmetro time conter algum formato de data/hora inválida, uma exceção será lançada. Anteriormente, um erro era emitido.
DateTime::modify | Modificado o valor retornado de null para DateTime.
DateTime::setDate | Modificado o valor retornado de null para DateTime.
DateTime::setISODate | Modificado o valor retornado de null para DateTime.
DateTime::setTime | Modificado o valor retornado de null para DateTime.
DateTime::setTimezone | Modificado o valor retornado de null para DateTime.
DateTimeZone::getTransitions | Os parâmetros opcionais timestamp_begin e timestamp_end foram adicionados.
DateTimeZone::listIdentifiers | Adicionado os parâmetros opcionais what e country.
array_multisort | SORT_LOCALE_STRING foi adicionado em array1_sort_flags.
array_reduce | initial modificado para permitir mixed (anteriormente era integer).
array_search | A partir do PHP 5.3.0 array_search retorna null caso sejam informados parâmetros inválidos.
copy | Adicionado suporte à contexto.
date_default_timezone_set | Agora retorna E_WARNING ao invés de E_STRICT.
fgetcsv | O parâmetro escape foi adicionado
json_encode | O parâmetro options foi adicionado.
link | A função fica disponível em plataformas Windows (Vista, Server 2008 or greater).
mktime | mktime agora lançará um aviso E_DEPRECATED se o parâmetro is_dst for utilizado.
readlink | Esta função fica disponível na plataforma Windows (Vista, Server 2008 e superiores).
session_start | Se uma sessão falhar para iniciar, então é retornado false. Anteriormente, true era retornado.
stristr | Adicionado o parâmetro opcional before_needle.
strstr | Adicionado o parâmetro opcional before_needle.
5.2.10 | array_rand | O array retornado não é mais embaralhado.
5.2.5 | addcslashes | As seqüências de escape \v e \f foram adicionadas.
5.2.4 | parse_ini_file | Chaves e nomes de seção que consistem de números, agora são interpretados como inteiros, de forma que números iniciados por 0 são interpretados como octais e números iniciados por 0x são interpretados como hexadecimais.
5.2.3 | htmlentities | O parâmetro double_encode foi adicionado.
json_decode | O limite de aninhamento foi aumentado de 20 para 128
5.2.2 - 5.2.6 | substr | Se start indicar a posição de truncagem negativa ou além, retorna false. Outras versões retornavam a string a partir do começo.
5.2.0 | curl_multi_info_read | msgs_in_queue was added.
pathinfo | A constante PATHINFO_FILENAME foi adicionada.
session_get_cookie_params | A entrada "httponly" foi adicionada no array retornado.
session_set_cookie_params | O parâmetro httponly foi adicionado.
SimpleXMLElement::children | O parâmetro opcional is_prefix foi adicionado.
SimpleXMLElement::__construct | Adicionado os parâmetros ns e is_prefix.
5.1.3 | curl_getinfo | Introduced CURLINFO_HEADER_OUT.
5.1.2 | date_default_timezone_set | A função passou a validar o parâmetro timezone_identifier.
SimpleXMLElement::__construct | Adicionado os parâmetros options e data_is_url.
5.1.1 | date | Há constantes úteis do padrão de formato de data/hora que podem ser usados para especificar o parâmetro format.
gmdate | Há constantes úteis do padrão de formato data/hora que podem ser usadas para especificar o parâmetro format.
5.1.0 | date | O intervalo válido de um timestamp é tipicamente de Sex, 13 Dez 1901 20:45:54 GMT até Ter, 19 Jan 2038 03:14:07 GMT. (Estas são as datas que correspondem ao valor mínimo e máximo para um inteiro com sinal de 32-bit). Contudo, em versões anteriores ao PHP 5.1.0 este intervalo era limitado de 01-01-1970 para 19-01-2038 em alguns sistemas (e.g. Windows).
date | Agora lança erros E_STRICT e E_NOTICE .
date_sunrise | Agora lança erros E_STRICT e E_NOTICE .
date_sunset | Agora lança erros E_STRICT e E_NOTICE .
explode | Suporte a limit negativo foi adicionado
fgetcsv | Agora length é opcional. O padrão é 0, que significa sem limite de comprimento.
file_get_contents | Adicionados os parâmetros offset e maxlen.
file_put_contents | Adicionado suporte a LOCK_EX e a possibilidade de passar um recurso de stream para o parâmetro data
gettimeofday | O parâmetro return_float foi adicionado.
glob | GLOB_ERR foi adicionado
gmdate | O intervalo válido de um timestamp é normalmente de Fri, 13 Dec 1901 20:45:54 GMT a Tue, 19 Jan 2038 03:14:07 GMT. (Estas são as datas que correspondem aos valores máximo e mínimo para um inteiro 32-bit com sinal). Contudo, antes do PHP 5.1.0 este intervalo foi limitado para 01-01-1970 a 19-01-2038 em alguns sistemas (e.g. Windows).
gmmktime | A partir do PHP 5.1.0, o parâmetro is_dst foi depreciado. Como resultado, a nova funcionalidade de manipulação de fusos horário deve ser utilizada.
idate | Agora lança erros E_STRICT e E_NOTICE .
localtime | Agora lança erros E_STRICT e E_NOTICE .
md5_file | Modificada função para usar a API de API. Significa que você pode usá-la com wrappers, como md5_file('http://example.com/..')
mktime | O parâmetro is_dst tornou-se obsoleto. Fazendo a função retornar false em erro, em vez de -1. Reparada a função para aceitar ano, mês e dia passados como zero.
mktime | Agora lança erros E_STRICT e E_NOTICE .
mktime | Quando chamada sem argumentos, a função mktime lançará um aviso E_STRICT. Utilize a função time em substituição.
strftime | Agora lança erros E_STRICT e E_NOTICE .
5.0.0 | apache_get_modules | Tornou-se disponível usando o Apache 1 ou a API filter do Apache 2 . Antes disso, só estava disponível usando a API handler do Apache2.
dirname | dirname passou a ser segura para binários
fgetss | O parâmetro length é opcional.
file | Até o PHP 5.0.0, o parâmetro flags suportava apenas include_path e era habilitado com 1
file | O parâmetro context foi adicionado
file_get_contents | Adicionado suporte a contexto.
file_put_contents | Adicionado suporte a contexto
get_class_methods | No PHP 5, esta função retorna o nome dos métodos como eles foram declarados (case-sensitive). No PHP 4 eles ficavam em minúsculo.
html_entity_decode | Suporte para conjunto de caracteres multi-byte foi adicionado.
md5 | O parâmetro raw_output foi adicionado.
md5_file | Adicionado o parâmetro raw_output
mkdir | A partir do PHP 5.0.0, mkdir também pode ser usada com alguns wrappers de URL. Veja em uma lista de quais wrappers suportam mkdir
mkdir | O parâmetro recursive foi adicionado
parse_ini_file | Valores envolvidos em aspas duplas podem conter novas linhas.
rename | rename pode agora também ser usada com algum URL wrappers. Consulte para uma lista de wrappers que rename suporta.
rmdir | No PHP 5.0.0 rmdir pode também ser usada com alguns URL wrappers. Consulte para uma listagem de wrappers suportados pela rmdir.
str_replace | O parâmetro count foi adicionado.
strip_tags | strip_tags tornou-se binary safe
unlink | No PHP 5.0.0 unlink pode também ser usada com alguns URL wrappers. Consulte para uma listagem de wrappers que são suportados na unlink.


Versão de Ajuda em HTML

  • About This Edition
  • Using PHP Manual CHM Edition
    • The HTML Help Toolbar
    • The Navigation Pane
    • Keyboard Shortcuts
  • The Full Text Search
    • General searching rules
    • Searching for words or phrases
    • Defining search terms
    • Using nested expressions when searching
  • Integrating the PHP Manual


About This Edition

The Windows HTML Help Edition of the PHP Manual is aimed at developers, who want the manual at hand every time, and would like to read manual pages and user notes without waiting for a remote web page to download. This edition gives you the full content of the manual plus the user notes, with some great features provided by the viewer application by the scripts we use to generate this format and by other contributors in the form of skins.

This distribution of the PHP Manual contains many files, including the main manual file php_manual_en.chm. You can view the manual by double clicking on this file (as you already guessed). You may also see a php_manual_en.chw file in the directory, it's generated the first time you use the index tab, and it contains an index with the manual's pages.

For those interested in technical details about Microsoft HTML Help, » http://www.helpware.net/ is a great resource. For more information and positioning of Windows HTML Help in the Microsoft help formats and services history, see this » WinWriters article.


Using PHP Manual CHM Edition

Índice

  • The HTML Help Toolbar
  • The Navigation Pane
  • Keyboard Shortcuts

When you double click on a CHM, a HTML Help Viewer window opens with three panes. On the left side of the window is the Navigation pane. It contains four navigational tabs: the Contents, Index, Search and Favorites tabs. On the right side of the window is the Topic pane. It displays the selected help topic, or the default help topic on startup. The help pages are all separate HTML files, your Internet Explorer displays the pages in the Topic pane. The third pane is the toolbar, which is located below the help window title bar. You can adjust the horizontal layout with dragging the vertical border between the Navigation pane and the Topic pane.

Note, that when you open the CHM the first time, it may appear in a strange position and size. From then, Windows remembers the window position, size and the last opened tab. All these including your favorites are stored in a file named hh.dat. If you move your file to another directory, all these remembered settings will be lost (including your favorites listing!). If you replace your CHM file with a new one, with the same name, this is not a problem though. The file names and path values are stored in hh.dat.


The HTML Help Toolbar

The HTML Help Toolbar contains the following icons, when you view the PHP Manual:

  • Hide/Show - Hides/shows the navigation pane.
  • Locate - Locates a topic in the contents tab (in case you reached a topic with search, index or favorites, and would like to see where it is in the table of contents tree view).
  • Back - Goes back in the history.
  • Forward - Goes forward in the history.
  • Refresh - Reloads the current page.
  • Home - Opens the startup page of the CHM.
  • Print - Opens the print dialog box.
  • Options - Provides a dropdown with more options.
Using this toolbar is really easy, many of the toolbar icons are strongly related to their Internet Explorer equivalents.


The Navigation Pane

The Navigation Pane contains four navigational tabs: the Contents, Index, Search and Favorites tabs. These all provide different methods to access a topic in the help file.

  • The contents tab reveals a tree like table of contents, where you can navigate to the desired topic by opening and closing parts of the tree. You can even access the deepest sections using this TOC. If you right click on an item here and choose "Print...", you'll have the option to print the selected topic or the selected topic and all subtopics. However printing is not the initial goal of this representation of the manual (the PDF version is suitable for printing).
  • The index tab lists a huge number of "keywords" (actually manual page titles). You can pick one, or start to type a keyword, see the list adjusting to your input, and then click on a topic, or press enter if the selected topic is the one you would like to see.
  • The search tab shows one of the most powerful features of the HTML Help Viewer, the full text search (also known as FTS). Here you can type in your search expression, optionally connecting words with AND/OR/NEAR/NOT. Before you click 'List topics', you can also set some options at the bottom. After the search results are displayed, you'll realize that manual text and user note results are separated. To sort out the two types, click on the 'Location' column header. Now from the search results list, you can pick a topic, and see it's page. The keywords you searched for are highlighted on the page.
  • The favorites tab enables you to store your most used topics in a list, easily accessible. Here you can see the list, add the current topic to it, remove one, or display a selected item. You can also specify your own title for the favorite, by typing it into the 'Current topic:' box. The user note page titles are prepended with a 'N:' string so you can distinguish them from normal manual pages in the favorites listing.


Keyboard Shortcuts

There are many keyboard shortcuts you can use to increase your productivity. Many users find it more appropriate to use these keyboard shortcuts to access topics, instead of clicking.

General Help Viewer Shortcuts
To | Press
Close the Help Viewer | ALT+F4
Display the Options menu | ALT+O
Hide or show the Navigation pane | ALT+O, and then T
Print a topic | ALT+O, and then P
Move back to the previous topic | ALT+LEFT ARROW
Move forward to the next topic (provided you have viewed it just previously) | ALT+RIGHT ARROW
Turn on or off search highlighting. | ALT+O, and then O
Return to the help file home page | ALT+O, and then H
Switch between the Navigation pane and the Topic pane | F6
Scroll through all the links in a topic or through all the options on a Navigation pane tab | TAB
Display context (right click) menu | SHIFT+F10
Contents Tab Shortcuts
To | Press
Display the Contents tab | ALT+C
Open and close a book or folder | PLUS SIGN and MINUS SIGN, or LEFT ARROW and RIGHT ARROW
Select a topic | DOWN ARROW and UP ARROW
Display the selected topic | ENTER
Index Tab Shortcuts
To | Press
Display the Index tab | ALT+N
Type a keyword to search for | ALT+W, and then type the word
Select a keyword in the list | UP ARROW and DOWN ARROW
Display the associated topic | ENTER or ALT+D
Search Tab shortcuts
To | Press
Display the Search tab | ALT+S
Type a keyword to search for | ALT+W, and then type the word
Start a search | ALT+L
Select a topic in the results list | ALT+T, and then UP ARROW and DOWN ARROW
Display the selected topic | ENTER or ALT+D
Search for a keyword in the result list of a prior search | ALT+U
Search for words similar to the keyword. For example, to find words like "running" and "runs" for the keyword "run" | ALT+M
Only search through topic titles | ALT+R
Favorites Tab Shortcuts
To | Press
Display the Favorites tab | ALT+I
Add the currently displayed topic to the Favorites list | ALT+A
Select a topic in the Favorites list | ALT+P, and then UP ARROW and DOWN ARROW
Display the selected topic | ENTER or ALT+D
Remove the selected topic from the list | ALT+R
Topic Pane Shortcuts
To | Press
Index Lookup | Select the words you would like to look up and press F1
Find on page | CTRL+F, and then adjust options
Refresh page | F5


The Full Text Search

Índice

  • General searching rules
  • Searching for words or phrases
  • Defining search terms
  • Using nested expressions when searching

This edition of the PHP Manual includes an advanced full text search possibility provided by the viewer application. This enables users to search through every word in the help file to find a match. For example, if a user does a full-text search on the word "Apache", every topic that contains the word "Apache" will be listed. Advanced full-text search allows a user to search using boolean, wildcard, and nested expressions. A user can also limit the search to previous results, match similar words, or search topic titles only.

The usage of the search feature is fairly straightforward. Click on the search tab, type in the desired words and press ENTER (or click on "List Topics"). Then you'll receive a list of matches from the PHP Manual (and the notes). You can use the button with a right arrow on it to add boolean operators to your search (or you can type them in). As you see the results, you can use the column headings (Title, Location and Rank) to sort the topic list. The default order is by Rank. You can also adjust some parameters at the bottom of this tab.

The words found are highlighted on the current page in the Topic pane by default. You can turn off this feature by choosing the "Search Highlight Off" menu item in the Options menu. To can get this feature back similarly. If you are viewing a long topic, only the first 500 instances of a search word or phrase will be highlighted, due to a limitation of the viewer.


General searching rules

A basic search consists of the word or phrase you want to find. You can use wildcard expressions, nested expressions, boolean operators, similar word matches, a previous results list, or topic titles to further define your search.

The basic rules for formulating queries are as follows:

  • Searches are not case-sensitive, so you can type your search in uppercase or lowercase characters.
  • You may search for any combination of letters (a-z) and numbers (0-9). You cannot search for single letters (a, b, c, etc.) and common words, like: an, and, as, at, be, but, by, do, for, from, have, he, in, it, not, of, on, or, she, that, the, there, they, this, to, we, which, with, you.
  • Punctuation marks such as the period (.), colon (:), semicolon (;), comma (,), and hyphen (-) are ignored during a search.
  • Group the elements of your search using double quotes or parentheses to set apart each element. You cannot search for quotation marks.

Nota:

If you are searching for a file name with an extension, you should group the entire string in double quotes, ("filename.ext"). Otherwise, the period will break the file name into two separate terms. The default operation between terms is AND, so you will create the logical equivalent to "filename AND ext."


Searching for words or phrases

You can search for words or phrases and use wildcard expressions. Wildcard expressions allow you to search for one or more characters using a question mark or asterisk. The table below describes the results of these different kinds of searches.

Word and phrase searches
Search for | Example | Results
A single word | select | Topics that contain the word "select". (You will also find its grammatical variations, such as "selector" and "selection".)
A phrase | "new operator" or new operator | Topics that contain the literal phrase "new operator" and all its grammatical variations. Without the quotation marks, the query is equivalent to specifying "new AND operator," which will find topics containing both of the individual words, instead of the phrase.
Wildcard expressions | esc* or HT?? | Results for the first example include topics that contain the terms "ESC", "escape", "escalation", and so on. The asterisk cannot be the only character in the term. Results for the second example include topics that contain the terms "HTTP", "HTML" and so on. The question mark cannot be the only character in the term.

Nota:

Select the Match similar words check box to include minor grammatical variations for the phrase you search. This feature only locates variations of the word with common suffixes. For example, a search on the word "add" will find "added," but it will not find "additive". This option is independent of other options or syntax. If you do a titles-only search, variations in titles will be matched. If you use quotes (or any other query operator) any variation of the word can appear; for example, "stemmed search" will also match "stemming search".


Defining search terms

The AND, OR, NOT, and NEAR operators enable you to precisely define your search by creating a relationship between search terms. The following table shows how you can use each of these operators. If no operator is specified, AND is used. For example, the query "server cgi security" is equivalent to "server AND cgi AND security".

Search operators
Search for | Example | Results
Both terms in the same topic | http AND apache | Topics containing both the words "http" and "apache".
Either term in a topic | ming OR swflib | Topics containing either the word "ming" or the word "swflib" or both.
The first term without the second term | xml NOT expat | Topics containing the word "xml" but not the word "expat".
Both terms in the same topic, close together | database NEAR security | Topics containing the word "database" within eight words of the word "security".

Nota:

The |, &, and ! characters can also be used in place of OR AND and NOT respectively. This may not work if you use a very old version of the viewer.


Using nested expressions when searching

Nested expressions allow you to create complex searches for information. For example, "html AND ((smtp OR pop3) NEAR mail)" finds topics containing the word "html" along with the words "smtp" and "mail" close together, or containing "html" along with the words "pop3" and "mail" close together.

The basic rules for searching help topics using nested expressions are as follows:

  • You can use parentheses to nest expressions within a query. The expressions in parentheses are evaluated before the rest of the query.
  • If a query does not contain a nested expression, it is evaluated from left to right. For example: "mail NOT pop3 OR smtp" finds topics containing the word "mail" without the word "pop3" or topics containing the word "smtp". On the other hand, "mail NOT (pop3 OR smtp)" finds topics containing the word "mail" without either of the words "pop3" or "smtp".
  • You cannot nest expressions more than five levels deep.


Integrating the PHP Manual

Nota:

The information provided here is mainly aimed at IDE authors, or advanced users who would like to integrate this CHM file to their favorite IDEs or other production environment components.

There are several editors out there with support for CHM integration, but you may need to know a few things about what the CHM contains to successfully integrate the manual into your environment.

The CHM is built using XSL style sheets from XML sources. This is unique currently in the PHP Manual family, as all other versions are generated using DSSSL style sheets. This also means, that non-intentional rendering differences may come up. A special conversion script is run on the XSLT output, adding several cute features, and packing up the manual with the preferences files and skin examples.

If you never worked with CHMs, you can think of them as compressed files with OS supported access for files inside and some added search and index support. However CHMs can only be viewed using the HTML Help Viewer, you can directly access files inside them using a special URL prefix, the CHM file name and the file you request from inside. As all the help content is stored in HTML files, you can show pages of the CHM in Internet Explorer.

Assume that you placed your php_manual_en.chm to c:\phpmanual the index file in the manual (which you see the first time) can be accessed with the following URL: mk:@MSITStore:C:\phpmanual\php_manual_en.chm::/_index.html. Here mk:@MSITStore: is the special "protocol", C:\phpmanual\php_manual_en.chm is the CHM with it's full path. The /_index.html part is the path to the index file inside the CHM and :: is just what you need to put between the CHM path and this file path.

Nota:

All files are in the root directory of the CHM, unlike the previous CHM versions which included a language directory. Images, style sheets and other supplemental files have names starting with an underscore (like the main index shown above), to avoid name collisions.

The names of generated files follow the same rules as the online manual, except that the extension is .html and not .php. The most important is that function documentation files are named function.FUNCNAME.html where FUNCNAME is the function name, with all underscores converted to hyphens. Some examples are function.echo.html, function.mysql-close.html, function.imagecopy.html.

Using all this information, you can show a manual page for a function requested by a user. A simple example is included in the distribution, named php_quickref.hta. This is a » HTML Application to demonstrate the simple process of showing a manual page for a function. The quickRef() function defined therein does the job.

If you would like to integrate the manual into an IDE without direct support for the PHP manual (actually the underscore to hyphen conversion), you can use the included _function.html file to access a function page. This file is simply a redirector, and can be parameterized via the URL, as _function.html#mysql_close. This page will redirect you to the mysql_close function page (function.mysql-close.html) automatically. You can provide the full path of this file if your IDE supports context sensitive help, and provide the IDE specified string as the parameter. An example for this is the UltraEdit 9 intergation (see the edition's website).

The index of the manual (accessible via the index tab on the navigation pane) can also be used for integrational purposes. All the HTML pages are included in the index with their titles as index terms (including function description pages).

If you are a desktop application developer and would like to tightly integrate the CHM into your program (such as displaying the TOC tree in your IDE's help box), you can find more information at » http://www.helpware.net/, as well as links to other useful resources. The official site for HTML Help is at » http://www.microsoft.com/download/en/details.aspx?id=21138.